diff --git a/src/App/App.css b/src/App/App.css index 5993e628c73ef36150cbb89b34c0c3dff39d97d6..c7fc6c88c5baf88f499588056e8e8ab0d5d318e8 100644 --- a/src/App/App.css +++ b/src/App/App.css @@ -425,6 +425,9 @@ margin-bottom: 10vw !important; .bg-lb{ background-color: var(--lightblue) !important; } +.bg-w{ + background-color: white !important; +} .bg-d{ background-color: var(--text-primary) !important; color: var(--ourbeige); @@ -3782,7 +3785,7 @@ figure img{ background: linear-gradient(rgba(255,255,255,0.2), rgba(0, 0, 0,0.2)), url("https://static.igem.wiki/teams/5247/photos/header/experiments.webp"); } #ibhead{ - background: linear-gradient(rgba(255,255,255,0.2), rgba(0, 0, 0,0.2)), url("https://static.igem.wiki/teams/5247/photos/header/igem-bielefeld.webp"); + background: linear-gradient(rgba(255,255,255,0.2), rgba(0, 0, 0,0.2)), url("https://static.igem.wiki/teams/5247/photos/header/bielefeld-neu.webp"); } #jughead{ background: linear-gradient(rgba(255,255,255,0.2), rgba(0, 0, 0,0.2)), url("https://static.igem.wiki/teams/5247/photos/header/judging.webp"); @@ -3887,7 +3890,7 @@ figure img{ align-items: center; } -.figure-wrapper-philip{ +/* .figure-wrapper-philip{ border-color: var(--darkerbeige); border-width: 5px; border-style: solid; @@ -3897,12 +3900,11 @@ figure img{ margin-top: var(--big-margin) !important; margin-bottom: var(--big-margin) !important; padding: 0 !important; -} +} */ .figure-wrapper { border-color: var(--darkerbeige); border-width: 5px; - background-color: white; border-style: solid; width: 100%; display: flex; diff --git a/src/App/Timelines.css b/src/App/Timelines.css index cfcd4b11d11021362271a53aa6692cf4183f6a32..fe6400a9873dd7d082955dbe3a1b99dc8d2814f4 100644 --- a/src/App/Timelines.css +++ b/src/App/Timelines.css @@ -7,7 +7,7 @@ white-space: nowrap; min-height: 700px; width: 75vw; - overflow-x: hidden !important; + overflow-x: auto !important; max-width: inherit !important; overflow-y: hidden !important; width: 100%; diff --git a/src/components/BFH-Timeline.tsx b/src/components/BFH-Timeline.tsx index 0bd8d5529a30035559eb90d8af06884d7bc18c86..99c7ef4a8354dc617c5ed5bb6b30f4346c57c5b6 100644 --- a/src/components/BFH-Timeline.tsx +++ b/src/components/BFH-Timeline.tsx @@ -326,7 +326,7 @@ export function BFHTimeline () { <p> Afterwards, the attending iGEM teams talked about their science communication plans and how they could improve them using the skills learned in this workshop. Our team revised their plans for explaining gene editing to - children and started developing experiments to help them better understand cystic fibrosis, which we + children and started developing experiments to help them better understand Cystic Fibrosis, which we presented later onto the public at <a onClick={() => goToPagesAndOpenTab("teutoruft", "human-practices")}>“Der Teuto ruft!â€</a>, an event in Bielefeld to connect the local population with regional companies and institutes to inform them about their work - including our iGEM team! </p> diff --git a/src/components/Breathe.tsx b/src/components/Breathe.tsx index 0a3b146d043ed82546748a8de133bbd105a4570c..2b5c00044222d4b04330a3e3dc9e82e18fd4ce58 100644 --- a/src/components/Breathe.tsx +++ b/src/components/Breathe.tsx @@ -202,7 +202,7 @@ export function Breathe(){ <div className='col' style={{ 'height': '100vh' }}></div> <p id="breatht"style={{'fontSize' : '2.5em'}}>That is why we </p> <p id="breatht"style={{'fontSize' : '2.5em'}}>persue gene therapy for </p> - <p id="breatht"style={{'fontSize' : '2.5em'}}><b>cystic fibrosis.</b></p> + <p id="breatht"style={{'fontSize' : '2.5em'}}><b>Cystic Fibrosis.</b></p> </div> {/* grey */} <div diff --git a/src/components/Buttons.tsx b/src/components/Buttons.tsx index 950341ac30544c3fa18ac25f5114f838c6261f87..fb6be4df5a0e5989475ef1cc52ac521dd87aa71c 100644 --- a/src/components/Buttons.tsx +++ b/src/components/Buttons.tsx @@ -31,7 +31,7 @@ export function Villbuttonrow(){ <div className="small-row align-items-center bottom-buttons"> <Villagebutton page="/human-practices?tab=hp-quote" source="https://static.igem.wiki/teams/5247/design/icons/humanpractices.png" title="Human Practice"></Villagebutton> <Villagebutton page="/team?tab=members" source="https://static.igem.wiki/teams/5247/design/icons/team.png" title="Team"></Villagebutton> - <Villagebutton page="/materials-methods?scrollTo=introduction" source="https://static.igem.wiki/teams/5247/design/icons/lab.png" title="Methoods"></Villagebutton> + <Villagebutton page="/materials-methods?scrollTo=introduction" source="https://static.igem.wiki/teams/5247/design/icons/lab.png" title="Methods"></Villagebutton> <Villagebutton page="/description?tab=obenindescription" source="https://static.igem.wiki/teams/5247/design/icons/dna.png" title="Description"></Villagebutton> <Villagebutton page="/engineering?tab=tab-our-cycle&scrollTo=ourcycle" source="https://static.igem.wiki/teams/5247/design/icons/genetic-engineering.png" title="Engineering"></Villagebutton> <Villagebutton page="/safety?tab=Role" source="https://static.igem.wiki/teams/5247/design/icons/safety.png" title="Safety"></Villagebutton> diff --git a/src/components/Calendar/cal-content.tsx b/src/components/Calendar/cal-content.tsx index 07997ef8b8f7b39fa7304e9bb885b233ef7d49c1..cdac87c5ed8b18c164b36a081068a87e9be21cf5 100644 --- a/src/components/Calendar/cal-content.tsx +++ b/src/components/Calendar/cal-content.tsx @@ -285,7 +285,7 @@ let tabs = [ <p>Plans for the European Meet-Up include creating a list of snacks with names, dates, types, and quantities to ensure adequate preparation.</p> <h2>Mechanism</h2> - <p>Findings were presented, highlighting a proof of concept using an existing prime editing system to target the five most common mutations in cystic fibrosis (CF). Optimization efforts involve a modified Cas12a for higher specificity and a new enzyme called Fanzor, which requires engineering for precise cuts. A debate on targeting oocytes versus lungs was held, with plans for parallel work on both approaches and suggestions for efficient lab concept designs.</p> + <p>Findings were presented, highlighting a proof of concept using an existing prime editing system to target the five most common mutations in Cystic Fibrosis (CF). Optimization efforts involve a modified Cas12a for higher specificity and a new enzyme called Fanzor, which requires engineering for precise cuts. A debate on targeting oocytes versus lungs was held, with plans for parallel work on both approaches and suggestions for efficient lab concept designs.</p> <h2>Delivery</h2> <p>Two main delivery possibilities were discussed: aerosolizing lipid nanoparticles (LNPs), which face stability issues and lung defense mechanisms, and intravenous delivery, which necessitates regular doctor visits due to the liver acting as a filter. Research on LNP production and cellular targeting, particularly of basal cells or erythrocytes, was also highlighted. The feasibility of a model system to ensure the drug's efficacy in reaching the target cells was considered advantageous.</p> @@ -447,7 +447,7 @@ let tabs = [ <p>Primer design is challenging due to inexperience, but the team aims to meet BioBrick standards once the vectors are available. Kai and Christian are selecting candidates for Fanzor mutations, and testing editing via GFP is planned, requiring adaptation of the plasmid for stable transfection into cells.</p> <h2>Human Practices</h2> - <p>Details for the interview with Prof. Weber are under discussion, including presentation responsibilities and logistical arrangements. There is also a note on a patient interview request involving a young child with cystic fibrosis.</p> + <p>Details for the interview with Prof. Weber are under discussion, including presentation responsibilities and logistical arrangements. There is also a note on a patient interview request involving a young child with Cystic Fibrosis.</p> <h2>Sponsoring</h2> <p>A meeting with Stemcell is planned where the team must decide on the types and quantities of media needed as soon as possible.</p> diff --git a/src/components/Figures.tsx b/src/components/Figures.tsx index 61d6e9a9192a250a29b3567fed5b4fcc01dd2517..f0baf86eae72b6edbab7649d21d458966b480e1f 100644 --- a/src/components/Figures.tsx +++ b/src/components/Figures.tsx @@ -6,15 +6,21 @@ interface FigureProps{ pic5?: string, pic6?: string, alt1: string, - description: React.ReactNode | string, + description: React.ReactNode | string, + description2?: React.ReactNode | string, num: string |number; + num2?: string |number; + bg?: string; } -export function ThreeVertical({description, num, pic1, pic2, pic3, alt1}:FigureProps){ - +export function ThreeVertical({description, num, pic1, pic2, pic3, alt1, bg}:FigureProps){ + let background = ""; + if (bg){ + background = " bg-w" + } return( - <div className="figure-wrapper"> + <div className={"figure-wrapper" + background}> <figure> <img src={pic1} alt={alt1} className="responsive-image"/> <img src={pic2} className="responsive-image"/> @@ -26,10 +32,13 @@ export function ThreeVertical({description, num, pic1, pic2, pic3, alt1}:FigureP ) } -export function TwoVertical({description, num, pic1, pic2, alt1}:FigureProps){ - +export function TwoVertical({description, num, pic1, pic2, alt1, bg}:FigureProps){ + let background = ""; + if (bg){ + background = " bg-w" + } return( - <div className="figure-wrapper"> + <div className={"figure-wrapper" + background}> <figure> <img src={pic1} alt={alt1} className="responsive-image"/> @@ -42,10 +51,13 @@ export function TwoVertical({description, num, pic1, pic2, alt1}:FigureProps){ ) } -export function TwoHorizontal({description, num, pic1, pic2, alt1}:FigureProps){ - +export function TwoHorizontal({description, num, pic1, pic2, alt1, bg}:FigureProps){ + let background = ""; + if (bg){ + background = " bg-w" + } return( - <div className="figure-wrapper"> + <div className={"figure-wrapper" + background}> <figure> <div className="row align-items-center"> @@ -64,10 +76,13 @@ export function TwoHorizontal({description, num, pic1, pic2, alt1}:FigureProps){ ) } -export function ThreeHorizontal({description, num, pic1, pic2, pic3, alt1}:FigureProps){ - +export function ThreeHorizontal({description, num, pic1, pic2, pic3, alt1, bg}:FigureProps){ + let background = ""; + if (bg){ + background = " bg-w" + } return( - <div className="figure-wrapper"> + <div className={"figure-wrapper" + background}> <figure> <div className="row align-items-center"> <div className="col"> @@ -88,9 +103,13 @@ export function ThreeHorizontal({description, num, pic1, pic2, pic3, alt1}:Figur ) } -export function OneFigure({description, num, pic1, alt1}:FigureProps){ +export function OneFigure({description, num, pic1, alt1, bg}:FigureProps){ + let background = ""; + if (bg){ + background = " bg-w" + } return( - <div className="figure-wrapper"> + <div className={"figure-wrapper" + background}> <figure> <img src={pic1} alt={alt1} className="responsive-image"/> @@ -103,4 +122,34 @@ export function OneFigure({description, num, pic1, alt1}:FigureProps){ } +export function TwoFigureRow({description,description2, num, num2, pic1, pic2, bg}:FigureProps) { + let background = ""; + if (bg){ + background = " bg-w" + } + return( + <div className={"figure-wrapper" + background}> + <figure> + <div className="row align-items-center"> + <div className="col"> + <img src={pic1} /> + </div> + <div className="col"> + <img src={pic2}/> + </div> + </div> + <figcaption> + <div className="row align-items-center"> + <div className="col"> + <b>Figure {num}:</b> {description}. + </div> + <div className="col"> + <b>Figure {num2}:</b> {description2}. + </div> + </div> + </figcaption> + </figure> + </div> + ) +} diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index a65e394fb44a0f8567f106206bd372e87e383563..7de35bb15eeca2be8880782903fc2d96b612e6ab 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -72,6 +72,9 @@ export function Footer() { <a className="sponsor-container" href="https://www.plasmidfactory.com/"> <img className="img-sponsor side-margins-auto" src="https://static.igem.wiki/teams/5247/sponsors/plasmidfactory.png"/> </a> + <a className="sponsor-container" href="https://bio.nrw.de/"> + <img className="img-sponsor-partner-page side-margins-auto" src="https://static.igem.wiki/teams/5247/sponsors/bionrw-logo.png"/> + </a> <a className="sponsor-container" href="http://www.zeiss.de/naturwissenschaften"> <img className="img-sponsor side-margins-auto" src="https://static.igem.wiki/teams/5247/sponsors/zeiss.png" /> </a> diff --git a/src/components/Graph.tsx b/src/components/Graph.tsx index 5b10c0579fd09d5a2152bcfe1ae0046d8143038c..b31d4f3d77c0372e31b1cb2338e41674f7dc117a 100644 --- a/src/components/Graph.tsx +++ b/src/components/Graph.tsx @@ -177,7 +177,7 @@ export const WhoAffectedatients: React.FC = () => { title: { display: true, text: [ - 'Are you affected by cystic fibrosis yourself ', 'or are you related to someone with cystic fibrosis?' + 'Are you affected by Cystic Fibrosis yourself ', 'or are you related to someone with Cystic Fibrosis?' ], }, } @@ -352,7 +352,7 @@ export const HowMuchDoesItAffectYouatients: React.FC = () => { }, title: { display: true, - text: ["How much does cystic fibrosis affect your or your relative's ", "daily life? (1 = Not at all, 5 = Very much)"] + text: ["How much does Cystic Fibrosis affect your or your relative's ", "daily life? (1 = Not at all, 5 = Very much)"] }, }, scales: { @@ -547,7 +547,7 @@ export const AgeDiagnosisatients: React.FC = () => { }, title: { display: true, - text: 'At what age were you or your relative diagnosed with cystic fibrosis?', + text: 'At what age were you or your relative diagnosed with Cystic Fibrosis?', }, }, scales: { @@ -679,7 +679,7 @@ export const HeardOfCFPublic: React.FC = () => { plugins: { title: { display: true, - text: 'Have you heard of cystic fibrosis?', + text: 'Have you heard of Cystic Fibrosis?', }, } }; @@ -755,7 +755,7 @@ export const HowDidYouLearnPublic: React.FC = () => { }, title: { display: true, - text: 'How did you mainly learn about cystic fibrosis? ', + text: 'How did you mainly learn about Cystic Fibrosis? ', }, }, scales: { @@ -840,7 +840,7 @@ export const HowWellInformedAboutCFPublic: React.FC = () => { maintainAspectRatio: false, plugins: { title: { display: true, - text: 'How well informed are you about cystic fibrosis?', + text: 'How well informed are you about Cystic Fibrosis?', }, } }; @@ -917,7 +917,7 @@ export const WhatMeasuresPublic: React.FC = () => { }, title: { display: true, - text: 'What measures do you think could be taken to raise awareness of cystic fibrosis?', + text: 'What measures do you think could be taken to raise awareness of Cystic Fibrosis?', }, }, scales: { diff --git a/src/components/precyse.tsx b/src/components/precyse.tsx index 6a2cbe7a7dc7ec87b8094fc7706475c9aa69b2f9..2f715c477eaaf2ba3a8b74bc2240ea76a27fcfa8 100644 --- a/src/components/precyse.tsx +++ b/src/components/precyse.tsx @@ -1,3 +1,3 @@ export default function PreCyse() { - return (<span className="underline--magical precyse"> PreCyse </span> + return (<span className="underline--magical precyse">PreCyse</span> )} \ No newline at end of file diff --git a/src/contents/Contribution/patient-contribution.tsx b/src/contents/Contribution/patient-contribution.tsx index e93f663d465cafd063b93bf5117f14694dafd877..bb2288cc7a2daa9bd08211e49d5e327bec7ab2a2 100644 --- a/src/contents/Contribution/patient-contribution.tsx +++ b/src/contents/Contribution/patient-contribution.tsx @@ -11,6 +11,7 @@ export function PatientContribution(){ <div className='row align-items-center'> <div className='col '> <H4 text="Patient consent form"/> + <p>When working with primary cultures, it is extremely important to consider the bioethical aspects of the project. To address this, we sat down with the Ethics Officer at Bielefeld University, Dr. Berens, and discussed the matter with her. As a result, we created a patient consent form for the donors of primary cells, which we also want to present as a template for future German iGEM teams. <b>However, we want to emphasize that it is not guaranteed to be comprehensive, nor does it have any legal approval.</b></p> <TwoLinePDF link="https://static.igem.wiki/teams/5247/pdfs/patienteneinwilligung-mustervorlage-igem-2.pdf" name="patienteneinwilligung-mustervorlage-igem-2.pdf"/> </div> <div className='seperator-2 col-2'> diff --git a/src/contents/Contribution/safety-contribution.tsx b/src/contents/Contribution/safety-contribution.tsx index e4d4a66ce7801c64596f2d160c84572d02e809e5..0128f6ae829cbd485c558f3ef8c828d835895634 100644 --- a/src/contents/Contribution/safety-contribution.tsx +++ b/src/contents/Contribution/safety-contribution.tsx @@ -10,7 +10,7 @@ export function SafetyContribution(){ <> <Subesction title="Biosafety & Security" id="Our Contributions1" > <H4 text="Primary Culture Safety Guideline"/> - <p>In the early phases of our project, we encountered several challenges while working to bring it together. We quickly decided to focus on human biomaterials, specifically cultivating primary human nasal epithelial cells from both cystic fibrosis (CF) patients and wild-type controls. To ensure compliance, we carefully evaluated the safety regulations of our institution and government. Our contribution includes three key elements: </p> + <p>In the early phases of our project, we encountered several challenges while working to bring it together. We quickly decided to focus on human biomaterials, specifically cultivating primary human nasal epithelial cells from both fibrosis (CF) patients and wild-type controls. To ensure compliance, we carefully evaluated the safety regulations of our institution and government. Our contribution includes three key elements: </p> <ol> <li> A guideline outlining the proper handling of biomaterials according to BSL2 standards, along with additional safety measures to ensure secure experimental design. </li> <li> A clinical trial-style questionnaire designed to assess the medical history of participants donating nasal epithelial cells. </li> diff --git a/src/contents/Human Practices/Conclisuin.tsx b/src/contents/Human Practices/Conclisuin.tsx index 2850189ca591979e53fb9a31eea57c2c58d504cf..be9c38d4fc014263c0610a71a2e63a2788b6f1d6 100644 --- a/src/contents/Human Practices/Conclisuin.tsx +++ b/src/contents/Human Practices/Conclisuin.tsx @@ -10,7 +10,7 @@ export function HPconclusion(){ useTabNavigation(); return( <> - <p>Our project has evolved through a deeply collaborative and human-centered approach, integrating diverse feedback from patients, clinicians, researchers, and industry experts. These insights shaped not only the technical aspects of our gene therapy for cystic fibrosis (CF) but also our commitment to addressing real-world patient needs, ethical considerations, and the disparities in CF treatment worldwide. From <a onClick={() => goToPagesAndOpenTab('maxfirst', '')}>Max Beckmann’s</a> patient perspective to expert guidance on technical and ethical issues, each stakeholder contributed to refining our solution, ensuring it is both innovative and empathetic. Our focus on gene therapy targeting CF’s complex mutations, integrating physiotherapy, and ensuring global accessibility demonstrates our holistic and inclusive vision for this project. Importantly, the collaboration with researchers in nanoparticle stability and gene therapy, along with the development of bilingual surveys and outreach materials, highlights our efforts to make science more accessible and transparent, bridging gaps in knowledge and care. </p> + <p>Our project has evolved through a deeply collaborative and human-centered approach, integrating diverse feedback from patients, clinicians, researchers, and industry experts. These insights shaped not only the technical aspects of our gene therapy for fibrosis (CF) but also our commitment to addressing real-world patient needs, ethical considerations, and the disparities in CF treatment worldwide. From <a onClick={() => goToPagesAndOpenTab('maxfirst', '')}>Max Beckmann’s</a> patient perspective to expert guidance on technical and ethical issues, each stakeholder contributed to refining our solution, ensuring it is both innovative and empathetic. Our focus on gene therapy targeting CF’s complex mutations, integrating physiotherapy, and ensuring global accessibility demonstrates our holistic and inclusive vision for this project. Importantly, the collaboration with researchers in nanoparticle stability and gene therapy, along with the development of bilingual surveys and outreach materials, highlights our efforts to make science more accessible and transparent, bridging gaps in knowledge and care. </p> <H5 text="Human Practices Integration "/> <p>From the start, we prioritized engaging with CF patients, making sure that our project aligned with both their needs and scientific expectations. Early input from Max Beckmann, a CF patient and friend of our team, guided key design decisions, such as our focus on lung-targeted gene therapy. His insights also shaped aspects like hygiene protocols for immunocompromised patients and the portrayal of CF in our outreach materials. Max’s ongoing feedback provided invaluable emotional insight, helping us ground the project in the real-world experiences of CF patients.</p> <H5 text="Stakeholder Engagement "/> @@ -34,7 +34,7 @@ export function HPconclusion(){ <li><p><b>Expanded Global Outreach:</b></p> <p>Increase awareness and education on CF and gene therapy through multilingual platforms and collaboration with international CF communities, particularly in underrepresented regions.</p></li> <li><p><b>Ethical and Legal Considerations:</b></p> <p>Finalize all bioethical protocols for patient sampling and data management to pave the way for safe, compliant future research, including the development of guidelines for future teams.</p></li> </ol> - <p>By continuing this patient-driven, scientifically rigorous, and globally conscious trajectory, we aim to advance cystic fibrosis care and make a lasting impact on patient lives, ensuring that our project remains poised for clinical success.</p> + <p>By continuing this patient-driven, scientifically rigorous, and globally conscious trajectory, we aim to advance fibrosis care and make a lasting impact on patient lives, ensuring that our project remains poised for clinical success.</p> </> @@ -270,7 +270,7 @@ function AnalyseBharti(){ function AnalyseIgnatova(){ return( <Collapsible title="Prof. Dr. Ignatova – CF Expert & Researcher" id="ignatovaanalyseC"> - <p>Through our collaboration with <a href="https://2024.igem.wiki/hamburg/" title="iGEM Hamburg" > iGEM Hamburg</a>, we were introduced to Prof. Ignatova, a leading expert in cystic fibrosis (CF) research. Initially, we consulted her to gain a deeper understanding of CF. Later, when the HEK cells from Leuven proved unsuitable for our tests, we reached out again to explore alternative cell models. </p> + <p>Through our collaboration with <a href="https://2024.igem.wiki/hamburg/" title="iGEM Hamburg" > iGEM Hamburg</a>, we were introduced to Prof. Ignatova, a leading expert in fibrosis (CF) research. Initially, we consulted her to gain a deeper understanding of CF. Later, when the HEK cells from Leuven proved unsuitable for our tests, we reached out again to explore alternative cell models. </p> <p>Prof. Ignatova provided access to the CFBE41o- cell line, immortalized CF cells derived from a CF patient, which we obtained with permission from Prof. Karl Kunzelmann at the University of Regensburg. This cell line offered us a new, reliable testing system, and we successfully cultivated the cells in our lab, although they required significant time to acclimate and grow. </p> <div className="row align-items-center"> <div className="col"> @@ -569,7 +569,7 @@ function AnalyseJoshua(){ return( <Collapsible title="Joshua – Vice president of CF Vest international, Father of a CF child" id="joshuaanalyseC"> <p>Through discussions with <a onClick={() => goToPagesAndOpenTab ('joshua', '/human-practices')}> Joshua </a>, we learned that CF statistics are inadequate, primarily representing the white population, which skews understanding of the disease's prevalence. We discovered that in Asian countries like Thailand, CF is underrepresented, leading to insufficient access to therapies and medications. </p> - <p>This awareness sharpened our focus on the need for improved science communication and highlighted the ongoing issues of racism and discrimination within scientific research. In response, we are committed to enhancing the data landscape in Germany by creating <a onClick={() => goToPageAndScroll ('our-surveys-on-cystic-fibrosis-and-gene-therapy', '/human-practices')}> surveys </a> in both German and English to gather broader insights and increase outreach. </p> + <p>This awareness sharpened our focus on the need for improved science communication and highlighted the ongoing issues of racism and discrimination within scientific research. In response, we are committed to enhancing the data landscape in Germany by creating <a onClick={() => goToPageAndScroll ('our-surveys-on--fibrosis-and-gene-therapy', '/human-practices')}> surveys </a> in both German and English to gather broader insights and increase outreach. </p> <figure> <img src="https://static.igem.wiki/teams/5247/photos/hp/joshua-zoom.webp" alt=""/> @@ -647,7 +647,7 @@ function AnalyseMax(){ const {goToPagesAndOpenTab} = useNavigation(); return( <Collapsible title="Max Beckmann – CF Patient and fellow student" id="maxanalyseC"> - <p>Max's input as a cystic fibrosis (CF) patient directly influenced several key aspects of our project. After learning about the daily challenges of living with CF, we adapted our gene therapy approach to target the lungs, aligning our treatment with patient needs. His insights on the shortcomings of existing therapies strengthened our focus on developing a more effective solution.</p> + <p>Max's input as a fibrosis (CF) patient directly influenced several key aspects of our project. After learning about the daily challenges of living with CF, we adapted our gene therapy approach to target the lungs, aligning our treatment with patient needs. His insights on the shortcomings of existing therapies strengthened our focus on developing a more effective solution.</p> <p>Following Max's feedback, we implemented changes to our <a onClick={() => goToPagesAndOpenTab ('Patient MattersH', '/contribution')}> hygiene plan</a>, ensuring it meets the needs of immunocompromised individuals which we later presented to <a onClick={() => goToPagesAndOpenTab ('johannfunke', '/human-practices')}> Mr. Johannfunke</a>, contact person for students with disabilities and impairments at the university of bielefeld, and checked its feasibility. Max’s perspective also shaped the content of our outreach materials, helping us portray CF in a more realistic and respectful way during the whole project. </p> <p>Additionally, Max contributed to the project by donating cells for our experiments, which allowed us to test our model systems effectively. Our ongoing communication with him has ensured that we stay patient-focused throughout, continually refining our approach based on his experiences. </p> <div className="row"> diff --git a/src/contents/Human Practices/Feedback.tsx b/src/contents/Human Practices/Feedback.tsx index 63b853ac72256eb9c9b1b6cadc80397a17e281fa..18e4ff1bbdd22e8e60dad5663933e3786c64139a 100644 --- a/src/contents/Human Practices/Feedback.tsx +++ b/src/contents/Human Practices/Feedback.tsx @@ -14,11 +14,11 @@ export function HPFeedback(){ <div> <p>Through our project, the insights and feedback from various stakeholders and experts played a crucial role in shaping and refining our approach. We actively integrated their input into the design, execution, and public engagement aspects of our work, ensuring a human-centered, scientifically sound solution. Below, we highlight key contributors and how their feedback impacted the project's development across multiple phases. </p> - <H4 text="Our surveys on cystic fibrosis and gene therapy"></H4> - <p>From our outreach efforts, we learned that many people lack knowledge about cystic fibrosis and desire more education on the subject. The same applies to gene therapy, with most individuals expressing openness to treatment options, which reinforces our commitment to pursuing this approach. </p> + <H4 text="Our surveys on fibrosis and gene therapy"></H4> + <p>From our outreach efforts, we learned that many people lack knowledge about fibrosis and desire more education on the subject. The same applies to gene therapy, with most individuals expressing openness to treatment options, which reinforces our commitment to pursuing this approach. </p> <p>However, we recognize the importance of handling the public's trust and lack of knowledge responsibly. We aim to educate the community about safety and ethical considerations surrounding gene therapy. </p> <p>In response, we have decided to implement feedback by creating informative materials such as flyers and utilizing platforms like <a onClick={() => goToPageWithTabAndScroll({tabId: 'mukomove', scrollToId: "cf-month" , path: '/human-practices'})}>mukoMOVE</a>, <a onClick={() => goToPageWithTabAndScroll({tabId: 'teutoruft', scrollToId: "teuroruft-heading" , path: '/human-practices'})}>â€Teuto ruft!â€</a>, <a onClick={() => goToPageWithTabAndScroll({tabId: 'akademie', scrollToId: "student-academy-heading" , path: '/human-practices'})}>SchülerInnenakademie</a>, and <a href='https://www.instagram.com/igem.bielefeld/?hl=de'>social media</a> to raise awareness and provide education. </p> - <p><strong>Lack of knowledge about CF:</strong> Many people are unfamiliar with cystic fibrosis and expressed a need for more education on the subject.</p> + <p><strong>Lack of knowledge about CF:</strong> Many people are unfamiliar with fibrosis and expressed a need for more education on the subject.</p> <p><strong>Gene therapy openness:</strong> Most individuals showed openness to gene therapy treatments, reinforcing our commitment to pursuing this therapeutic approach.</p> @@ -30,7 +30,7 @@ export function HPFeedback(){ <div> <Collapsible id="collapsible1" open={false} title="Full results of our surveys"> - <p> We are proud of our surveys on gene therapy and cystic fibrosis (CF), which explore knowledge about the disease and willingness to embrace gene + <p> We are proud of our surveys on gene therapy and fibrosis (CF), which explore knowledge about the disease and willingness to embrace gene therapy as a potential treatment. Since we wanted to differentiate between the general public and affected CF patients, we created two different surveys. 187 people partipipated in the survey for the general public and 185 people participated in the survey for patients and next of kin.</p> <div className="row align-items-center"> @@ -47,7 +47,7 @@ export function HPFeedback(){ </div> <div className="row "> <div className="col"> - <p>The majority of respondents (62.70%) indicated that they or their relative require medical treatment or therapy daily. Weekly treatment was necessary for 14.59%, while 9.73% needed therapy several times per week. Only 6.49% reported needing treatment either monthly or rarely. The high frequency of daily treatments highlights the heavy burden of managing cystic fibrosis and reinforces the potential appeal of gene therapy, which could reduce the need for constant medical intervention. </p> + <p>The majority of respondents (62.70%) indicated that they or their relative require medical treatment or therapy daily. Weekly treatment was necessary for 14.59%, while 9.73% needed therapy several times per week. Only 6.49% reported needing treatment either monthly or rarely. The high frequency of daily treatments highlights the heavy burden of managing fibrosis and reinforces the potential appeal of gene therapy, which could reduce the need for constant medical intervention. </p> </div> <div className="col"> <p>A significant majority, 78.72%, indicated that they would be open to gene therapy if it significantly improved symptoms, while only 1.42% said no. This overwhelming support aligns with the hope patients have for less invasive and more effective treatments. This also reflects the possibility of gene therapy becoming a central treatment method, especially given the heavy therapeutic load CF patients already carry.</p> @@ -102,7 +102,7 @@ function DetailedAnalysis(){ <p>56.76% of respondents reported that they are related to someone with CF, while 43.24% stated they are affected by CF themselves. This likely reflects the fact that many parents completed the survey on behalf of their children, as CF is typically diagnosed at a young age. The high involvement of parents underscores how the disease impacts not just the patients themselves but also their families, who are deeply involved in the day-to-day management of CF. This highlights the importance of considering both the perspectives of young patients and their families when discussing gene therapy and CF treatments, as parents often play a critical role in decision-making regarding new treatment options.</p> </div> <div className="col"> - <p>82.89% of respondents have heard of cystic fibrosis, while 17.11% had not. The high level of awareness about CF suggests that the general public is relatively informed about the condition, possibly due to the visibility of the disease through media, health campaigns, or personal connections to affected individuals. However, the 17% unfamiliar with CF indicates that further outreach is necessary, particularly focusing on this demographic to spread knowledge about the disease and potential treatments, including gene therapy. </p> + <p>82.89% of respondents have heard of fibrosis, while 17.11% had not. The high level of awareness about CF suggests that the general public is relatively informed about the condition, possibly due to the visibility of the disease through media, health campaigns, or personal connections to affected individuals. However, the 17% unfamiliar with CF indicates that further outreach is necessary, particularly focusing on this demographic to spread knowledge about the disease and potential treatments, including gene therapy. </p> </div> <div className="col"> <p>The majority of respondents (44.17%) learned about CF through media channels, such as television, news, or the internet. Other significant sources of information include family and friends (25.15%), as well as educational institutions (20.86%). Interestingly, only 3.68% of respondents learned about CF from healthcare providers, suggesting that the disease is more commonly understood through external sources rather than direct medical education. This reliance on media and personal connections highlights the importance of accurate and accessible information in the public domain, especially when considering the introduction of gene therapy as a treatment option. </p> @@ -129,7 +129,7 @@ function DetailedAnalysis(){ </div> <div className="col"> - <p>42.16% of respondents rated the impact of cystic fibrosis on daily life as a 3 out of 5, indicating a moderate effect. Additionally, 32.97% rated the impact as a 2, while 12.43% rated it as a 4. Only 4.32% of respondents felt that CF had a very strong impact (rating it a 5), and 8.11% rated it a 1, suggesting little to no daily effect. These results indicate that for many patients and families, CF has a notable but varied impact on daily life, reinforcing the importance of treatments like gene therapy that could alleviate the burden. </p> + <p>42.16% of respondents rated the impact of fibrosis on daily life as a 3 out of 5, indicating a moderate effect. Additionally, 32.97% rated the impact as a 2, while 12.43% rated it as a 4. Only 4.32% of respondents felt that CF had a very strong impact (rating it a 5), and 8.11% rated it a 1, suggesting little to no daily effect. These results indicate that for many patients and families, CF has a notable but varied impact on daily life, reinforcing the importance of treatments like gene therapy that could alleviate the burden. </p> </div> <div className="col"> @@ -155,7 +155,7 @@ function DetailedAnalysis(){ </div> <div className="col"> - <p>The survey reveals that 36.79% of respondents identified emotional stress as the most stressful aspect of cystic fibrosis, closely followed by physical symptoms at 32.78%. Social restrictions were noted by 17.73% of respondents, and financial burden was a concern for 11.37%. Only 1.34% cited other factors. These results show that emotional and physical challenges dominate the stressors for patients and families, highlighting the need for treatments like gene therapy that could reduce both the physical and emotional burdens of managing CF. </p> + <p>The survey reveals that 36.79% of respondents identified emotional stress as the most stressful aspect of fibrosis, closely followed by physical symptoms at 32.78%. Social restrictions were noted by 17.73% of respondents, and financial burden was a concern for 11.37%. Only 1.34% cited other factors. These results show that emotional and physical challenges dominate the stressors for patients and families, highlighting the need for treatments like gene therapy that could reduce both the physical and emotional burdens of managing CF. </p> </div> </div> </div> diff --git a/src/contents/Human Practices/Further Engagement/Collaborations.tsx b/src/contents/Human Practices/Further Engagement/Collaborations.tsx index 7e21309be4b094d14b99187ce120df5d78c978b0..2c0899b1b461544da350c59e6e6e89bed85bec7a 100644 --- a/src/contents/Human Practices/Further Engagement/Collaborations.tsx +++ b/src/contents/Human Practices/Further Engagement/Collaborations.tsx @@ -36,7 +36,7 @@ export function HPCollabs(){ <div id="coll-overview" className="ent-interview" style={{display: "block"}}> <H4 id="ent-heading" text="Collaborations as part of a integrated human practice - but why?"/> <p>Entrepreneurship is not only an interesting possibility but necessary to turn our ideas and results into a real product that can help people. </p> - <p>That is why in this section we focus on the aspects of entrepreneurship that are crucial for the potential successful realisation of our project to develop new therapies for cystic fibrosis. A pivotal moment was our interview with Nicole Friedlein, which gave us valuable insights into the challenges and opportunities in the field of biomedical innovation. The discussions in the interview encouraged us to look more closely at the regulatory requirements, which is why one team member completed a GxP course and subsequently trained the team in this area. In addition, we conducted further interviews in the area of entrepreneurship to gain a better understanding of the practical aspects of business development. These experiences not only enriched the scientific depth of our project, but also sharpened our perspective on the practical implementation and market launch of new therapies. + <p>That is why in this section we focus on the aspects of entrepreneurship that are crucial for the potential successful realisation of our project to develop new therapies for fibrosis. A pivotal moment was our interview with Nicole Friedlein, which gave us valuable insights into the challenges and opportunities in the field of biomedical innovation. The discussions in the interview encouraged us to look more closely at the regulatory requirements, which is why one team member completed a GxP course and subsequently trained the team in this area. In addition, we conducted further interviews in the area of entrepreneurship to gain a better understanding of the practical aspects of business development. These experiences not only enriched the scientific depth of our project, but also sharpened our perspective on the practical implementation and market launch of new therapies. </p> </div> diff --git a/src/contents/Human Practices/Further Engagement/Education.tsx b/src/contents/Human Practices/Further Engagement/Education.tsx index e7fb678dd0d6c12095782c08b1e8f2eede3a7934..a59829b78ab981ed45dde6622036c5994703c1b5 100644 --- a/src/contents/Human Practices/Further Engagement/Education.tsx +++ b/src/contents/Human Practices/Further Engagement/Education.tsx @@ -40,24 +40,24 @@ export function HPEducation(){ <ul> <li>To help people make <b>informed choices</b> and encourage <b>emancipation through education</b>.</li> <li>Only informed participants allow for <b>ethical engagement</b>.</li> - <li>To ensure <b>continuous learning</b> in order to secure the future of synthetic biology and cystic fibrosis research.</li> + <li>To ensure <b>continuous learning</b> in order to secure the future of synthetic biology and fibrosis research.</li> <li>Only awareness and knowledge can <b>prevent misuse and misinformation</b>.</li> </ul> - <p>This is applicable to both cystic fibrosis and synthetic biology in general.</p> + <p>This is applicable to both fibrosis and synthetic biology in general.</p> <p>Many people gravitate towards fields they are interested in. Awareness, exploration, and receiving new knowledge are necessary to cultivate an authentic interest, which, together with positive social interaction, forms a promising foundation for a lasting interest<TabScrollLink tab="edu-overview" num="1" scrollId="desc-edu"/>. As future researchers and part of a competition aiming for continuous innovation, we feel education is an important ascpect that should not be shrugged off under the guise of focusing on Human Practices.</p> <H4 id="edu-why-heading" text="Our educational activities"/> <p>In both "Der Teuto ruft!" and the CeBiTec Student Academy, our team focused on education through personal contact not only as way to spread - awareness about cystic fibrosis, but to spread the love we have for what we do. </p> + awareness about fibrosis, but to spread the love we have for what we do. </p> <p>We are glad to have had the possibility to work with such different audiences. While "Der Teuto ruft!" had a focus on families and required a creative approach, the "Schüler*innen Akademie" and "MINT Sommer" allowed us to interact with aspiring researchers who may very well be our future classmates at Bielefeld University. </p> <p>However, we came to realize that "Der Teuto ruft!" may have been the more impactful event for our personal growth. It took us out of the familiar "science bubble" and into a space where we could interact with the general public—people who don’t necessarily have a scientific background. This - experience reminded us how non-scientists perceive complex topics like gene therapy and cystic fibrosis. It also highlighted the importance of not only + experience reminded us how non-scientists perceive complex topics like gene therapy and fibrosis. It also highlighted the importance of not only ethical responsibility but also social responsibility in communicating science. We gained and regained insight into the concerns, misconceptions, and hopes that the public has regarding synthetic biology, allowing us to better understand what is not only scientifically sound but also socially acceptable. We are confident that participating in "Der Teuto ruft!" very positively influenced our approach to further communication. </p> @@ -87,11 +87,11 @@ Due to our collaboration with the Student Academy, we conducted the nanopore seq <div id="teutoruft" className="edu-cycletab" style={{display: "none"}}> <H4 id="teuroruft-heading" text="Educational city tour for young and old"/> <H5 id="Der Teuto ruft!" text=" What is “Der Teuto ruft!†and why we participate"/> -<p>"Der Teuto ruft!" is an outreach event located all over the city of Bielefeld where various local companies and institutions engage with the public to inform them about their work. Since we wanted to raise awareness for cystic fibrosis and present our approach to developing an optimized gene therapy to combat this disease, our participation in the "Der Teuto ruft!" event in Bielefeld was the perfect opportunity to do so.</p> +<p>"Der Teuto ruft!" is an outreach event located all over the city of Bielefeld where various local companies and institutions engage with the public to inform them about their work. Since we wanted to raise awareness for fibrosis and present our approach to developing an optimized gene therapy to combat this disease, our participation in the "Der Teuto ruft!" event in Bielefeld was the perfect opportunity to do so.</p> <H5 id="What was our strategy?" text="What is our strategy?"/> <p>Our goal was to educate children about the challenges faced by CF patients, especially the ones with lung problems. The knowledge which we gained at the <a onClick={() => goToPageAndScroll ('commworkshop', '/contribution')}> Science Communication Workshop </a> as part of the <a onClick={() => goToPageAndScroll ('bfh-european-meetup', '/contribution')}> BFH Meetup </a> was the optimal basis to plan our outreach to the public. We engaged the children with activities like coloring lung images and conducting experiments to experience and understand lung related symptoms. One such experiment involved creating a lung model from balloons and straws, demonstrating the difficulty patients have in breathing by having the children blow into the straws. Additionally, we set up a tank with a mixture of starch and water to simulate mucus and placed a ball on top. The children tried to blow the ball across the surface, illustrating how hard it is for air to move through mucus compared to water, where the ball moved much more easily. -The very little ones could paint coloring pages which we designed and printed for them. For the adults, we provided information about our project and discussed the implications and potential of gene therapy for cystic fibrosis. These conversations as well as the results of our <a onClick={() => goToPageAndScroll ('our-surveys-on-cystic-fibrosis-and-gene-therapy', '/human-practices')}> survey on CF and gene therapy </a> which was conducted events like these made it abundantly clear that degrees of knowledge on this topic widely vary throughout the public and we were happy to fill in the existing gaps in people's knowledge and exchange points of view on gene therapy. +The very little ones could paint coloring pages which we designed and printed for them. For the adults, we provided information about our project and discussed the implications and potential of gene therapy for fibrosis. These conversations as well as the results of our <a onClick={() => goToPageAndScroll ('our-surveys-on--fibrosis-and-gene-therapy', '/human-practices')}> survey on CF and gene therapy </a> which was conducted events like these made it abundantly clear that degrees of knowledge on this topic widely vary throughout the public and we were happy to fill in the existing gaps in people's knowledge and exchange points of view on gene therapy. Moreover, we connected with other institutions and participants at the event. We shared our booth at Bielefeld’s “Skulpturenpark†on the outside with <a href="https://bts-ev.de/bielefeld/" title="btS" > btS </a>, the life science student initiative from Bielefeld University, with whose members we had stimulating discussions as well. We were more than delighted when the city of Bielefeld featured us on their Instagram, highlighting our presence during "Der Teuto ruft!". This collaboration helped us reach a wider audience and raise awareness about our research efforts.</p> <br/> {/* <a href="https://unibielefeldde.sharepoint.com/sites/iGEM2024teams/_layouts/15/stream.aspx?id=%2Fsites%2FiGEM2024teams%2FFreigegebene%20Dokumente%2FGeneral%2FFotos%2C%20Videos%20und%20Co%2FTeuto%20ruft%2FVideo%20Insta%20Teuto%20Ruft%2Emov&ga=1&referrer=StreamWebApp%2EWeb&referrerScenario=AddressBarCopied%2Eview%2Ee4a43a55%2Dfff3%2D4b44%2Db081%2Dad26306f93e0" title="video Teuto ruft" > watch me</a> @@ -100,7 +100,7 @@ Moreover, we connected with other institutions and participants at the event. We <div className="row align-items-center"> <div className="col"> <H5 id="conclusion" text="What is our conclusion"/> - <p>Despite the changeable weather, we could educate many people of Bielefeld's community about cystic fibrosis, our therapeutic approach and gene therapy in general and had the opportunity to improve our science communication for the future as well so it was a successful event! </p> + <p>Despite the changeable weather, we could educate many people of Bielefeld's community about fibrosis, our therapeutic approach and gene therapy in general and had the opportunity to improve our science communication for the future as well so it was a successful event! </p> </div> <div className="col"> <figure> @@ -131,13 +131,13 @@ Moreover, we connected with other institutions and participants at the event. We <img src="https://static.igem.wiki/teams/5247/photos/hp/mintsommerlogo.png" style={{width:"30%", height:"20%"}}/> <div className="col"> <p>“MINT Summer 2024†is a comprehensive program designed primarily for high school graduates of the class of 2024, who are considering pursuing studies in STEM fields (Science, Technology, Engineering, and Mathematics, including teaching degrees). The program is perfect for those who are still uncertain if they want to study in STEM or which specific discipline aligns best with their interests.</p> - <p>Our participation in <a href="https://www.uni-bielefeld.de/studium/studieninteressierte/mint-sommer/" title="Mint Summer" >MINT Summer </a> offered us the chance to raise awareness of cystic fibrosis and showcase our cutting-edge approach to develop an optimized gene therapy to combat this disease. Through the event we engaged with potential future scientists and researchers, informing them about our project, iGEM and the importance of scientific research in advancing medical treatments. This program not only allows us to share our mission but also to inspire the next generation of STEM students by highlighting the real-world impact of their studies. </p> + <p>Our participation in <a href="https://www.uni-bielefeld.de/studium/studieninteressierte/mint-sommer/" title="Mint Summer" >MINT Summer </a> offered us the chance to raise awareness of fibrosis and showcase our cutting-edge approach to develop an optimized gene therapy to combat this disease. Through the event we engaged with potential future scientists and researchers, informing them about our project, iGEM and the importance of scientific research in advancing medical treatments. This program not only allows us to share our mission but also to inspire the next generation of STEM students by highlighting the real-world impact of their studies. </p> </div> </div> <H5 id="strategy summer" text="What was our strategy?"/> - <p>Our objective at MINT Summer was to inform attendees, especially aspiring STEM students, about the unique challenges faced by cystic fibrosis (CF) patients, with a particular focus on lung-related complications. We drew heavily on the insights gained from the Science Communication Workshop at the BFH Meetup, which provided us with the perfect framework to meticulously plan our outreach for this event. This foundation allowed us to craft engaging and educational activities that effectively conveyed the complexities of CF to our audience, ensuring our message was both impactful and accessible. </p> + <p>Our objective at MINT Summer was to inform attendees, especially aspiring STEM students, about the unique challenges faced by fibrosis (CF) patients, with a particular focus on lung-related complications. We drew heavily on the insights gained from the Science Communication Workshop at the BFH Meetup, which provided us with the perfect framework to meticulously plan our outreach for this event. This foundation allowed us to craft engaging and educational activities that effectively conveyed the complexities of CF to our audience, ensuring our message was both impactful and accessible. </p> <p>We took the opportunity to explain the iGEM competition and our project to participants. We shared how iGEM is a global competition that brings together student teams to solve real-world problems using synthetic biology. We discussed how our approach aims to correct the genetic mutation responsible for CF, potentially offering a more effective treatment. By engaging with attendees, we were able to highlight the significance of our research and the impact it could have on improving the lives of those affected by this challenging condition. They got the opportunity to contribute to our project by participating in our survey. </p> - <p>Over the time of two weeks, we established meaningful connections with professors, students, and participants across various STEM fields during the event, like the student initiative btS and the Campusbrauerei Bielefeld. Sharing our project with the life science students was helpful, motivating and opened the door to engaging discussions that enriched our perspective and fostered collaboration. These interactions allowed us to connect with experts and students from different disciplines, enhancing our understanding of how our gene therapy research for cystic fibrosis fits within the broader scientific landscape.</p> + <p>Over the time of two weeks, we established meaningful connections with professors, students, and participants across various STEM fields during the event, like the student initiative btS and the Campusbrauerei Bielefeld. Sharing our project with the life science students was helpful, motivating and opened the door to engaging discussions that enriched our perspective and fostered collaboration. These interactions allowed us to connect with experts and students from different disciplines, enhancing our understanding of how our gene therapy research for fibrosis fits within the broader scientific landscape.</p> <H5 id="conclusion summer" text="What is our conclusion?"/> <p>The experience allowed us to refine our science communication skills and connect with a broad range of STEM professionals and students. Overall, the event was a valuable opportunity for both education and professional growth, making it a rewarding and impactful experience for our team. </p> </div> diff --git a/src/contents/Human Practices/Further Engagement/Entrepreneurship.tsx b/src/contents/Human Practices/Further Engagement/Entrepreneurship.tsx index c2f480fe16859c9f772c97b43e7c839196c784ad..f7aca6d64177df57ff97acbf9ed3463b6d61604d 100644 --- a/src/contents/Human Practices/Further Engagement/Entrepreneurship.tsx +++ b/src/contents/Human Practices/Further Engagement/Entrepreneurship.tsx @@ -23,17 +23,17 @@ export function HPEntrepreneur(){ <div id="ent-overview" className="ent-interview" style={{display: "block"}}> <H4 id="ent-heading" text="Entrepreneurship as part of a integrated human practice - but why?"/> <p>Entrepreneurship is not only an interesting possibility but necessary to turn our ideas and results into a real product that can help people. </p> - <p>That is why in this section we focus on the aspects of entrepreneurship that are crucial for the potential successful realisation of our project to develop new therapies for cystic fibrosis. A pivotal moment was our interview with Nicole Friedlein, which gave us valuable insights into the challenges and opportunities in the field of biomedical innovation. The discussions in the interview encouraged us to look more closely at the regulatory requirements, which is why one team member completed a GxP course and subsequently trained the team in this area. In addition, we conducted further interviews in the area of entrepreneurship to gain a better understanding of the practical aspects of business development. These experiences not only enriched the scientific depth of our project, but also sharpened our perspective on the practical implementation and market launch of new therapies. + <p>That is why in this section we focus on the aspects of entrepreneurship that are crucial for the potential successful realisation of our project to develop new therapies for fibrosis. A pivotal moment was our interview with Nicole Friedlein, which gave us valuable insights into the challenges and opportunities in the field of biomedical innovation. The discussions in the interview encouraged us to look more closely at the regulatory requirements, which is why one team member completed a GxP course and subsequently trained the team in this area. In addition, we conducted further interviews in the area of entrepreneurship to gain a better understanding of the practical aspects of business development. These experiences not only enriched the scientific depth of our project, but also sharpened our perspective on the practical implementation and market launch of new therapies. </p> <H4 id="ent-heading" text="Our Entrepreneurship"/> - <p>In conclusion, the entrepreneurial journey of developing RNA-based gene therapy for cystic fibrosis, as outlined in our experiences and interviews with industry founders, demonstrates that entrepreneurship is not only an interesting possibility but a necessary avenue to transform scientific innovation into real-world solutions. Our approach has been shaped by the challenges and opportunities in the biotech field, from understanding regulatory frameworks like GxP to navigating complex market dynamics and funding challenges. </p> + <p>In conclusion, the entrepreneurial journey of developing RNA-based gene therapy for fibrosis, as outlined in our experiences and interviews with industry founders, demonstrates that entrepreneurship is not only an interesting possibility but a necessary avenue to transform scientific innovation into real-world solutions. Our approach has been shaped by the challenges and opportunities in the biotech field, from understanding regulatory frameworks like GxP to navigating complex market dynamics and funding challenges. </p> <p>Through key interviews, such as the one with Nicole Friedlein, we have gained insights into the pivotal role of regulatory standards in scaling our project. The completion of GxP training by one team member reflects our commitment to ensuring compliance with Good Laboratory Practice (GLP) and Good Manufacturing Practice (GMP), both of which are essential for advancing from proof-of-concept to clinical trials. This foundation is crucial for building investor confidence and meeting regulatory requirements.</p> - <p>Additionally, market evaluations reveal a significant opportunity for our therapy, particularly targeting the unmet needs of cystic fibrosis patients who do not respond to current treatments like CFTR modulators. The growing gene therapy market presents a strong case for our innovation, although we are aware of the competitive landscape dominated by companies like Vertex Pharmaceuticals. Our unique value lies in providing a more permanent solution for patients not served by existing treatments. </p> + <p>Additionally, market evaluations reveal a significant opportunity for our therapy, particularly targeting the unmet needs of fibrosis patients who do not respond to current treatments like CFTR modulators. The growing gene therapy market presents a strong case for our innovation, although we are aware of the competitive landscape dominated by companies like Vertex Pharmaceuticals. Our unique value lies in providing a more permanent solution for patients not served by existing treatments. </p> <p>Interviews with founders from companies such as PlasmidFactory and RNhale have provided valuable lessons on transitioning from research to commercialization. The importance of building networks, securing diverse funding sources, and maintaining flexibility to adapt to market feedback are key takeaways that will guide our next steps. Establishing strategic partnerships and seeking early engagement with regulatory bodies will be essential as we prepare for clinical trials and eventual market entry.</p> - <p>To align our long-term vision of revolutionizing cystic fibrosis treatment with immediate milestones, we will continue optimizing our lipid nanoparticle delivery system, pursuing regulatory compliance, and engaging with the cystic fibrosis community to refine our product. Our focus on both the scientific and business aspects ensures that we are building a strong foundation for success in bringing this innovative therapy to market, improving the lives of patients with cystic fibrosis. </p> + <p>To align our long-term vision of revolutionizing fibrosis treatment with immediate milestones, we will continue optimizing our lipid nanoparticle delivery system, pursuing regulatory compliance, and engaging with the fibrosis community to refine our product. Our focus on both the scientific and business aspects ensures that we are building a strong foundation for success in bringing this innovative therapy to market, improving the lives of patients with fibrosis. </p> </div> <div id="ent-interview" className="ent-interview" style={{display: "none"}}> @@ -47,7 +47,7 @@ export function HPEntrepreneur(){ <p><b>RNhale (Benjamin Winkeljann)</b></p> <p>RNhale validated their idea by seeking feedback from both the scientific community and industry professionals at conferences and networking events. They noticed growing interest in RNA therapeutics, particularly for lung delivery. The challenges surrounding delivery systems, especially highlighted during the COVID-19 pandemic, confirmed that there was a strong market demand for their technology, which motivated them to move forward with commercialization.</p> <H5 text="Learnings and Implications for our project "/> - <p>For our project, a concrete next step would be to actively seek feedback from cystic fibrosis research communities and biotech conferences. We should continue to present our RNA-based gene therapy approach to experts in gene editing and delivery systems, specifically asking for input on our delivery mechanism using lipid nanoparticles (LNPs). This early engagement could help identify whether our approach addresses a real unmet need in cystic fibrosis treatment and refine our product to better meet clinical and patient needs. + <p>For our project, a concrete next step would be to actively seek feedback from fibrosis research communities and biotech conferences. We should continue to present our RNA-based gene therapy approach to experts in gene editing and delivery systems, specifically asking for input on our delivery mechanism using lipid nanoparticles (LNPs). This early engagement could help identify whether our approach addresses a real unmet need in fibrosis treatment and refine our product to better meet clinical and patient needs. </p> <H4 id="ent-expert-heading" text="Question 2: Proof-of-Concept"/> <H5 text="What we asked the Founders"/> @@ -69,7 +69,7 @@ export function HPEntrepreneur(){ <p><b>RNhale (Benjamin Winkeljann)</b></p> <p>For RNhale, the biggest challenge was securing sufficient funding, as transitioning from university-based research to the private sector requires a strategic approach to bridging this gap. They also mentioned that developing a clear business model earlier on could have sped up the process. Another challenge was forming partnerships with industry at an earlier stage, which might have eased both the funding process and commercialization efforts.</p> <H5 text="Learnings and Implications for our project "/> - <p>Both founders emphasized the challenge of securing funding and building a clear business model. At Bielefeld University, we should consider exploring partnerships with industry early, such as biotech firms or pharmaceutical companies. A concrete next step could be identifying relevant funding programs like EXIST or EU grants, which could help bridge the gap between our university research and commercialization. Developing a business model tailored to RNA-based therapeutics for cystic fibrosis will also be critical to attract investors. </p> + <p>Both founders emphasized the challenge of securing funding and building a clear business model. At Bielefeld University, we should consider exploring partnerships with industry early, such as biotech firms or pharmaceutical companies. A concrete next step could be identifying relevant funding programs like EXIST or EU grants, which could help bridge the gap between our university research and commercialization. Developing a business model tailored to RNA-based therapeutics for fibrosis will also be critical to attract investors. </p> <H4 text="Question 4: Funding "/> @@ -81,7 +81,7 @@ export function HPEntrepreneur(){ <p><b>RNhale (Benjamin Winkeljann)</b></p> <p>RNhale initially relied on public funding from university grants and government programs such as GrowBio and EXIST, which provided crucial pre-seed support. As they transitioned into a private company, they secured additional funding through the European Union’s EIC Transition grant. They also attracted venture capital from firms specializing in biotech, such as the Hightech-Gründerfonds and international investors like Karma Fund and Wellington, who understood the long timelines and high costs associated with biotech development.</p> <H5 text="Learnings and Implications for our project "/> - <p>Both founders highlighted the importance of securing diverse funding sources early on. A concrete next step could be collaborating with the university’s startup support services to identify potential investors, especially those with biotech experience. Additionally, exploring non-traditional sources such as industry-sponsored research collaborations could provide crucial initial funding to support the development of our cystic fibrosis gene therapy. </p> + <p>Both founders highlighted the importance of securing diverse funding sources early on. A concrete next step could be collaborating with the university’s startup support services to identify potential investors, especially those with biotech experience. Additionally, exploring non-traditional sources such as industry-sponsored research collaborations could provide crucial initial funding to support the development of our fibrosis gene therapy. </p> <H4 text="Question 5: Team Building "/> <H5 text="What we asked the Founders"/> @@ -127,7 +127,7 @@ export function HPEntrepreneur(){ <p><b>RNhale (Benjamin Winkeljann)</b></p> <p>RNhale secured their intellectual property through university licensing and strategic patent filings. Early work was patented by the university, and they secured exclusive rights to use the technology for commercialization through a licensing agreement. For later developments, they took a strategic approach, filing priority patents to protect novelty and expanding patent claims within the 12-month window to cover commercially relevant aspects. They emphasized the importance of negotiating IP agreements early, especially when working with universities, and planning a robust patent strategy.</p> <H5 text="Learnings and Implications for our project "/> - <p>Both founders emphasized the importance of securing IP early, especially when working with universities or external partners. For our project, we should develop a clear patent strategy for our RNA-based cystic fibrosis therapy. A concrete next step would be to consult with IP experts to ensure our technology is well protected. Negotiating early IP agreements with the university or external collaborators is crucial to safeguard our innovations while allowing room for future developments. </p> + <p>Both founders emphasized the importance of securing IP early, especially when working with universities or external partners. For our project, we should develop a clear patent strategy for our RNA-based fibrosis therapy. A concrete next step would be to consult with IP experts to ensure our technology is well protected. Negotiating early IP agreements with the university or external collaborators is crucial to safeguard our innovations while allowing room for future developments. </p> <H4 text="Question 9: Pivoting "/> <H5 text="What we asked the Founders"/> @@ -138,7 +138,7 @@ export function HPEntrepreneur(){ <p><b>RNhale (Benjamin Winkeljann)</b></p> <p>RNhale had to adapt their original idea several times. One significant pivot was shifting from providing a service for lipid nanoparticle formulation to developing their own proprietary therapeutic product for severe asthma. Feedback from investors and participation in startup bootcamps revealed a stronger market demand for a product-driven approach with a clear exit strategy. This led them to revise their business model while still leveraging their core technology.</p> <H5 text="Learnings and Implications for our project "/> - <p>Both founders discussed the importance of remaining adaptable to feedback and market needs. For our project, we must be open to making strategic adjustments based on the feedback we receive from clinical trials, investors, or partners. A concrete next step would be to establish a flexible business plan that allows for pivots, such as focusing on specific subtypes of cystic fibrosis patients or adjusting our lipid nanoparticle delivery system to meet evolving technological or regulatory requirements. </p> + <p>Both founders discussed the importance of remaining adaptable to feedback and market needs. For our project, we must be open to making strategic adjustments based on the feedback we receive from clinical trials, investors, or partners. A concrete next step would be to establish a flexible business plan that allows for pivots, such as focusing on specific subtypes of fibrosis patients or adjusting our lipid nanoparticle delivery system to meet evolving technological or regulatory requirements. </p> <H4 text="Question 10: Long-term Vision "/> <H5 text="What we asked the Founders"/> @@ -149,7 +149,7 @@ export function HPEntrepreneur(){ <p><b>RNhale (Benjamin Winkeljann)</b></p> <p>RNhale’s long-term vision was to develop RNA-based therapeutics, particularly for respiratory diseases. They reconciled this vision with short-term goals by breaking their vision into actionable milestones, such as developing a lead candidate for severe asthma. Alongside their core therapeutic focus, they offered small-scale manufacturing services to generate revenue and build credibility. This dual approach helped them maintain momentum while working towards their larger goal of establishing a pipeline of RNA therapeutics. </p> <H5 text="Learnings and Implications for our project "/> - <p>Both founders highlighted the importance of aligning short-term goals with a long-term vision. For our project, we must ensure that while focusing on immediate milestones, such as demonstrating the efficacy of our RNA-based therapy, we maintain sight of our broader goal: revolutionizing cystic fibrosis treatment. A concrete next step would be to break down our long-term vision into actionable short-term goals, such as optimizing our delivery system and securing regulatory approvals, while building a sustainable pipeline for future RNA therapeutics. </p> + <p>Both founders highlighted the importance of aligning short-term goals with a long-term vision. For our project, we must ensure that while focusing on immediate milestones, such as demonstrating the efficacy of our RNA-based therapy, we maintain sight of our broader goal: revolutionizing fibrosis treatment. A concrete next step would be to break down our long-term vision into actionable short-term goals, such as optimizing our delivery system and securing regulatory approvals, while building a sustainable pipeline for future RNA therapeutics. </p> </div> @@ -157,7 +157,7 @@ export function HPEntrepreneur(){ <div id="ent-next" className="ent-interview" style={{display: "none"}}> <H4 id="ent-course-heading" text="GXP in the context of clinical trials "/> <H5 text="Role of GXP in Scaling and Proof-of-Concept"/> - <p>To take our RNA-based gene therapy for cystic fibrosis closer to clinical trials and potential market entry, investors and regulatory authorities need + <p>To take our RNA-based gene therapy for fibrosis closer to clinical trials and potential market entry, investors and regulatory authorities need confidence in the quality and reliability of our work. While the current iGEM proof-of-concept demonstrates feasibility, investors typically expect a more sophisticated validation, especially in <b>In-Vivo models</b>. GXP would be fundamental in achieving this next step: </p> <ul> @@ -181,7 +181,7 @@ export function HPEntrepreneur(){ symptomatic care [4]. Our RNA-based gene therapy could address this unmet need, specifically targeting the Delta F508 mutation for which many patients have limited options. </p> <H5 text="Market Size and Growth Potential"/> - <p><b>Market Size: </b> The global cystic fibrosis treatment market was valued at USD 9.41 billion in 2023 and is expected to grow to USD 29.19 billion by + <p><b>Market Size: </b> The global fibrosis treatment market was valued at USD 9.41 billion in 2023 and is expected to grow to USD 29.19 billion by 2032, with a compound annual growth rate (CAGR) of 13.4% [5]. This growth is driven by advancements in gene therapy and increased research funding. Gene therapy targeting the F508del mutation, the most common CF mutation, presents a significant market opportunity within this larger CF treatment market[6]. </p> <p><b>Growth Drivers:</b> The increase in CF patient lifespan due to improved treatments, alongside ongoing innovation in RNA-based therapies, offers @@ -190,7 +190,7 @@ export function HPEntrepreneur(){ patients do not benefit from these therapies [9]. Our RNA-based therapy has the potential to capture this segment of the market, addressing an unmet clinical need.</p> <H5 text="3. Competitive Landscape "/> - <p><b>Current Competitors:</b>The cystic fibrosis treatment space is dominated by pharmaceutical giants such as Vertex Pharmaceuticals, which has developed + <p><b>Current Competitors:</b>The fibrosis treatment space is dominated by pharmaceutical giants such as Vertex Pharmaceuticals, which has developed CFTR modulators like Kaftrio/Trikafta. These modulators are currently the gold standard for treating CF patients with the F508del mutation [10]. Other key players in the market include Novartis, Gilead Sciences, and AbbVie, all of whom are active in CF drug development[11].</p> <p><b>Gene Therapy Competitors:</b>While CFTR modulators have been highly successful, several companies are exploring gene therapies aimed at addressing the @@ -202,7 +202,7 @@ export function HPEntrepreneur(){ <H5 text="4. Barriers to Entry "/> <p><b>Regulatory Hurdles:</b>One of the biggest challenges in bringing a gene therapy to market is navigating the complex regulatory environment. Compliance with Good Manufacturing Practice (GMP) and Good Laboratory Practice (GLP) is essential for obtaining approvals from bodies like the FDA and EMA. - Securing approval for RNA-based gene therapies, particularly those targeting rare diseases like cystic fibrosis, can involve lengthy and expensive clinical + Securing approval for RNA-based gene therapies, particularly those targeting rare diseases like fibrosis, can involve lengthy and expensive clinical trials[13][14].</p> <p><b>High R&D Costs:</b> Developing gene therapies involves significant upfront costs, from research and development to clinical trials. For a small biotech startup, securing the necessary funding can be a barrier, especially when competing against established pharmaceutical companies with larger R&D @@ -216,17 +216,17 @@ export function HPEntrepreneur(){ <H5 text="5. Go-to-Market Strategy"/> <p><b>Initial Focus on Clinical Partnerships:</b> The first step in bringing our RNA-based gene therapy to market will be partnering with academic institutions and clinical research centers to conduct initial clinical trials. Establishing credibility through collaborations with key opinion leaders - in cystic fibrosis treatment will help build trust and validate the efficacy of our therapy [18][19].</p> - <p><b>Early Adopters: </b>Our focus will be on targeting early adopters, such as specialized cystic fibrosis clinics and hospitals that are familiar + in fibrosis treatment will help build trust and validate the efficacy of our therapy [18][19].</p> + <p><b>Early Adopters: </b>Our focus will be on targeting early adopters, such as specialized fibrosis clinics and hospitals that are familiar with cutting-edge gene therapies. These institutions are more likely to adopt novel treatments and provide us with real-world data to further refine our therapy[20].</p> <p><b>Partnerships with Biotech and Pharmaceutical Companies:</b> Partnering with established biotech or pharmaceutical companies could help accelerate commercialization by providing access to distribution channels, regulatory expertise, and additional funding. Licensing agreements or co-development deals with companies specializing in gene therapy could be key to scaling production[21].</p> <p><b>Regulatory Strategy:</b>Navigating the regulatory environment will be a priority, and early engagement with the FDA, EMA, and other regulatory - bodies will help ensure a smoother approval process. Focusing on orphan drug designation or fast-track approvals for rare diseases like cystic fibrosis + bodies will help ensure a smoother approval process. Focusing on orphan drug designation or fast-track approvals for rare diseases like fibrosis could expedite the regulatory timeline[22].</p> - <p><b>Long-Term Vision:</b> After initial success in treating cystic fibrosis, our RNA-based therapy could be expanded to treat other genetic disorders. + <p><b>Long-Term Vision:</b> After initial success in treating fibrosis, our RNA-based therapy could be expanded to treat other genetic disorders. The modular nature of our technology allows us to adapt the therapy for other rare diseases, providing a broader market potential in the future[23].</p> </div> diff --git a/src/contents/Human Practices/Further Engagement/Outreach.tsx b/src/contents/Human Practices/Further Engagement/Outreach.tsx index 0bf81138374591a9855784aa8b991b621da5b2fd..2a0709d89b8eda60c9422b44f1f47cb0bff9cd29 100644 --- a/src/contents/Human Practices/Further Engagement/Outreach.tsx +++ b/src/contents/Human Practices/Further Engagement/Outreach.tsx @@ -25,7 +25,7 @@ export function HPOutreach(){ <H4 id="out-why-heading" text="Public engament as part of a integrated human practice - but why?"/> <p>While many of our efforts in science communication were educational, we also recognized the importance of public engagement through activities that were not focused on formal education but rather on raising awareness. Initiatives like MUKOmove and our waffle sale were essential in bringing - cystic fibrosis (CF) into public focus and showing a visible commitment to the cause.</p> + fibrosis (CF) into public focus and showing a visible commitment to the cause.</p> <p>Public enganegment and outreach serves as a reminder that science does not happen in isolation - it is rooted in real-world problems that impact individuals and communities. Establishing presence allows diverting interest to our project and our cause which in turn paves the way to edcuate interested people and to lay the groundwork for a deeper connection between us and our project and the general public. </p> @@ -33,7 +33,7 @@ export function HPOutreach(){ <p>Our public engagement served both as a form of spreading awareness and to establish first contacts. By inviting other people in Bielefeld to join our team for MUKOmove, we were able to reach a wider audience and foster connections that extended beyond our university.</p> <p>In addition to our in-person events, we used social media as a tool to keep the community engaged and updated. We shared our progress in - MUKOmove, promoted our events, and posted educational content about cystic fibrosis and gene therapy. Our social media presence helped us + MUKOmove, promoted our events, and posted educational content about fibrosis and gene therapy. Our social media presence helped us stay connected with a broader audience, ensuring that even those who could not attend our events could still follow along and support our mission.</p> <p> Through these efforts, we also made valuable connections, resulting in an interview with the "Muko Dino" <a onClick={() => goToPagesAndOpenTab('dino', '/human-practices')}>Thomas Malenke</a>. This highlighted the power @@ -45,8 +45,8 @@ export function HPOutreach(){ <H4 text="Waffle Sale"></H4> <div className="row"> <div className="col"> - <p>To support our research project and raise funds for our iGEM team at Bielefeld University, we decided to organize a waffle sale in the main hall of the university. This initiative was aimed at raising awareness about our project and collecting funds for our research into cystic fibrosis. </p> - <p>The sale took place in cystic fibrosis awareness month May in the Great Hall of our University. As people passed by, we engaged them by introducing our research group and explaining our project’s objectives. We shared information about cystic fibrosis and why we are raising money. Our goal was to not only just to sell waffles, but also to educate the university community about our research and its’ potential impact. The response has been overwhelmingly positive. Many were genuinely interested in our work and asked for more details about our research and the goals of our project. This enthusiasm strengthened our commitment to the project and highlighted the importance of community involvement in scientific research. </p> + <p>To support our research project and raise funds for our iGEM team at Bielefeld University, we decided to organize a waffle sale in the main hall of the university. This initiative was aimed at raising awareness about our project and collecting funds for our research into fibrosis. </p> + <p>The sale took place in fibrosis awareness month May in the Great Hall of our University. As people passed by, we engaged them by introducing our research group and explaining our project’s objectives. We shared information about fibrosis and why we are raising money. Our goal was to not only just to sell waffles, but also to educate the university community about our research and its’ potential impact. The response has been overwhelmingly positive. Many were genuinely interested in our work and asked for more details about our research and the goals of our project. This enthusiasm strengthened our commitment to the project and highlighted the importance of community involvement in scientific research. </p> <p>The waffle sale was a great success, both in terms of raising funds and increasing awareness about our work within the university. It was a collaborative effort that brought our team closer together and demonstrated the power of community support in advancing scientific research. </p> </div> <div className="col-4"> @@ -65,10 +65,10 @@ export function HPOutreach(){ </div> <div className="col"> <h3>What is MUKOmove?</h3> - <p>As part of the cystic fibrosis awareness month May, we took part in this year's <a href="https://www.muko.info/mukomove">MUKOmove</a> from May 8th to May + <p>As part of the fibrosis awareness month May, we took part in this year's <a href="https://www.muko.info/mukomove">MUKOmove</a> from May 8th to May 12th under the team name iGEM Bielefeld. MUKOmove is a participatory sports initiative organized by <a href="https://www.muko.info/"> Mukoviszidose e.V.</a>, the German Cystic Fibrosis Association, aimed at raising awareness and funds - for cystic fibrosis research and support. This annual event encourages individuals and teams to + for fibrosis research and support. This annual event encourages individuals and teams to engage in various physical activities, track their movement, and share their experiences online. </p> <button>Spenden</button> </div> @@ -80,8 +80,8 @@ export function HPOutreach(){ <p>While MUKOmove was not a scientific or educational event, it played an important role in demonstrating our presence in the broader CF community.</p> <p>We did not stop at our participation itself - we wanted to make other people from our university and city - aware of the event and collect sport hours for cystic fibrosis with them by inviting them to join our team. - Our survey about cystic fibrosis awareness and our discussions with <a onClick={() => goToPagesAndOpenTab('InvWesthoff', '/human-practices?tab=')}>Kathrin Westhoff</a>, the head of a + aware of the event and collect sport hours for fibrosis with them by inviting them to join our team. + Our survey about fibrosis awareness and our discussions with <a onClick={() => goToPagesAndOpenTab('InvWesthoff', '/human-practices?tab=')}>Kathrin Westhoff</a>, the head of a practice for physiotherapy in Gütersloh who is also treating young CF patients, showed us how little known this illness still is. Especially the interview with the physiotherapist made us realize how important exercise is for everyone and how it brings a community together - we wanted to establish MUKOmove in @@ -107,7 +107,7 @@ export function HPOutreach(){ <br/> <h3>What did we achieve?</h3> <p>We are happy to announce that both movement goals were surpassed: Team iGEM Bielefeld was able to collect 358 sport hours, and everyone who took part in MUKOmove together collected 36,542 sport hours! </p> - <p>The MUKOmove was therefore a complete success, and we take pride in having contributed to the goal while raising more awareness for cystic fibrosis in our region and Germany as a whole.</p> + <p>The MUKOmove was therefore a complete success, and we take pride in having contributed to the goal while raising more awareness for fibrosis in our region and Germany as a whole.</p> </div> </div> ); diff --git a/src/contents/Human Practices/Further Engagement/Partnerships.tsx b/src/contents/Human Practices/Further Engagement/Partnerships.tsx index 5dd64741a43a1bb8db8b278204a58ecf5c86464a..fc8329382486e292240f1c2479f0945a48857a7b 100644 --- a/src/contents/Human Practices/Further Engagement/Partnerships.tsx +++ b/src/contents/Human Practices/Further Engagement/Partnerships.tsx @@ -6,8 +6,8 @@ export function HPPartnerships(){ return( <div className="col"> <H4 text="CF Vests"></H4> - <p>CF Vests Worldwide is a dedicated charity organization committed to providing life-saving vest equipment to those in need, regardless of their financial situation. But they can't do it alone — they need your support. Help us make a difference! By donating to CFVWW, you can directly impact the lives of cystic fibrosis patients, giving them the chance to breathe easier and live fuller lives. Every contribution counts.</p> - <p><strong>Join us in the fight against cystic fibrosis.</strong> <a href="https://donorbox.org/igem"> Donate today</a> and help us bring hope, one vest at a time! Together, we can change lives.</p> + <p>CF Vests Worldwide is a dedicated charity organization committed to providing life-saving vest equipment to those in need, regardless of their financial situation. But they can't do it alone — they need your support. Help us make a difference! By donating to CFVWW, you can directly impact the lives of fibrosis patients, giving them the chance to breathe easier and live fuller lives. Every contribution counts.</p> + <p><strong>Join us in the fight against fibrosis.</strong> <a href="https://donorbox.org/igem"> Donate today</a> and help us bring hope, one vest at a time! Together, we can change lives.</p> </div> ) } \ No newline at end of file diff --git a/src/contents/Human Practices/HP svgs/swots.tsx b/src/contents/Human Practices/HP svgs/swots.tsx index 75ee7a668fda8d29288a0f1b24575f92ef03cc67..a84aa18547057f0a5da2115a011a9849a87e1a95 100644 --- a/src/contents/Human Practices/HP svgs/swots.tsx +++ b/src/contents/Human Practices/HP svgs/swots.tsx @@ -255,7 +255,7 @@ export function SWOTone(){ textDecoration="none" transform="matrix(1 0 0 1 640.685 5388)" > - {"of cystic fibrosis"} + {"of fibrosis"} </text> <text fill="#000000" diff --git a/src/contents/Human Practices/HP-abstract.tsx b/src/contents/Human Practices/HP-abstract.tsx index 37b79cfd6bd737c841dd2e86a173a8250c58b3f0..f9c9f069011a561ab1564c800b618c7a0a32d02d 100644 --- a/src/contents/Human Practices/HP-abstract.tsx +++ b/src/contents/Human Practices/HP-abstract.tsx @@ -5,7 +5,7 @@ export function HPAbstract(){ useTabNavigation(); return( <Section title="Abstract" id="Abstract"> - <p>As the iGEM Bielefeld-CeBiTec team, we adopted a human-centered approach and delivered an extensive framework of <strong>eight reglementations</strong> for future iGEM teams, establishing <strong>eight frameworks</strong> that were validated through our project. Our methodology was shaped by over <strong>80 interviews with stakeholders and institutions</strong> , creating a comprehensive and multidimensional perspective on the complex challenge of gene therapy for cystic fibrosis (CF). Through <strong>33 key interviews</strong> , we navigated <strong>seven thematic areas</strong> simultaneously, incorporating <strong>five iterative feedback loops</strong> to ensure the project’s refinement at every stage. + <p>As the iGEM Bielefeld-CeBiTec team, we adopted a human-centered approach and delivered an extensive framework of <strong>eight reglementations</strong> for future iGEM teams, establishing <strong>eight frameworks</strong> that were validated through our project. Our methodology was shaped by over <strong>80 interviews with stakeholders and institutions</strong> , creating a comprehensive and multidimensional perspective on the complex challenge of gene therapy for fibrosis (CF). Through <strong>33 key interviews</strong> , we navigated <strong>seven thematic areas</strong> simultaneously, incorporating <strong>five iterative feedback loops</strong> to ensure the project’s refinement at every stage. </p> <p> Our approach offers future iGEM teams and the synthetic biology community a valuable blueprint for responsible and ethical project development. By actively engaging with CF patients, clinicians, researchers, and regulatory bodies, we ensured that real-world needs and societal values were central to our project's evolution. Our efforts culminated in a thoughtful, scientifically sound solution, setting new standards for accessibility, patient focus, and regulatory compliance. Future teams can leverage our documented methodologies to further their own impact, ensuring that innovation remains aligned with the needs of those it serves. </p> diff --git a/src/contents/Human Practices/IHP.tsx b/src/contents/Human Practices/IHP.tsx index 13ae99dae1bbb87ecc12239c5050e03d9fd8ccbb..02254461670d6f0f51de99023928ece773657931 100644 --- a/src/contents/Human Practices/IHP.tsx +++ b/src/contents/Human Practices/IHP.tsx @@ -64,7 +64,7 @@ export function HPIntegrated(){ <p>To clearly communicate to our stakeholders how they can support the <PreCyse/> project and the specific areas requiring their input, we developed a stakeholder management framework highlighting four key areas. Starting at the bottom right of the figure and moving clockwise, the first area needing feedback is <b>implementation</b>. It is crucial for our team to ensure that the project - has all necessary components for realistic application in healthcare settings, focusing on the gene therapy treatment for cystic fibrosis. + has all necessary components for realistic application in healthcare settings, focusing on the gene therapy treatment for fibrosis. This includes both the technical design and the appropriate business model to ensure successful implementation. </p> <p>The second key area is <b>sustainability and social impact.</b> We seek to understand how our project aligns with current healthcare initiatives and facilities in Germany and Europe, but also in the globally, and how it interacts with social efforts related to CF awareness and gene therapy strategies. @@ -116,9 +116,9 @@ export function HPIntegrated(){ <p> Close support and extensive feedback are necessary to successfully implement <PreCyse/>. Target groups include experts and physicians with expertise in gene therapy and treatment - strategies for cystic fibrosis. The project has a reasonable, responsible, and future-oriented + strategies for fibrosis. The project has a reasonable, responsible, and future-oriented significance for the world. Furthermore, scientific-technological knowledge and biosafety are - crucial. Collaboration with specialists in the field of gene therapy, cystic fibrosis, and different + crucial. Collaboration with specialists in the field of gene therapy, fibrosis, and different treatment strategies ensures the quality and effectiveness of the solutions developed. </p> @@ -178,7 +178,7 @@ export function HPIntegrated(){ <p><b>Patients and patient organizations</b></p> <p> - Patients suffering from cystic fibrosis and the organizations that support them have a high interest in + Patients suffering from fibrosis and the organizations that support them have a high interest in new therapies that could improve their quality of life. However, their power to influence the project is limited. </p> @@ -771,7 +771,7 @@ export function HPIntegrated(){ </div> <H5 text="Agenda"/> <p> - The central goal of the <PreCyse/> project is to develop an innovative gene therapy solution for cystic fibrosis (CF) that is not only technically effective but also socially acceptable and ethically justifiable. The primary questions include: + The central goal of the <PreCyse/> project is to develop an innovative gene therapy solution for fibrosis (CF) that is not only technically effective but also socially acceptable and ethically justifiable. The primary questions include: </p> <ul> <li>How can the project improve the lives of CF patients?</li> diff --git a/src/contents/Human Practices/Introduction.tsx b/src/contents/Human Practices/Introduction.tsx index fde23cac11b97e0337ee09227fe9bdb64ec31fb1..4e98cd6b27a67b4cd720a6f017a58df61a3cd6a4 100644 --- a/src/contents/Human Practices/Introduction.tsx +++ b/src/contents/Human Practices/Introduction.tsx @@ -33,13 +33,13 @@ export function HPIntroduction(){ <p>This year, we at iGEM Bielefeld-CeBiTec have consciously chosen a <b>human-centered project design</b>. At the heart of our iGEM project is one key pillar: <b>Human Practice</b>. Our goal is to understand the impact of our project on society, the scientific community and the world as whole. This is not just about the technical effectiveness of our parts, but also about how the solution is embraced in everyday - practice, and the potential long-term impact it could have for cystic fibrosis patients and their families all over the world. + practice, and the potential long-term impact it could have for fibrosis patients and their families all over the world. </p> <p>With our human-centered approach, we aim to address fundamental iGEM Human Practice questions and beyond: </p> <p style={{textAlign: "center"}}> <b>How does our project affect the world around us?</b></p> <p style={{textAlign: "center"}}> <b>How does the world around us influence our project? </b></p> - <p>From the very beginning, it was our priority to identify various stakeholders and meet people affected by cystic fibrosis early on to <b>actively involve</b> them throughout the planning and development process. This collaborative approach allowed us to ensure that our project + <p>From the very beginning, it was our priority to identify various stakeholders and meet people affected by fibrosis early on to <b>actively involve</b> them throughout the planning and development process. This collaborative approach allowed us to ensure that our project addresses real needs and contributes to solutions for as many different people as possible. Without the critical advice, varied perspectives and input from our stakeholders, it would have been impossible to identify and reflect on all aspects of our project. We made every effort to <b>deeply understand</b> their values and backgrounds, allowing us to integrate their feedback into our solutions. @@ -47,12 +47,12 @@ export function HPIntroduction(){ </div> <div className="col intro-cycletab" id="mission" style={{display: "none"}}> <p>We view Human Practice as an opportunity to <b>go beyond practical lab work and traditional science</b> and to learn about - the needs of people affected by cystic fibrosis. It’s a chance for us to creatively engage with different aspects of our project + the needs of people affected by fibrosis. It’s a chance for us to creatively engage with different aspects of our project while developing an awareness of the responsibilities that come with it. </p> <p> As part of our <PreCyse/> project, we performed intensive brainstorming sessions and expert consultations. We conducted comprehensive - <a onClick={() => goToPageAndScroll("our-surveys-on-cystic-fibrosis-and-gene-therapy", "/human-practices")}>surveys</a> among the public and people with cystic fibrosis and their relatives. We focused on critical aspects such as the <b>needs of our + <a onClick={() => goToPageAndScroll("our-surveys-on--fibrosis-and-gene-therapy", "/human-practices")}>surveys</a> among the public and people with fibrosis and their relatives. We focused on critical aspects such as the <b>needs of our target groups, safety, ethics, design, implementation, and business</b> — each guided by the core values of our team. Based on these interactions and the recommendations of the Human Practice committee, we have developed an optimal strategy for our project, ensuring that our work is not only innovative but also mindful of its broader impact on society. @@ -61,7 +61,7 @@ export function HPIntroduction(){ </p> </div> <div className="col intro-cycletab" id="approach" style={{display: "none"}}> - <p>It was important to us as a team to not only offer technical solutions, but to show that our project can contribute to the larger context of ongoing initiatives and movements to optimize health care. We wanted to really understand the feedback and insights of the stakeholders to gain a better understanding of how our project fits into the overall picture of living with cystic fibrosis, the current state of research and how it can be used to reduce the health care gap. + <p>It was important to us as a team to not only offer technical solutions, but to show that our project can contribute to the larger context of ongoing initiatives and movements to optimize health care. We wanted to really understand the feedback and insights of the stakeholders to gain a better understanding of how our project fits into the overall picture of living with fibrosis, the current state of research and how it can be used to reduce the health care gap. </p> <p>Our strategy includes:</p> <ul> @@ -75,7 +75,7 @@ export function HPIntroduction(){ </ul> <p>With this approach and the support of our stakeholders, our ultimate goals are to:</p> <ul> - <li>Improve care for cystic fibrosis patients</li> + <li>Improve care for fibrosis patients</li> <li>Optimize the availability of essential medications</li> </ul> diff --git a/src/contents/description.tsx b/src/contents/description.tsx index 3d2893ca8d2b38b2010925d14907021e5d044516..5d8eb830c58376c971a192de0e24c3d70fa37e60 100644 --- a/src/contents/description.tsx +++ b/src/contents/description.tsx @@ -25,7 +25,7 @@ export function Description() { <div className="row mt-4"> <div className="col"> <Section title="Abstract" id="Abstract"> - <p id="obenindescription">We are proud to present <PreCyse/>, a next-generation Prime Editing technology, as innovative gene therapy approach for cystic fibrosis (CF) + <p id="obenindescription">We are proud to present <PreCyse/>, a next-generation Prime Editing technology, as innovative gene therapy approach for Cystic Fibrosis (CF) specifically targeting the most common mutation <b>F508del</b> of the CFTR gene. Cystic fibrosis is a severe disorder that primarily affects the lungs and for which only short-term symptomatic treatments exist. PreCyse aims to provide long-term relief by delivering a small genetic payload with speed and precision. Our approach integrates <b>PrimeGuide</b>, a highly optimized Prime Editing system, with <b>AirBuddy</b>, a novel lipid nanoparticle @@ -34,7 +34,7 @@ export function Description() { limited capacity. PrimeGuide embodies this vision by utilizing a smaller, more efficient editing complex. Current treatments often require daily administration whereas PreCyse is currently developed as a monthly applied therapy. In addition, Prime Editing holds the promise to offer a causal cure, when mutations are corrected in stem cells. Our approach aims to reduce medication frequency while improving patient outcomes. - By lowering costs and improving accessibility, PreCyse aspires to offer an advanced and user-friendly cure for cystic fibrosis.</p> + By lowering costs and improving accessibility, PreCyse aspires to offer an advanced and user-friendly cure for Cystic Fibrosis.</p> </Section> <Section title="Our Motivation" id="Our Motivation"> <div className="row align-items-center"> @@ -51,9 +51,9 @@ export function Description() { /> </div> </div> - <p>By focusing on the F508del mutation, we also hope to contribute valuable insights to the global cystic fibrosis community. Although this mutation is most common in European populations, it is also found in other regions around the world <SupScrollLink label="4"/><sup>,</sup><SupScrollLink label="5"/>. Our research could thus help inform treatment strategies and health policies on an international scale. </p> + <p>By focusing on the F508del mutation, we also hope to contribute valuable insights to the global Cystic Fibrosis community. Although this mutation is most common in European populations, it is also found in other regions around the world <SupScrollLink label="4"/><sup>,</sup><SupScrollLink label="5"/>. Our research could thus help inform treatment strategies and health policies on an international scale. </p> <p>With several team members focusing their studies on biomedical fields, we began by examining the current landscape of CF treatments. It quickly became clear that, despite recent progress, there is still no cure. Most therapies, such as CFTR modulators, focus on managing symptoms and improving lung function rather than addressing the underlying cause of the disease <SupScrollLink label="6"/> . This realization led us to explore gene-editing technologies, thus leading us to Prime Editing—a next generation gene editing method—captured our attention. </p> - <p>While Prime Editing holds great promise, we found that its application for cystic fibrosis, particularly the F508del mutation, had not been fully explored. Recognizing this gap in the research inspired us to take on the challenge of optimizing Prime Editing for this specific mutation. Our mission became clear: we want to contribute to the development of a potential therapeutic approach for cystic fibrosis, specifically targeting the F508del mutation with prime editing, and bring us closer to a long-term solution for patients. </p> + <p>While Prime Editing holds great promise, we found that its application for Cystic Fibrosis, particularly the F508del mutation, had not been fully explored. Recognizing this gap in the research inspired us to take on the challenge of optimizing Prime Editing for this specific mutation. Our mission became clear: we want to contribute to the development of a potential therapeutic approach for Cystic Fibrosis, specifically targeting the F508del mutation with prime editing, and bring us closer to a long-term solution for patients. </p> </Section> <Section title="Cystic Fibrosis" id="Cystic Fibrosis"> <Subesction title="Overview" id="Cystic Fibrosis1"> @@ -64,6 +64,7 @@ export function Description() { <OneFigure pic1="https://static.igem.wiki/teams/5247/project-description/lung-ephitel-biorender.png" num={1} + bg="white" description="Lung ephitelium of human with correct CFTR expression (left) and Cystic Fibrosis (right)" alt1="Lung ephitelium of human with correct CFTR expression (left) and Cystic Fibrosis (right)." /> @@ -79,6 +80,7 @@ export function Description() { pic1="https://static.igem.wiki/teams/5247/charts-maps/cfper10-000.png" alt1="" num="?" + bg="white" description="Philip, mach hier eine Description rein" /> @@ -117,17 +119,17 @@ export function Description() { </ol> <p>CFTR plays a critical role in maintaining the fluid balance on the surfaces of tissues such as the airways, digestive tract and sweat glands. By allowing chloride ions to flow out of the cells, CFTR ensures that water follows, preventing the accumulation of thick, sticky mucus <SupScrollLink label="19"/> .</p> <H4 text="CFTR in Cystic Fibrosis" id="CFTR-in-cftr" /> - <p>In the lungs, this water movement is crucial for maintaining a thin, slippery layer of mucus that can trap and remove particles like dust and bacteria. The mucus is then moved out of the lungs by the action of cilia, tiny hair-like structures on the surface of epithelial cells. When the CFTR protein is defective, as in cystic fibrosis, chloride cannot properly exit the cells. This disrupts the osmotic gradient, preventing water from entering the mucus. As a result, the mucus becomes thick and sticky, making it difficult to clear and creating an ideal environment for bacterial infections, which leads to chronic inflammation and lung damage over time.</p> - <p>In the intestines, CFTR regulates fluid secretion into the digestive tract, which is vital for the normal movement of digestive contents. Without proper CFTR function, water movement is reduced, leading to thickened digestive fluids, blockages, and impaired nutrient absorption. This contributes to malnutrition and other digestive complications in cystic fibrosis patients. </p> + <p>In the lungs, this water movement is crucial for maintaining a thin, slippery layer of mucus that can trap and remove particles like dust and bacteria. The mucus is then moved out of the lungs by the action of cilia, tiny hair-like structures on the surface of epithelial cells. When the CFTR protein is defective, as in Cystic Fibrosis, chloride cannot properly exit the cells. This disrupts the osmotic gradient, preventing water from entering the mucus. As a result, the mucus becomes thick and sticky, making it difficult to clear and creating an ideal environment for bacterial infections, which leads to chronic inflammation and lung damage over time.</p> + <p>In the intestines, CFTR regulates fluid secretion into the digestive tract, which is vital for the normal movement of digestive contents. Without proper CFTR function, water movement is reduced, leading to thickened digestive fluids, blockages, and impaired nutrient absorption. This contributes to malnutrition and other digestive complications in Cystic Fibrosis patients. </p> <p>By correcting the genetic mutations that lead to CFTR malfunction, such as the F508del mutation, we aim to restore the proper balance of chloride and water movement, which is crucial for preventing the buildup of mucus and ensuring normal function in both the respiratory and digestive systems.</p> </div> </div> </Subesction> <Subesction title="F508del" id="Cystic Fibrosis3"> - <p>More than 1,000 mutations in the CFTR gene are responsible for the development of cystic fibrosis. The most common variant is the F508del mutation, found in approximately 70% of affected individuals of Caucasian descent in Canada, Northern Europe, and the United States <SupScrollLink label="22"/> . It is estimated that around 90% of people with cystic fibrosis in Europe and those of European heritage carry at least one F508del allele <SupScrollLink label="23"/><sup>,</sup><SupScrollLink label="24"/>. Research suggests that this mutation originated in Western Europe at least 5,000 years ago <SupScrollLink label="23"/> .</p> + <p>More than 1,000 mutations in the CFTR gene are responsible for the development of Cystic Fibrosis. The most common variant is the F508del mutation, found in approximately 70% of affected individuals of Caucasian descent in Canada, Northern Europe, and the United States <SupScrollLink label="22"/> . It is estimated that around 90% of people with Cystic Fibrosis in Europe and those of European heritage carry at least one F508del allele <SupScrollLink label="23"/><sup>,</sup><SupScrollLink label="24"/>. Research suggests that this mutation originated in Western Europe at least 5,000 years ago <SupScrollLink label="23"/> .</p> <p>The F508del mutation involves the deletion of three nucleotides, "CTT," at position 508, which removes a phenylalanine residue without causing a frameshift. This deletion impairs the kinetic and thermodynamic folding of the NBD1 domain <SupScrollLink label="24"/> . As a result, the CFTR protein not only misfolds but also experiences defects in trafficking and premature degradation, leading to a reduction in its surface expression <SupScrollLink label="25"/> . This specific mutation is particularly severe because it affects both the production and function of CFTR, resulting in a more aggressive disease course. Consequently, patients with the F508del mutation may respond better to CFTR modulators, which target these specific defects in protein folding and function.</p> <Collapsible id="statistical-distribution-collapsible" title="Statistical distribution of F508del mutations"> - <p>In 2023, a comprehensive analysis was conducted to assess the distribution of mutations in the CFTR gene associated with cystic fibrosis (CF) worldwide. Data was sourced from two reputable databases: the <a href="https://cftr.iurc.montp.inserm.fr/cgi-bin/variant_list.cgi" title="CFTR-database-1" >CFTR Mutation Database</a> and the <a href="https://cftr2.org/mutations_history" title="CFTR-database-2" >CFTR2 Database</a>. </p> + <p>In 2023, a comprehensive analysis was conducted to assess the distribution of mutations in the CFTR gene associated with Cystic Fibrosis (CF) worldwide. Data was sourced from two reputable databases: the <a href="https://cftr.iurc.montp.inserm.fr/cgi-bin/variant_list.cgi" title="CFTR-database-1" >CFTR Mutation Database</a> and the <a href="https://cftr2.org/mutations_history" title="CFTR-database-2" >CFTR2 Database</a>. </p> <p>The results indicate the following distribution of CFTR mutation types and their frequencies in percent: </p> <div className="row align-items-center"> <div className="col" > @@ -152,7 +154,7 @@ export function Description() { </div> </Subesction> <Subesction title="Symptoms" id="Cystic Fibrosis4"> - <p>Since the CFTR gene is expressed in nearly all tissues of the human body, cystic fibrosis affects as a metabolic disease a wide range of vital organs.</p> + <p>Since the CFTR gene is expressed in nearly all tissues of the human body, Cystic Fibrosis affects as a metabolic disease a wide range of vital organs.</p> <Collapsible id="symptoms-collapsible" title="How the symptoms affect different parts of the body" > <TabButtonRow data={symptombuttonrowdata} opentype="meditabs" closing=""/> <ButtonRowTabs data={symptombuttonrowdata} cla="meditabs"/> @@ -164,7 +166,7 @@ export function Description() { <Collapsible id="newborn-screening-collapsible" title="Newborn screening"> <p>Newborn screening for Cystic Fibrosis (CF) has been a major advancement in early detection and management, leading to significantly improved patient outcomes. This practice, which started in the late 1960s, became more widespread in the 1970s. The screening typically involves a blood test within the first few days of life, measuring immunoreactive trypsinogen (IRT), a marker that is elevated in newborns with CF. Elevated IRT levels prompt further genetic testing to identify CFTR mutations <SupScrollLink label="62"/> . If mutations are found, a sweat chloride test is often conducted to confirm the diagnosis. </p> <p>Many countries, including the United States, Canada, the United Kingdom, Australia, and several European nations, have implemented newborn screening programs for CF. However, a survey of CF screening in Europe revealed that the implementation of such programs varies widely, with some countries adopting more comprehensive protocols than others <SupScrollLink label="63"/> . Early diagnosis through screening offers significant benefits, such as improved growth, better lung function, and overall enhanced health outcomes <SupScrollLink label="64"/> . The discovery of the CFTR gene has further refined diagnostic techniques and underscored the crucial role of newborn screening in the early detection and management of CF. </p> - <p>Technological advancements and improved medical procedures have greatly transformed the diagnosis of cystic fibrosis. While newborn screening has revolutionized early detection and treatment, traditional methods such as the sweat test and symptom observation continue to play a vital role, particularly in regions where screening programs are not yet widely available.</p> + <p>Technological advancements and improved medical procedures have greatly transformed the diagnosis of Cystic Fibrosis. While newborn screening has revolutionized early detection and treatment, traditional methods such as the sweat test and symptom observation continue to play a vital role, particularly in regions where screening programs are not yet widely available.</p> </Collapsible> <p>Another widely used method is the sweat test, which measures the concentration of chloride in a person's sweat. CF patients typically have higher-than-normal chloride levels due to defective CFTR protein function <SupScrollLink label="65"/> <SupScrollLink label="66"/> . While the sweat test is non-invasive and reliable for indicating CF, it is limited in scope. For definitive diagnosis and to guide specific treatments, a genetic analysis is usually required to identify the exact CFTR mutation, such as the F508del mutation <SupScrollLink label="65"/> <SupScrollLink label="66"/> .</p> <Collapsible id="sweat-test-collapsible" title="Sweat test"> @@ -188,7 +190,7 @@ export function Description() { </Section> <Section title="Our Approach" id="Approach"> <Subesction title="Mechanism" id="Approach1"> - <p>The development of an improved Prime Editing complex holds great promise for advancing gene editing technologies. Our enhanced system, Prime Guide, addresses key limitations of conventional Prime Editing by focusing on four main areas: editing efficiency, precision, size, and safety. Prime Guide has been designed to target the F508del mutation in cystic fibrosis with high accuracy, while minimizing off-target effects. By optimizing the pegRNA, reverse transcriptase, and nickase components, we aim to deliver precise and efficient genetic modifications.</p> + <p>The development of an improved Prime Editing complex holds great promise for advancing gene editing technologies. Our enhanced system, Prime Guide, addresses key limitations of conventional Prime Editing by focusing on four main areas: editing efficiency, precision, size, and safety. Prime Guide has been designed to target the F508del mutation in Cystic Fibrosis with high accuracy, while minimizing off-target effects. By optimizing the pegRNA, reverse transcriptase, and nickase components, we aim to deliver precise and efficient genetic modifications.</p> <InfoBox title="Prime Editing" id="prime-editing"> <details> <summary>Prime editing is a new method of gene editing based on an RNA-Protein complex. It was developed by a group of researchers revolving around Professor David Liu from Harvard University in 2019.<SupScrollLink label="15"/> </summary> @@ -234,7 +236,7 @@ export function Description() { </figcaption> </figure> </div> - <p>To develop our innovative Prime Editing system, Prime Guide, we worked closely with several leading experts in the field. Among them were Mattijs Bulcaen, Makato Saito, Dr. Hammer, Jan-Phillipp Gerhard and Prof. Kristian Müller, whose insights helped guide our decisions. Prime Guide is a highly specialized Prime Editing complex, designed to target the F508del mutation in cystic fibrosis with precision and efficiency. </p> + <p>To develop our innovative Prime Editing system, Prime Guide, we worked closely with several leading experts in the field. Among them were Mattijs Bulcaen, Makato Saito, Dr. Hammer, Jan-Phillipp Gerhard and Prof. Kristian Müller, whose insights helped guide our decisions. Prime Guide is a highly specialized Prime Editing complex, designed to target the F508del mutation in Cystic Fibrosis with precision and efficiency. </p> <p>Our Prime Guide system consists of carefully selected components, each optimized for its role. For the nickase, we chose between SpuFz1 and CasX nickases due to their smaller size and structural advantages, which suggest increased stability for the pegRNA within the Prime Editing complex. Smaller nickases also provide benefits in terms of overall efficiency and ease of delivery, aligning with the compact design we aimed for.</p> <Collapsible id="fanzorcas-collapsible" title="Advantages of Fanzor/PlmCasX over Cas9"> <p>From the start of our project we have been examining the established Prime Editing complex, known for its effectiveness but also for several limitations, including its relatively large size and structural vulnerabilities. A key component of this complex is the Cas9 nickase, an enzyme that selectively cuts one of the two DNA strands at a precise location. This nickase was originally engineered by introducing mutations into the Cas9 endonuclease, which typically cuts both DNA strands. By disabling one of the two active sites, the Cas9 nickase was designed to nick only one strand, a function essential to the success of the Prime Editing process <SupScrollLink label="92"/> . </p> @@ -252,8 +254,8 @@ export function Description() { <p><b>Improving Editing Efficiency: PBS and RTT length adjustments with Silent Edits</b></p> <p>To maximize editing efficiency, various combinations of primer binding site (PBS) and reverse transcriptase template (RTT) lengths were evaluated. The RTT, which provides the template for the desired genetic change, was carefully optimized, including the introduction of silent edits—changes in the RTT that do not alter the protein sequence but can improve the editing process. Both shortened and extended versions of the PBS and RTT were tested in combinations with each other, with and without these silent edits, to identify the optimal configuration that would result in the highest editing efficiency. This step-by-step screening process allowed for the selection of the most efficient pegRNA for targeting the CFTR gene, ensuring that the system could achieve high levels of successful edits with minimal unintended consequences.</p> </Collapsible> - <p>For the reverse transcriptase, we selected the P6C variant, which has shown to provide the best editing efficiency and a more compact structure compared to alternatives. Its advanced development stage and ability to offer high precision and editing performance made it the ideal choice for Prime Guide. </p> - <p>Together, these components form a highly optimized Prime Editing system that balances size, stability, and efficiency. Our aim with Prime Guide is to create a robust and precise solution for correcting the F508del mutation in cystic fibrosis, building on the guidance from our expert collaborators and extensive testing of each individual component.</p> + <p>For the reverse transcriptase, we selected the PE6c variant, which has shown to provide the best editing efficiency and a more compact structure compared to alternatives. Its advanced development stage and ability to offer high precision and editing performance made it the ideal choice for Prime Guide. </p> + <p>Together, these components form a highly optimized Prime Editing system that balances size, stability, and efficiency. Our aim with Prime Guide is to create a robust and precise solution for correcting the F508del mutation in Cystic Fibrosis, building on the guidance from our expert collaborators and extensive testing of each individual component.</p> <H4 text="Our PreCyse cassette" id="PreCyse-cassette"/> <p>We have developed our PrimeGuide, an optimized version of the Prime Editing system, designed to enhance editing efficiency, precision, and versatility. As part of our continued efforts to improve and streamline the Prime Editing workflow, we introduce to you the PreCyse-Cassette—a universal plasmid backbone specifically tailored for any Prime Editing system.</p> <p>The PreCyse-Cassette is engineered to provide maximum flexibility for the construction of the Prime Editing systems. It includes BsaI und SapI cloning sites, allowing easy insertion and exchange of essential components like a nickase and reverse transcriptase, fundamental for Prime Editing. Additionally, it incorporates a cloning site for the guide RNA, ensuring seamless integration and adaptation to various target sequences.</p> @@ -321,7 +323,7 @@ export function Description() { <p>These challenges range from formulation and particle size to overcoming biological barriers and maintaining consistent dosing, all of which impact the overall efficacy of the therapy. </p> <p>When transforming LNP formulations into inhalable particles, even greater attention must be paid to stability than is already the case. During processes like nebulization or spray-drying, LNPs are exposed to strong <strong>mechanical stress</strong> such as shear forces during aerosolization that can damage the LNP and thus their ability to protect and deliver genetic material effectively <SupScrollLink label="5"/> . Ensuring that the LNPs maintain their structure throughout this transformation while remaining suitable for aerosol delivery is critical to the success of the therapy.</p> <p>The <strong>size</strong> of the nanoparticles is another important factor. For successful lung delivery, LNPs should be smaller than 2 µm <SupScrollLink label="6"/> . If the particles are too large, there is a risk that they will get stuck in the upper airways not able to reach the target cells; if they are too small, they may be exhaled before reaching the deeper lung tissue. The right particle size is crucial for the LNPs to reach the alveoli, where they can provide the greatest therapeutic impact.</p> - <p>Another major challenge is overcoming the lungs' natural <strong>protective barriers</strong>. The airways are lined with mucus and surfactants, which help to defend against pathogens, but also make it difficult for LNPs to be transported. In diseases such as cystic fibrosis, the thickened mucus presents an even greater obstacle, making it more difficult for the LNPs to reach the target cells <SupScrollLink label="5"/> . The development of LNPs that can penetrate these barriers is essential for the success of gene therapy. </p> + <p>Another major challenge is overcoming the lungs' natural <strong>protective barriers</strong>. The airways are lined with mucus and surfactants, which help to defend against pathogens, but also make it difficult for LNPs to be transported. In diseases such as Cystic Fibrosis, the thickened mucus presents an even greater obstacle, making it more difficult for the LNPs to reach the target cells <SupScrollLink label="5"/> . The development of LNPs that can penetrate these barriers is essential for the success of gene therapy. </p> <p>Finally, inhaled administration leads to fluctuations in the consistency of the <strong>dosage</strong>. Unlike intravenous administration, where dosing can be strictly controlled, the results of inhalation are influenced by factors such as the patient's breathing pattern, lung capacity and inhalation technique. These variables can affect how much of the LNP formulation actually reaches the lungs, complicating efforts to maintain a consistent therapeutic dose over time, which is a reasonable price to pay when you consider that inhalation is a non-invasive form of therapy compared to systemic therapy via injections into the bloodstream</p> <p>All these challenges complicate the work with LNPs and present scientists with a great challenge, which makes working with LNPs even more important to find solutions.</p> </Collapsible> @@ -340,18 +342,18 @@ export function Description() { </Section> <Section title="Our Achievement" id="Our Achievement"> - <p>We have successfully demonstrated a <b>proof of concept</b> for our gene therapy approach targeting cystic fibrosis. In initial experiments, HEK cells carrying a 3-base deletion analogous to the <i>F508del</i> mutation were transfected with our prime editing complex. The results met our expectations, confirming the viability of our approach for precise gene correction. Based on these findings, we optimized the prime editing complex, leading to the creation of <i>PrimeGuide</i>, a more compact and efficient editing tool. </p> + <p>We have successfully demonstrated a <b>proof of concept</b> for our gene therapy approach targeting Cystic Fibrosis. In initial experiments, HEK cells carrying a 3-base deletion analogous to the <i>F508del</i> mutation were transfected with our prime editing complex. The results met our expectations, confirming the viability of our approach for precise gene correction. Based on these findings, we optimized the prime editing complex, leading to the creation of <i>PrimeGuide</i>, a more compact and efficient editing tool. </p> <p>Central to our <b>delivery system</b> is <b>AirBuddy</b>, a lung-specific lipid nanoparticle designed to stabilize and protect the prime editing complex during transport to lung epithelial cells. <i>AirBuddy</i> ensures that the protein complex is delivered specifically to lung cells, enhancing the efficiency of the gene-editing process. By modifying the lipid nanoparticle with protective features, we achieved increased stability, ensuring effective delivery to the target cells. </p> <p>We further optimized the prime editing fusion protein, <b>PrimeGuide</b>, to streamline its components, resulting in a smaller and more efficient prime editing complex. This improvement significantly enhances the precision of the gene editing process, reducing off-target effects and increasing the overall success of mutation correction. </p> - <p>In subsequent experiments, <b>HEK and lung (CFBE41o-)cells</b> carrying the CFTR <i>F508del</i> mutation were successfully <b>transfected</b> with the optimized prime editing complex. Our results indicated successful correction of the mutation, confirming the potential of our approach for treating cystic fibrosis. </p> + <p>In subsequent experiments, <b>HEK and lung (CFBE41o-)cells</b> carrying the CFTR <i>F508del</i> mutation were successfully <b>transfected</b> with the optimized prime editing complex. Our results indicated successful correction of the mutation, confirming the potential of our approach for treating Cystic Fibrosis. </p> <p>Additionally, we explored <b>downstream applications</b>. Primary cell cultures were treated with lipid nanoparticles to introduce a reporter RNA. We also established 2D cultures transfected with YFP, a sodium-sensitive reporter protein, to assess ion channel functionality. Finally, in CFTR-deficient organoids, our system facilitated repair of the CFTR channel, evidenced by an increase in organoid volume upon treatment. This suggests successful functional restoration of CFTR activity. </p> </Section> <Section title="Our Vision" id="Our Vision"> - <p>At <b>PreCyse</b>, we envision a future where gene therapy for cystic fibrosis (CF) is as simple and user-friendly as using an inhaler. Our goal is to develop a fully integrated Prime Editing system, <b>PrimeGuide</b>, delivered via a cutting-edge lipid nanoparticle (LNP) platform, <b>AirBuddy</b>. The therapy would allow patients to inhale the therapeutic complex, targeting the underlying genetic mutation that causes CF—specifically, the F508del mutation in the CFTR gene. </p> + <p>At <b>PreCyse</b>, we envision a future where gene therapy for Cystic Fibrosis (CF) is as simple and user-friendly as using an inhaler. Our goal is to develop a fully integrated Prime Editing system, <b>PrimeGuide</b>, delivered via a cutting-edge lipid nanoparticle (LNP) platform, <b>AirBuddy</b>. The therapy would allow patients to inhale the therapeutic complex, targeting the underlying genetic mutation that causes CF—specifically, the F508del mutation in the CFTR gene. </p> <p>The core of our vision is to create a highly efficient and safe Prime Editing complex, referred to as Prime Guide, that is delivered directly into lung epithelial cells. This complex will be packaged as mRNA into LNPs, with an optimal ratio of the Prime Editing components and its guide RNA (pegRNA). Once inside the cell, the mRNA will be translated, forming the active Prime Editing complex, which then translocates into the nucleus using nuclear localization sequences. There, the complex will precisely edit the genome to correct the F508del mutation. </p> <p>To ensure safety, we are working on developing a robust mechanism that regulates the Prime Editing complex at the mRNA level. One concept we are exploring is using the XBP1 intron<SupScrollLink label="96"/> , which responds to cellular stress signals. Additionally, in the future, we aim to develop more mutation-specific control mechanisms, such as RNA riboswitches that activate the editing complex only in the presence of the target mutation, offering an even greater level of precision and safety. </p> <p>The long-term vision for PreCyse is to provide a gene therapy that can be administered through inhalation, much like an asthma spray. The patient would simply inhale the LNPs, which then deliver the therapeutic mRNA to the lungs. This approach offers a user-friendly and minimally invasive treatment that could suppress the symptoms of CF for several months. By correcting the mutation in the top layers of lung epithelial cells, where mucus buildup is most problematic, we could offer relief from symptoms over an extended period. However, since these epithelial cells naturally regenerate over time, the therapy would need to be reapplied periodically, likely every few months, balancing long-lasting effects with the need for occasional re-administration. </p> - <p>Ultimately, our vision is to create a therapeutic approach that not only offers a cure that is safe and efficient but also maximizes convenience for the patient. With an easy-to-use inhaler, patients could administer their treatment with minimal disruption to their daily lives, inhaling the gene therapy in just a few breaths, leaving the rest of the process to the science we've built into PreCyse. By reducing the frequency of administration and simplifying the delivery method, we aim to make gene therapy for cystic fibrosis both accessible and practical for patients around the world. </p> + <p>Ultimately, our vision is to create a therapeutic approach that not only offers a cure that is safe and efficient but also maximizes convenience for the patient. With an easy-to-use inhaler, patients could administer their treatment with minimal disruption to their daily lives, inhaling the gene therapy in just a few breaths, leaving the rest of the process to the science we've built into PreCyse. By reducing the frequency of administration and simplifying the delivery method, we aim to make gene therapy for Cystic Fibrosis both accessible and practical for patients around the world. </p> <OneFigure pic1="https://static.igem.wiki/teams/5247/delivery/big-plan-inhalation-del-mech.webp" num={4} diff --git a/src/contents/engineering.tsx b/src/contents/engineering.tsx index 53e1f4f611d7e94a161cce0d577809df9687a562..f1678adaac0755a2bd1b1936c15354dce2707be6 100644 --- a/src/contents/engineering.tsx +++ b/src/contents/engineering.tsx @@ -16,7 +16,7 @@ import EngPegsources from "../sources/eng-peg-sources"; import EngNicksources from "../sources/eng-nickases-sources"; import EngDelsources from "../sources/eng-delivery-sources"; import { TwoLinePDF, PDF } from "../components/Pdfs"; -import { OneFigure } from "../components/Figures"; +import { OneFigure, TwoFigureRow } from "../components/Figures"; export function Engineering() { @@ -28,7 +28,7 @@ export function Engineering() { <> <div className="row mt-4"> <div className="col"> - <br/> <br/> <br/> + <br/> <br/> <div id="tab-our-cycle" className="enginneeringtab" style={{display: "block"}}> <section > <br id="obenengineering"/> <div className="eng-box box" > @@ -68,7 +68,7 @@ export function Engineering() { <section id="reporter sec" > <div className="eng-box box" > <H2 id="reporter-header" text="Prime Editing Reporter"></H2> - <p>Prime editing is a is a very precise and safe method. However, depending on the genomic locus targeted, the editing efficiency can be very low. The cystic fibrosis causing CFTR F508del mutation is, as <a onClick={() => goToPagesAndOpenTab('mattijsinv', '/human-practices')}> Mattijs Bulcaen </a> stated in our interview, one of, if not the most obvious application of prime editing, considering the large amount of people affected. The lack of publications addressing CFTR target implied, that the mutation might be particularly hard to edit. At low editing efficiency, successful edits are hard, if not impossible to distinguish from the background noise using conventional methods like sanger sequencing or qPCR. As a basis to effectively test our approach and screen for working pegRNAs, we needed a highly sensitive method of detection with as little noise as possible to optimize our prime editing approach for genomic CFTR targeting.</p> + <p>Prime editing is a is a very precise and safe method. However, depending on the genomic locus targeted, the editing efficiency can be very low. The Cystic Fibrosis causing CFTR F508del mutation is, as <a onClick={() => goToPagesAndOpenTab('mattijsinv', '/human-practices')}> Mattijs Bulcaen </a> stated in our interview, one of, if not the most obvious application of prime editing, considering the large amount of people affected. The lack of publications addressing CFTR target implied, that the mutation might be particularly hard to edit. At low editing efficiency, successful edits are hard, if not impossible to distinguish from the background noise using conventional methods like sanger sequencing or qPCR. As a basis to effectively test our approach and screen for working pegRNAs, we needed a highly sensitive method of detection with as little noise as possible to optimize our prime editing approach for genomic CFTR targeting.</p> </div> <div className="box" > <p id="rep1"> @@ -160,7 +160,7 @@ export function Engineering() { <H3 text="Application in epithelial Cells" id="rep4head"/> <H4 text="Design" id="design-head"/> <p> - Although we could show that our PEAR reporter plasmid works in a HEK cell model, according to <a onClick={() => goToPagesAndOpenTab('ignatova', '/human-practices')}> Prof.Dr. Zoya Ignatova </a> insights gained here might still not entirely transfer to cells actively expressing CFTR. As recommended, we applied our reporter to a system closer to a therapeutic target <a onClick={() => goToPageAndScroll ('Cell Culture2H', '/materials-methods')}>CFBE41o-</a>. The cells are derived from bronchial epithelial cells of a cystic fibrosis patient and are homozygous for CFTR F508del. + Although we could show that our PEAR reporter plasmid works in a HEK cell model, according to <a onClick={() => goToPagesAndOpenTab('ignatova', '/human-practices')}> Prof.Dr. Zoya Ignatova </a> insights gained here might still not entirely transfer to cells actively expressing CFTR. As recommended, we applied our reporter to a system closer to a therapeutic target <a onClick={() => goToPageAndScroll ('Cell Culture2H', '/materials-methods')}>CFBE41o-</a>. The cells are derived from bronchial epithelial cells of a Cystic Fibrosis patient and are homozygous for CFTR F508del. </p> <H4 text="Build" id="build-head"/> <p> @@ -654,7 +654,7 @@ export function Engineering() { </p> <H4 text="Test" id="test-head"/> <p> - The next step is to test the correction of CFTR F508del using these pegRNAs in the CFBE41o- epithelial cells. Additionally, we also want to test the pegRNAs in primary cells derived from friend of the team and cystic fibrosis patient <a onClick={() => goToPagesAndOpenTab('maxfirst', '/human-practices')}> Max </a>, testing whether our approaches are applicable not only in model systems, but also work in patient cells. To validate the editing efficiency of our designed pegRNAs were going to co-transfect a plasmid carrying an eYFP variant which is sensitive to chloride and iodide ion concentrations<TabScrollLink tab="tab-pegrna" num="4" scrollId="desc-4"/><TabScrollLink tab="tab-pegrna" num="5" scrollId="desc-5"/>. The intensity of the fluorescence correlates with these ion concentrations, which in turn reflects the functionality of the CFTR channel. This enables us to evaluate the editing efficiency of the different pegRNA variants on a phenotypic level. After 72 hours, we are going to perform a final analysis using flow cytometry to quantify the results and determine the editing efficiency of each pegRNA. Secondly, we wanted to detect the editing on a genomic level by facilitating a qPCR with a primer specific only to the corrected F508del locus. + The next step is to test the correction of CFTR F508del using these pegRNAs in the CFBE41o- epithelial cells. Additionally, we also want to test the pegRNAs in primary cells derived from friend of the team and Cystic Fibrosis patient <a onClick={() => goToPagesAndOpenTab('maxfirst', '/human-practices')}> Max </a>, testing whether our approaches are applicable not only in model systems, but also work in patient cells. To validate the editing efficiency of our designed pegRNAs were going to co-transfect a plasmid carrying an eYFP variant which is sensitive to chloride and iodide ion concentrations<TabScrollLink tab="tab-pegrna" num="4" scrollId="desc-4"/><TabScrollLink tab="tab-pegrna" num="5" scrollId="desc-5"/>. The intensity of the fluorescence correlates with these ion concentrations, which in turn reflects the functionality of the CFTR channel. This enables us to evaluate the editing efficiency of the different pegRNA variants on a phenotypic level. After 72 hours, we are going to perform a final analysis using flow cytometry to quantify the results and determine the editing efficiency of each pegRNA. Secondly, we wanted to detect the editing on a genomic level by facilitating a qPCR with a primer specific only to the corrected F508del locus. </p> <H4 text="Learn" id="learn-head"/> <p> @@ -725,28 +725,16 @@ export function Engineering() { <p> Based on the function of this prototypical Cas9 nickase, we assumed that SpuFz1 would operate similarly, with two active centers—RuvC and TNB—each cutting one DNA strand. Following this logic, we hypothesized that by deactivating the TNB domain, which contains a zinc finger motif (Fig. 2) crucial for DNA coordination, we could convert SpuFz1 into a nickase. To test this, we aimed to replace the cysteine residues involved in zinc ion coordination within the TNB domain with alanine, thereby impairing its DNA-binding ability and producing a SpuFz1 nickase that cuts only one strand. At that time, we believed both domains in SpuFz1 were directly responsible for DNA cleavage, and our strategy was based on this assumption. </p> - <div className="figure-wrapper-philip"> - <figure> - <div className="row align-items-center"> - <div className="col"> - <img src="https://static.igem.wiki/teams/5247/engineering-cycle/spufz-wt-3d-model.webp"/> - </div> - <div className="col"> - <img src="https://static.igem.wiki/teams/5247/engineering-cycle/spufz-wt-3d-model-zinc-finger.webp"/> - </div> - </div> - <figcaption> - <div className="row align-items-center"> - <div className="col"> - <b>Figure 1:</b> Schematic illustration of SpuFz1 (PDB code: 8GKH) visualized in ChimeraX - </div> - <div className="col"> - <b>Figure 2:</b> Close up of the zinc finger motif of SpuFz1 (PDB code: 8GKH) visualized in ChimeraX - in the middle of the image the zinc ion of the motif can be seen, which is coordinated by 4 surrounding cysteine residues - </div> - </div> - </figcaption> - </figure> - </div> + <TwoFigureRow + pic1="https://static.igem.wiki/teams/5247/engineering-cycle/spufz-wt-3d-model.webp" + description="Schematic illustration of SpuFz1 (PDB code: 8GKH) visualized in ChimeraX" + alt1="Schematic illustration of SpuFz1 (PDB code: 8GKH) visualized in ChimeraX" + num={1} + num2={2} + description2="Close up of the zinc finger motif of SpuFz1 (PDB code: 8GKH) visualized in ChimeraX - in the middle of the image the zinc ion of the motif can be seen, which is coordinated by 4 surrounding cysteine residues" + pic2="https://static.igem.wiki/teams/5247/engineering-cycle/spufz-wt-3d-model-zinc-finger.webp" + /> + <H4 text="Build" id="text"/> <p> Using the protein visualization software ChimeraX, we carefully examined the structure of SpuFz1 to identify the key cysteine residues responsible for coordinating the zinc ion. With this insight, we designed our nickase candidates by modifying the wild-type sequence, specifically substituting these cysteines with alanine, to disrupt the zinc ion coordination and potentially alter the protein's function. @@ -756,7 +744,7 @@ export function Engineering() { First, we discussed our approach with <a onClick={() => goToPagesAndOpenTab('hammerkai', '/human-practices')}> Kai Schülke </a>, a PhD student from the Hammer Group at Bielefeld University, which specializes in enzyme engineering. He confirmed that our plan to focus on specific mutation candidates was appropriate given the constraints of our project. He emphasized that we lacked the time and resources to conduct large-scale, quantitative studies on a wide range of mutations. Instead, he supported our decision to target specific candidates that could be thoroughly tested within the scope of our project. </p> <p> - Additionally, we carefully considered the potential effectiveness of our modified SpuFz1 nickase in a Prime Editing scenario, specifically targeting the F508del mutation in cystic fibrosis. During this detailed analysis, we identified a critical challenge: the TAM sequence required for SpuFz1 binding was located too far from the target mutation site. This distance could limit the efficiency of the Prime Editor, raising concerns about its overall effectiveness for this particular mutation. + Additionally, we carefully considered the potential effectiveness of our modified SpuFz1 nickase in a Prime Editing scenario, specifically targeting the F508del mutation in Cystic Fibrosis. During this detailed analysis, we identified a critical challenge: the TAM sequence required for SpuFz1 binding was located too far from the target mutation site. This distance could limit the efficiency of the Prime Editor, raising concerns about its overall effectiveness for this particular mutation. </p> <InfoBox title="TAM sequences" id="current-pe-systems"> <details> @@ -779,7 +767,7 @@ export function Engineering() { <H3 text="Fusion Protein from GtFz1 & SpuFz1" id="nic2head"/> <H4 text="Design" id="design-head"/> <p> - In our ongoing exploration of Fanzor proteins, we identified another potential candidate, GtFz1, which had a suitable TAM sequence for our target application of correcting the F508del mutation in cystic fibrosis. However, GtFz1 showed low cutting efficiency in the tests reported in the literature<TabScrollLink tab="tab-nickase" num="1" scrollId="desc-1"/>. To address this, we devised a strategy to combine the favorable TAM-binding properties of GtFz1 with the higher cutting efficiency of SpuFz1. Specifically, we planned to engineer a fusion protein by replacing the TAM-binding domain of SpuFz1 with that of GtFz1. This approach aims to create an endonuclease that retains the strong TAM-binding ability of GtFz1 while utilizing the robust cutting efficiency of SpuFz1, optimizing it for our Prime Editing application. + In our ongoing exploration of Fanzor proteins, we identified another potential candidate, GtFz1, which had a suitable TAM sequence for our target application of correcting the F508del mutation in Cystic Fibrosis. However, GtFz1 showed low cutting efficiency in the tests reported in the literature<TabScrollLink tab="tab-nickase" num="1" scrollId="desc-1"/>. To address this, we devised a strategy to combine the favorable TAM-binding properties of GtFz1 with the higher cutting efficiency of SpuFz1. Specifically, we planned to engineer a fusion protein by replacing the TAM-binding domain of SpuFz1 with that of GtFz1. This approach aims to create an endonuclease that retains the strong TAM-binding ability of GtFz1 while utilizing the robust cutting efficiency of SpuFz1, optimizing it for our Prime Editing application. </p> <p> Given that we were swapping entire domains rather than just single amino acids, we realized that the fusion protein might not retain the ideal TAM-binding efficiency or cutting efficiency of the original proteins. Our strategy was to create a fusion protein that could bind to the TAM site and perform DNA cutting to a certain extent, albeit weakly. We planned to use directed evolution techniques, such as Phage Assisted Continuous Evolution (PACE), to enhance these functionalities over time. This approach relies on having a starting point with some degree of the desired activity, which can then be incrementally improved through evolution. @@ -819,28 +807,15 @@ export function Engineering() { <p> We used AlphaFold to model the 3D structures of our zinc finger mutation candidates. After generating these models, we used ChimeraX to perform a structural overlay comparison between the native SpuFz1 protein and the mutated versions (Fig. 3). This comparison revealed significant differences, particularly in the TNB domain, indicating that the zinc finger plays a crucial structural role (Fig. 4). </p> - <div className="figure-wrapper-philip"> - <figure> - <div className="row align-items-center"> - <div className="col"> - <img src="https://static.igem.wiki/teams/5247/engineering-cycle/spufz-wt-vs-zf-nikase.webp"/> - </div> - <div className="col"> - <img src="https://static.igem.wiki/teams/5247/engineering-cycle/spufz-wt-vs-zf-nikase-zinc-finger.webp"/> - </div> - </div> - <figcaption> - <div className="row align-items-center"> - <div className="col"> - <b>Figure 3:</b> Structural overlay of wildtype SpuFz1 (color: Lilac) (PDB code: 8GKH) and modeled zinc-finger mutation candidate (color: orange) visualized in ChimeraX – the yellow circle shows the location of the zinc-finger. A structural deviation of both proteins locally is evident. - </div> - <div className="col"> - <b>Figure 4:</b> Close-up of the zinc finger motif of the structural overlay - the zinc finger appears to be structurally significant: there are strong structural differences locally - </div> - </div> - </figcaption> - </figure> - </div> + <TwoFigureRow + pic1="https://static.igem.wiki/teams/5247/engineering-cycle/spufz-wt-vs-zf-nikase.webp" + pic2="https://static.igem.wiki/teams/5247/engineering-cycle/spufz-wt-vs-zf-nikase-zinc-finger.webp" + num={3} + num2={4} + alt1="Structural overlay of wildtype SpuFz1 (color: Lilac) (PDB code: 8GKH) and modeled zinc-finger mutation candidate (color: orange) visualized in ChimeraX – the yellow circle shows the location of the zinc-finger. A structural deviation of both proteins locally is evident" + description="Structural overlay of wildtype SpuFz1 (color: Lilac) (PDB code: 8GKH) and modeled zinc-finger mutation candidate (color: orange) visualized in ChimeraX – the yellow circle shows the location of the zinc-finger. A structural deviation of both proteins locally is evident" + description2="Close-up of the zinc finger motif of the structural overlay - the zinc finger appears to be structurally significant: there are strong structural differences locally" + /> <H4 text="Learn" id="learn-head"/> <p> From this analysis, we concluded that the zinc finger mutation is not a suitable candidate for generating a nickase, as altering this domain would likely compromise the structural integrity of SpuFz1. Prof. Hammer suggested that instead of focusing on SpuFz1, we explore other endonucleases with similar mechanisms. His recommendation was to identify endonucleases that are structurally comparable to SpuFz1 and analyze the strategies used to convert these into nickases. We would then apply these same strategies to our selected endonucleases, adapting them for our purposes. @@ -857,28 +832,15 @@ export function Engineering() { <p> In addition to these insights, we noticed a significant phylogenetic relationship between Fanzor endonucleases, like SpuFz1, and Cas12 endonucleases<TabScrollLink tab="tab-nickase" num="1" scrollId="desc-1"/>. This connection was crucial, as Cas12 proteins have a similar cutting mechanism to Fanzor proteins, utilizing a single active site for cleavage while coordinating both DNA strands. More importantly, we identified a precedent in the literature where a Cas12a endonuclease was successfully converted into a nickase by substituting a single amino acid in the TNB domain<TabScrollLink tab="tab-nickase" num="6" scrollId="desc-6"/> (Fig. 5 and 6). This provided us with a clear model strategy to follow, as this targeted mutation allowed the endonuclease to selectively cut only one DNA strand, effectively converting it into a nickase. </p> - <div className="figure-wrapper-philip"> - <figure> - <div className="row align-items-center"> - <div className="col"> - <img src="https://static.igem.wiki/teams/5247/engineering-cycle/cas12-nikase.webp"/> - </div> - <div className="col"> - <img src="https://static.igem.wiki/teams/5247/engineering-cycle/cas12-nikase-close-up.webp"/> - </div> - </div> - <figcaption> - <div className="row align-items-center"> - <div className="col"> - <b>Figure 5:</b> Schematic representation of Cas12a (PDB code: 8SFH) visualized in ChimeraX - the yellow circle highlights the position of arginine (R) (1226th amino acid in the primary structure) which, when replaced by an alanine (A), converts the Cas12a endonuclease into an nCas12a nickase - </div> - <div className="col"> - <b>Figure 6:</b> Close-up of Cas12a (PDB code: 8SFH) - arginine (R) (1226th amino acid in the primary structure) is colored purple - </div> - </div> - </figcaption> - </figure> - </div> + <TwoFigureRow + pic1="https://static.igem.wiki/teams/5247/engineering-cycle/cas12-nikase.webp" + pic2="https://static.igem.wiki/teams/5247/engineering-cycle/cas12-nikase-close-up.webp" + num={5} + num2={6} + alt1="Schematic representation of Cas12a (PDB code: 8SFH) visualized in ChimeraX - the yellow circle highlights the position of arginine (R) (1226th amino acid in the primary structure) which, when replaced by an alanine (A), converts the Cas12a endonuclease into an nCas12a nickase" + description="Schematic representation of Cas12a (PDB code: 8SFH) visualized in ChimeraX - the yellow circle highlights the position of arginine (R) (1226th amino acid in the primary structure) which, when replaced by an alanine (A), converts the Cas12a endonuclease into an nCas12a nickase" + description2="Close-up of Cas12a (PDB code: 8SFH) - arginine (R) (1226th amino acid in the primary structure) is colored purple" + /> <p> Based on these findings, two key decisions emerged. First, recognizing the structural and mechanistic similarities between Fanzor and Cas12 endonucleases, we decided to explore CasX—a smaller Cas12-related endonuclease—as an additional candidate in our project. CasX shares many of the advantages of SpuFz1, such as a more compact structure compared to Cas9, making it ideal for applications requiring smaller editing systems. Secondly, we resolved to adapt the mutation strategy used to convert Cas12a into a nickase for both CasX and SpuFz1. By applying these learnings, we aimed to generate effective nickases from these endonucleases to further optimize the Prime Editing complex. @@ -900,28 +862,15 @@ export function Engineering() { <p> Structurally, we observed that arginine 1226 protrudes from the NUC domain of AsCas12a and is oriented toward the RuvC domain (Fig. 8). This positioning led us to hypothesize that the arginine helps coordinate the DNA strand as it moves into the RuvC domain for cutting. Based on this observation, we speculated that the mutation of arginine 1226 disrupts this coordination, preventing the full double-strand cut and effectively converting AsCas12a into a nickase. </p> - <div className="figure-wrapper-philip"> - <figure> - <div className="row align-items-center"> - <div className="col"> - <img src="https://static.igem.wiki/teams/5247/engineering-cycle/ascas12a-nuc-domain.webp"/> - </div> - <div className="col"> - <img src="https://static.igem.wiki/teams/5247/engineering-cycle/ascas12a-nuc-domain-close-up.webp"/> - </div> - </div> - <figcaption> - <div className="row align-items-center"> - <div className="col"> - <b>Figure 7:</b> AsCas12a (PDB code: 8SFH) visualized in ChimeraX. The NUC domain (TNB) is colored purple and is attached to the RuvC domain. The DNA strand is colored orange. - </div> - <div className="col"> - <b>Figure 8:</b> Close-up of NUC domain (colored purple) of AsCas12a(PDB code: 8SFH) - the arginines (R) (1226th amino acid in the primary structure) is colored yellow. Its positively charged side chain is oriented towards the RuvC domain, as well as the DNA strand fixated in the RuvC domain. - </div> - </div> - </figcaption> - </figure> - </div> + <TwoFigureRow + pic1="https://static.igem.wiki/teams/5247/engineering-cycle/ascas12a-nuc-domain.webp" + pic2="https://static.igem.wiki/teams/5247/engineering-cycle/ascas12a-nuc-domain-close-up.webp" + num={7} + num2={8} + description2="Close-up of NUC domain (colored purple) of AsCas12a(PDB code: 8SFH) - the arginines (R) (1226th amino acid in the primary structure) is colored yellow. Its positively charged side chain is oriented towards the RuvC domain, as well as the DNA strand fixated in the RuvC domain" + description="AsCas12a (PDB code: 8SFH) visualized in ChimeraX. The NUC domain (TNB) is colored purple and is attached to the RuvC domain. The DNA strand is colored orange" + alt1="AsCas12a (PDB code: 8SFH) visualized in ChimeraX. The NUC domain (TNB) is colored purple and is attached to the RuvC domain. The DNA strand is colored orange" + /> <p> We then applied this structural insight to SpuFz1 and CasX, searching for positively charged amino acids with long side chains, similar to arginine 1226, that were positioned at the interface between the NUC and RuvC domains. We specifically looked for amino acids that protruded from the NUC domain and oriented toward the RuvC domain, mirroring the structural role of arginine 1226 in AsCas12a. These amino acids became our mutational targets, allowing us to design a strategy to convert SpuFz1 and CasX into nickases by disrupting their ability to make double-strand cuts, while preserving their functionality for single-strand cuts. The amino acids we identified in SpuFz1 are the 564th and the 568th arginine located in its NUC domain. For CasX we identified the 904th arginine as a promising candidate. </p> @@ -931,51 +880,26 @@ export function Engineering() { <p> We structurally analyzed CasX and SpuFz1, as well as the known AsCas12a nickase, using Chimera. Our objective was to understand why the specific amino acid substitution converted AsCas12a into a nickase. We then identified analogous amino acids in SpuFz1 (Fig. 7 and Fig. 8) and CasX (Fig. 9 and Fig. 10) that might play a similar role, allowing us to design new mutation candidates for our project. After designing these new mutation candidates, we modeled them using AlphaFold to predict their 3D structures and assess their potential effectiveness. </p> - <div className="figure-wrapper-philip"> - <figure> - <div className="row align-items-center"> - <div className="col"> - <img src="https://static.igem.wiki/teams/5247/engineering-cycle/casx-nikase.webp"/> - </div> - <div className="col"> - <img src="https://static.igem.wiki/teams/5247/engineering-cycle/casx-nikase-close-up.webp"/> - </div> - </div> - <figcaption> - <div className="row align-items-center"> - <div className="col"> - <b>Figure 9:</b> Schematic representation of PlmCasX (PDB code: 7WAZ) in ChimeraX - the yellow circle highlights the position of arginine (R) (904th amino acid in the primary structure) and glutamine (Q) (907th amino acid in the primary structure), which, when replaced by an alanine (A), convert the endonuclease into a nickase, according to our hypothesis - </div> - <div className="col"> - <b>Figure 10:</b> Close-up of PlmCasX (PDB code: 7WAZ) - arginine (R) (904th amino acid in the primary structure) and glutamine (Q) (907th amino acid in the primary structure) are purple in color - </div> - </div> - </figcaption> - </figure> - </div> + <TwoFigureRow + pic1="https://static.igem.wiki/teams/5247/engineering-cycle/casx-nikase.webp" + pic2="https://static.igem.wiki/teams/5247/engineering-cycle/casx-nikase-close-up.webp" + num={9} + num2={10} + description2="Close-up of PlmCasX (PDB code: 7WAZ) - arginine (R) (904th amino acid in the primary structure) and glutamine (Q) (907th amino acid in the primary structure) are purple in color" + alt1="Schematic representation of PlmCasX (PDB code: 7WAZ) in ChimeraX - the yellow circle highlights the position of arginine (R) (904th amino acid in the primary structure) and glutamine (Q) (907th amino acid in the primary structure), which, when replaced by an alanine (A), convert the endonuclease into a nickase, according to our hypothesis" + description="Schematic representation of PlmCasX (PDB code: 7WAZ) in ChimeraX - the yellow circle highlights the position of arginine (R) (904th amino acid in the primary structure) and glutamine (Q) (907th amino acid in the primary structure), which, when replaced by an alanine (A), convert the endonuclease into a nickase, according to our hypothesis" + /> + + <TwoFigureRow + pic1="https://static.igem.wiki/teams/5247/engineering-cycle/spufz-nikase.webp" + pic2="https://static.igem.wiki/teams/5247/engineering-cycle/spufz-nikase-close-up.webp" + num={11} + num2={12} + description2="Close-up of SpuFz1 (PDB code: 8GKH) - the two arginines (R) (564th and 568th amino acid in the primary structure) are purple in color" + alt1="Schematic representation of SpuFz1 (PDB code: 8GKH) in ChimeraX - the yellow circle highlights the position of the two arginines (R) (564th and 568th amino acid in the primary structure), which, when replaced by an alanine (A), transform the endonuclease into a nickase according to our hypothesis" + description="Schematic representation of SpuFz1 (PDB code: 8GKH) in ChimeraX - the yellow circle highlights the position of the two arginines (R) (564th and 568th amino acid in the primary structure), which, when replaced by an alanine (A), transform the endonuclease into a nickase according to our hypothesis" + /> - <div className="figure-wrapper-philip"> - <figure> - <div className="row align-items-center"> - <div className="col"> - <img src="https://static.igem.wiki/teams/5247/engineering-cycle/spufz-nikase.webp"/> - </div> - <div className="col"> - <img src="https://static.igem.wiki/teams/5247/engineering-cycle/spufz-nikase-close-up.webp"/> - </div> - </div> - <figcaption> - <div className="row align-items-center"> - <div className="col"> - <b>Figure 11:</b> Schematic representation of SpuFz1 (PDB code: 8GKH) in ChimeraX - the yellow circle highlights the position of the two arginines (R) (564th and 568th amino acid in the primary structure), which, when replaced by an alanine (A), transform the endonuclease into a nickase according to our hypothesis - </div> - <div className="col"> - <b>Figure 12:</b> Close-up of SpuFz1 (PDB code: 8GKH) - the two arginines (R) (564th and 568th amino acid in the primary structure) are purple in color - </div> - </div> - </figcaption> - </figure> - </div> <H4 text="Test" id="test-head"/> <p> To validate our approach, we conducted an interview with <a onClick={() => goToPagesAndOpenTab('saito', '/human-practices')}> Makoto Saito </a>, the lead author of the main Fanzor paper. Given his expertise, there was no better person to consult on this topic. We presented our project and our strategy for creating nickases, and he found our approach to be very plausible. He confirmed that the zinc finger mutation is likely structurally critical and agreed that our new strategy, based on the precedent with AsCas12a, was more promising. This conversation gave us confidence that we were on a good track. @@ -1071,7 +995,11 @@ export function Engineering() { <div className="eng-box box" > <H2 id="delivery-header" text="Delivery"></H2> <p>The design path of our lipid nanoparticle (LNP) for mRNA delivery underwent multiple cycles of research and discussion, marked by important decision points and learnings along the way. By ongoing further improvement, we designed our lungs-specific LNP called AirBuddy with improved stability aspects, becoming more precise in the delivery of our therapeutic cargo LNP by LNP.</p> - <img src="https://static.igem.wiki/teams/5247/delivery/airbuddy.webp" style={{maxHeight: "80pt"}}/> + <div className="row align-items-center"> + <div className="col"> + <img src="https://static.igem.wiki/teams/5247/delivery/airbuddy.webp" className="center" style={{maxHeight: "80pt", margin: "auto"}}/> + </div> + </div> </div> <div className="box" > <p id="del1"> diff --git a/src/contents/igem-bielefeld.tsx b/src/contents/igem-bielefeld.tsx index 99ee6564ad9e0f99d6c7de0d8c4457338fa40050..2850bccb8aa143418509581910445fe13285751f 100644 --- a/src/contents/igem-bielefeld.tsx +++ b/src/contents/igem-bielefeld.tsx @@ -14,10 +14,10 @@ export function igemBielefeld() { <Section title="History" id="History"> <div className="row"> <div className="col"> - <img src="https://static.igem.wiki/teams/5247/sponsors/uni-bielefeld-dunkel.png" style={{width:"40%", height:"60%"}}/> + <img src="https://static.igem.wiki/teams/5247/sponsors/uni-bielefeld-dunkel.png" style={{ height:"100px"}}/> </div> <div className="col"> - <img src="https://static.igem.wiki/teams/5247/sponsors/cebitec-logo-hinterlegt.png" style={{width:"20%", height:"50%", transform: "scale(1.5)"}}/> + <img src="https://static.igem.wiki/teams/5247/sponsors/cebitec-logo-hinterlegt.png" style={{height:"100px"}}/> </div> </div> <br/> @@ -35,22 +35,40 @@ export function igemBielefeld() { <BlockQuoteB text="iGEM is the biggest opportunity for young researchers to cross their own boundaries." cite="Prof. Dr. Jörn Kalinowski, Principle Investigator of iGEM Bielefeld since 2010"/> <Subesction title="What is a Steering Committee?" id="Steering Committee1"> <p>The Steering Committee plays a central role in the resumption and further development of iGEM activities at Bielefeld University. After a pause in 2022 due to financial constraints and changes in participation conditions, the Steering Committee was established to ensure Bielefeld's sustainable participation in future iGEM competitions.</p> - <img src="https://static.igem.wiki/teams/5247/pdfs/steering-commitee.webp" /> - <p>The Steering Committee consists of five renowned scientists from the Faculties of Biology and Technology: Dr. Petra Lutter, Prof. Dr. Jörn Kalinowski, Prof. Dr. Kristian Müller, Prof. Dr. Karsten Niehaus, and Prof. Dr. Jens Stoye. Each of these experts brings specific expertise crucial for the successful execution of iGEM projects. Petra Lutter has contributed to modeling in previous iGEM projects, while Jörn Kalinowski has been significantly involved in all past iGEM projects. Kristian Müller has been an experienced supporter of the iGEM competitions since their inception, and Karsten Niehaus, former head of the "Genome-based Systems Biology" master’s program, brings extensive knowledge of the scientific foundations of the projects. Jens Stoye, representing bioinformatics at Bielefeld University, contributes his expertise in this area. </p> + + <p> + <div className="row"> + <div className="col"> + <img src="https://static.igem.wiki/teams/5247/pdfs/steering-commitee.webp" /> + </div> + <div className="col"> + <p>The Steering Committee consists of five renowned scientists from the Faculties of Biology and Technology: Dr. Petra Lutter, Prof. Dr. Jörn Kalinowski, Prof. Dr. Kristian Müller, Prof. Dr. Karsten Niehaus, and Prof. Dr. Jens Stoye. Each of these experts brings specific expertise crucial for the successful execution of iGEM projects. Petra Lutter has contributed to modeling in previous iGEM projects, while Jörn Kalinowski has been significantly involved in all past iGEM projects. Kristian Müller has been an experienced supporter of the iGEM competitions since their inception, and Karsten Niehaus, former head of the "Genome-based Systems Biology" master’s program, brings extensive knowledge of the scientific foundations of the projects. Jens Stoye, representing bioinformatics at Bielefeld University, contributes his expertise in this area. </p> + </div> + </div> + </p> <p>The main goal of the Steering Committee is to ensure the successful implementation of future iGEM projects. This includes not only academic support but also organizational leadership, securing funding, and providing the necessary infrastructure. The experts in the Steering Committee are significantly involved in the strategic direction of the projects and offer a platform where ideas, resources, and knowledge are pooled to continue Bielefeld's tradition of successful iGEM participation. </p> + + <p> <div style={{marginBottom: "1rem"}}><PDF link="https://static.igem.wiki/teams/5247/pdfs/igem-broschure.pdf" name="igem-broschure.pdf" /></div> - <p>In helping the new iGEM Bielefeld team advance their project, the Steering Committee played an indispensable role, particularly by promoting the iGEM principle of "Contribution" and fostering the interdisciplinary nature of the project. The committee emphasized the importance of creating tools, data, and methods that can benefit the global iGEM community. This mindset was reflected in the team’s project design, ensuring that their work not only met local goals but also provided meaningful contributions to future projects. </p> - <img src="https://static.igem.wiki/teams/5247/pdfs/steering-committee-1.webp"/> + + </p> + <p> + <div className="row"> + <div className="col"> + <img src="https://static.igem.wiki/teams/5247/pdfs/steering-committee-1.webp"/> + </div> + <div className="col"> + <p>In helping the new iGEM Bielefeld team advance their project, the Steering Committee played an indispensable role, particularly by promoting the iGEM principle of "Contribution" and fostering the interdisciplinary nature of the project. The committee emphasized the importance of creating tools, data, and methods that can benefit the global iGEM community. This mindset was reflected in the team’s project design, ensuring that their work not only met local goals but also provided meaningful contributions to future projects. </p> + <p>Moreover, the interdisciplinary nature of the iGEM project was strongly encouraged by the Steering Committee. With members from various scientific fields, the committee facilitated collaboration between disciplines such as biology, bioinformatics, and biotechnology. This interdisciplinary approach allowed the team to tackle complex challenges from multiple perspectives, integrating computational models with experimental biology to drive innovation. This guidance helped the iGEM Bielefeld team develop a more robust and impactful project, aligning with both the scientific goals of the competition and the collaborative spirit of the iGEM community. </p> - </Subesction> - {/* <Subesction title="Jörn" id="Steering Committee2"> - <LoremMedium/> - </Subesction> */} + + </div> + </div> + </p> + </Subesction> </Section> - {/* <Section title="Our Future" id="Future"> - <LoremMedium/> - </Section> */} + </> ); diff --git a/src/contents/interviews.tsx b/src/contents/interviews.tsx index 1a7d5470917661902bd3afe59118f5c440b93a9a..298be3036553a8b5ceb10919896622bf818a9c5b 100644 --- a/src/contents/interviews.tsx +++ b/src/contents/interviews.tsx @@ -174,7 +174,7 @@ export function Ints() { /> <QaBox q="How many patients do you treat?" - a="We currently have 8 children with cystic fibrosis in our medical practice, which is quite a lot. However, if you compare this number with other diseases, it is rather a small number. We have slightly more children with cystic fibrosis in our practice because we specialize in it, among other diseases." + a="We currently have 8 children with Cystic Fibrosis in our medical practice, which is quite a lot. However, if you compare this number with other diseases, it is rather a small number. We have slightly more children with Cystic Fibrosis in our practice because we specialize in it, among other diseases." /> <SpecialQaBox q="What kind of exercises do you do?"> @@ -226,8 +226,8 @@ export function Ints() { a="Pancreatic complaints are rarely treated with physiotherapy, unless it is an inflammation. In such cases, the patient is admitted to a hospital. Massage or taping the intestines with kinesiology tape helps with constipation and works very well. " /> <QaBox - q="Are there any special hygiene guidelines for you when working with cystic fibrosis patients? " - a="Hygiene guidelines are very important when working with cystic fibrosis patients. A distinction is made between children with and without infections (Pseudomonas). Regular nasal swabs are taken and only children with or without infections are treated in the practice on any given day. Ventilation, patients wearing masks while infected and disinfection of the facilities are essential. Children infected with multi-resistant germs are not allowed to enter the practice; in such cases, physiotherapists visit the patients' homes. " + q="Are there any special hygiene guidelines for you when working with Cystic Fibrosis patients? " + a="Hygiene guidelines are very important when working with Cystic Fibrosis patients. A distinction is made between children with and without infections (Pseudomonas). Regular nasal swabs are taken and only children with or without infections are treated in the practice on any given day. Ventilation, patients wearing masks while infected and disinfection of the facilities are essential. Children infected with multi-resistant germs are not allowed to enter the practice; in such cases, physiotherapists visit the patients' homes. " /> <QaBox q="Are the specific exercises customized? And if so, how do you know which therapy is the right one for which patient (based on laboratory values, tests, different mutation patterns...)? " @@ -239,7 +239,7 @@ export function Ints() { /> <QaBox q="How many physiotherapists offer muco-therapy? " - a="The exact number of physiotherapists offering cystic fibrosis therapy is unknown. However, there are several child therapists in the region providing this therapy. " + a="The exact number of physiotherapists offering Cystic Fibrosis therapy is unknown. However, there are several child therapists in the region providing this therapy. " /> <QaBox q="How are the relatives educated? " diff --git a/src/contents/judging.tsx b/src/contents/judging.tsx index 2353cab1cdb587edf4f6c654041b6905d1055a23..423b354c581e987a0a34923bff7a975f3a1ef74f 100644 --- a/src/contents/judging.tsx +++ b/src/contents/judging.tsx @@ -38,7 +38,7 @@ export function Judging() { </div> </div> <Section title="Best Therapeutic Project" id="Best Therapeutic Project"> - <p>Our project is a dual therapeutic approach targeting cystic fibrosis (CF), specifically the most common mutation, F508del. We aim to develop a curative solution by correcting the genetic defect using Prime Editing Technology while enhancing the folding of the CFTR protein. Additionally, we developed a Lipid Nanoparticle for the cell-specific targeting of lung epithelial cells. This project directly addresses the unmet therapeutic needs of CF patients, providing a long-term and potentially curative solution. </p> + <p>Our project is a dual therapeutic approach targeting Cystic Fibrosis (CF), specifically the most common mutation, F508del. We aim to develop a curative solution by correcting the genetic defect using Prime Editing Technology while enhancing the folding of the CFTR protein. Additionally, we developed a Lipid Nanoparticle for the cell-specific targeting of lung epithelial cells. This project directly addresses the unmet therapeutic needs of CF patients, providing a long-term and potentially curative solution. </p> <h4>Has the team clearly defined the therapeutic problem they are addressing? </h4> <p>We are addressing Cystic Fibrosis (CF), a severe genetic disorder caused by mutations in the CFTR gene, particularly the F508del mutation. This mutation leads to thick mucus accumulation in vital organs, causing chronic infections and damage, particularly in the lungs. Our focus on the F508del mutation, which affects around 90 % of CF patients in Europe and beyond, ensures our project targets a well-defined and widespread therapeutic need. </p> <h4>How well is the therapeutic mechanism of action understood and demonstrated? </h4> @@ -73,13 +73,13 @@ export function Judging() { <p>We engaged with a broad range of stakeholders, including patients, healthcare providers, researchers, and regulatory experts, ensuring that each perspective played a role in shaping the final therapeutic solution. For instance, feedback from physiotherapist Katrin Westhoff confirmed the necessity of an inhalation-based therapy that is easy for younger patients to use. Collaborations with industry experts like Dr. Benjamin Winkeljann enabled us to optimize the technical aspects of our treatment for scalability and environmental sustainability. </p> <h4>Creating a Responsible and Beneficial Project </h4> <p>Our gene therapy for CF addresses not only the scientific challenges but also the societal need for accessible, patient-centered healthcare solutions. By incorporating human practices at every stage, we ensured that our project is ethically responsible and beneficial to society. The feedback from diverse stakeholders helped us refine our approach, ensuring that the solution is sustainable, inclusive, and addresses the global disparities in CF care. The long-term positive impact on the CF community—both in terms of health outcomes and accessibility—demonstrates our project’s commitment to responsible innovation. </p> - <p>Our project exemplifies the seamless integration of Human Practices into every aspect of synthetic biology research. Through collaborations with patients, healthcare professionals, and experts across different fields, we have developed a gene therapy for cystic fibrosis that is scientifically innovative, ethically sound, and deeply aligned with the needs of the global CF community. Our commitment to inclusivity, ethical reflection, and environmental sustainability makes us a strong candidate for the <b>Best Integrated Human Practices Award</b>, showcasing our dedication to responsible and impactful synthetic biology. </p> + <p>Our project exemplifies the seamless integration of Human Practices into every aspect of synthetic biology research. Through collaborations with patients, healthcare professionals, and experts across different fields, we have developed a gene therapy for Cystic Fibrosis that is scientifically innovative, ethically sound, and deeply aligned with the needs of the global CF community. Our commitment to inclusivity, ethical reflection, and environmental sustainability makes us a strong candidate for the <b>Best Integrated Human Practices Award</b>, showcasing our dedication to responsible and impactful synthetic biology. </p> </Section> <Section title="Safety & Security" id="Safety & Security"> - <p>Our project focuses on advancing biosafety and biosecurity in synthetic biology through the development and implementation of robust safety mechanisms. As part of our PreCyse project, aimed at developing a prime-editing complex to correct the F508del mutation in cystic fibrosis (CF), we place great emphasis on safety at every stage of research. With a commitment to responsible innovation, we have ensured that all phases of our work adhere to the highest safety standards, aiming to minimize both environmental and human health risks. Our approach incorporates novel containment systems, rigorous validation processes, and carefully planned checkpoints during experiments to push the boundaries of biosafety in synthetic biology. </p> + <p>Our project focuses on advancing biosafety and biosecurity in synthetic biology through the development and implementation of robust safety mechanisms. As part of our PreCyse project, aimed at developing a prime-editing complex to correct the F508del mutation in Cystic Fibrosis (CF), we place great emphasis on safety at every stage of research. With a commitment to responsible innovation, we have ensured that all phases of our work adhere to the highest safety standards, aiming to minimize both environmental and human health risks. Our approach incorporates novel containment systems, rigorous validation processes, and carefully planned checkpoints during experiments to push the boundaries of biosafety in synthetic biology. </p> <h4>Contribution to Biosafety and Biosecurity </h4> <p>We developed a comprehensive biosafety plan to minimize risks associated with our synthetic biology project. This includes biocontainment measures and protocols to prevent the accidental release of genetically modified organisms (GMOs) into the environment. By integrating both physical and genetic safeguards, we have ensured that our project contributes to safer synthetic biology applications. For example, our final construct will be tested in primary cultures of nasal epithelial cells from CF patients and healthy individuals, with carefully planned checkpoints for continuous monitoring and timely adjustments. </p> - <p>As part of our commitment to advancing safe and ethical practices in synthetic biology and patient care, we have made several key contributions to support our project and the wider community. Firstly, we developed a <b>questionnaire to evaluate the medical history of cystic fibrosis (CF) patients</b>, which has been specifically adapted for the collection of primary human nasal epithelial cells (hNECs). This tool ensures that essential health information is gathered in a systematic and ethical manner, aiding the accurate collection of samples while safeguarding patient well-being. </p> + <p>As part of our commitment to advancing safe and ethical practices in synthetic biology and patient care, we have made several key contributions to support our project and the wider community. Firstly, we developed a <b>questionnaire to evaluate the medical history of Cystic Fibrosis (CF) patients</b>, which has been specifically adapted for the collection of primary human nasal epithelial cells (hNECs). This tool ensures that essential health information is gathered in a systematic and ethical manner, aiding the accurate collection of samples while safeguarding patient well-being. </p> <p>Secondly, we created <b>Best Practices for safe primary culture handling</b>. This guide outlines the necessary safety protocols for working with primary cell cultures, ensuring that all procedures are conducted with minimal risk of contamination and exposure to harmful pathogens. These practices promote safety for both laboratory personnel and the integrity of the biological materials.</p> <p>Additionally, we developed a <b>Hygiene Concept for Immunocompromised Individuals</b> in consultation with a CF patient. This concept addresses the specific needs of individuals with weakened immune systems, such as those with CF, HIV, or certain cancers. It focuses on reducing health risks in high-foot-traffic public spaces, especially public restrooms, by implementing tailored hygiene measures. These guidelines aim to protect immunocompromised individuals by creating safer environments within university settings and beyond, contributing to broader public health initiatives. </p> <h4>Characterization and Validation </h4> @@ -97,7 +97,7 @@ export function Judging() { <p>By building on existing knowledge, rigorously testing our biosafety measures, and proactively managing risks, we have developed a project that significantly contributes to the field of biosafety and biosecurity. Our comprehensive approach ensures that our technology can be safely applied in real-world scenarios, and we believe this sets a new standard for responsible synthetic biology. Our efforts, particularly in the development of the Prime Editing complex for CF and the associated biosafety protocols, merit recognition for the <b>Biosafety and Security Award</b>. </p> </Section> <Section title="Best New Basic Part" id="Best New Basic Part"> - <p>Our project focuses on optimizing prime editing for the cystic fibrosis-causing CFTR F508del mutation, which represents one of the most significant applications for prime editing. Prime editing is a precise and safe gene editing technique, but its efficiency varies greatly depending on the genomic locus. Through our development of a context-specific Prime Editor Activity Reporter (PEAR) system, we have successfully optimized this advanced technology, paving the way for more effective genomic targeting, not just for cystic fibrosis but for future synthetic biology applications as well. </p> + <p>Our project focuses on optimizing prime editing for the Cystic Fibrosis-causing CFTR F508del mutation, which represents one of the most significant applications for prime editing. Prime editing is a precise and safe gene editing technique, but its efficiency varies greatly depending on the genomic locus. Through our development of a context-specific Prime Editor Activity Reporter (PEAR) system, we have successfully optimized this advanced technology, paving the way for more effective genomic targeting, not just for Cystic Fibrosis but for future synthetic biology applications as well. </p> <h4> Engineering and Testing for Contextual Precision </h4> <p>The challenges posed by low editing efficiency and the difficulty in distinguishing successful edits from background noise led us to design a highly sensitive reporter system. After an initial unsuccessful attempt using a fluorescent reporter, we shifted to the PEAR system proved to be much more adaptable and relevant to our needs. </p> <h4>Iterative Development </h4> @@ -113,7 +113,7 @@ export function Judging() { <Section title="Conclusion" id="Conclusion"> <p>In conclusion, our project exemplifies the best of synthetic biology, combining cutting-edge science with ethical responsibility and a deep commitment to societal impact. By integrating human practices into every stage of our work, ensuring the highest standards of biosafety, and contributing - valuable tools to the community, we have set a new standard for innovation in the field. Our therapeutic approach for cystic fibrosis has the potential + valuable tools to the community, we have set a new standard for innovation in the field. Our therapeutic approach for Cystic Fibrosis has the potential to revolutionize treatment for this life-threatening condition, while our contributions to biosafety and part development will benefit the broader synthetic biology ecosystem. We are confident that our project is deserving of recognition in multiple award categories, including <b>Best Therapeutic Project</b>, <b>Best Integrated Human Practices</b>, <b>Biosafety and Security</b>, and <b>Best New Basic Part</b>. Through our work, we hope to inspire future iGEM teams to pursue solutions that are both scientifically excellent and socially responsible. </p> </Section> diff --git a/src/contents/methods.tsx b/src/contents/methods.tsx index 485667b847acce37e8c1f005f849568d7b7a2bae..dcb4f92dab39f3208f60a9dbe72544e81b116272 100644 --- a/src/contents/methods.tsx +++ b/src/contents/methods.tsx @@ -3,6 +3,7 @@ import { useTabNavigation } from "../utils/TabNavigation"; import {H4} from "../components/Headings"; import MethodSources from "../sources/methods-sources"; import { useNavigation } from "../utils"; +import { OneFigure } from "../components/Figures"; export function Methods() { @@ -20,50 +21,68 @@ export function Methods() { </Subesction> <Subesction title="Principles of the patch clamp technique" id="Patch Clamp2"> <p>Patch clamp recording involves the use of a glass micropipette which is manufactured from a glass capillary through the use of a Micropipette Puller. The micropipette is then filled with an electrolyte solution, which is subsequently brought into contact with the cell membrane. By applying gentle suction, a high-resistance seal called giga seal is formed between the pipette tip and the membrane patch. This enables the measurement of ionic currents with minimal noise interference [3]. <strong>Whole-Cell Configuration</strong> records currents from the entire cell by rupturing the membrane patch, accessing the intracellular environment, and is useful for analysing overall ion channel activity and cellular responses. <strong>Single-Channel Recording</strong> measures currents through individual ion channels without rupturing the membrane, enabling high-resolution study of channel conductance, gating, and selectivity [2].</p> + <div className="figure-wrapper"> <figure> <iframe title="Bielefeld-CeBiTec: Patch Clamp Measurement (2024)" width="560" height="315" src="https://video.igem.org/videos/embed/0d948e57-5997-430a-a2df-815b71a2fc67?autoplay=1" frameBorder="0" allowFullScreen={true} sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe> <figcaption> <b>Figure 1. </b> Microscopic recording of micropipette sealing of a HEK293 cell. </figcaption> - </figure> + </figure> + </div> <p>The success of patch clamp experiments heavily depends on the composition of the solutions used. Typically, two main types of solutions are employed: The <strong>Pipette Solution</strong> in the micropipette mimics the intracellular environments, while the <strong>Bath Solution</strong> surrounds the cell and usually contains components that replicate the extracellular environment. Both solutions are meticulously designed to reflect the physiological conditions under which the cells operate, thereby ensuring that the measurements accurately reflect ion channel activity in a natural setting [2].</p> - <figure> - <img src="https://static.igem.wiki/teams/5247/photos/for-wiki-texts/meth-patch-clamp/bild-meth-patch-clamp.png" alt="Patch clamp setup"/> - <figcaption><b>Figure 2. </b> Patch clamp setup.</figcaption> - </figure> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/photos/for-wiki-texts/meth-patch-clamp/bild-meth-patch-clamp.png" + alt1="Patch clamp setup" + description="Patch clamp setup" + num={2} + /> + </Subesction> <Subesction title="Application in CFTR gene prime editing validation" id="Patch Clamp3"> - <p>In our ongoing research project focusing on the treatment of cystic fibrosis, our patch clamp measurements, performed in collaboration with Dr. Oliver Dräger from the Cellular Neurophysiology working group at Bielefeld University, serve as a powerful validation tool for the assessment of the functional correction of the CFTR gene, particularly the common F508del mutation, via prime editing. The patch clamp technique can be employed in this context to measure the resulting chloride ion channel activity which is altered by the mutation [4]. Whole-Cell recordings were performed to assess whether the corrected CFTR channels function similarly to those in healthy cells. If the chloride ion currents in the edited cells approach levels of healthy cells, this would strongly suggest successful gene editing and validate the functionality of our therapeutic approach.</p> + <p>In our ongoing research project focusing on the treatment of Cystic Fibrosis, our patch clamp measurements, performed in collaboration with Dr. Oliver Dräger from the Cellular Neurophysiology working group at Bielefeld University, serve as a powerful validation tool for the assessment of the functional correction of the CFTR gene, particularly the common F508del mutation, via prime editing. The patch clamp technique can be employed in this context to measure the resulting chloride ion channel activity which is altered by the mutation [4]. Whole-Cell recordings were performed to assess whether the corrected CFTR channels function similarly to those in healthy cells. If the chloride ion currents in the edited cells approach levels of healthy cells, this would strongly suggest successful gene editing and validate the functionality of our therapeutic approach.</p> </Subesction> </Section> <Section title="Cell Culture" id="Cell Culture"> <Subesction title="HEK293 and HEK293T cell lines" id="Cell Culture1"> <p>For testing our prime editing approach, we needed an easy-to-handle cell line with a measurable high expression of CFTR and the CFTR F508del mutation. When talking to Mattijs Bulcaen from the Laboratory of Molecular Virology and Gene Therapy at KU Leuven, he recommended to use HEK293T cell lines overexpressing CFTR they had used. HEK293 cells are a very common immortalized human cell line derived from the kidneys of a female embryo. They are particularly suited to research due to their convenient handling and transfection properties. Basic HEK293 cells were provided to us by the Cellular and Molecular Biotechnology working group at Bielefeld University led by Prof. Dr. Kristian Müller, who is also one of the Principal Investigators of our team. HEK293T cells express an additional tsA1609 allele of the SV40 large T-antigen, allowing for replication of vectors containing the SV40 origin of replication[5]. Besides the native CFTR gene, which is not expressed in HEK cells, the HEK293T cell lines used in Leuven carry another copy of the gene embedded in an expression cassette. The cassette includes a CMV promoter, which is a standard promoter used for gene overexpression in human cells derived from the human Cytomegalovirus[6], as well as a puromycin resistance co-expressed with the CFTR allowing for continuous selection of CFTR expressing cells. The whole construct was stably inserted into the genome using lentiviral transduction[7][8]. </p> - <figure> - <img src="https://static.igem.wiki/teams/5247/photos/for-wiki-texts/meth-used-cells/mikroskopie-hek293t.png" alt="Phase contrast image of HEK293T at 20x magnification"/> - <figcaption> <b>Figure 3. </b>Phase contrast image of HEK293T at 20x magnification.</figcaption> - </figure> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/photos/for-wiki-texts/meth-used-cells/mikroskopie-hek293t.png" + alt1="Phase contrast image of HEK293T at 20x magnification" + description="Phase contrast image of HEK293T at 20x magnification" + num={3} + bg="white" + /> </Subesction> <Subesction title="CFBE41o- cell line" id="Cell Culture2"> - <p>The CFBE41o- cell line, derived from bronchial epithelial cells of a one-year-old cystic fibrosis patient, serves as a vital model for studying cystic fibrosis. These cells closely mimic the physiological environment of the airway epithelium, allowing for more accurate studies on how CFTR mutations affect cell function and response to treatments. They were immortalized through calcium-phosphate-mediated transfection using a replication-defective pSVori plasmid that carries the simian virus 40 large T-antigen (SV40-LT). The plasmid's defective origin of replication prevents viral propagation, thus preserving essential physiological characteristics of the cells while enabling them to develop differentiated morphologies. CFBE41o- cells are homozygous for the F508del CFTR mutation [9]. We are happy we got this cell line with permission from <a onClick={() => goToPagesAndOpenTab('ignatova', '/human-practices')}>Prof. Dr. Ignatova</a>, who is leader of a working group at the Institute for Biochemistry and Molecular Biology of Hamburg University and an iGEM supporter since a long time [10]. </p> + <p>The CFBE41o- cell line, derived from bronchial epithelial cells of a one-year-old Cystic Fibrosis patient, serves as a vital model for studying Cystic Fibrosis. These cells closely mimic the physiological environment of the airway epithelium, allowing for more accurate studies on how CFTR mutations affect cell function and response to treatments. They were immortalized through calcium-phosphate-mediated transfection using a replication-defective pSVori plasmid that carries the simian virus 40 large T-antigen (SV40-LT). The plasmid's defective origin of replication prevents viral propagation, thus preserving essential physiological characteristics of the cells while enabling them to develop differentiated morphologies. CFBE41o- cells are homozygous for the F508del CFTR mutation [9]. We are happy we got this cell line with permission from <a onClick={() => goToPagesAndOpenTab('ignatova', '/human-practices')}>Prof. Dr. Ignatova</a>, who is leader of a working group at the Institute for Biochemistry and Molecular Biology of Hamburg University and an iGEM supporter since a long time [10]. </p> </Subesction> <Subesction title="Human nasal epithelial cells (hNECs)" id="Cell Culture3"> <p>Human nasal epithelial cells were obtained by nasal brushing, a minimally invasive method. These cells function/act as primary cultures. Cultivated in air-liquid interface (ALI) cultures and apical-out airway organoids (AOAO), they serve as a suitable model to visualise the functional epithelium of the airways in a differentiated form. The <i>in vivo</i> aspects of an airway disease, such as CF, can be modelled using donors with those airway diseases [11]. This model is therefore particularly suitable for testing our prime editing complex. </p> - <div className="row"> - <div className="col"> - <figure> - <iframe title="Bielefeld-CeBiTec: ALI cell culture (2024) [English]" width="560" height="315" src="https://video.igem.org/videos/embed/ff557f5a-94be-45e6-90ca-0affa14423e3?autoplay=1&muted=1" frameBorder="0" allowFullScreen={true} sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe> - <figcaption> <b>Figure 4. </b> ALI cultures of hNECs: The active cilia beat frequency of differentiated human nasal epithelial cells (hNECs) in air-liquid interface (ALI) culture is visible. This ciliary movement is crucial for mucociliary transport, which contributes to the clearance of particles and pathogens in the respiratory tract. </figcaption> - </figure> + <div className="figure-wrapper"> + <figure> + <div className="row align-items-center"> + <div className="col"> + <iframe title="Bielefeld-CeBiTec: ALI cell culture (2024) [English]" width="500" height="315" src="https://video.igem.org/videos/embed/ff557f5a-94be-45e6-90ca-0affa14423e3?autoplay=1&muted=1" frameBorder="0" allowFullScreen={true} sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe> + + </div> + <div className="col"> + <iframe title="Bielefeld-CeBiTec: AOAO cell culture (2024) [English]" width="500" height="315" src="https://video.igem.org/videos/embed/058d83cf-ab09-476e-9ab2-30cd114fbc0c?autoplay=1&muted=1" frameBorder="0" allowFullScreen={true} sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe> + + </div> </div> - <div className="col"> - <figure> - <iframe title="Bielefeld-CeBiTec: AOAO cell culture (2024) [English]" width="560" height="315" src="https://video.igem.org/videos/embed/058d83cf-ab09-476e-9ab2-30cd114fbc0c?autoplay=1&muted=1" frameBorder="0" allowFullScreen={true} sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe> - <figcaption> <b>Figure 5. </b> Apical-Out Airway Organoid (AOAO) culture: Visible apical-out airway organoids in action. These 3D structures, which mimic the airway epithelium, allow detailed study of cellular processes such as mucociliary transport and secretory activities, in which cilia and vesicles play a key role. </figcaption> - </figure> + <figcaption> + <div className="row align-items-center"> + <div className="col"> + <b>Figure 4:</b> ALI cultures of hNECs: The active cilia beat frequency of differentiated human nasal epithelial cells (hNECs) in air-liquid interface (ALI) culture is visible. This ciliary movement is crucial for mucociliary transport, which contributes to the clearance of particles and pathogens in the respiratory tract. + </div> + <div className="col"> + <b>Figure 5:</b> Apical-Out Airway Organoid (AOAO) culture: Visible apical-out airway organoids in action. These 3D structures, which mimic the airway epithelium, allow detailed study of cellular processes such as mucociliary transport and secretory activities, in which cilia and vesicles play a key role.. + </div> + </div> + </figcaption> + </figure> </div> - </div> </Subesction> @@ -73,15 +92,15 @@ export function Methods() { <H4 text="Assessing the Safety of Our LNPs "></H4> <p>Ensuring the safety and thorough characterization of our LNPs was a central part of our project, as these particles are intended for use in biological systems. We implemented a comprehensive range of assays and techniques to assess their biosafety and physical properties, ensuring their suitability for applications such as drug delivery and gene therapy. Below is an overview of the key steps we took in our assessment.</p> <H4 text="MTT Assay"></H4> + <div className='row align-items-center'> <div className='col'> - <figure> - <img src="https://static.igem.wiki/teams/5247/integrated-human-practices/mttassay.webp" alt="PC1" style={{maxHeight: "200pt"}}/> - <figcaption> - <b>Figure 6. </b> - MTT Assay: Formation of purple formazan crystals by living cells. - </figcaption> - </figure> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/integrated-human-practices/mttassay.webp" + alt1="PC1" + description="MTT Assay: Formation of purple formazan crystals by living cells" + num={6} + /> </div> <div className='col'> <p>To evaluate the cytotoxicity of our LNPs, we conducted an MTT assay, which measures the metabolic activity of cells. This assay is based on the ability of living cells to reduce MTT, a yellow tetrazolium salt, into purple formazan crystals through NAD(P)H-dependent enzymes. Cells were treated with various concentrations of LNPs, and after dissolving the formazan crystals with DMSO, we measured absorbance. Higher absorbance values indicate greater cell viability. Our results showed no significant reduction in cell viability across all LNP concentrations, demonstrating that the LNPs did not induce cytotoxic effects. This finding is crucial for ensuring that the LNPs are safe for biological use, supporting their potential in clinical applications such as drug delivery and gene therapy. Overall, the MTT assay provided strong evidence of the biocompatibility of our LNPs. </p> @@ -105,10 +124,12 @@ export function Methods() { Overall, the combination of PCS, DLS, and zeta potential measurements provided a comprehensive characterization of the LNPs, confirming their hydrodynamic properties, stability, and suitability for drug delivery applications. </p> <div className='row align-items-center'> <div className='col'> - <figure> - <img src="https://static.igem.wiki/teams/5247/photos/lab/dls-methods.webp"/> - <figcaption> <b>Figure 7. </b>Dynamic Light Scattering (DLS) measurement set-up.</figcaption> - </figure> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/photos/lab/dls-methods.webp" + alt1="Dynamic Light Scattering (DLS) measurement set-up" + description="Dynamic Light Scattering (DLS) measurement set-up" + num={7} + /> </div> </div> <H4 text="SEM and Cryo-EM for Structural Analysis"></H4> @@ -119,13 +140,12 @@ export function Methods() { In addition to Cryo-EM, we employed scanning electron microscopy (SEM) to further characterize the morphology and surface structure of the LNPs. SEM provided high-resolution images that confirmed the spherical shape and uniformity of the LNPs.</p> </div> <div className='col'> - <figure> - <img src="https://static.igem.wiki/teams/5247/delivery/plasmatem.webp" alt="PC1" style={{maxHeight: "200pt"}}/> - <figcaption> - <b>Figure 8. </b> - Sample preparation for SEM: Sputtering in Argon plasma. - </figcaption> - </figure> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/delivery/plasmatem.webp" + alt1="PC1" + description="Sample preparation for SEM: Sputtering in Argon plasma" + num={8} + /> </div> </div> </Subesction> diff --git a/src/contents/parts.tsx b/src/contents/parts.tsx index 7ce5656f79295f45ee8a77a10321cfea9954dc22..9faccb04860de6da7275b38e844287a29c7b60ee 100644 --- a/src/contents/parts.tsx +++ b/src/contents/parts.tsx @@ -5,7 +5,7 @@ import { BasicParts } from "../data/parts"; import { H4 } from "../components/Headings"; import PartSources from "../sources/part-sources"; import { SupScrollLink } from "../components/ScrollLink"; -import { TwoVertical } from "../components/Figures"; +import { OneFigure, TwoVertical } from "../components/Figures"; export function Parts() { useTabNavigation(); @@ -14,14 +14,14 @@ export function Parts() { <div className="col"> <Section title="Description" id="Description"> <Subesction title="Introduction" id="Description1"> - <p>In the context of cystic fibrosis, the F508del mutation represents a significant challenge for correction. The efficacy of current gene editing technologies hinges on the availability of precise tools to ensure the success of treatment strategies. In view of the above, we have developed a novel reporter system that is specifically tailored to the F508del mutation in the CFTR gene. The objective is to provide a high degree of comparability to the genomic context of this mutation, while maintaining ease of use. This system allows researchers to test and screen Prime Editors and various pegRNAs (prime editing guideRNAs), particularly in the context of the F508del mutation. By closely mimicking the genomic environment, it is believed that this tool will offer enhanced utility in the selection of optimal Prime Editing strategies. </p> + <p>In the context of Cystic Fibrosis, the F508del mutation represents a significant challenge for correction. The efficacy of current gene editing technologies hinges on the availability of precise tools to ensure the success of treatment strategies. In view of the above, we have developed a novel reporter system that is specifically tailored to the F508del mutation in the CFTR gene. The objective is to provide a high degree of comparability to the genomic context of this mutation, while maintaining ease of use. This system allows researchers to test and screen Prime Editors and various pegRNAs (prime editing guideRNAs), particularly in the context of the F508del mutation. By closely mimicking the genomic environment, it is believed that this tool will offer enhanced utility in the selection of optimal Prime Editing strategies. </p> </Subesction> <Subesction title="Prime Editor and pegRNA Testing" id="Description2"> <p>The principal feature of the reporter system is its capacity to assess and quantify the efficacy of diverse Prime Editors, with a particular focus on pegRNAs. In its default state, the system expresses a non-functional GFP due to the disruption of the splice site. However, if a Prime Editor successfully restores the mutation to its correct form, the splice site is repaired and functional GFP is expressed, thereby allowing for fluorescent detection. This fluorescence serves as a reliable indicator of successful prime editing. </p> <p>The modified GFP sequence was cloned into the pDAS12124_PEAR-GFP-preedited plasmid, which was then transfected into HEK cells to initiate the pegRNA screening process. The capacity to observe the restoration of functional GFP provides a definitive indication of the efficacy of both the Prime Editor and the specific pegRNA variant under examination. Furthermore, the considerable degree of similarity between the reporter system and the actual genomic context of the CFTR mutation renders the screening process highly pertinent to the optimisation of specific applications. </p> </Subesction> <Subesction title="Conclusion" id="Description3"> - <p>This reporter system represents a substantial advancement in the study and correction of the CFTR F508del mutation. The design of the system allows for the straightforward screening of an array of Prime Editor and pegRNA constructs, while maintaining a high degree of comparability to the genomic context. By closely emulating the CFTR gene environment, particularly in the context of the F508del mutation, researchers are able to identify the most efficient pegRNAs and Prime Editors, offering a promising approach for developing more effective gene-editing treatments for cystic fibrosis.<SupScrollLink label="1"/> </p> + <p>This reporter system represents a substantial advancement in the study and correction of the CFTR F508del mutation. The design of the system allows for the straightforward screening of an array of Prime Editor and pegRNA constructs, while maintaining a high degree of comparability to the genomic context. By closely emulating the CFTR gene environment, particularly in the context of the F508del mutation, researchers are able to identify the most efficient pegRNAs and Prime Editors, offering a promising approach for developing more effective gene-editing treatments for Cystic Fibrosis.<SupScrollLink label="1"/> </p> </Subesction> </Section> @@ -33,7 +33,12 @@ export function Parts() { <Subesction title="Adaptions for CFTR F508del mutation comparibility" id="Characterization2"> <p>In addition to the introduction of the three-base-pair deletion, the intron sequence was further altered with the objective of enhancing the comparability of the system to the CFTR genomic context. Specifically, 27 base pairs were replaced downstream of the splice site with a sequence derived from the CFTR gene in the region of the F508del mutation. This modification guarantees that the gRNA spacer employed in our system is identical to the one found in the actual genomic context of the CFTR mutation. </p> <p>The only notable differences between the system and the genomic sequence are observed in the RTT (Reverse Transcript Template) and PBS (Primer Binding Site), which have been calibrated with silent mutations to maintain comparability in GC content with the native CFTR gene. These silent mutations do not affect the encoded protein but optimise the system's mimicry of the CFTR gene. </p> - <img src="https://static.igem.wiki/teams/5247/new-basic-part/reporter-fragment.svg"/> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/new-basic-part/reporter-fragment.svg" + alt1="" + description="Kathleeeen, Christiaaaan" + num={1} + /> </Subesction> </Section> @@ -45,21 +50,28 @@ export function Parts() { <p>Subsequently, a purification process is conducted to extract the plasmid backbone and concentrate the samples. This facilitates the integration of the amplified reporter system into the prepared pDAS12124_PEAR-GFP-preedited backbone, which is then subjected to the Gibson assembly process. This assembly process results in the creation of the novel pDAS12124_PEAR-GFP_GGTdel_edited plasmid, which incorporates the CF-specific reporter system. </p> <p>Subsequently, the pDAS12124_PEAR-GFP_GGTdel_edited plasmid is transformed into E. coli DH5α cells for propagation. To confirm the successful integration of the reporter fragment, colony PCR (cPCR) is performed on the transformed colonies. The positive colonies, identified by cPCR, are selected and grown in LBCm50 medium for further analysis. </p> <p>The final validation step involves preparing the pDAS12124_PEAR-GFP_GGTdel_edited plasmid from the positive colonies and verifying the correct insertion of the reporter fragment using Sanger sequencing. This ensures the fragment is inserted in the correct orientation and that the CF-specific reporter system has been successfully constructed without any errors. </p> - <img src="https://static.igem.wiki/teams/5247/new-basic-part/cloning-of-pdas12124-pear-gfp-ggtdel-edited.svg]"/> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/new-basic-part/cloning-of-pdas12124-pear-gfp-ggtdel-edited.svg" + alt1="" + description="Kathleeeen, Christiaaaan" + num={2} + /> </Subesction> <Subesction title="pegRNA Screening" id="Experiments2"> <p>In connection with the optimisation of prime editing with regard to the F508del mutation, it was necessary to compare different pegRNAs, as their optimal structure always depends on the application context. We therefore designed and cloned 14 variants of pegRNAs for the target of the reporter system and then tested them on the reporter system using the PE2 system. </p> <p>For pegRNA screening, we co-transfected the HEK293 cells with our modified reporter plasmid, the pegRNA expressing plasmid and pCMV-PE2. We were then able to measure the fluorescence after 72 hours using FACS and evaluate which pegRNA showed the highest efficiency. </p> - <div className="figure-wrapper"> - <figure> - <img src="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild9.png" style={{height: "10%", width: "auto"}}/> - <figcaption> <b>Figure 9.</b>Percentage of fluorescent HEK293 cells 72 h after transfection with various pegRNAs (pegRNA1-14) normalized to pDAS12124 pre-edited as internal positive control as result of flow cytometry analysis.</figcaption> - </figure> - </div> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild9.png" + alt1="" + description="Percentage of fluorescent HEK293 cells 72 h after transfection with various pegRNAs (pegRNA1-14) normalized to pDAS12124 pre-edited as internal positive control as result of flow cytometry analysis" + num={3} + /> <p>We also co-transfected the CFBE41o- with our modified reporter plasmid, the plasmid expressing pegRNA04 as well as pCMV-PE6c. As a result, we observed fluorescence, indicating successful editing of the reporter plasmid. The negative controls transfected with only one of the plasmids each showed no fluorescence, routing out other factors. This gave us validation, that our pegRNAs work not only in HEK, but also in epithelial cells that express CFTR F508del.  </p> <TwoVertical description="Microscopy results after 24h or 48h. Transfection of pDAS12124-preedited with lipofectamine 3000 was successfully done in CFBE41o- cell line and visible after 48h. CFBE41o- cell line was transfected with pDAS-IDT with Lipofectamine 3000 and afterwards with LNPs including PE6c and pegRNA4 and was after 24h fluorescence visible." - num={10} + num={4} + bg="white" + alt1="" pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild10-1.png" pic2="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild10-2.png" /> diff --git a/src/contents/results.tsx b/src/contents/results.tsx index b72bcd911bf23e8e4b394f741fbcb6b33cce7e64..796fd52aed4f99831e1ebe2de869e3255a9c280c 100644 --- a/src/contents/results.tsx +++ b/src/contents/results.tsx @@ -18,7 +18,7 @@ export function Results() { return ( <><Section title="Abstract" id="Abstract"> - <p>For the prime editing of <strong>cystic fibrosis</strong> (CF), we on the one hand optimized a prime editing complex and on the other hand developed an efficient delivery system. For testing, we set up cell culture with model cell lines as well as primary cells taken from team members and a patient.</p> + <p>For the prime editing of <strong>Cystic Fibrosis</strong> (CF), we on the one hand optimized a prime editing complex and on the other hand developed an efficient delivery system. For testing, we set up cell culture with model cell lines as well as primary cells taken from team members and a patient.</p> <p>For editing, we first compared different existing prime editors <strong>(pCMV-PE2, pLV-PE_CO-Mini, pCMV-PE6c)</strong> and constructed a reporter plasmid simulating the <strong>CFTR context</strong>. In addition and to further enhance the editing process, we designed various pegRNAs tailored to our construct incorporating features such as <strong>silent edits</strong>, for a lower mismatch repair, and a 3′ stabilizing stem loop <strong>(tevropQ1)</strong>. The aim was to identify the most effective pegRNA for our specific target, which is why pegRNA especially for CFTR F508del mutation were designed.</p> <p>As proof of concept, we transfected these constructs in <strong>HEK293 and CFB41o- cells</strong> and observed significant prime editing of our reporter via fluorescence microscopy. We identified the PE6c editor and our pegRNA variant 4 as optimal. This resulted in our <strong>Best New Basic Part</strong>, <strong>PEAR_CFTR</strong>. Furthermore, we extended our approach to primary human nasal epithelial cells generated from our own nasal epithelial cells through nasal swabs. By cultivating them in Air Liquid Culture (ALI) and Apical-Our Organoids, we successfully tested our technologies <i>in vitro</i>, mimicking the <i>in vivo</i> situation.</p> @@ -29,11 +29,10 @@ export function Results() { <p>We began by testing three different LNP formulations, starting with the <strong>Cayman LipidLaunc LNP-102 Exploration Kit</strong>. We confirmed by fluorescence microscopy, where Minicircle DNA effectively transfected HEK293 cells. Further experiments with the <strong>Corden LNP Stater Kit #2</strong> failed to achieve successful transfection, likely due to increased cytotoxicity from a more cytotoxic PEG component. Our successful formulation was a <strong>lung-specific SORT LNP</strong>, which demonstrated excellent stability, as confirmed by Zeta potential measurements. Dynamic light scattering (DLS) analysis revealed an optimal particle size of closely smaller than 200 nm, aligning with literature and supporting the ability of the LNPs to penetrate deep lung regions via inhalation. Flow cytometry analysis showed that the SORT LNP had 14 times higher transfection efficiency compared to traditional transfection methods. Moreover, a MTT assay revealed that the SORT LNP, along with Cayman LNPs, exhibited the lowest cytotoxicity, thanks to the use of low-molecular-weight PEG components. </p> -<p>To further enhance the stability of the LNPs for inhalation, we incorporated <strong>chitosan-RNA complexes</strong>, which provide thermal stability and protect RNA from degradation by RNases. Integration of these complexes into the SORT LNP resulted in a lung-specific delivery platform with superior stability. Using this system, we achieved highly efficient transfection of a bronchial cell line from a cystic fibrosis patient (CFBE41o- with F508del mutation), demonstrating the potential of this approach for targeted gene delivery to lung epithelial cells. These results highlight the remarkable efficiency, stability and specificity of our optimized SORT LNP formulation, positioning it as a promising platform for lung-specific genetic therapies. </p> +<p>To further enhance the stability of the LNPs for inhalation, we incorporated <strong>chitosan-RNA complexes</strong>, which provide thermal stability and protect RNA from degradation by RNases. Integration of these complexes into the SORT LNP resulted in a lung-specific delivery platform with superior stability. Using this system, we achieved highly efficient transfection of a bronchial cell line from a Cystic Fibrosis patient (CFBE41o- with F508del mutation), demonstrating the potential of this approach for targeted gene delivery to lung epithelial cells. These results highlight the remarkable efficiency, stability and specificity of our optimized SORT LNP formulation, positioning it as a promising platform for lung-specific genetic therapies. </p> </Section> - <Section title="Experimental Design" id="ExpDes"> - <Subesction title="Proof of Concept" id="Results1"> - <H4 text="Proof-of-concept"/> + <Section title="Experimental Design" id="Experimental Design"> + <Subesction title="Proof of Concept" id="Experimental Design1"> <H5 text="Workflow"/> <p>The prepared pDAS12124-preedited plasmid serves as a positive control to validate the success of the experiment. A technical control with the pZMB938 plasmid confirms successful transfection of the cells. In the main part of the experiment, pDAS12489-2in1 and pCMV-PE2 are co-transfected. Successful transfection is visualised by GFP signals.</p> <H5 text="Conclusion"/> @@ -43,6 +42,7 @@ export function Results() { num={1} pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild1-1.png" alt1="pZMB" + bg="white" pic2="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild1-2.png" pic3="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild1-3.png" /> @@ -54,6 +54,7 @@ export function Results() { <TwoVertical description="Microscopy of HEK293 72h post transfection with lipofectamin 2000. Transfection with 1:10 or 1:25 diluted lipofectamine and 800 ng or 1000 ng of out technical positive control pZMB938." num={2} + bg="white" alt1="1000ng DNA with 1:10 and 1:25 Lipofectamine 2000" pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild2-1.png" pic2="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild2-2.png" @@ -65,6 +66,7 @@ export function Results() { <ThreeVertical description="Microscopy of HEK293 72h post transfection with lipofectamine 2000. Transfection with technical positive control pZMB938, internal positive control pDAS12124-preedited, co-transfection of pDAS12489 with pCMV-PE2, NTC, PE2 as control and pDAS12489 as control. All controls are negative and both positve controls as well as pDAS12489+pCMV-PE2 show fluorescence signals." num={3} + bg="white" alt1="pZMB and pDAS12124" pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild3-1.png" pic2="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild3-2.png" @@ -77,6 +79,7 @@ export function Results() { <TwoVertical description="Microscopy of HEK293 72h post transfection with lipofectaine 3000. Transfection of 500 ng or 1000 ng of our technical positive control pZMB938 with 1 µl or 1.5 µl of lipofectamine 3000." num={4} + bg="white" alt1="500ng DNA 1 µl or 1.5 µl of lipofectamine 3000" pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild4-1.png" pic2="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild4-2.png" @@ -88,6 +91,7 @@ export function Results() { <OneFigure pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild5.png" num={5} + bg="white" alt1="Microscopy of HEK293 72h post transfection with lipofectamine 3000 with 1000 ng or 1500 ng technical positive control pZMB938. Both transfections show fluorescence signals" description="Microscopy of HEK293 72h post transfection with lipofectamine 3000 with 1000 ng or 1500 ng technical positive control pZMB938. Both transfections show fluorescence signals" /> @@ -95,6 +99,7 @@ export function Results() { <TwoVertical description="Microscopy of HEK293 72h post transfection with CaCl2 with 500 ng, 1000 ng or 1500 ng pZMB938. All transfections show fluorescence signals." num={6} + bg="white" alt1="" pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild6-1.png" pic2="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild6-2.png" @@ -107,11 +112,12 @@ export function Results() { alt1="" description="Microscopy of HEK293 72h post transfection with lipofectamine 2000. Transfection with technical positive control pZMB938, internal positive control pDAS12124-preedited, co-transfection of pDAS12489 with pCMV-PE2, NTC, PE2 as control and pDAS12489 as control. All controls are negative and both positve controls as well as pDAS12489+pCMV-PE2 show fluorescence signals." num={7} + bg="white" pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild7-1.png" pic2="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild7-2.png" /> </Subesction> - <Subesction title="Mechanism" id="Results2"> + <Subesction title="Prime Guide" id="Experimental Design2"> <H4 text="Initial testing of pegRNAs and Evaluation of silent edits"/> <H5 text="Workflow"/> <p>With this experiment we wanted to compare the efficiency of pegRNAs with and without silent edits.</p> @@ -120,6 +126,7 @@ export function Results() { <TwoHorizontal description="Flow Cytometry analysis of pegRNAs with and without silent edits." num={8} + bg="white" pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/se-nose.png" pic2="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild8.png" alt1={""} /> <H4 text="Screening of pegRNA variances"/> @@ -149,6 +156,7 @@ export function Results() { alt1="" description="Microscopy results after 24h or 48h. Transfection of pDAS12124-preedited with lipofectamine 3000 was successfully done in CFBE41o- cell line and visible after 48h. CFBE41o- cell line was transfected with pDAS-IDT with Lipofectamine 3000 and afterwards with LNPs including PE6c and pegRNA4 and was after 24h fluorescence visible." num={10} + bg="white" pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild10-1.png" pic2="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild10-2.png" /> @@ -157,6 +165,7 @@ export function Results() { alt1="" description="Microscopy of HEK 72h post transfection with lipofectamine 3000. Co-transfection of pPEAR_CFTR with PE6c and pegRNA4. Both show no fluorescence signals." num={11} + bg="white" pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/ali-tr.png" pic2="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/aoao-tr.png" /> @@ -170,7 +179,8 @@ export function Results() { <TwoVertical alt1="" description="Microscopy of HEK 72h post transfection with lipofectamine 3000. Co-transfection of pDAS12489 with pCMV-PE2 or pDAS12489 with LV-PE_CO-Mini. Both show fluorescence signals." - num={11} + num={12} + bg="white" pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild11-1.png" pic2="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild11-2.png" @@ -180,7 +190,8 @@ export function Results() { <OneFigure alt1="" pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/pe2-pe-co.png" - num={12} + num={13} + bg="white" description="Flow Cytometry analysis to compare prime editing complexes PE2 and PE_CO-Mini" /> </div> @@ -193,7 +204,8 @@ export function Results() { <p>The Flow Cytometry measurement shows the fluorescence rate cells co-transfected with pDAS12489 and pCMV-PE6c as a prime editing complex. The editing efficiency off PE6c was by far the highest (81.88%) (see Figure 13, 14). The efficiency was 1.55 higher than the efficiency when pCMV-PE2 was used as prime editing complex (see Figure 13).</p> <OneFigure pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild13.png" - num={13} + num={14} + bg="white" description="Microscopy of HEK293 72h post transfection with lipofectamine 3000 and co transfection with pCMV-PE6c and pDAS12489." alt1="Microscopy of HEK293 72h post transfection with lipofectamine 3000 and co transfection with pCMV-PE6c and pDAS12489." /> @@ -201,12 +213,13 @@ export function Results() { <TwoHorizontal alt1="" description="Flow Cytometry results for evaluation of PE6c performance." - num={14} + num={15} + bg="white" pic1="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/pe2-pe-co-pe6c.png" pic2="https://static.igem.wiki/teams/5247/photos/facs-results-mechanism/bild12.png" /> </Subesction > - <Subesction title="Delivery" id="Results3"> + <Subesction title="LNP Synthesis" id="Experimental Design3"> <H4 text="RNA Synthesis"/> <div className="row align-items-center"> <div className="col"> @@ -243,6 +256,7 @@ export function Results() { <OneFigure pic1="https://static.igem.wiki/teams/5247/delivery/results/precyse/cayman.png" num={18} + bg="white" description="Overlay of phase contrast and fluorescence microscopic images of transfected HEK293 cells at 20x magnification 72h post-transfection with different Cayman LNP formulations recorded with Leica DMI6000 B. Lipo= lipofectamine, Mini DNA = Minicircle DNA" alt1="Overlay of phase contrast and fluorescence microscopic images of transfected HEK293 cells at 20x magnification 72h post-transfection with different Cayman LNP formulations recorded with Leica DMI6000 B. Lipo= lipofectamine, Mini DNA = Minicircle DNA" /> @@ -281,6 +295,7 @@ export function Results() { <OneFigure pic1="https://static.igem.wiki/teams/5247/delivery/results/precyse/corden.png" num={21} + bg="white" description="Overlay of phase contrast and fluorescence microscopic images of transfected HEK293 cells at 20x magnification 72h post-transfection with different Corden LNP formulations recorded with Leica DMI6000 B. For lipofectamine (lipo) + Minicircle DNA (Mini DNA) only the fluorescence image is shown." alt1="Overlay of phase contrast and fluorescence microscopic images of transfected HEK293 cells" /> @@ -306,6 +321,7 @@ export function Results() { <OneFigure pic1="https://static.igem.wiki/teams/5247/delivery/results/precyse/sort.png" num={23} + bg="white" description="Overlay of phase contrast and fluorescence microscopic images of transfected HEK293 cells at 20x magnification 48h post-transfection with different SORT LNP formulations recorded with Leica DMI6000 B. Lipo = lipofectamine, Mini DNA = Minicircle DNA." alt1="Overlay of phase contrast and fluorescence microscopic images of transfected HEK293 cells" /> @@ -317,6 +333,7 @@ export function Results() { <OneFigure pic1="https://static.igem.wiki/teams/5247/delivery/results/sortlnp-facs.png" num={24} + bg="white" description="Percentage of fluorescent cells (FITC-A+) performed 72h post-transfection of SORT LNP in HEK293. Mean +/- SEM for n=3. For statistics one-way ANOVA was performed." alt1="Percentage of fluorescent cells post-transfection of SORT LNP in HEK293" /> @@ -334,6 +351,7 @@ export function Results() { <OneFigure pic1="https://static.igem.wiki/teams/5247/delivery/results/sort-zeta.webp" num={25} + bg="white" description="Zeta potential of SORT LNP with different cargos measured with Nanotrack Wave II indicating varying degrees of stability but most important good stability for the SORT LNP loaded with pcDNA 3.1 eYFP (LNP DNA). Mean +/- SEM for n=5. For statistics one-way ANOVA was performed." alt1="Zeta potential of SORT LNP with different cargos" /> @@ -344,6 +362,7 @@ export function Results() { <OneFigure pic1="https://static.igem.wiki/teams/5247/delivery/results/screenshot-2024-10-01-204938.png" num={26} + bg="white" description="Size distribution for the SORT LNP with different cargos weighted by scattering intensity measured with Nanotrack Wave II." alt1="Size distribution for the SORT LNP with different cargos" /> @@ -375,6 +394,7 @@ export function Results() { <OneFigure pic1="https://static.igem.wiki/teams/5247/delivery/results/sort-dls.webp" num={28} + bg="white" description="Results for hydrodynamic radius determination by DLS Measurements for our SORT LNP, indicating a radius of approximately 100 nm." alt1="Hydrodynamic radius of SORT LNP measured by DLS" /> @@ -390,6 +410,7 @@ export function Results() { <OneFigure pic1="https://static.igem.wiki/teams/5247/fanzor/sort-mtt.webp" num={29} + bg="white" description="MTT Assay of LNPs from all iterations performed on HEK293 including Triton as negative control and untreated cells as positive control. Mean +/- SEM for n=6. For statistics one-way ANOVA was performed." alt1="MTT Assay results of LNPs on HEK293 cells" /> @@ -468,7 +489,7 @@ export function Results() { <p>The results demonstrate that chitosan-RNA complexes, when packaged with SORT LNPs, can efficiently deliver mRNA into CFBE41o- cells and facilitate the expression of a YFP reporter gene. Furthermore, the absence of fluorescence in the control samples validates the specificity of the system, ensuring that the fluorescence signal is solely due to the delivered mRNA and not from other components of the system. Additional testing, such as flow cytometry analysis, is planned to provide a more quantitative assessment of transfection efficiency. This would allow us to accurately determine whether there are subtle differences between the two concentrations that were not detectable by microscopy alone.</p> <p>Overall, this experiment highlights the potential of chitosan-RNA complexes in combination with SORT LNPs as a promising platform for mRNA delivery and gene expression in airway epithelial cells. Further investigation could focus on optimizing the mRNA dose to maximize expression levels and transfection efficiency.</p> </Subesction > - <Subesction title="PreCyse" id="Results4"> + <Subesction title="Cell Culture" id="Experimental Design4"> <H4 text="Goals"/> <p>text</p> <H4 text="Workflow"/> @@ -477,7 +498,7 @@ export function Results() { <p>text</p> </Subesction > - <Subesction title="Patch Clamp" id="Results5"> + <Subesction title="Downstream Application" id="Experimental Design5"> <p>To validate our gene editing approach by prime editing of CFTR F508del delivered to lung cells via SORT LNPs, we planned to use <a onClick={() => goToPageAndScroll ('Patch Clamp', '/materials-methods')}>Patch Clamp</a> as a downstream method. Our goal was to detect the restored conductance of the repaired CFTR by this electrophysiological method. This was made possible through the assistance of the <a onClick={() => goToPagesAndOpenTab('patchclamp', '/human-practices')}>Cellular Neurophysiology research group</a> at our university.</p> <H4 text="Initial Measurements"/> <div className='row align-items-center'> @@ -485,6 +506,7 @@ export function Results() { <OneFigure pic1="https://static.igem.wiki/teams/5247/photos/results/patchclamp/pc.webp" num={35} + bg="white" description="Current density of HEK293, HEK293T CFTR WT and HEK293T CFTR F508del showing significant differences of both HEK293T cell lines compared to HEK293 but no significant differences between them. For statistics one-way ANOVA was performed." alt1="Current density differences between HEK293 and HEK293T CFTR cell lines" /> @@ -503,6 +525,7 @@ export function Results() { alt1="" pic1="https://static.igem.wiki/teams/5247/photos/results/patchclamp/pc2.webp" num={36} + bg="white" description=" Repeated validation of current density measurements in HEK293T CFTR WT and HEK293T CFTR-F508del, showing consistent results with the initial experiment. Mean +/- SEM for n=5. For statistics one-way ANOYA was performed" /> diff --git a/src/contents/safety.tsx b/src/contents/safety.tsx index 5967ada888dd147c8053b0ada7a3d13d6d07aeb7..e76e33b70cf0693ebf529d65076274804a809651 100644 --- a/src/contents/safety.tsx +++ b/src/contents/safety.tsx @@ -7,6 +7,7 @@ import Collapsible from "../components/Collapsible"; import { useNavigation } from "../utils"; import { TwoLinePDF } from "../components/Pdfs"; import { useTabNavigation } from "../utils/TabNavigation"; +import { OneFigure } from "../components/Figures"; // message for test commit. @@ -19,7 +20,7 @@ export const Safety: React.FC = () =>{ <> <Section title="Role in iGEM" id="Role"> <p> - As part of our project <PreCyse/> to develop a prime-editing complex to correct the F508del mutation in cystic fibrosis, we place great emphasis on safety at all stages of research. Our final construct will be tested in <a onClick={() => goToPageAndScroll ('Cell Culture3H', '/materials-methods')}> primary cultures of nasal epithelial cells </a> obtained from nasal swabs, isolated from both patients and healthy individuals. To guarantee safety and ensure the highest level of precision and reliability of our results, we have introduced a series of carefully planned checkpoints during the experiments. These milestones allow for continuous monitoring, timely adjustments and validation at each critical stage. This ensures that potential issues are identified and addressed immediately, minimizing risk and improving the overall quality of the experimental results. + As part of our project <PreCyse/> to develop a prime-editing complex to correct the F508del mutation in Cystic Fibrosis, we place great emphasis on safety at all stages of research. Our final construct will be tested in <a onClick={() => goToPageAndScroll ('Cell Culture3H', '/materials-methods')}> primary cultures of nasal epithelial cells </a> obtained from nasal swabs, isolated from both patients and healthy individuals. To guarantee safety and ensure the highest level of precision and reliability of our results, we have introduced a series of carefully planned checkpoints during the experiments. These milestones allow for continuous monitoring, timely adjustments and validation at each critical stage. This ensures that potential issues are identified and addressed immediately, minimizing risk and improving the overall quality of the experimental results. </p> </Section> @@ -36,24 +37,24 @@ export const Safety: React.FC = () =>{ <p> Biosafety is also guaranteed by the careful selection of the spacer, which plays a critical role in guiding the complex to its intended target site <SupScrollLink label="2"/>. To ensure both precision and safety, we meticulously chose and rigorously checked the spacer using the <a href="https://www.synthego.com/products/bioinformatics/crispr-design-tool">CRISPick software</a><SupScrollLink label="3"/>. This allowed us to evaluate whether our Spacer would be likely to target other regions than our target site and therefore allowing us to analyse and predict potential off-target effects, ensuring that erroneous edits are minimised. By optimising the spacer selection, we have not only significantly enhanced the overall editing efficiency, striking a balance between precision and performance, but especially ensured the utmost accuracy in directing the Prime Editor, further contributing to the safety of the editing process. </p> - <div className="figure-wrapper"> - <figure> - <img src="https://static.igem.wiki/teams/5247/photos/biosafety/wiki/bild.png" style={{height: "10%", width:"auto"}}/> - <figcaption> <b>Figure 5</b>Illustration of the introduction of silent mutations leading to the PAM disrupt. </figcaption> - </figure> - </div> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/photos/biosafety/wiki/bild.png" + num={1} + description="Illustration of the introduction of silent mutations leading to the PAM disrupt" + alt1="Illustration of the introduction of silent mutations leading to the PAM disrupt" + /> <H4 text="Riboswitch"></H4> <p> Riboswitches are segments of an RNA strand that bind to small molecules, causing them to change their secondary structure by forming hairpin structures. This process regulates gene expression at the translation level by preventing ribosomes from binding at the RBS and translating the coding region on the RNA strand. 0For our project we also considered an ion-sensitive riboswitch, specifically dependent on sodium ions (Naâº), as a regulatory mechanism. The secondary structure of this riboswitch prevents the binding of ribosomes to the ribosome binding site (RBS) under normal conditions, thus inhibiting the translation of the subsequent mRNA. When sodium ions bind to the riboswitch, a structural change occurs, exposing the RBS, which allows for the translation of the mRNA and the production of our fusion protein which is the main component of our prime editing system and therefore of enormous importance for it to work <SupScrollLink label="4"/>. In the context of the CFTR mutation and its effects on the cell, the elevated Na⺠levels play a crucial role. Due to the dysfunctional CFTR channel, which fails to properly function as a chloride channel, the ENaC channel (epithelial sodium channel) becomes upregulated. This upregulation results in an increased transport of sodium ions into the cell, leading to a higher intracellular sodium concentration. This elevated Na⺠concentration creates a specific ionic environment that could potentially be utilized to regulate our Prime-Editing complex in a targeted manner. Given these specific ionic changes in the cell, we could have a disease-specific regulation of our Prime-Editing system based on the ionic situation typical of this condition. However, despite the initial promise of this approach, after further research, we concluded that the riboswitch, even considering the ion levels within epithelial cells, is overall too nonspecific and therefore too unreliable as a regulatory mechanism. Although the ion levels in CFTR cells are much lower, there are still low concentrations of sodium ions, which can lead to the riboswitch not being completely switched off. </p> - <div className="figure-wrapper"> - <figure> - <img src="https://static.igem.wiki/teams/5247/photos/biosafety/wiki/bild-2.png" style={{height: "10%", width: "auto"}}/> - <figcaption> <b>Figure 6</b>Illustration of the mechanism of action of the riboswitch. </figcaption> - </figure> - </div> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/photos/biosafety/wiki/bild-2.png" + num={2} + description="Illustration of the mechanism of action of the riboswitch" + alt1="Illustration of the mechanism of action of the riboswitch" + /> <p> - As a further approach to developing alternative riboswitch variants, we considered the possibility of an RNA-regulated riboswitch targeting the defective mRNA sequence of the genetically defective CFTR gene. The basic idea behind this concept was that the riboswitch specifically binds to a region on the CFTR mRNA containing the F508Δ mutation. This binding should induce a structural change in the riboswitch on our prime editing complex’s mRNA that ultimately leads to exposure of the RBS to allow translation of the downstream sequence. This mechanism would be designed to react specifically to the defective CFTR mRNA and only cause a change in the secondary structure in the presence of the specific mutation. The riboswitch could thus ensure selective and disease-specific activation of our prime editing complex, which would be of particular interest in the context of genetic diseases such as cystic fibrosis. However, we did not pursue this approach any further. A major reason for this was the lack of sufficient literature providing a sound scientific basis for this specific application of a riboswitch. In + As a further approach to developing alternative riboswitch variants, we considered the possibility of an RNA-regulated riboswitch targeting the defective mRNA sequence of the genetically defective CFTR gene. The basic idea behind this concept was that the riboswitch specifically binds to a region on the CFTR mRNA containing the F508Δ mutation. This binding should induce a structural change in the riboswitch on our prime editing complex’s mRNA that ultimately leads to exposure of the RBS to allow translation of the downstream sequence. This mechanism would be designed to react specifically to the defective CFTR mRNA and only cause a change in the secondary structure in the presence of the specific mutation. The riboswitch could thus ensure selective and disease-specific activation of our prime editing complex, which would be of particular interest in the context of genetic diseases such as Cystic Fibrosis. However, we did not pursue this approach any further. A major reason for this was the lack of sufficient literature providing a sound scientific basis for this specific application of a riboswitch. In addition, our research steered us in a different direction, particularly with regard to the alternative mechanism involving the XBP1 intron to regulate the prime editing system. This alternative seemed more promising and was based on an established regulatory mechanism that is triggered by cellular stress and specifically responds to misfolding processes. </p> <H4 text="XBP1 Intron"></H4> @@ -78,7 +79,7 @@ export const Safety: React.FC = () =>{ <Section title="Biosecurity" id="Biosecurity"> <Subesction title="About Our Project" id="Biosecurity1"> <p> - Our project focuses on the genetic disease cystic fibrosis, specifically targeting the Delta-508 mutation. The aim is to correct this mutation using Prime Editing, a precise genome-editing technique. We have explored different strategies to optimize the Prime Editing complex for this specific application. + Our project focuses on the genetic disease Cystic Fibrosis, specifically targeting the Delta-508 mutation. The aim is to correct this mutation using Prime Editing, a precise genome-editing technique. We have explored different strategies to optimize the Prime Editing complex for this specific application. </p> <p> The Prime Editing complex consists of a nickase, a reverse transcriptase, a pegRNA. The pegRNA guides the editing process by directing the complex to the target DNA sequence, allowing for precise genetic modifications. For targeted delivery, we selected LNPs to introduce the mRNA encoding the Prime Editing components specifically into lung epithelial cells, where the CFTR protein is highly expressed. Additionally, we investigated alternatives to the conventional Cas9 nickase, such as the smaller CasX and Fanzor, aiming to reduce the overall size of the Prime Editing complex. In our optimization efforts, we also explored smaller reverse transcriptases to enhance the efficiency of the system in human cells. @@ -87,7 +88,7 @@ export const Safety: React.FC = () =>{ Furthermore, we have developed a modular plasmid that contains the backbone of our Prime Editing complex. The individual components can be cloned individually into the backbone. This plasmid allows us to either deliver the construct directly into target cells or transcribe the plasmid into RNA, enabling the delivery of the Prime Editing complex in the form of mRNA. The modularity of the plasmid is a key feature; specific restriction sites are included to facilitate the easy exchange of the complex's components. This design makes it straightforward to adapt the Prime Editing complex for various use cases and therapeutic requirements. </p> <p> - We have investigated safety mechanisms to control the prime-editing complex, including a riboswitch that responds to sodium ion concentrations, but have discarded it due to suspected insufficient sensitivity. We are currently investigating the use of the ER stress response to activate the prime editing complex only in cells with high ER stress, as is typical for cystic fibrosis. Further details can be found in the Biosafety section. + We have investigated safety mechanisms to control the prime-editing complex, including a riboswitch that responds to sodium ion concentrations, but have discarded it due to suspected insufficient sensitivity. We are currently investigating the use of the ER stress response to activate the prime editing complex only in cells with high ER stress, as is typical for Cystic Fibrosis. Further details can be found in the Biosafety section. </p> </Subesction> <Subesction title="Assessing Project Risks" id="Biosecurity2"> @@ -119,7 +120,7 @@ export const Safety: React.FC = () =>{ Firstly, we strictly control access to all our project data, including genetic sequences, plasmid designs, and protocols. Access is limited to authorized team members and collaborators who follow strict biosecurity guidelines. Further elaboration on these access controls will be provided in the "Unauthorized Access" section. </p> <p> - Secondly, we intend to incorporate a safety mechanism into our Prime Editing complex that significantly limits its potential misuse. By utilizing the ER stress response pathway, we would design our therapeutic mRNA to undergo unconventional splicing only in cells experiencing high levels of protein stress. Only this unconventional splicing would convert the mRNA into a form that can be translated into the final PE complex. This mechanism ensures that the Prime Editing complex becomes active primarily in cells under such stress conditions. While this does not exclusively limit the complex to cystic fibrosis-affected cells, it considerably narrows the range of cells where activation can occur, thus preventing arbitrary application of the editing system and reducing the risk of targeting unintended cells. + Secondly, we intend to incorporate a safety mechanism into our Prime Editing complex that significantly limits its potential misuse. By utilizing the ER stress response pathway, we would design our therapeutic mRNA to undergo unconventional splicing only in cells experiencing high levels of protein stress. Only this unconventional splicing would convert the mRNA into a form that can be translated into the final PE complex. This mechanism ensures that the Prime Editing complex becomes active primarily in cells under such stress conditions. While this does not exclusively limit the complex to Cystic Fibrosis-affected cells, it considerably narrows the range of cells where activation can occur, thus preventing arbitrary application of the editing system and reducing the risk of targeting unintended cells. </p> <p> Together, these measures provide a layer of protection against dual-use risks, making it more difficult for the technology to be employed outside of its intended therapeutic context. @@ -256,7 +257,7 @@ export const Safety: React.FC = () =>{ </p> <H4 text="Laboratory and safety practices"></H4> <p> - As part of our project to develop a prime-editing complex to correct the F508del mutation in cystic fibrosis, we place great emphasis on safety at all stages of research. Our final construct will be tested in <a onClick={() => goToPageAndScroll ('Cell Culture3H', '/materials-methods')}> primary cultures of epithelial cells </a> obtained from nasal swabs, isolated from both patients and healthy individuals. To guarantee safety and ensure the highest level of precision and reliability of our results, we have introduced a series of carefully planned checkpoints during the experiments. These milestones allow for continuous monitoring, timely adjustments and validation at each critical stage. This ensures that potential issues are identified and addressed immediately, minimizing risk and improving the overall quality of the experimental results{/* . [link zu den Experimenten] */}. iGEM places great emphasis on biosafety, ensuring that all projects adhere to strict safety standards. One of these measures is the iGEM White List, which includes organisms and parts that are pre-approved for use based on their safety profile. Any components or organisms not covered by this White List must be submitted as 'Check-Ins' to the iGEM Safety Committee for approval. Check-Ins are formal safety evaluations that allow the committee to assess the potential risks and ensure proper containment and handling procedures are in place. Although we used some parts and organisms that were not included on the White List, these were assessed as critical for our project and submitted as Check-Ins to the iGEM Safety Committee. Furthermore, we were in active exchange with the committee throughout the process. The Check-ins provide a clear picture of the biosafety aspects of our project, reflecting our commitment to safety and compliance with iGEM standards. + As part of our project to develop a prime-editing complex to correct the F508del mutation in Cystic Fibrosis, we place great emphasis on safety at all stages of research. Our final construct will be tested in <a onClick={() => goToPageAndScroll ('Cell Culture3H', '/materials-methods')}> primary cultures of epithelial cells </a> obtained from nasal swabs, isolated from both patients and healthy individuals. To guarantee safety and ensure the highest level of precision and reliability of our results, we have introduced a series of carefully planned checkpoints during the experiments. These milestones allow for continuous monitoring, timely adjustments and validation at each critical stage. This ensures that potential issues are identified and addressed immediately, minimizing risk and improving the overall quality of the experimental results{/* . [link zu den Experimenten] */}. iGEM places great emphasis on biosafety, ensuring that all projects adhere to strict safety standards. One of these measures is the iGEM White List, which includes organisms and parts that are pre-approved for use based on their safety profile. Any components or organisms not covered by this White List must be submitted as 'Check-Ins' to the iGEM Safety Committee for approval. Check-Ins are formal safety evaluations that allow the committee to assess the potential risks and ensure proper containment and handling procedures are in place. Although we used some parts and organisms that were not included on the White List, these were assessed as critical for our project and submitted as Check-Ins to the iGEM Safety Committee. Furthermore, we were in active exchange with the committee throughout the process. The Check-ins provide a clear picture of the biosafety aspects of our project, reflecting our commitment to safety and compliance with iGEM standards. The main safety measures we have implemented include: </p> <p> @@ -315,16 +316,16 @@ export const Safety: React.FC = () =>{ <strong>HEK293T-3HA-CFTR cell line: </strong>The HEK293T-3HA-CFTR cell line is based on HEK293T cells expressing an additional tsA1609 allele of the SV40 large T antigen. This allele enables the replication of vectors containing the SV40 origin of replication. In addition to the native CFTR gene, which is not expressed in HEK cells, the HEK293T-3HA-CFTR cell line carries another copy of the CFTR gene embedded in an expression cassette. This cassette contains a CMV promoter, which is derived from the human cytomegalovirus and is frequently used for the overexpression of genes in human cells. In addition, the cassette contains a puromycin resistance gene that is co-expressed with CFTR, allowing continuous selection of CFTR-expressing cells. </p> <p> - <strong>HEK293T-3HA-F508del-CFTR cell line:</strong> The HEK293T-3HA-F508del-CFTR cell line is a modified HEK293T cell line that carries the F508del mutation in the CFTR gene, which is responsible for the most common mutation in cystic fibrosis. This mutation leads to a defective CFTR protein that impairs the normal function of the chloride channel. The cell line is therefore ideal for studying the effects of this mutation and for evaluating potential therapies for cystic fibrosis. + <strong>HEK293T-3HA-F508del-CFTR cell line:</strong> The HEK293T-3HA-F508del-CFTR cell line is a modified HEK293T cell line that carries the F508del mutation in the CFTR gene, which is responsible for the most common mutation in Cystic Fibrosis. This mutation leads to a defective CFTR protein that impairs the normal function of the chloride channel. The cell line is therefore ideal for studying the effects of this mutation and for evaluating potential therapies for Cystic Fibrosis. </p> <p> - <strong>CFBE41o- cell line:</strong> The CFBE41o- cell line, derived from the bronchial epithelial cells of a cystic fibrosis patient, is homozygous for the F508del-CFTR mutation and was essential for our cystic fibrosis research. A reduced CFTR expression level is present. The cell line carries the CFTR defect and can therefore represent a patient with CF. The cell line is used to test our mechanism. These cells were immortalized with a replication-defective plasmid that retains their physiological properties. + <strong>CFBE41o- cell line:</strong> The CFBE41o- cell line, derived from the bronchial epithelial cells of a Cystic Fibrosis patient, is homozygous for the F508del-CFTR mutation and was essential for our Cystic Fibrosis research. A reduced CFTR expression level is present. The cell line carries the CFTR defect and can therefore represent a patient with CF. The cell line is used to test our mechanism. These cells were immortalized with a replication-defective plasmid that retains their physiological properties. </p> <p> When working with the HEK293T and CFBE41o- cell lines, it’s important to consider the minimal risks associated with their use. While not harmful on their own, the genetic modifications in HEK293T cells require careful handling to prevent accidental release or exposure. These cells, engineered to overexpress CFTR, including the F508del mutation, necessitate strict safety measures like regular monitoring and proper waste disposal to comply with S1 laboratory standards. Similarly, CFBE41o- cells, due to their genetic modifications and disease relevance, require careful handling to avoid cross-contamination and ensure biosafety. </p> <p> - <strong>Human nasal epithelial cells (hNECs):</strong> Human nasal epithelial cells (hNECs) were harvested using a nasal brush, a minimally invasive procedure, and cultured in air-liquid interface (ALI) cultures to model the airway epithelium. Human nasal epithelial cells (hNECs) were obtained using a nasal brush, a minimally invasive technique, and then cultured in air-liquid interface (ALI) cultures to model the airway epithelium. Using these primary cultures, derived from donors with airway diseases such as cystic fibrosis, we were able to simulate the in vivo conditions of such diseases. + <strong>Human nasal epithelial cells (hNECs):</strong> Human nasal epithelial cells (hNECs) were harvested using a nasal brush, a minimally invasive procedure, and cultured in air-liquid interface (ALI) cultures to model the airway epithelium. Human nasal epithelial cells (hNECs) were obtained using a nasal brush, a minimally invasive technique, and then cultured in air-liquid interface (ALI) cultures to model the airway epithelium. Using these primary cultures, derived from donors with airway diseases such as Cystic Fibrosis, we were able to simulate the in vivo conditions of such diseases. Due to the sensitive nature of these primary human cells, we performed all experiments with hNECs in our S2 laboratory, where increased safety precautions were taken. This included strict safety controls, safe handling of samples and proper disposal of materials after testing. In particular, the hNECs underwent HHH (Triple H: HIV, HCV and HBV) testing to ensure that no contamination occurred during sample collection or experimentation. These tests included sterility testing, viability assessments and contamination testing to ensure the safety and integrity of both the samples and the laboratory environment. After a negative HHH test, the primary cultures can be treated as S1. In addition, the nasal epithelial cells were handled with the utmost care during collection, ensuring that all procedures were performed under sterile conditions to avoid any risk of contaminationFor this purpose, the intensive examination of ethical questions was fundamental and a constant companion of our project. The numerous results from the interviews in the areas of: Ethics, storage and training in the handling of samples have been summarized in a guideline for patient consent for Germany and are intended to provide iGEM teams with the scope, critical examination and observance of iGEM rules, international and national guidelines.  </p> </Collapsible> @@ -346,38 +347,40 @@ export const Safety: React.FC = () =>{ <H4 text="Our Cloning Lab"></H4> <p> Our Cloning-laboratory is divided into different work areas to ensure that the experiments run smoothly and efficiently. These include the gel station, the PCR station, the transformation section and the measurement area. Each area is specially equipped for the respective method, and the corresponding experiments were carried out exclusively in the designated stations. In this way, we ensure that our work is carried out under optimal conditions and with the greatest possible precision. - <div className="figure-wrapper"> - <figure> - <img src="https://static.igem.wiki/teams/5247/photos/biosafety/kollage/new/img-2041.jpeg" style={{height: "10%", width:"auto"}}/> - <figcaption> <b>Figure 1</b> Photo-gallery of laboratory. A: Key lock. B: Key-locked door. C: Alarm plan. D: Emergeny button for electriotion stop. E: Emergency telephone. F: First aid kit, cardiac defibrillaton and emergency exit and fire alarm plan. G: Wash bin with emergency eye wash. H: Emergency shower. I: Lockable cabinets for chemical storage. </figcaption> - </figure> - </div> - <div className="figure-wrapper"> - <figure> - <img src="https://static.igem.wiki/teams/5247/photos/biosafety/kollage/new/img-2037.jpeg" style={{height: "10%", width: "auto"}}/> - <figcaption> <b>Figure 2</b> Photo-gallery of S1 laboratory. A: Autoclave. B: Refrigerator with chemicals. C: Weighing room with chemical storage. D: Clean bench work space with vortex, pipettes, heat block and bench top centrifuge. E: pH electrode in fume hood. F: Ice machine. G: Fire distinguisher and S1 waste. H: Fume hood with liquid waste.</figcaption> - </figure> - </div> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/photos/biosafety/kollage/new/img-2041.jpeg" + num={3} + description="Photo-gallery of laboratory. A: Key lock. B: Key-locked door. C: Alarm plan. D: Emergeny button for electriotion stop. E: Emergency telephone. F: First aid kit, cardiac defibrillaton and emergency exit and fire alarm plan. G: Wash bin with emergency eye wash. H: Emergency shower. I: Lockable cabinets for chemical storage" + alt1="Photo-gallery of laboratory. A: Key lock. B: Key-locked door. C: Alarm plan. D: Emergeny button for electriotion stop. E: Emergency telephone. F: First aid kit, cardiac defibrillaton and emergency exit and fire alarm plan. G: Wash bin with emergency eye wash. H: Emergency shower. I: Lockable cabinets for chemical storage" + /> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/photos/biosafety/kollage/new/img-2037.jpeg" + num={4} + description="Photo-gallery of S1 laboratory. A: Autoclave. B: Refrigerator with chemicals. C: Weighing room with chemical storage. D: Clean bench work space with vortex, pipettes, heat block and bench top centrifuge. E: pH electrode in fume hood. F: Ice machine. G: Fire distinguisher and S1 waste. H: Fume hood with liquid waste" + alt1="Photo-gallery of S1 laboratory. A: Autoclave. B: Refrigerator with chemicals. C: Weighing room with chemical storage. D: Clean bench work space with vortex, pipettes, heat block and bench top centrifuge. E: pH electrode in fume hood. F: Ice machine. G: Fire distinguisher and S1 waste. H: Fume hood with liquid waste." + /> </p> <H4 text="Our Cell Culture Lab "></H4> <p> In our cell culture laboratory, we work under sterile conditions to ensure optimal growth conditions for human cell lines. Among other things, we carry out transfections in order to introduce genetic material into cells and investigate their behavior. Strict protocols and state-of-the-art technology ensure the precision and reproducibility of our experiments. </p> - <div className="figure-wrapper"> - <figure> - <img src="https://static.igem.wiki/teams/5247/photos/biosafety/kollage/new/img-2040.jpeg" style={{height: "10%", width: "auto"}}/> - <figcaption> <b>Figure 3</b> Photo-gallery of laboratory and chemical storage. A: Safety cabinets. B: Incubator. C: Safety cabinet.</figcaption> - </figure> - </div> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/photos/biosafety/kollage/new/img-2040.jpeg" + num={5} + description="Photo-gallery of laboratory and chemical storage. A: Safety cabinets. B: Incubator. C: Safety cabinet" + alt1="Photo-gallery of laboratory and chemical storage. A: Safety cabinets. B: Incubator. C: Safety cabinet" + /> + + <p> In our S2 laboratory, the harvested nasal epithelial cells that serve as primary cultures undergo a comprehensive HHH test to ensure their safety and suitability for further experiments. This test is crucial to ensure that we can subsequently work safely with these cells in the S1 range without the risk of contamination or unwanted release of biological material. </p> - <div className="figure-wrapper"> - <figure> - <img src="https://static.igem.wiki/teams/5247/photos/biosafety/kollage/new/img-2042.jpeg" style={{height: "10%"}}/> - <figcaption> <b>Figure 4</b>Photo-gallery of S2 laboratory. A: Door of S2 lab with S2 sign. B: Emergency shower and fire distinguisher. C: Clean bench with centrifuge. D: Incubator. E: Safety cabinet. F: Emergeny telephone. G: S2 lab coat with S2 sign. H: Microscope. I: Autoclave. </figcaption> - </figure> - </div> + <OneFigure + pic1="https://static.igem.wiki/teams/5247/photos/biosafety/kollage/new/img-2042.jpeg" + num={6} + description="Photo-gallery of S2 laboratory. A: Door of S2 lab with S2 sign. B: Emergency shower and fire distinguisher. C: Clean bench with centrifuge. D: Incubator. E: Safety cabinet. F: Emergeny telephone. G: S2 lab coat with S2 sign. H: Microscope. I: Autoclave" + alt1="Photo-gallery of S2 laboratory. A: Door of S2 lab with S2 sign. B: Emergency shower and fire distinguisher. C: Clean bench with centrifuge. D: Incubator. E: Safety cabinet. F: Emergeny telephone. G: S2 lab coat with S2 sign. H: Microscope. I: Autoclave." + /> </Section> <Section title="References" id="References"> @@ -519,7 +522,7 @@ amyloid polypeptide up-regulation </span> <span property="schema:name"> Lung SORT LNPs enable precise homology-directed repair mediated -CRISPR/Cas genome correction in cystic fibrosis models +CRISPR/Cas genome correction in Cystic Fibrosis models </span>. <i property="schema:publisher" typeof="schema:Organization"> Nature Communications</i> <b property="issueNumber" typeof="PublicationIssue"> 14,</b> diff --git a/src/data/drug-data.tsx b/src/data/drug-data.tsx index 831fb4290cec658f43cc540859dae7bd556cbbfe..31942fed14f3d1ae2c5c3b3e170cb7a1795489c5 100644 --- a/src/data/drug-data.tsx +++ b/src/data/drug-data.tsx @@ -35,30 +35,30 @@ export const drugdata: (Array<DrugDatensatz>) = [ //gibt 4 Modulator Beispiele name: "Modulators", picture: "https://static.igem.wiki/teams/5247/scientific-figures/modulators.svg", - introduction: <a>CFTR modulators represent a significant advancement in CF treatment since they are small molecules improving the function of the defective CFTR protein in a mutation-specific way, which helps restore chloride ion transport across cell membranes. Notable pharmaceutical agents include Trikafta®, Symdeko®, Orkambi® and Kalydeco® <SupScrollLink label="74"/>. These medications have been demonstrated to significantly improve lung function and reduce pulmonary exacerbations. However, they are expensive and may cause side effects such as liver enzyme elevations and cataracts in pediatric patients <SupScrollLink label="75"/>. Furthermore, they are not suitable for all CF patients since only mutations which produce a CFTR channel can be supported by CFTR modulators, not those mutations which lead to a missing CFTR channel (knock out) <SupScrollLink label="74"/>, e.g. stop-mutations including p.Arg553Ter or p.Gly542Ter<SupScrollLink label="76"/>. </a>, + introduction: <>CFTR modulators represent a significant advancement in CF treatment since they are small molecules improving the function of the defective CFTR protein in a mutation-specific way, which helps restore chloride ion transport across cell membranes. Notable pharmaceutical agents include Trikafta®, Symdeko®, Orkambi® and Kalydeco® <SupScrollLink label="74"/>. These medications have been demonstrated to significantly improve lung function and reduce pulmonary exacerbations. However, they are expensive and may cause side effects such as liver enzyme elevations and cataracts in pediatric patients <SupScrollLink label="75"/>. Furthermore, they are not suitable for all CF patients since only mutations which produce a CFTR channel can be supported by CFTR modulators, not those mutations which lead to a missing CFTR channel (knock out) <SupScrollLink label="74"/>, e.g. stop-mutations including p.Arg553Ter or p.Gly542Ter<SupScrollLink label="76"/>. </>, examples: [ { title: "Trikafta", //quelle 4 - text: [<a>Active ingredient(s): Combination of elexacaftor/tezacaftor/ivacaftor","Indications: For CF patients aged 2 years and older with at least one F508del mutation = 85 % of CF patients","Mechanism: Elexacaftor and tezacaftor act as correctors on misfolded CFTR and permit delivery to the cell surface, thereby improving the channel density at the plasma membrane, while ivacaftor as a potentiator acts on CFTR channels that have reached the cell surface and increase the gating and conductance of ions <SupScrollLink label="77"/>","Administration: Oral tablets</a>,"Approval: Approved by the EMA in 2020 "] + text: [<>Active ingredient(s): Combination of elexacaftor/tezacaftor/ivacaftor","Indications: For CF patients aged 2 years and older with at least one F508del mutation = 85 % of CF patients","Mechanism: Elexacaftor and tezacaftor act as correctors on misfolded CFTR and permit delivery to the cell surface, thereby improving the channel density at the plasma membrane, while ivacaftor as a potentiator acts on CFTR channels that have reached the cell surface and increase the gating and conductance of ions <SupScrollLink label="77"/>","Administration: Oral tablets</>,"Approval: Approved by the EMA in 2020 "] }, { title: "Symdeko", //quelle 1 - text: ["Active ingredient(s): Combination of tezacaftor and ivacaftor","Indications: For CF patients aged 6 years and older with specific mutations in combination with F508del or with two copies of F508del mutation", <a>Mechanism: Tezacaftor acts as a corrector on misfolded CFTR and permit delivery to the cell surface, thereby improving the channel density at the plasma membrane, while ivacaftor as a potentiator acts on CFTR channels that have reached the cell surface and increase the gating and conductance of ions <SupScrollLink label="77"/> </a>, "Administration: Oral tablets", "Approval: Approved by the EMA in 2018"] + text: ["Active ingredient(s): Combination of tezacaftor and ivacaftor","Indications: For CF patients aged 6 years and older with specific mutations in combination with F508del or with two copies of F508del mutation", <>Mechanism: Tezacaftor acts as a corrector on misfolded CFTR and permit delivery to the cell surface, thereby improving the channel density at the plasma membrane, while ivacaftor as a potentiator acts on CFTR channels that have reached the cell surface and increase the gating and conductance of ions <SupScrollLink label="77"/> </>, "Administration: Oral tablets", "Approval: Approved by the EMA in 2018"] }, { title: "Orkambi", //quelle 6 - text: ["Active ingredient(s): Combination of lumacaftor and ivacaftor", "Indications: For CF patients aged 1 year and older with two copies of the F508del mutation",<a>Mechanism: Lumacaftor acts as a corrector on misfolded CFTR and permit delivery to the cell surface, thereby improving the channel density at the plasma membrane, while ivacaftor as a potentiator act on CFTR channels that have reached the cell surface and increase the gating and conductance of ions <SupScrollLink label="77"/></a>,"Administration: Oral tablets","Approval: Approved by the EMA in 2015"] + text: ["Active ingredient(s): Combination of lumacaftor and ivacaftor", "Indications: For CF patients aged 1 year and older with two copies of the F508del mutation",<>Mechanism: Lumacaftor acts as a corrector on misfolded CFTR and permit delivery to the cell surface, thereby improving the channel density at the plasma membrane, while ivacaftor as a potentiator act on CFTR channels that have reached the cell surface and increase the gating and conductance of ions <SupScrollLink label="77"/></>,"Administration: Oral tablets","Approval: Approved by the EMA in 2015"] }, { title: "Kalydeco", //quelle 7 - text: ["Active ingredient(s): Ivacaftor","Indications: For CF patients aged 4 months and older with a gating mutation in the CFTR gene (excluding F508del)",<a>Mechanism: Ivacaftor as a potentiator acts on CFTR channels that have reached the cell surface and increase the gating and conductance of ions <SupScrollLink label="77"/></a>,"Administration: Oral tablets","Approval: Approved by the EMA in July 2012"] + text: ["Active ingredient(s): Ivacaftor","Indications: For CF patients aged 4 months and older with a gating mutation in the CFTR gene (excluding F508del)",<>Mechanism: Ivacaftor as a potentiator acts on CFTR channels that have reached the cell surface and increase the gating and conductance of ions <SupScrollLink label="77"/></>,"Administration: Oral tablets","Approval: Approved by the EMA in July 2012"] }, ] }, { name: "Mucolytics and inhalation", //gibt 2 Inhalation Beispiele picture: "https://static.igem.wiki/teams/5247/scientific-figures/mucolytics.svg", - introduction: <a>Mucolytics help thin and loosen the mucus in the lungs, making it easier to cough up and clear the airways. These therapies are typically administered via wet or dry inhalation, providing direct delivery to the lungs. In the case of wet inhalation, the medication is inhaled as an aqueous solution and nebulized, while in the case of dry inhalation, the medication is inhaled as a powder. <SupScrollLink label="74"/> Key Therapies include mannitol, Pulmozyme® and hypertonic saline.</a>, + introduction: <>Mucolytics help thin and loosen the mucus in the lungs, making it easier to cough up and clear the airways. These therapies are typically administered via wet or dry inhalation, providing direct delivery to the lungs. In the case of wet inhalation, the medication is inhaled as an aqueous solution and nebulized, while in the case of dry inhalation, the medication is inhaled as a powder. <SupScrollLink label="74"/> Key Therapies include mannitol, Pulmozyme® and hypertonic saline.</>, examples: [ { title: "Pulmozyme", //quelle 8 @@ -88,7 +88,7 @@ export const drugdata: (Array<DrugDatensatz>) = [ { name: "Digestive enzymes and diet", //ein beispiel picture: "https://static.igem.wiki/teams/5247/scientific-figures/diet.svg", - introduction: <a> The digestive process is impaired in 80% of patients with cystic fibrosis (CF), as a result of pancreatic insufficiency, which in turn leads to difficulties in digesting food and absorbing nutrients. Enzyme supplements like Creon® are therefore essential [16]. Moreover CF patients are also advised to eat a balanced and energy-rich diet, as the increased work of breathing and increased coughing, as well as infections, fever and diarrhoea, consume more energy than a healthy person. <SupScrollLink label="74"/> It is also an option for patients to use nutritional supplements. Electrolyte preparations are also used in this context to compensate for the increased need for fluids and the required salts.</a>, + introduction: <> The digestive process is impaired in 80% of patients with fibrosis (CF), as a result of pancreatic insufficiency, which in turn leads to difficulties in digesting food and absorbing nutrients. Enzyme supplements like Creon® are therefore essential [16]. Moreover CF patients are also advised to eat a balanced and energy-rich diet, as the increased work of breathing and increased coughing, as well as infections, fever and diarrhoea, consume more energy than a healthy person. <SupScrollLink label="74"/> It is also an option for patients to use nutritional supplements. Electrolyte preparations are also used in this context to compensate for the increased need for fluids and the required salts.</>, examples: [ { title: "Creon", //quelle 17 diff --git a/src/data/hptimelinedata.tsx b/src/data/hptimelinedata.tsx index 3798b972adb3d00c91b58a6ef34c10c17022ad64..929e5e0071d3a82a50978caa8f36aef45edcb021 100644 --- a/src/data/hptimelinedata.tsx +++ b/src/data/hptimelinedata.tsx @@ -182,13 +182,13 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ cardtext: "", quoteNachname: "Köhler, Teammember", quoteVorname: "Vera", - quote: "Firstly, we discussed various project ideas, including the use of magnetic microswimmers for targeted medical applications, gene editing approaches for cystic fibrosis, treatments for muscular dystrophy and combating cyanobacteria with algae.", + quote: "Firstly, we discussed various project ideas, including the use of magnetic microswimmers for targeted medical applications, gene editing approaches for fibrosis, treatments for muscular dystrophy and combating cyanobacteria with algae.", type: "meta", - summary: [<p>During our initial discussions about project ideas, the team explored several innovative concepts before honing in on <strong>cystic fibrosis</strong>. Each project presented unique scientific challenges and potential impacts.</p>, + summary: [<p>During our initial discussions about project ideas, the team explored several innovative concepts before honing in on <strong> fibrosis</strong>. Each project presented unique scientific challenges and potential impacts.</p>, <p>One idea involved the development of <strong>magnetic microswimmers</strong> designed for targeted cancer therapy, particularly for ovarian cancer. The proposal aimed to overcome the limitations of traditional treatments, such as radiotherapy and cisplatin, which often damage healthy cells and result in numerous side effects. The microswimmers would be biodegradable algae-based vehicles, magnetically guided to deliver drugs directly to cancerous cells while minimizing damage to surrounding tissue. This approach offered a novel, non-invasive targeting mechanism, leveraging the potential of magnetic fields to direct the swimmers precisely to the affected areas.</p>, <p>Another compelling project was focused on <strong>duchenne muscular dystrophy (DMD)</strong>. This genetic disorder leads to muscle degeneration as muscle tissue is gradually replaced by fibrotic tissue. The team proposed several treatment approaches, including exon skipping and gene therapy using viral vectors. Key strategies included enhancing Cas protein efficiency through engineering, using liposomal vectors for gene delivery, and combining CRISPR technology with integrase fusion proteins. The team also discussed previous iGEM projects that had explored similar methodologies, emphasizing the need for specificity and efficacy in delivering therapeutic genes.</p>, <p>We also considered a project aimed at preventing <strong>cyanobacteria blooms</strong> using peptides or proteins derived from algae. Cyanobacteria can produce harmful toxins that degrade water quality and threaten ecosystems. The proposed approach focused on utilizing natural algae to develop mechanisms that inhibit the growth of harmful cyanobacteria without disrupting the ecosystem. This project emphasized conservation and biodiversity while addressing a significant environmental issue linked to the climate crisis.</p>, - <p>Throughout our discussions, we recognized that while each project had merit, the <strong>cystic fibrosis</strong> initiative offered the most promise for a targeted approach to a well-defined problem. CF, affecting a substantial number of individuals, provided a clear opportunity for meaningful impact through gene therapy. The insights gained from our examination of other projects informed our approach to CF, allowing us to integrate knowledge from diverse fields and methodologies, ultimately shaping a comprehensive and innovative project direction.</p> + <p>Throughout our discussions, we recognized that while each project had merit, the <strong> fibrosis</strong> initiative offered the most promise for a targeted approach to a well-defined problem. CF, affecting a substantial number of individuals, provided a clear opportunity for meaningful impact through gene therapy. The insights gained from our examination of other projects informed our approach to CF, allowing us to integrate knowledge from diverse fields and methodologies, ultimately shaping a comprehensive and innovative project direction.</p> ], months: "March" }, @@ -226,7 +226,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ language: "de", quoteNachname:"Beckmann, Patient", quoteVorname: "Max", - quote: "A friend of mine with cystic fibrosis recently got a fungal infection that he can't get rid of. His situation really struck me; it showed how quickly a seemingly minor issue can worsen a person's life, especially for someone like us. It’s a strong reminder of how fragile our health is and how fast things can change without warning.", + quote: "A friend of mine with fibrosis recently got a fungal infection that he can't get rid of. His situation really struck me; it showed how quickly a seemingly minor issue can worsen a person's life, especially for someone like us. It’s a strong reminder of how fragile our health is and how fast things can change without warning.", aimofcontact: [<p>When CF came up as a possible topic, we reached out to a teammate's friend Max in the hopes of getting insights into the needs of CF patients and current treatments to verify the need for further treatment options. Since he was much more enthusiastic and open for discussion than we dared to hope, we extended our exchanges into the realms of the reality of life for CF patients, possible progressions, organizations and doctors in our area and his personal perspectives and values. The interest in meeting him grew in the whole team and we invited him to one of our meetings. </p>], @@ -332,12 +332,12 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ quoteVorname: "Prof. Dr. Kristiann", quote: "AAVs have been widely used in gene therapy, but their scalability and immunogenicity pose challenges, particularly when re-dosing is required. In contrast, LNPs offer a promising alternative, with a higher packaging capacity and lower immunogenicity. While AAVs excel in targeted delivery, LNPs could become a more scalable and cost-effective solution for delivering gene-editing tools in the future.", aimofcontact: [<p>The aim of our interview with Prof. Dr. Kristian Müller was to gain expert insights into the potential of prime editing technology and its application in gene therapy, particularly for treating CF. We sought to understand how innovations in prime editing, combined with optimized delivery systems, could enhance therapeutic outcomes. Prof. Müller’s expertise in molecular biology and gene editing provided valuable perspectives on the opportunities and challenges in developing precise, efficient, and safe treatment strategies for genetic disorders.</p>], - insights: [<p>During the interview, Prof. Dr. Müller highlighted the growing importance of prime editing as a powerful tool for gene therapy. Unlike traditional CRISPR-Cas systems, which often result in double-strand DNA breaks, prime editing allows for precise single-strand cuts, minimizing off-target effects and enabling more specific genetic corrections. This technology opens up new possibilities for treating diseases with known mutations, such as cystic fibrosis. + insights: [<p>During the interview, Prof. Dr. Müller highlighted the growing importance of prime editing as a powerful tool for gene therapy. Unlike traditional CRISPR-Cas systems, which often result in double-strand DNA breaks, prime editing allows for precise single-strand cuts, minimizing off-target effects and enabling more specific genetic corrections. This technology opens up new possibilities for treating diseases with known mutations, such as fibrosis. Prof. Dr. Kristian Müller emphasized the critical role of delivery systems in the success of gene therapies, particularly in the context of CF treatment. Two primary delivery mechanisms were discussed: AAVs (Adeno-associated viruses) and LNPs (Lipid nanoparticles), each with distinct advantages and limitations. - AAVs are a well-established vehicle in gene therapy, having been used successfully in various approved treatments. They are highly efficient at delivering genetic material to target cells, especially in well-characterized diseases like CF. One of their key strengths is their ability to precisely target specific tissues, making them particularly valuable for lung delivery in cystic fibrosis. However, AAVs come with notable challenges, primarily their limited packaging capacity (approximately 4.5 kilobases), which constrains the size of the genetic payload they can carry. Additionally, AAVs can elicit immune responses, particularly when multiple doses are required, posing a barrier to their long-term use. + AAVs are a well-established vehicle in gene therapy, having been used successfully in various approved treatments. They are highly efficient at delivering genetic material to target cells, especially in well-characterized diseases like CF. One of their key strengths is their ability to precisely target specific tissues, making them particularly valuable for lung delivery in fibrosis. However, AAVs come with notable challenges, primarily their limited packaging capacity (approximately 4.5 kilobases), which constrains the size of the genetic payload they can carry. Additionally, AAVs can elicit immune responses, particularly when multiple doses are required, posing a barrier to their long-term use. On the other hand, LNPs offer a scalable and re-dosable alternative. LNPs have the advantage of a larger packaging capacity, allowing them to carry more complex genetic instructions or larger gene-editing tools, such as prime editors. They are also easier and cheaper to produce on a large scale, making them an attractive option for widespread clinical applications. A significant benefit of LNPs is their lower immunogenicity, which reduces the risk of adverse immune reactions upon repeated dosing. However, LNPs currently face challenges in specific targeting compared to AAVs. AAVs have a higher precision in targeting specific tissues, while LNPs still need optimization for targeted delivery to areas like the lungs.</p>], implementation: [<p>Prof. Müller’s insights directly inform the implementation of our iGEM project, where we aim to design novel prime editors that are small enough to be delivered efficiently, while also exploring LNPs{/* [LINK Cycle Delivery] */} as a scalable and re-dosable alternative to AAVs. By tailoring our approach to address the specific challenges of CF, such as mucus penetration and lung cell targeting, we can enhance the precision and efficacy of gene therapy. These innovations have the potential to set new standards in the field and contribute to broader research on genetic disease treatment.</p>], - summary: "In our interview with Prof. Dr. Kristian Müller, we explored the revolutionary potential of prime editing as a next-generation gene editing technology. Prof. Müller highlighted the advantages of prime editing over traditional CRISPR-Cas systems, particularly its ability to make precise genetic modifications without double-strand breaks, thus reducing off-target effects. He emphasized the importance of optimizing delivery systems, such as AAV and LNPs, and discussed the ethical considerations and biosafety measures crucial for advancing gene therapy. The interview underscored the significance of cystic fibrosis as a model disease, given its prevalence and the potential for impactful treatments through targeted genetic corrections.", + summary: "In our interview with Prof. Dr. Kristian Müller, we explored the revolutionary potential of prime editing as a next-generation gene editing technology. Prof. Müller highlighted the advantages of prime editing over traditional CRISPR-Cas systems, particularly its ability to make precise genetic modifications without double-strand breaks, thus reducing off-target effects. He emphasized the importance of optimizing delivery systems, such as AAV and LNPs, and discussed the ethical considerations and biosafety measures crucial for advancing gene therapy. The interview underscored the significance of fibrosis as a model disease, given its prevalence and the potential for impactful treatments through targeted genetic corrections.", months: "April", interview:<><iframe title="Bielefeld-CeBiTec: Interview Müller AAV vs LNP (2024) [English]" width="560" height="315" src="https://video.igem.org/videos/embed/0613b6b8-7755-4373-9d86-9910fe30781f" frameBorder="0" allowFullScreen={true} sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe><p>This interview was recorded on video at a later date.</p></>, }, @@ -348,19 +348,19 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ job: "Team iGEM", affiliation: "Bielfeld CeBiTec 2024", tag: "Milestone", - heading: "Identifying key experts in cystic fibrosis and prime editing", + heading: "Identifying key experts in fibrosis and prime editing", interviewtabid: "experts", cardtext: "", - quote: "Focusing on gene therapy for cystic fibrosis has been a meaningful journey for our team. Collaborating with experts has enriched our understanding and helped us refine our approach, especially in exploring prime editing. We're eager to turn our plans into reality and make a real impact", + quote: "Focusing on gene therapy for fibrosis has been a meaningful journey for our team. Collaborating with experts has enriched our understanding and helped us refine our approach, especially in exploring prime editing. We're eager to turn our plans into reality and make a real impact", quoteNachname:"Kanthak, Teammember", quoteVorname: "Kai", type: "meta", - summary: [<p>After our team came together and thoroughly explored various project ideas, we decided to focus on gene therapy for cystic fibrosis, largely due to a personal connection with a close friend affected by the condition. Up until that point, we had not yet developed a concrete concept, so we sought to engage with experts in order to broaden our understanding of the latest advancements in gene therapy. - In addition to grasping the importance of a functional gene therapy, we delved into different strategies regarding the underlying mechanisms and the best delivery methods for the therapy. While the general topic of our project was clear, we now faced the challenge of working out the details. At this stage, we decided to consult further experts in the field of cystic fibrosis to deepen our knowledge and refine our approach. - Through connections with the University Hospital Münster and our local hospital, we aimed to gain a comprehensive overview of the clinical applications of gene therapy and the current research in cystic fibrosis. These consultations with specialists allowed us to acquire valuable insights into different therapeutic options and laid the groundwork for our own exploration of potential strategies, particularly in the area of prime editing as a promising treatment avenue.</p>, + summary: [<p>After our team came together and thoroughly explored various project ideas, we decided to focus on gene therapy for fibrosis, largely due to a personal connection with a close friend affected by the condition. Up until that point, we had not yet developed a concrete concept, so we sought to engage with experts in order to broaden our understanding of the latest advancements in gene therapy. + In addition to grasping the importance of a functional gene therapy, we delved into different strategies regarding the underlying mechanisms and the best delivery methods for the therapy. While the general topic of our project was clear, we now faced the challenge of working out the details. At this stage, we decided to consult further experts in the field of fibrosis to deepen our knowledge and refine our approach. + Through connections with the University Hospital Münster and our local hospital, we aimed to gain a comprehensive overview of the clinical applications of gene therapy and the current research in fibrosis. These consultations with specialists allowed us to acquire valuable insights into different therapeutic options and laid the groundwork for our own exploration of potential strategies, particularly in the area of prime editing as a promising treatment avenue.</p>, <ul> <li> - <strong>Team Formation & Research:</strong> Chose gene therapy for cystic fibrosis and explored mechanisms and delivery strategies. + <strong>Team Formation & Research:</strong> Chose gene therapy for fibrosis and explored mechanisms and delivery strategies. </li> <li> <strong>Expert Engagement:</strong> Consulted with specialists to refine approach, focusing on prime editing. @@ -409,7 +409,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ cardtext: "", language: "en", quote: "This is also an innovative step that you have developed yourselves. That's the part that's really new and significant. A clever and exciting approach with great potential.", - aimofcontact: [<p>The aim of the interview was to gain expert insights on optimizing the delivery of CFTR-mRNA via lung-targeted lipid nanoparticles (LNPs) for cystic fibrosis (CF) treatment. + aimofcontact: [<p>The aim of the interview was to gain expert insights on optimizing the delivery of CFTR-mRNA via lung-targeted lipid nanoparticles (LNPs) for fibrosis (CF) treatment. Specifically, the goal was to explore potential cell targets, challenges in delivery mechanisms, and technical tools for assessing the effectiveness of mRNA therapies like the Ussing chamber system. </p>], insights: [<p>The experts highlighted the potential of targeting ionocytes, given their key role in CFTR expression, but emphasized the difficulty in accessing them due to their basal position in the respiratory epithelium. While Prof. Weber found ionocytes to be an intriguing target, Dr. Große-Onnebrink pointed out that there is still limited understanding of their exact role in CF pathology. Both stressed the challenge of penetrating the @@ -444,9 +444,9 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ quoteVorname: "Dr. Cristian-Gabriel", quote: "For most families, it’s a shock. Cystic fibrosis still has a strong association with being a life-threatening disease, despite the fact that we now have good treatments, and many patients can live healthy lives. The diagnosis puts a huge psychological strain on the family, especially when dealing with very young children.", aimofcontact: "To gain a deeper insight into the path to diagnosis, we invited pediatrician Dr. Cristian-Gabriel Olariu from the University Department of Pediatrics and Adolescent Medicine to share his experiences with CF patients with us. We interviewed him because of his expertise in the effects of diagnosis on the patient and the family members, but also on daily life. Additionally, we want to close the gap and create a bridge between academic research and clinical applications. Therefore, Dr. Olariu gave us insights about the clinical perspectives on CF patients.", - insights: [<p>We invited Max, our CF patient contact, to join Dr. Olariu in discussing the intersection of academic research, clinical application, and patient needs. Through our connection with <a href="https://www.cfvww.org" >CF Vests Worldwide</a>, an organization dedicated to providing life-saving therapy vests to cystic fibrosis patients globally, we gained insights into the challenges faced by CF patients, particularly in regions like Thailand, where access to advanced treatments and medical devices is limited. The conversation highlighted the critical role of early diagnosis and intervention, as well as the quality-of-life challenges many patients endure due to conventional treatments that may not be effective for everyone. Innovative approaches, such as our SORT LNP (lipid nanoparticle) delivery system, present promising alternatives for CF therapy. This system, which allows for RNA encapsulation and administration via dry spray inhalation, could revolutionize treatment by targeting lung cells more effectively, particularly in resource-limited settings. Dr. Olariu underscored the need for psychological support and coordinated care for CF patients, emphasizing that novel therapies like LNP-based gene treatments have the potential to improve treatment efficacy and accessibility, ultimately reducing the lifelong burden of care for patients and their families. </p>, + insights: [<p>We invited Max, our CF patient contact, to join Dr. Olariu in discussing the intersection of academic research, clinical application, and patient needs. Through our connection with <a href="https://www.cfvww.org" >CF Vests Worldwide</a>, an organization dedicated to providing life-saving therapy vests to fibrosis patients globally, we gained insights into the challenges faced by CF patients, particularly in regions like Thailand, where access to advanced treatments and medical devices is limited. The conversation highlighted the critical role of early diagnosis and intervention, as well as the quality-of-life challenges many patients endure due to conventional treatments that may not be effective for everyone. Innovative approaches, such as our SORT LNP (lipid nanoparticle) delivery system, present promising alternatives for CF therapy. This system, which allows for RNA encapsulation and administration via dry spray inhalation, could revolutionize treatment by targeting lung cells more effectively, particularly in resource-limited settings. Dr. Olariu underscored the need for psychological support and coordinated care for CF patients, emphasizing that novel therapies like LNP-based gene treatments have the potential to improve treatment efficacy and accessibility, ultimately reducing the lifelong burden of care for patients and their families. </p>, , - <p>We have considered the extent to which an early diagnosis is always an advantage, as some parents perceive an early diagnosis as an additional burden and would prefer to experience the first years of their child's life without constant medical intervention. Especially when there are cases in which patients only show a clear clinical picture at an advanced age. The psychological burden also lies with the children, who often experience medical trauma because they are involved in such intensive medical care from birth. Additionally, the treatment of cystic fibrosis is very expensive, and the costs are covered by health insurance companies to varying degrees. In some countries, such as the USA, Ukraine or Developing countries, many families cannot afford the necessary treatments. But Dr. Olariu also drew our attention to another problem in the treatment of cystic fibrosis. Infections, especially with bacteria such as Pseudomonas spcc., are difficult to treat and often lead to long hospital stays. Max, our patients’ representative, who knows Dr. Olariu through his treatment, shared his experience with Pseudomonas spcc infections, illustrating the reality of an invisible danger that determines a patient's everyday life. Strict hygiene measures are required to prevent infections, such as wearing face masks in hospital and careful handling of potential sources of infection. The clinics where cystic fibrosis patients are treated work closely with a multidisciplinary team of doctors, psychologists, physiotherapists and nutritionists to ensure that patients receive holistic care. </p>, + <p>We have considered the extent to which an early diagnosis is always an advantage, as some parents perceive an early diagnosis as an additional burden and would prefer to experience the first years of their child's life without constant medical intervention. Especially when there are cases in which patients only show a clear clinical picture at an advanced age. The psychological burden also lies with the children, who often experience medical trauma because they are involved in such intensive medical care from birth. Additionally, the treatment of fibrosis is very expensive, and the costs are covered by health insurance companies to varying degrees. In some countries, such as the USA, Ukraine or Developing countries, many families cannot afford the necessary treatments. But Dr. Olariu also drew our attention to another problem in the treatment of fibrosis. Infections, especially with bacteria such as Pseudomonas spcc., are difficult to treat and often lead to long hospital stays. Max, our patients’ representative, who knows Dr. Olariu through his treatment, shared his experience with Pseudomonas spcc infections, illustrating the reality of an invisible danger that determines a patient's everyday life. Strict hygiene measures are required to prevent infections, such as wearing face masks in hospital and careful handling of potential sources of infection. The clinics where fibrosis patients are treated work closely with a multidisciplinary team of doctors, psychologists, physiotherapists and nutritionists to ensure that patients receive holistic care. </p>, <p>Pros of Early Diagnosis and Treatment</p>, <ol> <li>Timely Intervention: Prevents severe organ damage and improves long-term outcomes.</li> @@ -463,10 +463,10 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ <li>Over-medicalization: Continuous focus on treatment can overwhelm families, affecting the quality of early childhood experiences.</li> </ol>, ], - implementation: [<p>In summary, our project greatly benefited from the conversation with Dr. Olariu. His insights into the complexities of cystic fibrosis treatment, particularly the significance of early diagnosis, were invaluable and we considered early treatment methods. Max’s personal experiences added a human perspective, illustrating the medical and psychological challenges he faces, including infections with <i>Pseudomonas spp.</i> Dr. Olariu highlightend the importance of a multidisciplinary approach, involving not just medical professionals but also psychologists, physiotherapists, and nutritionists for holistic care. This discussion helped us appreciate the balance between timely interventions and the emotional burden on patients and their families, guiding us to develop a more empathetic understanding of living with cystic fibrosis.</p>], + implementation: [<p>In summary, our project greatly benefited from the conversation with Dr. Olariu. His insights into the complexities of fibrosis treatment, particularly the significance of early diagnosis, were invaluable and we considered early treatment methods. Max’s personal experiences added a human perspective, illustrating the medical and psychological challenges he faces, including infections with <i>Pseudomonas spp.</i> Dr. Olariu highlightend the importance of a multidisciplinary approach, involving not just medical professionals but also psychologists, physiotherapists, and nutritionists for holistic care. This discussion helped us appreciate the balance between timely interventions and the emotional burden on patients and their families, guiding us to develop a more empathetic understanding of living with fibrosis.</p>], interview: <> - <QaBox q="Could you please tell us about the journey that parents go through with their CF-sick children from the first visit to diagnosis and treatment?" a="Since 2016, cystic fibrosis (CF) diagnosis has been part of newborn screening. This means that we receive many children right after birth whose screening results were abnormal. These children are then sent to us for further clarification. Not every child with an abnormal screening result is sick, so we perform a sweat test, and about one-third of the children are diagnosed with the disease. The advantage of early diagnosis is that we can intervene and start treatment early to prevent organ damage. However, there are also rare mutations where the course of the disease is difficult to predict." /> - <QaBox q="What are the pros and cons of newborn screening for cystic fibrosis?" a="From a medical point of view, it’s beneficial that we can catch many of these cases early, allowing us to act swiftly. There are even medications for small babies, and early intervention can protect organs, preventing conditions that would require transplants later on. On the downside, because of the wide variety of genetic mutations, some cases we identify may not show significant symptoms until adulthood. This creates a dilemma, as we can’t predict how their condition will progress, but we still start treatments early, which can be stressful for families." /> + <QaBox q="Could you please tell us about the journey that parents go through with their CF-sick children from the first visit to diagnosis and treatment?" a="Since 2016, fibrosis (CF) diagnosis has been part of newborn screening. This means that we receive many children right after birth whose screening results were abnormal. These children are then sent to us for further clarification. Not every child with an abnormal screening result is sick, so we perform a sweat test, and about one-third of the children are diagnosed with the disease. The advantage of early diagnosis is that we can intervene and start treatment early to prevent organ damage. However, there are also rare mutations where the course of the disease is difficult to predict." /> + <QaBox q="What are the pros and cons of newborn screening for fibrosis?" a="From a medical point of view, it’s beneficial that we can catch many of these cases early, allowing us to act swiftly. There are even medications for small babies, and early intervention can protect organs, preventing conditions that would require transplants later on. On the downside, because of the wide variety of genetic mutations, some cases we identify may not show significant symptoms until adulthood. This creates a dilemma, as we can’t predict how their condition will progress, but we still start treatments early, which can be stressful for families." /> <QaBox q="Can you give us an example of how this stress impacts families?" a="Yes, I’ve been caring for a patient from birth who is now five years old and doing very well. However, from the beginning, she had to undergo physiotherapy, regular check-ups, and blood tests, even though she hasn’t shown any major symptoms. Her mother once told me she wasn't sure if she would make the same decision again, as the early intervention caused a lot of stress. She wondered if she might have enjoyed the first year of her child’s life more if things had been more relaxed. Now, at age five, nothing significant has changed in her condition, and they’ve decided against starting modulator therapy for the time being." /> <QaBox q="How do families typically react when a CF diagnosis is confirmed?" a="For most families, it’s a shock. Cystic fibrosis still has a strong association with being a life-threatening disease, despite the fact that we now have good treatments and many patients can live healthy lives. The diagnosis puts a huge psychological strain on the family, especially when dealing with very young children. The most important factor in managing this, aside from medical treatments, is the support from the medical team. It’s critical to have a team that works well together, not just a single doctor calling all the shots. Families often need much more psychological and nutritional support early on than medical intervention, and this is where having a multidisciplinary team becomes essential." /> <QaBox q="What is the process for diagnosing and treating older patients who haven’t been through newborn screening?" a="Older patients who come to us with complaints may not have undergone newborn screening, so they are diagnosed based on their symptoms. These complaints can range from mild to severe and are often non-specific, like chronic cough or failure to thrive. When the cause of these symptoms isn’t immediately clear, we do a sweat test. Once diagnosed, we can start treatment, which often involves working with a psychologist to help the family process the news." /> @@ -484,7 +484,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ </>, pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/hp/interview-olariu.svg", pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/olario-abbildung1.svg", - summary: "We interviewed Dr. Cristian-Gabriel Olariu to gain insights into the diagnosis and treatment of cystic fibrosis (CF). He highlighted the importance of early diagnosis through newborn screening, which allows for timely intervention but can also be perceived as a burden by families, especially when symptoms may not manifest until later. Dr. Olariu emphasized the emotional and financial challenges families face, particularly regarding costly treatments and insurance variability. Patient contact Max shared his experiences with infections like Pseudomonas spp., which complicate care and necessitate a multidisciplinary approach involving medical professionals, psychologists, and nutritionists. Overall, the discussion underscored the need to balance medical interventions with the emotional well-being of patients and families, guiding us toward a more compassionate understanding of living with CF.", + summary: "We interviewed Dr. Cristian-Gabriel Olariu to gain insights into the diagnosis and treatment of fibrosis (CF). He highlighted the importance of early diagnosis through newborn screening, which allows for timely intervention but can also be perceived as a burden by families, especially when symptoms may not manifest until later. Dr. Olariu emphasized the emotional and financial challenges families face, particularly regarding costly treatments and insurance variability. Patient contact Max shared his experiences with infections like Pseudomonas spp., which complicate care and necessitate a multidisciplinary approach involving medical professionals, psychologists, and nutritionists. Overall, the discussion underscored the need to balance medical interventions with the emotional well-being of patients and families, guiding us toward a more compassionate understanding of living with CF.", months: "may" }, { @@ -502,18 +502,18 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ quoteVorname: "Liliana", type: "meta", summary: [<p> - After receiving valuable feedback from both clinical and academic experts, we decided to focus on optimizing Prime Editing strategies for cystic fibrosis treatment. Both experts not only encouraged us in our approach but also provided insightful feedback, which we will integrate into our future project design. Through these discussions, we learned that current treatment strategies are urgently needed in real life but are limited in precision and efficiency. - Additionally, we gained key insights into lung-specific delivery methods, which inspired us to pursue lung-specific correction of the CFTR gene, a critical aspect of cystic fibrosis therapy. - At this stage, we are eager to expand our perspectives by seeking input from industry and business professionals, while also striving to increase our local impact. To evaluate this impact, we plan to develop a survey aimed at understanding the interest in gene therapy and the community’s knowledge of cystic fibrosis within our local area. This will help us gauge awareness and ensure our project addresses both scientific and societal needs effectively.</p>, + After receiving valuable feedback from both clinical and academic experts, we decided to focus on optimizing Prime Editing strategies for fibrosis treatment. Both experts not only encouraged us in our approach but also provided insightful feedback, which we will integrate into our future project design. Through these discussions, we learned that current treatment strategies are urgently needed in real life but are limited in precision and efficiency. + Additionally, we gained key insights into lung-specific delivery methods, which inspired us to pursue lung-specific correction of the CFTR gene, a critical aspect of fibrosis therapy. + At this stage, we are eager to expand our perspectives by seeking input from industry and business professionals, while also striving to increase our local impact. To evaluate this impact, we plan to develop a survey aimed at understanding the interest in gene therapy and the community’s knowledge of fibrosis within our local area. This will help us gauge awareness and ensure our project addresses both scientific and societal needs effectively.</p>, <ul> <li> <strong>Expert Feedback Integration:</strong> Refined the project focus on optimizing Prime Editing strategies and lung-specific gene delivery based on clinical and academic insights. </li> <li> - <strong>Focus on Lung-Specific Correction:</strong> Shifted toward lung-specific CFTR gene correction for cystic fibrosis treatment. + <strong>Focus on Lung-Specific Correction:</strong> Shifted toward lung-specific CFTR gene correction for fibrosis treatment. </li> <li> - <strong>Community Engagement Plan:</strong> Initiated plans for a local survey to assess awareness of cystic fibrosis and interest in gene therapy, aiming to increase local impact. + <strong>Community Engagement Plan:</strong> Initiated plans for a local survey to assess awareness of fibrosis and interest in gene therapy, aiming to increase local impact. </li> </ul> ], @@ -526,7 +526,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ affiliation: "Independent", pictureurl: pics['westhoff'], tag: "Medical Professional", - heading: "Interview with a specialized physiotherapist regarding breathing therapy for cystic fibrosis patients", + heading: "Interview with a specialized physiotherapist regarding breathing therapy for fibrosis patients", interviewtabid: "westhoffinv", cardtext: "", language: "de", @@ -535,9 +535,9 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ quote: "The more we know, the more opportunities we have.", aimofcontact: "The objective of the contact was to gain in-depth insights into the treatment and care of children with CF. The therapist's expertise was intended to help develop a better understanding of the challenges and necessary measures in the treatment of this chronic disease. In addition, the aim was to ascertain how the therapy is implemented in everyday life and which specific approaches and methods are particularly effective.", insights: "The interview yielded valuable insights into the regular implementation of the therapy, the use of aids and the adaptation of exercises to the individual needs of the patients. It was notable that the therapy has improved over the last years, considerably thanks to better medication and adapted exercises, with a concomitant increase in life expectancy for children affected by CF. Of particular interest was the emphasis on the importance of sport and exercise, which should not only be therapeutically effective, but also increase quality of life. ", - implementation: "The following statement by Katrin Westhoff had a particular impact on our project: ‘The more we know, the more options we have’. We learnt from the interview that the current medication is already helping many patients very well, but that there is still great potential for improvement. Successful gene therapy would significantly improve the quality of life of CF patients. We implemented the findings from this interview in our participation in MukoMove - we also actively took part in cystic fibrosis awareness month and learnt even more about the importance of physiotherapy.", + implementation: "The following statement by Katrin Westhoff had a particular impact on our project: ‘The more we know, the more options we have’. We learnt from the interview that the current medication is already helping many patients very well, but that there is still great potential for improvement. Successful gene therapy would significantly improve the quality of life of CF patients. We implemented the findings from this interview in our participation in MukoMove - we also actively took part in fibrosis awareness month and learnt even more about the importance of physiotherapy.", pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/katrin-westhoff-zoom.webp", - summary: [<p>The objective of our discussion with a therapist was to gain a comprehensive understanding of the treatment and care of children with cystic fibrosis. The interview provided invaluable insights into the therapy's implementation, highlighting the significant advancements in medication and tailored exercises that have led to improved patient outcomes and increased life expectancy. A key takeaway was the emphasis on the role of sports and exercise, not just for therapeutic efficacy but also for enhancing overall quality of life. It let to our participation in the CF awarness month and the outreach project mukomove {/* [Link mukomove] */}</p>], + summary: [<p>The objective of our discussion with a therapist was to gain a comprehensive understanding of the treatment and care of children with fibrosis. The interview provided invaluable insights into the therapy's implementation, highlighting the significant advancements in medication and tailored exercises that have led to improved patient outcomes and increased life expectancy. A key takeaway was the emphasis on the role of sports and exercise, not just for therapeutic efficacy but also for enhancing overall quality of life. It let to our participation in the CF awarness month and the outreach project mukomove {/* [Link mukomove] */}</p>], months: "May", interview:<> <QaBox q="From what age do the patients come to you? How long do they stay? How many patients do you treat?" a="The patients come to us at a very early age. A definite diagnosis is made after 6 weeks at the latest. Once diagnosed, the whole family is genetically tested, and children are sent for physiotherapy, often starting in the hospital. Currently, we have 8 children with CF in our practice, which is relatively small compared to other diseases. We have slightly more CF patients because we specialize in it."/> @@ -611,7 +611,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ <strong>Expansion of Biosafety Standards:</strong> Extending biosafety protocols to mimic preclinical trial conditions reinforced the commitment to safe, ethical research practices and laid the groundwork for clinical relevance, demonstrating responsibility toward future patients. </li> <li> - <strong>Local and International Community Engagement:</strong> Efforts to raise awareness at both local and global levels ensured that the project was not only scientifically sound but also socially responsible, with a focus on educating and involving the public in the conversation around cystic fibrosis and gene therapy. + <strong>Local and International Community Engagement:</strong> Efforts to raise awareness at both local and global levels ensured that the project was not only scientifically sound but also socially responsible, with a focus on educating and involving the public in the conversation around fibrosis and gene therapy. </li> </ul> ], @@ -631,7 +631,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ quoteNachname: "Susat, Teammember", quoteVorname: "Kathleen", quote: "It was amazing to see how movement can bring people together. I had a great time.", - summary: [<p>MUKOmove{/* [LINK unten mukomove] */} is a sports initiative by Mukoviszidose e.V., the German Cystic Fibrosis Association, to raise awareness and funds for cystic fibrosis. Team iGEM Bielefeld participated from May 8th to May 12th, promoting the event at their university and city, encouraging others to join and collect sport hours. They organized a team event at their university, involving sports games to promote community engagement. Their efforts helped surpass their goal of 240 hours, with the team achieving 358 sport hours, while the entire event gathered over 36,000 sport hours. The initiative successfully raised awareness about cystic fibrosis and promoted physical activity as a means of community building.</p>], + summary: [<p>MUKOmove{/* [LINK unten mukomove] */} is a sports initiative by Mukoviszidose e.V., the German Cystic Fibrosis Association, to raise awareness and funds for fibrosis. Team iGEM Bielefeld participated from May 8th to May 12th, promoting the event at their university and city, encouraging others to join and collect sport hours. They organized a team event at their university, involving sports games to promote community engagement. Their efforts helped surpass their goal of 240 hours, with the team achieving 358 sport hours, while the entire event gathered over 36,000 sport hours. The initiative successfully raised awareness about fibrosis and promoted physical activity as a means of community building.</p>], months: "May" }, { @@ -676,7 +676,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ implementation: [<p>The inputs given by Mattijs directly impacted our design choices for multiple parts of the project. For the pegRNA design, we decided to use the same 3’ motif as Mattijs had used and also, like he suggested, checked our spacer candidates for predicted cleavage efficiency. Also we used HEK cells for screening our pegRNAs. We looked further into PE systems that influence cellular mismatch repair (such as PE4) and tried to include these into our design.</p>], interview: <> <QaBox q="We have prepared some questions for you. The first question is: You mentioned that it was quite challenging to target the F508 delta mutation. Could you provide more detailed reasons for why this is the case or explain why this mutation is particularly difficult to target compared to others?" - a="Yes, that's the million-dollar question. First of all, let me clarify: our group has never directly worked on that mutation because we immediately focused on the drug-refractory mutations, such as nonsense mutations where the protein is not formed, indel mutations, or severe missense mutations that do not respond to modulator therapies. Of course, we know several groups in the field who either work on gene editing or focus on cystic fibrosis (CF). We've heard from some of them who attempted to target the F508 delta mutation. For example, some collaborators really tried to design different guides but were unable to find anything above the detection limit. + a="Yes, that's the million-dollar question. First of all, let me clarify: our group has never directly worked on that mutation because we immediately focused on the drug-refractory mutations, such as nonsense mutations where the protein is not formed, indel mutations, or severe missense mutations that do not respond to modulator therapies. Of course, we know several groups in the field who either work on gene editing or focus on fibrosis (CF). We've heard from some of them who attempted to target the F508 delta mutation. For example, some collaborators really tried to design different guides but were unable to find anything above the detection limit. F508del is probably one of the most logical mutations to try to correct, not just for CF but for the entire gene-editing field. If you look at the frequencies of mutations that cause genetic diseases, the F508 delta mutation is by far the most common deletion mutation causing a severe disease. This is because CF, along with sickle cell disease, is one of the most common deadly inherited diseases, and it's overrepresented within CF. So, it makes sense that they would have been trying to target it from the beginning. Interestingly, if you read the Prime Editing paper by Anzalone, F508 delta is mentioned in the introduction in connection with CF. So, it's somewhat surprising that after all this time—it's been almost five years now—they haven't published or released anything on F508 delta. However, last weekend, there was an online seminar where David Liu gave a talk, and he showed some unpublished data indicating that they managed to achieve quite good Prime Editing efficiency on F508 delta. It's worth noting that David Liu rarely presents unpublished data unless the publication is either accepted or very close to acceptance. So, we all kind of expect that the paper will be published soon, perhaps within the next week or at least within a month. From what I saw, it appears they leveraged many of the approaches available today to enhance Prime Editing. @@ -754,21 +754,21 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ cardtext: "", quoteNachname: "Köhler, Teammember", quoteVorname: "Vera", - quote: "I’m excited about our partnership with Mukoviszidose e.V. Deutschland to raise awareness in our community. Educating people about cystic fibrosis and gene therapy is essential, and I believe our scientific advancements will have a broader impact beyond just this condition.", + quote: "I’m excited about our partnership with Mukoviszidose e.V. Deutschland to raise awareness in our community. Educating people about fibrosis and gene therapy is essential, and I believe our scientific advancements will have a broader impact beyond just this condition.", type: "meta", summary: [<p> - During the early stages of our project, we discovered through our survey that while many participants were open to trying gene therapies, they lacked adequate knowledge about them. Additionally, most respondents were unfamiliar with cystic fibrosis, highlighting the need for greater awareness. Driven by a desire to educate the people of Bielefeld, we collaborated with Mukoviszidose e.V. Deutschland to support the Muko Move campaign, a successful initiative aimed at raising awareness about cystic fibrosis. On the scientific front, we elevated our project to a new level. With valuable feedback from Mattijs Bulcaen at the University of Leuven, we incorporated a novel RNA structural element into our Prime Editing complex, significantly improving its efficiency. After successfully optimizing the pegRNA, we moved forward with enhancing the Prime Editing protein complex. Our goal is to make Prime Editing not only safer but also easier to apply, so that our research can benefit more than just cystic fibrosis patients, ultimately broadening the impact of our work. + During the early stages of our project, we discovered through our survey that while many participants were open to trying gene therapies, they lacked adequate knowledge about them. Additionally, most respondents were unfamiliar with fibrosis, highlighting the need for greater awareness. Driven by a desire to educate the people of Bielefeld, we collaborated with Mukoviszidose e.V. Deutschland to support the Muko Move campaign, a successful initiative aimed at raising awareness about fibrosis. On the scientific front, we elevated our project to a new level. With valuable feedback from Mattijs Bulcaen at the University of Leuven, we incorporated a novel RNA structural element into our Prime Editing complex, significantly improving its efficiency. After successfully optimizing the pegRNA, we moved forward with enhancing the Prime Editing protein complex. Our goal is to make Prime Editing not only safer but also easier to apply, so that our research can benefit more than just fibrosis patients, ultimately broadening the impact of our work. </p>, <ul> <li> - <strong>Survey Insights:</strong> Many participants were motivated to try gene therapies but lacked knowledge about them and cystic fibrosis, highlighting the need for better public education. + <strong>Survey Insights:</strong> Many participants were motivated to try gene therapies but lacked knowledge about them and fibrosis, highlighting the need for better public education. </li> <li> - <strong>Awareness Campaign:</strong> Partnered with Mukoviszidose e.V. Deutschland to support the Muko Move campaign, raising awareness about cystic fibrosis in the local community. + <strong>Awareness Campaign:</strong> Partnered with Mukoviszidose e.V. Deutschland to support the Muko Move campaign, raising awareness about fibrosis in the local community. </li> <li> - <strong>Scientific Advancements:</strong> Improved the efficiency of Prime Editing by incorporating a novel RNA structural element, with further efforts to optimize the Prime Editing protein complex for broader applicability beyond cystic fibrosis. + <strong>Scientific Advancements:</strong> Improved the efficiency of Prime Editing by incorporating a novel RNA structural element, with further efforts to optimize the Prime Editing protein complex for broader applicability beyond fibrosis. </li> </ul>], months: "june" @@ -785,7 +785,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ quoteNachname: "Sahami Moghaddam, Teammember", quoteVorname: "Asal", quote: "I had a great time educating the kids about gene therapy and CF in a playful way, and there were some very interesting conversations with the parents.", - summary: [<p>"Der Teuto ruft!"{/* [LInk zu Teuto unten] */} is a community event in Bielefeld where iGEM Bielefeld participated to raise awareness about cystic fibrosis (CF) and gene therapy. They engaged children through interactive experiments, such as creating lung models and simulating mucus to help them understand the challenges faced by CF patients. Adults were informed about their gene therapy project and had meaningful discussions about the implications of CF treatment. Collaborating with other institutions like the life science student initiative btS, the team expanded their outreach. Despite changeable weather, the event was a success in educating the public and improving science communication.</p>], + summary: [<p>"Der Teuto ruft!"{/* [LInk zu Teuto unten] */} is a community event in Bielefeld where iGEM Bielefeld participated to raise awareness about fibrosis (CF) and gene therapy. They engaged children through interactive experiments, such as creating lung models and simulating mucus to help them understand the challenges faced by CF patients. Adults were informed about their gene therapy project and had meaningful discussions about the implications of CF treatment. Collaborating with other institutions like the life science student initiative btS, the team expanded their outreach. Despite changeable weather, the event was a success in educating the public and improving science communication.</p>], months: "June" }, { @@ -814,14 +814,14 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ dealing with CF and we were able to discuss the situation for patients in Germany in comparison to other countries better in later <HPLinktoOtherHPTab tab="joshua" text="interviews" />. </p>], interview: <> <QaBox q="Can you tell us a bit about your family? How old are your children and yourselves?" a="I’m 37, my husband is 44, and our daughter is six, turning seven soon. We also have a son who’s about a year and a half." /> - <QaBox q="Does your son also have cystic fibrosis?" a="No, he doesn’t." /> - <QaBox q="When was your daughter diagnosed with cystic fibrosis?" a="Right after birth. She was transferred to a bigger hospital due to an intestinal blockage and had surgery. After about two to three weeks in intensive care, the cystic fibrosis diagnosis came through newborn screening. At that time, the results took longer to process than they do now." /> + <QaBox q="Does your son also have fibrosis?" a="No, he doesn’t." /> + <QaBox q="When was your daughter diagnosed with fibrosis?" a="Right after birth. She was transferred to a bigger hospital due to an intestinal blockage and had surgery. After about two to three weeks in intensive care, the fibrosis diagnosis came through newborn screening. At that time, the results took longer to process than they do now." /> <QaBox q="That intestinal issue can happen for many reasons, right?" a="Yes, it was all new to us. The beginning was difficult, but things have gotten better since then, and we’re very grateful." /> <QaBox q="How did you feel when you first heard the diagnosis?" a="It felt like our world was falling apart. I still remember the moment—it was like being in a movie. We were told in a separate room, and it felt overwhelming. One doctor even suggested we go home to think about it in peace, but all I could think about was returning to my child. It was a lot to take in, especially thinking about how we’d tell our family." /> <QaBox q="That sounds incredibly hard. How did you handle it as time passed?" a="It was tough, but we were fortunate to have a doctor who really understood what we were going through, as he had a disabled child himself. He never scared us unnecessarily and guided us step by step, which made a big difference. We know many families who live in constant fear, but since those first months, we’ve learned to manage the situation without being overwhelmed by fear." /> <QaBox q="Did any particular support help your family adjust to the diagnosis?" a="Yes, the rehab program we attended was a huge help. It was a family-oriented program, so my husband could be there too, which was important since I manage most things day-to-day. It really helped our daughter realize she’s not alone—she met other kids with similar conditions, which was a huge comfort." /> <QaBox q="How did you explain the illness to your daughter?" a="We try to give it as little attention as possible in daily life. She’s been inhaling medication since she was eight weeks old, and it’s just part of her routine now. Thankfully, she doesn’t fight it or question it much, and her school and kindergarten haven’t made a big deal of it either, which is what we wanted." /> - <QaBox q="Does she ever ask about her illness compared to her younger brother, who doesn’t have cystic fibrosis?" a="She does sometimes ask why she’s sick and he’s not, but she’s not upset by it. We’ve made sure not to give her any special treatment because of her illness, which can be hard at times, but we want her to understand that her illness doesn’t define her." /> + <QaBox q="Does she ever ask about her illness compared to her younger brother, who doesn’t have fibrosis?" a="She does sometimes ask why she’s sick and he’s not, but she’s not upset by it. We’ve made sure not to give her any special treatment because of her illness, which can be hard at times, but we want her to understand that her illness doesn’t define her." /> <QaBox q="That sounds like a good balance. What about medications—did she start on any special treatments?" a="Yes, she started on Orkambi at around three years old but had to stop briefly due to high liver values. Now she’s on Kaftrio, which she started shortly before her sixth birthday, and it’s been going well." /> <QaBox q="Did you face any issues with the health insurance for covering these medications?" a="Fortunately, no. We have statutory health insurance, and they’ve covered everything without any issues. We’ve heard it can be more complicated for those with private insurance." /> <QaBox q="Have you ever had difficulties with access to medication?" a="Yes, there have been times when we’ve had to wait a few days for certain medications, like Kreon or antibiotics, especially in the winter. But we always plan ahead and keep a buffer, so we’ve never been without what we need." /> @@ -873,13 +873,13 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ affiliation: "University Potsdam", pictureurl: pics['nicole'], tag: "Academia", - heading: "Discussion on how health insurance companies manage cystic fibrosis patients and gene therapy treatments", + heading: "Discussion on how health insurance companies manage fibrosis patients and gene therapy treatments", interviewtabid: "nicole", cardtext: "", language: "de", quote: "Public health insurance operates under an economic efficiency principle, meaning the most cost-effective treatments are preferred. But if gene therapies become the only treatment option for certain conditions, they will likely have to be included in the coverage, which could be a challenge for the system.", - aimofcontact: "The main objective of the contact was to learn from the discussion on issues related to cystic fibrosis (CF), gene therapy, health insurance processes and regulatory pathways. In particular, we wanted to understand the real-world challenges and technical aspects of gene editing, especially prime editing, as well as the complexities of approval and reimbursement of gene therapies for CF patients.", - insights: "The regulatory approval process, particularly by the European Medicines Agency (EMA) for advanced medical devices, has highlighted the bureaucratic hurdles that gene therapies must overcome. We learned that such therapies for cystic fibrosis have to navigate complex European and German regulatory systems. The discussion on the AMNOG process was crucial. We learnt that the additional benefit of a therapy is assessed for reimbursement by the statutory health insurance funds. We implemented this insight in our project by considering the long-term regulatory and economic effects as important milestones for therapy development. We also gained insight into how public and private health insurers may differ in their reimbursement of such therapies. Public insurers have stricter guidelines, while private insurers can be more flexible, but both require strict justification, especially for rare diseases such as cystic fibrosis. Information on newborn screening and genetic counselling covered by public health insurance was crucial to understanding how preventive measures for CF are managed. This underlines the importance of early intervention and diagnosis in our project. Atypical forms of CF, where health insurance companies do not cover treatment due to non-standardised test results, were identified as a key problem. This helped us to recognise the need for more adaptable insurance policies and clearer pathways for the treatment of atypical cases in our project plans. The debate about whether healthcare systems can afford the high costs of gene therapies highlighted an important issue in the current medical landscape. We have incorporated this insight into our project by discussing possible cost-effective alternatives and the need for thorough cost-benefit analysis in the development of treatments.", + aimofcontact: "The main objective of the contact was to learn from the discussion on issues related to fibrosis (CF), gene therapy, health insurance processes and regulatory pathways. In particular, we wanted to understand the real-world challenges and technical aspects of gene editing, especially prime editing, as well as the complexities of approval and reimbursement of gene therapies for CF patients.", + insights: "The regulatory approval process, particularly by the European Medicines Agency (EMA) for advanced medical devices, has highlighted the bureaucratic hurdles that gene therapies must overcome. We learned that such therapies for fibrosis have to navigate complex European and German regulatory systems. The discussion on the AMNOG process was crucial. We learnt that the additional benefit of a therapy is assessed for reimbursement by the statutory health insurance funds. We implemented this insight in our project by considering the long-term regulatory and economic effects as important milestones for therapy development. We also gained insight into how public and private health insurers may differ in their reimbursement of such therapies. Public insurers have stricter guidelines, while private insurers can be more flexible, but both require strict justification, especially for rare diseases such as fibrosis. Information on newborn screening and genetic counselling covered by public health insurance was crucial to understanding how preventive measures for CF are managed. This underlines the importance of early intervention and diagnosis in our project. Atypical forms of CF, where health insurance companies do not cover treatment due to non-standardised test results, were identified as a key problem. This helped us to recognise the need for more adaptable insurance policies and clearer pathways for the treatment of atypical cases in our project plans. The debate about whether healthcare systems can afford the high costs of gene therapies highlighted an important issue in the current medical landscape. We have incorporated this insight into our project by discussing possible cost-effective alternatives and the need for thorough cost-benefit analysis in the development of treatments.", implementation: [<p>After the interview, we further tailored our project to focus on a simple delivery method to reduce the therapeutic effort. To gain an overview of the regulatory requirements and to better deliver the project, one of our team members attended a <HPLinktoOtherHPTab tab="gxpcourse" text="GxP course"/> to ensure we met all the necessary standards. To deepen our knowledge of entrepreneurship, we conducted further interviews with start-ups and <HPgoToPageAndScroll id="Further Engagement3H" path="\human-practices" text="industrial companies" />, which gave us important insights into practical implementation. These steps ensure that our project is not only based on scientific research, but also takes into account the practical, regulatory and social aspects that are crucial to bringing new CF therapies to the market. We are currently developing strategies to successfully implement our ideas and the project in the future.</p>], interview: <> <QaBox q="To start with this interview. Do you have any questions about this project?" @@ -888,9 +888,9 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ a="Are you writing a formal paper?" /> <QaBox q="We’re not writing a formal text-based paper, but everything will be available on a website. We will document most of our work on the website, with sub-pages detailing lab work, interviews, and research." a="What exactly is Prime Editing, and how does it differ from altering the germline? Where in the genome does this therapy act?" /> - <QaBox q="Our current plan is to deliver the therapy via a lipid nanoparticle system, which will be inhaled and go into the lungs. While cystic fibrosis (CF) affects all mucus membranes, the lungs are the most critical area, so we’re focusing on that. The therapy will only target surface cells in the lungs, not the basal cells responsible for producing new lung cells." + <QaBox q="Our current plan is to deliver the therapy via a lipid nanoparticle system, which will be inhaled and go into the lungs. While fibrosis (CF) affects all mucus membranes, the lungs are the most critical area, so we’re focusing on that. The therapy will only target surface cells in the lungs, not the basal cells responsible for producing new lung cells." a="Thank you for giving me insights into your project." /> - <QaBox q="Do you know how cystic fibrosis (CF) approval works in terms of health insurance and regulatory processes?" + <QaBox q="Do you know how fibrosis (CF) approval works in terms of health insurance and regulatory processes?" a="The approval process for gene therapies is primarily done through the EMA (European Medicines Agency) under specific EU regulations for Advanced Medical Products, including gene therapies. There is also a national approval process in Germany for individualized treatments, but large-scale therapies must go through the EU process." /> <QaBox q="Can you share more about the approval and reimbursement processes for CF treatment?" a="The approval process is separate from reimbursement by public health insurance. CF is considered a rare disease if it affects fewer than five out of 10,000 people, and treatments for rare diseases often face special reimbursement challenges. If more than five out of 10,000 people are affected, the disease is relatively common, and approval and reimbursement go through a different procedure known as the AMNOG process. For more common diseases, an additional benefit (Zusatznutzen) must be demonstrated during the approval process." /> @@ -921,9 +921,9 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ <QaBox q="Do biologists or medical professionals develop gene therapies?" a="In terms of development, it’s mainly biologists and biotechnologists. Medical professionals get involved primarily in clinical trials. Some doctors do research, but they’re often needed in hospitals, so hands-on development is mostly handled by molecular biologists or biotechnologists." /> <QaBox q="Does research in genome medicine and gene therapies come from biology, medicine, or both?" - a="It’s mainly interdisciplinary. A lot of funding comes from industry, like BioNTech, or foundations like Mukoviszidose e.V., which funds research on cystic fibrosis. But in terms of practical research, it’s usually biologists or biotechnologists. Without industry support, research can struggle due to a lack of funding, so having backing is essential." /> + a="It’s mainly interdisciplinary. A lot of funding comes from industry, like BioNTech, or foundations like Mukoviszidose e.V., which funds research on fibrosis. But in terms of practical research, it’s usually biologists or biotechnologists. Without industry support, research can struggle due to a lack of funding, so having backing is essential." /> </>, - summary: "Our discussion addressed the complexities of cystic fibrosis (CF) treatments, focusing on gene therapy and health insurance processes. We learned about the regulatory challenges gene therapies face, particularly regarding the European Medicines Agency (EMA) and the AMNOG process for reimbursement assessments. Public insurers impose stricter guidelines than private insurers, emphasizing the importance of early intervention in CF and the need for adaptable policies for atypical cases. We recognized the high costs associated with gene therapies and incorporated cost-benefit analysis into our project planning. Following the interview, we refined our approach to include straightforward delivery methods and attended a GxP course for regulatory compliance. Engaging with start-ups further informed our practical implementation strategies, ensuring our project aligns with both scientific and regulatory needs.", + summary: "Our discussion addressed the complexities of fibrosis (CF) treatments, focusing on gene therapy and health insurance processes. We learned about the regulatory challenges gene therapies face, particularly regarding the European Medicines Agency (EMA) and the AMNOG process for reimbursement assessments. Public insurers impose stricter guidelines than private insurers, emphasizing the importance of early intervention in CF and the need for adaptable policies for atypical cases. We recognized the high costs associated with gene therapies and incorporated cost-benefit analysis into our project planning. Following the interview, we refined our approach to include straightforward delivery methods and attended a GxP course for regulatory compliance. Engaging with start-ups further informed our practical implementation strategies, ensuring our project aligns with both scientific and regulatory needs.", months: "june", pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/zoom-nicole.webp", }, @@ -965,7 +965,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ language: "de", quote: "Children are the world's best “mucus hidersâ€.", aimofcontact: [<a>During the last interview with <HPLinktoOtherHPTab tab="westhoffinv" text="Katrin Westhoff" />, she invited us to join a few physiotherapy sessions – not just as spectators but as participants. We gladly accepted and visited her in her practice. Over a few hours, we took part in four sessions with different children – not all of them CF patients. </a>], - insights: "During the sessions, we could ask Katrin as well as the respective parents and children questions. We learned that breathing therapy is also useful for other illnesses and that you can easily do some of the exercises yourself. Despite having cystic fibrosis, the children were better at the breathing exercises than we and Katrin were! The sessions take 30 to 60 minutes and include both manual therapy and playful elements to help engage the children. Most older children range from mildly unhappy to enthusiastic, but babies often cry during the treatments as it feels uncomfortable. This is often hard on the parents even though the treatment brings good results. A lot of children tend to hide that they have mucus sitting in their lungs by suppressing coughs. Especially with young children, it is important to stay on top of it and do regular breathing therapy even if it seems like it is currently not necessary. We also learned about the various informational material aimed at children to help explain therapies and symptoms to them and what accessories for breathing therapy there are. For example, a flutter is to train breathing out forcefully by breathing against a small weight and a binder can be worn at night to promote deep breathing. ", + insights: "During the sessions, we could ask Katrin as well as the respective parents and children questions. We learned that breathing therapy is also useful for other illnesses and that you can easily do some of the exercises yourself. Despite having fibrosis, the children were better at the breathing exercises than we and Katrin were! The sessions take 30 to 60 minutes and include both manual therapy and playful elements to help engage the children. Most older children range from mildly unhappy to enthusiastic, but babies often cry during the treatments as it feels uncomfortable. This is often hard on the parents even though the treatment brings good results. A lot of children tend to hide that they have mucus sitting in their lungs by suppressing coughs. Especially with young children, it is important to stay on top of it and do regular breathing therapy even if it seems like it is currently not necessary. We also learned about the various informational material aimed at children to help explain therapies and symptoms to them and what accessories for breathing therapy there are. For example, a flutter is to train breathing out forcefully by breathing against a small weight and a binder can be worn at night to promote deep breathing. ", implementation: "The most important thing was that both Katrin and the parents agreed that the children were able to inhale at an early age and that there were generally no physical problems with inhalation in general. This reinforced our decision to work towards delivery by inhalation. It was very interesting to see the different ways children deal with their exercises and hear about the progress they made. ", text: [<ol> <li> @@ -985,7 +985,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ <p>Chrissi takes modulators and will soon take a trip to a water park with some friends. Katrin teaches us that when the children do not breathe out properly, air stays in the lungs and causes hyperinflation – with which it is actually harder to float in water! After the manual drainage, Katrin gets all of us glasses with water and dish soap and straws. Blowing bubbles is a playful way to train how to properly breathe out by either trying to blow bubbles as long as possible or trying to make an existing bubble as big as possible!</p> </li> </ol>,], - summary: "In the visit with Katrin Westhoff, we participated in physiotherapy sessions for children, including those with cystic fibrosis (CF). We observed that breathing therapy is beneficial for various illnesses and learned techniques that can be practiced at home. Sessions last 30 to 60 minutes, combining manual therapy with playful elements. While older children engaged well, infants often found the exercises uncomfortable. Importantly, both Katrin and parents noted that children could inhale without issues from an early age, reinforcing our focus on inhalation delivery methods for therapies.", + summary: "In the visit with Katrin Westhoff, we participated in physiotherapy sessions for children, including those with fibrosis (CF). We observed that breathing therapy is beneficial for various illnesses and learned techniques that can be practiced at home. Sessions last 30 to 60 minutes, combining manual therapy with playful elements. While older children engaged well, infants often found the exercises uncomfortable. Importantly, both Katrin and parents noted that children could inhale without issues from an early age, reinforcing our focus on inhalation delivery methods for therapies.", pictureurl_interview:"https://static.igem.wiki/teams/5247/photos/hp/besuch-westhoff/untitled-design.png", months: "june" }, @@ -1100,18 +1100,18 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ of care depends on the healthcare system, as we already touched on during the interview with <HPLinktoOtherHPTab tab="nicole" text="Nicole Friedlein" />,. On the parenting level, Joshua brought in many perspectives contrary to what we previously heard. In the interview with <HPLinktoOtherHPTab tab="maxfirst" text="Max" />,, we learned he vehemently avoids ponding water while Joshua’s daughter is allowed to roam around with no such restrictions. Neither have chronic infections.</p>], implementation: [<p>The interview with Josh made us realize we too needed to look at the reason why we chose F508del. Did we, too, fall for bias? Despite a change of target not being feasible anymore, we looked into it and traced back our steps that led to our decision. We did not find as much - information about other mutations when first researching cystic fibrosis, especially in the context of prime editing. Mattijs Bulceans's paper on - targeting the mutations L227R and N1303K <TabScrollLink tab="joshua" scrollId="desc-1" num="1" /> was one of few papers. After explicitly searching for cystic fibrosis records for specific countries and + information about other mutations when first researching fibrosis, especially in the context of prime editing. Mattijs Bulceans's paper on + targeting the mutations L227R and N1303K <TabScrollLink tab="joshua" scrollId="desc-1" num="1" /> was one of few papers. After explicitly searching for fibrosis records for specific countries and regions, we uncovered a moderate number of papers examining CF in Asia and other regions we previously did not know much about. The very first article - supported Joshua's hypotheses and painted a sad picture: Among other things, it describes the case of a four-month-old boy who was diagnosed with cystic + supported Joshua's hypotheses and painted a sad picture: Among other things, it describes the case of a four-month-old boy who was diagnosed with fibrosis. Nothing unusual in itself, but the circumstances are depressing. Two of the three siblings born before him died within months of birth and had - previously presented with symptoms of cystic fibrosis. He was the first to be diagnosed. A sweat test aimed at cystic fibrosis was not available at the + previously presented with symptoms of fibrosis. He was the first to be diagnosed. A sweat test aimed at fibrosis was not available at the hospital, so one was improvised. Later on, a genetic test revealed the presence of 508del. <TabScrollLink tab="joshua" scrollId="desc-2" num="2" /> We found ourselves and our lack of knowledge in good company as we found papers as new as from 2020 (14 years after the previously mentioned paper) containing statements such as “recent reports suggest - that CF does occur in Asia†<TabScrollLink tab="joshua" scrollId="desc-3" num="3" />. Fortunately, there is a rising number of cystic fibrosis experts for Asia and other previously overlooked regions + that CF does occur in Asia†<TabScrollLink tab="joshua" scrollId="desc-3" num="3" />. Fortunately, there is a rising number of fibrosis experts for Asia and other previously overlooked regions such as Africa. <TabScrollLink tab="joshua" scrollId="desc-4" num="4" /> We chose to not only look at the scientific data but also into anecdotal evidence. To find the latter, we searched official and private websites and chatrooms for information and experiences of patients. In the end, we found narratives from most ethnic backgrounds - about being dismissed and often misdiagnosed. Of course, this is not an occurrence unique to cystic fibrosis. Our conclusion is that yes, + about being dismissed and often misdiagnosed. Of course, this is not an occurrence unique to fibrosis. Our conclusion is that yes, we did fall for bias. But regardless of ethnicity, 508del occurs and is overall the most prevalent mutation as was confirmed in our interview with CF expert Sriram .... This experience was uncomfortable as we felt the pressure to be thorough and deliver a perfect project. What would have been more devastating than realizing we made a wrong choice at the very core? We made the conscious decision to invest our resources into @@ -1135,11 +1135,11 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ cardtext: "", quoteNachname: "Wiesner, Teammember", quoteVorname: "Lisa", - quote: "I’m thrilled with the progress we’re making in optimizing our delivery strategies. The collaboration with industry experts has opened our eyes to new possibilities, and I believe our work will significantly impact cystic fibrosis treatment.", + quote: "I’m thrilled with the progress we’re making in optimizing our delivery strategies. The collaboration with industry experts has opened our eyes to new possibilities, and I believe our work will significantly impact fibrosis treatment.", type: "meta", summary: [ <p> - After successfully conducting multiple experiments, we delved deeper into delivery strategies for our Prime Editing system. Our stakeholders provided crucial feedback that helped us overcome experimental failures and improve our methodology. Marco Raduvic offered key tips for effectively utilizing lipid nanoparticles, allowing us to successfully transfect them into HEK and CFTR-specific cells. Additionally, we replicated the proof of concept established by David Liu et al. in 2019, gaining valuable insights into how a Prime Editing system should function. During this process, we identified a gap in measuring the efficiency of our Prime Editing constructs. To address this, we developed a fluorescence-based system with high selectivity, allowing us to perform precise efficiency analyses. Beyond lab work, we connected with various industry members, not only to secure sponsorships but to emphasize collaboration and exchange with leading market players. Through this network, we not only received feedback on the importance of physiological therapies but also gained insights into the insurance-related challenges associated with a fundamental disease like cystic fibrosis. This motivated us to take our project to the next level. Our collaboration with the medical faculty of our university, along with national feedback, enabled us to integrate new and advanced validation methods. In the next phase of our studies, we decided to optimize lipid nanoparticles (LNPs) to make them suitable for a novel, lung-specific delivery strategy. Additionally, we prepared to explore enzyme engineering by engaging with stakeholders experienced in nickase development and yeast experimental design, further refining our Prime Editing system. + After successfully conducting multiple experiments, we delved deeper into delivery strategies for our Prime Editing system. Our stakeholders provided crucial feedback that helped us overcome experimental failures and improve our methodology. Marco Raduvic offered key tips for effectively utilizing lipid nanoparticles, allowing us to successfully transfect them into HEK and CFTR-specific cells. Additionally, we replicated the proof of concept established by David Liu et al. in 2019, gaining valuable insights into how a Prime Editing system should function. During this process, we identified a gap in measuring the efficiency of our Prime Editing constructs. To address this, we developed a fluorescence-based system with high selectivity, allowing us to perform precise efficiency analyses. Beyond lab work, we connected with various industry members, not only to secure sponsorships but to emphasize collaboration and exchange with leading market players. Through this network, we not only received feedback on the importance of physiological therapies but also gained insights into the insurance-related challenges associated with a fundamental disease like fibrosis. This motivated us to take our project to the next level. Our collaboration with the medical faculty of our university, along with national feedback, enabled us to integrate new and advanced validation methods. In the next phase of our studies, we decided to optimize lipid nanoparticles (LNPs) to make them suitable for a novel, lung-specific delivery strategy. Additionally, we prepared to explore enzyme engineering by engaging with stakeholders experienced in nickase development and yeast experimental design, further refining our Prime Editing system. </p>, <ul> <li> @@ -1152,7 +1152,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ <strong>Development of Fluorescence-Based Efficiency Measurement:</strong> Created a highly selective fluorescence-based system to accurately measure the efficiency of Prime Editing constructs. </li> <li> - <strong>Industry Collaboration:</strong> Established connections with industry members for sponsorships, collaboration, and feedback on broader challenges such as insurance issues tied to cystic fibrosis treatment. + <strong>Industry Collaboration:</strong> Established connections with industry members for sponsorships, collaboration, and feedback on broader challenges such as insurance issues tied to fibrosis treatment. </li> <li> <strong>Optimization of LNPs for Lung-Specific Delivery:</strong> Began optimizing lipid nanoparticles for lung-specific delivery, while preparing for enzyme engineering to enhance the Prime Editing system. @@ -1519,8 +1519,8 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ language: "de", quoteVorname: "Dr. Benjamin", quoteNachname: "Winkeljann, Expert for LNPs und Ceo von RNhale", - quote: "Spray-drying LNPs is a groundbreaking approach that enhances stability and enables efficient pulmonary delivery of mRNA, paving the way for innovative therapies for conditions like cystic fibrosis.", - aimofcontact: [<p>As part of our development process of an innovative, effective pulmonary delivery of therapeutic mRNA to fight cystic fibrosis, + quote: "Spray-drying LNPs is a groundbreaking approach that enhances stability and enables efficient pulmonary delivery of mRNA, paving the way for innovative therapies for conditions like fibrosis.", + aimofcontact: [<p>As part of our development process of an innovative, effective pulmonary delivery of therapeutic mRNA to fight fibrosis, we conducted an interview with Dr. Benjamin Winkeljann, who is the Co-Founder of <a href="https://rnhale.com/">RNhale</a>. Dr. Benjamin Winkeljann has a wealth of experience in the field of RNA therapeutics and nanotechnology. His background includes extensive research in the development of lipid-based delivery systems, focusing on optimizing stability and efficacy for therapeutic applications. Winkeljann’s work @@ -1599,7 +1599,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ quoteVorname:" Dr. Katharina", quoteNachname: "Kolonko, LNP Specialist with focus on chitosan and CF therapies ", quote: "Wow, you’re already further along than I was! That’s a really good approach, especially since dry powder formulations can help with stability.", - aimofcontact: [<p>Our goal in reaching out to Dr. Katharina Kolonko, who earned her PhD working on chitosan-based nanoparticles for delivering nucleic acids to human respiratory cells in the context of cystic fibrosis, was to seek her advice on the design, stability, and application of nanoparticles. We wanted to learn from her experience with chitosan-capsaicin nanoparticles, especially the challenges she encountered, and apply her insights to improve our own project. Specifically, we aimed to better understand nanoparticle stability, transfection methods, and how to effectively design our experiments. + aimofcontact: [<p>Our goal in reaching out to Dr. Katharina Kolonko, who earned her PhD working on chitosan-based nanoparticles for delivering nucleic acids to human respiratory cells in the context of fibrosis, was to seek her advice on the design, stability, and application of nanoparticles. We wanted to learn from her experience with chitosan-capsaicin nanoparticles, especially the challenges she encountered, and apply her insights to improve our own project. Specifically, we aimed to better understand nanoparticle stability, transfection methods, and how to effectively design our experiments. </p>], insights: [<p>Dr. Kolonko provided us with valuable insights into working with nanoparticles, particularly emphasizing the advantages of nanocapsules. She highlighted that nanocapsules are more stable than nano-complexes, which is crucial for experiments involving complex environments and high shear forces. Additionally, her use of capsaicin wasn’t aimed at improving transfection efficiency but was part of a broader strategy targeting specific channels. She also shared practical methods for measuring particle stability and cytotoxicity, giving us clear guidance on tools and techniques that we can apply to our project. Furthermore, Dr. Kolonko discussed the use of chitosan as a component in nanoparticle formulations. Chitosan, with its positive charge, can interact with mRNA, potentially enhancing the stability of the cargo. As an outlook, we plan to explore modifications using chitosan to improve the stability and performance of our mRNA delivery system. This approach may provide a more robust solution for optimizing nanoparticle formulations in future experiments. </p>], @@ -1615,7 +1615,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ </ul> ] , interview:<> - <QaBox q="How did you approach the design of Lipid Nanoparticles (LNPs)? What were the first steps you took at that time? Were you already familiar with LNPs, or was that a completely new experience for you?" a="I started working with nanoparticles during my bachelor’s thesis. I continued with nanoparticles into my master’s thesis, working on a project related to cystic fibrosis. Initially, I worked with nano-complexes, but later switched to nano-capsules due to their stability, especially in cell culture media." /> + <QaBox q="How did you approach the design of Lipid Nanoparticles (LNPs)? What were the first steps you took at that time? Were you already familiar with LNPs, or was that a completely new experience for you?" a="I started working with nanoparticles during my bachelor’s thesis. I continued with nanoparticles into my master’s thesis, working on a project related to fibrosis. Initially, I worked with nano-complexes, but later switched to nano-capsules due to their stability, especially in cell culture media." /> <QaBox q="Since you’re focused on stability and applying high shear forces, could you explain why nano-capsules are more stable than complexes in this context?" a="Nano-capsules are generally more stable in cell culture media compared to nano-complexes, which often react with additives and proteins. However, I didn’t explore shear forces much further. My main goal was to stabilize the particles in cell culture media for testing on cells." /> <QaBox q="What kind of cell culture medium did you use for these experiments?" a="For transfection, we used Optimem as the medium, after removing antibiotics from the culture medium 24 hours prior to transfection." /> <QaBox q="How long did it take you to get to the point where you used nano-capsules?" a="I only started working with nano-capsules towards the end of my PhD. I spent much of my time with nano-complexes, but when I visited a lab in Leeds, I shifted to nano-capsules. This transition happened quite late, just months before I finished my thesis." /> @@ -1675,10 +1675,10 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ I have acquired the ability to create standard operating procedures (SOPs) that guarantee the transparent and traceable documentation of each stage of the research process. This not only facilitates internal organisation but is also crucial for subsequent approvals and audits by regulatory authorities. It is of paramount importance to ensure the reproducibility of our experiments by maintaining accurate protocols and meticulously documenting all variables. This is of particular importance should the intention be to pursue clinical research at a later stage, as the reproducibility of experiments is a crucial factor in the validity of the results. I acquired knowledge of techniques for risk assessment, including Failure Mode and Effects Analysis (FMEA). This process enables the identification of potential risks in a project at an early stage, thus facilitating the development of strategies to minimise them. This approach allows us to identify and address potential sources of error before they lead to significant issues. - This knowledge is crucial as we think about the future of our project, particularly if we aim to move our gene therapy approach for cystic fibrosis closer to clinical trials and real-world applications. My participation in the GXP training has equipped me with the necessary tools to potentially guide our team through the complex regulatory landscape, ensuring our work remains aligned with industry standards and ready for the next steps in development. + This knowledge is crucial as we think about the future of our project, particularly if we aim to move our gene therapy approach for fibrosis closer to clinical trials and real-world applications. My participation in the GXP training has equipped me with the necessary tools to potentially guide our team through the complex regulatory landscape, ensuring our work remains aligned with industry standards and ready for the next steps in development. One of the key speakers during the GXP course was <HPLinktoOtherHPTab tab="gxpexpert" text="Dr. Marcus Berger" />, whose expertise was invaluable to me and the entire team. After the course, I had the opportunity to ask Dr. Berger some questions, further deepening my understanding of the practical applications of GXP in research. The connection with Dr. Berger has been highly beneficial, as his insights helped shape key aspects of our project’s development and compliance with industry standards. His guidance will continue to be a valuable resource for our team moving forward. Through this training, I feel better positioned to contribute to the team’s efforts, ensuring our project adheres to global safety and ethical guidelines. This experience has strengthened our approach and set a solid foundation for future progress, ensuring that our research, public engagement, and potential clinical applications continue to meet the highest regulatory standards. </p>], - summary: "Kaya, a member of the iGEM Bielefeld 2024 team, completed an intensive one-week GXP (Good Practice) training, which covered Good Laboratory Practice (GLP), Good Clinical Practice (GCP), and Good Manufacturing Practice (GMP). The training provided valuable insights into maintaining high standards of quality, safety, and ethics throughout the research process. Kaya learned crucial skills, such as documenting research processes for reproducibility, creating standard operating procedures (SOPs), and conducting risk assessments using techniques like Failure Mode and Effects Analysis (FMEA). This knowledge is essential for advancing their cystic fibrosis gene therapy project toward clinical trials and ensuring compliance with regulatory standards. Dr. Marcus Berger, a key speaker in the course, provided additional guidance, offering valuable insights that will continue to benefit the team.", + summary: "Kaya, a member of the iGEM Bielefeld 2024 team, completed an intensive one-week GXP (Good Practice) training, which covered Good Laboratory Practice (GLP), Good Clinical Practice (GCP), and Good Manufacturing Practice (GMP). The training provided valuable insights into maintaining high standards of quality, safety, and ethics throughout the research process. Kaya learned crucial skills, such as documenting research processes for reproducibility, creating standard operating procedures (SOPs), and conducting risk assessments using techniques like Failure Mode and Effects Analysis (FMEA). This knowledge is essential for advancing their fibrosis gene therapy project toward clinical trials and ensuring compliance with regulatory standards. Dr. Marcus Berger, a key speaker in the course, provided additional guidance, offering valuable insights that will continue to benefit the team.", months: "august", pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/gxp/gxp-course-kaya.webp", pictureurl_interview:"https://static.igem.wiki/teams/5247/photos/for-wiki-texts/gxp/gxp-course-group.webp", @@ -1693,11 +1693,11 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ heading: "Building Connections: The Power of Collaboration and Communication", interviewtabid: "connect", cardtext: "", - quote: "Sharing our project updates and ideas with a diverse audience has been enlightening. The feedback we receive drives our innovation and reinforces the value of collaboration in tackling the challenges of cystic fibrosis.", + quote: "Sharing our project updates and ideas with a diverse audience has been enlightening. The feedback we receive drives our innovation and reinforces the value of collaboration in tackling the challenges of fibrosis.", quoteNachname: "Susat, Teammember", quoteVorname: "Kathleen", type: "meta", - summary: [<p>During our project journey, we made a concerted effort to connect and share insights with a wide array of individuals, leveraging social media and university networks. Engaging with peers, faculty, and industry professionals not only enriched our understanding but also fostered a collaborative spirit. Through platforms like LinkedIn and university forums, we initiated discussions that brought fresh perspectives on gene therapy and cystic fibrosis. + summary: [<p>During our project journey, we made a concerted effort to connect and share insights with a wide array of individuals, leveraging social media and university networks. Engaging with peers, faculty, and industry professionals not only enriched our understanding but also fostered a collaborative spirit. Through platforms like LinkedIn and university forums, we initiated discussions that brought fresh perspectives on gene therapy and fibrosis. Our social media outreach allowed us to share our findings and progress with a broader audience, promoting awareness and sparking interest in our work. We actively participated in online discussions and webinars, exchanging ideas and feedback with experts from various fields. This exchange of knowledge has proven invaluable, guiding us in refining our methodologies and enhancing our project’s impact. We also engaged with different community organizations and advocacy groups, which helped us grasp the societal implications of our research. Through these connections, we garnered support for our initiatives and increased visibility for our cause. This collaborative approach not only strengthened our project but also highlighted the importance of community involvement in scientific research. </p>, @@ -1707,7 +1707,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ <strong>Community Engagement:</strong> Connected with community organizations and advocacy groups to understand the societal implications of our research and garner support. </li> <li> - <strong>Social Media Outreach:</strong> Utilized platforms like LinkedIn to share progress and findings, promoting awareness of cystic fibrosis and gene therapy. + <strong>Social Media Outreach:</strong> Utilized platforms like LinkedIn to share progress and findings, promoting awareness of fibrosis and gene therapy. </li> <li> <strong>Collaborative Discussions:</strong> Engaged in discussions with peers, faculty, and industry professionals, exchanging insights and refining methodologies. @@ -1737,7 +1737,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ implementation: [<p>The next phase of developing a new hygiene concept is to maintain contact with Mr. Johannfunke in order to continue to advance the hygiene concept in collaboration. The strategic approach entails the incremental implementation of measures, exemplified by the establishment of the inaugural toilet facility within the main building. It is of the utmost importance to ensure the uninterrupted implementation of the hygiene concept. In order to achieve this, it is essential to draw upon the existing plans and measures that have already been implemented in new buildings. We are working on advancing the plans at a higher level and are in regular dialogue with the Central contact point Barrier-free in order to overcome bureaucratic hurdles and actively promote the topic. Furthermore, it is necessary to intensify lobbying work in order to gain greater support for this issue at both the university and political levels. </p>], language: "de", interview: <> - <QaBox q="What do you think of our hygiene concept and our plan?" a="This is a very acute problem. It particularly affects students with disabilities and immune-compromised staff, such as those with cancer or cystic fibrosis, who are forced to work from home. The problem is: Employees can work from home, but students cannot. There is a great need for hygiene measures, as contact must be avoided to minimise the risk of infection." /> + <QaBox q="What do you think of our hygiene concept and our plan?" a="This is a very acute problem. It particularly affects students with disabilities and immune-compromised staff, such as those with cancer or fibrosis, who are forced to work from home. The problem is: Employees can work from home, but students cannot. There is a great need for hygiene measures, as contact must be avoided to minimise the risk of infection." /> <QaBox q="What are the challenges in implementing the hygiene concept?" a="There is a lack of strategic development, although your hygiene concept is well developed. It is necessary to proceed in small steps, e.g. starting with a toilet in the main building. However, bureaucracy is a major obstacle. To be implemented, an application has to be submitted to the rectorate, and these processes are often lengthy and complicated." /> <QaBox q="What is the current situation at our university?" a="While some progress has been made with the installation of additional toilets and disabled-friendly toilets in new buildings, there is as yet no overarching strategy in place to guide future developments. Furthermore, the lack of clarity regarding the mission statement and objectives leaves room for ambiguity. The duty of care that employers have towards employees is established, yet the situation is regulated differently with regards to students. The possibility of receiving compensation for disadvantages is open, but is frequently seen as inadequate." /> <QaBox q="What are the next steps in implementing the hygiene concept?" a="It is essential that the concept be implemented in small, strategic steps. At the same time, it is vital that the rectorate and other decision-makers be consulted on a regular basis to ensure that this matter remains at the forefront of discussions. Furthermore, it is of great importance to engage in political lobbying to secure additional support for this issue." /> @@ -1760,26 +1760,26 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ quoteNachname: "Vaidyanathan, Innovative leader in pediatric research", quoteVorname: "Dr. Sriram", quote: "I think you're thinking about it the right way.[...] I would have talked to all of the exact people that you have already spoken with.", - aimofcontact: [<p>The objective of this contact was to gather further information about cystic fibrosis (CF) in Asia, with a particular focus on understanding potential data biases, identifying common mutations, exploring the available medications, and assessing the diagnostic practices in the region. </p>], - insights: [<p>The talk with Sriram revealed that, although cystic fibrosis (CF) is relatively uncommon in Asia compared to other disease like sickle cell disease, it nevertheless exhibits considerable genetic diversity. The identification of different mutations in the CFTR gene across the region has revealed that the F508del mutation is the most common, a finding that aligns with global patterns. However, in Asian populations, other rare mutations are also prevalent, which presents unique challenges in diagnosis and treatment. + aimofcontact: [<p>The objective of this contact was to gather further information about fibrosis (CF) in Asia, with a particular focus on understanding potential data biases, identifying common mutations, exploring the available medications, and assessing the diagnostic practices in the region. </p>], + insights: [<p>The talk with Sriram revealed that, although fibrosis (CF) is relatively uncommon in Asia compared to other disease like sickle cell disease, it nevertheless exhibits considerable genetic diversity. The identification of different mutations in the CFTR gene across the region has revealed that the F508del mutation is the most common, a finding that aligns with global patterns. However, in Asian populations, other rare mutations are also prevalent, which presents unique challenges in diagnosis and treatment. Additionally, it was found that environmental factors, such as air pollution, serve to exacerbate the symptoms of CF, particularly in densely populated regions, thereby further complicating the management of the disease. This emphasises the necessity for further research on CF that is specifically tailored to the needs of different regions, including improvements in diagnostic techniques and the development of treatments that are more closely aligned with the characteristics of the populations in question. </p>], implementation: [<p>The data were incorporated by confirming that the F508del mutation is not only the most common in Europe but also globally, including in Asia, highlighting a broader perspective and contributing to a significant horizon expansion in understanding the mutation's worldwide prevalence. This finding lends support to the idea that existing therapies targeting the F508del mutation will be effective for many patients worldwide, thereby providing a solid foundation for treatment. As a starting point, this is promising, but future efforts will focus on adapting therapies to address other, rarer mutations found in specific populations. </p>], - summary: "The contact provided valuable insights into cystic fibrosis (CF) in Asia and confirmed that the F508del mutation is the most common, as it is globally. However, the genetic diversity observed in Asia, together with the exacerbation of symptoms by environmental factors such as air pollution, highlights the need for more region-specific research. Future efforts will focus on refining treatments for rarer mutations and improving diagnostic accuracy in Asian populations.", + summary: "The contact provided valuable insights into fibrosis (CF) in Asia and confirmed that the F508del mutation is the most common, as it is globally. However, the genetic diversity observed in Asia, together with the exacerbation of symptoms by environmental factors such as air pollution, highlights the need for more region-specific research. Future efforts will focus on refining treatments for rarer mutations and improving diagnostic accuracy in Asian populations.", months: "September", interview:<> <QaBox q="Should we explain our project a little bit in the beginning?" a="That would be great."/> - <QaBox q="Okay. As I wrote to you in the email, we are part of the Bielefeld-CeBiTec item team in Germany this year, and we have a project called Precyse, where we want to develop a platform for next-generation prime editing. With that, we aim to tackle CF mutations, starting with the F508del mutation. The complex should be adaptable for different mutations with minor changes. Essentially, we want to operate like Cas-based projects using prime editing tools but may transition to using a fanzor nickase in the future. Currently, we are working on a delivery system utilizing lipid nanoparticles to transport our complex into the lungs. These nanoparticles will be loaded with mRNA and designed for inhalation, similar to how asthma medications are delivered. Our goal is to advance personalized medicine and improve the standard of living for those affected by the disease, especially since a friend of one of our team members has cystic fibrosis and shares insights on the challenges faced by those with the condition." a="That's a very nice summary. I have a couple of clarifying questions. Are you undergraduates?" /> + <QaBox q="Okay. As I wrote to you in the email, we are part of the Bielefeld-CeBiTec item team in Germany this year, and we have a project called Precyse, where we want to develop a platform for next-generation prime editing. With that, we aim to tackle CF mutations, starting with the F508del mutation. The complex should be adaptable for different mutations with minor changes. Essentially, we want to operate like Cas-based projects using prime editing tools but may transition to using a fanzor nickase in the future. Currently, we are working on a delivery system utilizing lipid nanoparticles to transport our complex into the lungs. These nanoparticles will be loaded with mRNA and designed for inhalation, similar to how asthma medications are delivered. Our goal is to advance personalized medicine and improve the standard of living for those affected by the disease, especially since a friend of one of our team members has fibrosis and shares insights on the challenges faced by those with the condition." a="That's a very nice summary. I have a couple of clarifying questions. Are you undergraduates?" /> <QaBox q="No, we are overgraduates at the University of Bielefeld." a="Oh, great! So, how are you optimizing prime editing, and who is helping you with this process?" /> <QaBox q="We tried to reach out to Dr. Liu, but he hasn't responded yet." a="You should also contact Marianne Carlon in Leuven, Belgium. They didn't work on Delta F508, but Mattijs is a graduate student there and could be helpful." /> <QaBox q="We’ve already been in touch with Mattijs; he’s been very nice." a="Perfect! You're reaching out to the right people. Are you aware of the Liu lab's Nature Biomedical Engineering paper that optimizes prime editing?" /> <QaBox q="Yes, we are aware of it." a="Great! How can I help you further?" /> - <QaBox q="We have some questions about cystic fibrosis (CF) in Asia, specifically about its perceived rarity and its impact on diagnosis and research efforts." a="I can share some insights. While CF is often considered rare in Asia, it's essential to recognize that it affects various populations. In my lab, we analyze CF-causing mutations across different populations using data from Nomad, which focuses on genetic ancestry rather than self-identified race. CF is most prevalent in individuals of European origin, but it remains common across many populations worldwide, particularly in South Asia and other regions, although East Asia has lower prevalence rates." /> + <QaBox q="We have some questions about fibrosis (CF) in Asia, specifically about its perceived rarity and its impact on diagnosis and research efforts." a="I can share some insights. While CF is often considered rare in Asia, it's essential to recognize that it affects various populations. In my lab, we analyze CF-causing mutations across different populations using data from Nomad, which focuses on genetic ancestry rather than self-identified race. CF is most prevalent in individuals of European origin, but it remains common across many populations worldwide, particularly in South Asia and other regions, although East Asia has lower prevalence rates." /> <QaBox q="That’s helpful. Can you explain how the perceived rarity of CF impacts diagnosis and research in Asia?" a="The perception of CF as a 'white people disease' leads to underdiagnosis and fewer research efforts in Asian populations. For instance, in India, physicians are more familiar with conditions like sickle cell disease and thalassemia, leading to limited awareness of CF. Early diagnosis is challenging due to the lack of screening programs for CF, and currently, many regions are only beginning to implement sweat chloride testing." /> <QaBox q="Thank you! What mutations are more common in Asia?" a="Delta F508 is still the most frequent variant across different populations, but its frequency decreases in non-European groups. While there are several other common variants, they do not respond to modulator therapeutics, which complicates treatment options. Focusing on Delta F508 is sensible, but you might face challenges in finding individuals with other variants due to the limited awareness and screening for CF in those populations." /> <QaBox q="Okay. But you would say that the other mutations are a bit under-researched, right?" a="They are completely under-researched, right? Like I have not seen anybody work on L218X. I didn't even know L218X existed until I started looking into that group. And it seems like L218X, I've not seen it in any other population that frequently. So a lot of these variants seem to be unique. I don't know if they're completely unique to South Asians or if you go to Iran or something, whether you're going to start finding these people or whether if you go to Southeast Asia, then you're going to start finding some of these people, right? So we don't know that, but I think it will be really hard for you to find cells with these variants."/> - <QaBox q="What do you believe, what steps should be done in the scientific community to ensure better representation of Asian populations, or in general, not only Western populations, in the genetic studies for cystic fibrosis?" a="Ah, it's a very good question; it's also a question that doesn't have a very straightforward answer, right? In the sense that one, you know, you have to raise awareness and ensure that people are getting diagnosed, that's step number one, right. A lot of the numbers they showed you are based on prediction; they're not based on a registry in any country with some of these populations, right. India doesn't have a registry, China doesn't have a registry. There are efforts to make a registry, but you know it's a little hard to get started when you know if you go and argue that there are 6,000 children with CF that are being born in a year in India, and then the response that I've received before is well, there are about 60,000 kids dying of diarrhea, and you know so the priority from public health is often different. It's starting to change. So one focus would be diagnosis and raising awareness, and if you come across groups that are trying to improve their ability to diagnose then you try to help them, right. What's your other question in terms of treatment and research? I think being aware of it if you do end up finding samples that have some of these unique variants. Right then, trying to form a strategy around it is not bad; I've seen people identify variants of CF that are unique to different populations. I think even Marianne Carlon's group picked up variants that are unique to Belgium and then tried prime editing on that right, so those sort of strategies help quite a bit, right? And this is partially the reason you know I continue to focus on mutation-agnostic strategies; I've not really branched out into the Prime Editing world or the Base Editing world primarily because this seems to be a pretty challenging issue, but that said, you want as many shots at goal as possible. So, you know, if you're able to use prime editing to fix Delta 508, that still helps the most number of people with CF. And then maybe, you know, you could use that platform that's really well validated at that point, then go start targeting individual variants. The other idea with prime editing is that there's hope that you can probably at least try to replace one exon at a time. And that sort of makes things a little bit more manageable, right? So if you, you know, it's a little bit more, like if you have to target every single variant, then you're thinking about hundreds of different medical products. But if you're thinking of replacing every exon, that's 27, that's a countable number. And I would argue that you don't even have to do all 27. You start with the hotspots, right? You start with exon 11, you start with exon 12. But then as part of the conversation, I think we should just be thinking about exons that might be hotspots for variants in other populations and at least, you know, keeping them somewhere in the packing order so that as you go through the most frequent variants, right? And you're starting to develop strategies for the most frequent variants. Those are on the list so that we eventually get to them."/> - <QaBox q="Yeah. Okay. And what do you think? Are there any healthcare challenges managing cystic fibrosis in Asian countries?" a="Oh, absolutely. Right. I think, you know, if you're in a high-income country like Japan, I think, you know, the biggest challenge is awareness and getting diagnosed. If you're in low- and middle-income countries, right, then the challenge becomes access to drugs. So modulators are not available in most of Asia, or at least in the lower and middle-income countries in Asia, that's not available, like, it's not available for sale. Primarily, partly because they think that those people, like people at CF, don't exist in enough numbers in those countries. And partly because then it creates problems in terms of monetary, like factors, right. In terms of how much they charge for the modulators. Right. So those don't exist. I don't know, like they have access to pancreatic enzymes and things like that, but, you know, regular access to regular care is still a challenge. The base of physicians that are family with treating CF is only growing in some of those places at least from my personal experience but it’s not by where we are. The children there are still mostly passing away when they are in their teenage years or early twenties. The sort of life span and life expectancy is no where close to what you would see in high-income countries. So, I think that is the biggest challenge, access to resources both, publicly and also from a private point."/> + <QaBox q="What do you believe, what steps should be done in the scientific community to ensure better representation of Asian populations, or in general, not only Western populations, in the genetic studies for fibrosis?" a="Ah, it's a very good question; it's also a question that doesn't have a very straightforward answer, right? In the sense that one, you know, you have to raise awareness and ensure that people are getting diagnosed, that's step number one, right. A lot of the numbers they showed you are based on prediction; they're not based on a registry in any country with some of these populations, right. India doesn't have a registry, China doesn't have a registry. There are efforts to make a registry, but you know it's a little hard to get started when you know if you go and argue that there are 6,000 children with CF that are being born in a year in India, and then the response that I've received before is well, there are about 60,000 kids dying of diarrhea, and you know so the priority from public health is often different. It's starting to change. So one focus would be diagnosis and raising awareness, and if you come across groups that are trying to improve their ability to diagnose then you try to help them, right. What's your other question in terms of treatment and research? I think being aware of it if you do end up finding samples that have some of these unique variants. Right then, trying to form a strategy around it is not bad; I've seen people identify variants of CF that are unique to different populations. I think even Marianne Carlon's group picked up variants that are unique to Belgium and then tried prime editing on that right, so those sort of strategies help quite a bit, right? And this is partially the reason you know I continue to focus on mutation-agnostic strategies; I've not really branched out into the Prime Editing world or the Base Editing world primarily because this seems to be a pretty challenging issue, but that said, you want as many shots at goal as possible. So, you know, if you're able to use prime editing to fix Delta 508, that still helps the most number of people with CF. And then maybe, you know, you could use that platform that's really well validated at that point, then go start targeting individual variants. The other idea with prime editing is that there's hope that you can probably at least try to replace one exon at a time. And that sort of makes things a little bit more manageable, right? So if you, you know, it's a little bit more, like if you have to target every single variant, then you're thinking about hundreds of different medical products. But if you're thinking of replacing every exon, that's 27, that's a countable number. And I would argue that you don't even have to do all 27. You start with the hotspots, right? You start with exon 11, you start with exon 12. But then as part of the conversation, I think we should just be thinking about exons that might be hotspots for variants in other populations and at least, you know, keeping them somewhere in the packing order so that as you go through the most frequent variants, right? And you're starting to develop strategies for the most frequent variants. Those are on the list so that we eventually get to them."/> + <QaBox q="Yeah. Okay. And what do you think? Are there any healthcare challenges managing fibrosis in Asian countries?" a="Oh, absolutely. Right. I think, you know, if you're in a high-income country like Japan, I think, you know, the biggest challenge is awareness and getting diagnosed. If you're in low- and middle-income countries, right, then the challenge becomes access to drugs. So modulators are not available in most of Asia, or at least in the lower and middle-income countries in Asia, that's not available, like, it's not available for sale. Primarily, partly because they think that those people, like people at CF, don't exist in enough numbers in those countries. And partly because then it creates problems in terms of monetary, like factors, right. In terms of how much they charge for the modulators. Right. So those don't exist. I don't know, like they have access to pancreatic enzymes and things like that, but, you know, regular access to regular care is still a challenge. The base of physicians that are family with treating CF is only growing in some of those places at least from my personal experience but it’s not by where we are. The children there are still mostly passing away when they are in their teenage years or early twenties. The sort of life span and life expectancy is no where close to what you would see in high-income countries. So, I think that is the biggest challenge, access to resources both, publicly and also from a private point."/> <QaBox q="Okay. And do you think that the environmental or like pollution is doing, like, I don't know how to say it correctly. So that there are like respiratory challenges because, yeah, right." a="Absolutely! Right. It's, you know, your exposure to pathogens is higher. Your exposure to pollution is significantly higher in a lot of these countries, right? Even China, which is, you know, much better off than a country like India still has a lot of pollution, right? And so, or I've never been to China, but at least that's what I read, right? But India, I grew up there and I can firsthand tell you that there's a lot of pollution there, right? And that I'm sure it affects it because it's been documented to affect people, just people without CF, right? On an average, it's supposed to like, the reports that I've seen are like, it takes a few years off of life expectancy for even people that have not been diagnosed with anything else, right? So I'm sure if there's a person with CF, then that's going to affect them even more negatively in places like India. And then I think that the exposure to pathogens might be slight, it might be higher and the lower down in the economic scale you go, the more, the exposure to pathogens are going to have, right? I think the third factor would also might be nutrition, right? Like, so if you have CF, you, you know, here, one way they were managing it was through high fat calorie rich diet and access to those sort of high fat calorie rich diets may not be that prevalent in some of these other places. And so that might become a factor."/> <QaBox q="Okay. And then one last question. So it's more a bit about you and your research. So what drew your attention to the issue of CF in Asia? So why did you start researching this topic?" a="Oh, so that was a very okay. So the way it happened was I was at a conference and I was a postdoc at Stanford previously, as you know. So I was at a conference and I was, we were just, I think had a sort of a, you know, a dinner for everybody from our institution. And I was chatting with the nurse in the table and sitting in the table and so the San Francisco area has a lot of people from Asia. And so the nurse particularly said that they had a lot of children with CF who happened to originate in India, which really surprised me because that's not a disease that I'd heard growing up as being some, a common genetic disease there. Right. And so that kind of drew my attention. And then in subsequent conversations, when I spoke with physicians who are practicing in India, nobody said that they hadn't seen people with CF, right? Whenever I had the conversation, people would be like, oh yeah, I've seen a patient with CF or I know of somebody that has a child with CF, right? Which was surprising. And then when I went to India, I went to a hospital in my hometown and I was talking to the pulmonologist there. And he said he had 30 or 40 patients with CF in that, just that hospital. And that's, you know, it's not even, you know, it's probably one of the bigger cities in India, but I wouldn't even know if it's in the top 10 biggest cities in India. And this is not even the biggest center in that city necessarily. Right. So I was just really surprised. And he said he didn't have to really put in any effort to go seek out any people with CF. This was just in the people that walked into that hospital that got diagnosed with CF, right? So that kind of solidified the perception that perhaps it was underdiagnosed. And then the reason it happened was because the pandemic sort of forced most of us out of the lab. And so this ended up being something you can actually work on without going to lab."/> <QaBox q="Yeah, sounds really interesting the way you got there. at the beginning, you said you could tell us something, what came to you in mind when you heard about Project First, and you already prepared some slides. So I just want to ask if you maybe have something more to tell us that you haven't thought about yet, because the interview until now is highly interesting and I think we got a lot of new information until now. So maybe you have something. Maybe you have more interesting information for us." a="I think you guys covered a lot of what I had in mind, right? In terms of, I think if I were to start with prime editing and Delta 508, this is exactly the argument I would have made. I would have talked to all of the exact people that you have already spoken with, right? So I think that I don't have too much to add there. The only thing you could do is if you are looking at variants, right? Maybe I would try to come up with a plan for what variants you might go after, after Delta 508, right? And that could become part of your future research or something like that. Or if you can, I guess the one question I had for you is, so the correction of Delta 508 is sort of published, right? People have reported using lipid nanoparticles, at least to deliver base editing reagents, right? So how are you thinking about, like when you pitch the innovation in your project, how are you thinking about pitching your innovation? "/> @@ -1824,16 +1824,16 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ quoteNachname: "Ingatova, CF Research Experts ", quoteVorname: "Prof. Dr. Zoya", quote: "Precision is key to minimizing side effects and ensuring the safety of your therapy.", - aimofcontact: "We conducted the interview with Prof. Dr. Zoya Ignatova and Dr. Nikhil Bharti from the Institute of Biochemistry and Molecular Biology at the University of Hamburg, seeking to deepen our understanding of their research on cystic fibrosis (CF) and explore additional CF mutations, as well as to learn more about cell culture techniques specific to CF research, since they send us the CFBE41o- cell line. Our aim was also to gather more information about their approaches in CF research, particularly their focus on treating genetic mutations like nonsense mutations, which are highly prevalent in CF.", - insights: [<p>We were struck by Ignatova’s story about founding the iGEM team in Hamburg. Her passion for fostering creativity and innovation in science was inspiring. On a technical level, their advice on cell culture was incredibly practical and immediately useful. Dr. Nikhil Bharti explained how they handle CFBE41o- cells and ALI (air-liquid interface) cell culture. This advice directly addressed the challenges we’ve faced in our own lab, giving us a method to improve our cell culture success rates. During our interview with Prof. Dr. Zoya Ignatova and Dr. Nikhil Bharti, their innovative approach to cystic fibrosis (CF) therapy, particularly "read-through" and tRNA-based therapies, stood out. "Read-through" therapies aim to bypass premature stop codons that prevent full protein production, offering a way to restore the function of critical proteins like CFTR in CF. This approach has the potential to treat a broad range of genetic diseases caused by similar mutations. The tRNA-based therapy is even more precise, targeting mRNA to correct faulty codons without altering the DNA, making it safer for long-term use. This flexibility, along with the ability to apply these therapies beyond CF, broadened our understanding of how such strategies can revolutionize treatments for genetic disorders.Ignatova highlighted, that using cell models closely resembling properties of the cell types targeted by our therapy is important for ensuring applicability of our approach to patient cells and its safety. A key focus throughout the discussion was safety. Prof. Ignatova emphasized the importance of ensuring that the therapies are highly specific, targeting only the defective codons while avoiding natural stop codons to prevent uncontrolled protein production. Moreover, their careful consideration of delivery systems further demonstrated their commitment to minimizing risks like toxicity in unintended organs. Their meticulous approach to safety has influenced how we think about developing and applying these therapies, making it clear that ensuring patient safety is as critical as achieving therapeutic success.</p>], + aimofcontact: "We conducted the interview with Prof. Dr. Zoya Ignatova and Dr. Nikhil Bharti from the Institute of Biochemistry and Molecular Biology at the University of Hamburg, seeking to deepen our understanding of their research on fibrosis (CF) and explore additional CF mutations, as well as to learn more about cell culture techniques specific to CF research, since they send us the CFBE41o- cell line. Our aim was also to gather more information about their approaches in CF research, particularly their focus on treating genetic mutations like nonsense mutations, which are highly prevalent in CF.", + insights: [<p>We were struck by Ignatova’s story about founding the iGEM team in Hamburg. Her passion for fostering creativity and innovation in science was inspiring. On a technical level, their advice on cell culture was incredibly practical and immediately useful. Dr. Nikhil Bharti explained how they handle CFBE41o- cells and ALI (air-liquid interface) cell culture. This advice directly addressed the challenges we’ve faced in our own lab, giving us a method to improve our cell culture success rates. During our interview with Prof. Dr. Zoya Ignatova and Dr. Nikhil Bharti, their innovative approach to fibrosis (CF) therapy, particularly "read-through" and tRNA-based therapies, stood out. "Read-through" therapies aim to bypass premature stop codons that prevent full protein production, offering a way to restore the function of critical proteins like CFTR in CF. This approach has the potential to treat a broad range of genetic diseases caused by similar mutations. The tRNA-based therapy is even more precise, targeting mRNA to correct faulty codons without altering the DNA, making it safer for long-term use. This flexibility, along with the ability to apply these therapies beyond CF, broadened our understanding of how such strategies can revolutionize treatments for genetic disorders.Ignatova highlighted, that using cell models closely resembling properties of the cell types targeted by our therapy is important for ensuring applicability of our approach to patient cells and its safety. A key focus throughout the discussion was safety. Prof. Ignatova emphasized the importance of ensuring that the therapies are highly specific, targeting only the defective codons while avoiding natural stop codons to prevent uncontrolled protein production. Moreover, their careful consideration of delivery systems further demonstrated their commitment to minimizing risks like toxicity in unintended organs. Their meticulous approach to safety has influenced how we think about developing and applying these therapies, making it clear that ensuring patient safety is as critical as achieving therapeutic success.</p>], implementation: "Prof. Ignatova's practical advice on cell culture had a transformative impact on our project. By adopting her method for CFBE41o- cells and improving our lab's sterilization protocols, we successfully established the cell line and significantly reduced the risk of contamination. In addition, her emphasis on safety in gene therapy guided us to review our Prime Editing construct and lipid nanoparticle (LNP) design. We focused on minimizing toxicity and off-target effects while ensuring precise targeting of lung tissues and the F508del mutation of the CFTR gene, making our approach safer and more efficient", - summary: "In our interview with Prof. Dr. Zoya Ignatova and Dr. Nikhil Bharti from the Institute of Biochemistry and Molecular Biology at the University of Hamburg, we aimed to deepen our understanding of their research on cystic fibrosis (CF) and explore additional mutations. Their innovative approaches, particularly tRNA-based therapies, aim to restore the function of proteins like CFTR by bypassing premature stop codons, presenting potential treatments for various genetic diseases. They highlighted the importance of precision in therapy to minimize side effects and enhance safety, emphasizing careful delivery systems to avoid toxicity. Prof. Ignatova's practical insights into cell culture techniques significantly improved our lab's success with CFBE41o- cells, guiding us to enhance sterilization protocols and refine our Prime Editing constructs. This transformative exchange underscored the critical balance between achieving therapeutic success and ensuring patient safety.", + summary: "In our interview with Prof. Dr. Zoya Ignatova and Dr. Nikhil Bharti from the Institute of Biochemistry and Molecular Biology at the University of Hamburg, we aimed to deepen our understanding of their research on fibrosis (CF) and explore additional mutations. Their innovative approaches, particularly tRNA-based therapies, aim to restore the function of proteins like CFTR by bypassing premature stop codons, presenting potential treatments for various genetic diseases. They highlighted the importance of precision in therapy to minimize side effects and enhance safety, emphasizing careful delivery systems to avoid toxicity. Prof. Ignatova's practical insights into cell culture techniques significantly improved our lab's success with CFBE41o- cells, guiding us to enhance sterilization protocols and refine our Prime Editing constructs. This transformative exchange underscored the critical balance between achieving therapeutic success and ensuring patient safety.", language: "en", interview: <> <QaBox q="We have heard you are passionate about iGEM. What inspired you to get involved, and what has your experience been like with the competition?" a="My journey with iGEM began when I moved to Hamburg in 2014. Back then, Hamburg did not have its own iGEM team. Despite Hamburg lacking an iGEM presence, there were motivated students who were eager to establish a team. We started quite late with me as a principal instructor, around April, with the competition scheduled for October, so we had limited time. However, we managed to form a team and participate. Fortunately, we were successful in convincing the university administration to establish a steady support for the initiative, which ensured stable funding, including covering registration fees early on. This financial and logistical support gave the team the security to focus on their projects. Over the years, the Hamburg iGEM team has become a well-known and respected group at the university. It is a creative environment where students can push the boundaries of science through interesting and impactful projects. I moved on to other duties after several years of supervision, but I am proud to have played a role in its foundation. The university has recognized iGEM within the curriculum of Molecular Life Science, allowing students to earn credit points and have their work reflected on their transcripts. This acknowledgment further incentivizes students and ensures that their efforts are formally recognized." /> <QaBox q="We have been having trouble with CFBE41o- cells not adhering well. Any advice?" a="CFBE41o- cells can be tricky when it comes to adhesion, but you do not necessarily need to coat your cell culture vessels with fibronectin unless you are doing very specific studies, such as primary culture comparisons. For seeding, we simplify the process by skipping the PBS washing step. Instead, we seed the cells directly into DMEM supplemented with 10% fetal calf serum (FCS) and streptomycin. These cells may take a few days to recover and begin adhering properly, that usually works without requiring extra coatings." /> <QaBox q="How do you manage fungal contamination in ALI cultures?" a="Fungal contamination is one of the more frustrating challenges in cell culture because it is difficult to eliminate once it takes place. In cases of contamination, the best course of action is to shut down all ongoing cell culture work and clean everything thoroughly. You should start by running a sterilization cycle in your incubators, which ideally should reach around 180°C. This should kill any fungal spores. If your incubators do not have that capability, you will need to autoclave everything and clean all surfaces and equipment multiple times with ethanol. It is crucial to remove all traces of contamination, as fungal spores can spread rapidly. The key is prevention through rigorous cleaning and maintenance protocols, and unfortunately, sometimes the only solution is to start fresh with new cultures after a full decontamination round." /> - <QaBox q="What are you currently researching?" a="Our primary research focus is on genetic diseases caused by nonsense mutations, also known as premature termination codons (PTCs). While cystic fibrosis (CF) is a major area of interest due to its high prevalence and the impact of specific mutations like the F508del, our research extends far beyond CF. We are targeting a broader category of genetic diseases that share a common feature—early stop codons that lead to production of truncated proteins, which are non-functional. In CF, for instance, our main goal is to restore full-length CFTR protein production in primary patient-derived cells bearing various PTCs. One approach we are exploring is known as a 'read-through' therapy, which involves bypassing the premature stop codon so that the cell can continue producing the full protein. This strategy is applicable not only to CF but can be used in many other genetic disorders caused by nonsense mutations. Briefly, the read-through therapies we develop are tRNA-based therapeutic approaches, in which we design suppressor transfer RNAs (sup-tRNAs) to selectively target and read through PTCs, restoring the production of full-length disease protein without altering the natural termination codons. It is a highly specific and safe method, and because we are targeting mRNA rather than DNA, it allows for terminating the therapies by any unforeseen side effects." /> + <QaBox q="What are you currently researching?" a="Our primary research focus is on genetic diseases caused by nonsense mutations, also known as premature termination codons (PTCs). While fibrosis (CF) is a major area of interest due to its high prevalence and the impact of specific mutations like the F508del, our research extends far beyond CF. We are targeting a broader category of genetic diseases that share a common feature—early stop codons that lead to production of truncated proteins, which are non-functional. In CF, for instance, our main goal is to restore full-length CFTR protein production in primary patient-derived cells bearing various PTCs. One approach we are exploring is known as a 'read-through' therapy, which involves bypassing the premature stop codon so that the cell can continue producing the full protein. This strategy is applicable not only to CF but can be used in many other genetic disorders caused by nonsense mutations. Briefly, the read-through therapies we develop are tRNA-based therapeutic approaches, in which we design suppressor transfer RNAs (sup-tRNAs) to selectively target and read through PTCs, restoring the production of full-length disease protein without altering the natural termination codons. It is a highly specific and safe method, and because we are targeting mRNA rather than DNA, it allows for terminating the therapies by any unforeseen side effects." /> <QaBox q="What are your downstream validation methods?" a="After we have developed a therapeutic approach, the first step is to validate whether it works at the protein level. First, we check whether the full-length protein is being produced. For CFTR, for example, we look at whether the protein is being correctly synthesized. We also conduct functional tests to ensure its functionality. For CFTR specifically, we test the activity of the ion channel by measuring ion flow through the cell membrane. Another test involves monitoring the height of the air-liquid interface (ALI) cultures, which reports on the ionic balance across the membrane. These functional tests are crucial for confirming that the therapy is not only leading to a production of the protein but is also restoring its function." /> <QaBox q="How often would patients need to undergo this therapy?" a="Since our approach is designed to correct nonsense mutations during translation the therapy would need to be administered periodically. Based on our current understanding, we anticipate that patients might need treatment every three to four weeks, but this has to be determined in clinical settings." /> <QaBox q="How does your tRNA-based approach address safety issues?" a="Safety is the top priority of our tRNA-based therapeutic approach. At molecular level, we ensure that the suppressor tRNAs we use are highly specific—they are engineered to target only PTCs without affecting natural stop codons, which are essential for terminating the synthesis of every protein. In addition to the specificity, we address the immune response that can be triggered by any nucleic acids, including tRNA. Generally, tRNA has a lower immunogenicity than other molecules, such as mRNA, because of its partially double-stranded structure, which reduces the activation of the innate immune reaction. Another critical safety aspect is the safety of the delivery system. We need to ensure that the tRNA reaches the right type of cells without causing toxicity or accumulating in untargeted tissues like the liver, which is a common issue with many gene therapies. We are also working on optimizing our delivery methods. This precision is key to minimizing side effects and ensuring the safety of our therapy." /> @@ -1856,8 +1856,8 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ heading: "Shaping CF Therapies: Lessons Learned from Patients' Real-World Experiences", interviewtabid: "dino", cardtext: "", - quote: "Living with cystic fibrosis has been a journey of perseverance and adaptation. Despite the challenges, I've learned that taking personal responsibility for my health, staying informed, and embracing the advancements in research can lead to a much-improved quality of life.", - aimofcontact: [<p>Our goal in reaching out to cystic fibrosis (CF) patients was to gain a firsthand understanding of their day-to-day experiences living with the condition. We aimed to explore how recent advancements in treatments have impacted their lives and transformed their approach to managing the disease. This initiative is vital for our project, as it helps us comprehend the significance of these treatments and their broader implications. A key aspect of our outreach was partnering with the <a href="https://www.instagram.com/accounts/login/?next=https%3A%2F%2Fwww.instagram.com%2Fmukodino%2F&is_from_rle" >MukoDino</a> + quote: "Living with fibrosis has been a journey of perseverance and adaptation. Despite the challenges, I've learned that taking personal responsibility for my health, staying informed, and embracing the advancements in research can lead to a much-improved quality of life.", + aimofcontact: [<p>Our goal in reaching out to fibrosis (CF) patients was to gain a firsthand understanding of their day-to-day experiences living with the condition. We aimed to explore how recent advancements in treatments have impacted their lives and transformed their approach to managing the disease. This initiative is vital for our project, as it helps us comprehend the significance of these treatments and their broader implications. A key aspect of our outreach was partnering with the <a href="https://www.instagram.com/accounts/login/?next=https%3A%2F%2Fwww.instagram.com%2Fmukodino%2F&is_from_rle" >MukoDino</a> who has extensive reach within the CF community. This collaboration enabled us to distribute our survey widely among those affected, as we recognized that we could not conduct as many interviews as we could reach through the survey. We also sought to gather insights on research priorities and the future direction of CF therapies. </p>], insights: [<p>From talking with the CF patient, we gained some valuable insights that have shaped how we move forward with our project: Firstly, hearing about the day-to-day challenges with current CF treatments was eye-opening. It highlighted just how crucial it is for us to develop therapies that are not only effective but also make life easier for patients. We’ve taken this to heart and are working to make our treatment process as efficient and user-friendly as possible. @@ -1872,27 +1872,27 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ The feedback on global disparities in CF care highlighted the importance of creating a treatment that is not only effective but also affordable and accessible. We’re considering how to scale our therapy to make it available in regions with limited access to advanced treatments. Additionally, the emphasis on the need for continued advancements in enzyme development and gene therapy has guided us to balance immediate therapeutic benefits with long-term research goals. This ensures that our project addresses both current needs and future possibilities in CF treatment. By integrating these insights, we aim to ensure our project not only advances scientific understanding but also meets the practical needs of CF patients, ultimately leading to more effective and accessible treatments. </p>], - summary: "The aim of our outreach to cystic fibrosis (CF) patients was to gain insights into their daily experiences and how recent treatment advancements have affected their lives. Partnering with MukoDino allowed us to distribute a survey widely, as interviews were limited. Through discussions with patients, we learned about the challenges posed by current treatments, emphasizing the need for therapies that simplify management and reduce physical strain. This feedback has driven our focus on developing more efficient inhalation therapies using spray-dried lipid nanoparticles (LNPs) to deliver gene-editing tools directly to the lungs. We also recognized the global disparities in CF care, motivating us to consider scalability and accessibility for those in resource-limited regions. Patient insights underscored the importance of personalized treatments tailored to individual genetic mutations, prompting us to prioritize enzyme development and gene therapy in our research. Overall, these insights have shaped our project to align closely with the real-world needs of CF patients, aiming for impactful and accessible solutions.", + summary: "The aim of our outreach to fibrosis (CF) patients was to gain insights into their daily experiences and how recent treatment advancements have affected their lives. Partnering with MukoDino allowed us to distribute a survey widely, as interviews were limited. Through discussions with patients, we learned about the challenges posed by current treatments, emphasizing the need for therapies that simplify management and reduce physical strain. This feedback has driven our focus on developing more efficient inhalation therapies using spray-dried lipid nanoparticles (LNPs) to deliver gene-editing tools directly to the lungs. We also recognized the global disparities in CF care, motivating us to consider scalability and accessibility for those in resource-limited regions. Patient insights underscored the importance of personalized treatments tailored to individual genetic mutations, prompting us to prioritize enzyme development and gene therapy in our research. Overall, these insights have shaped our project to align closely with the real-world needs of CF patients, aiming for impactful and accessible solutions.", months: "September", interview: <> - <QaBox q="How did you come up with the name ‘Muko-Dino’?" a="The name ‘Muko-Dino’ has a personal history. At a cystic fibrosis meeting, another patient joked that I, as a 58-year-old cystic fibrosis patient, was a ‘Muko-Dino’. The name alludes to my age, because in the past, cystic fibrosis patients had a much shorter life expectancy. So it was unusual for someone with the disease to still be so active at my age. The name stuck - initially as a joke, but I have since adopted it as a kind of nickname." /> - <QaBox q="When were you diagnosed with cystic fibrosis?" a="I was diagnosed at the age of six after a sweat test. I had lost a lot of weight in the first year of my life and cystic fibrosis was already suspected, but it took a while before the diagnosis was actually confirmed." /> - <QaBox q="What were your thoughts and those of your family after the diagnosis?" a="My mum was naturally shocked. When you have a child, you are happy, and then to receive a diagnosis like this is a huge shock. For parents of cystic fibrosis patients, there is always a basic fear because the disease is life-threatening. Today, many parents hope that their child will live to be at least two years old so that they can receive modulators that can greatly improve the symptoms." /> - <QaBox q="What mutation do you have?" a="I have the Delta 508 mutation in duplicate, i.e. homozygous. This is the most common form of cystic fibrosis mutation and causes the typical symptoms associated with the disease, such as digestive and lung problems." /> - <QaBox q="What were the first steps after the diagnosis?" a="Back then, in the 1960s, there were hardly any specialised cystic fibrosis outpatient clinics. My paediatrician prescribed me Pankreon, an early enzyme preparation that was supposed to help me with digestion. Nowadays, the process is very different: A child is referred to a specialised outpatient clinic immediately after diagnosis, where they receive comprehensive care. This includes medical care, nutritional counselling, physiotherapy and support with socio-legal issues." /> - <QaBox q="How has treatment changed over the years?" a="The treatment of cystic fibrosis has improved dramatically over the last few decades. In the past, low-fat diets had to be followed, even with enzymes, which were not as effective as today's preparations. Back then, if you ate something fatty like chocolate or chips, you got diarrhoea. Nowadays, enzymes are much more effective and patients have hardly any dietary restrictions. As far as antibiotics are concerned, resistance is a big issue. That's why doctors change antibiotics regularly to prevent resistance from developing. Modulators have revolutionised the lives of many patients, even if they can trigger psychological side effects in some. But the alternative, frequent pneumonia, is much worse." /> - <QaBox q="How do you assess the progress made in cystic fibrosis research?" a="The progress is absolutely remarkable. When I was born, the average life expectancy of a cystic fibrosis patient was one to five years. Today we are talking about over 60 years. This development is not only due to medical innovations, but also to better adherence on the part of patients, who follow their therapies more regularly and efficiently." /> - <QaBox q="Is there anything you would like to see in the future of therapy?" a="Personally, I am almost perfectly happy, as the current modulators have given me an enormously improved quality of life. My wish for the entire cystic fibrosis community is that gene therapy will be further developed. A treatment that addresses the genetic causes of the disease would be a huge breakthrough and it would be ideal if this could be achieved without serious side effects." /> + <QaBox q="How did you come up with the name ‘Muko-Dino’?" a="The name ‘Muko-Dino’ has a personal history. At a fibrosis meeting, another patient joked that I, as a 58-year-old fibrosis patient, was a ‘Muko-Dino’. The name alludes to my age, because in the past, fibrosis patients had a much shorter life expectancy. So it was unusual for someone with the disease to still be so active at my age. The name stuck - initially as a joke, but I have since adopted it as a kind of nickname." /> + <QaBox q="When were you diagnosed with fibrosis?" a="I was diagnosed at the age of six after a sweat test. I had lost a lot of weight in the first year of my life and fibrosis was already suspected, but it took a while before the diagnosis was actually confirmed." /> + <QaBox q="What were your thoughts and those of your family after the diagnosis?" a="My mum was naturally shocked. When you have a child, you are happy, and then to receive a diagnosis like this is a huge shock. For parents of fibrosis patients, there is always a basic fear because the disease is life-threatening. Today, many parents hope that their child will live to be at least two years old so that they can receive modulators that can greatly improve the symptoms." /> + <QaBox q="What mutation do you have?" a="I have the Delta 508 mutation in duplicate, i.e. homozygous. This is the most common form of fibrosis mutation and causes the typical symptoms associated with the disease, such as digestive and lung problems." /> + <QaBox q="What were the first steps after the diagnosis?" a="Back then, in the 1960s, there were hardly any specialised fibrosis outpatient clinics. My paediatrician prescribed me Pankreon, an early enzyme preparation that was supposed to help me with digestion. Nowadays, the process is very different: A child is referred to a specialised outpatient clinic immediately after diagnosis, where they receive comprehensive care. This includes medical care, nutritional counselling, physiotherapy and support with socio-legal issues." /> + <QaBox q="How has treatment changed over the years?" a="The treatment of fibrosis has improved dramatically over the last few decades. In the past, low-fat diets had to be followed, even with enzymes, which were not as effective as today's preparations. Back then, if you ate something fatty like chocolate or chips, you got diarrhoea. Nowadays, enzymes are much more effective and patients have hardly any dietary restrictions. As far as antibiotics are concerned, resistance is a big issue. That's why doctors change antibiotics regularly to prevent resistance from developing. Modulators have revolutionised the lives of many patients, even if they can trigger psychological side effects in some. But the alternative, frequent pneumonia, is much worse." /> + <QaBox q="How do you assess the progress made in fibrosis research?" a="The progress is absolutely remarkable. When I was born, the average life expectancy of a fibrosis patient was one to five years. Today we are talking about over 60 years. This development is not only due to medical innovations, but also to better adherence on the part of patients, who follow their therapies more regularly and efficiently." /> + <QaBox q="Is there anything you would like to see in the future of therapy?" a="Personally, I am almost perfectly happy, as the current modulators have given me an enormously improved quality of life. My wish for the entire fibrosis community is that gene therapy will be further developed. A treatment that addresses the genetic causes of the disease would be a huge breakthrough and it would be ideal if this could be achieved without serious side effects." /> <QaBox q="Which areas of research do you think should be strengthened?" a="There are a few areas that I consider to be particularly important. On the one hand, enzymes should be further developed in order to work even better and further minimise side effects. Another major topic is bacteriophage research, which could help patients with multi-resistant germs. Modulators should also be further optimised and, of course, gene therapy must be driven forward in order to find a sustainable solution." /> - <QaBox q="What role does personal responsibility play in cystic fibrosis?" a="Personal responsibility is extremely important. Anyone living with cystic fibrosis has to deal intensively with their own disease and take responsibility for their health. This means regularly informing yourself about new treatment options and being disciplined about your own treatment. If you don't take care of yourself, you run the risk of not fully utilising the advances in medicine. The healthcare system gives you many options, but you have to actively utilise them. Luck definitely plays a role, but it is not enough on its own. I have been lucky in my medical history because I live in a country with good access to medical care and have been able to benefit from the modulators. But even the best luck doesn't help without initiative and commitment. You have to play an active role in making the most of the opportunities that life offers you." /> + <QaBox q="What role does personal responsibility play in fibrosis?" a="Personal responsibility is extremely important. Anyone living with fibrosis has to deal intensively with their own disease and take responsibility for their health. This means regularly informing yourself about new treatment options and being disciplined about your own treatment. If you don't take care of yourself, you run the risk of not fully utilising the advances in medicine. The healthcare system gives you many options, but you have to actively utilise them. Luck definitely plays a role, but it is not enough on its own. I have been lucky in my medical history because I live in a country with good access to medical care and have been able to benefit from the modulators. But even the best luck doesn't help without initiative and commitment. You have to play an active role in making the most of the opportunities that life offers you." /> <QaBox q="What does your daily routine look like?" a="My daily therapy takes about two to three hours. This includes taking enzymes and antibiotics as well as inhalations with saline solution and antibiotics. I also do regular autogenic drainage and stretching exercises to support my lungs. It is important to stick to this routine consistently, as even a few days without therapy can lead to inflammation." /> <QaBox q="What is the most important part of your daily routine?" a="It's difficult to single out one part because all aspects work together. If I left out the enzymes, I would only be able to eat salad because my body wouldn't be able to absorb any nutrients. Without the modulators and antibiotics, I would quickly get pneumonia, which means I would have to take weeks off. So regularity is the key to staying healthy in the long term." /> <QaBox q="Do you do any sporting activities?" a="Yes, I cycle to work every day and take the stairs to the eighth floor where I have my office. I don't do intensive sports like going to the gym, but I do exercise regularly in my everyday life, which is very important for my health." /> - <QaBox q="Do you use physiotherapy?" a="I do my own physiotherapy at home as I have learnt the techniques well over the years. I used to visit a physiotherapist regularly, but I no longer need to. Also, there are hardly any specialised physiotherapists for cystic fibrosis patients in my area." /> + <QaBox q="Do you use physiotherapy?" a="I do my own physiotherapy at home as I have learnt the techniques well over the years. I used to visit a physiotherapist regularly, but I no longer need to. Also, there are hardly any specialised physiotherapists for fibrosis patients in my area." /> <QaBox q="Which organ affects you the most in your everyday life?" a="Thanks to the modulators, none actually. But if I don't take the enzymes, I can't eat anything, which leads to rapid weight loss. Without the antibiotics and modulators, I would be more susceptible to infections and would quickly develop pneumonia, which would require weeks of recovery." /> <QaBox q="Have you or anyone close to you taken part in clinical trials?" a="I personally have not participated in clinical trials, but I encourage other patients to do so, as trials are often the only way to test and develop new treatments." /> - <QaBox q="What impact do advances in cystic fibrosis research have on patients' lives?" a="Advances in cystic fibrosis research have had an enormous positive impact on patients' lives. In the past, life expectancy at diagnosis was often only a few years. Today, many patients can live into old age. The introduction of modulators that specifically stabilise the disease-causing proteins and improve their function has significantly improved patients' quality of life. Research has also contributed to patients being better informed about their disease and having effective therapies available, leading to better overall disease management." /> - <QaBox q="How do you assess the differences in the treatment and support of cystic fibrosis patients in Germany compared to other countries?" a="In Europe, especially in Germany, we live at a very high medical level, even if there are challenges such as the shortage of specialists. The difference in prosperity in the USA is greater, but at the same time it is also a driver of innovation. Compared to countries as some third-world countries, where cystic fibrosis patients have to wait in hospitals for appointments between infectious patients, we are complaining at a high level here. There is always room for improvement, but overall we have a brilliant healthcare system." /> + <QaBox q="What impact do advances in fibrosis research have on patients' lives?" a="Advances in fibrosis research have had an enormous positive impact on patients' lives. In the past, life expectancy at diagnosis was often only a few years. Today, many patients can live into old age. The introduction of modulators that specifically stabilise the disease-causing proteins and improve their function has significantly improved patients' quality of life. Research has also contributed to patients being better informed about their disease and having effective therapies available, leading to better overall disease management." /> + <QaBox q="How do you assess the differences in the treatment and support of fibrosis patients in Germany compared to other countries?" a="In Europe, especially in Germany, we live at a very high medical level, even if there are challenges such as the shortage of specialists. The difference in prosperity in the USA is greater, but at the same time it is also a driver of innovation. Compared to countries as some third-world countries, where fibrosis patients have to wait in hospitals for appointments between infectious patients, we are complaining at a high level here. There is always room for improvement, but overall we have a brilliant healthcare system." /> <QaBox q="Do you feel sufficiently informed by the available sources of information?" a="Yes, the information situation is good. You can find sufficient information from organisations such as the CF Foundation, the CF Trust and Mukoviszidose e.V.. However, you have to get involved yourself and actively seek out the information." /> <QaBox q="Is there anything else you would like to tell us?" a="It is important to understand that CF patients are very different, including in terms of their cultural and family background. In addition, surveys and questions should be reviewed in advance by patients or parents to ensure that they are understandable and do not contain unfortunate wording. If you need any help or anything, I would love to help you. Send me the link as soon as the website is ready and I'll give you feedback. I can also circulate the survey in the community. I'm always available if you have any further questions or need support." /> </>, @@ -1913,7 +1913,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ quote: "Many families are confronted with extremely high therapy and treatment costs. These are often expensive and unavailable everywhere.", quoteVorname: "Elena", quoteNachname: "Wiesler, Phsychotherapist at hospital Bielefeld ", - aimofcontact: [<p>In previous interviews, <HPLinktoOtherHPTab tab="maxfirst" text="Max" /> and <HPLinktoOtherHPTab tab="dino" text="Thomas" /> shared how the psychological burden of living with cystic fibrosis weighs heavily on patients. Parents <HPLinktoOtherHPTab tab="joshua" text="Joshua" /> and <HPLinktoOtherHPTab tab="julia" text="Julia" /> also emphasized that mental health challenges are a major issue for both patients and their families. This prompted us to delve deeper into the psychological, social, and medical difficulties faced by cystic fibrosis (CF) patients and their support systems. A key goal was to understand how gene therapies are perceived and how they may affect the quality of life for CF patients. We aimed to gather insights from various perspectives—patients, caregivers, and healthcare professionals—to ensure our project aligns with their needs and addresses the most pressing challenges. + aimofcontact: [<p>In previous interviews, <HPLinktoOtherHPTab tab="maxfirst" text="Max" /> and <HPLinktoOtherHPTab tab="dino" text="Thomas" /> shared how the psychological burden of living with fibrosis weighs heavily on patients. Parents <HPLinktoOtherHPTab tab="joshua" text="Joshua" /> and <HPLinktoOtherHPTab tab="julia" text="Julia" /> also emphasized that mental health challenges are a major issue for both patients and their families. This prompted us to delve deeper into the psychological, social, and medical difficulties faced by fibrosis (CF) patients and their support systems. A key goal was to understand how gene therapies are perceived and how they may affect the quality of life for CF patients. We aimed to gather insights from various perspectives—patients, caregivers, and healthcare professionals—to ensure our project aligns with their needs and addresses the most pressing challenges. Given the complexity of these psychological aspects, it was crucial for us to engage with psychologists to gain a professional, expert opinion. We visited the medical professionals at the klinikum bethel. Their input helped us better understand the mental health impacts of CF and the potential emotional adjustments required when integrating gene therapies into treatment plans. This guidance was invaluable in shaping our approach to developing a holistic solution that addresses not only the medical needs but also the emotional well-being of patients and their families. It informed our Integrated Health Program (IHP) strategy, emphasizing the importance of interpersonal relationships, effective communication, and community engagement, extending beyond purely scientific considerations. </p>], insights: [<p>Through our discussions, several valuable insights emerged that have significantly deepened our understanding of the challenges faced by CF patients and their families: CF patients and their families often endure immense psychological strain. Anxiety, depression, and frustration are common, exacerbated by the constant uncertainty about the disease’s progression and the effectiveness of new treatments. The emotional toll is profound—not just due to the physical burden of the illness, but also because of the hope and fear that come with emerging therapies. While new treatments bring promise, they also raise concerns about their potential success and the unknowns that accompany them. @@ -1923,12 +1923,12 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ These insights have shaped our approach, reinforcing the importance of considering both the psychological and practical aspects of new gene therapies, to better address the needs of CF patients and their families. </p>], implementation: [<p>These findings directly influenced several key areas of the project. We adapted the project to emphasise ease of use and minimal disruption to patients' daily lives. For example, we focused on developing a therapy delivery system that was as non-invasive as possible. Recognising the mental health challenges, we integrated our project with a simple therapeutic method to reduce the mental burden on patients. We have emphasised transparency in communicating the benefits, risks and expectations of gene therapy to ensure that patients have a realistic understanding of the potential outcomes. This includes working closely with patient organisations to disseminate clear and accurate information. We are actively engaging with CF patient communities and healthcare professionals to gather ongoing feedback and ensure that the project evolves based on real patient experiences and challenges. Therefore we used our survey to gather feedback from patients and their families. By integrating these insights, we aim to create a gene therapy project that addresses not only the medical needs, but also the emotional and practical concerns of CF patients and their families. </p>], - summary: "Our project aims to address the psychological and medical challenges faced by cystic fibrosis (CF) patients and their families, particularly regarding gene therapies. We engaged with psychologists and gathered insights from patients and caregivers, revealing significant emotional strain and a mix of optimism and concern about new treatments. Key findings highlighted the importance of psychological support and the practicality of therapies in ensuring patient engagement. In response, we are developing a user-friendly therapy delivery system that minimizes disruption to daily life while emphasizing transparent communication about treatment risks and benefits. Our goal is to create a comprehensive gene therapy solution that meets the medical and emotional needs of CF patients.", + summary: "Our project aims to address the psychological and medical challenges faced by fibrosis (CF) patients and their families, particularly regarding gene therapies. We engaged with psychologists and gathered insights from patients and caregivers, revealing significant emotional strain and a mix of optimism and concern about new treatments. Key findings highlighted the importance of psychological support and the practicality of therapies in ensuring patient engagement. In response, we are developing a user-friendly therapy delivery system that minimizes disruption to daily life while emphasizing transparent communication about treatment risks and benefits. Our goal is to create a comprehensive gene therapy solution that meets the medical and emotional needs of CF patients.", months: "September", interview:<> - <QaBox q="Which psychological challenges are particularly relevant for cystic fibrosis patients?" a="Psychological problems are often a major issue for cystic fibrosis patients. Many patients experience anxiety and depression, and their parents are also often affected. This is exacerbated by the constant strain and stress associated with the disease. Special attention is therefore paid to psychological support during diagnosis and ongoing treatment. Regular screenings for anxiety and depression as well as the early involvement of parents in the treatment process are central components of care."/> - <QaBox q="What significance do the new therapies have for cystic fibrosis patients?" a="New therapies are ‘game changers’ for cystic fibrosis patients, as they significantly improve life expectancy and quality of life. In the past, cystic fibrosis was mainly a paediatric disease with a short life expectancy. Today, new therapies make it possible to significantly extend life expectancy and improve quality of life. Nevertheless, the disease persists, and patients still require comprehensive treatment. Improving quality of life through early and continuous therapy therefore remains of great importance."/> - <QaBox q="How is psychological support integrated into regular treatment?" a="Psychological support is an integral part of the treatment of cystic fibrosis. Care is taken to ensure that both patients and their families are supported at an early stage. This includes regular screenings for anxiety and depression, psycho-educational measures and, if necessary, further psychotherapeutic support. The team works on an interdisciplinary basis to ensure that all aspects of patient care are taken into account. If necessary, external help is also arranged."/> + <QaBox q="Which psychological challenges are particularly relevant for fibrosis patients?" a="Psychological problems are often a major issue for fibrosis patients. Many patients experience anxiety and depression, and their parents are also often affected. This is exacerbated by the constant strain and stress associated with the disease. Special attention is therefore paid to psychological support during diagnosis and ongoing treatment. Regular screenings for anxiety and depression as well as the early involvement of parents in the treatment process are central components of care."/> + <QaBox q="What significance do the new therapies have for fibrosis patients?" a="New therapies are ‘game changers’ for fibrosis patients, as they significantly improve life expectancy and quality of life. In the past, fibrosis was mainly a paediatric disease with a short life expectancy. Today, new therapies make it possible to significantly extend life expectancy and improve quality of life. Nevertheless, the disease persists, and patients still require comprehensive treatment. Improving quality of life through early and continuous therapy therefore remains of great importance."/> + <QaBox q="How is psychological support integrated into regular treatment?" a="Psychological support is an integral part of the treatment of fibrosis. Care is taken to ensure that both patients and their families are supported at an early stage. This includes regular screenings for anxiety and depression, psycho-educational measures and, if necessary, further psychotherapeutic support. The team works on an interdisciplinary basis to ensure that all aspects of patient care are taken into account. If necessary, external help is also arranged."/> <QaBox q="How is co-operation between medical specialists and psychologists improved?" a="The collaboration between medical specialists and psychologists is characterised by short communication channels and close cooperation. Specialists can exchange information quickly and make decisions together. This enables comprehensive and coordinated care for patients. Effective communication channels are already in place and this close co-operation is seen as very positive. Improvements could be achieved through additional time slots for dialogue or expanded resources."/> <QaBox q="How do families react to the news of a serious diagnosis and how important is it that they receive support at an early stage?" a="Families are often shocked at first when they receive the diagnosis. They first have to come to terms with it and process it. Initially, many don't ask for psychological support straight away, although that would be helpful. It would be good if they were informed about all available resources at an early stage, even if they don't want to make use of them straight away."/> <QaBox q="How does access to gene therapy affect the psychological distress of patients and families?" a="Access to gene therapy can have a significant impact on psychological distress. When therapy is effective, families often see great progress and feel relieved. But if there is no suitable therapy, many are stuck with older, less effective treatments, which can lead to frustration and a sense of disadvantage. The difference in quality of life and outlook is huge."/> @@ -1938,16 +1938,16 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ <QaBox q="How does the role of support groups and patient organisations influence confidence in new therapies?" a="Support groups and patient organisations are crucial for confidence in new therapies. If they are actively involved in research and provide transparent information, this strengthens patient confidence. The use of donations and the establishment of registries by such organisations creates trust and shows that there are serious efforts to improve the situation."/> <QaBox q="What are the challenges in adapting therapies to different genetic mutations?" a="Adapting therapies to different genetic mutations is a major challenge. While there has been progress in the treatment of certain mutations such as Delta-F508, we are still at the beginning with others. In the long term, a modular gene therapy that is customised to the specific mutations would be ideal. It will take a lot of work to develop these therapies for all relevant mutations."/> <QaBox q="How do families and patients deal with the rapid feedback on experimental therapies?" a="If you realise that a therapy is not working as expected, this is communicated very quickly. The feedback system is quite effective: either there is cause for euphoria because everything is going well, or there is bad news. This quick feedback is also reassuring because it means you don't have to be in the dark for long. You are simply grateful when you know how the therapy is going, even if it is not having the desired effect."/> - <QaBox q="How important is the community for cystic fibrosis sufferers?" a="The cystic fibrosis community is incredibly strong and well connected. That's really impressive. Those affected often have no other point of contact than this community to exchange information. It's a reliable source of valid information, and that's worth its weight in gold. The community is honest and realistic - there is no sugarcoating, the information is direct and well documented."/> - <QaBox q="What is the relationship between different specialist disciplines in the treatment of cystic fibrosis?" a="In cystic fibrosis treatment, the specialist disciplines work together as equals. At congresses, all disciplines such as physios, doctors, psychologists and nutritionists are equally represented. Everyone takes each other seriously and there is a strong interest in developing each other further. This is really exciting because it shows that everyone is working together to provide the best care."/> + <QaBox q="How important is the community for fibrosis sufferers?" a="The fibrosis community is incredibly strong and well connected. That's really impressive. Those affected often have no other point of contact than this community to exchange information. It's a reliable source of valid information, and that's worth its weight in gold. The community is honest and realistic - there is no sugarcoating, the information is direct and well documented."/> + <QaBox q="What is the relationship between different specialist disciplines in the treatment of fibrosis?" a="In fibrosis treatment, the specialist disciplines work together as equals. At congresses, all disciplines such as physios, doctors, psychologists and nutritionists are equally represented. Everyone takes each other seriously and there is a strong interest in developing each other further. This is really exciting because it shows that everyone is working together to provide the best care."/> <QaBox q="How do families deal with the challenges of therapy and the financial aspects?" a="Many families are confronted with extremely high therapy and treatment costs. There has been progress and many treatment options in Germany, but these are often expensive and not available everywhere. As a result, some families are forced to leave their home country in order to receive better medical care. This is an enormous burden and shows how unfair the distribution of resources is worldwide."/> <QaBox q="How is medical care for refugees organised?" a="For refugees from countries such as Ukraine or other crisis areas, care is often a challenge. During emergency care, the children are treated as if they were German patients. But when the refugees have to return to their home countries, the therapy often ends, which is an enormous burden for the families. It is difficult for them to prepare for the future when their status is unclear, and they constantly live with the fear of being deported."/> <QaBox q="How much psychological stress is caused by therapies and their implementation?" a="Therapies can be a major psychological burden, even if they have fundamentally positive effects. Regular inhalations, tablets and other treatments are often tedious and require a lot of discipline. Some patients find it extremely challenging to stick to a regular therapy schedule, especially if the therapy does not bring any immediately visible progress in the long term. It is important to be realistic about the burden of therapy, as it can have a major impact on daily life and well-being."/> <QaBox q="How do patients react to new therapies and the associated challenges?" a="Many patients are open to new therapies but implementing them can be a major challenge. If a new therapy doesn't work immediately at first or even has side effects, this can be demotivating. This is particularly difficult if you have been undergoing treatment for a long time and are hoping to make great progress. The path to a better condition is often arduous and not every therapy brings the desired improvement. Nevertheless, it is important to keep going and persevere with the therapy, even if there are hard times."/> <QaBox q="How much of the overall illness is psychological distress, in addition to the physical symptoms and distress from therapies?" a="The psychological part of the burden is difficult to quantify, as it varies greatly from individual to individual and is influenced by many factors. The interaction between psychological stability and physical health is considerable, as psychological stress can impair self-care and thus physical health. At different stages of life, the psychological component can vary. For example, it can increase during puberty and young adulthood. The psychological component is therefore not small and varies depending on the individual situation and phase of life."/> - <QaBox q="How is the visibility of the disease assessed through projects such as MukoMove or projects for children?" a="The visibility of the disease through such projects can be helpful in raising awareness. With rare diseases such as cystic fibrosis, the disease often remains abstract if there are no people directly affected nearby. Educational projects such as MukoMove can help children develop a better understanding of the disease, even if the impact is limited if there are no direct points of reference. However, it can be helpful if patients themselves explain their disease in schools or classes, as this provides direct and personal insights."/> - <QaBox q="What are important aspects of designing a gene therapy project so that it is viewed positively by cystic fibrosis patients?" a="When designing a gene therapy project, care should be taken to minimise the practical hurdles. The therapy"/> - <QaBox q="What tips can be given to improve the accessibility and acceptance of projects or therapies in cystic fibrosis patients? " a="It is important to ensure the accessibility of projects and that they are practical to implement. The burden on patients should be minimised. This includes ensuring that the therapy is not only effective but also as pleasant as possible. In addition, communication about the progress of the therapy should be transparent and understandable to build trust and make it clear to patients how they can benefit from the new developments. "/> + <QaBox q="How is the visibility of the disease assessed through projects such as MukoMove or projects for children?" a="The visibility of the disease through such projects can be helpful in raising awareness. With rare diseases such as fibrosis, the disease often remains abstract if there are no people directly affected nearby. Educational projects such as MukoMove can help children develop a better understanding of the disease, even if the impact is limited if there are no direct points of reference. However, it can be helpful if patients themselves explain their disease in schools or classes, as this provides direct and personal insights."/> + <QaBox q="What are important aspects of designing a gene therapy project so that it is viewed positively by fibrosis patients?" a="When designing a gene therapy project, care should be taken to minimise the practical hurdles. The therapy"/> + <QaBox q="What tips can be given to improve the accessibility and acceptance of projects or therapies in fibrosis patients? " a="It is important to ensure the accessibility of projects and that they are practical to implement. The burden on patients should be minimised. This includes ensuring that the therapy is not only effective but also as pleasant as possible. In addition, communication about the progress of the therapy should be transparent and understandable to build trust and make it clear to patients how they can benefit from the new developments. "/> </>, pictureurl_aim:"https://static.igem.wiki/teams/5247/integrated-human-practices/on-our-way-to-interview-psychologists.webp", }, @@ -1975,7 +1975,7 @@ export const timelinedata: Array<TimelineDatenpunkt> = [ <QaBox q="Are you familiar with iGEM, by the way?" a="Of course, I know it."/> <QaBox q="Did you participate yourself at some point?" a="Unfortunately, I didn't. I belong to an earlier generation. iGEM actually started relatively recently."/> <QaBox q="We thought for the structure of the interview, we would start by giving you a brief overview of our project so far to familiarize you with it. Then, we’ll move on to the questions. Is that okay?" a="Yes, of course, please go ahead."/> - <QaBox q="We've been working on this project for more than half a year now. It began because one of our team members has a friend with cystic fibrosis. That got us interested in the topic. We started by investigating how gene editing technologies like CRISPR-Cas9 could be applied to cystic fibrosis. Then, we explored prime editing and considered if it could be used for this disease or adapted for other applications. Initially, we wondered if we could make prime editing more compact, especially since delivery is challenging due to its large complex size. We looked into various delivery methods, including AAVs (Adeno-Associated Viruses). Our first approach was to explore alternative nickases and possibly engineer new ones. That's how we came across your research – Fanzor. We also considered other candidates like CasX. Are you familiar with CasX?" a="Yes, I am."/> + <QaBox q="We've been working on this project for more than half a year now. It began because one of our team members has a friend with fibrosis. That got us interested in the topic. We started by investigating how gene editing technologies like CRISPR-Cas9 could be applied to fibrosis. Then, we explored prime editing and considered if it could be used for this disease or adapted for other applications. Initially, we wondered if we could make prime editing more compact, especially since delivery is challenging due to its large complex size. We looked into various delivery methods, including AAVs (Adeno-Associated Viruses). Our first approach was to explore alternative nickases and possibly engineer new ones. That's how we came across your research – Fanzor. We also considered other candidates like CasX. Are you familiar with CasX?" a="Yes, I am."/> <QaBox q="We're also experimenting with changes to the editing complex itself. In addition, we aim to deliver the editing complex using nanoparticles. We chose to focus on the lungs, hoping that targeting this area would reduce the need for AAV viruses, making the delivery less immunogenic and not as limited by size." a="So, in this iGEM project, you're working on both reducing the size of the prime editor and developing nanoparticles for delivery?"/> <QaBox q="Yes, that’s the plan. Before we start with the main questions, how much time do you have? Is half an hour okay?" a="No problem, half an hour is fine."/> <QaBox q="Great! Then, let’s start with the first question. Our approach to modifying the endonuclease FANZOR started with understanding its mechanism. Could we go over this mechanism with you to ensure we understood it correctly?" a="Of course, please go ahead."/> diff --git a/src/sidebars/resS.tsx b/src/sidebars/resS.tsx index b3bf1493ef74b4b38e6e263672e0822432fe33c7..93a5b910f3d439f947f57480a2589a6bbb19e9dc 100644 --- a/src/sidebars/resS.tsx +++ b/src/sidebars/resS.tsx @@ -13,7 +13,7 @@ export function ResultSidebar(){ } const tabs = [ - { tab: "Abstract" , subtabs: ["Introduction", "Goals and Milestones"]}, - {tab: "Experimental Design", subtabs: ["Proof of Concept", "PrimeGuide", "LNP Synthesis", "Cellculture", "Downstream Applications"]}, - // {tab: ""}, + { tab: "Abstract"}, + {tab: "Experimental Design", subtabs: ["Proof of Concept", "PrimeGuide", "LNP Synthesis", "Cell Culture", "Downstream Applications"]}, + {tab: "Supplementary Material"} ]; \ No newline at end of file diff --git a/src/sources/description-sources.tsx b/src/sources/description-sources.tsx index 07e83d67e54f73f878a3957dd29f98cb11a3b95a..291bcec5cc93a80d6057c829e006bb1a239a97a2 100644 --- a/src/sources/description-sources.tsx +++ b/src/sources/description-sources.tsx @@ -72,7 +72,7 @@ const bibtexSources = [ author={Clinical Trials Arena}, title={Cystic fibrosis: global clinical trials landscape and treatments}, year={2024}, - url={https://www.clinicaltrialsarena.com/sponsored/cystic-fibrosis-global-clinical-trials-landscape-and-treatments/}, + url={https://www.clinicaltrialsarena.com/sponsored/-fibrosis-global-clinical-trials-landscape-and-treatments/}, note={Zugriff am 23. September 2024} }`, @@ -140,7 +140,7 @@ const bibtexSources = [ }`, /* 14 */ `@article{PUCHELLE2002115, - title={Airway mucus in cystic fibrosis}, + title={Airway mucus in fibrosis}, journal={Paediatric Respiratory Reviews}, volume={3}, number={2}, @@ -150,7 +150,7 @@ const bibtexSources = [ doi={https://doi.org/10.1016/S1526-0550(02)00005-7}, url={https://www.sciencedirect.com/science/article/pii/S1526055002000057}, author={Puchelle, Edith and Bajolet, Odile and Abély, Michel}, - keywords={cystic fibrosis, airway mucus, airway surface liquid, rheology, mucociliary clearance, mucus cough transport} + keywords={ fibrosis, airway mucus, airway surface liquid, rheology, mucociliary clearance, mucus cough transport} }`, /* 15 */ `@article{Anzalone2019, author = {Anzalone, Andrew and Randolph, Peyton and Davis, Jessie and Sousa, Ayalur and Koblan, Luke and Levy, Jonathan and Chen, Patrick and Wilson, Charlotte and Newby, Greg and Raguram, Aditya and Liu, David}, @@ -175,7 +175,7 @@ const bibtexSources = [ , `@article{Gadsby2006, - title={The ABC protein turned chloride channel whose failure causes cystic fibrosis}, + title={The ABC protein turned chloride channel whose failure causes fibrosis}, author={Gadsby, David C. and Vergani, Paola and Csanády, L{\'a}szl{\'o}}, @@ -497,9 +497,9 @@ day = {20}, `@misc{CFT22024internet, author = {Cystic Fibrosis Trust}, - title = {How does cystic fibrosis affect the body?}, + title = {How does fibrosis affect the body?}, year = {2024}, - url = {https://www.cysticfibrosis.org.uk/what-is-cystic-fibrosis/how-does-cystic-fibrosis-affect-the-body​}, + url = {https://www.fibrosis.org.uk/what-is--fibrosis/how-does--fibrosis-affect-the-body​}, note = {Zugriff am 25. September 2024} } `, @@ -538,7 +538,7 @@ day = {20}, } `, `@article{Dodge_1995, -title={Male fertility in cystic fibrosis}, +title={Male fertility in fibrosis}, volume={346}, @@ -566,9 +566,9 @@ pages={587–588} `@article{Davis_2006, title={Cystic Fibrosis Since 1938}, volume={173}, ISSN={1535-4970}, url={http://dx.doi.org/10.1164/rccm.200505-840oe}, DOI={10.1164/rccm.200505-840oe}, number={5}, journal={American Journal of Respiratory and Critical Care Medicine}, publisher={American Thoracic Society}, author={Davis, Pamela B.}, year={2006}, month=mar, pages={475–482} } `, `@misc{CFT2024internet, author = {Cystic Fibrosis Trust}, - title = {Fertility and cystic fibrosis}, + title = {Fertility and fibrosis}, year = {2024}, - url = {https://www.cysticfibrosis.org.uk/what-is-cystic-fibrosis/how-does-cystic-fibrosis-affect-the-body/symptoms-of-cystic-fibrosis/fertility ​}, + url = {https://www.fibrosis.org.uk/what-is--fibrosis/how-does--fibrosis-affect-the-body/symptoms-of--fibrosis/fertility ​}, note = {Zugriff am 25. September 2024} } `, `@misc{SGW2024internet, @@ -589,7 +589,7 @@ pages={587–588} author = {Cystic Fibrosis Foundation}, title = {About Cystic Fibrosis}, year = {2024}, - url = {https://www.cff.org/intro-cf/about-cystic-fibrosis​}, + url = {https://www.cff.org/intro-cf/about--fibrosis​}, note = {Zugriff am 25. September 2024} } `, `@article{Rowe2005, @@ -654,7 +654,7 @@ doi = {10.3238/arztebl.2017.0564}, year = {2017}, -abstract = {Background: Universal screening of newborn babies for cystic fibrosis was launched in Germany on 1 September 2016. Here we present up-to-date information on the diagnosis, treatment, and prognosis of this disease.Methods: This article is based on relevant publications retrieved by a selective search in PubMed, along with guidelines from Germany and abroad and systematic reviews.Results: Cystic fibrosis is caused by a gene mutation leading to dysfunction of the cystic fibrosis transmembrane conductance regulator (CFTR) protein. It affects multiple organ systems—the lungs, pancreas, upper airways, liver, intestine, and reproductive organs—to varying degrees. Its incidence among newborn babies in Germany is between 1 in 3300 and 1 in 4800. Its diagnosis requires both clinical evidence (positive newborn screening, sibling[s] with cystic fibrosis, clinical signs) and the demonstration of CFTR dysfunction by an elevated chloride concentration in sweat, and/or two disease-causing mutations, and/or abnormal electrophysiological findings (nasal potential difference measurement, intestinal short-circuit current measurement). Patients should be cared for by specialized cystic fibrosis centers in close cooperation with their primary care physicians. The median life span of patients with this disease has risen steadily to the current value of 40 years. Aside from symptomatic treatment, the first mutation-specific treatments have recently become available.Conclusion: Early diagnosis and optimized treatment prolong the lives of persons with cystic fibrosis and improve their quality of life. Causally directed treatment for all patients and their effects on the course of disease are now central issues for further research.}, +abstract = {Background: Universal screening of newborn babies for fibrosis was launched in Germany on 1 September 2016. Here we present up-to-date information on the diagnosis, treatment, and prognosis of this disease.Methods: This article is based on relevant publications retrieved by a selective search in PubMed, along with guidelines from Germany and abroad and systematic reviews.Results: Cystic fibrosis is caused by a gene mutation leading to dysfunction of the fibrosis transmembrane conductance regulator (CFTR) protein. It affects multiple organ systems—the lungs, pancreas, upper airways, liver, intestine, and reproductive organs—to varying degrees. Its incidence among newborn babies in Germany is between 1 in 3300 and 1 in 4800. Its diagnosis requires both clinical evidence (positive newborn screening, sibling[s] with fibrosis, clinical signs) and the demonstration of CFTR dysfunction by an elevated chloride concentration in sweat, and/or two disease-causing mutations, and/or abnormal electrophysiological findings (nasal potential difference measurement, intestinal short-circuit current measurement). Patients should be cared for by specialized fibrosis centers in close cooperation with their primary care physicians. The median life span of patients with this disease has risen steadily to the current value of 40 years. Aside from symptomatic treatment, the first mutation-specific treatments have recently become available.Conclusion: Early diagnosis and optimized treatment prolong the lives of persons with fibrosis and improve their quality of life. Causally directed treatment for all patients and their effects on the course of disease are now central issues for further research.}, URL = {https://www.aerzteblatt.de/int/article.asp?id=193172}, @@ -713,7 +713,7 @@ eprint = {https://www.aerzteblatt.de/pdf.asp?id=193172} }`, `@article{Castellani2008, - title={Consensus on the use and interpretation of cystic fibrosis mutation analysis in clinical practice}, + title={Consensus on the use and interpretation of fibrosis mutation analysis in clinical practice}, author={Castellani, Carlo and Cuppens, H. and Macek Jr, Milan and Cassiman, Jean-Marie and Kerem, Eitan and Durie, Peter and Tullis, Elizabeth and Assael, B. M. and Bombieri, Cristina and Brown, Amanda and others}, journal={Journal of Cystic Fibrosis}, volume={7}, @@ -737,7 +737,7 @@ eprint = {https://www.aerzteblatt.de/pdf.asp?id=193172} }`, `@article{Southern2009, - title={Newborn screening for cystic fibrosis}, + title={Newborn screening for fibrosis}, author={Southern, Kevin W. and Mérelle, Marieke M. E. and Dankert-Roelse, Jeannette E. and Nagelkerke, Nico}, journal={Cochrane Database of Systematic Reviews}, volume={1}, @@ -759,7 +759,7 @@ eprint = {https://www.aerzteblatt.de/pdf.asp?id=193172} }`, /* 61 */ `@article{Crossley1979, - title={Dried-blood spot screening for cystic fibrosis in the newborn}, + title={Dried-blood spot screening for fibrosis in the newborn}, author={Crossley, John R. and Elliott, Robert B. and Smith, Patricia A.}, journal={The Lancet}, volume={1}, @@ -800,7 +800,7 @@ eprint = {https://www.aerzteblatt.de/pdf.asp?id=193172} } `, `@article{southern2007survey, - title={A survey of newborn screening for cystic fibrosis in Europe}, + title={A survey of newborn screening for fibrosis in Europe}, author={Southern, Kevin W and Munck, Anne and Pollitt, Rodney and Travert, Georges and Zanolla, Luisa and Dankert-Roelse, Jeannette and Castellani, Carlo and ECFS CF Neonatal Screening Working Group and others}, @@ -820,7 +820,7 @@ eprint = {https://www.aerzteblatt.de/pdf.asp?id=193172} /* 64)*/ `@ARTICLE{Mishra2008-ia, - title = "Diagnosis of cystic fibrosis by sweat testing: age-specific + title = "Diagnosis of fibrosis by sweat testing: age-specific reference intervals", @@ -838,7 +838,7 @@ eprint = {https://www.aerzteblatt.de/pdf.asp?id=193172} >50 years and subjects who were pancreatic insufficient with - cystic fibrosis (CF) were recruited. Sweat collection was + fibrosis (CF) were recruited. Sweat collection was performed on all subjects with the Wescor Macroduct system. @@ -919,7 +919,7 @@ note = {Accessed on 02. October 2024} }`, `@article{farrell2020impact, - title={The impact of the CFTR gene discovery on cystic fibrosis diagnosis, counseling, and preventive therapy}, + title={The impact of the CFTR gene discovery on fibrosis diagnosis, counseling, and preventive therapy}, author={Farrell, Philip M and Rock, Michael J and Baker, Mei W}, journal={Genes}, volume={11}, @@ -942,7 +942,7 @@ note = {Accessed on 02. October 2024} }`, `@article{REISMAN1988632, - title={Role of conventional physiotherapy in cystic fibrosis}, + title={Role of conventional physiotherapy in fibrosis}, journal={The Journal of Pediatrics}, volume={113}, number={4}, @@ -955,7 +955,7 @@ note = {Accessed on 02. October 2024} }`, `@article{Wainwright2015, - title={Lumacaftor-ivacaftor in patients with cystic fibrosis homozygous for Phe508del CFTR}, + title={Lumacaftor-ivacaftor in patients with fibrosis homozygous for Phe508del CFTR}, author={Wainwright, Claire E and Elborn, J Stuart and Ramsey, Bonnie W and Marigowda, Girish and Huang, Xinxin and Cipolli, Marco and Colombo, Carlo and Davies, Jane C and De Boeck, Kris and Flume, Patrick A and others}, journal={New England Journal of Medicine}, volume={373}, @@ -980,7 +980,7 @@ note = {Accessed on 02. October 2024} journal={Respiratory Care} }`, `@ARTICLE{Guo2022-ch, - title={Worldwide rates of diagnosis and effective treatment for cystic fibrosis}, + title={Worldwide rates of diagnosis and effective treatment for fibrosis}, author={Guo, Jonathan and Garratt, Anna and Hill, Andrew}, journal={Journal of Cystic Fibrosis}, volume={21}, @@ -994,7 +994,7 @@ note = {Accessed on 02. October 2024} }`, `@article{Griesenbach2013, - title={Gene therapy progress and prospects: cystic fibrosis}, + title={Gene therapy progress and prospects: fibrosis}, author={Griesenbach, Uta and Alton, Eric WFW}, journal={Gene Therapy}, volume={20}, @@ -1013,7 +1013,7 @@ note = {Accessed on 02. October 2024} note={Zugriff am 07. August 2024} }`, /* 75 */ - `@article{jia2023cystic, + `@article{jia2023, author={Jia, Shijing and Taylor-Cousar, Jennifer L.}, title={Cystic Fibrosis Modulator Therapies}, journal={Annual Review of Medicine}, @@ -1050,7 +1050,7 @@ note = {Accessed on 02. October 2024} `@article{roda2022new, author={Roda, Juliana and Pinto-Silva, Catarina and Silva, Iris A. I. and Maia, Carla and Almeida, Susana and Ferreira, Ricardo and Oliveira, Guiomar}, - title={New drugs in cystic fibrosis: what has changed in the last decade?}, + title={New drugs in fibrosis: what has changed in the last decade?}, journal={Therapeutic Advances in Chronic Disease}, volume={13}, pages={20406223221098136}, @@ -1104,7 +1104,7 @@ note = {Accessed on 02. October 2024} }`, /* 84 */ `@article{Terlizzi2021, - title={Hypertonic saline in people with cystic fibrosis: review of comparative studies and clinical practice}, + title={Hypertonic saline in people with fibrosis: review of comparative studies and clinical practice}, author={Terlizzi, Valeria and Masi, Eleonora and Francalanci, Marco and Braggion, Chiara}, journal={Italian Journal of Pediatrics}, volume={47}, diff --git a/src/sources/eng-delivery-sources.tsx b/src/sources/eng-delivery-sources.tsx index ea0af9c7349bae4196856b540468ed16546e99fe..b4030c045c1485f11a110c3741f2c27c7cbeec6a 100644 --- a/src/sources/eng-delivery-sources.tsx +++ b/src/sources/eng-delivery-sources.tsx @@ -77,7 +77,7 @@ const bibtexSources = [ } `,` @article{wei_lung_2023, - title = {Lung {SORT} {LNPs} enable precise homology-directed repair mediated {CRISPR}/{Cas} genome correction in cystic fibrosis models}, + title = {Lung {SORT} {LNPs} enable precise homology-directed repair mediated {CRISPR}/{Cas} genome correction in fibrosis models}, author = {Wei, Tuo and Sun, Yehui and Cheng, Qiang and Chatterjee, Sumanta and Traylor, Zachary and Johnson, Lindsay T. and Coquelin, Melissa L. and Wang, Jialu and Torres, Michael J. and Lian, Xizhen and Wang, Xu and Xiao, Yufen and Hodges, Craig A. and Siegwart, Daniel J.}, year = 2023, month = nov, @@ -121,7 +121,7 @@ const bibtexSources = [ issn = {0168-3659}, url = {https://www.sciencedirect.com/science/article/pii/S0168365922006137}, keywords = {Lipid nanoparticles, LNP, Onpattro®, RNA therapeutics, siRNA delivery, Spray drying, Pulmonary delivery, Respiratory diseases, Human precision-cut lung slices, Formulation screening}, - abstract = {While all the siRNA drugs on the market target the liver, the lungs offer a variety of currently undruggable targets which could potentially be treated with RNA therapeutics. Hence, local, pulmonary delivery of RNA nanoparticles could finally enable delivery beyond the liver. The administration of RNA drugs via dry powder inhalers offers many advantages related to physical, chemical and microbial stability of RNA and nanosuspensions. The present study was therefore designed to test the feasibility of engineering spray dried lipid nanoparticle (LNP) powders. Spray drying was performed using 5% lactose solution (m/V), and the targets were set to obtain nanoparticle sizes after redispersion of spray-dried powders around 150 nm, a residual moisture level below 5%, and RNA loss below 15% at maintained RNA bioactivity. The LNPs consisted of an ionizable cationic lipid which is a sulfur-containing analog of DLin-MC3-DMA, a helper lipid, cholesterol, and PEG-DMG encapsulating siRNA. Prior to the spray drying, the latter process was simulated with a novel dual emission fluorescence spectroscopy method to preselect the highest possible drying temperature and excipient solution maintaining LNP integrity and stability. Through characterization of physicochemical and aerodynamic properties of the spray dried powders, administration criteria for delivery to the lower respiratory tract were fulfilled. Spray dried LNPs penetrated the lung mucus layer and maintained bioactivity for >90% protein downregulation with a confirmed safety profile in a lung adenocarcinoma cell line. Additionally, the spray dried LNPs successfully achieved up to 50% gene silencing of the house keeping gene GAPDH in ex vivo human precision-cut lung slices at without increasing cytokine levels. This study verifies the successful spray drying procedure of LNP-siRNA systems maintaining their integrity and mediating strong gene silencing efficiency on mRNA and protein levels both in vitro and ex vivo. The successful spray drying procedure of LNP-siRNA formulations in 5% lactose solution creates a novel siRNA-based therapy option to target respiratory diseases such as lung cancer, asthma, COPD, cystic fibrosis and viral infections.} + abstract = {While all the siRNA drugs on the market target the liver, the lungs offer a variety of currently undruggable targets which could potentially be treated with RNA therapeutics. Hence, local, pulmonary delivery of RNA nanoparticles could finally enable delivery beyond the liver. The administration of RNA drugs via dry powder inhalers offers many advantages related to physical, chemical and microbial stability of RNA and nanosuspensions. The present study was therefore designed to test the feasibility of engineering spray dried lipid nanoparticle (LNP) powders. Spray drying was performed using 5% lactose solution (m/V), and the targets were set to obtain nanoparticle sizes after redispersion of spray-dried powders around 150 nm, a residual moisture level below 5%, and RNA loss below 15% at maintained RNA bioactivity. The LNPs consisted of an ionizable cationic lipid which is a sulfur-containing analog of DLin-MC3-DMA, a helper lipid, cholesterol, and PEG-DMG encapsulating siRNA. Prior to the spray drying, the latter process was simulated with a novel dual emission fluorescence spectroscopy method to preselect the highest possible drying temperature and excipient solution maintaining LNP integrity and stability. Through characterization of physicochemical and aerodynamic properties of the spray dried powders, administration criteria for delivery to the lower respiratory tract were fulfilled. Spray dried LNPs penetrated the lung mucus layer and maintained bioactivity for >90% protein downregulation with a confirmed safety profile in a lung adenocarcinoma cell line. Additionally, the spray dried LNPs successfully achieved up to 50% gene silencing of the house keeping gene GAPDH in ex vivo human precision-cut lung slices at without increasing cytokine levels. This study verifies the successful spray drying procedure of LNP-siRNA systems maintaining their integrity and mediating strong gene silencing efficiency on mRNA and protein levels both in vitro and ex vivo. The successful spray drying procedure of LNP-siRNA formulations in 5% lactose solution creates a novel siRNA-based therapy option to target respiratory diseases such as lung cancer, asthma, COPD, fibrosis and viral infections.} } `,` @article{jiang_combinatorial_2024, @@ -154,7 +154,7 @@ const bibtexSources = [ url = {https://respiratory-research.biomedcentral.com/articles/10.1186/s12931-024-02800-7}, urldate = {2024-09-10}, abstract = { - Background  Pulmonary ionocytes have been identified in the airway epithelium as a small population of ion transporting cells expressing high levels of CFTR (cystic fibrosis transmembrane conductance regulator), the gene mutated in cystic fibrosis. By providing an infinite source of airway epithelial cells (AECs), the use of human induced pluripotent stem cells (hiPSCs) could overcome some challenges of studying ionocytes. However, the production of AEC epithelia containing ionocytes from hiPSCs has proven difficult. Here, we present a platform to produce hiPSCderived AECs (hiPSC-AECs) including ionocytes and investigate their role in the airway epithelium. + Background  Pulmonary ionocytes have been identified in the airway epithelium as a small population of ion transporting cells expressing high levels of CFTR ( fibrosis transmembrane conductance regulator), the gene mutated in fibrosis. By providing an infinite source of airway epithelial cells (AECs), the use of human induced pluripotent stem cells (hiPSCs) could overcome some challenges of studying ionocytes. However, the production of AEC epithelia containing ionocytes from hiPSCs has proven difficult. Here, we present a platform to produce hiPSCderived AECs (hiPSC-AECs) including ionocytes and investigate their role in the airway epithelium. Methods  hiPSCs were differentiated into lung progenitors, which were expanded as 3D organoids and matured by air-liquid interface culture as polarised hiPSC-AEC epithelia. Using CRISPR/Cas9 technology, we generated a hiPSCs knockout (KO) for FOXI1, a transcription factor that is essential for ionocyte specification. Differences between FOXI1 KO hiPSC-AECs and their wild-type (WT) isogenic controls were investigated by assessing gene and protein expression, epithelial composition, cilia coverage and motility, pH and transepithelial barrier properties. diff --git a/src/sources/eng-pe-sources.tsx b/src/sources/eng-pe-sources.tsx index 1fa4af5200d066ff8ac7277ece1fdcdb78d30d2f..c72617183f6e05cf6a6b0712b688379828029514 100644 --- a/src/sources/eng-pe-sources.tsx +++ b/src/sources/eng-pe-sources.tsx @@ -137,7 +137,7 @@ const bibtexSources = [ doi = {10.1038/s41551-024-01233-3}, issn = {2157-846X}, rights = {2024 The Author(s)}, - abstractnote = {Prime editing (PE) enables precise and versatile genome editing without requiring double-stranded DNA breaks. Here we describe the systematic optimization of PE systems to efficiently correct human cystic fibrosis (CF) transmembrane conductance regulator (CFTR) F508del, a three-nucleotide deletion that is the predominant cause of CF. By combining six efficiency optimizations for PE—engineered PE guide RNAs, the PEmax architecture, the transient expression of a dominant-negative mismatch repair protein, strategic silent edits, PE6 variants and proximal ‘dead’ single-guide RNAs—we increased correction efficiencies for CFTR F508del from less than 0.5% in HEK293T cells to 58% in immortalized bronchial epithelial cells (a 140-fold improvement) and to 25% in patient-derived airway epithelial cells. The optimizations also resulted in minimal off-target editing, in edit-to-indel ratios 3.5-fold greater than those achieved by nuclease-mediated homology-directed repair, and in the functional restoration of CFTR ion channels to over 50% of wild-type levels (similar to those achieved via combination treatment with elexacaftor, tezacaftor and ivacaftor) in primary airway cells. Our findings support the feasibility of a durable one-time treatment for CF.}, + abstractnote = {Prime editing (PE) enables precise and versatile genome editing without requiring double-stranded DNA breaks. Here we describe the systematic optimization of PE systems to efficiently correct human fibrosis (CF) transmembrane conductance regulator (CFTR) F508del, a three-nucleotide deletion that is the predominant cause of CF. By combining six efficiency optimizations for PE—engineered PE guide RNAs, the PEmax architecture, the transient expression of a dominant-negative mismatch repair protein, strategic silent edits, PE6 variants and proximal ‘dead’ single-guide RNAs—we increased correction efficiencies for CFTR F508del from less than 0.5% in HEK293T cells to 58% in immortalized bronchial epithelial cells (a 140-fold improvement) and to 25% in patient-derived airway epithelial cells. The optimizations also resulted in minimal off-target editing, in edit-to-indel ratios 3.5-fold greater than those achieved by nuclease-mediated homology-directed repair, and in the functional restoration of CFTR ion channels to over 50% of wild-type levels (similar to those achieved via combination treatment with elexacaftor, tezacaftor and ivacaftor) in primary airway cells. Our findings support the feasibility of a durable one-time treatment for CF.}, language = {en} }`, `@article{Yan_Oyler-Castrillo_Ravisankar_Ward_Levesque_Jing_Simpson_Zhao_Li_Yan_2024, diff --git a/src/sources/eng-peg-sources.tsx b/src/sources/eng-peg-sources.tsx index 3fd4443c2afe8df9e7630f63d739cfd82ce72e25..0ff82b49445f4eb542ad8fc49fcc4bb9c56dc2cb 100644 --- a/src/sources/eng-peg-sources.tsx +++ b/src/sources/eng-peg-sources.tsx @@ -65,12 +65,12 @@ const bibtexSources = [ doi = {10.1016/S0014-5793(01)02561-3}, issn = {1873-3468}, rights = {FEBS Letters 499 (2001) 1873-3468 © 2015 Federation of European Biochemical Societies}, - abstractnote = {The green fluorescent protein YFP-H148Q is sensitive to halides by a mechanism involving halide binding and a shift in pK a. However, a limitation of YFP-H148Q is its low halide sensitivity, with K d>100 mM for Cl−. Indicators with improved sensitivities are needed for cell transport studies, particularly in drug discovery by high-throughput screening, and for measurement of Cl− concentration in subcellular organelles. YFP-H148Q libraries were generated in which pairs of residues in the vicinity of the halide binding site were randomly mutated. An automated procedure was developed to screen bacterial colonies for improved halide sensitivity. Analysis of 1536 clones revealed improved anion sensitivities with K d down to 2 mM for I− (I152L), 40 mM for Cl− (V163S), and 10 mM for NO3 − (I152L). The anion-sensitive mechanism of these indicators was established and their utility in cells was demonstrated using transfected cells expressing the cystic fibrosis transmembrane conductance regulator chloride channel.}, + abstractnote = {The green fluorescent protein YFP-H148Q is sensitive to halides by a mechanism involving halide binding and a shift in pK a. However, a limitation of YFP-H148Q is its low halide sensitivity, with K d>100 mM for Cl−. Indicators with improved sensitivities are needed for cell transport studies, particularly in drug discovery by high-throughput screening, and for measurement of Cl− concentration in subcellular organelles. YFP-H148Q libraries were generated in which pairs of residues in the vicinity of the halide binding site were randomly mutated. An automated procedure was developed to screen bacterial colonies for improved halide sensitivity. Analysis of 1536 clones revealed improved anion sensitivities with K d down to 2 mM for I− (I152L), 40 mM for Cl− (V163S), and 10 mM for NO3 − (I152L). The anion-sensitive mechanism of these indicators was established and their utility in cells was demonstrated using transfected cells expressing the fibrosis transmembrane conductance regulator chloride channel.}, language = {en} } `,` @article{Bulcaen_Kortleven_Liu_Maule_Dreano_Kelly_Ensinck_Thierie_Smits_Ciciani_2024, - title = {Prime editing functionally corrects cystic fibrosis-causing CFTR mutations in human organoids and airway epithelial cells}, + title = {Prime editing functionally corrects fibrosis-causing CFTR mutations in human organoids and airway epithelial cells}, author = {Bulcaen, Mattijs and Kortleven, Phéline and Liu, Ronald B. and Maule, Giulia and Dreano, Elise and Kelly, Mairead and Ensinck, Marjolein M. and Thierie, Sam and Smits, Maxime and Ciciani, Matteo and Hatton, Aurelie and Chevalier, Benoit and Ramalho, Anabela S. and Casadevall i Solvas, Xavier and Debyser, Zeger and Vermeulen, François and Gijsbers, Rik and Sermet-Gaudelus, Isabelle and Cereseto, Anna and Carlon, Marianne S.}, year = 2024, month = may, @@ -78,7 +78,7 @@ const bibtexSources = [ pages = 101544, doi = {10.1016/j.xcrm.2024.101544}, issn = {2666-3791}, - abstractnote = {Prime editing is a recent, CRISPR-derived genome editing technology capable of introducing precise nucleotide substitutions, insertions, and deletions. Here, we present prime editing approaches to correct L227R- and N1303K-CFTR, two mutations that cause cystic fibrosis and are not eligible for current market-approved modulator therapies. We show that, upon DNA correction of the CFTR gene, the complex glycosylation, localization, and, most importantly, function of the CFTR protein are restored in HEK293T and 16HBE cell lines. These findings were subsequently validated in patient-derived rectal organoids and human nasal epithelial cells. Through analysis of predicted and experimentally identified candidate off-target sites in primary stem cells, we confirm previous reports on the high prime editor (PE) specificity and its potential for a curative CF gene editing therapy. To facilitate future screening of genetic strategies in a translational CF model, a machine learning algorithm was developed for dynamic quantification of CFTR function in organoids (DETECTOR: “detection of targeted editing of CFTR in organoidsâ€).} + abstractnote = {Prime editing is a recent, CRISPR-derived genome editing technology capable of introducing precise nucleotide substitutions, insertions, and deletions. Here, we present prime editing approaches to correct L227R- and N1303K-CFTR, two mutations that cause fibrosis and are not eligible for current market-approved modulator therapies. We show that, upon DNA correction of the CFTR gene, the complex glycosylation, localization, and, most importantly, function of the CFTR protein are restored in HEK293T and 16HBE cell lines. These findings were subsequently validated in patient-derived rectal organoids and human nasal epithelial cells. Through analysis of predicted and experimentally identified candidate off-target sites in primary stem cells, we confirm previous reports on the high prime editor (PE) specificity and its potential for a curative CF gene editing therapy. To facilitate future screening of genetic strategies in a translational CF model, a machine learning algorithm was developed for dynamic quantification of CFTR function in organoids (DETECTOR: “detection of targeted editing of CFTR in organoidsâ€).} } `,` @article{Renz_Valdivia-Francia_Sendoel_2020, diff --git a/src/sources/joshua-inv-sources.tsx b/src/sources/joshua-inv-sources.tsx index dd4665e5125446fdebb96d9758c77db7ceba911c..fd6a47e8c0c94e39039efc5632819ee7a11e85d9 100644 --- a/src/sources/joshua-inv-sources.tsx +++ b/src/sources/joshua-inv-sources.tsx @@ -14,7 +14,7 @@ const bibtexSources = [ @article{eins, -title = {Prime editing functionally corrects cystic fibrosis-causing CFTR mutations in human organoids and airway epithelial cells}, +title = {Prime editing functionally corrects fibrosis-causing CFTR mutations in human organoids and airway epithelial cells}, journal = {Cell Reports Medicine}, diff --git a/src/sources/liu-inv-sources.tsx b/src/sources/liu-inv-sources.tsx index 07b47b1207a33294301a46e04c438ac0aa639060..414ffba18712982d476f4f4ca9c3be96d719c70a 100644 --- a/src/sources/liu-inv-sources.tsx +++ b/src/sources/liu-inv-sources.tsx @@ -64,7 +64,7 @@ title = {Systematic optimization of prime editing for the efficient functional c rights = {2024 The Author(s)}, ISSN = {2157-846X}, DOI = {10.1038/s41551-024-01233-3}, -abstractNote = {Prime editing (PE) enables precise and versatile genome editing without requiring double-stranded DNA breaks. Here we describe the systematic optimization of PE systems to efficiently correct human cystic fibrosis (CF) transmembrane conductance regulator (CFTR) F508del, a three-nucleotide deletion that is the predominant cause of CF. By combining six efficiency optimizations for PE—engineered PE guide RNAs, the PEmax architecture, the transient expression of a dominant-negative mismatch repair protein, strategic silent edits, PE6 variants and proximal ‘dead’ single-guide RNAs—we increased correction efficiencies for CFTR F508del from less than 0.5% in HEK293T cells to 58% in immortalized bronchial epithelial cells (a 140-fold improvement) and to 25% in patient-derived airway epithelial cells. The optimizations also resulted in minimal off-target editing, in edit-to-indel ratios 3.5-fold greater than those achieved by nuclease-mediated homology-directed repair, and in the functional restoration of CFTR ion channels to over 50% of wild-type levels (similar to those achieved via combination treatment with elexacaftor, tezacaftor and ivacaftor) in primary airway cells. Our findings support the feasibility of a durable one-time treatment for CF.}, +abstractNote = {Prime editing (PE) enables precise and versatile genome editing without requiring double-stranded DNA breaks. Here we describe the systematic optimization of PE systems to efficiently correct human fibrosis (CF) transmembrane conductance regulator (CFTR) F508del, a three-nucleotide deletion that is the predominant cause of CF. By combining six efficiency optimizations for PE—engineered PE guide RNAs, the PEmax architecture, the transient expression of a dominant-negative mismatch repair protein, strategic silent edits, PE6 variants and proximal ‘dead’ single-guide RNAs—we increased correction efficiencies for CFTR F508del from less than 0.5% in HEK293T cells to 58% in immortalized bronchial epithelial cells (a 140-fold improvement) and to 25% in patient-derived airway epithelial cells. The optimizations also resulted in minimal off-target editing, in edit-to-indel ratios 3.5-fold greater than those achieved by nuclease-mediated homology-directed repair, and in the functional restoration of CFTR ion channels to over 50% of wild-type levels (similar to those achieved via combination treatment with elexacaftor, tezacaftor and ivacaftor) in primary airway cells. Our findings support the feasibility of a durable one-time treatment for CF.}, journal = {Nature Biomedical Engineering}, publisher = {Nature Publishing Group}, author = {Sousa, Alexander A. and Hemez, Colin and Lei, Lei and Traore, Soumba and Kulhankova, Katarina and Newby, Gregory A. and Doman, Jordan L. and Oye, Keyede and Pandey, Smriti and Karp, Philip H. and McCray, Paul B. and Liu, David R.}, diff --git a/src/sources/mattij-inv-sources.tsx b/src/sources/mattij-inv-sources.tsx index 1efed7404154a0bc5d19b5f8c4e1da13985a2dc7..42c507b32c53fd7d50c171d726b46ebc59df511b 100644 --- a/src/sources/mattij-inv-sources.tsx +++ b/src/sources/mattij-inv-sources.tsx @@ -13,7 +13,7 @@ const bibtexSources = [ ` @article{Bulcaen_Kortleven_Liu_Maule_Dreano_Kelly_Ensinck_Thierie_Smits_Ciciani_et, title = { - Prime editing functionally corrects cystic fibrosis-causing CFTR mutations in + Prime editing functionally corrects fibrosis-causing CFTR mutations in human organoids and airway epithelial cells }, author = { @@ -34,7 +34,7 @@ const bibtexSources = [ Prime editing is a recent, CRISPR-derived genome editing technology capable of introducing precise nucleotide substitutions, insertions, and deletions. Here, we present prime editing approaches to correct L227R- and N1303K-CFTR, - two mutations that cause cystic fibrosis and are not eligible for current + two mutations that cause fibrosis and are not eligible for current market-approved modulator therapies. We show that, upon DNA correction of the CFTR gene, the complex glycosylation, localization, and, most importantly, function of the CFTR protein are restored in HEK293T and 16HBE cell lines. diff --git a/src/sources/methods-sources.tsx b/src/sources/methods-sources.tsx index ecfe2eb453dbace246642ed959b8fb03d2d433b7..0226aaa7b8407e1bcbf8449a3f019711c92359c0 100644 --- a/src/sources/methods-sources.tsx +++ b/src/sources/methods-sources.tsx @@ -171,7 +171,7 @@ const bibtexSources = [ `, ` @article{BULCAEN2024101544, -title = {Prime editing functionally corrects cystic fibrosis-causing CFTR mutations in human organoids and airway epithelial cells}, +title = {Prime editing functionally corrects fibrosis-causing CFTR mutations in human organoids and airway epithelial cells}, journal = {Cell Reports Medicine}, volume = {5}, number = {5}, @@ -181,9 +181,9 @@ issn = {2666-3791}, doi = {https://doi.org/10.1016/j.xcrm.2024.101544}, url = {https://www.sciencedirect.com/science/article/pii/S2666379124002349}, author = {Mattijs Bulcaen and Phéline Kortleven and Ronald B. Liu and Giulia Maule and Elise Dreano and Mairead Kelly and Marjolein M. Ensinck and Sam Thierie and Maxime Smits and Matteo Ciciani and Aurelie Hatton and Benoit Chevalier and Anabela S. Ramalho and Xavier {Casadevall i Solvas} and Zeger Debyser and François Vermeulen and Rik Gijsbers and Isabelle Sermet-Gaudelus and Anna Cereseto and Marianne S. Carlon}, -keywords = {cystic fibrosis, prime editing, patient-derived organoids, human nasal epithelial cells, gene editing, machine learning, DETEOR, CRISPR}, +keywords = { fibrosis, prime editing, patient-derived organoids, human nasal epithelial cells, gene editing, machine learning, DETEOR, CRISPR}, abstract = {Summary -Prime editing is a recent, CRISPR-derived genome editing technology capable of introducing precise nucleotide substitutions, insertions, and deletions. Here, we present prime editing approaches to correct L227R- and N1303K-CFTR, two mutations that cause cystic fibrosis and are not eligible for current market-approved modulator therapies. We show that, upon DNA correction of the CFTR gene, the complex glycosylation, localization, and, most importantly, function of the CFTR protein are restored in HEK293T and 16HBE cell lines. These findings were subsequently validated in patient-derived rectal organoids and human nasal epithelial cells. Through analysis of predicted and experimentally identified candidate off-target sites in primary stem cells, we confirm previous reports on the high prime editor (PE) specificity and its potential for a curative CF gene editing therapy. To facilitate future screening of genetic strategies in a translational CF model, a machine learning algorithm was developed for dynamic quantification of CFTR function in organoids (DETECTOR: “detection of targeted editing of CFTR in organoidsâ€).} +Prime editing is a recent, CRISPR-derived genome editing technology capable of introducing precise nucleotide substitutions, insertions, and deletions. Here, we present prime editing approaches to correct L227R- and N1303K-CFTR, two mutations that cause fibrosis and are not eligible for current market-approved modulator therapies. We show that, upon DNA correction of the CFTR gene, the complex glycosylation, localization, and, most importantly, function of the CFTR protein are restored in HEK293T and 16HBE cell lines. These findings were subsequently validated in patient-derived rectal organoids and human nasal epithelial cells. Through analysis of predicted and experimentally identified candidate off-target sites in primary stem cells, we confirm previous reports on the high prime editor (PE) specificity and its potential for a curative CF gene editing therapy. To facilitate future screening of genetic strategies in a translational CF model, a machine learning algorithm was developed for dynamic quantification of CFTR function in organoids (DETECTOR: “detection of targeted editing of CFTR in organoidsâ€).} } new8. @article{Ensinck_Deeersmaecker_Heylen_Ramalho_Gijsbers_Far, @@ -238,8 +238,8 @@ new8. `, `@article{ehrhardt_towards_2006, - title = {Towards an in vitro model of cystic fibrosis small airway epithelium: characterisation of the human bronchial epithelial cell line {CFBE41o}-}, - shorttitle = {Towards an in vitro model of cystic fibrosis small airway epithelium}, + title = {Towards an in vitro model of fibrosis small airway epithelium: characterisation of the human bronchial epithelial cell line {CFBE41o}-}, + shorttitle = {Towards an in vitro model of fibrosis small airway epithelium}, author = {Ehrhardt, Carsten and Collnot, Eva-Maria and Baldes, Christiane and Becker, Ulrich and Laue, Michael and Kim, Kwang-Jin and Lehr, Claus-Michael}, year = 2006, month = mar, @@ -253,7 +253,7 @@ new8. urldate = {2024-09-09}, copyright = {http://www.springer.com/tdm}, language = {en}, - file = {Ehrhardt et al. - 2006 - Towards an in vitro model of cystic fibrosis small.pdf:C\:\\Users\\Isabell\\Zotero\\storage\\RXLMCE3V\\Ehrhardt et al. - 2006 - Towards an in vitro model of cystic fibrosis small.pdf:application/pdf} + file = {Ehrhardt et al. - 2006 - Towards an in vitro model of fibrosis small.pdf:C\:\\Users\\Isabell\\Zotero\\storage\\RXLMCE3V\\Ehrhardt et al. - 2006 - Towards an in vitro model of fibrosis small.pdf:application/pdf} } ` , diff --git a/vite.config.js.timestamp-1727840156500-dfa218cf58ea9.mjs b/vite.config.js.timestamp-1727840156500-dfa218cf58ea9.mjs deleted file mode 100644 index bc7bcb0a48c1761223f5761f5dbe546e708f0a5d..0000000000000000000000000000000000000000 --- a/vite.config.js.timestamp-1727840156500-dfa218cf58ea9.mjs +++ /dev/null @@ -1,3767 +0,0 @@ -// vite.config.js -import { defineConfig, loadEnv } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/vite/dist/node/index.js"; -import react from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/@vitejs/plugin-react/dist/index.mjs"; - -// src/components/FadeIn.tsx -import { useEffect, useRef, useState } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { Fragment, jsx, jsxs } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Breathe.tsx -import { useEffect as useEffect2, useRef as useRef2, useState as useState2 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Problems.tsx -import { useEffect as useEffect3, useRef as useRef3, useState as useState3 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { Fragment as Fragment3, jsx as jsx3, jsxs as jsxs3 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/AirbuddyAnim.tsx -import { useEffect as useEffect4, useRef as useRef4, useState as useState4 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { Fragment as Fragment4, jsx as jsx4, jsxs as jsxs4 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/PrimeGuide.tsx -import { useEffect as useEffect5, useRef as useRef5, useState as useState5 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { Fragment as Fragment5, jsx as jsx5, jsxs as jsxs5 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/utils/TabNavigation.tsx -import { useEffect as useEffect6, useState as useState7 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { useNavigate, useLocation } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; - -// src/utils/LoadingContext.tsx -import { createContext, useContext, useState as useState6 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { jsx as jsx6 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -var LoadingContext = createContext(null); -var useLoading = () => useContext(LoadingContext); - -// src/components/Headings.tsx -import { jsx as jsx7, jsxs as jsxs6 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function H4({ text, id }) { - var idtext; - if (id) { - idtext = id; - } else { - idtext = stringToSlug(text); - } - return /* @__PURE__ */ jsx7("div", { children: /* @__PURE__ */ jsxs6("h4", { className: "h4", id: idtext, children: [ - " ", - text, - " " - ] }) }); -} - -// src/components/precyse.tsx -import { jsx as jsx8 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Home.tsx -import { Fragment as Fragment6, jsx as jsx9, jsxs as jsxs7 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Buttons.tsx -import { Link } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; - -// src/utils/openThem.ts -function updateTabs(it, scrollToId) { - if (typeof window === "undefined") return; - let contenttabid = "tab-" + it; - let parent = "parent-" + it; - console.log(`Updating tabs for: ${it}`); - const subtabs = document.getElementsByClassName("sidesubtab"); - const contenttabs = document.getElementsByClassName("enginneeringtab"); - const sideitems = document.getElementsByClassName("sideitem"); - for (let i = 0; i < subtabs.length; i++) { - subtabs[i].style.display = "none"; - console.log(`Hiding subtab: ${subtabs[i].id}`); - } - for (let i = 0; i < contenttabs.length; i++) { - contenttabs[i].style.display = "none"; - console.log(`Hiding content tab: ${contenttabs[i].id}`); - } - for (let i = 0; i < sideitems.length; i++) { - sideitems[i].classList.remove("active-sideitem"); - console.log(`Removing active class from side item: ${sideitems[i].id}`); - } - document.getElementById(it).style.display = "block"; - console.log(`Showing tab: ${it}`); - document.getElementById(parent).classList.add("active-sideitem"); - console.log(`Activating side item: ${parent}`); - document.getElementById(contenttabid).style.display = "block"; - console.log(`Showing content tab: ${contenttabid}`); - if (scrollToId) { - const collapseElement = document.getElementById(scrollToId); - if (collapseElement) { - const elementTop = collapseElement.getBoundingClientRect().top + window.pageYOffset; - const offset = window.innerHeight / 2 - collapseElement.offsetHeight / 2; - const scrollPosition = elementTop - offset; - window.scrollTo({ - top: scrollPosition, - behavior: "smooth" - }); - } - } -} -if (typeof window !== "undefined") { - window.addEventListener("popstate", (event) => { - console.log("Popstate event triggered"); - if (event.state) { - const tab = event.state.tab; - console.log(`Restoring tab: ${tab}`); - updateTabs(tab); - console.log("Scrolling to middle on popstate..."); - const midScrollPosition = window.innerHeight / 2; - window.scrollTo({ top: midScrollPosition, behavior: "smooth" }); - } else { - console.log("No state found in popstate event."); - } - }); -} - -// src/utils/useNavigation.ts -import { useNavigate as useNavigate2 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; -var useNavigation = () => { - const navigate = useNavigate2(); - const { setIsLoading, isLoading } = useLoading(); - const goToPagesAndOpenTab = (tabId, path) => { - navigate(`${path}?tab=${tabId}`); - }; - const goToTextsAndOpenCollapsible = (collapseId, path) => { - navigate(`${path}?collapseId=${collapseId}`); - }; - const goToPageWithTabAndCollapsible = ({ path, tabId, collapseId }) => { - let url = `${path}?tab=${tabId}`; - if (collapseId) { - url += `&collapseId=${collapseId}`; - } - navigate(url); - }; - const goToPageWithNestedTabs = ({ path, tabId, subTabId, collapseId }) => { - let url = `${path}?tab=${tabId}`; - if (subTabId) { - url += `&subTab=${subTabId}`; - } - if (collapseId) { - url += `&collapseId=${collapseId}`; - } - navigate(url); - }; - const goToPageWithTabAndScroll = ({ path, tabId, scrollToId }) => { - let url = `${path}?tab=${tabId}`; - if (scrollToId) { - url += `&scrollTo=${scrollToId}`; - } - navigate(url); - }; - const goToPageAndScroll = (scrollToId, path) => { - navigate(`${path}?scrollTo=${scrollToId}`); - }; - const changePageWithLoadingScreen = () => ({ path, scrollToId }) => { - setIsLoading(true); - let url = `${path}?changeTo=${scrollToId}`; - navigate(url); - setTimeout(() => { - const element = document.getElementById(scrollToId); - if (element) { - const viewportHeight = window.innerHeight; - const targetPosition = element.getBoundingClientRect().top + window.pageYOffset; - const scrollToPosition = targetPosition - viewportHeight / 2 + element.clientHeight / 2; - window.scrollTo({ top: scrollToPosition, behavior: "smooth" }); - setTimeout(() => { - setIsLoading(false); - }, 1e3); - } else { - setIsLoading(false); - } - }, 500); - }; - return { isLoading, changePageWithLoadingScreen, goToPageAndScroll, setIsLoading, goToPagesAndOpenTab, goToPageWithTabAndScroll, goToPageWithNestedTabs, goToPageWithTabAndCollapsible, goToTextsAndOpenCollapsible }; -}; - -// src/components/Buttons.tsx -import { Fragment as Fragment7, jsx as jsx10, jsxs as jsxs8 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/sections.tsx -import { jsx as jsx11, jsxs as jsxs9 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/team.tsx -import { Fragment as Fragment8, jsx as jsx12, jsxs as jsxs10 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/attributions.tsx -import { useEffect as useEffect7 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { Fragment as Fragment9, jsx as jsx13, jsxs as jsxs11 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/VerticalTimeline.tsx -import { jsx as jsx14, jsxs as jsxs12 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Slider.tsx -import Slider from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-slick/lib/index.js"; -import { Fragment as Fragment10, jsx as jsx15 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/utils/goto.ts -var goTo = (el) => { - const elementRect = el.getBoundingClientRect(); - const elementTop = elementRect.top + window.pageYOffset; - const viewportHeight = window.innerHeight; - const middlePosition = elementTop - (viewportHeight / 5 - el.offsetHeight / 2); - window.scrollTo({ - top: middlePosition, - behavior: "smooth" - }); -}; - -// src/components/ScrollLink.tsx -import { jsx as jsx16 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -var ScrollLinkWithChild = ({ targetId, children }) => { - const handleClick = () => { - const targetElement = document.getElementById(targetId); - if (targetElement) { - goTo(targetElement); - } - }; - return /* @__PURE__ */ jsx16("a", { onClick: handleClick, children }); -}; - -// src/components/BFH-Timeline.tsx -import { Fragment as Fragment11, jsx as jsx17, jsxs as jsxs13 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Pdfs.tsx -import { Fragment as Fragment12, jsx as jsx18, jsxs as jsxs14 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Photo-grid.tsx -import { jsx as jsx19 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/poster.tsx -import { Fragment as Fragment13, jsx as jsx20, jsxs as jsxs15 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Quotes.tsx -import { jsx as jsx21, jsxs as jsxs16 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/BFH/bfh-about.tsx -import { jsx as jsx22, jsxs as jsxs17 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/BFH/postergallery.tsx -import { Fragment as Fragment14, jsx as jsx23, jsxs as jsxs18 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/BFH/bfh.tsx -import { jsx as jsx24, jsxs as jsxs19 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/collabs.tsx -import { jsx as jsx25, jsxs as jsxs20 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/patient-contribution.tsx -import { Fragment as Fragment15, jsx as jsx26, jsxs as jsxs21 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/safety-contribution.tsx -import { Fragment as Fragment16, jsx as jsx27 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/wiki-tabs.tsx -import { TabContext, TabList, TabPanel } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/@mui/lab/node/index.js"; -import { Box, Tab } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/@mui/material/node/index.js"; -import React3 from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; - -// src/contents/Contribution/Wiki/wiki-start.tsx -import { Fragment as Fragment17, jsx as jsx28, jsxs as jsxs22 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Collapsible.tsx -import { useEffect as useEffect8, useState as useState8 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { useLocation as useLocation2 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; -import { Fragment as Fragment18, jsx as jsx29, jsxs as jsxs23 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/wiki-sources.tsx -import { jsx as jsx30, jsxs as jsxs24 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Filter.tsx -import Select from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-select/dist/react-select.cjs.mjs"; -import React2 from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { jsx as jsx31 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -var wikioptions = [ - { value: "all", label: "Show all" }, - { value: "react", label: "React" }, - { value: "type", label: "Types" }, - { value: "property", label: "Properties" }, - { value: "pipeline", label: "GitLab Pipeline" }, - { value: "html", label: "HTML" }, - { value: "css", label: "CSS" } -]; -function filterMultiSelection(arr) { - const nono = document.getElementById("nono"); - if (nono) { - nono.className = "noshow"; - } - const filterableElements = document.getElementsByClassName("filterable"); - for (let i = 0; i < filterableElements.length; i++) { - const el = filterableElements[i]; - w3RemoveClass(el, "show"); - } - console.log("Begin"); - for (let i = 0; i < filterableElements.length; i++) { - const el = filterableElements[i]; - let shouldShow = true; - for (const entry of arr) { - console.log(`entry: ${entry.value}`); - if (!el.classList.contains(entry.value)) { - shouldShow = false; - break; - } - } - console.log(`shouldShow: ${shouldShow}`); - if (shouldShow) { - w3AddClass(el, "show"); - } - } - const shownElements = document.getElementsByClassName("show"); - if (shownElements.length < 1 && nono) { - console.log(shownElements.length); - nono.className = "show"; - } -} -function w3AddClass(element, name) { - var i, arr1, arr2; - arr1 = element.className.split(" "); - arr2 = name.split(" "); - for (i = 0; i < arr2.length; i++) { - if (arr1.indexOf(arr2[i]) == -1) { - element.className += " " + arr2[i]; - } - } -} -function w3RemoveClass(element, name) { - var i, arr1, arr2; - arr1 = element.className.split(" "); - arr2 = name.split(" "); - for (i = 0; i < arr2.length; i++) { - while (arr1.indexOf(arr2[i]) > -1) { - arr1.splice(arr1.indexOf(arr2[i]), 1); - } - } - element.className = arr1.join(" "); -} -var WikiAction = class extends React2.Component { - state = { - selectedOption: null - }; - handleChange = (selectedOption) => { - this.setState( - { selectedOption }, - () => console.log(`Option selected:`, this.state.selectedOption) - ); - filterMultiSelection(selectedOption); - }; - render() { - const { selectedOption } = this.state; - return /* @__PURE__ */ jsx31( - Select, - { - value: selectedOption, - onChange: this.handleChange, - isMulti: true, - options: wikioptions, - defaultValue: [wikioptions[0]], - className: "basic-multi-select", - classNamePrefix: "select" - } - ); - } -}; - -// src/contents/Contribution/Wiki/Filterables.tsx -import { jsx as jsx32, jsxs as jsxs25 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Code.tsx -import { jsx as jsx33 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/trouble-data.tsx -import { Fragment as Fragment19, jsx as jsx34, jsxs as jsxs26 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/troubleshooting.tsx -import { jsx as jsx35, jsxs as jsxs27 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/wiki-overview.tsx -import { jsx as jsx36, jsxs as jsxs28 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/wiki-tabs.tsx -import { jsx as jsx37, jsxs as jsxs29 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/wiki.tsx -import { jsx as jsx38 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/contribution.tsx -import { Fragment as Fragment20, jsx as jsx39, jsxs as jsxs30 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Boxes.tsx -import { jsx as jsx40, jsxs as jsxs31 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function QaBox({ q, a }) { - return /* @__PURE__ */ jsxs31("div", { className: "qabox", children: [ - /* @__PURE__ */ jsx40("div", { className: "question-bubble", children: /* @__PURE__ */ jsx40("div", { className: "row", children: q }) }), - /* @__PURE__ */ jsx40("div", { className: "question-bubble", children: /* @__PURE__ */ jsx40("div", { className: "row", children: a }) }) - ] }); -} - -// src/components/Tabs.tsx -import { Fragment as Fragment21, jsx as jsx41, jsxs as jsxs32 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Graph.tsx -import { Pie } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-chartjs-2/dist/index.js"; -import { Bar } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-chartjs-2/dist/index.js"; -import { Chart as ChartJS, Tooltip, Legend, ArcElement, BarElement, CategoryScale, LinearScale, Title, RadialLinearScale } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/chart.js/dist/chart.js"; -import { jsx as jsx42 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -ChartJS.register( - ArcElement, - Tooltip, - Legend, - CategoryScale, - RadialLinearScale, - LinearScale, - BarElement, - Title -); - -// src/data/symptom-data.tsx -import { Fragment as Fragment22, jsx as jsx43, jsxs as jsxs33 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -var symptomdata = [ - { - name: "Pancreas", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/pancreas.svg", - introduction: [/* @__PURE__ */ jsx43(Fragment22, { children: "Located behind the stomach in the back abdominal cavity [1]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Responsible for neutralizing stomach acid, production of hormones (like Insulin) and digestion enzymes [1]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Clogging caused by CF, so that products of the pancreatic gland can not be distributed [2]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Pancreatic insufficiency due to CF can lead to malnutrition [3], digestive problems and abdominal pain [4], CF-associated diabetes [5]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Treatment options include nutritional therapy and supplementation of pancreatic enzymes [6]" })] - }, - { - name: "Intestines", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/largeintestine.svg", - introduction: [/* @__PURE__ */ jsx43(Fragment22, { children: "Located in the abdominal cavity and extends from the stomach to the anus" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Responsible for nutrient absorption, water reabsorption, and waste elimination [7]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "CF can cause blocking of the intestines, preventing the normal movement of food and absorption of nutrients [8]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Intestinal blockage due to CF can lead to malabsorption of nutrients, and conditions like meconium ileus in newborns or distal intestinal obstruction syndrome (DIOS) in adults [8]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Treatment options include the use of laxatives, enzyme supplementation, feeding tubes, and in severe cases, surgical intervention or intestinal transplantation [8]" })] - }, - { - name: "Liver", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/liver.svg", - introduction: [/* @__PURE__ */ jsx43(Fragment22, { children: "Located directly below the diaphragm near the pancreatic gland and stomach [9]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Responsible for detoxification, bile production for enhancement of digestion, protein synthesis for blood clotting and immune functions, nutrient processing and storage [9]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "CF affects the normal secretion and function of bile- it becomes stickier [10]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Symptoms caused by CF include bruising, nose bleeds, Inflammation, more frequent chest infections, low body weight, liver cirrhosis, lethargy [10]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Treatment options include nutritional therapy, modulators, UDCA, liver transplantation [11]" })] - }, - { - name: "Sexual glands", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/glands.svg", - introduction: [/* @__PURE__ */ jsx43(Fragment22, { children: "Located in pelvic area [12]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Responsible for production of sperm (male)/ production of oocytes and as site for embryo development (female) [13]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "CF causes thick mucus to block reproductive ducts (both), affects sperm transport (male) [14] and cervical mucus density (female) [15]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "This can lead in context of CF to reduced fertility or even infertility [14][15]" }), /* @__PURE__ */ jsxs33(Fragment22, { children: [ - " ", - /* @__PURE__ */ jsx43("i", { children: " In vitro " }), - " fertilization can be an option for CF patients [16] " - ] })] - }, - { - name: "Lungs", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/lungs.svg", - introduction: [/* @__PURE__ */ jsx43(Fragment22, { children: "Located in the ribcage [17]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Responsible for breathing \u2013 aspiration of life-giving oxygen and deposition of carbondioxide [17]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "CF causes the thickening of mucus on top of the respiratory epithelium, serving as nutrition ground as for pathogens and impairing the movement of cilia so that the mucus can not be cart away [18]" }), /* @__PURE__ */ jsxs33(Fragment22, { children: [ - "Symptoms caused by CF include shortness of breath, persistent cough [19], lung infections (mainly caused by ", - /* @__PURE__ */ jsx43("i", { children: " Pseudomonas aeruginosa " }), - ", ", - /* @__PURE__ */ jsx43("i", { children: " Staphylococcus aureus " }), - " and ", - /* @__PURE__ */ jsx43("i", { children: " Burkholderia cepacia " }), - ") [20], bronchiectasis [21] " - ] }), /* @__PURE__ */ jsx43(Fragment22, { children: "Treatment options include respiratory physiotherapy (e.g. bronchiodilators), sports, inhalation, antibiotics against pathogens, lung transplantation [22]" })] - }, - { - name: "Skeletal System", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/bones.svg", - introduction: [/* @__PURE__ */ jsx43(Fragment22, { children: "Located throughout the entire body" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Responsible for structuration of the body, protection of organs, mineral storage, blood cell production [23]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "CF affects the skeletal system by reducing bone mineral density [24]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "This can lead in context of CF to osteoporosis, spinal fractures, kyphosis, scoliosis [24]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Treatment options include uptake of biophosphonates to increase bone density, vitamin D for maintenance of calcium levels needed for mineralization [24]" })] - }, - { - name: "Skin", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/skin.svg", - introduction: [/* @__PURE__ */ jsx43(Fragment22, { children: "Located on the surface of the entire body" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Responsible for barrier function, immunological defense, regulation of homeostasis, sensory functions [25]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "CF affects CFTR channels of sweat glands, which leads to salt deposits on the skin [26]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "This can lead in context of CF to skin irritation (rash or dermatitis) [26]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Prevention via drinking a lot and a rather salty diet possible [27]" })] - }, - { - name: "Nose", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/nose.svg", - introduction: [/* @__PURE__ */ jsx43(Fragment22, {}), /* @__PURE__ */ jsx43(Fragment22, { children: "Responsible for smell perception, breathing, filtration and cleaning, and serving as a resonance chamber for the voice [28]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "CF affects thickness of nasal secretions, which cannot drain well [26]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "This can lead in context of CF to nasal congestion, pressure headaches, sinusitis, inflammation of nasal polyps [26]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Therapy ranges from nasal sprays to surgical removal of nasal polyps [26]" })] - }, - { - name: "Brain", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/brain.svg", - introduction: [/* @__PURE__ */ jsx43(Fragment22, { children: "Located inside the skull" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Responsible for cognitive functions, movement coordination, and control of vital functions [29]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "CF affects mental health due to psychological stress and social isolation [30]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "This can lead in context of CF to physical illnesses like depression and anxiety disorders [30]" }), /* @__PURE__ */ jsx43(Fragment22, { children: "Treatment options include psychotherapy, antidepressants, support groups and sports [31]" })] - } -]; - -// src/data/drug-data.tsx -import { Fragment as Fragment23, jsx as jsx44, jsxs as jsxs34 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -var drugdata = [ - // { - // name: "About", - // picture: "...", - // introduction: "", - // examples: [ - // { - // title: "", - // text: [""] - // }, - // { - // title: "", - // text: ["string"] - // }, - // ] - // }, - { - //gibt 4 Modulator Beispiele - name: "Modulators", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/modulators.svg", - introduction: "CFTR modulators represent a significant advancement in CF treatment since they are small molecules improving the function of the defective CFTR protein in a mutation-specific way, which helps restore chloride ion transport across cell membranes. Notable pharmaceutical agents include Trikafta\xAE, Symdeko\xAE, Orkambi\xAE and Kalydeco\xAE [1]. These medications have been demonstrated to significantly improve lung function and reduce pulmonary exacerbations. However, they are expensive and may cause side effects such as liver enzyme elevations and cataracts in pediatric patients [2]. Furthermore, they are not suitable for all CF patients since only mutations which produce a CFTR channel can be supported by CFTR modulators, not those mutations which lead to a missing CFTR channel (knock out) [1], e.g. stop-mutations including p.Arg553Ter or p.Gly542Ter [3]. ", - examples: [ - { - title: "Trikafta", - //quelle 4 - text: ["Active ingredient(s): Combination of elexacaftor/tezacaftor/ivacaftor", "Indications: For CF patients aged 2 years and older with at least one F508del mutation = 85 % of CF patients", "Mechanism: Elexacaftor and tezacaftor act as correctors on misfolded CFTR and permit delivery to the cell surface, thereby improving the channel density at the plasma membrane, while ivacaftor as a potentiator acts on CFTR channels that have reached the cell surface and increase the gating and conductance of ions [5]", "Administration: Oral tablets", "Approval: Approved by the EMA in 2020 "] - }, - { - title: "Symdeko", - //quelle 1 - text: ["Active ingredient(s): Combination of tezacaftor and ivacaftor", "Indications: For CF patients aged 6 years and older with specific mutations in combination with F508del or with two copies of F508del mutation", "Mechanism: Tezacaftor acts as a corrector on misfolded CFTR and permit delivery to the cell surface, thereby improving the channel density at the plasma membrane, while ivacaftor as a potentiator acts on CFTR channels that have reached the cell surface and increase the gating and conductance of ions [5]", "Administration: Oral tablets", "Approval: Approved by the EMA in 2018"] - }, - { - title: "Orkambi", - //quelle 6 - text: ["Active ingredient(s): Combination of lumacaftor and ivacaftor", "Indications: For CF patients aged 1 year and older with two copies of the F508del mutation", "Mechanism: Lumacaftor acts as a corrector on misfolded CFTR and permit delivery to the cell surface, thereby improving the channel density at the plasma membrane, while ivacaftor as a potentiator act on CFTR channels that have reached the cell surface and increase the gating and conductance of ions [5]", "Administration: Oral tablets", "Approval: Approved by the EMA in 2015"] - }, - { - title: "Kalydeco", - //quelle 7 - text: ["Active ingredient(s): Ivacaftor", "Indications: For CF patients aged 4 months and older with a gating mutation in the CFTR gene (excluding F508del)", "Mechanism: Ivacaftor as a potentiator acts on CFTR channels that have reached the cell surface and increase the gating and conductance of ions [5]", "Administration: Oral tablets", "Approval: Approved by the EMA in July 2012"] - } - ] - }, - { - name: "Mucolytics and inhalation", - //gibt 2 Inhalation Beispiele - picture: "https://static.igem.wiki/teams/5247/scientific-figures/mucolytics.svg", - introduction: "Mucolytics help thin and loosen the mucus in the lungs, making it easier to cough up and clear the airways. These therapies are typically administered via wet or dry inhalation, providing direct delivery to the lungs. In the case of wet inhalation, the medication is inhaled as an aqueous solution and nebulized, while in the case of dry inhalation, the medication is inhaled as a powder. [1] Key Therapies include mannitol, Pulmozyme\xAE and hypertonic saline.", - examples: [ - { - title: "Pulmozyme", - //quelle 8 - text: ["Active ingredient(s): Dornase alfa as mucolytic enzyme", "Indications: For CF patients aged 5 years and older", "Mechanism: breaks up and thins mucus via DNase activity", "Administration: Inhalation via nebulizer, once or twice daily", "Approval: Approved by the FDA in 1993 [9]"] - }, - { - title: "Hypertonic saline", - //quelle 10 - text: ["Active ingredient(s): Osmotic agent sodium chloride (3%, 3.5%, 7%)", "Indications: For CF patients aged 6 years and older", "Mechanism: Draws water into the airways, hydrating the mucus and improving clearance", "Administration: Inhalation via nebulizer, used twice daily", "Approval: no official approval by EMA or FDA available, but widely used for several decades [11]", "Price: low-cost [11]"] - } - ] - }, - { - name: "Antibiotics", - //gibt 2 AB Beispiele - picture: "https://static.igem.wiki/teams/5247/scientific-figures/antibiotics.svg", - introduction: "Antibiotics are crucial for treating bacterial infections in CF patients since the mucus serves as an optimal environment for pathogens. A huge variety of antibiotics can be inhaled, oral, or intravenous, depending on the severity and kind of the infection [12]. Commercially available medications include TOBI\xAE and CAYSTON\xAE. A major problem associated with the application of antibiotics is the fact that long-term use can lead to antibiotic resistance and potential side effects like kidney damage and hearing loss [12].", - examples: [ - { - title: "TOBI", - //quelle 13 + Pseudo muss kursiv - text: ["Active ingredient(s): Tobramycin", /* @__PURE__ */ jsxs34(Fragment23, { children: [ - "Indications: For CF patients aged 6 years and older with ", - /* @__PURE__ */ jsx44("i", { children: " Pseudomonas aeruginosa " }), - " infections " - ] }), "Mechanism: Aminoglycoside antibiotic disrupts bacterial protein synthesis, leading to the death of the pathogen", "Administration: Inhalation of antibiotic via nebulizer, typically taken twice daily in 28-day cycles", "Approval: Approved by the EMA in 2011 [14]"] - }, - { - title: "CAYSTON", - //quelle 15 + Pseudo muss kursiv - text: ["Active ingredient(s): Aztreonam", /* @__PURE__ */ jsxs34(Fragment23, { children: [ - "Indications: For CF patients aged 6 years and older with ", - /* @__PURE__ */ jsx44("i", { children: " Pseudomonas aeruginosa " }), - " infections " - ] }), "Mechanism: Beta-Lactam antibiotic disrupts bacterial cell wall synthesis, leading to the death of the pathogen", "Administration: Inhalation via nebulizer, taken three times daily in 28-day cycles", "Approval: Approved by the EMA in 2009"] - } - ] - }, - { - name: "Digestive enzymes and diet", - //ein beispiel - picture: "https://static.igem.wiki/teams/5247/scientific-figures/diet.svg", - introduction: "The digestive process is impaired in 80% of patients with cystic fibrosis (CF), as a result of pancreatic insufficiency, which in turn leads to difficulties in digesting food and absorbing nutrients. Enzyme supplements like Creon\xAE are therefore essential [16]. Moreover CF patients are also advised to eat a balanced and energy-rich diet, as the increased work of breathing and increased coughing, as well as infections, fever and diarrhoea, consume more energy than a healthy person. [1] It is also an option for patients to use nutritional supplements. Electrolyte preparations are also used in this context to compensate for the increased need for fluids and the required salts.", - examples: [ - { - title: "Creon", - //quelle 17 - text: ["Active ingredient(s): pancreatic enzymes (lipase, amylase, protease) for enzyme replacement therapy", "Indications: For CF patients with exocrine pancreatic insufficiency", "Mechanism: Provides digestive enzymes (lipase, protease, amylase) to aid digestion", "Administration: Oral capsules, taken with meals", "Approval: Approved by the FDA in 2009"] - } - ] - } -]; - -// src/components/Complex-svg.tsx -import { jsx as jsx45, jsxs as jsxs35 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/makeSources.tsx -import { useState as useState9, useEffect as useEffect9 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import bibtexParse from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/bibtex-parser-js/bibtexParse.js"; -import { Fragment as Fragment24, jsx as jsx46, jsxs as jsxs36 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function formatPages(pages) { - if (pages && pages.length > 0) { - const pageRangeRegex = /--|-|–|–/; - if (pageRangeRegex.test(pages)) { - const pag = pages.split(pageRangeRegex).map((p) => p.trim()); - const begin = pag[0]; - const end = pag[1]; - return /* @__PURE__ */ jsxs36(Fragment24, { children: [ - ",\xA0", - /* @__PURE__ */ jsx46("span", { property: "schema:pageBegin", children: begin }), - "-", - /* @__PURE__ */ jsx46("span", { property: "schema:pageEnd", children: end }) - ] }); - } else if (/^\d+(-\d+)?$/.test(pages)) { - return /* @__PURE__ */ jsxs36(Fragment24, { children: [ - ",\xA0", - /* @__PURE__ */ jsx46("span", { property: "schema:pageBegin", children: pages }) - ] }); - } else { - console.warn(`Non-numeric page information detected ('${pages}'). Treating as missing.`); - return null; - } - } else { - console.warn("Sorry, no page information."); - return null; - } -} -var BibtexParser = ({ bibtexSources: bibtexSources6, special }) => { - const [parsedEntries, setParsedEntries] = useState9([]); - useEffect9(() => { - console.log("Parsing BibTeX sources: ", bibtexSources6); - try { - const allEntries = []; - bibtexSources6.forEach((bibtex) => { - const parsed = bibtexParse.toJSON(bibtex); - allEntries.push(...parsed); - }); - setParsedEntries(allEntries); - } catch (error) { - alert("An error occurred while parsing the BibTeX entries. Please check the format." + bibtexSources6); - } - }, [bibtexSources6]); - const formatAuthors = (authors) => { - console.log("Original input:", authors); - const cleanedAuthors = authors.replace(/\s*and\s*/g, "|").replace(/\{|\}/g, "").trim(); - console.log("Cleaned authors string:", cleanedAuthors); - const authorList = cleanedAuthors.split("|").map((author) => author.trim()); - console.log("Split author list:", authorList); - const maxAuthors = 7; - const formattedAuthors = authorList.map((author, index) => { - console.log(`Processing author #${index + 1}:`, author); - const [last, firstNames] = author.includes(",") ? author.split(",").map((part) => part.trim()) : ["", author]; - console.log(`Last name: "${last}", First names: "${firstNames}"`); - const initials = firstNames.split(" ").map((n) => n[0] + ".").join(" "); - console.log(`Initials for "${firstNames}": "${initials}"`); - const formattedName = `${last}, ${initials}`.trim(); - console.log(`Formatted name: "${formattedName}"`); - return formattedName; - }); - console.log("Formatted authors before adding et al.:", formattedAuthors); - const output = formattedAuthors.slice(0, maxAuthors).join("; ") + (formattedAuthors.length > maxAuthors ? " et al." : ""); - console.log("Final output:", output); - return output; - }; - let specialthing = ""; - if (special) { - specialthing = `#${special}`; - } - const renderCitation = (entry, index) => { - const citationNumber = index + 1; - const entryType = entry.entryType.toLowerCase(); - const entryTags = entry.entryTags; - switch (entryType) { - case "article": - return /* @__PURE__ */ jsxs36("li", { typeof: "schema:ScholarlyArticle", role: "doc-biblioentry", property: "schema:citation", id: `desc-${citationNumber}${specialthing}`, children: [ - formatAuthors(entryTags.AUTHOR || entryTags.EDITOR || ""), - "\xA0", - /* @__PURE__ */ jsxs36("span", { property: "schema:name", children: [ - entryTags.TITLE.replace(/[?!.]/g, "").replace(/\n/g, " ").trim(), - "." - ] }), - "\xA0", - /* @__PURE__ */ jsx46("i", { property: "schema:publisher", typeof: "schema:Organization", children: entryTags.JOURNAL }), - "\xA0", - /* @__PURE__ */ jsx46("b", { property: "issueNumber", typeof: "PublicationIssue", children: entryTags.VOLUME }), - formatPages(entryTags.PAGES) && /* @__PURE__ */ jsx46("span", { children: formatPages(entryTags.PAGES) }), - entryTags.YEAR && /* @__PURE__ */ jsxs36("span", { children: [ - "\xA0(", - /* @__PURE__ */ jsx46("time", { property: "schema:datePublished", datatype: "xsd:gYear", dateTime: entryTags.YEAR, children: entryTags.YEAR }), - ")." - ] }), - entryTags.DOI && /* @__PURE__ */ jsxs36("span", { children: [ - "\xA0", - /* @__PURE__ */ jsxs36("a", { className: "doi", href: `https://doi.org/${entryTags.DOI}`, children: [ - "doi: ", - entryTags.DOI - ] }) - ] }) - ] }, index); - case "book": - return /* @__PURE__ */ jsxs36("li", { typeof: "schema:Book", role: "doc-biblioentry", property: "schema:citation", id: `desc-${citationNumber}`, children: [ - formatAuthors(entryTags.AUTHOR || entryTags.EDITOR || ""), - entryTags.TITLE ? /* @__PURE__ */ jsxs36("span", { property: "schema:name", children: [ - "\xA0", - entryTags.TITLE.replace(/[?!.]/g, "").replace(/\n/g, " ").trim(), - "." - ] }) : entryTags.BOOKTITLE ? /* @__PURE__ */ jsxs36("span", { property: "schema:name", children: [ - "\xA0", - entryTags.BOOKTITLE.replace(/[?!.]/g, "").replace(/\n/g, " ").trim(), - "." - ] }) : console.warn(`No title or booktitle found for entry ${citationNumber}`), - entryTags.PUBLISHER && /* @__PURE__ */ jsxs36("i", { property: "schema:publisher", typeof: "schema:Organization", children: [ - "\xA0", - entryTags.PUBLISHER - ] }), - entryTags.YEAR && /* @__PURE__ */ jsxs36("span", { children: [ - "\xA0(", - /* @__PURE__ */ jsx46("time", { property: "schema:datePublished", datatype: "xsd:gYear", dateTime: entryTags.YEAR, children: entryTags.YEAR }), - ")." - ] }), - entryTags.ISBN && /* @__PURE__ */ jsxs36("span", { property: "isbn", children: [ - "\xA0", - entryTags.ISBN - ] }) - ] }, index); - case "misc": - return /* @__PURE__ */ jsxs36("li", { typeof: "schema:WebPage", role: "doc-biblioentry", property: "schema:citation", id: `desc-${citationNumber}`, children: [ - entryTags.AUTHOR || entryTags.EDITOR || "", - entryTags.TITLE && /* @__PURE__ */ jsxs36("span", { property: "schema:name", children: [ - ".\xA0", - entryTags.TITLE.replace(/[?!.]/g, "").replace(/\n/g, " ").trim(), - "." - ] }), - entryTags.HOWPUBLISHED && /* @__PURE__ */ jsxs36("i", { property: "schema:publisher", typeof: "schema:Organization", children: [ - "\xA0", - entryTags.HOWPUBLISHED - ] }), - entryTags.YEAR && /* @__PURE__ */ jsxs36("span", { children: [ - "\xA0(", - /* @__PURE__ */ jsx46("time", { property: "schema:datePublished", datatype: "xsd:gYear", dateTime: entryTags.YEAR, children: entryTags.YEAR }), - ")." - ] }) - ] }, index); - case "inproceedings": - return /* @__PURE__ */ jsxs36("li", { children: [ - /* @__PURE__ */ jsx46("span", { children: formatAuthors(entryTags.AUTHOR || "") }), - "\xA0", - /* @__PURE__ */ jsx46("span", { children: entryTags.TITLE }), - ". In ", - /* @__PURE__ */ jsx46("i", { children: entryTags.BOOKTITLE }), - ",\xA0", - /* @__PURE__ */ jsx46("b", { children: entryTags.editor }), - ", ", - entryTags.YEAR, - "." - ] }, index); - case "phdthesis": - return /* @__PURE__ */ jsxs36("li", { children: [ - /* @__PURE__ */ jsx46("span", { children: formatAuthors(entryTags.AUTHOR || "") }), - "\xA0", - /* @__PURE__ */ jsx46("span", { children: entryTags.TITLE }), - ", PhD thesis, ", - entryTags.SCHOOL, - ", ", - entryTags.YEAR, - "." - ] }, index); - default: - console.warn(`Unknown entry type: ${entryType}`); - return /* @__PURE__ */ jsxs36("li", { children: [ - "Unknown entry type: ", - entryType - ] }, index); - } - }; - return /* @__PURE__ */ jsx46("div", { children: parsedEntries.length === 0 ? /* @__PURE__ */ jsx46("p", { children: "No citations available." }) : /* @__PURE__ */ jsx46("ol", { children: parsedEntries.map((entry, index) => renderCitation(entry, index)) }) }); -}; -var makeSources_default = BibtexParser; - -// src/sources/description-sources.tsx -import { jsx as jsx47 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/description.tsx -import { jsx as jsx48, jsxs as jsxs37 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -var medibuttonrowdata = [ - { - node: createDrugSteckbrief(drugdata[0]), - buttonname: "Modulators", - cssname: "Med-First", - main: true - }, - { - node: createDrugSteckbrief(drugdata[1]), - buttonname: "Mucolytics", - cssname: "Mucolytics" - }, - { - node: createDrugSteckbrief(drugdata[2]), - buttonname: "Antibiotics", - cssname: "Antibiotics" - }, - { - node: createDrugSteckbrief(drugdata[3]), - buttonname: "Enzymes", - cssname: "Enzymes" - } -]; -var symptombuttonrowdata = [ - { - node: createSymptomSteckbrief(symptomdata[0]), - buttonname: "Pancreas", - cssname: "Symp-First", - main: true - }, - { - node: createSymptomSteckbrief(symptomdata[1]), - buttonname: "Intestines", - cssname: "intestines" - }, - { - node: createSymptomSteckbrief(symptomdata[2]), - buttonname: "Liver", - cssname: "liver" - }, - { - node: createSymptomSteckbrief(symptomdata[3]), - buttonname: "Sexual glands", - cssname: "Sexual glands" - }, - { - node: createSymptomSteckbrief(symptomdata[4]), - buttonname: "Lungs", - cssname: "lungs" - }, - { - node: createSymptomSteckbrief(symptomdata[5]), - buttonname: "Skeletal System", - cssname: "Skeletal System" - }, - { - node: createSymptomSteckbrief(symptomdata[6]), - buttonname: "Skin", - cssname: "skin" - }, - { - node: createSymptomSteckbrief(symptomdata[7]), - buttonname: "Nasal mucosa", - cssname: "Nasal mucosa" - }, - { - node: createSymptomSteckbrief(symptomdata[8]), - buttonname: "Brain", - cssname: "brain" - } -]; -function createSymptomSteckbrief(data) { - let examplelist = []; - for (let index = 0; index < data.introduction.length; index++) { - examplelist.push( - /* @__PURE__ */ jsx48("li", { children: data.introduction[index] }, index) - ); - } - return /* @__PURE__ */ jsxs37("div", { children: [ - /* @__PURE__ */ jsx48(H4, { id: `${data.name}-btn`, text: data.name }), - /* @__PURE__ */ jsxs37("div", { className: "row", children: [ - /* @__PURE__ */ jsx48("div", { className: "col-2", children: /* @__PURE__ */ jsx48("div", { className: "symptom-img-wrapper", children: /* @__PURE__ */ jsx48("img", { src: data.picture, className: "symptom-img" }) }) }), - /* @__PURE__ */ jsx48("div", { className: "col", children: /* @__PURE__ */ jsx48("ul", { children: examplelist }) }) - ] }) - ] }); -} -function createDrugSteckbrief(data) { - let examplelist = []; - for (let index = 0; index < data.examples.length; index++) { - let absaetze = []; - for (let i = 0; i < data.examples[index].text.length; i++) { - absaetze.push( - /* @__PURE__ */ jsx48("li", { children: data.examples[index].text[i] }, i) - ); - } - examplelist.push( - /* @__PURE__ */ jsxs37("div", { className: "drug", children: [ - /* @__PURE__ */ jsx48(H4, { text: data.examples[index].title }), - /* @__PURE__ */ jsx48("ul", { children: absaetze }, index) - ] }, index + 500) - ); - } - return /* @__PURE__ */ jsxs37("div", { children: [ - /* @__PURE__ */ jsx48(H4, { id: `${data.name}-btn`, text: data.name }), - /* @__PURE__ */ jsxs37("div", { className: "row", children: [ - /* @__PURE__ */ jsx48("div", { className: "col-2", children: /* @__PURE__ */ jsx48("div", { className: "symptom-img-wrapper", children: /* @__PURE__ */ jsx48("img", { src: data.picture, className: "symptom-img" }) }) }), - /* @__PURE__ */ jsx48("div", { className: "col", children: data.introduction }) - ] }), - /* @__PURE__ */ jsx48("div", { className: "col", children: examplelist }) - ] }); -} - -// src/utils/createSidebar.tsx -import { useEffect as useEffect10, useState as useState10 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { Fragment as Fragment25, jsx as jsx49, jsxs as jsxs38 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/descS.tsx -import { jsx as jsx50 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Loremipsum.tsx -import { jsx as jsx51 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Link.tsx -import { jsx as jsx52 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function TabScrollLink({ tab, scrollId, num }) { - const { goToPageWithTabAndScroll } = useNavigation(); - return /* @__PURE__ */ jsx52("sup", { children: /* @__PURE__ */ jsx52("a", { onClick: () => goToPageWithTabAndScroll({ path: "", tabId: tab, scrollToId: scrollId }), children: num }) }); -} - -// src/sources/eng-trf-sources.tsx -import { jsx as jsx53 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/eng-reporter-sources.tsx -import { jsx as jsx54 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/eng-pe-sources.tsx -import { jsx as jsx55 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/eng-peg-sources.tsx -import { jsx as jsx56 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/eng-nickases-sources.tsx -import { jsx as jsx57 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/eng-delivery-sources.tsx -import { jsx as jsx58 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/engineering.tsx -import { Fragment as Fragment26, jsx as jsx59, jsxs as jsxs39 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/experiments.tsx -import { Fragment as Fragment27, jsx as jsx60, jsxs as jsxs40 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/notebook.tsx -import { jsx as jsx61, jsxs as jsxs41 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/results.tsx -import { Fragment as Fragment28, jsx as jsx62, jsxs as jsxs42 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/safety.tsx -import { Fragment as Fragment29, jsx as jsx63, jsxs as jsxs43 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Overwiev.tsx -import { jsx as jsx64, jsxs as jsxs44 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Introduction.tsx -import { jsx as jsx65, jsxs as jsxs45 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/joshua-inv-sources.tsx -import { jsx as jsx66 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function JoshuaInterviewSources() { - return /* @__PURE__ */ jsx66("div", { children: /* @__PURE__ */ jsx66(makeSources_default, { bibtexSources }) }); -} -var bibtexSources = [ - ` - -@article{eins, - -title = {Prime editing functionally corrects cystic fibrosis-causing CFTR mutations in human organoids and airway epithelial cells}, - -journal = {Cell Reports Medicine}, - -volume = {5}, - -number = {5}, - -pages = {101544}, - -year = {2024}, - -issn = {2666-3791}, - -doi = {https://doi.org/10.1016/j.xcrm.2024.101544}, - -url = {https://www.sciencedirect.com/science/article/pii/S2666379124002349}, - -author = {Mattijs Bulcaen and Ph\xE9line Kortleven and Ronald B. Liu and Giulia Maule and Elise Dreano and Mairead Kelly and Marjolein M. Ensinck and Sam Thierie and Maxime Smits and Matteo Ciciani and Aurelie Hatton and Benoit Chevalier and Anabela S. Ramalho and Xavier {Casadevall i Solvas} and Zeger Debyser and Fran\xE7ois Vermeulen and Rik Gijsbers and Isabelle Sermet-Gaudelus and Anna Cereseto and Marianne S. Carlon}, - -}`, - ` -@article{zewi, - -author = {Teeratakulpisarn, Jamaree and Kosuwon, Pensri and Srinakarin, Jiraporn and Panthongviriyakul, Charnchai and Sutra, Sumitr}, - -year = {2006}, - -month = {11}, - -pages = {1756-61}, - -title = {Cystic fibrosis in three northeast Thai infants is CF really a rare disease in the Thai population?}, - -volume = {89}, - -journal = {Journal of the Medical Association of Thailand = Chotmaihet thangphaet} - -} `, - ` - -@article{drei, - -author = {Ahmed, Shakil and Cheok, Gary and Goh, AnneE and Han, Aye and Hong, SJ and Indawati, Wahyuni and Kabir, AR and Kabra, Sushil and Kamalaporn, Harutai and Kim, HyungYoung and Kunling, Shen and Lochindarat, Sorasak and Moslehi, MohammadAshkan and Nathan, AnnaMarie and Ng, Daniel and Phung, NguyenNg and Singh, V and Takase, Masato and Triasih, Rina and Dai, Zen-Kong}, - -year = {2020}, - -month = {01}, - -pages = {8}, - -title = {Cystic fibrosis in asia}, - -volume = {4}, - -journal = {Pediatric Respirology and Critical Care Medicine}, - -doi = {10.4103/prcm.prcm_5_20} - -} `, - ` - -@article{vier, - -author = {Bobbo, Khadijatabubakar and Ahmad, Umar and Chau, De-Ming and Nordin, Norshariza and Abdullah, Syahril}, - -year = {2023}, - -month = {05}, - -pages = {103685}, - -title = {A comprehensive review of Cystic Fibrosis in Africa and Asia}, - -volume = {30}, - -journal = {Saudi Journal of Biological Sciences}, - -doi = {10.1016/j.sjbs.2023.103685} - -} ` -]; - -// src/sources/mattij-inv-sources.tsx -import { jsx as jsx67 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function MattijsInterviewSources() { - return /* @__PURE__ */ jsx67("div", { children: /* @__PURE__ */ jsx67(makeSources_default, { bibtexSources: bibtexSources2 }) }); -} -var bibtexSources2 = [ - ` - @article{Bulcaen_Kortleven_Liu_Maule_Dreano_Kelly_Ensinck_Thierie_Smits_Ciciani_et, - title = { - Prime editing functionally corrects cystic fibrosis-causing CFTR mutations in - human organoids and airway epithelial cells - }, - author = { - Bulcaen, Mattijs and Kortleven, Ph\xE9line and Liu, Ronald B. and Maule, Giulia - and Dreano, Elise and Kelly, Mairead and Ensinck, Marjolein M. and Thierie, - Sam and Smits, Maxime and Ciciani, Matteo and Hatton, Aurelie and Chevalier, - Benoit and Ramalho, Anabela S. and Casadevall i Solvas, Xavier and Debyser, - Zeger and Vermeulen, Fran\xE7ois and Gijsbers, Rik and Sermet-Gaudelus, Isabelle - and Cereseto, Anna and Carlon, Marianne S. - }, - year = 2024, - month = may, - journal = {Cell Reports Medicine}, - pages = 101544, - doi = {10.1016/j.xcrm.2024.101544}, - issn = {2666-3791}, - abstractnote = { - Prime editing is a recent, CRISPR-derived genome editing technology capable - of introducing precise nucleotide substitutions, insertions, and deletions. - Here, we present prime editing approaches to correct L227R- and N1303K-CFTR, - two mutations that cause cystic fibrosis and are not eligible for current - market-approved modulator therapies. We show that, upon DNA correction of the - CFTR gene, the complex glycosylation, localization, and, most importantly, - function of the CFTR protein are restored in HEK293T and 16HBE cell lines. - These findings were subsequently validated in patient-derived rectal - organoids and human nasal epithelial cells. Through analysis of predicted and - experimentally identified candidate off-target sites in primary stem cells, - we confirm previous reports on the high prime editor (PE) specificity and its - potential for a curative CF gene editing therapy. To facilitate future - screening of genetic strategies in a translational CF model, a machine - learning algorithm was developed for dynamic quantification of CFTR function - in organoids (DETECTOR: \u201Cdetection of targeted editing of CFTR in - organoids\u201D). - } -} - - ` -]; - -// src/sources/liu-inv-sources.tsx -import { jsx as jsx68 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function LiuInterviewSources() { - return /* @__PURE__ */ jsx68("div", { children: /* @__PURE__ */ jsx68(makeSources_default, { bibtexSources: bibtexSources3 }) }); -} -var bibtexSources3 = [ - ` -@article{eins, -title = {Search-and-replace genome editing without double-strand breaks or donor DNA}, -volume = {576}, -rights = {2019 The Author(s), under exclusive licence to Springer Nature Limited}, -ISSN = {1476-4687}, -DOI = {10.1038/s41586-019-1711-4}, -abstractNote = {Most genetic variants that contribute to disease are challenging to correct efficiently and without excess byproducts. Here we describe prime editing, a versatile and precise genome editing method that directly writes new genetic information into a specified DNA site using a catalytically impaired Cas9 endonuclease fused to an engineered reverse transcriptase, programmed with a prime editing guide RNA (pegRNA) that both specifies the target site and encodes the desired edit. We performed more than 175 edits in human cells, including targeted insertions, deletions, and all 12 types of point mutation, without requiring double-strand breaks or donor DNA templates. We used prime editing in human cells to correct, efficiently and with few byproducts, the primary genetic causes of sickle cell disease and Tay\u2013Sachs disease; to install a protective transversion in PRNP; and to insert various tags and epitopes precisely into target loci. Four human cell lines and primary post-mitotic mouse cortical neurons support prime editing with varying efficiencies. Prime editing shows higher or similar efficiency and fewer byproducts than homology-directed repair, has complementary strengths and weaknesses compared to base editing, and induces much lower off-target editing than Cas9 nuclease at known Cas9 off-target sites. Prime editing substantially expands the scope and capabilities of genome editing, and in principle could correct up to 89% of known genetic variants associated with human diseases.}, -number = {7785}, -journal = {Nature}, -publisher = {Nature Publishing Group}, -author = {Anzalone, Andrew V. and Randolph, Peyton B. and Davis, Jessie R. and Sousa, Alexander A. and Koblan, Luke W. and Levy, Jonathan M. and Chen, Peter J. and Wilson, Christopher and Newby, Gregory A. and Raguram, Aditya and Liu, David R.}, -year = {2019}, -month = {dec}, -pages = {149\u2013157}, -language = {en} -}`, - ` - -@article{zwei, -title = {Phage-assisted evolution and protein engineering yield compact, efficient prime editors}, -volume = {186}, -ISSN = {0092-8674, 1097-4172}, -DOI = {10.1016/j.cell.2023.07.039}, -number = {18}, -journal = {Cell}, -publisher = {Elsevier}, -author = {Doman, Jordan L. and Pandey, Smriti and Neugebauer, Monica E. and An, Meirui and Davis, Jessie R. and Randolph, Peyton B. and McElroy, Amber and Gao, Xin D. and Raguram, Aditya and Richter, Michelle F. and Everette, Kelcee A. and Banskota, Samagya and Tian, Kathryn and Tao, Y. Allen and Tolar, Jakub and Osborn, Mark J. and Liu, David R.}, -year = {2023}, -month = {aug}, -pages = {3983-4002.e26}, -language = {English} -}`, - ` - -@article{drei, -title = {Phage-assisted continuous and non-continuous evolution}, -volume = {15}, -rights = {2020 The Author(s), under exclusive licence to Springer Nature Limited}, -ISSN = {1750-2799}, -DOI = {10.1038/s41596-020-00410-3}, -abstractNote = {Directed evolution, which applies the principles of Darwinian evolution to a laboratory setting, is a powerful strategy for generating biomolecules with diverse and tailored properties. This technique can be implemented in a highly efficient manner using continuous evolution, which enables the steps of directed evolution to proceed seamlessly over many successive generations with minimal researcher intervention. Phage-assisted continuous evolution (PACE) enables continuous directed evolution in bacteria by mapping the steps of Darwinian evolution onto the bacteriophage life cycle and allows directed evolution to occur on much faster timescales compared to conventional methods. This protocol provides detailed instructions on evolving proteins using PACE and phage-assisted non-continuous evolution (PANCE) and includes information on the preparation of selection phage and host cells, the assembly of a continuous flow apparatus and the performance and analysis of evolution experiments. This protocol can be performed in as little as 2 weeks to complete more than 100 rounds of evolution (complete cycles of mutation, selection and replication) in a single PACE experiment.}, -number = {12}, -journal = {Nature Protocols}, -publisher = {Nature Publishing Group}, -author = {Miller, Shannon M. and Wang, Tina and Liu, David R.}, -year = {2020}, -month = {dec}, -pages = {4101\u20134127}, -language = {en} -}`, - ` -@article{vier, -title = {Systematic optimization of prime editing for the efficient functional correction of CFTR F508del in human airway epithelial cells}, -rights = {2024 The Author(s)}, -ISSN = {2157-846X}, -DOI = {10.1038/s41551-024-01233-3}, -abstractNote = {Prime editing (PE) enables precise and versatile genome editing without requiring double-stranded DNA breaks. Here we describe the systematic optimization of PE systems to efficiently correct human cystic fibrosis (CF) transmembrane conductance regulator (CFTR) F508del, a three-nucleotide deletion that is the predominant cause of CF. By combining six efficiency optimizations for PE\u2014engineered PE guide RNAs, the PEmax architecture, the transient expression of a dominant-negative mismatch repair protein, strategic silent edits, PE6 variants and proximal \u2018dead\u2019 single-guide RNAs\u2014we increased correction efficiencies for CFTR F508del from less than 0.5% in HEK293T cells to 58% in immortalized bronchial epithelial cells (a 140-fold improvement) and to 25% in patient-derived airway epithelial cells. The optimizations also resulted in minimal off-target editing, in edit-to-indel ratios 3.5-fold greater than those achieved by nuclease-mediated homology-directed repair, and in the functional restoration of CFTR ion channels to over 50% of wild-type levels (similar to those achieved via combination treatment with elexacaftor, tezacaftor and ivacaftor) in primary airway cells. Our findings support the feasibility of a durable one-time treatment for CF.}, -journal = {Nature Biomedical Engineering}, -publisher = {Nature Publishing Group}, -author = {Sousa, Alexander A. and Hemez, Colin and Lei, Lei and Traore, Soumba and Kulhankova, Katarina and Newby, Gregory A. and Doman, Jordan L. and Oye, Keyede and Pandey, Smriti and Karp, Philip H. and McCray, Paul B. and Liu, David R.}, -year = {2024}, -month = {jul}, -pages = {1\u201315}, -language = {en} -}` -]; - -// src/sources/rnhale-sources.tsx -import { jsx as jsx69 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function RnhaleSources() { - return /* @__PURE__ */ jsx69("div", { children: /* @__PURE__ */ jsx69(makeSources_default, { bibtexSources: bibtexSources4 }) }); -} -var bibtexSources4 = [ - ` - -@article{article, - -author={Roth, F. C., Numberger, M., and Draguhn, A.}, - -year={2023}, - -month={}, - -pages={1-14}, - -title={Die Entwicklung der Patch-Clamp-Technik}, - -volume={}, - -journal={Springer eBooks}, - -doi={10.1007/978-3-662-66053-9_1} - -} - -`, - ` - -@article{article, - -author={Mete, V.}, - -year={2023}, - -month={ }, - -pages={ }, - -title={Entwicklung und Validierung neuer nicht-invasiver Diagnosesysteme f\xFCr Mucociliary Clearance Disorders (MCCD)}, - -volume={ }, - -journal={Dissertation, Westf\xE4lische Wilhelms-Universit\xE4t M\xFCnster}, - -doi={10.17879/98958441905} - -} - -`, - ` - -@article{article, - -author={Giaever, I. and Keese, C. }, - -year={1993}, - -month={ }, - -pages={591-592}, - -title={A morphological biosensor for mammalian cells}, - -volume={366}, - -journal={Nature}, - -doi={10.1038/366591a0} - -} -` -]; - -// src/sources/wimscheyer-sources.tsx -import { jsx as jsx70 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function WischmeyerSources() { - return /* @__PURE__ */ jsx70("div", { children: /* @__PURE__ */ jsx70(makeSources_default, { bibtexSources: bibtexSources5 }) }); -} -var bibtexSources5 = [ - ` - -@article{article, - -author={Roth, F. C., Numberger, M., and Draguhn, A.}, - -year={2023}, - -month={}, - -pages={1-14}, - -title={Die Entwicklung der Patch-Clamp-Technik}, - -volume={}, - -journal={Springer eBooks}, - -doi={10.1007/978-3-662-66053-9_1} - -} - -`, - ` - -@article{article, - -author={Mete, V.}, - -year={2023}, - -month={ }, - -pages={ }, - -title={Entwicklung und Validierung neuer nicht-invasiver Diagnosesysteme f\xFCr Mucociliary Clearance Disorders (MCCD)}, - -volume={ }, - -journal={Dissertation, Westf\xE4lische Wilhelms-Universit\xE4t M\xFCnster}, - -doi={10.17879/98958441905} - -} -`, - ` - -@article{article, - -author={Giaever, I. and Keese, C. }, - -year={1993}, - -month={ }, - -pages={591-592}, - -title={A morphological biosensor for mammalian cells}, - -volume={366}, - -journal={Nature}, - -doi={10.1038/366591a0} - -} - ` -]; - -// src/data/hptimelinedata.tsx -import { Fragment as Fragment30, jsx as jsx71, jsxs as jsxs46 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function HPLinktoOtherHPTab({ tab, text }) { - const { goToPagesAndOpenTab } = useNavigation(); - return /* @__PURE__ */ jsxs46("a", { onClick: () => goToPagesAndOpenTab(tab, ""), children: [ - " ", - text, - " " - ] }); -} -function HPgoToPageAndScroll({ id, text, path }) { - const { goToPageAndScroll } = useNavigation(); - return /* @__PURE__ */ jsxs46("a", { onClick: () => goToPageAndScroll(id, path), children: [ - " ", - text, - " " - ] }); -} -var pics = { - placeholder: "https://static.igem.wiki/teams/5247/placeholders/placehilderperson.jpeg", - max: "https://static.igem.wiki/teams/5247/photos/hp/hp-max-portrait.jpg", - kristian: "https://static.igem.wiki/teams/5247/photos/hp/kristian-interview.webp", - olariu: "https://static.igem.wiki/teams/5247/photos/hp/olariu-cristian.jpg", - westhoff: "https://static.igem.wiki/teams/5247/photos/hp/hp-katrin-portrait.jpg", - mattijs: "https://static.igem.wiki/teams/5247/photos/hp/mattijs.jpg", - julia: "https://static.igem.wiki/teams/5247/photos/hp/julia.jpg", - kolonko: "https://static.igem.wiki/teams/5247/photos/hp/kolonko-neu.jpg", - svenja: "https://static.igem.wiki/teams/5247/photos/hp/svenja-vinke.webp", - berens: "https://static.igem.wiki/teams/5247/photos/hp/berens.jpg", - draeger: "https://static.igem.wiki/teams/5247/photos/hp/oliver-draeger-patch-clamp.jpeg", - winkeljann: "https://static.igem.wiki/teams/5247/photos/hp/rnhale-winkeljann.jpg", - kuehnel: "https://static.igem.wiki/teams/5247/photos/hp/hp-philippk-hnel.jpeg ", - wischmeyer: "https://static.igem.wiki/teams/5247/photos/hp/wischmeyer-erhard.webp", - nicole: "https://static.igem.wiki/teams/5247/photos/hp/hp-friedlein-nicole.jpg", - joshua: "https://static.igem.wiki/teams/5247/photos/hp/joshua.jpg", - hammer: "https://static.igem.wiki/teams/5247/photos/hp/hp-hammer.webp", - johannfunke: "https://static.igem.wiki/teams/5247/photos/hp/hp-michaeljohannfunke.webp", - k\u00FChnel: "https://static.igem.wiki/teams/5247/photos/hp/hp-philippk-hnel.jpeg ", - moorlach: "https://static.igem.wiki/teams/5247/delivery/moorlach.webp ", - corden: "https://static.igem.wiki/teams/5247/delivery/corden-hp.webp", - marco: " https://static.igem.wiki/teams/5247/photos/hp/marco-raukic.webp ", - weber: "https://static.igem.wiki/teams/5247/delivery/weber.webp", - zoya: "https://static.igem.wiki/teams/5247/photos/hp/zoya-ignatova.webp", - kaihammer: "https://static.igem.wiki/teams/5247/photos/hp/interwiev-kai.jpeg", - nilshefe: "https://static.igem.wiki/teams/5247/photos/hp/nilshefe-hp.webp", - gxpexpert: "https://static.igem.wiki/teams/5247/photos/hp/gxpexpert.webp", - gxpcourse: "https://static.igem.wiki/teams/5247/photos/hp/kayagxpexpert.webp", - link\u00F6ping: "https://static.igem.wiki/teams/5247/photos/hp/liu2024-rund.webp", - biobank: "https://static.igem.wiki/teams/5247/photos/hp/biobank.webp", - bethel: "https://static.igem.wiki/teams/5247/photos/hp/logo-evangelisches-klinikum-bethel.webp", - saito: "https://static.igem.wiki/teams/5247/photos/hp/hp-makoto-saito.jpg", - physik: " https://static.igem.wiki/teams/5247/delivery/hp-uni-logo.webp", - hannovermesse: "https://static.igem.wiki/teams/5247/photos/hp/hannover-messe-svg.webp", - frankfurtmesse: "https://static.igem.wiki/teams/5247/photos/hp/achema.webp", - david: "https://static.igem.wiki/teams/5247/photos/hp/liu-talk.webp", - teuto: "https://static.igem.wiki/teams/5247/photos/edcation-and-outreach/teutoruft-experminet.jpeg", - mint: "https://static.igem.wiki/teams/5247/photos/hp/mintsommerlogo.png", - schueler: "https://static.igem.wiki/teams/5247/photos/edcation-and-outreach/schielerakademie-lisa-gruppe.jpg", - mukomove: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/po-mukomove/wir-plakat-mukomove.jpeg", - hakan: "https://static.igem.wiki/teams/5247/photos/hp/hakan.webp", - stemcell: "https://static.igem.wiki/teams/5247/photos/hp/stemcellquadrat.webp", - mukodino: "https://static.igem.wiki/teams/5247/photos/hp/mukodino.webp", - building: "https://static.igem.wiki/teams/5247/photos/hp/buildingtheteam.webp", - ideas: "https://static.igem.wiki/teams/5247/photos/hp/pitchingideas.webp" -}; -var timelinedata = [ - { - vorname: "Building the team", - nachnname: "", - pictureurl: pics["building"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Development of a multidisciplinary team structure", - interviewtabid: "recruiting", - cardtext: "", - quoteNachname: "Zimmermann, Intructor", - quoteVorname: "Sinan", - quote: "My first challenge was selecting the iGEM team. I focused on choosing candidates with strong technical skills and the ability to work well in an interdisciplinary setting, aiming to create a diverse team with complementary strengths.", - type: "meta", - summary: [ - /* @__PURE__ */ jsx71("p", { children: "Building a successful interdisciplinary team, like the one involved in this iGEM project, requires careful coordination and a shared vision for addressing complex scientific challenges. This team is an excellent example of how bringing together individuals from various academic backgrounds fosters innovation and facilitates problem-solving in the fields of synthetic biology and biotechnology." }), - /* @__PURE__ */ jsx71("p", { children: /* @__PURE__ */ jsx71("strong", { children: "The team members come from diverse fields of study, including Molecular Biotechnology, Bioinformatics, Molecular Cell Biology, Genome-Based System Biology, Interdisciplinary Biomedicine, and even Media Production." }) }), - /* @__PURE__ */ jsx71("p", { children: "This variety of expertise allows them to approach problems from multiple perspectives, ensuring that the project is well-rounded and capable of addressing both experimental and computational challenges. For instance, while the biotechnologists and molecular biologists focus on designing and conducting lab experiments, the bioinformaticians contribute crucial insights for data analysis and genome sequencing. The inclusion of a media production expert adds another layer to the team\u2019s capabilities, ensuring that science communication and project documentation are handled professionally, which is particularly important for presenting their work at conferences and competitions. The multidisciplinary structure of this team evolved naturally as they identified the project\u2019s needs and recruited members who could fill specific roles. Over time, this multidisciplinary structure has continued to develop as the team\u2019s project evolved. Roles became more defined as team members took on specific responsibilities, whether it was refining prime editing systems or crafting communication strategies for iGEM. The range of experience across the team, from younger students like Vincent Carl St\xF6ckl in the early stages of their academic careers to more advanced students in later semesters, allows for a blend of fresh perspectives and seasoned expertise. This balance helps ensure both the immediate success of the project and the continuity of its progress in the future. In summary, this interdisciplinary iGEM team demonstrates how a diverse group of individuals with specialized skills can come together to tackle a complex biological project. By combining their expertise in molecular biology, bioinformatics, cell biology, and media production, the team is able to execute their project holistically, ensuring that each aspect, from experimental design to public outreach, is handled with precision and creativity." }) - ], - months: "February" - }, - { - vorname: "Pitching ideas", - nachnname: "", - pictureurl: pics["ideas"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Getting Acquainted with Cystic Fibrosis", - interviewtabid: "firstpresi", - cardtext: "", - quoteNachname: "K\xF6hler, Teammember", - quoteVorname: "Vera", - quote: "Firstly, we discussed various project ideas, including the use of magnetic microswimmers for targeted medical applications, gene editing approaches for cystic fibrosis, treatments for muscular dystrophy and combating cyanobacteria with algae.", - type: "meta", - summary: [ - /* @__PURE__ */ jsxs46("p", { children: [ - "During our initial discussions about project ideas, the team explored several innovative concepts before honing in on ", - /* @__PURE__ */ jsx71("strong", { children: "cystic fibrosis" }), - ". Each project presented unique scientific challenges and potential impacts." - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "One idea involved the development of ", - /* @__PURE__ */ jsx71("strong", { children: "magnetic microswimmers" }), - " designed for targeted cancer therapy, particularly for ovarian cancer. The proposal aimed to overcome the limitations of traditional treatments, such as radiotherapy and cisplatin, which often damage healthy cells and result in numerous side effects. The microswimmers would be biodegradable algae-based vehicles, magnetically guided to deliver drugs directly to cancerous cells while minimizing damage to surrounding tissue. This approach offered a novel, non-invasive targeting mechanism, leveraging the potential of magnetic fields to direct the swimmers precisely to the affected areas." - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "Another compelling project was focused on ", - /* @__PURE__ */ jsx71("strong", { children: "Duchenne muscular dystrophy (DMD)" }), - ". This genetic disorder leads to muscle degeneration as muscle tissue is gradually replaced by fibrotic tissue. The team proposed several treatment approaches, including exon skipping and gene therapy using viral vectors. Key strategies included enhancing Cas protein efficiency through engineering, using liposomal vectors for gene delivery, and combining CRISPR technology with integrase fusion proteins. The team also discussed previous iGEM projects that had explored similar methodologies, emphasizing the need for specificity and efficacy in delivering therapeutic genes." - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "We also considered a project aimed at preventing ", - /* @__PURE__ */ jsx71("strong", { children: "cyanobacteria blooms" }), - " using peptides or proteins derived from algae. Cyanobacteria can produce harmful toxins that degrade water quality and threaten ecosystems. The proposed approach focused on utilizing natural algae to develop mechanisms that inhibit the growth of harmful cyanobacteria without disrupting the ecosystem. This project emphasized conservation and biodiversity while addressing a significant environmental issue linked to the climate crisis." - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "Throughout our discussions, we recognized that while each project had merit, the ", - /* @__PURE__ */ jsx71("strong", { children: "cystic fibrosis" }), - " initiative offered the most promise for a targeted approach to a well-defined problem. CF, affecting a substantial number of individuals, provided a clear opportunity for meaningful impact through gene therapy. The insights gained from our examination of other projects informed our approach to CF, allowing us to integrate knowledge from diverse fields and methodologies, ultimately shaping a comprehensive and innovative project direction." - ] }) - ], - months: "March" - }, - { - vorname: "Ideation in Hamburg", - nachnname: "", - pictureurl: pics["placeholder"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Brainstorming and selection of ideas and concepts at team weekend in Hamburg", - interviewtabid: "ideas", - cardtext: "", - quote: "Thanks to our in-depth research phase, we were able to gather many insightful ideas. The workshop was highly productive and moved us significantly forward, allowing us to gain a clear vision of our project by the end of the day.", - quoteVorname: "Kathleen", - quoteNachname: "Susat, Teammember", - type: "meta", - summary: [/* @__PURE__ */ jsx71("p", { children: "From April 5th to 7th, we embarked on an enriching excursion dedicated to project work and team building. Our primary goal was to engage in meaningful brainstorming sessions focused on our iGEM project and to explore human practices thoroughly. We kicked off our weekend with a series of discussions that emphasized the importance of considering the impact of our work on the world. Throughout our time in Hamburg, we dedicated several hours to reading relevant literature and research papers, both individually and in groups. This collaborative effort allowed us to deepen our understanding of existing projects and innovations in our field. We critically analyzed previous iGEM projects and explored who had worked on similar ideas, which helped us identify gaps in the research and potential avenues for our own project. Our discussions naturally flowed into brainstorming sessions where we reflected on the impacts we wanted to achieve. We explored essential questions: What effects do we aim to have on society? What activities can we plan to gather evidence about how our work will resonate with the community? How can we effectively engage with stakeholders and share our findings? In addition to structured brainstorming, we exchanged ideas informally during breaks and meals, fostering a creative atmosphere. By the end of the weekend, we had not only strengthened our team bonds but also clarified our vision for the project ahead. The insights gained from our discussions and readings laid a solid foundation for our future work, allowing us to approach our project with renewed focus and purpose." })], - months: "March" - }, - { - vorname: "Max", - nachnname: "Beckmann", - job: "Patient and Student", - affiliation: "Bielefeld University", - pictureurl: pics["max"], - tag: "Patient", - heading: "Gathering valuable insights from the patient\u2019s perspective", - interviewtabid: "maxfirst", - cardtext: "", - language: "de", - quote: "A friend of mine with cystic fibrosis recently got a fungal infection that he can't get rid of. His situation really struck me; it showed how quickly a seemingly minor issue can worsen a person's life, especially for someone like us. It\u2019s a strong reminder of how fragile our health is and how fast things can change without warning.", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "When CF came up as a possible topic, we reached out to a teammate's friend Max in the hopes of getting insights into the needs of CF patients and current treatments to verify the need for further treatment options. Since he was much more enthusiastic and open for discussion than we dared to hope, we extended our exchanges into the realms of the reality of life for CF patients, possible progressions, organizations and doctors in our area and his personal perspectives and values. The interest in meeting him grew in the whole team and we invited him to one of our meetings. " })], - insights: [/* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71("p", { children: "His honest and open answers to us, mostly nothing more than strangers to him, were touching and let the seriousness of CF set in. Learning about the challenges he faced felt heavy, besides him being in relatively good health and having a good life quality for a CF patient." }), - /* @__PURE__ */ jsx71("p", { children: "Additional to the interpersonal effects of our discussion, Max gave us the reasons to continue with gene therapy approach while focusing on the lung: Modulators do not erase all symptoms. There is a keen interest for new treatments in the CF community. The the decreasing lung functionality it the most limiting. The immense impact of treatments on the life quality. " }), - /* @__PURE__ */ jsx71("p", { children: "We got new insights that motivated us to develop a new treatment, to treat the severe symptomes The need for a calorie rich diet and digestive problems. The frequency of checkups needed. How vastly different the progressions can be. The increased need for hygiene to prevent infections. The high price of medicines and induvial therapeutics. " }), - /* @__PURE__ */ jsx71("p", { children: `Afterwards, we reflected on the discussion and asked our team members what stuck with them: \u201CHow much attention has to be paid to everything in everyday life, I hadn't even thought about problems at the hairdresser.\u201D \u201CSimply that he was there and reported everything in such detail. From minute 1, I had permanent goosebumps because I was so moved by this story. I think it's great how he stands his ground in life, does what he wants to do and what defines him as a person. It didn't seem as if his life was determined by CF. I somehow expected it to be different, even if that sounds a bit silly.\u201D \u201CThe amount of medication and how expensive it is.\u201D "The statement that left the biggest impression for me was when Max was telling about a friend of his and fellow CF patient who caught a fungi infection which he now cannot get rid of anymore, showing how fast a seemingly little infection can change the life of a CF patient for the worse without any kind of warning.\u201D \u201CThe variance in the extent of the limitations of the disease in different patients, including how the disease differs in its severity, even in patients of the same age.\u201D \u201CHow positively and calmly Max deals with his illness but has also pointed out that he is lucky, and that other people are much worse off - how much you have to pay attention to little things that you wouldn't have expected as a healthy person.\u201D ` }) - ] })], - implementation: [/* @__PURE__ */ jsxs46(Fragment30, { children: [ - " ", - /* @__PURE__ */ jsx71("p", { children: "This most important aspect of this meeting was less an insight, but the fact Max helped us to put a face to an abstract idea. Many of our ideas to treat CF were interesting and adventurous but meeting him put a lot into perspective. " }), - /* @__PURE__ */ jsx71("p", { children: "Max played a significant role in shaping our project from the outset, particularly in guiding our focus on Integrated Human Practices [Link Best HP] and Safety & Security [Link Best Biosafety] as special prizes. Through our discussions, we recognized the importance of these aspects in developing the best possible cure. This collaborative effort led us to pivot our target from the pancreas to the lung and move away from a diagnostic approach. His contributions not only provided valuable insights but also fostered a strong personal investment in our project." }) - ] })], - pictureurl_implementation: "", - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "How and when were you first diagnosed? ", a: "When I was about one year old. My mother did not do any screenings or prenatal testing. I was in pain but as an infant you cannot say that, so I screamed a lot. Many doctors shrug that off in small children but after some time a sweat test was done at the children's clinic." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What do you think about diagnosing via sweat tests?", a: "I am a clear opponent of diagnosing via sweat tests, especially if it is used to rule out CF and people have atypical CF, because of which they do not get diagnosed because of that." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What symptoms do you have?", a: "Before taking modulators, I was underweight and did not feel hunger. I also had no sense of taste. Now, I have a healthy weight and still have respiratory symptoms such as very sticky mucus and digestive issues." }), - /* @__PURE__ */ jsx71(QaBox, { q: "You are taking individual meds, correct? They are individual in respect to the mutation, not the person, right?", a: "Yes, and yes, I am. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "What other medications are you taking? ", a: "Nasal spray, pancreatic enzymes, saline solution for inhalation and pantoprazole, used to reduce stomach acid production. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you know how exactly they work?", a: "Yes, I wrote a report on that during school. In the children's clinic they explained it like this: The CFTR channel is like a door and people with CF don\u2019t have that many doors and some of the doors are broken. The medication makes more doors that function." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What changed when you started taking the modulators? ", a: "Everything. Most of symptoms are minor now and I have a better lung function and quality of life. I even grew taller." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Did you formerly take other medication?", a: "I don\u2019t remember anything like that, but I also always had good medical care. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you experience any side effects from your medications?", a: "At first yes, a lot. Stomach cramps and difficulty breathing for example." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Is diabetes a concern of yours?", a: "Yes, it is common. I have to go to a diabetes checkup once a year. That happens together with all the other checkups like sonographies." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you know fellow patients that took part in clinical study for gene therapy or at least thought about doing so?", a: "I know no one that took part in one but definitely people who would like to do so." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you know other patients that would want to use gene therapy?", a: "Yes, most definitely." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Since your sweat is different, do you have trouble with your temperature regulation?", a: "No and I do not know any patients with an issue like that. But it still is uncomfortable in the summer, because the sweat is thick, and it can smell stronger, too." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How many hours a day are devoted to your illness?", a: "Good question, but wrong patient. I am blessed with good health while other people my age may have to be on a ventilator. I currently only have to inhale for 20 minutes every day, take my medication and be conscious about hygiene. I would say 30 minutes a day. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "That means you do not have many limitations due to CF, is that right?", a: "Yes. There are many things I am concerned about but often there is not a different way." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What are some of the limitations you do have?", a: "Of course, I am still concerned about my health and using public bathrooms for example. And I still do not go swimming in lakes and things like that. But all in all, I feel like I can live a very normal life. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "One concern is hygiene. Our university for example does not have toilet seats in most bathrooms. Do you think there should be?", a: "That does not concern healthy people, who are the majority. But specifically for CF-people? No, there are too few at the university. It would be more hygienic overall, though. A \u201CCF-toilet\u201D would be nice as a form of a disabled bathroom." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How was your childhood as a sick child and how did your parents act with you? ", a: "My mother is active in the Muko e.V. and has been for some time. My parents always lead by example about what to do and not to do and dealt with it in a good way. My mother was always very committed and involved in giving me good care. I always knew about my illness but felt it was not that bad, because I received good care and education about my illness." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What is a typical age for a diagnosis in your experience?", a: "Somewhere between the pregnancy and one year. It is obvious if the children do not gain weight and there are genetic screenings one can do prenatally or after birth. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "If a diagnosis is possible during pregnancy, do you know of any treatments during pregnancy?", a: "No, I think the youngest age for modulators is 3 years. But people can do genetic testing and counselling before pregnancy." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What does a high-fat diet entail?", a: "For me, it was a lot of oil and butter and high-calory drinks. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "What would happen if you stopped taking your medications?", a: "The first thing to happen would be heavy and dry coughing, because the mucus would not be removed properly anymore. Thus, bacteria would not be properly removed from the lungs anymore either and an infection would become more likely. And I would not be able to really process food anymore, so no nutrients, feeling weak and stomach problems. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Physical therapy is a part of your treatment \u2013 what exactly do you do there? ", a: "Breathing exercises and training my lung volume to keep it on the same level.\xA0" }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you have further wished for your therapy?", a: "Not really. I am very lucky and am free of heavy symptoms on most days. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Is that the norm or do you know people who do want new therapies?", a: "No, there is a need for new therapies. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are these people with different mutations or worse health? ", a: "I don\u2019t know, the progression is so individual, and infections can create big changes. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "A therapy for which organ would benefit most people that have worse health than you do?", a: "Probably the lung. The pancreas is important too, but stomach problems are usually less pressing than difficulty in breathing." }), - /* @__PURE__ */ jsx71(QaBox, { q: "You mentioned that doing sport is difficult with CF, why?", a: "Hygiene. In the lockers and the showers but also with the equipment." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you feel restricted in your free time activities?", a: "No, I always had good alternatives. For example, going swimming at an open-air swimming pool instead of a lake. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Would you have more freedom when you are better protected from Pseudomonas spcc. and other potential infections? ", a: "Definitely. That is a big increase in the quality of life and that is a win. It also changes the picture people have of the illness. Of course being protected by prevention is good already but effective therapies for infections increase the sense of freedom even more. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "You said you are afraid every time you must go for a swab, why is that? ", a: "I am afraid of getting an infection. That still could be a death sentence. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are rooms with air conditioning a problem due to the possible germs in the air conditioners? ", a: "No, there is usually enough movement. But humidifiers are bad because of the pond water. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "You mentioned going to the hairdresser is problematic. Could you elaborate? ", a: "There are many possible sources of ponding water and with that, infections. That and the hygiene aspect in general. I am visited by my hairdresser, and he only uses a specific spray bottle to wet my hair that I keep and dry thoroughly between uses." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are you the first person in your family that has CF? ", a: "Yes. But I suspect my father has a light or atypical form because he has suspicious mucus." }), - /* @__PURE__ */ jsx71(QaBox, { q: "With life expectancies looking better, do many patients want to have biological children?", a: "Not all but some. I think some would be interested in a therapy that can be done on the fertilized egg to have a healthy child. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you know the film \u201CFive feet apart\u201D? If so, what do think about it, is it accurate? ", a: "Yes. It does not paint a wrong picture; their progression is possible." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you think there has to be more effort concerning diagnostics?", a: "Early diagnosis is covered by the screenings." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Since you almost had to sue for your medication, do you know if there are any lawyers specializing in cases like this? ", a: "No, I don\u2019t. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are most of the other patients you know in good health like you?", a: "No. Another boy my age got a fungal infection and does not have long time left to live. " }) - ] }), - summary: "We reached out to Max, a friend of a teammate, to gain insights into the needs and experiences of CF patients. Our discussions revealed the challenges faced by CF patients, even those in relatively good health, and emphasized the ongoing need for new treatment options. Max's candid sharing of his experiences highlighted the limitations of current modulators, the importance of lung function, and the impact of treatments on quality of life. This meeting transformed our project perspective, urging us to prioritize safety and real-world benefits in our design. Ultimately, Max's influence led us to focus on lung-targeted gene therapy instead of a diagnostic approach, reinforcing our commitment to Integrated Human Practices.", - months: "April" - /*interview:<iframe title="Bielefeld-CeBiTec: Interview with Max Beckmann (2024) [English]" width="560" height="315" src="https://video.igem.org/videos/embed/16501867-a687-4205-949a-51ead876e109" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>,*/ - }, - { - title: "Prof. Dr.", - vorname: "Kristian", - nachnname: "M\xFCller", - job: "Research Group Cellular and Molecular Biotechnology", - affiliation: "Technical Faculty of Bielefeld University", - pictureurl: pics["kristian"], - tag: "Academia", - heading: "Discussion about the delivery method- AVV vs. LNPs and prime editing and gene therapy innovations", - interviewtabid: "kristian", - cardtext: "", - language: "de", - quote: "AAVs have been widely used in gene therapy, but their scalability and immunogenicity pose challenges, particularly when re-dosing is required. In contrast, LNPs offer a promising alternative, with a higher packaging capacity and lower immunogenicity. While AAVs excel in targeted delivery, LNPs could become a more scalable and cost-effective solution for delivering gene-editing tools in the future.", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "The aim of our interview with Prof. Dr. Kristian M\xFCller was to gain expert insights into the potential of prime editing technology and its application in gene therapy, particularly for treating CF. We sought to understand how innovations in prime editing, combined with optimized delivery systems, could enhance therapeutic outcomes. Prof. M\xFCller\u2019s expertise in molecular biology and gene editing provided valuable perspectives on the opportunities and challenges in developing precise, efficient, and safe treatment strategies for genetic disorders." })], - insights: [/* @__PURE__ */ jsx71("p", { children: "During the interview, Prof. Dr. M\xFCller highlighted the growing importance of prime editing as a powerful tool for gene therapy. Unlike traditional CRISPR-Cas systems, which often result in double-strand DNA breaks, prime editing allows for precise single-strand cuts, minimizing off-target effects and enabling more specific genetic corrections. This technology opens up new possibilities for treating diseases with known mutations, such as cystic fibrosis. Prof. Dr. Kristian M\xFCller emphasized the critical role of delivery systems in the success of gene therapies, particularly in the context of CF treatment. Two primary delivery mechanisms were discussed: AAVs (Adeno-associated viruses) and LNPs (Lipid nanoparticles), each with distinct advantages and limitations. AAVs are a well-established vehicle in gene therapy, having been used successfully in various approved treatments. They are highly efficient at delivering genetic material to target cells, especially in well-characterized diseases like CF. One of their key strengths is their ability to precisely target specific tissues, making them particularly valuable for lung delivery in cystic fibrosis. However, AAVs come with notable challenges, primarily their limited packaging capacity (approximately 4.5 kilobases), which constrains the size of the genetic payload they can carry. Additionally, AAVs can elicit immune responses, particularly when multiple doses are required, posing a barrier to their long-term use. On the other hand, LNPs offer a scalable and re-dosable alternative. LNPs have the advantage of a larger packaging capacity, allowing them to carry more complex genetic instructions or larger gene-editing tools, such as prime editors. They are also easier and cheaper to produce on a large scale, making them an attractive option for widespread clinical applications. A significant benefit of LNPs is their lower immunogenicity, which reduces the risk of adverse immune reactions upon repeated dosing. However, LNPs currently face challenges in specific targeting compared to AAVs. AAVs have a higher precision in targeting specific tissues, while LNPs still need optimization for targeted delivery to areas like the lungs." })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "Prof. M\xFCller\u2019s insights directly inform the implementation of our iGEM project, where we aim to design novel prime editors that are small enough to be delivered efficiently, while also exploring LNPs[LINK Cycle Delivery] as a scalable and re-dosable alternative to AAVs. By tailoring our approach to address the specific challenges of CF, such as mucus penetration and lung cell targeting, we can enhance the precision and efficacy of gene therapy. These innovations have the potential to set new standards in the field and contribute to broader research on genetic disease treatment." })], - summary: "In our interview with Prof. Dr. Kristian M\xFCller, we explored the revolutionary potential of prime editing as a next-generation gene editing technology. Prof. M\xFCller highlighted the advantages of prime editing over traditional CRISPR-Cas systems, particularly its ability to make precise genetic modifications without double-strand breaks, thus reducing off-target effects. He emphasized the importance of optimizing delivery systems, such as AAV and LNPs, and discussed the ethical considerations and biosafety measures crucial for advancing gene therapy. The interview underscored the significance of cystic fibrosis as a model disease, given its prevalence and the potential for impactful treatments through targeted genetic corrections.", - months: "April", - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71("iframe", { title: "Bielefeld-CeBiTec: Interview M\xFCller AAV vs LNP (2024) [English]", width: "560", height: "315", src: "https://video.igem.org/videos/embed/0613b6b8-7755-4373-9d86-9910fe30781f", frameBorder: "0", allowFullScreen: true, sandbox: "allow-same-origin allow-scripts allow-popups allow-forms" }), - /* @__PURE__ */ jsx71("p", { children: "This interview was recorded on video at a later date." }) - ] }) - }, - { - vorname: "Visiting ", - nachnname: "the Hannover Messe", - pictureurl: pics["hannovermesse"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Industry", - heading: "Two teammembers visited the fair to talk with potential stakeholder and sponsors", - interviewtabid: "hannovermesse", - cardtext: "", - quote: "x", - aimofcontact: "", - insights: "", - implementation: "", - summary: "", - months: "April" - }, - { - vorname: "Looking for expertise", - nachnname: "", - pictureurl: pics["placeholder"], - tag: "Milestone", - heading: "Identifying key experts in cystic fibrosis and prime editing", - interviewtabid: "experts", - cardtext: "", - quote: "", - aimofcontact: "", - insights: "", - implementation: "", - type: "meta", - summary: "", - months: "April" - }, - { - title: "Prof. Dr.", - vorname: "Wolf-Michael Weber", - nachnname: "und Dr. J\xF6rg Gro\xDFe-Onnebrink", - job: "Professor ", - affiliation: "Univesity M\xFCnster", - pictureurl: pics["weber"], - tag: "Academia", - heading: "Feedback Session with Experts for Cystic Fibrosis Treatment", - interviewtabid: "weber", - cardtext: "", - language: "en", - quote: "x", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "The aim of the interview was to gain expert insights on optimizing the delivery of CFTR-mRNA via lung-targeted lipid nanoparticles (LNPs) for cystic fibrosis (CF) treatment. Specifically, the goal was to explore potential cell targets, challenges in delivery mechanisms, and technical tools for assessing the effectiveness of mRNA therapies like the Ussing chamber system. " })], - insights: [ - /* @__PURE__ */ jsx71("p", { children: "The experts highlighted the potential of targeting ionocytes, given their key role in CFTR expression, but emphasized the difficulty in accessing them due to their basal position in the respiratory epithelium. While Prof. Weber found ionocytes to be an intriguing target, Dr. Gro\xDFe-Onnebrink pointed out that there is still limited understanding of their exact role in CF pathology. Both stressed the challenge of penetrating the mucus barrier in vivo, particularly when using air-liquid interface cultures, and underscored the importance of optimizing particle size to ensure effective delivery to the deeper regions of the lungs. Prof. Weber also emphasized the need to test whether the system can still transfect cells in the presence of mucus. " }), - /* @__PURE__ */ jsx71("p", { children: "It was suggested to use the Ussing chamber to assess the effectiveness of the delivery system and therapeutic mRNA, though they noted certain challenges with this technique. We also discussed alternatives like organoids, which offer only indirect measurements of CFTR function, and patch clamping, which, though more precise, is a more complex and expensive method. Additionally, Prof. Weber recommended exploring chitosan-based delivery systems due to their success in his previous work, suggesting they could be a safer alternative to PEG-lipid systems, which had shown issues with cytotoxicity. " }) - ], - implementation: [/* @__PURE__ */ jsxs46("p", { children: [ - "These insights helped refine our iGEM project in several key ways:", - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsx71("li", { children: "Cell Targeting: We decided to continue exploring ionocytes as a target but acknowledged the technical hurdles involved. We also expanded our focus to include multiple cell types to test different delivery systems. " }), - /* @__PURE__ */ jsx71("li", { children: "Delivery Systems: We began investigating chitosan-based nanoparticles as a safer alternative to PEG-lipid systems. The suggestion to optimize particle size and delivery for inhalation was also integrated into our design. " }), - /* @__PURE__ */ jsx71("li", { children: "Experimental Tools: Based on the discussion, we plan to use an Ussing chamber to measure overall CFTR function in different cell types but will also explore organoid-based approaches for preliminary testing. Additionally, we consulted the medical faculty on the possibility of using patch clamping for more detailed measurements of successful transfection and restored CFTR function. " }) - ] }), - "," - ] })], - summary: "The interview provided key insights into targeting ionocytes for CFTR-mRNA delivery, overcoming mucus barriers, and testing delivery effectiveness using Ussing chambers, organoids, and patch clamping, while also suggesting chitosan-based nanoparticles as a safer alternative to PEG-lipid systems.", - months: "may" - }, - { - title: "Dr.", - vorname: "Cristian-Gabriel", - nachnname: "Olariu", - job: "pediatrician", - affiliation: "OWL University Hospital", - pictureurl: pics["olariu"], - tag: "Medical Professional", - heading: "Discussion with a pediatrician and his former patient about treatment challenges and perspectives", - interviewtabid: "olariu", - cardtext: "", - language: "de", - quote: "For most families, it\u2019s a shock. Cystic fibrosis still has a strong association with being a life-threatening disease, despite the fact that we now have good treatments, and many patients can live healthy lives. The diagnosis puts a huge psychological strain on the family, especially when dealing with very young children.", - aimofcontact: "To gain a deeper insight into the path to diagnosis, we invited pediatrician Dr. Cristian-Gabriel Olariu from the University Department of Pediatrics and Adolescent Medicine to share his experiences with CF patients with us. We interviewed him because of his expertise in the effects of diagnosis on the patient and the family members, but also on daily life. Additionally, we want to close the gap and create a bridge between academic research and clinical applications. Therefore, Dr. Olariu gave us insights about the clinical perspectives on CF patients.", - insights: [ - /* @__PURE__ */ jsxs46("p", { children: [ - "We invited Max, our CF patient contact, to join Dr. Olariu in discussing the intersection of academic research, clinical application, and patient needs. Through our connection with ", - /* @__PURE__ */ jsx71("a", { href: "https://www.cfvww.org", children: "CF Vests Worldwide" }), - ", an organization dedicated to providing life-saving therapy vests to cystic fibrosis patients globally, we gained insights into the challenges faced by CF patients, particularly in regions like Thailand, where access to advanced treatments and medical devices is limited. The conversation highlighted the critical role of early diagnosis and intervention, as well as the quality-of-life challenges many patients endure due to conventional treatments that may not be effective for everyone. Innovative approaches, such as our SORT LNP (lipid nanoparticle) delivery system, present promising alternatives for CF therapy. This system, which allows for RNA encapsulation and administration via dry spray inhalation, could revolutionize treatment by targeting lung cells more effectively, particularly in resource-limited settings. Dr. Olariu underscored the need for psychological support and coordinated care for CF patients, emphasizing that novel therapies like LNP-based gene treatments have the potential to improve treatment efficacy and accessibility, ultimately reducing the lifelong burden of care for patients and their families. " - ] }), - , - /* @__PURE__ */ jsx71("p", { children: "We have considered the extent to which an early diagnosis is always an advantage, as some parents perceive an early diagnosis as an additional burden and would prefer to experience the first years of their child's life without constant medical intervention. Especially when there are cases in which patients only show a clear clinical picture at an advanced age. The psychological burden also lies with the children, who often experience medical trauma because they are involved in such intensive medical care from birth. Additionally, the treatment of cystic fibrosis is very expensive, and the costs are covered by health insurance companies to varying degrees. In some countries, such as the USA, Ukraine or Developing countries, many families cannot afford the necessary treatments. But Dr. Olariu also drew our attention to another problem in the treatment of cystic fibrosis. Infections, especially with bacteria such as Pseudomonas spcc., are difficult to treat and often lead to long hospital stays. Max, our patients\u2019 representative, who knows Dr. Olariu through his treatment, shared his experience with Pseudomonas spcc infections, illustrating the reality of an invisible danger that determines a patient's everyday life. Strict hygiene measures are required to prevent infections, such as wearing face masks in hospital and careful handling of potential sources of infection. The clinics where cystic fibrosis patients are treated work closely with a multidisciplinary team of doctors, psychologists, physiotherapists and nutritionists to ensure that patients receive holistic care. " }), - /* @__PURE__ */ jsx71("p", { children: "Pros of Early Diagnosis and Treatment" }), - /* @__PURE__ */ jsxs46("ol", { children: [ - /* @__PURE__ */ jsx71("li", { children: "Timely Intervention: Prevents severe organ damage and improves long-term outcomes." }), - /* @__PURE__ */ jsx71("li", { children: "Holistic Care: Involves a multidisciplinary team for comprehensive patient support." }), - /* @__PURE__ */ jsx71("li", { children: "Access to Innovations: Allows patients to benefit from advancements like nanoparticle drug delivery." }), - /* @__PURE__ */ jsx71("li", { children: "Family Support: Provides education and resources for effective management from the start." }) - ] }), - /* @__PURE__ */ jsx71("p", { children: "Cons of Early Diagnosis and Treatment" }), - /* @__PURE__ */ jsxs46("ol", { children: [ - /* @__PURE__ */ jsx71("li", { children: "Psychological Burden: May cause stress for parents and children due to constant medical interventions." }), - /* @__PURE__ */ jsx71("li", { children: "Cost Implications: Treatments can be expensive, with varying insurance coverage, leaving many families unable to afford care." }), - /* @__PURE__ */ jsx71("li", { children: "Infection Risks: Patients still face risks from infections like Pseudomonas spp., leading to potential hospitalizations." }), - /* @__PURE__ */ jsx71("li", { children: "Over-medicalization: Continuous focus on treatment can overwhelm families, affecting the quality of early childhood experiences." }) - ] }) - ], - implementation: [/* @__PURE__ */ jsxs46("p", { children: [ - "In summary, our project greatly benefited from the conversation with Dr. Olariu. His insights into the complexities of cystic fibrosis treatment, particularly the significance of early diagnosis, were invaluable and we considered early treatment methods. Max\u2019s personal experiences added a human perspective, illustrating the medical and psychological challenges he faces, including infections with ", - /* @__PURE__ */ jsx71("i", { children: "Pseudomonas spp." }), - " Dr. Olariu highlightend the importance of a multidisciplinary approach, involving not just medical professionals but also psychologists, physiotherapists, and nutritionists for holistic care. This discussion helped us appreciate the balance between timely interventions and the emotional burden on patients and their families, guiding us to develop a more empathetic understanding of living with cystic fibrosis." - ] })], - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "Could you please tell us about the journey that parents go through with their CF-sick children from the first visit to diagnosis and treatment?", a: "Since 2016, cystic fibrosis (CF) diagnosis has been part of newborn screening. This means that we receive many children right after birth whose screening results were abnormal. These children are then sent to us for further clarification. Not every child with an abnormal screening result is sick, so we perform a sweat test, and about one-third of the children are diagnosed with the disease. The advantage of early diagnosis is that we can intervene and start treatment early to prevent organ damage. However, there are also rare mutations where the course of the disease is difficult to predict." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What are the pros and cons of newborn screening for cystic fibrosis?", a: "From a medical point of view, it\u2019s beneficial that we can catch many of these cases early, allowing us to act swiftly. There are even medications for small babies, and early intervention can protect organs, preventing conditions that would require transplants later on. On the downside, because of the wide variety of genetic mutations, some cases we identify may not show significant symptoms until adulthood. This creates a dilemma, as we can\u2019t predict how their condition will progress, but we still start treatments early, which can be stressful for families." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Can you give us an example of how this stress impacts families?", a: "Yes, I\u2019ve been caring for a patient from birth who is now five years old and doing very well. However, from the beginning, she had to undergo physiotherapy, regular check-ups, and blood tests, even though she hasn\u2019t shown any major symptoms. Her mother once told me she wasn't sure if she would make the same decision again, as the early intervention caused a lot of stress. She wondered if she might have enjoyed the first year of her child\u2019s life more if things had been more relaxed. Now, at age five, nothing significant has changed in her condition, and they\u2019ve decided against starting modulator therapy for the time being." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do families typically react when a CF diagnosis is confirmed?", a: "For most families, it\u2019s a shock. Cystic fibrosis still has a strong association with being a life-threatening disease, despite the fact that we now have good treatments and many patients can live healthy lives. The diagnosis puts a huge psychological strain on the family, especially when dealing with very young children. The most important factor in managing this, aside from medical treatments, is the support from the medical team. It\u2019s critical to have a team that works well together, not just a single doctor calling all the shots. Families often need much more psychological and nutritional support early on than medical intervention, and this is where having a multidisciplinary team becomes essential." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What is the process for diagnosing and treating older patients who haven\u2019t been through newborn screening?", a: "Older patients who come to us with complaints may not have undergone newborn screening, so they are diagnosed based on their symptoms. These complaints can range from mild to severe and are often non-specific, like chronic cough or failure to thrive. When the cause of these symptoms isn\u2019t immediately clear, we do a sweat test. Once diagnosed, we can start treatment, which often involves working with a psychologist to help the family process the news." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do you support families during the initial shock of diagnosis?", a: "When the diagnosis is particularly difficult for families to process, we sometimes have the patients stay in the hospital for up to a week. This gives us time to meet with them daily, answer questions, and provide guidance. During the first consultation, families often fall into a state of shock, and no matter how carefully the doctor explains things, it\u2019s hard for them to absorb all the information. Meeting with them again over the following days helps, and we have specialists in hygiene, physiotherapy, and social counseling on the team to offer holistic support." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What happens if a child gets infected with Pseudomonas or another bacterial culture in the lungs?", a: "Pseudomonas is one of the most feared infections for CF patients. It\u2019s a common environmental bacterium that is difficult for CF patients to clear from their lungs. Once we detect it, we treat the patient with specific antibiotics, often through intravenous delivery over two weeks in the hospital. After the initial treatment, patients may continue with inhaled antibiotics for several months to prevent further infection. It\u2019s a very intensive process, taking a lot of time and energy, and even though we may get rid of the infection a few times, eventually the germ can become resistant and stay in the body." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are there any preventative measures to avoid Pseudomonas infection?", a: "Yes, there are hygiene measures. For example, CF patients always wear masks in the hospital to avoid infection from other patients. But it\u2019s difficult to avoid Pseudomonas entirely since it\u2019s found in stagnant water and other places in the environment. We advise patients to be cautious with water sources like sinks or ponds. However, we need to balance strict hygiene with quality of life, especially for children, as being overly strict can lead to obsessive-compulsive behaviors without necessarily reducing the risk of infection." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do some families resist the medical advice on preventing infections?", a: "On an emotional level, I feel that families who take calculated risks to improve their quality of life tend to cope better. Overprotection can lead to greater psychological stress. However, I don't have enough experience to say for sure whether those who don\u2019t protect themselves as strictly get infected earlier or suffer worse outcomes. It\u2019s also worth noting that new therapies are now available that help reduce infection risks, allowing for a bit more freedom, especially for children." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How often do patients need to be tested for infections like Pseudomonas?", a: "The official guideline is every two months, but realistically we aim for every 3-4 months. Regular testing is important because Pseudomonas can be present without symptoms. If too much time passes before detection, it becomes harder to remove the infection." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do you manage chronically infected patients?", a: "Patients who are chronically infected with Pseudomonas don't stay in the hospital indefinitely. They usually remain at home, inhaling antibiotics daily and taking physiotherapy to help clear mucus from their lungs. Intravenous antibiotic therapy is reserved for more severe cases or during clinical deterioration." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are chronically infected patients allowed to visit your practice?", a: "Yes, chronically infected patients are allowed to visit the practice. We try to schedule them at different times to avoid contact between infected and non-infected patients, and we often use separate rooms to minimize risk." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How often do children and adults need to have lung function tests?", a: "You can\u2019t conduct a good lung function test until the child is around five years old. After that, it becomes part of the routine check-up because it\u2019s non-invasive and provides a good indicator of lung health. We see children every three months, and I believe the protocol is the same for adults." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What do you think about support groups or health retreats for CF patients?", a: "Support groups are extremely important. Although we are a good medical team, advice from peers often resonates more with patients. We\u2019ve organized two parents' evenings recently, where parents can exchange experiences and support each other. Unfortunately, we can\u2019t invite the children themselves due to the risk of infection, but in rehabilitation settings, they can meet in germ-specific groups and benefit from shared experiences." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Is there a risk of antibiotic resistance with repeated treatments?", a: "Yes, resistance is a concern, especially with repeated antibiotic treatments. However, there\u2019s often a discrepancy between what we see in lab tests and the clinical outcomes. Even if a germ shows resistance on paper, many patients still respond well to treatment. We base our decisions more on clinical outcomes than lab results, changing antibiotics only if the patient\u2019s condition doesn\u2019t improve." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are there any side effects to the medications?", a: "Yes, all medications have potential side effects, though many of them are minor, like rashes or stomachaches. One serious side effect of some antibiotics is hearing damage, which can lead to lifelong hearing loss. This is why we closely monitor patients in the hospital when starting treatments. The newer therapies, like modulators, can cause liver stress, so we regularly check liver enzymes in the blood. However, severe side effects are rare, and the drugs are generally well tolerated." }) - ] }), - pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/hp/interview-olariu.svg", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/olario-abbildung1.svg", - summary: "We interviewed Dr. Cristian-Gabriel Olariu to gain insights into the diagnosis and treatment of cystic fibrosis (CF). He highlighted the importance of early diagnosis through newborn screening, which allows for timely intervention but can also be perceived as a burden by families, especially when symptoms may not manifest until later. Dr. Olariu emphasized the emotional and financial challenges families face, particularly regarding costly treatments and insurance variability. Patient contact Max shared his experiences with infections like Pseudomonas spp., which complicate care and necessitate a multidisciplinary approach involving medical professionals, psychologists, and nutritionists. Overall, the discussion underscored the need to balance medical interventions with the emotional well-being of patients and families, guiding us toward a more compassionate understanding of living with CF.", - months: "may" - }, - { - vorname: "Exploring new ideas", - nachnname: "x", - pictureurl: pics["placeholder"], - tag: "Milestone", - affiliation: "", - heading: "Further brainstorming on approaches", - interviewtabid: "brainstorming", - cardtext: "", - quote: "x", - quoteNachname: "x", - quoteVorname: "d", - aimofcontact: "d", - insights: "d", - implementation: "d", - type: "meta", - summary: "d", - months: "may" - }, - { - vorname: "Katrin", - nachnname: "Westhoff", - job: "Physiotherapist", - affiliation: "Independent", - pictureurl: pics["westhoff"], - tag: "Medical Professional", - heading: "Interview with a specialized physiotherapist regarding breathing therapy for cystic fibrosis patients", - interviewtabid: "westhoffinv", - cardtext: "", - language: "de", - quote: "The more we know, the more opportunities we have.", - aimofcontact: "The objective of the contact was to gain in-depth insights into the treatment and care of children with CF. The therapist's expertise was intended to help develop a better understanding of the challenges and necessary measures in the treatment of this chronic disease. In addition, the aim was to ascertain how the therapy is implemented in everyday life and which specific approaches and methods are particularly effective.", - insights: "The interview yielded valuable insights into the regular implementation of the therapy, the use of aids and the adaptation of exercises to the individual needs of the patients. It was notable that the therapy has improved over the last years, considerably thanks to better medication and adapted exercises, with a concomitant increase in life expectancy for children affected by CF. Of particular interest was the emphasis on the importance of sport and exercise, which should not only be therapeutically effective, but also increase quality of life. ", - implementation: "The following statement by Katrin Westhoff had a particular impact on our project: \u2018The more we know, the more options we have\u2019. We learnt from the interview that the current medication is already helping many patients very well, but that there is still great potential for improvement. Successful gene therapy would significantly improve the quality of life of CF patients. We implemented the findings from this interview in our participation in MukoMove - we also actively took part in cystic fibrosis awareness month and learnt even more about the importance of physiotherapy.", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/katrin-westhoff-zoom.webp", - summary: [/* @__PURE__ */ jsx71("p", { children: "The objective of our discussion with a therapist was to gain a comprehensive understanding of the treatment and care of children with cystic fibrosis. The interview provided invaluable insights into the therapy's implementation, highlighting the significant advancements in medication and tailored exercises that have led to improved patient outcomes and increased life expectancy. A key takeaway was the emphasis on the role of sports and exercise, not just for therapeutic efficacy but also for enhancing overall quality of life. It let to our participation in the CF awarness month and the outreach project mukomove [Link mukomove]" })], - months: "May", - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "From what age do the patients come to you? How long do they stay? How many patients do you treat?", a: "The patients come to us at a very early age. A definite diagnosis is made after 6 weeks at the latest. Once diagnosed, the whole family is genetically tested, and children are sent for physiotherapy, often starting in the hospital. Currently, we have 8 children with CF in our practice, which is relatively small compared to other diseases. We have slightly more CF patients because we specialize in it." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What kind of exercises do you do?", a: "We do a lot of breathing therapy and have attended special training courses for CF that introduced new techniques. The current gold standard is autogenous drainage according to Chevallier, which effectively removes mucus. We follow a general routine: 1. wet inhalation to bind mucus, 2. drainage to expel mucus, and 3. antibiotics to work optimally on clean lungs. We also use special belts for compressing 'magic points' to enhance lung ventilation." }), - /* @__PURE__ */ jsx71(QaBox, { q: "When does drainage start?", a: "We start drainage in newborns to prevent mucus from settling." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are there special exercises that can also be done at home?", a: "Yes, parents are instructed on exercises that can also be performed at home." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How often does the therapy take place?", a: "Therapy usually occurs once a week or every two weeks. Thanks to improved medication, children are now better off. The therapy has evolved significantly, making it easier to cough up mucus and improving life expectancy. Exercise should be enjoyable and a part of daily life from the age of 8 or 9." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What would happen if no physiotherapy was performed?", a: "It\u2019s difficult to predict, but without therapy, children often become more mucousy, leading to worsened ventilation. Specific therapy is crucial, especially during infections." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do you measure success (in terms of lung function test, exercise, etc.)?", a: "Success is measured subjectively by listening to breathing and observing skin color. A well-ventilated lung shows a 'full barrel' appearance, while wheezing indicates poor ventilation. In clinics, lung function tests, CO2 measurements, and 'finger clip' tests are used, though results can be influenced by the child." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do the exercises bring relief or are they preventative for further complaints?", a: "The exercises serve both to relieve acute infections and to prevent further issues. Fewer lung infections reduce the likelihood of mucus adhesions." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are there any tools to perform therapy?", a: "Yes, devices like the 'flutter' or 'cornet' help with exhalation. They create vibrations that loosen mucus in the lungs and should be used by all children with lung diseases." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What complaints do patients bring with them?", a: "Patients typically have lung problems, dry lung mucosa, and pancreatic issues leading to poor metabolism, requiring enzyme therapy before meals. Some children experience growth disorders and less commonly, excessive perspiration." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are pancreatic complaints also treated by physiotherapists?", a: "Pancreatic complaints are rarely treated with physiotherapy, except in cases of inflammation, where patients may be admitted to the hospital. Techniques like massage or kinesiology tape can help with constipation." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are there any special hygiene guidelines for you when working with CF patients?", a: "Hygiene is crucial when treating CF patients. We separate children with and without infections (e.g., Pseudomonas) and enforce strict disinfection protocols. Only children with similar infection statuses are treated on the same day." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are the specific exercises customized? And if so, how do you know which therapy is the right one for which patient?", a: "Exercises are tailored to each patient's situation, focusing on mucus removal and lung ventilation. Each therapist may have their own preferred exercises and techniques." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do patients always go to the same physiotherapist?", a: "Yes, if therapy is effective, patients tend to remain with the same physiotherapist." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How many physiotherapists offer muco-therapy?", a: "The exact number is unknown, but several child therapists in the region provide CF therapy." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How are the relatives educated?", a: "Education often begins in the maternity ward with a sweat test. In G\xFCtersloh, all children are referred to Bethel for immediate CF care. Parents often experience trauma as children can be severely ill despite appearing healthy." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What are the limitations of individual medicine?", a: "Drug effectiveness can vary, and some are only approved from a certain age. Improved medications can significantly enhance quality of life and life expectancy." }) - ] }) - }, - { - title: "Dr.", - vorname: "Michaela", - nachnname: "Bienert", - job: " Scientific Sales Representative for Cell Culture Products", - affiliation: "Stemcell", - pictureurl: pics["stemcell"], - tag: "Industry", - heading: "Longstanding Support from Stemcell Expert in Cell Culture Media and Primary Cell Cultivation", - interviewtabid: "michaela", - cardtext: "", - language: "de", - quote: "x", - aimofcontact: "Our primary goal in reaching out to her was to gain insights into optimizing cell culture media, explore potential sponsorship opportunities for our project, and seek expert advice on handling primary cells in the lab.", - insights: "Throughout our multiple discussions, she offered detailed advice on selecting and optimizing cell culture media for our specific needs, while also connecting us with opportunities for sponsorship. Later in the project, she provided technical guidance on the cultivation and handling of primary cells, ensuring that we followed best practices for cell culture.", - implementation: "Based on her feedback, we refined our approach to cell culture media, enhancing our experimental workflows. Additionally, her advice was critical during the transition to primary cell culture, helping us secure the necessary resources and expertise for our experiments.", - summary: "We have had the privilege of collaborating with a dedicated expert from Stemcell Technologies, who has consistently supported iGEM Bielefeld. She provided valuable guidance on cell culture media, sponsorship opportunities, and later, practical advice for cultivating primary cells. Her contributions have been instrumental in advancing our project.", - months: "several times", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/daniela.webp" - }, - { - vorname: "Documenting progress", - nachnname: "", - pictureurl: pics["placeholder"], - tag: "Milestone", - heading: "Tracking progress in expert search and idea development", - interviewtabid: "progress", - cardtext: "", - quote: "", - aimofcontact: "", - insights: "", - implementation: "", - type: "meta", - summary: "", - months: "may" - }, - { - vorname: "MukoMove", - nachnname: "", - pictureurl: pics["mukomove"], - tag: "Outreach", - heading: "Moving together for health and hope, our participation in CF awarness month", - interviewtabid: "mukomovehp", - type: "meta", - cardtext: "", - quote: "x", - summary: "", - months: "May" - }, - { - title: "M.Sc.", - vorname: "Jan-Phillipp", - nachnname: "Gerhards", - job: "Intern", - affiliation: " Harvard/ Boston Childrens Hospital", - pictureurl: "https://static.igem.wiki/teams/5247/photos/hp/hp-jpgerhards-potrats.webp", - tag: "Academia", - heading: "Discussion on optimizing our pegRNA Design to improve precision in prime editing", - interviewtabid: "JPpegRNA", - cardtext: "", - language: "de", - quoteNachname: "Lenger, Teammember", - quoteVorname: "Malte", - quote: "The interview proved to be invaluable in gaining an initial understanding of the principles of pegRNA design and optimisation, particularly in the context of silent edits.", - aimofcontact: "The aim of the contact was to engage in a discussion about prime editing and pegRNAs, as the Jan-Phillip Gerhards had used these technologies in his internship at the Boston Childrens Hospital. We sought to exchange ideas, gather insights, and explore potential improvements or strategies for our project, leveraging his experience with prime editing tools. His practical knowledge in this field was very valuable for refining our approach and ensuring we were aligned with the latest advancements and methodologies in prime editing. ", - insights: "During our discussion we gained valuable insights that had a significant impact on our project. One of the most important findings was the effectiveness of silent edits, which will enable us to make our PrimeGuide safer. Silent edits change the sequence of bases in the DNA in such a way that the resulting protein remains unchanged, because the genetic code is redundant. This means that different codons can code for the same amino acid. By making silent edits in addition to correcting the CFTR gene, we can prevent the pegRNA from rebinding. We have also learned that the length of the primer binding site (PBS) plays a crucial role in determining optimal results and that it is recommended to keep the PBS temperature close to 37\xB0C. Specifically, PBS lengths of 17nt (38.3\xB0C) and 16nt (36.4\xB0C) were found to be ideal options. For our planned set of 12 samples, it was recommended to use three different PBS lengths (differing by +/- 1nt from that close to 37\xB0C) in combination with four reverse transcriptase template (RTTs) to achieve the best result. Another important finding was the use of non-annotated regions with overhangs for cloning, which could give better results in our experiments. However, we also encountered concerns that circRNA, a covalently closed circular RNA molecule, might be sterically hindered by Cas9, which we need to investigate further. When discussing cloning overhangs, we learned that a base-pair length close to 60\xB0C is optimal. However, the use of a 15nt PBS was not recommended as it has a lower temperature range which could affect performance. Although we still need to confirm the oligonucleotide delivery time, these findings will help us to refine our cloning strategy, optimize PBS selection and improve our overall approach to primer editing, especially in terms of the pegRNA design.", - implementation: "We incorporated the lessons learned from our discussions on prime editing and silent editing directly into our project by refining our approach to gene editing. Based on feedback about the optimal length of primer binding sequences (PBS) and RTTs, we adjusted the design of our pegRNAs to ensure greater precision and efficiency in our experiments. In particular, we learned that using PBS lengths close to 37\xB0C melting temperatures (e.g. 16-17 nucleotides) increased stability, which led us to fine-tune these sequences for improved editing results. The concept of silent editing became an integral part of our safety strategy[Link Biosafety], allowing us to make changes to the DNA more precise. We also revised our cloning strategies by considering the appropriate overhang length, targeting a base pair length near the melting temperature of 60\xB0C to improve cloning efficiency. We also reassessed the practicality of ordering shorter PBS sequences, concluding that lengths shorter than 15 nt were less advantageous due to reduced efficiency. By integrating these findings, we optimised our experimental workflow and made informed decisions about the tools and methods for our prime editing experiments. ", - summary: "We engaged in a valuable discussion with Jan-Phillip Gerhards regarding prime editing and pegRNAs, leveraging his internship experience with these technologies. Key insights included the effectiveness of silent edits, which can enhance the safety of our PrimeGuide by modifying DNA sequences without altering the resultant protein, thereby preventing pegRNA rebinding. We also learned the importance of optimizing the primer binding site (PBS) length to achieve ideal temperatures close to 37\xB0C, recommending lengths of 16-17 nucleotides. Additionally, we discovered the potential benefits of using non-annotated regions with overhangs for cloning, while also recognizing concerns about circRNA steric hindrance by Cas9. These insights directly informed our project, allowing us to refine our pegRNA design and cloning strategies, ultimately enhancing the precision and efficiency of our gene editing approach.", - months: "May" - }, - { - vorname: "Mattijs", - nachnname: "Bulcaen", - job: "PhD Researcher at Laboratory for Molecular Virology & Gene Therapy", - affiliation: "KU Leuven", - pictureurl: pics["mattijs"], - tag: "Academia", - heading: "Discussion with a Prime Editing Expert on Similar Approaches for Different Mutations", - interviewtabid: "mattijsinv", - cardtext: "", - language: "en", - quote: "[\u2026] Prime Editing system is more complex than the canonical CRISPR systems, with more variables that can influence success or failure.", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "Shortly after we decided to use prime editing as the gene editing method for our CF therapy, Mattijs Bulcaen from the Laboratory of Molecular Virology and Gene Therapy at KU Leuven and his colleagues published a paper directly related to our research ", - /* @__PURE__ */ jsx71(TabScrollLink, { tab: "mattijsinv", scrollId: "desc-1", num: "1" }), - ". In contrast to our approach, Bulcaen et al. 2024 targeted other, less common but drug-refractory CFTR-specific mutations (L227R- and N1303K).\u202F " - ] })], - insights: [/* @__PURE__ */ jsxs46("p", { children: [ - "The insights gained from this interview proved extremely valuable in shaping our subsequent mechanistic approaches. At that point in the project we were starting to design the components of our prime editor, but we were lacking a broader overview over the state of the field. Mattijs gave us this insight, mentioning techniques like PE3b systems, dsgRNAs and a talk given by ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "liu", text: "David Liu" }), - ", the principal investigator behind prime editing that helped us to consider further novel advancements in in Prime Editing and include them into our project. He discussed with us the difficulties that might await us when targeting the CFTR F508del deletion and mentioned that insertions of all the edits possible with prime editing are the hardest to make, the recognition of edits in the region might attract mismatch repair systems and the chromatin organization might negatively impact prime editing efficiency. Also, we learned a lot about how to design our pegRNAs, with important inputs being the 3\u2019 stem loop motif trevopreQ1 used by Mattijs in his publication and the suggestion to use prediction tools to evaluate sgRNA spacer cutting efficiency. We reviewed our approach of testing pegRNAs using the PEAR reporter system and Mattjis recommended to use HEK cell lines for screening because of their easy handling and naturally impaired mismatch repair system. " - ] })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "The inputs given by Mattijs directly impacted our design choices for multiple parts of the project. For the pegRNA design, we decided to use the same 3\u2019 motif as Mattijs had used and also, like he suggested, checked our spacer candidates for predicted cleavage efficiency. Also we used HEK cells for screening our pegRNAs. We looked further into PE systems that influence cellular mismatch repair (such as PE4) and tried to include these into our design." })], - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71( - QaBox, - { - q: "We have prepared some questions for you. The first question is: You mentioned that it was quite challenging to target the F508 delta mutation. Could you provide more detailed reasons for why this is the case or explain why this mutation is particularly difficult to target compared to others?", - a: "Yes, that's the million-dollar question. First of all, let me clarify: our group has never directly worked on that mutation because we immediately focused on the drug-refractory mutations, such as nonsense mutations where the protein is not formed, indel mutations, or severe missense mutations that do not respond to modulator therapies. Of course, we know several groups in the field who either work on gene editing or focus on cystic fibrosis (CF). We've heard from some of them who attempted to target the F508 delta mutation. For example, some collaborators really tried to design different guides but were unable to find anything above the detection limit. \n F508del is probably one of the most logical mutations to try to correct, not just for CF but for the entire gene-editing field. If you look at the frequencies of mutations that cause genetic diseases, the F508 delta mutation is by far the most common deletion mutation causing a severe disease. This is because CF, along with sickle cell disease, is one of the most common deadly inherited diseases, and it's overrepresented within CF. So, it makes sense that they would have been trying to target it from the beginning. \n Interestingly, if you read the Prime Editing paper by Anzalone, F508 delta is mentioned in the introduction in connection with CF. So, it's somewhat surprising that after all this time\u2014it's been almost five years now\u2014they haven't published or released anything on F508 delta. \n However, last weekend, there was an online seminar where David Liu gave a talk, and he showed some unpublished data indicating that they managed to achieve quite good Prime Editing efficiency on F508 delta. It's worth noting that David Liu rarely presents unpublished data unless the publication is either accepted or very close to acceptance. So, we all kind of expect that the paper will be published soon, perhaps within the next week or at least within a month. From what I saw, it appears they leveraged many of the approaches available today to enhance Prime Editing. \n Now, regarding your question about why this mutation is so difficult to target with Prime Editing, I can't provide an exact answer. However, I can list some potential difficulties associated with the mutation, and it\u2019s likely that F508 delta is challenging for several of these reasons. For instance, it could be related to the genomic region itself. Writing insertions can be more difficult; the easiest edits are single-point mutations, followed by deletions, and the most challenging are insertions. This difficulty arises because it involves writing a third strand and then relying on DNA damage repair mechanisms to fix it. \n It could also be that the region around the F508 delta mutation is challenging due to flap equilibration or that it attracts pathways such as mismatch repair that negatively impact Prime Editing. Additionally, the chromatin organization around that region could play a role. Over the past year, we\u2019ve gathered clues that chromatin organization significantly affects Prime Editing capability, while this is much less of an issue for Cas9 and base editors. \n Studying this is not straightforward; you would need to conduct experiments like ATAC-seq to determine the chromatin organization around the mutation and how it might interfere. I also noticed on a slide that dsgRNAs were mentioned, though David Liu didn't discuss them in his talk. After looking them up online, I found that this technique, published a few years ago by other researchers, is specifically designed to open up chromatin. It seems they use different guides, without the three-prime extension, to open up the chromatin, which could be one way to overcome the limitations in Prime Editing efficiency. \n There could be other factors as well, and it\u2019s often difficult to predict what will work and what won't. We have prediction tools for Prime Editing guides that work to some extent, but they are not as effective as the prediction tools available for regular CRISPR guide RNAs. This suggests that the Prime Editing system is more complex than the canonical CRISPR systems, with more variables that can influence success or failure. I hope this answers your question somewhat. " - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "That has already been very helpful, thank you for that. We'll consider this and might look into it a bit more. \n Perhaps we could quickly discuss which part of the prime editing complex you think plays the most significant role in making insertions much more challenging compared to deletions. Is it the reverse transcriptase or the RNA? ", - a: "I don't think it's primarily the reverse transcriptase that's the issue. People have shown that longer insertions are definitely possible. I believe the challenge lies in the process when your cell has to repair the new DNA strand, which is generated and exists as a three-stranded intermediate. We don\u2019t directly intervene in this process; it entirely depends on the cell and the DNA damage repair pathways active in those cells. Through expression of dominant negative DNA damage repair effectors, or by nicking the non-edited strand, the outcome can be steered to some extent. \n When you perform an insertion, the new strand must hybridize with the bottom strand, which remains intact. This creates a small loop that needs to be incorporated. At this point, the cell faces two options: it can either revert to the original state or incorporate the edit you\u2019re trying to introduce. In certain circumstances, perhaps due to how the new DNA strand folds or the sequence context of the region of interest, the cell might heavily favor reverting to the original state, resulting in the absence of the intended edit. \n This process is extremely difficult to predict, but there are several indications pointing in this direction. For example, in the case of point mutations, it has been shown that it\u2019s easier to convert a C to a G rather than the reverse, simply due to how these mismatches are recognized by the DNA damage repair mechanisms. This area is very complex, and I don\u2019t think anyone fully understands it yet. It\u2019s also difficult to study. \n I don't believe the rate of reverse transcription is the limiting factor here, although it could play a role for long or structured pegRNAs. You might have already come across this, but the PE6 generation of Prime Editors, which were released about half a year ago, involve engineered or evolved reverse transcriptases that are more processive and can more easily synthesize longer transcripts. \n Another factor that could play a role is the secondary structure of the guide RNA. Each prime editing guide RNA faces a common problem: it has a spacer that binds the bottom strand and a three-prime extension that binds the top strand. Since these two parts of the RNA bind complementary strands, they are also complementary to each other, meaning every prime editing guide has some tendency to bind itself. If the Gibbs free energy is too high, the guide RNA may fold in on itself, preventing it from binding to the prime editor, which then inhibits prime editing. \n Additionally, the three-prime extension itself can fold independently. I haven\u2019t specifically examined this for the F508 delta guides, but it is something that can be predicted. There are tools available that can predict the secondary structure of an RNA sequence, and if there\u2019s a significant hairpin structure, it might mean the three-prime extension remains closed, preventing the reverse transcriptase from using it as a template. The PE6 prime editors have been engineered to be more effective in such scenarios, being less affected by secondary structures and better able to read through them. " - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Yes, exactly, we noticed the same thing when predicting the secondary structure of our guide RNA. As you mentioned, the spacer and the binding site are complementary, so we end up with a really long complementary strand that binds to itself. We were also unsure whether it would open up or remain bound together.", - a: "I think the Liu lab mentioned in the PE6 paper a threshold for the free energy of the guide RNA structure. They suggest that every guide will behave differently, but there\u2019s often a more complex interaction at play than just a simple threshold. If the free energy is not too low, the guide RNA may still function efficiently and be incorporated into the prime editor, with everything remaining in equilibrium. However, if the free energy is too low, meaning high propensity for self-folding, it can cause problems. \n I also recently came across a paper from the group of Keith Joung, another prominent CRISPR scientist from the U.S., where they demonstrated that applying a heat shock to the guide RNA can help it refold. This is particularly relevant if you\u2019re using RNP or mRNA with synthetic guide RNA. They linked this specifically to the self-binding capacity of the guide RNA, suggesting that heat shock can mitigate the issues caused by self-binding. " - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "What would be the application? Would you administer the heat shock in vivo?", - a: "I believe they used it to engineer zebrafish embryos or something along those lines. It\u2019s quite specific, of course. If you plan to deliver your guide RNA through a viral vector or similar method for human therapy, the application would differ significantly. You obviously can't administer a heat shock to humans, so it really depends on the context of your application." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Okay, that's interesting. Given the time constraints, let's move on to the next question. Due to our limited resources, we are targeting a PE2 system, and we'd like to ask if you see any chances of success with this system. If so, how high do you think the chances of success are? We understand that the PE3 system, as shown in your paper, is much more advanced and performs significantly better. But given our situation, do you think our PE2 system could still be effective, or would you suggest that it only makes sense to use something like PE3?", - a: "PE2 can work, but it really depends on your application and the methods you have to assess the editing efficiency. If you can use NGS (Next-Generation Sequencing) for everything, you'll be able to detect edits even with PE2 systems. However, I would generally expect the efficiency to be low. Whenever possible, I would always recommend trying the PE3 system. Could you share what your specific application is, or is that confidential?" - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "So our goal is to eventually use it in vivo, but for now, we're focusing on trying to correct the mutation first in regular cell cultures and then later in primary cells.", - a: "Is your focus specifically on the F508 delta mutation? If so, we could potentially help you get you started, as we already have constructs and cells with that mutation. We would need to discuss the financial aspects, but we might be able to assist. However, are you fully committed to targeting F508, or are you also considering other diseases or mutations?" - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "The timeframe of the project, combined with the fact that we\u2019re all studying on the side, limits us to a certain scope. Since this is our first time tackling a project like this, it makes sense to stick to something more manageable. So, we're somewhat committed to focusing on F508 due to these constraints.", - a: "That's understandable. It can be really tough to juggle a project like this along with exams and studies, especially if you're also involved in competitions. But it's definitely worth the effort, even if you don't achieve huge results right away. The experience and learning, as well as the connections you make, are incredibly valuable. I'm a big supporter of such projects. So, what resources do you currently have? Do you already have cells with the F508 delta mutation, or...? " - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "We have one patient who is willing to provide us with cells, but we don't have them yet. ", - a: "It sounds like you're aware of the challenges, and I don't want to discourage you, but just to be realistic, working with primary cells and getting everything ready could be tricky, especially considering the competition is in October. Experiments in human cells can take time, especially if you need to do multiple iterations or clone constructs\u2014it could easily take a week or more per experiment. \n Regarding the cells we have, as mentioned in our paper, we screened all our guides on HEK cells with an integrated copy of the CFTR cDNA. HEK cells are easy to work with, but they don't naturally express CFTR, even though the gene is present in their genome. So, we introduced the mutation of interest into these cells, making it easier to screen. \n I'm not entirely sure if we can send over the cells due to ethical regulations, which can be complex and time-consuming to navigate. However, there's an alternative approach that might help you. Early on, we found that it's actually quite easy to screen guides using what we call a 'transient target'. In this method, you would transfect all your prime editing plasmids into HEK cells, along with a plasmid containing the CFTR cDNA with the mutation of interest. While this approach isn\u2019t as physiological as editing the chromosome directly, our side-by-side comparisons showed almost equal efficiencies between transient and chromosomal targets. It's much easier and faster than working with patient-derived cells. I can definitely send you the plasmid, which would save you a lot of time and effort. This method is much simpler and could be a practical solution for your project. " - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Our initial plan is to work with a reporter plasmid that expresses eGFP, where we've removed a splice site, until we have patient cells or cell lines with CFTR mutations. This will allow us to screen easily without needing to sequence everything. Do you maybe have any suggestions or advice on this approach? ", - a: "Is that the PEAR system? No, it\u2019s a different one, but we also have a similar system. The advantage of this approach is that you can very easily see if it works, and it\u2019s very sensitive\u2014much easier than extracting and sequencing DNA. The downside, however, is that\u2026 actually, I\u2019m not familiar with the 'flu PEAR system.' \n Actually, we use the exact same system in our lab. It\u2019s very useful for optimizing delivery strategies because it\u2019s easy to see results. The downside, of course, is that the guides you\u2019re using for that system aren\u2019t specific to the F508 delta mutation, right? So, these are scientific trade-offs. You could, for example, design a reporter that uses your F508 delta guide and also results in fluorescence, but you would need to design the reporter first. It\u2019s challenging to prove that it works because you might not have a perfect guide for F508 delta. \n It really depends on what you want to achieve. If your goal is to first check if you can successfully perform prime editing, then using the reporter is definitely a good first step." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "We will edit the plasmid, specifically the vector, so that we have almost the same pegRNA. The only difference will be downstream, behind the edit.", - a: "Is this approach based on a paper from the Netherlands, or is it something you came up with yourself? " - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Based on a paper. ", - a: "Yeah, that sounds like a very good way to start. Do you already have the reporter plasmid ready? " - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Yeah, we bought the reporter, and now we\u2019re making the necessary edits so we can use it. ", - a: "Okay, so do you also already have guides targeting F508 right now? " - } - ), - /* @__PURE__ */ jsx71(QaBox, { q: "We\u2019ve designed some guides, but we haven\u2019t tested them yet. That\u2019s one of our next steps. So, at the moment, we\u2019re just in the design phase, or we have already designed them, and...", a: "Yeah, okay, cool. Good luck with that! And I suppose you\u2019re starting off with HEK cells as well, right?" }), - /* @__PURE__ */ jsx71(QaBox, { q: "We have HEK and HeLa cells, but we haven't decided yet which ones we'll use.", a: "I would start off in HEK cells because, by total accident or coincidence, they are much easier to achieve prime editing in. This is because the MLH1 gene, which negatively impacts prime editing outcomes, is naturally disabled in these cells\u2014they don't produce the MLH1 protein. Of all cell lines available, HEK cells are the easiest to achieve editing with, so I would definitely recommend starting there. In terms of transfection, HEK cells are also very easily transfected. If I can offer another piece of advice, always include GFP controls\u2014plasmids that simply express GFP without requiring editing\u2014and use them to determine your transfection efficiency. It's crucial to have a very high transfection efficiency because you'll be working with a three-component system: your reporter, your prime editor, and your guides. All three plasmids need to be present in the same cell for the editing to occur, so you should aim for at least 70% transfection efficiency, preferably 80% or higher. I don't know what transfection method you're planning to use, but we've always used Lipofectamine 3000. It\u2019s expensive, but it works very well. However, if you're looking for more cost-effective options, we recently discovered two other transfection reagents, Jet Optimus and Jet Prime, which are much cheaper and also work quite well. That said, I would advise against starting with any of the cheaper transfection reagents; you really need to aim for high transfection efficiency. Always make sure to measure and report transfection efficiency for every experiment because if it's low, the experiment might not yield useful results. If you have the funds or resources, I would also recommend designing P3 or even P3b guides, as they might offer better efficiency. When it comes to designing P3b guides, if you're primarily focused on P2 right now, there are some specific considerations to keep in mind. I'll provide you with a site that can help with this, and I'll give you the link in just a moment. So, it's very advisable to check the Doench score. Do you know what it is?" }), - /* @__PURE__ */ jsx71(QaBox, { q: "No, not really.", a: "There are papers by John Doench, an American researcher, from quite a while ago that, in my opinion, are some of the best around. He developed a comprehensive scoring matrix specifically for regular Cas9 that can evaluate the quality of the spacer in your guide RNA. This is important because Cas9 tends to prefer certain sequences over others. For instance, a good spacer should have an appropriate GC content and should avoid hairpins that might cause it to fold in on itself, which would prevent it from functioning properly. You can use this matrix to give a score for the quality of a guide RNA. I\u2019m going to pull up an example here. The site from Synthego, a commercial provider of CRISPR reagents, allows you to check the quality of your guide. When you validate it, the site gives a score based on various factors, including off-target effects, although that might not be your primary concern at the moment. If you hover over a specific area, it will show you the Doench Score, which is crucial. Ideally, you want a guide with a good Doench Score. A good score starts at around 0.4, indicated by a green check mark for good efficiency. If the score is very low, it means that the guide likely has low CRISPR-Cas9 activity and may not be very efficient. When designing prime editing guides, RNA, we always check the spacer for a good Doench Score. If we are designing nicking guides for a PE3 or PE3b strategy, we also ensure that they have a good score. This is one of the easiest tools to check for that. Whenever possible, try using PE3. In some cases, PE3 performs better than PE2, though not always. PE3b might not always work either, but for many mutations, we have seen significant increases in editing efficiency by including the PE3 guide." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Okay, yeah, that was quite clear from your results; the diagram illustrated that very well. Are there more off-target effects when using PE3 since you have to make another cut?", a: "If you decide to use PE3, it's important to be aware that while it's not exactly an off-target issue, there is a risk of an undesired on-target outcome. The concern with regular PE3 is that both strands of DNA can be nicked simultaneously, which can lead to a staggered double-strand break. This can result in the formation of indels (insertions or deletions). In your case, this means that if the region around the F508 delta mutation is broken, the prime editor might not be able to repair it properly, leading to additional base pairs being removed or added, and thus, the sequence might be altered in an unintended way. The risk of on-target indels is definitely higher with PE3 compared to PE2. However, this risk is reduced when using PE3b, which employs sequential nicking. The PE3b nicking guides are designed to recognize the wild-type sequence, and they can only nick the opposite strand if the correction has already been made on the top strand. This sequential action helps to avoid the generation of indels. Introducing a second guide into the system also brings the possibility of off-target editing by that guide however, since only a Cas9 nickase is used, off-target indels should be limited." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Yes, okay, thank you. Do you have time left, or are we out of time?", a: " It's fine." }), - /* @__PURE__ */ jsx71(QaBox, { q: "We have more or less one last question. If it\u2019s not possible, that\u2019s completely fine. We just wanted to ask if you could possibly forward the contact details for the Ussing chamber setup in Paris that you mentioned in your email. Would that be possible?", a: "You can certainly try to contact them, but I actually know that there are quite good labs in Germany that work on similar things. \n One major drawback for you might be the time it takes to differentiate cells. If you harvest stem cells or basal cells from patients, they will have the CFTR gene, but they don\u2019t express it immediately. It takes about four weeks for them to differentiate and start producing the CFTR protein. Without this differentiation, you can't measure the currents, which could slow you down significantly. I'm not sure if you have that kind of time. \n If I can give you one piece of advice: it\u2019s less physiological, but it\u2019s still an accepted assay\u2014try it on organoids. We could actually perform both assays here. If you find guides that work really well, we could consider doing those tests here. Someone could come over, or we could do the experiments if they\u2019re not too expensive and have a good chance of working. I think we wouldn\u2019t mind adding the F508 delta mutation to our list of editable mutations. \n There\u2019s also the possibility that if the paper from the Liu Lab is published within the next month, you could just use the guide they provide, and you\u2019d have a guide that is known to work. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Yeah, so I think if our guides don\u2019t work as well as we hope, this could be an opportunity. We still want to explore optimization of the prime editing system, such as trying different reverse transcriptases or other methods. For now, we\u2019d like to try it on our own, but like you said, it\u2019s good to have this opportunity in case it doesn\u2019t work out.", a: "Yeah, I think working with patient cells is one thing, but just be aware that these models and assays typically take a lot of time\u2014easily half a year, and that\u2019s considered fast to get them up and running. Unless you're in a lab that already has experience with growing organoids, it could be very challenging to start from scratch. \n However, you can always try. The team in Paris that we know very well\u2014they are incredibly kind, world-class experts in what they do, but they are also under a lot of pressure. They use these technologies not only for research but also to diagnose patients. What the French team has managed to do is show that if a patient\u2019s cells respond to certain drugs, the government allows those drugs to be administered to the patient. You can imagine how important these experiments are, as they can directly impact patients' lives, which naturally takes the highest priority." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Yeah, we recognized that too. We talked with the CF team at the University Clinic in M\xFCnster and asked about using their Ussing chamber, but they are really overworked with it. That\u2019s why we reached out to you about it. But it\u2019s completely fine, as we mentioned before.", a: "I'm going to put it bluntly: Ussing chamber experiments, while they are highly regarded and provide valuable data, are a real pain to perform. They are incredibly time-consuming and have a very low throughput. A typical setup has four chambers, so you always need to do repeats. In the best-case scenario, you can test two conditions at a time. If you have a very experienced person, they might be able to run eight samples, but they would have to stay with the machine for four to five hours, maintaining constant attention. With multiple technicians, as is the case in France, you might manage to run 16 samples a day. On top of that, the cells need to be differentiated properly, and you have to know how to handle them correctly. The medium required is very expensive, and working with these cells is almost more of an art than a science. You have to know when the cells look 'happy' or not because you don't want to waste time on cells that aren't in good condition. I've run quite a few of these assays myself, and while they are great for CF work and provide results that are relevant to patient outcomes, they are technically challenging and very demanding. If you want a functional output to show that the CFTR protein is working again, I would recommend starting with one of the easier models, like organoids. We also have in our lab 16HBE cells with a YFP sensor. I don't know if you've heard or read about that. These cells express YFP, which is sensitive to halide ions, including chloride and iodide. When you add a buffer containing these ions to the cells, the YFP intensity quenches. This is something we typically use in our experiments. For wild-type cells, you see a rapid and dramatic quenching because CFTR allows these ions to enter the cells. In cells with the mutation, there\u2019s no quenching because the channel isn\u2019t working. While it\u2019s less relevant because these aren't patient cells, it\u2019s closer to reality. The 16HBE cell line is an airway epithelial line, and the expression of CFTR is endogenous, so it\u2019s not at the exaggerated levels you might see in more artificial models like HEK cells. Using the YFP assay could be a good alternative or a Plan B for getting a functional readout. This assay is medium to high throughput\u2014you can run entire 96-well plates in about half an hour. All you need for this is the cells and a plate reader that can measure fluorescence and inject the buffer. If you don\u2019t have a plate reader with an injection system, you can also manually add the buffer and quickly place the plate in the machine. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Yes, that sounds quite good. I think we\u2019ll definitely consider that as a method. \n If you have a little more time, I wanted to ask about the pegRNA. You stabilized it with a stem loop or some kind of motif in the paper, like the trevopreQ1. Did you test other motifs as well, or...? ", a: "Yeah, there was actually one published before the one from the Liu lab, but we tried that one\u2014I can't remember the exact name, maybe CSX4 or something like that. It didn\u2019t even make it into the main papers, just the supplementary material. The principle was similar, and according to the paper, it should have worked. I tested it on two or three guides, locations, or mutations, but it didn\u2019t work. However, the trevopreQ1 one definitely works. \n Also, something to note is that these motifs become more important when you move to primary cells, where you have fewer guides. In transfection experiments, where you\u2019re essentially flooding the cells with plasmids that transcribe large amounts of these guides, the protection of the three-prime end isn\u2019t as critical. But in primary cells, where there are more nucleases and you likely have less pegRNA due to your delivery method, this protection becomes more important. The paper does discuss the trevopreQ1 one and tMPK knot, but due to time constraints, we only tested one and didn\u2019t look into the other. \n I think the advantage of the one we included in the paper was that they also investigated whether it was necessary to include a linker between the motif\u2014like the trevopreQ1\u2014and the pegRNA with the three-prime extension. For the motif we chose, they found that the linker wasn\u2019t really necessary, whereas it was for the other one. To keep it simple, we chose the one without the need for a linker because, for many sites, the efficiencies were comparable. \n If we had infinite time and resources, it would definitely be worthwhile to test both motifs. The paper did show some examples where one motif was clearly better than the other. But no, we didn\u2019t have the time to explore that further. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Okay. Thank you. But like it's shown in the paper, it worked quite well. Right. Yeah. ", a: "There was definitely added value. When we moved to organoids, the effects of adding that motif were quite dramatic and very clear. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Yes, that was our last question. Thank you so much again for having me. We really appreciate the time you took for us, and also for your very detailed answers and your help.", a: "No problem. My pleasure." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Thank you so much. We will definitely keep you updated on how it goes. Thank you again! ", a: "It was a pleasure" }) - ] }), - references: /* @__PURE__ */ jsx71(MattijsInterviewSources, {}), - summary: "Our discussion with Mattijs Bulcaen from KU Leuven provided critical insights into the complexities of using prime editing for CF therapy. As we began designing our prime editor, Mattijs highlighted challenges specific to targeting the CFTR F508del deletion, including the influence of mismatch repair systems and chromatin organization on editing efficiency. He introduced us to advanced techniques, such as PE3b systems and dsgRNAs, and recommended using the 3\u2019 stem loop motif from his research to enhance our pegRNA design. Additionally, he advised utilizing HEK cell lines for screening due to their ease of handling and reduced mismatch repair activity. These insights directly influenced our design choices and helped refine our approach to developing an effective prime editing strategy.", - months: "june" - }, - { - vorname: "Integrate Insights", - nachnname: "", - pictureurl: pics["placeholder"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Getting Acquainted with Cystic Fibrosis", - interviewtabid: "inisghts", - cardtext: "", - quoteNachname: "K\xF6hler, Teammember", - quoteVorname: "Vera", - quote: "Firstly, we discussed various project ideas, including the use of magnetic microswimmers for targeted medical applications, gene editing approaches for cystic fibrosis, treatments for muscular dystrophy and combating cyanobacteria with algae.", - type: "meta", - summary: "", - months: "june" - }, - { - vorname: "'Der Teuto ruft'", - nachnname: "", - pictureurl: pics["teuto"], - tag: "Education", - heading: "Educational city tour for young and old", - interviewtabid: "teuto", - type: "meta", - cardtext: "", - quote: "x", - summary: "", - months: "June" - }, - { - vorname: "Julia", - nachnname: "", - job: "parent", - affiliation: "independent", - pictureurl: pics["julia"], - tag: "Patient", - heading: "Interview with a CF Parent about their experience and treatment needs", - interviewtabid: "julia", - cardtext: "", - language: "de", - quote: "At first, our world fell apart. I still remember the conversation with the doctor. ", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "We learned from our discussion with ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "maxfirst", text: "Max" }), - " that CF has a profound impact on the whole family \u2013 not just the patient. In order to gain further insight into this subject, we sought to engage with the next of kin of CF patients. We were able to make contact with Julia through the self-help group of ", - /* @__PURE__ */ jsx71("a", { href: "https://www.muko.info/ ", children: "Mukviszidose e.V. " }), - " of which Max is a member. She subsequently reached out to us following Max's request for potential candidates for an interview with a patient group. She and her husband have a six-year-old daughter carrying the F508del mutation in the CFTR gene and a toddler without CF. " - ] })], - insights: [/* @__PURE__ */ jsx71("p", { children: " The interview with Julia shifted our focus to a new group of stakeholders: The patient\u2019s support systems. Most people do not get genetically tested before having children and due to that, many people could get in the position of having a loved one with CF. We considered the societal impacts, such as the rising health care costs, which Nicole Friedlein emphasized during our interview. She explained how the long-term nature of treatment, frequent hospital visits, and the need for specialized medications place a significant financial burden on both patients and the health care system. This insight shaped our understanding of the broader economic challenges faced by families and institutions involved in managing chronic illnesses. Meanwhile, Julia brought attention to the psychological impact, stressing the emotional strain that accompanies not only the illness itself but also the financial pressures. She also showed us more perspectives on parenting of children with CF, than we heard before, and told us about the way from the first diagnosis to growing accustomed to and living with a child with CF. Julia also confirmed that most children will have no issue using an inhalative therapy like we envision our gene therapy to be and shone light onto the comparatively very good situation for CF patients in Germany. " })], - implementation: [/* @__PURE__ */ jsxs46("p", { children: [ - " This interview helped us confirm the delivery method we planned to use as we were previously concerned how and if children would be able to use the inhalative therapy. Besides that, Julia gave us further insights into the emotional side of dealing with CF and we were able to discuss the situation for patients in Germany in comparison to other countries better in later ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "joshua", text: "interviews" }), - ". " - ] })], - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "Can you tell us a bit about your family? How old are your children and yourselves?", a: "I\u2019m 37, my husband is 44, and our daughter is six, turning seven soon. We also have a son who\u2019s about a year and a half." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Does your son also have cystic fibrosis?", a: "No, he doesn\u2019t." }), - /* @__PURE__ */ jsx71(QaBox, { q: "When was your daughter diagnosed with cystic fibrosis?", a: "Right after birth. She was transferred to a bigger hospital due to an intestinal blockage and had surgery. After about two to three weeks in intensive care, the cystic fibrosis diagnosis came through newborn screening. At that time, the results took longer to process than they do now." }), - /* @__PURE__ */ jsx71(QaBox, { q: "That intestinal issue can happen for many reasons, right?", a: "Yes, it was all new to us. The beginning was difficult, but things have gotten better since then, and we\u2019re very grateful." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How did you feel when you first heard the diagnosis?", a: "It felt like our world was falling apart. I still remember the moment\u2014it was like being in a movie. We were told in a separate room, and it felt overwhelming. One doctor even suggested we go home to think about it in peace, but all I could think about was returning to my child. It was a lot to take in, especially thinking about how we\u2019d tell our family." }), - /* @__PURE__ */ jsx71(QaBox, { q: "That sounds incredibly hard. How did you handle it as time passed?", a: "It was tough, but we were fortunate to have a doctor who really understood what we were going through, as he had a disabled child himself. He never scared us unnecessarily and guided us step by step, which made a big difference. We know many families who live in constant fear, but since those first months, we\u2019ve learned to manage the situation without being overwhelmed by fear." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Did any particular support help your family adjust to the diagnosis?", a: "Yes, the rehab program we attended was a huge help. It was a family-oriented program, so my husband could be there too, which was important since I manage most things day-to-day. It really helped our daughter realize she\u2019s not alone\u2014she met other kids with similar conditions, which was a huge comfort." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How did you explain the illness to your daughter?", a: "We try to give it as little attention as possible in daily life. She\u2019s been inhaling medication since she was eight weeks old, and it\u2019s just part of her routine now. Thankfully, she doesn\u2019t fight it or question it much, and her school and kindergarten haven\u2019t made a big deal of it either, which is what we wanted." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Does she ever ask about her illness compared to her younger brother, who doesn\u2019t have cystic fibrosis?", a: "She does sometimes ask why she\u2019s sick and he\u2019s not, but she\u2019s not upset by it. We\u2019ve made sure not to give her any special treatment because of her illness, which can be hard at times, but we want her to understand that her illness doesn\u2019t define her." }), - /* @__PURE__ */ jsx71(QaBox, { q: "That sounds like a good balance. What about medications\u2014did she start on any special treatments?", a: "Yes, she started on Orkambi at around three years old but had to stop briefly due to high liver values. Now she\u2019s on Kaftrio, which she started shortly before her sixth birthday, and it\u2019s been going well." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Did you face any issues with the health insurance for covering these medications?", a: "Fortunately, no. We have statutory health insurance, and they\u2019ve covered everything without any issues. We\u2019ve heard it can be more complicated for those with private insurance." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Have you ever had difficulties with access to medication?", a: "Yes, there have been times when we\u2019ve had to wait a few days for certain medications, like Kreon or antibiotics, especially in the winter. But we always plan ahead and keep a buffer, so we\u2019ve never been without what we need." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What would you say has been the most affected area for your daughter?", a: "Her intestines are the most affected. Before she started Kaftrio, she had fatty stools and frequent bowel movements, even with the right Kreon dosage. Since starting Kaftrio, this has improved significantly." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What kind of support would you have liked to receive earlier?", a: "We wish we had been given more information about available services early on. We found out about Mukoviszidose e.V. from another family, not from our doctor. It would have been helpful to know about these resources right from the start." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How about psychosocial support?", a: "Initially, we didn\u2019t have any psychological support\u2014our doctor took care of everything. Now, where we live, there are more resources, and we think it\u2019s a good thing. The rehab helped a lot in coming to terms with everything. We wish we had known about such services sooner." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Does your daughter do physiotherapy?", a: "Yes, once a week for about an hour. She\u2019s been going since she was discharged from the hospital, and she has a close bond with her physiotherapist. They\u2019ve been working together since she was a baby, and she goes by herself now." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Are there any restrictions for her in terms of physical activities?", a: "No, not really. She does dancing once a week, physiotherapy, and she\u2019s even done a swimming course without any problems." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do you handle communicating about her illness?", a: "We try not to make a big deal of it. When I looked for information, I found what we needed. There\u2019s nothing we\u2019ve really felt was missing." }) - ] }), - summary: "Julia's insights shifted our focus to the support systems surrounding CF patients. She highlighted the societal implications of CF, including rising healthcare costs due to the long-term nature of treatment and the financial burdens faced by families. Additionally, Julia emphasized the emotional strain that accompanies the illness, alongside the complexities of parenting a child with CF. Importantly, she affirmed that most children adapt well to inhalative therapies, reinforcing our planned delivery method for gene therapy. This interview enriched our understanding of the challenges faced by families and enabled us to better compare the experiences of CF patients in Germany to those in other countries.", - months: "june" - }, - { - title: "Prof. Dr.", - vorname: "David", - nachnname: "Liu", - job: " Richard Merkin Professor and director of the Merkin Institute of Transformative Technologies in Healthcare", - affiliation: "vice chair of the faculty at the Broad Institute of MIT and Harvard", - pictureurl: pics["david"], - tag: "Academia", - language: "en", - heading: "Influence of research by David Liu on our design decisions ", - interviewtabid: "liu", - cardtext: "", - quote: "X", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "David Liu is the principal investigator responsible for the development of the prime editing systems and his laboratory is actively working on improving prime editors, also for application in CFTR mutation F508del. " })], - insights: [/* @__PURE__ */ jsx71("p", { children: "The talk and papers from David Liu not only introduced advances for prime editors, but also included valuable data for us to decide on which method might work best for our project. Because of this we decided to use an advanced system based on the PE6c and PE4 systems, both of which were published by the laboratory of David Liu. " })], - implementation: "", - summary: "", - months: "June", - references: /* @__PURE__ */ jsx71(LiuInterviewSources, {}) - }, - { - vorname: "Nicole", - nachnname: "Friedlein", - job: "Research group on fundamental rights", - affiliation: "University Potsdam", - pictureurl: pics["nicole"], - tag: "Academia", - heading: "Discussion on how health insurance companies manage cystic fibrosis patients and gene therapy treatments", - interviewtabid: "nicole", - cardtext: "", - language: "de", - quote: "Public health insurance operates under an economic efficiency principle, meaning the most cost-effective treatments are preferred. But if gene therapies become the only treatment option for certain conditions, they will likely have to be included in the coverage, which could be a challenge for the system.", - aimofcontact: "The main objective of the contact was to learn from the discussion on issues related to cystic fibrosis (CF), gene therapy, health insurance processes and regulatory pathways. In particular, we wanted to understand the real-world challenges and technical aspects of gene editing, especially prime editing, as well as the complexities of approval and reimbursement of gene therapies for CF patients.", - insights: "The regulatory approval process, particularly by the European Medicines Agency (EMA) for advanced medical devices, has highlighted the bureaucratic hurdles that gene therapies must overcome. We learned that such therapies for cystic fibrosis have to navigate complex European and German regulatory systems. The discussion on the AMNOG process was crucial. We learnt that the additional benefit of a therapy is assessed for reimbursement by the statutory health insurance funds. We implemented this insight in our project by considering the long-term regulatory and economic effects as important milestones for therapy development. We also gained insight into how public and private health insurers may differ in their reimbursement of such therapies. Public insurers have stricter guidelines, while private insurers can be more flexible, but both require strict justification, especially for rare diseases such as cystic fibrosis. Information on newborn screening and genetic counselling covered by public health insurance was crucial to understanding how preventive measures for CF are managed. This underlines the importance of early intervention and diagnosis in our project. Atypical forms of CF, where health insurance companies do not cover treatment due to non-standardised test results, were identified as a key problem. This helped us to recognise the need for more adaptable insurance policies and clearer pathways for the treatment of atypical cases in our project plans. The debate about whether healthcare systems can afford the high costs of gene therapies highlighted an important issue in the current medical landscape. We have incorporated this insight into our project by discussing possible cost-effective alternatives and the need for thorough cost-benefit analysis in the development of treatments.", - implementation: [/* @__PURE__ */ jsxs46("p", { children: [ - "After the interview, we further tailored our project to focus on a simple delivery method to reduce the therapeutic effort. To gain an overview of the regulatory requirements and to better deliver the project, one of our team members attended a ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "gxpcourse", text: "GxP course" }), - " to ensure we met all the necessary standards. To deepen our knowledge of entrepreneurship, we conducted further interviews with start-ups and ", - /* @__PURE__ */ jsx71(HPgoToPageAndScroll, { id: "Further Engagement3H", path: "\\human-practices", text: "industrial companies" }), - ", which gave us important insights into practical implementation. These steps ensure that our project is not only based on scientific research, but also takes into account the practical, regulatory and social aspects that are crucial to bringing new CF therapies to the market. We are currently developing strategies to successfully implement our ideas and the project in the future." - ] })], - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71( - QaBox, - { - q: "To start with this interview. Do you have any questions about this project?", - a: "Are you writing a paper on this, or are you conducting actual laboratory research? Or is it primarily literature review? How does your work look?" - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "It\u2019s not just literature review, though we do start with that. We have a lot of lab work ahead of us. Ideally, we would have a finished construct to present at the end, maybe even a functional gene therapy, though that\u2019s quite ambitious and probably not possible in the short time frame. We\u2019re working on various gene-editing approaches and testing plasmids in HEK cells. We are also exploring Prime Editing and trying to improve its efficiency using different reverse transcriptase enzymes. So, it\u2019s a mix of lab work, literature research, and preparing for a presentation at a competition.", - a: "Are you writing a formal paper?" - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "We\u2019re not writing a formal text-based paper, but everything will be available on a website. We will document most of our work on the website, with sub-pages detailing lab work, interviews, and research.", - a: "What exactly is Prime Editing, and how does it differ from altering the germline? Where in the genome does this therapy act?" - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Our current plan is to deliver the therapy via a lipid nanoparticle system, which will be inhaled and go into the lungs. While cystic fibrosis (CF) affects all mucus membranes, the lungs are the most critical area, so we\u2019re focusing on that. The therapy will only target surface cells in the lungs, not the basal cells responsible for producing new lung cells.", - a: "Thank you for giving me insights into your project." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Do you know how cystic fibrosis (CF) approval works in terms of health insurance and regulatory processes?", - a: "The approval process for gene therapies is primarily done through the EMA (European Medicines Agency) under specific EU regulations for Advanced Medical Products, including gene therapies. There is also a national approval process in Germany for individualized treatments, but large-scale therapies must go through the EU process." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Can you share more about the approval and reimbursement processes for CF treatment?", - a: "The approval process is separate from reimbursement by public health insurance. CF is considered a rare disease if it affects fewer than five out of 10,000 people, and treatments for rare diseases often face special reimbursement challenges. If more than five out of 10,000 people are affected, the disease is relatively common, and approval and reimbursement go through a different procedure known as the AMNOG process. For more common diseases, an additional benefit (Zusatznutzen) must be demonstrated during the approval process." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Have you heard about issues with reimbursement from private insurance companies?", - a: "We\u2019ve heard that private insurance companies can make it difficult to get treatments reimbursed, especially experimental ones. One of our colleagues almost had to go to court to get his treatment reimbursed by his private insurer, which was quite expensive. Eventually, he switched to public insurance, but the situation was difficult." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Why did your colleague have issues with private insurance?", - a: "He was privately insured, but the treatment was very expensive, around \u20AC16,000 per month, and the insurance company was reluctant to cover it." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Do you need legal information for your project?", - a: "Both. We want to be well-informed to identify potential obstacles early on, such as legal restrictions or bans on altering certain chromosomes. Although we won\u2019t be running clinical trials, understanding the regulatory landscape is crucial for our future planning." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "How does genetic counseling and testing work for CF?", - a: "Genetic counseling and testing are usually covered by health insurance if there\u2019s a medical reason, such as a family history or suspicion that the parents might be carriers. However, if both parents are healthy and there\u2019s no family history of CF, insurance might not cover the tests." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Are there differences between public and private insurers for genetic tests?", - a: "Public insurance has different regulations than private insurance, but I\u2019m not entirely sure if that leads to different decisions regarding genetic testing. I can look into the public insurance regulations if that would be helpful." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Is newborn screening for CF covered by health insurance?", - a: "Yes, newborn screening is part of a set of health examinations for children and adolescents, regulated under \xA726 SGB V (Social Security Code). Since it\u2019s part of the regular screening process, it\u2019s covered by health insurance without additional requirements." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "How does public insurance handle CF treatment when a test comes back negative?", - a: "Public health insurance works with standardized guidelines, and if a test comes back negative, it may no longer meet the criteria for coverage. However, if a doctor reconfirms the diagnosis, the treatment should continue to be covered." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Is there no rule that says genetic diseases, once diagnosed, should remain covered since genetics don\u2019t change?", - a: "In theory, yes. But the guidelines are usually based on medical evidence at the time, and re-testing can sometimes lead to complications in terms of coverage if the result differs. However, with proper medical documentation, it should be possible to maintain coverage." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Have recent changes in gene therapy costs impacted public health insurance?", - a: "Not much has changed. It\u2019s a political and societal question\u2014how willing are we to finance these expensive therapies? Right now, public health insurance operates under an economic efficiency principle, meaning the most cost-effective treatments are preferred. But if gene therapies become the only treatment option for certain conditions, they will likely have to be included in the coverage, and it could be a challenge for the system. There are also ongoing price negotiations between insurers and manufacturers." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Do patents play a significant role in keeping gene therapy costs high?", - a: "Yes, patents certainly influence the price, but the production of gene therapies is inherently expensive due to the complex research and manufacturing process." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Would private supplemental insurance be an option for covering expensive gene therapies?", - a: "It\u2019s possible that private supplemental insurance could cover these therapies if public health insurance doesn\u2019t. However, this raises concerns about equity and accessibility. If public insurance doesn\u2019t cover it, the burden might fall on private insurance, which could create disparities in access to treatment." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Is gene therapy research driven more by biology or medicine?", - a: "It\u2019s definitely interdisciplinary. Both biologists and medical professionals contribute. For example, at our university, the medical and biology faculties collaborate closely. Biologists usually handle the research, while medical professionals focus more on clinical applications." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Do biologists or medical professionals develop gene therapies?", - a: "In terms of development, it\u2019s mainly biologists and biotechnologists. Medical professionals get involved primarily in clinical trials. Some doctors do research, but they\u2019re often needed in hospitals, so hands-on development is mostly handled by molecular biologists or biotechnologists." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Does research in genome medicine and gene therapies come from biology, medicine, or both?", - a: "It\u2019s mainly interdisciplinary. A lot of funding comes from industry, like BioNTech, or foundations like Mukoviszidose e.V., which funds research on cystic fibrosis. But in terms of practical research, it\u2019s usually biologists or biotechnologists. Without industry support, research can struggle due to a lack of funding, so having backing is essential." - } - ) - ] }), - summary: "Our discussion addressed the complexities of cystic fibrosis (CF) treatments, focusing on gene therapy and health insurance processes. We learned about the regulatory challenges gene therapies face, particularly regarding the European Medicines Agency (EMA) and the AMNOG process for reimbursement assessments. Public insurers impose stricter guidelines than private insurers, emphasizing the importance of early intervention in CF and the need for adaptable policies for atypical cases. We recognized the high costs associated with gene therapies and incorporated cost-benefit analysis into our project planning. Following the interview, we refined our approach to include straightforward delivery methods and attended a GxP course for regulatory compliance. Engaging with start-ups further informed our practical implementation strategies, ensuring our project aligns with both scientific and regulatory needs.", - months: "june", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/zoom-nicole.webp" - }, - { - vorname: "Visiting Achema ", - nachnname: "in Frankfurt", - pictureurl: pics["frankfurtmesse"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Industry", - heading: "Some of our team members attended the fair in Frankfurt to network with industry leaders", - interviewtabid: "frankfurtmesse", - cardtext: "", - quote: "Achema was a great experience. I got to meet a lot of interesting people and learn about their projects. It really motivated me for my own work.", - quoteNachname: "Wiesner, Teammember", - quoteVorname: "Lisa", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "At Achema 2024, we aimed to connect with industry leaders and innovators, to explore potential collaborations and gather insights on laboratory practices. Our goal was to enhance our understanding of cutting-edge technologies and resources in the life sciences sector." })], - insights: [ - /* @__PURE__ */ jsx71("p", { children: "During our time at Achema, we gained valuable insights into life sciences, with a strong focus on LNP production and lab best practices. Our discussions with experts, including Jutta from a life science company, provided us with innovative solutions and cutting-edge techniques. Her insights into current trends helped us better understand how to advance our project." }), - /* @__PURE__ */ jsx71("p", { children: "Through various expert interactions, we deepened our knowledge of LNP production, learning key manufacturing techniques essential for developing effective therapeutics. These insights allowed us to optimize our production methods, ensuring more efficient processes moving forward." }), - /* @__PURE__ */ jsx71("p", { children: "Understanding rigorous quality control processes was another key takeaway, enabling us to implement checks that will boost the reliability and safety of our therapeutics. These comprehensive insights have not only supported our current goals but also prepared us for future challenges, equipping us with the tools to navigate the complexities of research and therapeutic development." }) - ], - implementation: [/* @__PURE__ */ jsx71("p", { children: "Discussions with industry experts have provided invaluable insights into the production of LNPs[LINK LNPcycle], a crucial aspect of our project. We have identified innovative manufacturing techniques and quality control procedures that we can integrate into our processes. This knowledge not only supports our immediate objectives but also positions us to overcome future challenges in developing effective therapies." })], - summary: "", - months: "june" - }, - { - vorname: "Katrin", - nachnname: "Westhoff", - job: "physiotherapist", - affiliation: "Independent", - pictureurl: pics["westhoff"], - tag: "Medical Professional", - heading: "In-Depth Visit to Specialized Physiotherapist for CF Breathing Therapy", - interviewtabid: "westhoffvisit", - cardtext: "", - language: "de", - quote: "Children are the world's best \u201Cmucus hiders\u201D.", - aimofcontact: [/* @__PURE__ */ jsxs46("a", { children: [ - "During the last interview with ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "westhoffinv", text: "Katrin Westhoff" }), - ", she invited us to join a few physiotherapy sessions \u2013 not just as spectators but as participants. We gladly accepted and visited her in her practice. Over a few hours, we took part in four sessions with different children \u2013 not all of them CF patients. " - ] })], - insights: "During the sessions, we could ask Katrin as well as the respective parents and children questions. We learned that breathing therapy is also useful for other illnesses and that you can easily do some of the exercises yourself. Despite having cystic fibrosis, the children were better at the breathing exercises than we and Katrin were! The sessions take 30 to 60 minutes and include both manual therapy and playful elements to help engage the children. Most older children range from mildly unhappy to enthusiastic, but babies often cry during the treatments as it feels uncomfortable. This is often hard on the parents even though the treatment brings good results. A lot of children tend to hide that they have mucus sitting in their lungs by suppressing coughs. Especially with young children, it is important to stay on top of it and do regular breathing therapy even if it seems like it is currently not necessary. We also learned about the various informational material aimed at children to help explain therapies and symptoms to them and what accessories for breathing therapy there are. For example, a flutter is to train breathing out forcefully by breathing against a small weight and a binder can be worn at night to promote deep breathing. ", - implementation: "The most important thing was that both Katrin and the parents agreed that the children were able to inhale at an early age and that there were generally no physical problems with inhalation in general. This reinforced our decision to work towards delivery by inhalation. It was very interesting to see the different ways children deal with their exercises and hear about the progress they made. ", - text: [/* @__PURE__ */ jsxs46("ol", { children: [ - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Robin (>10)" }), - /* @__PURE__ */ jsx71("p", { children: "Robin will soon start 4th grade and takes modulators. Since taking them, many problems have subsided. No regular pneumonia with long hospital stays and the mucus comes out easier. Nevertheless, Robin still goes to physiotherapy regularly to do manual breathing therapy to get the mucus out. Katrin tells us how the mucus changes color the longer it stays in the lungs. The new mucus is white, and the older mucus gets yellow first and then gets darker with time until it reaches a black color. Nowadays, Robin rarely has dark mucus or clumps, but we can still hear the rustling as Katrin starts the autogenous drainage (Autogene Drainage) by pressing on Robin's chest. The goal is to get out the mucus deep in the lungs. To do that, Robin must repeat the routine \u2013 breathing in deeply, holding, breathing out \u2013 multiple times and then cough and spit the mucus out. Sometimes it works, but other times the mucus does not come out easily. While according to Katrin the autogenous drainage is the gold standard, they do other useful exercises, too. For example, pressing the Vojta points (which the children call \u201Cthe magic points\u201D) on the chest to activate a deep breathing reflex and get air into parts of the lungs that may not have been used previously. Or physical activity such as climbing a few steps on a climbing ladder and hanging on it to stretch the thorax muscles." }) - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Sam (<10) & Alex (<10)" }), - /* @__PURE__ */ jsx71("p", { children: "Sam and Alex are siblings and do not have CF but another affliction that causes a persistent cough. They come together with a parent twice a week and do hanging exercises from the ceiling, nasal showers with needleless syringes, and the \u201Cmagic points.\u201D Katrin also checks their lungs for mucus in a similar manner to autogenous drainage. We, too, tried to do the nasal shower, and being a grown-up really does not guarantee being able to do that properly! This highlighted that the children know all their exercises by heart at a young age. On request, their parent told us that the physiotherapy made a big difference for both of them." }) - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Toni (<5)" }), - /* @__PURE__ */ jsx71("p", { children: "Toni has a light version of CF and has been doing physiotherapy with Katrin since shortly after birth. In contrast to most children we met or talked about, Toni refuses medication. Modulators are a possibility, but them and 'everything stinky' is a no-go, even though inhaling would be very beneficial due to the mucus buildup. Most exercises result in crying and screaming, which is very exhausting for the child. Due to the light nature of Toni's variant, they are not in danger, but a permanent therapy would be very beneficial." }) - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Chrissi (>10)" }), - /* @__PURE__ */ jsx71("p", { children: "Chrissi takes modulators and will soon take a trip to a water park with some friends. Katrin teaches us that when the children do not breathe out properly, air stays in the lungs and causes hyperinflation \u2013 with which it is actually harder to float in water! After the manual drainage, Katrin gets all of us glasses with water and dish soap and straws. Blowing bubbles is a playful way to train how to properly breathe out by either trying to blow bubbles as long as possible or trying to make an existing bubble as big as possible!" }) - ] }) - ] })], - summary: "In the visit with Katrin Westhoff, we participated in physiotherapy sessions for children, including those with cystic fibrosis (CF). We observed that breathing therapy is beneficial for various illnesses and learned techniques that can be practiced at home. Sessions last 30 to 60 minutes, combining manual therapy with playful elements. While older children engaged well, infants often found the exercises uncomfortable. Importantly, both Katrin and parents noted that children could inhale without issues from an early age, reinforcing our focus on inhalation delivery methods for therapies.", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/besuch-westhoff/untitled-design.png", - months: "june" - }, - { - title: "Dr.", - vorname: "Marco", - nachnname: "Radukic", - job: "Postdoc at AG Cellular and Molecular Biotechnology", - affiliation: "University Bielefeld", - pictureurl: pics["marco"], - tag: "Academia", - heading: "Optimizing LNP Transfection: Insights into working with LNP Kits", - interviewtabid: "radukic", - language: "de", - cardtext: "", - quote: "x", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "The primary objective was to tackle challenges in LNP transfection related to manufacturing and cell transfection methods. The focus was on improving LNP formulation and application protocols to enhance gene delivery effectiveness, and on acquiring specialized expertise to optimize these processes. Dr. Radukic from Bielefeld University provided crucial insights for troubleshooting and protocol optimization to enhance LNP efficacy. " })], - insights: [/* @__PURE__ */ jsx71("p", { children: " Dr. Radukic told us that the efficiency of LNPs is significantly affected by lipid-to-nucleic acid ratios and that optimizing ratios like 22:1 versus 10:1 can improve transfection. pH adjustments and buffer composition (e.g., modifying sodium acetate solutions) are also crucial for LNP performance. Proper storage at 4 \xB0C, precise pipetting, and thorough mixing are essential to maintain LNP functionality. In addition, he suggested quality control measures such as fluorescence testing, zeta potential, and light scattering analyses help ensure our LNP is stable. Additionally, spray drying was evaluated for potential use in long-term LNP stabilization. " })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "Incorporating the insights Dr. Radukic and advice from recent consultations, we adjusted the lipid-to-nucleic acid ratio from 22:1 to 10:1 to enhance efficiency and modified the pH and concentration of sodium acetate solutions for better packaging. Storage conditions were strictly managed at 4 \xB0C, and pipetting/mixing techniques were refined to ensure quality consistency. Quality control was expanded to include fluorescence testing, zeta potential measurements, and light scattering, alongside cytotoxicity tests. These improvements not only address transfection challenges but also strengthen our foundation for future LNP applications. " })], - summary: "The aim of the contact was to address challenges in LNP transfection and improve formulation protocols for enhanced gene delivery. Dr. Radukic highlighted the importance of lipid-to-nucleic acid ratios, recommending adjustments like 10:1 for better transfection efficiency. He also emphasized optimizing pH and buffer composition, as well as strict storage and mixing practices. Additionally, quality control measures such as fluorescence testing and zeta potential analysis were suggested to ensure LNP stability. These insights were implemented into the project, improving transfection efficiency and paving the way for future LNP applications.", - months: "June" - }, - { - title: "Prof. Dr.", - vorname: "Erhard", - nachnname: "Wischmeyer", - job: "Research Group Cellular Neurophysiology", - affiliation: "University Bielefeld", - pictureurl: pics["wischmeyer"], - tag: "Academia", - heading: "Discussion on Techniques for Measuring CFTR Channel Functionality", - interviewtabid: "patchclamp", - cardtext: "", - language: "de", - quoteNachname: "Guckes", - quoteVorname: "Isabell", - quote: "Initially we hadn't considered patch-clamp measurements in our set of downstream applications, but it\u2019s proven to be an exceptionally sensitive method for assessing CFTR conductance.", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "As part of our project, we aimed to demonstrate the functionality of the CFTR ion channel, after restoring it through our optimized Prime Editing, by using Patch-Clamp measurements. To ensure the optimal use of the Patch-Clamp and to gain an insight into electrophysiology, we asked experts from the medical faculty at Bielefeld University to critically examine our measurement planning. Prof. Dr. Erhard Wischmeyer, an experienced scientist in this field who has worked at the Max Planck Institute for Biophysical Chemistry in G\xF6ttingen, the development site of the Patch-Clamp technique", - /* @__PURE__ */ jsx71(ScrollLinkWithChild, { targetId: "desc-1", children: /* @__PURE__ */ jsx71("sup", { children: "1" }) }), - ", and currently leads the Cellular Neurophysiology working group at Bielefeld University, seemed to be an ideal interviewee. His knowledge and experience promised valuable insights and advice for conducting and optimizing our experiments. " - ] })], - pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/hp-patch-clamp/wischmeyer-interview.webp", - insights: [/* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsxs46("p", { children: [ - "Prof. Dr. Wischmeyer taught us about the workflow of the Patch-Clamp technique. He highlighted the need for specialized electrodes and glass pipettes that must form a smooth surface devoid of the extracellular matrix (ECM). Additionally, he pointed out that measuring CFTR conductivity with the Patch-Clamp technique poses a technical challenge due to the low currents involved", - /* @__PURE__ */ jsx71(ScrollLinkWithChild, { targetId: "desc-2", children: /* @__PURE__ */ jsx71("sup", { children: "2" }) }), - ". He recommended using expression vectors for overexpressing the CFTR gene in HEK cells instead of epithelial cells from a nasal swab to achieve better results. Since Patch-Clamp measurements require a very sensitive testing environment, even challenging for the most experienced scientists, Prof. Dr. Wischmeyer invited us to conduct the measurements together with members of his group." - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "In addition to the Patch-Clamp technique, Prof. Dr. Wischmeyer informed us about E-cis measurements as a current electrophysiological measurement method alongside the Patch-Clamp technique. This method allows the measurement of the membrane potential above and below a monolayer of confluent cells", - /* @__PURE__ */ jsx71(ScrollLinkWithChild, { targetId: "desc-3", children: /* @__PURE__ */ jsx71("sup", { children: "3" }) }), - ". Consequently, it enables precise measurement of conductivity dependent on CFTR expression. " - ] }) - ] })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "We decided to use HEK293T[Link] cells lines which do overexpress the correct CFTR and those which express CFTR with F508del mutation for the Patch-Clamp measurements[LINK Methodspatchclamp]. To conduct the Patch-Clamp experiments, we contacted the Cellular Neurophysiology group to perform the necessary measurements. It was a pleasure to work together with, who is working as a post-doc for the Cellular Neurophysiology working group at Bielefeld University. He taught us about the Patch-Clamp method and spent his valuable time supporting our project by guiding our Patch-Clamp measurements. " })], - pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/hp/bild-interssierte-wissenschaftler-oho.webp", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/bild-patch-clamp-isi-oliver.webp", - references: /* @__PURE__ */ jsx71(WischmeyerSources, {}), - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "Can you educate us about your academic career?", a: "I did my doctorate 30 years ago at Bielefeld University and then worked at the Max Planck Institute in G\xF6ttingen a lot with the patch-clamp technique. Today, I\u2019m head of the working group Cellular Neurophysiology of the medicine faculty of Bielefeld University." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What new methods are currently available in electrophysiological research?", a: "One of the latest methods is E-cis measurements. These make it possible to examine a monolayer of confluent cells and to measure the membrane potential both above and below. The change in conductivity can be analyzed for instance as a function of CFTR expression." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How can we proceed with the investigation of CFTR in different cell cultures by patch-clamp?", a: "You can study CFTR expression in HEK cells, which allows for a measurable change in chloride conductance. I am not sure whether we will be able to investigate CFTR sufficiently in epithelial cells which you want to collect from your CF patient friend and your team members. That is something we have to try out." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How challenging is the measurement of CFTR conductance in epithelial cells?", a: "CFTR in epithelial cells has very low conductivity in the femtoampere range. Therefore, extremely sensitive testing is necessary to obtain meaningful results." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How challenging is the patch-clamp measurement of CFTR conductance in epithelial cells?", a: "The project could take at least one year, even for experienced researchers." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What technical challenges do we face in implementing the patch-clamp measurements?", a: "One of the biggest challenges is measuring the current across the entire cell, as we do not want to carry out single-channel measurements, but rather record the current across cells with a strongly expressing vector carrying the gene for the ion channel." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What requirements must be met for cultivation and transfection before the patch-clamp measurement?", a: "You have to cultivate the cells on poly-lysine and laminin and use round coverslips of 10 mm diameter to prepare them for measurement. For identification of positive transfectants, we use GFP co-transfected cells in our working group, you should think of something like that as well. A transfection rate of 10 % is sufficient to gain enough cells for the measurement. You can think of optimizing your transfection by using Lipofectamine2000, which works well for our working group." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Who could help us with the patch-clamp measurements?", a: "The patch-clamp devices are heavily utilized in our working group, so you probably cannot perform measurements on your own. However, postdocs could support you for some measurements. Dr. Oliver Dr\xE4ger is available as a contact person of my working group." }) - ] }), - summary: "In summary, through the interview with Prof. Dr. Wischmeyer and the collaboration with his employee Dr. Oliver Dr\xE4ger, we gained valuable insights and optimized our approach to effectively investigate and measure the functionality of the CFTR ion channel, thereby determining the efficiency of our prime editing strategy.", - months: "june" - }, - { - vorname: "Joshua", - nachnname: "Bauder", - job: "parent and activist", - affiliation: "CF vests worldwide", - pictureurl: pics["joshua"], - tag: "Patient", - heading: "Interview with a CF Parent and Global Advocate on Worldwide Support and Perspectives", - interviewtabid: "joshua", - cardtext: "", - language: "en", - quote: "We\u2019ve had to sit by and watch people die, knowing that better treatment exists but is inaccessible. ", - aimofcontact: [ - /* @__PURE__ */ jsxs46("p", { children: [ - "We contacted the organization ", - /* @__PURE__ */ jsx71("a", { href: "https://www.cfvww.org/", children: "CF vests worldwide" }), - " with the aim to hear more diverse perspectives beyond Germany. After the founder Rod connected us with Joshua, Joshua was so kind to conduct an interview with us not only about the perspectives and stories he heard but also about his personal experiences with his daughter and living in a country where CF care is very hard to get. Joshua (from the USA) and his family live in Thailand where he and his wife run a children\u2019s home. Their daughter is the only child with CF." - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "It is possible to learn more about Joshua and his family though the ", - /* @__PURE__ */ jsx71("a", { href: "https://thebonnellfoundation.org/cf-vests-worldwide/", children: "podcast of the Bonnel foundation" }), - "." - ] }) - ], - insights: [/* @__PURE__ */ jsxs46("p", { children: [ - " Joshua showed us just how dire the situation is for CF patients is in some regions. It was shocking to hear there is only one doctor knowledgeable about CF in Thailand and that many doctors dismiss the possibility of CF due to racial bias and misinformation. Additionally, we confirmed how much the accessibility of care depends on the healthcare system, as we already touched on during the interview with ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "nicole", text: "Nicole Friedlein" }), - ",. On the parenting level, Joshua brought in many perspectives contrary to what we previously heard. In the interview with ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "maxfirst", text: "Max" }), - ",, we learned he vehemently avoids ponding water while Joshua\u2019s daughter is allowed to roam around with no such restrictions. Neither have chronic infections." - ] })], - implementation: [/* @__PURE__ */ jsxs46("p", { children: [ - "The interview with Josh made us realize we too needed to look at the reason why we chose F508del. Did we, too, fall for bias? Despite a change of target not being feasible anymore, we looked into it and traced back our steps that led to our decision. We did not find as much information about other mutations when first researching cystic fibrosis, especially in the context of prime editing. Mattijs Bulceans's paper on targeting the mutations L227R and N1303K ", - /* @__PURE__ */ jsx71(TabScrollLink, { tab: "joshua", scrollId: "desc-1", num: "1" }), - " was one of few papers. After explicitly searching for cystic fibrosis records for specific countries and regions, we uncovered a moderate number of papers examining CF in Asia and other regions we previously did not know much about. The very first article supported Joshua's hypotheses and painted a sad picture: Among other things, it describes the case of a four-month-old boy who was diagnosed with cystic fibrosis. Nothing unusual in itself, but the circumstances are depressing. Two of the three siblings born before him died within months of birth and had previously presented with symptoms of cystic fibrosis. He was the first to be diagnosed. A sweat test aimed at cystic fibrosis was not available at the hospital, so one was improvised. Later on, a genetic test revealed the presence of 508del. ", - /* @__PURE__ */ jsx71(TabScrollLink, { tab: "joshua", scrollId: "desc-2", num: "2" }), - " We found ourselves and our lack of knowledge in good company as we found papers as new as from 2020 (14 years after the previously mentioned paper) containing statements such as \u201Crecent reports suggest that CF does occur in Asia\u201D ", - /* @__PURE__ */ jsx71(TabScrollLink, { tab: "joshua", scrollId: "desc-3", num: "3" }), - ". Fortunately, there is a rising number of cystic fibrosis experts for Asia and other previously overlooked regions such as Africa. ", - /* @__PURE__ */ jsx71(TabScrollLink, { tab: "joshua", scrollId: "desc-4", num: "4" }), - " We chose to not only look at the scientific data but also into anecdotal evidence. To find the latter, we searched official and private websites and chatrooms for information and experiences of patients. In the end, we found narratives from most ethnic backgrounds about being dismissed and often misdiagnosed. Of course, this is not an occurrence unique to cystic fibrosis. Our conclusion is that yes, we did fall for bias. But regardless of ethnicity, 508del occurs and is overall the most prevalent mutation as was confirmed in our interview with CF expert Sriram .... This experience was uncomfortable as we felt the pressure to be thorough and deliver a perfect project. What would have been more devastating than realizing we made a wrong choice at the very core? We made the conscious decision to invest our resources into figuring out if we indeed made a mistake and we want to encourage other teams to do the same. iGem stands for innovation \u2013 but also for growth. Especially in the context of Integrated Human Practices, it is important to examine both the positive and the negative to create a project with a future. " - ] })], - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/joshua-zoom.webp", - references: /* @__PURE__ */ jsx71(JoshuaInterviewSources, {}), - summary: "Joshua, a CF parent living in Thailand, shared his experiences about the severe challenges of accessing CF care in regions like Southeast Asia. His story highlighted the racial bias and lack of medical knowledge about CF in these areas. This interview prompted the team to reflect on their focus on the F508del mutation, questioning if their research was biased towards more commonly studied mutations. After revisiting their research process, they found that the F508del mutation remains globally relevant, yet the experience reinforced the importance of addressing gaps in healthcare and research for underrepresented regions.", - months: "July" - }, - { - vorname: "Close the Loop", - nachnname: "", - pictureurl: pics["placeholder"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Getting Acquainted with Cystic Fibrosis", - interviewtabid: "loop", - cardtext: "", - quoteNachname: "K\xF6hler, Teammember", - quoteVorname: "Vera", - quote: "Firstly, we discussed various project ideas, including the use of magnetic microswimmers for targeted medical applications, gene editing approaches for cystic fibrosis, treatments for muscular dystrophy and combating cyanobacteria with algae.", - type: "meta", - summary: "", - months: "july" - }, - { - title: "Prof. Dr.", - vorname: "Stefan", - nachnname: "Hammer", - job: "Junior Professor of Organic Chemistry and Biocatalysis", - affiliation: "University Bielefeld", - pictureurl: pics["hammer"], - tag: "Academia", - heading: "Insights from the discussion on enzyme engineering", - interviewtabid: "hammer", - cardtext: "", - language: "de", - quote: "x", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "After we had developed a number of theroetic elaborations, feedback with corresponding expertise in the field of enzyme engineering was of exceptional importance to us. For this reason, we wanted to discuss our approaches with Prof. Dr. Hammer." })], - insights: [ - /* @__PURE__ */ jsx71("p", { children: "In our discussion with Prof. Dr. Hammer discussion with Prof. Dr. Hammer about different theoretical approaches we had developed:" }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsx71("li", { children: "PAM engineering" }), - /* @__PURE__ */ jsx71("li", { children: "Chimeric protein" }), - /* @__PURE__ */ jsx71("li", { children: "Phage-Assisted Continuous Evolution (PACE)" }), - /* @__PURE__ */ jsx71("li", { children: "Rational Design: Mutation of zinc-finger" }) - ] }), - /* @__PURE__ */ jsx71("p", { children: " We discussed whether a rational design, supported by structural simulations with AlphaFold 3, or the construction of a chimeric protein would be the superior approach. The possibility of using protein evolution via PACE or conventional methods was demonstrated, even if these approaches are very time-consuming. An important topic was the analysis of homologous mechanisms by sequence alignments to identify structural similarities in catalytic centers. In addition, we discussed the role of zinc finger domains and targeted mutations, such as substitution to alanine, in the function of optimization. It was also emphasized that mutations should be evaluated in enzymes with nickase activity, although the screening for this is very laborious. The reliability of AlphaFold predictions was evaluated positively despite the complexity of the enzymes. One promising approach could be the transfer of mutations to homologous proteins. " }) - ], - implementation: [ - /* @__PURE__ */ jsx71("p", { children: "We learned from the discussion that we need to take a rational approach and consider the following conclusions:" }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsx71("li", { children: "A rational approach could be the transfer of mutations to homologous proteins" }), - /* @__PURE__ */ jsx71("li", { children: "For rational design, structural simulation using AlphaFold 3 could be used to model and understand specific protein structures" }), - /* @__PURE__ */ jsx71("li", { children: "Homologous mechanisms & sequence alignments" }), - /* @__PURE__ */ jsx71("li", { children: "Analysis of structural similarities in catalytic centers by sequence comparisons" }), - /* @__PURE__ */ jsx71("li", { children: "Using Ala or Gly for substitution" }), - /* @__PURE__ */ jsx71("li", { children: "Development of a nickase assay" }) - ] }), - /* @__PURE__ */ jsx71("p", { children: "We developed our mutation candidates on this basis [link zum Cycle oder New Part ?]" }) - ], - summary: "In our discussion with Prof. Dr. Hammer, we explored several theoretical approaches in enzyme engineering, including PAM engineering, chimeric proteins, Phage-Assisted Continuous Evolution (PACE), and rational design involving zinc-finger mutations. We evaluated the potential of using structural simulations with AlphaFold 3 and the construction of chimeric proteins. The conversation highlighted the importance of analyzing homologous mechanisms through sequence alignments to identify structural similarities in catalytic centers. We also discussed targeted mutations, such as substitutions to alanine, and the development of a nickase assay. Overall, we concluded that transferring mutations to homologous proteins is a promising rational approach for optimizing enzyme function.", - months: "July" - }, - { - vorname: "Steffen Bira and", - nachnname: "Serra G\xFCrcan from Corden Pharma", - job: "Associate director", - affiliation: "Corden Pharma", - pictureurl: pics["corden"], - tag: "Industry", - heading: "Lipid Nanoparticles in Gene Therapy: perspectives from Corden Pharma ", - interviewtabid: "corden", - cardtext: "", - language: "en", - quote: "The stability of LNPs depends on the specific lipid and RNA components used, but ensuring the overall stability of a new formulation requires rigorous empirical testing under various conditions.", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "The primary aim of the communication with Steffen Bira and Serra G\xFCrcan from Corden Pharma was to explore the technical aspects and practical applications of Lipid Nanoparticles (LNPs) in advanced medical therapies, including gene therapy and inhalation treatments. The conversation focused on the possibility of using Corden Pharma\u2019s LNP starter kits, understanding the factors affecting the stability of LNPs, and exploring options for incorporating antibodies into LNPs to target specific cells. " })], - insights: [ - /* @__PURE__ */ jsxs46("p", { children: [ - "The discussion with ", - /* @__PURE__ */ jsx71("a", { href: "https://cordenpharma.com/", children: "Corden Pharma" }), - ", led by Steffen Bira and Serra G\xFCrcan, offered key insights into LNPs and their applications. While Corden Pharma hasn't extensively explored spray drying for LNPs, they recommended consulting specialists to evaluate its feasibility, especially concerning lipid stability during the process. Stability was highlighted as crucial for inhalation therapies, requiring thorough testing of entire LNP formulations, possibly aided by cryoprotectants and controlled temperatures. Corden Pharma's LNP starter kits are based on well-researched lipid combinations designed for stability and encapsulation efficiency, making them suitable for multiple experiments. They suggested that modifying lipid components, such as incorporating cholesterol derivatives, could enhance cellular uptake and overall efficacy. Additionally, they confirmed the possibility of incorporating antibodies into LNPs and emphasized the importance of considering intellectual property when selecting lipids for commercial use. They also showed openness to collaboration, including offering discounts in exchange for recognition in publications. The interaction with Corden Pharma provided several key insights:" - ] }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Spray Drying Feasibility:" }), - " Corden Pharma hasn\u2019t explored spray drying extensively; consultation with specialists is recommended for assessing feasibility and lipid stability." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "LNP Stability:" }), - " Stability of LNPs, particularly for inhalation therapies, needs empirical testing, considering shear forces and the potential use of cryoprotectants or temperature control." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Lipid Selection in Kits:" }), - " Starter kits use well-researched lipid combinations, tested for stability, encapsulation efficiency, and potency. They provide materials for multiple experimental batches." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Lipid Modifications:" }), - " Exploring alternative lipids (e.g., cholesterol derivatives) could enhance stability and cellular uptake, tailored to project needs." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Antibody Incorporation:" }), - " Antibodies can be incorporated into LNPs during preparation or afterward, depending on targeting requirements." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Intellectual Property:" }), - " IP considerations are crucial when selecting lipids for LNP formulations, as many lipids are patented." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Collaboration Opportunities:" }), - " Corden Pharma is open to offering discounts or forming partnerships, with recognition in publications or acknowledgments." - ] }) - ] }) - ], - implementation: [/* @__PURE__ */ jsx71("p", { children: "The insights from Corden Pharma had a major impact on our project, especially in selecting lipids critical for LNP stability and optimizing gene therapy applications. Initially, we used the Cayman kit, but it was suboptimal for delivering our Primeguide. After receiving feedback, we switched to Corden Pharma\u2019s kit #2, which includes advanced lipid components like cationic lipids that improve cellular uptake and enhance LNP stability. This shift has significantly boosted the efficiency and robustness of our formulations. Additionally, Corden Pharma's guidance on lipid modifications and antibody incorporation opened new possibilities for targeted therapies. These insights not only improved our technical approach but also paved the way for potential collaborations, offering cost benefits and increased scientific recognition. The feedback will continue to shape our testing process and improve therapeutic delivery. " })], - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "Is it possible to dry the LNPs designed by Corden Pharma, such as through spray drying?", a: "It has not been confirmed whether LNPs have been successfully dried using spray drying. Further investigation or consultation with a specialized company would be required to determine feasibility." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How is stability ensured in LNPs, particularly for use in inhalation therapy?", a: "The stability largely depends on the specific lipid and RNA components used in the formulation. While the stability of individual lipids can be assessed, the overall stability of a new LNP formulation requires empirical testing under various conditions." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How are lipid combinations selected for inclusion in the LNP starter kits, and what testing is conducted?", a: "Lipid combinations in the LNP starter kits are selected based on known interactions, particularly in formulations containing RNA. Testing is conducted to assess physical-chemical properties, encapsulation efficiency, and overall potency. The kits are designed to provide sufficient material for multiple experimental batches." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Is it advisable to modify the lipid components in an existing LNP formulation?", a: "It is generally advisable to consider alternative lipid components, as different lipids may offer improved stability or efficacy. However, the specific needs of the project will dictate whether changes are necessary." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Is it possible to incorporate antibodies into LNPs, and what is the recommended approach?", a: "Yes. Incorporation of antibodies into LNPs is possible. This can be achieved either during the initial preparation phase or by incubating antibodies with LNPs after their formation, depending on whether surface or internal localization of antibodies is desired. Reference to specific studies may provide further guidance." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What is Corden Pharma's position on projects involving gene therapy?", a: "Corden Pharma operates as a service provider, focusing on the manufacturing of active pharmaceutical ingredients (APIs) and excipients rather than developing therapeutic products. Consideration should be given to the intellectual property status of the lipids used in LNP formulations, particularly for commercial applications." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Is it possible to obtain a discount on LNP starter kits or establish a collaborative relationship with Corden Pharma?", a: "We would need to discuss this internally but generally we would be open to potential collaborations that could involve recognition in publications or other forms of acknowledgment, pending approval from relevant management." }) - ] }), - summary: "The primary goal of the communication with Steffen Bira and Serra G\xFCrcan from Corden Pharma was to explore the use of Lipid Nanoparticles (LNPs) in gene therapy and inhalation treatments. Corden Pharma recommended consulting specialists for assessing spray drying feasibility, while highlighting the importance of testing LNP stability under various conditions. Their LNP starter kits are optimized for stability and encapsulation efficiency, with potential for lipid modifications to enhance cellular uptake. They also confirmed that antibodies can be incorporated into LNPs and emphasized considering intellectual property when selecting lipids. Based on Corden Pharma\u2019s insights, we switched to their kit #2 for our project, hoping to improve the stability and efficiency of our LNP formulations. Their guidance also opened opportunities for targeted therapies and collaborations. This feedback will continue to enhance our testing and therapeutic approaches.", - months: "july", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/hp-corden-zoom.png" - }, - { - vorname: "'MINT Sommer'", - nachnname: "", - pictureurl: pics["mint"], - tag: "Education", - heading: "Innovative minds unite: iGEM's participation in 'MINT Sommer'", - interviewtabid: "mint", - type: "meta", - cardtext: "", - quote: "x", - summary: "", - months: "July" - }, - { - title: "Dr.", - vorname: "Svenja", - nachnname: "Vinke", - job: "PostDoc", - affiliation: "at Department of Genetics, Harvard Medical School, former iGEMer", - pictureurl: pics["svenja"], - tag: "Academia", - heading: "Insights on the Feasibility of PACE for Prime Editing Optimization", - interviewtabid: "svenja", - cardtext: "", - language: "de", - quote: "X", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "We contacted Svenja Vinke, a former iGEMer from Bielefeld, to get her insight and her opinion regarding the use of phage assisted continuous evoluWe contacted Svenja Vinke, a former iGEMer from Bielefeld, to get her insight and her opinion regarding the use of phage assisted continuous evolution (PACE, see engineering cycle 1[Link]) for our prime editing optimizations. Svenja works at the iGEM Safety and Security Committee. Additionally, she was part of the Biosafety and Security Award Team of Bielefeld University in 2016." })], - insights: [ - /* @__PURE__ */ jsx71("p", { children: "Svenja explained, that a PACE approach is not feasible to use for optimization of our nickase candidates because of several reasons:" }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsx71("li", { children: "Implementing a PACE system takes way too much time to use for our project." }), - /* @__PURE__ */ jsx71("li", { children: "Endonucleases might be too big to optimize using PACE." }), - /* @__PURE__ */ jsx71("li", { children: "Unspecific cutting or nicking in the bacterial genome kills the cells, which makes optimization of endonucleases very challenging." }), - /* @__PURE__ */ jsx71("li", { children: "Prime editing in E. coli cells is less effective compared to human cells, which might impair the evolution process." }) - ] }) - ], - implementation: [/* @__PURE__ */ jsx71("p", { children: "On the basis of Svenja\u2019s and other opinions on the topic, we decided not to try implementing a PACE system. " })], - summary: "We reached out to Svenja Vinke, a former iGEMer and Postdoc, to gain insights on using phage-assisted continuous evolution (PACE) for optimizing our prime editing. Svenja explained that a PACE approach is not feasible for our nickase candidates due to several reasons: it requires too much time, endonucleases are likely too large for optimization, unspecific cutting can kill bacterial cells, and prime editing is less effective in E. coli than in human cells. Based on Svenja's feedback and other expert opinions, we decided against implementing a PACE system for our project.", - months: "July" - }, - { - title: "Dr.", - vorname: "Eva-Maria", - nachnname: "Berens", - job: "Ethics Committee of Bielefeld University", - affiliation: "Bielefeld University", - pictureurl: pics["berens"], - tag: "Academia", - heading: "Bioethics: Best Practices for Handling Patient Data and Primary Cells", - /* Guidance from Ethics Committee on Best Practices for Patient Data and Primary Cells */ - interviewtabid: "berens", - cardtext: "", - language: "de", - quote: "The most important thing is a detailed letter of consent and a detailed privacy policy. This must explain to the patient as precisely as possible what happens to their cells and data, as well as the time span, which people are involved or have access to the cells and how.", - aimofcontact: "The aim of the interview was to get an answer to the question of whether we need an ethics vote for our project or not and to obtain guidelines for dealing with patient cells regarding ethical issues and data protection. ", - insights: "The discussion was very informative in terms of how we should approach this topic and focused primarily on the important factors that need to be considered when planning the handling of patient cells. These include which legal principles need to be observed, data protection, ethical considerations and, above all, detailed and specific information for the donor. It also made us look at the situation from many different angles and consider the risks of worst-case scenarios. Overall, this interview was very useful to us, and we were able to use the information we gained to develop a kind of guideline that allowed us to approach this sensitive topic, which was new to us, with a certain degree of confidence. ", - implementation: "Based on the knowledge we have gained, we have drawn up guidelines for our handling of the cells. We used this guide when handling the patient cells, to ensure they were handled in an ethically correct manner.", - summary: "This interview focused on the ethical and legal considerations of handling patient cells, we sought to determine whether our project required an ethics vote and to gather guidelines on data protection and patient consent. The expert emphasized the importance of providing patients with a detailed consent letter and privacy policy, clearly explaining how their cells and data will be used, who will have access, and the time span involved. This conversation helped us understand key legal and ethical principles, especially regarding transparency with donors. We used these insights to develop guidelines for handling patient cells, ensuring we approached this sensitive process with confidence and ethical care.", - months: "July", - pictureurl_interview: "https://static.igem.wiki/teams/5247/integrated-human-practices/interview-berens.webp" - }, - { - title: "M.Sc.", - vorname: "Mattijs", - nachnname: "Bulcaen", - job: "PhD Researcher at Laboratory for Molecular Virology & Gene Therapy", - affiliation: "KU Leuven", - pictureurl: pics["mattijs"], - tag: "Academia", - heading: "Visit Mattijs Bulcaen in Leuven and the Laboratory for Molecular Virology & Gene Therapy", - interviewtabid: "mattijsvisit", - cardtext: "", - language: "en", - quote: "x", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "After our first interview with Mattijs Bulcaen we stayed in contact via email and eventually visited him in Leuven at his laboratory. Here we wanted to gain further information about the CFTR F508del models and editing confirmation." })], - insights: [/* @__PURE__ */ jsx71("p", { children: "We spoke about approaches for testing CFTR F508del correction in models and methods of confirmation. In this context we talked about HEK293T cell lines[Link] established in his laboratory that stably overexpress CFTR wild-type and F508del. We also discussed how to handle these cell lines. He explained, that the CFTR is fused with a 3HA tag, that in wild-type CFTR would be exposed to the extracellular space and therefore can be used for immunohistochemical staining of the protein, showing correct protein processing and channelling. Also, this allows for a western blot to be made using 3HA antibodies. Functional recovery of CFTR can also be visualized using halide sensitive eYFP or organoid assay, the ladder Mattijs had established an automated readout. Furthermore, we talked about how to handle Sanger sequencing data to analyse edits and discussed the possibility to avoid the weaknesses of Sanger sequencing by using Nanopore sequencing instead. We asked about the applicability of patch clamp analysis in the context of CFTR and Mattijs said that, to his knowledge, it has not been used to test for successful editing in CFTR. Lastly Mattijs explained how he plans to deliver the prime editing complex to the patient, and we evaluated the advantages and disadvantages of delivery strategies, including our very own LNP approach." })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "When planning how to test and confirm editing by our own constructs, we were largely inspired by the information given to us by Mattijs. For example, we tested prime editing in the HEK293 cell lines we spoke about with Mattijs and used halide sensitive eYFP to check for CFTR function. Also, we tried differentiating wild-type and F508del cells using patch clamp. Unfortunately, a lot of the methods mentioned were not usable for us because of time constraints, but are still valuable for future projects and research built upon PreCyse. " })], - summary: "We visited Mattijs Bulcaen in Leuven to enhance our understanding of CFTR F508del models and editing confirmation. During the visit, we examined HEK293T cell lines that stably overexpress wild-type CFTR and the F508del variant. Mattijs demonstrated how to use a 3HA tag for visualizing protein processing and discussed methods for assessing CFTR functional recovery. We also compared Sanger and Nanopore sequencing techniques and evaluated delivery strategies for our prime editing complex. The insights from this visit guided our project, leading us to test prime editing in HEK293T cells using halide-sensitive eYFP. While some methods were not feasible due to time constraints, they laid the groundwork for future research in the PreCyse project.", - months: "july" - }, - { - vorname: "Collaborations", - nachnname: "iGEM Team Link\xF6ping ", - type: "meta", - pictureurl: pics["link\xF6ping"], - tag: "Other", - heading: "Cooperation to create a Lipid Delivery System Handbook", - interviewtabid: "handbook", - cardtext: "", - quoteVorname: "Kaya", - quoteNachname: "Lange", - quote: "We were genuinely excited when Link\xF6ping University approached us for collaboration. From the very beginning, their ideas resonated with us, and our shared enthusiasm laid a strong foundation for a productive partnership. We're happy to work together, also with the other teams, and explore new possibilities.", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "The initial contact for our collaboration came from the iGEM team 2024 of Link\xF6ping, Sweden, who approached us with a proposal to create a \u201CDelivery-Based Handbook\u201D[link Handbook]. Their goal was to reduce the steep learning curve associated with these technologies by sharing collective knowledge from multiple teams, including ours. We were excited to contribute and help future teams navigate these challenges more easily. The handbook would serve as a valuable tool. " })], - insights: [ - /* @__PURE__ */ jsx71("p", { children: "Throughout the collaboration, we gained significant insights, both scientific and collaborative. Initially, our meetings with the Link\xF6ping team and other participating teams - Patras, Radboud-University and TERMOSZ-Selye-HUN - were invaluable. These sessions allowed us to exchange ideas and learn how each team planned to use lipid-based delivery systems in their own projects. This mutual sharing of knowledge opened our eyes to new methodologies and potential applications of LNPs and liposomes. We also gained a deeper appreciation for the interdisciplinary nature of these systems. From the challenges of formulating stable particles to optimizing their efficiency in targeting cells, we realized the complexity of the field and how collaboration could help overcome many of these obstacles. By discussing our respective approaches, we were able to pool our expertise, which not only improved our understanding but also ensured that the handbook would be comprehensive and valuable for various iGEM teams, regardless of their specific project focus. In summary: " }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsx71("li", { children: "Learned different approaches to using LNPs and liposomes in iGEM projects." }), - /* @__PURE__ */ jsx71("li", { children: "Discovered new methods for optimizing LNPs." }), - /* @__PURE__ */ jsx71("li", { children: "Recognized challenges in particle stability and targeted delivery." }), - /* @__PURE__ */ jsx71("li", { children: "Gained appreciation for the interdisciplinary complexity of these systems." }), - /* @__PURE__ */ jsx71("li", { children: "Focused on documenting work to benefit future iGEM teams." }) - ] }) - ], - implementation: [/* @__PURE__ */ jsx71("p", { children: "The collaboration expanded our understanding of what's possible, inspiring us to consider new ideas for how we might integrate advanced techniques into our nanoparticle systems in future projects. The collaborative process also encouraged us to document our work more thoroughly, ensuring that future iGEM teams could benefit from both our successes and the challenges we encountered along the way. Beyond the technical improvements, the experience taught us the value of teamwork across borders and disciplines. Each team brought a unique perspective, and by working together, we were able to develop a resource that was far greater than the sum of its parts" })], - summary: "This collaboration with Link\xF6ping and the other iGEM teams was an incredibly enriching experience. Together, we developed a \u201CDelivery-Based Handbook\u201D[link Handbook] that will serve as a valuable resource for future teams working with LNPs and liposomes. The knowledge we gained not only enhanced our project but also strengthened our sense of community within iGEM. We are excited to present the handbook at the Grand Jamboree, where we will finally meet our collaborators in person and celebrate the culmination of our collective efforts. This partnership has shown us the immense power of collaboration, and we are proud to have been part of such a meaningful initiative.", - months: "several times", - pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/hp/linkoping-handbook-lnp.webp", - pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/hp/linkoping-cooperation-photo.png" - }, - { - title: "M.Sc.", - vorname: "Kai", - nachnname: "Sch\xFClke", - job: "PhD student Working group: Organic chemistry and biocatalysis\u202F ", - affiliation: "University of Bielefeld", - pictureurl: pics["kaihammer"], - tag: "Academia", - heading: "First insights of Enzym Engineering", - interviewtabid: "hammerkai", - language: "de", - cardtext: "", - quote: "x", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "When we realized that the creation of a nickase from the endonucleases in use was a desired outcome, it became necessary to talk to an expert in the field of enzyme engineering.\u202FOur first contact was Kai Sch\xFClke, a former iGEMer and PhD student under the guidance of ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "hammer", text: "Prof. Dr. Hammer" }), - ", who is the leader of the working group organic chemistry and bioanalytics at Bielefeld University." - ] })], - insights: [/* @__PURE__ */ jsx71("p", { children: "In the process of our interaction with Kai, we learned about the various methods employed in enzyme engineering. He demonstrated the complexity of this field of research and emphasized the importance of choosing the right approach. As a former iGEMer, Kai, inspired by his past experiences, is highly motivated and determined to develop an outstanding project. He pointed out that we cannot rely on classical methods such as directed evolution, but instead should use a rational approach to select mutation candidates. His insights and enthusiasm have encouraged us to think critically and pursue innovative solutions in our work. " })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "We incorporated Kai's insights into our project by shifting our approach to enzyme engineering. By focusing on a more targeted approach, we were able to refine our enzyme optimization process, ensuring that the modifications we made were based on informed, calculated decisions. This not only streamlined our research but also improved the chances of success by reducing the trial-and-error inherent in traditional methods. " })], - summary: "The team reached out to Kai Sch\xFClke, a former iGEM participant and enzyme engineering expert, for guidance on developing a nickase from the endonucleases in use. Kai emphasized the need for a rational, targeted approach rather than traditional methods like directed evolution. His insights helped the team refine their enzyme optimization process, making it more strategic and efficient. This shift reduced trial-and-error efforts and improved the chances of success, driving innovation in their project.", - months: "July" - }, - { - title: "M.Sc.", - vorname: "Nils", - nachnname: "Berelsmann", - job: "PhD Working group: Prof. Dr. Gabriele Fischer von Mollard ", - affiliation: "University of Bielefeld", - pictureurl: pics["nilshefe"], - language: "de", - tag: "Academia", - heading: "Adapting expression strategies for Fanzor nickases and exploring the potential of Pichia pastoris for SpuFz1 nickase variants ", - interviewtabid: "nberelsmann", - cardtext: "", - quote: "X", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "During our interview with ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "saito", text: "Makoto Saito" }), - " about fanzor[link fanzor], it became evident that the expression of our fanzor nickases in yeast is very promising. We then refined our expression strategy for the nickases and approached Nils Berelsmann, who is currently working on his PhD thesis with the yeast strain Pichia pastoris (SMD1163). This particular strain could be ideal for expressing the SpuFz1 nickase variants. Our main aim in contacting Nils was to gain insight and advice on yeast expression and he generously shared his expertise with us. Not only did he give us valuable advice, but he also provided us with the yeast strain itself, along with a corresponding expression vector for possible experiments. He also provided us with detailed protocols and the plasmid map of the vector and gave us practical tips on how to optimize the expression process. His support was invaluable in moving our work forward. " - ] })], - insights: [/* @__PURE__ */ jsx71("p", { children: "Pichia pastoris (SMD1163) is a promising option for expressing SpuFz1 nickase variants. Refining expression strategies based on expert insights is crucil for success. Nils provided practical tips on yeast expression, including optimizing growth conditions and fine-tuning induction protocols." })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "We adapted our expression strategy for Fanzor nickases in yeast by incorporating the Pichia pastoris strain (SMD1163) and the provided expression vector into our experiments. Following Nils' detailed protocols and plasmid map, we optimized key steps, enhancing expression efficiency and protein yield." })], - summary: "The team sought expert advice from Nils to optimize yeast expression for Fanzor nickases. Nils provided invaluable guidance on addressing potential challenges and troubleshooting the process. He supplied the Pichia pastoris (SMD1163) strain along with a suitable expression vector, crucial for expressing SpuFz1 nickase variants. Additionally, he shared detailed protocols for yeast transformation and growth optimization, enabling the team to replicate his methods effectively for their experiments.", - months: "July" - }, - { - title: "Dr.", - vorname: "Timm", - nachnname: "Weber", - job: "Staff Scientist, Project- and Quality Manager", - affiliation: "Central Biobank of the University of Bielefeld", - pictureurl: pics["biobank"], - tag: "Academia", - heading: "Discussed the processes involved in the storage, processing, and security of patient samples.", - interviewtabid: "timm", - cardtext: "", - quote: "A biobank is not just a collection of samples; it's a bridge between patient trust and scientific discovery, ensuring that valuable biological data is safeguarded while contributing to future research.", - aimofcontact: "Contact was established with Timm for the purpose of gaining deeper insights into the functioning of the biobank and of deepening our understanding of the processing of patient samples.", - insights: "We were provided with invaluable insights into the quality and project management of the biobank and storage of patient samples. It was of particular interest to note that Biobank OWL occupies a distinctive position in this context, insofar as a trustee is not a mandatory figure within its system and is therefore not provided for as a standard component. However, Biobank OWL has elected to integrate a trustee in order to enhance the security standards for the safeguarding of patient data. This illustrates the biobank's dedication to ensuring the optimal protection and security of sensitive patient data.", - implementation: "The insights gained have facilitated a deeper comprehension of the significance of quality management in the processing of patient samples. This understanding has been integrated into our project processes, thereby enhancing the accuracy and reliability of our procedures. ", - summary: "The interview focused on understanding the operations of the Biobank OWL, particularly in the areas of quality management and sample processing. Provided a detailed overview of biobank activities, including sample collection, storage conditions, and data protection measures", - language: "de", - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Can you briefly explain to us what exactly a biobank is and what its main tasks are?", - a: "A biobank is a specialized facility that collects, stores, and manages biological samples and associated data for research purposes. Each biobank is unique in its operations and functions. In Bielefeld and Lippe, the Biobank BOWL (Biobank OWL) is responsible for the storage of patient samples. The Data Integration Centre (DIZ) stores data pertaining to these samples. A trustee oversees the pseudonymisation of data, acting as an interface between BOWL and DIZ, ensuring that patient data cannot be directly linked to patient samples." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "What types of samples are collected in your biobank and for what research purposes are they used?", - a: "The biobank collects a wide variety of samples, including blood, stool, and soil. Samples may be gathered for specific research projects or for establishing a general repository under 'broad consent.' Researchers wishing to use these samples must apply to the 'use access committee,' which evaluates whether the requested samples and data can be released for their research." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "How large is your biobank? How many samples do you currently store and how many new samples are added on average?", - a: "The biobank is still in the process of establishing itself and has not yet reached its full sample capacity. However, it is anticipated to accumulate a significant number of samples in the near future, with several thousand samples expected to be analyzed in dedicated sessions." - } - ), - /* @__PURE__ */ jsx71(QaBox, { q: "What requirements and criteria must be met for a sample to be included in your biobank?", a: "Samples must be processed according to highly detailed protocols, and regular audits are conducted to ensure compliance with all standards." }), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Which other research institutions or biobanks do you cooperate with and what form does this cooperation take?", - a: "Biobank OWL has a second location in Lippe, in addition to Bielefeld. Collaborations exist with the DIZ, the Treuhand, and three university hospitals. It is anticipated that cooperation with other working groups will increase in the future." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "What specific storage conditions (e.g. temperature, humidity) must be observed for different sample types?", - a: "Samples are stored under various temperature conditions, including -20\xB0C, -80\xB0C, and -150\xB0C, along with the use of liquid nitrogen." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "How do you ensure that the samples remain stable and usable over longer periods of time?", - a: "Samples are stored in nitrogen for long-term stability." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "What encryption techniques or data protection measures are used in your biobank to prevent unauthorized access to patient data? Are there special regulations for the anonymisation of data and how is it ensured that patients cannot be traced?", - a: "Pseudonyms are created using specialized software such as CentraXX or REDcap to protect patient data." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "What rights do patients have in relation to their samples, and how are these rights safeguarded in your biobank?", - a: "Patients have the right to revoke their consent at any time, which can be done at the clinic or biobank. The trustee, acting as an intermediary, will notify BOWL and DIZ to destroy the corresponding samples or data." - } - ) - ] }), - months: "august" - }, - { - vorname: "'Sch\xFCler*innen Akademie'", - nachnname: "", - pictureurl: pics["schueler"], - tag: "Education", - heading: "Empowering students through synthetic biology", - interviewtabid: "schueler", - type: "meta", - cardtext: "", - quote: "x", - summary: "", - months: "August" - }, - { - vorname: "Present evidence", - nachnname: "", - pictureurl: pics["placeholder"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Brainstorming and selection of ideas and concepts", - interviewtabid: "evidence", - cardtext: "", - quote: "", - aimofcontact: "", - insights: "", - implementation: "", - type: "meta", - summary: "", - months: "august" - }, - { - vorname: "Benjamin", - title: "Dr.", - nachnname: "Winkeljann", - job: "Co-Founder and CEO at ", - affiliation: "RNhale", - pictureurl: pics["winkeljann"], - tag: "Industry", - heading: "Discussion on spray-drying and stability of lipid nanoparticles with RNhale", - interviewtabid: "rnhale", - cardtext: "", - language: "de", - quote: "Spray-drying LNPs is a groundbreaking approach that enhances stability and enables efficient pulmonary delivery of mRNA, paving the way for innovative therapies for conditions like cystic fibrosis.", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "As part of our development process of an innovative, effective pulmonary delivery of therapeutic mRNA to fight cystic fibrosis, we conducted an interview with Dr. Benjamin Winkeljann, who is the Co-Founder of ", - /* @__PURE__ */ jsx71("a", { href: "https://rnhale.com/", children: "RNhale" }), - ". Dr. Benjamin Winkeljann has a wealth of experience in the field of RNA therapeutics and nanotechnology. His background includes extensive research in the development of lipid-based delivery systems, focusing on optimizing stability and efficacy for therapeutic applications. Winkeljann\u2019s work is supported by cutting-edge research from academic institutions, including collaborations with Professor Olivia Merkel from the Ludwig-Maximilians-Universit\xE4t in Munich, Germany, since his doctoral thesis in her working group. The interview with Winkeljann promoted our project part, which aimed to utilize spray-dried LNPs for efficient delivery to the lung. By engaging with RNhale, we sought to understand the nuances of their nano-embedded microparticle technology and how it could enhance our delivery systems. " - ] })], - insights: [ - /* @__PURE__ */ jsxs46("p", { children: [ - "RNhale's technology leverages advanced spray drying techniques to stabilize and deliver RNA therapeutics. During our interview, Winkeljann detailed several crucial aspects. Firstly, the stability and shelf-life of spray-dried LNPs are remarkable. RNhale\u2019s siRNA formulations have maintained their integrity for up to 18 months at room temperature, and although specific data for mRNA is still pending, this suggests a promising shelf-life for mRNA formulations under similar conditions. The spray drying process itself involves mixing an ethanol phase containing lipids with an aqueous phase containing RNA. This mixture is then spray-dried, forming LNPs as tiny spherical particles. Key parameters for this process include maintaining an internal drying temperature of around 100 \xB0C and using excipients like lactose to preserve the nanoparticles' structure and function\u200B ", - /* @__PURE__ */ jsx71(TabScrollLink, { tab: "rnhale", scrollId: "desc-1", num: "1" }), - ". " - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - 'Ensuring the integrity and efficiency of the LNPs involves various methods, including gel electrophoresis, blotting, and functional readouts through transfection assays. After drying, the nanoparticles retain their spherical structure, which resembles that of "golf balls" under scanning electron microscopy (SEM)', - /* @__PURE__ */ jsx71(TabScrollLink, { tab: "rnhale", scrollId: "desc-1", num: "1" }), - ". Moreover, RNhale employs artificial intelligence to optimize LNP formulations and predict the best drying conditions, reducing the need for extensive wet lab work. This AI-driven approach enhances efficiency and reliability in developing therapeutic nanoparticles. " - ] }) - ], - implementation: [ - /* @__PURE__ */ jsx71("p", { children: "The interview with Dr. Benjamin Winkeljann from RNhale provided invaluable insights that will significantly enhance our project focused on mRNA delivery to the lungs using spray-dried LNPs. By seeking to integrate their proven techniques and innovative approach to spray-dry LNPs, we are optimistic about achieving superior stability, efficacy, and scalability in our therapeutic delivery systems. " }) - ], - pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/hp/hp-rnhale-zoom.png", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/del-interview-rnhale/paper-overview.jpg", - pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/del-interview-rnhale/paper-sem.jpg", - references: /* @__PURE__ */ jsx71(RnhaleSources, {}), - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "Can you specify the shelf life for spray-dried LNPs? What storage conditions do you recommend to maximize stability?", a: "For small interfering RNA, we can guarantee a shelf life of 18 months at room temperature. However, there are no existing studies for mRNA, which tends to be more fragile. For optimal stability, we recommend storing LNPs in a cool, dry place, away from direct sunlight." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What technical requirements and equipment are necessary to successfully spray-dry LNPs using your nano-embedded-microparticle (NEM) technology?", a: "The spray-drying process for LNPs using our NEM technology involves several technical steps. Initially, a mixture of an ethanol phase containing lipids and another phase with RNA is prepared. This mixture is then subjected to a spray-drying process where droplets are sprayed into a drying tower. The liquid evaporates, leaving behind LNPs as small spherical particles." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How complicated is the protocol for producing spray-dried LNPs? Can you describe the protocol?", a: "The protocol, while detailed, is straightforward. It involves preparing the lipid and RNA mixture, followed by the spray-drying process where droplets are sprayed into a drying tower. As the liquid evaporates, the LNPs remain as small beads. This process is critical for ensuring the correct size and composition of the LNPs." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do LNPs appear after the drying process?", a: "After drying, LNPs resemble golf balls on a micron scale when observed under a scanning electron microscope (SEM). Their size distribution is analyzed through light scattering measurements, among other techniques." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do you ensure that the RNA cargo remains stable despite the heat during the drying process?", a: "We mitigate the impact of heat by optimizing the drying conditions. Chitosan and PEG can also influence stability. Without PEG, LNPs may agglomerate and become non-functional, but too much PEG can render them inert. Therefore, a balanced approach is necessary, though PEG has no significant impact on the drying process itself." }), - /* @__PURE__ */ jsx71(QaBox, { q: "At what temperature is the LNP dried?", a: "The internal temperature during the drying process is approximately 100 degrees Celsius, as noted in our publications." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Does each LNP formulation require individual testing?", a: "Yes, each LNP with a unique composition needs to be tested individually to ensure optimal stability and performance." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How can we test the efficiency of LNPs after the drying process?", a: "The efficiency can be tested through transfection studies. Additionally, the particles can be broken down to analyze the mRNA structure, although this is a more complex and time-consuming process." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Can you elaborate on how you use AI to customize LNPs? What exactly does the AI do, and how reliable is it?", a: "Our AI is used for screening, optimization, and the design of experiments, significantly reducing wet lab work. It also plays a role in developing new lipids, a process more closely associated with the work of Olivia Merkel." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What properties of LNPs could hinder the drying process?", a: "Theoretically, nothing should hinder the drying process if it is optimized for the specific cargo and target. Adjustments can always be made to accommodate different formulations." }), - /* @__PURE__ */ jsx71(QaBox, { q: "In your opinion, which LNPs are best suited for the drying process (SLNs, NLCs, etc.)?", a: "It depends on the specific application and composition of the LNPs." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What are the estimated costs for the entire drying process?", a: "The primary expenses are in raw materials and formulations, which are relatively expensive. The process itself can cost in the four-digit range." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Would you be willing to support us in our project? Would you dry our LNPs?", a: "The spray dryer requires 5 mL of a solution with 5% lipid solids and 0.02% RNA. We\u2019ve published recovery rates of 70%. You can send us the mRNA and LNP components to encapsulate and dry." }) - ] }), - summary: "The conversation focused on spray-drying LNPs, emphasizing the shelf life of RNA-based formulations, optimal storage conditions, and technical requirements for the drying process. Corden Pharma shared insights on the protocol, highlighting the need for testing each LNP formulation individually for stability. AI technology is used to optimize LNP formulations, and potential collaborations were discussed, including support for drying LNPs.", - months: "august" - }, - { - vorname: "Max", - nachnname: "Beckmann", - job: "Patient and Student", - affiliation: "University Bielefeld", - pictureurl: pics["max"], - tag: "Patient", - heading: "Consultation on University Hygiene Risks and Improvement for Hygiene Concept", - interviewtabid: "maxhygiene", - cardtext: "", - language: "de", - quote: "x", - aimofcontact: "", - insights: "", - implementation: "", - summary: "", - months: "August" - }, - { - title: "Dr.", - vorname: "Katharina", - nachnname: "Kolonko", - job: "Expert for nanocapsules", - affiliation: "Biologist", - pictureurl: pics["kolonko"], - tag: "Academia", - heading: "Optimizing our mRNA Delivery Systems", - interviewtabid: "kolonkofirst", - cardtext: "", - language: "de", - quote: "Wow, you\u2019re already further along than I was! That\u2019s a really good approach, especially since dry powder formulations can help with stability.", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "Our goal in reaching out to Dr. Katharina Kolonko, who earned her PhD working on chitosan-based nanoparticles for delivering nucleic acids to human respiratory cells in the context of cystic fibrosis, was to seek her advice on the design, stability, and application of nanoparticles. We wanted to learn from her experience with chitosan-capsaicin nanoparticles, especially the challenges she encountered, and apply her insights to improve our own project. Specifically, we aimed to better understand nanoparticle stability, transfection methods, and how to effectively design our experiments." })], - insights: [/* @__PURE__ */ jsx71("p", { children: "Dr. Kolonko provided us with valuable insights into working with nanoparticles, particularly emphasizing the advantages of nanocapsules. She highlighted that nanocapsules are more stable than nano-complexes, which is crucial for experiments involving complex environments and high shear forces. Additionally, her use of capsaicin wasn\u2019t aimed at improving transfection efficiency but was part of a broader strategy targeting specific channels. She also shared practical methods for measuring particle stability and cytotoxicity, giving us clear guidance on tools and techniques that we can apply to our project. Furthermore, Dr. Kolonko discussed the use of chitosan as a component in nanoparticle formulations. Chitosan, with its positive charge, can interact with mRNA, potentially enhancing the stability of the cargo. As an outlook, we plan to explore modifications using chitosan to improve the stability and performance of our mRNA delivery system. This approach may provide a more robust solution for optimizing nanoparticle formulations in future experiments. " })], - implementation: [ - /* @__PURE__ */ jsx71("p", { children: "We directly applied Katharina\u2019s insights to improve our nanoparticle design and testing methods. Her recommendations on using nano-capsules and OptiMEM as the transfection medium helped refine our experimental approach. She emphasized using a medium with fewer additives, like OptiMEM, and suggested removing antibiotics 24 hours before transfection to avoid interference, ensuring more controlled and effective conditions. We also explored new stability testing ideas, including nasal spray solutions and dry powder formulations. We incorporated her insights as follows: " }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Nano-Capsules Focus:" }), - " Based on Katharina\u2019s advice, we prioritized nano-capsules for their enhanced stability over nano-complexes." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Chitosan for Stability:" }), - " We're exploring chitosan to improve mRNA delivery system stability due to its positive charge, which binds mRNA to the nanoparticle surface." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "OptiMEM for Transfection:" }), - " OptiMEM is now our chosen transfection medium, with the suggestion to remove antibiotics 24 hours prior." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "MTT Test for Cytotoxicity:" }), - " We adopted the MTT test for cytotoxicity due to its simplicity and reliability." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Nasal Spray and Dry Powder Testing:" }), - " We are considering testing nanoparticle stability using nasal spray solutions and exploring dry powder formulations." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx71("strong", { children: "Capsaicin Exclusion:" }), - " As capsaicin did not significantly impact transfection efficiency in Katharina\u2019s research, we decided not to include it in our project." - ] }) - ] }) - ], - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "How did you approach the design of Lipid Nanoparticles (LNPs)? What were the first steps you took at that time? Were you already familiar with LNPs, or was that a completely new experience for you?", a: "I started working with nanoparticles during my bachelor\u2019s thesis. I continued with nanoparticles into my master\u2019s thesis, working on a project related to cystic fibrosis. Initially, I worked with nano-complexes, but later switched to nano-capsules due to their stability, especially in cell culture media." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Since you\u2019re focused on stability and applying high shear forces, could you explain why nano-capsules are more stable than complexes in this context?", a: "Nano-capsules are generally more stable in cell culture media compared to nano-complexes, which often react with additives and proteins. However, I didn\u2019t explore shear forces much further. My main goal was to stabilize the particles in cell culture media for testing on cells." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What kind of cell culture medium did you use for these experiments?", a: "For transfection, we used Optimem as the medium, after removing antibiotics from the culture medium 24 hours prior to transfection." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How long did it take you to get to the point where you used nano-capsules?", a: "I only started working with nano-capsules towards the end of my PhD. I spent much of my time with nano-complexes, but when I visited a lab in Leeds, I shifted to nano-capsules. This transition happened quite late, just months before I finished my thesis." }), - /* @__PURE__ */ jsx71(QaBox, { q: "You mentioned capsaicin in your recent paper. Does it significantly affect transfection efficiency, and is it worth including in our experiments?", a: "No, capsaicin didn\u2019t affect transfection efficiency in our experiments. It was included to inhibit the Ina-channel as part of a dual strategy targeting both CFTR and Ina-channels, but it might not be necessary for your project." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Were there any critical components in the formulation of your nanoparticles that you couldn\u2019t do without?", a: "No, the main comparison was between nano-complexes and nano-capsules. Nano-complexes were inconsistent in size and stability, while nano-capsules were stable and smaller, which I believed would work better in later experiments." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Is there a way to check if the mRNA sticks to the outside of the nanoparticle or ends up inside?", a: "I believe the mRNA sticks to the outside. The process involved forming nano-capsules using lecithin and oil, and after the ethanol was evaporated, mRNA was added last. The mRNA likely adhered to the positively charged chitosan on the outside of the capsule." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you remember the ratio of mRNA to nano-capsule?", a: "I don\u2019t remember the exact ratio offhand, but it\u2019s documented in my dissertation. I optimized the amount of mRNA that needed to enter the cell for effective results, but didn\u2019t do extensive testing with nano-capsules." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Was determining the optimal amount of nanoparticles trial and error?", a: "Yes, definitely. It involved a lot of optimization." }), - /* @__PURE__ */ jsx71(QaBox, { q: "You used the MTT test for cytotoxicity. Would you recommend it for us, or are there better alternatives?", a: "Yes, the MTT test is simple and reliable. You just need to pipette accurately. We used it frequently, and it worked well." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How did you assess the stability of the nano-capsules? Did you use microscopy or another method?", a: "We used a device called a Zetasizer, which measures size, zeta potential, and polydispersity index (PDI). We used it to assess stability in cell culture medium over time, from half an hour to 24 hours." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you have any advice for our project or anything we might have missed?", a: "If you\u2019re planning to use a diffuser for nasal administration, you might want to test the stability of the nanoparticles in a saline solution or standard nasal spray solution. It could be useful to see how they behave in such a medium. Otherwise, it seems like you\u2019re well ahead of where I was!" }), - /* @__PURE__ */ jsx71(QaBox, { q: "Thank you so much for your time and insights!", a: "You\u2019re welcome! I\u2019m glad I could help." }) - ] }), - summary: "We identified several crucial insights to guide our project development. Nano-capsules were found to be more stable than nano-complexes, making them our preferred formulation choice. We will utilize chitosan to enhance mRNA stability due to its positive charge, while capsaicin was deemed irrelevant for our purposes. For transfection, we will use OptiMEM as the medium, removing antibiotics 24 hours prior to the procedure. We will assess stability with a Zetasizer and evaluate cytotoxicity using the MTT test. Additionally, we are exploring nasal spray and dry powder formulations to improve nanoparticle delivery. These insights will significantly shape our approach to optimizing mRNA delivery systems.", - months: "August" - }, - { - title: "Dr.", - vorname: "Oliver", - nachnname: "Dr\xE4ger", - job: "Bielefeld University", - affiliation: "Research Group Cellular Neurophysiology", - pictureurl: pics["draeger"], - tag: "Academia", - heading: "New approaches in electrophysiology and their application in our project ", - interviewtabid: "patchclamp", - cardtext: "", - language: "de", - quote: "", - aimofcontact: [/* @__PURE__ */ jsx71("p", {})], - insights: [/* @__PURE__ */ jsx71("p", {})], - implementation: [/* @__PURE__ */ jsx71("p", {})], - summary: "", - months: "August" - }, - { - vorname: "GxP course", - nachnname: "", - pictureurl: pics["gxpcourse"], - tag: "Industry", - heading: "Successful participation of a team member in a 5 day GxP course", - interviewtabid: "gxpcourse", - cardtext: "", - quote: "The GXP course was extremely useful as it provided us with important knowledge that supports our entire team in complying with quality standards. This knowledge will help us to organise our processes efficiently and in accordance with regulations in the future.", - quoteVorname: "Kaya", - quoteNachname: "Lange", - type: "meta", - text: [ - /* @__PURE__ */ jsx71("p", { children: "I, Kaya, Team Member of iGEM Bielefeld 2024, recently participated in an intensive one-week GXP (Good Practice) training course, which was pivotal experience for both me and our project. The course covered essential regulatory frameworks, including" }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsx71("li", { children: "Good Laboratory Practice (GLP)" }), - /* @__PURE__ */ jsx71("li", { children: "Good Clinical Practice (GCP)" }), - /* @__PURE__ */ jsx71("li", { children: "Good Manufacturing Practice (GMP)" }) - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "which are all designed to ensure quality, safety, and compliance across every phase of scientific research and development. As the head of Integrated Human Practices, I found this training particularly valuable. It provided me with a deeper understanding of the rigorous standards that need to be maintained in research, especially concerning ethics, data integrity, and patient safety. I learned how to properly document research processes, ensure the reproducibility of results, and assess and mitigate risks, all while keeping the ethical considerations of our project at the forefront. I have acquired the ability to create standard operating procedures (SOPs) that guarantee the transparent and traceable documentation of each stage of the research process. This not only facilitates internal organisation but is also crucial for subsequent approvals and audits by regulatory authorities. It is of paramount importance to ensure the reproducibility of our experiments by maintaining accurate protocols and meticulously documenting all variables. This is of particular importance should the intention be to pursue clinical research at a later stage, as the reproducibility of experiments is a crucial factor in the validity of the results. I acquired knowledge of techniques for risk assessment, including Failure Mode and Effects Analysis (FMEA). This process enables the identification of potential risks in a project at an early stage, thus facilitating the development of strategies to minimise them. This approach allows us to identify and address potential sources of error before they lead to significant issues. This knowledge is crucial as we think about the future of our project, particularly if we aim to move our gene therapy approach for cystic fibrosis closer to clinical trials and real-world applications. My participation in the GXP training has equipped me with the necessary tools to potentially guide our team through the complex regulatory landscape, ensuring our work remains aligned with industry standards and ready for the next steps in development. One of the key speakers during the GXP course was ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "gxpexpert", text: "Dr. Marcus Berger" }), - ", whose expertise was invaluable to me and the entire team. After the course, I had the opportunity to ask Dr. Berger some questions, further deepening my understanding of the practical applications of GXP in research. The connection with Dr. Berger has been highly beneficial, as his insights helped shape key aspects of our project\u2019s development and compliance with industry standards. His guidance will continue to be a valuable resource for our team moving forward. Through this training, I feel better positioned to contribute to the team\u2019s efforts, ensuring our project adheres to global safety and ethical guidelines. This experience has strengthened our approach and set a solid foundation for future progress, ensuring that our research, public engagement, and potential clinical applications continue to meet the highest regulatory standards. " - ] }) - ], - summary: "Kaya, a member of the iGEM Bielefeld 2024 team, completed an intensive one-week GXP (Good Practice) training, which covered Good Laboratory Practice (GLP), Good Clinical Practice (GCP), and Good Manufacturing Practice (GMP). The training provided valuable insights into maintaining high standards of quality, safety, and ethics throughout the research process. Kaya learned crucial skills, such as documenting research processes for reproducibility, creating standard operating procedures (SOPs), and conducting risk assessments using techniques like Failure Mode and Effects Analysis (FMEA). This knowledge is essential for advancing their cystic fibrosis gene therapy project toward clinical trials and ensuring compliance with regulatory standards. Dr. Marcus Berger, a key speaker in the course, provided additional guidance, offering valuable insights that will continue to benefit the team.", - months: "august", - pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/gxp/gxp-course-kaya.webp", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/gxp/gxp-course-group.webp" - }, - { - vorname: "Connect and Share", - nachnname: "", - pictureurl: pics["placeholder"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Brainstorming and selection of ideas and concepts", - interviewtabid: "connect", - cardtext: "", - quote: "", - aimofcontact: "", - insights: "", - implementation: "", - type: "meta", - summary: "", - months: "august" - }, - { - title: "", - vorname: "Michael", - nachnname: "Johannfunke", - job: "Representative body for severely disabled persons", - affiliation: "University Bielefeld", - pictureurl: pics["johannfunke"], - tag: "Academia", - heading: "Hygiene concept for students with disabilities and immunocompromised employees", - interviewtabid: "johannfunke", - cardtext: "", - quote: "The implementation of the hygiene concept is proving more difficult than expected due to the bureaucracy at the university. Nevertheless, the interview gave us a good insight into this labyrinth of regulations and we got started the prozess of implementation.", - quoteVorname: "Vera", - quoteNachname: "K\xF6hler", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "We contacted the university because of the urgent need to address the issue of hygiene for students and staff, particularly those with immunocomprised students and staff. There was a need to develop an effective hygiene concept to ensure the health and safety of these people. We developed this concept in collaboration with ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "maxfirst", text: "Max" }), - ", our CF friend. " - ] })], - insights: [/* @__PURE__ */ jsx71("p", { children: "We learnt that our hygiene concept is very well-developed. But although a well-developed hygiene concept is already existing, strategic development and a step-by-step approach are needed. In particular, the step-by-step implementation was emphasized, like starting with equipping the toilets. Bureaucratic hurdles, such as the need to apply to the rectorate, were identified as a major challenge. In addition, it became clear that there is a great need for sanitary facilities and facilities for the disabled, especially due to the needs of students and staff with health problems. Interaction and networking with other universities was also considered valuable. " })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "The next phase of developing a new hygiene concept is to maintain contact with Mr. Johannfunke in order to continue to advance the hygiene concept in collaboration. The strategic approach entails the incremental implementation of measures, exemplified by the establishment of the inaugural toilet facility within the main building. It is of the utmost importance to ensure the uninterrupted implementation of the hygiene concept. In order to achieve this, it is essential to draw upon the existing plans and measures that have already been implemented in new buildings. We are working on advancing the plans at a higher level and are in regular dialogue with the Central contact point Barrier-free in order to overcome bureaucratic hurdles and actively promote the topic. Furthermore, it is necessary to intensify lobbying work in order to gain greater support for this issue at both the university and political levels. " })], - language: "de", - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "What do you think of our hygiene concept and our plan?", a: "This is a very acute problem. It particularly affects students with disabilities and immune-compromised staff, such as those with cancer or cystic fibrosis, who are forced to work from home. The problem is: Employees can work from home, but students cannot. There is a great need for hygiene measures, as contact must be avoided to minimise the risk of infection." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What are the challenges in implementing the hygiene concept?", a: "There is a lack of strategic development, although your hygiene concept is well developed. It is necessary to proceed in small steps, e.g. starting with a toilet in the main building. However, bureaucracy is a major obstacle. To be implemented, an application has to be submitted to the rectorate, and these processes are often lengthy and complicated." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What is the current situation at our university?", a: "While some progress has been made with the installation of additional toilets and disabled-friendly toilets in new buildings, there is as yet no overarching strategy in place to guide future developments. Furthermore, the lack of clarity regarding the mission statement and objectives leaves room for ambiguity. The duty of care that employers have towards employees is established, yet the situation is regulated differently with regards to students. The possibility of receiving compensation for disadvantages is open, but is frequently seen as inadequate." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What are the next steps in implementing the hygiene concept?", a: "It is essential that the concept be implemented in small, strategic steps. At the same time, it is vital that the rectorate and other decision-makers be consulted on a regular basis to ensure that this matter remains at the forefront of discussions. Furthermore, it is of great importance to engage in political lobbying to secure additional support for this issue." }) - ] }), - summary: "We got in touch because there was an acute hygiene problem for particularly vulnerable groups like immunocomprised persons at the university. We learnt from the exchange that despite a well-developed hygiene policy, strategic steps are still needed, especially to overcome bureaucratic hurdles. We have integrated these lessons into our project by focusing on continuous collaboration with the Central contact point Barrier-free and other decision-makers.", - months: "September" - }, - { - title: "Dr.", - vorname: "Sriram", - nachnname: "Vaidyanathan ", - job: "Principle investigator at Nationwide Children\u2019s Hospital and assistant professor Pediatric\u2019s at the Ohio State University College of Medicine ", - affiliation: "Nationwide Children\u2019s Hospital", - pictureurl: pics["placeholder"], - tag: "Academia", - heading: "F508del mutation confirmed as the most common CFTR mutation worldwide, including Asia", - interviewtabid: "sriram", - language: "en", - cardtext: "", - quote: "I think you're thinking about it the right way.[...] I would have talked to all of the exact people that you have already spoken with.", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "The objective of this contact was to gather further information about cystic fibrosis (CF) in Asia, with a particular focus on understanding potential data biases, identifying common mutations, exploring the available medications, and assessing the diagnostic practices in the region. " })], - insights: [/* @__PURE__ */ jsx71("p", { children: "The talk with Sriram revealed that, although cystic fibrosis (CF) is relatively uncommon in Asia compared to other disease like sickle cell disease, it nevertheless exhibits considerable genetic diversity. The identification of different mutations in the CFTR gene across the region has revealed that the F508del mutation is the most common, a finding that aligns with global patterns. However, in Asian populations, other rare mutations are also prevalent, which presents unique challenges in diagnosis and treatment. Additionally, it was found that environmental factors, such as air pollution, serve to exacerbate the symptoms of CF, particularly in densely populated regions, thereby further complicating the management of the disease. This emphasises the necessity for further research on CF that is specifically tailored to the needs of different regions, including improvements in diagnostic techniques and the development of treatments that are more closely aligned with the characteristics of the populations in question. " })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "The data were incorporated by confirming that the F508del mutation is not only the most common in Europe but also globally, including in Asia, highlighting a broader perspective and contributing to a significant horizon expansion in understanding the mutation's worldwide prevalence. This finding lends support to the idea that existing therapies targeting the F508del mutation will be effective for many patients worldwide, thereby providing a solid foundation for treatment. As a starting point, this is promising, but future efforts will focus on adapting therapies to address other, rarer mutations found in specific populations." })], - summary: "The contact provided valuable insights into cystic fibrosis (CF) in Asia and confirmed that the F508del mutation is the most common, as it is globally. However, the genetic diversity observed in Asia, together with the exacerbation of symptoms by environmental factors such as air pollution, highlights the need for more region-specific research. Future efforts will focus on refining treatments for rarer mutations and improving diagnostic accuracy in Asian populations.", - months: "September", - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "Should we explain our project a little bit in the beginning?", a: "That would be great." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Okay. As I wrote to you in the email, we are part of the Bielefeld-CeBiTec item team in Germany this year, and we have a project called Precyse, where we want to develop a platform for next-generation prime editing. With that, we aim to tackle CF mutations, starting with the F508del mutation. The complex should be adaptable for different mutations with minor changes. Essentially, we want to operate like Cas-based projects using prime editing tools but may transition to using a fanzor nickase in the future. Currently, we are working on a delivery system utilizing lipid nanoparticles to transport our complex into the lungs. These nanoparticles will be loaded with mRNA and designed for inhalation, similar to how asthma medications are delivered. Our goal is to advance personalized medicine and improve the standard of living for those affected by the disease, especially since a friend of one of our team members has cystic fibrosis and shares insights on the challenges faced by those with the condition.", a: "That's a very nice summary. I have a couple of clarifying questions. Are you undergraduates?" }), - /* @__PURE__ */ jsx71(QaBox, { q: "No, we are overgraduates at the University of Bielefeld.", a: "Oh, great! So, how are you optimizing prime editing, and who is helping you with this process?" }), - /* @__PURE__ */ jsx71(QaBox, { q: "We tried to reach out to Dr. Liu, but he hasn't responded yet.", a: "You should also contact Marianne Carlon in Leuven, Belgium. They didn't work on Delta F508, but Mattijs is a graduate student there and could be helpful." }), - /* @__PURE__ */ jsx71(QaBox, { q: "We\u2019ve already been in touch with Mattijs; he\u2019s been very nice.", a: "Perfect! You're reaching out to the right people. Are you aware of the Liu lab's Nature Biomedical Engineering paper that optimizes prime editing?" }), - /* @__PURE__ */ jsx71(QaBox, { q: "Yes, we are aware of it.", a: "Great! How can I help you further?" }), - /* @__PURE__ */ jsx71(QaBox, { q: "We have some questions about cystic fibrosis (CF) in Asia, specifically about its perceived rarity and its impact on diagnosis and research efforts.", a: "I can share some insights. While CF is often considered rare in Asia, it's essential to recognize that it affects various populations. In my lab, we analyze CF-causing mutations across different populations using data from Nomad, which focuses on genetic ancestry rather than self-identified race. CF is most prevalent in individuals of European origin, but it remains common across many populations worldwide, particularly in South Asia and other regions, although East Asia has lower prevalence rates." }), - /* @__PURE__ */ jsx71(QaBox, { q: "That\u2019s helpful. Can you explain how the perceived rarity of CF impacts diagnosis and research in Asia?", a: "The perception of CF as a 'white people disease' leads to underdiagnosis and fewer research efforts in Asian populations. For instance, in India, physicians are more familiar with conditions like sickle cell disease and thalassemia, leading to limited awareness of CF. Early diagnosis is challenging due to the lack of screening programs for CF, and currently, many regions are only beginning to implement sweat chloride testing." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Thank you! What mutations are more common in Asia?", a: "Delta F508 is still the most frequent variant across different populations, but its frequency decreases in non-European groups. While there are several other common variants, they do not respond to modulator therapeutics, which complicates treatment options. Focusing on Delta F508 is sensible, but you might face challenges in finding individuals with other variants due to the limited awareness and screening for CF in those populations." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Okay. But you would say that the other mutations are a bit under-researched, right?", a: "They are completely under-researched, right? Like I have not seen anybody work on L218X. I didn't even know L218X existed until I started looking into that group. And it seems like L218X, I've not seen it in any other population that frequently. So a lot of these variants seem to be unique. I don't know if they're completely unique to South Asians or if you go to Iran or something, whether you're going to start finding these people or whether if you go to Southeast Asia, then you're going to start finding some of these people, right? So we don't know that, but I think it will be really hard for you to find cells with these variants." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What do you believe, what steps should be done in the scientific community to ensure better representation of Asian populations, or in general, not only Western populations, in the genetic studies for cystic fibrosis?", a: "Ah, it's a very good question; it's also a question that doesn't have a very straightforward answer, right? In the sense that one, you know, you have to raise awareness and ensure that people are getting diagnosed, that's step number one, right. A lot of the numbers they showed you are based on prediction; they're not based on a registry in any country with some of these populations, right. India doesn't have a registry, China doesn't have a registry. There are efforts to make a registry, but you know it's a little hard to get started when you know if you go and argue that there are 6,000 children with CF that are being born in a year in India, and then the response that I've received before is well, there are about 60,000 kids dying of diarrhea, and you know so the priority from public health is often different. It's starting to change. So one focus would be diagnosis and raising awareness, and if you come across groups that are trying to improve their ability to diagnose then you try to help them, right. What's your other question in terms of treatment and research? I think being aware of it if you do end up finding samples that have some of these unique variants. Right then, trying to form a strategy around it is not bad; I've seen people identify variants of CF that are unique to different populations. I think even Marianne Carlon's group picked up variants that are unique to Belgium and then tried prime editing on that right, so those sort of strategies help quite a bit, right? And this is partially the reason you know I continue to focus on mutation-agnostic strategies; I've not really branched out into the Prime Editing world or the Base Editing world primarily because this seems to be a pretty challenging issue, but that said, you want as many shots at goal as possible. So, you know, if you're able to use prime editing to fix Delta 508, that still helps the most number of people with CF. And then maybe, you know, you could use that platform that's really well validated at that point, then go start targeting individual variants. The other idea with prime editing is that there's hope that you can probably at least try to replace one exon at a time. And that sort of makes things a little bit more manageable, right? So if you, you know, it's a little bit more, like if you have to target every single variant, then you're thinking about hundreds of different medical products. But if you're thinking of replacing every exon, that's 27, that's a countable number. And I would argue that you don't even have to do all 27. You start with the hotspots, right? You start with exon 11, you start with exon 12. But then as part of the conversation, I think we should just be thinking about exons that might be hotspots for variants in other populations and at least, you know, keeping them somewhere in the packing order so that as you go through the most frequent variants, right? And you're starting to develop strategies for the most frequent variants. Those are on the list so that we eventually get to them." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Yeah. Okay. And what do you think? Are there any healthcare challenges managing cystic fibrosis in Asian countries?", a: "Oh, absolutely. Right. I think, you know, if you're in a high-income country like Japan, I think, you know, the biggest challenge is awareness and getting diagnosed. If you're in low- and middle-income countries, right, then the challenge becomes access to drugs. So modulators are not available in most of Asia, or at least in the lower and middle-income countries in Asia, that's not available, like, it's not available for sale. Primarily, partly because they think that those people, like people at CF, don't exist in enough numbers in those countries. And partly because then it creates problems in terms of monetary, like factors, right. In terms of how much they charge for the modulators. Right. So those don't exist. I don't know, like they have access to pancreatic enzymes and things like that, but, you know, regular access to regular care is still a challenge. The base of physicians that are family with treating CF is only growing in some of those places at least from my personal experience but it\u2019s not by where we are. The children there are still mostly passing away when they are in their teenage years or early twenties. The sort of life span and life expectancy is no where close to what you would see in high-income countries. So, I think that is the biggest challenge, access to resources both, publicly and also from a private point." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Okay. And do you think that the environmental or like pollution is doing, like, I don't know how to say it correctly. So that there are like respiratory challenges because, yeah, right.", a: "Absolutely! Right. It's, you know, your exposure to pathogens is higher. Your exposure to pollution is significantly higher in a lot of these countries, right? Even China, which is, you know, much better off than a country like India still has a lot of pollution, right? And so, or I've never been to China, but at least that's what I read, right? But India, I grew up there and I can firsthand tell you that there's a lot of pollution there, right? And that I'm sure it affects it because it's been documented to affect people, just people without CF, right? On an average, it's supposed to like, the reports that I've seen are like, it takes a few years off of life expectancy for even people that have not been diagnosed with anything else, right? So I'm sure if there's a person with CF, then that's going to affect them even more negatively in places like India. And then I think that the exposure to pathogens might be slight, it might be higher and the lower down in the economic scale you go, the more, the exposure to pathogens are going to have, right? I think the third factor would also might be nutrition, right? Like, so if you have CF, you, you know, here, one way they were managing it was through high fat calorie rich diet and access to those sort of high fat calorie rich diets may not be that prevalent in some of these other places. And so that might become a factor." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Okay. And then one last question. So it's more a bit about you and your research. So what drew your attention to the issue of CF in Asia? So why did you start researching this topic?", a: "Oh, so that was a very okay. So the way it happened was I was at a conference and I was a postdoc at Stanford previously, as you know. So I was at a conference and I was, we were just, I think had a sort of a, you know, a dinner for everybody from our institution. And I was chatting with the nurse in the table and sitting in the table and so the San Francisco area has a lot of people from Asia. And so the nurse particularly said that they had a lot of children with CF who happened to originate in India, which really surprised me because that's not a disease that I'd heard growing up as being some, a common genetic disease there. Right. And so that kind of drew my attention. And then in subsequent conversations, when I spoke with physicians who are practicing in India, nobody said that they hadn't seen people with CF, right? Whenever I had the conversation, people would be like, oh yeah, I've seen a patient with CF or I know of somebody that has a child with CF, right? Which was surprising. And then when I went to India, I went to a hospital in my hometown and I was talking to the pulmonologist there. And he said he had 30 or 40 patients with CF in that, just that hospital. And that's, you know, it's not even, you know, it's probably one of the bigger cities in India, but I wouldn't even know if it's in the top 10 biggest cities in India. And this is not even the biggest center in that city necessarily. Right. So I was just really surprised. And he said he didn't have to really put in any effort to go seek out any people with CF. This was just in the people that walked into that hospital that got diagnosed with CF, right? So that kind of solidified the perception that perhaps it was underdiagnosed. And then the reason it happened was because the pandemic sort of forced most of us out of the lab. And so this ended up being something you can actually work on without going to lab." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Yeah, sounds really interesting the way you got there. at the beginning, you said you could tell us something, what came to you in mind when you heard about Project First, and you already prepared some slides. So I just want to ask if you maybe have something more to tell us that you haven't thought about yet, because the interview until now is highly interesting and I think we got a lot of new information until now. So maybe you have something. Maybe you have more interesting information for us.", a: "I think you guys covered a lot of what I had in mind, right? In terms of, I think if I were to start with prime editing and Delta 508, this is exactly the argument I would have made. I would have talked to all of the exact people that you have already spoken with, right? So I think that I don't have too much to add there. The only thing you could do is if you are looking at variants, right? Maybe I would try to come up with a plan for what variants you might go after, after Delta 508, right? And that could become part of your future research or something like that. Or if you can, I guess the one question I had for you is, so the correction of Delta 508 is sort of published, right? People have reported using lipid nanoparticles, at least to deliver base editing reagents, right? So how are you thinking about, like when you pitch the innovation in your project, how are you thinking about pitching your innovation? " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Okay. So I think, our idea was that we want to do like the, the prime editor is more efficient. Our idea is to use a smaller reverse transcript case and maybe when we will when the time is letting us do it, maybe not, we don't know if we will get in time there and everything will be ready. But in the Liu paper, I think was something about the La motive and some other stuff that we want to add to the prime editor so that it's even more efficient. And even then the idea of the LNP to spray dry because we thought then when there is not the that it has to be cool, like other medication, it's easier to bring it like to Asia or other places because they can just get the inhalator. ", a: "Right. So the one question I had for you on that is, have you looked at Daniel Siegwarts work on LNP? " }), - /* @__PURE__ */ jsx71(QaBox, { q: "No,not yet.", a: "Because they had a paper in science where they did intravenous delivery of lipid nanoparticles and they, they delivered a base editor. So when you present this, this might come up. So, you know, so I'm not saying you should change your strategy, but, you know, if you're trying to do a lot of work on lipid nanoparticles, you're going to have to do a lot of work on So you want to have thought about a response. And it's, it's a really interesting strategy. Um, trying to see if I can find it. Yeah. Here. It's a really interesting sort of nanoparticle strategy that they have presented. Uh, the nice thing is it is an IV delivery, which gets you to basal cells and they were able to get about 20% correction, right? So you could almost think of it as an alternative strategy. So if, you know, if you get the pushback or I don't know how you have to write to your proposal, but if the, the, the spray drying or the nebulization process is not going well for you, this might be something that you could propose as a backup because here they've shown that you can deliver lipid nanoparticles intravenously and they get to the basal cell population. Okay. And they get to, yeah. So that might be the only other direction I would point to as you're thinking about your delivery strategy. Right. Uh, the other innovation could be that if you can even optimize your prime editing to go a little bit beyond just Delta, if I wait, if you can show that you even replace the whole Exxon, you might have something that is a little bit more unique than what's out there. And then you don't have to even worry about delivery necessarily. " }), - /* @__PURE__ */ jsx71(QaBox, { q: "Okay. Thank you so much. We will look at the paper and we'll check it out. All right. Okay. Then, yeah. Thank you very much for the interview. ", a: "Yeah, that's perfectly fine. Good luck with your project. It's a really interesting project." }) - ] }) - }, - { - title: "M.Sc.", - vorname: "Philipp", - nachnname: "K\xFChnel", - job: "PhD student in the Otorhinolaryngology working group at Bielefeld University", - affiliation: "Universit\xE4t Bielefeld", - pictureurl: pics["k\xFChnel"], - tag: "Academia", - heading: "Improvement of our culture protocols and experimental outcomes, particularly in maintaining ALI cultures", - interviewtabid: "pkuehnel", - cardtext: "", - quote: "x", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "The aim of our contact with Philipp K\xFChnel, a PhD student from the Otorhinolaryngology working group of Bielefeld University, was to gain expertise in working with primary cultures, particularly focusing on air-liquid interface (ALI) cultures. Given his experience in this area, we sought his guidance to ensure that we were following best practices and to address any technical challenges we might encounter." })], - insights: [/* @__PURE__ */ jsx71("p", { children: "Through our discussions with Philipp, we gained valuable insights into the optimal conditions for cultivating primary cells and maintaining ALI cultures. He provided practical advice on troubleshooting of common issues, such as cell differentiation and culture stability, which were crucial for the success of our experiments. We also maintained close contact to exchange information about fungi that frequently contaminate ALI cultures. The expertise shared on combating these fungal contaminations was particularly valuable and greatly enhanced our understanding of effective prevention and treatment methods. " })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "We incorporated Philipp\u2019s advice by refining our culture protocols, particularly adjusting the conditions for ALI cultures to improve cell differentiation and overall culture health. This directly enhanced the reliability of our experimental results, ensuring that our work with primary cultures was both accurate and reproducible. " })], - language: "de", - summary: "The contact aimed to leverage Philipp\u2019s expertise in ALI cultures to improve our experimental protocols Gained insights into optimizing conditions for primary cell cultures and managing common challenges like fungal contamination", - months: "several times" - }, - { - title: "Prof.Dr.", - vorname: "Zoya", - nachnname: "Ingatova and Dr. Nikhil Bharti", - job: "Group Leader", - affiliation: "Institute of Biochemistry and Molecular Biology at Hamburg University", - pictureurl: pics["zoya"], - tag: "Academia", - heading: "Shaping the Future of Genetic Therapy: An interview with Prof. Dr. Zoya Ignatova", - interviewtabid: "ignatova", - cardtext: "", - quote: "Precision is key to minimizing side effects and ensuring the safety of your therapy.", - aimofcontact: "We conducted the interview with Prof. Dr. Zoya Ignatova and Dr. Nikhil Bharti from the Institute of Biochemistry and Molecular Biology at the University of Hamburg, seeking to deepen our understanding of their research on cystic fibrosis (CF) and explore additional CF mutations, as well as to learn more about cell culture techniques specific to CF research, since they send us the CFBE41o- cell line. Our aim was also to gather more information about their approaches in CF research, particularly their focus on treating genetic mutations like nonsense mutations, which are highly prevalent in CF.", - insights: [/* @__PURE__ */ jsx71("p", { children: 'We were struck by Ignatova\u2019s story about founding the iGEM team in Hamburg. Her passion for fostering creativity and innovation in science was inspiring. On a technical level, their advice on cell culture was incredibly practical and immediately useful. Dr. Nikhil Bharti explained how they handle CFBE41o- cells and ALI (air-liquid interface) cell culture. This advice directly addressed the challenges we\u2019ve faced in our own lab, giving us a method to improve our cell culture success rates. During our interview with Prof. Dr. Zoya Ignatova and Dr. Nikhil Bharti, their innovative approach to cystic fibrosis (CF) therapy, particularly "read-through" and tRNA-based therapies, stood out. "Read-through" therapies aim to bypass premature stop codons that prevent full protein production, offering a way to restore the function of critical proteins like CFTR in CF. This approach has the potential to treat a broad range of genetic diseases caused by similar mutations. The tRNA-based therapy is even more precise, targeting mRNA to correct faulty codons without altering the DNA, making it safer for long-term use. This flexibility, along with the ability to apply these therapies beyond CF, broadened our understanding of how such strategies can revolutionize treatments for genetic disorders.Ignatova highlighted, that using cell models closely resembling properties of the cell types targeted by our therapy is important for ensuring applicability of our approach to patient cells and its safety. A key focus throughout the discussion was safety. Prof. Ignatova emphasized the importance of ensuring that the therapies are highly specific, targeting only the defective codons while avoiding natural stop codons to prevent uncontrolled protein production. Moreover, their careful consideration of delivery systems further demonstrated their commitment to minimizing risks like toxicity in unintended organs. Their meticulous approach to safety has influenced how we think about developing and applying these therapies, making it clear that ensuring patient safety is as critical as achieving therapeutic success.' })], - implementation: "Prof. Ignatova's practical advice on cell culture had a transformative impact on our project. By adopting her method for CFBE41o- cells and improving our lab's sterilization protocols, we successfully established the cell line and significantly reduced the risk of contamination. In addition, her emphasis on safety in gene therapy guided us to review our Prime Editing construct and lipid nanoparticle (LNP) design. We focused on minimizing toxicity and off-target effects while ensuring precise targeting of lung tissues and the F508del mutation of the CFTR gene, making our approach safer and more efficient", - summary: "In our interview with Prof. Dr. Zoya Ignatova and Dr. Nikhil Bharti from the Institute of Biochemistry and Molecular Biology at the University of Hamburg, we aimed to deepen our understanding of their research on cystic fibrosis (CF) and explore additional mutations. Their innovative approaches, particularly tRNA-based therapies, aim to restore the function of proteins like CFTR by bypassing premature stop codons, presenting potential treatments for various genetic diseases. They highlighted the importance of precision in therapy to minimize side effects and enhance safety, emphasizing careful delivery systems to avoid toxicity. Prof. Ignatova's practical insights into cell culture techniques significantly improved our lab's success with CFBE41o- cells, guiding us to enhance sterilization protocols and refine our Prime Editing constructs. This transformative exchange underscored the critical balance between achieving therapeutic success and ensuring patient safety.", - language: "en", - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "We have heard you are passionate about iGEM. What inspired you to get involved, and what has your experience been like with the competition?", a: "My journey with iGEM began when I moved to Hamburg in 2014. Back then, Hamburg did not have its own iGEM team. Despite Hamburg lacking an iGEM presence, there were motivated students who were eager to establish a team. We started quite late with me as a principal instructor, around April, with the competition scheduled for October, so we had limited time. However, we managed to form a team and participate. Fortunately, we were successful in convincing the university administration to establish a steady support for the initiative, which ensured stable funding, including covering registration fees early on. This financial and logistical support gave the team the security to focus on their projects. Over the years, the Hamburg iGEM team has become a well-known and respected group at the university. It is a creative environment where students can push the boundaries of science through interesting and impactful projects. I moved on to other duties after several years of supervision, but I am proud to have played a role in its foundation. The university has recognized iGEM within the curriculum of Molecular Life Science, allowing students to earn credit points and have their work reflected on their transcripts. This acknowledgment further incentivizes students and ensures that their efforts are formally recognized." }), - /* @__PURE__ */ jsx71(QaBox, { q: "We have been having trouble with CFBE41o- cells not adhering well. Any advice?", a: "CFBE41o- cells can be tricky when it comes to adhesion, but you do not necessarily need to coat your cell culture vessels with fibronectin unless you are doing very specific studies, such as primary culture comparisons. For seeding, we simplify the process by skipping the PBS washing step. Instead, we seed the cells directly into DMEM supplemented with 10% fetal calf serum (FCS) and streptomycin. These cells may take a few days to recover and begin adhering properly, that usually works without requiring extra coatings." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do you manage fungal contamination in ALI cultures?", a: "Fungal contamination is one of the more frustrating challenges in cell culture because it is difficult to eliminate once it takes place. In cases of contamination, the best course of action is to shut down all ongoing cell culture work and clean everything thoroughly. You should start by running a sterilization cycle in your incubators, which ideally should reach around 180\xB0C. This should kill any fungal spores. If your incubators do not have that capability, you will need to autoclave everything and clean all surfaces and equipment multiple times with ethanol. It is crucial to remove all traces of contamination, as fungal spores can spread rapidly. The key is prevention through rigorous cleaning and maintenance protocols, and unfortunately, sometimes the only solution is to start fresh with new cultures after a full decontamination round." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What are you currently researching?", a: "Our primary research focus is on genetic diseases caused by nonsense mutations, also known as premature termination codons (PTCs). While cystic fibrosis (CF) is a major area of interest due to its high prevalence and the impact of specific mutations like the F508del, our research extends far beyond CF. We are targeting a broader category of genetic diseases that share a common feature\u2014early stop codons that lead to production of truncated proteins, which are non-functional. In CF, for instance, our main goal is to restore full-length CFTR protein production in primary patient-derived cells bearing various PTCs. One approach we are exploring is known as a 'read-through' therapy, which involves bypassing the premature stop codon so that the cell can continue producing the full protein. This strategy is applicable not only to CF but can be used in many other genetic disorders caused by nonsense mutations. Briefly, the read-through therapies we develop are tRNA-based therapeutic approaches, in which we design suppressor transfer RNAs (sup-tRNAs) to selectively target and read through PTCs, restoring the production of full-length disease protein without altering the natural termination codons. It is a highly specific and safe method, and because we are targeting mRNA rather than DNA, it allows for terminating the therapies by any unforeseen side effects." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What are your downstream validation methods?", a: "After we have developed a therapeutic approach, the first step is to validate whether it works at the protein level. First, we check whether the full-length protein is being produced. For CFTR, for example, we look at whether the protein is being correctly synthesized. We also conduct functional tests to ensure its functionality. For CFTR specifically, we test the activity of the ion channel by measuring ion flow through the cell membrane. Another test involves monitoring the height of the air-liquid interface (ALI) cultures, which reports on the ionic balance across the membrane. These functional tests are crucial for confirming that the therapy is not only leading to a production of the protein but is also restoring its function." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How often would patients need to undergo this therapy?", a: "Since our approach is designed to correct nonsense mutations during translation the therapy would need to be administered periodically. Based on our current understanding, we anticipate that patients might need treatment every three to four weeks, but this has to be determined in clinical settings." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How does your tRNA-based approach address safety issues?", a: "Safety is the top priority of our tRNA-based therapeutic approach. At molecular level, we ensure that the suppressor tRNAs we use are highly specific\u2014they are engineered to target only PTCs without affecting natural stop codons, which are essential for terminating the synthesis of every protein. In addition to the specificity, we address the immune response that can be triggered by any nucleic acids, including tRNA. Generally, tRNA has a lower immunogenicity than other molecules, such as mRNA, because of its partially double-stranded structure, which reduces the activation of the innate immune reaction. Another critical safety aspect is the safety of the delivery system. We need to ensure that the tRNA reaches the right type of cells without causing toxicity or accumulating in untargeted tissues like the liver, which is a common issue with many gene therapies. We are also working on optimizing our delivery methods. This precision is key to minimizing side effects and ensuring the safety of our therapy." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Why focus on CF research?", a: "Our involvement with CF research emerged somewhat by chance. Initially, we were deeply interested in understanding the variability in disease, specifically why individuals with the same genetic mutations show different symptoms or present different disease severity. Even siblings or twins with usually similar genetic makeup exhibit different disease outcomes. CF became a focus as we delved into the molecular mechanism of CFTR biosynthesis. However, our work is not confined to CF\u2014we are using the knowledge we gain from CF research and our expertise in protein synthesis and translation to develop treatments for other genetic diseases caused by nonsense mutations. The mechanisms behind these diseases are often similar, so the therapeutic strategies we are exploring can potentially be applied to a range of conditions." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What do you see as the biggest challenge in translating your research to real-world applications?", a: "Safety is the most critical hurdle in translating our research from the lab to clinical applications. Before any therapy can be considered for human use, we need to ensure that it is both safe and effective. In terms of efficacy, we have specific targets we need to meet for each disease. For CF, for example, you only need to restore about 10% of normal CFTR protein function to alleviate the symptoms. However, in other diseases, the therapeutic threshold is much higher, sometimes requiring near-complete protein restoration. Another significant challenge is the small number of patients affected by many rare genetic diseases, which requires regulation bodies to consider this and redefine conditions for clinical trials." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What are good preclinical models for CF research, in your view?", a: "Preclinical models are essential for testing the safety and efficacy of any new therapy. For CF research, one of the most reliable models is the patient-derived air-liquid interface (ALI) cultures, which replicate the lung environment and are mutation-specific. Primary cultures are available through the CF Foundation (USA) and allow researchers to test therapies in a context that closely mimics the human lung. While ALI cultures are excellent models, they are also challenging to grow and require about two months to be set up properly. For earlier-stage experiments, we often use simpler cell lines that are easier to handle. These lines allow us to perform studies at molecular level, such as testing how well a therapy restores protein production. While they do not fully represent the primary epithelial environment of the lungs, they are useful for initial validation steps before moving on to more complex models like ALI cultures." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What are your thoughts on using lipid nanoparticles (LNPs) versus other delivery systems, like AAV vectors?", a: "Lipid nanoparticles (LNPs) are a promising delivery system for many genetic therapies, but they have limitations. While LNPs can effectively target certain organs, such as the lungs and liver, they cannot cross the blood-brain barrier and thus unsuitable (for now) to target neuronal pathologies. For these conditions, adeno-associated viral (AAV) vectors may be more effective, as they exhibit an inherent ability to cross the blood-brain barrier. For CF specifically, we have used LNPs to deliver sup-tRNAs directly to the lungs. We teamed up with an US company that develops safe LNPs used also for vaccines. Delivery methods like intratracheal instillation\u2014where the LNPs are introduced into the trachea\u2014allow for targeting the lung tissue more directly, which is critical for treating CF." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do you view prime editing compared to other gene editing technologies?", a: "Prime editing is an exciting development in the field of gene editing, but it is important to recognize that no single approach is universally superior. Technologies like prime editing, CRISPR-Cas, and our own tRNA-based therapies each have their strengths and limitations. For instance, prime editing offers a highly precise method for correcting mutations directly at the DNA level, potentially providing a one-time, lifelong cure. However, our approach, which focuses on restoring mRNA translation, does not introduce permanent changes to the genome and unforeseen, also individuum-specific side effects, can be counteracted by immediate termination of the therapy. In turn, it requires continuous re-administration over time. Ultimately, the safety and efficacy of any approach must be carefully weighed. We are not yet at a point where we can definitively rank these technologies because the field is still evolving. Each approach has potential, and the choice of which to use will likely depend on the specific disease and mutation being targeted." }) - ] }), - months: "September", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/interview-ignatova/interview-ingatova.webp " - }, - { - vorname: "'MukoDino'", - nachnname: "Thomas Malenke ", - job: "Patient", - affiliation: "and CF Activist", - pictureurl: pics["mukodino"], - tag: "Patient", - heading: "Shaping CF Therapies: Lessons Learned from Patients' Real-World Experiences", - interviewtabid: "dino", - cardtext: "", - quote: "Living with cystic fibrosis has been a journey of perseverance and adaptation. Despite the challenges, I've learned that taking personal responsibility for my health, staying informed, and embracing the advancements in research can lead to a much-improved quality of life.", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "Our goal in reaching out to cystic fibrosis (CF) patients was to gain a firsthand understanding of their day-to-day experiences living with the condition. We aimed to explore how recent advancements in treatments have impacted their lives and transformed their approach to managing the disease. This initiative is vital for our project, as it helps us comprehend the significance of these treatments and their broader implications. A key aspect of our outreach was partnering with the ", - /* @__PURE__ */ jsx71("a", { href: "https://www.instagram.com/accounts/login/?next=https%3A%2F%2Fwww.instagram.com%2Fmukodino%2F&is_from_rle", children: "MukoDino" }), - "who has extensive reach within the CF community. This collaboration enabled us to distribute our survey widely among those affected, as we recognized that we could not conduct as many interviews as we could reach through the survey. We also sought to gather insights on research priorities and the future direction of CF therapies. " - ] })], - insights: [/* @__PURE__ */ jsx71("p", { children: "From talking with the CF patient, we gained some valuable insights that have shaped how we move forward with our project: Firstly, hearing about the day-to-day challenges with current CF treatments was eye-opening. It highlighted just how crucial it is for us to develop therapies that are not only effective but also make life easier for patients. We\u2019ve taken this to heart and are working to make our treatment process as efficient and user-friendly as possible. The patient also talked about the heavy toll that existing treatments can take, both in terms of time and physical strain. This feedback has pushed us to focus on streamlining our approach, especially with our prime editing and inhalation therapy. We want to cut down on the complexity and frequency of treatments, making things simpler and less burdensome for patients. We also learned about the ongoing need for more advanced therapies. The patient stressed the importance of continuing to push the boundaries with modulator therapies and gene editing. This has really driven us to prioritize our spray-dried lipid nanoparticles (LNPs) approach, which aims to deliver gene-editing tools straight to the lungs, tackling the root cause of CF. The discussion also gave us a clearer picture of the global disparities in CF care. It became evident that access to advanced treatments varies a lot around the world. This has made us think about how we can scale our therapy to be more accessible, even in places with fewer resources. The patient\u2019s personal experiences underscored the need for treatments that are tailored to individual needs. We\u2019re using this insight to make sure our therapy can be adapted to different genetic mutations and patient responses. Finally, their emphasis on enzyme development and gene therapy has influenced our research focus. We\u2019re now prioritizing these areas to ensure our work addresses both current needs and future possibilities in CF treatment. Overall, these insights have really helped us align our project with the real-world needs of CF patients, making sure that what we\u2019re developing is both practical and impactful. " })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "We incorporated the CF patient\u2019s insights into our project by making several key adjustments to better align with the real-world needs of CF patients. Understanding the challenges they face and the impact of current treatments helped us refine our approach significantly. Firstly, we focused on developing prime editing via inhalation therapy with spray-dried lipid nanoparticles (LNPs). This method directly targets genetic mutations in the lungs, addressing the patient\u2019s need for more effective and less invasive treatments. We\u2019re also fine-tuning the formulation and delivery of our LNPs to ensure they reach lung tissue efficiently while minimizing any discomfort. The feedback on global disparities in CF care highlighted the importance of creating a treatment that is not only effective but also affordable and accessible. We\u2019re considering how to scale our therapy to make it available in regions with limited access to advanced treatments. Additionally, the emphasis on the need for continued advancements in enzyme development and gene therapy has guided us to balance immediate therapeutic benefits with long-term research goals. This ensures that our project addresses both current needs and future possibilities in CF treatment. By integrating these insights, we aim to ensure our project not only advances scientific understanding but also meets the practical needs of CF patients, ultimately leading to more effective and accessible treatments. " })], - summary: "The aim of our outreach to cystic fibrosis (CF) patients was to gain insights into their daily experiences and how recent treatment advancements have affected their lives. Partnering with MukoDino allowed us to distribute a survey widely, as interviews were limited. Through discussions with patients, we learned about the challenges posed by current treatments, emphasizing the need for therapies that simplify management and reduce physical strain. This feedback has driven our focus on developing more efficient inhalation therapies using spray-dried lipid nanoparticles (LNPs) to deliver gene-editing tools directly to the lungs. We also recognized the global disparities in CF care, motivating us to consider scalability and accessibility for those in resource-limited regions. Patient insights underscored the importance of personalized treatments tailored to individual genetic mutations, prompting us to prioritize enzyme development and gene therapy in our research. Overall, these insights have shaped our project to align closely with the real-world needs of CF patients, aiming for impactful and accessible solutions.", - months: "September", - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "How did you come up with the name \u2018Muko-Dino\u2019?", a: "The name \u2018Muko-Dino\u2019 has a personal history. At a cystic fibrosis meeting, another patient joked that I, as a 58-year-old cystic fibrosis patient, was a \u2018Muko-Dino\u2019. The name alludes to my age, because in the past, cystic fibrosis patients had a much shorter life expectancy. So it was unusual for someone with the disease to still be so active at my age. The name stuck - initially as a joke, but I have since adopted it as a kind of nickname." }), - /* @__PURE__ */ jsx71(QaBox, { q: "When were you diagnosed with cystic fibrosis?", a: "I was diagnosed at the age of six after a sweat test. I had lost a lot of weight in the first year of my life and cystic fibrosis was already suspected, but it took a while before the diagnosis was actually confirmed." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What were your thoughts and those of your family after the diagnosis?", a: "My mum was naturally shocked. When you have a child, you are happy, and then to receive a diagnosis like this is a huge shock. For parents of cystic fibrosis patients, there is always a basic fear because the disease is life-threatening. Today, many parents hope that their child will live to be at least two years old so that they can receive modulators that can greatly improve the symptoms." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What mutation do you have?", a: "I have the Delta 508 mutation in duplicate, i.e. homozygous. This is the most common form of cystic fibrosis mutation and causes the typical symptoms associated with the disease, such as digestive and lung problems." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What were the first steps after the diagnosis?", a: "Back then, in the 1960s, there were hardly any specialised cystic fibrosis outpatient clinics. My paediatrician prescribed me Pankreon, an early enzyme preparation that was supposed to help me with digestion. Nowadays, the process is very different: A child is referred to a specialised outpatient clinic immediately after diagnosis, where they receive comprehensive care. This includes medical care, nutritional counselling, physiotherapy and support with socio-legal issues." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How has treatment changed over the years?", a: "The treatment of cystic fibrosis has improved dramatically over the last few decades. In the past, low-fat diets had to be followed, even with enzymes, which were not as effective as today's preparations. Back then, if you ate something fatty like chocolate or chips, you got diarrhoea. Nowadays, enzymes are much more effective and patients have hardly any dietary restrictions. As far as antibiotics are concerned, resistance is a big issue. That's why doctors change antibiotics regularly to prevent resistance from developing. Modulators have revolutionised the lives of many patients, even if they can trigger psychological side effects in some. But the alternative, frequent pneumonia, is much worse." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do you assess the progress made in cystic fibrosis research?", a: "The progress is absolutely remarkable. When I was born, the average life expectancy of a cystic fibrosis patient was one to five years. Today we are talking about over 60 years. This development is not only due to medical innovations, but also to better adherence on the part of patients, who follow their therapies more regularly and efficiently." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Is there anything you would like to see in the future of therapy?", a: "Personally, I am almost perfectly happy, as the current modulators have given me an enormously improved quality of life. My wish for the entire cystic fibrosis community is that gene therapy will be further developed. A treatment that addresses the genetic causes of the disease would be a huge breakthrough and it would be ideal if this could be achieved without serious side effects." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Which areas of research do you think should be strengthened?", a: "There are a few areas that I consider to be particularly important. On the one hand, enzymes should be further developed in order to work even better and further minimise side effects. Another major topic is bacteriophage research, which could help patients with multi-resistant germs. Modulators should also be further optimised and, of course, gene therapy must be driven forward in order to find a sustainable solution." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What role does personal responsibility play in cystic fibrosis?", a: "Personal responsibility is extremely important. Anyone living with cystic fibrosis has to deal intensively with their own disease and take responsibility for their health. This means regularly informing yourself about new treatment options and being disciplined about your own treatment. If you don't take care of yourself, you run the risk of not fully utilising the advances in medicine. The healthcare system gives you many options, but you have to actively utilise them. Luck definitely plays a role, but it is not enough on its own. I have been lucky in my medical history because I live in a country with good access to medical care and have been able to benefit from the modulators. But even the best luck doesn't help without initiative and commitment. You have to play an active role in making the most of the opportunities that life offers you." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What does your daily routine look like?", a: "My daily therapy takes about two to three hours. This includes taking enzymes and antibiotics as well as inhalations with saline solution and antibiotics. I also do regular autogenic drainage and stretching exercises to support my lungs. It is important to stick to this routine consistently, as even a few days without therapy can lead to inflammation." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What is the most important part of your daily routine?", a: "It's difficult to single out one part because all aspects work together. If I left out the enzymes, I would only be able to eat salad because my body wouldn't be able to absorb any nutrients. Without the modulators and antibiotics, I would quickly get pneumonia, which means I would have to take weeks off. So regularity is the key to staying healthy in the long term." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you do any sporting activities?", a: "Yes, I cycle to work every day and take the stairs to the eighth floor where I have my office. I don't do intensive sports like going to the gym, but I do exercise regularly in my everyday life, which is very important for my health." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you use physiotherapy?", a: "I do my own physiotherapy at home as I have learnt the techniques well over the years. I used to visit a physiotherapist regularly, but I no longer need to. Also, there are hardly any specialised physiotherapists for cystic fibrosis patients in my area." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Which organ affects you the most in your everyday life?", a: "Thanks to the modulators, none actually. But if I don't take the enzymes, I can't eat anything, which leads to rapid weight loss. Without the antibiotics and modulators, I would be more susceptible to infections and would quickly develop pneumonia, which would require weeks of recovery." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Have you or anyone close to you taken part in clinical trials?", a: "I personally have not participated in clinical trials, but I encourage other patients to do so, as trials are often the only way to test and develop new treatments." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What impact do advances in cystic fibrosis research have on patients' lives?", a: "Advances in cystic fibrosis research have had an enormous positive impact on patients' lives. In the past, life expectancy at diagnosis was often only a few years. Today, many patients can live into old age. The introduction of modulators that specifically stabilise the disease-causing proteins and improve their function has significantly improved patients' quality of life. Research has also contributed to patients being better informed about their disease and having effective therapies available, leading to better overall disease management." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do you assess the differences in the treatment and support of cystic fibrosis patients in Germany compared to other countries?", a: "In Europe, especially in Germany, we live at a very high medical level, even if there are challenges such as the shortage of specialists. The difference in prosperity in the USA is greater, but at the same time it is also a driver of innovation. Compared to countries as some third-world countries, where cystic fibrosis patients have to wait in hospitals for appointments between infectious patients, we are complaining at a high level here. There is always room for improvement, but overall we have a brilliant healthcare system." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Do you feel sufficiently informed by the available sources of information?", a: "Yes, the information situation is good. You can find sufficient information from organisations such as the CF Foundation, the CF Trust and Mukoviszidose e.V.. However, you have to get involved yourself and actively seek out the information." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Is there anything else you would like to tell us?", a: "It is important to understand that CF patients are very different, including in terms of their cultural and family background. In addition, surveys and questions should be reviewed in advance by patients or parents to ensure that they are understandable and do not contain unfortunate wording. If you need any help or anything, I would love to help you. Send me the link as soon as the website is ready and I'll give you feedback. I can also circulate the survey in the community. I'm always available if you have any further questions or need support." }) - ] }), - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/zoom-mukodino.webp" - }, - { - title: "Dr. Kerstin Landwehr", - vorname: "Senior Physician for Pediatrics & Pneumology and", - nachnname: "Elena Wiesler", - job: "Psychologists in child & adolescent medicine ", - affiliation: "at Bethel Hospital in Bielefeld", - pictureurl: pics["bethel"], - tag: "Medical Professional", - heading: "Holistic Care for Cystic Fibrosis: Exploring the Psychological Impact and Role of Gene Therapy", - interviewtabid: "psychol", - cardtext: "", - language: "de", - quote: "Many families are confronted with extremely high therapy and treatment costs. These are often expensive and unavailable everywhere.", - quoteVorname: "Elena", - quoteNachname: "Wiesler", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "In previous interviews, ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "maxfirst", text: "Max" }), - " and ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "dino", text: "Thomas" }), - " shared how the psychological burden of living with cystic fibrosis weighs heavily on patients. Parents ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "joshua", text: "Joshua" }), - " and ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "julia", text: "Julia" }), - " also emphasized that mental health challenges are a major issue for both patients and their families. This prompted us to delve deeper into the psychological, social, and medical difficulties faced by cystic fibrosis (CF) patients and their support systems. A key goal was to understand how gene therapies are perceived and how they may affect the quality of life for CF patients. We aimed to gather insights from various perspectives\u2014patients, caregivers, and healthcare professionals\u2014to ensure our project aligns with their needs and addresses the most pressing challenges. Given the complexity of these psychological aspects, it was crucial for us to engage with psychologists to gain a professional, expert opinion. We visited the medical professionals at the klinikum bethel. Their input helped us better understand the mental health impacts of CF and the potential emotional adjustments required when integrating gene therapies into treatment plans. This guidance was invaluable in shaping our approach to developing a holistic solution that addresses not only the medical needs but also the emotional well-being of patients and their families. It informed our Integrated Health Program (IHP) strategy, emphasizing the importance of interpersonal relationships, effective communication, and community engagement, extending beyond purely scientific considerations. " - ] })], - insights: [/* @__PURE__ */ jsx71("p", { children: "Through our discussions, several valuable insights emerged that have significantly deepened our understanding of the challenges faced by CF patients and their families: CF patients and their families often endure immense psychological strain. Anxiety, depression, and frustration are common, exacerbated by the constant uncertainty about the disease\u2019s progression and the effectiveness of new treatments. The emotional toll is profound\u2014not just due to the physical burden of the illness, but also because of the hope and fear that come with emerging therapies. While new treatments bring promise, they also raise concerns about their potential success and the unknowns that accompany them. There\u2019s a strong sense of optimism regarding gene therapies, as they hold the potential to significantly improve both life expectancy and quality of life for CF patients. Many are eager to embrace these innovations, seeing them as a long-awaited breakthrough. However, this excitement is often mixed with concerns about side effects, the accessibility of these therapies, and their long-term effectiveness. The prospect of such treatments brings hope, but also a degree of scepticism, particularly around whether they will be accessible to all who need them. Psychological support, family counselling, and the involvement of patient communities are essential in helping patients and their families cope with the emotional and mental challenges of both the disease and its treatments. The strength of these support systems can make a profound difference in how well patients navigate the challenges of living with CF, particularly when adapting to new therapies. We also learned that while new therapies are exciting, their success often depends on their practicality. Treatments that are complex, invasive, or burdensome are less likely to be adopted, even if they promise significant benefits. Simplicity, ease of use, and reducing the treatment burden are critical factors in ensuring patients fully engage with and benefit from these therapies. These insights have shaped our approach, reinforcing the importance of considering both the psychological and practical aspects of new gene therapies, to better address the needs of CF patients and their families. " })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "These findings directly influenced several key areas of the project. We adapted the project to emphasise ease of use and minimal disruption to patients' daily lives. For example, we focused on developing a therapy delivery system that was as non-invasive as possible. Recognising the mental health challenges, we integrated our project with a simple therapeutic method to reduce the mental burden on patients. We have emphasised transparency in communicating the benefits, risks and expectations of gene therapy to ensure that patients have a realistic understanding of the potential outcomes. This includes working closely with patient organisations to disseminate clear and accurate information. We are actively engaging with CF patient communities and healthcare professionals to gather ongoing feedback and ensure that the project evolves based on real patient experiences and challenges. Therefore we used our survey to gather feedback from patients and their families. By integrating these insights, we aim to create a gene therapy project that addresses not only the medical needs, but also the emotional and practical concerns of CF patients and their families. " })], - summary: "Our project aims to address the psychological and medical challenges faced by cystic fibrosis (CF) patients and their families, particularly regarding gene therapies. We engaged with psychologists and gathered insights from patients and caregivers, revealing significant emotional strain and a mix of optimism and concern about new treatments. Key findings highlighted the importance of psychological support and the practicality of therapies in ensuring patient engagement. In response, we are developing a user-friendly therapy delivery system that minimizes disruption to daily life while emphasizing transparent communication about treatment risks and benefits. Our goal is to create a comprehensive gene therapy solution that meets the medical and emotional needs of CF patients.", - months: "September", - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "Which psychological challenges are particularly relevant for cystic fibrosis patients?", a: "Psychological problems are often a major issue for cystic fibrosis patients. Many patients experience anxiety and depression, and their parents are also often affected. This is exacerbated by the constant strain and stress associated with the disease. Special attention is therefore paid to psychological support during diagnosis and ongoing treatment. Regular screenings for anxiety and depression as well as the early involvement of parents in the treatment process are central components of care." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What significance do the new therapies have for cystic fibrosis patients?", a: "New therapies are \u2018game changers\u2019 for cystic fibrosis patients, as they significantly improve life expectancy and quality of life. In the past, cystic fibrosis was mainly a paediatric disease with a short life expectancy. Today, new therapies make it possible to significantly extend life expectancy and improve quality of life. Nevertheless, the disease persists, and patients still require comprehensive treatment. Improving quality of life through early and continuous therapy therefore remains of great importance." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How is psychological support integrated into regular treatment?", a: "Psychological support is an integral part of the treatment of cystic fibrosis. Care is taken to ensure that both patients and their families are supported at an early stage. This includes regular screenings for anxiety and depression, psycho-educational measures and, if necessary, further psychotherapeutic support. The team works on an interdisciplinary basis to ensure that all aspects of patient care are taken into account. If necessary, external help is also arranged." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How is co-operation between medical specialists and psychologists improved?", a: "The collaboration between medical specialists and psychologists is characterised by short communication channels and close cooperation. Specialists can exchange information quickly and make decisions together. This enables comprehensive and coordinated care for patients. Effective communication channels are already in place and this close co-operation is seen as very positive. Improvements could be achieved through additional time slots for dialogue or expanded resources." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do families react to the news of a serious diagnosis and how important is it that they receive support at an early stage?", a: "Families are often shocked at first when they receive the diagnosis. They first have to come to terms with it and process it. Initially, many don't ask for psychological support straight away, although that would be helpful. It would be good if they were informed about all available resources at an early stage, even if they don't want to make use of them straight away." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How does access to gene therapy affect the psychological distress of patients and families?", a: "Access to gene therapy can have a significant impact on psychological distress. When therapy is effective, families often see great progress and feel relieved. But if there is no suitable therapy, many are stuck with older, less effective treatments, which can lead to frustration and a sense of disadvantage. The difference in quality of life and outlook is huge." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do patients and families feel about gene therapy compared to traditional therapies?", a: "The willingness to participate in gene therapies is often high, especially if the existing therapies are not sufficient. There is a great openness to new approaches, even if they are new and possibly not yet fully tested. The hope for progress and improvement is strong, but there are also concerns and uncertainties about new therapies." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What psychological challenges can arise following the introduction of new therapies?", a: "New therapies not only bring relief, but also challenges. Patients and families have to adapt to a changed reality. Identity crises can occur, especially if the illness has been a big part of life for a long time. The process of adjustment and the possible feelings of alienation from the previous community can cause additional psychological stress." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How important is comprehensive information and psychological support in connection with gene therapies?", a: "It is extremely important that patients receive comprehensive information and psychological support. People should know what they can expect from the therapy and what adjustments might be necessary. Talking openly about possible disappointments and challenges can help them to cope better with the changes." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How does the role of support groups and patient organisations influence confidence in new therapies?", a: "Support groups and patient organisations are crucial for confidence in new therapies. If they are actively involved in research and provide transparent information, this strengthens patient confidence. The use of donations and the establishment of registries by such organisations creates trust and shows that there are serious efforts to improve the situation." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What are the challenges in adapting therapies to different genetic mutations?", a: "Adapting therapies to different genetic mutations is a major challenge. While there has been progress in the treatment of certain mutations such as Delta-F508, we are still at the beginning with others. In the long term, a modular gene therapy that is customised to the specific mutations would be ideal. It will take a lot of work to develop these therapies for all relevant mutations." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do families and patients deal with the rapid feedback on experimental therapies?", a: "If you realise that a therapy is not working as expected, this is communicated very quickly. The feedback system is quite effective: either there is cause for euphoria because everything is going well, or there is bad news. This quick feedback is also reassuring because it means you don't have to be in the dark for long. You are simply grateful when you know how the therapy is going, even if it is not having the desired effect." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How important is the community for cystic fibrosis sufferers?", a: "The cystic fibrosis community is incredibly strong and well connected. That's really impressive. Those affected often have no other point of contact than this community to exchange information. It's a reliable source of valid information, and that's worth its weight in gold. The community is honest and realistic - there is no sugarcoating, the information is direct and well documented." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What is the relationship between different specialist disciplines in the treatment of cystic fibrosis?", a: "In cystic fibrosis treatment, the specialist disciplines work together as equals. At congresses, all disciplines such as physios, doctors, psychologists and nutritionists are equally represented. Everyone takes each other seriously and there is a strong interest in developing each other further. This is really exciting because it shows that everyone is working together to provide the best care." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do families deal with the challenges of therapy and the financial aspects?", a: "Many families are confronted with extremely high therapy and treatment costs. There has been progress and many treatment options in Germany, but these are often expensive and not available everywhere. As a result, some families are forced to leave their home country in order to receive better medical care. This is an enormous burden and shows how unfair the distribution of resources is worldwide." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How is medical care for refugees organised?", a: "For refugees from countries such as Ukraine or other crisis areas, care is often a challenge. During emergency care, the children are treated as if they were German patients. But when the refugees have to return to their home countries, the therapy often ends, which is an enormous burden for the families. It is difficult for them to prepare for the future when their status is unclear, and they constantly live with the fear of being deported." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How much psychological stress is caused by therapies and their implementation?", a: "Therapies can be a major psychological burden, even if they have fundamentally positive effects. Regular inhalations, tablets and other treatments are often tedious and require a lot of discipline. Some patients find it extremely challenging to stick to a regular therapy schedule, especially if the therapy does not bring any immediately visible progress in the long term. It is important to be realistic about the burden of therapy, as it can have a major impact on daily life and well-being." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do patients react to new therapies and the associated challenges?", a: "Many patients are open to new therapies but implementing them can be a major challenge. If a new therapy doesn't work immediately at first or even has side effects, this can be demotivating. This is particularly difficult if you have been undergoing treatment for a long time and are hoping to make great progress. The path to a better condition is often arduous and not every therapy brings the desired improvement. Nevertheless, it is important to keep going and persevere with the therapy, even if there are hard times." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How much of the overall illness is psychological distress, in addition to the physical symptoms and distress from therapies?", a: "The psychological part of the burden is difficult to quantify, as it varies greatly from individual to individual and is influenced by many factors. The interaction between psychological stability and physical health is considerable, as psychological stress can impair self-care and thus physical health. At different stages of life, the psychological component can vary. For example, it can increase during puberty and young adulthood. The psychological component is therefore not small and varies depending on the individual situation and phase of life." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How is the visibility of the disease assessed through projects such as MukoMove or projects for children?", a: "The visibility of the disease through such projects can be helpful in raising awareness. With rare diseases such as cystic fibrosis, the disease often remains abstract if there are no people directly affected nearby. Educational projects such as MukoMove can help children develop a better understanding of the disease, even if the impact is limited if there are no direct points of reference. However, it can be helpful if patients themselves explain their disease in schools or classes, as this provides direct and personal insights." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What are important aspects of designing a gene therapy project so that it is viewed positively by cystic fibrosis patients?", a: "When designing a gene therapy project, care should be taken to minimise the practical hurdles. The therapy" }), - /* @__PURE__ */ jsx71(QaBox, { q: "What tips can be given to improve the accessibility and acceptance of projects or therapies in cystic fibrosis patients? ", a: "It is important to ensure the accessibility of projects and that they are practical to implement. The burden on patients should be minimised. This includes ensuring that the therapy is not only effective but also as pleasant as possible. In addition, communication about the progress of the therapy should be transparent and understandable to build trust and make it clear to patients how they can benefit from the new developments. " }) - ] }), - pictureurl_aim: "https://static.igem.wiki/teams/5247/integrated-human-practices/on-our-way-to-interview-psychologists.webp" - }, - { - title: "Dr.", - vorname: "Makoto", - nachnname: "Saito", - job: "Postdoc", - affiliation: "Broad Institute of MIT and Harvard", - pictureurl: pics["saito"], - tag: "Academia", - heading: "Insights and Recommendations from Interview on Protein Engineering", - interviewtabid: "saito", - cardtext: "", - language: "en", - quote: "X", - aimofcontact: "The aim of the interview was to gain deeper insights into the topic of protein engineering, especially with regard to Fanzor (SpuFz) and to get feedback on our existing approaches for possible nickases, as well as for the planned nickase assay. ", - insights: "The interview provided the iGEM team with valuable advice regarding their Prime Editing project and especially on their planned nickase assay. Dr Saito gave detailed feedback on technical challenges, especially with protein expression in E. coli, and suggested switching to yeast for better results. He also encouraged the team to plan carefully, given the project's complexity, and offered guidance on future experiments.\u202F ", - implementation: "We have adapted our planned nickase assay according to Dr Saito's advice and changed it accordingly to expression of the RNP complex using yeast.", - summary: "The interview aimed to gain insights into protein engineering, particularly regarding Fanzor (SpuFz), and to get feedback on potential nickases and a planned nickase assay. Dr. Saito provided valuable advice, suggesting the use of yeast for protein expression over E. coli due to technical challenges and encouraged careful planning. Based on his feedback, the iGEM team has adapted their nickase assay to express the RNP complex in yeast, aligning with Dr. Saito's recommendations.", - months: "august", - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "Are you familiar with iGEM, by the way?", a: "Of course, I know it." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Did you participate yourself at some point?", a: "Unfortunately, I didn't. I belong to an earlier generation. iGEM actually started relatively recently." }), - /* @__PURE__ */ jsx71(QaBox, { q: "We thought for the structure of the interview, we would start by giving you a brief overview of our project so far to familiarize you with it. Then, we\u2019ll move on to the questions. Is that okay?", a: "Yes, of course, please go ahead." }), - /* @__PURE__ */ jsx71(QaBox, { q: "We've been working on this project for more than half a year now. It began because one of our team members has a friend with cystic fibrosis. That got us interested in the topic. We started by investigating how gene editing technologies like CRISPR-Cas9 could be applied to cystic fibrosis. Then, we explored prime editing and considered if it could be used for this disease or adapted for other applications. Initially, we wondered if we could make prime editing more compact, especially since delivery is challenging due to its large complex size. We looked into various delivery methods, including AAVs (Adeno-Associated Viruses). Our first approach was to explore alternative nickases and possibly engineer new ones. That's how we came across your research \u2013 Fanzor. We also considered other candidates like CasX. Are you familiar with CasX?", a: "Yes, I am." }), - /* @__PURE__ */ jsx71(QaBox, { q: "We're also experimenting with changes to the editing complex itself. In addition, we aim to deliver the editing complex using nanoparticles. We chose to focus on the lungs, hoping that targeting this area would reduce the need for AAV viruses, making the delivery less immunogenic and not as limited by size.", a: "So, in this iGEM project, you're working on both reducing the size of the prime editor and developing nanoparticles for delivery?" }), - /* @__PURE__ */ jsx71(QaBox, { q: "Yes, that\u2019s the plan. Before we start with the main questions, how much time do you have? Is half an hour okay?", a: "No problem, half an hour is fine." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Great! Then, let\u2019s start with the first question. Our approach to modifying the endonuclease FANZOR started with understanding its mechanism. Could we go over this mechanism with you to ensure we understood it correctly?", a: "Of course, please go ahead." }), - /* @__PURE__ */ jsx71(QaBox, { q: "As we understand it, the FANZOR protein has different domains, including the RuvC and the NUC domain. The RuvC domain cuts the DNA after binding. Is that correct?", a: "Actually, we don't call this domain the NUC domain anymore. In the past, about eight years ago, researchers thought it was a nuclease domain, called the 'NUC' domain. However, now we know that this domain itself does not have catalytic activity. We call it the TNB domain, derived from the protein's ancestor, TNPB." }), - /* @__PURE__ */ jsx71(QaBox, { q: "I see. Thank you for clarifying. We also noticed that Cas9 has two catalytic domains, which allow for mutation of one or two of them to create a nickase, making single-strand cuts. Is this similar with Cas12 elements?", a: "It's a bit more complicated with Cas12. This project, in particular, is very advanced and involves understanding the nuances of these domains. The paper on Cas12 prime editing discusses how mutations can affect functionality. In FANZOR, you might be able to attempt similar mutations, though I haven't personally tried them." }), - /* @__PURE__ */ jsx71(QaBox, { q: "That aligns with our thinking. We recently looked at a paper describing the engineering of Cas12a into a nickase. Our approach involves investigating similar patterns in FANZOR. For example, we identified two key amino acids \u2014 glutamine and arginine \u2014 that appear to interact with the DNA.", a: "I agree that targeting specific domains is a potential approach. However, altering an enzyme to gain a new function is challenging. The Cas12a paper provides a path forward by showing how certain domains can be mutated to create nickases. Actually, this project is really important and at the forefront of science. Researchers worldwide are working on developing smaller CRISPR-Cas-like prime editors." }), - /* @__PURE__ */ jsx71(QaBox, { q: "That\u2019s awesome to hear, thank you for this feedback. We plan to test this concept. One of our ideas is to mutate specific amino acids in the TNB domain of FANZOR to see if it changes its functionality. We have ordered these different versions of FANZOR.", a: "That\u2019s a reasonable approach. However, be cautious. If the mutation destabilizes the protein, it might not be expressed correctly. But it's worth trying, as the outcome can vary depending on the mutation and the protein." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Yes, we are aware of that risk. We\u2019re also planning to use in vitro assays to test our candidates. We designed guide RNAs and will use gel electrophoresis to analyze the results, looking for nicking or double-strand cuts.", a: "Interesting. Are you planning to purify each candidate protein?" }), - /* @__PURE__ */ jsx71(QaBox, { q: "Yes, but we cannot use yeast, so we will try producing the proteins in E. coli and then purify them. We\u2019ll combine them with in vitro-transcribed omega RNA. Do you think that would work?", a: "It might not work with E. coli for FANZOR. In our experience, E. coli cannot produce the holoenzyme of FANZOR without its associated RNA. We initially tried E. coli but then switched to yeast, which allowed us to obtain functional protein-RNA complexes." }), - /* @__PURE__ */ jsx71(QaBox, { q: "That\u2019s valuable insight. Is the reason E. coli fails because it cannot properly form the protein-RNA complex?", a: "Possibly. The exact reason isn\u2019t clear, but we found that only in yeast, where the protein and RNA are co-expressed from their native loci, could we obtain a functional complex. We also tried replicating this setup in E. coli, but it didn't work." }), - /* @__PURE__ */ jsx71(QaBox, { q: "This is really helpful information. We will consider switching to yeast. Do you have any advice on how to quickly transition our approach from E. coli to yeast?", a: "You can certainly use yeast. It\u2019s not too difficult. You could order the plasmids from Addgene and start culturing yeast. Does your iGEM team have the ability to work with yeast?" }), - /* @__PURE__ */ jsx71(QaBox, { q: "Yes, we can. We've just never worked with yeast before because it seemed easier to use E. coli. But it\u2019s good to know that it\u2019s manageable.", a: "Yes, it is. We used a yeast strain called BCY123, which contains the galactose induction system. For protein induction in yeast, this system is necessary. If you use another yeast strain, make sure it has the capability for galactose induction." }), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Got it, we will consider using Gibson assembly. Once we clone our mutation candidates into your plasmid, we\u2019ll express the RNA-protein complex in yeast and purify it from there. Is that correct?", - a: "Yes, that's the right approach. The plasmid we used has an MBP-tag for purification, which works better than a His-tag. It avoids the high background that His-tags often introduce." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Thank you for this advice. We also have a question about the yeast strain you used, BCY123. Is it crucial to use this specific strain, or could we use an alternative as long as it supports galactose induction?", - a: "In theory, you can use any yeast strain that allows galactose induction. However, I recommend following the working protocol with BCY123 since it has already been proven to work. It\u2019s the safest way to ensure consistency in your experiments." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "Perfect, thank you very much for all your detailed answers! That would be it for the interview, it was a pleasure getting to know you!", - a: "Thank you! I\u2019ll be in Tokyo at RIKEN, one of the top science institutes in Japan. If you know any German students interested in coming to Japan, please let them know. We have various opportunities for internships or short stays." - } - ), - /* @__PURE__ */ jsx71( - QaBox, - { - q: "That\u2019s wonderful to hear. Thank you so much for your time and valuable insights.", - a: "My pleasure. I wish you the best of luck with your project. Feel free to reach out anytime. Goodbye!" - } - ) - ] }), - pictureurl_interview: "https://static.igem.wiki/teams/5247/integrated-human-practices/saito.webp" - }, - { - title: "Dr. rer. nat. ", - vorname: "Marcus", - nachnname: "Berger", - job: "GXP ", - affiliation: "Expert", - pictureurl: pics["gxpexpert"], - tag: "Industry", - language: "de", - heading: "Deep Dive into Good Practise, GxP ", - interviewtabid: "gxpexpert", - cardtext: "", - quote: "Minimum requirement: Acute toxicity study on animals - important for calculating the starting dose for humans. In addition, pharmacological studies, genotoxic studies and immunotoxic studies. In your case also chronic toxicity studies.", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "The aim of our contact with GxP expert ", - /* @__PURE__ */ jsx71("a", { href: "https://gxpexpert.de/", children: "Dr. Marcus Berger" }), - " was to gather insights and ask questions about how to proceed with the Precyse project, clarifying the next steps required for its continued development, particularly concerning regulatory strategy, quality management, and clinical development. GxP, which stands for \u2018Good Practice\u2019 guidelines, encompasses various regulations and standards intended to ensure quality and compliance in the development and manufacturing of pharmaceutical and biopharmaceutical products. " - ] })], - insights: [/* @__PURE__ */ jsxs46("p", { children: [ - "From the discussion with Dr. Berger expert, we gained several key insights into how to proceed with the Precyse project. First, it became clear that obtaining a Scientific Advice from the Paul-Ehrlich-Institut ", - /* @__PURE__ */ jsx71("a", { href: " https://www.pei.de/DE/home/home-node.html", children: "(PEI)" }), - "is essential to get qualified feedback on our development project and align our regulatory strategy. The expert emphasized the need to collect and document preclinical data, including acute and chronic toxicity studies, genotoxicity, immunotoxicity, and carcinogenicity studies, as well as conducting safety pharmacology and biodistribution studies to ensure a thorough understanding of the substance's mechanism of action. The expert also provided guidance on how to establish a GxP-compliant quality management system (QMS), stressing the importance of setting up a robust SOP system for manufacturing, preclinical, and clinical development. This system must adhere to ICH Q10 guidelines, ensuring that the quality control processes are in line with regulatory expectations. Furthermore, we learned about the critical initial steps for validating and verifying the manufacturing process, including defining the physical and chemical properties of the active substance and excipients, developing the pharmaceutical formulation, and identifying critical quality attributes (CQAs) and critical material attributes (CMAs). The ICH-GCP guidelines, which apply to all clinical trials, are essential for ensuring the integrity and safety of clinical development. These guidelines include E2A-E2F, which cover topics like clinical safety data management and adverse event reporting, E3 for clinical study reports, E5 for handling ethnic factors, and E9 for statistical principles. Additionally, E14 is crucial for managing cardiovascular risks, an especially important consideration for gene therapies, where monitoring for heart-related side effects is critical. Guidelines like E15 and E16 address biomarkers and pharmacogenomics, helping tailor clinical development to the specifics of the treatment being tested. Implementing these GCP requirements ensures compliance, patient safety, and data integrity throughout the trial process. In terms of process scale-up, the expert advised focusing on defining critical process parameters (CPPs) and ensuring that the process design and control strategies are well-understood before scaling production from the lab to a commercial scale. Additionally, we discussed the need to develop a control strategy, implement in-process controls, and ensure that process variability is continually monitored to support ongoing improvements. These insights clarified the immediate and future steps required to move Precyse forward, particularly in terms of regulatory submissions, quality management, and production scale-up. " - ] })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "We used the insights from the expert to outline the possible next steps for Precyse. This included planning the collection of necessary preclinical data, setting up a GxP-compliant QMS, and preparing for regulatory submission. We also began drafting a strategy for process validation and scaling up production, ensuring that we are aligned with both regulatory and operational requirements. This expert feedback helped us establish a clearer path for the continued development of Precyse. " })], - summary: "In our consultation with GxP expert Dr. Marcus Berger, we gained key insights to advance the Precyse project, focusing on regulatory strategy, quality management, and clinical development. He emphasized obtaining Scientific Advice from the Paul-Ehrlich-Institut (PEI) and collecting essential preclinical data, including toxicity and biodistribution studies. We also learned how to theoretically set up a GxP-compliant quality management system (QMS) following ICH Q10 guidelines and the importance of critical quality attributes (CQAs) in process validation. Dr. Berger provided guidance on scaling production and following ICH-GCP guidelines for clinical trials, especially for managing risks in gene therapies. This expert advice helped us plan the next steps for Precyse, including preclinical data collection, QMS setup, and production scale-up.", - months: "September", - interview: /* @__PURE__ */ jsxs46(Fragment30, { children: [ - /* @__PURE__ */ jsx71(QaBox, { q: "How do we define the regulatory strategy (e.g. IND/IMPD applications)?", a: "The regulatory strategy includes the planning of clinical and preclinical development in accordance with applicable regulations, such as CTR 536/2014 in Europe. Planning, conduct, documentation, and reporting applies to clinical trials." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What initial steps are necessary to prepare the submission to the competent authorities?", a: "Firstly, a Scientific Advice should be requested from the competent authority. This enables early feedback on the planned development of the substance, which helps to optimise the submission strategy. Scientific advice from authorities such as the Paul Ehrlich Institute ensures that the requirements are correctly understood and implemented. It is also necessary to think about how you want to develop the substance." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What preclinical data must be collected and documented in order to fulfil the authorisation requirements?", a: "Acute and chronic toxicity studies, genotoxicity and immunotoxicity studies, carcinogenicity studies, safety pharmacology and studies on biodistribution and the mechanism of action of the substance are required. Therefore, check the official website ICH." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Which authorities should we consult at an early stage in order to harmonise the regulatory requirements?", a: "In Germany, the Paul-Ehrlich-Institute is the central authority for drug development and authorisation." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do we start setting up a GxP-compliant quality management system (QMS)?", a: "The establishment of a QMS is based on the implementation of an SOP system for manufacturing, preclinical, and clinical development, based on the ICH Q10 guidelines." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What initial validation and verification steps are required for our manufacturing processes?", a: "The physico-chemical properties of active ingredients and excipients must be determined. This includes the definition of the pharmaceutical formulation, the manufacturing process and the starting materials as well as the definition of Quality Target Product Profiles, Critical Quality Attributes, and Critical Material Attributes. The next step is process design and understanding the critical process parameters and scale-up principles. Then develop a control strategy with specifications for active substance, excipient & finished drug product. After that establish an in-process control and think about process capability and continuous improvement. Therefore measure variability of the manufacturing process." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What measures are necessary to ensure documentation and traceability?", a: "A document control system must be implemented to ensure traceability and documentation." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What steps are necessary to scale up the production processes from laboratory to production scale?", a: "GMP experts should be consulted for detailed information on scaling. I can't help you with this point. The GMP lecturers are the right people to talk to." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do we develop an initial clinical development strategy to move from preclinical studies to first-in-human (FIH) studies?", a: "The minimum requirements include acute toxicity studies in animals to calculate the starting dose for humans. In addition, pharmacological studies, genotoxic studies and immunotoxic studies. In your case, also chronic toxicity studies. Design of a FIH study for dose escalation, including starting dose, sequential study design and stopping rules. Identification of the toxic limit and the so-called Recommended Start Dose for Phase 2. The guidelines on quality, non-clinical and clinical requirements for investigational advanced therapy medicinal products in clinical trials can be found at the European Medicines Agency (EMA)." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Which GCP requirements need to be implemented to support clinical development?", a: "The ICH-GCP guidelines apply to all clinical trials and include the E2A - E2F; E3; E5; E9; E15; E16 guidelines and E14, which is important for the management of cardiovascular risks, especially important for gene therapies, among others." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do we conduct a risk analysis to identify challenges in development and launch?", a: "Risk analyses should be conducted for pharmaceutical, preclinical, and clinical development to identify potential challenges." }), - /* @__PURE__ */ jsx71(QaBox, { q: "Which product safety and efficacy risks need to be prioritised and managed?", a: "Risks to be prioritised include the starting materials, critical process steps in manufacturing and the bulk product. It is essential to carry out proactive process validation and establish a change management system." }), - /* @__PURE__ */ jsx71(QaBox, { q: "What initial steps do we need to take to analyse the market and prepare for market access?", a: "A stakeholder analysis of the market participants and a comparison of the new therapy with the standard therapy are required. Physician networks should be identified and the pricing strategy defined, taking into account the GBA and the health insurance funds." }), - /* @__PURE__ */ jsx71(QaBox, { q: "How do we develop a strategy for the protection of intellectual property and patents?", a: "The strategy should include patent applications in the following order: First for the active ingredient and the formulation (product patent), then the manufacturing route as process patent and followed by indication as use patent. Finally, a utility model may also be useful." }) - ] }) - }, - { - vorname: "Physical ", - nachnname: "and Biophysical Chemistry ", - job: "Working group ", - affiliation: "University Bielefeld ", - language: "en", - pictureurl: pics["physik"], - tag: "Academia", - heading: "Performance of Experiments for LNP characterization ", - interviewtabid: "biophysik", - cardtext: "", - quote: "x", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "For our project, we collaborated closely with the Physical Chemistry workgroup to properly categorize our lipid nanoparticles (LNPs). We reached out to them to leverage their expertise and ensure that our characterization was thorough and precise. Marco, Uwe, and Yvonne were instrumental in this effort, not only advising us on appropriate characterization methods but also actively assisting us during the experimental process and data analysis. " })], - insights: [/* @__PURE__ */ jsx71("p", { children: "We employed several analytical techniques, including Transmission Electron Microscopy (TEM), Scanning Electron Microscopy (SEM), Dynamic Light Scattering (DLS), and zeta potential analysis. TEM and SEM allowed us to visualize the structural morphology of the LNPs, providing detailed images to understand their size and shape on the nanometer scale. DLS was used to measure the size distribution of the particles in solution, while the zeta potential analysis gave us insight into the surface charge, which is crucial for understanding stability in suspension. " })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "Thanks to the guidance and hands-on support of the Physical Chemistry team, we successfully completed these tests, gaining detailed insights into our LNPs that will be crucial for our project's further development. Their expertise not only streamlined the process but also ensured the reliability and accuracy of our results. Here a sneak peak of the results \u2013 take a look at the image of our SORT LNP taken via TEM. " })], - summary: "We collaborated with the Physical Chemistry workgroup to accurately characterize our lipid nanoparticles (LNPs). Their expertise, particularly from Marco, Uwe, and Yvonne, was invaluable in selecting and applying various analytical techniques, including Transmission Electron Microscopy (TEM), Scanning Electron Microscopy (SEM), Dynamic Light Scattering (DLS), and zeta potential analysis. This collaboration not only enhanced our understanding of the LNPs' size, shape, and stability but also ensured the reliability of our results. With their guidance, we successfully completed our tests, providing crucial insights for the project's advancement.", - months: "September", - pictureurl_interview: "https://static.igem.wiki/teams/5247/delivery/cryo-em.webp", - pictureurl_implementation: " https://static.igem.wiki/teams/5247/delivery/tem-sort-lnp1.webp" - }, - { - title: "M.Sc.", - vorname: "Hakan", - nachnname: "Soyt\xFCrk", - job: "PhD Student Faculty of Biology / Working Group", - affiliation: "University Bielefeld ", - language: "en", - pictureurl: pics["hakan"], - tag: "Academia", - heading: "Helping and conducting experiments with yeast cells", - interviewtabid: "hakan", - cardtext: "", - quote: "Just hand me over the strain and the vector, I will try to take care of the rest.", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "After our interview with ", - /* @__PURE__ */ jsx71(HPLinktoOtherHPTab, { tab: "saito", text: "Makoto Saito" }), - "we learned, that he was not able to express the SpuFz1 protein in E. coli and recommended we used yeast to produce it. We were provided with a yeast expression strain and a suitable vector to clone the coding sequence into, but we lacked the necessary know-how and the facilities to transform yeast, select for positive transformants and cultivate the yeast. " - ] })], - insights: [/* @__PURE__ */ jsx71("p", { children: "Hakan generously agreed to carry out the transformation and prepare potential positive transformants for cultivation for us, leaving only the purification of the proteins from the supernatant for us to do. " })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "Hakan performed the transformation of a pPIC9K-n3SpuFz1 construct we created into Yeast. Unfortunately, the first attempt of transformation did not yield any positive clones. However, we value his spontaneous and extensive support as a great contribution to our project. " })], - summary: "We collaborated with the Physical Chemistry workgroup to accurately characterize our lipid nanoparticles (LNPs). Their expertise, particularly from Marco, Uwe, and Yvonne, was invaluable in selecting and applying various analytical techniques, including Transmission Electron Microscopy (TEM), Scanning Electron Microscopy (SEM), Dynamic Light Scattering (DLS), and zeta potential analysis. This collaboration not only enhanced our understanding of the LNPs' size, shape, and stability but also ensured the reliability of our results. With their guidance, we successfully completed our tests, providing crucial insights for the project's advancement.", - months: "September" - }, - { - title: "M.Sc.", - vorname: "Benjamin", - nachnname: "Moorlach", - job: "PhD student Working Group Patel 'Fermentation and Formulation of Biologicals and Chemicals'", - affiliation: "at FH Bielefeld", - pictureurl: pics["moorlach"], - tag: "Academia", - heading: "Gathering information about Chitosan coating for RNA protection", - interviewtabid: "moorlach", - cardtext: "", - language: "de", - quote: "x", - aimofcontact: [/* @__PURE__ */ jsx71("p", { children: "The aim of the contact with Benjamin Willem Moorlach, M.Sc., from the Department of Engineering and Mathematics, was to gain a deeper understanding of how Chitosan could be applied in lipid-based nanoparticles (LNPs) and to explore its potential role in our project. We had several questions focusing on the properties of Chitosan, its advantages and disadvantages, and how it could be integrated into LNPs. Benjamin Moorlach provided extensive insights into Chitosan\u2019s interactions with RNA, its behavior, and how we might leverage it for our formulations. " })], - insights: [/* @__PURE__ */ jsx71("p", { children: "From our discussion, we gained valuable insights into the unique properties of Chitosan, a cationic polymer with significant potential to stabilize RNA. Notably, Chitosan offers strong protection against RNases, making it highly beneficial for formulations like lipid-based nanoparticles (LNPs). Another key feature is its heat stability, withstanding temperatures up to 121\xB0C, which makes it suitable for processing methods such as spray drying. However, at higher concentrations (0.5% or more), Chitosan can become toxic, suffocating cells and displaying antimicrobial properties. While it differs from PEG and cannot serve as a direct alternative, Chitosan can be a valuable complement, especially in stabilizing RNA within LNPs. A critical point Benjamin emphasized is that Chitosan must be in an acidic environment, typically with a pH range of 4 to 6, to remain positively charged. This positive charge is essential for its effective interaction with RNA and successful integration into the LNP system. One of the most important attributes of Chitosan is its ability to form complexes with RNA, offering a high degree of protection, which is crucial for the stability of LNP formulations. This characteristic makes Chitosan particularly advantageous in enhancing RNA stability during processes like spray drying. However, incorporating Chitosan directly into the lipid shell of LNPs poses challenges due to its hydrophilic nature and incompatible charge ratios, which prevent its use as an external coating on LNPs. Instead, it is more suitable for forming stable RNA-Chitosan complexes that can be encapsulated within the LNP structure, ensuring improved stability and protection." })], - implementation: [/* @__PURE__ */ jsx71("p", { children: "We have integrated the information by primarily using Chitosan as an RNA stabilizer, rather than embedding it directly into the LNP lipid shell. Benjamin suggested forming Chitosan-RNA complexes first and then encapsulating them within LNPs to ensure the RNA remains stable and functional. For this, Chitosan with a low molecular weight (around 5 kDa) is ideal, as it helps produce smaller particles that can be efficiently encapsulated. Additionally, Benjamin recommended starting with small-scale tests (about 100 \xB5L) before moving to larger formulations. The ratio of RNA to Chitosan is key to creating negatively charged particles, and a 2:1 ratio should be maintained. We will verify successful encapsulation using microscopic analysis and gel electrophoresis. This knowledge has directly shaped our approach to using Chitosan. Our focus is now on forming stable RNA-Chitosan complexes, which can be encapsulated in LNPs. We\u2019ve also learned the importance of optimizing concentrations to prevent aggregation or toxicity while ensuring the particles stay within the desired nanometer range. Microscopy and electrophoresis will now be key methods in our protocol to confirm complete RNA encapsulation within the LNPs. " })], - summary: "In summary, the insights from Benjamin\u2019s expertise were crucial in shaping our understanding of how to integrate Chitosan into our LNP formulations. Chitosan\u2019s protective abilities for RNA, along with its heat stability, make it a valuable component in our project. However, its hydrophilic and cationic nature presents challenges for direct integration into LNP lipid shells, so we are focusing on its use as an encapsulation for the RNA. Benjamin\u2019s advice on concentrations, molecular weight, and complex formation gave us a clear path forward, which will be validated through experimental testing. ", - months: "september" - }, - { - vorname: "Carry It Forward", - nachnname: "", - pictureurl: pics["placeholder"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Brainstorming and selection of ideas and concepts", - interviewtabid: "forward", - cardtext: "", - quote: "", - aimofcontact: "", - insights: "", - implementation: "", - type: "meta", - summary: "", - months: "october" - } -]; - -// src/components/HorizontalTimeline.tsx -import { jsx as jsx72, jsxs as jsxs47 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/HP-timeline.tsx -import { jsx as jsx73, jsxs as jsxs48 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Conclisuin.tsx -import { Fragment as Fragment31, jsx as jsx74, jsxs as jsxs49 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Feedback.tsx -import { Fragment as Fragment32, jsx as jsx75, jsxs as jsxs50 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/HP svgs/hp3.tsx -import { jsx as jsx76, jsxs as jsxs51 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/HP svgs/mendelows.tsx -import { jsx as jsx77, jsxs as jsxs52 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/HP svgs/stakeholder-management.tsx -import { jsx as jsx78, jsxs as jsxs53 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/HP svgs/swots.tsx -import { jsx as jsx79, jsxs as jsxs54 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/HP svgs/understanding.tsx -import { jsx as jsx80, jsxs as jsxs55 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/IHP.tsx -import { jsx as jsx81, jsxs as jsxs56 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/Collaborations.tsx -import { jsx as jsx82, jsxs as jsxs57 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/education-souces.tsx -import { jsx as jsx83 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/Education.tsx -import { jsx as jsx84, jsxs as jsxs58 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/Entrepreneurship.tsx -import { jsx as jsx85, jsxs as jsxs59 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/Outreach.tsx -import { jsx as jsx86, jsxs as jsxs60 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/Partnerships.tsx -import { jsx as jsx87, jsxs as jsxs61 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/FurtherEngagement.tsx -import { jsx as jsx88, jsxs as jsxs62 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/SupMaterial.tsx -import { jsx as jsx89, jsxs as jsxs63 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/HP-abstract.tsx -import { jsx as jsx90, jsxs as jsxs64 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/human-practices.tsx -import { jsx as jsx91, jsxs as jsxs65 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/hpS.tsx -import { jsx as jsx92 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/impressum.tsx -import { Fragment as Fragment33, jsx as jsx93, jsxs as jsxs66 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/partners.tsx -import { Fragment as Fragment34, jsx as jsx94, jsxs as jsxs67 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/supplementary-material.tsx -import { Fragment as Fragment35, jsx as jsx95, jsxs as jsxs68 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/interviews.tsx -import { useEffect as useEffect11 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { useLocation as useLocation3 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; -import { Fragment as Fragment36, jsx as jsx96, jsxs as jsxs69 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/HeaderBox.tsx -import { Fragment as Fragment37, jsx as jsx97, jsxs as jsxs70 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/attribution-h.tsx -import { jsx as jsx98 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/cont-h.tsx -import { jsx as jsx99 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/desc-h.tsx -import { jsx as jsx100 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/home-h.tsx -import { Fragment as Fragment38, jsx as jsx101 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/exp-h.tsx -import { jsx as jsx102 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/hp-h.tsx -import { jsx as jsx103 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/imp-h.tsx -import { jsx as jsx104 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/note-h.tsx -import { jsx as jsx105 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/res-h.tsx -import { jsx as jsx106 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/safe-h.tsx -import { jsx as jsx107 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/team-h.tsx -import { jsx as jsx108 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/spons-h.tsx -import { jsx as jsx109 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/eng-h.tsx -import { jsx as jsx110 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/sup-h.tsx -import { jsx as jsx111 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Table.tsx -import { jsx as jsx112, jsxs as jsxs71 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/parts.tsx -import { jsx as jsx113, jsxs as jsxs72 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/part-h.tsx -import { jsx as jsx114 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Calendar/cal-content.tsx -import { Fragment as Fragment39, jsx as jsx115, jsxs as jsxs73 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Calendar/Calendar.tsx -import { jsx as jsx116, jsxs as jsxs74 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function showEntry(entry) { - const showentry = (_event) => { - let elementsToHide = document.getElementsByClassName("cal-entry"); - for (let index = 0; index < elementsToHide.length; index++) { - elementsToHide[index].style.display = "none"; - } - let entryBlock = document.getElementById(entry); - entryBlock.style.display = "block"; - }; - return showentry; -} -var Februar = /* @__PURE__ */ jsxs74("ul", { id: "February-dates", className: "days hideable", children: [ - /* @__PURE__ */ jsx116("li", {}), - /* @__PURE__ */ jsx116("li", {}), - /* @__PURE__ */ jsx116("li", {}), - /* @__PURE__ */ jsx116("li", { children: "1" }), - /* @__PURE__ */ jsx116("li", { children: "2" }), - /* @__PURE__ */ jsx116("li", { children: "3" }), - /* @__PURE__ */ jsx116("li", { children: "4" }), - /* @__PURE__ */ jsx116("li", { children: "5" }), - /* @__PURE__ */ jsx116("li", { children: "6" }), - /* @__PURE__ */ jsx116("li", { children: "7" }), - /* @__PURE__ */ jsx116("li", { children: "8" }), - /* @__PURE__ */ jsx116("li", { children: "9" }), - /* @__PURE__ */ jsx116("li", { children: "10" }), - /* @__PURE__ */ jsx116("li", { children: "11" }), - /* @__PURE__ */ jsx116("li", { children: "12" }), - /* @__PURE__ */ jsx116("li", { children: "13" }), - /* @__PURE__ */ jsx116("li", { children: "14" }), - /* @__PURE__ */ jsx116("li", { children: "15" }), - /* @__PURE__ */ jsx116("li", { children: "16" }), - /* @__PURE__ */ jsx116("li", { children: "17" }), - /* @__PURE__ */ jsx116("li", { children: "18" }), - /* @__PURE__ */ jsx116("li", { children: "19" }), - /* @__PURE__ */ jsx116("li", { children: "20" }), - /* @__PURE__ */ jsx116("li", { children: "21" }), - /* @__PURE__ */ jsx116("li", { children: "22" }), - /* @__PURE__ */ jsx116("li", { children: "23" }), - /* @__PURE__ */ jsx116("li", { children: "24" }), - /* @__PURE__ */ jsx116("li", { children: "25" }), - /* @__PURE__ */ jsx116("li", { children: "26" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("february27"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "27" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "28" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("february29"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "29" }) }) }) -] }); -var March = /* @__PURE__ */ jsxs74("ul", { id: "March-dates", className: "days hideable", style: { display: "none" }, children: [ - /* @__PURE__ */ jsx116("li", {}), - /* @__PURE__ */ jsx116("li", {}), - /* @__PURE__ */ jsx116("li", {}), - /* @__PURE__ */ jsx116("li", {}), - /* @__PURE__ */ jsx116("li", { children: "1" }), - /* @__PURE__ */ jsx116("li", { children: "2" }), - /* @__PURE__ */ jsx116("li", { children: "3" }), - /* @__PURE__ */ jsx116("li", { children: "4" }), - /* @__PURE__ */ jsx116("li", { children: "5" }), - /* @__PURE__ */ jsx116("li", { children: "6" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("march7"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "7" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "8" }), - /* @__PURE__ */ jsx116("li", { children: "9" }), - /* @__PURE__ */ jsx116("li", { children: "10" }), - /* @__PURE__ */ jsx116("li", { children: "11" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("march12"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "12" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "13" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("march14"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "14" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "15" }), - /* @__PURE__ */ jsx116("li", { children: "16" }), - /* @__PURE__ */ jsx116("li", { children: "17" }), - /* @__PURE__ */ jsx116("li", { children: "18" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("march19"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "19" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "20" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("march21"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "21" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "22" }), - /* @__PURE__ */ jsx116("li", { children: "23" }), - /* @__PURE__ */ jsx116("li", { children: "24" }), - /* @__PURE__ */ jsx116("li", { children: "25" }), - /* @__PURE__ */ jsx116("li", { children: "26" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("march27"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "27" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "28" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("march29"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "29" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "30" }), - /* @__PURE__ */ jsx116("li", { children: "31" }) -] }); -var April = /* @__PURE__ */ jsxs74("ul", { id: "April-dates", className: "days hideable", style: { display: "none" }, children: [ - /* @__PURE__ */ jsx116("li", { children: "1" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("april2"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "2" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "3" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("april4"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "4" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "5" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("april6"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "6" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "7" }), - /* @__PURE__ */ jsx116("li", { children: "8" }), - /* @__PURE__ */ jsx116("li", { children: "9" }), - /* @__PURE__ */ jsx116("li", { children: "10" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("april11"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "11" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "12" }), - /* @__PURE__ */ jsx116("li", { children: "13" }), - /* @__PURE__ */ jsx116("li", { children: "14" }), - /* @__PURE__ */ jsx116("li", { children: "15" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("april16"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "16" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "17" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("april18"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "18" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "19" }), - /* @__PURE__ */ jsx116("li", { children: "20" }), - /* @__PURE__ */ jsx116("li", { children: "21" }), - /* @__PURE__ */ jsx116("li", { children: "22" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("april23"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "23" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "24" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("april25"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "25" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "26" }), - /* @__PURE__ */ jsx116("li", { children: "27" }), - /* @__PURE__ */ jsx116("li", { children: "28" }), - /* @__PURE__ */ jsx116("li", { children: "29" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("april30"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "30" }) }) }) -] }); -var May = /* @__PURE__ */ jsxs74("ul", { id: "May-dates", className: "days hideable", style: { display: "none" }, children: [ - /* @__PURE__ */ jsx116("li", {}), - /* @__PURE__ */ jsx116("li", {}), - /* @__PURE__ */ jsx116("li", { children: "1" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("may2"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "2" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "3" }), - /* @__PURE__ */ jsx116("li", { children: "4" }), - /* @__PURE__ */ jsx116("li", { children: "5" }), - /* @__PURE__ */ jsx116("li", { children: "6" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("may7"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "7" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "8" }), - /* @__PURE__ */ jsx116("li", { children: "9" }), - /* @__PURE__ */ jsx116("li", { children: "10" }), - /* @__PURE__ */ jsx116("li", { children: "11" }), - /* @__PURE__ */ jsx116("li", { children: "12" }), - /* @__PURE__ */ jsx116("li", { children: "13" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("may14"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "14" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "15" }), - /* @__PURE__ */ jsx116("li", { children: "16" }), - /* @__PURE__ */ jsx116("li", { children: "17" }), - /* @__PURE__ */ jsx116("li", { children: "18" }), - /* @__PURE__ */ jsx116("li", { children: "19" }), - /* @__PURE__ */ jsx116("li", { children: "20" }), - /* @__PURE__ */ jsx116("li", { children: "21" }), - /* @__PURE__ */ jsx116("li", { children: /* @__PURE__ */ jsx116("a", { onClick: showEntry("may22"), children: /* @__PURE__ */ jsx116("span", { className: "active", children: "22" }) }) }), - /* @__PURE__ */ jsx116("li", { children: "23" }), - /* @__PURE__ */ jsx116("li", { children: "24" }), - /* @__PURE__ */ jsx116("li", { children: "25" }), - /* @__PURE__ */ jsx116("li", { children: "26" }), - /* @__PURE__ */ jsx116("li", { children: "27" }), - /* @__PURE__ */ jsx116("li", { children: "28" }), - /* @__PURE__ */ jsx116("li", { children: "29" }), - /* @__PURE__ */ jsx116("li", { children: "30" }), - /* @__PURE__ */ jsx116("li", { children: "31" }) -] }); - -// src/contents/project-documentation.tsx -import { jsx as jsx117 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/prodesc-h.tsx -import { jsx as jsx118 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/judging.tsx -import { Fragment as Fragment40, jsx as jsx119, jsxs as jsxs75 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/judge-h.tsx -import { jsx as jsx120 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/example.tsx -import { Bar as Bar2, Doughnut, PolarArea } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-chartjs-2/dist/index.js"; -import { Chart as ChartJS2, Tooltip as Tooltip2, Legend as Legend2, BarElement as BarElement2, CategoryScale as CategoryScale2, LinearScale as LinearScale2, Title as Title2, RadialLinearScale as RadialLinearScale2 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/chart.js/dist/chart.js"; -import { Fragment as Fragment41, jsx as jsx121, jsxs as jsxs76 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -ChartJS2.register( - CategoryScale2, - RadialLinearScale2, - LinearScale2, - BarElement2, - Title2, - Tooltip2, - Legend2 -); - -// src/sidebars/engS.tsx -import { useEffect as useEffect12 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { jsx as jsx122, jsxs as jsxs77 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/intS.tsx -import { useEffect as useEffect13 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { jsx as jsx123, jsxs as jsxs78 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/safeS.tsx -import { jsx as jsx124 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/none.tsx -import { jsx as jsx125 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/igem-bielefeld.tsx -import { Fragment as Fragment42, jsx as jsx126, jsxs as jsxs79 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/ibie-h.tsx -import { jsx as jsx127 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/methods-sources.tsx -import { jsx as jsx128 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/methods.tsx -import { Fragment as Fragment43, jsx as jsx129, jsxs as jsxs80 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/meth-h.tsx -import { jsx as jsx130 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/conS.tsx -import { jsx as jsx131 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/igbS.tsx -import { jsx as jsx132 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/jugS.tsx -import { jsx as jsx133 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/methS.tsx -import { jsx as jsx134 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/prtS.tsx -import { jsx as jsx135 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/resS.tsx -import { jsx as jsx136 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/utils/stringToSlug.ts -function stringToSlug(string) { - let slug = String(string).toLowerCase(); - slug = slug.replace(/[^a-z0-9-]/g, "-"); - slug = slug.replace(/-+/g, "-"); - const start = slug.search(/[^-]/); - const end = slug.search(/-+$/); - return slug.substring(start, end === -1 ? void 0 : end); -} - -// src/utils/useScript.ts -import { useEffect as useEffect14 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; - -// vite.config.js -var vite_config_default = () => { - const env = loadEnv("dev", process.cwd()); - if (!env.VITE_TEAM_NAME) { - throw new Error("VITE_TEAM_NAME environment variable is not defined"); - } - console.log(`VITE_TEAM_NAME: ${env.VITE_TEAM_NAME}`); - const baseSlug = stringToSlug(env.VITE_TEAM_NAME); - console.log("VITE_TEAM_NAME:", env.VITE_TEAM_NAME); - console.log("Base Slug:", baseSlug); - return defineConfig({ - base: `/${stringToSlug(env.VITE_TEAM_NAME)}/`, - plugins: [react()], - build: { - outDir: "dist" - }, - publicDir: "pubpub" - }); -}; -export { - vite_config_default as default -}; -//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiLCAic3JjL2NvbXBvbmVudHMvRmFkZUluLnRzeCIsICJzcmMvY29tcG9uZW50cy9CcmVhdGhlLnRzeCIsICJzcmMvY29tcG9uZW50cy9Qcm9ibGVtcy50c3giLCAic3JjL2NvbXBvbmVudHMvQWlyYnVkZHlBbmltLnRzeCIsICJzcmMvY29tcG9uZW50cy9QcmltZUd1aWRlLnRzeCIsICJzcmMvdXRpbHMvVGFiTmF2aWdhdGlvbi50c3giLCAic3JjL3V0aWxzL0xvYWRpbmdDb250ZXh0LnRzeCIsICJzcmMvY29tcG9uZW50cy9IZWFkaW5ncy50c3giLCAic3JjL2NvbXBvbmVudHMvcHJlY3lzZS50c3giLCAic3JjL2NvbnRlbnRzL0hvbWUudHN4IiwgInNyYy9jb21wb25lbnRzL0J1dHRvbnMudHN4IiwgInNyYy91dGlscy9vcGVuVGhlbS50cyIsICJzcmMvdXRpbHMvdXNlTmF2aWdhdGlvbi50cyIsICJzcmMvY29tcG9uZW50cy9zZWN0aW9ucy50c3giLCAic3JjL2NvbnRlbnRzL3RlYW0udHN4IiwgInNyYy9jb250ZW50cy9hdHRyaWJ1dGlvbnMudHN4IiwgInNyYy9jb21wb25lbnRzL1ZlcnRpY2FsVGltZWxpbmUudHN4IiwgInNyYy9jb21wb25lbnRzL1NsaWRlci50c3giLCAic3JjL3V0aWxzL2dvdG8udHMiLCAic3JjL2NvbXBvbmVudHMvU2Nyb2xsTGluay50c3giLCAic3JjL2NvbXBvbmVudHMvQkZILVRpbWVsaW5lLnRzeCIsICJzcmMvY29tcG9uZW50cy9QZGZzLnRzeCIsICJzcmMvY29tcG9uZW50cy9QaG90by1ncmlkLnRzeCIsICJzcmMvY29tcG9uZW50cy9wb3N0ZXIudHN4IiwgInNyYy9jb21wb25lbnRzL1F1b3Rlcy50c3giLCAic3JjL2NvbnRlbnRzL0NvbnRyaWJ1dGlvbi9CRkgvYmZoLWFib3V0LnRzeCIsICJzcmMvY29udGVudHMvQ29udHJpYnV0aW9uL0JGSC9wb3N0ZXJnYWxsZXJ5LnRzeCIsICJzcmMvY29udGVudHMvQ29udHJpYnV0aW9uL0JGSC9iZmgudHN4IiwgInNyYy9jb250ZW50cy9Db250cmlidXRpb24vY29sbGFicy50c3giLCAic3JjL2NvbnRlbnRzL0NvbnRyaWJ1dGlvbi9wYXRpZW50LWNvbnRyaWJ1dGlvbi50c3giLCAic3JjL2NvbnRlbnRzL0NvbnRyaWJ1dGlvbi9zYWZldHktY29udHJpYnV0aW9uLnRzeCIsICJzcmMvY29udGVudHMvQ29udHJpYnV0aW9uL1dpa2kvd2lraS10YWJzLnRzeCIsICJzcmMvY29udGVudHMvQ29udHJpYnV0aW9uL1dpa2kvd2lraS1zdGFydC50c3giLCAic3JjL2NvbXBvbmVudHMvQ29sbGFwc2libGUudHN4IiwgInNyYy9jb250ZW50cy9Db250cmlidXRpb24vV2lraS93aWtpLXNvdXJjZXMudHN4IiwgInNyYy9jb21wb25lbnRzL0ZpbHRlci50c3giLCAic3JjL2NvbnRlbnRzL0NvbnRyaWJ1dGlvbi9XaWtpL0ZpbHRlcmFibGVzLnRzeCIsICJzcmMvY29tcG9uZW50cy9Db2RlLnRzeCIsICJzcmMvY29udGVudHMvQ29udHJpYnV0aW9uL1dpa2kvdHJvdWJsZS1kYXRhLnRzeCIsICJzcmMvY29udGVudHMvQ29udHJpYnV0aW9uL1dpa2kvdHJvdWJsZXNob290aW5nLnRzeCIsICJzcmMvY29udGVudHMvQ29udHJpYnV0aW9uL1dpa2kvd2lraS1vdmVydmlldy50c3giLCAic3JjL2NvbnRlbnRzL0NvbnRyaWJ1dGlvbi9XaWtpL3dpa2kudHN4IiwgInNyYy9jb250ZW50cy9Db250cmlidXRpb24vY29udHJpYnV0aW9uLnRzeCIsICJzcmMvY29tcG9uZW50cy9Cb3hlcy50c3giLCAic3JjL2NvbXBvbmVudHMvVGFicy50c3giLCAic3JjL2NvbXBvbmVudHMvR3JhcGgudHN4IiwgInNyYy9kYXRhL3N5bXB0b20tZGF0YS50c3giLCAic3JjL2RhdGEvZHJ1Zy1kYXRhLnRzeCIsICJzcmMvY29tcG9uZW50cy9Db21wbGV4LXN2Zy50c3giLCAic3JjL2NvbXBvbmVudHMvbWFrZVNvdXJjZXMudHN4IiwgInNyYy9zb3VyY2VzL2Rlc2NyaXB0aW9uLXNvdXJjZXMudHN4IiwgInNyYy9jb250ZW50cy9kZXNjcmlwdGlvbi50c3giLCAic3JjL3V0aWxzL2NyZWF0ZVNpZGViYXIudHN4IiwgInNyYy9zaWRlYmFycy9kZXNjUy50c3giLCAic3JjL2NvbXBvbmVudHMvTG9yZW1pcHN1bS50c3giLCAic3JjL2NvbXBvbmVudHMvTGluay50c3giLCAic3JjL3NvdXJjZXMvZW5nLXRyZi1zb3VyY2VzLnRzeCIsICJzcmMvc291cmNlcy9lbmctcmVwb3J0ZXItc291cmNlcy50c3giLCAic3JjL3NvdXJjZXMvZW5nLXBlLXNvdXJjZXMudHN4IiwgInNyYy9zb3VyY2VzL2VuZy1wZWctc291cmNlcy50c3giLCAic3JjL3NvdXJjZXMvZW5nLW5pY2thc2VzLXNvdXJjZXMudHN4IiwgInNyYy9zb3VyY2VzL2VuZy1kZWxpdmVyeS1zb3VyY2VzLnRzeCIsICJzcmMvY29udGVudHMvZW5naW5lZXJpbmcudHN4IiwgInNyYy9jb250ZW50cy9leHBlcmltZW50cy50c3giLCAic3JjL2NvbnRlbnRzL25vdGVib29rLnRzeCIsICJzcmMvY29udGVudHMvcmVzdWx0cy50c3giLCAic3JjL2NvbnRlbnRzL3NhZmV0eS50c3giLCAic3JjL2NvbnRlbnRzL0h1bWFuIFByYWN0aWNlcy9PdmVyd2lldi50c3giLCAic3JjL2NvbnRlbnRzL0h1bWFuIFByYWN0aWNlcy9JbnRyb2R1Y3Rpb24udHN4IiwgInNyYy9zb3VyY2VzL2pvc2h1YS1pbnYtc291cmNlcy50c3giLCAic3JjL3NvdXJjZXMvbWF0dGlqLWludi1zb3VyY2VzLnRzeCIsICJzcmMvc291cmNlcy9saXUtaW52LXNvdXJjZXMudHN4IiwgInNyYy9zb3VyY2VzL3JuaGFsZS1zb3VyY2VzLnRzeCIsICJzcmMvc291cmNlcy93aW1zY2hleWVyLXNvdXJjZXMudHN4IiwgInNyYy9kYXRhL2hwdGltZWxpbmVkYXRhLnRzeCIsICJzcmMvY29tcG9uZW50cy9Ib3Jpem9udGFsVGltZWxpbmUudHN4IiwgInNyYy9jb21wb25lbnRzL0hQLXRpbWVsaW5lLnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL0NvbmNsaXN1aW4udHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvRmVlZGJhY2sudHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvSFAgc3Zncy9ocDMudHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvSFAgc3Zncy9tZW5kZWxvd3MudHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvSFAgc3Zncy9zdGFrZWhvbGRlci1tYW5hZ2VtZW50LnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL0hQIHN2Z3Mvc3dvdHMudHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvSFAgc3Zncy91bmRlcnN0YW5kaW5nLnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL0lIUC50c3giLCAic3JjL2NvbnRlbnRzL0h1bWFuIFByYWN0aWNlcy9GdXJ0aGVyIEVuZ2FnZW1lbnQvQ29sbGFib3JhdGlvbnMudHN4IiwgInNyYy9zb3VyY2VzL2VkdWNhdGlvbi1zb3VjZXMudHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvRnVydGhlciBFbmdhZ2VtZW50L0VkdWNhdGlvbi50c3giLCAic3JjL2NvbnRlbnRzL0h1bWFuIFByYWN0aWNlcy9GdXJ0aGVyIEVuZ2FnZW1lbnQvRW50cmVwcmVuZXVyc2hpcC50c3giLCAic3JjL2NvbnRlbnRzL0h1bWFuIFByYWN0aWNlcy9GdXJ0aGVyIEVuZ2FnZW1lbnQvT3V0cmVhY2gudHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvRnVydGhlciBFbmdhZ2VtZW50L1BhcnRuZXJzaGlwcy50c3giLCAic3JjL2NvbnRlbnRzL0h1bWFuIFByYWN0aWNlcy9GdXJ0aGVyIEVuZ2FnZW1lbnQvRnVydGhlckVuZ2FnZW1lbnQudHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvRnVydGhlciBFbmdhZ2VtZW50L1N1cE1hdGVyaWFsLnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL0hQLWFic3RyYWN0LnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL2h1bWFuLXByYWN0aWNlcy50c3giLCAic3JjL3NpZGViYXJzL2hwUy50c3giLCAic3JjL2NvbnRlbnRzL2ltcHJlc3N1bS50c3giLCAic3JjL2NvbnRlbnRzL3BhcnRuZXJzLnRzeCIsICJzcmMvY29udGVudHMvc3VwcGxlbWVudGFyeS1tYXRlcmlhbC50c3giLCAic3JjL2NvbnRlbnRzL2ludGVydmlld3MudHN4IiwgInNyYy9jb21wb25lbnRzL0hlYWRlckJveC50c3giLCAic3JjL2hlYWRlcnMvYXR0cmlidXRpb24taC50c3giLCAic3JjL2hlYWRlcnMvY29udC1oLnRzeCIsICJzcmMvaGVhZGVycy9kZXNjLWgudHN4IiwgInNyYy9oZWFkZXJzL2hvbWUtaC50c3giLCAic3JjL2hlYWRlcnMvZXhwLWgudHN4IiwgInNyYy9oZWFkZXJzL2hwLWgudHN4IiwgInNyYy9oZWFkZXJzL2ltcC1oLnRzeCIsICJzcmMvaGVhZGVycy9ub3RlLWgudHN4IiwgInNyYy9oZWFkZXJzL3Jlcy1oLnRzeCIsICJzcmMvaGVhZGVycy9zYWZlLWgudHN4IiwgInNyYy9oZWFkZXJzL3RlYW0taC50c3giLCAic3JjL2hlYWRlcnMvc3BvbnMtaC50c3giLCAic3JjL2hlYWRlcnMvZW5nLWgudHN4IiwgInNyYy9oZWFkZXJzL3N1cC1oLnRzeCIsICJzcmMvY29tcG9uZW50cy9UYWJsZS50c3giLCAic3JjL2NvbnRlbnRzL3BhcnRzLnRzeCIsICJzcmMvaGVhZGVycy9wYXJ0LWgudHN4IiwgInNyYy9jb21wb25lbnRzL0NhbGVuZGFyL2NhbC1jb250ZW50LnRzeCIsICJzcmMvY29tcG9uZW50cy9DYWxlbmRhci9DYWxlbmRhci50c3giLCAic3JjL2NvbnRlbnRzL3Byb2plY3QtZG9jdW1lbnRhdGlvbi50c3giLCAic3JjL2hlYWRlcnMvcHJvZGVzYy1oLnRzeCIsICJzcmMvY29udGVudHMvanVkZ2luZy50c3giLCAic3JjL2hlYWRlcnMvanVkZ2UtaC50c3giLCAic3JjL2NvbnRlbnRzL2V4YW1wbGUudHN4IiwgInNyYy9zaWRlYmFycy9lbmdTLnRzeCIsICJzcmMvc2lkZWJhcnMvaW50Uy50c3giLCAic3JjL3NpZGViYXJzL3NhZmVTLnRzeCIsICJzcmMvc2lkZWJhcnMvbm9uZS50c3giLCAic3JjL2NvbnRlbnRzL2lnZW0tYmllbGVmZWxkLnRzeCIsICJzcmMvaGVhZGVycy9pYmllLWgudHN4IiwgInNyYy9zb3VyY2VzL21ldGhvZHMtc291cmNlcy50c3giLCAic3JjL2NvbnRlbnRzL21ldGhvZHMudHN4IiwgInNyYy9oZWFkZXJzL21ldGgtaC50c3giLCAic3JjL3NpZGViYXJzL2NvblMudHN4IiwgInNyYy9zaWRlYmFycy9pZ2JTLnRzeCIsICJzcmMvc2lkZWJhcnMvanVnUy50c3giLCAic3JjL3NpZGViYXJzL21ldGhTLnRzeCIsICJzcmMvc2lkZWJhcnMvcHJ0Uy50c3giLCAic3JjL3NpZGViYXJzL3Jlc1MudHN4IiwgInNyYy91dGlscy9zdHJpbmdUb1NsdWcudHMiLCAic3JjL3V0aWxzL3VzZVNjcmlwdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9ob21lL2xpbGkvRG9jdW1lbnRzL2lHZW0vYmllbGVmZWxkLWNlYml0ZWNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9ob21lL2xpbGkvRG9jdW1lbnRzL2lHZW0vYmllbGVmZWxkLWNlYml0ZWMvdml0ZS5jb25maWcuanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL2hvbWUvbGlsaS9Eb2N1bWVudHMvaUdlbS9iaWVsZWZlbGQtY2ViaXRlYy92aXRlLmNvbmZpZy5qc1wiO2ltcG9ydCB7IGRlZmluZUNvbmZpZywgbG9hZEVudiB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgcmVhY3QgZnJvbSBcIkB2aXRlanMvcGx1Z2luLXJlYWN0XCI7XG5pbXBvcnQgeyBzdHJpbmdUb1NsdWcgfSBmcm9tIFwiLi9zcmMvdXRpbHNcIjtcblxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHtcbiAgY29uc3QgZW52ID0gbG9hZEVudihcImRldlwiLCBwcm9jZXNzLmN3ZCgpKTtcbiAgICAvLyBTaWNoZXJzdGVsbGVuLCBkYXNzIGRpZSBVbWdlYnVuZ3N2YXJpYWJsZSB2b3JoYW5kZW4gaXN0XG4gIGlmICghZW52LlZJVEVfVEVBTV9OQU1FKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVklURV9URUFNX05BTUUgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbm90IGRlZmluZWRcIik7XG4gIH1cbiAgLy8gRGVidWdnaW5nLUxvZywgdW0gZGVuIFdlcnQgZGVyIFVtZ2VidW5nc3ZhcmlhYmxlIHp1IFx1MDBGQ2JlcnByXHUwMEZDZmVuXG4gIGNvbnNvbGUubG9nKGBWSVRFX1RFQU1fTkFNRTogJHtlbnYuVklURV9URUFNX05BTUV9YCk7XG5cblxuICBjb25zdCBiYXNlU2x1ZyA9IHN0cmluZ1RvU2x1ZyhlbnYuVklURV9URUFNX05BTUUpO1xuXG4gIGNvbnNvbGUubG9nKFwiVklURV9URUFNX05BTUU6XCIsIGVudi5WSVRFX1RFQU1fTkFNRSk7IC8vIERlYnVnZ2luZy1BdXNnYWJlXG4gIGNvbnNvbGUubG9nKFwiQmFzZSBTbHVnOlwiLCBiYXNlU2x1Zyk7IC8vIERlYnVnZ2luZy1BdXNnYWJlXG4gIFxuICByZXR1cm4gZGVmaW5lQ29uZmlnKHtcbiAgICBiYXNlOiBgLyR7c3RyaW5nVG9TbHVnKGVudi5WSVRFX1RFQU1fTkFNRSl9L2AsXG4gICAgcGx1Z2luczogW3JlYWN0KCldLFxuICAgIGJ1aWxkOiB7XG4gICAgICBvdXREaXI6IFwiZGlzdFwiLFxuICAgIH0sXG4gICAgcHVibGljRGlyOiAncHVicHViJyxcbiAgfSk7XG4gIFxufTtcbiIsICJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBGYWRlSW4oe2ZpbGVwYXRoLCBiZ306e2ZpbGVwYXRoOiBzdHJpbmcsIGJnOiBzdHJpbmd9KXtcclxuICAgIGNvbnN0IFtpc1Zpc2libGUsIHNldFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmID0gdXNlUmVmKG51bGwpITtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZW50cmllcyA9PiB7XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHNldFZpc2libGUoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZi5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2wnXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyAnaGVpZ2h0JzogJzEwMHZoJ319XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZn0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3NpdGlvbic6ICdmaXhlZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG9wJzogJzIwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnMjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnNjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzYwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zaXRpb24nOiAnb3BhY2l0eSAwLjZzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmlzaWJpbGl0eSc6IGAke2lzVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtiZ30+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3NpdGlvbic6ICdmaXhlZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG9wJzogJzIwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnMjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnNjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzYwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zaXRpb24nOiAnb3BhY2l0eSAwLjZzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmlzaWJpbGl0eSc6IGAke2lzVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPXtmaWxlcGF0aH0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB7LyogU3BhY2luZyBCbG9jayAqL31cclxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCcgc3R5bGU9e3sgJ2hlaWdodCc6ICc5NXZoJyB9fT48L2Rpdj5cclxuICAgICAgICA8Lz5cclxuICAgICk7XHJcbn0iLCAiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gQnJlYXRoZSgpe1xyXG4gICAgY29uc3QgW2lzVmlzaWJsZSwgc2V0VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBkb21SZWYgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZShlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmLmN1cnJlbnQhKTtcclxuICAgIH0sIFtdKTtcclxuXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlMiwgc2V0VmlzaWJsZTJdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmMiA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlMihlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmMi5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTMsIHNldFZpc2libGUzXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjMgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTMoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjMuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG4gICAgXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlNCwgc2V0VmlzaWJsZTRdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmNCA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlNChlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmNC5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlNSwgc2V0VmlzaWJsZTVdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmNSA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlNShlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmNS5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlNiwgc2V0VmlzaWJsZTZdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmNiA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlNihlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmNi5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTcsIHNldFZpc2libGU3XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjcgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTcoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjcuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG4gICAgXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlOCwgc2V0VmlzaWJsZThdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmOCA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlOChlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmOC5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAgICB7LyogcHVycGxlICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2wnXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyAnaGVpZ2h0JzogJzcwMHZoJ319XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZn0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd6SW5kZXgnOiAnMScsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICczMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdvcGFjaXR5IDAuNnMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGUgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2JyZWF0aC90ZXh0bGVzcy9icmVhdGgtb25seS0xLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgICAgICAgICB7LyogU3BhY2luZyBCbG9jayAqL31cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJyBzdHlsZT17eyAnaGVpZ2h0JzogJzEwMHZoJyB9fT48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7ICdoZWlnaHQnOiAnMTAwdmgnfX0gcmVmPXtkb21SZWYyfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PlRha2UgYSBtb21lbnQgdG88L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5kZWVwbHkgYnJlYXRoZSBpbi4uLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICczMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdzY2FsZSAyLjBzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2FsZSc6IGAke2lzVmlzaWJsZTIgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlMiA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9icmVhdGgvY2lyY2xlcy9wdXJwbGVjaXJjbGUud2VicFwiPjwvaW1nPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiBTcGFjaW5nIEJsb2NrICovfVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnIHN0eWxlPXt7ICdoZWlnaHQnOiAnOTV2aCcgfX0+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyAnaGVpZ2h0JzogJzEwMHZoJ319IHJlZj17ZG9tUmVmM30+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5hbmQgZGVlcGx5LjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PmJyZWF0aGUgb3V0Li4uPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzMwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ3NjYWxlIDIuMHMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjYWxlJzogYCR7aXNWaXNpYmxlMyA/ICcwJyA6ICcxJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUzID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2JyZWF0aC9jaXJjbGVzL3B1cnBsZWNpcmNsZS53ZWJwXCI+PC9pbWc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qIFNwYWNpbmcgQmxvY2sgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCcgc3R5bGU9e3sgJ2hlaWdodCc6ICcxMDB2aCcgfX0+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PllvdSBmZWVsIDxzdHJvbmc+cmV2aXRhbGl6ZWQ8L3N0cm9uZz48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PllvdXIgYm9keSBhbmQgbWluZDwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydmb250U2l6ZScgOiAnMi41ZW0nfX0+YmVjb21lIDxzdHJvbmc+Z3JvdW5kZWQ8L3N0cm9uZz4uPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiBTcGFjaW5nIEJsb2NrICovfVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnIHN0eWxlPXt7ICdoZWlnaHQnOiAnMTAwdmgnIH19PjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5Ob3cgZGVlcGx5IGJyZWF0aGUgaW48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PmFuZCBob2xkIHlvdXIgYnJlYXRoLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7ICdoZWlnaHQnOiAnMTAwdmgnfX0gcmVmPXtkb21SZWY0fT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICczMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdzY2FsZSAyLjBzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2FsZSc6IGAke2lzVmlzaWJsZTQgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNCA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9icmVhdGgvY2lyY2xlcy9wdXJwbGVjaXJjbGUud2VicFwiPjwvaW1nPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgey8qIGJsYWNrICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgJ2hlaWdodCc6ICczMDB2aCd9fSAgcmVmPXtkb21SZWY1fT5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3pJbmRleCc6ICcxJywgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzMwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6IGAke2lzVmlzaWJsZTUgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9icmVhdGgvdGV4dGxlc3MvYnJlYXRoLW9ubHktMi53ZWJwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyAnaGVpZ2h0JzogJzEwMHZoJ319ICByZWY9e2RvbVJlZjZ9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzMwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNiA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9icmVhdGgvY2lyY2xlcy9kYXJrZXJwdXJwbGVjaXJjbGUud2VicFwiPjwvaW1nPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5Ob3QgZXZlcnlvbmUgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5jYW4gYnJlYXRoZSBmcmVlbHkuPC9wPlxyXG4gICAgICAgICAgICAgICAgICB7LyogICA8cCBzdHlsZT17eydmb250U2l6ZScgOiAnMi41ZW0nfX0+QnJlYXRoaW5nIGlzIGVzc2VudGlhbCwgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5idXQgbWFueSBwZW9wbGUgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5zdHJ1Z2dsZSB3aXRoIGl0LjwvcD4gKi99XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyAnaGVpZ2h0JzogJzEwMHZoJ319ICByZWY9e2RvbVJlZjd9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzMwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2FsZSc6IGAke2lzVmlzaWJsZTcgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNyA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9icmVhdGgvY2lyY2xlcy9mdWxsYmxhY2tjaXJjbGUud2VicFwiPjwvaW1nPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiBTcGFjaW5nIEJsb2NrICovfVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnIHN0eWxlPXt7ICdoZWlnaHQnOiAnMTAwdmgnIH19PjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5CcmVhdGhpbmcgaXMgZXNzZW50aWFsLCA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PmJ1dCBtYW55IHBlb3BsZSA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PnN0cnVnZ2xlIHdpdGggaXQuPC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgey8qIGdyZXkgKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyAnaGVpZ2h0JzogJzIwMHZoJ319ICByZWY9e2RvbVJlZjh9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnekluZGV4JzogJzEnLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3NpdGlvbic6ICdmaXhlZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG9wJzogJzIwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnMzB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnNjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzYwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zaXRpb24nOiAnb3BhY2l0eSAwLjZzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlOCA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGU4ID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2JyZWF0aC90ZXh0bGVzcy9icmVhdGgtb25seS0zLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PnRleHR0ZXh0dGV4dDwvcD5cclxuICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT50ZXh0dGV4dHRleHQsPC9wPlxyXG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PmJlY2F1c2UgYnJlYXRoaW5nIGRlZXBseSBpcyBhPC9wPlxyXG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PjxzdHJvbmc+cHJpdmlsYWdlIG5vdCBldmVyeW9uZSBjYW4gZW5qb3k8L3N0cm9uZz48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIHsvKiBTcGFjaW5nIEJsb2NrICovfVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCcgc3R5bGU9e3sgJ2hlaWdodCc6ICcxMDB2aCcgfX0+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvPlxyXG4gICAgKTtcclxufVxyXG4iLCAiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gUHJvYmxlbXMoKXtcclxuICAgIGNvbnN0IFtpc1Zpc2libGUsIHNldFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmID0gdXNlUmVmKG51bGwpITtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZW50cmllcyA9PiB7XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHNldFZpc2libGUoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZi5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTIsIHNldFZpc2libGUyXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjIgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTIoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjIuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIGNvbnN0IFtpc1Zpc2libGUzLCBzZXRWaXNpYmxlM10gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBkb21SZWYzID0gdXNlUmVmKG51bGwpITtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZW50cmllcyA9PiB7XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHNldFZpc2libGUzKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb21SZWYzLmN1cnJlbnQhKTtcclxuICAgIH0sIFtdKTtcclxuICAgIFxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTQsIHNldFZpc2libGU0XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjQgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTQoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjQuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIFxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTUsIHNldFZpc2libGU1XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjUgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTUoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjUuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIGNvbnN0IFRpdGxlMSA9IFwiQ3lzdGljIEZpYnJvc2lzXCI7XHJcbiAgICBjb25zdCBUaXRsZTIgPSBcIm1ha2VzIGxpZmUgYnJlYXRodGFraW5nXCI7XHJcbiAgICBjb25zdCBQcm9iMTEgPSBcIlRoaWNrIG11Y3VzIGJsb2NraW5nIGFpcndheSBhbmQgcHJldmVudHNcIlxyXG4gICAgY29uc3QgUHJvYjEyID0gXCJveHlnZW4gYWJzb3JwdGlvbiwgbGVhZGluZyB0byBicm9uY2hpYWxcIlxyXG4gICAgY29uc3QgUHJvYjEzID0gXCJvYnN0cnVjdGlvbnMsIG9yZ2FuIGZhaWx1ZSBhbiBkZWF0aFwiO1xyXG4gICAgY29uc3QgUHJvYjIxID0gXCJDaHJvbmljIGluZmxhbW1hdGlvbiBvY2N1cnMgcGVyaW9kaWNhbGx5XCI7XHJcbiAgICBjb25zdCBQcm9iMjIgPSBcImR1ZSB0byBhIGhpZ2ggdnVsbmVyYWJpbGl0eSBcIjtcclxuICAgIGNvbnN0IFByb2IyMyA9IFwidG8gYmFjdGVyaWFsIGFuZCB2aXJhbCBpbmZlY3Rpb25zXCI7XHJcbiAgICBjb25zdCBQcm9iMzEgPSBcIkhlaWdodGVuZWQgc2FmZXR5IGNvbnNpZGVyYXRpb25zIGFuZFwiO1xyXG4gICAgY29uc3QgUHJvYjMyID0gXCJlbW90aW9uYWwgc3RyZXNzIHByb21vdGUgZGVwcmVzc2lvblwiO1xyXG4gICAgY29uc3QgUHJvYjMzID0gXCJhbmQgcHN5Y2hvbG9naWNhbCBpc3N1ZXNcIjtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICAgIHsvKiBPbmUgKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGUgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAndmlzaWJpbGl0eSc6IGAke2lzVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWB9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWZ9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9wcm9ibGVtcy9jeWZpYi0xLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIHsvKiBUd28gKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGUyID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUyID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YH19XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZjJ9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9wcm9ibGVtcy9jeWZpYi0yLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydwb3NpdGlvbic6ICdmaXhlZCcsJ3RvcCc6ICcxN3ZoJywgJ3dpZHRoJzogJzgydncnLCAnekluZGV4JzogJzEnLCdsZWZ0JzogJzEwdncnLCdmb250U2l6ZSc6ICczdncnLCAnZm9udFdlaWdodCc6ICdib2xkJywgJ3RleHRBbGlnbic6ICdjZW50ZXInfX0+e1RpdGxlMX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnMjN2aCcsICd3aWR0aCc6ICc4MnZ3JywgJ3pJbmRleCc6ICcxJywnbGVmdCc6ICcxMHZ3JywnZm9udFNpemUnOiAnM3Z3JywgJ2ZvbnRXZWlnaHQnOiAnYm9sZCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntUaXRsZTJ9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J3Bvc2l0aW9uJzogJ2ZpeGVkJywndG9wJzogJzY1dmgnLCAnbGVmdCc6ICcyMHZ3JywgJ3pJbmRleCc6ICcxJywgJ3dpZHRoJzogJzMwdmgnLCAndGV4dEFsaWduJzogJ2NlbnRlcid9fT57UHJvYjExICsgXCIgXCIgKyBQcm9iMTIgKyBcIiBcIiArIFByb2IxM308L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB7LyogVGhyZWUgKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGUzID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUzID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YH19XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZjN9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9wcm9ibGVtcy9jeWZpYi0zLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydwb3NpdGlvbic6ICdmaXhlZCcsJ3RvcCc6ICcxN3ZoJywgJ3dpZHRoJzogJzgydncnLCAnekluZGV4JzogJzEnLCdsZWZ0JzogJzEwdncnLCdmb250U2l6ZSc6ICczdncnLCAnZm9udFdlaWdodCc6ICdib2xkJywgJ3RleHRBbGlnbic6ICdjZW50ZXInfX0+e1RpdGxlMX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnMjN2aCcsICd3aWR0aCc6ICc4MnZ3JywgJ3pJbmRleCc6ICcxJywnbGVmdCc6ICcxMHZ3JywnZm9udFNpemUnOiAnM3Z3JywgJ2ZvbnRXZWlnaHQnOiAnYm9sZCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntUaXRsZTJ9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J3Bvc2l0aW9uJzogJ2ZpeGVkJywndG9wJzogJzY1dmgnLCAnbGVmdCc6ICcyMHZ3JywgJ3pJbmRleCc6ICcxJywgJ3dpZHRoJzogJzMwdmgnLCAndGV4dEFsaWduJzogJ2NlbnRlcid9fT57UHJvYjExICsgXCIgXCIgKyBQcm9iMTIgKyBcIiBcIiArIFByb2IxM308L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnNjV2aCcsICdsZWZ0JzogJzQwdncnLCAnekluZGV4JzogJzEnLCAnd2lkdGgnOiAnMzB2aCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntQcm9iMjEgKyBcIiBcIiArIFByb2IyMiArIFwiIFwiICsgUHJvYjIzfTwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIHsvKiBGb3VyICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2wnXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzEwMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdvcGFjaXR5IDAuNnMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlNCA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNCA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWB9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWY0fT5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICcyMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJvYmxlbXMvY3lmaWItNC53ZWJwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnMTd2aCcsICd3aWR0aCc6ICc4MnZ3JywnbGVmdCc6ICcxMHZ3JywgJ3pJbmRleCc6ICcxJywnZm9udFNpemUnOiAnM3Z3JywgJ2ZvbnRXZWlnaHQnOiAnYm9sZCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntUaXRsZTF9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J3Bvc2l0aW9uJzogJ2ZpeGVkJywndG9wJzogJzIzdmgnLCAnd2lkdGgnOiAnODJ2dycsJ2xlZnQnOiAnMTB2dycsICd6SW5kZXgnOiAnMScsJ2ZvbnRTaXplJzogJzN2dycsICdmb250V2VpZ2h0JzogJ2JvbGQnLCAndGV4dEFsaWduJzogJ2NlbnRlcid9fT57VGl0bGUyfTwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydwb3NpdGlvbic6ICdmaXhlZCcsJ3RvcCc6ICc2NXZoJywgJ2xlZnQnOiAnMjB2dycsICd6SW5kZXgnOiAnMScsICd3aWR0aCc6ICczMHZoJywgJ3RleHRBbGlnbic6ICdjZW50ZXInfX0+e1Byb2IxMSArIFwiIFwiICsgUHJvYjEyICsgXCIgXCIgKyBQcm9iMTN9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J3Bvc2l0aW9uJzogJ2ZpeGVkJywndG9wJzogJzY1dmgnLCAnbGVmdCc6ICc0MHZ3JywgJ3pJbmRleCc6ICcxJywgJ3dpZHRoJzogJzMwdmgnLCAndGV4dEFsaWduJzogJ2NlbnRlcid9fT57UHJvYjIxICsgXCIgXCIgKyBQcm9iMjIgKyBcIiBcIiArIFByb2IyM308L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnNjV2aCcsICdsZWZ0JzogJzYwdncnLCAnekluZGV4JzogJzEnLCAnd2lkdGgnOiAnMzB2aCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntQcm9iMzEgKyBcIiBcIiArIFByb2IzMiArIFwiIFwiICsgUHJvYjMzfTwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIHsvKiBGaXZlICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2wnXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzEwMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdvcGFjaXR5IDAuNnMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlNSA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWB9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWY1fT5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICcyMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJvYmxlbXMvY3lmaWItNS53ZWJwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnMTd2aCcsICd3aWR0aCc6ICc4MnZ3JywnbGVmdCc6ICcxMHZ3JywgJ3pJbmRleCc6ICcxJywnZm9udFNpemUnOiAnM3Z3JywgJ2ZvbnRXZWlnaHQnOiAnYm9sZCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntUaXRsZTF9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J3Bvc2l0aW9uJzogJ2ZpeGVkJywndG9wJzogJzIzdmgnLCAnd2lkdGgnOiAnODJ2dycsICdsZWZ0JzogJzEwdncnLCAnekluZGV4JzogJzEnLCdmb250U2l6ZSc6ICczdncnLCAnZm9udFdlaWdodCc6ICdib2xkJywgJ3RleHRBbGlnbic6ICdjZW50ZXInfX0+e1RpdGxlMn08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnNjV2aCcsICdsZWZ0JzogJzIwdncnLCAnekluZGV4JzogJzEnLCAnd2lkdGgnOiAnMzB2aCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntQcm9iMTEgKyBcIiBcIiArIFByb2IxMiArIFwiIFwiICsgUHJvYjEzfTwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydwb3NpdGlvbic6ICdmaXhlZCcsJ3RvcCc6ICc2NXZoJywgJ2xlZnQnOiAnNDB2dycsICd6SW5kZXgnOiAnMScsICd3aWR0aCc6ICczMHZoJywgJ3RleHRBbGlnbic6ICdjZW50ZXInfX0+e1Byb2IyMSArIFwiIFwiICsgUHJvYjIyICsgXCIgXCIgKyBQcm9iMjN9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J3Bvc2l0aW9uJzogJ2ZpeGVkJywndG9wJzogJzY1dmgnLCAnbGVmdCc6ICc2MHZ3JywgJ3pJbmRleCc6ICcxJywgJ3dpZHRoJzogJzMwdmgnLCAndGV4dEFsaWduJzogJ2NlbnRlcid9fT57UHJvYjMxICsgXCIgXCIgKyBQcm9iMzIgKyBcIiBcIiArIFByb2IzM308L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnODV2aCcsICdsZWZ0JzogJzM1dncnLCAnekluZGV4JzogJzEnfX0+PC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBpZD1cInNjaWVuY3lcIj48L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvPlxyXG4gICAgKTtcclxufSIsICJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBBaXJidWRkeUFuaW0oKXtcclxuICAgIGNvbnN0IFtpc1Zpc2libGUsIHNldFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmID0gdXNlUmVmKG51bGwpITtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZW50cmllcyA9PiB7XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHNldFZpc2libGUoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZi5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTIsIHNldFZpc2libGUyXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjIgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTIoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjIuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIGNvbnN0IFtpc1Zpc2libGUzLCBzZXRWaXNpYmxlM10gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBkb21SZWYzID0gdXNlUmVmKG51bGwpITtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZW50cmllcyA9PiB7XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHNldFZpc2libGUzKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb21SZWYzLmN1cnJlbnQhKTtcclxuICAgIH0sIFtdKTtcclxuICAgIFxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTQsIHNldFZpc2libGU0XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjQgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTQoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjQuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIFxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTUsIHNldFZpc2libGU1XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjUgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTUoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjUuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG4gICAgXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlNiwgc2V0VmlzaWJsZTZdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmNiA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlNihlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmNi5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcbiAgICBcclxuICAgIGNvbnN0IFtpc1Zpc2libGU3LCBzZXRWaXNpYmxlN10gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBkb21SZWY3ID0gdXNlUmVmKG51bGwpITtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZW50cmllcyA9PiB7XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHNldFZpc2libGU3KGVudHJ5LmlzSW50ZXJzZWN0aW5nKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb21SZWY3LmN1cnJlbnQhKTtcclxuICAgIH0sIFtdKTtcclxuICAgIFxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTgsIHNldFZpc2libGU4XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjggPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTgoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjguY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPD5cclxuICAgICAgICAgICAgey8qIE9uZSAqL31cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nY29sJ1xyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICcxMDB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3RyYW5zaXRpb24nOiAnb3BhY2l0eSAwLjZzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6IGAke2lzVmlzaWJsZSA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YH19XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZn0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3NpdGlvbic6ICdmaXhlZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG9wJzogJzIwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnMjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnNjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzYwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2FpcmJ1ZGR5L2FpcmJ1ZGR5LTAud2VicFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW1nPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgey8qIFR3byAqL31cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nY29sJ1xyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICcxMDB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3RyYW5zaXRpb24nOiAnb3BhY2l0eSAwLjZzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6IGAke2lzVmlzaWJsZTIgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAndmlzaWJpbGl0eSc6IGAke2lzVmlzaWJsZTIgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31gfX1cclxuICAgICAgICAgICAgICAgIHJlZj17ZG9tUmVmMn0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3NpdGlvbic6ICdmaXhlZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG9wJzogJzIwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnMjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnNjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzYwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2FpcmJ1ZGR5L2FpcmJ1ZGR5LTEud2VicFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW1nPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgey8qIFRocmVlICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2wnXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzEwMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdvcGFjaXR5IDAuNnMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlMyA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlMyA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWB9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWYzfT5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICcyMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvYWlyYnVkZHkvYWlyYnVkZHktMi53ZWJwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB7LyogRm91ciAqL31cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nY29sJ1xyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICcxMDB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3RyYW5zaXRpb24nOiAnb3BhY2l0eSAwLjZzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6IGAke2lzVmlzaWJsZTQgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAndmlzaWJpbGl0eSc6IGAke2lzVmlzaWJsZTQgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31gfX1cclxuICAgICAgICAgICAgICAgIHJlZj17ZG9tUmVmNH0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3NpdGlvbic6ICdmaXhlZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG9wJzogJzIwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnMjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnNjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzYwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2FpcmJ1ZGR5L2FpcmJ1ZGR5LTMud2VicFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW1nPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgey8qIEZpdmUgKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGU1ID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGU1ID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YH19XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZjV9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9haXJidWRkeS9haXJidWRkeS00LndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIHsvKiBTaXggKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGU2ID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGU2ID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YH19XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZjZ9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9haXJidWRkeS9haXJidWRkeS01LndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB7LyogU2V2ZW4gKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGU3ID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGU3ID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YH19XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZjd9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9haXJidWRkeS9haXJidWRkeS02LndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB7LyogRWlnaHQgKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGU4ID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGU4ID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YH19XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZjh9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9haXJidWRkeS9haXJidWRkeS03LndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8Lz5cclxuICAgICk7XHJcbn0iLCAiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gUHJpbWVHdWlkZUFuaW1PbmUoKXtcclxuICAgIGNvbnN0IFtpc1Zpc2libGUsIHNldFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmID0gdXNlUmVmKG51bGwpITtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZW50cmllcyA9PiB7XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHNldFZpc2libGUoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZi5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTIsIHNldFZpc2libGUyXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjIgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTIoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjIuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIGNvbnN0IFtpc1Zpc2libGUzLCBzZXRWaXNpYmxlM10gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBkb21SZWYzID0gdXNlUmVmKG51bGwpITtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZW50cmllcyA9PiB7XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHNldFZpc2libGUzKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb21SZWYzLmN1cnJlbnQhKTtcclxuICAgIH0sIFtdKTtcclxuICAgIFxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTQsIHNldFZpc2libGU0XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjQgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTQoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjQuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIFxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTUsIHNldFZpc2libGU1XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjUgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTUoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjUuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG4gICAgXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICAgIHsvKiBPbmUgKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGUgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAndmlzaWJpbGl0eSc6IGAke2lzVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWB9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWZ9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9wcmltZWd1aWRlL3ByaW1lZ3VpZGVvbmUxLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIHsvKiBUd28gKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGUyID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUyID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YH19XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZjJ9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9wcmltZWd1aWRlL3ByaW1lZ3VpZGVvbmUyLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIHsvKiBUaHJlZSAqL31cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nY29sJ1xyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICcxMDB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3RyYW5zaXRpb24nOiAnb3BhY2l0eSAwLjZzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6IGAke2lzVmlzaWJsZTMgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAndmlzaWJpbGl0eSc6IGAke2lzVmlzaWJsZTMgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31gfX1cclxuICAgICAgICAgICAgICAgIHJlZj17ZG9tUmVmM30+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3NpdGlvbic6ICdmaXhlZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG9wJzogJzIwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnMjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnNjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzYwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL3ByaW1lZ3VpZGUvcHJpbWVndWlkZW9uZTMud2VicFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW1nPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgey8qIEZvdXIgKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGU0ID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGU0ID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YH19XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZjR9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9wcmltZWd1aWRlL3ByaW1lZ3VpZGVvbmU0LndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIHsvKiBGaXZlICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2wnXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzEwMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdvcGFjaXR5IDAuNnMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlNSA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWB9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWY1fT5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICcyMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJpbWVndWlkZS9wcmltZWd1aWRlb25lNS53ZWJwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8Lz5cclxuICAgICk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBQcmltZUd1aWRlQW5pbVR3bygpe1xyXG4gICAgY29uc3QgW2lzVmlzaWJsZSwgc2V0VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBkb21SZWYgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZShlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmLmN1cnJlbnQhKTtcclxuICAgIH0sIFtdKTtcclxuXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlMiwgc2V0VmlzaWJsZTJdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmMiA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlMihlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmMi5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTMsIHNldFZpc2libGUzXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjMgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTMoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjMuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG4gICAgXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlNCwgc2V0VmlzaWJsZTRdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmNCA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlNChlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmNC5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlNSwgc2V0VmlzaWJsZTVdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmNSA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlNShlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmNS5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcbiAgICBcclxuICAgIGNvbnN0IFtpc1Zpc2libGU2LCBzZXRWaXNpYmxlNl0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBkb21SZWY2ID0gdXNlUmVmKG51bGwpITtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZW50cmllcyA9PiB7XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHNldFZpc2libGU2KGVudHJ5LmlzSW50ZXJzZWN0aW5nKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb21SZWY2LmN1cnJlbnQhKTtcclxuICAgIH0sIFtdKTtcclxuICAgIFxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAgICB7LyogT25lICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2wnXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzEwMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdvcGFjaXR5IDAuNnMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31gfX1cclxuICAgICAgICAgICAgICAgIHJlZj17ZG9tUmVmfT5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICcyMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJpbWVndWlkZS9wcmltZWd1aWRldHdvMS53ZWJwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB7LyogVHdvICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2wnXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzEwMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdvcGFjaXR5IDAuNnMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlMiA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlMiA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWB9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWYyfT5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICcyMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJpbWVndWlkZS9wcmltZWd1aWRldHdvMi53ZWJwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB7LyogVGhyZWUgKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGUzID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUzID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YH19XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZjN9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9wcmltZWd1aWRlL3ByaW1lZ3VpZGV0d28zLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIHsvKiBGb3VyICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2wnXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzEwMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdvcGFjaXR5IDAuNnMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlNCA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNCA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWB9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWY0fT5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICcyMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJpbWVndWlkZS9wcmltZWd1aWRldHdvNC53ZWJwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB7LyogRml2ZSAqL31cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nY29sJ1xyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICcxMDB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3RyYW5zaXRpb24nOiAnb3BhY2l0eSAwLjZzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6IGAke2lzVmlzaWJsZTUgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAndmlzaWJpbGl0eSc6IGAke2lzVmlzaWJsZTUgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31gfX1cclxuICAgICAgICAgICAgICAgIHJlZj17ZG9tUmVmNX0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3NpdGlvbic6ICdmaXhlZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG9wJzogJzIwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnMjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnNjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzYwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL3ByaW1lZ3VpZGUvcHJpbWVndWlkZXR3bzUud2VicFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW1nPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgey8qIFNpeCAqL31cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nY29sJ1xyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgXHJcbiAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICcxMDB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3RyYW5zaXRpb24nOiAnb3BhY2l0eSAwLjZzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6IGAke2lzVmlzaWJsZTYgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAndmlzaWJpbGl0eSc6IGAke2lzVmlzaWJsZTYgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31gfX1cclxuICAgICAgICAgICAgICAgIHJlZj17ZG9tUmVmNn0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3NpdGlvbic6ICdmaXhlZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG9wJzogJzIwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnMjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnNjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzYwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL3ByaW1lZ3VpZGUvcHJpbWVndWlkZXR3bzYud2VicFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW1nPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC8+XHJcbiAgICApO1xyXG59IiwgImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0ZSwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IG9wZW5Gcm9tT3RoZXJQYWdlIH0gZnJvbSAnLi9vcGVuRnJvbU90aGVycEFnZSc7XG5pbXBvcnQgeyB1c2VMb2FkaW5nIH0gZnJvbSAnLi9Mb2FkaW5nQ29udGV4dCc7XG5cbi8vIEZ1bmt0aW9uLCB1bSBkZW4gSGF1cHR0YWIgenUgXHUwMEY2ZmZuZW5cbmV4cG9ydCBjb25zdCBvcGVuVGFiID0gKHRhYklkOiBzdHJpbmcsIHRhYkNsYXNzOiBzdHJpbmcpID0+IHtcbiAgY29uc29sZS5sb2coKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYklkKSBhcyBIVE1MRWxlbWVudCkuY2xhc3NMaXN0WzFdKVxuICBjb25zb2xlLmxvZyhgdGFiY2xhc3MgaXMgJHt0YWJDbGFzc31gKVxuICBjb25zdCB0YWJzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0YWJDbGFzcyk7XG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCB0YWJzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICh0YWJzW2luZGV4XSBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICBcbiAgfVxuXG4gIGNvbnN0IHNlbGVjdGVkVGFiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFiSWQpO1xuICBpZiAoc2VsZWN0ZWRUYWIpIHtcbiAgICBzZWxlY3RlZFRhYi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgfVxufTtcblxuLy8gRnVua3Rpb24sIHVtIHZlcnNjaGFjaHRlbHRlIFRhYnMgenUgXHUwMEY2ZmZuZW5cbmV4cG9ydCBjb25zdCBvcGVuTmVzdGVkVGFiID0gKHBhcmVudFRhYklkOiBzdHJpbmcsIGNoaWxkVGFiSWQ6IHN0cmluZywgcGFyZW50Q2xhc3M6IHN0cmluZywgY2hpbGRDbGFzczogc3RyaW5nKSA9PiB7XG4gIG9wZW5UYWIocGFyZW50VGFiSWQsIHBhcmVudENsYXNzKTtcblxuICBjb25zdCBuZXN0ZWRUYWJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgIyR7cGFyZW50VGFiSWR9ICR7Y2hpbGRDbGFzc31gKTtcbiAgbmVzdGVkVGFicy5mb3JFYWNoKCh0YWIpID0+IHtcbiAgICAodGFiIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICB9KTtcblxuICBjb25zdCBzZWxlY3RlZE5lc3RlZFRhYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNoaWxkVGFiSWQpO1xuICBpZiAoc2VsZWN0ZWROZXN0ZWRUYWIpIHtcbiAgICBzZWxlY3RlZE5lc3RlZFRhYi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgfVxufTtcblxuLy8gRnVua3Rpb24sIHVtIHp1IGVpbmVtIGJlc3RpbW10ZW4gQmVyZWljaCAoei5CLiBDb2xsYXBzZSkgenUgc2Nyb2xsZW5cbmV4cG9ydCBjb25zdCBoYW5kbGVTY3JvbGxUb0NvbGxhcHNlID0gKGNvbGxhcHNlSWQ6IHN0cmluZykgPT4ge1xuICBjb25zdCBjb2xsYXBzZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb2xsYXBzZUlkKTtcbiAgaWYgKGNvbGxhcHNlRWxlbWVudCkge1xuICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBjb2xsYXBzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0O1xuICAgIGNvbnN0IG9mZnNldCA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBjb2xsYXBzZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IGVsZW1lbnRUb3AgLSBvZmZzZXQ7XG5cbiAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgdG9wOiBzY3JvbGxQb3NpdGlvbixcbiAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICB9KTtcbiAgfVxufTtcblxuLy8gQ3VzdG9tIEhvb2sgenVyIHplbnRyYWxlbiBUYWItTmF2aWdhdGlvblxuZXhwb3J0IGNvbnN0IHVzZVRhYk5hdmlnYXRpb24gPSAoKSA9PiB7XG4gIGNvbnN0IHsgc2V0SXNMb2FkaW5nIH0gPSB1c2VMb2FkaW5nKCk7IC8vIDIuIExhZGV6dXN0YW5kIGhpZXIgdmVyd2VuZGVuIFxuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IGxvY2F0aW9uID0gdXNlTG9jYXRpb24oKTtcbiAgY29uc3QgW2FjdGl2ZVRhYiwgc2V0QWN0aXZlVGFiXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYWN0aXZlU3ViVGFiLCBzZXRBY3RpdmVTdWJUYWJdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIFxuXG4gIC8vIFRhYi1XZWNoc2VsIHVuZCBVUkwtVXBkYXRlXG4gIGNvbnN0IGhhbmRsZVRhYkNoYW5nZSA9ICh0YWJJZDogc3RyaW5nLCBzdWJUYWJJZD86IHN0cmluZykgPT4ge1xuICAgIHNldEFjdGl2ZVRhYih0YWJJZCk7XG4gICAgc2V0QWN0aXZlU3ViVGFiKHN1YlRhYklkIHx8IG51bGwpO1xuXG4gICAgLy8gVVJMIGVudHNwcmVjaGVuZCBha3R1YWxpc2llcmVuXG4gICAgbGV0IG5ld1VybCA9IGAke2xvY2F0aW9uLnBhdGhuYW1lfT90YWI9JHt0YWJJZH1gO1xuICAgIGlmIChzdWJUYWJJZCkge1xuICAgICAgbmV3VXJsICs9IGAmc3ViVGFiPSR7c3ViVGFiSWR9YDtcbiAgICB9XG4gICAgbmF2aWdhdGUobmV3VXJsLCB7IHJlcGxhY2U6IHRydWUgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zb2xlLmxvZyhcIlVzZSBFZmZlY3RcIilcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gICAgY29uc3QgdGFiSWQgPSBwYXJhbXMuZ2V0KCd0YWInKTtcbiAgICBjb25zdCBzdWJUYWJJZCA9IHBhcmFtcy5nZXQoJ3N1YlRhYicpO1xuICAgIGNvbnN0IGNvbGxhcHNlSWQgPSBwYXJhbXMuZ2V0KCdjb2xsYXBzZUlkJyk7XG4gICAgY29uc3Qgc2Nyb2xsVG9JZCA9IHBhcmFtcy5nZXQoJ3Njcm9sbFRvJyk7IFxuICAgIGNvbnN0IGNoYW5nZVRvID0gcGFyYW1zLmdldCgnY2hhbmdlVG8nKTtcbiAgICBcbiAgICAvLyBcdTAwRDZmZm5lIEhhdXB0LSB1bmQgZ2dmLiB2ZXJzY2hhY2h0ZWx0ZW4gVGFiXG4gICAgaWYgKHRhYklkKSB7XG4gICAgICBsZXQgdGFiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFiSWQpO1xuICAgICAgbGV0IHRhYkNsYXNzID0gdGFiIS5jbGFzc05hbWU7IFxuICAgICAgaWYgKHN1YlRhYklkKSB7XG4gICAgICAgIGxldCBzdWJUYWIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzdWJUYWJJZCk7XG4gICAgICAgIGxldCBwYXJlbnRDbGFzcyA9IChzdWJUYWIgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdFsxXTsgXG4gICAgICAgIG9wZW5OZXN0ZWRUYWIodGFiSWQsIHN1YlRhYklkLCBwYXJlbnRDbGFzcywgdGFiQ2xhc3MpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3BlblRhYih0YWJJZCwgdGFiQ2xhc3MpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNjcm9sbGVuIHp1IGVpbmVtIGJlc3RpbW10ZW4gQ29sbGFwc2libGUtRWxlbWVudFxuICAgIGlmIChjb2xsYXBzZUlkKSB7XG4gICAgICBoYW5kbGVTY3JvbGxUb0NvbGxhcHNlKGNvbGxhcHNlSWQpO1xuICAgIH1cblxuICAgIC8vIFRhYiB2b24gZWluZXIgYW5kZXJlbiBTZWl0ZSBcdTAwRjZmZm5lbiAoZmFsbHMgZGVmaW5pZXJ0KVxuICAgIGlmICh0YWJJZCkge1xuICAgICAgb3BlbkZyb21PdGhlclBhZ2UodGFiSWQpKHsgY3VycmVudFRhcmdldDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFiSWQpISB9KTtcbiAgICB9XG5cbiAgICBpZiAoc2Nyb2xsVG9JZCkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNjcm9sbFRvSWQpO1xuICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgICBjb25zdCB0YXJnZXRQb3NpdGlvbiA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0O1xuICAgICAgICAgIGNvbnN0IHNjcm9sbFRvUG9zaXRpb24gPSB0YXJnZXRQb3NpdGlvbiAtIHZpZXdwb3J0SGVpZ2h0IC8gNSArIGVsZW1lbnQuY2xpZW50SGVpZ2h0IC8gMjtcbiAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHNjcm9sbFRvUG9zaXRpb24sIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xuICAgICAgfVxuICB9XG4gIGlmIChjaGFuZ2VUbykge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjaGFuZ2VUbyk7XG4gICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCB0YXJnZXRQb3NpdGlvbiA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0O1xuICAgICAgICBjb25zdCBzY3JvbGxUb1Bvc2l0aW9uID0gdGFyZ2V0UG9zaXRpb24gLSB2aWV3cG9ydEhlaWdodCAvIDIgKyBlbGVtZW50LmNsaWVudEhlaWdodCAvIDI7XG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogc2Nyb2xsVG9Qb3NpdGlvbiwgYmVoYXZpb3I6IFwic21vb3RoXCIgfSk7XG4gICAgfVxufVxuXG4gICAgc2V0QWN0aXZlVGFiKHRhYklkKTtcbiAgICBzZXRBY3RpdmVTdWJUYWIoc3ViVGFiSWQgfHwgbnVsbCk7XG4gIH0sIFtsb2NhdGlvbi5zZWFyY2hdKTtcblxuICByZXR1cm4geyBhY3RpdmVUYWIsIGFjdGl2ZVN1YlRhYiwgaGFuZGxlVGFiQ2hhbmdlIH07XG59O1xuXG5cbiIsICJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcblxuY29uc3QgTG9hZGluZ0NvbnRleHQgPSBjcmVhdGVDb250ZXh0PGFueT4obnVsbCk7XG5cbmV4cG9ydCBjb25zdCBMb2FkaW5nUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfSkgPT4ge1xuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIHJldHVybiAoXG4gICAgPExvYWRpbmdDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7IGlzTG9hZGluZywgc2V0SXNMb2FkaW5nIH19PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvTG9hZGluZ0NvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlTG9hZGluZyA9ICgpID0+IHVzZUNvbnRleHQoTG9hZGluZ0NvbnRleHQpO1xuIiwgImltcG9ydCB7IHN0cmluZ1RvU2x1ZyB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gSGhvcHAoe3RleHQsIGlkfTp7dGV4dDogc3RyaW5nLCBpZD86IHN0cmluZ30pe1xuICAgIGNvbnN0IGFycjogSlNYLkVsZW1lbnRbXSAgPSBbXTsgXG4gICAgdmFyIGlkdGV4dDogc3RyaW5nOyBcbiAgICBpZiAoaWQpIHtcbiAgICAgICAgaWR0ZXh0ID0gaWQ7IFxuICAgIH1cbiAgICBlbHNle1xuICAgICAgICBpZHRleHQgPSBzdHJpbmdUb1NsdWcodGV4dCk7IFxuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgeCA9IHRleHQuY2hhckF0KGkpOyBcbiAgICAgICAgYXJyLnB1c2goPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3h9PC9zcGFuPilcbiAgICB9XG4gICAgcmV0dXJuKFxuICAgICAgICA8aDEgaWQ9e2lkdGV4dH0gY2xhc3NOYW1lPVwicGxheWZ1bFwiIGFyaWEtbGFiZWw9XCJXYXNoIHlvdXIgaGFuZHNcIj5cbiAgICAgICAgICAgIHthcnJ9ICAgICAgICBcbiAgICAgICAgPC9oMT5cbiAgICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBIc21va2Uoe3RleHQsIGlkfTp7dGV4dDogc3RyaW5nLCBpZD86IHN0cmluZ30pe1xuICAgIGNvbnN0IGFycjogSlNYLkVsZW1lbnRbXSAgPSBbXTsgXG4gICAgdmFyIGlkdGV4dDogc3RyaW5nOyBcbiAgICBpZiAoaWQpIHtcbiAgICAgICAgaWR0ZXh0ID0gaWQ7IFxuICAgIH1cbiAgICBlbHNle1xuICAgICAgICBpZHRleHQgPSBzdHJpbmdUb1NsdWcodGV4dCk7IFxuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgeCA9IHRleHQuY2hhckF0KGkpOyBcbiAgICAgICAgYXJyLnB1c2goPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+e3h9PC9zcGFuPilcbiAgICB9XG4gICAgcmV0dXJuKFxuICAgICAgICA8aDEgaWQ9e2lkdGV4dH0gY2xhc3NOYW1lPVwic21va2VcIiBhcmlhLWxhYmVsPVwiV2FzaCB5b3VyIGhhbmRzXCI+XG4gICAgICAgICAgICB7YXJyfSAgICAgICAgXG4gICAgICAgIDwvaDE+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSDEoe3RleHQsIGlkfTp7dGV4dDogc3RyaW5nLCBpZD86IHN0cmluZ30pe1xuICAgIC8qIHZhciBpZHRleHQ6IHN0cmluZzsgXG4gICAgaWYgKGlkKSB7XG4gICAgICAgIGlkdGV4dCA9IGlkOyBcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgaWR0ZXh0ID0gc3RyaW5nVG9TbHVnKHRleHQpOyBcbiAgICB9XG4gICAgcmV0dXJuKFxuICAgIDxkaXYgaWQ9e2lkdGV4dH0gY2xhc3NOYW1lPVwicm93IGhvbmVcIj5cbiAgICAgICAgPHN2ZyB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCI+XG4gICAgICAgIDx0ZXh0IHg9XCIwJVwiIHk9XCI2MCVcIj5cbiAgICAgICAge3RleHR9XG4gICAgICAgIDwvdGV4dD5cbiAgICA8L3N2Zz5cbiAgICA8L2Rpdj5cbiAgICApICovXG4gICByZXR1cm4oXG4gICAgPGgxIGlkPXtpZH0gPnt0ZXh0fTwvaDE+XG4gICApXG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIEgyKHt0ZXh0LCBpZH06e3RleHQ6IHN0cmluZywgaWQ/OiBzdHJpbmd9KXtcbiAgICB2YXIgaWR0ZXh0OiBzdHJpbmc7IFxuICAgIGlmIChpZCkge1xuICAgICAgICBpZHRleHQgPSBpZDsgXG4gICAgfVxuICAgIGVsc2V7XG4gICAgICAgIGlkdGV4dCA9IHN0cmluZ1RvU2x1Zyh0ZXh0KTsgXG4gICAgfVxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoMi1ib3hcIj5cbiAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJoMlwiIGlkPXtpZHRleHR9Pnt0ZXh0fTwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBIMyh7dGV4dCwgaWR9Ont0ZXh0OiBzdHJpbmcsIGlkPzogc3RyaW5nfSl7XG4gICAgdmFyIGlkdGV4dDogc3RyaW5nOyBcbiAgICBpZiAoaWQpIHtcbiAgICAgICAgaWR0ZXh0ID0gaWQ7IFxuICAgIH1cbiAgICBlbHNle1xuICAgICAgICBpZHRleHQgPSBzdHJpbmdUb1NsdWcodGV4dCk7IFxuICAgIH1cbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8aDMgIGNsYXNzTmFtZT1cImgzXCIgaWQ9e2lkdGV4dH0+IHt0ZXh0fSA8L2gzPiAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICApXG59XG5leHBvcnQgZnVuY3Rpb24gUGhpbGlwSDMoe2NoaWxkcmVuLCBpZH06e2NoaWxkcmVuOiBKU1guRWxlbWVudCAsIGlkOiBzdHJpbmd9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8aDMgIGNsYXNzTmFtZT1cImgzXCIgaWQ9e2lkfT4ge2NoaWxkcmVufSA8L2gzPiAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICApXG59XG5leHBvcnQgZnVuY3Rpb24gSDQoe3RleHQsIGlkfTp7dGV4dDogc3RyaW5nLCBpZD86IHN0cmluZ30pe1xuICAgIHZhciBpZHRleHQ6IHN0cmluZzsgXG4gICAgaWYgKGlkKSB7XG4gICAgICAgIGlkdGV4dCA9IGlkOyBcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgaWR0ZXh0ID0gc3RyaW5nVG9TbHVnKHRleHQpOyBcbiAgICB9XG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGg0IGNsYXNzTmFtZT1cImg0XCIgaWQ9e2lkdGV4dH0+IHt0ZXh0fSA8L2g0PiAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICApXG59XG5leHBvcnQgZnVuY3Rpb24gSDUoe3RleHQsIGlkfTp7dGV4dDogc3RyaW5nLCBpZD86IHN0cmluZ30pe1xuICAgIHZhciBpZHRleHQ6IHN0cmluZzsgXG4gICAgaWYgKGlkKSB7XG4gICAgICAgIGlkdGV4dCA9IGlkOyBcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgaWR0ZXh0ID0gc3RyaW5nVG9TbHVnKHRleHQpOyBcbiAgICB9XG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImg1LWJveFwiPlxuICAgICAgICAgICAgPGg1IGNsYXNzTmFtZT1cImg1XCIgaWQ9e2lkdGV4dH0+IHt0ZXh0fSA8L2g1PiAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICApXG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIEhoaWdobGlnaHQoe2NoaWxkcmVufTp7Y2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICAgIHJldHVybihcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnQgdjJcIj5cbiAgICAgICAgPHA+e2NoaWxkcmVufTwvcD5cbiAgICA8L2Rpdj5cbiAgICApXG59XG5leHBvcnQgZnVuY3Rpb24gSHNwb2lsZXIoe2NoaWxkcmVufTp7Y2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICAgIHJldHVybihcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnQgdjNcIj5cbiAgICAgICAgPHA+e2NoaWxkcmVufTwvcD5cbiAgICA8L2Rpdj5cbiAgICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBId2F2ZSh7dGV4dCwgaWR9Ont0ZXh0OiBzdHJpbmcsIGlkPzogc3RyaW5nfSl7XG4gICAgdmFyIGlkdGV4dDogc3RyaW5nOyBcbiAgICBpZiAoaWQpIHtcbiAgICAgICAgaWR0ZXh0ID0gaWQ7IFxuICAgIH1cbiAgICBlbHNle1xuICAgICAgICBpZHRleHQgPSBzdHJpbmdUb1NsdWcodGV4dCk7IFxuICAgIH1cbiAgICByZXR1cm4oXG4gICAgICAgLyogIDxzdmcgaWQ9e2lkdGV4dH0gY2xhc3NOYW1lPVwiYmlndGl0bGVcIiB2aWV3Qm94PVwiMCAwIDEwMCAyMFwiPlxuICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cImdyYWRpZW50XCIgeDE9XCIwXCIgeDI9XCIwXCIgeTE9XCIwXCIgeTI9XCIxXCI+XG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCI1JVwiIHN0b3BDb2xvcj1cIiM4NTBGNzhcIi8+XG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCI5NSVcIiBzdG9wQ29sb3I9XCIjQTBBN0YzXCIvPlxuICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgICAgIDxwYXR0ZXJuIGlkPVwid2F2ZVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjEyMFwiIGhlaWdodD1cIjIwXCIgcGF0dGVyblVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgICAgIDxwYXRoIGlkPVwid2F2ZVBhdGhcIiBkPVwiTS00MCA5IFEtMzAgNyAtMjAgOSBUMCA5IFQyMCA5IFQ0MCA5IFQ2MCA5IFQ4MCA5IFQxMDAgOSBUMTIwIDkgVjIwIEgtNDB6XCIgbWFzaz1cInVybCgjbWFzaylcIiBmaWxsPVwidXJsKCNncmFkaWVudClcIj4gXG4gICAgICAgICAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm1cbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlTmFtZT1cInRyYW5zZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgIGJlZ2luPVwiMHNcIlxuICAgICAgICAgICAgICAgICAgICBkdXI9XCIzc1wiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBmcm9tPVwiMCwwXCJcbiAgICAgICAgICAgICAgICAgICAgdG89XCI0MCwwXCJcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCIgLz5cbiAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgICAgIDwvcGF0dGVybj5cbiAgICAgICAgPC9kZWZzPlxuICAgICAgICA8dGV4dCB0ZXh0QW5jaG9yPVwibWlkZGxlXCIgeD1cIjUwXCIgeT1cIjE1XCIgZm9udFNpemU9XCIxM1wiIGZpbGw9XCJ3aGl0ZVwiICBmaWxsT3BhY2l0eT1cIjFcIj57dGV4dH08L3RleHQ+XG4gICAgICAgIDx0ZXh0IHRleHRBbmNob3I9XCJtaWRkbGVcIiB4PVwiNTBcIiB5PVwiMTVcIiBmb250U2l6ZT1cIjEzXCIgZmlsbD1cInVybCgjd2F2ZSlcIiAgZmlsbE9wYWNpdHk9XCIwLjdcIj57dGV4dH08L3RleHQ+XG4gICAgICAgIDx0ZXh0IHRleHRBbmNob3I9XCJtaWRkbGVcIiB4PVwiNTBcIiB5PVwiMTVcIiBmb250U2l6ZT1cIjEzXCIgZmlsbD1cInVybCgjZ3JhZGllbnQpXCIgZmlsbE9wYWNpdHk9XCIwLjlcIj57dGV4dH08L3RleHQ+XG4gICAgICAgIDwvc3ZnPiAqL1xuICAgICAgICA8c3ZnIGlkPXtpZHRleHR9IGNsYXNzTmFtZT1cImJpZ3RpdGxlXCIgdmlld0JveD1cIjAgMCAxMDAgMjBcIj5cbiAgICA8ZGVmcz5cbiAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPVwiZ3JhZGllbnRcIiB4MT1cIjBcIiB4Mj1cIjBcIiB5MT1cIjBcIiB5Mj1cIjFcIj5cbiAgICAgICAgICAgIDxzdG9wIG9mZnNldD1cIjUlXCIgc3RvcENvbG9yPVwiIzg1MEY3OFwiIC8+XG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCI5NSVcIiBzdG9wQ29sb3I9XCIjQTBBN0YzXCIgLz5cbiAgICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgICAgPHBhdHRlcm4gaWQ9XCJ3YXZlXCIgeD1cIjBcIiB5PVwiMFwiIHdpZHRoPVwiMTIwXCIgaGVpZ2h0PVwiMjBcIiBwYXR0ZXJuVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICAgICAgPHBhdGggaWQ9XCJ3YXZlUGF0aFwiIGQ9XCJNLTQwIDkgUS0zMCA3IC0yMCA5IFQwIDkgVDIwIDkgVDQwIDkgVDYwIDkgVDgwIDkgVDEwMCA5IFQxMjAgOSBWMjAgSC00MHpcIiBmaWxsPVwidXJsKCNncmFkaWVudClcIj5cbiAgICAgICAgICAgICAgICA8YW5pbWF0ZVRyYW5zZm9ybVxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPVwidHJhbnNmb3JtXCJcbiAgICAgICAgICAgICAgICAgICAgYmVnaW49XCIwc1wiXG4gICAgICAgICAgICAgICAgICAgIGR1cj1cIjNzXCJcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGZyb209XCIwLDBcIlxuICAgICAgICAgICAgICAgICAgICB0bz1cIjQwLDBcIlxuICAgICAgICAgICAgICAgICAgICByZXBlYXRDb3VudD1cImluZGVmaW5pdGVcIiAvPlxuICAgICAgICAgICAgPC9wYXRoPlxuICAgICAgICA8L3BhdHRlcm4+XG4gICAgPC9kZWZzPlxuICAgIDx0ZXh0IHRleHRBbmNob3I9XCJtaWRkbGVcIiB4PVwiNTBcIiB5PVwiMTVcIiBmb250U2l6ZT1cIjEzXCIgIHN0cm9rZT1cInZhcigtLW91cmJlaWdlKVwiIHN0cm9rZVdpZHRoPXtcIjAuMnB4XCJ9ICBmaWxsPVwidXJsKCNncmFkaWVudClcIj57dGV4dH08L3RleHQ+XG4gICAgPHRleHQgdGV4dEFuY2hvcj1cIm1pZGRsZVwiIHg9XCI1MFwiIHk9XCIxNVwiIGZvbnRTaXplPVwiMTNcIiBmaWxsPVwidXJsKCN3YXZlKVwic3Ryb2tlPVwidmFyKC0tb3VyYmVpZ2UpXCIgc3Ryb2tlV2lkdGg9e1wiMC4ycHhcIn0gICBmaWxsT3BhY2l0eT1cIjFcIj57dGV4dH08L3RleHQ+XG48L3N2Zz5cbiAgICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBIcG9wYXJ0KHt0ZXh0LCBpZH06e3RleHQ6IHN0cmluZywgaWQ/OiBzdHJpbmd9KXtcbiAgICB2YXIgaWR0ZXh0OiBzdHJpbmc7IFxuICAgIGlmIChpZCkge1xuICAgICAgICBpZHRleHQgPSBpZDsgXG4gICAgfVxuICAgIGVsc2V7XG4gICAgICAgIGlkdGV4dCA9IHN0cmluZ1RvU2x1Zyh0ZXh0KTsgXG4gICAgfVxucmV0dXJuKFxuICAgIDxkaXYgaWQ9e2lkdGV4dH0gY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJyZWxhdGl2ZSBwb3BhcnQtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIHBvcGFydFwiPlxuICAgICAgICAgICAge3RleHR9XG4gICAgICAgIDwvZGl2PiBcbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPC9kaXY+XG4pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBIc2hhZG9uZSh7dGV4dH06e3RleHQ6IHN0cmluZ30pe1xuICAgIHJldHVybihcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImgzLWJveFwiPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJzdHJva2Ugc2hhZG93LXN0cm9rZVwiPnt0ZXh0fTwvcD5cbiAgICA8L2Rpdj5cbiAgICApXG59XG5leHBvcnQgZGVmYXVsdCBIMTsiLCAiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUHJlQ3lzZSgpIHtcbiAgICByZXR1cm4gKDxzcGFuIGNsYXNzTmFtZT1cInVuZGVybGluZS0tbWFnaWNhbCBwcmVjeXNlXCI+ICBQcmVDeXNlIDwvc3Bhbj5cbiAgICApfSIsICJpbXBvcnQgeyBGYWRlSW4gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9GYWRlSW5cIjtcbmltcG9ydCB7IEJyZWF0aGUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9CcmVhdGhlXCI7XG5pbXBvcnQgeyBQcm9ibGVtcyB9IGZyb20gXCIuLi9jb21wb25lbnRzL1Byb2JsZW1zXCI7XG5pbXBvcnQgeyBBaXJidWRkeUFuaW0gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9BaXJidWRkeUFuaW1cIjtcbmltcG9ydCB7IFByaW1lR3VpZGVBbmltT25lLCBQcmltZUd1aWRlQW5pbVR3byB9IGZyb20gXCIuLi9jb21wb25lbnRzL1ByaW1lR3VpZGVcIjtcbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgSDUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IFByZUN5c2UgZnJvbSBcIi4uL2NvbXBvbmVudHMvcHJlY3lzZVwiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gSG9tZSgpIHtcbiAgdXNlVGFiTmF2aWdhdGlvbigpO1xuICBjb25zdCB7Z29Ub1BhZ2VBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpOyBcbi8qICovXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGhlYWRlci1jb250YWluZXIgbGFuZGluZy1wYWdlLWhlYWRlclwiIGlkPVwibGFuZGluZy1wYWdlLWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9oZWFkZXIvYmlsZC53ZWJwXCIgLz5cbiAgICAgICAgICAgICBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGhlYWRlci1jb250YWluZXIgbGFuZGluZy1wYWdlLWhlYWRlclwiIGlkPVwibGFuZGluZy1wYWdlLWhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBoZWFkZXItYnV0dG9uLXJvd1wiPlxuICAgICAgICAgICAgICA8cD4gXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZUFuZFNjcm9sbChcIkFic3RyYWN0XCIsIFwiL2Rlc2NyaXB0aW9uXCIpfSA+IDxiPkNMSUNLPC9iPiB0byBnbyBkaXJlY3RseSB0byBvdXIgUHJvamVjdCBEZXNjcmlwdGlvbi48L2J1dHRvbj4gXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsKFwic2NpZW5jeVwiLCBcIlwiKX0+IDxiPlNLSVA8L2I+IHRvIGp1bXAgc3RyYWlnaHQgdG8gdGhlIHNjaWVuaWN5IHBhcnQgb2YgdGhlIGFuaW1hdGlvbi48L2J1dHRvbj4gICBcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZUFuZFNjcm9sbChcInNjcm9sbHN0YXJ0XCIsIFwiXCIpfT4gPGI+U0NST0xMPC9iPiB0byBzZWUgd2hvbGUgYW5pbWF0aW9uLjwvYnV0dG9uPiAgXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGhlYWRlci1idXR0b24tcm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdj48SDUgdGV4dD1cIk9yIHRha2UgYSB0b3VyIHRocm91Z2ggb3VyIGhpZ2hsaWdodHM6XCIvPiAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAmIzg1OTQ7IDxhIGhyZWY9XCJkZXNjcmlwdGlvbj9zY3JvbGxUbz1BYnN0cmFjdFwiPldoYXQgaXMgPFByZUN5c2UvPj8gPC9hPiA8YnIvPiA8YnIvPiBcbiAgICAgICAgICAgICAgICAgICYjODU5NDsgPGEgaHJlZj1cImVuZ2luZWVyaW5nP3RhYj10YWItb3VyLWN5Y2xlJnNjcm9sbFRvPW91cmN5Y2xlXCI+V2hhdCBpcyBvdXIgc3RyYXRlZ3k/PC9hPiA8YnIvPiA8YnIvPlxuICAgICAgICAgICAgICAgICAgJiM4NTk0OyA8YSBocmVmPVwiZXhwZXJpbWVudHM/dGFiPWhlYWRpbmdcIj5Ib3cgZGlkIHdlIGRvIHRoaXM/PC9hPiA8YnIvPiA8YnIvPlxuICAgICAgICAgICAgICAgICAgJiM4NTk0OyA8YSBocmVmPVwicmVzdWx0cz9zY3JvbGxUbz1leHBlcmltZW50YWwtZGVzaWduXCI+V2hhdCBkaWQgd2UgYXJjaGlldmU/PC9hPiA8YnIvPiA8YnIvPlxuICAgICAgICAgICAgICAgICAgJiM4NTk0OyA8YSBocmVmPVwicGFydHM/c2Nyb2xsVG89UGFydHMgQ29sbGVjdGlvbjJcIj5XaGF0IHBhcnRzIGFyZSB3ZSBjb250cmlidXRpbmc/PC9hPiA8YnIvPiA8YnIvPlxuICAgICAgICAgICAgICAgICAgJiM4NTk0OyA8YSBocmVmPVwianVkZ2luZz9zY3JvbGxUbz1PdmVydmlld0hcIj5XaGF0IGFyZSBvdXIgc3BlY2lhbCBhd2FyZHM/PC9hPlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtdC00XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiIGlkPVwiZXJzdGVjb2xcIj5cbiAgICAgICAgPGRpdiAgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIFxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sncG9zaXRpb24nOiAncmVsYXRpdmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAnekluZGV4JzogJzEnLCBcbiAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcxMHZoJyxcbiAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnMHZ3JyxcbiAgICAgICAgICAgICAgICAgICAgICAgJ3NjYWxlJzogJzAuMjUnfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2Nyb2xsc3RhcnRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9pbmRpY2F0b3Iud2VicFwiPjwvaW1nPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgIFxuICAgICAgICAgIFxuICAgICAgICAgIDxCcmVhdGhlPjwvQnJlYXRoZT5cbiAgICAgICAgICBcbiAgICAgICAgICA8UHJvYmxlbXM+PC9Qcm9ibGVtcz5cbiAgICAgICAgICBcbiAgICAgICAgICB7LyogU3BhY2luZyBCbG9jayAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJyBzdHlsZT17eyAnaGVpZ2h0JzogJzE1MHZoJyB9fT48L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9naWZzLzIwMGstYW5pbS10cmFuc3BhcmVudC1iZy5naWZcIiBiZz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLTEtdGV4dC53ZWJwJz48L0ZhZGVJbj5cbiAgICAgICAgICBcbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9naWZzL29uZWludHdlbnR5LW5vLWJnLWNyb3BwZWQuZ2lmXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgXG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvZ2lmcy8yay1hbmltLXRyYW5zcGFyZW50LWJnLmdpZlwiIGJnPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2JhY2tncm91bmRzL2JhY2tncm91bmQtMi10ZXh0LndlYnAnPjwvRmFkZUluPlxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2dpZnMvM2stYW5pbS10cmFuc3BhcmVudC1iZy5naWZcIiBiZz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLTMtdGV4dC53ZWJwJz48L0ZhZGVJbj5cbiAgICAgICAgICBcbiAgICAgICAgICBcbiAgICAgICAgICA8RmFkZUluICBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvZ2lmcy90cmVhdG1lbnQtMi5naWZcIiBiZz0nJz48L0ZhZGVJbj5cbiAgICAgICAgICBcblxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2FpcmJ1ZGR5LmdpZlwiIGJnPScnPjwvRmFkZUluPlxuICAgICAgICAgIDxBaXJidWRkeUFuaW0+PC9BaXJidWRkeUFuaW0+XG4gICAgICAgICAgXG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJpbWVndWlkZS53ZWJwXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgPFByaW1lR3VpZGVBbmltT25lPjwvUHJpbWVHdWlkZUFuaW1PbmU+XG4gICAgICAgICAgPFByaW1lR3VpZGVBbmltVHdvPjwvUHJpbWVHdWlkZUFuaW1Ud28+XG5cbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9wcmVjeXNlLmdpZlwiIGJnPScnPjwvRmFkZUluPlxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2dpZnMvcHJvb2ZvZmNvbmNlcHQuZ2lmXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgXG4gICAgICAgICAgey8qIFNwYWNpbmcgQmxvY2sgKi99XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCcgc3R5bGU9e3sgJ2hlaWdodCc6ICcxMDB2aCcgfX0+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+IFxuICAgIDwvZGl2PiBcbiAgICA8Lz5cbiAgKTtcbn1cbiIsICJpbXBvcnQgeyBMaW5rIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7IG9wZW5Gcm9tT3RoZXJQYWdlIH0gZnJvbSBcIi4uL3V0aWxzL29wZW5Gcm9tT3RoZXJwQWdlXCI7XG5pbXBvcnQgeyBvcGVuVGhlbSB9IGZyb20gXCIuLi91dGlscy9vcGVuVGhlbVwiO1xuaW1wb3J0IHsgb3BlbkVsZW1lbnQgfSBmcm9tIFwiLi4vdXRpbHMvb3BlbkVsZW1lbnRcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvdXNlTmF2aWdhdGlvblwiO1xuaW50ZXJmYWNlIFVybEJ1dHRvblByb3Bze1xuICAgIGhyZWY6IHN0cmluZyxcbiAgICBjaGlsZHJlbjogc3RyaW5nLFxuICB9O1xuICBpbnRlcmZhY2UgVGFiQnV0dG9uUHJvcHN7XG4gICAgY2xhc3N5Pzogc3RyaW5nLCBcbiAgICBjbG9zaW5nOiBzdHJpbmcsIFxuICAgIG9wZW50eXBlOiBzdHJpbmdcbiAgICAvKiBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZSwgICovXG4gICAgLyogb25DbGljazogKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50LCBNb3VzZUV2ZW50PikgPT4gdm9pZCwgICovXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHR5cGU6IHN0cmluZ1xuICB9XG5cbmV4cG9ydCBmdW5jdGlvbiBWaWxsYWdlYnV0dG9uKHsgdGl0bGUsIHNvdXJjZSwgcGFnZSB9OiB7IHRpdGxlOiBzdHJpbmc7IHNvdXJjZTogc3RyaW5nOyBwYWdlOnN0cmluZ30pIHtcbiAgcmV0dXJuIChcbiAgICAgIDxMaW5rIGNsYXNzTmFtZT1cImJ0biB2aWxsYWdlLXN0eWxlLWJ1dHRvblwiIHJvbGU9XCJidXR0b25cIiB0bz17cGFnZX0+XG4gICAgICAgIDxpbWcgc3JjPXtzb3VyY2V9IGNsYXNzTmFtZT1cImQtYmxvY2sgbXgtYXV0byBtYi0yXCIgYWx0PVwiXCI+PC9pbWc+XG4gICAgICAgIDxoMz57dGl0bGV9PC9oMz5cbiAgICAgIDwvTGluaz5cbiAgKVxufVxuIFxuZXhwb3J0IGZ1bmN0aW9uIFZpbGxidXR0b25yb3coKXtcbiAgcmV0dXJuKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGJvdHRvbS1idXR0b25zXCI+XG4gICAgICAgIDxWaWxsYWdlYnV0dG9uIHBhZ2U9XCIvaHVtYW4tcHJhY3RpY2VzP3RhYj1ocC1xdW90ZVwiIHNvdXJjZT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9odW1hbnByYWN0aWNlcy5wbmdcIiB0aXRsZT1cIkh1bWFuIFByYWN0aWNlXCI+PC9WaWxsYWdlYnV0dG9uPlxuICAgICAgICA8VmlsbGFnZWJ1dHRvbiBwYWdlPVwiL3RlYW0/dGFiPW1lbWJlcnNcIiBzb3VyY2U9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvdGVhbS5wbmdcIiB0aXRsZT1cIlRlYW1cIj48L1ZpbGxhZ2VidXR0b24+XG4gICAgICAgIDxWaWxsYWdlYnV0dG9uIHBhZ2U9XCIvZXhwZXJpbWVudHM/dGFiPWhlYWRpbmdcIiBzb3VyY2U9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvbGFiLnBuZ1wiIHRpdGxlPVwiRXhwZXJpbWVudHNcIj48L1ZpbGxhZ2VidXR0b24+XG4gICAgICAgIDxWaWxsYWdlYnV0dG9uIHBhZ2U9XCIvZGVzY3JpcHRpb24/dGFiPW9iZW5pbmRlc2NyaXB0aW9uXCIgc291cmNlPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2RuYS5wbmdcIiB0aXRsZT1cIkRlc2NyaXB0aW9uXCI+PC9WaWxsYWdlYnV0dG9uPlxuICAgICAgICA8VmlsbGFnZWJ1dHRvbiBwYWdlPVwiL2VuZ2luZWVyaW5nP3RhYj10YWItb3VyLWN5Y2xlJnNjcm9sbFRvPW91cmN5Y2xlXCIgc291cmNlPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2dlbmV0aWMtZW5naW5lZXJpbmcucG5nXCIgdGl0bGU9XCJFbmdpbmVlcmluZ1wiPjwvVmlsbGFnZWJ1dHRvbj5cbiAgICAgICAgPFZpbGxhZ2VidXR0b24gcGFnZT1cIi9zYWZldHk/dGFiPVJvbGVcIiBzb3VyY2U9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvc2FmZXR5LnBuZ1wiIHRpdGxlPVwiU2FmZXR5XCI+PC9WaWxsYWdlYnV0dG9uPlxuICAgICAgICA8VmlsbGFnZWJ1dHRvbiBwYWdlPVwiL3Jlc3VsdHM/dGFiPUFic3RyYWN0XCIgc291cmNlPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL3Jlc3VsdHMucG5nXCIgdGl0bGU9XCJSZXN1bHRzXCI+PC9WaWxsYWdlYnV0dG9uPlxuICAgICAgPC9kaXY+ICBcbiAgKVxufVxuXG5cbmV4cG9ydCBjb25zdCBVcmxCdXR0b24gPSAoeyBocmVmLCBjaGlsZHJlbiB9OlVybEJ1dHRvblByb3BzKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxhIGhyZWY9e2hyZWZ9IGNsYXNzTmFtZT1cInVybC1idXR0b25cIj5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9hPlxuICAgICk7XG4gIH1cblxuXG5cblxuZXhwb3J0IGNvbnN0IERvd25sb2FkTGluayA9ICh7IHVybCwgZmlsZU5hbWUgfToge3VybDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nfSkgPT4ge1xuY29uc3QgaGFuZGxlRG93bmxvYWQgPSAoKSA9PiB7XG4gICAgZmV0Y2godXJsKVxuICAgIC50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuYmxvYigpKVxuICAgIC50aGVuKChibG9iKSA9PiB7XG4gICAgICAgIGNvbnN0IHVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtibG9iXSkpO1xuICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgICAgIGxpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgbGluay5kb3dubG9hZCA9IGZpbGVOYW1lIHx8IFwiZG93bmxvYWRlZC1maWxlXCI7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG5cbiAgICAgICAgbGluay5jbGljaygpO1xuXG4gICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG4gICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gICAgfSlcbiAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBmZXRjaGluZyB0aGUgZmlsZTpcIiwgZXJyb3IpO1xuICAgIH0pO1xufTtcbnJldHVybiAoXG5cbiAgPGEgdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZURvd25sb2FkfSBjbGFzc05hbWU9XCJkb3dubG9hZC1idXR0XCI+XG4gICAgICA8c3Bhbj5Eb3dubG9hZDwvc3Bhbj5cbiAgPC9hPlxuXG4pO1xufTtcblxuZXhwb3J0IGNvbnN0IERvd25sb2FkSW1hZ2VCdXR0b24gPSAoeyB1cmwsIGZpbGVOYW1lLCBjaGlsZHJlbn06IHt1cmw6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZywgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pID0+IHtcbiAgY29uc3QgaGFuZGxlRG93bmxvYWQgPSAoKSA9PiB7XG4gICAgICBmZXRjaCh1cmwpXG4gICAgICAudGhlbigocmVzcG9uc2UpID0+IHJlc3BvbnNlLmJsb2IoKSlcbiAgICAgIC50aGVuKChibG9iKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW2Jsb2JdKSk7XG4gICAgICAgICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xuICAgICAgICAgIGxpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgICBsaW5rLmRvd25sb2FkID0gZmlsZU5hbWUgfHwgXCJkb3dubG9hZGVkLWZpbGVcIjtcbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGxpbmspO1xuICBcbiAgICAgICAgICBsaW5rLmNsaWNrKCk7XG4gIFxuICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQobGluayk7XG4gICAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGZldGNoaW5nIHRoZSBmaWxlOlwiLCBlcnJvcik7XG4gICAgICB9KTtcbiAgfTtcbiAgXG5yZXR1cm4gKFxuXG4gICAgPGEgdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZURvd25sb2FkfSBjbGFzc05hbWU9XCJkb3dubG9hZC1idXR0LWltYWdlXCI+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICA8L2E+XG5cbik7XG59O1xuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIFRhYkJ1dHRvblJvdyh7ZGF0YSwgY2xhc3N5LCBvcGVudHlwZSwgY2xvc2luZ306IHtkYXRhOiBBcnJheTxUYWJEYXRlbnNhdHo+LCBjbGFzc3k/OiBzdHJpbmcsIG9wZW50eXBlOiBzdHJpbmcsIGNsb3Npbmc6IHN0cmluZ30pe1xuICBsZXQgcm93czogSlNYLkVsZW1lbnRbXSAgPSBbXVxuICBmb3IgKCBsZXQgaSA9IDA7ICBpIDwgZGF0YS5sZW5ndGg7IGkrKyApe1xuICAgIGlmKGNsYXNzeSl7XG4gICAgICByb3dzLnB1c2goPFRhYkJ1dHRvbiBjbGFzc3k9e2NsYXNzeX0gdHlwZT17ZGF0YVtpXS5jc3NuYW1lfSBuYW1lPXtkYXRhW2ldLmJ1dHRvbm5hbWV9IG9wZW50eXBlPXtvcGVudHlwZX0gY2xvc2luZz17Y2xvc2luZ30vPilcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIHJvd3MucHVzaCg8VGFiQnV0dG9uIHR5cGU9e2RhdGFbaV0uY3NzbmFtZX0gbmFtZT17ZGF0YVtpXS5idXR0b25uYW1lfSBvcGVudHlwZT17b3BlbnR5cGV9IGNsb3Npbmc9e2Nsb3Npbmd9Lz4pXG4gICAgfVxuICB9XG4gIHJldHVybiA8ZGl2IGNsYXNzTmFtZT1cImFsaWduLWl0ZW1zLWNlbnRlciBub3JtYWwtYnV0dG9uc1wiPlxuICAgIHtyb3dzfVxuICA8L2Rpdj47IFxufVxuXG5cblxuXG4vLyBuZXVlciBcbmV4cG9ydCBmdW5jdGlvbiBUYWJCdXR0b24oe2NsYXNzeSwgbmFtZSwgY2xvc2luZywgb3BlbnR5cGUsIHR5cGV9OlRhYkJ1dHRvblByb3BzKXtcbiAgaWYgKCFjbGFzc3kpe1xuICAgIGNsYXNzeSA9IFwiXCJcbiAgfVxuICBsZXQgY2xhc3NuYW1lID0gXCJ0YWJidXR0b24gXCIgKyB0eXBlICsgXCIgXCIgKyBjbGFzc3k7IFxuICByZXR1cm4oXG4gICAgPD5cbiAgICA8YnV0dG9uIGNsYXNzTmFtZT17Y2xhc3NuYW1lfSBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogdHlwZSwgY2xhc3NUb0hpZGU6IG9wZW50eXBlLCBjbGFzc1RvQ2xvc2U6IGNsb3NpbmcsIGJ1dHRvbkNsYXNzOiBcInRhYmJ1dHRvblwiIH0pfT4ge25hbWV9PC9idXR0b24+XG4gICAgPC8+XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhQTW9yZUJ1dHRvbih7bmFtZX06IHtuYW1lOiBzdHJpbmd9KXtcbiAgbGV0IGMgPSBcInRpbWVsaW5lcGVyc29udGFic1wiXG4gIHJldHVybihcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT1cInRhYmxpbmtzIGhwLW1vcmUtYnV0dG9uXCIgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IG5hbWUsIGNsYXNzVG9IaWRlOiBjLCBidXR0b25DbGFzczogXCJ0YWJidXR0b25cIn0pfT4gTW9yZTwvYnV0dG9uPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCRkhNb3JlQnV0dG9uKHtpdH06IHtpdDogc3RyaW5nfSl7XG4gIHJldHVybihcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT1cInRhYmxpbmtzIGJmaC1tb3JlLWJ1dHRvblwiIG9uQ2xpY2s9e2V4cGFuZEl0KHtpdH0pfT4gTW9yZTwvYnV0dG9uPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBOZXdIUE1vcmVCdXR0b24oe3RhYiwgc2Nyb2xsfToge3RhYjogc3RyaW5nLCBzY3JvbGw6IHN0cmluZ30pe1xuICBjb25zdCB7Z29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsfSA9IHVzZU5hdmlnYXRpb24oKTsgXG4gIHJldHVybihcbiAgICA8YnV0dG9uIGNsYXNzTmFtZT1cInRhYmxpbmtzIGJmaC1tb3JlLWJ1dHRvblwiIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IHRhYiwgc2Nyb2xsVG9JZDogc2Nyb2xsfSl9PiBNb3JlPC9idXR0b24+XG4gIClcbn1cblxuZnVuY3Rpb24gZXhwYW5kSXQoe2l0fToge2l0OiBzdHJpbmd9KXtcbiAgY29uc3Qgb3Blbml0ID0gIChfZXZlbnQgOiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50LCBNb3VzZUV2ZW50PikgPT57XG4gICAgY29uc29sZS5sb2coZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXQpKVxuICAgIGNvbnNvbGUubG9nKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0KSEuc3R5bGUuZGlzcGxheSlcbiAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXQpIS5zdHlsZS5kaXNwbGF5ID09PSBcImJsb2NrXCIpe1xuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXQpIS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gICAgfVxuICAgIGVsc2UgaWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXQpIS5zdHlsZS5kaXNwbGF5ID09PSBcIm5vbmVcIil7XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdCkhLnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBvcGVuaXQ7IFxufVxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvblRocmVlKCl7XG4gIHJldHVybihcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJveHktM1wiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJidG4tbmV3IGJ0bi10aHJlZVwiPlxuICAgICAgICA8c3BhbiB0eXBlb2Y9XCJidXR0b25cIiBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogXCJhYm91dFwiLCBjbGFzc1RvSGlkZTogXCJ0YWJjb250ZW50XCIsIGJ1dHRvbkNsYXNzOiBcInRhYmxpbmtzXCJ9KX0+SE9WRVIgTUU8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uVHdvKCl7XG4gIHJldHVybihcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJveHktMlwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJidG4tbmV3IGJ0bi10d29cIj5cbiAgICAgICAgPHNwYW4gdHlwZW9mPVwiYnV0dG9uXCIgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwiYWJvdXRcIiwgY2xhc3NUb0hpZGU6IFwidGFiY29udGVudFwiLCBidXR0b25DbGFzczogXCJ0YWJsaW5rc1wifSl9PkhPVkVSIE1FPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbk9uZSh7dGV4dCwgb3Blbiwgb3BlbmNsYXNzfToge3RleHQ6c3RyaW5nLCBvcGVuOnN0cmluZywgb3BlbmNsYXNzPzogc3RyaW5nfSl7XG4gIGNvbnN0IHsgZ29Ub1BhZ2VzQW5kT3BlblRhYiB9ID0gdXNlTmF2aWdhdGlvbigpO1xuICBpZiAob3BlbmNsYXNzKSB7XG4gICAgcmV0dXJuKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3h5LTFcIj5cbiAgICAgICAgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYihvcGVuLCBcIlwiKX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnRuLW5ldyBidG4tb25lXCI+XG4gICAgICAgIHt0ZXh0fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgKVxuICAgIFxuICB9XG4gIGVsc2V7XG4gICAgcmV0dXJuKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3h5LTFcIj5cbiAgICAgICAgPHNwYW4gdHlwZW9mPVwiYnV0dG9uXCIgb25DbGljaz17b3BlbkZyb21PdGhlclBhZ2Uob3Blbil9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJ0bi1uZXcgYnRuLW9uZVwiPlxuICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9kaXY+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25PbmVXaXRoU2Nyb2xsKHt0ZXh0LCBvcGVuLCBvcGVuY2xhc3MsIHNjcm9sbElkfToge3RleHQ6c3RyaW5nLCBzY3JvbGxJZDogc3RyaW5nLCAgb3BlbjpzdHJpbmcsIG9wZW5jbGFzcz86IHN0cmluZ30pe1xuICBjb25zdCB7IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCB9ID0gdXNlTmF2aWdhdGlvbigpO1xuICBpZiAob3BlbmNsYXNzKSB7XG4gICAgcmV0dXJuKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3h5LTFcIj5cbiAgICAgICAgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHsgcGF0aDogXCJcIiwgdGFiSWQ6IG9wZW4sIHNjcm9sbFRvSWQ6IHNjcm9sbElkIH0pfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJidG4tbmV3IGJ0bi1vbmVcIj5cbiAgICAgICAge3RleHR9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cbiAgZWxzZXtcbiAgICByZXR1cm4oXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveHktMVwiPlxuICAgICAgICA8c3BhbiB0eXBlb2Y9XCJidXR0b25cIiBvbkNsaWNrPXtvcGVuRnJvbU90aGVyUGFnZShvcGVuKX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnRuLW5ldyBidG4tb25lXCI+XG4gICAgICAgIHt0ZXh0fVxuICAgICAgICA8L2Rpdj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uT25lRW5naW5lZXJpbmcoe2xhYmVsLCBvcGVuLCBzY3JvbGxUb0lkfToge2xhYmVsOnN0cmluZywgb3BlbjpzdHJpbmcsIHNjcm9sbFRvSWQ6IHN0cmluZ30pe1xuICByZXR1cm4oXG4gICAgPGRpdiBjbGFzc05hbWU9XCJib3h5LTFcIj5cbiAgICAgIDxzcGFuIHR5cGVvZj1cImJ1dHRvblwiIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogb3Blbiwgc2Nyb2xsVG9JZH0pfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnRuLW5ldyBidG4tb25lXCI+XG4gICAgICB7bGFiZWx9XG4gICAgICA8L2Rpdj48L3NwYW4+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uRm91ckZpbGwoKXtcbiAgcmV0dXJuKFxuICAgIDxhIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJpY29uIGljb24tZmlsbFwiPjxpIGNsYXNzTmFtZT1cImZhIGZhLWhvbWVcIj48L2k+PC9hPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25Gb3VyRW50ZXIoKXtcbiAgcmV0dXJuKFxuICAgIDxhIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJpY29uIGljb24tZW50ZXJcIj48aSBjbGFzc05hbWU9XCJmYSBmYS1ob21lXCI+PC9pPjwvYT5cbiAgKVxufVxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbkZvdXJFeHBhbmQoKXtcbiAgcmV0dXJuKFxuICAgIDxhIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJpY29uIGljb24tZXhwYW5kXCI+PGkgY2xhc3NOYW1lPVwiZmEgZmEtaG9tZVwiPjwvaT48L2E+XG4gIClcbn1cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25Gb3VyQ29sbGFwc2UoKXtcbiAgcmV0dXJuKFxuICAgIDxhIHR5cGU9XCJidXR0b25cIiAgY2xhc3NOYW1lPVwiaWNvbiBpY29uLWNvbGxhcHNlXCI+PGkgY2xhc3NOYW1lPVwiZmEgZmEtaG9tZVwiPjwvaT48L2E+XG4gIClcbn1cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25Gb3VyUm90YXRlKCl7XG4gIHJldHVybihcbiAgICA8YSB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiaWNvbiBpY29uLXJvdGF0ZVwiPjxpIGNsYXNzTmFtZT1cImZhIGZhLWhvbWVcIj48L2k+PC9hPlxuICApXG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIEJhY2tVcCgpe1xuICByZXR1cm4oXG4gICAgPD5cbiAgICA8YnIvPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiIGlkPVwiZW5nLWJhY2t1cFwiIHN0eWxlPXt7ZGlzcGxheTogXCJmbGV4XCIsIGFsaWduSXRlbXM6IFwicmlnaHRcIn19PlxuICAgICAgICAgICAgPGEgb25DbGljaz17KCkgPT4gc2Nyb2xsVXBXaXRoT2Zmc2V0KCl9IGNsYXNzTmFtZT1cImJhY2t0b3RvcFwiPlxuICAgICAgICAgICAgICAgIEJhY2sgdG8gVG9wICYjODU5MztcbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+ICBcbiAgICA8Lz5cbiAgKVxufVxuXG5mdW5jdGlvbiBzY3JvbGxVcFdpdGhPZmZzZXQoKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNvbnN0IG9mZnNldCA9IHdpbmRvdy5pbm5lckhlaWdodCAgOyAvLyA1MCUgZGVyIFZpZXdwb3J0LUhcdTAwRjZoZVxuICAgIGNvbnN0IHRhcmdldFNjcm9sbFBvc2l0aW9uID0gTWF0aC5tYXgoMCwgIG9mZnNldCk7IC8vIE5ldWUgU2Nyb2xsLVBvc2l0aW9uLCBhYmVyIG5pY2h0IHVudGVyIDBcblxuICAgIGNvbnNvbGUubG9nKGBTY3JvbGxpbmcgdXAgdG8gcG9zaXRpb246ICR7dGFyZ2V0U2Nyb2xsUG9zaXRpb259YCk7XG4gICAgd2luZG93LnNjcm9sbFRvKHsgdG9wOiB0YXJnZXRTY3JvbGxQb3NpdGlvbiwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICB9XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFNob3dTb2x1dGlvbih7ZWxlbWVudH06IHtlbGVtZW50OiBzdHJpbmd9KXtcblxuICByZXR1cm4oXG4gICAgPGJ1dHRvbiBvbkNsaWNrPXtmbGlwKGVsZW1lbnQpfSBjbGFzc05hbWU9XCJxdWl6LWJ1dHRvblwiPlNob3cgc29sdXRpb248L2J1dHRvbj5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSGlkZVNvbHV0aW9uKHtlbGVtZW50fToge2VsZW1lbnQ6IHN0cmluZ30pe1xuICByZXR1cm4oXG4gICAgPGJ1dHRvbiBvbkNsaWNrPXtmbGlwQmFjayhlbGVtZW50KX0gY2xhc3NOYW1lPVwicXVpei1idXR0b25cIj5SZXR1cm4gdG8gcXVlc3Rpb248L2J1dHRvbj5cbiAgKVxufVxuXG5mdW5jdGlvbiBmbGlwKGVsZW1lbnQ6IHN0cmluZyl7XG4gIGNvbnN0IGZsaXBwID0gKF9ldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHtcbiAgICBsZXQgZWxlbWVudFRvSGlkZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiZnJvbnQtXCIrZWxlbWVudCk7XG4gICAgICAgIChlbGVtZW50VG9IaWRlIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gICAgbGV0IGVsZW1lbnRUb0ZpbmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImJhY2stXCIrZWxlbWVudCk7XG4gICAgICAoZWxlbWVudFRvRmluZCBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgfVxuICByZXR1cm4gZmxpcHA7IFxufVxuXG5mdW5jdGlvbiBmbGlwQmFjayhlbGVtZW50OiBzdHJpbmcpe1xuICBjb25zdCBmbGlwcGJhY2sgPSAoX2V2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4ge1xuICAgIGxldCBlbGVtZW50VG9IaWRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJiYWNrLVwiK2VsZW1lbnQpO1xuICAgICAgICAoZWxlbWVudFRvSGlkZSBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgIGxldCBlbGVtZW50VG9GaW5kID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJmcm9udC1cIitlbGVtZW50KTtcbiAgICAgIChlbGVtZW50VG9GaW5kIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuICB9XG4gIHJldHVybiBmbGlwcGJhY2s7ICBcbn1cbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL2hvbWUvbGlsaS9Eb2N1bWVudHMvaUdlbS9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9ob21lL2xpbGkvRG9jdW1lbnRzL2lHZW0vYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzL29wZW5UaGVtLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9ob21lL2xpbGkvRG9jdW1lbnRzL2lHZW0vYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzL29wZW5UaGVtLnRzXCI7ZXhwb3J0IGZ1bmN0aW9uIG9wZW5UaGVtKHsgaXQsIHNjcm9sbFRvSWQgfTogeyBpdDogc3RyaW5nOyBzY3JvbGxUb0lkPzogc3RyaW5nIH0pIHtcbiAgY29uc3QgZ290b2FuZG9wZW4gPSAoX2V2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4ge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc29sZS5sb2coYE9wZW5pbmcgdGFiOiAke2l0fWApO1xuICAgICAgdXBkYXRlVGFicyhpdCwgc2Nyb2xsVG9JZCk7XG5cbiAgICAgIC8vIFVwZGF0ZSBkZXIgVVJMXG4gICAgICBjb25zdCBuZXdVcmwgPSBgP3RhYj0ke2l0fWA7XG4gICAgICBjb25zb2xlLmxvZyhgVXBkYXRpbmcgVVJMIHRvOiAke25ld1VybH1gKTtcbiAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSh7IHRhYjogaXQgfSwgJycsIG5ld1VybCk7XG4gIC8qICAgICBpZiAoc2Nyb2xsVG9JZCAmJiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzY3JvbGxUb0lkKSkge1xuICAgICAgICBjb25zdCBzY0VsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzY3JvbGxUb0lkKTtcbiAgICAgICAgaWYgKHNjRWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsUG9zID0gd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIHNjRWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHsgdG9wOiBzY3JvbGxQb3MsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgICAgfVxuICAgICAgfSAqL1xuICAgICAgLy8gU2Nyb2xsZW4gaW4gZGllIE1pdHRlXG4gICAgIC8qICBjb25zdCBtaWRTY3JvbGxQb3NpdGlvbiA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDI7IC8vIEJlcmVjaG51bmcgZGVyIE1pdHRlIGRlcyBWaWV3cG9ydHNcbiAgICAgIGNvbnNvbGUubG9nKGBTY3JvbGxpbmcgdG8gbWlkZGxlIHBvc2l0aW9uOiAke21pZFNjcm9sbFBvc2l0aW9ufWApOyAqL1xuICAgICAvKiAgd2luZG93LnNjcm9sbFRvKHsgdG9wOiBtaWRTY3JvbGxQb3NpdGlvbiwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pOyAqL1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gZ290b2FuZG9wZW47XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVRhYnMoaXQ6IHN0cmluZywgc2Nyb2xsVG9JZD86IHN0cmluZykge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcblxuICBsZXQgY29udGVudHRhYmlkID0gXCJ0YWItXCIgKyBpdDtcbiAgbGV0IHBhcmVudCA9IFwicGFyZW50LVwiICsgaXQ7XG5cbiAgY29uc29sZS5sb2coYFVwZGF0aW5nIHRhYnMgZm9yOiAke2l0fWApO1xuXG4gIC8vIFZlcnN0ZWNrZSBhbGxlIFN1YnRhYnMgdW5kIENvbnRlbnQtVGFic1xuICBjb25zdCBzdWJ0YWJzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInNpZGVzdWJ0YWJcIik7XG4gIGNvbnN0IGNvbnRlbnR0YWJzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImVuZ2lubmVlcmluZ3RhYlwiKTtcbiAgY29uc3Qgc2lkZWl0ZW1zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInNpZGVpdGVtXCIpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc3VidGFicy5sZW5ndGg7IGkrKykge1xuICAgIChzdWJ0YWJzW2ldIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gICAgY29uc29sZS5sb2coYEhpZGluZyBzdWJ0YWI6ICR7c3VidGFic1tpXS5pZH1gKTtcbiAgfVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnRlbnR0YWJzLmxlbmd0aDsgaSsrKSB7XG4gICAgKGNvbnRlbnR0YWJzW2ldIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gICAgY29uc29sZS5sb2coYEhpZGluZyBjb250ZW50IHRhYjogJHtjb250ZW50dGFic1tpXS5pZH1gKTtcbiAgfVxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNpZGVpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgIChzaWRlaXRlbXNbaV0gYXMgSFRNTEVsZW1lbnQpIS5jbGFzc0xpc3QucmVtb3ZlKFwiYWN0aXZlLXNpZGVpdGVtXCIpO1xuICAgIGNvbnNvbGUubG9nKGBSZW1vdmluZyBhY3RpdmUgY2xhc3MgZnJvbSBzaWRlIGl0ZW06ICR7c2lkZWl0ZW1zW2ldLmlkfWApO1xuICB9XG5cbiAgLy8gWmVpZ2UgZGVuIGFrdHVlbGxlbiBUYWIgdW5kIG1hcmtpZXJlIGRhcyBlbnRzcHJlY2hlbmRlIFNpZGViYXItSXRlbVxuICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdCkhLnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gIGNvbnNvbGUubG9nKGBTaG93aW5nIHRhYjogJHtpdH1gKTtcbiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocGFyZW50KSEuY2xhc3NMaXN0LmFkZChcImFjdGl2ZS1zaWRlaXRlbVwiKTtcbiAgY29uc29sZS5sb2coYEFjdGl2YXRpbmcgc2lkZSBpdGVtOiAke3BhcmVudH1gKTtcbiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGVudHRhYmlkKSEuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgY29uc29sZS5sb2coYFNob3dpbmcgY29udGVudCB0YWI6ICR7Y29udGVudHRhYmlkfWApO1xuXG4gIC8vIFNjcm9sbGUgenUgZGVyIGFuZ2VnZWJlbmVuIElELCBmYWxscyB2b3JoYW5kZW5cbiAgaWYgKHNjcm9sbFRvSWQpIHtcbiAgICBjb25zdCBjb2xsYXBzZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzY3JvbGxUb0lkKTtcbiAgICBpZiAoY29sbGFwc2VFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBjb2xsYXBzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0O1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLyAyIC0gY29sbGFwc2VFbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7XG4gICAgICAgIGNvbnN0IHNjcm9sbFBvc2l0aW9uID0gZWxlbWVudFRvcCAtIG9mZnNldDtcblxuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgdG9wOiBzY3JvbGxQb3NpdGlvbixcbiAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuLyogICBpZiAoc2Nyb2xsVG9JZCAmJiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzY3JvbGxUb0lkKSkge1xuICAgIGNvbnN0IHNjRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNjcm9sbFRvSWQpO1xuICAgIGlmIChzY0VsZW1lbnQpIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsUG9zID0gd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIHNjRWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHNjcm9sbFBvcywgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH1cbiAgfSAqL1xufVxuXG4vLyBGXHUwMEZDZ2UgZWluZW4gRXZlbnQgTGlzdGVuZXIgZlx1MDBGQ3IgYHBvcHN0YXRlYCBoaW56dVxuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb3BzdGF0ZScsIChldmVudCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKCdQb3BzdGF0ZSBldmVudCB0cmlnZ2VyZWQnKTtcbiAgICBpZiAoZXZlbnQuc3RhdGUpIHtcbiAgICAgIGNvbnN0IHRhYiA9IGV2ZW50LnN0YXRlLnRhYjtcbiAgICAgIGNvbnNvbGUubG9nKGBSZXN0b3JpbmcgdGFiOiAke3RhYn1gKTtcbiAgICAgIHVwZGF0ZVRhYnModGFiKTtcbiAgICAgIFxuICAgICAgLy8gU2Nyb2xsZW4gaW4gZGllIE1pdHRlIGJlaW0gWnVyXHUwMEZDY2tuYXZpZ2llcmVuXG4gICAgICBjb25zb2xlLmxvZyhcIlNjcm9sbGluZyB0byBtaWRkbGUgb24gcG9wc3RhdGUuLi5cIik7XG4gICAgICBjb25zdCBtaWRTY3JvbGxQb3NpdGlvbiA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDI7XG4gICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IG1pZFNjcm9sbFBvc2l0aW9uLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKFwiTm8gc3RhdGUgZm91bmQgaW4gcG9wc3RhdGUgZXZlbnQuXCIpO1xuICAgIH1cbiAgfSk7XG59XG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIi9ob21lL2xpbGkvRG9jdW1lbnRzL2lHZW0vYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvaG9tZS9saWxpL0RvY3VtZW50cy9pR2VtL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlscy91c2VOYXZpZ2F0aW9uLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9ob21lL2xpbGkvRG9jdW1lbnRzL2lHZW0vYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzL3VzZU5hdmlnYXRpb24udHNcIjtpbXBvcnQgeyB1c2VOYXZpZ2F0ZSB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQgeyB1c2VMb2FkaW5nIH0gZnJvbSBcIi4vTG9hZGluZ0NvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IHVzZU5hdmlnYXRpb24gPSAoKSA9PiB7XG4gICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuXG4gICAgY29uc3QgeyBzZXRJc0xvYWRpbmcsIGlzTG9hZGluZyB9ID0gdXNlTG9hZGluZygpOyAvLyAyLiBMYWRlenVzdGFuZCBoaWVyIHZlcndlbmRlblxuXG5cblxuICAgIGNvbnN0IGdvVG9QYWdlc0FuZE9wZW5UYWIgPSAodGFiSWQ6IHN0cmluZywgcGF0aDogc3RyaW5nKSA9PiB7XG4gICAgXG4gICAgICAgIFxuICAgICAgICBuYXZpZ2F0ZShgJHtwYXRofT90YWI9JHt0YWJJZH1gKTtcbiAgICAgICAgXG4gICAgfTtcbiAgICBjb25zdCBnb1RvVGV4dHNBbmRPcGVuQ29sbGFwc2libGUgPSAoY29sbGFwc2VJZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBuYXZpZ2F0ZShgJHtwYXRofT9jb2xsYXBzZUlkPSR7Y29sbGFwc2VJZH1gKTtcbiAgICB9O1xuICAgIGNvbnN0IGdvVG9QYWdlV2l0aFRhYkFuZENvbGxhcHNpYmxlID0gKHsgcGF0aCwgdGFiSWQsIGNvbGxhcHNlSWQgfTogeyBwYXRoOiBzdHJpbmcsIHRhYklkOiBzdHJpbmcsIGNvbGxhcHNlSWQ/OiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICAgIGxldCB1cmwgPSBgJHtwYXRofT90YWI9JHt0YWJJZH1gO1xuICAgICAgICBpZiAoY29sbGFwc2VJZCkge1xuICAgICAgICAgICAgdXJsICs9IGAmY29sbGFwc2VJZD0ke2NvbGxhcHNlSWR9YDtcbiAgICAgICAgfVxuICAgICAgICBuYXZpZ2F0ZSh1cmwpO1xuICAgIH07XG4gICAgY29uc3QgZ29Ub1BhZ2VXaXRoTmVzdGVkVGFicyA9ICh7IHBhdGgsIHRhYklkLCBzdWJUYWJJZCwgY29sbGFwc2VJZCB9OiB7IHBhdGg6IHN0cmluZywgdGFiSWQ6IHN0cmluZywgc3ViVGFiSWQ/OiBzdHJpbmcsIGNvbGxhcHNlSWQ/OiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICAgIGxldCB1cmwgPSBgJHtwYXRofT90YWI9JHt0YWJJZH1gO1xuICAgICAgICBpZiAoc3ViVGFiSWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgJnN1YlRhYj0ke3N1YlRhYklkfWA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbGxhcHNlSWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmNvbGxhcHNlSWQ9JHtjb2xsYXBzZUlkfWA7XG4gICAgICAgIH1cbiAgICAgICAgbmF2aWdhdGUodXJsKTtcbiAgICB9O1xuXG5cblxuICAgIGNvbnN0IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCA9ICh7IHBhdGgsIHRhYklkLCBzY3JvbGxUb0lkIH06IHsgcGF0aDogc3RyaW5nLCB0YWJJZDogc3RyaW5nLCBzY3JvbGxUb0lkOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYCR7cGF0aH0/dGFiPSR7dGFiSWR9YDtcbiAgICAgICAgaWYgKHNjcm9sbFRvSWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgJnNjcm9sbFRvPSR7c2Nyb2xsVG9JZH1gO1xuICAgICAgICB9XG4gICAgICAgIG5hdmlnYXRlKHVybCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGdvVG9QYWdlQW5kU2Nyb2xsID0gKHNjcm9sbFRvSWQ6IHN0cmluZywgcGF0aDogc3RyaW5nKSA9PiB7XG4gICAgICAgIFxuICAgICAgICBuYXZpZ2F0ZShgJHtwYXRofT9zY3JvbGxUbz0ke3Njcm9sbFRvSWR9YCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGNoYW5nZVBhZ2VXaXRoTG9hZGluZ1NjcmVlbiA9ICgpID0+ICh7IHBhdGgsIHNjcm9sbFRvSWQgfTogeyBwYXRoOiBzdHJpbmcsIHNjcm9sbFRvSWQ6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgICAgbGV0IHVybCA9IGAke3BhdGh9P2NoYW5nZVRvPSR7c2Nyb2xsVG9JZH1gO1xuICAgICAgICBuYXZpZ2F0ZSh1cmwpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNjcm9sbFRvSWQpO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICAgICAgICAgIGNvbnN0IHRhcmdldFBvc2l0aW9uID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFRvUG9zaXRpb24gPSB0YXJnZXRQb3NpdGlvbiAtIHZpZXdwb3J0SGVpZ2h0IC8gMiArIGVsZW1lbnQuY2xpZW50SGVpZ2h0IC8gMjtcbiAgICAgICAgICAgICAgd2luZG93LnNjcm9sbFRvKHsgdG9wOiBzY3JvbGxUb1Bvc2l0aW9uLCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KTtcbiAgICAgIFxuICAgICAgICAgICAgICAvLyBMYWRlenVzdGFuZCBuYWNoIEFic2NobHVzcyBkZXMgU2Nyb2xsZW5zIGJlZW5kZW5cbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgICAgfSwgMTAwMCk7IC8vIFNjcm9sbHplaXQgYWxzIEJlaXNwaWVsXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBGYWxscyBkYXMgRWxlbWVudCBuaWNodCBnZWZ1bmRlbiB3aXJkLCBMYWRlenVzdGFuZCBiZWVuZGVuXG4gICAgICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSwgNTAwKTsgXG4gICAgfTtcblxuICAgIFxuICAgIHJldHVybiB7IGlzTG9hZGluZywgY2hhbmdlUGFnZVdpdGhMb2FkaW5nU2NyZWVuLCAgZ29Ub1BhZ2VBbmRTY3JvbGwsIHNldElzTG9hZGluZywgZ29Ub1BhZ2VzQW5kT3BlblRhYiwgZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsLCBnb1RvUGFnZVdpdGhOZXN0ZWRUYWJzLCBnb1RvUGFnZVdpdGhUYWJBbmRDb2xsYXBzaWJsZSwgZ29Ub1RleHRzQW5kT3BlbkNvbGxhcHNpYmxlIH07XG59O1xuIiwgImltcG9ydCB7IEgyLCBIMyB9IGZyb20gXCIuL0hlYWRpbmdzXCJcblxuXG5leHBvcnQgZnVuY3Rpb24gU2VjdGlvbih7aWQsIHRpdGxlLCBjaGlsZHJlbn06IHtpZDogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlfSl7XG4gICAgbGV0IHNlY19pZCA9IGAke2lkfUhgXG4gICAgbGV0IGhlYWRlcl9pZCA9IGlkXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPHNlY3Rpb24gaWQ9e3NlY19pZH0gY2xhc3NOYW1lPVwic2VjdGlvblwiPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9e2hlYWRlcl9pZH0+PEgyIHRleHQ9e3RpdGxlfS8+PC9kaXY+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICApXG5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFN1YmVzY3Rpb24oe2lkLCB0aXRsZSwgY2hpbGRyZW59OiB7aWQ6IHN0cmluZywgdGl0bGU6IHN0cmluZywgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pe1xuXG4gICAgcmV0dXJuKFxuICAgICAgICA8c2VjdGlvbiBpZD17aWR9PlxuICAgICAgICAgICAgICAgIDxIMyB0ZXh0PXt0aXRsZX0gaWQ9e2lkICsgXCJIXCJ9PjwvSDM+XG4gICAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICApXG59IiwgImltcG9ydCB7IGFkdmlzb3JzLCBpbnN0cnVjdG9yLCBwaXMsIFN0ZWNrYnJpZWZJbnRlcmZhY2UsIHRlYW1tZW1iZXJzIH0gZnJvbSBcIi4uL2RhdGEvc3RlY2ticmllZmVcIjtcbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgQmFja1VwIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQnV0dG9uc1wiO1xuaW1wb3J0IHsgU2VjdGlvbiB9IGZyb20gXCIuLi9jb21wb25lbnRzL3NlY3Rpb25zXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFRlYW0oKSB7XG4gIHVzZVRhYk5hdmlnYXRpb24oKTtcbiAgbGV0IHRlYW1icmllZmUgPSBjcmVhdGVTdGVja2JyaWVmZSh0ZWFtbWVtYmVycyk7IFxuICBsZXQgYWR2aXNvcmJyaWVmZSA9IGNyZWF0ZVBpU3RlY2ticmllZmUoYWR2aXNvcnMpOyBcbiAgbGV0IHNpbmFuID0gY3JlYXRlUGlTdGVja2JyaWVmZShpbnN0cnVjdG9yKTsgXG4gIGxldCBwaWJyaWVmZSA9IGNyZWF0ZVBpU3RlY2ticmllZmUocGlzKVxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8YnIvPlxuXG4gICAgICA8YnIvPlxuICAgICAgPGlmcmFtZSB0aXRsZT1cIkJpZWxlZmVsZC1DZUJpVGVjOiBTaXRjb20gVGVhbSBQcmVzZW50YXRpb24gKDIwMjQpIFtFbmdsaXNoXVwiIHdpZHRoPVwiMTAwJVwiIGhlaWdodD1cIjYwMHB4XCIgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy92aWRlb3MvZW1iZWQvZTQwZDg5YTAtMjQ2MS00MjFjLWE3NWMtOTJiM2IyMzhlMGY4XCIgZnJhbWVCb3JkZXI9XCIwXCIgYWxsb3dGdWxsU2NyZWVuPXt0cnVlfSBzYW5kYm94PVwiYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctc2NyaXB0cyBhbGxvdy1wb3B1cHMgYWxsb3ctZm9ybXNcIj48L2lmcmFtZT5cbiAgICAgIDxTZWN0aW9uIHRpdGxlPVwiTWVtYmVyc1wiIGlkPVwibWVtYmVyc1wiPlxuICAgICAge3RlYW1icmllZmV9XG4gICAgICA8L1NlY3Rpb24+XG5cbiAgICAgIDxTZWN0aW9uIHRpdGxlPVwiSW5zdHJ1Y3RvclwiIGlkPVwiaW5zdHJ1Y3RvclwiPlxuICAgICAge3NpbmFufVxuICAgICAgPC9TZWN0aW9uPlxuICAgICAgPFNlY3Rpb24gdGl0bGU9XCJBZHZpc29yc1wiIGlkPVwiQWR2aXNvcnNcIj5cbiAgICAgIHthZHZpc29yYnJpZWZlfVxuICAgICAgPC9TZWN0aW9uPlxuICAgICAgPFNlY3Rpb24gdGl0bGU9XCJQcmluY2lwYWwgSW52ZXN0aWdhdG9yc1wiIGlkPVwiUElTXCI+XG4gICAgICB7cGlicmllZmV9XG4gICAgICA8L1NlY3Rpb24+XG4gICAgICA8QmFja1VwLz4gXG4gICAgPC8+XG4gICk7XG59XG5cblxuXG5mdW5jdGlvbiBjcmVhdGVTdGVja2JyaWVmZShkYXRhOiBBcnJheTxTdGVja2JyaWVmSW50ZXJmYWNlPil7XG4gIGxldCBicmllZmU6IEpTWC5FbGVtZW50W10gID0gW11cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGRhdGEubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgbGV0IHRoZW5hbWUgPSBcIlwiICsgZGF0YVtpbmRleF0udm9ybmFtZSArIGRhdGFbaW5kZXhdLm5hY2huYW1lOyBcbiAgICAvLyBDb25kaXRpb25hbCBoZWFkIG9mXG4gICAgdmFyIGhlYWRvZiA9IDw+PC8+OyBcbiAgICBpZihkYXRhW2luZGV4XS5oZWFkb2Ype1xuICAgICAgdmFyIGhlYWRvZiA9IDw+PGRpdiBjbGFzc05hbWU9XCJcIj4gPGI+SGVhZCBvZjo8L2I+IHtkYXRhW2luZGV4XS5oZWFkb2Z9IDwvZGl2PiA8YnIvPjwvPjsgXG4gICAgfVxuICAgIC8vIEpvYnNcbiAgICB2YXIgam9icyA9IFwiXCI7IFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpbmRleF0uaWdlbWpvYi5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoZGF0YVtpbmRleF0uaWdlbWpvYi5sZW5ndGggID09IDEpIHtcbiAgICAgICAgICBqb2JzICs9ICBkYXRhW2luZGV4XS5pZ2Vtam9iW2ldXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaSArIDEgPT0gZGF0YVtpbmRleF0uaWdlbWpvYi5sZW5ndGggKSB7XG4gICAgICAgICAgam9icyArPSBcIiBhbmQgXCIgKyBkYXRhW2luZGV4XS5pZ2Vtam9iW2ldO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYoaSArIDIgPT0gZGF0YVtpbmRleF0uaWdlbWpvYi5sZW5ndGgpe1xuICAgICAgICAgIGpvYnMgKz0gIGRhdGFbaW5kZXhdLmlnZW1qb2JbaV1cbiAgICAgICAgICAvL2NvbnNvbGUubG9nKGBiZWkgaSsyIGlzdCBlcyAke2RhdGFbaW5kZXhdLmhvYmJpZXNbaV19YClcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICAgIGpvYnMgKz0gIGRhdGFbaW5kZXhdLmlnZW1qb2JbaV0gKyBcIiwgXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gRnVuZmFjdHMgXG4gICAgdmFyIGZ1bmZhY3RzOiBKU1guRWxlbWVudFtdICA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpbmRleF0uZnVuZmFjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZ1bmZhY3RzLnB1c2goPGxpIGtleT17YGYke2l9YH0+IHtkYXRhW2luZGV4XS5mdW5mYWN0c1tpXX0gPC9saT4pOyBcbiAgICB9XG4gICAgLy8gSG9iYmllc1xuICAgIHZhciBob2JicyA9IFwiXCI7IFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpbmRleF0uaG9iYmllcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGkgKyAxID09IGRhdGFbaW5kZXhdLmhvYmJpZXMubGVuZ3RoICkge1xuICAgICAgICAvL2NvbnNvbGUubG9nKGBiZWkgaSsxIGlzdCBlcyAke2RhdGFbaW5kZXhdLmhvYmJpZXNbaV19YClcbiAgICAgICAgaG9iYnMgKz0gXCIgYW5kIFwiICsgZGF0YVtpbmRleF0uaG9iYmllc1tpXTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYoaSArIDIgPT0gZGF0YVtpbmRleF0uaG9iYmllcy5sZW5ndGgpe1xuICAgICAgICBob2JicyArPSAgZGF0YVtpbmRleF0uaG9iYmllc1tpXVxuICAgICAgICAvL2NvbnNvbGUubG9nKGBiZWkgaSsyIGlzdCBlcyAke2RhdGFbaW5kZXhdLmhvYmJpZXNbaV19YClcbiAgICAgIH1cbiAgICAgIGVsc2V7XG4gICAgICAgIC8vY29uc29sZS5sb2coYGJlaSAke2l9IGlzdCBlcyAke2RhdGFbaW5kZXhdLmhvYmJpZXNbaV19YClcbiAgICAgICAgaG9iYnMgKz0gIGRhdGFbaW5kZXhdLmhvYmJpZXNbaV0gKyBcIiwgXCI7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFdoeWlnZW1cbiAgICB2YXIgd2h5OiBKU1guRWxlbWVudFtdICA9IFtdOyBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFbaW5kZXhdLndoeWlnZW0ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHdoeS5wdXNoKDxwPntkYXRhW2luZGV4XS53aHlpZ2VtW2ldfTwvcD4pOyBcbiAgICB9XG4gICAgLy9UaXRsZVxuICAgIGxldCB0aXRsZSA9IFwiXCI7IFxuICAgIGlmIChkYXRhW2luZGV4XS50aXRsZSkge1xuICAgICAgdGl0bGUgPSBkYXRhW2luZGV4XS50aXRsZSE7IFxuICAgIH1cbiAgICAvLyBjaGFsbGVuZ2VzXG4gICAgbGV0IGNoYWxsczogSlNYLkVsZW1lbnRbXSAgPSBbXTsgIFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpbmRleF0uYmlnZ2VzdGNoYWxsZW5nZS5sZW5ndGg7IGkrKykge1xuICAgICAgY2hhbGxzLnB1c2goPGxpIGtleT17YGQke2l9YH0+e2RhdGFbaW5kZXhdLmJpZ2dlc3RjaGFsbGVuZ2VbaV19PC9saT4pOyBcbiAgICB9XG4gICAgLy8gYmVzdHBhcnRzXG4gICAgbGV0IGJlc3RzOiBKU1guRWxlbWVudFtdICA9IFtdOyAgXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhW2luZGV4XS5iZXN0cGFydC5sZW5ndGg7IGkrKykge1xuICAgICAgYmVzdHMucHVzaCg8bGkga2V5PXtgZSR7aX1gfT57ZGF0YVtpbmRleF0uYmVzdHBhcnRbaV19PC9saT4pOyBcbiAgICB9XG4gICAgbGV0IGZyb250YnJpZWZjbGFzcyA9IFwiZnJvbnRicmllZiBmcm9udGJyaWVmXCIrdGhlbmFtZTsgXG4gICAgbGV0IGJhY2ticmllZmNsYXNzID0gXCJiYWNrYnJpZWYgYmFja2JyaWVmXCIrdGhlbmFtZTtcblxuICAgIGxldCBwaWN0dXJlID0gPGRpdiBjbGFzc05hbWU9XCJjb2wtMiBsbnAgY2VudGVyXCI+PGltZyBzcmM9e2RhdGFbaW5kZXhdLnp3ZWl0Zm90b30gc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19IGNsYXNzTmFtZT17XCJpbWcgdGVhbS1pbWcgXCIrYmFja2JyaWVmY2xhc3N9Lz48aW1nIHNyYz17ZGF0YVtpbmRleF0uaGF1cHRmb3RvfSBjbGFzc05hbWU9e1wiaW1nIHRlYW0taW1nIFwiK2Zyb250YnJpZWZjbGFzc30+PC9pbWc+PC9kaXY+IFxuICAgIGxldCBuYW1lcm93ID0gPGRpdiBjbGFzc05hbWU9XCJyb3dcIj48ZGl2IGNsYXNzTmFtZT1cInRlYW0tbmFtZVwiPiB7dGl0bGV9IHtkYXRhW2luZGV4XS52b3JuYW1lfSB7ZGF0YVtpbmRleF0ubmFjaG5hbWV9IDxzcGFuIGNsYXNzTmFtZT1cInByb25vdW5zXCI+ICh7ZGF0YVtpbmRleF0ucHJvbm91bnN9KSA8L3NwYW4+IDwvZGl2PiAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gPGEgaHJlZj17ZGF0YVtpbmRleF0ubGlua2VkaW51cmx9PiA8aW1nIGNsYXNzTmFtZT1cInRlYW0tc29jaWFsc1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9saW5rZWRpbi5wbmdcIiAvPiA8L2E+PC9kaXY+IDwvZGl2PjsgXG4gICAgbGV0IGZyb250cGFyYWdyYXBoID0gPGRpdiBjbGFzc05hbWU9e1wicm93IFwiICsgZnJvbnRicmllZmNsYXNzfT4gPGg2PldoeSBJIHRvb2sgcGFydCBpbiBpR0VNPC9oNj4ge3doeX0gPC9kaXY+IDsgXG4gICAgbGV0IGZhY3RzID0gPGRpdiBjbGFzc05hbWU9e2Zyb250YnJpZWZjbGFzc30+PGRpdiBjbGFzc05hbWU9XCJcIj4gPGI+QWdlOjwvYj4ge2RhdGFbaW5kZXhdLmFnZX0gPC9kaXY+IDxici8+IHtoZWFkb2Z9IDxkaXY+IDxiPlBhcnQgb2Y6PC9iPiB7am9ic308L2Rpdj4gPGJyLz4gPGRpdiBjbGFzc05hbWU9XCJcIj4gPGI+TWFqb3I6PC9iPiB7ZGF0YVtpbmRleF0uc3R1ZGllbmdhbmd9IDwvZGl2PiA8YnIvPiA8ZGl2IGNsYXNzTmFtZT1cIlwiPiA8Yj5TY2llbnRpZmljIGludGVyZXN0czo8L2I+IHtkYXRhW2luZGV4XS5zY2llbnRpZmljaW50ZXJlc3RzfSA8L2Rpdj4gPC9kaXY+OyBcbiAgICBsZXQgYmFja2J1dHRvbiA9ICA8ZGl2IGNsYXNzTmFtZT17YmFja2JyaWVmY2xhc3N9IHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT4gICA8ZGl2IGNsYXNzTmFtZT1cInBhcmVudC1idXR0b25cIj48YnV0dG9uIG9uQ2xpY2s9e2ZsaXBCYWNrKHRoZW5hbWUpfSBjbGFzc05hbWU9XCJmcm9udGJ1dHRvblwiPkNsaWNrIG1lPC9idXR0b24+PC9kaXY+PC9kaXY+XG4gICAgbGV0IGZ1bmZhY3RsaXN0ID0gPGRpdiBjbGFzc05hbWU9e2JhY2ticmllZmNsYXNzfSBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+PGI+RnVuZmFjdHM6IDwvYj48dWw+IHtmdW5mYWN0c308L3VsPjwvZGl2PlxuICAgIGxldCBmYXZtdXNpYyA9IDw+PGg2PkZhdm91cml0ZSBsYWIgbXVzaWM6PC9oNj48cD57ZGF0YVtpbmRleF0uZmF2bGFibXVzaWN9PC9wPjwvPlxuICAgIGxldCBob2JiaWVsaXN0ID0gPD48aDY+SG9iYmllczo8L2g2PiA8cD4ge2hvYmJzfSA8L3A+PC8+XG4gICAgbGV0IGJhY2twYXJhZ3JhcGggPSA8ZGl2IGNsYXNzTmFtZT17XCJyb3cgXCIrYmFja2JyaWVmY2xhc3N9IHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT57ZmF2bXVzaWN9e2hvYmJpZWxpc3R9PC9kaXY+IFxuICAgIGxldCBwYXJhZ3JhcGhzID0gPGRpdiBjbGFzc05hbWU9XCJzdGVja2JvZHlcIj4ge2Zyb250cGFyYWdyYXBofSB7YmFja3BhcmFncmFwaH0gPC9kaXY+XG4gICAgbGV0IGZyb250YnV0dG9uID0gIDxkaXYgY2xhc3NOYW1lPXtmcm9udGJyaWVmY2xhc3N9PiA8ZGl2IGNsYXNzTmFtZT1cInBhcmVudC1idXR0b25cIj48YnV0dG9uIG9uQ2xpY2s9e2ZsaXAodGhlbmFtZSl9IGNsYXNzTmFtZT1cImZyb250YnV0dG9uXCI+Q2xpY2sgbWU8L2J1dHRvbj48L2Rpdj48L2Rpdj5cbiAgICBsZXQgY2hhbGxlbmdlcyA9IDxkaXY+IDxoNj5XaGF0IHdlcmUgdGhlIGJpZ2dlc3QgY2hhbGxlbmdlcz88L2g2PiA8dWw+IHtjaGFsbHN9IDwvdWw+IDwvZGl2PlxuICAgIGxldCBiZXN0cGFydCA9IDxkaXY+IDxoNj5XaGF0IHdlcmUgdGhlIGJlc3QgcGFydHM/PC9oNj4gPHVsPiB7YmVzdHN9IDwvdWw+PC9kaXY+IDsgXG4gICAgbGV0IGRldGFpbHMgPSA8ZGl2PiA8YnIvPiB7Y2hhbGxlbmdlc30ge2Jlc3RwYXJ0fSA8L2Rpdj5cbiAgICBsZXQgaG9sZSA9IFxuICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IHN0ZWNrYnJpZWZcIj4ge3BpY3R1cmV9ICBcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC01XCI+IFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj4ge25hbWVyb3d9XG4gICAgICAgICAgICAgICAgICA8aHIvPiAgXG4gICAgICAgICAgICAgICAgICA8L2Rpdj4gICBcbiAgICAgICAgICAgICAgICAgIHtwYXJhZ3JhcGhzfSAgICAgXG4gICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTQgYnJpZWZmYWN0c1wiPlxuICAgICAgICAgICAgICAgICAgPGJyLz48YnIvPiAge2Z1bmZhY3RsaXN0fSB7ZmFjdHN9IFxuICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8L2Rpdj4gPGRpdiBjbGFzc05hbWU9XCJyb3cgc3RlY2ticmllZmJ1dHRvbnJvd1wiIHN0eWxlPXt7bWFyZ2luVG9wOiBcIjFyZW1cIiwgbWFyZ2luQm90dG9tOiBcIjFyZW1cIn19PiA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yXCI+IHtmcm9udGJ1dHRvbn0ge2JhY2tidXR0b259PC9kaXY+ICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjxkZXRhaWxzIGNsYXNzTmFtZT17ZnJvbnRicmllZmNsYXNzfSA+PHN1bW1hcnk+IDxiPlBlcnNvbmFsIG1vdGl2YXRpb24gYW5kIGNoYWxsZW5nZXM8L2I+IDwvc3VtbWFyeT48ZGl2PiB7ZGV0YWlsc308L2Rpdj48L2RldGFpbHM+PC9kaXY+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICBsZXQgd2hvbGUgPSA8ZGl2ICBjbGFzc05hbWU9e1wic3RlY2ticmllZi1ib3hcIn0gaWQ9e3RoZW5hbWV9PiB7aG9sZX0gPC9kaXY+OyBcbiAgICBicmllZmUucHVzaCh3aG9sZSk7IFxuICB9XG4gIHJldHVybiBicmllZmU7IFxufVxuXG5mdW5jdGlvbiBjcmVhdGVQaVN0ZWNrYnJpZWZlKGRhdGE6IEFycmF5PFN0ZWNrYnJpZWZJbnRlcmZhY2U+KXtcbiAgbGV0IGJyaWVmZTogSlNYLkVsZW1lbnRbXSAgPSBbXVxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF0YS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICBsZXQgdGhlbmFtZSA9IFwiXCIgKyBkYXRhW2luZGV4XS52b3JuYW1lICsgZGF0YVtpbmRleF0ubmFjaG5hbWU7IFxuICAgIC8vIENvbmRpdGlvbmFsIGhlYWQgb2ZcbiAgICB2YXIgaGVhZG9mID0gPD48Lz47IFxuICAgIGlmKGRhdGFbaW5kZXhdLmhlYWRvZil7XG4gICAgICB2YXIgaGVhZG9mID0gPD48ZGl2IGNsYXNzTmFtZT1cIlwiPiA8Yj5pR0VNLUpvYjo8L2I+IHtkYXRhW2luZGV4XS5oZWFkb2Z9IDwvZGl2PiA8YnIvPjwvPjsgXG4gICAgfVxuICAgIC8vIEpvYnNcbiAgICB2YXIgam9icyA9IFwiXCI7IFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpbmRleF0uaWdlbWpvYi5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoaSArIDEgPT0gZGF0YVtpbmRleF0uaWdlbWpvYi5sZW5ndGggKSB7XG4gICAgICAgICAgam9icyArPSBcIiBhbmQgXCIgKyBkYXRhW2luZGV4XS5pZ2Vtam9iW2ldO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgam9icyArPSAgZGF0YVtpbmRleF0uaWdlbWpvYltpXSArIFwiLCBcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBGdW5mYWN0cyBcbiAgICB2YXIgZnVuZmFjdHM6IEpTWC5FbGVtZW50W10gID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhW2luZGV4XS5mdW5mYWN0cy5sZW5ndGg7IGkrKykge1xuICAgICAgZnVuZmFjdHMucHVzaCg8bGkga2V5PXtgYSR7aX1gfT4ge2RhdGFbaW5kZXhdLmZ1bmZhY3RzW2ldfSA8L2xpPik7IFxuICAgIH1cbiAgICAvLyBIb2JiaWVzXG4gICAgdmFyIGhvYmJzID0gXCJcIjsgXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhW2luZGV4XS5ob2JiaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoaSArIDEgPT0gZGF0YVtpbmRleF0uaG9iYmllcy5sZW5ndGggKSB7XG4gICAgICAgIGhvYmJzICs9IFwiIGFuZCBcIiArIGRhdGFbaW5kZXhdLmhvYmJpZXNbaV07XG4gICAgICB9XG4gICAgICBlbHNlIGlmKGkgKyAyID09IGRhdGFbaW5kZXhdLmhvYmJpZXMubGVuZ3RoKXtcbiAgICAgICAgaG9iYnMgKz0gIGRhdGFbaW5kZXhdLmhvYmJpZXNbaV1cbiAgICAgICAgLy9jb25zb2xlLmxvZyhgYmVpIGkrMiBpc3QgZXMgJHtkYXRhW2luZGV4XS5ob2JiaWVzW2ldfWApXG4gICAgICB9XG4gICAgICBlbHNle1xuICAgICAgICBob2JicyArPSAgZGF0YVtpbmRleF0uaG9iYmllc1tpXSArIFwiLCBcIjtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gV2h5aWdlbVxuICAgIHZhciB3aHk6IEpTWC5FbGVtZW50W10gID0gW107IFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpbmRleF0ud2h5aWdlbS5sZW5ndGg7IGkrKykge1xuICAgICAgd2h5LnB1c2goPHA+e2RhdGFbaW5kZXhdLndoeWlnZW1baV19PC9wPik7IFxuICAgIH1cbiAgICAvL1RpdGxlXG4gICAgbGV0IHRpdGxlID0gXCJcIjsgXG4gICAgaWYgKGRhdGFbaW5kZXhdLnRpdGxlKSB7XG4gICAgICB0aXRsZSA9IGRhdGFbaW5kZXhdLnRpdGxlITsgXG4gICAgfVxuICAgIC8vIGNoYWxsZW5nZXNcbiAgICBsZXQgY2hhbGxzOiBKU1guRWxlbWVudFtdICA9IFtdOyAgXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhW2luZGV4XS5iaWdnZXN0Y2hhbGxlbmdlLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjaGFsbHMucHVzaCg8bGkga2V5PXtgYiR7aX1gfT57ZGF0YVtpbmRleF0uYmlnZ2VzdGNoYWxsZW5nZVtpXX08L2xpPik7IFxuICAgIH1cbiAgICAvLyBiZXN0cGFydHNcbiAgICBsZXQgYmVzdHM6IEpTWC5FbGVtZW50W10gID0gW107ICBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFbaW5kZXhdLmJlc3RwYXJ0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBiZXN0cy5wdXNoKDxsaSBrZXk9e2BjJHtpfWB9PntkYXRhW2luZGV4XS5iZXN0cGFydFtpXX08L2xpPik7IFxuICAgIH1cbiAgICBsZXQgZnJvbnRicmllZmNsYXNzID0gXCJmcm9udGJyaWVmIGZyb250YnJpZWZcIit0aGVuYW1lOyBcbiAgICBsZXQgYmFja2JyaWVmY2xhc3MgPSBcImJhY2ticmllZiBiYWNrYnJpZWZcIit0aGVuYW1lO1xuXG4gICAgbGV0IHBpY3R1cmUgPSA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yIGxucCBjZW50ZXJcIj48aW1nIHNyYz17ZGF0YVtpbmRleF0uendlaXRmb3RvfSBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0gY2xhc3NOYW1lPXtcImltZyB0ZWFtLWltZyBcIitiYWNrYnJpZWZjbGFzc30vPjxpbWcgc3JjPXtkYXRhW2luZGV4XS5oYXVwdGZvdG99IGNsYXNzTmFtZT17XCJpbWcgdGVhbS1pbWcgXCIrZnJvbnRicmllZmNsYXNzfT48L2ltZz48L2Rpdj4gXG4gICAgbGV0IG5hbWVyb3cgPSA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPjxkaXYgY2xhc3NOYW1lPVwidGVhbS1uYW1lXCI+IHt0aXRsZX0ge2RhdGFbaW5kZXhdLnZvcm5hbWV9IHtkYXRhW2luZGV4XS5uYWNobmFtZX0gPHNwYW4gY2xhc3NOYW1lPVwicHJvbm91bnNcIj4gKHtkYXRhW2luZGV4XS5wcm9ub3Vuc30pIDwvc3Bhbj4gPC9kaXY+ICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPiA8YSBocmVmPXtkYXRhW2luZGV4XS5saW5rZWRpbnVybH0+IDxpbWcgY2xhc3NOYW1lPVwidGVhbS1zb2NpYWxzXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2xpbmtlZGluLnBuZ1wiIC8+IDwvYT48L2Rpdj4gPC9kaXY+OyBcbiAgICBsZXQgZnJvbnRwYXJhZ3JhcGggPSA8ZGl2IGNsYXNzTmFtZT17XCJyb3cgXCIgKyBmcm9udGJyaWVmY2xhc3N9PiA8aDY+V2h5IEkgdG9vayBwYXJ0IGluIGlHRU08L2g2PiB7d2h5fSA8L2Rpdj4gOyBcbiAgICBsZXQgZmFjdHMgPSA8ZGl2IGNsYXNzTmFtZT17ZnJvbnRicmllZmNsYXNzfT48ZGl2IGNsYXNzTmFtZT1cIlwiPiA8Yj5BZ2U6PC9iPiB7ZGF0YVtpbmRleF0uYWdlfSA8L2Rpdj4gPGJyLz4ge2hlYWRvZn0gPGRpdj4gPGI+QWZmaWxpYXRpb246PC9iPiB7am9ic308L2Rpdj4gPGJyLz4gPGRpdiBjbGFzc05hbWU9XCJcIj4gPGI+UmVndWxhciBKb2I6PC9iPiB7ZGF0YVtpbmRleF0uc3R1ZGllbmdhbmd9IDwvZGl2PiA8YnIvPiA8ZGl2IGNsYXNzTmFtZT1cIlwiPiA8Yj5TY2llbnRpZmljIGludGVyZXN0czo8L2I+IHtkYXRhW2luZGV4XS5zY2llbnRpZmljaW50ZXJlc3RzfSA8L2Rpdj4gPC9kaXY+OyBcbiAgICBsZXQgYmFja2J1dHRvbiA9ICA8ZGl2IGNsYXNzTmFtZT17YmFja2JyaWVmY2xhc3N9IHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT4gICA8ZGl2IGNsYXNzTmFtZT1cInBhcmVudC1idXR0b25cIj48YnV0dG9uIG9uQ2xpY2s9e2ZsaXBCYWNrKHRoZW5hbWUpfSBjbGFzc05hbWU9XCJmcm9udGJ1dHRvblwiPkNsaWNrIG1lPC9idXR0b24+PC9kaXY+PC9kaXY+XG4gICAgbGV0IGZ1bmZhY3RsaXN0ID0gPGRpdiBjbGFzc05hbWU9e2JhY2ticmllZmNsYXNzfSBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+PGI+RnVuZmFjdHM6IDwvYj48dWw+IHtmdW5mYWN0c308L3VsPjwvZGl2PlxuICAgIGxldCBmYXZtdXNpYyA9IDw+PGg2PkZhdm91cml0ZSBsYWIgbXVzaWM6PC9oNj48cD57ZGF0YVtpbmRleF0uZmF2bGFibXVzaWN9PC9wPjwvPlxuICAgIGxldCBob2JiaWVsaXN0ID0gPD48aDY+SG9iYmllczo8L2g2PiA8cD4ge2hvYmJzfSA8L3A+PC8+XG4gICAgbGV0IGJhY2twYXJhZ3JhcGggPSA8ZGl2IGNsYXNzTmFtZT17XCJyb3cgXCIrYmFja2JyaWVmY2xhc3N9IHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT57ZmF2bXVzaWN9e2hvYmJpZWxpc3R9PC9kaXY+IFxuICAgIGxldCBwYXJhZ3JhcGhzID0gPGRpdiBjbGFzc05hbWU9XCJzdGVja2JvZHlcIj4ge2Zyb250cGFyYWdyYXBofSB7YmFja3BhcmFncmFwaH0gPC9kaXY+XG4gICAgbGV0IGZyb250YnV0dG9uID0gIDxkaXYgY2xhc3NOYW1lPXtmcm9udGJyaWVmY2xhc3N9PiA8ZGl2IGNsYXNzTmFtZT1cInBhcmVudC1idXR0b25cIj48YnV0dG9uIG9uQ2xpY2s9e2ZsaXAodGhlbmFtZSl9IGNsYXNzTmFtZT1cImZyb250YnV0dG9uXCI+Q2xpY2sgbWU8L2J1dHRvbj48L2Rpdj48L2Rpdj5cbiAgICBsZXQgY2hhbGxlbmdlcyA9IDxkaXY+IDxoNj5XaGF0IHdlcmUgdGhlIGJpZ2dlc3QgY2hhbGxlbmdlcz88L2g2PiA8dWw+IHtjaGFsbHN9IDwvdWw+IDwvZGl2PlxuICAgIGxldCBiZXN0cGFydCA9IDxkaXY+IDxoNj5XaGF0IHdlcmUgdGhlIGJlc3QgcGFydHM/PC9oNj4gPHVsPiB7YmVzdHN9IDwvdWw+PC9kaXY+IDsgXG4gICAgbGV0IGRldGFpbHMgPSA8ZGl2PiA8YnIvPiB7Y2hhbGxlbmdlc30ge2Jlc3RwYXJ0fSA8L2Rpdj5cbiAgICBsZXQgaG9sZSA9IFxuICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IHN0ZWNrYnJpZWZcIj4ge3BpY3R1cmV9ICBcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC01XCI+IFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj4ge25hbWVyb3d9XG4gICAgICAgICAgICAgICAgICA8aHIvPiAgXG4gICAgICAgICAgICAgICAgICA8L2Rpdj4gICBcbiAgICAgICAgICAgICAgICAgIHtwYXJhZ3JhcGhzfSAgICAgXG4gICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTQgYnJpZWZmYWN0c1wiPlxuICAgICAgICAgICAgICAgICAgPGJyLz48YnIvPiAge2Z1bmZhY3RsaXN0fSB7ZmFjdHN9IFxuICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8L2Rpdj4gPGRpdiBjbGFzc05hbWU9XCJyb3cgc3RlY2ticmllZmJ1dHRvbnJvd1wiIHN0eWxlPXt7bWFyZ2luVG9wOiBcIjFyZW1cIiwgbWFyZ2luQm90dG9tOiBcIjFyZW1cIn19PiA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yXCI+IHtmcm9udGJ1dHRvbn0ge2JhY2tidXR0b259PC9kaXY+ICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjxkZXRhaWxzIGNsYXNzTmFtZT17ZnJvbnRicmllZmNsYXNzfSA+PHN1bW1hcnk+IDxiPlBlcnNvbmFsIG1vdGl2YXRpb24gYW5kIGNoYWxsZW5nZXM8L2I+IDwvc3VtbWFyeT48ZGl2PiB7ZGV0YWlsc308L2Rpdj48L2RldGFpbHM+PC9kaXY+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICBsZXQgd2hvbGUgPSA8ZGl2ICBjbGFzc05hbWU9e1wic3RlY2ticmllZi1ib3hcIn0gaWQ9e3RoZW5hbWV9PiB7aG9sZX0gPC9kaXY+OyBcbiAgICBicmllZmUucHVzaCh3aG9sZSk7IFxuICB9XG4gIHJldHVybiBicmllZmU7IFxufVxuXG5cblxuZnVuY3Rpb24gZmxpcChlbGVtZW50OiBzdHJpbmcpe1xuICBjb25zdCBmbGlwcCA9IChfZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgbGV0IGVsZW1lbnRzVG9IaWRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImZyb250YnJpZWZcIitlbGVtZW50KTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudHNUb0hpZGUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgKGVsZW1lbnRzVG9IaWRlW2ldIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gICAgICB9XG4gICAgbGV0IGVsZW1lbnRzVG9GaW5kID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImJhY2ticmllZlwiK2VsZW1lbnQpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudHNUb0ZpbmQubGVuZ3RoOyBpKyspIHtcbiAgICAgIChlbGVtZW50c1RvRmluZFtpXSBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZsaXBwOyBcbn1cblxuZnVuY3Rpb24gZmxpcEJhY2soZWxlbWVudDogc3RyaW5nKXtcbiAgY29uc3QgZmxpcHBiYWNrID0gKF9ldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHtcbiAgICBsZXQgZWxlbWVudHNUb0hpZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiYmFja2JyaWVmXCIrZWxlbWVudCk7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnRzVG9IaWRlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIChlbGVtZW50c1RvSGlkZVtpXSBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgICAgfVxuICAgIGxldCBlbGVtZW50c1RvRmluZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJmcm9udGJyaWVmXCIrZWxlbWVudCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50c1RvRmluZC5sZW5ndGg7IGkrKykge1xuICAgICAgKGVsZW1lbnRzVG9GaW5kW2ldIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmxpcHBiYWNrOyAgXG59IiwgImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmFja1VwIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQnV0dG9uc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gQXR0cmlidXRpb25zKCkge1xuICBjb25zdCB0ZWFtSUQgPSBpbXBvcnQubWV0YS5lbnYuVklURV9URUFNX0lEO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZnVuY3Rpb24gbGlzdGVuVG9JZnJhbWVIZWlnaHQoZTogTWVzc2FnZUV2ZW50KSB7XG4gICAgICBpZiAoZS5vcmlnaW4gPT09IFwiaHR0cHM6Ly90ZWFtcy5pZ2VtLm9yZ1wiKSB7XG4gICAgICAgIGNvbnN0IHsgdHlwZSwgZGF0YSB9ID0gSlNPTi5wYXJzZShlLmRhdGEpO1xuICAgICAgICBpZiAodHlwZSA9PT0gXCJpZ2VtLWF0dHJpYnV0aW9uLWZvcm1cIikge1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImlnZW0tYXR0cmlidXRpb24tZm9ybVwiKTtcbiAgICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHtkYXRhICsgMTAwfXB4YDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGxpc3RlblRvSWZyYW1lSGVpZ2h0KTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGxpc3RlblRvSWZyYW1lSGVpZ2h0KTtcbiAgICB9O1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgbXQtNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8aWZyYW1lXG4gICAgICAgIHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fVxuICAgICAgICBpZD1cImlnZW0tYXR0cmlidXRpb24tZm9ybVwiXG4gICAgICAgIHNyYz17YGh0dHBzOi8vdGVhbXMuaWdlbS5vcmcvd2lraS8ke3RlYW1JRH0vYXR0cmlidXRpb25zYH1cbiAgICAgIC8+XG4gICAgICA8QmFja1VwLz4gXG4gICAgPC8+XG4gICk7XG59XG4iLCAiaW1wb3J0IHsgQkZITW9yZUJ1dHRvbiB9IGZyb20gXCIuL0J1dHRvbnNcIjtcblxuXG4gXG5cbmludGVyZmFjZSBJdGVtUHJvcHMge1xuICAgIHRleHQ/OiBzdHJpbmc7IFxuICAgIGhlYWRpbmc/OiBzdHJpbmc7IFxuICAgIHZvcm5hbWU/OiBzdHJpbmcsIFxuICAgIHZvcm5hbWUyPzogc3RyaW5nLCBcbiAgICBuYWNobmFtZT86IHN0cmluZyxcbiAgICBuYWNobmFtZTI/OiBzdHJpbmcsXG4gICAgZGF0ZTogc3RyaW5nICxcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAgIHRhZzogc3RyaW5nLCBcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIGNzc3RhZzogc3RyaW5nLFxuICAgIHVybDogc3RyaW5nLFxuICAgIHVybDI/OiBzdHJpbmdcbn1cbmludGVyZmFjZSBOb0J1dHRJdGVtUHJvcHMge1xuICAgIHRleHQ/OiBzdHJpbmc7IFxuICAgIGhlYWRpbmc/OiBzdHJpbmc7IFxuICAgIHZvcm5hbWU/OiBzdHJpbmcsIFxuICAgIHZvcm5hbWUyPzogc3RyaW5nLCBcbiAgICBuYWNobmFtZT86IHN0cmluZyxcbiAgICBuYWNobmFtZTI/OiBzdHJpbmcsXG4gICAgZGF0ZTogc3RyaW5nICxcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAgIHRhZzogc3RyaW5nLCBcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIHVybDogc3RyaW5nLFxuICAgIHVybDI/OiBzdHJpbmdcbn1cblxuXG5cbmV4cG9ydCBjb25zdCBUaW1lbGluZUl0ZW1QaWMgID0gKHsgaGVhZGluZywgdGV4dCwgdm9ybmFtZSwgbmFjaG5hbWUsIGRhdGUsIHRhZywgY29sb3IsIGNoaWxkcmVuLCBjc3N0YWcsIHVybCB9Okl0ZW1Qcm9wcykgPT4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZWxpbmUtaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW0tY29udGVudFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGFnXCIgc3R5bGU9e3sgYmFja2dyb3VuZDogY29sb3IgfX0+XG4gICAgICAgICAgICAgICAge3RhZ31cbiAgICAgICAgICAgIDwvc3Bhbj4gXG4gICAgICAgICAgICA8dGltZT57ZGF0ZX08L3RpbWU+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmaWd1cmUgY2xhc3NOYW1lPVwic25pcDExMTMgcmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17dXJsfSBhbHQ9e25hY2huYW1lfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPnt2b3JuYW1lfSA8YnIvPiA8c3Bhbj57bmFjaG5hbWV9PC9zcGFuPjwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHRleHQtMS1iZmhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1PntoZWFkaW5nfTwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIlwiPnt0ZXh0fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPEJGSE1vcmVCdXR0b24gaXQ9e2Nzc3RhZ30+PC9CRkhNb3JlQnV0dG9uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY2lyY2xlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4pO1xuXG5leHBvcnQgY29uc3QgVGltZWxpbmVJdGVtVHdvUGljICA9ICh7IHVybCwgdXJsMiwgaGVhZGluZywgdGV4dCwgdm9ybmFtZSwgbmFjaG5hbWUsIHZvcm5hbWUyLCBuYWNobmFtZTIsIGRhdGUsIHRhZywgY29sb3IsIGNoaWxkcmVuLCBjc3N0YWcgfTpJdGVtUHJvcHMpID0+IChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lbGluZS1pdGVtLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRhZ1wiIHN0eWxlPXt7IGJhY2tncm91bmQ6IGNvbG9yIH19PlxuICAgICAgICAgICAgICAgIHt0YWd9XG4gICAgICAgICAgICA8L3NwYW4+IFxuICAgICAgICAgICAgPHRpbWU+e2RhdGV9PC90aW1lPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmlndXJlIGNsYXNzTmFtZT1cInNuaXAxMTEzIHJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e3VybH0gYWx0PXtuYWNobmFtZX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57dm9ybmFtZX0gPGJyLz4gPHNwYW4+e25hY2huYW1lfTwvc3Bhbj48L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPiAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZSBjbGFzc05hbWU9XCJzbmlwMTExMyByZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXt1cmwyfSBhbHQ9e25hY2huYW1lMn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57dm9ybmFtZTJ9IDxici8+IDxzcGFuPntuYWNobmFtZTJ9PC9zcGFuPjwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHRleHQtMS1iZmhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1PntoZWFkaW5nfTwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIlwiPnt0ZXh0fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPEJGSE1vcmVCdXR0b24gaXQ9e2Nzc3RhZ30+PC9CRkhNb3JlQnV0dG9uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY2lyY2xlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4pO1xuXG5leHBvcnQgY29uc3QgVGltZWxpbmVJdGVtICA9ICh7IGRhdGUsIHRhZywgY29sb3IsIGNoaWxkcmVuLCBjc3N0YWcgfTpJdGVtUHJvcHMpID0+IChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lbGluZS1pdGVtLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRhZ1wiIHN0eWxlPXt7IGJhY2tncm91bmQ6IGNvbG9yIH19PlxuICAgICAgICAgICAgICAgIHt0YWd9XG4gICAgICAgICAgICA8L3NwYW4+IFxuICAgICAgICAgICAgPHRpbWU+e2RhdGV9PC90aW1lPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8QkZITW9yZUJ1dHRvbiBpdD17Y3NzdGFnfT48L0JGSE1vcmVCdXR0b24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJjaXJjbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbik7XG5leHBvcnQgY29uc3QgTm9CdXR0VGltZWxpbmVJdGVtICA9ICh7IGRhdGUsIHRhZywgY29sb3IsIGNoaWxkcmVuIH06Tm9CdXR0SXRlbVByb3BzKSA9PiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lbGluZS1pdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZWxpbmUtaXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0YWdcIiBzdHlsZT17eyBiYWNrZ3JvdW5kOiBjb2xvciB9fT5cbiAgICAgICAgICAgICAgICB7dGFnfVxuICAgICAgICAgICAgPC9zcGFuPiBcbiAgICAgICAgICAgIDx0aW1lPntkYXRlfTwvdGltZT5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY2lyY2xlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4pO1xuXG5leHBvcnQgY29uc3QgUGFuZWxUaW1lbGluZUl0ZW0gID0gKCkgPT4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZWxpbmUtaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW0tY29udGVudFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGFnXCIgc3R5bGU9e3sgYmFja2dyb3VuZDogXCJ2YXIoLS1saWdodGJsdWUpXCIgfX0+XG4gICAgICAgICAgICAgICAgVGFsa3NcbiAgICAgICAgICAgIDwvc3Bhbj4gXG4gICAgICAgICAgICA8dGltZT5QYW5lbCBEaXNjdXNzaW9uPC90aW1lPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIHBhbmVsLXRhbGstZ2FsbGVyeVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXJvdW5kLXBhbmVsXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy90cmFjaS5qcGdcIiBhbHQ9XCJwci1zYW1wbGUxXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbCBtaWRkbGVcIj5UYWNpIDxici8+IEhhZGRvY2s8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1yb3VuZC1wYW5lbFwiICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL2FuaXRhLXNpZnVhbnRlcy5wbmdcIiBhbHQ9XCJwci1zYW1wbGUxXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbCBtaWRkbGVcIj5BbmEgPGJyLz4gU2lmdWVudGVzPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctcm91bmQtcGFuZWxcIiAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9vbGl2aWEucG5nXCIgYWx0PVwicHItc2FtcGxlMVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic21hbGwgbWlkZGxlXCI+T2xpdmlhIDxici8+IE1vem9sZXdza2E8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1yb3VuZC1wYW5lbFwiICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9taWRkZW5kb3JmLmpwZWdcIiBhbHQ9XCJwci1zYW1wbGUxXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbCBtaWRkbGVcIj5MYXNzZSA8YnIvPiBNaWRkZW5kb3JmPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctcm91bmQtcGFuZWxcIiAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9uZW1hbmphLmpwZ1wiIGFsdD1cInByLXNhbXBsZTFcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsIG1pZGRsZVwiPk5lbWFuamEgPGJyLz4gU3RpamVwb3ZpYzwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgPHNwYW4+UGFuZWwgRGlzY3Vzc2lvbjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhbmVsXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICA8cD5EdXJpbmcgdGhlIHBhbmVsIGRpc2N1c3Npb24sIHBhcnRpY2lwYW50cyBzaGFyZWQgdGhlaXIgZXhwZXJpZW5jZXMgd2l0aCBpR0VNIGFuZCBzeW50aGV0aWMgYmlvbG9neS4gTGVzbGllLCBhbiBhZHZpc29yIGZvciB0aGUgVW5pdmVyc2l0eSBvZiBXaW5kc29yJ3MgdGVhbSwgZGV0YWlsZWQgaGVyIHRyYW5zaXRpb24gZnJvbSB0ZWFtIG1lbWJlciB0byBhZHZpc29yIGFuZCBoZXIgcmVjZW50IGludm9sdmVtZW50IGluIHN5bnRoZXRpYyBiaW9sb2d5IG9yZ2FuaXphdGlvbnMuIEFubmEsIGEgZm9ybWVyIGlHRU0gcGFydGljaXBhbnQsIHNwb2tlIGFib3V0IGhlciBiYWNrZ3JvdW5kIGluIGRlc2lnbiBhbmQgaGVyIGN1cnJlbnQgcm9sZSBhcyBhIHNlbmlvciBjb250ZW50IHN0cmF0ZWdpc3QgYXQgRnJlZWxpdGljcywgZW1waGFzaXppbmcgaGVyIHBhc3Npb24gZm9yIHNjaWVuY2UgY29tbXVuaWNhdGlvbi4gVHJhY3kgcmVjb3VudGVkIGhlciBleHRlbnNpdmUgam91cm5leSB3aXRoaW4gaUdFTSwgc3RhcnRpbmcgYXMgYSB0ZWFtIGxlYWRlciBhdCBCb3N0b24gVW5pdmVyc2l0eSBhbmQgZXZlbnR1YWxseSBiZWNvbWluZyB0aGUgZGlyZWN0b3Igb2YgdGhlIGNvbXBldGl0aW9uIGF0IGlHRU0gaGVhZHF1YXJ0ZXJzLiBBZnRlciB0cmFuc2l0aW9uaW5nIHRvIEFzaW1vdiwgc2hlIGhpZ2hsaWdodGVkIGhlciBlZmZvcnRzIHRvIHN0cmVuZ3RoZW4gcGFydG5lcnNoaXBzIGJldHdlZW4gQXNpbW92IGFuZCBpR0VNLCBpbmNsdWRpbmcgbWFudWZhY3R1cmluZyBkaXN0cmlidXRpb24ga2l0cyBmb3IgcGFydGljaXBhdGluZyB0ZWFtcy4gVGhlIGRpc2N1c3Npb24gc2hvd2Nhc2VkIHRoZSBkaXZlcnNlIHBhdGhzIHRha2VuIGJ5IGluZGl2aWR1YWxzIGluIHRoZSBmaWVsZCBhbmQgdGhlaXIgb25nb2luZyBjb21taXRtZW50IHRvIGFkdmFuY2luZyBzeW50aGV0aWMgYmlvbG9neS48L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxCRkhNb3JlQnV0dG9uIGl0PVwicGFuZWxcIj48L0JGSE1vcmVCdXR0b24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJjaXJjbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbik7XG5cblxuXG5cbiIsICJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgU2xpZGVyIGZyb20gXCJyZWFjdC1zbGlja1wiO1xuXG5pbnRlcmZhY2UgU2xpZGVyUHJvcHMge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlOyBcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNpbXBsZVNsaWRlcih7Y2hpbGRyZW59OiBTbGlkZXJQcm9wcykge1xuICB2YXIgc2V0dGluZ3MgPSB7XG4gICAgZG90czogdHJ1ZSxcbiAgICBpbmZpbml0ZTogdHJ1ZSxcbiAgICBzbGlkZXNUb1Nob3c6IDEsXG4gICAgc2xpZGVzVG9TY3JvbGw6IDEsXG4gICAgYXV0b3BsYXk6IHRydWUsXG4gICAgc3BlZWQ6IDIwMDAsXG4gICAgYXV0b3BsYXlTcGVlZDogMjAwMCxcbiAgICBjc3NFYXNlOiBcImxpbmVhclwiLFxuICAgIHBhdXNlT25Ib3ZlcjogdHJ1ZSxcbiAgICBuZXh0QXJyb3c6IDw+PC8+LFxuICAgIHByZXZBcnJvdzogPD48Lz5cbiAgfTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInNsaWRlci1jb250YWluZXJcIj5cbiAgICAgICA8U2xpZGVyIHsuLi5zZXR0aW5nc30+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvU2xpZGVyPlxuICAgIDwvZGl2PlxuICAgXG4gICk7XG59IiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvaG9tZS9saWxpL0RvY3VtZW50cy9pR2VtL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlsc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL2hvbWUvbGlsaS9Eb2N1bWVudHMvaUdlbS9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHMvZ290by50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vaG9tZS9saWxpL0RvY3VtZW50cy9pR2VtL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlscy9nb3RvLnRzXCI7ZXhwb3J0IGNvbnN0IGdvVG8gPSAoZWw6IEhUTUxFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgY29uc3QgZWxlbWVudFJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBlbGVtZW50VG9wID0gZWxlbWVudFJlY3QudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0OyAvLyBBYnNvbHV0ZSBwb3NpdGlvbiBmcm9tIHRoZSB0b3Agb2YgdGhlIGRvY3VtZW50XG4gICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG5cbiAgICAvLyBDYWxjdWxhdGUgdGhlIHNjcm9sbCBwb3NpdGlvbiBzbyB0aGUgdG9wIG9mIHRoZSBlbGVtZW50IGlzIGNlbnRlcmVkIGluIHRoZSB2aWV3cG9ydFxuICAgIGNvbnN0IG1pZGRsZVBvc2l0aW9uID0gZWxlbWVudFRvcCAtICh2aWV3cG9ydEhlaWdodCAvIDUgLSBlbC5vZmZzZXRIZWlnaHQgLyAyKTtcblxuICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgIHRvcDogbWlkZGxlUG9zaXRpb24sXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJ1xuICAgIH0pO1xufTtcblxuXG4vKiBcbmV4cG9ydCBjb25zdCBnb1RvVGV4dHNBbmRPcGVuQ29sbGFwc2libGUgPSAoe2NvbGxhcHNlSWQsIHBhdGh9OiB7Y29sbGFwc2VJZDogc3RyaW5nLCBwYXRoOiBzdHJpbmd9KSA9PiB7XG4gICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICAgIG5hdmlnYXRlKGAke3BhdGh9JHtjb2xsYXBzZUlkfWApO1xufTtcbmV4cG9ydCBjb25zdCBnb1RvUGFnZXNBbmRPcGVuVGFiID0gKHRhYklkOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgICBuYXZpZ2F0ZShgJHtwYXRofSR7dGFiSWR9YCk7XG59OyAqLyIsICIvKiBpbXBvcnQgeyBvcGVuVGhlbSB9IGZyb20gXCIuLi9jb250ZW50c1wiO1xuICovXG5pbXBvcnQgeyBnb1RvIH0gZnJvbSBcIi4uL3V0aWxzL2dvdG9cIjtcbmludGVyZmFjZSBTY3JvbGxMaW5rUHJvcHMge1xuICAgIHRhcmdldElkOiBzdHJpbmc7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgb3BlblRoaXM/OiAgc3RyaW5nOyAgIC8qKF9ldmVudDogTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHZvaWQ7ICovXG59XG5pbnRlcmZhY2UgU3VwU2Nyb2xsTGlua1Byb3BzIHtcbiAgICBsYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgU2Nyb2xsTGluazogUmVhY3QuRkM8U2Nyb2xsTGlua1Byb3BzPiA9ICh7IHRhcmdldElkLCBsYWJlbCB9KSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnQgZGVmYXVsdCBhbmNob3IgYmVoYXZpb3JcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldElkKTtcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gdGFyZ2V0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBlbGVtZW50UmVjdC50b3AgKyB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsT2Zmc2V0ID0gZWxlbWVudFRvcCAtICh2aWV3cG9ydEhlaWdodCAvIDUgLSB0YXJnZXRFbGVtZW50Lm9mZnNldEhlaWdodCAvIDIpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRWxlbWVudCBUb3A6ICR7ZWxlbWVudFRvcH1gKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBWaWV3cG9ydCBIZWlnaHQ6ICR7dmlld3BvcnRIZWlnaHR9YCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgU2Nyb2xsIE9mZnNldDogJHtzY3JvbGxPZmZzZXR9YCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgdG9wOiBzY3JvbGxPZmZzZXQsXG4gICAgICAgICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYFNjcm9sbGVkIHRvICR7dGFyZ2V0SWR9YClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVsZW1lbnQgd2l0aCBJRCAke3RhcmdldElkfSBub3QgZm91bmQuYCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGEgY2xhc3NOYW1lPVwic2Nyb2xsbGlua1wiIGhyZWY9e2AjJHt0YXJnZXRJZH1gfSBvbkNsaWNrPXtoYW5kbGVDbGlja30+XG4gICAgICAgICAgICA8c3Bhbj57bGFiZWx9PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgKTtcbn07XG5cblxuZXhwb3J0IGNvbnN0IFN1cFNjcm9sbExpbmsgOiBSZWFjdC5GQzxTdXBTY3JvbGxMaW5rUHJvcHM+ID0gKHtsYWJlbCB9KSA9PiB7XG4gICAgbGV0IHRhcmdldElkID0gXCJkZXNjLVwiICsgbGFiZWxcbiAgICBjb25zdCBoYW5kbGVDbGljayA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldElkKTtcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGdvVG8odGFyZ2V0RWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICA8c3VwPjxhIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfT5cbiAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9hPlxuICAgICAgICA8L3N1cD4gXG4gICAgKTtcbn07XG4vKiBleHBvcnQgY29uc3QgU2Nyb2xsTGluazogUmVhY3QuRkM8U2Nyb2xsTGlua1Byb3BzPiA9ICh7IHRhcmdldElkLCBsYWJlbCB9KSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnQgZGVmYXVsdCBhbmNob3IgYmVoYXZpb3JcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldElkKTtcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGdvVG8odGFyZ2V0RWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGEgaHJlZj17YCMke3RhcmdldElkfWB9IG9uQ2xpY2s9e2hhbmRsZUNsaWNrfT5cbiAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9hPlxuICAgICk7XG59OyAqL1xuXG5cbi8qIGV4cG9ydCBjb25zdCBTY3JvbGxMaW5rU2lkZWJhcjogUmVhY3QuRkM8T3BlblNjcm9sbExpbmtXaXRoQ2hpbGRQcm9wcz4gPSAoeyB0YXJnZXRJZCwgY2hpbGRyZW4sIG9wZW5UaGlzfSkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFyZ2V0SWQpO1xuICAgICAgICBpZiAodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgZ29Ubyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICBvcGVuVGhlbSh7aXQ6IG9wZW5UaGlzfSk7IFxuICAgIH07XG4gICAgXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGEgb25DbGljaz17aGFuZGxlQ2xpY2t9PlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L2E+XG4gICAgKTtcbn07ICovXG5cbiBleHBvcnQgY29uc3QgU2Nyb2xsTGlua1dpdGhDaGlsZDogUmVhY3QuRkM8U2Nyb2xsTGlua1Byb3BzPiA9ICh7IHRhcmdldElkLCBjaGlsZHJlbiB9KSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7XG4gICAgICAgIGlmICh0YXJnZXRFbGVtZW50KSB7XG4gICAgICAgICAgICBnb1RvKHRhcmdldEVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxhIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfT5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9hPlxuICAgICk7XG59OyAiLCAiaW1wb3J0IHsgTm9CdXR0VGltZWxpbmVJdGVtLCBQYW5lbFRpbWVsaW5lSXRlbSwgVGltZWxpbmVJdGVtUGljLCBUaW1lbGluZUl0ZW1Ud29QaWMgfSBmcm9tIFwiLi9WZXJ0aWNhbFRpbWVsaW5lXCI7XG5pbXBvcnQgU2ltcGxlU2xpZGVyIGZyb20gXCIuL1NsaWRlclwiO1xuaW1wb3J0IHsgU2Nyb2xsTGluaywgU3VwU2Nyb2xsTGluayB9IGZyb20gXCIuL1Njcm9sbExpbmtcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEJGSFRpbWVsaW5lICgpIHtcbiAgICBjb25zdCB7Z29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uKCk7IFxuICAgIHJldHVybihcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZWxpbmUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3RpbWVsaW5lLWJlZ2luJyBpZD1cInRpbWVsaW5lSFwiPlxuICAgICAgICAgICAgICAgIEJlZ2luICYgT3BlbmluZ1xuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVBpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvcmFtLmpwZ1wiXG4gICAgICAgICAgICAgICAgZGF0ZT0nU2NpZW50aWZpYyBUYWxrIEkuJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RhbGtzJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1saWdodGJsdWUpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInRhbGtvbmVcIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJSYW1cIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwiU2hha2FyXCJcbiAgICAgICAgICAgICAgICBoZWFkaW5nPVwiQUktRHJpdmVuIEJyZWFrdGhyb3VnaHMgaW4gUGxhc21pZCBETkEgUHJvZHVjdGlvblwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIlJhbSBTaGFua2FyIGZyb20gUGxhc21pZCBGYWN0b3J5IGRlbHZlcyBpbnRvIHRoZSBpbnRlZ3JhdGlvbiBvZiBBSSBpbiBhZHZhbmNpbmcgcGxhc21pZCBETkEgdGVjaG5vbG9neSBmb3IgZ2VuZSB0aGVyYXB5LiBIaWdobGlnaHRpbmcgcmVhbC13b3JsZCBhcHBsaWNhdGlvbnMsIGhlIGRlbW9uc3RyYXRlcyBob3cgQUkgb3B0aW1pemVzIHBsYXNtaWQgcHVyaWZpY2F0aW9uLCBlbmhhbmNlcyBnZW5lIHZlY3RvciBzdGFiaWxpdHksIGFuZCBhY2NlbGVyYXRlcyBtUk5BIHByb2R1Y3Rpb24sIG9mZmVyaW5nIGEgZ2xpbXBzZSBpbnRvIHRoZSBmdXR1cmUgb2YgYmlvdGVjaCBpbm5vdmF0aW9ucy5cIlxuICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ0YWxrb25lXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+UmFtIFNoYW5rYXIsIGZyb20gUGxhc21pZCBGYWN0b3J5LCBnYXZlIGFuIGluc2lnaHRmdWwgdGFsayBhYm91dCB0aGUgaW50ZWdyYXRpb24gb2YgQUkgYW5kIGFkdmFuY2VkIGJpb3RlY2hub2xvZ3ksIHdpdGggYSBmb2N1cyBvbiBwbGFzbWlkIEROQSBwcm9kdWN0aW9uLiBIaXMgcHJlc2VudGF0aW9uIGhpZ2hsaWdodGVkIGhvdyBBSS1kcml2ZW4gaW5ub3ZhdGlvbnMgaGF2ZSB0cmFuc2Zvcm1lZCByZXNlYXJjaCBtZXRob2RvbG9naWVzIGluIGdlbmUgdGhlcmFweSwgcGxhc21pZCBtYW51ZmFjdHVyaW5nLCBhbmQgRE5BIHB1cmlmaWNhdGlvbi4gSGlzIHNwZWVjaCBzaG93Y2FzZWQgdGhlIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMgb2YgQUkgaW4gc3RyZWFtbGluaW5nIHdvcmtmbG93cywgbWFraW5nIGJpb3RlY2ggcHJvY2Vzc2VzIG1vcmUgZWZmaWNpZW50IGFuZCBzY2FsYWJsZS48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5TaGFua2FyIGJlZ2FuIGJ5IGlsbHVzdHJhdGluZyBob3cgc2NpZW50aWZpYyBhZHZhbmNlbWVudHMsIHN1Y2ggYXMgcG93ZXJlZCBmbGlnaHQgYW5kIEROQSByZXNlYXJjaCwgaGF2ZSByYXBpZGx5IHByb2dyZXNzZWQgd2l0aGluIGEgc2luZ2xlIGh1bWFuIGxpZmV0aW1lLiBIZSBjb25uZWN0ZWQgdGhpcyBjb25jZXB0IHRvIGJyZWFrdGhyb3VnaHMgaW4gcGxhc21pZCBETkEgdGVjaG5vbG9neSwgd2hlcmUgUGxhc21pZCBGYWN0b3J5XHUyMDE5cyB3b3JrIGhhcyBiZWVuIHBpdm90YWwgaW4gYWR2YW5jaW5nIGdlbmUgdGhlcmFweSBwcm9kdWN0cy4gQSBrZXkgdGFrZWF3YXkgd2FzIHRoZSBpbnRlZ3JhdGlvbiBvZiBBSSBpbiBvcHRpbWl6aW5nIHBsYXNtaWQgcHVyaWZpY2F0aW9uIHByb2Nlc3NlcywgZW5hYmxpbmcgdGhlIHByb2R1Y3Rpb24gb2YgaGlnaC1xdWFsaXR5IHBsYXNtaWRzIGFuZCBtaW5pIGNpcmNsZXMgZm9yIGNsaW5pY2FsIGFwcGxpY2F0aW9ucy4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hhbmthciBhbHNvIGludHJvZHVjZWQgcmVhbC13b3JsZCBleGFtcGxlcywgc3VjaCBhcyB0aGUgdXNlIG9mIEFJIGluIGVuaGFuY2luZyB0aGUgc3RhYmlsaXR5IGFuZCBxdWFsaXR5IG9mIGdlbmUgdmVjdG9ycyBhbmQgbVJOQSBwcm9kdWN0aW9uLiBIaXMgZGlzY3Vzc2lvbiBvZiBjb2xsYWJvcmF0aW9ucyBiZXR3ZWVuIGFjYWRlbWlhIGFuZCBpbmR1c3RyeSB1bmRlcnNjb3JlZCB0aGUgaW1wb3J0YW5jZSBvZiBuZXR3b3JraW5nIGFuZCBzaGFyZWQgaW5ub3ZhdGlvbiwgY29tcGFyaW5nIGl0IHRvIHRoZSBoaXN0b3JpYyBwYXJ0bmVyc2hpcCBiZXR3ZWVuIFN0YW5sZXkgQ29oZW4gYW5kIEhlcmJlcnQgQm95ZXIgdGhhdCByZXZvbHV0aW9uaXplZCByZWNvbWJpbmFudCBETkEgdGVjaG5vbG9neS4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRoZSB0YWxrIHByb3ZpZGVkIGF0dGVuZGVlcyB3aXRoIGEgZGVlcGVyIHVuZGVyc3RhbmRpbmcgb2YgaG93IEFJIGNhbiByZXZvbHV0aW9uaXplIGxhYiB3b3JrLCBwYXJ0aWN1bGFybHkgaW4gc2NhbGluZyB1cCBETkEgcHJvZHVjdGlvbiBmb3IgZ2VuZSB0aGVyYXBpZXMuIEJ5IGFwcGx5aW5nIHRoZXNlIGluc2lnaHRzLCBwYXJ0aWNpcGFudHMgbGVmdCB3aXRoIGlkZWFzIG9uIGhvdyB0byBsZXZlcmFnZSBBSSB0byBlbmhhbmNlIHRoZWlyIG93biByZXNlYXJjaCBwcm9qZWN0cywgcGFydGljdWxhcmx5IGluIGJpb3RlY2hub2xvZ3kgYW5kIGdlbmUgZWRpdGluZy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVBpYz5cblxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAva3Jpc3RpYW4uanBlZ1wiXG4gICAgICAgICAgICAgICAgdXJsMj1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvcmFtLmpwZ1wiXG4gICAgICAgICAgICAgICAgZGF0ZT0nU2NpZW50aWZpYyBUYWxrIEkuJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RhbGtzJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1saWdodGJsdWUpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInRhbGtvbmVrXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiS3Jpc3RpYW5cIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwiTVx1MDBGQ2xsZXJcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJHZW5lIFRoZXJhcHksIEFBVnMgYW5kIElubm92YXRpb25zIGluIFN5bnRoZXRpYyBCaW9sb2d5XCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiUHJvZi4gRHIuIEtyaXN0aWFuIE1cdTAwRkNsbGVyIGZyb20gQmllbGVmZWxkIFVuaXZlcnNpdHkgcmVmbGVjdHMgb24gaGlzIGxvbmctdGVybSBpbnZvbHZlbWVudCB3aXRoIHRoZSBpR0VNIGNvbXBldGl0aW9uLCBlbXBoYXNpemluZyBhZHZhbmNlbWVudHMgaW4gZ2VuZSB0aGVyYXB5LCBwYXJ0aWN1bGFybHkgdXNpbmcgYWRlbm8tYXNzb2NpYXRlZCB2aXJ1c2VzIChBQVZzKSBhcyB2aXJhbCB2ZWN0b3JzIGZvciBnZW5lIGRlbGl2ZXJ5LiBIZSBkaXNjdXNzZXMgaW5ub3ZhdGlvbnMgaW4gdmlydXMgcHJvZHVjdGlvbiBhbmQgdGFyZ2V0aW5nLCB3aGlsZSBhY2tub3dsZWRnaW5nIG9uZ29pbmcgY2hhbGxlbmdlcyBzdWNoIGFzIHByb2R1Y3QgcHVyaXR5LCBwcm9kdWN0aW9uIGVmZmljaWVuY3ksIGFuZCBzaWRlIGVmZmVjdHMuIEFkZGl0aW9uYWxseSwgaGUgYWRkcmVzc2VzIHJlY2VudCBkZXZlbG9wbWVudHMgaW4gbmFub3BvcmUgc2VxdWVuY2luZyBmb3IgcXVhbGl0eSBjb250cm9sIGFuZCB0aGUgdXNlIG9mIG5vbi1uYXR1cmFsIG51Y2xlb3RpZGVzIGFuZCBtZXRoeWxhdGlvbiB0byBpbXByb3ZlIHRoZXJhcGV1dGljIG91dGNvbWVzLlwiXG4gICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRhbGtvbmVrXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICA8cD5Qcm9mLiBEci4gS3Jpc3RpYW4gTVx1MDBGQ2xsZXIgZnJvbSBSZXNlYXJjaCBHcm91cCBDZWxsdWxhciBhbmQgTW9sZWN1bGFyIEJpb3RlY2hub2xvZ3kgYXQgdGhlIFRlY2huaWNhbCBGYWN1bHR5IG9mIEJpZWxlZmVsZCBVbml2ZXJzaXR5LCBkZWxpdmVyZWQgYW4gaW5zaWdodGZ1bCBwcmVzZW50YXRpb24gb24gdGhlIGludGVncmF0aW9uIG9mIEFJIGFuZCBhZHZhbmNlZCBiaW90ZWNobm9sb2d5LCBmb2N1c2luZyBvbiB0aGUgcHJvZHVjdGlvbiBhbmQgcmVmaW5lbWVudCBvZiBBQVYgdmVjdG9ycy4gVGhlIHByZXNlbnRhdGlvbiBoaWdobGlnaHRlZCBob3cgQUktZHJpdmVuIGlubm92YXRpb25zIGFyZSB0cmFuc2Zvcm1pbmcgcmVzZWFyY2ggbWV0aG9kb2xvZ2llcywgZXNwZWNpYWxseSBpbiBhcmVhcyBzdWNoIGFzIEFBViBwcm9kdWN0aW9uLCBnZW5ldGljIHRhcmdldGluZywgYW5kIHF1YWxpdHkgY29udHJvbC4gUHJvZi4gRHIuIE1cdTAwRkNsbGVyIHNob3djYXNlZCBwcmFjdGljYWwgYXBwbGljYXRpb25zIG9mIEFJIGluIG9wdGltaXppbmcgdGhlc2UgYmlvdGVjaG5vbG9naWNhbCBwcm9jZXNzZXMsIG1ha2luZyB0aGVtIG1vcmUgZWZmaWNpZW50LCBzY2FsYWJsZSwgYW5kIHByZWNpc2UsIHBhcnRpY3VsYXJseSBpbiB0aGVyYXBldXRpYyBhcHBsaWNhdGlvbnMuPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5UaGUgc3BlYWtlciBiZWdhbiBieSBkcmF3aW5nIHBhcmFsbGVscyBiZXR3ZWVuIHRlY2hub2xvZ2ljYWwgYWR2YW5jZW1lbnRzIGluIGZpZWxkcyBsaWtlIHNwYWNlIGV4cGxvcmF0aW9uIGFuZCBicmVha3Rocm91Z2hzIGluIGdlbmV0aWMgcmVzZWFyY2gsIGVtcGhhc2l6aW5nIHRoZSByYXBpZCBwcm9ncmVzc2lvbiB3aXRoaW4gYSBzaG9ydCBzcGFuIG9mIHRpbWUuIFRoaXMgY29udGV4dCBzZXQgdGhlIHN0YWdlIGZvciBkaXNjdXNzaW5nIHJlY2VudCBkZXZlbG9wbWVudHMgaW4gQUFWIHRlY2hub2xvZ3ksIHdoZXJlIHRoZSBhcHBsaWNhdGlvbiBvZiBBSSBoYXMgYmVlbiBwaXZvdGFsLiBBIGtleSB0YWtlYXdheSB3YXMgaG93IEFJIGlzIGJlaW5nIHVzZWQgdG8gZW5oYW5jZSB0aGUgc3RhYmlsaXR5IG9mIHZpcmFsIHZlY3RvcnMgYW5kIG9wdGltaXplIGdlbmUgZGVsaXZlcnksIGFsbG93aW5nIGZvciB0aGUgcHJvZHVjdGlvbiBvZiBoaWdoLXF1YWxpdHkgQUFWIHZlY3RvcnMgd2l0aCBpbXByb3ZlZCBwcmVjaXNpb24uIFJlYWwtd29ybGQgZXhhbXBsZXMsIHN1Y2ggYXMgdGhlIHVzZSBvZiBBSSB0byBtb25pdG9yIGdlbmV0aWMgcHVyaXR5IGR1cmluZyBuYW5vcG9yZSBzZXF1ZW5jaW5nIGFuZCB0byBzdHJlYW1saW5lIHBsYXNtaWQgZW5naW5lZXJpbmcgcHJvY2Vzc2VzLCBzaG93Y2FzZWQgdGhlIHRhbmdpYmxlIGltcGFjdCBvZiB0aGVzZSB0ZWNobm9sb2dpZXMgb24gdGhlcmFwZXV0aWMgcmVzZWFyY2guIFRoZSBkaXNjdXNzaW9uIGFsc28gaGlnaGxpZ2h0ZWQgdGhlIGltcG9ydGFuY2Ugb2YgY29sbGFib3JhdGlvbnMgYmV0d2VlbiBhY2FkZW1pYSBhbmQgaW5kdXN0cnksIGRyYXdpbmcgcGFyYWxsZWxzIHRvIHRoZSBoaXN0b3JpYyBwYXJ0bmVyc2hpcCB0aGF0IHNwYXJrZWQgdGhlIHJlY29tYmluYW50IEROQSByZXZvbHV0aW9uLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHByZXNlbnRhdGlvbiBwcm92aWRlZCBhdHRlbmRlZXMgd2l0aCBhIGRlZXBlciB1bmRlcnN0YW5kaW5nIG9mIGhvdyBBSSBjYW4gc2lnbmlmaWNhbnRseSBlbmhhbmNlIGxhYiB3b3JrLCBwYXJ0aWN1bGFybHkgaW4gc2NhbGluZyB1cCBBQVYgcHJvZHVjdGlvbiBhbmQgZW5zdXJpbmcgdGhlIHF1YWxpdHkgb2YgdGhlcmFwZXV0aWMgdmVjdG9ycy4gUGFydGljaXBhbnRzIGxlZnQgd2l0aCB2YWx1YWJsZSBpbnNpZ2h0cyBvbiBsZXZlcmFnaW5nIEFJIGFuZCBhZHZhbmNlZCB0ZWNobm9sb2dpZXMgdG8gZHJpdmUgdGhlaXIgb3duIHJlc2VhcmNoIHByb2plY3RzIGZvcndhcmQsIGVzcGVjaWFsbHkgaW4gZmllbGRzIGxpa2UgZ2VuZSB0aGVyYXB5LCBwbGFzbWlkIGVuZ2luZWVyaW5nLCBhbmQgc3ludGhldGljIGJpb2xvZ3kuPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVBpYz5cblxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL2NocmlzdGlhbi1rb2xsYW5kLnBuZ1wiXG4gICAgICAgICAgICAgICAgZGF0ZT0nSG93IHRvIFdpa2knXG4gICAgICAgICAgICAgICAgdGFnPSdXb3Jrc2hvcCBTZXNzaW9uIEkuJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS10ZXh0LXByaW1hcnkpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cIndpa2l3b3Jrc2hvcFwiXG4gICAgICAgICAgICAgICAgdm9ybmFtZT1cIkNocmlzdGlhblwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJLb2xsYW5kXCJcbiAgICAgICAgICAgICAgICBoZWFkaW5nPVwiQnVpbGRpbmcgUHJvZmVzc2lvbmFsIFdlYnNpdGVzOiBBIFdvcmtzaG9wIG9uIEhUTUwgYW5kIENTUyBFc3NlbnRpYWxzXCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiTGVhcm5pbmcgdGhlIGJhc2ljcyBvZiBXaWtpIGNvZGluZyBhbmQgZGVzaWduLiBJbiB0aGlzIHdvcmtzaG9wLCB0aGUgcGFydGljaXBhbnRzIGdlaW5lZCBleHBlcnRpc2UgdG8gZWxldmF0ZSB0aGVpciB0ZWFtcyB3aWtpLlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ3aWtpd29ya3Nob3BcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgcGFydGljaXBhdGVkIGluIGFuIGludGVuc2l2ZSB3b3Jrc2hvcCBvbiBIVE1MIGFuZCBDU1MgbWFkZSBieSBhIGZvcm1lciBpR0VNIHBhcnRpY2lwYW50IG9mIHRlYW0gR1UtRnJhbmtmdXJ0IDIwMjMgYW5kIGhlYWQgb2Ygd2lraSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyaXN0aWFuIEtvbGxhbmQuIEFsbCBwYXJ0aWNpcGFudHMgZ2FpbiBhbiBvdmVydmlldyBvZiB0aGUgZXNzZW50aWFscyBmb3IgYnVpbGRpbmcgd2Vic2l0ZXMuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBzZXNzaW9uIGJlZ2FuIHdpdGggYW4gaW50cm9kdWN0aW9uIHRvIGNvbG9yIHRoZW9yeSB0b29scyBzdWNoIGFzIFJlYWx0aW1lIENvbG9ycyBhbmQgQUkgQ29sb3JzLCBlbXBoYXNpemluZyB0aGVpciByb2xlIGluIGNyZWF0aW5nIHZpc3VhbGx5IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhbGluZyBkZXNpZ25zLiBUeXBvZ3JhcGh5IHdhcyBhIGtleSBmb2N1cywgY2xhcmlmeWluZyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHR5cGVmYWNlIChlLmcuLCBGdXR1cmEpIGFuZCBmb250IHZhcmlhdGlvbnMgKGUuZy4sIEZ1dHVyYSBDb25kZW5zZWQpLCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgaG93IGZvbnQgd2VpZ2h0cyBhbmQgc2l6ZXMgaW1wYWN0IHJlYWRhYmlsaXR5IGFuZCBkZXNpZ24gaGllcmFyY2h5LiBQcmFjdGljYWwgZ3VpZGVsaW5lcywgaW5jbHVkaW5nIHRoZSB1c2FnZSBvZiBkaWZmZXJlbnQgdHlwZXMgb2YgdW5pdHMgc3VjaCBhcyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQWCBvciBSRU0gZm9yIGZvbnQgc2l6aW5nIGFuZCB1bmRlcnN0YW5kaW5nIHNwYWNpbmcgZm9yIGFuIGVmZmVjdGl2ZSBsYXlvdXQsIHdlcmUgZ2l2ZW4uIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgV2UgZGVsdmVkIGludG8gSFRNTCdzIHN0cnVjdHVyZSBmb3Igd2ViIGNvbnRlbnQsIGxlYXJuaW5nIHNlbWFudGljIHRhZ3MgZm9yIGVmZmVjdGl2ZWx5IG9yZ2FuaXppbmcgaW5mb3JtYXRpb24uIENTUyBwcmluY2lwbGVzIHdlcmUgZXhwbG9yZWQgbmV4dCwgXG4gICAgICAgICAgICAgICAgICAgICAgICBkZW1vbnN0cmF0aW5nIGhvdyBzdHlsZXMgY2FzY2FkZSBmcm9tIHBhcmVudCB0byBjaGlsZCBlbGVtZW50cywgd2hpY2ggYXJlIGNydWNpYWwgZm9yIGNvbnNpc3RlbnQgZGVzaWduIGFjcm9zcyBhIHdlYnBhZ2UuIFxuICAgICAgICAgICAgICAgICAgICAgICAgQSBzaWduaWZpY2FudCBwYXJ0IG9mIHRoZSB3b3Jrc2hvcCBpbnZvbHZlZCBoYW5kcy1vbiBjb2RpbmcgaW4gVmlzdWFsIFN0dWRpbyBDb2RlLCB3aGVyZSB3ZSByZXBsaWNhdGVkIGEgcHJlLWRlc2lnbmVkIHdlYnBhZ2UgdXNpbmcgdGhlIEhUTUwgYW5kIENTUyBcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlY2huaXF1ZXMgbGVhcm5lZC4gVGhpcyBleGVyY2lzZSBlcXVpcHBlZCB0aGUgYXR0ZW5kaW5nIGlHRU0gdGVhbXMgd2l0aCBwcmFjdGljYWwgc2tpbGxzIHRvIGNyZWF0ZSBhbmQgc3R5bGUgdGhlaXIgb3duIHByb2plY3Qgd2Vic2l0ZXMgYW5kIGVtcGhhc2l6ZWQgXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGUgaW1wb3J0YW5jZSBvZiBjb21wb25lbnQtYmFzZWQgZGVzaWduIGFuZCBlZmZlY3RpdmUgY29udGVudCBvcmdhbml6YXRpb24uIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBCeSB0aGUgZW5kIG9mIHRoZSB3b3Jrc2hvcCwgdGhlIGF0dGVuZGVlcyB3ZXJlIGluc3BpcmVkIHRvIHB1cnN1ZSBjcmVhdGluZyB0aGVpciBvd24gd2lraXMsIGxldmVyYWdpbmcgQUktYmFzZWQgdG9vbHMgbGlrZSBmb3IgaW5pdGlhbCBkZXNpZ25zIGFuZCBpbWFnZXJ5LiBcbiAgICAgICAgICAgICAgICAgICAgICAgIE92ZXJhbGwsIHdlIGxlZnQgd2l0aCBhIHNvbGlkIGZvdW5kYXRpb24gaW4gd2ViIGRldmVsb3BtZW50IGFuZCB3ZXJlIHByZXBhcmVkIHRvIGJ1aWxkIHByb2Zlc3Npb25hbCBhbmQgZnVuY3Rpb25hbCB3ZWJzaXRlcyBmb3IgdGhlaXIgaUdFTSBwcm9qZWN0cy4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW1QaWM+XG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVBpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvdHJhY2kuanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdIb3cgdG8gU3luQmlvJ1xuICAgICAgICAgICAgICAgIHRhZz0nV29ya3Nob3AgU2Vzc2lvbiBJLidcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tdGV4dC1wcmltYXJ5KSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJzeW53b3Jrc2hvcFwiXG4gICAgICAgICAgICAgICAgdm9ybmFtZT1cIlRyYWNpXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZT1cIkhhZGRvY2tcIlxuICAgICAgICAgICAgICAgIHRleHQ9XCJEZXNpZ24gZ2VuZXRpYyBjb25zdHJ1Y3RzIGFuZCByZS13cml0ZSB0aGUgZ2Vub21pYyBjb2RlLCBhbmQgcGxhbiBleHBlcmltZW50cyB1c2luZyBBSS4gTGVhcm4gaG93IHRvIGVmZmVjdGl2ZWx5IGJ1aWxkIGdlbmV0aWMgY2lyY3VpdCBzeXN0ZW1zIGZvciBpbXBsZW1lbnRhdGlvbiBpbiB5b3VyIGlHRU0gcHJvamVjdC5cIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJIb3cgdG8gU3ludGhldGljIEJpb2xvZ3k/IC0gSW50cm9kdWNpbmcgS2VybmVsIFNvZnR3YXJlLiBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3lud29ya3Nob3BcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDY+U2V0dGluZzwvaDY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBrZXJuZWwgd29ya3Nob3Agd2FzIGdpdmVuIGJ5IFRyYWNpIEhhZGRvY2ssIERpcmVjdG9yIG9mIENvbW11bml0eSBhdCA8YSBocmVmPVwiaHR0cHM6Ly93d3cuYXNpbW92LmNvbS9cIj5BU0lNT1YgQm9zdG9uPC9hPi4gU2hlIGludHJvZHVjZWQgdGhlIEtlcm5lbCBzb2Z0d2FyZSBhbmQgc2hvd2VkIHVzIGhvdyB0byBcbiAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudCBBSS1iYXNlZCB0b29scyBpbiBvdXIgc3ludGhldGljIGJpb2xvZ3kgcHJvamVjdC4gVGhlIHByb2dyYW0gY2FuIGJlIHVzZWQgdG8gZ3JhcGhpY2FsbHkgZGlzcGxheSBwbGFzbWlkcy4gQnkgdXBsb2FkaW5nIHBhcnRzIGluIGFuIFxuICAgICAgICAgICAgICAgICAgICAgICAgaUdFTS1yZWxhdGVkIGRhdGFiYXNlLCBzYWZldHkgY29uc2lkZXJhdGlvbnMgYW5kIHJlZ2lzdHJ5IGVudHJpZXMgY2FuIGJlIGNoZWNrZWQgYXV0b21hdGljYWxseS4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90cmFjeS1hdC1rZXJuZWwtc2VtaW5hci9rZXJuZWwtMS53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90cmFjeS1hdC1rZXJuZWwtc2VtaW5hci9rZXJuZWwtMi53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxiPlRyYWN5IGV4cGxhaW5zIHRoZSBcdTIwMUNtYXJzaG1hbGxvdyBtYWRuZXNzXHUyMDFEIHRvIHVzLiA8L2I+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDY+V2hhdCBkaWQgd2UgbGVhcm4/PC9oNj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlIGxlYXJuZWQgdGhlIGJhc2ljcyBvZiBrZXJuZWxzIGluIG9yZGVyIHRvIGRlc2lnbiBwbGFzbWlkcyBieSB1bmRlcnN0YW5kaW5nIGdlbmVyYWwgcGxhc21pZCBjb25zdHJ1Y3Rpb24gYW5kIHByb2JsZW0gc29sdmluZyB0aHJvdWdoIGRpZmZlcmVudCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9uaW5nIHN0cmF0ZWdpZXMuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZ1cnRoZXJtb3JlLCBLZXJuZWwgaGFzIGFuIEFJLWFzc2lzdGVkIHNlYXJjaCBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIGZvciBwbGFzbWlkIHJlcHJlc2VudGF0aW9uLCBlLmcuIHRvIGZpbmQgYSBzcGVjaWZpYyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9tb3RlciBiYXNlZCBvbiBjZXJ0YWluIHJlcXVpcmVtZW50cy4gVHJhY2kgc2hvd2VkIHVzIHByYWN0aWNhbCBleGVyY2lzZXMgZm9yIGZpcnN0aGFuZCBhcHBsaWNhdGlvbi4gRmlyc3QsIHdlIHdlcmUgYXNrZWQgdG8gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjcmVhdGUgYSBwbGFzbWlkIGZvbGxvd2VkIGJ5IGEgc2xpZ2h0bHkgdHJpY2tpZXIgdGFzazogV2Ugc2hvdWxkIGNsZWFuIHRoZSB3b3JsZCBvZiBtYWpvciBtYXJzaG1hbGxvdyBjb250YW1pbmF0aW9uIGJ5IGRldmVsb3BpbmcgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBwbGFzbWlkLiAgSW4gc21hbGwgZ3JvdXBzIHdlIGRpc2N1c3NlZCB3aGljaCBjb21wb25lbnRzIHRoZSBwbGFzbWlkIG5lZWRlZC4gVHJhY3kgZ2F2ZSB1cyBzb21lIGluZm9ybWF0aW9uIHdpdGggd2hpY2ggd2UgcXVpY2tseSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmaWVkIGNydWNpYWwgY29tcG9uZW50cyBvZiB0aGUgcGxhc21pZCBhbmQgdGhlbiBkZXNpZ25lZCBpdC4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5JbiB0aGUgZW5kLCBlYWNoIGdyb3VwIHByZXNlbnRlZCB0aGVpciBzb2x1dGlvbi4gVGhlIGZ1bm5pZXN0IGFuZCBtb3N0IGNyZWF0aXZlIGFwcHJvYWNoZXMgd2VyZSBjZWxlYnJhdGVkLiA8L3A+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVBpYz5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtVHdvUGljXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9qdWxpYW4tZ2lwLmpwZ1wiXG4gICAgICAgICAgICAgICAgdXJsMj1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvdmlrdG9yaWEuanBnXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lMj1cIldpa3RvcmlhXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiSnVsaWFuXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZT1cIkJvcmJlY2tcIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lMj1cIlBhbGthXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdIb3cgdG8gdXNlIEFJIGFzIGEgc2NpZW50aXN0J1xuICAgICAgICAgICAgICAgIHRhZz0nV29ya3Nob3AgU2Vzc2lvbiBJLidcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tdGV4dC1wcmltYXJ5KSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJhaXdvcmtzaG9wXCJcbiAgICAgICAgICAgICAgICBoZWFkaW5nPVwiTW9kZXJuIHByb2JsZW1zIHJlcXVpcmUgbW9kZXJuIHNvbHV0aW9uc1wiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkNvbXB1dGF0aW9uYWwgdGVjaG5vbG9naWVzIGFyZSBnZXR0aW5nIG1vcmUgaW4gdGhlIGZvY3VzIG9mIHNjaWVudGlmaWMgcmVzZWFyY2guIEludGVncmF0aW9uIG9mIGdlbmVyYXRpdmUgS0kgbGlrZSBHZW5BSSBieXBhc3MgbGltaXRhdGlvbnMgYW5kIG9mZmVycyBwb3RlbnRpYWwgcmlza3MgLSBsZWFybiBob3cgdG8gaW1wbGVtZW50IEFydGlmaWNpYWwgSW50ZWxsaWdlbmNlLlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiYWl3b3Jrc2hvcFwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyB3b3Jrc2hvcCBob3N0ZWQgYnkgeHluYS5iaW8gd2FzIGRlc2lnbmVkIHRvIGludHJvZHVjZSByZXNlYXJjaGVycyB0byB0aGUgaW50ZWdyYXRpb24gb2YgQUkgaW50byBzY2llbnRpZmljIHdvcmtmbG93cy4gV2lrdG9yaWEgUGFsYWsgYW5kIFxuICAgICAgICAgICAgICAgICAgICAgICAgSnVsaWFuIEJvcmJlY2ssIGJvdGggZXhwZXJ0cyBpbiBNb2xlY3VsYXIgQmlvbG9neSwgQmlvY2hlbWlzdHJ5LCBhbmQgQmlvaW5mb3JtYXRpY3MsIGxlZCB0aGUgd29ya3Nob3AsIGZvY3VzaW5nIG9uIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMgb2YgQUkgXG4gICAgICAgICAgICAgICAgICAgICAgICBpbiBiaW9zY2llbmNlcy4gVGhlIHNlc3Npb24gcHJvdmlkZWQgYXR0ZW5kZWVzIHdpdGggaGFuZHMtb24gZXhwZXJpZW5jZSBhbmQgYSBwbGF0Zm9ybSBmb3IgZXhwbG9yaW5nIGhvdyBBSSBjYW4gYWRkcmVzcyByZXNlYXJjaCBpbmVmZmljaWVuY2llcyBcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBvcGVuIG5ldyBvcHBvcnR1bml0aWVzIGZvciBpbm5vdmF0aW9uLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBUaGUgd29ya3Nob3Agd2FzIHN0cnVjdHVyZWQgYXJvdW5kIHR3byBtYWluIGNvbXBvbmVudHM6IHRoZW9yZXRpY2FsIGluc2lnaHRzIGFuZCBhIHByYWN0aWNhbCBncm91cCBleGVyY2lzZS4gSW4gdGhlIHRoZW9yeSBwb3J0aW9uLCB3ZSBnYWluZWQgYSBkZWVwZXIgXG4gICAgICAgICAgICAgICAgICAgICAgICB1bmRlcnN0YW5kaW5nIG9mIEFJIGFwcGxpY2F0aW9ucywgaW5jbHVkaW5nIG5ldXJvLXN5bWJvbGljIEFJIGFuZCBpdHMgcm9sZSBpbiBlbmhhbmNpbmcgcmVzZWFyY2ggbWV0aG9kb2xvZ2llcy4gVGhlIGluc3RydWN0b3JzIHNoYXJlZCB0aGVpciBleHBlcmllbmNlcyBcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldmVsb3BpbmcgQUkgdG9vbHMgbGlrZSB0aG9zZSBhdCB4eW5hLmJpbywgb2ZmZXJpbmcgcGFydGljaXBhbnRzIHZhbHVhYmxlIGtub3dsZWRnZSBvbiB0aGUgQUkgZGV2ZWxvcG1lbnQgcHJvY2Vzcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkR1cmluZyB0aGUgZ3JvdXAgd29yaywgd2UgYnJhaW5zdG9ybWVkIGlkZWFzIGZvciBBSSB0b29scyB0aGF0IGNvdWxkIHNpbXBsaWZ5IGxhYiB3b3JrIGZvciBzY2llbnRpc3RzLiBUaGlzIGFjdGl2aXR5IG5vdCBvbmx5IGZvc3RlcmVkIGNyZWF0aXZlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaW5raW5nIGJ1dCBhbHNvIGVuY291cmFnZWQgY29sbGFib3JhdGlvbiwgYXMgd2UgZGlzY3Vzc2VkIHBvdGVudGlhbCBBSSBzb2x1dGlvbnMgdGhhdCBjb3VsZCBzdHJlYW1saW5lIHRhc2tzIGxpa2UgZGF0YSBhbmFseXNpcyBhbmQgZXhwZXJpbWVudGFsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lnbi4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeSB0aGUgZW5kIG9mIHRoZSB3b3Jrc2hvcCwgcGFydGljaXBhbnRzIHdhbGtlZCBhd2F5IHdpdGggcHJhY3RpY2FsIGluc2lnaHRzIGFuZCBhY3Rpb25hYmxlIHNraWxscy4gV2UgZmVsdCBlcXVpcHBlZCB0byBzdGFydCBpbXBsZW1lbnRpbmcgQUkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc29sdXRpb25zIGluIG91ciBvd24gcmVzZWFyY2ggcHJvamVjdHMsIGlkZW50aWZ5aW5nIHNwZWNpZmljIGFyZWFzIHdoZXJlIEFJIGNvdWxkIGltcHJvdmUgZWZmaWNpZW5jeSBhbmQgcHJvZHVjdGl2aXR5IGluIHRoZSBsYWIuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVR3b1BpYz5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtUGljXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9rYXJsYS13YWduZXIuanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdTY2llbnRpZmljIFRhbGsgSUkuJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RhbGtzJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1saWdodGJsdWUpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInRhbGt0d29cIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJLYXJsYVwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJXYWduZXJcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJPcHRpbWl6YXRpb24gb2YgYSBES1Igb2YgYSBUZXJ0aWFyeSBBbGNvaG9sIHRocm91Z2ggUHJvdGVpbiBFbmdpbmVlcmluZ1wiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkthcmxhIFdhZ25lciBzaGFyZXMgZ3JvdW5kYnJlYWtpbmcgc3RyYXRlZ2llcyBpbiBvcHRpbWl6aW5nIGR5bmFtaWMga2luZXRpYyByZXNvbHV0aW9uIChES1IpIG9mIHRlcnRpYXJ5IGFsY29ob2xzIHVzaW5nIHByb3RlaW4gZW5naW5lZXJpbmcuIERpc2NvdmVyIGhvdyBlbnp5bWUgY2F0YWx5c2lzIGRyaXZlcyBzdXN0YWluYWJsZSBhZHZhbmNlbWVudHMgaW4gdGhlIHN5bnRoZXNpcyBvZiBjaGlyYWwgY29tcG91bmRzIGZvciBwaGFybWFjZXV0aWNhbHMgYW5kIG90aGVyIGluZHVzdHJpZXMuXCJcbiAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwidGFsa3R3b1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEthcmxhIFdhZ25lciwgYSBQaEQgcmVzZWFyY2hlciBhdCB0aGUgPGI+SU9DQiBvZiB0aGUgVW5pdmVyc2l0eSBvZiBCaWVsZWZlbGQ8L2I+IHdpdGggYSBiYWNrZ3JvdW5kIGluIG9yZ2FuaWMgY2hlbWlzdHJ5IGFuZCBiaW90ZWNobm9sb2d5LiBEdXJpbmcgdGhlIHdvcmtzaG9wLCBLYXJsYSBkaXNjdXNzZWQgaGVyIHJlc2VhcmNoIG9uIG9wdGltaXppbmcgdGhlIGR5bmFtaWMga2luZXRpYyByZXNvbHV0aW9uIChES1IpIG9mIHRlcnRpYXJ5IGFsY29ob2xzIHVzaW5nIHByb3RlaW4gZW5naW5lZXJpbmcuIEhlciB3b3JrIGZvY3VzZXMgb24gc3VzdGFpbmFibGUgY2hlbWlzdHJ5IHByYWN0aWNlcywgcGFydGljdWxhcmx5IGJ5IHVzaW5nIGVuenltZXMgaW4gYmlvY2F0YWx5c2lzLCBhbGlnbmluZyB3aXRoIHRoZSBwcmluY2lwbGVzIG9mIHN1c3RhaW5hYmxlIGNoZW1pc3RyeS4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZXIgcHJlc2VudGF0aW9uIGNlbnRlcmVkIGFyb3VuZCBoZXIgcmVzZWFyY2ggb24gdGhlIHN5bnRoZXNpcyBvZiBjaGlyYWwgdGVydGlhcnkgYWxjb2hvbHMsIHdoaWNoIGFyZSB2YWx1YWJsZSBpbiB0aGUgcHJvZHVjdGlvbiBvZiBwaGFybWFjZXV0aWNhbHMsIGZyYWdyYW5jZXMsIGFuZCBmbGF2b3VyaW5nIGFnZW50cy4gU2hlIGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgY2hpcmFsaXR5IGluIHBoYXJtYWNldXRpY2Fscywgbm90aW5nIGhvdyBkaWZmZXJlbnQgZW5hbnRpb21lcnMgb2YgYSBtb2xlY3VsZSBjYW4gaGF2ZSBkcmFzdGljYWxseSBkaWZmZXJlbnQgZWZmZWN0cywgc3VjaCBhcyB0aGUgY2FzZSBvZiBUaGFsaWRvbWlkZS4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVBpYz5cbiAgICAgICAgICAgICAgICA8Tm9CdXR0VGltZWxpbmVJdGVtXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIlxuICAgICAgICAgICAgICAgIGRhdGU9J1RlYW0gcHJvamVjdCBwcmVzZW50YXRpb25zJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RlYW0gcHJlc2VudGF0aW9ucydcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tYWNjZW50LXByaW1hcnknXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aDU+VGVhbSBwcm9qZWN0IHByZXNlbnRhdGlvbnM8L2g1PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBiZmgtc2xpZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTaW1wbGVTbGlkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90ZWFtLXByZXNlbnRhdGlvbnMvYW55Y29udi1jb20tZHNjZjc0MjgtZW5oYW5jZWQtbnIud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3RlYW0tcHJlc2VudGF0aW9ucy9hbnljb252LWNvbS1kc2NmNzQzMC1lbmhhbmNlZC1uci53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvdGVhbS1wcmVzZW50YXRpb25zL2FueWNvbnYtY29tLWRzY2Y3NDg1LWVuaGFuY2VkLW5yLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90ZWFtLXByZXNlbnRhdGlvbnMvYW55Y29udi1jb20tZHNjZjc0OTgtZW5oYW5jZWQtbnIud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3RlYW0tcHJlc2VudGF0aW9ucy9hbnljb252LWNvbS1kc2NmNzUwNi1lbmhhbmNlZC1uci53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvdGVhbS1wcmVzZW50YXRpb25zL2FueWNvbnYtY29tLWRzY2Y3NTI0LWVuaGFuY2VkLW5yLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90ZWFtLXByZXNlbnRhdGlvbnMvYW55Y29udi1jb20tZHNjZjc1MzItZW5oYW5jZWQtbnIud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3RlYW0tcHJlc2VudGF0aW9ucy9hbnljb252LWNvbS1kc2NmNzU0OC1lbmhhbmNlZC1uci53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L1NpbXBsZVNsaWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4gXG4gICAgICAgICAgICAgICAgPC9Ob0J1dHRUaW1lbGluZUl0ZW0+XG4gICAgICAgICAgICAgICAgPE5vQnV0dFRpbWVsaW5lSXRlbVxuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdQb3N0ZXIgRXhoaWJpdGlvbiBCb290aCdcbiAgICAgICAgICAgICAgICB0YWc9ICdUZWFtIHByZXNlbnRhdGlvbnMnXG4gICAgICAgICAgICAgICAgY29sb3I9J3ZhcigtLWFjY2VudC1wcmltYXJ5KSdcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxoNT5Qb3N0ZXIgRXhoaWJpdGlvbiBCb290aDwvaDU+XG4gICAgICAgICAgICAgICAgICAgPHA+IFZpc2l0IHRoZSA8U2Nyb2xsTGluayBsYWJlbD1cIlZpcnR1YWwgUG9zdGVyIEV4aGliaXRpb25cIiB0YXJnZXRJZD1cIkJGSCBFdXJvcGVhbiBNZWV0VXA0SFwiIC8+ITwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgYmZoLXNsaWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8U2ltcGxlU2xpZGVyPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZXhoaWJpdGlvbi9wb3N0ZXJleGhpYml0aW9uLXBsYXNtaWQtZmFjdG9yeS53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZXhoaWJpdGlvbi9wb3N0ZXJleGhpYml0aW9uLWZyYW5rZnVydC53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZXhoaWJpdGlvbi9wb3N0ZXJleGhpYml0aW9uLXp5bW8ud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1haXItdmlldy53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZXhoaWJpdGlvbi9wb3N0ZXJleGhpYml0aW9uLWJpb2dsaW1tZXIud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1laW5kaG92ZW4ud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1lbmRvc2Vuc2UtanVkZ2Uud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1pc2FiZWxsLWVya2wtcnQud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1qb2Vybi53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZXhoaWJpdGlvbi9wb3N0ZXJleGhpYml0aW9uLW1hcmJpcmcud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1vbmNvLWJpb3RpY2Eud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1yZWZpYmEud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi10ZWRkeS53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZXhoaWJpdGlvbi9wb3N0ZXJleGhpYml0aW9uLXp5bW8tZ3J1cHBlLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvU2ltcGxlU2xpZGVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPiBcbiAgICAgICAgICAgICAgICA8L05vQnV0dFRpbWVsaW5lSXRlbT5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtUGljXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9zdmFuamEtdmlua2UuanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdIb3cgdG8gd29yayBzYWZlJ1xuICAgICAgICAgICAgICAgIHRhZz0nV29ya3Nob3AgU2Vzc2lvbiBJSS4nXG4gICAgICAgICAgICAgICAgY29sb3I9J3ZhcigtLXRleHQtcHJpbWFyeSknXG4gICAgICAgICAgICAgICAgY3NzdGFnPVwic2FmZXdvcmtzaG9wXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiU3ZlbmphXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZT1cIlZpbmtlXCJcbiAgICAgICAgICAgICAgICBoZWFkaW5nPVwiQWJvdXQgRHVhbC11c2UgYW5kIEJpb3NhZmV0eVwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIk5vdmVsIHRlY2hub2xvZ2llcyBvcGVuZWQgcG9zc2liaWxpdGllcyBhbmQgcmlza3MuIExlYXJuIGhvdyB5b3UgaW1wbGVtZW50IFNhZmV0eSBhbmQgU2VjdXJpdHkgU3RyYXRlZ2llcyB3aXRoaW4geW91ciBwcm9qZWN0IGFuZCB0aGluayBtb3JlIHJlc3BvbnNpYmxlIGluIHRlcm1zIG9mIER1YWwgVXNlLlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2FmZXdvcmtzaG9wXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGJpb3NhZmV0eSB3b3Jrc2hvcCB3YXMgaGVsZCBieSBTdmVuamEgVmlua2UuIEFzIGEgcG9zdGRvY3RvcmFsIHJlc2VhcmNoZXIgc3BlY2lhbGl6aW5nIGluIHN5bnRoZXRpYyBiaW9sb2d5IGF0IHRoZSBDaHVyY2ggTGFiLCBIYXJ2YXJkIE1lZGljYWwgU2Nob29sLiBTdmVuamEgd29ya3Mgb24gdGhlIGlHRU0gU2FmZXR5IGFuZCBTZWN1cml0eSBDb21taXR0ZWUuIEFkZGl0aW9uYWxseSwgc2hlIHdhcyBwYXJ0IG9mIHRoZSBCaW9zYWZldHkgYW5kIFNlY3VyaXR5IEF3YXJkIFRlYW0gb2YgQmllbGVmZWxkIFVuaXZlcnNpdHkgaW4gMjAxNi4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZpcnN0IGFuZCBmb3JlbW9zdCwgc2hlIHN0YXJ0ZWQgdGhlIHdvcmtzaG9wIGJ5IG91dGxpbmluZyB0aGUga2V5IGNvbmNlcHRzIG9mIGJpb3NhZmV0eSBhbmQgYmlvc2VjdXJpdHksIGVtcGhhc2l6aW5nIGhvdyBpbXBvcnRhbnQgbGFib3JhdG9yeSBzYWZldHkgaXMuICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3Mtcy13b3Jrc2hvcC9iaW9zYWZldHktc2VtaW5hci1iZmgud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcy1zLXdvcmtzaG9wL3RlaWwtMi1iZmgtYmlvc2FmZXR5LndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5TaGUgYWxzbyBleHBsYWluZWQgd2hpY2ggc2FmZXR5IGFzcGVjdHMgd2Ugc2hvdWxkIGNvbnNpZGVyIGZvciBvdXIgcHJvamVjdDogIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+IDxiPkR1YWwgdXNlOjwvYj4gUmVmZXJzIHRvIHRlY2hub2xvZ3kgb3IgcmVzZWFyY2ggdGhhdCBjYW4gYmUgdXNlZCBmb3IgYm90aCBiZW5lZmljaWFsIGFuZCBoYXJtZnVsIHB1cnBvc2VzLiBGb3IgZXhhbXBsZSwgQUkgZGVzaWduZWQgZm9yIG1lZGljYWwgZGlhZ25vc2lzIGNvdWxkIGFsc28gYmUgbWlzdXNlZCBmb3IgaGFybWZ1bCBzdXJ2ZWlsbGFuY2UuIE1hbmFnaW5nIGR1YWwtdXNlIHJpc2tzIGludm9sdmVzIGNhcmVmdWwgY29uc2lkZXJhdGlvbiBvZiBib3RoIHRoZSBwb3NpdGl2ZSBhcHBsaWNhdGlvbnMgYW5kIHRoZSBwb3RlbnRpYWwgZm9yIG1pc3VzZS4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+IDxiPkJ1aWx0LUluIFNhZmV0eSBMZXZlbHM6PC9iPiAgICAgIFRoaXMgY29uY2VwdCBpbnZvbHZlcyBkZXNpZ25pbmcgc3lzdGVtcyB3aXRoIG11bHRpcGxlIGxheWVycyBvZiBzYWZldHkgdG8gcHJldmVudCBmYWlsdXJlIG9yIG1pbmltaXplIGhhcm0uIEluIHRlY2hub2xvZ3kgYW5kIGVuZ2luZWVyaW5nLCBidWlsdC1pbiBzYWZldHkgbGV2ZWxzIGVuc3VyZSB0aGF0IGV2ZW4gaWYgb25lIGxheWVyIGZhaWxzLCBvdGhlcnMgcmVtYWluIGludGFjdCB0byBtYWludGFpbiBzYWZlIG9wZXJhdGlvbi4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+ICA8Yj5TYWZlLWJ5LURlc2lnbjogPC9iPiAgU2FmZS1ieS1EZXNpZ24gZW1waGFzaXplcyBpbnRlZ3JhdGluZyBzYWZldHkgY29uc2lkZXJhdGlvbnMgaW50byB0aGUgZWFybGllc3Qgc3RhZ2VzIG9mIHByb2R1Y3Qgb3Igc3lzdGVtIGRldmVsb3BtZW50LiBCeSBhbnRpY2lwYXRpbmcgcmlza3MgYW5kIGhhemFyZHMgZnJvbSB0aGUgc3RhcnQsIHRoaXMgYXBwcm9hY2ggcHJvYWN0aXZlbHkgbWluaW1pemVzIGRhbmdlcnMgYmVmb3JlIHRoZXkgYmVjb21lIGlzc3VlcywgbGVhZGluZyB0byBzYWZlciBvdXRjb21lcy4gIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRmluYWxseSwgZWFjaCB0ZWFtIGdhdmUgYnJpZWYgcHJlc2VudGF0aW9ucyBvZiB0aGVpciBwcm9qZWN0cyBhbmQgZW5nYWdlZCBpbiBhIGdyb3VwIGRpc2N1c3Npb24gb24gcG90ZW50aWFsIHNlY3VyaXR5IHJpc2tzIGFuZCBnZW5lcmFsIHNlY3VyaXR5IGNvbnNpZGVyYXRpb25zLiBUb2dldGhlciwgd2UgYnJhaW5zdG9ybWVkIGFuZCBpZGVudGlmaWVkIHNwZWNpZmljIGFzcGVjdHMgb2YgZWFjaCBwcm9qZWN0IHRoYXQgY291bGQgcHJlc2VudCBwb3RlbnRpYWwgcmlza3MuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbSBTdmVuamFcdTIwMTlzIHNlbWluYXIsIHdlIGxlYXJuZWQgd2hpY2ggc2FmZXR5LXJlbGV2YW50IGFzcGVjdHMgYXJlIHBhcnRpY3VsYXJseSBpbXBvcnRhbnQsIGFzIHdlbGwgYXMgdGhlIGltcG9ydGFuY2Ugb2YgZXhhbWluaW5nIGEgcHJvamVjdCBmcm9tIGRpZmZlcmVudCBwZXJzcGVjdGl2ZXMgdG8gaWRlbnRpZnkgYW5kIG1pbmltaXplIHBvdGVudGlhbCByaXNrcyByZWxhdGVkIHRvIGxhYiB3b3JrIGFuZCB0aGUgZW52aXJvbm1lbnQuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW1QaWM+XG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVR3b1BpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvanVsaWEtai1sYWlub3dza2kuanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdIb3cgdG8gQ29tbXVuaWNhdGUgU2NpZW5jZSdcbiAgICAgICAgICAgICAgICB1cmwyPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9tYWxtZW5kaWVyLnBuZ1wiXG4gICAgICAgICAgICAgICAgdGFnPSdXb3Jrc2hvcCBTZXNzaW9uIElJLidcbiAgICAgICAgICAgICAgICB2b3JuYW1lMj1cIkNhcm9saW5cIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJKdWxpYVwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJLYWxpbm93c2tpXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZTI9XCJNYWxtZW5kaWVyXCJcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tdGV4dC1wcmltYXJ5KSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJjb21td29ya3Nob3BcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJFZmZlY3RpdmUgU2NpZW5jZSBDb21tdW5pY2F0aW9uOiBTdHJhdGVnaWVzIGZvciBTdWNjZXNzXCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiRXhwZXJpZW5jZSBob3cgc2NpZW5jZSBjb21tdW5pY2F0aW9uIGNvdWxkIGJlLiBMZWFybiBjcmVhdGl2ZSBhbmQgZnVubnkgd2F5cyB0byBjb21tdW5pY2F0ZSBkaWZmaWN1bHQgdG9waWNzLiBUaGluayBvdXRzaWRlIHRoZSBib3ggYW5kIHRyYWluIHlvdXIgc2tpbGxzLiBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGJyPjwvYnI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJjb21td29ya3Nob3BcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnI+PC9icj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNj5TZXR0aW5nPC9oNj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyB3b3Jrc2hvcCB3YXMgb2ZmZXJlZCB0byB1cyBieSBTdHVkU2NpQ29tIGFzIHBhcnQgb2YgdGhlIEJGSCBNZWV0LXVwIHByb2dyYW0gYXQgQmllbGVmZWxkIFVuaXZlcnNpdHkuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3LnN0dWQtc2NpY29tLmRlL1wiPiBTdHVkU2NpQ29tPC9hPiBpcyBhbiBpbml0aWF0aXZlIGZvciBzY2llbmNlIGNvbW11bmljYXRpb24gYnkgc3R1ZGVudHMgZm9yIHN0dWRlbnRzIGluIEdlcm1hbnkuIFxuICAgICAgICAgICAgICAgICAgICAgICAgVGhleSBoZWxkIHRoaXMgd29ya3Nob3AgZm9yIHVzIGZvciB0aGUgdmVyeSBcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0IHRpbWUgYW5kIHdlIGFyZSBnbGFkIHRoYXQgd2Ugd2VyZSBhYmxlIHRvIG9mZmVyIHRoZSB1cHJpc2luZyBTdHVkU2NpQ29tIHRlYW0gYSBwbGF0Zm9ybSB0byB0cnkgb3V0IHRoaXMga2luZCBvZiBvdXRyZWFjaC4gSW4gYWRkaXRpb24sIFxuICAgICAgICAgICAgICAgICAgICAgICAgd2Ugd2VyZSBhYmxlIHRvIGdhaW4ga25vd2xlZGdlIGFib3V0IHByb3BlciBzY2llbmNlIGNvbW11bmljYXRpb24gXHUyMDEzIGEgY2xlYXIgd2luLXdpbiBzaXR1YXRpb24gZm9yIGFsbCBvZiB1cyFcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgU2NpZW5jZSBjb21tdW5pY2F0aW9uIGlzIGRlZmluZWQgYXMgdGhlIHByYWN0aWNlIG9mIGluZm9ybWluZywgZWR1Y2F0aW5nLCBhbmQgcmFpc2luZyBhd2FyZW5lc3MgYWJvdXQgc2NpZW5jZS1yZWxhdGVkIHRvcGljcyBhbW9uZyB0aGUgZ2VuZXJhbCBwdWJsaWMgXG4gICAgICAgICAgICAgICAgICAgICAgICBvciBzcGVjaWZpYyBhdWRpZW5jZXMuIEl0IGludm9sdmVzIHZhcmlvdXMgbWV0aG9kcyBzdWNoIGFzIHdyaXRpbmcgYXJ0aWNsZXMsIGdpdmluZyBwcmVzZW50YXRpb25zLCB1c2luZyBzb2NpYWwgbWVkaWEsIGFuZCBlbmdhZ2luZyBpbiBwdWJsaWMgZGlzY3Vzc2lvbnMgXG4gICAgICAgICAgICAgICAgICAgICAgICB0byBtYWtlIHNjaWVudGlmaWMga25vd2xlZGdlIGFjY2Vzc2libGUgYW5kIHVuZGVyc3RhbmRhYmxlPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxXCIvPi4gXG4gICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNj5XaGF0IGRpZCB3ZSBsZWFybj88L2g2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBKdWxpYSBLYWxpbm93c2tpLCBQaEQgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHkgYW5kIEZvcmVpZ24gTWluaXN0ZXIgb2YgU3R1ZFNjaUNvbSwgdG9nZXRoZXIgd2l0aCBDYXJvbGluIE1hbG1lbmRpZXIsIFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWVyIHBoeXNpY3Mgc3R1ZGVudCBhbmQgbm93IG9yZ2FuaXplciBpbiB0aGUgU3R1ZFNjaUNvbSB0ZWFtLCBpbnRyb2R1Y2VkIHVzIHRvIHRoZSB0aGVvcmllcyBhbmQgIHByYWN0aWNlIFxuICAgICAgICAgICAgICAgICAgICAgICAgb2YgZGlmZmVyZW50IHR5cGVzIG9mIHNjaWVuY2UgY29tbXVuaWNhdGlvbiBhbmQgaG93IHRvIGRldmVsb3AgYSBjb21tdW5pY2F0aW9uIHN0cmF0ZWd5LiBcbiAgICAgICAgICAgICAgICAgICAgICAgIEluIGRldGFpbCwgd2Ugd2VyZSB0YXVnaHQgdG8gYXNrIG91cnNlbHZlcyBzZXZlcmFsIHF1ZXN0aW9ucyB0byBkZWZpbmUgb3VyIHRvcGljLCB0aGUgbWVkaXVtIG9mIFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tbXVuaWNhdGlvbiwgYXMgd2VsbCBhcyB0aGUgY2hhcmFjdGVyaXphdGlvbiBvZiBvdXIgdGFyZ2V0IGdyb3VwIGFuZCB0aGUgcGxhbm5lZCBhY2hpZXZlbWVudCB3aXRoIG91ciBcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjaWVuY2UgY29tbXVuaWNhdGlvbi4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9vdGhlci92b3J0cmFnLXNjaWNvbS1iZmgtc2NyZWVuc2hvdC5qcGdcIj48L2ltZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBrZXkgbWVzc2FnZSBmb3IgdXMgd2FzIHRvIHBsYW4gdGhlIHNjaWVuY2UgY29tbXVuaWNhdGlvbiBiZWZvcmUgd2UgZGl2ZSBpbiBhbmQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldCBhdWRpZW5jZSBnZXRzIHRoZSBtZXNzYWdlIHdlIHdhbnQgdG8gc2VuZC4gIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNj5JbXBsZW1lbnRhdGlvbjwvaDY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFmdGVyd2FyZHMsIHRoZSBhdHRlbmRpbmcgaUdFTSB0ZWFtcyB0YWxrZWQgYWJvdXQgdGhlaXIgc2NpZW5jZSBjb21tdW5pY2F0aW9uIHBsYW5zIGFuZCBob3cgdGhleSBjb3VsZCBpbXByb3ZlIHRoZW0gXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2luZyB0aGUgc2tpbGxzIGxlYXJuZWQgaW4gdGhpcyB3b3Jrc2hvcC4gT3VyIHRlYW0gcmV2aXNlZCB0aGVpciBwbGFucyBmb3IgZXhwbGFpbmluZyBnZW5lIGVkaXRpbmcgdG8gXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbiBhbmQgc3RhcnRlZCBkZXZlbG9waW5nIGV4cGVyaW1lbnRzIHRvIGhlbHAgdGhlbSBiZXR0ZXIgdW5kZXJzdGFuZCBjeXN0aWMgZmlicm9zaXMsIHdoaWNoIHdlIFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJlc2VudGVkIGxhdGVyIG9udG8gdGhlIHB1YmxpYyBhdCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKFwidGV1dG9ydWZ0XCIsIFwiaHVtYW4tcHJhY3RpY2VzXCIpfT5cdTIwMUNEZXIgVGV1dG8gcnVmdCFcdTIwMUQ8L2E+LCBhbiBldmVudCBpbiBCaWVsZWZlbGQgdG8gY29ubmVjdCB0aGUgbG9jYWwgXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3B1bGF0aW9uIHdpdGggcmVnaW9uYWwgY29tcGFuaWVzIGFuZCBpbnN0aXR1dGVzIHRvIGluZm9ybSB0aGVtIGFib3V0IHRoZWlyIHdvcmsgLSBpbmNsdWRpbmcgb3VyIGlHRU0gdGVhbSEgXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDY+UmVmZXJlbmNlczwvaDY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b2w+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qPCEtLSBDaXRhdGlvbiBudW0gMS0tPiAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRmlzY2hob2ZmLCBCLjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7VGhlIHNjaWVuY2VzIG9mIHNjaWVuY2UgY29tbXVuaWNhdGlvbi4gPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IFByb2NlZWRpbmdzIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzPC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAxMTA8L2I+LCZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gMTQwMzM8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj4xNDAzOTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMTNcIj4yMDEzPC90aW1lPikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTA3My9wbmFzLjEyMTMyNzMxMTBcIj4gZG9pOiAxMC4xMDczL3BuYXMuMTIxMzI3MzExMDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9vbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICBcbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVR3b1BpYz5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtUGljXG4gICAgICAgICAgICAgICAgZGF0ZT0nSG93IHRvIFBpdGNoIFlvdXIgUHJvamVjdCdcbiAgICAgICAgICAgICAgICB0YWc9J1dvcmtzaG9wIFNlc3Npb24gSUkuJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS10ZXh0LXByaW1hcnkpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInBpdGNoXCJcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL21hZGVsZWluZS1tdXNzZ251Zy5qcGdcIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJNYWRlbGVpbmVcIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwiTXVzc2dudWdcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkltYWdlIHlvdSBoYXZlIG9ubHkgdGhyZWUgbWludXRlcyB3aXRoIHlvdXIgYm9zcyB0byBzZWxsIHlvdXIgaWRlYS4uLiBcbiAgICAgICAgICAgICAgICBBZnRlciBvdXIgd29ya3Nob3AgeW91IGxlYXJuZWQgdGVjaG5pcXVlcyB0byBzZWxsIGV2ZXJ5IHBlbiBhbmQgZXZlbiBtb3JlIHRvIGV2ZXJ5IGJvc3Mgb24gdGhlIHBsYW5ldC4gICAgICAgXG4gICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID4gXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cInBpdGNoXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICA8cD5UaGUgXCJQZXJmZWN0IFByb2plY3QgUGl0Y2hcIiB3b3Jrc2hvcCB3YXMgcGFydCBvZiB0aGUgc2Vjb25kIHBoYXNlIG9mIHdvcmtzaG9wcyBkdXJpbmcgdGhlIGluYXVndXJhbCBCRkggbWVldC11cCwgaG9zdGVkIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LiBJdCB3YXMgbGVkIGJ5IE1hZGVsZWluZSBNdXNzZ251ZywgYSBzdGFydHVwIGNvbnN1bHRhbnQgYXQgdGhlIEdvZXRoZSBVbml2ZXJzaXR5J3MgZW50cmVwcmVuZXVyc2hpcCBjZW50ZXIgaW4gRnJhbmtmdXJ0LCBHZXJtYW55LiBNYWRlbGVpbmUgc3R1ZGllZCBJbnRlcm5hdGlvbmFsIE1hbmFnZW1lbnQgYW5kIFRvdXJpc20gYW5kIGhhcyBleHRlbnNpdmUgZXhwZXJpZW5jZSwgaW5jbHVkaW5nIHNldmVyYWwgeWVhcnMgYXQgdGhlIHNjYWxlLXVwIGNvbXBhbnkgTGltZWhvbWUuIEN1cnJlbnRseSwgc2hlIGFsc28gd29ya3MgYXMgYSBmcmVlbGFuY2UgY29uc3VsdGFudCBzcGVjaWFsaXppbmcgaW4gb25saW5lIG1hcmtldGluZywgc29jaWFsIG1lZGlhLCBhbmQgc3VwcG9ydGluZyBpbmRpdmlkdWFscyBpbiBiZWNvbWluZyBzZWxmLWVtcGxveWVkLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlRoZSB3b3Jrc2hvcCBmb2N1c2VkIG9uIHRoZSBlc3NlbnRpYWwgc2tpbGxzIGFuZCBzdHJhdGVnaWVzIGZvciBkZWxpdmVyaW5nIGFuIGVmZmVjdGl2ZSBwcm9qZWN0IHBpdGNoLCBjb3ZlcmluZyB0aGUgZm9sbG93aW5nIGtleSBhcmVhczogPC9wPlxuICAgICAgICAgICAgICAgICAgICA8b2w+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+ICAgIENyYWZ0aW5nIGNvbXBlbGxpbmcgbmFycmF0aXZlcyB0byBwcmVzZW50IGNvbXBsZXggaWRlYXMgY2xlYXJseSBhbmQgZW5nYWdpbmdseSwgZW5zdXJpbmcgdGhleSByZW1haW4gbWVtb3JhYmxlIGZvciB0aGUgYXVkaWVuY2UuIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+ICAgIFN0cnVjdHVyaW5nIGFuZCBvcmdhbml6aW5nIHBpdGNoZXMgdG8gaGlnaGxpZ2h0IGNyaXRpY2FsIGVsZW1lbnRzIHN1Y2ggYXMgaW5ub3ZhdGlvbiwgbWFya2V0IHBvdGVudGlhbCwgYW5kIHRlYW0gc3RyZW5ndGhzLCB0aHVzIGNvbW11bmljYXRpbmcgeW91ciBtZXNzYWdlIGVmZmVjdGl2ZWx5LiA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPiAgICBUYWlsb3JpbmcgcGl0Y2hlcyB0byByZXNvbmF0ZSB3aXRoIGRpZmZlcmVudCB0YXJnZXQgYXVkaWVuY2VzLCBpbmNsdWRpbmcgaW52ZXN0b3JzIGFuZCBjb2xsYWJvcmF0b3JzLCBtYWtpbmcgdGhlbSBhZGFwdGFibGUgYW5kIGltcGFjdGZ1bC4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4gICAgQnVpbGRpbmcgY29uZmlkZW5jZSBhbmQgbWFzdGVyaW5nIHBlcnN1YXNpdmUgdGVjaG5pcXVlcyB0byBjb252aW5jaW5nbHkgY29tbXVuaWNhdGUgdGhlIHZhbHVlIG9mIHlvdXIgcHJvamVjdC4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4gICAgVXRpbGl6aW5nIGNyZWF0aXZlIGFuZCB2aXN1YWxseSBhcHBlYWxpbmcgcGl0Y2ggbWF0ZXJpYWxzLCB3aXRoIGEgZm9jdXMgb24gaW50ZWdyYXRpbmcgdmlzdWFscyBhbmQgZGF0YSBlZmZlY3RpdmVseSB0byBlbmhhbmNlIHRoZSBwcmVzZW50YXRpb24uIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvb2w+XG4gICAgICAgICAgICAgICAgICAgIDxwPk1hZGVsZWluZSBNdXNzZ251ZyBkZWxpdmVyZWQgdGhlc2UgaW5zaWdodHMgdGhyb3VnaCBhIGJhbGFuY2VkIG1peCBvZiBwcmVzZW50YXRpb24gYW5kIGludGVyYWN0aXZlIGRpc2N1c3Npb25zLiBTaGUgcHJvdmlkZWQgcmVhbC13b3JsZCBleGFtcGxlcyBhbmQgZW5nYWdlZCB0aGUgYXVkaWVuY2UgYnkgcHJvbXB0aW5nIHRoZW0gdG8gcmVmbGVjdCBvbiBzcGVjaWZpYyB0ZWNobmlxdWVzLCBpbWFnZXMsIGFuZCBzdHlsaXN0aWMgY2hvaWNlcy4gRm9yIGluc3RhbmNlLCBzaGUgZGVtb25zdHJhdGVkIHRoZSBzdHJhdGVnaWMgdXNlIG9mIG51bWJlcnMgYW5kIGljb25zIG9uIHNsaWRlcywgZGlzY3Vzc2luZyBob3cgdGhlaXIgc2l6ZSBhbmQgcGxhY2VtZW50IGNhbiBpbmZsdWVuY2UgdGhlIHZpZXdlclx1MjAxOXMgcGVyY2VwdGlvbi4gQnkgc2hvd2luZyBkaWZmZXJlbnQgc2xpZGUgY29uc3RlbGxhdGlvbnMsIHNoZSBlbmNvdXJhZ2VkIHRoZSBhdWRpZW5jZSB0byBkaXNjdXNzIHRoZWlyIHZpc3VhbCBpbXBhY3QuIFRoZSB3b3Jrc2hvcCBjb25jbHVkZWQgd2l0aCBhIGZvY3VzIG9uIHRoZSBpbXBvcnRhbmNlIG9mIG5ldHdvcmtpbmcuIEFjY29yZGluZyB0byBNdXNzZ251Zywga25vd2luZyB3aG9tIHRvIGFwcHJvYWNoIGFuZCBob3cgdG8gZW5nYWdlIHdpdGggdGhlbSBpcyBrZXlcdTIwMTR0aGlzLCBzaGUgZW1waGFzaXplZCwgaXMgdGhlIGVzc2VuY2Ugb2Ygc3VjY2Vzc2Z1bCBwaXRjaGluZy4gPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5XZSBpbW1lZGlhdGVseSBwdXQgd2hhdCB3ZSBsZWFybmVkIGludG8gcHJhY3RpY2UgaW4gdmFyaW91cyBhcmVhcywgc3VjaCBhczogPC9wPlxuICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+TWVldC11cCBNXHUwMEZDbnN0ZXIgUHJlc2VudGF0aW9uOjwvYj4gICAgV2UgYWRvcHRlZCBhIGZyZXNoLCBpbm5vdmF0aXZlIGFwcHJvYWNoIHdoZW4gcHJlcGFyaW5nIGZvciB0aGUgTVx1MDBGQ25zdGVyIG1lZXQtdXAsIGludGVncmF0aW5nIG1hbnkgb2YgdGhlIHRlY2huaXF1ZXMgZnJvbSB0aGUgd29ya3Nob3AuIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+Q29ycmVzcG9uZGVuY2Ugd2l0aCBQb3RlbnRpYWwgUGFydG5lcnMgYW5kIFNwb25zb3JzOiA8L2I+ICAgIE91ciBjb21tdW5pY2F0aW9uIGJlY2FtZSBtb3JlIHRhcmdldGVkIGFuZCBlZmZlY3RpdmUsIGFsbG93aW5nIHVzIHRvIGJ1aWxkIHN0cm9uZ2VyIGNvbm5lY3Rpb25zIHdpdGggcG90ZW50aWFsIHBhcnRuZXJzIGFuZCBzcG9uc29ycy4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5JbXByb3ZlZCBTdGVlcmluZyBDb21taXR0ZWUgQ29tbXVuaWNhdGlvbjo8L2I+ICAgIFdlIGFsc28gc2F3IGEgbm90aWNlYWJsZSBpbXByb3ZlbWVudCBpbiBvdXIgaW50ZXJhY3Rpb25zIHdpdGggdGhlIHN0ZWVyaW5nIGNvbW1pdHRlZSwgdXNpbmcgY2xlYXJlciBhbmQgbW9yZSBwZXJzdWFzaXZlIG1lc3NhZ2luZy4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgPHA+SW4gZXNzZW5jZSwgdGhlIHdvcmtzaG9wIG5vdCBvbmx5IGVuaGFuY2VkIG91ciBwaXRjaGluZyBza2lsbHMgYnV0IGFsc28gc2lnbmlmaWNhbnRseSBpbXByb3ZlZCBvdXIgb3ZlcmFsbCBjb21tdW5pY2F0aW9uIHN0cmF0ZWdpZXMsIGVuYWJsaW5nIHVzIHRvIHByZXNlbnQgb3VyIGlkZWFzIHdpdGggZ3JlYXRlciBjb25maWRlbmNlIGFuZCBpbXBhY3QuIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgICAgIDwvVGltZWxpbmVJdGVtUGljPlxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL21pY2hhZWwuanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdIb3cgdG8gTXVsdGkgTWVkaWEnXG4gICAgICAgICAgICAgICAgdGFnPSdXb3Jrc2hvcCBTZXNzaW9uIElJLidcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tdGV4dC1wcmltYXJ5KSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJtdWx0aW1lZGlhXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiTWljaGFlbFwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJHclx1MDBGNm5pbmdcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJNYXN0ZXJpbmcgRmlsbW1ha2luZzogRnJvbSBCYXNpY3MgdG8gaUdFTSBWaWRlbyBQcm9kdWN0aW9uXCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiTGVhcm4gdGhlIGJhc2ljcyBvZiBmaWxtbWFraW5nIGFuZCB2aWRlbyBwcm9kdWN0aW9uLiBcbiAgICAgICAgICAgICAgICBMb29rIGJlaGluZCB0aGUgc2NlbmVzIGFuZCBnZXQgaW4gdG91Y2ggd2l0aCBwcm9mZXNzaW9uYWxzLiBcbiAgICAgICAgICAgICAgICBUcmFpbiB5b3VyIHNraWxscyB0byBkaXJlY3QgaUdFTS1yZWxhdGVkIHZpZGVvcyBhbmQgbW92aWVzLlwiXG4gICAgICAgICAgICAgICAgPiBcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwibXVsdGltZWRpYVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk1pY2hhZWwgR3JcdTAwRjZuaW5nLCB3aG8gaGFzIG1hbnkgeWVhcnMgb2YgZXhwZXJpZW5jZSBpbiBhIHJhbmdlIG9mIG11bHRpbWVkaWEgZGlzY2lwbGluZXMsIGluY2x1ZGluZyAzRCBhbmltYXRpb24sIHZpZGVvIGFuZCBjaW5lbWF0b2dyYXBoeSwgZmlsbSBhbmQgYXVkaW8gcHJvZHVjdGlvbiwgcG9zdC1wcm9kdWN0aW9uLCB2b2ljZW92ZXIgYW5kIG1lZGlhIGRlc2lnbiwgaGVsZCB0aGUgcHJhY3RpY2FsIHdvcmtzaG9wIG9uIG11bHRpbWVkaWEuIEZpcnN0bHksIHRoZSBzaWduaWZpY2FuY2Ugb2YgdGhlIFByb21vdGlvbiBWaWRlbyB3YXMgZWx1Y2lkYXRlZCwgYW5kIHRoZSBwYXJhbW91bnQgaW1wb3J0YW5jZSBvZiB0aGUgZ2VuZXJhbCBleHRlcm5hbCByZXByZXNlbnRhdGlvbiB3YXMgY2xhcmlmaWVkLiBRdWVzdGlvbnMgYW5kIHRyaWNrcyBwcm92aWRlZCB0aGUgcGFydGljaXBhbnRzIGEgYmFzaXMgZm9yIGZpbmRpbmcgaWRlYXMgZm9yIHRoZWlyIHZpZGVvcywgd2hpY2ggd2VyZSBjb21iaW5lZCB3aXRoIHN0b3J5IGFuZCBtb29kIGJvYXJkcyBhbmQgdGhlIHJlYXNvbmFibGUgdXNlIG9mIEFJLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3dvcmtzaG9wLW11bHRpbWVkaWEtZXhwb3N1cmUtdHJpYW5nbGUud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+QSB3aWRlLXJhbmdpbmcgb3ZlcnZpZXcgb2YgdmFyaW91cyBjYW1lcmEgc2hvdHMsIGxpZ2h0aW5nIHRlY2huaXF1ZXMgYW5kIHRyYW5zaXRpb25zIHdhcyBwcmVzZW50ZWQgdG8gdGhlIHBhcnRpY2lwYW50cywgZXF1aXBwaW5nIHRoZW0gd2l0aCBhIHVzZWZ1bCB0b29sa2l0IGZvciB0aGUgcHJvZHVjdGlvbiBvZiBjaW5lbWF0b2dyYXBoaWMgdmlkZW9zLiBJbGx1c3RyYXRpdmUgZ3JhcGhpY3MsIHN1Y2ggYXMgdGhlIEV4cG9zdXJlIFRyaWFuZ2xlLCBoZWxwZWQgdGhlbSB0byBleHBlcmltZW50IHdpdGggcHJvZmVzc2lvbmFsIGNhbWVyYSBzZXR0aW5ncyBvbiB0aGVpciBtb2JpbGUgcGhvbmVzLiBUaHJvdWdoIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB2b2ljZSB3YXJtLXVwIGV4ZXJjaXNlcywgdGhlIHdvcmtzaG9wIHBhcnRpY2lwYW50cyB3ZXJlIGFibGUgdG8gZ2FpbiBpbnNpZ2h0cyBpbnRvIHRoZSBwcmVwYXJhdGlvbiBvZiB2b2ljZS1vdmVycy4gQW4gaW50cm9kdWN0aW9uIHRvIHZhcmlvdXMgbWljcm9waG9uZXMgYW5kIGF1ZGlvIGVkaXRpbmcgc29mdHdhcmUgZW5hYmxlZCB0aGVtIHRvIGxlYXJuIGhvdyB2b2ljZSByZWNvcmRpbmcgaXMgY29udmVydGVkIHRvIHN0dWRpbyBxdWFsaXR5LjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBwYXJ0aWNpcGFudHMgd2VyZSBhYmxlIHRvIGdhaW4gdmFsdWFibGUgcHJhY3RpY2FsIGluc2lnaHRzIGludG8gdGhlIHdvcmxkIG9mIG11bHRpbWVkaWEgYW5kIHRodXMgcHJlcGFyZSB0aGVtc2VsdmVzIHRvIHByb2R1Y2UgYnJlYXRodGFraW5nIHZpZGVvcy4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvd29ya3Nob3AtbXVsdGltZWRpYTIud2VicFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgICAgIDwvVGltZWxpbmVJdGVtUGljPlxuICAgICAgICAgICAgICAgIDxQYW5lbFRpbWVsaW5lSXRlbT48L1BhbmVsVGltZWxpbmVJdGVtPlxuIFxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL21pZGRlbmRvcmYuanBlZ1wiXG4gICAgICAgICAgICAgICAgZGF0ZT0naUdFTWVyIFRlZCBUYWxrcydcbiAgICAgICAgICAgICAgICB0YWc9ICdUYWxrcycgXG4gICAgICAgICAgICAgICAgY29sb3I9J3ZhcigtLWxpZ2h0Ymx1ZSknXG4gICAgICAgICAgICAgICAgaGVhZGluZz1cIlNlY3JldHMgdG8gYXdhcmQtd2lubmluZyBiaW9pbmZvcm1hdGljcyB0b29sc1wiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHIsIHNlZCBkaWFtIG5vbnVteSBlaXJtb2QgdGVtcG9yIGludmlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0IGFjY3VzYW0gZXRcIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJMYXNzZVwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJNaWRkZW5kb3JmXCJcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJ0ZWR0YWxrMVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwidGVkdGFsazFcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5MYXNzZVx1MjAxOXMgVGVkIHRhbGsgd2FzIGFsbCBhYm91dCBob3cgdG8gY3JlYXRlIGdvb2QgYmlvaW5mb3JtYXRpY3Mgc29mdHdhcmUuIEhlIGhpbXNlbGYgd2FzIHBhcnQgb2YgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRyeSBsYWIgaW4gaUdFTSBNXHUwMEZDbnN0ZXJcdTIwMTlzIFRlYW0gdGhhdCB3b24gdGhlIGJlc3Qgc29mdHdhcmUgc3BlY2lhbCBwcml6ZSBpbiAyMDIyLiBUaGUgdG9vbCB0aGV5IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQgYWxsb3dlZCB1c2VycyB0byBnZW5lcmF0ZSBrbm9ja291dCBjYW5kaWRhdGVzIGZvciBhbiBvcmdhbmlzbSBvZiB0aGVpciBjaG9pY2UgdGhhdCB3b3VsZCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWFkIHRvIHJlZGlyZWN0aW9uIG9mIG1ldGFib2xpYyBmbHV4IHRvIGEgcmVhY3Rpb24gY2hvc2VuIGJ5IHRoZSB1c2VyLiBXZSBsZWFybmVkIHRoYXQgdGhlIG1vc3QgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wb3J0YW50IGF0dHJpYnV0ZXMgZm9yIGEgc3VjY2Vzc2Z1bCBiaW9pbmZvcm1hdGljcyBzb2Z0d2FyZSBhcmU6IDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+VXNlZnVsbmVzcyA8L2I+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+QWNjZXNzaWJpbGl0eTwvYj48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5CdWlsZCB1cG9uIGV4aXN0aW5nIHN0YW5kYXJkcyAgPC9iPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VG8gZW5zdXJlIHVzZWZ1bG5lc3MsIHRoZSBzb2Z0d2FyZSBzaG91bGQgYmUgZ2VuZXJhbGl6ZWQgYW5kIG5vdCBvbmx5IHVzYWJsZSBpbiB0aGUgY29udGV4dCBvZiBvbmVcdTIwMTlzIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG93biBwcm9qZWN0LiBBbHNvLCBhbGwgc3RlcHMgdGhhdCBjYW4gYmUgYXV0b21hdGVkIHNob3VsZCBiZSBhdXRvbWF0ZWQuIEFjY2Vzc2liaWxpdHksIExhc3NlIHNhaWQsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzIGZvciB0aGUgc29mdHdhcmUgdG8gYmUgZWFzeSB0byBpbnN0YWxsLCBlYXN5IHRvIHVzZSBhbmQgd2VsbCBkb2N1bWVudGVkLiAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+QXMgYSBmdW5ueSwgYnV0IGFsc28gdmVyeSBmaXR0aW5nIGFuZWNkb3RlLCBMYXNzZSB0b2xkIHVzIGFib3V0IHRoZSBIVSB0ZXN0LiBGb3IgdGVzdGluZyB0aGVpciBvd24gdG9vbCBmb3IgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eSwgaGUgZ2F2ZSBhIGJpb2luZm9ybWF0aWNhbGx5IHVuZXhwZXJpZW5jZWQsIDxiPmg8L2I+dW5nb3ZlciA8Yj51PC9iPm5kZXJncmFkdWF0ZSBzdHVkZW50IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGhpbmcgYnV0IHRoZSBzb2Z0d2FyZSB3aXRoIHRoZSBwcm92aWRlZCBkb2N1bWVudGF0aW9uLiBJZiB0aGUgc3R1ZGVudCBjYW4gdXNlIHRoZSB0b29sIGluIGEgcmVhc29uYWJsZSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbW91bnQgdGltZSwgdGhhdCB3b3VsZCBtYWtlIGl0IGFjY2Vzc2libGUgZW5vdWdoIGZvciBldmVyeW9uZS4gRnVydGhlcm1vcmUsIExhc3NlIGFsc28gcmVjb21tZW5kZWQgbWFraW5nIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgY29tbWFuZCBsaW5lIHRvb2wgZm9yIGJldHRlciBhdmFpbGFiaWxpdHkgb3ZlciB0aW1lIGFuZCBpbnRlZ3JhdGlvbiBpbnRvIG90aGVyIHdvcmtmbG93cy4gTGFzdGx5LCB0aGUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc29mdHdhcmUgc2hvdWxkIHVzZSBzdGFuZGFyZCBkYXRhIGZpbGVzIGxpa2UgQ1NWLCBGYXN0YSBldGMuIGFuZCBiZSB3cml0dGVuIGluIGNvbW1vbmx5IHVzZWQgcHJvZ3JhbW1pbmcgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2VzIGxpa2UgUHl0aG9uLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5PdmVyYWxsLCBMYXNzZSBnYXZlIGEgZ3JlYXQgaW5zaWdodCBpbnRvIHRoZSBwcm9wZXJ0aWVzIG9mIGEgc3BlY2lhbCBwcmljZSB3aW5uaW5nIHNvZnR3YXJlIHRvb2wgYW5kIHZlcnkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJhY3RpY2FsbHkgZXhwbGFpbmVkIGhvdyB0aGVzZSBjYW4gYmUgdGVzdGVkIGFuZCBhY2hpZXZlZCwgaW5mb3JtYXRpb24gdGhhdCBpcyBpbnZhbHVhYmxlIGZvciB1cyB3aGVuIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0aW5nIG91ciBvd24gYmlvaW5mb3JtYXRpY3MgdG9vbC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgICAgIDwvVGltZWxpbmVJdGVtUGljPlxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL21lcmVsdmFuZGVuYm9zY2guanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdpR0VNZXIgVGVkIFRhbGtzJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RhbGtzJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1saWdodGJsdWUpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInRlZHRhbGsyXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiTWVyZWxcIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwidmFuIGRlciBCb3NjaFwiXG4gICAgICAgICAgICAgICAgaGVhZGluZz1cIkhvdyB0byBDcmVhdGUgdGhlIFBlcmZlY3QgUGFydCBDaGFyYWN0ZXJpemF0aW9uXCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiRGlzY292ZXIgdGhlIHNlY3JldHMgdG8gd2lubmluZyBpR0VNJ3MgQ29tcG9zaXRlIGFuZCBOZXcgQmFzaWMgUGFydCBhd2FyZHMgd2l0aCBpbnNpZ2h0cyBmcm9tIE1lcmVsIHZhbiBkZW4gQm9zY2guIExlYXJuIGhvdyB0byBkZXNpZ24gc2ltcGxlIHlldCBpbXBhY3RmdWwgZXhwZXJpbWVudHMsIGVtcGhhc2l6ZSBpbm5vdmF0aW9uLCBhbmQgZWZmZWN0aXZlbHkgc2hvd2Nhc2UgeW91ciBwYXJ0J3MgcG90ZW50aWFsLlwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRlZHRhbGsyXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+TWVyZWwgcHJvdmlkZWQgdXMgd2l0aCBzdHJhdGVnaWVzIGJhc2VkIG9uIGhlciBjRUxQcm8gcHJvamVjdCBhdCBUVSBFaW5kaG92ZW4gb24gaG93IHRvIGFwcHJvYWNoIHdpbm5pbmcgdGhlIHNwZWNpYWwgYXdhcmRzIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBDb21wb3NpdGUgUGFydCBhbmQgTmV3IEJhc2ljIFBhcnQuIEhlciB0ZWFtIHdvbiB0aGUgPGEgaHJlZj1cImh0dHBzOi8vMjAyMy5pZ2VtLndpa2kvdHUtZWluZGhvdmVuL2F3YXJkc1wiPkNvbXBvc2l0ZSBQYXJ0IFByaXplIGFuZCB0aGUgVGhlcmFwZXV0aWMgUHJpemU8L2E+IGF0IHRoZSAyMDIzIGlHRU0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGV0aXRpb24uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIHByZXNlbnRpbmcgaGVyIHRlYW0ncyBwcm9qZWN0LCBNZXJlbCBpbnNwaXJlZCB1cyB3aXRoIHdheXMgd2UgY291bGQgYWxzbyBhY2hpZXZlIHRoaXMgYXdhcmQuIFdlIGxlYXJuZWQgZGlmZmVyZW50IGNvbnNpZGVyYXRpb25zIHRvIG1ha2UsIHdoZW4gaXQgY29tZXMgdG8gcGFydCBjaGFyYWN0ZXJpemF0aW9uOiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+SG93IHRvIGVtcGhhc2l6ZSB0aGUgaW5ub3ZhdGl2ZW5lc3Mgb2YgdGhlIHByb2plY3Q8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Ib3cgdG8gaGlnaGxpZ2h0IHRoZSBwYXJ0cyBwb3RlbnRpYWwgYmVuZWZpdHMgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+SG93IHRvIGRpc2N1c3Mgd2hldGhlciB0aGVzZSBwYXJ0cyBjb3VsZCBiZSBhcHBsaWVkIHRvIG90aGVyIHByb2plY3RzPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIE1hbnkgcHJvamVjdHMgZmFpbCBiZWNhdXNlIHRoZSBleHBlcmltZW50cyBjb25kdWN0ZWQgYXJlIHRvbyBjb21wbGV4LiBUaGVyZWZvcmUsIE1lcmVsIGVuY291cmFnZWQgdXMgdG8gaW5pdGlhbGx5IGNhcnJ5IG91dCBzaW1wbGVyIGV4cGVyaW1lbnRzIGZvciBvdXIgcHJvamVjdHMsIGxpa2UgcEggc2Vuc2l0aXZpdHkgYW5kIHRlbXBlcmF0dXJlIHJlc3BvbnNlLiBPcGVuaW5nIHRoZSBtaW5kc2V0IGZvciBvdGhlciBtYXliZSBtb3JlIHByYWdtYXRpYyBleHBlcmltZW50cyBjb3VsZCBjaGFuZ2UgdGhlIGZvY3VzIG9mIHRoZSBwcm9qZWN0IGFuZCBkcml2ZSB0aGUgZW5naW5lZXJpbmcgY3ljbGUuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3RlZC10YWxrLWNwL3RlZC10YWxrLWNwLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBBZGRpdGlvbmFsbHksIHNoZSBzaG93ZWQgdXMgd2hhdCBhIHBlcmZlY3Qgc3VibWlzc2lvbiBmb3IgTmV3IEJhc2ljIFBhcnQgb3IgQ29tcG9zaXRlIFBhcnQgbG9va3MgbGlrZS4gVGhlIEJlc3QgUGFydCBSZWdpc3RyeSBkZW1vbnN0cmF0ZXMgZ3JlYXQgc2lnbmlmaWNhbmNlIGFuZCBzaG91bGQgYmUgZmlsbGVkIHdpdGggZGlmZmVyZW50IHJlc3VsdHMgYW5kIHJlcHJlc2VudGF0aXZlIGFuYWx5c2VzIHRvIGNoYXJhY3Rlcml6ZSB0aGUgcGFydHMuIENvbmR1Y3RpbmcgZXhwZXJpbWVudHMgZm9yIGNoYXJhY3Rlcml6YXRpb24gYW5kIGdvb2QgZG9jdW1lbnRhdGlvbiBhcmUganVzdCB0d28gYXNwZWN0cy4gVGhlIG1vc3QgY3J1Y2lhbCBwYXJ0IGlzIHRoZSBkZW1vbnN0cmF0aW9uIG9mIHRoZSBwYXJ0XHUyMDE5cyBmdW5jdGlvbnMgYXMgaW50ZW5kZWQuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBXZSBsZWFybmVkIHdoYXQgZWZmZWN0aXZlIHN0cmF0ZWdpZXMgZm9yIHRoZSBzcGVjaWFsIGF3YXJkcyBDb21wb3NpdGUgUGFydCBhbmQgTmV3IEJhc2ljIFBhcnQgbWlnaHQgbG9vayBsaWtlLCBhbmQgd2VyZSBwcm92aWRlZCB3aXRoIG1hbnkgaGVscGZ1bCB0aXBzIGFuZCB0cmlja3Mgb24gaG93IHNpbXBsZSBleHBlcmltZW50cyBmb3IgY2hhcmFjdGVyaXphdGlvbiBjb3VsZCBiZSBkZXNpZ25lZC4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW1QaWM+XG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVBpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvdmFzcXVldC5qcGdcIlxuICAgICAgICAgICAgICAgIGRhdGU9J0ZpcnN0IFNjaWVuY2UgU2xhbSdcbiAgICAgICAgICAgICAgICB0YWc9ICdUYWxrcydcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tbGlnaHRibHVlKSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJzbGFtMVwiXG4gICAgICAgICAgICAgICAgaGVhZGluZz1cIkNoYXRHUFQgYW5kIExhcmdlIExhbmd1YWdlIE1vZGVsc1wiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJWYXF1ZXRcIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJKb25hc1wiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkF0IHRoaXMgeWVhcidzIEJGSCBNZWV0dXAsIGV4cGVyaWVuY2VkIHNsYW1tZXJzIGFuZCBGYW1lTGFiIHBhcnRpY2lwYW50cyB3ZXJlIG9uY2UgYWdhaW4gYWJsZSB0byB0YWtlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHRoZSBzdGFnZSBhbmQgcHJlc2VudCB0aGVpciBzY2llbnRpZmljIHRvcGljIGFzIHNpbXBseSBhcyBwb3NzaWJsZSBpbiA1IG1pbnV0ZXMuIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2xhbTFcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgIDxwPldpdGggSm9uYXMgVmFxdWV0LCBhIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2VhcmNoIGFzc29jaWF0ZSBvZiB0aGUgRVUgcHJvamVjdCA8YSBocmVmPVwiaHR0cHM6Ly93YXRlcmZ1dHVyZXMuZXUvcHJvamVjdC9cIj5FUkMgV2F0ZXJmdXR1cmVzPC9hPiwgdGhlIGF1ZGllbmNlIGV4cGxvcmVkIExhcmdlIExhbmd1YWdlIE1vZGVscyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTExNcykgc3VjaCBhcyBDaGF0R1BULiBUaGUgc3BlYWtlciBodW1vcm91c2x5IGVuZ2FnZWQgdGhlIGNyb3dkLCBhc2tpbmcgd2hvIGhhZCB1c2VkIHN1Y2ggbW9kZWxzLCBhbmQgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVhcmx5IGFsbCBoYW5kcyB3ZXJlIHJhaXNlZCBpbiByZXNwb25zZS4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHNwZWFrZXIgaW50cm9kdWNlZCBDaGF0R1BULCBhIFwiR2VuZXJhdGl2ZSBQcmUtdHJhaW5lZCBUcmFuc2Zvcm1lcixcIiB1c2luZyBhbiBpbnRlcmFjdGl2ZSBleHBlcmltZW50IHdoZXJlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBhdWRpZW5jZSBwcmVkaWN0ZWQgdGhlIG5leHQgd29yZHMgaW4gc2VudGVuY2VzLCBzaG93aW5nIGhvdyB0aGUgbW9kZWwgd29ya3Mgd2l0aCBwcmUtdHJhaW5lZCBkYXRhIGFuZCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGVzIHRleHQgY29udGludWF0aW9ucy4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2hpbGUgaXQgaXMgZmFpciB0byBzYXkgdGhhdCBDaGF0R1BUIGlzIGEgcG93ZXJmdWwgYW5kIGhlbHBmdWwgdG9vbCwgaXQgaXMgaW1wb3J0YW50IHRvIGZvY3VzIG9uIHRoZSBwb3RlbnRpYWwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFuZ2VycyBhbmQgY2hhbGxlbmdlcyBpdCBicmluZ3MsIHdoaWNoIEpvbmFzIHN1bW1hcml6ZXMgaW4gdGhyZWUga2V5IGZhY3RvcnMgaW4gaGlzIHRhbGs6IDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+UGxhZ2lhcmlzbSBSaXNrczo8L2I+IFRoZSBzcGVha2VyIGRlbW9uc3RyYXRlZCBob3cgZWFzeSBpdCBpcyB0byB1bmludGVudGlvbmFsbHkgcmVwbGljYXRlIGV4aXN0aW5nIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtzLCB1c2luZyBhIEhhcnJ5IFBvdHRlciBleGFtcGxlIHRvIGlsbHVzdHJhdGUgcGxhZ2lhcmlzbSByaXNrcyBpbiBjcmVhdGl2ZSB3cml0aW5nLjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkhhbGx1Y2luYXRpb25zOjwvYj4gTGFuZ3VhZ2UgbW9kZWxzIGNhbiBnZW5lcmF0ZSBwbGF1c2libGUgYnV0IGluY29ycmVjdCBpbmZvcm1hdGlvbiwgZXhlbXBsaWZpZWQgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgYSBmaWN0aXRpb3VzIENWIHdpdGggaW52ZW50ZWQgZ3JhZGVzLCBoaWdobGlnaHRpbmcgcmlza3MgaW4gYWNhZGVtaWMgYW5kIHByb2Zlc3Npb25hbCB1c2UuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+TGFjayBvZiBPcGluaW9uIEZvcm1hdGlvbjo8L2I+IENoYXRHUFQgZG9lcyBub3QgZm9ybSByZWFsIG9waW5pb25zLCBsZWFkaW5nIHRvIGluY29uc2lzdGVudCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJzIHdoZW4gYXNrZWQgZm9yIHByZWZlcmVuY2VzLjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+QWx0aG91Z2ggbGFyZ2UgbGFuZ3VhZ2UgbW9kZWxzIChMTE1zKSBhcmUgdHJhaW5lZCB3aXRoIGV4dGVuc2l2ZSBjb2xsZWN0aW9uIG9mIHRleHRzIG9yIHNwb2tlbiBsYW5ndWFnZSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhleSBvZnRlbiBmYWlsIGluIHRoZSBhY2N1cmFjeSByZXF1aXJlZCBmb3Igc2NpZW50aWZpYyB0b3BpY3MuIFNvdXJjZXMgYXJlIHNlZW1pbmdseSBjb25qdXJlZCBvdXQgb2YgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpbiBhaXIgYW5kIGNsYWltcyB2YW5pc2ggaW50byB0aGluIGFpciBiZWNhdXNlIHRoZWlyIGFuc3dlcnMgYXJlIGJhc2VkIG9uIHN0YXRpc3RpY2FsIHByb2JhYmlsaXRpZXMsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlYWRpbmcgdG8gY29uZnVzaW9uLCBlc3BlY2lhbGx5IGZvciBuaWNoZSBxdWVzdGlvbnMuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkpvbmFzIGVuZGVkIGhpcyB0YWxrIGJ5IGdpdmluZyB0aGUgYXVkaWVuY2UgZm9vZCBmb3IgdGhvdWdodC4gSGUgcmVtaW5kZWQgZXZlcnlvbmUgd2hvIGhhZCBlYWdlcmx5IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlZCB0aGVpciBoYW5kcyBhdCB0aGUgYmVnaW5uaW5nIHRvIGFsd2F5cyBkb3VibGUtY2hlY2sgQ2hhdEdQVCdzIGluZm9ybWF0aW9uLCBlc3BlY2lhbGx5IGluIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjYWRlbWljIGFuZCBwcm9mZXNzaW9uYWwgc2V0dGluZ3MuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPldpdGggaGlzIGludGVyYWN0aXZlIGFuZCBodW1vcm91cyBhcHByb2FjaCwgSm9uYXMgdHVybmVkIHRoZSBjb21wbGV4IHdvcmxkIG9mIExMTXMgaW50byBhbiBlbmdhZ2luZyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgYWNjZXNzaWJsZSBhZHZlbnR1cmUsIG9mZmVyaW5nIGRlZXAgaW5zaWdodHMgaW50byB0aGUgd29ya2luZ3MgYW5kIGlkaW9zeW5jcmFzaWVzIG9mIHRoaXMgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFzY2luYXRpbmcgdGVjaG5vbG9neS4gPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgICAgIDwvVGltZWxpbmVJdGVtUGljPlxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL25pa2xhcy1ibG9lYmF1bS5qcGVnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdTZWNvbmQgU2NpZW5jZSBTbGFtJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RhbGtzJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1saWdodGJsdWUpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInNsYW0yXCJcbiAgICAgICAgICAgICAgICBoZWFkaW5nPVwiTWljcm9hbGdhZSBmb3IgU3VzdGFpbmFibGUgRm9vZCBQcm9kdWN0aW9uIFwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIk5pa2xhcywgYSBiaW90ZWNobm9sb2dpc3QgYW5kIFBoRCBzdHVkZW50IGF0IHRoZSBGYWN1bHR5IG9mIEVuZ2luZWVyaW5nIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LCB1c2VkIGhpcyBleHBlcmllbmNlIGZyb20gcHJldmlvdXMgc2NpZW5jZSBzbGFtcyBhbmQgaGlzIHBhcnRpY2lwYXRpb24gaW4gYSBwcmV2aW91cyBpR0VNIGNvbXBldGl0aW9uIHRvIHByZXNlbnQgbWljcm9hbGdhZSBpbiBhIG5ldyBsaWdodC5cIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJOaWtsYXNcIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwiQmxvZWJhdW1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInNsYW0yXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2l0aCBpbnNpZ2h0cyBpbnRvIGhpcyBjdXJyZW50IHJlc2VhcmNoLCBOaWtsYXMgaW50cm9kdWNlZCB0aGUgYXVkaWVuY2UgdG8gdGhlIGlubm92YXRpdmUgdXNlcyBvZiBjaGxvcmVsbGEgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHN1c3RhaW5hYmxlIGZvb2QgcHJvZHVjdGlvbi4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHN0YXIgb2YgdGhlIHNob3cgd2FzIHRoZSBzbWFsbGVzdCB2ZWdldGFibGUgaW4gdGhlIHdvcmxkIENobG9yZWxsYSBpcyB0aW55ICg0IHRvIDEyIG1pY3JvbnMpIGJ1dCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ5IHJpY2ggaW4gbnV0cmllbnRzOiA0NS02NSUgcHJvdGVpbiwgMTAtMjAlIGZhdCwgMTAtMjAlIGNhcmJvaHlkcmF0ZXMsIDUlIGZpYmVyIGFuZCB2YXJpb3VzIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpdGFtaW5zIGFuZCBtaW5lcmFscywgaW5jbHVkaW5nIHZpdGFtaW4gQjEyLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5OaWNob2xhcyBwcmVzZW50ZWQgdHdvIHByb2R1Y3Rpb24gbWV0aG9kczogPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5vcGVuIHBvbmQgc3lzdGVtczo8L2I+dGhlc2UgdXRpbGl6ZSBsaWdodCwgQ09cdTIwODIgYW5kIHdhdGVyIGZvciBwaG90b3N5bnRoZXNpcywgYnV0IGhhdmUgdGhlIHByb2JsZW0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIGF2YWlsYWJpbGl0eSBvZiBsaWdodCBhbmQgd2F0ZXIuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+YmlvcmVhY3RvcnM6PC9iPm1vZGVybiwgY29udHJvbGxlZCwgc3RlcmlsZSBlbnZpcm9ubWVudHMgdGhhdCB1dGlsaXplIHN1Z2FyIGFzIGFuIGVuZXJneSBzb3VyY2UsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25pZmljYW50bHkgaW5jcmVhc2UgcHJvZHVjdGl2aXR5IGFuZCByZWR1Y2Ugd2F0ZXIgY29uc3VtcHRpb24uPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5CaW9yZWFjdG9ycyBhcmUgdXAgdG8gMTAwIHRpbWVzIG1vcmUgcHJvZHVjdGl2ZSBhbmQgdXNlIDEwMCB0aW1lcyBsZXNzIHdhdGVyIHRoYW4gY29udmVudGlvbmFsIG1ldGhvZHMuIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdW5kcyBwZXJmZWN0LCByaWdodD8gQnV0IE5pY2hvbGFzIGhhZCB0byBidXJzdCB0aGUgYnViYmxlIGFuZCBtYWtlIGl0IGNsZWFyIHRoYXQgdGhlIHRlY2hub2xvZ3kgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RpbGwgbmVlZHMgdG8gYmUgZGV2ZWxvcGVkIGZ1cnRoZXIuICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5JbiB0ZXJtcyBvZiBzdXN0YWluYWJpbGl0eSwgTmljaG9sYXMgaGFkIHRvIGVtcGhhc2l6ZSB0aGF0IHRoZSB3aG9sZSBwcm9jZXNzIG9mIG1pY3JvYWxnYWUgcHJvZHVjdGlvbiBuZWVkcyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSBxdWVzdGlvbmVkLiBIZSBub3RlZCB0aGF0IHRoZSBjdXJyZW50IGNhcmJvbiBmb290cHJpbnQgY2FsY3VsYXRpb25zIGZvciBiaW9yZWFjdG9ycyBhcmUgb3V0ZGF0ZWQuIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1dCBmZWFyIG5vdCwgb3VyIGJyYXZlIGJpb3RlY2hub2xvZ2lzdCBpcyBvbiBhIG1pc3Npb24gdG8gYnJpbmcgdGhlc2UgZmlndXJlcyB1cCB0byBkYXRlIHdpdGggaGlzIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VuZGJyZWFraW5nIHJlc2VhcmNoISA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgY3VyaW91cyBhdWRpZW5jZSBhc2tlZCBxdWVzdGlvbnMgYWJvdXQgc2NhbGFiaWxpdHksIGNvc3RzIGFuZCBzdXN0YWluYWJsZSBzdWdhciBzb3VyY2VzLiBBbHdheXMgdXAgZm9yIGEgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbGxlbmdlLCBOaWNob2xhcyBleHBsYWluZWQgdGhhdCB0aGUgY3VycmVudCBoaWdoIGNvc3RzIGNvdWxkIGJlIGFkZHJlc3NlZCBieSBpbXByb3ZpbmcgdGhlIHByb2R1Y3Rpdml0eSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiB0aGUgYmlvcmVhY3RvcnMhIEhvd2V2ZXIsIGhlIGFsc28gZW1waGFzaXplZCB0aGF0IGZ1cnRoZXIgcmVzZWFyY2ggaXMgbmVlZGVkIHRvIGZpbmQgYSBzdXN0YWluYWJsZSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2Ugb2Ygc3VnYXIuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkluIGhpcyBncmFuZCBmaW5hbGUsIE5pY2hvbGFzIHByZXNlbnRlZCB0aHJlZSB3aXNlIGluc2lnaHRzOiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPmJpb3RlY2hub2xvZ3k8L2I+IGdvZXMgZmFyIGJleW9uZCBtZWRpY2luZSBhbmQgb3BlbnMgdGhlIGRvb3JzIGZvciBzdXN0YWluYWJsZSBmb29kIHByb2R1Y3Rpb24uPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+c3VzdGFpbmFiaWxpdHkgPC9iPiBhc3Nlc3NtZW50cyBtdXN0IGNvbnNpZGVyIHRoZSBlbnRpcmUgcHJvZHVjdGlvbiBwcm9jZXNzIC0gbm8gZGV0YWlsIHNob3VsZCBiZSBvdmVybG9va2VkITwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPmNobG9yZWxsYTwvYj4sIHRoZSB0aW55LCBudXRyaWVudC1yaWNoIG1pY3JvYWxnYWUsIGhhcyB0aGUgcG90ZW50aWFsIHRvIGJlIGEgaGVybyBpbiBvdXIgZnV0dXJlIGRpZXQuIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+TmljaG9sYXMgY2FwdGl2YXRlZCB0aGUgYXVkaWVuY2Ugd2l0aCBoaXMgdml2aWQgYW5kIGV5ZS1vcGVuaW5nIHByZXNlbnRhdGlvbi4gSGUgZ3VpZGVkIHRoZW0gdGhyb3VnaCB0aGUgZmFzY2luYXRpbmcgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHNvbWV0aW1lcyB0dXJidWxlbnQgd29ybGQgb2YgbWljcm9hbGdhZSBwcm9kdWN0aW9uLCBoaWdobGlnaHRpbmcgdGhlIGNoYWxsZW5nZXMgYW5kIG9wcG9ydHVuaXRpZXMgb2YgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyB0ZWNobm9sb2d5LiBUaGUgYXVkaWVuY2Ugd2FzIG5vdCBvbmx5IGluZm9ybWVkIGJ1dCBhbHNvIGVudGVydGFpbmVkIGFuZCByZWFkeSB0byBlbWJyYWNlIHRoZSBmdXR1cmUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Ygc3VzdGFpbmFibGUgbnV0cml0aW9uIHdpdGggY2hsb3JlbGxhIGFzIHRoZWlyIGxpdHRsZSBncmVlbiBoZXJvLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW1QaWM+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3RpbWVsaW5lLWVuZCc+XG4gICAgICAgICAgICAgICAgICAgIEF3YXJkIENlcmVtb255XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPC8+XG4gICAgICAgIClcbiAgICBcbn0iLCAiaW1wb3J0IHsgQnV0dG9uT25lLCBEb3dubG9hZExpbmsgfSBmcm9tIFwiLi9CdXR0b25zXCJcblxuXG5leHBvcnQgZnVuY3Rpb24gUERGKHtsaW5rLCBuYW1lfToge2xpbms6IHN0cmluZywgbmFtZTpzdHJpbmd9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdhbGlnbi1pdGVtcy1jZW50ZXInPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImlmcmFtZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxpZnJhbWUgc3JjPXtsaW5rfSAgdGl0bGU9XCJ0aXRsZVwiIGNsYXNzTmFtZT0nb25lLXBkZi1saW5lIHNtYWxsLWknPlxuICAgICAgICAgICAgPC9pZnJhbWU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JvdyBkb3dubG9hZC1jb2wnPlxuICAgICAgICAgICAgPERvd25sb2FkTGluayB1cmw9e2xpbmt9IGZpbGVOYW1lPXtuYW1lfSA+PC9Eb3dubG9hZExpbms+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgXG4gICAgICAgICAgIFxuICAgIClcbn1cbmV4cG9ydCBmdW5jdGlvbiBUd29MaW5lUERGKHtsaW5rLCBuYW1lfToge2xpbms6IHN0cmluZywgbmFtZTpzdHJpbmd9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICA8aWZyYW1lIHNyYz17bGlua30gd2lkdGg9XCIxMDAlXCIgdGl0bGU9XCJ0aXRsZVwiIGNsYXNzTmFtZT0ndHdvLXBkZi1saW5lIHNtYWxsLWknPlxuICAgICAgICAgICAgICAgIDwvaWZyYW1lPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgZG93bmxvYWQtY29sJz5cbiAgICAgICAgICAgICAgICA8RG93bmxvYWRMaW5rIHVybD17bGlua30gZmlsZU5hbWU9e25hbWV9ID48L0Rvd25sb2FkTGluaz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgIClcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEJGSHBkZigpe1xuICAgIHJldHVybihcbiAgICA8PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT17e21hcmdpblRvcDogXCI1dmhcIiwgbWFyZ2luQm90dG9tOiBcIjV2aFwifX0+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIkZseWVyc1wiIG9wZW49XCJmbHllcnNcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiUHJlc2VudGF0aW9uc1wiIG9wZW49XCJwcmVzaXNcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiSnVkZ2luZyBGb3JtXCIgb3Blbj1cImZvcm1cIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+IFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBjeWNsZXRhYlwiIGlkPVwiZmx5ZXJzXCIgc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sICAnPlxuICAgICAgICAgICAgICAgIDxUd29MaW5lUERGIGxpbms9J2h0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvYmZoLWZseWVyLWV1cm9wZWFuLW1lZXR1cC5wZGYnIG5hbWU9XCJiZmgtZmx5ZXItZXVyb3BlYW4tbWVldHVwLnBkZlwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nc2VwZXJhdG9yLTIgY29sLTInPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wgICc+XG4gICAgICAgICAgICAgICAgPFR3b0xpbmVQREYgbGluaz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9wb3N0YmZoLWJyb3NjaC1yZS1jb21wcmVzc2VkLnBkZicgbmFtZT1cImJmaC1tZWV0LXVwLWd1aWRlbGluZS5wZGZcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGN5Y2xldGFiXCIgaWQ9XCJwcmVzaXNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgIDxUd29MaW5lUERGIGxpbms9J2h0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvYmZoLXByZXNlbnRhdGlvbi1iaWVsZWZlbGQucGRmJyBuYW1lPVwiYmZoLWZseWVyLWV1cm9wZWFuLW1lZXR1cC5wZGZcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3NlcGVyYXRvci0yIGNvbC0yJz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgPFR3b0xpbmVQREYgbGluaz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9iZmgtc3R1ZGljb20tcHJlc2VudGF0aW9uLnBkZicgbmFtZT1cImJmaC1mbHllci1ldXJvcGVhbi1tZWV0dXAucGRmXCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2Plxuey8qICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgPFBERiBsaW5rPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL2JmaC1wb3N0ZXItYmllbGVmZWxkLnBkZicgbmFtZT1cImJmaC1tZWV0LXVwLWd1aWRlbGluZS5wZGZcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+ICovfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBjeWNsZXRhYlwiIGlkPVwiZm9ybVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cblxuICAgICAgICA8L2Rpdj5cbiAgICAgICBcbiAgICAgICAgXG4gICAgPC8+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gR3VpZGVQREYoKXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgPFBERiBsaW5rPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL2JmaC1tZWV0LXVwLWd1aWRlbGluZS5wZGYnIG5hbWU9XCJiZmgtbWVldC11cC1ndWlkZWxpbmUucGRmXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgKVxufSIsICIvKiAgKi9cblxuY29uc3QgaW1hZ2VzID0gW1xuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9iYWRnZXMuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2pvZXJuLmpwZWdcIiwgIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvY2hla2luLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zaW5hbi5qcGVnXCIsICB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3BhcnR5LmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9vcmdhdGVhbS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvaGFsbC5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvYnllMS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvdW5pLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90YWxraW5nLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9rcmlzdGlhbi5qcGVnXCIsICB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2FmZmUuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL21hcmdidXJnLmpwZWdcIiwgIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZGlldHouanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3dhZ2VuaW5nZW4uanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2FhY2hlbi5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcG9zdGVyZXhoaWJpdGlvbi1yZWZpYmEuanBnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc29jaWFsaXppbmcxNy5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvYmFkZ2VzLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wb3N0ZXJleGhpYml0aW9uLXRlZGR5LmpwZ1wiLCAgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9jaGVraW4uanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NpbmFuLmpwZWdcIiwgIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc29jaWFsaXppbmcxMS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyfSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvdGVhbXBob3RvczYuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3RlYW1waG90b3MuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3RlYW1waG90b3M1LmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zb2NpYWxpemluZzE5LmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wb3N0ZXJleGhpYml0aW9uLWlzYWJlbGwtZXJrbC1ydC5qcGdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9qLXJuMy5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyfSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvaGFsbC5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyfSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvYWJlbmQtc3Bpa2ViYWxsNS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyfSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvYWJlbmQtaW50ZXJzc2llcnRlLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9vcmdhdGVhbS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyfSxcbl1cblxuXG5cblxuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEJGSEdhbGxlcnkoKXtcbiAgbGV0IHJvd3M6IEpTWC5FbGVtZW50W10gID0gW11cbiAgZm9yICggbGV0IGkgPSAwOyAgaSA8IGltYWdlcy5sZW5ndGg7IGkrKyApe1xuICAgIHJvd3MucHVzaCg8ZGl2PjxpbWcgc3JjPXtpbWFnZXNbaV0uc3JjfS8+PC9kaXY+KSBcbiAgfVxuICAgIHJldHVybiggXG4gICAgICAgIDxkaXYgaWQ9XCJnYWxsZXJ5XCI+XG4gICAgICAgICAge3Jvd3N9XG4gICAgICAgIDwvZGl2PlxuICAgIClcbn1cblxuIiwgImV4cG9ydCBmdW5jdGlvbiBQb3N0ZXIoe3Bvc3Rlcm5hbWUsIHVybH06e3Bvc3Rlcm5hbWU6IHN0cmluZywgdXJsOiBzdHJpbmd9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxhIHR5cGVvZj1cImJ1dHRvblwiIG9uQ2xpY2s9e3JlU2l6ZSh7bmFtZTogcG9zdGVybmFtZX0pfT5cbiAgICAgICAgICA8aW1nIGlkPXtwb3N0ZXJuYW1lfSBjbGFzc05hbWU9XCJwaWN0dXJlLWZyYW1lIG5vcm1cIiBzcmM9e3VybH0gYWx0PXtwb3N0ZXJuYW1lfSAvPlxuICAgICAgICA8L2E+XG4gICAgKVxufVxuZXhwb3J0IGZ1bmN0aW9uIENlcnRpZmljYXRlKHtwb3N0ZXJuYW1lLCB1cmx9Ontwb3N0ZXJuYW1lOiBzdHJpbmcsIHVybDogc3RyaW5nfSl7XG4gIHJldHVybihcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxhIHR5cGVvZj1cImJ1dHRvblwiIG9uQ2xpY2s9e3JlU2l6ZTIoe25hbWU6IHBvc3Rlcm5hbWV9KX0+XG4gICAgICAgICAgPGltZyBpZD17cG9zdGVybmFtZX0gY2xhc3NOYW1lPVwiY2VydC1mcmFtZSBub3JtXCIgc3JjPXt1cmx9IGFsdD17cG9zdGVybmFtZX0gLz5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gIClcbn1cblxuZnVuY3Rpb24gcmVTaXplKHtuYW1lfTp7bmFtZTogc3RyaW5nfSl7XG4gICAgY29uc3QgcmVzaXplID0gIChfZXZlbnQgOiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgPT57XG4gICAgICB2YXIgaW1nOyBcbiAgICAgIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG5hbWUpO1xuICAgICAgaWYgKGltZyEuY2xhc3NOYW1lID09PSBcInBpY3R1cmUtZnJhbWUgbm9ybVwiKXtcbiAgICAgICAgY29uc29sZS5sb2coXCI9PT0gcGljdHVyZS1mcmFtZSBub3JtXCIpXG4gICAgICAgIGltZyEuY2xhc3NOYW1lID0gaW1nIS5jbGFzc05hbWUucmVwbGFjZShcInBpY3R1cmUtZnJhbWUgbm9ybVwiLCBcImZ1bGwtc2NyZWVuLXdpZHRoXCIpO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoaW1nIS5jbGFzc05hbWUgPT09IFwiZnVsbC1zY3JlZW4td2lkdGhcIil7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiPT09IGZ1bGwtc2NyZWVuLXdpZHRoXCIpXG4gICAgICAgIGltZyEuY2xhc3NOYW1lID0gaW1nIS5jbGFzc05hbWUucmVwbGFjZShcImZ1bGwtc2NyZWVuLXdpZHRoXCIsIFwicGljdHVyZS1mcmFtZSBub3JtXCIpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzaXplOyBcbn1cbmZ1bmN0aW9uIHJlU2l6ZTIoe25hbWV9OntuYW1lOiBzdHJpbmd9KXtcbiAgY29uc3QgcmVzaXplID0gIChfZXZlbnQgOiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgPT57XG4gICAgdmFyIGltZzsgXG4gICAgaW1nID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobmFtZSk7XG4gICAgaWYgKGltZyEuY2xhc3NOYW1lID09PSBcImNlcnQtZnJhbWUgbm9ybVwiKXtcbiAgICAgIGNvbnNvbGUubG9nKFwiPT09IGNlcnQtZnJhbWUgbm9ybVwiKVxuICAgICAgaW1nIS5jbGFzc05hbWUgPSBpbWchLmNsYXNzTmFtZS5yZXBsYWNlKFwiY2VydC1mcmFtZSBub3JtXCIsIFwiZnVsbC1zY3JlZW4td2lkdGhcIik7XG4gICAgfVxuICAgIGVsc2UgaWYgKGltZyEuY2xhc3NOYW1lID09PSBcImZ1bGwtc2NyZWVuLXdpZHRoXCIpe1xuICAgICAgY29uc29sZS5sb2coXCI9PT0gZnVsbC1zY3JlZW4td2lkdGhcIilcbiAgICAgIGltZyEuY2xhc3NOYW1lID0gaW1nIS5jbGFzc05hbWUucmVwbGFjZShcImZ1bGwtc2NyZWVuLXdpZHRoXCIsIFwiY2VydC1mcmFtZSBub3JtXCIpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzaXplOyBcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gUG9zdGVyUm93KHtwb3N0ZXJuYW1lMSwgcG9zdGVybmFtZTIsIHVybDEsIHVybDJ9Ontwb3N0ZXJuYW1lMTogc3RyaW5nLCB1cmwxOiBzdHJpbmcsIHBvc3Rlcm5hbWUyOiBzdHJpbmcsIHVybDI6IHN0cmluZ30pe1xuICAgIHJldHVybihcbiAgICAgICAgPD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPFBvc3RlciB1cmw9e3VybDF9IHBvc3Rlcm5hbWU9e3Bvc3Rlcm5hbWUxfSAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxQb3N0ZXIgdXJsPXt1cmwyfSBwb3N0ZXJuYW1lPXtwb3N0ZXJuYW1lMn0gLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz5cbiAgICAgICAgPC8+XG4gICAgKVxufSIsICJcblxuZXhwb3J0IGZ1bmN0aW9uIEJsb2NrUXVvdGUoe3RleHQsIGNpdGV9OiB7dGV4dDogc3RyaW5nOyBjaXRlOiBzdHJpbmd9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2txdW90ZS13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrcXVvdGVcIj5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwiYmxvY2staDJcIj5cbiAgICAgICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwiYmxvY2staDRcIj48ZW0+e2NpdGV9PC9lbT48L2g0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCbG9ja1F1b3RlQih7dGV4dCwgY2l0ZSwgaWR9OiB7dGV4dDogc3RyaW5nOyBjaXRlOiBzdHJpbmcsIGlkPzogc3RyaW5nfSl7XG4gICAgaWYgKGlkKXtcbiAgICAgICAgbGV0IGggPSBcIiNcIiArIHtpZH1cbiAgICAgICAgcmV0dXJuKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9ja3F1b3RlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrcXVvdGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJibG9jay1oMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJibG9jay1oNFwiPjxlbT57Y2l0ZX08L2VtPiA8YSBocmVmPXtofT48c3VwPntpZH08L3N1cD48L2E+PC9oND5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApICBcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgcmV0dXJuKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9ja3F1b3RlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrcXVvdGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0ZXh0fVxuICAgICAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgICAgICA8aDQ+PGVtPntjaXRlfTwvZW0+PC9oND5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKVxuICAgIH1cbiAgICBcbn1cblxuXG4vKiA8c3Bhbj5XaW5zdG9uIENodXJjaGlsbDwvc3Bhbj5cbiAgPGJsb2NrcXVvdGU+XG4gICAgPHA+PGk+JmxkcXVvO1N1Y2Nlc3MgY29uc2lzdHMgb2YgZ29pbmcgZnJvbSBmYWlsdXJlIHRvIGZhaWx1cmUgd2l0aG91dCBsb3NzIG9mIGVudGh1c2lhc20uJnJkcXVvOyA8L2k+PC9wPlxuICA8L2Jsb2NrcXVvdGU+ICovIiwgImltcG9ydCB7IENlcnRpZmljYXRlIH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvcG9zdGVyXCI7XG5pbXBvcnQgeyAgSDQsIEg1IH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IEJsb2NrUXVvdGVCIH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvUXVvdGVzXCI7XG5cbmNvbnN0IGhha2VuID0gPHNwYW4gY2xhc3NOYW1lPVwiYmZoLWhha2VuXCI+IDxiaWc+JiN4MjcxMzs8L2JpZz4gPC9zcGFuPjsgXG4gIFxuXG5leHBvcnQgZnVuY3Rpb24gQWJvdXQoKXtcbiAgcmV0dXJuKFxuICAgIDxkaXY+XG5cbiAgICAgIDxCbG9ja1F1b3RlQiB0ZXh0PVwiVGhpcyB3YXMgdGhlIGJlc3QgbWVldCB1cCBldmVyIGluIHRoZSBoaXN0b3J5IG9mIGlHRU0uIFRoYW5rIHlvdSBzbyBtdWNoIVwiIGNpdGU9XCJOZW1hbmphIFN0aWplcG92aWNcIj48L0Jsb2NrUXVvdGVCPlxuICAgICAgPEg0IGlkPVwiXCIgdGV4dD1cIkludHJvZHVjdGlvblwiLz5cbiAgICAgIDxwPlRoaXMgeWVhciwgd2UgaG9zdGVkIHRoZSBmaXJzdCBCRkggRXVyb3BlYW4gTWVldC1VcCBldmVyLiBPdmVyIHRoZSBjb3Vyc2Ugb2YgdGhyZWUgZnVsbCBkYXlzLCB3ZSBlbWJhcmtlZCBvbiBhIGpvdXJuZXkgd2hlcmUgbWluZHMgbWV0IGFuZCBpZGVhcyBpZ25pdGVkLiBPdXIgbWlzc2lvbjogPC9wPlxuICAgICAgPHAgY2xhc3NOYW1lPVwiYmZoLW1vdHRvXCI+PGI+SWduaXRlLiBJbm5vdmF0ZS4gSW5zcGlyZS48L2I+PC9wPlxuICAgICAgPHA+VGhpcyBldmVudCB3YXMgZGVzaWduZWQgdG8gdW5pdGUgdGhlIGJyaWdodGVzdCBtaW5kcyBmcm9tIGFjcm9zcyBFdXJvcGUgYW5kIGJleW9uZCwgcHJvdmlkaW5nIGEgcGxhdGZvcm0gZm9yIHNoYXJpbmcgZ3JvdW5kYnJlYWtpbmcgaWRlYXMgYW5kIGZvc3RlcmluZyBpbnRlcm5hdGlvbmFsIGNvbm5lY3Rpb25zIGR1cmluZyB0aGUgZWFybHkgc3RhZ2VzIG9mIHRoZSBpR0VNIGNvbXBldGl0aW9uLiA8L3A+XG4gICAgICA8SDQgdGV4dD1cIkFib3V0IE91ciBDb29wZXJhdGlvblwiLz5cbiAgICAgIDxwPiBUaGUgY29vcGVyYXRpb24gYmV0d2VlbiBCaWVsZWZlbGQsIEZyYW5rZnVydCwgYW5kIEhhbWJ1cmcgaXMgcm9vdGVkIGluIHRoZSBmcmllbmRzaGlwcyBhbmQgbmV0d29ya3MgZm9ybWVkIGR1cmluZyB0aGUgaUdFTSBjb21wZXRpdGlvbiAyMDIzLiBPdXIgbWlzc2lvbiBpcyB0byBwcm9tb3RlIGZ1dHVyZSBwcm9qZWN0cyBhbmQgYnJpbmcgdGVhbXMgdG9nZXRoZXIuIEJ5IGFsdGVybmF0aW5nIHRoZSBsb2NhdGlvbiBvZiB0aGUgQkZIIEV1cm9wZWFuIE1lZXQtVXAgZWFjaCB5ZWFyLCB3ZSBhaW0gdG8gcHJvdmlkZSBkaXZlcnNlIG5ldHdvcmtpbmcgb3Bwb3J0dW5pdGllcyBhbmQgZm9zdGVyIGEgc3Ryb25nIHNlbnNlIG9mIGNvbW11bml0eSBhbW9uZyBpR0VNIHBhcnRpY2lwYW50cy4gPC9wPlxuICAgICAgPEg0IHRleHQ9XCJIZWFkIG9mIEJGSCBDb21taXR0ZWVcIi8+XG4gICAgICA8SDQgdGV4dD1cIldoYXQgV2VyZSBPdXIgR29hbHM/XCIvPiBcbiAgICAgIDx1bCBjbGFzc05hbWU9XCJoYWtlbi1saXN0ZVwiPlxuICAgICAgICA8bGk+IHtoYWtlbn0gVW5pdGUgaUdFTSB0ZWFtcyBmcm9tIGFjcm9zcyBFdXJvcGUgYW5kIGZvc3RlciBhIHNlbnNlIG9mIGNvbW11bml0eSBhbmQgY29sbGFib3JhdGlvbi4gPC9saT5cbiAgICAgICAgPGxpPiB7aGFrZW59IFByb3ZpZGUgYSBwbGF0Zm9ybSBmb3IgdGVhbXMgdG8gcHJlc2VudCB0aGVpciBwcm9qZWN0cyBhbmQgcmVjZWl2ZSB2YWx1YWJsZSBmZWVkYmFjay4gPC9saT5cbiAgICAgICAgPGxpPiB7aGFrZW59IE9mZmVyIG9wcG9ydHVuaXRpZXMgZm9yIHBhcnRpY2lwYW50cyB0byBidWlsZCB0aGVpciBzY2llbnRpZmljIGFuZCBzb2Z0IHNraWxscyB0aHJvdWdoIHdvcmtzaG9wcyBhbmQgcHJlc2VudGF0aW9ucy4gPC9saT5cbiAgICAgICAgPGxpPiB7aGFrZW59IEVuY291cmFnZSBuZXR3b3JraW5nIGFuZCBzb2NpYWxpemluZyBhbW9uZyBpR0VNIHRlYW1zIHRvIGJ1aWxkIGxhc3RpbmcgcmVsYXRpb25zaGlwcyBhbmQgZXhwYW5kIHNjaWVudGlmaWMgbmV0d29ya3MuIDwvbGk+XG4gICAgICAgIDxsaT4ge2hha2VufSBFbGFib3JhdGUgdGhlaXIgdGVhbSBwcm9qZWN0cyBhbmQgcmVmbGVjdCB0aGVpciBkZWNpc2lvbnMgaW4gZWFybHkgc3RhZ2Ugb2YgdGltZSBpbiBjb29wZXJhdGlvbiB3aXRoIGlHRU0gYWx1bW5pIGFuZCBzY2llbnRpc3QgZnJvbSBhbGwgYXJvdW5kIHRoZSBnbG9iZSA8L2xpPlxuICAgICAgPC91bD5cbiAgICAgIDxINCB0ZXh0PVwiV2hhdCBEaWQgdGhlIFBhcnRpY2lwYW50cyBMZWFybj9cIi8+XG4gICAgICA8dWwgY2xhc3NOYW1lPVwiaGFrZW4tbGlzdGVcIj5cbiAgICAgICAgPGxpPiB7aGFrZW59IEdhaW5lZCBpbnNpZ2h0cyBpbnRvIGN1cnJlbnQgcmVzZWFyY2ggZnJvbSBCaWVsZWZlbGQgVW5pdmVyc2l0eSBhbmQgbmVhcmJ5IGluc3RpdHV0aW9ucyB0aHJvdWdoIFNjaWVudGlmaWMgVGFsa3MuIDwvbGk+XG4gICAgICAgIDxsaT4ge2hha2VufSBMZWFybmVkIGZyb20gb3ZlciAxMCBuYXRpb25hbCBhbmQgaW50ZXJuYXRpb25hbCBzcGVha2VycyBhbmQgZXhwZXJ0cyBmcm9tIGluZHVzdHJ5LCBhY2FkZW1pYSwgYW5kIHRoZSBpR0VNIGNvbW11bml0eTwvbGk+XG4gICAgICAgIDxsaT4ge2hha2VufSBQYXJ0aWNpcGF0ZWQgaW4gaGFuZHMtb24gV29ya3Nob3AgU2Vzc2lvbnMgbGVkIGJ5IGxlYWRpbmcgZXhwZXJ0cywgd2hpY2ggY29udHJpYnV0ZWQgdG8gdGhlIGRldmVsb3BtZW50IG9mIHRoZSBuZXh0IGdlbmVyYXRpb24gb2YgYW1iaXRpb3VzIHJlc2VhcmNoZXJzPC9saT5cbiAgICAgICAgPGxpPiB7aGFrZW59IEVuZ2FnZWQgaW4gUGFuZWwgRGlzY3Vzc2lvbnMgdG8gcHV6emxlIG92ZXIgaWRlYXMsIGltcHJlc3Npb25zLCBhbmQgdGhlIHBvdGVudGlhbCBvZiBtdWx0aXBsZSBwcm9qZWN0cywgZm9zdGVyaW5nIGNvbGxhYm9yYXRpb24gYW5kIG5ldHdvcmtpbmc8L2xpPlxuICAgICAgPC91bD5cbiAgICAgIDxINCB0ZXh0PVwiU3RpY2tlciBDb2xsZWN0aW9uIEFsYnVtOiBDb25uZWN0IGFuZCBDb2xsZWN0IVwiLz5cbiAgICAgIDxwPldlIGFyZSBleGNpdGVkIHRvIGludHJvZHVjZSB0aGUgZmlyc3Qgb2ZmaWNpYWwgQkZIIGlHRU0gU3RpY2tlciBDb2xsZWN0aW9uIEFsYnVtIG9mIDIwMjQhIE92ZXIgdGhlIHBhc3QgZmV3IHllYXJzLCBpR0VNIHRlYW1zIGZyb20gYXJvdW5kIHRoZSB3b3JsZCBoYXZlIHN0YXJ0ZWQgZXhjaGFuZ2luZyBmdW5ueSBtZW1lcywgbG9nb3MsIG1hc2NvdHMsIGFuZCBjb250YWN0IGluZm9ybWF0aW9uIHZpYSBzdGlja2Vycy4gUmVjb2duaXppbmcgdGhpcyBjcmVhdGl2ZSB0cmVuZCwgd2UndmUgZXN0YWJsaXNoZWQgdGhlIGZpcnN0LWV2ZXIgaUdFTSBUZWFtcyBTdGlja2VyIEFsYnVtIHRvIGVuaGFuY2Ugc29jaWFsIG5ldHdvcmtpbmcgYW1vbmcgcGFydGljaXBhbnRzIGR1cmluZyB0aGUgR3JhbmQgSmFtYm9yZWUgYW5kIGJleW9uZC4gPC9wPlxuICAgICAgPHA+RG8geW91IHdhbnQgdG8gam9pbiB0aGUgYmlnZ2VzdCBzb2NpYWwgbmV0d29ya2luZyBldmVudCwgY29sbGVjdCBhbGwgc3RpY2tlcnMsIGFuZCB3aW4gc3BlY2lhbCBwcml6ZXM/IFNpZ24gdXAgYW5kIGdldCByZWFkeSB0byBjYXRjaCAnZW0gYWxsISBUbyBwYXJ0aWNpcGF0ZSwgc3VibWl0IHlvdXIgcHJvamVjdCB0aXRsZSBhbmQgYWJzdHJhY3QsIGFuZCBkZXNpZ24gYSB1bmlxdWUgc3RpY2tlciB0aGF0IHJlcHJlc2VudHMgeW91ciB0ZWFtLiBUaGVzZSBzdGlja2VycyB3aWxsIGJlIGV4Y2hhbmdlZCBhdCB0aGUgR3JhbmQgSmFtYm9yZWUgaW4gUGFyaXMuIE9uY2UgeW91J3ZlIGNvbGxlY3RlZCBhbGwgdGhlIHN0aWNrZXJzIGZyb20gcGFydGljaXBhdGluZyB0ZWFtcywgc2VuZCBhIHBpY3R1cmUgb2YgeW91ciBjb21wbGV0ZWQgYWxidW0gdG8gdGhlIGlHRU0gQmllbGVmZWxkIGhlYWRxdWFydGVycyBmb3IgYSBjaGFuY2UgdG8gd2luIHNwZWNpYWwgcHJpemVzLiA8L3A+XG4gICAgICA8cD4gVGhpcyBhbGJ1bSBpc24ndCBqdXN0IGZvciB0aGUgR3JhbmQgSmFtYm9yZWUgXHUyMDEzIHlvdSBjYW4gYWxzbyBjb2xsZWN0IHN0aWNrZXJzIGZyb20gbm9uLXBhcnRpY2lwYXRpbmcgdGVhbXMgb24gdGhlIGJhY2tzaWRlIG9mIHRoZSBhbGJ1bS4gTGV0J3MgY29ubmVjdCwgc2hhcmUsIGFuZCBtYWtlIG1lbW9yaWVzIHRvZ2V0aGVyISA8L3A+XG4gICAgICA8SDQgdGV4dD1cIkF3YXJkcyBhbmQgV2lubmVycyBvZiB0aGUgQkZIIENvbXBldGl0aW9uIFwiLz5cbiAgICAgIDxwPlRoZSBldmVudCBjdWxtaW5hdGVkIGluIGFuIEF3YXJkcyBDZXJlbW9ueSBjZWxlYnJhdGluZyBleGNlbGxlbmNlIGluIGNyZWF0aXZpdHksIHRlYW13b3JrLCBhbmQgaW5ub3ZhdGlvbi4gT3VyIGp1ZGdlcywgdXNpbmcgdGhlaXIgZXhwZXJpZW5jZSBmcm9tIHBhc3QgaUdFTSB5ZWFycywgZXZhbHVhdGVkIHRoZSB0ZWFtcycgcGVyZm9ybWFuY2VzLiBUaGUgaGVhcnRmZWx0IHdpbm5lciwgcmVjb2duaXplZCBmb3IgdGhlaXIgb3V0c3RhbmRpbmcgY29udHJpYnV0aW9uIGFuZCBzcGlyaXQsIHdhcyB0aGUgdGVhbSB0aGF0IHRydWx5IGVtYm9kaWVkIHRoZSB2YWx1ZXMgb2YgdGhlIGlHRU0gY29tbXVuaXR5LiA8L3A+XG4gICAgICA8SDUgdGV4dD1cIkJlc3QgUHJlc2VudGF0aW9uXCIvPlxuICAgICAgey8qIGh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9maXJzdC1wbGFjZS5zdmcgKi99XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsLXJvdyB3aW5uZXJzXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj5cbiAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIndpbm5lci1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvZmlyc3QtcGxhY2Uuc3ZnIFwiLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTRcIj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ3aW5uZXJcIj5pR0VNIEFhY2hlbjwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImhha2VuLWxpc3RlXCI+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwidHJvcGh5XCI+PHNwYW4+VHJvcGh5PC9zcGFuPjwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwiY2VydGlmaWNhdGVcIj48c3Bhbj4gQ2VydGlmaWNhdGU8L3NwYW4+PC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJ0aWNrZXRzXCI+IDxzcGFuPjIgVGlja2V0cyBmb3IgU3luQmlvIFJlYWN0b3IgQ29uZmVyZW5jZSBwcm92aWRlZCBieSBHQVNCPC9zcGFuPjwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic21hbGwtcm93IHdpbm5lcnNcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMVwiPlxuICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwid2lubmVyLWltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9zZWNvbmQtcGxhY2Uuc3ZnIFwiLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTRcIj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ3aW5uZXJcIj5pR0VNIE1hcmJ1cmc8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJoYWtlbi1saXN0ZVwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cImNlcnRpZmljYXRlXCI+PHNwYW4+IENlcnRpZmljYXRlPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwibW9uZXlcIj4gPHNwYW4+JDUwMCBVU0QgcHJvdmlkZWQgYnkgWnltbyBSZXNlYXJjaDwvc3Bhbj48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsLXJvdyB3aW5uZXJzXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj5cbiAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIndpbm5lci1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvdGhpcmQtcGxhY2Uuc3ZnIFwiLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTRcIj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ3aW5uZXJcIj5pR0VNIEdVLUZyYW5rZnVydDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImhha2VuLWxpc3RlXCI+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwiY2VydGlmaWNhdGVcIj48c3Bhbj4gQ2VydGlmaWNhdGU8L3NwYW4+PC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJtb25leVwiPiA8c3Bhbj4kMjUwIFVTRCBwcm92aWRlZCBieSBKZW5hIEJpb3NjaWVuY2U8L3NwYW4+PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJyLz5cbiAgICAgIDxINSB0ZXh0PVwiQmVzdCBQb3N0ZXIgRXhoaWJpdGlvbiBCb290aFwiLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic21hbGwtcm93IHdpbm5lcnNcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMVwiPlxuICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwid2lubmVyLWltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9maXJzdC1wbGFjZS5zdmcgXCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIndpbm5lclwiPmlHRU0gRnJlaWJ1cmcgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGFrZW4tbGlzdGVcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJ0cm9waHlcIj48c3Bhbj5Ucm9waHk8L3NwYW4+PC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJjZXJ0aWZpY2F0ZVwiPjxzcGFuPiBDZXJ0aWZpY2F0ZTwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cInRpY2tldHNcIj4gPHNwYW4+MiBUaWNrZXRzIGZvciBTeW5CaW8gUmVhY3RvciBDb25mZXJlbmNlIHByb3ZpZGVkIGJ5IEdBU0I8L3NwYW4+PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbC1yb3cgd2lubmVyc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+XG4gICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJ3aW5uZXItaW1nXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL3NlY29uZC1wbGFjZS5zdmcgXCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIndpbm5lclwiPmlHRU0gR1UtRnJhbmtmdXJ0PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGFrZW4tbGlzdGVcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJjZXJ0aWZpY2F0ZVwiPjxzcGFuPiBDZXJ0aWZpY2F0ZTwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cImtpdFwiPiA8c3Bhbj5QbGFzbWlkIElzb2xhdGlvbiBLaXRzIHByb3ZpZGVkIGJ5IE1hY2hlcnkgTmFnZWw8L3NwYW4+PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbC1yb3cgd2lubmVyc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+XG4gICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJ3aW5uZXItaW1nXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL3RoaXJkLXBsYWNlLnN2ZyBcIi8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC00XCI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwid2lubmVyXCI+aUdFTSBXYWdlbmluZ2VuVVIgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGFrZW4tbGlzdGVcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJjZXJ0aWZpY2F0ZVwiPjxzcGFuPiBDZXJ0aWZpY2F0ZTwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cImtpdFwiPjxzcGFuPk1pbmktQ2lyY2xlIHByb3ZpZGVkIGJ5IFBsYXNtaWRGYWN0b3J5PC9zcGFuPjwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgPENlcnRpZmljYXRlIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvY2VydHMvYmZoLWJlc3QtYm9vdGgtYnJvbnplLXdhZ2VuaW5nZW4ucG5nXCIgcG9zdGVybmFtZT1cImJvb3RoYnJvbnplXCIgLz5cbiAgICAgICAgICA8Q2VydGlmaWNhdGUgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9jZXJ0cy9iZmgtYmVzdC1ib290aC1zaWx2ZXItZnJhbmtmdXJ0LnBuZ1wiIHBvc3Rlcm5hbWU9XCJib290aHNpbHZlclwiIC8+XG4gICAgICAgICAgPENlcnRpZmljYXRlIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvY2VydHMvYmZoLWJlc3QtYm9vdGgtZ29sZC1mcmVpYnVyZy5wbmdcIiBwb3N0ZXJuYW1lPVwiYm9vdGhnb2xkXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGJyLz5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgPENlcnRpZmljYXRlIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvY2VydHMvYmZoLWJlc3QtcHJlc2ktYnJvbnplLWZyYW5rZnVydC5wbmdcIiBwb3N0ZXJuYW1lPVwicHJlc2licm9uemVcIiAvPlxuICAgICAgICAgIDxDZXJ0aWZpY2F0ZSB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2NlcnRzL2JmaC1iZXN0LXByZXNpLXNpbHZlci1tYXJnYnVyZy5wbmdcIiBwb3N0ZXJuYW1lPVwicHJlc2lzaWx2ZXJcIiAvPlxuICAgICAgICAgIDxDZXJ0aWZpY2F0ZSB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2NlcnRzL2JmaC1iZXN0LXByZXNpLWdvbGQtYWFjaGVuLnBuZ1wiIHBvc3Rlcm5hbWU9XCJwcmVzaWdvbGRcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8SDQgdGV4dD1cIldoYXQgZGlkIHdlIGxlYXJuIGFzIG9yZ2FuaXplcnMgZm9yIHRoZSBuZXh0IGZldyB5ZWFycz9cIi8+XG4gICAgICA8aDM+R29vZCBwbGFubmluZyBpcyBrZXk8L2gzPlxuICAgICAgPHA+U3RhcnRpbmcgZWFybHksIGNsZWFybHkgZGlzdHJpYnV0aW5nIHRhc2tzLCBhbmQgc3RheWluZyBvcmdhbml6ZWQgXHUyMDEzIHRoYXQgYXZvaWRzIGNoYW9zLiBXZSBjYW4gbm93IHN0cnVjdHVyZSwgY29vcmRpbmF0ZSwgYW5kIG1hbmFnZSB0aGUgbmV4dCBtZWV0LXVwIGluIEZyYW5rZnVydCBtb3JlIGVmZmljaWVudGx5IGFuZCBhaGVhZCBvZiB0aW1lLiA8L3A+XG4gICAgICA8aDM+Q29tbXVuaWNhdGlvbiBpcyBldmVyeXRoaW5nPC9oMz5cbiAgICAgIDxwPlJlZ3VsYXIgdGVhbSBjb21tdW5pY2F0aW9uIGFuZCBjbGVhciBhZ3JlZW1lbnRzIGFyZSBlc3NlbnRpYWwgdG8ga2VlcCBldmVyeW9uZSBvbiB0aGUgc2FtZSBwYWdlLiBXZVx1MjAxOXZlIHJlYWxpemVkIGp1c3QgaG93IGltcG9ydGFudCBzb2NpYWxpemluZyBhbmQgbmV0d29ya2luZyByZWFsbHkgYXJlIHdpdGhpbiB0aGUgaUdFTSBjb21tdW5pdHkuIDwvcD5cbiAgICAgIDxoMz5TdGF5IGZsZXhpYmxlIDwvaDM+XG4gICAgICA8cD5TcG9udGFuZW91cyBjaGFuZ2VzIGhhcHBlbiBcdTIwMTMgYmFja3VwIHBsYW5zIGFuZCBxdWljayBkZWNpc2lvbnMgYXJlIGEgbXVzdC4gV2l0aCBvdXIgcGxhdGZvcm0sIHdlIHdlcmUgYWJsZSB0byBiZXR0ZXIgY29ubmVjdCB0aGUgdGVhbXMuIDwvcD5cbiAgICAgIDxoMz5Gb2N1cyBvbiB0aGUgcGFydGljaXBhbnRzIDwvaDM+XG4gICAgICA8cD5VbmRlcnN0YW5kaW5nIHBhcnRpY2lwYW50cycgbmVlZHMgYW5kIG9mZmVyaW5nIGEgZGl2ZXJzZSBwcm9ncmFtIHRoYXQgcmVzb25hdGVzLiBXZSBub3cga25vdyBob3cgbXVjaCBmdW4gdGhlIGV4Y2hhbmdlIG9uIGJvdGggc2NpZW50aWZpYyBhbmQgcGVyc29uYWwgbGV2ZWxzIGNhbiBiZS4gPC9wPlxuICAgICAgPGgzPkZlZWRiYWNrIG1ha2VzIGl0IGJldHRlciA8L2gzPlxuICAgICAgPHA+R2F0aGVyaW5nIGZlZWRiYWNrIGFmdGVyIHRoZSBldmVudCBhbmQgbGVhcm5pbmcgZnJvbSBpdCB0byBtYWtlIHRoZSBuZXh0IG9uZSBldmVuIGJldHRlci4gVGhpcyB3aWxsIG1ha2UgdGhlIDIwMjUgbWVldC11cCBpbiBGcmFua2Z1cnQgZXZlbiBiaWdnZXIgYW5kIGJldHRlciEgVGhhbmsgeW91ISA8L3A+XG5cbiAgICAgIDxINCB0ZXh0PVwiRmVlZGJhY2sgZm9yIG91ciBFdmVudFwiLz5cblxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgZmVlZGJhY2tiZmhcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgYi1sZ1wiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8aDU+U3RyZW5ndGhzPC9oNT5cbiAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgPGxpPldlbGwgb3JnYW5pc2VkIDwvbGk+XG4gICAgICAgICAgICAgIDxsaT5IZWxwZnVsIGZlZWRiYWNrIGZyb20ganVkZ2VzPC9saT5cbiAgICAgICAgICAgICAgPGxpPlRoZSBkaXZlcnNpdHkgb2YgdGhlIHByb2dyYW0gcG9pbnRzPC9saT5cbiAgICAgICAgICAgICAgPGxpPlRoZSB2aWJlIGFuZCB0aGUgYXRtb3NwaGVyZTwvbGk+XG4gICAgICAgICAgICAgIDxsaT5JbmR1c3RyeSB3YXMgcHJlc2VudDwvbGk+XG4gICAgICAgICAgICAgIDxsaT5BIGZyaWVuZGx5IGFuZCBoZWxwZnVsIHRlYW08L2xpPlxuICAgICAgICAgICAgICA8bGk+VmVyeSBwcm9mZXNzaW9uYWwgbW9kZXJhdGlvbjwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgYi1sb1wiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8aDU+V2Vha25lc3NlczwvaDU+XG4gICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgIDxsaT5UaW1lIG1hbmFnZW1lbnQ8L2xpPlxuICAgICAgICAgICAgICA8bGk+QSBsaXR0bGUgbG9uZ2VyIHRpbWUgYnVmZmVyIGJldHdlZW4gZGlmZmVyZW50IHByb2dyYW0gcGFydHM8L2xpPlxuICAgICAgICAgICAgICA8bGk+SnVkZ2luZyBzZXNzaW9uIGFuZCB3b3Jrc2hvcHMgd2VyZSB0YWtpbmcgdXAgd2F5IG1vcmUgdGltZSB0aGFuIGV4cGVjdGVkIGR1ZSB0byBzcGVha2VycyBub3QgY2FyaW5nIGFib3V0IHRoZSB0aW1lPC9saT5cbiAgICAgICAgICAgICAgPGxpPk9ubHkgb25lIHBhbmVsIGRpc2N1c3Npb248L2xpPlxuICAgICAgICAgICAgICA8bGk+TWFiZXkgdGhpbmsgYWJvdXQgc2hvcnRlbmluZyB0aGUgcHJvZ3JhbSBwZXIgZGF5IGEgbGl0dGxlPC9saT5cbiAgICAgICAgICAgICAgPGxpPk5vIHRpbWUgZm9yIHRoZSBMYWIgT2x5bXBpY3M8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuXG4gICAgICA8SDQgdGV4dD1cIkFja25vd2xlZGdtZW50c1wiLz5cbiAgICAgIDxwPlRoZSBCRkggQ29tbWl0dGVlIGV4dGVuZHMgaGVhcnRmZWx0IHRoYW5rcyB0bzogPC9wPlxuICAgICAgPHVsPlxuICAgICAgICA8bGk+VGhlIDxiPmlHRU0gVGVhbSBvZiB0aGUgVW5pdmVyc2l0eSBvZiBCaWVsZWZlbGQgPC9iPmZvciB0aGVpciBpbnZhbHVhYmxlIHN1cHBvcnQgaW4gb3JnYW5pemluZyBhbmQgZXhlY3V0aW5nIHRoaXMgZXZlbnQuIDwvbGk+XG4gICAgICAgIDxsaT5BbGwgdGhlIHNwZWFrZXJzLCB3b3Jrc2hvcCBsZWFkZXJzLCBhbmQgcGFydGljaXBhbnRzIHdobyBjb250cmlidXRlZCB0byBtYWtpbmcgdGhpcyBNZWV0LVVwIGEgc3VjY2Vzcy4gPC9saT5cbiAgICAgICAgPGxpPiAgICBUaGUgaUdFTSB0ZWFtcyBmb3IgdGhlaXIgZW5nYWdlbWVudCwgc2NpZW50aWZpYyBleGNlbGxlbmNlLCBhbmQgZm9yIG1ha2luZyB0aGUgZXZlbnQgYW4gdW5mb3JnZXR0YWJsZSBleHBlcmllbmNlLiA8L2xpPlxuICAgICAgICA8bGk+T3VyIFNwb25zb3JzIGFuZCBDb2xsYWJvcmF0b3JzPC9saT5cbiAgICAgIDwvdWw+XG4gICAgICA8SDQgdGV4dD1cIkxvb2tpbmcgRm9yd2FyZCB0byAyMDI1IFwiLz5cbiAgICAgIDxwPmluIDIwMjUsIHdlIHdpbGwgd2VsY29tZSBhbGwgRXVyb3BlYW4gaUdFTSB0ZWFtcyB0byBvdXIgbG92ZWx5IHVuaXZlcnNpdHkgaW4gRnJhbmtmdXJ0IENpdHkuIFRoaXMgTWVldC1VcCB3aWxsIHByZXBhcmUgeW91IGZvciB0aGUgR3JhbmQgSmFtYm9yZWUgaW4gUGFyaXMuIEFmdGVyIGVzdGFibGlzaGVkIGEgYnJhbmQgYW5kIGEgcGxhdGZvcm0sIHdlIGFyZSBleGNpdGVkIHRvIGFubm91bmNlIG91ciBwbGFucyBmb3IgdGhlIGZ1dHVyZTogPC9wPlxuICAgICAgPHVsPlxuICAgICAgICA8bGk+ICAgIDxiPkV4cGFuc2lvbjwvYj46IFdlIGFyZSBhbHJlYWR5IHBsYW5uaW5nIHRoZSBuZXh0LCBldmVuIGxhcmdlciBldmVudCBhdCB0aGUgVW5pdmVyc2l0eSBvZiBGcmFua2Z1cnQgaW4gMjAyNS4gVGhpcyBNZWV0LVVwIHdpbGwgYmUgc2lnbmlmaWNhbnRseSBiaWdnZXIgYW5kIG1vcmUgaW50ZXJuYXRpb25hbC4gPC9saT5cbiAgICAgICAgPGxpPiAgICA8Yj5QcmVwYXJhdGlvbiBhbmQgRXZhbHVhdGlvbjwvYj46IFdpdGggbW9yZSBwcmVwYXJhdGlvbiB0aW1lIGFuZCBpbnRlbnNpdmUgZXZhbHVhdGlvbiBvZiBvdXIgZmlyc3QgZXZlbnQncyBzdWNjZXNzLCB3ZSBhaW0gdG8gYnJpbmcgQkZIIHRvIEZyYW5rZnVydCwgbWFraW5nIGl0IGFuIGV2ZW50IG5vdCB0byBiZSBtaXNzZWQuIDwvbGk+XG4gICAgICAgIDxsaT4gICAgPGI+Q29sbGFib3JhdGlvbiBiZXR3ZWVuIG90aGVyIE1lZXQtVXAgb3JnYW5pemVyczwvYj46IEJ5IHN1cHBvcnRpbmcgb3RoZXIgaUdFTSB0ZWFtcyBwbGFubmluZyB0byBvcmdhbml6ZSBtZWV0IHVwIGluIGRpZmZlcmVudCBsb2NhdGlvbnMgYXJvdW5kIHRoZSBnbG9iZSwgd2UgZm9zdGVyaW5nIHRvIGVuaGFuY2UgdGhlIHBvdGVudGlhbCBhbmQgc3VwcG9ydCBvcmdhbml6YXRpb24gd2l0aCBvdXIgZXhwZXJpZW5jZXMuIDwvbGk+XG4gICAgICA8L3VsPlxuICAgICAgPEg0IHRleHQ9XCJDb25jbHVzaW9uXCIvPlxuICAgICAgPHA+VGhlIEJGSCBFdXJvcGVhbiBNZWV0LVVwIDIwMjQgd2FzIGEgcmVzb3VuZGluZyBzdWNjZXNzLCB1bml0aW5nIG92ZXIgMjAgdGVhbXMgYW5kIDE1MCBwYXJ0aWNpcGFudHMgaW4gYSBjZWxlYnJhdGlvbiBvZiBzY2llbmNlLCBpbm5vdmF0aW9uLCBhbmQgY29sbGFib3JhdGlvbi4gQXMgd2UgbG9vayBmb3J3YXJkIHRvIGZ1dHVyZSBldmVudHMsIHdlIHJlbWFpbiBjb21taXR0ZWQgdG8gb3VyIG1pc3Npb24gb2YgaWduaXRpbmcsIGlubm92YXRpbmcsIGFuZCBpbnNwaXJpbmcgdGhlIG5leHQgZ2VuZXJhdGlvbiBvZiBzY2llbnRpc3RzLiBIZXJlJ3MgdG8gbWFueSBtb3JlIGdyZWF0IG1vbWVudHMgYW5kIGFuIHVuZm9yZ2V0dGFibGUgdGltZSBmb3IgZXZlcnkgcGFydGljaXBhbnQgXHUyMDEzIGNoZWVycyEgPC9wPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbC1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgcmlnaHRcIj5cbiAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly9iZmhldXJvcGVhbm1lZXR1cC5tb2JpcmlzZXNpdGUuY29tL3BhZ2U2Lmh0bWxcIj48YnV0dG9uIGNsYXNzTmFtZT1cInRhYmxpbmtzIGJmaC1tb3JlLWJ1dHRvbiBNZWRpY2FsXCI+VmlzaXQgdGhlIFdlYnNpdGU8L2J1dHRvbj48L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBidXR0b24tbGVmdFwiPlxuICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2JmaF9ldXJvbWVldC9cIj48YnV0dG9uIGNsYXNzTmFtZT1cImxlZnQtYnV0dG9uIHRhYmxpbmtzIGJmaC1tb3JlLWJ1dHRvbiBNZWRpY2FsXCIgPlN0YXkgaW4gVG91Y2g8L2J1dHRvbj48L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuIiwgIlxuaW1wb3J0IHsgUG9zdGVyUm93LCBQb3N0ZXIgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9wb3N0ZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFBvc3RlckdhbGxlcnkoKXtcbiAgICByZXR1cm4oXG4gICAgICA8PlxuICAgICAgPFBvc3RlclJvd1xuICAgICAgcG9zdGVybmFtZTE9XCJiaWVsZWZlbGRcIlxuICAgICAgcG9zdGVybmFtZTI9XCJoZWxzaW5raVwiXG4gICAgICB1cmwxPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wb3N0ZXJzLWFuZC1zdHVmZi9iZmgtcG9zdGVyLWJpZWxlZmVsZC0xLnBuZ1wiXG4gICAgICB1cmwyPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wb3N0ZXJzLWFuZC1zdHVmZi9iZmgtcG9zdGVyLWhlbHNpbmtpLnBuZ1wiXG4gICAgICAvPlxuICAgICAgPFBvc3RlclJvd1xuICAgICAgcG9zdGVybmFtZTE9XCJkcmVzZGVuXCJcbiAgICAgIHBvc3Rlcm5hbWUyPVwiZHR1XCJcbiAgICAgIHVybDE9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3Bvc3RlcnMtYW5kLXN0dWZmL2JmaC1wb3N0ZXItZHJlc2Rlbi5wbmdcIlxuICAgICAgdXJsMj1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcG9zdGVycy1hbmQtc3R1ZmYvYmZoLXBvc3Rlci1kdHUucG5nXCJcbiAgICAgIC8+XG4gICAgICA8UG9zdGVyUm93XG4gICAgICBwb3N0ZXJuYW1lMT1cImVpbmRob3ZlblwiXG4gICAgICBwb3N0ZXJuYW1lMj1cImZyZWlidXJnXCJcbiAgICAgIHVybDE9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3Bvc3RlcnMtYW5kLXN0dWZmL2JmaC1wb3N0ZXItZWluZGhvdmVuLnBuZ1wiXG4gICAgICB1cmwyPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wb3N0ZXJzLWFuZC1zdHVmZi9iZmgtcG9zdGVyLWZyZWlidXJnLnBuZ1wiXG4gICAgICAvPlxuICAgICAgPFBvc3RlclJvd1xuICAgICAgcG9zdGVybmFtZTE9XCJsZXV2ZW5cIlxuICAgICAgcG9zdGVybmFtZTI9XCJzeW5iaW9cIlxuICAgICAgdXJsMT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcG9zdGVycy1hbmQtc3R1ZmYvYmZoLXBvc3Rlci1sZXV2ZW4ucG5nXCJcbiAgICAgIHVybDI9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3Bvc3RlcnMtYW5kLXN0dWZmL2JmaC1wb3N0ZXItc3luYmlvLWNvbXByZXNzZWQud2VicFwiXG4gICAgICAvPlxuICAgICAgPFBvc3RlclJvd1xuICAgICAgcG9zdGVybmFtZTE9XCJoYW1idXJnXCJcbiAgICAgIHBvc3Rlcm5hbWUyPVwiYWFjaGVuXCJcbiAgICAgIHVybDE9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3Bvc3RlcnMtYW5kLXN0dWZmL2JmaC1wb3N0ZXItaGFtYnVyZy5wbmdcIlxuICAgICAgdXJsMj1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcG9zdGVycy1hbmQtc3R1ZmYvYmZoLXBvc3Rlci1hYWNoZW4ucG5nXCJcbiAgICAgIC8+XG4gICAgICAgPFBvc3RlclJvd1xuICAgICAgcG9zdGVybmFtZTE9XCJ3YWdlbmluZ2VuXCJcbiAgICAgIHBvc3Rlcm5hbWUyPVwiaGFubm92ZXJcIlxuICAgICAgdXJsMT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcG9zdGVycy1hbmQtc3R1ZmYvYmZoLXBvc3Rlci13YWdlbmluZ2VuLnBuZ1wiXG4gICAgICB1cmwyPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wb3N0ZXJzLWFuZC1zdHVmZi9iZmgtcG9zdGVyLWhhbm5vdmVyLnBuZ1wiXG4gICAgICAvPlxuICAgICAgPFBvc3RlciBwb3N0ZXJuYW1lPVwic3RvY2tob2xtXCIgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wb3N0ZXJzLWFuZC1zdHVmZi9iZGgtcG9zdGVyLXN0b2NraG9sbS5wbmdcIi8+XG4gIFxuICAgICBcbiAgICAgIDwvPlxuICAgIClcbiAgfSIsICJpbXBvcnQgeyBCRkhUaW1lbGluZSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0JGSC1UaW1lbGluZVwiO1xuaW1wb3J0IEJGSHBkZiwgeyBHdWlkZVBERiB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL1BkZnNcIjtcbmltcG9ydCBCRkhHYWxsZXJ5IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL1Bob3RvLWdyaWRcIjtcbmltcG9ydCB7IFNlY3Rpb24sIFN1YmVzY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgQWJvdXQgfSBmcm9tIFwiLi9iZmgtYWJvdXRcIjtcbmltcG9ydCB7IFBvc3RlckdhbGxlcnkgfSBmcm9tIFwiLi9wb3N0ZXJnYWxsZXJ5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBNZWV0VVAoKXtcblxuICAgIHJldHVybihcbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJCRkggRXVyb3BlYW4gTWVldFVwXCIgaWQ9XCJCRkggRXVyb3BlYW4gTWVldFVwXCI+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJBZnRlcnZpZGVvXCIgaWQ9XCJCRkggRXVyb3BlYW4gTWVldFVwMVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy12aWRlby1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxpZnJhbWUgdGl0bGU9XCJCaWVsZWZlbGQtQ2VCaVRlYzogTWVldFVwICgyMDI0KSBbRW5nbGlzaF1cIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCI3MDBweFwiIHNyYz1cImh0dHBzOi8vdmlkZW8uaWdlbS5vcmcvdmlkZW9zL2VtYmVkLzMwYjhhNmUwLTJiNGEtNDYxOC04ODY3LTRlYjhlNmE1MjkzNlwiIGZyYW1lQm9yZGVyPVwiMFwiIGFsbG93RnVsbFNjcmVlbj17dHJ1ZX0gc2FuZGJveD1cImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctcG9wdXBzIGFsbG93LWZvcm1zXCI+PC9pZnJhbWU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiXCIgLyogc3R5bGU9e3sgcGFkZGluZ1RvcDogXCI1dndcIn19ICovPlxuICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIlRpbWVsaW5lXCIgaWQ9XCJCRkggRXVyb3BlYW4gTWVldFVwMlwiPlxuICAgICAgICAgIDxCRkhUaW1lbGluZS8+XG4gICAgICAgIDwvU3ViZXNjdGlvbj4gXG4gICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQWJvdXRcIiBpZD1cIkJGSCBFdXJvcGVhbiBNZWV0VXAzXCI+XG4gICAgICAgICAgPEFib3V0Lz5cbiAgICAgICAgPC9TdWJlc2N0aW9uPiBcbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJWaXJ0dWFsIFBvc3RlciBFeGhpYml0aW9uXCIgaWQ9XCJCRkggRXVyb3BlYW4gTWVldFVwNFwiPlxuICAgICAgICAgIDxQb3N0ZXJHYWxsZXJ5Lz5cbiAgICAgICAgPC9TdWJlc2N0aW9uPiBcbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJHdWlkZWxpbmVcIiBpZD1cIkJGSCBFdXJvcGVhbiBNZWV0VXA1XCI+XG4gICAgICAgICAgPEd1aWRlUERGLz5cbiAgICAgICAgPC9TdWJlc2N0aW9uPiBcbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJHYWxsZXJ5XCIgaWQ9XCJCRkggRXVyb3BlYW4gTWVldFVwNlwiPlxuICAgICAgICAgIDxCRkhHYWxsZXJ5Lz5cbiAgICAgICAgPC9TdWJlc2N0aW9uPiBcbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJEb3dubG9hZHNcIiBpZD1cIkJGSCBFdXJvcGVhbiBNZWV0VXA3XCI+XG4gICAgICAgICAgPEJGSHBkZi8+XG4gICAgICAgIDwvU3ViZXNjdGlvbj4gXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9TZWN0aW9uPlxuICAgIClcbn1cbiIsICJpbXBvcnQgeyBINCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyBQREYgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9QZGZzXCI7XG5pbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gQ29sbGFiQ29udHJpYnV0aW9uKCl7XG4gICAgY29uc3Qge2dvVG9QYWdlc0FuZE9wZW5UYWJ9ID0gdXNlTmF2aWdhdGlvbigpOyBcbiAgICBcbiAgICByZXR1cm4oXG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiQ29sbGFib3JhdGlvbnNcIiBpZD1cIkNvbGxhYm9yYXRpb25zXCI+XG4gICAgICAgICAgICA8SDQgaWQ9XCJIYW5kYm9vay1oZWFkaW5nXCIgdGV4dD1cIkhhbmJvb2sgZm9yIGRvd25sb2FkXCIvPlxuICAgICAgICAgICAgPHA+RG93bmxvYWQgb3VyIExOUCBIYW5ib29rIHRoYXQgd2FzIGNyZWF0ZWQgaW4gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignY29sbHMyMDI0JywgJy9odW1hbi1wcmFjdGljZXMnKX0+Y29vcGVyYXRpb248L2E+ICB3aXRoIHRoZSB0ZWFtIDxhIGhyZWY9XCJodHRwczovLzIwMjQuaWdlbS53aWtpL2xpbmtvcGluZy9cIj5MaW5rXHUwMEY2cGluZzwvYT4uPC9wPlxuICAgICAgICAgICAgPFBERiBsaW5rPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9saXBvc29tZXMtaGFuZGJvb2sucGRmXCIgbmFtZT1cImxpcG9zb21lcy1oYW5kYm9vay5wZGZcIi8+XG5cbiAgICAgICAgPC9TZWN0aW9uPlxuXG4gICAgKVxufSIsICJcbmltcG9ydCB7IFR3b0xpbmVQREYgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9QZGZzXCI7XG5pbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gUGF0aWVudENvbnRyaWJ1dGlvbigpe1xuXG4gICAgcmV0dXJuKFxuICAgICAgIDw+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiUGF0aWVudCBNYXR0ZXJzXCIgaWQ9XCJQYXRpZW50IE1hdHRlcnNcIiA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sICAnPlxuICAgICAgICAgICAgICAgIDxUd29MaW5lUERGIGxpbms9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL3BhdGllbnRlbmVpbndpbGxpZ3VuZy1tdXN0ZXJ2b3JsYWdlLWlnZW0tMi5wZGZcIiBuYW1lPVwicGF0aWVudGVuZWlud2lsbGlndW5nLW11c3RlcnZvcmxhZ2UtaWdlbS0yLnBkZlwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nc2VwZXJhdG9yLTIgY29sLTInPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wgICc+XG4gICAgICAgICAgICAgICAgPFR3b0xpbmVQREYgICBsaW5rPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9maW5hbC1oeWdpZW5lLWNvbmNlcHQucGRmXCIgbmFtZT1cImZpbmFsLWh5Z2llbmUtY29uY2VwdC5wZGZcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TZWN0aW9uPlxuXG4gICAgPC8+XG5cbiAgICApXG59IiwgImltcG9ydCB7IFBERiB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL1BkZnNcIjtcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBTYWZldHlDb250cmlidXRpb24oKXtcblxuICAgIHJldHVybihcbiAgICAgICA8PlxuICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIlByaW1hcnkgQ3VsdHVyZSBTYWZldHkgR3VpZGVsaW5lXCIgaWQ9XCJTYWZldHkgR3VpZGVsaW5lXCIgPlxuICAgICAgICAgICAgPFBERiBsaW5rPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9wcmltYXJ5LWN1bHR1cmUtZ3VpZGVsaW5lLnBkZlwiIG5hbWU9XCJwcmltYXJ5LWN1bHR1cmUtZ3VpZGVsaW5lLnBkZlwiLz5cbiAgICAgICAgPC9TZWN0aW9uPlxuICAgIDwvPlxuXG4gICAgKVxufSIsICJpbXBvcnQgeyBUYWJDb250ZXh0LCBUYWJMaXN0LCBUYWJQYW5lbCB9IGZyb20gXCJAbXVpL2xhYlwiO1xuaW1wb3J0IHsgQm94LCBUYWIgfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU3RhcnRlZCB9IGZyb20gXCIuL3dpa2ktc3RhcnRcIjtcbmltcG9ydCB7IFNvdXJjZXMgfSBmcm9tIFwiLi93aWtpLXNvdXJjZXNcIjtcbmltcG9ydCB7IFRyb3VibGVzaG9vdGluZyB9IGZyb20gXCIuL3Ryb3VibGVzaG9vdGluZ1wiO1xuaW1wb3J0IHsgV2lraU92ZXJ2aWV3IH0gZnJvbSBcIi4vd2lraS1vdmVydmlld1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gV2lraVRhYnMoKSB7XG4gICAgY29uc3QgW3ZhbHVlLCBzZXRWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZSgnMScpO1xuICBcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAoX2V2ZW50OiBSZWFjdC5TeW50aGV0aWNFdmVudCwgbmV3VmFsdWU6IHN0cmluZykgPT4ge1xuICAgICAgc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgIH07XG4gIFxuICAgIHJldHVybiAoXG4gICAgICA8Qm94IHN4PXt7IHdpZHRoOiAnMTAwJScsIHR5cG9ncmFwaHk6ICdib2R5MScgfX0+XG4gICAgICAgIDxUYWJDb250ZXh0IHZhbHVlPXt2YWx1ZX0+XG4gICAgICAgICAgPEJveCBzeD17eyBib3JkZXJCb3R0b206IDEsIGJvcmRlckNvbG9yOiAnZGl2aWRlcicgfX0+XG4gICAgICAgICAgICA8VGFiTGlzdCBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfSBhcmlhLWxhYmVsPVwibGFiIEFQSSB0YWJzIGV4YW1wbGVcIj5cbiAgICAgICAgICAgICAgPFRhYiBsYWJlbD1cIk92ZXJ2aWV3XCIgdmFsdWU9XCIxXCIgLz5cbiAgICAgICAgICAgICAgPFRhYiBsYWJlbD1cIkdldHRpbmcgc3RhcnRlZFwiIHZhbHVlPVwiNlwiIC8+XG4gICAgICAgICAgICAgIDxUYWIgbGFiZWw9XCJUcm91Ymxlc2hvb3RpbmdcIiB2YWx1ZT1cIjJcIiAvPlxuICAgICAgICAgICAgICA8VGFiIGxhYmVsPVwiQ29tcG9uZW50c1wiIHZhbHVlPVwiM1wiIC8+XG4gICAgICAgICAgICAgIDxUYWIgbGFiZWw9XCJEb3dubG9hZHNcIiB2YWx1ZT1cIjRcIiAvPlxuICAgICAgICAgICAgICA8VGFiIGxhYmVsPVwiUmVzb3VyY2VzXCIgdmFsdWU9XCI1XCIgLz5cbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L1RhYkxpc3Q+XG4gICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgPFRhYlBhbmVsIHZhbHVlPVwiMVwiPiA8V2lraU92ZXJ2aWV3Lz4gIDwvVGFiUGFuZWw+XG4gICAgICAgICAgPFRhYlBhbmVsIHZhbHVlPVwiNlwiPiA8U3RhcnRlZC8+ICA8L1RhYlBhbmVsPlxuICAgICAgICAgIDxUYWJQYW5lbCB2YWx1ZT1cIjJcIj4gPFRyb3VibGVzaG9vdGluZy8+IDwvVGFiUGFuZWw+XG4gICAgICAgICAgPFRhYlBhbmVsIHZhbHVlPVwiM1wiPiAgPC9UYWJQYW5lbD5cbiAgICAgICAgICA8VGFiUGFuZWwgdmFsdWU9XCI0XCI+ICAgPC9UYWJQYW5lbD5cbiAgICAgICAgICA8VGFiUGFuZWwgdmFsdWU9XCI1XCI+ICA8U291cmNlcy8+IDwvVGFiUGFuZWw+XG4gICAgICAgIDwvVGFiQ29udGV4dD5cbiAgICAgIDwvQm94PlxuICAgICk7XG4gIH1cbiAgIiwgImV4cG9ydCBmdW5jdGlvbiBTdGFydGVkKCl7XG5cbiAgICByZXR1cm4oXG4gICAgICA8PlxuICAgICAgPGgzPkRpZmZlcmVuY2VzIGJldHdlZW4gUmVhY3QgYW5kIHBsYWluIEhUTUw8L2gzPlxuICAgICAgPHA+VGhlc2UgY2FuIGxlYWQgdG8gY29uZnVzaW5nIGVycm9ycyBpZiB5b3UgYXJlIHVzZWQgdG8gSFRNTC48L3A+XG4gICAgICA8dGFibGU+XG4gICAgICAgIDx0aGVhZD5cbiAgICAgICAgICA8dHI+XG4gICAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICAgIDx0aD5QbGFpbiBIVE1MPC90aD5cbiAgICAgICAgICAgIDx0aD5Vc2luZyBSZWFjdDwvdGg+XG4gICAgICAgICAgPC90cj5cbiAgICAgICAgPC90aGVhZD5cbiAgICAgICAgPHRib2R5PlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoPiA8Y29kZT4mbHQ7dGFncyZndDsgPC9jb2RlPiA8L3RoPlxuICAgICAgICAgIDx0aD4gXG4gICAgICAgICAgICA8cD4gTW9zdCB0YWdzIGhhdmUgdG8gYmUgb3BlbmVkIGFuZCBjbG9zZWQsIGJ1dCBzb21lIGNhbiBiZSBvbmx5IG9wZW5lZC4gPC9wPiBcbiAgICAgICAgICAgIDxwPiBlLmcuIGltZywgYnIsIC4uLiA8Y29kZT4gJmx0O2ltZyBzcmM6XCJzb21lc291cmNlXCIgYWx0PVwiYWx0XCImZ3Q7IDwvY29kZT4gPC9wPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoPlxuICAgICAgICAgICAgPHA+IEV2ZXJ5IHRhZyBoYXMgdG8gYmUgY2xvc2VkLiAgPC9wPlxuICAgICAgICAgICAgPHA+IGUuZy4gaW1nLCBiciwgLi4uIFxuICAgICAgICAgICAgICA8Y29kZT4gJmx0O2ltZyBzcmM6XCJzb21lc291cmNlXCIgYWx0PVwiYWx0XCIvJmd0OzwvY29kZT4gb3IgXG4gICAgICAgICAgICAgIDxjb2RlPiAmbHQ7aW1nIHNyYzpcInNvbWVzb3VyY2VcIiBhbHQ9XCJhbHRcIiZndDsgJmx0Oy9pbWcmZ3Q7IDwvY29kZT4gIDwvcD5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoPkF0dHJpYnV0ZSBOYW1lczwvdGg+XG4gICAgICAgICAgPHRoPlxuICAgICAgICAgICAgPHA+IEdsb2JhbCBhdHRyaWJ1dGUgbmFtZXMgYXJlIGFsd2F5cyB3cml0dGVuIGluIGxvd2VyY2FzZSBhbmQgdHdvIHdvcmRzIGFyZSBmdXNlZCBpbnRvIG9uZSBieSBcIi1cIi4gPC9wPlxuICAgICAgICAgICAgPHA+IEUuZy4gXCJjbGFzc1wiLCBcImNoYXJzZXRcIiwgLi4uPC9wPlxuICAgICAgICAgICAgPHA+IFRoaXMgaXMgYWxzbyB0aGUgY2FzZSB3aGVuIHVzaW5nIHRoZSBzeWxlLWF0dHJpYnV0ZS4gPC9wPlxuICAgICAgICAgICAgPHA+IEUuZy4gPGNvZGU+c3R5bGU9XCJjb2xvcjpibHVlOyB0ZXh0LWFsaWduOmNlbnRlclwiPC9jb2RlPjwvcD5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICAgIDx0aD4gXG4gICAgICAgICAgICA8cD5HbG9iYWwgYXR0cmlidXRlIG5hbWVzIGFyZSBnZW5lcmFsbHkgd3JpdHRlbiBpbiBsb3dlcmNhc2UgYnV0IHVzZSB0aGUgY2FtZWwgY2FzZSBpZiB0d28gd29yZHMgaGF2ZSB0byBiZSBmdXNlZC4gU29tZSBhdHRydWJ1dGVzIGhhdmUgc2xpZ2h0bHkgZGlmZmVyZW50IG5hbWVzLjwvcD5cbiAgICAgICAgICAgIDxwPkUuZy4gXCJjbGFzc05hbWVcIiwgXCJjaGFyU2V0XCIsIC4uLjwvcD5cbiAgICAgICAgICAgIDxwPiBUaGlzIGlzIGFsc28gdGhlIGNhc2Ugd2hlbiB1c2luZyB0aGUgc3R5bGUtYXR0cmlidXRlLjwvcD5cbiAgICAgICAgICAgIDxwPiBFLmcuIDxjb2RlPnN0eWxlPSYjMTIzOyYjMTIzO3ZlY3RvckVmZmVjdDogJnF1b3Q7bm9uLXNjYWxpbmctc3Ryb2tlJnF1b3Q7JiMxMjU7JiMxMjU7PC9jb2RlPjwvcD5cbiAgICAgICAgICAgIDxwPlRoaXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIGNzcyBmaWxlITwvcD5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8dHI+XG4gICAgICAgICAgPHRoPlN0eWxlIGF0dHJpYnV0ZTwvdGg+XG4gICAgICAgICAgPHRoPlxuICAgICAgICAgICAgPHA+IHN0eWxlPVwiPHZhcj5hdHRyaWJ1dGU8L3Zhcj46IDx2YXI+dmFsdWU8L3Zhcj47IDx2YXI+YXR0cmlidXRlPC92YXI+OiA8dmFyPnZhbHVlPC92YXI+XCIgPC9wPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoPlxuICAgICAgICAgICAgPHA+IHN0eWxlPSYjMTIzOyYjMTIzOzx2YXI+YXR0cmlidXRlPC92YXI+OiBcIjx2YXI+dmFsdWU8L3Zhcj5cIiwgPHZhcj5hdHRyaWJ1dGU8L3Zhcj46IFwiPHZhcj52YWx1ZTwvdmFyPlwiICYjMTI1OyYjMTI1OzwvcD5cbiAgICAgICAgICA8L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgICA8L3Rib2R5PlxuICAgICAgPC90YWJsZT5cbiAgICAgIDxoMz5Hb29kIHRvIGtub3dzPC9oMz5cbiAgICAgIDwvPlxuICAgIClcbiAgfVxuICAiLCAiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbnRlcmZhY2UgSVByb3BzIHtcbiAgb3Blbj86IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGlkOiBzdHJpbmc7XG59XG5cblxuICBcbiAgZXhwb3J0IGNvbnN0IENvbGxhcHNpYmxlOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHsgb3BlbiA9IGZhbHNlLCBjaGlsZHJlbiwgdGl0bGUsIGlkIH0pID0+IHtcbiAgICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUob3Blbik7XG4gICAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGN1cnJlbnQgVVJMIGhhcyB0aGUgc3BlY2lmaWMgY29sbGFwc2UgSURcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgICBjb25zdCBjb2xsYXBzZUlkID0gcGFyYW1zLmdldCgnY29sbGFwc2VJZCcpO1xuXG4gICAgICAgIGlmIChjb2xsYXBzZUlkID09PSBpZCkge1xuICAgICAgICAgICAgc2V0SXNPcGVuKHRydWUpO1xuICAgICAgICB9XG4gICAgfSwgW2xvY2F0aW9uLnNlYXJjaCwgaWRdKTtcblxuICAgIGNvbnN0IGhhbmRsZUZpbHRlck9wZW5pbmcgPSAoKSA9PiB7XG4gICAgICAgIHNldElzT3BlbigocHJldikgPT4gIXByZXYpO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgICAgPGRpdiBpZD17aWR9IGNsYXNzTmFtZT1cImNvbGxhcHNlLWNhcmQgYmctZGJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzTmFtZT1cImZvbnQtd2VpZ2h0LWJvbGQgY29sbGFwc2libGUtYVwiPnt0aXRsZX08L2g2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuXCIgb25DbGljaz17aGFuZGxlRmlsdGVyT3BlbmluZ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeyFpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPSd1cGRvd24nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9hbmdsZS1zbWFsbC1kb3duLnBuZ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9J3VwZG93bicgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2FuZ2xlLXNtYWxsLXVwMzJweC5wbmdcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pntpc09wZW4gJiYgPGRpdiBjbGFzc05hbWU9XCJwLTNcIj48aHIgY2xhc3NOYW1lPSdjb2xsYXBzaWJsZS1ocicgLz57Y2hpbGRyZW59PC9kaXY+fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG4gIGV4cG9ydCBjb25zdCBDb2xsYXBzaWJsZVR3bzogUmVhY3QuRkM8SVByb3BzPiA9ICh7IG9wZW4sIGNoaWxkcmVuLCB0aXRsZSB9KSA9PiB7XG4gICAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKG9wZW4pO1xuICBcbiAgICBjb25zdCBoYW5kbGVGaWx0ZXJPcGVuaW5nID0gKCkgPT4ge1xuICAgICAgc2V0SXNPcGVuKChwcmV2KSA9PiAhcHJldik7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgPHNlY3Rpb24gaWQ9e3RpdGxlfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xsYXBzZS1jYXJkXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJmb250LXdlaWdodC1ib2xkIGNvbGxhcHNpYmxlLWFcIj57dGl0bGV9PC9oMz5cbiAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwiYnRuXCIgb25DbGljaz17aGFuZGxlRmlsdGVyT3BlbmluZ30+XG4gICAgICAgICAgICAgICAgeyFpc09wZW4gPyAoXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9J3VwZG93bicgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2FuZ2xlLXNtYWxsLWRvd24ucG5nXCIgLz5cbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPSd1cGRvd24nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9hbmdsZS1zbWFsbC11cDMycHgucG5nXCIgLz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICBcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPlxuICAgICAgICAgICAgPGRpdj57aXNPcGVuICYmIDxkaXYgY2xhc3NOYW1lPVwicC0zXCI+IDxociBjbGFzc05hbWU9J2NvbGxhcHNpYmxlLWhyJy8+IHtjaGlsZHJlbn08L2Rpdj59PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuICBcbiAgXG4gIGV4cG9ydCBkZWZhdWx0IENvbGxhcHNpYmxlO1xuXG4gIGV4cG9ydCBjb25zdCBDb2xsYXBzaWJsZUluZm9Cb3g6IFJlYWN0LkZDPElQcm9wcz4gPSAoeyBvcGVuLCBjaGlsZHJlbiwgdGl0bGUgfSkgPT4ge1xuICAgIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShvcGVuKTtcbiAgXG4gICAgY29uc3QgaGFuZGxlRmlsdGVyT3BlbmluZyA9ICgpID0+IHtcbiAgICAgIHNldElzT3BlbigocHJldikgPT4gIXByZXYpO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xsYXBzZS1jYXJkIGJnLWluZm9cIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgPGg2IGNsYXNzTmFtZT1cImZvbnQtd2VpZ2h0LWJvbGQgY29sbGFwc2libGUtYVwiPnt0aXRsZX08L2g2PlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG5cIiBvbkNsaWNrPXtoYW5kbGVGaWx0ZXJPcGVuaW5nfT5cbiAgICAgICAgICAgICAgICB7IWlzT3BlbiA/IChcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT0ndXBkb3duJyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvYW5nbGUtc21hbGwtZG93bi5wbmdcIiAvPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9J3VwZG93bicgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2FuZ2xlLXNtYWxsLXVwMzJweC5wbmdcIiAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gIFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiXCI+XG4gICAgICAgICAgICA8ZGl2Pntpc09wZW4gJiYgPGRpdiBjbGFzc05hbWU9XCJwLTNcIj4gPGhyIGNsYXNzTmFtZT0nY29sbGFwc2libGUtaHInLz4ge2NoaWxkcmVufTwvZGl2Pn08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gICIsICJpbXBvcnQgQ29sbGFwc2libGUgZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvQ29sbGFwc2libGVcIjtcblxuZXhwb3J0ICBmdW5jdGlvbiBTb3VyY2VzKCl7XG4gICAgcmV0dXJuKFxuICAgICAgPGRpdj5cbiAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS1pY29uc1wiIHRpdGxlPVwiSW1hZ2VzIGFuZCBJY29uc1wiID5cbiAgICAgICAgTW9zdCB0ZWFtcyBuZWVkIGEgbG90IG9mIHBpY3R1cmVzLCBjb21wb25lbnRzLCBpY29ucyBhbmQgYWxpa2UuIFRoZXkgY2FuIGJlIGRpZmZpY3VsdCB0byBmaW5kLCBlc3BlY2lhbGx5IGZyZWUgYW5kIG9wZW4gc291cmNlIG9uZXMuXG4gICAgICAgIFxuICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vYmlvaWNvbnMuY29tL1wiPiBodHRwczovL2Jpb2ljb25zLmNvbS88L2E+IDwvbGk+XG4gICAgICAgICAgICA8bGk+IDxhIGhyZWY9XCJodHRwczovL3RvZ290di5kYmNscy5qcC9lbi9waWNzLmh0bWxcIiA+IGh0dHBzOi8vdG9nb3R2LmRiY2xzLmpwL2VuL3BpY3MuaHRtbCA8L2E+IDwvbGk+XG4gICAgICAgICAgICA8bGk+IDxhIGhyZWY9XCJodHRwczovL3NtYXJ0LnNlcnZpZXIuY29tL1wiID5odHRwczovL3NtYXJ0LnNlcnZpZXIuY29tLzwvYT4gPC9saT5cbiAgICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vb3BlbmNsaXBhcnQub3JnL1wiID4gaHR0cHM6Ly9vcGVuY2xpcGFydC5vcmcvPC9hPiA8L2xpPlxuICAgICAgICAgICAgPGxpPiA8YSBocmVmPVwiaHR0cHM6Ly9jb21tb25zLndpa2ltZWRpYS5vcmcvd2lraS9DYXRlZ29yeTpTVkdfZmlsZXNcIiA+aHR0cHM6Ly9jb21tb25zLndpa2ltZWRpYS5vcmcvd2lraS9DYXRlZ29yeTpTVkdfZmlsZXM8L2E+IDwvbGk+XG4gICAgICAgICAgICA8bGk+IDxhIGhyZWY9XCJodHRwczovL3d3dy5mbGF0aWNvbi5jb20vXCI+aHR0cHM6Ly93d3cuZmxhdGljb24uY29tLzwvYT4gPC9saT5cbiAgICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vYmlvbG9naWNhbGljb25zLmNvbS9lblwiPmh0dHBzOi8vYmlvbG9naWNhbGljb25zLmNvbS9lbjwvYT4gPC9saT5cbiAgICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vd3d3LnN2Z3JlcG8uY29tL1wiPmh0dHBzOi8vd3d3LnN2Z3JlcG8uY29tLzwvYT4gPC9saT5cbiAgICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vd3d3Lmh1bWFuYmlvbWVkaWEub3JnL1wiPmh0dHBzOi8vd3d3Lmh1bWFuYmlvbWVkaWEub3JnLzwvYT4gPC9saT5cbiAgICAgICAgICA8L3VsPlxuICBcbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS1jb2xvcnNcIiB0aXRsZT1cIkNvbG91cnNcIiA+XG4gICAgICAgICAgTmVlZCBhIHNsaWdodGx5IGxpZ2h0ZXIgdmVyc2lvbiBvZiBvbmUgb2YgeW91ciBjb2xvcnMgb3IgYSBtaXggb2YgdHdvIGNvbG91cnM/IFxuICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgIDxsaT48YSBocmVmPVwiaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9jb2xvcnMvY29sb3JzX21peGVyLmFzcFwiPiBodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2NvbG9ycy9jb2xvcnNfbWl4ZXIuYXNwPC9hPjwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS10b29sc1wiIHRpdGxlPVwiQ29kaW5nIFRvb2xzXCI+XG4gICAgICAgICAgR2VuZXJhdG9yc1xuICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgIDxsaT48YSBocmVmPVwiaHR0cHM6Ly93d3cuY3NzcG9ydGFsLmNvbS9cIj5odHRwczovL3d3dy5jc3Nwb3J0YWwuY29tLzwvYT48L2xpPlxuICAgICAgICAgICAgPGxpPjxhIGhyZWY9XCJodHRwczovL2h0bWxjc3MudG9vbHMvXCI+aHR0cHM6Ly9odG1sY3NzLnRvb2xzLzwvYT48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvQ29sbGFwc2libGU+XG4gIFxuICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJ3aWtpLXBsYWNlaG9sZGVyXCIgdGl0bGU9XCJQbGFjZWhvbGRlcnNcIj5cbiAgICAgICAgICA8dWw+XG4gICAgICAgICAgICA8bGk+PGEgaHJlZj1cImh0dHBzOi8vd3d3LmxvcmVtaXBzdW0uZGUvXCI+aHR0cHM6Ly93d3cubG9yZW1pcHN1bS5kZS88L2E+PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICBcbiAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwid2lraS1zdmdzXCIgdGl0bGU9XCJTVkdzXCI+XG4gICAgICAgICAgPHVsPlxuICAgICAgICAgICAgPGxpPjxhIGhyZWY9XCJodHRwczovL3N1cGVyZGVzaWduZXIuY28vdG9vbHMvc3ZnLWJhY2tncm91bmRzXCI+aHR0cHM6Ly9zdXBlcmRlc2lnbmVyLmNvL3Rvb2xzL3N2Zy1iYWNrZ3JvdW5kczwvYT48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvQ29sbGFwc2libGU+XG4gIFxuICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJ3aWtpLWFjY2Vzc2liaWxpdHlcIiB0aXRsZT1cIkFjY2Vzc2liaWxpdHlcIj5cbiAgICAgICAgPHVsPlxuICAgICAgICAgIDxsaT48YSBocmVmPVwiaHR0cHM6Ly9zY2hlbWEub3JnXCI+aHR0cHM6Ly9zY2hlbWEub3JnPC9hPjwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICA8L2Rpdj5cbiAgXG4gICAgKVxuICB9ICIsICJcbmltcG9ydCBTZWxlY3QgZnJvbSAncmVhY3Qtc2VsZWN0JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cblxuXG5pbnRlcmZhY2UgUHJvcHMge1xuICB2YWx1ZTogc3RyaW5nLFxuICBsYWJlbDogc3RyaW5nXG59XG5jb25zdCB3aWtpb3B0aW9ucyA9W1xuICB7dmFsdWU6IFwiYWxsXCIsIGxhYmVsOiBcIlNob3cgYWxsXCJ9LFxuICB7dmFsdWU6IFwicmVhY3RcIiwgbGFiZWw6IFwiUmVhY3RcIn0sXG4gIHt2YWx1ZTogXCJ0eXBlXCIsIGxhYmVsOiBcIlR5cGVzXCJ9LFxuICB7dmFsdWU6IFwicHJvcGVydHlcIiwgbGFiZWw6IFwiUHJvcGVydGllc1wifSxcbiAge3ZhbHVlOiBcInBpcGVsaW5lXCIsIGxhYmVsOiBcIkdpdExhYiBQaXBlbGluZVwifSxcbiAge3ZhbHVlOiBcImh0bWxcIiwgbGFiZWw6IFwiSFRNTFwifSxcbiAge3ZhbHVlOiBcImNzc1wiLCBsYWJlbDogXCJDU1NcIn0sXG4gIFxuXVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJNdWx0aVNlbGVjdGlvbihhcnI6IEFycmF5PFByb3BzPikge1xuICBjb25zdCBub25vID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJub25vXCIpO1xuICBpZiAobm9ubykge1xuICAgIG5vbm8uY2xhc3NOYW1lID0gXCJub3Nob3dcIjtcbiAgfVxuXG4gIGNvbnN0IGZpbHRlcmFibGVFbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJmaWx0ZXJhYmxlXCIpO1xuXG4gIC8vIFJlbW92ZSBcInNob3dcIiBjbGFzcyBmcm9tIGFsbCBlbGVtZW50c1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbHRlcmFibGVFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGVsID0gZmlsdGVyYWJsZUVsZW1lbnRzW2ldO1xuICAgIHczUmVtb3ZlQ2xhc3MoZWwsIFwic2hvd1wiKTtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKFwiQmVnaW5cIik7XG5cbiAgLy8gQXBwbHkgZmlsdGVyIGNyaXRlcmlhXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsdGVyYWJsZUVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgZWwgPSBmaWx0ZXJhYmxlRWxlbWVudHNbaV07XG4gICAgbGV0IHNob3VsZFNob3cgPSB0cnVlO1xuXG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBhcnIpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBlbnRyeTogJHtlbnRyeS52YWx1ZX1gKTtcbiAgICAgIGlmICghZWwuY2xhc3NMaXN0LmNvbnRhaW5zKGVudHJ5LnZhbHVlKSkge1xuICAgICAgICBzaG91bGRTaG93ID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKGBzaG91bGRTaG93OiAke3Nob3VsZFNob3d9YCk7XG4gICAgaWYgKHNob3VsZFNob3cpIHtcbiAgICAgIHczQWRkQ2xhc3MoZWwsIFwic2hvd1wiKTtcbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBpZiBhbnkgZWxlbWVudCBpcyBzaG93blxuICBjb25zdCBzaG93bkVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcInNob3dcIik7XG4gIGlmIChzaG93bkVsZW1lbnRzLmxlbmd0aCA8IDEgJiYgbm9ubykge1xuICAgIGNvbnNvbGUubG9nKHNob3duRWxlbWVudHMubGVuZ3RoKTtcbiAgICBub25vLmNsYXNzTmFtZSA9IFwic2hvd1wiO1xuICB9XG59XG5cbi8qIGZ1bmN0aW9uIGZpbHRlclNlbGVjdGlvbihsYWJlbDogc3RyaW5nKSB7XG4gIHZhciB4LCBpO1xuICB4ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImZpbHRlcmFibGVcIik7XG4gIGlmIChsYWJlbCA9PSBcImFsbFwiKSBsYWJlbCA9IFwiXCI7XG4gIGZvciAoaSA9IDA7IGkgPCB4Lmxlbmd0aDsgaSsrKSB7XG4gICAgbGV0IGVsID0geFtpXTsgXG4gICAgdzNSZW1vdmVDbGFzcyhlbCwgXCJzaG93XCIpO1xuICAgIGlmICh4W2ldLmNsYXNzTmFtZS5pbmRleE9mKGxhYmVsKSA+IC0xKSB3M0FkZENsYXNzKHhbaV0sIFwic2hvd1wiKTtcbiAgfVxufSAqL1xuICBcbmZ1bmN0aW9uIHczQWRkQ2xhc3MoZWxlbWVudDogRWxlbWVudCwgbmFtZTogc3RyaW5nKSB7XG4gIHZhciBpLCBhcnIxLCBhcnIyO1xuICBhcnIxID0gZWxlbWVudC5jbGFzc05hbWUuc3BsaXQoXCIgXCIpO1xuICBhcnIyID0gbmFtZS5zcGxpdChcIiBcIik7XG4gIGZvciAoaSA9IDA7IGkgPCBhcnIyLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKGFycjEuaW5kZXhPZihhcnIyW2ldKSA9PSAtMSkge2VsZW1lbnQuY2xhc3NOYW1lICs9IFwiIFwiICsgYXJyMltpXTt9XG4gIH1cbn1cblxuZnVuY3Rpb24gdzNSZW1vdmVDbGFzcyhlbGVtZW50OiBFbGVtZW50LCBuYW1lOiBzdHJpbmcpIHtcbiAgdmFyIGksIGFycjEsIGFycjI7XG4gIGFycjEgPSBlbGVtZW50LmNsYXNzTmFtZS5zcGxpdChcIiBcIik7XG4gIGFycjIgPSBuYW1lLnNwbGl0KFwiIFwiKTtcbiAgZm9yIChpID0gMDsgaSA8IGFycjIubGVuZ3RoOyBpKyspIHtcbiAgICB3aGlsZSAoYXJyMS5pbmRleE9mKGFycjJbaV0pID4gLTEpIHtcbiAgICAgIGFycjEuc3BsaWNlKGFycjEuaW5kZXhPZihhcnIyW2ldKSwgMSk7ICAgICBcbiAgICB9XG4gIH1cbiAgZWxlbWVudC5jbGFzc05hbWUgPSBhcnIxLmpvaW4oXCIgXCIpO1xufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBXaWtpU2VsZWN0b3IoKXtcbiAgcmV0dXJuKFxuICAgIDxkaXY+XG4gICAgICA8V2lraUFjdGlvbj48L1dpa2lBY3Rpb24+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuY2xhc3MgV2lraUFjdGlvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRlID0ge1xuICAgIHNlbGVjdGVkT3B0aW9uOiBudWxsLFxuICB9O1xuICBoYW5kbGVDaGFuZ2UgPSAoc2VsZWN0ZWRPcHRpb246IGFueSkgPT4ge1xuICBcdFxuICBcdHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZE9wdGlvbiB9LCAoKSA9PlxuICBcdGNvbnNvbGUubG9nKGBPcHRpb24gc2VsZWN0ZWQ6YCwgdGhpcy5zdGF0ZS5zZWxlY3RlZE9wdGlvbilcbiAgIFx0XG4gICAgKTtcbiAgICBcdGZpbHRlck11bHRpU2VsZWN0aW9uKHNlbGVjdGVkT3B0aW9uKVxuICB9O1xuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBzZWxlY3RlZE9wdGlvbiB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2VsZWN0XG4gICAgICAgIHZhbHVlPXtzZWxlY3RlZE9wdGlvbn1cbiAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlQ2hhbmdlfVxuICAgICAgICBpc011bHRpXG4gICAgICAgIG9wdGlvbnM9e3dpa2lvcHRpb25zfVxuICAgICAgICBkZWZhdWx0VmFsdWU9e1t3aWtpb3B0aW9uc1swXV19XG4gICAgICAgIGNsYXNzTmFtZT1cImJhc2ljLW11bHRpLXNlbGVjdFwiXG4gICAgICAgIGNsYXNzTmFtZVByZWZpeD1cInNlbGVjdFwiXG4gICAgICAvPlxuICAgICk7XG4gIH1cbn1cblxuLyogVHlwZSAnKHNlbGVjdGVkT3B0aW9uOiBQcm9wcyB8IG51bGwpID0+IHZvaWQnIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHR5cGUgJyhuZXdWYWx1ZTogTXVsdGlWYWx1ZTx7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IH0gfCBudWxsPiwgYWN0aW9uTWV0YTogQWN0aW9uTWV0YTx7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IH0gfCBudWxsPikgPT4gdm9pZCcuXG4gIFR5cGVzIG9mIHBhcmFtZXRlcnMgJ3NlbGVjdGVkT3B0aW9uJyBhbmQgJ25ld1ZhbHVlJyBhcmUgaW5jb21wYXRpYmxlLlxuICAgIFR5cGUgJ3JlYWRvbmx5ICh7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmc7IH0gfCBudWxsKVtdJyBpcyBtaXNzaW5nIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyBmcm9tIHR5cGUgJ1Byb3BzJzogdmFsdWUsIGxhYmVsICovXG4gICAgLyogY29uc3QgaHBvcHRpb25zID1bXG4gICAgICB7dmFsdWU6IFwiYWxsXCIsIGxhYmVsOiBcIkFsbFwifSxcbiAgICAgIHt2YWx1ZTogXCJBY2FkZW1pYVwiLCBsYWJlbDogXCJBY2FkZW1pYVwifSxcbiAgICAgIHt2YWx1ZTogXCJQYXRpZW50UGF0aWVudFwiLCBsYWJlbDogXCJQYXRpZW50XCJ9LFxuICAgICAge3ZhbHVlOiBcIk1lZGljYWxcIiwgbGFiZWw6IFwiTWVkaWNhbCBQcm9mZXNzaW9uYWxcIn0sXG4gICAgICB7dmFsdWU6IFwicHJvcGVydHlcIiwgbGFiZWw6IFwiUHJvcGVydGllc1wifSxcbiAgICAgIHt2YWx1ZTogXCJwaXBlbGluZVwiLCBsYWJlbDogXCJHaXRMYWIgUGlwZWxpbmVcIn0sXG4gICAgICB7dmFsdWU6IFwiaHRtbFwiLCBsYWJlbDogXCJIVE1MXCJ9LFxuICAgICAge3ZhbHVlOiBcImNzc1wiLCBsYWJlbDogXCJDU1NcIn0sXG4gICAgICBcbiAgICBdXG5cbiAgICBleHBvcnQgZnVuY3Rpb24gSFBTZWxlY3Rvcigpe1xuICAgICAgcmV0dXJuKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxIUEFjdGlvbj48L0hQQWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIClcbiAgICB9XG5cblxuXG4gICAgY2xhc3MgSFBBY3Rpb24gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICAgICAgc3RhdGUgPSB7XG4gICAgICAgIHNlbGVjdGVkT3B0aW9uOiBudWxsLFxuICAgICAgfTtcbiAgICAgIGhhbmRsZUNoYW5nZSA9IChzZWxlY3RlZE9wdGlvbjogYW55KSA9PiB7XG4gICAgICAgIFxuICAgICAgICB0aGlzLnNldFN0YXRlKHsgc2VsZWN0ZWRPcHRpb24gfSwgKCkgPT5cbiAgICAgICAgY29uc29sZS5sb2coYE9wdGlvbiBzZWxlY3RlZDpgLCB0aGlzLnN0YXRlLnNlbGVjdGVkT3B0aW9uKVxuICAgICAgICAgXG4gICAgICAgICk7XG4gICAgICAgICAgZmlsdGVyTXVsdGlTZWxlY3Rpb24oc2VsZWN0ZWRPcHRpb24pXG4gICAgICB9O1xuICAgICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7IHNlbGVjdGVkT3B0aW9uIH0gPSB0aGlzLnN0YXRlO1xuICAgIFxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgIHZhbHVlPXtzZWxlY3RlZE9wdGlvbn1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLmhhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgIGlzTXVsdGlcbiAgICAgICAgICAgIG9wdGlvbnM9e2hwb3B0aW9uc31cbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17W2hwb3B0aW9uc1swXV19XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJiYXNpYy1tdWx0aS1zZWxlY3RcIlxuICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PVwic2VsZWN0XCJcbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gKi8iLCAiaW1wb3J0IENvbGxhcHNpYmxlIGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0NvbGxhcHNpYmxlXCI7XG5pbXBvcnQgeyBINSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyBUcm91Ymxlc2hvb3QgfSBmcm9tIFwiLi90cm91YmxlLWRhdGFcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gRmlsdGVyYWJsZXMoZGF0YTogQXJyYXk8VHJvdWJsZXNob290Pil7XG4gICAgbGV0IGNvdW50ID0gMjsgXG4gICAgbGV0IHJlc3VsdHM6IEpTWC5FbGVtZW50W10gID0gW107XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGRhdGEubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGxldCB0YWdzID0gXCJcIlxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFbaW5kZXhdLnRhZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHRhZ3MgKz0gZGF0YVtpbmRleF0udGFnc1tpXSArIFwiIFwiOyBcbiAgICAgICAgfVxuICAgICAgICByZXN1bHRzLnB1c2goXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YGZpbHRlcmFibGUgYWxsICR7dGFnc31gfSBpZD17YHdpa2ktdHJvdWJsZS0ke2NvdW50fWB9PlxuICAgICAgICAgICAgICAgIDxDb2xsYXBzaWJsZSB0aXRsZT17ZGF0YVtpbmRleF0udGl0bGV9IGlkPXtgd2lraS10cm91YmxlLSR7Y291bnR9LWNvbGxhcHNpYmxlYH0+XG4gICAgICAgICAgICAgICAgICAgIHtkYXRhW2luZGV4XS50ZXh0fVxuICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkV4YW1wbGVcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICB7ZGF0YVtpbmRleF0uZXhhbXBsZWNoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlNvbHV0aW9uXCIvPlxuICAgICAgICAgICAgICAgICAgICB7ZGF0YVtpbmRleF0uc29sdXRpb25jaGlsZHJlbn1cbiAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICAgICAgY291bnQgKys7IFxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0czsgXG59XG5cbiIsICJleHBvcnQgZnVuY3Rpb24gQ29kZSh7Y2hpbGRyZW59OntjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlfSApe1xuXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvZGVzbmlwcGV0XCI+XG4gICAgICAgICAgICA8Y29kZT5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L2NvZGU+XG4gICAgICAgIDwvZGl2PlxuICAgIClcbn0iLCAiaW1wb3J0IHsgQ29kZSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0NvZGVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUcm91Ymxlc2hvb3R7XG4gICAgdGFnczogQXJyYXk8U2VhcmNoY3JpdGVyaWE+OyBcbiAgICB0aXRsZTogc3RyaW5nOyBcbiAgICBleGFtcGxlY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTsgXG4gICAgc29sdXRpb25jaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlOyBcbiAgICB0ZXh0PzogUmVhY3QuUmVhY3ROb2RlOyBcbn1cblxudHlwZSBTZWFyY2hjcml0ZXJpYSA9IFwiaHRtbFwiIHwgXCJzY3JpcHRcIiB8IFwiY3NzXCIgfCBcInJlYWN0XCIgIHwgXCJ0eXBlXCIgfCBcInByb3BlcnRpZXNcIiB8IFwicGlwZWxpbmVcIiB8IFwibW9kdWxlXCIgfCBcImJyb3dzZXJcIiB8IFwiY29uc29sZVwiIHxcIm92ZXJsb2FkXCIgOyBcblxuZXhwb3J0IGNvbnN0IHRyb3VibGVkYXRhOiBBcnJheTxUcm91Ymxlc2hvb3Q+ID0gW1xuICAgIHtcbiAgICAgICAgdGFnczogW1wicmVhY3RcIiwgXCJ0eXBlXCJdLFxuICAgICAgICB0aXRsZTogXCJUeXBlIFggaXMgbm90IGFzc2lnbmFibGUgdG8gdHlwZSBZLlwiLFxuICAgICAgICBleGFtcGxlY2hpbGRyZW46IDw+PC8+LFxuICAgICAgICBzb2x1dGlvbmNoaWxkcmVuOiA8PjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICB0YWdzOiBbXCJwaXBlbGluZVwiXSxcbiAgICAgICAgdGl0bGU6IFwiVGhlIHBpcGVsaW5lIHBhc3NlZCBidXQgdGhlIFdpa2kgaXMgbm90IHZpc2libGUgdW5kZXIgdGhlIHVybFwiLFxuICAgICAgICB0ZXh0OiA8PjxwPlRoaXMgZXJyb3IgY291bGQgYmUgYSByZXN1bHQgb2YgYSB3cm9uZyBiYXNlIHVybCBpbiB0aGUgdml0ZS5jb25maWcuanMgZmlsZS48L3A+XG4gICAgICAgIDxwPkUuZy4gaWYgeW91IHN3aXRjaGVkIGZyb20gcGxhaW4gSFRNTCB0byB0aGUgcmVhY3QgZnJhbWV3b3JrLiA8L3A+PC8+LFxuICAgICAgICBleGFtcGxlY2hpbGRyZW46IDw+PENvZGU+XG4gICAgICAgIDxwPnJldHVybiBkZWZpbmVDb25maWcoJiMxMjM7PC9wPlxuICAgICAgICA8cD5iYXNlOiBgL2AsPC9wPlxuICAgICAgICA8cD4uLi48L3A+XG4gICAgICA8L0NvZGU+PC8+LFxuICAgICAgICBzb2x1dGlvbmNoaWxkcmVuOiA8PjxwPkNoYW5nZSB0aGUgYmFzZSB1cmwgdG8gcmVmbGVjdCB0aGUgY29ycmVjdCB0ZWFtIHVybC48L3A+XG4gICAgICAgIDxDb2RlPlxuICAgICAgICAgIDxwPnJldHVybiBkZWZpbmVDb25maWcoJiMxMjM7PC9wPlxuICAgICAgICAgIDxwPmJhc2U6IGAvJCYjMTIzO3N0cmluZ1RvU2x1ZyhlbnYuVklURV9URUFNX05BTUUpJiMxMjU7L2AsPC9wPlxuICAgICAgICAgIDxwPi4uLjwvcD5cbiAgICAgICAgPC9Db2RlPjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICB0YWdzOiBbXCJjb25zb2xlXCJdLFxuICAgICAgICB0aXRsZTogXCJOU19FUlJPUl9DT1JSVVBURURfQ09OVEVOVCBlcnJvciBpbiBjb25zb2xlXCIsXG4gICAgICAgIHRleHQ6IDw+PHA+ICZyYXJyOyBTZWUgYWxzbyBcIlRoZSBwaXBlbGluZSBwYXNzZWQgYnV0IHRoZSBXaWtpIGlzIG5vdCB2aXNpYmxlIHVuZGVyIHRoZSB1cmxcIiBhcyB0aGVzZSBlcnJvcnMgY2FuIGJlIGNvbm5lY3RlZC48L3A+XG4gICAgICAgIDxwPiBUaGlzIGVycm9yIGZvciBjc3MgYW5kIGpzIGZpbGVzIGNhbiBiZSB0aGUgcmVzdWx0IG9mIHdyb25nIDxiPnJvbGx1cE9wdGlvbnM8L2I+IGluIGZvciB0aGUgYnVpbGQsIHRvIGJlIHNwZWNpZmljIHdyb25nIDxiPm91dHB1dDwvYj4gYW5kIDxiPmFzc2V0RmlsZU5hbWVzPC9iPiBvcHRpb25zIGFuZCBwb3NzaWJseSB3cm9uZy9lbXB0eSA8Yj5jc3M8L2I+IG9wdGlvbnMgaW4geW91ciB2aXRlLmNvbmZpZy5qcy4gPC9wPlxuICAgICAgICA8Lz4sXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD48cD5JbiBvdXIgY2FzZSwgd2UgaGFkIHRoZSBmb2xsb3dpbmcgY29kZSBvbiBvdXIgdml0ZS5jb25maWcuanM8L3A+XG4gICAgICAgIDxDb2RlPlxuICAgICAgICA8cD5idWlsZDogJiMxMjM7IDwvcD5cbiAgICAgIDxwPm91dERpcjogXCJkaXN0XCIsPC9wPlxuICAgICAgPHA+cm9sbHVwT3B0aW9uczogJiMxMjM7PC9wPlxuICAgICAgICA8cD5vdXRwdXQ6ICYjMTIzOzwvcD5cbiAgICAgICAgICA8cD4gYXNzZXRGaWxlTmFtZXM6IGBhc3NldHMvW2V4dF0vW25hbWVdLVtoYXNoXS5bZXh0XWA8L3A+XG4gICAgICAgIDxwPiYjMTI1OyAmIzEyNTsgJiMxMjU7ICwgPC9wPlxuICAgICAgICA8L0NvZGU+XG4gICAgICAgIDxwPiBPdXIgPGI+Y3NzPC9iPiBvcHRpb25zIHdlcmUgZW1wdHksIHdoaWNoIGNvdWxkIGFsc28gaGF2ZSBwbGF5ZWQgYSBmYWN0b3IgZm9yIHRoZSBjc3MgZmlsZXMuPC9wPlxuICAgICAgICA8Q29kZT5cbiAgICAgICAgPHA+Y3NzOiAmIzEyMzs8L3A+XG4gICAgICA8cD5wcmVwcm9jZXNzb3JPcHRpb25zOiAmIzEyMzs8L3A+XG4gICAgICAgIDxwPmNzczogJiMxMjM7PC9wPlxuICAgICAgICAgIDxwPiAgLy9qYXZhc2NyaXB0RW5hYmxlZDogdHJ1ZSwgLy8gRW5hYmxlIEphdmFTY3JpcHQgaW4gQ1NTICh1c2VmdWwgZm9yIGNlcnRhaW4gQ1NTIHByZXByb2Nlc3NvciBwbHVnaW5zKTwvcD5cbiAgICAgICA8cD4gJiMxMjU7ICYjMTI1OyAmIzEyNTssPC9wPiAgXG4gICAgICAgIDwvQ29kZT48Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcImJyb3dzZXJcIiwgXCJjb25zb2xlXCJdLFxuICAgICAgICB0aXRsZTogXCJCbG9ja2VkIGR1ZSB0byBNSU1FIHR5cGUgKFx1MjAxQ3RleHQvaHRtbFx1MjAxRCkgbWlzbWF0Y2ggKFgtQ29udGVudC1UeXBlLU9wdGlvbnM6IG5vc25pZmYpIChGaXJlZm94KVwiLFxuICAgICAgICBleGFtcGxlY2hpbGRyZW46IDw+PHA+ICZyYXJyOyBTZWUgYWxzbyBcIlJlZnVzZWQgdG8gYXBwbHkgc3R5bGUgZnJvbSAmbHQ7Jmx0O2NzcyBmaWxlJmd0OyZndDsgYmVjYXVzZSBpdHMgTUlNRSB0eXBlICgndGV4dC9odG1sJykgaXMgbm90IGEgc3VwcG9ydGVkIHN0eWxlc2hlZXQgTUlNRSB0eXBlLCBzdHJpY3QgTUlNRSBjaGVja2luZyBpcyBlbmFibGVkIChFZGdlKVwiPC9wPlxuICAgICAgICA8Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcImNvbnNvbGVcIiwgXCJicm93c2VyXCJdLFxuICAgICAgICB0aXRsZTogXCJSZWZ1c2VkIHRvIGFwcGx5IHN0eWxlIGZyb20gPDxjc3MgZmlsZT4+IGJlY2F1c2UgaXRzIE1JTUUgdHlwZSAoJ3RleHQvaHRtbCcpIGlzIG5vdCBhIHN1cHBvcnRlZCBzdHlsZXNoZWV0IE1JTUUgdHlwZSwgc3RyaWN0IE1JTUUgY2hlY2tpbmcgaXMgZW5hYmxlZCAoRWRnZSlcIixcbiAgICAgICAgZXhhbXBsZWNoaWxkcmVuOiA8PjxwPiAmcmFycjsgU2VlIGFsc28gXCJCbG9ja2VkIGR1ZSB0byBNSU1FIHR5cGUgKFx1MjAxQ3RleHQvaHRtbFx1MjAxRCkgbWlzbWF0Y2ggKFgtQ29udGVudC1UeXBlLU9wdGlvbnM6IG5vc25pZmYpIChGaXJlZm94KVwiPC9wPiA8Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PHA+VGhpcyBlcnJvciBjb3VsZCA8L3A+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcInJlYWN0XCIsIFwidHlwZVwiXSxcbiAgICAgICAgdGl0bGU6IFwiVHlwZSAndW5kZWZpbmVkJyBjYW5ub3QgYmUgdXNlZCBhcyBhbiBpbmRleCB0eXBlXCIsXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD48Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcInJlYWN0XCIsIFwib3ZlcmxvYWRcIl0sXG4gICAgICAgIHRpdGxlOiBcIk5vIG92ZXJsb2FkIG1hdGNoZXMgdGhpcyBjYWxsLlwiLFxuICAgICAgICBleGFtcGxlY2hpbGRyZW46IDw+PC8+LFxuICAgICAgICBzb2x1dGlvbmNoaWxkcmVuOiA8PjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICB0YWdzOiBbXCJyZWFjdFwiLCBcIm1vZHVsZVwiXSxcbiAgICAgICAgdGl0bGU6IFwiTW9kdWxlIFogaGFzIGFscmVhZHkgZXhwb3J0ZWQgYSBtZW1iZXIgbmFtZWQgQS4gQ29uc2lkZXIgZXhwbGljaXRseSByZS1leHBvcnRpbmcgdG8gcmVzb2x2ZSB0aGUgYW1iaWd1aXR5LlwiLFxuICAgICAgICBleGFtcGxlY2hpbGRyZW46IDw+aW5kZXgudHN4OiBcbiAgICAgICAgPHAgY2xhc3NOYW1lPVwicHJvYmxlbS1lcnJvclwiPiBNb2R1bGUgXCIuL0JmaC50c3hcIiBoYXMgYWxyZWFkeSBleHBvcnRlZCBhIG1lbWJlciBuYW1lZCAnTGFiVGFicycuIENvbnNpZGVyIGV4cGxpY2l0bHkgcmUtZXhwb3J0aW5nIHRvIHJlc29sdmUgdGhlIGFtYmlndWl0eS48L3A+XG4gICAgICAgIDwvPixcbiAgICAgICAgc29sdXRpb25jaGlsZHJlbjogPD48cD5TaW1wbHkgcmVuYW1lIHRoZSBmdW5jdGlvbiBpbiBvbmUgb2YgdGhlIG1vZHVsZXMgb3IgY29uc2lkZXIgbWFraW5nIGl0IGEgY29tcG9uZW50IGlmIHlvdSBwbGFuIG9uIHVzaW5nIGl0IGZyZXF1ZW50bHkuICBcbiAgICAgIDwvcD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGFnczogW1wicGlwZWxpbmVcIl0sXG4gICAgICAgIHRpdGxlOiBcImVycm9yIFRTNjEzMzogJ2V2ZW50JyBpcyBkZWNsYXJlZCBidXQgaXRzIHZhbHVlIGlzIG5ldmVyIHJlYWQuXCIsXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD5Ib3Jpem9udGFsVGltZWxpbmUudHN4OiBcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXJtaW5hbC1ib3hcIj5cbiAgICAgICAgICAkIHlhcm4gYnVpbGRcbiAgICAgICAgICA8cD55YXJuIHJ1biB2MS4yMi4xOTwvcD5cbiAgICAgICAgICA8cD4kIHRzYyAmJiB2aXRlIGJ1aWxkPC9wPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRlcm1pbmFsLWVycm9yXCI+c3JjL2NvbXBvbmVudHMvSG9yaXpvbnRhbFRpbWVsaW5lLnRzeCg2NywyMyk6IGVycm9yIFRTNjEzMzogJ2V2ZW50JyBpcyBkZWNsYXJlZCBidXQgaXRzIHZhbHVlIGlzIG5ldmVyIHJlYWQuXG4gICAgICAgICAgZXJyb3IgQ29tbWFuZCBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMi48L3A+XG4gICAgICAgICAgPHA+aW5mbyBWaXNpdCBodHRwczovL3lhcm5wa2cuY29tL2VuL2RvY3MvY2xpL3J1biBmb3IgZG9jdW1lbnRhdGlvbiBhYm91dCB0aGlzIGNvbW1hbmQuPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8cD5pbjwvcD5cbiAgICAgICAgPENvZGU+XG4gICAgICAgIGNvbnN0IG9wZW5Qb3AgPSAgKGV2ZW50IDogUmVhY3QuTW91c2VFdmVudCZsdDtIVE1MQnV0dG9uRWxlbWVudCwgTW91c2VFdmVudCZndDspID0mZ3Q7IHt9XG4gICAgICAgIDwvQ29kZT48Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PHA+Q2hhbmdlIHRvOiA8L3A+XG4gICAgICAgIDxDb2RlPlxuICAgICAgICBjb25zdCBvcGVuUG9wID0gIChfZXZlbnQgOiBSZWFjdC5Nb3VzZUV2ZW50Jmx0O0hUTUxCdXR0b25FbGVtZW50LCBNb3VzZUV2ZW50Jmd0OykgPSZndDsge31cbiAgICAgICAgPC9Db2RlPjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICB0YWdzOiBbXCJodG1sXCJdLFxuICAgICAgICB0aXRsZTogXCJVbmV4cGVjdGVkIHRva2VuLiBEaWQgeW91IG1lYW4gYHsnPid9YCBvciBgJmd0O2A/XFxcIiBpZD1cXFwid2lraS10cm91YmxlLTE2XCIsXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD48Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcInJlYWN0XCIsIFwidHlwZVwiXSxcbiAgICAgICAgdGl0bGU6IFwiVHlwZSAneCB8IHVuZGVmaW5lZCcgaXMgbm90IGFzc2lnbmFibGUgdG8gdHlwZSAneCdcIixcbiAgICAgICAgZXhhbXBsZWNoaWxkcmVuOiA8PjwvPixcbiAgICAgICAgc29sdXRpb25jaGlsZHJlbjogPD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGFnczogW1wicmVhY3RcIiwgXCJ0eXBlXCIsIFwicHJvcGVydGllc1wiXSxcbiAgICAgICAgdGl0bGU6IFwiVHlwZSBYIGlzIG1pc3NpbmcgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIGZyb20gdHlwZSBZOiBhLCBiLCBjXCIsXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD48cCBjbGFzc05hbWU9XCJwcm9ibGVtLWVycm9yXCI+XG4gICAgICAgIFR5cGUgJyYjMTIzOyBkYXRlOiBzdHJpbmc7IHRleHQ6IHN0cmluZzsgJiMxMjU7JyBpcyBtaXNzaW5nIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyBmcm9tIHR5cGUgJ1RleHRFdmVudFByb3BzJzogbWFya2VyLCBjYXJkXG4gICAgICAgIDwvcD5cbiAgICAgICAgPHA+SW4gcmVmZXJlbmNlIG9mIHRoZSBpbnRlcmZhY2UgVGV4dEV2ZW50UHJvcHM6PC9wPlxuICAgICAgICA8Q29kZT5cbiAgICAgICAgPHA+aW50ZXJmYWNlIFRleHRFdmVudFByb3BzICYjMTIzOyA8L3A+XG4gICAgICAgIDxwPmRhdGU6IHN0cmluZzsgPC9wPlxuICAgICAgICA8cD50ZXh0OiBzdHJpbmc7IDwvcD5cbiAgICAgICAgPHA+bWFya2VyOiBSZWFjdC5SZWFjdE5vZGU7IDwvcD5cbiAgICAgICAgPHA+aWQ6IHN0cmluZzsgPC9wPlxuICAgICAgICA8cD5jYXJkOiBGdW5jdGlvbjsgPC9wPlxuICAgICAgICAmIzEyNTtcbiAgICAgICAgPC9Db2RlPlxuICAgICAgICA8cD5Gb3IgdGhlIGNvZGU6PC9wPlxuICAgICAgICA8Q29kZT5cbiAgICAgICAgICA8cD4gJmx0O1RleHRFdmVudCA8L3A+XG4gICAgICAgICAgPHA+IGlkPVwiMDVcIjwvcD5cbiAgICAgICAgICA8cD4gZGF0ZT1cIjE0LTA2LTIwMjRcIjwvcD5cbiAgICAgICAgICA8cD4gdGV4dD1cIlRlc3QgdGVzdFwiPC9wPlxuICAgICAgICAgIDxwPiAvJmd0OzwvcD5cbiAgICAgICAgPC9Db2RlPjwvPixcbiAgICAgICAgc29sdXRpb25jaGlsZHJlbjogPD5cbiAgICAgICAgPGg2PlNvbHV0aW9uczwvaDY+XG4gICAgICAgIDxwPk9uZSBzb2x1dGlvbiBjb3VsZCBiZSBnZXR0aW5nIHJpZCBvZiB0aGUgcHJvcGVydGllcyB5b3UgZG8gbm90IG5lZWQgZXZlcnl3aGVyZSBhbmQgY3JlYXRlIG5ldyBwcm9wZXJ0eSBpbnRlcmZhY2VzIGZvciBhbGwgY2FzZXMuPC9wPlxuICAgICAgICA8cD5JZiB5b3Ugd2FudCB0byBzdGljayB0byBtb3JlIGdlbmVyYWwgSW50ZXJmYWNlcywgeW91IGNhbiBtYWtlIHByb3BlcnRpZXMgb3B0aW9uYWw6PC9wPlxuICAgICAgICA8Q29kZT5cbiAgICAgICAgPHA+aW50ZXJmYWNlIFRleHRFdmVudFByb3BzICYjMTIzOyA8L3A+XG4gICAgICAgIDxwPmRhdGU6IHN0cmluZzsgPC9wPlxuICAgICAgICA8cD50ZXh0OiBzdHJpbmc7IDwvcD5cbiAgICAgICAgPHA+bWFya2VyPzogUmVhY3QuUmVhY3ROb2RlOyA8L3A+XG4gICAgICAgIDxwPmlkOiBzdHJpbmc7IDwvcD5cbiAgICAgICAgPHA+Y2FyZD86IEZ1bmN0aW9uOyA8L3A+XG4gICAgICAgICYjMTI1O1xuICAgICAgICA8L0NvZGU+XG4gICAgICAgIDxwPlJlbWVtYmVyIHRoYXQgdGhpcyBjYW4gbGVhZCB0byBkaWZmZXJlbnQgcmV0dXJuIGNhc2VzIGZvciB5b3VyIGZ1bmN0aW9ucy48L3A+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcInJlYWN0XCIsIFwidHlwZVwiLCBcInByb3BlcnRpZXNcIl0sXG4gICAgICAgIHRpdGxlOiBcIlByb3BlcnR5IHggZG9lcyBub3QgZXhpc3Qgb24gdHlwZSBZLlwiLFxuICAgICAgICBleGFtcGxlY2hpbGRyZW46IDw+PC8+LFxuICAgICAgICBzb2x1dGlvbmNoaWxkcmVuOiA8PjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICB0YWdzOiBbXCJyZWFjdFwiLCBcInR5cGVcIiwgXCJwcm9wZXJ0aWVzXCJdLFxuICAgICAgICB0aXRsZTogXCJQcm9wZXJ0eSB4IGlzIG1pc3NpbmcgaW4gdHlwZSB5IGJ1dCByZXF1aXJlZCBpbiB0eXBlIHouXCIsXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD48cCBjbGFzc05hbWU9XCJwcm9ibGVtLWVycm9yXCI+IEFyZ3VtZW50IG9mIHR5cGUgJyYjMTIzOyBbeDogc3RyaW5nXTogYW55OyAmIzEyNTsnIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHBhcmFtZXRlciBvZiB0eXBlICcmIzEyMzsgY2xhc3NOYW1lczogc3RyaW5nW107ICYjMTI1OycuXG4gICAgICAgIFByb3BlcnR5ICdjbGFzc05hbWVzJyBpcyBtaXNzaW5nIGluIHR5cGUgJyYjMTIzOyBbeDogc3RyaW5nXTogYW55OyAmIzEyNTsnIGJ1dCByZXF1aXJlZCBpbiB0eXBlICcmIzEyMzsgY2xhc3NOYW1lczogc3RyaW5nW107ICYjMTI1OycuPC9wPlxuICAgICAgICA8cD4gZm9yIDwvcD5cbiAgICAgICAgPENvZGU+Y2xhc3NOYW1lPSYjMTIzO2pvaW5DbGFzc05hbWVzKCYjMTIzO1smIzM5O3RleHQtZXZlbnQmIzM5OywgY2xhc3NOYW1lXSYjMTI1OykmIzEyNTsgPC9Db2RlPlxuICAgICAgICA8Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PHA+SW4gdGhpcyBleGFtcGxlLCB0aGUgcHJvYmxlbSB3YXMgdGhhdCB0aGUgcHJvcGVydHkgXCJjbGFzc05hbWVzXCIgd2FzIG5vdCBleHBsaWNpdGx5IG5hbWVkLjwvcD5cbiAgICAgICAgPHA+Q2hhbmdpbmcgaXQgdG8gPC9wPlxuICAgICAgICAgIDxDb2RlPmNsYXNzTmFtZT0mIzEyMztqb2luQ2xhc3NOYW1lcygmIzEyMzs8Yj5jbGFzc05hbWVzOjwvYj5bJiMzOTt0ZXh0LWV2ZW50ICYjMzk7LCBjbGFzc05hbWVdJiMxMjU7KSYjMTI1OzwvQ29kZT5cbiAgICAgICAgPC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcImNzc1wiXSxcbiAgICAgICAgdGl0bGU6IFwiSSBhZGRlZCBjc3Mgc3R5bGVzIGJ1dCB0aGV5IGRvIG5vdCBzaG93XCIsXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD48cD5UaGUgY29sb3IgaXMgbm90IHNob3dpbmcgb24gaG92ZXIuPC9wPlxuICAgICAgICA8Q29kZT4ubmF2LWxpbms6aG92ZXIgJiMxMjM7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWRhcmtwdXJwbGUpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXllbGxvdykgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgJiMxMjU7PC9Db2RlPjwvPixcbiAgICAgICAgc29sdXRpb25jaGlsZHJlbjogPD48cD5TdHlsZXMgbm90IHNob3dpbmcgaXMgb2Z0ZW4gYSBjYXNlIG9mIGEgZGlmZmVyZW50IHN0eWxlIG92ZXJyaWRpbmcgeW91ciBzdHlsZS4gU29tZSBzdHlsZXMgYXJlIHByZSBkZWZpbmVkIGJ5IGJvb3RzdHJhcCBvciBvdGhlciBwYWNrYWdlcyB5b3UgbWF5IHVzZS4gPC9wPlxuICAgICAgICA8cD4gSWYgYW4gZXh0ZXJuYWwgcGFja2FnZSBpcyBvdmVycmlkaW5nIHlvdXIgc3R5bGUsIHlvdSBuZWVkIHRvIGFkZCB0aGUgPGI+IWltcG9ydGFudDwvYj4gdGFnIHRvIHlvdXIgc3R5bGUuIDwvcD5cbiAgICAgICAgPHA+IElmIG9uZSBvZiB5b3VyIG93biBzdHlsZXMgaXMgb3ZlcnJpZGluZyB0aGUgbmV3IHN0eWxlLCB5b3UgY2FuIGNoYW5nZSB5b3VyIG9sZCBzdHlsZSBvciBkZWZpbmUgYSBuZXcsIG1vcmUgc3BlY2lmaWMgc3R5bGUgY2FzZS4gRS5nLiBieSB1c2luZyBhIG1vcmUgc3BlY2lmaWMgY3NzIHBhdGguIEJ1dCB5b3UgbWF5IHN0aWxsIG5lZWQgdG8gYWRkIHRoZSA8Yj4haW1wb3J0YW50PC9iPiB0YWcuIDwvcD5cbiAgICAgICAgPENvZGU+IC5uYXYtbGluazpob3ZlciAmIzEyMztcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZGFya3B1cnBsZSkgPGI+IWltcG9ydGFudDwvYj47XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93KSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAmIzEyNTtcbiAgICAgICAgICA8L0NvZGU+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcImNzc1wiLCBcInNjcmlwdFwiXSxcbiAgICAgICAgdGl0bGU6IFwiKHN1YnRhYnNbaV0gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSBcXFwieFxcXCI7IGlzIG5vdCB3b3JraW5nLlwiLFxuICAgICAgICBleGFtcGxlY2hpbGRyZW46IDw+PC8+LFxuICAgICAgICBzb2x1dGlvbmNoaWxkcmVuOiA8PjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICB0YWdzOiBbXCJyZWFjdFwiLCBcInNjcmlwdFwiXSxcbiAgICAgICAgdGl0bGU6IFwiUHJvcGVydHkgJ3N0eWxlJyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlICdFbGVtZW50Jy5cIixcbiAgICAgICAgZXhhbXBsZWNoaWxkcmVuOiA8PlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJwcm9ibGVtLWVycm9yXCI+XG4gICAgICAgICAgICBQcm9wZXJ0eSAnc3R5bGUnIGRvZXMgbm90IGV4aXN0IG9uIHR5cGUgJ0VsZW1lbnQnLlxuICAgICAgICA8L3A+XG4gICAgICAgIDxwPmZvciB0aGUgQ29kZTogPC9wPlxuICAgICAgICA8Q29kZT5cbiAgICAgICAgY29uc3Qgc3VidGFicyAmI3gzRDsgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgmcXVvdDtzaWRlc3VidGFiJnF1b3Q7KTtcblxuICAgICAgICBmb3IgKGxldCBpICYjeDNEOyAwOyBpICZsdDsgc3VidGFicy5sZW5ndGg7IGkrKykgJiMxMjM7XG4gICAgICAgICAgICAoc3VidGFic1tpXSkuc3R5bGUuZGlzcGxheSAmI3gzRDsgJnF1b3Q7bm9uZSZxdW90OztcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxcJiN4NjA7SGlkaW5nIHN1YnRhYjogJCYjMTIzO3N1YnRhYnNbaV0uaWQmIzEyNTtcXCYjeDYwOyk7XG4gICAgICAgICAgICAmIzEyNTtcbiAgICAgICAgPC9Db2RlPlxuICAgICAgICA8Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PC8+XG4gICAgfSxcblxuXG4gICAgXSIsICJcbmltcG9ydCB7IFdpa2lTZWxlY3RvciB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0ZpbHRlclwiO1xuaW1wb3J0IHsgRmlsdGVyYWJsZXMgfSBmcm9tIFwiLi9GaWx0ZXJhYmxlc1wiO1xuaW1wb3J0IHsgdHJvdWJsZWRhdGEgfSBmcm9tIFwiLi90cm91YmxlLWRhdGFcIjtcbmV4cG9ydCBmdW5jdGlvbiBUcm91Ymxlc2hvb3RpbmcoKXtcbiAgbGV0IGl0ZW1zID0gRmlsdGVyYWJsZXModHJvdWJsZWRhdGEpXG4gIHJldHVybihcbiAgICA8ZGl2PlxuICAgICAgUGxlYXNlIHNlbGVjdCB3aGF0IHlvdSB3YW50IHRvIHRyb3VibGVzaG9vdCBmb3IuIFxuICAgICAgPFdpa2lTZWxlY3Rvcj48L1dpa2lTZWxlY3Rvcj5cbiAgICAgIDxkaXYgaWQ9XCJub25vXCIgY2xhc3NOYW1lPVwibm9zaG93XCI+XG4gICAgICAgIFRoaXMgY29tYmluYXRpb24gcmV0dXJucyBubyBpbnN0YW5jZXMuIFxuICAgICAgPC9kaXY+XG4gICAgICB7aXRlbXN9XG5cblxuXG5cblxuXG5cblxuXG4gICAgPC9kaXY+XG4gIClcbn0gXG4iLCAiXG5leHBvcnQgZnVuY3Rpb24gV2lraU92ZXJ2aWV3KCl7XG5cbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPHA+VG8gaGVscCB0ZWFtcyBnZXQgc3RhcnRlZCwgd2Ugd3JvdGUgZG93biB3aGF0IHdlIHdpc2hlZCB3ZSB3b3VsZCBoYXZlIGVhc2lseSBmb3VuZCB3aGlsZSBidWlsZGluZyBvdXIgd2lraSB3aXRoIFJlYWN0LjwvcD5cbiAgICAgICAgICAgICAgICA8cD48Yj5HZXR0aW5nIHN0YXJ0ZXQ8L2I+IGV4cGxhaW5zIHNvbWUgYmFzaWNzIHRoYXQgYXJlIGltcG9ydGFudCB0byBrbm93LiBUaGlzIGVzcGVjaWFsbHkgY29uY2VybnMgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gdXNpbmcgcGxhaW4gSFRNTCBhbmQgUmVhY3QsIGJ1dCB0aGUgc3RydWN0dXJlIG9mIHRoZSB3aWtpLCB0b28uIDwvcD5cbiAgICAgICAgICAgICAgICA8cD48Yj5Ucm91Ymxlc2hvb3Rpbmc8L2I+IGlzIGFuIGl0ZXJhY3RpdmUgc2VhcmNoIGZvciBwcm9ibGVtcyB0aGF0IG1heSBhcmlzZSBhbmQgaG93IHdlIHNvbHZlZCB0aGVtLiAgPC9wPlxuICAgICAgICAgICAgICAgIDxwPjxiPkNvbXBvbmVudHM8L2I+IGNvbnRhaW5zIHNvbWUgY29tcG9uZW50cyB3ZSB1c2VkIHRoYXQgd2UgZm91bmQgdmVyeSBoZWxwZnVsLiBNYW55IHBhY2thZ2VzIHRoYXQgb2ZmZXIgY29tcG9uZW50cyBzdWNoIGFzIHRpbWVsaW5lcyB3ZXJlIG5vdCBleGFjdGx5IHdoYXQgd2Ugd2VyZSBsb29raW5nIGZvciBvciBkaWQgbm90IHdvcmsgd2l0aCBvdXIgcGFja2FnZXMuIFRoZSBzb2x1dGlvbiB3YXMgdG8gY3JlYXRlIG91ciBvd24gY29tcG9uZW50cy4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPjxiPkRvd25sb2FkczwvYj4gY29udGFpbnMgc3ZncyB3ZSBjcmVhdGVkIC0gbm90IGFsbCBvZiB0aGVtIHdlIHdlcmUgYWJsZSB0byB1c2UuIDwvcD5cbiAgICAgICAgICAgICAgICA8cD48Yj5SZXNvdXJjZXM8L2I+IGNvbnRhaW5zIGxpbmtzIHp1IGhlbHBmdWwgZXh0ZXJuYWwuIDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufSIsICJpbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIjtcbmltcG9ydCB7IFdpa2lUYWJzIH0gZnJvbSBcIi4vd2lraS10YWJzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBXaWtpICAoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiV2lraVwiIGlkPVwiV2lraVwiPlxuICAgICAgICAgICAgPFdpa2lUYWJzPjwvV2lraVRhYnM+IFxuICAgICAgICAgPC9TZWN0aW9uPlxuICAgICk7XG4gIH1cbiAgIiwgImltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgTWVldFVQIH0gZnJvbSBcIi4vQkZIL2JmaFwiO1xuaW1wb3J0IHsgQ29sbGFiQ29udHJpYnV0aW9uIH0gZnJvbSBcIi4vY29sbGFic1wiO1xuaW1wb3J0IHsgUGF0aWVudENvbnRyaWJ1dGlvbiB9IGZyb20gXCIuL3BhdGllbnQtY29udHJpYnV0aW9uXCI7XG5pbXBvcnQgeyBTYWZldHlDb250cmlidXRpb24gfSBmcm9tIFwiLi9zYWZldHktY29udHJpYnV0aW9uXCI7XG5pbXBvcnQgeyBXaWtpIH0gZnJvbSBcIi4vV2lraS93aWtpXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBDb250cmlidXRpb24oKSB7XG4gIHVzZVRhYk5hdmlnYXRpb24oKTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPE1lZXRVUC8+XG4gICAgICA8U2FmZXR5Q29udHJpYnV0aW9uLz5cbiAgICAgIDxDb2xsYWJDb250cmlidXRpb24vPlxuICAgICAgPFBhdGllbnRDb250cmlidXRpb24vPlxuICAgICAgPFdpa2kvPlxuICAgIDwvPlxuICApO1xufVxuXG5cblxuXG5cblxuXG5cblxuXG4iLCAiXG5cbmV4cG9ydCBmdW5jdGlvbiBCdWxiQm94KHt0aXRsZSwgY2hpbGRyZW59Ont0aXRsZTogc3RyaW5nLCBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlfSl7XG4gICAgcmV0dXJuKFxuICAgICAgICA8YXNpZGUgY2xhc3NOYW1lPVwiaGludC1jb250YWluZXIgdGlwXCI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiaGludC1jb250YWluZXItdGl0bGVcIj5cbiAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ2LWNhcmQtdGV4dFwiPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2FzaWRlPlxuICAgIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFFhQm94KHtxLCBhfTp7cTogc3RyaW5nLCBhOiBSZWFjdC5SZWFjdE5vZGV9KXtcbiAgcmV0dXJuKFxuICAgICA8ZGl2IGNsYXNzTmFtZT1cInFhYm94XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInF1ZXN0aW9uLWJ1YmJsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICB7cX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicXVlc3Rpb24tYnViYmxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIHthfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICA8L2Rpdj5cbiAgKVxufVxuZXhwb3J0IGZ1bmN0aW9uIFNwZWNpYWxRYUJveCh7cSwgY2hpbGRyZW59OntxOiBzdHJpbmcsIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGV9KXtcbiAgcmV0dXJuKFxuICAgICA8ZGl2IGNsYXNzTmFtZT1cInFhYm94XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInF1ZXN0aW9uLWJ1YmJsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICB7cX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicXVlc3Rpb24tYnViYmxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgPC9kaXY+XG4gIClcbn1cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBJbmZvQm94KHt0aXRsZSwgY2hpbGRyZW4sIGlkfTp7dGl0bGU6IHN0cmluZywgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSwgaWQ6IHN0cmluZ30pe1xuICAgIHJldHVybihcbiAgICAgICAgPGFzaWRlIGNsYXNzTmFtZT1cImhpbnQtY29udGFpbmVyIGluZm9cIiBpZD17aWR9PlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImhpbnQtY29udGFpbmVyLXRpdGxlXCI+XG4gICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidi1jYXJkLXRleHRcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgKVxufVxuZXhwb3J0IGZ1bmN0aW9uIFdhcm5Cb3goe3RpdGxlLCBjaGlsZHJlbn06e3RpdGxlOiBzdHJpbmcsIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGV9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxhc2lkZSBjbGFzc05hbWU9XCJoaW50LWNvbnRhaW5lciB3YXJuaW5nXCI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiaGludC1jb250YWluZXItdGl0bGVcIj5cbiAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ2LWNhcmQtdGV4dFwiPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2FzaWRlPlxuICAgIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJsdWVJbmZvQm94KHt0aXRsZSwgY2hpbGRyZW59Ont0aXRsZTogc3RyaW5nLCBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlfSl7XG4gIHJldHVybihcbiAgICAgIDxhc2lkZSBjbGFzc05hbWU9XCJoaW50LWNvbnRhaW5lciBkYW5nZXJcIj5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwiaGludC1jb250YWluZXItdGl0bGVcIj5cbiAgICAgICAgICB7dGl0bGV9XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ2LWNhcmQtdGV4dFwiPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvYXNpZGU+XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE5vdGVCb3goe3RpdGxlLCBjaGlsZHJlbiwgaWR9Ont0aXRsZTogc3RyaW5nLCBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlLCBpZDogc3RyaW5nfSl7XG4gIHJldHVybihcbiAgICAgIDxhc2lkZSBjbGFzc05hbWU9XCJoaW50LWNvbnRhaW5lciBub3RlXCIgaWQ9e2lkfT5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwiaGludC1jb250YWluZXItdGl0bGVcIj5cbiAgICAgICAgICB7dGl0bGV9XG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ2LWNhcmQtdGV4dFwiPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvYXNpZGU+XG4gIClcbn0iLCAiLy8gVGhlIG1haW4gdGFiIGhhcyB0byBiZSBnaXZlbiBkaXNwbGF5OiBibG9jazsgdmlhIGlkIGNzcyBvciBiZSBnaXZlbiB0aGUgaWQgXCJGaXJzdFwiXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uUm93VGFicyh7ZGF0YSwgY2xhfToge2RhdGE6IEFycmF5PFRhYkRhdGVuc2F0ej4sIGNsYTogc3RyaW5nfSkge1xuICAgIGxldCByb3dzOiBKU1guRWxlbWVudFtdICA9IFtdXG4gICAgZm9yICggbGV0IGkgPSAwOyAgaSA8IGRhdGEubGVuZ3RoOyBpKysgKXtcbiAgICAgIGlmKGRhdGFbaV0ubWFpbiA9PSB0cnVlKXtcbiAgICAgICAgcm93cy5wdXNoKDxkaXYgaWQ9e2RhdGFbaV0uY3NzbmFtZX0gY2xhc3NOYW1lPXtjbGF9IHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAge2RhdGFbaV0ubm9kZX1cbiAgICAgICAgPC9kaXY+KVxuICAgICAgfVxuICAgICAgZWxzZXtcbiAgICAgICAgcm93cy5wdXNoKDxkaXYgaWQ9e2RhdGFbaV0uY3NzbmFtZX0gY2xhc3NOYW1lPXtjbGF9IHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICB7ZGF0YVtpXS5ub2RlfVxuICAgICAgICA8L2Rpdj4pXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByb3dzOyBcbiAgfVxuICBcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEJsb2NrUXVvdGVCIH0gZnJvbSBcIi4vUXVvdGVzXCI7XG5pbXBvcnQgeyBUaW1lbGluZURhdGVucHVua3QgfSBmcm9tIFwiLi4vZGF0YS9ocHRpbWVsaW5lZGF0YVwiO1xuaW1wb3J0IENvbGxhcHNpYmxlIGZyb20gXCIuL0NvbGxhcHNpYmxlXCI7XG5pbXBvcnQgeyBzdHJpbmdUb1NsdWcgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuLyogaW1wb3J0IHsgc3RyaW5nVG9TbHVnIH0gZnJvbSBcIi4uL3V0aWxzXCI7ICovXG4gIFxuICBleHBvcnQgZnVuY3Rpb24gQkZIU3R5bGVUYWJzKHtkYXRhLCBjbGF9OiB7ZGF0YTogQXJyYXk8VGltZWxpbmVEYXRlbnB1bmt0PiwgY2xhOiBzdHJpbmd9KSB7XG4gICAgbGV0IHJvd3M6IEpTWC5FbGVtZW50W10gID0gW11cbiAgICBmb3IgKCBsZXQgaSA9IDA7ICBpIDwgZGF0YS5sZW5ndGg7IGkrKyApe1xuICAgICAgdmFyIHByb2JsZW06IEJvb2xlYW4gPSBmYWxzZTsgXG4gICAgICB2YXIgcHJvYmxlbV9kZXNjOiBBcnJheTxzdHJpbmc+ID0gW107XG4gICAgICAvKiBMYW5ndWFnZSAqL1xuICAgICAgdmFyIGxhbmc7IFxuICAgICAgaWYoZGF0YVtpXS5sYW5ndWFnZSA9PT0gXCJlblwiKXtcbiAgICAgICAgbGFuZyA9IFwiT3JpZ2luYWwgbGFuZ3VhZ2U6IEVuZ2xpc2hcIlxuICAgICAgfVxuICAgICAgZWxzZSBpZihkYXRhW2ldLmxhbmd1YWdlID09PSBcImRlXCIpe1xuICAgICAgICBsYW5nID0gXCJPcmlnaW5hbCBsYW5ndWFnZTogR2VybWFuXCJcbiAgICAgIH1cbiAgICAgIGVsc2V7XG4gICAgICAgIGxhbmcgPSBcIlwiXG4gICAgICB9XG4vKiAgICAgICBlbHNlIGlmKGRhdGFbaV0udHlwZSAhPSBcIm1ldGFcIil7XG4gICAgICAgIHByb2JsZW0gPSB0cnVlO1xuICAgICAgICBwcm9ibGVtX2Rlc2MucHVzaChcImludGVydmlldyBsYW5ndWFnZVwiKTsgXG4gICAgICB9ICovXG4gICAgICBcbiAgICAgIC8qIEV4cGVydCBvbiAgKi9cbiAgICAgIGxldCBleHBlcnQgPSBcIlwiOyBcbiAgICAgIGlmIChkYXRhW2ldLmV4cGVydG9uKSB7XG4gICAgICAgIGV4cGVydCA9IGBFeHBlcnQgb24gJHtkYXRhW2ldLmV4cGVydG9ufWA7IFxuICAgICAgfVxuXG4gICAgICAvKiBBaW0vR29hbCAqL1xuICAgICAgdmFyIGdvYWxoZWFkaW5nOiBzdHJpbmcgPSBcIlwiOyBcbiAgICAgIGlmKGRhdGFbaV0udHlwZSA9PT0gXCJtZXRhXCIpe1xuICAgICAgICBnb2FsaGVhZGluZyA9IFwiR29hbHNcIjsgXG4gICAgICB9XG4gICAgICBlbHNle1xuICAgICAgICBnb2FsaGVhZGluZyA9IFwiQWltIG9mIGNvbnRhY3RcIlxuICAgICAgfVxuXG4gICAgICAvKiBRdW90YXRpb24gKi9cbiAgICAgIHZhciBxdW90ZWQ6IHN0cmluZyA9IFwiXCI7IFxuICAgICAgaWYoZGF0YVtpXS5xdW90ZSAhPSBcIlwiKXtcbiAgICAgICAgaWYoZGF0YVtpXS5xdW90ZU5hY2huYW1lICYmIGRhdGFbaV0ucXVvdGVWb3JuYW1lKXtcbiAgICAgICAgICBxdW90ZWQgPSBkYXRhW2ldLnF1b3RlVm9ybmFtZSArIFwiIFwiICsgZGF0YVtpXS5xdW90ZU5hY2huYW1lO1xuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgcXVvdGVkID0gZGF0YVtpXS52b3JuYW1lICsgXCIgXCIgKyBkYXRhW2ldLm5hY2hubmFtZTsgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgLyogIGVsc2V7XG4gICAgICAgIHByb2JsZW0gPSB0cnVlO1xuICAgICAgICBwcm9ibGVtX2Rlc2MucHVzaChcInF1b3RlIG1pc3NpbmdcIik7IFxuICAgICAgfSAqL1xuICAgICAgICBsZXQgaW52X2ltZzogUmVhY3QuUmVhY3ROb2RlID0gPD48Lz47XG4gICAgICAgIGxldCBpbXBfaW1nOiBSZWFjdC5SZWFjdE5vZGUgPSA8PjwvPjtcbiAgICAgICAgbGV0IGFpbV9pbWc6IFJlYWN0LlJlYWN0Tm9kZSA9IDw+PC8+O1xuICAgICAgXG4gICAgICAgIC8vIFJlc3RsaWNoZSBMb2dpayBkZXIgU2NobGVpZmUuLi5cbiAgICAgICAgLy8gQmlsZHp1d2Vpc3VuZ2VuIGJhc2llcmVuZCBhdWYgZGVuIERhdGVuXG4gICAgICAgIGlmIChkYXRhW2ldLnBpY3R1cmV1cmxfaW50ZXJ2aWV3KSB7XG4gICAgICAgICAgIGludl9pbWcgPSA8ZGl2IGNsYXNzTmFtZT1cImh0aS1ib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e2RhdGFbaV0ucGljdHVyZXVybF9pbnRlcnZpZXd9IGNsYXNzTmFtZT1cImhwLXRpbWVsaW5lLWltZyBodGktcmlnaHRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+O1xuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhW2ldLnBpY3R1cmV1cmxfaW1wbGVtZW50YXRpb24pIHtcbiAgICAgICAgICAgaW1wX2ltZyA9IDxkaXYgY2xhc3NOYW1lPVwiaHRpLWJveFwiPlxuICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17ZGF0YVtpXS5waWN0dXJldXJsX2ltcGxlbWVudGF0aW9ufSBjbGFzc05hbWU9XCJocC10aW1lbGluZS1pbWcgaHRpLXJpZ2h0XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YVtpXS5waWN0dXJldXJsX2FpbSkge1xuICAgICAgICAgICBhaW1faW1nID0gPGRpdiBjbGFzc05hbWU9XCJodGktYm94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtkYXRhW2ldLnBpY3R1cmV1cmxfYWltfSBjbGFzc05hbWU9XCJocC10aW1lbGluZS1pbWcgaHRpLWxlZnRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+O1xuICAgICAgICB9XG4gICAgICAvKiB0ZXh0cGFydHMgKi9cbiAgICAgIGxldCBhaU06IEpTWC5FbGVtZW50ID0gPD48Lz5cbiAgICAgIGlmKGRhdGFbaV0uYWltb2Zjb250YWN0KXtcbiAgICAgICAgYWlNID0gPD5cbiAgICAgICAgPGg0Pntnb2FsaGVhZGluZ308L2g0PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4Ym94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiaHAtdGltZWxpbmUtcFwiPntkYXRhW2ldLmFpbW9mY29udGFjdH08L3A+XG4gICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAge2FpbV9pbWd9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC8+XG4gICAgICB9XG5cbiAgICAgIGxldCBpbnNpZ2hUOiBKU1guRWxlbWVudCA9IDw+PC8+XG4gICAgICBpZihkYXRhW2ldLmluc2lnaHRzKXtcbiAgICAgICAgaW5zaWdoVCA9IDw+XG4gICAgICAgICA8aDQ+SW5zaWdodHM8L2g0PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4Ym94XCI+XG4gICAgICAgICAgICAgICAgICAgIHtpbnZfaW1nfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJocC10aW1lbGluZS1wXCI+e2RhdGFbaV0uaW5zaWdodHN9PC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvPlxuICAgICAgfVxuICAgIFxuICAgICAgbGV0IGltUDogSlNYLkVsZW1lbnQgPSA8PjwvPlxuICAgIGlmKGRhdGFbaV0uaW1wbGVtZW50YXRpb24pe1xuICAgICBpbVAgPSA8PlxuICAgICA8aDQ+SW1wbGVtZW50YXRpb248L2g0PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4Ym94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiaHAtdGltZWxpbmUtcFwiPntkYXRhW2ldLmltcGxlbWVudGF0aW9ufTwvcD5cbiAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB7aW1wX2ltZ31cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgIDwvPlxuICAgIH1cblxuICAgICAgXG4gICAgIFxuICAgICAvKiAgaWYoZGF0YVtpXS5haW1vZmNvbnRhY3QgPT09IFwiXCIpe1xuICAgICAgICBwcm9ibGVtID0gdHJ1ZTtcbiAgICAgICAgcHJvYmxlbV9kZXNjLnB1c2goXCIgXCIgKyBnb2FsaGVhZGluZyArIFwiIG1pc3NpbmdcIik7IFxuICAgICAgfVxuICAgICAgaWYoZGF0YVtpXS5pbnNpZ2h0cyA9PT0gXCJcIil7XG4gICAgICAgIHByb2JsZW0gPSB0cnVlO1xuICAgICAgICBwcm9ibGVtX2Rlc2MucHVzaChcIiBpbnNpZ2h0cyBtaXNzaW5nXCIpOyBcbiAgICAgIH1cbiAgICAgIGlmKGRhdGFbaV0uaW1wbGVtZW50YXRpb24gPT09IFwiXCIpe1xuICAgICAgICBwcm9ibGVtID0gdHJ1ZTtcbiAgICAgICAgcHJvYmxlbV9kZXNjLnB1c2goXCIgaW1wbGVtZW50YXRpb24gbWlzc2luZ1wiKTsgXG4gICAgICB9ICovXG4gICAgICAvKiBDbGFyaWZpY2F0aW9uICovXG4gICAgICB2YXIgY2xhcmk6IFJlYWN0LlJlYWN0Tm9kZSA9IDw+PC8+XG4gICAgICBpZihkYXRhW2ldLmNsYXJpZmljYXRpb24pe1xuICAgICAgICBjbGFyaSA9IDw+XG4gICAgICAgICAgICAgICAgICA8aDQ+Q2xhcmlmaWNhdGlvbjwvaDQ+XG4gICAgICAgICAgICAgICAgICA8cD57ZGF0YVtpXS5jbGFyaWZpY2F0aW9ufTwvcD5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgIH1cbiAgICAgIC8qIE90aGVyIHdhcm5pbmdzICovXG4gICAgICBpZihkYXRhW2ldLmludGVydmlld3RhYmlkID09PSBcIlwiKXtcbiAgICAgICAgcHJvYmxlbSA9IHRydWU7XG4gICAgICAgIHByb2JsZW1fZGVzYy5wdXNoKFwiIGludGVydmlld3RhYmlkIG1pc3NpbmdcIik7IFxuICAgICAgfVxuICAgICAvKiAgaWYoZGF0YVtpXS5jYXJkdGV4dCA9PT0gXCJcIil7XG4gICAgICAgIHByb2JsZW0gPSB0cnVlO1xuICAgICAgICBwcm9ibGVtX2Rlc2MucHVzaChcIiBjYXJkdGV4dCBtaXNzaW5nXCIpOyBcbiAgICAgIH0gKi9cbiAgICAgIC8qIGlmKGRhdGFbaV0udHlwZSAhPT0gXCJtZXRhXCIpe1xuICAgICAgICBpZihkYXRhW2ldLmFmZmlsaWF0aW9uID09PSB1bmRlZmluZWQgfHwgZGF0YVtpXS5hZmZpbGlhdGlvbiA9PT0gXCJcIil7XG4gICAgICAgICAgcHJvYmxlbSA9IHRydWU7XG4gICAgICAgICAgcHJvYmxlbV9kZXNjLnB1c2goXCIgYWZmaWxpYXRpb24gbWlzc2luZ1wiKTsgXG4gICAgICAgIH1cbiAgICAgICAgaWYoZGF0YVtpXS5qb2IgPT09IHVuZGVmaW5lZCB8fCBkYXRhW2ldLmpvYiA9PT0gXCJcIil7XG4gICAgICAgICAgcHJvYmxlbSA9IHRydWU7XG4gICAgICAgICAgcHJvYmxlbV9kZXNjLnB1c2goXCIgam9iIG1pc3NpbmdcIiApOyBcbiAgICAgICAgfVxuICAgICAgfSAqL1xuICAgICAvKiAgaWYoZGF0YVtpXS50eXBlID09PSBcIm1ldGFcIil7XG4gICAgICAgIGlmKGRhdGFbaV0ucXVvdGVWb3JuYW1lID09PSB1bmRlZmluZWQgfHwgZGF0YVtpXS5xdW90ZVZvcm5hbWUgPT09IFwiXCIpe1xuICAgICAgICAgIHByb2JsZW0gPSB0cnVlO1xuICAgICAgICAgIHByb2JsZW1fZGVzYy5wdXNoKFwiIHdobyBpcyB0aGUgcXVvdGUgZnJvbT9cIiApOyBcbiAgICAgICAgfVxuICAgICAgfSAqL1xuXG4gICAgICAvKiBSZWZlcmVuY2VzICovXG4gICAgICB2YXIgcmVmczogUmVhY3QuUmVhY3ROb2RlID0gPD48Lz47XG4gICAgICBpZiAoZGF0YVtpXS5yZWZlcmVuY2VzKSB7XG4gICAgICAgIHJlZnMgPSA8PiA8aDQ+UmVmZXJlbmNlcyA8L2g0PiB7ZGF0YVtpXS5yZWZlcmVuY2VzfTwvPiBcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLyogRnVydGhlciBwaWN0dXJlcyAqL1xuLyogICAgICAgdmFyIGludl9pbWc6IFJlYWN0LlJlYWN0Tm9kZSA9IDw+PC8+O1xuICAgICAgaWYgKGRhdGFbaV0ucGljdHVyZXVybF9pbnRlcnZpZXcpIHtcbiAgICAgICAgY29uc29sZS5pbmZvKFwiYmVmb3JlOiBpbnZfaW1nIGlzOiBcIiArIGludl9pbWcpXG4gICAgICAgIGNvbnNvbGUuaW5mbyhkYXRhW2ldLnZvcm5hbWUgKyBcIiBoYXMgcGljdHVyZXVybF9pbnRlcnZpZXdcIilcbiAgICAgICAgaW52X2ltZyA9ICA8PiAgPGRpdiBjbGFzc05hbWU9XCJodGktYm94XCI+IDxpbWcgaWQ9e2Ake2RhdGFbaV0udm9ybmFtZX0taW52LWltZ2B9IHNyYz17ZGF0YVtpXS5waWN0dXJldXJsX2ludGVydmlld30gY2xhc3NOYW1lPVwiaHAtdGltZWxpbmUtaW1nIGh0aS1yaWdodFwiLz4gPC9kaXY+IDxkaXYgY2xhc3NOYW1lPVwiaHRpLWFic3RhbmRcIi8+IDwvPlxuICAgICAgICBjb25zb2xlLmluZm8oXCJhZnRlcjogaW52X2ltZyBpczogXCIgKyBpbnZfaW1nKVxuICAgICAgfVxuICAgICAgdmFyIGltcF9pbWc6IFJlYWN0LlJlYWN0Tm9kZSA9IDw+PC8+O1xuICAgICAgaWYgKGRhdGFbaV0ucGljdHVyZXVybF9pbXBsZW1lbnRhdGlvbikge1xuICAgICAgICBjb25zb2xlLmluZm8oZGF0YVtpXS52b3JuYW1lICsgXCIgaGFzIHBpY3R1cmV1cmxfaW1wbGVtZW50YXRpb25cIilcbiAgICAgICAgY29uc29sZS5pbmZvKFwiYmVmb3JlOiBpbXBfaW1nIGlzOiBcIiApXG4gICAgICAgIGNvbnNvbGUuaW5mbyhpbXBfaW1nKVxuICAgICAgICBpbXBfaW1nID0gICA8PiA8ZGl2ICBjbGFzc05hbWU9XCJodGktYWJzdGFuZFwiLz48ZGl2IGNsYXNzTmFtZT1cImh0aS1ib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgIGlkPXtgJHtkYXRhW2ldLnZvcm5hbWV9LWltcC1pbWdgfSBzcmM9e2RhdGFbaV0ucGljdHVyZXVybF9pbXBsZW1lbnRhdGlvbn0gY2xhc3NOYW1lPVwiaHAtdGltZWxpbmUtaW1nIGh0aS1yaWdodFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgIGNvbnNvbGUuaW5mbyhcImFmdGVyOiBpbXBfaW1nIGlzOiBcIiApXG4gICAgICAgIGNvbnNvbGUuaW5mbyhpbXBfaW1nKVxuICAgICAgfVxuICAgICAgdmFyIGFpbV9pbWc6IFJlYWN0LlJlYWN0Tm9kZSA9IDw+PC8+O1xuICAgICAgaWYgKGRhdGFbaV0ucGljdHVyZXVybF9haW0pIHtcbiAgICAgICAgY29uc29sZS5pbmZvKGRhdGFbaV0udm9ybmFtZSArIFwiIGhhcyBwaWN0dXJldXJsX2FpbVwiKVxuICAgICAgICBjb25zb2xlLmluZm8oXCJiZWZvcmU6IGFpbV9pbWcgaXM6IFwiIClcbiAgICAgICAgY29uc29sZS5pbmZvKGFpbV9pbWcpXG4gICAgICAgIGFpbV9pbWcgPSAgPD4gPGRpdiBjbGFzc05hbWU9XCJodGktYWJzdGFuZFwiLz4gPGRpdiBjbGFzc05hbWU9XCJodGktYm94XCI+XG4gICAgICAgIDxpbWcgIGlkPXtgJHtkYXRhW2ldLnZvcm5hbWV9LWFpbS1pbWdgfSBzcmM9e2RhdGFbaV0ucGljdHVyZXVybF9haW19IGNsYXNzTmFtZT1cImhwLXRpbWVsaW5lLWltZyBodGktbGVmdFwiLz4gXG4gICAgICAgIDwvZGl2PjwvPlxuICAgICAgICBjb25zb2xlLmluZm8oXCJhZnRlcjogYWltX2ltZyBpczogXCIgKVxuICAgICAgICBjb25zb2xlLmluZm8oYWltX2ltZylcbiAgICAgIH0gKi9cbiAgICAgXG4gICAgICBsZXQgaW50ID0gPD48Lz47IFxuICAgICAgbGV0IGludF9pZCA9IHN0cmluZ1RvU2x1ZyhgJHtkYXRhW2ldLnZvcm5hbWV9LWludi1jb2xsYXBzaWJsZWApXG4gICAgICBpZiAoZGF0YVtpXS5pbnRlcnZpZXcpIHtcbiAgICAgICAgXG4gICAgICAgICAgaW50ID0gPENvbGxhcHNpYmxlIHRpdGxlPVwiUmVhZCBmdWxsIEludGVydmlldyBoZXJlXCIgaWQ9e2ludF9pZH0+XG4gICAgICAgICAgICB7ZGF0YVtpXS5pbnRlcnZpZXd9XG4gICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgIH1cbiAgICBcbiAgICAgIGxldCBtb3JlcGljczogSlNYLkVsZW1lbnRbXSA9IFtdO1xuICAgICAgbGV0IG9sZHBpY3M6IHN0cmluZ1tdID0gW107XG4gICAgICAvKiBpZihkYXRhW2ldLm1vcmVfcGljdHVyZXMpeyAqL1xuICAgICAgICBpZiAoIWRhdGFbaV0uYWltb2Zjb250YWN0ICYmIGRhdGFbaV0ucGljdHVyZXVybF9haW0pIHtcbiAgICAgICAgICBvbGRwaWNzLnB1c2goZGF0YVtpXS5waWN0dXJldXJsX2FpbSEpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFkYXRhW2ldLmluc2lnaHRzICYmIGRhdGFbaV0ucGljdHVyZXVybF9pbnRlcnZpZXcpIHtcbiAgICAgICAgICBvbGRwaWNzLnB1c2goZGF0YVtpXS5waWN0dXJldXJsX2ludGVydmlldyEpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFkYXRhW2ldLmltcGxlbWVudGF0aW9uICYmIGRhdGFbaV0ucGljdHVyZXVybF9pbXBsZW1lbnRhdGlvbikge1xuICAgICAgICAgIG9sZHBpY3MucHVzaChkYXRhW2ldLnBpY3R1cmV1cmxfaW1wbGVtZW50YXRpb24hKVxuICAgICAgICB9XG4gICAgICAgIGxldCBuZXdsaXN0ID0gb2xkcGljcy5jb25jYXQoZGF0YVtpXS5tb3JlX3BpY3R1cmVzISk7IFxuICAgICAgICBmb3IgKGxldCBpbmQgPSAwOyBpbmQgPCAobmV3bGlzdC5sZW5ndGggLSAxKTsgaW5kICs9IDIpIHtcbiAgICAgICAgICBjb25zb2xlLmluZm8oZGF0YVtpXS52b3JuYW1lKVxuICAgICAgICAgIGNvbnNvbGUuaW5mbyhpbmQgKyBuZXdsaXN0W2luZF0pXG4gICAgICAgICAgY29uc29sZS5pbmZvKGluZCsxICsgbmV3bGlzdFtpbmQrMV0pXG4gICAgICAgICAgbW9yZXBpY3MucHVzaChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIHNyYz17bmV3bGlzdFtpbmRdfS8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIHNyYz17bmV3bGlzdFtpbmQrMV19Lz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIFxuICAgICAvKiAgfSAqL1xuXG4gICAgICBsZXQgbm9kZSA9IDw+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgIDxoMyBpZD17YCR7ZGF0YVtpXS5pbnRlcnZpZXd0YWJpZH0taGVhZGluZ2B9PntkYXRhW2ldLnRpdGxlfSB7ZGF0YVtpXS52b3JuYW1lfSB7ZGF0YVtpXS5uYWNobm5hbWV9PC9oMz5cbiAgICAgICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC02XCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1widC10YWcgXCIgKyBkYXRhW2ldLnRhZ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtkYXRhW2ldLmpvYn0gLSB7ZGF0YVtpXS5hZmZpbGlhdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgc3R5bGU9e3twYWRkaW5nOiBcIjVweFwifX0+e2V4cGVydH08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiBzdHlsZT17e3dpZHRoOiBcIjIwJVwiLCBmbGV4OiBcIjEgMCAwJVwiLCBwYWRkaW5nOiBcIjVweFwifX0+e2xhbmd9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLXN0cmV0Y2hcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZC1mbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgZmxleC1ncm93LTEgbWl0dGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aDQgc3R5bGU9e3twYWRkaW5nVG9wOiBcIjUwcHhcIn19PlN1bW1hcnk6PC9oND5cbiAgICAgICAgICAgICAgICAgICAgICA8cD57ZGF0YVtpXS5zdW1tYXJ5fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyB1bnRlblwiIHN0eWxlPXt7Zm9udFNpemU6IFwibGFyZ2VcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICBTZWUgaG93IHRoaXMgaW5mbHVlbmNlZCBvdXIgcHJvamVjdCBhdCBcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIm1pZGRsZSBzZWNocHJvIGltZy1mbHVpZFwiIHNyYz17ZGF0YVtpXS5waWN0dXJldXJsfSAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICB7LyogIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7cGFkZGluZ1RvcDogXCI1MHB4XCIsIGZvbnRTaXplOiBcImxhcmdlXCJ9fT5TdW1tYXJ5OjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+e2RhdGFbaV0uc3VtbWFyeX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJtaWRkbGUgc2VjaHByb1wiIHNyYz17ZGF0YVtpXS5waWN0dXJldXJsfS8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+ICovfVxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICB7YWlNfVxuXG4gICAgICAgICAgICAgICAgICB7aW5zaWdoVH1cbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAge2NsYXJpfVxuXG4gICAgICAgICAgICAgICAgICB7aW1QfVxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxCbG9ja1F1b3RlQiB0ZXh0PXtkYXRhW2ldLnF1b3RlIX0gY2l0ZT17cXVvdGVkfT48L0Jsb2NrUXVvdGVCPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIHtkYXRhW2ldLnRleHR9XG4gICAgICAgICAgICAgICAgICB7bW9yZXBpY3N9XG4gICAgICAgICAgICAgICAgICB7aW50fVxuICAgICAgICAgICAgICAgICAge3JlZnN9XG4gICAgICAgICAgICA8Lz5cbiAgICAgIGlmKHByb2JsZW0pe1xuICAgICAgICByb3dzLnB1c2goXG4gICAgICAgICAgPGRpdiBpZD17ZGF0YVtpXS5pbnRlcnZpZXd0YWJpZH0gY2xhc3NOYW1lPXtjbGF9IHN0eWxlPXt7IGJhY2tncm91bmRDb2xvcjogXCJibGFja1wiLCBjb2xvcjogXCJ3aGl0ZVwifX0+XG4gICAgICAgICAgICAgIDxoMT5QUk9CTEVNIHdpdGgge2RhdGFbaV0udm9ybmFtZX0ge2RhdGFbaV0ubmFjaG5uYW1lfTwvaDE+XG4gICAgICAgICAgICAgIDxwPiBiZWNhdXNlIG9mOiA8L3A+XG4gICAgICAgICAgICAge3Byb2JsZW1fZGVzY31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgZWxzZXtcbiAgICAgICAgaWYgKGRhdGFbaV0uaW50ZXJ2aWV3dGFiaWQgPT09IFwidGltZWxpbmVcIil7XG4gICAgICAgICAgcm93cy5wdXNoKFxuICAgICAgICAgICAgPGRpdiBpZD17ZGF0YVtpXS5pbnRlcnZpZXd0YWJpZH0gY2xhc3NOYW1lPXtgJHtjbGF9IHRpbWVsaW5ldGFiIGJnLWRiYH0gc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT5cbiAgICAgICAgICAgICAgICB7bm9kZX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICByb3dzLnB1c2goXG4gICAgICAgICAgPGRpdiBpZD17ZGF0YVtpXS5pbnRlcnZpZXd0YWJpZH0gY2xhc3NOYW1lPXtgJHtjbGF9IHRpbWVsaW5ldGFiIGJnLWRiYH0+XG4gICAgICAgICAgICAgIHtub2RlfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgIH1cbiAgICByZXR1cm4gcm93czsgXG4gIH1cbiAgXG4gIC8qIEludGVydmlldyAqL1xuIFxuICBleHBvcnQgZnVuY3Rpb24gT0xEQkZIU3R5bGVUYWJzKHtkYXRhLCBjbGF9OiB7ZGF0YTogQXJyYXk8Tm9kZURhdGVuc2F0ej4sIGNsYTogc3RyaW5nfSkge1xuICAgIGxldCByb3dzOiBKU1guRWxlbWVudFtdICA9IFtdXG4gICAgZm9yICggbGV0IGkgPSAwOyAgaSA8IGRhdGEubGVuZ3RoOyBpKysgKXtcbiAgICAgIGlmIChkYXRhW2ldLmNzc25hbWUgPT0gXCJ0aW1lbGluZVwiKXtcbiAgICAgICAgcm93cy5wdXNoKFxuICAgICAgICAgIDxkaXYgaWQ9e2RhdGFbaV0uY3NzbmFtZX0gY2xhc3NOYW1lPXtjbGF9IHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICAgIHtkYXRhW2ldLm5vZGV9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGVsc2V7XG4gICAgICByb3dzLnB1c2goXG4gICAgICAgIDxkaXYgaWQ9e2RhdGFbaV0uY3NzbmFtZX0gY2xhc3NOYW1lPXtjbGF9PlxuICAgICAgICAgICAge2RhdGFbaV0ubm9kZX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByb3dzOyBcbiAgfVxuIiwgImltcG9ydCB7IFBpZSB9IGZyb20gJ3JlYWN0LWNoYXJ0anMtMic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQmFyIH0gZnJvbSAncmVhY3QtY2hhcnRqcy0yJztcbmltcG9ydCB7IENoYXJ0IGFzIENoYXJ0SlMsIFRvb2x0aXAsIExlZ2VuZCxBcmNFbGVtZW50LCBCYXJFbGVtZW50LCBDYXRlZ29yeVNjYWxlLCBMaW5lYXJTY2FsZSwgVGl0bGUsIFJhZGlhbExpbmVhclNjYWxlIH0gZnJvbSAnY2hhcnQuanMnO1xuXG5jb25zdCBiYWNrZ3JvdW5kY29sb3JzY2FsZSA9IFtcbiAgICAgICAgICAncmdiYSgxMzMsIDE1LCAxMjAsIDAuMiknLFxuICAgICAgICAgICdyZ2JhKDE2MCwgMTY3LCAyNDMsIDAuMiknLFxuICAgICAgICAgICdyZ2JhKDI0NSwgMTI1LCAzNCwgMC4yKScsXG4gICAgICAgICAgJ3JnYmEoMjQ0LCAyMDQsIDMwLCAwLjIpJyxcbiAgICAgICAgICAncmdiYSgxMzAsIDE0OSwgMTY0LCAwLjIpJyxcbiAgICAgICAgICAncmdiYSgwLCAxMDEsIDQ4LCAwLjIpJyxcbiAgICAgICAgICAncmJnYSgxODQsIDkxLCAyMDksIDAuMiknLFxuICAgICAgICAgICdyYmdhKDUwLCAzNSwgNDQsIDAuMidcbl1cblxuXG5cbmNvbnN0IGJvcmRlcmNvbG9yc2NhbGUgPSBbXG4gICAgICAgICAgICAncmdiYSgxMzMsIDE1LCAxMjAsIDEpJyxcbiAgICAgICAgICAgICAgJ3JnYmEoMTYwLCAxNjcsIDI0MywgMSknLFxuICAgICAgICAgICAgICAncmdiYSgyNDUsIDEyNSwgMzQsIDEpJyxcbiAgICAgICAgICAgICAgJ3JnYmEoMjQ0LCAyMDQsIDMwLCAxKScsXG4gICAgICAgICAgICAgICdyZ2JhKDEzMCwgMTQ5LCAxNjQsIDEpJyxcbiAgICAgICAgICAgICAgJ3JnYmEoMCwgMTAxLCA0OCwgMSknLFxuICAgICAgICAgICAgICAncmJnYSgxODQsIDkxLCAyMDksIDEpJyxcbiAgICAgICAgICAgICAgJ3JiZ2EoNTAsIDM1LCA0NCwgMSdcbl1cbiBcbkNoYXJ0SlMucmVnaXN0ZXIoQXJjRWxlbWVudCwgVG9vbHRpcCwgTGVnZW5kLCBDYXRlZ29yeVNjYWxlLFxuICBSYWRpYWxMaW5lYXJTY2FsZSxcbiAgTGluZWFyU2NhbGUsXG4gIEJhckVsZW1lbnQsXG4gIFRpdGxlKTtcblxuY29uc3QgUGllQ2hhcnQ6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBkYXRhID0ge1xuICAgIGxhYmVsczogWydpbmRlbCcsICdpbnNlcnRpb24nLCAnZGVsZXRpb24nLCAnc3Vic3RpdHV0aW9uJywgJ290aGVyJ10sXG4gICAgZGF0YXNldHM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdQZXJjZW50YWdlJyxcbiAgICAgICAgZGF0YTogW1xuICAgICAgICAgIDAuMDA0ODU4MDAwMDAwMDAwMDAxLFxuICAgICAgICAgIDAuMDAwODg1OTk5OTk5OTk5OTk5NyxcbiAgICAgICAgICAwLjcyNjQxNzk5OTk5OTk5NzIsXG4gICAgICAgICAgMC4yMzg0MTU5OTk5OTk5OTk1LFxuICAgICAgICAgIDAuMDAzNzAzXG4gICAgICAgIF0sXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyY29sb3JzY2FsZSxcbiAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICB9LFxuICAgIF0sXG4gIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcbiAgICBwbHVnaW5zOiB7XG4gICAgICBsZWdlbmQ6IHtcbiAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgcG9zaXRpb246ICdib3R0b20nIGFzIGNvbnN0LCAvLyBQdXRzIGxhYmVscyBiZWxvdyB0aGUgY2hhcnRcbiAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgYm94V2lkdGg6IDIwLCAvLyBDb250cm9scyB0aGUgc2l6ZSBvZiB0aGUgY29sb3IgYm94IG5leHQgdG8gdGhlIGxhYmVsc1xuICAgICAgICAgIHBhZGRpbmc6IDE1LCAgIC8vIEFkZHMgc29tZSBwYWRkaW5nIGJldHdlZW4gbGFiZWxzIGFuZCB0aGUgY2hhcnRcbiAgICAgICAgICB1c2VQb2ludFN0eWxlOiB0cnVlLCBcbiAgICAgIH0sXG4gICAgfSxcbiAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBpZS1jaGFydC1jb250YWluZXItc21hbGxcIj5cbiAgICAgIDxQaWUgZGF0YT17ZGF0YX0gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuXG5cbmV4cG9ydCBjb25zdCBPcGVuVG9HZW5lVGhlcmFweWF0aWVudHM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBkYXRhID0ge1xuICAgIGxhYmVsczogWydZZXMnLCAnTWF5YmUnLCAnTm8nXSxcbiAgICBkYXRhc2V0czogW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ1BlcmNlbnRhZ2UnLFxuICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgNzguNzIsIFxuICAgICAgICAgIDE5Ljg2LFxuICAgICAgICAgIDEuNDJcbiAgICAgICAgXSxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgcGx1Z2luczoge1xuICAgICAgdGl0bGU6IHtcbiAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgdGV4dDogJ1dvdWxkIHlvdSBiZSBvcGVuIHRvIGdlbmUgdGhlcmFweSBpZiBpdCBjb3VsZCBzaWduaWZpY2FudGx5IGltcHJvdmUgeW91ciBzeW1wdG9tcz8nLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwaWUtY2hhcnQtY29udGFpbmVyLXNtYWxsXCI+XG4gICAgICA8UGllIGRhdGE9e2RhdGF9IG9wdGlvbnM9e29wdGlvbnN9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cblxuZXhwb3J0IGNvbnN0IE1vc3RTdHJlc3NmdWxGb3JSZWxhdGl2ZWF0aWVudHM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBkYXRhID0ge1xuICAgIGxhYmVsczogWydFbW90aW9uYWwgU3RyZXNzJywgJ1BoeXNpYWNhbCBTeW1wdG9tcycsICdGaW5hbmNpYWwgQnVyZGVuJywgJ1NvY2lhbCBSZXN0cmljdGlvbnMnLCAnT3RoZXInXSxcbiAgICBkYXRhc2V0czogW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ1BlcmNlbnRhZ2UnLFxuICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgMzYuNzksXG4gICAgICAgICAgMzIuNzgsXG4gICAgICAgICAgMTEuMzcsXG4gICAgICAgICAgMTcuNzMsXG4gICAgICAgICAgMS4zNFxuICAgICAgICBdLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgcGx1Z2luczoge1xuICAgICAgdGl0bGU6IHtcbiAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgdGV4dDogJ1doaWNoIGFzcGVjdHMgb2YgdGhlIGRpc2Vhc2UgYXJlIG1vc3Qgc3RyZXNzZnVsIGZvciB5b3Ugb3IgeW91ciByZWxhdGl2ZT8nLFxuICAgICAgfSxcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBpZS1jaGFydC1jb250YWluZXItb3RoZXJcIj5cbiAgICAgIDxQaWUgZGF0YT17ZGF0YX0gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFdob0FmZmVjdGVkYXRpZW50czogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgbGFiZWxzOiBbJ0kgYW0gYWZmZWN0ZWQnLCAnQSBSZWxhdGl2ZSBpcyBhZmZlY3RlZCddLFxuICAgIGRhdGFzZXRzOiBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnUGVyY2VudGFnZScsXG4gICAgICAgIGRhdGE6IFtcbiAgICAgICAgICA0My4yNCxcbiAgICAgICAgICA1Ni43NlxuICAgICAgICBdLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgcGx1Z2luczoge1xuICAgICAgdGl0bGU6IHtcbiAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgdGV4dDogW1xuICAgICAgICAgICdBcmUgeW91IGFmZmVjdGVkIGJ5IGN5c3RpYyBmaWJyb3NpcyB5b3Vyc2VsZiAnLCAnb3IgYXJlIHlvdSByZWxhdGVkIHRvIHNvbWVvbmUgd2l0aCBjeXN0aWMgZmlicm9zaXM/J1xuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBpZS1jaGFydC1jb250YWluZXItc21hbGxcIj5cbiAgICAgIDxQaWUgZGF0YT17ZGF0YX0gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IERvWW91V2FudE1vcmVJbmZvYXRpZW50czogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgbGFiZWxzOiBbJ1llcycsICdObyddLFxuICAgIGRhdGFzZXRzOiBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnUGVyY2VudGFnZScsXG4gICAgICAgIGRhdGE6IFtcbiAgICAgICAgICA5My40OCxcbiAgICAgICAgICA2LjUyXG4gICAgICAgIF0sXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgIHRpdGxlOiB7XG4gICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgdGV4dDogJ1dvdWxkIHlvdSBsaWtlIHRvIHNlZSBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBzdWJqZWN0IG9mIGdlbmUgdGhlcmFweT8nLFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBpZS1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxQaWUgZGF0YT17ZGF0YX0gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEhvd09mdGVuVHJlYXRtZW50YXRpZW50czogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGxhYmVscyA9IFsnUmFyZWx5JywgJ01vbnRobHknLCAnV2Vla2x5JywgJ1NldmVyYWwgdGltZXMgcGVyIHdlZWsnLCAnRGFpbHknXTtcblxuICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFiZWxzLFxuICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiBcIlwiLFxuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgICAgNi40OSxcbiAgICAgICAgICAgICAgNi40OSxcbiAgICAgICAgICAgICAgMTUuNTksXG4gICAgICAgICAgICAgIDkuNzMsXG4gICAgICAgICAgICAgIDYyLjdcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgdGV4dDogJ0hvdyBvZnRlbiBkbyB5b3Ugb3IgeW91ciByZWxhdGl2ZSBuZWVkIG1lZGljYWwgdHJlYXRtZW50IG9yIHRoZXJhcHk/JyxcbiAgICAgICAgfSxcbiAgICAgICAgc2NhbGVzOiB7XG4gICAgICAgICAgeToge1xuICAgICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgICAgdGV4dDogJyUnLCAvLyBUaGlzIGlzIHRoZSBsYWJlbCBmb3IgdGhlIHktYXhpc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNjYWxlczoge1xuICAgICAgICB5OiB7XG4gICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICB0ZXh0OiAnJScsIC8vIFRoaXMgaXMgdGhlIGxhYmVsIGZvciB0aGUgeS1heGlzXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFyLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgPEJhciBvcHRpb25zPXtvcHRpb25zfSBkYXRhPXtkYXRhfSAvPlxuICAgICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgV2hhdENvY2VybnNBYm91dEdlbmVUaGVyYXB5YXRpZW50czogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGxhYmVscyA9IFsnTW8gY29uY2VybnMnLCAnRXRoaWNhbCBxdWVzdGlvbnMnLCAnTG9uZy10ZXJtIGVmZmVjdHMnLCAnU2FmZXR5IGFuZCBzaWRlIGVmZmVjdHMnLCAnQ29zdCBhbmQgYWNjZXNzaWJpbGl0eSddO1xuXG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgICBsYWJlbHMsXG4gICAgICBkYXRhc2V0czogW1xuICAgICAgICB7XG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgICAwLjU0LFxuICAgICAgICAgICAgICAxMC4xOCxcbiAgICAgICAgICAgICAgNTkuNDYsXG4gICAgICAgICAgICAgIDU5LjQ2LFxuICAgICAgICAgICAgICAzMi40M1xuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyY29sb3JzY2FsZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICB0ZXh0OiAnV2hhdCBjb25jZXJucyBkbyB5b3UgaGF2ZSBhYm91dCBnZW5lIHRoZXJhcHk/JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeToge1xuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJyUnLCAvLyBUaGlzIGlzIHRoZSBsYWJlbCBmb3IgdGhlIHktYXhpc1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEhvd011Y2hEb2VzSXRBZmZlY3RZb3VhdGllbnRzOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgbGFiZWxzID0gWycxJywgJzInLCAnMycsICc0JywgJzUnXTtcblxuICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFiZWxzLFxuICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgICAgNC4zMixcbiAgICAgICAgICAgICAgMTIuNDMsXG4gICAgICAgICAgICAgIDQyLjE2LFxuICAgICAgICAgICAgICAzMi45NyxcbiAgICAgICAgICAgICAgOC4xMVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyY29sb3JzY2FsZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICB0ZXh0OiBbXCJIb3cgbXVjaCBkb2VzIGN5c3RpYyBmaWJyb3NpcyBhZmZlY3QgeW91ciBvciB5b3VyIHJlbGF0aXZlJ3MgXCIsIFwiZGFpbHkgbGlmZT8gKDEgPSBOb3QgYXQgYWxsLCA1ID0gVmVyeSBtdWNoKVwiXVxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNjYWxlczoge1xuICAgICAgICB5OiB7XG4gICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICB0ZXh0OiAnJScsIC8vIFRoaXMgaXMgdGhlIGxhYmVsIGZvciB0aGUgeS1heGlzXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFyLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgPEJhciBvcHRpb25zPXtvcHRpb25zfSBkYXRhPXtkYXRhfSAvPlxuICAgICAgPC9kaXY+XG4gICk7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBXaGljaFRoZXJhcHlEb1lvdVVzZWF0aWVudHM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBsYWJlbHMgPSBbJ1BzeWNob2xvZ2ljYWwgdGhlcmFweScsICdQaHlzaWNhbCB0aGVyYXB5JywgJ051dHJpdGlvbmFsIHRoZXJhcHknLCAnTWVkaWNhdGlvbiB0aGVyYXB5JywgJ0luaGFsYXRpb24gdGhlcmFweScsICdPdGhlcnMnXTtcblxuICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFiZWxzLFxuICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgICAgNS45NCxcbiAgICAgICAgICAgICAgMjYuMzIsXG4gICAgICAgICAgICAgIDEwLjUzLFxuICAgICAgICAgICAgICAyOS4yLFxuICAgICAgICAgICAgICAyNi44MyxcbiAgICAgICAgICAgICAgMS4xOVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyY29sb3JzY2FsZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICB0ZXh0OiAnV2hpY2ggZm9ybShzKSBvZiB0aGVyYXB5IGRvIHlvdSBvciB5b3VyIHJlbGF0aXZlIHVzZT8nLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNjYWxlczoge1xuICAgICAgICB5OiB7XG4gICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICB0ZXh0OiAnJScsIC8vIFRoaXMgaXMgdGhlIGxhYmVsIGZvciB0aGUgeS1heGlzXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFyLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgPEJhciBvcHRpb25zPXtvcHRpb25zfSBkYXRhPXtkYXRhfSAvPlxuICAgICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgV2hpY2hTeW1wdG9tc2F0aWVudHM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBsYWJlbHMgPSBbJ090aGVyJywgJ0hlYWRhY2hlJywgXCJEZWxheWVkIEdyb3d0aFwiLCAnVW5kZXJ3ZWlnaHQnLCAnRnJlcXVlbnQgbHVuZyBpbmZlY3Rpb25zJywgJ011c2NsZSB0cmVtb3JzL3dlYWtuZXNzJywgJ2NvbnN0aXBhdGlvbicsICdBYmRvbWluYWwgcGFpbicsICdDaHJvbmljIGNvdWdoJyBdO1xuXG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgICBsYWJlbHMsXG4gICAgICBkYXRhc2V0czogW1xuICAgICAgICB7XG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgICA0Ljk5LFxuICAgICAgICAgICAgICA2Ljk4LFxuICAgICAgICAgICAgICA2LjIzLFxuICAgICAgICAgICAgICAxMy40NywgXG4gICAgICAgICAgICAgIDEzLjcyLFxuICAgICAgICAgICAgICAyLjAsXG4gICAgICAgICAgICAgIDEwLjQ3LFxuICAgICAgICAgICAgICAyMy4xOSxcbiAgICAgICAgICAgICAgMTguOTVcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgdGV4dDogJ1doaWNoIHN5bXB0b21zIGRvIHlvdSBvciB5b3VyIHJlbGF0aXZlIGhhdmUgbW9zdCBmcmVxdWVudGx5PycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHk6IHtcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIHRleHQ6ICclJywgLy8gVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSB5LWF4aXNcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cblxuZXhwb3J0IGNvbnN0IEJhc2ljUG9zaXRpb25hdGllbnRzOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgbGFiZWxzID0gWycxJywgJzInLCAnMycsICc0JywgJzUnXTtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAgIDIuMTQsXG4gICAgICAgICAgICAgIDUuMTcsXG4gICAgICAgICAgICAgIDI3LjE0LFxuICAgICAgICAgICAgICAzMC4wMCxcbiAgICAgICAgICAgICAgMzUuMDBcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgdGV4dDogWydXaGF0IGlzIHlvdXIgYmFzaWMgcG9zaXRpb24gb24gZ2VuZSB0aGVyYXB5PycsJyAoMT1WZXJ5IG5lZ2F0aXZlLCA1PVZlcnkgcG9zaXRpdmUpJ11cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeToge1xuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJyUnLCAvLyBUaGlzIGlzIHRoZSBsYWJlbCBmb3IgdGhlIHktYXhpc1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEFnZURpYWdub3Npc2F0aWVudHM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBsYWJlbHMgPSBbJz4yMCcsICcxMC0yMCcsICcxLTEwJywgJ2ZpcnN0IG1vbnRocycsICdmaXJzdCB3ZWVrJywgJ05ld2Jvcm4gU2NyZWVuaW5nJywgJ0JlZm9yZSBiaXJ0aCddO1xuICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFiZWxzLFxuICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIDMuODMsXG4gICAgICAgICAgICAyLjczLFxuICAgICAgICAgICAgMjYuMjMsXG4gICAgICAgICAgICAyMS44NixcbiAgICAgICAgICAgIDE4LjAzLFxuICAgICAgICAgICAgMjYuMjMsXG4gICAgICAgICAgICAxLjA5XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgZGlzcGxheTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgIHRleHQ6ICdBdCB3aGF0IGFnZSB3ZXJlIHlvdSBvciB5b3VyIHJlbGF0aXZlIGRpYWdub3NlZCB3aXRoIGN5c3RpYyBmaWJyb3Npcz8nLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNjYWxlczoge1xuICAgICAgICB5OiB7XG4gICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICB0ZXh0OiAnJScsIC8vIFRoaXMgaXMgdGhlIGxhYmVsIGZvciB0aGUgeS1heGlzXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFyLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgPEJhciBvcHRpb25zPXtvcHRpb25zfSBkYXRhPXtkYXRhfSAvPlxuICAgICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgSGVhZHJvZkdlbmVUaGVyYXB5UGF0aWVudHM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBkYXRhID0ge1xuICAgIGxhYmVsczogWydZZXMnLCAnTm8nXSxcbiAgICBkYXRhc2V0czogW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ1BlcmNlbnRhZ2UnLFxuICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgNzYuNzYsXG4gICAgICAgICAgMjMuMjRcbiAgICAgICAgXSxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgcGx1Z2luczoge1xuICAgICAgdGl0bGU6IHtcbiAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgdGV4dDogJ0hhdmUgeW91IGV2ZXIgaGVhcmQgb2YgZ2VuZSB0aGVyYXB5PycsXG4gICAgICB9LFxuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwicGllLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgPFBpZSBkYXRhPXtkYXRhfSBvcHRpb25zPXtvcHRpb25zfSAvPlxuICAgICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgTW9yZUluZm9PblRoZXJhcHlCb3RoOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgbGFiZWxzID0gWydZZXMnLCAnTm8nXTtcblxuICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFiZWxzLFxuICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnQWZmZWN0ZWQnLFxuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIDkzLjQ4LFxuICAgICAgICAgICAgNi41MlxuICAgICAgICAgICAgIFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTMzLCAxNSwgMTIwLCAwLjIpJyxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiAncmdiYSgxMzMsIDE1LCAxMjAsIDEnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdVbmFmZmVjdGVkJyxcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICA5Mi4wMCxcbiAgICAgICAgICAgIDguMDBcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDE2MCwgMTY3LCAyNDMsIDAuMiknLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6ICdyZ2JhKDE2MCwgMTY3LCAyNDMsIDEpJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyBhcyBjb25zdCxcbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgIHRleHQ6ICdXb3VsZCB5b3UgbGlrZSB0byBzZWUgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgc3ViamVjdCBvZiBnZW5lIHRoZXJhcHk/JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeToge1xuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJyUnLCAvLyBUaGlzIGlzIHRoZSBsYWJlbCBmb3IgdGhlIHktYXhpc1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuXG5leHBvcnQgY29uc3QgSGVhcmRPZkNGUHVibGljOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICBsYWJlbHM6IFsnWWVzJywgJ05vJ10sXG4gICAgZGF0YXNldHM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdQZXJjZW50YWdlJyxcbiAgICAgICAgZGF0YTogW1xuICAgICAgICAgIDgyLjg5LFxuICAgICAgICAgIDE3LjExXG4gICAgICAgIF0sXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyY29sb3JzY2FsZSxcbiAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICB9LFxuICAgIF0sXG4gIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcbiAgICBwbHVnaW5zOiB7XG4gICAgICB0aXRsZToge1xuICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICB0ZXh0OiAnSGF2ZSB5b3UgaGVhcmQgb2YgY3lzdGljIGZpYnJvc2lzPycsXG4gICAgICB9LFxuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwicGllLWNoYXJ0LWNvbnRhaW5lci1zbWFsbFwiPlxuICAgICAgPFBpZSBkYXRhPXtkYXRhfSBvcHRpb25zPXtvcHRpb25zfSAvPlxuICAgICAgPC9kaXY+XG4gICk7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBIZWFkT2ZHZW5lVGhlcmFweVB1YmxpYzogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgbGFiZWxzOiBbJ1llcycsICdObyddLFxuICAgIGRhdGFzZXRzOiBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnUGVyY2VudGFnZScsXG4gICAgICAgIGRhdGE6IFtcbiAgICAgICAgICA2Ny41OCxcbiAgICAgICAgICAzMi40MlxuICAgICAgICBdLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgcGx1Z2luczoge1xuICAgICAgdGl0bGU6IHtcbiAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgdGV4dDogJ0hhdmUgeW91IGV2ZXIgaGVhcmQgb2YgZ2VuZSB0aGVyYXB5PycsXG4gICAgICB9LFxuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwicGllLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgPFBpZSBkYXRhPXtkYXRhfSBvcHRpb25zPXtvcHRpb25zfSAvPlxuICAgICAgPC9kaXY+XG4gICk7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBIb3dEaWRZb3VMZWFyblB1YmxpYzogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGxhYmVscyA9IFsnSSBhbSBhZmZlY3RlZCcsICdGYW1pbHkvRnJpZW5kcycsICdTY2hvb2wvVW5pdmVyc2l0eScsICdNZWRpYScsICdIZWFsdGhjYXJlIHByb3ZpZGVyJywgJ090aGVyJ107XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAxLjIzLFxuICAgICAgICAgICAgMjUuMTUsXG4gICAgICAgICAgICAyMC44NixcbiAgICAgICAgICAgIDQ0LjE3LFxuICAgICAgICAgICAgMy42OCxcbiAgICAgICAgICAgIDQuOTFcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgdGV4dDogJ0hvdyBkaWQgeW91IG1haW5seSBsZWFybiBhYm91dCBjeXN0aWMgZmlicm9zaXM/ICcsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHg6IHtcbiAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcbiAgICAgICAgICBiYXJQZXJjZW50YWdlOiAwLjUsIC8vIFNjaG1hbGVyIG1hY2hlbiwgMC41ID0gNTAlIGRlciBLYXRlZ29yaWUtQnJlaXRlXG4gICAgICAgICAgY2F0ZWdvcnlQZXJjZW50YWdlOiAwLjUsIC8vIFBsYXR6IHBybyBLYXRlZ29yaWUgc2NobWFsZXIgbWFjaGVuXG4gICAgICAgIH0sXG4gICAgICAgIHk6IHtcbiAgICAgICAgICBiZWdpbkF0WmVybzogdHJ1ZSxcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIHRleHQ6ICclJywgLy8gVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSB5LWF4aXNcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBIb3dXZWxsRG9Zb3VVbmRlcnN0YW5kR0ZQdWJsaWM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBkYXRhID0ge1xuICAgIGxhYmVsczogWydFeHRyZW1lbHkgd2VsbCcsICdTb21ld2hhdCB3ZWxsJywgJ05vdCBzbyB3ZWxsJywgJ05vdCBhdCBhbGwnXSxcbiAgICBkYXRhc2V0czogW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ1BlcmNlbnRhZ2UnLFxuICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgMTkuMzgsXG4gICAgICAgICAgMjQuODEsXG4gICAgICAgICAgNDQuOTYsXG4gICAgICAgICAgMTAuODVcbiAgICAgICAgXSxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgIHBsdWdpbnM6IHtcbiAgICAgIHRpdGxlOiB7XG4gICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgIHRleHQ6ICdIb3cgd2VsbCBkbyB5b3UgdW5kZXJzdGFuZCB3aGF0IGdlbmUgdGhlcmFweSBpcz8nLFxuICAgICAgfSxcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBpZS1jaGFydC1jb250YWluZXItc21hbGxcIj5cbiAgICAgIDxQaWUgZGF0YT17ZGF0YX0gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEhvd1dlbGxJbmZvcm1lZEFib3V0Q0ZQdWJsaWM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBkYXRhID0ge1xuICAgIGxhYmVsczogWydFeHRyZW1lbHkgd2VsbCcsICdTb21ld2hhdCB3ZWxsJywgJ05vdCBzbyB3ZWxsJywgJ05vdCBhdCBhbGwnXSxcbiAgICBkYXRhc2V0czogW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ1BlcmNlbnRhZ2UnLFxuICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgNi4zNyxcbiAgICAgICAgICAyMS42NixcbiAgICAgICAgICA1OC42MCxcbiAgICAgICAgICAxMy4zOFxuICAgICAgICBdLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgICBwbHVnaW5zOiB7IHRpdGxlOiB7XG4gICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgIHRleHQ6ICdIb3cgd2VsbCBpbmZvcm1lZCBhcmUgeW91IGFib3V0IGN5c3RpYyBmaWJyb3Npcz8nLFxuICAgICAgfSxcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBpZS1jaGFydC1jb250YWluZXItb3RoZXJcIj5cbiAgICAgIDxQaWUgZGF0YT17ZGF0YX0gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFdoYXRDb3VsZEdlbmVUaGVyYXB5TWVhbkZvck1lZGljaW5lUHVibGljOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICBsYWJlbHM6IFsnTWFqb3IgYWR2YW5jZXMgaW4gdGhlIHRyZWF0bWVudCBvZiBkaXNlYXNlcycsICdTb21lIHByb2dyZXNzLCBidXQgYWxzbyByaXNrcycsICdNb3JlIHJpc2tzIHRoYW4gYmVuZWZpdHMnLCAnTm8gb3BpbmlvbiddLFxuICAgIGRhdGFzZXRzOiBbXG4gICAgICB7XG4gICAgICAgIGRhdGE6IFtcbiAgICAgICAgICA0OS41OSxcbiAgICAgICAgICA0Ny45NyxcbiAgICAgICAgICAxLjYzLFxuICAgICAgICAgIDAuODFcbiAgICAgICAgXSxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgIHBsdWdpbnM6IHt0aXRsZToge1xuICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgIHRleHQ6ICdXaGF0IGRvIHlvdSB0aGluayBnZW5lIHRoZXJhcHkgY291bGQgbWVhbiBmb3IgbWVkaWNpbmU/JyxcbiAgICB9LH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwicGllLWNoYXJ0LWNvbnRhaW5lci1vdGhlclwiPlxuICAgICAgPFBpZSBkYXRhPXtkYXRhfSBvcHRpb25zPXtvcHRpb25zfSAvPlxuICAgICAgPC9kaXY+XG4gICk7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBXaGF0TWVhc3VyZXNQdWJsaWM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBsYWJlbHMgPSBbJ01lZGlhJywgJ1NjaG9vbHMgYW5kIENvbW11bml0aWVzJywgXCJEb2N0b3JzXCIsICdDaGFyaXRpZXMgYW5kIEZpbmRyYWlzZXJzJywgJ09ubGluZSBQbGF0Zm9ybXMgYW5kIEZvcnVtcycsICdDb29wZXJhdGlvbnMgd2l0aCBDb21wYW5pZXMnLCAnU2Nob29sIExlc3NvbnMnLCAnRG9jdW1lbnRhcmllcyBhbmQgU2hvcnQgRmlsbXMnXTtcblxuICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFiZWxzLFxuICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnR2VuZXJhbCBTdXJ2ZXknLFxuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIDIyLjg3LFxuICAgICAgICAgICAgMTMuMjAsXG4gICAgICAgICAgICAxMy42OSxcbiAgICAgICAgICAgIDcuMDksXG4gICAgICAgICAgICAxMi43MixcbiAgICAgICAgICAgIDYuNjAsXG4gICAgICAgICAgICA5LjgyLFxuICAgICAgICAgICAgMTQuMDFcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgdGV4dDogJ1doYXQgbWVhc3VyZXMgZG8geW91IHRoaW5rIGNvdWxkIGJlIHRha2VuIHRvIHJhaXNlIGF3YXJlbmVzcyBvZiBjeXN0aWMgZmlicm9zaXM/JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeToge1xuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJyUnLCAvLyBUaGlzIGlzIHRoZSBsYWJlbCBmb3IgdGhlIHktYXhpc1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuXG5leHBvcnQgY29uc3QgV291bGRZb3VEb0dlbmVUaGVyYXB5UHVibGljOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICBsYWJlbHM6IFsnWWVzJywgJ05vJywgJ01heWJlJ10sXG4gICAgZGF0YXNldHM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdHZW5lcmFsIFN1cnZleScsXG4gICAgICAgIGRhdGE6IFtcbiAgICAgICAgICA4NS4yMixcbiAgICAgICAgICAxMy4wNCxcbiAgICAgICAgICAxLjc0XG4gICAgICAgIF0sXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyY29sb3JzY2FsZSxcbiAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICB9LFxuICAgIF0sXG4gIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcbiAgICBwbHVnaW5zOiB7XG4gICAgICB0aXRsZToge1xuICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICB0ZXh0OiAnV291bGQgeW91IG9wdCBmb3IgZ2VuZSB0aGVyYXB5IHlvdXJzZWxmPycsXG4gICAgICB9LFxuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwicGllLWNoYXJ0LWNvbnRhaW5lci1vdGhlclwiPlxuICAgICAgPFBpZSBkYXRhPXtkYXRhfSBvcHRpb25zPXtvcHRpb25zfSAvPlxuICAgICAgPC9kaXY+XG4gICk7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBXaGF0Q29jZXJuc0Fib3V0R2VuZVRoZXJhcHlQdWJsaWM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBsYWJlbHMgPSBbJ05vIGNvbmNlcm5zJywgJ0V0aGljYWwgcXVlc3Rpb25zJywgJ0xvbmctdGVybSBlZmZlY3RzJywgJ1NhZmV0eSBhbmQgc2lkZSBlZmZlY3RzJywgJ0Nvc3QgYW5kIGFjY2Vzc2liaWxpdHknXTtcblxuICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFiZWxzLFxuICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnR2VuZXJhbCBTdXJ2ZXknLFxuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIDQuNTcsXG4gICAgICAgICAgICAxNC42MSxcbiAgICAgICAgICAgIDI3Ljg1LFxuICAgICAgICAgICAgMjguNzcsXG4gICAgICAgICAgICAyNC4yMFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyY29sb3JzY2FsZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICB0ZXh0OiAnV2hhdCBjb25jZXJucyBkbyB5b3UgaGF2ZSBhYm91dCBnZW5lIHRoZXJhcHk/JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeToge1xuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJyUnLCAvLyBUaGlzIGlzIHRoZSBsYWJlbCBmb3IgdGhlIHktYXhpc1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFdoYXRGb3JtTW9yZUluZm9QdWJsaWM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBsYWJlbHMgPSBbJ0luZm9ybWF0aW9ucyBicm9jaHVyZXMnLCAnV2Vic2l0ZXMgYW5kIG9ubGluZSByZXNvdXJjZXMnLCAnVFYgZG9jdW1lbnRhcmllcyBhbmQgcHJvZ3JhbXMnLCAnTGVjdHVyZXMgYW5kIHNlbWluYXJzJywgJ1NjaG9vbCBhbmQgdW5pdmVyc2l0eSBjb3Vyc2VzICcsICdDb25zdWx0YXRpb25zIHdpdGggZG9jdG9ycyBhbmQgc3BlY2lhbGlzdHMnLCAnU29jaWFsIG1lZGlhIGFuZCBvbmxpbmUgY29tbXVuaXRpZXMnLCAnT3RoZXInXTtcblxuICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFiZWxzLFxuICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnR2VuZXJhbCBTdXJ2ZXknLFxuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgIDE1Ljc0LFxuICAgICAgICAgICAgMTYuNjMsXG4gICAgICAgICAgICAyMi42MixcbiAgICAgICAgICAgIDEuNzcsXG4gICAgICAgICAgICAxMy4zMCxcbiAgICAgICAgICAgIDEzLjk3LFxuICAgICAgICAgICAgMTUuOTYsXG4gICAgICAgICAgICAwXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgZGlzcGxheTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgIHRleHQ6ICdJbiB3aGF0IGZvcm0gd291bGQgeW91IGxpa2UgdG8gc2VlIG1vcmUgaW5mb3JtYXRpb24/JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeToge1xuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJyUnLCAvLyBUaGlzIGlzIHRoZSBsYWJlbCBmb3IgdGhlIHktYXhpc1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgUGllQ2hhcnQ7XG4iLCAiXG5leHBvcnQgaW50ZXJmYWNlIFN5bXB0b21EYXRlbnNhdHogeyBcbiAgICBuYW1lOiBzdHJpbmc7ICBcbiAgICBwaWN0dXJlOiBzdHJpbmc7IFxuICAgIGludHJvZHVjdGlvbjogQXJyYXk8c3RyaW5nPiB8IEFycmF5PFJlYWN0LlJlYWN0Tm9kZT47XG59XG5cbi8vQmlsZGVyK1F1ZWxsZW4gbVx1MDBGQ3NzZW4gbm9jaCBhbmdlcGFzc3Qgd2VyZGVuXG4vL2RhIGtvbW1lbiBqZXR6dCBmb2xnZW5kZSBPcmdhbmU6IFBhbmNyZWFzLCBJbnRlc3RpbmVzLCBMaXZlciwgU2V4dWFsIGdsYW5kcywgTHVuZ3MsIFNrZWxldGFsIFN5c3RlbSwgU2tpbiwgTm9zZSwgQnJhaW4vTWVudGFsIEhlYWx0aCBcbmV4cG9ydCBjb25zdCBzeW1wdG9tZGF0YTogKEFycmF5PFN5bXB0b21EYXRlbnNhdHo+KSAgPSBbXG4gICAge1xuICAgICAgICBuYW1lOiBcIlBhbmNyZWFzXCIsXG4gICAgICAgIHBpY3R1cmU6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc2NpZW50aWZpYy1maWd1cmVzL3BhbmNyZWFzLnN2Z1wiLFxuICAgICAgICBpbnRyb2R1Y3Rpb246IFs8PkxvY2F0ZWQgYmVoaW5kIHRoZSBzdG9tYWNoIGluIHRoZSBiYWNrIGFiZG9taW5hbCBjYXZpdHkgWzFdPC8+LDw+UmVzcG9uc2libGUgZm9yIG5ldXRyYWxpemluZyBzdG9tYWNoIGFjaWQsIHByb2R1Y3Rpb24gb2YgaG9ybW9uZXMgKGxpa2UgSW5zdWxpbikgYW5kIGRpZ2VzdGlvbiBlbnp5bWVzIFsxXTwvPiw8PkNsb2dnaW5nIGNhdXNlZCBieSBDRiwgc28gdGhhdCBwcm9kdWN0cyBvZiB0aGUgcGFuY3JlYXRpYyBnbGFuZCBjYW4gbm90IGJlIGRpc3RyaWJ1dGVkIFsyXTwvPiw8PlBhbmNyZWF0aWMgaW5zdWZmaWNpZW5jeSBkdWUgdG8gQ0YgY2FuIGxlYWQgdG8gbWFsbnV0cml0aW9uIFszXSwgZGlnZXN0aXZlIHByb2JsZW1zIGFuZCBhYmRvbWluYWwgcGFpbiBbNF0sIENGLWFzc29jaWF0ZWQgZGlhYmV0ZXMgWzVdPC8+LDw+VHJlYXRtZW50IG9wdGlvbnMgaW5jbHVkZSBudXRyaXRpb25hbCB0aGVyYXB5IGFuZCBzdXBwbGVtZW50YXRpb24gb2YgcGFuY3JlYXRpYyBlbnp5bWVzIFs2XTwvPl1cbiAgICB9LFxuICAgIHsgXG4gICAgICAgIG5hbWU6IFwiSW50ZXN0aW5lc1wiLCBcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvbGFyZ2VpbnRlc3RpbmUuc3ZnXCIsXG4gICAgICAgIGludHJvZHVjdGlvbjogWzw+TG9jYXRlZCBpbiB0aGUgYWJkb21pbmFsIGNhdml0eSBhbmQgZXh0ZW5kcyBmcm9tIHRoZSBzdG9tYWNoIHRvIHRoZSBhbnVzPC8+LDw+UmVzcG9uc2libGUgZm9yIG51dHJpZW50IGFic29ycHRpb24sIHdhdGVyIHJlYWJzb3JwdGlvbiwgYW5kIHdhc3RlIGVsaW1pbmF0aW9uIFs3XTwvPiw8PkNGIGNhbiBjYXVzZSBibG9ja2luZyBvZiB0aGUgaW50ZXN0aW5lcywgcHJldmVudGluZyB0aGUgbm9ybWFsIG1vdmVtZW50IG9mIGZvb2QgYW5kIGFic29ycHRpb24gb2YgbnV0cmllbnRzIFs4XTwvPiw8PkludGVzdGluYWwgYmxvY2thZ2UgZHVlIHRvIENGIGNhbiBsZWFkIHRvIG1hbGFic29ycHRpb24gb2YgbnV0cmllbnRzLCBhbmQgY29uZGl0aW9ucyBsaWtlIG1lY29uaXVtIGlsZXVzIGluIG5ld2Jvcm5zIG9yIGRpc3RhbCBpbnRlc3RpbmFsIG9ic3RydWN0aW9uIHN5bmRyb21lIChESU9TKSBpbiBhZHVsdHMgWzhdPC8+LDw+VHJlYXRtZW50IG9wdGlvbnMgaW5jbHVkZSB0aGUgdXNlIG9mIGxheGF0aXZlcywgZW56eW1lIHN1cHBsZW1lbnRhdGlvbiwgZmVlZGluZyB0dWJlcywgYW5kIGluIHNldmVyZSBjYXNlcywgc3VyZ2ljYWwgaW50ZXJ2ZW50aW9uIG9yIGludGVzdGluYWwgdHJhbnNwbGFudGF0aW9uIFs4XTwvPl1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogXCJMaXZlclwiLCBcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvbGl2ZXIuc3ZnXCIsXG4gICAgICAgIGludHJvZHVjdGlvbjogWzw+TG9jYXRlZCBkaXJlY3RseSBiZWxvdyB0aGUgZGlhcGhyYWdtIG5lYXIgdGhlIHBhbmNyZWF0aWMgZ2xhbmQgYW5kIHN0b21hY2ggWzldPC8+LDw+UmVzcG9uc2libGUgZm9yIGRldG94aWZpY2F0aW9uLCBiaWxlIHByb2R1Y3Rpb24gZm9yIGVuaGFuY2VtZW50IG9mIGRpZ2VzdGlvbiwgcHJvdGVpbiBzeW50aGVzaXMgZm9yIGJsb29kIGNsb3R0aW5nIGFuZCBpbW11bmUgZnVuY3Rpb25zLCBudXRyaWVudCBwcm9jZXNzaW5nIGFuZCBzdG9yYWdlIFs5XTwvPiw8PkNGIGFmZmVjdHMgdGhlIG5vcm1hbCBzZWNyZXRpb24gYW5kIGZ1bmN0aW9uIG9mIGJpbGUtIGl0IGJlY29tZXMgc3RpY2tpZXIgWzEwXTwvPiw8PlN5bXB0b21zIGNhdXNlZCBieSBDRiBpbmNsdWRlIGJydWlzaW5nLCBub3NlIGJsZWVkcywgSW5mbGFtbWF0aW9uLCBtb3JlIGZyZXF1ZW50IGNoZXN0IGluZmVjdGlvbnMsIGxvdyBib2R5IHdlaWdodCwgbGl2ZXIgY2lycmhvc2lzLCBsZXRoYXJneSBbMTBdPC8+LDw+VHJlYXRtZW50IG9wdGlvbnMgaW5jbHVkZSBudXRyaXRpb25hbCB0aGVyYXB5LCBtb2R1bGF0b3JzLCBVRENBLCBsaXZlciB0cmFuc3BsYW50YXRpb24gWzExXTwvPl1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogXCJTZXh1YWwgZ2xhbmRzXCIsXG4gICAgICAgIHBpY3R1cmU6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc2NpZW50aWZpYy1maWd1cmVzL2dsYW5kcy5zdmdcIixcbiAgICAgICAgaW50cm9kdWN0aW9uOiBbPD5Mb2NhdGVkIGluIHBlbHZpYyBhcmVhIFsxMl08Lz4sPD5SZXNwb25zaWJsZSBmb3IgcHJvZHVjdGlvbiBvZiBzcGVybSAobWFsZSkvIHByb2R1Y3Rpb24gb2Ygb29jeXRlcyBhbmQgYXMgc2l0ZSBmb3IgZW1icnlvIGRldmVsb3BtZW50IChmZW1hbGUpIFsxM108Lz4sPD5DRiBjYXVzZXMgdGhpY2sgbXVjdXMgdG8gYmxvY2sgcmVwcm9kdWN0aXZlIGR1Y3RzIChib3RoKSwgYWZmZWN0cyBzcGVybSB0cmFuc3BvcnQgKG1hbGUpIFsxNF0gYW5kIGNlcnZpY2FsIG11Y3VzIGRlbnNpdHkgKGZlbWFsZSkgWzE1XTwvPiw8PlRoaXMgY2FuIGxlYWQgaW4gY29udGV4dCBvZiBDRiB0byByZWR1Y2VkIGZlcnRpbGl0eSBvciBldmVuIGluZmVydGlsaXR5IFsxNF1bMTVdPC8+LDw+IDxpPiBJbiB2aXRybyA8L2k+IGZlcnRpbGl6YXRpb24gY2FuIGJlIGFuIG9wdGlvbiBmb3IgQ0YgcGF0aWVudHMgWzE2XSA8Lz5dXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6IFwiTHVuZ3NcIiwgXG4gICAgICAgIHBpY3R1cmU6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc2NpZW50aWZpYy1maWd1cmVzL2x1bmdzLnN2Z1wiLFxuICAgICAgICBpbnRyb2R1Y3Rpb246IFs8PkxvY2F0ZWQgaW4gdGhlIHJpYmNhZ2UgWzE3XTwvPiw8PlJlc3BvbnNpYmxlIGZvciBicmVhdGhpbmcgXHUyMDEzIGFzcGlyYXRpb24gb2YgbGlmZS1naXZpbmcgb3h5Z2VuIGFuZCBkZXBvc2l0aW9uIG9mIGNhcmJvbmRpb3hpZGUgWzE3XTwvPiw8PkNGIGNhdXNlcyB0aGUgdGhpY2tlbmluZyBvZiBtdWN1cyBvbiB0b3Agb2YgdGhlIHJlc3BpcmF0b3J5IGVwaXRoZWxpdW0sIHNlcnZpbmcgYXMgbnV0cml0aW9uIGdyb3VuZCBhcyBmb3IgcGF0aG9nZW5zIGFuZCBpbXBhaXJpbmcgdGhlIG1vdmVtZW50IG9mIGNpbGlhIHNvIHRoYXQgdGhlIG11Y3VzIGNhbiBub3QgYmUgY2FydCBhd2F5IFsxOF08Lz4sPD5TeW1wdG9tcyBjYXVzZWQgYnkgQ0YgaW5jbHVkZSBzaG9ydG5lc3Mgb2YgYnJlYXRoLCBwZXJzaXN0ZW50IGNvdWdoIFsxOV0sIGx1bmcgaW5mZWN0aW9ucyAobWFpbmx5IGNhdXNlZCBieSA8aT4gUHNldWRvbW9uYXMgYWVydWdpbm9zYSA8L2k+LCA8aT4gU3RhcGh5bG9jb2NjdXMgYXVyZXVzIDwvaT4gYW5kIDxpPiBCdXJraG9sZGVyaWEgY2VwYWNpYSA8L2k+KSBbMjBdLCBicm9uY2hpZWN0YXNpcyBbMjFdIDwvPiw8PlRyZWF0bWVudCBvcHRpb25zIGluY2x1ZGUgcmVzcGlyYXRvcnkgcGh5c2lvdGhlcmFweSAoZS5nLiBicm9uY2hpb2RpbGF0b3JzKSwgc3BvcnRzLCBpbmhhbGF0aW9uLCBhbnRpYmlvdGljcyBhZ2FpbnN0IHBhdGhvZ2VucywgbHVuZyB0cmFuc3BsYW50YXRpb24gWzIyXTwvPl1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogXCJTa2VsZXRhbCBTeXN0ZW1cIixcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvYm9uZXMuc3ZnXCIsXG4gICAgICAgIGludHJvZHVjdGlvbjogWzw+TG9jYXRlZCB0aHJvdWdob3V0IHRoZSBlbnRpcmUgYm9keTwvPiw8PlJlc3BvbnNpYmxlIGZvciBzdHJ1Y3R1cmF0aW9uIG9mIHRoZSBib2R5LCBwcm90ZWN0aW9uIG9mIG9yZ2FucywgbWluZXJhbCBzdG9yYWdlLCBibG9vZCBjZWxsIHByb2R1Y3Rpb24gWzIzXTwvPiw8PkNGIGFmZmVjdHMgdGhlIHNrZWxldGFsIHN5c3RlbSBieSByZWR1Y2luZyBib25lIG1pbmVyYWwgZGVuc2l0eSBbMjRdPC8+LDw+VGhpcyBjYW4gbGVhZCBpbiBjb250ZXh0IG9mIENGIHRvIG9zdGVvcG9yb3Npcywgc3BpbmFsIGZyYWN0dXJlcywga3lwaG9zaXMsIHNjb2xpb3NpcyBbMjRdPC8+LDw+VHJlYXRtZW50IG9wdGlvbnMgaW5jbHVkZSB1cHRha2Ugb2YgYmlvcGhvc3Bob25hdGVzIHRvIGluY3JlYXNlIGJvbmUgZGVuc2l0eSwgdml0YW1pbiBEIGZvciBtYWludGVuYW5jZSBvZiBjYWxjaXVtIGxldmVscyBuZWVkZWQgZm9yIG1pbmVyYWxpemF0aW9uIFsyNF08Lz5dXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6IFwiU2tpblwiLFxuICAgICAgICBwaWN0dXJlOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3NjaWVudGlmaWMtZmlndXJlcy9za2luLnN2Z1wiLFxuICAgICAgICBpbnRyb2R1Y3Rpb246IFs8PkxvY2F0ZWQgb24gdGhlIHN1cmZhY2Ugb2YgdGhlIGVudGlyZSBib2R5PC8+LDw+UmVzcG9uc2libGUgZm9yIGJhcnJpZXIgZnVuY3Rpb24sIGltbXVub2xvZ2ljYWwgZGVmZW5zZSwgcmVndWxhdGlvbiBvZiBob21lb3N0YXNpcywgc2Vuc29yeSBmdW5jdGlvbnMgWzI1XTwvPiw8PkNGIGFmZmVjdHMgQ0ZUUiBjaGFubmVscyBvZiBzd2VhdCBnbGFuZHMsIHdoaWNoIGxlYWRzIHRvIHNhbHQgZGVwb3NpdHMgb24gdGhlIHNraW4gWzI2XTwvPiw8PlRoaXMgY2FuIGxlYWQgaW4gY29udGV4dCBvZiBDRiB0byBza2luIGlycml0YXRpb24gKHJhc2ggb3IgZGVybWF0aXRpcykgWzI2XTwvPiw8PlByZXZlbnRpb24gdmlhIGRyaW5raW5nIGEgbG90IGFuZCBhIHJhdGhlciBzYWx0eSBkaWV0IHBvc3NpYmxlIFsyN108Lz5dXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6IFwiTm9zZVwiLFxuICAgICAgICBwaWN0dXJlOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3NjaWVudGlmaWMtZmlndXJlcy9ub3NlLnN2Z1wiLFxuICAgICAgICBpbnRyb2R1Y3Rpb246IFs8PjwvPiw8PlJlc3BvbnNpYmxlIGZvciBzbWVsbCBwZXJjZXB0aW9uLCBicmVhdGhpbmcsIGZpbHRyYXRpb24gYW5kIGNsZWFuaW5nLCBhbmQgc2VydmluZyBhcyBhIHJlc29uYW5jZSBjaGFtYmVyIGZvciB0aGUgdm9pY2UgWzI4XTwvPiw8PkNGIGFmZmVjdHMgdGhpY2tuZXNzIG9mIG5hc2FsIHNlY3JldGlvbnMsIHdoaWNoIGNhbm5vdCBkcmFpbiB3ZWxsIFsyNl08Lz4sPD5UaGlzIGNhbiBsZWFkIGluIGNvbnRleHQgb2YgQ0YgdG8gbmFzYWwgY29uZ2VzdGlvbiwgcHJlc3N1cmUgaGVhZGFjaGVzLCBzaW51c2l0aXMsIGluZmxhbW1hdGlvbiBvZiBuYXNhbCBwb2x5cHMgWzI2XTwvPiw8PlRoZXJhcHkgcmFuZ2VzIGZyb20gbmFzYWwgc3ByYXlzIHRvIHN1cmdpY2FsIHJlbW92YWwgb2YgbmFzYWwgcG9seXBzIFsyNl08Lz5dXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6IFwiQnJhaW5cIixcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvYnJhaW4uc3ZnXCIsXG4gICAgICAgIGludHJvZHVjdGlvbjogWzw+TG9jYXRlZCBpbnNpZGUgdGhlIHNrdWxsPC8+LDw+UmVzcG9uc2libGUgZm9yIGNvZ25pdGl2ZSBmdW5jdGlvbnMsIG1vdmVtZW50IGNvb3JkaW5hdGlvbiwgYW5kIGNvbnRyb2wgb2Ygdml0YWwgZnVuY3Rpb25zIFsyOV08Lz4sPD5DRiBhZmZlY3RzIG1lbnRhbCBoZWFsdGggZHVlIHRvIHBzeWNob2xvZ2ljYWwgc3RyZXNzIGFuZCBzb2NpYWwgaXNvbGF0aW9uIFszMF08Lz4sPD5UaGlzIGNhbiBsZWFkIGluIGNvbnRleHQgb2YgQ0YgdG8gcGh5c2ljYWwgaWxsbmVzc2VzIGxpa2UgZGVwcmVzc2lvbiBhbmQgYW54aWV0eSBkaXNvcmRlcnMgWzMwXTwvPiw8PlRyZWF0bWVudCBvcHRpb25zIGluY2x1ZGUgcHN5Y2hvdGhlcmFweSwgYW50aWRlcHJlc3NhbnRzLCBzdXBwb3J0IGdyb3VwcyBhbmQgc3BvcnRzIFszMV08Lz5dXG4gICAgfVxuXSIsICJcbmV4cG9ydCBpbnRlcmZhY2UgRHJ1Z0RhdGVuc2F0eiB7XG4gICAgbmFtZTogc3RyaW5nOyAgXG4gICAgcGljdHVyZTogc3RyaW5nOyBcbiAgICBpbnRyb2R1Y3Rpb246IHN0cmluZztcbiAgICBleGFtcGxlczogQXJyYXk8ZXhhbXBsZT47IFxuXG5cbn1cblxuXG5pbnRlcmZhY2UgZXhhbXBsZXtcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIHRleHQ6IEFycmF5PHN0cmluZz4gfCBBcnJheTxSZWFjdC5SZWFjdE5vZGU+OyBcbn1cbiBcbmV4cG9ydCBjb25zdCBkcnVnZGF0YTogKEFycmF5PERydWdEYXRlbnNhdHo+KSAgPSBbXG4vLyAgICB7XG4vLyAgICAgICAgbmFtZTogXCJBYm91dFwiLFxuLy8gICAgICAgIHBpY3R1cmU6IFwiLi4uXCIsXG4vLyAgICAgICAgaW50cm9kdWN0aW9uOiBcIlwiLFxuLy8gICAgICAgIGV4YW1wbGVzOiBbXG4vLyAgICAgICAgICAgIHtcbi8vICAgICAgICAgICAgICAgIHRpdGxlOiBcIlwiLFxuLy8gICAgICAgICAgICAgICAgdGV4dDogW1wiXCJdXG4vLyAgICAgICAgICAgIH0sXG4vLyAgICAgICAgICAgIHtcbi8vICAgICAgICAgICAgICAgIHRpdGxlOiBcIlwiLFxuLy8gICAgICAgICAgICAgICAgdGV4dDogW1wic3RyaW5nXCJdXG4vLyAgICAgICAgICAgIH0sXG4vLyAgICAgICAgXVxuLy8gICAgfSxcbiAgICB7XG4gICAgICAgIC8vZ2lidCA0IE1vZHVsYXRvciBCZWlzcGllbGVcbiAgICAgICAgbmFtZTogXCJNb2R1bGF0b3JzXCIsXG4gICAgICAgIHBpY3R1cmU6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc2NpZW50aWZpYy1maWd1cmVzL21vZHVsYXRvcnMuc3ZnXCIsXG4gICAgICAgIGludHJvZHVjdGlvbjogXCJDRlRSIG1vZHVsYXRvcnMgcmVwcmVzZW50IGEgc2lnbmlmaWNhbnQgYWR2YW5jZW1lbnQgaW4gQ0YgdHJlYXRtZW50IHNpbmNlIHRoZXkgYXJlIHNtYWxsIG1vbGVjdWxlcyBpbXByb3ZpbmcgdGhlIGZ1bmN0aW9uIG9mIHRoZSBkZWZlY3RpdmUgQ0ZUUiBwcm90ZWluIGluIGEgbXV0YXRpb24tc3BlY2lmaWMgd2F5LCB3aGljaCBoZWxwcyByZXN0b3JlIGNobG9yaWRlIGlvbiB0cmFuc3BvcnQgYWNyb3NzIGNlbGwgbWVtYnJhbmVzLiBOb3RhYmxlIHBoYXJtYWNldXRpY2FsIGFnZW50cyBpbmNsdWRlIFRyaWthZnRhXHUwMEFFLCBTeW1kZWtvXHUwMEFFLCBPcmthbWJpXHUwMEFFIGFuZCBLYWx5ZGVjb1x1MDBBRSBbMV0uIFRoZXNlIG1lZGljYXRpb25zIGhhdmUgYmVlbiBkZW1vbnN0cmF0ZWQgdG8gc2lnbmlmaWNhbnRseSBpbXByb3ZlIGx1bmcgZnVuY3Rpb24gYW5kIHJlZHVjZSBwdWxtb25hcnkgZXhhY2VyYmF0aW9ucy4gSG93ZXZlciwgdGhleSBhcmUgZXhwZW5zaXZlIGFuZCBtYXkgY2F1c2Ugc2lkZSBlZmZlY3RzIHN1Y2ggYXMgbGl2ZXIgZW56eW1lIGVsZXZhdGlvbnMgYW5kIGNhdGFyYWN0cyBpbiBwZWRpYXRyaWMgcGF0aWVudHMgWzJdLiBGdXJ0aGVybW9yZSwgdGhleSBhcmUgbm90IHN1aXRhYmxlIGZvciBhbGwgQ0YgcGF0aWVudHMgc2luY2Ugb25seSBtdXRhdGlvbnMgd2hpY2ggcHJvZHVjZSBhIENGVFIgY2hhbm5lbCBjYW4gYmUgc3VwcG9ydGVkIGJ5IENGVFIgbW9kdWxhdG9ycywgbm90IHRob3NlIG11dGF0aW9ucyB3aGljaCBsZWFkIHRvIGEgbWlzc2luZyBDRlRSIGNoYW5uZWwgKGtub2NrIG91dCkgWzFdLCBlLmcuIHN0b3AtbXV0YXRpb25zIGluY2x1ZGluZyBwLkFyZzU1M1RlciBvciBwLkdseTU0MlRlciBbM10uIFwiLFxuICAgICAgICBleGFtcGxlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlRyaWthZnRhXCIsIC8vcXVlbGxlIDRcbiAgICAgICAgICAgICAgICB0ZXh0OiBbXCJBY3RpdmUgaW5ncmVkaWVudChzKTogQ29tYmluYXRpb24gb2YgZWxleGFjYWZ0b3IvdGV6YWNhZnRvci9pdmFjYWZ0b3JcIixcIkluZGljYXRpb25zOiBGb3IgQ0YgcGF0aWVudHMgYWdlZCAyIHllYXJzIGFuZCBvbGRlciB3aXRoIGF0IGxlYXN0IG9uZSBGNTA4ZGVsIG11dGF0aW9uID0gODUgJSBvZiBDRiBwYXRpZW50c1wiLFwiTWVjaGFuaXNtOiBFbGV4YWNhZnRvciBhbmQgdGV6YWNhZnRvciBhY3QgYXMgY29ycmVjdG9ycyBvbiBtaXNmb2xkZWQgQ0ZUUiBhbmQgcGVybWl0IGRlbGl2ZXJ5IHRvIHRoZSBjZWxsIHN1cmZhY2UsIHRoZXJlYnkgaW1wcm92aW5nIHRoZSBjaGFubmVsIGRlbnNpdHkgYXQgdGhlIHBsYXNtYSBtZW1icmFuZSwgd2hpbGUgaXZhY2FmdG9yIGFzIGEgcG90ZW50aWF0b3IgYWN0cyBvbiBDRlRSIGNoYW5uZWxzIHRoYXQgaGF2ZSByZWFjaGVkIHRoZSBjZWxsIHN1cmZhY2UgYW5kIGluY3JlYXNlIHRoZSBnYXRpbmcgYW5kIGNvbmR1Y3RhbmNlIG9mIGlvbnMgWzVdXCIsXCJBZG1pbmlzdHJhdGlvbjogT3JhbCB0YWJsZXRzXCIsXCJBcHByb3ZhbDogQXBwcm92ZWQgYnkgdGhlIEVNQSBpbiAyMDIwIFwiXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJTeW1kZWtvXCIsIC8vcXVlbGxlIDFcbiAgICAgICAgICAgICAgICB0ZXh0OiBbXCJBY3RpdmUgaW5ncmVkaWVudChzKTogQ29tYmluYXRpb24gb2YgdGV6YWNhZnRvciBhbmQgaXZhY2FmdG9yXCIsXCJJbmRpY2F0aW9uczogRm9yIENGIHBhdGllbnRzIGFnZWQgNiB5ZWFycyBhbmQgb2xkZXIgd2l0aCBzcGVjaWZpYyBtdXRhdGlvbnMgaW4gY29tYmluYXRpb24gd2l0aCBGNTA4ZGVsIG9yIHdpdGggdHdvIGNvcGllcyBvZiBGNTA4ZGVsIG11dGF0aW9uXCIsIFwiTWVjaGFuaXNtOiBUZXphY2FmdG9yIGFjdHMgYXMgYSBjb3JyZWN0b3Igb24gbWlzZm9sZGVkIENGVFIgYW5kIHBlcm1pdCBkZWxpdmVyeSB0byB0aGUgY2VsbCBzdXJmYWNlLCB0aGVyZWJ5IGltcHJvdmluZyB0aGUgY2hhbm5lbCBkZW5zaXR5IGF0IHRoZSBwbGFzbWEgbWVtYnJhbmUsIHdoaWxlIGl2YWNhZnRvciBhcyBhIHBvdGVudGlhdG9yIGFjdHMgb24gQ0ZUUiBjaGFubmVscyB0aGF0IGhhdmUgcmVhY2hlZCB0aGUgY2VsbCBzdXJmYWNlIGFuZCBpbmNyZWFzZSB0aGUgZ2F0aW5nIGFuZCBjb25kdWN0YW5jZSBvZiBpb25zIFs1XVwiLCBcIkFkbWluaXN0cmF0aW9uOiBPcmFsIHRhYmxldHNcIiwgXCJBcHByb3ZhbDogQXBwcm92ZWQgYnkgdGhlIEVNQSBpbiAyMDE4XCJdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBcIk9ya2FtYmlcIiwgLy9xdWVsbGUgNlxuICAgICAgICAgICAgICAgIHRleHQ6IFtcIkFjdGl2ZSBpbmdyZWRpZW50KHMpOiBDb21iaW5hdGlvbiBvZiBsdW1hY2FmdG9yIGFuZCBpdmFjYWZ0b3JcIiwgXCJJbmRpY2F0aW9uczogRm9yIENGIHBhdGllbnRzIGFnZWQgMSB5ZWFyIGFuZCBvbGRlciB3aXRoIHR3byBjb3BpZXMgb2YgdGhlIEY1MDhkZWwgbXV0YXRpb25cIixcIk1lY2hhbmlzbTogTHVtYWNhZnRvciBhY3RzIGFzIGEgY29ycmVjdG9yIG9uIG1pc2ZvbGRlZCBDRlRSIGFuZCBwZXJtaXQgZGVsaXZlcnkgdG8gdGhlIGNlbGwgc3VyZmFjZSwgdGhlcmVieSBpbXByb3ZpbmcgdGhlIGNoYW5uZWwgZGVuc2l0eSBhdCB0aGUgcGxhc21hIG1lbWJyYW5lLCB3aGlsZSBpdmFjYWZ0b3IgYXMgYSBwb3RlbnRpYXRvciBhY3Qgb24gQ0ZUUiBjaGFubmVscyB0aGF0IGhhdmUgcmVhY2hlZCB0aGUgY2VsbCBzdXJmYWNlIGFuZCBpbmNyZWFzZSB0aGUgZ2F0aW5nIGFuZCBjb25kdWN0YW5jZSBvZiBpb25zIFs1XVwiLFwiQWRtaW5pc3RyYXRpb246IE9yYWwgdGFibGV0c1wiLFwiQXBwcm92YWw6IEFwcHJvdmVkIGJ5IHRoZSBFTUEgaW4gMjAxNVwiXVxuICAgICAgICAgICAgfSwgIFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkthbHlkZWNvXCIsIC8vcXVlbGxlIDdcbiAgICAgICAgICAgICAgICB0ZXh0OiBbXCJBY3RpdmUgaW5ncmVkaWVudChzKTogSXZhY2FmdG9yXCIsXCJJbmRpY2F0aW9uczogRm9yIENGIHBhdGllbnRzIGFnZWQgNCBtb250aHMgYW5kIG9sZGVyIHdpdGggYSBnYXRpbmcgbXV0YXRpb24gaW4gdGhlIENGVFIgZ2VuZSAoZXhjbHVkaW5nIEY1MDhkZWwpXCIsXCJNZWNoYW5pc206IEl2YWNhZnRvciBhcyBhIHBvdGVudGlhdG9yIGFjdHMgb24gQ0ZUUiBjaGFubmVscyB0aGF0IGhhdmUgcmVhY2hlZCB0aGUgY2VsbCBzdXJmYWNlIGFuZCBpbmNyZWFzZSB0aGUgZ2F0aW5nIGFuZCBjb25kdWN0YW5jZSBvZiBpb25zIFs1XVwiLFwiQWRtaW5pc3RyYXRpb246IE9yYWwgdGFibGV0c1wiLFwiQXBwcm92YWw6IEFwcHJvdmVkIGJ5IHRoZSBFTUEgaW4gSnVseSAyMDEyXCJdXG4gICAgICAgICAgICB9LCBcbiAgICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiBcIk11Y29seXRpY3MgYW5kIGluaGFsYXRpb25cIiwgLy9naWJ0IDIgSW5oYWxhdGlvbiBCZWlzcGllbGVcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvbXVjb2x5dGljcy5zdmdcIixcbiAgICAgICAgaW50cm9kdWN0aW9uOiBcIk11Y29seXRpY3MgaGVscCB0aGluIGFuZCBsb29zZW4gdGhlIG11Y3VzIGluIHRoZSBsdW5ncywgbWFraW5nIGl0IGVhc2llciB0byBjb3VnaCB1cCBhbmQgY2xlYXIgdGhlIGFpcndheXMuIFRoZXNlIHRoZXJhcGllcyBhcmUgdHlwaWNhbGx5IGFkbWluaXN0ZXJlZCB2aWEgd2V0IG9yIGRyeSBpbmhhbGF0aW9uLCBwcm92aWRpbmcgZGlyZWN0IGRlbGl2ZXJ5IHRvIHRoZSBsdW5ncy4gSW4gdGhlIGNhc2Ugb2Ygd2V0IGluaGFsYXRpb24sIHRoZSBtZWRpY2F0aW9uIGlzIGluaGFsZWQgYXMgYW4gYXF1ZW91cyBzb2x1dGlvbiBhbmQgbmVidWxpemVkLCB3aGlsZSBpbiB0aGUgY2FzZSBvZiBkcnkgaW5oYWxhdGlvbiwgdGhlIG1lZGljYXRpb24gaXMgaW5oYWxlZCBhcyBhIHBvd2Rlci4gWzFdIEtleSBUaGVyYXBpZXMgaW5jbHVkZSBtYW5uaXRvbCwgUHVsbW96eW1lXHUwMEFFIGFuZCBoeXBlcnRvbmljIHNhbGluZS5cIixcbiAgICAgICAgZXhhbXBsZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJQdWxtb3p5bWVcIiwgLy9xdWVsbGUgOFxuICAgICAgICAgICAgICAgIHRleHQ6IFtcIkFjdGl2ZSBpbmdyZWRpZW50KHMpOiBEb3JuYXNlIGFsZmEgYXMgbXVjb2x5dGljIGVuenltZVwiLFwiSW5kaWNhdGlvbnM6IEZvciBDRiBwYXRpZW50cyBhZ2VkIDUgeWVhcnMgYW5kIG9sZGVyXCIsXCJNZWNoYW5pc206IGJyZWFrcyB1cCBhbmQgdGhpbnMgbXVjdXMgdmlhIEROYXNlIGFjdGl2aXR5XCIsXCJBZG1pbmlzdHJhdGlvbjogSW5oYWxhdGlvbiB2aWEgbmVidWxpemVyLCBvbmNlIG9yIHR3aWNlIGRhaWx5XCIsXCJBcHByb3ZhbDogQXBwcm92ZWQgYnkgdGhlIEZEQSBpbiAxOTkzIFs5XVwiXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJIeXBlcnRvbmljIHNhbGluZVwiLC8vcXVlbGxlIDEwXG4gICAgICAgICAgICAgICAgdGV4dDogW1wiQWN0aXZlIGluZ3JlZGllbnQocyk6IE9zbW90aWMgYWdlbnQgc29kaXVtIGNobG9yaWRlICgzJSwgMy41JSwgNyUpXCIsXCJJbmRpY2F0aW9uczogRm9yIENGIHBhdGllbnRzIGFnZWQgNiB5ZWFycyBhbmQgb2xkZXJcIixcIk1lY2hhbmlzbTogRHJhd3Mgd2F0ZXIgaW50byB0aGUgYWlyd2F5cywgaHlkcmF0aW5nIHRoZSBtdWN1cyBhbmQgaW1wcm92aW5nIGNsZWFyYW5jZVwiLFwiQWRtaW5pc3RyYXRpb246IEluaGFsYXRpb24gdmlhIG5lYnVsaXplciwgdXNlZCB0d2ljZSBkYWlseVwiLFwiQXBwcm92YWw6IG5vIG9mZmljaWFsIGFwcHJvdmFsIGJ5IEVNQSBvciBGREEgYXZhaWxhYmxlLCBidXQgd2lkZWx5IHVzZWQgZm9yIHNldmVyYWwgZGVjYWRlcyBbMTFdXCIsXCJQcmljZTogbG93LWNvc3QgWzExXVwiXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiBcIkFudGliaW90aWNzXCIsIC8vZ2lidCAyIEFCIEJlaXNwaWVsZSBcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvYW50aWJpb3RpY3Muc3ZnXCIsXG4gICAgICAgIGludHJvZHVjdGlvbjogXCJBbnRpYmlvdGljcyBhcmUgY3J1Y2lhbCBmb3IgdHJlYXRpbmcgYmFjdGVyaWFsIGluZmVjdGlvbnMgaW4gQ0YgcGF0aWVudHMgc2luY2UgdGhlIG11Y3VzIHNlcnZlcyBhcyBhbiBvcHRpbWFsIGVudmlyb25tZW50IGZvciBwYXRob2dlbnMuIEEgaHVnZSB2YXJpZXR5IG9mIGFudGliaW90aWNzIGNhbiBiZSBpbmhhbGVkLCBvcmFsLCBvciBpbnRyYXZlbm91cywgZGVwZW5kaW5nIG9uIHRoZSBzZXZlcml0eSBhbmQga2luZCBvZiB0aGUgaW5mZWN0aW9uIFsxMl0uIENvbW1lcmNpYWxseSBhdmFpbGFibGUgbWVkaWNhdGlvbnMgaW5jbHVkZSBUT0JJXHUwMEFFIGFuZCBDQVlTVE9OXHUwMEFFLiBBIG1ham9yIHByb2JsZW0gYXNzb2NpYXRlZCB3aXRoIHRoZSBhcHBsaWNhdGlvbiBvZiBhbnRpYmlvdGljcyBpcyB0aGUgZmFjdCB0aGF0IGxvbmctdGVybSB1c2UgY2FuIGxlYWQgdG8gYW50aWJpb3RpYyByZXNpc3RhbmNlIGFuZCBwb3RlbnRpYWwgc2lkZSBlZmZlY3RzIGxpa2Uga2lkbmV5IGRhbWFnZSBhbmQgaGVhcmluZyBsb3NzIFsxMl0uXCIsXG4gICAgICAgIGV4YW1wbGVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiVE9CSVwiLCAvL3F1ZWxsZSAxMyArIFBzZXVkbyBtdXNzIGt1cnNpdlxuICAgICAgICAgICAgICAgIHRleHQ6IFtcIkFjdGl2ZSBpbmdyZWRpZW50KHMpOiBUb2JyYW15Y2luXCIsPD5JbmRpY2F0aW9uczogRm9yIENGIHBhdGllbnRzIGFnZWQgNiB5ZWFycyBhbmQgb2xkZXIgd2l0aCA8aT4gUHNldWRvbW9uYXMgYWVydWdpbm9zYSA8L2k+IGluZmVjdGlvbnMgPC8+LFwiTWVjaGFuaXNtOiBBbWlub2dseWNvc2lkZSBhbnRpYmlvdGljIGRpc3J1cHRzIGJhY3RlcmlhbCBwcm90ZWluIHN5bnRoZXNpcywgbGVhZGluZyB0byB0aGUgZGVhdGggb2YgdGhlIHBhdGhvZ2VuXCIsXCJBZG1pbmlzdHJhdGlvbjogSW5oYWxhdGlvbiBvZiBhbnRpYmlvdGljIHZpYSBuZWJ1bGl6ZXIsIHR5cGljYWxseSB0YWtlbiB0d2ljZSBkYWlseSBpbiAyOC1kYXkgY3ljbGVzXCIsXCJBcHByb3ZhbDogQXBwcm92ZWQgYnkgdGhlIEVNQSBpbiAyMDExIFsxNF1cIl1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQ0FZU1RPTlwiLCAvL3F1ZWxsZSAxNSArIFBzZXVkbyBtdXNzIGt1cnNpdlxuICAgICAgICAgICAgICAgIHRleHQ6IFtcIkFjdGl2ZSBpbmdyZWRpZW50KHMpOiBBenRyZW9uYW1cIiw8PkluZGljYXRpb25zOiBGb3IgQ0YgcGF0aWVudHMgYWdlZCA2IHllYXJzIGFuZCBvbGRlciB3aXRoIDxpPiBQc2V1ZG9tb25hcyBhZXJ1Z2lub3NhIDwvaT4gaW5mZWN0aW9ucyA8Lz4sXCJNZWNoYW5pc206IEJldGEtTGFjdGFtIGFudGliaW90aWMgZGlzcnVwdHMgYmFjdGVyaWFsIGNlbGwgd2FsbCBzeW50aGVzaXMsIGxlYWRpbmcgdG8gdGhlIGRlYXRoIG9mIHRoZSBwYXRob2dlblwiLFwiQWRtaW5pc3RyYXRpb246IEluaGFsYXRpb24gdmlhIG5lYnVsaXplciwgdGFrZW4gdGhyZWUgdGltZXMgZGFpbHkgaW4gMjgtZGF5IGN5Y2xlc1wiLFwiQXBwcm92YWw6IEFwcHJvdmVkIGJ5IHRoZSBFTUEgaW4gMjAwOVwiXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiBcIkRpZ2VzdGl2ZSBlbnp5bWVzIGFuZCBkaWV0XCIsIC8vZWluIGJlaXNwaWVsXG4gICAgICAgIHBpY3R1cmU6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc2NpZW50aWZpYy1maWd1cmVzL2RpZXQuc3ZnXCIsXG4gICAgICAgIGludHJvZHVjdGlvbjogXCJUaGUgZGlnZXN0aXZlIHByb2Nlc3MgaXMgaW1wYWlyZWQgaW4gODAlIG9mIHBhdGllbnRzIHdpdGggY3lzdGljIGZpYnJvc2lzIChDRiksIGFzIGEgcmVzdWx0IG9mIHBhbmNyZWF0aWMgaW5zdWZmaWNpZW5jeSwgd2hpY2ggaW4gdHVybiBsZWFkcyB0byBkaWZmaWN1bHRpZXMgaW4gZGlnZXN0aW5nIGZvb2QgYW5kIGFic29yYmluZyBudXRyaWVudHMuIEVuenltZSBzdXBwbGVtZW50cyBsaWtlIENyZW9uXHUwMEFFIGFyZSB0aGVyZWZvcmUgZXNzZW50aWFsIFsxNl0uIE1vcmVvdmVyIENGIHBhdGllbnRzIGFyZSBhbHNvIGFkdmlzZWQgdG8gZWF0IGEgYmFsYW5jZWQgYW5kIGVuZXJneS1yaWNoIGRpZXQsIGFzIHRoZSBpbmNyZWFzZWQgd29yayBvZiBicmVhdGhpbmcgYW5kIGluY3JlYXNlZCBjb3VnaGluZywgYXMgd2VsbCBhcyBpbmZlY3Rpb25zLCBmZXZlciBhbmQgZGlhcnJob2VhLCBjb25zdW1lIG1vcmUgZW5lcmd5IHRoYW4gYSBoZWFsdGh5IHBlcnNvbi4gWzFdIEl0IGlzIGFsc28gYW4gb3B0aW9uIGZvciBwYXRpZW50cyB0byB1c2UgbnV0cml0aW9uYWwgc3VwcGxlbWVudHMuIEVsZWN0cm9seXRlIHByZXBhcmF0aW9ucyBhcmUgYWxzbyB1c2VkIGluIHRoaXMgY29udGV4dCB0byBjb21wZW5zYXRlIGZvciB0aGUgaW5jcmVhc2VkIG5lZWQgZm9yIGZsdWlkcyBhbmQgdGhlIHJlcXVpcmVkIHNhbHRzLlwiLFxuICAgICAgICBleGFtcGxlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkNyZW9uXCIsIC8vcXVlbGxlIDE3XG4gICAgICAgICAgICAgICAgdGV4dDogW1wiQWN0aXZlIGluZ3JlZGllbnQocyk6IHBhbmNyZWF0aWMgZW56eW1lcyAobGlwYXNlLCBhbXlsYXNlLCBwcm90ZWFzZSkgZm9yIGVuenltZSByZXBsYWNlbWVudCB0aGVyYXB5XCIsXCJJbmRpY2F0aW9uczogRm9yIENGIHBhdGllbnRzIHdpdGggZXhvY3JpbmUgcGFuY3JlYXRpYyBpbnN1ZmZpY2llbmN5XCIsXCJNZWNoYW5pc206IFByb3ZpZGVzIGRpZ2VzdGl2ZSBlbnp5bWVzIChsaXBhc2UsIHByb3RlYXNlLCBhbXlsYXNlKSB0byBhaWQgZGlnZXN0aW9uXCIsXCJBZG1pbmlzdHJhdGlvbjogT3JhbCBjYXBzdWxlcywgdGFrZW4gd2l0aCBtZWFsc1wiLFwiQXBwcm92YWw6IEFwcHJvdmVkIGJ5IHRoZSBGREEgaW4gMjAwOVwiXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFxuICAgICAgICBdXG4gICAgfVxuXSIsICJpbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gIFNWRygpe1xuICAgIGNvbnN0IHsgZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsIC8qICwgZ29Ub1RleHRzQW5kT3BlbkNvbGxhcHNpYmxlICovIH0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuKFxuICAgICAgICA8c3ZnXG4gICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTAwMCA1MDBcIlxuICAgICAgICAgICBvdmVyZmxvdz1cImhpZGRlblwiXG4gICAgICAgICAgIHZlcnNpb249XCIxLjFcIlxuICAgICAgICAgICBpZD1cInN2ZzM2N1wiXG4gICAgICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPVwiOS41OTU1NTI0XCJcbiAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICAgICA8ZGVmc1xuICAgICAgICAgICAgIGlkPVwiZGVmczFcIj48Y2xpcFBhdGhcbiAgICAgICAgICAgICAgIGlkPVwiY2xpcDBcIj48cmVjdFxuICAgICAgICAgICAgICAgICB4PVwiLTE1MzdcIlxuICAgICAgICAgICAgICAgICB5PVwiNjQ2N1wiXG4gICAgICAgICAgICAgICAgIHdpZHRoPVwiMTk2NThcIlxuICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI2NTIwXCJcbiAgICAgICAgICAgICAgICAgaWQ9XCJyZWN0MVwiIC8+PC9jbGlwUGF0aD48L2RlZnM+PGdcbiAgICAgICAgICAgICBjbGlwUGF0aD1cInVybCgjY2xpcDApXCJcbiAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC4wNTkzODgwNywwLDAsMC4wNTkzODgwNywtMTEyLjQ1MDE4LC0zODQuMDYyNjUpXCJcbiAgICAgICAgICAgICBpZD1cImczNjdcIj48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjk2NS44Myw4Mzg3LjczIGMgMTQ0LjMsMjI0LjE5IDI4OC41OSw0NDguMzcgMzA1LjY2LDU2OS44IDE3LjA3LDEyMS40MyAtOTMuMDgsMTQwLjEgLTIwMy4yNCwxNTguNzhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y0Y2MxZVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjczLjMzMzNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzNTQ1LjAxLDg0OTAuMyBjIDI5OC42OSw0NjQuMDUgNTk3LjM4LDkyOC4xMSA2MzIuNzEsMTE3OS40NiAzNS4zMywyNTEuMzYgLTE5Mi42OSwyOTAuMDEgLTQyMC43MSwzMjguNjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y0Y2MxZVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjczLjMzMzNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyNDI5LjI4LDcwOTMuOTcgYyAtOTAuMzYsMTA4LjgxIC0yODEuMjEsLTguMDYgLTM2Mi4xNiw5Ni43MyAtODAuOTQsMTA0LjggLTc5Ljk4LDIyMC40IC0yMy42NSwzMzEuNTMgNDAuMjQsNzkuNCAtMTgzLjMyLDQ5Ljk1IC05LjcyLDIwMS40OSAxNjMuMTcsMTQyLjQ0IC05NC44MiwyMTcuMSAtMTA1LjU4LDMwNC4zMSAtMTAuNzcsODcuMiA0NC41NywxMjkuMiA0MC45NywyMTguOTEgLTMuNiw4OS43MiAtODkuOTIsMjM5LjAzIC02Mi41NiwzMTkuMzkgMjcuMzYsODAuMzYgODIuMDIsODguNDcgMTYwLjE3LDE3Ny41OSA3OC4xNCw4OS4xMiAyMjMuNjEsNDA5Ljc2IDMwOC43MSwzNTcuMTIgODUuMTEsLTUyLjY0IDQ5LjQ5LC0yMDQuNzEgMTYzLjY1LC0yNTIuMjkgMTE0LjE2LC00Ny41OCAyMTAuNDEsLTE0MS42MSAzNTkuMTksLTExMS4yOSAxNzcuNDcsMzYuMTYgNDQzLjUzLDg3LjcgNTQ5LjcsNDkuMjUgMTA2LjE4LC0zOC40NSAxNjIuMiwtMTQ2Ljc2IDI0OS40OCwtMjAxLjg0IDg3LjI5LC01NS4wOSAyMDAuODYsLTkzLjMxIDI3NC4yNSwtMTI4LjY3IDczLjM5LC0zNS4zNSA5Ny4yMywtMjYuMyAxNjYuMDksLTgzLjQ4IDY4Ljg1LC01Ny4xNyAyMDcuOTgsLTE3OC41MSAyNDcuMDMsLTI1OS41NyAzOS4wNiwtODEuMDYgMTYuMTcsLTE2NC4xNiAtMTIuNzEsLTIyNi43OCAtMjguODcsLTYyLjYzIC01Ny4wMSwtMTg1LjE2IC0xMTEuNzYsLTIyNi4yMiAtNTQuNzUsLTQxLjA2IC0xMjQuNTMsLTMuOCAtMjE2LjczLC0yMC4xMyAtOTIuMjEsLTE2LjMzIC05OC4zMSwtODAuMzYgLTMzNi41LC03Ny44NSAtOTMuMjcsMC45OSAtNDYuMjIsMTk3LjAxIC0yMjMuMTUsNzcuNTEgLTI0OS44LC0xNjguNzIgLTU0Ljk1LC0yNDAuMjggLTkyLjk2LC0zMTUuMDQgLTM4LjAxLC03NC43NiAtOTIuNzgsLTg0LjU4IC0xMzUuMSwtMTMzLjUyIC00Mi4zMiwtNDguOTUgLTY0LjQ4LC0xMzIuMzQgLTExOC44MiwtMTYwLjE0IC01NC4zNCwtMjcuODEgLTEzNy40Miw5Ljk4IC0yMDcuMjEsLTYuNjggLTY5Ljc4LC0xNi42NiAtMjIwLjU1LC01MC4xMyAtMzAwLjgxLC03OC4yNSAtNTMuNjQsLTM1LjM3IC00NS40OSwtMTYzLjgzIC0xODAuNzQsLTkwLjQ0IC04MS40MSw0NC4xOCAzMi41OSwxNjcuMDEgLTE5LjA4LDIzOC4zNiB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjYmI5OTA5XCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjgyMi41NCw3NTk5Ljg2IGMgLTI1Ljk2LC04LjE1IC04NC4wMSwtNS44MSAtMTAxLjQ5LDI1LjQyIC0xNy40OCwzMS4yNCAtMTQuODcsMTE1LjY5IC0zLjM3LDE2MiAxMS41LDQ2LjMxIDU2LjgzLDg0LjE0IDcyLjM3LDExNS44NiAxNS41NCwzMS43MSAzMS43NSw1Ni4zNSAyMC44Nyw3NC40MiAtMTAuODgsMTguMDYgLTUyLjY3LDM0LjM3IC04Ni4xNCwzMy45NyAtMzMuNDYsLTAuNCAtNzguNjQsLTM3LjM0IC0xMTQuNjYsLTM2LjM4IC0zNi4wMiwwLjk2IC02NC4xNywzNy43IC0xMDEuNDcsNDIuMTIgLTM3LjI5LDQuNDEgLTkyLjM5LC0zMC44NSAtMTIyLjMsLTE1LjYxIC0yOS45MSwxNS4yMyAtMzAuMSw4OC41NiAtNTcuMTUsMTA3LjAyIC0yNy4wNCwxOC40NyAtODMuNjMsLTIyLjU3IC0xMDUuMTMsMy43NyAtMjEuNSwyNi4zNCAtMy4zLDEyNi4xMiAtMjMuODgsMTU0LjI4IC0yMC41OSwyOC4xNyAxLjU2LDM5LjQ4IDE1LjYzLDYxLjQyIDE0LjA3LDIxLjk0IDM3LjA3LDk3Ljg5IDY4Ljc3LDcwLjIzIDMxLjY5LC0yNy42NiAtMTUuNiwtODIuMzcgLTUuNjUsLTEwNy40MiA5Ljk1LC0yNS4wNSA0MC40MywtMTkuOTEgNjUuMzYsLTQyLjg3IDI0LjkzLC0yMi45NiA0Ny45MywtODcuMzkgODQuMjQsLTk0Ljg4IDM2LjMxLC03LjUgMTMzLjY0LDQ5Ljg4IDEzMy42NCw0OS44OCA0Ny40LDE3LjA4IDExNC4zNywzOS45MyAxNTAuNzksNTIuNTcgMzYuNDEsMTIuNjUgNDUuNjgsMzguNiA2Ny43LDIzLjMgMjIuMDEsLTE1LjMgMzYuNzIsLTk0LjQ2IDY0LjM3LC0xMTUuMDkgMjcuNjUsLTIwLjY0IDkwLjgzLDExLjYxIDEwMS41MSwtOC43MyAxMC42OCwtMjAuMzQgLTU5LjA0LC03MS44IC0zNy40MywtMTEzLjMzIDIxLjYyLC00MS41MiA2NC4zOSwtMzMuNiA5Mi4yNSwtNDAuNjIgMjcuODYsLTcuMDEgNTAuNDksMTguODggNzQuOSwtMS40NyAyNC40MSwtMjAuMzQgNDMuNywtMTAxLjUxIDcxLjU3LC0xMjAuNTggMjcuODcsLTE5LjA3IDc2LjA3LDQwLjM2IDk1LjY3LDYuMTcgMTkuNiwtMzQuMTggLTguMzEsLTc0LjIxIC00OC44NywtOTEuOTcgLTQwLjU2LC0xNy43NyAtMTQxLjUzLDUuMjUgLTE5NC41LC0xNC42IC01Mi45OCwtMTkuODUgLTkzLjc0LC03NC42OSAtMTIzLjM0LC0xMDQuNSAtMjkuNiwtMjkuODIgLTI4LjMsLTY2LjIyIC01NC4yNiwtNzQuMzggelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2IwOTAwOFwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDIzNTMuOTIsODk1MC42NCBjIC0yNy41OSwtMzYuNDEgNzEuMSwtODkuNjYgODkuMjYsLTEyOS4xMyAxOC4xNiwtMzkuNDcgMTMuNjksLTcxLjQxIDE5LjcxLC0xMDcuNjcgNi4wMiwtMzYuMjcgLTQyLjEsLTg4Ljc0IDE2LjQxLC0xMDkuOTMgNTguNSwtMjEuMiAxMTAuMywzNS4yNSAxNTEuMTksMjEuODggNDAuODksLTEzLjM3IDU2LjU3LC04OC4zNyA5NC4xNiwtMTAyLjEyIDM3LjU4LC0xMy43NCAxMTEuODMsMyAxMzEuMzMsMTkuNjYgMTkuNSwxNi42NyA0LjYyLDUwLjc1IC0xNC4zMiw4MC4zNCAtMTguOTMsMjkuNTkgLTYyLjk0LDc1Ljc2IC05OS4yOSw5Ny4xOCAtMzYuMzUsMjEuNDIgLTk0LjI2LDE2LjA1IC0xMTguOCwzMS4zNSAtMjQuNTQsMTUuMyAtNC40OSwzNy40IC0yOC40NSw2MC40NSAtMjMuOTUsMjMuMDUgLTExOC45Miw1OSAtMTQ3LjQzLDgzLjI1IC0yOC41MSwyNC4yNSAtNjcuODYsODguOTMgLTkzLjc3LDU0Ljc0IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNiMDkwMDhcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzOTAzLDgxMzIuNDMgYyAtMzguNzgsNy4xMiAtODIuNTIsMzYuODkgLTExNi42LDMwLjUxIC0zNC4wOCwtNi4zOCAtODIuMiwtNDcuNjUgLTg3Ljg4LC02OC44IC01LjY4LC0yMS4xNSAtMS4yMiwtNjEuMjYgNTMuODIsLTU4LjEgNTUuMDMsMy4xNiA5My4wMywtMjguMzcgMTM0LjgyLC01MS43NSA0MS44LC0yMy4zOCA4Mi44NCwtODcuMjEgMTE1LjkzLC04OC41NCAzMy4wOCwtMS4zMiA1Ny4yOCw1OS43MSA4Mi41OSw4MC41OSAyNS4zMSwyMC44NyA1Mi4yNiwxNy4yNSA2OS4yOSw0NC42NiAxNy4wMiwyNy40MiAxMy4yOSw5My40NiAzMi44NywxMTkuODQgMTkuNTgsMjYuMzggNzguMDQsMTkuMjcgODQuNTksMzguNDYgNi41NiwxOS4xOCAtMTkuODUsNTQuODEgLTQ1LjI0LDc2LjY1IC0yNS40LDIxLjgzIC04MC45Myw0OC4xMyAtMTA3LjE0LDU0LjM2IC0yNi4yLDYuMjIgLTQxLjY3LDIuNDYgLTUwLjEsLTE3LjAxIC04LjQyLC0xOS40OCA4LjA1LC03MSAtMC40NCwtOTkuODYgLTguNDksLTI4Ljg1IC0yMi43MywtNjMuMDkgLTUwLjQ4LC03My4yNiAtMjcuNzUsLTEwLjE3IC03Ny4yNiw1LjEyIC0xMTYuMDMsMTIuMjUgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2IwOTAwOFwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDMzMTQuNDEsODQ3OC41MiBjIC00My4xNiwtNi4zNyAtMTAxLjYyLC04OC43MyAtMTM3LjA2LC01OC43MSAtMzMuMTEsMjguMDYgNTUuNDcsOTAuMyA0Mi4wMSwxMjAuMTIgLTEzLjQ2LDI5LjgyIC05Mi4zOCwzOS40NiAtMTIyLjc0LDU4Ljc5IC0zMC4zNiwxOS4zNCAtNzIuNzUsMzMuNzQgLTU5LjQxLDU3LjI0IDEzLjMzLDIzLjQ5IDg2LjE1LDY3LjU3IDEzOS40NCw4My43NCA1My4yOSwxNi4xNyAxMTYuMjgsMTcuOTkgMTgwLjI5LDEzLjI4IDY0LjAxLC00LjcxIDE1Mi45MiwwLjAxIDIwMy43NywtNDEuNTQgNTAuODQsLTQxLjU2IDI3LjkzLC0xOTkuNDEgMTAxLjMxLC0yMDcuODEgNzMuMzgsLTguNDEgMjMzLjIxLC04MC43MSAyMDQuMjMsLTEyNS4yIC0yOC45OCwtNDQuNDggLTE4NS40MywyNC41MyAtMjQ1LjM2LC0wLjUyIC01OS45MywtMjUuMDQgLTEzMy40OSw2My4zMyAtMTg0LjU3LDgwLjEgLTUxLjA4LDE2Ljc3IC03OC43NSwyNi44NyAtMTIxLjkxLDIwLjUxIHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNiMDkwMDhcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzNzcxLjk5LDc3ODUuNjQgYyAtMTUuNzUsMy41NiAtNDEuNTgsMzMuNjQgLTM3LjkzLDQ0LjUzIDMuNjUsMTAuOSA0NC4wNywyNC4zOSA1OS44MywyMC44MyAxNS43NSwtMy41NiAzOC44OCwtMzEuNjggMzQuNjksLTQyLjE4IC00LjE5LC0xMC40OSAtNDAuODMsLTI2Ljc0IC01Ni41OSwtMjMuMTggelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2IwOTAwOFwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoOFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDMzODUuODcsODAzNi43MiBjIC0yNi41LDI5Ljk3IC00OS4yOSwyNi44NCAtNTAuOTIsNDQuNzQgLTEuNjMsMTcuOSAxNC41MSw1MC40NCA0MS4xNSw2Mi42NiAyNi42NCwxMi4yMiA4OS4yMiwxNC42OCAxMTguNjksMTAuNjUgMjkuNDgsLTQuMDMgNDkuMzEsLTE4LjQ5IDU4LjE2LC0zNC44MyA4Ljg1LC0xNi4zMyAtOS4wOCwtMzQuNjUgLTUuMDYsLTYzLjE2IDQuMDIsLTI4LjUxIDI4LjQ2LC04MS43OSAyOS4xNywtMTA3Ljg5IDAuNzEsLTI2LjEgLTExLjA0LC00MC44MiAtMjQuODksLTQ4LjY5IC0xMy44NSwtNy44OCAtMzAuMDQsLTIxLjM5IC01OC4yMSwxLjQ0IC0yOC4xNiwyMi44MyAtODEuNTksMTA1LjEgLTEwOC4wOSwxMzUuMDggelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2IwOTAwOFwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoOVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDMwNzUuMzMsNzM2NS4zIGMgLTIzLjg5LDE1LjE1IC0xMi40NSw3Ny43IC0zOS41Nyw5NS43MiAtMjcuMTIsMTguMDEgLTEwMy43LDEuMjEgLTEyMy4xNiwxMi4zNyAtMTkuNDcsMTEuMTUgLTIxLjk3LDQzLjEyIDYuMzksNTQuNTggMjguMzcsMTEuNDcgMTIxLjgzLC0xIDE2My44MiwxNC4yIDQxLjk5LDE1LjIgNTYuNTEsNjguNDMgODguMTEsNzcuMDMgMzEuNTksOC42IDkzLjAzLDEuNTEgMTAxLjQ4LC0yNS40MiA4LjQ2LC0yNi45NCAtMzUuMTksLTk4LjkyIC01MC43NCwtMTM2LjIgLTE1LjU0LC0zNy4yOCAtMTguMTUsLTcyLjA5IC00Mi41NCwtODcuNDcgLTI0LjM5LC0xNS4zOCAtNzkuOSwtMTkuOTYgLTEwMy43OSwtNC44MSB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjYjA5MDA4XCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQzMzYuMzksMTA2MjMgYyAtMjMuNiwtOSAtNTYuNDQsLTggLTg1Ljc4LC0xLjggLTQ2Ljk0LDkuOCAtMTA1LjEzLDY4IC0xNjYuMTEsODkgLTYwLjk4LDIxLjEgLTE1Ny43OSwtMC44IC0xOTkuNzcsMzcuMyAtNDEuOTgsMzguMiAtMTEwLjMsMTQ1LjEgLTUyLjExLDE5MS43IDE0Ljg0LDExLjkgODguMzMsLTEwNS41IDEzMS45NywtMTEwLjIgNDMuNjQsLTQuNyA2NS45NiwxMC41IDEyOS44Niw4MS45IDYzLjkxLDcxLjMgOTkuNzIsNDIuMyAxMzkuNjUsNDcuMSAzOS45Miw0LjcgNzMuNzMsLTcuNyA5OS44OCwtMTguNyAyNi4xNiwtMTAuOSA1OC4yNiwtMzAuNSA1Ny4wNCwtNDcgNS4zNCwtMzMuMyAtNjAuMTksLTEyLjEgLTY0LjM0LC01Mi4zIC00LjE1LC00MC4yIDUyLjE0LC0xNTIuNCAzOS40NiwtMTg4LjkgLTQuNzUsLTEzLjcgLTE1LjU5LC0yMi43IC0yOS43NSwtMjguMSB6IG0gMjE2LjA1LC05MDcuMTIgYyA0Ni4zNywxOC4wMyA5OC4wMyw0My4wOCAxMjUuMTMsNTYuNDkgNDMuMzYsMjEuNDYgNDcuMjgsMjguMiA2My43Miw1MS40MiAxNi40NCwyMy4yMiAyNi4yMSw0My41OSAzNC45Miw4Ny45MiA4LjcyLDQ0LjMyIDI0LjQ3LDEzNS43OSAxNy4zOSwxNzcuOTkgLTcuMDgsNDIuMyAtMjkuMDMsMzQuOCAtNjQuNyw0NS4xIC0zNS42NywxMC40IC0yMC4yLDc2LjEgMi43OCwxMTYuOSAyMi45OCw0MC44IDg4LjA5LDEzOS40IDEzNS4xLDEyNy45IDQ3LC0xMS40IC0xNS4wMywtMTExLjMgNy4zLC0xMzUuNyAyMi4zNCwtMjQuNCA5MS45NCwtMjguMyAxMjYuNzMsLTEwLjcgMzQuNzgsMTcuNiA2Niw3NC45IDgxLjk4LDExNi4xIDE1Ljk4LDQxLjMgLTUwLjYxLDExNi4xIDEzLjg5LDEzMS40IDQxLjA5LDkuNyA0OS42Niw3OSA2Mi41MSwxMTAuMSAxMi44NCwzMS4xIDE1LjY3LDM3LjggMTQuNTYsNzYuMiAtMC44NSwyOS40IDczLjI3LDUxLjcgNjguODMsNzkuMSAtNC40NCwyNy4zIC0zMi40NCw2MS45IC05NS40OSw4NSAtNjMuMDYsMjMuMSAtNDIuNSwxNTEuNyAtNDUuMDQsMjE3LjMgLTIuNTMsNjUuNiAzMC42NSwxMjYuNSAyOS44NiwxNzYuMiAtMC44LDQ5LjggLTUxLjQ4LDc5LjEgLTM0LjYyLDEyMi40IDYuNjQsMjQuNCA1MC4wNywyNSA3MC44NSw1NC43IDIwLjc5LDI5LjcgNDIuODgsODQuMiA1My44OSwxMjMuNSAxMS4wMSwzOS4zIDMuOTcsODcuMiAxMi4xOCwxMTIuMiA4LjIxLDI1LjEgNDIuNyw0MiA4MS44MSw2Ny40IDMxLjEyLDQ1LjggNzIuNTQsMTQ3LjcgMTA0LjkxLDIwNy40IDMyLjM3LDU5LjcgLTMwLjgxLDEzOS4zIDY1LjQ4LDE2Ni43IDk2LjI4LDI3LjMgODIuMDEsNDIuMiA4OS42OCw3Mi45IDcuNjcsMzAuNyAtMS4wMiw5MC4zIC00My42OCwxMTEuMyAtNDIuNjYsMjEgLTE0OS44MSwtNC4zIC0yMTIuMjksMTQuOCAtNjIuNDcsMTkuMiAtMTA5LjksMTEyLjIgLTE2Mi41Niw5OS45IC01Mi42NywtMTIuMyAtNzMuMzksLTIzNS4zIC0xNTMuNDQsLTE3My42IC04MC4wNCw2MS44IC0yMjUuNTQsNzAuMyAtMjM2LjI4LDUuNSAtNDQuODEsLTI3MC43IC0xMzYuNjksLTY3LjEgLTE1Ny45OSwtMS42IC0zMi41OCwxMDAuMSAtMTcwLjY3LDc5LjggLTIzOS4wNiwxMTUuMSAtNjguNCwzNS4yIC0xMTYuMjIsMTAwLjQgLTE3MS4zLDk2LjQgLTU1LjA4LC00IC0xMjkuMzgsLTIwMC42IC0xNTkuMTgsLTEyMC40IC0zMC42MSw4Mi4zIC03MS45LDU0LjggLTEyNC45NSw2MS43IC03Ny4zMiwwLjMgLTguMDksMTAzLjEgLTE3OS43OSw2MC4zIC0xMzQuOTEsLTMzLjYgMjQuOTUsLTEzNi4yIC03OS42NSwtMTM3IC0xMDQuNiwtMC44IC0xMDIuMjEsLTU4LjEgLTEyMS4yNCwtMTA4IC0xOS4wMywtNDkuOSA0OC4xNywtMTU2LjkgNy4wNSwtMTkxLjEgLTQxLjEzLC0zNC4yIC0yMDkuMDIsMTYuMSAtMjUzLjgyLC0xNCAtNDQuOCwtMzAuMiAwLjkxLC0xMzAuNiAtMTQuOTksLTE2Ny4xIC0xNS45MSwtMzYuNCAtNTEuOSwtNjIuMyAtODAuNDEsLTUxLjcgLTI4LjUxLDEwLjYgLTI0LjEsODkuMiAtOTAuNjYsMTE1LjUgLTY2LjU2LDI2LjMgLTI0My45NCw2Ni42IC0zMDguNzMsNDIuNCAtNjQuNzgsLTI0LjEgMTUwLjc2LC0yMTYuNCAtNzkuOTcsLTE4Ny41IC0xNjcuODIsMjEuMSAtMTAxLjEzLC0xNDkuNiAtMTgwLjUzLC0xMjMuNyAtNzkuNDEsMjUuOSAtODUuMiwtNTIuMyAtMTM4LjkyLC04Mi4yIC01My43MiwtMjkuOSAtMTUwLjQ1LC01OC4zIC0xODMuNDEsLTk3LjIgLTMyLjk2LC0zOSAyOS45OSwtMTIyLjMgLTE0LjM3LC0xMzYuNiAtNTguODcsLTE4LjkgLTEwMC43OCwtNTAgLTE0MS4xOCwtOTUuNyAtNDAuNCwtNDUuNyAtMTMuMjgsLTE3MS40IC0xMDEuMjQsLTE3OC4yIC04Ny45NSwtNi45IC01OC42NywtMTQ1LjYgLTM5LjU0LC0xOTQuMyAxOS4xMywtNDguNyA4My4yNSwtOTQuNSAxNTQuMzEsLTk4LjEgNzEuMDYsLTMuNSAyMDguODksMTExLjQgMjcyLjA2LDc2LjYgNjMuMTcsLTM0LjcgMTA3LjQ2LC0yMTcgMTA2Ljk4LC0yODUuMyAtMC40OSwtNjguMyAtODcuMjgsLTcxIC0xMDkuODgsLTEyNC41IC0yMi42LC01My40IC00My42LC0xNDcuNyAtMjUuNzIsLTE5NiAxNy44NywtNDguMyA4Ni40MywtNDUuNyAxMzIuOTcsLTkzLjcgNDYuNTMsLTQ4LjEgLTYuMzgsLTQ1LjQgNS4xNiwtMTMxLjU4IDExLjUzLC04Ni4xNSA4Ny40NiwtNzMuMTMgMTIzLjI4LC05OC44IDM1LjgyLC0yNS42NiA1OS45OSwtMTMuMDYgOTEuNjMsLTU1LjE5IDMxLjY1LC00Mi4xMyAxOS44NywtNDEuMzYgNjMuMSwtNDkuODYgNDMuMjIsLTguNSAxNjcuMDcsMS4zOSAxOTYuMjUsLTEuMTQgMjkuMTcsLTIuNTMgODAuMzEsLTg1LjUgMTE5LjU0LC04MC45MSAzOS4yMyw0LjU5IDc5Ljg2LDM5LjYyIDEwOC43MSwyOS4zMiAyOC44NSwtMTAuMyAyOS4yOSwtNzcuODcgNjUuNTIsLTY5LjY5IDM2LjIyLDguMTggNzMuMyw3MC42OCAxMTEuMTksNTcuMDEgMzcuODksLTEzLjY2IDYwLjYyLC02NS4yOCAxMDAuNjcsLTgwLjIxIDQwLjA1LC0xNC45MyA1NS4yNiwtNC44OSAxMzkuNjMsLTkuMzcgODQuMzcsLTQuNDkgNTQuODEsOTIuNSA5NC4xOCw5My4wNSAzOS4zOCwwLjU2IC0xLjUzLC03OC4yOCAyNi4wOSwtODguOTggMjcuNjIsLTEwLjcgMTAxLjc1LC0zNS41OSAxMzkuNjQsMjQuNzcgMzcuODksNjAuMzUgLTIxLjEyLDcxLjQ1IDIxLjA0LDEyOCA0Mi4xNiw1Ni41NCAxNjYuNjYsODUuNSAxOTguODgsMTAwLjk4IDMyLjIyLDE1LjQ3IDkuMjQsLTc2LjU3IDY3LjExLC05NS45OSA1Ny44NywtMTkuNDMgMjE5LjMsLTguODkgMjgwLjEsLTIwLjU5IDYwLjgxLC0xMS42OSAzNy44NiwtNTQuMjEgODQuNzIsLTQ5LjU4IDE3LjU4LDEuNzMgNDMuNSwxMC4wMiA3MS4zMiwyMC44NCB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZjRjYzFlXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM5NTQuNSwxMDcyMi4xIGMgLTIyLjA3LC0zLjYgLTM2LjM0LC0zMy42IC0xMi42NCwtNzAuNCAyMy43LC0zNi45IDkwLjk0LC0xMTYuMiAxNTQuODQsLTE1MC43IDYzLjksLTM0LjUgMTY3Ljg4LC0xNy4yIDIyOC41NiwtNTYuMyA2MC42OCwtMzkuMSA4Ny42MiwtMTE0LjIgMTM1LjUyLC0xNzguNSA0Ny45LC02NC4yIDExMS4yMSwtMTY3LjggMTUxLjg3LC0yMDcuMiA0MC42NiwtMzkuNCA5Mi40MywtNjQuNDQgOTIuMDcsLTI5LjMgLTAuMzUsMzUuMSAtNzAuNTcsMTcxLjIgLTk0LjIxLDIzOS45IC0yMy42NCw2OC44IC0yNC41OSwxMjQuNyAtNDcuNjQsMTcyLjcgLTIzLjA1LDQ4IC01NS4yMSwxMDAgLTkwLjY1LDExNS41IC0zNS40NSwxNS40IC0xMDQuMjIsLTMxLjcgLTEyMi4wMSwtMjIuOCAtMTcuNzgsOSA0NS4yMyw2Mi4zIDE1LjI5LDc2LjUgLTI5Ljk0LDE0LjMgLTE0Ni4zOCwtMS4yIC0xOTQuOTIsOS4xIC00OC41MywxMC4zIC01OS44MiwzNyAtOTYuMjcsNTIuOSAtMzYuNDYsMTUuOSAtOTcuNzQsNTIuMiAtMTE5LjgxLDQ4LjYgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSA0MjgwLjg1LDExMTIyLjEgYyAtMjUuMDksLTIxLjYgLTU4LjY0LC0yOCAtOTguNDcsLTE4LjUgLTM5Ljg0LDkuNiAtMTE2LjIsNDUuOSAtMTQwLjUzLDc1LjggLTI0LjMyLDI5LjkgLTIwLjM5LDEwMS4xIC01LjQzLDEwMy42IDE0Ljk2LDIuNSA1OS41OCwtNzQuOCA5NS4xOCwtODguNSAzNS42LC0xMy43IDg0Ljg3LC0wLjMgMTE4LjQyLDYuMiAzMy41NSw2LjQgNzcuNDcsNDYuMyA4Mi45LDMyLjUgNS40MiwtMTMuOCAtMjYuOTgsLTg5LjUgLTUyLjA3LC0xMTEuMSB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxM1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDI5MzcuOTQsMTA0NjQgYyAyMC41MSwtMTMuOCAzMS43OCwtNDQuNiAyOS4xMiwtNzQuMiAtMi42NSwtMjkuNiAtMTYuMDksLTg5LjQgLTQ1LjA1LC0xMDMuMyAtMjguOTYsLTEzLjkgLTEwMC45NiwwLjcgLTEyOC42OSwyMCAtMjcuNzMsMTkuMyAtNDYuMTQsNjguMyAtMzcuNjksOTYgOC40NSwyNy42IDU4LjI2LDU4LjkgODguMzYsNjkuOSAzMC4xLDExIDczLjQ0LDUuNCA5My45NSwtOC40IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzk1OC4xMSwxMTU1OS40IGMgMTkuMTQsLTEuNyAtMTguNCwtODcuOCAtMzcuMjYsLTExMC4zIC0xOC44NiwtMjIuNSAtNDYuNTQsLTE4LjMgLTc1Ljg5LC0yNC43IC0yOS4zNCwtNi41IC03NC41Miw1LjkgLTEwMC4xOCwtMTQuMiAtMjUuNjcsLTIwLjEgLTMxLjkxLC04OS43IC01My43OCwtMTA2LjcgLTIxLjg3LC0xNyAtNjIuMDIsLTEwLjkgLTc3LjQ0LDQuOCAtMTUuNDIsMTUuOCAtMjIuOTQsNjQuOSAtMTUuMDksODkuOCA3Ljg1LDI0LjkgMzgsNDQuMyA2Mi4xOCw1OS42IDI0LjE4LDE1LjQgNTguNjcsMzIuMyA4Mi45LDMyLjYgMjQuMjMsMC4zIDI3LjE1LC00MS40IDYyLjQ3LC0zMC45IDM1LjMyLDEwLjUgMTMyLjk1LDEwMS43IDE1Mi4wOSwxMDAgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzOTMyLjA1LDEyMTAwLjYgYyAtMjMuMDYsLTI2LjQgLTU1LjQ4LC0yMi40IC03OS45Niw3LjIgLTI0LjQ4LDI5LjYgLTcxLjI1LDEzNCAtNjYuOTEsMTcwLjQgNC4zNCwzNi41IDU4Ljc3LDUwLjEgOTIuOTgsNDguMSAzNC4yMSwtMiAxMDMuNzQsLTIzLjUgMTEyLjI5LC02MCA4LjU0LC0zNi41IC0zNS4zNCwtMTM5LjMgLTU4LjQsLTE2NS43IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNTIxOS40NiwxMTc4OC40IGMgLTIzLjk1LC05LjQgLTk3LjUxLC04LjcgLTEzNy43MSw0Ni4yIC00MC4yMSw1NC45IC05OC41NSwyMjguMSAtMTAzLjUzLDI4My4zIC00Ljk4LDU1LjMgNDguOTIsNTcuMiA3My42NSw0OC4yIDI0LjcyLC04LjkgNTkuMjUsLTY0LjEgNzQuNjgsLTEwMS44IDE1LjQzLC0zNy42IDEuMzksLTk1LjIgMTcuODgsLTEyNC4xIDE2LjQ4LC0yOC45IDY4LjUxLC0yMy45IDgxLjAyLC00OS4yIDEyLjUxLC0yNS4zIDE3Ljk2LC05My4yIC01Ljk5LC0xMDIuNiB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxN1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM3OTIuNzEsMTA0NjcuMiBjIC0yNC43NSwtMTMuOSAtNTYuNjIsLTI4LjkgLTg3Ljg3LDUuOCAtMzEuMjYsMzQuNyAtODIuNjUsMTQyLjEgLTk5LjY4LDIwMi42IC0xNy4wMiw2MC40IC0yMS4yOCwxNDEuOSAtMi40NSwxNjAuMiAxOC44MywxOC4zIDc5LjMyLC0yNi44IDExNS40NCwtNTAuNCAzNi4xMiwtMjMuNiA3OC43MiwtNTMgMTAxLjI2LC05MS4yIDIyLjUzLC0zOC4xIDM5LjM5LC0xMDAuMyAzMy45MywtMTM3LjcgLTUuNDYsLTM3LjQgLTM1Ljg4LC03NS40IC02MC42MywtODkuMyB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxOFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQ3NTQuMTYsMTE2MzUuMyBjIDMzLjY3LC0xOS41IDEzMS45NSwtMTAxIDEzNi42MSwtMTQyLjggNC42NywtNDEuOCAtNzguNywtMTAzLjEgLTEwOC42MiwtMTA4LjEgLTI5LjkyLC01IC00Mi45NCw2OC44IC03MC44OCw3Ny45IC0yNy45NCw5LjIgLTkzLC00Ny40IC05Ni43NiwtMjIuOCAtMy43NiwyNC41IDUwLjQ5LDEzNi40IDc0LjIsMTcwLjEgMjMuNzIsMzMuNiAzMS43Nyw0NS4yIDY1LjQ1LDI1LjcgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyNzc1LjIxLDExNTU4LjMgYyAxMy4wNywtNDEuOSA3OS43NywtMTM5LjEgMTE3LjI4LC0xNzAuNSAzNy41MiwtMzEuNCA2NC44NCwtMjQuMSAxMDcuODIsLTE4LjEgNDIuOTgsNiAxMTIuMTksMzAuNiAxNTAuMDYsNTMuOSAzNy44NiwyMy4yIDkwLjA3LDY1LjUgNzcuMTQsODUuNyAtMTIuOTMsMjAuMSAtMTA2LjcsMTAuOSAtMTU0LjcxLDM0LjkgLTQ4LjAxLDIzLjkgLTkwLjIyLDkzIC0xMzMuMzUsMTA4LjggLTQzLjEzLDE1LjggLTk4Ljc4LDEuNSAtMTI1LjQzLC0xNCAtMjYuNjUsLTE1LjUgLTUxLjg5LC0zOC45IC0zOC44MSwtODAuNyB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM0NjYuNTEsMTA3NzIuMiBjIDE4LjczLDEuNSA0My40NCwtNTkuMyAyOS45LC04OSAtMTMuNTQsLTI5LjYgLTgzLjExLC02Ni4yIC0xMTEuMTEsLTg4LjkgLTI4LC0yMi43IC01Ni42OCwtNjAuOSAtNTYuODgsLTQ3LjUgLTAuMjEsMTMuMyAzMi4zNSw5MC43IDU1LjY1LDEyNy42IDIzLjMsMzYuOCA2My43Miw5Ni4zIDgyLjQ0LDk3LjggelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzMzA4LjQ4LDExMjE0LjIgYyAtMzcuODUsMS44IC05Ni44OCw2NS44IC05Ny42NywxMDQuMSAtMC44LDM4LjIgNjkuMDUsNzAgOTIuODgsMTI1LjIgMjMuODIsNTUuMiA5MC41NywxMjIgNTAuMDYsMjA2IC00MC41Miw4My45IC0xODYuNDMsMjI0LjcgLTI5My4xNywyOTcuOCAtMTA2Ljc0LDczIC0zMDUuMiwxNDAuMyAtMzQ3LjI3LDE0MC42IC00Mi4wNywwLjMgNTEuNjgsLTEwOC4xIDk0Ljg2LC0xMzkgNDMuMTgsLTMwLjkgODEuNTUsLTQxIDE2NC4yMSwtNDYuMyA4Mi42NiwtNS4zIDIyOS45MiwtMjUuNiAzMzEuNzIsMTQuNCAxMDEuODEsNDAgMjQ3LjU0LDE0My4zIDI3OS4xMSwyMjUuNCAzMS41Nyw4MiAtNzAuNjcsMjAxLjQgLTg5LjY5LDI2Ni45IC0xOS4wMiw2NS42IC0yMy45OCw4NC42IC0yNC40NCwxMjYuNCAtMC40NSw0MS44IDQzLjM0LDg0LjEgMjEuNjksMTI0LjMgLTIxLjY1LDQwLjIgLTY5LjQyLDEwMiAtMTUxLjU4LDExNi43IC04Mi4xNiwxNC44IC0zMTQuOTksLTUyLjcgLTM0MS4zOCwtMjguMiAtMjYuNCwyNC40IDEwOC42OCwxNDQuMyAxODMuMDEsMTc1LjEgNzQuMzMsMzAuOSAxODUuNDYsNTEuNCAyNjIuOTYsMTAgNzcuNDksLTQxLjMgMTY2LjU3LC0xNzYuMyAyMDIuMDIsLTI1OC4xIDM1LjQ2LC04MS43IDQ1LjgzLC0xNjEuNiAxMC43LC0yMzIuNCAtMzUuMTIsLTcwLjkgLTEzOC40OSwtMTUxLjcgLTIyMS40NCwtMTkyLjcgLTgyLjk2LC00MSAtMTk3LjA2LC01My45IC0yNzYuMjcsLTUzLjEgLTc5LjIsMC44IC0xNDUuMyw1My44IC0xOTguOTUsNTcuOSAtNTMuNjUsNC4xIC0xMTYuMDIsLTYxLjUgLTEyMi45NCwtMzMuMiAtNi45MywyOC4zIDQzLjcxLDE2Ni42IDgxLjM3LDIwMy4yIDM3LjY3LDM2LjYgNjIuOTQsNjQuMSAxNDQuNiwxNi41IDgxLjY2LC00Ny43IDI3NS44MiwtMTc0LjYgMzQ1LjM2LC0zMDIuNiA2OS41NCwtMTI3LjkgOTMuNDMsLTM2MS45IDcxLjg4LC00NjUuMiAtMjEuNTUsLTEwMy4zIC0xNTkuODgsLTExNi41IC0yMDEuMTgsLTE1NC41IC00MS4zLC0zOC4xIC03Ni4zMSwtNDUuMSAtNDYuNiwtNzMuNyAyOS43LC0yOC42IDE1Ny44OSwtODEuNSAyMjQuODEsLTk4LjEgNjYuOTEsLTE2LjUgMTMzLjY4LC0xMS4zIDE3Ni42OCwtMS4xIDQzLjAxLDEwLjIgNzAuMjMsMjQuMiA4MS4zNSw2Mi4xIDExLjEyLDM4IC0zNy42OCw5NiAtMTQuNjEsMTY1LjUgMjMuMDgsNjkuNSA5MS44OSwxNjcuOSAxNTMuMDYsMjUxLjUgNjEuMTgsODMuNiAxNDQuNzksMjA2LjIgMjEzLjk4LDI1MC4xIDY5LjE5LDQ0IDEzMi41MywzNC40IDIwMS4xNiwxMy42IDY4LjYzLC0yMC45IDEzMy4zNSwtODUuMyAyMTAuNjIsLTEzOC45IDc3LjI3LC01My42IDIwMi4xNiwtMTIzLjcgMjUyLjk5LC0xODIuNyA1MC44NCwtNTguOSA3MC41MSwtMTEzLjMgNTIuMDEsLTE3MC45IC0xOC41MSwtNTcuNiAtMTMyLjIyLC0xNjcuNyAtMTYzLjAyLC0xNzQuOCAtMzAuOCwtNy4xIC00Mi44OCw3Ny4yIC0yMS43OCwxMzIuNCAyMS4xLDU1LjMgMTIzLjI3LDEzMC43IDE0OC4zNywxOTkuMyAyNS4xLDY4LjYgLTAuMjMsMTQ1LjkgMi4yMywyMTIuNCAyLjQ2LDY2LjQgLTE5LjY1LDE0OC4zIDEyLjUxLDE4Ni4xIDMyLjE1LDM3LjkgMTM2Ljk5LDUzIDE4MC40Myw0MC43IDQzLjQ0LC0xMi4zIDcxLjk3LC04OS4zIDgwLjIyLC0xMTQuNiA4LjI1LC0yNS4zIDI1LjU5LC01OC43IC0zMC43LC0zNy4yIC01Ni4zLDIxLjUgLTIxOS45LDE0MS4xIC0zMDcuMDcsMTY2LjUgLTg3LjE3LDI1LjMgLTE0Mi43NCwyMy43IC0yMTUuOTUsLTE0LjMgLTczLjIyLC0zOCAtMTc2LjE3LC0xMjIgLTIyMy4zMiwtMjEzLjYgLTQ3LjE2LC05MS41IC00My4xMSwtMjMwLjEgLTU5LjYsLTMzNS42IC0xNi40OSwtMTA1LjUgLTQ4LjQ1LC0yMDMuNiAtMzkuMzMsLTI5Ny40IDkuMTIsLTkzLjggNzEuMjIsLTE4My41IDk0LjA1LC0yNjUuMiAyMi44NCwtODEuNyAxMDEuMzIsLTE3Mi42IDExNy4xMywtMTk1LjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU5LjU4MzNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA4OS4wNTc4LDEwMy4xMlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiwzNDc3LjYxLDExNjk0LjEpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDg5LjA1NzgsMTAzLjEyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjkzMDgzMiwtMC4zNjU0NDcsLTAuMzY1NDQ3LDAuOTMwODMyLDMzMDMuNjksMTE3ODIuNilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzNDc2LjYsMTE4OTUuMSAtMi44Miw2NS4xXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjU1Ljk1NCw3NC45MzMyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjkzMDgzMiwtMC4zNjU0NDcsLTAuMzY1NDQ3LDAuOTMwODMyLDMyMzguMDEsMTE5MjYuNClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTkzLjAyNSw0Ny41NDRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsMzQxNC4xMywxMjEwMC44KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyN1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxOTMuMDI1LDQ3LjU0NFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiwzMTM5LjYxLDEyMDU4KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyOFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDMuNjYyLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsMzI3Ny4wNiwxMjI3OC4xKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyOVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyMDguMzgzLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsMjk4Ny4xNCwxMjE1NC44KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDMxMTguMDEsMTIzOTguMiAtMTY0LjU4LC0xNzhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDI5MzEuNjcsMTIxNzMgMjc2Ny4xLDExOTk1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyOTQ4LjgyLDEyNDQ3LjQgLTE3LjEzLC0xODkuOVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjkwOC42MywxMjExNS44IC0xNy4xMywtMTkwXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgOS41MjcyLDE1NS45NjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC45MzA4MzIsMC4zNjU0NDcsMC4zNjU0NDcsLTAuOTMwODMyLDI4NjQuNiwxMjMxMy45KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA5LjUyNzIsMTU1Ljk2N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjkzMDgzMiwwLjM2NTQ0NywwLjM2NTQ0NywtMC45MzA4MzIsMjk3Mi40NiwxMjA2NS4zKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMTQuNzY2LDE2OC4zMDVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC45MzA4MzIsMC4zNjU0NDcsMC4zNjU0NDcsLTAuOTMwODMyLDI4NjguMzgsMTIyMzEuNilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTE0Ljc2NiwxNjguMzA1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuOTMwODMyLDAuMzY1NDQ3LDAuMzY1NDQ3LC0wLjkzMDgzMiwzMTM5LjQxLDEyMDQ2LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzA5OSwxMjMxNi41IDg1LjY4LDMzLjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzOVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDI5NTYuNDQsMTIyNjAuNSA4NS42NywzMy42XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNDBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgODYuNjU4OSwxMDMuMzQ4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuOTMwODMyLDAuMzY1NDQ3LDAuMzY1NDQ3LC0wLjkzMDgzMiwzMTM4LjY0LDEyMjA1KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg0MVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA5NC44ODk0LDEwNi43NDRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC45MzA4MzIsMC4zNjU0NDcsMC4zNjU0NDcsLTAuOTMwODMyLDMzMTEuNDcsMTIwOTguMilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNDJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNzkuODUyOSw0MS43NDhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC45MzA4MzIsMC4zNjU0NDcsMC4zNjU0NDcsLTAuOTMwODMyLDMzMzguNzgsMTIyMzMuMSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNDNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNjkuNjM1Myw0MC41MDQ0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuOTMwODMyLDAuMzY1NDQ3LDAuMzY1NDQ3LC0wLjkzMDgzMiwzNDkwLjA2LDEyMjIxLjIpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDQ0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDQ4LjcyOTEsMzkuODI4MVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjkzMDgzMiwwLjM2NTQ0NywwLjM2NTQ0NywtMC45MzA4MzIsMzYxMy4wMSwxMjUzMC42KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg0NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA0OC4yMDE1LDM0LjgyMTFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC45MzA4MzIsMC4zNjU0NDcsMC4zNjU0NDcsLTAuOTMwODMyLDM0OTcuMzUsMTI1NzAuOSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNDZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzNTY5LjI1LDEyMzQxLjggLTI0LjMsLTI3LjNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg0N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM2MDQuMDgsMTIzOTAuNSAtOS4xLC0xMy44XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNDhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNDEuOTg4NywxOC4zNDc4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuOTMwODMyLDAuMzY1NDQ3LDAuMzY1NDQ3LC0wLjkzMDgzMiwzNTk3Ljg5LDEyNjcxLjkpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDQ5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDQ0LjcyMzYsMTUuOTc2N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjkzMDgzMiwwLjM2NTQ0NywwLjM2NTQ0NywtMC45MzA4MzIsMzQ5Mi40MSwxMjY3MC4yKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg1MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA1Ni45MDMsNy4wNDQ2MlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjkzMDgzMiwwLjM2NTQ0NywwLjM2NTQ0NywtMC45MzA4MzIsMzM5Ny4zNCwxMjc1Ni4zKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg1MVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA3NS4xMTc5LDguMjk5NDRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC45MzA4MzIsMC4zNjU0NDcsMC4zNjU0NDcsLTAuOTMwODMyLDM1MDYuMTYsMTI3ODMuNylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNTJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzMzI2LjY4LDEyODYwLjQgMTI5LjIsNzAuNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDUzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzEzNS43NiwxMjc2My4zIDE0MC40Miw2OS40XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNTRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzNDMxLjcsMTE1MjcuOSAtMTA3Ljg2LC02My4xXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNTVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzNDY5LjQsMTE1MTIgLTEwNy45NCwtMTE1LjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg1NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM1NzQuOTEsMTE1MTkuNSAtMjIuMDYsLTE3OC40XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNTdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTc0Ljk1NiwxNC4wMzY1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjkzMDgzMiwtMC4zNjU0NDcsLTAuMzY1NDQ3LDAuOTMwODMyLDM4OTguOTksMTE0OTIuNSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNThcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTk4LjQ2NiwxMjMuNjc5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjkzMDgzMiwtMC4zNjU0NDcsLTAuMzY1NDQ3LDAuOTMwODMyLDM5NzQuOTUsMTE1OTUuOSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNTlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNjEuMDI0LDE4NS4zNDdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsNDAxNC41NiwxMTY5NS40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg2MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNC4zMTcsMjIwLjgzMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiw0MDYxLjc4LDExNzk0LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDYxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNDE2MS4zNywxMTkzMCAtMjIuODYsMTcwLjlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg2MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyOC4xMjM2LDEyNC42MTNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsNDQ4MS40MiwxMjA0Ni45KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg2M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyOC4xMjM2LDEyNC42MTNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsNDU4OS4wMSwxMTg4Ni45KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg2NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQ2MzMuNjEsMTIwNTUuNiAtMzQuMjMsMTcxLjRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg2NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQ2NjYuMjMsMTE4MTkuOSAtMjMuMDgsMTYyLjlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg2NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQ4MTQuNywxMTk5Mi4xIDI5LjEsMTA5LjNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg2N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQ3NjIuNjksMTIxNTIuMiAzNy41MywtMjMwLjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg2OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAzLjQ5NjY5LDE5NS45NTNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsNDk3MS4zMiwxMjAxMC44KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg2OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDUwMTguMjYsMTIwNTcuMSAtODYuNDksLTEyNy43XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNzBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSA0ODk2LjM0LDExODY4LjYgLTEwNS44OSwtMTU1LjhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg3MVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQ2MjkuNDMsMTE0MTAuMiAtMjUuMzksLTE0NC42XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNzJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSA0Mzc3LjI0LDExMjYwLjEgLTE0NC4xLC0xMjUuNVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDczXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDkyLjk3MTcsNjUuODY4M1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiw0Mjg4LjU2LDExMzI3KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg3NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQ1NzguNzMsMTE0NDIuNSAtMTUxLjI0LC0xMzcuMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDc1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNDY0OS43MywxMTYxOC4yIC0xMDIuNDUsLTEwMy40XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNzZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTE2Ljk4OSwxNS4xNTk2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjkzMDgzMiwtMC4zNjU0NDcsLTAuMzY1NDQ3LDAuOTMwODMyLDQyNjcuNzUsMTEwMTUuMilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNzdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNzcuMTk3LDcwLjIxOTJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsNDc0Ny4zNCwxMjA0Ny4xKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg3OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA5Ny41NTc5LDgyLjIxMzhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC45MzA4MzIsMC4zNjU0NDcsMC4zNjU0NDcsLTAuOTMwODMyLDQ3NjUuNjUsMTE1ODMpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDc5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDcyLjY0NzYsMTcuODUxMlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjkzMDgzMiwwLjM2NTQ0NywwLjM2NTQ0NywtMC45MzA4MzIsNDY1MS4xNiwxMTY5MC4xKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg4MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA1Mi44MDksMjAuNzgwNVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiw0ODU0LjE3LDExNzA2LjYpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDgxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNDcxMS44NSwxMTQ5NS4yIDMwLjc4LDE4Mi4yXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoODJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSA0NzYyLjY5LDEyMTUyLjIgLTEuMDQsLTI0My4xXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoODNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgOS43MDU0OCwyMDYuMTIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjkzMDgzMiwtMC4zNjU0NDcsLTAuMzY1NDQ3LDAuOTMwODMyLDQxNzIuMzksMTE1NDUuOSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoODRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSA0MTg5LjcsMTE2ODEuOSAtMTguNjgsMTc1LjhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg4NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDMzNDUuMjIsMTE2NTEuOCAtNi41MywtMjYuOVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDg2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzMyOS43MiwxMTU3MC45IC02LjUzLC0yNi45XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoODdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSA0NDY2LDExMjE0LjQgViAxMDk2OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDg4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gNDU2NSwxMTIzMi40IFYgMTA5ODdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg4OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDQ2NjQsMTEyNTEuNCBWIDExMDA2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoOTBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSA0NzYyLDExMjU5LjQgViAxMTAxNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDkxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gNDM2OCwxMTIwMi40IFYgMTA5NTdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg5MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDM0NzUsMTEyMTYuNCBWIDEwOTcxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoOTNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAzNTc0LDExMjM0LjQgViAxMDk4OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDk0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMzY3MywxMTI1Mi40IFYgMTEwMDdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg5NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDM3NzEsMTEyNjAuNCBWIDExMDE1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoOTZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAzMzc3LDExMjA0LjQgViAxMDk1OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDk3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDI0NS4zNTEsMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLC0xLC0xLDAsNDE2NiwxMTIxNi40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg5OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDQwNjcsMTEyMzQuNClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoOTlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCwzOTY5LDExMjUyLjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEwMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDM4NzAsMTEyNjAuNClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTAxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDI0NS4zNTEsMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLC0xLC0xLDAsNDI2NSwxMTIwNC40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMDJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSA0MzE4LDExMjAzIGMgMTk1LjA3LDAuMiAyOTQuNzUsNTguNyA0OTQsNTlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU5LjU4MzNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMDNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzMzI3LDExMjA1IGMgMTk1LjA3LDAuMiAyOTQuNzUsNTcuNyA0OTQsNThcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU5LjU4MzNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMDRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSA0OTQsNTguMDAwMSBDIDI5OC45MjgsNTcuODI0NiAxOTkuMjQ4LDAuMjcxNzE3IDAsMFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTkuNTgzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwzODIwLDExMjYzKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMDVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTM5LjQ5MywxNTcuNzFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC43NTU5NTIsLTAuNjU0NjI3LC0wLjY1NDYyNywtMC43NTU5NTIsNDExMi41Miw3OTQxLjIyKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMDZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjIzMzE0NCwtMC45NzI0NDIsLTAuOTcyNDQyLDAuMjMzMTQ0LDQ0MjIuNjgsNzg2Ny4xNSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTA3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEyMC45OTcsMTczLjA4NVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjc1NTk1MiwtMC42NTQ2MjcsLTAuNjU0NjI3LC0wLjc1NTk1Miw0MjI1LjM0LDc5MjMuNTUpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEwOFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMTcuOTIsMTc5LjM0NFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjc1NTk1MiwtMC42NTQ2MjcsLTAuNjU0NjI3LC0wLjc1NTk1Miw0MzIzLjA5LDc4OTcuOTEpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEwOVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMTQuMDQxLDE2MC4yMjVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMzI1OCw3Nzg5LjIzKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMTBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjA4LjMwMiw1Ni40ODQ3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuNzU1OTUyLC0wLjY1NDYyNywtMC42NTQ2MjcsLTAuNzU1OTUyLDMzNTEuODksNzg3My44NSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTExXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE2Ni4yMTgsMTQ2Ljg4N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjc1NTk1MiwtMC42NTQ2MjcsLTAuNjU0NjI3LC0wLjc1NTk1MiwzOTAzLjg1LDc5NDcuNzYpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDExMlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNzEuODMsODcuMzc0OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjc1NTk1MiwtMC42NTQ2MjcsLTAuNjU0NjI3LC0wLjc1NTk1MiwzNDc3LjY1LDc5MTAuMTEpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDExM1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNTYuNDE3LDExMC4yOThcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC43NTU5NTIsLTAuNjU0NjI3LC0wLjY1NDYyNywtMC43NTU5NTIsMzU4Ni43OCw3OTI2LjMyKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMTRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTY1LjI4NCwxMzEuMzU2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuNzU1OTUyLC0wLjY1NDYyNywtMC42NTQ2MjcsLTAuNzU1OTUyLDM2ODQuNDIsNzkzOS4zOClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTE1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE1NS4zLDE0My4xOThcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC43NTU5NTIsLTAuNjU0NjI3LC0wLjY1NDYyNywtMC43NTU5NTIsMzc5Ny44NSw3OTMyLjk3KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMTZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTUzLjA4MiwxMzkuOTM5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuNzU1OTUyLC0wLjY1NDYyNywtMC42NTQ2MjcsLTAuNzU1OTUyLDQwMDQuNDUsNzk1NS40NClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTE3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzIwMC40MSw3NzgxLjI1IGMgMTM4LjAzLDE2NC4xMyAxMDc1LjEzLDMwOS4yIDEzMzUuODcsLTEzLjk2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1OS41ODMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTE4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMjkxMy42OSw5MDQ3LjQ2IDI3NTYuMiw4OTY1LjQzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTE5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjk3Ni45OCw4OTQ4LjExIC0xNzIuNjQsLTcwLjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTIwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzAyNy40NSw4ODQ1LjI2IC0xNjguMSwtNjEuMDFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMjFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzMDQ2Ljg5LDg2OTUuODIgLTE4MC4xLDEwLjE1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTIyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjg4OC40Nyw4NTY4LjcyIC05Mi44MSw5Ny45NVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEyM1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNTguMzk3LDEuOTk1MDFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuNDgzNjM3LDAuODc1MjY5LDAuODc1MjY5LDAuNDgzNjM3LDI3NzUuMjUsODUxMi42KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMjRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyNjYxLjgxLDg0NTYuNjcgLTc1LjM5LDEyMy4zMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEyNVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDI1NjUuNTUsODQwMi42NiAtNzguMDEsMTE3Ljg5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTI2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjQ5MS44Nyw4MzQ5LjU3IC05My42MSw5Ny40MlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEyN1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDI0MjkuNjQsODI2NS4xNCAtMTE1LjQ3LDkxLjY5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTI4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjM3Mi4zMiw4MTg4Ljc2IC0xMTguNjcsNzcuODFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMjlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyMzE0LjYzLDgxMDQuMDcgLTEyNS4xNSw1NS4zNVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEzMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDIyNzUuMSw4MDMzLjEyIC0xMTYuNDIsMjUuNDFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMzFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyMjc0LjA2LDc5NTMuMzEgLTEyOS44NiwtMy43NFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEzMlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDIyODQuMDEsNzg2OS4xMyAtMTE3LjM1LC0zMC4zOFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEzM1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDIzMTMuMDMsNzc5My4wOSAtMTEyLjMxLC01My44NlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEzNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMy4xMjQyLDEyMy45MzFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC40ODM2MzcsLTAuODc1MjY5LC0wLjg3NTI2OSwtMC40ODM2MzcsMjM1NC4yOSw3NzE3LjU1KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMzVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjguOTkwOCwxMTMuMDU0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuNDgzNjM3LC0wLjg3NTI2OSwtMC44NzUyNjksLTAuNDgzNjM3LDI0MDIuNCw3NjQzLjMzKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMzZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNTYuMjk0MiwxMTEuNDc3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuNDgzNjM3LC0wLjg3NTI2OSwtMC44NzUyNjksLTAuNDgzNjM3LDI0NjkuOCw3NTkwLjgxKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMzdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNzYuNjY1OCw3NS4yNDY0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuNDgzNjM3LC0wLjg3NTI2OSwtMC44NzUyNjksLTAuNDgzNjM3LDI1NDIuMzQsNzU0NS42NClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTM4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEwMS42NDQsNTQuMjU1OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjQ4MzYzNywtMC44NzUyNjksLTAuODc1MjY5LC0wLjQ4MzYzNywyNjMzLjA1LDc1MzIuNilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTM5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE0MC42MjUsNDMuNTkxMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjQ4MzYzNywtMC44NzUyNjksLTAuODc1MjY5LC0wLjQ4MzYzNywyNzIwLjU3LDc1MzkuMzkpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE0MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNTcuNzk2LDIzLjQyNDFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC40ODM2MzcsLTAuODc1MjY5LC0wLjg3NTI2OSwtMC40ODM2MzcsMjgwNi4zNCw3NTYyLjUpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE0MVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNjEuMTczLDE1Ljc1NjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC40ODM2MzcsLTAuODc1MjY5LC0wLjg3NTI2OSwtMC40ODM2MzcsMjkwMC4wMyw3NTg5LjYxKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNDJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyOTgxLjI4LDc2MzQuNTEgOTguOTYsLTE2MC45XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTQzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzA3MS40Miw3Njg0LjAzIDk4Ljk2LC0xNjAuOTFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNDRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzMTUwLjcxLDc3MzkuMzkgMTI1LjgyLC0xOTcuNjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNDVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMjg1LjUzLDExMjYuNDQgQyAxMTU3LjU5LDExNDguMjkgOTI1LjU4OSwxMTcyLjYgODQ5LjM0MSwxMDQ5LjgyIDc3My4wOTQsOTI3LjA0MyA4NzkuNzQsNTc1LjU5NyA4MjguMDQ3LDM4OS43NTQgNzc5LjQ2NSwyMTUuMDk3IDYyMS40NDMsLTIzLjYwMzEgMzU4LjAzNCwxLjg4Mjc4IDIzOS45OTYsMTMuMzAzNiAtMzguNTA1MSwtNS44NTE1MSA0LjQ2MzE2LDc2NC4wMlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTkuNTgzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC40ODM2MzcsMC44NzUyNjksMC44NzUyNjksMC40ODM2MzcsMjUyOS4xOCw3NDAxLjc4KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNDZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyODcxLjI0LDkwODUgYyAtMTU5LjIzLDIwNy4wNCAtNC4yLDkwMS41MiA0MjEuMzksOTI2LjYgNjYyLjY3LDM5IDEyNjUuMDMsNjQwLjIgMTA3NC43MSw4NjMuNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTkuNTgzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE0N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAzNzgwLjMsMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsNzAyOC44LDc0MTMuNSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTQ4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gNjk0Ny4xNSwxMTgzMC41IEggNTI3NC41XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1NVwiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE0OVwiIC8+XG4gICAgICAgICAgICAgICB7LyogblNwdUZ6MSAqL31cbiAgICAgICAgICAgICAgICA8YT5cbiAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBmb250RmFtaWx5PVwiJ0FjdW1pbiBQcm8nLCAnQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlJywgc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICBmb250V2VpZ2h0PVwiNDAwXCJcbiAgICAgICAgICAgICAgIGZvbnRTaXplPVwiNDQwcHhcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDcwNzQuMSwxMTk5NilcIlxuICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MTQ5XCI+blNwdUZ6MTwvdGV4dD5cbiAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNDg1LjQyLDEyNzkuMTlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0xLDAsMCwxLDYyODUuOTIsMTAyNDUuNSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTUwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gODI0Mi4yLDExMDExLjUgSCA0NjUwLjVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTUxXCIgLz5cbiAgICAgICAgICAgICAgIHsvKiBwZWdSTkEgc2NhZmZvbGQqL31cbiAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7dGFiSWQ6ICd0YWItcGVncm5hJywgcGF0aDogJy9lbmdpbmVlcmluZycsIHNjcm9sbFRvSWQ6IFwicGVnUk5BXCJ9KX0+XG4gICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIidBY3VtaW4gUHJvJywgJ0FjdW1pbiBQcm9fTVNGb250U2VydmljZScsIHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgZm9udFdlaWdodD1cIjQwMFwiXG4gICAgICAgICAgICAgICBmb250U2l6ZT1cIjQ0MHB4XCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2NDA4LjU4LDEwMjY2KVwiXG4gICAgICAgICAgICAgICBpZD1cInRleHQxNTFcIj5wZWdSTkE8L3RleHQ+PHRleHRcbiAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCInQWN1bWluIFBybycsICdBY3VtaW4gUHJvX01TRm9udFNlcnZpY2UnLCBzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9XCI0MDBcIlxuICAgICAgICAgICAgICAgZm9udFNpemU9XCI0NDBweFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoODE1NS41MiwxMDI2NilcIlxuICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MTUyXCI+c2NhZmZvbGQ8L3RleHQ+XG4gICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTE3MTQuOCw4MzgxLjk4IGMgMTQxLDIxOS4xOSAyODIuMSw0MzguMzggMjk4LjgsNTU3LjEgMTYuNywxMTguNzMgLTkxLDEzNi45OSAtMTk4LjcsMTU1LjI0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNGNjMWVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI3My4zMzMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNTJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTk4Mi43LDc4OTQuOTIgYyAzNjEuNiw1NjEuNzkgNzIzLjIsMTEyMy41OSA3NjUuOSwxNDI3Ljg5IDQyLjgsMzA0LjI5IC0yMzMuMiwzNTEuMDkgLTUwOS4zLDM5Ny44OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjRjYzFlXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNzMuMzMzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTUzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTAwNDUuNCw3Nzk4LjUxIGMgMC4yLDE0MS40NCAtMjIxLjE5LDE3My44OSAtMjE2LjI1LDMwNi4yMiA0Ljk0LDEzMi4zMiA3OS43MSwyMjAuNSAxOTQuMTUsMjY5Ljc4IDgxLjcsMzUuMiAtMTA4LjgyLDE1NS43NSAxMjEuNiwxNjAuOTcgMjE2LjUsNC45MSA2Ni4yLDIyNy40NiAxMTMuNywzMDEuMzMgNDcuNiw3My44OCAxMTcsNzAuNjkgMTcxLjcsMTQxLjkgNTQuNyw3MS4yMSA4NCwyNDEuMTcgMTU2LjUsMjg1LjM3IDcyLjUsNDQuMTkgMTE5LjYsMTUuNDIgMjM2LjcsMzMuODIgMTE3LjEsMTguNCA0MzQuMiwxNzEuNTIgNDY1LjgsNzYuNTkgMzEuNywtOTQuOTMgLTkzLC0xODguOTMgLTM1LjgsLTI5OC41OCA1Ny4yLC0xMDkuNjUgNzAuOSwtMjQzLjUgMjA0LjYsLTMxNS40OSAxNTkuNCwtODUuODggMzk2LjgsLTIxNi42OCA0NTMuNywtMzE0LjIgNTYuOSwtOTcuNTMgMzAuNiwtMjE2LjU5IDYyLjQsLTMxNC44IDMxLjcsLTk4LjIgOTQuNSwtMjAwLjI5IDEyOC4yLC0yNzQuNDQgMzMuNywtNzQuMTYgNTcuOCwtODIuNDcgNzQuMSwtMTcwLjQ4IDE2LjMsLTg4LjAxIDQ1LjQsLTI3MC4zIDIzLjUsLTM1Ny41NyAtMjEuOSwtODcuMjYgLTkyLjcsLTEzNi40MyAtMTU1LC0xNjYuMDQgLTYyLjMsLTI5LjYxIC0xNjIuNCwtMTA1LjcgLTIzMC43LC0xMDIuMTcgLTY4LjMsMy41MyAtOTguMSw3Ni44MyAtMTc5LjQsMTIzLjM0IC04MS4yLDQ2LjUgLTEyNi45LDEuMjMgLTMwOC4zLDE1NS43IC03MSw2MC40OCA5MC43LDE4MC45MSAtMTIxLjcsMjAyLjQzIC0yOTkuOSwzMC4zOSAtMTk2LjEsLTE0OS4zNSAtMjczLjIsLTE4Mi40MyAtNzcsLTMzLjA3IC0xMjUuNCwtNS41NCAtMTg5LjIsLTE2LjAzIC02My45LC0xMC40OSAtMTM0LjMsLTYwLjM1IC0xOTMuOCwtNDYuOSAtNTkuNiwxMy40NCAtOTkuMiw5NS42NyAtMTYzLjUsMTI3LjU2IC02NC4yLDMxLjkgLTIwMS41LDEwMi43NCAtMjgxLjEsMTMyLjU0IC02My45LDcuMTkgLTEzOS44NiwtOTYuNjkgLTE5Ni43NCw0Ni4yOCAtMzQuMjQsODYuMDcgMTMxLjk0LDEwNy40MSAxMzguMDQsMTk1LjMgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2JiOTkwOVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTU0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTA2NzEuNCw3OTM1LjIxIGMgLTI1LjIsMTAuMzYgLTY4LjMsNDkuMzQgLTYxLjcsODQuNTIgNi42LDM1LjE4IDYyLjcsOTguMzcgMTAxLjEsMTI2LjU4IDM4LjUsMjguMiA5Ny42LDI4LjIzIDEyOS44LDQyLjYzIDMyLjMsMTQuNDEgNjAuNSwyMi45NiA2My43LDQzLjggMy4yLDIwLjg0IC0xOC40LDYwLjEzIC00NC40LDgxLjI1IC0yNS45LDIxLjEyIC04NC4zLDIxLjY5IC0xMTEuNCw0NS40OSAtMjcsMjMuOCAtMjUuMSw3MC4wNSAtNTAuOSw5Ny4zMyAtMjUuOCwyNy4yNyAtOTAuNywzNS40OCAtMTAzLjksNjYuMzMgLTEzLjMsMzAuODYgMzMuNiw4Ny4yOSAyNC42LDExOC44IC04LjksMzEuNSAtNzguNywzNi4yMSAtNzguMyw3MC4yMiAwLjMsMzQgNzguMiw5OC45NyA4MC40LDEzMy43OSAyLjMsMzQuODEgMjYuNSwyOS4zMSA1MS40LDM3LjE2IDI0LjgsNy44NCA5MS4xLDUxLjQ0IDk3LjgsOS45IDYuNiwtNDEuNTQgLTY0LjgsLTUzLjI4IC03My4yLC03OC44OSAtOC40LC0yNS42MSAxOC4zLC00MS4xOCAyMi44LC03NC43OCA0LjQsLTMzLjYgLTE5LjIsLTk3LjgxIDMuOSwtMTI2LjgyIDIzLjEsLTI5LjAyIDEzNC42LC00Ny4yNyAxMzQuNiwtNDcuMjcgNDcuMywtMTcuMjQgMTEzLjQsLTQyLjU4IDE0OS41LC01Ni4xOSAzNiwtMTMuNiA1OS44LDAuMzkgNjYuOSwtMjUuNDYgNy4xLC0yNS44NCAtMzIuMywtOTYuMDYgLTI0LjMsLTEyOS42MiA4LC0zMy41NiA3Ny4yLC00OS4yNSA3Mi40LC03MS43MSAtNC44LC0yMi40NiAtOTEuMywtMTcuMzMgLTEwMS4zLC02My4wNyAtMTAsLTQ1LjczIDI3LjksLTY3LjA1IDQ0LjgsLTkwLjI4IDE2LjksLTIzLjIzIDUwLjksLTE3LjgzIDU2LjYsLTQ5LjA5IDUuNywtMzEuMjYgLTMxLjQsLTEwNS45NSAtMjIuMiwtMTM4LjQ0IDkuMiwtMzIuNSA4NC4yLC0xNy43MiA3Ny40LC01Ni41MyAtNi44LC0zOC44MSAtNTMuOSwtNTEuNjggLTk2LjQsLTM5LjM0IC00Mi42LDEyLjMzIC0xMDUuNCw5NC42NiAtMTU4LjgsMTEzLjM0IC01My40LDE4LjY4IC0xMTkuOCwyLjY3IC0xNjEuNiwtMS4yNyAtNDEuOSwtMy45NSAtNjQuMiwtMzIuNzQgLTg5LjMsLTIyLjM4IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNiMDkwMDhcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE1NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExMTc2LjUsOTI3Mi43NyBjIC00NC41LC0xMC4zIC0yLjgsLTExNC40IC0xNC4yLC0xNTYuMzQgLTExLjMsLTQxLjk0IC0zNS4yLC02My42MSAtNTMuOCwtOTUuMzIgLTE4LjYsLTMxLjcxIC04OS4xLC00MS4xOSAtNTcuOCwtOTQuOTQgMzEuNCwtNTMuNzQgMTA3LjMsLTQzLjU2IDEzMC4yLC04MC4wMSAyMi44LC0zNi40NiAtMTMuMiwtMTA0LjExIDYuOSwtMTM4LjczIDIwLC0zNC42MiA4Ny44LC02OS4zMiAxMTMuNCwtNjkuMDEgMjUuNywwLjMxIDM2LjEsMzYuMDIgNDAuNSw3MC44NyA0LjQsMzQuODUgMC4yLDk4LjUgLTE0LDEzOC4yMyAtMTQuMiwzOS43MyAtNjIuMSw3Mi42OSAtNzEuMiwxMDAuMTYgLTksMjcuNDcgMjAuNSwzMS42IDE2LjksNjQuNjQgLTMuNywzMy4wNSAtNTMuNiwxMjEuNDcgLTYwLDE1OC4zNSAtNi4zLDM2Ljg4IDQuOSwxMTEuNzcgLTM2LjksMTAyLjEgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2IwOTAwOFwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTU2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTE4NDIuMyw3NjUyLjMyIGMgLTI1LjMsMzAuMyAtMzkuOCw4MS4xOCAtNzAuMSw5OC4xIC0zMC4yLDE2LjkzIC05My42LDE2LjA1IC0xMTEuNSwzLjQ0IC0xNy45LC0xMi42IC00MC4yLC00Ni4yNyA0LjEsLTc5LjA5IDQ0LjMsLTMyLjgyIDUzLjMsLTgxLjM3IDcwLjQsLTEyNi4wOSAxNy4yLC00NC43MiA3LjgsLTEyMC4wMyAzMi40LC0xNDIuMjMgMjQuNSwtMjIuMjEgODIuMiw5LjE3IDExNSw5IDMyLjgsLTAuMTggNTEuMiwtMjAuMjIgODEuOCwtMTAuMDcgMzAuNywxMC4xNiA3MC4xLDYzLjI2IDEwMiw3MC45OSAzMS45LDcuNzIgNzIuMywtMzUuMTcgODkuNiwtMjQuNjQgMTcuMywxMC41NCAxOS45LDU0LjgxIDE0LjQsODcuODUgLTUuNiwzMy4wMyAtMzEuNCw4OC43OSAtNDcuNSwxMTAuMzYgLTE2LjIsMjEuNTYgLTMwLjUsMjguNTggLTQ5LjQsMTkuMDIgLTE4LjksLTkuNTcgLTM5LjMsLTU5LjY4IC02NC4zLC03Ni40MSAtMjUsLTE2LjczIC01Ny44LC0zMy45MSAtODUuNywtMjMuOTUgLTI3LjgsOS45NiAtNTYsNTMuNDIgLTgxLjIsODMuNzIgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2IwOTAwOFwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTU3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTE2MTEuOCw4Mjk1LjA2IGMgLTM3LjIsMjIuNzUgLTEzNC44LC0zLjA3IC0xNDIuOCw0Mi42OCAtNy41LDQyLjc2IDEwMC40LDMzLjg0IDEwOS4yLDY1LjM2IDguNywzMS41MiAtNDUuNyw4OS40NiAtNTYuNywxMjMuNzYgLTEwLjksMzQuMjkgLTM0LjIsNzIuNSAtOC45LDgyIDI1LjIsOS41MSAxMDkuNCwtMy4yOCAxNjAuNywtMjQuOTggNTEuMywtMjEuNzEgMTAwLjgsLTYwLjY1IDE0NywtMTA1LjI2IDQ2LjEsLTQ0LjYxIDExNy40LC05Ny45MSAxMjkuOSwtMTYyLjM5IDEyLjQsLTY0LjQ4IC0xMDYuMywtMTcxLjA0IC01NS4zLC0yMjQuNDkgNTEsLTUzLjQ1IDEyNy40LC0yMTEuMzQgNzYuNywtMjI2Ljk1IC01MC44LC0xNS42IC0xMjYuNywxMzcuNTkgLTE4OC44LDE1Ni43NCAtNjIuMSwxOS4xNCAtNjIsMTM0LjEyIC05MC41LDE3OS43MSAtMjguNSw0NS41OSAtNDMuMiw3MS4wNyAtODAuNSw5My44MiB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjYjA5MDA4XCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNThcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTUxOS42LDc0NjkuODcgYyAtOS45LDEyLjgyIC0xMC40LDUyLjQ2IC0wLjcsNTguNDkgOS44LDYuMDMgNDkuNSwtOS41IDU5LjMsLTIyLjMyIDkuOCwtMTIuODIgOS42LC00OS4yMiAtMC4zLC01NC42IC0xMCwtNS4zOSAtNDguNSw1LjYxIC01OC4zLDE4LjQzIHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNiMDkwMDhcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE1OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExMzgzLjgsNzkwOS45OCBjIC0xLjIsMzkuOTkgLTIwLjcsNTIuMTggLTEwLjUsNjYuOTcgMTAuMiwxNC44IDQzLjUsMjkuNDUgNzEuOCwyMS43NyAyOC4zLC03LjY3IDc3LjksLTQ1Ljg1IDk3LjksLTY3LjgyIDIwLjEsLTIxLjk3IDI2LjEsLTQ1Ljc5IDIyLjQsLTY0IC0zLjcsLTE4LjIxIC0yOS4yLC0yMC44IC00NC4zLC00NS4yNyAtMTUuMiwtMjQuNDcgLTMwLjUsLTgxLjA0IC00Ni43LC0xMDEuNTQgLTE2LjIsLTIwLjUgLTM0LjYsLTI0LjI4IC01MC4zLC0yMS40NiAtMTUuNywyLjgyIC0zNi44LDIuODEgLTQzLjgsMzguMzggLTcsMzUuNTcgNC42LDEzMi45NyAzLjUsMTcyLjk3IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNiMDkwMDhcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE2MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEwNzE1LjMsNzU5My4xNyBjIC04LjYsMjYuOTQgNDAuMiw2Ny42NSAzMC45LDk4Ljg2IC05LjMsMzEuMiAtNzguOSw2Ny4zNCAtODYuNyw4OC4zNyAtNy44LDIxLjAzIDEwLjgsNDcuMTkgMzkuOSwzNy44MyAyOS4xLC05LjM2IDkyLjksLTc4LjggMTM0LjksLTk0LjAxIDQyLC0xNS4yMSA4Ny4yLDE2LjM3IDExNywyLjc0IDI5LjgsLTEzLjYzIDcyLjQsLTU4LjQxIDYxLjcsLTg0LjUxIC0xMC44LC0yNi4xMSAtOTAuNCwtNTMuNDQgLTEyNi4yLC03Mi4xMSAtMzUuOCwtMTguNjggLTYwLjEsLTQzLjc1IC04OC43LC0zOS45NCAtMjguNiwzLjggLTc0LjEsMzUuODMgLTgyLjgsNjIuNzcgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2IwOTAwOFwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTYxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTI5NzIuMiw5MTM0LjcyIGMgLTQ4LjcsLTguNjMgLTQ2LjksNjIuNTEgLTEyNS43LDk0LjI3IC03OC45LDMxLjc2IC0yNjcuMiw2My4yMyAtMzQ3LjUsOTYuMzEgLTgwLjMsMzMuMDcgLTgxLjUsNjkuNDQgLTEzNC4xLDEwMi4xMiAtNTIuNywzMi42OSAtMTQ2LjMsNDkuMTcgLTE4MS42LDkzLjk4IC0zNS4zLDQ0LjgxIC0xOC41LDEyNCAtMzAuMywxNzQuODcgLTExLjgsNTAuODYgLTguOCwxMDIuNTEgLTQwLjcsMTMwLjM0IC0zMiwyNy44NCAtMTA3LjMsMjMuNzcgLTE1MC44LDM2LjY2IC00My40LDEyLjkgLTQuNywxMzUuNzggLTExMCw0MC43NCAtMzEuNywtMjguNjYgLTkzLjUsLTEzLjczIC0xMzAuNCw0OC44OCAtMzYuNiwyMi40IDY4LjksLTExLjY5IC0yNC40LDEwNS45MSAtMjkuOSw0My40IC0xMDYuNCwtMjIuNiAtMTk1LjYsNzcuNCAtNjQuNSw1MS42IDE1NC40LDE4MS44IDk3LjgsMjY4LjggLTIxLDY0LjUgLTE4MSw1OC4zIC0xNjcsMTE4LjIgMTQsNTkuOCAxODkuMywxNzMuMyAyNTEuMSwyNDEuMiA2MS44LDY3LjkgNjIuMywxMDEuMSAxMTkuNiwxNjYuMSA1Ny4zLDY1IDE3OC45LDE0Ni40IDIyNC4xLDIyNCA0NS4yLDc3LjcgNTcsMTg2LjMgNDYuOSwyNDEuOCAtMTAuMiw1NS41IC0xMDguMiw0OS44IC0xMDgsOTEuMSAwLjIsNDEuMyA4MS42LDk1LjYgMTA5LjEsMTU2LjUgMjcuNSw2MC45IDE4LjIsMTU2LjMgNTUuOSwyMDguOSAzNy43LDUyLjcgMTcwLjcsLTQzLjQgMTcwLjIsMTA3LjEgLTAuNCwxNTAuNSAyMDguNywtMjYgMjQyLjcsMzguMSAzNC4xLDY0LjEgLTE4Mi43LDIyOS45IC0zOC40LDM0Ni41IDk5LjksODAuOCA0Ny41LDEyLjUgMTI0LjYsNDAuMiA3Ny4xLDI3LjcgMjM2LjYsMTEwLjEgMzM4LjEsMTI2LjMgMTAxLjYsMTYuMiAxNjAuMywtMzUuOCAyMjAuNywtNzcuMSA1Ny44LC0zOS41IDU4LjEsMzMgMTI2LjIsMTUuNyA2OC4xLC0xNy40IDM0NSwtOC42IDI4Mi4zLC0xMTkuNyAtNjIuNywtMTExLjIgLTE2My4xLC03OC4yIC0xNDcuOSwtMTQ4LjYgOC4zLC0zOC4zIDc4LC0xMy4zIDE5MS41LC04Mi40IDYyLjUsLTM4LjEgLTM3LjcsLTc5LjMgMjE4LjEsLTc3LjEgMTMzLjQsLTEzLjggNTguNSw2NS40IDE5MS41LDgyLjQgNjAuNywxNi44IDc0LjUsLTc3LjcgMTg2LjEsLTYzLjggODguMiwtMy4xIDE1LjIsNDQuNiAyMjAuOCw3MS44IDQ3LjgsMTUuNSA0Ny44LC0zMy43IDkzLC0yNCA0NS4zLDkuOCAxMTYuNiw2Ni41IDE3OC4yLDgyLjUgNjEuNiwxNS45IDI4LC0xNTQuNCAxNTEuNiwtMTQ4LjkgMTIzLjYsNS41IDE1NC40LC0xNS45IDIxNS4xLC00NC4xIDYwLjYsLTI4LjIgMTI0LjksLTQ2LjcgMTQ4LjksLTEyNS4zIDI0LC03OC43IC0xMTEuNiwtMjg4LjQgLTQuOSwtMzQ2LjUgNjUuNywtMzUuOCAtNTEuNSwtMTI2LjMgMjYuNiwtMTcyLjggNDEuNywtMjQuOSA3MC40LDE0Ny40IDE4OC44LDEwMSAxMTguNCwtNDYuMyAxMDkuOSwtMTQ4LjYgMTY1LjMsLTI3OCA1NS40LC0xMjkuNCAxMTguOSwtOTAuNSAxNjcuMSwtMTQ3LjQgNDguMywtNTYuOSAtNDkuNywtMTYzIC03NC40LC0yNDIgLTI0LjcsLTc5IC0zMywtMTU2LjcgLTczLjcsLTIzMi4xIC00MC44LC03NS4zIC0xMDQuOCwtMTUzLjIgLTE3MSwtMjE5LjkgLTY2LjMsLTY2LjcgLTEzNy44LC0xNTkuNSAtMjI2LjUsLTE4MC40IC04OC42LC0yMSAtMjM3LjMsNTcuMSAtMzA1LjUsNTQuOCAtNjguMiwtMi4yIC00NS4yLC03MS41IC0xMDMuNiwtNjguNSAtNTguNSwzIC0xNDksMzEuNSAtMTk0LjIsMjEuMiAtNDUuMiwtMTAuMiAtMzcuNywtNjguNCAtNjAuOCwtMTAzLjQgLTIzLC0zNSAtNDQuNCwtNjkuODEgLTc3LjUsLTEwNi42MSAtMzMuMSwtMzYuODEgLTEwMC4yLC02NC43NiAtMTM3LjUsLTkzLjgzIC0zNy4zLC0yOS4wNyAtNTIuMiwtNjEuMjIgLTg2LjUsLTgwLjU5IC0zNC4yLC0xOS4zOCAtODAuNCwtMjEuMzkgLTExOS4xLC0zNS42NSAtMzguNywtMTQuMjUgLTgyLjEsMy4xNiAtMTE3LjIsLTEzLjIzIC0zNSwtMTYuNCAtMzEuOSwtMTA2LjgxIC05Mi45LC04NS4xNSAtNjAuOSwyMS42NiAtMTUxLjksMTQ5LjU0IC0yNDAuMSwxNzQuMzYgLTg4LjIsMjQuODEgLTI5MSw2MS41NCAtMjg5LjEsLTI1LjQ1IDcuNCwtMzUwLjMzIC0xMjcuNSwtMTExLjYyIC0yMDQuMiwtMTQ1Ljc1IC03Ni43LC0zNC4xMiAtMjI2LjYsLTI1LjE0IC0yNTUuOSwtNTkgLTI5LjMsLTMzLjg2IC0zOS45LC0xMDAuNDQgLTkuNiwtMTQ4LjIyIDMwLjMsLTQ3Ljc5IDIwMi4zLC05MC40IDE5MS41LC0xMzguNSAyLjUsLTcyLjEzIC0xMTguMSwtMTM3LjQzIC0xNjYuOCwtMTQ2LjA2IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNmNGNjMWVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE2MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyNjY0LjgsMTAwOTQuMyBjIDMxLjEsMy41IDgzLjQsMzAuOSAxMjcuNywyNi41IDQ0LjMsLTQuNCAxMTUuMiwtNjEgMTM4LjMsLTUzIDIzLDcuOSAwLDEwMC43IDAsMTAwLjcgMCwyOS4xIDIzLDY0LjUgMCw3NC4yIC0yMy4xLDkuNyAtMTAwLjIsLTE0LjIgLTEzOC4zLC0xNS45IC0zOC4xLC0xLjggLTY1LjYsMTUuOSAtOTAuNCw1LjMgLTI0LjgsLTEwLjYgLTQyLjYsLTQ2LjggLTU4LjUsLTY4LjkgLTE2LC0yMi4xIC00MC44LC01MyAtMzcuMywtNjMuNiAzLjYsLTEwLjYgMjcuNSwtOC45IDU4LjUsLTUuMyB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNjNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzAyNC44LDEyNDQ4LjEgYyA0LjEsLTIwLjQgNDAuOCwtNTcuNyA1My4xLC0xMDEuOCAxMi4yLC00NC4xIC0yLjgsLTEwOC42IDIwLjQsLTE2Mi45IDIzLjEsLTU0LjMgNzIuNywtMTE2IDExOC4yLC0xNjIuOCA0NS42LC00Ni45IDEwNy40LC05NS43IDE1NSwtMTE4LjEgNDcuNiwtMjIuNCA5My44LC0yOC41IDEzMC41LC0xNi4zIDM2LjcsMTIuMiA5NC41LDU0LjMgODkuNyw4OS42IC00LjcsMzUuMyAtNzEuMywxMDAuNCAtMTE4LjIsMTIyLjEgLTQ2LjksMjEuNyAtMTM2LC0xNC45IC0xNjMuMiw4LjIgLTI3LjIsMjMgMjUuMiw4MS40IDAsMTMwLjMgLTI1LjEsNDguOCAtMTA4LjEsMTI0LjIgLTE1MC45LDE2Mi44IC00Mi44LDM4LjcgLTg0LjMsNjIuNSAtMTA2LDY5LjMgLTIxLjgsNi43IC0zMi42LDAgLTI4LjYsLTIwLjQgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTY0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTM3OTIuNCwxMTk0NC41IGMgLTE1LjEsLTEyLjQgLTU1LjksLTI4LjQgLTUzLjMsLTQ3LjggMi43LC0xOS41IDQwLC0zMSA2OS4yLC02OS4xIDI5LjMsLTM4IDgwLjgsLTExNy43IDEwNi41LC0xNTkuMyAyNS43LC00MS42IDE4LjYsLTc0LjMgNDcuOSwtOTAuMiAyOS4zLC0xNiAxMjAuNywtMTYuOCAxMjcuOCwtNS4zIDcuMSwxMS41IC02Mi4xLDQzLjMgLTg1LjIsNzQuMyAtMjMuMSwzMSAtNTYuOCw4NC4xIC01My4yLDExMS41IDMuNSwyNy40IDc1LjQsMjMgNzQuNSw1My4xIC0wLjksMzAuMSAtNDcsMTAwLjkgLTc5LjgsMTI3LjQgLTMyLjksMjYuNiAtOTAuNiwzMS45IC0xMTcuMiwzMS45IC0yNi42LDAgLTIyLjIsLTE0LjIgLTM3LjIsLTI2LjUgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTY1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTMwNDcuNywxMDY1Ny45IGMgLTM2LjQsLTggLTEzNi41LC02LjIgLTE1OS42LC0zNy4zIC0yMywtMzEgMi43LC0xMjEuNSAyMS4zLC0xNDkuMSAxOC42LC0yNy41IDYzLjgsOCA5MC40LC0xNS45IDI2LjYsLTI0IDU1LjksLTg1LjIgNjkuMiwtMTI3LjggMTMuMiwtNDIuNiAtNS40LC05OS40IDEwLjYsLTEyNy44IDE1LjksLTI4LjQgNTMuMiwtNDkuNyA4NS4xLC00Mi42IDMxLjksNy4xIDgyLjQsNTkuNCAxMDYuNCw4NS4yIDIzLjksMjUuNyA0NS4yLDM2LjQgMzcuMiw2OS4yIC04LDMyLjggLTU5LjQsMTIxLjYgLTg1LjEsMTI3LjggLTI1LjcsNi4yIC00MS43LC05MC41IC02OS4xLC05MC41IC0yNy41LDAgLTg5LjYsNTYuOCAtOTUuOCw5MC41IC02LjIsMzMuNyA1MC41LDczLjcgNTguNSwxMTEuOCA4LDM4LjIgMS44LDk4LjUgLTEwLjYsMTE3LjIgLTEyLjQsMTguNiAtMjIuMiwtMi43IC01OC41LC0xMC43IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE2NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyODQ2LjEsMTEyMjYuOCBjIDI0LjksLTMxLjkgNjQuOCwtNTQuMSA2My45LC05NS44IC0wLjksLTQxLjcgLTUwLjYsLTE0NS41IC02OS4yLC0xNTQuNCAtMTguNiwtOC44IC0yMyw3OC4xIC00Mi42LDEwMS4yIC0xOS41LDIzIC02Ny4zLDkuNyAtNzQuNCwzNy4yIC03LjEsMjcuNSA0Nyw5My4yIDMxLjksMTI3LjggLTE1LjEsMzQuNiAtMTAwLjIsNDUuMiAtMTIyLjQsNzkuOCAtMjIuMiwzNC42IC0xMi40LDgxLjYgLTEwLjYsMTI3LjggMS43LDQ2LjEgNy45LDExMC45IDIxLjIsMTQ5IDEzLjMsMzguMiAzMi45LDk5LjQgNTguNiw3OS45IDI1LjcsLTE5LjYgODYsLTEzNy42IDk1LjcsLTE5NyA5LjgsLTU5LjQgLTQ2LjEsLTExNi4yIC0zNy4yLC0xNTkuNyA4LjksLTQzLjUgNjAuMywtNjMuOSA4NS4xLC05NS44IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE2N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE0OTU3LjEsMTE1MzAuMiBjIC0zNi4zLDkuNyAtMTQyLjcsLTQwLjggLTE5Ni44LC0zMS45IC01NC4xLDguOCAtMTIwLjYsOTMuOSAtMTI3LjcsODUuMSAtNy4xLC04LjkgNDkuNywtMTA2LjQgODUuMSwtMTM4LjMgMzUuNSwtMzEuOSAxMDkuMSwtMjEuMyAxMjcuNywtNTMuMiAxOC42LC0zMS45IC0zMSwtOTguMyAtMTYsLTEzOC4yIDE1LjEsLTM5LjkgNzYuMywtNjkuMSAxMDYuNCwtMTAxIDMwLjIsLTMxLjkgNDguOCwtNTQuMSA3NC41LC05MC40IDI1LjcsLTM2LjQgNTEuNCwtMTA0LjYgNzkuOCwtMTI3LjYgMjguNCwtMjMuMSA4NS4xLC0yNC44IDkwLjUsLTEwLjcgNS4zLDE0LjIgLTM4LjIsNTUgLTU4LjYsOTUuNyAtMjAuNCw0MC44IC00NywxMTAuOCAtNjMuOCwxNDguOSAtMTYuOSwzOC4xIC0zOC4xLDU1LjggLTM3LjIsNzkuOCAwLjgsMjMuOSA0OS42LDMxLjkgNDIuNSw2My44IC03LjEsMzEuOSAtNjYuNSw5MS4zIC04NS4xLDEyNy42IC0xOC42LDM2LjMgMTUuMSw4MC42IC0yMS4zLDkwLjQgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTY4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTU0NDYuOCwxMTI0OC4xIGMgLTE3LjcsLTM3LjIgLTY5LjIsLTExNi4xIC05MC41LC0xNzUuNSAtMjEuMywtNTkuNCAtMjguNCwtMTMxLjIgLTM3LjMsLTE4MC44IC04LjksLTQ5LjYgLTI4LjQsLTg1LjEgLTE2LC0xMTcgMTIuNCwtMzEuOSA4Ny45LC0yOC4zIDkwLjYsLTc0LjQgMi42LC00Ni4xIC03MS45LC0xNTYuOSAtNzQuNiwtMjAyLjEgLTIuNywtNDUuMiAyMy4xLC04Ni44IDU4LjYsLTY5LjEgMzUuNSwxNy43IDEyMy40LDExNi4xIDE1NC40LDE3NS41IDMxLjEsNTkuMyA0My41LDEyNy42IDMyLDE4MC44IC0xMS42LDUzLjEgLTgyLjYsNzggLTEwMS4yLDEzOC4yIC0xOC43LDYwLjMgLTEzLjMsMTcyIC0xMC43LDIyMy40IDIuNyw1MS40IDExLjYsODQuMiAyNi43LDg1IDE1LjEsMC45IDQ3LjksLTgwLjYgNjMuOSwtNzkuNyAxNS45LDAuOSA0NS4yLDYxLjEgMzEuOSw4NS4xIC0xMy4zLDIzLjkgLTkxLjQsNTcuNiAtMTExLjgsNTguNSAtMjAuNCwwLjggMS44LC0xMC43IC0xNiwtNDcuOSB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNjlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxNDUzNywxMDc3NC41IGMgLTIwLjMsLTMxLjkgLTg2LjgsLTU5LjQgLTEyMi4yLC02My44IC0zNS40LC00LjUgLTczLjUsMTQuMSAtOTAuMywzNy4yIC0xNi44LDIzIC0yOC4zLDcwLjkgLTEwLjYsMTAxIDE3LjcsMzAuMSA3OS43LDcwLjkgMTE2LjksNzkuOCAzNy4yLDguOCA4OS40LDAgMTA2LjIsLTI2LjYgMTYuOCwtMjYuNiAyMC40LC05NS43IDAsLTEyNy42IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE3MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyMTA2LjMsMTA4NjQuOSBjIC0yNy41LDIxLjMgLTcxLjgsLTMwLjEgLTY5LjIsLTQ3LjkgMi43LC0xNy43IDY0LjgsLTI0LjggODUuMSwtNTguNSAyMC40LC0zMy43IDgsLTEyNi44IDM3LjMsLTE0My42IDI5LjMsLTE2LjkgMTAyLjksNDMuNCAxMzguMyw0Mi41IDM1LjUsLTAuOSA1MC42LC0zMC4xIDc0LjUsLTQ3LjkgMjQsLTE3LjcgNDYuMSwtNTcuNiA2OS4yLC01OC41IDIzLjEsLTAuOSA4Ny44LDI4LjQgNjkuMiw1My4yIC0xOC42LDI0LjkgLTEyOS41LDgxLjYgLTE4MC45LDk1LjggLTUxLjUsMTQuMiAtODkuNiwtMzguMSAtMTI3LjcsLTEwLjYgLTM4LjIsMjcuNCAtNjguMywxNTQuMiAtOTUuOCwxNzUuNSB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNzFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTkxNS4xLDEwNTg4LjYgYyAxMS41LC0yMS4zIDE5LjUsLTk4LjUgNS4zLC0xMjcuNyAtMTQuMSwtMjkuMyAtNjcuMywtNTQuMSAtOTAuMywtNDcuOSAtMjMsNi4yIC01MS4zLDU1LjggLTQ3LjgsODUuMSAzLjUsMjkuMyA0Ny44LDc2LjMgNjkuMSw5MC41IDIxLjIsMTQuMiA1Mi4yLDIxLjMgNjMuNywwIHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE3MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEzNzYwLjIsOTg3Ni43MiBjIC0xMjUuOSwtOTQuMDIgLTI1MS44LC0xODguMDQgLTM1NS41LC0yNDYuMTYgLTEwMy43LC01OC4xMyAtMjEyLC02Ni4xIC0yNjYuNywtMTAyLjU3IC01NC43LC0zNi40NyAtMjguNSwtMTAzLjcxIC02MS42LC0xMTYuMjUgLTMzLC0xMi41MyAtMTEwLjUsMTIuNTQgLTEzNi43LDQxLjAzIC0yNi4yLDI4LjQ5IC0xNy4xLDc1LjIyIC0yMC41LDEyOS45MiAtMy40LDU0LjcgNi44LDE1Ni4xMyAwLDE5OC4zIC02LjksNDIuMTcgLTEuMiw0NS41OSAtNDEuMSw1NC43IC0zOS44LDkuMTIgLTE0OC4xLDEyLjU0IC0xOTguMywwIC01MC4xLC0xMi41MyAtNzUuMiwtNDIuMTYgLTEwMi41LC03NS4yMSAtMjcuNCwtMzMuMDUgLTM4LjgsLTExMC41NSAtNjEuNiwtMTIzLjA5IC0yMi44LC0xMi41MyAtNTguMSwxMi41NCAtNzUuMiw0Ny44NyAtMTcuMSwzNS4zMyAtMzkuOSwxNDEuMzIgLTI3LjMsMTY0LjExIDEyLjUsMjIuNzkgNjIuNiwtMS4xNCAxMDIuNSwtMjcuMzUgMzkuOSwtMjYuMjIgODYuNiwtMTI2LjUgMTM2LjgsLTEyOS45MiA1MC4xLC0zLjQyIDExOS43LDYxLjU0IDE2NC4xLDEwOS40IDQ0LjQsNDcuODcgNzEuOCwxMTkuNjcgMTAyLjYsMTc3Ljc5IDMwLjcsNTguMTEgMzMsMTUwLjQxIDgyLDE3MC45MSA0OSwyMC42IDEzNC41LC0yMy45IDIxMiwtNDcuOCA3Ny41LC0yNCAxOTIuNiwtNDkgMjUzLC05NS44IDYwLjQsLTQ2LjY4IDk1LjcsLTExMi43OCAxMDkuNCwtMTg0LjU4IDEzLjcsLTcxLjggLTE0LjgsLTE1OC40MSAtMjcuMywtMjQ2LjE3IC0xMi42LC04Ny43NSAtNDYuOCwtMjA4LjU1IC00Ny45LC0yODAuMzUgLTEuMSwtNzEuOCAtMi4zLC0xNDkuMjkgNDEsLTE1MC40MyA0My4zLC0xLjE0IDE1MC41LDEwMy43IDIxOC44LDE0My41OSA2OC40LDM5Ljg5IDEzNS43LDg0LjM0IDE5MS41LDk1LjczIDU1LjgsMTEuNCAxMTEuNywtNTYuOTggMTQzLjYsLTI3LjM1IDMxLjksMjkuNjMgMzcuNiwxNTcuMjcgNDcuOSwyMDUuMTQgMTAuMiw0Ny44NiAxOC4yLDcyLjk0IDEzLjYsODIuMDUgLTQuNSw5LjEyIC0zNi40LC03MS44IC00MSwtMjcuMzUgLTQuNiw0NC40NSAtMTEuNCwyMDkuNyAxMy43LDI5NC4wMyAyNS4xLDg0LjMzIDkwLDE2Mi45OSAxMzYuNywyMTEuOTkgNDYuOCw0OSA4My4yLDY4LjQgMTQzLjYsODIgNjAuNCwxMy43IDE1NSwxMS40IDIxOC45LDAgNjMuOCwtMTEuNCAxMTcuMywtMzkuOCAxNjQuMSwtNjguMyA0Ni43LC0yOC41IDcxLjgsLTkyLjQgMTE2LjIsLTEwMi42IDQ0LjUsLTEwLjMgMTE0LDQ5IDE1MC40LDQxIDM2LjUsLTggOTMuNSwtODYuNTkgNjguNCwtODguODcgLTI1LC0yLjI4IC0xNDIuNCw4My4xNyAtMjE4LjgsNzUuMTcgLTc2LjMsLTcuOSAtMTkzLjcsLTQ1LjUgLTIzOS4zLC0xMjMuMDQgLTQ1LjYsLTc3LjQ5IC0xMy43LC0yNzMuNTEgLTM0LjIsLTM0MS44OSAtMjAuNSwtNjguMzggLTUwLjIsLTY3LjI0IC04OC45LC02OC4zOCAtMzguNywtMS4xNCAtOTEuMiw1MS4yOCAtMTQzLjYsNjEuNTQgLTUyLjQsMTAuMjYgLTEyNi41LC0yNy4zNSAtMTcwLjksMCAtNDQuNSwyNy4zNSAtNjYuMSw4NS40NyAtOTUuOCwxNjQuMTEgLTI5LjYsNzguNjMgLTMzLDI1Mi45NiAtODIsMzA3LjY2IC00OSw1NC43IC0xNDkuMywzOS45IC0yMTIsMjAuNiAtNjIuNywtMTkuNCAtMTIzLjEsLTg4Ljk0IC0xNjQuMSwtMTM2LjggLTQxLC00Ny44NyAtNjkuNSwtNzcuNSAtODIuMSwtMTUwLjQzIC0xMi41LC03Mi45NCAxOC4zLC0yMDEuNzIgNi45LC0yODcuMiAtMTEuNCwtODUuNDcgLTI1LjEsLTE2NS4yNSAtNzUuMywtMjI1LjY1IC01MC4xLC02MC40IC0xODYuOSwtNzIuOTMgLTIyNS42LC0xMzYuNzUgLTM4LjgsLTYzLjgyIDEwLjMsLTE3NS41MSAtNi44LC0yNDYuMTcgLTE3LjEsLTcwLjY2IC0zMy4xLC0xMzEuMDYgLTk1LjgsLTE3Ny43OCAtNjIuNywtNDYuNzMgLTE5MS40LC04Mi4wNiAtMjgwLjMsLTEwMi41NyAtODguOSwtMjAuNTIgLTE3Ni43LC0zLjQyIC0yNTMsLTIwLjUyIC03Ni40LC0xNy4wOSAtMTY3LjYsLTU1Ljg0IC0yMDUuMiwtODIuMDUgLTM3LjYsLTI2LjIxIC0zNi40LC01Ni45OCAtMjAuNSwtNzUuMjIgMTYsLTE4LjIzIDc1LjIsLTE3LjA5IDExNi4zLC0zNC4xOSA0MSwtMTcuMDkgOTEuMSwtMTguMjMgMTI5LjksLTY4LjM4IDM4LjcsLTUwLjE0IDgzLjIsLTE0My41OSAxMDIuNSwtMjMyLjQ4IDE5LjQsLTg4LjkgNi45LC0yMjkuMDcgMTMuNywtMzAwLjg3IDYuOSwtNzEuOCAyMi44LC05Mi4zMSAyNy40LC0xMjkuOTIgNC41LC0zNy42MSAyNSwtNTguMTIgMCwtOTUuNzMgLTI1LjEsLTM3LjYxIC05Mi4zLC04Ny43NSAtMTUwLjUsLTEyOS45MiAtNTguMSwtNDIuMTcgLTE0NC43LC0xMDAuMjkgLTE5OC4zLC0xMjMuMDggLTUzLjUsLTIyLjggLTY2LjIsLTMuNTMgLTEyMywtMTMuNjggLTU2LjksLTEwLjE1IC0xNjAsLTYwLjggLTIxOCwtNDcuMjEgLTU4LDEzLjU5IC0xMjIuMiw2MS40MSAtMTI5LjksMTI4Ljc1IC03LjgsNjcuMzMgLTI0LjcsMTgxLjYzIDEyLjgsMjY3LjE5IDM3LjUsODUuNTYgMTU3LjMsMTg1Ljc3IDIxMiwyNDYuMTcgNTQuNyw2MC40IDY5LjUsNzkuNzcgMTE2LjIsMTE2LjI0IDQ2LjcsMzYuNDcgMTAwLjMsODQuMzQgMTY0LjEsMTAyLjU3IDYzLjksMTguMjMgMTQ5LjMsOS4xMiAyMTguOCw2Ljg0IDY5LjYsLTIuMjggMTQzLjYsLTU0LjcxIDE5OC4zLC0yMC41MiA1NC43LDM0LjE5IDEwMi42LDE0MS4zMiAxMzAsMjI1LjY1IDI3LjMsODQuMzQgNDEsMjAwLjU4IDM0LjIsMjgwLjM2IC02LjksNzkuNzcgLTkuMiwxMzEuMDYgLTc1LjMsMTk4LjMgLTY2LjEsNjcuMjQgLTIzNS45LDE1Ny4yNyAtMzIxLjMsMjA1LjEzIC04NS41LDQ3Ljg3IC0xOTMuOCw2OC4zOCAtMTkxLjUsODIuMDYgMi4zLDEzLjY3IDE0My42LDEzLjY3IDIwNS4xLDAgNjEuNiwtMTMuNjggOTUuOCwtNjcuMjQgMTY0LjEsLTgyLjA2IDY4LjQsLTE0LjgxIDE3Ni43LC0zMC43NyAyNDYuMiwtNi44MyA2OS41LDIzLjkzIDEzOSw5OC4wMSAxNzEsMTUwLjQzIDMxLjksNTIuNDIgMzkuOCwxMjMuMDggMjAuNSwxNjQuMTEgLTE5LjQsNDEuMDMgLTExNS4xLDIxLjY1IC0xMzYuOCw4Mi4wNSAtMjEuNiw2MC40IDIuMywxOTEuNDcgNi44LDI4MC4zNiA0LjYsODguODkgMTkuNCwxNTguNDEgMjAuNiwyNTMgMS4xLDk0LjYgNC41LDI0Mi43IC0xMy43LDMxNC41IC0xOC4yLDcxLjggLTY2LjEsNzYuNCAtOTUuNywxMTYuMyAtMjkuNywzOS45IC02Ny4zLDk1LjcgLTgyLjEsMTIzLjEgLTE0LjgsMjcuMyAtMTkuNCwxOC4yIC02LjgsNDEgMTIuNSwyMi44IDcwLjYsMzguNyA4Miw5NS43IDExLjQsNTcgLTI4LjUsMTc3LjggLTEzLjcsMjQ2LjIgMTQuOSw2OC40IC0xMC4zLDE0NC4xIDEwMi42LDE2NC4xXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1OS41ODMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTczXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDMxLjkxMjMsMjk1LjE4OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzY3NSw5ODE3LjE5KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNzRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjEuMjc1LDE4MC44MzZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsMTM3MzEuMyw5Mjc3KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNzVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjEuMjc1LDMwNS44MjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTM1NTYsOTc1MC44MylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTc2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTM1OTAsOTE3OSB2IDIxMi43NVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE3N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA2Ni40ODQsMTU5LjU2MVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzMzOCw5NjA0LjU2KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNzhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNjYuNDg0LDE1Ni45MDJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTM0MjAsOTM5MC45KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNzlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjA3LjQzLDkwLjQxOFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzE3NCw5NDkyLjQyKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxODBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTQ3LjE1MSw1OC40MjAyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzNDA3LDkzODQuNDIpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE4MVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMjIuMzMsMi42NTk0MlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzA0Myw5NTI0LjY2KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxODJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzM5MCw5NTM1IDE1NS42LDYuNDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxODNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMjkyMCw5NTIyIDExNC40LDU4LjUxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTg0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTMwNjEsOTU5NyAxMDksNzAuNDdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxODVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMjkyMCw5NjcxIGggMTAxLjFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxODZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTA3LjUxNCw3Ljc0NjU2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzMDcyLDk2NzIuNzUpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE4N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyOTAzLDk4MzAgMTM5LjIsMTI2LjRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxODhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzA2OCw5OTg3IDEwMi40LDEzM1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE4OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEzMjAzLDk5NDYgNDUuMywzMC41XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTkwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTMyODIsMTAwMDEgNTUuOCw1Mi44XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTkxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTMxODYsOTcxMyAxMzUuNiwxMTYuOTNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxOTJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzM2MCw5ODY3IDE0OC45LDExNy4wMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE5M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNTUuNTcyLDEwOC40OTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI0NzEsOTkyMC41KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxOTRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjA3LjI2MSw4MC4yOTY4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyNTI3LDk2NjAuMylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTk1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE1MS41ODMsMTY0Ljg4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyMzY0LDk5ODYuODgpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE5NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA1My4xODcyLDIxMC4wODlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI0MDksMTAwNTkuMSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTk3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDQyLjIxNjgsMTA3Ljc4NlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjM2Nyw5OTA0Ljc5KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxOThcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNjYuNDg0LDEyNC42MVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjQ3Myw5Nzk3LjYxKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxOTlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTMzLjUzNywyMTIuMjg3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyNjYzLDEwMDQ4LjMpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIwMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAzNy40ODA1LDExMS4zMTNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI2MTIsOTk0Ny4zMSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjAxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTMwMzUsMTAyMTYgOTUuNywxMjVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMDJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzE4OSw5Mzk4IDc5LjQsODMuMzZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMDNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMzM2OC41LDk1ODAuMTIgMTMyOTAsOTUwM1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIwNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEzNDc1LDkzMTggMTAxLjksNzMuNzhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMDVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzU5Niw5NDM0IDU1LjgsMTE3LjAxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjA2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDExMS42OTMsNTMuMTg3MlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzgzMCw5NDQ0LjE5KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMDdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTYyLjIyMSwxNjIuMjIxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzNzMxLDEwMDExLjIpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIwOFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNTkuNTYxLDE0OC45MjRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTM5NDEsOTgxNi45MilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjA5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDI0NC42NjEsMTU2LjUyMlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzYyMCw5ODQ4LjUyKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMTBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjA3LjQzLDE4Ni4xNTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTM4OTQsOTY2OC4xNilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjExXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTQxNzUsOTY2OCA4Mi40LDIwNC43N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIxMlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE0MjgyLDk5MjEgMTAxLjEsMjcxLjNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMTNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxNDUyMiw5NTUxIDIyLjYsMjk3Ljg1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjE0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTQ1NDgsOTkyMSAzMS43LDI3MS4zXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjE1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDM5Ljg5MDIsMjIwLjcyNlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSwwLDAsMSwxNDc4MS45LDEwMTQxKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMTZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxNDY0Myw5NzMyIDExNi4yLDE4OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIxN1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE0Nzc2LDk5NDYgNjcuOCwxMzEuOVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIxOFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE0NjM2LDk2NjggMTY0LjksMTU0LjI0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjE5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTQ4MzIsOTg1OSAxODAuOCwyMDQuOFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIyMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE1MDI0LDk3OTEgMTEwLjcsMTk2Ljc5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjIxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDk1LjczNjgsMTMyLjk2OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxNDg3MiwxMDE4NClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjIyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTQ2NDUsOTg2OSAxODguOCw0Ny44N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIyM1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyMTUuNDA4LDY5LjkwMzFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsMTQwNzkuNCw5NDEyKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMjRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjA0Ljc3LDExMS42OTNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTM1NzcsOTYzMy42OSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjI1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMTMyNTIuMyw5MzYxLjgyIDEzMjM5LDkyOThcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMjZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzEyNSw5MDE1IDEwMS40LDEyMy4zOVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIyN1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEzNDA0LDkyMzQgODIuNCwxNzcuNDJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMjhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMzUyOS41LDk2OTIuNyAxMzQ4Nyw5NDQ1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjI5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTMyMDMsOTA2NyBoIDQyLjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMzBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNDEuMjIsMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSwwLDAsMSwxMzI5MC4yLDkwNjcpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIzMVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMjguOTc5LDg5LjE3MDdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI5NzUsOTAwNC4xNylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjMyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEyMi4zMyw5OC4zOTYyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzMTM4LDg4ODcuNClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjMzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDExNC4zNTIsMTkyLjgwM1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjc2OSw5MDc0LjgpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIzNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMzUuNjI3LDE5My45OTdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI4OTksODg0NSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjM1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDU4LjE4NywyNTEuMjY4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyNzM1LDkwODkuMjcpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIzNlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAzNC41NzE3LDE3NS43NzNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsMTI4NDAuNiw4NjEwKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMzdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTI2LjMyLDIwMy4zNTlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI1NDUsOTA4NS4zNilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjM4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEzNi45NTcsMTk2Ljc5MlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjU4OCw5MDc0Ljc5KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMzlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTM2Ljk1NywyMzguMjM2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyNzM0LDg4NTcuMjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI0MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMzEuNjM4LDIyOS45OTNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI2OTQsODg0Mi45OSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjQxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMTI2MzIuNiw5MDI2LjY3IDEyNTUzLDg4MTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNDJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMjQzNSw4NDg1IDkzLjQsMjcwLjY5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjQzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDUzLjE4NzIsMjMxLjM2NFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjUxNiw5MDkwLjM2KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNDRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNDUuMjA5LDIxOS40NzlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsMTI2MjYuMiw4NTg3KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNDVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMjYxMiw4Mzg4IDExMSwyNTAuNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNDZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMjg1OS40LDg5MjguMzkgMTI3NTMsODcwNVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI0N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyNDUyLDg0MzYgMTg0LjIsMjMwLjM0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjQ4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTI2NzIsODcxMCAxNzIuOSwyMzUuNDhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNDlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMzA1Myw4NzkwLjA3IDEyOTIwLDg1NzJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNTBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMjc2OSw4MzE0IDEzMC4zLDIxMC4wOVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI1MVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEzMTAzLjMsODU3Mi4yNCAxMjk2NSw4NDE4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjUyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTI4MDYsNzk2OCAxMTQuNCwyMTMuNTZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNTNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMzA5Mi4zLDg0NjMuNDEgMTI5NDQsODIwOFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI1NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyNzQyLDc4NTkgNTMuMiwyMTAuMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNTVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMjgwMiw3NzkwIDkxLjcsMTkxLjk2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjU2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTI5MTAsODAxMiA5MC40LDE2OS42M1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI1N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyODQwLDc2NDQgNzkuOCwxOTYuNzlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNThcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNTAuNTI3OCwzMDguMjgyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyNTc2LDgxMjkuMjgpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI1OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA5Ny43MzE1LDI1NC41MzhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsMTI3MzUuNyw3NDk0KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNjBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNzcuMTIxMywzMzIuNDE5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyMzg2LDgwNDUuNDIpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI2MVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA3MC40NzI5LDMwMS45MTFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsMTI1NDEuNSw3MzY3KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNjJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNzQuNDYxOCwyNTYuNjUyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyMjUzLDc5MjQuNjUpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI2M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAzLjYwODkyZS00LDMxNC4wMTFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTIzNDMsNzYxNS4wMSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjY0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDg1LjcxMTYsMzEuODMwM1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzg4MCwxMDA4Ny44KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNjVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgODkuMjMyOCw0My4zNTI2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzOTk3LDEwMDM3LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI2NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE0MDQyLDk4OTMgNTMuNSw2My4yOVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI2N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMDAuNzQ3LDguNzc5MDdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI5MjEsOTUxOC43OClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjY4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDc0LjQ2MTgsMjU2LjY1MlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjE1NCw3ODQwLjY1KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNjlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjEuMjc1LDIwOC4yNDZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTIyMzIsNzQ5My4yNSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjcwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMTIxNTcuOSw3NDQwLjI5IDEyMTI2LDcyNjBcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNzFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgODMuMDQzMSwxMjMuNzhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTIwNTEsNzY4OC43OClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjcyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEyMS4wOTYsMTguNjE1NVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjAwMCw3NDkyLjYyKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNzNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxNDMzMCwxMTA2MC40IFYgMTA4MTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNzRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxNDQyOSwxMTA3Ny40IFYgMTA4MzJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNzVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxNDUyOCwxMTA5Ni40IFYgMTA4NTFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNzZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxNDYyNywxMTEwNC40IFYgMTA4NTlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNzdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxNDIzMiwxMTA0OC40IFYgMTA4MDNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNzhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCwxNTAyMSwxMTA2MC40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNzlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCwxNDkyMywxMTA3Ny40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyODBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCwxNDgyNCwxMTA5Ni40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyODFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCwxNDcyNSwxMTEwNC40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyODJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCwxNTEyMCwxMTA0OC40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyODNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMzMzOSwxMTA2MS40IFYgMTA4MTZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyODRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMzQzOCwxMTA3OS40IFYgMTA4MzRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyODVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMzUzNywxMTA5Ny40IFYgMTA4NTJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyODZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMzYzNSwxMTEwNi40IFYgMTA4NjFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyODdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMzI0MSwxMTA0OS40IFYgMTA4MDRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyODhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCwxNDAzMCwxMTA2MS40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyODlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCwxMzkzMiwxMTA3OS40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyOTBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCwxMzgzMywxMTA5Ny40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyOTFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCwxMzczNCwxMTEwNi40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyOTJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCwxNDEyOSwxMTA0OS40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyOTNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxNDE4MiwxMTA0OCBjIDE5NS4xLDAuMiAyOTQuOCw1OC43IDQ5NCw1OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTkuNTgzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI5NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDQ5NSw1OC45OTk4IEMgMjk5LjUzNCw1OC44MjEyIDE5OS42NTEsMC4yNzY0IDAsMFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTkuNTgzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxNDY3NSwxMTEwNylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjk1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTMxOTEsMTEwNTAgYyAxOTUuMSwwLjIgMjk0LjgsNTcuNyA0OTQsNThcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU5LjU4MzNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyOTZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSA0OTQsNTguMDAwMSBDIDI5OC45MjgsNTcuODI0NiAxOTkuMjQ4LDAuMjcxNzE3IDAsMFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTkuNTgzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzY4NCwxMTEwOClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjk3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTM3NjAuMSw5ODgwLjk0IGMgMTg3LjMsMTU1LjQ2IDEwMi4yLDM0OC4wNiAtNTQuMiwzOTEuNTYgLTE1Ni4zLDQzLjUgLTYwMy4zLC0yMyAtODgzLjcsLTEzMC41IEMgMTI1NDEuNywxMDAzNC42IDExNjg2LDk1OTYuMDkgMTE2NzksOTEyMlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTkuNTgzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI5OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMzkuNDkzLDE1Ny43MVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC4xMDI2NTIsLTAuOTk0NzE3LC0wLjk5NDcxNywwLjEwMjY1MiwxMTg2My41LDcyMzcuODMpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI5OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwMzA4LC0wLjM2Njc4MSwtMC4zNjY3ODEsMC45MzAzMDgsMTE5ODAuOCw2OTQxLjI4KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMDBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTIwLjk5NywxNzMuMDg1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDExOTEzLjgsNzEzNS4yNylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzAxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDExNy45MiwxNzkuMzQ0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDExOTQ4LjgsNzA0MC41KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMDJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjE0LjE4NSwxOC44NTA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDExMjQ4LjYsNzg1MC4yOSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzAzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDIwOC4zMDIsNTYuNDg0N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC4xMDI2NTIsLTAuOTk0NzE3LC0wLjk5NDcxNywwLjEwMjY1MiwxMTM3Mi4xLDc4MjIuMjcpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMwNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNjYuMjE4LDE0Ni44ODdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMTAyNjUyLC0wLjk5NDcxNywtMC45OTQ3MTcsMC4xMDI2NTIsMTE3NDkuMiw3NDEyLjUyKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMDVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTcxLjgzLDg3LjM3NDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMTAyNjUyLC0wLjk5NDcxNywtMC45OTQ3MTcsMC4xMDI2NTIsMTE0NzMuOSw3NzQwLjA0KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMDZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTU2LjQxNywxMTAuMjk4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDExNTQ5LjgsNzY1OS45NClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzA3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE2NS4yODQsMTMxLjM1NlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC4xMDI2NTIsLTAuOTk0NzE3LC0wLjk5NDcxNywwLjEwMjY1MiwxMTYxNi41LDc1ODcuNDUpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMwOFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNTUuMywxNDMuMTk4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDExNjc2LjMsNzQ5MC44NilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzA5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE1My4wODIsMTM5LjkzOVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC4xMDI2NTIsLTAuOTk0NzE3LC0wLjk5NDcxNywwLjEwMjY1MiwxMTgxMy4yLDczMzQuNTEpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMxMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExMjA5LjMsNzg5My4yNCBjIDIxMy43LC0xOC45MyA4NzAsLTcwMy4zNiA3NTQuOCwtMTEwMi4zXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1OS41ODMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzExXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTE2NzYuNiw5MDk3LjI1IC0xNzYuMSwyMi41N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMxMlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExNjcxLjksODk3OS41NSAtMTgxLjgsNDEuMDJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMTNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTY1NC42LDg4NjYuMjkgLTE3Mi44LDQ1Ljg5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzE0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTE1ODUuMiw4NzMyLjUxIC0xNDIsMTExLjE2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzE1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTEzODIuNiw4NzE4LjYgLTIwLjMsMTMzLjQxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzE2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE1OC4zOTcsMS45OTUwMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjEwMjY1MiwwLjk5NDcxNywwLjk5NDcxNywtMC4xMDI2NTIsMTEyNTcuNiw4NzM3LjE3KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMTdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTEzMi41LDg3NTYuMDIgOC41LDE0NC4yOFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMxOFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExMDIyLjcsODc2Ni42MyAzLjIsMTQxLjMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzE5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTA5MzEuOSw4NzY1LjEyIC0yMS4zLDEzMy40MlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMyMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEwODMyLjYsODczMS4zMiAtNDIuNSwxNDEuMlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMyMVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEwNzQxLjksODcwMS4zNSAtNTMsMTMxLjYzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzIyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTA2NDYuMiw4NjY0Ljc1IC03MS4xLDExNi45XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzIzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTA1NzMuMiw4NjI5LjA3IC04MSw4Ny4zM1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMyNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEwNTI2LjgsODU2NC4xNCAtMTA4LjcsNzEuMDdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMjVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMDQ4Ni45LDg0ODkuMzUgLTExMy43LDQyLjA2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzI2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTA0NjcuMyw4NDEwLjM1IC0xMjIuOSwxOS45XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzI3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEzLjEyNDIsMTIzLjkzMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC4xMDI2NTIsLTAuOTk0NzE3LC0wLjk5NDcxNywwLjEwMjY1MiwxMDQ1OC4xLDgzMjQuNzcpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMyOFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyOC45OTA4LDExMy4wNTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMTAyNjUyLC0wLjk5NDcxNywtMC45OTQ3MTcsMC4xMDI2NTIsMTA0NTUuMiw4MjM2LjM3KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMjlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNTYuMjk0MiwxMTEuNDc3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDEwNDgwLjYsODE1NC43OClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzMwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDc2LjY2NTgsNzUuMjQ2NFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC4xMDI2NTIsLTAuOTk0NzE3LC0wLjk5NDcxNywwLjEwMjY1MiwxMDUxNC4zLDgwNzYuMjcpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMzMVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMDEuNjQ0LDU0LjI1NThcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMTAyNjUyLC0wLjk5NDcxNywtMC45OTQ3MTcsMC4xMDI2NTIsMTA1ODEuNCw4MDEzLjc4KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMzJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTQwLjYyNSw0My41OTExXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDEwNjU3LjEsNzk2OS4zOClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzMzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE1Ny43OTYsMjMuNDI0MVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC4xMDI2NTIsLTAuOTk0NzE3LC0wLjk5NDcxNywwLjEwMjY1MiwxMDc0MC43LDc5MzkuMzkpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMzNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNjEuMTczLDE1Ljc1NjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMTAyNjUyLC0wLjk5NDcxNywtMC45OTQ3MTcsMC4xMDI2NTIsMTA4MzMuMSw3OTA4LjE2KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMzVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMDkyNS40LDc4OTguNjMgLTEwLjYsLTE4OC42XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzM2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTEwMjcuNyw3ODg3LjgyIC0xMC42LC0xODguNlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMzN1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExMTI0LjQsNzg4OCAtOS41LC0yMzQuMTFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMzhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMjg1LjUzLDExMjYuNDQgQyAxMTU3LjU5LDExNDguMjkgOTI1LjU4OSwxMTcyLjYgODQ5LjM0MSwxMDQ5LjgyIDc3My4wOTQsOTI3LjA0MyA4NzkuNzQsNTc1LjU5NyA4MjguMDQ3LDM4OS43NTQgNzc5LjQ2NSwyMTUuMDk3IDYyMS40NDMsLTIzLjYwMzEgMzU4LjAzNCwxLjg4Mjc4IDIzOS45OTYsMTMuMzAzNiAtMzguNTA1MSwtNS44NTE1MSA0LjQ2MzE2LDc2NC4wMlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTkuNTgzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjEwMjY1MiwwLjk5NDcxNywwLjk5NDcxNywtMC4xMDI2NTIsMTA0MjEuNCw3OTY1LjY4KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMzlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTg0Ni41LDg5MTUuOTUgYyAtMjEuMSwtNy45NiAtMjEuNywtMzcuODggLTQ2LjQsLTQwLjggLTE2LjEsLTE4LjE5IC0yNi4yLC02My40IC01MC4zLC02OC4zNCAtMjQuMSwtNC45NCAtNjgsMTkuNTkgLTk0LjIsMzguNyAtMjYuMiwxOS4xMSAtNTguMiw0OC43IC02Mi45LDc1Ljk0IC00LjgsMjcuMjQgNjQuNCw0NC4yNiAzNC41LDg3LjQ4IC0zMCw0My4yMiAyLjgsNTcuNzYgNTguNSw1OC42OCA1NS43LDAuOTIgNTIuNSw3OC43IDU1LjUsMTAyLjU0IDMsMjMuODUgLTEzLjUsNDIuOCAxOCw4NS41NCAzMS42LDQyLjczIC0yMi41LDY1Ljc4IC01Mi40LDc2Ljg5IC0zMCwxMS4xMSAtNjQuOSwtMjUgLTEyNy40LC0xMC4yNSAtMzIuNCwtMTMuNzEgLTM4LjgsLTU4Ljk4IC02Ni40LC01My45MyAtMjcuNSw1LjA2IC05MS44LDM5Ljk1IC05OC43LDg0LjIzIC02LjksNDQuMjggLTg3LjgsNTkuMjcgLTEwOC44LDk4LjM4IC0yMS4xLDM5LjExIC0xOSw5Ny4zOSAtMTcuNiwxMzYuMjYgMS41LDM4Ljg3IC04LjEsNzAuOTkgMjYuNCw5Ni45NyAyMS45LDE2LjU1IDE0LjksMzQuNTEgMzIuNSw1Ni4xNSAxNy41LDIxLjY1IC00LjYsNzkuMzIgNzIuOSw3My43IDc3LjUsLTUuNjEgNzguNSw5Ni40MSAxMDcuNCwxMTIuMzYgMjksMTUuOTYgMzQuMywtMTYuNzIgNTMsLTIxLjYzIDE4LjcsLTQuOTIgMjkuMiwyNS44OSA1Mi44LDI1LjI1IDIzLjYsLTAuNjQgNDYuOSwtNjkuMDkgNzMuNSwtODEuNDggMjYuNiwtMTIuMzkgNjQuOCw1LjMxIDg1LjksNy4xMiAyMS4yLDEuODIgMjYuMSw1LjAzIDQwLjksMy43NiAxNC45LC0xLjI3IDMxLjUsLTE3LjMzIDQ1LjgsLTIxLjk4IDE0LjMsLTQuNjQgMzAuNSwxMi43OCA0NS43LDUuOTcgMTUuMiwtNi44IDI1LjEsLTMxLjcyIDQ1LjUsLTQ2LjggMjAuNSwtMTUuMDggMjYuNiwtNDMuNzcgNDAuMiwtNTQuMjggMTMuNywtMTAuNTIgLTc4LjEsLTMwLjUxIDEuMiwtNjguNTMgMTQuMywtMi4zNSAzOC4zLDE4LjUxIDcwLjgsMTYuOTUgMzIuNSwtMS41NyAxMDYuMiwtNC44IDEyNC4yLC0yNi4zMyAxNy45LC0yMS41NCA2Mi44LC02MC4wNSAtMTYuNywtMTAyLjg5IC0xNy42LC05LjQ1IC00Ny4xLC0yMi42MSAtMTUuMywtMjUuOTQgMzEuOCwtMy4zMyA0My43LDIwLjAxIDU3LjcsMy4yMyAxNCwtMTYuNzggMTMuMiwtNzcuMzEgMjYuMywtMTAzLjkxIDEzLjEsLTI2LjYgMjUuNCwtMzEuNTkgNTIuNCwtNTUuNjkgMjYuOSwtMjQuMTEgODQuMSwtNTIuOTMgMTA5LjQsLTg4LjkzIDI1LjMsLTM1Ljk5IDEuNywtODAuMjUgLTE5LjYsLTk1LjE5IC0xMDEuNSwtNzEuMTIgLTMxLjUsLTY0Ljk4IC01MS4zLC05Ny41OCAtMTkuOCwtMzIuNiAzOC42LC00Mi45NSAtNjcuNiwtOTguMDMgLTEwNi4yLC01NS4wOCAtMTEwLjUsMzMuMTcgLTEzNy4zLDIwLjI2IC0yNi44LC0xMi45MiAxMy45LC03NS44OSAtMjMuNCwtOTcuNzQgLTQ3LjcsLTI3Ljk5IC05Ny42LDc0LjU3IC0xMTUuMiwzMy41NCAtMTIuOCwtMjkuNzQgLTQ4LjEsLTcuNzYgLTc5LC0zMi43IC0zMC45LC0yNC45NSAtNTkuMywxLjAxIC04MC41LC02Ljk1IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlM2JhMGJcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM0MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExODMwLjQsOTIwNi40NSBjIDguMSwxNS42IDguNCw1Ni4zOCAxOS42LDU1Ljg1IDExLjEsLTAuNTIgNDMuOSwtNDAuMjYgNDcuMywtNTkgMy4zLC0xOC43NCAtMTQuOCwtMzcuMSAtMjcuMywtNTMuNDQgLTEyLjQsLTE2LjM0IC0yOS45LC0yOS4zIC00Ny43LC00NC42MSAtMTcuOCwtMTUuMzIgLTQ4LjksLTQ4Ljc2IC01OSwtNDcuMjggLTEwLjEsMS40OCAtNy43LDM3LjczIC0xLjQsNTYuMTggNi4zLDE4LjQ2IDI4LDM5LjE2IDM5LjQsNTQuNTUgMTEuNSwxNS4zOCAyMC45LDIyLjgzIDI5LjEsMzcuNzUgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2RiYjMwYlwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzQxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTIwNzguNyw5NTcyLjgzIGMgLTEyLjYsLTcuMjQgLTMyLjUsLTI0Ljk0IC01Ny4xLC0yNy43OSAtMjQuNiwtMi44NSAtNjUsNC40NSAtOTAuNiwxMC42OSAtMjUuNSw2LjI0IC02NS4yLDEzLjYgLTYyLjgsMjYuNzcgMi40LDEzLjE3IDU1LjMsNDAuMTYgNzcuNSw1Mi4yNCAyMi4xLDEyLjA4IDM2LjcsMjMuMjcgNTUuMywyMC4yMyAxOC41LC0zLjA1IDQwLC0yNy40IDU2LjEsLTM4LjQ4IDE2LC0xMS4wOCAzNi4zLC0yMC43NSAzOS45LC0yOC4wMiAzLjYsLTcuMjggLTUuNywtOC40IC0xOC4zLC0xNS42NCB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZGJiMzBiXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNDJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTY4Mi44LDk2MTAuMTcgYyAxMy40LC0yMy44IC0zLC02MS4xMiAtMTUuOCwtODAuMDQgLTEyLjgsLTE4LjkyIC00MS4xLC0yNS43OSAtNjEuMSwtMzMuNDkgLTE5LjksLTcuNzEgLTQyLjQsLTUuMyAtNTguOCwtMTIuNzQgLTE2LjQsLTcuNDUgLTIxLjUsLTI4LjQgLTM5LjUsLTMxLjk0IC0xNy45LC0zLjU0IC01MiwxLjE3IC02Ny45LDEwLjY4IC0xNiw5LjUyIC0yOC45LDMwLjc0IC0yNy43LDQ2LjQxIDEuMywxNS42NiAyMS4zLDM5LjMzIDM1LjIsNDcuNTcgMTMuOSw4LjI2IDMzLjksLTIuODggNDguMywxLjkyIDE0LjQsNC44MSAyNS43LDIxLjY0IDM4LjMsMjYuOSAxMi41LDUuMjcgMjguNCwtOS44OSAzNy4xLDQuNyA4LjgsMTQuNTggLTMuNSw4Ni4xNSAxNS40LDgyLjggMTksLTMuMzUgODMsLTM4Ljk3IDk2LjUsLTYyLjc3IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNkYmIzMGJcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM0M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExMzQwLjksOTYxMy41NyBjIDEyLjQsLTUuNTkgMzAuOCwtMjIuNTUgNTIuMywtMTQuOTggMjEuNSw3LjU2IDYzLjUsNDQuNjcgNzYuOCw2MC4zOSAxMy4yLDE1LjcyIDExLjEsMzIuMzkgMi42LDMzLjk1IC04LjUsMS41NiAtMzMuMSwtMjEuMjMgLTUzLjYsLTI0LjYgLTIwLjYsLTMuMzcgLTUyLjgsMTAuNDIgLTY5LjUsNC4zOCAtMTYuNywtNi4wNCAtMjkuMiwtMzAuOCAtMzAuOCwtNDAuNjEgLTEuNywtOS44MSA5LjgsLTEyLjk1IDIyLjIsLTE4LjUzIHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNkYmIzMGJcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM0NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE2MzE2LjQsNzMzOC40NSBjIDkuMiw0Ny45IC0xNTUsLTQ1LjAzIC0yMDIuNywtNDUuMDMgLTQ3LjYsMCAtNTEsMTkuODcgLTgzLjQsNDUuMDMgLTMyLjUsMjUuMTcgLTcxLjUsODYuNTQgLTExMS4zLDEwNS45NyAtMzkuNywxOS40MyAtOTcuNSwtMjAuOTcgLTEyNy4xLDEwLjYgLTI5LjYsMzEuNTcgLTEyLDEzMC40NyAtNTAuNCwxNzguODIgLTM4LjQsNDguMzUgLTEzNi4yLDYwLjkzIC0xODAuMSwxMTEuMjcgLTQzLjksNTAuMzQgLTUyLjUsMTI3LjYgLTgzLjUsMTkwLjc0IC0zMC45LDYzLjE1IC03OS4yLDEzOC40MyAtMTAxLjksMTg4LjEgLTIyLjgsNDkuNjcgLTMzLjYsNjguNjYgLTM0LjUsMTA5Ljk0IC0wLjksNDEuMjkgLTQuMiw5OS4zNSAyOS4yLDEzNy43NiAzMy4zLDM4LjQyIDEyMi43LDUzLjg3IDE3MC44LDkyLjczIDQ4LjIsMzguODUgNzcuMSwxMDkuMDYgMTE3LjksMTQwLjQxIDQwLjksMzEuMzQgNzcuNSwyNC43MiAxMjcuMiw0Ny42OCA0OS42LDIyLjk2IDEyMCw3NC44OSAxNzAuOCw5MC4wOCA1MC45LDE1LjE4IDY3LjEsLTg5LjI2IDEzNC40LDEuMDQgNjcuMyw5MC4yOSAxNTYuNSw0My4wNiAxOTguMSw4Ny43IDQxLjYsNDQuNjUgMjAuMywxMzIuOTEgNTEuNywxODAuMTUgMzEuMyw0Ny4yNSAxMDAuOCw1OC4wNyAxMzYuNCwxMDMuMzIgMzUuNSw0NS4yNiAzMC4yLDE2OS41NSA3Ni44LDE2OC4yMyA2Mi41LC0xLjc3IDE0My4zLC0xNTguNzMgMjAyLjcsLTE3OC44MiA1OS40LC0yMC4wOSAxMTQuNSw2Mi4yNSAxNTMuNiw1OC4yOCAzOS4xLC0zLjk3IDM5LjMsLTUzLjQzIDgwLjgsLTgyLjEzIDQxLjUsLTI4LjcgMTI0LjMsLTQzLjA1IDE2OC4yLC05MC4wNyA0NCwtNDcuMDIgNjMuNiwtMTMxLjggOTUuNCwtMTkyLjA3IDMxLjgsLTYwLjI3IDUuNSwtMTE1LjQ2IDk1LjQsLTE2OS41NSA4OS44LC01NC4wOSAxMDMuMyw3MS43NSAxNTcuNiwxMS45MiA1NC4zLC01OS44MyAxMzUuNSwtMjcyLjY1IDE2OC4yLC0zNzAuODkgMzIuNywtOTguMjQgLTUuNywtMTY0LjkyIDI3LjgsLTIxOC41NiAzMy42LC01My42NSAxMzguOSwtNDAuNCAxNzMuNSwtMTAzLjMyIDM0LjcsLTYyLjkyIDEyLjIsLTE1MC43OSAzNC41LC0yNzQuMiAyMi4zLC0xMjMuNDEgNjQuOSwtMzU4LjA5IDk5LjMsLTQ2Ni4yNiAzNC41LC0xMDguMTggOTYuMSwtMTAwLjAxIDEwNy4zLC0xODIuOCAxMS4zLC04Mi43OSAtMzEuMSwtMjMwLjcxIC0zOS43LC0zMTMuOTQgLTguNiwtODMuMjMgNTIuNywtMTQ2LjM3IC0xMS45LC0xODUuNDQgLTY0LjcsLTM5LjA4IC0zMjIuNCwtNzUuNzMgLTM3Ni4yLC00OS4wMSAtNTMuOSwyNi43MSAtNTUsMTI1LjE3IDUzLDIwOS4yOSAxMDcuOSw4NC4xMSAtMTc2LjIsMTM1LjExIC0xMjAuNiwyNDcuNyA1NS43LDExMi41OSAtMzQ3LjQsLTE0Ny45MiAtNTIzLjIsLTQ5LjAxIC0xNzUuNyw5OC45IC0xMjQuOSwtNzIuNDQgLTIyMS4yLC00OS4wMSAtMjgxLjIsNjguNDQgLTI3Ni40LC0yNy44MiAtMzY5LjUsLTE3LjIyIC05My4yLDEwLjYgLTExNS41LDQ5LjY3IC0xODkuNCw4MC44IC03NCwzMS4xMyAtMjAyLC0xNS42MiAtMjU0LjMsMTA1Ljk3IC00OCwxMTEuNSAyMjYuNCwyMTAuMTcgMjUwLjMsMzMzLjggelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2ZhZTk5ZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzQ1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTYyNjIuNCw4MjEwLjQxIGMgMTkuNywtNDMuODYgLTc3LC0xMDAuNzYgLTEyMy40LC0xMTUuMzQgLTQ2LjQsLTE0LjU4IC0xMTQuOCw0LjY0IC0xNTUuMiwyNy44NCAtNDAuNSwyMy4yIC03NC4zLDgwLjg3IC04Ny42LDExMS4zNiAtMTMuMywzMC40OSAtMi43LDYyLjk3IDgsNzEuNTggMTAuNiw4LjYyIDIxLjIsNC42NCA1NS43LC0xOS44OCAzNC41LC0yNC41MyAxMDAuOCwtMTE0LjY3IDE1MS4yLC0xMjcuMjcgNTAuNSwtMTIuNTkgMTM2LDg1Ljg0IDE1MS4zLDUxLjcxIHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNmNGNjMWVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM0NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE3MDU3LjIsODQwOC45OSBjIC0yMS4yLDAuNjYgLTEwMi42LC0yMC41MiAtMTIzLjIsLTYzLjU0IC0yMC41LC00My4wMiAtMTMuOSwtMTEzLjE3IDAsLTE5NC41NyAxMy45LC04MS40MSA1Ny43LC0yNDguODUgODMuNSwtMjkzLjg1IDI1LjgsLTQ1LjAxIDU5LjYsLTMuOTcgNzEuNSwyMy44MiAxMS45LDI3LjggMy4zLDEwMS4yNiAwLDE0Mi45NiAtMy4zLDQxLjY5IC0zMi40LDgwLjA4IC0xOS44LDEwNy4yMSAxMi41LDI3LjEzIDY0LjksNDUgOTUuMyw1NS41OSAzMC41LDEwLjU5IDQzLjcsMTAuOTIgODcuNSw3Ljk0IDQzLjcsLTIuOTcgMTYzLjksLTc4LjQ5IDE3NC44LC0yNS44MSAxOS4yLDkyLjQzIC0yMDAuNyw4MS4wOCAtMjU4LjMsOTcuMjkgLTU3LjYsMTYuMjIgLTY5LjUsLTEyLjU3IC04Ny40LDAgLTE3LjksMTIuNTggLTE1LjMsNTIuMjkgLTE5LjksNzUuNDUgLTQuNiwyMy4xNiAxNy4yLDY2Ljg0IC00LDY3LjUxIHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNmNGNjMWVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM0N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE2OTc3LjQsNzE5My4xIGMgLTYuNiwtNTEuNjMgNjUuNiwtMTkwLjQ1IDE2LC0yMTYuNDIgLTMwLjIsLTE1Ljc2IC05NC45LDgzLjA2IC0xMjcuNCwxNDAuOTcgLTMyLjYsNTcuOTEgLTcxLjcsMTU4LjE3IC02Ny43LDIwNi40OSA0LDQ4LjMxIDU5LjcsNTYuMjUgOTEuNSw4My4zOSAzMS45LDI3LjEzIDYyLjQsODEuNCA5OS42LDc5LjQyIDM3LjEsLTEuOTkgMTE4LjgsLTYxLjU1IDEyMy40LC05MS4zMyA0LjYsLTI5Ljc5IC03MywtNTMuNjEgLTk1LjYsLTg3LjM3IC0yMi41LC0zMy43NSAtMzMuMSwtNjMuNTMgLTM5LjgsLTExNS4xNSB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZjRjYzFlXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNDhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxNzQzOC4zLDc4MzIuNjcgYyAtMjIuNiw3Ljk0IC0xMTEuNCwxLjMyIC0xMzkuMywtMTUuODggLTI3LjgsLTE3LjIgLTM2LjQsLTY0Ljg0IC0yNy44LC04Ny4zMyA4LjYsLTIyLjUgNTEsLTI3Ljc5IDc5LjYsLTQ3LjY0IDI4LjUsLTE5Ljg0IDU5LjYsLTUyLjkyIDkxLjQsLTcxLjQ1IDMxLjksLTE4LjUyIDYzLjcsLTMxLjA5IDk5LjUsLTM5LjY5IDM1LjgsLTguNiA4NS41LC0zLjMxIDExNS4zLC0xMS45MSAyOS45LC04LjYgNDkuMSwtMTcuNTQgNjMuNywtMzkuNyAxNC41LC0yMi4xNiAtMzEuOSwtMTA4LjUgMjMuOCwtOTMuMjggNTUuNywxNS4yMSA5LjMsMTIxLjQgMTIsMTYwLjc2IDIuNiwzOS4zNyAtMiw1My41OSAzLjksNzUuNDMgNiwyMS44MyAzNy44LDM4LjM3IDMxLjksNTUuNTcgLTYsMTcuMiAtMjkuMiw1MS42IC02Ny43LDQ3LjYzIC0zOC40LC0zLjk3IC0xMjAuOSwtNTMuOTIgLTE2MywtNzEuNDUgLTQyLjEsLTE3LjUzIC02OC4zLC00Ni4zMSAtODkuNSwtMzMuNzQgLTIxLjIsMTIuNTcgLTMyLjIsODAuMzggLTM3LjgsMTA5LjE2IC01LjcsMjguNzggMjYuNSw1NS41OCA0LDYzLjUyIHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNmNGNjMWVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM0OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE3MjQ4LDcwMjIuNTggYyAwLC0yMC41IC0zNS43LC0yOS43NSAtNTUuNiwtMjMuOCAtMTkuOSw1Ljk1IC00MywyOC40MyAtNjMuNiw1OS41MSAtMjAuNSwzMS4wOCAtNjMuNSw5Ny44NiAtNTkuNSwxMjYuOTYgMy45LDI5LjA5IDU4LjIsNDUuNjIgODMuNCw0Ny42MSAyNS4xLDEuOTggNjAuOSwtMTcuMTkgNjcuNSwtMzUuNzEgNi42LC0xOC41MSAtMzIuNCwtNDYuMjkgLTI3LjgsLTc1LjM4IDQuNiwtMjkuMSA1NS42LC03OC42OSA1NS42LC05OS4xOSB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZjRjYzFlXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNTBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxNjQ3Ny4xLDg5MzcuMTggYyAxMy4yLC0zOS42NiA4Mi42LC0xNDAuODIgOTEuMiwtMTkwLjQgOC42LC00OS41OSAtNDEuNywtNzguMDEgLTM5LjcsLTEwNy4xIDIsLTI5LjA5IDIzLjgsLTYzLjQ3IDUxLjYsLTY3LjQ0IDI3LjcsLTMuOTcgODUuOCw0Mi4zMSAxMTQuOSw0My42NCAyOS4xLDEuMzIgNDQuOSwtNTIuMjMgNTkuNSwtMzUuNzEgMTQuNSwxNi41MyA0OC44LDEwMS44MiAyNy43LDEzNC44NyAtMjEuMSwzMy4wNiAtMTIyLjksMjEuMTYgLTE1NC42LDYzLjQ3IC0zMS43LDQyLjMyIC0xMi41LDE1Ni4wMyAtMzUuNywxOTAuNDEgLTIzLjEsMzQuMzggLTgzLjksMjEuODEgLTEwMywxNS44NiAtMTkuMiwtNS45NSAtMjUuMSwtNy45MyAtMTEuOSwtNDcuNiB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZjRjYzFlXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNTFcIiAvPlxuICAgICAgICAgICAgICAgey8qIE1MSDFkbiAqL31cbiAgICAgICAgICAgICAgIDxhPlxuICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCInQWN1bWluIFBybycsICdBY3VtaW4gUHJvX01TRm9udFNlcnZpY2UnLCBzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9XCI0MDBcIlxuICAgICAgICAgICAgICAgZm9udFNpemU9XCI0NDBweFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTU5MzMuNyw5OTcxKVwiXG4gICAgICAgICAgICAgICBpZD1cInRleHQzNTFcIj5NTEgxZG48L3RleHQ+XG4gICAgICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMy42MDg5MmUtNCw2ODcuOTk3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1NVwiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxNjc0MC41LDk1MzIuNSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzUyXCIgLz5cbiAgICAgICAgICAgICAgIHsvKiBMYSgxLTE5NCkgKi99XG4gICAgICAgICAgICAgICA8YT5cbiAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBmb250RmFtaWx5PVwiJ0FjdW1pbiBQcm8nLCAnQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlJywgc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICBmb250V2VpZ2h0PVwiNDAwXCJcbiAgICAgICAgICAgICAgIGZvbnRTaXplPVwiNDQwcHhcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDc5MTguMzYsOTUwMilcIlxuICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MzUyXCI+TGEoMTwvdGV4dD48dGV4dFxuICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIidBY3VtaW4gUHJvJywgJ0FjdW1pbiBQcm9fTVNGb250U2VydmljZScsIHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgZm9udFdlaWdodD1cIjQwMFwiXG4gICAgICAgICAgICAgICBmb250U2l6ZT1cIjQ0MHB4XCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4NzEwLjIzLDk1MDIpXCJcbiAgICAgICAgICAgICAgIGlkPVwidGV4dDM1M1wiPi08L3RleHQ+PHRleHRcbiAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCInQWN1bWluIFBybycsICdBY3VtaW4gUHJvX01TRm9udFNlcnZpY2UnLCBzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9XCI0MDBcIlxuICAgICAgICAgICAgICAgZm9udFNpemU9XCI0NDBweFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoODg3My4zLDk1MDIpXCJcbiAgICAgICAgICAgICAgIGlkPVwidGV4dDM1NFwiPjE5NCk8L3RleHQ+XG4gICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMTA1NDMsNzQ0Ny41IEggOTY4NS41XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1NVwiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM1NFwiIC8+XG4gICAgICAgICAgICAgICB7LyogUEU2YyByZXZlcnNlIHRyYW5zY3JpcHRhc2UgKi99XG4gICAgICAgICAgICAgICA8YT5cbiAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBmb250RmFtaWx5PVwiJ0FjdW1pbiBQcm8nLCAnQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlJywgc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICBmb250V2VpZ2h0PVwiNDAwXCJcbiAgICAgICAgICAgICAgIGZvbnRTaXplPVwiNDQwcHhcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDcxMTcuMDcsNzMzNilcIlxuICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MzU1XCI+UEU2YyByZXZlcnNlIDwvdGV4dD48dGV4dFxuICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIidBY3VtaW4gUHJvJywgJ0FjdW1pbiBQcm9fTVNGb250U2VydmljZScsIHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgZm9udFdlaWdodD1cIjQwMFwiXG4gICAgICAgICAgICAgICBmb250U2l6ZT1cIjQ0MHB4XCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg3MTM5LjQzLDc4NjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwidGV4dDM1NlwiPnRyYW5zY3JpcHRhc2U8L3RleHQ+XG4gICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDgwNi4yNjcsMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsMTA0OTAuOCw4NTA5LjUpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM1NlwiIC8+XG4gICAgICAgICAgICAgICB7LyogUENTL1JUVCAqL31cbiAgICAgICAgICAgICAgIDxhPlxuICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCInQWN1bWluIFBybycsICdBY3VtaW4gUHJvX01TRm9udFNlcnZpY2UnLCBzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9XCI0MDBcIlxuICAgICAgICAgICAgICAgZm9udFNpemU9XCI0NDBweFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNzgwMi41OSw4NjY3KVwiXG4gICAgICAgICAgICAgICBpZD1cInRleHQzNTdcIj5QQ1MvUlRUPC90ZXh0PlxuICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA0MzI0LjAyLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0xLDAsMCwxLDE0MzMwLjUsMTAxNTYuNSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwZWdSTkFzY2FmZm9sZFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyMDQ2Ljc5LDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0xLDAsMCwxLDExOTMzLjMsOTM0My41KVwiXG4gICAgICAgICAgICAgICBpZD1cIkxhbGluZVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEzNTg0LDExODIwLjUgSCAxMTc5MC41XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1NVwiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM1OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAzOTM0Ljg0LDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0xLDAsMCwxLDEzNzA4LjMsMTEwMTEuNSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJzcGFjZXJsaW5lXCIgLz5cbiAgICAgICAgICAgICAgIHsvKiBTcGFjZXIgKi99XG4gICAgICAgICAgICAgICA8YT5cbiAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBmb250RmFtaWx5PVwiJ0FjdW1pbiBQcm8nLCAnQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlJywgc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICBmb250V2VpZ2h0PVwiNDAwXCJcbiAgICAgICAgICAgICAgIGZvbnRTaXplPVwiNDQwcHhcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDgyODMuODEsMTExNjYpXCJcbiAgICAgICAgICAgICAgIGlkPVwidGV4dDM2MFwiPlNwYWNlcjwvdGV4dD5cbiAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgIHsvKiBuUGxtQ2FzWCAqL31cbiAgICAgICAgICAgICAgIDxhPlxuICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCInQWN1bWluIFBybycsICdBY3VtaW4gUHJvX01TRm9udFNlcnZpY2UnLCBzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9XCI0MDBcIlxuICAgICAgICAgICAgICAgZm9udFNpemU9XCI0NDBweFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTY3My41LDExOTcwKVwiXG4gICAgICAgICAgICAgICBpZD1cInRleHQzNjFcIj5uUGxtQ2FzWDwvdGV4dD5cbiAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSA3NzIzLjQ0LDg1MTQuNSBIIDI4MDguNVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNjFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzMjE4LjcyLDkwMDIuNjYgYyAtNC43NiwtMjIuMSAyMC4xMywtMzguNzMgOS4xOSwtNjEuMTIgNi41OCwtMjMuNCAzOS4xNSwtNTYuMzQgMzAuMjcsLTc5LjI2IC04Ljg3LC0yMi45MyAtNTMuMjcsLTQ2LjYgLTgzLjUxLC01OC4zIC0zMC4yNCwtMTEuNjkgLTcyLjQ1LC0yMi42IC05Ny45MiwtMTEuODYgLTI1LjQ3LDEwLjc1IC0yLjM2LDc4LjE2IC01NC45MSw3Ni4zNCAtNTIuNTYsLTEuODIgLTQ3LjAyLDMzLjY3IC0xNy42Nyw4MSAyOS4zNSw0Ny4zMyAtMzcuNzksODYuNzEgLTU2LjIxLDEwMi4xNSAtMTguNDIsMTUuNDQgLTQzLjMyLDExLjc4IC02Mi4xOSw2MS40NCAtMTguODYsNDkuNjcgLTY3LjUsMTYuNjcgLTkzLjA1LC0yLjUzIC0yNS41NSwtMTkuMTkgLTE0LjA4LC02OC4wOSAtNjAuMjcsLTExMi42NCAtNi4wNSwtMzQuNzQgMjguNTcsLTY0LjU5IDkuNDMsLTg1LjAxIC0xOS4xNCwtMjAuNDIgLTgzLjI5LC01NS42NiAtMTI0LjI2LC0zNy40OSAtNDAuOTcsMTguMTYgLTk3LjMzLC00MS43NSAtMTQxLjYxLC0zOC4zIC00NC4yOCwzLjQ1IC05Mi4xOSwzNi43IC0xMjQuMDksNTguOTYgLTMxLjksMjIuMjcgLTY0LjEsMzEuNTYgLTY3LjMxLDc0LjYxIC0yLjA0LDI3LjQxIC0yMC45NSwzMS4yMiAtMjkuNjQsNTcuNzEgLTguNywyNi40OSAtNjkuMTYsMzkuMTEgLTIyLjUzLDEwMS4yMiA0Ni42Myw2Mi4xMSAtMzguNjMsMTE4LjE1IC0zNi4zNywxNTEuMTQgMi4yNSwzMi45OSAzMi42LDE5Ljc3IDQ2Ljg1LDMyLjg0IDE0LjI1LDEzLjA3IC01Ljk5LDM4LjU1IDcuMzMsNTguMDcgMTMuMzEsMTkuNTIgODMuNDksMi4xIDEwOC4yOSwxNy43NCAyNC44LDE1LjY1IDMwLjU5LDU3LjM3IDQwLjUsNzYuMTMgOS45MSwxOC43NiA5Ljg2LDI0LjYyIDE4Ljk3LDM2LjQzIDkuMSwxMS44MSAzMS42MSwxNy4xIDQzLjIzLDI2LjU5IDExLjYzLDkuNDkgNS43NywzMi41NyAxOS43Miw0MS42OCAxMy45NCw5LjEgNDAuMjIsMy44OSA2My45OCwxMi45NSAyMy43Niw5LjA2IDUxLjE2LC0xLjM2IDY3LjM5LDQuNDMgMTYuMjMsNS44IC0xNi41OCwtODIuMTYgNTguMjcsLTM2LjA3IDkuNzIsMTAuNzYgNS4xNSw0Mi4yMSAyNC4wNCw2OC42OSAxOC45LDI2LjQ5IDYxLjUyLDg2Ljc4IDg5LjMzLDkwLjIgMjcuODEsMy40MiA4NC41LDIwLjM4IDc3LjUyLC02OS42NyAtMS41NSwtMTkuODggLTYuNDQsLTUxLjgyIDEzLjU1LC0yNi44OCAxOS45OSwyNC45MyA2Ljc5LDQ3LjU0IDI4LjQ4LDUwLjIzIDIxLjY4LDIuNyA3Mi4xNiwtMzAuNzEgMTAxLjYyLC0zNC4wOCAyOS40NywtMy4zNiA0MC4zMSw0LjI3IDc1LjE4LDEzLjkyIDM0Ljg2LDkuNjQgOTAuMDUsNDIuMTYgMTMzLjk5LDQzLjkzIDQzLjk0LDEuNzcgNjguNCwtNDIgNjkuNDMsLTY4LjAyIDQuOTIsLTEyMy44MiAzNy42MiwtNjEuNjIgNTQuMzIsLTk1LjkyIDE2LjcxLC0zNC4yOSA1Ny4wNCw5LjI4IDQ1LjkxLC0xMDkuODMgLTExLjEzLC0xMTkuMTEgLTg3LjcsLTc1LjAzIC05MS4zMiwtMTA0LjU0IC0zLjYzLC0yOS41MSA3MS4zNSwtMjkuMzQgNjkuNTUsLTcyLjU0IC0yLjMxLC01NS4zMyAtMTE1LjU1LC00MS43OSAtOTAuNTgsLTc4LjggMTguMSwtMjYuODMgLTE5LjQ2LC00NC42IC0xNS4xOSwtODQuMDggNC4yNiwtMzkuNDggLTMyLjk2LC00OS4zNyAtMzcuNzEsLTcxLjQ2IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlM2JhMGJcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM2MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDI5NjUuNjYsOTE0Ni4yNCBjIC04Ljc0LDE1LjI2IC00Mi44NCwzNy42MSAtMzYuMzcsNDYuNyA2LjQ4LDkuMDkgNTcuNjQsMTUuMTYgNzUuMjEsNy44NCAxNy41NywtNy4zMyAyMy4yMywtMzIuNDUgMzAuMjIsLTUxLjc5IDYuOTgsLTE5LjM1IDguNDMsLTQxLjA0IDExLjY5LC02NC4yOSAzLjI2LC0yMy4yNSAxNC41NCwtNjcuNTQgNy44NCwtNzUuMiAtNi42OSwtNy42NyAtMzUuOTIsMTMuOSAtNDguMDEsMjkuMjEgLTEyLjA5LDE1LjMyIC0xNy43Nyw0NC43NiAtMjQuNTQsNjIuNjggLTYuNzYsMTcuOTIgLTcuOTEsMjkuOTEgLTE2LjA0LDQ0Ljg1IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNkYmIzMGJcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM2M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDI3OTEuODYsOTU1My4yOCBjIC0wLjcxLC0xNC40OCAzLjQxLC00MC44IC03LjUxLC02My4wMyAtMTAuOTEsLTIyLjI0IC0zOC45LC01Mi4yNyAtNTcuOTgsLTcwLjQgLTE5LjA5LC0xOC4xMiAtNDYuNzYsLTQ3LjU0IC01Ni41MiwtMzguMzcgLTkuNzUsOS4xNyAtMy44NCw2OC4yNyAtMi4wMyw5My40MSAxLjgyLDI1LjE0IDAuMzEsNDMuNDggMTIuOTEsNTcuNDUgMTIuNiwxMy45NyA0NC43MywxOC45IDYyLjcxLDI2LjM3IDE3Ljk4LDcuNDYgMzcuMTEsMTkuMzMgNDUuMTgsMTguNDMgOC4wNywtMC45IDMuOTUsLTkuMzggMy4yNCwtMjMuODYgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2RiYjMwYlwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzY0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjU0Ni4yOCw5MjQwLjUyIGMgMjcuMjksLTEuNTcgNDkuOCwtMzUuNTYgNTguNzksLTU2LjU2IDguOTgsLTIxLjAxIC0wLjU1LC00OC41MSAtNC44OCwtNjkuNDkgLTQuMzMsLTIwLjk4IC0xOC41MywtMzguNTkgLTIxLjEzLC01Ni4zOSAtMi42LC0xNy44MSAxMi4yNCwtMzMuNDggNS41MywtNTAuNDUgLTYuNywtMTYuOTcgLTI5LjEzLC00My4xMyAtNDUuNzUsLTUxLjM4IC0xNi42MywtOC4yNSAtNDEuNDksLTcuNjcgLTUzLjk4LDEuODYgLTEyLjUsOS41MyAtMjEuNiwzOS4xMyAtMjEuMDEsNTUuMjkgMC41OSwxNi4xNyAyMC43NiwyNi45NSAyNC41Myw0MS42OSAzLjc3LDE0LjczIC00LjMsMzMuMyAtMS45Myw0Ni43MiAyLjM3LDEzLjQyIDIzLjY4LDE4LjUyIDE2LjE1LDMzLjc4IC03LjUyLDE1LjI2IC03NC4zNiw0My42NiAtNjEuMjksNTcuNzcgMTMuMDYsMTQuMTIgNzcuNjcsNDguNzIgMTA0Ljk3LDQ3LjE2IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNkYmIzMGJcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM2NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDIzNTguNDcsODk1NC44MyBjIDExLjQyLDcuNDIgMzUuNjMsMTMuNzEgNDAuOSwzNS45IDUuMjcsMjIuMTggLTMuMjIsNzcuNTYgLTkuMjgsOTcuMiAtNi4wNywxOS42NCAtMjEuMiwyNi45MiAtMjcuMTEsMjAuNjEgLTUuOSwtNi4zIC0wLjA3LC0zOS4zNiAtOC4zNCwtNTguNDQgLTguMjcsLTE5LjA4IC0zNy4zLC0zOC43MSAtNDEuMjYsLTU2LjA0IC0zLjk3LC0xNy4zMiAxMC4xMSwtNDEuMjIgMTcuNDcsLTQ3LjkxIDcuMzYsLTYuNjkgMTYuMiwxLjI1IDI3LjYyLDguNjggelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2RiYjMwYlwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzY2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDQ4MDcuMDksMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsNzg0OS41OSw5MzQzLjUpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM2N1wiIC8+PC9nPjwvc3ZnPlxuICAgICAgICBcbik7XG5cbiAgICBcbn0iLCAiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBiaWJ0ZXhQYXJzZSBmcm9tICdiaWJ0ZXgtcGFyc2VyLWpzJztcblxuaW50ZXJmYWNlIEJpYkVudHJ5IHtcbiAgRU5UUllUWVBFOiBzdHJpbmc7XG4gIFRJVExFPzogc3RyaW5nO1xuICBBVVRIT1I/OiBzdHJpbmc7XG4gIGpvdXJuYWw/OiBzdHJpbmc7XG4gIHZvbHVtZT86IHN0cmluZztcbiAgcGFnZXM/OiBzdHJpbmc7XG4gIHllYXI/OiBzdHJpbmc7XG4gIGRvaT86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5pbnRlcmZhY2UgQmlidGV4UGFyc2VyUHJvcHMge1xuICBiaWJ0ZXhTb3VyY2VzOiBzdHJpbmdbXTsgLy8gQWNjZXB0IGFuIGFycmF5IG9mIEJpYlRlWCBzdHJpbmdzXG4gIHNwZWNpYWw/OiBzdHJpbmdcbn1cblxuXG5mdW5jdGlvbiBmb3JtYXRQYWdlcyhwYWdlczogc3RyaW5nIHwgdW5kZWZpbmVkKTogSlNYLkVsZW1lbnQgfCBudWxsIHtcbiAgICAvLyBDaGVjayBpZiBwYWdlcyBpcyBwcm92aWRlZCBhbmQgaXMgYSBub24tZW1wdHkgc3RyaW5nXG4gICAgaWYgKHBhZ2VzICYmIHBhZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgLy8gQ2hlY2sgZm9yIGNvbW1vbiBwYWdlIHJhbmdlIHNlcGFyYXRvcnNcbiAgICAgICAgY29uc3QgcGFnZVJhbmdlUmVnZXggPSAvLS18LXxcdTIwMTN8XHUwMEUyXHUyMEFDXHUyMDFDLzsgLy8gUmVnRXggdG8gbWF0Y2ggdmFyaW91cyBkYXNoIHR5cGVzXG4gICAgICAgIGlmIChwYWdlUmFuZ2VSZWdleC50ZXN0KHBhZ2VzKSkge1xuICAgICAgICAgICAgY29uc3QgcGFnID0gcGFnZXMuc3BsaXQocGFnZVJhbmdlUmVnZXgpLm1hcChwID0+IHAudHJpbSgpKTtcbiAgICAgICAgICAgIGNvbnN0IGJlZ2luID0gcGFnWzBdO1xuICAgICAgICAgICAgY29uc3QgZW5kID0gcGFnWzFdO1xuXG4gICAgICAgICAgICAvLyBSZXR1cm4gZm9ybWF0dGVkIEpTWFxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAsJm5ic3A7PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+e2JlZ2lufTwvc3Bhbj4tPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUVuZFwiPntlbmR9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmICgvXlxcZCsoLVxcZCspPyQvLnRlc3QocGFnZXMpKSB7XG4gICAgICAgICAgICAvLyBJZiBwYWdlcyBpcyBhIHNpbmdsZSBudW1lcmljIHJhbmdlLCByZXR1cm4gaXQgZGlyZWN0bHlcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAsJm5ic3A7PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+e3BhZ2VzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBIYW5kbGUgbm9uLW51bWVyaWMgcGFnZSBpbmZvXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYE5vbi1udW1lcmljIHBhZ2UgaW5mb3JtYXRpb24gZGV0ZWN0ZWQgKCcke3BhZ2VzfScpLiBUcmVhdGluZyBhcyBtaXNzaW5nLmApO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7IC8vIFJldHVybiBudWxsIGlmIGludmFsaWRcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcIlNvcnJ5LCBubyBwYWdlIGluZm9ybWF0aW9uLlwiKTtcbiAgICAgICAgcmV0dXJuIG51bGw7IC8vIFJldHVybiBudWxsIGlmIG5vIHBhZ2UgaW5mb1xuICAgIH1cbn1cblxuXG5leHBvcnQgY29uc3QgQmlidGV4UGFyc2VyOiBSZWFjdC5GQzxCaWJ0ZXhQYXJzZXJQcm9wcz4gPSAoeyBiaWJ0ZXhTb3VyY2VzICwgc3BlY2lhbH0pID0+IHtcbiAgY29uc3QgW3BhcnNlZEVudHJpZXMsIHNldFBhcnNlZEVudHJpZXNdID0gdXNlU3RhdGU8QmliRW50cnlbXT4oW10pO1xuXG4gIC8vIFBhcnNlIEJpYlRlWCBvbiBjb21wb25lbnQgbW91bnQgb3Igd2hlbiBzb3VyY2VzIGNoYW5nZVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnNvbGUubG9nKFwiUGFyc2luZyBCaWJUZVggc291cmNlczogXCIsIGJpYnRleFNvdXJjZXMpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFsbEVudHJpZXM6IEJpYkVudHJ5W10gPSBbXTtcbiAgICAgIGJpYnRleFNvdXJjZXMuZm9yRWFjaCgoYmlidGV4KSA9PiB7XG4gICAgICAgLy8gY29uc29sZS5sb2coYFBhcnNpbmcgQmliVGVYIGVudHJ5ICMke2luZGV4ICsgMX06IGAsIGJpYnRleCk7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGJpYnRleFBhcnNlLnRvSlNPTihiaWJ0ZXgpO1xuICAgICAgIC8vIGNvbnNvbGUubG9nKGBQYXJzZWQgZW50cnk6IGAsIHBhcnNlZCk7XG4gICAgICAgIGFsbEVudHJpZXMucHVzaCguLi5wYXJzZWQpO1xuICAgICAgfSk7XG4gICAgICBzZXRQYXJzZWRFbnRyaWVzKGFsbEVudHJpZXMpO1xuICAgICAgLy9jb25zb2xlLmxvZyhcIkFsbCBwYXJzZWQgZW50cmllczogXCIsIGFsbEVudHJpZXMpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgIC8vIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBwYXJzaW5nIEJpYlRlWDogXCIsIGVycm9yKTtcbiAgICAgIGFsZXJ0KFwiQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcGFyc2luZyB0aGUgQmliVGVYIGVudHJpZXMuIFBsZWFzZSBjaGVjayB0aGUgZm9ybWF0LlwiICsgYmlidGV4U291cmNlcyk7XG4gICAgfVxuICB9LCBbYmlidGV4U291cmNlc10pO1xuXG4gIC8vIEhlbHBlciBmdW5jdGlvbiB0byByZW5kZXIgQVVUSE9SU1xuICBjb25zdCBmb3JtYXRBdXRob3JzID0gKGF1dGhvcnM6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgY29uc29sZS5sb2coXCJPcmlnaW5hbCBpbnB1dDpcIiwgYXV0aG9ycyk7XG5cbiAgICAvLyBCZXJlaW5pZ2VuIGRlcyBFaW5nYWJlc3RyaW5ncyB1bmQgRXJzZXR6ZW4gdm9uIFwiYW5kXCIgZHVyY2ggXCJ8XCJcbiAgICBjb25zdCBjbGVhbmVkQXV0aG9ycyA9IGF1dGhvcnNcbiAgICAgICAgLnJlcGxhY2UoL1xccyphbmRcXHMqL2csIFwifFwiKSAvLyBcImFuZFwiIGR1cmNoIFwifFwiIGVyc2V0emVuXG4gICAgICAgIC5yZXBsYWNlKC9cXHt8XFx9L2csIFwiXCIpICAgICAgLy8gZ2VzY2h3ZWlmdGUgS2xhbW1lcm4gZW50ZmVybmVuXG4gICAgICAgIC50cmltKCk7XG4gICAgXG4gICAgY29uc29sZS5sb2coXCJDbGVhbmVkIGF1dGhvcnMgc3RyaW5nOlwiLCBjbGVhbmVkQXV0aG9ycyk7XG5cbiAgICAvLyBBdXRvcmVuIGluIGVpbiBBcnJheSBhdWZ0ZWlsZW5cbiAgICBjb25zdCBhdXRob3JMaXN0ID0gY2xlYW5lZEF1dGhvcnMuc3BsaXQoXCJ8XCIpLm1hcChhdXRob3IgPT4gYXV0aG9yLnRyaW0oKSk7XG4gICAgY29uc29sZS5sb2coXCJTcGxpdCBhdXRob3IgbGlzdDpcIiwgYXV0aG9yTGlzdCk7XG5cbiAgICAvLyBNYXhpbWFsZSBBbnphaGwgZGVyIGFuenV6ZWlnZW5kZW4gQXV0b3JlblxuICAgIGNvbnN0IG1heEF1dGhvcnMgPSA3O1xuXG4gICAgLy8gRm9ybWF0aWVyZSBqZWRlbiBBdXRvclxuICAgIGNvbnN0IGZvcm1hdHRlZEF1dGhvcnMgPSBhdXRob3JMaXN0Lm1hcCgoYXV0aG9yLCBpbmRleCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhgUHJvY2Vzc2luZyBhdXRob3IgIyR7aW5kZXggKyAxfTpgLCBhdXRob3IpO1xuXG4gICAgICAgIC8vIE5hY2huYW1lIHVuZCBWb3JuYW1lbiBhdWZ0ZWlsZW5cbiAgICAgICAgY29uc3QgW2xhc3QsIGZpcnN0TmFtZXNdID0gYXV0aG9yLmluY2x1ZGVzKFwiLFwiKSA/IFxuICAgICAgICAgICAgYXV0aG9yLnNwbGl0KFwiLFwiKS5tYXAocGFydCA9PiBwYXJ0LnRyaW0oKSkgOlxuICAgICAgICAgICAgWycnLCBhdXRob3JdOyAvLyBXZW5uIGtlaW4gS29tbWEgdm9yaGFuZGVuIGlzdCwgd2lyZCBkZXIgZ2VzYW10ZSBOYW1lIGFscyBWb3JuYW1lIGJlaGFuZGVsdFxuXG4gICAgICAgIGNvbnNvbGUubG9nKGBMYXN0IG5hbWU6IFwiJHtsYXN0fVwiLCBGaXJzdCBuYW1lczogXCIke2ZpcnN0TmFtZXN9XCJgKTtcblxuICAgICAgICAvLyBJbml0aWFsZW4gZlx1MDBGQ3IgVm9ybmFtZW4gZXJzdGVsbGVuXG4gICAgICAgIGNvbnN0IGluaXRpYWxzID0gZmlyc3ROYW1lcy5zcGxpdCgnICcpLm1hcChuID0+IG5bMF0gKyAnLicpLmpvaW4oJyAnKTsgXG4gICAgICAgIGNvbnNvbGUubG9nKGBJbml0aWFscyBmb3IgXCIke2ZpcnN0TmFtZXN9XCI6IFwiJHtpbml0aWFsc31cImApO1xuXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZE5hbWUgPSBgJHtsYXN0fSwgJHtpbml0aWFsc31gLnRyaW0oKTsgLy8gUlx1MDBGQ2NrZ2FiZSBkZXMgZm9ybWF0aWVydGVuIE5hbWVuc1xuICAgICAgICBjb25zb2xlLmxvZyhgRm9ybWF0dGVkIG5hbWU6IFwiJHtmb3JtYXR0ZWROYW1lfVwiYCk7XG5cbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZE5hbWU7XG4gICAgfSk7XG5cbiAgICBjb25zb2xlLmxvZyhcIkZvcm1hdHRlZCBhdXRob3JzIGJlZm9yZSBhZGRpbmcgZXQgYWwuOlwiLCBmb3JtYXR0ZWRBdXRob3JzKTtcblxuICAgIC8vIEtvbWJpbmllcmUgZGllIGZvcm1hdGllcnRlbiBBdXRvcmVuIG1pdCBrb3JyZWt0ZXIgSW50ZXJwdW5rdGlvblxuICAgIGNvbnN0IG91dHB1dCA9IGZvcm1hdHRlZEF1dGhvcnMuc2xpY2UoMCwgbWF4QXV0aG9ycykuam9pbignOyAnKSArIFxuICAgICAgICAgICAgICAgICAgIChmb3JtYXR0ZWRBdXRob3JzLmxlbmd0aCA+IG1heEF1dGhvcnMgPyAnIGV0IGFsLicgOiAnJyk7XG4gICAgXG4gICAgY29uc29sZS5sb2coXCJGaW5hbCBvdXRwdXQ6XCIsIG91dHB1dCk7XG4gICAgcmV0dXJuIG91dHB1dDtcbn07XG5cbiAgbGV0IHNwZWNpYWx0aGluZyA9IFwiXCI7XG5cbiAgaWYgKHNwZWNpYWwpIHtcbiAgICBzcGVjaWFsdGhpbmcgPSBgIyR7c3BlY2lhbH1gOyBcbiAgfVxuXG4gIC8vIEhlbHBlciBmdW5jdGlvbiB0byByZW5kZXIgaW5kaXZpZHVhbCBjaXRhdGlvbnMgYmFzZWQgb24gdGhlaXIgdHlwZVxuICBjb25zdCByZW5kZXJDaXRhdGlvbiA9IChlbnRyeTogQmliRW50cnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgIC8vIGNvbnNvbGUubG9nKGBSZW5kZXJpbmcgY2l0YXRpb24gZm9yIGVudHJ5ICMke2luZGV4ICsgMX06IGAsIGVudHJ5KTtcbiAgICBcbiAgICAvLyBVc2UgdGhlIGluZGV4IGFzIGNpdGF0aW9uIG51bWJlclxuICAgIGNvbnN0IGNpdGF0aW9uTnVtYmVyID0gaW5kZXggKyAxOyBcbiAgICBjb25zdCBlbnRyeVR5cGUgPSBlbnRyeS5lbnRyeVR5cGUudG9Mb3dlckNhc2UoKTsgLy8gQ29udmVydCB0byBsb3dlcmNhc2UgZm9yIGNvbnNpc3RlbnQgY29tcGFyaXNvblxuICAgIGNvbnN0IGVudHJ5VGFncyA9IGVudHJ5LmVudHJ5VGFnczsgLy8gQWRqdXN0IGJhc2VkIG9uIHlvdXIgZGF0YSBzdHJ1Y3R1cmVcbiAgIC8vIGNvbnNvbGUubG9nKFwiRW50cnkgVGFnczogXCIsIGVudHJ5VGFncyk7XG5cbiAgICBzd2l0Y2ggKGVudHJ5VHlwZSkge1xuICAgICAgY2FzZSBcImFydGljbGVcIjpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8bGkga2V5PXtpbmRleH0gdHlwZW9mPVwic2NoZW1hOlNjaG9sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD17YGRlc2MtJHtjaXRhdGlvbk51bWJlcn0ke3NwZWNpYWx0aGluZ31gfT5cbiAgICAgICAgICAgIHsvKiBDaXRhdGlvbiBudW1iZXIgYXMgY29tbWVudCAqL31cbiAgICAgICAgICAgIHsvKjwhLS0gQ2l0YXRpb24gbnVtICR7Y2l0YXRpb25OdW1iZXJ9IC0tPiAqL31cbiAgICAgICAgICAgIHtmb3JtYXRBdXRob3JzKGVudHJ5VGFncy5BVVRIT1IgfHwgZW50cnlUYWdzLkVESVRPUiB8fCBcIlwiKX1cbiAgICAgICAgICAgICZuYnNwOzxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj57ZW50cnlUYWdzLlRJVExFLnJlcGxhY2UoL1s/IS5dL2csICcnKS5yZXBsYWNlKC9cXG4vZywgJyAnKS50cmltKCl9Ljwvc3Bhbj5cbiAgICAgICAgICAgICZuYnNwOzxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj57ZW50cnlUYWdzLkpPVVJOQUx9PC9pPlxuICAgICAgICAgICAgJm5ic3A7PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj57ZW50cnlUYWdzLlZPTFVNRX08L2I+XG4gICAgICAgICAgICB7Zm9ybWF0UGFnZXMoZW50cnlUYWdzLlBBR0VTKSAmJiA8c3Bhbj57Zm9ybWF0UGFnZXMoZW50cnlUYWdzLlBBR0VTKX08L3NwYW4+fVxuICAgICAgICAgICAge2VudHJ5VGFncy5ZRUFSICYmIChcbiAgICAgICAgICAgICAgPHNwYW4+Jm5ic3A7KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPXtlbnRyeVRhZ3MuWUVBUn0+e2VudHJ5VGFncy5ZRUFSfTwvdGltZT4pLjwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7ZW50cnlUYWdzLkRPSSAmJiAoXG4gICAgICAgICAgICAgIDxzcGFuPiZuYnNwOzxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9e2BodHRwczovL2RvaS5vcmcvJHtlbnRyeVRhZ3MuRE9JfWB9PmRvaToge2VudHJ5VGFncy5ET0l9PC9hPjwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKTtcblxuICAgICAgY2FzZSBcImJvb2tcIjpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8bGkga2V5PXtpbmRleH0gdHlwZW9mPVwic2NoZW1hOkJvb2tcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD17YGRlc2MtJHtjaXRhdGlvbk51bWJlcn1gfT5cbiAgICAgICAgICAgIHsvKiBSZW5kZXIgYXV0aG9ycyAqL31cbiAgICAgICAgICAgIHtmb3JtYXRBdXRob3JzKGVudHJ5VGFncy5BVVRIT1IgfHwgZW50cnlUYWdzLkVESVRPUiB8fCBcIlwiKX1cbiAgICAgICAgICAgIHsvKiBSZW5kZXIgdGl0bGUgb3IgYm9va3RpdGxlICovfVxuICAgICAgICAgICAge2VudHJ5VGFncy5USVRMRSA/IChcbiAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO3tlbnRyeVRhZ3MuVElUTEUucmVwbGFjZSgvWz8hLl0vZywgJycpLnJlcGxhY2UoL1xcbi9nLCAnICcpLnRyaW0oKX0uPC9zcGFuPlxuICAgICAgICAgICAgKSA6IGVudHJ5VGFncy5CT09LVElUTEUgPyAoXG4gICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDt7ZW50cnlUYWdzLkJPT0tUSVRMRS5yZXBsYWNlKC9bPyEuXS9nLCAnJykucmVwbGFjZSgvXFxuL2csICcgJykudHJpbSgpfS48L3NwYW4+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYE5vIHRpdGxlIG9yIGJvb2t0aXRsZSBmb3VuZCBmb3IgZW50cnkgJHtjaXRhdGlvbk51bWJlcn1gKVxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHsvKiBSZW5kZXIgcHVibGlzaGVyICovfVxuICAgICAgICAgICAge2VudHJ5VGFncy5QVUJMSVNIRVIgJiYgKFxuICAgICAgICAgICAgICA8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+XG4gICAgICAgICAgICAgICAgJm5ic3A7e2VudHJ5VGFncy5QVUJMSVNIRVJ9XG4gICAgICAgICAgICAgIDwvaT5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7LyogUmVuZGVyIHllYXIgKi99XG4gICAgICAgICAgICB7ZW50cnlUYWdzLllFQVIgJiYgKFxuICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAmbmJzcDsoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9e2VudHJ5VGFncy5ZRUFSfT5cbiAgICAgICAgICAgICAgICAgIHtlbnRyeVRhZ3MuWUVBUn1cbiAgICAgICAgICAgICAgICA8L3RpbWU+KS5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtlbnRyeVRhZ3MuSVNCTiAmJiAoXG4gICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwiaXNiblwiPiZuYnNwO3tlbnRyeVRhZ3MuSVNCTn08L3NwYW4+XG4gICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKTtcblxuICAgICAgY2FzZSBcIm1pc2NcIjpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8bGkga2V5PXtpbmRleH0gdHlwZW9mPVwic2NoZW1hOldlYlBhZ2VcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD17YGRlc2MtJHtjaXRhdGlvbk51bWJlcn1gfT5cbiAgICAgICAgICAgIHsvKiBSZW5kZXIgYXV0aG9ycyAqL31cbiAgICAgICAgICAgIHsoZW50cnlUYWdzLkFVVEhPUiB8fCBlbnRyeVRhZ3MuRURJVE9SIHx8IFwiXCIpfVxuICAgICAgICAgICAgey8qIFJlbmRlciB0aXRsZSAqL31cbiAgICAgICAgICAgIHtlbnRyeVRhZ3MuVElUTEUgJiYgKFxuICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+LiZuYnNwO3tlbnRyeVRhZ3MuVElUTEUucmVwbGFjZSgvWz8hLl0vZywgJycpLnJlcGxhY2UoL1xcbi9nLCAnICcpLnRyaW0oKX0uPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHsvKiBSZW5kZXIgaG93cHVibGlzaGVkICovfVxuICAgICAgICAgICAge2VudHJ5VGFncy5IT1dQVUJMSVNIRUQgJiYgKFxuICAgICAgICAgICAgICA8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+Jm5ic3A7e2VudHJ5VGFncy5IT1dQVUJMSVNIRUR9PC9pPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHsvKiBSZW5kZXIgeWVhciAqL31cbiAgICAgICAgICAgIHtlbnRyeVRhZ3MuWUVBUiAmJiAoXG4gICAgICAgICAgICAgIDxzcGFuPiZuYnNwOyg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT17ZW50cnlUYWdzLllFQVJ9PntlbnRyeVRhZ3MuWUVBUn08L3RpbWU+KS48L3NwYW4+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICk7XG5cbiAgICAgIC8vIEhhbmRsZSBhZGRpdGlvbmFsIGVudHJ5IHR5cGVzIGhlcmVcbiAgICAgIGNhc2UgXCJpbnByb2NlZWRpbmdzXCI6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGxpIGtleT17aW5kZXh9PlxuICAgICAgICAgICAgPHNwYW4+e2Zvcm1hdEF1dGhvcnMoZW50cnlUYWdzLkFVVEhPUiB8fCBcIlwiKX08L3NwYW4+Jm5ic3A7XG4gICAgICAgICAgICA8c3Bhbj57ZW50cnlUYWdzLlRJVExFfTwvc3Bhbj4uIEluIDxpPntlbnRyeVRhZ3MuQk9PS1RJVExFfTwvaT4sJm5ic3A7XG4gICAgICAgICAgICA8Yj57ZW50cnlUYWdzLmVkaXRvcn08L2I+LCB7ZW50cnlUYWdzLllFQVJ9LlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICk7XG5cbiAgICAgIGNhc2UgXCJwaGR0aGVzaXNcIjpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8bGkga2V5PXtpbmRleH0+XG4gICAgICAgICAgICA8c3Bhbj57Zm9ybWF0QXV0aG9ycyhlbnRyeVRhZ3MuQVVUSE9SIHx8IFwiXCIpfTwvc3Bhbj4mbmJzcDtcbiAgICAgICAgICAgIDxzcGFuPntlbnRyeVRhZ3MuVElUTEV9PC9zcGFuPiwgUGhEIHRoZXNpcywge2VudHJ5VGFncy5TQ0hPT0x9LCB7ZW50cnlUYWdzLllFQVJ9LlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICk7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNvbnNvbGUud2FybihgVW5rbm93biBlbnRyeSB0eXBlOiAke2VudHJ5VHlwZX1gKTtcbiAgICAgICAgcmV0dXJuIDxsaSBrZXk9e2luZGV4fT5Vbmtub3duIGVudHJ5IHR5cGU6IHtlbnRyeVR5cGV9PC9saT47XG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIHtwYXJzZWRFbnRyaWVzLmxlbmd0aCA9PT0gMCA/IChcbiAgICAgICAgPHA+Tm8gY2l0YXRpb25zIGF2YWlsYWJsZS48L3A+XG4gICAgICApIDogKFxuICAgICAgICA8b2w+XG4gICAgICAgICAge3BhcnNlZEVudHJpZXMubWFwKChlbnRyeSwgaW5kZXgpID0+IHJlbmRlckNpdGF0aW9uKGVudHJ5LCBpbmRleCkpfVxuICAgICAgICA8L29sPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEJpYnRleFBhcnNlcjtcbiIsICJpbXBvcnQgQmlidGV4UGFyc2VyIGZyb20gXCIuLi9jb21wb25lbnRzL21ha2VTb3VyY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIERlc2NTb3VyY2VzKCl7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8QmlidGV4UGFyc2VyIGJpYnRleFNvdXJjZXM9e2JpYnRleFNvdXJjZXN9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKVxufVxuXG5cbmNvbnN0IGJpYnRleFNvdXJjZXMgPSBbXG4gIGBAYXJ0aWNsZXthcnRpY2xlLCAgIFxuICAgIGF1dGhvcj17Um9kcmlndWVzLCBSb2JlcnRhIGFuZCBHYWJldHRhLCBDYXJtZW4gUy4gYW5kIFBlZHJvLCBLYXJsYSBQLiBhbmQgVmFsZGV0YXJvLCBGYWJpb2FuZCBGZXJuYW5kZXMsIE1hcmlhIEkuIE0uIGFuZCBNYWdhbGhcdTAwRTNlcywgUGF0clx1MDBFRGNpYSBLLiBSLiBhbmQgSmFudVx1MDBFMXJpbywgSm9zXHUwMEU5IE4uLCBNYWNpZWwsIExcdTAwRTlhIE0uIFoufSwgICBcbiAgICB5ZWFyPXsyMDA4fSwgICBcbiAgICBwYWdlcz17NDc1LTQ4NH0sICAgXG4gICAgdGl0bGU9e0N5c3RpYyBmaWJyb3NpcyBhbmQgbmVvbmF0YWwgc2NyZWVuaW5nfSwgICBcbiAgICB2b2x1bWU9ezI0fSwgICBcbiAgICBqb3VybmFsPXtDYWRlcm5vcyBkZSBTYVx1MDBGQWRlIFBcdTAwRkFibGljYX0sICAgXG4gICAgZG9pPXsxMC4xNTkwL1MwMTAyLTMxMVgyMDA4MDAxNjAwMDAyfSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXthcnRpY2xlLCAgIFxuICAgIGF1dGhvcj17RmFycmVsbCwgUGhpbGlwIE0uIGFuZCBSb2NrLCBNaWNoYWVsIEouIGFuZCBCYWtlciwgTWVpIFcufSwgICBcbiAgICB5ZWFyPXsyMDIwfSwgICBcbiAgICBwYWdlcz17NDAxfSwgICBcbiAgICB0aXRsZT17VGhlIEltcGFjdCBvZiB0aGUgQ0ZUUiBHZW5lIERpc2NvdmVyeSBvbiBDeXN0aWMgRmlicm9zaXMgRGlhZ25vc2lzLCBDb3Vuc2VsaW5nLCBhbmQgUHJldmVudGl2ZSBUaGVyYXB5fSwgICBcbiAgICB2b2x1bWU9ezExKDQpfSwgICBcbiAgICBqb3VybmFsPXtHZW5lc30sICAgXG4gICAgZG9pPXsxMC4zMzkwL2dlbmVzMTEwNDA0MDF9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle2FydGljbGUsICAgXG4gICAgYXV0aG9yPXtMdWthY3MsIEdlcmdlbHkgTC4gYW5kIFZlcmttYW4sIEEuIFMufSwgICBcbiAgICB5ZWFyPXsyMDEyfSwgICBcbiAgICBwYWdlcz17ODEtOTF9LCAgIFxuICAgIHRpdGxlPXsgQ0ZUUjogZm9sZGluZywgbWlzZm9sZGluZyBhbmQgY29ycmVjdGluZyB0aGUgXHUwMzk0RjUwOCBjb25mb3JtYXRpb25hbCBkZWZlY3R9LCAgIFxuICAgIHZvbHVtZT17MTgoMil9LCAgIFxuICAgIGpvdXJuYWw9e1RyZW5kcyBpbiBtb2xlY3VsYXIgbWVkaWNpbmV9LCAgIFxuICAgIGRvaT17MTAuMTAxNi9qLm1vbG1lZC4yMDExLjEwLjAwM30gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7RUNGUzIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e0V1cm9wZWFuIEN5c3RpYyBGaWJyb3NpcyBTb2NpZXR5fSwgICBcbiAgICB0aXRsZT17MjAyMiBIaWdobGlnaHQgUmVwb3J0OiBDeXN0aWMgRmlicm9zaXMgaW4gRXVyb3BlLCBGYWN0cyBhbmQgRmlndXJlc30sICAgXG4gICAgeWVhcj17MjAyMn0sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy5lY2ZzLmV1L3NpdGVzL2RlZmF1bHQvZmlsZXMvMjQwNjE5X1BSX0hpZ2hsaWdodHMlMjBSZXBvcnRfcGFnZS5wZGZ9LCAgIFxuICAgIG5vdGU9e1p1Z3JpZmYgYW0gMjcuIFNlcHRlbWJlciAyMDI0fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXthcnRpY2xlLCAgIFxuICAgIGF1dGhvcj17Qm9iYWRpbGxhLCBKLiBMLiBhbmQgTWFja2UgSnIsIE0uIGFuZCBGaW5lLCBKLiBQLiBhbmQgRmFycmVsbCwgUC4gTS59LCAgIFxuICAgIHllYXI9ezIwMDJ9LCAgIFxuICAgIHBhZ2VzPXs1NzUtNjA2fSwgICBcbiAgICB0aXRsZT17Q3lzdGljIGZpYnJvc2lzOiBBIHdvcmxkd2lkZSBhbmFseXNpcyBvZiBDRlRSIG11dGF0aW9ucyAtIGNvcnJlbGF0aW9uIHdpdGggaW5jaWRlbmNlIGRhdGEgYW5kIGFwcGxpY2F0aW9uIHRvIHNjcmVlbmluZ30sICAgXG4gICAgdm9sdW1lPXsxOSg2KX0sICAgXG4gICAgam91cm5hbD17SHVtYW4gTXV0YXRpb259LCAgIFxuICAgIGRvaT17MTAuMTAwMi9odW11LjEwMDQxfSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXsxMC4zMzg5L2ZwaGFyLjIwMTkuMDE2NjIsICAgXG4gICAgYXV0aG9yPXtMb3Blcy1QYWNoZWNvLCBNaXF1XHUwMEU5aWFzfSwgICBcbiAgICB0aXRsZT17Q0ZUUiBNb2R1bGF0b3JzOiBUaGUgQ2hhbmdpbmcgRmFjZSBvZiBDeXN0aWMgRmlicm9zaXMgaW4gdGhlIEVyYSBvZiBQcmVjaXNpb24gTWVkaWNpbmV9LCAgIFxuICAgIGpvdXJuYWw9e0Zyb250aWVycyBpbiBQaGFybWFjb2xvZ3l9LCAgIFxuICAgIHZvbHVtZT17MTB9LCAgIFxuICAgIHllYXI9ezIwMjB9LCAgIFxuICAgIGRvaT17MTAuMzM4OS9mcGhhci4yMDE5LjAxNjYyfSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3LmZyb250aWVyc2luLm9yZy9hcnRpY2xlcy8xMC4zMzg5L2ZwaGFyLjIwMTkuMDE2NjJ9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBtaXNje2FyZW5hMjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17Q2xpbmljYWwgVHJpYWxzIEFyZW5hfSwgICBcbiAgICB0aXRsZT17Q3lzdGljIGZpYnJvc2lzOiBnbG9iYWwgY2xpbmljYWwgdHJpYWxzIGxhbmRzY2FwZSBhbmQgdHJlYXRtZW50c30sICAgXG4gICAgeWVhcj17MjAyNH0sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy5jbGluaWNhbHRyaWFsc2FyZW5hLmNvbS9zcG9uc29yZWQvY3lzdGljLWZpYnJvc2lzLWdsb2JhbC1jbGluaWNhbC10cmlhbHMtbGFuZHNjYXBlLWFuZC10cmVhdG1lbnRzL30sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAyMy4gU2VwdGVtYmVyIDIwMjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBtaXNje01TRG1hbnVhbDIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e1Nhd2lja2ksIEd9LCAgIFxuICAgIHRpdGxlPXtNdWtvdmlzemlkb3NlICh6eXN0aXNjaGUgRmlicm9zZSwgQ0YpfSwgICBcbiAgICB5ZWFyPXsyMDIzfSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3Lm1zZG1hbnVhbHMuY29tL2RlLWRlL2hlaW0vZ2VzdW5kaGVpdHNwcm9ibGVtZS12b24ta2luZGVybi9tdWtvdmlzemlkb3NlL211a292aXN6aWRvc2UtenlzdGlzY2hlLWZpYnJvc2UtY2Z9LCAgIFxuICAgIG5vdGU9e1p1Z3JpZmYgYW0gMjMuIFNlcHRlbWJlciAyMDI0fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAbWlzY3twYXRpZW50MjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17QnVya2hhcnQsIE0uIGFuZCAgTlx1MDBFNGhybGljaCwgTC59LCAgIFxuICAgIHRpdGxlPXtaYWhsZW4sIERhdGVuIHVuZCBGYWt0ZW4gZlx1MDBGQ3IgUGF0aWVudGVuIHVuZCBBbmdlaFx1MDBGNnJpZ2V9LCAgIFxuICAgIHllYXI9ezIwMjJ9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cubXVrby5pbmZvL2ZpbGVhZG1pbi91c2VyX3VwbG9hZC93YXNfd2lyX3R1bi9yZWdpc3Rlci9iZXJpY2h0c2JhZW5kZS9wYXRpZW50ZW5iZXJpY2h0c2JhbmQucGRmfSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDIzLiBTZXB0ZW1iZXIgMjAyNH0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7TXVrbzgyMDI0aW50ZXJuZXQsICAgXG4gICAgYXV0aG9yPXtNdWtvdmlzemlkb3NlIGUuVn0sICAgXG4gICAgdGl0bGU9e1dhcyBpc3QgTXVrb3Zpc3ppZG9zZS8gQ3lzdGlzY2hlIEZpYnJvc2UgKENGKT99LCAgIFxuICAgIHllYXI9ezIwMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cubXVrby5pbmZvL211a292aXN6aWRvc2UvdWViZXItZGllLWVya3Jhbmt1bmd9LCAgIFxuICAgIG5vdGU9e1p1Z3JpZmYgYW0gMjMuIFNlcHRlbWJlciAyMDI0fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXtFbGJvcm4yMDE2LCAgIFxuICAgIHRpdGxlPXtDeXN0aWMgZmlicm9zaXN9LCAgIFxuICAgIHZvbHVtZT17Mzg4fSwgICBcbiAgICBJU1NOPXswMTQwLTY3MzZ9LCAgIFxuICAgIHVybD17aHR0cDovL2R4LmRvaS5vcmcvMTAuMTAxNi9zMDE0MC02NzM2KDE2KTAwNTc2LTZ9LCAgIFxuICAgIERPST17MTAuMTAxNi9zMDE0MC02NzM2KDE2KTAwNTc2LTZ9LCAgIFxuICAgIG51bWJlcj17MTAwNTl9LCAgIFxuICAgIGpvdXJuYWw9e1RoZSBMYW5jZXR9LCAgIFxuICAgIHB1Ymxpc2hlcj17RWxzZXZpZXIgQlZ9LCAgIFxuICAgIGF1dGhvcj17RWxib3JuLCBKIFN0dWFydH0sICAgXG4gICAgeWVhcj17MjAxNn0sICAgXG4gICAgbW9udGg9e25vdn0sICAgXG4gICAgcGFnZXM9ezI1MTktMjUzMX0gICBcbiAgfWAsICAgXG4gIFxuICBgQGJvb2t7MjAwMSwgICBcbiAgICB0aXRsZT17Q3lzdGlzY2hlIEZpYnJvc2V9LFxuICAgIGF1dGhvcj17UmVpbmhhcmR0LCBELiBhbmQgR1x1MDBGNnR6LCBNLiBhbmQgS3JhZW1lciwgUi4gYW5kIFNjaFx1MDBGNm5pLCBNLn0sICAgXG4gICAgSVNCTj17OTc4MzY0MjU2Nzk2NH0sICAgXG4gICAgdXJsPXtodHRwOi8vZHguZG9pLm9yZy8xMC4xMDA3Lzk3OC0zLTY0Mi01Njc5Ni00fSwgICBcbiAgICBET0k9ezEwLjEwMDcvOTc4LTMtNjQyLTU2Nzk2LTR9LCAgIFxuICAgIHB1Ymxpc2hlcj17U3ByaW5nZXIgQmVybGluIEhlaWRlbGJlcmd9LCAgIFxuICAgIHllYXI9ezIwMDF9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle2Jpb200MDIwNDk4LCAgIFxuICAgIGF1dGhvcj17V2FuZywgWGlhb2RvbmcgUm9iZXJ0IGFuZCBMaSwgQ2hlbmdsb25nfSwgICBcbiAgICB0aXRsZT17RGVjb2RpbmcgRjUwOGRlbCBNaXNmb2xkaW5nIGluIEN5c3RpYyBGaWJyb3Npc30sICAgXG4gICAgam91cm5hbD17QmlvbW9sZWN1bGVzfSwgICBcbiAgICB2b2x1bWU9ezR9LCAgIFxuICAgIHllYXI9ezIwMTR9LCAgIFxuICAgIG51bWJlcj17Mn0sICAgXG4gICAgcGFnZXM9ezQ5OC0tNTA5fSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3Lm1kcGkuY29tLzIyMTgtMjczWC80LzIvNDk4fSwgICBcbiAgICBQdWJNZWRJRD17MjQ5NzAyMjd9LCAgIFxuICAgIElTU049ezIyMTgtMjczWH0sICAgXG4gICAgRE9JPXsxMC4zMzkwL2Jpb200MDIwNDk4fSAgIFxuICB9YCwgICBcbiAgLyogMTQgKi9cbiAgYEBhcnRpY2xle1BVQ0hFTExFMjAwMjExNSwgICBcbiAgICB0aXRsZT17QWlyd2F5IG11Y3VzIGluIGN5c3RpYyBmaWJyb3Npc30sICAgXG4gICAgam91cm5hbD17UGFlZGlhdHJpYyBSZXNwaXJhdG9yeSBSZXZpZXdzfSwgICBcbiAgICB2b2x1bWU9ezN9LCAgIFxuICAgIG51bWJlcj17Mn0sICAgXG4gICAgcGFnZXM9ezExNS0xMTl9LCAgIFxuICAgIHllYXI9ezIwMDJ9LCAgIFxuICAgIGlzc249ezE1MjYtMDU0Mn0sICAgXG4gICAgZG9pPXtodHRwczovL2RvaS5vcmcvMTAuMTAxNi9TMTUyNi0wNTUwKDAyKTAwMDA1LTd9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMTUyNjA1NTAwMjAwMDA1N30sICAgXG4gICAgYXV0aG9yPXtQdWNoZWxsZSwgRWRpdGggYW5kIEJham9sZXQsIE9kaWxlIGFuZCBBYlx1MDBFOWx5LCBNaWNoZWx9LCAgIFxuICAgIGtleXdvcmRzPXtjeXN0aWMgZmlicm9zaXMsIGFpcndheSBtdWN1cywgYWlyd2F5IHN1cmZhY2UgbGlxdWlkLCByaGVvbG9neSwgbXVjb2NpbGlhcnkgY2xlYXJhbmNlLCBtdWN1cyBjb3VnaCB0cmFuc3BvcnR9ICAgXG4gIH1gLCAgIC8qIDE1ICovXG4gIGBAYXJ0aWNsZXtBbnphbG9uZTIwMTksXG4gIGF1dGhvciAgICA9IHtBbnphbG9uZSwgQW5kcmV3IGFuZCBSYW5kb2xwaCwgUGV5dG9uIGFuZCBEYXZpcywgSmVzc2llIGFuZCBTb3VzYSwgQXlhbHVyIGFuZCBLb2JsYW4sIEx1a2UgYW5kIExldnksIEpvbmF0aGFuIGFuZCBDaGVuLCBQYXRyaWNrIGFuZCBXaWxzb24sIENoYXJsb3R0ZSBhbmQgTmV3YnksIEdyZWcgYW5kIFJhZ3VyYW0sIEFkaXR5YSBhbmQgTGl1LCBEYXZpZH0sXG4gIHRpdGxlICAgICA9IHtTZWFyY2gtYW5kLXJlcGxhY2UgZ2Vub21lIGVkaXRpbmcgd2l0aG91dCBkb3VibGUtc3RyYW5kIGJyZWFrcyBvciBkb25vciBETkF9LFxuICBqb3VybmFsICAgPSB7TmF0dXJlfSxcbiAgdm9sdW1lICAgID0gezU3Nn0sXG4gIHBhZ2VzICAgICA9IHsxNDktLTE1N30sXG4gIHllYXIgICAgICA9IHsyMDE5fSxcbiAgZG9pICAgICAgID0gezEwLjEwMzgvczQxNTg2LTAxOS0xNzExLTR9XG59XG5gLC8qIDE2ICovXG5gQGFydGljbGV7RG9tYW4yMDIzLFxuICBhdXRob3IgICAgPSB7RG9tYW4sIEphY29iIGFuZCBQYW5kZXksIFNpZGRoYXJ0aCBhbmQgTmV1Z2ViYXVlciwgTWFyaWEgYW5kIEFuLCBNZWlxaSBhbmQgRGF2aXMsIEplc3NpZSBhbmQgUmFuZG9scGgsIFBleXRvbiBhbmQgTWNFbHJveSwgQW5kcmV3IGFuZCBHYW8sIFhpYW94dSBhbmQgUmFndXJhbSwgQWRpdHlhIGFuZCBSaWNodGVyLCBNYXJrdXMgYW5kIEV2ZXJldHRlLCBLZWF0b24gYW5kIEJhbnNrb3RhLCBTYXJvaiBhbmQgVGlhbiwgS2FuZ3J1aSBhbmQgVGFvLCBZdWhhbmcgYW5kIFRvbGFyLCBKYWt1YiBhbmQgT3Nib3JuLCBNYXR0aGV3IGFuZCBMaXUsIERhdmlkfSxcbiAgdGl0bGUgICAgID0ge1BoYWdlLWFzc2lzdGVkIGV2b2x1dGlvbiBhbmQgcHJvdGVpbiBlbmdpbmVlcmluZyB5aWVsZCBjb21wYWN0LCBlZmZpY2llbnQgcHJpbWUgZWRpdG9yc30sXG4gIGpvdXJuYWwgICA9IHtDZWxsfSxcbiAgdm9sdW1lICAgID0gezE4Nn0sXG4gIHBhZ2VzICAgICA9IHszOTgzLS00MDAyLmUyNn0sXG4gIHllYXIgICAgICA9IHsyMDIzfSxcbiAgZG9pICAgICAgID0gezEwLjEwMTYvai5jZWxsLjIwMjMuMDcuMDM5fVxufVxuYFxuLFxuYEBhcnRpY2xle0dhZHNieTIwMDYsIFxuXG4gIHRpdGxlPXtUaGUgQUJDIHByb3RlaW4gdHVybmVkIGNobG9yaWRlIGNoYW5uZWwgd2hvc2UgZmFpbHVyZSBjYXVzZXMgY3lzdGljIGZpYnJvc2lzfSwgXG5cbiAgYXV0aG9yPXtHYWRzYnksIERhdmlkIEMuIGFuZCBWZXJnYW5pLCBQYW9sYSBhbmQgQ3Nhblx1MDBFMWR5LCBMe1xcJ2F9c3pse1xcJ299fSwgXG5cbiAgam91cm5hbD17TmF0dXJlfSwgXG5cbiAgdm9sdW1lPXs0NDB9LCBcblxuICBudW1iZXI9ezcwODN9LCBcblxuICBwYWdlcz17NDc3LS00ODN9LCBcblxuICB5ZWFyPXsyMDA2fSwgXG5cbiAgcHVibGlzaGVyPXtOYXR1cmUgUHVibGlzaGluZyBHcm91cH0sIFxuXG4gIGRvaT17MTAuMTAzOC9uYXR1cmUwNDcxMn0gXG5cbn0gYCxcblxuYEBhcnRpY2xle0h3YW5nMjAxMywgXG5cbiAgdGl0bGU9e1RoZSBDRlRSIGlvbiBjaGFubmVsOiBnYXRpbmcsIHJlZ3VsYXRpb24sIGFuZCBhbmlvbiBwZXJtZWF0aW9ufSwgXG5cbiAgYXV0aG9yPXtId2FuZywgVHp5aC1DaGFuZyBhbmQgS2lyaywgS2V2aW4gTC59LCBcblxuICBqb3VybmFsPXtDb2xkIFNwcmluZyBIYXJib3IgUGVyc3BlY3RpdmVzIGluIE1lZGljaW5lfSwgXG5cbiAgdm9sdW1lPXszfSwgXG5cbiAgbnVtYmVyPXsxfSwgXG5cbiAgcGFnZXM9e2EwMDk0OTh9LCBcblxuICB5ZWFyPXsyMDEzfSwgXG5cbiAgcHVibGlzaGVyPXtDb2xkIFNwcmluZyBIYXJib3IgTGFib3JhdG9yeSBQcmVzc30sIFxuXG4gIGRvaT17MTAuMTEwMS9jc2hwZXJzcGVjdC5hMDA5NDk4fSBcblxufSBgLFxuIGBAYXJ0aWNsZXtSaW9yZGFuMjAwOCwgXG5cbiAgdGl0bGU9e0NGVFIgZnVuY3Rpb24gYW5kIHByb3NwZWN0cyBmb3IgdGhlcmFweX0sIFxuXG4gIGF1dGhvcj17UmlvcmRhbiwgSm9obiBSLn0sIFxuXG4gIGpvdXJuYWw9e0FubnVhbCBSZXZpZXcgb2YgQmlvY2hlbWlzdHJ5fSwgXG5cbiAgdm9sdW1lPXs3N30sIFxuXG4gIHBhZ2VzPXs3MDEtLTcyNn0sIFxuXG4gIHllYXI9ezIwMDh9LCBcblxuICBwdWJsaXNoZXI9e0FubnVhbCBSZXZpZXdzfSwgXG5cbiAgZG9pPXsxMC4xMTQ2L2FubnVyZXYuYmlvY2hlbS43NS4xMDMwMDQuMTQyNTMyfSBcblxufSBgLFxuXG5gQGFydGljbGV7U2hlcHBhcmQxOTk5LCBcblxuICB0aXRsZT17U3RydWN0dXJlIGFuZCBmdW5jdGlvbiBvZiB0aGUgQ0ZUUiBjaGxvcmlkZSBjaGFubmVsfSwgXG5cbiAgYXV0aG9yPXtTaGVwcGFyZCwgRGF2aWQgTi4gYW5kIFdlbHNoLCBNaWNoYWVsIEoufSwgXG5cbiAgam91cm5hbD17UGh5c2lvbG9naWNhbCBSZXZpZXdzfSwgXG5cbiAgdm9sdW1lPXs3OX0sIFxuXG4gIG51bWJlcj17MSBTdXBwbH0sIFxuXG4gIHBhZ2VzPXtTMjMtLVM0NX0sIFxuXG4gIHllYXI9ezE5OTl9LCBcblxuICBwdWJsaXNoZXI9e0FtZXJpY2FuIFBoeXNpb2xvZ2ljYWwgU29jaWV0eX0sIFxuXG4gIGRvaT17MTAuMTE1Mi9waHlzcmV2LjE5OTkuNzkuMS5TMjN9IFxuXG59IGAsXG4gYCBAYXJ0aWNsZXtDaGVuMjAwOCwgXG5cbiAgdGl0bGU9e0NGVFIgYWN0aXZhdGlvbiBieSBwaG9zcGhvcnlsYXRpb259LCBcblxuICBhdXRob3I9e0NoZW4sIEplbmctSGF1ciBhbmQgQ2hhbmcsIFh1ZS1CYW99LCBcblxuICBqb3VybmFsPXtKb3VybmFsIG9mIEJpb21lZGljYWwgU2NpZW5jZX0sIFxuXG4gIHZvbHVtZT17MTV9LCBcblxuICBudW1iZXI9ezZ9LCBcblxuICBwYWdlcz17NjU5LS02NzJ9LCBcblxuICB5ZWFyPXsyMDA4fSwgXG5cbiAgcHVibGlzaGVyPXtTcHJpbmdlcn0sIFxuXG4gIGRvaT17MTAuMTAwNy9zMTEzNzMtMDA4LTkyNjAtNH0gXG5cbn0gYCxcblxuYEBhcnRpY2xle2FydGljbGUsIFxuXG5hdXRob3I9e0x1a2FjcywgR2VyZ2VseSBMLjsgVmVya21hbiwgQS4gUy59LCBcblxueWVhcj17MjAxMn0sIFxuXG5tb250aD17Mn0sIFxuXG5wYWdlcz17ODEtOTF9LCBcblxudGl0bGU9eyBDRlRSOiBmb2xkaW5nLCBtaXNmb2xkaW5nIGFuZCBjb3JyZWN0aW5nIHRoZSBcdTAzOTRGNTA4IGNvbmZvcm1hdGlvbmFsIGRlZmVjdH0sIFxuXG52b2x1bWU9ezE4KDIpfSwgXG5cbmpvdXJuYWw9e1RyZW5kcyBpbiBtb2xlY3VsYXIgbWVkaWNpbmV9LCBcblxuZG9pPXsxMC4xMDE2L2oubW9sbWVkLjIwMTEuMTAuMDAzfSBcblxufSBgLFxuYEBhcnRpY2xle2FydGljbGUsIFxuXG5hdXRob3I9e0ZhcnJlbGwsIFBoaWxpcCBNLjsgUm9jaywgTWljaGFlbCBKLjsgQmFrZXIsIE1laSBXLn0sIFxuXG55ZWFyPXsyMDIwfSwgXG5cbm1vbnRoPXswNH0sIFxuXG5wYWdlcz17NDAxfSwgXG5cbnRpdGxlPXtUaGUgSW1wYWN0IG9mIHRoZSBDRlRSIEdlbmUgRGlzY292ZXJ5IG9uIEN5c3RpYyBGaWJyb3NpcyBEaWFnbm9zaXMsIENvdW5zZWxpbmcsIGFuZCBQcmV2ZW50aXZlIFRoZXJhcHl9LCBcblxudm9sdW1lPXsxMSg0KX0sIFxuXG5qb3VybmFsPXtHZW5lc30sIFxuXG5kb2k9ezEwLjMzOTAvZ2VuZXMxMTA0MDQwMX0gXG5cbn0gYCxcblxuYEBhcnRpY2xle2FydGljbGUsIFxuXG5hdXRob3I9e1JvZHJpZ3VlcywgUm9iZXJ0YTsgR2FiZXR0YSwgQ2FybWVuIFMuOyBQZWRybywgS2FybGEgUC47IFZhbGRldGFybywgRmFiaW87IEZlcm5hbmRlcywgTWFyaWEgSS4gTS47IE1hZ2FsaFx1MDBFM2VzLCBQYXRyXHUwMEVEY2lhIEsuIFIuOyBKYW51XHUwMEUxcmlvLCBKb3NcdTAwRTkgTi4sIE1hY2llbCwgTFx1MDBFOWEgTS4gWi59LCBcblxueWVhcj17MjAwOH0sIFxuXG5tb250aD17IH0sIFxuXG5wYWdlcz17NDc1LTQ4NH0sIFxuXG50aXRsZT17Q3lzdGljIGZpYnJvc2lzIGFuZCBuZW9uYXRhbCBzY3JlZW5pbmd9LCBcblxudm9sdW1lPXsyNH0sIFxuXG5qb3VybmFsPXtDYWRlcm5vcyBkZSBTYVx1MDBGQWRlIFBcdTAwRkFibGljYX0sIFxuXG5kb2k9ezEwLjE1OTAvUzAxMDItMzExWDIwMDgwMDE2MDAwMDJ9IFxuXG59IGAsXG5cbmBAYXJ0aWNsZXthcnRpY2xlLCBcblxuYXV0aG9yPXtBbWljbywgR2l1bGlhOyBCcmFuZGFzLCBDaGlhcmE7IE1vcmFuLCBPc2NhcjsgQmFyb25pLCBEZWJvcmF9LCBcblxueWVhcj17MjAxOX0sIFxuXG5tb250aD17MX0sIFxuXG5wYWdlcz17NTQ2M30sIFxuXG50aXRsZT17VW5yYXZlbGxpbmcgdGhlIFJlZ2lvbnMgb2YgTXV0YW50IEY1MDhkZWwtQ0ZUUiBNb3JlIFN1c2NlcHRpYmxlIHRvIHRoZSBBY3Rpb24gb2YgRm91ciBDeXN0aWMgRmlicm9zaXMgQ29ycmVjdG9yc30sIFxuXG52b2x1bWU9ezIwKDIxKX0sIFxuXG5qb3VybmFsPXtJbnRlcm5hdGlvbmFsIEpvdXJuYWwgb2YgTW9sZWN1bGFyIFNjaWVuY2VzfSwgXG5cbmRvaT17MTAuMzM5MC9pam1zMjAyMTU0NjN9IFxuXG59IGAsXG5cbmBAYm9va3tCcmF1bjIwMjJCYXNpc2xlaHJidWNoLCBcblxuaXNibiA9IHs5NzgzNDM3NDExNDQxfSwgXG5cbmxhbmd1YWdlID0ge2RlfSwgXG5cbm51bXBhZ2VzID0gezEyMDh9LCBcblxudGl0bGUgPSB7QmFzaXNsZWhyYnVjaCBJbm5lcmUgTWVkaXppbn0sIFxuXG51cmwgPSB7aHR0cHM6Ly9ib29rcy5nb29nbGUuY29tL2Jvb2tzL2Fib3V0L0Jhc2lzbGVocmJ1Y2hfSW5uZXJlX01lZGl6aW4uaHRtbD9obD0maWQ9QlM4dHp3RUFDQUFKfSwgXG5cbmF1dGhvciA9IHtCcmF1biwgSlx1MDBGNnJnIGFuZCBNXHUwMEZDbGxlci1XaWVsYW5kLCBEaXJrfSwgXG5cbmRhdGUgPSB7MjAyMi0wOS0yMH0sIFxuXG55ZWFyID0gezIwMjJ9LCBcblxubW9udGggPSB7OX0sIFxuXG5kYXkgPSB7MjB9LCBcblxufSBgLFxuXG4vKiAyNyAqL1xuICBgQGFydGljbGV7V2Vua18yMDEwLCAgIFxuICAgIHRpdGxlPXtDeXN0aWMgRmlicm9zaXMgUHJlc2VudGluZyBXaXRoIERlcm1hdGl0aXN9LCAgIFxuICAgIHZvbHVtZT17MTQ2fSwgICBcbiAgICBJU1NOPXswMDAzLTk4N1h9LCAgIFxuICAgIHVybD17aHR0cDovL2R4LmRvaS5vcmcvMTAuMTAwMS9hcmNoZGVybWF0b2wuMjAwOS4zNjF9LCAgIFxuICAgIERPST17MTAuMTAwMS9hcmNoZGVybWF0b2wuMjAwOS4zNjF9LCAgIFxuICAgIG51bWJlcj17Mn0sICAgXG4gICAgam91cm5hbD17QXJjaGl2ZXMgb2YgRGVybWF0b2xvZ3l9LCAgIFxuICAgIHB1Ymxpc2hlcj17QW1lcmljYW4gTWVkaWNhbCBBc3NvY2lhdGlvbiAoQU1BKX0sICAgXG4gICAgYXV0aG9yPXtXZW5rLCBLdXJ0IFMuIGFuZCBIaWdnaW5zLCBLcmlzdGVuIEIuIGFuZCBHcmVlciwgS2VubmV0aCBFLn0sICAgXG4gICAgeWVhcj17MjAxMH0sICAgXG4gICAgbW9udGg9e2ZlYn0gICBcbiAgfWAsICAgXG5cblxuICAvKiAyOCAqL1xuICBgQG1pc2N7bXVrb2xlaXRsaW5pZW4yMDI0aW50ZXJuZXQsIFxuICAgYXV0aG9yICAgICAgID0ge00uIFN0ZXJuLCBILiBFbGxlbXVudGVyLCBCLiBQYWxtLCBILi1HLiBQb3NzZWx0LCBDLiBTbWFjem55fSwgXG4gICB0aXRsZSAgICAgICAgPSB7TXVrb3Zpc3ppZG9zZSAoQ3lzdGlzY2hlIEZpYnJvc2UpOiBFcm5cdTAwRTRocnVuZyB1bmQgZXhva3JpbmUgUGFua3JlYXNpbnN1ZmZpemllbnp9LCBcbiAgIHllYXIgICAgICAgICA9IHsyMDExfSwgXG4gICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cubXVrby5pbmZvL2ZpbGVhZG1pbi91c2VyX3VwbG9hZC93YXNfd2lyX3R1bi9sZWl0bGluaWVuL0xMX1MxX211a292aXN6aWRvc2VfZXJuYWVocnVuZ19leG9rcmluZV9wYW5rcmVhc2luc3VmZml6aWVuei5wZGZcdTIwMEJ9LCBcbiAgIG5vdGUgICAgICAgICA9IHtadWdyaWZmIGFtIDI1LiBTZXB0ZW1iZXIgMjAyNH0gXG4gfSBgLFxuICBcbiAvKiA1MyAqL1xuICBgQGJvb2t7c29ib3R0YV9hbmF0b21pZSwgICBcbiAgICB0aXRsZT17QXRsYXMgZGVyIEFuYXRvbWllIEJhbmQgM30sICAgXG4gICAgYXV0aG9yPXtTb2JvdHRhLCBKb2hhbm5lcyBhbmQgUGF1bHNlbiwgRnJpZWRyaWNoIGFuZCBXYXNjaGtlLCBKZW5zfSwgICBcbiAgICB5ZWFyPXsyMDE3fSwgICBcbiAgICBwdWJsaXNoZXI9e1VyYmFuIFxcJiBGaXNjaGVyfSwgICBcbiAgICBlZGl0aW9uPXsyNC4gQXVmbGFnZX0sICAgXG4gICAgaXNibj17OTc4MzQzNzA5ODE4NX0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7UmVzcDIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e1RoZSBSZXNwaXJhdG9yeSBTeXN0ZW19LCAgIFxuICAgIHRpdGxlPXtOYXNlOiBEZWZpbml0aW9uLCBBbmF0b21pZSB1bmQgRnVua3Rpb259LCAgIFxuICAgIHllYXI9ezIwMTd9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cudGhlcmVzcGlyYXRvcnlzeXN0ZW0uY29tL2RlL25vc2UvfSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDI1LiBTZXB0ZW1iZXIgMjAyNH0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7R3V0YTIwMjEsICAgXG4gICAgdGl0bGU9e0dsb2JhbCBCdXJkZW4gb2YgQW54aWV0eSBhbmQgRGVwcmVzc2lvbiBhbW9uZyBDeXN0aWMgRmlicm9zaXMgUGF0aWVudDogU3lzdGVtYXRpYyBSZXZpZXcgYW5kIE1ldGEtQW5hbHlzaXN9LCAgIFxuICAgIHZvbHVtZT17MjAyMX0sICAgXG4gICAgSVNTTj17MjM1Ni02OTgxfSwgICBcbiAgICB1cmw9e2h0dHA6Ly9keC5kb2kub3JnLzEwLjExNTUvMjAyMS82NzA4ODY1fSwgICBcbiAgICBET0k9ezEwLjExNTUvMjAyMS82NzA4ODY1fSwgICBcbiAgICBqb3VybmFsPXtJbnRlcm5hdGlvbmFsIEpvdXJuYWwgb2YgQ2hyb25pYyBEaXNlYXNlc30sICAgXG4gICAgcHVibGlzaGVyPXtIaW5kYXdpIExpbWl0ZWR9LCAgIFxuICAgIGF1dGhvcj17R3V0YSwgTWlzdGlyZSBUZXNob21lIGFuZCBUZWthbGlnbiwgVGl3YWJ3b3JrIGFuZCBBd29rZSwgTmVmc3UgYW5kIEZpdGUsIFJvYmVyYSBPbGFuYSBhbmQgRGVuZGlyLCBHZXRhaHVuIGFuZCBMZW5qZWJvLCBUc2VnYXllIExvbGFzb30sICAgXG4gICAgZWRpdG9yPXtSYW8sIEtvc2FnaSBTLiBKYWdhbm5hdGhhfSwgICBcbiAgICB5ZWFyPXsyMDIxfSwgICBcbiAgICBtb250aD17anVsfSwgICBcbiAgICBwYWdlcz17MS05fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXtGYXJyZWxsMjAxNywgICBcbiAgICB0aXRsZT17RGlhZ25vc2lzIG9mIEN5c3RpYyBGaWJyb3NpczogQ29uc2Vuc3VzIEd1aWRlbGluZXMgZnJvbSB0aGUgQ3lzdGljIEZpYnJvc2lzIEZvdW5kYXRpb259LCAgIFxuICAgIGF1dGhvcj17RmFycmVsbCwgUGhpbGlwIE0uIGFuZCBXaGl0ZSwgVGhvbWFzIEIuIGFuZCBSZW4sIENhcm9sIEwuIGFuZCBIZW1wc3RlYWQsIFNhcmFoIEUuIGFuZCBBY2N1cnNvLCBGcmFuayBhbmQgRGVyaWNocywgTmljbyBhbmQgSG93ZW5zdGluZSwgTWFyZ2FyZXQgUy4gYW5kIE1jQ29sbGV5LCBTdXNhbm5hIEEuIGFuZCBSb2NrLCBNaWNoYWVsIEouIGFuZCBSb3NlbmZlbGQsIE1hcmdhcmV0IGFuZCBDYW1wYmVsbCwgUGV0ZXIgVy59LCAgIFxuICAgIGpvdXJuYWw9e0pvdXJuYWwgb2YgUGVkaWF0cmljc30sICAgXG4gICAgdm9sdW1lPXsxODFTfSwgICBcbiAgICBwYWdlcz17UzQtLVMxNS5lMX0sICAgXG4gICAgeWVhcj17MjAxN30sICAgXG4gICAgcHVibGlzaGVyPXtFbHNldmllcn0sICAgXG4gICAgZG9pPXsxMC4xMDE2L2ouanBlZHMuMjAxNi4wOS4wNjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle0Nhc3RlbGxhbmkyMDA4LCAgIFxuICAgIHRpdGxlPXtDb25zZW5zdXMgb24gdGhlIHVzZSBhbmQgaW50ZXJwcmV0YXRpb24gb2YgY3lzdGljIGZpYnJvc2lzIG11dGF0aW9uIGFuYWx5c2lzIGluIGNsaW5pY2FsIHByYWN0aWNlfSwgICBcbiAgICBhdXRob3I9e0Nhc3RlbGxhbmksIENhcmxvIGFuZCBDdXBwZW5zLCBILiBhbmQgTWFjZWsgSnIsIE1pbGFuIGFuZCBDYXNzaW1hbiwgSmVhbi1NYXJpZSBhbmQgS2VyZW0sIEVpdGFuIGFuZCBEdXJpZSwgUGV0ZXIgYW5kIFR1bGxpcywgRWxpemFiZXRoIGFuZCBBc3NhZWwsIEIuIE0uIGFuZCBCb21iaWVyaSwgQ3Jpc3RpbmEgYW5kIEJyb3duLCBBbWFuZGEgYW5kIG90aGVyc30sICAgXG4gICAgam91cm5hbD17Sm91cm5hbCBvZiBDeXN0aWMgRmlicm9zaXN9LCAgIFxuICAgIHZvbHVtZT17N30sICAgXG4gICAgbnVtYmVyPXszfSwgICBcbiAgICBwYWdlcz17MTc5LS0xOTZ9LCAgIFxuICAgIHllYXI9ezIwMDh9LCAgIFxuICAgIHB1Ymxpc2hlcj17RWxzZXZpZXJ9LCAgIFxuICAgIGRvaT17MTAuMTAxNi9qLmpjZi4yMDA4LjAzLjAwOX0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7Q29tZWF1MjAwNCwgICBcbiAgICB0aXRsZT17UG9wdWxhdGlvbi1iYXNlZCBuZXdib3JuIHNjcmVlbmluZyBmb3IgZ2VuZXRpYyBkaXNvcmRlcnM6IHRoZSBNYXNzYWNodXNldHRzIG1vZGVsfSwgICBcbiAgICBhdXRob3I9e0NvbWVhdSwgQXVkcmV5IE0uIGFuZCBMYXJzb24sIENoYWQgYW5kIEVhdG9uLCBSb2JlcnQgQi59LCAgIFxuICAgIGpvdXJuYWw9e1BlZGlhdHJpY3N9LCAgIFxuICAgIHZvbHVtZT17MTE0fSwgICBcbiAgICBudW1iZXI9ezV9LCAgIFxuICAgIHBhZ2VzPXsxMzcwLS0xMzc1fSwgICBcbiAgICB5ZWFyPXsyMDA0fSwgICBcbiAgICBwdWJsaXNoZXI9e0FtZXJpY2FuIEFjYWRlbXkgb2YgUGVkaWF0cmljc30sICAgXG4gICAgZG9pPXsxMC4xNTQyL3BlZHMuMjAwNC0wNzEwfSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXtTb3V0aGVybjIwMDksICAgXG4gICAgdGl0bGU9e05ld2Jvcm4gc2NyZWVuaW5nIGZvciBjeXN0aWMgZmlicm9zaXN9LCAgIFxuICAgIGF1dGhvcj17U291dGhlcm4sIEtldmluIFcuIGFuZCBNXHUwMEU5cmVsbGUsIE1hcmlla2UgTS4gRS4gYW5kIERhbmtlcnQtUm9lbHNlLCBKZWFubmV0dGUgRS4gYW5kIE5hZ2Vsa2Vya2UsIE5pY299LCAgIFxuICAgIGpvdXJuYWw9e0NvY2hyYW5lIERhdGFiYXNlIG9mIFN5c3RlbWF0aWMgUmV2aWV3c30sICAgXG4gICAgdm9sdW1lPXsxfSwgICBcbiAgICBwYWdlcz17Q0QwMDE0MDJ9LCAgIFxuICAgIHllYXI9ezIwMDl9LCAgIFxuICAgIHB1Ymxpc2hlcj17Sm9obiBXaWxleSBcXCYgU29uc30sICAgXG4gICAgZG9pPXsxMC4xMDAyLzE0NjUxODU4LkNEMDAxNDAyLnB1YjJ9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle0N1dHRpbmcyMDE1LCAgIFxuICAgIHRpdGxlPXtDeXN0aWMgZmlicm9zaXMgZ2VuZXRpY3M6IGZyb20gbW9sZWN1bGFyIHVuZGVyc3RhbmRpbmcgdG8gY2xpbmljYWwgYXBwbGljYXRpb259LCAgIFxuICAgIGF1dGhvcj17Q3V0dGluZywgR2FycnkgUi59LCAgIFxuICAgIGpvdXJuYWw9e05hdHVyZSBSZXZpZXdzIEdlbmV0aWNzfSwgICBcbiAgICB2b2x1bWU9ezE2fSwgICBcbiAgICBwYWdlcz17NDUtLTU2fSwgICBcbiAgICB5ZWFyPXsyMDE1fSwgICBcbiAgICBwdWJsaXNoZXI9e05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSwgICBcbiAgICBkb2k9ezEwLjEwMzgvbnJnMzg0OX0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7Q3Jvc3NsZXkxOTc5LCAgIFxuICAgIHRpdGxlPXtEcmllZC1ibG9vZCBzcG90IHNjcmVlbmluZyBmb3IgY3lzdGljIGZpYnJvc2lzIGluIHRoZSBuZXdib3JufSwgICBcbiAgICBhdXRob3I9e0Nyb3NzbGV5LCBKb2huIFIuIGFuZCBFbGxpb3R0LCBSb2JlcnQgQi4gYW5kIFNtaXRoLCBQYXRyaWNpYSBBLn0sICAgXG4gICAgam91cm5hbD17VGhlIExhbmNldH0sICAgXG4gICAgdm9sdW1lPXsxfSwgICBcbiAgICBudW1iZXI9ezgxMjZ9LCAgIFxuICAgIHBhZ2VzPXs0NzItLTQ3NH0sICAgXG4gICAgeWVhcj17MTk3OX0sICAgXG4gICAgcHVibGlzaGVyPXtFbHNldmllcn0sICAgXG4gICAgZG9pPXsxMC4xMDE2L1MwMTQwLTY3MzYoNzkpOTE3NTctOX0gICBcbiAgfWAsICAgXG4gIFxuICBgQGJvb2t7SGVneWkyMDE2LCAgIFxuICAgIGF1dGhvcj17SGVneWksIFBcdTAwRTl0ZXIgYW5kIFdpbHNjaGFuc2tpLCBNaWNoYWVsIGFuZCBNdWFsbGVtLCBTaG11ZWwgYW5kIEx1a2FjcywgR2VyZ2VseSBMLiBhbmQgU2FoaW4tVFx1MDBGM3RoLCBNaWtsXHUwMEYzcyBhbmQgVWMsIEFsaXllIGFuZCBHcmF5LCBNaWNoYWVsIEEuIGFuZCBSYWtvbmN6YXksIFpvbHRcdTAwRTFuIGFuZCBNYWxcdTAwRTl0aCwgSlx1MDBGM3pzZWZ9LCAgIFxuICAgIGVkaXRvcj17TmlsaXVzLCBCZXJuZCBhbmQgZGUgVG9tYmUsIFBpZXRlciBhbmQgR3VkZXJtYW5uLCBUaG9tYXMgYW5kIEphaG4sIFJlaW5oYXJkIGFuZCBMaWxsLCBSb2xhbmQgYW5kIFBldGVyc2VuLCBPbGUgSC59LCAgIFxuICAgIHRpdGxlPXtDRlRSOiBBIE5ldyBIb3Jpem9uIGluIHRoZSBQYXRob21lY2hhbmlzbSBhbmQgVHJlYXRtZW50IG9mIFBhbmNyZWF0aXRpc30sICAgXG4gICAgYm9va1RpdGxlPXtSZXZpZXdzIG9mIFBoeXNpb2xvZ3ksIEJpb2NoZW1pc3RyeSBhbmQgUGhhcm1hY29sb2d5IFZvbC4gMTcwfSwgICBcbiAgICB5ZWFyPXsyMDE2fSwgICBcbiAgICBwdWJsaXNoZXI9e1NwcmluZ2VyIEludGVybmF0aW9uYWwgUHVibGlzaGluZ30sICAgXG4gICAgYWRkcmVzcz17Q2hhbX0sICAgXG4gICAgcGFnZXM9ezM3LS02Nn0sICAgXG4gICAgaXNibj17OTc4LTMtMzE5LTMxNDkyLTF9LCAgIFxuICAgIGRvaT17MTAuMTAwNy8xMTJfMjAxNV81MDAyfSwgICBcbiAgICB1cmw9e2h0dHBzOi8vZG9pLm9yZy8xMC4xMDA3LzExMl8yMDE1XzUwMDJ9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle2ZhcnJlbGwyMDIwaW1wYWN0LCAgIFxuICAgIHRpdGxlPXtUaGUgaW1wYWN0IG9mIHRoZSBDRlRSIGdlbmUgZGlzY292ZXJ5IG9uIGN5c3RpYyBmaWJyb3NpcyBkaWFnbm9zaXMsIGNvdW5zZWxpbmcsIGFuZCBwcmV2ZW50aXZlIHRoZXJhcHl9LCAgIFxuICAgIGF1dGhvcj17RmFycmVsbCwgUGhpbGlwIE0gYW5kIFJvY2ssIE1pY2hhZWwgSiBhbmQgQmFrZXIsIE1laSBXfSwgICBcbiAgICBqb3VybmFsPXtHZW5lc30sICAgXG4gICAgdm9sdW1lPXsxMX0sICAgXG4gICAgbnVtYmVyPXs0fSwgICBcbiAgICBwYWdlcz17NDAxfSwgICBcbiAgICB5ZWFyPXsyMDIwfSwgICBcbiAgICBwdWJsaXNoZXI9e01EUEl9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle0ZsdW1lMjAwOSwgICBcbiAgICB0aXRsZT17Q3lzdGljIGZpYnJvc2lzIHB1bG1vbmFyeSBndWlkZWxpbmVzOiBhaXJ3YXkgY2xlYXJhbmNlIHRoZXJhcGllc30sICAgXG4gICAgYXV0aG9yPXtGbHVtZSwgUGF0cmljayBBLiBhbmQgUm9iaW5zb24sIEthcmVuIEEuIGFuZCBPJ1N1bGxpdmFuLCBCcmlhbiBQIGFuZCBGaW5kZXIsIEpvbiBEIGFuZCBWZW5kZXIsIFJvYmluIEwgYW5kIFdpbGxleS1Db3VyYW5kLCBEb25uYSBCIGFuZCBXaGl0ZSwgVGhvbWFzIEIgYW5kIE1hcnNoYWxsLCBCcnVjZSBDLn0sICAgXG4gICAgam91cm5hbD17UmVzcGlyYXRvcnkgQ2FyZX0sICAgXG4gICAgdm9sdW1lPXs1NH0sICAgXG4gICAgbnVtYmVyPXs0fSwgICBcbiAgICBwYWdlcz17NTIyLS01Mzd9LCAgIFxuICAgIHllYXI9ezIwMDl9LCAgIFxuICAgIHB1Ymxpc2hlcj17UmVzcGlyYXRvcnkgQ2FyZX0sICAgXG4gICAgZG9pPXsxMC40MTg3L2FhcmMwNTU1fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXtSRUlTTUFOMTk4ODYzMiwgICBcbiAgICB0aXRsZT17Um9sZSBvZiBjb252ZW50aW9uYWwgcGh5c2lvdGhlcmFweSBpbiBjeXN0aWMgZmlicm9zaXN9LCAgIFxuICAgIGpvdXJuYWw9e1RoZSBKb3VybmFsIG9mIFBlZGlhdHJpY3N9LCAgIFxuICAgIHZvbHVtZT17MTEzfSwgICBcbiAgICBudW1iZXI9ezR9LCAgIFxuICAgIHBhZ2VzPXs2MzItNjM2fSwgICBcbiAgICB5ZWFyPXsxOTg4fSwgICBcbiAgICBpc3NuPXswMDIyLTM0NzZ9LCAgIFxuICAgIGRvaT17aHR0cHM6Ly9kb2kub3JnLzEwLjEwMTYvUzAwMjItMzQ3Nig4OCk4MDM3MC02fSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzAwMjIzNDc2ODg4MDM3MDZ9LCAgIFxuICAgIGF1dGhvcj17UmVpc21hbiwgSm9obiBKLiBhbmQgUml2aW5ndG9uLUxhdywgQmV0dHkgYW5kIENvcmV5LCBNYXJ5IGFuZCBNYXJjb3R0ZSwgSmFjcXVlcyBhbmQgV2FubmFtYWtlciwgRWxlYW5vciBhbmQgSGFyY291cnQsIERhd24gYW5kIExldmlzb24sIEhlbnJ5fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXtXYWlud3JpZ2h0MjAxNSwgICBcbiAgICB0aXRsZT17THVtYWNhZnRvci1pdmFjYWZ0b3IgaW4gcGF0aWVudHMgd2l0aCBjeXN0aWMgZmlicm9zaXMgaG9tb3p5Z291cyBmb3IgUGhlNTA4ZGVsIENGVFJ9LCAgIFxuICAgIGF1dGhvcj17V2FpbndyaWdodCwgQ2xhaXJlIEUgYW5kIEVsYm9ybiwgSiBTdHVhcnQgYW5kIFJhbXNleSwgQm9ubmllIFcgYW5kIE1hcmlnb3dkYSwgR2lyaXNoIGFuZCBIdWFuZywgWGlueGluIGFuZCBDaXBvbGxpLCBNYXJjbyBhbmQgQ29sb21ibywgQ2FybG8gYW5kIERhdmllcywgSmFuZSBDIGFuZCBEZSBCb2VjaywgS3JpcyBhbmQgRmx1bWUsIFBhdHJpY2sgQSBhbmQgb3RoZXJzfSwgICBcbiAgICBqb3VybmFsPXtOZXcgRW5nbGFuZCBKb3VybmFsIG9mIE1lZGljaW5lfSwgICBcbiAgICB2b2x1bWU9ezM3M30sICAgXG4gICAgbnVtYmVyPXszfSwgICBcbiAgICBwYWdlcz17MjIwLS0yMzF9LCAgIFxuICAgIHllYXI9ezIwMTV9LCAgIFxuICAgIHB1Ymxpc2hlcj17TWFzc2FjaHVzZXR0cyBNZWRpY2FsIFNvY2lldHl9LCAgIFxuICAgIGRvaT17MTAuMTA1Ni9ORUpNb2ExNDA5NTQ3fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXtHZWxsZXI2NTgsICAgXG4gICAgYXV0aG9yPXtHZWxsZXIsIERhdmlkIEV9LCAgIFxuICAgIHRpdGxlPXtBZXJvc29sIEFudGliaW90aWNzIGluIEN5c3RpYyBGaWJyb3Npc30sICAgXG4gICAgdm9sdW1lPXs1NH0sICAgXG4gICAgbnVtYmVyPXs1fSwgICBcbiAgICBwYWdlcz17NjU4LS02NzB9LCAgIFxuICAgIHllYXI9ezIwMDl9LCAgIFxuICAgIHB1Ymxpc2hlcj17UmVzcGlyYXRvcnkgQ2FyZX0sICAgXG4gICAgaXNzbj17MDAyMC0xMzI0fSwgICBcbiAgICB1cmw9e2h0dHBzOi8vcmMucmNqb3VybmFsLmNvbS9jb250ZW50LzU0LzUvNjU4fSwgICBcbiAgICBlcHJpbnQ9e2h0dHBzOi8vcmMucmNqb3VybmFsLmNvbS9jb250ZW50LzU0LzUvNjU4LmZ1bGwucGRmfSwgICBcbiAgICBqb3VybmFsPXtSZXNwaXJhdG9yeSBDYXJlfSAgIFxuICB9YCxcbiAgYEBBUlRJQ0xFe0d1bzIwMjItY2gsICAgXG4gICAgdGl0bGU9e1dvcmxkd2lkZSByYXRlcyBvZiBkaWFnbm9zaXMgYW5kIGVmZmVjdGl2ZSB0cmVhdG1lbnQgZm9yIGN5c3RpYyBmaWJyb3Npc30sICAgXG4gICAgYXV0aG9yPXtHdW8sIEpvbmF0aGFuIGFuZCBHYXJyYXR0LCBBbm5hIGFuZCBIaWxsLCBBbmRyZXd9LCAgIFxuICAgIGpvdXJuYWw9e0pvdXJuYWwgb2YgQ3lzdGljIEZpYnJvc2lzfSwgICBcbiAgICB2b2x1bWU9ezIxfSwgICBcbiAgICBudW1iZXI9ezN9LCAgIFxuICAgIHBhZ2VzPXs0NTYtLTQ2Mn0sICAgXG4gICAgeWVhcj17MjAyMn0sICAgXG4gICAgbW9udGg9e21heX0sICAgXG4gICAgZG9pPXsxMC4xMDE2L2ouamNmLjIwMjEuMTIuMDAxfSwgICBcbiAgICBrZXl3b3Jkcz17Q0ZUUiBtb2R1bGF0b3IsIEN5c3RpYyBmaWJyb3NpcywgRXBpZGVtaW9sb2d5LCBJdmFjYWZ0b3IvdGV6YWNhZnRvci9lbGV4YWNhZnRvcn0sICAgXG4gICAgcHVibGlzaGVyPXtFbHNldmllciBCVn0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7R3JpZXNlbmJhY2gyMDEzLCAgIFxuICAgIHRpdGxlPXtHZW5lIHRoZXJhcHkgcHJvZ3Jlc3MgYW5kIHByb3NwZWN0czogY3lzdGljIGZpYnJvc2lzfSwgICBcbiAgICBhdXRob3I9e0dyaWVzZW5iYWNoLCBVdGEgYW5kIEFsdG9uLCBFcmljIFdGV30sICAgXG4gICAgam91cm5hbD17R2VuZSBUaGVyYXB5fSwgICBcbiAgICB2b2x1bWU9ezIwfSwgICBcbiAgICBudW1iZXI9ezZ9LCAgIFxuICAgIHBhZ2VzPXs2NDEtLTY0OX0sICAgXG4gICAgeWVhcj17MjAxM30sICAgXG4gICAgcHVibGlzaGVyPXtOYXR1cmUgUHVibGlzaGluZyBHcm91cH0sICAgXG4gICAgZG9pPXsxMC4xMDM4L2d0LjIwMTMuMjB9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBtaXNje011a281MjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17TXVrb3Zpc3ppZG9zZSBlLlZ9LCAgIFxuICAgIHRpdGxlPXtUaGVyYXBpZSBkZXIgTXVrb3Zpc3ppZG9zZX0sICAgXG4gICAgeWVhcj17MjAyNH0sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy5tdWtvLmluZm8vbXVrb3Zpc3ppZG9zZS90aGVyYXBpZS1kZXItbXVrb3Zpc3ppZG9zZX0sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAwNy4gQXVndXN0IDIwMjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle2ppYTIwMjNjeXN0aWMsICAgXG4gICAgYXV0aG9yPXtKaWEsIFNoaWppbmcgYW5kIFRheWxvci1Db3VzYXIsIEplbm5pZmVyIEwufSwgICBcbiAgICB0aXRsZT17Q3lzdGljIEZpYnJvc2lzIE1vZHVsYXRvciBUaGVyYXBpZXN9LCAgIFxuICAgIGpvdXJuYWw9e0FubnVhbCBSZXZpZXcgb2YgTWVkaWNpbmV9LCAgIFxuICAgIHZvbHVtZT17NzR9LCAgIFxuICAgIHBhZ2VzPXs0MTMtNDI2fSwgICBcbiAgICB5ZWFyPXsyMDIzfSwgICBcbiAgICBkb2k9ezEwLjExNDYvYW5udXJldi1tZWQtMDQyOTIxLTAyMTQ0N30sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy5hbm51YWxyZXZpZXdzLm9yZy9jb250ZW50L2pvdXJuYWxzLzEwLjExNDYvYW5udXJldi1tZWQtMDQyOTIxLTAyMTQ0N30sICAgXG4gICAgcHVibGlzaGVyPXtBbm51YWwgUmV2aWV3c30sICAgXG4gICAgaXNzbj17MTU0NS0zMjZYfSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXtUdW1tbGVyMjAxNiwgICBcbiAgICBhdXRob3I9e1RcdTAwRkNtbWxlciwgQi59LCAgIFxuICAgIHRpdGxlPXtUaGVyYXBpZSBkZXIgTXVrb3Zpc3ppZG9zZSBtaXQgQ0ZUUi1Nb2R1bGF0b3Jlbn0sICAgXG4gICAgam91cm5hbD17UG5ldW1vbG9naWV9LCAgIFxuICAgIHZvbHVtZT17NzB9LCAgIFxuICAgIG51bWJlcj17M30sICAgXG4gICAgcGFnZXM9ezMwMS0zMTN9LCAgIFxuICAgIHllYXI9ezIwMTZ9LCAgIFxuICAgIGRvaT17MTAuMTA1NS9zLTAwNDItMTAwNjA3fSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3LnRoaWVtZS1jb25uZWN0LmNvbS9wcm9kdWN0cy9lam91cm5hbHMvcGRmLzEwLjEwNTUvcy0wMDQyLTEwMDYwNy5wZGZ9LCAgIFxuICAgIHB1Ymxpc2hlcj17R2VvcmcgVGhpZW1lIFZlcmxhZyBLR30sICAgXG4gICAgaXNzbj17MDkzNC04Mzg3fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAbWlzY3tNdWtvNDIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e011a292aXN6aWRvc2UgZS5WfSwgICBcbiAgICB0aXRsZT17S2FmdHJpbyAoVHJpa2FmdGEpIC0gVHJpcGxlLVRoZXJhcGllIGZcdTAwRkNyIE11a292aXN6aWRvc2UgKENGKX0sICAgXG4gICAgeWVhcj17MjAyNH0sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy5tdWtvLmluZm8vbXVrb3Zpc3ppZG9zZS90aGVyYXBpZS1kZXItbXVrb3Zpc3ppZG9zZS9rYWZ0cmlvLXRyaWthZnRhfSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDA3LiBBdWd1c3QgMjAyNH0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7cm9kYTIwMjJuZXcsICAgXG4gICAgYXV0aG9yPXtSb2RhLCBKdWxpYW5hIGFuZCBQaW50by1TaWx2YSwgQ2F0YXJpbmEgYW5kIFNpbHZhLCBJcmlzIEEuIEkuIGFuZCBNYWlhLCBDYXJsYSBhbmQgQWxtZWlkYSwgU3VzYW5hIGFuZCBGZXJyZWlyYSwgUmljYXJkbyBhbmQgT2xpdmVpcmEsIEd1aW9tYXJ9LCAgIFxuICAgIHRpdGxlPXtOZXcgZHJ1Z3MgaW4gY3lzdGljIGZpYnJvc2lzOiB3aGF0IGhhcyBjaGFuZ2VkIGluIHRoZSBsYXN0IGRlY2FkZT99LCAgIFxuICAgIGpvdXJuYWw9e1RoZXJhcGV1dGljIEFkdmFuY2VzIGluIENocm9uaWMgRGlzZWFzZX0sICAgXG4gICAgdm9sdW1lPXsxM30sICAgXG4gICAgcGFnZXM9ezIwNDA2MjIzMjIxMDk4MTM2fSwgICBcbiAgICB5ZWFyPXsyMDIyfSwgICBcbiAgICBkb2k9ezEwLjExNzcvMjA0MDYyMjMyMjEwOTgxMzZ9LCAgIFxuICAgIHBtaWQ9ezM1NjIwMTg4fSwgICBcbiAgICBwbWM9e1BNQzkxMjgwNTJ9LCAgIFxuICAgIGlzc249ezIwNDAtNjIyM30sICAgXG4gICAgbm90ZT17ZUNvbGxlY3Rpb24gMjAyMn0sICAgXG4gICAgcHVibGlzaGVyPXtTQUdFIFB1YmxpY2F0aW9uc30sICAgXG4gICAgdXJsPXtodHRwczovL2RvaS5vcmcvMTAuMTE3Ny8yMDQwNjIyMzIyMTA5ODEzNn0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7TXVrbzMyMDI0aW50ZXJuZXQsICAgXG4gICAgYXV0aG9yPXtNdWtvdmlzemlkb3NlIGUuVn0sICAgXG4gICAgdGl0bGU9e09ya2FtYmkgLSBDRlRSLU1vZHVsYXRvciBiZWkgendlaSBGNTA4ZGVsLU11dGF0aW9uZW59LCAgIFxuICAgIHllYXI9ezIwMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cubXVrby5pbmZvL211a292aXN6aWRvc2UvdGhlcmFwaWUtZGVyLW11a292aXN6aWRvc2Uvb3JrYW1iaX0sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAwNy4gQXVndXN0IDIwMjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBtaXNje011a28yMjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17TXVrb3Zpc3ppZG9zZSBlLlZ9LCAgIFxuICAgIHRpdGxlPXtLYWx5ZGVjbyAoSXZhZmFjdG9yKSAtIENGVFItTW9kdWxhdG9yIGJlaSBHYXRpbmctTXV0YXRpb25lbn0sICAgXG4gICAgeWVhcj17MjAyNH0sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy5tdWtvLmluZm8vbXVrb3Zpc3ppZG9zZS90aGVyYXBpZS1kZXItbXVrb3Zpc3ppZG9zZS9rYWx5ZGVjb30sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAwNy4gQXVndXN0IDIwMjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBtaXNje1B1bG1vMjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17UHVsbW9ueXplIGRvcm5hc2UgYWxmYSBJbmhhbGF0aW9uIFNvbHV0aW9ufSwgICBcbiAgICB0aXRsZT17V2hhdCBpcyBQdWxtb255emU/fSwgICBcbiAgICB5ZWFyPXsyMDE5fSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3LnB1bG1venltZS5nbG9iYWwvaG9tZS5odG1sfSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDA3LiBBdWd1c3QgMjAyNH0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7cHVsbW96eW1lX2FwcHJvdmFsX0NERVIsICAgXG4gICAgYXV0aG9yPXtDZW50ZXIgZm9yIERydWcgRXZhbHVhdGlvbiBhbmQgUmVzZWFyY2ggKENERVIpfSwgICBcbiAgICB0aXRsZT17Q0RFUiBMaXN0IG9mIExpY2Vuc2VkIEJpb2xvZ2ljYWwgUHJvZHVjdHMgd2l0aCBSZWZlcmVuY2UgUHJvZHVjdCBFeGNsdXNpdml0eSBhbmQgQmlvc2ltaWxhcml0eSBvciBJbnRlcmNoYW5nZWFiaWxpdHkgRXZhbHVhdGlvbnN9LCAgIFxuICAgIHllYXI9ezIwMTl9LCAgIFxuICAgIHVybD17ZmlsZTovLy9tbnQvZGF0YS9DREVSJTIwTGlzdCUyMG9mJTIwTGljZW5zZWQlMjBCaW9sb2dpY2FsJTIwUHJvZHVjdHMlMjA0LTI0LTIwMTlfLnBkZn0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7Q0ZGMjIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e0N5c3RpYyBGaWJyb3NpcyBGb3VuZGF0aW9ufSwgICBcbiAgICB0aXRsZT17TXVjdXMgVGhpbm5lcnN9LCAgIFxuICAgIHllYXI9ezIwMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cuY2ZmLm9yZy9tYW5hZ2luZy1jZi9tdWN1cy10aGlubmVyc30sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAwNy4gQXVndXN0IDIwMjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle1RlcmxpenppMjAyMSwgICBcbiAgICB0aXRsZT17SHlwZXJ0b25pYyBzYWxpbmUgaW4gcGVvcGxlIHdpdGggY3lzdGljIGZpYnJvc2lzOiByZXZpZXcgb2YgY29tcGFyYXRpdmUgc3R1ZGllcyBhbmQgY2xpbmljYWwgcHJhY3RpY2V9LCAgIFxuICAgIGF1dGhvcj17VGVybGl6emksIFZhbGVyaWEgYW5kIE1hc2ksIEVsZW9ub3JhIGFuZCBGcmFuY2FsYW5jaSwgTWFyY28gYW5kIEJyYWdnaW9uLCBDaGlhcmF9LCAgIFxuICAgIGpvdXJuYWw9e0l0YWxpYW4gSm91cm5hbCBvZiBQZWRpYXRyaWNzfSwgICBcbiAgICB2b2x1bWU9ezQ3fSwgICBcbiAgICBudW1iZXI9ezF9LCAgIFxuICAgIHBhZ2VzPXsxNjh9LCAgIFxuICAgIHllYXI9ezIwMjF9LCAgIFxuICAgIHB1Ymxpc2hlcj17U3ByaW5nZXJ9LCAgIFxuICAgIGRvaT17MTAuMTE4Ni9zMTMwNTItMDIxLTAxMTE3LTF9LCAgIFxuICAgIHVybD17aHR0cHM6Ly9panBvbmxpbmUuYmlvbWVkY2VudHJhbC5jb20vYXJ0aWNsZXMvMTAuMTE4Ni9zMTMwNTItMDIxLTAxMTE3LTF9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBtaXNje0NGRjEyMDI0aW50ZXJuZXQsICAgXG4gICAgYXV0aG9yPXtDeXN0aWMgRmlicm9zaXMgRm91bmRhdGlvbn0sICAgXG4gICAgdGl0bGU9e0FudGliaW90aWNzfSwgICBcbiAgICB5ZWFyPXsyMDI0fSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3LmNmZi5vcmcvbWFuYWdpbmctY2YvYW50aWJpb3RpY3N9LCAgIFxuICAgIG5vdGU9e1p1Z3JpZmYgYW0gMDcuIEF1Z3VzdCAyMDI0fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAbWlzY3tUT0JJMjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17VE9CSVx1MDBBRSBQb2RoYWxlclx1MDBBRX0sICAgXG4gICAgdGl0bGU9e1RPQklcdTAwQUUgUG9kaGFsZXJcdTAwQUV9LCAgIFxuICAgIHllYXI9ezIwMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cudG9iaXBvZGhhbGVyLmNvbS99LCAgIFxuICAgIG5vdGU9e1p1Z3JpZmYgYW0gMDcuIEF1Z3VzdCAyMDI0fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAbWlzY3tFTUEyMjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17RXVyb3BlYW4gTWVkaWNpbmVzIEFnZW5jeX0sICAgXG4gICAgdGl0bGU9e1RvYmkgUG9kaGFsZXJ9LCAgIFxuICAgIHllYXI9ezIwMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cuZW1hLmV1cm9wYS5ldS9lbi9tZWRpY2luZXMvaHVtYW4vRVBBUi90b2JpLXBvZGhhbGVyfSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDA3LiBBdWd1c3QgMjAyNH0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7RU1BMTIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e0V1cm9wZWFuIE1lZGljaW5lcyBBZ2VuY3l9LCAgIFxuICAgIHRpdGxlPXtDYXlzdG9ufSwgICBcbiAgICB5ZWFyPXsyMDI0fSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3LmVtYS5ldXJvcGEuZXUvZW4vbWVkaWNpbmVzL2h1bWFuL0VQQVIvY2F5c3Rvbn0sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAwNy4gQXVndXN0IDIwMjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBtaXNje011a28xMjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17TXVrb3Zpc3ppZG9zZSBlLlZ9LCAgIFxuICAgIHRpdGxlPXtUaGVyYXBpZSBkZXIgQmF1Y2hzcGVpY2hlbGRyXHUwMEZDc2VuZmVobGZ1bmt0aW9uIChQYW5rcmVhc2luc3VmZml6aWVueik6IEVuenltc3Vic3RpdHV0aW9ufSwgICBcbiAgICB5ZWFyPXsyMDI0fSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3Lm11a28uaW5mby9taXR3aXJrZW4vYXJiZWl0c2tyZWlzZS11bmQtYXJiZWl0c2dlbWVpbnNjaGFmdGVuL2FrLWVybmFlaHJ1bmcvZXJuYWVocnVuZ3N0aGVyYXBpZS1iZWktbXVrb3Zpc3ppZG9zZS9wYW5rcmVhc2luc3VmZml6aWVuei11bmQtZW56eW1zdWJzdGl0dXRpb259LCAgIFxuICAgIG5vdGU9e1p1Z3JpZmYgYW0gMDcuIEF1Z3VzdCAyMDI0fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAbWlzY3tDUkVPTjIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e0NSRU9OXHUwMEFFIChwYW5jcmVsaXBhc2UpfSwgICBcbiAgICB0aXRsZT17QWJvdXQgQ1JFT05cdTAwQUV9LCAgIFxuICAgIHllYXI9ezIwMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cuY3Jlb25oY3AuY29tL2Fib3V0LWNyZW9ufSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDA3LiBBdWd1c3QgMjAyNH0gICBcbiAgfWAsICAgXG4gIGBAYXJ0aWNsZXtTYWl0b19YdV9GYXVyZV9NYWd1aXJlX0thbm5hbl9BbHRhZS1UcmFuX1ZvX0Rlc2ltb25lX01hY3JhZV9aaGFuZ18yMDIzLCAgIFxuICAgIHRpdGxlPXtGYW56b3IgaXMgYSBldWthcnlvdGljIHByb2dyYW1tYWJsZSBSTkEtZ3VpZGVkIGVuZG9udWNsZWFzZX0sICAgXG4gICAgdm9sdW1lPXs2MjB9LCAgIFxuICAgIHJpZ2h0cz17MjAyMyBUaGUgQXV0aG9yKHMpfSwgICBcbiAgICBJU1NOPXsxNDc2LTQ2ODd9LCAgIFxuICAgIERPST17MTAuMTAzOC9zNDE1ODYtMDIzLTA2MzU2LTJ9LCAgIFxuICAgIG51bWJlcj17Nzk3NH0sICAgXG4gICAgam91cm5hbD17TmF0dXJlfSwgICBcbiAgICBwdWJsaXNoZXI9e05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSwgICBcbiAgICBhdXRob3I9e1NhaXRvLCBNYWtvdG8gYW5kIFh1LCBQZWl5dSBhbmQgRmF1cmUsIEd1aWxoZW0gYW5kIE1hZ3VpcmUsIFNhbWFudGhhIGFuZCBLYW5uYW4sIFNvdW15YSBhbmQgQWx0YWUtVHJhbiwgSGFuIGFuZCBWbywgU2FtIGFuZCBEZXNpbW9uZSwgQW5BbiBhbmQgTWFjcmFlLCBSaGlhbm5vbiBLLiBhbmQgWmhhbmcsIEZlbmd9LCAgIFxuICAgIHllYXI9ezIwMjN9LCAgIFxuICAgIG1vbnRoPXthdWd9LCAgIFxuICAgIHBhZ2VzPXs2NjAtNjY4fSwgICBcbiAgICBsYW5ndWFnZT17ZW59ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle0xpdV9PcmxvdmFfT2FrZXNfTWFfU3Bpbm5lcl9CYW5leV9DaHVja19UYW5fS25vdHRfLCAgIFxuICAgIHRpdGxlPXtDYXNYIGVuenltZXMgY29tcHJpc2UgYSBkaXN0aW5jdCBmYW1pbHkgb2YgUk5BLWd1aWRlZCBnZW5vbWUgZWRpdG9yc30sICAgXG4gICAgdm9sdW1lPXs1NjZ9LCAgIFxuICAgIHJpZ2h0cz17MjAxOSBUaGUgQXV0aG9yKHMpLCB1bmRlciBleGNsdXNpdmUgbGljZW5jZSB0byBTcHJpbmdlciBOYXR1cmUgTGltaXRlZH0sICAgXG4gICAgSVNTTj17MTQ3Ni00Njg3fSwgICBcbiAgICBET0k9ezEwLjEwMzgvczQxNTg2LTAxOS0wOTA4LXh9LCAgIFxuICAgIG51bWJlcj17Nzc0M30sICAgXG4gICAgam91cm5hbD17TmF0dXJlfSwgICBcbiAgICBwdWJsaXNoZXI9e05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSwgICBcbiAgICBhdXRob3I9e0xpdSwgSnVuLUppZSBhbmQgT3Jsb3ZhLCBOYXRhbGlhIGFuZCBPYWtlcywgQmVuamFtaW4gTC4gYW5kIE1hLCBFbmJvIGFuZCBTcGlubmVyLCBIYW5uYWggQi4gYW5kIEJhbmV5LCBLYXRoZXJpbmUgTC4gTS4gYW5kIENodWNrLCBKb25hdGhhbiBhbmQgVGFuLCBEYW4gYW5kIEtub3R0LCBHYXZpbiBKLiBhbmQgSGFycmluZ3RvbiwgTHVjYXMgQi4gYW5kIEFsLVNoYXllYiwgQmFzZW0gYW5kIFdhZ25lciwgQWxleGFuZGVyIGFuZCBCclx1MDBGNnR6bWFubiwgSnVsaWFuIGFuZCBTdGFhaGwsIEJyZXR0IFQuIGFuZCBUYXlsb3IsIEtpYW4gTC4gYW5kIERlc21hcmFpcywgSm9obiBhbmQgTm9nYWxlcywgRXZhIGFuZCBEb3VkbmEsIEplbm5pZmVyIEEufSwgICBcbiAgICB5ZWFyPXsyMDE5fSwgICBcbiAgICBtb250aD17ZmVifSwgICBcbiAgICBwYWdlcz17MjE4LTIyM30sICAgXG4gICAgbGFuZ3VhZ2U9e2VufSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXtEb21hbl9QYW5kZXlfTmV1Z2ViYXVlcl9Bbl9EYXZpc19SYW5kb2xwaF9NY0Vscm95X0dhb19SYWd1cmEsXG5cdHRpdGxlICAgICAgICA9IHtQaGFnZS1hc3Npc3RlZCBldm9sdXRpb24gYW5kIHByb3RlaW4gZW5naW5lZXJpbmcgeWllbGQgY29tcGFjdCwgZWZmaWNpZW50IHByaW1lIGVkaXRvcnN9LFxuXHRhdXRob3IgICAgICAgPSB7RG9tYW4sIEouIEwuIGFuZCBQYW5kZXksIFMuIGFuZCBOZXVnZWJhdWVyLCBNLiBFLiBhbmQgQW4sIE1laXJ1aSBhbmQgRGF2aXMsIEplc3NpZSBSLiBhbmQgUmFuZG9scGgsIFBleXRvbiBCLiBhbmQgTWNFbHJveSwgQW1iZXIgYW5kIEdhbywgWGluIEQuIGFuZCBSYWd1cmFtLCBBZGl0eWEgYW5kIFJpY2h0ZXIsIE1pY2hlbGxlIEYuIGFuZCBFdmVyZXR0ZSwgS2VsY2VlIEEuIGFuZCBCYW5za290YSwgU2FtYWd5YSBhbmQgVGlhbiwgS2F0aHJ5biBhbmQgVGFvLCBZLiBBbGxlbiBhbmQgVG9sYXIsIEpha3ViIGFuZCBPc2Jvcm4sIE1hcmsgSi4gYW5kIExpdSwgRGF2aWQgUi59LFxuXHR5ZWFyICAgICAgICAgPSAyMDIzLFxuXHRqb3VybmFsICAgICAgPSB7Q2VsbH0sXG5cdHB1Ymxpc2hlciAgICA9IHtFbHNldmllcn0sXG5cdHZvbHVtZSAgICAgICA9IDE4Nixcblx0bnVtYmVyICAgICAgID0gMTgsXG5cdHBhZ2VzICAgICAgICA9IHszOTgzLS00MDAyfSxcblx0ZG9pICAgICAgICAgID0gezEwLjEwMTYvai5jZWxsLjIwMjMuMDcuMDM5fSxcblx0bGFuZ3VhZ2UgICAgID0ge0VuZ2xpc2h9XG59XG5gLCAgIFxuICBcbiAgYEBhcnRpY2xle0lXQVdBS0kyMDA2NzA5LCAgIFxuICAgIHRpdGxlPXtBbmFseXNpcyBvZiB0aGUgWEJQMSBzcGxpY2luZyBtZWNoYW5pc20gdXNpbmcgZW5kb3BsYXNtaWMgcmV0aWN1bHVtIHN0cmVzcy1pbmRpY2F0b3JzfSwgICBcbiAgICBqb3VybmFsPXtCaW9jaGVtaWNhbCBhbmQgQmlvcGh5c2ljYWwgUmVzZWFyY2ggQ29tbXVuaWNhdGlvbnN9LCAgIFxuICAgIHZvbHVtZT17MzUwfSwgICBcbiAgICBudW1iZXI9ezN9LCAgIFxuICAgIHBhZ2VzPXs3MDktNzE1fSwgICBcbiAgICB5ZWFyPXsyMDA2fSwgICBcbiAgICBJU1NOPXswMDA2LTI5MVh9LCAgIFxuICAgIERPST17aHR0cHM6Ly9kb2kub3JnLzEwLjEwMTYvai5iYnJjLjIwMDYuMDkuMTAwfSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzAwMDYyOTFYMDYwMjE1NTN9LCAgIFxuICAgIGF1dGhvcj17SXdhd2FraSwgVGFrYW8gYW5kIEFrYWksIFJ5b2tvfSwgICBcbiAgICBrZXl3b3Jkcz17RVIgc3RyZXNzLCBJUkUxLCBTcGxpY2luZywgVW5mb2xkZWQgcHJvdGVpbiByZXNwb25zZSwgWEJQMX0gICBcbiAgfWAsICAgXG4gICAgICAgXG5cblxuICAgIFxuXG5dIiwgImltcG9ydCB7IEluZm9Cb3ggfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Cb3hlc1wiO1xuaW1wb3J0IHsgVGFiQnV0dG9uUm93IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQnV0dG9uc1wiO1xuaW1wb3J0IENvbGxhcHNpYmxlIGZyb20gXCIuLi9jb21wb25lbnRzL0NvbGxhcHNpYmxlXCI7XG5pbXBvcnQgeyBTdXBTY3JvbGxMaW5rIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvU2Nyb2xsTGlua1wiO1xuaW1wb3J0IHsgSDR9IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyBCdXR0b25Sb3dUYWJzIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvVGFic1wiO1xuaW1wb3J0IFBpZUNoYXJ0IGZyb20gXCIuLi9jb21wb25lbnRzL0dyYXBoXCI7XG5pbXBvcnQgUHJlQ3lzZSBmcm9tIFwiLi4vY29tcG9uZW50cy9wcmVjeXNlXCI7XG5cblxuaW1wb3J0IHsgU2VjdGlvbiwgU3ViZXNjdGlvbiB9IGZyb20gXCIuLi9jb21wb25lbnRzL3NlY3Rpb25zXCI7XG5pbXBvcnQgeyBzeW1wdG9tZGF0YSwgU3ltcHRvbURhdGVuc2F0eiB9IGZyb20gXCIuLi9kYXRhL3N5bXB0b20tZGF0YVwiO1xuaW1wb3J0IHsgZHJ1Z2RhdGEsIERydWdEYXRlbnNhdHogfSBmcm9tIFwiLi4vZGF0YS9kcnVnLWRhdGFcIjtcbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuaW1wb3J0IFByaW1lRWRpdGluZ0NvbXBsZXggZnJvbSBcIi4uL2NvbXBvbmVudHMvQ29tcGxleC1zdmdcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCBEZXNjU291cmNlcyBmcm9tIFwiLi4vc291cmNlcy9kZXNjcmlwdGlvbi1zb3VyY2VzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBEZXNjcmlwdGlvbigpIHsgXG4gICAgdXNlVGFiTmF2aWdhdGlvbigpO1xuICAgIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgICBjb25zdCB7Z29Ub1BhZ2VBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpO1xuICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgbXQtNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJBYnN0cmFjdFwiIGlkPVwiQWJzdHJhY3RcIj5cbiAgICAgICAgICAgICAgICA8cCBpZD1cIm9iZW5pbmRlc2NyaXB0aW9uXCIgPldlIGFyZSBwcm91ZCB0byBpbnRyb2R1Y2UgPFByZUN5c2UvPiwgb3VyIG5leHQtZ2VuZXJhdGlvbiBQcmltZSBFZGl0aW5nIHRlY2hub2xvZ3kgYWltZWQgYXQgZGV2ZWxvcGluZyBhbiBpbm5vdmF0aXZlIGdlbmUgdGhlcmFweSBmb3IgY3lzdGljIGZpYnJvc2lzLCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSBtb3N0IGNvbW1vbiBtdXRhdGlvbiwgPGI+RjUwOGRlbDwvYj4gb2YgdGhlIENGVFIgZ2VuZS4gUHJlQ3lzZSBpcyBkZXNpZ25lZCB0byBhZGRyZXNzIGtleSBsaW1pdGF0aW9ucyBpbiBjdXJyZW50IHRyZWF0bWVudHMsIGluY2x1ZGluZyBsaW1pdGVkIHNpemUsIHNwZWVkLCBwcmVjaXNpb24sIGFuZCBsb25nLXRlcm0gZWZmZWN0aXZlbmVzcy4gT3VyIGFwcHJvYWNoIGludGVncmF0ZXMgPGI+UHJpbWVHdWlkZTwvYj4sIGEgaGlnaGx5IG9wdGltaXplZCBQcmltZSBFZGl0aW5nIHN5c3RlbSwgd2l0aCA8Yj5BaXJCdWRkeTwvYj4sIGEgbm92ZWwgbGlwaWQgbmFub3BhcnRpY2xlIChMTlApIGRlbGl2ZXJ5IHBsYXRmb3JtLiBUaGUgPGI+U09SVCBMTlBzPC9iPiB1c2VkIGluIEFpckJ1ZGR5IGFyZSBvcHRpbWl6ZWQgZm9yIHB1bG1vbmFyeSBkZWxpdmVyeSwgb2ZmZXJpbmcgcHJlY2lzZSBvcmdhbiB0YXJnZXRpbmcgYW5kIHN0cnVjdHVyYWwgc3RhYmlsaXR5IHRocm91Z2hvdXQgdGhlIGluaGFsYXRpb24gcHJvY2Vzcy4gQXMgYSBQb3N0ZG9jIGF0IHRoZSBCcm9hZCBJbnN0aXR1dGUgb2YgTUlUIGFuZCBIYXZhcmRcdTIwMTR3aGVyZSBQcmltZSBFZGl0aW5nIHdhcyBmaXJzdCBwaW9uZWVyZWRcdTIwMTRvYnNlcnZlZCwgXHUyMDFDPGk+RXZlcnlvbmUgaXMgbG9va2luZyBmb3Igc21hbGxlciBwcmltZSBlZGl0b3JzPC9pPlx1MjAxRCBhbmQgUHJpbWVHdWlkZSBlbWJvZGllcyB0aGlzIHZpc2lvbiBieSB1dGlsaXppbmcgYSBzbWFsbGVyLCBtb3JlIGVmZmljaWVudCBlZGl0aW5nIGNvbXBsZXguIFVubGlrZSBjdXJyZW50IHRyZWF0bWVudHMsIHdoaWNoIG9mdGVuIHJlcXVpcmUgZnJlcXVlbnQgYWRtaW5pc3RyYXRpb24gYW5kIHByb3ZpZGUgb25seSB0ZW1wb3JhcnkgcmVsaWVmLCBQcmVDeXNlIGlzIGRldmVsb3BlZCBhcyBhIG1vbnRobHkgYXBwbGllZCB0aGVyYXB5IHdpdGggdGhlIHBvdGVudGlhbCBmb3IgbG9uZ2VyLWxhc3RpbmcgcmVzdWx0cywgcmVkdWNpbmcgdGhlIGZyZXF1ZW5jeSBvZiB1c2UgYW5kIGltcHJvdmluZyBwYXRpZW50IG91dGNvbWVzLiBCeSBsb3dlcmluZyBjb3N0cyBhbmQgaW1wcm92aW5nIGFjY2Vzc2liaWxpdHksIFByZUN5c2UgYWltcyB0byBvZmZlciBhIG1vcmUgYWR2YW5jZWQgYW5kIHVzZXItZnJpZW5kbHkgY3VyZSBmb3IgY3lzdGljIGZpYnJvc2lzLiA8L3A+XG4gICAgICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIk91ciBNb3RpdmF0aW9uXCIgaWQ9XCJPdXIgTW90aXZhdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+T3VyIHByb2plY3Qgc3RhcnRlZCB3aXRoIGEgcGVyc29uYWwgc3RvcnkuIFJhdGhlciB0aGFuIGJlaW5nIGRyaXZlbiBwdXJlbHkgYnkgYWNhZGVtaWMgY3VyaW9zaXR5LCBvdXIgbW90aXZhdGlvbiBjYW1lIGZyb20gc29tZW9uZSBjbG9zZSB0byBvbmUgb2Ygb3VyIHRlYW0gbWVtYmVycyBcdTIwMTQgTWF4IEJlY2ttYW5uLCBhIGZyaWVuZCB3aG8gaGFzIGxpdmVkIHdpdGggQ3lzdGljIEZpYnJvc2lzIChDRikgc2luY2UgaGlzIGJpcnRoLiBTcGVjaWZpY2FsbHksIGhlIGNhcnJpZXMgdGhlIEY1MDhkZWwgbXV0YXRpb24sIHRoZSBtb3N0IGNvbW1vbiBnZW5ldGljIGNhdXNlIG9mIHRoZSBkaXNlYXNlLiBTZWVpbmcgdGhlIGltcGFjdCBvZiBDRiBvbiBoaXMgZGFpbHkgbGlmZVx1MjAxNGZyZXF1ZW50IHRyZWF0bWVudHMgYW5kIHBoeXNpY2FsIHN0cmFpblx1MjAxNG1hZGUgdXMgcmVhbGl6ZSBob3cgbXVjaCBtb3JlIGNhbiBiZSBkb25lIHRvIGltcHJvdmUgdGhlIGxpdmVzIG9mIHRob3NlIGFmZmVjdGVkLCB3aGljaCBpbnNwaXJlZCB1cyB0byBwdXJzdWUgdGhpcyBwcm9qZWN0LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5BcyB3ZSBleHBsb3JlZCBDeXN0aWMgRmlicm9zaXMgZnVydGhlciwgd2Ugd2VyZSBzdHJ1Y2sgYnkgaG93IHdpZGVzcHJlYWQgaXQgaXMsIGJlaW5nIHRoZSBtb3N0IGNvbW1vbiBnZW5ldGljIGRpc29yZGVyIGluIEdlcm1hbnkuIEFwcHJveGltYXRlbHkgNzAlIG9mIHRob3NlIHdpdGggQ0YgYXJlIHNwZWNpZmljYWxseSBhZmZlY3RlZCBieSB0aGUgRjUwOGRlbCBtdXRhdGlvbiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjFcIi8+IC4gVGhpcyBtdXRhdGlvbiBpcyB0aGUgbW9zdCBwcmV2YWxlbnQgYW5kIHdlbGwtc3R1ZGllZCBvZiB0aGUgdGhvdXNhbmRzIG9mIGdlbmV0aWMgdmFyaWF0aW9ucyB0aGF0IGNhdXNlIENGLCBtYWtpbmcgaXQgYW4gaW1wb3J0YW50IGZvY3VzIG9mIHJlc2VhcmNoIGFuZCBpbnRlcnZlbnRpb24uIEluIGZhY3QsIGFib3V0IDkwJSBvZiBFdXJvcGVhbnMgYW5kIGluZGl2aWR1YWxzIG9mIEV1cm9wZWFuIGRlc2NlbnQgd2l0aCBDRiBoYXZlIGF0IGxlYXN0IG9uZSBGNTA4ZGVsIGFsbGVsZSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjJcIi8+PHN1cD4sPC9zdXA+PFN1cFNjcm9sbExpbmsgbGFiZWw9XCIzXCIvPi4gVGhpcyB3aWRlc3ByZWFkIHByZXZhbGVuY2UgaGlnaGxpZ2h0ZWQgdGhlIHNpZ25pZmljYW5jZSBvZiBvdXIgcHJvamVjdFx1MjAxNG5vdCBqdXN0IGZvciBvdXIgZnJpZW5kLCBidXQgZm9yIHRoZSB0aG91c2FuZHMgb2Ygb3RoZXJzIGFmZmVjdGVkIGJ5IHRoaXMgbXV0YXRpb24gYWNyb3NzIEV1cm9wZSBhbmQgYmV5b25kLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL290aGVyL21heC1iaWxkLndlYnBcIi8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgIFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHA+QnkgZm9jdXNpbmcgb24gdGhlIEY1MDhkZWwgbXV0YXRpb24sIHdlIGFsc28gaG9wZSB0byBjb250cmlidXRlIHZhbHVhYmxlIGluc2lnaHRzIHRvIHRoZSBnbG9iYWwgY3lzdGljIGZpYnJvc2lzIGNvbW11bml0eS4gQWx0aG91Z2ggdGhpcyBtdXRhdGlvbiBpcyBtb3N0IGNvbW1vbiBpbiBFdXJvcGVhbiBwb3B1bGF0aW9ucywgaXQgaXMgYWxzbyBmb3VuZCBpbiBvdGhlciByZWdpb25zIGFyb3VuZCB0aGUgd29ybGQgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI0XCIvPjxzdXA+LDwvc3VwPjxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNVwiLz4uIE91ciByZXNlYXJjaCBjb3VsZCB0aHVzIGhlbHAgaW5mb3JtIHRyZWF0bWVudCBzdHJhdGVnaWVzIGFuZCBoZWFsdGggcG9saWNpZXMgb24gYW4gaW50ZXJuYXRpb25hbCBzY2FsZS4gPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5XaXRoIHNldmVyYWwgdGVhbSBtZW1iZXJzIGZvY3VzaW5nIHRoZWlyIHN0dWRpZXMgb24gYmlvbWVkaWNhbCBmaWVsZHMsIHdlIGJlZ2FuIGJ5IGV4YW1pbmluZyB0aGUgY3VycmVudCBsYW5kc2NhcGUgb2YgQ0YgdHJlYXRtZW50cy4gSXQgcXVpY2tseSBiZWNhbWUgY2xlYXIgdGhhdCwgZGVzcGl0ZSByZWNlbnQgcHJvZ3Jlc3MsIHRoZXJlIGlzIHN0aWxsIG5vIGN1cmUuIE1vc3QgdGhlcmFwaWVzLCBzdWNoIGFzIENGVFIgbW9kdWxhdG9ycywgZm9jdXMgb24gbWFuYWdpbmcgc3ltcHRvbXMgYW5kIGltcHJvdmluZyBsdW5nIGZ1bmN0aW9uIHJhdGhlciB0aGFuIGFkZHJlc3NpbmcgdGhlIHVuZGVybHlpbmcgY2F1c2Ugb2YgdGhlIGRpc2Vhc2UgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2XCIvPiAuIFRoaXMgcmVhbGl6YXRpb24gbGVkIHVzIHRvIGV4cGxvcmUgZ2VuZS1lZGl0aW5nIHRlY2hub2xvZ2llcywgdGh1cyBsZWFkaW5nIHVzIHRvIFByaW1lIEVkaXRpbmdcdTIwMTRhIG5leHQgZ2VuZXJhdGlvbiBnZW5lIGVkaXRpbmcgbWV0aG9kXHUyMDE0Y2FwdHVyZWQgb3VyIGF0dGVudGlvbi4gPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5XaGlsZSBQcmltZSBFZGl0aW5nIGhvbGRzIGdyZWF0IHByb21pc2UsIHdlIGZvdW5kIHRoYXQgaXRzIGFwcGxpY2F0aW9uIGZvciBjeXN0aWMgZmlicm9zaXMsIHBhcnRpY3VsYXJseSB0aGUgRjUwOGRlbCBtdXRhdGlvbiwgaGFkIG5vdCBiZWVuIGZ1bGx5IGV4cGxvcmVkLiBSZWNvZ25pemluZyB0aGlzIGdhcCBpbiB0aGUgcmVzZWFyY2ggaW5zcGlyZWQgdXMgdG8gdGFrZSBvbiB0aGUgY2hhbGxlbmdlIG9mIG9wdGltaXppbmcgUHJpbWUgRWRpdGluZyBmb3IgdGhpcyBzcGVjaWZpYyBtdXRhdGlvbi4gT3VyIG1pc3Npb24gYmVjYW1lIGNsZWFyOiB3ZSB3YW50IHRvIGNvbnRyaWJ1dGUgdG8gdGhlIGRldmVsb3BtZW50IG9mIGEgcG90ZW50aWFsIHRoZXJhcGV1dGljIGFwcHJvYWNoIGZvciBjeXN0aWMgZmlicm9zaXMsIHNwZWNpZmljYWxseSB0YXJnZXRpbmcgdGhlIEY1MDhkZWwgbXV0YXRpb24gd2l0aCBwcmltZSBlZGl0aW5nLCBhbmQgYnJpbmcgdXMgY2xvc2VyIHRvIGEgbG9uZy10ZXJtIHNvbHV0aW9uIGZvciBwYXRpZW50cy4gPC9wPlxuICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJDeXN0aWMgRmlicm9zaXNcIiBpZD1cIkN5c3RpYyBGaWJyb3Npc1wiPlxuICAgICAgICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiT3ZlcnZpZXdcIiBpZD1cIkN5c3RpYyBGaWJyb3NpczFcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGRhdGEtYW9zPVwiem9vbS15LW91dFwiID5DeXN0aWMgRmlicm9zaXMgKENGKSBpcyBhIGNvbW1vbiBsaWZlLWxpbWl0aW5nIGdlbmV0aWMgZGlzb3JkZXIsIHBhcnRpY3VsYXJseSBhZmZlY3RpbmcgdGhlIENhdWNhc2lhbiBwb3B1bGF0aW9uLCB3aXRoIGFwcHJveGltYXRlbHkgPGI+MTYyLDQwMCBwZW9wbGUgd29ybGR3aWRlPC9iPiBsaXZpbmcgd2l0aCB0aGUgY29uZGl0aW9uIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiN1wiLz4gLiBTdGF0aXN0aWNhbGx5LCBhYm91dCA8Yj5vbmUgaW4gZXZlcnkgMywzMDA8L2I+IHdoaXRlIG5ld2Jvcm5zIGlzIGJvcm4gd2l0aCBDRiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjhcIi8+IC4gQW5kIGFjY29yZGluZyB0byB0aGUgR2VybWFuIEN5c3RpYyBGaWJyb3NpcyBSZWdpc3RyeSwgdGhlIGF2ZXJhZ2UgbGlmZSBleHBlY3RhbmN5IGZvciBjaGlsZHJlbiBib3JuIHdpdGggQ0YgaW4gMjAyMSB3YXMgYXJvdW5kIDU3IHllYXJzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiOVwiLz4gLCBoaWdobGlnaHRpbmcgdGhlIHNldmVyZSBhbmQgbGlmZS1zaG9ydGVuaW5nIG5hdHVyZSBvZiB0aGUgZGlzZWFzZS4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBtb2Rlcm4gdW5kZXJzdGFuZGluZyBvZiBDRiBkYXRlcyBiYWNrIHRvIDE5MzIgd2hlbiBEci4gRG9yb3RoeSBBbmRlcnNlbiwgYSBwZWRpYXRyaWMgc3BlY2lhbGlzdCwgZmlyc3QgZGVzY3JpYmVkIHRoZSBkaXNlYXNlIGFuZCBjb2luZWQgdGhlIHRlcm0gXCJDeXN0aWMgRmlicm9zaXNcIiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjEwXCIvPiAuIEluIEdlcm1hbnksIGl0IGlzIGNvbW1vbmx5IGtub3duIGFzIFwiTXVrb3Zpc3ppZG9zZSxcIiBkZXJpdmVkIGZyb20gdGhlIExhdGluIHdvcmRzIG1lYW5pbmcgXCJtdWN1c1wiIGFuZCBcInZpc2NvdXNcIiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjEwXCIvPiAsIGVtcGhhc2l6aW5nIHRoZSBjaGFyYWN0ZXJpc3RpYyB0aGljaywgc3RpY2t5IG11Y3VzIHRoYXQgZGVmaW5lcyB0aGUgY29uZGl0aW9uIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTFcIi8+PHN1cD4sPC9zdXA+PFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxMlwiLz4uIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5HZW5ldGljIHJlc2VhcmNoIGhhcyBpZGVudGlmaWVkIG92ZXIgMSw3MDAgbXV0YXRpb25zIGluIHRoZSBDRlRSIChDeXN0aWMgRmlicm9zaXMgVHJhbnNtZW1icmFuZSBDb25kdWN0YW5jZSBSZWd1bGF0b3IpIGdlbmUsIHdpdGggdGhlIFx1MjIwNkY1MDggbXV0YXRpb24gYmVpbmcgdGhlIG1vc3QgY29tbW9uLCBhZmZlY3RpbmcgYWJvdXQgNzAlIG9mIENGIHBhdGllbnRzLiBUaGlzIG11dGF0aW9uIHByZXZlbnRzIHRoZSBwcm9wZXIgZm9sZGluZyBvZiB0aGUgQ0ZUUiBwcm90ZWluLCBzaWduaWZpY2FudGx5IGltcGFpcmluZyBpdHMgZnVuY3Rpb24gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxM1wiLz4gLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIENGVFIgcHJvdGVpbiByZWd1bGF0ZXMgdGhlIGZsb3cgb2YgY2hsb3JpZGUgaW9ucyBhY3Jvc3MgdGhlIG1lbWJyYW5lcyBvZiBjZWxscyBpbiB0aGUgbHVuZ3MsIGRpZ2VzdGl2ZSBzeXN0ZW0sIGFuZCBvdGhlciBvcmdhbnMuIFRoaXMgaW9uIGZsb3cgaXMgZXNzZW50aWFsIGZvciBkcmF3aW5nIHdhdGVyIGludG8gc3Vycm91bmRpbmcgdGlzc3Vlcywgd2hpY2ggaGVscHMgbWFpbnRhaW4gdGhlIHByb3BlciBoeWRyYXRpb24gYW5kIGNvbnNpc3RlbmN5IG9mIG11Y3VzLiBJbiBwYXRpZW50cyB3aXRoIENGLCB0aGUgZGlzcnVwdGlvbiBvZiB0aGlzIHByb2Nlc3MgcHJldmVudHMgc3VmZmljaWVudCB3YXRlciBmcm9tIGVudGVyaW5nIHRoZSBtdWN1cywgbWFraW5nIGl0IGFibm9ybWFsbHkgdGhpY2sgYW5kIHN0aWNreS4gVGhlIGFjY3VtdWxhdGlvbiBvZiB0aGlzIG11Y3VzIGxlYWRzIHRvIGFuIG9ic3RydWN0aW9uIG9mIGFpcndheXMgYW5kIGRpZ2VzdGl2ZSBkdWN0cywgcmVzdWx0aW5nIGluIGNocm9uaWMgbHVuZyBpbmZlY3Rpb25zLCBpbmZsYW1tYXRpb24sIGltcGFpcmVkIGRpZ2VzdGlvbiwgYW5kIG1hbG51dHJpdGlvbjxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTRcIi8+IC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FzZXR0ZWNvbnRhaW5lclwiID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcHJvamVjdC1kZXNjcmlwdGlvbi9sdW5nLWVwaGl0ZWwtYmlvcmVuZGVyLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgMTogPC9iPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMdW5nIGVwaGl0ZWxpdW0gb2YgaHVtYW4gd2l0aCBjb3JyZWN0IENGVFIgZXhwcmVzc2lvbiAobGVmdCkgYW5kIEN5c3RpYyBGaWJyb3NpcyAocmlnaHQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cImNsYXNzZXMtbXV0YXRpb25zLWNvbGxhcHNpYmxlXCIgdGl0bGU9XCJEaWZmZXJlbnQgY2xhc3NlcyBvZiBtdXRhdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgbXV0YXRpb25zIGNhbiBiZSBkaXZpZGVkIGludG8gPHU+c2l4IGNsYXNzZXM8L3U+IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTVcIi8+IDo8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGI+Q2xhc3MgSTwvYj4gbXV0YXRpb25zIHByZXZlbnQgdGhlIHN5bnRoZXNpcyBvZiBDRlRSIHByb3RlaW5zIGFsdG9nZXRoZXIsIG1lYW5pbmcgbm8gY2hhbm5lbHMgYXJlIHByb2R1Y2VkLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj5DbGFzcyBJPC9iPiBtdXRhdGlvbnMsIHdoaWNoIGluY2x1ZGUgdGhlIGNvbW1vbiBGNTA4ZGVsIG11dGF0aW9uIChyZXNwb25zaWJsZSBmb3IgYWJvdXQgODUlIG9mIGNhc2VzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTZcIi8+ICwgZGlzcnVwdCB0aGUgbWF0dXJhdGlvbiBwcm9jZXNzIG9mIHRoZSBwcm90ZWluLiBBcyBhIHJlc3VsdCwgdGhlIGRlZmVjdGl2ZSBjaGFubmVscyBhcmUgcXVpY2tseSBkZWdyYWRlZCBieSB0aGUgY2VsbC48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGI+Q2xhc3MgSTwvYj4gbXV0YXRpb25zLCBrbm93biBhcyBcdTIwMUNnYXRpbmdcdTIwMUQgbXV0YXRpb25zLCByZWR1Y2UgdGhlIGxpa2VsaWhvb2QgdGhhdCB0aGUgQ0ZUUiBjaGFubmVsIHdpbGwgb3BlbiBjb3JyZWN0bHksIGltcGFpcmluZyBpdHMgZnVuY3Rpb24uPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxiPkNsYXNzIElWLCBWPC9iPiBhbmQgPGI+Vkk8L2I+IG11dGF0aW9ucyBhcmUgcmFyZS4gVGhlc2UgbXV0YXRpb25zIHJlc3VsdCBpbiB0aGUgcHJvZHVjdGlvbiBvZiB1bnN0YWJsZSBvciBpbmVmZmljaWVudCBDRlRSIHByb3RlaW5zLCB3aGljaCBkbyBub3QgZnVuY3Rpb24gYWRlcXVhdGVseSBhbmQgYXJlIHByb2R1Y2VkIGluIGluc3VmZmljaWVudCBudW1iZXJzLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBwcmV2YWxlbmNlIG9mIENGIHZhcmllcyBnbG9iYWxseSwgd2l0aCBoaWdoZXIgY29uY2VudHJhdGlvbnMgb2YgY2FzZXMgaW4gRXVyb3BlLCBOb3J0aCBBbWVyaWNhLCBhbmQgcGFydHMgb2YgT2NlYW5pYS4gVGhpcyBnZW9ncmFwaGljIHZhcmlhdGlvbiB1bmRlcnNjb3JlcyB0aGUgbmVlZCBmb3IgcmVnaW9uYWxseSB0YWlsb3JlZCBoZWFsdGhjYXJlIHNvbHV0aW9ucy4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhc2V0dGVjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9jaGFydHMtbWFwcy9jZnBlcjEwLTAwMC5wbmdcIj48L2ltZz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Q0YgaXMgb2Z0ZW4gZGlhZ25vc2VkIGVhcmx5IHRocm91Z2ggbmV3Ym9ybiBzY3JlZW5pbmcgcHJvZ3JhbXMsIHdoaWNoIGRldGVjdCBlbGV2YXRlZCBsZXZlbHMgb2YgaW1tdW5vcmVhY3RpdmUgdHJ5cHNpbm9nZW4gKElSVCkuIEEgcG9zaXRpdmUgcmVzdWx0IHR5cGljYWxseSBsZWFkcyB0byBhIHN3ZWF0IHRlc3QsIHRoZSBnb2xkIHN0YW5kYXJkIGZvciBkaWFnbm9zaW5nIENGLCB3aGljaCBtZWFzdXJlcyB0aGUgY29uY2VudHJhdGlvbiBvZiBjaGxvcmlkZSBpbiBzd2VhdC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkFsdGhvdWdoIHRoZXJlIGlzIGN1cnJlbnRseSBubyBjdXJlIGZvciBDRiwgcGF0aWVudHMgbXVzdCBtYW5hZ2UgdGhlIGRpc2Vhc2UgdGhyb3VnaG91dCB0aGVpciBsaXZlcywgcmVseWluZyBvbiB0cmVhdG1lbnRzIHRoYXQgYWxsZXZpYXRlIHN5bXB0b21zIGJ1dCBkbyBub3QgYWRkcmVzcyB0aGUgcm9vdCBjYXVzZS4gVGhpcyBsaWZlbG9uZyBtYW5hZ2VtZW50IGltcG9zZXMgc2lnbmlmaWNhbnQgZmluYW5jaWFsIGJ1cmRlbnMgb24gYWZmZWN0ZWQgZmFtaWxpZXMgYW5kIGhlYWx0aGNhcmUgc3lzdGVtcywgcGFydGljdWxhcmx5IGluIHJlZ2lvbnMgd2l0aCBhIGhpZ2ggcHJldmFsZW5jZSBvZiBDRiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE1XCIvPiAuIEluIHJlY2VudCB5ZWFycywgPGI+Q0ZUUiBtb2R1bGF0b3JzPC9iPiwgd2hpY2ggdGFyZ2V0IHRoZSB1bmRlcmx5aW5nIGdlbmV0aWMgZGVmZWN0LCBoYXZlIG9mZmVyZWQgbmV3IGhvcGUgZm9yIG1hbnkgcGF0aWVudHMuIDwvcD5cbiAgICAgICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJUaGUgQ0ZUUiBQcm90ZWluXCIgaWQ9XCJDeXN0aWMgRmlicm9zaXMyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwPlRoZSBDRlRSIChDeXN0aWMgRmlicm9zaXMgVHJhbnNtZW1icmFuZSBDb25kdWN0YW5jZSBSZWd1bGF0b3IpIHByb3RlaW4gaXMgYW4gaW9uIGNoYW5uZWwgdGhhdCBmYWNpbGl0YXRlcyB0aGUgbW92ZW1lbnQgb2YgY2hsb3JpZGUgaW9ucyBhY3Jvc3MgZXBpdGhlbGlhbCBjZWxsIG1lbWJyYW5lcyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE3XCIvPiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE4XCIvPiAuIFRoaXMgbW92ZW1lbnQgaXMgZXNzZW50aWFsIGZvciBjb250cm9sbGluZyB0aGUgZmxvdyBvZiB3YXRlciBpbiB0aXNzdWVzIHN1Y2ggYXMgdGhlIGx1bmdzIGFuZCBpbnRlc3RpbmVzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTlcIi8+IC4gVGhpcyBpbmNyZWFzZSBpbiBpb24gY29uY2VudHJhdGlvbiBpbiB0aGUgZXh0cmFjZWxsdWxhciBzcGFjZSBkcmF3cyB3YXRlciBvdXQgb2YgdGhlIGNlbGxzIGFuZCBpbnRvIHRoZSBzdXJyb3VuZGluZyBtdWN1cyBvciBmbHVpZCwgZW5zdXJpbmcgaXQgc3RheXMgdGhpbiBhbmQgbW9iaWxlIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjBcIi8+IC48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlRoZSBDeXN0aWMgRmlicm9zaXMgVHJhbnNtZW1icmFuZSBDb25kdWN0YW5jZSBSZWd1bGF0b3IgKENGVFIpIHByb3RlaW4gaXMgYSBzcGVjaWFsaXplZCBwcm90ZWluIHRoYXQgcGxheXMgYSBjcnVjaWFsIHJvbGUgaW4gbWFpbnRhaW5pbmcgdGhlIGJhbGFuY2Ugb2YgaW9ucyBhbmQgd2F0ZXIgb24gdGhlIHN1cmZhY2Ugb2YgY2VydGFpbiBjZWxscywgcGFydGljdWxhcmx5IGluIHRoZSBsdW5ncywgcGFuY3JlYXMsIGFuZCBvdGhlciBvcmdhbnMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxOFwiLz4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyMVwiLz4gLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiU3RydWN0dXJlIG9mIENGVFJcIiBpZD1cInN0cnVjdHVyZS1jZnRyXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNGVFIgaXMgYSBsYXJnZSBwcm90ZWluIGVtYmVkZGVkIGluIHRoZSBjZWxsIG1lbWJyYW5lLiBJdCBiZWxvbmdzIHRvIGEgZmFtaWx5IG9mIHByb3RlaW5zIGtub3duIGFzIEFCQyB0cmFuc3BvcnRlcnMgKEFUUC1CaW5kaW5nIENhc3NldHRlIHRyYW5zcG9ydGVycyksIHdoaWNoIHR5cGljYWxseSBtb3ZlIG1vbGVjdWxlcyBhY3Jvc3MgY2VsbCBtZW1icmFuZXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxN1wiLz4gLiBDRlRSLCBob3dldmVyLCBpcyB1bmlxdWUgYmVjYXVzZSBpdCBmdW5jdGlvbnMgYXMgYW4gaW9uIGNoYW5uZWwgcmF0aGVyIHRoYW4gYSB0cmFuc3BvcnRlciA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE4XCIvPiAuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBwcm90ZWluIGNvbnNpc3RzIG9mIHNldmVyYWwgaW1wb3J0YW50IHJlZ2lvbnM6IDwvcD4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPlR3byB0cmFuc21lbWJyYW5lIGRvbWFpbnMgKFRNRHMpPC9iPjogVGhlc2Ugc3BhbiB0aGUgY2VsbCBtZW1icmFuZSBhbmQgY3JlYXRlIHRoZSBjaGFubmVsIHRocm91Z2ggd2hpY2ggaW9ucyBjYW4gZmxvdyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjIwXCIvPiAuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+VHdvIG51Y2xlb3RpZGUtYmluZGluZyBkb21haW5zIChOQkRzKTwvYj46IExvY2F0ZWQgb24gdGhlIGN5dG9wbGFzbWljIHNpZGUgb2YgdGhlIG1lbWJyYW5lLCB0aGVzZSBkb21haW5zIGJpbmQgYW5kIGh5ZHJvbHl6ZSBBVFAgKGFkZW5vc2luZSB0cmlwaG9zcGhhdGUpLiBBVFAgYmluZGluZyBhbmQgaHlkcm9seXNpcyByZWd1bGF0ZSB0aGUgb3BlbmluZyBhbmQgY2xvc2luZyBvZiB0aGUgY2hsb3JpZGUgY2hhbm5lbCA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE3XCIvPiAgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyMVwiLz4gLjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPlJlZ3VsYXRvcnkgKFIpIGRvbWFpbjwvYj46IFRoaXMgZG9tYWluIGlzIHVuaXF1ZSB0byBDRlRSIGFuZCBjb250cm9scyB0aGUgYWN0aXZpdHkgb2YgdGhlIHByb3RlaW4uIEl0IHJlcXVpcmVzIHBob3NwaG9yeWxhdGlvbiBieSBwcm90ZWluIGtpbmFzZSBBIChQS0EpIHRvIGFjdGl2YXRlIHRoZSBpb24gY2hhbm5lbCA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE4XCIvPiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE5XCIvPiAuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlndXJlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGdpZi13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJDRlRSLWdpZlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Zhbnpvci9jZnRyLXd0LmdpZlwiPjwvaW1nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+QW5pbWF0aW9uIDE6PC9iPiBNb2RlbCBvZiBhIGZ1bmN0aW9uYWwgQ0ZUUiBFbnp5bWUuPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJGdW5jdGlvbiBvZiBDRlRSXCIgaWQ9XCJmdW5jdGlvbi1jZnRyXCIgLz4gICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+Q0ZUUiBmdW5jdGlvbnMgcHJpbWFyaWx5IGFzIGEgY2hsb3JpZGUgaW9uIGNoYW5uZWwuIEl0IGlzIHJlc3BvbnNpYmxlIGZvciB0cmFuc3BvcnRpbmcgY2hsb3JpZGUgaW9ucyAoQ2xcdTIwN0IpIGFjcm9zcyBlcGl0aGVsaWFsIGNlbGwgbWVtYnJhbmVzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTdcIi8+IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjBcIi8+IC4gSGVyZSdzIGhvdyBpdCB3b3Jrczo8L3A+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPG9sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5SZWd1bGF0aW9uIGJ5IHBob3NwaG9yeWxhdGlvbjwvYj46IFRoZSBSIGRvbWFpbiBtdXN0IGZpcnN0IGJlIHBob3NwaG9yeWxhdGVkIGJ5IFBLQSB0byBhbGxvdyBjaGFubmVsIGFjdGl2YXRpb24uIFRoaXMgcGhvc3Bob3J5bGF0aW9uIGlzIG9mdGVuIHRyaWdnZXJlZCBieSBjeWNsaWMgQU1QIChjQU1QKSwgYSBzaWduYWxpbmcgbW9sZWN1bGUgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyMVwiLz4gLjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPk9wZW5pbmcgdGhlIGNoYW5uZWw8L2I+OiBPbmNlIHRoZSBSIGRvbWFpbiBpcyBwaG9zcGhvcnlsYXRlZCwgQVRQIGJpbmRzIHRvIHRoZSBOQkRzLCBjYXVzaW5nIGNvbmZvcm1hdGlvbmFsIGNoYW5nZXMgdGhhdCBvcGVuIHRoZSBjaGxvcmlkZSBjaGFubmVsIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMThcIi8+IC48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5DaGxvcmlkZSB0cmFuc3BvcnQ8L2I+OiBXaXRoIHRoZSBjaGFubmVsIG9wZW4sIGNobG9yaWRlIGlvbnMgbW92ZSBmcm9tIGluc2lkZSB0aGUgY2VsbCB0byB0aGUgb3V0c2lkZS4gVGhpcyBtb3ZlbWVudCBvZiBjaGxvcmlkZSBoZWxwcyBkcmF3IHdhdGVyIG91dCBvZiB0aGUgY2VsbCwgdGhpbm5pbmcgbXVjdXMgYW5kIG1haW50YWluaW5nIHByb3BlciBoeWRyYXRpb24gb2YgdGhlIGVwaXRoZWxpYWwgc3VyZmFjZXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxOVwiLz4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyMFwiLz4gLjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkNsb3NpbmcgdGhlIGNoYW5uZWw8L2I+OiBIeWRyb2x5c2lzIG9mIEFUUCBjYXVzZXMgdGhlIGNoYW5uZWwgdG8gY2xvc2UgYWZ0ZXIgYSBjZXJ0YWluIHBlcmlvZCwgdGlnaHRseSByZWd1bGF0aW5nIGNobG9yaWRlIHRyYW5zcG9ydCA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE3XCIvPiAuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvb2w+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+Q0ZUUiBwbGF5cyBhIGNyaXRpY2FsIHJvbGUgaW4gbWFpbnRhaW5pbmcgdGhlIGZsdWlkIGJhbGFuY2Ugb24gdGhlIHN1cmZhY2VzIG9mIHRpc3N1ZXMgc3VjaCBhcyB0aGUgYWlyd2F5cywgZGlnZXN0aXZlIHRyYWN0IGFuZCBzd2VhdCBnbGFuZHMuIEJ5IGFsbG93aW5nIGNobG9yaWRlIGlvbnMgdG8gZmxvdyBvdXQgb2YgdGhlIGNlbGxzLCBDRlRSIGVuc3VyZXMgdGhhdCB3YXRlciBmb2xsb3dzLCBwcmV2ZW50aW5nIHRoZSBhY2N1bXVsYXRpb24gb2YgdGhpY2ssIHN0aWNreSBtdWN1cyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE5XCIvPiAuPC9wPlxuICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkNGVFIgaW4gQ3lzdGljIEZpYnJvc2lzXCIgaWQ9XCJDRlRSLWluLWNmdHJcIiAvPiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkluIHRoZSBsdW5ncywgdGhpcyB3YXRlciBtb3ZlbWVudCBpcyBjcnVjaWFsIGZvciBtYWludGFpbmluZyBhIHRoaW4sIHNsaXBwZXJ5IGxheWVyIG9mIG11Y3VzIHRoYXQgY2FuIHRyYXAgYW5kIHJlbW92ZSBwYXJ0aWNsZXMgbGlrZSBkdXN0IGFuZCBiYWN0ZXJpYS4gVGhlIG11Y3VzIGlzIHRoZW4gbW92ZWQgb3V0IG9mIHRoZSBsdW5ncyBieSB0aGUgYWN0aW9uIG9mIGNpbGlhLCB0aW55IGhhaXItbGlrZSBzdHJ1Y3R1cmVzIG9uIHRoZSBzdXJmYWNlIG9mIGVwaXRoZWxpYWwgY2VsbHMuIFdoZW4gdGhlIENGVFIgcHJvdGVpbiBpcyBkZWZlY3RpdmUsIGFzIGluIGN5c3RpYyBmaWJyb3NpcywgY2hsb3JpZGUgY2Fubm90IHByb3Blcmx5IGV4aXQgdGhlIGNlbGxzLiBUaGlzIGRpc3J1cHRzIHRoZSBvc21vdGljIGdyYWRpZW50LCBwcmV2ZW50aW5nIHdhdGVyIGZyb20gZW50ZXJpbmcgdGhlIG11Y3VzLiBBcyBhIHJlc3VsdCwgdGhlIG11Y3VzIGJlY29tZXMgdGhpY2sgYW5kIHN0aWNreSwgbWFraW5nIGl0IGRpZmZpY3VsdCB0byBjbGVhciBhbmQgY3JlYXRpbmcgYW4gaWRlYWwgZW52aXJvbm1lbnQgZm9yIGJhY3RlcmlhbCBpbmZlY3Rpb25zLCB3aGljaCBsZWFkcyB0byBjaHJvbmljIGluZmxhbW1hdGlvbiBhbmQgbHVuZyBkYW1hZ2Ugb3ZlciB0aW1lLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkluIHRoZSBpbnRlc3RpbmVzLCBDRlRSIHJlZ3VsYXRlcyBmbHVpZCBzZWNyZXRpb24gaW50byB0aGUgZGlnZXN0aXZlIHRyYWN0LCB3aGljaCBpcyB2aXRhbCBmb3IgdGhlIG5vcm1hbCBtb3ZlbWVudCBvZiBkaWdlc3RpdmUgY29udGVudHMuIFdpdGhvdXQgcHJvcGVyIENGVFIgZnVuY3Rpb24sIHdhdGVyIG1vdmVtZW50IGlzIHJlZHVjZWQsIGxlYWRpbmcgdG8gdGhpY2tlbmVkIGRpZ2VzdGl2ZSBmbHVpZHMsIGJsb2NrYWdlcywgYW5kIGltcGFpcmVkIG51dHJpZW50IGFic29ycHRpb24uIFRoaXMgY29udHJpYnV0ZXMgdG8gbWFsbnV0cml0aW9uIGFuZCBvdGhlciBkaWdlc3RpdmUgY29tcGxpY2F0aW9ucyBpbiBjeXN0aWMgZmlicm9zaXMgcGF0aWVudHMuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkJ5IGNvcnJlY3RpbmcgdGhlIGdlbmV0aWMgbXV0YXRpb25zIHRoYXQgbGVhZCB0byBDRlRSIG1hbGZ1bmN0aW9uLCBzdWNoIGFzIHRoZSBcdTIyMDZGNTA4IG11dGF0aW9uLCB3ZSBhaW0gdG8gcmVzdG9yZSB0aGUgcHJvcGVyIGJhbGFuY2Ugb2YgY2hsb3JpZGUgYW5kIHdhdGVyIG1vdmVtZW50LCB3aGljaCBpcyBjcnVjaWFsIGZvciBwcmV2ZW50aW5nIHRoZSBidWlsZHVwIG9mIG11Y3VzIGFuZCBlbnN1cmluZyBub3JtYWwgZnVuY3Rpb24gaW4gYm90aCB0aGUgcmVzcGlyYXRvcnkgYW5kIGRpZ2VzdGl2ZSBzeXN0ZW1zLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJGNTA4ZGVsXCIgaWQ9XCJDeXN0aWMgRmlicm9zaXMzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwPk1vcmUgdGhhbiAxLDAwMCBtdXRhdGlvbnMgaW4gdGhlIENGVFIgZ2VuZSBhcmUgcmVzcG9uc2libGUgZm9yIHRoZSBkZXZlbG9wbWVudCBvZiBjeXN0aWMgZmlicm9zaXMuIFRoZSBtb3N0IGNvbW1vbiB2YXJpYW50IGlzIHRoZSBGNTA4ZGVsIG11dGF0aW9uLCBmb3VuZCBpbiBhcHByb3hpbWF0ZWx5IDcwJSBvZiBhZmZlY3RlZCBpbmRpdmlkdWFscyBvZiBDYXVjYXNpYW4gZGVzY2VudCBpbiBDYW5hZGEsIE5vcnRoZXJuIEV1cm9wZSwgYW5kIHRoZSBVbml0ZWQgU3RhdGVzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjJcIi8+IC4gSXQgaXMgZXN0aW1hdGVkIHRoYXQgYXJvdW5kIDkwJSBvZiBwZW9wbGUgd2l0aCBjeXN0aWMgZmlicm9zaXMgaW4gRXVyb3BlIGFuZCB0aG9zZSBvZiBFdXJvcGVhbiBoZXJpdGFnZSBjYXJyeSBhdCBsZWFzdCBvbmUgRjUwOGRlbCBhbGxlbGUgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyM1wiLz48c3VwPiw8L3N1cD48U3VwU2Nyb2xsTGluayBsYWJlbD1cIjI0XCIvPi4gUmVzZWFyY2ggc3VnZ2VzdHMgdGhhdCB0aGlzIG11dGF0aW9uIG9yaWdpbmF0ZWQgaW4gV2VzdGVybiBFdXJvcGUgYXQgbGVhc3QgNSwwMDAgeWVhcnMgYWdvIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjNcIi8+IC48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlRoZSBGNTA4ZGVsIG11dGF0aW9uIGludm9sdmVzIHRoZSBkZWxldGlvbiBvZiB0aHJlZSBudWNsZW90aWRlcywgXCJDVFQsXCIgYXQgcG9zaXRpb24gNTA4LCB3aGljaCByZW1vdmVzIGEgcGhlbnlsYWxhbmluZSByZXNpZHVlIHdpdGhvdXQgY2F1c2luZyBhIGZyYW1lc2hpZnQuIFRoaXMgZGVsZXRpb24gaW1wYWlycyB0aGUga2luZXRpYyBhbmQgdGhlcm1vZHluYW1pYyBmb2xkaW5nIG9mIHRoZSBOQkQxIGRvbWFpbiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjI0XCIvPiAuIEFzIGEgcmVzdWx0LCB0aGUgQ0ZUUiBwcm90ZWluIG5vdCBvbmx5IG1pc2ZvbGRzIGJ1dCBhbHNvIGV4cGVyaWVuY2VzIGRlZmVjdHMgaW4gdHJhZmZpY2tpbmcgYW5kIHByZW1hdHVyZSBkZWdyYWRhdGlvbiwgbGVhZGluZyB0byBhIHJlZHVjdGlvbiBpbiBpdHMgc3VyZmFjZSBleHByZXNzaW9uIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjVcIi8+IC4gVGhpcyBzcGVjaWZpYyBtdXRhdGlvbiBpcyBwYXJ0aWN1bGFybHkgc2V2ZXJlIGJlY2F1c2UgaXQgYWZmZWN0cyBib3RoIHRoZSBwcm9kdWN0aW9uIGFuZCBmdW5jdGlvbiBvZiBDRlRSLCByZXN1bHRpbmcgaW4gYSBtb3JlIGFnZ3Jlc3NpdmUgZGlzZWFzZSBjb3Vyc2UuIENvbnNlcXVlbnRseSwgcGF0aWVudHMgd2l0aCB0aGUgRjUwOGRlbCBtdXRhdGlvbiBtYXkgcmVzcG9uZCBiZXR0ZXIgdG8gQ0ZUUiBtb2R1bGF0b3JzLCB3aGljaCB0YXJnZXQgdGhlc2Ugc3BlY2lmaWMgZGVmZWN0cyBpbiBwcm90ZWluIGZvbGRpbmcgYW5kIGZ1bmN0aW9uLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwic3RhdGlzdGljYWwtZGlzdHJpYnV0aW9uLWNvbGxhcHNpYmxlXCIgdGl0bGU9XCJTdGF0aXN0aWNhbCBkaXN0cmlidXRpb24gb2YgRjUwOGRlbCBtdXRhdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkluIDIwMjMsIGEgY29tcHJlaGVuc2l2ZSBhbmFseXNpcyB3YXMgY29uZHVjdGVkIHRvIGFzc2VzcyB0aGUgZGlzdHJpYnV0aW9uIG9mIG11dGF0aW9ucyBpbiB0aGUgQ0ZUUiBnZW5lIGFzc29jaWF0ZWQgd2l0aCBjeXN0aWMgZmlicm9zaXMgKENGKSB3b3JsZHdpZGUuIERhdGEgd2FzIHNvdXJjZWQgZnJvbSB0d28gcmVwdXRhYmxlIGRhdGFiYXNlczogdGhlIDxhIGhyZWY9XCJodHRwczovL2NmdHIuaXVyYy5tb250cC5pbnNlcm0uZnIvY2dpLWJpbi92YXJpYW50X2xpc3QuY2dpXCIgdGl0bGU9XCJDRlRSLWRhdGFiYXNlLTFcIiA+Q0ZUUiBNdXRhdGlvbiBEYXRhYmFzZTwvYT4gYW5kIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly9jZnRyMi5vcmcvbXV0YXRpb25zX2hpc3RvcnlcIiB0aXRsZT1cIkNGVFItZGF0YWJhc2UtMlwiID5DRlRSMiBEYXRhYmFzZTwvYT4uIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSByZXN1bHRzIGluZGljYXRlIHRoZSBmb2xsb3dpbmcgZGlzdHJpYnV0aW9uIG9mIENGVFIgbXV0YXRpb24gdHlwZXMgYW5kIHRoZWlyIGZyZXF1ZW5jaWVzIGluIHBlcmNlbnQ6IDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+SW5zZXJ0aW9ucyAoaW5zKTwvYj46IDAuMDAwODglPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5EZWxldGlvbnMgKGRlbCk8L2I+OiA3Mi42NCU8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPlN1YnN0aXR1dGlvbnMgKHN1YnMpPC9iPjogMjMuODQlPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5JbnNlcnRpb25zL0RlbGV0aW9ucyAoaW5kZWwpPC9iPjogMCwwMDQ4NSU8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPk90aGVyIG11dGF0aW9uczwvYj46IDAsMDAzNzAlPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQaWVDaGFydCAvPiB7LyogUmVuZGVyIHRoZSBQaWVDaGFydCBjb21wb25lbnQgKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPiAgXG4gICAgICAgICAgICAgICAgICAgIDxwPk92ZXJhbGwsIHRoZSBzdGF0aXN0aWNhbCBkaXN0cmlidXRpb24gb2YgQ0ZUUiBtdXRhdGlvbnMgcmV2ZWFscyBzaWduaWZpY2FudCB2YXJpYXRpb25zIGluIG11dGF0aW9uIHR5cGVzIGFuZCB0aGVpciBmcmVxdWVuY2llcyB3b3JsZHdpZGUsIHdpdGggZGVsZXRpb25zICg3Mi42NCUpIGJlaW5nIHRoZSBtb3N0IGNvbW1vbiBtdXRhdGlvbiB0eXBlLiBUaGlzIHVuZGVyc2NvcmVzIHRoZSBuZWVkIGZvciBjb250aW51ZWQgcmVzZWFyY2ggYW5kIG1vbml0b3Jpbmcgb2YgdGhlc2UgZ2VuZXRpYyB2YXJpYXRpb25zIHRvIGltcHJvdmUgcGF0aWVudCBjYXJlIGFuZCB0cmVhdG1lbnQgc3RyYXRlZ2llcy4gQ0Ygbm90IG9ubHkgYWZmZWN0cyB0aGUgZGlyZWN0bHkgYWZmZWN0ZWQgb3JnYW5zLCBidXQgYWxzbyBtYW55IG90aGVyIGFyZWFzIG9mIHRoZSBib2R5IHRoYXQgYXJlIGluZGlyZWN0bHkgYWZmZWN0ZWQgYnkgdGhlIGV4dGVudCBvZiB0aGUgZGlzZWFzZSwgZS5nLiB0aHJvdWdoIHRoZSBjb25kaXRpb24gb2YgZGlzZWFzZWQgb3JnYW5zLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJTeW1wdG9tc1wiIGlkPVwiQ3lzdGljIEZpYnJvc2lzNFwiPlxuICAgICAgICAgICAgICAgICAgICA8cD5TaW5jZSB0aGUgQ0ZUUiBnZW5lIGlzIGV4cHJlc3NlZCBpbiBuZWFybHkgYWxsIHRpc3N1ZXMgb2YgdGhlIGh1bWFuIGJvZHksIGN5c3RpYyBmaWJyb3NpcyBhZmZlY3RzIGFzIGEgbWV0YWJvbGljIGRpc2Vhc2UgYSB3aWRlIHJhbmdlIG9mIHZpdGFsIG9yZ2Fucy48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cInN5bXB0b21zLWNvbGxhcHNpYmxlXCIgdGl0bGU9XCJIb3cgdGhlIHN5bXB0b21zIGFmZmVjdCBkaWZmZXJlbnQgcGFydHMgb2YgdGhlIGJvZHlcIiA+XG4gICAgICAgICAgICAgICAgICAgIDxUYWJCdXR0b25Sb3cgZGF0YT17c3ltcHRvbWJ1dHRvbnJvd2RhdGF9IG9wZW50eXBlPVwibWVkaXRhYnNcIiBjbG9zaW5nPVwiXCIvPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uUm93VGFicyBkYXRhPXtzeW1wdG9tYnV0dG9ucm93ZGF0YX0gY2xhPVwibWVkaXRhYnNcIi8+IFxuICAgICAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkRpYWdub3Npc1wiIGlkPVwiQ3lzdGljIEZpYnJvc2lzNVwiPlxuICAgICAgICAgICAgICAgICAgICA8cD5XaXRoIEN5c3RpYyBGaWJyb3NpcyBiZWluZyBhIGhlcmVkaXRhcnkgZGlzZWFzZSwgdGhlIGRpYWdub3N0aWMgbWV0aG9kcyBoYXZlIGV2b2x2ZWQgc2lnbmlmaWNhbnRseSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjU2XCIvPiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjU3XCIvPiAuIEVhcmx5IGRpYWdub3NpcyBpcyBjcnVjaWFsLCBhcyBpdCBhbGxvd3MgZm9yIHRpbWVseSBpbnRlcnZlbnRpb25zIHRoYXQgY2FuIGltcHJvdmUgdGhlIHF1YWxpdHkgb2YgbGlmZSBhbmQgbG9uZ2V2aXR5IGZvciBDRiBwYXRpZW50cyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjU2XCIvPjxzdXA+LDwvc3VwPjxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNThcIi8+LiBXaXRoIGFkdmFuY2VtZW50cyBpbiBzY3JlZW5pbmcgYW5kIGRpYWdub3N0aWMgdG9vbHMsIG1hbnkgaW5kaXZpZHVhbHMgYXJlIGRpYWdub3NlZCBzaG9ydGx5IGFmdGVyIGJpcnRoLCBlbmFibGluZyBlYXJseSBtYW5hZ2VtZW50IG9mIHRoZSBkaXNlYXNlIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNTZcIi8+IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjFcIi8+IC48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPkN5c3RpYyBmaWJyb3NpcyBjYW4gYmUgZGlhZ25vc2VkIHRocm91Z2ggYSB2YXJpZXR5IG9mIG1ldGhvZHMsIG9mdGVuIHN0YXJ0aW5nIGluIGluZmFuY3kgb3IgZXZlbiBiZWZvcmUgYmlydGggPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI1NlwiLz4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2MFwiLz4gLiBUaGUgbW9zdCBjb21tb24gZGlhZ25vc3RpYyB0ZXN0IGlzIHRoZSBuZXdib3JuIHNjcmVlbmluZywgd2hpY2ggaW52b2x2ZXMgYSBibG9vZCB0ZXN0IHRoYXQgY2hlY2tzIGZvciBlbGV2YXRlZCBsZXZlbHMgb2YgYSBwcm90ZWluIGNhbGxlZCBpbW11bm9yZWFjdGl2ZSB0cnlwc2lub2dlbiAoSVJUKSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjU5XCIvPiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjYxXCIvPiAuIEVsZXZhdGVkIElSVCBsZXZlbHMgY2FuIGluZGljYXRlIHBvdGVudGlhbCBDRiwgcHJvbXB0aW5nIGZ1cnRoZXIgdGVzdGluZyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjYxXCIvPiAuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwibmV3Ym9ybi1zY3JlZW5pbmctY29sbGFwc2libGVcIiB0aXRsZT1cIk5ld2Jvcm4gc2NyZWVuaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5OZXdib3JuIHNjcmVlbmluZyBmb3IgQ3lzdGljIEZpYnJvc2lzIChDRikgaGFzIGJlZW4gYSBtYWpvciBhZHZhbmNlbWVudCBpbiBlYXJseSBkZXRlY3Rpb24gYW5kIG1hbmFnZW1lbnQsIGxlYWRpbmcgdG8gc2lnbmlmaWNhbnRseSBpbXByb3ZlZCBwYXRpZW50IG91dGNvbWVzLiBUaGlzIHByYWN0aWNlLCB3aGljaCBzdGFydGVkIGluIHRoZSBsYXRlIDE5NzBzLCBiZWNhbWUgbW9yZSB3aWRlc3ByZWFkIGluIHRoZSAxOTgwcy4gVGhlIHNjcmVlbmluZyB0eXBpY2FsbHkgaW52b2x2ZXMgYSBibG9vZCB0ZXN0IHdpdGhpbiB0aGUgZmlyc3QgZmV3IGRheXMgb2YgbGlmZSwgbWVhc3VyaW5nIGltbXVub3JlYWN0aXZlIHRyeXBzaW5vZ2VuIChJUlQpLCBhIG1hcmtlciB0aGF0IGlzIGVsZXZhdGVkIGluIG5ld2Jvcm5zIHdpdGggQ0YuIEVsZXZhdGVkIElSVCBsZXZlbHMgcHJvbXB0IGZ1cnRoZXIgZ2VuZXRpYyB0ZXN0aW5nIHRvIGlkZW50aWZ5IENGVFIgbXV0YXRpb25zIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjJcIi8+IC4gSWYgbXV0YXRpb25zIGFyZSBmb3VuZCwgYSBzd2VhdCBjaGxvcmlkZSB0ZXN0IGlzIG9mdGVuIGNvbmR1Y3RlZCB0byBjb25maXJtIHRoZSBkaWFnbm9zaXMuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk1hbnkgY291bnRyaWVzLCBpbmNsdWRpbmcgdGhlIFVuaXRlZCBTdGF0ZXMsIENhbmFkYSwgdGhlIFVuaXRlZCBLaW5nZG9tLCBBdXN0cmFsaWEsIGFuZCBzZXZlcmFsIEV1cm9wZWFuIG5hdGlvbnMsIGhhdmUgaW1wbGVtZW50ZWQgbmV3Ym9ybiBzY3JlZW5pbmcgcHJvZ3JhbXMgZm9yIENGLiBIb3dldmVyLCBhIHN1cnZleSBvZiBDRiBzY3JlZW5pbmcgaW4gRXVyb3BlIHJldmVhbGVkIHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIG9mIHN1Y2ggcHJvZ3JhbXMgdmFyaWVzIHdpZGVseSwgd2l0aCBzb21lIGNvdW50cmllcyBhZG9wdGluZyBtb3JlIGNvbXByZWhlbnNpdmUgcHJvdG9jb2xzIHRoYW4gb3RoZXJzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjNcIi8+IC4gRWFybHkgZGlhZ25vc2lzIHRocm91Z2ggc2NyZWVuaW5nIG9mZmVycyBzaWduaWZpY2FudCBiZW5lZml0cywgc3VjaCBhcyBpbXByb3ZlZCBncm93dGgsIGJldHRlciBsdW5nIGZ1bmN0aW9uLCBhbmQgb3ZlcmFsbCBlbmhhbmNlZCBoZWFsdGggb3V0Y29tZXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2NFwiLz4gLiBUaGUgZGlzY292ZXJ5IG9mIHRoZSBDRlRSIGdlbmUgaGFzIGZ1cnRoZXIgcmVmaW5lZCBkaWFnbm9zdGljIHRlY2huaXF1ZXMgYW5kIHVuZGVyc2NvcmVkIHRoZSBjcnVjaWFsIHJvbGUgb2YgbmV3Ym9ybiBzY3JlZW5pbmcgaW4gdGhlIGVhcmx5IGRldGVjdGlvbiBhbmQgbWFuYWdlbWVudCBvZiBDRi4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGVjaG5vbG9naWNhbCBhZHZhbmNlbWVudHMgYW5kIGltcHJvdmVkIG1lZGljYWwgcHJvY2VkdXJlcyBoYXZlIGdyZWF0bHkgdHJhbnNmb3JtZWQgdGhlIGRpYWdub3NpcyBvZiBjeXN0aWMgZmlicm9zaXMuIFdoaWxlIG5ld2Jvcm4gc2NyZWVuaW5nIGhhcyByZXZvbHV0aW9uaXplZCBlYXJseSBkZXRlY3Rpb24gYW5kIHRyZWF0bWVudCwgdHJhZGl0aW9uYWwgbWV0aG9kcyBzdWNoIGFzIHRoZSBzd2VhdCB0ZXN0IGFuZCBzeW1wdG9tIG9ic2VydmF0aW9uIGNvbnRpbnVlIHRvIHBsYXkgYSB2aXRhbCByb2xlLCBwYXJ0aWN1bGFybHkgaW4gcmVnaW9ucyB3aGVyZSBzY3JlZW5pbmcgcHJvZ3JhbXMgYXJlIG5vdCB5ZXQgd2lkZWx5IGF2YWlsYWJsZS48L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICAgICAgICAgIDxwPkFub3RoZXIgd2lkZWx5IHVzZWQgbWV0aG9kIGlzIHRoZSBzd2VhdCB0ZXN0LCB3aGljaCBtZWFzdXJlcyB0aGUgY29uY2VudHJhdGlvbiBvZiBjaGxvcmlkZSBpbiBhIHBlcnNvbidzIHN3ZWF0LiBDRiBwYXRpZW50cyB0eXBpY2FsbHkgaGF2ZSBoaWdoZXItdGhhbi1ub3JtYWwgY2hsb3JpZGUgbGV2ZWxzIGR1ZSB0byBkZWZlY3RpdmUgQ0ZUUiBwcm90ZWluIGZ1bmN0aW9uIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjVcIi8+IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjZcIi8+IC4gV2hpbGUgdGhlIHN3ZWF0IHRlc3QgaXMgbm9uLWludmFzaXZlIGFuZCByZWxpYWJsZSBmb3IgaW5kaWNhdGluZyBDRiwgaXQgaXMgbGltaXRlZCBpbiBzY29wZS4gRm9yIGRlZmluaXRpdmUgZGlhZ25vc2lzIGFuZCB0byBndWlkZSBzcGVjaWZpYyB0cmVhdG1lbnRzLCBhIGdlbmV0aWMgYW5hbHlzaXMgaXMgdXN1YWxseSByZXF1aXJlZCB0byBpZGVudGlmeSB0aGUgZXhhY3QgQ0ZUUiBtdXRhdGlvbiwgc3VjaCBhcyB0aGUgRjUwOGRlbCBtdXRhdGlvbiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjY1XCIvPiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjY2XCIvPiAuPC9wPlxuICAgICAgICAgICAgICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJzd2VhdC10ZXN0LWNvbGxhcHNpYmxlXCIgdGl0bGU9XCJTd2VhdCB0ZXN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5UcmFkaXRpb25hbGx5LCBDeXN0aWMgRmlicm9zaXMgKENGKSBoYXMgYmVlbiBkaWFnbm9zZWQgdXNpbmcgdGhlIHN3ZWF0IHRlc3QsIHdoaWNoIG1lYXN1cmVzIGNobG9yaWRlIGxldmVscyBpbiBzd2VhdC4gQSBjaGxvcmlkZSBsZXZlbCBiZWxvdyA0MCBtbW9sL0wgKG1pbGxpbW9sZXMgb2YgY2hsb3JpZGUgcGVyIGxpdHJlIG9mIHN3ZWF0KSBpcyBjb25zaWRlcmVkIG5vcm1hbCBhbmQgdW5saWtlbHkgdG8gaW5kaWNhdGUgQ0YuIExldmVscyBiZXR3ZWVuIDQwIGFuZCA2MCBtbW9sL0wgcmVxdWlyZSBmdXJ0aGVyIGludmVzdGlnYXRpb24sIHdoaWxlIGxldmVscyBhYm92ZSA2MCBtbW9sL0wgc3Ryb25nbHkgc3VnZ2VzdCB0aGUgcHJlc2VuY2Ugb2YgQ0YgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2NVwiLz4gLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoaXMgcXVpY2sgYW5kIHBhaW5sZXNzIHRlc3QgaGFzIGJlZW4gdGhlIGdvbGQgc3RhbmRhcmQgZm9yIENGIGRpYWdub3NpcyBmb3IgbWFueSB5ZWFycy4gRGVzcGl0ZSBpdHMgYWNjdXJhY3ksIHRoZSBzd2VhdCB0ZXN0IHJlcXVpcmVzIHNwZWNpYWxpemVkIGxhYiBwZXJzb25uZWwgYW5kIGNhbiBiZSBkaWZmaWN1bHQgdG8gcGVyZm9ybSBvbiBuZXdib3Jucy4gV2hpbGUgZGlhZ25vc2luZyBDRiBiYXNlZCBvbiBzeW1wdG9tcyBjYW4gYmUgdXNlZnVsLCBpdCBpcyBub3QgYWx3YXlzIHJlbGlhYmxlLCBwYXJ0aWN1bGFybHkgaW4gbWlsZCBvciBhdHlwaWNhbCBjYXNlcy48L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiVHJlYXRtZW50XCIgaWQ9XCJDeXN0aWMgRmlicm9zaXM2XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwPkN1cnJlbnQgQ3lzdGljIGZpYnJvc2lzIHRyZWF0bWVudHMgZm9jdXMgb24gbWFuYWdpbmcgc3ltcHRvbXMsIHNsb3dpbmcgZGlzZWFzZSBwcm9ncmVzc2lvbiwgYW5kIGltcHJvdmluZyBxdWFsaXR5IG9mIGxpZmUgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2NlwiLz4gLiBTaW5jZSB0aGVyZSBpcyBzdGlsbCBubyBjdXJlIGZvciBDRiwgdHJlYXRtZW50IGlzIHR5cGljYWxseSBsaWZlbG9uZyBhbmQgaW52b2x2ZXMgbXVsdGlwbGUgYXBwcm9hY2hlcywgaW5jbHVkaW5nIG1lZGljYXRpb25zLCBwaHlzaWNhbCB0aGVyYXB5LCBhbmQgZGlldGFyeSBhZGp1c3RtZW50cyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjY2XCIvPiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjY3XCIvPiAuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHByaW1hcnkgZ29hbCBvZiBDRiB0cmVhdG1lbnQgaXMgdG8gY2xlYXIgdGhlIHRoaWNrIG11Y3VzIGZyb20gdGhlIGx1bmdzIHRvIHByZXZlbnQgaW5mZWN0aW9ucyBhbmQgaW1wcm92ZSBicmVhdGhpbmcgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2OFwiLz4gLiBBaXJ3YXkgY2xlYXJhbmNlIHRlY2huaXF1ZXMsIHN1Y2ggYXMgY2hlc3QgcGh5c2lvdGhlcmFweSwgYXJlIG9mdGVuIHVzZWQgYWxvbmdzaWRlIGluaGFsZWQgbWVkaWNhdGlvbnMsIGxpa2UgYnJvbmNob2RpbGF0b3JzIGFuZCBtdWNvbHl0aWNzLCB0byB0aGluIHRoZSBtdWN1cyBhbmQgb3BlbiB0aGUgYWlyd2F5cyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjY5XCIvPiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjcwXCIvPiAuIEFudGliaW90aWNzIGFyZSBmcmVxdWVudGx5IHByZXNjcmliZWQgdG8gdHJlYXQgb3IgcHJldmVudCBsdW5nIGluZmVjdGlvbnMgY2F1c2VkIGJ5IHRyYXBwZWQgYmFjdGVyaWEgaW4gdGhlIGFpcndheXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI3MVwiLz4gLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+T25lIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGFkdmFuY2VzIGluIENGIHRyZWF0bWVudCBoYXMgYmVlbiB0aGUgZGV2ZWxvcG1lbnQgb2YgQ0ZUUiBtb2R1bGF0b3JzLCB3aGljaCB0YXJnZXQgdGhlIHVuZGVybHlpbmcgcHJvdGVpbiBkeXNmdW5jdGlvbiBjYXVzZWQgYnkgbXV0YXRpb25zIGluIHRoZSBDRlRSIGdlbmUgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI3MFwiLz4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI3MlwiLz4gLiBUaGVzZSBkcnVncywgc3VjaCBhcyBpdmFjYWZ0b3IsIGx1bWFjYWZ0b3IsIGFuZCBlbGV4YWNhZnRvciwgd29yayBieSBpbXByb3ZpbmcgdGhlIGZ1bmN0aW9uIG9mIHRoZSBkZWZlY3RpdmUgQ0ZUUiBwcm90ZWluLCBwYXJ0aWN1bGFybHkgaW4gcGF0aWVudHMgd2l0aCBzcGVjaWZpYyBtdXRhdGlvbnMgbGlrZSBGNTA4ZGVsIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjNcIi8+IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjRcIi8+IC4gV2hpbGUgQ0ZUUiBtb2R1bGF0b3JzIGNhbiBkcmFtYXRpY2FsbHkgaW1wcm92ZSBsdW5nIGZ1bmN0aW9uIGFuZCBvdmVyYWxsIGhlYWx0aCBpbiBtYW55IHBhdGllbnRzLCB0aGV5IGFyZSBub3QgZWZmZWN0aXZlIGZvciBhbGwgQ0ZUUiBtdXRhdGlvbnMgYW5kIG9mdGVuIGFyZSB2ZXJ5IGV4cGVuc2l2ZSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjczXCIvPiAuPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5EaWdlc3RpdmUgZW56eW1lIHN1cHBsZW1lbnRzIGFyZSBlc3NlbnRpYWwgZm9yIENGIHBhdGllbnRzIHdobyBzdWZmZXIgZnJvbSBwYW5jcmVhdGljIGluc3VmZmljaWVuY3ksIGhlbHBpbmcgdGhlbSB0byBhYnNvcmIgbnV0cmllbnRzIGZyb20gZm9vZCA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjY4XCIvPiAuIEFkZGl0aW9uYWxseSwgaGlnaC1jYWxvcmllIGRpZXRzIGFuZCB2aXRhbWlucyBhcmUgcmVjb21tZW5kZWQgdG8gc3VwcG9ydCBncm93dGggYW5kIG1haW50YWluIGJvZHkgd2VpZ2h0IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjhcIi8+IC48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPkFsdGhvdWdoIGN1cnJlbnQgdHJlYXRtZW50cyBjYW4gc2lnbmlmaWNhbnRseSBpbXByb3ZlIHF1YWxpdHkgb2YgbGlmZSBhbmQgbGlmZSBleHBlY3RhbmN5LCBtYW5hZ2luZyBDRiByZW1haW5zIGEgZGFpbHkgY2hhbGxlbmdlIGZvciBwYXRpZW50cyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjcwXCIvPiAuIENvbnRpbnVlZCByZXNlYXJjaCBpbnRvIGdlbmUgdGhlcmFweSBhbmQgb3RoZXIgaW5ub3ZhdGl2ZSB0cmVhdG1lbnRzIG9mZmVycyBob3BlIGZvciBtb3JlIHBlcm1hbmVudCBzb2x1dGlvbnMgaW4gdGhlIGZ1dHVyZSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjczXCIvPiAuPC9wPlxuICAgICAgICAgICAgICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJkcnVncy1jb2xsYXBzaWJsZVwiIHRpdGxlPVwiRGlmZmVyZW50IHR5cGVzIG9mIGRydWdzXCIgPlxuICAgICAgICAgICAgICAgICAgICA8VGFiQnV0dG9uUm93IGRhdGE9e21lZGlidXR0b25yb3dkYXRhfSBvcGVudHlwZT1cInN5bXB0YWJzXCIgY2xvc2luZz1cIlwiLz5cbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvblJvd1RhYnMgZGF0YT17bWVkaWJ1dHRvbnJvd2RhdGF9IGNsYT1cInN5bXB0YWJzXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkNGIHRyZWF0bWVudCB3aXRoIGdlbmUgdGhlcmFweVwiPjwvSDQ+XG4gICAgICAgICAgICAgICAgICAgIDxwPldoaWxlIG1lbnRpb25lZCBtZWRpY2F0aW9ucyBoYXZlIGltcHJvdmVkIHRoZSBxdWFsaXR5IG9mIGxpZmUgZm9yIG51bWVyb3VzIENGIHBhdGllbnRzLCB0aGV5IG9ubHkgbWFuYWdlIHN5bXB0b21zIHJhdGhlciB0aGFuIGN1cmUgdGhlIGRpc2Vhc2UuIE1vcmVvdmVyLCBtb3N0IG9mIHRoZW0gYXJlIGV4cGVuc2l2ZSBhbmQgbm90IHdvcmxkLXdpZGUgYWNjZXNzaWJsZS4gT3VyIHJlc2VhcmNoIGlzIGZvY3VzZWQgb24gdGhlIGRldmVsb3BtZW50IG9mIGEgZ2VuZSB0aGVyYXB5IHRoYXQgdGFyZ2V0cyB0aGUgdW5kZXJseWluZyBjYXVzZSBvZiBDRiBieSBjb3JyZWN0aW5nIHRoZSBkZWZlY3RpdmUgQ0ZUUiBnZW5lLiA8UHJlQ3lzZS8+IGFpbXMgdG8gaGFsdCBkaXNlYXNlIHByb2dyZXNzaW9uIGFuZCByZWR1Y2UgdGhlIHRyZWF0bWVudCBidXJkZW4gZm9yIHBhdGllbnRzLjwvcD5cbiAgICAgICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIk91ciBBcHByb2FjaFwiIGlkPVwiQXBwcm9hY2hcIj5cbiAgICAgICAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIk1lY2hhbmlzbVwiIGlkPVwiQXBwcm9hY2gxXCI+XG4gICAgICAgICAgICAgICAgPHA+VGhlIGRldmVsb3BtZW50IG9mIGFuIGltcHJvdmVkIFByaW1lIEVkaXRpbmcgY29tcGxleCBob2xkcyBncmVhdCBwcm9taXNlIGZvciBhZHZhbmNpbmcgZ2VuZSBlZGl0aW5nIHRlY2hub2xvZ2llcy4gT3VyIGVuaGFuY2VkIHN5c3RlbSwgUHJpbWUgR3VpZGUsIGFkZHJlc3NlcyBrZXkgbGltaXRhdGlvbnMgb2YgY29udmVudGlvbmFsIFByaW1lIEVkaXRpbmcgYnkgZm9jdXNpbmcgb24gZm91ciBtYWluIGFyZWFzOiBlZGl0aW5nIGVmZmljaWVuY3ksIHByZWNpc2lvbiwgc2l6ZSwgYW5kIHNhZmV0eS4gUHJpbWUgR3VpZGUgaGFzIGJlZW4gZGVzaWduZWQgdG8gdGFyZ2V0IHRoZSBcdTAzOTRGNTA4IG11dGF0aW9uIGluIGN5c3RpYyBmaWJyb3NpcyB3aXRoIGhpZ2ggYWNjdXJhY3ksIHdoaWxlIG1pbmltaXppbmcgb2ZmLXRhcmdldCBlZmZlY3RzLiBCeSBvcHRpbWl6aW5nIHRoZSBwZWdSTkEsIHJldmVyc2UgdHJhbnNjcmlwdGFzZSwgYW5kIG5pY2thc2UgY29tcG9uZW50cywgd2UgYWltIHRvIGRlbGl2ZXIgcHJlY2lzZSBhbmQgZWZmaWNpZW50IGdlbmV0aWMgbW9kaWZpY2F0aW9ucy48L3A+XG4gICAgICAgICAgICAgICAgPEluZm9Cb3ggdGl0bGU9XCJQcmltZSBFZGl0aW5nXCIgaWQ9XCJwcmltZS1lZGl0aW5nXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+UHJpbWUgZWRpdGluZyBpcyBhIG5ldyBtZXRob2Qgb2YgZ2VuZSBlZGl0aW5nIGJhc2VkIG9uIGFuIFJOQS1Qcm90ZWluIGNvbXBsZXguIEl0IHdhcyBkZXZlbG9wZWQgYnkgYSBncm91cCBvZiByZXNlYXJjaGVycyByZXZvbHZpbmcgYXJvdW5kIFByb2Zlc3NvciBEYXZpZCBMaXUgZnJvbSBIYXJ2YXJkIFVuaXZlcnNpdHkgaW4gMjAxOS48U3VwU2Nyb2xsTGluayBsYWJlbD1cIjkxXCIvPiA8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj5Ib3cgZG9lcyBQcmltZSBFZGl0aW5nIHdvcms/PC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlByaW1lIEVkaXRpbmcgYnVpbGRzIG9uIHRoZSB3ZWxsLWtub3duIENSSVNQUiB0ZWNobm9sb2d5LCBvZmZlcmluZyBhIG1vcmUgcHJlY2lzZSBhbmQgY29udHJvbGxlZCBhcHByb2FjaCB0byBETkEgbW9kaWZpY2F0aW9uLiBUcmFkaXRpb25hbCBDUklTUFItQ2FzOSBtZXRob2RzIHR5cGljYWxseSBpbnZvbHZlIGNyZWF0aW5nIGRvdWJsZS1zdHJhbmQgYnJlYWtzIGluIEROQSwgd2hpY2ggY2FuIGJlIHJlcGFpcmVkIGJ5IHRoZSBjZWxsIGluIHdheXMgdGhhdCBtaWdodCBpbnRyb2R1Y2UgdW5pbnRlbmRlZCBtdXRhdGlvbnMuIFByaW1lIEVkaXRpbmcsIGJ5IGNvbnRyYXN0LCBjaXJjdW12ZW50cyB0aGlzIGlzc3VlIGJ5IHVzaW5nIGEgbW9yZSByZWZpbmVkIG1ldGhvZCB0aGF0IGF2b2lkcyBkb3VibGUgc3RyYW5kIGJyZWFrcyBhbHRvZ2V0aGVyIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiOTJcIi8+IC48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5BdCB0aGUgaGVhcnQgb2YgUHJpbWUgRWRpdGluZyBpcyBhIGZ1c2lvbiBwcm90ZWluLCB3aGljaCBjb21iaW5lcyB0d28ga2V5IGNvbXBvbmVudHM6IGEgbW9kaWZpZWQgQ2FzOSBlbnp5bWUsIGtub3duIGFzIGEgXCJuaWNrYXNlLFwiIGFuZCBhIHJldmVyc2UgdHJhbnNjcmlwdGFzZSBlbnp5bWUuIFRoZSBuaWNrYXNlIGlzIHJlc3BvbnNpYmxlIGZvciBtYWtpbmcgYSBzaW5nbGUgc3RyYW5kIGN1dCBpbiB0aGUgRE5BLCB1bmxpa2UgdGhlIHRyYWRpdGlvbmFsIENhczksIHdoaWNoIGN1dHMgYm90aCBzdHJhbmRzLiBUaGlzIHNpbmdsZSBzdHJhbmQgY3V0IG1pbmltaXplcyB0aGUgcmlzayBvZiB1bmludGVuZGVkIG11dGF0aW9ucyBvciBsYXJnZS1zY2FsZSBETkEgZGFtYWdlLiBUaGUgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIGF0dGFjaGVkIHRvIHRoZSBuaWNrYXNlIHRoZW4gbW9kaWZpZXMgdGhlIEROQSBhdCB0aGUgdGFyZ2V0ZWQgc2l0ZSBieSBpbmNvcnBvcmF0aW5nIG5ldyBnZW5ldGljIGluZm9ybWF0aW9uLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRvIGd1aWRlIHRoaXMgcHJvY2VzcywgUHJpbWUgRWRpdGluZyB1c2VzIGEgc3BlY2lhbGl6ZWQgUk5BIG1vbGVjdWxlIGtub3duIGFzIHByaW1lIGVkaXRpbmcgZ3VpZGUgUk5BIChwZWdSTkEpLiBUaGlzIHBlZ1JOQSBzZXJ2ZXMgdHdvIGZ1bmN0aW9uczogaXQgZGlyZWN0cyB0aGUgQ2FzOSBuaWNrYXNlIHRvIHRoZSBzcGVjaWZpYyBsb2NhdGlvbiBvbiB0aGUgZ2Vub21lLCBhbmQgaXQgY2FycmllcyBhIHRlbXBsYXRlIGZvciB0aGUgZGVzaXJlZCBETkEgbW9kaWZpY2F0aW9uLiBOb3csIGxldFx1MjAxOXMgZ28gdGhyb3VnaCB0aGUgcHJvY2VzcyBpbiBtb3JlIGRldGFpbCwgcmVmZXJlbmNpbmcgdGhlIGltYWdlIGFib3ZlLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+RE5BIE5pY2tpbmc8L2I+OiBJbiB0aGUgZmlyc3Qgc3RlcCAodG9wIGxlZnQgaW4gdGhlIGltYWdlKSwgdGhlIENhczkgbmlja2FzZSwgZ3VpZGVkIGJ5IHRoZSBwZWdSTkEsIGJpbmRzIHRvIHRoZSB0YXJnZXQgZ2Vub21pYyBETkEgYW5kIGNyZWF0ZXMgYSBzaW5nbGUtc3RyYW5kIGJyZWFrLCBvciBcIm5pY2ssXCIgYXQgdGhlIHByZWNpc2UgbG9jYXRpb24uIFRoaXMgaXMgYSBrZXkgZGlmZmVyZW5jZSBmcm9tIHN0YW5kYXJkIENSSVNQUiwgd2hlcmUgYm90aCBETkEgc3RyYW5kcyBhcmUgY3V0LCBpbmNyZWFzaW5nIHRoZSByaXNrIG9mIHVud2FudGVkIG11dGF0aW9ucy48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5QcmltZXIgQmluZGluZyBhbmQgUmV2ZXJzZSBUcmFuc2NyaXB0aW9uPC9iPjogT25jZSB0aGUgRE5BIGlzIG5pY2tlZCwgdGhlIHByaW1lciBiaW5kaW5nIHNpdGUgKFBCUykgb24gdGhlIHBlZ1JOQSBoeWJyaWRpemVzIHdpdGggdGhlIGV4cG9zZWQgc2luZ2xlLXN0cmFuZGVkIEROQSwgYXMgc2hvd24gaW4gdGhlIG1pZGRsZSBvZiB0aGUgaW1hZ2UuIFRoaXMgYWxpZ25tZW50IGFsbG93cyB0aGUgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIChSVCkgZW56eW1lLCBhbHNvIGZ1c2VkIHRvIHRoZSBuaWNrYXNlLCB0byBiZWdpbiBjb3B5aW5nIHRoZSBlZGl0IGludG8gdGhlIHRhcmdldCBETkEuIFRoZSByZXZlcnNlIHRyYW5zY3JpcHRhc2UgdXNlcyB0aGUgdGVtcGxhdGUgZW5jb2RlZCB3aXRoaW4gdGhlIHBlZ1JOQSB0byBjcmVhdGUgYSBjb21wbGVtZW50YXJ5IEROQSBzZXF1ZW5jZSAoZGVwaWN0ZWQgYXMgdGhlIG5ldyBzZXF1ZW5jZSBpbiB0aGUgaW1hZ2UpLCBlbnN1cmluZyB0aGUgY29ycmVjdGVkIGdlbmV0aWMgc2VxdWVuY2UgaXMgYWNjdXJhdGVseSBpbnNlcnRlZCBpbnRvIHRoZSBnZW5vbWUuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+RmxhcCBGb3JtYXRpb24gYW5kIEVxdWlsaWJyYXRpb248L2I+OiBUaGUgcHJvY2VzcyBjb250aW51ZXMgYXMgdGhlIHJldmVyc2UgdHJhbnNjcmlwdGFzZSBjb3BpZXMgdGhlIG5ldyBnZW5ldGljIHNlcXVlbmNlIGludG8gdGhlIEROQSBzdHJhbmQsIGNyZWF0aW5nIHdoYXQgaXMgY2FsbGVkIGEgXCIzJyBmbGFwXCIgKGFzIHNob3duIGluIHRoZSBib3R0b20gcGFydCBvZiB0aGUgaW1hZ2UpLiBUaGlzIGZsYXAgY29udGFpbnMgdGhlIG5ld2x5IGVkaXRlZCBzZXF1ZW5jZS4gQXQgdGhpcyBwb2ludCwgdGhlcmUgaXMgYW4gZXF1aWxpYnJhdGlvbiBiZXR3ZWVuIHRoZSBuZXcgZmxhcCAod2hpY2ggZW5jb2RlcyB0aGUgaW50ZW5kZWQgZWRpdCkgYW5kIHRoZSB1bmVkaXRlZCA1JyBmbGFwLCB3aGljaCBzdGlsbCBjb250YWlucyB0aGUgb3JpZ2luYWwsIHVubW9kaWZpZWQgRE5BIHNlcXVlbmNlLiBUaGUgY2VsbCdzIG5hdHVyYWwgbWVjaGFuaXNtcyB0eXBpY2FsbHkgZGVncmFkZSB0aGUgdW5lZGl0ZWQgNScgZmxhcCwgZmF2b3JpbmcgdGhlIGludGVncmF0aW9uIG9mIHRoZSAzJyBmbGFwIGVuY29kaW5nIHRoZSBlZGl0LjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkZsYXAgUmVzb2x1dGlvbiBhbmQgRmluYWwgRWRpdGluZzwvYj46IEluIHNvbWUgY2FzZXMsIGFuIGFkZGl0aW9uYWwgbmljayAoc2VlbiBpbiB0aGUgUEUzL1BFNSBzeXN0ZW1zIGluIHRoZSBpbWFnZSkgaXMgaW50cm9kdWNlZCBpbiB0aGUgbm9uLXRhcmdldCBETkEgc3RyYW5kIHRvIHByb21vdGUgcmVwYWlyIGFuZCBmYXZvciB0aGUgaW5jb3Jwb3JhdGlvbiBvZiB0aGUgZWRpdC4gVGhpcyBzdGVwIGluY3JlYXNlcyB0aGUgZWZmaWNpZW5jeSBvZiBQcmltZSBFZGl0aW5nIGJ5IGVuc3VyaW5nIHRoYXQgdGhlIG5ld2x5IGVkaXRlZCBzdHJhbmQgaXMgcHJlZmVyZW50aWFsbHkgdXNlZCBkdXJpbmcgdGhlIGNlbGwncyBETkEgcmVwYWlyIHByb2Nlc3MuIFRoZSBtaXNtYXRjaCByZXBhaXIgKE1NUikgc3lzdGVtIG9mIHRoZSBjZWxsIGFsc28gcGxheXMgYSByb2xlIGluIGRldGVybWluaW5nIHdoZXRoZXIgdGhlIGVkaXQgaXMgcmV0YWluZWQgb3IgcmV2ZXJ0ZWQgdG8gdGhlIG9yaWdpbmFsIHNlcXVlbmNlLiBGb3Igc3lzdGVtcyBsaWtlIFBFNCBhbmQgUEU1LCBpbmhpYml0aW9uIG9mIHRoZSBtaXNtYXRjaCByZXBhaXIgc3lzdGVtIChlLmcuLCBieSBNTEgxZG4pIGZ1cnRoZXIgcHJvbW90ZXMgdGhlIGludGVncmF0aW9uIG9mIHRoZSBkZXNpcmVkIGVkaXQuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+RmluYWwgb3V0Y29tZTwvYj46IE9uY2UgdGhlIHVuZWRpdGVkIGZsYXAgaXMgZGVncmFkZWQgYW5kIHRoZSBuZXcgc2VxdWVuY2UgaXMgaW50ZWdyYXRlZCwgdGhlIGNlbGwgY29tcGxldGVzIHRoZSByZXBhaXIsIGFuZCB0aGUgZWRpdCBiZWNvbWVzIHBlcm1hbmVudGx5IGluY29ycG9yYXRlZCBpbnRvIHRoZSBETkEuIEFzIHNob3duIGluIHRoZSBkaWFncmFtLCB0aGUgcmVzdWx0IGlzIGEgc3VjY2Vzc2Z1bCBnZW5ldGljIG1vZGlmaWNhdGlvbiwgd2hlcmUgdGhlIG5ldywgY29ycmVjdGVkIHNlcXVlbmNlIHJlcGxhY2VzIHRoZSBvcmlnaW5hbCBmYXVsdHkgc2VxdWVuY2UuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvb2w+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImdpZi13cmFwcGVyXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcHJvamVjdC1kZXNjcmlwdGlvbi9wcmltZS1lZGl0aW5nLWFuaW1hdGlvbi0xMGZwcy5naWZcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgNDogPC9iPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWxsdXN0cmF0aW9uIG9mIHRoZSBQcmltZSBFZGl0aW5nIHByb2Nlc3MgYW5kIGl0cyBwb3NzaWJsZSBvdXRjb21lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5PdmVyYWxsLCB0aGVyZSBhcmUgbWFueSBkaWZmZXJlbnQgUHJpbWUgRWRpdGluZyBzeXN0ZW1zIHdpdGggYSB2YXJpZXR5IG9mIGNvbXBvbmVudHMgYW5kIGNvbXBsZXhpdHksIHN0YXJ0aW5nIGZyb20gUEUyIHVwIHRvIFBFNy4gUG9zc2libGUgZWRpdHMgY291bGQgaW50ZWdyYXRlIHN1YnN0aXR1dGlvbnMsIGluc2VydHMgYW5kIGRlbGV0aW9ucyBpbiB0aGUgcmFuZ2Ugb2Ygb25lIGJhc2UgdXAgdG8gaHVuZHJlZHMgb2YgbnVjbGVvdGlkZXMsIHdpdGggZ3JhZHVhbGx5IGRlY3JlYXNpbmcgZWRpdGluZyBlZmZpY2llbmN5LiBUaGVyZWZvcmUgUHJpbWUgRWRpdGluZyB0ZWNobm9sb2d5IGFsbG93cyB0YXJnZXRlZCBtb2RpZmljYXRpb25zIG9mIHNwZWNpZmljIGdlbmVzLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGV0YWlscz5cbiAgICAgICAgICAgICAgICA8L0luZm9Cb3g+IFxuICAgICAgICAgICAgICAgIDxwPkhvd2V2ZXIsIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXggaXMgcmVsYXRpdmVseSBsYXJnZSwgcG9zaW5nIGNoYWxsZW5nZXMgZm9yIHRoZXJhcGV1dGljIGRlbGl2ZXJ5PFN1cFNjcm9sbExpbmsgbGFiZWw9XCIzXCIvPi4gQWRkaXRpb25hbGx5LCBQcmltZSBFZGl0aW5nIGhhcyBiZWVuIHNob3duIHRvIGJlIHJlbGF0aXZlbHkgaW5lZmZpY2llbnQgaW4gdGVybXMgb2YgZ2VuZSBlZGl0aW5nIHJhdGVzLCB3aGljaCBjb3VsZCBsaW1pdCBpdHMgdGhlcmFwZXV0aWMgdXRpbGl0eTxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNFwiLz4uIE91ciBwcm9qZWN0IGFpbXMgdG8gZW5oYW5jZSB0aGUgUHJpbWUgRWRpdGluZyBhcHByb2FjaCBieSBtaW5pYXR1cml6aW5nIGl0cyBjb21wb25lbnRzIGFuZCBlbmhhbmNpbmcgaXRzIGVmZmljaWVuY3ksIGFzIHdlbGwgYXMgcHJlY2lzaW9uLiA8L3A+XG4gICAgICAgICAgICAgICAgPHA+QXMgc2hvd24gaW4gdGhlIGltYWdlLCB3ZSBkZXZlbG9wZWQgdHdvIHBvdGVudGlhbCBjb25maWd1cmF0aW9ucyBmb3IgUHJpbWUgR3VpZGUsIGVhY2ggdXNpbmcgYSBkaWZmZXJlbnQgbmlja2FzZTogb25lIGJhc2VkIG9uIHRoZSBGYW56b3IgKG5TcHVGejEpIG5pY2thc2UgYW5kIHRoZSBvdGhlciBvbiBhIENhc1ggKG5QbG1DYXNYKSBuaWNrYXNlLiBCb3RoIGNvbmZpZ3VyYXRpb25zIGFyZSBkZXNpZ25lZCB0byBpbXByb3ZlIHRoZSBwcmVjaXNpb24gYW5kIHN0YWJpbGl0eSBvZiB0aGUgUHJpbWUgRWRpdGluZyBzeXN0ZW0uIFRoZSBwZWdSTkEgc2NhZmZvbGQsIHJldmVyc2UgdHJhbnNjcmlwdGFzZSAoUEU2YyksIGFuZCBwcmltZXIgYmluZGluZyBzaXRlIChQQlMvUlRUKSB3b3JrIHRvZ2V0aGVyIGluIGJvdGggc3lzdGVtcyB0byBpbnRyb2R1Y2UgcHJlY2lzZSBlZGl0cywgd2l0aCB0aGUgTGEoMS0xOTQpIGVuaGFuY2luZyBzdGFiaWxpdHkgYW5kIGZ1bmN0aW9uLjwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wcm9qZWN0LWRlc2NyaXB0aW9uL3ByaW1lZ3VpZGUucG5nXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbWctcmlnaHQgaW1nLWhhbGYgY29sXCI+PFByaW1lRWRpdGluZ0NvbXBsZXgvPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxwPlRvIGRldmVsb3Agb3VyIGlubm92YXRpdmUgUHJpbWUgRWRpdGluZyBzeXN0ZW0sIFByaW1lIEd1aWRlLCB3ZSB3b3JrZWQgY2xvc2VseSB3aXRoIHNldmVyYWwgbGVhZGluZyBleHBlcnRzIGluIHRoZSBmaWVsZC4gQW1vbmcgdGhlbSB3ZXJlIE1hdHRpanMgQnVsY2FlbiwgTWFrYXRvIFNhaXRvLCBEci4gSGFtbWVyLCBKYW4tUGhpbGxpcHAgR2VyaGFyZCBhbmQgUHJvZi4gS3Jpc3RpYW4gTVx1MDBGQ2xsZXIsIHdob3NlIGluc2lnaHRzIGhlbHBlZCBndWlkZSBvdXIgZGVjaXNpb25zLiBQcmltZSBHdWlkZSBpcyBhIGhpZ2hseSBzcGVjaWFsaXplZCBQcmltZSBFZGl0aW5nIGNvbXBsZXgsIGRlc2lnbmVkIHRvIHRhcmdldCB0aGUgRjUwOGRlbCBtdXRhdGlvbiBpbiBjeXN0aWMgZmlicm9zaXMgd2l0aCBwcmVjaXNpb24gYW5kIGVmZmljaWVuY3kuIDwvcD5cbiAgICAgICAgICAgICAgICA8cD5PdXIgUHJpbWUgR3VpZGUgc3lzdGVtIGNvbnNpc3RzIG9mIGNhcmVmdWxseSBzZWxlY3RlZCBjb21wb25lbnRzLCBlYWNoIG9wdGltaXplZCBmb3IgaXRzIHJvbGUuIEZvciB0aGUgbmlja2FzZSwgd2UgY2hvc2UgYmV0d2VlbiBTcHVGejEgYW5kIENhc1ggbmlja2FzZXMgZHVlIHRvIHRoZWlyIHNtYWxsZXIgc2l6ZSBhbmQgc3RydWN0dXJhbCBhZHZhbnRhZ2VzLCB3aGljaCBzdWdnZXN0IGluY3JlYXNlZCBzdGFiaWxpdHkgZm9yIHRoZSBwZWdSTkEgd2l0aGluIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXguIFNtYWxsZXIgbmlja2FzZXMgYWxzbyBwcm92aWRlIGJlbmVmaXRzIGluIHRlcm1zIG9mIG92ZXJhbGwgZWZmaWNpZW5jeSBhbmQgZWFzZSBvZiBkZWxpdmVyeSwgYWxpZ25pbmcgd2l0aCB0aGUgY29tcGFjdCBkZXNpZ24gd2UgYWltZWQgZm9yLjwvcD5cbiAgICAgICAgICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJmYW56b3JjYXMtY29sbGFwc2libGVcIiB0aXRsZT1cIkFkdmFudGFnZXMgb2YgRmFuem9yL1BsbUNhc1ggb3ZlciBDYXM5XCI+IFxuICAgICAgICAgICAgICAgICAgICA8cD5Gcm9tIHRoZSBzdGFydCBvZiBvdXIgcHJvamVjdCB3ZSBoYXZlIGJlZW4gZXhhbWluaW5nIHRoZSBlc3RhYmxpc2hlZCBQcmltZSBFZGl0aW5nIGNvbXBsZXgsIGtub3duIGZvciBpdHMgZWZmZWN0aXZlbmVzcyBidXQgYWxzbyBmb3Igc2V2ZXJhbCBsaW1pdGF0aW9ucywgaW5jbHVkaW5nIGl0cyByZWxhdGl2ZWx5IGxhcmdlIHNpemUgYW5kIHN0cnVjdHVyYWwgdnVsbmVyYWJpbGl0aWVzLiBBIGtleSBjb21wb25lbnQgb2YgdGhpcyBjb21wbGV4IGlzIHRoZSBDYXM5IG5pY2thc2UsIGFuIGVuenltZSB0aGF0IHNlbGVjdGl2ZWx5IGN1dHMgb25lIG9mIHRoZSB0d28gRE5BIHN0cmFuZHMgYXQgYSBwcmVjaXNlIGxvY2F0aW9uLiBUaGlzIG5pY2thc2Ugd2FzIG9yaWdpbmFsbHkgZW5naW5lZXJlZCBieSBpbnRyb2R1Y2luZyBtdXRhdGlvbnMgaW50byB0aGUgQ2FzOSBlbmRvbnVjbGVhc2UsIHdoaWNoIHR5cGljYWxseSBjdXRzIGJvdGggRE5BIHN0cmFuZHMuIEJ5IGRpc2FibGluZyBvbmUgb2YgdGhlIHR3byBhY3RpdmUgc2l0ZXMsIHRoZSBDYXM5IG5pY2thc2Ugd2FzIGRlc2lnbmVkIHRvIG5pY2sgb25seSBvbmUgc3RyYW5kLCBhIGZ1bmN0aW9uIGVzc2VudGlhbCB0byB0aGUgc3VjY2VzcyBvZiB0aGUgUHJpbWUgRWRpdGluZyBwcm9jZXNzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiOTNcIi8+IC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5PdXIgYWltIHdhcyB0byBpbXByb3ZlIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXgsIG5vdCBvbmx5IGJ5IHJlZHVjaW5nIGl0cyBzaXplIGJ1dCBhbHNvIGJ5IGVuaGFuY2luZyBpdHMgc3RhYmlsaXR5LiBUbyBhY2hpZXZlIHRoaXMsIHdlIHNvdWdodCBhbHRlcm5hdGl2ZSBlbmRvbnVjbGVhc2VzIHRoYXQgYXJlIHNtYWxsZXIgYW5kIHBvc3Nlc3Mgb3RoZXIgZGVzaXJhYmxlIHByb3BlcnRpZXMuIE91ciBzdHJhdGVneSBpbnZvbHZlZCBpZGVudGlmeWluZyBlbmRvbnVjbGVhc2VzIHdpdGggc3VpdGFibGUgY2hhcmFjdGVyaXN0aWNzIGFuZCB0aGVuIGRldmVsb3BpbmcgbWV0aG9kcyB0byBtdXRhdGUgdGhlbSBpbnRvIG5pY2thc2VzLCBhbGxvd2luZyB0aGVtIHRvIHNlbGVjdGl2ZWx5IGN1dCBhIHNpbmdsZSBETkEgc3RyYW5kLiBDYXNYIGFuZCBGYW56b3IgZW1lcmdlZCBhcyBwcm9taXNpbmcgY2FuZGlkYXRlcywgb2ZmZXJpbmcgc3RydWN0dXJhbCBhZHZhbnRhZ2VzIGJleW9uZCB0aGVpciBzbWFsbGVyIHNpemUuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+SW4gQ2FzOS1iYXNlZCBzeXN0ZW1zLCB0aGUgc3BhY2VyIHJlZ2lvbiBvZiB0aGUgZ3VpZGUgUk5BIChnUk5BKVx1MjAxNHRoZSBwYXJ0IHRoYXQgYmluZHMgdG8gdGhlIHRhcmdldCBETkFcdTIwMTRpcyBsb2NhdGVkIGF0IHRoZSA1JyBlbmQgb2YgdGhlIFJOQS1wcm90ZWluIGNvbXBsZXguIEhvd2V2ZXIsIGluIENhc1ggYW5kIEZhbnpvciwgdGhlIHNwYWNlciBpcyBwb3NpdGlvbmVkIGF0IHRoZSAzJyBlbmQ8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjk0XCIvPiAgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI5NVwiLz4gLiBUaGlzIHJldmVyc2FsIG9mZmVycyBzZXZlcmFsIGJlbmVmaXRzOiB0aGUgMycgZW5kIG9mIHRoZSBSTkEgaXMgdHlwaWNhbGx5IG1vcmUgc3VzY2VwdGlibGUgdG8gZGVncmFkYXRpb24gYnkgUk5hc2VzLCB3aGljaCBjYW4gY29tcHJvbWlzZSB0aGUgc3RhYmlsaXR5IGFuZCBlZmZlY3RpdmVuZXNzIG9mIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXguIEluIENhc1ggYW5kIEZhbnpvciwgaG93ZXZlciwgdGhlIDNcdTIwMTkgdGVybWludXMgaXMgcG9zaXRpb25lZCBhdCB0aGUgc3BhY2VyIGVuY2xvc2VkIGJ5IHRoZSBwcm90ZWluLCBwb3RlbnRpYWxseSBwcm90ZWN0aW5nIGZyb20gUk5hc2UgZGVncmFkYXRpb24uICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPkFkZGl0aW9uYWxseSwgdGhpcyByZXZlcnNlZCBhcmNoaXRlY3R1cmUgYWx0ZXJzIHRoZSBwb3NpdGlvbmluZyBvZiB0aGUgcmV2ZXJzZSB0cmFuc2NyaXB0aW9uIHRlbXBsYXRlIChSVFQpIGFuZCBwcmltZXIgYmluZGluZyBzaXRlIChQQlMpIG9uIHRoZSBwZWdSTkEuIEluIENhczktYmFzZWQgc3lzdGVtcywgdGhlIFJUVCBpcyBsb2NhdGVkIGF0IHRoZSAzJyBlbmQgb2YgdGhlIHBlZ1JOQSwgd2hpY2ggbGVhdmVzIGl0IG1vcmUgZXhwb3NlZCBhbmQgaW5jcmVhc2VzIHRoZSByaXNrIG9mIHJldmVyc2UgdHJhbnNjcmlwdGlvbiBjb250aW51aW5nIHBhc3QgdGhlIGludGVuZGVkIHN0b3AgcG9pbnQuIFRoaXMgXCJzY2FmZm9sZCByZWFkLXRocm91Z2hcIiBlZmZlY3QgY2FuIHJlc3VsdCBpbiB0aGUgc3ludGhlc2lzIG9mIHVuaW50ZW5kZWQgRE5BIHNlcXVlbmNlcywgbGVhZGluZyB0byB1bmRlc2lyZWQgbXV0YXRpb25zIG9yIGdlbm9taWMgYWx0ZXJhdGlvbnMgYXQgdGhlIHRhcmdldCBzaXRlPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI5NlwiLz4gLCBwb3RlbnRpYWxseSBjb21wcm9taXNpbmcgdGhlIHNhZmV0eSBvZiB0aGUgUHJpbWUgRWRpdGluZyBwcm9jZXNzLiBJbiBDYXNYIGFuZCBGYW56b3Igc3lzdGVtcywgaG93ZXZlciwgdGhlIFJUVCBpcyBwb3NpdGlvbmVkIGF0IHRoZSA1JyBlbmQgb2YgdGhlIHBlZ1JOQSwgd2hpbGUgdGhlIHNwYWNlciBpcyBsb2NhdGVkIG5lYXIgdGhlIDMnIGVuZCBhbmQgaXMgY2xvc2VseSBib3VuZCB0byB0aGUgcHJvdGVpbi4gVGhpcyByZXZlcnNlZCBsYXlvdXQgaGVscHMgZW5zdXJlIHRoYXQgcmV2ZXJzZSB0cmFuc2NyaXB0aW9uIHN0b3BzIHByZWNpc2VseSBhdCB0aGUgZW5kIG9mIHRoZSBSVFQgc2VxdWVuY2UsIHNpZ25pZmljYW50bHkgcmVkdWNpbmcgdGhlIHJpc2sgb2YgdW5pbnRlbmRlZCBleHRlbnNpb25zIGFuZCBpbXByb3ZpbmcgdGhlIHByZWNpc2lvbiBhbmQgcmVsaWFiaWxpdHkgb2YgdGhlIGVkaXRpbmcgcHJvY2Vzcy48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPkJ5IGluY29ycG9yYXRpbmcgdGhlc2Ugc21hbGxlciwgbW9yZSBzdGFibGUgbmlja2FzZXMgaW50byB0aGUgUHJpbWUgRWRpdGluZyBjb21wbGV4LCB3ZSBhaW0gdG8gcmVkdWNlIGl0cyBvdmVyYWxsIHNpemUgd2hpbGUgbWFpbnRhaW5pbmcgb3IgZXZlbiBlbmhhbmNpbmcgaXRzIGZ1bmN0aW9uYWxpdHkgYW5kIHJlbGlhYmlsaXR5LiA8L3A+XG4gICAgICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICAgICAgICA8cD5JbiB0ZXJtcyBvZiB0aGUgcGVnUk5BLCB3ZSBvcHRlZCBmb3IgYSBwZWdSTkEsIGluY2x1ZGluZyBhIDE2LWJhc2UgcHJpbWVyIGJpbmRpbmcgc2l0ZSAoUEJTKSBhbmQgYSAzMC1iYXNlIHJldmVyc2UgdHJhbnNjcmlwdGlvbiB0ZW1wbGF0ZSAoUlRUKSwgd2l0aCBubyBzaWxlbnQgZWRpdHMgYW5kIGEgc3RydWN0dXJhbCBtb3RpZiwgdGhlIHRldm9wcmVRMS4gQWZ0ZXIgZXh0ZW5zaXZlIHNjcmVlbmluZyB1c2luZyBhIHJlcG9ydGVyIHN5c3RlbSwgdGhpcyBwZWdSTkEgZGVtb25zdHJhdGVkIHRoZSBoaWdoZXN0IHBlcmZvcm1hbmNlLCBsZWFkaW5nIHVzIHRvIHNlbGVjdCBpdCBhcyB0aGUgYmVzdCBjYW5kaWRhdGUgZm9yIGZ1cnRoZXIgZGV2ZWxvcG1lbnQuIFdoaWxlIG90aGVyIHBlZ1JOQXMgYWxzbyBzaG93ZWQgcHJvbWlzZSwgcGVnUk5BX1BFQVJfMDUgd2FzIHVsdGltYXRlbHkgY2hvc2VuIGZvciBpdHMgc3VwZXJpb3IgcmVzdWx0cyBpbiBvdXIgdGVzdGluZy48L3A+XG4gICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwicGVnUk5BLWdlbmF1LWNvbGxhcHNpYmxlXCIgdGl0bGU9XCJPcHRpbWl6YXRpb24gb2YgdGhlIHBlZ1JOQVwiPiBcbiAgICAgICAgICAgICAgICAgICAgPHA+PGI+U3RhYmlsaXR5IGltcHJvdmVtZW50OiB0ZXZvcHJlUTEgZXh0ZW5zaW9uPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHBlZ1JOQSB3YXMgc3BlY2lmaWNhbGx5IG9wdGltaXplZCB0byBlbmhhbmNlIGl0cyBzdGFiaWxpdHkgaW4gdGhlIGNlbGx1bGFyIGVudmlyb25tZW50LiBUbyBhY2hpZXZlIHRoaXMsIGEgc3RydWN0dXJhbCBtb3RpZiBrbm93biBhcyB0ZXZvcHJlUTEgd2FzIGFkZGVkIHRvIHRoZSBiYXNpYyBwZWdSTkEgc3RydWN0dXJlLiBUaGlzIG1vdGlmIHdhcyBzZWxlY3RlZCBiYXNlZCBvbiBpdHMga25vd24gYWJpbGl0eSB0byBpbXByb3ZlIFJOQSBzdGFiaWxpdHkgYnkgcHJldmVudGluZyBkZWdyYWRhdGlvbi4gQnkgaW50ZWdyYXRpbmcgdGV2b3ByZVExLCB0aGUgZ29hbCB3YXMgdG8gZXh0ZW5kIHRoZSBoYWxmLWxpZmUgb2YgdGhlIHBlZ1JOQSwgYWxsb3dpbmcgaXQgdG8gcmVtYWluIGZ1bmN0aW9uYWwgaW4gY2VsbHMgZm9yIGEgbG9uZ2VyIGR1cmF0aW9uLCB0aHVzIGltcHJvdmluZyB0aGUgbGlrZWxpaG9vZCBvZiBzdWNjZXNzZnVsIGdlbmUgZWRpdHMuIFRoaXMgc3RhYmlsaXppbmcgYWRkaXRpb24gd2FzIHBhcnRpY3VsYXJseSB2YWx1YWJsZSBpbiB0aGUgY29udGV4dCBvZiBDRlRSIGdlbmUgZWRpdGluZywgd2hlcmUgaGlnaGVyIFJOQSBzdGFiaWxpdHkgY291bGQgbGVhZCB0byBiZXR0ZXIgZWRpdGluZyBvdXRjb21lcy48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPjxiPlByZWNpc2lvbiBlbmhhbmNlbWVudDogU3BhY2VyIHNlbGVjdGlvbjwvYj48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPkEgbWFqb3IgZm9jdXMgZHVyaW5nIHRoZSBvcHRpbWl6YXRpb24gb2YgdGhlIHBlZ1JOQSB3YXMgdGhlIGNhcmVmdWwgZGVzaWduIG9mIHRoZSBzcGFjZXIgc2VxdWVuY2UsIHdoaWNoIHBsYXlzIGEgY3J1Y2lhbCByb2xlIGluIGd1aWRpbmcgdGhlIGVkaXRpbmcgY29tcGxleCB0byB0aGUgY29ycmVjdCBnZW5vbWljIGxvY2F0aW9uLiBNdWx0aXBsZSBzcGFjZXIgc2VxdWVuY2VzIHdlcmUgZGVzaWduZWQgYW5kIHRlc3RlZCB2aWEgYSBzb2Z0d2FyZSwgd2l0aCB0aGUgYWltIG9mIG1pbmltaXppbmcgb2ZmLXRhcmdldCBlZmZlY3RzIHRoYXQgY2FuIGxlYWQgdG8gdW5pbnRlbmRlZCBnZW5ldGljIGNoYW5nZXMuIFRocm91Z2ggZXhwZXJ0IGNvbnN1bHRhdGlvbnMgYW5kIHRoZW9yZXRpY2FsIG1vZGVsaW5nLCBhIHJhdGlvbmFsIGRlc2lnbiBzdHJhdGVneSB3YXMgZW1wbG95ZWQgdG8gc2VsZWN0IGEgc3BhY2VyIHNlcXVlbmNlIHRoYXQgd291bGQgZW5oYW5jZSB0aGUgcHJlY2lzaW9uIG9mIHRoZSBlZGl0aW5nIHByb2Nlc3MuIFRoaXMgcHJlY2lzaW9uIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IGZvciB0aGVyYXBldXRpYyBhcHBsaWNhdGlvbnMsIHN1Y2ggYXMgaW4gQ0ZUUiBnZW5lIGVkaXRpbmcsIHdoZXJlIHVuaW50ZW5kZWQgZWRpdHMgY291bGQgaGF2ZSBoYXJtZnVsIGNvbnNlcXVlbmNlcy48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPjxiPkltcHJvdmluZyBFZGl0aW5nIEVmZmljaWVuY3k6IFBCUyBhbmQgUlRUIGxlbmd0aCBhZGp1c3RtZW50cyB3aXRoIFNpbGVudCBFZGl0czwvYj48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlRvIG1heGltaXplIGVkaXRpbmcgZWZmaWNpZW5jeSwgdmFyaW91cyBjb21iaW5hdGlvbnMgb2YgcHJpbWVyIGJpbmRpbmcgc2l0ZSAoUEJTKSBhbmQgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIHRlbXBsYXRlIChSVFQpIGxlbmd0aHMgd2VyZSBldmFsdWF0ZWQuIFRoZSBSVFQsIHdoaWNoIHByb3ZpZGVzIHRoZSB0ZW1wbGF0ZSBmb3IgdGhlIGRlc2lyZWQgZ2VuZXRpYyBjaGFuZ2UsIHdhcyBjYXJlZnVsbHkgb3B0aW1pemVkLCBpbmNsdWRpbmcgdGhlIGludHJvZHVjdGlvbiBvZiBzaWxlbnQgZWRpdHNcdTIwMTRjaGFuZ2VzIGluIHRoZSBSVFQgdGhhdCBkbyBub3QgYWx0ZXIgdGhlIHByb3RlaW4gc2VxdWVuY2UgYnV0IGNhbiBpbXByb3ZlIHRoZSBlZGl0aW5nIHByb2Nlc3MuIEJvdGggc2hvcnRlbmVkIGFuZCBleHRlbmRlZCB2ZXJzaW9ucyBvZiB0aGUgUEJTIGFuZCBSVFQgd2VyZSB0ZXN0ZWQgaW4gY29tYmluYXRpb25zIHdpdGggZWFjaCBvdGhlciwgd2l0aCBhbmQgd2l0aG91dCB0aGVzZSBzaWxlbnQgZWRpdHMsIHRvIGlkZW50aWZ5IHRoZSBvcHRpbWFsIGNvbmZpZ3VyYXRpb24gdGhhdCB3b3VsZCByZXN1bHQgaW4gdGhlIGhpZ2hlc3QgZWRpdGluZyBlZmZpY2llbmN5LiBUaGlzIHN0ZXAtYnktc3RlcCBzY3JlZW5pbmcgcHJvY2VzcyBhbGxvd2VkIGZvciB0aGUgc2VsZWN0aW9uIG9mIHRoZSBtb3N0IGVmZmljaWVudCBwZWdSTkEgZm9yIHRhcmdldGluZyB0aGUgQ0ZUUiBnZW5lLCBlbnN1cmluZyB0aGF0IHRoZSBzeXN0ZW0gY291bGQgYWNoaWV2ZSBoaWdoIGxldmVscyBvZiBzdWNjZXNzZnVsIGVkaXRzIHdpdGggbWluaW1hbCB1bmludGVuZGVkIGNvbnNlcXVlbmNlcy48L3A+XG4gICAgICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICAgICAgICA8cD5Gb3IgdGhlIHJldmVyc2UgdHJhbnNjcmlwdGFzZSwgd2Ugc2VsZWN0ZWQgdGhlIFA2QyB2YXJpYW50LCB3aGljaCBoYXMgc2hvd24gdG8gcHJvdmlkZSB0aGUgYmVzdCBlZGl0aW5nIGVmZmljaWVuY3kgYW5kIGEgbW9yZSBjb21wYWN0IHN0cnVjdHVyZSBjb21wYXJlZCB0byBhbHRlcm5hdGl2ZXMuIEl0cyBhZHZhbmNlZCBkZXZlbG9wbWVudCBzdGFnZSBhbmQgYWJpbGl0eSB0byBvZmZlciBoaWdoIHByZWNpc2lvbiBhbmQgZWRpdGluZyBwZXJmb3JtYW5jZSBtYWRlIGl0IHRoZSBpZGVhbCBjaG9pY2UgZm9yIFByaW1lIEd1aWRlLiA8L3A+XG4gICAgICAgICAgICAgICAgPHA+VG9nZXRoZXIsIHRoZXNlIGNvbXBvbmVudHMgZm9ybSBhIGhpZ2hseSBvcHRpbWl6ZWQgUHJpbWUgRWRpdGluZyBzeXN0ZW0gdGhhdCBiYWxhbmNlcyBzaXplLCBzdGFiaWxpdHksIGFuZCBlZmZpY2llbmN5LiBPdXIgYWltIHdpdGggUHJpbWUgR3VpZGUgaXMgdG8gY3JlYXRlIGEgcm9idXN0IGFuZCBwcmVjaXNlIHNvbHV0aW9uIGZvciBjb3JyZWN0aW5nIHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIGN5c3RpYyBmaWJyb3NpcywgYnVpbGRpbmcgb24gdGhlIGd1aWRhbmNlIGZyb20gb3VyIGV4cGVydCBjb2xsYWJvcmF0b3JzIGFuZCBleHRlbnNpdmUgdGVzdGluZyBvZiBlYWNoIGluZGl2aWR1YWwgY29tcG9uZW50LjwvcD5cbiAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIk91ciBQcmVDeXNlIGNhc3NldHRlXCIgaWQ9XCJQcmVDeXNlLWNhc3NldHRlXCIvPiBcbiAgICAgICAgICAgICAgICA8cD5XZSBoYXZlIGRldmVsb3BlZCBvdXIgUHJpbWVHdWlkZSwgYW4gb3B0aW1pemVkIHZlcnNpb24gb2YgdGhlIFByaW1lIEVkaXRpbmcgc3lzdGVtLCBkZXNpZ25lZCB0byBlbmhhbmNlIGVkaXRpbmcgZWZmaWNpZW5jeSwgcHJlY2lzaW9uLCBhbmQgdmVyc2F0aWxpdHkuIEFzIHBhcnQgb2Ygb3VyIGNvbnRpbnVlZCBlZmZvcnRzIHRvIGltcHJvdmUgYW5kIHN0cmVhbWxpbmUgdGhlIFByaW1lIEVkaXRpbmcgd29ya2Zsb3csIHdlIGludHJvZHVjZSB0byB5b3UgdGhlIFByZUN5c2UtQ2Fzc2V0dGVcdTIwMTRhIHVuaXZlcnNhbCBwbGFzbWlkIGJhY2tib25lIHNwZWNpZmljYWxseSB0YWlsb3JlZCBmb3IgYW55IFByaW1lIEVkaXRpbmcgc3lzdGVtLjwvcD5cbiAgICAgICAgICAgICAgICA8cD5UaGUgUHJlQ3lzZS1DYXNzZXR0ZSBpcyBlbmdpbmVlcmVkIHRvIHByb3ZpZGUgbWF4aW11bSBmbGV4aWJpbGl0eSBmb3IgdGhlIGNvbnN0cnVjdGlvbiBvZiB0aGUgUHJpbWUgRWRpdGluZyBzeXN0ZW1zLiBJdCBpbmNsdWRlcyBCc2FJIHVuZCBTYXBJIGNsb25pbmcgc2l0ZXMsIGFsbG93aW5nIGVhc3kgaW5zZXJ0aW9uIGFuZCBleGNoYW5nZSBvZiBlc3NlbnRpYWwgY29tcG9uZW50cyBsaWtlIGEgbmlja2FzZSBhbmQgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlLCBmdW5kYW1lbnRhbCBmb3IgUHJpbWUgRWRpdGluZy4gQWRkaXRpb25hbGx5LCBpdCBpbmNvcnBvcmF0ZXMgYSBjbG9uaW5nIHNpdGUgZm9yIHRoZSBndWlkZSBSTkEsIGVuc3VyaW5nIHNlYW1sZXNzIGludGVncmF0aW9uIGFuZCBhZGFwdGF0aW9uIHRvIHZhcmlvdXMgdGFyZ2V0IHNlcXVlbmNlcy48L3A+XG4gICAgICAgICAgICAgICAgPHA+TW9yZW92ZXIsIHRoZSBQcmVDeXNlLUNhc3NldHRlIGNvbnRhaW5zIHNldmVyYWwgYWR2YW5jZWQgZmVhdHVyZXMgZGVzaWduZWQgdG8gZW5oYW5jZSBzeXN0ZW0gcGVyZm9ybWFuY2UuIFRoZSBhcmNoaXRlY3R1cmUgb2YgdGhpcyBjYXNzZXR0ZSBpcyBiYXNlZCBvbiBhIGNvbWJpbmF0aW9uIG9mIHRoZSBQRTQgYW5kIFBFNyBzeXN0ZW1zLCBwcm92aWRpbmcgdGhlIHByZXNlbmNlIG9mIHRoZSBMQSBtb3RpZiBhbmQgTUxIMWRuLiBUaHVzIGFsbG93aW5nIGFuIGluY3JlYXNlZCBmdW5jdGlvbmFsaXR5IGFuZCBlZGl0aW5nIGVmZmljaWVuY3ksIHdoaWxlIHRoZSBDTVYgYW5kIFQ3IHByb21vdGVycyBlbnN1cmUgaGlnaCBleHByZXNzaW9uIGxldmVscyBhY3Jvc3MgZGlmZmVyZW50IHN5c3RlbXMuIFRoZXNlIGZlYXR1cmVzIG1ha2UgdGhlIGNhc3NldHRlIHVuaXZlcnNhbGx5IGFwcGxpY2FibGUgdG8gYSB3aWRlIHJhbmdlIG9mIFByaW1lIEVkaXRpbmcgY29udGV4dHMsIGVuYWJsaW5nIHVzZXJzIHRvIGVmZm9ydGxlc3NseSBjbG9uZSB0aGVpciBkZXNpcmVkIGNvbXBvbmVudHNcdTIwMTRuaWNrYXNlLCByZXZlcnNlIHRyYW5zY3JpcHRhc2UsIGFuZCBndWlkZSBSTkFcdTIwMTR3aXRob3V0IHRoZSBuZWVkIGZvciBjb21wbGV4IG1vZGlmaWNhdGlvbnMuPC9wPlxuICAgICAgICAgICAgICAgIDxwPldpdGggdGhpcyBQcmVDeXNlLUNhc3NldHRlLCByZXNlYXJjaGVycyBjYW4gZWFzaWx5IHNldCB1cCBhbmQgdGVzdCB0aGVpciBQcmltZSBFZGl0aW5nIHN5c3RlbXMsIGJ5cGFzc2luZyBtdWNoIG9mIHRoZSBsYWJvcmlvdXMgY2xvbmluZyB3b3JrIHRyYWRpdGlvbmFsbHkgYXNzb2NpYXRlZCB3aXRoIHRoZXNlIHNldHVwcy4gVGhlIGNhc3NldHRlIHByb3ZpZGVzIGFuIGVmZmljaWVudCBhbmQgdmVyc2F0aWxlIHBsYXRmb3JtIGZvciBleHBlcmltZW50aW5nIHdpdGggYW5kIHJlZmluaW5nIFByaW1lIEVkaXRpbmcgYXBwbGljYXRpb25zLCBmb3JtaW5nIHRoZSBpZGVhbCBiYWNrYm9uZSBmb3IgUHJpbWVHdWlkZSBhbmQgYmV5b25kLjwvcD5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Zhbnpvci9rYXNzZXR0ZW1lY2gud2VicFwiLz4gXG4gICAgICAgICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiRGVsaXZlcnlcIiBpZD1cIkFwcHJvYWNoMlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L3NvcnQtbG5wLW9obmUtYmVzY2hyaWZ0dW5nLndlYnBcIi8+ICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5XZSBvcHRpbWl6ZWQgTE5QcyBhcyBhIHJvYnVzdCBkZWxpdmVyeSBzeXN0ZW0gdG8gdHJhbnNwb3J0IGxhcmdlciB0aGVyYXBldXRpYyBjYXJnbywgc3VjaCBhcyBQcmltZSBFZGl0aW5nIG1STkEsIHRvIGx1bmcgZXBpdGhlbGlhbCBjZWxscyB2aWEgaW5oYWxhdGlvbi4gTE5QcyB3ZXJlIGNob3NlbiBvdmVyIG90aGVyIGRlbGl2ZXJ5IHN5c3RlbXMsIGxpa2UgQWRlbm8tYXNzb2NpYXRlZCB2aXJ1c2VzIChBQVZzKSwgZHVlIHRvIHRoZWlyIHN1cGVyaW9yIGNhcmdvIGNhcGFjaXR5IGFuZCByZWR1Y2VkIGltbXVub2dlbmljaXR5LiBPdXIgZ29hbCB3YXMgdG8gY3JlYXRlIGEgc3ByYXktZHJpZWQgbHVuZy1zcGVjaWZpYyBMTlAgbmFtZWQ8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L2FpcmJ1ZGR5LndlYnBcIiBzdHlsZT17e21heEhlaWdodDogXCI4MHB0XCJ9fS8+ICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPmNhcGFibGUgb2YgZWZmaWNpZW50bHkgZGVsaXZlcmluZyBvZiBvdXIgUHJpbWUgRWRpdGluZyBjb21wb25lbnRzLCByZWZlcnJlZCB0byBhcyBQcmltZUd1aWRlLCB0byBsdW5nIHRpc3N1ZXMgdGhyb3VnaCBpbmhhbGF0aW9uLiBUaGlzIGFwcHJvYWNoIGlzIGRlc2lnbmVkIHRvIGFkdmFuY2UgcHJlY2lzaW9uIG1lZGljaW5lIGJ5IGVuc3VyaW5nIHRhcmdldGVkIGRlbGl2ZXJ5IHdpdGggbWluaW1hbCBvZmYtdGFyZ2V0IGVmZmVjdHMuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJDb2wxXCIgb3Blbj17ZmFsc2V9IHRpdGxlPVwiTE5QcyBleHBsYWluZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxOUHMgYW5kIHRoZWlyIGltcGFjdCBvbiBtb2Rlcm4gbWVkaWNpbmVcIiBpZD1cInRleHRcIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5MTlBzIGFyZSBhbiBhZHZhbmNlZCBkZWxpdmVyeSBzeXN0ZW0gZGVzaWduZWQgdG8gdHJhbnNwb3J0IHRoZXJhcGV1dGljIG1vbGVjdWxlcyBsaWtlIFJOQSwgRE5BIG9yIHByb3RlaW5zIGludG8gdGhlIGNlbGxzLiBUaGVzZSBuYW5vcGFydGljbGVzIGFyZSB0aW55IHNwaGVyZXMgbWFkZSBvZiBsaXBpZHMgdGhhdCBmb3JtIGEgcHJvdGVjdGl2ZSBzaGVsbCBhcm91bmQgdGhlIGNhcmdvLiBUaGUgc2l6ZSBvZiBMTnMgdHlwaWNhbGx5IHJhbmdlcyBmcm9tIDUwIHRvIDIwMCBubSBpbiBkaWFtZXRlciwgbWFraW5nIHRoZW0gaW5jcmVkaWJseSBzbWFsbCAtIGFib3V0IDEsMDAwIHRpbWVzIHRoaW5uZXIgdGhhbiBhIGh1bWFuIGhhaXIgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxXCIvPiAuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5PdmVyYWxsLCBMTlBzIHJlcHJlc2VudCBhIHNpZ25pZmljYW50IGFkdmFuY2VtZW50IGluIGRydWcgZGVsaXZlcnkgdGVjaG5vbG9neS4gTE5QcyBvZmZlciBleGNlcHRpb25hbGx5IGhpZ2ggZHJ1Zy1sb2FkaW5nIGNhcGFjaXRpZXMsIG1ha2luZyB0aGVtIGhpZ2hseSBlZmZlY3RpdmUgZm9yIGRlbGl2ZXJpbmcgc3Vic3RhbnRpYWwgYW1vdW50cyBvZiB0aGVyYXBldXRpYyBhZ2VudHMgaW4gYSBzaW5nbGUgZG9zZS4gVGhlaXIgYWR2YW5jZWQgZGVzaWduIGFsbG93cyBmb3IgdGhlIGVuY2Fwc3VsYXRpb24gb2YgYSBsYXJnZSBwYXlsb2FkLCB3aGljaCBlbmhhbmNlcyB0aGUgZWZmaWNhY3kgb2YgdHJlYXRtZW50cyBhbmQgcmVkdWNlcyB0aGUgZnJlcXVlbmN5IG9mIGFkbWluaXN0cmF0aW9uIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiM1wiLz4gLiBCeSBlbmNhcHN1bGF0aW5nIGFuZCBwcm90ZWN0aW5nIHRoZXJhcGV1dGljIGFnZW50cyBsaWtlIG1STkEsIExOUHMgZW5oYW5jZSB0aGUgc3RhYmlsaXR5LCB0YXJnZXRlZCBkZWxpdmVyeSwgYW5kIGVmZmVjdGl2ZW5lc3Mgb2YgdHJlYXRtZW50cy4gVGhlaXIgYWJpbGl0eSB0byBiZSB0YWlsb3JlZCBmb3Igc3BlY2lmaWMgZGVsaXZlcnkgbmVlZHMsIHN1Y2ggYXMgdGFyZ2V0aW5nIHBhcnRpY3VsYXIgb3JnYW5zIG9yIG92ZXJjb21pbmcgcGh5c2lvbG9naWNhbCBiYXJyaWVycywgbWFrZXMgdGhlbSBhIHBvd2VyZnVsIHRvb2wgaW4gbW9kZXJuIG1lZGljaW5lIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiOVwiLz4gLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiUHJvdGVjdGlvbiBvZiBjYXJnb1wiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+IFRoZSBwcmltYXJ5IGZ1bmN0aW9uIG9mIExOUHMgaXMgdG8gc2hpZWxkIHRoZSB0aGVyYXBldXRpYyBhZ2VudHMgdGhleSBjYXJyeSwgc3VjaCBhcyBtUk5BLCBmcm9tIGRlZ3JhZGF0aW9uIGFuZCBmYWNpbGl0YXRlIHRoZWlyIGRlbGl2ZXJ5IGludG8gY2VsbHMuIG1STkEgaXMgYSBjcml0aWNhbCBjb21wb25lbnQgaW4gbWFueSBtb2Rlcm4gdmFjY2luZXMgYW5kIHRoZXJhcGllcywgYnV0IGl0IGlzIGhpZ2hseSBzdXNjZXB0aWJsZSB0byBicmVha2luZyBkb3duIGJlZm9yZSBpdCBjYW4gcmVhY2ggaXRzIHRhcmdldCB3aXRoaW4gY2VsbHMuIExOUHMgYWRkcmVzcyB0aGlzIGNoYWxsZW5nZSBieSBlbmNhcHN1bGF0aW5nIHRoZSBtUk5BLCB0aHVzIHByb3RlY3RpbmcgaXQgZnJvbSBoYXJtZnVsIGVuenltZXMsIGxpa2UgUk5hc2VzIGFuZCBlbnZpcm9ubWVudGFsIGNvbmRpdGlvbnMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyXCIvPiAuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVsaXZlcnkgYXNzdXJhbmNlXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+TE5QcyBjb21lIGluIHZhcmlvdXMgdHlwZXMgdGFpbG9yZWQgZm9yIGRpZmZlcmVudCB0aGVyYXBldXRpYyBuZWVkcy4gU29saWQgTGlwaWQgTmFub3BhcnRpY2xlcyAoU0xOcykgYW5kIE5hbm9zdHJ1Y3R1cmVkIExpcGlkIENhcnJpZXJzIChOTENzKSBlbmhhbmNlIGRydWcgc3RhYmlsaXR5IGFuZCBzb2x1YmlsaXR5LCB3aGlsZSBMaXBvc29tZXMsIHdpdGggdGhlaXIgYmlsYXllciBzdHJ1Y3R1cmUsIGFyZSB2ZXJzYXRpbGUgZm9yIGVuY2Fwc3VsYXRpbmcgYm90aCBoeWRyb3BoaWxpYyBhbmQgaHlkcm9waG9iaWMgZHJ1Z3MuIENhdGlvbmljIExOUHMgYXJlIGlkZWFsIGZvciBnZW5lIGRlbGl2ZXJ5IGR1ZSB0byB0aGVpciBwb3NpdGl2ZSBjaGFyZ2UsIHdoZXJlYXMgYW5pb25pYyBhbmQgbmV1dHJhbCBMTlBzIG9mZmVyIHJlZHVjZWQgaW50ZXJhY3Rpb24gYW5kIGxvd2VyIHRveGljaXR5LCByZXNwZWN0aXZlbHkgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIzXCIvPiAuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UbyBlbmhhbmNlIHRoZWlyIGVmZmVjdGl2ZW5lc3MsIExOUHMgYXJlIGRlc2lnbmVkIHdpdGggc3BlY2lmaWMgY29tcG9uZW50cy4gRm9yIGluc3RhbmNlLCB0aGUgTmVidWxpemVkIEx1bmcgRGVsaXZlcnkgMSAoTkxEMSkgbmFub3BhcnRpY2xlLCBhIHBhcnRpY3VsYXIgdHlwZSBvZiBMTlAsIGluY2x1ZGVzIGEgY29tYmluYXRpb24gb2YgbGlwaWRzIGFuZCBwb2x5bWVycyB0aGF0IHN0YWJpbGl6ZSB0aGUgbVJOQSBhbmQgYWxsb3cgaXQgdG8gYmUgZGVsaXZlcmVkIGVmZmljaWVudGx5LiBUaGlzIGZvcm11bGF0aW9uIGluY2x1ZGVzIHNtYWxsIGxpcGlkIHBhcnRpY2xlcyB0aGF0IGVuY2Fwc3VsYXRlIHRoZSBtUk5BIGFuZCBjYW4gbWFpbnRhaW4gc3RhYmlsaXR5IGZvciBzZXZlcmFsIGRheXMgdW5kZXIgcHJvcGVyIHN0b3JhZ2UgY29uZGl0aW9ucyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjJcIi8+IC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJTaXplIGltcGFjdCBvZiBwdWxtb25hcnkgTE5Qc1wiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgSW4gdGhlIGNvbnRleHQgb2YgcHVsbW9uYXJ5IGRlbGl2ZXJ5LCB3aGVyZSB0aGUgZ29hbCBpcyB0byB0YXJnZXQgdGhlIGx1bmdzLCB0aGUgc2l6ZSBhbmQgcHJvcGVydGllcyBvZiB0aGUgTE5QcyBhcmUgY3J1Y2lhbC4gUGFydGljbGVzIHNtYWxsZXIgdGhhbiAyIG1pY3JvbWV0ZXJzIGFyZSBwYXJ0aWN1bGFybHkgZWZmZWN0aXZlIGZvciByZWFjaGluZyB0aGUgYWx2ZW9sYXIgcmVnaW9ucyBvZiB0aGUgbHVuZ3MgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxMVwiLz4gLiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlJvbGUgb2Ygc3VyZmFjZSBtb2RpZmljYXRpb25zIGluIHRhcmdldGluZ1wiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9hcnMuZWxzLWNkbi5jb20vY29udGVudC9pbWFnZS8xLXMyLjAtUzE3NzMyMjQ3MjQwMDIxNTYtZ3IzX2xyZy5qcGdcIiBhbHQ9XCJBdWZuYWhtZSBMTlBcIiBzdHlsZT17e21heEhlaWdodDogXCIyMDBwdFwifX0vPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUuIDwvYj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVuZG9zb21hbCBlc2NhcGUgdnMgZGVncmFkYXRpb24gb2YgTE5QIGNhcmdvIGF0IGVuZG9jeXRvc2lzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNFwiLz4gLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5MTlBzIGFyZSBwaXZvdGFsIG5vdCBvbmx5IGZvciBzaGllbGRpbmcgbVJOQSBidXQgYWxzbyBmb3IgZW5zdXJpbmcgaXRzIGVmZmljaWVudCBkZWxpdmVyeSBpbnRvIHRhcmdldCBjZWxscy4gVGhleSBmYWNpbGl0YXRlIGNlbGx1bGFyIHVwdGFrZSB0aHJvdWdoIGVuZG9jeXRvc2lzLCB3aGVyZSB0aGUgY2VsbCBtZW1icmFuZSBlbmd1bGZzIHRoZSBuYW5vcGFydGljbGUuIExOUHMgYXJlIGFjY2xhaW1lZCBmb3IgdGhlaXIgaGlnaCBkcnVnLWxvYWRpbmcgY2FwYWNpdGllcywgd2hpY2ggZ3JlYXRseSBlbmhhbmNlIHRoZWlyIHRoZXJhcGV1dGljIGVmZmVjdGl2ZW5lc3MuIEhvd2V2ZXIsIHRoZSBzdWNjZXNzIG9mIHRoaXMgZGVsaXZlcnkgaGluZ2VzIG9uIGVmZmVjdGl2ZSBlbmRvc29tYWwgZXNjYXBlLiBJZGVhbGx5LCBMTlBzIHJlbGVhc2UgdGhlaXIgbVJOQSBwYXlsb2FkIGludG8gdGhlIGN5dG9wbGFzbSBhZnRlciBlc2NhcGluZyBmcm9tIGVuZG9zb21lcy4gSWYgdGhpcyBlc2NhcGUgcHJvY2VzcyBpcyBpbmVmZmljaWVudCwgdGhlIG1STkEgY2FuIGJlIGRlZ3JhZGVkIGJ5IGx5c29zb21lcywgd2hpY2ggcG9zZXMgYSBzaWduaWZpY2FudCBjaGFsbGVuZ2UgZm9yIG1STkEgdmFjY2luZXMgYW5kIHRoZXJhcGllcyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjRcIi8+IC48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkEgY3J1Y2lhbCBhZHZhbmNlbWVudCBpbiBMTlAgdGVjaG5vbG9neSBpbnZvbHZlcyB0aGUgdXNlIG9mIHBILXNlbnNpdGl2ZSBjYXRpb25pemFibGUgbGlwaWRzLiBUaGVzZSBsaXBpZHMgcmVtYWluIG5ldXRyYWwgYXQgcGh5c2lvbG9naWNhbCBwSCBidXQgYmVjb21lIGNhdGlvbmljIGluIHRoZSBhY2lkaWMgZW52aXJvbm1lbnQgb2YgZW5kb3NvbWVzLiBUaGlzIHNoaWZ0IGluIGNoYXJnZSBoZWxwcyBkaXNzb2NpYXRlIHRoZSBuYW5vcGFydGljbGVzIGFuZCBkaXNydXB0IHRoZSBlbmRvc29tYWwgbWVtYnJhbmUsIGVuaGFuY2luZyB0aGUgbGlrZWxpaG9vZCBvZiBzdWNjZXNzZnVsIGVuZG9zb21hbCBlc2NhcGUgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI1XCIvPiAuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Nb3Jlb3ZlciwgdGhlIHN1cmZhY2Ugb2YgTE5QcyBjYW4gYmUgY3VzdG9taXplZCB0byBpbXByb3ZlIHRhcmdldGluZy4gRm9yIGluc3RhbmNlLCBpbmNvcnBvcmF0aW5nIHNwZWNpZmljIGxpcGlkcyBvciBtb2RpZnlpbmcgdGhlIHN1cmZhY2Ugd2l0aCBjaGFyZ2VkIGdyb3VwcyBjYW4gZGlyZWN0IHRoZSBkZWxpdmVyeSBvZiBtUk5BIHRvIHRhcmdldGVkIG9yZ2FucyBsaWtlIHRoZSBsdW5ncyBvciBzcGxlZW4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2XCIvPiAuIEFkZGl0aW9uYWxseSwgTE5QcyBjYW4gYmUgZW5naW5lZXJlZCB3aXRoIHRhcmdldGluZyBsaWdhbmRzIG9yIGFudGlib2RpZXMgdG8gcHJlY2lzZWx5IGRpcmVjdCB0aGVpciBwYXlsb2FkIHRvIHNwZWNpZmljIGNlbGwgdHlwZXMsIGZ1cnRoZXIgZW5oYW5jaW5nIHRoZWlyIHRoZXJhcGV1dGljIGVmZmljYWN5IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiN1wiLz4gLiBBbm90aGVyIGFwcHJvYWNoIGNhbiBiZSBjaGl0b3Nhbi1iYXNlZCBuYW5vcGFydGljbGVzIGhhdmUgYmVlbiBleHBsb3JlZCBmb3IgdGhlaXIgYWJpbGl0eSB0byBhZGhlcmUgdG8gbXVjdXMgYW5kIGVuaGFuY2UgZHJ1ZyBkZWxpdmVyeSB0aHJvdWdoIHRoZSByZXNwaXJhdG9yeSB0cmFjdC4gVGhlc2UgbmFub3BhcnRpY2xlcyBjYW4gcGVuZXRyYXRlIHRocm91Z2ggdGhlIG11Y3VzIGxheWVyIHRvIHJlYWNoIHRoZSBsdW5nIHRpc3N1ZXMgbW9yZSBlZmZlY3RpdmVseSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjhcIi8+IC4gVGhpcyB2ZXJzYXRpbGl0eSBpbiBkZXNpZ24gaXMgZXNzZW50aWFsIGZvciBvcHRpbWl6aW5nIHRoZSBkZWxpdmVyeSBhbmQgZWZmZWN0aXZlbmVzcyBvZiBMTlAtYmFzZWQgdGhlcmFwaWVzLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwiQ29sMlwiIG9wZW49e2ZhbHNlfSB0aXRsZT1cIkNoYWxsZW5nZXMgb2Ygd29ya2luZyB3aXRoIExOUHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5NYWludGFpbmluZyB0aGUgc3RhYmlsaXR5IG9mIExOUHMgdGhyb3VnaG91dCBmb3JtdWxhdGlvbiwgc3RvcmFnZSwgYW5kIGRlbGl2ZXJ5IGlzIGNyaXRpY2FsLCBhcyBmYWN0b3JzIGxpa2UgdGVtcGVyYXR1cmUgY2hhbmdlcywgcEggc2hpZnRzLCBvciBtZWNoYW5pY2FsIHN0cmVzcyBjYW4gYWZmZWN0IHRoZWlyIGludGVncml0eSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjFcIi8+ICA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjJcIi8+IC4gRXF1YWxseSBpbXBvcnRhbnQgaXMgZW5zdXJpbmcgZWZmaWNpZW50IGVuY2Fwc3VsYXRpb24gb2YgdGhlIGdlbmV0aWMgbWF0ZXJpYWwsIGFzIGFueSBpbmVmZmljaWVuY3kgY2FuIGxlYWQgdG8gZGVncmFkYXRpb24gb2YgdGhlIHRoZXJhcGV1dGljIGNhcmdvIG9yIGluYWRlcXVhdGUgZGVsaXZlcnkgdG8gdGhlIHRhcmdldCBjZWxscy4gT25jZSBpbnNpZGUgdGhlIGJvZHksIExOUHMgZmFjZSB0aGUgY2hhbGxlbmdlIG9mIGNlbGx1bGFyIHVwdGFrZSBhbmQgc3VjY2Vzc2Z1bCBlbmRvc29tYWwgZXNjYXBlIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiM1wiLz4gIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNFwiLz4gLiBJZiB0aGV5IGNhbm5vdCBlc2NhcGUgdGhlIGVuZG9zb21lIGFmdGVyIGVudGVyaW5nIHRoZSBjZWxscywgdGhlcmUgaXMgYSByaXNrIHRoYXQgdGhlIGdlbmV0aWMgbWF0ZXJpYWwgd2lsbCBiZSBkZWdyYWRlZCBpbiB0aGUgbHlzb3NvbWVzLCBsaW1pdGluZyB0aGUgZWZmaWNhY3kgb2YgdGhlIHRyZWF0bWVudC4gSW4gYWRkaXRpb24sIHRoZSBmb3JtdWxhdGlvbiBtdXN0IG1pbmltaXplIGltbXVub2dlbmljaXR5IGFuZCB0b3hpY2l0eSwgcGFydGljdWxhcmx5IHdpdGggcmVwZWF0ZWQgZG9zaW5nLCB3aGljaCBpcyBvZnRlbiBuZWNlc3NhcnkgZm9yIGNocm9uaWMgZGlzZWFzZXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyXCIvPiAgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIzXCIvPiAuIEFjaGlldmluZyB0aGlzIHNlbnNpdGl2ZSBiYWxhbmNlIGlzIGNydWNpYWwgZm9yIG1heGltaXppbmcgdGhlIHRoZXJhcGV1dGljIHBvdGVudGlhbCBvZiBMTlBzIGluIGdlbmUgZGVsaXZlcnkuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPldoaWxlIHRoZXNlIGFyZSBnZW5lcmFsIGRpZmZpY3VsdGllcyBpbiB0aGUgdXNlIG9mIExOUHMgZm9yIGdlbmUgdGhlcmFweSwgZnVydGhlciBjaGFsbGVuZ2VzIGFyaXNlIHdoZW4gYWRtaW5pc3RlcmluZyB0aGUgTE5QcyB2aWEgaW5oYWxhdGlvbiBpbnRvIHRoZSBsdW5ncywgZHVlIHRvIHRoZSB1bmlxdWUgZW52aXJvbm1lbnQgYW5kIGFuYXRvbXkgb2YgdGhlIHJlc3BpcmF0b3J5IHN5c3RlbS48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQ2hhbGxlbmdlcyBvZiBpbmhhbGF0ZWQgbHVuZy1zcGVjaWZpYyBMTlBzXCIgaWQ9XCJjaGFsbDJcIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGVzZSBjaGFsbGVuZ2VzIHJhbmdlIGZyb20gZm9ybXVsYXRpb24gYW5kIHBhcnRpY2xlIHNpemUgdG8gb3ZlcmNvbWluZyBiaW9sb2dpY2FsIGJhcnJpZXJzIGFuZCBtYWludGFpbmluZyBjb25zaXN0ZW50IGRvc2luZywgYWxsIG9mIHdoaWNoIGltcGFjdCB0aGUgb3ZlcmFsbCBlZmZpY2FjeSBvZiB0aGUgdGhlcmFweS4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPldoZW4gdHJhbnNmb3JtaW5nIExOUCBmb3JtdWxhdGlvbnMgaW50byBpbmhhbGFibGUgcGFydGljbGVzLCBldmVuIGdyZWF0ZXIgYXR0ZW50aW9uIG11c3QgYmUgcGFpZCB0byBzdGFiaWxpdHkgdGhhbiBpcyBhbHJlYWR5IHRoZSBjYXNlLiBEdXJpbmcgcHJvY2Vzc2VzIGxpa2UgbmVidWxpemF0aW9uIG9yIHNwcmF5LWRyeWluZywgTE5QcyBhcmUgZXhwb3NlZCB0byBzdHJvbmcgPHN0cm9uZz5tZWNoYW5pY2FsIHN0cmVzczwvc3Ryb25nPiBzdWNoIGFzIHNoZWFyIGZvcmNlcyBkdXJpbmcgYWVyb3NvbGl6YXRpb24gdGhhdCBjYW4gZGFtYWdlIHRoZSBMTlAgYW5kIHRodXMgdGhlaXIgYWJpbGl0eSB0byBwcm90ZWN0IGFuZCBkZWxpdmVyIGdlbmV0aWMgbWF0ZXJpYWwgZWZmZWN0aXZlbHkgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI1XCIvPiAuIEVuc3VyaW5nIHRoYXQgdGhlIExOUHMgbWFpbnRhaW4gdGhlaXIgc3RydWN0dXJlIHRocm91Z2hvdXQgdGhpcyB0cmFuc2Zvcm1hdGlvbiB3aGlsZSByZW1haW5pbmcgc3VpdGFibGUgZm9yIGFlcm9zb2wgZGVsaXZlcnkgaXMgY3JpdGljYWwgdG8gdGhlIHN1Y2Nlc3Mgb2YgdGhlIHRoZXJhcHkuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSA8c3Ryb25nPnNpemU8L3N0cm9uZz4gb2YgdGhlIG5hbm9wYXJ0aWNsZXMgaXMgYW5vdGhlciBpbXBvcnRhbnQgZmFjdG9yLiBGb3Igc3VjY2Vzc2Z1bCBsdW5nIGRlbGl2ZXJ5LCBMTlBzIHNob3VsZCBiZSBzbWFsbGVyIHRoYW4gMiBcdTAwQjVtIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNlwiLz4gLiBJZiB0aGUgcGFydGljbGVzIGFyZSB0b28gbGFyZ2UsIHRoZXJlIGlzIGEgcmlzayB0aGF0IHRoZXkgd2lsbCBnZXQgc3R1Y2sgaW4gdGhlIHVwcGVyIGFpcndheXMgbm90IGFibGUgdG8gcmVhY2ggdGhlIHRhcmdldCBjZWxsczsgaWYgdGhleSBhcmUgdG9vIHNtYWxsLCB0aGV5IG1heSBiZSBleGhhbGVkIGJlZm9yZSByZWFjaGluZyB0aGUgZGVlcGVyIGx1bmcgdGlzc3VlLiBUaGUgcmlnaHQgcGFydGljbGUgc2l6ZSBpcyBjcnVjaWFsIGZvciB0aGUgTE5QcyB0byByZWFjaCB0aGUgYWx2ZW9saSwgd2hlcmUgdGhleSBjYW4gcHJvdmlkZSB0aGUgZ3JlYXRlc3QgdGhlcmFwZXV0aWMgaW1wYWN0LjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Bbm90aGVyIG1ham9yIGNoYWxsZW5nZSBpcyBvdmVyY29taW5nIHRoZSBsdW5ncycgbmF0dXJhbCA8c3Ryb25nPnByb3RlY3RpdmUgYmFycmllcnM8L3N0cm9uZz4uIFRoZSBhaXJ3YXlzIGFyZSBsaW5lZCB3aXRoIG11Y3VzIGFuZCBzdXJmYWN0YW50cywgd2hpY2ggaGVscCB0byBkZWZlbmQgYWdhaW5zdCBwYXRob2dlbnMsIGJ1dCBhbHNvIG1ha2UgaXQgZGlmZmljdWx0IGZvciBMTlBzIHRvIGJlIHRyYW5zcG9ydGVkLiBJbiBkaXNlYXNlcyBzdWNoIGFzIGN5c3RpYyBmaWJyb3NpcywgdGhlIHRoaWNrZW5lZCBtdWN1cyBwcmVzZW50cyBhbiBldmVuIGdyZWF0ZXIgb2JzdGFjbGUsIG1ha2luZyBpdCBtb3JlIGRpZmZpY3VsdCBmb3IgdGhlIExOUHMgdG8gcmVhY2ggdGhlIHRhcmdldCBjZWxscyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjVcIi8+IC4gVGhlIGRldmVsb3BtZW50IG9mIExOUHMgdGhhdCBjYW4gcGVuZXRyYXRlIHRoZXNlIGJhcnJpZXJzIGlzIGVzc2VudGlhbCBmb3IgdGhlIHN1Y2Nlc3Mgb2YgZ2VuZSB0aGVyYXB5LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+RmluYWxseSwgaW5oYWxlZCBhZG1pbmlzdHJhdGlvbiBsZWFkcyB0byBmbHVjdHVhdGlvbnMgaW4gdGhlIGNvbnNpc3RlbmN5IG9mIHRoZSA8c3Ryb25nPmRvc2FnZTwvc3Ryb25nPi4gVW5saWtlIGludHJhdmVub3VzIGFkbWluaXN0cmF0aW9uLCB3aGVyZSBkb3NpbmcgY2FuIGJlIHN0cmljdGx5IGNvbnRyb2xsZWQsIHRoZSByZXN1bHRzIG9mIGluaGFsYXRpb24gYXJlIGluZmx1ZW5jZWQgYnkgZmFjdG9ycyBzdWNoIGFzIHRoZSBwYXRpZW50J3MgYnJlYXRoaW5nIHBhdHRlcm4sIGx1bmcgY2FwYWNpdHkgYW5kIGluaGFsYXRpb24gdGVjaG5pcXVlLiBUaGVzZSB2YXJpYWJsZXMgY2FuIGFmZmVjdCBob3cgbXVjaCBvZiB0aGUgTE5QIGZvcm11bGF0aW9uIGFjdHVhbGx5IHJlYWNoZXMgdGhlIGx1bmdzLCBjb21wbGljYXRpbmcgZWZmb3J0cyB0byBtYWludGFpbiBhIGNvbnNpc3RlbnQgdGhlcmFwZXV0aWMgZG9zZSBvdmVyIHRpbWUsIHdoaWNoIGlzIGEgcmVhc29uYWJsZSBwcmljZSB0byBwYXkgd2hlbiB5b3UgY29uc2lkZXIgdGhhdCBpbmhhbGF0aW9uIGlzIGEgbm9uLWludmFzaXZlIGZvcm0gb2YgdGhlcmFweSBjb21wYXJlZCB0byBzeXN0ZW1pYyB0aGVyYXB5IHZpYSBpbmplY3Rpb25zIGludG8gdGhlIGJsb29kc3RyZWFtPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkFsbCB0aGVzZSBjaGFsbGVuZ2VzIGNvbXBsaWNhdGUgdGhlIHdvcmsgd2l0aCBMTlBzIGFuZCBwcmVzZW50IHNjaWVudGlzdHMgd2l0aCBhIGdyZWF0IGNoYWxsZW5nZSwgd2hpY2ggbWFrZXMgd29ya2luZyB3aXRoIExOUHMgZXZlbiBtb3JlIGltcG9ydGFudCB0byBmaW5kIHNvbHV0aW9ucy48L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRvIG9wdGltaXplIEFpckJ1ZGR5IGZvciBwdWxtb25hcnkgZGVsaXZlcnksIHdlIGNvbGxhYm9yYXRlZCBleHRlbnNpdmVseSB3aXRoIHNldmVyYWwgZXhwZXJ0cywgaW5jbHVkaW5nIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3dlYmVyJywgJy9odW1hbi1wcmFjdGljZXMnKX0+UHJvZi4gV2ViZXIsIERyLiBHcm9cdTAwREZlLU9ubmVicmluazwvYT4gYW5kIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2tvbG9ua29maXJzdCcsICcvaHVtYW4tcHJhY3RpY2VzJyl9PkRyLiBLb2xvbmtvPC9hPiBhcyBtZWRpY2FsIGV4cGVydHMsIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2tyaXN0aWFuJywgJy9odW1hbi1wcmFjdGljZXMnKX0+UHJvZi4gRHIuIE1cdTAwRkNsbGVyPC9hPiwgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigncmFkdWtpYycsICcvaHVtYW4tcHJhY3RpY2VzJyl9PkRyLiBSYWR1a2ljPC9hPiwgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignbW9vcmxhY2gnLCAnL2h1bWFuLXByYWN0aWNlcycpfT5CZW5qYW1pbiBNb29ybGFjaDwvYT4gYW5kIHRoZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdiaW9waHlzaWsnLCAnL2h1bWFuLXByYWN0aWNlcycpfT5QaHlzaWNhbCBhbmQgQmlvcGh5c2ljYWwgQ2hlbWlzdHJ5IHdvcmtpbmcgZ3JvdXA8L2E+IGFzIGFjYWRlbWljIGV4cGVydHMgZm9ybSBCaWVsZWZlbGQgVW5pdmVyc2l0eSBhbmQgRkggQmllbGVmZWxkIGFzIHdlbGwgYXMgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignY29yZGVuJywgJy9odW1hbi1wcmFjdGljZXMnKX0+Q29yZGVuIFBoYXJtYTwvYT4gYW5kIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3JuaGFsZScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PlJOaGFsZTwvYT4gYXMgaW5kdXN0cmlhbCBleHBlcnRzLiBUaHJvdWdob3V0IHRoZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdkZWxpdmVyeSBoZWFkJywgJy9lbmdpbmVlcmluZycpfT5kZXZlbG9wbWVudCBwcm9jZXNzPC9hPiwgd2UgdGVzdGVkIHR3byBjb21tZXJjaWFsbHkgYXZhaWxhYmxlIGtpdHM6IHRoZSA8c3Ryb25nPkNheW1hbiBDaGVtaWNhbCBMTlAgRXhwbG9yYXRpb24gS2l0IChMTlAtMTAyKTwvc3Ryb25nPiBhbmQgdGhlIDxzdHJvbmc+Q29yZGVuIFBoYXJtYSBMTlAgU3RhcnRlciBLaXQgIzI8L3N0cm9uZz4uIFdoaWxlIHRoZSBDYXltYW4ga2l0IGRlbW9uc3RyYXRlZCBsaW1pdGVkIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LCB0aGUgQ29yZGVuIFBoYXJtYSBmb3JtdWxhdGlvbiBzaWduaWZpY2FudGx5IGVuaGFuY2VkIGNlbGx1bGFyIHVwdGFrZSBpbiBsdW5nIHRpc3N1ZXMuIEJ1aWxkaW5nIG9uIHRoaXMsIHdlIGludGVncmF0ZWQgdGhlIDxzdHJvbmc+U09SVCBMTlA8L3N0cm9uZz4gbWV0aG9kIGJhc2VkIG9uIFdhbmcncyByZXNlYXJjaCA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjFcIi8+ICwgbWFraW5nIG91ciBuYW5vcGFydGljbGVzIGx1bmctc3BlY2lmaWMuIEFkZGl0aW9uYWxseSwgd2UgZW1wbG95ZWQgdGhlIDxzdHJvbmc+c3ByYXktZHJ5aW5nIHRlY2huaXF1ZTwvc3Ryb25nPiBpbiBjb29wZXJhdGlvbiB3aXRoIFJOaGFsZSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjJcIi8+ICB0byBpbXByb3ZlIHRoZSBzdGFiaWxpdHkgb2Ygb3VyIExOUCwgZW5zdXJpbmcgdGhhdCBpdCB3aXRoc3RhbmRzIHRoZSBpbmhhbGF0aW9uIHByb2Nlc3Mgd2l0aG91dCBkZWdyYWRhdGlvbi4gVGhpcyBzdGFiaWxpdHkgaXMgY3J1Y2lhbCBmb3IgdGhlIGVmZmljaWVudCBkZWxpdmVyeSBvZiBtUk5BIGludG8gbHVuZyBlcGl0aGVsaWFsIGNlbGxzLCB3aGVyZSBQcmltZUd1aWRlIGNhbiBlZmZlY3RpdmVseSBwZXJmb3JtIGdlbm9tZSBlZGl0aW5nLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvYmlnLXBsYW4taW5oYWxhdGlvbi10ZWlsLWRlbC53ZWJwXCIvPiAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgIDxwPlRvIGV2YWx1YXRlIHRoZSA8c3Ryb25nPmRlbGl2ZXJ5IGVmZmljaWVuY3k8L3N0cm9uZz4sIHdlIHRyYW5zZmVjdGVkIEhFSzI5MyBhbmQgQ0ZCRTQxby0gY2VsbHMgdXNpbmcgZmx1b3Jlc2NlbnQgY2FyZ28gYW5kIHF1YW50aWZpZWQgdGhlIHJlc3VsdHMgdGhyb3VnaCBGQUNTIGFuYWx5c2lzLiBXZSBhbHNvIGVuc3VyZWQgdGhhdCBBaXJCdWRkeSBtZWV0cyB0aGUgbmVjZXNzYXJ5IHN0YW5kYXJkcyBmb3Igc2FmZXR5IGFuZCBlZmZpY2FjeSBzaW5jZSB3ZSBjb25kdWN0ZWQgZXh0ZW5zaXZlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnSW4tRGVwdGggQ2hhcmFjdGVyaXphdGlvbiBvZiBMTlBzSCcsICcvbWF0ZXJpYWxzLW1ldGhvZHMnKX0+IGNoYXJhY3Rlcml6YXRpb24gb2YgdGhlIExOUHMgPC9hPnVzaW5nIHRlY2huaXF1ZXMgc3VjaCBhcyBaZXRhIHBvdGVudGlhbCBhbmFseXNpcywgRHluYW1pYyBMaWdodCBTY2F0dGVyaW5nIChETFMpLCBTY2FubmluZyBFbGVjdHJvbiBNaWNyb3Njb3B5IChTRU0pLCBhbmQgQ3J5b2dlbmljIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKGNyeW8tRU0pLiBUaGVzZSBtZXRob2RzIGNvbmZpcm1lZCB0aGUgdW5pZm9ybWl0eSwgc3RhYmlsaXR5LCBhbmQgb3B0aW1hbCBzaXplIGRpc3RyaWJ1dGlvbiBvZiB0aGUgbmFub3BhcnRpY2xlcy4gRnVydGhlcm1vcmUsIDxzdHJvbmc+Y3l0b3RveGljaXR5IGFzc2Vzc21lbnRzPC9zdHJvbmc+IGluY2x1ZGluZyBNVFQgYW5kIHByb2xpZmVyYXRpb24gYXNzYXlzIGRlbW9uc3RyYXRlZCB0aGF0IG91ciBMTlBzIGFyZSBiaW9jb21wYXRpYmxlIGFuZCBkbyBub3QgaW1wZWRlIGNlbGwgZ3Jvd3RoIG9yIGZ1bmN0aW9uIGJ5IHRoZSBpbmNvcnBvcmF0aW9uIG9mIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2l0NCcsICcvZW5naW5lZXJpbmcnKX0+UEVHPC9hPiBhbmQgb3RoZXIgYW1iaXZhbGVudCBjb21wb25lbnRzLiBUaGVzZSBmaW5kaW5ncyByZWluZm9yY2UgQWlyQnVkZHkncyBwb3RlbnRpYWwgYXMgYSBzYWZlIGFuZCBlZmZlY3RpdmUgdG9vbCBmb3IgcHVsbW9uYXJ5IGRlbGl2ZXJ5LCB3aXRoIGJyb2FkIGltcGxpY2F0aW9ucyBmb3IgZ2VuZSB0aGVyYXBpZXMgdGFyZ2V0aW5nIGx1bmcgZGlzZWFzZXMuPC9wPlxuICAgICAgICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiT3VyIEFjaGlldmVtZW50XCIgaWQ9XCJPdXIgQWNoaWV2ZW1lbnRcIj5cbiAgICAgICAgICAgICAgICA8cD5XZSBoYXZlIHN1Y2Nlc3NmdWxseSBkZW1vbnN0cmF0ZWQgYSA8Yj5wcm9vZiBvZiBjb25jZXB0PC9iPiBmb3Igb3VyIGdlbmUgdGhlcmFweSBhcHByb2FjaCB0YXJnZXRpbmcgY3lzdGljIGZpYnJvc2lzLiBJbiBpbml0aWFsIGV4cGVyaW1lbnRzLCBIRUsgY2VsbHMgY2FycnlpbmcgYSAzLWJhc2UgZGVsZXRpb24gYW5hbG9nb3VzIHRvIHRoZSA8aT5GNTA4ZGVsPC9pPiBtdXRhdGlvbiB3ZXJlIHRyYW5zZmVjdGVkIHdpdGggb3VyIHByaW1lIGVkaXRpbmcgY29tcGxleC4gVGhlIHJlc3VsdHMgbWV0IG91ciBleHBlY3RhdGlvbnMsIGNvbmZpcm1pbmcgdGhlIHZpYWJpbGl0eSBvZiBvdXIgYXBwcm9hY2ggZm9yIHByZWNpc2UgZ2VuZSBjb3JyZWN0aW9uLiBCYXNlZCBvbiB0aGVzZSBmaW5kaW5ncywgd2Ugb3B0aW1pemVkIHRoZSBwcmltZSBlZGl0aW5nIGNvbXBsZXgsIGxlYWRpbmcgdG8gdGhlIGNyZWF0aW9uIG9mIDxpPlByaW1lR3VpZGU8L2k+LCBhIG1vcmUgY29tcGFjdCBhbmQgZWZmaWNpZW50IGVkaXRpbmcgdG9vbC4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPkNlbnRyYWwgdG8gb3VyIDxiPmRlbGl2ZXJ5IHN5c3RlbTwvYj4gaXMgPGI+QWlyQnVkZHk8L2I+LCBhIGx1bmctc3BlY2lmaWMgbGlwaWQgbmFub3BhcnRpY2xlIGRlc2lnbmVkIHRvIHN0YWJpbGl6ZSBhbmQgcHJvdGVjdCB0aGUgcHJpbWUgZWRpdGluZyBjb21wbGV4IGR1cmluZyB0cmFuc3BvcnQgdG8gbHVuZyBpb25vY3l0ZXMuIDxpPkFpckJ1ZGR5PC9pPiBlbnN1cmVzIHRoYXQgdGhlIHByb3RlaW4gY29tcGxleCBpcyBkZWxpdmVyZWQgc3BlY2lmaWNhbGx5IHRvIGx1bmcgY2VsbHMsIGVuaGFuY2luZyB0aGUgZWZmaWNpZW5jeSBvZiB0aGUgZ2VuZS1lZGl0aW5nIHByb2Nlc3MuIEJ5IG1vZGlmeWluZyB0aGUgbGlwaWQgbmFub3BhcnRpY2xlIHdpdGggcHJvdGVjdGl2ZSBmZWF0dXJlcywgd2UgYWNoaWV2ZWQgaW5jcmVhc2VkIHN0YWJpbGl0eSwgZW5zdXJpbmcgZWZmZWN0aXZlIGRlbGl2ZXJ5IHRvIHRoZSB0YXJnZXQgY2VsbHMuIDwvcD5cbiAgICAgICAgICAgICAgICA8cD5XZSBmdXJ0aGVyIG9wdGltaXplZCB0aGUgcHJpbWUgZWRpdGluZyBmdXNpb24gcHJvdGVpbiwgPGI+UHJpbWVHdWlkZTwvYj4sIHRvIHN0cmVhbWxpbmUgaXRzIGNvbXBvbmVudHMsIHJlc3VsdGluZyBpbiBhIHNtYWxsZXIgYW5kIG1vcmUgZWZmaWNpZW50IHByaW1lIGVkaXRpbmcgY29tcGxleC4gVGhpcyBpbXByb3ZlbWVudCBzaWduaWZpY2FudGx5IGVuaGFuY2VzIHRoZSBwcmVjaXNpb24gb2YgdGhlIGdlbmUgZWRpdGluZyBwcm9jZXNzLCByZWR1Y2luZyBvZmYtdGFyZ2V0IGVmZmVjdHMgYW5kIGluY3JlYXNpbmcgdGhlIG92ZXJhbGwgc3VjY2VzcyBvZiBtdXRhdGlvbiBjb3JyZWN0aW9uLiA8L3A+XG4gICAgICAgICAgICAgICAgPHA+SW4gc3Vic2VxdWVudCBleHBlcmltZW50cywgPGI+SEVLIGNlbGxzPC9iPiBjYXJyeWluZyB0aGUgQ0ZUUiA8aT5GNTA4ZGVsPC9pPiBtdXRhdGlvbiB3ZXJlIHN1Y2Nlc3NmdWxseSA8Yj50cmFuc2ZlY3RlZDwvYj4gd2l0aCB0aGUgb3B0aW1pemVkIHByaW1lIGVkaXRpbmcgY29tcGxleC4gT3VyIHJlc3VsdHMgaW5kaWNhdGVkIHN1Y2Nlc3NmdWwgY29ycmVjdGlvbiBvZiB0aGUgbXV0YXRpb24sIGNvbmZpcm1pbmcgdGhlIHBvdGVudGlhbCBvZiBvdXIgYXBwcm9hY2ggZm9yIHRyZWF0aW5nIGN5c3RpYyBmaWJyb3Npcy4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPkFkZGl0aW9uYWxseSwgd2UgZXhwbG9yZWQgPGI+ZG93bnN0cmVhbSBhcHBsaWNhdGlvbnM8L2I+LiBQcmltYXJ5IGNlbGwgY3VsdHVyZXMgd2VyZSB0cmVhdGVkIHdpdGggbGlwaWQgbmFub3BhcnRpY2xlcyB0byBpbnRyb2R1Y2UgYSByZXBvcnRlciBSTkEuIFdlIGFsc28gZXN0YWJsaXNoZWQgMkQgY3VsdHVyZXMgdHJhbnNmZWN0ZWQgd2l0aCBZRlAsIGEgc29kaXVtLXNlbnNpdGl2ZSByZXBvcnRlciBwcm90ZWluLCB0byBhc3Nlc3MgaW9uIGNoYW5uZWwgZnVuY3Rpb25hbGl0eS4gRmluYWxseSwgaW4gQ0ZUUi1kZWZpY2llbnQgb3JnYW5vaWRzLCBvdXIgc3lzdGVtIGZhY2lsaXRhdGVkIHJlcGFpciBvZiB0aGUgQ0ZUUiBjaGFubmVsLCBldmlkZW5jZWQgYnkgYW4gaW5jcmVhc2UgaW4gb3JnYW5vaWQgdm9sdW1lIHVwb24gdHJlYXRtZW50LiBUaGlzIHN1Z2dlc3RzIHN1Y2Nlc3NmdWwgZnVuY3Rpb25hbCByZXN0b3JhdGlvbiBvZiBDRlRSIGFjdGl2aXR5LiA8L3A+XG4gICAgICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIk91ciBWaXNpb25cIiBpZD1cIk91ciBWaXNpb25cIj5cbiAgICAgICAgICAgICAgICA8cD5BdCA8Yj5QcmVDeXNlPC9iPiwgd2UgZW52aXNpb24gYSBmdXR1cmUgd2hlcmUgZ2VuZSB0aGVyYXB5IGZvciBjeXN0aWMgZmlicm9zaXMgKENGKSBpcyBhcyBzaW1wbGUgYW5kIHVzZXItZnJpZW5kbHkgYXMgdXNpbmcgYW4gaW5oYWxlci4gT3VyIGdvYWwgaXMgdG8gZGV2ZWxvcCBhIGZ1bGx5IGludGVncmF0ZWQgUHJpbWUgRWRpdGluZyBzeXN0ZW0sIDxiPlByaW1lR3VpZGU8L2I+LCBkZWxpdmVyZWQgdmlhIGEgY3V0dGluZy1lZGdlIGxpcGlkIG5hbm9wYXJ0aWNsZSAoTE5QKSBwbGF0Zm9ybSwgPGI+QWlyQnVkZHk8L2I+LiBUaGUgdGhlcmFweSB3b3VsZCBhbGxvdyBwYXRpZW50cyB0byBpbmhhbGUgdGhlIHRoZXJhcGV1dGljIGNvbXBsZXgsIHRhcmdldGluZyB0aGUgdW5kZXJseWluZyBnZW5ldGljIG11dGF0aW9uIHRoYXQgY2F1c2VzIENGXHUyMDE0c3BlY2lmaWNhbGx5LCB0aGUgRjUwOGRlbCBtdXRhdGlvbiBpbiB0aGUgQ0ZUUiBnZW5lLiA8L3A+XG4gICAgICAgICAgICAgICAgPHA+VGhlIGNvcmUgb2Ygb3VyIHZpc2lvbiBpcyB0byBjcmVhdGUgYSBoaWdobHkgZWZmaWNpZW50IGFuZCBzYWZlIFByaW1lIEVkaXRpbmcgY29tcGxleCwgcmVmZXJyZWQgdG8gYXMgUHJpbWUgR3VpZGUsIHRoYXQgaXMgZGVsaXZlcmVkIGRpcmVjdGx5IGludG8gbHVuZyBlcGl0aGVsaWFsIGNlbGxzLiBUaGlzIGNvbXBsZXggd2lsbCBiZSBwYWNrYWdlZCBhcyBtUk5BIGludG8gTE5Qcywgd2l0aCBhbiBvcHRpbWFsIHJhdGlvIG9mIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBvbmVudHMgYW5kIGl0cyBndWlkZSBSTkEgKHBlZ1JOQSkuIE9uY2UgaW5zaWRlIHRoZSBjZWxsLCB0aGUgbVJOQSB3aWxsIGJlIHRyYW5zbGF0ZWQsIGZvcm1pbmcgdGhlIGFjdGl2ZSBQcmltZSBFZGl0aW5nIGNvbXBsZXgsIHdoaWNoIHRoZW4gdHJhbnNsb2NhdGVzIGludG8gdGhlIG51Y2xldXMgdXNpbmcgbnVjbGVhciBsb2NhbGl6YXRpb24gc2VxdWVuY2VzLiBUaGVyZSwgdGhlIGNvbXBsZXggd2lsbCBwcmVjaXNlbHkgZWRpdCB0aGUgZ2Vub21lIHRvIGNvcnJlY3QgdGhlIEY1MDhkZWwgbXV0YXRpb24uIDwvcD5cbiAgICAgICAgICAgICAgICA8cD5UbyBlbnN1cmUgc2FmZXR5LCB3ZSBhcmUgd29ya2luZyBvbiBkZXZlbG9waW5nIGEgcm9idXN0IG1lY2hhbmlzbSB0aGF0IHJlZ3VsYXRlcyB0aGUgUHJpbWUgRWRpdGluZyBjb21wbGV4IGF0IHRoZSBtUk5BIGxldmVsLiBPbmUgY29uY2VwdCB3ZSBhcmUgZXhwbG9yaW5nIGlzIHVzaW5nIHRoZSBYQlAxIGludHJvbjxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiOTdcIi8+ICwgd2hpY2ggcmVzcG9uZHMgdG8gY2VsbHVsYXIgc3RyZXNzIHNpZ25hbHMuIEFkZGl0aW9uYWxseSwgaW4gdGhlIGZ1dHVyZSwgd2UgYWltIHRvIGRldmVsb3AgbW9yZSBtdXRhdGlvbi1zcGVjaWZpYyBjb250cm9sIG1lY2hhbmlzbXMsIHN1Y2ggYXMgUk5BIHJpYm9zd2l0Y2hlcyB0aGF0IGFjdGl2YXRlIHRoZSBlZGl0aW5nIGNvbXBsZXggb25seSBpbiB0aGUgcHJlc2VuY2Ugb2YgdGhlIHRhcmdldCBtdXRhdGlvbiwgb2ZmZXJpbmcgYW4gZXZlbiBncmVhdGVyIGxldmVsIG9mIHByZWNpc2lvbiBhbmQgc2FmZXR5LiA8L3A+XG4gICAgICAgICAgICAgICAgPHA+VGhlIGxvbmctdGVybSB2aXNpb24gZm9yIFByZUN5c2UgaXMgdG8gcHJvdmlkZSBhIGdlbmUgdGhlcmFweSB0aGF0IGNhbiBiZSBhZG1pbmlzdGVyZWQgdGhyb3VnaCBpbmhhbGF0aW9uLCBtdWNoIGxpa2UgYW4gYXN0aG1hIHNwcmF5LiBUaGUgcGF0aWVudCB3b3VsZCBzaW1wbHkgaW5oYWxlIHRoZSBMTlBzLCB3aGljaCB0aGVuIGRlbGl2ZXIgdGhlIHRoZXJhcGV1dGljIG1STkEgdG8gdGhlIGx1bmdzLiBUaGlzIGFwcHJvYWNoIG9mZmVycyBhIHVzZXItZnJpZW5kbHkgYW5kIG1pbmltYWxseSBpbnZhc2l2ZSB0cmVhdG1lbnQgdGhhdCBjb3VsZCBzdXBwcmVzcyB0aGUgc3ltcHRvbXMgb2YgQ0YgZm9yIHNldmVyYWwgbW9udGhzLiBCeSBjb3JyZWN0aW5nIHRoZSBtdXRhdGlvbiBpbiB0aGUgdG9wIGxheWVycyBvZiBsdW5nIGVwaXRoZWxpYWwgY2VsbHMsIHdoZXJlIG11Y3VzIGJ1aWxkdXAgaXMgbW9zdCBwcm9ibGVtYXRpYywgd2UgY291bGQgb2ZmZXIgcmVsaWVmIGZyb20gc3ltcHRvbXMgb3ZlciBhbiBleHRlbmRlZCBwZXJpb2QuIEhvd2V2ZXIsIHNpbmNlIHRoZXNlIGVwaXRoZWxpYWwgY2VsbHMgbmF0dXJhbGx5IHJlZ2VuZXJhdGUgb3ZlciB0aW1lLCB0aGUgdGhlcmFweSB3b3VsZCBuZWVkIHRvIGJlIHJlYXBwbGllZCBwZXJpb2RpY2FsbHksIGxpa2VseSBldmVyeSBmZXcgbW9udGhzLCBiYWxhbmNpbmcgbG9uZy1sYXN0aW5nIGVmZmVjdHMgd2l0aCB0aGUgbmVlZCBmb3Igb2NjYXNpb25hbCByZS1hZG1pbmlzdHJhdGlvbi4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPlVsdGltYXRlbHksIG91ciB2aXNpb24gaXMgdG8gY3JlYXRlIGEgdGhlcmFwZXV0aWMgYXBwcm9hY2ggdGhhdCBub3Qgb25seSBvZmZlcnMgYSBjdXJlIHRoYXQgaXMgc2FmZSBhbmQgZWZmaWNpZW50IGJ1dCBhbHNvIG1heGltaXplcyBjb252ZW5pZW5jZSBmb3IgdGhlIHBhdGllbnQuIFdpdGggYW4gZWFzeS10by11c2UgaW5oYWxlciwgcGF0aWVudHMgY291bGQgYWRtaW5pc3RlciB0aGVpciB0cmVhdG1lbnQgd2l0aCBtaW5pbWFsIGRpc3J1cHRpb24gdG8gdGhlaXIgZGFpbHkgbGl2ZXMsIGluaGFsaW5nIHRoZSBnZW5lIHRoZXJhcHkgaW4ganVzdCBhIGZldyBicmVhdGhzLCBsZWF2aW5nIHRoZSByZXN0IG9mIHRoZSBwcm9jZXNzIHRvIHRoZSBzY2llbmNlIHdlJ3ZlIGJ1aWx0IGludG8gUHJlQ3lzZS4gQnkgcmVkdWNpbmcgdGhlIGZyZXF1ZW5jeSBvZiBhZG1pbmlzdHJhdGlvbiBhbmQgc2ltcGxpZnlpbmcgdGhlIGRlbGl2ZXJ5IG1ldGhvZCwgd2UgYWltIHRvIG1ha2UgZ2VuZSB0aGVyYXB5IGZvciBjeXN0aWMgZmlicm9zaXMgYm90aCBhY2Nlc3NpYmxlIGFuZCBwcmFjdGljYWwgZm9yIHBhdGllbnRzIGFyb3VuZCB0aGUgd29ybGQuIDwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhc2V0dGVjb250YWluZXJcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L2JpZy1wbGFuLWluaGFsYXRpb24tZGVsLW1lY2gud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgNDogPC9iPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbGx1c3RyYXRpb24gb2Ygb3VyIHBhdGggZnJvbSBmaW5hbCBwcm9kdWN0IHRvIHByaW1lIGVkaXRpbmcgaW4gbHVuZyBlcGl0aGVsaWFsIGNlbGxzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJSZWZlcmVuY2VzXCIgaWQ9XCJSZWZlcmVuY2VzXCI+XG4gICAgICAgICAgICAgICA8RGVzY1NvdXJjZXMvPlxuICAgICAgICAgICAgPC9TZWN0aW9uPlxuXG5cbiAgICBcblxuICAgICAgICAgICAgXG5cblxuICAgICAgICA8L2Rpdj4gIFxuICAgICAgPC9kaXY+ICAgIFxuICApO1xufVxuXG4gbGV0IG1lZGlidXR0b25yb3dkYXRhID1bXG4gICAge1xuICAgICAgICBub2RlOiBjcmVhdGVEcnVnU3RlY2ticmllZihkcnVnZGF0YVswXSksIFxuICAgICAgICBidXR0b25uYW1lOiBcIk1vZHVsYXRvcnNcIiwgXG4gICAgICAgIGNzc25hbWU6IFwiTWVkLUZpcnN0XCIsXG4gICAgICAgIG1haW46IHRydWVcbiAgICAgICAgXG4gICAgfSxcbiAgICB7ICAgXG4gICAgICAgIG5vZGU6IGNyZWF0ZURydWdTdGVja2JyaWVmKGRydWdkYXRhWzFdICksXG4gICAgICAgIGJ1dHRvbm5hbWU6IFwiTXVjb2x5dGljc1wiLCBcbiAgICAgICAgY3NzbmFtZTogXCJNdWNvbHl0aWNzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgbm9kZTogY3JlYXRlRHJ1Z1N0ZWNrYnJpZWYoZHJ1Z2RhdGFbMl0gKSxcbiAgICAgICAgYnV0dG9ubmFtZTogXCJBbnRpYmlvdGljc1wiLCBcbiAgICAgICAgY3NzbmFtZTogXCJBbnRpYmlvdGljc1wiXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5vZGU6IGNyZWF0ZURydWdTdGVja2JyaWVmKGRydWdkYXRhWzNdICksXG4gICAgICAgIGJ1dHRvbm5hbWU6IFwiRW56eW1lc1wiLCBcbiAgICAgICAgY3NzbmFtZTogXCJFbnp5bWVzXCJcbiAgICB9LFxuXVxuXG5cblxubGV0IHN5bXB0b21idXR0b25yb3dkYXRhID0gW1xuICAgIHtcbiAgICAgICAgbm9kZTogY3JlYXRlU3ltcHRvbVN0ZWNrYnJpZWYoc3ltcHRvbWRhdGFbMF0pLCBcbiAgICAgICAgYnV0dG9ubmFtZTogXCJQYW5jcmVhc1wiLCBcbiAgICAgICAgY3NzbmFtZTogXCJTeW1wLUZpcnN0XCIsXG4gICAgICAgIG1haW46IHRydWVcbiAgICB9LFxuICAgIHsgICBcbiAgICAgICAgbm9kZTogY3JlYXRlU3ltcHRvbVN0ZWNrYnJpZWYoc3ltcHRvbWRhdGFbMV0pLCBcbiAgICAgICAgYnV0dG9ubmFtZTogXCJJbnRlc3RpbmVzXCIsIFxuICAgICAgICBjc3NuYW1lOiBcImludGVzdGluZXNcIlxuICAgIH0sXG4gICAge1xuICAgICAgICBub2RlOiBjcmVhdGVTeW1wdG9tU3RlY2ticmllZihzeW1wdG9tZGF0YVsyXSksIFxuICAgICAgICBidXR0b25uYW1lOiBcIkxpdmVyXCIsIFxuICAgICAgICBjc3NuYW1lOiBcImxpdmVyXCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgbm9kZTogY3JlYXRlU3ltcHRvbVN0ZWNrYnJpZWYoc3ltcHRvbWRhdGFbM10pLCBcbiAgICAgICAgYnV0dG9ubmFtZTogXCJTZXh1YWwgZ2xhbmRzXCIsIFxuICAgICAgICBjc3NuYW1lOiBcIlNleHVhbCBnbGFuZHNcIlxuICAgIH0sXG4gICAge1xuICAgICAgICBub2RlOiBjcmVhdGVTeW1wdG9tU3RlY2ticmllZihzeW1wdG9tZGF0YVs0XSksIFxuICAgICAgICBidXR0b25uYW1lOiBcIkx1bmdzXCIsIFxuICAgICAgICBjc3NuYW1lOiBcImx1bmdzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgbm9kZTogY3JlYXRlU3ltcHRvbVN0ZWNrYnJpZWYoc3ltcHRvbWRhdGFbNV0pLCBcbiAgICAgICAgYnV0dG9ubmFtZTogXCJTa2VsZXRhbCBTeXN0ZW1cIiwgXG4gICAgICAgIGNzc25hbWU6IFwiU2tlbGV0YWwgU3lzdGVtXCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgbm9kZTogY3JlYXRlU3ltcHRvbVN0ZWNrYnJpZWYoc3ltcHRvbWRhdGFbNl0pLCBcbiAgICAgICAgYnV0dG9ubmFtZTogXCJTa2luXCIsIFxuICAgICAgICBjc3NuYW1lOiBcInNraW5cIlxuICAgIH0sXG4gICAge1xuICAgICAgICBub2RlOiBjcmVhdGVTeW1wdG9tU3RlY2ticmllZihzeW1wdG9tZGF0YVs3XSApLCBcbiAgICAgICAgYnV0dG9ubmFtZTogXCJOYXNhbCBtdWNvc2FcIiwgXG4gICAgICAgIGNzc25hbWU6IFwiTmFzYWwgbXVjb3NhXCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgbm9kZTogY3JlYXRlU3ltcHRvbVN0ZWNrYnJpZWYoc3ltcHRvbWRhdGFbOF0gKSwgXG4gICAgICAgIGJ1dHRvbm5hbWU6IFwiQnJhaW5cIiwgXG4gICAgICAgIGNzc25hbWU6IFwiYnJhaW5cIlxuICAgIH0sXG5cbl1cblxuXG5cblxuZnVuY3Rpb24gY3JlYXRlU3ltcHRvbVN0ZWNrYnJpZWYoZGF0YTogU3ltcHRvbURhdGVuc2F0eil7XG4gICAgbGV0IGV4YW1wbGVsaXN0OiBKU1guRWxlbWVudFtdID0gW107IFxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBkYXRhLmludHJvZHVjdGlvbi5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgIGV4YW1wbGVsaXN0LnB1c2goXG4gICAgICAgICAgICAgICAgPGxpIGtleT17aW5kZXh9PntkYXRhLmludHJvZHVjdGlvbltpbmRleF19PC9saT5cbiAgICAgICAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPEg0IGlkPXtgJHtkYXRhLm5hbWV9LWJ0bmB9IHRleHQ9e2RhdGEubmFtZX0vPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3ltcHRvbS1pbWctd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e2RhdGEucGljdHVyZX0gY2xhc3NOYW1lPVwic3ltcHRvbS1pbWdcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1bD57ZXhhbXBsZWxpc3R9PC91bD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG5cbmZ1bmN0aW9uIGNyZWF0ZURydWdTdGVja2JyaWVmKGRhdGE6IERydWdEYXRlbnNhdHope1xuICAgIGxldCBleGFtcGxlbGlzdDogSlNYLkVsZW1lbnRbXSAgPSBbXTsgXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGRhdGEuZXhhbXBsZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGxldCBhYnNhZXR6ZTogSlNYLkVsZW1lbnRbXSAgPSBbXVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEuZXhhbXBsZXNbaW5kZXhdLnRleHQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGFic2FldHplLnB1c2goXG4gICAgICAgICAgICAgICAgPGxpIGtleT17aX0+e2RhdGEuZXhhbXBsZXNbaW5kZXhdLnRleHRbaV19PC9saT5cbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIGV4YW1wbGVsaXN0LnB1c2goXG4gICAgICAgICAgICA8ZGl2IGtleT17aW5kZXgrNTAwfSBjbGFzc05hbWU9XCJkcnVnXCI+XG4gICAgICAgICAgICAgICAgPEg0IHRleHQ9e2RhdGEuZXhhbXBsZXNbaW5kZXhdLnRpdGxlfS8+XG4gICAgICAgICAgICAgICAgPHVsIGtleT17aW5kZXh9PnthYnNhZXR6ZX08L3VsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICAgICAgXG4gICAgfVxuICAgIHJldHVybihcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxINCBpZD17YCR7ZGF0YS5uYW1lfS1idG5gfSB0ZXh0PXtkYXRhLm5hbWV9Lz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInN5bXB0b20taW1nLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtkYXRhLnBpY3R1cmV9IGNsYXNzTmFtZT1cInN5bXB0b20taW1nXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICB7ZGF0YS5pbnRyb2R1Y3Rpb259XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICB7ZXhhbXBsZWxpc3R9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufSIsICJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTY3JvbGxMaW5rIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvU2Nyb2xsTGlua1wiO1xuaW1wb3J0IHsgSGlnaGxpZ2h0LCBOZXdIaWdobGlnaHQgfSBmcm9tIFwiLi9IaWdobGlnaHQtZnVuY3Rpb25zXCI7XG5pbXBvcnQgeyBCYWNrVXAgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5cbi8vIEZ1bmt0aW9uIHp1ciBFcnN0ZWxsdW5nIGRlciBTaWRlYmFyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2lkZWJhcih0YWJzOiBBcnJheTx7IHRhYjogc3RyaW5nOyBzdWJ0YWJzPzogQXJyYXk8c3RyaW5nPiB9Pikge1xuICAgIGNvbnN0IHsgbnVtc0JpZywgbnVtc1N1YiB9ID0gZGVyaXZlVGFic0RhdGEodGFicyk7XG4gICAgY29uc29sZS5sb2coeyBudW1zQmlnLCBudW1zU3ViIH0pXG4gICAgY29uc3QgW29wZW5UYWIsIHNldE9wZW5UYWJdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gICAgXG4gICAgICAgICAgIFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiB7XG4gICAgICAgIG51bXNCaWcuZm9yRWFjaCgoaXRlbSwgaW5kKSA9PiB7XG4gICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0ZW0pO1xuICAgICAgICAgIGNvbnN0IHN1YnRpdGxlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzdWJ0aXRsZSR7aW5kfWApO1xuICAgICAgICAgIGlmIChlbGVtZW50ICYmIHN1YnRpdGxlRWxlbWVudCkge1xuICAgICAgICAgICAgSGlnaGxpZ2h0KHsgZWw6IGVsZW1lbnQgfSwgeyBzdWJ0aXRsZTogc3VidGl0bGVFbGVtZW50IH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gIFxuICAgICAgICBudW1zU3ViLmZvckVhY2goKGl0ZW0sIGluZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKTtcbiAgICAgICAgICBjb25zdCBzdWJ0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgbmV3c3VidGl0bGUke2luZH1gKTtcbiAgICAgICAgICBpZiAoZWxlbWVudCAmJiBzdWJ0aXRsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIE5ld0hpZ2hsaWdodCh7IGVsOiBlbGVtZW50IH0sIHsgc3VidGl0bGU6IHN1YnRpdGxlRWxlbWVudCB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBoYW5kbGVTY3JvbGwpO1xuICAgICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwic2Nyb2xsXCIsIGhhbmRsZVNjcm9sbCk7XG4gICAgfSwgW251bXNCaWcsIG51bXNTdWIsIG9wZW5UYWJdKTtcblxuICAgIGNvbnN0IHNjcm9sbGluZyA9ICh0YWI6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYik7XG4gICAgICBpZiAodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAvL2NvbnNvbGUubG9nKGBTY3JvbGxpbmcgdG8gZWxlbWVudCB3aXRoIElEOiAke3RhYn1gKTtcbiAgICAgICAgXG4gICAgICAgIC8vIEdldCB0aGUgcG9zaXRpb24gb2YgdGhlIGVsZW1lbnQgcmVsYXRpdmUgdG8gdGhlIGRvY3VtZW50XG4gICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gdGFyZ2V0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGVsZW1lbnRSZWN0LnRvcCArIHdpbmRvdy5zY3JvbGxZO1xuICAgICAgICBcbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBtaWRkbGUgb2YgdGhlIHZpZXdwb3J0XG4gICAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zdCBzY3JvbGxPZmZzZXQgPSBlbGVtZW50VG9wIC0gKHZpZXdwb3J0SGVpZ2h0IC8gNSAtIHRhcmdldEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMik7XG4gICAgICAgLyogIFxuICAgICAgICBjb25zb2xlLmxvZyhgRWxlbWVudCBUb3A6ICR7ZWxlbWVudFRvcH1gKTtcbiAgICAgICAgY29uc29sZS5sb2coYFZpZXdwb3J0IEhlaWdodDogJHt2aWV3cG9ydEhlaWdodH1gKTtcbiAgICAgICAgY29uc29sZS5sb2coYFNjcm9sbCBPZmZzZXQ6ICR7c2Nyb2xsT2Zmc2V0fWApOyAqL1xuICAgICAgICBcbiAgICAgICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgICAgICAgIHRvcDogc2Nyb2xsT2Zmc2V0LFxuICAgICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCJcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFNjcm9sbCB0YXJnZXQgZWxlbWVudCBub3QgZm91bmQgZm9yIElEOiAke3RhYn1gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0b2dnbGVUYWIgPSAodGFiOiBzdHJpbmcpID0+IHtcbiAgICAgIHNldE9wZW5UYWIob3BlblRhYiA9PT0gdGFiID8gbnVsbCA6IHRhYik7XG4gICAgIC8vIGNvbnNvbGUubG9nKGBTdGF0dXMgb2YgdGFiICR7dGFifSBpcyAke29wZW5UYWJ9YClcbiAgICAgc2Nyb2xsaW5nKHRhYilcbiAgICB9O1xuXG4gICAgbGV0IHN1YnRpdGxlbnVtYmVyID0gMDsgXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxiciAvPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInN0aWNreS10b3BcIj5cbiAgICAgICAgICA8bmF2IGNsYXNzTmFtZT1cInNpZGViYXJcIj5cbiAgICAgICAgICAgIHt0YWJzLm1hcCgodGFiLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB0YWJJZCA9IGB0YWItJHt0YWIudGFifWA7XG4gICAgICAgICAgICAgIGNvbnN0IHBhcmVudElkID0gYHBhcmVudC0ke3RhYi50YWJ9YDtcbiAgICAgICAgICAgICAgY29uc3Qgc3VidGl0bGVJZCA9IGBzdWJ0aXRsZSR7aW5kZXh9YDtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPGRpdiBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPXtzdWJ0aXRsZUlkfSBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPXtwYXJlbnRJZH0gY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coYENsaWNrZWQgb24gVGFiICR7dGFiLnRhYn0gd2l0aCB0YWItbmFtZSB0YWItJHt0YWIudGFifSBhbmQgcGFyZW50IHBhcmVudC0ke3RhYi50YWJ9YCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlVGFiKHRhYi50YWIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENsb3NlIG90aGVyIHRhYnMgd2hlbiBhIG5ldyB0YWIgaXMgb3BlbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFicy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodC50YWIgIT09IHRhYi50YWIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYHRhYi0ke3QudGFifWApIS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBwYXJlbnQtJHt0LnRhYn1gKSEuY2xhc3NMaXN0LnJlbW92ZShcImFjdGl2ZS1zaWRlaXRlbVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTaG93IG9yIGhpZGUgdGhlIHNlbGVjdGVkIHRhYlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYklkKSEuc3R5bGUuZGlzcGxheSA9IG9wZW5UYWIgPT09IHRhYi50YWIgPyBcImJsb2NrXCIgOiBcIm5vbmVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwYXJlbnRJZCkhLmNsYXNzTGlzdC50b2dnbGUoXCJhY3RpdmUtc2lkZWl0ZW1cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5Pnt0YWIudGFifTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0YWIuc3VidGFicyAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9e3RhYklkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNpZGVzdWJ0YWJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6IG9wZW5UYWIgPT09IHRhYi50YWIgPyBcImJsb2NrXCIgOiBcIm5vbmVcIiB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3RhYi5zdWJ0YWJzLm1hcCgoc3VidGFiLCBzdWJJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJUYWJJZCA9IGBuZXdzdWJ0aXRsZSR7c3VidGl0bGVudW1iZXJ9YDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgY29uc29sZS5sb2coYE9sZCBzdWJ0aXRsZW51bWJlciBpcyAke3N1YnRpdGxlbnVtYmVyfWApICovXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnRpdGxlbnVtYmVyID0gc3VidGl0bGVudW1iZXIgKyAxOyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coYE5ldyBzdWJ0aXRsZW51bWJlciBpcyAke3N1YnRpdGxlbnVtYmVyfWApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coYE1hZGUgc3VidGFiIG5ld3N1YnRpdGxlJHtzdWJ0aXRsZW51bWJlcn0gdGhhdCB3aWxsIGxpbmsgdG8gJHt0YWIudGFifSR7c3ViSW5kZXggKzEgfUhgKSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkga2V5PXtzdWJ0aXRsZW51bWJlcn0gaWQ9e3N1YlRhYklkfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTY3JvbGxMaW5rIGxhYmVsPXtzdWJ0YWJ9IHRhcmdldElkPXtgJHt0YWIudGFifSR7c3ViSW5kZXggKzEgfUhgfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIFxuICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPC9uYXY+XG4gICAgICAgICAgPEJhY2tVcC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfVxuXG5cbiAgZnVuY3Rpb24gZGVyaXZlVGFic0RhdGEodGFiczogQXJyYXk8eyB0YWI6IHN0cmluZzsgc3VidGFicz86IEFycmF5PHN0cmluZz4gfT4pIHtcbiAgICBjb25zdCBudW1zQmlnOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IG51bXNTdWI6IHN0cmluZ1tdID0gW107XG5cbiAgICB0YWJzLmZvckVhY2godGFiID0+IHtcbiAgICAgICAgbGV0IGNvdW50ID0gMTsgIFxuICAgICAgICBudW1zQmlnLnB1c2goYCR7dGFiLnRhYn1IYCk7IC8vIHouQi4gUm9sZUgsIENoZWNrc0hcbiAgICAgICAgaWYgKHRhYi5zdWJ0YWJzKSB7XG4gICAgICAgICAgICB0YWIuc3VidGFicy5mb3JFYWNoKChfaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhpbmRleClcbiAgICAgICAgICAgICAgICBudW1zU3ViLnB1c2goYCR7dGFiLnRhYn0ke2NvdW50fWApOyAvLyB6LkIuIFJvbGUxSCwgUm9sZTJIXG4gICAgICAgICAgICAgICAgY291bnQgKz0gMTsgXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHsgbnVtc0JpZywgbnVtc1N1YiB9O1xufVxuXG5cbiIsICJpbXBvcnQgeyBjcmVhdGVTaWRlYmFyIH0gZnJvbSBcIi4uL3V0aWxzL2NyZWF0ZVNpZGViYXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIERlc2NTaWRlYmFyKCl7XG4gICAgbGV0IHNpZGViYXIgPSBjcmVhdGVTaWRlYmFyKHRhYnMpOyBcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTIgIGQtbm9uZSBkLWxnLWJsb2NrXCI+XG4gICAgICAgICAgIHtzaWRlYmFyfVxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cblxuY29uc3QgdGFicyA9IFtcbiAgICB7IHRhYjogXCJBYnN0cmFjdFwiIH0sXG4gICAge3RhYjogXCJPdXIgTW90aXZhdGlvblwifSxcbiAgICB7IHRhYjogXCJDeXN0aWMgRmlicm9zaXNcIiwgc3VidGFiczogW1wiT3ZlcnZpZXdcIiwgXCJUaGUgQ0ZUUiBQcm90ZWluXCIsIFwiRjUwOGRlbFwiLCBcIlN5bXB0b21zXCIsIFwiRGlhZ25vc2lzXCIsIFwiVHJlYXRtZW50XCJdfSxcbiAgICB7dGFiOiBcIkFwcHJvYWNoXCIsIHN1YnRhYnM6IFtcIk1lY2hhbmlzbVwiLCBcIkRlbGl2ZXJ5XCJdfSxcbiAgICB7dGFiOiBcIk91ciBWaXNpb25cIn0sXG4gICAge3RhYjogXCJSZWZlcmVuY2VzXCJ9XG4gIF07XG4iLCAiZXhwb3J0IGZ1bmN0aW9uIExvcmVtTWVkaXVtKCl7XG4gICAgcmV0dXJuKFxuICAgICAgICA8cCBjbGFzc05hbWU9XCJsb3JlbVwiPlxuICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3MgZXQgYWNjdXNhbSBldCBqdXN0byBkdW8gZG9sb3JlcyBldCBlYSByZWJ1bS4gU3RldCBjbGl0YSBrYXNkIGd1YmVyZ3Jlbiwgbm8gc2VhIHRha2ltYXRhIHNhbmN0dXMgZXN0IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LiBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyLCBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1eWFtIGVyYXQsIHNlZCBkaWFtIHZvbHVwdHVhLiBBdCB2ZXJvIGVvcyBldCBhY2N1c2FtIGV0IGp1c3RvIGR1byBkb2xvcmVzIGV0IGVhIHJlYnVtLiBTdGV0IGNsaXRhIGthc2QgZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQuIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHIsIHNlZCBkaWFtIG5vbnVteSBlaXJtb2QgdGVtcG9yIGludmlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0IGFjY3VzYW0gZXQganVzdG8gZHVvIGRvbG9yZXMgZXQgZWEgcmVidW0uIFN0ZXQgY2xpdGEga2FzZCBndWJlcmdyZW4sIG5vIHNlYSB0YWtpbWF0YSBzYW5jdHVzIGVzdCBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldC4gICBcblxuRHVpcyBhdXRlbSB2ZWwgZXVtIGlyaXVyZSBkb2xvciBpbiBoZW5kcmVyaXQgaW4gdnVscHV0YXRlIHZlbGl0IGVzc2UgbW9sZXN0aWUgY29uc2VxdWF0LCB2ZWwgaWxsdW0gZG9sb3JlIGV1IGZldWdpYXQgbnVsbGEgZmFjaWxpc2lzIGF0IHZlcm8gZXJvcyBldCBhY2N1bXNhbiBldCBpdXN0byBvZGlvIGRpZ25pc3NpbSBxdWkgYmxhbmRpdCBwcmFlc2VudCBsdXB0YXR1bSB6enJpbCBkZWxlbml0IGF1Z3VlIGR1aXMgZG9sb3JlIHRlIGZldWdhaXQgbnVsbGEgZmFjaWxpc2kuIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ZXIgYWRpcGlzY2luZyBlbGl0LCBzZWQgZGlhbSBub251bW15IG5pYmggZXVpc21vZCB0aW5jaWR1bnQgdXQgbGFvcmVldCBkb2xvcmUgbWFnbmEgYWxpcXVhbSBlcmF0IHZvbHV0cGF0LiAgIFxuXG5VdCB3aXNpIGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpIHRhdGlvbiB1bGxhbWNvcnBlciBzdXNjaXBpdCBsb2JvcnRpcyBuaXNsIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZW0gdmVsIGV1bSBpcml1cmUgZG9sb3IgaW4gaGVuZHJlcml0IGluIHZ1bHB1dGF0ZSB2ZWxpdCBlc3NlIG1vbGVzdGllIGNvbnNlcXVhdCwgdmVsIGlsbHVtIGRvbG9yZSBldSBmZXVnaWF0IG51bGxhIGZhY2lsaXNpcyBhdCB2ZXJvIGVyb3MgZXQgYWNjdW1zYW4gZXQgaXVzdG8gb2RpbyBkaWduaXNzaW0gcXVpIGJsYW5kaXQgcHJhZXNlbnQgbHVwdGF0dW0genpyaWwgZGVsZW5pdCBhdWd1ZSBkdWlzIGRvbG9yZSB0ZSBmZXVnYWl0IG51bGxhIGZhY2lsaXNpLiAgIFxuXG5OYW0gbGliZXIgdGVtcG9yIGN1bSBzb2x1dGEgbm9iaXMgZWxlaWZlbmQgb3B0aW9uIGNvbmd1ZSBuaWhpbCBpbXBlcmRpZXQgZG9taW5nIGlkIHF1b2QgbWF6aW0gcGxhY2VyYXQgZmFjZXJcbjwvcD5cbiAgICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBMb3JlbVNob3J0KCl7XG4gICAgcmV0dXJuKFxuICAgICAgICA8cCBjbGFzc05hbWU9XCJsb3JlbVwiPlxuICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyLCBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1eWFtIGVyYXQsIHNlZCBkaWFtIHZvbHVwdHVhLiBBdCB2ZXJvIGVvcyBldCBhY2N1c2FtIGV0IGp1c3RvIGR1byBkb2xvcmVzIGV0IGVhIHJlYnVtLiBTdGV0IGNsaXRhIGthc2QgZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQuIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHIsIHNlZCBkaWFtIG5vbnVteSBlaXJtb2QgdGVtcG9yIGludmlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0IGFjY3VzYW0gZXQganVzdG8gZHVvIGRvbG9yZXMgZXQgZWEgcmVidW0uIFN0ZXQgY2xpdGEga2FzZCBndWJlcmdyZW4sIG5vIHNlYSB0YWtpbWF0YSBzYW5jdHVzIGVzdCBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldC5cbiAgICAgICAgPC9wPlxuICAgIClcbn0iLCAiaW1wb3J0IHsgdXNlTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlsc1wiXG5cbmV4cG9ydCBmdW5jdGlvbiBUYWJTY3JvbGxMaW5rKHt0YWIsIHNjcm9sbElkLCBudW19Ont0YWI6IHN0cmluZywgc2Nyb2xsSWQ6IHN0cmluZywgbnVtOiBzdHJpbmd9KXtcbiAgICBjb25zdCB7Z29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsfSA9IHVzZU5hdmlnYXRpb24oKTsgXG4gICAgcmV0dXJuKFxuICAgICAgICA8c3VwPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IHRhYiwgc2Nyb2xsVG9JZDogc2Nyb2xsSWR9KX0+e251bX08L2E+PC9zdXA+XG4gICAgKVxufSIsICJpbXBvcnQgQmlidGV4UGFyc2VyIGZyb20gXCIuLi9jb21wb25lbnRzL21ha2VTb3VyY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEVuZ1RyZnNvdXJjZXMoKXtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCaWJ0ZXhQYXJzZXIgYmlidGV4U291cmNlcz17YmlidGV4U291cmNlc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xufVxuXG5cbmNvbnN0IGJpYnRleFNvdXJjZXMgPSBbXG4gIGBAYXJ0aWNsZXtHcmFoYW1fU21pbGV5X1J1c3NlbGxfTmFpcm5fMTk3NyxcbiAgICB0aXRsZSAgICAgICAgPSB7Q2hhcmFjdGVyaXN0aWNzIG9mIGEgSHVtYW4gQ2VsbCBMaW5lIFRyYW5zZm9ybWVkIGJ5IEROQSBmcm9tIEh1bWFuIEFkZW5vdmlydXMgVHlwZSA1fSxcbiAgICBhdXRob3IgICAgICAgPSB7R3JhaGFtLCBGLiBMLiBhbmQgU21pbGV5LCBKLiBhbmQgUnVzc2VsbCwgVy4gQy4gYW5kIE5haXJuLCBSLn0sXG4gICAgeWVhciAgICAgICAgID0gMTk3NyxcbiAgICBqb3VybmFsICAgICAgPSB7Sm91cm5hbCBvZiBHZW5lcmFsIFZpcm9sb2d5fSxcbiAgICBwdWJsaXNoZXIgICAgPSB7TWljcm9iaW9sb2d5IFNvY2lldHksfSxcbiAgICB2b2x1bWUgICAgICAgPSAzNixcbiAgICBudW1iZXIgICAgICAgPSAxLFxuICAgIHBhZ2VzICAgICAgICA9IHs1OVx1MjAxMzcyfSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTA5OS8wMDIyLTEzMTctMzYtMS01OX0sXG4gICAgaXNzbiAgICAgICAgID0gezE0NjUtMjA5OX0sXG4gICAgYWJzdHJhY3Rub3RlID0ge1NVTU1BUlkgSHVtYW4gZW1icnlvbmljIGtpZG5leSBjZWxscyBoYXZlIGJlZW4gdHJhbnNmb3JtZWQgYnkgZXhwb3NpbmcgY2VsbHMgdG8gc2hlYXJlZCBmcmFnbWVudHMgb2YgYWRlbm92aXJ1cyB0eXBlIDUgRE5BLiBUaGUgdHJhbnNmb3JtZWQgY2VsbHMgKGRlc2lnbmF0ZWQgMjkzIGNlbGxzKSBleGhpYml0ZWQgbWFueSBvZiB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIHRyYW5zZm9ybWF0aW9uIGluY2x1ZGluZyB0aGUgZWxhYm9yYXRpb24gb2YgYSB2aXJ1cy1zcGVjaWZpYyB0dW1vdXIgYW50aWdlbi4gQW5hbHlzaXMgb2YgdGhlIHBvbHlwZXB0aWRlcyBzeW50aGVzaXplZCBpbiB0aGUgMjkzIGNlbGxzIGJ5IGxhYmVsbGluZyB3aXRoIDM1Uy1tZXRoaW9uaW5lIGFuZCBTRFMgUEFHRSBzaG93ZWQgYSB2YXJpYWJsZSBwYXR0ZXJuIG9mIHN5bnRoZXNpcywgZGlmZmVyZW50IGluIGEgbnVtYmVyIG9mIHJlc3BlY3RzIGZyb20gdGhhdCBzZWVuIGluIG90aGVyIGh1bWFuIGNlbGxzLiBPbiBsYWJlbGxpbmcgdGhlIHN1cmZhY2Ugb2YgY2VsbHMgYnkgbGFjdG9wZXJveGlkYXNlIGNhdGFseXNlZCByYWRpby1pb2RpbmF0aW9uLCB0aGUgYWJzZW5jZSBvZiBhIGxhYmVsbGVkIHBvbHlwZXB0aWRlIGFuYWxvZ291cyB0byB0aGUgMjUwIEsgKExFVFMpIGdseWNvcHJvdGVpbiB3YXMgbm90ZWQuIEh5YnJpZGl6YXRpb24gb2YgbGFiZWxsZWQgY2VsbHVsYXIgUk5BIHdpdGggcmVzdHJpY3Rpb24gZnJhZ21lbnRzIG9mIGFkZW5vdmlydXMgdHlwZSA1IEROQSBpbmRpY2F0ZWQgdHJhbnNjcmlwdGlvbiBvZiBhIHBvcnRpb24gb2YgdGhlIGFkZW5vdmlydXMgZ2Vub21lIGF0IHRoZSBjb252ZW50aW9uYWwgbGVmdCBoYW5kIGVuZC59XG4gIH1gLFxuICBgQGFydGljbGV7U2ltb24sXG4gICAgdGl0bGUgICAgICAgID0ge1BFQVIsIGEgZmxleGlibGUgZmx1b3Jlc2NlbnQgcmVwb3J0ZXIgZm9yIHRoZSBpZGVudGlmaWNhdGlvbiBhbmQgZW5yaWNobWVudCBvZiBzdWNjZXNzZnVsbHkgcHJpbWUgZWRpdGVkIGNlbGxzfSxcbiAgICBhdXRob3IgICAgICAgPSB7U2ltb24sIERvcm90dHlhIEFubmEgYW5kIFRcdTAwRTFsYXMsIEFuZHJcdTAwRTFzIGFuZCBLdWxjc1x1MDBFMXIsIFBcdTAwRTl0ZXIgSXN0dlx1MDBFMW4gYW5kIEJpY3pcdTAwRjNrLCBac3V6c2FubmEgYW5kIEtyYXVzeiwgU2FyYWggTGF1cmEgYW5kIFZcdTAwRTFyYWR5LCBHeVx1MDBGNnJneSBhbmQgV2Vsa2VyLCBFcnZpbn0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMixcbiAgICBtb250aCAgICAgICAgPSBmZWIsXG4gICAgam91cm5hbCAgICAgID0ge2VMaWZlfSxcbiAgICBwdWJsaXNoZXIgICAgPSB7ZUxpZmUgU2NpZW5jZXMgUHVibGljYXRpb25zLCBMdGR9LFxuICAgIHZvbHVtZSAgICAgICA9IDExLFxuICAgIHBhZ2VzICAgICAgICA9IHtlNjk1MDR9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC43NTU0L2VMaWZlLjY5NTA0fSxcbiAgICBpc3NuICAgICAgICAgPSB7MjA1MC0wODRYfSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7UHJpbWUgZWRpdGluZyBpcyBhIHJlY2VudGx5IGRldmVsb3BlZCBDUklTUFIvQ2FzOSBiYXNlZCBnZW5lIGVuZ2luZWVyaW5nIHRvb2wgdGhhdCBhbGxvd3MgdGhlIGludHJvZHVjdGlvbiBvZiBzaG9ydCBpbnNlcnRpb25zLCBkZWxldGlvbnMsIGFuZCBzdWJzdGl0dXRpb25zIGludG8gdGhlIGdlbm9tZS4gSG93ZXZlciwgdGhlIGVmZmljaWVuY3kgb2YgcHJpbWUgZWRpdGluZywgd2hpY2ggdHlwaWNhbGx5IGFjaGlldmVzIGVkaXRpbmcgcmF0ZXMgb2YgYXJvdW5kIDEwJVx1MjAxMzMwJSwgaGFzIG5vdCBtYXRjaGVkIGl0cyB2ZXJzYXRpbGl0eS4gSGVyZSwgd2UgaW50cm9kdWNlIHRoZSBwcmltZSBlZGl0b3IgYWN0aXZpdHkgcmVwb3J0ZXIgKFBFQVIpLCBhIHNlbnNpdGl2ZSBmbHVvcmVzY2VudCB0b29sIGZvciBpZGVudGlmeWluZyBzaW5nbGUgY2VsbHMgd2l0aCBwcmltZSBlZGl0aW5nIGFjdGl2aXR5LiBQRUFSIGhhcyBubyBiYWNrZ3JvdW5kIGZsdW9yZXNjZW5jZSBhbmQgc3BlY2lmaWNhbGx5IGluZGljYXRlcyBwcmltZSBlZGl0aW5nIGV2ZW50cy4gSXRzIGRlc2lnbiBwcm92aWRlcyBhcHBhcmVudGx5IHVubGltaXRlZCBmbGV4aWJpbGl0eSBmb3Igc2VxdWVuY2UgdmFyaWF0aW9uIGFsb25nIHRoZSBlbnRpcmUgbGVuZ3RoIG9mIHRoZSBzcGFjZXIgc2VxdWVuY2UsIG1ha2luZyBpdCB1bmlxdWVseSBzdWl0ZWQgZm9yIHN5c3RlbWF0aWMgaW52ZXN0aWdhdGlvbiBvZiBzZXF1ZW5jZSBmZWF0dXJlcyB0aGF0IGluZmx1ZW5jZSBwcmltZSBlZGl0aW5nIGFjdGl2aXR5LiBUaGUgdXNlIG9mIFBFQVIgYXMgYW4gZW5yaWNobWVudCBtYXJrZXIgZm9yIHByaW1lIGVkaXRpbmcgY2FuIGluY3JlYXNlIHRoZSBlZGl0ZWQgcG9wdWxhdGlvbiBieSB1cCB0byA4NCUsIHRodXMgc2lnbmlmaWNhbnRseSBpbXByb3ZpbmcgdGhlIGFwcGxpY2FiaWxpdHkgb2YgcHJpbWUgZWRpdGluZyBmb3IgYmFzaWMgcmVzZWFyY2ggYW5kIGJpb3RlY2hub2xvZ2ljYWwgYXBwbGljYXRpb25zLn0sXG4gICAgZWRpdG9yICAgICAgID0ge0xhcGluYWl0ZSwgQXVkcm9uZSBhbmQgU3RhaW5pZXIsIERpZGllciBZUiBhbmQgSGFtaWx0b24sIEplbm5pZmVyIFJ9XG4gIH1gLFxuICBgQGFydGljbGV7QW56YWxvbmVfUmFuZG9scGhfRGF2aXNfU291c2FfS29ibGFuX0xldnlfQ2hlbl9XaWxzb25fTmV3YnlfUmFndXJhbV8yMDE5LFxuICAgIHRpdGxlICAgICAgICA9IHtTZWFyY2gtYW5kLXJlcGxhY2UgZ2Vub21lIGVkaXRpbmcgd2l0aG91dCBkb3VibGUtc3RyYW5kIGJyZWFrcyBvciBkb25vciBETkF9LFxuICAgIGF1dGhvciAgICAgICA9IHtBbnphbG9uZSwgQW5kcmV3IFYuIGFuZCBSYW5kb2xwaCwgUGV5dG9uIEIuIGFuZCBEYXZpcywgSmVzc2llIFIuIGFuZCBTb3VzYSwgQWxleGFuZGVyIEEuIGFuZCBLb2JsYW4sIEx1a2UgVy4gYW5kIExldnksIEpvbmF0aGFuIE0uIGFuZCBDaGVuLCBQZXRlciBKLiBhbmQgV2lsc29uLCBDaHJpc3RvcGhlciBhbmQgTmV3YnksIEdyZWdvcnkgQS4gYW5kIFJhZ3VyYW0sIEFkaXR5YSBhbmQgTGl1LCBEYXZpZCBSLn0sXG4gICAgeWVhciAgICAgICAgID0gMjAxOSxcbiAgICBtb250aCAgICAgICAgPSBkZWMsXG4gICAgam91cm5hbCAgICAgID0ge05hdHVyZX0sXG4gICAgcHVibGlzaGVyICAgID0ge05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSxcbiAgICB2b2x1bWUgICAgICAgPSA1NzYsXG4gICAgbnVtYmVyICAgICAgID0gNzc4NSxcbiAgICBwYWdlcyAgICAgICAgPSB7MTQ5XHUyMDEzMTU3fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAzOC9zNDE1ODYtMDE5LTE3MTEtNH0sXG4gICAgaXNzbiAgICAgICAgID0gezE0NzYtNDY4N30sXG4gICAgcmlnaHRzICAgICAgID0gezIwMTkgVGhlIEF1dGhvcihzKSwgdW5kZXIgZXhjbHVzaXZlIGxpY2VuY2UgdG8gU3ByaW5nZXIgTmF0dXJlIExpbWl0ZWR9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtNb3N0IGdlbmV0aWMgdmFyaWFudHMgdGhhdCBjb250cmlidXRlIHRvIGRpc2Vhc2UxIGFyZSBjaGFsbGVuZ2luZyB0byBjb3JyZWN0IGVmZmljaWVudGx5IGFuZCB3aXRob3V0IGV4Y2VzcyBieXByb2R1Y3RzMlx1MjAxMzUuIEhlcmUgd2UgZGVzY3JpYmUgcHJpbWUgZWRpdGluZywgYSB2ZXJzYXRpbGUgYW5kIHByZWNpc2UgZ2Vub21lIGVkaXRpbmcgbWV0aG9kIHRoYXQgZGlyZWN0bHkgd3JpdGVzIG5ldyBnZW5ldGljIGluZm9ybWF0aW9uIGludG8gYSBzcGVjaWZpZWQgRE5BIHNpdGUgdXNpbmcgYSBjYXRhbHl0aWNhbGx5IGltcGFpcmVkIENhczkgZW5kb251Y2xlYXNlIGZ1c2VkIHRvIGFuIGVuZ2luZWVyZWQgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlLCBwcm9ncmFtbWVkIHdpdGggYSBwcmltZSBlZGl0aW5nIGd1aWRlIFJOQSAocGVnUk5BKSB0aGF0IGJvdGggc3BlY2lmaWVzIHRoZSB0YXJnZXQgc2l0ZSBhbmQgZW5jb2RlcyB0aGUgZGVzaXJlZCBlZGl0LiBXZSBwZXJmb3JtZWQgbW9yZSB0aGFuIDE3NSBlZGl0cyBpbiBodW1hbiBjZWxscywgaW5jbHVkaW5nIHRhcmdldGVkIGluc2VydGlvbnMsIGRlbGV0aW9ucywgYW5kIGFsbCAxMiB0eXBlcyBvZiBwb2ludCBtdXRhdGlvbiwgd2l0aG91dCByZXF1aXJpbmcgZG91YmxlLXN0cmFuZCBicmVha3Mgb3IgZG9ub3IgRE5BIHRlbXBsYXRlcy4gV2UgdXNlZCBwcmltZSBlZGl0aW5nIGluIGh1bWFuIGNlbGxzIHRvIGNvcnJlY3QsIGVmZmljaWVudGx5IGFuZCB3aXRoIGZldyBieXByb2R1Y3RzLCB0aGUgcHJpbWFyeSBnZW5ldGljIGNhdXNlcyBvZiBzaWNrbGUgY2VsbCBkaXNlYXNlIChyZXF1aXJpbmcgYSB0cmFuc3ZlcnNpb24gaW4gSEJCKSBhbmQgVGF5XHUyMDEzU2FjaHMgZGlzZWFzZSAocmVxdWlyaW5nIGEgZGVsZXRpb24gaW4gSEVYQSk7IHRvIGluc3RhbGwgYSBwcm90ZWN0aXZlIHRyYW5zdmVyc2lvbiBpbiBQUk5QOyBhbmQgdG8gaW5zZXJ0IHZhcmlvdXMgdGFncyBhbmQgZXBpdG9wZXMgcHJlY2lzZWx5IGludG8gdGFyZ2V0IGxvY2kuIEZvdXIgaHVtYW4gY2VsbCBsaW5lcyBhbmQgcHJpbWFyeSBwb3N0LW1pdG90aWMgbW91c2UgY29ydGljYWwgbmV1cm9ucyBzdXBwb3J0IHByaW1lIGVkaXRpbmcgd2l0aCB2YXJ5aW5nIGVmZmljaWVuY2llcy4gUHJpbWUgZWRpdGluZyBzaG93cyBoaWdoZXIgb3Igc2ltaWxhciBlZmZpY2llbmN5IGFuZCBmZXdlciBieXByb2R1Y3RzIHRoYW4gaG9tb2xvZ3ktZGlyZWN0ZWQgcmVwYWlyLCBoYXMgY29tcGxlbWVudGFyeSBzdHJlbmd0aHMgYW5kIHdlYWtuZXNzZXMgY29tcGFyZWQgdG8gYmFzZSBlZGl0aW5nLCBhbmQgaW5kdWNlcyBtdWNoIGxvd2VyIG9mZi10YXJnZXQgZWRpdGluZyB0aGFuIENhczkgbnVjbGVhc2UgYXQga25vd24gQ2FzOSBvZmYtdGFyZ2V0IHNpdGVzLiBQcmltZSBlZGl0aW5nIHN1YnN0YW50aWFsbHkgZXhwYW5kcyB0aGUgc2NvcGUgYW5kIGNhcGFiaWxpdGllcyBvZiBnZW5vbWUgZWRpdGluZywgYW5kIGluIHByaW5jaXBsZSBjb3VsZCBjb3JyZWN0IHVwIHRvIDg5JSBvZiBrbm93biBnZW5ldGljIHZhcmlhbnRzIGFzc29jaWF0ZWQgd2l0aCBodW1hbiBkaXNlYXNlcy59LFxuICAgIGxhbmd1YWdlICAgICA9IHtlbn1cbiAgfWBcbl0iLCAiaW1wb3J0IEJpYnRleFBhcnNlciBmcm9tIFwiLi4vY29tcG9uZW50cy9tYWtlU291cmNlc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBFbmdSZXBzb3VyY2VzKCl7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8QmlidGV4UGFyc2VyIGJpYnRleFNvdXJjZXM9e2JpYnRleFNvdXJjZXN9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbn1cblxuXG5jb25zdCBiaWJ0ZXhTb3VyY2VzID0gW1xuYFxuQGFydGljbGV7SGVpbV9QcmFzaGVyX1RzaWVuXzE5OTQsXG5cdHRpdGxlICAgICAgICA9IHtXYXZlbGVuZ3RoIG11dGF0aW9ucyBhbmQgcG9zdHRyYW5zbGF0aW9uYWwgYXV0b3hpZGF0aW9uIG9mIGdyZWVuIGZsdW9yZXNjZW50IHByb3RlaW4ufSxcblx0YXV0aG9yICAgICAgID0ge0hlaW0sIFIgYW5kIFByYXNoZXIsIEQgQyBhbmQgVHNpZW4sIFIgWX0sXG5cdHllYXIgICAgICAgICA9IDE5OTQsXG5cdG1vbnRoICAgICAgICA9IGRlYyxcblx0am91cm5hbCAgICAgID0ge1Byb2NlZWRpbmdzIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzfSxcblx0cHVibGlzaGVyICAgID0ge1Byb2NlZWRpbmdzIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzfSxcblx0dm9sdW1lICAgICAgID0gOTEsXG5cdG51bWJlciAgICAgICA9IDI2LFxuXHRwYWdlcyAgICAgICAgPSB7MTI1MDFcdTIwMTMxMjUwNH0sXG5cdGRvaSAgICAgICAgICA9IHsxMC4xMDczL3BuYXMuOTEuMjYuMTI1MDF9LFxuXHRhYnN0cmFjdG5vdGUgPSB7VGhlIGdyZWVuIGZsdW9yZXNjZW50IHByb3RlaW4gKEdGUCkgb2YgdGhlIGplbGx5ZmlzaCBBZXF1b3JlYSB2aWN0b3JpYSBpcyBhbiB1bnVzdWFsIHByb3RlaW4gd2l0aCBzdHJvbmcgdmlzaWJsZSBhYnNvcmJhbmNlIGFuZCBmbHVvcmVzY2VuY2UgZnJvbSBhIHAtaHlkcm94eWJlbnp5bGlkZW5lLWltaWRhem9saWRpbm9uZSBjaHJvbW9waG9yZSwgd2hpY2ggaXMgZ2VuZXJhdGVkIGJ5IGN5Y2xpemF0aW9uIGFuZCBveGlkYXRpb24gb2YgdGhlIHByb3RlaW5cdTIwMTlzIG93biBTZXItVHlyLUdseSBzZXF1ZW5jZSBhdCBwb3NpdGlvbnMgNjUtNjcuIENsb25pbmcgb2YgdGhlIGNETkEgYW5kIGhldGVyb2xvZ291cyBleHByZXNzaW9uIG9mIGZsdW9yZXNjZW50IHByb3RlaW4gaW4gYSB3aWRlIHZhcmlldHkgb2Ygb3JnYW5pc21zIGluZGljYXRlIHRoYXQgdGhpcyB1bmlxdWUgcG9zdHRyYW5zbGF0aW9uYWwgbW9kaWZpY2F0aW9uIG11c3QgYmUgZWl0aGVyIHNwb250YW5lb3VzIG9yIGRlcGVuZGVudCBvbmx5IG9uIHViaXF1aXRvdXMgZW56eW1lcyBhbmQgcmVhY3RhbnRzLiBXZSByZXBvcnQgdGhhdCBmb3JtYXRpb24gb2YgdGhlIGZpbmFsIGZsdW9yb3Bob3JlIHJlcXVpcmVzIG1vbGVjdWxhciBveHlnZW4gYW5kIHByb2NlZWRzIHdpdGggYSB0aW1lIGNvbnN0YW50IChhcHByb3hpbWF0ZWx5IDQgaHIgYXQgMjIgZGVncmVlcyBDIGFuZCBhdG1vc3BoZXJpYyBwTzIpIGluZGVwZW5kZW50IG9mIGRpbHV0aW9uLCBpbXBseWluZyB0aGF0IHRoZSBveGlkYXRpb24gZG9lcyBub3QgcmVxdWlyZSBlbnp5bWVzIG9yIGNvZmFjdG9ycy4gR0ZQIHdhcyBtdXRhZ2VuaXplZCBhbmQgc2NyZWVuZWQgZm9yIHZhcmlhbnRzIHdpdGggYWx0ZXJlZCBzcGVjdHJhLiBUaGUgbW9zdCBzdHJpa2luZyBtdXRhbnQgZmx1b3Jlc2NlZCBibHVlIGFuZCBjb250YWluZWQgaGlzdGlkaW5lIGluIHBsYWNlIG9mIFR5ci02Ni4gVGhlIGF2YWlsYWJpbGl0eSBvZiB0d28gdmlzaWJseSBkaXN0aW5jdCBjb2xvcnMgc2hvdWxkIHNpZ25pZmljYW50bHkgZXh0ZW5kIHRoZSB1c2VmdWxuZXNzIG9mIEdGUCBpbiBtb2xlY3VsYXIgYW5kIGNlbGwgYmlvbG9neSBieSBlbmFibGluZyBpbiB2aXZvIHZpc3VhbGl6YXRpb24gb2YgZGlmZmVyZW50aWFsIGdlbmUgZXhwcmVzc2lvbiBhbmQgcHJvdGVpbiBsb2NhbGl6YXRpb24gYW5kIG1lYXN1cmVtZW50IG9mIHByb3RlaW4gYXNzb2NpYXRpb24gYnkgZmx1b3Jlc2NlbmNlIHJlc29uYW5jZSBlbmVyZ3kgdHJhbnNmZXIufVxufVxuYCxgXG4gIEBhcnRpY2xle1NpbW9uLFxuICAgIHRpdGxlICAgICAgICA9IHtQRUFSLCBhIGZsZXhpYmxlIGZsdW9yZXNjZW50IHJlcG9ydGVyIGZvciB0aGUgaWRlbnRpZmljYXRpb24gYW5kIGVucmljaG1lbnQgb2Ygc3VjY2Vzc2Z1bGx5IHByaW1lIGVkaXRlZCBjZWxsc30sXG4gICAgYXV0aG9yICAgICAgID0ge1NpbW9uLCBEb3JvdHR5YSBBbm5hIGFuZCBUXHUwMEUxbGFzLCBBbmRyXHUwMEUxcyBhbmQgS3VsY3NcdTAwRTFyLCBQXHUwMEU5dGVyIElzdHZcdTAwRTFuIGFuZCBCaWN6XHUwMEYzaywgWnN1enNhbm5hIGFuZCBLcmF1c3osIFNhcmFoIExhdXJhIGFuZCBWXHUwMEUxcmFkeSwgR3lcdTAwRjZyZ3kgYW5kIFdlbGtlciwgRXJ2aW59LFxuICAgIHllYXIgICAgICAgICA9IDIwMjIsXG4gICAgbW9udGggICAgICAgID0gZmViLFxuICAgIGpvdXJuYWwgICAgICA9IHtlTGlmZX0sXG4gICAgcHVibGlzaGVyICAgID0ge2VMaWZlIFNjaWVuY2VzIFB1YmxpY2F0aW9ucywgTHRkfSxcbiAgICB2b2x1bWUgICAgICAgPSAxMSxcbiAgICBwYWdlcyAgICAgICAgPSB7ZTY5NTA0fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuNzU1NC9lTGlmZS42OTUwNH0sXG4gICAgaXNzbiAgICAgICAgID0gezIwNTAtMDg0WH0sXG4gICAgYWJzdHJhY3Rub3RlID0ge1ByaW1lIGVkaXRpbmcgaXMgYSByZWNlbnRseSBkZXZlbG9wZWQgQ1JJU1BSL0NhczkgYmFzZWQgZ2VuZSBlbmdpbmVlcmluZyB0b29sIHRoYXQgYWxsb3dzIHRoZSBpbnRyb2R1Y3Rpb24gb2Ygc2hvcnQgaW5zZXJ0aW9ucywgZGVsZXRpb25zLCBhbmQgc3Vic3RpdHV0aW9ucyBpbnRvIHRoZSBnZW5vbWUuIEhvd2V2ZXIsIHRoZSBlZmZpY2llbmN5IG9mIHByaW1lIGVkaXRpbmcsIHdoaWNoIHR5cGljYWxseSBhY2hpZXZlcyBlZGl0aW5nIHJhdGVzIG9mIGFyb3VuZCAxMCVcdTIwMTMzMCUsIGhhcyBub3QgbWF0Y2hlZCBpdHMgdmVyc2F0aWxpdHkuIEhlcmUsIHdlIGludHJvZHVjZSB0aGUgcHJpbWUgZWRpdG9yIGFjdGl2aXR5IHJlcG9ydGVyIChQRUFSKSwgYSBzZW5zaXRpdmUgZmx1b3Jlc2NlbnQgdG9vbCBmb3IgaWRlbnRpZnlpbmcgc2luZ2xlIGNlbGxzIHdpdGggcHJpbWUgZWRpdGluZyBhY3Rpdml0eS4gUEVBUiBoYXMgbm8gYmFja2dyb3VuZCBmbHVvcmVzY2VuY2UgYW5kIHNwZWNpZmljYWxseSBpbmRpY2F0ZXMgcHJpbWUgZWRpdGluZyBldmVudHMuIEl0cyBkZXNpZ24gcHJvdmlkZXMgYXBwYXJlbnRseSB1bmxpbWl0ZWQgZmxleGliaWxpdHkgZm9yIHNlcXVlbmNlIHZhcmlhdGlvbiBhbG9uZyB0aGUgZW50aXJlIGxlbmd0aCBvZiB0aGUgc3BhY2VyIHNlcXVlbmNlLCBtYWtpbmcgaXQgdW5pcXVlbHkgc3VpdGVkIGZvciBzeXN0ZW1hdGljIGludmVzdGlnYXRpb24gb2Ygc2VxdWVuY2UgZmVhdHVyZXMgdGhhdCBpbmZsdWVuY2UgcHJpbWUgZWRpdGluZyBhY3Rpdml0eS4gVGhlIHVzZSBvZiBQRUFSIGFzIGFuIGVucmljaG1lbnQgbWFya2VyIGZvciBwcmltZSBlZGl0aW5nIGNhbiBpbmNyZWFzZSB0aGUgZWRpdGVkIHBvcHVsYXRpb24gYnkgdXAgdG8gODQlLCB0aHVzIHNpZ25pZmljYW50bHkgaW1wcm92aW5nIHRoZSBhcHBsaWNhYmlsaXR5IG9mIHByaW1lIGVkaXRpbmcgZm9yIGJhc2ljIHJlc2VhcmNoIGFuZCBiaW90ZWNobm9sb2dpY2FsIGFwcGxpY2F0aW9ucy59LFxuICAgIGVkaXRvciAgICAgICA9IHtMYXBpbmFpdGUsIEF1ZHJvbmUgYW5kIFN0YWluaWVyLCBEaWRpZXIgWVIgYW5kIEhhbWlsdG9uLCBKZW5uaWZlciBSfVxuICB9XG5gXG5dIiwgImltcG9ydCBCaWJ0ZXhQYXJzZXIgZnJvbSBcIi4uL2NvbXBvbmVudHMvbWFrZVNvdXJjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRW5nUEVzeXN0ZW1zKCl7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8QmlidGV4UGFyc2VyIGJpYnRleFNvdXJjZXM9e2JpYnRleFNvdXJjZXN9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbn1cblxuXG5jb25zdCBiaWJ0ZXhTb3VyY2VzID0gW1xuICBgQGFydGljbGV7QW56YWxvbmVfUmFuZG9scGhfRGF2aXNfU291c2FfS29ibGFuX0xldnlfQ2hlbl9XaWxzb25fTmV3YnlfUmFndXJhbV8yMDE5LFxuICAgIHRpdGxlICAgICAgICA9IHtTZWFyY2gtYW5kLXJlcGxhY2UgZ2Vub21lIGVkaXRpbmcgd2l0aG91dCBkb3VibGUtc3RyYW5kIGJyZWFrcyBvciBkb25vciBETkF9LFxuICAgIGF1dGhvciAgICAgICA9IHtBbnphbG9uZSwgQW5kcmV3IFYuIGFuZCBSYW5kb2xwaCwgUGV5dG9uIEIuIGFuZCBEYXZpcywgSmVzc2llIFIuIGFuZCBTb3VzYSwgQWxleGFuZGVyIEEuIGFuZCBLb2JsYW4sIEx1a2UgVy4gYW5kIExldnksIEpvbmF0aGFuIE0uIGFuZCBDaGVuLCBQZXRlciBKLiBhbmQgV2lsc29uLCBDaHJpc3RvcGhlciBhbmQgTmV3YnksIEdyZWdvcnkgQS4gYW5kIFJhZ3VyYW0sIEFkaXR5YSBhbmQgTGl1LCBEYXZpZCBSLn0sXG4gICAgeWVhciAgICAgICAgID0gMjAxOSxcbiAgICBtb250aCAgICAgICAgPSBkZWMsXG4gICAgam91cm5hbCAgICAgID0ge05hdHVyZX0sXG4gICAgcHVibGlzaGVyICAgID0ge05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSxcbiAgICB2b2x1bWUgICAgICAgPSA1NzYsXG4gICAgbnVtYmVyICAgICAgID0gNzc4NSxcbiAgICBwYWdlcyAgICAgICAgPSB7MTQ5XHUyMDEzMTU3fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAzOC9zNDE1ODYtMDE5LTE3MTEtNH0sXG4gICAgaXNzbiAgICAgICAgID0gezE0NzYtNDY4N30sXG4gICAgcmlnaHRzICAgICAgID0gezIwMTkgVGhlIEF1dGhvcihzKSwgdW5kZXIgZXhjbHVzaXZlIGxpY2VuY2UgdG8gU3ByaW5nZXIgTmF0dXJlIExpbWl0ZWR9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtNb3N0IGdlbmV0aWMgdmFyaWFudHMgdGhhdCBjb250cmlidXRlIHRvIGRpc2Vhc2UxIGFyZSBjaGFsbGVuZ2luZyB0byBjb3JyZWN0IGVmZmljaWVudGx5IGFuZCB3aXRob3V0IGV4Y2VzcyBieXByb2R1Y3RzMlx1MjAxMzUuIEhlcmUgd2UgZGVzY3JpYmUgcHJpbWUgZWRpdGluZywgYSB2ZXJzYXRpbGUgYW5kIHByZWNpc2UgZ2Vub21lIGVkaXRpbmcgbWV0aG9kIHRoYXQgZGlyZWN0bHkgd3JpdGVzIG5ldyBnZW5ldGljIGluZm9ybWF0aW9uIGludG8gYSBzcGVjaWZpZWQgRE5BIHNpdGUgdXNpbmcgYSBjYXRhbHl0aWNhbGx5IGltcGFpcmVkIENhczkgZW5kb251Y2xlYXNlIGZ1c2VkIHRvIGFuIGVuZ2luZWVyZWQgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlLCBwcm9ncmFtbWVkIHdpdGggYSBwcmltZSBlZGl0aW5nIGd1aWRlIFJOQSAocGVnUk5BKSB0aGF0IGJvdGggc3BlY2lmaWVzIHRoZSB0YXJnZXQgc2l0ZSBhbmQgZW5jb2RlcyB0aGUgZGVzaXJlZCBlZGl0LiBXZSBwZXJmb3JtZWQgbW9yZSB0aGFuIDE3NSBlZGl0cyBpbiBodW1hbiBjZWxscywgaW5jbHVkaW5nIHRhcmdldGVkIGluc2VydGlvbnMsIGRlbGV0aW9ucywgYW5kIGFsbCAxMiB0eXBlcyBvZiBwb2ludCBtdXRhdGlvbiwgd2l0aG91dCByZXF1aXJpbmcgZG91YmxlLXN0cmFuZCBicmVha3Mgb3IgZG9ub3IgRE5BIHRlbXBsYXRlcy4gV2UgdXNlZCBwcmltZSBlZGl0aW5nIGluIGh1bWFuIGNlbGxzIHRvIGNvcnJlY3QsIGVmZmljaWVudGx5IGFuZCB3aXRoIGZldyBieXByb2R1Y3RzLCB0aGUgcHJpbWFyeSBnZW5ldGljIGNhdXNlcyBvZiBzaWNrbGUgY2VsbCBkaXNlYXNlIChyZXF1aXJpbmcgYSB0cmFuc3ZlcnNpb24gaW4gSEJCKSBhbmQgVGF5XHUyMDEzU2FjaHMgZGlzZWFzZSAocmVxdWlyaW5nIGEgZGVsZXRpb24gaW4gSEVYQSk7IHRvIGluc3RhbGwgYSBwcm90ZWN0aXZlIHRyYW5zdmVyc2lvbiBpbiBQUk5QOyBhbmQgdG8gaW5zZXJ0IHZhcmlvdXMgdGFncyBhbmQgZXBpdG9wZXMgcHJlY2lzZWx5IGludG8gdGFyZ2V0IGxvY2kuIEZvdXIgaHVtYW4gY2VsbCBsaW5lcyBhbmQgcHJpbWFyeSBwb3N0LW1pdG90aWMgbW91c2UgY29ydGljYWwgbmV1cm9ucyBzdXBwb3J0IHByaW1lIGVkaXRpbmcgd2l0aCB2YXJ5aW5nIGVmZmljaWVuY2llcy4gUHJpbWUgZWRpdGluZyBzaG93cyBoaWdoZXIgb3Igc2ltaWxhciBlZmZpY2llbmN5IGFuZCBmZXdlciBieXByb2R1Y3RzIHRoYW4gaG9tb2xvZ3ktZGlyZWN0ZWQgcmVwYWlyLCBoYXMgY29tcGxlbWVudGFyeSBzdHJlbmd0aHMgYW5kIHdlYWtuZXNzZXMgY29tcGFyZWQgdG8gYmFzZSBlZGl0aW5nLCBhbmQgaW5kdWNlcyBtdWNoIGxvd2VyIG9mZi10YXJnZXQgZWRpdGluZyB0aGFuIENhczkgbnVjbGVhc2UgYXQga25vd24gQ2FzOSBvZmYtdGFyZ2V0IHNpdGVzLiBQcmltZSBlZGl0aW5nIHN1YnN0YW50aWFsbHkgZXhwYW5kcyB0aGUgc2NvcGUgYW5kIGNhcGFiaWxpdGllcyBvZiBnZW5vbWUgZWRpdGluZywgYW5kIGluIHByaW5jaXBsZSBjb3VsZCBjb3JyZWN0IHVwIHRvIDg5JSBvZiBrbm93biBnZW5ldGljIHZhcmlhbnRzIGFzc29jaWF0ZWQgd2l0aCBodW1hbiBkaXNlYXNlcy59LFxuICAgIGxhbmd1YWdlICAgICA9IHtlbn1cbiAgfWAsXG4gIGBAYXJ0aWNsZXtKaW5la19DaHlsaW5za2lfRm9uZmFyYV9IYXVlcl9Eb3VkbmFfQ2hhcnBlbnRpZXJfMjAxMixcbiAgICB0aXRsZSAgICAgICAgPSB7QSBwcm9ncmFtbWFibGUgZHVhbCBSTkEtZ3VpZGVkIEROQSBlbmRvbnVjbGVhc2UgaW4gYWRhcHRpdmUgYmFjdGVyaWFsIGltbXVuaXR5fSxcbiAgICBhdXRob3IgICAgICAgPSB7SmluZWssIE1hcnRpbiBhbmQgQ2h5bGluc2tpLCBLcnp5c3p0b2YgYW5kIEZvbmZhcmEsIEluZXMgYW5kIEhhdWVyLCBNaWNoYWVsIGFuZCBEb3VkbmEsIEplbm5pZmVyIEEuIGFuZCBDaGFycGVudGllciwgRW1tYW51ZWxsZX0sXG4gICAgeWVhciAgICAgICAgID0gMjAxMixcbiAgICBtb250aCAgICAgICAgPSBhdWcsXG4gICAgam91cm5hbCAgICAgID0ge1NjaWVuY2V9LFxuICAgIHZvbHVtZSAgICAgICA9IDMzNyxcbiAgICBudW1iZXIgICAgICAgPSA2MDk2LFxuICAgIHBhZ2VzICAgICAgICA9IHs4MTZcdTIwMTM4MjF9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMTI2L3NjaWVuY2UuMTIyNTgyOX0sXG4gICAgaXNzbiAgICAgICAgID0gezAwMzYtODA3NX0sXG4gICAgYWJzdHJhY3Rub3RlID0ge0NSSVNQUi9DYXMgc3lzdGVtcyBwcm92aWRlIGJhY3RlcmlhIGFuZCBhcmNoYWVhIHdpdGggYWRhcHRpdmUgaW1tdW5pdHkgYWdhaW5zdCB2aXJ1c2VzIGFuZCBwbGFzbWlkcyBieSB1c2luZyBjclJOQXMgdG8gZ3VpZGUgdGhlIHNpbGVuY2luZyBvZiBpbnZhZGluZyBudWNsZWljIGFjaWRzLiBXZSBzaG93IGhlcmUgdGhhdCBpbiBhIHN1YnNldCBvZiB0aGVzZSBzeXN0ZW1zLCB0aGUgbWF0dXJlIGNyUk5BIGJhc2UtcGFpcmVkIHRvIHRyYW5zLWFjdGl2YXRpbmcgdHJhY3JSTkEgZm9ybXMgYSB0d28tUk5BIHN0cnVjdHVyZSB0aGF0IGRpcmVjdHMgdGhlIENSSVNQUi1hc3NvY2lhdGVkIHByb3RlaW4gQ2FzOSB0byBpbnRyb2R1Y2UgZG91YmxlLXN0cmFuZGVkIChkcykgYnJlYWtzIGluIHRhcmdldCBETkEuIEF0IHNpdGVzIGNvbXBsZW1lbnRhcnkgdG8gdGhlIGNyUk5BLWd1aWRlIHNlcXVlbmNlLCB0aGUgQ2FzOSBITkggbnVjbGVhc2UgZG9tYWluIGNsZWF2ZXMgdGhlIGNvbXBsZW1lbnRhcnkgc3RyYW5kIHdoaWxlIHRoZSBDYXM5IFJ1dkMtbGlrZSBkb21haW4gY2xlYXZlcyB0aGUgbm9uLWNvbXBsZW1lbnRhcnkgc3RyYW5kLiBUaGUgZHVhbC10cmFjclJOQTpjclJOQSwgd2hlbiBlbmdpbmVlcmVkIGFzIGEgc2luZ2xlIFJOQSBjaGltZXJhLCBhbHNvIGRpcmVjdHMgc2VxdWVuY2Utc3BlY2lmaWMgQ2FzOSBkc0ROQSBjbGVhdmFnZS4gT3VyIHN0dWR5IHJldmVhbHMgYSBmYW1pbHkgb2YgZW5kb251Y2xlYXNlcyB0aGF0IHVzZSBkdWFsLVJOQXMgZm9yIHNpdGUtc3BlY2lmaWMgRE5BIGNsZWF2YWdlIGFuZCBoaWdobGlnaHRzIHRoZSBwb3RlbnRpYWwgdG8gZXhwbG9pdCB0aGUgc3lzdGVtIGZvciBSTkEtcHJvZ3JhbW1hYmxlIGdlbm9tZSBlZGl0aW5nLiwgQSB0d28tUk5BIHN0cnVjdHVyZSBkaXJlY3RzIGFuIGVuZG9udWNsZWFzZSB0byBjbGVhdmUgdGFyZ2V0IEROQS59XG4gIH1gLFxuICBgQGFydGljbGV7R2FvX1JhdmVuZHJhbl9NaWtrZWxzZW5fSGFsZHJ1cF9DYWlfRGluZ19QYWx1ZGFuX1Rob21zZW5fTWlra2Vsc2VuX0Jha18yMDIyLFxuICAgIHRpdGxlICAgICAgICA9IHtBIHRydW5jYXRlZCByZXZlcnNlIHRyYW5zY3JpcHRhc2UgZW5oYW5jZXMgcHJpbWUgZWRpdGluZyBieSBzcGxpdCBBQVYgdmVjdG9yc30sXG4gICAgYXV0aG9yICAgICAgID0ge0dhbywgWm9uZ2xpYW5nIGFuZCBSYXZlbmRyYW4sIFN1amFuIGFuZCBNaWtrZWxzZW4sIE5hbm5hIFMuIGFuZCBIYWxkcnVwLCBKYWtvYiBhbmQgQ2FpLCBIdWlxaWFuZyBhbmQgRGluZywgWGlhbmduaW5nIGFuZCBQYWx1ZGFuLCBTXHUwMEY4cmVuIFIuIGFuZCBUaG9tc2VuLCBNYXJ0aW4gSy4gYW5kIE1pa2tlbHNlbiwgSmFjb2IgR2llaG0gYW5kIEJhaywgUmFzbXVzIE8ufSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDIyLFxuICAgIG1vbnRoICAgICAgICA9IHNlcCxcbiAgICBqb3VybmFsICAgICAgPSB7TW9sZWN1bGFyIFRoZXJhcHl9LFxuICAgIHB1Ymxpc2hlciAgICA9IHtFbHNldmllcn0sXG4gICAgdm9sdW1lICAgICAgID0gMzAsXG4gICAgbnVtYmVyICAgICAgID0gOSxcbiAgICBwYWdlcyAgICAgICAgPSB7Mjk0Mlx1MjAxMzI5NTF9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDE2L2oueW10aGUuMjAyMi4wNy4wMDF9LFxuICAgIGlzc24gICAgICAgICA9IHsxNTI1LTAwMTYsIDE1MjUtMDAyNH0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge0VuZ2xpc2h9XG4gIH1gLFxuICBgQGFydGljbGV7Q2hlbl9IdXNzbWFubl9ZYW5fS25pcHBpbmdfUmF2aXNhbmthcl9DaGVuX0NoZW5fTmVsc29uX05ld2J5X1NhaGluXzIwMjEsXG4gICAgdGl0bGUgICAgICAgID0ge0VuaGFuY2VkIHByaW1lIGVkaXRpbmcgc3lzdGVtcyBieSBtYW5pcHVsYXRpbmcgY2VsbHVsYXIgZGV0ZXJtaW5hbnRzIG9mIGVkaXRpbmcgb3V0Y29tZXN9LFxuICAgIGF1dGhvciAgICAgICA9IHtDaGVuLCBQZXRlciBKLiBhbmQgSHVzc21hbm4sIEplZmZyZXkgQS4gYW5kIFlhbiwgSnVuIGFuZCBLbmlwcGluZywgRnJpZWRlcmlrZSBhbmQgUmF2aXNhbmthciwgUHVybmltYSBhbmQgQ2hlbiwgUGluLUZhbmcgYW5kIENoZW4sIENpZGkgYW5kIE5lbHNvbiwgSmFtZXMgVy4gYW5kIE5ld2J5LCBHcmVnb3J5IEEuIGFuZCBTYWhpbiwgTXVzdGFmYSBhbmQgT3Nib3JuLCBNYXJrIEouIGFuZCBXZWlzc21hbiwgSm9uYXRoYW4gUy4gYW5kIEFkYW1zb24sIEJyaXR0IGFuZCBMaXUsIERhdmlkIFIufSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDIxLFxuICAgIG1vbnRoICAgICAgICA9IG9jdCxcbiAgICBqb3VybmFsICAgICAgPSB7Q2VsbH0sXG4gICAgdm9sdW1lICAgICAgID0gMTg0LFxuICAgIG51bWJlciAgICAgICA9IDIyLFxuICAgIHBhZ2VzICAgICAgICA9IHs1NjM1LS01NjUyfSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAxNi9qLmNlbGwuMjAyMS4wOS4wMTh9LFxuICAgIGlzc24gICAgICAgICA9IHswMDkyLTg2NzR9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtXaGlsZSBwcmltZSBlZGl0aW5nIGVuYWJsZXMgcHJlY2lzZSBzZXF1ZW5jZSBjaGFuZ2VzIGluIEROQSwgY2VsbHVsYXIgZGV0ZXJtaW5hbnRzIG9mIHByaW1lIGVkaXRpbmcgcmVtYWluIHBvb3JseSB1bmRlcnN0b29kLiBVc2luZyBwb29sZWQgQ1JJU1BSaSBzY3JlZW5zLCB3ZSBkaXNjb3ZlcmVkIHRoYXQgRE5BIG1pc21hdGNoIHJlcGFpciAoTU1SKSBpbXBlZGVzIHByaW1lIGVkaXRpbmcgYW5kIHByb21vdGVzIHVuZGVzaXJlZCBpbmRlbCBieXByb2R1Y3RzLiBXZSBkZXZlbG9wZWQgUEU0IGFuZCBQRTUgcHJpbWUgZWRpdGluZyBzeXN0ZW1zIGluIHdoaWNoIHRyYW5zaWVudCBleHByZXNzaW9uIG9mIGFuIGVuZ2luZWVyZWQgTU1SLWluaGliaXRpbmcgcHJvdGVpbiBlbmhhbmNlcyB0aGUgZWZmaWNpZW5jeSBvZiBzdWJzdGl0dXRpb24sIHNtYWxsIGluc2VydGlvbiwgYW5kIHNtYWxsIGRlbGV0aW9uIHByaW1lIGVkaXRzIGJ5IGFuIGF2ZXJhZ2UgNy43LWZvbGQgYW5kIDIuMC1mb2xkIGNvbXBhcmVkIHRvIFBFMiBhbmQgUEUzIHN5c3RlbXMsIHJlc3BlY3RpdmVseSwgd2hpbGUgaW1wcm92aW5nIGVkaXQvaW5kZWwgcmF0aW9zIGJ5IDMuNC1mb2xkIGluIE1NUi1wcm9maWNpZW50IGNlbGwgdHlwZXMuIFN0cmF0ZWdpYyBpbnN0YWxsYXRpb24gb2Ygc2lsZW50IG11dGF0aW9ucyBuZWFyIHRoZSBpbnRlbmRlZCBlZGl0IGNhbiBlbmhhbmNlIHByaW1lIGVkaXRpbmcgb3V0Y29tZXMgYnkgZXZhZGluZyBNTVIuIFByaW1lIGVkaXRvciBwcm90ZWluIG9wdGltaXphdGlvbiByZXN1bHRlZCBpbiBhIFBFbWF4IGFyY2hpdGVjdHVyZSB0aGF0IGVuaGFuY2VzIGVkaXRpbmcgZWZmaWNhY3kgYnkgMi44LWZvbGQgb24gYXZlcmFnZSBpbiBIZUxhIGNlbGxzLiBUaGVzZSBmaW5kaW5ncyBlbnJpY2ggb3VyIHVuZGVyc3RhbmRpbmcgb2YgcHJpbWUgZWRpdGluZyBhbmQgZXN0YWJsaXNoIHByaW1lIGVkaXRpbmcgc3lzdGVtcyB0aGF0IHNob3cgc3Vic3RhbnRpYWwgaW1wcm92ZW1lbnQgYWNyb3NzIDE5MSBlZGl0cyBpbiBzZXZlbiBtYW1tYWxpYW4gY2VsbCB0eXBlcy59XG4gIH1gLFxuICBgQGFydGljbGV7VG9tZXJfQnVlcm1leWVyX05ndXllbl9MaXNrYXlfMjAwMixcbiAgICB0aXRsZSAgICAgICAgPSB7Q29udHJpYnV0aW9uIG9mIEh1bWFuIE1saDEgYW5kIFBtczIgQVRQYXNlIEFjdGl2aXRpZXMgdG8gRE5BIE1pc21hdGNoIFJlcGFpcn0sXG4gICAgYXV0aG9yICAgICAgID0ge1RvbWVyLCBHdXkgYW5kIEJ1ZXJtZXllciwgQW5kcmV3IEIuIGFuZCBOZ3V5ZW4sIE1lZ2FuIE0uIGFuZCBMaXNrYXksIFIuIE1pY2hhZWx9LFxuICAgIHllYXIgICAgICAgICA9IDIwMDIsXG4gICAgbW9udGggICAgICAgID0ganVuLFxuICAgIGpvdXJuYWwgICAgICA9IHtKb3VybmFsIG9mIEJpb2xvZ2ljYWwgQ2hlbWlzdHJ5fSxcbiAgICB2b2x1bWUgICAgICAgPSAyNzcsXG4gICAgbnVtYmVyICAgICAgID0gMjQsXG4gICAgcGFnZXMgICAgICAgID0gezIxODAxXHUyMDEzMjE4MDl9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDc0L2piYy5NMTExMzQyMjAwfSxcbiAgICBpc3NuICAgICAgICAgPSB7MDAyMS05MjU4fSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7TXV0TFx1MDNCMSwgYSBoZXRlcm9kaW1lciBjb21wb3NlZCBvZiBNbGgxIGFuZCBQbXMyLCBpcyB0aGUgbWFqb3IgTXV0TCBhY3Rpdml0eSBpbiBtYW1tYWxpYW4gRE5BIG1pc21hdGNoIHJlcGFpci4gSGlnaGx5IGNvbnNlcnZlZCBtb3RpZnMgaW4gdGhlIE4gdGVybWluaSBvZiBib3RoIHN1YnVuaXRzIHByZWRpY3QgdGhhdCB0aGUgcHJvdGVpbiBpcyBhbiBBVFBhc2UuIFRvIHN0dWR5IHRoZSBzaWduaWZpY2FuY2Ugb2YgdGhlc2UgbW90aWZzIHRvIG1pc21hdGNoIHJlcGFpciwgd2UgaGF2ZSBleHByZXNzZWQgaW4gaW5zZWN0IGNlbGxzIHdpbGQgdHlwZSBodW1hbiBNdXRMXHUwM0IxIGFuZCBmb3JtcyBhbHRlcmVkIGluIGNvbnNlcnZlZCBnbHV0YW1pYyBhY2lkIHJlc2lkdWVzLCBwcmVkaWN0ZWQgdG8gY2F0YWx5emUgQVRQIGh5ZHJvbHlzaXMgb2YgTWxoMSwgUG1zMiwgb3IgYm90aC4gVXNpbmcgYW4gaW4gdml0cm8gYXNzYXksIHdlIHNob3dlZCB0aGF0IE11dExcdTAzQjEgcHJvdGVpbnMgYWx0ZXJlZCBpbiBlaXRoZXIgZ2x1dGFtaWMgYWNpZCByZXNpZHVlIHdlcmUgZWFjaCBwYXJ0aWFsbHkgZGVmZWN0aXZlIGluIG1pc21hdGNoIHJlcGFpciwgd2hlcmVhcyB0aGUgZG91YmxlIG11dGFudCBzaG93ZWQgbm8gZGV0ZWN0YWJsZSBtaXNtYXRjaCByZXBhaXIuIE5laXRoZXIgc3RyYW5kIHNwZWNpZmljaXR5IG5vciBkaXJlY3Rpb25hbGl0eSBvZiByZXBhaXIgd2FzIGFmZmVjdGVkIGluIHRoZSBzaW5nbGUgbXV0YW50IHByb3RlaW5zLiBMaW1pdGVkIHByb3Rlb2x5c2lzIHN0dWRpZXMgb2YgTXV0TFx1MDNCMSBkZW1vbnN0cmF0ZWQgdGhhdCBib3RoIE1saDEgYW5kIFBtczIgTi10ZXJtaW5hbCBkb21haW5zIHVuZGVyZ28gQVRQLWluZHVjZWQgY29uZm9ybWF0aW9uYWwgY2hhbmdlcywgYnV0IHRoZSBleHRlbnQgb2YgdGhlIGNvbmZvcm1hdGlvbmFsIGNoYW5nZSBmb3IgTWxoMSB3YXMgbW9yZSBhcHBhcmVudCB0aGFuIGZvciBQbXMyLiBGdXJ0aGVybW9yZSwgTWxoMSB3YXMgcHJvdGVjdGVkIGF0IGxvd2VyIEFUUCBjb25jZW50cmF0aW9ucyB0aGFuIFBtczIsIHN1Z2dlc3RpbmcgTWxoMSBiaW5kcyBBVFAgd2l0aCBoaWdoZXIgYWZmaW5pdHkuIFRoZXNlIGZpbmRpbmdzIGltcGx5IHRoYXQgQVRQIGh5ZHJvbHlzaXMgaXMgcmVxdWlyZWQgZm9yIE11dExcdTAzQjEgYWN0aXZpdHkgaW4gbWlzbWF0Y2ggcmVwYWlyIGFuZCB0aGF0IHRoaXMgYWN0aXZpdHkgaXMgYXNzb2NpYXRlZCB3aXRoIGRpZmZlcmVudGlhbCBjb25mb3JtYXRpb25hbCBjaGFuZ2VzIGluIE1saDEgYW5kIFBtczIufVxuICB9YCxcbiAgYEBhcnRpY2xle1d1X0NvcmJldHRfQmVybGFuZF8yMDA5LFxuICAgIHRpdGxlICAgICAgICA9IHtUaGUgSW50cmFjZWxsdWxhciBNb2JpbGl0eSBvZiBOdWNsZWFyIEltcG9ydCBSZWNlcHRvcnMgYW5kIE5MUyBDYXJnb2VzfSxcbiAgICBhdXRob3IgICAgICAgPSB7V3UsIEppYW5yb25nIGFuZCBDb3JiZXR0LCBBbml0YSBILiBhbmQgQmVybGFuZCwgS2VpdGggTS59LFxuICAgIHllYXIgICAgICAgICA9IDIwMDksXG4gICAgbW9udGggICAgICAgID0gbWF5LFxuICAgIGpvdXJuYWwgICAgICA9IHtCaW9waHlzaWNhbCBKb3VybmFsfSxcbiAgICB2b2x1bWUgICAgICAgPSA5NixcbiAgICBudW1iZXIgICAgICAgPSA5LFxuICAgIHBhZ2VzICAgICAgICA9IHszODQwXHUyMDEzMzg0OX0sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwMTYvai5icGouMjAwOS4wMS4wNTB9LFxuICAgIGlzc24gICAgICAgICA9IHswMDA2LTM0OTV9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtXZSBoYXZlIGludmVzdGlnYXRlZCBjbGFzc2ljYWwgbnVjbGVhciBsb2NhbGl6YXRpb24gc2VxdWVuY2UgKE5MUykgbWVkaWF0ZWQgcHJvdGVpbiB0cmFmZmlja2luZyBieSBtZWFzdXJpbmcgYmlvbW9sZWN1bGFyIGR5bmFtaWNzIHdpdGhpbiBsaXZpbmcgY2VsbHMgdXNpbmcgdHdvLXBob3RvbiBmbHVvcmVzY2VuY2UgY29ycmVsYXRpb24gc3BlY3Ryb3Njb3B5LiBCeSBkaXJlY3RseSBvYnNlcnZpbmcgdGhlIGJlaGF2aW9yIG9mIHNwZWNpZmljIG1vbGVjdWxlcyBpbiB0aGVpciBuYXRpdmUgY2VsbHVsYXIgZW52aXJvbm1lbnQsIGl0IGlzIHBvc3NpYmxlIHRvIHVuY292ZXIgZnVuY3Rpb25hbCBkZXRhaWxzIHRoYXQgYXJlIG5vdCBhcHBhcmVudCBmcm9tIHRyYWRpdGlvbmFsIGJpb2NoZW1pY2FsIGludmVzdGlnYXRpb25zIG9yIGZ1bmN0aW9uYWwgYXNzYXlzLiBXZSBzaG93IHRoYXQgdGhlIGludHJhY2VsbHVsYXIgbW9iaWxpdHkgb2YgTkxTIGNhcmdvZXMgYW5kIHRoZWlyIGltcG9ydCByZWNlcHRvciBwcm90ZWlucywga2FyeW9waGVyaW4tXHUwM0IxIGFuZCBrYXJ5b3BoZXJpbi1cdTAzQjIsIGNhbiBiZSByb2J1c3RseSBtZWFzdXJlZCBhbmQgdGhhdCBxdWFudGl0YXRpdmUgY29tcGFyaXNvbiBvZiBpbnRyYWNlbGx1bGFyIGRpZmZ1c2lvbiBjb2VmZmljaWVudHMgcHJvdmlkZXMgbmV3IGluc2lnaHRzIGludG8gbnVjbGVhciB0cmFuc3BvcnQgbWVjaGFuaXNtcy4gSW1wb3J0IGNhcmdvIGNvbXBsZXhlcyBhcmUgYXNzZW1ibGVkIHRocm91Z2hvdXQgdGhlIGN5dG9wbGFzbSwgYW5kIHRoZWlyIGRpZmZ1c2lvbiBpcyBzbG93ZXIgdGhhbiBwcmVkaWN0ZWQgYnkgbW9sZWN1bGFyIHdlaWdodCBkdWUgdG8gc3BlY2lmaWMgaW50ZXJhY3Rpb25zLiBBbmFseXNpcyBvZiBOTFMgY2FyZ28gZGlmZnVzaW9uIGluIHRoZSBjeXRvcGxhc20gaW5kaWNhdGVzIHRoYXQgdGhlc2UgaW50ZXJhY3Rpb25zIGFyZSBsaWtlbHkgZGlzcnVwdGVkIGJ5IE5MUyBjYXJnbyBiaW5kaW5nLiBPdXIgcmVzdWx0cyBzdWdnZXN0IHRoYXQgZGVsaXZlcnkgb2YgaW1wb3J0IHJlY2VwdG9ycyBhbmQgTkxTIGNhcmdvZXMgdG8gbnVjbGVhciBwb3JlcyBtYXkgY29tcGxlbWVudCBzZWxlY3RpdmUgdHJhbnNsb2NhdGlvbiB0aHJvdWdoIHRoZSBwb3JlcyBhcyBhIGZ1bmN0aW9uYWwgbWVjaGFuaXNtIGZvciByZWd1bGF0aW5nIHRyYW5zcG9ydCBvZiBwcm90ZWlucyBpbnRvIHRoZSBudWNsZXVzLn1cbiAgfWAsXG4gIGBAYXJ0aWNsZXtEYW5nX0xlZV8xOTg4LFxuICAgIHRpdGxlICAgICAgICA9IHtJZGVudGlmaWNhdGlvbiBvZiB0aGUgaHVtYW4gYy1teWMgcHJvdGVpbiBudWNsZWFyIHRyYW5zbG9jYXRpb24gc2lnbmFsfSxcbiAgICBhdXRob3IgICAgICAgPSB7RGFuZywgQy5WLiBhbmQgTGVlLCBXLk0uRi59LFxuICAgIHllYXIgICAgICAgICA9IDE5ODgsXG4gICAgam91cm5hbCAgICAgID0ge01vbGVjdWxhciBhbmQgQ2VsbHVsYXIgQmlvbG9neX0sXG4gICAgdm9sdW1lICAgICAgID0gOCxcbiAgICBudW1iZXIgICAgICAgPSAxMCxcbiAgICBwYWdlcyAgICAgICAgPSB7NDA0OFx1MjAxMzQwNTR9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMTI4L01DQi44LjEwLjQwNDh9XG4gIH1gLFxuICBgQGFydGljbGV7U3BlbmNlcl9aaGFuZ18yMDE3LFxuICAgIHRpdGxlICAgICAgICA9IHtEZWVwIG11dGF0aW9uYWwgc2Nhbm5pbmcgb2YgUy4gcHlvZ2VuZXMgQ2FzOSByZXZlYWxzIGltcG9ydGFudCBmdW5jdGlvbmFsIGRvbWFpbnN9LFxuICAgIGF1dGhvciAgICAgICA9IHtTcGVuY2VyLCBKLk0uIGFuZCBaaGFuZywgWC59LFxuICAgIHllYXIgICAgICAgICA9IDIwMTcsXG4gICAgam91cm5hbCAgICAgID0ge1NjaWVudGlmaWMgUmVwb3J0c30sXG4gICAgdm9sdW1lICAgICAgID0gNyxcbiAgICBudW1iZXIgICAgICAgPSAxLFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDM4L3M0MTU5OC0wMTctMTcwODEteX0sXG4gICAgYWJzdHJhY3Rub3RlID0ge1JOQS1ndWlkZWQgZW5kb251Y2xlYXNlcyAoUkdFTnMpIGhhdmUgaW52aWdvcmF0ZWQgdGhlIGZpZWxkIG9mIHNpdGUtc3BlY2lmaWMgbnVjbGVhc2VzLiBUaGUgc3VjY2VzcyBvZiBTdHJlcHRvY29jY3VzIHB5b2dlbmVzIENhczkgKFNwQ2FzOSkgaGFzIGxlZCB0byB0aGUgZGlzY292ZXJ5IG9mIHNldmVyYWwgb3RoZXIgQ1JJU1BSLUFzc29jaWF0ZWQgUkdFTnMuIEFzIG1vcmUgUkdFTnMgYmVjb21lIGF2YWlsYWJsZSwgaXQgd2lsbCBiZSBuZWNlc3NhcnkgdG8gcmVmaW5lIHRoZWlyIGFjdGl2aXR5IGJlZm9yZSB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkIGludG8gdGhlIGNsaW5pYy4gV2l0aCB0aGlzIGluIG1pbmQsIHdlIHNvdWdodCB0byBkZW1vbnN0cmF0ZSBob3cgZGVlcCBtdXRhdGlvbmFsIHNjYW5uaW5nIChETVMpIGNvdWxkIHByb3ZpZGUgZGV0YWlscyBhYm91dCBpbXBvcnRhbnQgZnVuY3Rpb25hbCByZWdpb25zIGluIFNwQ2FzOSBhbmQgc3BlZWQgZW5naW5lZXJpbmcgZWZmb3J0cy4gQ29uc2VxdWVudGx5LCB3ZSBkZXZlbG9wZWQgYSBudWNsZWFzZSBzY3JlZW5pbmcgcGxhdGZvcm0gd2hpY2ggY291bGQgZGlzdGluZ3Vpc2ggYWN0aXZlIENhczkgbXV0YW50cy4gV2Ugc2NyZWVuZWQgYSBsaWJyYXJ5IG9mIDEuOSBcdTAwRDcgMTA3IHdpdGggb3ZlciA4NTAwIHBvc3NpYmxlIG5vbi1zeW5vbnltb3VzIG11dGF0aW9ucyBhbmQgaW5mZXJyZWQgdGhlIGVmZmVjdHMgb2YgZWFjaCBtdXRhdGlvbiB1c2luZyBETVMuIFdlIGRlbW9uc3RyYXRlIHRoYXQgdGhlIFJ1dkMgYW5kIEhOSCBkb21haW5zIGFyZSB0aGUgbGVhc3QgdG9sZXJhbnQgcmVnaW9ucyB0byBtdXRhdGlvbi4gSW4gY29udHJhc3QsIHRoZSBSZWMyIGFuZCBQSSBkb21haW5zIHRvbGVyYXRlIG11dGF0aW9uIGJldHRlciB0aGFuIG90aGVyIHJlZ2lvbnMuIFRoZSBtdXRhdGlvbiBpbmZvcm1hdGlvbiBkZWZpbmVkIGluIHRoaXMgd29yayBwcm92aWRlcyBhIGZvdW5kYXRpb24gZm9yIGZ1cnRoZXIgU3BDYXM5IGVuZ2luZWVyaW5nLiBUb2dldGhlciwgb3VyIHJlc3VsdHMgZGVtb25zdHJhdGUgaG93IERNUyBjYW4gYmUgYSBwb3dlcmZ1bCB0b29sIHRvIHVuY292ZXIgZmVhdHVyZXMgaW1wb3J0YW50IHRvIFJHRU4gZnVuY3Rpb24uIEFwcGxpY2F0aW9uIG9mIHRoaXMgYXBwcm9hY2ggdG8gZW1lcmdpbmcgUkdFTnMgc2hvdWxkIGVuaGFuY2UgdGhlaXIgZW5naW5lZXJpbmcgYW5kIG9wdGltaXphdGlvbiBmb3IgdGhlcmFwZXV0aWMgYW5kIG90aGVyIGFwcGxpY2F0aW9ucy4gXHUwMEE5IDIwMTcgVGhlIEF1dGhvcihzKS59XG4gIH1gLFxuICBgQGFydGljbGV7RG9tYW5fUGFuZGV5X05ldWdlYmF1ZXJfQW5fRGF2aXNfUmFuZG9scGhfTWNFbHJveV9HYW9fUmFndXJhbV9SaWNodGVyXzIwMjMsXG4gICAgdGl0bGUgICAgICAgID0ge1BoYWdlLWFzc2lzdGVkIGV2b2x1dGlvbiBhbmQgcHJvdGVpbiBlbmdpbmVlcmluZyB5aWVsZCBjb21wYWN0LCBlZmZpY2llbnQgcHJpbWUgZWRpdG9yc30sXG4gICAgYXV0aG9yICAgICAgID0ge0RvbWFuLCBKb3JkYW4gTC4gYW5kIFBhbmRleSwgU21yaXRpIGFuZCBOZXVnZWJhdWVyLCBNb25pY2EgRS4gYW5kIEFuLCBNZWlydWkgYW5kIERhdmlzLCBKZXNzaWUgUi4gYW5kIFJhbmRvbHBoLCBQZXl0b24gQi4gYW5kIE1jRWxyb3ksIEFtYmVyIGFuZCBHYW8sIFhpbiBELiBhbmQgUmFndXJhbSwgQWRpdHlhIGFuZCBSaWNodGVyLCBNaWNoZWxsZSBGLiBhbmQgRXZlcmV0dGUsIEtlbGNlZSBBLiBhbmQgQmFuc2tvdGEsIFNhbWFneWEgYW5kIFRpYW4sIEthdGhyeW4gYW5kIFRhbywgWS4gQWxsZW4gYW5kIFRvbGFyLCBKYWt1YiBhbmQgT3Nib3JuLCBNYXJrIEouIGFuZCBMaXUsIERhdmlkIFIufSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDIzLFxuICAgIG1vbnRoICAgICAgICA9IGF1ZyxcbiAgICBqb3VybmFsICAgICAgPSB7Q2VsbH0sXG4gICAgcHVibGlzaGVyICAgID0ge0Vsc2V2aWVyfSxcbiAgICB2b2x1bWUgICAgICAgPSAxODYsXG4gICAgbnVtYmVyICAgICAgID0gMTgsXG4gICAgcGFnZXMgICAgICAgID0gezM5ODMtLTQwMDJ9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDE2L2ouY2VsbC4yMDIzLjA3LjAzOX0sXG4gICAgaXNzbiAgICAgICAgID0gezAwOTItODY3NCwgMTA5Ny00MTcyfSxcbiAgICBsYW5ndWFnZSAgICAgPSB7RW5nbGlzaH1cbiAgfWAsXG4gIGBAYXJ0aWNsZXtTb3VzYV9IZW1lel9MZWlfVHJhb3JlX0t1bGhhbmtvdmFfTmV3YnlfRG9tYW5fT3llX1BhbmRleV9LYXJwXzIwMjQsXG4gICAgdGl0bGUgICAgICAgID0ge1N5c3RlbWF0aWMgb3B0aW1pemF0aW9uIG9mIHByaW1lIGVkaXRpbmcgZm9yIHRoZSBlZmZpY2llbnQgZnVuY3Rpb25hbCBjb3JyZWN0aW9uIG9mIENGVFIgRjUwOGRlbCBpbiBodW1hbiBhaXJ3YXkgZXBpdGhlbGlhbCBjZWxsc30sXG4gICAgYXV0aG9yICAgICAgID0ge1NvdXNhLCBBbGV4YW5kZXIgQS4gYW5kIEhlbWV6LCBDb2xpbiBhbmQgTGVpLCBMZWkgYW5kIFRyYW9yZSwgU291bWJhIGFuZCBLdWxoYW5rb3ZhLCBLYXRhcmluYSBhbmQgTmV3YnksIEdyZWdvcnkgQS4gYW5kIERvbWFuLCBKb3JkYW4gTC4gYW5kIE95ZSwgS2V5ZWRlIGFuZCBQYW5kZXksIFNtcml0aSBhbmQgS2FycCwgUGhpbGlwIEguIGFuZCBNY0NyYXksIFBhdWwgQi4gYW5kIExpdSwgRGF2aWQgUi59LFxuICAgIHllYXIgICAgICAgICA9IDIwMjQsXG4gICAgbW9udGggICAgICAgID0ganVsLFxuICAgIGpvdXJuYWwgICAgICA9IHtOYXR1cmUgQmlvbWVkaWNhbCBFbmdpbmVlcmluZ30sXG4gICAgcHVibGlzaGVyICAgID0ge05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSxcbiAgICBwYWdlcyAgICAgICAgPSB7MVx1MjAxMzE1fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAzOC9zNDE1NTEtMDI0LTAxMjMzLTN9LFxuICAgIGlzc24gICAgICAgICA9IHsyMTU3LTg0Nlh9LFxuICAgIHJpZ2h0cyAgICAgICA9IHsyMDI0IFRoZSBBdXRob3Iocyl9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtQcmltZSBlZGl0aW5nIChQRSkgZW5hYmxlcyBwcmVjaXNlIGFuZCB2ZXJzYXRpbGUgZ2Vub21lIGVkaXRpbmcgd2l0aG91dCByZXF1aXJpbmcgZG91YmxlLXN0cmFuZGVkIEROQSBicmVha3MuIEhlcmUgd2UgZGVzY3JpYmUgdGhlIHN5c3RlbWF0aWMgb3B0aW1pemF0aW9uIG9mIFBFIHN5c3RlbXMgdG8gZWZmaWNpZW50bHkgY29ycmVjdCBodW1hbiBjeXN0aWMgZmlicm9zaXMgKENGKSB0cmFuc21lbWJyYW5lIGNvbmR1Y3RhbmNlIHJlZ3VsYXRvciAoQ0ZUUikgRjUwOGRlbCwgYSB0aHJlZS1udWNsZW90aWRlIGRlbGV0aW9uIHRoYXQgaXMgdGhlIHByZWRvbWluYW50IGNhdXNlIG9mIENGLiBCeSBjb21iaW5pbmcgc2l4IGVmZmljaWVuY3kgb3B0aW1pemF0aW9ucyBmb3IgUEVcdTIwMTRlbmdpbmVlcmVkIFBFIGd1aWRlIFJOQXMsIHRoZSBQRW1heCBhcmNoaXRlY3R1cmUsIHRoZSB0cmFuc2llbnQgZXhwcmVzc2lvbiBvZiBhIGRvbWluYW50LW5lZ2F0aXZlIG1pc21hdGNoIHJlcGFpciBwcm90ZWluLCBzdHJhdGVnaWMgc2lsZW50IGVkaXRzLCBQRTYgdmFyaWFudHMgYW5kIHByb3hpbWFsIFx1MjAxOGRlYWRcdTIwMTkgc2luZ2xlLWd1aWRlIFJOQXNcdTIwMTR3ZSBpbmNyZWFzZWQgY29ycmVjdGlvbiBlZmZpY2llbmNpZXMgZm9yIENGVFIgRjUwOGRlbCBmcm9tIGxlc3MgdGhhbiAwLjUlIGluIEhFSzI5M1QgY2VsbHMgdG8gNTglIGluIGltbW9ydGFsaXplZCBicm9uY2hpYWwgZXBpdGhlbGlhbCBjZWxscyAoYSAxNDAtZm9sZCBpbXByb3ZlbWVudCkgYW5kIHRvIDI1JSBpbiBwYXRpZW50LWRlcml2ZWQgYWlyd2F5IGVwaXRoZWxpYWwgY2VsbHMuIFRoZSBvcHRpbWl6YXRpb25zIGFsc28gcmVzdWx0ZWQgaW4gbWluaW1hbCBvZmYtdGFyZ2V0IGVkaXRpbmcsIGluIGVkaXQtdG8taW5kZWwgcmF0aW9zIDMuNS1mb2xkIGdyZWF0ZXIgdGhhbiB0aG9zZSBhY2hpZXZlZCBieSBudWNsZWFzZS1tZWRpYXRlZCBob21vbG9neS1kaXJlY3RlZCByZXBhaXIsIGFuZCBpbiB0aGUgZnVuY3Rpb25hbCByZXN0b3JhdGlvbiBvZiBDRlRSIGlvbiBjaGFubmVscyB0byBvdmVyIDUwJSBvZiB3aWxkLXR5cGUgbGV2ZWxzIChzaW1pbGFyIHRvIHRob3NlIGFjaGlldmVkIHZpYSBjb21iaW5hdGlvbiB0cmVhdG1lbnQgd2l0aCBlbGV4YWNhZnRvciwgdGV6YWNhZnRvciBhbmQgaXZhY2FmdG9yKSBpbiBwcmltYXJ5IGFpcndheSBjZWxscy4gT3VyIGZpbmRpbmdzIHN1cHBvcnQgdGhlIGZlYXNpYmlsaXR5IG9mIGEgZHVyYWJsZSBvbmUtdGltZSB0cmVhdG1lbnQgZm9yIENGLn0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9YCxcbiAgYEBhcnRpY2xle1lhbl9PeWxlci1DYXN0cmlsbG9fUmF2aXNhbmthcl9XYXJkX0xldmVzcXVlX0ppbmdfU2ltcHNvbl9aaGFvX0xpX1lhbl8yMDI0LFxuICAgIHRpdGxlICAgICAgICA9IHtJbXByb3ZpbmcgcHJpbWUgZWRpdGluZyB3aXRoIGFuIGVuZG9nZW5vdXMgc21hbGwgUk5BLWJpbmRpbmcgcHJvdGVpbn0sXG4gICAgYXV0aG9yICAgICAgID0ge1lhbiwgSnVuIGFuZCBPeWxlci1DYXN0cmlsbG8sIFBhdWwgYW5kIFJhdmlzYW5rYXIsIFB1cm5pbWEgYW5kIFdhcmQsIENhcmwgQy4gYW5kIExldmVzcXVlLCBTXHUwMEU5YmFzdGllbiBhbmQgSmluZywgWWFuZ3dvZGUgYW5kIFNpbXBzb24sIERhbm55IGFuZCBaaGFvLCBBbnFpIGFuZCBMaSwgSHVpIGFuZCBZYW4sIFdlaWhhbyBhbmQgR291ZHksIExhaW5lIGFuZCBTY2htaWR0LCBSYWxmIGFuZCBTb2xsZXksIFNhYnJpbmEgQy4gYW5kIEdpbGJlcnQsIEx1a2UgQS4gYW5kIENoYW4sIE1pY2hlbGxlIE0uIGFuZCBCYXVlciwgRGFuaWVsIEUuIGFuZCBNYXJzb24sIEFsZXhhbmRlciBhbmQgUGFyc29ucywgTGFuY2UgUi4gYW5kIEFkYW1zb24sIEJyaXR0fSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDI0LFxuICAgIG1vbnRoICAgICAgICA9IGFwcixcbiAgICBqb3VybmFsICAgICAgPSB7TmF0dXJlfSxcbiAgICB2b2x1bWUgICAgICAgPSA2MjgsXG4gICAgbnVtYmVyICAgICAgID0gODAwOCxcbiAgICBwYWdlcyAgICAgICAgPSB7NjM5XHUyMDEzNjQ3fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAzOC9zNDE1ODYtMDI0LTA3MjU5LTZ9LFxuICAgIGlzc24gICAgICAgICA9IHswMDI4LTA4MzYsIDE0NzYtNDY4N30sXG4gICAgYWJzdHJhY3Rub3RlID0ge0Fic3RyYWN0ICAgICAgICAgICAgICAgICAgICAgICAgICBQcmltZSBlZGl0aW5nIGVuYWJsZXMgdGhlIHByZWNpc2UgbW9kaWZpY2F0aW9uIG9mIGdlbm9tZXMgdGhyb3VnaCByZXZlcnNlIHRyYW5zY3JpcHRpb24gb2YgdGVtcGxhdGUgc2VxdWVuY2VzIGFwcGVuZGVkIHRvIHRoZSAzXHUyMDMyIGVuZHMgb2YgQ1JJU1BSXHUyMDEzQ2FzIGd1aWRlIFJOQXMgICAgICAgICAgICAgIDEgICAgICAgICAgICAgIC4gVG8gaWRlbnRpZnkgY2VsbHVsYXIgZGV0ZXJtaW5hbnRzIG9mIHByaW1lIGVkaXRpbmcsIHdlIGRldmVsb3BlZCBzY2FsYWJsZSBwcmltZSBlZGl0aW5nIHJlcG9ydGVycyBhbmQgcGVyZm9ybWVkIGdlbm9tZS1zY2FsZSBDUklTUFItaW50ZXJmZXJlbmNlIHNjcmVlbnMuIEZyb20gdGhlc2Ugc2NyZWVucywgYSBzaW5nbGUgZmFjdG9yIGVtZXJnZWQgYXMgdGhlIHN0cm9uZ2VzdCBtZWRpYXRvciBvZiBwcmltZSBlZGl0aW5nOiB0aGUgc21hbGwgUk5BLWJpbmRpbmcgZXhvbnVjbGVhc2UgcHJvdGVjdGlvbiBmYWN0b3IgTGEuIEZ1cnRoZXIgaW52ZXN0aWdhdGlvbiByZXZlYWxlZCB0aGF0IExhIHByb21vdGVzIHByaW1lIGVkaXRpbmcgYWNyb3NzIGFwcHJvYWNoZXMgKFBFMiwgUEUzLCBQRTQgYW5kIFBFNSksIGVkaXQgdHlwZXMgKHN1YnN0aXR1dGlvbnMsIGluc2VydGlvbnMgYW5kIGRlbGV0aW9ucyksIGVuZG9nZW5vdXMgbG9jaSBhbmQgY2VsbCB0eXBlcyBidXQgaGFzIG5vIGNvbnNpc3RlbnQgZWZmZWN0IG9uIGdlbm9tZS1lZGl0aW5nIGFwcHJvYWNoZXMgdGhhdCByZWx5IG9uIHN0YW5kYXJkLCB1bmV4dGVuZGVkIGd1aWRlIFJOQXMuIFByZXZpb3VzIHdvcmsgaGFzIHNob3duIHRoYXQgTGEgYmluZHMgcG9seXVyaWRpbmUgdHJhY3RzIGF0IHRoZSAzXHUyMDMyIGVuZHMgb2YgUk5BIHBvbHltZXJhc2VcdTIwMDlJSUkgdHJhbnNjcmlwdHMgICAgICAgICAgICAgIDIgICAgICAgICAgICAgIC4gV2UgZm91bmQgdGhhdCBMYSBmdW5jdGlvbmFsbHkgaW50ZXJhY3RzIHdpdGggdGhlIDNcdTIwMzIgZW5kcyBvZiBwb2x5dXJpZHlsYXRlZCBwcmltZSBlZGl0aW5nIGd1aWRlIFJOQXMgKHBlZ1JOQXMpLiBHdWlkZWQgYnkgdGhlc2UgcmVzdWx0cywgd2UgZGV2ZWxvcGVkIGEgcHJpbWUgZWRpdG9yIHByb3RlaW4gKFBFNykgZnVzZWQgdG8gdGhlIFJOQS1iaW5kaW5nLCBOLXRlcm1pbmFsIGRvbWFpbiBvZiBMYS4gVGhpcyBlZGl0b3IgaW1wcm92ZWQgcHJpbWUgZWRpdGluZyB3aXRoIGV4cHJlc3NlZCBwZWdSTkFzIGFuZCBlbmdpbmVlcmVkIHBlZ1JOQXMgKGVwZWdSTkFzKSwgYXMgd2VsbCBhcyB3aXRoIHN5bnRoZXRpYyBwZWdSTkFzIG9wdGltaXplZCBmb3IgTGEgYmluZGluZy4gVG9nZXRoZXIsIG91ciByZXN1bHRzIHByb3ZpZGUga2V5IGluc2lnaHRzIGludG8gaG93IHByaW1lIGVkaXRpbmcgY29tcG9uZW50cyBpbnRlcmFjdCB3aXRoIHRoZSBjZWxsdWxhciBlbnZpcm9ubWVudCBhbmQgc3VnZ2VzdCBnZW5lcmFsIHN0cmF0ZWdpZXMgZm9yIHN0YWJpbGl6aW5nIGV4b2dlbm91cyBzbWFsbCBSTkFzIHRoZXJlaW4ufSxcbiAgICBsYW5ndWFnZSAgICAgPSB7ZW59XG4gIH1gLFxuICBgQGFydGljbGV7U2ltb24sXG4gICAgdGl0bGUgICAgICAgID0ge1BFQVIsIGEgZmxleGlibGUgZmx1b3Jlc2NlbnQgcmVwb3J0ZXIgZm9yIHRoZSBpZGVudGlmaWNhdGlvbiBhbmQgZW5yaWNobWVudCBvZiBzdWNjZXNzZnVsbHkgcHJpbWUgZWRpdGVkIGNlbGxzfSxcbiAgICBhdXRob3IgICAgICAgPSB7U2ltb24sIERvcm90dHlhIEFubmEgYW5kIFRcdTAwRTFsYXMsIEFuZHJcdTAwRTFzIGFuZCBLdWxjc1x1MDBFMXIsIFBcdTAwRTl0ZXIgSXN0dlx1MDBFMW4gYW5kIEJpY3pcdTAwRjNrLCBac3V6c2FubmEgYW5kIEtyYXVzeiwgU2FyYWggTGF1cmEgYW5kIFZcdTAwRTFyYWR5LCBHeVx1MDBGNnJneSBhbmQgV2Vsa2VyLCBFcnZpbn0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMixcbiAgICBtb250aCAgICAgICAgPSBmZWIsXG4gICAgam91cm5hbCAgICAgID0ge2VMaWZlfSxcbiAgICBwdWJsaXNoZXIgICAgPSB7ZUxpZmUgU2NpZW5jZXMgUHVibGljYXRpb25zLCBMdGR9LFxuICAgIHZvbHVtZSAgICAgICA9IDExLFxuICAgIGRvaSAgICAgICAgICA9IHsxMC43NTU0L2VMaWZlLjY5NTA0fSxcbiAgICBpc3NuICAgICAgICAgPSB7MjA1MC0wODRYfSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7UHJpbWUgZWRpdGluZyBpcyBhIHJlY2VudGx5IGRldmVsb3BlZCBDUklTUFIvQ2FzOSBiYXNlZCBnZW5lIGVuZ2luZWVyaW5nIHRvb2wgdGhhdCBhbGxvd3MgdGhlIGludHJvZHVjdGlvbiBvZiBzaG9ydCBpbnNlcnRpb25zLCBkZWxldGlvbnMsIGFuZCBzdWJzdGl0dXRpb25zIGludG8gdGhlIGdlbm9tZS4gSG93ZXZlciwgdGhlIGVmZmljaWVuY3kgb2YgcHJpbWUgZWRpdGluZywgd2hpY2ggdHlwaWNhbGx5IGFjaGlldmVzIGVkaXRpbmcgcmF0ZXMgb2YgYXJvdW5kIDEwJVx1MjAxMzMwJSwgaGFzIG5vdCBtYXRjaGVkIGl0cyB2ZXJzYXRpbGl0eS4gSGVyZSwgd2UgaW50cm9kdWNlIHRoZSBwcmltZSBlZGl0b3IgYWN0aXZpdHkgcmVwb3J0ZXIgKFBFQVIpLCBhIHNlbnNpdGl2ZSBmbHVvcmVzY2VudCB0b29sIGZvciBpZGVudGlmeWluZyBzaW5nbGUgY2VsbHMgd2l0aCBwcmltZSBlZGl0aW5nIGFjdGl2aXR5LiBQRUFSIGhhcyBubyBiYWNrZ3JvdW5kIGZsdW9yZXNjZW5jZSBhbmQgc3BlY2lmaWNhbGx5IGluZGljYXRlcyBwcmltZSBlZGl0aW5nIGV2ZW50cy4gSXRzIGRlc2lnbiBwcm92aWRlcyBhcHBhcmVudGx5IHVubGltaXRlZCBmbGV4aWJpbGl0eSBmb3Igc2VxdWVuY2UgdmFyaWF0aW9uIGFsb25nIHRoZSBlbnRpcmUgbGVuZ3RoIG9mIHRoZSBzcGFjZXIgc2VxdWVuY2UsIG1ha2luZyBpdCB1bmlxdWVseSBzdWl0ZWQgZm9yIHN5c3RlbWF0aWMgaW52ZXN0aWdhdGlvbiBvZiBzZXF1ZW5jZSBmZWF0dXJlcyB0aGF0IGluZmx1ZW5jZSBwcmltZSBlZGl0aW5nIGFjdGl2aXR5LiBUaGUgdXNlIG9mIFBFQVIgYXMgYW4gZW5yaWNobWVudCBtYXJrZXIgZm9yIHByaW1lIGVkaXRpbmcgY2FuIGluY3JlYXNlIHRoZSBlZGl0ZWQgcG9wdWxhdGlvbiBieSB1cCB0byA4NCUsIHRodXMgc2lnbmlmaWNhbnRseSBpbXByb3ZpbmcgdGhlIGFwcGxpY2FiaWxpdHkgb2YgcHJpbWUgZWRpdGluZyBmb3IgYmFzaWMgcmVzZWFyY2ggYW5kIGJpb3RlY2hub2xvZ2ljYWwgYXBwbGljYXRpb25zLn0sXG4gICAgZWRpdG9yICAgICAgID0ge0xhcGluYWl0ZSwgQXVkcm9uZSBhbmQgU3RhaW5pZXIsIERpZGllciBZUiBhbmQgSGFtaWx0b24sIEplbm5pZmVyIFJ9XG4gIH1gXG5dIiwgImltcG9ydCBCaWJ0ZXhQYXJzZXIgZnJvbSBcIi4uL2NvbXBvbmVudHMvbWFrZVNvdXJjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRW5nUGVnc291cmNlcygpe1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPEJpYnRleFBhcnNlciBiaWJ0ZXhTb3VyY2VzPXtiaWJ0ZXhTb3VyY2VzfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG59XG5cblxuY29uc3QgYmlidGV4U291cmNlcyA9IFtcbmBcbiAgQGFydGljbGV7Q2hvd19DaGVuX1NoZW5fQ2hlbl8yMDIxLFxuICAgIHRpdGxlICAgICAgICA9IHtBIHdlYiB0b29sIGZvciB0aGUgZGVzaWduIG9mIHByaW1lLWVkaXRpbmcgZ3VpZGUgUk5Bc30sXG4gICAgYXV0aG9yICAgICAgID0ge0Nob3csIFJ5YW4gRC4gYW5kIENoZW4sIEplbm5pZmVyIFMuIGFuZCBTaGVuLCBKb2hhbm5hIGFuZCBDaGVuLCBTaWRpfSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDIxLFxuICAgIG1vbnRoICAgICAgICA9IGZlYixcbiAgICBqb3VybmFsICAgICAgPSB7TmF0dXJlIEJpb21lZGljYWwgRW5naW5lZXJpbmd9LFxuICAgIHB1Ymxpc2hlciAgICA9IHtOYXR1cmUgUHVibGlzaGluZyBHcm91cH0sXG4gICAgdm9sdW1lICAgICAgID0gNSxcbiAgICBudW1iZXIgICAgICAgPSAyLFxuICAgIHBhZ2VzICAgICAgICA9IHsxOTBcdTIwMTMxOTR9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDM4L3M0MTU1MS0wMjAtMDA2MjItOH0sXG4gICAgaXNzbiAgICAgICAgID0gezIxNTctODQ2WH0sXG4gICAgcmlnaHRzICAgICAgID0gezIwMjAgVGhlIEF1dGhvcihzKSwgdW5kZXIgZXhjbHVzaXZlIGxpY2VuY2UgdG8gU3ByaW5nZXIgTmF0dXJlIExpbWl0ZWR9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtQcmltZSBlZGl0aW5nIGVuYWJsZXMgZGl2ZXJzZSBnZW5vbWljIGFsdGVyYXRpb25zIHRvIGJlIHdyaXR0ZW4gaW50byB0YXJnZXQgc2l0ZXMgd2l0aG91dCByZXF1aXJpbmcgZG91YmxlLXN0cmFuZCBicmVha3Mgb3IgZG9ub3IgdGVtcGxhdGVzLiBUaGUgZGVzaWduIG9mIHByaW1lLWVkaXRpbmcgZ3VpZGUgUk5BcyAocGVnUk5BcyksIHdoaWNoIG11c3QgYmUgY3VzdG9taXplZCBmb3IgZWFjaCBlZGl0LCBjYW4gaG93ZXZlciBiZSBjb21wbGV4IGFuZCB0aW1lIGNvbnN1bWluZy4gQ29tcGFyZWQgd2l0aCBzaW5nbGUgZ3VpZGUgUk5BcyAoc2dSTkFzKSwgcGVnUk5BcyBoYXZlIGFuIGFkZGl0aW9uYWwgM1x1MjAzMiBleHRlbnNpb24gY29tcG9zZWQgb2YgYSBwcmltZXIgYmluZGluZyBzaXRlIGFuZCBhIHJldmVyc2UtdHJhbnNjcmlwdGlvbiB0ZW1wbGF0ZS4gSGVyZSB3ZSByZXBvcnQgYSB3ZWIgdG9vbCwgd2hpY2ggd2UgbmFtZWQgcGVnRmluZGVyIChodHRwOi8vcGVnZmluZGVyLnNpZGljaGVubGFiLm9yZyksIGZvciB0aGUgcmFwaWQgZGVzaWduIG9mIHBlZ1JOQXMgZnJvbSByZWZlcmVuY2UgYW5kIGVkaXRlZCBETkEgc2VxdWVuY2VzLiBwZWdGaW5kZXIgY2FuIGluY29ycG9yYXRlIHNnUk5BIG9uLXRhcmdldCBhbmQgb2ZmLXRhcmdldCBzY29yaW5nIHByZWRpY3Rpb25zIGludG8gaXRzIHJhbmtpbmcgc3lzdGVtLCBhbmQgbm9taW5hdGVzIHNlY29uZGFyeSBuaWNraW5nIHNnUk5BcyBmb3IgaW5jcmVhc2luZyBlZGl0aW5nIGVmZmljaWVuY3kuIENSSVNQUi1hc3NvY2lhdGVkIHByb3RlaW4gOSB2YXJpYW50cyB3aXRoIGV4cGFuZGVkIHRhcmdldGluZyByYW5nZXMgYXJlIGFsc28gc3VwcG9ydGVkLiBUbyBmYWNpbGl0YXRlIGRvd25zdHJlYW0gZXhwZXJpbWVudGF0aW9uLCBwZWdGaW5kZXIgcHJvZHVjZXMgYSBjb21wcmVoZW5zaXZlIHRhYmxlIG9mIGNhbmRpZGF0ZSBwZWdSTkFzLCBhbG9uZyB3aXRoIG9saWdvbnVjbGVvdGlkZSBzZXF1ZW5jZXMgZm9yIGNsb25pbmcufSxcbiAgICBsYW5ndWFnZSAgICAgPSB7ZW59XG4gIH1cbmAsYFxuICBAYXJ0aWNsZXtBbnphbG9uZV9SYW5kb2xwaF9EYXZpc19Tb3VzYV9Lb2JsYW5fTGV2eV9DaGVuX1dpbHNvbl9OZXdieV9SYWd1cmFtXzIwMTksXG4gICAgdGl0bGUgICAgICAgID0ge1NlYXJjaC1hbmQtcmVwbGFjZSBnZW5vbWUgZWRpdGluZyB3aXRob3V0IGRvdWJsZS1zdHJhbmQgYnJlYWtzIG9yIGRvbm9yIEROQX0sXG4gICAgYXV0aG9yICAgICAgID0ge0FuemFsb25lLCBBbmRyZXcgVi4gYW5kIFJhbmRvbHBoLCBQZXl0b24gQi4gYW5kIERhdmlzLCBKZXNzaWUgUi4gYW5kIFNvdXNhLCBBbGV4YW5kZXIgQS4gYW5kIEtvYmxhbiwgTHVrZSBXLiBhbmQgTGV2eSwgSm9uYXRoYW4gTS4gYW5kIENoZW4sIFBldGVyIEouIGFuZCBXaWxzb24sIENocmlzdG9waGVyIGFuZCBOZXdieSwgR3JlZ29yeSBBLiBhbmQgUmFndXJhbSwgQWRpdHlhIGFuZCBMaXUsIERhdmlkIFIufSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDE5LFxuICAgIG1vbnRoICAgICAgICA9IGRlYyxcbiAgICBqb3VybmFsICAgICAgPSB7TmF0dXJlfSxcbiAgICBwdWJsaXNoZXIgICAgPSB7TmF0dXJlIFB1Ymxpc2hpbmcgR3JvdXB9LFxuICAgIHZvbHVtZSAgICAgICA9IDU3NixcbiAgICBudW1iZXIgICAgICAgPSA3Nzg1LFxuICAgIHBhZ2VzICAgICAgICA9IHsxNDlcdTIwMTMxNTd9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDM4L3M0MTU4Ni0wMTktMTcxMS00fSxcbiAgICBpc3NuICAgICAgICAgPSB7MTQ3Ni00Njg3fSxcbiAgICByaWdodHMgICAgICAgPSB7MjAxOSBUaGUgQXV0aG9yKHMpLCB1bmRlciBleGNsdXNpdmUgbGljZW5jZSB0byBTcHJpbmdlciBOYXR1cmUgTGltaXRlZH0sXG4gICAgYWJzdHJhY3Rub3RlID0ge01vc3QgZ2VuZXRpYyB2YXJpYW50cyB0aGF0IGNvbnRyaWJ1dGUgdG8gZGlzZWFzZTEgYXJlIGNoYWxsZW5naW5nIHRvIGNvcnJlY3QgZWZmaWNpZW50bHkgYW5kIHdpdGhvdXQgZXhjZXNzIGJ5cHJvZHVjdHMyXHUyMDEzNS4gSGVyZSB3ZSBkZXNjcmliZSBwcmltZSBlZGl0aW5nLCBhIHZlcnNhdGlsZSBhbmQgcHJlY2lzZSBnZW5vbWUgZWRpdGluZyBtZXRob2QgdGhhdCBkaXJlY3RseSB3cml0ZXMgbmV3IGdlbmV0aWMgaW5mb3JtYXRpb24gaW50byBhIHNwZWNpZmllZCBETkEgc2l0ZSB1c2luZyBhIGNhdGFseXRpY2FsbHkgaW1wYWlyZWQgQ2FzOSBlbmRvbnVjbGVhc2UgZnVzZWQgdG8gYW4gZW5naW5lZXJlZCByZXZlcnNlIHRyYW5zY3JpcHRhc2UsIHByb2dyYW1tZWQgd2l0aCBhIHByaW1lIGVkaXRpbmcgZ3VpZGUgUk5BIChwZWdSTkEpIHRoYXQgYm90aCBzcGVjaWZpZXMgdGhlIHRhcmdldCBzaXRlIGFuZCBlbmNvZGVzIHRoZSBkZXNpcmVkIGVkaXQuIFdlIHBlcmZvcm1lZCBtb3JlIHRoYW4gMTc1IGVkaXRzIGluIGh1bWFuIGNlbGxzLCBpbmNsdWRpbmcgdGFyZ2V0ZWQgaW5zZXJ0aW9ucywgZGVsZXRpb25zLCBhbmQgYWxsIDEyIHR5cGVzIG9mIHBvaW50IG11dGF0aW9uLCB3aXRob3V0IHJlcXVpcmluZyBkb3VibGUtc3RyYW5kIGJyZWFrcyBvciBkb25vciBETkEgdGVtcGxhdGVzLiBXZSB1c2VkIHByaW1lIGVkaXRpbmcgaW4gaHVtYW4gY2VsbHMgdG8gY29ycmVjdCwgZWZmaWNpZW50bHkgYW5kIHdpdGggZmV3IGJ5cHJvZHVjdHMsIHRoZSBwcmltYXJ5IGdlbmV0aWMgY2F1c2VzIG9mIHNpY2tsZSBjZWxsIGRpc2Vhc2UgKHJlcXVpcmluZyBhIHRyYW5zdmVyc2lvbiBpbiBIQkIpIGFuZCBUYXlcdTIwMTNTYWNocyBkaXNlYXNlIChyZXF1aXJpbmcgYSBkZWxldGlvbiBpbiBIRVhBKTsgdG8gaW5zdGFsbCBhIHByb3RlY3RpdmUgdHJhbnN2ZXJzaW9uIGluIFBSTlA7IGFuZCB0byBpbnNlcnQgdmFyaW91cyB0YWdzIGFuZCBlcGl0b3BlcyBwcmVjaXNlbHkgaW50byB0YXJnZXQgbG9jaS4gRm91ciBodW1hbiBjZWxsIGxpbmVzIGFuZCBwcmltYXJ5IHBvc3QtbWl0b3RpYyBtb3VzZSBjb3J0aWNhbCBuZXVyb25zIHN1cHBvcnQgcHJpbWUgZWRpdGluZyB3aXRoIHZhcnlpbmcgZWZmaWNpZW5jaWVzLiBQcmltZSBlZGl0aW5nIHNob3dzIGhpZ2hlciBvciBzaW1pbGFyIGVmZmljaWVuY3kgYW5kIGZld2VyIGJ5cHJvZHVjdHMgdGhhbiBob21vbG9neS1kaXJlY3RlZCByZXBhaXIsIGhhcyBjb21wbGVtZW50YXJ5IHN0cmVuZ3RocyBhbmQgd2Vha25lc3NlcyBjb21wYXJlZCB0byBiYXNlIGVkaXRpbmcsIGFuZCBpbmR1Y2VzIG11Y2ggbG93ZXIgb2ZmLXRhcmdldCBlZGl0aW5nIHRoYW4gQ2FzOSBudWNsZWFzZSBhdCBrbm93biBDYXM5IG9mZi10YXJnZXQgc2l0ZXMuIFByaW1lIGVkaXRpbmcgc3Vic3RhbnRpYWxseSBleHBhbmRzIHRoZSBzY29wZSBhbmQgY2FwYWJpbGl0aWVzIG9mIGdlbm9tZSBlZGl0aW5nLCBhbmQgaW4gcHJpbmNpcGxlIGNvdWxkIGNvcnJlY3QgdXAgdG8gODklIG9mIGtub3duIGdlbmV0aWMgdmFyaWFudHMgYXNzb2NpYXRlZCB3aXRoIGh1bWFuIGRpc2Vhc2VzLn0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9XG5gLGBcbiAgQGFydGljbGV7R2FsaWV0dGFfSGFnZ2llX1ZlcmttYW5fMjAwMSxcbiAgICB0aXRsZSAgICAgICAgPSB7R3JlZW4gZmx1b3Jlc2NlbnQgcHJvdGVpbi1iYXNlZCBoYWxpZGUgaW5kaWNhdG9ycyB3aXRoIGltcHJvdmVkIGNobG9yaWRlIGFuZCBpb2RpZGUgYWZmaW5pdGllc30sXG4gICAgYXV0aG9yICAgICAgID0ge0dhbGlldHRhLCBMdWlzIEouViBhbmQgSGFnZ2llLCBQZXRlciBNIGFuZCBWZXJrbWFuLCBBLnN9LFxuICAgIHllYXIgICAgICAgICA9IDIwMDEsXG4gICAgam91cm5hbCAgICAgID0ge0ZFQlMgTGV0dGVyc30sXG4gICAgdm9sdW1lICAgICAgID0gNDk5LFxuICAgIG51bWJlciAgICAgICA9IDMsXG4gICAgcGFnZXMgICAgICAgID0gezIyMFx1MjAxMzIyNH0sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwMTYvUzAwMTQtNTc5MygwMSkwMjU2MS0zfSxcbiAgICBpc3NuICAgICAgICAgPSB7MTg3My0zNDY4fSxcbiAgICByaWdodHMgICAgICAgPSB7RkVCUyBMZXR0ZXJzIDQ5OSAoMjAwMSkgMTg3My0zNDY4IFx1MDBBOSAyMDE1IEZlZGVyYXRpb24gb2YgRXVyb3BlYW4gQmlvY2hlbWljYWwgU29jaWV0aWVzfSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7VGhlIGdyZWVuIGZsdW9yZXNjZW50IHByb3RlaW4gWUZQLUgxNDhRIGlzIHNlbnNpdGl2ZSB0byBoYWxpZGVzIGJ5IGEgbWVjaGFuaXNtIGludm9sdmluZyBoYWxpZGUgYmluZGluZyBhbmQgYSBzaGlmdCBpbiBwSyBhLiBIb3dldmVyLCBhIGxpbWl0YXRpb24gb2YgWUZQLUgxNDhRIGlzIGl0cyBsb3cgaGFsaWRlIHNlbnNpdGl2aXR5LCB3aXRoIEsgZD4xMDAgbU0gZm9yIENsXHUyMjEyLiBJbmRpY2F0b3JzIHdpdGggaW1wcm92ZWQgc2Vuc2l0aXZpdGllcyBhcmUgbmVlZGVkIGZvciBjZWxsIHRyYW5zcG9ydCBzdHVkaWVzLCBwYXJ0aWN1bGFybHkgaW4gZHJ1ZyBkaXNjb3ZlcnkgYnkgaGlnaC10aHJvdWdocHV0IHNjcmVlbmluZywgYW5kIGZvciBtZWFzdXJlbWVudCBvZiBDbFx1MjIxMiBjb25jZW50cmF0aW9uIGluIHN1YmNlbGx1bGFyIG9yZ2FuZWxsZXMuIFlGUC1IMTQ4USBsaWJyYXJpZXMgd2VyZSBnZW5lcmF0ZWQgaW4gd2hpY2ggcGFpcnMgb2YgcmVzaWR1ZXMgaW4gdGhlIHZpY2luaXR5IG9mIHRoZSBoYWxpZGUgYmluZGluZyBzaXRlIHdlcmUgcmFuZG9tbHkgbXV0YXRlZC4gQW4gYXV0b21hdGVkIHByb2NlZHVyZSB3YXMgZGV2ZWxvcGVkIHRvIHNjcmVlbiBiYWN0ZXJpYWwgY29sb25pZXMgZm9yIGltcHJvdmVkIGhhbGlkZSBzZW5zaXRpdml0eS4gQW5hbHlzaXMgb2YgMTUzNiBjbG9uZXMgcmV2ZWFsZWQgaW1wcm92ZWQgYW5pb24gc2Vuc2l0aXZpdGllcyB3aXRoIEsgZCBkb3duIHRvIDIgbU0gZm9yIElcdTIyMTIgKEkxNTJMKSwgNDAgbU0gZm9yIENsXHUyMjEyIChWMTYzUyksIGFuZCAxMCBtTSBmb3IgTk8zIFx1MjIxMiAoSTE1MkwpLiBUaGUgYW5pb24tc2Vuc2l0aXZlIG1lY2hhbmlzbSBvZiB0aGVzZSBpbmRpY2F0b3JzIHdhcyBlc3RhYmxpc2hlZCBhbmQgdGhlaXIgdXRpbGl0eSBpbiBjZWxscyB3YXMgZGVtb25zdHJhdGVkIHVzaW5nIHRyYW5zZmVjdGVkIGNlbGxzIGV4cHJlc3NpbmcgdGhlIGN5c3RpYyBmaWJyb3NpcyB0cmFuc21lbWJyYW5lIGNvbmR1Y3RhbmNlIHJlZ3VsYXRvciBjaGxvcmlkZSBjaGFubmVsLn0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9XG5gLGBcbiAgQGFydGljbGV7QnVsY2Flbl9Lb3J0bGV2ZW5fTGl1X01hdWxlX0RyZWFub19LZWxseV9FbnNpbmNrX1RoaWVyaWVfU21pdHNfQ2ljaWFuaV8yMDI0LFxuICAgIHRpdGxlICAgICAgICA9IHtQcmltZSBlZGl0aW5nIGZ1bmN0aW9uYWxseSBjb3JyZWN0cyBjeXN0aWMgZmlicm9zaXMtY2F1c2luZyBDRlRSIG11dGF0aW9ucyBpbiBodW1hbiBvcmdhbm9pZHMgYW5kIGFpcndheSBlcGl0aGVsaWFsIGNlbGxzfSxcbiAgICBhdXRob3IgICAgICAgPSB7QnVsY2FlbiwgTWF0dGlqcyBhbmQgS29ydGxldmVuLCBQaFx1MDBFOWxpbmUgYW5kIExpdSwgUm9uYWxkIEIuIGFuZCBNYXVsZSwgR2l1bGlhIGFuZCBEcmVhbm8sIEVsaXNlIGFuZCBLZWxseSwgTWFpcmVhZCBhbmQgRW5zaW5jaywgTWFyam9sZWluIE0uIGFuZCBUaGllcmllLCBTYW0gYW5kIFNtaXRzLCBNYXhpbWUgYW5kIENpY2lhbmksIE1hdHRlbyBhbmQgSGF0dG9uLCBBdXJlbGllIGFuZCBDaGV2YWxpZXIsIEJlbm9pdCBhbmQgUmFtYWxobywgQW5hYmVsYSBTLiBhbmQgQ2FzYWRldmFsbCBpIFNvbHZhcywgWGF2aWVyIGFuZCBEZWJ5c2VyLCBaZWdlciBhbmQgVmVybWV1bGVuLCBGcmFuXHUwMEU3b2lzIGFuZCBHaWpzYmVycywgUmlrIGFuZCBTZXJtZXQtR2F1ZGVsdXMsIElzYWJlbGxlIGFuZCBDZXJlc2V0bywgQW5uYSBhbmQgQ2FybG9uLCBNYXJpYW5uZSBTLn0sXG4gICAgeWVhciAgICAgICAgID0gMjAyNCxcbiAgICBtb250aCAgICAgICAgPSBtYXksXG4gICAgam91cm5hbCAgICAgID0ge0NlbGwgUmVwb3J0cyBNZWRpY2luZX0sXG4gICAgcGFnZXMgICAgICAgID0gMTAxNTQ0LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDE2L2oueGNybS4yMDI0LjEwMTU0NH0sXG4gICAgaXNzbiAgICAgICAgID0gezI2NjYtMzc5MX0sXG4gICAgYWJzdHJhY3Rub3RlID0ge1ByaW1lIGVkaXRpbmcgaXMgYSByZWNlbnQsIENSSVNQUi1kZXJpdmVkIGdlbm9tZSBlZGl0aW5nIHRlY2hub2xvZ3kgY2FwYWJsZSBvZiBpbnRyb2R1Y2luZyBwcmVjaXNlIG51Y2xlb3RpZGUgc3Vic3RpdHV0aW9ucywgaW5zZXJ0aW9ucywgYW5kIGRlbGV0aW9ucy4gSGVyZSwgd2UgcHJlc2VudCBwcmltZSBlZGl0aW5nIGFwcHJvYWNoZXMgdG8gY29ycmVjdCBMMjI3Ui0gYW5kIE4xMzAzSy1DRlRSLCB0d28gbXV0YXRpb25zIHRoYXQgY2F1c2UgY3lzdGljIGZpYnJvc2lzIGFuZCBhcmUgbm90IGVsaWdpYmxlIGZvciBjdXJyZW50IG1hcmtldC1hcHByb3ZlZCBtb2R1bGF0b3IgdGhlcmFwaWVzLiBXZSBzaG93IHRoYXQsIHVwb24gRE5BIGNvcnJlY3Rpb24gb2YgdGhlIENGVFIgZ2VuZSwgdGhlIGNvbXBsZXggZ2x5Y29zeWxhdGlvbiwgbG9jYWxpemF0aW9uLCBhbmQsIG1vc3QgaW1wb3J0YW50bHksIGZ1bmN0aW9uIG9mIHRoZSBDRlRSIHByb3RlaW4gYXJlIHJlc3RvcmVkIGluIEhFSzI5M1QgYW5kIDE2SEJFIGNlbGwgbGluZXMuIFRoZXNlIGZpbmRpbmdzIHdlcmUgc3Vic2VxdWVudGx5IHZhbGlkYXRlZCBpbiBwYXRpZW50LWRlcml2ZWQgcmVjdGFsIG9yZ2Fub2lkcyBhbmQgaHVtYW4gbmFzYWwgZXBpdGhlbGlhbCBjZWxscy4gVGhyb3VnaCBhbmFseXNpcyBvZiBwcmVkaWN0ZWQgYW5kIGV4cGVyaW1lbnRhbGx5IGlkZW50aWZpZWQgY2FuZGlkYXRlIG9mZi10YXJnZXQgc2l0ZXMgaW4gcHJpbWFyeSBzdGVtIGNlbGxzLCB3ZSBjb25maXJtIHByZXZpb3VzIHJlcG9ydHMgb24gdGhlIGhpZ2ggcHJpbWUgZWRpdG9yIChQRSkgc3BlY2lmaWNpdHkgYW5kIGl0cyBwb3RlbnRpYWwgZm9yIGEgY3VyYXRpdmUgQ0YgZ2VuZSBlZGl0aW5nIHRoZXJhcHkuIFRvIGZhY2lsaXRhdGUgZnV0dXJlIHNjcmVlbmluZyBvZiBnZW5ldGljIHN0cmF0ZWdpZXMgaW4gYSB0cmFuc2xhdGlvbmFsIENGIG1vZGVsLCBhIG1hY2hpbmUgbGVhcm5pbmcgYWxnb3JpdGhtIHdhcyBkZXZlbG9wZWQgZm9yIGR5bmFtaWMgcXVhbnRpZmljYXRpb24gb2YgQ0ZUUiBmdW5jdGlvbiBpbiBvcmdhbm9pZHMgKERFVEVDVE9SOiBcdTIwMUNkZXRlY3Rpb24gb2YgdGFyZ2V0ZWQgZWRpdGluZyBvZiBDRlRSIGluIG9yZ2Fub2lkc1x1MjAxRCkufVxuICB9XG5gLGBcbiAgQGFydGljbGV7UmVuel9WYWxkaXZpYS1GcmFuY2lhX1NlbmRvZWxfMjAyMCxcbiAgICB0aXRsZSAgICAgICAgPSB7U29tZSBsaWtlIGl0IHRyYW5zbGF0ZWQ6IHNtYWxsIE9SRnMgaW4gdGhlIDVcdTIwMzJVVFJ9LFxuICAgIGF1dGhvciAgICAgICA9IHtSZW56LCBQZXRlciBGLiBhbmQgVmFsZGl2aWEtRnJhbmNpYSwgRmFiaW9sYSBhbmQgU2VuZG9lbCwgQXRhbWFufSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDIwLFxuICAgIG1vbnRoICAgICAgICA9IG5vdixcbiAgICBqb3VybmFsICAgICAgPSB7RXhwZXJpbWVudGFsIENlbGwgUmVzZWFyY2h9LFxuICAgIHZvbHVtZSAgICAgICA9IDM5NixcbiAgICBudW1iZXIgICAgICAgPSAxLFxuICAgIHBhZ2VzICAgICAgICA9IDExMjIyOSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAxNi9qLnlleGNyLjIwMjAuMTEyMjI5fSxcbiAgICBpc3NuICAgICAgICAgPSB7MDAxNC00ODI3fSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7VGhlIDVcdTIwMzIgdW50cmFuc2xhdGVkIHJlZ2lvbiAoNVx1MjAzMlVUUikgaXMgY3JpdGljYWwgaW4gZGV0ZXJtaW5pbmcgcG9zdC10cmFuc2NyaXB0aW9uYWwgY29udHJvbCwgd2hpY2ggaXMgcGFydGx5IG1lZGlhdGVkIGJ5IHNob3J0IHVwc3RyZWFtIG9wZW4gcmVhZGluZyBmcmFtZXMgKHVPUkZzKSBwcmVzZW50IGluIGhhbGYgb2YgbWFtbWFsaWFuIHRyYW5zY3JpcHRzLiB1T1JGcyBhcmUgZ2VuZXJhbGx5IGNvbnNpZGVyZWQgdG8gcHJvdmlkZSBmdW5jdGlvbmFsbHkgaW1wb3J0YW50IHJlcHJlc3Npb24gb2YgdGhlIG1haW4tT1JGIGJ5IGVuZ2FnaW5nIGluaXRpYXRpbmcgcmlib3NvbWVzLCBidXQgdW5kZXIgc3BlY2lmaWMgZW52aXJvbm1lbnRhbCBjb25kaXRpb25zIHN1Y2ggYXMgY2VsbHVsYXIgc3RyZXNzLCB1T1JGcyBjYW4gYmVjb21lIGVzc2VudGlhbCB0byBhY3RpdmF0ZSB0aGUgdHJhbnNsYXRpb24gb2YgdGhlIG1haW4gY29kaW5nIHNlcXVlbmNlLiBJbiBhZGRpdGlvbiwgYSBncm93aW5nIG51bWJlciBvZiB1T1JGLWVuY29kZWQgYmlvYWN0aXZlIG1pY3JvcHJvdGVpbnMgaGF2ZSBiZWVuIGRlc2NyaWJlZCwgd2hpY2ggaGF2ZSB0aGUgcG90ZW50aWFsIHRvIHNpZ25pZmljYW50bHkgaW5jcmVhc2UgY2VsbHVsYXIgcHJvdGVpbiBkaXZlcnNpdHkuIEhlcmUgd2UgcmV2aWV3IHRoZSBkaXZlcnNlIGNlbGx1bGFyIGNvbnRleHRzIGluIHdoaWNoIHVPUkZzIHBsYXkgYSBjcml0aWNhbCByb2xlIGFuZCBkaXNjdXNzIHRoZSBtb2xlY3VsYXIgbWVjaGFuaXNtcyB1bmRlcmx5aW5nIHRoZWlyIGZ1bmN0aW9uIGFuZCByZWd1bGF0aW9uLiBUaGUgcHJvZ3Jlc3Mgb3ZlciB0aGUgbGFzdCBkZWNhZGVzIGluIGRpc3NlY3RpbmcgdU9SRiBmdW5jdGlvbiBzdWdnZXN0cyB0aGF0IHRoZSA1XHUyMDMyVVRSIHJlbWFpbnMgYW4gZXhjaXRpbmcgZnJvbnRpZXIgdG93YXJkcyB1bmRlcnN0YW5kaW5nIGhvdyB0aGUgY2VsbHVsYXIgcHJvdGVvbWUgaXMgc2hhcGVkIGluIGhlYWx0aCBhbmQgZGlzZWFzZS59XG4gIH1cbmAsYFxuICBAYXJ0aWNsZXtMaWFuZ19IZV9aaGFvX1podV9IdV9MaXVfR2FvX0xpdV9aaGFuZ19RaXVfMjAyNCxcbiAgICB0aXRsZSAgICAgICAgPSB7UHJpbWUgZWRpdGluZyB1c2luZyBDUklTUFItQ2FzMTJhIGFuZCBjaXJjdWxhciBSTkFzIGluIGh1bWFuIGNlbGxzfSxcbiAgICBhdXRob3IgICAgICAgPSB7TGlhbmcsIFJvbmdob25nIGFuZCBIZSwgWml4aW4gYW5kIFpoYW8sIEtldmluIFRpYW5tZW5nIGFuZCBaaHUsIEhhb2NoZW5nIGFuZCBIdSwgSmlhY2hlbmcgYW5kIExpdSwgR3VhbndlbiBhbmQgR2FvLCBRaWFuZyBhbmQgTGl1LCBNZWl5YW4gYW5kIFpoYW5nLCBSdWkgYW5kIFFpdSwgSmluLUxvbmcgYW5kIEdhbywgQ2FpeGlhfSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDI0LFxuICAgIG1vbnRoICAgICAgICA9IGphbixcbiAgICBqb3VybmFsICAgICAgPSB7TmF0dXJlIEJpb3RlY2hub2xvZ3l9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDM4L3M0MTU4Ny0wMjMtMDIwOTUteH0sXG4gICAgaXNzbiAgICAgICAgID0gezEwODctMDE1NiwgMTU0Ni0xNjk2fSxcbiAgICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDE1ODctMDIzLTAyMDk1LXh9LFxuICAgIGxhbmd1YWdlICAgICA9IHtlbn1cbiAgfVxuYFxuXSIsICJpbXBvcnQgQmlidGV4UGFyc2VyIGZyb20gXCIuLi9jb21wb25lbnRzL21ha2VTb3VyY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEVuZ05pY2tzb3VyY2VzKCl7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8QmlidGV4UGFyc2VyIGJpYnRleFNvdXJjZXM9e2JpYnRleFNvdXJjZXN9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbn1cblxuXG5jb25zdCBiaWJ0ZXhTb3VyY2VzID0gW1xuICBgXG4gIEBhcnRpY2xle1NhaXRvX1h1X0ZhdXJlX01hZ3VpcmVfS2FubmFuX0FsdGFlLVRyYW5fVm9fRGVzaW1vbmVfTWFjcmFlX1poYW5nXzIwMjMsXG4gICAgdGl0bGUgICAgICAgID0ge0ZhbnpvciBpcyBhIGV1a2FyeW90aWMgcHJvZ3JhbW1hYmxlIFJOQS1ndWlkZWQgZW5kb251Y2xlYXNlfSxcbiAgICBhdXRob3IgICAgICAgPSB7U2FpdG8sIE1ha290byBhbmQgWHUsIFBlaXl1IGFuZCBGYXVyZSwgR3VpbGhlbSBhbmQgTWFndWlyZSwgU2FtYW50aGEgYW5kIEthbm5hbiwgU291bXlhIGFuZCBBbHRhZS1UcmFuLCBIYW4gYW5kIFZvLCBTYW0gYW5kIERlc2ltb25lLCBBbkFuIGFuZCBNYWNyYWUsIFJoaWFubm9uIEsuIGFuZCBaaGFuZywgRmVuZ30sXG4gICAgeWVhciAgICAgICAgID0gMjAyMyxcbiAgICBtb250aCAgICAgICAgPSBhdWcsXG4gICAgam91cm5hbCAgICAgID0ge05hdHVyZX0sXG4gICAgcHVibGlzaGVyICAgID0ge05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSxcbiAgICB2b2x1bWUgICAgICAgPSA2MjAsXG4gICAgbnVtYmVyICAgICAgID0gNzk3NCxcbiAgICBwYWdlcyAgICAgICAgPSB7NjYwXHUyMDEzNjY4fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAzOC9zNDE1ODYtMDIzLTA2MzU2LTJ9LFxuICAgIGlzc24gICAgICAgICA9IHsxNDc2LTQ2ODd9LFxuICAgIHJpZ2h0cyAgICAgICA9IHsyMDIzIFRoZSBBdXRob3Iocyl9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtSTkEtZ3VpZGVkIHN5c3RlbXMsIHdoaWNoIHVzZSBjb21wbGVtZW50YXJpdHkgYmV0d2VlbiBhIGd1aWRlIFJOQSBhbmQgdGFyZ2V0IG51Y2xlaWMgYWNpZCBzZXF1ZW5jZXMgZm9yIHJlY29nbml0aW9uIG9mIGdlbmV0aWMgZWxlbWVudHMsIGhhdmUgYSBjZW50cmFsIHJvbGUgaW4gYmlvbG9naWNhbCBwcm9jZXNzZXMgaW4gYm90aCBwcm9rYXJ5b3RlcyBhbmQgZXVrYXJ5b3Rlcy4gRm9yIGV4YW1wbGUsIHRoZSBwcm9rYXJ5b3RpYyBDUklTUFJcdTIwMTNDYXMgc3lzdGVtcyBwcm92aWRlIGFkYXB0aXZlIGltbXVuaXR5IGZvciBiYWN0ZXJpYSBhbmQgYXJjaGFlYSBhZ2FpbnN0IGZvcmVpZ24gZ2VuZXRpYyBlbGVtZW50cy4gQ2FzIGVmZmVjdG9ycyBzdWNoIGFzIENhczkgYW5kIENhczEyIHBlcmZvcm0gZ3VpZGUtUk5BLWRlcGVuZGVudCBETkEgY2xlYXZhZ2UxLiBBbHRob3VnaCBhIGZldyBldWthcnlvdGljIFJOQS1ndWlkZWQgc3lzdGVtcyBoYXZlIGJlZW4gc3R1ZGllZCwgaW5jbHVkaW5nIFJOQSBpbnRlcmZlcmVuY2UyIGFuZCByaWJvc29tYWwgUk5BIG1vZGlmaWNhdGlvbjMsIGl0IHJlbWFpbnMgdW5jbGVhciB3aGV0aGVyIGV1a2FyeW90ZXMgaGF2ZSBSTkEtZ3VpZGVkIGVuZG9udWNsZWFzZXMuIFJlY2VudGx5LCBhIG5ldyBjbGFzcyBvZiBwcm9rYXJ5b3RpYyBSTkEtZ3VpZGVkIHN5c3RlbXMgKHRlcm1lZCBPTUVHQSkgd2FzIHJlcG9ydGVkNCw1LiBUaGUgT01FR0EgZWZmZWN0b3IgVG5wQiBpcyB0aGUgcHV0YXRpdmUgYW5jZXN0b3Igb2YgQ2FzMTIgYW5kIGhhcyBSTkEtZ3VpZGVkIGVuZG9udWNsZWFzZSBhY3Rpdml0eTQsNi4gVG5wQiBtYXkgYWxzbyBiZSB0aGUgYW5jZXN0b3Igb2YgdGhlIGV1a2FyeW90aWMgdHJhbnNwb3Nvbi1lbmNvZGVkIEZhbnpvciAoRnopIHByb3RlaW5zNCw3LCByYWlzaW5nIHRoZSBwb3NzaWJpbGl0eSB0aGF0IGV1a2FyeW90ZXMgYXJlIGFsc28gZXF1aXBwZWQgd2l0aCBDUklTUFJcdTIwMTNDYXMgb3IgT01FR0EtbGlrZSBwcm9ncmFtbWFibGUgUk5BLWd1aWRlZCBlbmRvbnVjbGVhc2VzLiBIZXJlIHdlIHJlcG9ydCB0aGUgYmlvY2hlbWljYWwgY2hhcmFjdGVyaXphdGlvbiBvZiBGeiwgc2hvd2luZyB0aGF0IGl0IGlzIGFuIFJOQS1ndWlkZWQgRE5BIGVuZG9udWNsZWFzZS4gV2UgYWxzbyBzaG93IHRoYXQgRnogY2FuIGJlIHJlcHJvZ3JhbW1lZCBmb3IgaHVtYW4gZ2Vub21lIGVuZ2luZWVyaW5nIGFwcGxpY2F0aW9ucy4gRmluYWxseSwgd2UgcmVzb2x2ZSB0aGUgc3RydWN0dXJlIG9mIFNwaXplbGxvbXljZXMgcHVuY3RhdHVzIEZ6IGF0IDIuN1x1MjAwOVx1MDBDNSB1c2luZyBjcnlvZ2VuaWMgZWxlY3Ryb24gbWljcm9zY29weSwgc2hvd2luZyB0aGUgY29uc2VydmF0aW9uIG9mIGNvcmUgcmVnaW9ucyBhbW9uZyBGeiwgVG5wQiBhbmQgQ2FzMTIsIGRlc3BpdGUgZGl2ZXJzZSBjb2duYXRlIFJOQSBzdHJ1Y3R1cmVzLiBPdXIgcmVzdWx0cyBzaG93IHRoYXQgRnogaXMgYSBldWthcnlvdGljIE9NRUdBIHN5c3RlbSwgZGVtb25zdHJhdGluZyB0aGF0IFJOQS1ndWlkZWQgZW5kb251Y2xlYXNlcyBhcmUgcHJlc2VudCBpbiBhbGwgdGhyZWUgZG9tYWlucyBvZiBsaWZlLn0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9XG4gIGAsYFxuICBAYXJ0aWNsZXtpam1zMjUwMzE2MjIsXG4gICAgdGl0bGUgICAgICAgID0ge0FuIEVmZmljaWVudCBFeHByZXNzaW9uIGFuZCBQdXJpZmljYXRpb24gUHJvdG9jb2wgZm9yIFNwQ2FzOSBOdWNsZWFzZSBhbmQgRXZhbHVhdGlvbiBvZiBEaWZmZXJlbnQgRGVsaXZlcnkgTWV0aG9kcyBvZiBSaWJvbnVjbGVvcHJvdGVpbn0sXG4gICAgYXV0aG9yICAgICAgID0ge0V2bWVub3YsIEtvbnN0YW50aW4gYW5kIFB1c3RvZ2Fyb3YsIE5pa29sYXkgYW5kIFBhbnRlbGVldiwgRG1pdHJpIGFuZCBTYWZpbiwgQXJ0dXIgYW5kIEFsa2FsYWV2YSwgRWxlbmF9LFxuICAgIHllYXIgICAgICAgICA9IDIwMjQsXG4gICAgam91cm5hbCAgICAgID0ge0ludGVybmF0aW9uYWwgSm91cm5hbCBvZiBNb2xlY3VsYXIgU2NpZW5jZXN9LFxuICAgIHZvbHVtZSAgICAgICA9IDI1LFxuICAgIG51bWJlciAgICAgICA9IDMsXG4gICAgZG9pICAgICAgICAgID0gezEwLjMzOTAvaWptczI1MDMxNjIyfSxcbiAgICBpc3NuICAgICAgICAgPSB7MTQyMi0wMDY3fSxcbiAgICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cubWRwaS5jb20vMTQyMi0wMDY3LzI1LzMvMTYyMn0sXG4gICAgYXJ0aWNsZS1udW1iZXIgPSAxNjIyLFxuICAgIHB1Ym1lZGlkICAgICA9IDM4MzM4ODk4LFxuICAgIGFic3RyYWN0ICAgICA9IHtUaGUgQ2x1c3RlcmVkIFJlZ3VsYXJseSBJbnRlcnNwYWNlZCBTaG9ydCBQYWxpbmRyb21pYyBSZXBlYXRzIChDUklTUFIpLUNhczkgc3lzdGVtIGlzIGEgcmV2b2x1dGlvbmFyeSB0b29sIGZvciBwcmVjaXNlIGdlbm9tZSBlZGl0aW5nIGFjcm9zcyB2YXJpb3VzIGNlbGwgdHlwZXMuIFJpYm9udWNsZW9wcm90ZWlucyAoUk5QcyksIGVuY29tcGFzc2luZyB0aGUgQ2FzOSBwcm90ZWluIGFuZCBndWlkZSBSTkEgKGdSTkEpLCBoYXZlIGVtZXJnZWQgYXMgYSBwcm9taXNpbmcgdGVjaG5pcXVlIGR1ZSB0byB0aGVpciBpbmNyZWFzZWQgc3BlY2lmaWNpdHkgYW5kIHJlZHVjZWQgb2ZmLXRhcmdldCBlZmZlY3RzLiBUaGlzIG1ldGhvZCBlbGltaW5hdGVzIHRoZSBuZWVkIGZvciBwbGFzbWlkIEROQSBpbnRyb2R1Y3Rpb24sIHRoZXJlYnkgcHJldmVudGluZyBwb3RlbnRpYWwgaW50ZWdyYXRpb24gb2YgZm9yZWlnbiBETkEgaW50byB0aGUgdGFyZ2V0IGNlbGwgZ2Vub21lLiBHaXZlbiB0aGUgcmVxdWlyZW1lbnQgZm9yIGxhcmdlIHF1YW50aXRpZXMgb2YgaGlnaGx5IHB1cmlmaWVkIHByb3RlaW4gaW4gdmFyaW91cyBDYXM5IHN0dWRpZXMsIHdlIHByZXNlbnQgYW4gZWZmaWNpZW50IGFuZCBzaW1wbGUgbWV0aG9kIGZvciB0aGUgcHJlcGFyYXRpb24gb2YgcmVjb21iaW5hbnQgU3RyZXB0b2NvY2N1cyBweW9nZW5lcyBDYXM5IChTcENhczkpIHByb3RlaW4uIFRoaXMgbWV0aG9kIGxldmVyYWdlcyB0aGUgU21hbGwgVWJpcXVpdGluIExpa2UgTW9kaWZpZXIoU1VNTykgdGFnIHN5c3RlbSwgd2hpY2ggaW5jbHVkZXMgbWV0YWwtYWZmaW5pdHkgY2hyb21hdG9ncmFwaHkgZm9sbG93ZWQgYnkgYW5pb24tZXhjaGFuZ2UgY2hyb21hdG9ncmFwaHkgcHVyaWZpY2F0aW9uLiBGdXJ0aGVybW9yZSwgd2UgY29tcGFyZSB0d28gbWV0aG9kcyBvZiBDUklTUFItQ2FzOSBzeXN0ZW0gZGVsaXZlcnkgaW50byBjZWxsczogdHJhbnNmZWN0aW9uIHdpdGggcGxhc21pZCBETkEgZW5jb2RpbmcgdGhlIENSSVNQUi1DYXM5IHN5c3RlbSBhbmQgUk5QIHRyYW5zZmVjdGlvbiB3aXRoIHRoZSBDYXM5LWdSTkEgY29tcGxleC4gV2UgZXN0aW1hdGUgdGhlIGVmZmljaWVuY3kgb2YgZ2Vub21pYyBlZGl0aW5nIGFuZCBwcm90ZWluIGxpZmVzcGFuIHBvc3QtdHJhbnNmZWN0aW9uLiBJbnRyaWd1aW5nbHksIHdlIGZvdW5kIHRoYXQgUk5QIHRyZWF0bWVudCBvZiBjZWxscywgZXZlbiBpbiB0aGUgYWJzZW5jZSBvZiBhIHRyYW5zZmVjdGlvbiBzeXN0ZW0sIGlzIGEgcmVsYXRpdmVseSBlZmZpY2llbnQgbWV0aG9kIGZvciBSTlAgZGVsaXZlcnkgaW50byBjZWxsIGN1bHR1cmUuIFRoaXMgZGlzY292ZXJ5IGlzIHBhcnRpY3VsYXJseSBwcm9taXNpbmcgYXMgaXQgY2FuIHNpZ25pZmljYW50bHkgcmVkdWNlIGN5dG90b3hpY2l0eSwgd2hpY2ggaXMgY3J1Y2lhbCBmb3IgY2VydGFpbiBjZWxsIGN1bHR1cmVzIHN1Y2ggYXMgaW5kdWNlZCBwbHVyaXBvdGVudCBzdGVtIGNlbGxzIChpUFNDcykufVxuICB9XG4gIGAsYFxuICBAYXJ0aWNsZXtIaWxsYXJ5MjAyM1JldmlldyxcbiAgICB0aXRsZSAgICAgICAgPSB7QSBSZXZpZXcgb24gdGhlIE1lY2hhbmlzbSBhbmQgQXBwbGljYXRpb25zIG9mIENSSVNQUi9DYXM5L0NhczEyL0NhczEzL0NhczE0IFByb3RlaW5zIFV0aWxpemVkIGZvciBHZW5vbWUgRW5naW5lZXJpbmd9LFxuICAgIGF1dGhvciAgICAgICA9IHtIaWxsYXJ5LCBWLiBFLiBhbmQgQ2Vhc2FyLCBTLiBBLn0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMyxcbiAgICBqb3VybmFsICAgICAgPSB7TW9sZWN1bGFyIEJpb3RlY2hub2xvZ3l9LFxuICAgIHZvbHVtZSAgICAgICA9IDY1LFxuICAgIHBhZ2VzICAgICAgICA9IHszMTEtLTMyNX0sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwMDcvczEyMDMzLTAyMi0wMDU2Ny0wfVxuICB9XG4gIGAsYFxuICBAYXJ0aWNsZXsxMC4zMzg5L2ZnZWVkLjIwMjQuMTQ3MTcyMCxcbiAgICB0aXRsZSAgICAgICAgPSB7VXNlIG9mIHBhaXJlZCBDYXM5LU5HIG5pY2thc2UgYW5kIHRydW5jYXRlZCBzZ1JOQXMgZm9yIHNpbmdsZS1udWNsZW90aWRlIG1pY3JvYmlhbCBnZW5vbWUgZWRpdGluZ30sXG4gICAgYXV0aG9yICAgICAgID0ge0plb25nLCBTb25nIEhlZSAgYW5kIExlZSwgSG8gSm91bmcgIGFuZCBMZWUsIFNhbmcgSnVufSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDI0LFxuICAgIGpvdXJuYWwgICAgICA9IHtGcm9udGllcnMgaW4gR2Vub21lIEVkaXRpbmd9LFxuICAgIHZvbHVtZSAgICAgICA9IDYsXG4gICAgZG9pICAgICAgICAgID0gezEwLjMzODkvZmdlZWQuMjAyNC4xNDcxNzIwfSxcbiAgICBpc3NuICAgICAgICAgPSB7MjY3My0zNDM5fSxcbiAgICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cuZnJvbnRpZXJzaW4ub3JnL2pvdXJuYWxzL2dlbm9tZS1lZGl0aW5nL2FydGljbGVzLzEwLjMzODkvZmdlZWQuMjAyNC4xNDcxNzIwfSxcbiAgICBhYnN0cmFjdCAgICAgPSB7PHA+VGhlIHBhaXJlZCBuaWNrYXNlcyBhcHByb2FjaCwgd2hpY2ggdXRpbGl6ZXMgY2x1c3RlcmVkIHJlZ3VsYXJseSBpbnRlcnNwYWNlZCBzaG9ydCBwYWxpbmRyb21pYyByZXBlYXRzIChDUklTUFIpLUNSSVNQUi1hc3NvY2lhdGVkIHByb3RlaW5zIChDYXMpIG5pY2thc2UgYW5kIGR1YWwgZ3VpZGUgUk5BLCBoYXMgdGhlIGFkdmFudGFnZSBvZiByZWR1Y2luZyBvZmYtdGFyZ2V0IGVmZmVjdHMgYnkgYmVpbmcgYWJsZSB0byBkb3VibGUgdGhlIHRhcmdldCBzZXF1ZW5jZS4gSW4gdGhpcyBzdHVkeSwgb3VyIHJlc2VhcmNoIHV0aWxpemVkIHRoZSBDYXM5LU5HIG5pY2thc2UgdmFyaWFudCB0byBtaW5pbWl6ZSBQQU0gc2VxdWVuY2UgY29uc3RyYWludHMsIGVuYWJsaW5nIHRoZSBnZW5lcmF0aW9uIG9mIHBhaXJlZCBuaWNrcyBhdCBkZXNpcmVkIGdlbm9taWMgbG9jaS4gV2UgcGVyZm9ybWVkIGEgc3lzdGVtYXRpYyBpbnZlc3RpZ2F0aW9uIGludG8gdGhlIGZvcm1hdGlvbiBzaXRlcyBmb3IgZG91YmxlIG5pY2tzIGFuZCB0aGUgZGVzaWduIG9mIGRvbm9yIEROQSB3aXRoaW4gYSBiYWN0ZXJpYWwgbW9kZWwgc3lzdGVtLiBBbHRob3VnaCB3ZSBzdWNjZXNzZnVsbHkgaWRlbnRpZmllZCB0aGUgY29uZGl0aW9ucyBuZWNlc3NhcnkgZm9yIHRoZSBlZmZlY3RpdmUgZm9ybWF0aW9uIG9mIGRvdWJsZSBuaWNrcyA8aXRhbGljPmluIHZpdm88L2l0YWxpYz4sIGFjaGlldmluZyBzaW5nbGUtbnVjbGVvdGlkZSBsZXZlbCBlZGl0aW5nIGRpcmVjdGx5IGF0IHRoZSB0YXJnZXQgc2l0ZXMgaW4gdGhlIGdlbm9tZSBwcm92ZWQgY2hhbGxlbmdpbmcuIE5vbmV0aGVsZXNzLCBvdXIgZXhwZXJpbWVudHMgcmV2ZWFsZWQgdGhhdCBlZmZpY2llbnQgZWRpdGluZyBhdCB0aGUgc2luZ2xlLW51Y2xlb3RpZGUgbGV2ZWwgd2FzIGFjaGlldmFibGUgb24gdGFyZ2V0IEROQSBzZXF1ZW5jZXMgdGhhdCBhcmUgaHlicmlkaXplZCB3aXRoIDVcdTIwMzItZW5kLXRydW5jYXRlZCBkdWFsIHNpbmdsZS1ndWlkZSBSTkFzIChzZ1JOQXMpLiBPdXIgZmluZGluZ3MgY29udHJpYnV0ZSB0byBhIGRlZXBlciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBwYWlyZWQgbmlja2FzZXMgYXBwcm9hY2gsIG9mZmVyaW5nIGEgc2luZ2xlLW1pc21hdGNoIGludG9sZXJhbmNlIGRlc2lnbiBzdHJhdGVneSBmb3IgYWNjdXJhdGUgbnVjbGVvdGlkZSBlZGl0aW5nLiBUaGlzIHN0cmF0ZWd5IG5vdCBvbmx5IGVuaGFuY2VzIHRoZSBwcmVjaXNpb24gb2YgZ2Vub21lIGVkaXRpbmcgYnV0IGFsc28gbWFya3MgYSBzaWduaWZpY2FudCBzdGVwIGZvcndhcmQgaW4gdGhlIGRldmVsb3BtZW50IG9mIG5pY2thc2UtZGVyaXZlZCBnZW5vbWUgZWRpdGluZyB0ZWNobm9sb2dpZXMuPC9wPn1cbiAgfVxuICBgLGBcbiAgQGFydGljbGV7QmFkb24yMDI0Q1JJU1BSLFxuXHR0aXRsZSAgICAgICAgPSB7UmVjZW50IGFwcGxpY2F0aW9uIG9mIENSSVNQUi1DYXMxMiBhbmQgT01FR0Egc3lzdGVtIGZvciBnZW5vbWUgZWRpdGluZ30sXG5cdGF1dGhvciAgICAgICA9IHtCYWRvbiwgSXNhYmVsIFdlbiBhbmQgT2gsIFllb25zdW4gYW5kIEtpbSwgSG8tSm9vbmcgYW5kIExlZSwgU2V1bmcgSHdhbn0sXG5cdHllYXIgICAgICAgICA9IDIwMjQsXG5cdG1vbnRoICAgICAgICA9IHtKYW51YXJ5fSxcblx0am91cm5hbCAgICAgID0ge01vbGVjdWxhciBUaGVyYXB5fSxcblx0dm9sdW1lICAgICAgID0gMzIsXG5cdG51bWJlciAgICAgICA9IDEsXG5cdHBhZ2VzICAgICAgICA9IHszMi0tNDN9LFxuXHRkb2kgICAgICAgICAgPSB7MTAuMTAxNi9qLnltdGhlLjIwMjMuMTEuMDEzfSxcblx0dXJsICAgICAgICAgID0ge2h0dHBzOi8vd3d3LmNlbGwuY29tL21vbGVjdWxhci10aGVyYXB5L2Z1bGx0ZXh0L1MxNTI1LTAwMTYoMjMpMDAxMTMtMn1cbiAgfVxuICBgLGBcbiAgQGFydGljbGV7S2ltMjAyNE5pY2tpbmcsXG5cdHRpdGxlICAgICAgICA9IHtVdGlsaXphdGlvbiBvZiBuaWNraW5nIHByb3BlcnRpZXMgb2YgQ1JJU1BSLUNhczEyYSBlZmZlY3RvciBmb3IgZ2Vub21lIGVkaXRpbmd9LFxuXHRhdXRob3IgICAgICAgPSB7S2ltLCBDaGFuIEh5b3VuZyBhbmQgTGVlLCBXaS1qYWUgYW5kIE9oLCBZZW9uc3VuIGFuZCBMZWUsIFlvdW5namVvbiBhbmQgTGVlLCBIeW9taW4gSy4gYW5kIFNlb25nLCBKdW5nIEJhZSBhbmQgTGltLCBLeXVuZy1TZW9iIGFuZCBQYXJrLCBTYW5nIEplIGFuZCBIdWgsIEphZS1Xb24gYW5kIEtpbSwgWW91bmctSHl1biBhbmQgS2ltLCBLeW91bmcgTWkgYW5kIEh1ciwgSnVuaG8gSy4gYW5kIExlZSwgU2V1bmcgSHdhbn0sXG5cdHllYXIgICAgICAgICA9IDIwMjQsXG5cdG1vbnRoICAgICAgICA9IHtGZWJydWFyeX0sXG5cdGpvdXJuYWwgICAgICA9IHtTY2llbnRpZmljIFJlcG9ydHN9LFxuXHR2b2x1bWUgICAgICAgPSAxNCxcblx0cGFnZXMgICAgICAgID0gMzM1Mixcblx0ZG9pICAgICAgICAgID0gezEwLjEwMzgvczQxNTk4LTAyNC01MzY0OC0yfSxcblx0aXNzbiAgICAgICAgID0gezIwNDUtMjMyMn0sXG5cdHVybCAgICAgICAgICA9IHtodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3BtYy9hcnRpY2xlcy9QTUMxMDg1ODE5NX0sXG5cdHBtaWQgICAgICAgICA9IDM4MzM2OTc3LFxuXHRwbWNpZCAgICAgICAgPSB7UE1DMTA4NTgxOTV9XG4gIH1cbiAgYFxuXSIsICJpbXBvcnQgQmlidGV4UGFyc2VyIGZyb20gXCIuLi9jb21wb25lbnRzL21ha2VTb3VyY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEVuZ0RlbHNvdXJjZXMoKXtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCaWJ0ZXhQYXJzZXIgYmlidGV4U291cmNlcz17YmlidGV4U291cmNlc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xufVxuXG5cbmNvbnN0IGJpYnRleFNvdXJjZXMgPSBbXG4gIGBcbiAgQGFydGljbGV7VEFIQTIwMjIzNDUsXG4gICAgdGl0bGUgICAgICAgID0ge0RlbGl2ZXJ5IG9mIENSSVNQUi1DYXMgdG9vbHMgZm9yIGluIHZpdm8gZ2Vub21lIGVkaXRpbmcgdGhlcmFweTogVHJlbmRzIGFuZCBjaGFsbGVuZ2VzfSxcbiAgICBhdXRob3IgICAgICAgPSB7RW1hbiBBLiBUYWhhIGFuZCBKb3NlcGggTGVlIGFuZCBBa2l0c3UgSG90dGF9LFxuICAgIHllYXIgICAgICAgICA9IDIwMjIsXG4gICAgam91cm5hbCAgICAgID0ge0pvdXJuYWwgb2YgQ29udHJvbGxlZCBSZWxlYXNlfSxcbiAgICB2b2x1bWUgICAgICAgPSAzNDIsXG4gICAgcGFnZXMgICAgICAgID0gezM0NS0tMzYxfSxcbiAgICBkb2kgICAgICAgICAgPSB7aHR0cHM6Ly9kb2kub3JnLzEwLjEwMTYvai5qY29ucmVsLjIwMjIuMDEuMDEzfSxcbiAgICBpc3NuICAgICAgICAgPSB7MDE2OC0zNjU5fSxcbiAgICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMDE2ODM2NTkyMjAwMDI3WH0sXG4gICAga2V5d29yZHMgICAgID0ge0NSSVNQUi1DYXMsIERlbGl2ZXJ5LCBBQVYsIFZpcnVzLWxpa2UgcGFydGljbGUsIExpcGlkIG5hbm9wYXJ0aWNsZSwgR2VuZSB0aGVyYXB5fSxcbiAgICBhYnN0cmFjdCAgICAgPSB7VGhlIGRpc2NvdmVyeSBvZiBjbHVzdGVyZWQgcmVndWxhcmx5IGludGVyc3BhY2VkIHNob3J0IHBhbGluZHJvbWljIHJlcGVhdHMgKENSSVNQUikgZ2Vub21lIGVkaXRpbmcgdGVjaG5vbG9neSBvcGVuZWQgdGhlIGRvb3IgdG8gcHJvdmlkZSBhIHZlcnNhdGlsZSBhcHByb2FjaCBmb3IgdHJlYXRpbmcgbXVsdGlwbGUgZGlzZWFzZXMuIFByb21pc2luZyByZXN1bHRzIGhhdmUgYmVlbiBzaG93biBpbiBudW1lcm91cyBwcmUtY2xpbmljYWwgc3R1ZGllcyBhbmQgY2xpbmljYWwgdHJpYWxzLiBIb3dldmVyLCBhIHNhZmUgYW5kIGVmZmVjdGl2ZSBtZXRob2QgdG8gZGVsaXZlciBnZW5vbWUtZWRpdGluZyBjb21wb25lbnRzIGlzIHN0aWxsIGEga2V5IGNoYWxsZW5nZSBmb3IgaW4gdml2byBnZW5vbWUgZWRpdGluZyB0aGVyYXB5LiBBZGVuby1hc3NvY2lhdGVkIHZpcnVzIChBQVYpIGlzIG9uZSBvZiB0aGUgbW9zdCBjb21tb25seSB1c2VkIHZlY3RvciBzeXN0ZW1zIHRvIGRhdGUsIGJ1dCBpbW11bm9nZW5pY2l0eSBhZ2FpbnN0IGNhcHNpZCwgbGl2ZXIgdG94aWNpdHkgYXQgaGlnaCBkb3NlLCBhbmQgcG90ZW50aWFsIGdlbm90b3hpY2l0eSBjYXVzZWQgYnkgb2ZmLXRhcmdldCBtdXRhZ2VuZXNpcyBhbmQgZ2Vub21pYyBpbnRlZ3JhdGlvbiByZW1haW4gdW5zb2x2ZWQuIFJlY2VudGx5IGRldmVsb3BlZCB0cmFuc2llbnQgZGVsaXZlcnkgc3lzdGVtcywgc3VjaCBhcyB2aXJ1cy1saWtlIHBhcnRpY2xlIChWTFApIGFuZCBsaXBpZCBuYW5vcGFydGljbGUgKExOUCksIG1heSBzb2x2ZSBzb21lIG9mIHRoZSBpc3N1ZXMuIFRoaXMgcmV2aWV3IHN1bW1hcml6ZXMgZXhpc3RpbmcgaW4gdml2byBkZWxpdmVyeSBzeXN0ZW1zIGFuZCBwb3NzaWJsZSBzb2x1dGlvbnMgdG8gb3ZlcmNvbWUgdGhlaXIgbGltaXRhdGlvbnMuIEFsc28sIHdlIGhpZ2hsaWdodCB0aGUgb25nb2luZyBjbGluaWNhbCB0cmlhbHMgZm9yIGluIHZpdm8gZ2Vub21lIGVkaXRpbmcgdGhlcmFweSBhbmQgcmVjZW50bHkgZGV2ZWxvcGVkIGdlbm9tZSBlZGl0aW5nIHRvb2xzIGZvciB0aGVpciBwb3RlbnRpYWwgYXBwbGljYXRpb25zLn1cbiAgfVxuICBgLGBcbiAgQGFydGljbGV7dmVybWFfbGFuZHNjYXBlXzIwMjMsXG4gICAgdGl0bGUgICAgICAgID0ge1RoZSBsYW5kc2NhcGUgZm9yIGxpcGlkLW5hbm9wYXJ0aWNsZS1iYXNlZCBnZW5vbWljIG1lZGljaW5lc30sXG4gICAgYXV0aG9yICAgICAgID0ge1Zlcm1hLCBNYWx2aWthIGFuZCBPemVyLCBJbXJhbiBhbmQgWGllLCBXZW4gYW5kIEdhbGxhZ2hlciwgUnlhbiBhbmQgVGVpeGVpcmEsIEFsZXhhbmRyYSBhbmQgQ2hveSwgTWljaGFlbH0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMyxcbiAgICBtb250aCAgICAgICAgPSBtYXksXG4gICAgam91cm5hbCAgICAgID0ge05hdHVyZSBSZXZpZXdzIERydWcgRGlzY292ZXJ5fSxcbiAgICB2b2x1bWUgICAgICAgPSAyMixcbiAgICBudW1iZXIgICAgICAgPSA1LFxuICAgIHBhZ2VzICAgICAgICA9IHszNDktLTM1MH0sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwMzgvZDQxNTczLTAyMy0wMDAwMi0yfSxcbiAgICBpc3NuICAgICAgICAgPSB7MTQ3NC0xNzc2LCAxNDc0LTE3ODR9LFxuICAgIHVybCAgICAgICAgICA9IHtodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL2Q0MTU3My0wMjMtMDAwMDItMn0sXG4gICAgdXJsZGF0ZSAgICAgID0gezIwMjQtMDktMTZ9LFxuICAgIGNvcHlyaWdodCAgICA9IHtodHRwczovL3d3dy5zcHJpbmdlcm5hdHVyZS5jb20vZ3AvcmVzZWFyY2hlcnMvdGV4dC1hbmQtZGF0YS1taW5pbmd9LFxuICAgIGxhbmd1YWdlICAgICA9IHtlbn0sXG4gICAgZmlsZSAgICAgICAgID0ge1Zlcm1hIGV0IGFsLiAtIDIwMjMgLSBUaGUgbGFuZHNjYXBlIGZvciBsaXBpZC1uYW5vcGFydGljbGUtYmFzZWQgZ2Vub21pYy5wZGY6Q1xcOlxcXFxVc2Vyc1xcXFxJc2FiZWxsXFxcXFpvdGVyb1xcXFxzdG9yYWdlXFxcXFpFU1BXN0pKXFxcXFZlcm1hIGV0IGFsLiAtIDIwMjMgLSBUaGUgbGFuZHNjYXBlIGZvciBsaXBpZC1uYW5vcGFydGljbGUtYmFzZWQgZ2Vub21pYy5wZGY6YXBwbGljYXRpb24vcGRmfVxuICB9XG4gIGAsYFxuICBAYXJ0aWNsZXt0YWhhX2RlbGl2ZXJ5XzIwMjIsXG4gICAgdGl0bGUgICAgICAgID0ge0RlbGl2ZXJ5IG9mIHtDUklTUFJ9LXtDYXN9IHRvb2xzIGZvciBpbiB2aXZvIGdlbm9tZSBlZGl0aW5nIHRoZXJhcHk6IHtUcmVuZHN9IGFuZCBjaGFsbGVuZ2VzfSxcbiAgICBzaG9ydHRpdGxlICAgPSB7RGVsaXZlcnkgb2Yge0NSSVNQUn0te0Nhc30gdG9vbHMgZm9yIGluIHZpdm8gZ2Vub21lIGVkaXRpbmcgdGhlcmFweX0sXG4gICAgYXV0aG9yICAgICAgID0ge1RhaGEsIEVtYW4gQS4gYW5kIExlZSwgSm9zZXBoIGFuZCBIb3R0YSwgQWtpdHN1fSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDIyLFxuICAgIG1vbnRoICAgICAgICA9IGZlYixcbiAgICBqb3VybmFsICAgICAgPSB7Sm91cm5hbCBvZiBDb250cm9sbGVkIFJlbGVhc2V9LFxuICAgIHZvbHVtZSAgICAgICA9IDM0MixcbiAgICBwYWdlcyAgICAgICAgPSB7MzQ1LS0zNjF9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDE2L2ouamNvbnJlbC4yMDIyLjAxLjAxM30sXG4gICAgaXNzbiAgICAgICAgID0gezAxNjgzNjU5fSxcbiAgICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly9saW5raW5naHViLmVsc2V2aWVyLmNvbS9yZXRyaWV2ZS9waWkvUzAxNjgzNjU5MjIwMDAyN1h9LFxuICAgIHVybGRhdGUgICAgICA9IHsyMDI0LTA5LTE2fSxcbiAgICBhYnN0cmFjdCAgICAgPSB7VGhlIGRpc2NvdmVyeSBvZiBjbHVzdGVyZWQgcmVndWxhcmx5IGludGVyc3BhY2VkIHNob3J0IHBhbGluZHJvbWljIHJlcGVhdHMgKENSSVNQUikgZ2Vub21lIGVkaXRpbmcgdGVjaG5vbG9neSBvcGVuZWQgdGhlIGRvb3IgdG8gcHJvdmlkZSBhIHZlcnNhdGlsZSBhcHByb2FjaCBmb3IgdHJlYXRpbmcgbXVsdGlwbGUgZGlzZWFzZXMuIFByb21pc2luZyByZXN1bHRzIGhhdmUgYmVlbiBzaG93biBpbiBudW1lcm91cyBwcmUtY2xpbmljYWwgc3R1ZGllcyBhbmQgY2xpbmljYWwgdHJpYWxzLiBIb3dldmVyLCBhIHNhZmUgYW5kIGVmZmVjdGl2ZSBtZXRob2QgdG8gZGVsaXZlciBnZW5vbWUtZWRpdGluZyBjb21wb25lbnRzIGlzIHN0aWxsIGEga2V5IGNoYWxsZW5nZSBmb3IgaW4gdml2byBnZW5vbWUgZWRpdGluZyB0aGVyYXB5LiBBZGVuby1hc3NvY2lhdGVkIHZpcnVzIChBQVYpIGlzIG9uZSBvZiB0aGUgbW9zdCBjb21tb25seSB1c2VkIHZlY3RvciBzeXN0ZW1zIHRvIGRhdGUsIGJ1dCBpbW11bm9nZW5pY2l0eSBhZ2FpbnN0IGNhcHNpZCwgbGl2ZXIgdG94aWNpdHkgYXQgaGlnaCBkb3NlLCBhbmQgcG90ZW50aWFsIGdlbm90b3hpY2l0eSBjYXVzZWQgYnkgb2ZmLXRhcmdldCBtdXRhZ2VuZXNpcyBhbmQgZ2Vub21pYyBpbnRlZ3JhdGlvbiByZW1haW4gdW5zb2x2ZWQuIFJlY2VudGx5IGRldmVsb3BlZCB0cmFuc2llbnQgZGVsaXZlcnkgc3lzdGVtcywgc3VjaCBhcyB2aXJ1cy1saWtlIHBhcnRpY2xlIChWTFApIGFuZCBsaXBpZCBuYW5vcGFydGljbGUgKExOUCksIG1heSBzb2x2ZSBzb21lIG9mIHRoZSBpc3N1ZXMuIFRoaXMgcmV2aWV3IHN1bW1hcml6ZXMgZXhpc3RpbmcgaW4gdml2byBkZWxpdmVyeSBzeXN0ZW1zIGFuZCBwb3NzaWJsZSBzb2x1dGlvbnMgdG8gb3ZlcmNvbWUgdGhlaXIgbGltaXRhdGlvbnMuIEFsc28sIHdlIGhpZ2hsaWdodCB0aGUgb25nb2luZyBjbGluaWNhbCB0cmlhbHMgZm9yIGluIHZpdm8gZ2Vub21lIGVkaXRpbmcgdGhlcmFweSBhbmQgcmVjZW50bHkgZGV2ZWxvcGVkIGdlbm9tZSBlZGl0aW5nIHRvb2xzIGZvciB0aGVpciBwb3RlbnRpYWwgYXBwbGljYXRpb25zLn0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9XG4gIGAsYFxuICBAbWFudWFse2NheW1hbl9jaGVtaWNhbF9saXBpZGxhdW5jaF9wcm90b2NvbCxcbiAgICB0aXRsZSAgICAgICAgPSB7TGlwaWRMYXVuY2hcdTIxMjIgTE5QLTEwMiBFeHBsb3JhdGlvbiBLaXQgUHJvdG9jb2x9LFxuICAgIGF1dGhvciAgICAgICA9IHt7Q2F5bWFuIENoZW1pY2FsfX0sXG4gICAgeWVhciAgICAgICAgID0gMjAyNCxcbiAgICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly9jZG4uY2F5bWFuY2hlbS5jb20vY2RuL2luc2VydC8zNTQyNS5wZGZ9LFxuICAgIG5vdGUgICAgICAgICA9IHtBY2Nlc3NlZDogMjAyNC0wOS0xNn1cbiAgfVxuICBgLGBcbiAgQG1pc2N7Y29yZGVuX3BoYXJtYV9sbnBfMjAyNCxcbiAgICB0aXRsZSAgICAgICAgPSB7TE5QIEZvcm11bGF0aW9uIGFuZCBNYW51ZmFjdHVyaW5nfSxcbiAgICBhdXRob3IgICAgICAgPSB7e0NvcmRlbiBQaGFybWF9fSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDI0LFxuICAgIHVybCAgICAgICAgICA9IHtodHRwczovL2NvcmRlbnBoYXJtYS5jb20vd2hhdC15b3UtbmVlZC9kcnVnLXByb2R1Y3RzL3N1cHBvcnQtc2VydmljZXMvbG5wLWZvcm11bGF0aW9uLW1hbnVmYWN0dXJpbmcvfSxcbiAgICBub3RlICAgICAgICAgPSB7QWNjZXNzZWQ6IDIwMjQtMDktMTh9XG4gIH1cbiAgYCxgXG4gIEBhcnRpY2xle3dlaV9sdW5nXzIwMjMsXG4gICAgdGl0bGUgICAgICAgID0ge0x1bmcge1NPUlR9IHtMTlBzfSBlbmFibGUgcHJlY2lzZSBob21vbG9neS1kaXJlY3RlZCByZXBhaXIgbWVkaWF0ZWQge0NSSVNQUn0ve0Nhc30gZ2Vub21lIGNvcnJlY3Rpb24gaW4gY3lzdGljIGZpYnJvc2lzIG1vZGVsc30sXG4gICAgYXV0aG9yICAgICAgID0ge1dlaSwgVHVvIGFuZCBTdW4sIFllaHVpIGFuZCBDaGVuZywgUWlhbmcgYW5kIENoYXR0ZXJqZWUsIFN1bWFudGEgYW5kIFRyYXlsb3IsIFphY2hhcnkgYW5kIEpvaG5zb24sIExpbmRzYXkgVC4gYW5kIENvcXVlbGluLCBNZWxpc3NhIEwuIGFuZCBXYW5nLCBKaWFsdSBhbmQgVG9ycmVzLCBNaWNoYWVsIEouIGFuZCBMaWFuLCBYaXpoZW4gYW5kIFdhbmcsIFh1IGFuZCBYaWFvLCBZdWZlbiBhbmQgSG9kZ2VzLCBDcmFpZyBBLiBhbmQgU2llZ3dhcnQsIERhbmllbCBKLn0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMyxcbiAgICBtb250aCAgICAgICAgPSBub3YsXG4gICAgam91cm5hbCAgICAgID0ge05hdHVyZSBDb21tdW5pY2F0aW9uc30sXG4gICAgdm9sdW1lICAgICAgID0gMTQsXG4gICAgbnVtYmVyICAgICAgID0gMSxcbiAgICBwYWdlcyAgICAgICAgPSA3MzIyLFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDM4L3M0MTQ2Ny0wMjMtNDI5NDgtMn0sXG4gICAgaXNzbiAgICAgICAgID0gezIwNDEtMTcyM30sXG4gICAgdXJsICAgICAgICAgID0ge2h0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxNDY3LTAyMy00Mjk0OC0yfSxcbiAgICB1cmxkYXRlICAgICAgPSB7MjAyNC0wNC0xNn0sXG4gICAgY29weXJpZ2h0ICAgID0gezIwMjMgVGhlIEF1dGhvcihzKX0sXG4gICAgbm90ZSAgICAgICAgID0ge1B1Ymxpc2hlcjogTmF0dXJlIFB1Ymxpc2hpbmcgR3JvdXB9LFxuICAgIGFic3RyYWN0ICAgICA9IHtBcHByb3hpbWF0ZWx5IDEwXFwlIG9mIEN5c3RpYyBGaWJyb3NpcyAoQ0YpIHBhdGllbnRzLCBwYXJ0aWN1bGFybHkgdGhvc2Ugd2l0aCBDRiB0cmFuc21lbWJyYW5lIGNvbmR1Y3RhbmNlIHJlZ3VsYXRvciAoQ0ZUUikgZ2VuZSBub25zZW5zZSBtdXRhdGlvbnMsIGxhY2sgZWZmZWN0aXZlIHRyZWF0bWVudHMuIFRoZSBwb3RlbnRpYWwgb2YgZ2VuZSBjb3JyZWN0aW9uIHRoZXJhcHkgdGhyb3VnaCBkZWxpdmVyeSBvZiB0aGUgQ1JJU1BSL0NhcyBzeXN0ZW0gdG8gQ0YtcmVsZXZhbnQgb3JnYW5zL2NlbGxzIGlzIGhpbmRlcmVkIGJ5IHRoZSBsYWNrIG9mIGVmZmljaWVudCBnZW5vbWUgZWRpdG9yIGRlbGl2ZXJ5IGNhcnJpZXJzLiBIZXJlaW4sIHdlIHJlcG9ydCBpbXByb3ZlZCBMdW5nIFNlbGVjdGl2ZSBPcmdhbiBUYXJnZXRpbmcgTGlwaWQgTmFub3BhcnRpY2xlcyAoU09SVCBMTlBzKSBmb3IgZWZmaWNpZW50IGRlbGl2ZXJ5IG9mIENhczkgbVJOQSwgc2dSTkEsIGFuZCBkb25vciBzc0ROQSB0ZW1wbGF0ZXMsIGVuYWJsaW5nIHByZWNpc2UgaG9tb2xvZ3ktZGlyZWN0ZWQgcmVwYWlyLW1lZGlhdGVkIGdlbmUgY29ycmVjdGlvbiBpbiBDRiBtb2RlbHMuIE9wdGltaXplZCBMdW5nIFNPUlQgTE5QcyBkZWxpdmVyIG1STkEgdG8gbHVuZyBiYXNhbCBjZWxscyBpbiBBaTkgcmVwb3J0ZXIgbWljZS4gU09SVCBMTlAgdHJlYXRtZW50IHN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgdGhlIENGVFIgbXV0YXRpb25zIGluIGhvbW96eWdvdXMgRzU0MlggbWljZSBhbmQgaW4gcGF0aWVudC1kZXJpdmVkIGh1bWFuIGJyb25jaGlhbCBlcGl0aGVsaWFsIGNlbGxzIHdpdGggaG9tb3p5Z291cyBGNTA4ZGVsIG11dGF0aW9ucywgbGVhZGluZyB0byB0aGUgcmVzdG9yYXRpb24gb2YgQ0ZUUiBwcm90ZWluIGV4cHJlc3Npb24gYW5kIGNobG9yaWRlIHRyYW5zcG9ydCBmdW5jdGlvbi4gVGhpcyBwcm9vZi1vZi1jb25jZXB0IHN0dWR5IHdpbGwgY29udHJpYnV0ZSB0byBhY2NlbGVyYXRpbmcgdGhlIGNsaW5pY2FsIGRldmVsb3BtZW50IG9mIG1STkEgTE5QcyBmb3IgQ0YgdHJlYXRtZW50IHRocm91Z2ggQ1JJU1BSL0NhcyBnZW5lIGNvcnJlY3Rpb24ufSxcbiAgICBsYW5ndWFnZSAgICAgPSB7ZW59LFxuICAgIGtleXdvcmRzICAgICA9IHtCaW9tZWRpY2FsIGVuZ2luZWVyaW5nLCBDUklTUFItQ2FzOSBnZW5vbWUgZWRpdGluZywgR2VuZSBkZWxpdmVyeX1cbiAgfVxuICBgLGBcbiAgQGFydGljbGV7SUJSQUhJTTIwMjIyMTUsXG4gICAgdGl0bGUgICAgICAgID0ge1BvbHlldGh5bGVuZSBnbHljb2wgKFBFRyk6IFRoZSBuYXR1cmUsIGltbXVub2dlbmljaXR5LCBhbmQgcm9sZSBpbiB0aGUgaHlwZXJzZW5zaXRpdml0eSBvZiBQRUd5bGF0ZWQgcHJvZHVjdHN9LFxuICAgIGF1dGhvciAgICAgICA9IHtNb2hhbWVkIElicmFoaW0gYW5kIEVzbGFtIFJhbWFkYW4gYW5kIE5laGFsIEUuIEVsc2FkZWsgYW5kIFNoZXJpZiBFLiBFbWFtIGFuZCBUYXJvIFNoaW1penUgYW5kIEhpZGVub3JpIEFuZG8gYW5kIFl1IElzaGltYSBhbmQgT21hciBIZWxteSBFbGdhcmh5IGFuZCBIYXRlbSBBLiBTYXJoYW4gYW5kIEFtYWwgSy4gSHVzc2VpbiBhbmQgVGF0c3VoaXJvIElzaGlkYX0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMixcbiAgICBqb3VybmFsICAgICAgPSB7Sm91cm5hbCBvZiBDb250cm9sbGVkIFJlbGVhc2V9LFxuICAgIHZvbHVtZSAgICAgICA9IDM1MSxcbiAgICBwYWdlcyAgICAgICAgPSB7MjE1LS0yMzB9LFxuICAgIGRvaSAgICAgICAgICA9IHtodHRwczovL2RvaS5vcmcvMTAuMTAxNi9qLmpjb25yZWwuMjAyMi4wOS4wMzF9LFxuICAgIGlzc24gICAgICAgICA9IHswMTY4LTM2NTl9LFxuICAgIHVybCAgICAgICAgICA9IHtodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMTY4MzY1OTIyMDA2MjY1fSxcbiAgICBrZXl3b3JkcyAgICAgPSB7UG9seWV0aHlsZW5lIGdseWNvbCAoUEVHKSwgYW50aS1QRUcgYW50aWJvZGllcywgSHlwZXJzZW5zaXRpdml0eSwgQ09WSUQtMTkgbVJOQSB2YWNjaW5lcywgY29tcGxlbWVudCBhY3RpdmF0aW9uLXJlbGF0ZWQgcHNldWRvYWxsZXJneSAoQ0FSUEEpfSxcbiAgICBhYnN0cmFjdCAgICAgPSB7UG9seWV0aHlsZW5lIGdseWNvbCAoUEVHKSBpcyBhIHZlcnNhdGlsZSBwb2x5bWVyIHRoYXQgaXMgd2lkZWx5IHVzZWQgYXMgYW4gYWRkaXRpdmUgaW4gZm9vZHMgYW5kIGNvc21ldGljcywgYW5kIGFzIGEgY2FycmllciBpbiBQRUd5bGF0ZWQgdGhlcmFwZXV0aWNzLiBFdmVuIHRob3VnaCBQRUcgaXMgdGhvdWdodCB0byBiZSBsZXNzIGltbXVub2dlbmljLCBvciBwZXJoYXBzIGV2ZW4gbm9uLWltbXVub2dlbmljLCB3aXRoIGEgdmFyaWV0eSBvZiBwaHlzaWNvY2hlbWljYWwgcHJvcGVydGllcywgdGhlcmUgaXMgbW91bnRpbmcgZXZpZGVuY2UgdGhhdCBQRUcgY2F1c2VzIGltbXVub2dlbmljIHJlc3BvbnNlcyB3aGVuIGNvbmp1Z2F0ZWQgd2l0aCBvdGhlciBtYXRlcmlhbHMgc3VjaCBhcyBwcm90ZWlucyBhbmQgbmFub2NhcnJpZXJzLiBVbmRlciB0aGVzZSBjb25kaXRpb25zLCBQRUcgd2l0aCBvdGhlciBtYXRlcmlhbHMgY2FuIHJlc3VsdCBpbiB0aGUgcHJvZHVjdGlvbiBvZiBhbnRpLVBFRyBhbnRpYm9kaWVzIGFmdGVyIGFkbWluaXN0cmF0aW9uLiBUaGUgYW50aWJvZGllcyB0aGF0IGFyZSBpbmR1Y2VkIHNlZW0gdG8gaGF2ZSBhIGRlbGV0ZXJpb3VzIGltcGFjdCBvbiB0aGUgdGhlcmFwZXV0aWMgZWZmaWNhY3kgb2Ygc3Vic2VxdWVudGx5IGFkbWluaXN0ZXJlZCBQRUd5bGF0ZWQgZm9ybXVsYXRpb25zLiBJbiBhZGRpdGlvbiwgaHlwZXJzZW5zaXRpdml0eSB0byBQRUd5bGF0ZWQgZm9ybXVsYXRpb25zIGNvdWxkIGJlIGEgc2lnbmlmaWNhbnQgYmFycmllciB0byB0aGUgdXRpbGl0eSBvZiBQRUd5bGF0ZWQgcHJvZHVjdHMuIFNldmVyYWwgcmVwb3J0cyBoYXZlIGxpbmtlZCB0aGUgcHJlc2VuY2Ugb2YgYW50aS1QRUcgYW50aWJvZGllcyB0byBpbmNpZGVuY2VzIG9mIGNvbXBsZW1lbnQgYWN0aXZhdGlvbi1yZWxhdGVkIHBzZXVkb2FsbGVyZ3kgKENBUlBBKSBmb2xsb3dpbmcgdGhlIGFkbWluaXN0cmF0aW9uIG9mIFBFR3lsYXRlZCBmb3JtdWxhdGlvbnMuIFRoZSB1c2Ugb2YgQ09WSUQtMTkgbVJOQSB2YWNjaW5lcywgd2hpY2ggYXJlIGNvbXBvc2VkIG1haW5seSBvZiBQRUd5bGF0ZWQgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcyksIGhhcyByZWNlbnRseSBnYWluZWQgd2lkZSBhY2NlcHRhbmNlLCBhbHRob3VnaCBtYW55IGNhc2VzIG9mIHBvc3QtdmFjY2luYXRpb24gaHlwZXJzZW5zaXRpdml0eSBoYXZlIGJlZW4gZG9jdW1lbnRlZC4gVGhlcmVmb3JlLCBvdXIgcmV2aWV3IGZvY3VzZXMgbm90IG9ubHkgb24gdGhlIGltcG9ydGFuY2Ugb2YgUEVHcyBhbmQgaXRzIGdyZWF0IHJvbGUgaW4gaW1wcm92aW5nIHRoZSB0aGVyYXBldXRpYyBlZmZpY2FjeSBvZiB2YXJpb3VzIG1lZGljYXRpb25zLCBidXQgYWxzbyBvbiB0aGUgaHlwZXJzZW5zaXRpdml0eSByZWFjdGlvbnMgYXR0cmlidXRlZCB0byB0aGUgdXNlIG9mIFBFR3lsYXRlZCBwcm9kdWN0cyB0aGF0IGluY2x1ZGUgUEVHLWJhc2VkIG1STkEgQ09WSUQtMTkgdmFjY2luZXMufVxuICB9XG4gIGAsYFxuICBAYXJ0aWNsZXtaSU1NRVJNQU5OMjAyMjEzNyxcbiAgICB0aXRsZSAgICAgICAgPSB7U3ByYXkgZHJ5aW5nIHNpUk5BLWxpcGlkIG5hbm9wYXJ0aWNsZXMgZm9yIGRyeSBwb3dkZXIgcHVsbW9uYXJ5IGRlbGl2ZXJ5fSxcbiAgICBhdXRob3IgICAgICAgPSB7Q2hyaXN0b3BoIE0uIFppbW1lcm1hbm4gYW5kIERvbWl6aWEgQmFsZGFzc2kgYW5kIEthcmVuIENoYW4gYW5kIE5hdGhhbiBCLlAuIEFkYW1zIGFuZCBBbGluYSBOZXVtYW5uIGFuZCBEaWFuYSBMZWlkeSBQb3JyYXMtR29uemFsZXogYW5kIFhpbiBXZWkgYW5kIE5pa29sYXVzIEtuZWlkaW5nZXIgYW5kIE1pcmNlYSBHYWJyaWVsIFN0b2xlcml1IGFuZCBHZXJhbGQgQnVyZ3N0YWxsZXIgYW5kIERvbWluaWsgV2l0emlnbWFubiBhbmQgUGFvbGEgTHVjaWFuaSBhbmQgT2xpdmlhIE0uIE1lcmtlbH0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMixcbiAgICBqb3VybmFsICAgICAgPSB7Sm91cm5hbCBvZiBDb250cm9sbGVkIFJlbGVhc2V9LFxuICAgIHZvbHVtZSAgICAgICA9IDM1MSxcbiAgICBwYWdlcyAgICAgICAgPSB7MTM3LS0xNTB9LFxuICAgIGRvaSAgICAgICAgICA9IHtodHRwczovL2RvaS5vcmcvMTAuMTAxNi9qLmpjb25yZWwuMjAyMi4wOS4wMjF9LFxuICAgIGlzc24gICAgICAgICA9IHswMTY4LTM2NTl9LFxuICAgIHVybCAgICAgICAgICA9IHtodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMTY4MzY1OTIyMDA2MTM3fSxcbiAgICBrZXl3b3JkcyAgICAgPSB7TGlwaWQgbmFub3BhcnRpY2xlcywgTE5QLCBPbnBhdHRyb1x1MDBBRSwgUk5BIHRoZXJhcGV1dGljcywgc2lSTkEgZGVsaXZlcnksIFNwcmF5IGRyeWluZywgUHVsbW9uYXJ5IGRlbGl2ZXJ5LCBSZXNwaXJhdG9yeSBkaXNlYXNlcywgSHVtYW4gcHJlY2lzaW9uLWN1dCBsdW5nIHNsaWNlcywgRm9ybXVsYXRpb24gc2NyZWVuaW5nfSxcbiAgICBhYnN0cmFjdCAgICAgPSB7V2hpbGUgYWxsIHRoZSBzaVJOQSBkcnVncyBvbiB0aGUgbWFya2V0IHRhcmdldCB0aGUgbGl2ZXIsIHRoZSBsdW5ncyBvZmZlciBhIHZhcmlldHkgb2YgY3VycmVudGx5IHVuZHJ1Z2dhYmxlIHRhcmdldHMgd2hpY2ggY291bGQgcG90ZW50aWFsbHkgYmUgdHJlYXRlZCB3aXRoIFJOQSB0aGVyYXBldXRpY3MuIEhlbmNlLCBsb2NhbCwgcHVsbW9uYXJ5IGRlbGl2ZXJ5IG9mIFJOQSBuYW5vcGFydGljbGVzIGNvdWxkIGZpbmFsbHkgZW5hYmxlIGRlbGl2ZXJ5IGJleW9uZCB0aGUgbGl2ZXIuIFRoZSBhZG1pbmlzdHJhdGlvbiBvZiBSTkEgZHJ1Z3MgdmlhIGRyeSBwb3dkZXIgaW5oYWxlcnMgb2ZmZXJzIG1hbnkgYWR2YW50YWdlcyByZWxhdGVkIHRvIHBoeXNpY2FsLCBjaGVtaWNhbCBhbmQgbWljcm9iaWFsIHN0YWJpbGl0eSBvZiBSTkEgYW5kIG5hbm9zdXNwZW5zaW9ucy4gVGhlIHByZXNlbnQgc3R1ZHkgd2FzIHRoZXJlZm9yZSBkZXNpZ25lZCB0byB0ZXN0IHRoZSBmZWFzaWJpbGl0eSBvZiBlbmdpbmVlcmluZyBzcHJheSBkcmllZCBsaXBpZCBuYW5vcGFydGljbGUgKExOUCkgcG93ZGVycy4gU3ByYXkgZHJ5aW5nIHdhcyBwZXJmb3JtZWQgdXNpbmcgNSUgbGFjdG9zZSBzb2x1dGlvbiAobS9WKSwgYW5kIHRoZSB0YXJnZXRzIHdlcmUgc2V0IHRvIG9idGFpbiBuYW5vcGFydGljbGUgc2l6ZXMgYWZ0ZXIgcmVkaXNwZXJzaW9uIG9mIHNwcmF5LWRyaWVkIHBvd2RlcnMgYXJvdW5kIDE1MFx1MjAyRm5tLCBhIHJlc2lkdWFsIG1vaXN0dXJlIGxldmVsIGJlbG93IDUlLCBhbmQgUk5BIGxvc3MgYmVsb3cgMTUlIGF0IG1haW50YWluZWQgUk5BIGJpb2FjdGl2aXR5LiBUaGUgTE5QcyBjb25zaXN0ZWQgb2YgYW4gaW9uaXphYmxlIGNhdGlvbmljIGxpcGlkIHdoaWNoIGlzIGEgc3VsZnVyLWNvbnRhaW5pbmcgYW5hbG9nIG9mIERMaW4tTUMzLURNQSwgYSBoZWxwZXIgbGlwaWQsIGNob2xlc3Rlcm9sLCBhbmQgUEVHLURNRyBlbmNhcHN1bGF0aW5nIHNpUk5BLiBQcmlvciB0byB0aGUgc3ByYXkgZHJ5aW5nLCB0aGUgbGF0dGVyIHByb2Nlc3Mgd2FzIHNpbXVsYXRlZCB3aXRoIGEgbm92ZWwgZHVhbCBlbWlzc2lvbiBmbHVvcmVzY2VuY2Ugc3BlY3Ryb3Njb3B5IG1ldGhvZCB0byBwcmVzZWxlY3QgdGhlIGhpZ2hlc3QgcG9zc2libGUgZHJ5aW5nIHRlbXBlcmF0dXJlIGFuZCBleGNpcGllbnQgc29sdXRpb24gbWFpbnRhaW5pbmcgTE5QIGludGVncml0eSBhbmQgc3RhYmlsaXR5LiBUaHJvdWdoIGNoYXJhY3Rlcml6YXRpb24gb2YgcGh5c2ljb2NoZW1pY2FsIGFuZCBhZXJvZHluYW1pYyBwcm9wZXJ0aWVzIG9mIHRoZSBzcHJheSBkcmllZCBwb3dkZXJzLCBhZG1pbmlzdHJhdGlvbiBjcml0ZXJpYSBmb3IgZGVsaXZlcnkgdG8gdGhlIGxvd2VyIHJlc3BpcmF0b3J5IHRyYWN0IHdlcmUgZnVsZmlsbGVkLiBTcHJheSBkcmllZCBMTlBzIHBlbmV0cmF0ZWQgdGhlIGx1bmcgbXVjdXMgbGF5ZXIgYW5kIG1haW50YWluZWQgYmlvYWN0aXZpdHkgZm9yID45MCUgcHJvdGVpbiBkb3ducmVndWxhdGlvbiB3aXRoIGEgY29uZmlybWVkIHNhZmV0eSBwcm9maWxlIGluIGEgbHVuZyBhZGVub2NhcmNpbm9tYSBjZWxsIGxpbmUuIEFkZGl0aW9uYWxseSwgdGhlIHNwcmF5IGRyaWVkIExOUHMgc3VjY2Vzc2Z1bGx5IGFjaGlldmVkIHVwIHRvIDUwJSBnZW5lIHNpbGVuY2luZyBvZiB0aGUgaG91c2Uga2VlcGluZyBnZW5lIEdBUERIIGluIGV4IHZpdm8gaHVtYW4gcHJlY2lzaW9uLWN1dCBsdW5nIHNsaWNlcyBhdCB3aXRob3V0IGluY3JlYXNpbmcgY3l0b2tpbmUgbGV2ZWxzLiBUaGlzIHN0dWR5IHZlcmlmaWVzIHRoZSBzdWNjZXNzZnVsIHNwcmF5IGRyeWluZyBwcm9jZWR1cmUgb2YgTE5QLXNpUk5BIHN5c3RlbXMgbWFpbnRhaW5pbmcgdGhlaXIgaW50ZWdyaXR5IGFuZCBtZWRpYXRpbmcgc3Ryb25nIGdlbmUgc2lsZW5jaW5nIGVmZmljaWVuY3kgb24gbVJOQSBhbmQgcHJvdGVpbiBsZXZlbHMgYm90aCBpbiB2aXRybyBhbmQgZXggdml2by4gVGhlIHN1Y2Nlc3NmdWwgc3ByYXkgZHJ5aW5nIHByb2NlZHVyZSBvZiBMTlAtc2lSTkEgZm9ybXVsYXRpb25zIGluIDUlIGxhY3Rvc2Ugc29sdXRpb24gY3JlYXRlcyBhIG5vdmVsIHNpUk5BLWJhc2VkIHRoZXJhcHkgb3B0aW9uIHRvIHRhcmdldCByZXNwaXJhdG9yeSBkaXNlYXNlcyBzdWNoIGFzIGx1bmcgY2FuY2VyLCBhc3RobWEsIENPUEQsIGN5c3RpYyBmaWJyb3NpcyBhbmQgdmlyYWwgaW5mZWN0aW9ucy59XG4gIH1cbiAgYCxgXG4gIEBhcnRpY2xle2ppYW5nX2NvbWJpbmF0b3JpYWxfMjAyNCxcbiAgICB0aXRsZSAgICAgICAgPSB7Q29tYmluYXRvcmlhbCBkZXZlbG9wbWVudCBvZiBuZWJ1bGl6ZWQge21STkF9IGRlbGl2ZXJ5IGZvcm11bGF0aW9ucyBmb3IgdGhlIGx1bmdzfSxcbiAgICBhdXRob3IgICAgICAgPSB7SmlhbmcsIEFsbGVuIFkuIGFuZCBXaXR0ZW4sIEphY29iIGFuZCBSYWppLCBJZHJpcyBPLiBhbmQgRXdlamUsIEZleWlzYXlvIGFuZCBNYWNJc2FhYywgQ29yaW5hIGFuZCBNZW5nLCBTYWJyaW5hIGFuZCBPbGFkaW1lamksIEZhdm91ciBBLiBhbmQgSHUsIFlpem9uZyBhbmQgTWFuYW4sIFJhaml0aCBTLiBhbmQgTGFuZ2VyLCBSb2JlcnQgYW5kIEFuZGVyc29uLCBEYW5pZWwgRy59LFxuICAgIHllYXIgICAgICAgICA9IDIwMjQsXG4gICAgbW9udGggICAgICAgID0gbWFyLFxuICAgIGpvdXJuYWwgICAgICA9IHtOYXR1cmUgTmFub3RlY2hub2xvZ3l9LFxuICAgIHZvbHVtZSAgICAgICA9IDE5LFxuICAgIG51bWJlciAgICAgICA9IDMsXG4gICAgcGFnZXMgICAgICAgID0gezM2NC0tMzc1fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAzOC9zNDE1NjUtMDIzLTAxNTQ4LTN9LFxuICAgIGlzc24gICAgICAgICA9IHsxNzQ4LTMzODcsIDE3NDgtMzM5NX0sXG4gICAgdXJsICAgICAgICAgID0ge2h0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxNTY1LTAyMy0wMTU0OC0zfSxcbiAgICB1cmxkYXRlICAgICAgPSB7MjAyNC0wOS0xMH0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9XG4gIGAsYFxuICBAYXJ0aWNsZXt2aWxhLWdvbnphbGV6X3ZpdHJvXzIwMjQsXG4gICAgdGl0bGUgICAgICAgID0ge0luIHZpdHJvIHBsYXRmb3JtIHRvIG1vZGVsIHRoZSBmdW5jdGlvbiBvZiBpb25vY3l0ZXMgaW4gdGhlIGh1bWFuIGFpcndheSBlcGl0aGVsaXVtfSxcbiAgICBhdXRob3IgICAgICAgPSB7VmlsXHUwMEUwLUdvbnpcdTAwRTFsZXosIE1hcnRhIGFuZCBQaW50ZSwgTGFldGl0aWEgYW5kIEZyYWRpcXVlLCBSaWNhcmRvIGFuZCBDYXVzYSwgRXJpa2EgYW5kIEtvb2wsIEhlbGVlbiBhbmQgUm9kcmF0LCBNYXl1cmVlIGFuZCBNb3JlbGwsIENhcm9sYSBNYXJpYSBhbmQgQWwtVGhhbmksIE1haGEgYW5kIFBvcnRlciwgTGluc2V5IGFuZCBHdW8sIFdlbnJ1aSBhbmQgTWFlc2hpbWEsIFJ1aGluYSBhbmQgSGFydCwgU3RlcGhlbiBMLiBhbmQgTWNDYXVnaGFuLCBGcmFuayBhbmQgR3JhbmF0YSwgQWxlc3NhbmRyYSBhbmQgU2hlcHBhcmQsIERhdmlkIE4uIGFuZCBGbG90bywgUi4gQW5kcmVzIGFuZCBSYXdsaW5zLCBFbW1hIEwuIGFuZCBDaWN1dGEsIFBpZXRybyBhbmQgVmFsbGllciwgTHVkb3ZpY30sXG4gICAgeWVhciAgICAgICAgID0gMjAyNCxcbiAgICBtb250aCAgICAgICAgPSBhcHIsXG4gICAgam91cm5hbCAgICAgID0ge1Jlc3BpcmF0b3J5IFJlc2VhcmNofSxcbiAgICB2b2x1bWUgICAgICAgPSAyNSxcbiAgICBudW1iZXIgICAgICAgPSAxLFxuICAgIHBhZ2VzICAgICAgICA9IDE4MCxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTE4Ni9zMTI5MzEtMDI0LTAyODAwLTd9LFxuICAgIGlzc24gICAgICAgICA9IHsxNDY1LTk5M1h9LFxuICAgIHVybCAgICAgICAgICA9IHtodHRwczovL3Jlc3BpcmF0b3J5LXJlc2VhcmNoLmJpb21lZGNlbnRyYWwuY29tL2FydGljbGVzLzEwLjExODYvczEyOTMxLTAyNC0wMjgwMC03fSxcbiAgICB1cmxkYXRlICAgICAgPSB7MjAyNC0wOS0xMH0sXG4gICAgYWJzdHJhY3QgICAgID0ge1xuICAgICAgQmFja2dyb3VuZFx1MjAwMiBQdWxtb25hcnkgaW9ub2N5dGVzIGhhdmUgYmVlbiBpZGVudGlmaWVkIGluIHRoZSBhaXJ3YXkgZXBpdGhlbGl1bSBhcyBhIHNtYWxsIHBvcHVsYXRpb24gb2YgaW9uIHRyYW5zcG9ydGluZyBjZWxscyBleHByZXNzaW5nIGhpZ2ggbGV2ZWxzIG9mIENGVFIgKGN5c3RpYyBmaWJyb3NpcyB0cmFuc21lbWJyYW5lIGNvbmR1Y3RhbmNlIHJlZ3VsYXRvciksIHRoZSBnZW5lIG11dGF0ZWQgaW4gY3lzdGljIGZpYnJvc2lzLiBCeSBwcm92aWRpbmcgYW4gaW5maW5pdGUgc291cmNlIG9mIGFpcndheSBlcGl0aGVsaWFsIGNlbGxzIChBRUNzKSwgdGhlIHVzZSBvZiBodW1hbiBpbmR1Y2VkIHBsdXJpcG90ZW50IHN0ZW0gY2VsbHMgKGhpUFNDcykgY291bGQgb3ZlcmNvbWUgc29tZSBjaGFsbGVuZ2VzIG9mIHN0dWR5aW5nIGlvbm9jeXRlcy4gSG93ZXZlciwgdGhlIHByb2R1Y3Rpb24gb2YgQUVDIGVwaXRoZWxpYSBjb250YWluaW5nIGlvbm9jeXRlcyBmcm9tIGhpUFNDcyBoYXMgcHJvdmVuIGRpZmZpY3VsdC4gSGVyZSwgd2UgcHJlc2VudCBhIHBsYXRmb3JtIHRvIHByb2R1Y2UgaGlQU0NkZXJpdmVkIEFFQ3MgKGhpUFNDLUFFQ3MpIGluY2x1ZGluZyBpb25vY3l0ZXMgYW5kIGludmVzdGlnYXRlIHRoZWlyIHJvbGUgaW4gdGhlIGFpcndheSBlcGl0aGVsaXVtLlxuICBcbiAgICAgIE1ldGhvZHNcdTIwMDIgaGlQU0NzIHdlcmUgZGlmZmVyZW50aWF0ZWQgaW50byBsdW5nIHByb2dlbml0b3JzLCB3aGljaCB3ZXJlIGV4cGFuZGVkIGFzIDNEIG9yZ2Fub2lkcyBhbmQgbWF0dXJlZCBieSBhaXItbGlxdWlkIGludGVyZmFjZSBjdWx0dXJlIGFzIHBvbGFyaXNlZCBoaVBTQy1BRUMgZXBpdGhlbGlhLiBVc2luZyBDUklTUFIvQ2FzOSB0ZWNobm9sb2d5LCB3ZSBnZW5lcmF0ZWQgYSBoaVBTQ3Mga25vY2tvdXQgKEtPKSBmb3IgRk9YSTEsIGEgdHJhbnNjcmlwdGlvbiBmYWN0b3IgdGhhdCBpcyBlc3NlbnRpYWwgZm9yIGlvbm9jeXRlIHNwZWNpZmljYXRpb24uIERpZmZlcmVuY2VzIGJldHdlZW4gRk9YSTEgS08gaGlQU0MtQUVDcyBhbmQgdGhlaXIgd2lsZC10eXBlIChXVCkgaXNvZ2VuaWMgY29udHJvbHMgd2VyZSBpbnZlc3RpZ2F0ZWQgYnkgYXNzZXNzaW5nIGdlbmUgYW5kIHByb3RlaW4gZXhwcmVzc2lvbiwgZXBpdGhlbGlhbCBjb21wb3NpdGlvbiwgY2lsaWEgY292ZXJhZ2UgYW5kIG1vdGlsaXR5LCBwSCBhbmQgdHJhbnNlcGl0aGVsaWFsIGJhcnJpZXIgcHJvcGVydGllcy5cbiAgXG4gICAgICBSZXN1bHRzXHUyMDAyIE1hdHVyZSBoaVBTQy1BRUMgZXBpdGhlbGlhIGNvbnRhaW5lZCBiYXNhbCBjZWxscywgc2VjcmV0b3J5IGNlbGxzLCBjaWxpYXRlZCBjZWxscyB3aXRoIG1vdGlsZSBjaWxpYSwgcHVsbW9uYXJ5IG5ldXJvZW5kb2NyaW5lIGNlbGxzIChQTkVDcykgYW5kIGlvbm9jeXRlcy4gVGhlcmUgd2FzIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBGT1hJMSBXVCBhbmQgS08gaGlQU0NzIGluIHRlcm1zIG9mIHRoZWlyIGNhcGFjaXR5IHRvIGRpZmZlcmVudGlhdGUgaW50byBhaXJ3YXkgcHJvZ2VuaXRvcnMuIEhvd2V2ZXIsIEZPWEkxIEtPIGxlZCB0byBtYXR1cmUgaGlQU0MtQUVDIGVwaXRoZWxpYSB3aXRob3V0IGlvbm9jeXRlcyB3aXRoIHJlZHVjZWQgY2FwYWNpdHkgdG8gcHJvZHVjZSBjaWxpYXRlZCBjZWxscy5cbiAgXG4gICAgICBDb25jbHVzaW9uXHUyMDAyIE91ciByZXN1bHRzIHN1Z2dlc3QgdGhhdCBpb25vY3l0ZXMgY291bGQgaGF2ZSByb2xlIGJleW9uZCB0cmFuc2VwaXRoZWxpYWwgaW9uIHRyYW5zcG9ydCBieSByZWd1bGF0aW5nIGVwaXRoZWxpYWwgcHJvcGVydGllcyBhbmQgaG9tZW9zdGFzaXMgaW4gdGhlIGFpcndheSBlcGl0aGVsaXVtLlxuICAgIH0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9XG4gIGBcbl0iLCAiXG5pbXBvcnQgeyBCdXR0b25PbmVFbmdpbmVlcmluZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IExvcmVtU2hvcnQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Mb3JlbWlwc3VtXCI7XG5pbXBvcnQgeyBvcGVuRWxlbWVudCB9IGZyb20gXCIuLi91dGlscy9vcGVuRWxlbWVudFwiO1xuaW1wb3J0IHsgSDIsIEgzLCBINCwgSDUsIFBoaWxpcEgzIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgQ29sbGFwc2libGUgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Db2xsYXBzaWJsZVwiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgVGFiU2Nyb2xsTGluayB9IGZyb20gXCIuLi9jb21wb25lbnRzL0xpbmtcIjtcbmltcG9ydCB7IEluZm9Cb3ggfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Cb3hlc1wiO1xuaW1wb3J0IHsgRG93bmxvYWRMaW5rIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQnV0dG9uc1wiO1xuaW1wb3J0IHsgU2VjdGlvbiB9IGZyb20gXCIuLi9jb21wb25lbnRzL3NlY3Rpb25zXCI7XG5pbXBvcnQgRW5nVHJmc291cmNlcyBmcm9tIFwiLi4vc291cmNlcy9lbmctdHJmLXNvdXJjZXNcIjtcbmltcG9ydCBFbmdSZXBzb3VyY2VzIGZyb20gXCIuLi9zb3VyY2VzL2VuZy1yZXBvcnRlci1zb3VyY2VzXCI7XG5pbXBvcnQgRW5nUEVzeXN0ZW1zIGZyb20gXCIuLi9zb3VyY2VzL2VuZy1wZS1zb3VyY2VzXCI7XG5pbXBvcnQgRW5nUGVnc291cmNlcyBmcm9tIFwiLi4vc291cmNlcy9lbmctcGVnLXNvdXJjZXNcIjtcbmltcG9ydCBFbmdOaWNrc291cmNlcyBmcm9tIFwiLi4vc291cmNlcy9lbmctbmlja2FzZXMtc291cmNlc1wiO1xuaW1wb3J0IEVuZ0RlbHNvdXJjZXMgZnJvbSBcIi4uL3NvdXJjZXMvZW5nLWRlbGl2ZXJ5LXNvdXJjZXNcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gRW5naW5lZXJpbmcoKSB7XG4gICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gICBjb25zdCB7Z29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uICgpO1xuICAgY29uc3Qge2dvVG9QYWdlQW5kU2Nyb2xsfSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgIGNvbnN0IHtnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpO1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtdC00XCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8YnIvPiA8YnIvPiA8YnIvPiBcbiAgICAgICAgICAgIDxkaXYgaWQ9XCJ0YWItb3VyLWN5Y2xlXCIgY2xhc3NOYW1lPVwiZW5naW5uZWVyaW5ndGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT5cbiAgICAgICAgICAgICAgIDxzZWN0aW9uID4gPGJyIGlkPVwib2JlbmVuZ2luZWVyaW5nXCIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbmctYm94IGJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiT3VyIGN5Y2xlXCIgaWQ9XCJvdXItY3ljbGUtaGVhZGVyXCI+PC9IND5cbiAgICAgICAgICAgICAgICAgICAgIDxwPkhhbGxvIFByaW1lIEVkaXRpbmcgZGllc2RhczwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgYnV0dG9uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmlnaHRcIj48QnV0dG9uT25lRW5naW5lZXJpbmcgbGFiZWw9XCJOZXh0XCIgb3Blbj1cInJlcG9ydGVyXCIgc2Nyb2xsVG9JZD1cInJlcG9ydGVyLWhlYWRlclwiLz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbmdpbm5lZXJpbmd0YWJcIiBpZD1cInRhYi1yZXBvcnRlclwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgIDxzZWN0aW9uIGlkPVwicmVwb3J0ZXIgc2VjXCIgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbmctYm94IGJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxIMiBpZD1cInJlcG9ydGVyLWhlYWRlclwiIHRleHQ9XCJQcmltZSBFZGl0aW5nIFJlcG9ydGVyXCI+PC9IMj5cbiAgICAgICAgICAgICAgICAgICAgIDxwPlByaW1lIGVkaXRpbmcgaXMgYSBpcyBhIHZlcnkgcHJlY2lzZSBhbmQgc2FmZSBtZXRob2QuIEhvd2V2ZXIsIGRlcGVuZGluZyBvbiB0aGUgZ2Vub21pYyBsb2N1cyB0YXJnZXRlZCwgdGhlIGVkaXRpbmcgZWZmaWNpZW5jeSBjYW4gYmUgdmVyeSBsb3cuIFRoZSBjeXN0aWMgZmlicm9zaXMgY2F1c2luZyBDRlRSIEY1MDhkZWwgbXV0YXRpb24gaXMsIGFzIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ21hdHRpanNpbnYnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gTWF0dGlqcyBCdWxjYWVuIDwvYT4gIHN0YXRlZCBpbiBvdXIgaW50ZXJ2aWV3LCBvbmUgb2YsIGlmIG5vdCB0aGUgbW9zdCBvYnZpb3VzIGFwcGxpY2F0aW9uIG9mIHByaW1lIGVkaXRpbmcsIGNvbnNpZGVyaW5nIHRoZSBsYXJnZSBhbW91bnQgb2YgcGVvcGxlIGFmZmVjdGVkLiBUaGUgbGFjayBvZiBwdWJsaWNhdGlvbnMgYWRkcmVzc2luZyBDRlRSIHRhcmdldCBpbXBsaWVkLCB0aGF0IHRoZSBtdXRhdGlvbiBtaWdodCBiZSBwYXJ0aWN1bGFybHkgaGFyZCB0byBlZGl0LiBBdCBsb3cgZWRpdGluZyBlZmZpY2llbmN5LCBzdWNjZXNzZnVsIGVkaXRzIGFyZSBoYXJkLCBpZiBub3QgaW1wb3NzaWJsZSB0byBkaXN0aW5ndWlzaCBmcm9tIHRoZSBiYWNrZ3JvdW5kIG5vaXNlIHVzaW5nIGNvbnZlbnRpb25hbCBtZXRob2RzIGxpa2Ugc2FuZ2VyIHNlcXVlbmNpbmcgb3IgcVBDUi4gQXMgYSBiYXNpcyB0byBlZmZlY3RpdmVseSB0ZXN0IG91ciBhcHByb2FjaCBhbmQgc2NyZWVuIGZvciB3b3JraW5nIHBlZ1JOQXMsIHdlIG5lZWRlZCBhIGhpZ2hseSBzZW5zaXRpdmUgbWV0aG9kIG9mIGRldGVjdGlvbiB3aXRoIGFzIGxpdHRsZSBub2lzZSBhcyBwb3NzaWJsZSB0byBvcHRpbWl6ZSBvdXIgcHJpbWUgZWRpdGluZyBhcHByb2FjaCBmb3IgZ2Vub21pYyBDRlRSIHRhcmdldGluZy48L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJyZXAxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIkEgRmx1b3Jlc2NlbmNlIFJlcG9ydGVyXCIgaWQ9XCJyZXAxaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJkZXNpZ24taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UgcmVhc29uZWQgdGhhdCB0aGUgZWFzaWVzdCB3YXkgb2YgZGV0ZWN0aW5nIEROQSBjaGFuZ2VzIGluIGEgY2VsbCB3b3VsZCBiZSBmbHVvcmVzY2VuY2UuIE91ciBpbml0aWFsIGlkZWEgd2FzIHRvIGNyZWF0ZSBwZWdSTkFzIHRhcmdldGluZyB0aGUgY29kaW5nIHNlcXVlbmNlIG9mIGEgZmx1b3Jlc2NlbnQgcHJvdGVpbiwgdGhhdCB3b3VsZCBpbnRyb2R1Y2UgYSBtdXRhdGlvbiByZXN1bHRpbmcgaW4gYSBkaWZmZXJlbnQgZW1pc3Npb24sIGdpdmluZyBlYXNpbHkgZGV0ZWN0YWJsZSBmZWVkYmFjayBvZiBjb3JyZWN0IGVkaXRpbmcuIFRoZSBvcmlnaW5hbCBBZXF1b3JlYSB2aWN0b3JpYSBHRlAgcHJvdGVpbiBkaWZmZXJzIGZyb20gYXZHRlAoWTY2VyksIGVtaXR0aW5nIGxpZ2h0IGluIGEgd2F2ZWxlbmd0aCBvZiBhcm91bmQgNTA5IG5tIChjeWFuKSwgYW5kIGF2R0ZQKFk2NkgpLCBlbWl0dGluZyBsaWdodCBpbiBhIHdhdmVsZW5ndGggb2YgYXJvdW5kIDQ0OCBubSAoYmx1ZSkgYnkgb25seSBvbmUgYW1pbm8gYWNpZCBzdWJzdGl0dXRpb24gZWFjaC48VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcmVwb3J0ZXJcIiBudW09XCIxXCIgc2Nyb2xsSWQ9XCJkZXNjLTFcIi8+IFByaW1lIGVkaXRpbmcgY291bGQgdGhlcmVmb3JlIGJlIHZpc3VhbGl6ZWQgYnkgZmFjaWxpdGF0aW5nIHRoZXNlIHN1YnN0aXR1dGlvbnMgd2l0aCBhIHByaW1lIGVkaXRvci5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRvIHRoaXMgZW5kLCB0aGUgd2lsZC10eXBlIGFuZCBlZGl0ZWQgdmVyc2lvbnMgb2YgdGhlIGF2R0ZQIHdlcmUgcHV0IGluIGNvbnRyYXN0IGFuZCB3ZSBzdGFydGVkIHNlYXJjaGluZyBmb3IgcG90ZW50aWFsIHBlZ1JOQXMgZm9yIGVkaXRpbmcgb25lIGludG8gdGhlIG90aGVyLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXN0LWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoZW4gdHJ5aW5nIHRvIGZpbmQgcHJvdG9zcGFjZXJzIGZvciBDYXM5IGFuZCBvdGhlciBwb3NzaWJsZSBuaWNrYXNlczxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ25pY2thc2UnLCAnL2VuZ2luZWVyaW5nJyl9PiBuaWNrYXNlcyA8L2E+ICwgd2Ugbm90aWNlZCwgdGhhdCB0aGUgbG9jdXMgb2YgdGhlIG11dGF0aW9ucyBpcyB0b28gZmFyIGF3YXkgZnJvbSBhbnkgU3B1RnoxIFRBTSBzZXF1ZW5jZXMuIEFkZGl0aW9uYWxseSwgdGhlIGFwcGxpY2FiaWxpdHkgb2YgaW5zaWdodHMgZ2FpbmVkIHRocm91Z2ggcGVnUk5BIG9wdGltaXphdGlvbiBpbiB0aGlzIGxvY3VzIHRvIENGVFIgZWRpdGluZyB3b3VsZCBhbHNvIGJlIHZlcnkgbGltaXRlZCBkdWUgdG8gdGhlIHZhc3QgZGlmZmVyZW5jZXMgaW4gdGhlIHNlcXVlbmNlIG9mIHByb3Rvc3BhY2VyW2xpbmtdIGFuZCBzdXJyb3VuZGluZyBnZW5vbWljIHJlZ2lvbi4gQWRkaXRpb25hbGx5LCB3ZSBsZWFybmVkIGZyb20gb3VyIGludGVydmlldyB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ21hdHRpanNpbnYnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gTWF0dGlqcyBCdWxjYWVuIDwvYT4gdGhhdCB0aGUgdHlwZSBvZiBlZGl0IChpbnNlcnRpb24sIHN1YnN0aXR1dGlvbiBvciBkZWxldGlvbikgc2lnbmlmaWNhbnRseSBpbXBhY3RzIGVkaXRpbmcgZWZmaWNpZW5jeS4gQSBtdXRhdGlvbiBjaGFuZ2luZyBHRlAgdG8gQkZQIHdvdWxkIGhhdmUgdG8gYmUgYSBzdWJzdGl0dXRpb24gaW5zdGVhZCBvZiB0aGUgdGhyZWUtbnVjbGVvdGlkZSBpbnNlcnRpb24gbmVlZGVkIHRvIGNvcnJlY3QgQ0ZUUiBGNTA4ZGVsLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwibGVhcm4taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbSBvdXIgb2JzZXJ2YXRpb25zIHdlIGxlYXJuZWQgdGhhdCBhIHJlcG9ydGVyIHN5c3RlbSBpcyBvbmx5IG9mIHVzZSwgaWYgaXQgY2FuIHJlYWxseSBtaW1pYyB0aGUgZ2Vub21pYyB0YXJnZXQgb2YgY2hvaWNlLiBUaGUgYWRqdXN0bWVudHMgdG8gYmUgbWFkZSB0byBjcmVhdGUgYSBwZWdSTkEgdGFyZ2V0aW5nIHRoZSBnZW5vbWljIHRhcmdldCBmcm9tIGEgcGVnUk5BIHRhcmdldGluZyB0aGUgcmVwb3J0ZXIgc2hvdWxkIGJlIGFzIG1pbm9yIGFzIHBvc3NpYmxlLiBUaGlzIGluY2x1ZGVzIGEgc2ltaWxhciBzcGFjZXIgYW5kIGEgc2ltaWxhciBlZGl0IHRvIGJlIG1hZGUuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJyZXAyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIlByb29mIG9mIENvbmNlcHQgZm9yIFBFQVJcIiBpZD1cInJlcDJoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBBZnRlciBleHRlbnNpdmUgcmVzZWFyY2ggd2UgY2FtZSBhY3Jvc3MgdGhlIHByaW1lIGVkaXRvciBhY3Rpdml0eSByZXBvcnRlciAoUEVBUikgY3JlYXRlZCBieSBTaW1vbiBldCBhbC4gKDIwMjIpPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXJlcG9ydGVyXCIgbnVtPVwiMlwiIHNjcm9sbElkPVwiZGVzYy0yXCIvPiwgd2hpY2ggaXMgdGhlIHRlbXBsYXRlIG91ciBtb2RpZmllZCByZXBvcnRlciBwbGFzbWlkIGlzIGJhc2VkIG9uLiBUaGUgUEVBUiBwbGFzbWlkIGNvbnRhaW5zIGFuIGVHRlAgY29kaW5nIHNlcXVlbmNlIHdpdGggYW4gaW50cm9uIGRlcml2ZWQgZnJvbSB0aGUgbW91c2UgVmltIGdlbmUuIElmIHRoZSBpbnRyb24gaXMgcmVtb3ZlZCBkdXJpbmcgUk5BIHNwbGljaW5nLCB0aGUgdHdvIGV4b25zIGZvcm0gYSBjb250aW51b3VzIG9wZW4gcmVhZGluZyBmcmFtZS4gQnkgbXV0YXRpbmcgdGhlIDVcdTIwMTkgc3BsaWNpbmcgc2lnbmFsLCBhIHRhcmdldCBpcyBjcmVhdGVkIHdoaWNoLCB1cG9uIGNvcnJlY3QgZWRpdGluZywgbGVhZHMgdG8gYSBnYWluLW9mLWZ1bmN0aW9uLiBUaGUgcmVzdWx0aW5nIGZsdW9yZXNjZW5jZSBjYW4gYmUgaW1hZ2VkIHVzaW5nIGNvbmZvY2FsIG1pY3Jvc2NvcHkgb3IgcXVhbnRpZmllZCBieSBtZWFucyBvZiBmbHVvcmVzY2VuY2UgYWN0aXZhdGVkIGNlbGwgc29ydGluZyAoRkFDUykuIE5vdGFibHksIHRoZSBhcmVhIGRvd25zdHJlYW0gb2YgdGhlIDVcdTIwMTkgc3BsaWNlIHNpZ25hbCBpcyBpbnRyb25pYywgYW5kIHRodXMgY2FuIGJlIGVkaXRlZCB3aXRob3V0IGFueSBpbXBhY3Qgb24gdGhlIGNvZGluZyBzZXF1ZW5jZS4gQWRkaXRpb25hbGx5LCBTaW1vbiBldCBhbC4gc2hvd2VkLCB0aGF0IFx1MjAxQ2VmZmljaWVuY3kgb2YgcHJpbWUgZWRpdGluZyB0byBtb2RpZnkgUEVBUiBwbGFzbWlkcyBpcyBnb3Zlcm5lZCBieSB0aGUgc2FtZSBmYWN0b3JzIGFzIHByaW1lIGVkaXRpbmcgaW4gZ2Vub21pYyBjb250ZXh0XHUyMDFELiBXZSByZWFzb25lZCB0aGF0IHRoaXMgc3lzdGVtIG1pZ2h0IGJlIGZsZXhpYmxlLCBhbmQgc2Vuc2l0aXZlIGVub3VnaCB0byBidWlsZCBvdXIgb3B0aW1pemF0aW9ucyBzdHJhdGVnaWVzIHVwb24uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJidWlsZC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBTaW5jZSBub25lIG9mIHVzIGhhZCBhbnkgZXhwZXJpZW5jZSBpbiBwcmltZSBlZGl0aW5nIGJlZm9yZSBvdXIgcHJvamVjdCwgd2Ugd2FudGVkIHRvIHRlc3Qgd2hldGhlciB3ZSBjYW4gZmFjaWxpdGF0ZSBwcmltZSBlZGl0aW5nIGluIHRoZSBmaXJzdCBwbGFjZS4gVG8gZG8gdGhpcyBhbmQgYWxzbyBhc3Nlc3MgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIFBFQVIgc3lzdGVtLCB3ZSBzZXQgdXAgYSBwcm9vZiBvZiBjb25jZXB0IHVzaW5nIHRoZSBQRUFSIDJpbjEgc3lzdGVtLiBUaGlzIHBsYXNtaWQgaW5jbHVkZXMgbm90IG9ubHkgdGhlIGVHRlAgd2l0aCBhbmQgaW50cm9uIGFuZCBkaXNydXB0ZWQgNVx1MjAxOSBzcGxpY2Ugc2l0ZSwgYnV0IGFsc28gYSBwZWdSTkEgZXhwcmVzc2lvbiBjYXNzZXR0ZS4gVGhlIHBlZ1JOQSBpcyBkZXNpZ25lZCBpbiBhIHdheSB0aGF0LCBpbiBjb21iaW5hdGlvbiB3aXRoIGEgcHJpbWUgZWRpdGluZyBwcm90ZWluIGNvbXBsZXgsIGNvcnJlY3RzIHRoZSBkaXNydXB0ZWQgc3BsaWNpbmcgc2lnbmFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXN0LWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoZSBleHBlcmltZW50LCB3ZSB0cmFuc2ZlY3RlZCBIRUsyOTMgY2VsbHMgKGFzIHJlY29tbWVuZGVkIGJ5IDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ21hdHRpanNpbnYnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gTWF0dGlqcyBCdWxjYWVuIDwvYT4pIHdpdGggdGhlIHBDTVYtUEUyIHByaW1lIGVkaXRvcltsaW5rIFBFIHN5c3RlbXNdIHBsYXNtaWQgYW5kIHRoZSBwREFTMTI0ODlfUEVBUi1HRlBfMmluMV8yLjAgbWVudGlvbmVkIGFib3ZlLiBPdXIgZmlyc3QgcHJvb2Ygb2YgY29uY2VwdCBzdWNjZWVkZWQgYXMgd2UgY291bGQgc2VlIGZsdW9yZXNjZW50IGNlbGxzIDcyIGggYWZ0ZXIgdHJhbnNmZWN0aW9uLiBJbiBjb250cmFzdCwgbmVnYXRpdmUgY29udHJvbHMgd2l0aCBvbmx5IG9uZSBvZiB0aGUgcGxhc21pZHMgdHJhbnNmZWN0ZWQgZGlkIG5vdCBzaG93IGFueSBmbHVvcmVzY2VuY2UuIEhvd2V2ZXIsIHRoZSB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSBpbiBvdXIgaW5pdGlhbCB0ZXN0IHJ1bnMgd2FzIHF1aXRlIGxvdywgYXMgaW5kaWNhdGVkIGJ5IGEgdGVjaG5pY2FsIHBvc2l0aXZlIGNvbnRyb2wuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJsZWFybi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHByb3ZlZCwgdGhhdCBub3Qgb25seSB3ZSB3ZXJlIGFibGUgdG8gdXNlIHByaW1lIGVkaXRpbmcgaW4gb3VyIG1vZGVsLCBidXQgYWxzbyB0aGF0IHRoZSBQRUFSIHJlcG9ydGVyIHN5c3RlbSBjYW4gcmVwb3J0IHN1Y2Nlc3NmdWwgcHJpbWUgZWRpdGluZy4gVGhvdWdoIHRoaXMgd2FzIGEgdmVyeSBwcm9taXNpbmcgc3RhcnQsIGZ1cnRoZXIgc3RlcHMgaGFkIHRvIGJlIHRha2VuIHRvIGVuYWJsZSBjb250ZXh0IHNwZWNpZmljIHRlc3Rpbmcgb2YgcHJpbWUgZWRpdGluZy4gRmlyc3RseSwgdGhlIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5IGhhZCB0byBiZSBpbXByb3ZlZCAoc2VlIFRyYW5zZmVjdGlvbiBPcHRpbWl6YXRpb25bbGlua10pLiBTZWNvbmRseSwgdGhlIHJlcG9ydGVyIGhhZCB0byBiZSBtb2RpZmllZCBpbiBhIHdheSB0aGF0IHJlc2VtYmxlcyB0aGUgZ2Vub21pYyBDRlRSIHRhcmdldC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cInJlcDNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwiQ29udGV4dHVhbGl6YXRpb24gb2YgUEVBUlwiIGlkPVwicmVwM2hlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwiZGVzaWduLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBvcmlnaW5hbCBQRUFSIHBsYXNtaWQgcERBUzEyMTI0X1BFQVItR0ZQLXByZWVkaXRlZCB0aGF0IHdlIGJvdWdodCBmcm9tIEFkZEdlbmUgcmVwcmVzZW50cywgYXMgdGhlIG5hbWUgc3VnZ2VzdHMsIGhvdyB0aGUgcmVwb3J0ZXIgc2hvdWxkIGxvb2sgbGlrZSBhZnRlciBzdWNjZXNzZnVsIGVkaXRpbmcgYW5kIGNhbiB0aHVzIGJlIHVzZWQgYXMgYSBwb3NpdGl2ZSBjb250cm9sIGFuZCBmb3Igbm9ybWFsaXphdGlvbi4gVG8gYWx0ZXIgdGhlIFBFQVIgcGxhc21pZCBzbyB0aGF0IGl0IG1pbWljcyB0aGUgbXV0YXRlZCBnZW5vbWljIENGVFIgdGFyZ2V0LCB3ZSBmaXJzdCBhbmFseXplZCB0aGUgcmVnaW9uIHN1cnJvdW5kaW5nIENGVFIgRjUwOGRlbCBtdXRhdGlvbi4gQXMgdGhlIG11dGF0aW9uIGlzIGEgdGhyZWUgYmFzZSBwYWlyIGRlbGV0aW9uLCB3ZSBpbnRyb2R1Y2VkIHRoZSB2ZXJ5IHNhbWUgYXQgdGhlIDVcdTIwMTkgc3BsaWNpbmcgc2lnbmFsLiBGb3IgdGhpcyBtb2RpZmljYXRpb24gdG8gcmVsaWFibHkgZGlzcnVwdCBpbnRyb24gc3BsaWNpbmcgYW5kIHRodXMgZUdGUCBleHByZXNzaW9uLCB3ZSBlZmZlY3RpdmVseSByZW1vdmVkIHRoZSBHVCBiYXNlcyBvZiB0aGUgaW50cm9uaWMgNVx1MjAxOSBzcGxpY2UgZG9ub3Igc2l0ZSBhcyB3ZWxsIGFzIHRoZSBwcmVjZWRpbmcsIGV4b25pYyBHIGJhc2Ugb2YgdGhlIDVcdTIwMTkgZmxhbmtpbmcgc2VxdWVuY2UuIFNlY29uZGx5LCB3ZSByZXBsYWNlZCB0aGUgaW50cm9uaWMgcmVnaW9uIGRvd25zdHJlYW0gb2YgdGhlIGZvdXIgYmFzZSBwYWlyIDNcdTIwMTkgZmxhbmtpbmcgcmVnaW9uIHdpdGggdGhlIHJlc3BlY3RpdmUgc2VxdWVuY2UgZnJvbSB0aGUgQ0ZUUiBsb2N1cy4gVGhpcyAyNyBicCBzdWJzdGl0dXRlIGluY2x1ZGVkIGEgUEFNIHNlcXVlbmNlLCBhbiBlbnRpcmUgc3BhY2VyIGFzIHdlbGwgYXMgZm91ciBhZGRpdGlvbmFsIGJhc2UgcGFpcnMgaW4gYmV0d2VlbiBwcmVzZW50IGluIHRoZSBvcmlnaW5hbCBnZW5lIHNlcXVlbmNlLiBMYXN0bHksIHdlIGludHJvZHVjZWQgc2lsZW50IG11dGF0aW9ucyB1cHN0cmVhbSBvZiB0aGUgNVx1MjAxOSBmbGFua2luZyBzZXF1ZW5jZSB0aGF0IGxvd2VyZWQgdGhlIEdDIGNvbnRlbnQuIFRoaXMgd2FzIHRvIG1pbWljIHRoZSBBVC1yaWNoIHJlZ2lvbiBwcmVjZWRpbmcgdGhlIEY1MDhkZWwgbXV0YXRpb24gaW4gdGhlIENGVFIgZ2VuZS4gVGhpcyByZXZlYWxzIG9uZSBvZiB0aGUgbmVjZXNzYXJ5IHNob3J0Y29taW5ncyBvZiB0aGlzIHJlcG9ydGVyOiBFZGl0cyB1cHN0cmVhbSBvZiB0aGUgNVx1MjAxOSBkb25vciBzaXRlIGFyZSBoZWF2aWx5IHJlc3RyaWN0ZWQgYnkgdGhlIGVHRlAgY29kaW5nIHNlcXVlbmNlLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwiYnVpbGQtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UgY29uc3RydWN0ZWQgdGhlIHJlcG9ydGVyIHN5c3RlbSBieSBmaXJzdCBhbmFseXppbmcgdGhlIG9yaWdpbmFsIHBsYXNtaWQgdG8gaWRlbnRpZnkgYXBwcm9wcmlhdGUgcmVzdHJpY3Rpb24gc2l0ZXMuIFdlIHRoZW4gZGlnZXN0ZWQgdGhlIHBsYXNtaWQgYmFja2JvbmUgYW5kIGNsb25lZCBpbiBhIGdlbmUgc3ludGhlc2lzIGZyYWdtZW50IG9yZGVyZWQgYXQgSURUIGNvbnRhaW5pbmcgdGhlIGVkaXRzIHZpYSBHaWJzb24gQXNzZW1ibHkgY2xvbmluZy4gVGhlIGNvcnJlY3QgY2xvbmluZyB3YXMgdmFsaWRhdGVkIGZpcnN0IGJ5IGNvbG9ueSBQQ1IgYW5kIHRoZW4gYnkgc2VxdWVuY2luZyB0aGUgcmVnaW9ucyBvZiB0aGUgcGxhc21pZCBjb250YWluaW5nIHRoZSBjbG9uaW5nIHNpdGVzIGFuZCBvdXIgbW9kaWZpY2F0aW9ucy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGVzdC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBXZSBldmFsdWF0ZWQgdGhlIGZ1bmN0aW9uYWxpdHkgb2Ygb3VyIHJlcG9ydGVyIHN5c3RlbSBieSBjby10cmFuc2ZlY3Rpbmcgb3VyIHJlcG9ydGVyIGNvbnN0cnVjdCB3aXRoIGEgcENNVi1QRTIgcHJpbWUgZWRpdG9yIHBsYXNtaWQgYXMgd2VsbCBhcyBhIHBsYXNtaWQgZXhwcmVzc2luZyBwZWdSTkEgdGhhdCB0YXJnZXRlZCBvdXIgcmVwb3J0ZXIgKHNlZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdwZWdybmEnLCAnL2VuZ2luZWVyaW5nJyl9PiBwZWdSTkEgZW5naW5lZXJpbmcgY3ljbGUgPC9hPikgaW50byBIRUsyOTMgY2VsbHMuIEFmdGVyIDcyIGggd2Ugc2F3IGEgc2lnbmlmaWNhbnQgbnVtYmVyIG9mIGNlbGxzIHNob3dpbmcgZmx1b3Jlc2NlbmNlLiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkaXRpb25hbGx5LCBmb3IgcG9zaXRpdmUgY29udHJvbHMgd2UgdHJhbnNmZWN0ZWQgYSB0ZWNobmljYWwgY29udHJvbCBwbGFzbWlkIGFzIHdlbGwgdGhlIHVubW9kaWZpZWQgcERBUzEyMTI0X1BFQVItR0ZQLXByZWVkaXRlZCBwbGFzbWlkLCB3aGljaCBjb3VsZCBiZSB1c2VkIHRvIGRldGVybWluZSB0aGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgYXMgd2VsbCBhcyBub3JtYWxpemUgdGhlIGVkaXRpbmcgZWZmaWNpZW5jeS4gQXMgbmVnYXRpdmUgY29udHJvbHMsIG91ciBtb2RpZmllZCBwbGFzbWlkLCBwQ01WLVBFMiBhbmQgdGhlIHBlZ1JOQSBwbGFzbWlkIHdlcmUgdHJhbnNmZWN0ZWQuIFRoZSBwb3NpdGl2ZSBjb250cm9scyBzaG93ZWQgZmx1b3Jlc2NlbmNlLCB3aGlsZSB0aGUgbmVnYXRpdmUgY29udHJvbCBkaWQgbm90LiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciByZXN1bHRzIGRlbW9uc3RyYXRlIHRocmVlIHRoaW5nczogRmlyc3RseSwgdGhlIG9yaWdpbmFsIHBEQVMxMjEyNF9QRUFSLUdGUC1wcmVlZGl0ZWQgcGxhc21pZCBsZWFkcyB0byB1bmRpc3J1cHRlZCBleHByZXNzaW9uIG9mIGVHRlAgaW4gdGhlIHRyYW5zZmVjdGVkIGNlbGxzLiBTZWNvbmRseSwgdGhlIG1vZGlmaWNhdGlvbnMgdGhhdCB3ZSBtYWRlIHRvIGNyZWF0ZSBvdXIgb3duLCBjb250ZXh0IHNwZWNpZmljIFBFQVIgcGxhc21pZCBwcmV2ZW50ZWQgcHJvcGVyIGV4cHJlc3Npb24gb2YgZUdGUCBpbiB0cmFuc2ZlY3RlZCwgdW5lZGl0ZWQgY2VsbHMgYXMgcGxhbm5lZCBhbmQgbm90YWJseSB3aXRoIG5vIGFwcGFyZW50IG5vaXNlLiBUaGUgbGFzdCBhbmQgbW9zdCBpbXBvcnRhbnQgaW5zaWdodCBnYWluZWQgd2FzLCB0aGF0IGVkaXRpbmcgb2YgdGhlIHJlcG9ydGVyIHBsYXNtaWQgdXNpbmcgcmVzcGVjdGl2ZSBwZWdSTkFzIHN1Y2Nlc3NmdWxseSByZXN0b3JlcyBlR0ZQIGV4cHJlc3Npb24sIHByb3ZpbmcgdGhhdCBvdXIgcmVwb3J0ZXIgd29ya3MgYXMgaW50ZW5kZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPlRoaXMgYWNoaWV2ZW1lbnQgZm9ybWVkIGEgY29udmVuaWVudCBiYXNpcyBmb3IgdGhlIGZvbGxvd2luZyBvcHRpbWl6YXRpb24gb2YgcHJpbWUgZWRpdGluZyBpbiB0aGUgQ0ZUUiBGNTA4ZGVsIGxvY3VzIGZvciB1cyBhcyB3ZWxsIGFzIG90aGVyIHJlc2VhcmNoIGdyb3Vwcy48L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJyZXA0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIkFwcGxpY2F0aW9uIGluIGVwaXRoZWxpYWwgQ2VsbHNcIiBpZD1cInJlcDRoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBBbHRob3VnaCB3ZSBjb3VsZCBzaG93IHRoYXQgb3VyIFBFQVIgcmVwb3J0ZXIgcGxhc21pZCB3b3JrcyBpbiBhIEhFSyBjZWxsIG1vZGVsLCBhY2NvcmRpbmcgdG8gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignaWduYXRvdmEnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gUHJvZi5Eci4gWm95YSBJZ25hdG92YSA8L2E+IGluc2lnaHRzIGdhaW5lZCBoZXJlIG1pZ2h0IHN0aWxsIG5vdCBlbnRpcmVseSB0cmFuc2ZlciB0byBjZWxscyBhY3RpdmVseSBleHByZXNzaW5nIENGVFIuIEFzIHJlY29tbWVuZGVkLCB3ZSBhcHBsaWVkIG91ciByZXBvcnRlciB0byBhIHN5c3RlbSBjbG9zZXIgdG8gYSB0aGVyYXBldXRpYyB0YXJnZXQgQ0ZCRTQxby1bbGlua10uIFRoZSBjZWxscyBhcmUgZGVyaXZlZCBmcm9tIGJyb25jaGlhbCBlcGl0aGVsaWFsIGNlbGxzIG9mIGEgY3lzdGljIGZpYnJvc2lzIHBhdGllbnQgYW5kIGFyZSBob21venlnb3VzIGZvciBDRlRSIEY1MDhkZWwuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJidWlsZC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgZXhwZXJpbWVudGluZyBpbiBDRkJFNDFvLSBjZWxscywgdGhlIHNhbWUgcmVwb3J0ZXIgY29uc3RydWN0IHdhcyB1c2VkIGFzIGZvciB0aGUgSEVLMjkzIHRlc3QuIEhvd2V2ZXIsIHdlIHVzZWQgYSBkaWZmZXJlbnQgcHJpbWUgZWRpdG9yIChwQ01WLVBFNmMsIHNlZSBwcmltZSBlZGl0aW5nIHN5c3RlbXMgZW5naW5lZXJpbmcgY3ljbGU8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdwZS1zeXN0ZW1zJywgJy9lbmdpbmVlcmluZycpfT4gcHJpbWUgZWRpdGluZyBzeXN0ZW1zIGNpcmNsZSA8L2E+KSwgYW5kIG9ubHkgcGVnUk5BcyB3ZXJlIHVzZWQsIHRoYXQgcHJvdmVkIHRoZSBtb3N0IGVmZmljaWVudCBpbiBwcmVjZWRpbmcgZXhwZXJpbWVudHMgKHNlZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdwZWdybmEnLCAnL2VuZ2luZWVyaW5nJyl9PiBwZWdSTkEgZW5naW5lZXJpbmcgY3ljbGUgPC9hPikuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRlc3QtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgU2ltaWxhciB0byB0aGUgcHJldmlvdXMgY3ljbGUsIHdlIGV2YWx1YXRlZCB0aGUgZnVuY3Rpb25hbGl0eSBvZiBvdXIgcmVwb3J0ZXIgc3lzdGVtIGJ5IGNvLXRyYW5zZmVjdGluZyBvdXIgcmVwb3J0ZXIgY29uc3RydWN0IHdpdGggYSBwQ01WLVBFNmMgcHJpbWUgZWRpdG9yIHBsYXNtaWQgYXMgd2VsbCBhcyBhIHBsYXNtaWQgZXhwcmVzc2luZyBwZWdSTkEgdGhhdCB0YXJnZXRlZCBvdXIgcmVwb3J0ZXIgdGhpcyB0aW1lIGludG8gQ0ZCRTQxby0gY2VsbHMuIEFmdGVyIDcyIGggd2Ugc2F3IGEgc2lnbmlmaWNhbnQgbnVtYmVyIG9mIGNlbGxzIHNob3dpbmcgZmx1b3Jlc2NlbmNlLiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlrZSB3aXRoIHRoZSBleHBlcmltZW50cyBpbiBIRUsgY2VsbHMsIHdlIHRyYW5zZmVjdGVkIGEgdGVjaG5pY2FsIGNvbnRyb2wgcGxhc21pZCBhcyB3ZWxsIHRoZSB1bm1vZGlmaWVkIHBEQVMxMjEyNF9QRUFSLUdGUC1wcmVlZGl0ZWQgcGxhc21pZCBhcyBwb3NpdGl2ZSBjb250cm9scyBhbmQgb3VyIG1vZGlmaWVkIHBsYXNtaWQsIHBDTVYtUEU2YyBhbmQgdGhlIHBlZ1JOQSBwbGFzbWlkIGluZGl2aWR1YWxseSBhcyBuZWdhdGl2ZSBjb250cm9scy4gQWdhaW4sIHRoZSBwb3NpdGl2ZSBjb250cm9scyBzaG93ZWQgc29saWQgZmx1b3Jlc2NlbmNlLCB3aGlsZSB0aGUgbmVnYXRpdmUgY29udHJvbCBkaWQgbm90LiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgZXhwZXJpbWVudCBjb25maXJtcyB0aGF0IG91ciByZXBvcnRlciBjYW4gbm90IG9ubHkgYmUgdXNlZCBpbiBjZWxsIGxpbmVzIGRpc3RhbnRseSByZWxhdGVkIHRvIHBhdGllbnQgY2VsbHMgb2YgaW50ZXJlc3QsIGluIG91ciBjYXNlIEhFSzIwMyBjZWxscywgYnV0IGFsc28gd29ya3MgaW4gY2VsbHMgYWN0aXZlbHkgZXhwcmVzc2luZyBDRlRSIGFuZCBjYXJyeWluZyB0aGUgbXV0YXRpb24uIFRoZSByZXBvcnRlciBzdGlsbCBzaG93ZWQgbm8gbm9pc2UuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJyZXA1XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIkFwcGxpY2F0aW9uIGluIFByaW1hcnkgQ2VsbHNcIiBpZD1cInJlcDVoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgbW9kZWwgY2xvc2VzdCB0byBhcHBsaWNhdGlvbiBpbiBhY3R1YWwgcGF0aWVudCBjZWxscyBhcmUgaHVtYW4gZGVyaXZlZCBwcmltYXJ5IGNlbGxzLiBGb3Igb3VyIGxhc3QgdGVzdCBvZiBvdXIgbW9kaWZpZWQgUEVBUiByZXBvcnRlciwgd2UgdGh1cyBjaG9zZSB0byB1c2UgaHVtYW4gbmFzYWwgZXBpdGhlbGlhbCBjZWxsc1tsaW5rXSBkZXJpdmVkIGZyb20gbWVtYmVycyBvZiBvdXIgdGVhbS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvciB0ZXN0aW5nIG91ciByZXBvcnRlciBpbiB0aGUgaHVtYW4gbmFzYWwgZXBpdGhlbGlhbCBjZWxscywgdGhlIHNhbWUgY29uc3RydWN0cyBoYXZlIGJlZW4gdXNlZCBhcyBpbiB0aGUgcHJldmlvdXMgaXRlcmF0aW9uIHdpdGggQ0ZCRTQxby0gY2VsbHMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRlc3QtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGV4cGVyaW1lbnRhbCBzZXR1cCBmb3IgdGhpcyBleHBlcmltZW50IHdhcyBhIHNjYWxlZCBkb3duIHZlcnNpb24gb2YgdGhlIHByZXZpb3VzIGN5Y2xlIHdpdGggdGhlIG9ubHkgYWx0ZXJlZCB2YXJpYWJsZSBiZWluZyB0aGUgY2VsbHMgdHJhbnNmZWN0ZWQuIEluIHRoaXMgY2FzZSwgd2UgZGlkIG5vdCBvYnNlcnZlIGFueSBmbHVvcmVzY2VuY2UsIG5laXRoZXIgaW4gdGhlIHRlc3RlZCBjZWxscywgbm9yIHRoZSB0ZWNobmljYWwgb3IgcERBUzEyMTI0X1BFQVItR0ZQLXByZWVkaXRlZCBwb3NpdGl2ZSBjb250cm9scy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoaXMgbGFzdCBleHBlcmltZW50LCB0aGUgbmVnYXRpdmUgdGVjaG5pY2FsIHBvc2l0aXZlIGNvbnRyb2wgaW1wbGllcyBhIGZhaWxlZCB0cmFuc2ZlY3Rpb24gb2YgdGhlIGNlbGxzLiBUaHVzLCB0aGlzIGF0dGVtcHQgZGlkIG5vdCBhbGxvdyB0byBkcmF3IGFueSBjb25jbHVzaW9uIHJlZ2FyZGluZyB0aGUgZnVuY3Rpb24gb2Ygb3VyIHJlcG9ydGVyIGluIHByaW1hcnkgY2VsbHMuIFRoZSBleHBlcmltZW50IGlzIHRvIGJlIHJlcGVhdGVkIGluIHRoZSBmdXR1cmUuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJyZXA2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIk91dGxvb2tcIiBpZD1cInJlcDZoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBPdXIgQ0ZUUiBjb250ZXh0dWFsaXplZCBQRUFSIHJlcG9ydGVyIHByb3ZlZCB0byBjb25zaXN0ZW50bHkgYWxsb3cgZGV0ZWN0aW9uIG9mIHByaW1lIGVkaXRpbmcgd2l0aG91dCBub3RhYmxlIG5vaXNlLCBsYXlpbmcgdGhlIGZvdW5kYXRpb24gZm9yIG9wdGltaXphdGlvbiBvZiBleGlzdGluZyBhbmQgdGVzdGluZyBvZiBuZXcgcHJpbWUgZWRpdGluZyBzeXN0ZW1zLiBBbHRob3VnaCB2ZXJ5IHZlcnNhdGlsZSBpbiB0aGUgY29udGV4dCBvZiB0YXJnZXRpbmcgQ0ZUUiBGNTA4ZGVsIHdpdGggdGhlIHNwYWNlciBvZiBvdXIgY2hvaWNlW2xpbmtdLCBhIHdpZGVyIGFwcGxpY2FiaWxpdHkgdG8gb3RoZXIgZ2Vub21pYyB0YXJnZXRzIGFuZCBvdGhlciBwb3NzaWJsZSBwcmltZSBlZGl0b3IgdmFyaWFudHMgd29ya2luZyBkaWZmZXJlbnRseSB0aGFuIENhczktYmFzZWQgc3lzdGVtcyB3b3VsZCBiZSBmYXZvcmFibGUuIEluIHRoZSBvcmlnaW5hbCBQRUFSIHBsYXNtaWQgaG93ZXZlciwgbW9kaWZpY2F0aW9uIG9mIHZhcmlhYmxlIHJlZ2lvbiBpcyBxdWl0ZSBpbXByYWN0aWNhbC4gQWxzbywgYXMgYSBwYXJ0IHRoZSBlR0ZQIGlzIFJDRlsxMDAwXSBidXQgbm90IFJDRlsxMF0gQmlvQnJpY2sgc3RhbmRhcmQgY29uZm9ybSBhbmQgaGFyZGx5IGNvbXBhdGlibGUgd2l0aCBvdGhlciBwYXJ0cyBsaWtlIG91ciBQcmVDeXNlIGNhc3NldHRlW2xpbmtdLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIHdoeSwgYXMgYW4gb3V0bG9vayBhbmQgY29udHJpYnV0aW9uIGZvciBmdXR1cmUgaUdFTSB0ZWFtcywgd2UgY3JlYXRlZCBhIG1vcmUgbW9kdWxhciBhbmQgY29tcGF0aWJsZSBwYXJ0LiBGb3IgdGhpcyB3ZSBtYWRlIHVzZSBvZiB0aGUgZXhwZXJpZW5jZSBnYWluZWQgd2hlbiBjbG9uaW5nIHBlZ1JOQXMuIEFuIG9saWdvbnVjbGVvdGlkZS1iYXNlZCBnb2xkZW4gZ2F0ZSBjbG9uaW5nIHNpdGUgaW4gdGhlIHJlZ2lvbiBvZiBpbnRlcmVzdCBzdXJyb3VuZGluZyB0aGUgNVx1MjAxOSBzcGxpY2UgZG9ub3Igc2l0ZSBhbGxvd3MgZm9yIGNoZWFwIGFuZCBjb252ZW5pZW50IG1vZGlmaWNhdGlvbiBvZiB0aGUgc2VxdWVuY2UuIFRoZSBhcmVhIGJldHdlZW4gdGhlIFR5cGVJSVMgcmVzdHJpY3Rpb24gc2l0ZXMgaXMgZGVzaWduZWQgYXMgYSBkcm9wb3V0IGNhc3NldHRlIGNvZGluZyBmb3IgYSBmbHVvcmVzY2VuY2UgbWFya2VyIGV4cHJlc3NlZCBpbiBFLiBjb2xpLCB0aGF0IGVuYWJsZXMgcmFwaWQgc2NyZWVuaW5nIGZvciB0cmFuc2Zvcm1hbnRzIGNvbnRhaW5pbmcgY29ycmVjdGx5IGRpZ2VzdGVkIHBsYXNtaWQgYmFja2JvbmVzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgey8qIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXN0LWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwibGVhcm4taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+ICovfVxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIlJlZmVyZW5jZXNcIiBpZD1cInJlZmVyZW5jZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxFbmdSZXBzb3VyY2VzLz5cbiAgICAgICAgICAgICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZnRcIj48QnV0dG9uT25lRW5naW5lZXJpbmcgbGFiZWw9XCJQcmV2aW91c1wiIG9wZW49XCJvdXItY3ljbGVcIiBzY3JvbGxUb0lkPVwib3VyLWN5Y2xlLWhlYWRlclwiLz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgYnV0dG9uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmlnaHRcIj48QnV0dG9uT25lRW5naW5lZXJpbmcgbGFiZWw9XCJOZXh0XCIgb3Blbj1cInRyYW5zZmVjdGlvblwiIHNjcm9sbFRvSWQ9XCJ0cmFuc2ZlY3Rpb24taGVhZGVyXCIvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGlkPVwidGFiLXRyYW5zZmVjdGlvblwiIGNsYXNzTmFtZT1cImVuZ2lubmVlcmluZ3RhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgIDxzZWN0aW9uICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVuZy1ib3ggYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPEgyIGlkPVwidHJhbnNmZWN0aW9uLWhlYWRlclwiIHRleHQ9XCJPcHRpbWl6YXRpb24gb2YgVHJhbnNmZWN0aW9uXCI+PC9IMj5cbiAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVG8gdGVzdCBwcmltZSBlZGl0b3JzLCBhIHJlbGlhYmxlIG1vZGVsIHN5c3RlbSBpcyByZXF1aXJlZC4gSEVLMjkzIGNlbGxzIGFyZSBhIGh1bWFuIGRlcml2ZWQgY2VsbCBsaW5lIGFuZCB3aWRlbHkgdXNlZCBpbiBhIHZhcmlldHkgb2YgZmllbGRzIGluIGJpb2xvZ3k8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItdHJhbnNmZWN0aW9uXCIgbnVtPVwiMVwiIHNjcm9sbElkPVwiZGVzYy0xXCIvPi4gQXBhcnQgZnJvbSBlYXN5IGhhbmRsaW5nIGFuZCBjb21wYXJhdGl2ZWx5IGVhc3kgdHJhbnNmZWN0aW9uLCB0aGV5IGhhdmUsIGFzIHdlIGZvdW5kIG91dCBpbiBvdXIgZXhjaGFuZ2Ugd2l0aCAgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignbWF0dGlqc2ludicsICcvaHVtYW4tcHJhY3RpY2VzJyl9Pk1hdHRpanMgQnVsY2FlbjwvYT4sIG9uZSBhZHZhbnRhZ2Ugb3ZlciBvdGhlciBtb2RlbHM6IFRoZXkgYXJlIG5hdHVyYWxseSBpbXBhaXJlZCBpbiBETkEgcmVwYWlyIG1lY2hhbmlzbXMgYW5kIHRoZXJlZm9yZSBlYXNpZXIgdG8gZWRpdC4gVG8gcHJvcGVybHkgY29tcGFyZSBlZGl0aW5nIGVmZmljaWVuY2llcywgYSBoaWdoIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5IGlzIG9mIHV0bW9zdCBpbXBvcnRhbmNlLiBUaGlzIGVuZ2luZWVyaW5nIGN5Y2xlIGZvY3VzZXMgb24gb3VyIHdvcmsgaW4gc2ltdWxhdGluZyBwcmltZSBlZGl0aW5nIHVzaW5nIHRoZSBQRUFSIHJlcG9ydGVyIHN5c3RlbTxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi10cmFuc2ZlY3Rpb25cIiBudW09XCIyXCIgc2Nyb2xsSWQ9XCJkZXNjLTJcIi8+IGFuZCBvcHRpbWl6aW5nIHRyYW5zZmVjdGlvbiBwcm90b2NvbHMuXG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJ0cmYxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIlRlc3Qgb2YgTGlwb2ZlY3RhbWluZSAyMDAwXCIgaWQ9XCJ0cmYxaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBCZWZvcmUgdGVzdGluZyBhbnkgb2Ygb3VyIG1lY2hhbmlzdGljIGFwcHJvYWNoZXMsIHdlIGhhZCB0byBleGFtaW5lIHdoZXRoZXIgd2UgY2FuIGZhY2lsaXRhdGUgYW5kIGRldGVjdCBwcmltZSBlZGl0aW5nIGluIHRoZSBmaXJzdCBwbGFjZS4gRHVyaW5nIG91ciByZXNlYXJjaCB3ZSBldmVudHVhbGx5IHN0dW1ibGVkIHVwb24gdGhlIFBFQVIgcmVwb3J0ZXIgc3lzdGVtIChzZWUgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigncGVncm5hJywgJy9lbmdpbmVlcmluZycpfT4gcGVnUk5BIGVuZ2luZWVyaW5nIGN5Y2xlIDwvYT4pKS4gVGhlIFBFQVIgMmluMSBwbGFzbWlkIHJlcG9ydGVyIGluY2x1ZGVzIGEgR0ZQIHRoYXQgaXMgdG8gYmUgZWRpdGVkIGZvciBzZW5zaXRpdmUgcHJpbWUgZWRpdGluZyBkZXRlY3Rpb24sIGFuZCBhIHBlZ1JOQSBleHByZXNzaW9uIGNhc3NldHRlIHdpdGggYSBwZWdSTkEgdGFyZ2V0aW5nIHRoZSBwbGFzbWlkIGl0c2VsZi4gSGF2aW5nIGZvdW5kIGEgc3lzdGVtIGNhcGFibGUgb2YgZGV0ZWN0aW5nIGV2ZW4gc21hbGwtc2NhbGUgcHJpbWUgZWRpdGluZywgdGhlIG5leHQgc3RlcCB3YXMgdG8gZmluZCB0cmFuc2ZlY3Rpb24gY29uZGl0aW9ucyB0aGF0IHdvdWxkIHdvcmsuIEluIHRoZSBsaXRlcmF0dXJlLCBMaXBvZmVjdGFtaW5lIGlzIGRlc2NyaWJlZCBhcyBhIGNvbW1vbiB0cmFuc2ZlY3Rpb24gYWdlbnQuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZmVjdGlvbiB3aXRoIExpcG9mZWN0YW1pbmUgMjAwMCB3YXMgcGVyZm9ybWVkIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQW56YWxvbmUgcHJvdG9jb2wuIEhvd2V2ZXIsIHRoZSByZXN1bHQgd2FzIGNoYXJhY3Rlcml6ZWQgYnkgaW5zdWZmaWNpZW50IHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgQW56YWxvbmUgZXQgYWwuIDIwMTk8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItdHJhbnNmZWN0aW9uXCIgbnVtPVwiM1wiIHNjcm9sbElkPVwiZGVzYy0zXCIvPiBkZXNjcmliZSBhIHRyYW5zZmVjdGlvbiBvZiBwcmltZS1lZGl0aW5nIGNvbXBsZXhlcyB3aXRoIExpcG9mZWN0YW1pbmUgMjAwMC4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYW5zZmVjdGlvbiB3aXRoIExpcG9mZWN0YW1pbmUgMjAwMCB3YXMgcGVyZm9ybWVkIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgQW56YWxvbmUgcHJvdG9jb2wuIEhvd2V2ZXIsIHRoZSByZXN1bHQgd2FzIGNoYXJhY3Rlcml6ZWQgYnkgaW5zdWZmaWNpZW50IHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGxvdyBlZmZpY2llbmN5IG9mIExpcG9mZWN0YW1pbmUgMjAwMCBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJvZHVjdCBpcyBub3Qgb3B0aW1hbGx5IHN1aXRlZCB0byB0aGUgc3BlY2lmaWMgY29uZGl0aW9ucyB1bmRlciBjb25zaWRlcmF0aW9uLiBJbiBjb250cmFzdCwgTGlwb2ZlY3RhbWluZSAzMDAwIGlzIGRlc2NyaWJlZCBpbiB0aGUgbGl0ZXJhdHVyZSBhcyBwb3RlbnRpYWxseSBtb3JlIGVmZmljaWVudC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwidHJmMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJJbml0aWFsIFRlc3Qgd2l0aCBMaXBvZmVjdGFtaW5lIDMwMDBcIiBpZD1cInRyZjJoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIGxpZ2h0IG9mIHRoZSBhZm9yZW1lbnRpb25lZCBmaW5kaW5ncywgdGhlIGRlY2lzaW9uIHdhcyB0YWtlbiB0byB0ZXN0IExpcG9mZWN0YW1pbmUgMzAwMCwgZ2l2ZW4gaXRzIHJlcHV0YXRpb24gZm9yIGdyZWF0ZXIgZWZmaWNpZW5jeS4gQSBuZXcgdGVzdCBkZXNpZ24gd2FzIGRldmlzZWQsIHV0aWxpemluZyBMaXBvZmVjdGFtaW5lIDMwMDAgd2l0aCBhbiBlcXVpdmFsZW50IHF1YW50aXR5IG9mIEROQSBhbmQgbW9kaWZpZWQgdHJhbnNmZWN0aW9uIGNvbmRpdGlvbnMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBhY2NvcmRhbmNlIHdpdGggdGhlIGVzdGFibGlzaGVkIHByb3RvY29sLCB0aGUgcmVjb21tZW5kZWQgcmF0aW8gb2YgMSBcdTAwQjVnIEROQSB0byAyIFx1MDBCNWwgTGlwb2ZlY3RhbWluZSAzMDAwLCBhcyBwcm92aWRlZCBieSBUaGVybW9GaXNoZXIsIHdhcyB0byBiZSBlbXBsb3llZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIG9iamVjdGl2ZSBvZiB0aGUgZXhwZXJpbWVudCB3YXMgdG8gZW5oYW5jZSB0aGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgb2YgTGlwb2ZlY3RhbWluZSAzMDAwLiBUaGUgdHJhbnNmZWN0aW9uIHByb3RvY29sIHdhcyBjb25kdWN0ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBtYW51ZmFjdHVyZXIncyBpbnN0cnVjdGlvbnMgKDEgXHUwMEI1ZyBETkEsIDIgXHUwMEI1bCBMaXBvZmVjdGFtaW5lIDMwMDAgcmVhZ2VudCkuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBvdXRjb21lIHJldmVhbGVkIHRoYXQgZGVzcGl0ZSB0aGUgbW9kaWZpY2F0aW9uLCB0aGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgcmVtYWluZWQgaW5hZGVxdWF0ZSwgYWx0aG91Z2ggYSBtYXJnaW5hbCBpbXByb3ZlbWVudCB3YXMgZGlzY2VybmlibGUuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBBbHRob3VnaCBhIHN3aXRjaCB0byBMaXBvZmVjdGFtaW5lIDMwMDAgcmVzdWx0ZWQgaW4gYSBtYXJnaW5hbCBpbXByb3ZlbWVudCwgdGhlIGVmZmljaWVuY3kgZmVsbCBzaG9ydCBvZiBleHBlY3RhdGlvbnMuIFRoaXMgaW5kaWNhdGVzIHRoYXQgZnVydGhlciBvcHRpbWl6YXRpb24gaXMgcmVxdWlyZWQgaW4gdGVybXMgb2YgdGhlIGFtb3VudCBvZiBMaXBvZmVjdGFtaW5lIGFuZCBETkEsIGFzIHdlbGwgYXMgdGhlIG1lZGl1bSB1c2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwidHJmM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJPcHRpbWl6YXRpb24gb2YgRE5BIGFuZCBMaXBvZmVjdGFtaW5lIFZvbHVtZXNcIiBpZD1cInRyZjNoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIEluIG9yZGVyIHRvIG9wdGltaXplIHRoZSB0cmFuc2ZlY3Rpb24gcHJvY2VzcywgYSBuZXcgb3B0aW1pemF0aW9uIHRlc3Qgd2FzIGRlc2lnbmVkLCB3aGljaCBpbmNvcnBvcmF0ZWQgYSB2YXJpYWJsZSBkZXNpZ24gd2l0aCByZWdhcmQgdG8gdGhlIHF1YW50aXR5IG9mIExpcG9mZWN0YW1pbmUgMzAwMCBhbmQgRE5BLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHByb3RvY29sIGVudGFpbGVkIHRoZSB1dGlsaXphdGlvbiBvZiB2YXJ5aW5nIGNvbmNlbnRyYXRpb25zIG9mIExpcG9mZWN0YW1pbmUgMzAwMCwgc3BlY2lmaWNhbGx5IDEgXHUwMEI1bCBhbmQgMS41IFx1MDBCNWwsIHdpdGggYSBETkEgcXVhbnRpdHkgb2YgMSBcdTAwQjVnIG9yIDAuNSBcdTAwQjVnLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPiAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUbyBlbmhhbmNlIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LCBvcHRpbWl6YXRpb24gdGVzdHMgd2VyZSBjb25kdWN0ZWQsIGluIHdoaWNoIHRoZSBxdWFudGl0aWVzIG9mIExpcG9mZWN0YW1pbmUgYW5kIEROQSB3ZXJlIHZhcmllZC4gVGhlIG9iamVjdGl2ZSBvZiB0aGlzIGl0ZXJhdGlvbiB3YXMgdG8gZmluZCB0aGUgb3B0aW1hbCByYXRpbyBvZiBMaXBvZmVjdGFtaW5lIDMwMDAgdG8gRE5BLiBUbyB0aGlzIGVuZCwgMSBcdTAwQjVsIGFuZCAxLjUgXHUwMEI1bCBvZiBMaXBvZmVjdGFtaW5lIDMwMDAgYXQgYSBETkEgY29uY2VudHJhdGlvbiBvZiBlaXRoZXIgMSBcdTAwQjVnIG9yIDAuNSBcdTAwQjVnIHdlcmUgY29tcGFyZWQgd2l0aCBlYWNoIG90aGVyLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGV4cGVyaW1lbnQgZGVtb25zdHJhdGVkIHRoYXQgYSBxdWFudGl0eSBvZiAxIFx1MDBCNWwgTGlwb2ZlY3RhbWluZSAzMDAwIHdhcyBzdWZmaWNpZW50IGZvciBzdWNjZXNzZnVsIHRyYW5zZmVjdGlvbiwgYW5kIHRoYXQgaW5jcmVhc2luZyB0aGUgcXVhbnRpdHkgZG9lcyBub3QgcmVzdWx0IGluIGEgbm90YWJsZSBkaWZmZXJlbmNlLiBBZGRpdGlvbmFsbHksIHRoZSBmaW5kaW5ncyBpbmRpY2F0ZWQgdGhhdCBhbiBhbW91bnQgb2YgMSBcdTAwQjVnIEROQSBleGhpYml0ZWQgYSBoaWdoZXIgZWZmaWNpZW5jeSB0aGFuIGFuIGFtb3VudCBvZiAwLjUgXHUwMEI1ZyBETkEuIEl0IGNhbiBiZSByZWFzb25lZCB0aGF0IGFkZGl0aW9uYWwgZmFjdG9ycyBtYXkgaGF2ZSBjb250cmlidXRlZCB0byB0aGUgcHJldmlvdXNseSBvYnNlcnZlZCBkZWNsaW5lIGluIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LiBPbmUgcG90ZW50aWFsIGV4cGxhbmF0aW9uIGlzIHRoYXQgdGhlIGNlbGxzIG1heSBoYXZlIGJlZW4gaW4gYW4gZXhjZXNzaXZlbHkgaGlnaCBwYXNzYWdlIGxldmVsLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBJdCBjYW4gYmUgcmVhc29uYWJseSBkZWR1Y2VkIHRoYXQgdGhlIGFmb3JlbWVudGlvbmVkIGZhY3RvcnMgbWF5IGhhdmUgY29udHJpYnV0ZWQgdG8gdGhlIG9ic2VydmVkIGRlY2xpbmUgaW4gdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJ0cmY0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIlZhbGlkYXRpb24gb2Ygb3B0aW1pemVkIFByb3RvY29sXCIgaWQ9XCJ0cmY0aGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcmVzdWx0cyBvYnRhaW5lZCB3ZXJlIHVzZWQgdG8gZGV2ZWxvcCBhbiBvcHRpbWl6ZWQgcHJvdG9jb2wgdGhhdCB0YWtlcyBpbnRvIGFjY291bnQgYm90aCB0aGUgY29uY2VudHJhdGlvbiBvZiBMaXBvZmVjdGFtaW5lIGFuZCB0aGUgYW1vdW50IG9mIEROQS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHN1YnNlcXVlbnQgcmVzZWFyY2gsIGEgRE5BIHF1YW50aXR5IG9mIDEgXHUwMEI1ZyBhbmQgYSBkZWZpbmVkIHF1YW50aXR5IG9mIDEgXHUwMEI1bCBvZiBMaXBvZmVjdGFtaW5lIDMwMDAgd2lsbCBiZSB1dGlsaXplZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9sbG93aW5nIGEgc2VyaWVzIG9mIG9wdGltaXphdGlvbnMsIHRoZSBwcm9vZiBvZiBjb25jZXB0IHdhcyBjb25kdWN0ZWQgb25jZSBtb3JlIHRvIGNvbmZpcm0gdGhlIGVmZmljYWN5IG9mIHRoZSBvcHRpbWl6ZWQgcHJvdG9jb2wuIFRoZSBvYmplY3RpdmUgd2FzIHRvIHBlcmZvcm0gdGhlIHRyYW5zZmVjdGlvbiB3aXRoIHRoZSBmaW5hbCwgb3B0aW1pemVkIHByb3RvY29sLiBUaGlzIHByb3RvY29sIGludm9sdmVkIHRoZSB1dGlsaXphdGlvbiBvZiAxIFx1MDBCNWwgTGlwb2ZlY3RhbWluZSAzMDAwLCAxIFx1MDBCNWcgRE5BLCAyIFx1MDBCNWwgUmVhZ2VudCAzMDAwIGFuZCBPcHRpLU1FTSBhcyBhIG1lZGl1bS4gVGhlIG91dGNvbWVzIHdlcmUgZW5jb3VyYWdpbmcsIGFzIHRoZSB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSB3YXMgbWFya2VkbHkgZW5oYW5jZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgdXRpbGl6YXRpb24gb2YgYW4gb3B0aW1pemVkIHF1YW50aXR5IG9mIDEgXHUwMEI1bCBMaXBvZmVjdGFtaW5lIDMwMDAsIGEgZGVmaW5lZCBxdWFudGl0eSBvZiBETkEgYW5kIHRoZSBzdWl0YWJsZSBPcHRpLU1FTSBtZWRpdW0gcmVzdWx0ZWQgaW4gYSBub3RhYmxlIGVuaGFuY2VtZW50IGluIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LiBUaGlzIHN1YnN0YW50aWF0ZXMgdGhlIGFzc2VydGlvbiB0aGF0IHRoZSBhZm9yZW1lbnRpb25lZCBjb25kaXRpb25zIGNvbnN0aXR1dGUgYW4gb3B0aW1hbCBmb3VuZGF0aW9uIGZvciB0aGUgdHJhbnNmZWN0aW9uIG9mIEhFSyBjZWxscyB3aXRoIHRoZSBwcmltZSBlZGl0aW5nIGNvbXBsZXguXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiUmVmZXJlbmNlc1wiIGlkPVwicmVmZXJlbmNlc1wiPlxuICAgICAgICAgICAgICAgICAgICAgPEVuZ1RyZnNvdXJjZXMvPlxuICAgICAgICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVmdFwiPjxCdXR0b25PbmVFbmdpbmVlcmluZyBsYWJlbD1cIlByZXZpb3VzXCIgb3Blbj1cInJlcG9ydGVyXCIgc2Nyb2xsVG9JZD1cInJlcG9ydGVyLWhlYWRlclwiLz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgYnV0dG9uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmlnaHRcIj48QnV0dG9uT25lRW5naW5lZXJpbmcgbGFiZWw9XCJOZXh0XCIgb3Blbj1cInBlLXN5c3RlbXNcIiBzY3JvbGxUb0lkPVwicGUtc3lzdGVtcy1oZWFkZXJcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgaWQ9XCJ0YWItcGUtc3lzdGVtc1wiIGNsYXNzTmFtZT1cImVuZ2lubmVlcmluZ3RhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgIDxzZWN0aW9uIGlkPVwiUEUgU3lzdGVtcyBzZWNcIiA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVuZy1ib3ggYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPEgyIGlkPVwicGUtc3lzdGVtcy1oZWFkZXJcIiB0ZXh0PVwiUHJpbWUgRWRpdGluZyBTeXN0ZW1zXCI+PC9IMj5cbiAgICAgICAgICAgICAgICAgICAgIDxwPkRpZmZlcmVudCB2ZXJzaW9ucyBvZiB0aGUgb3JpZ2luYWwgcHJpbWUgZWRpdGluZyBzeXN0ZW0gaGF2ZSBiZWVuIGRldmVsb3BlZCBzaW5jZSBpdHMgaW5pdGlhbCBpbnRyb2R1Y3Rpb24uIERlY2lkaW5nIG9uIHdoYXQgc3lzdGVtIHRvIHVzZSBmb3IgdGhlIGFwcGxpY2F0aW9uIGluIHRoZXJhcGV1dGljIGh1bWFuIGdlbmUgZWRpdGluZywgZXNwZWNpYWxseSBjb25jZXJuaW5nIHRoZSBjb3JyZWN0aW9uIG9mIEY1MDhkZWwsIHdhcyB0aGUgZ29hbCBvZiB0aGlzIGVuZ2luZWVyaW5nIGN5Y2xlLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgU2luY2Ugd2UgYWltIHRvIGRldmVsb3AgYSB0aGVyYXB5IGRlbGl2ZXJlZCB0byB0aGUgaHVtYW4gYm9keSwgd2Ugd2FudGVkIHRvIG9idGFpbiBoaWdoIGVkaXRpbmcgZWZmaWNpZW5jeSB3aGlsZSByaXNraW5nIGFzIGxpdHRsZSBvZmYtdGFyZ2V0cyBhcyBwb3NzaWJsZSBhbmQgYWxzbyByZWR1Y2luZyB0aGUgc2l6ZSBmb3IgaW1wcm92ZWQgcGFja2FiaWxpdHkuXG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8SW5mb0JveCB0aXRsZT1cIkV4aXN0aW5nIFByaW1lIEVkaXRpbmcgU3lzdGVtc1wiIGlkPVwiY3VycmVudC1wZS1zeXN0ZW1zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGV0YWlscz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+UEUxPC9iPjxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZS1zeXN0ZW1zXCIgbnVtPVwiMVwiIHNjcm9sbElkPVwiZGVzYy0xXCIvPiwgdGhlIGZpcnN0IHZlcnNpb24gb2YgdGhlIFByaW1lIEVkaXRvciBmZWF0dXJlcyBhIENhczkoSDg0MEEpLCBhIFN0cmVwdG9jb2NjdXMgcHlvZ2VuZXMgQ2FzOSAoU3BDYXM5LCBoZXJlYWZ0ZXIganVzdCByZWZlcnJlZCB0byBhcyBDYXM5KSBtdXRhbnQgdGhhdCBvbmx5IGN1dHMgdGhlIG5vbi10YXJnZXQgc3RyYW5kIG9mIHRoZSBETkEgdGVtcGxhdGU8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGUtc3lzdGVtc1wiIG51bT1cIjJcIiBzY3JvbGxJZD1cImRlc2MtMlwiLz4sIGFuZCBhIHdpbGR0eXBlIHJldmVyc2UgdHJhbnNjcmlwdGFzZSBmcm9tIHRoZSBNb2xvbmV5IE11cmluZSBMZXVrYWVtaWEgVmlydXMgKE0tTUxWIFJUKSBjb25uZWN0ZWQgYnkgYSBzZXJpbmUgYW5kIGdseWNpbmUgcmljaCBmbGV4aWJsZSBsaW5rZXIuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPlBFMjwvYj48VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGUtc3lzdGVtc1wiIG51bT1cIjFcIiBzY3JvbGxJZD1cImRlc2MtMVwiLz4gaW1wcm92ZXMgb24gdGhpcyBjb25jZXB0IGJ5IGluY29ycG9yYXRpbmcgYW4gaW1wcm92ZWQgUlQgd2l0aCBmaXZlIG11dGF0aW9ucyBpbXByb3ZpbmcgYWZmaW5pdHkgdG8gdGhlIHRlbXBsYXRlIFJOQSwgZW56eW1lIHByb2Nlc3Npdml0eSBhbmQgdGhlcm1vc3RhYmlsaXR5IChEMjAwTi9MNjAzVy9UMzMwUC9UMzA2Sy9XMzEzRikuIFRoaXMgdmVyc2lvbiBvZiB0aGUgcHJpbWUgZWRpdG9yIHNob3dlZCB2YXJ5aW5nIGltcHJvdmVtZW50IG9mIGVkaXRpbmcgZWZmaWNpZW5jeSBvdmVyIGFsbCB0ZXN0ZWQgbG9jaSBhbmQgZWRpdHMgd2l0aCBubyBhcHBhcmVudCBkb3duc2lkZXMuIEJ1aWxkaW5nIG9uIHRoZSBQRTIgc3lzdGVtLCBhIHNtYWxsZXIgdmVyc2lvbiBvZiB0aGUgTS1NTFYgUlQgd2FzIGludHJvZHVjZWQgYnkgR2FvIGV0IGFsLiAoMjAyMik8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGUtc3lzdGVtc1wiIG51bT1cIjNcIiBzY3JvbGxJZD1cImRlc2MtM1wiLz4uIFRoZSBSVCB3YXMgdHJ1bmNhdGVkIGJ5IDYyMSBicCB0aHJvdWdoIGRlbGV0aW9uIG9mIHRoZSBSTmFzZUggZG9tYWluLCB3aGljaCBvcmlnaW5hbGx5IGRlZ3JhZGVzIHRoZSBSTkEgdGVtcGxhdGUsIGJ1dCBpcyBub3QgbmVlZGVkIGZvciBwcmltZSBlZGl0aW5nLiBUaGUgY29kb24gb3B0aW1pemVkIHZlcnNpb24gb2YgdGhpcyB0cnVuY2F0ZWQgUlQgcHJpbWUgZWRpdG9yIChpbiBsaXRlcmF0dXJlIHVzdWFsbHkgY2FsbGVkIFBFMlx1MjIwNlJOYXNlSCkgd2FzIG5hbWVkIDxiPlBFPHN1cD5DTzwvc3VwPi1NaW5pPC9iPiBpbiB0aGUgcGFwZXIgYW5kIHdpbGwgYmUgYWRkcmVzc2VkIGFzIHN1Y2ggaGVyZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbC00Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL3BlMi1vcGVuLnN2Z1wiIGFsdD1cIlBFMiBQcmltZSBFZGl0b3JcIi8+ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSAxOiBJbGx1c3RyYXRpb24gb2YgUEUyIFByaW1lIEVkaXRvcjwvYj4gPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JvdyBhbGlnbi1pdGVtcy1jZW50ZXInPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSA8Yj5QRTM8L2I+PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlLXN5c3RlbXNcIiBudW09XCIxXCIgc2Nyb2xsSWQ9XCJkZXNjLTFcIi8+IHN5c3RlbSwgZGVzY3JpYmVkIGluIHRoZSBzYW1lIHBhcGVyIGFzIFBFMSBhbmQgUEUyLCBpbnRyb2R1Y2VzIHRoZSB1c2Ugb2YgYSBzZWNvbmQgc2luZ2xlIGd1aWRlIFJOQSBiZXNpZGVzIHRoZSBwZWdSTkEgd2hpY2ggbGVhZHMgdG8gYSBuaWNrIGluIHRoZSBzdHJhbmQgb3Bwb3NpdGUgdG8gdGhlIGVkaXRlZCBzdHJhbmQuIFRoaXMgaXMgc3VwcG9zZWQgdG8gaW1wcm92ZSBpbnRlZ3JhdGlvbiBvZiBlZGl0cyBieSBkaXJlY3RpbmcgY2VsbHVsYXIgRE5BIHJlcGFpciBzeXN0ZW1zIHRvIHVzZSB0aGUgZWRpdGVkIHN0cmFuZCBhcyBhIHRlbXBsYXRlIGZvciByZXNvbHZpbmcgYmFzZSBtaXNtYXRjaGVzLiBOaWNrcyBwb3NpdGlvbmVkIDNcdTIwMTggb2YgdGhlIGVkaXQgYWJvdXQgNDBcdTIwMTM5MCBiYXNlIHBhaXJzIGZyb20gdGhlIHBlZ1JOQS1pbmR1Y2VkIG5pY2sgd2VyZSBhYmxlIHRvIGZ1cnRoZXIgaW5jcmVhc2UgZWRpdGluZyBlZmZpY2llbmNpZXMgYWJvdXQgdGhyZWVmb2xkIHdoZW4gY29tcGFyZWQgdG8gUEUyLCBidXQgd2l0aCBhIGhpZ2hlciByYW5nZSBvZiBvbi10YXJnZXQgaW5kZWxzICAsIG1lYW5pbmcgcmFuZG9tIEluc2VydGlvbnMgYW5kL29yIERlbGV0aW9ucyB0aGF0IGFwcGVhciBhZnRlciBmYXVsdHkgcmVwYWlyIG9mIGRvdWJsZSBzdHJhbmQgYnJlYWtzIGluIHRoZSBETkEuIFBFM2IsIHdoZXJlIHRoZSBwcm90b3NwYWNlciBmb3IgdGhlIG5pY2tpbmcgc2dSTkEgbGllcyB3aXRoaW4gdGhlIGVkaXRlZCByZWdpb25zLCBkZWNyZWFzZWQgdGhlIGluZGVsIHJhdGUgZ3JlYXRseSBjb21wYXJlZCB0byBQRTMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wtNCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL3BlMy1vcGVuLnN2Z1wiIGFsdD1cIlBFMyBQcmltZSBFZGl0b3JcIi8+ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+UEU0PC9iPiBhbmQgPGI+UEU1PC9iPjxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZS1zeXN0ZW1zXCIgbnVtPVwiNFwiIHNjcm9sbElkPVwiZGVzYy00XCIvPiBleHBhbmQgdGhlIFBFMiBhbmQgUEUzIHN5c3RlbXMsIHJlc3BlY3RpdmVseSwgYnkgY28tZXhwcmVzc2luZyBhIGRvbWluYW50IG5lZ2F0aXZlIE1MSDEgcHJvdGVpbiAoTUxIMShcdTAzOTQ3NTRcdTIwMTM3NTYpLCBoZXJlYWZ0ZXIgcmVmZXJyZWQgdG8gYXMgTUxIMWRuKS4gVGhlIE1MSDEgcHJvdGVpbiBwbGF5cyBhIGNydWNpYWwgcm9sZSBpbiB0aGUgbWlzbWF0Y2ggcmVwYWlyIChNTVIpIG1lY2hhbmlzbSBvZiB0aGUgaHVtYW4gY2VsbDxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZS1zeXN0ZW1zXCIgbnVtPVwiNVwiIHNjcm9sbElkPVwiZGVzYy01XCIvPiBieSByZWNydWl0aW5nIG90aGVyIHJlcGFpciBwcm90ZWlucyBhbmQgZmFjaWxpdGF0aW5nIGNhdGFseXRpYyBmdW5jdGlvbi4gVGhlIG11dGFudCBzdGlsbCByZWNydWl0cyBvdGhlciBmYWN0b3JzIGJ1dCBpcyBpbXBhaXJlZCBpbiBpdHMgZW5kb251Y2xlYXNlIGZ1bmN0aW9uLCBkaXNydXB0aW5nIGZ1bmN0aW9uIG9mIHRoZSBlbnRpcmUgcmVwYWlyIG1lY2hhbmlzbS4gVGhpcyBsZWFkcyB0byBhbiBhdmVyYWdlIDcuNy1mb2xkIGFuZCAyLjAtZm9sZCBpbmNyZWFzZSBpbiBlZGl0aW5nIGVmZmljaWVuY3ksIHJlc3BlY3RpdmVseSwgY29tcGFyZWQgdG8gUEUyIGFuZCBQRTMuIFRoaXMgaXMgcG9zc2libHkgZHVlIHRvIHNsb3dlciByZXBhaXIgb2YgbWlzbWF0Y2hlcyBhbmQgdGh1cyBtb3JlIHRpbWUgZm9yIHRoZSBwcm90ZWlucyBlbmNvZGVkIGJ5IExJRzEgYW5kIEZFTjEgZ2VuZXMgdG8gZXhjaXNlIHRoZSBub24tZWRpdGVkIDVcdTIwMTkgZmxhcCBhbmQgbGlnYXRlIHRoZSBuaWNrIGluIHRoZSBlZGl0ZWQgc3RyYW5kLiBBZGRpdGlvbmFsbHksIE1MSDFkbiBjby1leHByZXNzaW9uIHNsaWdodGx5IHJlZHVjZWQgb24tdGFyZ2V0IGluZGVscyBhcyB3ZWxsIGFzIHVuaW50ZW5kZWQgZWRpdGluZyBvdXRjb21lcyBpbiBQRTMgc3lzdGVtcyBhbmQgZGlkIG5vdCBsZWFkIHRvIGhpZ2hlciBvZmYtdGFyZ2V0IGluZGVsIHJhdGVzIG9yIG92ZXJhbGwgbXV0YXRpb24gcmF0ZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpdGggPGI+UEVtYXg8L2I+PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlLXN5c3RlbXNcIiBudW09XCI0XCIgc2Nyb2xsSWQ9XCJkZXNjLTRcIi8+LCB0aGUgc3RydWN0dXJlIG9mIFBFMiBpcyBmdXJ0aGVyIGVuaGFuY2VkIGJ5IHVzaW5nIGh1bWFuIGNvZG9uLW9wdGltaXplZCBSVCwgYSBuZXcgbGlua2VyIGNvbnRhaW5pbmcgYSBiaXBhcnRpdGUgU1Y0MCBudWNsZWFyIGxvY2FsaXphdGlvbiBzZXF1ZW5jZSAoTkxTKTxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZS1zeXN0ZW1zXCIgbnVtPVwiNlwiIHNjcm9sbElkPVwiZGVzYy02XCIvPiwgYW4gYWRkaXRpb25hbCBDLXRlcm1pbmFsIGMtTXljIE5MUzxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZS1zeXN0ZW1zXCIgbnVtPVwiN1wiIHNjcm9sbElkPVwiZGVzYy03XCIvPiBhbmQgUjIyMUsgTjM5NEsgbXV0YXRpb25zIGluIFNwQ2FzOSBwcmV2aW91c2x5IHNob3duIHRvIGltcHJvdmUgQ2FzOSBudWNsZWFzZSBhY3Rpdml0eTxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZS1zeXN0ZW1zXCIgbnVtPVwiOFwiIHNjcm9sbElkPVwiZGVzYy04XCIvPi4gVGhlc2UgY2hhbmdlcyBsZWQgdG8gbW9kZXJhdGUgaW1wcm92ZW1lbnRzIGluIGVkaXRpbmcgZWZmaWNpZW5jeSBjb21wYXJlZCB0byBwcmV2aW91cyBlZGl0b3IgYXJjaGl0ZWN0dXJlcy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbC00Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZW5naW5lZXJpbmctY3ljbGUvcGU0LW9wZW4tbmV3LnN2Z1wiIGFsdD1cIlBFNCBQcmltZSBFZGl0b3JcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL3BlNS1vcGVuLW5ldy5zdmdcIiBhbHQ9XCJQRTUgUHJpbWUgRWRpdG9yXCIvPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JvdyBhbGlnbi1pdGVtcy1jZW50ZXInPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPlBFNjwvYj48VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGUtc3lzdGVtc1wiIG51bT1cIjlcIiBzY3JvbGxJZD1cImRlc2MtOVwiLz4gd2FzIG1hZGUgYnkgaW1wcm92aW5nIHRoZSByZXZlcnNlIHRyYW5zY3JpcHRhc2UgZG9tYWluIG9mIHRoZSBwcmltZSBlZGl0b3IgdXNpbmcgUGhhZ2UtQXNzaXN0ZWQgQ29udGludW91cyBFdm9sdXRpb24gKFBBQ0UpLiBNdWx0aXBsZSBSVCBtdXRhbnRzIChQRTZhLWQpLCBkZXJpdmVkIGZyb20gUlRzIG9mIEVzY2hlcmljaGlhIGNvbGkgRWM0OCByZXRyb24sIFNjaGl6b3NhY2NoYXJvbXljZXMgcG9tYmUgVGYxIHJldHJvdHJhbnNwb3NvbiBhbmQgTW9sb25leSBNdXJpbmUgTGV1a2FlbWlhIFZpcnVzLCAgIHdlcmUgaWRlbnRpZmllZCB0byBpbmNyZWFzZSBlZGl0aW5nIGVmZmljaWVuY3kgb3ZlciBhbmQvb3Igd2VyZSBzbWFsbGVyIHRoYW4gdGhlIE0tTUxWIFJUIHVzZWQgaW4gcHJldmlvdXMgUEUgc3lzdGVtcy4gRXNwZWNpYWxseSA8Yj5QRTZjPC9iPiAoZXZvbHZlZCBUZjEgUlQpIGFuZCA8Yj5QRTZkPC9iPiAoZXZvbHZlZCBNLU1MViBSVCkgc2hvd2VkIHNpZ25pZmljYW50bHkgaGlnaGVyIGVkaXRpbmcgZWZmaWNpZW5jaWVzIHRoYW4gZXZlbiBQRW1heCBkZXBlbmRpbmcgb24gdGhlIHRhcmdldGVkIGxvY2ksIHdpdGggUEU2ZCBzaG93aW5nIGJlbmVmaXRzIGVzcGVjaWFsbHkgaW4gbG9jaSBmb3JtaW5nIG1vcmUgY29tcGxleCBzZWNvbmRhcnkgc3RydWN0dXJlcy4gUmVjZW50IGFkdmFuY2VtZW50cyBpbiBwcmltZSBlZGl0aW5nIHRhcmdldGluZyB0aGUgQ0ZUUiBGNTA4XHUwMzk0IG11dGF0aW9uIHNob3dlZCB0aGF0IFBFNmMgd2FzIHRoZSBtb3N0IHByb21pc2luZyBmb3IgZWRpdGluZyBpbiB0aGlzIGxvY2k8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGUtc3lzdGVtc1wiIG51bT1cIjEwXCIgc2Nyb2xsSWQ9XCJkZXNjLTEwXCIvPi4gSW1wcm92ZW1lbnRzIG9mIG5DYXM5IG9uIHRoZSBvdGhlciBoYW5kIChQRTZlLWcpIHdlcmUgb25seSBtYXJnaW5hbCBhbmQgaGlnaGx5IHNpdGUgc3BlY2lmaWMuIEFsbCBQRTYgc3lzdGVtcyB1c2Ugbmlja2luZyBnUk5BcyAoUEUzKSBieSBkZWZhdWx0LCBidXQgZG8gbm90IGNvLWV4cHJlc3MgTUxIMWRuLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sLTQnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9wZTZjLW9wZW4uc3ZnXCIgYWx0PVwiUEU2YyBQcmltZSBFZGl0b3JcIi8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5QRTc8L2I+PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlLXN5c3RlbXNcIiBudW09XCIxMVwiIHNjcm9sbElkPVwiZGVzYy0xMVwiLz4gYWRkcyBhbiBhZGRpdGlvbmFsIFJOQSBiaW5kaW5nIGRvbWFpbiB0byB0aGUgUHJpbWUgRWRpdG9yLiBUaGUgZG9tYWluIGlzIGRlcml2ZWQgZnJvbSB0aGUgTGEgUHJvdGVpbiAoTGEoMS0xOTQpKSwgYW4gZW5kb2dlbm91cyBldWthcnlvdGljIHByb3RlaW4gaW52b2x2ZWQgUk5BIG1ldGFib2xpc20gYW5kIGtub3duIGZvciBpdHMgcm9sZSBpbiBiaW5kaW5nIHBvbHl1cmlkaW5lIChwb2x5VSkgdGFpbHMgYXQgdGhlIDNcdTIwMTkgZW5kcyBvZiBuYXNjZW50IHRyYW5zY3JpcHRzLCB0aHVzIHByb3RlY3RpbmcgdGhlbSBmcm9tIGV4b251Y2xlYXNlIGFjdGl2aXR5LiBQRTcgc2hvd2VkIGNvbnNpZGVyYWJsZSBpbXByb3ZlbWVudHMgb3ZlciBQRW1heCBhdCBkaWZmZXJlbnQgbG9jaSBhbmQgZGlmZmVyZW50IHR5cGVzIG9mIGVkaXRzIHdoZW4gdXNlZCB3aXRoIHRoZSBQRTIgc3RyYXRlZ3kgKG5vIG5pY2tpbmcgZ1JOQXMsIG5vIE1MSDFkbiBjby1leHByZXNzaW9uKS4gTm90YWJseSwgUEU3IGRpZCBwZXJmb3JtIHdvcnNlIHdoZW4gdXNlZCB3aXRoIGVuZ2luZWVyZWQgcGVnUk5BcyB0aGFuIHdpdGggcmVndWxhciBvbmVzIChzZWUgcGVnUk5BIGRlc2lnbikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wtNCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL3BlNy1vcGVuLnN2Z1wiIGFsdD1cIlBFNyBQcmltZSBFZGl0b3JcIi8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGV0YWlscz5cbiAgICAgICAgICAgICAgICAgICAgIDwvSW5mb0JveD4gXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJwZTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQaGlsaXBIMyBpZD1cInBlMWhlYWRcIj48c3Bhbj5QRTIgYW5kIFBFPHN1cD5DTzwvc3VwPi1NaW5pPC9zcGFuPjwvUGhpbGlwSDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yIG91ciBpbml0aWFsIGFwcHJvYWNoLCB3ZSB3YW50ZWQgdG8gc3RhcnQgZnJvbSB0aGUgYmVnaW5uaW5nIGFuZCB1c2UgdGhlIFBFMiBwcmltZSBlZGl0aW5nIHN5c3RlbS4gU2luY2Ugb3VyIGdvYWwgb2Ygc3RyaXBwaW5nIHRoZSBzaXplIG9mIHRoZSBwcmltZSBlZGl0b3Igd2FzIGEgYmlnIGZhY3RvciBmcm9tIHRoZSBiZWdpbm5pbmcsIHdlIGRpZCBhIHJlc2VhcmNoZWQgaW50byB0aGF0IGRpcmVjdGlvbiBhbmQgZm91bmQgYSB0cnVuY2F0ZWQgdmVyc2lvbiBvZiBNLU1MViBSVCwgUEU8c3VwPkNPPC9zdXA+LU1pbmkuIFdlIHRoZW4gb3JkZXJlZCB0aGUgcGxhc21pZHMgZm9yIGJvdGggUEUyIGFuZCBQRTxzdXA+Q088L3N1cD4tTWluaS4gU2luY2UgdGhlIFBFPHN1cD5DTzwvc3VwPi1NaW5pIHBsYXNtaWQgaGFkIGEgZGlmZmVyZW50IHByb21vdG9yIHRoYW4gcENNVi1QRTIsIHdlIGRlY2lkZWQgdG8gY2xvbmUgdGhlIFBFPHN1cD5DTzwvc3VwPi1NaW5pIFJUIGludG8gdGhlIHBDTVYtUEUyIHZlY3RvciB0byBhbGxvdyBmb3IgZGlyZWN0IGNvbXBhcmlzb24uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBXZSBkZXNpZ25lZCBwcmltZXJzIGZvciB0aGUgYW1wbGlmaWNhdGlvbiBvZiBQRTxzdXA+Q088L3N1cD4tTWluaSBSVCBhbmQgY2xvbmVkIGl0IGludG8gcENNVi1QRTIgdmlhIGRvdWJsZSBkaWdlc3Rpb24gYW5kIEdpYnNvbiBhc3NlbWJseS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gY29tcGFyZSB0aGUgcHJpbWUgZWRpdGluZyBwZXJmb3JtYW5jZXMgb2YgTS1NTFYgUlQgKFBFMikgYW5kIFBFPHN1cD5DTzwvc3VwPi1NaW5pIFJULCBib3RoIHdlcmUgdGVzdGVkIHVzaW5nIGEgMmluMSBwcmltZSBlZGl0aW5nIHJlcG9ydGVyIHBsYXNtaWQgc3lzdGVtPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlLXN5c3RlbXNcIiBudW09XCIxMlwiIHNjcm9sbElkPVwiZGVzYy0xMlwiLz4gKHNlZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3Njcm9sbFRvSWQ6ICdQcm9vZiBvZiBDb25jZXB0JywgcGF0aDogJy9lbmdpbmVlcmluZycsIHRhYklkOiAndGFiLXRyYW5zZmVjdGlvbicgfSl9PlByb29mIG9mIENvbmNlcHQ8L2E+KSBpbiBIRUsyOTMgY2VsbHMuIENvbnRyYXJ5IHRvIHRoZSBmaW5kaW5ncyBvZiBHYW8gZXQgYWwuLCBoZXJlIHRoZSBQRTxzdXA+Q088L3N1cD4tTWluaSBwcmltZSBlZGl0b3IgcGVyZm9ybWVkIGEgbG90IHdvcnNlIHRoYW4gdGhlIFBFMiBwcmltZSBlZGl0b3IuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBTaW5jZSB3ZSBrbmV3LCB0aGF0IGZvciBhIHN1Y2Nlc3NmdWwgdGhlcmFweSB0YXJnZXRpbmcgdGhlIEY1MDhkZWwgbXV0YXRpb24gYSB2ZXJ5IGhpZ2ggcHJpbWUgZWRpdGluZyBlZmZpY2llbmN5IHdhcyBvZiB1dG1vc3QgaW1wb3J0YW5jZSwgd2UgZGVjaWRlZCBhZ2FpbnN0IHVzaW5nIFBFPHN1cD5DTzwvc3VwPi1NaW5pIGFzIHRoZSBiYXNpcyBmb3Igb3VyIGFwcHJvYWNoIGFuZCB0aGF0IHdlIGhhdmUgdG8gbG9vayBmb3Igb3RoZXIgYWx0ZXJuYXRpdmVzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwicGUyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIlBFNmNcIiBpZD1cInBlMmhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgRHVyaW5nIG91ciBpbml0aWFsIHRhbGsgd2l0aCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdtYXR0aWpzaW52JywgJy9odW1hbi1wcmFjdGljZXMnKX0+TWF0dGlqcyBCdWxjYWVuPC9hPiwgaGUgcmVjb21tZW5kZWQgYSB0YWxrIG9mIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2xpdScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PkRhdmlkIExpdTwvYT4gYXQgYW4gb25saW5lIGNvbmZlcmVuY2UsIHdoZXJlIGhlIHByZXNlbnRlZCB1bnB1Ymxpc2hlZCBkYXRhIGFib3V0IGhpcyBsYWJvcmF0b3J5IHdvcmtpbmcgb24gcHJpbWUgZWRpdGluZyBmb3IgRjUwOGRlbCBjb3JyZWN0aW9uLiBXZSBpbnZlc3RpZ2F0ZWQgaXQgYW5kIHRocm91Z2ggdGhpcyBjYW1lIGFjcm9zcyB0aGUgUEU2IGdlbmVyYXRpb24gb2YgcHJpbWUgZWRpdG9ycy4gU2VlaW5nIHRoYXQgdGhlIExpdSBMYWJvcmF0b3J5IGV2ZW50dWFsbHkgZGVjaWRlZCBvbiB1c2luZyB0aGUgUEU2YyBzeXN0ZW0sIHdlIGFkb3B0ZWQgdGhlIGZpbmRpbmdzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UgZ290IHRoZSBwbGFzbWlkIGNhcnJ5aW5nIHRoZSBQRTZjIHByaW1lIGVkaXRvci4gRXhjZXB0IGZvciB0aGUgUlQgYW5kIGEgZmV3IGltcHJvdmluZyBtdXRhdGlvbnMgaW4gdGhlIENhczkgZW56eW1lLCBpdCBoYXMgdGhlIHNhbWUgYXJjaGl0ZWN0dXJlIGFzIFBFMiwgd2hpY2ggbWFkZSBjb21wYXJpc29uIHF1aXRlIGVhc3kuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlIHRlc3RlZCBQRTZjIGFnYWluc3QgUEUyIHVzaW5nIHRoZSBzYW1lIHJlcG9ydGVyIHN5c3RlbSBhcyBtZW50aW9uZWQgYWJvdmUgZm9yIFBFPHN1cD5DTzwvc3VwPi1NaW5pLiBQRTZjLCBhcyBleHBlY3RlZCBmcm9tIHRoZSBsaXRlcmF0dXJlLCBwcm92ZWQgd2F5IG1vcmUgZWZmaWNpZW50IGluIHByaW1lIGVkaXRpbmcuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgZGF0YSBmcm9tIGxpdGVyYXR1cmUgYXMgd2VsbCBhcyBvdXIgb3duIGV4cGVyaW1lbnRzIGNvbmZpcm1lZCB0aGF0IFBFNmMgYXJjaGl0ZWN0dXJlIGlzIHN1cGVyaW9yIHRvIFBFMiBldmVuIHdpdGhvdXQgdXNpbmcgbmlja2luZyBnUk5BcyB0aGF0IGhlbHAgc3VwcHJlc3MgbWlzbWF0Y2ggcmVwYWlyLiBUaGlzIGxlZCB1cyB0byB0aGUgZGVjaXNpb24gdG8gdXNlIHRoZSBQRTZjIHJldmVyc2UgdHJhbnNjcmlwdGFzZSBhbmQgcGFydHMgb2YgdGhlIG92ZXJhbGwgYXJjaGl0ZWN0dXJlIGZvciBvdXIgc3Vic2VxdWVudCB0ZXN0cy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cInBlM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJQcmVDeXNlIENhc2V0dGVcIiBpZD1cInBlM2hlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gdGhlIGxhdGVyIHN0YWdlcyBvZiBvdXIgcHJvamVjdCwgdGhlIExpdSBsYWJvcmF0b3J5IHB1Ymxpc2hlZCB0aGVpciBvd24gZmluZGluZ3MgcmVnYXJkaW5nIENGVFIgRjUwOGRlbCB0YXJnZXRpbmcgd2l0aCBwcmltZSBlZGl0aW5nPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlLXN5c3RlbXNcIiBudW09XCIxMFwiIHNjcm9sbElkPVwiZGVzYy0xMFwiLz4uIFRoZSBkYXRhIHNob3dlZCB0aGF0IHRoZSBlZGl0aW5nIGVmZmljaWVuY3kgb2YgUEUyIGJhc2VkIHN5c3RlbXMsIGV2ZW4gd2hlbiB1c2luZyBQRTZjIHJldmVyc2UgdHJhbnNjcmlwdGFzZSwgbWlnaHQgbm90IGJlIHN1ZmZpY2llbnQgZm9yIGFwcGxpY2F0aW9uIGluIGEgdGhlcmFweS4gQWxzbywgdGhlIHBsYXNtaWRzIG9mIGN1cnJlbnQgcHJpbWUgZWRpdG9ycyBkaWQgbm90IGluY2x1ZGUgcmVzdHJpY3Rpb24gc2l0ZXMgdGhhdCB3b3VsZCBoYXZlIGFsbG93ZWQgcmVwbGFjaW5nIGNvbXBvbmVudHMgbGlrZSB0aGUgbmlja2FzZSB0byB0ZXN0IGFsdGVybmF0aXZlcy4gVGhpcyBpcyB3aHksIGluIGEgY2hlcnJ5LXBpY2tpbmcgbWFubmVyLCB3ZSBjb21iaW5lZCB0aGUgUEU2YyBhcmNoaXRlY3R1cmUgcHJpbWUgZWRpdG9yIHdpdGggdGhlIG1vc3QgcHJvbWlzaW5nIGFzcGVjdHMgb2Ygb3RoZXIgcHJpbWUgZWRpdG9ycywgY3JlYXRpbmcgdGhlIFByZUN5c2UgY2Fzc2V0dGUuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIE91ciBkZWNpc2lvbiBvbiB3aGF0IGNvbXBvbmVudHMgb2YgZXhpc3RpbmcgcHJpbWUgZWRpdG9ycyB3ZSB3YW50ZWQgdG8gdXNlIHdhcyBtYWlubHkgZHJpdmVuIGJ5IHR3byBmYWN0b3JzOiBlZmZpY2llbmN5IGFuZCBwcmVjaXNpb24uIEluIHByaW1lIGVkaXRpbmcsIHRoZXNlIHR3byBhcmUgb2Z0ZW4gb3Bwb3NpbmcgZm9yY2VzLCB3aGljaCBtZWFucyBhZHZhbmNlbWVudHMgaW1wcm92aW5nIGVmZmljaWVuY3kgb2Z0ZW4gYWxzbyBpbmNyZWFzZSB0aGUgcmlzayBvZiBvZmYtdGFyZ2V0cyBtdXRhdGlvbnMgYW5kIG9uLXRhcmdldCB1bmRlc2lyZWQgZWRpdGluZy4gRm9yIHRoaXMgcmVhc29uLCB3ZSBkZWNpZGVkIGFnYWluc3QgdXNpbmcgbmlja2luZyBnUk5Bcy4gQWx0aG91Z2ggdGhleSBoYXZlIGJlZW4gcHJvdmVuIHRvIHJlbGlhYmx5IGltcHJvdmUgZWRpdGluZyBlZmZpY2llbmN5LCB0aGV5IGluY3JlYXNlIHRoZSByaXNrIGFuZCBwb3NzaWJsZSBzY29wZSBvZiBvZmYtdGFyZ2V0IGNsZWF2YWdlIGFuZCBtdXRhdGlvbnMuIEFkZGl0aW9uYWxseSwgaWYgPGI+UEUzYjwvYj4gaXMgbm90IGFwcGxpY2FibGUsIHRoZXJlIGlzIGEgY2hhbmNlIGZvciBkb3VibGUgc3RyYW5kIGJyZWFrcyB0byBvY2N1ciwgd2hpY2ggZGltaW5pc2hlcyB0aGUgc2FmZXR5IGFkdmFudGFnZSBvZiBwcmltZSBlZGl0aW5nIG92ZXIgb3RoZXIgY29tbW9uIENSSVNQUi1iYXNlZCBtZXRob2RzLiBDby1leHByZXNzaW9uIG9mIE1MSDFkbiBjYW4gaW1wcm92ZSBlZGl0aW5nIGVmZmljaWVuY3kgaW4gdGhlIHNhbWUgd2F5IGFzIG5pY2tpbmcgZ1JOQXMgZG8sIGJ5IGhlbHBpbmcgdG8gZXZhZGUgb2YgdGhlIGNlbGx1bGFyIG1pc21hdGNoIHJlcGFpciBtZWNoYW5pc21zLiBUaGUgdXNlIG9mIE1MSDFkbiBpcyBlc3BlY2lhbGx5IGltcGFjdGZ1bCwgd2hlbiBuaWNraW5nIGdSTkFzIGFyZSBub3QgdXNlZCwgd2hpY2ggaXMgcGVyZmVjdCBpbiBvdXIgY2FzZS4gUmVjZW50bHksIHRoZSBMYSBwb2x5KFUpLWJpbmRpbmcgbW90aWYgaGFzIGJlZW4gc2hvd24gdG8gZW5oYW5jZSBwcmltZSBlZGl0aW5nIGVmZmljaWVuY3ksIHByZXN1bWFibHkgdGhyb3VnaCBwcm90ZWN0aW9uIG9mIHRoZSAzXHUyMDE5IHBvbHkoVSkgdGFpbCBvZiB0aGUgcGVnUk5BIGZyb20gUk5hc2VzLiBUaGUgbW90aWYgaXMgYWxzbyBjb21wYXJhdGl2ZWx5IHNtYWxsLCB3aGljaCBhbGlnbnMgd2l0aCB0aGUgb3ZlcmFsbCBnb2FsIHRvIGNyZWF0ZSBhIGNvbXBhY3QgcHJpbWUgZWRpdGluZyB0b29sLiBUaGlzIGlzIHdoeSBQcmVDeXNlIENhc2V0dGVzIGhhdmUgYmVlbiBkZXNpZ25lZCB0byBpbmNsdWRlIHRoZSBMYSBSTkEgYmluZGluZyBtb3RpZiBmdXNpb24gYW5kIHRoZSBkb21pbmFudCBuZWdhdGl2ZSBNTEgxIHByb3RlaW4uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgUHJlQ3lzZSBjYXNzZXR0ZSBjb21lcyBpbiB0aHJlZSB2ZXJzaW9uczogUHJlQ3lzZUEsIHRoZSBtb3N0IGJhc2ljIHZlcnNpb24sIGNvbXByaXNlcyBvZiBhIFQ3IHByb21vdGVyIGFuZCBhbiBvcGVuIHJlYWRpbmcgZnJhbWUsIHdoaWNoIGluY2x1ZGVzIE5MUyBhbmQgb25lIHR5cGVJSVMgcmVzdHJpY3Rpb24gZW56eW1lIGNsb25pbmcgc2l0ZSBmb3IgYSBuaWNrYXNlIGFuZCBhIHJldmVyc2UgdHJhbnNjcmlwdGFzZSBlYWNoLiBGb3IgcG9zc2libGUgZnV0dXJlIGFkZGl0aW9ucyBsaWtlIGUuIGcuIHNlbGVjdGlvbiBtYXJrZXJzLCBhIEJhbUhJIHJlc3RyaWN0aW9uIHNpdGUgYXQgdGhlIGVuZCBvZiB0aGUgY29kaW5nIHNlcXVlbmNlIGFsbG93cyBmb3IgZWFzeSBpbi1mcmFtZSBHaWJzb24gY2xvbmluZy4gQnVpbGRpbmcgb24gdGhpcyBiYXNpcywgUHJlQ3lzZUIgZXhwYW5kcyBQcmVDeXNlQSBieSB0aGUgTGEgUG9seShVKS1iaW5kaW5nIG1vdGlmLiBQcmVDeXNlQyBhZGRpdGlvbmFsbHkgaW50cm9kdWNlcyB0aGUgY28tZXhwcmVzc2VkIE1MSDFkbi4gVGhlIGNhc3NldHRlcyB3ZXJlIG9yZGVyZWQgaW4gdGhyZWUgaW5kaXZpZHVhbCBwYXJ0cyB0byBiZSBwdXQgdG9nZXRoZXIgd2l0aCBhIHBDTVYtUEU2YyBiYWNrYm9uZSB2aWEgR2lic29uIENsb25pbmcgaW4gZGlmZmVyZW50IGNvbmZpZ3VyYXRpb25zIHRvIGNyZWF0ZSB0aGUgdGhyZWUgdmFyaWFudHMuIEluIHRoZSBwbGFzbWlkIHRoZSBjYXNzZXR0ZSBpcyBleHByZXNzZWQgdW5kZXIgYSBDTVYgcHJvbW90ZXIgYW5kIGZvbGxvd2VkIGJ5IGEgcG9seWFkZW55bGF0aW9uIHNpZ25hbC4gVGhlIFByZUN5c2UgQ2FzZXR0ZXMgdGhlbXNlbHZlcyBjYW4gYmUgdXNlZCBhcyBhIEJpb0JyaWNrIFJGQ1sxMF0gc3RhbmRhcmQgY29tcGF0aWJsZSBjb21wb3NpdGUgcGFydCBjYW4gdGh1cyBiZSBmcmVlbHkgY29tYmluZWQgd2l0aCBvdGhlciBwYXJ0cy4gVGhlIG5pY2thc2UgYW5kIFJUIHNsb3RzIGNhbiBiZSB1c2VkIGZvciBpbnNlcnRpbmcgYW55IGJhc2ljIG9yIGNvbXBvc2l0ZSBwYXJ0IGNvbXBhdGlibGUgd2l0aCB0aGUgVHlwZSBJSVMgUkNGWzEwMDBdIHN0YW5kYXJkIGZvciBmdXNpb24gcHJvdGVpbnMuIFRoZSBQcmVDeXNlIENhc2V0dGUgaXMgbWVhbnQgdG8gYmUgYSBjb250cmlidXRpb24gdG8gdGhlIGlHRU0gY29tbXVuaXR5IGFuZCBhIGJhc2UgZm9yIG90aGVyIHRlYW1zIHRvIGpvaW4gdXMgYW5kIHJlc2VhcmNoZXJzIGFyb3VuZCB0aGUgd29ybGQgdG8gaW5ub3ZhdGUgaW4gdGhlIGV4Y2l0aW5nIGZpZWxkIG9mIHByaW1lIGVkaXRpbmcuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhc2V0dGVjb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FzZXR0ZWJveFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJQcmVDeXNlQVwiIGlkPVwiUENBXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9wcmVjeXNlYS1jYXNldHRlLnN2Z1wiIGFsdD1cImltYWdlIDFcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhc2V0dGVib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUHJlQ3lzZUJcIiBpZD1cIlBDQlwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZW5naW5lZXJpbmctY3ljbGUvcHJlY3lzZWItY2FzZXR0ZS5zdmdcIiBhbHQ9XCJpbWFnZSAyXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXNldHRlYm94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlByZUN5c2VDXCIgaWQ9XCJQQ0NcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL3ByZWN5c2VjLWNhc2V0dGUuc3ZnXCIgYWx0PVwiaW1hZ2UgM1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgey8qIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPCBkaXYgY2xhc3NOYW1lPSdjb2wgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUHJlQ3lzZUFcIiBpZD1cIlByZUN5c2VBXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9wcmVjeXNlYS1jYXNldHRlLnN2Z1wiIGFsdD1cIlByZUN5c2VBIG1vZHVsYXIgUEUgY2FzZXR0ZVwiIHN0eWxlPXt7aGVpZ2h0OiBcIjgwcHRcIiwgd2lkdGg6IFwiYXV0b1wifX0vPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUHJlQ3lzZUJcIiBpZD1cIlByZUN5c2VCXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9wcmVjeXNlYi1jYXNldHRlLnN2Z1wiIGFsdD1cIlByZUN5c2VCIG1vZHVsYXIgUEUgY2FzZXR0ZXJcIiBzdHlsZT17e2hlaWdodDogXCI4MHB0XCIsIHdpZHRoOiBcImF1dG9cIn19Lz4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUHJlQ3lzZUNcIiBpZD1cIlByZUN5c2VDXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9wcmVjeXNlYy1jYXNldHRlLnN2Z1wiIGFsdD1cIlByZUN5c2VDIG1vZHVsYXIgUEUgY2FzZXR0ZVwiIHN0eWxlPXt7aGVpZ2h0OiBcIjgwcHRcIiwgd2lkdGg6IFwiYXV0b1wifX0vPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gKi99XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiUmVmZXJlbmNlc1wiIGlkPVwicmVmZXJlbmNlc1wiPlxuICAgICAgICAgICAgICAgICAgICAgPEVuZ1BFc3lzdGVtcy8+XG4gICAgICAgICAgICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWZ0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiUHJldmlvdXNcIiBvcGVuPVwidHJhbnNmZWN0aW9uXCIgc2Nyb2xsVG9JZD1cInRyYW5zZmVjdGlvbi1oZWFkZXJcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJpZ2h0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiTmV4dFwiIG9wZW49XCJwZWdybmFcIiBzY3JvbGxUb0lkPVwicGVncm5hLWhlYWRlclwiLz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbmdpbm5lZXJpbmd0YWJcIiBpZD1cInRhYi1wZWdybmFcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICA8c2VjdGlvbiBpZD1cInBlZ1JOQSBzZWNcIiA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVuZy1ib3ggYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPEgyIGlkPVwicGVncm5hLWhlYWRlclwiIHRleHQ9XCJwZWdSTkFcIj48L0gyPlxuICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3BlZ3JuYScsICcvZW5naW5lZXJpbmcnKX0+IHBlZ1JOQSA8L2E+IGlzIG9mIHBhcmFtb3VudCBpbXBvcnRhbmNlIGZvciBmdW5jdGlvbiBhbmQgZWZmaWNpZW5jeSBvZiBwcmltZSBlZGl0b3JzLCBhcyBpdCBwbGF5cyBhIHJvbGUgaW4gZXZlcnkgc3RlcCBvZiB0aGUgcHJpbWUgZWRpdGluZyBtZWNoYW5pc20uIEl0IGlzIHRoZXJlZm9yZSBlcXVhbGx5IGltcG9ydGFudCB0byBvcHRpbWl6ZSB0aGUgcGVnUk5BIHRoYW4gaXQgaXMgdG8gaGF2ZSBhbiBvcHRpbWl6ZWQgcHJpbWUgZWRpdG9yLiBIZW5jZSB0aGlzIGVuZ2luZWVyaW5nIGN5Y2xlIGV4cGxhaW5zIG91ciBwcm9jZXNzIG9mIG9wdGltaXppbmcgdGhlIHBlZ1JOQXMgZm9yIG91ciBnZW5vbWljIHRhcmdldCwgQ0ZUUiBGNTA4ZGVsLiBHaXZlbiB0aGF0IGRpZmZlcmVudCBhcmVhcyBvZiB0aGUgcGVnUk5BIGhhdmUgZGlmZmVyZW50IGZ1bmN0aW9uYWxpdGllcywgdGhlIGZvbGxvd2luZyBpdGVyYXRpb24gY3ljbGVzIHdpbGwgZGVtb25zdHJhdGUgaG93IGltcHJvdmVtZW50cyBhbmQgb3B0aW1pemF0aW9ucyBoYXZlIGJlZW4gbWFkZSB0byB0aGVzZSB2YXJpb3VzIGZ1bmN0aW9uYWwgZG9tYWlucyBpbiByZWxhdGlvbiB0byB0aGUgQ0ZUUiBjb250ZXh0LiBUaGlzIHdhcyBhY2hpZXZlZCB0aHJvdWdoIHJlc2VhcmNoLCB0aGUgY29ycmVzcG9uZGVuY2Ugd2l0aCBvZiBleHBlcnRzIGFuZCBleHBlcmltZW50cy48L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJwZWcxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cInBlZzFcIiBpZD1cInBlZzFoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgZmlyc3QgaXRlcmF0aW9uIG9mIG91ciBlbmdpbmVlcmluZyBjeWNsZSwgd2UgZGVzaWduZWQgb3VyIGZpcnN0IHNldCBvZiBwZWdSTkFzIHRhcmdldGluZyB0aGUgbW9kaWZpZWQgUEVBUiByZXBvcnRlcltsaW5rXS4gIGZvY3VzZWQgb24gdGhlIGluY29ycG9yYXRpb24gb2Ygc2lsZW50IGVkaXRzIGludG8gdGhlIHJldmVyc2UgdHJhbnNjcmlwdGFzZSB0ZW1wbGF0ZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJkZXNpZ24taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9sbG93aW5nIGFuIGludGVydmlldyB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ0pQcGVnUk5BJywgJy9odW1hbi1wcmFjdGljZXMnKX0+IEphbi1QaGlsbGlwcCBHZXJoYXJkcyA8L2E+LCB3ZSBjYW1lIGFjcm9zcyB0aGUgY29uY2VwdCBvZiBzaWxlbnQgZWRpdHMuIFNpbGVudCBlZGl0cyByZWZlciB0byBzaW5nbGUtYmFzZSBhbHRlcmF0aW9ucyBvZiB0aGUgbnVjbGVvdGlkZSBzZXF1ZW5jZSB0aGF0IGRvIG5vdCBjaGFuZ2UgdGhlIGVuY29kZWQgYW1pbm8gYWNpZC4gSmFuLVBoaWxsaXBwIHBvaW50ZWQgb3V0IHRoYXQgaW50cm9kdWNpbmcgc2lsZW50IGVkaXRzIGluIGFkZGl0aW9uIHRvIHRoZSBpbnRlbmRlZCBlZGl0IG9mZmVycyB0d28gbWFqb3IgYWR2YW50YWdlcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlyc3RseSwgc2lsZW50IGVkaXRzIGNhbiBpbmNyZWFzZSB0aGUgbGlrZWxpaG9vZCBvZiBmbGFwIGluY29ycG9yYXRpb24gZHVyaW5nIHRoZSBwcmltZSBlZGl0aW5nIHByb2Nlc3MsIGVzcGVjaWFsbHkgaW4gdGhlIGNvbnRleHQgb2YgTU1SIChNaXNtYXRjaCBSZXBhaXIpIGluIHRoZSBjZWxsLiBXaXRob3V0IHNpbGVudCBlZGl0cywgdGhlIGNlbGwgaXMgbW9yZSBsaWtlbHkgdG8gZGV0ZWN0IHRoZSBtaXNtYXRjaGVzIHRoYXQgb25seSBvY2N1ciBhdCB0aGUgZGVzaXJlZCBtdXRhdGlvbiBzaXRlLCBsZWFkaW5nIHRvIGEgaGlnaGVyIGNoYW5jZSBvZiB0aGUgd2lsZC10eXBlIGZsYXAgYmVpbmcgcmVpbnNlcnRlZC4gQnkgaW50cm9kdWNpbmcgc2lsZW50IGVkaXRzLCBtdWx0aXBsZSBtaXNtYXRjaGVzIGFyZSBwcmVzZW50IHdoaWNoIHRoaXMgaW5jcmVhc2VzIHRoZSBwcm9iYWJpbGl0eSBvZiB0aGUgc3ludGhlc2l6ZWQgZmxhcCBiZWluZyBpbmNvcnBvcmF0ZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlY29uZGx5LCBzaWxlbnQgZWRpdHMgY2FuIHByZXZlbnQgcmUtYmluZGluZyBvZiB0aGUgcHJpbWUgZWRpdGluZyBjb21wbGV4IHRvIHRoZSB0YXJnZXQgcmVnaW9uIGFmdGVyIHN1Y2Nlc3NmdWwgZWRpdGluZy4gVGhpcyBpcyBiZSBhY2hpZXZlZCBieSBpbnRyb2R1Y2luZyBzaWxlbnQgZWRpdHMgdG8gdGhlIHJlZ2lvbnMgbWFraW5nIHVwIFBBTSBzZXF1ZW5jZSBhbmQvb3IgcHJvdG9zcGFjZXIuIFBBTSBvciBwcm90b3NwYWNlciBkaXNydXB0aW9uIG1ha2UgdGhlIGVkaXRpbmcgcHJvY2VzcyBtb3JlIHNlY3VyZS4gVGhpcyBpcyBiZWNhdXNlIGl0IHJlZHVjZXMgdGhlIGxpa2VsaWhvb2Qgb2YgZWRpdGluZyB0aGUgdGFyZ2V0IHJlZ2lvbiByZXBlYXRlZGx5LCB3aGljaCB3b3VsZCBpbmNyZWFzZSB0aGUgcHJvYmFiaWxpdHkgb2Ygb24tdGFyZ2V0IHVuZGVzaXJlZCBlZGl0aW5nIG91dGNvbWVzLiBIZSBzdWdnZXN0ZWQgdGhhdCBzd2FwcGluZyBjeXRvc2luZSBvciBndWFuaW5lIGJhc2VzIGZvciB0aGVzZSBzaWxlbnQgZWRpdHMgY2FuIGJlIHBhcnRpY3VsYXJseSBlZmZlY3RpdmUgaW4gaW1wcm92aW5nIHByaW1lIGVkaXRpbmcgZWZmaWNpZW5jeS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlIGRlc2lnbmVkIHNldmVyYWwgcGVnUk5BcywgYm90aCB3aXRoIGFuZCB3aXRob3V0IHNpbGVudCBlZGl0cy4gVG8gYXNzaXN0IHdpdGggdGhpcywgd2UgdXNlZCB0aGUgcGVnRmluZGVyIHNvZnR3YXJlPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlZ3JuYVwiIG51bT1cIjFcIiBzY3JvbGxJZD1cImRlc2MtMVwiLz4sIHdoaWNoIGdlbmVyYXRlZCBwb3NzaWJsZSB2YXJpYXRpb25zIG9mIHBlZ1JOQXMgYmFzZWQgb24gdGhlIHNlcXVlbmNlIG9mIHRoZSByZXBvcnRlciBwbGFzbWlkLiBXZSBzZWxlY3RlZCB0aGUgb3B0aW1hbCBwZWdSTkEgYXMgc3VnZ2VzdGVkIGJ5IHRoZSBzb2Z0d2FyZSwgYW5kIHRoZW4gdGVzdGVkIGl0IGluIHR3byBmb3Jtczogb25lIHVubW9kaWZpZWQgYW5kIG9uZSB3aXRoIHNpbGVudCBlZGl0cy4gRm9yIHRoZSB1bm1vZGlmaWVkIHZhcmlhbnQsIHdlIGluY2x1ZGVkIGEgc2luZ2xlIHNpbGVudCBlZGl0IHRoYXQgaW50cm9kdWNlZCBhIFBBTSBkaXNydXB0IGluIHRlcm1zIG9mIG91ciBiaW9zYWZldHkgbWVhc3VyZXMuIEZvciB0aGUgbW9kaWZpZWQgdmFyaWFudCwgd2UgaW50cm9kdWNlZCB0aHJlZSBzaWxlbnQgZWRpdHMgaW4gdG90YWwsIGFkZGluZyB0d28gbW9yZSB0byB0aGUgaW5pdGlhbCBlZGl0LiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgT25jZSB3ZSBoYWQgZGVzaWduZWQgdGhlc2UgdmFyaWFudHMsIHdlIG9yZGVyZWQgdGhlbSBpbiB0aGVpciBpbmRpdmlkdWFsIGNvbXBvbmVudHMgYW5kIGNsb25lZCB0aGVtIGludG8gYSBwVTYtcGVnLUdHLWFjY2VwdG9yIGJhY2tib25lIHVzaW5nIEdvbGRlbiBHYXRlIGNsb25pbmcgYWNjb3JkaW5nIHRvIHRoZSBwcm90b2NvbCBmcm9tIEFuemFsb25lIGV0IGFsLiAyMDE5PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlZ3JuYVwiIG51bT1cIjJcIiBzY3JvbGxJZD1cImRlc2MtMlwiLz4uIFdlIHRoZW4gc2NyZWVuZWQgdGhlIGFzc2VtYmxlZCBwZWdSTkFzIHRvIGVuc3VyZSB0aGF0IHRoZSBpbmRpdmlkdWFsIGNvbXBvbmVudHMgaGFkIHRoZSBjb3JyZWN0IG9yaWVudGF0aW9uIGFuZCB0aGVuIGNsb25lZCB0aGVtIGludG8gdGhlIHBVNi1HRy1wZWdSTkEtYWNjZXB0b3IgcGxhc21pZCBzbyB0aGF0IHRoZXkgd2VyZSByZWFkeSB0byBiZSB0ZXN0ZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRlc3QtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlc2UgdHdvIHZhcmlhbnRzIHdlcmUgdGhlbiB0ZXN0ZWQgYWdhaW5zdCBlYWNoIG90aGVyIHVzaW5nIG91ciByZXBvcnRlciBwbGFzbWlkIHN5c3RlbVtsaW5rXSBhbmQgYSBQRTIgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigncGUtc3lzdGVtcycsICcvZW5naW5lZXJpbmcnKX0+IHByaW1lIGVkaXRvcjwvYT4uIFRoZSB0ZXN0IG9mIHRoZSBwZWdSTkFzIHdhcyBjb25kdWN0ZWQgYnkgY28tdHJhbnNmZWN0aW5nIHRoZSByZXBvcnRlciBzeXN0ZW0sIHRoZSBwZWdSTkEgcGxhc21pZHMgYW5kIHRoZSBQRTIgcGxhc21pZHMgaW50byBIRUsyOTMgY2VsbHMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJsZWFybi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgcmVzdWx0cyBzaG93ZWQgdGhhdCB0aGUgZWRpdGluZyBlZmZpY2llbmN5IG9mIHRoZSB2YXJpYW50IHdpdGhvdXQgc2lsZW50IGVkaXRzIHdhcyBzdXBlcmlvciB0byB0aGUgdmFyaWFudCB3aXRoIHNpbGVudCBlZGl0cywgd2hpY2ggY29uc2lkZXJpbmcgb3VyIGlucHV0IHdhcyBub3QgZXhwZWN0ZWQuIEJ1dCBhcyB3ZSBoYXZlIGxlYXJuZWQgaW4gdGhlIGludGVydmlldyB3aXRoIEphbi1QaGlsbGlwcCBHZXJoYXJkLCB0aGVzZSBzaWxlbnQgZWRpdHMgYXJlIGVzcGVjaWFsbHkgZWZmZWN0aXZlIGluIGF2b2lkaW5nIG1pc21hdGNoIHJlcGFpciAoTU1SKSBpbnNpZGUgaHVtYW4gY2VsbHMuIEZvcm0gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignbWF0dGlqc2ludicsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBNYXR0aWpzIEJ1bGNhZW4gPC9hPiB3ZSBsZWFybmVkLCB0aGF0IEhFSzI5MyBjZWxscyBhcmUgZGVmaWNpZW50IGluIHRoaXMgdmVyeSBtZWNoYW5pc20uIEZyb20gdGhpcyB3ZSBkZWR1Y2VkIHRoYXQgd2UgaGFkIHRvIHRlc3QgdGhlIHNpbGVudCBlZGl0cyBpbiBsdW5nIGVwaGl0YWwgY2VsbHMgdG8gZ2V0IGEgdmFsaWQgcmVzdWx0LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwicGVnMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJwZWcyXCIgaWQ9XCJwZWcyaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gdGhpcyBzZWNvbmQgaXRlcmF0aW9uLCB3ZSBmb2N1c2VkIG9uIGZ1cnRoZXIgb3B0aW1pemluZyBvdXIgcGVnUk5BIGJ5IGluY29ycG9yYXRpbmcgYSBzdGVtIGxvb3AgYW5kIGV4cGVyaW1lbnRpbmcgd2l0aCBkaWZmZXJlbnQgbGVuZ3RocyBvZiB0aGUgUEJTIChQcmltZXIgQmluZGluZyBTaXRlKSBhbmQgUlRUIChSZXZlcnNlIFRyYW5zY3JpcHRhc2UgVGVtcGxhdGUpLiBUaGVzZSBtb2RpZmljYXRpb25zIHdlcmUgaW5zcGlyZWQgYnkgYSBjb21iaW5hdGlvbiBvZiBsaXRlcmF0dXJlIHJlc2VhcmNoIGFuZCBleHBlcnQgaW50ZXJ2aWV3cy4gQWZ0ZXIgZXZhbHVhdGluZyB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHBlZ1JOQXMgdXNpbmcgRkFDUywgd2Ugc2VsZWN0ZWQgdGhlIHRocmVlIG1vc3QgZWZmZWN0aXZlIGNhbmRpZGF0ZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwiZGVzaWduLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhc2VkIG9uIGxpdGVyYXR1cmUgcmV2aWV3cyBhbmQgb3VyIGludGVydmlldyB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ21hdHRpanNpbnYnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gTWF0dGlqcyBCdWxjYWVuIDwvYT4sIHdlIGRlY2lkZWQgdG8gbW9kaWZ5IG91ciBwZWdSTkEgYnkgYWRkaW5nIGEgc3RlbSBsb29wIHRvIGVuaGFuY2UgaXRzIHN0YWJpbGl0eS4gU3BlY2lmaWNhbGx5LCBNYXR0aWpzIHJlY29tbWVuZGVkIHVzaW5nIHRoZSB0ZXZvcHJlUTEgc3RlbSBsb29wLCBhIHNtYWxsIHN0cnVjdHVyYWwgbW90aWYgdGhhdCBpbmNyZWFzZXMgdGhlIHBlZ1JOQSdzIHJlc2lzdGFuY2UgdG8gUk5hc2VzLiBUaGlzIHN0ZW0gbG9vcCB3YXMgYWRkZWQgdG8gdGhlIDMnIGVuZCBvZiB0aGUgcGVnUk5BLCBwb3NpdGlvbmVkIGFmdGVyIHRoZSBQQlMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZGl0aW9uYWxseSwgZHVyaW5nIGEgd2ViaW5hciB3aXRoIDxhIGhyZWY9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTBaX3p0dmt2S1VBXCIgdGl0bGU9XCJCLiBTYy4gSm9yZGFuIERvbWFuXCIgPiBCLiBTYy4gSm9yZGFuIERvbWFuIDwvYT4sIHdlIGxlYXJuZWQgdGhhdCBpdCBpcyBpbXBvcnRhbnQgdG8gdGVzdCB2YXJpb3VzIGxlbmd0aHMgb2YgUEJTIGFuZCBSVFQsIGFzIHRoZXJlIGlzIG5vIHVuaXZlcnNhbGx5IG9wdGltYWwgbGVuZ3RoIGZvciBhbGwgYXBwbGljYXRpb25zLiBJbnN0ZWFkLCB0aGUgaWRlYWwgbGVuZ3RocyBhcmUgYXBwbGljYXRpb24gc3BlY2lmaWMuIEZvbGxvd2luZyB0aGlzIGFkdmljZSwgd2UgZGVzaWduZWQgc2l4IGRpZmZlcmVudCBwZWdSTkEgdmFyaWFudHMgd2l0aCBjb21iaW5hdGlvbnMgb2YgdHdvIGRpZmZlcmVudCBQQlMgbGVuZ3RocyAoMTYgYW5kIDE3IG51Y2xlb3RpZGVzKSBhbmQgdGhyZWUgZGlmZmVyZW50IFJUVCBsZW5ndGhzICgyNywgMzAsIGFuZCAzMyBudWNsZW90aWRlcykuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlIGNob3NlIHRoZSBQQlMgbGVuZ3RocyBvZiAxNiBhbmQgMTcgbnVjbGVvdGlkZXMgYmFzZWQgb24gYW4gZWFybGllciByZWNvbW1lbmRhdGlvbiBmcm9tIEphbi1QaGlsbGlwcCBHZXJoYXJkLCB3aG8gZW1waGFzaXNlZCB0aGF0IHRoZSBhbm5lYWxpbmcgdGVtcGVyYXR1cmUgb2YgdGhlIFBCUyBzaG91bGQgbWF0Y2ggdGhlIGVudmlyb25tZW50YWwgY29uZGl0aW9ucyByZWxldmFudCB0byB0aGUgaW50ZW5kZWQgYXBwbGljYXRpb24uIEluIG91ciBjYXNlLCBzaW5jZSB3ZSBhcmUgZXhwbG9yaW5nIGEgcG90ZW50aWFsIHRoZXJhcGV1dGljIGFwcHJvYWNoLCBpdCBpcyBpbXBvcnRhbnQgdGhhdCB0aGUgYW5uZWFsaW5nIHRlbXBlcmF0dXJlIG9mIHRoZSBQQlMgaXMgY2xvc2UgdG8gdGhlIGJvZHkgdGVtcGVyYXR1cmUgb2YgMzcgXHUwMEIwQywgd2hpY2ggaXMgdGhlIGNhc2UgZm9yIHRoZXNlIGxlbmd0aHMuIFRoZSBSVFQgbGVuZ3RocyB3ZXJlIHNlbGVjdGVkIGJhc2VkIG9uIHN1Z2dlc3Rpb25zIGZyb20gdGhlIHBlZ0ZpbmRlciBzb2Z0d2FyZS4gQXMgd2l0aCBvdXIgcHJldmlvdXMgaW5zaWdodHMsIHdlIGRlc2lnbmVkIGFsbCBzaXggdmFyaWFudHMgYm90aCB3aXRoIGFuZCB3aXRob3V0IHNpbGVudCBlZGl0cyBmb3IgYSB3aWRlciBjb21wYXJpc29uIG9mIHRoZSBzaWxlbnQgZWRpdHMsIG1ha2luZyBpdCAxMiB2YXJpYW50cyBpbiB0b3RhbC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uY2Ugd2UgaGFkIGRlc2lnbmVkIHRoZXNlIHZhcmlhbnRzLCB3ZSBvcmRlcmVkIHRoZW0gaW4gdGhlaXIgaW5kaXZpZHVhbCBjb21wb25lbnRzIGFuZCBjbG9uZWQgdGhlbSB0b2dldGhlciB1c2luZyBHb2xkZW4gR2F0ZSBjbG9uaW5nLiBUaGlzIHdhcyBhIG11Y2ggbW9yZSByZXNvdXJjZS1lZmZpY2llbnQgYW5kIHN1c3RhaW5hYmxlIG9wdGlvbiwgYXMgb25seSB0aGUgUEJTIGFuZC9vciBSVFQgbGVuZ3RocyBkaWZmZXJlZC4gVGh1cywgdGhlcmUgd2FzIGEgY29uc3RhbnQgcGVnUk5BIHBhcnQsIGNvbnNpc3Rpbmcgb2Ygc3BhY2VyIGFuZCBzY2FmZm9sZCwgYW5kIGEgdmFyaWFibGUgcGFydCwgY29uc2lzdGluZyBvZiBQQlMsIFJUVCBhbmQgc3RlbSBsb29wLiBXZSB0aGVuIGNsb25lZCB0aGVzZSB2YXJpYW50cyBpbnRvIHRoZSBwVTYtR0ctcGVnUk5BLWFjY2VwdG9yIHBsYXNtaWQgYW5kIGNvbmZpcm1lZCB0aGUgY29ycmVjdCBvcmllbnRhdGlvbiBhbmQgc3VjY2Vzc2Z1bCBjbG9uaW5nIG9mIGFsbCBjb25zdHJ1Y3RzIHRocm91Z2ggc2NyZWVuaW5nLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXN0LWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFdlIHRlc3RlZCB0aGVzZSB0d2VsdmUgcGVnUk5BIHZhcmlhbnRzIGFnYWluc3QgZWFjaCBvdGhlciBhbmQgdGhlIHR3byBwcmV2aW91cyB2YXJpYW50cyB3aXRob3V0IHRoZSB0cmV2b3ByZVExIHN0ZW0gbG9vcCwgYWdhaW4gd2l0aGluIHRoZSBQRTIgc3lzdGVtLCB1c2luZyBvdXIgcmVwb3J0ZXIgc3lzdGVtLCB0byBhc3Nlc3MgdGhlaXIgZWRpdGluZyBlZmZpY2llbmN5LiBUaGUgZXhwZXJpbWVudGFsIHNldHVwIHdhcyBzaW1pbGFyIHRvIHRoZSBjeWNsZSBiZWZvcmUuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJsZWFybi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9tIHRoaXMgcm91bmQgb2YgdGVzdGluZywgd2UgZm91bmQgb3V0IHRoYXQgb3VyIGVuZ2luZWVyZWQgcGVnUk5BIHZhcmlhbnRzIHBlZ1JOQTA0LCAwNSwgMDcgYW5kIDA4IGV4aGliaXRlZCB0aGUgaGlnaGVzdCBsZXZlbHMgb2YgZWZmaWNpZW5jeSBhbmQgc3RhYmlsaXR5LCB3aGlsZSB0aGUgcGVnUk5BMTIgc2hvd2VkIHRoZSBsb3dlc3QgbGV2ZWwgb2YgZWRpdGluZyBlZmZpY2llbmN5LiBUaGVyZWZvcmUsIHdlIHJlYXNvbmVkIHRvIGdvIHdpdGggdGhlc2UgZm91ciBwZWdSTkEgdmFyaWFudHMgYXMgd2VsbCBhcyBwZWdSTkExMiBhcyBhIG5lZ2F0aXZlIGV4YW1wbGUgZm9yIGZvbGxvdy11cCBleHBlcmltZW50cy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cInBlZzNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwicGVnM1wiIGlkPVwicGVnM2hlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEhFSyBjZWxscyBhcmUgYW4gZWFzeSB0byBoYW5kbGUgYW5kIGVhc3kgdG8gZWRpdCBjZWxsIG1vZGVsLiBIb3dldmVyLCB0aGV5IGFyZSBub3QgcGFydGljdWxhcmx5IHNpbWlsYXIgdG8gdGhlIGNlbGxzIHRoYXQgd291bGQgYWN0dWFsbHkgYmUgdXNlZnVsIHRhcmdldHMgZm9yIGEgZ2VuZSB0aGVyYXB5LiBJbiBvdXIgY29udGV4dCwgdHdvIGtleSBkaWZmZXJlbmNlcyBhcmUgZXNwZWNpYWxseSBncmF2ZTogSEVLIGNlbGxzLCBhcyBtZW50aW9uZWQgYWJvdmUsIGFyZSBpbXBhaXJlZCBpbiBtaXNtYXRjaCByZXBhaXIsIG1ha2luZyB0aGVtIGVhc2llciB0byBlZGl0LCBhbmQgdGhleSBkbyBub3QgbmF0dXJhbGx5IGV4cHJlc3MgQ0ZUUi5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJkZXNpZ24taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gdGhpcyB0aGlyZCBpdGVyYXRpb24sIHdlIHdhbnRlZCB0byBpbnZlc3RpZ2F0ZWUgdGhlIGFwcGxpY2FiaWxpdHkgb2YgYSBwZWdSTkEgb3B0aW1pemVkIGluIGEgbW9kZWwgY2xvc2VyIHRvIHRoZXJhcGV1dGljIGFwcGxpY2F0aW9uLiBJbiBvdXIgY2FzZSB3ZSB1c2VkIGluIENGQkU0MW8tIGVwaXRoZWxpYWwgY2VsbHMgbGluZXNbbGlua10gaG9tb3p5Z291cyBmb3IgdGhlIENGVFIgRjUwOGRlbCBtdXRhdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvciB0aGlzIHRlc3QsIHdlIHVzZWQgb25lIG9mIHRoZSBwZWdSTkFzIChwZWdSTkEwNCkgdGhhdCBzaG93ZWQgdGhlIGhpZ2hlc3QgZWZmaWNpZW5jaWVzIGluIHByZXZpb3VzIG9wdGltaXphdGlvbiBzdGVwcy4gU2luY2Ugd2UgZXhwZWN0ZWQgb25seSBsb3cgZWRpdGluZyBlZmZpY2llbmNpZXMgY29tcGFyZWQgdG8gSEVLIGNlbGxzIGZvciByZWFzb25zIG1lbnRpb25lZCBhYm92ZSwgd2UgdXNlZCB0aGUgUEU2YyBwcmltZSBlZGl0b3JbbGlua10uIEl0IGhhZCBwcm92ZW4gdG8gYmUgbW9zdCBlZmZlY3RpdmUgaW4gSEVLIGNlbGxzIGluIG91ciA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdwZS1zeXN0ZW1zJywgJy9lbmdpbmVlcmluZycpfT4gcGUgc3lzdGVtcyBlbmdpbmVlcmluZyBjeWNsZSA8L2E+IGFuZCBzaG91bGQgZW5zdXJlIGRldGVjdGFiaWxpdHkgb2YgcG9zc2libGUgZWRpdGluZy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGVzdC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBXZSBjby10cmFuc2ZlY3RlZCB0aGUgQ0ZCRTQxby0gd2l0aCBvdXIgbW9kaWZpZWQgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigncmVwb3J0ZXInLCAnL2VuZ2luZWVyaW5nJyl9PiByZXBvcnRlciBzeXN0ZW0gPC9hPiwgdGhlIHBsYXNtaWQgZXhwcmVzc2luZyBwZWdSTkEwNCBhcyB3ZWxsIGFzIHBDTVYtUEU2Yy4gQXMgYSByZXN1bHQsIHdlIG9ic2VydmVkIGZsdW9yZXNjZW5jZSwgaW5kaWNhdGluZyBzdWNjZXNzZnVsIGVkaXRpbmcgb2YgdGhlIHJlcG9ydGVyIHBsYXNtaWQuIFRoZSBuZWdhdGl2ZSBjb250cm9scyB0cmFuc2ZlY3RlZCB3aXRoIG9ubHkgb25lIG9mIHRoZSBwbGFzbWlkcyBlYWNoIHNob3dlZCBubyBmbHVvcmVzY2VuY2UsIHJvdXRpbmcgb3V0IG90aGVyIGZhY3RvcnMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJsZWFybi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGFua3MgdG8gdGhpcyBleHBlcmltZW50IHdlIGtuZXcsIHRoYXQgb3VyIHBlZ1JOQXMgd29yayBub3Qgb25seSBpbiBIRUssIGJ1dCBhbHNvIGluIGVwaXRoZWxpYWwgY2VsbHMgdGhhdCBleHByZXNzIENGVFIgRjUwOGRlbC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cInBlZzRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwicGVnNFwiIGlkPVwicGVnNGhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoaXMgZm91cnRoIGl0ZXJhdGlvbiwgd2UgYWltZWQgdG8gdHJhbnNmZXIgb3VyIGZpbmRpbmdzIGluIG9wdGltaXppbmcgdGhlIHBlZ1JOQXMsIGdlbmVyYXRlZCBpbiBwcmV2aW91cyBpdGVyYXRpb25zLCB0byB0aGUgZ2Vub21pYyBDRlRSIGNvbnRleHQuIFRvIHRoaXMgZW5kIHdlIG1vZGlmaWVkIG91ciBwZWdSTkFzIHRvIGJlIHVzZWQgaW4gdGhlIENGVFIgZ2VuZSBlZGl0aW5nIHByb2Nlc3MuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwiZGVzaWduLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzaW5nIHRoZSBwZWdGaW5kZXIgc29mdHdhcmUgYW5kIG91ciBhY3F1aXJlZCBleHBlcnRpc2UgaW4gY3JlYXRpbmcgcGVnUk5Bcywgd2UgZGVzaWduZWQgdGhlIG5ldyB2YXJpYW50cyBzcGVjaWZpY2FsbHkgdGFpbG9yZWQgdG8gdGhlIGdlbm9taWMgQ0ZUUiByZWdpb24uIFRoZXNlIHBlZ1JOQXMgaW5jbHVkZWQgdGhlIHNhbWUgY29tYmluYXRpb25zIG9mIFBCUyBhbmQgUlRUIGxlbmd0aHMgYXMgdGhlIG9uZXMgd2UgY3JlYXRlZCBmb3Igb3VyIHJlcG9ydGVyIHBsYXNtaWQuIE5vdGFibHksIHNjYWZmb2xkLCBzcGFjZXIsIFBCUyBhbmQgYSBwYXJ0IG9mIHRoZSBSVFQgZGlkIG5vdCBoYXZlIHRvIGJlIGNoYW5nZWQgZnJvbSB0aGUgcmVwb3J0ZXIgdGFyZ2V0aW5nIHRvIGdlbm9tZSB0YXJnZXRpbmcgcGVnUk5Bcy4gT2YgdGhlIGNyZWF0ZWQgcGVnUk5Bcywgd2Ugd2FudGVkIHRvIGZvY3VzIG9uIHRlc3RpbmcgdGhlIG1vc3QgZWZmZWN0aXZlIGZvdXIgdmFyaWFudHMgZm91bmQgaW4gdGhlIHByZXZpb3VzIGN5Y2xlcyBhbmQgYWxzbyBhIHZhcmlhbnQgZGVzaWduYXRlZCBjb21wYXJhdGl2ZWx5IGluZWZmZWN0aXZlIHRvIHRlc3QgZm9yIGNvbnNpc3RlbmN5IG9mIG91ciByZXBvcnRlciBzeXN0ZW0uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJidWlsZC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgbmV3bHkgZGVzaWduZWQgcGVnUk5BcyB3ZXJlIG9yZGVyZWQgYXMgc2VwYXJhdGUgY29tcG9uZW50cywgaWRlbnRpY2FsIHRvIHRoZSBwcm9jZXNzIHVzZWQgZm9yIHRoZSBwZWdSTkFzIHRhcmdldGluZyB0aGUgcmVwb3J0ZXIgc3lzdGVtLiBFYWNoIFJOQSBoYWQgYm90aCBhIGNvbnN0YW50IGFuZCB2YXJpYWJsZSByZWdpb24sIHdoaWNoIHdlIGFzc2VtYmxlZCB1c2luZyBHb2xkZW4gR2F0ZSBjbG9uaW5nLiBBZnRlcndhcmRzIHdlIGNvbmZpcm1lZCB0aGUgY29ycmVjdG5lc3MgYW5kIGNvbXBsZXRlbmVzcyBvZiB0aGUgY2xvbmluZyBpbnRvIHRoZSBwVTYtcGVnLUdHLWFjY2VwdG9yIHBsYXNtaWQgdGhyb3VnaCBjb2xvbnkgUENSIHNjcmVlbmluZy4gVW5mb3J0dW5hdGVseSB0byB0aGlzIHBvaW50LCB3ZSB3ZXJlIG5vdCBhYmxlIHRvIHByb2R1Y2UgcG9zaXRpdmUgY2xvbmVzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXN0LWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBuZXh0IHN0ZXAgaXMgdG8gdGVzdCB0aGUgY29ycmVjdGlvbiBvZiBDRlRSIEY1MDhkZWwgdXNpbmcgdGhlc2UgcGVnUk5BcyBpbiB0aGUgQ0ZCRTQxby0gZXBpdGhlbGlhbCBjZWxscy4gQWRkaXRpb25hbGx5LCB3ZSBhbHNvIHdhbnQgdG8gdGVzdCB0aGUgcGVnUk5BcyBpbiBwcmltYXJ5IGNlbGxzIGRlcml2ZWQgZnJvbSBmcmllbmQgb2YgdGhlIHRlYW0gYW5kIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50IDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ21heGZpcnN0JywgJy9odW1hbi1wcmFjdGljZXMnKX0+IE1heCA8L2E+LCB0ZXN0aW5nIHdoZXRoZXIgb3VyIGFwcHJvYWNoZXMgYXJlIGFwcGxpY2FibGUgbm90IG9ubHkgaW4gbW9kZWwgc3lzdGVtcywgYnV0IGFsc28gd29yayBpbiBwYXRpZW50IGNlbGxzLiBUbyB2YWxpZGF0ZSB0aGUgZWRpdGluZyBlZmZpY2llbmN5IG9mIG91ciBkZXNpZ25lZCBwZWdSTkFzIHdlcmUgZ29pbmcgdG8gY28tdHJhbnNmZWN0IGEgcGxhc21pZCBjYXJyeWluZyBhbiBlWUZQIHZhcmlhbnQgd2hpY2ggaXMgc2Vuc2l0aXZlIHRvIGNobG9yaWRlIGFuZCBpb2RpZGUgaW9uIGNvbmNlbnRyYXRpb25zPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlZ3JuYVwiIG51bT1cIjNcIiBzY3JvbGxJZD1cImRlc2MtM1wiLz48VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGVncm5hXCIgbnVtPVwiNFwiIHNjcm9sbElkPVwiZGVzYy00XCIvPi4gVGhlIGludGVuc2l0eSBvZiB0aGUgZmx1b3Jlc2NlbmNlIGNvcnJlbGF0ZXMgd2l0aCB0aGVzZSBpb24gY29uY2VudHJhdGlvbnMsIHdoaWNoIGluIHR1cm4gcmVmbGVjdHMgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIENGVFIgY2hhbm5lbC4gVGhpcyBlbmFibGVzIHVzIHRvIGV2YWx1YXRlIHRoZSBlZGl0aW5nIGVmZmljaWVuY3kgb2YgdGhlIGRpZmZlcmVudCBwZWdSTkEgdmFyaWFudHMgb24gYSBwaGVub3R5cGljIGxldmVsLiBBZnRlciA3MiBob3Vycywgd2UgYXJlIGdvaW5nIHRvIHBlcmZvcm0gYSBmaW5hbCBhbmFseXNpcyB1c2luZyBGQUNTIHRvIHF1YW50aWZ5IHRoZSByZXN1bHRzIGFuZCBkZXRlcm1pbmUgdGhlIGVkaXRpbmcgZWZmaWNpZW5jeSBvZiBlYWNoIHBlZ1JOQS4gU2Vjb25kbHksIHdlIHdhbnRlZCB0byBkZXRlY3QgdGhlIGVkaXRpbmcgb24gYSBnZW5vbWljIGxldmVsIGJ5IGZhY2lsaXRhdGluZyBhIHFQQ1Igd2l0aCBhIHByaW1lciBzcGVjaWZpYyBvbmx5IHRvIHRoZSBjb3JyZWN0ZWQgRjUwOGRlbCBsb2N1cy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpdGggdGhpcyBleHBlcmltZW50IHdlIGhvcGUgdG8gYWNoaWV2ZSB0d28gdGhpbmdzOiBGaXJzdGx5LCB3ZSB3YW50IHRvIGV4YW1pbmUgd2hldGhlciBvcHRpbWl6YXRpb25zIG9mIHBlZ1JOQXMgZGVzaWduZWQgZm9yIG91ciByZXBvcnRlciBzeXN0ZW0gYWN0dWFsbHkgdHJhbnNmZXIgdG8gdGhlIGdlbm9taWMgQ0ZUUiB0YXJnZXRpbmcuIFNlY29uZGx5IGFuZCBtb3N0IGltcG9ydGFudGx5LCB3ZSB3YW50IHRvIGZpbmQgb3V0IHdoZXRoZXIgd2UgYWN0dWFsbHkgY3JlYXRlZCBhbiBlZmZlY3RpdmUgZ2VuZSBlZGl0aW5nIHN0cmF0ZWd5IGZvciB0aGUgZ2Vub21pYyBjb250ZXh0IG9mIENGVFIsIHRoZXJlYnkgcHJvdmlkaW5nIGEgZm91bmRhdGlvbiBmb3IgYSBmdXR1cmUgZ2VuZSB0aGVyYXB5IHdpdGggaGlnaCBlZmZpY2llbmN5IGFuZCBwcmVjaXNpb24gd2hlbiB1c2VkIHdpdGggdGhlIHJpZ2h0IHByaW1lIGVkaXRvci5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cInBlZzVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwicGVnNVwiIGlkPVwicGVnNWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoaXMgZmluYWwgaXRlcmF0aW9uLCB3ZSBmb2N1cyBvbiB0aGUgb3V0bG9vayBmb3IgZnV0dXJlIG1vZGlmaWNhdGlvbnMgYW5kIG9wdGltaXphdGlvbnMgb2Ygb3VyIHBlZ1JOQSBkZXNpZ24uIFRoZXNlIGNvbmNlcHRzIGFyZSBtZWFudCB0byBmdXJ0aGVyIGltcHJvdmUgYm90aCB0aGUgc3RhYmlsaXR5IGFuZCBlZGl0aW5nIGVmZmljaWVuY3kgdGhyb3VnaCBhZGRpdGlvbmFsIHJlc2VhcmNoIGFuZCB0aGUgaW1wbGVtZW50YXRpb24gb2YgbmV3IGRlc2lnbiBzdHJhdGVnaWVzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBBcyB3ZSBjb250aW51ZWQgdG8gcmVmaW5lIG91ciBhcHByb2FjaCwgZnVydGhlciBsaXRlcmF0dXJlIHJlc2VhcmNoIHdhcyBjb25kdWN0ZWQsIGFuZCBuZXcgZGVzaWduIGlkZWFzIGNvbnNpZGVyZWQuIFRoZSBvdmVyYXJjaGluZyBnb2FsIHJlbWFpbmVkIHRvIGVuaGFuY2UgYm90aCB0aGUgc3RhYmlsaXR5IGFuZCBlZGl0aW5nIGVmZmljaWVuY3kgb2YgdGhlIHBlZ1JOQXMuIE9uZSBjb25jZXB0IHdlIGFyZSBhbHJlYWR5IGV4cGxvcmluZyBpbnZvbHZlcyB0aGUgaW5jb3Jwb3JhdGlvbiBvZiAzXHUyMDE5IGFuZCA1XHUyMDE5IFVUUnMgKFVudHJhbnNsYXRlZCBSZWdpb25zKTxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZWdybmFcIiBudW09XCI1XCIgc2Nyb2xsSWQ9XCJkZXNjLTVcIi8+LiBUaGVzZSBlbGVtZW50cywgdHlwaWNhbGx5IGZvdW5kIGluIG1STkEsIGNvdWxkIGJlIGFkZGVkIHRvIHRoZSBwZWdSTkEgdG8gaW5jcmVhc2UgaXRzIHN0YWJpbGl0eS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+ICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBBbm90aGVyIHByb21pc2luZyBpZGVhIGlzIHRoZSB1c2Ugb2YgY2lyY3VsYXIgUk5BIChjaXJjUk5BKTxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZWdybmFcIiBudW09XCI2XCIgc2Nyb2xsSWQ9XCJkZXNjLTZcIi8+LCB3aGljaCBjb3VsZCBwcm92aWRlIGFkZGl0aW9uYWwgc3RhYmlsaXR5IGJ5IG1haW50YWluaW5nIHRoZSBjbG9zZWQtbG9vcCBzdHJ1Y3R1cmUgb2YgdGhlIHBlZ1JOQS4gVGhpcyB3b3VsZCBwcmV2ZW50IGRlZ3JhZGF0aW9uIGFuZCBpbmNyZWFzZSB0aGUgbG9uZ2V2aXR5IG9mIHRoZSBwZWdSTkEgaW4gdGhlIGNlbGwuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRpdGlvbmFsbHksIGZ1cnRoZXIgbnVjbGVvdGlkZSBtb2RpZmljYXRpb25zIGNvdWxkIGJlIGV4cGxvcmVkLCBzdWNoIGFzIGV4cGVyaW1lbnRpbmcgd2l0aCBhbHRlcm5hdGl2ZSBzaWxlbnQgZWRpdHMgdG8gc2VlIGlmIHRoaXMgbGVhZHMgdG8gaW1wcm92ZWQgZWRpdGluZyBlZmZpY2llbmN5LiBXZSBhbHNvIG51Y2xlb3RpZGUgc3Vic3RpdHV0aW9ucyBpbiB0aGUgc2NhZmZvbGQgcmVnaW9uIHRvIGVuaGFuY2UgUk5BLWJpbmRpbmcgYWZmaW5pdHkgdG8gdGhlIHByb3RlaW4gY29tcGxleCBjb3VsZCBiZSBvZiB1c2UuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJidWlsZC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUbyBpbXBsZW1lbnQgdGhlc2UgbmV3IGRlc2lnbiBmZWF0dXJlcywgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50cywgc3VjaCBhcyBVVFJzLCB3b3VsZCBuZWVkIHRvIGJlIGNsb25lZCBpbnRvIHRoZSBleGlzdGluZyBwZWdSTkFzLiBJZiB3ZSBwdXJzdWUgYWx0ZXJuYXRpdmUgc2lsZW50IGVkaXRzLCB0aGUgcGVnUk5BIHNlcXVlbmNlcyB3b3VsZCBuZWVkIHRvIGJlIHJlZGVzaWduZWQsIG9yZGVyZWQsIGFuZCByZS1jbG9uZWQuIFRoZSBjaXJjdWxhciBSTkEgd291bGQgYWxzbyByZXF1aXJlIGEgbmV3IGFzc2VtYmx5IG1ldGhvZCB0byBhY2hpZXZlIHRoZSBkZXNpcmVkIHN0cnVjdHVyZS4gSG93ZXZlciwgdGhlIGZ1bmRhbWVudGFsIHdvcmtmbG93IHdvdWxkIHJlbWFpbiBjb25zaXN0ZW50IHdpdGggdGhlIHByb2Nlc3NlcyB1c2VkIGluIHByZXZpb3VzIGl0ZXJhdGlvbnMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRlc3QtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gbWFpbnRhaW4gY29uc2lzdGVuY3kgYW5kIGNvbXBhcmFiaWxpdHksIHRoZSBzYW1lIHRlc3RpbmcgcHJvdG9jb2xzIHVzZWQgZm9yIHRoZSBwcmV2aW91cyBwZWdSTkEgc2NyZWVuaW5nIHdvdWxkIGJlIGFwcGxpZWQuIFRoaXMgaW5jbHVkZXMgY28tdHJhbnNmZWN0aW9uIGluIHRoZSBhcHByb3ByaWF0ZSBjZWxsIGxpbmVzLCBmbHVvcmVzY2VuY2UtYmFzZWQgcmVhZG91dHMgZm9yIGVkaXRpbmcgZWZmaWNpZW5jeSwgYW5kIEZBQ1MgYW5hbHlzaXMuIEJ5IGtlZXBpbmcgdGhlIGV4cGVyaW1lbnRhbCBjb25kaXRpb25zIHRoZSBzYW1lLCB3ZSBjYW4gZW5zdXJlIHRoYXQgdGhlIGVmZmVjdHMgb2YgdGhlIG5ldyBtb2RpZmljYXRpb25zIGNhbiBiZSBhY2N1cmF0ZWx5IGFzc2Vzc2VkIGFuZCBjb21wYXJlZCB0byBwcmV2aW91cyByZXN1bHRzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwibGVhcm4taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbSB0aGVzZSB0ZXN0cywgd2Ugd291bGQgYWltIHRvIGRlcml2ZSBuZXcgaW5zaWdodHMgbm90IG9ubHkgc3BlY2lmaWMgdG8gb3VyIHBhcnRpY3VsYXIgY29udGV4dCBidXQgYWxzbyBmb3IgcGVnUk5BIGRlc2lnbiBhcyBhIHdob2xlLiBUaGVzZSBmdXR1cmUgbW9kaWZpY2F0aW9ucyBjb3VsZCBhbHNvIHlpZWxkIHZhbHVhYmxlIGluZm9ybWF0aW9uIG9uIGhvdyB0byBmdXJ0aGVyIGltcHJvdmUgdGhlIG92ZXJhbGwgZWZmaWNpZW5jeSBhbmQgc3RhYmlsaXR5IG9mIHBlZ1JOQXMsIGNvbnRyaWJ1dGluZyB0byB0aGUgYnJvYWRlciBmaWVsZCBvZiBnZW5lIGVkaXRpbmcuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiUmVmZXJlbmNlc1wiIGlkPVwicmVmZXJlbmNlc1wiPlxuICAgICAgICAgICAgICAgICAgICAgPEVuZ1BlZ3NvdXJjZXMvPlxuICAgICAgICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVmdFwiPjxCdXR0b25PbmVFbmdpbmVlcmluZyBsYWJlbD1cIlByZXZpb3VzXCIgb3Blbj1cInBlLXN5c3RlbXNcIiBzY3JvbGxUb0lkPVwicGUtc3lzdGVtcy1oZWFkZXJcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJpZ2h0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiTmV4dFwiIG9wZW49XCJuaWNrYXNlXCIgc2Nyb2xsVG9JZD1cIm5pY2thc2UtaGVhZGVyXCIvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbmdpbm5lZXJpbmd0YWJcIiBpZD1cInRhYi1uaWNrYXNlXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgPHNlY3Rpb24gaWQ9XCJOaWNrYXNlIHNlY1wiID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZW5nLWJveCBib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8SDIgaWQ9XCJuaWNrYXNlLWhlYWRlclwiIHRleHQ9XCJBbHRlcm5hdGl2ZSBOaWNrYXNlc1wiPjwvSDI+XG4gICAgICAgICAgICAgICAgICAgICA8cD48TG9yZW1TaG9ydD48L0xvcmVtU2hvcnQ+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9mYW56b3IvbW92aWU0LWV6Z2lmLWNvbS12aWRlby10by1naWYtY29udmVydGVyLmdpZlwiPjwvaW1nPlxuICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9mYW56b3IvbW92aWU1LWV6Z2lmLWNvbS12aWRlby10by1naWYtY29udmVydGVyLTIuZ2lmXCI+PC9pbWc+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJuaWMxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIlNwdUZ6MSBaaW5rIEZpbmdlciBNdXRhdGlvbiBcIiBpZD1cIm5pYzFoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIG91ciBxdWVzdCB0byBpZGVudGlmeSBzbWFsbGVyIGVuZG9udWNsZWFzZXMgc3VpdGFibGUgZm9yIGNyZWF0aW5nIG5pY2thc2VzLCB3ZSBmb2N1c2VkIG9uIGEgbmV3bHkgY2hhcmFjdGVyaXplZCBmYW1pbHkgb2YgZXVrYXJ5b3RpYyBlbmRvbnVjbGVhc2VzIGtub3duIGFzIEZhbnpvciBwcm90ZWlucyBmaXJzdCBkZXNjcmliZWQgaW4gSnVuZSAyMDIzPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLW5pY2thc2VcIiBudW09XCIxXCIgc2Nyb2xsSWQ9XCJkZXNjLTFcIi8+LCB3aXRoIFNwdUZ6MSAoRmlnLiAxKSBiZWluZyBhIHN0YW5kb3V0IGNhbmRpZGF0ZSBkdWUgdG8gaXRzIHNtYWxsZXIgc2l6ZSBjb21wYXJlZCB0byBDYXM5IChTcHVGejEgY29uc2lzdHMgb2YgNjM4IGFtaW5vIGFjaWRzPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLW5pY2thc2VcIiBudW09XCIxXCIgc2Nyb2xsSWQ9XCJkZXNjLTFcIi8+LCB3aGVyZWFzIENhczkgaGFzIGEgc2l6ZSBvZiAxMzY4IGFtaW5vIGFjaWRzPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLW5pY2thc2VcIiBudW09XCIyXCIgc2Nyb2xsSWQ9XCJkZXNjLTJcIi8+KS4gV2Ugc2VsZWN0ZWQgU3B1RnoxIG5vdCBvbmx5IGJlY2F1c2Ugb2YgaXRzIHNtYWxsZXIgc2l6ZSwgYnV0IGFsc28gZHVlIHRvIHN0cnVjdHVyYWwgYWR2YW50YWdlcywgc3VjaCBhcyB0aGUgcmV2ZXJzZWQgcG9zaXRpb25pbmcgb2YgdGhlIHNwYWNlciwgd2hpY2ggcHJvdmlkZXMgYmV0dGVyIHByb3RlY3Rpb24gZnJvbSBSTmFzZSBkZWdyYWRhdGlvbiBhbmQgaW1wcm92ZXMgZWRpdGluZyBwcmVjaXNpb24uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBDYXM5IGVuZG9udWNsZWFzZSBjb250YWlucyB0d28gYWN0aXZlIGRvbWFpbnMsIGVhY2ggcmVzcG9uc2libGUgZm9yIGN1dHRpbmcgb25lIG9mIHRoZSB0d28gRE5BIHN0cmFuZHMuIENhczkgdXNlcyB0aGUgUnV2QyBhbmQgSE5IIGRvbWFpbnMsIHdpdGggZWFjaCBkb21haW4gbWFraW5nIGEgY3V0IG9uIGEgZGlmZmVyZW50IHN0cmFuZCBvZiB0aGUgdGFyZ2V0IEROQTxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1uaWNrYXNlXCIgbnVtPVwiM1wiIHNjcm9sbElkPVwiZGVzYy0zXCIvPi4gVG8gY3JlYXRlIGEgbmlja2FzZSBmcm9tIENhczksIHNjaWVudGlzdHMgZGVhY3RpdmF0ZSBvbmUgb2YgdGhlc2UgYWN0aXZlIGRvbWFpbnMsIHR5cGljYWxseSB0aGUgSE5IIGRvbWFpbiwgc28gdGhhdCB0aGUgZW56eW1lIG9ubHkgY3V0cyBvbmUgc3RyYW5kIGluc3RlYWQgb2YgYm90aCwgcHJvZHVjaW5nIGEgc2luZ2xlLXN0cmFuZCBicmVhayByYXRoZXIgdGhhbiBhIGRvdWJsZS1zdHJhbmQgYnJlYWs8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItbmlja2FzZVwiIG51bT1cIjRcIiBzY3JvbGxJZD1cImRlc2MtNFwiLz4uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhc2VkIG9uIHRoZSBmdW5jdGlvbiBvZiB0aGlzIHByb3RvdHlwaWNhbCBDYXM5IG5pY2thc2UsIHdlIGFzc3VtZWQgdGhhdCBTcHVGejEgd291bGQgb3BlcmF0ZSBzaW1pbGFybHksIHdpdGggdHdvIGFjdGl2ZSBjZW50ZXJzXHUyMDE0UnV2QyBhbmQgVE5CXHUyMDE0ZWFjaCBjdXR0aW5nIG9uZSBETkEgc3RyYW5kLiBGb2xsb3dpbmcgdGhpcyBsb2dpYywgd2UgaHlwb3RoZXNpemVkIHRoYXQgYnkgZGVhY3RpdmF0aW5nIHRoZSBUTkIgZG9tYWluLCB3aGljaCBjb250YWlucyBhIHppbmMgZmluZ2VyIG1vdGlmIChGaWcuIDIpIGNydWNpYWwgZm9yIEROQSBjb29yZGluYXRpb24sIHdlIGNvdWxkIGNvbnZlcnQgU3B1RnoxIGludG8gYSBuaWNrYXNlLiBUbyB0ZXN0IHRoaXMsIHdlIGFpbWVkIHRvIHJlcGxhY2UgdGhlIGN5c3RlaW5lIHJlc2lkdWVzIGludm9sdmVkIGluIHppbmMgaW9uIGNvb3JkaW5hdGlvbiB3aXRoaW4gdGhlIFROQiBkb21haW4gd2l0aCBhbGFuaW5lLCB0aGVyZWJ5IGltcGFpcmluZyBpdHMgRE5BLWJpbmRpbmcgYWJpbGl0eSBhbmQgcHJvZHVjaW5nIGEgU3B1RnoxIG5pY2thc2UgdGhhdCBjdXRzIG9ubHkgb25lIHN0cmFuZC4gQXQgdGhhdCB0aW1lLCB3ZSBiZWxpZXZlZCBib3RoIGRvbWFpbnMgaW4gU3B1RnoxIHdlcmUgZGlyZWN0bHkgcmVzcG9uc2libGUgZm9yIEROQSBjbGVhdmFnZSwgYW5kIG91ciBzdHJhdGVneSB3YXMgYmFzZWQgb24gdGhpcyBhc3N1bXB0aW9uLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNpbmcgdGhlIHByb3RlaW4gdmlzdWFsaXphdGlvbiBzb2Z0d2FyZSBDaGltZXJhWCwgd2UgY2FyZWZ1bGx5IGV4YW1pbmVkIHRoZSBzdHJ1Y3R1cmUgb2YgU3B1RnoxIHRvIGlkZW50aWZ5IHRoZSBrZXkgY3lzdGVpbmUgcmVzaWR1ZXMgcmVzcG9uc2libGUgZm9yIGNvb3JkaW5hdGluZyB0aGUgemluYyBpb24uIFdpdGggdGhpcyBpbnNpZ2h0LCB3ZSBkZXNpZ25lZCBvdXIgbmlja2FzZSBjYW5kaWRhdGVzIGJ5IG1vZGlmeWluZyB0aGUgd2lsZC10eXBlIHNlcXVlbmNlLCBzcGVjaWZpY2FsbHkgc3Vic3RpdHV0aW5nIHRoZXNlIGN5c3RlaW5lcyB3aXRoIGFsYW5pbmUsIHRvIGRpc3J1cHQgdGhlIHppbmMgaW9uIGNvb3JkaW5hdGlvbiBhbmQgcG90ZW50aWFsbHkgYWx0ZXIgdGhlIHByb3RlaW4ncyBmdW5jdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlyc3QsIHdlIGRpc2N1c3NlZCBvdXIgYXBwcm9hY2ggd2l0aCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdoYW1tZXJrYWknLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gS2FpIFNjaFx1MDBGQ2xrZSA8L2E+LCBhIFBoRCBzdHVkZW50IGZyb20gdGhlIEhhbW1lciBHcm91cCBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSwgd2hpY2ggc3BlY2lhbGl6ZXMgaW4gZW56eW1lIGVuZ2luZWVyaW5nLiBIZSBjb25maXJtZWQgdGhhdCBvdXIgcGxhbiB0byBmb2N1cyBvbiBzcGVjaWZpYyBtdXRhdGlvbiBjYW5kaWRhdGVzIHdhcyBhcHByb3ByaWF0ZSBnaXZlbiB0aGUgY29uc3RyYWludHMgb2Ygb3VyIHByb2plY3QuIEhlIGVtcGhhc2l6ZWQgdGhhdCB3ZSBsYWNrZWQgdGhlIHRpbWUgYW5kIHJlc291cmNlcyB0byBjb25kdWN0IGxhcmdlLXNjYWxlLCBxdWFudGl0YXRpdmUgc3R1ZGllcyBvbiBhIHdpZGUgcmFuZ2Ugb2YgbXV0YXRpb25zLiBJbnN0ZWFkLCBoZSBzdXBwb3J0ZWQgb3VyIGRlY2lzaW9uIHRvIHRhcmdldCBzcGVjaWZpYyBjYW5kaWRhdGVzIHRoYXQgY291bGQgYmUgdGhvcm91Z2hseSB0ZXN0ZWQgd2l0aGluIHRoZSBzY29wZSBvZiBvdXIgcHJvamVjdC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkaXRpb25hbGx5LCB3ZSBjYXJlZnVsbHkgY29uc2lkZXJlZCB0aGUgcG90ZW50aWFsIGVmZmVjdGl2ZW5lc3Mgb2Ygb3VyIG1vZGlmaWVkIFNwdUZ6MSBuaWNrYXNlIGluIGEgUHJpbWUgRWRpdGluZyBzY2VuYXJpbywgc3BlY2lmaWNhbGx5IHRhcmdldGluZyB0aGUgRjUwOGRlbCBtdXRhdGlvbiBpbiBjeXN0aWMgZmlicm9zaXMuIER1cmluZyB0aGlzIGRldGFpbGVkIGFuYWx5c2lzLCB3ZSBpZGVudGlmaWVkIGEgY3JpdGljYWwgY2hhbGxlbmdlOiB0aGUgVEFNIHNlcXVlbmNlIHJlcXVpcmVkIGZvciBTcHVGejEgYmluZGluZyB3YXMgbG9jYXRlZCB0b28gZmFyIGZyb20gdGhlIHRhcmdldCBtdXRhdGlvbiBzaXRlLiBUaGlzIGRpc3RhbmNlIGNvdWxkIGxpbWl0IHRoZSBlZmZpY2llbmN5IG9mIHRoZSBQcmltZSBFZGl0b3IsIHJhaXNpbmcgY29uY2VybnMgYWJvdXQgaXRzIG92ZXJhbGwgZWZmZWN0aXZlbmVzcyBmb3IgdGhpcyBwYXJ0aWN1bGFyIG11dGF0aW9uLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEluZm9Cb3ggdGl0bGU9XCJUQU0gc2VxdWVuY2VzXCIgaWQ9XCJjdXJyZW50LXBlLXN5c3RlbXNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBIFRBTSBzZXF1ZW5jZSBpcyB0aGUgZXF1aXZhbGVudCB0byBhIFBBTSBzZXF1ZW5jZSBmb3IgT01FR0Egc3lzdGVtcy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQSA8Yj5UQU0gc2VxdWVuY2U8L2I+IChUYXJnZXRlZCBBY3Rpdml0eSBNb2RpZmljYXRpb24gc2VxdWVuY2UpIGlzIGEgc2hvcnQgRE5BIHNlcXVlbmNlLCB0eXBpY2FsbHkgb25seSBhIGZldyBiYXNlcyBsb25nLCB0aGF0IHByb3ZpZGVzIGEgYmluZGluZyBzaXRlIGZvciB0aGUgbmlja2FzZSB3aXRoaW4gdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleC4gVGhpcyBzZXF1ZW5jZSBpcyBjcnVjaWFsIGJlY2F1c2UgaXQgYWxsb3dzIHRoZSBuaWNrYXNlIHRvIGJpbmQgdG8gdGhlIEROQSBhbmQgbWFrZSBhIHByZWNpc2Ugc2luZ2xlLXN0cmFuZCBjdXQuIEZvciB0aGUgUHJpbWUgRWRpdGluZyBjb21wbGV4IHRvIGNvcnJlY3QgYSBtdXRhdGlvbiBhdCBhIHNwZWNpZmljIGxvY2F0aW9uIGd1aWRlZCBieSB0aGUgcGVnUk5BLCBhIFRBTSBzZXF1ZW5jZSBtdXN0IGJlIGxvY2F0ZWQgbmVhciB0aGF0IHRhcmdldCBzaXRlLiBXaGlsZSB0aGUgcGVnUk5BIGRpcmVjdHMgdGhlIGVkaXRpbmcgbWFjaGluZXJ5IHRvIHRoZSByZWdpb24gd2hlcmUgdGhlIGNvcnJlY3Rpb24gd2lsbCBvY2N1ciwgdGhlIFRBTSBzZXF1ZW5jZSBlbmFibGVzIHRoZSBuaWNrYXNlIHRvIHBoeXNpY2FsbHkgaW50ZXJhY3Qgd2l0aCB0aGUgRE5BIGFuZCBpbml0aWF0ZSB0aGUgY3V0LiBUaGVyZWZvcmUsIGJvdGggdGhlIHBlZ1JOQSBhbmQgdGhlIFRBTSBzZXF1ZW5jZSBhcmUgZXNzZW50aWFsIGZvciBlZmZpY2llbnQgYW5kIGFjY3VyYXRlIGVkaXRpbmc6IHRoZSBwZWdSTkEgc3BlY2lmaWVzIHRoZSBzaXRlIG9mIHRoZSBjb3JyZWN0aW9uLCBhbmQgdGhlIFRBTSBzZXF1ZW5jZSBmYWNpbGl0YXRlcyB0aGUgbmlja2FzZSdzIGJpbmRpbmcgYW5kIGFjdGlvbi4gRm9yIGluc3RhbmNlLCBTcHVGejEgcmVjb2duaXplcyB0aGUgVEFNIHNlcXVlbmNlIDxiPjUnLUNBVEEtMyc8L2I+LCBhbmQgQ2FzWCBiaW5kcyB0byA8Yj41Jy1UVENOLTMnPC9iPi4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RldGFpbHM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0luZm9Cb3g+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhyb3VnaCB0aGlzIGl0ZXJhdGlvbiwgd2UgbGVhcm5lZCB0aGF0IHRhcmdldGVkIG11dGFnZW5lc2lzIGlzIGEgcHJvbWlzaW5nIGFwcHJvYWNoIGZvciBnZW5lcmF0aW5nIG91ciBtdXRhbnQgbmlja2FzZXMuIFdlIGFsc28gcmVjb2duaXplZCB0aGUgaW1wb3J0YW5jZSBvZiBjYXJlZnVsbHkgc2VsZWN0aW5nIHRoZSBhcHByb3ByaWF0ZSBQQU0gb3IgVEFNIHNlcXVlbmNlcyBmb3Igb3VyIGNob3NlbiBlbmRvbnVjbGVhc2VzLiBTcGVjaWZpY2FsbHksIHdlIHJlYWxpemVkIHRoYXQgdGhlIFRBTSBzZXF1ZW5jZSBmb3IgU3B1RnoxIG1pZ2h0IGJlIHRvbyBmYXIgZnJvbSBvdXIgdGFyZ2V0IG11dGF0aW9uLCBwcm9tcHRpbmcgdXMgdG8gZXhwbG9yZSBvdGhlciBlbmRvbnVjbGVhc2VzIHdpdGhpbiB0aGUgRmFuem9yIGZhbWlseSB0aGF0IGNvdWxkIHNlcnZlIGFzIGJldHRlciBjYW5kaWRhdGVzIGZvciBuaWNrYXNlIGRldmVsb3BtZW50LiBBZGRpdGlvbmFsbHksIHRoaXMgcHJvY2VzcyBoaWdobGlnaHRlZCB0aGUgY3JpdGljYWwgcm9sZSBvZiBleHBlcnQgY29uc3VsdGF0aW9uIGluIHJlZmluaW5nIG91ciBzdHJhdGVnaWVzIGFuZCBlbnN1cmluZyB0aGUgZmVhc2liaWxpdHkgb2Ygb3VyIGFwcHJvYWNoLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwibmljMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJGdXNpb24gUHJvdGVpbiBmcm9tIEd0RnoxICYgU3B1RnoxXCIgaWQ9XCJuaWMyaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJkZXNpZ24taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gb3VyIG9uZ29pbmcgZXhwbG9yYXRpb24gb2YgRmFuem9yIHByb3RlaW5zLCB3ZSBpZGVudGlmaWVkIGFub3RoZXIgcG90ZW50aWFsIGNhbmRpZGF0ZSwgR3RGejEsIHdoaWNoIGhhZCBhIHN1aXRhYmxlIFRBTSBzZXF1ZW5jZSBmb3Igb3VyIHRhcmdldCBhcHBsaWNhdGlvbiBvZiBjb3JyZWN0aW5nIHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIGN5c3RpYyBmaWJyb3Npcy4gSG93ZXZlciwgR3RGejEgc2hvd2VkIGxvdyBjdXR0aW5nIGVmZmljaWVuY3kgaW4gdGhlIHRlc3RzIHJlcG9ydGVkIGluIHRoZSBsaXRlcmF0dXJlPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLW5pY2thc2VcIiBudW09XCIxXCIgc2Nyb2xsSWQ9XCJkZXNjLTFcIi8+LiBUbyBhZGRyZXNzIHRoaXMsIHdlIGRldmlzZWQgYSBzdHJhdGVneSB0byBjb21iaW5lIHRoZSBmYXZvcmFibGUgVEFNLWJpbmRpbmcgcHJvcGVydGllcyBvZiBHdEZ6MSB3aXRoIHRoZSBoaWdoZXIgY3V0dGluZyBlZmZpY2llbmN5IG9mIFNwdUZ6MS4gU3BlY2lmaWNhbGx5LCB3ZSBwbGFubmVkIHRvIGVuZ2luZWVyIGEgZnVzaW9uIHByb3RlaW4gYnkgcmVwbGFjaW5nIHRoZSBUQU0tYmluZGluZyBkb21haW4gb2YgU3B1RnoxIHdpdGggdGhhdCBvZiBHdEZ6MS4gVGhpcyBhcHByb2FjaCBhaW1zIHRvIGNyZWF0ZSBhbiBlbmRvbnVjbGVhc2UgdGhhdCByZXRhaW5zIHRoZSBzdHJvbmcgVEFNLWJpbmRpbmcgYWJpbGl0eSBvZiBHdEZ6MSB3aGlsZSB1dGlsaXppbmcgdGhlIHJvYnVzdCBjdXR0aW5nIGVmZmljaWVuY3kgb2YgU3B1RnoxLCBvcHRpbWl6aW5nIGl0IGZvciBvdXIgUHJpbWUgRWRpdGluZyBhcHBsaWNhdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgR2l2ZW4gdGhhdCB3ZSB3ZXJlIHN3YXBwaW5nIGVudGlyZSBkb21haW5zIHJhdGhlciB0aGFuIGp1c3Qgc2luZ2xlIGFtaW5vIGFjaWRzLCB3ZSByZWFsaXplZCB0aGF0IHRoZSBmdXNpb24gcHJvdGVpbiBtaWdodCBub3QgcmV0YWluIHRoZSBpZGVhbCBUQU0tYmluZGluZyBlZmZpY2llbmN5IG9yIGN1dHRpbmcgZWZmaWNpZW5jeSBvZiB0aGUgb3JpZ2luYWwgcHJvdGVpbnMuIE91ciBzdHJhdGVneSB3YXMgdG8gY3JlYXRlIGEgZnVzaW9uIHByb3RlaW4gdGhhdCBjb3VsZCBiaW5kIHRvIHRoZSBUQU0gc2l0ZSBhbmQgcGVyZm9ybSBETkEgY3V0dGluZyB0byBhIGNlcnRhaW4gZXh0ZW50LCBhbGJlaXQgd2Vha2x5LiBXZSBwbGFubmVkIHRvIHVzZSBkaXJlY3RlZCBldm9sdXRpb24gdGVjaG5pcXVlcywgc3VjaCBhcyBQaGFnZSBBc3Npc3RlZCBDb250aW51b3VzIEV2b2x1dGlvbiAoUEFDRSksIHRvIGVuaGFuY2UgdGhlc2UgZnVuY3Rpb25hbGl0aWVzIG92ZXIgdGltZS4gVGhpcyBhcHByb2FjaCByZWxpZXMgb24gaGF2aW5nIGEgc3RhcnRpbmcgcG9pbnQgd2l0aCBzb21lIGRlZ3JlZSBvZiB0aGUgZGVzaXJlZCBhY3Rpdml0eSwgd2hpY2ggY2FuIHRoZW4gYmUgaW5jcmVtZW50YWxseSBpbXByb3ZlZCB0aHJvdWdoIGV2b2x1dGlvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBidWlsZCBwaGFzZSBpbnZvbHZlZCBkZXNpZ25pbmcgdGhpcyBmdXNpb24gcHJvdGVpbiBieSBpbnRlZ3JhdGluZyB0aGUgVEFNLWJpbmRpbmcgcmVnaW9uIGZyb20gR3RGejEgaW50byB0aGUgU3B1RnoxIHByb3RlaW4gc3RydWN0dXJlLiBXZSBlbmdpbmVlcmVkIHRoZSBzZXF1ZW5jZSB0byBpbmNsdWRlIHRoaXMgaHlicmlkIGNvbmZpZ3VyYXRpb24sIGludGVuZGluZyB0byB0ZXN0IGl0cyBmdW5jdGlvbmFsaXR5IGFzIGEgbmlja2FzZSBhZnRlciBpbnRyb2R1Y2luZyB0aGUgemluYyBmaW5nZXIgbXV0YXRpb24sIHdoaWNoIHdlIGhhZCBoeXBvdGhlc2l6ZWQgd291bGQgaW5hY3RpdmF0ZSBvbmUgb2YgdGhlIEROQS1jdXR0aW5nIGRvbWFpbnMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRlc3QtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gdmFsaWRhdGUgb3VyIGFwcHJvYWNoLCB3ZSBjb25kdWN0ZWQgdHdvIGtleSBpbnRlcnZpZXdzLiBGaXJzdCwgd2UgY29uc3VsdGVkIHdpdGggPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignaGFtbWVyJywgJy9odW1hbi1wcmFjdGljZXMnKX0+IFByb2YuIERyLiBIYW1tZXIgPC9hPiBmcm9tIEJpZWxlZmVsZCBVbml2ZXJzaXR5LCB3aG8gaGlnaGxpZ2h0ZWQgdGhlIHBvc3NpYmlsaXR5IHRoYXQgdGhlIHppbmMgZmluZ2VyIGRvbWFpbiBtaWdodCBiZSBzdHJ1Y3R1cmFsbHkgc2lnbmlmaWNhbnQgYW5kIGNhdXRpb25lZCB0aGF0IG11dGF0aW5nIGl0IGNvdWxkIGRlc3RhYmlsaXplIHRoZSBwcm90ZWluLiBIZSByZWNvbW1lbmRlZCB0aGF0IHdlIGV4cGxvcmUgd2hldGhlciB0aGVyZSB3ZXJlIGFueSBrbm93biBlbnp5bWVzIHdpdGggc2ltaWxhciBtZWNoYW5pc21zIHdoZXJlIGFuYWxvZ291cyBtdXRhdGlvbnMgaGFkIHN1Y2Nlc3NmdWxseSBjb252ZXJ0ZWQgZW5kb251Y2xlYXNlcyBpbnRvIG5pY2thc2VzLiBUaGlzIGFwcHJvYWNoLCBoZSBzdWdnZXN0ZWQsIG1pZ2h0IG9mZmVyIGEgbW9yZSByZWxpYWJsZSBwYXRod2F5LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBOZXh0LCB3ZSBzcG9rZSB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3N2ZW5qYScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBTdmVuamEgRmlua2UgPC9hPiwgYSBQb3N0ZG9jdG9yYWwgRmVsbG93IGF0IHRoZSBIYXJ2YXJkIEluc3RpdHV0ZSBhbmQgYW4gZXhwZXJ0IGluIGRpcmVjdGVkIGVuenltZSBldm9sdXRpb24sIGluY2x1ZGluZyBQQUNFLiBXZSByZWFjaGVkIG91dCB0byBoZXIgc3BlY2lmaWNhbGx5IGJlY2F1c2Ugd2UgYW50aWNpcGF0ZWQgdGhhdCBvdXIgZnVzaW9uIHByb3RlaW4gbWlnaHQgcmVxdWlyZSBvcHRpbWl6YXRpb24gdG8gYWNoaWV2ZSBzdHJvbmcgVEFNLWJpbmRpbmcgYW5kIGN1dHRpbmcgZWZmaWNpZW5jeS4gU3ZlbmphIGluZm9ybWVkIHVzIHRoYXQgd2hpbGUgUEFDRSBjb3VsZCB0aGVvcmV0aWNhbGx5IG9wdGltaXplIG91ciBmdXNpb24gcHJvdGVpbiwgdGhlIHByb2Nlc3Mgd2FzIHRvbyBjb21wbGV4IGFuZCB0aW1lLWNvbnN1bWluZyBmb3IgdGhlIHNjb3BlIG9mIG91ciBwcm9qZWN0LiBBcyBhIHJlc3VsdCwgd2UgZGVjaWRlZCB0byByZWNvbnNpZGVyIHRoaXMgbWV0aG9kIGFuZCBsb29rIGZvciBzaW1wbGVyLCBtb3JlIGZlYXNpYmxlIGFsdGVybmF0aXZlcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb20gdGhpcyBpdGVyYXRpb24sIHdlIGxlYXJuZWQgc2V2ZXJhbCBpbXBvcnRhbnQgbGVzc29ucy4gRmlyc3QsIHdlIGRlY2lkZWQgdG8gYWJhbmRvbiB0aGUgZnVzaW9uIHByb3RlaW4gYXBwcm9hY2guIEZlZWRiYWNrIGZyb20gU3ZlbmphXHUyMDE5cyBpbnRlcnZpZXcgaGlnaGxpZ2h0ZWQgdGhhdCB0aGlzIHN0cmF0ZWd5IHdhcyB0b28gY29tcGxleCwgdGltZS1jb25zdW1pbmcsIGFuZCBpbnZvbHZlZCBzaWduaWZpY2FudCB1bmNlcnRhaW50eSByZWdhcmRpbmcgaXRzIGVmZmVjdGl2ZW5lc3MuIEdpdmVuIHRoZSBsb25nIHRlc3RpbmcgdGltZXMgYW5kIHRoZSBpbmhlcmVudCByaXNrcywgd2UgY29uY2x1ZGVkIHRoYXQgdGhpcyBhcHByb2FjaCB3YXMgbm90IHZpYWJsZSB3aXRoaW4gb3VyIHByb2plY3RcdTIwMTlzIGNvbnN0cmFpbnRzLiBJbml0aWFsbHksIHdlIGNvbnNpZGVyZWQgbW92aW5nIGF3YXkgZnJvbSBTcHVGejEgZHVlIHRvIHRoZSBUQU0gc2VxdWVuY2UgYmVpbmcgdG9vIGZhciBmcm9tIHRoZSBcdTAzOTRGNTA4IG11dGF0aW9uLiBIb3dldmVyLCB3aXRoIG9uZ29pbmcgaW1wcm92ZW1lbnRzIGluIHJldmVyc2UgdHJhbnNjcmlwdGFzZXMgd2l0aGluIFByaW1lIEVkaXRpbmcgc3lzdGVtcywgd2hpY2ggYWxsb3cgZm9yIGdyZWF0ZXIgZGlzdGFuY2VzIGJldHdlZW4gdGhlIG11dGF0aW9uIHNpdGUgYW5kIHRoZSBUQU0gc2VxdWVuY2UsIHdlIHJlZm9jdXNlZCBvdXIgZWZmb3J0cyBvbiBTcHVGejEsIGNvbnNpZGVyaW5nIGl0IGEgdmlhYmxlIGNhbmRpZGF0ZSBmb3IgZnVydGhlciBkZXZlbG9wbWVudC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgU2Vjb25kbHksIHdlIHJlYWxpemVkIHRoZSBpbXBvcnRhbmNlIG9mIHZlcmlmeWluZyB3aGV0aGVyIHRoZSB6aW5jIGZpbmdlciBtdXRhdGlvbiB3ZSBwcm9wb3NlZCBpcyBzdHJ1Y3R1cmFsbHkgZmVhc2libGUgYW5kIHdoZXRoZXIgaXQgbWlnaHQgY29tcHJvbWlzZSBwcm90ZWluIHN0YWJpbGl0eS4gVGhpcyBpbnNpZ2h0IGZ1cnRoZXIgZW1waGFzaXplZCB0aGUgbmVlZCB0byBjYXJlZnVsbHkgYXNzZXNzIG91ciBkZXNpZ24gY2hvaWNlcyBiZWZvcmUgcHJvY2VlZGluZyB0byBleHRlbnNpdmUgdGVzdGluZy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cIk1vZGVsaW5nIG9mIE11dGFudCBTdHJ1Y3R1cmFsIEludGVncml0eVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJuaWMzXCIgaWQ9XCJuaWMzaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJkZXNpZ24taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gdGhlIHByZXZpb3VzIGl0ZXJhdGlvbiwgd2UgY29uc3VsdGVkIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2hhbW1lcicsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBQcm9mLiBEci4gSGFtbWVyIDwvYT4sIHdobyBzdWdnZXN0ZWQgdGhhdCB0aGUgemluYyBmaW5nZXIgZG9tYWluIGluIHRoZSBTcHVGejEgcHJvdGVpbiBtaWdodCBwbGF5IGEgY3JpdGljYWwgc3RydWN0dXJhbCByb2xlLiBCYXNlZCBvbiB0aGlzIGZlZWRiYWNrLCB0aGUgZ29hbCBvZiB0aGlzIGl0ZXJhdGlvbiB3YXMgdG8gaW52ZXN0aWdhdGUgd2hldGhlciBtdXRhdGluZyB0aGUgemluYyBmaW5nZXIgd291bGQgZGVzdGFiaWxpemUgdGhlIHByb3RlaW4gYW5kIGNvbXByb21pc2UgaXRzIGZ1bmN0aW9uLiBTcGVjaWZpY2FsbHksIHdlIGFpbWVkIHRvIGRldGVybWluZSBpZiBhbHRlcmluZyB0aGlzIGRvbWFpbiB3b3VsZCBzdGlsbCBiZSBhIHZpYWJsZSBzdHJhdGVneSBmb3IgZ2VuZXJhdGluZyBhIFNwdUZ6MS1iYXNlZCBuaWNrYXNlIHdpdGhvdXQgbG9zaW5nIHN0cnVjdHVyYWwgaW50ZWdyaXR5LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwiYnVpbGQtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVmb3JlLCB3ZSBpZGVudGlmaWVkIHRoZSBzcGVjaWZpYyBhbWlubyBhY2lkcyByZXNwb25zaWJsZSBmb3IgY29vcmRpbmF0aW5nIHRoZSB6aW5jIGlvbiB3aXRoaW4gdGhlIHppbmMgZmluZ2VyIGRvbWFpbi4gVXNpbmcgdGhlIHNvZnR3YXJlIEdlbmVpb3VzLCB3ZSBwcm9jZWVkZWQgdG8gZGVzaWduIEROQSBzZXF1ZW5jZXMgYnkgc3Vic3RpdHV0aW5nIHRoZXNlIGtleSBhbWlubyBhY2lkcyB3aXRoIG9uZXMgdGhhdCB3b3VsZCBpbXBhaXIgdGhlaXIgYWJpbGl0eSB0byBjb29yZGluYXRlIHRoZSB6aW5jIGlvbi4gVGhlc2UgZGVzaWduZWQgc2VxdWVuY2VzIGNvcnJlc3BvbmRlZCB0byBvdXIgcG90ZW50aWFsIG11dGF0aW9uIGNhbmRpZGF0ZXMsIHdoaWNoIHdlIHByZXBhcmVkIGZvciBmdXJ0aGVyIHN0cnVjdHVyYWwgYW5hbHlzaXMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRlc3QtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UgdXNlZCBBbHBoYUZvbGQgdG8gbW9kZWwgdGhlIDNEIHN0cnVjdHVyZXMgb2Ygb3VyIHppbmMgZmluZ2VyIG11dGF0aW9uIGNhbmRpZGF0ZXMuIEFmdGVyIGdlbmVyYXRpbmcgdGhlc2UgbW9kZWxzLCB3ZSB1c2VkIENoaW1lcmFYIHRvIHBlcmZvcm0gYSBzdHJ1Y3R1cmFsIG92ZXJsYXkgY29tcGFyaXNvbiBiZXR3ZWVuIHRoZSBuYXRpdmUgU3B1RnoxIHByb3RlaW4gYW5kIHRoZSBtdXRhdGVkIHZlcnNpb25zIChGaWcuIFgpLiBUaGlzIGNvbXBhcmlzb24gcmV2ZWFsZWQgc2lnbmlmaWNhbnQgZGlmZmVyZW5jZXMsIHBhcnRpY3VsYXJseSBpbiB0aGUgVE5CIGRvbWFpbiwgaW5kaWNhdGluZyB0aGF0IHRoZSB6aW5jIGZpbmdlciBwbGF5cyBhIGNydWNpYWwgc3RydWN0dXJhbCByb2xlIChGaWcuIDMpLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwibGVhcm4taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgRnJvbSB0aGlzIGFuYWx5c2lzLCB3ZSBjb25jbHVkZWQgdGhhdCB0aGUgemluYyBmaW5nZXIgbXV0YXRpb24gaXMgbm90IGEgc3VpdGFibGUgY2FuZGlkYXRlIGZvciBnZW5lcmF0aW5nIGEgbmlja2FzZSwgYXMgYWx0ZXJpbmcgdGhpcyBkb21haW4gd291bGQgbGlrZWx5IGNvbXByb21pc2UgdGhlIHN0cnVjdHVyYWwgaW50ZWdyaXR5IG9mIFNwdUZ6MS4gUHJvZi4gSGFtbWVyIHN1Z2dlc3RlZCB0aGF0IGluc3RlYWQgb2YgZm9jdXNpbmcgb24gU3B1RnoxLCB3ZSBleHBsb3JlIG90aGVyIGVuZG9udWNsZWFzZXMgd2l0aCBzaW1pbGFyIG1lY2hhbmlzbXMuIEhpcyByZWNvbW1lbmRhdGlvbiB3YXMgdG8gaWRlbnRpZnkgZW5kb251Y2xlYXNlcyB0aGF0IGFyZSBzdHJ1Y3R1cmFsbHkgY29tcGFyYWJsZSB0byBTcHVGejEgYW5kIGFuYWx5emUgdGhlIHN0cmF0ZWdpZXMgdXNlZCB0byBjb252ZXJ0IHRoZXNlIGludG8gbmlja2FzZXMuIFdlIHdvdWxkIHRoZW4gYXBwbHkgdGhlc2Ugc2FtZSBzdHJhdGVnaWVzIHRvIG91ciBzZWxlY3RlZCBlbmRvbnVjbGVhc2VzLCBhZGFwdGluZyB0aGVtIGZvciBvdXIgcHVycG9zZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJuaWM0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIm5DYXMxMiBhbmFsb2cgTXV0YXRpb25zXCIgaWQ9XCJuaWM0aGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJkZXNpZ24taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgQWZ0ZXIgY29uY2x1ZGluZyB0aGF0IHRoZSB6aW5jIGZpbmdlciBtdXRhdGlvbiBhcHByb2FjaCB3YXMgbm90IHN1aXRhYmxlIGZvciBjb252ZXJ0aW5nIFNwdUZ6MSBpbnRvIGEgbmlja2FzZSwgd2UgcmV2aXNpdGVkIG91ciB1bmRlcnN0YW5kaW5nIG9mIGl0cyBjdXR0aW5nIG1lY2hhbmlzbS4gSW5pdGlhbGx5LCB3ZSBiZWxpZXZlZCB0aGF0IFNwdUZ6MSwgc2ltaWxhciB0byBDYXM5LCBjb250YWluZWQgdHdvIGFjdGl2ZSBjZW50ZXJzIHRoYXQgZWFjaCBjdXQgb25lIG9mIHRoZSBETkEgc3RyYW5kcywgYW5kIHRoYXQgYnkgZGVhY3RpdmF0aW5nIG9uZSBvZiB0aGVzZSBjZW50ZXJzLCB3ZSBjb3VsZCBnZW5lcmF0ZSBhIG5pY2thc2UgdGhhdCBvbmx5IGN1dHMgb25lIHN0cmFuZC4gSG93ZXZlciwgdGhyb3VnaCBmdXJ0aGVyIHJlc2VhcmNoLCB3ZSBkaXNjb3ZlcmVkIHRoYXQgdGhpcyBhc3N1bXB0aW9uIHdhcyBpbmNvcnJlY3QuIFNwdUZ6MSBhY3R1YWxseSBmdW5jdGlvbnMgd2l0aCBhIGRpZmZlcmVudCBjdXR0aW5nIG1lY2hhbmlzbTogdGhlIFJ1dkMgZG9tYWluIGlzIHJlc3BvbnNpYmxlIGZvciBjdXR0aW5nIHRoZSBub24tdGFyZ2V0IHN0cmFuZCwgd2hpbGUgdGhlIFROQiBkb21haW4gZG9lcyBub3QgZGlyZWN0bHkgY3V0IHRoZSBETkEuIEluc3RlYWQsIGl0IGFzc2lzdHMgdGhlIHByb2Nlc3MgYnkgZ3VpZGluZyB0aGUgdGFyZ2V0IHN0cmFuZCBpbnRvIHRoZSBSdXZDIGRvbWFpbiBmb3Igc2VxdWVudGlhbCBjbGVhdmFnZTxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1uaWNrYXNlXCIgbnVtPVwiNVwiIHNjcm9sbElkPVwiZGVzYy01XCIvPi4gVGhpcyBkaXNjb3Zlcnkgc2hpZnRlZCBvdXIgZm9jdXMgZnJvbSBzaW1wbHkgZGVhY3RpdmF0aW5nIGFuIGFjdGl2ZSBzaXRlIHRvIGJldHRlciB1bmRlcnN0YW5kaW5nIGhvdyB0aGUgc2VxdWVudGlhbCBjbGVhdmFnZSB3b3JrcyBpbiBvcmRlciB0byBpbmZvcm0gZnV0dXJlIG11dGF0aW9uIHN0cmF0ZWdpZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIGFkZGl0aW9uIHRvIHRoZXNlIGluc2lnaHRzLCB3ZSBub3RpY2VkIGEgc2lnbmlmaWNhbnQgcGh5bG9nZW5ldGljIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIEZhbnpvciBlbmRvbnVjbGVhc2VzLCBsaWtlIFNwdUZ6MSwgYW5kIENhczEyIGVuZG9udWNsZWFzZXM8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItbmlja2FzZVwiIG51bT1cIjFcIiBzY3JvbGxJZD1cImRlc2MtMVwiLz4uIFRoaXMgY29ubmVjdGlvbiB3YXMgY3J1Y2lhbCwgYXMgQ2FzMTIgcHJvdGVpbnMgaGF2ZSBhIHNpbWlsYXIgY3V0dGluZyBtZWNoYW5pc20gdG8gRmFuem9yIHByb3RlaW5zLCB1dGlsaXppbmcgYSBzaW5nbGUgYWN0aXZlIHNpdGUgZm9yIGNsZWF2YWdlIHdoaWxlIGNvb3JkaW5hdGluZyBib3RoIEROQSBzdHJhbmRzLiBNb3JlIGltcG9ydGFudGx5LCB3ZSBpZGVudGlmaWVkIGEgcHJlY2VkZW50IGluIHRoZSBsaXRlcmF0dXJlIHdoZXJlIGEgQ2FzMTJhIGVuZG9udWNsZWFzZSB3YXMgc3VjY2Vzc2Z1bGx5IGNvbnZlcnRlZCBpbnRvIGEgbmlja2FzZSBieSBzdWJzdGl0dXRpbmcgYSBzaW5nbGUgYW1pbm8gYWNpZCBpbiB0aGUgVE5CIGRvbWFpbjxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1uaWNrYXNlXCIgbnVtPVwiNlwiIHNjcm9sbElkPVwiZGVzYy02XCIvPiAoRmlnLiBYMSBhbmQgWDIpLiBUaGlzIHByb3ZpZGVkIHVzIHdpdGggYSBjbGVhciBtb2RlbCBzdHJhdGVneSB0byBmb2xsb3csIGFzIHRoaXMgdGFyZ2V0ZWQgbXV0YXRpb24gYWxsb3dlZCB0aGUgZW5kb251Y2xlYXNlIHRvIHNlbGVjdGl2ZWx5IGN1dCBvbmx5IG9uZSBETkEgc3RyYW5kLCBlZmZlY3RpdmVseSBjb252ZXJ0aW5nIGl0IGludG8gYSBuaWNrYXNlLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBCYXNlZCBvbiB0aGVzZSBmaW5kaW5ncywgdHdvIGtleSBkZWNpc2lvbnMgZW1lcmdlZC4gRmlyc3QsIHJlY29nbml6aW5nIHRoZSBzdHJ1Y3R1cmFsIGFuZCBtZWNoYW5pc3RpYyBzaW1pbGFyaXRpZXMgYmV0d2VlbiBGYW56b3IgYW5kIENhczEyIGVuZG9udWNsZWFzZXMsIHdlIGRlY2lkZWQgdG8gZXhwbG9yZSBDYXNYXHUyMDE0YSBzbWFsbGVyIENhczEyLXJlbGF0ZWQgZW5kb251Y2xlYXNlXHUyMDE0YXMgYW4gYWRkaXRpb25hbCBjYW5kaWRhdGUgaW4gb3VyIHByb2plY3QuIENhc1ggc2hhcmVzIG1hbnkgb2YgdGhlIGFkdmFudGFnZXMgb2YgU3B1RnoxLCBzdWNoIGFzIGEgbW9yZSBjb21wYWN0IHN0cnVjdHVyZSBjb21wYXJlZCB0byBDYXM5LCBtYWtpbmcgaXQgaWRlYWwgZm9yIGFwcGxpY2F0aW9ucyByZXF1aXJpbmcgc21hbGxlciBlZGl0aW5nIHN5c3RlbXMuIFNlY29uZGx5LCB3ZSByZXNvbHZlZCB0byBhZGFwdCB0aGUgbXV0YXRpb24gc3RyYXRlZ3kgdXNlZCB0byBjb252ZXJ0IENhczEyYSBpbnRvIGEgbmlja2FzZSBmb3IgYm90aCBDYXNYIGFuZCBTcHVGejEuIEJ5IGFwcGx5aW5nIHRoZXNlIGxlYXJuaW5ncywgd2UgYWltZWQgdG8gZ2VuZXJhdGUgZWZmZWN0aXZlIG5pY2thc2VzIGZyb20gdGhlc2UgZW5kb251Y2xlYXNlcyB0byBmdXJ0aGVyIG9wdGltaXplIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXguXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5mb0JveCB0aXRsZT1cIlRoZSByYXRpb25hbGUgYmVoaW5kIGRlc2lnbmluZyBTcHVGejEgYW5kIENhc1ggTmlja2FzZXNcIiBpZD1cImhvdy10by1jcmVhdGUtbmlja2FzZXMtb25saW5lLWZhc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZXRhaWxzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgbXV0YXRpb24gc3RyYXRlZ3kgYWltZWQgdG8gY29udmVydCB0aGUgZW5kb251Y2xlYXNlcyBTcHVGejEgYW5kIENhc1ggaW50byBuaWNrYXNlcyBieSB0YXJnZXRpbmcgc3BlY2lmaWMgcG9zaXRpdmVseSBjaGFyZ2VkIGFtaW5vIGFjaWRzLCBzaW1pbGFyIHRvIFIxMjI2IGluIG11dGF0ZWQgdG8gY3JlYXRlIGEgQXNDYXMxMmEgbmlja2FzZSwgdG8gZGlzcnVwdCB0aGVpciBkb3VibGUtc3RyYW5kIGNsZWF2YWdlIGZ1bmN0aW9uIHdoaWxlIHJldGFpbmluZyBzaW5nbGUtc3RyYW5kIGN1dHRpbmcgY2FwYWJpbGl0eS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gb3VyIHByb2plY3QsIHdlIHNldCBvdXQgdG8gZW5naW5lZXIgdGhlIGVuZG9udWNsZWFzZXMgU3B1RnoxIGFuZCBDYXNYIGludG8gbmlja2FzZXMsIGEgcHJvY2VzcyB0aGF0IHJlcXVpcmVkIGEgbW9yZSB0YXJnZXRlZCBhcHByb2FjaCB0aGFuIHJhbmRvbSBtdXRhZ2VuZXNpcyBkdWUgdG8gdGhlIHRpbWUgYW5kIGZpbmFuY2lhbCBjb25zdHJhaW50cyBvZiBvdXIgcHJvamVjdC4gUmFuZG9tIG11dGFnZW5lc2lzLCB3aGlsZSBhIHBvc3NpYmxlIHN0cmF0ZWd5LCB3b3VsZCBoYXZlIHJlcXVpcmVkIGFuIGV4dGVuc2l2ZSBzY29wZSwgbWFraW5nIGl0IGRpZmZpY3VsdCB0byBhY2hpZXZlIG1lYW5pbmdmdWwgcmVzdWx0cyB3aXRoaW4gb3VyIHRpbWVmcmFtZS4gQXMgYSByZXN1bHQsIHdlIGFpbWVkIHRvIGlkZW50aWZ5IHNwZWNpZmljIG11dGF0aW9uYWwgY2FuZGlkYXRlcyB0aGF0IHdvdWxkIGFsbG93IGZvciBhIG1vcmUgZm9jdXNlZCBhbmQgZWZmaWNpZW50IGFwcHJvYWNoLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICBcdCAgICAgICAgIE9uZSBzdHJhdGVneSB3ZSBleHBsb3JlZCB3YXMgZmluZGluZyBhbiBlbmRvbnVjbGVhc2Ugd2l0aCBzdHJ1Y3R1cmFsIGFuZCBtZWNoYW5pc3RpYyBzaW1pbGFyaXRpZXMgdG8gU3B1RnoxIGFuZCBDYXNYLCBmb3Igd2hpY2ggYSBzdWNjZXNzZnVsIHByZWNlZGVudCBleGlzdGVkIGluIGNvbnZlcnRpbmcgYW4gZW5kb251Y2xlYXNlIGludG8gYSBuaWNrYXNlLiBBZnRlciBzdHVkeWluZyB0aGUgcGh5bG9nZW5ldGljIHJlbGF0aW9uc2hpcHMgb2YgU3B1RnoxIGFuZCBDYXNYLCB3ZSBpZGVudGlmaWVkIEFzQ2FzMTJhLCBhbiBlbmRvbnVjbGVhc2Ugd2l0aCBhIHNpbWlsYXIgc2VxdWVudGlhbCBETkEgY2xlYXZhZ2UgbWVjaGFuaXNtLiBJbXBvcnRhbnRseSwgdGhlcmUgd2FzIGFscmVhZHkgYSBrbm93biBleGFtcGxlIHdoZXJlIEFzQ2FzMTJhIGhhZCBiZWVuIGVuZ2luZWVyZWQgaW50byBhIG5pY2thc2UgdGhyb3VnaCBhIHNpbmdsZSBtdXRhdGlvblx1MjAxNHNwZWNpZmljYWxseSwgdGhlIG11dGF0aW9uIG9mIGFyZ2luaW5lIDEyMjYuIFRoaXMgcHJvdmlkZWQgYSBzdHJvbmcgZm91bmRhdGlvbiBmb3IgdXMgdG8gZGV2ZWxvcCBhIHNpbWlsYXIgc3RyYXRlZ3kgZm9yIFNwdUZ6MSBhbmQgQ2FzWC5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UgaHlwb3RoZXNpemVkIHRoYXQgdGhlIHJvbGUgb2YgYXJnaW5pbmUgMTIyNiBpbiB0aGUgc2VxdWVudGlhbCBjbGVhdmFnZSBtZWNoYW5pc20gb2YgQXNDYXMxMmEgd2FzIHRvIGNvb3JkaW5hdGUgdGhlIEROQSBzdHJhbmRzIGR1cmluZyB0aGUgY3V0dGluZyBwcm9jZXNzLiBBc0NhczEyYSBwZXJmb3JtcyBhIHNlcXVlbnRpYWwgY3V0LCB3aGVyZSB0aGUgUnV2QyBkb21haW4gZmlyc3QgY2xlYXZlcyB0aGUgbm9uLXRhcmdldCBzdHJhbmQsIGFuZCB0aGUgVE5CIChOVUMpIGRvbWFpbiBoZWxwcyBndWlkZSB0aGUgdGFyZ2V0IHN0cmFuZCBpbnRvIHRoZSBSdXZDIGRvbWFpbiBmb3IgY2xlYXZhZ2UgKEZpZy4gWDcpLiBXZSBzdXNwZWN0ZWQgdGhhdCBhcmdpbmluZSAxMjI2IGNvdWxkIHBsYXkgYSBrZXkgcm9sZSBpbiB0aGlzIHByb2Nlc3MgYnkgY29vcmRpbmF0aW5nIHRoZSBETkEgZHVlIHRvIGl0cyBsb25nLCBwb3NpdGl2ZWx5IGNoYXJnZWQgc2lkZSBjaGFpbi4gSWYgcmVtb3Zpbmcgb3IgbXV0YXRpbmcgdGhpcyBhcmdpbmluZSBkaXNydXB0cyB0aGUgc2VxdWVudGlhbCBjdXQsIGl0IHdvdWxkIHN1Z2dlc3QgdGhhdCB0aGUgYXJnaW5pbmUgaGVscHMgZ3VpZGUgdGhlIHNlY29uZCBzdHJhbmQgaW50byB0aGUgUnV2QyBkb21haW4uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyYWxseSwgd2Ugb2JzZXJ2ZWQgdGhhdCBhcmdpbmluZSAxMjI2IHByb3RydWRlcyBmcm9tIHRoZSBOVUMgZG9tYWluIG9mIEFzQ2FzMTJhIGFuZCBpcyBvcmllbnRlZCB0b3dhcmQgdGhlIFJ1dkMgZG9tYWluIChGaWcuIFg4KS4gVGhpcyBwb3NpdGlvbmluZyBsZWQgdXMgdG8gaHlwb3RoZXNpemUgdGhhdCB0aGUgYXJnaW5pbmUgaGVscHMgY29vcmRpbmF0ZSB0aGUgRE5BIHN0cmFuZCBhcyBpdCBtb3ZlcyBpbnRvIHRoZSBSdXZDIGRvbWFpbiBmb3IgY3V0dGluZy4gQmFzZWQgb24gdGhpcyBvYnNlcnZhdGlvbiwgd2Ugc3BlY3VsYXRlZCB0aGF0IHRoZSBtdXRhdGlvbiBvZiBhcmdpbmluZSAxMjI2IGRpc3J1cHRzIHRoaXMgY29vcmRpbmF0aW9uLCBwcmV2ZW50aW5nIHRoZSBmdWxsIGRvdWJsZS1zdHJhbmQgY3V0IGFuZCBlZmZlY3RpdmVseSBjb252ZXJ0aW5nIEFzQ2FzMTJhIGludG8gYSBuaWNrYXNlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZSB0aGVuIGFwcGxpZWQgdGhpcyBzdHJ1Y3R1cmFsIGluc2lnaHQgdG8gU3B1RnoxIGFuZCBDYXNYLCBzZWFyY2hpbmcgZm9yIHBvc2l0aXZlbHkgY2hhcmdlZCBhbWlubyBhY2lkcyB3aXRoIGxvbmcgc2lkZSBjaGFpbnMsIHNpbWlsYXIgdG8gYXJnaW5pbmUgMTIyNiwgdGhhdCB3ZXJlIHBvc2l0aW9uZWQgYXQgdGhlIGludGVyZmFjZSBiZXR3ZWVuIHRoZSBOVUMgYW5kIFJ1dkMgZG9tYWlucy4gV2Ugc3BlY2lmaWNhbGx5IGxvb2tlZCBmb3IgYW1pbm8gYWNpZHMgdGhhdCBwcm90cnVkZWQgZnJvbSB0aGUgTlVDIGRvbWFpbiBhbmQgb3JpZW50ZWQgdG93YXJkIHRoZSBSdXZDIGRvbWFpbiwgbWlycm9yaW5nIHRoZSBzdHJ1Y3R1cmFsIHJvbGUgb2YgYXJnaW5pbmUgMTIyNiBpbiBBc0NhczEyYS4gVGhlc2UgYW1pbm8gYWNpZHMgYmVjYW1lIG91ciBtdXRhdGlvbmFsIHRhcmdldHMsIGFsbG93aW5nIHVzIHRvIGRlc2lnbiBhIHN0cmF0ZWd5IHRvIGNvbnZlcnQgU3B1RnoxIGFuZCBDYXNYIGludG8gbmlja2FzZXMgYnkgZGlzcnVwdGluZyB0aGVpciBhYmlsaXR5IHRvIG1ha2UgZG91YmxlLXN0cmFuZCBjdXRzLCB3aGlsZSBwcmVzZXJ2aW5nIHRoZWlyIGZ1bmN0aW9uYWxpdHkgZm9yIHNpbmdsZS1zdHJhbmQgY3V0cy4gVGhlIGFtaW5vIGFjaWRzIHdlIGlkZW50aWZpZWQgaW4gU3B1RnoxIGFyZSB0aGUgNTY0dGggYW5kIHRoZSA1Njh0aCBhcmdpbmluZSBsb2NhdGVkIGluIGl0cyBOVUMgZG9tYWluLiBGb3IgQ2FzWCB3ZSBpZGVudGlmaWVkIHRoZSA5MDR0aCBhcmdpbmluZSBhcyBhIHByb21pc2luZyBjYW5kaWRhdGUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RldGFpbHM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0luZm9Cb3g+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwiYnVpbGQtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgV2Ugc3RydWN0dXJhbGx5IGFuYWx5emVkIENhc1ggYW5kIFNwdUZ6MSwgYXMgd2VsbCBhcyB0aGUga25vd24gQXNDYXMxMmEgbmlja2FzZSwgdXNpbmcgQ2hpbWVyYS4gT3VyIG9iamVjdGl2ZSB3YXMgdG8gdW5kZXJzdGFuZCB3aHkgdGhlIHNwZWNpZmljIGFtaW5vIGFjaWQgc3Vic3RpdHV0aW9uIGNvbnZlcnRlZCBBc0NhczEyYSBpbnRvIGEgbmlja2FzZS4gV2UgdGhlbiBpZGVudGlmaWVkIGFuYWxvZ291cyBhbWlubyBhY2lkcyBpbiBTcHVGejEgKEZpZy4gWDMgYW5kIEZpZy4gWDQpIGFuZCBDYXNYIChGaWcuIFg1IGFuZCBGaWcuIFg2KSB0aGF0IG1pZ2h0IHBsYXkgYSBzaW1pbGFyIHJvbGUsIGFsbG93aW5nIHVzIHRvIGRlc2lnbiBuZXcgbXV0YXRpb24gY2FuZGlkYXRlcyBmb3Igb3VyIHByb2plY3QuIEFmdGVyIGRlc2lnbmluZyB0aGVzZSBuZXcgbXV0YXRpb24gY2FuZGlkYXRlcywgd2UgbW9kZWxlZCB0aGVtIHVzaW5nIEFscGhhRm9sZCB0byBwcmVkaWN0IHRoZWlyIDNEIHN0cnVjdHVyZXMgYW5kIGFzc2VzcyB0aGVpciBwb3RlbnRpYWwgZWZmZWN0aXZlbmVzcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGVzdC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUbyB2YWxpZGF0ZSBvdXIgYXBwcm9hY2gsIHdlIGNvbmR1Y3RlZCBhbiBpbnRlcnZpZXcgd2l0aCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdzYWl0bycsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBNYWtvdG8gU2FpdG8gPC9hPiwgdGhlIGxlYWQgYXV0aG9yIG9mIHRoZSBtYWluIEZhbnpvciBwYXBlci4gR2l2ZW4gaGlzIGV4cGVydGlzZSwgdGhlcmUgd2FzIG5vIGJldHRlciBwZXJzb24gdG8gY29uc3VsdCBvbiB0aGlzIHRvcGljLiBXZSBwcmVzZW50ZWQgb3VyIHByb2plY3QgYW5kIG91ciBzdHJhdGVneSBmb3IgY3JlYXRpbmcgbmlja2FzZXMsIGFuZCBoZSBmb3VuZCBvdXIgYXBwcm9hY2ggdG8gYmUgdmVyeSBwbGF1c2libGUuIEhlIGNvbmZpcm1lZCB0aGF0IHRoZSB6aW5jIGZpbmdlciBtdXRhdGlvbiBpcyBsaWtlbHkgc3RydWN0dXJhbGx5IGNyaXRpY2FsIGFuZCBhZ3JlZWQgdGhhdCBvdXIgbmV3IHN0cmF0ZWd5LCBiYXNlZCBvbiB0aGUgcHJlY2VkZW50IHdpdGggQXNDYXMxMmEsIHdhcyBtb3JlIHByb21pc2luZy4gVGhpcyBjb252ZXJzYXRpb24gZ2F2ZSB1cyBjb25maWRlbmNlIHRoYXQgd2Ugd2VyZSBvbiBhIGdvb2QgdHJhY2suXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJsZWFybi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9tIHRoaXMgaXRlcmF0aW9uLCB3ZSBnYWluZWQgc2V2ZXJhbCBrZXkgaW5zaWdodHMuIEZpcnN0LCBvdXIgaW5pdGlhbCB1bmRlcnN0YW5kaW5nIG9mIHRoZSBjdXR0aW5nIG1lY2hhbmlzbSB1c2VkIGJ5IFNwdUZ6MVx1MjAxNGJhc2VkIG9uIHRoZSBhc3N1bXB0aW9uIHRoYXQgaXQgY29udGFpbmVkIHR3byBhY3RpdmUgY2VudGVycywgbGlrZSBDYXM5LCBlYWNoIGN1dHRpbmcgYSBETkEgc3RyYW5kXHUyMDE0d2FzIGluY29ycmVjdC4gV2UgZGlzY292ZXJlZCB0aGF0IFNwdUZ6MSBvcGVyYXRlcyBkaWZmZXJlbnRseSwgd2l0aCB0aGUgUnV2QyBkb21haW4gY3V0dGluZyB0aGUgbm9uLXRhcmdldCBzdHJhbmQgYW5kIHRoZSBUTkIgZG9tYWluIGFzc2lzdGluZyBieSBndWlkaW5nIHRoZSB0YXJnZXQgc3RyYW5kIGludG8gdGhlIFJ1dkMgZG9tYWluIGZvciBzZXF1ZW50aWFsIGNsZWF2YWdlLiBUaGlzIHNoaWZ0IGluIHVuZGVyc3RhbmRpbmcgYWxsb3dlZCB1cyB0byByZWZpbmUgb3VyIGFwcHJvYWNoLCBtb3ZpbmcgYXdheSBmcm9tIGRlYWN0aXZhdGluZyBhbiBhY3RpdmUgc2l0ZSB0byBmb2N1c2luZyBvbiB0aGUgc2VxdWVudGlhbCBjdXR0aW5nIG1lY2hhbmlzbS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkaXRpb25hbGx5LCB3ZSBmb3VuZCB0aGF0IEZhbnpvciBlbmRvbnVjbGVhc2VzLCBsaWtlIFNwdUZ6MSwgc2hhcmUgYSBzaWduaWZpY2FudCBwaHlsb2dlbmV0aWMgcmVsYXRpb25zaGlwIHdpdGggQ2FzMTIgZW5kb251Y2xlYXNlcywgd2hpY2ggaGF2ZSBhIHNpbWlsYXIgc2luZ2xlLXNpdGUgY3V0dGluZyBtZWNoYW5pc20uIFRoaXMgY29ubmVjdGlvbiwgYWxvbmcgd2l0aCB0aGUgcHJlY2VkZW50IG9mIGNvbnZlcnRpbmcgQ2FzMTJhIGludG8gYSBuaWNrYXNlIHRocm91Z2ggdGhlIHN1YnN0aXR1dGlvbiBvZiBhIHNpbmdsZSBhbWlubyBhY2lkIGluIHRoZSBUTkIgZG9tYWluLCBwcm92aWRlZCB1cyB3aXRoIGEgY2xlYXIgc3RyYXRlZ3kgZm9yIGNvbnZlcnRpbmcgU3B1RnoxIGFuZCBDYXNYIGludG8gbmlja2FzZXMuIFRoZSBzaW1pbGFyaXR5IGluIGN1dHRpbmcgbWVjaGFuaXNtcyBiZXR3ZWVuIEZhbnpvciBhbmQgQ2FzMTIgcHJvdGVpbnMgcmVpbmZvcmNlZCB0aGUgdmlhYmlsaXR5IG9mIHRoaXMgYXBwcm9hY2guXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXRlcmF0aW9uIGxlZCB1cyB0byBpbmNvcnBvcmF0ZSBDYXNYLCBhIHNtYWxsZXIgQ2FzMTItcmVsYXRlZCBlbmRvbnVjbGVhc2UsIGludG8gb3VyIHByb2plY3QuIENhc1ggb2ZmZXJzIHRoZSBzYW1lIGFkdmFudGFnZXMgYXMgU3B1RnoxLCBzdWNoIGFzIGEgY29tcGFjdCBzdHJ1Y3R1cmUsIG1ha2luZyBpdCBpZGVhbCBmb3IgYXBwbGljYXRpb25zIHRoYXQgcmVxdWlyZSBzbWFsbGVyIGVkaXRpbmcgc3lzdGVtcy4gQWRkaXRpb25hbGx5LCB3ZSBhZGFwdGVkIHRoZSBtdXRhdGlvbiBzdHJhdGVneSB1c2VkIHRvIGNvbnZlcnQgQ2FzMTJhIGludG8gYSBuaWNrYXNlIGZvciBib3RoIENhc1ggYW5kIFNwdUZ6MSwgZ3VpZGluZyBvdXIgZnV0dXJlIHdvcmsgaW4gb3B0aW1pemluZyB0aGUgUHJpbWUgRWRpdGluZyBjb21wbGV4LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwibmljNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJPbmdvaW5nOiBJbiBWaXRybyBDbGVhdmFnZSBBc3NheXNcIiBpZD1cIm5pYzVoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBJbiB0aGlzIGl0ZXJhdGlvbiwgb3VyIGZvY3VzIHNoaWZ0ZWQgdG8gdGVzdGluZyB3aGV0aGVyIG91ciBtdXRhdGlvbiBjYW5kaWRhdGVzIGhhZCBzdWNjZXNzZnVsbHkgY29udmVydGVkIHRoZSBlbmRvbnVjbGVhc2VzIGludG8gZnVuY3Rpb25hbCBuaWNrYXNlcy4gVG8gZG8gdGhpcywgd2UgYWRhcHRlZCBhbiBleGlzdGluZyBhc3NheSB0aGF0IGhhZCBiZWVuIG9yaWdpbmFsbHkgZGVzaWduZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgbXV0YXRlZCBlbmRvbnVjbGVhc2VzIGV4aGliaXRlZCBuaWNrYXNlIGFjdGl2aXR5PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLW5pY2thc2VcIiBudW09XCIxXCIgc2Nyb2xsSWQ9XCJkZXNjLTFcIi8+LiBXZSB0YWlsb3JlZCB0aGlzIGFzc2F5IHRvIGZpdCBvdXIgc3BlY2lmaWMgbmVlZHMsIGFsbG93aW5nIHVzIHRvIGFjY3VyYXRlbHkgYXNzZXNzIHRoZSBwcm9wZXJ0aWVzIG9mIG91ciBtdXRhdGVkIHByb3RlaW5zIGluIHRoZSBsYWIuIFRoZSBrZXkgcXVlc3Rpb24gd2FzIHdoZXRoZXIgdGhlIG11dGF0aW9ucyBoYWQgcmVuZGVyZWQgdGhlIHByb3RlaW5zIGR5c2Z1bmN0aW9uYWwsIGxlZnQgdGhlbSBhcyBlbmRvbnVjbGVhc2VzLCBvciBzdWNjZXNzZnVsbHkgY29udmVydGVkIHRoZW0gaW50byBuaWNrYXNlcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlIHN0YXJ0ZWQgb2ZmIGJ5IGFtcGxpZmljYXRpb24gb2Ygb3VyIG5pY2thc2UgY2FuZGlkYXRlcywgb3JkZXJlZCBhcyBnZW5lIHN5bnRoZXNlcywgdG8gYWRkIHJlc3RyaWN0aW9uIHNpdGVzLiBXZSB0aGVuIGZhY2lsaXRhdGVkIHJlc3RyaWN0aW9uIGNsb25pbmcgb2YgdGhlIGFtcGxpZmljYXRlcyBpbnRvIGFuIEUuIGNvbGkgcHJvdGVpbiBleHByZXNzaW9uIHZlY3RvciBwcm92aWRlZCBieSB0aGUgbGFib3JhdG9yeSBvZiBvciBQSSBLcmlzdGlhbiBNXHUwMEZDbGxlci4gV2Ugc3Vic2VxdWVudGx5IHRyYW5zZm9ybWVkIEUuIGNvbGkgd2l0aCB0aGUgZ2VuZSBmcmFnbWVudHMgb2Ygb3VyIG5pY2thc2UgY2FuZGlkYXRlcyBmb3IgQ2FzWCBhbmQgU3B1RnouIEhvd2V2ZXIsIHRoZSB0cmFuc2Zvcm1hbnQgY2VsbHMgZGlkIG5vdCBncm93LCBsZWFkaW5nIHVzIHRvIHN1c3BlY3QgdGhhdCB0aGUgcGxhc21pZCBiYWNrYm9uZSB3ZSByZWNlaXZlZCBtYXliZSBpbXBhaXJlZCBpbiBzb21lIHdheS4gR2l2ZW4gdGhlIHRpbWVsaW5lLCB3ZSB3ZXJlIG5vdCBhYmxlIHRvIGNvbXBsZXRlIHRoZSB0ZXN0aW5nIG9mIG91ciBuaWNrYXNlIGNhbmRpZGF0ZXMuIE91ciBjdXJyZW50IHN0ZXBzIGludm9sdmUgdHJvdWJsZXNob290aW5nIHJlZ2FyZGluZyB0aGUgcmVzdHJpY3Rpb24gY2xvbmluZyBhbmQgY29udGludWluZyB3aXRoIHByb3RlaW4gZXhwcmVzc2lvbiBhbmQgcHVyaWZpY2F0aW9uIG9uY2UgdGhlIGlzc3VlIGlzIHJlc29sdmVkLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXN0LWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBuZXh0IHBoYXNlIG9mIG91ciBwbGFuLCBvbmNlIHdlIG92ZXJjb21lIHRoZSBjdXJyZW50IGlzc3VlcyB3aXRoIGNsb25pbmcgYW5kIHN1Y2Nlc3NmdWxseSBvdmVyZXhwcmVzcyBvdXIgbmlja2FzZSBjYW5kaWRhdGVzLCB3b3VsZCBpbnZvbHZlIGNvbmR1Y3RpbmcgYW4gaW4gdml0cm8gcGxhc21pZCBjbGVhdmFnZSBhc3NheSAoRmlnLlgpLiBJbiB0aGlzIGFzc2F5LCB0aGUgcHVyaWZpZWQgbmlja2FzZXMgd291bGQgYmUgY29tYmluZWQgd2l0aCB0aGVpciByZXNwZWN0aXZlIGd1aWRlIFJOQXMgYW5kIGEgc3VwZXJjb2lsZWQgdGVzdCBwbGFzbWlkLiBUaGUgZ3VpZGUgUk5BcyB3b3VsZCBkaXJlY3QgdGhlIG5pY2thc2VzIHRvIHRoZSB0YXJnZXQgc2VxdWVuY2Ugb24gdGhlIHBsYXNtaWQuIERlcGVuZGluZyBvbiB0aGUgcmVzdWx0cywgdGhlIHBsYXNtaWQgd291bGQgcmVtYWluIHN1cGVyY29pbGVkIGlmIHVudG91Y2hlZCwgYmVjb21lIHJlbGF4ZWQgaWYgbmlja2VkLCBvciBiZSBsaW5lYXJpemVkIGlmIGN1dCBieSBhbiBlbmRvbnVjbGVhc2UuIFRvIGFuYWx5emUgdGhlc2Ugb3V0Y29tZXMsIHdlIHdvdWxkIHBlcmZvcm0gZ2VsIGVsZWN0cm9waG9yZXNpcywgd2hlcmUgdGhlIGRpZmZlcmVudCBjb25mb3JtYXRpb25zIG9mIHRoZSBwbGFzbWlkIChzdXBlcmNvaWxlZCwgcmVsYXhlZCwgb3IgbGluZWFyaXplZCkgd291bGQgbWlncmF0ZSBkaWZmZXJlbnRseSB0aHJvdWdoIHRoZSBnZWwuIFN1cGVyY29pbGVkIHBsYXNtaWRzIHdvdWxkIG1pZ3JhdGUgdGhlIGZ1cnRoZXN0LCByZWxheGVkIHBsYXNtaWRzIHdvdWxkIG1vdmUgdGhlIHNsb3dlc3QsIGFuZCBsaW5lYXJpemVkIHBsYXNtaWRzIHdvdWxkIGZhbGwgYmV0d2VlbiB0aGVzZSB0d28uIEFzIGNvbnRyb2xzLCB3ZSB3b3VsZCBoYXZlIHVzZWQgdGhlIHBsYXNtaWQgaW4gaXRzIHVuY3V0IGZvcm0sIG5pY2tlZCBieSBuQ2FzOSBhbmQgZGlnZXN0ZWQgdXNpbmcgYSByZXN0cmljdGlvbiBlbnp5bWUuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJsZWFybi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBJZiB3ZSBjb3VsZCBoYXZlIHByb2NlZWRlZCB3aXRoIHRoZSBuaWNrYXNlIGFzc2F5cywgdGhlIHJlYWRvdXQgd291bGQgYWxsb3cgdXMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIHRlc3RlZCBwcm90ZWlucyBmdW5jdGlvbiBhcyBuaWNrYXNlcywgZW5kb251Y2xlYXNlcywgb3IgcmVtYWluIGluYWN0aXZlLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwibmljNlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJPbmdvaW5nOiBTcHVGejEgZXhwcmVzc2lvbiBpbiBZZWFzdFwiIGlkPVwibmljNmhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwiZGVzaWduLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoZW4gdGFsa2luZyB0byA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdzYWl0bycsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBNYWtvdG8gU2FpdG8gPC9hPiwgaGUgdG9sZCB1cyB0aGF0IGV4cHJlc3NpbmcgU3B1RnoxIGluIEUuIGNvbGkgZGlkIG5vdCB3b3JrIGZvciBoaW0uIEhlIGFkdmlzZWQgdXMgdG8gaW5zdGVhZCBlc3RhYmxpc2ggYSB5ZWFzdCBleHByZXNzaW9uIHN5c3RlbS4gU2luY2Ugbm9uZSBvZiB1cyBoYWQgYW55IGV4cGVyaWVuY2Ugd2l0aCB1c2luZyB5ZWFzdCBmb3IgcHJvdGVpbiBwcm9kdWN0aW9uLCB3ZSByZWFjaGVkIG91dCB0byA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCduYmVyZWxzbWFubicsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBOaWxzIEJlcmVsc21hbm4gPC9hPiBhdCB0aGUgZmFjdWx0eSBvZiBjaGVtaXN0cnkgYXQgb3VyIHVuaXZlcnNpdHkuIEhlIHdhcyBhYmxlIHRvIHByb3ZpZGUgdXMgd2l0aCBhIHllYXN0IGV4cHJlc3Npb24gc3RyYWluIGFzIHdlbGwgYXMgdGhlIGNvcnJlc3BvbmRpbmcgZXhwcmVzc2lvbiB2ZWN0b3IuIEJlY2F1c2Ugd2Ugd2VyZSBzdHJvbmdseSByZXN0cmljdGVkIGJ5IHRpbWUgYXQgdGhhdCBwb2ludCwgd2UgdGhlbiBhc2tlZCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdoYWthbicsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBIYWthbiBTb3l0XHUwMEZDcmsgPC9hPiBmcm9tIHRoZSBiaW9sb2dpY2FsIGZhY3VsdHkgZm9yIGhlbHAgYW5kIGhlIG9mZmVyZWQgdG8gZmFjaWxpdGF0ZSB0cmFuc2Zvcm1hdGlvbiBhbmQgc2VsZWN0aW9uIG9mIHBvc2l0aXZlIFllYXN0IHRyYW5zZm9ybWFudHMgZm9yIHVzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwiYnVpbGQtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHdvcmtmbG93IGZvciBjbG9uaW5nIFNwdUZ6MSBhbXBsaWZpY2F0ZXMgaW50byB0aGUgcFBJQzlLIHllYXN0IHZlY3RvciB3YXMgc2ltaWxhciB0byB0aGUgY2xvbmluZyBpbnRvIHRoZSBFLiBjb2xpIGV4cHJlc3Npb24gdmVjdG9yLiBBZnRlciBtdWx0aXBsZSBhdHRlbXB0cyBvZiB0cmFuc2Zvcm1hdGlvbnMgYW5kIGNvbG9ueSBQQ1JzIHdlIGZvdW5kIHBvc2l0aXZlIGNsb25lcyBmb3IgdHdvIG9mIHRoZSBuaWNrYXNlIHZhcmlhbnRzLiBIYWthbiB0cmFuc2Zvcm1lZCB0aGVtIGludG8gdGhlIHllYXN0IHN0cmFpbiBmb3IgdXMsIGJ1dCBubyBjb2xvbmllcyBmb3JtZWQsIGluZGljYXRpbmcgdW5zdWNjZXNzZnVsIHRyYW5zZm9ybWF0aW9uLiBEdWUgdG8gdGltZSBjb25zdHJhaW50cywgd2Ugd2VyZSBub3QgYWJsZSB0byByZXBlYXQgdGhlIGNsb25pbmcuIEhvd2V2ZXIsIHRlc3Rpbmcgb3VyIFNwdUZ6MSBhbmQgYWxzbyBDYXNYIG5pY2thc2UgY2FuZGlkYXRlcyBhbmQgZXZlbnR1YWxseSB1c2luZyB0aGVtIGZvciBwcmltZSBlZGl0aW5nLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIlJlZmVyZW5jZXNcIiBpZD1cInJlZmVyZW5jZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxFbmdOaWNrc291cmNlcy8+XG4gICAgICAgICAgICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWZ0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiUHJldmlvdXNcIiBvcGVuPVwicGVncm5hXCIgc2Nyb2xsVG9JZD1cInBlZ3JuYS1oZWFkZXJcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJpZ2h0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiTmV4dFwiIG9wZW49XCJkZWxpdmVyeVwiIHNjcm9sbFRvSWQ9XCJkZWxpdmVyeS1oZWFkZXJcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZW5naW5uZWVyaW5ndGFiXCIgaWQ9XCJ0YWItZGVsaXZlcnlcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICA8c2VjdGlvbiBpZD1cIkRlbGl2ZXJ5IHNlY1wiID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZW5nLWJveCBib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8SDIgaWQ9XCJkZWxpdmVyeS1oZWFkZXJcIiB0ZXh0PVwiRGVsaXZlcnlcIj48L0gyPlxuICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIGRlc2lnbiBwYXRoIG9mIG91ciBsaXBpZCBuYW5vcGFydGljbGUgKExOUCkgZm9yIG1STkEgZGVsaXZlcnkgdW5kZXJ3ZW50IG11bHRpcGxlIGN5Y2xlcyBvZiByZXNlYXJjaCBhbmQgZGlzY3Vzc2lvbiwgbWFya2VkIGJ5IGltcG9ydGFudCBkZWNpc2lvbiBwb2ludHMgYW5kIGxlYXJuaW5ncyBhbG9uZyB0aGUgd2F5LiBCeSBvbmdvaW5nIGZ1cnRoZXIgaW1wcm92ZW1lbnQsIHdlIGRlc2lnbmVkIG91ciBsdW5ncy1zcGVjaWZpYyBMTlAgY2FsbGVkIEFpckJ1ZGR5IHdpdGggaW1wcm92ZWQgc3RhYmlsaXR5IGFzcGVjdHMsIGJlY29taW5nIG1vcmUgcHJlY2lzZSBpbiB0aGUgZGVsaXZlcnkgb2Ygb3VyIHRoZXJhcGV1dGljIGNhcmdvIExOUCBieSBMTlAuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvYWlyYnVkZHkud2VicFwiIHN0eWxlPXt7bWF4SGVpZ2h0OiBcIjgwcHRcIn19Lz4gIFxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwiZGVsMVwiPlxuICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJJdGVyYXRpb24gMSAtIEFWVnMgdnMgTE5Qc1wiIGlkPVwiZGVsMWhlYWRcIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkluaXRpYWxseSwgdGhpcyBwcm9qZWN0IHBhcnQgc3RhcnRlZCB3aXRoIGEgZGlzY3Vzc2lvbiB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2tyaXN0aWFuJywgJy9odW1hbi1wcmFjdGljZXMnKX0+IFByb2YuIERyLiBLcmlzaXRhbiBNXHUwMEZDbGxlcjwvYT4sIFBJIG9mIG91ciB0ZWFtIHdpdGggZXhwZXJ0aXNlIGluIEFkZW5vLWFzc29jaWF0ZWQgdmlydXNlcyAoQUFWcyksIGZvY3VzaW5nIG9uIHdoZXRoZXIgdG8gcHVyc3VlIExOUHMgb3IgQUFWcyBmb3IgbVJOQSBkZWxpdmVyeS4gVGhlIGRlY2lkaW5nIGZhY3RvciBsZWFuZWQgdG93YXJkcyBMTlBzLCBhcyB0aGV5IG9mZmVyZWQgYSBzaWduaWZpY2FudCBhZHZhbnRhZ2VzIGluY2x1ZGluZyBsZXNzIGltbXVub2dlbmljIHBvdGVudGlhbDxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1kZWxpdmVyeVwiIG51bT1cIjFcIiBzY3JvbGxJZD1cImRlc2MtMVwiLz4gYW5kIGJpZ2dlciBsb2FkaW5nIGNhcGFjaXR5PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiMlwiIHNjcm9sbElkPVwiZGVzYy0yXCIvPi4gTE5QcyBsb2FkaW5nIGNhcGFjaXR5IGRlcGVuZHMgb24gdmFyaW91cyBmYWN0b3JzLCBidXQgaW4gZ2VuZXJhbCB0aGV5IG9mZmVyIGEgYmlnZ2VyIGNhcmdvIHNpemUgY29tcGFyZWQgdG8gNC43IGtiIGZvciBBVlZzPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiM1wiIHNjcm9sbElkPVwiZGVzYy0zXCIvPi4gVGhpcyBhbGxvd3MgdGhlIGRlbGl2ZXJ5IG9mIGJpZ2dlciBtUk5BIGNvbnN0cnVjdHMgY29tcGFyZWQgdG8gQUFWcywgd2hpY2ggaXMgbmVlZGVkIGZvciBvdXIgUHJpbWUgRWRpdGluZyBjb25zdHJ1Y3QuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignd2ViZXInLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Qcm9mLiBXb2xmLU1pY2hhZWwgV2ViZXIgYW5kIERyLiBKXHUwMEY2cmcgR3JvXHUwMERGZS1Pbm5lYnJpbms8L2E+IGZyb20gdGhlIFVLTSBpbiBNXHUwMEZDbnN0ZXIgd2VyZSBvdXIgZmlyc3QgcG9pbnQgb2YgY29udGFjdCBmb3IgdGhlIGRldmVsb3BtZW50IG9mIG91ciBMTlAgZm9yIENGVFIgdHJlYXRtZW50LiBNb3Jlb3ZlciwgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigncmFkdWtpYycsICcvaHVtYW4tcHJhY3RpY2VzJyl9PkRyLiBNYXJjbyBSYWR1a2ljIDwvYT5mb3JtIEJpZWxlZmVsZCBVbml2ZXJzaXR5IHByb3ZpZGVkIHVzIHdpdGggYSB2ZXJ5IHVzZWZ1bCBjYXJnbywgbmFtZWx5IG1pbmljaXJjbGUgRE5BIGNhcnJ5aW5nIHRoZSBFWUZQIGdlbmUgZnJvbSA8YSBocmVmPVwiaHR0cHM6Ly93d3cucGxhc21pZGZhY3RvcnkuY29tL2N1c3RvbS1kbmEvbWluaWNpcmNsZS1kbmEvXCIgdGl0bGU9XCJQbGFzbWlkRmFjdG9yeVwiID5QbGFzbWlkRmFjdG9yeTwvYT4gYXMgYSBwb3NpdGl2ZSBjb250cm9sIGZvciBvdXIgZXhwZXJpbWVudHMuIEhlIGFsc28gaGVscGVkIHVzIGVzdGFibGlzaCBwcm90b2NvbHMgZm9yIExOUCBzeW50aGVzaXMgYW5kIExOUCB0cmFuc2ZlY3Rpb24gaW4gb3VyIGxhYi48L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJkZWwyXCI+XG4gICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIkludGVyYXRpb24gMiAtIENheW1hbiBMTlBcIiBpZD1cImRlbDJoZWFkXCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICBJbiB0aGUgZmlyc3QgZXhwZXJpbWVudGFsIHBoYXNlLCBMTlBzIGZyb20gPHN0cm9uZz5DYXltYW4gQ2hlbWljYWwgTE5QIEV4cGxvcmF0aW9uIEtpdCAoTE5QLTEwMik8L3N0cm9uZz4gY29uc2lzdGluZyBvZiBTTS0xMDIsIDEsMi1EU1BDLCBjaG9sZXN0ZXJvbCwgYW5kIERNRy1QRUcoMjAwMCk8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItZGVsaXZlcnlcIiBudW09XCI0XCIgc2Nyb2xsSWQ9XCJkZXNjLTRcIi8+IHdlcmUgdGVzdGVkIHdpdGggbVJOQSBlbmNvZGluZyBmbHVvcmVzY2VudCBwcm90ZWluIHRvIGV2YWx1YXRlIHRoZWlyIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LiBIb3dldmVyLCB0aGUgcmVzdWx0cyBzaG93ZWQgbG93IHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LCBhbmQgdGhlIHBhcnRpY2xlcyBkaWQgbm90IHNob3cgc3BlY2lmaWNpdHkgZm9yIHRoZSBsdW5ncywgd2hpY2ggd2FzIGEgY3JpdGljYWwgcmVxdWlyZW1lbnQgZm9yIHRoZSBwcm9qZWN0LiBUaGlzIGxlZCB0aGUgdGVhbSB0byByZWNvbnNpZGVyIHRoZSBjaG9pY2Ugb2YgdGhlIExOUC5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvY2F5bWFuLWxucC1mcmVpZ2VzdGVsbHQud2VicFwiIGFsdD1cIkNheW1hbiBMTlBcIi8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIDEuPC9iPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgU2NoZW1hdGljIHZpZXcgb2YgTE5QLTEwMiBmcm9tIENheW1hbiBDaGVtaWNhbFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cImRlbDNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwiSW50ZXJhdGlvbiAzIC0gQ29yZGVuIExOUFwiIGlkPVwiZGVsM2hlYWRcIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoZSBuZXh0IHBoYXNlLCB3ZSBjaG9zZSB0byB1c2UgYSBuZXcgTE5QIGZvcm11bGF0aW9uLCBuYW1lbHkgdGhlIDxzdHJvbmc+TE5QIFN0YXJ0ZXIgS2l0ICMyPC9zdHJvbmc+PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiNVwiIHNjcm9sbElkPVwiZGVzYy01XCIvPiBvZiA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdjb3JkZW4nLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Db3JkZW4gUGhhcm1hPC9hPiwgYmVjYXVzZSBpdCBvZmZlcmVkIHNldmVyYWwgYWR2YW50YWdlcyBvdmVyIHRoZSBpbml0aWFsIG9wdGlvbi4gVGhlIGtleSBiZW5lZml0IG9mIHRoaXMgbmV3IExOUCBsaWVzIGluIHRoZSB1c2Ugb2YgRE9UQVAsIGEgY2F0aW9uaWMgbGlwaWQgdGhhdCBlbmhhbmNlcyBpbnRlcmFjdGlvbiB3aXRoIG5lZ2F0aXZlbHkgY2hhcmdlZCBjZWxsIG1lbWJyYW5lcyBpbiB0aGUgbHVuZ3MsIGltcHJvdmluZyBjZWxsdWxhciB1cHRha2UgZWZmaWNpZW5jeS4gV2hpbGUgU00tMTAyIGluIHRoZSBDYXltYW4gTE5QLTEwMiBpcyBlZmZlY3RpdmUgZm9yIHN5c3RlbWljIGRlbGl2ZXJ5LCBpdCBsYWNrcyB0aGUgc2FtZSBzcGVjaWZpY2l0eSBmb3IgbHVuZyB0aXNzdWUuIEFkZGl0aW9uYWxseSwgQ29yZGVuIFBoYXJtYVx1MjAxOXMgcGxhbnQtYmFzZWQgQm90YW5pQ2hvbFx1MDBBRSBwcmV2ZW50cyBhbmltYWwtc291cmNlZCBjb250YW1pbmF0aW9uIGFuZCBoZWxwcyBhZGRyZXNzIHRoZSBnbG9iYWwgbGlwaWQgc2hvcnRhZ2UgZm9yIHZhY2NpbmUgcHJvZHVjdGlvbi4gbVBFRy0yMDAwLURTUEUgcHJvdmlkZXMgc3VwZXJpb3Igc3RhYmlsaXR5IGFuZCByZWR1Y2VzIGltbXVuZSBzeXN0ZW0gYWN0aXZhdGlvbiBvdmVyIHRpbWUsIG1ha2luZyBpdCBwYXJ0aWN1bGFybHkgc3VpdGFibGUgZm9yIHB1bG1vbmFyeSBkZWxpdmVyeS4gIFRoaXMgbWFkZSB0aGUgbmV3IGZvcm11bGF0aW9uIGEgYmV0dGVyIGNob2ljZSBmb3Igc2FmZWx5IGFuZCBlZmZlY3RpdmVseSB0YXJnZXRpbmcgbHVuZyB0aXNzdWUsIGVzcGVjaWFsbHkgaW4gZGVsaXZlcmluZyB0aGVyYXBpZXMgZm9yIENGVFItcmVsYXRlZCBkaXNlYXNlcy4gRHVyaW5nIHRoaXMgdGltZSwgdGhlIHRlYW0gZW5jb3VudGVyZWQgYSBwYXBlciBvbiBjYXBzYWljaW4tY2hpdG9zYW4gbmFub3BhcnRpY2xlcywgd2hpY2ggZXhwbG9yZWQgaXRzIHVzZSBpbiB0YXJnZXRlZCBkZWxpdmVyeSBhbmQgaGlnaGVyIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LiBIb3dldmVyLCBhZnRlciBmdXJ0aGVyIGludmVzdGlnYXRpb24gYW5kIGNvbnN1bHRhdGlvbiBvZiA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdrb2xvbmtvZmlyc3QnLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Eci4gS2F0aGFyaW5hIEtvbG9ua288L2E+LCBpdCB3YXMgZGV0ZXJtaW5lZCB0aGF0IGNhcHNhaWNpbiB3YXMgbm90IHN1aXRhYmxlIGZvciBvdXIgcGxhbm5lZCBwdWxtb25hcnkgYXBwbGljYXRpb24uIFxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9jb3JkZW4tbG5wLWZyZWlnZXN0ZWxsdC53ZWJwXCIgYWx0PVwiQ29yZGVuIExOUFwiLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgMi48L2I+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICBTY2hlbWF0aWMgdmlldyBvZiBMTlAgIzIgZnJvbSBDb3JkZW4gUGhhcm1hIHdpdGggRE9UQVAgYXMgY2F0aW9uaWMgbGlwaWQsIERTUEMgYXMgcGhvc3Bob2xpcGlkIGFuZCBtUEVHLTIwMC1EU1BFIGFzIFBFRyBsaXBpZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJkZWw0XCI+XG4gICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIkludGVyYXRpb24gNCAtIFNwcmF5LWRyaWVkIFNPUlQgTE5QIGNhbGxlZCBBaXJidWRkeVwiIGlkPVwiZGVsNGhlYWRcIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgIFRoZSBuZXh0IGRlc2lnbiBpdGVyYXRpb24gaW5jb3Jwb3JhdGVkIHRoZSBpbnNpZ2h0cyBmcm9tIFdhbmcncyBMTlAgd29yayBmb3IgYnVpbGRpbmcgdXBvbiBTT1JUIHByaW5jaXBsZXMgdG8gbWFrZSB0aGUgbmFub3BhcnRpY2xlcyBsdW5nLXNwZWNpZmljPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiNlwiIHNjcm9sbElkPVwiZGVzYy02XCIvPi4gVGhlIG1haW4gY29tcG9uZW50cyBpbmNsdWRlIERNRy1QRUcgMjAwMCwgY2hvbGVzdGVyb2wsIERPUEUgYW5kIERPVEFQIGFzIHBob3NwaG9saXBpZHMgYW5kIGNhdGlvbmljIGxpcGlkcyBzdWNoIGFzIDRBMy1TQzguIEluIG91ciBMTlAgZGV2ZWxvcG1lbnQsIHdlIGNhcmVmdWxseSBjb25zaWRlcmVkIHRoZSB1c2Ugb2YgUEVHLiBXaGlsZSBQRUcgY2FuIGltcHJvdmUgc3RhYmlsaXR5LCBpdCBjYW4gYWxzbyByZWR1Y2UgY2VsbHVsYXIgdXB0YWtlIGFuZCBpbmR1Y2UgaW1tdW5lIHJlc3BvbnNlcywgbmVjZXNzaXRhdGluZyBhIGJhbGFuY2VkIGFwcHJvYWNoIHRvIGl0cyBpbmNsdXNpb248VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItZGVsaXZlcnlcIiBudW09XCI3XCIgc2Nyb2xsSWQ9XCJkZXNjLTdcIi8+LlxuICAgICAgICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwiQ29sMVwiIG9wZW49e2ZhbHNlfSB0aXRsZT1cIkFtYml2YWxlbmNlIG9mIFBFRyBhbmQgb3VyIGltcGxlbWVudGF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiV2hhdCBpcyBQRUcgYW5kIHdoeSBpcyBpdCBpbXBvcnRhbnQgZm9yIExOUHM/XCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICBQb2x5ZXRoeWxlbmUgZ2x5Y29sIChQRUcpIGlzIGFuIGVzc2VudGlhbCBjb21wb25lbnQgaW4gdGhlIGZvcm11bGF0aW9uIG9mIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpLCB3aGljaCBhcmUgd2lkZWx5IHVzZWQgaW4gZHJ1ZyBkZWxpdmVyeSBzeXN0ZW1zLCBwYXJ0aWN1bGFybHkgZm9yIG1STkEtYmFzZWQgdGhlcmFwaWVzIGxpa2UgdmFjY2luZXMuIFBFRy1saXBpZHMgYXJlIGh5YnJpZCBtb2xlY3VsZXMgY29uc2lzdGluZyBvZiBhIGh5ZHJvcGhpbGljIFBFRyBjaGFpbiBhdHRhY2hlZCB0byBhIGh5ZHJvcGhvYmljIGxpcGlkIGFuY2hvci4gVGhpcyB1bmlxdWUgc3RydWN0dXJlIGVuYWJsZXMgUEVHLWxpcGlkcyB0byBpbnRlcmFjdCBlZmZlY3RpdmVseSB3aXRoIGJvdGggYXF1ZW91cyBlbnZpcm9ubWVudHMgYW5kIGxpcGlkIHN0cnVjdHVyZXMsIHN1Y2ggYXMgY2VsbCBtZW1icmFuZXMgYW5kIGxpcGlkIG5hbm9wYXJ0aWNsZXMgdGhlbXNlbHZlcy4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5QRUd5bGF0aW9uXHUyMDE0YXR0YWNoaW5nIFBFRyB0byBsaXBpZHNcdTIwMTRwcm92aWRlcyBudW1lcm91cyBiZW5lZml0cy4gSXQgaW5jcmVhc2VzIHRoZSBzdGFiaWxpdHkgb2YgTE5QcyBieSBmb3JtaW5nIGEgcHJvdGVjdGl2ZSBvdXRlciBsYXllciwgcHJldmVudGluZyBhZ2dyZWdhdGlvbiwgZXh0ZW5kaW5nIGNpcmN1bGF0aW9uIHRpbWUgaW4gdGhlIGJsb29kc3RyZWFtLCBhbmQgcmVkdWNpbmcgaW1tdW5lIHN5c3RlbSBkZXRlY3Rpb24uIFRoZXNlIGFkdmFudGFnZXMgYXJlIGNyaXRpY2FsIGluIGVuc3VyaW5nIHRoYXQgdGhlIExOUHMgcmVhY2ggdGhlaXIgdGFyZ2V0IGNlbGxzIGFuZCBkZWxpdmVyIHRoZSB0aGVyYXBldXRpYyBwYXlsb2FkIGVmZmVjdGl2ZWx5LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIldoeSBpcyBQRUcgcmVsZXZhbnQgZm9yIExOUHMgaW4gbVJOQSBkZWxpdmVyeT9cIiBpZD1cInRleHRcIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIFBFRyBpbXByb3ZlcyB0aGUgcGhhcm1hY29raW5ldGljcyBvZiBMTlBzIGJ5IGV4dGVuZGluZyB0aGVpciBzeXN0ZW1pYyBjaXJjdWxhdGlvbiB0aW1lLCB3aGljaCBpcyBjcnVjaWFsIGZvciB0aGVyYXBpZXMgbGlrZSBtUk5BIHZhY2NpbmVzLCB3aGVyZSB0aGUgbmFub3BhcnRpY2xlcyBtdXN0IHJlbWFpbiBpbiB0aGUgYmxvb2RzdHJlYW0gbG9uZyBlbm91Z2ggdG8gcmVhY2ggdGhlaXIgdGFyZ2V0IGNlbGxzLiBBZGRpdGlvbmFsbHksIFBFRy1saXBpZHMgY2FuIHJlZHVjZSB0aGUgc2l6ZSBvZiBMTlBzLCBlbmhhbmNpbmcgdGhlaXIgYWJpbGl0eSB0byBwZW5ldHJhdGUgY2VsbCBtZW1icmFuZXMgYW5kIGRlbGl2ZXIgdGhlIHRoZXJhcGV1dGljIG1hdGVyaWFsIGVmZmljaWVudGx5LiBIb3dldmVyLCBhIGJhbGFuY2UgbXVzdCBiZSBzdHJ1Y2suIEluY3JlYXNpbmcgUEVHIGNvbnRlbnQgY2FuIGxlYWQgdG8gc21hbGxlciwgbW9yZSBzdGFibGUgcGFydGljbGVzLCBidXQgaXQgbWF5IGFsc28gcmVkdWNlIGludHJhY2VsbHVsYXIgZGVsaXZlcnkgYW5kIHByb3RlaW4gZXhwcmVzc2lvbi4gVGhlcmVmb3JlLCB3aGlsZSBQRUcgYm9vc3RzIGNpcmN1bGF0aW9uIGFuZCBzdGFiaWxpdHksIHRvbyBtdWNoIGNhbiBoaW5kZXIgdGhlcmFwZXV0aWMgZWZmZWN0aXZlbmVzcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQ3l0b3RveGljaXR5IGFuZCBtUEVHLTIwMDAtRFNQRVwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgT25lIGNoYWxsZW5nZSB3aXRoIFBFR3lsYXRpb24gaXMgdGhlIHBvdGVudGlhbCBmb3IgaW1tdW5lIHJlc3BvbnNlcywgc3VjaCBhcyB0aGUgPGk+YWNjZWxlcmF0ZWQgYmxvb2QgY2xlYXJhbmNlPC9pPiAoQUJDKSBwaGVub21lbm9uLCB3aGVyZSByZXBlYXRlZCBleHBvc3VyZSB0byBQRUd5bGF0ZWQgcGFydGljbGVzIGxlYWRzIHRvIGZhc3RlciBjbGVhcmFuY2UgYnkgdGhlIGltbXVuZSBzeXN0ZW0uIFRoZXJlIGFyZSBhbHNvIHJpc2tzIG9mIGh5cGVyc2Vuc2l0aXZpdHkgcmVhY3Rpb25zIGxpa2UgPGk+Y29tcGxlbWVudCBhY3RpdmF0aW9uLXJlbGF0ZWQgcHNldWRvYWxsZXJneTwvaT4gKENBUlBBKS4gVGh1cywgc2VsZWN0aW5nIHRoZSByaWdodCBQRUctbGlwaWQgdHlwZSBpcyBlc3NlbnRpYWwgdG8gbWl0aWdhdGUgdGhlc2Ugcmlza3MuXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5XZSBjb2xsYWJvcmF0ZWQgd2l0aCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdjb3JkZW4nLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Db3JkZW4gUGhhcm1hPC9hPiwgYSBzcGVjaWFsaXN0IGluIExOUCB0ZWNobm9sb2dpZXMsIHRvIGFkZHJlc3MgdGhlc2UgY29uY2VybnMuIEJhc2VkIG9uIHRoZWlyIHJlY29tbWVuZGF0aW9ucywgd2Ugb3B0ZWQgZm9yIDxzdHJvbmc+bVBFRy0yMDAwLURTUEU8L3N0cm9uZz4gYXMgb3VyIFBFRy1saXBpZCBvZiBjaG9pY2UuIFRoaXMgdmFyaWFudCBtaW5pbWl6ZXMgY3l0b3RveGljaXR5IHdoaWxlIHByb3ZpZGluZyBleGNlbGxlbnQgc3RhYmlsaXR5IGFuZCBjaXJjdWxhdGlvbiB0aW1lLiBJdCBoYXMgYWxzbyBwcm92ZW4gZWZmZWN0aXZlIGluIHJlZHVjaW5nIGltbXVuZS1yZWxhdGVkIHNpZGUgZWZmZWN0cyB3aGlsZSBwcmVzZXJ2aW5nIHRoZSBpbnRlZ3JpdHkgYW5kIHBlcmZvcm1hbmNlIG9mIG91ciBuYW5vcGFydGljbGVzLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRNRy1QRUcyMDAwIHZzIG1QRUctMjAwMC1EU1BFXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSBtUEVHLTIwMDAtRFNQRSBoYXMgdHJhZGl0aW9uYWxseSBiZWVuIHVzZWQgZm9yIHN0YWJpbGl6aW5nIExOUHMgYW5kIGVuaGFuY2luZyBkZWxpdmVyeSBlZmZpY2llbmN5LCB3ZSBkZWNpZGVkIHRvIGluY29ycG9yYXRlIERNRy1QRUcyMDAwIGludG8gb3VyIFNPUlQgTE5QLWJhc2VkIEFpckJ1ZGR5IGR1ZSB0byBpdHMgc3VwZXJpb3IgcHJvcGVydGllcy4gRE1HLVBFRzIwMDAgb2ZmZXJzIGJldHRlciBiaW9kZWdyYWRhYmlsaXR5IGFuZCBlbmhhbmNlZCBzdGFiaWxpdHkgaW4gcHVsbW9uYXJ5IGFwcGxpY2F0aW9ucy4gVW5saWtlIG1QRUctMjAwMC1EU1BFLCB3aGljaCB0ZW5kcyB0byBhY2N1bXVsYXRlIGluIHRoZSBib2R5IGFuZCBtYXkgbGVhZCB0byBpbW11bmUgYWN0aXZhdGlvbiBvdmVyIHRpbWUsIERNRy1QRUcyMDAwIGlzIGtub3duIGZvciBpdHMgZmFzdGVyIGNsZWFyYW5jZSBhbmQgcmVkdWNlZCBwb3RlbnRpYWwgZm9yIGxvbmctdGVybSB0b3hpY2l0eS4gRm9yIGx1bmctc3BlY2lmaWMgZGVsaXZlcnksIHdoZXJlIHN0YWJpbGl0eSBhbmQgc2FmZXR5IGFyZSBjcml0aWNhbCwgRE1HLVBFRzIwMDAgZW5zdXJlcyB0aGF0IHRoZSBuYW5vcGFydGljbGVzIHJlbWFpbiBzdGFibGUgbG9uZyBlbm91Z2ggdG8gZGVsaXZlciB0aGUgdGhlcmFwZXV0aWMgbWF0ZXJpYWwgZWZmZWN0aXZlbHksIGJ1dCBhbHNvIGRlZ3JhZGUgYXQgYSByYXRlIHRoYXQgbWluaW1pemVzIHVud2FudGVkIGltbXVuZSByZXNwb25zZXMuIFRoaXMgbWFrZXMgRE1HLVBFRzIwMDAgYSBtb3JlIHN1aXRhYmxlIGNob2ljZSBmb3IgdGhlcmFwaWVzIHRhcmdldGluZyBDRlRSLXJlbGF0ZWQgZGlzZWFzZXMsIHdoZXJlIHByZWNpc2UgYW5kIHNhZmUgZGVsaXZlcnkgdG8gdGhlIGx1bmdzIGlzIGVzc2VudGlhbCBmb3IgdHJlYXRtZW50IHN1Y2Nlc3MuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+RGV0YWlscyBhYm91dCB0aGUgYmlvc2FmZXR5IGFzcGVjdHMgb2Ygb3VyIExOUCBjYW4gYmUgcmVhZCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZUFuZFNjcm9sbCAoJ3NvcnQtbG5wLWFuZC1jeXRvdG94aWNpdHknLCAnL3NhZmV0eScpfT4gaGVyZSA8L2E+LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQ29uY2x1c2lvblwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgV2UgdXNlIERNRy1QRUcyMDAwIGluIG91ciBTT1JUIExOUC1iYXNlZCBBaXJCdWRkeSBiZWNhdXNlIG9mIGl0cyBzdXBlcmlvciBiaW9kZWdyYWRhYmlsaXR5LCBlbmhhbmNlZCBzdGFiaWxpdHksIGFuZCByZWR1Y2VkIHJpc2sgb2YgaW1tdW5lIHN5c3RlbSBhY3RpdmF0aW9uLiBCeSBidWlsZGluZyBvbiBpbnNpZ2h0cyBmcm9tIGV4cGVydHMgYW5kIGluY29ycG9yYXRpbmcgcHJpbmNpcGxlcyBmcm9tIFdhbmdcdTIwMTlzIExOUCB3b3JrLCB3ZVx1MjAxOXZlIHRhaWxvcmVkIG91ciBuYW5vcGFydGljbGVzIGZvciBsdW5nLXNwZWNpZmljIGRlbGl2ZXJ5LiBUaGlzIGNob2ljZSBlbnN1cmVzIHRoYXQgb3VyIGZvcm11bGF0aW9ucyByZW1haW4gc3RhYmxlIGxvbmcgZW5vdWdoIHRvIGRlbGl2ZXIgdGhlIHRoZXJhcGV1dGljIHBheWxvYWQgZWZmZWN0aXZlbHkgd2hpbGUgbWluaW1pemluZyBwb3RlbnRpYWwgbG9uZy10ZXJtIHRveGljaXR5LiBUaGlzIGJhbGFuY2UgaXMgY3J1Y2lhbCBmb3IgcHVsbW9uYXJ5IGFwcGxpY2F0aW9ucywgd2hlcmUgRE1HLVBFRzIwMDAgb3V0cGVyZm9ybXMgYWx0ZXJuYXRpdmVzIGxpa2UgbVBFRy0yMDAwLURTUEUsIG1ha2luZyBpdCB0aGUgaWRlYWwgY2hvaWNlIGZvciB0cmVhdGluZyBDRlRSLXJlbGF0ZWQgbHVuZyBkaXNlYXNlcy4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgICAgICAgICAgPHA+RE1HLVBFRzIwMDAgb2YgdGhlIFNPUlQgTE5QIG9mZmVycyBiZXR0ZXIgYmlvZGVncmFkYWJpbGl0eSBhbmQgZW5oYW5jZWQgc3RhYmlsaXR5IGluIHB1bG1vbmFyeSBhcHBsaWNhdGlvbnMgLSBpdCBpcyBrbm93biBmb3IgaXRzIGZhc3RlciBjbGVhcmFuY2UgYW5kIHJlZHVjZWQgcG90ZW50aWFsIGZvciBsb25nLXRlcm0gdG94aWNpdHkuIFRvIGVuc3VyZSB3ZSBhZGRyZXNzZWQgdGhpcyBpc3N1ZSwgY3l0b3RveGljaXR5IHRlc3RzIHdlcmUgcGVyZm9ybWVkIGluIGFkZGl0aW9uIHRvIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHBoeXNpY2FsIHByb3BlcnRpZXMgaW4gY29vcGVyYXRpb24gd2l0aCB0aGUgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignYmlvcGh5c2lrJywgJy9odW1hbi1wcmFjdGljZXMnKX0+UGh5c2ljYWwgYW5kIEJpb3BoeXNpY2FsIENoZW1pc3RyeSB3b3JraW5nIGdyb3VwIG9mIEJpZWxlZmVsZCBVbml2ZXJzaXR5PC9hPiB0byBjaGFyYWN0ZXJpemUgdGhlIExOUHMuIE1vcmUgZGV0YWlscyBhYm91dCB0aGUgY29tcG9zaXRpb24gb2YgdGhlIFNPUlQgTE5QcyBhbmQgZnVuY3Rpb24gb2YgdGhlIGNvbXBvbmVudHMgY2FuIGJlIHJlYWQgYmVsb3cuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9zb3J0LWxucC1mcmVpZ2VzdGVsbHQud2VicFwiIGFsdD1cIkFpckJ1dWR5XCIvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSAzLjwvYj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFNjaGVtYXRpYyB2aWV3IG9mIG91ciBsdW5nLXNwZWNpZmljIFNPUlQgTE5QIGNhbGxlZCBBaXJCdWRkeS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJDb2wyXCIgb3Blbj17ZmFsc2V9IHRpdGxlPVwiQ29tcG9zaXRpb24gb2Ygb3VyIFNPUlQgTE5QIGNhbGxlZCBBaXJidWRkeSAvLyBMTlAgSGFuZGJvb2sgQ29vcGVyYXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQ29tcG9uZW50cyBvZiBBaXJCdWRkeVwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJJb25pemFibGUgTGlwaWRcIiBpZD1cInRleHRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHByaW1hcnkgaW5ncmVkaWVudCwgNEEzLVNDOCBvciBNQzMsIGFyZSBpb25pemFibGUgY2F0aW9uaWMgbGlwaWRzIHRoYXQgZm9ybXMgdGhlIGNvcmUgb2YgdGhlIExOUC4gSW9uaXphYmxlIGNhdGlvbmljIGxpcGlkcyBiZWNvbWUgcG9zaXRpdmVseSBjaGFyZ2VkIGluIGFjaWRpYyBlbnZpcm9ubWVudHMsIHN1Y2ggYXMgd2hlbiBhIHBIIGNoYW5nZSBvY2N1cnMgZm9yIGV4YW1wbGUgaW4gYWNpZGljIGJ1ZmZlcnMgb3IgaW4gdGhlIGVuZG9zb21lLiBUaGlzIGFsbG93cyB0aGVtIHRvIGJpbmQgdG8gbmVnYXRpdmVseSBjaGFyZ2VkIG51Y2xlaWMgYWNpZHMgYW5kIGZvcm0gcHJvdGVjdGl2ZSBjYXBzdWxlcyBhcm91bmQgaXQuIEluIHRoZSBlbmRvc29tZSB0aGVzZSBsaXBpZHMgZmFjaWxpdGF0ZSBlbmRvc29tYWwgZXNjYXBlIHRocm91Z2ggZWxlY3Ryb3N0YXRpYyBpbnRlcmFjdGlvbnMgYmV0d2VlbiB0aGUgTE5QcyBhbmQgdGhlIGVuZG9zb21hbCBvciBjZWxsdWxhciBtZW1icmFuZXMuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJIZWxwZXIgTGlwaWRzXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5ET1RBUCAoRGlvbGVveWx0cmltZXRoeWwtYW1tb25pdW0gcHJvcGFuZSkgaXMgYSBjYXRpb25pYyBsaXBpZCB0aGF0IG1ha2VzIHVwIDUwICUgb2YgdGhlIHRvdGFsIG1vbGFyIGxpcGlkIHJhdGlvLiBJdCBwbGF5cyBhIGNydWNpYWwgcm9sZSBpbiBiaW5kaW5nIHRvIHRoZSBuZWdhdGl2ZWx5IGNoYXJnZWQgc3VyZmFjZSBvZiBsdW5nIGVwaXRoZWxpYWwgY2VsbHMuIFRoaXMgZW5oYW5jZXMgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgYW5kIGhlbHBzIG1ha2UgdGhlIExOUCBmb3JtdWxhdGlvbiBtb3JlIGx1bmctc3BlY2lmaWMsIGltcHJvdmluZyB0YXJnZXRlZCBkZWxpdmVyeS4gVGhlIG5ldXRyYWwgaGVscGVyIGxpcGlkIERPUEUgKERpb2xlb3lscGhvc3BoYXRpZHlsZXRoYW5vbGFtaW5lKSBlbmhhbmNlcyBlbmRvc29tYWwgZXNjYXBlIGJ5IGZ1c2luZyB3aXRoIHRoZSBlbmRvc29tYWwgbWVtYnJhbmUgYW5kIGltcHJvdmVzIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LjwvcD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlN0ZXJvbFwiIGlkPVwidGV4dFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5DaG9sZXN0ZXJvbCwgaXMgYW4gaW1wb3J0YW50IGNhdGlvbmljIGxpcGlkLCBwcm92aWRpbmcgc3RydWN0dXJhbCBzdGFiaWxpdHksIGZsdWlkaXR5IGFuZCBwZXJtZWFiaWxpdHkgdG8gdGhlIExOUHMsIHRoZXJlYnkgaW1wcm92aW5nIHRoZWlyIG92ZXJhbGwgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUEVHeWxhdGVkIExpcGlkc1wiIGlkPVwidGV4dFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5ETUctUEVHIChEaW15cmlzdG95bGdseWNlcmluLXBvbHlldGh5bGVuZWdseWNvbCkgaXMgYW4gaW1wb3J0YW50IGNvbXBvbmVudCBieSBpbXByb3ZpbmcgdGhlIExOUCBzdGFiaWxpdHkgYW5kIHByZXZlbnRpbmcgYWdncmVnYXRpb24gb2YgdGhlIExOUHMuICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlByb2R1Y3Rpb24gTWV0aG9kc1wiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJMTlAgQXNzZW1ibHlcIiBpZD1cInRleHRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk91ciBMTlAgY2FuIGJlIGZvcm11bGF0ZWQgdXNpbmcgdmFyaW91cyBtZXRob2RzIGRlcGVuZGluZyBvbiB0aGUgc2NhbGUgb2YgcHJvZHVjdGlvbiwgaW5jbHVkaW5nIHBpcGV0dGUgbWl4aW5nLCB2b3J0ZXggbWl4aW5nLCBvciBtaWNyb2ZsdWlkaWMgbWl4aW5nLiBBZnRlciBtaXhpbmcgdGhlIGxpcGlkcyB3aXRoIG1STkEgaW4gY2FyZWZ1bGx5IGNvbnRyb2xsZWQgcmF0aW9zLCB0aGUgbWl4dHVyZSBpcyB0eXBpY2FsbHkgZGlhbHl6ZWQgdG8gcmVtb3ZlIG9yZ2FuaWMgc29sdmVudHMgbGlrZSBldGhhbm9sIGFuZCBjaXRyYXRlIGJ1ZmZlci4gVGhlIGNob2ljZSBvZiBsaXBpZCBjb21wb3NpdGlvbiBhbmQgcHJlcGFyYXRpb24gbWV0aG9kIGluZmx1ZW5jZXMgdGhlIHRpc3N1ZS10YXJnZXRpbmcgY2FwYWJpbGl0aWVzIG9mIHRoZSBMTlBzLCBhbGxvd2luZyBmb3Igc2VsZWN0aXZlIGRlbGl2ZXJ5IHRvIG9yZ2FucyBsaWtlIHRoZSBsaXZlciwgbHVuZ3MsIG9yIHNwbGVlbi4gRm9yIG1vcmUgZGV0YWlsZWQgaW5mb3JtYXRpb24gb24gZm9ybXVsYXRpb24gbWV0aG9kcyBhbmQgbGlwaWQgc2VsZWN0aW9uLCByZWZlciB0byBvdXIgTE5QIEhhbmRib29rIGRlaWduZWQgaW4gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdoYW5kYm9vaycsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBjb29wZXJhdGlvbiB3aXRoIGlHRU0gVGVhbSBMaW5rXHUwMEY2cGluZyA8L2E+IGFuZCBvdGhlcnMuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkNsaWNrIHRoaXMgQnV0dG9uIHRvIGdhaW4gdGhlIExOUCBIYW5kYm9vazwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxEb3dubG9hZExpbmsgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUzODcvbGlwb3NvbWVzLWhhbmRib29rLnBkZlwiIGZpbGVOYW1lPVwibGlwb3NvbWVzLWhhbmRib29rLnBkZlwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJTcHJheSBkcnlpbmcgUHJvY2VkdXJlXCIgaWQ9XCJ0ZXh0XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5CeSBjb21iaW5pbmcgdGhlc2UgY29tcG9uZW50cyB3aXRoIHRoZSBzcHJheSBkcnlpbmcgbWV0aG9kIGZyb20gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdybmhhbGUnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gUk5oYWxlIDwvYT4gd2Ugb2ZmZXIgYSB2ZXJzYXRpbGUgYW5kIGVmZmljaWVudCBtZXRob2QgZm9yIGRlbGl2ZXJpbmcgbVJOQSB0aGVyYXBldXRpY3MgdG8gdGhlIGx1bmcsIHBhdmluZyB0aGUgd2F5IGZvciBnZW5lIHRoZXJhcHksIGVzcGVjaWFsbHkgb3VyIFByaW1lIEd1aWRlLiBUaGUgZWZmZWN0aXZlIGRlbGl2ZXJ5IG9mIHRoZSBwcmltZSBlZGl0aW5nIGNvbXBsZXggaXMgYSBjcnVjaWFsIHBvaW50IGluIG91ciBwcm9qZWN0LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlN0b3JhZ2VcIiBpZD1cInRleHRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIGZpbmFsIExOUCBzb2x1dGlvbiBjYW4gYmUgc3RvcmVkIGF0IDQgXHUwMEIwQyBmb3IgYSBmZXcgZGF5cy4gSXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSBmb3JtdWxhdGVkIExOUHMgYXMgc29vbiBhcyBwb3NzaWJsZSB0byBtYWludGFpbiBjb25zaXN0ZW50IHJlc3VsdHMuIFN0b3JhZ2UgYXQgUlQgaXMgbm90IHJlY29tbWVuZGVkLiBTdG9yYWdlIGF0IGZyZWV6aW5nIHRlbXBlcmF0dXJlcyBpcyBhbHNvIG5vdCByZWNvbW1lbmRlZCB1bmxlc3Mgb3B0aW1pemVkIGNyeW9wcm90ZWN0YW50cyBhcmUgdXNlZC48L3A+XG5cbiAgICAgICAgICAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICAgICAgICAgICA8cD5UaGUgZmluYWwgaW5ub3ZhdGlvbiBmb3Igb3VyIExOUCB0byBiZWNvbWUgPHN0cm9uZz5BaXJCdWRkeTwvc3Ryb25nPiBjYW1lIHRocm91Z2ggY29uc3VsdGF0aW9uIHdpdGggQmVuamFtaW4gV2lua2VsamFubiBmcm9tIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3JuaGFsZScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBSTmhhbGU8L2E+LCB3aGVyZSB0aGUgdXNlIG9mIHNwcmF5LWRyeWluZyB0ZWNobmlxdWVzIHdhcyBkaXNjdXNzZWQuIFNwcmF5LWRyeWluZyB0aGUgTE5QcywgaW5zdGVhZCBvZiB1c2luZyB0cmFkaXRpb25hbCBtZXRob2RzLCBoZWxwZWQgaW1wcm92ZSBzdGFiaWxpdHkgYW5kIGVjby1mcmllbmRsaW5lc3Mgb2YgdGhlIHByb2R1Y3Q8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItZGVsaXZlcnlcIiBudW09XCI4XCIgc2Nyb2xsSWQ9XCJkZXNjLThcIi8+LiAgVGhlIHNwcmF5LWRyaWVkIFNPUlQgTE5QcyBkZW1vbnN0cmF0ZWQgbG93ZXIgY3l0b3RveGljaXR5LCBhbmQgdGhlIHRlY2huaXF1ZSBwcm92ZWQgZWZmZWN0aXZlIGluIG1haW50YWluaW5nIHBhcnRpY2xlIGludGVncml0eS4gSW4gY29uY2x1c2lvbiwgd2UgY3JlYXRlZCBhIHN0YWJsZSBMTlAgZm9yIGVmZmljaWVudCBkZWxpdmVyeSBvZiBtUk5BIHRoZXJhcGV1dGljcyB0byB0aGUgbHVuZ3Mgc2luY2UgdGhlIHN1Y2Nlc3NmdWwgZGVsaXZlcnkgb2YgdGhlIHByaW1lIGVkaXRpbmcgY29tcGxleCB2aWEgaW5oYWxhdGlvbiBpcyBrZXkgdG8gb3VyIHByb2plY3QuICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvYmlnLXBsYW4taW5oYWxhdGlvbi10ZWlsLWRlbC53ZWJwXCIgYWx0PVwiRmxvdyBERUxcIi8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIDQuIDwvYj4gXG4gICAgICAgICAgICAgICAgICAgICAgICBBcHBsaWNhdGlvbiBzdGF0ZWd5IC0gQWlyQnVkZHkgaXMgaW5oYWxlZCBieSB0aGUgcGF0aWVudCwgZW5hYmxpbmcgdXB0YWtlIG9mIFByaW1lR3VpZGUgaW4gbHVuZyBlcGl0aGVsaWFsIGNlbGxzIHZpYSBlbmRvY3l0b3Npcy4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+IFxuXG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJkZWw1XCI+XG4gICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIk91dGxvb2tcIiBpZD1cImRlbDVoZWFkXCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICBVbHRpbWF0ZWx5LCB0aHJvdWdoIGNvbnRpbnVvdXMgY3ljbGVzIG9mIGV4cGVyaW1lbnRhdGlvbiwgZmVlZGJhY2ssIGFuZCBvcHRpbWl6YXRpb24sIGEgTE5QIGZvcm11bGF0aW9uIGNhbGxlZCBBaXJCdWRkeSB3YXMgZGVzaWduZWQgdXNpbmcgU09SVCBMTlBzIGFuZCBhIHNwcmF5LWRyeWluZyBwcm9jZXNzLCBhY2hpZXZpbmcgbHVuZyBzcGVjaWZpY2l0eSBhbmQgaW1wcm92ZWQgc2FmZXR5LiBXZSBhbHNvIHdhbnQgdG8gc3RhdGUgdGhhdCBmb3Igb3VyIExOUCBpcyBmdXJ0aGVyIHJvb20gZm9yIGltcHJvdmVtZW50LiBJbnRlbnNpdmUgcmVzZWFyY2ggbGVkIHVzIHRvIHRoZSByZWFsaXphdGlvbiB0aGF0LCBhbW9uZyBvdGhlciBtb2RpZmljYXRpb25zLCA8c3Ryb25nPmFudGlib2R5IGNvbmp1Z2F0aW9uPC9zdHJvbmc+IGFzIGEgc3VyZmFjZSBtb2RpZmljYXRpb24gb2Ygb3VyIExOUCBmb3IgY2VsbCB0eXBlLXNwZWNpZmljIGFkbWluaXN0cmF0aW9uLCBtb3JlIHNwZWNpZmljYWxseSBjbHViIGNlbGxzPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiOVwiIHNjcm9sbElkPVwiZGVzYy05XCIvPiBhbmQgaW9ub2N5dGVzPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiMTBcIiBzY3JvbGxJZD1cImRlc2MtMTBcIi8+IGFzIG1vc3QgQ0ZUUi1leHByZXNzaW5nIGx1bmcgZXBpdGhlbGlhbCBjZWxscywgd291bGQgcm91bmQgb2ZmIG91ciBtb3N0IGltcG9ydGFudCBhc3BlY3Qgb2YgcHJlY2lzaW9uLiBJbiBhZGRpdGlvbiwgdGhlIGRpc2N1c3Npb24gd2l0aCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdtb29ybGFjaCcsICcvaHVtYW4tcHJhY3RpY2VzJyl9PkJlbmphbWluIE1vb3JsYWNoPC9hPiwgY2hpdG9zYW4gZXhwZXJ0IHdvcmtpbmcgYXQgRkggQmllbGVmZWxkLCBwcm92aWRlZCBuZXcgaWRlYXMgZm9yIGltcHJvdmVtZW50IGJ5IDxzdHJvbmc+Y29tcGxleGluZyB0aGUgbVJOQSB3aXRoIGNoaXRvc2FuPC9zdHJvbmc+IHRvIGltcHJvdmUgdGhlIHN0YWJpbGl0eSBvZiB0aGUgY2FyZ28gZHVyaW5nIHNwcmF5IGRyeWluZyBhbmQgbmVidWxpemF0aW9uLlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIlJlZmVyZW5jZXNcIiBpZD1cInJlZmVyZW5jZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxFbmdEZWxzb3VyY2VzLz5cbiAgICAgICAgICAgICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVmdFwiPjxCdXR0b25PbmVFbmdpbmVlcmluZyBsYWJlbD1cIlByZXZpb3VzXCIgb3Blbj1cIm5pY2thc2VcIiBzY3JvbGxUb0lkPVwibmlja2FzZS1oZWFkZXJcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICA8L2Rpdj5cbiAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfSBcblxuICBcblxuZXhwb3J0IGZ1bmN0aW9uIEVuZ2luZWVyaW5nQ3ljbGVUYWIoKXtcbiAgICByZXR1cm4oXG4gPHN2ZyBjbGFzc05hbWU9XCJyb3RhdGUtbGluZWFyLWluZmluaXRlXCJcbiAgICB3aWR0aD1cIjEwMCVcIlxuICAgIGhlaWdodD1cIjEwMCVcIlxuICAgIHZpZXdCb3g9XCIwIDAgMTMzIDEzM1wiXG4gICAgaWQ9XCJzdmcyNVwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgPGRlZnNcbiAgICAgIGlkPVwiZGVmczFcIj5cbiAgICAgPC9kZWZzPlxuICAgPGdcbiAgICAgIGlkPVwiTGF5ZXJfMlwiXG4gICAgICBkYXRhLW5hbWU9XCJMYXllciAyXCJcbiAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX0+XG4gICAgIDxnXG4gICAgICAgIGlkPVwiUGxhc21pZFwiXG4gICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX0+XG4gICAgICAgPGdcbiAgICAgICAgICBpZD1cImcyNVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDcuNTAwOTc4LDMuMDUwNDg5OClcIj5cbiAgICAgICAgICAgIDxhICB0eXBlb2Y9XCJidXR0b25cIiBjbGFzc05hbWU9XCJzdmctYnV0dG9uXCIgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwiZGVzaWduaW5nXCIsIGNsYXNzVG9IaWRlOiBcImN5Y2xldGFiXCJ9KX0+XG4gICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xzLTdcIlxuICAgICAgICAgICAgZD1cIm0gNDIuMDUsMTE1LjU5IGMgMjcuNzcsOS4xOSA1Ny44MywtNC43OSA2OS43NiwtMzIuMjNcIlxuICAgICAgICAgICAgIGlkPVwicGF0aDIyXCJcbiAgICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlOlwiI2Y0Y2MxZVwiLHN0cm9rZVdpZHRoOlwiMTVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIn19IC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgPC9nPlxuICAgICAgIDxnXG4gICAgICAgICAgaWQ9XCJnMjZcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4LjAwMTk2OTksMi44NDE4MjIzKVwiXG4gICAgICAgICAgc3R5bGU9e3tzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCJ9fT4gIFxuICAgICAgICAgPHBvbHlnb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImNscy0xM1wiXG4gICAgICAgICAgICBwb2ludHM9XCIxMTIuMDcsODMuMzYgMTEwLjk0LDc2LjI3IDExNy42NSw3OC44NCBcIlxuICAgICAgICAgICAgIGlkPVwicG9seWdvbjI1XCJcbiAgICAgICAgICAgIHN0eWxlPXt7ZmlsbDpcIiM4NTBmNzhcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCJ9fVxuICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDIuOTgwNjI1OSwwLDAsMi45ODA2MjU5LC0yMjUuNDM3MjIsLTE1Ni40NTEyMylcIiAvPlxuICAgICAgICAgICAgPGEgIHR5cGVvZj1cImJ1dHRvblwiIGNsYXNzTmFtZT1cInN2Zy1idXR0b25cIiBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogXCJsZWFybmluZ1wiLCBjbGFzc1RvSGlkZTogXCJjeWNsZXRhYlwifSl9PlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xzLTEyXCJcbiAgICAgICAgICAgICAgZD1cIk0gMTE0LDc4LjU1IEMgMTIzLjQ1LDUwLjg2IDExMCwyMC43NSA4Mi42Niw4LjZcIlxuICAgICAgICAgICAgICBpZD1cInBhdGgyNVwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCIxNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2U6XCIjODUwZjc4XCIsc3Ryb2tlT3BhY2l0eTpcIjFcIn19IC8+IFxuICAgICAgICAgICBcbiAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICBzdHlsZT17e2ZvbnRTaXplOlwiMTcuMzMzM3B4XCIsbGluZUhlaWdodDpcIjBcIixmb250RmFtaWx5OlwiQXJpYWxcIixmaWxsOlwidmFyKC0tb2ZmYmxhY2spXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwibm9uZVwiLHN0cm9rZVdpZHRoOlwiMTVcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgICAgICBpZD1cInRleHQzMVwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNS42OTAyMTk0LC0wLjExNTUxODgzKVwiPjx0ZXh0UGF0aFxuICAgICAgICAgICAgIHhsaW5rSHJlZj1cIiNwYXRoMjVcIlxuICAgICAgICAgICAgICBpZD1cInRleHRQYXRoMzNcIj5MZWFybjx0c3BhblxuICAgICAgICAgIGlkPVwidHNwYW4zMVwiIC8+PC90ZXh0UGF0aD48L3RleHQ+ICA8L2E+XG4gICAgICAgPC9nPlxuICAgICAgIDxnXG4gICAgICAgICAgaWQ9XCJnMjdcIlxuICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOC4wMDE5Njk5LDIuODQxODIyMylcIj5cbiAgICAgICAgIDxwb2x5Z29uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtMTBcIlxuICAgICAgICAgICAgIHBvaW50cz1cIjYyLjUzLDcuMTIgNjMuNDcsMCA2OS4xNyw0LjM3IFwiXG4gICAgICAgICAgICBpZD1cInBvbHlnb24yM1wiXG4gICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDIuNzcxMjI2MywwLjU4MTQ3NTQ4LC0wLjU4MTQ3NTQ4LDIuNzcxMjI2MywtOTYuNTg3ODI4LC0zOS43NDgwNzEpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7ZmlsbDpcIiNhMGE3ZjNcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCJ9fVxuICAgICAgICAgICAgaW5rc2NhcGU6dHJhbnNmb3JtLWNlbnRlci14PVwiMy42MTczNzUxXCJcbiAgICAgICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteT1cIjUuMTk3ODg1MlwiIC8+XG4gICAgICAgICAgICA8YSAgdHlwZW9mPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwic3ZnLWJ1dHRvblwiIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcInRlc3RpbmdcIiwgY2xhc3NUb0hpZGU6IFwiY3ljbGV0YWJcIn0pfT5cbiAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtOVwiXG4gICAgICAgICAgICBkPVwiTSA3OC41OTkxMTEsNy41NDY4MjY0IEMgNDMuODIwMzQ2LC0yLjYxNzc1ODggMTMuOTU2NzQ2LDE0LjI4NjA0NiA0LjIxMDYyODEsNDYuMzY4NzQ5XCJcbiAgICAgICAgICAgIGlkPVwicGF0aDIzXCJcbiAgICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlOlwiI2EwYTdmM1wiLHN0cm9rZVdpZHRoOlwiMTVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIn19IC8+XG4gICAgICAgICA8dGV4dFxuICAgICAgICAgICAgXG4gICAgICAgICAgICBzdHlsZT17e2ZvbnRTaXplOlwiMTcuMzMzM3B4XCIsbGluZUhlaWdodDpcIjBcIixmb250RmFtaWx5OlwiQXJpYWxcIixmaWxsOlwidmFyKC0tb2ZmYmxhY2spXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwibm9uZVwiLHN0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZUxpbmVjYXA6XCJyb3VuZFwiLHN0cm9rZUxpbmVqb2luOlwicm91bmRcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICAgICAgIGlkPVwidGV4dDI4XCJcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjAzMDIzNTA2LC01Ljk2MDIzMzYpXCI+PHRleHRQYXRoXG4gICAgICAgICAgICB4bGlua0hyZWY9XCIjcGF0aDIzXCJcbiAgICAgICAgICAgICBpZD1cInRleHRQYXRoMjhcIj5UZXN0PC90ZXh0UGF0aD48L3RleHQ+IDwvYT5cbiAgICAgICA8L2c+XG4gICAgICAgPGdcbiAgICAgICAgICBpZD1cImcyOFwiXG4gICAgICAgICAgc3R5bGU9e3tzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCJ9fVxuICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4LjAwMTk2OTksMi44NDE4MjIzKVwiPlxuICAgICAgICAgPHBvbHlnb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImNscy0xM1wiXG4gICAgICAgICAgICBwb2ludHM9XCIxMTcuNjUsNzguODQgMTEyLjA3LDgzLjM2IDExMC45NCw3Ni4yNyBcIlxuICAgICAgICAgICAgIGlkPVwicG9seWdvbjI1LTZcIlxuICAgICAgICAgICAgc3R5bGU9e3tmaWxsOlwiI2Y1N2QyMlwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19XG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTIuOTY1MDMxNCwwLjMwNDQ5ODkzLC0wLjMwNDQ5ODkzLC0yLjk2NTAzMTQsMzY0Ljg0MDY3LDI0OS4yODI0OSlcIiAvPlxuICAgICAgICAgICAgPGEgIHR5cGVvZj1cImJ1dHRvblwiIGNsYXNzTmFtZT1cInN2Zy1idXR0b25cIiBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogXCJidWlsZGluZ1wiLCBjbGFzc1RvSGlkZTogXCJjeWNsZXRhYlwifSl9PlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtMTFcIlxuICAgICAgICAgICAgZD1cIk0gMi42NjU5NzUzLDUwLjk1MzUwNSBDIC0yLjA5NTY2OTQsNzIuNzI3OTE1IDEwLjkzNjg2NiwxMDIuOTQyNzMgMzYuNjU2MjM0LDExMy42MjgzNFwiXG4gICAgICAgICAgICAgaWQ9XCJwYXRoMjRcIlxuICAgICAgICAgICAgc3R5bGU9e3tzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZTpcIiNmNTdkMjJcIixzdHJva2VPcGFjaXR5OlwiMVwifX0gLz5cbiAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHN0eWxlPXt7Zm9udFNpemU6XCIxNy4zMzMzcHhcIixsaW5lSGVpZ2h0OlwiMFwiLGZvbnRGYW1pbHk6XCJBcmlhbFwiLGZpbGw6XCJ2YXIoLS1vZmZibGFjaylcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2U6XCJub25lXCIsc3Ryb2tlV2lkdGg6XCIxNVwiLHN0cm9rZUxpbmVjYXA6XCJyb3VuZFwiLHN0cm9rZUxpbmVqb2luOlwicm91bmRcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgICAgICAgIGlkPVwidGV4dDMyXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNS43MTEwMzE1LDEuNzQ1MzI0MylcIj48dGV4dFBhdGhcbiAgICAgICAgICAgICB4bGlua0hyZWY9XCIjcGF0aDI0XCJcbiAgICAgICAgICAgICAgaWQ9XCJ0ZXh0UGF0aDMyXCI+QnVpbGQ8dHNwYW5cbiAgICBpZD1cInRzcGFuMzJcIiAvPjwvdGV4dFBhdGg+PC90ZXh0PiA8L2E+XG4gICAgICAgPC9nPlxuICAgICAgIDxwb2x5Z29uXG4gICAgICAgICAgY2xhc3NOYW1lPVwiY2xzLThcIlxuICAgICAgICAgIHBvaW50cz1cIjM3LjIyLDExMy43NCA0NC4zLDExMi41NiA0MS43OCwxMTkuMjggXCJcbiAgICAgICAgICBpZD1cInBvbHlnb24yMlwiXG4gICAgICAgICAgc3R5bGU9e3tzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsZmlsbDpcIiNmNGNjMWVcIixmaWxsT3BhY2l0eTpcIjFcIn19XG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDIuODI0ODU4OCwwLDAsMi44MjQ4NTg4LC02Ny43OTc3ODEsLTIwNy45Njk3NylcIiAvPlxuICAgICAgICAgIDxhICB0eXBlb2Y9XCJidXR0b25cIiBjbGFzc05hbWU9XCJzdmctYnV0dG9uXCIgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwiZGVzaWduaW5nXCIsIGNsYXNzVG9IaWRlOiBcImN5Y2xldGFiXCJ9KX0+XG4gICAgICAgPHRleHRcbiAgICAgICAgICBcbiAgICAgICAgICBzdHlsZT17e2ZvbnRTaXplOlwiMTcuMzMzM3B4XCIsbGluZUhlaWdodDpcIjBcIixmb250RmFtaWx5OlwiQXJpYWxcIixmaWxsOlwidmFyKC0tb2ZmYmxhY2spXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwibm9uZVwiLHN0cm9rZVdpZHRoOlwiMTVcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgICAgaWQ9XCJ0ZXh0MjlcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4LjQwNTI5MjEsOC44NTUzMzM0KVwiPjx0ZXh0UGF0aFxuICAgICAgICAgIHhsaW5rSHJlZj1cIiNwYXRoMjJcIlxuICAgICAgICAgIGlkPVwidGV4dFBhdGgzNFwiPkRlc2lnbjx0c3BhblxuICAgICAgICAgIGlkPVwidHNwYW4yOVwiIC8+PC90ZXh0UGF0aD48L3RleHQ+IDwvYT5cbiAgICAgPC9nPlxuICAgPC9nPlxuICAgPGEgIHR5cGVvZj1cImJ1dHRvblwiIGNsYXNzTmFtZT1cInN2Zy1idXR0b25cIiBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogXCJvdmVydmlld1wiLCBjbGFzc1RvSGlkZTogXCJjeWNsZXRhYlwifSl9PlxuICAgPGNpcmNsZVxuICAgICBzdHlsZT17e29wYWNpdHk6XCIwLjg1XCIsZmlsbDpcIiNlMmRhZDdcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlTGluZWNhcDpcInJvdW5kXCIsc3Ryb2tlTGluZWpvaW46XCJyb3VuZFwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICBpZD1cInBhdGgxXCJcbiAgICAgY3g9XCI2Ny45MTYyMTRcIlxuICAgICBjeT1cIjYzLjIxNDAwNVwiXG4gICAgIHI9XCIyMFwiIC8+XG4gIDx0ZXh0XG4gICAgIHN0eWxlPXt7Zm9udFNpemU6XCI4cHhcIixsaW5lSGVpZ2h0OlwiMFwiLGZvbnRGYW1pbHk6XCJBcmlhbFwiLG9wYWNpdHk6XCIwLjg1XCIsZmlsbDpcInZhcigtLW9mZmJsYWNrKVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZVdpZHRoOlwiMTVcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICB4PVwiNTAuOTI5ODI1XCJcbiAgICAgeT1cIjY2LjY3NjY3NFwiXG4gICAgIGlkPVwidGV4dDFcIj5cbiAgICAgIDx0c3BhblxuICAgICAgIGlkPVwidHNwYW4xXCJcbiAgICAgICB4PVwiNTAuOTI5ODI1XCJcbiAgICAgICB5PVwiNjYuNjc2Njc0XCJcbiAgICAgICBzdHlsZT17e2ZvbnRTaXplOlwiOHB4XCJ9fT5PdmVydmlldzwvdHNwYW4+PC90ZXh0PiBcbiAgICAgICA8L2E+XG5cbiA8L3N2Zz5cbiBcbiAgICApXG4gfVxuXG5cbiIsICJcbmltcG9ydCB7IEgyIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gRXhwZXJpbWVudHMoKSB7XG4gIHVzZVRhYk5hdmlnYXRpb24oKTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPEgyIGlkPVwiaGVhZGluZ1wiIHRleHQ9XCJIZWFkaW5nXCIgPjwvSDI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtdC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLWxnLThcIj5cbiAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvPlxuICApO1xufVxuIiwgIlxuXG5pbXBvcnQgeyBEb3dubG9hZEltYWdlQnV0dG9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQnV0dG9uc1wiO1xuaW1wb3J0IEgyIGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyB1c2VUYWJOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzL1RhYk5hdmlnYXRpb25cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIE5vdGVib29rKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxIMiB0ZXh0PVwiTGFiIEpvdXJuYWxzIGFuZCBQcm90b2NvbCBjb2xsZWN0aW9uXCIvPiBcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZW5nLWJveCBib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cD5IZXJlIHlvdSBjYW4gaGF2ZSBhIGRldGFpbGVkIGxvb2sgYXQgb3VyIGxhYiB3b3JrIC0ganVzdCBrbGljayB0aGUgZnJvbnQgcGFnZXMgb2YgdGhlIExhYiBKb3VybmFscyBhbmQgUHJvdG9jb2wgQ29sbGVjdGlvbiB0byBkb3dubG9hZCB0aGVtISBcbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgPHA+PC9wPiAgICAgICAgICAgIFxuICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgPERvd25sb2FkSW1hZ2VCdXR0b24gdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9sYWJvcmF0b3J5LW5vdGVib29rLTEtcHJvb2Ytb2YtY29uY2VwdC1mb3ItcGUucGRmXCIgZmlsZU5hbWU9XCJsYWJvcmF0b3J5LW5vdGVib29rLTEtcHJvb2Ytb2YtY29uY2VwdC1mb3ItcGUucGRmXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhYi1qb3VybmFscy90aXRlbHNlaXRlLWxhYi1ib29rLTEtcHJvb2Ytb2YtY29uY2VwdC1wZS53ZWJwXCIgc3R5bGU9e3toZWlnaHQ6IFwiNzUlXCIsIHdpZHRoOiBcImF1dG9cIn19Lz5cbiAgICAgICAgICA8L0Rvd25sb2FkSW1hZ2VCdXR0b24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxEb3dubG9hZEltYWdlQnV0dG9uIHVybD1cIlwiIGZpbGVOYW1lPVwiXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhYi1qb3VybmFscy90aXRlbHNlaXRlLWxhYi1ib29rLTItZW5naW5lZXJpbmctcGUud2VicFwiIHN0eWxlPXt7aGVpZ2h0OiBcIjc1JVwiLCB3aWR0aDogXCJhdXRvXCJ9fS8+XG4gICAgICAgICAgICA8L0Rvd25sb2FkSW1hZ2VCdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPERvd25sb2FkSW1hZ2VCdXR0b24gdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9sYWItYm9vay0zLXByaW1hcnktY3VsdHVyZXMucGRmXCIgZmlsZU5hbWU9XCJsYWItYm9vay0zLXByaW1hcnktY3VsdHVyZXMucGRmXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhYi1qb3VybmFscy90aXRlbHNlaXRlLWxhYi1ib29rLTMtcHJpbWFyeS1jZWxsLWN1bHR1cmUud2VicFwiIHN0eWxlPXt7aGVpZ2h0OiBcIjc1JVwiLCB3aWR0aDogXCJhdXRvXCJ9fS8+XG4gICAgICAgICAgICA8L0Rvd25sb2FkSW1hZ2VCdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8RG93bmxvYWRJbWFnZUJ1dHRvbiB1cmw9XCJcIiBmaWxlTmFtZT1cIlwiPlxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYWItam91cm5hbHMvdGl0ZWxzZWl0ZS1sYWItYm9vay00LWxucC53ZWJwXCIgc3R5bGU9e3toZWlnaHQ6IFwiNzUlXCIsIHdpZHRoOiBcImF1dG9cIn19Lz5cbiAgICAgICAgICAgIDwvRG93bmxvYWRJbWFnZUJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cnPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8RG93bmxvYWRJbWFnZUJ1dHRvbiB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL2xhYi1ib29rLTUtZG93bnN0cmVhbS1leHBlcmltZW50cy5wZGZcIiBmaWxlTmFtZT1cImxhYi1ib29rLTUtZG93bnN0cmVhbS1leHBlcmltZW50cy5wZGZcIj5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFiLWpvdXJuYWxzL3RpdGVsc2VpdGUtbGFiLWJvb2stNS1kb3duc3RyZWFtLndlYnBcIiBzdHlsZT17e2hlaWdodDogXCI3NSVcIiwgd2lkdGg6IFwiYXV0b1wifX0vPlxuICAgICAgICAgICAgPC9Eb3dubG9hZEltYWdlQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPERvd25sb2FkSW1hZ2VCdXR0b24gdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9wcm90b2NvbC1jb2xsZWN0aW9uLWlnZW0tMjAyNC5wZGZcIiBmaWxlTmFtZT1cInByb3RvY29sLWNvbGxlY3Rpb24taWdlbS0yMDI0LnBkZlwiPlxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYWItam91cm5hbHMvdGl0ZWxzZWl0ZS1sYWItYm9vay1zb3Aud2VicFwiIHN0eWxlPXt7aGVpZ2h0OiBcIjc1JVwiLCB3aWR0aDogXCJhdXRvXCJ9fS8+XG4gICAgICAgICAgICA8L0Rvd25sb2FkSW1hZ2VCdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgKTtcbn1cbiIsICJcbmltcG9ydCB7ICBINCB9IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyBMb3JlbU1lZGl1bSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0xvcmVtaXBzdW1cIjtcbmltcG9ydCB7IFNlY3Rpb24sIFN1YmVzY3Rpb24gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBINSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBEb3dubG9hZExpbmsgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFJlc3VsdHMoKSB7XG4gIHVzZVRhYk5hdmlnYXRpb24oKTtcbiAgY29uc3Qge2dvVG9QYWdlc0FuZE9wZW5UYWJ9ID0gdXNlTmF2aWdhdGlvbiAoKTtcbiAgY29uc3Qge2dvVG9QYWdlQW5kU2Nyb2xsfSA9IHVzZU5hdmlnYXRpb24oKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8U2VjdGlvbiB0aXRsZT1cIkFic3RyYWN0XCIgaWQ9XCJBYnN0cmFjdFwiPlxuICAgICAgICAgPExvcmVtTWVkaXVtLz5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICAgIDxTZWN0aW9uIHRpdGxlPVwiRXhwZXJpbWVudGFsIERlc2lnblwiIGlkPVwiRXhwRGVzXCI+XG4gICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIlByb29mIG9mIENvbmNlcHRcIiBpZD1cIlJlc3VsdHMxXCI+XG4gICAgICA8aDQ+YWNjLiB0byBEYXZpZCBMaXUgKEFuemFsb25lIGV0IGFsLiAyMDE5KTwvaDQ+XG4gICAgICAgICAgPEg0IHRleHQ9XCJHb2Fsc1wiLz5cbiAgICAgICAgICA8cD50ZXh0PC9wPiBcbiAgICAgICAgICA8SDQgdGV4dD1cIldvcmtmbG93XCIvPlxuICAgICAgICAgIDxwPnRleHQ8L3A+IFxuICAgICAgICAgIDxINCB0ZXh0PVwiQ29uY2x1c2lvblwiLz5cbiAgICAgICAgICA8cD50ZXh0PC9wPiBcbiAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiTWVjaGFuaXNtXCIgaWQ9XCJSZXN1bHRzMlwiPlxuICAgICAgICAgIDxINCB0ZXh0PVwiR29hbHNcIi8+XG4gICAgICAgICAgPHA+dGV4dDwvcD4gXG4gICAgICAgICAgPEg0IHRleHQ9XCJXb3JrZmxvd1wiLz5cbiAgICAgICAgICA8cD50ZXh0PC9wPiBcbiAgICAgICAgICA8SDQgdGV4dD1cIkNvbmNsdXNpb25cIi8+XG4gICAgICAgICAgPHA+dGV4dDwvcD4gXG4gICAgICA8L1N1YmVzY3Rpb24gPlxuICAgICAgPFN1YmVzY3Rpb24gIHRpdGxlPVwiRGVsaXZlcnlcIiBpZD1cIlJlc3VsdHMzXCI+XG4gICAgICA8SDQgdGV4dD1cIlJOQSBTeW50aGVzaXNcIi8+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9yZXN1bHRzL3JuYS1nZWwtZmluYWwucG5nXCIvPlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDxiPkZpZ3VyZSAxLiA8L2I+XG4gICAgICAgICAgICAgIEdlbCBvZiBEZW5hdHVyaW5nIFJOQSBHZWwgRWxlY3Ryb3Bob3Jlc2lzIGZvciBtUk5BIHN5bnRoZXNpemVkIGZyb20gcGNETkEgMy4xIGVZRlAgaW5kaWNhdGluZyBzdWNjZXNzZnVsIFJOQSBzeW50aGVzaXMuIExhbmUgMTogTG93IFJhbmdlIFJpYm8gUnVsZXIsIExhbmUgMjogRkx1YyBDb250cm9sIFRlbXBsYXRlLCBMYW5lIDM6IE5lZ2F0aXZlIENvbnRyb2wsIExhbmUgNC05IG1STkEgZnJvbSBwY0ROQSAzLjEgZVlGUC5cbiAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgPHA+V2UgYmVnYW4gYnkgc3ludGhlc2l6aW5nIG1STkEgPGk+aW4gdml0cm88L2k+IHVzaW5nIGEgcGxhc21pZCB3aXRoIGEgZVlGUCByZXBvcnRlciBmcm9tIEFkZGdlbmUgKHBjRE5BIDMuMSBlWUZQKSBiZWZvcmUgcHJvY2VlZGluZyB3aXRoIHRoZSBzeW50aGVzaXMgb2Ygb3VyIGFwcHJveGltYXRlbHkgNjAwMCBicCBwcmltZSBlZGl0aW5nIFJOQS4gVGhpcyB3YXMgZG9uZSB0byB0ZXN0IHRoZSB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSBhbmQgY29tcGF0aWJpbGl0eSBvZiBvdXIgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykuIFRoZSBzeW50aGVzaXMgd2FzIHN1Y2Nlc3NmdWwsIHlpZWxkaW5nIGFuIGF2ZXJhZ2Ugb2YgMTQwMCBuZy9cdTAwQjVsIG9mIHB1cmlmaWVkIG1STkEgZnJvbSAxIFx1MDBCNWcgb2YgcGxhc21pZCBETkEgZGV0ZXJtaW5lZCBieSBOYW5vZHJvcCBtZWFzdXJlbWVudCAoZGF0YSBub3Qgc2hvd24pLiBUaGUgc2l6ZSBhbmQgaW50ZWdyaXR5IG9mIHRoZSBzeW50aGVzaXplZCBSTkEgd2VyZSBjb25maXJtZWQgdXNpbmcgYSBkZW5hdHVyaW5nIFJOQSBnZWwsIHdoZXJlIHdlIGV4cGVjdGVkIHRvIHNlZSBhIHByb2R1Y3Qgb2YgOTAwIG51Y2xlb3RpZGVzLiBBcyBhbnRpY2lwYXRlZCwgYSBzdHJvbmcgYW5kIHByb21pbmVudCBiYW5kIGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBzaXplIHdhcyBvYnNlcnZlZCAoRmlndXJlIFgpLiBUaGlzIG1STkEgd2FzIHN1YnNlcXVlbnRseSB1c2VkIGluIGZ1cnRoZXIgTE5QIGZvcm11bGF0aW9ucyB3aXRoIFJOQS48L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8SDQgdGV4dD1cIkNheW1hbiBMTlBcIi8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8cD5OZXh0LCB3ZSBmb3JtdWxhdGVkIHRoZSBMTlBzIHVzaW5nIHRoZSBDYXltYW4gTGlwaWRMYXVuY2hcdTIxMjIgTE5QLTEwMiBFeHBsb3JhdGlvbiBLaXQgYWZ0ZXIgdGhlIG1hbnVmYWN0dXJlcnMgcHJvdG9jb2wuIFRoZSBpbml0aWFsIGFzc2VtYmx5IGF0dGVtcHQgd2FzIHVuc3VjY2Vzc2Z1bCwgYXMgbm8gY2xvdWR5LCBibHVpc2ggc29sdXRpb24gZm9ybWVkIGFmdGVyIG1peGluZyB0aGUgbGlwaWRzLiBBZGRpdGlvbmFsbHksIHRyYW5zZmVjdGlvbiBvZiBIRUsyOTMgY2VsbHMgd2l0aCBMTlBzIGNvbnRhaW5pbmcgbnVjbGVpYyBhY2lkcyBkaWQgbm90IHByb2R1Y2UgYW55IGZsdW9yZXNjZW5jZS4gQWZ0ZXIgY29uc3VsdGluZyB3aXRoIGV4cGVydCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdyYWR1a2ljJywgJy9odW1hbi1wcmFjdGljZXMnKX0+RHIuIE1hcmNvIFJhZHVraWM8L2E+IGFuZCBhZGp1c3Rpbmcgb3VyIExOUCBmb3JtdWxhdGlvbiBhbmQgdHJhbnNmZWN0aW9uIHByb3RvY29scywgc3BlY2lmaWNhbGx5IGJ5IHByZS1hY2lkaWZ5aW5nIHRoZSBPcHRpTUVNIG1lZGl1bSwgd2Ugd2VyZSBhYmxlIHRvIHN1Y2Nlc3NmdWxseSBhc3NlbWJsZSBhbmQgdHJhbnNmZWN0IHRoZSBMTlBzLiBXZSBhbHNvIGdvdCBmcm9tIGhpbSBNaW5pY2lyY2xlIEROQSBmcm9tIDxhIGhyZWY9XCJodHRwczovL3d3dy5wbGFzbWlkZmFjdG9yeS5jb20vY3VzdG9tLWRuYS9taW5pY2lyY2xlLWRuYS9cIiB0aXRsZT1cIlBsYXNtaWRGYWN0b3J5XCIgPlBsYXNtaWRGYWN0b3J5PC9hPiBhcyBhIHNtYWxsIHBsYXNtaWQgY2FycnlpbmcgYW4gZVlGUCBnZW5lIGFuZCBlYXN5IHRvIHRyYW5zZm9ybSwgYnkgdGhhdCBzZXJ2aW5nIGFzIGEgcG9zaXRpdmUgY29udHJvbCBpbiBvdXIgZXhwZXJpbWVudHMuIFVwb24gcGlwZXR0aW5nIHRoZSBjb21wb25lbnRzIHRvZ2V0aGVyLCB0aGUgc29sdXRpb24gaW1tZWRpYXRlbHkgdHVybmVkIGNsb3VkeSBhbmQgYmx1aXNoLCBpbmRpY2F0aW5nIHN1Y2Nlc3NmdWwgTE5QIGZvcm1hdGlvbiAoRmlndXJlIFgpLjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L3Jlc3VsdHMvY2F5bWFubG5wYmx1ZS53ZWJwXCIvPlxuICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSBYLiA8L2I+XG4gICAgICAgICAgICAgICAgICBDYXltYW4gTE5QIEZvcm1hdGlvbiBpbmRpY2F0ZWQgYnkgYmx1ZSBjb2xvciBhbmQgdHVyYmlkaXR5LiBNaW5pIEROQSA9IE1pbmljaXJjbGUgRE5BIGZyb20gUGxhc21pZEZhY3RvcnkuXG4gICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPEg1IHRleHQ9XCJUcmFuc2ZlY3Rpb25cIi8+XG4gICAgICAgICAgICA8cD5UbyBldmFsdWF0ZSB0aGUgZWZmaWNpZW5jeSBvZiB0cmFuc2ZlY3Rpb24sIGZsdW9yZXNjZW5jZSBtaWNyb3Njb3B5IChMZWljYSBETUk2MDAwIEIgYXQgMjB4IG1hZ25pZmljYXRpb24pIHdhcyBwZXJmb3JtZWQgb24gSEVLMjkzIGNlbGxzIHRyYW5zZmVjdGVkIHdpdGggTE5QLWZvcm11bGF0ZWQgRE5BIGFuZCBtUk5BIG9mIHBjRE5BIDMuMSBlWUZQLCBNaW5pY2lyY2xlIEROQSBhcyB0ZWNobmljYWwgcG9zaXRpdmUgY29udHJvbCBhbmQgTE5QIHdpdGhvdXQgY2FyZ28uPC9wPlxuICAgICAgICAgICAgPHA+MjQgaCwgNDggaCBhbmQgNzIgaCBwb3N0LXRyYW5zZmVjdGlvbiwgd2Ugb2JzZXJ2ZWQgaW4gdGhlIGNvbmRpdGlvbnMgd2l0aCBMaXBvZmVjdGFtaW5lIGFsb25lLCBvciBjb21iaW5lZCB3aXRoIEROQSBvciBSTkEsIG5vIGZsdW9yZXNjZW5jZSwgaW5kaWNhdGluZyB1bnN1Y2Nlc3NmdWwgdHJhbnNmZWN0aW9uLiBTaW1pbGFybHksIG5vIGZsdW9yZXNjZW5jZSB3YXMgc2VlbiBpbiBjZWxscyB0cmVhdGVkIHdpdGggTE5QcyBhbG9uZSBvciBpbiBjb21iaW5hdGlvbiB3aXRoIEROQSBvciBSTkEuIFdoZW4gTE5QcyB3ZXJlIGNvbWJpbmVkIHdpdGggTWluaWNpcmNsZSBETkEsIGNsZWFyIGZsdW9yZXNjZW5jZSB3YXMgb2JzZXJ2ZWQsIGluZGljYXRpbmcgc3VjY2Vzc2Z1bCB0cmFuc2ZlY3Rpb24gYW5kIGV4cHJlc3Npb24gb2Ygb3VyIGVZRlAgcmVwb3J0ZXIgdW5kZXIgdGhpcyBjb25kaXRpb24gKGZpZ3VyZSBYKS4gSG93ZXZlciwgYSBzdHJvbmcgYmFja2dyb3VuZCBmbHVvcmVzY2VuY2UgZnJvbSB0aGUgT3B0aU1FTSBtZWRpdW0gd2FzIG9ic2VydmVkLCBjb21wbGljYXRpbmcgdGhlIGFuYWx5c2lzLjwvcD5cbiAgICAgICAgICAgIDxwPk92ZXJhbGwsIGFtb25nIGFsbCB0aGUgdGVzdGVkIGNvbmRpdGlvbnMsIHRoZSBMTlAgZm9ybXVsYXRpb24gd2l0aCBNaW5pY2lyY2xlIEROQSB3YXMgdGhlIG9ubHkgY29tYmluYXRpb24gdGhhdCByZXN1bHRlZCBpbiBub3RpY2VhYmxlIGZsdW9yZXNjZW5jZSwgc3VnZ2VzdGluZyBpdCB0byBiZSB0aGUgbW9zdCBlZmZlY3RpdmUgdHJhbnNmZWN0aW9uIG1ldGhvZCBmb3IgSEVLMjkzIGNlbGxzIGluIHRoaXMgZXhwZXJpbWVudC48L3A+XG4gICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICA8aW1nIHNyYz1cIkluc2VydCBVUkwgaGVyZVwiLz5cbiAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgPGI+RmlndXJlIFguIDwvYj5cbiAgICAgICAgICAgICAgICBGaWd1cmUgWCBGbHVvcmVzY2VuY2UgbWljcm9zY29waWMgaW1hZ2VzIG9mIHRyYW5zZmVjdGVkIEhFSzI5MyBjZWxscyBhdCAyMHggbWFnbmlmaWNhdGlvbiBhZnRlciA3MiBoIHBvc3QtdHJhbnNmZWN0aW9uIHdpdGggZGlmZmVyZW50IENheW1hbiBMTlAgZm9ybXVsYXRpb25zIHJlY29yZGVkIHdpdGggTGVpY2EgRE1JNjAwMCBCLlxuICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICA8SDUgdGV4dD1cIlNFTVwiLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxwPlNjYW5uaW5nIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFNFTSkgKFBoZW5vbSBQcm9YLCBUaGVybW8gRmlzaGVyKSB3YXMgZW1wbG95ZWQgdG8gZXhhbWluZSB0aGUgbW9ycGhvbG9neSBhbmQgc3VyZmFjZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgQ2F5bWFuIExOUHMuIFRoZSBTRU0gaW1hZ2VzIHJldmVhbGVkIHRoYXQgdGhlIExOUHMgZGlzcGxheWVkIGEgZ2VuZXJhbGx5IHNwaGVyaWNhbCBtb3JwaG9sb2d5IHdpdGggYSByZWxhdGl2ZWx5IHNtb290aCBzdXJmYWNlIChGaWd1cmUgWCkuIFRoZSBhdmVyYWdlIHBhcnRpY2xlIHNpemUgd2FzIGFwcHJveGltYXRlbHkgMjAwIG5tLiBIb3dldmVyLCBhIGhldGVyb2dlbmVvdXMgZGlzdHJpYnV0aW9uIG9mIHBhcnRpY2xlIHNpemVzIHdhcyBvYnNlcnZlZCwgd2l0aCBzb21lIGxhcmdlciwgcm91bmQgc3RydWN0dXJlcyBwcmVzZW50LiBUaGVzZSBsYXJnZXIgc3RydWN0dXJlcyBjb3VsZCBwb3RlbnRpYWxseSBpbmRpY2F0ZSBhZ2dyZWdhdGVkIExOUHMuPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvcmVzdWx0cy9zY3JlZW5zaG90LTIwMjQtMTAtMDEtMjAwNjI5LnBuZ1wiIGFsdD1cIkNheVJFTVwiIHN0eWxlPXt7bWF4SGVpZ2h0OiBcIjIwMHB0XCJ9fS8+IFxuICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIFguPC9iPlxuICAgICAgICAgICAgICAgICAgU0VNIGltYWdlIG9mIENheW1hbiBMTlBzICgxMCwwMDB4IG1hZ25pZmljYXRpb24pIHdpdGggVG9wb2dyYXBoeSBtb2RlLiAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHA+V2hpbGUgbWFueSBwYXJ0aWNsZXMgcmV0YWluZWQgdGhlaXIgc3RydWN0dXJhbCBpbnRlZ3JpdHksIHRoZSBwcmVzZW5jZSBvZiB0aGVzZSBhZ2dyZWdhdGVzIHN1Z2dlc3RzIHRoYXQsIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucywgdGhlIExOUHMgbWF5IHRlbmQgdG8gY2x1c3Rlci4gSXQgaXMgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCBmb3IgU0VNIGFuYWx5c2lzLCB0aGUgc2FtcGxlcyB3ZXJlIGRyaWVkIGFuZCBvYnNlcnZlZCB1bmRlciB2YWN1dW0sIHdoaWNoIHByb2JhYmx5IGhhdmUgYWZmZWN0ZWQgdGhlIHN0cnVjdHVyZSBhbmQgc2hhcGUgb2YgdGhlIExOUHMuIFRoaXMgcHJlcGFyYXRpb24gcHJvY2VzcyBjYW4gaW50cm9kdWNlIGFydGlmYWN0cyB0aGF0IHdvdWxkIG5vdCB0eXBpY2FsbHkgYmUgcHJlc2VudCBpbiBzb2x1dGlvbiBhbmQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgd2hlbiBpbnRlcnByZXRpbmcgdGhlIHJlc3VsdHMuIEFkZGl0aW9uYWxseSwgdGhlIGNvbnRyYXN0IHVuZGVyIHZhY3V1bSBjb25kaXRpb25zIHdhcyB0b28gbG93IHRvIHJlbGlhYmx5IGRpc3Rpbmd1aXNoIHRoZSBMTlBzIHdpdGggc3VmZmljaWVudCBkZXRhaWwuIEl0IHByb3ZpZGVkIGEgdXNlZnVsIGluaXRpYWwgZ2xpbXBzZSBpbnRvIHRoZSB3b3JsZCBvZiBuYW5vcGFydGljbGVzLiBGdXJ0aGVyIGNvbXBsZW1lbnRhcnkgdGVjaG5pcXVlcyB3aWxsIGJlIG5lZWRlZCBmb3IgYSBtb3JlIGFjY3VyYXRlIGFuZCBkZXRhaWxlZCBjaGFyYWN0ZXJpemF0aW9uLjwvcD5cbiAgICAgICAgICA8SDQgdGV4dD1cIkNvcmRlbiBMTlBcIi8+XG4gICAgICAgICAgPEg1IHRleHQ9XCJUcmFuc2ZlY3Rpb25cIi8+XG4gICAgICAgICAgPHA+VGV4dCA6RDwvcD5cbiAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiSW5zZXJ0IFVSTCBoZXJlXCIvPlxuICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgWC48L2I+XG4gICAgICAgICAgICAgICAgRGVzY3JpcHRpb24gaGVyZVxuICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgPEg1IHRleHQ9XCJjcnlvLVRFTVwiLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiaW5zZXJ0IFVSTCBoZXJlXCIvPlxuICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgWC4gPC9iPlxuICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uIGhlcmVcbiAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxwPlRleHQgOkQ8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8SDQgdGV4dD1cIlNvcnQgTE5QXCIvPlxuICAgICAgICA8SDUgdGV4dD1cIlRyYW5zZmVjdGlvblwiLz5cbiAgICAgICAgICA8cD5UZXh0IDpEPC9wPlxuICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJJbnNlcnQgVVJMIGhlcmVcIi8+XG4gICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSBYLiA8L2I+XG4gICAgICAgICAgICAgICAgRGVzY3JpcHRpb24gaGVyZVxuICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgPEg1IHRleHQ9XCJGQUNTXCIvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxwPkZBQ1MgYW5hbHlzaXMgd2FzIHBlcmZvcm1lZCAzIGRheXMgcG9zdC10cmFuc2ZlY3Rpb24gdG8gZXZhbHVhdGUgdGhlIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5IG9mIHRoZSBTT1JUIExOUCBpbiBIRUsyOTMuIFRoZSByZWxhdGl2ZSBwZXJjZW50YWdlIG9mIGZsdW9yZXNjZW50IGNlbGxzIHdhcyBkZXRlcm1pbmVkIGJ5IG1lYXN1cmluZyB0aGUgcGVyY2VudGFnZSBvZiBGSVRDLUErIGNlbGxzLCBmb2xsb3dlZCBieSBtZWFuIGNhbGN1bGF0aW9uIGFuZCBTRU0sIG5vcm1hbGl6YXRpb24gdG8gdGhlIG5lZ2F0aXZlIGNvbnRyb2wgYW5kIGZvbGQgY2hhbmdlIGNhbGN1bGF0aW9uLjwvcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvcmVzdWx0cy9zb3J0bG5wLWZhY3MucG5nXCIgYWx0PVwiU09SVEZBQ1NcIiBzdHlsZT17e21heEhlaWdodDogXCIyMDBwdFwifX0vPiBcbiAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgPGI+RmlndXJlIFguIDwvYj5cbiAgICAgICAgICAgICAgICAgIEZBQ1MgYW5hbHlzaXMgd2FzIHBlcmZvcm1lZCA3MiBoIHBvc3QtdHJhbnNmZWN0aW9uIHRvIGV2YWx1YXRlIHRoZSB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSBvZiB0aGUgU09SVCBMTlAgaW4gSEVLMjkzLiBUaGUgcmVsYXRpdmUgcGVyY2VudGFnZSBvZiBmbHVvcmVzY2VudCBjZWxscyB3YXMgZGV0ZXJtaW5lZCBieSBtZWFzdXJpbmcgdGhlIHBlcmNlbnRhZ2Ugb2YgRklUQy1BKyBjZWxscywgZm9sbG93ZWQgYnkgbWVhbiBjYWxjdWxhdGlvbiBhbmQgU0VNLCBub3JtYWxpemF0aW9uIHRvIHRoZSBuZWdhdGl2ZSBjb250cm9sIGFuZCBmb2xkIGNoYW5nZSBjYWxjdWxhdGlvbi5cbiAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8cD5UaGUgU09SVCBMTlAtdHJhbnNmZWN0ZWQgc2FtcGxlIGNhcnJ5aW5nIE1pbmljaXJjbGUgRE5BIGV4aGliaXRlZCBhIHNpZ25pZmljYW50IGluY3JlYXNlIGluIGZsdW9yZXNjZW5jZSBjb21wYXJlZCB0byB0aGUgbGlwb2ZlY3RhbWluZSB0cmFuc2ZlY3Rpb24gb2YgTWluaWNpcmNsZSBETkEsIHdpdGggYXBwcm94aW1hdGVseSAxNCB0aW1lcyBtb3JlIGZsdW9yZXNjZW50IGNlbGxzIGNvbXBhcmVkIHRvIHRoZSBsaXBvZmVjdGFtaW5lLXRyYW5zZmVjdGVkIHNhbXBsZSAoRmlndXJlIGEpLiBUaGlzIHN1YnN0YW50aWFsIGRpZmZlcmVuY2UgaW5kaWNhdGVzIHRoYXQgdGhlIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5IHdpdGggTE5QcyBpcyBtYXJrZWRseSBoaWdoZXIgdGhhbiB3aXRoIGxpcG9mZWN0YW1pbmUsIGRlbW9uc3RyYXRpbmcgdGhlIHN1cGVyaW9yIHBlcmZvcm1hbmNlIG9mIG91ciBMTlAgZm9ybXVsYXRpb24gaW4gZGVsaXZlcmluZyBudWNsZWljIGFjaWRzIHRvIEhFSyBjZWxscy48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8SDUgdGV4dD1cIlpldGFwb3RlbnRpYWxcIi8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8cD5Cb3RoIHRoZSBwYXJ0aWNsZSBzaXplIGRpc3RyaWJ1dGlvbiBhbmQgdGhlIFpldGEgcG90ZW50aWFsIHdlcmUgbWVhc3VyZWQgdXNpbmcgdGhlIE5hbm90cmFjayBXYXZlIElJLiBXZSBjb3VsZCBhc3N1bWUgdGhhdCB0aGUgcGFydGljbGVzIGV4aGliaXQgYSBwb2xhcml6ZWQgWmV0YSBwb3RlbnRpYWwsIHdoaWNoIGlzIHN1ZmZpY2llbnQgdG8gcHJvdmlkZSBlbGVjdHJvc3RhdGljIHN0YWJpbGl6YXRpb24sIHRoZXJlYnkgcHJldmVudGluZyBhZ2dyZWdhdGlvbiBhbmQgbWFpbnRhaW5pbmcgcGFydGljbGUgc3RhYmlsaXR5LiBGb3IgZWZmZWN0aXZlIHRhcmdldGluZyBvZiBsdW5nIGNlbGxzIHdoaWNoIGhhdmUgbmVnYXRpdmVseSBjaGFyZ2VkIHN1cmZhY2VzLCBhIG5lZ2F0aXZlIHBvbGFyaXR5IGlzIGRlc2lyYWJsZSBtZWFuaW5nIHRoZSBMTlAgaXMgcG9zaXRpdmVseSBjaGFyZ2VkLCBzbyB0aGVyZSBjYW4gYmUgZWxlY3Ryb3N0YXRpYyBhdHRyYWN0aW9uIHRvIGx1bmcgZXBpdGhlbGlhbCBjZWxscy4gV2Ugd2VyZSBhYmxlIHRvIHNob3cgdGhhdCBvdXIgU09SVCBMTlAgaGFzIHRoZXNlIHByb3BlcnRpZXMgcmVnYXJkbGVzcyBvZiB0aGUgbG9hZC4gRnVydGhlcm1vcmUgd2UgY291bGQgPGEgaHJlZj1cImh0dHBzOi8vY2hlbS5saWJyZXRleHRzLm9yZy9Cb29rc2hlbHZlcy9BbmFseXRpY2FsX0NoZW1pc3RyeS9QaHlzaWNhbF9NZXRob2RzX2luX0NoZW1pc3RyeV9hbmRfTmFub19TY2llbmNlXyhCYXJyb24pLzAyJTNBX1BoeXNpY2FsX2FuZF9UaGVybWFsX0FuYWx5c2lzLzIuMDUlM0FfWmV0YV9Qb3RlbnRpYWxfQW5hbHlzaXNcIiB0aXRsZT1cIlN0YWJaZXRhXCIgPmRldGVybWluZSB0aGUgc3RhYmlsaXR5IHZpYSB0aGUgWmV0YSBwb3RlbnRpYWw8L2E+LiBJbiBkZXRhaWwgdGhlIG1lYW4gb2YgdGhlIFpldGEgcG90ZW50aWFsIGxheXMgYXQgMTYuMiBtViBmb3IgdGhlIFNPUlQgTE5QIHdpdGggTWluaWNpcmNsZSBETkEgYXMgY2FyZ28sIGluZGljYXRpbmcgaW5jaXBpZW50IHN0YWJpbGl0eSwgYXQgNTkuNDUgbVYgZm9yIHRoZSBTT1JUIExOUCB3aXRoIHBjRE5BIDMuMSBlWUZQIGFzIGNhcmdvLCBpbmRpY2F0aW5nIGdvb2Qgc3RhYmlsaXR5IGFuZCBhdCA4OC4yMiBtViBmb3IgdGhlIFNPUlQgTE5QIHdpdGhvdXQgY2FyZ28gaW5kaWNhdGluZyBleGNlbGxlbnQgc3RhYmlsaXR5IChGaWd1cmUgeikuIFRoZSBnb29kIHN0YWJpbGl0eSBvZiB0aGUgU09SVCBMTlAgd2l0aCBwY0ROQSAzLjEgZVlGUCBpcyBjcnVjaWFsIGZvciBvdXIgcHVycG9zZXMsIGFzIGl0IGVuc3VyZXMgZWZmZWN0aXZlIGRlbGl2ZXJ5IGFuZCBwZXJmb3JtYW5jZS4gSW4gY29udHJhc3QsIHRoZSBzdGFiaWxpdHkgb2YgdGhlIExOUHMgd2l0aCBNaW5pY2lyY2xlIEROQSBjYW4gYmUgY29uc2lkZXJlZCBzZWNvbmRhcnksIGFzIGl0IHByaW1hcmlseSBzZXJ2ZXMgYXMgYSBwb3NpdGl2ZSB0cmFuc2ZlY3Rpb24gY29udHJvbCBhbmQgaXMgbm90IGNlbnRyYWwgdG8gb3VyIG1haW4gb2JqZWN0aXZlcy48L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L3Jlc3VsdHMvc29ydC16ZXRhLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIFguIDwvYj5cbiAgICAgICAgICAgICAgICAgICAgWmV0YSBwb3RlbnRpYWwgb2YgU09SVCBMTlAgd2l0aCBkaWZmZXJlbnQgY2FyZ29zIG1lYXN1cmVkIHdpdGggTmFub3RyYWNrIFdhdmUgSUkgaW5kaWNhdGluZyB2YXJ5aW5nIGRlZ3JlZXMgb2Ygc3RhYmlsaXR5IGJ1dCBtb3N0IGltcG9ydGFudCBnb29kIHN0YWJpbGl0eSBmb3IgdGhlIFNPUlQgTE5QIGxvYWRlZCB3aXRoIHBjRE5BIDMuMSBlWUZQIChMTlAgRE5BKS4gTWVhbiArLy0gU0VNIGZvciBuPTUuIEZvciBzdGF0aXN0aWNzIG9uZS13YXkgQU5PVkEgd2FzIHBlcmZvcm1lZC4gICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9yZXN1bHRzL3NjcmVlbnNob3QtMjAyNC0xMC0wMS0yMDQ5MzgucG5nXCIvPlxuICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgWC4gPC9iPlxuICAgICAgICAgICAgICAgIFNpemUgZGlzdHJpYnV0aW9uIGZvciB0aGUgU09SVCBMTlAgd2l0aCBkaWZmZXJlbnQgY2FyZ29zIHdlaWdodGVkIGJ5IHNjYXR0ZXJpbmcgaW50ZW5zaXR5IG1lYXN1cmVkIHdpdGggTmFub3RyYWNrIFdhdmUgSUkuXG4gICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8cD5UaGUgc2l6ZSBkaXN0cmlidXRpb24gZm9yIGFsbCB0aHJlZSBzYW1wbGVzIHNob3dzIGEgcHJlZG9taW5hbnRseSBtb25vbW9kYWwsIHlldCBicm9hZCwgZGlzdHJpYnV0aW9uIHdpdGggZGlhbWV0ZXJzIHJhbmdpbmcgYmV0d2VlbiA1MCBubSBhbmQgNzAwIG5tLCB3aXRoIHRoZSBwZWFrIG9mIHRoZSBkaXN0cmlidXRpb24gbHlpbmcgYmV0d2VlbiAxNTAgbm0gYW5kIDIwMCBubSAoRmlndXJlIGQpLiBTT1JUIExOUHMgd2l0aG91dCBETkEgZXhoaWJpdGVkIGxhcmdlciByYWRpaSwgd2l0aCBhIHBlYWsgYXJvdW5kIDMwMCBubS4gVGhlIFNPUlQgTE5QIGNvbnRhaW5pbmcgTWluaWNpcmNsZSBETkEgc3VnZ2VzdHMgdGhlIHByZXNlbmNlIG9mIGxhcmdlciBhZ2dyZWdhdGVzIHdpdGggZGlhbWV0ZXJzIGV4Y2VlZGluZyAxIFx1MDBCNW0uIFRoZSBsaWtlbHkgcmVhc29uIGZvciB0aGlzIHZhcmlhYmxlIHBhcnRpY2xlIHNpemUgZGlzdHJpYnV0aW9uLCBkZXNwaXRlIGxvYWRpbmcgd2l0aCBkaWZmZXJlbnQgdHlwZXMgb2YgRE5BLCBjb3VsZCBiZSBhdHRyaWJ1dGVkIHRvIHRoZSBtYW51ZmFjdHVyaW5nIG1ldGhvZC4gU2luY2UgdGhlIExOUHMgd2VyZSBub3QgcHJvZHVjZWQgdXNpbmcgYW4gZXh0cnVkZXIgYnV0IHJhdGhlciB2aWEgZGlhbHlzaXMsIHRoaXMgaXMgaGlnaGx5IHBsYXVzaWJsZS48L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPEg1IHRleHQ9XCJEeW5hbWljIExpZ2h0IFNjYXR0ZXJpbmcgKERMUylcIi8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJpbnNlcnQgVVJMIGhlcmVcIi8+XG4gICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIFguIDwvYj5cbiAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24gaGVyZVxuICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8cD5UZXh0IDpEPC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxINSB0ZXh0PVwiY3J5by1URU1cIi8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgPHA+VGV4dCA6RDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImluc2VydCBVUkwgaGVyZVwiLz5cbiAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgWC48L2I+XG4gICAgICAgICAgICAgICAgICAgICAgRGVzY3JpcHRpb24gaGVyZVxuICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPEg1IHRleHQ9XCJNVFQgQXNzYXlcIi8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Zhbnpvci9zb3J0LW10dC53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgWC48L2I+XG4gICAgICAgICAgICAgICAgICBNVFQgQXNzYXkgb2YgTE5QcyBmcm9tIGFsbCBpdGVyYXRpb25zIHBlcmZvcm1lZCBvbiBIRUsyOTMgaW5jbHVkaW5nIFRyaXRvbiBhcyBuZWdhdGl2ZSBjb250cm9sIGFuZCB1bnRyZWF0ZWQgY2VsbHMgYXMgcG9zaXRpdmUgY29udHJvbC4gTWVhbiArLy0gU0VNIGZvciBuPTYuIEZvciBzdGF0aXN0aWNzIG9uZS13YXkgQU5PVkEgd2FzIHBlcmZvcm1lZC4gICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIHsvKiA8cD5JbiBvcmRlciB0byBldmFsdWF0ZSB0aGUgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdCaW9zYWZldHkyJywgJy9zYWZldHknKX0+Ymlvc2FmZXR5PC9hPiBvZiBvdXIgbHVuZy1zcGVjaWZpYyBMTlBzLCBwYXJ0aWN1bGFybHkgY29uY2VybmluZyB0aGUgY2hvaWNlIG9mIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoe2NvbGxhcHNlSWQ6ICdDb2wxJywgcGF0aDogJy9lbmdpbmVlcmluZycsIHRhYklkOiAnZGVsaXZlcnknIH0pfT5QRUc8L2E+IC0ga25vd24gdG8gY2F1c2UgY3l0b3RveGljaXR5IGlzc3VlcyAtIHdlIHBlcmZvcm1lZCBNVFQgYXNzYXlzIHVzaW5nIEhFSzI5MyBjZWxscyB3aXRoIHZhcmlvdXMgTE5QIGZvcm11bGF0aW9ucy4gVGhlIHJlc3VsdHMgZGVtb25zdHJhdGVkIHRoYXQgdGhlIENheW1hbiBMTlAgYWNoaWV2ZWQgNzQuOTAlIHZpYWJpbGl0eSBhbmQgU09SVCBMTlAgc2hvd2VkIDc1LjAxJSB2aWFiaWxpdHksIGV4aGliaXRpbmcgbG93ZXIgY3l0b3RveGljaXR5IGR1ZSB0byB0aGUgaW5jbHVzaW9uIG9mIERNRy1QRUcsIGEgbGVzcyBjeXRvdG94aWMgUEVHIHZhcmlhbnQgY29tcGFyZWQgdG8gbVBFRy0yMDAwLURTUEUsIHdoaWNoIHJlc3VsdGVkIGluIDY2LjY5JSB2aWFiaWxpdHkgaW4gdGhlIENvcmRlbiBMTlAgKEZpZ3VyZSB0KS4gVGhlc2UgZmluZGluZ3MgcHJvdmUgd2UgbWFkZSB0aGUgYmVzdCBkZWNpc2lvbiBieSBjaG9vc2luZyB0aGUgU09SVCBMTlAgYXMgdGhlIGxlYXN0IGN5dG90b3hpYyBMTlBzLjwvcD4gKi99XG4gICAgICAgICAgICAgICAgPHA+SW4gb3JkZXIgdG8gZXZhbHVhdGUgdGhlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnQmlvc2FmZXR5MicsICcvc2FmZXR5Jyl9PmJpb3NhZmV0eTwvYT4gb2Ygb3VyIGx1bmctc3BlY2lmaWMgTE5QcywgcGFydGljdWxhcmx5IGNvbmNlcm5pbmcgdGhlIGNob2ljZSBvZiBQRUcgLSBrbm93biB0byBjYXVzZSBjeXRvdG94aWNpdHkgaXNzdWVzIC0gd2UgcGVyZm9ybWVkIE1UVCBhc3NheXMgdXNpbmcgSEVLMjkzIGNlbGxzIHdpdGggdmFyaW91cyBMTlAgZm9ybXVsYXRpb25zLiBUaGUgcmVzdWx0cyBkZW1vbnN0cmF0ZWQgdGhhdCB0aGUgQ2F5bWFuIExOUCBhY2hpZXZlZCA3NC45MCUgdmlhYmlsaXR5IGFuZCBTT1JUIExOUCBzaG93ZWQgNzUuMDElIHZpYWJpbGl0eSwgZXhoaWJpdGluZyBsb3dlciBjeXRvdG94aWNpdHkgZHVlIHRvIHRoZSBpbmNsdXNpb24gb2YgRE1HLVBFRywgYSBsZXNzIGN5dG90b3hpYyBQRUcgdmFyaWFudCBjb21wYXJlZCB0byBtUEVHLTIwMDAtRFNQRSwgd2hpY2ggcmVzdWx0ZWQgaW4gNjYuNjklIHZpYWJpbGl0eSBpbiB0aGUgQ29yZGVuIExOUCAoRmlndXJlIHQpLiBUaGVzZSBmaW5kaW5ncyBwcm92ZSB3ZSBtYWRlIHRoZSBiZXN0IGRlY2lzaW9uIGJ5IGNob29zaW5nIHRoZSBTT1JUIExOUCBhcyB0aGUgbGVhc3QgY3l0b3RveGljIExOUHMuPC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9TdWJlc2N0aW9uID5cbiAgICAgIDxTdWJlc2N0aW9uICB0aXRsZT1cIlByZUN5c2VcIiBpZD1cIlJlc3VsdHM0XCI+XG4gICAgICAgICAgPEg0IHRleHQ9XCJHb2Fsc1wiLz5cbiAgICAgICAgICA8cD50ZXh0PC9wPiBcbiAgICAgICAgICA8SDQgdGV4dD1cIldvcmtmbG93XCIvPlxuICAgICAgICAgIDxwPnRleHQ8L3A+IFxuICAgICAgICAgIDxINCB0ZXh0PVwiQ29uY2x1c2lvblwiLz5cbiAgICAgICAgICA8cD50ZXh0PC9wPiBcbiAgICAgIDwvU3ViZXNjdGlvbiA+XG4gICAgICA8U3ViZXNjdGlvbiAgdGl0bGU9XCJQYXRjaCBDbGFtcFwiIGlkPVwiUmVzdWx0czVcIj5cbiAgICAgICAgICA8cD5UbyB2YWxpZGF0ZSBvdXIgZ2VuZSBlZGl0aW5nIGFwcHJvYWNoIGJ5IHByaW1lIGVkaXRpbmcgb2YgQ0ZUUiBGNTA4ZGVsIGRlbGl2ZXJlZCB0byBsdW5nIGNlbGxzIHZpYSBTT1JUIExOUHMsIHdlIHBsYW5uZWQgdG8gdXNlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnUGF0Y2ggQ2xhbXAnLCAnL21hdGVyaWFscy1tZXRob2RzJyl9PlBhdGNoIENsYW1wPC9hPiBhcyBhIGRvd25zdHJlYW0gbWV0aG9kLiBPdXIgZ29hbCB3YXMgdG8gZGV0ZWN0IHRoZSByZXN0b3JlZCBjb25kdWN0YW5jZSBvZiB0aGUgcmVwYWlyZWQgQ0ZUUiBieSB0aGlzIGVsZWN0cm9waHlzaW9sb2dpY2FsIG1ldGhvZC4gVGhpcyB3YXMgbWFkZSBwb3NzaWJsZSB0aHJvdWdoIHRoZSBhc3Npc3RhbmNlIG9mIHRoZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdwYXRjaGNsYW1wJywgJy9odW1hbi1wcmFjdGljZXMnKX0+Q2VsbHVsYXIgTmV1cm9waHlzaW9sb2d5IHJlc2VhcmNoIGdyb3VwPC9hPiBhdCBvdXIgdW5pdmVyc2l0eS48L3A+XG4gICAgICAgICAgPEg0IHRleHQ9XCJJbml0aWFsIE1lYXN1cmVtZW50c1wiLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9yZXN1bHRzL3BhdGNoY2xhbXAvcGMxLndlYnBcIiBhbHQ9XCJQQzFcIiBzdHlsZT17e21heEhlaWdodDogXCIzMDBwdFwifX0vPiBcbiAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSAxLiA8L2I+IFxuICAgICAgICAgICAgICAgICAgQ3VycmVudCBkZW5zaXR5IG9mIEhFSzI5MywgSEVLMjkzVCBDRlRSIFdUIGFuZCBIRUsyOTNUIENGVFIgRjUwOGRlbCBzaG93aW5nIHNpZ25pZmljYW50IGRpZmZlcmVuY2VzIG9mIGJvdGggSEVLMjkzVCBjZWxsIGxpbmVzIGNvbXBhcmVkIHRvIEhFSzI5MyBidXQgbm8gc2lnbmlmaWNhbnQgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGVtLiBGb3Igc3RhdGlzdGljcyBvbmUtd2F5IEFOT1ZBIHdhcyBwZXJmb3JtZWQuXG4gICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgIDwvZmlndXJlPiBcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgIDxwPkluIG91ciBmaXJzdCBzZXQgb2YgZXhwZXJpbWVudHMsIHdlIG1lYXN1cmVkIGN1cnJlbnQgZGVuc2l0eSBpbiA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZUFuZFNjcm9sbCAoJ0NlbGwgQ3VsdHVyZScsICcvbWF0ZXJpYWxzLW1ldGhvZHMnKX0+SEVLMjkzVCBDRlRSIHdpbGQtdHlwZSAoV1QpIGFuZCBIRUsyOTNUIEY1MDhkZWw8L2E+IGNlbGwgbGluZXMsIGNvbXBhcmluZyB0aGVtIHdpdGggcmVndWxhciBIRUsyOTMuIFRoZSByZXN1bHRzIGRlbW9uc3RyYXRlZCBzaWduaWZpY2FudCBkaWZmZXJlbmNlcyBpbiBjaGxvcmlkZSBpb24gY29uZHVjdGFuY2UsIHdpdGggdGhlIENGVFItZXhwcmVzc2luZyBjZWxsIGxpbmVzIHNob3dpbmcgZW5oYW5jZWQgY29uZHVjdGl2aXR5IGNvbXBhcmVkIHRvIEhFSzI5MyAoRmlndXJlIDEpLiBIb3dldmVyLCBhIGRyYXdiYWNrIHdhcyB0aGF0IHdlIGRpZCBub3Qgb2JzZXJ2ZSBhbnkgc2lnbmlmaWNhbnQgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUgSEVLMjkzVCBDRlRSIFdUIGFuZCBGNTA4ZGVsIGNlbGwgbGluZS4gVGhpcyB3YXMgdW5leHBlY3RlZCwgYXMgdGhlIEY1MDhkZWwgbXV0YXRpb24gdHlwaWNhbGx5IGxlYWRzIHRvIGEga25vY2tkb3duIG9mIHRoZSBDRlRSIHByb3RlaW4sIGltcGFpcmluZyBjaGxvcmlkZSBpb24gdHJhbnNwb3J0IHRocm91Z2ggdGhlIENGVFIgY2hhbm5lbC48L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8SDQgdGV4dD1cIkZ1cnRoZXIgVmFsaWRhdGlvbiBhbmQgQ2hhbGxlbmdlc1wiLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICA8cD5JbiBsaWdodCBvZiB0aGVzZSByZXN1bHRzLCB3ZSBpbXByb3ZlZCBvdXIgZXhwZXJpbWVudGFsIHNldHVwIGFuZCBwZXJmb3JtZWQgYWRkaXRpb25hbCB2YWxpZGF0aW9uIGV4cGVyaW1lbnRzLiBVbmZvcnR1bmF0ZWx5LCB0aGUgcmVwZWF0ZWQgbWVhc3VyZW1lbnRzIHlpZWxkZWQgc2ltaWxhciBvdXRjb21lcywgY29uZmlybWluZyB0aGUgYWJzZW5jZSBvZiBhIHNpZ25pZmljYW50IGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgdHdvIENGVFItZXhwcmVzc2luZyBjZWxsIGxpbmVzIChGaWd1cmUgMikuIFRoaXMgZmluZGluZyBsZWQgdXMgdG8gY29uc3VsdCB3aXRoIHRoZSByZXNlYXJjaCBncm91cCBhdCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdtYXR0aWpzdmlzaXQnLCAnL2h1bWFuLXByYWN0aWNlcycpfT5LVSBMZXV2ZW48L2E+LCB3aG8gZXN0YWJsaXNoZWQgdGhlc2UgY2VsbHMgbGluZXMuIEFsdGhvdWdoIHRoZXkgaGFkIG5vdCBjb25kdWN0ZWQgc2ltaWxhciBQYXRjaCBDYW1wIG1lYXN1cmVtZW50cywgdGhleSBzdWdnZXN0ZWQgYW4gYWx0ZXJuYXRpdmUgYXBwcm9hY2ggdXNpbmcgVXNzaW5nIENoYW1iZXIgbWVhc3VyZW1lbnRzLiBUaGlzIHRlY2huaXF1ZSwgdW5saWtlIFBhdGNoIENhbXAsIGRvZXMgbm90IHJlbHkgb24gc2luZ2xlLWNlbGwgbWVhc3VyZW1lbnRzIGJ1dCByYXRoZXIgZXhhbWluZXMgdGhlIGlvbiBjdXJyZW50cyBhY3Jvc3MgdGhlIGVudGlyZSBjZWxsIG1vbm9sYXllciwgd2hpY2ggbWF5IHByb3ZpZGUgYSBtb3JlIGNvbXByZWhlbnNpdmUgdmlldyBvZiBDRlRSIGZ1bmN0aW9uYWxpdHkuPC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9yZXN1bHRzL3BhdGNoY2xhbXAvcGMyLndlYnBcIiBhbHQ9XCJQQzFcIiBzdHlsZT17e21heEhlaWdodDogXCIzMDBwdFwifX0vPiBcbiAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSAyLiA8L2I+IFxuICAgICAgICAgICAgICAgICAgUmVwZWF0ZWQgdmFsaWRhdGlvbiBvZiBjdXJyZW50IGRlbnNpdHkgbWVhc3VyZW1lbnRzIGluIEhFSzI5M1QgQ0ZUUiBXVCBhbmQgSEVLMjkzVCBDRlRSLUY1MDhkZWwsIHNob3dpbmcgY29uc2lzdGVudCByZXN1bHRzIHdpdGggdGhlIGluaXRpYWwgZXhwZXJpbWVudC4gRm9yIHN0YXRpc3RpY3Mgb25lLXdheSBBTk9ZQSB3YXMgcGVyZm9ybWVkLlxuICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4gXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8SDQgdGV4dD1cIk5leHQgU3RlcHNcIi8+XG4gICAgICAgICAgICA8cD5Gb2xsb3dpbmcgdGhlIHJlY29tbWVuZGF0aW9ucyBmcm9tIEtVIExldXZlbiwgd2UgaGF2ZSBhbHNvIHRha2VuIHN0ZXBzIHRvIGV4cGFuZCBvdXIgZXhwZXJpbWVudGFsIGFwcHJvYWNoLiBUbyBmdXJ0aGVyIGludmVzdGlnYXRlIHRoZSBDRlRSIGZ1bmN0aW9uYWxpdHksIHdlIGhhdmUgb3JkZXJlZCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZUFuZFNjcm9sbCAoJ0NlbGwgQ3VsdHVyZScsICcvbWF0ZXJpYWxzLW1ldGhvZHMnKX0+Q0ZCRTQxby08L2E+IGFzIGEgbmV3IGNlbGwgbGluZSBmcm9tIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2lnbmF0b3ZhJywgJy9odW1hbi1wcmFjdGljZXMnKX0+UHJvZi4gRHIuIElnbmF0b3ZhPC9hPiBpbiBIYW1idXJnLiBPdXIgZ29hbCBpcyB0byB1c2UgdGhlc2UgcGF0aWVudC1kZXJpdmVkIGNlbGxzIHRvIG1lYXN1cmUgaW9uIGN1cnJlbnRzIGFuZCBmdXJ0aGVyIGVsdWNpZGF0ZSB0aGUgaW1wYWN0IG9mIHRoZSBtdXRhdGlvbiBvbiBjaGxvcmlkZSBjb25kdWN0YW5jZS4gVGhpcyB3aWxsIG5vdCBvbmx5IHByb3ZpZGUgYSBtb3JlIGNsaW5pY2FsbHkgcmVsZXZhbnQgbW9kZWwgYnV0IG1heSBhbHNvIHlpZWxkIG1vcmUgZGlzdGluY3QgcmVzdWx0cyBpbiBjb21wYXJpc29uIHRvIHRoZSBwcmV2aW91cyBleHBlcmltZW50cyB3aXRoIHRoZSBlbmdpbmVlcmVkIEhFSzI5M1QgY2VsbHMuPC9wPlxuICAgICAgPC9TdWJlc2N0aW9uID5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICAgIDxTZWN0aW9uIHRpdGxlPVwiU3VwcGxlbWVudGFyeSBNYXRlcmlhbFwiIGlkPVwiU3VwcGxlbWVudGFyeSBNYXRlcmlhbFwiPiAgICBcbiAgICAgIDxwPlN1cHBsZW1lbnRhcnkgTWF0ZXJpYWwgZm9yIFBhdGNoIENsYW1wPC9wPlxuICAgICAgPERvd25sb2FkTGluayB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL3Jhdy1kYXRhLXBhdGNoLWNsYW1wLnBkZlwiIGZpbGVOYW1lPVwicmF3LWRhdGEtcGF0Y2gtY2xhbXAucGRmXCIgLz5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICA8Lz5cbiAgKTtcbn1cblxuIiwgIlxuaW1wb3J0IHsgSDQsIEg1IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IExvcmVtTWVkaXVtIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvTG9yZW1pcHN1bVwiO1xuaW1wb3J0IFByZUN5c2UgZnJvbSBcIi4uL2NvbXBvbmVudHMvcHJlY3lzZVwiO1xuaW1wb3J0IHsgU3VwU2Nyb2xsTGluayB9IGZyb20gXCIuLi9jb21wb25lbnRzL1Njcm9sbExpbmtcIjsgXG5pbXBvcnQgeyBTZWN0aW9uLCBTdWJlc2N0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIjtcbmltcG9ydCBDb2xsYXBzaWJsZSBmcm9tIFwiLi4vY29tcG9uZW50cy9Db2xsYXBzaWJsZVwiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG4vLyBtZXNzYWdlIGZvciB0ZXN0IGNvbW1pdC5cblxuXG5leHBvcnQgY29uc3QgU2FmZXR5OiBSZWFjdC5GQyA9ICgpID0+e1xuICBjb25zdCB7Z29Ub1BhZ2VBbmRTY3JvbGwsIGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCwgZ29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gIFxuICBcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPFNlY3Rpb24gdGl0bGU9XCJSb2xlIGluIGlHRU1cIiBpZD1cIlJvbGVcIj5cbiAgICAgIDxwPlxuICAgICAgICBBcyBwYXJ0IG9mIG91ciBwcm9qZWN0IDxQcmVDeXNlLz4gdG8gZGV2ZWxvcCBhIHByaW1lLWVkaXRpbmcgY29tcGxleCB0byBjb3JyZWN0IHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIGN5c3RpYyBmaWJyb3Npcywgd2UgcGxhY2UgZ3JlYXQgZW1waGFzaXMgb24gc2FmZXR5IGF0IGFsbCBzdGFnZXMgb2YgcmVzZWFyY2guIE91ciBmaW5hbCBjb25zdHJ1Y3Qgd2lsbCBiZSB0ZXN0ZWQgaW4gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdDZWxsIEN1bHR1cmUzSCcsICcvbWF0ZXJpYWxzLW1ldGhvZHMnKX0+IHByaW1hcnkgY3VsdHVyZXMgb2YgbmFzYWwgZXBpdGhlbGlhbCBjZWxscyA8L2E+ICAgb2J0YWluZWQgZnJvbSBuYXNhbCBzd2FicywgaXNvbGF0ZWQgZnJvbSBib3RoIHBhdGllbnRzIGFuZCBoZWFsdGh5IGluZGl2aWR1YWxzLiBUbyBndWFyYW50ZWUgc2FmZXR5IGFuZCBlbnN1cmUgdGhlIGhpZ2hlc3QgbGV2ZWwgb2YgcHJlY2lzaW9uIGFuZCByZWxpYWJpbGl0eSBvZiBvdXIgcmVzdWx0cywgd2UgaGF2ZSBpbnRyb2R1Y2VkIGEgc2VyaWVzIG9mIGNhcmVmdWxseSBwbGFubmVkIGNoZWNrcG9pbnRzIGR1cmluZyB0aGUgZXhwZXJpbWVudHMuIFRoZXNlIG1pbGVzdG9uZXMgYWxsb3cgZm9yIGNvbnRpbnVvdXMgbW9uaXRvcmluZywgdGltZWx5IGFkanVzdG1lbnRzIGFuZCB2YWxpZGF0aW9uIGF0IGVhY2ggY3JpdGljYWwgc3RhZ2UuIFRoaXMgZW5zdXJlcyB0aGF0IHBvdGVudGlhbCBpc3N1ZXMgYXJlIGlkZW50aWZpZWQgYW5kIGFkZHJlc3NlZCBpbW1lZGlhdGVseSwgbWluaW1pemluZyByaXNrIGFuZCBpbXByb3ZpbmcgdGhlIG92ZXJhbGwgcXVhbGl0eSBvZiB0aGUgZXhwZXJpbWVudGFsIHJlc3VsdHMuXG4gICAgICAgIDwvcD5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICAgIDxTZWN0aW9uIHRpdGxlPVwiQ2hlY2stSW5zXCIgaWQ9XCJDaGVjay1JbnNcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgaUdFTSBwbGFjZXMgZ3JlYXQgZW1waGFzaXMgb24gYmlvc2FmZXR5LCBlbnN1cmluZyB0aGF0IGFsbCBwcm9qZWN0cyBhZGhlcmUgdG8gc3RyaWN0IHNhZmV0eSBzdGFuZGFyZHMuIE9uZSBvZiB0aGVzZSBtZWFzdXJlcyBpcyB0aGUgaUdFTSBXaGl0ZSBMaXN0LCB3aGljaCBpbmNsdWRlcyBvcmdhbmlzbXMgYW5kIHBhcnRzIHRoYXQgYXJlIHByZS1hcHByb3ZlZCBmb3IgdXNlIGJhc2VkIG9uIHRoZWlyIHNhZmV0eSBwcm9maWxlLiBBbnkgY29tcG9uZW50cyBvciBvcmdhbmlzbXMgbm90IGNvdmVyZWQgYnkgdGhpcyBXaGl0ZSBMaXN0IG11c3QgYmUgc3VibWl0dGVkIGFzICdDaGVjay1JbnMnIHRvIHRoZSBpR0VNIFNhZmV0eSBDb21taXR0ZWUgZm9yIGFwcHJvdmFsLiBDaGVjay1JbnMgYXJlIGZvcm1hbCBzYWZldHkgZXZhbHVhdGlvbnMgdGhhdCBhbGxvdyB0aGUgY29tbWl0dGVlIHRvIGFzc2VzcyB0aGUgcG90ZW50aWFsIHJpc2tzIGFuZCBlbnN1cmUgcHJvcGVyIGNvbnRhaW5tZW50IGFuZCBoYW5kbGluZyBwcm9jZWR1cmVzIGFyZSBpbiBwbGFjZS4gQWx0aG91Z2ggd2UgdXNlZCBzb21lIHBhcnRzIGFuZCBvcmdhbmlzbXMgdGhhdCB3ZXJlIG5vdCBpbmNsdWRlZCBvbiB0aGUgV2hpdGUgTGlzdCwgdGhlc2Ugd2VyZSBhc3Nlc3NlZCBhcyBjcml0aWNhbCBmb3Igb3VyIHByb2plY3QgYW5kIHN1Ym1pdHRlZCBhcyBDaGVjay1JbnMgdG8gdGhlIGlHRU0gU2FmZXR5IENvbW1pdHRlZS4gRnVydGhlcm1vcmUsIHdlIHdlcmUgaW4gYWN0aXZlIGV4Y2hhbmdlIHdpdGggdGhlIGNvbW1pdHRlZSB0aHJvdWdob3V0IHRoZSBwcm9jZXNzLiBUaGUgQ2hlY2stSW5zIHByb3ZpZGUgYSBjbGVhciBwaWN0dXJlIG9mIHRoZSBiaW9zYWZldHkgYXNwZWN0cyBvZiBvdXIgcHJvamVjdCwgcmVmbGVjdGluZyBvdXIgY29tbWl0bWVudCB0byBzYWZldHkgYW5kIGNvbXBsaWFuY2Ugd2l0aCBpR0VNIHN0YW5kYXJkcy5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgV2UgYWRoZXJlIHRvIGdvb2QgbGFib3JhdG9yeSBwcmFjdGljZXMgYnkgZW5zdXJpbmcgcHJvcGVyIGhhbmRsaW5nIG9mIG1hdGVyaWFscywgZWZmZWN0aXZlIGVtZXJnZW5jeSBwcm9jZWR1cmVzLCBhbmQgY29ycmVjdCB3YXN0ZSBkaXNwb3NhbCBtZXRob2RzLiBUaGlzIGNvbW1pdG1lbnQgZ3VhcmFudGVlcyBhIHNhZmUgYW5kIGNvbXBsaWFudCByZXNlYXJjaCBlbnZpcm9ubWVudC4gT3VyIHByb2plY3QsIHdoaWNoIGludm9sdmVkIGEgd2lkZSByYW5nZSBvZiB0ZWNobmlxdWVzIHdhcyBjb25kdWN0ZWQgaW4gc3RyaWN0IGNvbXBsaWFuY2Ugd2l0aCBzYWZldHkgcmVndWxhdGlvbnMuIEFsbCBleHBlcmltZW50cyB3ZXJlIGNhcnJpZWQgb3V0IGluIFByb2YuIERyLiBLcmlzdGlhbiBNXHUwMEZDbGxlclx1MjAxOXMgbGFib3JhdG9yeSBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSwgZm9sbG93aW5nIEJTTC0xIHN0YW5kYXJkIG9wZXJhdGluZyBwcm9jZWR1cmVzLiBQcm9wZXJseSBlcXVpcHBlZCBmYWNpbGl0aWVzIGFyZSBjcnVjaWFsIHRvIHByZXZlbnQgY29udGFtaW5hdGlvbiwgZXhwb3N1cmUsIG9yIGFjY2lkZW50YWwgcmVsZWFzZSBvZiBtb2RpZmllZCBvcmdhbmlzbXMsIGVuc3VyaW5nIHRoZSBoaWdoZXN0IGxldmVsIG9mIHNhZmV0eSBpbiBvdXIgbGFib3JhdG9yaWVzLiAgXG4gICAgICAgICAgICBCZWZvcmUgY29tbWVuY2luZyBsYWJvcmF0b3J5IHdvcmssIGFsbCBwYXJ0aWNpcGFudHMgd2VyZSByZXF1aXJlZCB0byBhdHRlbmQgYSBtYW5kYXRvcnkgc2FmZXR5IGJyaWVmaW5nLiBJbiBjb21wbGlhbmNlIHdpdGggR2VybWFuIHJlZ3VsYXRpb25zLCBlYWNoIHRlYW0gbWVtYmVyJ3MgcGFydGljaXBhdGlvbiBoYWQgdG8gYmUgY29uZmlybWVkIHdpdGggYSBwZXJzb25hbCBzaWduYXR1cmUuIFRoZSBicmllZmluZywgY29uZHVjdGVkIGJ5IFByb2YuIERyLiBLcmlzdGlhbiBNXHUwMEZDbGxlciBtdXN0IGJlIHJlbmV3ZWQgYW5udWFsbHkgaW4gYWNjb3JkYW5jZSB3aXRoIFx1MDBBNzEyIEFyYlNjaEcuIEl0IGNvdmVyZWQgdGhlIGZvbGxvd2luZyBhcmVhczogXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgPGxpPkdlbmVyYWwgbGFib3JhdG9yeSBzYWZldHk8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5SZWd1bGF0aW9ucyByZWdhcmRpbmcgaGF6YXJkb3VzIGFuZCB0b3hpYyBzdWJzdGFuY2VzPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+UmVndWxhdGlvbnMgY29uY2VybmluZyBiaW9sb2dpY2FsIG1hdGVyaWFsczwvbGk+XG4gICAgICAgICAgICAgICAgPGxpPlJlZ3VsYXRpb25zIG9uIGdlbmV0aWMgZW5naW5lZXJpbmc8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICBJbiBhZGRpdGlvbiB0byB0aGUgZ2VuZXJhbCBzYWZldHkgYnJpZWZpbmcsIHNwZWNpZmljIGluc3RydWN0aW9ucyBmb3IgdGhlIHNhZmUgb3BlcmF0aW9uIG9mIGVhY2ggZGV2aWNlIHdlcmUgcHJvdmlkZWQuIFRoZSBTYWZldHkgYW5kIFNlY3VyaXR5IE9mZmljZXIgd2l0aGluIHRoZSBsYWJvcmF0b3J5IGhpZ2hsaWdodGVkIHRoZSBwb3RlbnRpYWwgaGF6YXJkcyBhbmQgbmVjZXNzYXJ5IHByZWNhdXRpb25hcnkgbWVhc3VyZXMuIFdlIGhhdmUgZm9jdXNlZCBvbiBwbGFubmluZyBvdXIgbGFib3JhdG9yeSBhY3Rpdml0aWVzIHRvIG1pbmltaXplIHJpc2sgZm9yIHNhZmVyIHByYWN0aWNlcy4gVGhpcyBlbnN1cmVzIG5vdCBvbmx5IHRoZSBzYWZlIGFuZCBwcm9wZXIgdXNlIG9mIGVxdWlwbWVudCBidXQgYWxzbyB0aGUgZ2VuZXJhdGlvbiBvZiByZWxpYWJsZSBkYXRhLiBUbyBtZWV0IGFsbCBzYWZldHkgcmVxdWlyZW1lbnRzLCBhZGRpdGlvbmFsIHNhZmV0eSBwcm90b2NvbHMgaGF2ZSBiZWVuIHB1dCBpbiBwbGFjZSBmb3IgYWxsIHRhcmdldGVkIGFyZWFzIG9mIHRoZSBsYWJvcmF0b3J5IGVxdWlwbWVudC4gXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8SDQgdGV4dD1cIkxhYm9yYXRvcnkgYW5kIHNhZmV0eSBwcmFjdGljZXNcIj48L0g0PlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICBBcyBwYXJ0IG9mIG91ciBwcm9qZWN0IHRvIGRldmVsb3AgYSBwcmltZS1lZGl0aW5nIGNvbXBsZXggdG8gY29ycmVjdCB0aGUgRjUwOGRlbCBtdXRhdGlvbiBpbiBjeXN0aWMgZmlicm9zaXMsIHdlIHBsYWNlIGdyZWF0IGVtcGhhc2lzIG9uIHNhZmV0eSBhdCBhbGwgc3RhZ2VzIG9mIHJlc2VhcmNoLiBPdXIgZmluYWwgY29uc3RydWN0IHdpbGwgYmUgdGVzdGVkIGluIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnQ2VsbCBDdWx0dXJlM0gnLCAnL21hdGVyaWFscy1tZXRob2RzJyl9PiBwcmltYXJ5IGN1bHR1cmVzIG9mIGVwaXRoZWxpYWwgY2VsbHMgPC9hPiBvYnRhaW5lZCBmcm9tIG5hc2FsIHN3YWJzLCBpc29sYXRlZCBmcm9tIGJvdGggcGF0aWVudHMgYW5kIGhlYWx0aHkgaW5kaXZpZHVhbHMuIFRvIGd1YXJhbnRlZSBzYWZldHkgYW5kIGVuc3VyZSB0aGUgaGlnaGVzdCBsZXZlbCBvZiBwcmVjaXNpb24gYW5kIHJlbGlhYmlsaXR5IG9mIG91ciByZXN1bHRzLCB3ZSBoYXZlIGludHJvZHVjZWQgYSBzZXJpZXMgb2YgY2FyZWZ1bGx5IHBsYW5uZWQgY2hlY2twb2ludHMgZHVyaW5nIHRoZSBleHBlcmltZW50cy4gVGhlc2UgbWlsZXN0b25lcyBhbGxvdyBmb3IgY29udGludW91cyBtb25pdG9yaW5nLCB0aW1lbHkgYWRqdXN0bWVudHMgYW5kIHZhbGlkYXRpb24gYXQgZWFjaCBjcml0aWNhbCBzdGFnZS4gVGhpcyBlbnN1cmVzIHRoYXQgcG90ZW50aWFsIGlzc3VlcyBhcmUgaWRlbnRpZmllZCBhbmQgYWRkcmVzc2VkIGltbWVkaWF0ZWx5LCBtaW5pbWl6aW5nIHJpc2sgYW5kIGltcHJvdmluZyB0aGUgb3ZlcmFsbCBxdWFsaXR5IG9mIHRoZSBleHBlcmltZW50YWwgcmVzdWx0cy4gW2xpbmsgenUgZGVuIEV4cGVyaW1lbnRlbl0gLiBpR0VNIHBsYWNlcyBncmVhdCBlbXBoYXNpcyBvbiBiaW9zYWZldHksIGVuc3VyaW5nIHRoYXQgYWxsIHByb2plY3RzIGFkaGVyZSB0byBzdHJpY3Qgc2FmZXR5IHN0YW5kYXJkcy4gT25lIG9mIHRoZXNlIG1lYXN1cmVzIGlzIHRoZSBpR0VNIFdoaXRlIExpc3QsIHdoaWNoIGluY2x1ZGVzIG9yZ2FuaXNtcyBhbmQgcGFydHMgdGhhdCBhcmUgcHJlLWFwcHJvdmVkIGZvciB1c2UgYmFzZWQgb24gdGhlaXIgc2FmZXR5IHByb2ZpbGUuIEFueSBjb21wb25lbnRzIG9yIG9yZ2FuaXNtcyBub3QgY292ZXJlZCBieSB0aGlzIFdoaXRlIExpc3QgbXVzdCBiZSBzdWJtaXR0ZWQgYXMgJ0NoZWNrLUlucycgdG8gdGhlIGlHRU0gU2FmZXR5IENvbW1pdHRlZSBmb3IgYXBwcm92YWwuIENoZWNrLUlucyBhcmUgZm9ybWFsIHNhZmV0eSBldmFsdWF0aW9ucyB0aGF0IGFsbG93IHRoZSBjb21taXR0ZWUgdG8gYXNzZXNzIHRoZSBwb3RlbnRpYWwgcmlza3MgYW5kIGVuc3VyZSBwcm9wZXIgY29udGFpbm1lbnQgYW5kIGhhbmRsaW5nIHByb2NlZHVyZXMgYXJlIGluIHBsYWNlLiBBbHRob3VnaCB3ZSB1c2VkIHNvbWUgcGFydHMgYW5kIG9yZ2FuaXNtcyB0aGF0IHdlcmUgbm90IGluY2x1ZGVkIG9uIHRoZSBXaGl0ZSBMaXN0LCB0aGVzZSB3ZXJlIGFzc2Vzc2VkIGFzIGNyaXRpY2FsIGZvciBvdXIgcHJvamVjdCBhbmQgc3VibWl0dGVkIGFzIENoZWNrLUlucyB0byB0aGUgaUdFTSBTYWZldHkgQ29tbWl0dGVlLiBGdXJ0aGVybW9yZSwgd2Ugd2VyZSBpbiBhY3RpdmUgZXhjaGFuZ2Ugd2l0aCB0aGUgY29tbWl0dGVlIHRocm91Z2hvdXQgdGhlIHByb2Nlc3MuIFRoZSBDaGVjay1pbnMgcHJvdmlkZSBhIGNsZWFyIHBpY3R1cmUgb2YgdGhlIGJpb3NhZmV0eSBhc3BlY3RzIG9mIG91ciBwcm9qZWN0LCByZWZsZWN0aW5nIG91ciBjb21taXRtZW50IHRvIHNhZmV0eSBhbmQgY29tcGxpYW5jZSB3aXRoIGlHRU0gc3RhbmRhcmRzLiBcbiAgICAgICAgICAgIFRoZSBtYWluIHNhZmV0eSBtZWFzdXJlcyB3ZSBoYXZlIGltcGxlbWVudGVkIGluY2x1ZGU6XG4gICAgICAgICAgICA8L3A+IFxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICA8c3Ryb25nPkNvbXBsaWFuY2Ugd2l0aCBTMSBjb25kaXRpb25zOjwvc3Ryb25nPiBXb3JraW5nIGluIFMxIGxhYm9yYXRvcmllcyBlbnN1cmVzIHRoYXQgb25seSBvcmdhbmlzbXMgaW4gdGhlIGxvd2VzdCByaXNrIGdyb3VwIGFyZSB1c2VkLCBtaW5pbWl6aW5nIHRoZSByaXNrIHRvIGh1bWFucyBhbmQgdGhlIGVudmlyb25tZW50LiBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPHN0cm9uZz5TdGVyaWxlIHdvcmtpbmcgcHJhY3RpY2VzOjwvc3Ryb25nPiBUbyBhdm9pZCBjb250YW1pbmF0aW9uLCB3ZSBoYXZlIGltcGxlbWVudGVkIHN0cmljdCBoeWdpZW5lIG1lYXN1cmVzLCBpbmNsdWRpbmcgdGhlIGRpc2luZmVjdGlvbiBvZiB3b3JrIHN1cmZhY2VzIGFuZCB0aGUgY29ycmVjdCBkaXNwb3NhbCBvZiBiaW9sb2dpY2FsIHdhc3RlLiBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPHN0cm9uZz5Db250cm9sbGVkIGFjY2Vzczo8L3N0cm9uZz4gQWNjZXNzIHRvIGxhYm9yYXRvcmllcyB3YXMgc3RyaWN0bHkgcmVndWxhdGVkIHRvIGVuc3VyZSB0aGF0IG9ubHkgdHJhaW5lZCBwZXJzb25uZWwgd29ya2VkIHdpdGggdGhlIGdlbmV0aWNhbGx5IG1vZGlmaWVkIG9yZ2FuaXNtcyBhbmQgY2VsbCBsaW5lcy4gXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgIDxzdHJvbmc+RG9jdW1lbnRhdGlvbjo8L3N0cm9uZz4gQWxsIHdvcmsgc3RlcHMsIG1hdGVyaWFscyB1c2VkIGFuZCBjZWxsIGxpbmVzIHdlcmUgY2FyZWZ1bGx5IGRvY3VtZW50ZWQgdG8gZW5zdXJlIHRyYWNlYWJpbGl0eSBhbmQgc2FmZXR5LiBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPHN0cm9uZz5TYWZlIGhhbmRsaW5nIG9mIGNlbGwgbGluZXM6PC9zdHJvbmc+IFRoZSBjZWxsIGxpbmVzIHVzZWQgZm9yIGV4cGVyaW1lbnRzIHdlcmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGFwcGxpY2FibGUgc2FmZXR5IHJlZ3VsYXRpb25zLiBUaGlzIGluY2x1ZGVkIHJlZ3VsYXIgY2hlY2tzIGZvciBjb250YW1pbmF0aW9uIGFuZCB0aGUgc2FmZSBzdG9yYWdlIGFuZCBkaXNwb3NhbCBvZiBjZWxsIGN1bHR1cmVzLiBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIkNoZWNrcGVrXCIgb3Blbj17ZmFsc2V9IHRpdGxlPVwiQ2hlY2staW4gZm9yIHRoZSBQcmltZS1FZGl0aW5nIEtvbXBsZXggXCI+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPlJldmVyc2UgdHJhbnNjcmlwdGFzZTo8L3N0cm9uZz4gUmV2ZXJzZSB0cmFuc2NyaXB0YXNlIHBsYXlzIGEgY2VudHJhbCByb2xlIGluIHByaW1lIGVkaXRpbmcgYnkgc3BlY2lmaWNhbGx5IGluc2VydGluZyB0aGUgY29ycmVjdGlvbiBhcyBETkEgYXQgdGhlIGluc2VydGVkIG5pY2sgdXNpbmcgYW4gUk5BIHRlbXBsYXRlIHByb3ZpZGVkIGJ5IHBlZ1JOQS4gVGhlIGNvcnJlY3Rpb24gb2YgdGhlIGNvbXBsZW1lbnRhcnkgRE5BIHN0cmFuZCB0aGVuIHRha2VzIHBsYWNlIHZpYSB0aGUgbmF0dXJhbCBjZWxsIHJlcGFpciBtZWNoYW5pc21zLiAgVGhpcyBlbnN1cmVzIGFuIGV4YWN0IGNvcnJlY3Rpb24gb2YgdGhlIHRhcmdldCBzZXF1ZW5jZS4gV2UgY2hlY2tlZCB0aGUgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIHRvIGVuc3VyZSBpdCBjb3VsZCBwZXJmb3JtIHByZWNpc2UgZ2Vub21lIGVkaXRpbmcgd2l0aG91dCBpbnRyb2R1Y2luZyB1bmludGVuZGVkIG11dGF0aW9ucy4gVGhpcyB3YXMgaW1wb3J0YW50IHRvIG1pbmltaXplIHRoZSByaXNrIG9mIG9mZi10YXJnZXQgZWZmZWN0cyB0aGF0IGNvdWxkIGxlYWQgdG8gdW5leHBlY3RlZCBvciBoYXJtZnVsIGNvbnNlcXVlbmNlcy5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz5wZWdSTkEgKFByaW1lIEVkaXRpbmcgR3VpZGUgUk5BKTo8L3N0cm9uZz4gVGhlIHBlZ1JOQSBpcyBhIG11bHRpZnVuY3Rpb25hbCBSTkEgbW9sZWN1bGUgdGhhdCBmdWxmaWxzIHR3byBlc3NlbnRpYWwgdGFza3MuIEZpcnN0bHksIGl0IHNlcnZlcyBhcyBhIHN0YW5kYXJkIGd1aWRlIFJOQSAoZ1JOQSkgdGhhdCBiaW5kcyBzcGVjaWZpY2FsbHkgdG8gdGhlIHRhcmdldCBETkEgYW5kIHRodXMgbWFya3MgdGhlIHNpdGUgb2YgZWRpdGluZy4gU2Vjb25kbHksIGl0IGNvbnRhaW5zIGFuIFJOQSB0ZW1wbGF0ZSB0aGF0IGVuY29kZXMgdGhlIGRlc2lyZWQgRE5BIG1vZGlmaWNhdGlvbi4gVGhpcyBlbmFibGVzIHRoZSBwcmVjaXNlIGludGVncmF0aW9uIG9mIHRoZSBnZW5ldGljIG1vZGlmaWNhdGlvbnMgYXQgdGhlIHRhcmdldCBzaXRlLiBXZSBldmFsdWF0ZWQgcGVnUk5BIGZvciBpdHMgYWJpbGl0eSB0byBzcGVjaWZpY2FsbHkgdGFyZ2V0IGFuZCBtb2RpZmllZCB0aGUgaW50ZW5kZWQgRE5BIHNlcXVlbmNlLiBFbnN1cmluZyBpdHMgc3BlY2lmaWNpdHkgd2FzIGNydWNpYWwgdG8gYXZvaWQgdGhlIHBvdGVudGlhbCBkaXNydXB0aW9uIG9mIG90aGVyIGdlbmVzLlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPk5pY2thc2UgbkNhczksIENhc1gsIEZhbnpvciAoU3B1RnoxKTo8L3N0cm9uZz4gVGhlc2UgbW9kaWZpZWQgbnVjbGVhc2VzIGFyZSBkZXNpZ25lZCB0byBjdXQgb25seSBvbmUgc3RyYW5kIG9mIEROQS4gVGhpcyBsZWFkcyB0byBjb250cm9sbGVkIGFuZCBwcmVjaXNlIGVkaXRpbmcgb2YgdGhlIGdlbm9tZSwgYXMgY3V0dGluZyBvbmx5IG9uZSBzdHJhbmQgbWluaW1pemVzIHRoZSByaXNrIG9mIHVud2FudGVkIGRvdWJsZS1zdHJhbmQgYnJlYWtzLiBDYXNYIGFuZCBGYW56b3Igb2ZmZXIgc21hbGxlciBhbHRlcm5hdGl2ZXMgdG8gQ2FzOSwgd2hpY2ggaXMgcGFydGljdWxhcmx5IGFkdmFudGFnZW91cyBmb3IgdXNlIGluIGNlbGxzIG9yIG9yZ2FuaXNtcyB3aGVyZSBzcGFjZSBhbmQgZWZmaWNpZW5jeSByZXF1aXJlbWVudHMgaW4gdGVybXMgb2YgdGhlIHRyYW5zcG9ydCBzeXN0ZW0gYXJlIGFuIGlzc3VlLiBGYW56b3IsIGJlaW5nIGEgbmV3bHkgaW50cm9kdWNlZCBlbmRvbnVjbGVhc2UsIHdhcyBwYXJ0aWN1bGFybHkgc2NydXRpbml6ZWQgaW4gb3VyIHByb2plY3QgdG8gZW5zdXJlIGl0cyBzYWZldHkgYW5kIGVmZmVjdGl2ZW5lc3MgaW4gZGlmZmVyZW50IGNlbGx1bGFyIGNvbnRleHRzLiBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICBUaGlzIHByaW1lLWVkaXRpbmcgY29tcGxleCB0aHVzIHJlcHJlc2VudHMgYSBwcmVjaXNlIGFuZCBlZmZpY2llbnQgbWV0aG9kIGZvciBnZW5lIGVkaXRpbmcuIEJ5IGNvbWJpbmluZyB0aGVzZSBjb21wb25lbnRzLCBnZW5ldGljIG1vZGlmaWNhdGlvbnMgY2FuIGJlIHBlcmZvcm1lZCB3aXRoIG1pbmltYWwgc2lkZSBlZmZlY3RzXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIkNoZWNrY2xvbmluZ1wiIG9wZW49e2ZhbHNlfSB0aXRsZT1cIkNoZWNrLWluIGZvciBDbG9uaW5nXCI+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICBGb3Igb3VyICBjbG9uaW5nIGV4cGVyaW1lbnRzIGFuZCB0aGUgZGV2ZWxvcG1lbnQgb2Ygb3VyIHByaW1lIGVkaXRpbmcgY29tcGxleGVzLCB3ZSBoYXZlIGFtcGxpZmllZCB2YXJpb3VzIHBsYXNtaWRzIGluIDxpPkUuIGNvbGk8L2k+IEstMTIgc3RyYWlucyAoREg1XHUwM0IxLDEwLUJldGEpLiBXaGVuIHdvcmtpbmcgd2l0aCBtaWNyb2JpYWwgc3RyYWlucyBzdWNoIGFzIDxpPkUuIGNvbGk8L2k+IEstMTIgc3RyYWlucywgaXQncyBpbXBvcnRhbnQgdG8gY29uc2lkZXIgcG90ZW50aWFsIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCB0aGVpciB1c2UsIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIGdlbmVyYWxseSByZWdhcmRlZCBhcyBzYWZlIGluIGxhYm9yYXRvcnkgc2V0dGluZ3MuIEFsbCBleHBlcmltZW50cyB3ZXJlIHBlcmZvcm1lZCB1bmRlciBzdHJpY3QgUzEgY29uZGl0aW9ucywgZm9sbG93aW5nIGFsbCByZWxldmFudCBzYWZldHkgcHJvdG9jb2xzLiBCZWxvdyB5b3Ugd2lsbCBmaW5kIGFuIG92ZXJ2aWV3IG9mIHRoZSA8aT5FLiBjb2xpPC9pPiBLLTEyIHN0cmFpbnMgZm9yIG91ciBjbG9uaW5nIGV4cGVyaW1lbnRzLCBzdWJtaXR0ZWQgYnkgdXMgYXMgYSBjaGVjay1JbiBhbmQgdGhlIHNwZWNpZmljIHNhZmV0eSBtZWFzdXJlczpcbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz48aT5FLiBjb2xpIEstMTI8L2k+IHN0cmFpbnMgKERINVx1MDNCMSwgMTAtQmV0YSk6PC9zdHJvbmc+IEFsdGhvdWdoIHRoZXNlIHN0cmFpbnMgYXJlIG5vbi1wYXRob2dlbmljIGFuZCBoYXZlIGJlZW4gbW9kaWZpZWQgdG8gbWluaW1pemUgdGhlIHJpc2sgb2Ygc3ByZWFkaW5nIGFudGliaW90aWMgcmVzaXN0YW5jZSwgdGhlcmUgcmVtYWlucyBhIGxvdyByaXNrIG9mIGhvcml6b250YWwgZ2VuZSB0cmFuc2Zlciwgd2hlcmUgZ2VuZXRpYyBtYXRlcmlhbCBjb3VsZCBiZSB0cmFuc2ZlcnJlZCB0byBvdGhlciBtaWNyb29yZ2FuaXNtcywgcG90ZW50aWFsbHkgbGVhZGluZyB0byB0aGUgc3ByZWFkIG9mIHJlc2lzdGFuY2UgZ2VuZXMgb3Igb3RoZXIgdHJhaXRzLiBJZiBhY2NpZGVudGFsbHkgcmVsZWFzZWQgaW50byB0aGUgZW52aXJvbm1lbnQsIDxpPkUuIGNvbGk8L2k+IEstMTIgc3RyYWlucyBjb3VsZCBwb3RlbnRpYWxseSBpbnRlcmFjdCB3aXRoIG5hdGl2ZSBtaWNyb2JpYWwgY29tbXVuaXRpZXMuIFdoaWxlIHRoZXkgYXJlIHR5cGljYWxseSBvdXRjb21wZXRlZCBpbiBuYXR1cmFsIGVudmlyb25tZW50cywgdGhlcmUncyBhIHJlbW90ZSBwb3NzaWJpbGl0eSBvZiBlY29sb2dpY2FsIGRpc3J1cHRpb24sIHBhcnRpY3VsYXJseSBpbiBtaWNyb2Vudmlyb25tZW50cyB3aGVyZSB0aGV5IGNvdWxkIGZpbmQgYSBuaWNoZS5XaGlsZSB0aGVzZSBzdHJhaW5zIGFyZSBub24tdmlydWxlbnQsIHRoZXkgc3RpbGwgcG9zZSBhIG1pbmltYWwgcmlzayB0byBodW1hbnMsIHBhcnRpY3VsYXJseSBpbW11bm9jb21wcm9taXNlZCBpbmRpdmlkdWFscywgdGhyb3VnaCBhY2NpZGVudGFsIGluZ2VzdGlvbiBvciBpbmhhbGF0aW9uIGluIGEgbGFib3JhdG9yeSBzZXR0aW5nLiBcbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgV2Ugc3VibWl0dGVkICB0aGUgeWVhc3Qgc3RyYWluIDxpPlBpY2hpYSBwYXN0b3JpczwvaT4gKFNNRDExNjMpIGZvciB0aGUgcHJvdGVpbiBleHByZXNzaW9uIG9mIEZhbnpvci5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz48aT5QaWNoaWEgcGFzdG9yaXM8L2k+IChTTUQxMTYzKTo8L3N0cm9uZz4gPGk+UGljaGlhIHBhc3RvcmlzPC9pPiAoU01EMTE2MykgaXMgYSB3aWRlbHkgdXNlZCB5ZWFzdCBzdHJhaW4gZm9yIHRoZSBleHByZXNzaW9uIG9mIHJlY29tYmluYW50IHByb3RlaW5zLiBJdCBpcyBjaGFyYWN0ZXJpemVkIGJ5IGEgbWV0aGFub2wtaW5kdWNpYmxlIGV4cHJlc3Npb24gc3lzdGVtIChBT1gxIHByb21vdGVyKSBhbmQgaGlnaCBjZWxsIGdyb3d0aCByYXRlcywgd2hpY2ggbWFrZXMgaXQgaWRlYWwgZm9yIGluZHVzdHJpYWwgYXBwbGljYXRpb25zLiBUaGUgc3RyYWluIGNhbiBiZSBlYXNpbHkgZ2VuZXRpY2FsbHkgbWFuaXB1bGF0ZWQgYW5kIGNhbiBwZXJmb3JtIHBvc3QtdHJhbnNsYXRpb25hbCBtb2RpZmljYXRpb25zLCB3aGljaCBzdXBwb3J0cyBjb3JyZWN0IHByb3RlaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgICAgICAgV2hlbiB3b3JraW5nIHdpdGggPGk+UGljaGlhIHBhc3RvcmlzPC9pPiAoU01EMTE2MyksIHZhcmlvdXMgc2FmZXR5LXJlbGV2YW50IGFzcGVjdHMgbXVzdCBiZSBvYnNlcnZlZC4gQWx0aG91Z2ggdGhlIG9yZ2FuaXNtIGlzIGNvbnNpZGVyZWQgbm9uLXBhdGhvZ2VuaWMgYW5kIGJpb2xvZ2ljYWxseSBzYWZlIChTMSksIHNraW4gY29udGFjdCBhbmQgYWVyb3NvbCBmb3JtYXRpb24gc2hvdWxkIGJlIGF2b2lkZWQgdG8gbWluaW1pemUgdGhlIHJpc2sgb2YgaW5mZWN0aW9uIG9yIGFsbGVyZ2ljIHJlYWN0aW9ucy4gV2hlbiB1c2luZyBnZW5ldGljYWxseSBtb2RpZmllZCBzdHJhaW5zLCBpdCBpcyBpbXBvcnRhbnQgdG8gZm9sbG93IHRoZSByZWxldmFudCBHTU8gZ3VpZGVsaW5lcyB0byBwcmV2ZW50IHVuY29udHJvbGxlZCByZWxlYXNlLiBJbiBhZGRpdGlvbiwgaGFuZGxpbmcgY2hlbWljYWxzIHN1Y2ggYXMgbWV0aGFub2wgcmVxdWlyZXMgc3BlY2lhbCBwcmVjYXV0aW9ucyBhcyB0aGV5IGFyZSB0b3hpYyBhbmQgaGlnaGx5IGZsYW1tYWJsZS4gVGhlIGRpc3Bvc2FsIG9mIGNlbGwgY3VsdHVyZXMgYW5kIHdhc3RlIG11c3QgYWxzbyBiZSBjYXJyaWVkIG91dCBpbiBhY2NvcmRhbmNlIHdpdGggYmlvc2FmZXR5IHJlZ3VsYXRpb25zLCBlc3BlY2lhbGx5IGluIHRoZSBjYXNlIG9mIGdlbmV0aWNhbGx5IG1vZGlmaWVkIG9yZ2FuaXNtcy4gXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIkNoZWNrY2VsbExpbmVzXCIgb3Blbj17ZmFsc2V9IHRpdGxlPVwiQ2hlY2staW4gZm9yIFRlc3RpbmcgaW4gY2VsbCBsaW5lc1wiPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgSW4gb3VyIHByb2plY3QsIHdlIHBhaWQgYXR0ZW50aW9uIHRvIHNhZmV0eSBhdCBldmVyeSBzdGVwLCBlc3BlY2lhbGx5IHdoZW4gd29ya2luZyB3aXRoIHNwZWNpZmljIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnY2VsbC1jdWx0dXJlJywgJy9tYXRlcmlhbHMtbWV0aG9kcycpfT4gY2VsbCBsaW5lcyA8L2E+IC4gQWxsIGV4cGVyaW1lbnRzIHdlcmUgcGVyZm9ybWVkIHVuZGVyIHN0cmljdCBTMSBjb25kaXRpb25zLCBmb2xsb3dpbmcgYWxsIHJlbGV2YW50IHNhZmV0eSBwcm90b2NvbHMuIEdpdmVuIHRoZSBzZW5zaXRpdml0eSBvZiB0aGUgaHVtYW4gY2VsbCBsaW5lcyB3ZSB1c2VkLCB3ZSBwbGFjZWQgZ3JlYXQgZW1waGFzaXMgb24gY29udHJvbGxlZCBhbmQgd2VsbC1kZXNpZ25lZCB3b3JrZmxvd3MuIEFsbCB0cmFuc2ZlY3Rpb25zIHdlcmUgcGVyZm9ybWVkIGluIG91ciBvd24gdHJhbnNmZWN0aW9uIGxhYm9yYXRvcnkgdG8gZW5zdXJlIGEgaGlnaCBsZXZlbCBvZiBzYWZldHkgYW5kIGNvbXBsaWFuY2UuICBCZWxvdyB5b3Ugd2lsbCBmaW5kIGFuIG92ZXJ2aWV3IG9mIHRoZSBjZWxsIGxpbmVzIHN1Ym1pdHRlZCBieSB1cyBhcyBhIGNoZWNraW4gYW5kIHRoZSBzcGVjaWZpYyBzYWZldHkgbWVhc3VyZXM6XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIDxzdHJvbmc+SEVLMjkzIGNlbGwgbGluZTogPC9zdHJvbmc+SEVLIDI5MyAoSHVtYW4gRW1icnlvbmljIEtpZG5leSAyOTMpIGNlbGxzIGFyZSBhbiBpbW1vcnRhbCBjZWxsIGxpbmUgb3JpZ2luYWxseSBkZXJpdmVkIGZyb20gdGhlIGtpZG5leSBjZWxscyBvZiBhIGh1bWFuIGVtYnJ5by4gVGhleSBhcmUgY2hhcmFjdGVyaXplZCBieSB0aGVpciBmYXN0IGRpdmlzaW9uIHJhdGUgYW5kIGhpZ2ggdHJhbnNmZWN0aW9uIGVmZmljaWVuY3ksIHdoaWNoIG1ha2VzIHRoZW0gYSBwb3B1bGFyIG1vZGVsIGluIGJpb21lZGljYWwgcmVzZWFyY2guIEZvciBvdXIgc3R1ZGllcywgdGhlIGJhc2ljIEhFSzI5MyBjZWxscyB3ZXJlIHByb3ZpZGVkIHRvIHVzIGJ5IHRoZSBDZWxsdWxhciBhbmQgTW9sZWN1bGFyIEJpb3RlY2hub2xvZ3kgR3JvdXAgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHksIGhlYWRlZCBieSBQcm9mLiBEci4gS3Jpc3RpYW4gTVx1MDBGQ2xsZXIuIFByb2YuIERyLiBNXHUwMEZDbGxlciBpcyBhbHNvIG9uZSBvZiB0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvcnMgb2Ygb3VyIHRlYW0uIFdlIHVzZSB0aGlzIGNlbGwgbGluZSBpbiBvdXIgcHJvb2Ytb2YtY29uY2VwdCBzdHVkaWVzIGFuZCBmb3IgdGVzdGluZyB0aGUgUHJpbWUgRWRpdGluZyBHdWlkZSBwZWdSTkEgKHBlZ1JOQSkgdG8gZXZhbHVhdGUgdGhlIGVmZmljaWVuY3kgYW5kIGZ1bmN0aW9uYWxpdHkgb2Ygb3VyIGNvbnN0cnVjdHMuIFxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPkhFSzI5M1QtM0hBLUNGVFIgY2VsbCBsaW5lOiA8L3N0cm9uZz5UaGUgSEVLMjkzVC0zSEEtQ0ZUUiBjZWxsIGxpbmUgaXMgYmFzZWQgb24gSEVLMjkzVCBjZWxscyBleHByZXNzaW5nIGFuIGFkZGl0aW9uYWwgdHNBMTYwOSBhbGxlbGUgb2YgdGhlIFNWNDAgbGFyZ2UgVCBhbnRpZ2VuLiBUaGlzIGFsbGVsZSBlbmFibGVzIHRoZSByZXBsaWNhdGlvbiBvZiB2ZWN0b3JzIGNvbnRhaW5pbmcgdGhlIFNWNDAgb3JpZ2luIG9mIHJlcGxpY2F0aW9uLiBJbiBhZGRpdGlvbiB0byB0aGUgbmF0aXZlIENGVFIgZ2VuZSwgd2hpY2ggaXMgbm90IGV4cHJlc3NlZCBpbiBIRUsgY2VsbHMsIHRoZSBIRUsyOTNULTNIQS1DRlRSIGNlbGwgbGluZSBjYXJyaWVzIGFub3RoZXIgY29weSBvZiB0aGUgQ0ZUUiBnZW5lIGVtYmVkZGVkIGluIGFuIGV4cHJlc3Npb24gY2Fzc2V0dGUuIFRoaXMgY2Fzc2V0dGUgY29udGFpbnMgYSBDTVYgcHJvbW90ZXIsIHdoaWNoIGlzIGRlcml2ZWQgZnJvbSB0aGUgaHVtYW4gY3l0b21lZ2Fsb3ZpcnVzIGFuZCBpcyBmcmVxdWVudGx5IHVzZWQgZm9yIHRoZSBvdmVyZXhwcmVzc2lvbiBvZiBnZW5lcyBpbiBodW1hbiBjZWxscy4gSW4gYWRkaXRpb24sIHRoZSBjYXNzZXR0ZSBjb250YWlucyBhIHB1cm9teWNpbiByZXNpc3RhbmNlIGdlbmUgdGhhdCBpcyBjby1leHByZXNzZWQgd2l0aCBDRlRSLCBhbGxvd2luZyBjb250aW51b3VzIHNlbGVjdGlvbiBvZiBDRlRSLWV4cHJlc3NpbmcgY2VsbHMuIFxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPkhFSzI5M1QtM0hBLUY1MDhkZWwtQ0ZUUiBjZWxsIGxpbmU6PC9zdHJvbmc+IFRoZSBIRUsyOTNULTNIQS1GNTA4ZGVsLUNGVFIgY2VsbCBsaW5lIGlzIGEgbW9kaWZpZWQgSEVLMjkzVCBjZWxsIGxpbmUgdGhhdCBjYXJyaWVzIHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIHRoZSBDRlRSIGdlbmUsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgbW9zdCBjb21tb24gbXV0YXRpb24gaW4gY3lzdGljIGZpYnJvc2lzLiBUaGlzIG11dGF0aW9uIGxlYWRzIHRvIGEgZGVmZWN0aXZlIENGVFIgcHJvdGVpbiB0aGF0IGltcGFpcnMgdGhlIG5vcm1hbCBmdW5jdGlvbiBvZiB0aGUgY2hsb3JpZGUgY2hhbm5lbC4gVGhlIGNlbGwgbGluZSBpcyB0aGVyZWZvcmUgaWRlYWwgZm9yIHN0dWR5aW5nIHRoZSBlZmZlY3RzIG9mIHRoaXMgbXV0YXRpb24gYW5kIGZvciBldmFsdWF0aW5nIHBvdGVudGlhbCB0aGVyYXBpZXMgZm9yIGN5c3RpYyBmaWJyb3Npcy4gXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIDxzdHJvbmc+Q0ZCRTQxby0gY2VsbCBsaW5lOjwvc3Ryb25nPiBUaGUgQ0ZCRTQxby0gY2VsbCBsaW5lLCBkZXJpdmVkIGZyb20gdGhlIGJyb25jaGlhbCBlcGl0aGVsaWFsIGNlbGxzIG9mIGEgY3lzdGljIGZpYnJvc2lzIHBhdGllbnQsIGlzIGhvbW96eWdvdXMgZm9yIHRoZSBGNTA4ZGVsLUNGVFIgbXV0YXRpb24gYW5kIHdhcyBlc3NlbnRpYWwgZm9yIG91ciBjeXN0aWMgZmlicm9zaXMgcmVzZWFyY2guIEEgcmVkdWNlZCBDRlRSIGV4cHJlc3Npb24gbGV2ZWwgaXMgcHJlc2VudC4gVGhlIGNlbGwgbGluZSBjYXJyaWVzIHRoZSBDRlRSIGRlZmVjdCBhbmQgY2FuIHRoZXJlZm9yZSByZXByZXNlbnQgYSBwYXRpZW50IHdpdGggQ0YuIFRoZSBjZWxsIGxpbmUgaXMgdXNlZCB0byB0ZXN0IG91ciBtZWNoYW5pc20uIFRoZXNlIGNlbGxzIHdlcmUgaW1tb3J0YWxpemVkIHdpdGggYSByZXBsaWNhdGlvbi1kZWZlY3RpdmUgcGxhc21pZCB0aGF0IHJldGFpbnMgdGhlaXIgcGh5c2lvbG9naWNhbCBwcm9wZXJ0aWVzLlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgIFdoZW4gd29ya2luZyB3aXRoIHRoZSBIRUsyOTNUIGFuZCBDRkJFNDFvLSBjZWxsIGxpbmVzLCBpdFx1MjAxOXMgaW1wb3J0YW50IHRvIGNvbnNpZGVyIHRoZSBtaW5pbWFsIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCB0aGVpciB1c2UuIFdoaWxlIG5vdCBoYXJtZnVsIG9uIHRoZWlyIG93biwgdGhlIGdlbmV0aWMgbW9kaWZpY2F0aW9ucyBpbiBIRUsyOTNUIGNlbGxzIHJlcXVpcmUgY2FyZWZ1bCBoYW5kbGluZyB0byBwcmV2ZW50IGFjY2lkZW50YWwgcmVsZWFzZSBvciBleHBvc3VyZS4gVGhlc2UgY2VsbHMsIGVuZ2luZWVyZWQgdG8gb3ZlcmV4cHJlc3MgQ0ZUUiwgaW5jbHVkaW5nIHRoZSBGNTA4ZGVsIG11dGF0aW9uLCBuZWNlc3NpdGF0ZSBzdHJpY3Qgc2FmZXR5IG1lYXN1cmVzIGxpa2UgcmVndWxhciBtb25pdG9yaW5nIGFuZCBwcm9wZXIgd2FzdGUgZGlzcG9zYWwgdG8gY29tcGx5IHdpdGggUzEgbGFib3JhdG9yeSBzdGFuZGFyZHMuIFNpbWlsYXJseSwgQ0ZCRTQxby0gY2VsbHMsIGR1ZSB0byB0aGVpciBnZW5ldGljIG1vZGlmaWNhdGlvbnMgYW5kIGRpc2Vhc2UgcmVsZXZhbmNlLCByZXF1aXJlIGNhcmVmdWwgaGFuZGxpbmcgdG8gYXZvaWQgY3Jvc3MtY29udGFtaW5hdGlvbiBhbmQgZW5zdXJlIGJpb3NhZmV0eS5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz5IdW1hbiBuYXNhbCBlcGl0aGVsaWFsIGNlbGxzIChoTkVDcyk6PC9zdHJvbmc+IEh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgKGhORUNzKSB3ZXJlIGhhcnZlc3RlZCB1c2luZyBhIG5hc2FsIGJydXNoLCBhIG1pbmltYWxseSBpbnZhc2l2ZSBwcm9jZWR1cmUsIGFuZCBjdWx0dXJlZCBpbiBhaXItbGlxdWlkIGludGVyZmFjZSAoQUxJKSBjdWx0dXJlcyB0byBtb2RlbCB0aGUgYWlyd2F5IGVwaXRoZWxpdW0uIEh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgKGhORUNzKSB3ZXJlIG9idGFpbmVkIHVzaW5nIGEgbmFzYWwgYnJ1c2gsIGEgbWluaW1hbGx5IGludmFzaXZlIHRlY2huaXF1ZSwgYW5kIHRoZW4gY3VsdHVyZWQgaW4gYWlyLWxpcXVpZCBpbnRlcmZhY2UgKEFMSSkgY3VsdHVyZXMgdG8gbW9kZWwgdGhlIGFpcndheSBlcGl0aGVsaXVtLiBVc2luZyB0aGVzZSBwcmltYXJ5IGN1bHR1cmVzLCBkZXJpdmVkIGZyb20gZG9ub3JzIHdpdGggYWlyd2F5IGRpc2Vhc2VzIHN1Y2ggYXMgY3lzdGljIGZpYnJvc2lzLCB3ZSB3ZXJlIGFibGUgdG8gc2ltdWxhdGUgdGhlIGluIHZpdm8gY29uZGl0aW9ucyBvZiBzdWNoIGRpc2Vhc2VzLiAgXG4gICAgICAgICAgICAgIER1ZSB0byB0aGUgc2Vuc2l0aXZlIG5hdHVyZSBvZiB0aGVzZSBwcmltYXJ5IGh1bWFuIGNlbGxzLCB3ZSBwZXJmb3JtZWQgYWxsIGV4cGVyaW1lbnRzIHdpdGggaE5FQ3MgaW4gb3VyIFMyIGxhYm9yYXRvcnksIHdoZXJlIGluY3JlYXNlZCBzYWZldHkgcHJlY2F1dGlvbnMgd2VyZSB0YWtlbi4gVGhpcyBpbmNsdWRlZCBzdHJpY3Qgc2FmZXR5IGNvbnRyb2xzLCBzYWZlIGhhbmRsaW5nIG9mIHNhbXBsZXMgYW5kIHByb3BlciBkaXNwb3NhbCBvZiBtYXRlcmlhbHMgYWZ0ZXIgdGVzdGluZy4gSW4gcGFydGljdWxhciwgdGhlIGhORUNzIHVuZGVyd2VudCBISEggKFRyaXBsZSBIOiBISVYsIEhDViBhbmQgSEJWKSB0ZXN0aW5nIHRvIGVuc3VyZSB0aGF0IG5vIGNvbnRhbWluYXRpb24gb2NjdXJyZWQgZHVyaW5nIHNhbXBsZSBjb2xsZWN0aW9uIG9yIGV4cGVyaW1lbnRhdGlvbi4gVGhlc2UgdGVzdHMgaW5jbHVkZWQgc3RlcmlsaXR5IHRlc3RpbmcsIHZpYWJpbGl0eSBhc3Nlc3NtZW50cyBhbmQgY29udGFtaW5hdGlvbiB0ZXN0aW5nIHRvIGVuc3VyZSB0aGUgc2FmZXR5IGFuZCBpbnRlZ3JpdHkgb2YgYm90aCB0aGUgc2FtcGxlcyBhbmQgdGhlIGxhYm9yYXRvcnkgZW52aXJvbm1lbnQuIEFmdGVyIGEgbmVnYXRpdmUgSEhIIHRlc3QsIHRoZSBwcmltYXJ5IGN1bHR1cmVzIGNhbiBiZSB0cmVhdGVkIGFzIFMxLiBJbiBhZGRpdGlvbiwgdGhlIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgd2VyZSBoYW5kbGVkIHdpdGggdGhlIHV0bW9zdCBjYXJlIGR1cmluZyBjb2xsZWN0aW9uLCBlbnN1cmluZyB0aGF0IGFsbCBwcm9jZWR1cmVzIHdlcmUgcGVyZm9ybWVkIHVuZGVyIHN0ZXJpbGUgY29uZGl0aW9ucyB0byBhdm9pZCBhbnkgcmlzayBvZiBjb250YW1pbmF0aW9uRm9yIHRoaXMgcHVycG9zZSwgdGhlIGludGVuc2l2ZSBleGFtaW5hdGlvbiBvZiBldGhpY2FsIHF1ZXN0aW9ucyB3YXMgZnVuZGFtZW50YWwgYW5kIGEgY29uc3RhbnQgY29tcGFuaW9uIG9mIG91ciBwcm9qZWN0LiBUaGUgbnVtZXJvdXMgcmVzdWx0cyBmcm9tIHRoZSBpbnRlcnZpZXdzIGluIHRoZSBhcmVhcyBvZjogRXRoaWNzLCBzdG9yYWdlIGFuZCB0cmFpbmluZyBpbiB0aGUgaGFuZGxpbmcgb2Ygc2FtcGxlcyBoYXZlIGJlZW4gc3VtbWFyaXplZCBpbiBhIGd1aWRlbGluZSBmb3IgcGF0aWVudCBjb25zZW50IGZvciBHZXJtYW55IGFuZCBhcmUgaW50ZW5kZWQgdG8gcHJvdmlkZSBpR0VNIHRlYW1zIHdpdGggdGhlIHNjb3BlLCBjcml0aWNhbCBleGFtaW5hdGlvbiBhbmQgb2JzZXJ2YW5jZSBvZiBpR0VNIHJ1bGVzLCBpbnRlcm5hdGlvbmFsIGFuZCBuYXRpb25hbCBndWlkZWxpbmVzLlx1MjAyRiBcbiAgICAgICAgICAgICAgPC9wPiBcbiAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG5cbiAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIkNoZWNrRGVsaXZlcnlcIiBvcGVuPXtmYWxzZX0gdGl0bGU9XCJDaGVjay1pbiBmb3IgRGVsaXZlcnlcIj5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIE91ciBmaW5pc2hlZCBjb25zdHJ1Y3QgaXMgZGVzaWduZWQgdG8gYmUgZGVsaXZlcmVkIGludG8gdGhlIGx1bmcgdmlhIGFuIGluaGFsZXIgdXNpbmcgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykuIFRvIGJlIG1vcmUgc3BlemlmaWMgYSBzZWxlY3RpdmUgb3JnYW4tdGFyZ2V0aW5nIChTT1JUKS0gTE5QcyB3ZXJlIGRldmVsb3BlZCB0byBkZWxpdmVyIG1STkEgc3BlY2lmaWNhbGx5IHRvIHRoZSBsdW5nLCB3aXRoIHNwZWNpYWwgbWVhc3VyZXMgdGFrZW4gdG8gaW5jcmVhc2UgYmlvY29tcGF0aWJpbGl0eSBhbmQgc2FmZXR5LiBTaW5jZSB0aGUgTE5QIGNvbXBvc2l0aW9uIGlzIHZlcnkgc3BlY2lmaWMgYW5kIGFsc28gZGlmZmVycyBmcm9tIG90aGVyIGZvcm11bGFzLCB3ZSBzdWJtaXR0ZWQgdGhlIExOUCBhcyBhIGNoZWNraW46XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIDxzdHJvbmc+TE5QOjwvc3Ryb25nPiBUaGVzZSBMTlBzIGFyZSB0aGVuIHRha2VuIHVwIGJ5IGVwaXRoZWxpYWwgY2VsbHMgdGhyb3VnaCBlbmRvY3l0b3NpcywgcmVsZWFzaW5nIHRoZSBjb25zdHJ1Y3QgaW50byB0aGUgY3l0b3NvbC4gV2UgY2FyZWZ1bGx5IGV2YWx1YXRlZCB0aGUgcG90ZW50aWFsIHJpc2tzLCBpbmNsdWRpbmcgdW5pbnRlbmRlZCBpbW11bmUgcmVzcG9uc2VzIGFuZCB0aGUgbmVlZCBmb3IgcHJlY2lzZSBkb3NpbmcgdG8gbWluaW1pemUgc2lkZSBlZmZlY3RzLiBJbiBhZGRpdGlvbiwgd2UgaGF2ZSBjb25kdWN0ZWQgYW4gaW4tZGVwdGggYW5hbHlzaXMgb2YgdGhlIGR1YWwtdXNlIHBvdGVudGlhbCBvZiBvdXIgdGVjaG5vbG9neS4gRHVhbC11c2UgcmVmZXJzIHRvIHRoZSBwb3NzaWJpbGl0eSB0aGF0IHNjaWVudGlmaWMgYWR2YW5jZXMgY2FuIGJlIHVzZWQgZm9yIGJvdGggY2l2aWxpYW4gYW5kIG1pbGl0YXJ5IHB1cnBvc2VzLiBUaGVyZWZvcmUsIHdlIGhhdmUgaW1wbGVtZW50ZWQgc3RyaWN0IHNhZmV0eSBwcm90b2NvbHMgYW5kIGV0aGljYWwgZ3VpZGVsaW5lcyB0byBlbnN1cmUgdGhhdCBvdXIgdGVjaG5vbG9neSBpcyB1c2VkIGV4Y2x1c2l2ZWx5IGZvciBwZWFjZWZ1bCBhbmQgdGhlcmFwZXV0aWMgYXBwbGljYXRpb25zLiBcbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L1NlY3Rpb24+XG4gICAgICA8U2VjdGlvbiB0aXRsZT1cIk91ciBMYWJcIiBpZD1cIk91ciBMYWJcIj5cbiAgICAgICAgPHA+XG4gICAgICAgIEFzIHBhcnQgb2Ygb3VyIGxhYm9yYXRvcnkgYWN0aXZpdGllcyBmb3Igb3VyIDxQcmVDeXNlLz4gcHJvamVjdCwgd2Ugd29ya2VkIGluIHZhcmlvdXMgbGFib3JhdG9yaWVzLiBGb3IgZ2VuZXJhbCBsYWIgd29yayBhbmQgY2xvbmluZyBleHBlcmltZW50cywgeW91IGNhbiBmaW5kIHNvbWUgcGljdHVyZXMgb2Ygb3VyIGxhYm9yYXRvcmllcyBiZWxvdzogIFxuICAgICAgICA8L3A+XG4gICAgICAgIDxINCB0ZXh0PVwiT3VyIENsb25pbmcgTGFiXCI+PC9IND5cbiAgICAgICAgPHA+XG4gICAgICAgIE91ciBDbG9uaW5nLWxhYm9yYXRvcnkgaXMgZGl2aWRlZCBpbnRvIGRpZmZlcmVudCB3b3JrIGFyZWFzIHRvIGVuc3VyZSB0aGF0IHRoZSBleHBlcmltZW50cyBydW4gc21vb3RobHkgYW5kIGVmZmljaWVudGx5LiBUaGVzZSBpbmNsdWRlIHRoZSBnZWwgc3RhdGlvbiwgdGhlIFBDUiBzdGF0aW9uLCB0aGUgdHJhbnNmb3JtYXRpb24gc2VjdGlvbiBhbmQgdGhlIG1lYXN1cmVtZW50IGFyZWEuIEVhY2ggYXJlYSBpcyBzcGVjaWFsbHkgZXF1aXBwZWQgZm9yIHRoZSByZXNwZWN0aXZlIG1ldGhvZCwgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGV4cGVyaW1lbnRzIHdlcmUgY2FycmllZCBvdXQgZXhjbHVzaXZlbHkgaW4gdGhlIGRlc2lnbmF0ZWQgc3RhdGlvbnMuIEluIHRoaXMgd2F5LCB3ZSBlbnN1cmUgdGhhdCBvdXIgd29yayBpcyBjYXJyaWVkIG91dCB1bmRlciBvcHRpbWFsIGNvbmRpdGlvbnMgYW5kIHdpdGggdGhlIGdyZWF0ZXN0IHBvc3NpYmxlIHByZWNpc2lvbi4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlndXJlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvYmlvc2FmZXR5L2tvbGxhZ2UvbmV3L2ltZy0yMDQxLmpwZWdcIiBzdHlsZT17e2hlaWdodDogXCIxMCVcIiwgd2lkdGg6XCJhdXRvXCJ9fS8+XG4gICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiA8Yj5GaWd1cmUgMTwvYj4gUGhvdG8tZ2FsbGVyeSBvZiBsYWJvcmF0b3J5LiBBOiBLZXkgbG9jay4gQjogS2V5LWxvY2tlZCBkb29yLiBDOiBBbGFybSBwbGFuLiBEOiBFbWVyZ2VueSBidXR0b24gZm9yIGVsZWN0cmlvdGlvbiBzdG9wLiBFOiBFbWVyZ2VuY3kgdGVsZXBob25lLiBGOiBGaXJzdCBhaWQga2l0LCBjYXJkaWFjIGRlZmlicmlsbGF0b24gYW5kIGVtZXJnZW5jeSBleGl0IGFuZCBmaXJlIGFsYXJtIHBsYW4uIEc6IFdhc2ggYmluIHdpdGggZW1lcmdlbmN5IGV5ZSB3YXNoLiBIOiBFbWVyZ2VuY3kgc2hvd2VyLiBJOiBMb2NrYWJsZSBjYWJpbmV0cyBmb3IgY2hlbWljYWwgc3RvcmFnZS4gPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZ3VyZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Jpb3NhZmV0eS9rb2xsYWdlL25ldy9pbWctMjAzNy5qcGVnXCIgc3R5bGU9e3toZWlnaHQ6IFwiMTAlXCIsIHdpZHRoOiBcImF1dG9cIn19Lz5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IDxiPkZpZ3VyZSAyPC9iPiBQaG90by1nYWxsZXJ5IG9mIFMxIGxhYm9yYXRvcnkuIEE6IEF1dG9jbGF2ZS4gQjogUmVmcmlnZXJhdG9yIHdpdGggY2hlbWljYWxzLiBDOiBXZWlnaGluZyByb29tIHdpdGggY2hlbWljYWwgc3RvcmFnZS4gRDogQ2xlYW4gYmVuY2ggd29yayBzcGFjZSB3aXRoIHZvcnRleCwgcGlwZXR0ZXMsIGhlYXQgYmxvY2sgYW5kIGJlbmNoIHRvcCBjZW50cmlmdWdlLiBFOiBwSCBlbGVjdHJvZGUgaW4gZnVtZSBob29kLiBGOiBJY2UgbWFjaGluZS4gRzogRmlyZSBkaXN0aW5ndWlzaGVyIGFuZCBTMSB3YXN0ZS4gSDogRnVtZSBob29kIHdpdGggbGlxdWlkIHdhc3RlLjwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPEg0IHRleHQ9XCJPdXIgQ2VsbCBDdWx0dXJlIExhYiBcIj48L0g0PlxuICAgICAgICA8cD5cbiAgICAgICAgSW4gb3VyIGNlbGwgY3VsdHVyZSBsYWJvcmF0b3J5LCB3ZSB3b3JrIHVuZGVyIHN0ZXJpbGUgY29uZGl0aW9ucyB0byBlbnN1cmUgb3B0aW1hbCBncm93dGggY29uZGl0aW9ucyBmb3IgaHVtYW4gY2VsbCBsaW5lcy4gQW1vbmcgb3RoZXIgdGhpbmdzLCB3ZSBjYXJyeSBvdXQgdHJhbnNmZWN0aW9ucyBpbiBvcmRlciB0byBpbnRyb2R1Y2UgZ2VuZXRpYyBtYXRlcmlhbCBpbnRvIGNlbGxzIGFuZCBpbnZlc3RpZ2F0ZSB0aGVpciBiZWhhdmlvci4gU3RyaWN0IHByb3RvY29scyBhbmQgc3RhdGUtb2YtdGhlLWFydCB0ZWNobm9sb2d5IGVuc3VyZSB0aGUgcHJlY2lzaW9uIGFuZCByZXByb2R1Y2liaWxpdHkgb2Ygb3VyIGV4cGVyaW1lbnRzLiBcbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZ3VyZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Jpb3NhZmV0eS9rb2xsYWdlL25ldy9pbWctMjA0MC5qcGVnXCIgc3R5bGU9e3toZWlnaHQ6IFwiMTAlXCIsIHdpZHRoOiBcImF1dG9cIn19Lz5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IDxiPkZpZ3VyZSAzPC9iPiBQaG90by1nYWxsZXJ5IG9mIGxhYm9yYXRvcnkgYW5kIGNoZW1pY2FsIHN0b3JhZ2UuIEE6IFNhZmV0eSBjYWJpbmV0cy4gQjogSW5jdWJhdG9yLiBDOiBTYWZldHkgY2FiaW5ldC48L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8cD5cbiAgICAgICAgSW4gb3VyIFMyIGxhYm9yYXRvcnksIHRoZSBoYXJ2ZXN0ZWQgbmFzYWwgZXBpdGhlbGlhbCBjZWxscyB0aGF0IHNlcnZlIGFzIHByaW1hcnkgY3VsdHVyZXMgdW5kZXJnbyBhIGNvbXByZWhlbnNpdmUgSEhIIHRlc3QgdG8gZW5zdXJlIHRoZWlyIHNhZmV0eSBhbmQgc3VpdGFiaWxpdHkgZm9yIGZ1cnRoZXIgZXhwZXJpbWVudHMuIFRoaXMgdGVzdCBpcyBjcnVjaWFsIHRvIGVuc3VyZSB0aGF0IHdlIGNhbiBzdWJzZXF1ZW50bHkgd29yayBzYWZlbHkgd2l0aCB0aGVzZSBjZWxscyBpbiB0aGUgUzEgcmFuZ2Ugd2l0aG91dCB0aGUgcmlzayBvZiBjb250YW1pbmF0aW9uIG9yIHVud2FudGVkIHJlbGVhc2Ugb2YgYmlvbG9naWNhbCBtYXRlcmlhbC4gXG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWd1cmUtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9iaW9zYWZldHkva29sbGFnZS9uZXcvaW1nLTIwNDIuanBlZ1wiIHN0eWxlPXt7aGVpZ2h0OiBcIjEwJVwifX0vPlxuICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+RmlndXJlIDQ8L2I+UGhvdG8tZ2FsbGVyeSBvZiBTMiBsYWJvcmF0b3J5LiBBOiBEb29yIG9mIFMyIGxhYiB3aXRoIFMyIHNpZ24uIEI6IEVtZXJnZW5jeSBzaG93ZXIgYW5kIGZpcmUgZGlzdGluZ3Vpc2hlci4gQzogQ2xlYW4gYmVuY2ggd2l0aCBjZW50cmlmdWdlLiBEOiBJbmN1YmF0b3IuIEU6IFNhZmV0eSBjYWJpbmV0LiBGOiBFbWVyZ2VueSB0ZWxlcGhvbmUuIEc6IFMyIGxhYiBjb2F0IHdpdGggUzIgc2lnbi4gSDogTWljcm9zY29wZS4gSTogQXV0b2NsYXZlLiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9TZWN0aW9uPlxuICAgICAgPFNlY3Rpb24gdGl0bGU9XCJCaW9zYWZldHlcIiBpZD1cIkJpb3NhZmV0eVwiPlxuICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIlNhZmV0eSBhc3BlY3RzIG9mIG91ciBQcmltZUd1aWRlXCIgaWQ9XCJCaW9zYWZldHkxXCI+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgVGhlIGJpb3NhZmV0eSBvZiBvdXIgUHJpbWUgRWRpdGluZyBjb21wbGV4IGhhcyBiZWVuIGEgdG9wIHByaW9yaXR5IHRocm91Z2hvdXQgdGhlIGVudGlyZSBkZXZlbG9wbWVudCBwcm9jZXNzLiBXZSBoYXZlIHRoZXJlZm9yZSB0cmllZCB0byBvcHRpbWlzZSBhbGwgcGFydHMgdGhhdCBpbmZsdWVuY2UgdGhlIGJpb3NlY3VyaXR5IG9mIG91ciBzeXN0ZW0gYXMgbXVjaCBhcyBwb3NzaWJsZS4gVG8gZW5zdXJlIG1heGltdW0gYmlvc2VjdXJpdHksIHdlIGhhdmUgY3JlYXRlZCBhbmQgdGVzdGVkIG1hbnkgZGVzaWducywgYXMgd2VsbCBhcyBleHRlbnNpdmVseSByZXNlYXJjaGVkIGFsdGVybmF0aXZlcyBhbmQvb3IgYWRkaXRpb25hbCBlbGVtZW50cyB0aGF0IGNvbnRyaWJ1dGUgdG8gYmlvc2VjdXJpdHkuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxINCB0ZXh0PVwiUEFNIGRpc3J1cHRcIiA+PC9IND5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICBBIGtleSBzYWZldHkgbWVjaGFuaXNtIGluY29ycG9yYXRlZCBpbiBvdXIgZGVzaWduIG9mIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXggaXMgdGhlIGRpc3J1cHRpb24gb2YgdGhlIFBBTSBzZXF1ZW5jZSBbTGluayBQQU0gdGV4dF0uIEZvciB0aGUgbmlja2FzZSBlbnp5bWUgdG8gZnVuY3Rpb24gcHJvcGVybHksIGl0IG11c3QgYmluZCBkaXJlY3RseSB0byB0aGUgRE5BIHN0cmFuZCwgYSBwcm9jZXNzIHRoYXQgaXMgZmFjaWxpdGF0ZWQgYnkgdGhlIHByZXNlbmNlIG9mIGEgc3BlY2lmaWMgc2VxdWVuY2UgY2FsbGVkIHRoZSBQQU0gKFByb3Rvc3BhY2VyIEFkamFjZW50IE1vdGlmKS4gVGhpcyBjcml0aWNhbCBpbnRlcmFjdGlvbiBvY2N1cnMgdGhyb3VnaCB0aGUgcmVjb2duaXRpb24gb2YgdGhlIFBBTSBzZXF1ZW5jZSBieSB0aGUgbmlja2FzZSBpdHNlbGYuIFRvIGFjaGlldmUgUEFNIGRpc3J1cHRpb24sIHRoZSBwZWdSTkEgKHByaW1lIGVkaXRpbmcgZ3VpZGUgUk5BKSBbTGluayBwZWdSTkFdIGlzIHNwZWNpZmljYWxseSBkZXNpZ25lZCBpbiBhIHdheSBzbyB0aGF0IHRoZSBQQU0gc2VxdWVuY2UgaXMgc2l0dWF0ZWQgd2l0aGluIHRoZSByZXZlcnNlIHRyYW5zY3JpcHRpb24gdGVtcGxhdGUgKFJUVCkgb2YgdGhlIHBlZ1JOQS4gQnkgaW50cm9kdWNpbmcgYSBzaWxlbnQgbXV0YXRpb24gd2l0aGluIHRoZSBSVCB0ZW1wbGF0ZSBpbnRvIHRoZSBQQU0gc2VxdWVuY2UuIFRoZXJlZm9yZSB0aGUgUEFNIHNlcXVlbmNlIGlzIGVmZmVjdGl2ZWx5IGVsaW1pbmF0ZWQgYWZ0ZXIgdGhlIGdlbmUgZWRpdGluZyBwcm9jZXNzIGlzIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxXCIvPi4gQXMgYSByZXN1bHQgb2YgdGhhdCwgdGhlIFBBTSBzZXF1ZW5jZSBpcyBubyBsb25nZXIgcHJlc2VudCBvbiB0aGUgRE5BIHN0cmFuZCwgcHJldmVudGluZyB0aGUgbmlja2FzZSBmcm9tIGJpbmRpbmcgYWdhaW4gYXQgdGhlIHNhbWUgbG9jYXRpb24uIFRoaXMgcmVkdWN0aW9uIGluIHJlcGVhdGVkIG9yIHVuZGVzaXJlZCBiaW5kaW5nIG9mIHRoZSBuaWNrYXNlIGVuaGFuY2VzIHRoZSBzYWZldHkgb2Ygb3VyIHByaW1lIGVkaXRpbmcgY29tcGxleCwgbWluaW1pemluZyB0aGUgcmlzayBvZiB1bmludGVuZGVkIGVkaXRzIG9yIG9mZi10YXJnZXQgZWZmZWN0cyBpbiBzdWJzZXF1ZW50IHN0ZXBzLiBVbHRpbWF0ZWx5LCB0aGlzIGZlYXR1cmUgY29udHJpYnV0ZXMgdmVyeSBtdWNoIHRvIHRoZSBvdmVyYWxsIHNhZmV0eSBhbmQgcmVsaWFiaWxpdHkgb2YgdGhlIHByaW1lIGVkaXRpbmcgcHJvY2Vzcy5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPEg0IHRleHQ9XCJwZWdSTkEgZGVzaWduIC0gU3BhY2VyXCI+PC9IND5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICBCaW9zYWZldHkgaXMgYWxzbyBndWFyYW50ZWVkIGJ5IHRoZSBjYXJlZnVsIHNlbGVjdGlvbiBvZiB0aGUgc3BhY2VyLCB3aGljaCBwbGF5cyBhIGNyaXRpY2FsIHJvbGUgaW4gZ3VpZGluZyB0aGUgY29tcGxleCB0byBpdHMgaW50ZW5kZWQgdGFyZ2V0IHNpdGUgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyXCIvPi4gVG8gZW5zdXJlIGJvdGggcHJlY2lzaW9uIGFuZCBzYWZldHksIHdlIG1ldGljdWxvdXNseSBjaG9zZSBhbmQgcmlnb3JvdXNseSBjaGVja2VkIHRoZSBzcGFjZXIgdXNpbmcgdGhlIDxhIGhyZWY9XCJodHRwczovL3d3dy5zeW50aGVnby5jb20vcHJvZHVjdHMvYmlvaW5mb3JtYXRpY3MvY3Jpc3ByLWRlc2lnbi10b29sXCI+Q1JJU1BpY2sgc29mdHdhcmU8L2E+PFN1cFNjcm9sbExpbmsgbGFiZWw9XCIzXCIvPi4gVGhpcyBhbGxvd2VkIHVzIHRvIGV2YWx1YXRlIHdoZXRoZXIgb3VyIFNwYWNlciB3b3VsZCBiZSBsaWtlbHkgdG8gdGFyZ2V0IG90aGVyIHJlZ2lvbnMgdGhhbiBvdXIgdGFyZ2V0IHNpdGUgYW5kIHRoZXJlZm9yZSBhbGxvd2luZyB1cyB0byBhbmFseXNlIGFuZCBwcmVkaWN0IHBvdGVudGlhbCBvZmYtdGFyZ2V0IGVmZmVjdHMsIGVuc3VyaW5nIHRoYXQgZXJyb25lb3VzIGVkaXRzIGFyZSBtaW5pbWlzZWQuIEJ5IG9wdGltaXNpbmcgdGhlIHNwYWNlciBzZWxlY3Rpb24sIHdlIGhhdmUgbm90IG9ubHkgc2lnbmlmaWNhbnRseSBlbmhhbmNlZCB0aGUgb3ZlcmFsbCBlZGl0aW5nIGVmZmljaWVuY3ksIHN0cmlraW5nIGEgYmFsYW5jZSBiZXR3ZWVuIHByZWNpc2lvbiBhbmQgcGVyZm9ybWFuY2UsIGJ1dCBlc3BlY2lhbGx5IGVuc3VyZWQgdGhlIHV0bW9zdCBhY2N1cmFjeSBpbiBkaXJlY3RpbmcgdGhlIFByaW1lIEVkaXRvciwgZnVydGhlciBjb250cmlidXRpbmcgdG8gdGhlIHNhZmV0eSBvZiB0aGUgZWRpdGluZyBwcm9jZXNzLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZ3VyZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Jpb3NhZmV0eS93aWtpL2JpbGQucG5nXCIgc3R5bGU9e3toZWlnaHQ6IFwiMTAlXCIsIHdpZHRoOlwiYXV0b1wifX0vPlxuICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+RmlndXJlIDU8L2I+SWxsdXN0cmF0aW9uIG9mIHRoZSBpbnRyb2R1Y3Rpb24gb2Ygc2lsZW50IG11dGF0aW9ucyBsZWFkaW5nIHRvIHRoZSBQQU0gZGlzcnVwdC4gPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8SDQgdGV4dD1cIlJpYm9zd2l0Y2hcIj48L0g0PlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFJpYm9zd2l0Y2hlcyBhcmUgc2VnbWVudHMgb2YgYW4gUk5BIHN0cmFuZCB0aGF0IGJpbmQgdG8gc21hbGwgbW9sZWN1bGVzLCBjYXVzaW5nIHRoZW0gdG8gY2hhbmdlIHRoZWlyIHNlY29uZGFyeSBzdHJ1Y3R1cmUgYnkgZm9ybWluZyBoYWlycGluIHN0cnVjdHVyZXMuIFRoaXMgcHJvY2VzcyByZWd1bGF0ZXMgZ2VuZSBleHByZXNzaW9uIGF0IHRoZSB0cmFuc2xhdGlvbiBsZXZlbCBieSBwcmV2ZW50aW5nIHJpYm9zb21lcyBmcm9tIGJpbmRpbmcgYXQgdGhlIFJCUyBhbmQgdHJhbnNsYXRpbmcgdGhlIGNvZGluZyByZWdpb24gb24gdGhlIFJOQSBzdHJhbmQuIDBGb3Igb3VyIHByb2plY3Qgd2UgYWxzbyBjb25zaWRlcmVkIGFuIGlvbi1zZW5zaXRpdmUgcmlib3N3aXRjaCwgc3BlY2lmaWNhbGx5IGRlcGVuZGVudCBvbiBzb2RpdW0gaW9ucyAoTmFcdTIwN0EpLCBhcyBhIHJlZ3VsYXRvcnkgbWVjaGFuaXNtLiBUaGUgc2Vjb25kYXJ5IHN0cnVjdHVyZSBvZiB0aGlzIHJpYm9zd2l0Y2ggcHJldmVudHMgdGhlIGJpbmRpbmcgb2Ygcmlib3NvbWVzIHRvIHRoZSByaWJvc29tZSBiaW5kaW5nIHNpdGUgKFJCUykgdW5kZXIgbm9ybWFsIGNvbmRpdGlvbnMsIHRodXMgaW5oaWJpdGluZyB0aGUgdHJhbnNsYXRpb24gb2YgdGhlIHN1YnNlcXVlbnQgbVJOQS4gV2hlbiBzb2RpdW0gaW9ucyBiaW5kIHRvIHRoZSByaWJvc3dpdGNoLCBhIHN0cnVjdHVyYWwgY2hhbmdlIG9jY3VycywgZXhwb3NpbmcgdGhlIFJCUywgd2hpY2ggYWxsb3dzIGZvciB0aGUgdHJhbnNsYXRpb24gb2YgdGhlIG1STkEgYW5kIHRoZSBwcm9kdWN0aW9uIG9mIG91ciBmdXNpb24gcHJvdGVpbiB3aGljaCBpcyB0aGUgbWFpbiBjb21wb25lbnQgb2Ygb3VyIHByaW1lIGVkaXRpbmcgc3lzdGVtIGFuZCB0aGVyZWZvcmUgb2YgZW5vcm1vdXMgaW1wb3J0YW5jZSBmb3IgaXQgdG8gd29yayA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjRcIi8+LiBJbiB0aGUgY29udGV4dCBvZiB0aGUgQ0ZUUiBtdXRhdGlvbiBhbmQgaXRzIGVmZmVjdHMgb24gdGhlIGNlbGwsIHRoZSBlbGV2YXRlZCBOYVx1MjA3QSBsZXZlbHMgcGxheSBhIGNydWNpYWwgcm9sZS4gRHVlIHRvIHRoZSBkeXNmdW5jdGlvbmFsIENGVFIgY2hhbm5lbCwgd2hpY2ggZmFpbHMgdG8gcHJvcGVybHkgZnVuY3Rpb24gYXMgYSBjaGxvcmlkZSBjaGFubmVsLCB0aGUgRU5hQyBjaGFubmVsIChlcGl0aGVsaWFsIHNvZGl1bSBjaGFubmVsKSBiZWNvbWVzIHVwcmVndWxhdGVkLiBUaGlzIHVwcmVndWxhdGlvbiByZXN1bHRzIGluIGFuIGluY3JlYXNlZCB0cmFuc3BvcnQgb2Ygc29kaXVtIGlvbnMgaW50byB0aGUgY2VsbCwgbGVhZGluZyB0byBhIGhpZ2hlciBpbnRyYWNlbGx1bGFyIHNvZGl1bSBjb25jZW50cmF0aW9uLiBUaGlzIGVsZXZhdGVkIE5hXHUyMDdBIGNvbmNlbnRyYXRpb24gY3JlYXRlcyBhIHNwZWNpZmljIGlvbmljIGVudmlyb25tZW50IHRoYXQgY291bGQgcG90ZW50aWFsbHkgYmUgdXRpbGl6ZWQgdG8gcmVndWxhdGUgb3VyIFByaW1lLUVkaXRpbmcgY29tcGxleCBpbiBhIHRhcmdldGVkIG1hbm5lci4gR2l2ZW4gdGhlc2Ugc3BlY2lmaWMgaW9uaWMgY2hhbmdlcyBpbiB0aGUgY2VsbCwgd2UgY291bGQgaGF2ZSBhIGRpc2Vhc2Utc3BlY2lmaWMgcmVndWxhdGlvbiBvZiBvdXIgUHJpbWUtRWRpdGluZyBzeXN0ZW0gYmFzZWQgb24gdGhlIGlvbmljIHNpdHVhdGlvbiB0eXBpY2FsIG9mIHRoaXMgY29uZGl0aW9uLiBIb3dldmVyLCBkZXNwaXRlIHRoZSBpbml0aWFsIHByb21pc2Ugb2YgdGhpcyBhcHByb2FjaCwgYWZ0ZXIgZnVydGhlciByZXNlYXJjaCwgd2UgY29uY2x1ZGVkIHRoYXQgdGhlIHJpYm9zd2l0Y2gsIGV2ZW4gY29uc2lkZXJpbmcgdGhlIGlvbiBsZXZlbHMgd2l0aGluIGVwaXRoZWxpYWwgY2VsbHMsIGlzIG92ZXJhbGwgdG9vIG5vbnNwZWNpZmljIGFuZCB0aGVyZWZvcmUgdG9vIHVucmVsaWFibGUgYXMgYSByZWd1bGF0b3J5IG1lY2hhbmlzbS4gQWx0aG91Z2ggdGhlIGlvbiBsZXZlbHMgaW4gQ0ZUUiBjZWxscyBhcmUgbXVjaCBsb3dlciwgdGhlcmUgYXJlIHN0aWxsIGxvdyBjb25jZW50cmF0aW9ucyBvZiBzb2RpdW0gaW9ucywgd2hpY2ggY2FuIGxlYWQgdG8gdGhlIHJpYm9zd2l0Y2ggbm90IGJlaW5nIGNvbXBsZXRlbHkgc3dpdGNoZWQgb2ZmLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZ3VyZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Jpb3NhZmV0eS93aWtpL2JpbGQtMi5wbmdcIiBzdHlsZT17e2hlaWdodDogXCIxMCVcIiwgd2lkdGg6IFwiYXV0b1wifX0vPlxuICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+RmlndXJlIDY8L2I+SWxsdXN0cmF0aW9uIG9mIHRoZSBtZWNoYW5pc20gb2YgYWN0aW9uIG9mIHRoZSByaWJvc3dpdGNoLiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIEFzIGEgZnVydGhlciBhcHByb2FjaCB0byBkZXZlbG9waW5nIGFsdGVybmF0aXZlIHJpYm9zd2l0Y2ggdmFyaWFudHMsIHdlIGNvbnNpZGVyZWQgdGhlIHBvc3NpYmlsaXR5IG9mIGFuIFJOQS1yZWd1bGF0ZWQgcmlib3N3aXRjaCB0YXJnZXRpbmcgdGhlIGRlZmVjdGl2ZSBtUk5BIHNlcXVlbmNlIG9mIHRoZSBnZW5ldGljYWxseSBkZWZlY3RpdmUgQ0ZUUiBnZW5lLiBUaGUgYmFzaWMgaWRlYSBiZWhpbmQgdGhpcyBjb25jZXB0IHdhcyB0aGF0IHRoZSByaWJvc3dpdGNoIHNwZWNpZmljYWxseSBiaW5kcyB0byBhIHJlZ2lvbiBvbiB0aGUgQ0ZUUiBtUk5BIGNvbnRhaW5pbmcgdGhlIEY1MDhcdTAzOTQgbXV0YXRpb24uIFRoaXMgYmluZGluZyBzaG91bGQgaW5kdWNlIGEgc3RydWN0dXJhbCBjaGFuZ2UgaW4gdGhlIHJpYm9zd2l0Y2ggb24gb3VyIHByaW1lIGVkaXRpbmcgY29tcGxleFx1MjAxOXMgbVJOQSB0aGF0IHVsdGltYXRlbHkgbGVhZHMgdG8gZXhwb3N1cmUgb2YgdGhlIFJCUyB0byBhbGxvdyB0cmFuc2xhdGlvbiBvZiB0aGUgZG93bnN0cmVhbSBzZXF1ZW5jZS4gVGhpcyBtZWNoYW5pc20gd291bGQgYmUgZGVzaWduZWQgdG8gcmVhY3Qgc3BlY2lmaWNhbGx5IHRvIHRoZSBkZWZlY3RpdmUgQ0ZUUiBtUk5BIGFuZCBvbmx5IGNhdXNlIGEgY2hhbmdlIGluIHRoZSBzZWNvbmRhcnkgc3RydWN0dXJlIGluIHRoZSBwcmVzZW5jZSBvZiB0aGUgc3BlY2lmaWMgbXV0YXRpb24uIFRoZSByaWJvc3dpdGNoIGNvdWxkIHRodXMgZW5zdXJlIHNlbGVjdGl2ZSBhbmQgZGlzZWFzZS1zcGVjaWZpYyBhY3RpdmF0aW9uIG9mIG91ciBwcmltZSBlZGl0aW5nIGNvbXBsZXgsIHdoaWNoIHdvdWxkIGJlIG9mIHBhcnRpY3VsYXIgaW50ZXJlc3QgaW4gdGhlIGNvbnRleHQgb2YgZ2VuZXRpYyBkaXNlYXNlcyBzdWNoIGFzIGN5c3RpYyBmaWJyb3Npcy4gSG93ZXZlciwgd2UgZGlkIG5vdCBwdXJzdWUgdGhpcyBhcHByb2FjaCBhbnkgZnVydGhlci4gQSBtYWpvciByZWFzb24gZm9yIHRoaXMgd2FzIHRoZSBsYWNrIG9mIHN1ZmZpY2llbnQgbGl0ZXJhdHVyZSBwcm92aWRpbmcgYSBzb3VuZCBzY2llbnRpZmljIGJhc2lzIGZvciB0aGlzIHNwZWNpZmljIGFwcGxpY2F0aW9uIG9mIGEgcmlib3N3aXRjaC4gSW5cbiAgICAgICAgICBhZGRpdGlvbiwgb3VyIHJlc2VhcmNoIHN0ZWVyZWQgdXMgaW4gYSBkaWZmZXJlbnQgZGlyZWN0aW9uLCBwYXJ0aWN1bGFybHkgd2l0aCByZWdhcmQgdG8gdGhlIGFsdGVybmF0aXZlIG1lY2hhbmlzbSBpbnZvbHZpbmcgdGhlIFhCUDEgaW50cm9uIHRvIHJlZ3VsYXRlIHRoZSBwcmltZSBlZGl0aW5nIHN5c3RlbS4gVGhpcyBhbHRlcm5hdGl2ZSBzZWVtZWQgbW9yZSBwcm9taXNpbmcgYW5kIHdhcyBiYXNlZCBvbiBhbiBlc3RhYmxpc2hlZCByZWd1bGF0b3J5IG1lY2hhbmlzbSB0aGF0IGlzIHRyaWdnZXJlZCBieSBjZWxsdWxhciBzdHJlc3MgYW5kIHNwZWNpZmljYWxseSByZXNwb25kcyB0byBtaXNmb2xkaW5nIHByb2Nlc3Nlcy5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPEg0IHRleHQ9XCJYQlAxIEludHJvblwiPjwvSDQ+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICBBZnRlciBleHRlbnNpdmUgcmVzZWFyY2gsIHdlIGRpc2NvdmVyZWQgYSByZWd1bGF0b3J5IHN5c3RlbSBpbiBldWthcnlvdGljIGNlbGxzLCB0aGUgWEJQMSBtZWNoYW5pc20uIFRoZSBhY3RpdmF0aW9uIG9mIFhCUDEgaXMgYW4gaW1wb3J0YW50IG1lY2hhbmlzbSB0aGF0IG9jY3VycyBhcyBwYXJ0IG9mIHRoZSBVbmZvbGRlZCBQcm90ZWluIFJlc3BvbnNlIChVUFIpLCBhIGNlbGx1bGFyIHN0cmVzcyByZXNwb25zZSB0cmlnZ2VyZWQgYnkgdGhlIGFjY3VtdWxhdGlvbiBvZiBtaXNmb2xkZWQgcHJvdGVpbnMgaW4gdGhlIGVuZG9wbGFzbWljIHJldGljdWx1bSAoRVIpLiBUaGUgRVIgaXMgYSBrZXkgY2VsbHVsYXIgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBwcm90ZWluIGZvbGRpbmcgYW5kIHRyYW5zcG9ydC4gV2hlbiBtYW55IG1pc2ZvbGRlZCBwcm90ZWlucyBhY2N1bXVsYXRlIGluIHRoZSBFUiwgYSBzcGVjaWZpYyByZWd1bGF0b3J5IG1lY2hhbmlzbSBpcyBhY3RpdmF0ZWQgdG8gcmVkdWNlIHRoZSBzdHJlc3Mgb24gdGhlIEVSLiBYQlAxIGFjdGl2YXRpb24gaXMgY29udHJvbGxlZCBieSBhIHByb3RlaW4gY2FsbGVkIElSRTFcdTAzQjEsIHdoaWNoIGlzIGVtYmVkZGVkIGluIHRoZSBFUiBtZW1icmFuZS4gSVJFMVx1MDNCMSBhY3RzIGFzIGEgc2Vuc29yIGZvciBwcm90ZWluIG1pc2ZvbGRpbmcgc3RyZXNzIGluIHRoZSBFUi4gT25jZSBJUkUxXHUwM0IxIGRldGVjdHMgbWlzZm9sZGVkIHByb3RlaW5zLCBpdCBkaW1lcml6ZXMgYW5kIGJlY29tZXMgYWN0aXZhdGVkIHRocm91Z2ggYXV0b3Bob3NwaG9yeWxhdGlvbi4gVGhpcyBhY3RpdmF0aW9uIHN3aXRjaGVzIG9uIHRoZSBlbmRvcmlib251Y2xlYXNlIGFjdGl2aXR5IG9mIElSRTFcdTAzQjEsIHdoaWNoIGlzIGEgY3J1Y2lhbCBzdGVwIGluIHRoZSBhY3RpdmF0aW9uIG9mIFhCUDEuIFRoZSBtUk5BIGZvciBYQlAxIGlzIGNvbnRpbnVvdXNseSB0cmFuc2NyaWJlZCBpbiB0aGUgbnVjbGV1cyBhbmQgdHJhbnNwb3J0ZWQgdG8gdGhlIGN5dG9wbGFzbSwgd2hlcmUgaXQgY29udGFpbnMgYW4gaW50cm9uIHRoYXQgaXMgbm90IG5vcm1hbGx5IHNwbGljZWQgb3V0LiBUaGlzIGludHJvbiBjb250YWlucyBhIHN0b3AgY29kb24sIHByZXZlbnRpbmcgdGhlIHRyYW5zbGF0aW9uIG9mIGEgZnVuY3Rpb25hbCBYQlAxIHByb3RlaW4uIEhvd2V2ZXIsIHdoZW4gRVIgc3RyZXNzIGFjdGl2YXRlcyBJUkUxXHUwM0IxLCB0aGUgZW5kb3JpYm9udWNsZWFzZSBkb21haW4gb2YgSVJFMVx1MDNCMSBzcGxpY2VzIHRoaXMgaW50cm9uIG91dCBvZiB0aGUgWEJQMSBtUk5BLiBUaGlzIGlzIGFuIHVuY29udmVudGlvbmFsIHNwbGljaW5nIGV2ZW50LCBhcyBpdCBvY2N1cnMgaW4gdGhlIGN5dG9wbGFzbSByYXRoZXIgdGhhbiBpbiB0aGUgbnVjbGV1cy4gT25jZSB0aGUgaW50cm9uIGlzIHJlbW92ZWQsIHRoZSBzcGxpY2VkIFhCUDEgbVJOQSBjYW4gYmUgdHJhbnNsYXRlZCBpbnRvIGEgZnVuY3Rpb25hbCBYQlAxIHByb3RlaW4uIFRoaXMgYWN0aXZhdGVkIFhCUDEgYWN0cyBhcyBhIHRyYW5zY3JpcHRpb24gZmFjdG9yLCB0dXJuaW5nIG9uIGdlbmVzIHRoYXQgaW5jcmVhc2UgdGhlIHByb3RlaW4tZm9sZGluZyBjYXBhY2l0eSBvZiB0aGUgRVIgYW5kIHByb21vdGUgdGhlIGRlZ3JhZGF0aW9uIG9mIG1pc2ZvbGRlZCBwcm90ZWlucy4gSW4gdGhpcyB3YXksIFhCUDEgaGVscHMgdGhlIGNlbGwgY29wZSB3aXRoIEVSIHN0cmVzcyBhbmQgcmVzdG9yZSBiYWxhbmNlIGluIHRoZSBwcm90ZWluLWZvbGRpbmcgcHJvY2Vzcy4gVGh1cywgdGhpcyBtZWNoYW5pc20gb3JpZ2luYWxseSBmdW5jdGlvbnMgd2l0aGluIHRoZSBjZWxsIGluIHRoZSBjb250ZXh0IG9mIEVSIHN0cmVzcyB0byBtYWludGFpbiBFUiBmdW5jdGlvbiB3aGVuIHByb3RlaW4gZm9sZGluZyBpcyBkaXNydXB0ZWQuIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNVwiLz48U3VwU2Nyb2xsTGluayBsYWJlbD1cIjZcIi8+IE91ciBpZGVhIHdhcyB0aGVyZWZvcmUgdG8gaW50ZWdyYXRlIHRoaXMgaW50cm9uIGludG8gdGhlIG1STkEgZW5jb2Rpbmcgb3VyIHByaW1lLWVkaXRpbmcgY29tcGxleCBhbmQgdGh1cyB1c2UgdGhpcyBtZWNoYW5pc20gdG8gZW5zdXJlIHRoYXQgYSBmdW5jdGlvbmFsIHByaW1lIGVkaXRvciBpcyBvbmx5IHN5bnRoZXNpemVkIHdoZW4gdGhlcmUgaXMgYSBoaWdoIGFjY3VtdWxhdGlvbiBvZiBtaXNmb2xkZWQgcHJvdGVpbnMgaW4gdGhlIGNlbGwgKHNpbWlsYXIgdG8gRjUwOGRlbCkuIFRoaXMgd291bGQgdGhlcmVmb3JlIHJlcHJlc2VudCBhbiBvcHRpbWFsIHNhZmV0eSBhc3BlY3QsIGFzIG91ciBmdXNpb24gcHJvdGVpbiwgd2hpY2ggaXMgZXNzZW50aWFsIGZvciBwcmltZSBlZGl0aW5nLCBjYW5ub3QgYmUgZnVsbHkgc3ludGhlc2lzZWQgYXMgbG9uZyBhcyB0aGUgZ2VuZXRpYyBkZWZlY3QgaXMgbm90IHByZXNlbnQgaW4gdGhlIGNlbGwuIEFjY29yZGluZ2x5LCB0aGlzIHByb3ZpZGVzIHRoZSBzZWN1cml0eSB0aGF0IG5vIGhlYWx0aHkgY2VsbHMsIGFzIHdlbGwgYXMgY29ycmVjdGx5IGVkaXRlZCBjZWxscywgY2Fubm90IGJlIGVkaXRlZCwgd2hpY2ggaXMgYW4gZW5vcm1vdXMgY29udHJpYnV0aW9uIHRvIGJpb3NhZmV0eS4gSG93ZXZlciwgdGhlcmUgd2FzIHRvbyBtdWNoIHVuY2VydGFpbnR5IGFib3V0IHRoZSBleHRlbnQgdG8gd2hpY2ggb3RoZXIgZmFjdG9ycywgc3VjaCBhcyBtaXNmb2xkZWQgcHJvdGVpbnMgdGhhdCBhcmUgbm90IGFzc29jaWF0ZWQgd2l0aCB0aGUgQ0ZUUiBwcm90ZWluLCBwbGF5IGEgcm9sZSBpbiB0aGlzIG1lY2hhbmlzbS4gQW5kIHNpbmNlIHdlIGNvdWxkIG5vdCBhbmQgZGlkIG5vdCB3YW50IHRvIHRha2UgdGhlIHJpc2sgb2Ygc3VjaCBmYWN0b3JzIGluaXRpYXRpbmcgdGhlIHN5c3RlbSwgd2UgZGVjaWRlZCBhZ2FpbnN0IHVzaW5nIGl0LiBUbyBjbGFyaWZ5IHRoaXMgdW5rbm93biBjb3JyZWxhdGlvbiwgd2UgaGF2ZSBjb25zaWRlcmVkIGEgZnV0dXJlIGV4cGVyaW1lbnQgaW4gd2hpY2ggd2Ugd2FudCB0byBzd2l0Y2ggdGhpcyBpbnRyb24gaW4gZnJvbnQgb2YgYSBmbHVvcmVzY2VudCBtYXJrZXIgYW5kIGV4cHJlc3MgaXQgaW4gY2VsbHMgd2l0aCBkZWZlY3RpdmUgQ0ZUUiBpbiBvcmRlciB0byBjb25maXJtL2ludmVzdGlnYXRlIHRoZSBkZXBlbmRlbmNlIG9mIGludHJvbiBzcGxpY2luZyBhbmQgdGhlIHByZXNlbmNlIG9mIENGVFIgRjUwOGRlbC5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJTYWZldHkgYXNwZWN0cyBvZiBvdXIgQWlyYnVkZHlcIiBpZD1cIkJpb3NhZmV0eTJcIj5cbiAgICAgICAgICA8SDQgdGV4dD1cIlNPUlQgTE5QIGFuZCBDeXRvdG94aWNpdHlcIj48L0g0PlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFdlIGhhdmUgY2FyZWZ1bGx5IGNvbnNpZGVyZWQgdGhlIGJpb3NhZmV0eSBhc3BlY3RzIG9mIG91ciBkZWxpdmVyeSBzeXN0ZW0sIHN0YXJ0aW5nIHdpdGggdGhlIGRlY2lzaW9uIGJldHdlZW4gQWRlbm8tYXNzb2NpYXRlZCB2aXJ1c2VzIChBQVYpIG9yIExOUHMgYXMgZGVsaXZlcnkgc3lzdGVtcy4gT3VyIGNvbXBhcmlzb24gcmV2ZWFsZWQgdGhhdCB0aGUgYmlvY29tcGF0aWJpbGl0eSBhbmQgc2FmZXR5IG9mIExOUHMgYXJlIHBhcmFtb3VudCBmb3Igb3VyIGFwcHJvYWNoLiBUaGF0IGlzIHdoeSB3ZSBjaG9zZSBzZWxlY3RpdmUgb3JnYW4tdGFyZ2V0aW5nIChTT1JUKSBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSBbTGluayBMTlAgdGV4dF0gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI3XCIvPiBpbiB0aGUgY29udGV4dCBvZiB0YXJnZXRlZCBwdWxtb25hcnkgbVJOQSBkZWxpdmVyeS4gT25lIG9mIG91ciBwcmltYXJ5IGNvbmNlcm5zIHdpdGggdGhlIExOUCB3YXMgdGhlIHBvdGVudGlhbCBjeXRvdG94aWNpdHkgb2YgcG9seWV0aHlsZW5lIGdseWNvbCAoUEVHKSwgYSBjb21tb24gc3RhYmlsaXppbmcgYWdlbnQgaW4gTE5QIGZvcm11bGF0aW9ucy4gQXdhcmUgb2YgdGhlIGltbXVuZSByZXNwb25zZXMgUEVHIGNhbiB0cmlnZ2VyLCBwb3RlbnRpYWxseSBsZWFkaW5nIHRvIGN5dG90b3hpY2l0eSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjhcIi8+LCB3ZSBhaW1lZCBhdCBvcHRpbWl6aW5nIGl0cyBjb25jZW50cmF0aW9uIGluIG91ciBTT1JUIExOUHMgdG8gbWluaW1pemUgc3VjaCByZWFjdGlvbnMgd2hpbGUgbWFpbnRhaW5pbmcgdGhlcmFwZXV0aWMgZWZmaWNhY3kuIEJ5IHRoZSB1c2Ugb2YgbG93IG1vbGVjdWxhciB3ZWlnaHQgUEVHLCB3ZSBhZGRyZXNzZWQgdGhpcyBwcm9ibGVtLiBUbyB0ZXN0IHdlYXRoZXIgb3VyIGFwcHJvYWNoIHN1Y2NlZWRlZCwgd2UgY29uZHVjdGVkIE1UVCBhbmQgcHJvbGlmZXJhdGlvbiBhc3NheXMgdG8gZW5zdXJlIHRoYXQgb3VyIExOUCBwb3NlZCBubyBjeXRvdG94aWNpdHkgcmlza3MuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxINCB0ZXh0PVwiUHJlY2lzaW9uIG9mIG91ciBTT1JUIExOUFwiPjwvSDQ+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgVG8gZnVydGhlciBpbXByb3ZlIHNhZmV0eSwgd2UgZm9jdXNlZCBvbiByZWR1Y2luZyBvZmYtdGFyZ2V0IGVmZmVjdHMuIEJ5IGluY29ycG9yYXRpbmcgc3BlY2lmaWMgU09SVCBtb2xlY3VsZXMsIHN1Y2ggYXMgcGVybWFuZW50bHkgY2F0aW9uaWMgbGlwaWRzIGxpa2UgRE9UQVAgW0xpbmsgTE5QIGRlc2lnbl0sIHdlIGVuc3VyZWQgdGhhdCB0aGUgbmFub3BhcnRpY2xlcyBhcmUgc3lzdGVtYXRpY2FsbHkgZGlyZWN0ZWQgdG8gdGhlIGx1bmdzLiBUaGlzIHByZWNpc2UgdGFyZ2V0aW5nIGlzIHBhcnRpY3VsYXJseSBiZW5lZmljaWFsIGZvciByZXNwaXJhdG9yeSBkaXNlYXNlcywgYXMgaXQgZW5oYW5jZXMgdGhlcmFwZXV0aWMgZWZmZWN0aXZlbmVzcyB3aGlsZSBsaW1pdGluZyB0aGUgaW1wYWN0IG9uIG5vbi10YXJnZXQgb3JnYW5zLiBPdXIgb3V0bG9vayBvZiBhbnRpYm9keSBjb25qdWdhdGlvbiBhcyBzdXJmYWNlIG1vZGlmaWNhdGlvbiBvZiBvdXIgTE5QIGZvciBjZWxsIHR5cGUtc3BlY2lmaWMgZGVsaXZlcnksIG1vcmUgZXhhY3RseSBjbHViIGNlbGxzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiOVwiLz4gYW5kIGlvbm9jeXRlcyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjEwXCIvPiBhcyBDRlRSLWV4cHJlc3NpbmcgbHVuZyBlcGl0aGVsaWFsIGNlbGxzLCB3b3VsZCByb3VuZCBvZmYgdGhpcyBhc3BlY3QuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIEluIHN1bW1hcnksIG91ciBkZXNpZ24gc3RyYXRlZ3kgZW1waGFzaXplcyBib3RoIHNhZmV0eSBhbmQgZWZmaWNhY3kuIFRoZSBjYXJlZnVsIG9wdGltaXphdGlvbiBvZiBjb21wb25lbnRzIGxpa2UgUEVHIDIwMDAgYW5kIHRoZSB1c2Ugb2YgdGFyZ2V0ZWQgZGVsaXZlcnkgbW9sZWN1bGVzIGFsbG93IFNPUlQgTE5QcyB0byBkZWxpdmVyIHRoZXJhcGV1dGljIGFnZW50cyBkaXJlY3RseSB0byB0aGUgbHVuZ3MsIHJlZHVjaW5nIHN5c3RlbWljIGV4cG9zdXJlIGFuZCBtaW5pbWl6aW5nIHNpZGUgZWZmZWN0cy4gVGhpcyB0YXJnZXRlZCBhcHByb2FjaCBlbnN1cmVzIG1vcmUgZWZmZWN0aXZlIHRyZWF0bWVudHMsIGVzcGVjaWFsbHkgZm9yIGNvbmRpdGlvbnMgcmVxdWlyaW5nIGxvY2FsaXplZCBpbnRlcnZlbnRpb24uXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICA8L1NlY3Rpb24+XG4gICAgICA8U2VjdGlvbiB0aXRsZT1cIkJpb3NlY3VyaXR5XCIgaWQ9XCJCaW9zZWN1cml0eVwiPlxuICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkFib3V0IE91ciBQcm9qZWN0XCIgaWQ9XCJCaW9zZWN1cml0eTFcIj5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICBPdXIgcHJvamVjdCBmb2N1c2VzIG9uIHRoZSBnZW5ldGljIGRpc2Vhc2UgY3lzdGljIGZpYnJvc2lzLCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSBEZWx0YS01MDggbXV0YXRpb24uIFRoZSBhaW0gaXMgdG8gY29ycmVjdCB0aGlzIG11dGF0aW9uIHVzaW5nIFByaW1lIEVkaXRpbmcsIGEgcHJlY2lzZSBnZW5vbWUtZWRpdGluZyB0ZWNobmlxdWUuIFdlIGhhdmUgZXhwbG9yZWQgZGlmZmVyZW50IHN0cmF0ZWdpZXMgdG8gb3B0aW1pemUgdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleCBmb3IgdGhpcyBzcGVjaWZpYyBhcHBsaWNhdGlvbi4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXggY29uc2lzdHMgb2YgYSBuaWNrYXNlLCBhIHJldmVyc2UgdHJhbnNjcmlwdGFzZSwgYSBwZWdSTkEuIFRoZSBwZWdSTkEgZ3VpZGVzIHRoZSBlZGl0aW5nIHByb2Nlc3MgYnkgZGlyZWN0aW5nIHRoZSBjb21wbGV4IHRvIHRoZSB0YXJnZXQgRE5BIHNlcXVlbmNlLCBhbGxvd2luZyBmb3IgcHJlY2lzZSBnZW5ldGljIG1vZGlmaWNhdGlvbnMuIEZvciB0YXJnZXRlZCBkZWxpdmVyeSwgd2Ugc2VsZWN0ZWQgTE5QcyB0byBpbnRyb2R1Y2UgdGhlIG1STkEgZW5jb2RpbmcgdGhlIFByaW1lIEVkaXRpbmcgY29tcG9uZW50cyBzcGVjaWZpY2FsbHkgaW50byBsdW5nIGVwaXRoZWxpYWwgY2VsbHMsIHdoZXJlIHRoZSBDRlRSIHByb3RlaW4gaXMgaGlnaGx5IGV4cHJlc3NlZC4gQWRkaXRpb25hbGx5LCB3ZSBpbnZlc3RpZ2F0ZWQgYWx0ZXJuYXRpdmVzIHRvIHRoZSBjb252ZW50aW9uYWwgQ2FzOSBuaWNrYXNlLCBzdWNoIGFzIHRoZSBzbWFsbGVyIENhc1ggYW5kIEZhbnpvciwgYWltaW5nIHRvIHJlZHVjZSB0aGUgb3ZlcmFsbCBzaXplIG9mIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXguIEluIG91ciBvcHRpbWl6YXRpb24gZWZmb3J0cywgd2UgYWxzbyBleHBsb3JlZCBzbWFsbGVyIHJldmVyc2UgdHJhbnNjcmlwdGFzZXMgdG8gZW5oYW5jZSB0aGUgZWZmaWNpZW5jeSBvZiB0aGUgc3lzdGVtIGluIGh1bWFuIGNlbGxzLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgRnVydGhlcm1vcmUsIHdlIGhhdmUgZGV2ZWxvcGVkIGEgbW9kdWxhciBwbGFzbWlkIHRoYXQgY29udGFpbnMgdGhlIGJhY2tib25lIG9mIG91ciBQcmltZSBFZGl0aW5nIGNvbXBsZXguIFRoZSBpbmRpdmlkdWFsIGNvbXBvbmVudHMgY2FuIGJlIGNsb25lZCBpbmRpdmlkdWFsbHkgaW50byB0aGUgYmFja2JvbmUuIFRoaXMgcGxhc21pZCBhbGxvd3MgdXMgdG8gZWl0aGVyIGRlbGl2ZXIgdGhlIGNvbnN0cnVjdCBkaXJlY3RseSBpbnRvIHRhcmdldCBjZWxscyBvciB0cmFuc2NyaWJlIHRoZSBwbGFzbWlkIGludG8gUk5BLCBlbmFibGluZyB0aGUgZGVsaXZlcnkgb2YgdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleCBpbiB0aGUgZm9ybSBvZiBtUk5BLiBUaGUgbW9kdWxhcml0eSBvZiB0aGUgcGxhc21pZCBpcyBhIGtleSBmZWF0dXJlOyBzcGVjaWZpYyByZXN0cmljdGlvbiBzaXRlcyBhcmUgaW5jbHVkZWQgdG8gZmFjaWxpdGF0ZSB0aGUgZWFzeSBleGNoYW5nZSBvZiB0aGUgY29tcGxleCdzIGNvbXBvbmVudHMuIFRoaXMgZGVzaWduIG1ha2VzIGl0IHN0cmFpZ2h0Zm9yd2FyZCB0byBhZGFwdCB0aGUgUHJpbWUgRWRpdGluZyBjb21wbGV4IGZvciB2YXJpb3VzIHVzZSBjYXNlcyBhbmQgdGhlcmFwZXV0aWMgcmVxdWlyZW1lbnRzLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgV2UgaGF2ZSBpbnZlc3RpZ2F0ZWQgc2FmZXR5IG1lY2hhbmlzbXMgdG8gY29udHJvbCB0aGUgcHJpbWUtZWRpdGluZyBjb21wbGV4LCBpbmNsdWRpbmcgYSByaWJvc3dpdGNoIHRoYXQgcmVzcG9uZHMgdG8gc29kaXVtIGlvbiBjb25jZW50cmF0aW9ucywgYnV0IGhhdmUgZGlzY2FyZGVkIGl0IGR1ZSB0byBzdXNwZWN0ZWQgaW5zdWZmaWNpZW50IHNlbnNpdGl2aXR5LiBXZSBhcmUgY3VycmVudGx5IGludmVzdGlnYXRpbmcgdGhlIHVzZSBvZiB0aGUgRVIgc3RyZXNzIHJlc3BvbnNlIHRvIGFjdGl2YXRlIHRoZSBwcmltZSBlZGl0aW5nIGNvbXBsZXggb25seSBpbiBjZWxscyB3aXRoIGhpZ2ggRVIgc3RyZXNzLCBhcyBpcyB0eXBpY2FsIGZvciBjeXN0aWMgZmlicm9zaXMuIEZ1cnRoZXIgZGV0YWlscyBjYW4gYmUgZm91bmQgaW4gdGhlIEJpb3NhZmV0eSBzZWN0aW9uLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJBc3Nlc3NpbmcgUHJvamVjdCBSaXNrc1wiIGlkPVwiQmlvc2VjdXJpdHkyXCI+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgR2l2ZW4gdGhlIHNlbnNpdGl2ZSBuYXR1cmUgb2YgZ2Vub21lIGVkaXRpbmcsIG91ciBwcm9qZWN0IHByZXNlbnRzIHNwZWNpZmljIGJpb3NlY3VyaXR5IGNvbmNlcm5zIHRoYXQgbmVlZCB0byBiZSBhc3Nlc3NlZCBhbmQgbWl0aWdhdGVkLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICA8c3Ryb25nPkR1YWwtVXNlIFBvdGVudGlhbDo8L3N0cm9uZz4gT25lIG9mIHRoZSBtYWluIGJpb3NlY3VyaXR5IHJpc2tzIGlzIHRoZSBwb3RlbnRpYWwgZm9yIGR1YWwtdXNlIG9mIHRoZSBQcmltZSBFZGl0aW5nIHRlY2hub2xvZ3kuIFRoZSBzeXN0ZW0gd2UgYXJlIGRldmVsb3BpbmcsIHdoaWxlIGludGVuZGVkIGZvciB0aGVyYXBldXRpYyB1c2UsIGNvdWxkIGJlIG1pc3VzZWQgdG8gdGFyZ2V0IG90aGVyIGdlbmVzIG9yIGdlbm9tZXMgZm9yIG1hbGljaW91cyBwdXJwb3Nlcy4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxMVwiLz4gVGhpcyBpbmNsdWRlcyB0aGUgcG9zc2liaWxpdHkgb2Ygd2VhcG9uaXppbmcgdGhlIHRlY2hub2xvZ3kgdG8gaW5kdWNlIGhhcm1mdWwgZ2VuZXRpYyBjaGFuZ2VzIGluIGNyb3BzLCBhbmltYWxzLCBvciBldmVuIGh1bWFucy4gVGhlIG1vZHVsYXIgZGVzaWduIG9mIG91ciBwbGFzbWlkIHN5c3RlbSwgYWx0aG91Z2ggaW50ZW5kZWQgdG8gZmFjaWxpdGF0ZSBvcHRpbWl6YXRpb24sIGNvdWxkIGJlIGV4cGxvaXRlZCB0byBleGNoYW5nZSBjb21wb25lbnRzIGZvciBoYXJtZnVsIGFwcGxpY2F0aW9ucywgdGhlcmVieSBpbmNyZWFzaW5nIHRoZSByaXNrIG9mIG1pc3VzZS4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPHN0cm9uZz5VbmludGVuZGVuZCBEaXNzZW1pbmF0aW9uOjwvc3Ryb25nPiBTaW5jZSBvdXIgYXBwcm9hY2ggdXNlcyBtUk5BIGRlbGl2ZXJlZCB2aWEgTE5QcywgdGhlcmUgaXMgYSByaXNrIG9mIHVuaW50ZW5kZWQgZGlzc2VtaW5hdGlvbiBpbnRvIHRoZSBlbnZpcm9ubWVudC4gSWYgdGhlIExOUHMgYXJlIG5vdCBhZGVxdWF0ZWx5IGNvbnRhaW5lZCBvciBkaXNwb3NlZCBvZiwgdGhlcmUgaXMgYSBwb3NzaWJpbGl0eSB0aGF0IHRoZXkgY291bGQgYmUgYWJzb3JiZWQgYnkgbm9uLXRhcmdldCBvcmdhbmlzbXMsIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gb2ZmLXRhcmdldCBnZW5ldGljIG1vZGlmaWNhdGlvbnMuPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxMlwiLz4gSW4gYWRkaXRpb24sIHRoZSBtUk5BIGl0c2VsZiBjb3VsZCB0aGVvcmV0aWNhbGx5IGJlIHRyYW5zZmVycmVkIGJldHdlZW4gY2VsbHMsIGVzcGVjaWFsbHkgaWYgdGFrZW4gdXAgYnkgdW5pbnRlbmRlZCBob3N0cywgcmFpc2luZyBjb25jZXJucyBhYm91dCB1bmludGVudGlvbmFsIHNwcmVhZCBpbiB0aGUgZW52aXJvbm1lbnQuIFxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgIDxzdHJvbmc+VW5hdXRob3JpemVkIEFjY2Vzczo8L3N0cm9uZz4gVGhlIGdlbmV0aWMgY29uc3RydWN0cyBhbmQgdGhlIGRldGFpbGVkIG1ldGhvZG9sb2d5IG9mIG91ciBQcmltZSBFZGl0aW5nIHN5c3RlbSBtdXN0IGJlIHNlY3VyZWx5IHN0b3JlZCBhbmQgcHJvdGVjdGVkLjxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTNcIi8+IElmIHVuYXV0aG9yaXplZCBpbmRpdmlkdWFscyB3ZXJlIHRvIGdhaW4gYWNjZXNzIHRvIHRoZSBwbGFzbWlkcywgTE5QIGZvcm11bGF0aW9ucywgb3IgZWRpdGluZyBwcm90b2NvbHMsIHRoZXJlIGlzIGEgcmlzayBvZiB0aGUgdGVjaG5vbG9neSBiZWluZyByZXBsaWNhdGVkIG9yIGFkYXB0ZWQgZm9yIHVuaW50ZW5kZWQsIHBvdGVudGlhbGx5IGhhcm1mdWwgdXNlcy4gVGhpcyBoaWdobGlnaHRzIHRoZSBpbXBvcnRhbmNlIG9mIHByb3BlciBiaW9zZWN1cml0eSBwcm90b2NvbHMgaW4gYm90aCBwaHlzaWNhbCBhbmQgZGlnaXRhbCBzdG9yYWdlIG9mIG91ciBwcm9qZWN0IG1hdGVyaWFscy4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPHN0cm9uZz5TeW50aGV0aWMgQmlvbG9neSBhbmQgaW5mb3JtYXRpb24gU2hhcmluZzo8L3N0cm9uZz4gVGhlIGVhc2Ugb2Ygc3ludGhlc2l6aW5nIGdlbmV0aWMgbWF0ZXJpYWwgbWVhbnMgdGhhdCBvdXIgcHJvamVjdCBpbmZvcm1hdGlvbiBjb3VsZCBwb3RlbnRpYWxseSBiZSB1c2VkIHRvIG9yZGVyIHNpbWlsYXIgY29uc3RydWN0cyBmcm9tIGNvbW1lcmNpYWwgc3ludGhlc2lzIHByb3ZpZGVycy48U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE0XCIvPiBXaGlsZSB0aGVzZSBwcm92aWRlcnMgZm9sbG93IGJpb3NlY3VyaXR5IGd1aWRlbGluZXMsIHRoZSBpbmNyZWFzaW5nIGFjY2Vzc2liaWxpdHkgb2Ygc3ludGhldGljIGJpb2xvZ3kgcmFpc2VzIHRoZSBjb25jZXJuIG9mIG91ciBQcmltZSBFZGl0aW5nIHN5c3RlbSBiZWluZyByZXByb2R1Y2VkIG9yIG1vZGlmaWVkIHdpdGhvdXQgb3VyIGtub3dsZWRnZS4gVGhpcyBpbmNsdWRlcyBwb3RlbnRpYWwgYXR0ZW1wdHMgdG8gYnlwYXNzIHNhZmV0eSBtZWNoYW5pc21zIG9yIGNyZWF0ZSB2YXJpYW50cyB0aGF0IGV2YWRlIGN1cnJlbnQgcmVndWxhdG9yeSBmcmFtZXdvcmtzLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICA8c3Ryb25nPlB1YmxpYyBQZXJjZXB0aW9uIGFuZCBNaXNjb21tdW5pY2F0aW9uOjwvc3Ryb25nPiBUaGVyZSBpcyBhIGJpb3NlY3VyaXR5IHJpc2sgaW4gaG93IG91ciBwcm9qZWN0J3MgdGVjaG5vbG9neSBpcyBjb21tdW5pY2F0ZWQgdG8gdGhlIHB1YmxpYy48U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE1XCIvPiBNaXNjb21tdW5pY2F0aW9uIG9yIG1pc3VuZGVyc3RhbmRpbmcgb2YgdGhlIHByb2plY3RcdTIwMTlzIGludGVudCBhbmQgY2FwYWJpbGl0aWVzIGNvdWxkIGxlYWQgdG8gbWlzaW5mb3JtYXRpb24sIGZlYXIsIG9yIGV2ZW4gYXR0ZW1wdHMgdG8gcmVwbGljYXRlIHRoZSB0ZWNobm9sb2d5IG91dHNpZGUgb2YgY29udHJvbGxlZCBhbmQgcmVndWxhdGVkIGVudmlyb25tZW50cy4gVGhpcyBjb3VsZCB1bmRlcm1pbmUgcHVibGljIHRydXN0IGluIGxlZ2l0aW1hdGUgdGhlcmFwZXV0aWMgdXNlcyBvZiBnZW5vbWUtZWRpdGluZyB0ZWNobm9sb2dpZXMgYW5kIHBvdGVudGlhbGx5IGZhY2lsaXRhdGUgbWlzdXNlLiAgXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiTWFuYWdpbmcgUmlza3NcIiBpZD1cIkJpb3NlY3VyaXR5M1wiPlxuICAgICAgICAgIDxINSB0ZXh0PVwiRHVhbC1Vc2UgUG90ZW50aWFsXCI+PC9INT5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICBUbyBtaXRpZ2F0ZSB0aGUgcmlzayBvZiBkdWFsLXVzZSwgd2hlcmUgb3VyIFByaW1lIEVkaXRpbmcgdGVjaG5vbG9neSBjb3VsZCBiZSBleHBsb2l0ZWQgZm9yIHVuaW50ZW5kZWQgYW5kIHBvdGVudGlhbGx5IGhhcm1mdWwgcHVycG9zZXMsIHdlIGhhdmUgaW1wbGVtZW50ZWQgc2V2ZXJhbCBzdHJhdGVnaWVzLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgRmlyc3RseSwgd2Ugc3RyaWN0bHkgY29udHJvbCBhY2Nlc3MgdG8gYWxsIG91ciBwcm9qZWN0IGRhdGEsIGluY2x1ZGluZyBnZW5ldGljIHNlcXVlbmNlcywgcGxhc21pZCBkZXNpZ25zLCBhbmQgcHJvdG9jb2xzLiBBY2Nlc3MgaXMgbGltaXRlZCB0byBhdXRob3JpemVkIHRlYW0gbWVtYmVycyBhbmQgY29sbGFib3JhdG9ycyB3aG8gZm9sbG93IHN0cmljdCBiaW9zZWN1cml0eSBndWlkZWxpbmVzLiBGdXJ0aGVyIGVsYWJvcmF0aW9uIG9uIHRoZXNlIGFjY2VzcyBjb250cm9scyB3aWxsIGJlIHByb3ZpZGVkIGluIHRoZSBcIlVuYXV0aG9yaXplZCBBY2Nlc3NcIiBzZWN0aW9uLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICBTZWNvbmRseSwgd2UgaW50ZW5kIHRvIGluY29ycG9yYXRlIGEgc2FmZXR5IG1lY2hhbmlzbSBpbnRvIG91ciBQcmltZSBFZGl0aW5nIGNvbXBsZXggdGhhdCBzaWduaWZpY2FudGx5IGxpbWl0cyBpdHMgcG90ZW50aWFsIG1pc3VzZS4gQnkgdXRpbGl6aW5nIHRoZSBFUiBzdHJlc3MgcmVzcG9uc2UgcGF0aHdheSwgd2Ugd291bGQgZGVzaWduIG91ciB0aGVyYXBldXRpYyBtUk5BIHRvIHVuZGVyZ28gdW5jb252ZW50aW9uYWwgc3BsaWNpbmcgb25seSBpbiBjZWxscyBleHBlcmllbmNpbmcgaGlnaCBsZXZlbHMgb2YgcHJvdGVpbiBzdHJlc3MuIE9ubHkgdGhpcyB1bmNvbnZlbnRpb25hbCBzcGxpY2luZyB3b3VsZCBjb252ZXJ0IHRoZSBtUk5BIGludG8gYSBmb3JtIHRoYXQgY2FuIGJlIHRyYW5zbGF0ZWQgaW50byB0aGUgZmluYWwgUEUgY29tcGxleC4gVGhpcyBtZWNoYW5pc20gZW5zdXJlcyB0aGF0IHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXggYmVjb21lcyBhY3RpdmUgcHJpbWFyaWx5IGluIGNlbGxzIHVuZGVyIHN1Y2ggc3RyZXNzIGNvbmRpdGlvbnMuIFdoaWxlIHRoaXMgZG9lcyBub3QgZXhjbHVzaXZlbHkgbGltaXQgdGhlIGNvbXBsZXggdG8gY3lzdGljIGZpYnJvc2lzLWFmZmVjdGVkIGNlbGxzLCBpdCBjb25zaWRlcmFibHkgbmFycm93cyB0aGUgcmFuZ2Ugb2YgY2VsbHMgd2hlcmUgYWN0aXZhdGlvbiBjYW4gb2NjdXIsIHRodXMgcHJldmVudGluZyBhcmJpdHJhcnkgYXBwbGljYXRpb24gb2YgdGhlIGVkaXRpbmcgc3lzdGVtIGFuZCByZWR1Y2luZyB0aGUgcmlzayBvZiB0YXJnZXRpbmcgdW5pbnRlbmRlZCBjZWxscy4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFRvZ2V0aGVyLCB0aGVzZSBtZWFzdXJlcyBwcm92aWRlIGEgbGF5ZXIgb2YgcHJvdGVjdGlvbiBhZ2FpbnN0IGR1YWwtdXNlIHJpc2tzLCBtYWtpbmcgaXQgbW9yZSBkaWZmaWN1bHQgZm9yIHRoZSB0ZWNobm9sb2d5IHRvIGJlIGVtcGxveWVkIG91dHNpZGUgb2YgaXRzIGludGVuZGVkIHRoZXJhcGV1dGljIGNvbnRleHQuICBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIlVuaXRlbmRlZCBEaXNzZW1pbmF0aW9uXCI+PC9INT5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgVG8gbWluaW1pemUgdGhlIHJpc2sgb2Ygb3VyIGNvbnN0cnVjdCBiZWluZyBpbmFkdmVydGVudGx5IHJlbGVhc2VkIGludG8gdGhlIGVudmlyb25tZW50LCB3ZSBhZGhlcmUgdG8gc3RyaWN0IHN0YW5kYXJkIG9wZXJhdGluZyBwcm9jZWR1cmVzIChTT1BzKSBpbiB0aGUgbGFib3JhdG9yeS4gVGhlc2UgU09QcyBhcmUgZGVzaWduZWQgdG8gZW5zdXJlIHRoYXQgYWxsIHNhZmV0eSBzdGFuZGFyZHMgYXJlIG1haW50YWluZWQsIHBhcnRpY3VsYXJseSB3aGVuIGhhbmRsaW5nIExOUHMpIGFuZCBnZW5ldGljIG1hdGVyaWFscy4gVGhpcyBpbmNsdWRlcyByaWdvcm91cyBwcm90b2NvbHMgZm9yIHN0b3JhZ2UsIGRpc3Bvc2FsLCBhbmQgZGVjb250YW1pbmF0aW9uLCByZWR1Y2luZyB0aGUgY2hhbmNlIG9mIGFjY2lkZW50YWwgZGlzc2VtaW5hdGlvbiBvZiB0aGUgbWF0ZXJpYWxzIHdlIHdvcmsgd2l0aC4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIEluIGFkZGl0aW9uIHRvIG91ciBsYWJvcmF0b3J5IHByYWN0aWNlcywgd2UgaGF2ZSBmb3JtdWxhdGVkIG91ciBMTlBzIHdpdGggc3BlY2lmaWMgY2hlbWljYWwgY29tcG9uZW50cyB0aGF0IGVuYWJsZSB0aGVtIHRvIHNlbGVjdGl2ZWx5IGZ1c2Ugd2l0aCBsdW5nIGVwaXRoZWxpYWwgY2VsbHMsIHN1Y2ggYXMgaW9ub2N5dGVzIGFuZCBjbHViIGNlbGxzLCB3aGljaCBleHByZXNzIENGVFIuIFRoaXMgc2VsZWN0aXZlIGZ1c2lvbiBlbnN1cmVzIHRoYXQgZXZlbiBpZiB0aGUgTE5QcyB3ZXJlIHRvIGFjY2lkZW50YWxseSBlbnRlciB0aGUgZW52aXJvbm1lbnQsIHRoZXkgd291bGQgb25seSBpbnRlcmFjdCB3aXRoIHRoZSBpbnRlbmRlZCBjZWxscy4gVGhpcyBhcHByb2FjaCBzaWduaWZpY2FudGx5IGVuaGFuY2VzIHRoZSBzcGVjaWZpY2l0eSBvZiB0aGUgTE5QcyBhbmQgcHJvdmlkZXMgYW4gYWRkaXRpb25hbCBsYXllciBvZiBjb250YWlubWVudCwgdGhlcmVieSByZWR1Y2luZyB0aGUgcmlzayBvZiB1bmludGVuZGVkIGRpc3NlbWluYXRpb24gb3IgZW52aXJvbm1lbnRhbCBjb250YW1pbmF0aW9uLiAgXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIExvb2tpbmcgYWhlYWQsIHdlIHBsYW4gdG8gZnVydGhlciBlbmhhbmNlIHRoZSBzcGVjaWZpY2l0eSBvZiBvdXIgTE5QcyBieSBpbmNvcnBvcmF0aW5nIGFudGlib2RpZXMgb24gdGhlaXIgc3VyZmFjZS4gVGhlc2UgYW50aWJvZGllcyB3b3VsZCBiZSBlbmdpbmVlcmVkIHRvIGJpbmQgZXhjbHVzaXZlbHkgdG8gc3VyZmFjZSBwcm90ZWlucyBwcmVzZW50IG9uIENGVFItZXhwcmVzc2luZyBsdW5nIGVwaXRoZWxpYWwgY2VsbHMsIGFkZGluZyBhbiBleHRyYSBsYXllciBvZiBjb250cm9sLiBXaGlsZSB0aGlzIGFudGlib2R5LWJhc2VkIHRhcmdldGluZyBoYXMgbm90IHlldCBiZWVuIGltcGxlbWVudGVkLCBpdCByZXByZXNlbnRzIGEgY3J1Y2lhbCBuZXh0IHN0ZXAgaW4gb3VyIGRldmVsb3BtZW50IHByb2Nlc3MsIHJlaW5mb3JjaW5nIG91ciBjb21taXRtZW50IHRvIGJpb3NlY3VyaXR5IGJ5IGxpbWl0aW5nIHRoZSBwb3RlbnRpYWwgZm9yIHVuaW50ZW5kZWQgZGlzc2VtaW5hdGlvbi4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFRvZ2V0aGVyLCB0aGVzZSBwcmFjdGljZXMgYW5kIGRlc2lnbiBzdHJhdGVnaWVzIGhlbHAgdG8gZW5zdXJlIHRoYXQgdGhlIHJpc2sgb2Ygb3VyIGNvbnN0cnVjdHMgaW5hZHZlcnRlbnRseSBhZmZlY3Rpbmcgbm9uLXRhcmdldCBvcmdhbmlzbXMgb3IgZW52aXJvbm1lbnRzIGlzIG1pbmltaXplZC4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJVbmF1dGhvcml6ZWQgQWNjZXNzXCI+PC9INT5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgVG8gcHJldmVudCB1bmF1dGhvcml6ZWQgYWNjZXNzIHRvIG91ciBnZW5ldGljIHNlcXVlbmNlcywgcGxhc21pZCBjb25zdHJ1Y3RzLCBhbmQgb3RoZXIgc2Vuc2l0aXZlIGluZm9ybWF0aW9uLCB3ZSBoYXZlIGltcGxlbWVudGVkIHN0cmljdCBpbnRlcm5hbCBiaW9zZWN1cml0eSBwb2xpY2llcy4gVGhlc2UgcG9saWNpZXMgZW5zdXJlIHRoYXQgd2UgY2FyZWZ1bGx5IG1hbmFnZSB3aGljaCBtYXRlcmlhbHMgZXhpc3QgaW4gcGh5c2ljYWwgZm9ybSBhbmQgdGhlaXIgZXhhY3Qgc3RvcmFnZSBsb2NhdGlvbnMuIFxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICBJbiB0ZXJtcyBvZiBkaWdpdGFsIHNlY3VyaXR5LCB3ZSBzdHJpY3RseSByZWd1bGF0ZSBhY2Nlc3MgdG8gb3VyIGRhdGEgc3RvcmFnZSBzeXN0ZW1zIHRocm91Z2ggYSBjb21iaW5hdGlvbiBvZiBtZWFzdXJlcy4gV2UgdXNlIGEgc2VjdXJlLCBwYXNzd29yZC1wcm90ZWN0ZWQgY2xvdWQgc3lzdGVtLCBlbnN1cmluZyBvbmx5IGF1dGhvcml6ZWQgdGVhbSBtZW1iZXJzIGNhbiBhY2Nlc3Mgc2Vuc2l0aXZlIHByb2plY3QgaW5mb3JtYXRpb24uIEFjY2VzcyB0byB0aGUgbGFiIGlzIGxpbWl0ZWQgdG8gdGVhbSBtZW1iZXJzIHdpdGggaW50ZXJuYWwga2V5cywgYW5kIG91ciBzZXJ2ZXIgc2VjdXJpdHkgaW5jbHVkZXMgc3RyaW5nZW50IGFjY2VzcyByaWdodHMgbWFuYWdlbWVudCwgYWxsb3dpbmcgb25seSBhcHByb3ZlZCBpbmRpdmlkdWFscyB0byB2aWV3LCBtb2RpZnksIG9yIHNoYXJlIHRoZSBkYXRhLiBUaGVzZSBzYWZlZ3VhcmRzIGVuc3VyZSB0aGF0IHByb2plY3QgaW5mb3JtYXRpb24gcmVtYWlucyBwcm90ZWN0ZWQgYWdhaW5zdCB1bmF1dGhvcml6ZWQgYWNjZXNzLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgRnVydGhlcm1vcmUsIHdlIGVuc3VyZSB0aGF0IGFueSBzZW5zaXRpdmUgZGF0YSBnZW5lcmF0ZWQgZHVyaW5nIG91ciBwcm9qZWN0IGlzIG9ubHkgcHVibGlzaGVkIGluIHRoZSBzdXBwbGVtZW50YXJ5IG1hdGVyaWFscyBzZWN0aW9uLCB3aGljaCBpcyBhY2Nlc3NpYmxlIGV4Y2x1c2l2ZWx5IHRvIHRob3NlIHdpdGggYW4gb2ZmaWNpYWwgaUdFTSBhY2NvdW50LiBCeSB0YWtpbmcgdGhpcyBhcHByb2FjaCwgd2UgY2FuIGxpbWl0IHRoZSBhdmFpbGFiaWxpdHkgb2Ygc2Vuc2l0aXZlIGluZm9ybWF0aW9uIGFuZCByZWR1Y2UgdGhlIHJpc2sgb2YgaXQgYmVpbmcgbWlzdXNlZC4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJTeW50aGV0aWMgQmlvbG9neSBhbmQgSW5mb3JtYXRpb24gU2hhcmluZ1wiPjwvSDU+XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIE1hbmFnaW5nIHRoZSByaXNrcyBhc3NvY2lhdGVkIHdpdGggc3ludGhldGljIGJpb2xvZ3kgYW5kIGluZm9ybWF0aW9uIHNoYXJpbmcgaXMgYSBjb21wbGV4IGNoYWxsZW5nZS4gTWFueSBvZiB0aGUgc3RyYXRlZ2llcyB3ZSB1c2UgdG8gYWRkcmVzcyBvdGhlciByaXNrcywgc3VjaCBhcyBcIlVuYXV0aG9yaXplZCBBY2Nlc3NcIiBhbmQgXCJEdWFsLVVzZSBQb3RlbnRpYWwsXCIgYXJlIGVxdWFsbHkgcmVsZXZhbnQgaW4gdGhpcyBjb250ZXh0LiBGb3IgaW5zdGFuY2UsIG91ciBzdHJpY3QgY29udHJvbCBvdmVyIGFjY2VzcyB0byBzZW5zaXRpdmUgaW5mb3JtYXRpb24gYW5kIG91ciBzYWZldHkgbWVjaGFuaXNtcyBib3RoIGhlbHAgbWl0aWdhdGUgdGhlIHJpc2tzIHBvc2VkIGJ5IHRoZSBhY2Nlc3NpYmlsaXR5IG9mIHN5bnRoZXRpYyBiaW9sb2d5IHRvb2xzLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgSG93ZXZlciwgaXQgaXMgaW1wb3J0YW50IHRvIGFja25vd2xlZGdlIHRoYXQgdGhpcyByaXNrIGlzIGluaGVyZW50IHRvIHRoZSBmaWVsZCBvZiBzeW50aGV0aWMgYmlvbG9neS4gVGhlIGVhc2Ugb2Ygb2J0YWluaW5nIGluZm9ybWF0aW9uIGFuZCwgd2l0aCB0aGUgcmlnaHQgZXhwZXJ0aXNlLCBjb21iaW5pbmcgdmFyaW91cyBjb21wb25lbnRzIHRvIGNyZWF0ZSBwb3dlcmZ1bCBhbmQgcG90ZW50aWFsbHkgaGF6YXJkb3VzIHRvb2xzIGlzIGEgZnVuZGFtZW50YWwgY29uY2Vybi4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFRvIGFkZHJlc3MgdGhpcywgd2UgYWRoZXJlIHN0cmljdGx5IHRvIGFsbCBwb2xpY2llcyBhbmQgcmVndWxhdGlvbnMgc2V0IGZvcnRoIGJ5IGlHRU0sIG91ciB1bml2ZXJzaXR5LCB0aGUgR2VybWFuIGdvdmVybm1lbnQsIGFuZCB0aGUgRXVyb3BlYW4gVW5pb24uIEJ5IGFsaWduaW5nIG91ciBwcmFjdGljZXMgd2l0aCBleGlzdGluZyByZWd1bGF0aW9ucyBvbiBzeW50aGV0aWMgYmlvbG9neSwgd2UgYWltIHRvIGNvbmR1Y3Qgb3VyIHdvcmsgcmVzcG9uc2libHkgYW5kIHJlZHVjZSB0aGUgcmlza3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBmaWVsZC4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJQdWJsaWMgUGVyY2VwdGlvbiBhbmQgTWlzY29tbXVuaWNhdGlvblwiPjwvSDU+XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIE9uZSBvZiB0aGUgY2hhbGxlbmdlcyBpbiBzY2llbnRpZmljIHJlc2VhcmNoLCBlc3BlY2lhbGx5IGluIGZpZWxkcyBsaWtlIHN5bnRoZXRpYyBiaW9sb2d5LCBpcyB0aGF0IGFkdmFuY2VtZW50cyBjYW4gb2Z0ZW4gb3V0cGFjZSBwdWJsaWMgdW5kZXJzdGFuZGluZyBhbmQgZGlzY291cnNlLiBUaGlzIGNhbiBsZWFkIHRvIGNvbmZ1c2lvbiwgZmVhciwgb3IgbWlzdHJ1c3QgaWYgdGhlIHJlc2VhcmNoIGlzIG5vdCBjb21tdW5pY2F0ZWQgZWZmZWN0aXZlbHkuIFRvIGFkZHJlc3MgdGhpcyBpc3N1ZSwgd2UgYmVsaWV2ZSB0aGF0IHNjaWVudGlmaWMgcHJvZ3Jlc3Mgc2hvdWxkIG9jY3VyIGluIGNvbnN0YW50IGRpYWxvZ3VlIHdpdGggdGhlIHB1YmxpYy4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFdlIGhhdmUgYWRvcHRlZCBhIHN0cm9uZyBIdW1hbiBQcmFjdGljZXMgYXBwcm9hY2ggdG8gZW5zdXJlIHRyYW5zcGFyZW5jeSBhbmQgZm9zdGVyIHB1YmxpYyBlbmdhZ2VtZW50LiBPdXIgZWZmb3J0cyBpbmNsdWRlIGluaXRpYXRpdmVzIGxpa2UgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsICh7c2Nyb2xsVG9JZDogJ2NmLW1vbnRoJywgcGF0aDogJy9odW1hbi1wcmFjdGljZXMnLCB0YWJJZDogJ211a29tb3ZlJyB9KX0+IE1VS09tb3ZlIDwvYT4gIGFuZCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwgKHtzY3JvbGxUb0lkOiAnRGVyIFRldXRvIHJ1ZnQhJywgcGF0aDogJy9odW1hbi1wcmFjdGljZXMnLCB0YWJJZDogJ3RldXRvcnVmdCcgfSl9PiBcIkRlciBUZXV0byBydWZ0IVwiIDwvYT4gICwgd2hlcmUgd2UgaGF2ZSB3b3JrZWQgZGlyZWN0bHkgd2l0aCBzdHVkZW50cywgZWR1Y2F0aW9uYWwgaW5zdGl0dXRpb25zLCBhbmQgcHVibGljIG9yZ2FuaXphdGlvbnMuIFRocm91Z2ggdGhlc2UgaW5pdGlhdGl2ZXMsIHdlIGFpbSB0byBleHBsYWluIG91ciBwcm9qZWN0LCBkaXNjdXNzIGl0cyBpbXBsaWNhdGlvbnMsIGFuZCBhbnN3ZXIgYW55IHF1ZXN0aW9ucywgdGh1cyBtYWludGFpbmluZyBhbiBvcGVuIGxpbmUgb2YgY29tbXVuaWNhdGlvbi4gQnkgY29sbGFib3JhdGluZyB3aXRoIGEgdmFyaWV0eSBvZiBwdWJsaWMgZW50aXRpZXMsIGluY2x1ZGluZyBwYXRpZW50IGFzc29jaWF0aW9ucywgZWR1Y2F0aW9uYWwgcHJvZ3JhbXMsIGFuZCBjb21tdW5pdHkgZ3JvdXBzLCB3ZSBlbnN1cmUgdGhhdCBvdXIgcmVzZWFyY2ggcmVtYWlucyBhY2Nlc3NpYmxlIGFuZCB1bmRlcnN0YW5kYWJsZSB0byBhIGJyb2FkZXIgYXVkaWVuY2UuICBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgVGhpcyBwcm9hY3RpdmUgYXBwcm9hY2ggaGVscHMgdXMgYWRkcmVzcyBwb3RlbnRpYWwgY29uY2VybnMsIGRlbXlzdGlmeSBvdXIgcmVzZWFyY2gsIGFuZCBjb250cmlidXRlIHRvIGEgbW9yZSBpbmZvcm1lZCBwdWJsaWMgcGVyY2VwdGlvbiBvZiBzeW50aGV0aWMgYmlvbG9neS4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICA8L1NlY3Rpb24+XG4gICAgICA8U2VjdGlvbiB0aXRsZT1cIkJpb2V0aGljc1wiIGlkPVwiQmlvZXRoaWNzXCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICBCaW9ldGhpY3MgaXMgYW4gaW50ZXJkaXNjaXBsaW5hcnkgZmllbGQgb2YgcmVzZWFyY2ggdGhhdCBhZGRyZXNzZXMgZXRoaWNhbCBpc3N1ZXMgcGVydGFpbmluZyB0byB0aGUgbGlmZSBzY2llbmNlcyBhbmQgbWVkaWNhbCByZXNlYXJjaC4gSXQgcGxheXMgYSBwaXZvdGFsIHJvbGUgaW4gY29udGVtcG9yYXJ5IHJlc2VhcmNoLCBwYXJ0aWN1bGFybHkgaW4gcHJvamVjdHMgdGhhdCBlbXBsb3kgaHVtYW4gc2FtcGxlcyBvciBkYXRhLiBUaGlzIGlzIGR1ZSB0byB0aGUgZmFjdCB0aGF0IGluIHRoZXNlIGNhc2VzLCB0aGUgcHJvdGVjdGlvbiBvZiB0aGUgcmlnaHRzIGFuZCBkaWduaXR5IG9mIHRoZSBwZW9wbGUgaW52b2x2ZWQgaXMgb2YgdGhlIHV0bW9zdCBpbXBvcnRhbmNlIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTZcIi8+LiBJbiBvcmRlciB0byBhc2NlcnRhaW4gdGhlIG5lY2Vzc2l0eSBmb3IgYW4gZXRoaWNzIGFwcGxpY2F0aW9uLCBhbiBpbnRlcnZpZXcgd2FzIGNvbmR1Y3RlZCB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2JlcmVucycsICcvaHVtYW4tcHJhY3RpY2VzJyl9PkV2YS1NYXJpYSBCZXJlbnM8L2E+LCB0aGUgc2NpZW50aWZpYyBkaXJlY3RvciBvZiB0aGUgb2ZmaWNlIG9mIHRoZSBFdGhpY3MgQ29tbWl0dGVlIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LCBhcyBwYXJ0IG9mIHRoZSBjdXJyZW50IHJlc2VhcmNoIHByb2plY3QuIEZvbGxvd2luZyBhIGNvbXByZWhlbnNpdmUgcmV2aWV3LCBpdCB3YXMgY29uY2x1ZGVkIHRoYXQgYW4gZXRoaWNzIGFwcGxpY2F0aW9uIHdhcyBub3QgbmVjZXNzYXJ5IGZvciB0aGUgc3BlY2lmaWMgcmVzZWFyY2ggcHJvamVjdC4gTmV2ZXJ0aGVsZXNzLCBhIGNvbXByZWhlbnNpdmUgcGF0aWVudCBjb25zZW50IGZvcm0gd2FzIGRldmVsb3BlZCBpbiBjb25qdW5jdGlvbiB3aXRoIEV2YS1NYXJpYSBCZXJlbnMgdG8gZ3VhcmFudGVlIHRoYXQgdGhlIGRvbm9ycyBvZiB0aGVpciBzYW1wbGVzIGFyZSBhZGVxdWF0ZWx5IGluZm9ybWVkIGFuZCBwcm92aWRlIHRoZWlyIGNvbnNlbnQgb2YgdGhlaXIgb3duIHZvbGl0aW9uLiBUaGUgZG9jdW1lbnQgZ3VhcmFudGVlcyB0aGF0IGFsbCBwZXJ0aW5lbnQgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHNhbXBsZSBjb2xsZWN0aW9uLCB1dGlsaXNhdGlvbiBhbmQgc3RvcmFnZSBpcyBwcm92aWRlZCBpbiBhbiBpbnRlbGxpZ2libGUgZm9ybWF0LiBGdXJ0aGVybW9yZSwgYW4gaW50ZXJ2aWV3IHdhcyBjb25kdWN0ZWQgd2l0aCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCd0aW1tJywgJy9odW1hbi1wcmFjdGljZXMnKX0+RHIuIFRpbW0gV2ViZXI8L2E+LCBhIHJlcHJlc2VudGF0aXZlIG9mIHRoZSBiaW9iYW5rLCB0byBkaXNjdXNzIHRoZSB0b3BpYyBvZiBiaW9ldGhpY3MgaW4gZ3JlYXRlciBkZXB0aC4gRHVyaW5nIHRoZSBjb3Vyc2Ugb2YgdGhlIGludGVydmlld3MsIHRoZSBldGhpY2FsIGFzcGVjdHMgb2Ygc2FtcGxlIHN0b3JhZ2UgYW5kIHV0aWxpc2F0aW9uIHdpdGhpbiB0aGUgYmlvYmFuayB3ZXJlIGRpc2N1c3NlZCBpbiBkZXRhaWwuIFBhcnRpY3VsYXIgYXR0ZW50aW9uIHdhcyBwYWlkIHRvIHRoZSByZXNwb25zaWJsZSBoYW5kbGluZyBhbmQgcHJvdGVjdGlvbiBvZiB0aGUgcmlnaHRzIG9mIHRoZSB0ZXN0IHN1YmplY3RzLiBUaGUgZGlzY3Vzc2lvbiBvZiBiaW9ldGhpY3MgaW4gYm90aCBpbnRlcnZpZXdzIGVtcGhhc2lzZXMgdGhlIHJlbGV2YW5jZSBvZiBldGhpY2FsIHByaW5jaXBsZXMgZm9yIHJlc2VhcmNoIGFuZCBlbnN1cmVzIHRoYXQgaXQgaXMgY29uZHVjdGVkIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgaGlnaGVzdCBldGhpY2FsIHN0YW5kYXJkcy5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJHZW5lIFRoZXJhcHlcIiBpZD1cIkJpb2V0aGljczFcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgIFRoZSBwb3RlbnRpYWwgb2YgZ2VuZSB0aGVyYXB5IHRvIHRyZWF0IGdlbmV0aWMgZGlzZWFzZXMgaXMgcHJvbWlzaW5nLCBidXQgaXQgaXMgYWxzbyBhc3NvY2lhdGVkIHdpdGggc2lnbmlmaWNhbnQgZXRoaWNhbCBpc3N1ZXMuIE9uZSBvZiB0aGUgcHJpbmNpcGFsIGNoYWxsZW5nZXMgaXMgZW5zdXJpbmcgdGhlIHNhZmV0eSBvZiB0aGUgcHJvY2VkdXJlIGFuZCB0aGUgcG90ZW50aWFsIGZvciB1bmZvcmVzZWVuIGxvbmctdGVybSBjb25zZXF1ZW5jZXMuIFN1Y2ggY29uc2VxdWVuY2VzIG1heSBvbmx5IGJlY29tZSBhcHBhcmVudCB5ZWFycyBhZnRlciB0aGUgZ2VuZXRpYyBpbnRlcnZlbnRpb24gaGFzIHRha2VuIHBsYWNlLiBUaGUgbW9kaWZpY2F0aW9uIG9mIHRoZSBnZXJtbGluZSwgd2hpY2ggYWZmZWN0cyBub3Qgb25seSB0aGUgaW5kaXZpZHVhbCBidXQgYWxzbyBmdXR1cmUgZ2VuZXJhdGlvbnMsIGlzIGEgcGFydGljdWxhcmx5IHNlbnNpdGl2ZSBpc3N1ZS4gVGhpcyBnaXZlcyByaXNlIHRvIHRoZSBxdWVzdGlvbiBvZiB0aGUgZXh0ZW50IHRvIHdoaWNoIHRoZSBkZWNpc2lvbnMgbWFkZSB0b2RheSB3aWxsIGluZmx1ZW5jZSBmdXR1cmUgZ2VuZXJhdGlvbnMgd2l0aG91dCB0aGVpciBjb25zZW50LCB0aGVyZWJ5IGplb3BhcmRpc2luZyBpbnRlcmdlbmVyYXRpb25hbCBqdXN0aWNlIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTdcIi8+LiBBbm90aGVyIGV0aGljYWwgaXNzdWUgaXMgdGhlIHBvdGVudGlhbCBmb3IgbWlzdXNlIGZvciBldWdlbmljIHB1cnBvc2VzLiBXaGlsZSB0aGUgY3VycmVudCBmb2N1cyBpcyBvbiBjb21iYXRpbmcgZGlzZWFzZSwgZnV0dXJlIGFwcGxpY2F0aW9ucyBjb3VsZCBiZSBhaW1lZCBhdCAnb3B0aW1pc2luZycgaHVtYW4gdHJhaXRzLCB3aGljaCBjb3VsZCByZXN1bHQgaW4gYSB3b3JzZW5pbmcgb2Ygc29jaWFsIGluZXF1YWxpdGllcy4gQWNjZXNzIHRvIGdlbmUgdGhlcmFweSBpcyBhbHNvIGEgc2lnbmlmaWNhbnQgaXNzdWUuIEhpZ2ggY29zdHMgY291bGQgbGltaXQgYWNjZXNzIHRvIHdlYWx0aHkgcG9wdWxhdGlvbiBncm91cHMsIHdoaWNoIHdvdWxkIHJlaW5mb3JjZSBleGlzdGluZyBpbmVxdWFsaXRpZXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxOFwiLz4uIFRoZSBpc3N1ZSBvZiBpbmZvcm1lZCBjb25zZW50IGlzIGFsc28gYSBrZXkgYXNwZWN0LiBNYW55IHBhdGllbnRzIGRvIG5vdCBoYXZlIHRoZSBuZWNlc3Nhcnkga25vd2xlZGdlIHRvIGZ1bGx5IHVuZGVyc3RhbmQgdGhlIGNvbXBsZXggcmlza3MsIHdoaWNoIHJhaXNlcyBldGhpY2FsIHF1ZXN0aW9ucyBhYm91dCB0aGVpciBkZWNpc2lvbi1tYWtpbmcgY2FwYWNpdHkuIE92ZXJhbGwsIHRoZSBkZWJhdGUgYXJvdW5kIGdlbmUgdGhlcmFweSBoaWdobGlnaHRzIHRoYXQgZXRoaWNhbCBjb25zaWRlcmF0aW9ucyBzdWNoIGFzIHNhZmV0eSwganVzdGljZSBhbmQgcGF0aWVudCByaWdodHMgbmVlZCB0byBiZSBjb25zaWRlcmVkIGFsb25nc2lkZSBzY2llbnRpZmljIHByb2dyZXNzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTlcIi8+LiAgXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiUHJpbWFyeSBDZWxsc1wiIGlkPVwiQmlvZXRoaWNzMlwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8SDQgdGV4dD1cIkludHJvZHVjdGlvbiBvZiBwcmltYXJ5IGN1bHR1cmVzXCI+PC9IND5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgQSBwcmltYXJ5IGN1bHR1cmUgaXMgZGVmaW5lZCBhcyBhIGNlbGwgY3VsdHVyZSB0aGF0IGlzIGlzb2xhdGVkIGRpcmVjdGx5IGZyb20gdGhlIHRpc3N1ZSBvZiBhbiBvcmdhbmlzbS4gSW4gb3VyIGNhc2UsIHRoZSBvcmdhbmlzbSBpcyBodW1hbi4gVGhlIGNlbGxzIGFyZSB0aGVuIGN1bHRpdmF0ZWQgaW4gYSBjb250cm9sbGVkIGVudmlyb25tZW50LCBuYW1lbHkgYW4gUzIgbGFib3JhdG9yeSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjIwXCIvPi4gUHJpbWFyeSBjdWx0dXJlcyBhcmUgYSBmdW5kYW1lbnRhbCBiaW9tZWRpY2FsIHJlc2VhcmNoIHRvb2wsIHdpZGVseSByZWdhcmRlZCBhcyBpbmRpc3BlbnNhYmxlIGR1ZSB0byB0aGVpciBjYXBhY2l0eSBmb3IgcmVhbGlzdGljIG1vZGVsbGluZyBvZiBjb21wbGV4IGNlbGwgaW50ZXJhY3Rpb25zLiBQcmltYXJ5IGNlbGxzIGFyZSBkZXJpdmVkIGRpcmVjdGx5IGZyb20gdGhlIHRpc3N1ZSBvZiBhbiBvcmdhbmlzbSBhbmQsIGFzIGEgY29uc2VxdWVuY2UsIHRoZXkgZXNzZW50aWFsbHkgcmV0YWluIHRoZWlyIG9yaWdpbmFsIHByb3BlcnRpZXMuIENvbnNlcXVlbnRseSwgdGhleSBtaXJyb3IgdGhlIGF1dGhlbnRpYyBjb25kaXRpb25zIG9mIHRoZSB0YXJnZXQgdGlzc3VlLCB3aGljaCBpcyB2aXRhbCBmb3IgYWNjdXJhdGVseSBhc3Nlc3NpbmcgdGhlIGltcGFjdCBvZiBhIHRoZXJhcGV1dGljIGFnZW50LiBJbiBjb250cmFzdCwgSEVLIGNlbGxzIHJlcHJlc2VudCB0cmFuc2Zvcm1lZCBjZWxsIGxpbmVzIHRoYXQgZXhoaWJpdCBwaHlzaW9sb2dpY2FsIHByb3BlcnRpZXMgZGlzdGluY3QgZnJvbSB0aG9zZSBvZiB0YXJnZXQgY2VsbHMgaW4gdGhlIGh1bWFuIGJvZHkuIFRoZSBlZmZlY3Qgb2YgYSB0aGVyYXBldXRpYyBhZ2VudCBpcyB0eXBpY2FsbHkgbGltaXRlZCB0byBhIHNwZWNpZmljIGNlbGwgdHlwZS4gVGhlIGludmVzdGlnYXRpb24gb2YgY2VsbC1zcGVjaWZpYyBlZmZlY3RzIGFuZCByZWFjdGlvbnMgb2YgYW4gYWN0aXZlIHN1YnN0YW5jZSBpcyBmZWFzaWJsZSB3aXRoIHRoZSB1c2Ugb2YgcHJpbWFyeSBjZWxscywgYXMgdGhlc2UgcG9zc2VzcyB0aGUgZnVuY3Rpb25hbCBjaGFyYWN0ZXJpc3RpY3MgaW5oZXJlbnQgdG8gdGhlIGNlbGwgdHlwZSB1bmRlciBjb25zaWRlcmF0aW9uLiBBbHRob3VnaCBIRUsgY2VsbHMgYXJlIHJlbGF0aXZlbHkgc3RyYWlnaHRmb3J3YXJkIHRvIGN1bHRpdmF0ZSwgdGhleSBhcmUgbGVzcyByZXByZXNlbnRhdGl2ZSBvZiBhIG51bWJlciBvZiB0aXNzdWUgdHlwZXMgYW5kIG1heSBhY3RpdmF0ZSBvdGhlciBzaWduYWxsaW5nIHBhdGh3YXlzLiBUaGUgYXV0aGVudGljaXR5IG9mIHRoZSByZWNlcHRvcnMgYW5kIHNpZ25hbGxpbmcgcGF0aHdheXMgaXMgZ3VhcmFudGVlZCwgYXMgcHJpbWFyeSBjZWxscyBzaG93IHRoZSBuYXR1cmFsIGV4cHJlc3Npb24gb2YgcmVjZXB0b3JzLCBpb24gY2hhbm5lbHMgYW5kIG90aGVyIGNlbGx1bGFyIG1lY2hhbmlzbXMuIEhFSyBjZWxscyBhcmUgb2Z0ZW4gZ2VuZXRpY2FsbHkgbW9kaWZpZWQgdG8gZXhwcmVzcyBzcGVjaWZpYyByZWNlcHRvcnMsIHdoaWNoIGNhbiBiZSB1c2VmdWwgZm9yIHNpbXBsZSB0ZXN0IHN5c3RlbXMuIEhvd2V2ZXIsIHRoaXMgZG9lcyBub3QgcmVmbGVjdCB0aGUgY29tcGxleCBlbnZpcm9ubWVudCBvZiBhIHJlYWwgdGlzc3VlLiBHaXZlbiB0aGUgc2Vuc2l0aXZpdHkgb2YgcHJpbWFyeSBjdWx0dXJlcyB0byBlbnZpcm9ubWVudGFsIGluZmx1ZW5jZXMsIHRodXMgcmVzdWx0aW5nIGluIGhpZ2hlciByaXNrIG9mIGEgY29udGFtaW5hdGlvbiwgaXQgaXMgaW1wZXJhdGl2ZSB0aGF0IHJlc2VhcmNoZXJzIGVtcGxveSBzcGVjaWFsIHNhZmV0eSBtZWFzdXJlcyB0byBlbnN1cmUgdGhlIHNhZmV0eSBvZiB0aGVtc2VsdmVzIGFuZCB0aGUgaW50ZWdyaXR5IG9mIHRoZSBjZWxscy4gUHJpbWFyeSBjdWx0dXJlcyBhcmUgZW1wbG95ZWQgZXh0ZW5zaXZlbHkgaW4gdGhlIGRldmVsb3BtZW50IG9mIHZhY2NpbmVzLCBjYW5jZXIgcmVzZWFyY2ggYW5kIHRoZSBpbnZlc3RpZ2F0aW9uIG9mIGJhc2ljIGNlbGwgcHJvY2Vzc2VzLiBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxINCB0ZXh0PVwiRXRoaWNzIGluIHdvcmsgd2l0aCBwcmltYXJ5IGN1bHR1cmVzXCI+PC9IND5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgIFRoZSB0ZXJtICdldGhpY3MnIGlzIHVzZWQgdG8gZGVzY3JpYmUgdGhlIGV4YW1pbmF0aW9uIG9mIG1vcmFsIHByaW5jaXBsZXMgdGhhdCBkZXRlcm1pbmUgdGhlIGJlaGF2aW91ciBvZiBpbmRpdmlkdWFscyBvciBncm91cHMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyMVwiLz4uIEluIGEgc2NpZW50aWZpYyBjb250ZXh0LCB0aGUgdGVybSAnZXRoaWNzJyBlbmNvbXBhc3NlcyB0aGUgZXhhbWluYXRpb24gb2YgdGhlIG1vcmFsIGp1c3RpZmlhYmlsaXR5IG9mIGFjdGlvbnMgYW5kIGRlY2lzaW9ucywgcGFydGljdWxhcmx5IHdpdGggcmVnYXJkIHRvIHRoZSB3ZWxmYXJlIG9mIGxpdmluZyBiZWluZ3MgYW5kIHRoZSByZXNwb25zaWJsZSB1c2Ugb2YgcmVzb3VyY2VzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjJcIi8+LiBUaGUgaXNvbGF0aW9uIG9mIHByaW1hcnkgY2VsbHMgZnJvbSBsaXZpbmcgb3JnYW5pc21zIHJhaXNlcyBldGhpY2FsIHF1ZXN0aW9ucywgcGFydGljdWxhcmx5IGluIHRoZSBjYXNlIG9mIGh1bWFuIG9yIGFuaW1hbCB0aXNzdWUuIEluIHRoZSBjb250ZXh0IG9mIHJlc2VhcmNoIHdpdGggYW5pbWFsIHByaW1hcnkgY2VsbHMsIGNhcmVmdWwgY29uc2lkZXJhdGlvbiBtdXN0IGJlIGdpdmVuIHRvIHRoZSBuZWVkIGZvciBhbmltYWwgc3VmZmVyaW5nIGFuZCB0aGUgcG90ZW50aWFsIGJlbmVmaXRzIG9mIHRoZSByZXNlYXJjaCA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjIzXCIvPi4gQW4gZXRoaWNhbCBkaWxlbW1hIGZyZXF1ZW50bHkgYXJpc2VzIGZyb20gdGhlIGZhY3QgdGhhdCBwcmltYXJ5IGNlbGxzIG9mZmVyIHRoZSBtb3N0IG1lYW5pbmdmdWwgZGF0YSBmcm9tIGEgYmlvbG9naWNhbCBzdGFuZHBvaW50LCB5ZXQgdGhlaXIgcHJvZHVjdGlvbiBpcyBhc3NvY2lhdGVkIHdpdGggY2hhbGxlbmdlcy4gSW4gdGhpcyBjb250ZXh0LCB0aGUgbmVjZXNzaXR5IG9mIHByaW1hcnkgY2VsbCBjdWx0dXJlcyBpcyBjYWxsZWQgaW50byBxdWVzdGlvbiwgYW5kIHRoZSBwcm9tb3Rpb24gb2YgYWx0ZXJuYXRpdmUgbWV0aG9kcywgc3VjaCBhcyBhcnRpZmljaWFsbHkgcHJvZHVjZWQgdGlzc3VlcyBvciBvcmdhbm9pZHMsIGlzIGFkdm9jYXRlZCB3aGVyZSBmZWFzaWJsZS4gSXQgaXMgb2YgY3J1Y2lhbCBpbXBvcnRhbmNlIHRvIGVtcGhhc2l6ZSB0aGUgbmVjZXNzaXR5IG9mIGV0aGljYWwgcmVzcG9uc2liaWxpdHkgaW4gdGhlIGNvbGxlY3Rpb24gb2YgcHJpbWFyeSBjdWx0dXJlcy4gSXQgaXMgb2YgdGhlIHV0bW9zdCBpbXBvcnRhbmNlIHRoYXQgdGhlIHByb2NlZHVyZSBpcyBjYXJyaWVkIG91dCB3aXRoIGNvbnNpZGVyYXRpb24gZm9yIHRoZSByaWdodHMsIGFuZCBwYXJ0aWN1bGFybHkgdGhlIHdlbGwtYmVpbmcgb2YgdGhlIGRvbm9yLiBUaGUgcmVtb3ZhbCBvZiBjZWxscyBvciB0aXNzdWUgbXVzdCBiZSBtZWRpY2FsbHkganVzdGlmaWFibGUgYW5kLCBtb3Jlb3ZlciwgZXRoaWNhbGx5IGp1c3RpZmlhYmxlIGluIGV2ZXJ5IGNhc2UuIFRvIHRoaXMgZW5kLCB0aGUgcG90ZW50aWFsIGZvciByZXNlYXJjaCB1c2UgYW5kIHRoZSBwb3NzaWJsZSByaXNrcyBhbmQgYnVyZGVucyBmb3IgdGhlIGRvbm9yIG11c3QgYmUgd2VpZ2hlZCBhZ2FpbnN0IGVhY2ggb3RoZXIgdG8gZW5zdXJlIGNhcmVmdWwgY29uc2lkZXJhdGlvbi4gSG93ZXZlciwgaXQgaXMgYWxzbyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IHRvIGVuc3VyZSB0aGF0IHRoZSBkb25vciBpcyBpbnZvbHZlZCBpbiB0aGUgZW50aXJlIHByb2Nlc3MgYW5kIGlzIGFibGUgdG8gbWFrZSBhbiBpbmZvcm1lZCBkZWNpc2lvbi4gVGhlIHB1cnBvc2Ugb2YgdGhlIHJlc2VhcmNoLCB0aGUgdXNlIG9mIHRoZSBjZWxscyBhbmQgcG9zc2libGUgY29uc2VxdWVuY2VzIG11c3QgYWxzbyBiZSBtYWRlIHRyYW5zcGFyZW50IGF0IGFsbCB0aW1lcy4gXG4gICAgICAgICAgICAgICAgVGhlIG9idGFpbmluZyBvZiBpbmZvcm1lZCBjb25zZW50IHJlcHJlc2VudHMgYSBmdW5kYW1lbnRhbCBhc3BlY3Qgb2YgZXRoaWNhbCBwcmFjdGljZSBpbiB0aGUgY29sbGVjdGlvbiBvZiBwcmltYXJ5IGNlbGxzLiBUaGlzIHByb2Nlc3MgbXVzdCBlbmNvbXBhc3Mgbm90IG9ubHkgYSBmb3JtYWwgY29uc2VudCBwcm9jZWR1cmUsIGJ1dCBhbHNvIHRoZSBwcm92aXNpb24gb2YgY29tcHJlaGVuc2l2ZSBpbmZvcm1hdGlvbiB0byBkb25vcnMgcmVnYXJkaW5nIHRoZSBjb2xsZWN0aW9uLCB1dGlsaXNhdGlvbiBhbmQgcHJvc3BlY3RpdmUgZnV0dXJlIGFwcGxpY2F0aW9ucyBvZiB0aGUgY2VsbHMuIFRoZSBhY3Qgb2YgY29uc2VudCBtdXN0IGJlIGdpdmVuIGZyZWVseSBhbmQgd2l0aG91dCB1bmR1ZSBpbmZsdWVuY2UsIGFuZCBkb25vcnMgbXVzdCBiZSBmdWxseSBhd2FyZSBvZiB0aGUgY29uc2VxdWVuY2VzIG9mIHRoZWlyIHBhcnRpY2lwYXRpb24uIEZ1cnRoZXJtb3JlLCBkb25vcnMgbXVzdCBiZSBncmFudGVkIHRoZSByaWdodCB0byByZXZva2UgdGhlaXIgY29uc2VudCBhdCBhbnkgdGltZSB3aXRob3V0IGNvbnNlcXVlbmNlLiBQcmlvciB0byB0aGUgY29sbGVjdGlvbiBvZiBjZWxscywgYSBjb21wcmVoZW5zaXZlIGRpc2N1c3Npb24gaXMgaGVsZCB3aXRoIHRoZSBkb25vciwgZHVyaW5nIHdoaWNoIGFsbCBwZXJ0aW5lbnQgZGV0YWlscyBhcmUgZWx1Y2lkYXRlZCBhbmQgYW55IHF1ZXJpZXMgb3IgY29uY2VybnMgdGhleSBtYXkgaGF2ZSwgYXJlIGFkZHJlc3NlZC4gVGhpcyBndWFyYW50ZWVzIHRoYXQgdGhlIGRvbm9yIGlzIGFkZXF1YXRlbHkgaW5mb3JtZWQgYW5kIGlzIHRodXMgYWJsZSB0byBtYWtlIGFuIGF1dG9ub21vdXMgZGVjaXNpb24gYmFzZWQgb24gYSBjb21wcmVoZW5zaXZlIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHByb2NlZHVyZS4gXG4gICAgICAgICAgICAgICAgVGhlIHByb3RlY3Rpb24gb2YgcHJpdmFjeSBhbmQgY29uZmlkZW50aWFsaXR5IGlzIG9mIHBhcmFtb3VudCBpbXBvcnRhbmNlIHdoZW4gd29ya2luZyB3aXRoIHByaW1hcnkgY3VsdHVyZXMuIEdpdmVuIHRoYXQgcHJpbWFyeSBjdWx0dXJlcyBhcmUgcHJlZG9taW5hbnRseSBodW1hbiB0aXNzdWUsIHRoZXkgY29udGFpbiBnZW5ldGljIGluZm9ybWF0aW9uIGFuZCBvdGhlciBwZXJzb25hbCBkYXRhIHRoYXQgaXMgc2Vuc2l0aXZlIGFuZCBkZXNlcnZpbmcgb2YgcHJvdGVjdGlvbi4gSXQgaXMgdGhlcmVmb3JlIG9mIGdyZWF0IGltcG9ydGFuY2UgdGhhdCB0aGUgZGF0YSBpcyBhbm9ueW1pemVkIGFuZCBrZXB0IHN0cmljdGx5IGNvbmZpZGVudGlhbCBpbiBvcmRlciB0byBwcm90ZWN0IHRoZSBpZGVudGl0eSBvZiB0aGUgZG9ub3IuIFxuICAgICAgICAgICAgICAgIEV2ZXJ5IHBlcnNvbiB3aG8gaGFzIGFjY2VzcyB0byB0aGUgZGF0YSBvciBzYW1wbGVzIG11c3QgYmUgb2JsaWdlZCB0byBjb21wbHkgd2l0aCBjb25maWRlbnRpYWxpdHkgc3RhbmRhcmRzLiBJdCBtdXN0IGJlIGVuc3VyZWQgdGhhdCBhbGwgbGVnYWwgcmVxdWlyZW1lbnRzIGZvciBkYXRhIHByb3RlY3Rpb24gYXJlIG1ldCwgaW5jbHVkaW5nIGNvbXBsaWFuY2Ugd2l0aCBkYXRhIHByb3RlY3Rpb24gbGF3cyBzdWNoIGFzIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly9nZHByLWluZm8uZXUvXCI+R0RQUjwvYT4gaW4gdGhlIEVVLiBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxINCB0ZXh0PVwiU2FmZXR5IGFzcGVjdHMgd2hlbiB3b3JraW5nIHdpdGggcHJpbWFyeSBjdWx0dXJlcyBcIj48L0g0PlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICBXaGVuIHdvcmtpbmcgd2l0aCBwcmltYXJ5IGN1bHR1cmVzLCB0aGVyZSBpcyBhIHJpc2sgdGhhdCB0aGUgY2VsbHMgbWF5IGJlIHBvdGVudGlhbGx5IGluZmVjdGlvdXMgc2FtcGxlcyBvciBjb250YW1pbmF0ZWQuIFRoZXJlZm9yZSwgaXQgaXMgb2YgdGhlIHV0bW9zdCBpbXBvcnRhbmNlIHRvIGFkaGVyZSB0byBzdHJpY3QgYmlvbG9naWNhbCBzYWZldHkgbWVhc3VyZXMgaW4gb3JkZXIgdG8gbWluaW1pemUgdGhlIHJpc2sgb2YgZXhwb3N1cmUgdG8gZGFuZ2Vyb3VzIHBhdGhvZ2Vucy4gVGhpcyBpbmNsdWRlcyB0aGUgdXNlIG9mIHBlcnNvbmFsIHByb3RlY3RpdmUgZXF1aXBtZW50LCB3b3JraW5nIGluIGEgYmlvc2FmZXR5IGNhYmluZXQgYW5kIGFkaGVyaW5nIHRvIGRlY29udGFtaW5hdGlvbiBwcm90b2NvbHMuXG4gICAgICAgICAgICBUaGUgb3ZlcmFyY2hpbmcgb2JqZWN0aXZlIGlzIHRoZSBzYWZlZ3VhcmRpbmcgb2YgbGFib3JhdG9yeSBzdGFmZi4gVGhpcyBpcyBhY2hpZXZlZCB0aHJvdWdoIHRoZSB1dGlsaXphdGlvbiBvZiBwZXJzb25hbCBwcm90ZWN0aXZlIGVxdWlwbWVudCwgZW5jb21wYXNzaW5nIGdsb3ZlcywgbGFiIGNvYXRzIGFuZCBzYWZldHkgZ29nZ2xlcywgaW4gYWRkaXRpb24gdG8gdGhlIHByb3Zpc2lvbiBvZiB0cmFpbmluZyBpbiBwZXJ0aW5lbnQgc2FmZXR5IHByb3RvY29scy4gXG4gICAgICAgICAgICBJbiBvcmRlciB0byBwcmV2ZW50IHRoZSByZWxlYXNlIG9mIHBvdGVudGlhbGx5IGhhemFyZG91cyBtYXRlcmlhbCwgaXQgaXMgaW1wZXJhdGl2ZSB0aGF0IGJpb2xvZ2ljYWwgd2FzdGUgaXMgZGlzcG9zZWQgb2YgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBlc3RhYmxpc2hlZCByZWd1bGF0b3J5IGZyYW1ld29yay4gVGhlIHdhc3RlIGlzIHN1YmplY3RlZCB0byByaWdvcm91cyBzdGVyaWxpc2F0aW9uIGJ5IGF1dG9jbGF2aW5nIGFuZCBzdWJzZXF1ZW50bHkgcmVuZGVyZWQgc2FmZSBmb3IgZGlzcG9zYWwgaW4gdGhlIGRlc2lnbmF0ZWQgYW5kIGxhYmVsbGVkIGNvbnRhaW5lcnMuIFxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPEg0IHRleHQ9XCJSZWd1bGF0b3J5IGZyYW1ld29ya1wiPjwvSDQ+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgIFRoZSBmaWVsZCBvZiBwcmltYXJ5IGN1bHR1cmUgcmVzZWFyY2ggaXMgc3ViamVjdCB0byBhIHBsZXRob3JhIG9mIGxlZ2FsIHJlZ3VsYXRpb25zIGFuZCBndWlkZWxpbmVzIGF0IGJvdGggdGhlIG5hdGlvbmFsIGFuZCBpbnRlcm5hdGlvbmFsIGxldmVscy4gVGhlc2UgcmVndWxhdGlvbnMgZGljdGF0ZSB0aGUgbWFubmVyIGluIHdoaWNoIHByaW1hcnkgY3VsdHVyZXMgbWF5IGJlIG9idGFpbmVkLCB1c2VkLCBhbmQgZGlzcG9zZWQgb2YuIFRoZXkgZW5jb21wYXNzIHJlZ3VsYXRpb25zIHBlcnRhaW5pbmcgdG8gdGhlIHByb3RlY3Rpb24gb2YgZG9ub3JzLCB0aGUgc2VjdXJlIGhhbmRsaW5nIG9mIGJpb2xvZ2ljYWwgbWF0ZXJpYWwsIGFuZCB0aGUgZXRoaWNhbCByZXNwb25zaWJpbGl0eSB0b3dhcmRzIHRoZSBjZWxscyBhbmQgdGhlaXIgb3JpZ2luLiBJdCBpcyBvZiBwYXJhbW91bnQgaW1wb3J0YW5jZSB0aGF0IGFsbCBsYWJvcmF0b3J5IHByYWN0aWNlcyBhbGlnbiB3aXRoIHRoZXNlIHJlZ3VsYXRpb25zLiBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkNvbnNlbnQgYW5kIEd1aWRlbGluZXNcIiBpZD1cIkJpb2V0aGljczNcIj5cbiAgICAgICAgICA8TG9yZW1NZWRpdW0vPlxuICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICA8L1NlY3Rpb24+XG4gICAgICA8U2VjdGlvbiB0aXRsZT1cIlJlZmVyZW5jZXNcIiBpZD1cIlJlZmVyZW5jZXNcIj5cbiAgICAgIDxvbD57Lyo8IS0tIENpdGF0aW9uIG51bSAxLS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMVwiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBDbG9hcmVjLVVuZywgRi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBCZWF1bGlldSwgSi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTdXRoYW5hbnRoYW4sIEEuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gTGVobmVydHosIEIuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gU2F1dmFnZWF1LCBHLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFNoZXBwYXJkLCBILiBNLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEtuYXBwLCBELiBKLiBILiBGLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7XG5OZWFyLXBlcmZlY3QgcHJlY2lzZSBvbi10YXJnZXQgZWRpdGluZyBvZiBodW1hbiBoZW1hdG9wb2lldGljIHN0ZW0gYW5kXG5wcm9nZW5pdG9yIGNlbGxzXG48L3NwYW4+LiBcblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBlTGlmZTwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMTIsPC9iPlxuXHQmbmJzcDsoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAyNFwiPjIwMjQ8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC43NTU0L2VMaWZlLjkxMjg4XCI+IGRvaTogMTAuNzU1NC9lTGlmZS45MTI4ODwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDItLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0yXCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IE5lbHNvbiwgSi4gVy48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBSYW5kb2xwaCwgUC4gQi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTaGVuLCBTLiBQLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEV2ZXJldHRlLCBLLiBBLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IENoZW4sIFAuIEouPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQW56YWxvbmUsIEEuIFYuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQW4sIE0uPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gZXQgYWwuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtFbmdpbmVlcmVkIHBlZ1JOQXMgaW1wcm92ZSBwcmltZSBlZGl0aW5nIGVmZmljaWVuY3k8L3NwYW4+LiBcblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBOYXR1cmUgQmlvdGVjaG5vbG9neTwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gNDA8L2I+XG5cdCwmbmJzcDs8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gNDAyPC9zcGFuPi08c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlRW5kXCI+NDEwPC9zcGFuPiZuYnNwO1xuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAyMlwiPjIwMjI8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDM4L3M0MTU4Ny0wMjEtMDEwMzktN1wiPiBkb2k6IDEwLjEwMzgvczQxNTg3LTAyMS0wMTAzOS03PC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMy0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTNcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRG9lbmNoLCBKLiBHLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEZ1c2ksIE4uPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gU3VsbGVuZGVyLCBNLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEhlZ2RlLCBNLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFZhaW1iZXJnLCBFLiBXLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IERvbm92YW4sIEsuIEYuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gU21pdGgsIEkuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gZXQgYWwuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtcbk9wdGltaXplZCBzZ1JOQSBkZXNpZ24gdG8gbWF4aW1pemUgYWN0aXZpdHkgYW5kIG1pbmltaXplIG9mZi10YXJnZXQgZWZmZWN0c1xub2YgQ1JJU1BSLUNhczlcbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IE5hdHVyZSBCaW90ZWNobm9sb2d5PC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAzNDwvYj5cblx0LCZuYnNwOzxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiAxODQ8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj4xOTE8L3NwYW4+Jm5ic3A7XG5cdCg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDE2XCI+MjAxNjwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjEwMzgvbmJ0LjM0MzdcIj4gZG9pOiAxMC4xMDM4L25idC4zNDM3PC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gNC0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTRcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gV2hpdGUsIE4uPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gU2FkZWVzaGt1bWFyLCBILjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFN1biwgQS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTdWRhcnNhbiwgTi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBCcmVha2VyLCBSLiBSLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7XG5OYSsgcmlib3N3aXRjaGVzIHJlZ3VsYXRlIGdlbmVzIGZvciBkaXZlcnNlIHBoeXNpb2xvZ2ljYWwgcHJvY2Vzc2VzIGluXG5iYWN0ZXJpYVxuPC9zcGFuPi4gXG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gTmF0dXJlIENoZW1pY2FsIEJpb2xvZ3k8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDE4PC9iPlxuXHQsJm5ic3A7PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+IDg3ODwvc3Bhbj4tPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUVuZFwiPjg4NTwvc3Bhbj4mbmJzcDtcblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMjJcIj4yMDIyPC90aW1lPikuXG5cdDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTAzOC9zNDE1ODktMDIyLTAxMDg2LTRcIj4gZG9pOiAxMC4xMDM4L3M0MTU4OS0wMjItMDEwODYtNDwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDUtLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy01XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEl3YXdha2ksIFQuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQWthaSwgUi48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO1xuQW5hbHlzaXMgb2YgdGhlIFhCUDEgc3BsaWNpbmcgbWVjaGFuaXNtIHVzaW5nIGVuZG9wbGFzbWljIHJldGljdWx1bVxuc3RyZXNzLWluZGljYXRvcnNcbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IEJpb2NoZW1pY2FsIGFuZCBCaW9waHlzaWNhbCBSZXNlYXJjaCBDb21tdW5pY2F0aW9uczwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMzUwPC9iPlxuXHQsJm5ic3A7PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+IDcwOTwvc3Bhbj4tPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUVuZFwiPjcxNTwvc3Bhbj4mbmJzcDtcblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMDZcIj4yMDA2PC90aW1lPikuXG5cdDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTAxNi9qLmJicmMuMjAwNi4wOS4xMDBcIj4gZG9pOiAxMC4xMDE2L2ouYmJyYy4yMDA2LjA5LjEwMDwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDYtLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy02XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFpoYW5nLCBZLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IExpbiwgUy48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBZYW8sIEouPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQ2FpLCBXLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IENoZW4sIEguPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQWllcmtlbiwgQS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBXYW5nLCBaLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IGV0IGFsLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7XG5YQlAxIHNwbGljaW5nIGNvbnRyaWJ1dGVzIHRvIGVuZG9wbGFzbWljIHJldGljdWx1bSBzdHJlc3MtaW5kdWNlZCBodW1hbiBpc2xldFxuYW15bG9pZCBwb2x5cGVwdGlkZSB1cC1yZWd1bGF0aW9uXG48L3NwYW4+LiBcblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBHZW5lcyAmIERpc2Vhc2VzPC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAxMTwvYj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+MTAxMTQ4PC9zcGFuPiZuYnNwO1xuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAyM1wiPjIwMjM8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDE2L2ouZ2VuZGlzLjIwMjMuMTAxMTQ4XCI+IGRvaTogMTAuMTAxNi9qLmdlbmRpcy4yMDIzLjEwMTE0ODwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDctLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy03XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFdlaSwgVC48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTdW4sIFkuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQ2hlbmcsIFEuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQ2hhdHRlcmplZSwgUy48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBUcmF5bG9yLCBaLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEpvaG5zb24sIEwuIFQuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQ29xdWVsaW4sIE0uIEwuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gZXQgYWwuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtcbkx1bmcgU09SVCBMTlBzIGVuYWJsZSBwcmVjaXNlIGhvbW9sb2d5LWRpcmVjdGVkIHJlcGFpciBtZWRpYXRlZFxuQ1JJU1BSL0NhcyBnZW5vbWUgY29ycmVjdGlvbiBpbiBjeXN0aWMgZmlicm9zaXMgbW9kZWxzXG48L3NwYW4+LiBcblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBOYXR1cmUgQ29tbXVuaWNhdGlvbnM8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDE0LDwvYj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+Jm5ic3A7NzMyMjwvc3Bhbj4mbmJzcDtcblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMjNcIj4yMDIzPC90aW1lPikuXG5cdDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTAzOC9zNDE0NjctMDIzLTQyOTQ4LTJcIj4gZG9pOiAxMC4xMDM4L3M0MTQ2Ny0wMjMtNDI5NDgtMjwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDgtLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy04XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IElicmFoaW0sIE0uPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gUmFtYWRhbiwgRS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBFbHNhZGVrLCBOLiBFLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEVtYW0sIFMuIEUuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gU2hpbWl6dSwgVC48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBBbmRvLCBILjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IElzaGltYSwgWS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBldCBhbC48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO1xuUG9seWV0aHlsZW5lIGdseWNvbCAoUEVHKTogVGhlIG5hdHVyZSwgaW1tdW5vZ2VuaWNpdHksIGFuZCByb2xlIGluIHRoZVxuaHlwZXJzZW5zaXRpdml0eSBvZiBQRUd5bGF0ZWQgcHJvZHVjdHNcbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IEpvdXJuYWwgb2YgQ29udHJvbGxlZCBSZWxlYXNlPC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAzNTE8L2I+XG5cdCwmbmJzcDs8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gMjE1PC9zcGFuPi08c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlRW5kXCI+MjMwPC9zcGFuPiZuYnNwO1xuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAyMlwiPjIwMjI8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy9odHRwczovL2RvaS5vcmcvMTAuMTAxNi9qLmpjb25yZWwuMjAyMi4wOS4wMzFcIj4gZG9pOiBodHRwczovL2RvaS5vcmcvMTAuMTAxNi9qLmpjb25yZWwuMjAyMi4wOS4wMzE8L2E+XG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSA5LS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtOVwiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBKaWFuZywgQS4gWS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBXaXR0ZW4sIEouPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gUmFqaSwgSS4gTy48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBFd2VqZSwgRi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBNYWNJc2FhYywgQy48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBNZW5nLCBTLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IE9sYWRpbWVqaSwgRi4gQS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBldCBhbC48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO1xuQ29tYmluYXRvcmlhbCBkZXZlbG9wbWVudCBvZiBuZWJ1bGl6ZWQgbVJOQSBkZWxpdmVyeSBmb3JtdWxhdGlvbnMgZm9yIHRoZVxubHVuZ3Ncbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IE5hdHVyZSBOYW5vdGVjaG5vbG9neTwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMTk8L2I+XG5cdCwmbmJzcDs8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gMzY0PC9zcGFuPi08c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlRW5kXCI+Mzc1PC9zcGFuPiZuYnNwO1xuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAyNFwiPjIwMjQ8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDM4L3M0MTU2NS0wMjMtMDE1NDgtM1wiPiBkb2k6IDEwLjEwMzgvczQxNTY1LTAyMy0wMTU0OC0zPC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMTAtLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0xMFwiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBWaWxcdTAwRTAtR29uelx1MDBFMWxleiwgTS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBQaW50ZSwgTC48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBGcmFkaXF1ZSwgUi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBDYXVzYSwgRS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBLb29sLCBILjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFJvZHJhdCwgTS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBNb3JlbGwsIEMuIE0uPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gZXQgYWwuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtcbkluIHZpdHJvIHBsYXRmb3JtIHRvIG1vZGVsIHRoZSBmdW5jdGlvbiBvZiBpb25vY3l0ZXMgaW4gdGhlIGh1bWFuIGFpcndheVxuZXBpdGhlbGl1bVxuPC9zcGFuPi4gXG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gUmVzcGlyYXRvcnkgUmVzZWFyY2g8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDI1PC9iPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4mbmJzcDsxODA8L3NwYW4+Jm5ic3A7XG5cdCg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDI0XCI+MjAyNDwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjExODYvczEyOTMxLTAyNC0wMjgwMC03XCI+IGRvaTogMTAuMTE4Ni9zMTI5MzEtMDI0LTAyODAwLTc8L2E+XG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSAxMS0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6Qm9va1wiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0xMVwiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBQYXJpcywgSy48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO0dlbm9tZSBFZGl0aW5nIGFuZCBCaW9sb2dpY2FsIFdlYXBvbnM6IEFzc2Vzc2luZyB0aGUgUmlzayBvZiBNaXN1c2UuPC9zcGFuPlxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+Jm5ic3A7U3ByaW5nZXIgTmF0dXJlIFN3aXR6ZXJsYW5kIEFHPC9pPlxuXHQmbmJzcDsoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIyMDIzXCI+MjAyMzwvdGltZT4pLlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMTItLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0xMlwiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBXaWNraXNlciwgSi4gSy48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO1xuVGhlIGRlbW9jcmF0aXphdGlvbiBvZiBiaW9sb2d5OiBob3cgQ1JJU1BSIGFuZCBzeW50aGV0aWMgYmlvbG9neSB1c2hlciBpbiBuZXdcbmJpb3NlY3VyaXR5IHRocmVhdHNcbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IERlZmVuc2UgSG9yaXpvbnM8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDg1PC9iPlxuXHQsJm5ic3A7PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+IDE8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj4xNjwvc3Bhbj4mbmJzcDtcblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMjBcIj4yMDIwPC90aW1lPikuXG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSAxMy0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTEzXCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IENvaGVuLCBKLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IERlc2FpLCBULjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7XG5TZWN1cml0eSBpbXBsaWNhdGlvbnMgb2YgQ1JJU1BSLWVuYWJsZWQgZ2Vub21lIGVkaXRpbmc6IE5ldyB3ZWFwb25zIG9mIG1hc3NcbmRpc3J1cHRpb24/XG48L3NwYW4+LiBcblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBKb3VybmFsIG9mIEJpb2V0aGljYWwgSW5xdWlyeTwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMTY8L2I+XG5cdCwmbmJzcDs8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gMjE5PC9zcGFuPi08c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlRW5kXCI+MjI4PC9zcGFuPiZuYnNwO1xuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAxOVwiPjIwMTk8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDA3L3MxMTY3My0wMTktMDk5MTQtNVwiPiBkb2k6IDEwLjEwMDcvczExNjczLTAxOS0wOTkxNC01PC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMTQtLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0xNFwiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBEb3VkbmEsIEouIEEuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQ2hhcnBlbnRpZXIsIEUuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtcblRoZSByaXNlIG9mIHN5bnRoZXRpYyBiaW9sb2d5OiBOZXcgYmlvc2VjdXJpdHkgcmlza3MgYW5kIHJlZ3VsYXRvcnlcbmNoYWxsZW5nZXNcbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IE5hdHVyZSBSZXZpZXdzIEdlbmV0aWNzPC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAyMTwvYj5cblx0LCZuYnNwOzxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiAxNDQ8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj4xNTY8L3NwYW4+Jm5ic3A7XG5cdCg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDIwXCI+MjAyMDwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjEwMzgvczQxNTc2LTAxOS0wMTgyLTdcIj4gZG9pOiAxMC4xMDM4L3M0MTU3Ni0wMTktMDE4Mi03PC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMTUtLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0xNVwiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTaHdhcnR6LCBNLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IENvbmtsaW4sIEIuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtcblB1YmxpYyBwZXJjZXB0aW9uIG9mIENSSVNQUiBhbmQgZ2Vub21lIGVkaXRpbmc6IE1pc2NvbmNlcHRpb25zIGFuZCBtZWRpYVxucG9ydHJheWFsXG48L3NwYW4+LiBcblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBKb3VybmFsIG9mIFNjaWVuY2UgQ29tbXVuaWNhdGlvbjwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMTgsPC9iPlxuXHQmbmJzcDsoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAxOVwiPjIwMTk8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4yMjMyMy8yLjE4MDQwMjAyXCI+IGRvaTogMTAuMjIzMjMvMi4xODA0MDIwMjwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDE2LS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpCb29rXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTE2XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IENoYWR3aWNrLCBSLiBGLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7RW5jeWNsb3BlZGlhIG9mIGFwcGxpZWQgZXRoaWNzLjwvc3Bhbj5cblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiZuYnNwO0FjYWRlbWljIFByZXNzPC9pPlxuXHQmbmJzcDsoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIyMDEyXCI+MjAxMjwvdGltZT4pLlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMTctLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0xN1wiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBSdWJlaXMsIEcuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gU3RlZ2VyLCBGLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7Umlza3MgYW5kIGJlbmVmaXRzIG9mIGh1bWFuIGdlcm1saW5lIGdlbm9tZSBlZGl0aW5nOiBBbiBldGhpY2FsIGFuYWx5c2lzPC9zcGFuPi4gXG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gQXNpYW4gQmlvZXRoaWNzIFJldmlldzwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMTA8L2I+XG5cdCwmbmJzcDs8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gMTMzPC9zcGFuPi08c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlRW5kXCI+MTQxPC9zcGFuPiZuYnNwO1xuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAxOFwiPjIwMTg8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDA3L3M0MTY0OS0wMTgtMDA1Ni14XCI+IGRvaTogMTAuMTAwNy9zNDE2NDktMDE4LTAwNTYteDwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDE4LS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMThcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQW5zYWgsIEUuIE8uPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtcbkV0aGljYWwgQ2hhbGxlbmdlcyBhbmQgQ29udHJvdmVyc2llcyBpbiB0aGUgUHJhY3RpY2UgYW5kIEFkdmFuY2VtZW50IG9mIEdlbmVcblRoZXJhcHlcbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IEFkdmFuY2VzIGluIENlbGwgYW5kIEdlbmUgVGhlcmFweTwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMjAyMjwvYj5cblx0LCZuYnNwOzxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiAxPC9zcGFuPi08c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlRW5kXCI+NTwvc3Bhbj4mbmJzcDtcblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMjJcIj4yMDIyPC90aW1lPikuXG5cdDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTE1NS8yMDIyLzEwMTU5OTZcIj4gZG9pOiAxMC4xMTU1LzIwMjIvMTAxNTk5NjwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDE5LS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpCb29rXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTE5XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFB1Z2gsIEouPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtBdXRvbm9teSwgUmF0aW9uYWxpdHksIGFuZCBDb250ZW1wb3JhcnkgQmlvZXRoaWNzLjwvc3Bhbj5cblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiZuYnNwO094Zm9yZCBVbml2ZXJzaXR5IFByZXNzT3hmb3JkPC9pPlxuXHQmbmJzcDsoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIyMDIwXCI+MjAyMDwvdGltZT4pLlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMjAtLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOkJvb2tcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMjBcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gR3N0cmF1bnRoYWxlciwgRy48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBMaW5kbCwgVC48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO0FsbGdlbWVpbmUgQXNwZWt0ZSBkZXIgUHJpbVx1MDBFNHJrdWx0dXIuPC9zcGFuPlxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+Jm5ic3A7U3ByaW5nZXI8L2k+XG5cdCZuYnNwOyg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIjIwMTNcIj4yMDEzPC90aW1lPikuXG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSAyMS0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6Qm9va1wiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0yMVwiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBUaGllbGUsIEYuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtJbnRlcm5hdGlvbmFsIEVuY3ljbG9wZWRpYSBvZiB0aGUgU29jaWFsICYgQmVoYXZpb3JhbCBTY2llbmNlcy48L3NwYW4+XG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4mbmJzcDtFbHNldmllcjwvaT5cblx0Jm5ic3A7KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiMjAwMVwiPjIwMDE8L3RpbWU+KS5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDIyLS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpCb29rXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTIyXCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEdldGhtYW5uLCBDLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7UmVzZWFyY2g6IEV0aGljYWwgQXNwZWN0cyBvZiBMb25nLXRlcm0gUmVzcG9uc2liaWxpdGllcy48L3NwYW4+XG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4mbmJzcDtFbHNldmllcjwvaT5cblx0Jm5ic3A7KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiMjAwMVwiPjIwMDE8L3RpbWU+KS5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDIzLS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMjNcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gS2lhbmksIEEuIEsuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gUGhlYnksIEQuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gSGVuZWhhbiwgRy48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBCcm93biwgUi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTaWV2aW5nLCBQLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFN5a29yYSwgUC48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBNYXJrcywgUi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBldCBhbC48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO0V0aGljYWwgY29uc2lkZXJhdGlvbnMgcmVnYXJkaW5nIGFuaW1hbCBleHBlcmltZW50YXRpb248L3NwYW4+LiBcblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBKb3VybmFsIG9mIFByZXZlbnRpdmUgTWVkaWNpbmUgYW5kIEh5Z2llbmU8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDYzPC9iPlxuXHQsJm5ic3A7PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+IEUyNTU8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj5FMjY2PC9zcGFuPiZuYnNwO1xuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAyMlwiPjIwMjI8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xNTE2Ny8yNDIxLTQyNDgvanBtaDIwMjIuNjMuMlMzLjI3NjhcIj4gZG9pOiAxMC4xNTE2Ny8yNDIxLTQyNDgvanBtaDIwMjIuNjMuMlMzLjI3Njg8L2E+XG48L2xpPlxuXG48L29sPlxuICAgICAgPC9TZWN0aW9uPlxuICAgIDwvPlxuICApO1xufVxuIiwgImltcG9ydCB7IEJsb2NrUXVvdGVCIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvUXVvdGVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBIUE92ZXJ2aWV3KCl7XG5cbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8c2VjdGlvbiBpZD1cIk92ZXJ2aWV3SFwiPlxuICAgICAgICAgICAgICAgIDxoMiBpZD1cIk92ZXJ2aWV3XCI+PC9oMj5cbiAgICAgICAgICAgICAgICA8c3BhbiBpZD1cImhwLXF1b3RlXCI+PEJsb2NrUXVvdGVCXG4gICAgICAgICAgICAgICAgdGV4dD1cIkh1bWFuIFByYWN0aWNlcyBpcyB0aGUgc3R1ZHkgb2YgaG93IHlvdXIgd29yayBhZmZlY3RzIHRoZSB3b3JsZCwgYW5kIGhvdyB0aGUgd29ybGQgYWZmZWN0cyB5b3VyIHdvcmsuXCJcbiAgICAgICAgICAgICAgICBjaXRlPVwiLSBQZXRlciBDYXJyLCBEaXJlY3RvciBvZiBKdWRnaW5nXCJcbiAgICAgICAgICAgICAgICAvPiA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvb3ZlcnZpZXctZmluYWwtMi1zbWFsbC53ZWJwXCIgYWx0PVwiU3Rha2Vob2xkZXIgT3ZlcnZpZXdcIj48L2ltZz5cblxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59IiwgImltcG9ydCB7IEJ1dHRvbk9uZSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IEg1IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCBQcmVDeXNlIGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3ByZWN5c2VcIjtcbmltcG9ydCB7ICBCbG9ja1F1b3RlQiB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL1F1b3Rlc1wiO1xuaW1wb3J0IHsgU2VjdGlvbiB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3NlY3Rpb25zXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIEhQSW50cm9kdWN0aW9uKCl7XG4gICAgY29uc3Qge2dvVG9QYWdlQW5kU2Nyb2xsfSA9IHVzZU5hdmlnYXRpb24oKTsgXG4gICAgcmV0dXJuKFxuICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIkludHJvZHVjdGlvblwiIGlkPVwiSW50cm9kdWN0aW9uXCI+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIi0gQ29ubmVjdGluZyBvdXIgcHJvamVjdCB0byByZWFsIGxpZmVcIi8+XG4gICAgICAgICAgICA8QmxvY2tRdW90ZUIgdGV4dD1cIlNjaWVuY2UgYW5kIGV2ZXJ5ZGF5IGxpZmUgY2Fubm90IGFuZCBzaG91bGQgbm90IGJlIHNlcGFyYXRlZC5cIiBjaXRlPVwiUm9zYWxpbmQgRnJhbmtsaW5cIi8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT17e21hcmdpblRvcDogXCI1dmhcIiwgbWFyZ2luQm90dG9tOiBcIjF2aFwifX0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgb3BlbmNsYXNzPVwiaW50cm8tY3ljbGV0YWJcIiB0ZXh0PVwiT3VyIFVuZGVyc3RhbmRpbmcgb2YgSFBcIiBvcGVuPVwidW5kZXJzdGFuZGluZ1wiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPEJ1dHRvbk9uZSBvcGVuY2xhc3M9XCJpbnRyby1jeWNsZXRhYlwiIHRleHQ9XCJPdXIgTWlzc2lvbiAmIFZpc2lvblwiIG9wZW49XCJtaXNzaW9uXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uT25lIG9wZW5jbGFzcz1cImludHJvLWN5Y2xldGFiXCIgdGV4dD1cIk91ciBBcHByb2FjaFwiIG9wZW49XCJhcHByb2FjaFwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPEJ1dHRvbk9uZSBvcGVuY2xhc3M9XCJpbnRyby1jeWNsZXRhYlwiIHRleHQ9XCJPdXIgVGFyZ2V0IEdyb3Vwc1wiIG9wZW49XCJ0YXJnZXRzXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBpbnRyby1jeWNsZXRhYlwiIGlkPVwidW5kZXJzdGFuZGluZ1wiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICAgICAgIDxwPlRoaXMgeWVhciwgd2UgYXQgaUdFTSBCaWVsZWZlbGQtQ2VCaVRlYyBoYXZlIGNvbnNjaW91c2x5IGNob3NlbiBhIDxiPmh1bWFuLWNlbnRlcmVkIHByb2plY3QgZGVzaWduPC9iPi4gQXQgdGhlIGhlYXJ0IG9mIG91ciBpR0VNIHByb2plY3QgaXMgXG4gICAgICAgICAgICAgICAgICAgIG9uZSBrZXkgcGlsbGFyOiA8Yj5IdW1hbiBQcmFjdGljZTwvYj4uIE91ciBnb2FsIGlzIHRvIHVuZGVyc3RhbmQgdGhlIGltcGFjdCBvZiBvdXIgcHJvamVjdCBvbiBzb2NpZXR5LCB0aGUgc2NpZW50aWZpYyBjb21tdW5pdHkgYW5kIHRoZSB3b3JsZCBcbiAgICAgICAgICAgICAgICAgICAgYXMgd2hvbGUuIFRoaXMgaXMgbm90IGp1c3QgYWJvdXQgdGhlIHRlY2huaWNhbCBlZmZlY3RpdmVuZXNzIG9mIG91ciBwYXJ0cywgYnV0IGFsc28gYWJvdXQgaG93IHRoZSBzb2x1dGlvbiBpcyBlbWJyYWNlZCBpbiBldmVyeWRheSBcbiAgICAgICAgICAgICAgICAgICAgcHJhY3RpY2UsIGFuZCB0aGUgcG90ZW50aWFsIGxvbmctdGVybSBpbXBhY3QgaXQgY291bGQgaGF2ZSBmb3IgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcyBhbGwgb3ZlciB0aGUgd29ybGQuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5XaXRoIG91ciBodW1hbi1jZW50ZXJlZCBhcHByb2FjaCwgd2UgYWltIHRvIGFkZHJlc3MgZnVuZGFtZW50YWwgaUdFTSBIdW1hbiBQcmFjdGljZSBxdWVzdGlvbnMgYW5kIGJleW9uZDpcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwIHN0eWxlPXt7dGV4dEFsaWduOiBcImNlbnRlclwifX0+IDxiPkhvdyBkb2VzIG91ciBwcm9qZWN0IGFmZmVjdCB0aGUgd29ybGQgYXJvdW5kIHVzPzwvYj48L3A+XG4gICAgICAgICAgICA8cCBzdHlsZT17e3RleHRBbGlnbjogXCJjZW50ZXJcIn19PiA8Yj5Ib3cgZG9lcyB0aGUgd29ybGQgYXJvdW5kIHVzIGluZmx1ZW5jZSBvdXIgcHJvamVjdD8gICAgICAgICAgICA8L2I+PC9wPlxuICAgICAgICAgICAgPHA+RnJvbSB0aGUgdmVyeSBiZWdpbm5pbmcsIGl0IHdhcyBvdXIgcHJpb3JpdHkgdG8gaWRlbnRpZnkgdmFyaW91cyBzdGFrZWhvbGRlcnMgYW5kIG1lZXQgcGVvcGxlIGFmZmVjdGVkIGJ5IGN5c3RpYyBmaWJyb3NpcyBlYXJseSBvbiB0byA8Yj5hY3RpdmVseSBpbnZvbHZlPC9iPiB0aGVtIHRocm91Z2hvdXQgdGhlIHBsYW5uaW5nIGFuZCBkZXZlbG9wbWVudCBwcm9jZXNzLiBUaGlzIGNvbGxhYm9yYXRpdmUgYXBwcm9hY2ggYWxsb3dlZCB1cyB0byBlbnN1cmUgdGhhdCBvdXIgcHJvamVjdCBcbiAgICAgICAgICAgICAgICBhZGRyZXNzZXMgcmVhbCBuZWVkcyBhbmQgY29udHJpYnV0ZXMgdG8gc29sdXRpb25zIGZvciBhcyBtYW55IGRpZmZlcmVudCBwZW9wbGUgYXMgcG9zc2libGUuIFdpdGhvdXQgdGhlIGNyaXRpY2FsIGFkdmljZSwgdmFyaWVkIHBlcnNwZWN0aXZlcyBcbiAgICAgICAgICAgICAgICBhbmQgaW5wdXQgZnJvbSBvdXIgc3Rha2Vob2xkZXJzLCBpdCB3b3VsZCBoYXZlIGJlZW4gaW1wb3NzaWJsZSB0byBpZGVudGlmeSBhbmQgcmVmbGVjdCBvbiBhbGwgYXNwZWN0cyBvZiBvdXIgcHJvamVjdC4gV2UgbWFkZSBldmVyeSBcbiAgICAgICAgICAgICAgICBlZmZvcnQgdG8gPGI+ZGVlcGx5IHVuZGVyc3RhbmQ8L2I+IHRoZWlyIHZhbHVlcyBhbmQgYmFja2dyb3VuZHMsIGFsbG93aW5nIHVzIHRvIGludGVncmF0ZSB0aGVpciBmZWVkYmFjayBpbnRvIG91ciBzb2x1dGlvbnMuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGludHJvLWN5Y2xldGFiXCIgaWQ9XCJtaXNzaW9uXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgIDxwPldlIHZpZXcgSHVtYW4gUHJhY3RpY2UgYXMgYW4gb3Bwb3J0dW5pdHkgdG8gPGI+Z28gYmV5b25kIHByYWN0aWNhbCBsYWIgd29yayBhbmQgdHJhZGl0aW9uYWwgc2NpZW5jZTwvYj4gYW5kIHRvIGxlYXJuIGFib3V0IFxuICAgICAgICAgICAgICAgICAgICB0aGUgbmVlZHMgb2YgcGVvcGxlIGFmZmVjdGVkIGJ5IGN5c3RpYyBmaWJyb3Npcy4gSXRcdTIwMTlzIGEgY2hhbmNlIGZvciB1cyB0byBjcmVhdGl2ZWx5IGVuZ2FnZSB3aXRoIGRpZmZlcmVudCBhc3BlY3RzIG9mIG91ciBwcm9qZWN0IFxuICAgICAgICAgICAgICAgICAgICB3aGlsZSBkZXZlbG9waW5nIGFuIGF3YXJlbmVzcyBvZiB0aGUgcmVzcG9uc2liaWxpdGllcyB0aGF0IGNvbWUgd2l0aCBpdC4gXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgIEFzIHBhcnQgb2Ygb3VyIDxQcmVDeXNlLz4gcHJvamVjdCwgd2UgcGVyZm9ybWVkIGludGVuc2l2ZSBicmFpbnN0b3JtaW5nIHNlc3Npb25zIGFuZCBleHBlcnQgY29uc3VsdGF0aW9ucy4gV2UgY29uZHVjdGVkIGNvbXByZWhlbnNpdmUgIFxuICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsKFwib3VyLXN1cnZleXMtb24tY3lzdGljLWZpYnJvc2lzLWFuZC1nZW5lLXRoZXJhcHlcIiwgXCIvaHVtYW4tcHJhY3RpY2VzXCIpfT5zdXJ2ZXlzPC9hPiBhbW9uZyB0aGUgcHVibGljIGFuZCBwZW9wbGUgd2l0aCBjeXN0aWMgZmlicm9zaXMgYW5kIHRoZWlyIHJlbGF0aXZlcy4gV2UgZm9jdXNlZCBvbiBjcml0aWNhbCBhc3BlY3RzIHN1Y2ggYXMgdGhlIDxiPm5lZWRzIG9mIG91ciBcbiAgICAgICAgICAgICAgICB0YXJnZXQgZ3JvdXBzLCBzYWZldHksIGV0aGljcywgZGVzaWduLCBpbXBsZW1lbnRhdGlvbiwgYW5kIGJ1c2luZXNzPC9iPiBcdTIwMTQgZWFjaCBndWlkZWQgYnkgdGhlIGNvcmUgdmFsdWVzIG9mIG91ciB0ZWFtLiBCYXNlZCBvbiB0aGVzZSBpbnRlcmFjdGlvbnMgXG4gICAgICAgICAgICAgICAgYW5kIHRoZSByZWNvbW1lbmRhdGlvbnMgb2YgdGhlIEh1bWFuIFByYWN0aWNlIGNvbW1pdHRlZSwgd2UgaGF2ZSBkZXZlbG9wZWQgYW4gb3B0aW1hbCBzdHJhdGVneSBmb3Igb3VyIHByb2plY3QsIGVuc3VyaW5nIHRoYXQgb3VyIHdvcmsgaXMgbm90IFxuICAgICAgICAgICAgICAgIG9ubHkgaW5ub3ZhdGl2ZSBidXQgYWxzbyBtaW5kZnVsIG9mIGl0cyBicm9hZGVyIGltcGFjdCBvbiBzb2NpZXR5LlxuICAgICAgICAgICAgICAgIHsvKiAgKi99XG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGludHJvLWN5Y2xldGFiXCIgaWQ9XCJhcHByb2FjaFwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICA8cD5JdCB3YXMgaW1wb3J0YW50IHRvIHVzIGFzIGEgdGVhbSB0byBub3Qgb25seSBvZmZlciB0ZWNobmljYWwgc29sdXRpb25zLCBidXQgdG8gc2hvdyB0aGF0IG91ciBwcm9qZWN0IGNhbiBjb250cmlidXRlIHRvIHRoZSBsYXJnZXIgY29udGV4dCBvZiBvbmdvaW5nIGluaXRpYXRpdmVzIGFuZCBtb3ZlbWVudHMgdG8gb3B0aW1pemUgaGVhbHRoIGNhcmUuIFdlIHdhbnRlZCB0byByZWFsbHkgdW5kZXJzdGFuZCB0aGUgZmVlZGJhY2sgYW5kIGluc2lnaHRzIG9mIHRoZSBzdGFrZWhvbGRlcnMgdG8gZ2FpbiBhIGJldHRlciB1bmRlcnN0YW5kaW5nIG9mIGhvdyBvdXIgcHJvamVjdCBmaXRzIGludG8gdGhlIG92ZXJhbGwgcGljdHVyZSBvZiBsaXZpbmcgd2l0aCBjeXN0aWMgZmlicm9zaXMsIHRoZSBjdXJyZW50IHN0YXRlIG9mIHJlc2VhcmNoIGFuZCBob3cgaXQgY2FuIGJlIHVzZWQgdG8gcmVkdWNlIHRoZSBoZWFsdGggY2FyZSBnYXAuXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxwPk91ciBzdHJhdGVneSBpbmNsdWRlczo8L3A+XG4gICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgIDxsaT5JZGVudGlmeWluZyBrZXkgdGFyZ2V0IGdyb3VwczwvbGk+XG4gICAgICAgICAgICAgICAgPGxpPkVzdGFibGlzaGluZyBtZWFuaW5nZnVsIGFuZCBsYXN0aW5nIGNvbW11bmljYXRpb24gd2l0aCBzdGFrZWhvbGRlcnM8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5FZmZlY3RpdmVseSBlbmdhZ2luZyB3aXRoIHRoZSBkaXZlcnNlIGJhY2tncm91bmRzIG9mIHRob3NlIGludm9sdmVkPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+VW5kZXJzdGFuZCB0aGUgZXRoaWNhbCwgc29jaWFsIGFuZCBzY2llbnRpZmljIHZhbHVlcyB0aGF0IGluc3BpcmVkIG91ciBwcm9qZWN0PC9saT5cbiAgICAgICAgICAgICAgICA8bGk+SW50ZWdyYXRpbmcgZmVlZGJhY2sgYW5kIGFkYXB0aW5nIG91ciBhcHByb2FjaCB0byBhbGlnbiB3aXRoIHN0YWtlaG9sZGVyIGdvYWxzPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+RGVzaWduaW5nIGFuZCBpbmNvcnBvcmF0aW5nIHJlcHJlc2VudGF0aXZlIHN1cnZleXM8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5SZWZsZWN0IG9uIGhvdyB0aGVzZSB2YWx1ZXMgaGF2ZSBiZWVuIGluY29ycG9yYXRlZCBpbnRvIG91ciBwcm9qZWN0PC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDxwPldpdGggdGhpcyBhcHByb2FjaCBhbmQgdGhlIHN1cHBvcnQgb2Ygb3VyIHN0YWtlaG9sZGVycywgb3VyIHVsdGltYXRlIGdvYWxzIGFyZSB0bzo8L3A+XG4gICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgIDxsaT5JbXByb3ZlIGNhcmUgZm9yIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50czwvbGk+XG4gICAgICAgICAgICAgICAgPGxpPk9wdGltaXplIHRoZSBhdmFpbGFiaWxpdHkgb2YgZXNzZW50aWFsIG1lZGljYXRpb25zPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGludHJvLWN5Y2xldGFiXCIgaWQ9XCJ0YXJnZXRzXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgIDxwPk91ciB0YXJnZXQgZ3JvdXBzIGFyZSBjb21wb3NlZCBvZiA8Yj5hY2FkZW1pYyBhbmQgY2xpbmljYWwgZXhwZXJ0czwvYj4gdG8gYnVpbGQgYSBicmlkZ2UgYmV0d2VlbiByZXNlYXJjaCBhbmQgcHJhY3RpY2FsIGFwcGxpY2F0aW9uLiBcbiAgICAgICAgICAgICAgICAgICAgSW4gYWRkaXRpb24sIGVuZ2FnaW5nIHdpdGggQ0YgPGI+cGF0aWVudHM8L2I+IGFjcm9zcyBkaWZmZXJlbnQgYWdlIGdyb3VwcyBhbmQgY291bnRyaWVzIGFuZCB0aGVpciByZWxhdGl2ZXMgbGVhZHMgdG8gYW4gYXdhcmVuZXNzIG9mIFxuICAgICAgICAgICAgICAgICAgICB0aGUgc3BlY2lhbCBuZWVkcyBhbmQgZGVtYW5kcyBvZiBvdXIgcHJvamVjdCBhbmQgdG8gYW4gdW5kZXJzdGFuZGluZyBvZiB0aGUgbGltaXRhdGlvbnMgYW5kIGNoYWxsZW5nZXMgaW4gZXZlcnlkYXkgQ0YgbGlmZS4gVGhlIFxuICAgICAgICAgICAgICAgICAgICBpbnRlZ3JhdGlvbiBvZiByZWd1bGF0b3J5IGV0aGljcyBzZXJ2ZXMgdG8gZXZhbHVhdGUgaG93IG91ciBwcm9qZWN0IG1pZ2h0IGJlIGltcGxlbWVudGVkIGluIEdlcm1hbiBhbmQgaW50ZXJuYXRpb25hbCA8Yj5nb3Zlcm5tZW50PC9iPiBcbiAgICAgICAgICAgICAgICAgICAgcmVndWxhdGlvbnMgZm9yIGdlbmUgdGhlcmFwZXV0aWNzLiBUaGUgZXhjaGFuZ2Ugd2l0aCA8Yj5jb21wYW5pZXM8L2I+IGNvbnRyaWJ1dGVzIHRvIHVuZGVyc3RhbmRpbmcgdGhlIGNoYW5jZXMgYW5kIGNoYWxsZW5nZXMgaW4gYnVzaW5lc3Mgb2YgXG4gICAgICAgICAgICAgICAgICAgIGVzdGFibGlzaGluZyBhIHN0YXJ0LXVwIGFuZCB3aGF0IGl0IHRha2VzIHRvIGdldCBvdXIgaWRlYSBvbiB0aGUgbWFya2V0IGZvciByZWFsIGxpZmUgYXBwbGljYXRpb24uIFRoZSBjb250aW51b3VzIGV4Y2hhbmdlIGJldHdlZW4gdGhlIFxuICAgICAgICAgICAgICAgICAgICBkaWZmZXJlbnQgZ3JvdXBzIGNvbnRyaWJ1dGVzIHNpZ25pZmljYW50bHkgdG8gdGhlIHN1Y2Nlc3NmdWwgaW1wbGVtZW50YXRpb24gb2YgdGhlIHByb2plY3QuIEZpcnN0LWhhbmQgaW5mb3JtYXRpb24gZnJvbSBvdXIgdGFyZ2V0IGdyb3VwcyBcbiAgICAgICAgICAgICAgICAgICAgYW5kIHRoZSBtYXRjaGluZyBhbmQgbWVyZ2luZyBvZiB0aGUgaW5mb3JtYXRpb24gaXMgdGhlcmVmb3JlIGVzc2VudGlhbCBmb3IgZGVmaW5pbmcgYW5kIGFjaGlldmluZyBvdXIgZ29hbHMuXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgPC9TZWN0aW9uPlxuICAgIClcbn0iLCAiaW1wb3J0IEJpYnRleFBhcnNlciBmcm9tIFwiLi4vY29tcG9uZW50cy9tYWtlU291cmNlc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBKb3NodWFJbnRlcnZpZXdTb3VyY2VzKCl7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8QmlidGV4UGFyc2VyIGJpYnRleFNvdXJjZXM9e2JpYnRleFNvdXJjZXN9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbn1cblxuXG5jb25zdCBiaWJ0ZXhTb3VyY2VzID0gW1xuYCBcblxuQGFydGljbGV7ZWlucywgXG5cbnRpdGxlID0ge1ByaW1lIGVkaXRpbmcgZnVuY3Rpb25hbGx5IGNvcnJlY3RzIGN5c3RpYyBmaWJyb3Npcy1jYXVzaW5nIENGVFIgbXV0YXRpb25zIGluIGh1bWFuIG9yZ2Fub2lkcyBhbmQgYWlyd2F5IGVwaXRoZWxpYWwgY2VsbHN9LCBcblxuam91cm5hbCA9IHtDZWxsIFJlcG9ydHMgTWVkaWNpbmV9LCBcblxudm9sdW1lID0gezV9LCBcblxubnVtYmVyID0gezV9LCBcblxucGFnZXMgPSB7MTAxNTQ0fSwgXG5cbnllYXIgPSB7MjAyNH0sIFxuXG5pc3NuID0gezI2NjYtMzc5MX0sIFxuXG5kb2kgPSB7aHR0cHM6Ly9kb2kub3JnLzEwLjEwMTYvai54Y3JtLjIwMjQuMTAxNTQ0fSwgXG5cbnVybCA9IHtodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MyNjY2Mzc5MTI0MDAyMzQ5fSwgXG5cbmF1dGhvciA9IHtNYXR0aWpzIEJ1bGNhZW4gYW5kIFBoXHUwMEU5bGluZSBLb3J0bGV2ZW4gYW5kIFJvbmFsZCBCLiBMaXUgYW5kIEdpdWxpYSBNYXVsZSBhbmQgRWxpc2UgRHJlYW5vIGFuZCBNYWlyZWFkIEtlbGx5IGFuZCBNYXJqb2xlaW4gTS4gRW5zaW5jayBhbmQgU2FtIFRoaWVyaWUgYW5kIE1heGltZSBTbWl0cyBhbmQgTWF0dGVvIENpY2lhbmkgYW5kIEF1cmVsaWUgSGF0dG9uIGFuZCBCZW5vaXQgQ2hldmFsaWVyIGFuZCBBbmFiZWxhIFMuIFJhbWFsaG8gYW5kIFhhdmllciB7Q2FzYWRldmFsbCBpIFNvbHZhc30gYW5kIFplZ2VyIERlYnlzZXIgYW5kIEZyYW5cdTAwRTdvaXMgVmVybWV1bGVuIGFuZCBSaWsgR2lqc2JlcnMgYW5kIElzYWJlbGxlIFNlcm1ldC1HYXVkZWx1cyBhbmQgQW5uYSBDZXJlc2V0byBhbmQgTWFyaWFubmUgUy4gQ2FybG9ufSxcblxufWAsYFxuQGFydGljbGV7emV3aSwgXG5cbmF1dGhvciA9IHtUZWVyYXRha3VscGlzYXJuLCBKYW1hcmVlIGFuZCBLb3N1d29uLCBQZW5zcmkgYW5kIFNyaW5ha2FyaW4sIEppcmFwb3JuIGFuZCBQYW50aG9uZ3Zpcml5YWt1bCwgQ2hhcm5jaGFpIGFuZCBTdXRyYSwgU3VtaXRyfSwgXG5cbnllYXIgPSB7MjAwNn0sIFxuXG5tb250aCA9IHsxMX0sIFxuXG5wYWdlcyA9IHsxNzU2LTYxfSwgXG5cbnRpdGxlID0ge0N5c3RpYyBmaWJyb3NpcyBpbiB0aHJlZSBub3J0aGVhc3QgVGhhaSBpbmZhbnRzIGlzIENGIHJlYWxseSBhIHJhcmUgZGlzZWFzZSBpbiB0aGUgVGhhaSBwb3B1bGF0aW9uP30sIFxuXG52b2x1bWUgPSB7ODl9LCBcblxuam91cm5hbCA9IHtKb3VybmFsIG9mIHRoZSBNZWRpY2FsIEFzc29jaWF0aW9uIG9mIFRoYWlsYW5kID0gQ2hvdG1haWhldCB0aGFuZ3BoYWV0fSBcblxufSBgLGBcblxuQGFydGljbGV7ZHJlaSwgXG5cbmF1dGhvciA9IHtBaG1lZCwgU2hha2lsIGFuZCBDaGVvaywgR2FyeSBhbmQgR29oLCBBbm5lRSBhbmQgSGFuLCBBeWUgYW5kIEhvbmcsIFNKIGFuZCBJbmRhd2F0aSwgV2FoeXVuaSBhbmQgS2FiaXIsIEFSIGFuZCBLYWJyYSwgU3VzaGlsIGFuZCBLYW1hbGFwb3JuLCBIYXJ1dGFpIGFuZCBLaW0sIEh5dW5nWW91bmcgYW5kIEt1bmxpbmcsIFNoZW4gYW5kIExvY2hpbmRhcmF0LCBTb3Jhc2FrIGFuZCBNb3NsZWhpLCBNb2hhbW1hZEFzaGthbiBhbmQgTmF0aGFuLCBBbm5hTWFyaWUgYW5kIE5nLCBEYW5pZWwgYW5kIFBodW5nLCBOZ3V5ZW5OZyBhbmQgU2luZ2gsIFYgYW5kIFRha2FzZSwgTWFzYXRvIGFuZCBUcmlhc2loLCBSaW5hIGFuZCBEYWksIFplbi1Lb25nfSwgXG5cbnllYXIgPSB7MjAyMH0sIFxuXG5tb250aCA9IHswMX0sIFxuXG5wYWdlcyA9IHs4fSwgXG5cbnRpdGxlID0ge0N5c3RpYyBmaWJyb3NpcyBpbiBhc2lhfSwgXG5cbnZvbHVtZSA9IHs0fSwgXG5cbmpvdXJuYWwgPSB7UGVkaWF0cmljIFJlc3Bpcm9sb2d5IGFuZCBDcml0aWNhbCBDYXJlIE1lZGljaW5lfSwgXG5cbmRvaSA9IHsxMC40MTAzL3ByY20ucHJjbV81XzIwfSBcblxufSBgLGBcblxuQGFydGljbGV7dmllciwgXG5cbmF1dGhvciA9IHtCb2JibywgS2hhZGlqYXRhYnViYWthciBhbmQgQWhtYWQsIFVtYXIgYW5kIENoYXUsIERlLU1pbmcgYW5kIE5vcmRpbiwgTm9yc2hhcml6YSBhbmQgQWJkdWxsYWgsIFN5YWhyaWx9LCBcblxueWVhciA9IHsyMDIzfSwgXG5cbm1vbnRoID0gezA1fSwgXG5cbnBhZ2VzID0gezEwMzY4NX0sIFxuXG50aXRsZSA9IHtBIGNvbXByZWhlbnNpdmUgcmV2aWV3IG9mIEN5c3RpYyBGaWJyb3NpcyBpbiBBZnJpY2EgYW5kIEFzaWF9LCBcblxudm9sdW1lID0gezMwfSwgXG5cbmpvdXJuYWwgPSB7U2F1ZGkgSm91cm5hbCBvZiBCaW9sb2dpY2FsIFNjaWVuY2VzfSwgXG5cbmRvaSA9IHsxMC4xMDE2L2ouc2picy4yMDIzLjEwMzY4NX0gXG5cbn0gYFxuXSIsICJpbXBvcnQgQmlidGV4UGFyc2VyIGZyb20gXCIuLi9jb21wb25lbnRzL21ha2VTb3VyY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1hdHRpanNJbnRlcnZpZXdTb3VyY2VzKCl7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8QmlidGV4UGFyc2VyIGJpYnRleFNvdXJjZXM9e2JpYnRleFNvdXJjZXN9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbn1cblxuXG5jb25zdCBiaWJ0ZXhTb3VyY2VzID0gW1xuICAgIGBcbiAgICBAYXJ0aWNsZXtCdWxjYWVuX0tvcnRsZXZlbl9MaXVfTWF1bGVfRHJlYW5vX0tlbGx5X0Vuc2luY2tfVGhpZXJpZV9TbWl0c19DaWNpYW5pX2V0LFxuXHR0aXRsZSAgICAgICAgPSB7XG5cdFx0UHJpbWUgZWRpdGluZyBmdW5jdGlvbmFsbHkgY29ycmVjdHMgY3lzdGljIGZpYnJvc2lzLWNhdXNpbmcgQ0ZUUiBtdXRhdGlvbnMgaW5cblx0XHRodW1hbiBvcmdhbm9pZHMgYW5kIGFpcndheSBlcGl0aGVsaWFsIGNlbGxzXG5cdH0sXG5cdGF1dGhvciAgICAgICA9IHtcblx0XHRCdWxjYWVuLCBNYXR0aWpzIGFuZCBLb3J0bGV2ZW4sIFBoXHUwMEU5bGluZSBhbmQgTGl1LCBSb25hbGQgQi4gYW5kIE1hdWxlLCBHaXVsaWFcblx0XHRhbmQgRHJlYW5vLCBFbGlzZSBhbmQgS2VsbHksIE1haXJlYWQgYW5kIEVuc2luY2ssIE1hcmpvbGVpbiBNLiBhbmQgVGhpZXJpZSxcblx0XHRTYW0gYW5kIFNtaXRzLCBNYXhpbWUgYW5kIENpY2lhbmksIE1hdHRlbyBhbmQgSGF0dG9uLCBBdXJlbGllIGFuZCBDaGV2YWxpZXIsXG5cdFx0QmVub2l0IGFuZCBSYW1hbGhvLCBBbmFiZWxhIFMuIGFuZCBDYXNhZGV2YWxsIGkgU29sdmFzLCBYYXZpZXIgYW5kIERlYnlzZXIsXG5cdFx0WmVnZXIgYW5kIFZlcm1ldWxlbiwgRnJhblx1MDBFN29pcyBhbmQgR2lqc2JlcnMsIFJpayBhbmQgU2VybWV0LUdhdWRlbHVzLCBJc2FiZWxsZVxuXHRcdGFuZCBDZXJlc2V0bywgQW5uYSBhbmQgQ2FybG9uLCBNYXJpYW5uZSBTLlxuXHR9LFxuXHR5ZWFyICAgICAgICAgPSAyMDI0LFxuXHRtb250aCAgICAgICAgPSBtYXksXG5cdGpvdXJuYWwgICAgICA9IHtDZWxsIFJlcG9ydHMgTWVkaWNpbmV9LFxuXHRwYWdlcyAgICAgICAgPSAxMDE1NDQsXG5cdGRvaSAgICAgICAgICA9IHsxMC4xMDE2L2oueGNybS4yMDI0LjEwMTU0NH0sXG5cdGlzc24gICAgICAgICA9IHsyNjY2LTM3OTF9LFxuXHRhYnN0cmFjdG5vdGUgPSB7XG5cdFx0UHJpbWUgZWRpdGluZyBpcyBhIHJlY2VudCwgQ1JJU1BSLWRlcml2ZWQgZ2Vub21lIGVkaXRpbmcgdGVjaG5vbG9neSBjYXBhYmxlXG5cdFx0b2YgaW50cm9kdWNpbmcgcHJlY2lzZSBudWNsZW90aWRlIHN1YnN0aXR1dGlvbnMsIGluc2VydGlvbnMsIGFuZCBkZWxldGlvbnMuXG5cdFx0SGVyZSwgd2UgcHJlc2VudCBwcmltZSBlZGl0aW5nIGFwcHJvYWNoZXMgdG8gY29ycmVjdCBMMjI3Ui0gYW5kIE4xMzAzSy1DRlRSLFxuXHRcdHR3byBtdXRhdGlvbnMgdGhhdCBjYXVzZSBjeXN0aWMgZmlicm9zaXMgYW5kIGFyZSBub3QgZWxpZ2libGUgZm9yIGN1cnJlbnRcblx0XHRtYXJrZXQtYXBwcm92ZWQgbW9kdWxhdG9yIHRoZXJhcGllcy4gV2Ugc2hvdyB0aGF0LCB1cG9uIEROQSBjb3JyZWN0aW9uIG9mIHRoZVxuXHRcdENGVFIgZ2VuZSwgdGhlIGNvbXBsZXggZ2x5Y29zeWxhdGlvbiwgbG9jYWxpemF0aW9uLCBhbmQsIG1vc3QgaW1wb3J0YW50bHksXG5cdFx0ZnVuY3Rpb24gb2YgdGhlIENGVFIgcHJvdGVpbiBhcmUgcmVzdG9yZWQgaW4gSEVLMjkzVCBhbmQgMTZIQkUgY2VsbCBsaW5lcy5cblx0XHRUaGVzZSBmaW5kaW5ncyB3ZXJlIHN1YnNlcXVlbnRseSB2YWxpZGF0ZWQgaW4gcGF0aWVudC1kZXJpdmVkIHJlY3RhbFxuXHRcdG9yZ2Fub2lkcyBhbmQgaHVtYW4gbmFzYWwgZXBpdGhlbGlhbCBjZWxscy4gVGhyb3VnaCBhbmFseXNpcyBvZiBwcmVkaWN0ZWQgYW5kXG5cdFx0ZXhwZXJpbWVudGFsbHkgaWRlbnRpZmllZCBjYW5kaWRhdGUgb2ZmLXRhcmdldCBzaXRlcyBpbiBwcmltYXJ5IHN0ZW0gY2VsbHMsXG5cdFx0d2UgY29uZmlybSBwcmV2aW91cyByZXBvcnRzIG9uIHRoZSBoaWdoIHByaW1lIGVkaXRvciAoUEUpIHNwZWNpZmljaXR5IGFuZCBpdHNcblx0XHRwb3RlbnRpYWwgZm9yIGEgY3VyYXRpdmUgQ0YgZ2VuZSBlZGl0aW5nIHRoZXJhcHkuIFRvIGZhY2lsaXRhdGUgZnV0dXJlXG5cdFx0c2NyZWVuaW5nIG9mIGdlbmV0aWMgc3RyYXRlZ2llcyBpbiBhIHRyYW5zbGF0aW9uYWwgQ0YgbW9kZWwsIGEgbWFjaGluZVxuXHRcdGxlYXJuaW5nIGFsZ29yaXRobSB3YXMgZGV2ZWxvcGVkIGZvciBkeW5hbWljIHF1YW50aWZpY2F0aW9uIG9mIENGVFIgZnVuY3Rpb25cblx0XHRpbiBvcmdhbm9pZHMgKERFVEVDVE9SOiBcdTIwMUNkZXRlY3Rpb24gb2YgdGFyZ2V0ZWQgZWRpdGluZyBvZiBDRlRSIGluXG5cdFx0b3JnYW5vaWRzXHUyMDFEKS5cblx0fVxufVxuXG4gICAgYFxuXG5dIiwgImltcG9ydCBCaWJ0ZXhQYXJzZXIgZnJvbSBcIi4uL2NvbXBvbmVudHMvbWFrZVNvdXJjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTGl1SW50ZXJ2aWV3U291cmNlcygpe1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPEJpYnRleFBhcnNlciBiaWJ0ZXhTb3VyY2VzPXtiaWJ0ZXhTb3VyY2VzfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG59XG5cblxuY29uc3QgYmlidGV4U291cmNlcyA9IFtcbmAgXG5AYXJ0aWNsZXtlaW5zLFxudGl0bGUgPSB7U2VhcmNoLWFuZC1yZXBsYWNlIGdlbm9tZSBlZGl0aW5nIHdpdGhvdXQgZG91YmxlLXN0cmFuZCBicmVha3Mgb3IgZG9ub3IgRE5BfSwgXG52b2x1bWUgPSB7NTc2fSwgXG5yaWdodHMgPSB7MjAxOSBUaGUgQXV0aG9yKHMpLCB1bmRlciBleGNsdXNpdmUgbGljZW5jZSB0byBTcHJpbmdlciBOYXR1cmUgTGltaXRlZH0sIFxuSVNTTiA9IHsxNDc2LTQ2ODd9LCBcbkRPSSA9IHsxMC4xMDM4L3M0MTU4Ni0wMTktMTcxMS00fSwgXG5hYnN0cmFjdE5vdGUgPSB7TW9zdCBnZW5ldGljIHZhcmlhbnRzIHRoYXQgY29udHJpYnV0ZSB0byBkaXNlYXNlIGFyZSBjaGFsbGVuZ2luZyB0byBjb3JyZWN0IGVmZmljaWVudGx5IGFuZCB3aXRob3V0IGV4Y2VzcyBieXByb2R1Y3RzLiBIZXJlIHdlIGRlc2NyaWJlIHByaW1lIGVkaXRpbmcsIGEgdmVyc2F0aWxlIGFuZCBwcmVjaXNlIGdlbm9tZSBlZGl0aW5nIG1ldGhvZCB0aGF0IGRpcmVjdGx5IHdyaXRlcyBuZXcgZ2VuZXRpYyBpbmZvcm1hdGlvbiBpbnRvIGEgc3BlY2lmaWVkIEROQSBzaXRlIHVzaW5nIGEgY2F0YWx5dGljYWxseSBpbXBhaXJlZCBDYXM5IGVuZG9udWNsZWFzZSBmdXNlZCB0byBhbiBlbmdpbmVlcmVkIHJldmVyc2UgdHJhbnNjcmlwdGFzZSwgcHJvZ3JhbW1lZCB3aXRoIGEgcHJpbWUgZWRpdGluZyBndWlkZSBSTkEgKHBlZ1JOQSkgdGhhdCBib3RoIHNwZWNpZmllcyB0aGUgdGFyZ2V0IHNpdGUgYW5kIGVuY29kZXMgdGhlIGRlc2lyZWQgZWRpdC4gV2UgcGVyZm9ybWVkIG1vcmUgdGhhbiAxNzUgZWRpdHMgaW4gaHVtYW4gY2VsbHMsIGluY2x1ZGluZyB0YXJnZXRlZCBpbnNlcnRpb25zLCBkZWxldGlvbnMsIGFuZCBhbGwgMTIgdHlwZXMgb2YgcG9pbnQgbXV0YXRpb24sIHdpdGhvdXQgcmVxdWlyaW5nIGRvdWJsZS1zdHJhbmQgYnJlYWtzIG9yIGRvbm9yIEROQSB0ZW1wbGF0ZXMuIFdlIHVzZWQgcHJpbWUgZWRpdGluZyBpbiBodW1hbiBjZWxscyB0byBjb3JyZWN0LCBlZmZpY2llbnRseSBhbmQgd2l0aCBmZXcgYnlwcm9kdWN0cywgdGhlIHByaW1hcnkgZ2VuZXRpYyBjYXVzZXMgb2Ygc2lja2xlIGNlbGwgZGlzZWFzZSBhbmQgVGF5XHUyMDEzU2FjaHMgZGlzZWFzZTsgdG8gaW5zdGFsbCBhIHByb3RlY3RpdmUgdHJhbnN2ZXJzaW9uIGluIFBSTlA7IGFuZCB0byBpbnNlcnQgdmFyaW91cyB0YWdzIGFuZCBlcGl0b3BlcyBwcmVjaXNlbHkgaW50byB0YXJnZXQgbG9jaS4gRm91ciBodW1hbiBjZWxsIGxpbmVzIGFuZCBwcmltYXJ5IHBvc3QtbWl0b3RpYyBtb3VzZSBjb3J0aWNhbCBuZXVyb25zIHN1cHBvcnQgcHJpbWUgZWRpdGluZyB3aXRoIHZhcnlpbmcgZWZmaWNpZW5jaWVzLiBQcmltZSBlZGl0aW5nIHNob3dzIGhpZ2hlciBvciBzaW1pbGFyIGVmZmljaWVuY3kgYW5kIGZld2VyIGJ5cHJvZHVjdHMgdGhhbiBob21vbG9neS1kaXJlY3RlZCByZXBhaXIsIGhhcyBjb21wbGVtZW50YXJ5IHN0cmVuZ3RocyBhbmQgd2Vha25lc3NlcyBjb21wYXJlZCB0byBiYXNlIGVkaXRpbmcsIGFuZCBpbmR1Y2VzIG11Y2ggbG93ZXIgb2ZmLXRhcmdldCBlZGl0aW5nIHRoYW4gQ2FzOSBudWNsZWFzZSBhdCBrbm93biBDYXM5IG9mZi10YXJnZXQgc2l0ZXMuIFByaW1lIGVkaXRpbmcgc3Vic3RhbnRpYWxseSBleHBhbmRzIHRoZSBzY29wZSBhbmQgY2FwYWJpbGl0aWVzIG9mIGdlbm9tZSBlZGl0aW5nLCBhbmQgaW4gcHJpbmNpcGxlIGNvdWxkIGNvcnJlY3QgdXAgdG8gODklIG9mIGtub3duIGdlbmV0aWMgdmFyaWFudHMgYXNzb2NpYXRlZCB3aXRoIGh1bWFuIGRpc2Vhc2VzLn0sIFxubnVtYmVyID0gezc3ODV9LCBcbmpvdXJuYWwgPSB7TmF0dXJlfSwgXG5wdWJsaXNoZXIgPSB7TmF0dXJlIFB1Ymxpc2hpbmcgR3JvdXB9LCBcbmF1dGhvciA9IHtBbnphbG9uZSwgQW5kcmV3IFYuIGFuZCBSYW5kb2xwaCwgUGV5dG9uIEIuIGFuZCBEYXZpcywgSmVzc2llIFIuIGFuZCBTb3VzYSwgQWxleGFuZGVyIEEuIGFuZCBLb2JsYW4sIEx1a2UgVy4gYW5kIExldnksIEpvbmF0aGFuIE0uIGFuZCBDaGVuLCBQZXRlciBKLiBhbmQgV2lsc29uLCBDaHJpc3RvcGhlciBhbmQgTmV3YnksIEdyZWdvcnkgQS4gYW5kIFJhZ3VyYW0sIEFkaXR5YSBhbmQgTGl1LCBEYXZpZCBSLn0sIFxueWVhciA9IHsyMDE5fSwgXG5tb250aCA9IHtkZWN9LCBcbnBhZ2VzID0gezE0OVx1MjAxMzE1N30sIFxubGFuZ3VhZ2UgPSB7ZW59XG59YCxgXG5cbkBhcnRpY2xle3p3ZWksXG50aXRsZSA9IHtQaGFnZS1hc3Npc3RlZCBldm9sdXRpb24gYW5kIHByb3RlaW4gZW5naW5lZXJpbmcgeWllbGQgY29tcGFjdCwgZWZmaWNpZW50IHByaW1lIGVkaXRvcnN9LCBcbnZvbHVtZSA9IHsxODZ9LCBcbklTU04gPSB7MDA5Mi04Njc0LCAxMDk3LTQxNzJ9LCBcbkRPSSA9IHsxMC4xMDE2L2ouY2VsbC4yMDIzLjA3LjAzOX0sIFxubnVtYmVyID0gezE4fSwgXG5qb3VybmFsID0ge0NlbGx9LCBcbnB1Ymxpc2hlciA9IHtFbHNldmllcn0sIFxuYXV0aG9yID0ge0RvbWFuLCBKb3JkYW4gTC4gYW5kIFBhbmRleSwgU21yaXRpIGFuZCBOZXVnZWJhdWVyLCBNb25pY2EgRS4gYW5kIEFuLCBNZWlydWkgYW5kIERhdmlzLCBKZXNzaWUgUi4gYW5kIFJhbmRvbHBoLCBQZXl0b24gQi4gYW5kIE1jRWxyb3ksIEFtYmVyIGFuZCBHYW8sIFhpbiBELiBhbmQgUmFndXJhbSwgQWRpdHlhIGFuZCBSaWNodGVyLCBNaWNoZWxsZSBGLiBhbmQgRXZlcmV0dGUsIEtlbGNlZSBBLiBhbmQgQmFuc2tvdGEsIFNhbWFneWEgYW5kIFRpYW4sIEthdGhyeW4gYW5kIFRhbywgWS4gQWxsZW4gYW5kIFRvbGFyLCBKYWt1YiBhbmQgT3Nib3JuLCBNYXJrIEouIGFuZCBMaXUsIERhdmlkIFIufSwgXG55ZWFyID0gezIwMjN9LCBcbm1vbnRoID0ge2F1Z30sIFxucGFnZXMgPSB7Mzk4My00MDAyLmUyNn0sIFxubGFuZ3VhZ2UgPSB7RW5nbGlzaH1cbn1gLGBcblxuQGFydGljbGV7ZHJlaSwgXG50aXRsZSA9IHtQaGFnZS1hc3Npc3RlZCBjb250aW51b3VzIGFuZCBub24tY29udGludW91cyBldm9sdXRpb259LCBcbnZvbHVtZSA9IHsxNX0sIFxucmlnaHRzID0gezIwMjAgVGhlIEF1dGhvcihzKSwgdW5kZXIgZXhjbHVzaXZlIGxpY2VuY2UgdG8gU3ByaW5nZXIgTmF0dXJlIExpbWl0ZWR9LCBcbklTU04gPSB7MTc1MC0yNzk5fSwgXG5ET0kgPSB7MTAuMTAzOC9zNDE1OTYtMDIwLTAwNDEwLTN9LCBcbmFic3RyYWN0Tm90ZSA9IHtEaXJlY3RlZCBldm9sdXRpb24sIHdoaWNoIGFwcGxpZXMgdGhlIHByaW5jaXBsZXMgb2YgRGFyd2luaWFuIGV2b2x1dGlvbiB0byBhIGxhYm9yYXRvcnkgc2V0dGluZywgaXMgYSBwb3dlcmZ1bCBzdHJhdGVneSBmb3IgZ2VuZXJhdGluZyBiaW9tb2xlY3VsZXMgd2l0aCBkaXZlcnNlIGFuZCB0YWlsb3JlZCBwcm9wZXJ0aWVzLiBUaGlzIHRlY2huaXF1ZSBjYW4gYmUgaW1wbGVtZW50ZWQgaW4gYSBoaWdobHkgZWZmaWNpZW50IG1hbm5lciB1c2luZyBjb250aW51b3VzIGV2b2x1dGlvbiwgd2hpY2ggZW5hYmxlcyB0aGUgc3RlcHMgb2YgZGlyZWN0ZWQgZXZvbHV0aW9uIHRvIHByb2NlZWQgc2VhbWxlc3NseSBvdmVyIG1hbnkgc3VjY2Vzc2l2ZSBnZW5lcmF0aW9ucyB3aXRoIG1pbmltYWwgcmVzZWFyY2hlciBpbnRlcnZlbnRpb24uIFBoYWdlLWFzc2lzdGVkIGNvbnRpbnVvdXMgZXZvbHV0aW9uIChQQUNFKSBlbmFibGVzIGNvbnRpbnVvdXMgZGlyZWN0ZWQgZXZvbHV0aW9uIGluIGJhY3RlcmlhIGJ5IG1hcHBpbmcgdGhlIHN0ZXBzIG9mIERhcndpbmlhbiBldm9sdXRpb24gb250byB0aGUgYmFjdGVyaW9waGFnZSBsaWZlIGN5Y2xlIGFuZCBhbGxvd3MgZGlyZWN0ZWQgZXZvbHV0aW9uIHRvIG9jY3VyIG9uIG11Y2ggZmFzdGVyIHRpbWVzY2FsZXMgY29tcGFyZWQgdG8gY29udmVudGlvbmFsIG1ldGhvZHMuIFRoaXMgcHJvdG9jb2wgcHJvdmlkZXMgZGV0YWlsZWQgaW5zdHJ1Y3Rpb25zIG9uIGV2b2x2aW5nIHByb3RlaW5zIHVzaW5nIFBBQ0UgYW5kIHBoYWdlLWFzc2lzdGVkIG5vbi1jb250aW51b3VzIGV2b2x1dGlvbiAoUEFOQ0UpIGFuZCBpbmNsdWRlcyBpbmZvcm1hdGlvbiBvbiB0aGUgcHJlcGFyYXRpb24gb2Ygc2VsZWN0aW9uIHBoYWdlIGFuZCBob3N0IGNlbGxzLCB0aGUgYXNzZW1ibHkgb2YgYSBjb250aW51b3VzIGZsb3cgYXBwYXJhdHVzIGFuZCB0aGUgcGVyZm9ybWFuY2UgYW5kIGFuYWx5c2lzIG9mIGV2b2x1dGlvbiBleHBlcmltZW50cy4gVGhpcyBwcm90b2NvbCBjYW4gYmUgcGVyZm9ybWVkIGluIGFzIGxpdHRsZSBhcyAyIHdlZWtzIHRvIGNvbXBsZXRlIG1vcmUgdGhhbiAxMDAgcm91bmRzIG9mIGV2b2x1dGlvbiAoY29tcGxldGUgY3ljbGVzIG9mIG11dGF0aW9uLCBzZWxlY3Rpb24gYW5kIHJlcGxpY2F0aW9uKSBpbiBhIHNpbmdsZSBQQUNFIGV4cGVyaW1lbnQufSwgXG5udW1iZXIgPSB7MTJ9LCBcbmpvdXJuYWwgPSB7TmF0dXJlIFByb3RvY29sc30sIFxucHVibGlzaGVyID0ge05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSwgXG5hdXRob3IgPSB7TWlsbGVyLCBTaGFubm9uIE0uIGFuZCBXYW5nLCBUaW5hIGFuZCBMaXUsIERhdmlkIFIufSwgXG55ZWFyID0gezIwMjB9LCBcbm1vbnRoID0ge2RlY30sIFxucGFnZXMgPSB7NDEwMVx1MjAxMzQxMjd9LCBcbmxhbmd1YWdlID0ge2VufVxufWAsYFxuQGFydGljbGV7dmllciwgXG50aXRsZSA9IHtTeXN0ZW1hdGljIG9wdGltaXphdGlvbiBvZiBwcmltZSBlZGl0aW5nIGZvciB0aGUgZWZmaWNpZW50IGZ1bmN0aW9uYWwgY29ycmVjdGlvbiBvZiBDRlRSIEY1MDhkZWwgaW4gaHVtYW4gYWlyd2F5IGVwaXRoZWxpYWwgY2VsbHN9LCBcbnJpZ2h0cyA9IHsyMDI0IFRoZSBBdXRob3Iocyl9LCBcbklTU04gPSB7MjE1Ny04NDZYfSwgXG5ET0kgPSB7MTAuMTAzOC9zNDE1NTEtMDI0LTAxMjMzLTN9LCBcbmFic3RyYWN0Tm90ZSA9IHtQcmltZSBlZGl0aW5nIChQRSkgZW5hYmxlcyBwcmVjaXNlIGFuZCB2ZXJzYXRpbGUgZ2Vub21lIGVkaXRpbmcgd2l0aG91dCByZXF1aXJpbmcgZG91YmxlLXN0cmFuZGVkIEROQSBicmVha3MuIEhlcmUgd2UgZGVzY3JpYmUgdGhlIHN5c3RlbWF0aWMgb3B0aW1pemF0aW9uIG9mIFBFIHN5c3RlbXMgdG8gZWZmaWNpZW50bHkgY29ycmVjdCBodW1hbiBjeXN0aWMgZmlicm9zaXMgKENGKSB0cmFuc21lbWJyYW5lIGNvbmR1Y3RhbmNlIHJlZ3VsYXRvciAoQ0ZUUikgRjUwOGRlbCwgYSB0aHJlZS1udWNsZW90aWRlIGRlbGV0aW9uIHRoYXQgaXMgdGhlIHByZWRvbWluYW50IGNhdXNlIG9mIENGLiBCeSBjb21iaW5pbmcgc2l4IGVmZmljaWVuY3kgb3B0aW1pemF0aW9ucyBmb3IgUEVcdTIwMTRlbmdpbmVlcmVkIFBFIGd1aWRlIFJOQXMsIHRoZSBQRW1heCBhcmNoaXRlY3R1cmUsIHRoZSB0cmFuc2llbnQgZXhwcmVzc2lvbiBvZiBhIGRvbWluYW50LW5lZ2F0aXZlIG1pc21hdGNoIHJlcGFpciBwcm90ZWluLCBzdHJhdGVnaWMgc2lsZW50IGVkaXRzLCBQRTYgdmFyaWFudHMgYW5kIHByb3hpbWFsIFx1MjAxOGRlYWRcdTIwMTkgc2luZ2xlLWd1aWRlIFJOQXNcdTIwMTR3ZSBpbmNyZWFzZWQgY29ycmVjdGlvbiBlZmZpY2llbmNpZXMgZm9yIENGVFIgRjUwOGRlbCBmcm9tIGxlc3MgdGhhbiAwLjUlIGluIEhFSzI5M1QgY2VsbHMgdG8gNTglIGluIGltbW9ydGFsaXplZCBicm9uY2hpYWwgZXBpdGhlbGlhbCBjZWxscyAoYSAxNDAtZm9sZCBpbXByb3ZlbWVudCkgYW5kIHRvIDI1JSBpbiBwYXRpZW50LWRlcml2ZWQgYWlyd2F5IGVwaXRoZWxpYWwgY2VsbHMuIFRoZSBvcHRpbWl6YXRpb25zIGFsc28gcmVzdWx0ZWQgaW4gbWluaW1hbCBvZmYtdGFyZ2V0IGVkaXRpbmcsIGluIGVkaXQtdG8taW5kZWwgcmF0aW9zIDMuNS1mb2xkIGdyZWF0ZXIgdGhhbiB0aG9zZSBhY2hpZXZlZCBieSBudWNsZWFzZS1tZWRpYXRlZCBob21vbG9neS1kaXJlY3RlZCByZXBhaXIsIGFuZCBpbiB0aGUgZnVuY3Rpb25hbCByZXN0b3JhdGlvbiBvZiBDRlRSIGlvbiBjaGFubmVscyB0byBvdmVyIDUwJSBvZiB3aWxkLXR5cGUgbGV2ZWxzIChzaW1pbGFyIHRvIHRob3NlIGFjaGlldmVkIHZpYSBjb21iaW5hdGlvbiB0cmVhdG1lbnQgd2l0aCBlbGV4YWNhZnRvciwgdGV6YWNhZnRvciBhbmQgaXZhY2FmdG9yKSBpbiBwcmltYXJ5IGFpcndheSBjZWxscy4gT3VyIGZpbmRpbmdzIHN1cHBvcnQgdGhlIGZlYXNpYmlsaXR5IG9mIGEgZHVyYWJsZSBvbmUtdGltZSB0cmVhdG1lbnQgZm9yIENGLn0sIFxuam91cm5hbCA9IHtOYXR1cmUgQmlvbWVkaWNhbCBFbmdpbmVlcmluZ30sIFxucHVibGlzaGVyID0ge05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSwgXG5hdXRob3IgPSB7U291c2EsIEFsZXhhbmRlciBBLiBhbmQgSGVtZXosIENvbGluIGFuZCBMZWksIExlaSBhbmQgVHJhb3JlLCBTb3VtYmEgYW5kIEt1bGhhbmtvdmEsIEthdGFyaW5hIGFuZCBOZXdieSwgR3JlZ29yeSBBLiBhbmQgRG9tYW4sIEpvcmRhbiBMLiBhbmQgT3llLCBLZXllZGUgYW5kIFBhbmRleSwgU21yaXRpIGFuZCBLYXJwLCBQaGlsaXAgSC4gYW5kIE1jQ3JheSwgUGF1bCBCLiBhbmQgTGl1LCBEYXZpZCBSLn0sIFxueWVhciA9IHsyMDI0fSwgXG5tb250aCA9IHtqdWx9LCBcbnBhZ2VzID0gezFcdTIwMTMxNX0sIFxubGFuZ3VhZ2UgPSB7ZW59XG59YFxuXSIsICJpbXBvcnQgQmlidGV4UGFyc2VyIGZyb20gXCIuLi9jb21wb25lbnRzL21ha2VTb3VyY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJuaGFsZVNvdXJjZXMoKXtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCaWJ0ZXhQYXJzZXIgYmlidGV4U291cmNlcz17YmlidGV4U291cmNlc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xufVxuXG5cbmNvbnN0IGJpYnRleFNvdXJjZXMgPSBbXG5gXG4gXG5AYXJ0aWNsZXthcnRpY2xlLCBcblxuYXV0aG9yPXtSb3RoLCBGLiBDLiwgTnVtYmVyZ2VyLCBNLiwgYW5kIERyYWd1aG4sIEEufSwgXG5cbnllYXI9ezIwMjN9LCBcblxubW9udGg9e30sIFxuXG5wYWdlcz17MS0xNH0sIFxuXG50aXRsZT17RGllIEVudHdpY2tsdW5nIGRlciBQYXRjaC1DbGFtcC1UZWNobmlrfSwgXG5cbnZvbHVtZT17fSwgXG5cbmpvdXJuYWw9e1NwcmluZ2VyIGVCb29rc30sIFxuXG5kb2k9ezEwLjEwMDcvOTc4LTMtNjYyLTY2MDUzLTlfMX0gXG5cbn0gXG5cbmAsYCBcblxuQGFydGljbGV7YXJ0aWNsZSwgXG5cbmF1dGhvcj17TWV0ZSwgVi59LCBcblxueWVhcj17MjAyM30sIFxuXG5tb250aD17IH0sIFxuXG5wYWdlcz17IH0sIFxuXG50aXRsZT17RW50d2lja2x1bmcgdW5kIFZhbGlkaWVydW5nIG5ldWVyIG5pY2h0LWludmFzaXZlciBEaWFnbm9zZXN5c3RlbWUgZlx1MDBGQ3IgTXVjb2NpbGlhcnkgQ2xlYXJhbmNlIERpc29yZGVycyAoTUNDRCl9LCBcblxudm9sdW1lPXsgfSwgXG5cbmpvdXJuYWw9e0Rpc3NlcnRhdGlvbiwgV2VzdGZcdTAwRTRsaXNjaGUgV2lsaGVsbXMtVW5pdmVyc2l0XHUwMEU0dCBNXHUwMEZDbnN0ZXJ9LCBcblxuZG9pPXsxMC4xNzg3OS85ODk1ODQ0MTkwNX0gXG5cbn0gXG5cbmAsYFxuXG5AYXJ0aWNsZXthcnRpY2xlLCBcblxuYXV0aG9yPXtHaWFldmVyLCBJLiBhbmQgS2Vlc2UsIEMuIH0sIFxuXG55ZWFyPXsxOTkzfSwgXG5cbm1vbnRoPXsgfSwgXG5cbnBhZ2VzPXs1OTEtNTkyfSwgXG5cbnRpdGxlPXtBIG1vcnBob2xvZ2ljYWwgYmlvc2Vuc29yIGZvciBtYW1tYWxpYW4gY2VsbHN9LCBcblxudm9sdW1lPXszNjZ9LCBcblxuam91cm5hbD17TmF0dXJlfSwgXG5cbmRvaT17MTAuMTAzOC8zNjY1OTFhMH0gXG5cbn0gXG5gXG5dIiwgImltcG9ydCBCaWJ0ZXhQYXJzZXIgZnJvbSBcIi4uL2NvbXBvbmVudHMvbWFrZVNvdXJjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gV2lzY2htZXllclNvdXJjZXMoKXtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCaWJ0ZXhQYXJzZXIgYmlidGV4U291cmNlcz17YmlidGV4U291cmNlc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xufVxuXG5cbmNvbnN0IGJpYnRleFNvdXJjZXMgPSBbXG4gICAgYFxuICAgICBcbkBhcnRpY2xle2FydGljbGUsIFxuXG5hdXRob3I9e1JvdGgsIEYuIEMuLCBOdW1iZXJnZXIsIE0uLCBhbmQgRHJhZ3VobiwgQS59LCBcblxueWVhcj17MjAyM30sIFxuXG5tb250aD17fSwgXG5cbnBhZ2VzPXsxLTE0fSwgXG5cbnRpdGxlPXtEaWUgRW50d2lja2x1bmcgZGVyIFBhdGNoLUNsYW1wLVRlY2huaWt9LCBcblxudm9sdW1lPXt9LCBcblxuam91cm5hbD17U3ByaW5nZXIgZUJvb2tzfSwgXG5cbmRvaT17MTAuMTAwNy85NzgtMy02NjItNjYwNTMtOV8xfSBcblxufSBcblxuYCxgXG5cbkBhcnRpY2xle2FydGljbGUsIFxuXG5hdXRob3I9e01ldGUsIFYufSwgXG5cbnllYXI9ezIwMjN9LCBcblxubW9udGg9eyB9LCBcblxucGFnZXM9eyB9LCBcblxudGl0bGU9e0VudHdpY2tsdW5nIHVuZCBWYWxpZGllcnVuZyBuZXVlciBuaWNodC1pbnZhc2l2ZXIgRGlhZ25vc2VzeXN0ZW1lIGZcdTAwRkNyIE11Y29jaWxpYXJ5IENsZWFyYW5jZSBEaXNvcmRlcnMgKE1DQ0QpfSwgXG5cbnZvbHVtZT17IH0sIFxuXG5qb3VybmFsPXtEaXNzZXJ0YXRpb24sIFdlc3RmXHUwMEU0bGlzY2hlIFdpbGhlbG1zLVVuaXZlcnNpdFx1MDBFNHQgTVx1MDBGQ25zdGVyfSwgXG5cbmRvaT17MTAuMTc4NzkvOTg5NTg0NDE5MDV9IFxuXG59IFxuYCxgXG5cbkBhcnRpY2xle2FydGljbGUsIFxuXG5hdXRob3I9e0dpYWV2ZXIsIEkuIGFuZCBLZWVzZSwgQy4gfSwgXG5cbnllYXI9ezE5OTN9LCBcblxubW9udGg9eyB9LCBcblxucGFnZXM9ezU5MS01OTJ9LCBcblxudGl0bGU9e0EgbW9ycGhvbG9naWNhbCBiaW9zZW5zb3IgZm9yIG1hbW1hbGlhbiBjZWxsc30sIFxuXG52b2x1bWU9ezM2Nn0sIFxuXG5qb3VybmFsPXtOYXR1cmV9LCBcblxuZG9pPXsxMC4xMDM4LzM2NjU5MWEwfSBcblxufSBcbiAgICBgXG5dIiwgImltcG9ydCB7IFFhQm94IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQm94ZXNcIjtcbmltcG9ydCB7IFRhYlNjcm9sbExpbmsgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9MaW5rXCI7XG5pbXBvcnQgeyBTY3JvbGxMaW5rV2l0aENoaWxkIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvU2Nyb2xsTGlua1wiO1xuaW1wb3J0IEpvc2h1YUludGVydmlld1NvdXJjZXMgZnJvbSBcIi4uL3NvdXJjZXMvam9zaHVhLWludi1zb3VyY2VzXCI7XG5pbXBvcnQgTWF0dGlqc0ludGVydmlld1NvdXJjZXMgZnJvbSBcIi4uL3NvdXJjZXMvbWF0dGlqLWludi1zb3VyY2VzXCI7XG5pbXBvcnQgTGl1SW50ZXJ2aWV3U291cmNlcyBmcm9tIFwiLi4vc291cmNlcy9saXUtaW52LXNvdXJjZXNcIjtcbmltcG9ydCBSbmhhbGVTb3VyY2VzIGZyb20gXCIuLi9zb3VyY2VzL3JuaGFsZS1zb3VyY2VzXCI7XG5pbXBvcnQgV2lzY2htZXllclNvdXJjZXMgZnJvbSBcIi4uL3NvdXJjZXMvd2ltc2NoZXllci1zb3VyY2VzXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbmZ1bmN0aW9uIEhQTGlua3RvT3RoZXJIUFRhYih7dGFiLCB0ZXh0fTp7dGFiOiBzdHJpbmcsIHRleHQ6IHN0cmluZ30pe1xuICBjb25zdCB7Z29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uKCk7IFxuICByZXR1cm4oXG4gICAgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYih0YWIsIFwiXCIpfT4ge3RleHR9IDwvYT5cbiAgKVxufVxuZnVuY3Rpb24gSFBnb1RvUGFnZUFuZFNjcm9sbCh7aWQsIHRleHQsIHBhdGh9OntpZDogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIHBhdGg6IHN0cmluZ30pe1xuICBjb25zdCB7Z29Ub1BhZ2VBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpOyBcbiAgcmV0dXJuKFxuICAgIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsKGlkLCBwYXRoKX0+IHt0ZXh0fSA8L2E+XG4gIClcbn1cblxuZnVuY3Rpb24gSFBnb1RvUGFnZUFuZE9wZW5UYWIoe2lkLCB0ZXh0LCBwYXRofTp7aWQ6IHN0cmluZywgdGV4dDogc3RyaW5nLCBwYXRoOiBzdHJpbmd9KXtcbiAgY29uc3Qge2dvVG9QYWdlc0FuZE9wZW5UYWJ9ID0gdXNlTmF2aWdhdGlvbigpOyBcbiAgcmV0dXJuKFxuICAgIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoaWQsIHBhdGgpfT4ge3RleHR9IDwvYT5cbiAgKVxufVxuZnVuY3Rpb24gSFBnb1RvUGFnZUFuZE9wZW5UYWJBbmRTY3JvbGwoe3RhYiwgdGV4dCwgcGF0aCwgc2Nyb2xsSWR9Ont0YWI6IHN0cmluZywgdGV4dDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIHNjcm9sbElkOiBzdHJpbmd9KXtcbiAgY29uc3Qge2dvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbH0gPSB1c2VOYXZpZ2F0aW9uKCk7IFxuICByZXR1cm4oXG4gICAgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHt0YWJJZDogdGFiLCBwYXRoOiBwYXRoLCBzY3JvbGxUb0lkOiBzY3JvbGxJZH0pfT4ge3RleHR9IDwvYT5cbiAgKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVsaW5lRGF0ZW5wdW5rdCB7XG4gIHRpdGxlPzogc3RyaW5nOyAvKiBQcm9mLiAsIERyLiwgLi4uICovXG4gIHZvcm5hbWU6IHN0cmluZzsgXG4gIG5hY2hubmFtZTogc3RyaW5nOyBcbiAgcGljdHVyZXVybDogc3RyaW5nOyBcbiAgdGFnOiBTdGFrZWhvbGRlclRhZzsgXG4gIGhlYWRpbmc6IHN0cmluZzsgXG4gIGludGVydmlld3RhYmlkOiBzdHJpbmc7IFxuICB0eXBlPzogVHlwZVRhZzsgLyogbnVyIGZhbGxzIGVzIGVpbiBtZXRhIHRhZyBpc3QgICovXG4gIGFmZmlsaWF0aW9uPzogc3RyaW5nOyBcbiAgam9iPzogc3RyaW5nOyBcbiAgY2FyZHRleHQ6IHN0cmluZzsgXG4gIGxhbmd1YWdlPzogTGFuZ3VhZ2U7IFxuICBxdW90ZT86IHN0cmluZzsgXG4gIHF1b3RlVm9ybmFtZT86IHN0cmluZzsgLyogV2VubiBkaWUgcXVvdGUgbmljaHQgdm9uIGRlciBQZXJzb24gaXN0IFx1MDBGQ2JlciBkaWUgZGVyIFRleHQgaXN0ICAqL1xuICBxdW90ZU5hY2huYW1lPzogc3RyaW5nOyBcbiAgYWltb2Zjb250YWN0Pzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB8IEFycmF5PFJlYWN0LlJlYWN0Tm9kZT47IC8qIFNvYmFsZCBaaXRpZXJ1bmdlbiBkcmluIHNpbmQgb2RlciBMaW5rcyBtdXNzIGVzIEhUTUwgQ29kZSBzZWluLCBhbnNvbnN0ZW4gZ2VoZW4gc3RyaW5ncyAqL1xuICBpbnNpZ2h0cz86IHN0cmluZyB8IEFycmF5PHN0cmluZz4gfCBBcnJheTxSZWFjdC5SZWFjdE5vZGU+OyAvKiBTb2JhbGQgWml0aWVydW5nZW4gZHJpbiBzaW5kIG9kZXIgTGlua3MgbXVzcyBlcyBIVE1MIENvZGUgc2VpbiwgYW5zb25zdGVuIGdlaGVuIHN0cmluZ3MgKi9cbiAgY2xhcmlmaWNhdGlvbj86IHN0cmluZyB8IEFycmF5PHN0cmluZz4gfCBBcnJheTxSZWFjdC5SZWFjdE5vZGU+OyAvKiBTb2JhbGQgWml0aWVydW5nZW4gZHJpbiBzaW5kIG9kZXIgTGlua3MgbXVzcyBlcyBIVE1MIENvZGUgc2VpbiwgYW5zb25zdGVuIGdlaGVuIHN0cmluZ3MgKi9cbiAgaW1wbGVtZW50YXRpb24/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IHwgQXJyYXk8UmVhY3QuUmVhY3ROb2RlPjsgLyogU29iYWxkIFppdGllcnVuZ2VuIGRyaW4gc2luZCBvZGVyIExpbmtzIG11c3MgZXMgSFRNTCBDb2RlIHNlaW4sIGFuc29uc3RlbiBnZWhlbiBzdHJpbmdzICovXG4gIHBpY3R1cmV1cmxfaW50ZXJ2aWV3Pzogc3RyaW5nOyAgLyogUGljdHVyZSB0aGF0IGdvZXMgaW50byB0aGUgcGFyYWdyYXBoIFwiSW5zaWdodHNcIiAgKi9cbiAgcGljdHVyZXVybF9haW0/OiBzdHJpbmc7ICAvKiBQaWN0dXJlIHRoYXQgZ29lcyBpbnRvIHRoZSBwYXJhZ3JhcGggXCJBaW0gb2YgY29udGFjdFwiICAqL1xuICBwaWN0dXJldXJsX2ltcGxlbWVudGF0aW9uPzogc3RyaW5nOyAgLyogUGljdHVyZSB0aGF0IGdvZXMgaW50byB0aGUgcGFyYWdyYXBoIFwiSW1wbGVtZW50YXRpb25cIiAgKi9cbiAgbW9yZV9waWN0dXJlcz86IEFycmF5PHN0cmluZz4gO1xuICByZWZlcmVuY2VzPzogUmVhY3QuUmVhY3ROb2RlOyAgLyogTXVzcyBIVE1MIENvZGUgc2VpbiAtIExpbGlhbmEgZXJzdGVsbHQgZGVuIGF1cyBCaWIgZGF0ZWllbiAqL1xuICBpbnRlcnZpZXc/OiBSZWFjdC5SZWFjdE5vZGU7IFxuICB0ZXh0Pzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB8IEFycmF5PFJlYWN0LlJlYWN0Tm9kZT47IC8qIEV4dHJhIFRleHQgKi9cbiAgZXhwZXJ0b24/OiBzdHJpbmc7ICBcbiAgc3VtbWFyeTogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB8IEFycmF5PFJlYWN0LlJlYWN0Tm9kZT47IC8qIFNvYmFsZCBaaXRpZXJ1bmdlbiBkcmluIHNpbmQgb2RlciBMaW5rcyBtdXNzIGVzIEhUTUwgQ29kZSBzZWluLCBhbnNvbnN0ZW4gZ2VoZW4gc3RyaW5ncyAqLyBcbiAgbW9udGhzOiBzdHJpbmcsIFxufVxuXG50eXBlIFN0YWtlaG9sZGVyVGFnID0gJ0luZHVzdHJ5JyB8ICdBY2FkZW1pYScgfCAnUGF0aWVudCcgfCAnTWVkaWNhbCBQcm9mZXNzaW9uYWwnIHwgJ01pbGVzdG9uZScgfCAnRWR1Y2F0aW9uJ3wgJ091dHJlYWNoJ3wgJ090aGVyJzsgXG50eXBlIFR5cGVUYWcgPSAnbWV0YScgfCAna2F5YScgOyBcbnR5cGUgTGFuZ3VhZ2UgPSAnZW4nIHwgJ2RlJzsgXG5cbiBcblxuY29uc3QgcGljczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgcGxhY2Vob2xkZXI6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIixcbiAgbWF4OiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1tYXgtcG9ydHJhaXQuanBnXCIsXG4gIGtyaXN0aWFuOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9rcmlzdGlhbi1pbnRlcnZpZXcud2VicFwiLFxuICBvbGFyaXU6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL29sYXJpdS1jcmlzdGlhbi5qcGdcIixcbiAgd2VzdGhvZmY6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2hwLWthdHJpbi1wb3J0cmFpdC5qcGdcIixcbiAgbWF0dGlqczogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvbWF0dGlqcy5qcGdcIixcbiAganVsaWE6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2p1bGlhLmpwZ1wiLFxuICBrb2xvbmtvOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9rb2xvbmtvLW5ldS5qcGdcIixcbiAgc3ZlbmphOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL3N2ZW5qYS12aW5rZS53ZWJwXCIsXG4gIGJlcmVuczogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvYmVyZW5zLmpwZ1wiLFxuICBkcmFlZ2VyOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9vbGl2ZXItZHJhZWdlci1wYXRjaC1jbGFtcC5qcGVnXCIsXG4gIHdpbmtlbGphbm46IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL3JuaGFsZS13aW5rZWxqYW5uLmpwZ1wiLFxuICBrdWVobmVsOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1waGlsaXBway1obmVsLmpwZWcgXCIsXG4gIHdpc2NobWV5ZXI6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL3dpc2NobWV5ZXItZXJoYXJkLndlYnBcIixcbiAgbmljb2xlOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1mcmllZGxlaW4tbmljb2xlLmpwZ1wiLFxuICBqb3NodWE6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2pvc2h1YS5qcGdcIixcbiAgaGFtbWVyOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1oYW1tZXIud2VicFwiLFxuICBqb2hhbm5mdW5rZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvaHAtbWljaGFlbGpvaGFubmZ1bmtlLndlYnBcIixcbiAga1x1MDBGQ2huZWw6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2hwLXBoaWxpcHBrLWhuZWwuanBlZyBcIixcbiAgbW9vcmxhY2g6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvbW9vcmxhY2gud2VicCBcIixcbiAgY29yZGVuOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L2NvcmRlbi1ocC53ZWJwXCIsXG4gIG1hcmNvOiBcIiBodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvbWFyY28tcmF1a2ljLndlYnAgXCIsXG4gIHdlYmVyOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L3dlYmVyLndlYnBcIixcbiAgem95YTpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC96b3lhLWlnbmF0b3ZhLndlYnBcIixcbiAga2FpaGFtbWVyOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2ludGVyd2lldi1rYWkuanBlZ1wiLCBcbiAgbmlsc2hlZmU6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvbmlsc2hlZmUtaHAud2VicFwiLFxuICBneHBleHBlcnQ6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvZ3hwZXhwZXJ0LndlYnBcIixcbiAgZ3hwY291cnNlOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2theWFneHBleHBlcnQud2VicFwiLFxuICBsaW5rXHUwMEY2cGluZzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9saXUyMDI0LXJ1bmQud2VicFwiLFxuICBiaW9iYW5rOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2Jpb2Jhbmsud2VicFwiLFxuICBiZXRoZWw6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2xvZ28tZXZhbmdlbGlzY2hlcy1rbGluaWt1bS1iZXRoZWwud2VicFwiLFxuICBzYWl0bzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1tYWtvdG8tc2FpdG8uanBnXCIsXG4gIHBoeXNpazpcIiBodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9ocC11bmktbG9nby53ZWJwXCIsXG4gIGhhbm5vdmVybWVzc2U6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2hhbm5vdmVyLW1lc3NlLXN2Zy53ZWJwXCIsXG4gIGZyYW5rZnVydG1lc3NlOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9hY2hlbWEud2VicFwiLFxuICBkYXZpZDpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9saXUtdGFsay53ZWJwXCIsXG4gIHRldXRvOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9lZGNhdGlvbi1hbmQtb3V0cmVhY2gvdGV1dG9ydWZ0LWV4cGVybWluZXQuanBlZ1wiLFxuICBtaW50OiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9taW50c29tbWVybG9nby5wbmdcIixcbiAgc2NodWVsZXI6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2VkY2F0aW9uLWFuZC1vdXRyZWFjaC9zY2hpZWxlcmFrYWRlbWllLWxpc2EtZ3J1cHBlLmpwZ1wiLFxuICBtdWtvbW92ZTpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mb3Itd2lraS10ZXh0cy9wby1tdWtvbW92ZS93aXItcGxha2F0LW11a29tb3ZlLmpwZWdcIixcbiAgaGFrYW46XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvaGFrYW4ud2VicFwiLFxuICBzdGVtY2VsbDogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvc3RlbWNlbGxxdWFkcmF0LndlYnBcIixcbiAgbXVrb2Rpbm86IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL211a29kaW5vLndlYnBcIixcbiAgYnVpbGRpbmc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2J1aWxkaW5ndGhldGVhbS53ZWJwXCIsXG4gIGlkZWFzOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9waXRjaGluZ2lkZWFzLndlYnBcIixcbiAgXG59O1xuXG4vKiB7XG4gICAgdm9ybmFtZTogXCJcIixcbiAgICBuYWNobm5hbWU6IFwiXCIsICBcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIHRhZzogXCJcIixcbiAgICBoZWFkaW5nOiBcIlwiLFxuICAgIGludGVydmlld3RhYmlkOiBcIlwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcIlwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgfSAqL1xuXG5cbiAgICAvKiBXSUNIVElHIVxuICAgICAgRmVobGVuZGUgSW5mb3MgZWluZmFjaCBsZWVyIGxhc3NlbiB1bmQga2VpbmUgRHVtbXktVGV4dGUgZWluZlx1MDBGQ2dlbiEgXG4gICAgKi9cblxuZXhwb3J0IGNvbnN0IHRpbWVsaW5lZGF0YTogQXJyYXk8VGltZWxpbmVEYXRlbnB1bmt0PiAgPSBbXG4gIHtcbiAgICB2b3JuYW1lOiBcIkJ1aWxkaW5nIHRoZSB0ZWFtXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2J1aWxkaW5nJ10sXG4gICAgam9iOiBcIlRlYW0gaUdFTVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkJpZWxmZWxkIENlQmlUZWMgMjAyNFwiLFxuICAgIHRhZzogXCJNaWxlc3RvbmVcIixcbiAgICBoZWFkaW5nOiBcIkRldmVsb3BtZW50IG9mIGEgbXVsdGlkaXNjaXBsaW5hcnkgdGVhbSBzdHJ1Y3R1cmVcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJyZWNydWl0aW5nXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGVOYWNobmFtZTpcIlppbW1lcm1hbm4sIEludHJ1Y3RvclwiLFxuICAgIHF1b3RlVm9ybmFtZTpcIlNpbmFuXCIsXG4gICAgcXVvdGU6IFwiTXkgZmlyc3QgY2hhbGxlbmdlIHdhcyBzZWxlY3RpbmcgdGhlIGlHRU0gdGVhbS4gSSBmb2N1c2VkIG9uIGNob29zaW5nIGNhbmRpZGF0ZXMgd2l0aCBzdHJvbmcgdGVjaG5pY2FsIHNraWxscyBhbmQgdGhlIGFiaWxpdHkgdG8gd29yayB3ZWxsIGluIGFuIGludGVyZGlzY2lwbGluYXJ5IHNldHRpbmcsIGFpbWluZyB0byBjcmVhdGUgYSBkaXZlcnNlIHRlYW0gd2l0aCBjb21wbGVtZW50YXJ5IHN0cmVuZ3Rocy5cIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBzdW1tYXJ5OiBbPHA+XG4gICAgICBCdWlsZGluZyBhIHN1Y2Nlc3NmdWwgaW50ZXJkaXNjaXBsaW5hcnkgdGVhbSwgbGlrZSB0aGUgb25lIGludm9sdmVkIGluIHRoaXMgaUdFTSBwcm9qZWN0LCByZXF1aXJlcyBjYXJlZnVsIGNvb3JkaW5hdGlvbiBhbmQgYSBzaGFyZWQgdmlzaW9uIGZvciBhZGRyZXNzaW5nIGNvbXBsZXggc2NpZW50aWZpYyBjaGFsbGVuZ2VzLiBUaGlzIHRlYW0gaXMgYW4gZXhjZWxsZW50IGV4YW1wbGUgb2YgaG93IGJyaW5naW5nIHRvZ2V0aGVyIGluZGl2aWR1YWxzIGZyb20gdmFyaW91cyBhY2FkZW1pYyBiYWNrZ3JvdW5kcyBmb3N0ZXJzIGlubm92YXRpb24gYW5kIGZhY2lsaXRhdGVzIHByb2JsZW0tc29sdmluZyBpbiB0aGUgZmllbGRzIG9mIHN5bnRoZXRpYyBiaW9sb2d5IGFuZCBiaW90ZWNobm9sb2d5LjwvcD4sXG4gICAgICA8cD48c3Ryb25nPlRoZSB0ZWFtIG1lbWJlcnMgY29tZSBmcm9tIGRpdmVyc2UgZmllbGRzIG9mIHN0dWR5LCBpbmNsdWRpbmcgTW9sZWN1bGFyIEJpb3RlY2hub2xvZ3ksIEJpb2luZm9ybWF0aWNzLCBNb2xlY3VsYXIgQ2VsbCBCaW9sb2d5LCBHZW5vbWUtQmFzZWQgU3lzdGVtIEJpb2xvZ3ksIEludGVyZGlzY2lwbGluYXJ5IEJpb21lZGljaW5lLCBhbmQgZXZlbiBNZWRpYSBQcm9kdWN0aW9uLjwvc3Ryb25nPjwvcD4sIDxwPlRoaXMgdmFyaWV0eSBvZiBleHBlcnRpc2UgYWxsb3dzIHRoZW0gdG8gYXBwcm9hY2ggcHJvYmxlbXMgZnJvbSBtdWx0aXBsZSBwZXJzcGVjdGl2ZXMsIGVuc3VyaW5nIHRoYXQgdGhlIHByb2plY3QgaXMgd2VsbC1yb3VuZGVkIGFuZCBjYXBhYmxlIG9mIGFkZHJlc3NpbmcgYm90aCBcbiAgICAgIGV4cGVyaW1lbnRhbCBhbmQgY29tcHV0YXRpb25hbCBjaGFsbGVuZ2VzLiBGb3IgaW5zdGFuY2UsIHdoaWxlIHRoZSBiaW90ZWNobm9sb2dpc3RzIGFuZCBtb2xlY3VsYXIgYmlvbG9naXN0cyBmb2N1cyBvbiBkZXNpZ25pbmcgYW5kIGNvbmR1Y3RpbmcgbGFiIGV4cGVyaW1lbnRzLCB0aGUgYmlvaW5mb3JtYXRpY2lhbnMgY29udHJpYnV0ZSBjcnVjaWFsIGluc2lnaHRzIGZvciBkYXRhIGFuYWx5c2lzIGFuZCBnZW5vbWUgc2VxdWVuY2luZy4gVGhlIGluY2x1c2lvbiBvZiBhIG1lZGlhIHByb2R1Y3Rpb24gZXhwZXJ0IGFkZHMgYW5vdGhlciBsYXllciB0byB0aGUgdGVhbVx1MjAxOXMgY2FwYWJpbGl0aWVzLCBlbnN1cmluZyB0aGF0IHNjaWVuY2UgY29tbXVuaWNhdGlvbiBhbmQgXG4gICAgICBwcm9qZWN0IGRvY3VtZW50YXRpb24gYXJlIGhhbmRsZWQgcHJvZmVzc2lvbmFsbHksIHdoaWNoIGlzIHBhcnRpY3VsYXJseSBpbXBvcnRhbnQgZm9yIHByZXNlbnRpbmcgdGhlaXIgd29yayBhdCBjb25mZXJlbmNlcyBhbmQgY29tcGV0aXRpb25zLlxuICAgICAgVGhlIG11bHRpZGlzY2lwbGluYXJ5IHN0cnVjdHVyZSBvZiB0aGlzIHRlYW0gZXZvbHZlZCBuYXR1cmFsbHkgYXMgdGhleSBpZGVudGlmaWVkIHRoZSBwcm9qZWN0XHUyMDE5cyBuZWVkcyBhbmQgcmVjcnVpdGVkIG1lbWJlcnMgd2hvIGNvdWxkIGZpbGwgc3BlY2lmaWMgcm9sZXMuIE92ZXIgdGltZSwgdGhpcyBtdWx0aWRpc2NpcGxpbmFyeSBzdHJ1Y3R1cmUgaGFzIGNvbnRpbnVlZCB0byBkZXZlbG9wIGFzIHRoZSB0ZWFtXHUyMDE5cyBwcm9qZWN0IGV2b2x2ZWQuIFJvbGVzIGJlY2FtZSBtb3JlIGRlZmluZWQgYXMgdGVhbSBtZW1iZXJzIHRvb2sgb24gc3BlY2lmaWMgcmVzcG9uc2liaWxpdGllcywgd2hldGhlciBpdCB3YXMgcmVmaW5pbmcgcHJpbWUgZWRpdGluZyBzeXN0ZW1zIG9yIGNyYWZ0aW5nIFxuICAgICAgY29tbXVuaWNhdGlvbiBzdHJhdGVnaWVzIGZvciBpR0VNLiBUaGUgcmFuZ2Ugb2YgZXhwZXJpZW5jZSBhY3Jvc3MgdGhlIHRlYW0sIGZyb20geW91bmdlciBzdHVkZW50cyBsaWtlIFZpbmNlbnQgQ2FybCBTdFx1MDBGNmNrbCBpbiB0aGUgZWFybHkgc3RhZ2VzIG9mIHRoZWlyIGFjYWRlbWljIGNhcmVlcnMgdG8gbW9yZSBhZHZhbmNlZCBzdHVkZW50cyBpbiBsYXRlciBzZW1lc3RlcnMsIGFsbG93cyBmb3IgYSBibGVuZCBvZiBmcmVzaCBwZXJzcGVjdGl2ZXMgYW5kIHNlYXNvbmVkIGV4cGVydGlzZS4gVGhpcyBiYWxhbmNlIGhlbHBzIGVuc3VyZSBib3RoIHRoZSBpbW1lZGlhdGUgc3VjY2VzcyBvZiB0aGUgcHJvamVjdCBhbmQgdGhlIGNvbnRpbnVpdHkgb2YgaXRzIHByb2dyZXNzIGluIHRoZSBmdXR1cmUuXG4gICAgICBJbiBzdW1tYXJ5LCB0aGlzIGludGVyZGlzY2lwbGluYXJ5IGlHRU0gdGVhbSBkZW1vbnN0cmF0ZXMgaG93IGEgZGl2ZXJzZSBncm91cCBvZiBpbmRpdmlkdWFscyB3aXRoIHNwZWNpYWxpemVkIHNraWxscyBjYW4gY29tZSB0b2dldGhlciB0byB0YWNrbGUgYSBjb21wbGV4IGJpb2xvZ2ljYWwgcHJvamVjdC4gQnkgY29tYmluaW5nIHRoZWlyIGV4cGVydGlzZSBpbiBtb2xlY3VsYXIgYmlvbG9neSwgYmlvaW5mb3JtYXRpY3MsIGNlbGwgYmlvbG9neSwgYW5kIG1lZGlhIHByb2R1Y3Rpb24sIHRoZSB0ZWFtIGlzIGFibGUgdG8gZXhlY3V0ZSB0aGVpciBwcm9qZWN0IGhvbGlzdGljYWxseSwgZW5zdXJpbmcgdGhhdCBlYWNoIGFzcGVjdCwgZnJvbSBleHBlcmltZW50YWwgZGVzaWduIHRvIHB1YmxpYyBvdXRyZWFjaCwgaXMgaGFuZGxlZCB3aXRoIHByZWNpc2lvbiBhbmQgY3JlYXRpdml0eS48L3A+XSxcbiAgICBtb250aHM6IFwiRmVicnVhcnlcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJQaXRjaGluZyBpZGVhc1wiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydpZGVhcyddLFxuICAgIGpvYjogXCJUZWFtIGlHRU1cIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaWVsZmVsZCBDZUJpVGVjIDIwMjRcIixcbiAgICB0YWc6IFwiTWlsZXN0b25lXCIsXG4gICAgaGVhZGluZzogXCJHZXR0aW5nIEFjcXVhaW50ZWQgd2l0aCBDeXN0aWMgRmlicm9zaXNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJmaXJzdHByZXNpXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJLXHUwMEY2aGxlciwgVGVhbW1lbWJlclwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJWZXJhXCIsXG4gICAgcXVvdGU6IFwiRmlyc3RseSwgd2UgZGlzY3Vzc2VkIHZhcmlvdXMgcHJvamVjdCBpZGVhcywgaW5jbHVkaW5nIHRoZSB1c2Ugb2YgbWFnbmV0aWMgbWljcm9zd2ltbWVycyBmb3IgdGFyZ2V0ZWQgbWVkaWNhbCBhcHBsaWNhdGlvbnMsIGdlbmUgZWRpdGluZyBhcHByb2FjaGVzIGZvciBjeXN0aWMgZmlicm9zaXMsIHRyZWF0bWVudHMgZm9yIG11c2N1bGFyIGR5c3Ryb3BoeSBhbmQgY29tYmF0aW5nIGN5YW5vYmFjdGVyaWEgd2l0aCBhbGdhZS5cIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBzdW1tYXJ5OiBbPHA+RHVyaW5nIG91ciBpbml0aWFsIGRpc2N1c3Npb25zIGFib3V0IHByb2plY3QgaWRlYXMsIHRoZSB0ZWFtIGV4cGxvcmVkIHNldmVyYWwgaW5ub3ZhdGl2ZSBjb25jZXB0cyBiZWZvcmUgaG9uaW5nIGluIG9uIDxzdHJvbmc+Y3lzdGljIGZpYnJvc2lzPC9zdHJvbmc+LiBFYWNoIHByb2plY3QgcHJlc2VudGVkIHVuaXF1ZSBzY2llbnRpZmljIGNoYWxsZW5nZXMgYW5kIHBvdGVudGlhbCBpbXBhY3RzLjwvcD4sXG4gICAgICA8cD5PbmUgaWRlYSBpbnZvbHZlZCB0aGUgZGV2ZWxvcG1lbnQgb2YgPHN0cm9uZz5tYWduZXRpYyBtaWNyb3N3aW1tZXJzPC9zdHJvbmc+IGRlc2lnbmVkIGZvciB0YXJnZXRlZCBjYW5jZXIgdGhlcmFweSwgcGFydGljdWxhcmx5IGZvciBvdmFyaWFuIGNhbmNlci4gVGhlIHByb3Bvc2FsIGFpbWVkIHRvIG92ZXJjb21lIHRoZSBsaW1pdGF0aW9ucyBvZiB0cmFkaXRpb25hbCB0cmVhdG1lbnRzLCBzdWNoIGFzIHJhZGlvdGhlcmFweSBhbmQgY2lzcGxhdGluLCB3aGljaCBvZnRlbiBkYW1hZ2UgaGVhbHRoeSBjZWxscyBhbmQgcmVzdWx0IGluIG51bWVyb3VzIHNpZGUgZWZmZWN0cy4gVGhlIG1pY3Jvc3dpbW1lcnMgd291bGQgYmUgYmlvZGVncmFkYWJsZSBhbGdhZS1iYXNlZCB2ZWhpY2xlcywgbWFnbmV0aWNhbGx5IGd1aWRlZCB0byBkZWxpdmVyIGRydWdzIGRpcmVjdGx5IHRvIGNhbmNlcm91cyBjZWxscyB3aGlsZSBtaW5pbWl6aW5nIGRhbWFnZSB0byBzdXJyb3VuZGluZyB0aXNzdWUuIFRoaXMgYXBwcm9hY2ggb2ZmZXJlZCBhIG5vdmVsLCBub24taW52YXNpdmUgdGFyZ2V0aW5nIG1lY2hhbmlzbSwgbGV2ZXJhZ2luZyB0aGUgcG90ZW50aWFsIG9mIG1hZ25ldGljIGZpZWxkcyB0byBkaXJlY3QgdGhlIHN3aW1tZXJzIHByZWNpc2VseSB0byB0aGUgYWZmZWN0ZWQgYXJlYXMuPC9wPixcbiAgICAgIDxwPkFub3RoZXIgY29tcGVsbGluZyBwcm9qZWN0IHdhcyBmb2N1c2VkIG9uIDxzdHJvbmc+RHVjaGVubmUgbXVzY3VsYXIgZHlzdHJvcGh5IChETUQpPC9zdHJvbmc+LiBUaGlzIGdlbmV0aWMgZGlzb3JkZXIgbGVhZHMgdG8gbXVzY2xlIGRlZ2VuZXJhdGlvbiBhcyBtdXNjbGUgdGlzc3VlIGlzIGdyYWR1YWxseSByZXBsYWNlZCBieSBmaWJyb3RpYyB0aXNzdWUuIFRoZSB0ZWFtIHByb3Bvc2VkIHNldmVyYWwgdHJlYXRtZW50IGFwcHJvYWNoZXMsIGluY2x1ZGluZyBleG9uIHNraXBwaW5nIGFuZCBnZW5lIHRoZXJhcHkgdXNpbmcgdmlyYWwgdmVjdG9ycy4gS2V5IHN0cmF0ZWdpZXMgaW5jbHVkZWQgZW5oYW5jaW5nIENhcyBwcm90ZWluIGVmZmljaWVuY3kgdGhyb3VnaCBlbmdpbmVlcmluZywgdXNpbmcgbGlwb3NvbWFsIHZlY3RvcnMgZm9yIGdlbmUgZGVsaXZlcnksIGFuZCBjb21iaW5pbmcgQ1JJU1BSIHRlY2hub2xvZ3kgd2l0aCBpbnRlZ3Jhc2UgZnVzaW9uIHByb3RlaW5zLiBUaGUgdGVhbSBhbHNvIGRpc2N1c3NlZCBwcmV2aW91cyBpR0VNIHByb2plY3RzIHRoYXQgaGFkIGV4cGxvcmVkIHNpbWlsYXIgbWV0aG9kb2xvZ2llcywgZW1waGFzaXppbmcgdGhlIG5lZWQgZm9yIHNwZWNpZmljaXR5IGFuZCBlZmZpY2FjeSBpbiBkZWxpdmVyaW5nIHRoZXJhcGV1dGljIGdlbmVzLjwvcD4sXG4gICAgICA8cD5XZSBhbHNvIGNvbnNpZGVyZWQgYSBwcm9qZWN0IGFpbWVkIGF0IHByZXZlbnRpbmcgPHN0cm9uZz5jeWFub2JhY3RlcmlhIGJsb29tczwvc3Ryb25nPiB1c2luZyBwZXB0aWRlcyBvciBwcm90ZWlucyBkZXJpdmVkIGZyb20gYWxnYWUuIEN5YW5vYmFjdGVyaWEgY2FuIHByb2R1Y2UgaGFybWZ1bCB0b3hpbnMgdGhhdCBkZWdyYWRlIHdhdGVyIHF1YWxpdHkgYW5kIHRocmVhdGVuIGVjb3N5c3RlbXMuIFRoZSBwcm9wb3NlZCBhcHByb2FjaCBmb2N1c2VkIG9uIHV0aWxpemluZyBuYXR1cmFsIGFsZ2FlIHRvIGRldmVsb3AgbWVjaGFuaXNtcyB0aGF0IGluaGliaXQgdGhlIGdyb3d0aCBvZiBoYXJtZnVsIGN5YW5vYmFjdGVyaWEgd2l0aG91dCBkaXNydXB0aW5nIHRoZSBlY29zeXN0ZW0uIFRoaXMgcHJvamVjdCBlbXBoYXNpemVkIGNvbnNlcnZhdGlvbiBhbmQgYmlvZGl2ZXJzaXR5IHdoaWxlIGFkZHJlc3NpbmcgYSBzaWduaWZpY2FudCBlbnZpcm9ubWVudGFsIGlzc3VlIGxpbmtlZCB0byB0aGUgY2xpbWF0ZSBjcmlzaXMuPC9wPixcbiAgICAgIDxwPlRocm91Z2hvdXQgb3VyIGRpc2N1c3Npb25zLCB3ZSByZWNvZ25pemVkIHRoYXQgd2hpbGUgZWFjaCBwcm9qZWN0IGhhZCBtZXJpdCwgdGhlIDxzdHJvbmc+Y3lzdGljIGZpYnJvc2lzPC9zdHJvbmc+IGluaXRpYXRpdmUgb2ZmZXJlZCB0aGUgbW9zdCBwcm9taXNlIGZvciBhIHRhcmdldGVkIGFwcHJvYWNoIHRvIGEgd2VsbC1kZWZpbmVkIHByb2JsZW0uIENGLCBhZmZlY3RpbmcgYSBzdWJzdGFudGlhbCBudW1iZXIgb2YgaW5kaXZpZHVhbHMsIHByb3ZpZGVkIGEgY2xlYXIgb3Bwb3J0dW5pdHkgZm9yIG1lYW5pbmdmdWwgaW1wYWN0IHRocm91Z2ggZ2VuZSB0aGVyYXB5LiBUaGUgaW5zaWdodHMgZ2FpbmVkIGZyb20gb3VyIGV4YW1pbmF0aW9uIG9mIG90aGVyIHByb2plY3RzIGluZm9ybWVkIG91ciBhcHByb2FjaCB0byBDRiwgYWxsb3dpbmcgdXMgdG8gaW50ZWdyYXRlIGtub3dsZWRnZSBmcm9tIGRpdmVyc2UgZmllbGRzIGFuZCBtZXRob2RvbG9naWVzLCB1bHRpbWF0ZWx5IHNoYXBpbmcgYSBjb21wcmVoZW5zaXZlIGFuZCBpbm5vdmF0aXZlIHByb2plY3QgZGlyZWN0aW9uLjwvcD5cbiAgICAgIF0sXG4gICAgbW9udGhzOiBcIk1hcmNoXCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiSWRlYXRpb24gaW4gSGFtYnVyZ1wiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIGpvYjogXCJUZWFtIGlHRU1cIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaWVsZmVsZCBDZUJpVGVjIDIwMjRcIixcbiAgICB0YWc6IFwiTWlsZXN0b25lXCIsXG4gICAgaGVhZGluZzogXCJCcmFpbnN0b3JtaW5nIGFuZCBzZWxlY3Rpb24gb2YgaWRlYXMgYW5kIGNvbmNlcHRzIGF0IHRlYW0gd2Vla2VuZCBpbiBIYW1idXJnXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiaWRlYXNcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJUaGFua3MgdG8gb3VyIGluLWRlcHRoIHJlc2VhcmNoIHBoYXNlLCB3ZSB3ZXJlIGFibGUgdG8gZ2F0aGVyIG1hbnkgaW5zaWdodGZ1bCBpZGVhcy4gVGhlIHdvcmtzaG9wIHdhcyBoaWdobHkgcHJvZHVjdGl2ZSBhbmQgbW92ZWQgdXMgc2lnbmlmaWNhbnRseSBmb3J3YXJkLCBhbGxvd2luZyB1cyB0byBnYWluIGEgY2xlYXIgdmlzaW9uIG9mIG91ciBwcm9qZWN0IGJ5IHRoZSBlbmQgb2YgdGhlIGRheS5cIixcbiAgICBxdW90ZVZvcm5hbWU6XCJLYXRobGVlblwiLFxuICAgIHF1b3RlTmFjaG5hbWU6IFwiU3VzYXQsIFRlYW1tZW1iZXJcIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBzdW1tYXJ5OiBbPHA+RnJvbSBBcHJpbCA1dGggdG8gN3RoLCB3ZSBlbWJhcmtlZCBvbiBhbiBlbnJpY2hpbmcgZXhjdXJzaW9uIGRlZGljYXRlZCB0byBwcm9qZWN0IHdvcmsgYW5kIHRlYW0gYnVpbGRpbmcuIE91ciBwcmltYXJ5IGdvYWwgd2FzIHRvIGVuZ2FnZSBpbiBtZWFuaW5nZnVsIGJyYWluc3Rvcm1pbmcgc2Vzc2lvbnMgZm9jdXNlZCBvbiBvdXIgaUdFTSBwcm9qZWN0IGFuZCB0byBleHBsb3JlIGh1bWFuIHByYWN0aWNlcyB0aG9yb3VnaGx5LiBXZSBraWNrZWQgb2ZmIG91ciB3ZWVrZW5kIHdpdGggYSBzZXJpZXMgb2YgZGlzY3Vzc2lvbnMgdGhhdCBlbXBoYXNpemVkIHRoZSBpbXBvcnRhbmNlIG9mIGNvbnNpZGVyaW5nIHRoZSBpbXBhY3Qgb2Ygb3VyIHdvcmsgb24gdGhlIHdvcmxkLlxuICAgICAgVGhyb3VnaG91dCBvdXIgdGltZSBpbiBIYW1idXJnLCB3ZSBkZWRpY2F0ZWQgc2V2ZXJhbCBob3VycyB0byByZWFkaW5nIHJlbGV2YW50IGxpdGVyYXR1cmUgYW5kIHJlc2VhcmNoIHBhcGVycywgYm90aCBpbmRpdmlkdWFsbHkgYW5kIGluIGdyb3Vwcy4gVGhpcyBjb2xsYWJvcmF0aXZlIGVmZm9ydCBhbGxvd2VkIHVzIHRvIGRlZXBlbiBvdXIgdW5kZXJzdGFuZGluZyBvZiBleGlzdGluZyBwcm9qZWN0cyBhbmQgaW5ub3ZhdGlvbnMgaW4gb3VyIGZpZWxkLiBXZSBjcml0aWNhbGx5IGFuYWx5emVkIHByZXZpb3VzIGlHRU0gcHJvamVjdHMgYW5kIGV4cGxvcmVkIHdobyBoYWQgd29ya2VkIG9uIHNpbWlsYXIgaWRlYXMsIHdoaWNoIGhlbHBlZCB1cyBpZGVudGlmeSBnYXBzIGluIHRoZSByZXNlYXJjaCBhbmQgcG90ZW50aWFsIGF2ZW51ZXMgZm9yIG91ciBvd24gcHJvamVjdC5cbiAgICAgIE91ciBkaXNjdXNzaW9ucyBuYXR1cmFsbHkgZmxvd2VkIGludG8gYnJhaW5zdG9ybWluZyBzZXNzaW9ucyB3aGVyZSB3ZSByZWZsZWN0ZWQgb24gdGhlIGltcGFjdHMgd2Ugd2FudGVkIHRvIGFjaGlldmUuIFdlIGV4cGxvcmVkIGVzc2VudGlhbCBxdWVzdGlvbnM6IFdoYXQgZWZmZWN0cyBkbyB3ZSBhaW0gdG8gaGF2ZSBvbiBzb2NpZXR5PyBXaGF0IGFjdGl2aXRpZXMgY2FuIHdlIHBsYW4gdG8gZ2F0aGVyIGV2aWRlbmNlIGFib3V0IGhvdyBvdXIgd29yayB3aWxsIHJlc29uYXRlIHdpdGggdGhlIGNvbW11bml0eT8gSG93IGNhbiB3ZSBlZmZlY3RpdmVseSBlbmdhZ2Ugd2l0aCBzdGFrZWhvbGRlcnMgYW5kIHNoYXJlIG91ciBmaW5kaW5ncz9cbiAgICAgIEluIGFkZGl0aW9uIHRvIHN0cnVjdHVyZWQgYnJhaW5zdG9ybWluZywgd2UgZXhjaGFuZ2VkIGlkZWFzIGluZm9ybWFsbHkgZHVyaW5nIGJyZWFrcyBhbmQgbWVhbHMsIGZvc3RlcmluZyBhIGNyZWF0aXZlIGF0bW9zcGhlcmUuIEJ5IHRoZSBlbmQgb2YgdGhlIHdlZWtlbmQsIHdlIGhhZCBub3Qgb25seSBzdHJlbmd0aGVuZWQgb3VyIHRlYW0gYm9uZHMgYnV0IGFsc28gY2xhcmlmaWVkIG91ciB2aXNpb24gZm9yIHRoZSBwcm9qZWN0IGFoZWFkLiBUaGUgaW5zaWdodHMgZ2FpbmVkIGZyb20gb3VyIGRpc2N1c3Npb25zIGFuZCByZWFkaW5ncyBsYWlkIGEgc29saWQgZm91bmRhdGlvbiBmb3Igb3VyIGZ1dHVyZSB3b3JrLCBhbGxvd2luZyB1cyB0byBhcHByb2FjaCBvdXIgcHJvamVjdCB3aXRoIHJlbmV3ZWQgZm9jdXMgYW5kIHB1cnBvc2UuPC9wPl0sXG4gICAgbW9udGhzOiBcIk1hcmNoXCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiTWF4XCIsXG4gICAgbmFjaG5uYW1lOiBcIkJlY2ttYW5uXCIsXG4gICAgam9iOiBcIlBhdGllbnQgYW5kIFN0dWRlbnRcIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaWVsZWZlbGQgVW5pdmVyc2l0eVwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ21heCddLFxuICAgIHRhZzogXCJQYXRpZW50XCIsXG4gICAgaGVhZGluZzogXCJHYXRoZXJpbmcgdmFsdWFibGUgaW5zaWdodHMgZnJvbSB0aGUgcGF0aWVudFx1MjAxOXMgcGVyc3BlY3RpdmVcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJtYXhmaXJzdFwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiQSBmcmllbmQgb2YgbWluZSB3aXRoIGN5c3RpYyBmaWJyb3NpcyByZWNlbnRseSBnb3QgYSBmdW5nYWwgaW5mZWN0aW9uIHRoYXQgaGUgY2FuJ3QgZ2V0IHJpZCBvZi4gSGlzIHNpdHVhdGlvbiByZWFsbHkgc3RydWNrIG1lOyBpdCBzaG93ZWQgaG93IHF1aWNrbHkgYSBzZWVtaW5nbHkgbWlub3IgaXNzdWUgY2FuIHdvcnNlbiBhIHBlcnNvbidzIGxpZmUsIGVzcGVjaWFsbHkgZm9yIHNvbWVvbmUgbGlrZSB1cy4gSXRcdTIwMTlzIGEgc3Ryb25nIHJlbWluZGVyIG9mIGhvdyBmcmFnaWxlIG91ciBoZWFsdGggaXMgYW5kIGhvdyBmYXN0IHRoaW5ncyBjYW4gY2hhbmdlIHdpdGhvdXQgd2FybmluZy5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5XaGVuIENGIGNhbWUgdXAgYXMgYSBwb3NzaWJsZSB0b3BpYywgd2UgcmVhY2hlZCBvdXQgdG8gYSB0ZWFtbWF0ZSdzIGZyaWVuZCBNYXggaW4gdGhlIGhvcGVzIG9mIGdldHRpbmcgaW5zaWdodHMgaW50byB0aGUgbmVlZHMgb2YgQ0YgcGF0aWVudHMgYW5kIGN1cnJlbnQgdHJlYXRtZW50cyB0byB2ZXJpZnkgdGhlIG5lZWQgZm9yIGZ1cnRoZXIgdHJlYXRtZW50IG9wdGlvbnMuXG4gICAgICBTaW5jZSBoZSB3YXMgbXVjaCBtb3JlIGVudGh1c2lhc3RpYyBhbmQgb3BlbiBmb3IgZGlzY3Vzc2lvbiB0aGFuIHdlIGRhcmVkIHRvIGhvcGUsIHdlIGV4dGVuZGVkIG91ciBleGNoYW5nZXMgaW50byB0aGUgcmVhbG1zIG9mIHRoZSByZWFsaXR5IG9mIGxpZmUgZm9yIENGIHBhdGllbnRzLCBwb3NzaWJsZSBwcm9ncmVzc2lvbnMsIG9yZ2FuaXphdGlvbnMgYW5kIGRvY3RvcnMgaW4gb3VyIGFyZWEgYW5kIGhpcyBwZXJzb25hbCBwZXJzcGVjdGl2ZXMgYW5kIHZhbHVlcy5cbiAgICAgIFRoZSBpbnRlcmVzdCBpbiBtZWV0aW5nIGhpbSBncmV3IGluIHRoZSB3aG9sZSB0ZWFtIGFuZCB3ZSBpbnZpdGVkIGhpbSB0byBvbmUgb2Ygb3VyIG1lZXRpbmdzLiAgIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPD48cD5IaXMgaG9uZXN0IGFuZCBvcGVuIGFuc3dlcnMgdG8gdXMsIG1vc3RseSBub3RoaW5nIG1vcmUgdGhhbiBzdHJhbmdlcnMgdG8gaGltLCB3ZXJlIHRvdWNoaW5nIGFuZCBsZXQgdGhlIHNlcmlvdXNuZXNzIG9mIENGIHNldCBpbi5cbiAgICAgIExlYXJuaW5nIGFib3V0IHRoZSBjaGFsbGVuZ2VzIGhlIGZhY2VkIGZlbHQgaGVhdnksIGJlc2lkZXMgaGltIGJlaW5nIGluIHJlbGF0aXZlbHkgZ29vZCBoZWFsdGggYW5kIGhhdmluZyBhIGdvb2QgbGlmZSBxdWFsaXR5IGZvciBhIENGIHBhdGllbnQuXG4gICAgPC9wPlxuICAgICAgPHA+QWRkaXRpb25hbCB0byB0aGUgaW50ZXJwZXJzb25hbCBlZmZlY3RzIG9mIG91ciBkaXNjdXNzaW9uLCBNYXggZ2F2ZSB1cyB0aGUgcmVhc29ucyB0byBjb250aW51ZSB3aXRoIGdlbmUgdGhlcmFweSBhcHByb2FjaCB3aGlsZSBmb2N1c2luZyBvbiB0aGUgbHVuZzpcbiAgICAgICAgTW9kdWxhdG9ycyBkbyBub3QgZXJhc2UgYWxsIHN5bXB0b21zLlxuICAgICAgICBUaGVyZSBpcyBhIGtlZW4gaW50ZXJlc3QgZm9yIG5ldyB0cmVhdG1lbnRzIGluIHRoZSBDRiBjb21tdW5pdHkuXG4gICAgICAgIFRoZSB0aGUgZGVjcmVhc2luZyBsdW5nIGZ1bmN0aW9uYWxpdHkgaXQgdGhlIG1vc3QgbGltaXRpbmcuXG4gICAgICAgIFRoZSBpbW1lbnNlIGltcGFjdCBvZiB0cmVhdG1lbnRzIG9uIHRoZSBsaWZlIHF1YWxpdHkuICA8L3A+XG4gICAgICA8cD5XZSBnb3QgbmV3IGluc2lnaHRzIHRoYXQgbW90aXZhdGVkIHVzIHRvIGRldmVsb3AgYSBuZXcgdHJlYXRtZW50LCB0byB0cmVhdCB0aGUgc2V2ZXJlIHN5bXB0b21lc1xuICAgICAgICBUaGUgbmVlZCBmb3IgYSBjYWxvcmllIHJpY2ggZGlldCBhbmQgZGlnZXN0aXZlIHByb2JsZW1zLlxuICAgICAgICBUaGUgZnJlcXVlbmN5IG9mIGNoZWNrdXBzIG5lZWRlZC5cbiAgICAgICAgSG93IHZhc3RseSBkaWZmZXJlbnQgdGhlIHByb2dyZXNzaW9ucyBjYW4gYmUuXG4gICAgICAgIFRoZSBpbmNyZWFzZWQgbmVlZCBmb3IgaHlnaWVuZSB0byBwcmV2ZW50IGluZmVjdGlvbnMuXG4gICAgICAgIFRoZSBoaWdoIHByaWNlIG9mIG1lZGljaW5lcyBhbmQgaW5kdXZpYWwgdGhlcmFwZXV0aWNzLiA8L3A+XG4gICAgICA8cD5BZnRlcndhcmRzLCB3ZSByZWZsZWN0ZWQgb24gdGhlIGRpc2N1c3Npb24gYW5kIGFza2VkIG91ciB0ZWFtIG1lbWJlcnMgd2hhdCBzdHVjayB3aXRoIHRoZW06XG4gICAgICAgIFx1MjAxQ0hvdyBtdWNoIGF0dGVudGlvbiBoYXMgdG8gYmUgcGFpZCB0byBldmVyeXRoaW5nIGluIGV2ZXJ5ZGF5IGxpZmUsIEkgaGFkbid0IGV2ZW4gdGhvdWdodCBhYm91dCBwcm9ibGVtcyBhdCB0aGUgaGFpcmRyZXNzZXIuXHUyMDFEXG4gICAgICAgIFx1MjAxQ1NpbXBseSB0aGF0IGhlIHdhcyB0aGVyZSBhbmQgcmVwb3J0ZWQgZXZlcnl0aGluZyBpbiBzdWNoIGRldGFpbC4gRnJvbSBtaW51dGUgMSwgSSBoYWQgcGVybWFuZW50IGdvb3NlYnVtcHMgYmVjYXVzZSBJIHdhcyBzbyBtb3ZlZCBieSB0aGlzIHN0b3J5LiBJIHRoaW5rIGl0J3MgZ3JlYXQgaG93IGhlIHN0YW5kcyBoaXMgZ3JvdW5kIGluIGxpZmUsIGRvZXMgd2hhdCBoZSB3YW50cyB0byBkbyBhbmQgd2hhdCBkZWZpbmVzIGhpbSBhcyBhIHBlcnNvbi4gSXQgZGlkbid0IHNlZW0gYXMgaWYgaGlzIGxpZmUgd2FzIGRldGVybWluZWQgYnkgQ0YuIEkgc29tZWhvdyBleHBlY3RlZCBpdCB0byBiZSBkaWZmZXJlbnQsIGV2ZW4gaWYgdGhhdCBzb3VuZHMgYSBiaXQgc2lsbHkuXHUyMDFEXG4gICAgICAgIFx1MjAxQ1RoZSBhbW91bnQgb2YgbWVkaWNhdGlvbiBhbmQgaG93IGV4cGVuc2l2ZSBpdCBpcy5cdTIwMURcbiAgICAgICAgXCJUaGUgc3RhdGVtZW50IHRoYXQgbGVmdCB0aGUgYmlnZ2VzdCBpbXByZXNzaW9uIGZvciBtZSB3YXMgd2hlbiBNYXggd2FzIHRlbGxpbmcgYWJvdXQgYSBmcmllbmQgb2YgaGlzIGFuZCBmZWxsb3cgQ0YgcGF0aWVudCB3aG8gY2F1Z2h0IGEgZnVuZ2kgaW5mZWN0aW9uIHdoaWNoIGhlIG5vdyBjYW5ub3QgZ2V0IHJpZCBvZiBhbnltb3JlLCBzaG93aW5nIGhvdyBmYXN0IGEgc2VlbWluZ2x5IGxpdHRsZSBpbmZlY3Rpb24gY2FuIGNoYW5nZSB0aGUgbGlmZSBvZiBhIENGIHBhdGllbnQgZm9yIHRoZSB3b3JzZSB3aXRob3V0IGFueSBraW5kIG9mIHdhcm5pbmcuXHUyMDFEXG4gICAgICAgIFx1MjAxQ1RoZSB2YXJpYW5jZSBpbiB0aGUgZXh0ZW50IG9mIHRoZSBsaW1pdGF0aW9ucyBvZiB0aGUgZGlzZWFzZSBpbiBkaWZmZXJlbnQgcGF0aWVudHMsIGluY2x1ZGluZyBob3cgdGhlIGRpc2Vhc2UgZGlmZmVycyBpbiBpdHMgc2V2ZXJpdHksIGV2ZW4gaW4gcGF0aWVudHMgb2YgdGhlIHNhbWUgYWdlLlx1MjAxRFxuICAgICAgICBcdTIwMUNIb3cgcG9zaXRpdmVseSBhbmQgY2FsbWx5IE1heCBkZWFscyB3aXRoIGhpcyBpbGxuZXNzIGJ1dCBoYXMgYWxzbyBwb2ludGVkIG91dCB0aGF0IGhlIGlzIGx1Y2t5LCBhbmQgdGhhdCBvdGhlciBwZW9wbGUgYXJlIG11Y2ggd29yc2Ugb2ZmIC0gaG93IG11Y2ggeW91IGhhdmUgdG8gcGF5IGF0dGVudGlvbiB0byBsaXR0bGUgdGhpbmdzIHRoYXQgeW91IHdvdWxkbid0IGhhdmUgZXhwZWN0ZWQgYXMgYSBoZWFsdGh5IHBlcnNvbi5cdTIwMUQgPC9wPlxuICAgIDwvPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8PiA8cD5UaGlzIG1vc3QgaW1wb3J0YW50IGFzcGVjdCBvZiB0aGlzIG1lZXRpbmcgd2FzIGxlc3MgYW4gaW5zaWdodCwgYnV0IHRoZSBmYWN0IE1heCBoZWxwZWQgdXMgdG8gcHV0IGEgZmFjZSB0byBhbiBhYnN0cmFjdCBpZGVhLiBNYW55IG9mIG91ciBpZGVhcyB0byB0cmVhdCBDRiB3ZXJlIGludGVyZXN0aW5nIGFuZCBhZHZlbnR1cm91cyBidXQgbWVldGluZyBoaW0gcHV0IGEgbG90IGludG8gcGVyc3BlY3RpdmUuIDwvcD5cbiAgICAgIDxwPk1heCBwbGF5ZWQgYSBzaWduaWZpY2FudCByb2xlIGluIHNoYXBpbmcgb3VyIHByb2plY3QgZnJvbSB0aGUgb3V0c2V0LCBwYXJ0aWN1bGFybHkgaW4gZ3VpZGluZyBvdXIgZm9jdXMgb24gSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXMgW0xpbmsgQmVzdCBIUF0gYW5kIFNhZmV0eSAmIFNlY3VyaXR5IFtMaW5rIEJlc3QgQmlvc2FmZXR5XSBhcyBzcGVjaWFsIHByaXplcy4gVGhyb3VnaCBvdXIgZGlzY3Vzc2lvbnMsIHdlIHJlY29nbml6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgdGhlc2UgYXNwZWN0cyBpbiBkZXZlbG9waW5nIHRoZSBiZXN0IHBvc3NpYmxlIGN1cmUuIFRoaXMgY29sbGFib3JhdGl2ZSBlZmZvcnQgbGVkIHVzIHRvIHBpdm90IG91ciB0YXJnZXQgZnJvbSB0aGUgcGFuY3JlYXMgdG8gdGhlIGx1bmcgYW5kIG1vdmUgYXdheSBmcm9tIGEgZGlhZ25vc3RpYyBhcHByb2FjaC4gSGlzIGNvbnRyaWJ1dGlvbnMgbm90IG9ubHkgcHJvdmlkZWQgdmFsdWFibGUgaW5zaWdodHMgYnV0IGFsc28gZm9zdGVyZWQgYSBzdHJvbmcgcGVyc29uYWwgaW52ZXN0bWVudCBpbiBvdXIgcHJvamVjdC48L3A+PC8+XSxcbiAgICBwaWN0dXJldXJsX2ltcGxlbWVudGF0aW9uOiBcIlwiLFxuICAgIGludGVydmlldzogPD48UWFCb3ggcT1cIkhvdyBhbmQgd2hlbiB3ZXJlIHlvdSBmaXJzdCBkaWFnbm9zZWQ/IFwiIGE9XCJXaGVuIEkgd2FzIGFib3V0IG9uZSB5ZWFyIG9sZC4gTXkgbW90aGVyIGRpZCBub3QgZG8gYW55IHNjcmVlbmluZ3Mgb3IgcHJlbmF0YWwgdGVzdGluZy4gSSB3YXMgaW4gcGFpbiBidXQgYXMgYW4gaW5mYW50IHlvdSBjYW5ub3Qgc2F5IHRoYXQsIHNvIEkgc2NyZWFtZWQgYSBsb3QuIE1hbnkgZG9jdG9ycyBzaHJ1ZyB0aGF0IG9mZiBpbiBzbWFsbCBjaGlsZHJlbiBidXQgYWZ0ZXIgc29tZSB0aW1lIGEgc3dlYXQgdGVzdCB3YXMgZG9uZSBhdCB0aGUgY2hpbGRyZW4ncyBjbGluaWMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBkbyB5b3UgdGhpbmsgYWJvdXQgZGlhZ25vc2luZyB2aWEgc3dlYXQgdGVzdHM/XCIgYT1cIkkgYW0gYSBjbGVhciBvcHBvbmVudCBvZiBkaWFnbm9zaW5nIHZpYSBzd2VhdCB0ZXN0cywgZXNwZWNpYWxseSBpZiBpdCBpcyB1c2VkIHRvIHJ1bGUgb3V0IENGIGFuZCBwZW9wbGUgaGF2ZSBhdHlwaWNhbCBDRiwgYmVjYXVzZSBvZiB3aGljaCB0aGV5IGRvIG5vdCBnZXQgZGlhZ25vc2VkIGJlY2F1c2Ugb2YgdGhhdC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IHN5bXB0b21zIGRvIHlvdSBoYXZlP1wiIGE9XCJCZWZvcmUgdGFraW5nIG1vZHVsYXRvcnMsIEkgd2FzIHVuZGVyd2VpZ2h0IGFuZCBkaWQgbm90IGZlZWwgaHVuZ2VyLiBJIGFsc28gaGFkIG5vIHNlbnNlIG9mIHRhc3RlLiBOb3csIEkgaGF2ZSBhIGhlYWx0aHkgd2VpZ2h0IGFuZCBzdGlsbCBoYXZlIHJlc3BpcmF0b3J5IHN5bXB0b21zIHN1Y2ggYXMgdmVyeSBzdGlja3kgbXVjdXMgYW5kIGRpZ2VzdGl2ZSBpc3N1ZXMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiWW91IGFyZSB0YWtpbmcgaW5kaXZpZHVhbCBtZWRzLCBjb3JyZWN0PyBUaGV5IGFyZSBpbmRpdmlkdWFsIGluIHJlc3BlY3QgdG8gdGhlIG11dGF0aW9uLCBub3QgdGhlIHBlcnNvbiwgcmlnaHQ/XCIgYT1cIlllcywgYW5kIHllcywgSSBhbS4gXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBvdGhlciBtZWRpY2F0aW9ucyBhcmUgeW91IHRha2luZz8gXCIgYT1cIk5hc2FsIHNwcmF5LCBwYW5jcmVhdGljIGVuenltZXMsIHNhbGluZSBzb2x1dGlvbiBmb3IgaW5oYWxhdGlvbiBhbmQgcGFudG9wcmF6b2xlLCB1c2VkIHRvIHJlZHVjZSBzdG9tYWNoIGFjaWQgcHJvZHVjdGlvbi4gIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRvIHlvdSBrbm93IGhvdyBleGFjdGx5IHRoZXkgd29yaz9cIiBhPVwiWWVzLCBJIHdyb3RlIGEgcmVwb3J0IG9uIHRoYXQgZHVyaW5nIHNjaG9vbC4gSW4gdGhlIGNoaWxkcmVuJ3MgY2xpbmljIHRoZXkgZXhwbGFpbmVkIGl0IGxpa2UgdGhpczogVGhlIENGVFIgY2hhbm5lbCBpcyBsaWtlIGEgZG9vciBhbmQgcGVvcGxlIHdpdGggQ0YgZG9uXHUyMDE5dCBoYXZlIHRoYXQgbWFueSBkb29ycyBhbmQgc29tZSBvZiB0aGUgZG9vcnMgYXJlIGJyb2tlbi4gVGhlIG1lZGljYXRpb24gbWFrZXMgbW9yZSBkb29ycyB0aGF0IGZ1bmN0aW9uLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgY2hhbmdlZCB3aGVuIHlvdSBzdGFydGVkIHRha2luZyB0aGUgbW9kdWxhdG9ycz8gXCIgYT1cIkV2ZXJ5dGhpbmcuIE1vc3Qgb2Ygc3ltcHRvbXMgYXJlIG1pbm9yIG5vdyBhbmQgSSBoYXZlIGEgYmV0dGVyIGx1bmcgZnVuY3Rpb24gYW5kIHF1YWxpdHkgb2YgbGlmZS4gSSBldmVuIGdyZXcgdGFsbGVyLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRpZCB5b3UgZm9ybWVybHkgdGFrZSBvdGhlciBtZWRpY2F0aW9uP1wiIGE9XCJJIGRvblx1MjAxOXQgcmVtZW1iZXIgYW55dGhpbmcgbGlrZSB0aGF0LCBidXQgSSBhbHNvIGFsd2F5cyBoYWQgZ29vZCBtZWRpY2FsIGNhcmUuICBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJEbyB5b3UgZXhwZXJpZW5jZSBhbnkgc2lkZSBlZmZlY3RzIGZyb20geW91ciBtZWRpY2F0aW9ucz9cIiBhPVwiQXQgZmlyc3QgeWVzLCBhIGxvdC4gU3RvbWFjaCBjcmFtcHMgYW5kIGRpZmZpY3VsdHkgYnJlYXRoaW5nIGZvciBleGFtcGxlLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIklzIGRpYWJldGVzIGEgY29uY2VybiBvZiB5b3Vycz9cIiBhPVwiWWVzLCBpdCBpcyBjb21tb24uIEkgaGF2ZSB0byBnbyB0byBhIGRpYWJldGVzIGNoZWNrdXAgb25jZSBhIHllYXIuIFRoYXQgaGFwcGVucyB0b2dldGhlciB3aXRoIGFsbCB0aGUgb3RoZXIgY2hlY2t1cHMgbGlrZSBzb25vZ3JhcGhpZXMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRG8geW91IGtub3cgZmVsbG93IHBhdGllbnRzIHRoYXQgdG9vayBwYXJ0IGluIGNsaW5pY2FsIHN0dWR5IGZvciBnZW5lIHRoZXJhcHkgb3IgYXQgbGVhc3QgdGhvdWdodCBhYm91dCBkb2luZyBzbz9cIiBhPVwiSSBrbm93IG5vIG9uZSB0aGF0IHRvb2sgcGFydCBpbiBvbmUgYnV0IGRlZmluaXRlbHkgcGVvcGxlIHdobyB3b3VsZCBsaWtlIHRvIGRvIHNvLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRvIHlvdSBrbm93IG90aGVyIHBhdGllbnRzIHRoYXQgd291bGQgd2FudCB0byB1c2UgZ2VuZSB0aGVyYXB5P1wiIGE9XCJZZXMsIG1vc3QgZGVmaW5pdGVseS5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJTaW5jZSB5b3VyIHN3ZWF0IGlzIGRpZmZlcmVudCwgZG8geW91IGhhdmUgdHJvdWJsZSB3aXRoIHlvdXIgdGVtcGVyYXR1cmUgcmVndWxhdGlvbj9cIiBhPVwiTm8gYW5kIEkgZG8gbm90IGtub3cgYW55IHBhdGllbnRzIHdpdGggYW4gaXNzdWUgbGlrZSB0aGF0LiBCdXQgaXQgc3RpbGwgaXMgdW5jb21mb3J0YWJsZSBpbiB0aGUgc3VtbWVyLCBiZWNhdXNlIHRoZSBzd2VhdCBpcyB0aGljaywgYW5kIGl0IGNhbiBzbWVsbCBzdHJvbmdlciwgdG9vLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBtYW55IGhvdXJzIGEgZGF5IGFyZSBkZXZvdGVkIHRvIHlvdXIgaWxsbmVzcz9cIiBhPVwiR29vZCBxdWVzdGlvbiwgYnV0IHdyb25nIHBhdGllbnQuIEkgYW0gYmxlc3NlZCB3aXRoIGdvb2QgaGVhbHRoIHdoaWxlIG90aGVyIHBlb3BsZSBteSBhZ2UgbWF5IGhhdmUgdG8gYmUgb24gYSB2ZW50aWxhdG9yLiBJIGN1cnJlbnRseSBvbmx5IGhhdmUgdG8gaW5oYWxlIGZvciAyMCBtaW51dGVzIGV2ZXJ5IGRheSwgdGFrZSBteSBtZWRpY2F0aW9uIGFuZCBiZSBjb25zY2lvdXMgYWJvdXQgaHlnaWVuZS4gSSB3b3VsZCBzYXkgMzAgbWludXRlcyBhIGRheS4gXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiVGhhdCBtZWFucyB5b3UgZG8gbm90IGhhdmUgbWFueSBsaW1pdGF0aW9ucyBkdWUgdG8gQ0YsIGlzIHRoYXQgcmlnaHQ/XCIgYT1cIlllcy4gVGhlcmUgYXJlIG1hbnkgdGhpbmdzIEkgYW0gY29uY2VybmVkIGFib3V0IGJ1dCBvZnRlbiB0aGVyZSBpcyBub3QgYSBkaWZmZXJlbnQgd2F5LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgYXJlIHNvbWUgb2YgdGhlIGxpbWl0YXRpb25zIHlvdSBkbyBoYXZlP1wiIGE9XCJPZiBjb3Vyc2UsIEkgYW0gc3RpbGwgY29uY2VybmVkIGFib3V0IG15IGhlYWx0aCBhbmQgdXNpbmcgcHVibGljIGJhdGhyb29tcyBmb3IgZXhhbXBsZS4gQW5kIEkgc3RpbGwgZG8gbm90IGdvIHN3aW1taW5nIGluIGxha2VzIGFuZCB0aGluZ3MgbGlrZSB0aGF0LiBCdXQgYWxsIGluIGFsbCwgSSBmZWVsIGxpa2UgSSBjYW4gbGl2ZSBhIHZlcnkgbm9ybWFsIGxpZmUuICBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJPbmUgY29uY2VybiBpcyBoeWdpZW5lLiBPdXIgdW5pdmVyc2l0eSBmb3IgZXhhbXBsZSBkb2VzIG5vdCBoYXZlIHRvaWxldCBzZWF0cyBpbiBtb3N0IGJhdGhyb29tcy4gRG8geW91IHRoaW5rIHRoZXJlIHNob3VsZCBiZT9cIiBhPVwiVGhhdCBkb2VzIG5vdCBjb25jZXJuIGhlYWx0aHkgcGVvcGxlLCB3aG8gYXJlIHRoZSBtYWpvcml0eS4gQnV0IHNwZWNpZmljYWxseSBmb3IgQ0YtcGVvcGxlPyBObywgdGhlcmUgYXJlIHRvbyBmZXcgYXQgdGhlIHVuaXZlcnNpdHkuIEl0IHdvdWxkIGJlIG1vcmUgaHlnaWVuaWMgb3ZlcmFsbCwgdGhvdWdoLiBBIFx1MjAxQ0NGLXRvaWxldFx1MjAxRCB3b3VsZCBiZSBuaWNlIGFzIGEgZm9ybSBvZiBhIGRpc2FibGVkIGJhdGhyb29tLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyB3YXMgeW91ciBjaGlsZGhvb2QgYXMgYSBzaWNrIGNoaWxkIGFuZCBob3cgZGlkIHlvdXIgcGFyZW50cyBhY3Qgd2l0aCB5b3U/ICBcIiBhPVwiTXkgbW90aGVyIGlzIGFjdGl2ZSBpbiB0aGUgTXVrbyBlLlYuIGFuZCBoYXMgYmVlbiBmb3Igc29tZSB0aW1lLiBNeSBwYXJlbnRzIGFsd2F5cyBsZWFkIGJ5IGV4YW1wbGUgYWJvdXQgd2hhdCB0byBkbyBhbmQgbm90IHRvIGRvIGFuZCBkZWFsdCB3aXRoIGl0IGluIGEgZ29vZCB3YXkuIE15IG1vdGhlciB3YXMgYWx3YXlzIHZlcnkgY29tbWl0dGVkIGFuZCBpbnZvbHZlZCBpbiBnaXZpbmcgbWUgZ29vZCBjYXJlLiBJIGFsd2F5cyBrbmV3IGFib3V0IG15IGlsbG5lc3MgYnV0IGZlbHQgaXQgd2FzIG5vdCB0aGF0IGJhZCwgYmVjYXVzZSBJIHJlY2VpdmVkIGdvb2QgY2FyZSBhbmQgZWR1Y2F0aW9uIGFib3V0IG15IGlsbG5lc3MuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBpcyBhIHR5cGljYWwgYWdlIGZvciBhIGRpYWdub3NpcyBpbiB5b3VyIGV4cGVyaWVuY2U/XCIgYT1cIlNvbWV3aGVyZSBiZXR3ZWVuIHRoZSBwcmVnbmFuY3kgYW5kIG9uZSB5ZWFyLiBJdCBpcyBvYnZpb3VzIGlmIHRoZSBjaGlsZHJlbiBkbyBub3QgZ2FpbiB3ZWlnaHQgYW5kIHRoZXJlIGFyZSBnZW5ldGljIHNjcmVlbmluZ3Mgb25lIGNhbiBkbyBwcmVuYXRhbGx5IG9yIGFmdGVyIGJpcnRoLiAgXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSWYgYSBkaWFnbm9zaXMgaXMgcG9zc2libGUgZHVyaW5nIHByZWduYW5jeSwgZG8geW91IGtub3cgb2YgYW55IHRyZWF0bWVudHMgZHVyaW5nIHByZWduYW5jeT9cIiBhPVwiTm8sIEkgdGhpbmsgdGhlIHlvdW5nZXN0IGFnZSBmb3IgbW9kdWxhdG9ycyBpcyAzIHllYXJzLiBCdXQgcGVvcGxlIGNhbiBkbyBnZW5ldGljIHRlc3RpbmcgYW5kIGNvdW5zZWxsaW5nIGJlZm9yZSBwcmVnbmFuY3kuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBkb2VzIGEgaGlnaC1mYXQgZGlldCBlbnRhaWw/XCIgYT1cIkZvciBtZSwgaXQgd2FzIGEgbG90IG9mIG9pbCBhbmQgYnV0dGVyIGFuZCBoaWdoLWNhbG9yeSBkcmlua3MuICBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IHdvdWxkIGhhcHBlbiBpZiB5b3Ugc3RvcHBlZCB0YWtpbmcgeW91ciBtZWRpY2F0aW9ucz9cIiBhPVwiVGhlIGZpcnN0IHRoaW5nIHRvIGhhcHBlbiB3b3VsZCBiZSBoZWF2eSBhbmQgZHJ5IGNvdWdoaW5nLCBiZWNhdXNlIHRoZSBtdWN1cyB3b3VsZCBub3QgYmUgcmVtb3ZlZCBwcm9wZXJseSBhbnltb3JlLiBUaHVzLCBiYWN0ZXJpYSB3b3VsZCBub3QgYmUgcHJvcGVybHkgcmVtb3ZlZCBmcm9tIHRoZSBsdW5ncyBhbnltb3JlIGVpdGhlciBhbmQgYW4gaW5mZWN0aW9uIHdvdWxkIGJlY29tZSBtb3JlIGxpa2VseS4gQW5kIEkgd291bGQgbm90IGJlIGFibGUgdG8gcmVhbGx5IHByb2Nlc3MgZm9vZCBhbnltb3JlLCBzbyBubyBudXRyaWVudHMsIGZlZWxpbmcgd2VhayBhbmQgc3RvbWFjaCBwcm9ibGVtcy4gIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIlBoeXNpY2FsIHRoZXJhcHkgaXMgYSBwYXJ0IG9mIHlvdXIgdHJlYXRtZW50IFx1MjAxMyB3aGF0IGV4YWN0bHkgZG8geW91IGRvIHRoZXJlPyAgXCIgYT1cIkJyZWF0aGluZyBleGVyY2lzZXMgYW5kIHRyYWluaW5nIG15IGx1bmcgdm9sdW1lIHRvIGtlZXAgaXQgb24gdGhlIHNhbWUgbGV2ZWwuXHUwMEEwXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRG8geW91IGhhdmUgZnVydGhlciB3aXNoZWQgZm9yIHlvdXIgdGhlcmFweT9cIiBhPVwiTm90IHJlYWxseS4gSSBhbSB2ZXJ5IGx1Y2t5IGFuZCBhbSBmcmVlIG9mIGhlYXZ5IHN5bXB0b21zIG9uIG1vc3QgZGF5cy4gXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSXMgdGhhdCB0aGUgbm9ybSBvciBkbyB5b3Uga25vdyBwZW9wbGUgd2hvIGRvIHdhbnQgbmV3IHRoZXJhcGllcz9cIiBhPVwiTm8sIHRoZXJlIGlzIGEgbmVlZCBmb3IgbmV3IHRoZXJhcGllcy4gIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkFyZSB0aGVzZSBwZW9wbGUgd2l0aCBkaWZmZXJlbnQgbXV0YXRpb25zIG9yIHdvcnNlIGhlYWx0aD8gXCIgYT1cIkkgZG9uXHUyMDE5dCBrbm93LCB0aGUgcHJvZ3Jlc3Npb24gaXMgc28gaW5kaXZpZHVhbCwgYW5kIGluZmVjdGlvbnMgY2FuIGNyZWF0ZSBiaWcgY2hhbmdlcy4gIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkEgdGhlcmFweSBmb3Igd2hpY2ggb3JnYW4gd291bGQgYmVuZWZpdCBtb3N0IHBlb3BsZSB0aGF0IGhhdmUgd29yc2UgaGVhbHRoIHRoYW4geW91IGRvP1wiIGE9XCJQcm9iYWJseSB0aGUgbHVuZy4gVGhlIHBhbmNyZWFzIGlzIGltcG9ydGFudCB0b28sIGJ1dCBzdG9tYWNoIHByb2JsZW1zIGFyZSB1c3VhbGx5IGxlc3MgcHJlc3NpbmcgdGhhbiBkaWZmaWN1bHR5IGluIGJyZWF0aGluZy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJZb3UgbWVudGlvbmVkIHRoYXQgZG9pbmcgc3BvcnQgaXMgZGlmZmljdWx0IHdpdGggQ0YsIHdoeT9cIiBhPVwiSHlnaWVuZS4gSW4gdGhlIGxvY2tlcnMgYW5kIHRoZSBzaG93ZXJzIGJ1dCBhbHNvIHdpdGggdGhlIGVxdWlwbWVudC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJEbyB5b3UgZmVlbCByZXN0cmljdGVkIGluIHlvdXIgZnJlZSB0aW1lIGFjdGl2aXRpZXM/XCIgYT1cIk5vLCBJIGFsd2F5cyBoYWQgZ29vZCBhbHRlcm5hdGl2ZXMuIEZvciBleGFtcGxlLCBnb2luZyBzd2ltbWluZyBhdCBhbiBvcGVuLWFpciBzd2ltbWluZyBwb29sIGluc3RlYWQgb2YgYSBsYWtlLiAgXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV291bGQgeW91IGhhdmUgbW9yZSBmcmVlZG9tIHdoZW4geW91IGFyZSBiZXR0ZXIgcHJvdGVjdGVkIGZyb20gUHNldWRvbW9uYXMgc3BjYy4gYW5kIG90aGVyIHBvdGVudGlhbCBpbmZlY3Rpb25zPyAgXCJhPVwiRGVmaW5pdGVseS4gVGhhdCBpcyBhIGJpZyBpbmNyZWFzZSBpbiB0aGUgcXVhbGl0eSBvZiBsaWZlIGFuZCB0aGF0IGlzIGEgd2luLiBJdCBhbHNvIGNoYW5nZXMgdGhlIHBpY3R1cmUgcGVvcGxlIGhhdmUgb2YgdGhlIGlsbG5lc3MuIE9mIGNvdXJzZSBiZWluZyBwcm90ZWN0ZWQgYnkgcHJldmVudGlvbiBpcyBnb29kIGFscmVhZHkgYnV0IGVmZmVjdGl2ZSB0aGVyYXBpZXMgZm9yIGluZmVjdGlvbnMgaW5jcmVhc2UgdGhlIHNlbnNlIG9mIGZyZWVkb20gZXZlbiBtb3JlLiBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJZb3Ugc2FpZCB5b3UgYXJlIGFmcmFpZCBldmVyeSB0aW1lIHlvdSBtdXN0IGdvIGZvciBhIHN3YWIsIHdoeSBpcyB0aGF0PyBcIiBhPVwiSSBhbSBhZnJhaWQgb2YgZ2V0dGluZyBhbiBpbmZlY3Rpb24uIFRoYXQgc3RpbGwgY291bGQgYmUgYSBkZWF0aCBzZW50ZW5jZS4gIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkFyZSByb29tcyB3aXRoIGFpciBjb25kaXRpb25pbmcgYSBwcm9ibGVtIGR1ZSB0byB0aGUgcG9zc2libGUgZ2VybXMgaW4gdGhlIGFpciBjb25kaXRpb25lcnM/ICBcIiBhPVwiTm8sIHRoZXJlIGlzIHVzdWFsbHkgZW5vdWdoIG1vdmVtZW50LiBCdXQgaHVtaWRpZmllcnMgYXJlIGJhZCBiZWNhdXNlIG9mIHRoZSBwb25kIHdhdGVyLiAgXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiWW91IG1lbnRpb25lZCBnb2luZyB0byB0aGUgaGFpcmRyZXNzZXIgaXMgcHJvYmxlbWF0aWMuIENvdWxkIHlvdSBlbGFib3JhdGU/IFwiIGE9XCJUaGVyZSBhcmUgbWFueSBwb3NzaWJsZSBzb3VyY2VzIG9mIHBvbmRpbmcgd2F0ZXIgYW5kIHdpdGggdGhhdCwgaW5mZWN0aW9ucy4gVGhhdCBhbmQgdGhlIGh5Z2llbmUgYXNwZWN0IGluIGdlbmVyYWwuIEkgYW0gdmlzaXRlZCBieSBteSBoYWlyZHJlc3NlciwgYW5kIGhlIG9ubHkgdXNlcyBhIHNwZWNpZmljIHNwcmF5IGJvdHRsZSB0byB3ZXQgbXkgaGFpciB0aGF0IEkga2VlcCBhbmQgZHJ5IHRob3JvdWdobHkgYmV0d2VlbiB1c2VzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkFyZSB5b3UgdGhlIGZpcnN0IHBlcnNvbiBpbiB5b3VyIGZhbWlseSB0aGF0IGhhcyBDRj8gIFwiIGE9XCJZZXMuIEJ1dCBJIHN1c3BlY3QgbXkgZmF0aGVyIGhhcyBhIGxpZ2h0IG9yIGF0eXBpY2FsIGZvcm0gYmVjYXVzZSBoZSBoYXMgc3VzcGljaW91cyBtdWN1cy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaXRoIGxpZmUgZXhwZWN0YW5jaWVzIGxvb2tpbmcgYmV0dGVyLCBkbyBtYW55IHBhdGllbnRzIHdhbnQgdG8gaGF2ZSBiaW9sb2dpY2FsIGNoaWxkcmVuP1wiIGE9XCJOb3QgYWxsIGJ1dCBzb21lLiBJIHRoaW5rIHNvbWUgd291bGQgYmUgaW50ZXJlc3RlZCBpbiBhIHRoZXJhcHkgdGhhdCBjYW4gYmUgZG9uZSBvbiB0aGUgZmVydGlsaXplZCBlZ2cgdG8gaGF2ZSBhIGhlYWx0aHkgY2hpbGQuICBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJEbyB5b3Uga25vdyB0aGUgZmlsbSBcdTIwMUNGaXZlIGZlZXQgYXBhcnRcdTIwMUQ/IElmIHNvLCB3aGF0IGRvIHRoaW5rIGFib3V0IGl0LCBpcyBpdCBhY2N1cmF0ZT8gIFwiIGE9XCJZZXMuIEl0IGRvZXMgbm90IHBhaW50IGEgd3JvbmcgcGljdHVyZTsgdGhlaXIgcHJvZ3Jlc3Npb24gaXMgcG9zc2libGUuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRG8geW91IHRoaW5rIHRoZXJlIGhhcyB0byBiZSBtb3JlIGVmZm9ydCBjb25jZXJuaW5nIGRpYWdub3N0aWNzP1wiIGE9XCJFYXJseSBkaWFnbm9zaXMgaXMgY292ZXJlZCBieSB0aGUgc2NyZWVuaW5ncy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJTaW5jZSB5b3UgYWxtb3N0IGhhZCB0byBzdWUgZm9yIHlvdXIgbWVkaWNhdGlvbiwgZG8geW91IGtub3cgaWYgdGhlcmUgYXJlIGFueSBsYXd5ZXJzIHNwZWNpYWxpemluZyBpbiBjYXNlcyBsaWtlIHRoaXM/ICBcIiBhPVwiTm8sIEkgZG9uXHUyMDE5dC4gIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkFyZSBtb3N0IG9mIHRoZSBvdGhlciBwYXRpZW50cyB5b3Uga25vdyBpbiBnb29kIGhlYWx0aCBsaWtlIHlvdT9cIiBhPVwiTm8uIEFub3RoZXIgYm95IG15IGFnZSBnb3QgYSBmdW5nYWwgaW5mZWN0aW9uIGFuZCBkb2VzIG5vdCBoYXZlIGxvbmcgdGltZSBsZWZ0IHRvIGxpdmUuICBcIiAvPlxuICAgIDwvPixcbiAgICBzdW1tYXJ5OiBcIldlIHJlYWNoZWQgb3V0IHRvIE1heCwgYSBmcmllbmQgb2YgYSB0ZWFtbWF0ZSwgdG8gZ2FpbiBpbnNpZ2h0cyBpbnRvIHRoZSBuZWVkcyBhbmQgZXhwZXJpZW5jZXMgb2YgQ0YgcGF0aWVudHMuIE91ciBkaXNjdXNzaW9ucyByZXZlYWxlZCB0aGUgY2hhbGxlbmdlcyBmYWNlZCBieSBDRiBwYXRpZW50cywgZXZlbiB0aG9zZSBpbiByZWxhdGl2ZWx5IGdvb2QgaGVhbHRoLCBhbmQgZW1waGFzaXplZCB0aGUgb25nb2luZyBuZWVkIGZvciBuZXcgdHJlYXRtZW50IG9wdGlvbnMuIE1heCdzIGNhbmRpZCBzaGFyaW5nIG9mIGhpcyBleHBlcmllbmNlcyBoaWdobGlnaHRlZCB0aGUgbGltaXRhdGlvbnMgb2YgY3VycmVudCBtb2R1bGF0b3JzLCB0aGUgaW1wb3J0YW5jZSBvZiBsdW5nIGZ1bmN0aW9uLCBhbmQgdGhlIGltcGFjdCBvZiB0cmVhdG1lbnRzIG9uIHF1YWxpdHkgb2YgbGlmZS4gVGhpcyBtZWV0aW5nIHRyYW5zZm9ybWVkIG91ciBwcm9qZWN0IHBlcnNwZWN0aXZlLCB1cmdpbmcgdXMgdG8gcHJpb3JpdGl6ZSBzYWZldHkgYW5kIHJlYWwtd29ybGQgYmVuZWZpdHMgaW4gb3VyIGRlc2lnbi4gVWx0aW1hdGVseSwgTWF4J3MgaW5mbHVlbmNlIGxlZCB1cyB0byBmb2N1cyBvbiBsdW5nLXRhcmdldGVkIGdlbmUgdGhlcmFweSBpbnN0ZWFkIG9mIGEgZGlhZ25vc3RpYyBhcHByb2FjaCwgcmVpbmZvcmNpbmcgb3VyIGNvbW1pdG1lbnQgdG8gSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXMuXCIsXG4gICAgbW9udGhzOiBcIkFwcmlsXCIsXG4gICAgLyppbnRlcnZpZXc6PGlmcmFtZSB0aXRsZT1cIkJpZWxlZmVsZC1DZUJpVGVjOiBJbnRlcnZpZXcgd2l0aCBNYXggQmVja21hbm4gKDIwMjQpIFtFbmdsaXNoXVwiIHdpZHRoPVwiNTYwXCIgaGVpZ2h0PVwiMzE1XCIgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy92aWRlb3MvZW1iZWQvMTY1MDE4NjctYTY4Ny00MjA1LTk0OWEtNTFlYWQ4NzZlMTA5XCIgZnJhbWVib3JkZXI9XCIwXCIgYWxsb3dmdWxsc2NyZWVuPVwiXCIgc2FuZGJveD1cImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctcG9wdXBzIGFsbG93LWZvcm1zXCI+PC9pZnJhbWU+LCovXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJQcm9mLiBEci5cIixcbiAgICB2b3JuYW1lOiBcIktyaXN0aWFuXCIsXG4gICAgbmFjaG5uYW1lOiBcIk1cdTAwRkNsbGVyXCIsXG4gICAgam9iOiBcIlJlc2VhcmNoIEdyb3VwIENlbGx1bGFyIGFuZCBNb2xlY3VsYXIgQmlvdGVjaG5vbG9neVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlRlY2huaWNhbCBGYWN1bHR5IG9mIEJpZWxlZmVsZCBVbml2ZXJzaXR5XCIsXG4gICAgcGljdHVyZXVybDogcGljc1sna3Jpc3RpYW4nXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIkRpc2N1c3Npb24gYWJvdXQgdGhlIGRlbGl2ZXJ5IG1ldGhvZC0gQVZWIHZzLiBMTlBzIGFuZCBwcmltZSBlZGl0aW5nIGFuZCBnZW5lIHRoZXJhcHkgaW5ub3ZhdGlvbnNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJrcmlzdGlhblwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiQUFWcyBoYXZlIGJlZW4gd2lkZWx5IHVzZWQgaW4gZ2VuZSB0aGVyYXB5LCBidXQgdGhlaXIgc2NhbGFiaWxpdHkgYW5kIGltbXVub2dlbmljaXR5IHBvc2UgY2hhbGxlbmdlcywgcGFydGljdWxhcmx5IHdoZW4gcmUtZG9zaW5nIGlzIHJlcXVpcmVkLiBJbiBjb250cmFzdCwgTE5QcyBvZmZlciBhIHByb21pc2luZyBhbHRlcm5hdGl2ZSwgd2l0aCBhIGhpZ2hlciBwYWNrYWdpbmcgY2FwYWNpdHkgYW5kIGxvd2VyIGltbXVub2dlbmljaXR5LiBXaGlsZSBBQVZzIGV4Y2VsIGluIHRhcmdldGVkIGRlbGl2ZXJ5LCBMTlBzIGNvdWxkIGJlY29tZSBhIG1vcmUgc2NhbGFibGUgYW5kIGNvc3QtZWZmZWN0aXZlIHNvbHV0aW9uIGZvciBkZWxpdmVyaW5nIGdlbmUtZWRpdGluZyB0b29scyBpbiB0aGUgZnV0dXJlLlwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPlRoZSBhaW0gb2Ygb3VyIGludGVydmlldyB3aXRoIFByb2YuIERyLiBLcmlzdGlhbiBNXHUwMEZDbGxlciB3YXMgdG8gZ2FpbiBleHBlcnQgaW5zaWdodHMgaW50byB0aGUgcG90ZW50aWFsIG9mIHByaW1lIGVkaXRpbmcgdGVjaG5vbG9neSBhbmQgaXRzIGFwcGxpY2F0aW9uIGluIGdlbmUgdGhlcmFweSwgcGFydGljdWxhcmx5IGZvciB0cmVhdGluZyBDRi4gV2Ugc291Z2h0IHRvIHVuZGVyc3RhbmQgaG93IGlubm92YXRpb25zIGluIHByaW1lIGVkaXRpbmcsIGNvbWJpbmVkIHdpdGggb3B0aW1pemVkIGRlbGl2ZXJ5IHN5c3RlbXMsIGNvdWxkIGVuaGFuY2UgdGhlcmFwZXV0aWMgb3V0Y29tZXMuIFByb2YuIE1cdTAwRkNsbGVyXHUyMDE5cyBleHBlcnRpc2UgaW4gbW9sZWN1bGFyIGJpb2xvZ3kgYW5kIGdlbmUgZWRpdGluZyBwcm92aWRlZCB2YWx1YWJsZSBwZXJzcGVjdGl2ZXMgb24gdGhlIG9wcG9ydHVuaXRpZXMgYW5kIGNoYWxsZW5nZXMgaW4gZGV2ZWxvcGluZyBwcmVjaXNlLCBlZmZpY2llbnQsIGFuZCBzYWZlIHRyZWF0bWVudCBzdHJhdGVnaWVzIGZvciBnZW5ldGljIGRpc29yZGVycy48L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPkR1cmluZyB0aGUgaW50ZXJ2aWV3LCBQcm9mLiBEci4gTVx1MDBGQ2xsZXIgaGlnaGxpZ2h0ZWQgdGhlIGdyb3dpbmcgaW1wb3J0YW5jZSBvZiBwcmltZSBlZGl0aW5nIGFzIGEgcG93ZXJmdWwgdG9vbCBmb3IgZ2VuZSB0aGVyYXB5LiBVbmxpa2UgdHJhZGl0aW9uYWwgQ1JJU1BSLUNhcyBzeXN0ZW1zLCB3aGljaCBvZnRlbiByZXN1bHQgaW4gZG91YmxlLXN0cmFuZCBETkEgYnJlYWtzLCBwcmltZSBlZGl0aW5nIGFsbG93cyBmb3IgcHJlY2lzZSBzaW5nbGUtc3RyYW5kIGN1dHMsIG1pbmltaXppbmcgb2ZmLXRhcmdldCBlZmZlY3RzIGFuZCBlbmFibGluZyBtb3JlIHNwZWNpZmljIGdlbmV0aWMgY29ycmVjdGlvbnMuIFRoaXMgdGVjaG5vbG9neSBvcGVucyB1cCBuZXcgcG9zc2liaWxpdGllcyBmb3IgdHJlYXRpbmcgZGlzZWFzZXMgd2l0aCBrbm93biBtdXRhdGlvbnMsIHN1Y2ggYXMgY3lzdGljIGZpYnJvc2lzLiBcbiAgICAgIFByb2YuIERyLiBLcmlzdGlhbiBNXHUwMEZDbGxlciBlbXBoYXNpemVkIHRoZSBjcml0aWNhbCByb2xlIG9mIGRlbGl2ZXJ5IHN5c3RlbXMgaW4gdGhlIHN1Y2Nlc3Mgb2YgZ2VuZSB0aGVyYXBpZXMsIHBhcnRpY3VsYXJseSBpbiB0aGUgY29udGV4dCBvZiBDRiB0cmVhdG1lbnQuIFR3byBwcmltYXJ5IGRlbGl2ZXJ5IG1lY2hhbmlzbXMgd2VyZSBkaXNjdXNzZWQ6IEFBVnMgKEFkZW5vLWFzc29jaWF0ZWQgdmlydXNlcykgYW5kIExOUHMgKExpcGlkIG5hbm9wYXJ0aWNsZXMpLCBlYWNoIHdpdGggZGlzdGluY3QgYWR2YW50YWdlcyBhbmQgbGltaXRhdGlvbnMuXG4gICAgICBBQVZzIGFyZSBhIHdlbGwtZXN0YWJsaXNoZWQgdmVoaWNsZSBpbiBnZW5lIHRoZXJhcHksIGhhdmluZyBiZWVuIHVzZWQgc3VjY2Vzc2Z1bGx5IGluIHZhcmlvdXMgYXBwcm92ZWQgdHJlYXRtZW50cy4gVGhleSBhcmUgaGlnaGx5IGVmZmljaWVudCBhdCBkZWxpdmVyaW5nIGdlbmV0aWMgbWF0ZXJpYWwgdG8gdGFyZ2V0IGNlbGxzLCBlc3BlY2lhbGx5IGluIHdlbGwtY2hhcmFjdGVyaXplZCBkaXNlYXNlcyBsaWtlIENGLiBPbmUgb2YgdGhlaXIga2V5IHN0cmVuZ3RocyBpcyB0aGVpciBhYmlsaXR5IHRvIHByZWNpc2VseSB0YXJnZXQgc3BlY2lmaWMgdGlzc3VlcywgbWFraW5nIHRoZW0gcGFydGljdWxhcmx5IHZhbHVhYmxlIGZvciBsdW5nIGRlbGl2ZXJ5IGluIGN5c3RpYyBmaWJyb3Npcy4gSG93ZXZlciwgQUFWcyBjb21lIHdpdGggbm90YWJsZSBjaGFsbGVuZ2VzLCBwcmltYXJpbHkgdGhlaXIgbGltaXRlZCBwYWNrYWdpbmcgY2FwYWNpdHkgKGFwcHJveGltYXRlbHkgNC41IGtpbG9iYXNlcyksIHdoaWNoIGNvbnN0cmFpbnMgdGhlIHNpemUgb2YgdGhlIGdlbmV0aWMgcGF5bG9hZCB0aGV5IGNhbiBjYXJyeS4gQWRkaXRpb25hbGx5LCBBQVZzIGNhbiBlbGljaXQgaW1tdW5lIHJlc3BvbnNlcywgcGFydGljdWxhcmx5IHdoZW4gbXVsdGlwbGUgZG9zZXMgYXJlIHJlcXVpcmVkLCBwb3NpbmcgYSBiYXJyaWVyIHRvIHRoZWlyIGxvbmctdGVybSB1c2UuXG4gICAgICBPbiB0aGUgb3RoZXIgaGFuZCwgTE5QcyBvZmZlciBhIHNjYWxhYmxlIGFuZCByZS1kb3NhYmxlIGFsdGVybmF0aXZlLiBMTlBzIGhhdmUgdGhlIGFkdmFudGFnZSBvZiBhIGxhcmdlciBwYWNrYWdpbmcgY2FwYWNpdHksIGFsbG93aW5nIHRoZW0gdG8gY2FycnkgbW9yZSBjb21wbGV4IGdlbmV0aWMgaW5zdHJ1Y3Rpb25zIG9yIGxhcmdlciBnZW5lLWVkaXRpbmcgdG9vbHMsIHN1Y2ggYXMgcHJpbWUgZWRpdG9ycy4gVGhleSBhcmUgYWxzbyBlYXNpZXIgYW5kIGNoZWFwZXIgdG8gcHJvZHVjZSBvbiBhIGxhcmdlIHNjYWxlLCBtYWtpbmcgdGhlbSBhbiBhdHRyYWN0aXZlIG9wdGlvbiBmb3Igd2lkZXNwcmVhZCBjbGluaWNhbCBhcHBsaWNhdGlvbnMuIEEgc2lnbmlmaWNhbnQgYmVuZWZpdCBvZiBMTlBzIGlzIHRoZWlyIGxvd2VyIGltbXVub2dlbmljaXR5LCB3aGljaCByZWR1Y2VzIHRoZSByaXNrIG9mIGFkdmVyc2UgaW1tdW5lIHJlYWN0aW9ucyB1cG9uIHJlcGVhdGVkIGRvc2luZy4gSG93ZXZlciwgTE5QcyBjdXJyZW50bHkgZmFjZSBjaGFsbGVuZ2VzIGluIHNwZWNpZmljIHRhcmdldGluZyBjb21wYXJlZCB0byBBQVZzLiBBQVZzIGhhdmUgYSBoaWdoZXIgcHJlY2lzaW9uIGluIHRhcmdldGluZyBzcGVjaWZpYyB0aXNzdWVzLCB3aGlsZSBMTlBzIHN0aWxsIG5lZWQgb3B0aW1pemF0aW9uIGZvciB0YXJnZXRlZCBkZWxpdmVyeSB0byBhcmVhcyBsaWtlIHRoZSBsdW5ncy48L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPlByb2YuIE1cdTAwRkNsbGVyXHUyMDE5cyBpbnNpZ2h0cyBkaXJlY3RseSBpbmZvcm0gdGhlIGltcGxlbWVudGF0aW9uIG9mIG91ciBpR0VNIHByb2plY3QsIHdoZXJlIHdlIGFpbSB0byBkZXNpZ24gbm92ZWwgcHJpbWUgZWRpdG9ycyB0aGF0IGFyZSBzbWFsbCBlbm91Z2ggdG8gYmUgZGVsaXZlcmVkIGVmZmljaWVudGx5LCB3aGlsZSBhbHNvIGV4cGxvcmluZyBMTlBzW0xJTksgQ3ljbGUgRGVsaXZlcnldIGFzIGEgc2NhbGFibGUgYW5kIHJlLWRvc2FibGUgYWx0ZXJuYXRpdmUgdG8gQUFWcy4gQnkgdGFpbG9yaW5nIG91ciBhcHByb2FjaCB0byBhZGRyZXNzIHRoZSBzcGVjaWZpYyBjaGFsbGVuZ2VzIG9mIENGLCBzdWNoIGFzIG11Y3VzIHBlbmV0cmF0aW9uIGFuZCBsdW5nIGNlbGwgdGFyZ2V0aW5nLCB3ZSBjYW4gZW5oYW5jZSB0aGUgcHJlY2lzaW9uIGFuZCBlZmZpY2FjeSBvZiBnZW5lIHRoZXJhcHkuIFRoZXNlIGlubm92YXRpb25zIGhhdmUgdGhlIHBvdGVudGlhbCB0byBzZXQgbmV3IHN0YW5kYXJkcyBpbiB0aGUgZmllbGQgYW5kIGNvbnRyaWJ1dGUgdG8gYnJvYWRlciByZXNlYXJjaCBvbiBnZW5ldGljIGRpc2Vhc2UgdHJlYXRtZW50LjwvcD5dLFxuICAgIHN1bW1hcnk6IFwiSW4gb3VyIGludGVydmlldyB3aXRoIFByb2YuIERyLiBLcmlzdGlhbiBNXHUwMEZDbGxlciwgd2UgZXhwbG9yZWQgdGhlIHJldm9sdXRpb25hcnkgcG90ZW50aWFsIG9mIHByaW1lIGVkaXRpbmcgYXMgYSBuZXh0LWdlbmVyYXRpb24gZ2VuZSBlZGl0aW5nIHRlY2hub2xvZ3kuIFByb2YuIE1cdTAwRkNsbGVyIGhpZ2hsaWdodGVkIHRoZSBhZHZhbnRhZ2VzIG9mIHByaW1lIGVkaXRpbmcgb3ZlciB0cmFkaXRpb25hbCBDUklTUFItQ2FzIHN5c3RlbXMsIHBhcnRpY3VsYXJseSBpdHMgYWJpbGl0eSB0byBtYWtlIHByZWNpc2UgZ2VuZXRpYyBtb2RpZmljYXRpb25zIHdpdGhvdXQgZG91YmxlLXN0cmFuZCBicmVha3MsIHRodXMgcmVkdWNpbmcgb2ZmLXRhcmdldCBlZmZlY3RzLiBIZSBlbXBoYXNpemVkIHRoZSBpbXBvcnRhbmNlIG9mIG9wdGltaXppbmcgZGVsaXZlcnkgc3lzdGVtcywgc3VjaCBhcyBBQVYgYW5kIExOUHMsIGFuZCBkaXNjdXNzZWQgdGhlIGV0aGljYWwgY29uc2lkZXJhdGlvbnMgYW5kIGJpb3NhZmV0eSBtZWFzdXJlcyBjcnVjaWFsIGZvciBhZHZhbmNpbmcgZ2VuZSB0aGVyYXB5LiBUaGUgaW50ZXJ2aWV3IHVuZGVyc2NvcmVkIHRoZSBzaWduaWZpY2FuY2Ugb2YgY3lzdGljIGZpYnJvc2lzIGFzIGEgbW9kZWwgZGlzZWFzZSwgZ2l2ZW4gaXRzIHByZXZhbGVuY2UgYW5kIHRoZSBwb3RlbnRpYWwgZm9yIGltcGFjdGZ1bCB0cmVhdG1lbnRzIHRocm91Z2ggdGFyZ2V0ZWQgZ2VuZXRpYyBjb3JyZWN0aW9ucy5cIixcbiAgICBtb250aHM6IFwiQXByaWxcIixcbiAgICBpbnRlcnZpZXc6PD48aWZyYW1lIHRpdGxlPVwiQmllbGVmZWxkLUNlQmlUZWM6IEludGVydmlldyBNXHUwMEZDbGxlciBBQVYgdnMgTE5QICgyMDI0KSBbRW5nbGlzaF1cIiB3aWR0aD1cIjU2MFwiIGhlaWdodD1cIjMxNVwiIHNyYz1cImh0dHBzOi8vdmlkZW8uaWdlbS5vcmcvdmlkZW9zL2VtYmVkLzA2MTNiNmI4LTc3NTUtNDM3My05ZDg2LTk5MTBmZTMwNzgxZlwiIGZyYW1lQm9yZGVyPVwiMFwiIGFsbG93RnVsbFNjcmVlbj17dHJ1ZX0gc2FuZGJveD1cImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctcG9wdXBzIGFsbG93LWZvcm1zXCI+PC9pZnJhbWU+PHA+VGhpcyBpbnRlcnZpZXcgd2FzIHJlY29yZGVkIG9uIHZpZGVvIGF0IGEgbGF0ZXIgZGF0ZS48L3A+PC8+LFxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJWaXNpdGluZyBcIixcbiAgICBuYWNobm5hbWU6IFwidGhlIEhhbm5vdmVyIE1lc3NlXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snaGFubm92ZXJtZXNzZSddLFxuICAgIGpvYjogXCJUZWFtIGlHRU1cIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaWVsZmVsZCBDZUJpVGVjIDIwMjRcIixcbiAgICB0YWc6IFwiSW5kdXN0cnlcIixcbiAgICBoZWFkaW5nOiBcIlR3byB0ZWFtbWVtYmVycyB2aXNpdGVkIHRoZSBmYWlyIHRvIHRhbGsgd2l0aCBwb3RlbnRpYWwgc3Rha2Vob2xkZXIgYW5kIHNwb25zb3JzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiaGFubm92ZXJtZXNzZVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcInhcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gICAgc3VtbWFyeTogXCJcIixcbiAgICBtb250aHM6IFwiQXByaWxcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJMb29raW5nIGZvciBleHBlcnRpc2VcIixcbiAgICBuYWNobm5hbWU6IFwiXCIsXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICB0YWc6IFwiTWlsZXN0b25lXCIsXG4gICAgaGVhZGluZzogXCJJZGVudGlmeWluZyBrZXkgZXhwZXJ0cyBpbiBjeXN0aWMgZmlicm9zaXMgYW5kIHByaW1lIGVkaXRpbmdcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJleHBlcnRzXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwiXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlwiLFxuICAgIGluc2lnaHRzOiBcIlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIlwiLFxuICAgIHR5cGU6IFwibWV0YVwiLFxuICAgIHN1bW1hcnk6IFwiXCIsXG4gICAgbW9udGhzOiBcIkFwcmlsXCJcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIlByb2YuIERyLlwiLFxuICAgIHZvcm5hbWU6IFwiV29sZi1NaWNoYWVsIFdlYmVyXCIsXG4gICAgbmFjaG5uYW1lOiBcInVuZCBEci4gSlx1MDBGNnJnIEdyb1x1MDBERmUtT25uZWJyaW5rXCIsXG4gICAgam9iOiBcIlByb2Zlc3NvciBcIixcbiAgICBhZmZpbGlhdGlvbjogXCJVbml2ZXNpdHkgTVx1MDBGQ25zdGVyXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snd2ViZXInXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIkZlZWRiYWNrIFNlc3Npb24gd2l0aCBFeHBlcnRzIGZvciBDeXN0aWMgRmlicm9zaXMgVHJlYXRtZW50XCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwid2ViZXJcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJlblwiLFxuICAgIHF1b3RlOiBcInhcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5UaGUgYWltIG9mIHRoZSBpbnRlcnZpZXcgd2FzIHRvIGdhaW4gZXhwZXJ0IGluc2lnaHRzIG9uIG9wdGltaXppbmcgdGhlIGRlbGl2ZXJ5IG9mIENGVFItbVJOQSB2aWEgbHVuZy10YXJnZXRlZCBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSBmb3IgY3lzdGljIGZpYnJvc2lzIChDRikgdHJlYXRtZW50LlxuICAgICAgU3BlY2lmaWNhbGx5LCB0aGUgZ29hbCB3YXMgdG8gZXhwbG9yZSBwb3RlbnRpYWwgY2VsbCB0YXJnZXRzLCBjaGFsbGVuZ2VzIGluIGRlbGl2ZXJ5IG1lY2hhbmlzbXMsIGFuZCB0ZWNobmljYWwgdG9vbHMgZm9yIGFzc2Vzc2luZyB0aGUgZWZmZWN0aXZlbmVzcyBvZiBtUk5BIHRoZXJhcGllcyBsaWtlIHRoZSBVc3NpbmcgY2hhbWJlciBzeXN0ZW0uIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+VGhlIGV4cGVydHMgaGlnaGxpZ2h0ZWQgdGhlIHBvdGVudGlhbCBvZiB0YXJnZXRpbmcgaW9ub2N5dGVzLCBnaXZlbiB0aGVpciBrZXkgcm9sZSBpbiBDRlRSIGV4cHJlc3Npb24sIGJ1dCBlbXBoYXNpemVkIHRoZSBkaWZmaWN1bHR5IGluIGFjY2Vzc2luZyB0aGVtIGR1ZSB0byB0aGVpciBiYXNhbCBwb3NpdGlvbiBpbiB0aGUgcmVzcGlyYXRvcnkgZXBpdGhlbGl1bS5cbiAgICAgIFdoaWxlIFByb2YuIFdlYmVyIGZvdW5kIGlvbm9jeXRlcyB0byBiZSBhbiBpbnRyaWd1aW5nIHRhcmdldCwgRHIuIEdyb1x1MDBERmUtT25uZWJyaW5rIHBvaW50ZWQgb3V0IHRoYXQgdGhlcmUgaXMgc3RpbGwgbGltaXRlZCB1bmRlcnN0YW5kaW5nIG9mIHRoZWlyIGV4YWN0IHJvbGUgaW4gQ0YgcGF0aG9sb2d5LiBCb3RoIHN0cmVzc2VkIHRoZSBjaGFsbGVuZ2Ugb2YgcGVuZXRyYXRpbmcgdGhlXG4gICAgICBtdWN1cyBiYXJyaWVyIGluIHZpdm8sIHBhcnRpY3VsYXJseSB3aGVuIHVzaW5nIGFpci1saXF1aWQgaW50ZXJmYWNlIGN1bHR1cmVzLCBhbmQgdW5kZXJzY29yZWQgdGhlIGltcG9ydGFuY2Ugb2Ygb3B0aW1pemluZyBwYXJ0aWNsZSBzaXplIHRvIGVuc3VyZSBlZmZlY3RpdmUgZGVsaXZlcnkgdG8gdGhlIGRlZXBlciByZWdpb25zIG9mIHRoZSBsdW5ncy5cbiAgICAgIFByb2YuIFdlYmVyIGFsc28gZW1waGFzaXplZCB0aGUgbmVlZCB0byB0ZXN0IHdoZXRoZXIgdGhlIHN5c3RlbSBjYW4gc3RpbGwgdHJhbnNmZWN0IGNlbGxzIGluIHRoZSBwcmVzZW5jZSBvZiBtdWN1cy4gPC9wPixcbiAgICA8cD5JdCB3YXMgc3VnZ2VzdGVkIHRvIHVzZSB0aGUgVXNzaW5nIGNoYW1iZXIgdG8gYXNzZXNzIHRoZSBlZmZlY3RpdmVuZXNzIG9mIHRoZSBkZWxpdmVyeSBzeXN0ZW0gYW5kIHRoZXJhcGV1dGljIG1STkEsIHRob3VnaCB0aGV5IG5vdGVkIGNlcnRhaW4gY2hhbGxlbmdlcyB3aXRoIHRoaXMgdGVjaG5pcXVlLiBXZSBhbHNvIGRpc2N1c3NlZCBhbHRlcm5hdGl2ZXMgbGlrZSBvcmdhbm9pZHMsXG4gICAgICB3aGljaCBvZmZlciBvbmx5IGluZGlyZWN0IG1lYXN1cmVtZW50cyBvZiBDRlRSIGZ1bmN0aW9uLCBhbmQgcGF0Y2ggY2xhbXBpbmcsIHdoaWNoLCB0aG91Z2ggbW9yZSBwcmVjaXNlLCBpcyBhIG1vcmUgY29tcGxleCBhbmQgZXhwZW5zaXZlIG1ldGhvZC4gQWRkaXRpb25hbGx5LCBQcm9mLiBXZWJlciByZWNvbW1lbmRlZCBleHBsb3JpbmcgY2hpdG9zYW4tYmFzZWQgZGVsaXZlcnlcbiAgICAgIHN5c3RlbXMgZHVlIHRvIHRoZWlyIHN1Y2Nlc3MgaW4gaGlzIHByZXZpb3VzIHdvcmssIHN1Z2dlc3RpbmcgdGhleSBjb3VsZCBiZSBhIHNhZmVyIGFsdGVybmF0aXZlIHRvIFBFRy1saXBpZCBzeXN0ZW1zLCB3aGljaCBoYWQgc2hvd24gaXNzdWVzIHdpdGggY3l0b3RveGljaXR5LiA8L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPlRoZXNlIGluc2lnaHRzIGhlbHBlZCByZWZpbmUgb3VyIGlHRU0gcHJvamVjdCBpbiBzZXZlcmFsIGtleSB3YXlzOlxuICAgICAgPHVsPlxuICAgICAgICA8bGk+Q2VsbCBUYXJnZXRpbmc6IFdlIGRlY2lkZWQgdG8gY29udGludWUgZXhwbG9yaW5nIGlvbm9jeXRlcyBhcyBhIHRhcmdldCBidXQgYWNrbm93bGVkZ2VkIHRoZSB0ZWNobmljYWwgaHVyZGxlcyBpbnZvbHZlZC4gV2UgYWxzbyBleHBhbmRlZCBvdXIgZm9jdXMgdG8gaW5jbHVkZSBtdWx0aXBsZSBjZWxsIHR5cGVzIHRvIHRlc3QgZGlmZmVyZW50IGRlbGl2ZXJ5IHN5c3RlbXMuIDwvbGk+XG4gICAgICAgIDxsaT5EZWxpdmVyeSBTeXN0ZW1zOiBXZSBiZWdhbiBpbnZlc3RpZ2F0aW5nIGNoaXRvc2FuLWJhc2VkIG5hbm9wYXJ0aWNsZXMgYXMgYSBzYWZlciBhbHRlcm5hdGl2ZSB0byBQRUctbGlwaWQgc3lzdGVtcy4gVGhlIHN1Z2dlc3Rpb24gdG8gb3B0aW1pemUgcGFydGljbGUgc2l6ZSBhbmQgZGVsaXZlcnkgZm9yIGluaGFsYXRpb24gd2FzIGFsc28gaW50ZWdyYXRlZCBpbnRvIG91ciBkZXNpZ24uIDwvbGk+XG4gICAgICAgIDxsaT5FeHBlcmltZW50YWwgVG9vbHM6IEJhc2VkIG9uIHRoZSBkaXNjdXNzaW9uLCB3ZSBwbGFuIHRvIHVzZSBhbiBVc3NpbmcgY2hhbWJlciB0byBtZWFzdXJlIG92ZXJhbGwgQ0ZUUiBmdW5jdGlvbiBpbiBkaWZmZXJlbnQgY2VsbCB0eXBlcyBidXQgd2lsbCBhbHNvIGV4cGxvcmUgb3JnYW5vaWQtYmFzZWQgYXBwcm9hY2hlcyBmb3IgcHJlbGltaW5hcnkgdGVzdGluZy4gQWRkaXRpb25hbGx5LCB3ZSBjb25zdWx0ZWQgdGhlIG1lZGljYWwgZmFjdWx0eSBvbiB0aGUgcG9zc2liaWxpdHkgb2YgdXNpbmcgcGF0Y2ggY2xhbXBpbmcgZm9yIG1vcmUgZGV0YWlsZWQgbWVhc3VyZW1lbnRzIG9mIHN1Y2Nlc3NmdWwgdHJhbnNmZWN0aW9uIGFuZCByZXN0b3JlZCBDRlRSIGZ1bmN0aW9uLiA8L2xpPlxuICAgICAgPC91bD4sXG4gICAgPC9wPl0sXG4gICAgc3VtbWFyeTogXCJUaGUgaW50ZXJ2aWV3IHByb3ZpZGVkIGtleSBpbnNpZ2h0cyBpbnRvIHRhcmdldGluZyBpb25vY3l0ZXMgZm9yIENGVFItbVJOQSBkZWxpdmVyeSwgb3ZlcmNvbWluZyBtdWN1cyBiYXJyaWVycywgYW5kIHRlc3RpbmcgZGVsaXZlcnkgZWZmZWN0aXZlbmVzcyB1c2luZyBVc3NpbmcgY2hhbWJlcnMsIG9yZ2Fub2lkcywgYW5kIHBhdGNoIGNsYW1waW5nLCB3aGlsZSBhbHNvIHN1Z2dlc3RpbmcgY2hpdG9zYW4tYmFzZWQgbmFub3BhcnRpY2xlcyBhcyBhIHNhZmVyIGFsdGVybmF0aXZlIHRvIFBFRy1saXBpZCBzeXN0ZW1zLlwiLFxuICAgIG1vbnRoczogXCJtYXlcIlxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiRHIuXCIsXG4gICAgdm9ybmFtZTogXCJDcmlzdGlhbi1HYWJyaWVsXCIsXG4gICAgbmFjaG5uYW1lOiBcIk9sYXJpdVwiLFxuICAgIGpvYjogXCJwZWRpYXRyaWNpYW5cIixcbiAgICBhZmZpbGlhdGlvbjogXCJPV0wgVW5pdmVyc2l0eSBIb3NwaXRhbFwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ29sYXJpdSddLFxuICAgIHRhZzogXCJNZWRpY2FsIFByb2Zlc3Npb25hbFwiLFxuICAgIGhlYWRpbmc6IFwiRGlzY3Vzc2lvbiB3aXRoIGEgcGVkaWF0cmljaWFuIGFuZCBoaXMgZm9ybWVyIHBhdGllbnQgYWJvdXQgdHJlYXRtZW50IGNoYWxsZW5nZXMgYW5kIHBlcnNwZWN0aXZlc1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcIm9sYXJpdVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiRm9yIG1vc3QgZmFtaWxpZXMsIGl0XHUyMDE5cyBhIHNob2NrLiBDeXN0aWMgZmlicm9zaXMgc3RpbGwgaGFzIGEgc3Ryb25nIGFzc29jaWF0aW9uIHdpdGggYmVpbmcgYSBsaWZlLXRocmVhdGVuaW5nIGRpc2Vhc2UsIGRlc3BpdGUgdGhlIGZhY3QgdGhhdCB3ZSBub3cgaGF2ZSBnb29kIHRyZWF0bWVudHMsIGFuZCBtYW55IHBhdGllbnRzIGNhbiBsaXZlIGhlYWx0aHkgbGl2ZXMuIFRoZSBkaWFnbm9zaXMgcHV0cyBhIGh1Z2UgcHN5Y2hvbG9naWNhbCBzdHJhaW4gb24gdGhlIGZhbWlseSwgZXNwZWNpYWxseSB3aGVuIGRlYWxpbmcgd2l0aCB2ZXJ5IHlvdW5nIGNoaWxkcmVuLlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJUbyBnYWluIGEgZGVlcGVyIGluc2lnaHQgaW50byB0aGUgcGF0aCB0byBkaWFnbm9zaXMsIHdlIGludml0ZWQgcGVkaWF0cmljaWFuIERyLiBDcmlzdGlhbi1HYWJyaWVsIE9sYXJpdSBmcm9tIHRoZSBVbml2ZXJzaXR5IERlcGFydG1lbnQgb2YgUGVkaWF0cmljcyBhbmQgQWRvbGVzY2VudCBNZWRpY2luZSB0byBzaGFyZSBoaXMgZXhwZXJpZW5jZXMgd2l0aCBDRiBwYXRpZW50cyB3aXRoIHVzLiBXZSBpbnRlcnZpZXdlZCBoaW0gYmVjYXVzZSBvZiBoaXMgZXhwZXJ0aXNlIGluIHRoZSBlZmZlY3RzIG9mIGRpYWdub3NpcyBvbiB0aGUgcGF0aWVudCBhbmQgdGhlIGZhbWlseSBtZW1iZXJzLCBidXQgYWxzbyBvbiBkYWlseSBsaWZlLiBBZGRpdGlvbmFsbHksIHdlIHdhbnQgdG8gY2xvc2UgdGhlIGdhcCBhbmQgY3JlYXRlIGEgYnJpZGdlIGJldHdlZW4gYWNhZGVtaWMgcmVzZWFyY2ggYW5kIGNsaW5pY2FsIGFwcGxpY2F0aW9ucy4gVGhlcmVmb3JlLCBEci4gT2xhcml1IGdhdmUgdXMgaW5zaWdodHMgYWJvdXQgdGhlIGNsaW5pY2FsIHBlcnNwZWN0aXZlcyBvbiBDRiBwYXRpZW50cy5cIixcbiAgICBpbnNpZ2h0czogWzxwPldlIGludml0ZWQgTWF4LCBvdXIgQ0YgcGF0aWVudCBjb250YWN0LCB0byBqb2luIERyLiBPbGFyaXUgaW4gZGlzY3Vzc2luZyB0aGUgaW50ZXJzZWN0aW9uIG9mIGFjYWRlbWljIHJlc2VhcmNoLCBjbGluaWNhbCBhcHBsaWNhdGlvbiwgYW5kIHBhdGllbnQgbmVlZHMuIFRocm91Z2ggb3VyIGNvbm5lY3Rpb24gd2l0aCA8YSBocmVmPVwiaHR0cHM6Ly93d3cuY2Z2d3cub3JnXCIgPkNGIFZlc3RzIFdvcmxkd2lkZTwvYT4sIGFuIG9yZ2FuaXphdGlvbiBkZWRpY2F0ZWQgdG8gcHJvdmlkaW5nIGxpZmUtc2F2aW5nIHRoZXJhcHkgdmVzdHMgdG8gY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzIGdsb2JhbGx5LCB3ZSBnYWluZWQgaW5zaWdodHMgaW50byB0aGUgY2hhbGxlbmdlcyBmYWNlZCBieSBDRiBwYXRpZW50cywgcGFydGljdWxhcmx5IGluIHJlZ2lvbnMgbGlrZSBUaGFpbGFuZCwgd2hlcmUgYWNjZXNzIHRvIGFkdmFuY2VkIHRyZWF0bWVudHMgYW5kIG1lZGljYWwgZGV2aWNlcyBpcyBsaW1pdGVkLiBUaGUgY29udmVyc2F0aW9uIGhpZ2hsaWdodGVkIHRoZSBjcml0aWNhbCByb2xlIG9mIGVhcmx5IGRpYWdub3NpcyBhbmQgaW50ZXJ2ZW50aW9uLCBhcyB3ZWxsIGFzIHRoZSBxdWFsaXR5LW9mLWxpZmUgY2hhbGxlbmdlcyBtYW55IHBhdGllbnRzIGVuZHVyZSBkdWUgdG8gY29udmVudGlvbmFsIHRyZWF0bWVudHMgdGhhdCBtYXkgbm90IGJlIGVmZmVjdGl2ZSBmb3IgZXZlcnlvbmUuIElubm92YXRpdmUgYXBwcm9hY2hlcywgc3VjaCBhcyBvdXIgU09SVCBMTlAgKGxpcGlkIG5hbm9wYXJ0aWNsZSkgZGVsaXZlcnkgc3lzdGVtLCBwcmVzZW50IHByb21pc2luZyBhbHRlcm5hdGl2ZXMgZm9yIENGIHRoZXJhcHkuIFRoaXMgc3lzdGVtLCB3aGljaCBhbGxvd3MgZm9yIFJOQSBlbmNhcHN1bGF0aW9uIGFuZCBhZG1pbmlzdHJhdGlvbiB2aWEgZHJ5IHNwcmF5IGluaGFsYXRpb24sIGNvdWxkIHJldm9sdXRpb25pemUgdHJlYXRtZW50IGJ5IHRhcmdldGluZyBsdW5nIGNlbGxzIG1vcmUgZWZmZWN0aXZlbHksIHBhcnRpY3VsYXJseSBpbiByZXNvdXJjZS1saW1pdGVkIHNldHRpbmdzLiBEci4gT2xhcml1IHVuZGVyc2NvcmVkIHRoZSBuZWVkIGZvciBwc3ljaG9sb2dpY2FsIHN1cHBvcnQgYW5kIGNvb3JkaW5hdGVkIGNhcmUgZm9yIENGIHBhdGllbnRzLCBlbXBoYXNpemluZyB0aGF0IG5vdmVsIHRoZXJhcGllcyBsaWtlIExOUC1iYXNlZCBnZW5lIHRyZWF0bWVudHMgaGF2ZSB0aGUgcG90ZW50aWFsIHRvIGltcHJvdmUgdHJlYXRtZW50IGVmZmljYWN5IGFuZCBhY2Nlc3NpYmlsaXR5LCB1bHRpbWF0ZWx5IHJlZHVjaW5nIHRoZSBsaWZlbG9uZyBidXJkZW4gb2YgY2FyZSBmb3IgcGF0aWVudHMgYW5kIHRoZWlyIGZhbWlsaWVzLiA8L3A+LFxuICAgICxcbiAgICA8cD5XZSBoYXZlIGNvbnNpZGVyZWQgdGhlIGV4dGVudCB0byB3aGljaCBhbiBlYXJseSBkaWFnbm9zaXMgaXMgYWx3YXlzIGFuIGFkdmFudGFnZSwgYXMgc29tZSBwYXJlbnRzIHBlcmNlaXZlIGFuIGVhcmx5IGRpYWdub3NpcyBhcyBhbiBhZGRpdGlvbmFsIGJ1cmRlbiBhbmQgd291bGQgcHJlZmVyIHRvIGV4cGVyaWVuY2UgdGhlIGZpcnN0IHllYXJzIG9mIHRoZWlyIGNoaWxkJ3MgbGlmZSB3aXRob3V0IGNvbnN0YW50IG1lZGljYWwgaW50ZXJ2ZW50aW9uLiBFc3BlY2lhbGx5IHdoZW4gdGhlcmUgYXJlIGNhc2VzIGluIHdoaWNoIHBhdGllbnRzIG9ubHkgc2hvdyBhIGNsZWFyIGNsaW5pY2FsIHBpY3R1cmUgYXQgYW4gYWR2YW5jZWQgYWdlLiBUaGUgcHN5Y2hvbG9naWNhbCBidXJkZW4gYWxzbyBsaWVzIHdpdGggdGhlIGNoaWxkcmVuLCB3aG8gb2Z0ZW4gZXhwZXJpZW5jZSBtZWRpY2FsIHRyYXVtYSBiZWNhdXNlIHRoZXkgYXJlIGludm9sdmVkIGluIHN1Y2ggaW50ZW5zaXZlIG1lZGljYWwgY2FyZSBmcm9tIGJpcnRoLiBBZGRpdGlvbmFsbHksIHRoZSB0cmVhdG1lbnQgb2YgY3lzdGljIGZpYnJvc2lzIGlzIHZlcnkgZXhwZW5zaXZlLCBhbmQgdGhlIGNvc3RzIGFyZSBjb3ZlcmVkIGJ5IGhlYWx0aCBpbnN1cmFuY2UgY29tcGFuaWVzIHRvIHZhcnlpbmcgZGVncmVlcy4gSW4gc29tZSBjb3VudHJpZXMsIHN1Y2ggYXMgdGhlIFVTQSwgVWtyYWluZSBvciBEZXZlbG9waW5nIGNvdW50cmllcywgbWFueSBmYW1pbGllcyBjYW5ub3QgYWZmb3JkIHRoZSBuZWNlc3NhcnkgdHJlYXRtZW50cy4gQnV0IERyLiBPbGFyaXUgYWxzbyBkcmV3IG91ciBhdHRlbnRpb24gdG8gYW5vdGhlciBwcm9ibGVtIGluIHRoZSB0cmVhdG1lbnQgb2YgY3lzdGljIGZpYnJvc2lzLiBJbmZlY3Rpb25zLCBlc3BlY2lhbGx5IHdpdGggYmFjdGVyaWEgc3VjaCBhcyBQc2V1ZG9tb25hcyBzcGNjLiwgYXJlIGRpZmZpY3VsdCB0byB0cmVhdCBhbmQgb2Z0ZW4gbGVhZCB0byBsb25nIGhvc3BpdGFsIHN0YXlzLiBNYXgsIG91ciBwYXRpZW50c1x1MjAxOSByZXByZXNlbnRhdGl2ZSwgd2hvIGtub3dzIERyLiBPbGFyaXUgdGhyb3VnaCBoaXMgdHJlYXRtZW50LCBzaGFyZWQgIGhpcyBleHBlcmllbmNlIHdpdGggUHNldWRvbW9uYXMgc3BjYyBpbmZlY3Rpb25zLCBpbGx1c3RyYXRpbmcgdGhlIHJlYWxpdHkgb2YgYW4gaW52aXNpYmxlIGRhbmdlciB0aGF0IGRldGVybWluZXMgYSBwYXRpZW50J3MgZXZlcnlkYXkgbGlmZS4gU3RyaWN0IGh5Z2llbmUgbWVhc3VyZXMgYXJlIHJlcXVpcmVkIHRvIHByZXZlbnQgaW5mZWN0aW9ucywgc3VjaCBhcyB3ZWFyaW5nIGZhY2UgbWFza3MgaW4gaG9zcGl0YWwgYW5kIGNhcmVmdWwgaGFuZGxpbmcgb2YgcG90ZW50aWFsIHNvdXJjZXMgb2YgaW5mZWN0aW9uLiBUaGUgY2xpbmljcyB3aGVyZSBjeXN0aWMgZmlicm9zaXMgcGF0aWVudHMgYXJlIHRyZWF0ZWQgd29yayBjbG9zZWx5IHdpdGggYSBtdWx0aWRpc2NpcGxpbmFyeSB0ZWFtIG9mIGRvY3RvcnMsIHBzeWNob2xvZ2lzdHMsIHBoeXNpb3RoZXJhcGlzdHMgYW5kIG51dHJpdGlvbmlzdHMgdG8gZW5zdXJlIHRoYXQgcGF0aWVudHMgcmVjZWl2ZSBob2xpc3RpYyBjYXJlLiA8L3A+LFxuICAgIDxwPlByb3Mgb2YgRWFybHkgRGlhZ25vc2lzIGFuZCBUcmVhdG1lbnQ8L3A+LFxuICAgIDxvbD5cbiAgICAgIDxsaT5UaW1lbHkgSW50ZXJ2ZW50aW9uOiBQcmV2ZW50cyBzZXZlcmUgb3JnYW4gZGFtYWdlIGFuZCBpbXByb3ZlcyBsb25nLXRlcm0gb3V0Y29tZXMuPC9saT5cbiAgICAgIDxsaT5Ib2xpc3RpYyBDYXJlOiBJbnZvbHZlcyBhIG11bHRpZGlzY2lwbGluYXJ5IHRlYW0gZm9yIGNvbXByZWhlbnNpdmUgcGF0aWVudCBzdXBwb3J0LjwvbGk+XG4gICAgICA8bGk+QWNjZXNzIHRvIElubm92YXRpb25zOiBBbGxvd3MgcGF0aWVudHMgdG8gYmVuZWZpdCBmcm9tIGFkdmFuY2VtZW50cyBsaWtlIG5hbm9wYXJ0aWNsZSBkcnVnIGRlbGl2ZXJ5LjwvbGk+XG4gICAgICA8bGk+RmFtaWx5IFN1cHBvcnQ6IFByb3ZpZGVzIGVkdWNhdGlvbiBhbmQgcmVzb3VyY2VzIGZvciBlZmZlY3RpdmUgbWFuYWdlbWVudCBmcm9tIHRoZSBzdGFydC48L2xpPlxuICAgIDwvb2w+LFxuXG4gICAgPHA+Q29ucyBvZiBFYXJseSBEaWFnbm9zaXMgYW5kIFRyZWF0bWVudDwvcD4sXG4gICAgPG9sPlxuICAgICAgPGxpPlBzeWNob2xvZ2ljYWwgQnVyZGVuOiBNYXkgY2F1c2Ugc3RyZXNzIGZvciBwYXJlbnRzIGFuZCBjaGlsZHJlbiBkdWUgdG8gY29uc3RhbnQgbWVkaWNhbCBpbnRlcnZlbnRpb25zLjwvbGk+XG4gICAgICA8bGk+Q29zdCBJbXBsaWNhdGlvbnM6IFRyZWF0bWVudHMgY2FuIGJlIGV4cGVuc2l2ZSwgd2l0aCB2YXJ5aW5nIGluc3VyYW5jZSBjb3ZlcmFnZSwgbGVhdmluZyBtYW55IGZhbWlsaWVzIHVuYWJsZSB0byBhZmZvcmQgY2FyZS48L2xpPlxuICAgICAgPGxpPkluZmVjdGlvbiBSaXNrczogUGF0aWVudHMgc3RpbGwgZmFjZSByaXNrcyBmcm9tIGluZmVjdGlvbnMgbGlrZSBQc2V1ZG9tb25hcyBzcHAuLCBsZWFkaW5nIHRvIHBvdGVudGlhbCBob3NwaXRhbGl6YXRpb25zLjwvbGk+XG4gICAgICA8bGk+T3Zlci1tZWRpY2FsaXphdGlvbjogQ29udGludW91cyBmb2N1cyBvbiB0cmVhdG1lbnQgY2FuIG92ZXJ3aGVsbSBmYW1pbGllcywgYWZmZWN0aW5nIHRoZSBxdWFsaXR5IG9mIGVhcmx5IGNoaWxkaG9vZCBleHBlcmllbmNlcy48L2xpPlxuICAgIDwvb2w+LFxuICAgIF0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5JbiBzdW1tYXJ5LCBvdXIgcHJvamVjdCBncmVhdGx5IGJlbmVmaXRlZCBmcm9tIHRoZSBjb252ZXJzYXRpb24gd2l0aCBEci4gT2xhcml1LiBIaXMgaW5zaWdodHMgaW50byB0aGUgY29tcGxleGl0aWVzIG9mIGN5c3RpYyBmaWJyb3NpcyB0cmVhdG1lbnQsIHBhcnRpY3VsYXJseSB0aGUgc2lnbmlmaWNhbmNlIG9mIGVhcmx5IGRpYWdub3Npcywgd2VyZSBpbnZhbHVhYmxlIGFuZCB3ZSBjb25zaWRlcmVkIGVhcmx5IHRyZWF0bWVudCBtZXRob2RzLiBNYXhcdTIwMTlzIHBlcnNvbmFsIGV4cGVyaWVuY2VzIGFkZGVkIGEgaHVtYW4gcGVyc3BlY3RpdmUsIGlsbHVzdHJhdGluZyB0aGUgbWVkaWNhbCBhbmQgcHN5Y2hvbG9naWNhbCBjaGFsbGVuZ2VzIGhlIGZhY2VzLCBpbmNsdWRpbmcgaW5mZWN0aW9ucyB3aXRoIDxpPlBzZXVkb21vbmFzIHNwcC48L2k+IERyLiBPbGFyaXUgaGlnaGxpZ2h0ZW5kIHRoZSBpbXBvcnRhbmNlIG9mIGEgbXVsdGlkaXNjaXBsaW5hcnkgYXBwcm9hY2gsIGludm9sdmluZyBub3QganVzdCBtZWRpY2FsIHByb2Zlc3Npb25hbHMgYnV0IGFsc28gcHN5Y2hvbG9naXN0cywgcGh5c2lvdGhlcmFwaXN0cywgYW5kIG51dHJpdGlvbmlzdHMgZm9yIGhvbGlzdGljIGNhcmUuIFRoaXMgZGlzY3Vzc2lvbiBoZWxwZWQgdXMgYXBwcmVjaWF0ZSB0aGUgYmFsYW5jZSBiZXR3ZWVuIHRpbWVseSBpbnRlcnZlbnRpb25zIGFuZCB0aGUgZW1vdGlvbmFsIGJ1cmRlbiBvbiBwYXRpZW50cyBhbmQgdGhlaXIgZmFtaWxpZXMsIGd1aWRpbmcgdXMgdG8gZGV2ZWxvcCBhIG1vcmUgZW1wYXRoZXRpYyB1bmRlcnN0YW5kaW5nIG9mIGxpdmluZyB3aXRoIGN5c3RpYyBmaWJyb3Npcy48L3A+XSxcbiAgICBpbnRlcnZpZXc6IDw+XG4gICAgICA8UWFCb3ggcT1cIkNvdWxkIHlvdSBwbGVhc2UgdGVsbCB1cyBhYm91dCB0aGUgam91cm5leSB0aGF0IHBhcmVudHMgZ28gdGhyb3VnaCB3aXRoIHRoZWlyIENGLXNpY2sgY2hpbGRyZW4gZnJvbSB0aGUgZmlyc3QgdmlzaXQgdG8gZGlhZ25vc2lzIGFuZCB0cmVhdG1lbnQ/XCIgYT1cIlNpbmNlIDIwMTYsIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGRpYWdub3NpcyBoYXMgYmVlbiBwYXJ0IG9mIG5ld2Jvcm4gc2NyZWVuaW5nLiBUaGlzIG1lYW5zIHRoYXQgd2UgcmVjZWl2ZSBtYW55IGNoaWxkcmVuIHJpZ2h0IGFmdGVyIGJpcnRoIHdob3NlIHNjcmVlbmluZyByZXN1bHRzIHdlcmUgYWJub3JtYWwuIFRoZXNlIGNoaWxkcmVuIGFyZSB0aGVuIHNlbnQgdG8gdXMgZm9yIGZ1cnRoZXIgY2xhcmlmaWNhdGlvbi4gTm90IGV2ZXJ5IGNoaWxkIHdpdGggYW4gYWJub3JtYWwgc2NyZWVuaW5nIHJlc3VsdCBpcyBzaWNrLCBzbyB3ZSBwZXJmb3JtIGEgc3dlYXQgdGVzdCwgYW5kIGFib3V0IG9uZS10aGlyZCBvZiB0aGUgY2hpbGRyZW4gYXJlIGRpYWdub3NlZCB3aXRoIHRoZSBkaXNlYXNlLiBUaGUgYWR2YW50YWdlIG9mIGVhcmx5IGRpYWdub3NpcyBpcyB0aGF0IHdlIGNhbiBpbnRlcnZlbmUgYW5kIHN0YXJ0IHRyZWF0bWVudCBlYXJseSB0byBwcmV2ZW50IG9yZ2FuIGRhbWFnZS4gSG93ZXZlciwgdGhlcmUgYXJlIGFsc28gcmFyZSBtdXRhdGlvbnMgd2hlcmUgdGhlIGNvdXJzZSBvZiB0aGUgZGlzZWFzZSBpcyBkaWZmaWN1bHQgdG8gcHJlZGljdC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IGFyZSB0aGUgcHJvcyBhbmQgY29ucyBvZiBuZXdib3JuIHNjcmVlbmluZyBmb3IgY3lzdGljIGZpYnJvc2lzP1wiIGE9XCJGcm9tIGEgbWVkaWNhbCBwb2ludCBvZiB2aWV3LCBpdFx1MjAxOXMgYmVuZWZpY2lhbCB0aGF0IHdlIGNhbiBjYXRjaCBtYW55IG9mIHRoZXNlIGNhc2VzIGVhcmx5LCBhbGxvd2luZyB1cyB0byBhY3Qgc3dpZnRseS4gVGhlcmUgYXJlIGV2ZW4gbWVkaWNhdGlvbnMgZm9yIHNtYWxsIGJhYmllcywgYW5kIGVhcmx5IGludGVydmVudGlvbiBjYW4gcHJvdGVjdCBvcmdhbnMsIHByZXZlbnRpbmcgY29uZGl0aW9ucyB0aGF0IHdvdWxkIHJlcXVpcmUgdHJhbnNwbGFudHMgbGF0ZXIgb24uIE9uIHRoZSBkb3duc2lkZSwgYmVjYXVzZSBvZiB0aGUgd2lkZSB2YXJpZXR5IG9mIGdlbmV0aWMgbXV0YXRpb25zLCBzb21lIGNhc2VzIHdlIGlkZW50aWZ5IG1heSBub3Qgc2hvdyBzaWduaWZpY2FudCBzeW1wdG9tcyB1bnRpbCBhZHVsdGhvb2QuIFRoaXMgY3JlYXRlcyBhIGRpbGVtbWEsIGFzIHdlIGNhblx1MjAxOXQgcHJlZGljdCBob3cgdGhlaXIgY29uZGl0aW9uIHdpbGwgcHJvZ3Jlc3MsIGJ1dCB3ZSBzdGlsbCBzdGFydCB0cmVhdG1lbnRzIGVhcmx5LCB3aGljaCBjYW4gYmUgc3RyZXNzZnVsIGZvciBmYW1pbGllcy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJDYW4geW91IGdpdmUgdXMgYW4gZXhhbXBsZSBvZiBob3cgdGhpcyBzdHJlc3MgaW1wYWN0cyBmYW1pbGllcz9cIiBhPVwiWWVzLCBJXHUyMDE5dmUgYmVlbiBjYXJpbmcgZm9yIGEgcGF0aWVudCBmcm9tIGJpcnRoIHdobyBpcyBub3cgZml2ZSB5ZWFycyBvbGQgYW5kIGRvaW5nIHZlcnkgd2VsbC4gSG93ZXZlciwgZnJvbSB0aGUgYmVnaW5uaW5nLCBzaGUgaGFkIHRvIHVuZGVyZ28gcGh5c2lvdGhlcmFweSwgcmVndWxhciBjaGVjay11cHMsIGFuZCBibG9vZCB0ZXN0cywgZXZlbiB0aG91Z2ggc2hlIGhhc25cdTIwMTl0IHNob3duIGFueSBtYWpvciBzeW1wdG9tcy4gSGVyIG1vdGhlciBvbmNlIHRvbGQgbWUgc2hlIHdhc24ndCBzdXJlIGlmIHNoZSB3b3VsZCBtYWtlIHRoZSBzYW1lIGRlY2lzaW9uIGFnYWluLCBhcyB0aGUgZWFybHkgaW50ZXJ2ZW50aW9uIGNhdXNlZCBhIGxvdCBvZiBzdHJlc3MuIFNoZSB3b25kZXJlZCBpZiBzaGUgbWlnaHQgaGF2ZSBlbmpveWVkIHRoZSBmaXJzdCB5ZWFyIG9mIGhlciBjaGlsZFx1MjAxOXMgbGlmZSBtb3JlIGlmIHRoaW5ncyBoYWQgYmVlbiBtb3JlIHJlbGF4ZWQuIE5vdywgYXQgYWdlIGZpdmUsIG5vdGhpbmcgc2lnbmlmaWNhbnQgaGFzIGNoYW5nZWQgaW4gaGVyIGNvbmRpdGlvbiwgYW5kIHRoZXlcdTIwMTl2ZSBkZWNpZGVkIGFnYWluc3Qgc3RhcnRpbmcgbW9kdWxhdG9yIHRoZXJhcHkgZm9yIHRoZSB0aW1lIGJlaW5nLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBkbyBmYW1pbGllcyB0eXBpY2FsbHkgcmVhY3Qgd2hlbiBhIENGIGRpYWdub3NpcyBpcyBjb25maXJtZWQ/XCIgYT1cIkZvciBtb3N0IGZhbWlsaWVzLCBpdFx1MjAxOXMgYSBzaG9jay4gQ3lzdGljIGZpYnJvc2lzIHN0aWxsIGhhcyBhIHN0cm9uZyBhc3NvY2lhdGlvbiB3aXRoIGJlaW5nIGEgbGlmZS10aHJlYXRlbmluZyBkaXNlYXNlLCBkZXNwaXRlIHRoZSBmYWN0IHRoYXQgd2Ugbm93IGhhdmUgZ29vZCB0cmVhdG1lbnRzIGFuZCBtYW55IHBhdGllbnRzIGNhbiBsaXZlIGhlYWx0aHkgbGl2ZXMuIFRoZSBkaWFnbm9zaXMgcHV0cyBhIGh1Z2UgcHN5Y2hvbG9naWNhbCBzdHJhaW4gb24gdGhlIGZhbWlseSwgZXNwZWNpYWxseSB3aGVuIGRlYWxpbmcgd2l0aCB2ZXJ5IHlvdW5nIGNoaWxkcmVuLiBUaGUgbW9zdCBpbXBvcnRhbnQgZmFjdG9yIGluIG1hbmFnaW5nIHRoaXMsIGFzaWRlIGZyb20gbWVkaWNhbCB0cmVhdG1lbnRzLCBpcyB0aGUgc3VwcG9ydCBmcm9tIHRoZSBtZWRpY2FsIHRlYW0uIEl0XHUyMDE5cyBjcml0aWNhbCB0byBoYXZlIGEgdGVhbSB0aGF0IHdvcmtzIHdlbGwgdG9nZXRoZXIsIG5vdCBqdXN0IGEgc2luZ2xlIGRvY3RvciBjYWxsaW5nIGFsbCB0aGUgc2hvdHMuIEZhbWlsaWVzIG9mdGVuIG5lZWQgbXVjaCBtb3JlIHBzeWNob2xvZ2ljYWwgYW5kIG51dHJpdGlvbmFsIHN1cHBvcnQgZWFybHkgb24gdGhhbiBtZWRpY2FsIGludGVydmVudGlvbiwgYW5kIHRoaXMgaXMgd2hlcmUgaGF2aW5nIGEgbXVsdGlkaXNjaXBsaW5hcnkgdGVhbSBiZWNvbWVzIGVzc2VudGlhbC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IGlzIHRoZSBwcm9jZXNzIGZvciBkaWFnbm9zaW5nIGFuZCB0cmVhdGluZyBvbGRlciBwYXRpZW50cyB3aG8gaGF2ZW5cdTIwMTl0IGJlZW4gdGhyb3VnaCBuZXdib3JuIHNjcmVlbmluZz9cIiBhPVwiT2xkZXIgcGF0aWVudHMgd2hvIGNvbWUgdG8gdXMgd2l0aCBjb21wbGFpbnRzIG1heSBub3QgaGF2ZSB1bmRlcmdvbmUgbmV3Ym9ybiBzY3JlZW5pbmcsIHNvIHRoZXkgYXJlIGRpYWdub3NlZCBiYXNlZCBvbiB0aGVpciBzeW1wdG9tcy4gVGhlc2UgY29tcGxhaW50cyBjYW4gcmFuZ2UgZnJvbSBtaWxkIHRvIHNldmVyZSBhbmQgYXJlIG9mdGVuIG5vbi1zcGVjaWZpYywgbGlrZSBjaHJvbmljIGNvdWdoIG9yIGZhaWx1cmUgdG8gdGhyaXZlLiBXaGVuIHRoZSBjYXVzZSBvZiB0aGVzZSBzeW1wdG9tcyBpc25cdTIwMTl0IGltbWVkaWF0ZWx5IGNsZWFyLCB3ZSBkbyBhIHN3ZWF0IHRlc3QuIE9uY2UgZGlhZ25vc2VkLCB3ZSBjYW4gc3RhcnQgdHJlYXRtZW50LCB3aGljaCBvZnRlbiBpbnZvbHZlcyB3b3JraW5nIHdpdGggYSBwc3ljaG9sb2dpc3QgdG8gaGVscCB0aGUgZmFtaWx5IHByb2Nlc3MgdGhlIG5ld3MuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSG93IGRvIHlvdSBzdXBwb3J0IGZhbWlsaWVzIGR1cmluZyB0aGUgaW5pdGlhbCBzaG9jayBvZiBkaWFnbm9zaXM/XCIgYT1cIldoZW4gdGhlIGRpYWdub3NpcyBpcyBwYXJ0aWN1bGFybHkgZGlmZmljdWx0IGZvciBmYW1pbGllcyB0byBwcm9jZXNzLCB3ZSBzb21ldGltZXMgaGF2ZSB0aGUgcGF0aWVudHMgc3RheSBpbiB0aGUgaG9zcGl0YWwgZm9yIHVwIHRvIGEgd2Vlay4gVGhpcyBnaXZlcyB1cyB0aW1lIHRvIG1lZXQgd2l0aCB0aGVtIGRhaWx5LCBhbnN3ZXIgcXVlc3Rpb25zLCBhbmQgcHJvdmlkZSBndWlkYW5jZS4gRHVyaW5nIHRoZSBmaXJzdCBjb25zdWx0YXRpb24sIGZhbWlsaWVzIG9mdGVuIGZhbGwgaW50byBhIHN0YXRlIG9mIHNob2NrLCBhbmQgbm8gbWF0dGVyIGhvdyBjYXJlZnVsbHkgdGhlIGRvY3RvciBleHBsYWlucyB0aGluZ3MsIGl0XHUyMDE5cyBoYXJkIGZvciB0aGVtIHRvIGFic29yYiBhbGwgdGhlIGluZm9ybWF0aW9uLiBNZWV0aW5nIHdpdGggdGhlbSBhZ2FpbiBvdmVyIHRoZSBmb2xsb3dpbmcgZGF5cyBoZWxwcywgYW5kIHdlIGhhdmUgc3BlY2lhbGlzdHMgaW4gaHlnaWVuZSwgcGh5c2lvdGhlcmFweSwgYW5kIHNvY2lhbCBjb3Vuc2VsaW5nIG9uIHRoZSB0ZWFtIHRvIG9mZmVyIGhvbGlzdGljIHN1cHBvcnQuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBoYXBwZW5zIGlmIGEgY2hpbGQgZ2V0cyBpbmZlY3RlZCB3aXRoIFBzZXVkb21vbmFzIG9yIGFub3RoZXIgYmFjdGVyaWFsIGN1bHR1cmUgaW4gdGhlIGx1bmdzP1wiIGE9XCJQc2V1ZG9tb25hcyBpcyBvbmUgb2YgdGhlIG1vc3QgZmVhcmVkIGluZmVjdGlvbnMgZm9yIENGIHBhdGllbnRzLiBJdFx1MjAxOXMgYSBjb21tb24gZW52aXJvbm1lbnRhbCBiYWN0ZXJpdW0gdGhhdCBpcyBkaWZmaWN1bHQgZm9yIENGIHBhdGllbnRzIHRvIGNsZWFyIGZyb20gdGhlaXIgbHVuZ3MuIE9uY2Ugd2UgZGV0ZWN0IGl0LCB3ZSB0cmVhdCB0aGUgcGF0aWVudCB3aXRoIHNwZWNpZmljIGFudGliaW90aWNzLCBvZnRlbiB0aHJvdWdoIGludHJhdmVub3VzIGRlbGl2ZXJ5IG92ZXIgdHdvIHdlZWtzIGluIHRoZSBob3NwaXRhbC4gQWZ0ZXIgdGhlIGluaXRpYWwgdHJlYXRtZW50LCBwYXRpZW50cyBtYXkgY29udGludWUgd2l0aCBpbmhhbGVkIGFudGliaW90aWNzIGZvciBzZXZlcmFsIG1vbnRocyB0byBwcmV2ZW50IGZ1cnRoZXIgaW5mZWN0aW9uLiBJdFx1MjAxOXMgYSB2ZXJ5IGludGVuc2l2ZSBwcm9jZXNzLCB0YWtpbmcgYSBsb3Qgb2YgdGltZSBhbmQgZW5lcmd5LCBhbmQgZXZlbiB0aG91Z2ggd2UgbWF5IGdldCByaWQgb2YgdGhlIGluZmVjdGlvbiBhIGZldyB0aW1lcywgZXZlbnR1YWxseSB0aGUgZ2VybSBjYW4gYmVjb21lIHJlc2lzdGFudCBhbmQgc3RheSBpbiB0aGUgYm9keS5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJBcmUgdGhlcmUgYW55IHByZXZlbnRhdGl2ZSBtZWFzdXJlcyB0byBhdm9pZCBQc2V1ZG9tb25hcyBpbmZlY3Rpb24/XCIgYT1cIlllcywgdGhlcmUgYXJlIGh5Z2llbmUgbWVhc3VyZXMuIEZvciBleGFtcGxlLCBDRiBwYXRpZW50cyBhbHdheXMgd2VhciBtYXNrcyBpbiB0aGUgaG9zcGl0YWwgdG8gYXZvaWQgaW5mZWN0aW9uIGZyb20gb3RoZXIgcGF0aWVudHMuIEJ1dCBpdFx1MjAxOXMgZGlmZmljdWx0IHRvIGF2b2lkIFBzZXVkb21vbmFzIGVudGlyZWx5IHNpbmNlIGl0XHUyMDE5cyBmb3VuZCBpbiBzdGFnbmFudCB3YXRlciBhbmQgb3RoZXIgcGxhY2VzIGluIHRoZSBlbnZpcm9ubWVudC4gV2UgYWR2aXNlIHBhdGllbnRzIHRvIGJlIGNhdXRpb3VzIHdpdGggd2F0ZXIgc291cmNlcyBsaWtlIHNpbmtzIG9yIHBvbmRzLiBIb3dldmVyLCB3ZSBuZWVkIHRvIGJhbGFuY2Ugc3RyaWN0IGh5Z2llbmUgd2l0aCBxdWFsaXR5IG9mIGxpZmUsIGVzcGVjaWFsbHkgZm9yIGNoaWxkcmVuLCBhcyBiZWluZyBvdmVybHkgc3RyaWN0IGNhbiBsZWFkIHRvIG9ic2Vzc2l2ZS1jb21wdWxzaXZlIGJlaGF2aW9ycyB3aXRob3V0IG5lY2Vzc2FyaWx5IHJlZHVjaW5nIHRoZSByaXNrIG9mIGluZmVjdGlvbi5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJEbyBzb21lIGZhbWlsaWVzIHJlc2lzdCB0aGUgbWVkaWNhbCBhZHZpY2Ugb24gcHJldmVudGluZyBpbmZlY3Rpb25zP1wiIGE9XCJPbiBhbiBlbW90aW9uYWwgbGV2ZWwsIEkgZmVlbCB0aGF0IGZhbWlsaWVzIHdobyB0YWtlIGNhbGN1bGF0ZWQgcmlza3MgdG8gaW1wcm92ZSB0aGVpciBxdWFsaXR5IG9mIGxpZmUgdGVuZCB0byBjb3BlIGJldHRlci4gT3ZlcnByb3RlY3Rpb24gY2FuIGxlYWQgdG8gZ3JlYXRlciBwc3ljaG9sb2dpY2FsIHN0cmVzcy4gSG93ZXZlciwgSSBkb24ndCBoYXZlIGVub3VnaCBleHBlcmllbmNlIHRvIHNheSBmb3Igc3VyZSB3aGV0aGVyIHRob3NlIHdobyBkb25cdTIwMTl0IHByb3RlY3QgdGhlbXNlbHZlcyBhcyBzdHJpY3RseSBnZXQgaW5mZWN0ZWQgZWFybGllciBvciBzdWZmZXIgd29yc2Ugb3V0Y29tZXMuIEl0XHUyMDE5cyBhbHNvIHdvcnRoIG5vdGluZyB0aGF0IG5ldyB0aGVyYXBpZXMgYXJlIG5vdyBhdmFpbGFibGUgdGhhdCBoZWxwIHJlZHVjZSBpbmZlY3Rpb24gcmlza3MsIGFsbG93aW5nIGZvciBhIGJpdCBtb3JlIGZyZWVkb20sIGVzcGVjaWFsbHkgZm9yIGNoaWxkcmVuLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBvZnRlbiBkbyBwYXRpZW50cyBuZWVkIHRvIGJlIHRlc3RlZCBmb3IgaW5mZWN0aW9ucyBsaWtlIFBzZXVkb21vbmFzP1wiIGE9XCJUaGUgb2ZmaWNpYWwgZ3VpZGVsaW5lIGlzIGV2ZXJ5IHR3byBtb250aHMsIGJ1dCByZWFsaXN0aWNhbGx5IHdlIGFpbSBmb3IgZXZlcnkgMy00IG1vbnRocy4gUmVndWxhciB0ZXN0aW5nIGlzIGltcG9ydGFudCBiZWNhdXNlIFBzZXVkb21vbmFzIGNhbiBiZSBwcmVzZW50IHdpdGhvdXQgc3ltcHRvbXMuIElmIHRvbyBtdWNoIHRpbWUgcGFzc2VzIGJlZm9yZSBkZXRlY3Rpb24sIGl0IGJlY29tZXMgaGFyZGVyIHRvIHJlbW92ZSB0aGUgaW5mZWN0aW9uLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBkbyB5b3UgbWFuYWdlIGNocm9uaWNhbGx5IGluZmVjdGVkIHBhdGllbnRzP1wiIGE9XCJQYXRpZW50cyB3aG8gYXJlIGNocm9uaWNhbGx5IGluZmVjdGVkIHdpdGggUHNldWRvbW9uYXMgZG9uJ3Qgc3RheSBpbiB0aGUgaG9zcGl0YWwgaW5kZWZpbml0ZWx5LiBUaGV5IHVzdWFsbHkgcmVtYWluIGF0IGhvbWUsIGluaGFsaW5nIGFudGliaW90aWNzIGRhaWx5IGFuZCB0YWtpbmcgcGh5c2lvdGhlcmFweSB0byBoZWxwIGNsZWFyIG11Y3VzIGZyb20gdGhlaXIgbHVuZ3MuIEludHJhdmVub3VzIGFudGliaW90aWMgdGhlcmFweSBpcyByZXNlcnZlZCBmb3IgbW9yZSBzZXZlcmUgY2FzZXMgb3IgZHVyaW5nIGNsaW5pY2FsIGRldGVyaW9yYXRpb24uXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiQXJlIGNocm9uaWNhbGx5IGluZmVjdGVkIHBhdGllbnRzIGFsbG93ZWQgdG8gdmlzaXQgeW91ciBwcmFjdGljZT9cIiBhPVwiWWVzLCBjaHJvbmljYWxseSBpbmZlY3RlZCBwYXRpZW50cyBhcmUgYWxsb3dlZCB0byB2aXNpdCB0aGUgcHJhY3RpY2UuIFdlIHRyeSB0byBzY2hlZHVsZSB0aGVtIGF0IGRpZmZlcmVudCB0aW1lcyB0byBhdm9pZCBjb250YWN0IGJldHdlZW4gaW5mZWN0ZWQgYW5kIG5vbi1pbmZlY3RlZCBwYXRpZW50cywgYW5kIHdlIG9mdGVuIHVzZSBzZXBhcmF0ZSByb29tcyB0byBtaW5pbWl6ZSByaXNrLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBvZnRlbiBkbyBjaGlsZHJlbiBhbmQgYWR1bHRzIG5lZWQgdG8gaGF2ZSBsdW5nIGZ1bmN0aW9uIHRlc3RzP1wiIGE9XCJZb3UgY2FuXHUyMDE5dCBjb25kdWN0IGEgZ29vZCBsdW5nIGZ1bmN0aW9uIHRlc3QgdW50aWwgdGhlIGNoaWxkIGlzIGFyb3VuZCBmaXZlIHllYXJzIG9sZC4gQWZ0ZXIgdGhhdCwgaXQgYmVjb21lcyBwYXJ0IG9mIHRoZSByb3V0aW5lIGNoZWNrLXVwIGJlY2F1c2UgaXRcdTIwMTlzIG5vbi1pbnZhc2l2ZSBhbmQgcHJvdmlkZXMgYSBnb29kIGluZGljYXRvciBvZiBsdW5nIGhlYWx0aC4gV2Ugc2VlIGNoaWxkcmVuIGV2ZXJ5IHRocmVlIG1vbnRocywgYW5kIEkgYmVsaWV2ZSB0aGUgcHJvdG9jb2wgaXMgdGhlIHNhbWUgZm9yIGFkdWx0cy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IGRvIHlvdSB0aGluayBhYm91dCBzdXBwb3J0IGdyb3VwcyBvciBoZWFsdGggcmV0cmVhdHMgZm9yIENGIHBhdGllbnRzP1wiIGE9XCJTdXBwb3J0IGdyb3VwcyBhcmUgZXh0cmVtZWx5IGltcG9ydGFudC4gQWx0aG91Z2ggd2UgYXJlIGEgZ29vZCBtZWRpY2FsIHRlYW0sIGFkdmljZSBmcm9tIHBlZXJzIG9mdGVuIHJlc29uYXRlcyBtb3JlIHdpdGggcGF0aWVudHMuIFdlXHUyMDE5dmUgb3JnYW5pemVkIHR3byBwYXJlbnRzJyBldmVuaW5ncyByZWNlbnRseSwgd2hlcmUgcGFyZW50cyBjYW4gZXhjaGFuZ2UgZXhwZXJpZW5jZXMgYW5kIHN1cHBvcnQgZWFjaCBvdGhlci4gVW5mb3J0dW5hdGVseSwgd2UgY2FuXHUyMDE5dCBpbnZpdGUgdGhlIGNoaWxkcmVuIHRoZW1zZWx2ZXMgZHVlIHRvIHRoZSByaXNrIG9mIGluZmVjdGlvbiwgYnV0IGluIHJlaGFiaWxpdGF0aW9uIHNldHRpbmdzLCB0aGV5IGNhbiBtZWV0IGluIGdlcm0tc3BlY2lmaWMgZ3JvdXBzIGFuZCBiZW5lZml0IGZyb20gc2hhcmVkIGV4cGVyaWVuY2VzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIklzIHRoZXJlIGEgcmlzayBvZiBhbnRpYmlvdGljIHJlc2lzdGFuY2Ugd2l0aCByZXBlYXRlZCB0cmVhdG1lbnRzP1wiIGE9XCJZZXMsIHJlc2lzdGFuY2UgaXMgYSBjb25jZXJuLCBlc3BlY2lhbGx5IHdpdGggcmVwZWF0ZWQgYW50aWJpb3RpYyB0cmVhdG1lbnRzLiBIb3dldmVyLCB0aGVyZVx1MjAxOXMgb2Z0ZW4gYSBkaXNjcmVwYW5jeSBiZXR3ZWVuIHdoYXQgd2Ugc2VlIGluIGxhYiB0ZXN0cyBhbmQgdGhlIGNsaW5pY2FsIG91dGNvbWVzLiBFdmVuIGlmIGEgZ2VybSBzaG93cyByZXNpc3RhbmNlIG9uIHBhcGVyLCBtYW55IHBhdGllbnRzIHN0aWxsIHJlc3BvbmQgd2VsbCB0byB0cmVhdG1lbnQuIFdlIGJhc2Ugb3VyIGRlY2lzaW9ucyBtb3JlIG9uIGNsaW5pY2FsIG91dGNvbWVzIHRoYW4gbGFiIHJlc3VsdHMsIGNoYW5naW5nIGFudGliaW90aWNzIG9ubHkgaWYgdGhlIHBhdGllbnRcdTIwMTlzIGNvbmRpdGlvbiBkb2Vzblx1MjAxOXQgaW1wcm92ZS5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJBcmUgdGhlcmUgYW55IHNpZGUgZWZmZWN0cyB0byB0aGUgbWVkaWNhdGlvbnM/XCIgYT1cIlllcywgYWxsIG1lZGljYXRpb25zIGhhdmUgcG90ZW50aWFsIHNpZGUgZWZmZWN0cywgdGhvdWdoIG1hbnkgb2YgdGhlbSBhcmUgbWlub3IsIGxpa2UgcmFzaGVzIG9yIHN0b21hY2hhY2hlcy4gT25lIHNlcmlvdXMgc2lkZSBlZmZlY3Qgb2Ygc29tZSBhbnRpYmlvdGljcyBpcyBoZWFyaW5nIGRhbWFnZSwgd2hpY2ggY2FuIGxlYWQgdG8gbGlmZWxvbmcgaGVhcmluZyBsb3NzLiBUaGlzIGlzIHdoeSB3ZSBjbG9zZWx5IG1vbml0b3IgcGF0aWVudHMgaW4gdGhlIGhvc3BpdGFsIHdoZW4gc3RhcnRpbmcgdHJlYXRtZW50cy4gVGhlIG5ld2VyIHRoZXJhcGllcywgbGlrZSBtb2R1bGF0b3JzLCBjYW4gY2F1c2UgbGl2ZXIgc3RyZXNzLCBzbyB3ZSByZWd1bGFybHkgY2hlY2sgbGl2ZXIgZW56eW1lcyBpbiB0aGUgYmxvb2QuIEhvd2V2ZXIsIHNldmVyZSBzaWRlIGVmZmVjdHMgYXJlIHJhcmUsIGFuZCB0aGUgZHJ1Z3MgYXJlIGdlbmVyYWxseSB3ZWxsIHRvbGVyYXRlZC5cIiAvPlxuICAgIDwvPixcbiAgICBwaWN0dXJldXJsX2FpbTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvaW50ZXJ2aWV3LW9sYXJpdS5zdmdcIixcbiAgICBwaWN0dXJldXJsX2ludGVydmlldzogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvb2xhcmlvLWFiYmlsZHVuZzEuc3ZnXCIsXG4gICAgc3VtbWFyeTogXCJXZSBpbnRlcnZpZXdlZCBEci4gQ3Jpc3RpYW4tR2FicmllbCBPbGFyaXUgdG8gZ2FpbiBpbnNpZ2h0cyBpbnRvIHRoZSBkaWFnbm9zaXMgYW5kIHRyZWF0bWVudCBvZiBjeXN0aWMgZmlicm9zaXMgKENGKS4gSGUgaGlnaGxpZ2h0ZWQgdGhlIGltcG9ydGFuY2Ugb2YgZWFybHkgZGlhZ25vc2lzIHRocm91Z2ggbmV3Ym9ybiBzY3JlZW5pbmcsIHdoaWNoIGFsbG93cyBmb3IgdGltZWx5IGludGVydmVudGlvbiBidXQgY2FuIGFsc28gYmUgcGVyY2VpdmVkIGFzIGEgYnVyZGVuIGJ5IGZhbWlsaWVzLCBlc3BlY2lhbGx5IHdoZW4gc3ltcHRvbXMgbWF5IG5vdCBtYW5pZmVzdCB1bnRpbCBsYXRlci4gRHIuIE9sYXJpdSBlbXBoYXNpemVkIHRoZSBlbW90aW9uYWwgYW5kIGZpbmFuY2lhbCBjaGFsbGVuZ2VzIGZhbWlsaWVzIGZhY2UsIHBhcnRpY3VsYXJseSByZWdhcmRpbmcgY29zdGx5IHRyZWF0bWVudHMgYW5kIGluc3VyYW5jZSB2YXJpYWJpbGl0eS4gUGF0aWVudCBjb250YWN0IE1heCBzaGFyZWQgaGlzIGV4cGVyaWVuY2VzIHdpdGggaW5mZWN0aW9ucyBsaWtlIFBzZXVkb21vbmFzIHNwcC4sIHdoaWNoIGNvbXBsaWNhdGUgY2FyZSBhbmQgbmVjZXNzaXRhdGUgYSBtdWx0aWRpc2NpcGxpbmFyeSBhcHByb2FjaCBpbnZvbHZpbmcgbWVkaWNhbCBwcm9mZXNzaW9uYWxzLCBwc3ljaG9sb2dpc3RzLCBhbmQgbnV0cml0aW9uaXN0cy4gT3ZlcmFsbCwgdGhlIGRpc2N1c3Npb24gdW5kZXJzY29yZWQgdGhlIG5lZWQgdG8gYmFsYW5jZSBtZWRpY2FsIGludGVydmVudGlvbnMgd2l0aCB0aGUgZW1vdGlvbmFsIHdlbGwtYmVpbmcgb2YgcGF0aWVudHMgYW5kIGZhbWlsaWVzLCBndWlkaW5nIHVzIHRvd2FyZCBhIG1vcmUgY29tcGFzc2lvbmF0ZSB1bmRlcnN0YW5kaW5nIG9mIGxpdmluZyB3aXRoIENGLlwiLFxuICAgIG1vbnRoczogXCJtYXlcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJFeHBsb3JpbmcgbmV3IGlkZWFzXCIsXG4gICAgbmFjaG5uYW1lOiBcInhcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIHRhZzogXCJNaWxlc3RvbmVcIixcbiAgICBhZmZpbGlhdGlvbjogXCJcIixcbiAgICBoZWFkaW5nOiBcIkZ1cnRoZXIgYnJhaW5zdG9ybWluZyBvbiBhcHByb2FjaGVzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiYnJhaW5zdG9ybWluZ1wiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcInhcIixcbiAgICBxdW90ZU5hY2huYW1lOlwieFwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJkXCIsXG4gICAgYWltb2Zjb250YWN0OiBcImRcIixcbiAgICBpbnNpZ2h0czogXCJkXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiZFwiLFxuICAgIHR5cGU6IFwibWV0YVwiLFxuICAgIHN1bW1hcnk6IFwiZFwiLFxuICAgIG1vbnRoczogXCJtYXlcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJLYXRyaW5cIixcbiAgICBuYWNobm5hbWU6IFwiV2VzdGhvZmZcIixcbiAgICBqb2I6IFwiUGh5c2lvdGhlcmFwaXN0XCIsXG4gICAgYWZmaWxpYXRpb246IFwiSW5kZXBlbmRlbnRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWyd3ZXN0aG9mZiddLFxuICAgIHRhZzogXCJNZWRpY2FsIFByb2Zlc3Npb25hbFwiLFxuICAgIGhlYWRpbmc6IFwiSW50ZXJ2aWV3IHdpdGggYSBzcGVjaWFsaXplZCBwaHlzaW90aGVyYXBpc3QgcmVnYXJkaW5nIGJyZWF0aGluZyB0aGVyYXB5IGZvciBjeXN0aWMgZmlicm9zaXMgcGF0aWVudHNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJ3ZXN0aG9mZmludlwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiVGhlIG1vcmUgd2Uga25vdywgdGhlIG1vcmUgb3Bwb3J0dW5pdGllcyB3ZSBoYXZlLlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJUaGUgb2JqZWN0aXZlIG9mIHRoZSBjb250YWN0IHdhcyB0byBnYWluIGluLWRlcHRoIGluc2lnaHRzIGludG8gdGhlIHRyZWF0bWVudCBhbmQgY2FyZSBvZiBjaGlsZHJlbiB3aXRoIENGLiBUaGUgdGhlcmFwaXN0J3MgZXhwZXJ0aXNlIHdhcyBpbnRlbmRlZCB0byBoZWxwIGRldmVsb3AgYSBiZXR0ZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgY2hhbGxlbmdlcyBhbmQgbmVjZXNzYXJ5IG1lYXN1cmVzIGluIHRoZSB0cmVhdG1lbnQgb2YgdGhpcyBjaHJvbmljIGRpc2Vhc2UuIEluIGFkZGl0aW9uLCB0aGUgYWltIHdhcyB0byBhc2NlcnRhaW4gaG93IHRoZSB0aGVyYXB5IGlzIGltcGxlbWVudGVkIGluIGV2ZXJ5ZGF5IGxpZmUgYW5kIHdoaWNoIHNwZWNpZmljIGFwcHJvYWNoZXMgYW5kIG1ldGhvZHMgYXJlIHBhcnRpY3VsYXJseSBlZmZlY3RpdmUuXCIsXG4gICAgaW5zaWdodHM6IFwiVGhlIGludGVydmlldyB5aWVsZGVkIHZhbHVhYmxlIGluc2lnaHRzIGludG8gdGhlIHJlZ3VsYXIgaW1wbGVtZW50YXRpb24gb2YgdGhlIHRoZXJhcHksIHRoZSB1c2Ugb2YgYWlkcyBhbmQgdGhlIGFkYXB0YXRpb24gb2YgZXhlcmNpc2VzIHRvIHRoZSBpbmRpdmlkdWFsIG5lZWRzIG9mIHRoZSBwYXRpZW50cy4gSXQgd2FzIG5vdGFibGUgdGhhdCB0aGUgdGhlcmFweSBoYXMgaW1wcm92ZWQgb3ZlciB0aGUgbGFzdCB5ZWFycywgY29uc2lkZXJhYmx5IHRoYW5rcyB0byBiZXR0ZXIgbWVkaWNhdGlvbiBhbmQgYWRhcHRlZCBleGVyY2lzZXMsIHdpdGggYSBjb25jb21pdGFudCBpbmNyZWFzZSBpbiBsaWZlIGV4cGVjdGFuY3kgZm9yIGNoaWxkcmVuIGFmZmVjdGVkIGJ5IENGLiBPZiBwYXJ0aWN1bGFyIGludGVyZXN0IHdhcyB0aGUgZW1waGFzaXMgb24gdGhlIGltcG9ydGFuY2Ugb2Ygc3BvcnQgYW5kIGV4ZXJjaXNlLCB3aGljaCBzaG91bGQgbm90IG9ubHkgYmUgdGhlcmFwZXV0aWNhbGx5IGVmZmVjdGl2ZSwgYnV0IGFsc28gaW5jcmVhc2UgcXVhbGl0eSBvZiBsaWZlLiBcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJUaGUgZm9sbG93aW5nIHN0YXRlbWVudCBieSBLYXRyaW4gV2VzdGhvZmYgaGFkIGEgcGFydGljdWxhciBpbXBhY3Qgb24gb3VyIHByb2plY3Q6IFx1MjAxOFRoZSBtb3JlIHdlIGtub3csIHRoZSBtb3JlIG9wdGlvbnMgd2UgaGF2ZVx1MjAxOS4gV2UgbGVhcm50IGZyb20gdGhlIGludGVydmlldyB0aGF0IHRoZSBjdXJyZW50IG1lZGljYXRpb24gaXMgYWxyZWFkeSBoZWxwaW5nIG1hbnkgcGF0aWVudHMgdmVyeSB3ZWxsLCBidXQgdGhhdCB0aGVyZSBpcyBzdGlsbCBncmVhdCBwb3RlbnRpYWwgZm9yIGltcHJvdmVtZW50LiBTdWNjZXNzZnVsIGdlbmUgdGhlcmFweSB3b3VsZCBzaWduaWZpY2FudGx5IGltcHJvdmUgdGhlIHF1YWxpdHkgb2YgbGlmZSBvZiBDRiBwYXRpZW50cy4gV2UgaW1wbGVtZW50ZWQgdGhlIGZpbmRpbmdzIGZyb20gdGhpcyBpbnRlcnZpZXcgaW4gb3VyIHBhcnRpY2lwYXRpb24gaW4gTXVrb01vdmUgLSB3ZSBhbHNvIGFjdGl2ZWx5IHRvb2sgcGFydCBpbiBjeXN0aWMgZmlicm9zaXMgYXdhcmVuZXNzIG1vbnRoIGFuZCBsZWFybnQgZXZlbiBtb3JlIGFib3V0IHRoZSBpbXBvcnRhbmNlIG9mIHBoeXNpb3RoZXJhcHkuXCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2thdHJpbi13ZXN0aG9mZi16b29tLndlYnBcIixcbiAgICBzdW1tYXJ5OiBbPHA+VGhlIG9iamVjdGl2ZSBvZiBvdXIgZGlzY3Vzc2lvbiB3aXRoIGEgdGhlcmFwaXN0IHdhcyB0byBnYWluIGEgY29tcHJlaGVuc2l2ZSB1bmRlcnN0YW5kaW5nIG9mIHRoZSB0cmVhdG1lbnQgYW5kIGNhcmUgb2YgY2hpbGRyZW4gd2l0aCBjeXN0aWMgZmlicm9zaXMuIFRoZSBpbnRlcnZpZXcgcHJvdmlkZWQgaW52YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIHRoZSB0aGVyYXB5J3MgaW1wbGVtZW50YXRpb24sIGhpZ2hsaWdodGluZyB0aGUgc2lnbmlmaWNhbnQgYWR2YW5jZW1lbnRzIGluIG1lZGljYXRpb24gYW5kIHRhaWxvcmVkIGV4ZXJjaXNlcyB0aGF0IGhhdmUgbGVkIHRvIGltcHJvdmVkIHBhdGllbnQgb3V0Y29tZXMgYW5kIGluY3JlYXNlZCBsaWZlIGV4cGVjdGFuY3kuIEEga2V5IHRha2Vhd2F5IHdhcyB0aGUgZW1waGFzaXMgb24gdGhlIHJvbGUgb2Ygc3BvcnRzIGFuZCBleGVyY2lzZSwgbm90IGp1c3QgZm9yIHRoZXJhcGV1dGljIGVmZmljYWN5IGJ1dCBhbHNvIGZvciBlbmhhbmNpbmcgb3ZlcmFsbCBxdWFsaXR5IG9mIGxpZmUuIEl0IGxldCB0byBvdXIgcGFydGljaXBhdGlvbiBpbiB0aGUgQ0YgYXdhcm5lc3MgbW9udGggYW5kIHRoZSBvdXRyZWFjaCBwcm9qZWN0IG11a29tb3ZlIFtMaW5rIG11a29tb3ZlXTwvcD5dLFxuICAgIG1vbnRoczogXCJNYXlcIixcbiAgICBpbnRlcnZpZXc6PD5cbiAgICA8UWFCb3ggcT1cIkZyb20gd2hhdCBhZ2UgZG8gdGhlIHBhdGllbnRzIGNvbWUgdG8geW91PyBIb3cgbG9uZyBkbyB0aGV5IHN0YXk/IEhvdyBtYW55IHBhdGllbnRzIGRvIHlvdSB0cmVhdD9cIiBhPVwiVGhlIHBhdGllbnRzIGNvbWUgdG8gdXMgYXQgYSB2ZXJ5IGVhcmx5IGFnZS4gQSBkZWZpbml0ZSBkaWFnbm9zaXMgaXMgbWFkZSBhZnRlciA2IHdlZWtzIGF0IHRoZSBsYXRlc3QuIE9uY2UgZGlhZ25vc2VkLCB0aGUgd2hvbGUgZmFtaWx5IGlzIGdlbmV0aWNhbGx5IHRlc3RlZCwgYW5kIGNoaWxkcmVuIGFyZSBzZW50IGZvciBwaHlzaW90aGVyYXB5LCBvZnRlbiBzdGFydGluZyBpbiB0aGUgaG9zcGl0YWwuIEN1cnJlbnRseSwgd2UgaGF2ZSA4IGNoaWxkcmVuIHdpdGggQ0YgaW4gb3VyIHByYWN0aWNlLCB3aGljaCBpcyByZWxhdGl2ZWx5IHNtYWxsIGNvbXBhcmVkIHRvIG90aGVyIGRpc2Vhc2VzLiBXZSBoYXZlIHNsaWdodGx5IG1vcmUgQ0YgcGF0aWVudHMgYmVjYXVzZSB3ZSBzcGVjaWFsaXplIGluIGl0LlwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQga2luZCBvZiBleGVyY2lzZXMgZG8geW91IGRvP1wiIGE9XCJXZSBkbyBhIGxvdCBvZiBicmVhdGhpbmcgdGhlcmFweSBhbmQgaGF2ZSBhdHRlbmRlZCBzcGVjaWFsIHRyYWluaW5nIGNvdXJzZXMgZm9yIENGIHRoYXQgaW50cm9kdWNlZCBuZXcgdGVjaG5pcXVlcy4gVGhlIGN1cnJlbnQgZ29sZCBzdGFuZGFyZCBpcyBhdXRvZ2Vub3VzIGRyYWluYWdlIGFjY29yZGluZyB0byBDaGV2YWxsaWVyLCB3aGljaCBlZmZlY3RpdmVseSByZW1vdmVzIG11Y3VzLiBXZSBmb2xsb3cgYSBnZW5lcmFsIHJvdXRpbmU6IDEuIHdldCBpbmhhbGF0aW9uIHRvIGJpbmQgbXVjdXMsIDIuIGRyYWluYWdlIHRvIGV4cGVsIG11Y3VzLCBhbmQgMy4gYW50aWJpb3RpY3MgdG8gd29yayBvcHRpbWFsbHkgb24gY2xlYW4gbHVuZ3MuIFdlIGFsc28gdXNlIHNwZWNpYWwgYmVsdHMgZm9yIGNvbXByZXNzaW5nICdtYWdpYyBwb2ludHMnIHRvIGVuaGFuY2UgbHVuZyB2ZW50aWxhdGlvbi5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGVuIGRvZXMgZHJhaW5hZ2Ugc3RhcnQ/XCIgYT1cIldlIHN0YXJ0IGRyYWluYWdlIGluIG5ld2Jvcm5zIHRvIHByZXZlbnQgbXVjdXMgZnJvbSBzZXR0bGluZy5cIi8+XG4gICAgPFFhQm94IHE9XCJBcmUgdGhlcmUgc3BlY2lhbCBleGVyY2lzZXMgdGhhdCBjYW4gYWxzbyBiZSBkb25lIGF0IGhvbWU/XCIgYT1cIlllcywgcGFyZW50cyBhcmUgaW5zdHJ1Y3RlZCBvbiBleGVyY2lzZXMgdGhhdCBjYW4gYWxzbyBiZSBwZXJmb3JtZWQgYXQgaG9tZS5cIi8+XG4gICAgPFFhQm94IHE9XCJIb3cgb2Z0ZW4gZG9lcyB0aGUgdGhlcmFweSB0YWtlIHBsYWNlP1wiIGE9XCJUaGVyYXB5IHVzdWFsbHkgb2NjdXJzIG9uY2UgYSB3ZWVrIG9yIGV2ZXJ5IHR3byB3ZWVrcy4gVGhhbmtzIHRvIGltcHJvdmVkIG1lZGljYXRpb24sIGNoaWxkcmVuIGFyZSBub3cgYmV0dGVyIG9mZi4gVGhlIHRoZXJhcHkgaGFzIGV2b2x2ZWQgc2lnbmlmaWNhbnRseSwgbWFraW5nIGl0IGVhc2llciB0byBjb3VnaCB1cCBtdWN1cyBhbmQgaW1wcm92aW5nIGxpZmUgZXhwZWN0YW5jeS4gRXhlcmNpc2Ugc2hvdWxkIGJlIGVuam95YWJsZSBhbmQgYSBwYXJ0IG9mIGRhaWx5IGxpZmUgZnJvbSB0aGUgYWdlIG9mIDggb3IgOS5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGF0IHdvdWxkIGhhcHBlbiBpZiBubyBwaHlzaW90aGVyYXB5IHdhcyBwZXJmb3JtZWQ/XCIgYT1cIkl0XHUyMDE5cyBkaWZmaWN1bHQgdG8gcHJlZGljdCwgYnV0IHdpdGhvdXQgdGhlcmFweSwgY2hpbGRyZW4gb2Z0ZW4gYmVjb21lIG1vcmUgbXVjb3VzeSwgbGVhZGluZyB0byB3b3JzZW5lZCB2ZW50aWxhdGlvbi4gU3BlY2lmaWMgdGhlcmFweSBpcyBjcnVjaWFsLCBlc3BlY2lhbGx5IGR1cmluZyBpbmZlY3Rpb25zLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBkbyB5b3UgbWVhc3VyZSBzdWNjZXNzIChpbiB0ZXJtcyBvZiBsdW5nIGZ1bmN0aW9uIHRlc3QsIGV4ZXJjaXNlLCBldGMuKT9cIiBhPVwiU3VjY2VzcyBpcyBtZWFzdXJlZCBzdWJqZWN0aXZlbHkgYnkgbGlzdGVuaW5nIHRvIGJyZWF0aGluZyBhbmQgb2JzZXJ2aW5nIHNraW4gY29sb3IuIEEgd2VsbC12ZW50aWxhdGVkIGx1bmcgc2hvd3MgYSAnZnVsbCBiYXJyZWwnIGFwcGVhcmFuY2UsIHdoaWxlIHdoZWV6aW5nIGluZGljYXRlcyBwb29yIHZlbnRpbGF0aW9uLiBJbiBjbGluaWNzLCBsdW5nIGZ1bmN0aW9uIHRlc3RzLCBDTzIgbWVhc3VyZW1lbnRzLCBhbmQgJ2ZpbmdlciBjbGlwJyB0ZXN0cyBhcmUgdXNlZCwgdGhvdWdoIHJlc3VsdHMgY2FuIGJlIGluZmx1ZW5jZWQgYnkgdGhlIGNoaWxkLlwiLz5cbiAgICA8UWFCb3ggcT1cIkRvIHRoZSBleGVyY2lzZXMgYnJpbmcgcmVsaWVmIG9yIGFyZSB0aGV5IHByZXZlbnRhdGl2ZSBmb3IgZnVydGhlciBjb21wbGFpbnRzP1wiIGE9XCJUaGUgZXhlcmNpc2VzIHNlcnZlIGJvdGggdG8gcmVsaWV2ZSBhY3V0ZSBpbmZlY3Rpb25zIGFuZCB0byBwcmV2ZW50IGZ1cnRoZXIgaXNzdWVzLiBGZXdlciBsdW5nIGluZmVjdGlvbnMgcmVkdWNlIHRoZSBsaWtlbGlob29kIG9mIG11Y3VzIGFkaGVzaW9ucy5cIi8+XG4gICAgPFFhQm94IHE9XCJBcmUgdGhlcmUgYW55IHRvb2xzIHRvIHBlcmZvcm0gdGhlcmFweT9cIiBhPVwiWWVzLCBkZXZpY2VzIGxpa2UgdGhlICdmbHV0dGVyJyBvciAnY29ybmV0JyBoZWxwIHdpdGggZXhoYWxhdGlvbi4gVGhleSBjcmVhdGUgdmlicmF0aW9ucyB0aGF0IGxvb3NlbiBtdWN1cyBpbiB0aGUgbHVuZ3MgYW5kIHNob3VsZCBiZSB1c2VkIGJ5IGFsbCBjaGlsZHJlbiB3aXRoIGx1bmcgZGlzZWFzZXMuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hhdCBjb21wbGFpbnRzIGRvIHBhdGllbnRzIGJyaW5nIHdpdGggdGhlbT9cIiBhPVwiUGF0aWVudHMgdHlwaWNhbGx5IGhhdmUgbHVuZyBwcm9ibGVtcywgZHJ5IGx1bmcgbXVjb3NhLCBhbmQgcGFuY3JlYXRpYyBpc3N1ZXMgbGVhZGluZyB0byBwb29yIG1ldGFib2xpc20sIHJlcXVpcmluZyBlbnp5bWUgdGhlcmFweSBiZWZvcmUgbWVhbHMuIFNvbWUgY2hpbGRyZW4gZXhwZXJpZW5jZSBncm93dGggZGlzb3JkZXJzIGFuZCBsZXNzIGNvbW1vbmx5LCBleGNlc3NpdmUgcGVyc3BpcmF0aW9uLlwiLz5cbiAgICA8UWFCb3ggcT1cIkFyZSBwYW5jcmVhdGljIGNvbXBsYWludHMgYWxzbyB0cmVhdGVkIGJ5IHBoeXNpb3RoZXJhcGlzdHM/XCIgYT1cIlBhbmNyZWF0aWMgY29tcGxhaW50cyBhcmUgcmFyZWx5IHRyZWF0ZWQgd2l0aCBwaHlzaW90aGVyYXB5LCBleGNlcHQgaW4gY2FzZXMgb2YgaW5mbGFtbWF0aW9uLCB3aGVyZSBwYXRpZW50cyBtYXkgYmUgYWRtaXR0ZWQgdG8gdGhlIGhvc3BpdGFsLiBUZWNobmlxdWVzIGxpa2UgbWFzc2FnZSBvciBraW5lc2lvbG9neSB0YXBlIGNhbiBoZWxwIHdpdGggY29uc3RpcGF0aW9uLlwiLz5cbiAgICA8UWFCb3ggcT1cIkFyZSB0aGVyZSBhbnkgc3BlY2lhbCBoeWdpZW5lIGd1aWRlbGluZXMgZm9yIHlvdSB3aGVuIHdvcmtpbmcgd2l0aCBDRiBwYXRpZW50cz9cIiBhPVwiSHlnaWVuZSBpcyBjcnVjaWFsIHdoZW4gdHJlYXRpbmcgQ0YgcGF0aWVudHMuIFdlIHNlcGFyYXRlIGNoaWxkcmVuIHdpdGggYW5kIHdpdGhvdXQgaW5mZWN0aW9ucyAoZS5nLiwgUHNldWRvbW9uYXMpIGFuZCBlbmZvcmNlIHN0cmljdCBkaXNpbmZlY3Rpb24gcHJvdG9jb2xzLiBPbmx5IGNoaWxkcmVuIHdpdGggc2ltaWxhciBpbmZlY3Rpb24gc3RhdHVzZXMgYXJlIHRyZWF0ZWQgb24gdGhlIHNhbWUgZGF5LlwiLz5cbiAgICA8UWFCb3ggcT1cIkFyZSB0aGUgc3BlY2lmaWMgZXhlcmNpc2VzIGN1c3RvbWl6ZWQ/IEFuZCBpZiBzbywgaG93IGRvIHlvdSBrbm93IHdoaWNoIHRoZXJhcHkgaXMgdGhlIHJpZ2h0IG9uZSBmb3Igd2hpY2ggcGF0aWVudD9cIiBhPVwiRXhlcmNpc2VzIGFyZSB0YWlsb3JlZCB0byBlYWNoIHBhdGllbnQncyBzaXR1YXRpb24sIGZvY3VzaW5nIG9uIG11Y3VzIHJlbW92YWwgYW5kIGx1bmcgdmVudGlsYXRpb24uIEVhY2ggdGhlcmFwaXN0IG1heSBoYXZlIHRoZWlyIG93biBwcmVmZXJyZWQgZXhlcmNpc2VzIGFuZCB0ZWNobmlxdWVzLlwiLz5cbiAgICA8UWFCb3ggcT1cIkRvIHBhdGllbnRzIGFsd2F5cyBnbyB0byB0aGUgc2FtZSBwaHlzaW90aGVyYXBpc3Q/XCIgYT1cIlllcywgaWYgdGhlcmFweSBpcyBlZmZlY3RpdmUsIHBhdGllbnRzIHRlbmQgdG8gcmVtYWluIHdpdGggdGhlIHNhbWUgcGh5c2lvdGhlcmFwaXN0LlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBtYW55IHBoeXNpb3RoZXJhcGlzdHMgb2ZmZXIgbXVjby10aGVyYXB5P1wiIGE9XCJUaGUgZXhhY3QgbnVtYmVyIGlzIHVua25vd24sIGJ1dCBzZXZlcmFsIGNoaWxkIHRoZXJhcGlzdHMgaW4gdGhlIHJlZ2lvbiBwcm92aWRlIENGIHRoZXJhcHkuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGFyZSB0aGUgcmVsYXRpdmVzIGVkdWNhdGVkP1wiIGE9XCJFZHVjYXRpb24gb2Z0ZW4gYmVnaW5zIGluIHRoZSBtYXRlcm5pdHkgd2FyZCB3aXRoIGEgc3dlYXQgdGVzdC4gSW4gR1x1MDBGQ3RlcnNsb2gsIGFsbCBjaGlsZHJlbiBhcmUgcmVmZXJyZWQgdG8gQmV0aGVsIGZvciBpbW1lZGlhdGUgQ0YgY2FyZS4gUGFyZW50cyBvZnRlbiBleHBlcmllbmNlIHRyYXVtYSBhcyBjaGlsZHJlbiBjYW4gYmUgc2V2ZXJlbHkgaWxsIGRlc3BpdGUgYXBwZWFyaW5nIGhlYWx0aHkuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hhdCBhcmUgdGhlIGxpbWl0YXRpb25zIG9mIGluZGl2aWR1YWwgbWVkaWNpbmU/XCIgYT1cIkRydWcgZWZmZWN0aXZlbmVzcyBjYW4gdmFyeSwgYW5kIHNvbWUgYXJlIG9ubHkgYXBwcm92ZWQgZnJvbSBhIGNlcnRhaW4gYWdlLiBJbXByb3ZlZCBtZWRpY2F0aW9ucyBjYW4gc2lnbmlmaWNhbnRseSBlbmhhbmNlIHF1YWxpdHkgb2YgbGlmZSBhbmQgbGlmZSBleHBlY3RhbmN5LlwiLz5cbiAgICA8Lz5cbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIkRyLlwiLFxuICAgIHZvcm5hbWU6IFwiTWljaGFlbGFcIixcbiAgICBuYWNobm5hbWU6IFwiQmllbmVydFwiLFxuICAgIGpvYjogXCIgU2NpZW50aWZpYyBTYWxlcyBSZXByZXNlbnRhdGl2ZSBmb3IgQ2VsbCBDdWx0dXJlIFByb2R1Y3RzXCIsXG4gICAgYWZmaWxpYXRpb246IFwiU3RlbWNlbGxcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydzdGVtY2VsbCddLFxuICAgIHRhZzogXCJJbmR1c3RyeVwiLFxuICAgIGhlYWRpbmc6IFwiTG9uZ3N0YW5kaW5nIFN1cHBvcnQgZnJvbSBTdGVtY2VsbCBFeHBlcnQgaW4gQ2VsbCBDdWx0dXJlIE1lZGlhIGFuZCBQcmltYXJ5IENlbGwgQ3VsdGl2YXRpb25cIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJtaWNoYWVsYVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwieFwiLFxuICAgIGFpbW9mY29udGFjdDogXCJPdXIgcHJpbWFyeSBnb2FsIGluIHJlYWNoaW5nIG91dCB0byBoZXIgd2FzIHRvIGdhaW4gaW5zaWdodHMgaW50byBvcHRpbWl6aW5nIGNlbGwgY3VsdHVyZSBtZWRpYSwgZXhwbG9yZSBwb3RlbnRpYWwgc3BvbnNvcnNoaXAgb3Bwb3J0dW5pdGllcyBmb3Igb3VyIHByb2plY3QsIGFuZCBzZWVrIGV4cGVydCBhZHZpY2Ugb24gaGFuZGxpbmcgcHJpbWFyeSBjZWxscyBpbiB0aGUgbGFiLlwiLFxuICAgIGluc2lnaHRzOiBcIlRocm91Z2hvdXQgb3VyIG11bHRpcGxlIGRpc2N1c3Npb25zLCBzaGUgb2ZmZXJlZCBkZXRhaWxlZCBhZHZpY2Ugb24gc2VsZWN0aW5nIGFuZCBvcHRpbWl6aW5nIGNlbGwgY3VsdHVyZSBtZWRpYSBmb3Igb3VyIHNwZWNpZmljIG5lZWRzLCB3aGlsZSBhbHNvIGNvbm5lY3RpbmcgdXMgd2l0aCBvcHBvcnR1bml0aWVzIGZvciBzcG9uc29yc2hpcC4gTGF0ZXIgaW4gdGhlIHByb2plY3QsIHNoZSBwcm92aWRlZCB0ZWNobmljYWwgZ3VpZGFuY2Ugb24gdGhlIGN1bHRpdmF0aW9uIGFuZCBoYW5kbGluZyBvZiBwcmltYXJ5IGNlbGxzLCBlbnN1cmluZyB0aGF0IHdlIGZvbGxvd2VkIGJlc3QgcHJhY3RpY2VzIGZvciBjZWxsIGN1bHR1cmUuXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiQmFzZWQgb24gaGVyIGZlZWRiYWNrLCB3ZSByZWZpbmVkIG91ciBhcHByb2FjaCB0byBjZWxsIGN1bHR1cmUgbWVkaWEsIGVuaGFuY2luZyBvdXIgZXhwZXJpbWVudGFsIHdvcmtmbG93cy4gQWRkaXRpb25hbGx5LCBoZXIgYWR2aWNlIHdhcyBjcml0aWNhbCBkdXJpbmcgdGhlIHRyYW5zaXRpb24gdG8gcHJpbWFyeSBjZWxsIGN1bHR1cmUsIGhlbHBpbmcgdXMgc2VjdXJlIHRoZSBuZWNlc3NhcnkgcmVzb3VyY2VzIGFuZCBleHBlcnRpc2UgZm9yIG91ciBleHBlcmltZW50cy5cIixcbiAgICBzdW1tYXJ5OiBcIldlIGhhdmUgaGFkIHRoZSBwcml2aWxlZ2Ugb2YgY29sbGFib3JhdGluZyB3aXRoIGEgZGVkaWNhdGVkIGV4cGVydCBmcm9tIFN0ZW1jZWxsIFRlY2hub2xvZ2llcywgd2hvIGhhcyBjb25zaXN0ZW50bHkgc3VwcG9ydGVkIGlHRU0gQmllbGVmZWxkLiBTaGUgcHJvdmlkZWQgdmFsdWFibGUgZ3VpZGFuY2Ugb24gY2VsbCBjdWx0dXJlIG1lZGlhLCBzcG9uc29yc2hpcCBvcHBvcnR1bml0aWVzLCBhbmQgbGF0ZXIsIHByYWN0aWNhbCBhZHZpY2UgZm9yIGN1bHRpdmF0aW5nIHByaW1hcnkgY2VsbHMuIEhlciBjb250cmlidXRpb25zIGhhdmUgYmVlbiBpbnN0cnVtZW50YWwgaW4gYWR2YW5jaW5nIG91ciBwcm9qZWN0LlwiLFxuICAgIG1vbnRoczogXCJzZXZlcmFsIHRpbWVzXCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2RhbmllbGEud2VicFwiLFxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJEb2N1bWVudGluZyBwcm9ncmVzc1wiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIHRhZzogXCJNaWxlc3RvbmVcIixcbiAgICBoZWFkaW5nOiBcIlRyYWNraW5nIHByb2dyZXNzIGluIGV4cGVydCBzZWFyY2ggYW5kIGlkZWEgZGV2ZWxvcG1lbnRcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJwcm9ncmVzc1wiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBzdW1tYXJ5OiBcIlwiLFxuICAgIG1vbnRoczogXCJtYXlcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJNdWtvTW92ZVwiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydtdWtvbW92ZSddLFxuICAgIHRhZzogXCJPdXRyZWFjaFwiLFxuICAgIGhlYWRpbmc6IFwiTW92aW5nIHRvZ2V0aGVyIGZvciBoZWFsdGggYW5kIGhvcGUsIG91ciBwYXJ0aWNpcGF0aW9uIGluIENGIGF3YXJuZXNzIG1vbnRoXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibXVrb21vdmVocFwiLFxuICAgIHR5cGU6IFwibWV0YVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcInhcIixcbiAgICBzdW1tYXJ5OiBcIlwiLFxuICAgIG1vbnRoczogXCJNYXlcIlxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiTS5TYy5cIixcbiAgICB2b3JuYW1lOiBcIkphbi1QaGlsbGlwcFwiLFxuICAgIG5hY2hubmFtZTogXCJHZXJoYXJkc1wiLFxuICAgIGpvYjogXCJJbnRlcm5cIixcbiAgICBhZmZpbGlhdGlvbjogXCIgSGFydmFyZC8gQm9zdG9uIENoaWxkcmVucyBIb3NwaXRhbFwiLFxuICAgIHBpY3R1cmV1cmw6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2hwLWpwZ2VyaGFyZHMtcG90cmF0cy53ZWJwXCIsXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJEaXNjdXNzaW9uIG9uIG9wdGltaXppbmcgb3VyIHBlZ1JOQSBEZXNpZ24gdG8gaW1wcm92ZSBwcmVjaXNpb24gaW4gcHJpbWUgZWRpdGluZ1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcIkpQcGVnUk5BXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIkxlbmdlciwgVGVhbW1lbWJlclwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJNYWx0ZVwiLFxuICAgIHF1b3RlOiBcIlRoZSBpbnRlcnZpZXcgcHJvdmVkIHRvIGJlIGludmFsdWFibGUgaW4gZ2FpbmluZyBhbiBpbml0aWFsIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHByaW5jaXBsZXMgb2YgcGVnUk5BIGRlc2lnbiBhbmQgb3B0aW1pc2F0aW9uLCBwYXJ0aWN1bGFybHkgaW4gdGhlIGNvbnRleHQgb2Ygc2lsZW50IGVkaXRzLlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJUaGUgYWltIG9mIHRoZSBjb250YWN0IHdhcyB0byBlbmdhZ2UgaW4gYSBkaXNjdXNzaW9uIGFib3V0IHByaW1lIGVkaXRpbmcgYW5kIHBlZ1JOQXMsIGFzIHRoZSBKYW4tUGhpbGxpcCBHZXJoYXJkcyBoYWQgdXNlZCB0aGVzZSB0ZWNobm9sb2dpZXMgaW4gaGlzIGludGVybnNoaXAgYXQgdGhlIEJvc3RvbiBDaGlsZHJlbnMgSG9zcGl0YWwuIFdlIHNvdWdodCB0byBleGNoYW5nZSBpZGVhcywgZ2F0aGVyIGluc2lnaHRzLCBhbmQgZXhwbG9yZSBwb3RlbnRpYWwgaW1wcm92ZW1lbnRzIG9yIHN0cmF0ZWdpZXMgZm9yIG91ciBwcm9qZWN0LCBsZXZlcmFnaW5nIGhpcyBleHBlcmllbmNlIHdpdGggcHJpbWUgZWRpdGluZyB0b29scy4gSGlzIHByYWN0aWNhbCBrbm93bGVkZ2UgaW4gdGhpcyBmaWVsZCB3YXMgdmVyeSB2YWx1YWJsZSBmb3IgcmVmaW5pbmcgb3VyIGFwcHJvYWNoIGFuZCBlbnN1cmluZyB3ZSB3ZXJlIGFsaWduZWQgd2l0aCB0aGUgbGF0ZXN0IGFkdmFuY2VtZW50cyBhbmQgbWV0aG9kb2xvZ2llcyBpbiBwcmltZSBlZGl0aW5nLiBcIixcbiAgICBpbnNpZ2h0czogXCJEdXJpbmcgb3VyIGRpc2N1c3Npb24gd2UgZ2FpbmVkIHZhbHVhYmxlIGluc2lnaHRzIHRoYXQgaGFkIGEgc2lnbmlmaWNhbnQgaW1wYWN0IG9uIG91ciBwcm9qZWN0LiBPbmUgb2YgdGhlIG1vc3QgaW1wb3J0YW50IGZpbmRpbmdzIHdhcyB0aGUgZWZmZWN0aXZlbmVzcyBvZiBzaWxlbnQgZWRpdHMsIHdoaWNoIHdpbGwgZW5hYmxlIHVzIHRvIG1ha2Ugb3VyIFByaW1lR3VpZGUgc2FmZXIuIFNpbGVudCBlZGl0cyBjaGFuZ2UgdGhlIHNlcXVlbmNlIG9mIGJhc2VzIGluIHRoZSBETkEgaW4gc3VjaCBhIHdheSB0aGF0IHRoZSByZXN1bHRpbmcgcHJvdGVpbiByZW1haW5zIHVuY2hhbmdlZCwgYmVjYXVzZSB0aGUgZ2VuZXRpYyBjb2RlIGlzIHJlZHVuZGFudC4gVGhpcyBtZWFucyB0aGF0IGRpZmZlcmVudCBjb2RvbnMgY2FuIGNvZGUgZm9yIHRoZSBzYW1lIGFtaW5vIGFjaWQuIEJ5IG1ha2luZyBzaWxlbnQgZWRpdHMgaW4gYWRkaXRpb24gdG8gY29ycmVjdGluZyB0aGUgQ0ZUUiBnZW5lLCB3ZSBjYW4gcHJldmVudCB0aGUgcGVnUk5BIGZyb20gcmViaW5kaW5nLiAgV2UgaGF2ZSBhbHNvIGxlYXJuZWQgdGhhdCB0aGUgbGVuZ3RoIG9mIHRoZSBwcmltZXIgYmluZGluZyBzaXRlIChQQlMpIHBsYXlzIGEgY3J1Y2lhbCByb2xlIGluIGRldGVybWluaW5nIG9wdGltYWwgcmVzdWx0cyBhbmQgdGhhdCBpdCBpcyByZWNvbW1lbmRlZCB0byBrZWVwIHRoZSBQQlMgdGVtcGVyYXR1cmUgY2xvc2UgdG8gMzdcdTAwQjBDLiBTcGVjaWZpY2FsbHksIFBCUyBsZW5ndGhzIG9mIDE3bnQgKDM4LjNcdTAwQjBDKSBhbmQgMTZudCAoMzYuNFx1MDBCMEMpIHdlcmUgZm91bmQgdG8gYmUgaWRlYWwgb3B0aW9ucy4gRm9yIG91ciBwbGFubmVkIHNldCBvZiAxMiBzYW1wbGVzLCBpdCB3YXMgcmVjb21tZW5kZWQgdG8gdXNlIHRocmVlIGRpZmZlcmVudCBQQlMgbGVuZ3RocyAoZGlmZmVyaW5nIGJ5ICsvLSAxbnQgZnJvbSB0aGF0IGNsb3NlIHRvIDM3XHUwMEIwQykgaW4gY29tYmluYXRpb24gd2l0aCBmb3VyIHJldmVyc2UgdHJhbnNjcmlwdGFzZSB0ZW1wbGF0ZSAoUlRUcykgdG8gYWNoaWV2ZSB0aGUgYmVzdCByZXN1bHQuIEFub3RoZXIgaW1wb3J0YW50IGZpbmRpbmcgd2FzIHRoZSB1c2Ugb2Ygbm9uLWFubm90YXRlZCByZWdpb25zIHdpdGggb3ZlcmhhbmdzIGZvciBjbG9uaW5nLCB3aGljaCBjb3VsZCBnaXZlIGJldHRlciByZXN1bHRzIGluIG91ciBleHBlcmltZW50cy4gSG93ZXZlciwgd2UgYWxzbyBlbmNvdW50ZXJlZCBjb25jZXJucyB0aGF0IGNpcmNSTkEsIGEgY292YWxlbnRseSBjbG9zZWQgY2lyY3VsYXIgUk5BIG1vbGVjdWxlLCBtaWdodCBiZSBzdGVyaWNhbGx5IGhpbmRlcmVkIGJ5IENhczksIHdoaWNoIHdlIG5lZWQgdG8gaW52ZXN0aWdhdGUgZnVydGhlci4gV2hlbiBkaXNjdXNzaW5nIGNsb25pbmcgb3ZlcmhhbmdzLCB3ZSBsZWFybmVkIHRoYXQgYSBiYXNlLXBhaXIgbGVuZ3RoIGNsb3NlIHRvIDYwXHUwMEIwQyBpcyBvcHRpbWFsLiBIb3dldmVyLCB0aGUgdXNlIG9mIGEgMTVudCBQQlMgd2FzIG5vdCByZWNvbW1lbmRlZCBhcyBpdCBoYXMgYSBsb3dlciB0ZW1wZXJhdHVyZSByYW5nZSB3aGljaCBjb3VsZCBhZmZlY3QgcGVyZm9ybWFuY2UuIEFsdGhvdWdoIHdlIHN0aWxsIG5lZWQgdG8gY29uZmlybSB0aGUgb2xpZ29udWNsZW90aWRlIGRlbGl2ZXJ5IHRpbWUsIHRoZXNlIGZpbmRpbmdzIHdpbGwgaGVscCB1cyB0byByZWZpbmUgb3VyIGNsb25pbmcgc3RyYXRlZ3ksIG9wdGltaXplIFBCUyBzZWxlY3Rpb24gYW5kIGltcHJvdmUgb3VyIG92ZXJhbGwgYXBwcm9hY2ggdG8gcHJpbWVyIGVkaXRpbmcsIGVzcGVjaWFsbHkgaW4gdGVybXMgb2YgdGhlIHBlZ1JOQSBkZXNpZ24uXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiV2UgaW5jb3Jwb3JhdGVkIHRoZSBsZXNzb25zIGxlYXJuZWQgZnJvbSBvdXIgZGlzY3Vzc2lvbnMgb24gcHJpbWUgZWRpdGluZyBhbmQgc2lsZW50IGVkaXRpbmcgZGlyZWN0bHkgaW50byBvdXIgcHJvamVjdCBieSByZWZpbmluZyBvdXIgYXBwcm9hY2ggdG8gZ2VuZSBlZGl0aW5nLiBCYXNlZCBvbiBmZWVkYmFjayBhYm91dCB0aGUgb3B0aW1hbCBsZW5ndGggb2YgcHJpbWVyIGJpbmRpbmcgc2VxdWVuY2VzIChQQlMpIGFuZCBSVFRzLCB3ZSBhZGp1c3RlZCB0aGUgZGVzaWduIG9mIG91ciBwZWdSTkFzIHRvIGVuc3VyZSBncmVhdGVyIHByZWNpc2lvbiBhbmQgZWZmaWNpZW5jeSBpbiBvdXIgZXhwZXJpbWVudHMuIEluIHBhcnRpY3VsYXIsIHdlIGxlYXJuZWQgdGhhdCB1c2luZyBQQlMgbGVuZ3RocyBjbG9zZSB0byAzN1x1MDBCMEMgbWVsdGluZyB0ZW1wZXJhdHVyZXMgKGUuZy4gMTYtMTcgbnVjbGVvdGlkZXMpIGluY3JlYXNlZCBzdGFiaWxpdHksIHdoaWNoIGxlZCB1cyB0byBmaW5lLXR1bmUgdGhlc2Ugc2VxdWVuY2VzIGZvciBpbXByb3ZlZCBlZGl0aW5nIHJlc3VsdHMuIFRoZSBjb25jZXB0IG9mIHNpbGVudCBlZGl0aW5nIGJlY2FtZSBhbiBpbnRlZ3JhbCBwYXJ0IG9mIG91ciBzYWZldHkgc3RyYXRlZ3lbTGluayBCaW9zYWZldHldLCBhbGxvd2luZyB1cyB0byBtYWtlIGNoYW5nZXMgdG8gdGhlIEROQSBtb3JlIHByZWNpc2UuIFdlIGFsc28gcmV2aXNlZCBvdXIgY2xvbmluZyBzdHJhdGVnaWVzIGJ5IGNvbnNpZGVyaW5nIHRoZSBhcHByb3ByaWF0ZSBvdmVyaGFuZyBsZW5ndGgsIHRhcmdldGluZyBhIGJhc2UgcGFpciBsZW5ndGggbmVhciB0aGUgbWVsdGluZyB0ZW1wZXJhdHVyZSBvZiA2MFx1MDBCMEMgdG8gaW1wcm92ZSBjbG9uaW5nIGVmZmljaWVuY3kuIFdlIGFsc28gcmVhc3Nlc3NlZCB0aGUgcHJhY3RpY2FsaXR5IG9mIG9yZGVyaW5nIHNob3J0ZXIgUEJTIHNlcXVlbmNlcywgY29uY2x1ZGluZyB0aGF0IGxlbmd0aHMgc2hvcnRlciB0aGFuIDE1IG50IHdlcmUgbGVzcyBhZHZhbnRhZ2VvdXMgZHVlIHRvIHJlZHVjZWQgZWZmaWNpZW5jeS4gQnkgaW50ZWdyYXRpbmcgdGhlc2UgZmluZGluZ3MsIHdlIG9wdGltaXNlZCBvdXIgZXhwZXJpbWVudGFsIHdvcmtmbG93IGFuZCBtYWRlIGluZm9ybWVkIGRlY2lzaW9ucyBhYm91dCB0aGUgdG9vbHMgYW5kIG1ldGhvZHMgZm9yIG91ciBwcmltZSBlZGl0aW5nIGV4cGVyaW1lbnRzLiBcIixcbiAgICBzdW1tYXJ5OiBcIldlIGVuZ2FnZWQgaW4gYSB2YWx1YWJsZSBkaXNjdXNzaW9uIHdpdGggSmFuLVBoaWxsaXAgR2VyaGFyZHMgcmVnYXJkaW5nIHByaW1lIGVkaXRpbmcgYW5kIHBlZ1JOQXMsIGxldmVyYWdpbmcgaGlzIGludGVybnNoaXAgZXhwZXJpZW5jZSB3aXRoIHRoZXNlIHRlY2hub2xvZ2llcy4gS2V5IGluc2lnaHRzIGluY2x1ZGVkIHRoZSBlZmZlY3RpdmVuZXNzIG9mIHNpbGVudCBlZGl0cywgd2hpY2ggY2FuIGVuaGFuY2UgdGhlIHNhZmV0eSBvZiBvdXIgUHJpbWVHdWlkZSBieSBtb2RpZnlpbmcgRE5BIHNlcXVlbmNlcyB3aXRob3V0IGFsdGVyaW5nIHRoZSByZXN1bHRhbnQgcHJvdGVpbiwgdGhlcmVieSBwcmV2ZW50aW5nIHBlZ1JOQSByZWJpbmRpbmcuIFdlIGFsc28gbGVhcm5lZCB0aGUgaW1wb3J0YW5jZSBvZiBvcHRpbWl6aW5nIHRoZSBwcmltZXIgYmluZGluZyBzaXRlIChQQlMpIGxlbmd0aCB0byBhY2hpZXZlIGlkZWFsIHRlbXBlcmF0dXJlcyBjbG9zZSB0byAzN1x1MDBCMEMsIHJlY29tbWVuZGluZyBsZW5ndGhzIG9mIDE2LTE3IG51Y2xlb3RpZGVzLiBBZGRpdGlvbmFsbHksIHdlIGRpc2NvdmVyZWQgdGhlIHBvdGVudGlhbCBiZW5lZml0cyBvZiB1c2luZyBub24tYW5ub3RhdGVkIHJlZ2lvbnMgd2l0aCBvdmVyaGFuZ3MgZm9yIGNsb25pbmcsIHdoaWxlIGFsc28gcmVjb2duaXppbmcgY29uY2VybnMgYWJvdXQgY2lyY1JOQSBzdGVyaWMgaGluZHJhbmNlIGJ5IENhczkuIFRoZXNlIGluc2lnaHRzIGRpcmVjdGx5IGluZm9ybWVkIG91ciBwcm9qZWN0LCBhbGxvd2luZyB1cyB0byByZWZpbmUgb3VyIHBlZ1JOQSBkZXNpZ24gYW5kIGNsb25pbmcgc3RyYXRlZ2llcywgdWx0aW1hdGVseSBlbmhhbmNpbmcgdGhlIHByZWNpc2lvbiBhbmQgZWZmaWNpZW5jeSBvZiBvdXIgZ2VuZSBlZGl0aW5nIGFwcHJvYWNoLlwiLFxuICAgIG1vbnRoczogXCJNYXlcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJNYXR0aWpzXCIsXG4gICAgbmFjaG5uYW1lOiBcIkJ1bGNhZW5cIixcbiAgICBqb2I6IFwiUGhEIFJlc2VhcmNoZXIgYXQgTGFib3JhdG9yeSBmb3IgTW9sZWN1bGFyIFZpcm9sb2d5ICYgR2VuZSBUaGVyYXB5XCIsXG4gICAgYWZmaWxpYXRpb246IFwiS1UgTGV1dmVuXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snbWF0dGlqcyddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiRGlzY3Vzc2lvbiB3aXRoIGEgUHJpbWUgRWRpdGluZyBFeHBlcnQgb24gU2ltaWxhciBBcHByb2FjaGVzIGZvciBEaWZmZXJlbnQgTXV0YXRpb25zXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibWF0dGlqc2ludlwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgcXVvdGU6IFwiW1x1MjAyNl0gUHJpbWUgRWRpdGluZyBzeXN0ZW0gaXMgbW9yZSBjb21wbGV4IHRoYW4gdGhlIGNhbm9uaWNhbCBDUklTUFIgc3lzdGVtcywgd2l0aCBtb3JlIHZhcmlhYmxlcyB0aGF0IGNhbiBpbmZsdWVuY2Ugc3VjY2VzcyBvciBmYWlsdXJlLlwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPlNob3J0bHkgYWZ0ZXIgd2UgZGVjaWRlZCB0byB1c2UgcHJpbWUgZWRpdGluZyBhcyB0aGUgZ2VuZSBlZGl0aW5nIG1ldGhvZCBmb3Igb3VyIENGIHRoZXJhcHksIE1hdHRpanMgQnVsY2FlbiBmcm9tIHRoZSBMYWJvcmF0b3J5IG9mIE1vbGVjdWxhciBWaXJvbG9neSBhbmQgR2VuZSBUaGVyYXB5IGF0IEtVIExldXZlbiBhbmQgaGlzIGNvbGxlYWd1ZXMgcHVibGlzaGVkIGEgcGFwZXIgZGlyZWN0bHkgcmVsYXRlZCB0byBvdXIgcmVzZWFyY2ggPFRhYlNjcm9sbExpbmsgdGFiPVwibWF0dGlqc2ludlwiIHNjcm9sbElkPVwiZGVzYy0xXCIgbnVtPVwiMVwiIC8+LiBJbiBjb250cmFzdCB0byBvdXIgYXBwcm9hY2gsIEJ1bGNhZW4gZXQgYWwuIDIwMjQgdGFyZ2V0ZWQgb3RoZXIsIGxlc3MgY29tbW9uIGJ1dCBkcnVnLXJlZnJhY3RvcnkgQ0ZUUi1zcGVjaWZpYyBtdXRhdGlvbnMgKEwyMjdSLSBhbmQgTjEzMDNLKS5cdTIwMkYgPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD5UaGUgaW5zaWdodHMgZ2FpbmVkIGZyb20gdGhpcyBpbnRlcnZpZXcgcHJvdmVkIGV4dHJlbWVseSB2YWx1YWJsZSBpbiBzaGFwaW5nIG91ciBzdWJzZXF1ZW50IG1lY2hhbmlzdGljIGFwcHJvYWNoZXMuIEF0IHRoYXQgcG9pbnQgaW4gdGhlIHByb2plY3Qgd2Ugd2VyZSBzdGFydGluZyB0byBkZXNpZ24gdGhlIGNvbXBvbmVudHMgb2Ygb3VyIHByaW1lIGVkaXRvciwgYnV0IHdlIHdlcmUgbGFja2luZyBhIGJyb2FkZXIgb3ZlcnZpZXcgb3ZlciB0aGUgc3RhdGUgb2YgdGhlIGZpZWxkLiBNYXR0aWpzIGdhdmUgdXMgdGhpcyBpbnNpZ2h0LCBtZW50aW9uaW5nIHRlY2huaXF1ZXMgbGlrZSBQRTNiIHN5c3RlbXMsIGRzZ1JOQXMgYW5kIGEgdGFsayBnaXZlbiBieSA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cImxpdVwiIHRleHQ9XCJEYXZpZCBMaXVcIiAvPiwgdGhlIHByaW5jaXBhbCBcbiAgICAgIGludmVzdGlnYXRvciBiZWhpbmQgcHJpbWUgZWRpdGluZyB0aGF0IGhlbHBlZCB1cyB0byBjb25zaWRlciBmdXJ0aGVyIG5vdmVsIGFkdmFuY2VtZW50cyBpbiBpbiBQcmltZSBFZGl0aW5nIGFuZCBpbmNsdWRlIHRoZW0gaW50byBvdXIgcHJvamVjdC4gSGUgZGlzY3Vzc2VkIHdpdGggdXMgdGhlIGRpZmZpY3VsdGllcyB0aGF0IG1pZ2h0IGF3YWl0IHVzIHdoZW4gdGFyZ2V0aW5nIHRoZSBDRlRSIEY1MDhkZWwgZGVsZXRpb24gYW5kIG1lbnRpb25lZCB0aGF0IGluc2VydGlvbnMgb2YgYWxsIHRoZSBlZGl0cyBwb3NzaWJsZSB3aXRoIHByaW1lIGVkaXRpbmcgYXJlIHRoZSBoYXJkZXN0IHRvIG1ha2UsIHRoZSByZWNvZ25pdGlvbiBvZiBlZGl0cyBpbiB0aGUgcmVnaW9uIG1pZ2h0IGF0dHJhY3QgbWlzbWF0Y2ggcmVwYWlyIHN5c3RlbXMgYW5kIHRoZSBjaHJvbWF0aW4gb3JnYW5pemF0aW9uIG1pZ2h0IG5lZ2F0aXZlbHkgaW1wYWN0IHByaW1lIGVkaXRpbmcgZWZmaWNpZW5jeS4gQWxzbywgd2UgbGVhcm5lZCBhIFxuICAgIGxvdCBhYm91dCBob3cgdG8gZGVzaWduIG91ciBwZWdSTkFzLCB3aXRoIGltcG9ydGFudCBpbnB1dHMgYmVpbmcgdGhlIDNcdTIwMTkgc3RlbSBsb29wIG1vdGlmIHRyZXZvcHJlUTEgdXNlZCBieSBNYXR0aWpzIGluIGhpcyBwdWJsaWNhdGlvbiBhbmQgdGhlIHN1Z2dlc3Rpb24gdG8gdXNlIHByZWRpY3Rpb24gdG9vbHMgdG8gZXZhbHVhdGUgc2dSTkEgc3BhY2VyIGN1dHRpbmcgZWZmaWNpZW5jeS4gV2UgcmV2aWV3ZWQgb3VyIGFwcHJvYWNoIG9mIHRlc3RpbmcgcGVnUk5BcyB1c2luZyB0aGUgUEVBUiByZXBvcnRlciBzeXN0ZW0gYW5kIE1hdHRqaXMgcmVjb21tZW5kZWQgdG8gdXNlIEhFSyBjZWxsIGxpbmVzIGZvciBzY3JlZW5pbmcgYmVjYXVzZSBvZiB0aGVpciBlYXN5IGhhbmRsaW5nIGFuZCBuYXR1cmFsbHkgaW1wYWlyZWQgbWlzbWF0Y2ggcmVwYWlyIHN5c3RlbS4gPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5UaGUgaW5wdXRzIGdpdmVuIGJ5IE1hdHRpanMgZGlyZWN0bHkgaW1wYWN0ZWQgb3VyIGRlc2lnbiBjaG9pY2VzIGZvciBtdWx0aXBsZSBwYXJ0cyBvZiB0aGUgcHJvamVjdC4gRm9yIHRoZSBwZWdSTkEgZGVzaWduLCB3ZSBkZWNpZGVkIHRvIHVzZSB0aGUgc2FtZSAzXHUyMDE5IG1vdGlmIGFzIE1hdHRpanMgaGFkIHVzZWQgYW5kIGFsc28sIGxpa2UgaGUgc3VnZ2VzdGVkLCBjaGVja2VkIG91ciBzcGFjZXIgY2FuZGlkYXRlcyBmb3IgcHJlZGljdGVkIGNsZWF2YWdlIGVmZmljaWVuY3kuIEFsc28gd2UgdXNlZCBIRUsgY2VsbHMgZm9yIHNjcmVlbmluZyBvdXIgcGVnUk5Bcy4gV2UgbG9va2VkIGZ1cnRoZXIgaW50byBQRSBzeXN0ZW1zIHRoYXQgaW5mbHVlbmNlIGNlbGx1bGFyIG1pc21hdGNoIHJlcGFpciAoc3VjaCBhcyBQRTQpIGFuZCB0cmllZCB0byBpbmNsdWRlIHRoZXNlIGludG8gb3VyIGRlc2lnbi48L3A+XSxcbiAgICBpbnRlcnZpZXc6IDw+XG4gICAgICA8UWFCb3ggcT1cIldlIGhhdmUgcHJlcGFyZWQgc29tZSBxdWVzdGlvbnMgZm9yIHlvdS4gVGhlIGZpcnN0IHF1ZXN0aW9uIGlzOiBZb3UgbWVudGlvbmVkIHRoYXQgaXQgd2FzIHF1aXRlIGNoYWxsZW5naW5nIHRvIHRhcmdldCB0aGUgRjUwOCBkZWx0YSBtdXRhdGlvbi4gQ291bGQgeW91IHByb3ZpZGUgbW9yZSBkZXRhaWxlZCByZWFzb25zIGZvciB3aHkgdGhpcyBpcyB0aGUgY2FzZSBvciBleHBsYWluIHdoeSB0aGlzIG11dGF0aW9uIGlzIHBhcnRpY3VsYXJseSBkaWZmaWN1bHQgdG8gdGFyZ2V0IGNvbXBhcmVkIHRvIG90aGVycz9cIiBcbiAgICAgICAgYT1cIlllcywgdGhhdCdzIHRoZSBtaWxsaW9uLWRvbGxhciBxdWVzdGlvbi4gRmlyc3Qgb2YgYWxsLCBsZXQgbWUgY2xhcmlmeTogb3VyIGdyb3VwIGhhcyBuZXZlciBkaXJlY3RseSB3b3JrZWQgb24gdGhhdCBtdXRhdGlvbiBiZWNhdXNlIHdlIGltbWVkaWF0ZWx5IGZvY3VzZWQgb24gdGhlIGRydWctcmVmcmFjdG9yeSBtdXRhdGlvbnMsIHN1Y2ggYXMgbm9uc2Vuc2UgbXV0YXRpb25zIHdoZXJlIHRoZSBwcm90ZWluIGlzIG5vdCBmb3JtZWQsIGluZGVsIG11dGF0aW9ucywgb3Igc2V2ZXJlIG1pc3NlbnNlIG11dGF0aW9ucyB0aGF0IGRvIG5vdCByZXNwb25kIHRvIG1vZHVsYXRvciB0aGVyYXBpZXMuIE9mIGNvdXJzZSwgd2Uga25vdyBzZXZlcmFsIGdyb3VwcyBpbiB0aGUgZmllbGQgd2hvIGVpdGhlciB3b3JrIG9uIGdlbmUgZWRpdGluZyBvciBmb2N1cyBvbiBjeXN0aWMgZmlicm9zaXMgKENGKS4gV2UndmUgaGVhcmQgZnJvbSBzb21lIG9mIHRoZW0gd2hvIGF0dGVtcHRlZCB0byB0YXJnZXQgdGhlIEY1MDggZGVsdGEgbXV0YXRpb24uIEZvciBleGFtcGxlLCBzb21lIGNvbGxhYm9yYXRvcnMgcmVhbGx5IHRyaWVkIHRvIGRlc2lnbiBkaWZmZXJlbnQgZ3VpZGVzIGJ1dCB3ZXJlIHVuYWJsZSB0byBmaW5kIGFueXRoaW5nIGFib3ZlIHRoZSBkZXRlY3Rpb24gbGltaXQuIFxuICAgICAgICBGNTA4ZGVsIGlzIHByb2JhYmx5IG9uZSBvZiB0aGUgbW9zdCBsb2dpY2FsIG11dGF0aW9ucyB0byB0cnkgdG8gY29ycmVjdCwgbm90IGp1c3QgZm9yIENGIGJ1dCBmb3IgdGhlIGVudGlyZSBnZW5lLWVkaXRpbmcgZmllbGQuIElmIHlvdSBsb29rIGF0IHRoZSBmcmVxdWVuY2llcyBvZiBtdXRhdGlvbnMgdGhhdCBjYXVzZSBnZW5ldGljIGRpc2Vhc2VzLCB0aGUgRjUwOCBkZWx0YSBtdXRhdGlvbiBpcyBieSBmYXIgdGhlIG1vc3QgY29tbW9uIGRlbGV0aW9uIG11dGF0aW9uIGNhdXNpbmcgYSBzZXZlcmUgZGlzZWFzZS4gVGhpcyBpcyBiZWNhdXNlIENGLCBhbG9uZyB3aXRoIHNpY2tsZSBjZWxsIGRpc2Vhc2UsIGlzIG9uZSBvZiB0aGUgbW9zdCBjb21tb24gZGVhZGx5IGluaGVyaXRlZCBkaXNlYXNlcywgYW5kIGl0J3Mgb3ZlcnJlcHJlc2VudGVkIHdpdGhpbiBDRi4gU28sIGl0IG1ha2VzIHNlbnNlIHRoYXQgdGhleSB3b3VsZCBoYXZlIGJlZW4gdHJ5aW5nIHRvIHRhcmdldCBpdCBmcm9tIHRoZSBiZWdpbm5pbmcuIFxuICAgICAgICBJbnRlcmVzdGluZ2x5LCBpZiB5b3UgcmVhZCB0aGUgUHJpbWUgRWRpdGluZyBwYXBlciBieSBBbnphbG9uZSwgRjUwOCBkZWx0YSBpcyBtZW50aW9uZWQgaW4gdGhlIGludHJvZHVjdGlvbiBpbiBjb25uZWN0aW9uIHdpdGggQ0YuIFNvLCBpdCdzIHNvbWV3aGF0IHN1cnByaXNpbmcgdGhhdCBhZnRlciBhbGwgdGhpcyB0aW1lXHUyMDE0aXQncyBiZWVuIGFsbW9zdCBmaXZlIHllYXJzIG5vd1x1MjAxNHRoZXkgaGF2ZW4ndCBwdWJsaXNoZWQgb3IgcmVsZWFzZWQgYW55dGhpbmcgb24gRjUwOCBkZWx0YS4gXG4gICAgICAgIEhvd2V2ZXIsIGxhc3Qgd2Vla2VuZCwgdGhlcmUgd2FzIGFuIG9ubGluZSBzZW1pbmFyIHdoZXJlIERhdmlkIExpdSBnYXZlIGEgdGFsaywgYW5kIGhlIHNob3dlZCBzb21lIHVucHVibGlzaGVkIGRhdGEgaW5kaWNhdGluZyB0aGF0IHRoZXkgbWFuYWdlZCB0byBhY2hpZXZlIHF1aXRlIGdvb2QgUHJpbWUgRWRpdGluZyBlZmZpY2llbmN5IG9uIEY1MDggZGVsdGEuIEl0J3Mgd29ydGggbm90aW5nIHRoYXQgRGF2aWQgTGl1IHJhcmVseSBwcmVzZW50cyB1bnB1Ymxpc2hlZCBkYXRhIHVubGVzcyB0aGUgcHVibGljYXRpb24gaXMgZWl0aGVyIGFjY2VwdGVkIG9yIHZlcnkgY2xvc2UgdG8gYWNjZXB0YW5jZS4gU28sIHdlIGFsbCBraW5kIG9mIGV4cGVjdCB0aGF0IHRoZSBwYXBlciB3aWxsIGJlIHB1Ymxpc2hlZCBzb29uLCBwZXJoYXBzIHdpdGhpbiB0aGUgbmV4dCB3ZWVrIG9yIGF0IGxlYXN0IHdpdGhpbiBhIG1vbnRoLiBGcm9tIHdoYXQgSSBzYXcsIGl0IGFwcGVhcnMgdGhleSBsZXZlcmFnZWQgbWFueSBvZiB0aGUgYXBwcm9hY2hlcyBhdmFpbGFibGUgdG9kYXkgdG8gZW5oYW5jZSBQcmltZSBFZGl0aW5nLiBcbiAgICAgICAgTm93LCByZWdhcmRpbmcgeW91ciBxdWVzdGlvbiBhYm91dCB3aHkgdGhpcyBtdXRhdGlvbiBpcyBzbyBkaWZmaWN1bHQgdG8gdGFyZ2V0IHdpdGggUHJpbWUgRWRpdGluZywgSSBjYW4ndCBwcm92aWRlIGFuIGV4YWN0IGFuc3dlci4gSG93ZXZlciwgSSBjYW4gbGlzdCBzb21lIHBvdGVudGlhbCBkaWZmaWN1bHRpZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBtdXRhdGlvbiwgYW5kIGl0XHUyMDE5cyBsaWtlbHkgdGhhdCBGNTA4IGRlbHRhIGlzIGNoYWxsZW5naW5nIGZvciBzZXZlcmFsIG9mIHRoZXNlIHJlYXNvbnMuIEZvciBpbnN0YW5jZSwgaXQgY291bGQgYmUgcmVsYXRlZCB0byB0aGUgZ2Vub21pYyByZWdpb24gaXRzZWxmLiBXcml0aW5nIGluc2VydGlvbnMgY2FuIGJlIG1vcmUgZGlmZmljdWx0OyB0aGUgZWFzaWVzdCBlZGl0cyBhcmUgc2luZ2xlLXBvaW50IG11dGF0aW9ucywgZm9sbG93ZWQgYnkgZGVsZXRpb25zLCBhbmQgdGhlIG1vc3QgY2hhbGxlbmdpbmcgYXJlIGluc2VydGlvbnMuIFRoaXMgZGlmZmljdWx0eSBhcmlzZXMgYmVjYXVzZSBpdCBpbnZvbHZlcyB3cml0aW5nIGEgdGhpcmQgc3RyYW5kIGFuZCB0aGVuIHJlbHlpbmcgb24gRE5BIGRhbWFnZSByZXBhaXIgbWVjaGFuaXNtcyB0byBmaXggaXQuICBcbiAgICAgICAgSXQgY291bGQgYWxzbyBiZSB0aGF0IHRoZSByZWdpb24gYXJvdW5kIHRoZSBGNTA4IGRlbHRhIG11dGF0aW9uIGlzIGNoYWxsZW5naW5nIGR1ZSB0byBmbGFwIGVxdWlsaWJyYXRpb24gb3IgdGhhdCBpdCBhdHRyYWN0cyBwYXRod2F5cyBzdWNoIGFzIG1pc21hdGNoIHJlcGFpciB0aGF0IG5lZ2F0aXZlbHkgaW1wYWN0IFByaW1lIEVkaXRpbmcuIEFkZGl0aW9uYWxseSwgdGhlIGNocm9tYXRpbiBvcmdhbml6YXRpb24gYXJvdW5kIHRoYXQgcmVnaW9uIGNvdWxkIHBsYXkgYSByb2xlLiBPdmVyIHRoZSBwYXN0IHllYXIsIHdlXHUyMDE5dmUgZ2F0aGVyZWQgY2x1ZXMgdGhhdCBjaHJvbWF0aW4gb3JnYW5pemF0aW9uIHNpZ25pZmljYW50bHkgYWZmZWN0cyBQcmltZSBFZGl0aW5nIGNhcGFiaWxpdHksIHdoaWxlIHRoaXMgaXMgbXVjaCBsZXNzIG9mIGFuIGlzc3VlIGZvciBDYXM5IGFuZCBiYXNlIGVkaXRvcnMuIFxuICAgICAgICBTdHVkeWluZyB0aGlzIGlzIG5vdCBzdHJhaWdodGZvcndhcmQ7IHlvdSB3b3VsZCBuZWVkIHRvIGNvbmR1Y3QgZXhwZXJpbWVudHMgbGlrZSBBVEFDLXNlcSB0byBkZXRlcm1pbmUgdGhlIGNocm9tYXRpbiBvcmdhbml6YXRpb24gYXJvdW5kIHRoZSBtdXRhdGlvbiBhbmQgaG93IGl0IG1pZ2h0IGludGVyZmVyZS4gSSBhbHNvIG5vdGljZWQgb24gYSBzbGlkZSB0aGF0IGRzZ1JOQXMgd2VyZSBtZW50aW9uZWQsIHRob3VnaCBEYXZpZCBMaXUgZGlkbid0IGRpc2N1c3MgdGhlbSBpbiBoaXMgdGFsay4gQWZ0ZXIgbG9va2luZyB0aGVtIHVwIG9ubGluZSwgSSBmb3VuZCB0aGF0IHRoaXMgdGVjaG5pcXVlLCBwdWJsaXNoZWQgYSBmZXcgeWVhcnMgYWdvIGJ5IG90aGVyIHJlc2VhcmNoZXJzLCBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gb3BlbiB1cCBjaHJvbWF0aW4uIEl0IHNlZW1zIHRoZXkgdXNlIGRpZmZlcmVudCBndWlkZXMsIHdpdGhvdXQgdGhlIHRocmVlLXByaW1lIGV4dGVuc2lvbiwgdG8gb3BlbiB1cCB0aGUgY2hyb21hdGluLCB3aGljaCBjb3VsZCBiZSBvbmUgd2F5IHRvIG92ZXJjb21lIHRoZSBsaW1pdGF0aW9ucyBpbiBQcmltZSBFZGl0aW5nIGVmZmljaWVuY3kuIFxuICAgICAgICBUaGVyZSBjb3VsZCBiZSBvdGhlciBmYWN0b3JzIGFzIHdlbGwsIGFuZCBpdFx1MjAxOXMgb2Z0ZW4gZGlmZmljdWx0IHRvIHByZWRpY3Qgd2hhdCB3aWxsIHdvcmsgYW5kIHdoYXQgd29uJ3QuIFdlIGhhdmUgcHJlZGljdGlvbiB0b29scyBmb3IgUHJpbWUgRWRpdGluZyBndWlkZXMgdGhhdCB3b3JrIHRvIHNvbWUgZXh0ZW50LCBidXQgdGhleSBhcmUgbm90IGFzIGVmZmVjdGl2ZSBhcyB0aGUgcHJlZGljdGlvbiB0b29scyBhdmFpbGFibGUgZm9yIHJlZ3VsYXIgQ1JJU1BSIGd1aWRlIFJOQXMuIFRoaXMgc3VnZ2VzdHMgdGhhdCB0aGUgUHJpbWUgRWRpdGluZyBzeXN0ZW0gaXMgbW9yZSBjb21wbGV4IHRoYW4gdGhlIGNhbm9uaWNhbCBDUklTUFIgc3lzdGVtcywgd2l0aCBtb3JlIHZhcmlhYmxlcyB0aGF0IGNhbiBpbmZsdWVuY2Ugc3VjY2VzcyBvciBmYWlsdXJlLiBJIGhvcGUgdGhpcyBhbnN3ZXJzIHlvdXIgcXVlc3Rpb24gc29tZXdoYXQuIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIlRoYXQgaGFzIGFscmVhZHkgYmVlbiB2ZXJ5IGhlbHBmdWwsIHRoYW5rIHlvdSBmb3IgdGhhdC4gV2UnbGwgY29uc2lkZXIgdGhpcyBhbmQgbWlnaHQgbG9vayBpbnRvIGl0IGEgYml0IG1vcmUuIFxuICAgICAgICBQZXJoYXBzIHdlIGNvdWxkIHF1aWNrbHkgZGlzY3VzcyB3aGljaCBwYXJ0IG9mIHRoZSBwcmltZSBlZGl0aW5nIGNvbXBsZXggeW91IHRoaW5rIHBsYXlzIHRoZSBtb3N0IHNpZ25pZmljYW50IHJvbGUgaW4gbWFraW5nIGluc2VydGlvbnMgbXVjaCBtb3JlIGNoYWxsZW5naW5nIGNvbXBhcmVkIHRvIGRlbGV0aW9ucy4gSXMgaXQgdGhlIHJldmVyc2UgdHJhbnNjcmlwdGFzZSBvciB0aGUgUk5BPyBcIiBcbiAgICAgICAgYT1cIkkgIGRvbid0IHRoaW5rIGl0J3MgcHJpbWFyaWx5IHRoZSByZXZlcnNlIHRyYW5zY3JpcHRhc2UgdGhhdCdzIHRoZSBpc3N1ZS4gUGVvcGxlIGhhdmUgc2hvd24gdGhhdCBsb25nZXIgaW5zZXJ0aW9ucyBhcmUgZGVmaW5pdGVseSBwb3NzaWJsZS4gSSBiZWxpZXZlIHRoZSBjaGFsbGVuZ2UgbGllcyBpbiB0aGUgcHJvY2VzcyB3aGVuIHlvdXIgY2VsbCBoYXMgdG8gcmVwYWlyIHRoZSBuZXcgRE5BIHN0cmFuZCwgd2hpY2ggaXMgZ2VuZXJhdGVkIGFuZCBleGlzdHMgYXMgYSB0aHJlZS1zdHJhbmRlZCBpbnRlcm1lZGlhdGUuIFdlIGRvblx1MjAxOXQgZGlyZWN0bHkgaW50ZXJ2ZW5lIGluIHRoaXMgcHJvY2VzczsgaXQgZW50aXJlbHkgZGVwZW5kcyBvbiB0aGUgY2VsbCBhbmQgdGhlIEROQSBkYW1hZ2UgcmVwYWlyIHBhdGh3YXlzIGFjdGl2ZSBpbiB0aG9zZSBjZWxscy4gVGhyb3VnaCBleHByZXNzaW9uIG9mIGRvbWluYW50IG5lZ2F0aXZlIEROQSBkYW1hZ2UgcmVwYWlyIGVmZmVjdG9ycywgb3IgYnkgbmlja2luZyB0aGUgbm9uLWVkaXRlZCBzdHJhbmQsIHRoZSBvdXRjb21lIGNhbiBiZSBzdGVlcmVkIHRvIHNvbWUgZXh0ZW50LiBcbiAgICAgICAgV2hlbiB5b3UgcGVyZm9ybSBhbiBpbnNlcnRpb24sIHRoZSBuZXcgc3RyYW5kIG11c3QgaHlicmlkaXplIHdpdGggdGhlIGJvdHRvbSBzdHJhbmQsIHdoaWNoIHJlbWFpbnMgaW50YWN0LiBUaGlzIGNyZWF0ZXMgYSBzbWFsbCBsb29wIHRoYXQgbmVlZHMgdG8gYmUgaW5jb3Jwb3JhdGVkLiBBdCB0aGlzIHBvaW50LCB0aGUgY2VsbCBmYWNlcyB0d28gb3B0aW9uczogaXQgY2FuIGVpdGhlciByZXZlcnQgdG8gdGhlIG9yaWdpbmFsIHN0YXRlIG9yIGluY29ycG9yYXRlIHRoZSBlZGl0IHlvdVx1MjAxOXJlIHRyeWluZyB0byBpbnRyb2R1Y2UuIEluIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgcGVyaGFwcyBkdWUgdG8gaG93IHRoZSBuZXcgRE5BIHN0cmFuZCBmb2xkcyBvciB0aGUgc2VxdWVuY2UgY29udGV4dCBvZiB0aGUgcmVnaW9uIG9mIGludGVyZXN0LCB0aGUgY2VsbCBtaWdodCBoZWF2aWx5IGZhdm9yIHJldmVydGluZyB0byB0aGUgb3JpZ2luYWwgc3RhdGUsIHJlc3VsdGluZyBpbiB0aGUgYWJzZW5jZSBvZiB0aGUgaW50ZW5kZWQgZWRpdC4gXG4gICAgICAgIFRoaXMgcHJvY2VzcyBpcyBleHRyZW1lbHkgZGlmZmljdWx0IHRvIHByZWRpY3QsIGJ1dCB0aGVyZSBhcmUgc2V2ZXJhbCBpbmRpY2F0aW9ucyBwb2ludGluZyBpbiB0aGlzIGRpcmVjdGlvbi4gRm9yIGV4YW1wbGUsIGluIHRoZSBjYXNlIG9mIHBvaW50IG11dGF0aW9ucywgaXQgaGFzIGJlZW4gc2hvd24gdGhhdCBpdFx1MjAxOXMgZWFzaWVyIHRvIGNvbnZlcnQgYSBDIHRvIGEgRyByYXRoZXIgdGhhbiB0aGUgcmV2ZXJzZSwgc2ltcGx5IGR1ZSB0byBob3cgdGhlc2UgbWlzbWF0Y2hlcyBhcmUgcmVjb2duaXplZCBieSB0aGUgRE5BIGRhbWFnZSByZXBhaXIgbWVjaGFuaXNtcy4gVGhpcyBhcmVhIGlzIHZlcnkgY29tcGxleCwgYW5kIEkgZG9uXHUyMDE5dCB0aGluayBhbnlvbmUgZnVsbHkgdW5kZXJzdGFuZHMgaXQgeWV0LiBJdFx1MjAxOXMgYWxzbyBkaWZmaWN1bHQgdG8gc3R1ZHkuIFxuICAgICAgICBJIGRvbid0IGJlbGlldmUgdGhlIHJhdGUgb2YgcmV2ZXJzZSB0cmFuc2NyaXB0aW9uIGlzIHRoZSBsaW1pdGluZyBmYWN0b3IgaGVyZSwgYWx0aG91Z2ggaXQgY291bGQgcGxheSBhIHJvbGUgZm9yIGxvbmcgb3Igc3RydWN0dXJlZCBwZWdSTkFzLiBZb3UgbWlnaHQgaGF2ZSBhbHJlYWR5IGNvbWUgYWNyb3NzIHRoaXMsIGJ1dCB0aGUgUEU2IGdlbmVyYXRpb24gb2YgUHJpbWUgRWRpdG9ycywgd2hpY2ggd2VyZSByZWxlYXNlZCBhYm91dCBoYWxmIGEgeWVhciBhZ28sIGludm9sdmUgZW5naW5lZXJlZCBvciBldm9sdmVkIHJldmVyc2UgdHJhbnNjcmlwdGFzZXMgdGhhdCBhcmUgbW9yZSBwcm9jZXNzaXZlIGFuZCBjYW4gbW9yZSBlYXNpbHkgc3ludGhlc2l6ZSBsb25nZXIgdHJhbnNjcmlwdHMuIFxuICAgICAgICBBbm90aGVyIGZhY3RvciB0aGF0IGNvdWxkIHBsYXkgYSByb2xlIGlzIHRoZSBzZWNvbmRhcnkgc3RydWN0dXJlIG9mIHRoZSBndWlkZSBSTkEuIEVhY2ggcHJpbWUgZWRpdGluZyBndWlkZSBSTkEgZmFjZXMgYSBjb21tb24gcHJvYmxlbTogaXQgaGFzIGEgc3BhY2VyIHRoYXQgYmluZHMgdGhlIGJvdHRvbSBzdHJhbmQgYW5kIGEgdGhyZWUtcHJpbWUgZXh0ZW5zaW9uIHRoYXQgYmluZHMgdGhlIHRvcCBzdHJhbmQuIFNpbmNlIHRoZXNlIHR3byBwYXJ0cyBvZiB0aGUgUk5BIGJpbmQgY29tcGxlbWVudGFyeSBzdHJhbmRzLCB0aGV5IGFyZSBhbHNvIGNvbXBsZW1lbnRhcnkgdG8gZWFjaCBvdGhlciwgbWVhbmluZyBldmVyeSBwcmltZSBlZGl0aW5nIGd1aWRlIGhhcyBzb21lIHRlbmRlbmN5IHRvIGJpbmQgaXRzZWxmLiBJZiB0aGUgR2liYnMgZnJlZSBlbmVyZ3kgaXMgdG9vIGhpZ2gsIHRoZSBndWlkZSBSTkEgbWF5IGZvbGQgaW4gb24gaXRzZWxmLCBwcmV2ZW50aW5nIGl0IGZyb20gYmluZGluZyB0byB0aGUgcHJpbWUgZWRpdG9yLCB3aGljaCB0aGVuIGluaGliaXRzIHByaW1lIGVkaXRpbmcuIFxuICAgICAgICBBZGRpdGlvbmFsbHksIHRoZSB0aHJlZS1wcmltZSBleHRlbnNpb24gaXRzZWxmIGNhbiBmb2xkIGluZGVwZW5kZW50bHkuIEkgaGF2ZW5cdTIwMTl0IHNwZWNpZmljYWxseSBleGFtaW5lZCB0aGlzIGZvciB0aGUgRjUwOCBkZWx0YSBndWlkZXMsIGJ1dCBpdCBpcyBzb21ldGhpbmcgdGhhdCBjYW4gYmUgcHJlZGljdGVkLiBUaGVyZSBhcmUgdG9vbHMgYXZhaWxhYmxlIHRoYXQgY2FuIHByZWRpY3QgdGhlIHNlY29uZGFyeSBzdHJ1Y3R1cmUgb2YgYW4gUk5BIHNlcXVlbmNlLCBhbmQgaWYgdGhlcmVcdTIwMTlzIGEgc2lnbmlmaWNhbnQgaGFpcnBpbiBzdHJ1Y3R1cmUsIGl0IG1pZ2h0IG1lYW4gdGhlIHRocmVlLXByaW1lIGV4dGVuc2lvbiByZW1haW5zIGNsb3NlZCwgcHJldmVudGluZyB0aGUgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIGZyb20gdXNpbmcgaXQgYXMgYSB0ZW1wbGF0ZS4gVGhlIFBFNiBwcmltZSBlZGl0b3JzIGhhdmUgYmVlbiBlbmdpbmVlcmVkIHRvIGJlIG1vcmUgZWZmZWN0aXZlIGluIHN1Y2ggc2NlbmFyaW9zLCBiZWluZyBsZXNzIGFmZmVjdGVkIGJ5IHNlY29uZGFyeSBzdHJ1Y3R1cmVzIGFuZCBiZXR0ZXIgYWJsZSB0byByZWFkIHRocm91Z2ggdGhlbS4gXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiWWVzLCBleGFjdGx5LCB3ZSBub3RpY2VkIHRoZSBzYW1lIHRoaW5nIHdoZW4gcHJlZGljdGluZyB0aGUgc2Vjb25kYXJ5IHN0cnVjdHVyZSBvZiBvdXIgZ3VpZGUgUk5BLiBBcyB5b3UgbWVudGlvbmVkLCB0aGUgc3BhY2VyIGFuZCB0aGUgYmluZGluZyBzaXRlIGFyZSBjb21wbGVtZW50YXJ5LCBzbyB3ZSBlbmQgdXAgd2l0aCBhIHJlYWxseSBsb25nIGNvbXBsZW1lbnRhcnkgc3RyYW5kIHRoYXQgYmluZHMgdG8gaXRzZWxmLiBXZSB3ZXJlIGFsc28gdW5zdXJlIHdoZXRoZXIgaXQgd291bGQgb3BlbiB1cCBvciByZW1haW4gYm91bmQgdG9nZXRoZXIuXCIgXG4gICAgICAgIGE9XCJJIHRoaW5rIHRoZSBMaXUgbGFiIG1lbnRpb25lZCBpbiB0aGUgUEU2IHBhcGVyIGEgdGhyZXNob2xkIGZvciB0aGUgZnJlZSBlbmVyZ3kgb2YgdGhlIGd1aWRlIFJOQSBzdHJ1Y3R1cmUuIFRoZXkgc3VnZ2VzdCB0aGF0IGV2ZXJ5IGd1aWRlIHdpbGwgYmVoYXZlIGRpZmZlcmVudGx5LCBidXQgdGhlcmVcdTIwMTlzIG9mdGVuIGEgbW9yZSBjb21wbGV4IGludGVyYWN0aW9uIGF0IHBsYXkgdGhhbiBqdXN0IGEgc2ltcGxlIHRocmVzaG9sZC4gSWYgdGhlIGZyZWUgZW5lcmd5IGlzIG5vdCB0b28gbG93LCB0aGUgZ3VpZGUgUk5BIG1heSBzdGlsbCBmdW5jdGlvbiBlZmZpY2llbnRseSBhbmQgYmUgaW5jb3Jwb3JhdGVkIGludG8gdGhlIHByaW1lIGVkaXRvciwgd2l0aCBldmVyeXRoaW5nIHJlbWFpbmluZyBpbiBlcXVpbGlicml1bS4gSG93ZXZlciwgaWYgdGhlIGZyZWUgZW5lcmd5IGlzIHRvbyBsb3csIG1lYW5pbmcgaGlnaCBwcm9wZW5zaXR5IGZvciBzZWxmLWZvbGRpbmcsIGl0IGNhbiBjYXVzZSBwcm9ibGVtcy4gXG4gICAgICAgIEkgYWxzbyByZWNlbnRseSBjYW1lIGFjcm9zcyBhIHBhcGVyIGZyb20gdGhlIGdyb3VwIG9mIEtlaXRoIEpvdW5nLCBhbm90aGVyIHByb21pbmVudCBDUklTUFIgc2NpZW50aXN0IGZyb20gdGhlIFUuUy4sIHdoZXJlIHRoZXkgZGVtb25zdHJhdGVkIHRoYXQgYXBwbHlpbmcgYSBoZWF0IHNob2NrIHRvIHRoZSBndWlkZSBSTkEgY2FuIGhlbHAgaXQgcmVmb2xkLiBUaGlzIGlzIHBhcnRpY3VsYXJseSByZWxldmFudCBpZiB5b3VcdTIwMTlyZSB1c2luZyBSTlAgb3IgbVJOQSB3aXRoIHN5bnRoZXRpYyBndWlkZSBSTkEuIFRoZXkgbGlua2VkIHRoaXMgc3BlY2lmaWNhbGx5IHRvIHRoZSBzZWxmLWJpbmRpbmcgY2FwYWNpdHkgb2YgdGhlIGd1aWRlIFJOQSwgc3VnZ2VzdGluZyB0aGF0IGhlYXQgc2hvY2sgY2FuIG1pdGlnYXRlIHRoZSBpc3N1ZXMgY2F1c2VkIGJ5IHNlbGYtYmluZGluZy4gXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCB3b3VsZCBiZSB0aGUgYXBwbGljYXRpb24/IFdvdWxkIHlvdSBhZG1pbmlzdGVyIHRoZSBoZWF0IHNob2NrIGluIHZpdm8/XCIgXG4gICAgICAgIGE9XCJJIGJlbGlldmUgdGhleSB1c2VkIGl0IHRvIGVuZ2luZWVyIHplYnJhZmlzaCBlbWJyeW9zIG9yIHNvbWV0aGluZyBhbG9uZyB0aG9zZSBsaW5lcy4gSXRcdTIwMTlzIHF1aXRlIHNwZWNpZmljLCBvZiBjb3Vyc2UuIElmIHlvdSBwbGFuIHRvIGRlbGl2ZXIgeW91ciBndWlkZSBSTkEgdGhyb3VnaCBhIHZpcmFsIHZlY3RvciBvciBzaW1pbGFyIG1ldGhvZCBmb3IgaHVtYW4gdGhlcmFweSwgdGhlIGFwcGxpY2F0aW9uIHdvdWxkIGRpZmZlciBzaWduaWZpY2FudGx5LiBZb3Ugb2J2aW91c2x5IGNhbid0IGFkbWluaXN0ZXIgYSBoZWF0IHNob2NrIHRvIGh1bWFucywgc28gaXQgcmVhbGx5IGRlcGVuZHMgb24gdGhlIGNvbnRleHQgb2YgeW91ciBhcHBsaWNhdGlvbi5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJPa2F5LCB0aGF0J3MgaW50ZXJlc3RpbmcuIEdpdmVuIHRoZSB0aW1lIGNvbnN0cmFpbnRzLCBsZXQncyBtb3ZlIG9uIHRvIHRoZSBuZXh0IHF1ZXN0aW9uLiBEdWUgdG8gb3VyIGxpbWl0ZWQgcmVzb3VyY2VzLCB3ZSBhcmUgdGFyZ2V0aW5nIGEgUEUyIHN5c3RlbSwgYW5kIHdlJ2QgbGlrZSB0byBhc2sgaWYgeW91IHNlZSBhbnkgY2hhbmNlcyBvZiBzdWNjZXNzIHdpdGggdGhpcyBzeXN0ZW0uIElmIHNvLCBob3cgaGlnaCBkbyB5b3UgdGhpbmsgdGhlIGNoYW5jZXMgb2Ygc3VjY2VzcyBhcmU/IFdlIHVuZGVyc3RhbmQgdGhhdCB0aGUgUEUzIHN5c3RlbSwgYXMgc2hvd24gaW4geW91ciBwYXBlciwgaXMgbXVjaCBtb3JlIGFkdmFuY2VkIGFuZCBwZXJmb3JtcyBzaWduaWZpY2FudGx5IGJldHRlci4gQnV0IGdpdmVuIG91ciBzaXR1YXRpb24sIGRvIHlvdSB0aGluayBvdXIgUEUyIHN5c3RlbSBjb3VsZCBzdGlsbCBiZSBlZmZlY3RpdmUsIG9yIHdvdWxkIHlvdSBzdWdnZXN0IHRoYXQgaXQgb25seSBtYWtlcyBzZW5zZSB0byB1c2Ugc29tZXRoaW5nIGxpa2UgUEUzP1wiIFxuICAgICAgICBhPVwiUEUyIGNhbiB3b3JrLCBidXQgaXQgcmVhbGx5IGRlcGVuZHMgb24geW91ciBhcHBsaWNhdGlvbiBhbmQgdGhlIG1ldGhvZHMgeW91IGhhdmUgdG8gYXNzZXNzIHRoZSBlZGl0aW5nIGVmZmljaWVuY3kuIElmIHlvdSBjYW4gdXNlIE5HUyAoTmV4dC1HZW5lcmF0aW9uIFNlcXVlbmNpbmcpIGZvciBldmVyeXRoaW5nLCB5b3UnbGwgYmUgYWJsZSB0byBkZXRlY3QgZWRpdHMgZXZlbiB3aXRoIFBFMiBzeXN0ZW1zLiBIb3dldmVyLCBJIHdvdWxkIGdlbmVyYWxseSBleHBlY3QgdGhlIGVmZmljaWVuY3kgdG8gYmUgbG93LiBXaGVuZXZlciBwb3NzaWJsZSwgSSB3b3VsZCBhbHdheXMgcmVjb21tZW5kIHRyeWluZyB0aGUgUEUzIHN5c3RlbS4gQ291bGQgeW91IHNoYXJlIHdoYXQgeW91ciBzcGVjaWZpYyBhcHBsaWNhdGlvbiBpcywgb3IgaXMgdGhhdCBjb25maWRlbnRpYWw/XCIgLz5cbiAgICAgIDxRYUJveCBxPVwiU28gb3VyIGdvYWwgaXMgdG8gZXZlbnR1YWxseSB1c2UgaXQgaW4gdml2bywgYnV0IGZvciBub3csIHdlJ3JlIGZvY3VzaW5nIG9uIHRyeWluZyB0byBjb3JyZWN0IHRoZSBtdXRhdGlvbiBmaXJzdCBpbiByZWd1bGFyIGNlbGwgY3VsdHVyZXMgYW5kIHRoZW4gbGF0ZXIgaW4gcHJpbWFyeSBjZWxscy5cIiBcbiAgICAgICAgYT1cIklzIHlvdXIgZm9jdXMgc3BlY2lmaWNhbGx5IG9uIHRoZSBGNTA4IGRlbHRhIG11dGF0aW9uPyBJZiBzbywgd2UgY291bGQgcG90ZW50aWFsbHkgaGVscCB5b3UgZ2V0IHlvdSBzdGFydGVkLCBhcyB3ZSBhbHJlYWR5IGhhdmUgY29uc3RydWN0cyBhbmQgY2VsbHMgd2l0aCB0aGF0IG11dGF0aW9uLiBXZSB3b3VsZCBuZWVkIHRvIGRpc2N1c3MgdGhlIGZpbmFuY2lhbCBhc3BlY3RzLCBidXQgd2UgbWlnaHQgYmUgYWJsZSB0byBhc3Npc3QuIEhvd2V2ZXIsIGFyZSB5b3UgZnVsbHkgY29tbWl0dGVkIHRvIHRhcmdldGluZyBGNTA4LCBvciBhcmUgeW91IGFsc28gY29uc2lkZXJpbmcgb3RoZXIgZGlzZWFzZXMgb3IgbXV0YXRpb25zP1wiIC8+XG4gICAgICA8UWFCb3ggcT1cIlRoZSB0aW1lZnJhbWUgb2YgdGhlIHByb2plY3QsIGNvbWJpbmVkIHdpdGggdGhlIGZhY3QgdGhhdCB3ZVx1MjAxOXJlIGFsbCBzdHVkeWluZyBvbiB0aGUgc2lkZSwgbGltaXRzIHVzIHRvIGEgY2VydGFpbiBzY29wZS4gU2luY2UgdGhpcyBpcyBvdXIgZmlyc3QgdGltZSB0YWNrbGluZyBhIHByb2plY3QgbGlrZSB0aGlzLCBpdCBtYWtlcyBzZW5zZSB0byBzdGljayB0byBzb21ldGhpbmcgbW9yZSBtYW5hZ2VhYmxlLiBTbywgd2UncmUgc29tZXdoYXQgY29tbWl0dGVkIHRvIGZvY3VzaW5nIG9uIEY1MDggZHVlIHRvIHRoZXNlIGNvbnN0cmFpbnRzLlwiIFxuICAgICAgICBhPVwiVGhhdCdzIHVuZGVyc3RhbmRhYmxlLiBJdCBjYW4gYmUgcmVhbGx5IHRvdWdoIHRvIGp1Z2dsZSBhIHByb2plY3QgbGlrZSB0aGlzIGFsb25nIHdpdGggZXhhbXMgYW5kIHN0dWRpZXMsIGVzcGVjaWFsbHkgaWYgeW91J3JlIGFsc28gaW52b2x2ZWQgaW4gY29tcGV0aXRpb25zLiBCdXQgaXQncyBkZWZpbml0ZWx5IHdvcnRoIHRoZSBlZmZvcnQsIGV2ZW4gaWYgeW91IGRvbid0IGFjaGlldmUgaHVnZSByZXN1bHRzIHJpZ2h0IGF3YXkuIFRoZSBleHBlcmllbmNlIGFuZCBsZWFybmluZywgYXMgd2VsbCBhcyB0aGUgY29ubmVjdGlvbnMgeW91IG1ha2UsIGFyZSBpbmNyZWRpYmx5IHZhbHVhYmxlLiBJJ20gYSBiaWcgc3VwcG9ydGVyIG9mIHN1Y2ggcHJvamVjdHMuIFNvLCB3aGF0IHJlc291cmNlcyBkbyB5b3UgY3VycmVudGx5IGhhdmU/IERvIHlvdSBhbHJlYWR5IGhhdmUgY2VsbHMgd2l0aCB0aGUgRjUwOCBkZWx0YSBtdXRhdGlvbiwgb3IuLi4/IFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldlIGhhdmUgb25lIHBhdGllbnQgd2hvIGlzIHdpbGxpbmcgdG8gcHJvdmlkZSB1cyB3aXRoIGNlbGxzLCBidXQgd2UgZG9uJ3QgaGF2ZSB0aGVtIHlldC4gXCIgXG4gICAgICAgIGE9XCJJdCBzb3VuZHMgbGlrZSB5b3UncmUgYXdhcmUgb2YgdGhlIGNoYWxsZW5nZXMsIGFuZCBJIGRvbid0IHdhbnQgdG8gZGlzY291cmFnZSB5b3UsIGJ1dCBqdXN0IHRvIGJlIHJlYWxpc3RpYywgd29ya2luZyB3aXRoIHByaW1hcnkgY2VsbHMgYW5kIGdldHRpbmcgZXZlcnl0aGluZyByZWFkeSBjb3VsZCBiZSB0cmlja3ksIGVzcGVjaWFsbHkgY29uc2lkZXJpbmcgdGhlIGNvbXBldGl0aW9uIGlzIGluIE9jdG9iZXIuIEV4cGVyaW1lbnRzIGluIGh1bWFuIGNlbGxzIGNhbiB0YWtlIHRpbWUsIGVzcGVjaWFsbHkgaWYgeW91IG5lZWQgdG8gZG8gbXVsdGlwbGUgaXRlcmF0aW9ucyBvciBjbG9uZSBjb25zdHJ1Y3RzXHUyMDE0aXQgY291bGQgZWFzaWx5IHRha2UgYSB3ZWVrIG9yIG1vcmUgcGVyIGV4cGVyaW1lbnQuIFxuICAgICAgICBSZWdhcmRpbmcgdGhlIGNlbGxzIHdlIGhhdmUsIGFzIG1lbnRpb25lZCBpbiBvdXIgcGFwZXIsIHdlIHNjcmVlbmVkIGFsbCBvdXIgZ3VpZGVzIG9uIEhFSyBjZWxscyB3aXRoIGFuIGludGVncmF0ZWQgY29weSBvZiB0aGUgQ0ZUUiBjRE5BLiBIRUsgY2VsbHMgYXJlIGVhc3kgdG8gd29yayB3aXRoLCBidXQgdGhleSBkb24ndCBuYXR1cmFsbHkgZXhwcmVzcyBDRlRSLCBldmVuIHRob3VnaCB0aGUgZ2VuZSBpcyBwcmVzZW50IGluIHRoZWlyIGdlbm9tZS4gU28sIHdlIGludHJvZHVjZWQgdGhlIG11dGF0aW9uIG9mIGludGVyZXN0IGludG8gdGhlc2UgY2VsbHMsIG1ha2luZyBpdCBlYXNpZXIgdG8gc2NyZWVuLiBcbiAgICAgICAgSSdtIG5vdCBlbnRpcmVseSBzdXJlIGlmIHdlIGNhbiBzZW5kIG92ZXIgdGhlIGNlbGxzIGR1ZSB0byBldGhpY2FsIHJlZ3VsYXRpb25zLCB3aGljaCBjYW4gYmUgY29tcGxleCBhbmQgdGltZS1jb25zdW1pbmcgdG8gbmF2aWdhdGUuIEhvd2V2ZXIsIHRoZXJlJ3MgYW4gYWx0ZXJuYXRpdmUgYXBwcm9hY2ggdGhhdCBtaWdodCBoZWxwIHlvdS4gRWFybHkgb24sIHdlIGZvdW5kIHRoYXQgaXQncyBhY3R1YWxseSBxdWl0ZSBlYXN5IHRvIHNjcmVlbiBndWlkZXMgdXNpbmcgd2hhdCB3ZSBjYWxsIGEgJ3RyYW5zaWVudCB0YXJnZXQnLiBJbiB0aGlzIG1ldGhvZCwgeW91IHdvdWxkIHRyYW5zZmVjdCBhbGwgeW91ciBwcmltZSBlZGl0aW5nIHBsYXNtaWRzIGludG8gSEVLIGNlbGxzLCBhbG9uZyB3aXRoIGEgcGxhc21pZCBjb250YWluaW5nIHRoZSBDRlRSIGNETkEgd2l0aCB0aGUgbXV0YXRpb24gb2YgaW50ZXJlc3QuIFdoaWxlIHRoaXMgYXBwcm9hY2ggaXNuXHUyMDE5dCBhcyBwaHlzaW9sb2dpY2FsIGFzIGVkaXRpbmcgdGhlIGNocm9tb3NvbWUgZGlyZWN0bHksIG91ciBzaWRlLWJ5LXNpZGUgY29tcGFyaXNvbnMgc2hvd2VkIGFsbW9zdCBlcXVhbCBlZmZpY2llbmNpZXMgYmV0d2VlbiB0cmFuc2llbnQgYW5kIGNocm9tb3NvbWFsIHRhcmdldHMuIEl0J3MgbXVjaCBlYXNpZXIgYW5kIGZhc3RlciB0aGFuIHdvcmtpbmcgd2l0aCBwYXRpZW50LWRlcml2ZWQgY2VsbHMuIEkgY2FuIGRlZmluaXRlbHkgc2VuZCB5b3UgdGhlIHBsYXNtaWQsIHdoaWNoIHdvdWxkIHNhdmUgeW91IGEgbG90IG9mIHRpbWUgYW5kIGVmZm9ydC4gVGhpcyBtZXRob2QgaXMgbXVjaCBzaW1wbGVyIGFuZCBjb3VsZCBiZSBhIHByYWN0aWNhbCBzb2x1dGlvbiBmb3IgeW91ciBwcm9qZWN0LiBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJPdXIgaW5pdGlhbCBwbGFuIGlzIHRvIHdvcmsgd2l0aCBhIHJlcG9ydGVyIHBsYXNtaWQgdGhhdCBleHByZXNzZXMgZUdGUCwgd2hlcmUgd2UndmUgcmVtb3ZlZCBhIHNwbGljZSBzaXRlLCB1bnRpbCB3ZSBoYXZlIHBhdGllbnQgY2VsbHMgb3IgY2VsbCBsaW5lcyB3aXRoIENGVFIgbXV0YXRpb25zLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gc2NyZWVuIGVhc2lseSB3aXRob3V0IG5lZWRpbmcgdG8gc2VxdWVuY2UgZXZlcnl0aGluZy4gRG8geW91IG1heWJlIGhhdmUgYW55IHN1Z2dlc3Rpb25zIG9yIGFkdmljZSBvbiB0aGlzIGFwcHJvYWNoPyBcIiBcbiAgICAgICAgYT1cIklzIHRoYXQgdGhlIFBFQVIgc3lzdGVtPyBObywgaXRcdTIwMTlzIGEgZGlmZmVyZW50IG9uZSwgYnV0IHdlIGFsc28gaGF2ZSBhIHNpbWlsYXIgc3lzdGVtLiBUaGUgYWR2YW50YWdlIG9mIHRoaXMgYXBwcm9hY2ggaXMgdGhhdCB5b3UgY2FuIHZlcnkgZWFzaWx5IHNlZSBpZiBpdCB3b3JrcywgYW5kIGl0XHUyMDE5cyB2ZXJ5IHNlbnNpdGl2ZVx1MjAxNG11Y2ggZWFzaWVyIHRoYW4gZXh0cmFjdGluZyBhbmQgc2VxdWVuY2luZyBETkEuIFRoZSBkb3duc2lkZSwgaG93ZXZlciwgaXMgdGhhdFx1MjAyNiBhY3R1YWxseSwgSVx1MjAxOW0gbm90IGZhbWlsaWFyIHdpdGggdGhlICdmbHUgUEVBUiBzeXN0ZW0uJyBcbiAgICAgICAgQWN0dWFsbHksIHdlIHVzZSB0aGUgZXhhY3Qgc2FtZSBzeXN0ZW0gaW4gb3VyIGxhYi4gSXRcdTIwMTlzIHZlcnkgdXNlZnVsIGZvciBvcHRpbWl6aW5nIGRlbGl2ZXJ5IHN0cmF0ZWdpZXMgYmVjYXVzZSBpdFx1MjAxOXMgZWFzeSB0byBzZWUgcmVzdWx0cy4gVGhlIGRvd25zaWRlLCBvZiBjb3Vyc2UsIGlzIHRoYXQgdGhlIGd1aWRlcyB5b3VcdTIwMTlyZSB1c2luZyBmb3IgdGhhdCBzeXN0ZW0gYXJlblx1MjAxOXQgc3BlY2lmaWMgdG8gdGhlIEY1MDggZGVsdGEgbXV0YXRpb24sIHJpZ2h0PyBTbywgdGhlc2UgYXJlIHNjaWVudGlmaWMgdHJhZGUtb2Zmcy4gWW91IGNvdWxkLCBmb3IgZXhhbXBsZSwgZGVzaWduIGEgcmVwb3J0ZXIgdGhhdCB1c2VzIHlvdXIgRjUwOCBkZWx0YSBndWlkZSBhbmQgYWxzbyByZXN1bHRzIGluIGZsdW9yZXNjZW5jZSwgYnV0IHlvdSB3b3VsZCBuZWVkIHRvIGRlc2lnbiB0aGUgcmVwb3J0ZXIgZmlyc3QuIEl0XHUyMDE5cyBjaGFsbGVuZ2luZyB0byBwcm92ZSB0aGF0IGl0IHdvcmtzIGJlY2F1c2UgeW91IG1pZ2h0IG5vdCBoYXZlIGEgcGVyZmVjdCBndWlkZSBmb3IgRjUwOCBkZWx0YS4gXG4gICAgICAgIEl0IHJlYWxseSBkZXBlbmRzIG9uIHdoYXQgeW91IHdhbnQgdG8gYWNoaWV2ZS4gSWYgeW91ciBnb2FsIGlzIHRvIGZpcnN0IGNoZWNrIGlmIHlvdSBjYW4gc3VjY2Vzc2Z1bGx5IHBlcmZvcm0gcHJpbWUgZWRpdGluZywgdGhlbiB1c2luZyB0aGUgcmVwb3J0ZXIgaXMgZGVmaW5pdGVseSBhIGdvb2QgZmlyc3Qgc3RlcC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXZSB3aWxsIGVkaXQgdGhlIHBsYXNtaWQsIHNwZWNpZmljYWxseSB0aGUgdmVjdG9yLCBzbyB0aGF0IHdlIGhhdmUgYWxtb3N0IHRoZSBzYW1lIHBlZ1JOQS4gVGhlIG9ubHkgZGlmZmVyZW5jZSB3aWxsIGJlIGRvd25zdHJlYW0sIGJlaGluZCB0aGUgZWRpdC5cIiBcbiAgICAgICAgYT1cIklzIHRoaXMgYXBwcm9hY2ggYmFzZWQgb24gYSBwYXBlciBmcm9tIHRoZSBOZXRoZXJsYW5kcywgb3IgaXMgaXQgc29tZXRoaW5nIHlvdSBjYW1lIHVwIHdpdGggeW91cnNlbGY/IFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkJhc2VkIG9uIGEgcGFwZXIuIFwiIFxuICAgICAgICBhPVwiWWVhaCwgdGhhdCBzb3VuZHMgbGlrZSBhIHZlcnkgZ29vZCB3YXkgdG8gc3RhcnQuIERvIHlvdSBhbHJlYWR5IGhhdmUgdGhlIHJlcG9ydGVyIHBsYXNtaWQgcmVhZHk/IFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIlllYWgsIHdlIGJvdWdodCB0aGUgcmVwb3J0ZXIsIGFuZCBub3cgd2VcdTIwMTlyZSBtYWtpbmcgdGhlIG5lY2Vzc2FyeSBlZGl0cyBzbyB3ZSBjYW4gdXNlIGl0LiBcIiBcbiAgICAgICAgYT1cIk9rYXksIHNvIGRvIHlvdSBhbHNvIGFscmVhZHkgaGF2ZSBndWlkZXMgdGFyZ2V0aW5nIEY1MDggcmlnaHQgbm93PyBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJXZVx1MjAxOXZlIGRlc2lnbmVkIHNvbWUgZ3VpZGVzLCBidXQgd2UgaGF2ZW5cdTIwMTl0IHRlc3RlZCB0aGVtIHlldC4gVGhhdFx1MjAxOXMgb25lIG9mIG91ciBuZXh0IHN0ZXBzLiBTbywgYXQgdGhlIG1vbWVudCwgd2VcdTIwMTlyZSBqdXN0IGluIHRoZSBkZXNpZ24gcGhhc2UsIG9yIHdlIGhhdmUgYWxyZWFkeSBkZXNpZ25lZCB0aGVtLCBhbmQuLi5cIiBhPVwiWWVhaCwgb2theSwgY29vbC4gR29vZCBsdWNrIHdpdGggdGhhdCEgQW5kIEkgc3VwcG9zZSB5b3VcdTIwMTlyZSBzdGFydGluZyBvZmYgd2l0aCBIRUsgY2VsbHMgYXMgd2VsbCwgcmlnaHQ/XCIvPlxuICAgICAgPFFhQm94IHE9XCJXZSBoYXZlIEhFSyBhbmQgSGVMYSBjZWxscywgYnV0IHdlIGhhdmVuJ3QgZGVjaWRlZCB5ZXQgd2hpY2ggb25lcyB3ZSdsbCB1c2UuXCIgYT1cIkkgd291bGQgc3RhcnQgb2ZmIGluIEhFSyBjZWxscyBiZWNhdXNlLCBieSB0b3RhbCBhY2NpZGVudCBvciBjb2luY2lkZW5jZSwgdGhleSBhcmUgbXVjaCBlYXNpZXIgdG8gYWNoaWV2ZSBwcmltZSBlZGl0aW5nIGluLiBUaGlzIGlzIGJlY2F1c2UgdGhlIE1MSDEgZ2VuZSwgd2hpY2ggbmVnYXRpdmVseSBpbXBhY3RzIHByaW1lIGVkaXRpbmcgb3V0Y29tZXMsIGlzIG5hdHVyYWxseSBkaXNhYmxlZCBpbiB0aGVzZSBjZWxsc1x1MjAxNHRoZXkgZG9uJ3QgcHJvZHVjZSB0aGUgTUxIMSBwcm90ZWluLiBPZiBhbGwgY2VsbCBsaW5lcyBhdmFpbGFibGUsIEhFSyBjZWxscyBhcmUgdGhlIGVhc2llc3QgdG8gYWNoaWV2ZSBlZGl0aW5nIHdpdGgsIHNvIEkgd291bGQgZGVmaW5pdGVseSByZWNvbW1lbmQgc3RhcnRpbmcgdGhlcmUuIEluIHRlcm1zIG9mIHRyYW5zZmVjdGlvbiwgSEVLIGNlbGxzIGFyZSBhbHNvIHZlcnkgZWFzaWx5IHRyYW5zZmVjdGVkLiBJZiBJIGNhbiBvZmZlciBhbm90aGVyIHBpZWNlIG9mIGFkdmljZSwgYWx3YXlzIGluY2x1ZGUgR0ZQIGNvbnRyb2xzXHUyMDE0cGxhc21pZHMgdGhhdCBzaW1wbHkgZXhwcmVzcyBHRlAgd2l0aG91dCByZXF1aXJpbmcgZWRpdGluZ1x1MjAxNGFuZCB1c2UgdGhlbSB0byBkZXRlcm1pbmUgeW91ciB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeS4gSXQncyBjcnVjaWFsIHRvIGhhdmUgYSB2ZXJ5IGhpZ2ggdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgYmVjYXVzZSB5b3UnbGwgYmUgd29ya2luZyB3aXRoIGEgdGhyZWUtY29tcG9uZW50IHN5c3RlbTogeW91ciByZXBvcnRlciwgeW91ciBwcmltZSBlZGl0b3IsIGFuZCB5b3VyIGd1aWRlcy4gQWxsIHRocmVlIHBsYXNtaWRzIG5lZWQgdG8gYmUgcHJlc2VudCBpbiB0aGUgc2FtZSBjZWxsIGZvciB0aGUgZWRpdGluZyB0byBvY2N1ciwgc28geW91IHNob3VsZCBhaW0gZm9yIGF0IGxlYXN0IDcwJSB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSwgcHJlZmVyYWJseSA4MCUgb3IgaGlnaGVyLiBJIGRvbid0IGtub3cgd2hhdCB0cmFuc2ZlY3Rpb24gbWV0aG9kIHlvdSdyZSBwbGFubmluZyB0byB1c2UsIGJ1dCB3ZSd2ZSBhbHdheXMgdXNlZCBMaXBvZmVjdGFtaW5lIDMwMDAuIEl0XHUyMDE5cyBleHBlbnNpdmUsIGJ1dCBpdCB3b3JrcyB2ZXJ5IHdlbGwuIEhvd2V2ZXIsIGlmIHlvdSdyZSBsb29raW5nIGZvciBtb3JlIGNvc3QtZWZmZWN0aXZlIG9wdGlvbnMsIHdlIHJlY2VudGx5IGRpc2NvdmVyZWQgdHdvIG90aGVyIHRyYW5zZmVjdGlvbiByZWFnZW50cywgSmV0IE9wdGltdXMgYW5kIEpldCBQcmltZSwgd2hpY2ggYXJlIG11Y2ggY2hlYXBlciBhbmQgYWxzbyB3b3JrIHF1aXRlIHdlbGwuIFRoYXQgc2FpZCwgSSB3b3VsZCBhZHZpc2UgYWdhaW5zdCBzdGFydGluZyB3aXRoIGFueSBvZiB0aGUgY2hlYXBlciB0cmFuc2ZlY3Rpb24gcmVhZ2VudHM7IHlvdSByZWFsbHkgbmVlZCB0byBhaW0gZm9yIGhpZ2ggdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kuIEFsd2F5cyBtYWtlIHN1cmUgdG8gbWVhc3VyZSBhbmQgcmVwb3J0IHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5IGZvciBldmVyeSBleHBlcmltZW50IGJlY2F1c2UgaWYgaXQncyBsb3csIHRoZSBleHBlcmltZW50IG1pZ2h0IG5vdCB5aWVsZCB1c2VmdWwgcmVzdWx0cy4gSWYgeW91IGhhdmUgdGhlIGZ1bmRzIG9yIHJlc291cmNlcywgSSB3b3VsZCBhbHNvIHJlY29tbWVuZCBkZXNpZ25pbmcgUDMgb3IgZXZlbiBQM2IgZ3VpZGVzLCBhcyB0aGV5IG1pZ2h0IG9mZmVyIGJldHRlciBlZmZpY2llbmN5LiBXaGVuIGl0IGNvbWVzIHRvIGRlc2lnbmluZyBQM2IgZ3VpZGVzLCBpZiB5b3UncmUgcHJpbWFyaWx5IGZvY3VzZWQgb24gUDIgcmlnaHQgbm93LCB0aGVyZSBhcmUgc29tZSBzcGVjaWZpYyBjb25zaWRlcmF0aW9ucyB0byBrZWVwIGluIG1pbmQuIEknbGwgcHJvdmlkZSB5b3Ugd2l0aCBhIHNpdGUgdGhhdCBjYW4gaGVscCB3aXRoIHRoaXMsIGFuZCBJJ2xsIGdpdmUgeW91IHRoZSBsaW5rIGluIGp1c3QgYSBtb21lbnQuIFNvLCBpdCdzIHZlcnkgYWR2aXNhYmxlIHRvIGNoZWNrIHRoZSBEb2VuY2ggc2NvcmUuIERvIHlvdSBrbm93IHdoYXQgaXQgaXM/XCIvPlxuICAgICAgPFFhQm94IHE9XCJObywgbm90IHJlYWxseS5cIiBhPVwiVGhlcmUgYXJlIHBhcGVycyBieSBKb2huIERvZW5jaCwgYW4gQW1lcmljYW4gcmVzZWFyY2hlciwgZnJvbSBxdWl0ZSBhIHdoaWxlIGFnbyB0aGF0LCBpbiBteSBvcGluaW9uLCBhcmUgc29tZSBvZiB0aGUgYmVzdCBhcm91bmQuIEhlIGRldmVsb3BlZCBhIGNvbXByZWhlbnNpdmUgc2NvcmluZyBtYXRyaXggc3BlY2lmaWNhbGx5IGZvciByZWd1bGFyIENhczkgdGhhdCBjYW4gZXZhbHVhdGUgdGhlIHF1YWxpdHkgb2YgdGhlIHNwYWNlciBpbiB5b3VyIGd1aWRlIFJOQS4gVGhpcyBpcyBpbXBvcnRhbnQgYmVjYXVzZSBDYXM5IHRlbmRzIHRvIHByZWZlciBjZXJ0YWluIHNlcXVlbmNlcyBvdmVyIG90aGVycy4gRm9yIGluc3RhbmNlLCBhIGdvb2Qgc3BhY2VyIHNob3VsZCBoYXZlIGFuIGFwcHJvcHJpYXRlIEdDIGNvbnRlbnQgYW5kIHNob3VsZCBhdm9pZCBoYWlycGlucyB0aGF0IG1pZ2h0IGNhdXNlIGl0IHRvIGZvbGQgaW4gb24gaXRzZWxmLCB3aGljaCB3b3VsZCBwcmV2ZW50IGl0IGZyb20gZnVuY3Rpb25pbmcgcHJvcGVybHkuIFlvdSBjYW4gdXNlIHRoaXMgbWF0cml4IHRvIGdpdmUgYSBzY29yZSBmb3IgdGhlIHF1YWxpdHkgb2YgYSBndWlkZSBSTkEuIElcdTIwMTltIGdvaW5nIHRvIHB1bGwgdXAgYW4gZXhhbXBsZSBoZXJlLiBUaGUgc2l0ZSBmcm9tIFN5bnRoZWdvLCBhIGNvbW1lcmNpYWwgcHJvdmlkZXIgb2YgQ1JJU1BSIHJlYWdlbnRzLCBhbGxvd3MgeW91IHRvIGNoZWNrIHRoZSBxdWFsaXR5IG9mIHlvdXIgZ3VpZGUuIFdoZW4geW91IHZhbGlkYXRlIGl0LCB0aGUgc2l0ZSBnaXZlcyBhIHNjb3JlIGJhc2VkIG9uIHZhcmlvdXMgZmFjdG9ycywgaW5jbHVkaW5nIG9mZi10YXJnZXQgZWZmZWN0cywgYWx0aG91Z2ggdGhhdCBtaWdodCBub3QgYmUgeW91ciBwcmltYXJ5IGNvbmNlcm4gYXQgdGhlIG1vbWVudC4gSWYgeW91IGhvdmVyIG92ZXIgYSBzcGVjaWZpYyBhcmVhLCBpdCB3aWxsIHNob3cgeW91IHRoZSBEb2VuY2ggU2NvcmUsIHdoaWNoIGlzIGNydWNpYWwuIElkZWFsbHksIHlvdSB3YW50IGEgZ3VpZGUgd2l0aCBhIGdvb2QgRG9lbmNoIFNjb3JlLiBBIGdvb2Qgc2NvcmUgc3RhcnRzIGF0IGFyb3VuZCAwLjQsIGluZGljYXRlZCBieSBhIGdyZWVuIGNoZWNrIG1hcmsgZm9yIGdvb2QgZWZmaWNpZW5jeS4gSWYgdGhlIHNjb3JlIGlzIHZlcnkgbG93LCBpdCBtZWFucyB0aGF0IHRoZSBndWlkZSBsaWtlbHkgaGFzIGxvdyBDUklTUFItQ2FzOSBhY3Rpdml0eSBhbmQgbWF5IG5vdCBiZSB2ZXJ5IGVmZmljaWVudC4gV2hlbiBkZXNpZ25pbmcgcHJpbWUgZWRpdGluZyBndWlkZXMsIFJOQSwgd2UgYWx3YXlzIGNoZWNrIHRoZSBzcGFjZXIgZm9yIGEgZ29vZCBEb2VuY2ggU2NvcmUuIElmIHdlIGFyZSBkZXNpZ25pbmcgbmlja2luZyBndWlkZXMgZm9yIGEgUEUzIG9yIFBFM2Igc3RyYXRlZ3ksIHdlIGFsc28gZW5zdXJlIHRoYXQgdGhleSBoYXZlIGEgZ29vZCBzY29yZS4gVGhpcyBpcyBvbmUgb2YgdGhlIGVhc2llc3QgdG9vbHMgdG8gY2hlY2sgZm9yIHRoYXQuIFdoZW5ldmVyIHBvc3NpYmxlLCB0cnkgdXNpbmcgUEUzLiBJbiBzb21lIGNhc2VzLCBQRTMgcGVyZm9ybXMgYmV0dGVyIHRoYW4gUEUyLCB0aG91Z2ggbm90IGFsd2F5cy4gUEUzYiBtaWdodCBub3QgYWx3YXlzIHdvcmsgZWl0aGVyLCBidXQgZm9yIG1hbnkgbXV0YXRpb25zLCB3ZSBoYXZlIHNlZW4gc2lnbmlmaWNhbnQgaW5jcmVhc2VzIGluIGVkaXRpbmcgZWZmaWNpZW5jeSBieSBpbmNsdWRpbmcgdGhlIFBFMyBndWlkZS5cIi8+XG4gICAgICA8UWFCb3ggcT1cIk9rYXksIHllYWgsIHRoYXQgd2FzIHF1aXRlIGNsZWFyIGZyb20geW91ciByZXN1bHRzOyB0aGUgZGlhZ3JhbSBpbGx1c3RyYXRlZCB0aGF0IHZlcnkgd2VsbC4gQXJlIHRoZXJlIG1vcmUgb2ZmLXRhcmdldCBlZmZlY3RzIHdoZW4gdXNpbmcgUEUzIHNpbmNlIHlvdSBoYXZlIHRvIG1ha2UgYW5vdGhlciBjdXQ/XCIgYT1cIklmIHlvdSBkZWNpZGUgdG8gdXNlIFBFMywgaXQncyBpbXBvcnRhbnQgdG8gYmUgYXdhcmUgdGhhdCB3aGlsZSBpdCdzIG5vdCBleGFjdGx5IGFuIG9mZi10YXJnZXQgaXNzdWUsIHRoZXJlIGlzIGEgcmlzayBvZiBhbiB1bmRlc2lyZWQgb24tdGFyZ2V0IG91dGNvbWUuIFRoZSBjb25jZXJuIHdpdGggcmVndWxhciBQRTMgaXMgdGhhdCBib3RoIHN0cmFuZHMgb2YgRE5BIGNhbiBiZSBuaWNrZWQgc2ltdWx0YW5lb3VzbHksIHdoaWNoIGNhbiBsZWFkIHRvIGEgc3RhZ2dlcmVkIGRvdWJsZS1zdHJhbmQgYnJlYWsuIFRoaXMgY2FuIHJlc3VsdCBpbiB0aGUgZm9ybWF0aW9uIG9mIGluZGVscyAoaW5zZXJ0aW9ucyBvciBkZWxldGlvbnMpLiBJbiB5b3VyIGNhc2UsIHRoaXMgbWVhbnMgdGhhdCBpZiB0aGUgcmVnaW9uIGFyb3VuZCB0aGUgRjUwOCBkZWx0YSBtdXRhdGlvbiBpcyBicm9rZW4sIHRoZSBwcmltZSBlZGl0b3IgbWlnaHQgbm90IGJlIGFibGUgdG8gcmVwYWlyIGl0IHByb3Blcmx5LCBsZWFkaW5nIHRvIGFkZGl0aW9uYWwgYmFzZSBwYWlycyBiZWluZyByZW1vdmVkIG9yIGFkZGVkLCBhbmQgdGh1cywgdGhlIHNlcXVlbmNlIG1pZ2h0IGJlIGFsdGVyZWQgaW4gYW4gdW5pbnRlbmRlZCB3YXkuIFRoZSByaXNrIG9mIG9uLXRhcmdldCBpbmRlbHMgaXMgZGVmaW5pdGVseSBoaWdoZXIgd2l0aCBQRTMgY29tcGFyZWQgdG8gUEUyLiBIb3dldmVyLCB0aGlzIHJpc2sgaXMgcmVkdWNlZCB3aGVuIHVzaW5nIFBFM2IsIHdoaWNoIGVtcGxveXMgc2VxdWVudGlhbCBuaWNraW5nLiBUaGUgUEUzYiBuaWNraW5nIGd1aWRlcyBhcmUgZGVzaWduZWQgdG8gcmVjb2duaXplIHRoZSB3aWxkLXR5cGUgc2VxdWVuY2UsIGFuZCB0aGV5IGNhbiBvbmx5IG5pY2sgdGhlIG9wcG9zaXRlIHN0cmFuZCBpZiB0aGUgY29ycmVjdGlvbiBoYXMgYWxyZWFkeSBiZWVuIG1hZGUgb24gdGhlIHRvcCBzdHJhbmQuIFRoaXMgc2VxdWVudGlhbCBhY3Rpb24gaGVscHMgdG8gYXZvaWQgdGhlIGdlbmVyYXRpb24gb2YgaW5kZWxzLiBJbnRyb2R1Y2luZyBhIHNlY29uZCBndWlkZSBpbnRvIHRoZSBzeXN0ZW0gYWxzbyBicmluZ3MgdGhlIHBvc3NpYmlsaXR5IG9mIG9mZi10YXJnZXQgZWRpdGluZyBieSB0aGF0IGd1aWRlIGhvd2V2ZXIsIHNpbmNlIG9ubHkgYSBDYXM5IG5pY2thc2UgaXMgdXNlZCwgb2ZmLXRhcmdldCBpbmRlbHMgc2hvdWxkIGJlIGxpbWl0ZWQuXCIvPlxuICAgICAgPFFhQm94IHE9XCJZZXMsIG9rYXksIHRoYW5rIHlvdS4gRG8geW91IGhhdmUgdGltZSBsZWZ0LCBvciBhcmUgd2Ugb3V0IG9mIHRpbWU/XCJhPVwiIEl0J3MgZmluZS5cIi8+XG4gICAgICA8UWFCb3ggcT1cIldlIGhhdmUgbW9yZSBvciBsZXNzIG9uZSBsYXN0IHF1ZXN0aW9uLiBJZiBpdFx1MjAxOXMgbm90IHBvc3NpYmxlLCB0aGF0XHUyMDE5cyBjb21wbGV0ZWx5IGZpbmUuIFdlIGp1c3Qgd2FudGVkIHRvIGFzayBpZiB5b3UgY291bGQgcG9zc2libHkgZm9yd2FyZCB0aGUgY29udGFjdCBkZXRhaWxzIGZvciB0aGUgVXNzaW5nIGNoYW1iZXIgc2V0dXAgaW4gUGFyaXMgdGhhdCB5b3UgbWVudGlvbmVkIGluIHlvdXIgZW1haWwuIFdvdWxkIHRoYXQgYmUgcG9zc2libGU/XCIgYT1cIllvdSBjYW4gY2VydGFpbmx5IHRyeSB0byBjb250YWN0IHRoZW0sIGJ1dCBJIGFjdHVhbGx5IGtub3cgdGhhdCB0aGVyZSBhcmUgcXVpdGUgZ29vZCBsYWJzIGluIEdlcm1hbnkgdGhhdCB3b3JrIG9uIHNpbWlsYXIgdGhpbmdzLiBcbiAgICAgICAgT25lIG1ham9yIGRyYXdiYWNrIGZvciB5b3UgbWlnaHQgYmUgdGhlIHRpbWUgaXQgdGFrZXMgdG8gZGlmZmVyZW50aWF0ZSBjZWxscy4gSWYgeW91IGhhcnZlc3Qgc3RlbSBjZWxscyBvciBiYXNhbCBjZWxscyBmcm9tIHBhdGllbnRzLCB0aGV5IHdpbGwgaGF2ZSB0aGUgQ0ZUUiBnZW5lLCBidXQgdGhleSBkb25cdTIwMTl0IGV4cHJlc3MgaXQgaW1tZWRpYXRlbHkuIEl0IHRha2VzIGFib3V0IGZvdXIgd2Vla3MgZm9yIHRoZW0gdG8gZGlmZmVyZW50aWF0ZSBhbmQgc3RhcnQgcHJvZHVjaW5nIHRoZSBDRlRSIHByb3RlaW4uIFdpdGhvdXQgdGhpcyBkaWZmZXJlbnRpYXRpb24sIHlvdSBjYW4ndCBtZWFzdXJlIHRoZSBjdXJyZW50cywgd2hpY2ggY291bGQgc2xvdyB5b3UgZG93biBzaWduaWZpY2FudGx5LiBJJ20gbm90IHN1cmUgaWYgeW91IGhhdmUgdGhhdCBraW5kIG9mIHRpbWUuIFxuICAgICAgICBJZiBJIGNhbiBnaXZlIHlvdSBvbmUgcGllY2Ugb2YgYWR2aWNlOiBpdFx1MjAxOXMgbGVzcyBwaHlzaW9sb2dpY2FsLCBidXQgaXRcdTIwMTlzIHN0aWxsIGFuIGFjY2VwdGVkIGFzc2F5XHUyMDE0dHJ5IGl0IG9uIG9yZ2Fub2lkcy4gV2UgY291bGQgYWN0dWFsbHkgcGVyZm9ybSBib3RoIGFzc2F5cyBoZXJlLiBJZiB5b3UgZmluZCBndWlkZXMgdGhhdCB3b3JrIHJlYWxseSB3ZWxsLCB3ZSBjb3VsZCBjb25zaWRlciBkb2luZyB0aG9zZSB0ZXN0cyBoZXJlLiBTb21lb25lIGNvdWxkIGNvbWUgb3Zlciwgb3Igd2UgY291bGQgZG8gdGhlIGV4cGVyaW1lbnRzIGlmIHRoZXlcdTIwMTlyZSBub3QgdG9vIGV4cGVuc2l2ZSBhbmQgaGF2ZSBhIGdvb2QgY2hhbmNlIG9mIHdvcmtpbmcuIEkgdGhpbmsgd2Ugd291bGRuXHUyMDE5dCBtaW5kIGFkZGluZyB0aGUgRjUwOCBkZWx0YSBtdXRhdGlvbiB0byBvdXIgbGlzdCBvZiBlZGl0YWJsZSBtdXRhdGlvbnMuIFxuICAgICAgICBUaGVyZVx1MjAxOXMgYWxzbyB0aGUgcG9zc2liaWxpdHkgdGhhdCBpZiB0aGUgcGFwZXIgZnJvbSB0aGUgTGl1IExhYiBpcyBwdWJsaXNoZWQgd2l0aGluIHRoZSBuZXh0IG1vbnRoLCB5b3UgY291bGQganVzdCB1c2UgdGhlIGd1aWRlIHRoZXkgcHJvdmlkZSwgYW5kIHlvdVx1MjAxOWQgaGF2ZSBhIGd1aWRlIHRoYXQgaXMga25vd24gdG8gd29yay4gXCIvPlxuICAgICAgPFFhQm94IHE9XCJZZWFoLCBzbyBJIHRoaW5rIGlmIG91ciBndWlkZXMgZG9uXHUyMDE5dCB3b3JrIGFzIHdlbGwgYXMgd2UgaG9wZSwgdGhpcyBjb3VsZCBiZSBhbiBvcHBvcnR1bml0eS4gV2Ugc3RpbGwgd2FudCB0byBleHBsb3JlIG9wdGltaXphdGlvbiBvZiB0aGUgcHJpbWUgZWRpdGluZyBzeXN0ZW0sIHN1Y2ggYXMgdHJ5aW5nIGRpZmZlcmVudCByZXZlcnNlIHRyYW5zY3JpcHRhc2VzIG9yIG90aGVyIG1ldGhvZHMuIEZvciBub3csIHdlXHUyMDE5ZCBsaWtlIHRvIHRyeSBpdCBvbiBvdXIgb3duLCBidXQgbGlrZSB5b3Ugc2FpZCwgaXRcdTIwMTlzIGdvb2QgdG8gaGF2ZSB0aGlzIG9wcG9ydHVuaXR5IGluIGNhc2UgaXQgZG9lc25cdTIwMTl0IHdvcmsgb3V0LlwiYT1cIlllYWgsIEkgdGhpbmsgd29ya2luZyB3aXRoIHBhdGllbnQgY2VsbHMgaXMgb25lIHRoaW5nLCBidXQganVzdCBiZSBhd2FyZSB0aGF0IHRoZXNlIG1vZGVscyBhbmQgYXNzYXlzIHR5cGljYWxseSB0YWtlIGEgbG90IG9mIHRpbWVcdTIwMTRlYXNpbHkgaGFsZiBhIHllYXIsIGFuZCB0aGF0XHUyMDE5cyBjb25zaWRlcmVkIGZhc3QgdG8gZ2V0IHRoZW0gdXAgYW5kIHJ1bm5pbmcuIFVubGVzcyB5b3UncmUgaW4gYSBsYWIgdGhhdCBhbHJlYWR5IGhhcyBleHBlcmllbmNlIHdpdGggZ3Jvd2luZyBvcmdhbm9pZHMsIGl0IGNvdWxkIGJlIHZlcnkgY2hhbGxlbmdpbmcgdG8gc3RhcnQgZnJvbSBzY3JhdGNoLiBcbiAgICAgICAgSG93ZXZlciwgeW91IGNhbiBhbHdheXMgdHJ5LiBUaGUgdGVhbSBpbiBQYXJpcyB0aGF0IHdlIGtub3cgdmVyeSB3ZWxsXHUyMDE0dGhleSBhcmUgaW5jcmVkaWJseSBraW5kLCB3b3JsZC1jbGFzcyBleHBlcnRzIGluIHdoYXQgdGhleSBkbywgYnV0IHRoZXkgYXJlIGFsc28gdW5kZXIgYSBsb3Qgb2YgcHJlc3N1cmUuIFRoZXkgdXNlIHRoZXNlIHRlY2hub2xvZ2llcyBub3Qgb25seSBmb3IgcmVzZWFyY2ggYnV0IGFsc28gdG8gZGlhZ25vc2UgcGF0aWVudHMuIFdoYXQgdGhlIEZyZW5jaCB0ZWFtIGhhcyBtYW5hZ2VkIHRvIGRvIGlzIHNob3cgdGhhdCBpZiBhIHBhdGllbnRcdTIwMTlzIGNlbGxzIHJlc3BvbmQgdG8gY2VydGFpbiBkcnVncywgdGhlIGdvdmVybm1lbnQgYWxsb3dzIHRob3NlIGRydWdzIHRvIGJlIGFkbWluaXN0ZXJlZCB0byB0aGUgcGF0aWVudC4gWW91IGNhbiBpbWFnaW5lIGhvdyBpbXBvcnRhbnQgdGhlc2UgZXhwZXJpbWVudHMgYXJlLCBhcyB0aGV5IGNhbiBkaXJlY3RseSBpbXBhY3QgcGF0aWVudHMnIGxpdmVzLCB3aGljaCBuYXR1cmFsbHkgdGFrZXMgdGhlIGhpZ2hlc3QgcHJpb3JpdHkuXCIvPlxuICAgICAgPFFhQm94IHE9XCJZZWFoLCB3ZSByZWNvZ25pemVkIHRoYXQgdG9vLiBXZSB0YWxrZWQgd2l0aCB0aGUgQ0YgdGVhbSBhdCB0aGUgVW5pdmVyc2l0eSBDbGluaWMgaW4gTVx1MDBGQ25zdGVyIGFuZCBhc2tlZCBhYm91dCB1c2luZyB0aGVpciBVc3NpbmcgY2hhbWJlciwgYnV0IHRoZXkgYXJlIHJlYWxseSBvdmVyd29ya2VkIHdpdGggaXQuIFRoYXRcdTIwMTlzIHdoeSB3ZSByZWFjaGVkIG91dCB0byB5b3UgYWJvdXQgaXQuIEJ1dCBpdFx1MjAxOXMgY29tcGxldGVseSBmaW5lLCBhcyB3ZSBtZW50aW9uZWQgYmVmb3JlLlwiIGE9XCJJJ20gZ29pbmcgdG8gcHV0IGl0IGJsdW50bHk6IFVzc2luZyBjaGFtYmVyIGV4cGVyaW1lbnRzLCB3aGlsZSB0aGV5IGFyZSBoaWdobHkgcmVnYXJkZWQgYW5kIHByb3ZpZGUgdmFsdWFibGUgZGF0YSwgYXJlIGEgcmVhbCBwYWluIHRvIHBlcmZvcm0uIFRoZXkgYXJlIGluY3JlZGlibHkgdGltZS1jb25zdW1pbmcgYW5kIGhhdmUgYSB2ZXJ5IGxvdyB0aHJvdWdocHV0LiBBIHR5cGljYWwgc2V0dXAgaGFzIGZvdXIgY2hhbWJlcnMsIHNvIHlvdSBhbHdheXMgbmVlZCB0byBkbyByZXBlYXRzLiBJbiB0aGUgYmVzdC1jYXNlIHNjZW5hcmlvLCB5b3UgY2FuIHRlc3QgdHdvIGNvbmRpdGlvbnMgYXQgYSB0aW1lLiBJZiB5b3UgaGF2ZSBhIHZlcnkgZXhwZXJpZW5jZWQgcGVyc29uLCB0aGV5IG1pZ2h0IGJlIGFibGUgdG8gcnVuIGVpZ2h0IHNhbXBsZXMsIGJ1dCB0aGV5IHdvdWxkIGhhdmUgdG8gc3RheSB3aXRoIHRoZSBtYWNoaW5lIGZvciBmb3VyIHRvIGZpdmUgaG91cnMsIG1haW50YWluaW5nIGNvbnN0YW50IGF0dGVudGlvbi4gV2l0aCBtdWx0aXBsZSB0ZWNobmljaWFucywgYXMgaXMgdGhlIGNhc2UgaW4gRnJhbmNlLCB5b3UgbWlnaHQgbWFuYWdlIHRvIHJ1biAxNiBzYW1wbGVzIGEgZGF5LiBPbiB0b3Agb2YgdGhhdCwgdGhlIGNlbGxzIG5lZWQgdG8gYmUgZGlmZmVyZW50aWF0ZWQgcHJvcGVybHksIGFuZCB5b3UgaGF2ZSB0byBrbm93IGhvdyB0byBoYW5kbGUgdGhlbSBjb3JyZWN0bHkuIFRoZSBtZWRpdW0gcmVxdWlyZWQgaXMgdmVyeSBleHBlbnNpdmUsIGFuZCB3b3JraW5nIHdpdGggdGhlc2UgY2VsbHMgaXMgYWxtb3N0IG1vcmUgb2YgYW4gYXJ0IHRoYW4gYSBzY2llbmNlLiBZb3UgaGF2ZSB0byBrbm93IHdoZW4gdGhlIGNlbGxzIGxvb2sgJ2hhcHB5JyBvciBub3QgYmVjYXVzZSB5b3UgZG9uJ3Qgd2FudCB0byB3YXN0ZSB0aW1lIG9uIGNlbGxzIHRoYXQgYXJlbid0IGluIGdvb2QgY29uZGl0aW9uLiBJJ3ZlIHJ1biBxdWl0ZSBhIGZldyBvZiB0aGVzZSBhc3NheXMgbXlzZWxmLCBhbmQgd2hpbGUgdGhleSBhcmUgZ3JlYXQgZm9yIENGIHdvcmsgYW5kIHByb3ZpZGUgcmVzdWx0cyB0aGF0IGFyZSByZWxldmFudCB0byBwYXRpZW50IG91dGNvbWVzLCB0aGV5IGFyZSB0ZWNobmljYWxseSBjaGFsbGVuZ2luZyBhbmQgdmVyeSBkZW1hbmRpbmcuIElmIHlvdSB3YW50IGEgZnVuY3Rpb25hbCBvdXRwdXQgdG8gc2hvdyB0aGF0IHRoZSBDRlRSIHByb3RlaW4gaXMgd29ya2luZyBhZ2FpbiwgSSB3b3VsZCByZWNvbW1lbmQgc3RhcnRpbmcgd2l0aCBvbmUgb2YgdGhlIGVhc2llciBtb2RlbHMsIGxpa2Ugb3JnYW5vaWRzLiBXZSBhbHNvIGhhdmUgaW4gb3VyIGxhYiAxNkhCRSBjZWxscyB3aXRoIGEgWUZQIHNlbnNvci4gSSBkb24ndCBrbm93IGlmIHlvdSd2ZSBoZWFyZCBvciByZWFkIGFib3V0IHRoYXQuIFRoZXNlIGNlbGxzIGV4cHJlc3MgWUZQLCB3aGljaCBpcyBzZW5zaXRpdmUgdG8gaGFsaWRlIGlvbnMsIGluY2x1ZGluZyBjaGxvcmlkZSBhbmQgaW9kaWRlLiBXaGVuIHlvdSBhZGQgYSBidWZmZXIgY29udGFpbmluZyB0aGVzZSBpb25zIHRvIHRoZSBjZWxscywgdGhlIFlGUCBpbnRlbnNpdHkgcXVlbmNoZXMuIFRoaXMgaXMgc29tZXRoaW5nIHdlIHR5cGljYWxseSB1c2UgaW4gb3VyIGV4cGVyaW1lbnRzLiBGb3Igd2lsZC10eXBlIGNlbGxzLCB5b3Ugc2VlIGEgcmFwaWQgYW5kIGRyYW1hdGljIHF1ZW5jaGluZyBiZWNhdXNlIENGVFIgYWxsb3dzIHRoZXNlIGlvbnMgdG8gZW50ZXIgdGhlIGNlbGxzLiBJbiBjZWxscyB3aXRoIHRoZSBtdXRhdGlvbiwgdGhlcmVcdTIwMTlzIG5vIHF1ZW5jaGluZyBiZWNhdXNlIHRoZSBjaGFubmVsIGlzblx1MjAxOXQgd29ya2luZy4gV2hpbGUgaXRcdTIwMTlzIGxlc3MgcmVsZXZhbnQgYmVjYXVzZSB0aGVzZSBhcmVuJ3QgcGF0aWVudCBjZWxscywgaXRcdTIwMTlzIGNsb3NlciB0byByZWFsaXR5LiBUaGUgMTZIQkUgY2VsbCBsaW5lIGlzIGFuIGFpcndheSBlcGl0aGVsaWFsIGxpbmUsIGFuZCB0aGUgZXhwcmVzc2lvbiBvZiBDRlRSIGlzIGVuZG9nZW5vdXMsIHNvIGl0XHUyMDE5cyBub3QgYXQgdGhlIGV4YWdnZXJhdGVkIGxldmVscyB5b3UgbWlnaHQgc2VlIGluIG1vcmUgYXJ0aWZpY2lhbCBtb2RlbHMgbGlrZSBIRUsgY2VsbHMuIFVzaW5nIHRoZSBZRlAgYXNzYXkgY291bGQgYmUgYSBnb29kIGFsdGVybmF0aXZlIG9yIGEgUGxhbiBCIGZvciBnZXR0aW5nIGEgZnVuY3Rpb25hbCByZWFkb3V0LiBUaGlzIGFzc2F5IGlzIG1lZGl1bSB0byBoaWdoIHRocm91Z2hwdXRcdTIwMTR5b3UgY2FuIHJ1biBlbnRpcmUgOTYtd2VsbCBwbGF0ZXMgaW4gYWJvdXQgaGFsZiBhbiBob3VyLiBBbGwgeW91IG5lZWQgZm9yIHRoaXMgaXMgdGhlIGNlbGxzIGFuZCBhIHBsYXRlIHJlYWRlciB0aGF0IGNhbiBtZWFzdXJlIGZsdW9yZXNjZW5jZSBhbmQgaW5qZWN0IHRoZSBidWZmZXIuIElmIHlvdSBkb25cdTIwMTl0IGhhdmUgYSBwbGF0ZSByZWFkZXIgd2l0aCBhbiBpbmplY3Rpb24gc3lzdGVtLCB5b3UgY2FuIGFsc28gbWFudWFsbHkgYWRkIHRoZSBidWZmZXIgYW5kIHF1aWNrbHkgcGxhY2UgdGhlIHBsYXRlIGluIHRoZSBtYWNoaW5lLiBcIi8+XG4gICAgICA8UWFCb3ggcT1cIlllcywgdGhhdCBzb3VuZHMgcXVpdGUgZ29vZC4gSSB0aGluayB3ZVx1MjAxOWxsIGRlZmluaXRlbHkgY29uc2lkZXIgdGhhdCBhcyBhIG1ldGhvZC4gXG4gICAgICAgIElmIHlvdSBoYXZlIGEgbGl0dGxlIG1vcmUgdGltZSwgSSB3YW50ZWQgdG8gYXNrIGFib3V0IHRoZSBwZWdSTkEuIFlvdSBzdGFiaWxpemVkIGl0IHdpdGggYSBzdGVtIGxvb3Agb3Igc29tZSBraW5kIG9mIG1vdGlmIGluIHRoZSBwYXBlciwgbGlrZSB0aGUgdHJldm9wcmVRMS4gRGlkIHlvdSB0ZXN0IG90aGVyIG1vdGlmcyBhcyB3ZWxsLCBvci4uLj8gXCIgYT1cIlllYWgsIHRoZXJlIHdhcyBhY3R1YWxseSBvbmUgcHVibGlzaGVkIGJlZm9yZSB0aGUgb25lIGZyb20gdGhlIExpdSBsYWIsIGJ1dCB3ZSB0cmllZCB0aGF0IG9uZVx1MjAxNEkgY2FuJ3QgcmVtZW1iZXIgdGhlIGV4YWN0IG5hbWUsIG1heWJlIENTWDQgb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4gSXQgZGlkblx1MjAxOXQgZXZlbiBtYWtlIGl0IGludG8gdGhlIG1haW4gcGFwZXJzLCBqdXN0IHRoZSBzdXBwbGVtZW50YXJ5IG1hdGVyaWFsLiBUaGUgcHJpbmNpcGxlIHdhcyBzaW1pbGFyLCBhbmQgYWNjb3JkaW5nIHRvIHRoZSBwYXBlciwgaXQgc2hvdWxkIGhhdmUgd29ya2VkLiBJIHRlc3RlZCBpdCBvbiB0d28gb3IgdGhyZWUgZ3VpZGVzLCBsb2NhdGlvbnMsIG9yIG11dGF0aW9ucywgYnV0IGl0IGRpZG5cdTIwMTl0IHdvcmsuIEhvd2V2ZXIsIHRoZSB0cmV2b3ByZVExIG9uZSBkZWZpbml0ZWx5IHdvcmtzLiBcbiAgICAgICAgQWxzbywgc29tZXRoaW5nIHRvIG5vdGUgaXMgdGhhdCB0aGVzZSBtb3RpZnMgYmVjb21lIG1vcmUgaW1wb3J0YW50IHdoZW4geW91IG1vdmUgdG8gcHJpbWFyeSBjZWxscywgd2hlcmUgeW91IGhhdmUgZmV3ZXIgZ3VpZGVzLiBJbiB0cmFuc2ZlY3Rpb24gZXhwZXJpbWVudHMsIHdoZXJlIHlvdVx1MjAxOXJlIGVzc2VudGlhbGx5IGZsb29kaW5nIHRoZSBjZWxscyB3aXRoIHBsYXNtaWRzIHRoYXQgdHJhbnNjcmliZSBsYXJnZSBhbW91bnRzIG9mIHRoZXNlIGd1aWRlcywgdGhlIHByb3RlY3Rpb24gb2YgdGhlIHRocmVlLXByaW1lIGVuZCBpc25cdTIwMTl0IGFzIGNyaXRpY2FsLiBCdXQgaW4gcHJpbWFyeSBjZWxscywgd2hlcmUgdGhlcmUgYXJlIG1vcmUgbnVjbGVhc2VzIGFuZCB5b3UgbGlrZWx5IGhhdmUgbGVzcyBwZWdSTkEgZHVlIHRvIHlvdXIgZGVsaXZlcnkgbWV0aG9kLCB0aGlzIHByb3RlY3Rpb24gYmVjb21lcyBtb3JlIGltcG9ydGFudC4gVGhlIHBhcGVyIGRvZXMgZGlzY3VzcyB0aGUgdHJldm9wcmVRMSBvbmUgYW5kIHRNUEsga25vdCwgYnV0IGR1ZSB0byB0aW1lIGNvbnN0cmFpbnRzLCB3ZSBvbmx5IHRlc3RlZCBvbmUgYW5kIGRpZG5cdTIwMTl0IGxvb2sgaW50byB0aGUgb3RoZXIuIFxuICAgICAgICBJIHRoaW5rIHRoZSBhZHZhbnRhZ2Ugb2YgdGhlIG9uZSB3ZSBpbmNsdWRlZCBpbiB0aGUgcGFwZXIgd2FzIHRoYXQgdGhleSBhbHNvIGludmVzdGlnYXRlZCB3aGV0aGVyIGl0IHdhcyBuZWNlc3NhcnkgdG8gaW5jbHVkZSBhIGxpbmtlciBiZXR3ZWVuIHRoZSBtb3RpZlx1MjAxNGxpa2UgdGhlIHRyZXZvcHJlUTFcdTIwMTRhbmQgdGhlIHBlZ1JOQSB3aXRoIHRoZSB0aHJlZS1wcmltZSBleHRlbnNpb24uIEZvciB0aGUgbW90aWYgd2UgY2hvc2UsIHRoZXkgZm91bmQgdGhhdCB0aGUgbGlua2VyIHdhc25cdTIwMTl0IHJlYWxseSBuZWNlc3NhcnksIHdoZXJlYXMgaXQgd2FzIGZvciB0aGUgb3RoZXIgb25lLiBUbyBrZWVwIGl0IHNpbXBsZSwgd2UgY2hvc2UgdGhlIG9uZSB3aXRob3V0IHRoZSBuZWVkIGZvciBhIGxpbmtlciBiZWNhdXNlLCBmb3IgbWFueSBzaXRlcywgdGhlIGVmZmljaWVuY2llcyB3ZXJlIGNvbXBhcmFibGUuIFxuICAgICAgICBJZiB3ZSBoYWQgaW5maW5pdGUgdGltZSBhbmQgcmVzb3VyY2VzLCBpdCB3b3VsZCBkZWZpbml0ZWx5IGJlIHdvcnRod2hpbGUgdG8gdGVzdCBib3RoIG1vdGlmcy4gVGhlIHBhcGVyIGRpZCBzaG93IHNvbWUgZXhhbXBsZXMgd2hlcmUgb25lIG1vdGlmIHdhcyBjbGVhcmx5IGJldHRlciB0aGFuIHRoZSBvdGhlci4gQnV0IG5vLCB3ZSBkaWRuXHUyMDE5dCBoYXZlIHRoZSB0aW1lIHRvIGV4cGxvcmUgdGhhdCBmdXJ0aGVyLiBcIi8+IFxuICAgICAgPFFhQm94IHE9XCJPa2F5LiAgVGhhbmsgeW91LiAgQnV0IGxpa2UgaXQncyBzaG93biBpbiB0aGUgcGFwZXIsIGl0IHdvcmtlZCBxdWl0ZSB3ZWxsLiAgUmlnaHQuICBZZWFoLiBcIiBhPVwiVGhlcmUgd2FzIGRlZmluaXRlbHkgYWRkZWQgdmFsdWUuIFdoZW4gd2UgbW92ZWQgdG8gb3JnYW5vaWRzLCB0aGUgZWZmZWN0cyBvZiBhZGRpbmcgdGhhdCBtb3RpZiB3ZXJlIHF1aXRlIGRyYW1hdGljIGFuZCB2ZXJ5IGNsZWFyLiBcIi8+IFxuICAgICAgPFFhQm94IHE9XCJZZXMsIHRoYXQgd2FzIG91ciBsYXN0IHF1ZXN0aW9uLiBUaGFuayB5b3Ugc28gbXVjaCBhZ2FpbiBmb3IgaGF2aW5nIG1lLiBXZSByZWFsbHkgYXBwcmVjaWF0ZSB0aGUgdGltZSB5b3UgdG9vayBmb3IgdXMsIGFuZCBhbHNvIGZvciB5b3VyIHZlcnkgZGV0YWlsZWQgYW5zd2VycyBhbmQgeW91ciBoZWxwLlwiIGE9XCJObyBwcm9ibGVtLiBNeSBwbGVhc3VyZS5cIi8+IFxuICAgICAgPFFhQm94IHE9XCJUaGFuayB5b3Ugc28gbXVjaC4gV2Ugd2lsbCBkZWZpbml0ZWx5IGtlZXAgeW91IHVwZGF0ZWQgb24gaG93IGl0IGdvZXMuIFRoYW5rIHlvdSBhZ2FpbiEgXCJhPVwiSXQgd2FzIGEgcGxlYXN1cmVcIi8+IFxuICAgICAgIDwvPixcbiAgICByZWZlcmVuY2VzOiA8TWF0dGlqc0ludGVydmlld1NvdXJjZXMgLz4sXG4gICAgc3VtbWFyeTogXCJPdXIgZGlzY3Vzc2lvbiB3aXRoIE1hdHRpanMgQnVsY2FlbiBmcm9tIEtVIExldXZlbiBwcm92aWRlZCBjcml0aWNhbCBpbnNpZ2h0cyBpbnRvIHRoZSBjb21wbGV4aXRpZXMgb2YgdXNpbmcgcHJpbWUgZWRpdGluZyBmb3IgQ0YgdGhlcmFweS4gQXMgd2UgYmVnYW4gZGVzaWduaW5nIG91ciBwcmltZSBlZGl0b3IsIE1hdHRpanMgaGlnaGxpZ2h0ZWQgY2hhbGxlbmdlcyBzcGVjaWZpYyB0byB0YXJnZXRpbmcgdGhlIENGVFIgRjUwOGRlbCBkZWxldGlvbiwgaW5jbHVkaW5nIHRoZSBpbmZsdWVuY2Ugb2YgbWlzbWF0Y2ggcmVwYWlyIHN5c3RlbXMgYW5kIGNocm9tYXRpbiBvcmdhbml6YXRpb24gb24gZWRpdGluZyBlZmZpY2llbmN5LiBIZSBpbnRyb2R1Y2VkIHVzIHRvIGFkdmFuY2VkIHRlY2huaXF1ZXMsIHN1Y2ggYXMgUEUzYiBzeXN0ZW1zIGFuZCBkc2dSTkFzLCBhbmQgcmVjb21tZW5kZWQgdXNpbmcgdGhlIDNcdTIwMTkgc3RlbSBsb29wIG1vdGlmIGZyb20gaGlzIHJlc2VhcmNoIHRvIGVuaGFuY2Ugb3VyIHBlZ1JOQSBkZXNpZ24uIEFkZGl0aW9uYWxseSwgaGUgYWR2aXNlZCB1dGlsaXppbmcgSEVLIGNlbGwgbGluZXMgZm9yIHNjcmVlbmluZyBkdWUgdG8gdGhlaXIgZWFzZSBvZiBoYW5kbGluZyBhbmQgcmVkdWNlZCBtaXNtYXRjaCByZXBhaXIgYWN0aXZpdHkuIFRoZXNlIGluc2lnaHRzIGRpcmVjdGx5IGluZmx1ZW5jZWQgb3VyIGRlc2lnbiBjaG9pY2VzIGFuZCBoZWxwZWQgcmVmaW5lIG91ciBhcHByb2FjaCB0byBkZXZlbG9waW5nIGFuIGVmZmVjdGl2ZSBwcmltZSBlZGl0aW5nIHN0cmF0ZWd5LlwiLFxuICAgIG1vbnRoczogXCJqdW5lXCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiSW50ZWdyYXRlIEluc2lnaHRzXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3BsYWNlaG9sZGVyJ10sXG4gICAgam9iOiBcIlRlYW0gaUdFTVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkJpZWxmZWxkIENlQmlUZWMgMjAyNFwiLFxuICAgIHRhZzogXCJNaWxlc3RvbmVcIixcbiAgICBoZWFkaW5nOiBcIkdldHRpbmcgQWNxdWFpbnRlZCB3aXRoIEN5c3RpYyBGaWJyb3Npc1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImluaXNnaHRzXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJLXHUwMEY2aGxlciwgVGVhbW1lbWJlclwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJWZXJhXCIsXG4gICAgcXVvdGU6IFwiRmlyc3RseSwgd2UgZGlzY3Vzc2VkIHZhcmlvdXMgcHJvamVjdCBpZGVhcywgaW5jbHVkaW5nIHRoZSB1c2Ugb2YgbWFnbmV0aWMgbWljcm9zd2ltbWVycyBmb3IgdGFyZ2V0ZWQgbWVkaWNhbCBhcHBsaWNhdGlvbnMsIGdlbmUgZWRpdGluZyBhcHByb2FjaGVzIGZvciBjeXN0aWMgZmlicm9zaXMsIHRyZWF0bWVudHMgZm9yIG11c2N1bGFyIGR5c3Ryb3BoeSBhbmQgY29tYmF0aW5nIGN5YW5vYmFjdGVyaWEgd2l0aCBhbGdhZS5cIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBzdW1tYXJ5OiBcIlwiLFxuICAgIG1vbnRoczogXCJqdW5lXCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiJ0RlciBUZXV0byBydWZ0J1wiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWyd0ZXV0byddLFxuICAgIHRhZzogXCJFZHVjYXRpb25cIixcbiAgICBoZWFkaW5nOiBcIkVkdWNhdGlvbmFsIGNpdHkgdG91ciBmb3IgeW91bmcgYW5kIG9sZFwiLFxuICAgIGludGVydmlld3RhYmlkOiBcInRldXRvXCIsXG4gICAgdHlwZTogXCJtZXRhXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwieFwiLFxuICAgIHN1bW1hcnk6IFwiXCIsXG4gICAgbW9udGhzOiBcIkp1bmVcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJKdWxpYVwiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBqb2I6IFwicGFyZW50XCIsXG4gICAgYWZmaWxpYXRpb246IFwiaW5kZXBlbmRlbnRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydqdWxpYSddLFxuICAgIHRhZzogXCJQYXRpZW50XCIsXG4gICAgaGVhZGluZzogXCJJbnRlcnZpZXcgd2l0aCBhIENGIFBhcmVudCBhYm91dCB0aGVpciBleHBlcmllbmNlIGFuZCB0cmVhdG1lbnQgbmVlZHNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJqdWxpYVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiQXQgZmlyc3QsIG91ciB3b3JsZCBmZWxsIGFwYXJ0LiBJIHN0aWxsIHJlbWVtYmVyIHRoZSBjb252ZXJzYXRpb24gd2l0aCB0aGUgZG9jdG9yLiBcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5XZSBsZWFybmVkIGZyb20gb3VyIGRpc2N1c3Npb24gd2l0aCA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cIm1heGZpcnN0XCIgdGV4dD1cIk1heFwiIC8+IHRoYXQgQ0YgaGFzIGEgcHJvZm91bmQgaW1wYWN0IG9uIHRoZSB3aG9sZSBmYW1pbHkgXHUyMDEzIG5vdCBqdXN0IHRoZSBwYXRpZW50LiBJbiBvcmRlciB0byBnYWluIGZ1cnRoZXIgaW5zaWdodCBpbnRvIHRoaXMgc3ViamVjdCwgd2Ugc291Z2h0IHRvIGVuZ2FnZSB3aXRoIHRoZSBuZXh0IG9mIGtpbiBvZiBDRiBwYXRpZW50cy5cbiAgICAgIFdlIHdlcmUgYWJsZSB0byBtYWtlIGNvbnRhY3Qgd2l0aCBKdWxpYSB0aHJvdWdoIHRoZSBzZWxmLWhlbHAgZ3JvdXAgb2YgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm11a28uaW5mby8gXCIgPk11a3Zpc3ppZG9zZSBlLlYuIDwvYT4gb2Ygd2hpY2ggTWF4IGlzIGEgbWVtYmVyLiBTaGUgc3Vic2VxdWVudGx5IHJlYWNoZWQgb3V0IHRvIHVzIGZvbGxvd2luZyBNYXgncyByZXF1ZXN0IGZvciBwb3RlbnRpYWwgY2FuZGlkYXRlcyBmb3IgYW4gaW50ZXJ2aWV3IHdpdGggYSBwYXRpZW50IGdyb3VwLlxuICAgICAgU2hlIGFuZCBoZXIgaHVzYmFuZCBoYXZlIGEgc2l4LXllYXItb2xkIGRhdWdodGVyIGNhcnJ5aW5nIHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIHRoZSBDRlRSIGdlbmUgYW5kIGEgdG9kZGxlciB3aXRob3V0IENGLiAgPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD4gVGhlIGludGVydmlldyB3aXRoIEp1bGlhIHNoaWZ0ZWQgb3VyIGZvY3VzIHRvIGEgbmV3IGdyb3VwIG9mIHN0YWtlaG9sZGVyczogVGhlIHBhdGllbnRcdTIwMTlzIHN1cHBvcnQgc3lzdGVtcy4gTW9zdCBwZW9wbGUgZG8gbm90IGdldCBnZW5ldGljYWxseSB0ZXN0ZWQgYmVmb3JlIGhhdmluZyBjaGlsZHJlbiBhbmQgZHVlIHRvIHRoYXQsIG1hbnkgcGVvcGxlIGNvdWxkIGdldCBpbiB0aGUgcG9zaXRpb24gb2YgaGF2aW5nIGEgbG92ZWQgb25lIHdpdGggQ0YuXG4gICAgICBXZSBjb25zaWRlcmVkIHRoZSBzb2NpZXRhbCBpbXBhY3RzLCBzdWNoIGFzIHRoZSByaXNpbmcgaGVhbHRoIGNhcmUgY29zdHMsIHdoaWNoIE5pY29sZSBGcmllZGxlaW4gZW1waGFzaXplZCBkdXJpbmcgb3VyIGludGVydmlldy4gU2hlIGV4cGxhaW5lZCBob3cgdGhlIGxvbmctdGVybSBuYXR1cmUgb2YgdHJlYXRtZW50LCBmcmVxdWVudCBob3NwaXRhbCB2aXNpdHMsIGFuZCB0aGUgbmVlZCBmb3Igc3BlY2lhbGl6ZWQgbWVkaWNhdGlvbnMgcGxhY2UgYSBzaWduaWZpY2FudFxuICAgICAgZmluYW5jaWFsIGJ1cmRlbiBvbiBib3RoIHBhdGllbnRzIGFuZCB0aGUgaGVhbHRoIGNhcmUgc3lzdGVtLiBUaGlzIGluc2lnaHQgc2hhcGVkIG91ciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBicm9hZGVyIGVjb25vbWljIGNoYWxsZW5nZXMgZmFjZWQgYnkgZmFtaWxpZXMgYW5kIGluc3RpdHV0aW9ucyBpbnZvbHZlZCBpbiBtYW5hZ2luZyBjaHJvbmljIGlsbG5lc3Nlcy4gTWVhbndoaWxlLCBKdWxpYSBicm91Z2h0IGF0dGVudGlvbiB0byB0aGUgcHN5Y2hvbG9naWNhbCBpbXBhY3QsXG4gICAgICBzdHJlc3NpbmcgdGhlIGVtb3Rpb25hbCBzdHJhaW4gdGhhdCBhY2NvbXBhbmllcyBub3Qgb25seSB0aGUgaWxsbmVzcyBpdHNlbGYgYnV0IGFsc28gdGhlIGZpbmFuY2lhbCBwcmVzc3VyZXMuIFNoZSBhbHNvIHNob3dlZCB1cyBtb3JlIHBlcnNwZWN0aXZlcyBvbiBwYXJlbnRpbmcgb2YgY2hpbGRyZW4gd2l0aCBDRiwgdGhhbiB3ZSBoZWFyZCBiZWZvcmUsIGFuZCB0b2xkIHVzIGFib3V0IHRoZSB3YXkgZnJvbSB0aGUgZmlyc3QgZGlhZ25vc2lzIHRvIGdyb3dpbmcgYWNjdXN0b21lZFxuICAgICAgdG8gYW5kIGxpdmluZyB3aXRoIGEgY2hpbGQgd2l0aCBDRi4gSnVsaWEgYWxzbyBjb25maXJtZWQgdGhhdCBtb3N0IGNoaWxkcmVuIHdpbGwgaGF2ZSBubyBpc3N1ZSB1c2luZyBhbiBpbmhhbGF0aXZlIHRoZXJhcHkgbGlrZSB3ZSBlbnZpc2lvbiBvdXIgZ2VuZSB0aGVyYXB5IHRvIGJlIGFuZCBzaG9uZSBsaWdodCBvbnRvIHRoZSBjb21wYXJhdGl2ZWx5IHZlcnkgZ29vZCBzaXR1YXRpb24gZm9yIENGIHBhdGllbnRzIGluIEdlcm1hbnkuIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+IFRoaXMgaW50ZXJ2aWV3IGhlbHBlZCB1cyBjb25maXJtIHRoZSBkZWxpdmVyeSBtZXRob2Qgd2UgcGxhbm5lZCB0byB1c2UgYXMgd2Ugd2VyZSBwcmV2aW91c2x5IGNvbmNlcm5lZCBob3cgYW5kIGlmIGNoaWxkcmVuIHdvdWxkIGJlIGFibGUgdG8gdXNlIHRoZSBpbmhhbGF0aXZlIHRoZXJhcHkuIEJlc2lkZXMgdGhhdCwgSnVsaWEgZ2F2ZSB1cyBmdXJ0aGVyIGluc2lnaHRzIGludG8gdGhlIGVtb3Rpb25hbCBzaWRlIG9mXG4gICAgICBkZWFsaW5nIHdpdGggQ0YgYW5kIHdlIHdlcmUgYWJsZSB0byBkaXNjdXNzIHRoZSBzaXR1YXRpb24gZm9yIHBhdGllbnRzIGluIEdlcm1hbnkgaW4gY29tcGFyaXNvbiB0byBvdGhlciBjb3VudHJpZXMgYmV0dGVyIGluIGxhdGVyICA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cImpvc2h1YVwiIHRleHQ9XCJpbnRlcnZpZXdzXCIgLz4uIDwvcD5dLFxuICAgIGludGVydmlldzogPD5cbiAgICAgIDxRYUJveCBxPVwiQ2FuIHlvdSB0ZWxsIHVzIGEgYml0IGFib3V0IHlvdXIgZmFtaWx5PyBIb3cgb2xkIGFyZSB5b3VyIGNoaWxkcmVuIGFuZCB5b3Vyc2VsdmVzP1wiIGE9XCJJXHUyMDE5bSAzNywgbXkgaHVzYmFuZCBpcyA0NCwgYW5kIG91ciBkYXVnaHRlciBpcyBzaXgsIHR1cm5pbmcgc2V2ZW4gc29vbi4gV2UgYWxzbyBoYXZlIGEgc29uIHdob1x1MjAxOXMgYWJvdXQgYSB5ZWFyIGFuZCBhIGhhbGYuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRG9lcyB5b3VyIHNvbiBhbHNvIGhhdmUgY3lzdGljIGZpYnJvc2lzP1wiIGE9XCJObywgaGUgZG9lc25cdTIwMTl0LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoZW4gd2FzIHlvdXIgZGF1Z2h0ZXIgZGlhZ25vc2VkIHdpdGggY3lzdGljIGZpYnJvc2lzP1wiIGE9XCJSaWdodCBhZnRlciBiaXJ0aC4gU2hlIHdhcyB0cmFuc2ZlcnJlZCB0byBhIGJpZ2dlciBob3NwaXRhbCBkdWUgdG8gYW4gaW50ZXN0aW5hbCBibG9ja2FnZSBhbmQgaGFkIHN1cmdlcnkuIEFmdGVyIGFib3V0IHR3byB0byB0aHJlZSB3ZWVrcyBpbiBpbnRlbnNpdmUgY2FyZSwgdGhlIGN5c3RpYyBmaWJyb3NpcyBkaWFnbm9zaXMgY2FtZSB0aHJvdWdoIG5ld2Jvcm4gc2NyZWVuaW5nLiBBdCB0aGF0IHRpbWUsIHRoZSByZXN1bHRzIHRvb2sgbG9uZ2VyIHRvIHByb2Nlc3MgdGhhbiB0aGV5IGRvIG5vdy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJUaGF0IGludGVzdGluYWwgaXNzdWUgY2FuIGhhcHBlbiBmb3IgbWFueSByZWFzb25zLCByaWdodD9cIiBhPVwiWWVzLCBpdCB3YXMgYWxsIG5ldyB0byB1cy4gVGhlIGJlZ2lubmluZyB3YXMgZGlmZmljdWx0LCBidXQgdGhpbmdzIGhhdmUgZ290dGVuIGJldHRlciBzaW5jZSB0aGVuLCBhbmQgd2VcdTIwMTlyZSB2ZXJ5IGdyYXRlZnVsLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBkaWQgeW91IGZlZWwgd2hlbiB5b3UgZmlyc3QgaGVhcmQgdGhlIGRpYWdub3Npcz9cIiBhPVwiSXQgZmVsdCBsaWtlIG91ciB3b3JsZCB3YXMgZmFsbGluZyBhcGFydC4gSSBzdGlsbCByZW1lbWJlciB0aGUgbW9tZW50XHUyMDE0aXQgd2FzIGxpa2UgYmVpbmcgaW4gYSBtb3ZpZS4gV2Ugd2VyZSB0b2xkIGluIGEgc2VwYXJhdGUgcm9vbSwgYW5kIGl0IGZlbHQgb3ZlcndoZWxtaW5nLiBPbmUgZG9jdG9yIGV2ZW4gc3VnZ2VzdGVkIHdlIGdvIGhvbWUgdG8gdGhpbmsgYWJvdXQgaXQgaW4gcGVhY2UsIGJ1dCBhbGwgSSBjb3VsZCB0aGluayBhYm91dCB3YXMgcmV0dXJuaW5nIHRvIG15IGNoaWxkLiBJdCB3YXMgYSBsb3QgdG8gdGFrZSBpbiwgZXNwZWNpYWxseSB0aGlua2luZyBhYm91dCBob3cgd2VcdTIwMTlkIHRlbGwgb3VyIGZhbWlseS5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJUaGF0IHNvdW5kcyBpbmNyZWRpYmx5IGhhcmQuIEhvdyBkaWQgeW91IGhhbmRsZSBpdCBhcyB0aW1lIHBhc3NlZD9cIiBhPVwiSXQgd2FzIHRvdWdoLCBidXQgd2Ugd2VyZSBmb3J0dW5hdGUgdG8gaGF2ZSBhIGRvY3RvciB3aG8gcmVhbGx5IHVuZGVyc3Rvb2Qgd2hhdCB3ZSB3ZXJlIGdvaW5nIHRocm91Z2gsIGFzIGhlIGhhZCBhIGRpc2FibGVkIGNoaWxkIGhpbXNlbGYuIEhlIG5ldmVyIHNjYXJlZCB1cyB1bm5lY2Vzc2FyaWx5IGFuZCBndWlkZWQgdXMgc3RlcCBieSBzdGVwLCB3aGljaCBtYWRlIGEgYmlnIGRpZmZlcmVuY2UuIFdlIGtub3cgbWFueSBmYW1pbGllcyB3aG8gbGl2ZSBpbiBjb25zdGFudCBmZWFyLCBidXQgc2luY2UgdGhvc2UgZmlyc3QgbW9udGhzLCB3ZVx1MjAxOXZlIGxlYXJuZWQgdG8gbWFuYWdlIHRoZSBzaXR1YXRpb24gd2l0aG91dCBiZWluZyBvdmVyd2hlbG1lZCBieSBmZWFyLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRpZCBhbnkgcGFydGljdWxhciBzdXBwb3J0IGhlbHAgeW91ciBmYW1pbHkgYWRqdXN0IHRvIHRoZSBkaWFnbm9zaXM/XCIgYT1cIlllcywgdGhlIHJlaGFiIHByb2dyYW0gd2UgYXR0ZW5kZWQgd2FzIGEgaHVnZSBoZWxwLiBJdCB3YXMgYSBmYW1pbHktb3JpZW50ZWQgcHJvZ3JhbSwgc28gbXkgaHVzYmFuZCBjb3VsZCBiZSB0aGVyZSB0b28sIHdoaWNoIHdhcyBpbXBvcnRhbnQgc2luY2UgSSBtYW5hZ2UgbW9zdCB0aGluZ3MgZGF5LXRvLWRheS4gSXQgcmVhbGx5IGhlbHBlZCBvdXIgZGF1Z2h0ZXIgcmVhbGl6ZSBzaGVcdTIwMTlzIG5vdCBhbG9uZVx1MjAxNHNoZSBtZXQgb3RoZXIga2lkcyB3aXRoIHNpbWlsYXIgY29uZGl0aW9ucywgd2hpY2ggd2FzIGEgaHVnZSBjb21mb3J0LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBkaWQgeW91IGV4cGxhaW4gdGhlIGlsbG5lc3MgdG8geW91ciBkYXVnaHRlcj9cIiBhPVwiV2UgdHJ5IHRvIGdpdmUgaXQgYXMgbGl0dGxlIGF0dGVudGlvbiBhcyBwb3NzaWJsZSBpbiBkYWlseSBsaWZlLiBTaGVcdTIwMTlzIGJlZW4gaW5oYWxpbmcgbWVkaWNhdGlvbiBzaW5jZSBzaGUgd2FzIGVpZ2h0IHdlZWtzIG9sZCwgYW5kIGl0XHUyMDE5cyBqdXN0IHBhcnQgb2YgaGVyIHJvdXRpbmUgbm93LiBUaGFua2Z1bGx5LCBzaGUgZG9lc25cdTIwMTl0IGZpZ2h0IGl0IG9yIHF1ZXN0aW9uIGl0IG11Y2gsIGFuZCBoZXIgc2Nob29sIGFuZCBraW5kZXJnYXJ0ZW4gaGF2ZW5cdTIwMTl0IG1hZGUgYSBiaWcgZGVhbCBvZiBpdCBlaXRoZXIsIHdoaWNoIGlzIHdoYXQgd2Ugd2FudGVkLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRvZXMgc2hlIGV2ZXIgYXNrIGFib3V0IGhlciBpbGxuZXNzIGNvbXBhcmVkIHRvIGhlciB5b3VuZ2VyIGJyb3RoZXIsIHdobyBkb2Vzblx1MjAxOXQgaGF2ZSBjeXN0aWMgZmlicm9zaXM/XCIgYT1cIlNoZSBkb2VzIHNvbWV0aW1lcyBhc2sgd2h5IHNoZVx1MjAxOXMgc2ljayBhbmQgaGVcdTIwMTlzIG5vdCwgYnV0IHNoZVx1MjAxOXMgbm90IHVwc2V0IGJ5IGl0LiBXZVx1MjAxOXZlIG1hZGUgc3VyZSBub3QgdG8gZ2l2ZSBoZXIgYW55IHNwZWNpYWwgdHJlYXRtZW50IGJlY2F1c2Ugb2YgaGVyIGlsbG5lc3MsIHdoaWNoIGNhbiBiZSBoYXJkIGF0IHRpbWVzLCBidXQgd2Ugd2FudCBoZXIgdG8gdW5kZXJzdGFuZCB0aGF0IGhlciBpbGxuZXNzIGRvZXNuXHUyMDE5dCBkZWZpbmUgaGVyLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIlRoYXQgc291bmRzIGxpa2UgYSBnb29kIGJhbGFuY2UuIFdoYXQgYWJvdXQgbWVkaWNhdGlvbnNcdTIwMTRkaWQgc2hlIHN0YXJ0IG9uIGFueSBzcGVjaWFsIHRyZWF0bWVudHM/XCIgYT1cIlllcywgc2hlIHN0YXJ0ZWQgb24gT3JrYW1iaSBhdCBhcm91bmQgdGhyZWUgeWVhcnMgb2xkIGJ1dCBoYWQgdG8gc3RvcCBicmllZmx5IGR1ZSB0byBoaWdoIGxpdmVyIHZhbHVlcy4gTm93IHNoZVx1MjAxOXMgb24gS2FmdHJpbywgd2hpY2ggc2hlIHN0YXJ0ZWQgc2hvcnRseSBiZWZvcmUgaGVyIHNpeHRoIGJpcnRoZGF5LCBhbmQgaXRcdTIwMTlzIGJlZW4gZ29pbmcgd2VsbC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJEaWQgeW91IGZhY2UgYW55IGlzc3VlcyB3aXRoIHRoZSBoZWFsdGggaW5zdXJhbmNlIGZvciBjb3ZlcmluZyB0aGVzZSBtZWRpY2F0aW9ucz9cIiBhPVwiRm9ydHVuYXRlbHksIG5vLiBXZSBoYXZlIHN0YXR1dG9yeSBoZWFsdGggaW5zdXJhbmNlLCBhbmQgdGhleVx1MjAxOXZlIGNvdmVyZWQgZXZlcnl0aGluZyB3aXRob3V0IGFueSBpc3N1ZXMuIFdlXHUyMDE5dmUgaGVhcmQgaXQgY2FuIGJlIG1vcmUgY29tcGxpY2F0ZWQgZm9yIHRob3NlIHdpdGggcHJpdmF0ZSBpbnN1cmFuY2UuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSGF2ZSB5b3UgZXZlciBoYWQgZGlmZmljdWx0aWVzIHdpdGggYWNjZXNzIHRvIG1lZGljYXRpb24/XCIgYT1cIlllcywgdGhlcmUgaGF2ZSBiZWVuIHRpbWVzIHdoZW4gd2VcdTIwMTl2ZSBoYWQgdG8gd2FpdCBhIGZldyBkYXlzIGZvciBjZXJ0YWluIG1lZGljYXRpb25zLCBsaWtlIEtyZW9uIG9yIGFudGliaW90aWNzLCBlc3BlY2lhbGx5IGluIHRoZSB3aW50ZXIuIEJ1dCB3ZSBhbHdheXMgcGxhbiBhaGVhZCBhbmQga2VlcCBhIGJ1ZmZlciwgc28gd2VcdTIwMTl2ZSBuZXZlciBiZWVuIHdpdGhvdXQgd2hhdCB3ZSBuZWVkLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgd291bGQgeW91IHNheSBoYXMgYmVlbiB0aGUgbW9zdCBhZmZlY3RlZCBhcmVhIGZvciB5b3VyIGRhdWdodGVyP1wiIGE9XCJIZXIgaW50ZXN0aW5lcyBhcmUgdGhlIG1vc3QgYWZmZWN0ZWQuIEJlZm9yZSBzaGUgc3RhcnRlZCBLYWZ0cmlvLCBzaGUgaGFkIGZhdHR5IHN0b29scyBhbmQgZnJlcXVlbnQgYm93ZWwgbW92ZW1lbnRzLCBldmVuIHdpdGggdGhlIHJpZ2h0IEtyZW9uIGRvc2FnZS4gU2luY2Ugc3RhcnRpbmcgS2FmdHJpbywgdGhpcyBoYXMgaW1wcm92ZWQgc2lnbmlmaWNhbnRseS5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IGtpbmQgb2Ygc3VwcG9ydCB3b3VsZCB5b3UgaGF2ZSBsaWtlZCB0byByZWNlaXZlIGVhcmxpZXI/XCIgYT1cIldlIHdpc2ggd2UgaGFkIGJlZW4gZ2l2ZW4gbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBhdmFpbGFibGUgc2VydmljZXMgZWFybHkgb24uIFdlIGZvdW5kIG91dCBhYm91dCBNdWtvdmlzemlkb3NlIGUuVi4gZnJvbSBhbm90aGVyIGZhbWlseSwgbm90IGZyb20gb3VyIGRvY3Rvci4gSXQgd291bGQgaGF2ZSBiZWVuIGhlbHBmdWwgdG8ga25vdyBhYm91dCB0aGVzZSByZXNvdXJjZXMgcmlnaHQgZnJvbSB0aGUgc3RhcnQuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSG93IGFib3V0IHBzeWNob3NvY2lhbCBzdXBwb3J0P1wiIGE9XCJJbml0aWFsbHksIHdlIGRpZG5cdTIwMTl0IGhhdmUgYW55IHBzeWNob2xvZ2ljYWwgc3VwcG9ydFx1MjAxNG91ciBkb2N0b3IgdG9vayBjYXJlIG9mIGV2ZXJ5dGhpbmcuIE5vdywgd2hlcmUgd2UgbGl2ZSwgdGhlcmUgYXJlIG1vcmUgcmVzb3VyY2VzLCBhbmQgd2UgdGhpbmsgaXRcdTIwMTlzIGEgZ29vZCB0aGluZy4gVGhlIHJlaGFiIGhlbHBlZCBhIGxvdCBpbiBjb21pbmcgdG8gdGVybXMgd2l0aCBldmVyeXRoaW5nLiBXZSB3aXNoIHdlIGhhZCBrbm93biBhYm91dCBzdWNoIHNlcnZpY2VzIHNvb25lci5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJEb2VzIHlvdXIgZGF1Z2h0ZXIgZG8gcGh5c2lvdGhlcmFweT9cIiBhPVwiWWVzLCBvbmNlIGEgd2VlayBmb3IgYWJvdXQgYW4gaG91ci4gU2hlXHUyMDE5cyBiZWVuIGdvaW5nIHNpbmNlIHNoZSB3YXMgZGlzY2hhcmdlZCBmcm9tIHRoZSBob3NwaXRhbCwgYW5kIHNoZSBoYXMgYSBjbG9zZSBib25kIHdpdGggaGVyIHBoeXNpb3RoZXJhcGlzdC4gVGhleVx1MjAxOXZlIGJlZW4gd29ya2luZyB0b2dldGhlciBzaW5jZSBzaGUgd2FzIGEgYmFieSwgYW5kIHNoZSBnb2VzIGJ5IGhlcnNlbGYgbm93LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkFyZSB0aGVyZSBhbnkgcmVzdHJpY3Rpb25zIGZvciBoZXIgaW4gdGVybXMgb2YgcGh5c2ljYWwgYWN0aXZpdGllcz9cIiBhPVwiTm8sIG5vdCByZWFsbHkuIFNoZSBkb2VzIGRhbmNpbmcgb25jZSBhIHdlZWssIHBoeXNpb3RoZXJhcHksIGFuZCBzaGVcdTIwMTlzIGV2ZW4gZG9uZSBhIHN3aW1taW5nIGNvdXJzZSB3aXRob3V0IGFueSBwcm9ibGVtcy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIb3cgZG8geW91IGhhbmRsZSBjb21tdW5pY2F0aW5nIGFib3V0IGhlciBpbGxuZXNzP1wiIGE9XCJXZSB0cnkgbm90IHRvIG1ha2UgYSBiaWcgZGVhbCBvZiBpdC4gV2hlbiBJIGxvb2tlZCBmb3IgaW5mb3JtYXRpb24sIEkgZm91bmQgd2hhdCB3ZSBuZWVkZWQuIFRoZXJlXHUyMDE5cyBub3RoaW5nIHdlXHUyMDE5dmUgcmVhbGx5IGZlbHQgd2FzIG1pc3NpbmcuXCIgLz5cbiAgICA8Lz4sXG4gICAgc3VtbWFyeTogXCJKdWxpYSdzIGluc2lnaHRzIHNoaWZ0ZWQgb3VyIGZvY3VzIHRvIHRoZSBzdXBwb3J0IHN5c3RlbXMgc3Vycm91bmRpbmcgQ0YgcGF0aWVudHMuIFNoZSBoaWdobGlnaHRlZCB0aGUgc29jaWV0YWwgaW1wbGljYXRpb25zIG9mIENGLCBpbmNsdWRpbmcgcmlzaW5nIGhlYWx0aGNhcmUgY29zdHMgZHVlIHRvIHRoZSBsb25nLXRlcm0gbmF0dXJlIG9mIHRyZWF0bWVudCBhbmQgdGhlIGZpbmFuY2lhbCBidXJkZW5zIGZhY2VkIGJ5IGZhbWlsaWVzLiBBZGRpdGlvbmFsbHksIEp1bGlhIGVtcGhhc2l6ZWQgdGhlIGVtb3Rpb25hbCBzdHJhaW4gdGhhdCBhY2NvbXBhbmllcyB0aGUgaWxsbmVzcywgYWxvbmdzaWRlIHRoZSBjb21wbGV4aXRpZXMgb2YgcGFyZW50aW5nIGEgY2hpbGQgd2l0aCBDRi4gSW1wb3J0YW50bHksIHNoZSBhZmZpcm1lZCB0aGF0IG1vc3QgY2hpbGRyZW4gYWRhcHQgd2VsbCB0byBpbmhhbGF0aXZlIHRoZXJhcGllcywgcmVpbmZvcmNpbmcgb3VyIHBsYW5uZWQgZGVsaXZlcnkgbWV0aG9kIGZvciBnZW5lIHRoZXJhcHkuIFRoaXMgaW50ZXJ2aWV3IGVucmljaGVkIG91ciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBjaGFsbGVuZ2VzIGZhY2VkIGJ5IGZhbWlsaWVzIGFuZCBlbmFibGVkIHVzIHRvIGJldHRlciBjb21wYXJlIHRoZSBleHBlcmllbmNlcyBvZiBDRiBwYXRpZW50cyBpbiBHZXJtYW55IHRvIHRob3NlIGluIG90aGVyIGNvdW50cmllcy5cIixcbiAgICBtb250aHM6IFwianVuZVwiXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJQcm9mLiBEci5cIixcbiAgICB2b3JuYW1lOiBcIkRhdmlkXCIsXG4gICAgbmFjaG5uYW1lOiBcIkxpdVwiLFxuICAgIGpvYjogXCIgUmljaGFyZCBNZXJraW4gUHJvZmVzc29yIGFuZCBkaXJlY3RvciBvZiB0aGUgTWVya2luIEluc3RpdHV0ZSBvZiBUcmFuc2Zvcm1hdGl2ZSBUZWNobm9sb2dpZXMgaW4gSGVhbHRoY2FyZVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcInZpY2UgY2hhaXIgb2YgdGhlIGZhY3VsdHkgYXQgdGhlIEJyb2FkIEluc3RpdHV0ZSBvZiBNSVQgYW5kIEhhcnZhcmRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydkYXZpZCddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgaGVhZGluZzogXCJJbmZsdWVuY2Ugb2YgcmVzZWFyY2ggYnkgRGF2aWQgTGl1IG9uIG91ciBkZXNpZ24gZGVjaXNpb25zIFwiLFxuICAgIGludGVydmlld3RhYmlkOiBcImxpdVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIlhcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5EYXZpZCBMaXUgaXMgdGhlIHByaW5jaXBhbCBpbnZlc3RpZ2F0b3IgcmVzcG9uc2libGUgZm9yIHRoZSBkZXZlbG9wbWVudCBvZiB0aGUgcHJpbWUgZWRpdGluZyBzeXN0ZW1zIGFuZCBoaXMgbGFib3JhdG9yeSBpcyBhY3RpdmVseSB3b3JraW5nIG9uIGltcHJvdmluZyBwcmltZSBlZGl0b3JzLCBhbHNvIGZvciBhcHBsaWNhdGlvbiBpbiBDRlRSIG11dGF0aW9uIEY1MDhkZWwuIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+VGhlIHRhbGsgYW5kIHBhcGVycyBmcm9tIERhdmlkIExpdSBub3Qgb25seSBpbnRyb2R1Y2VkIGFkdmFuY2VzIGZvciBwcmltZSBlZGl0b3JzLCBidXQgYWxzbyBpbmNsdWRlZCB2YWx1YWJsZSBkYXRhIGZvciB1cyB0byBkZWNpZGUgb24gd2hpY2ggbWV0aG9kIG1pZ2h0IHdvcmsgYmVzdCBmb3Igb3VyIHByb2plY3QuIEJlY2F1c2Ugb2YgdGhpcyB3ZSBkZWNpZGVkIHRvIHVzZSBhbiBhZHZhbmNlZCBzeXN0ZW0gYmFzZWQgb24gdGhlIFBFNmMgYW5kIFBFNCBzeXN0ZW1zLCBib3RoIG9mIHdoaWNoIHdlcmUgcHVibGlzaGVkIGJ5IHRoZSBsYWJvcmF0b3J5IG9mIERhdmlkIExpdS4gPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gICAgc3VtbWFyeTogXCJcIixcbiAgICBtb250aHM6IFwiSnVuZVwiLFxuICAgIHJlZmVyZW5jZXM6IDxMaXVJbnRlcnZpZXdTb3VyY2VzLz4sXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIk5pY29sZVwiLFxuICAgIG5hY2hubmFtZTogXCJGcmllZGxlaW5cIixcbiAgICBqb2I6IFwiUmVzZWFyY2ggZ3JvdXAgb24gZnVuZGFtZW50YWwgcmlnaHRzXCIsXG4gICAgYWZmaWxpYXRpb246IFwiVW5pdmVyc2l0eSBQb3RzZGFtXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snbmljb2xlJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJEaXNjdXNzaW9uIG9uIGhvdyBoZWFsdGggaW5zdXJhbmNlIGNvbXBhbmllcyBtYW5hZ2UgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzIGFuZCBnZW5lIHRoZXJhcHkgdHJlYXRtZW50c1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcIm5pY29sZVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiUHVibGljIGhlYWx0aCBpbnN1cmFuY2Ugb3BlcmF0ZXMgdW5kZXIgYW4gZWNvbm9taWMgZWZmaWNpZW5jeSBwcmluY2lwbGUsIG1lYW5pbmcgdGhlIG1vc3QgY29zdC1lZmZlY3RpdmUgdHJlYXRtZW50cyBhcmUgcHJlZmVycmVkLiBCdXQgaWYgZ2VuZSB0aGVyYXBpZXMgYmVjb21lIHRoZSBvbmx5IHRyZWF0bWVudCBvcHRpb24gZm9yIGNlcnRhaW4gY29uZGl0aW9ucywgdGhleSB3aWxsIGxpa2VseSBoYXZlIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBjb3ZlcmFnZSwgd2hpY2ggY291bGQgYmUgYSBjaGFsbGVuZ2UgZm9yIHRoZSBzeXN0ZW0uXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlRoZSBtYWluIG9iamVjdGl2ZSBvZiB0aGUgY29udGFjdCB3YXMgdG8gbGVhcm4gZnJvbSB0aGUgZGlzY3Vzc2lvbiBvbiBpc3N1ZXMgcmVsYXRlZCB0byBjeXN0aWMgZmlicm9zaXMgKENGKSwgZ2VuZSB0aGVyYXB5LCBoZWFsdGggaW5zdXJhbmNlIHByb2Nlc3NlcyBhbmQgcmVndWxhdG9yeSBwYXRod2F5cy4gSW4gcGFydGljdWxhciwgd2Ugd2FudGVkIHRvIHVuZGVyc3RhbmQgdGhlIHJlYWwtd29ybGQgY2hhbGxlbmdlcyBhbmQgdGVjaG5pY2FsIGFzcGVjdHMgb2YgZ2VuZSBlZGl0aW5nLCBlc3BlY2lhbGx5IHByaW1lIGVkaXRpbmcsIGFzIHdlbGwgYXMgdGhlIGNvbXBsZXhpdGllcyBvZiBhcHByb3ZhbCBhbmQgcmVpbWJ1cnNlbWVudCBvZiBnZW5lIHRoZXJhcGllcyBmb3IgQ0YgcGF0aWVudHMuXCIsXG4gICAgaW5zaWdodHM6IFwiVGhlIHJlZ3VsYXRvcnkgYXBwcm92YWwgcHJvY2VzcywgcGFydGljdWxhcmx5IGJ5IHRoZSBFdXJvcGVhbiBNZWRpY2luZXMgQWdlbmN5IChFTUEpIGZvciBhZHZhbmNlZCBtZWRpY2FsIGRldmljZXMsIGhhcyBoaWdobGlnaHRlZCB0aGUgYnVyZWF1Y3JhdGljIGh1cmRsZXMgdGhhdCBnZW5lIHRoZXJhcGllcyBtdXN0IG92ZXJjb21lLiBXZSBsZWFybmVkIHRoYXQgc3VjaCB0aGVyYXBpZXMgZm9yIGN5c3RpYyBmaWJyb3NpcyBoYXZlIHRvIG5hdmlnYXRlIGNvbXBsZXggRXVyb3BlYW4gYW5kIEdlcm1hbiByZWd1bGF0b3J5IHN5c3RlbXMuIFRoZSBkaXNjdXNzaW9uIG9uIHRoZSBBTU5PRyBwcm9jZXNzIHdhcyBjcnVjaWFsLiBXZSBsZWFybnQgdGhhdCB0aGUgYWRkaXRpb25hbCBiZW5lZml0IG9mIGEgdGhlcmFweSBpcyBhc3Nlc3NlZCBmb3IgcmVpbWJ1cnNlbWVudCBieSB0aGUgc3RhdHV0b3J5IGhlYWx0aCBpbnN1cmFuY2UgZnVuZHMuIFdlIGltcGxlbWVudGVkIHRoaXMgaW5zaWdodCBpbiBvdXIgcHJvamVjdCBieSBjb25zaWRlcmluZyB0aGUgbG9uZy10ZXJtIHJlZ3VsYXRvcnkgYW5kIGVjb25vbWljIGVmZmVjdHMgYXMgaW1wb3J0YW50IG1pbGVzdG9uZXMgZm9yIHRoZXJhcHkgZGV2ZWxvcG1lbnQuIFdlIGFsc28gZ2FpbmVkIGluc2lnaHQgaW50byBob3cgcHVibGljIGFuZCBwcml2YXRlIGhlYWx0aCBpbnN1cmVycyBtYXkgZGlmZmVyIGluIHRoZWlyIHJlaW1idXJzZW1lbnQgb2Ygc3VjaCB0aGVyYXBpZXMuIFB1YmxpYyBpbnN1cmVycyBoYXZlIHN0cmljdGVyIGd1aWRlbGluZXMsIHdoaWxlIHByaXZhdGUgaW5zdXJlcnMgY2FuIGJlIG1vcmUgZmxleGlibGUsIGJ1dCBib3RoIHJlcXVpcmUgc3RyaWN0IGp1c3RpZmljYXRpb24sIGVzcGVjaWFsbHkgZm9yIHJhcmUgZGlzZWFzZXMgc3VjaCBhcyBjeXN0aWMgZmlicm9zaXMuIEluZm9ybWF0aW9uIG9uIG5ld2Jvcm4gc2NyZWVuaW5nIGFuZCBnZW5ldGljIGNvdW5zZWxsaW5nIGNvdmVyZWQgYnkgcHVibGljIGhlYWx0aCBpbnN1cmFuY2Ugd2FzIGNydWNpYWwgdG8gdW5kZXJzdGFuZGluZyBob3cgcHJldmVudGl2ZSBtZWFzdXJlcyBmb3IgQ0YgYXJlIG1hbmFnZWQuIFRoaXMgdW5kZXJsaW5lcyB0aGUgaW1wb3J0YW5jZSBvZiBlYXJseSBpbnRlcnZlbnRpb24gYW5kIGRpYWdub3NpcyBpbiBvdXIgcHJvamVjdC4gQXR5cGljYWwgZm9ybXMgb2YgQ0YsIHdoZXJlIGhlYWx0aCBpbnN1cmFuY2UgY29tcGFuaWVzIGRvIG5vdCBjb3ZlciB0cmVhdG1lbnQgZHVlIHRvIG5vbi1zdGFuZGFyZGlzZWQgdGVzdCByZXN1bHRzLCB3ZXJlIGlkZW50aWZpZWQgYXMgYSBrZXkgcHJvYmxlbS4gVGhpcyBoZWxwZWQgdXMgdG8gcmVjb2duaXNlIHRoZSBuZWVkIGZvciBtb3JlIGFkYXB0YWJsZSBpbnN1cmFuY2UgcG9saWNpZXMgYW5kIGNsZWFyZXIgcGF0aHdheXMgZm9yIHRoZSB0cmVhdG1lbnQgb2YgYXR5cGljYWwgY2FzZXMgaW4gb3VyIHByb2plY3QgcGxhbnMuIFRoZSBkZWJhdGUgYWJvdXQgd2hldGhlciBoZWFsdGhjYXJlIHN5c3RlbXMgY2FuIGFmZm9yZCB0aGUgaGlnaCBjb3N0cyBvZiBnZW5lIHRoZXJhcGllcyBoaWdobGlnaHRlZCBhbiBpbXBvcnRhbnQgaXNzdWUgaW4gdGhlIGN1cnJlbnQgbWVkaWNhbCBsYW5kc2NhcGUuIFdlIGhhdmUgaW5jb3Jwb3JhdGVkIHRoaXMgaW5zaWdodCBpbnRvIG91ciBwcm9qZWN0IGJ5IGRpc2N1c3NpbmcgcG9zc2libGUgY29zdC1lZmZlY3RpdmUgYWx0ZXJuYXRpdmVzIGFuZCB0aGUgbmVlZCBmb3IgdGhvcm91Z2ggY29zdC1iZW5lZml0IGFuYWx5c2lzIGluIHRoZSBkZXZlbG9wbWVudCBvZiB0cmVhdG1lbnRzLlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+QWZ0ZXIgdGhlIGludGVydmlldywgd2UgZnVydGhlciB0YWlsb3JlZCBvdXIgcHJvamVjdCB0byBmb2N1cyBvbiBhIHNpbXBsZSBkZWxpdmVyeSBtZXRob2QgdG8gcmVkdWNlIHRoZSB0aGVyYXBldXRpYyBlZmZvcnQuIFRvIGdhaW4gYW4gb3ZlcnZpZXcgb2YgdGhlIHJlZ3VsYXRvcnkgcmVxdWlyZW1lbnRzIGFuZCB0byBiZXR0ZXIgZGVsaXZlciB0aGUgcHJvamVjdCwgb25lIG9mIG91ciB0ZWFtIG1lbWJlcnMgYXR0ZW5kZWQgYSA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cImd4cGNvdXJzZVwiIHRleHQ9XCJHeFAgY291cnNlXCIvPiB0byBlbnN1cmUgd2UgbWV0IGFsbCB0aGUgbmVjZXNzYXJ5IHN0YW5kYXJkcy4gVG8gZGVlcGVuIG91ciBrbm93bGVkZ2Ugb2YgZW50cmVwcmVuZXVyc2hpcCwgd2UgY29uZHVjdGVkIGZ1cnRoZXIgaW50ZXJ2aWV3cyB3aXRoIHN0YXJ0LXVwcyBhbmQgPEhQZ29Ub1BhZ2VBbmRTY3JvbGwgaWQ9XCJGdXJ0aGVyIEVuZ2FnZW1lbnQzSFwiICBwYXRoPVwiXFxodW1hbi1wcmFjdGljZXNcIiB0ZXh0PVwiaW5kdXN0cmlhbCBjb21wYW5pZXNcIiAvPiwgd2hpY2ggZ2F2ZSB1cyBpbXBvcnRhbnQgaW5zaWdodHMgaW50byBwcmFjdGljYWwgaW1wbGVtZW50YXRpb24uIFRoZXNlIHN0ZXBzIGVuc3VyZSB0aGF0IG91ciBwcm9qZWN0IGlzIG5vdCBvbmx5IGJhc2VkIG9uIHNjaWVudGlmaWMgcmVzZWFyY2gsIGJ1dCBhbHNvIHRha2VzIGludG8gYWNjb3VudCB0aGUgcHJhY3RpY2FsLCByZWd1bGF0b3J5IGFuZCBzb2NpYWwgYXNwZWN0cyB0aGF0IGFyZSBjcnVjaWFsIHRvIGJyaW5naW5nIG5ldyBDRiB0aGVyYXBpZXMgdG8gdGhlIG1hcmtldC4gV2UgYXJlIGN1cnJlbnRseSBkZXZlbG9waW5nIHN0cmF0ZWdpZXMgdG8gc3VjY2Vzc2Z1bGx5IGltcGxlbWVudCBvdXIgaWRlYXMgYW5kIHRoZSBwcm9qZWN0IGluIHRoZSBmdXR1cmUuPC9wPl0sXG4gICAgaW50ZXJ2aWV3OiA8PlxuICAgICAgPFFhQm94IHE9XCJUbyBzdGFydCB3aXRoIHRoaXMgaW50ZXJ2aWV3LiBEbyB5b3UgaGF2ZSBhbnkgcXVlc3Rpb25zIGFib3V0IHRoaXMgcHJvamVjdD9cIlxuICAgICAgICBhPVwiQXJlIHlvdSB3cml0aW5nIGEgcGFwZXIgb24gdGhpcywgb3IgYXJlIHlvdSBjb25kdWN0aW5nIGFjdHVhbCBsYWJvcmF0b3J5IHJlc2VhcmNoPyBPciBpcyBpdCBwcmltYXJpbHkgbGl0ZXJhdHVyZSByZXZpZXc/IEhvdyBkb2VzIHlvdXIgd29yayBsb29rP1wiIC8+XG4gICAgICA8UWFCb3ggcT1cIkl0XHUyMDE5cyBub3QganVzdCBsaXRlcmF0dXJlIHJldmlldywgdGhvdWdoIHdlIGRvIHN0YXJ0IHdpdGggdGhhdC4gV2UgaGF2ZSBhIGxvdCBvZiBsYWIgd29yayBhaGVhZCBvZiB1cy4gSWRlYWxseSwgd2Ugd291bGQgaGF2ZSBhIGZpbmlzaGVkIGNvbnN0cnVjdCB0byBwcmVzZW50IGF0IHRoZSBlbmQsIG1heWJlIGV2ZW4gYSBmdW5jdGlvbmFsIGdlbmUgdGhlcmFweSwgdGhvdWdoIHRoYXRcdTIwMTlzIHF1aXRlIGFtYml0aW91cyBhbmQgcHJvYmFibHkgbm90IHBvc3NpYmxlIGluIHRoZSBzaG9ydCB0aW1lIGZyYW1lLiBXZVx1MjAxOXJlIHdvcmtpbmcgb24gdmFyaW91cyBnZW5lLWVkaXRpbmcgYXBwcm9hY2hlcyBhbmQgdGVzdGluZyBwbGFzbWlkcyBpbiBIRUsgY2VsbHMuIFdlIGFyZSBhbHNvIGV4cGxvcmluZyBQcmltZSBFZGl0aW5nIGFuZCB0cnlpbmcgdG8gaW1wcm92ZSBpdHMgZWZmaWNpZW5jeSB1c2luZyBkaWZmZXJlbnQgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIGVuenltZXMuIFNvLCBpdFx1MjAxOXMgYSBtaXggb2YgbGFiIHdvcmssIGxpdGVyYXR1cmUgcmVzZWFyY2gsIGFuZCBwcmVwYXJpbmcgZm9yIGEgcHJlc2VudGF0aW9uIGF0IGEgY29tcGV0aXRpb24uXCJcbiAgICAgICAgYT1cIkFyZSB5b3Ugd3JpdGluZyBhIGZvcm1hbCBwYXBlcj9cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXZVx1MjAxOXJlIG5vdCB3cml0aW5nIGEgZm9ybWFsIHRleHQtYmFzZWQgcGFwZXIsIGJ1dCBldmVyeXRoaW5nIHdpbGwgYmUgYXZhaWxhYmxlIG9uIGEgd2Vic2l0ZS4gV2Ugd2lsbCBkb2N1bWVudCBtb3N0IG9mIG91ciB3b3JrIG9uIHRoZSB3ZWJzaXRlLCB3aXRoIHN1Yi1wYWdlcyBkZXRhaWxpbmcgbGFiIHdvcmssIGludGVydmlld3MsIGFuZCByZXNlYXJjaC5cIlxuICAgICAgICBhPVwiV2hhdCBleGFjdGx5IGlzIFByaW1lIEVkaXRpbmcsIGFuZCBob3cgZG9lcyBpdCBkaWZmZXIgZnJvbSBhbHRlcmluZyB0aGUgZ2VybWxpbmU/IFdoZXJlIGluIHRoZSBnZW5vbWUgZG9lcyB0aGlzIHRoZXJhcHkgYWN0P1wiIC8+XG4gICAgICA8UWFCb3ggcT1cIk91ciBjdXJyZW50IHBsYW4gaXMgdG8gZGVsaXZlciB0aGUgdGhlcmFweSB2aWEgYSBsaXBpZCBuYW5vcGFydGljbGUgc3lzdGVtLCB3aGljaCB3aWxsIGJlIGluaGFsZWQgYW5kIGdvIGludG8gdGhlIGx1bmdzLiBXaGlsZSBjeXN0aWMgZmlicm9zaXMgKENGKSBhZmZlY3RzIGFsbCBtdWN1cyBtZW1icmFuZXMsIHRoZSBsdW5ncyBhcmUgdGhlIG1vc3QgY3JpdGljYWwgYXJlYSwgc28gd2VcdTIwMTlyZSBmb2N1c2luZyBvbiB0aGF0LiBUaGUgdGhlcmFweSB3aWxsIG9ubHkgdGFyZ2V0IHN1cmZhY2UgY2VsbHMgaW4gdGhlIGx1bmdzLCBub3QgdGhlIGJhc2FsIGNlbGxzIHJlc3BvbnNpYmxlIGZvciBwcm9kdWNpbmcgbmV3IGx1bmcgY2VsbHMuXCJcbiAgICAgICAgYT1cIlRoYW5rIHlvdSBmb3IgZ2l2aW5nIG1lIGluc2lnaHRzIGludG8geW91ciBwcm9qZWN0LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRvIHlvdSBrbm93IGhvdyBjeXN0aWMgZmlicm9zaXMgKENGKSBhcHByb3ZhbCB3b3JrcyBpbiB0ZXJtcyBvZiBoZWFsdGggaW5zdXJhbmNlIGFuZCByZWd1bGF0b3J5IHByb2Nlc3Nlcz9cIlxuICAgICAgICBhPVwiVGhlIGFwcHJvdmFsIHByb2Nlc3MgZm9yIGdlbmUgdGhlcmFwaWVzIGlzIHByaW1hcmlseSBkb25lIHRocm91Z2ggdGhlIEVNQSAoRXVyb3BlYW4gTWVkaWNpbmVzIEFnZW5jeSkgdW5kZXIgc3BlY2lmaWMgRVUgcmVndWxhdGlvbnMgZm9yIEFkdmFuY2VkIE1lZGljYWwgUHJvZHVjdHMsIGluY2x1ZGluZyBnZW5lIHRoZXJhcGllcy4gVGhlcmUgaXMgYWxzbyBhIG5hdGlvbmFsIGFwcHJvdmFsIHByb2Nlc3MgaW4gR2VybWFueSBmb3IgaW5kaXZpZHVhbGl6ZWQgdHJlYXRtZW50cywgYnV0IGxhcmdlLXNjYWxlIHRoZXJhcGllcyBtdXN0IGdvIHRocm91Z2ggdGhlIEVVIHByb2Nlc3MuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiQ2FuIHlvdSBzaGFyZSBtb3JlIGFib3V0IHRoZSBhcHByb3ZhbCBhbmQgcmVpbWJ1cnNlbWVudCBwcm9jZXNzZXMgZm9yIENGIHRyZWF0bWVudD9cIlxuICAgICAgICBhPVwiVGhlIGFwcHJvdmFsIHByb2Nlc3MgaXMgc2VwYXJhdGUgZnJvbSByZWltYnVyc2VtZW50IGJ5IHB1YmxpYyBoZWFsdGggaW5zdXJhbmNlLiBDRiBpcyBjb25zaWRlcmVkIGEgcmFyZSBkaXNlYXNlIGlmIGl0IGFmZmVjdHMgZmV3ZXIgdGhhbiBmaXZlIG91dCBvZiAxMCwwMDAgcGVvcGxlLCBhbmQgdHJlYXRtZW50cyBmb3IgcmFyZSBkaXNlYXNlcyBvZnRlbiBmYWNlIHNwZWNpYWwgcmVpbWJ1cnNlbWVudCBjaGFsbGVuZ2VzLiBJZiBtb3JlIHRoYW4gZml2ZSBvdXQgb2YgMTAsMDAwIHBlb3BsZSBhcmUgYWZmZWN0ZWQsIHRoZSBkaXNlYXNlIGlzIHJlbGF0aXZlbHkgY29tbW9uLCBhbmQgYXBwcm92YWwgYW5kIHJlaW1idXJzZW1lbnQgZ28gdGhyb3VnaCBhIGRpZmZlcmVudCBwcm9jZWR1cmUga25vd24gYXMgdGhlIEFNTk9HIHByb2Nlc3MuIEZvciBtb3JlIGNvbW1vbiBkaXNlYXNlcywgYW4gYWRkaXRpb25hbCBiZW5lZml0IChadXNhdHpudXR6ZW4pIG11c3QgYmUgZGVtb25zdHJhdGVkIGR1cmluZyB0aGUgYXBwcm92YWwgcHJvY2Vzcy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIYXZlIHlvdSBoZWFyZCBhYm91dCBpc3N1ZXMgd2l0aCByZWltYnVyc2VtZW50IGZyb20gcHJpdmF0ZSBpbnN1cmFuY2UgY29tcGFuaWVzP1wiXG4gICAgICAgIGE9XCJXZVx1MjAxOXZlIGhlYXJkIHRoYXQgcHJpdmF0ZSBpbnN1cmFuY2UgY29tcGFuaWVzIGNhbiBtYWtlIGl0IGRpZmZpY3VsdCB0byBnZXQgdHJlYXRtZW50cyByZWltYnVyc2VkLCBlc3BlY2lhbGx5IGV4cGVyaW1lbnRhbCBvbmVzLiBPbmUgb2Ygb3VyIGNvbGxlYWd1ZXMgYWxtb3N0IGhhZCB0byBnbyB0byBjb3VydCB0byBnZXQgaGlzIHRyZWF0bWVudCByZWltYnVyc2VkIGJ5IGhpcyBwcml2YXRlIGluc3VyZXIsIHdoaWNoIHdhcyBxdWl0ZSBleHBlbnNpdmUuIEV2ZW50dWFsbHksIGhlIHN3aXRjaGVkIHRvIHB1YmxpYyBpbnN1cmFuY2UsIGJ1dCB0aGUgc2l0dWF0aW9uIHdhcyBkaWZmaWN1bHQuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2h5IGRpZCB5b3VyIGNvbGxlYWd1ZSBoYXZlIGlzc3VlcyB3aXRoIHByaXZhdGUgaW5zdXJhbmNlP1wiXG4gICAgICAgIGE9XCJIZSB3YXMgcHJpdmF0ZWx5IGluc3VyZWQsIGJ1dCB0aGUgdHJlYXRtZW50IHdhcyB2ZXJ5IGV4cGVuc2l2ZSwgYXJvdW5kIFx1MjBBQzE2LDAwMCBwZXIgbW9udGgsIGFuZCB0aGUgaW5zdXJhbmNlIGNvbXBhbnkgd2FzIHJlbHVjdGFudCB0byBjb3ZlciBpdC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJEbyB5b3UgbmVlZCBsZWdhbCBpbmZvcm1hdGlvbiBmb3IgeW91ciBwcm9qZWN0P1wiXG4gICAgICAgIGE9XCJCb3RoLiBXZSB3YW50IHRvIGJlIHdlbGwtaW5mb3JtZWQgdG8gaWRlbnRpZnkgcG90ZW50aWFsIG9ic3RhY2xlcyBlYXJseSBvbiwgc3VjaCBhcyBsZWdhbCByZXN0cmljdGlvbnMgb3IgYmFucyBvbiBhbHRlcmluZyBjZXJ0YWluIGNocm9tb3NvbWVzLiBBbHRob3VnaCB3ZSB3b25cdTIwMTl0IGJlIHJ1bm5pbmcgY2xpbmljYWwgdHJpYWxzLCB1bmRlcnN0YW5kaW5nIHRoZSByZWd1bGF0b3J5IGxhbmRzY2FwZSBpcyBjcnVjaWFsIGZvciBvdXIgZnV0dXJlIHBsYW5uaW5nLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBkb2VzIGdlbmV0aWMgY291bnNlbGluZyBhbmQgdGVzdGluZyB3b3JrIGZvciBDRj9cIlxuICAgICAgICBhPVwiR2VuZXRpYyBjb3Vuc2VsaW5nIGFuZCB0ZXN0aW5nIGFyZSB1c3VhbGx5IGNvdmVyZWQgYnkgaGVhbHRoIGluc3VyYW5jZSBpZiB0aGVyZVx1MjAxOXMgYSBtZWRpY2FsIHJlYXNvbiwgc3VjaCBhcyBhIGZhbWlseSBoaXN0b3J5IG9yIHN1c3BpY2lvbiB0aGF0IHRoZSBwYXJlbnRzIG1pZ2h0IGJlIGNhcnJpZXJzLiBIb3dldmVyLCBpZiBib3RoIHBhcmVudHMgYXJlIGhlYWx0aHkgYW5kIHRoZXJlXHUyMDE5cyBubyBmYW1pbHkgaGlzdG9yeSBvZiBDRiwgaW5zdXJhbmNlIG1pZ2h0IG5vdCBjb3ZlciB0aGUgdGVzdHMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiQXJlIHRoZXJlIGRpZmZlcmVuY2VzIGJldHdlZW4gcHVibGljIGFuZCBwcml2YXRlIGluc3VyZXJzIGZvciBnZW5ldGljIHRlc3RzP1wiXG4gICAgICAgIGE9XCJQdWJsaWMgaW5zdXJhbmNlIGhhcyBkaWZmZXJlbnQgcmVndWxhdGlvbnMgdGhhbiBwcml2YXRlIGluc3VyYW5jZSwgYnV0IElcdTIwMTltIG5vdCBlbnRpcmVseSBzdXJlIGlmIHRoYXQgbGVhZHMgdG8gZGlmZmVyZW50IGRlY2lzaW9ucyByZWdhcmRpbmcgZ2VuZXRpYyB0ZXN0aW5nLiBJIGNhbiBsb29rIGludG8gdGhlIHB1YmxpYyBpbnN1cmFuY2UgcmVndWxhdGlvbnMgaWYgdGhhdCB3b3VsZCBiZSBoZWxwZnVsLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIklzIG5ld2Jvcm4gc2NyZWVuaW5nIGZvciBDRiBjb3ZlcmVkIGJ5IGhlYWx0aCBpbnN1cmFuY2U/XCJcbiAgICAgICAgYT1cIlllcywgbmV3Ym9ybiBzY3JlZW5pbmcgaXMgcGFydCBvZiBhIHNldCBvZiBoZWFsdGggZXhhbWluYXRpb25zIGZvciBjaGlsZHJlbiBhbmQgYWRvbGVzY2VudHMsIHJlZ3VsYXRlZCB1bmRlciBcdTAwQTcyNiBTR0IgViAoU29jaWFsIFNlY3VyaXR5IENvZGUpLiBTaW5jZSBpdFx1MjAxOXMgcGFydCBvZiB0aGUgcmVndWxhciBzY3JlZW5pbmcgcHJvY2VzcywgaXRcdTIwMTlzIGNvdmVyZWQgYnkgaGVhbHRoIGluc3VyYW5jZSB3aXRob3V0IGFkZGl0aW9uYWwgcmVxdWlyZW1lbnRzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBkb2VzIHB1YmxpYyBpbnN1cmFuY2UgaGFuZGxlIENGIHRyZWF0bWVudCB3aGVuIGEgdGVzdCBjb21lcyBiYWNrIG5lZ2F0aXZlP1wiXG4gICAgICAgIGE9XCJQdWJsaWMgaGVhbHRoIGluc3VyYW5jZSB3b3JrcyB3aXRoIHN0YW5kYXJkaXplZCBndWlkZWxpbmVzLCBhbmQgaWYgYSB0ZXN0IGNvbWVzIGJhY2sgbmVnYXRpdmUsIGl0IG1heSBubyBsb25nZXIgbWVldCB0aGUgY3JpdGVyaWEgZm9yIGNvdmVyYWdlLiBIb3dldmVyLCBpZiBhIGRvY3RvciByZWNvbmZpcm1zIHRoZSBkaWFnbm9zaXMsIHRoZSB0cmVhdG1lbnQgc2hvdWxkIGNvbnRpbnVlIHRvIGJlIGNvdmVyZWQuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSXMgdGhlcmUgbm8gcnVsZSB0aGF0IHNheXMgZ2VuZXRpYyBkaXNlYXNlcywgb25jZSBkaWFnbm9zZWQsIHNob3VsZCByZW1haW4gY292ZXJlZCBzaW5jZSBnZW5ldGljcyBkb25cdTIwMTl0IGNoYW5nZT9cIlxuICAgICAgICBhPVwiSW4gdGhlb3J5LCB5ZXMuIEJ1dCB0aGUgZ3VpZGVsaW5lcyBhcmUgdXN1YWxseSBiYXNlZCBvbiBtZWRpY2FsIGV2aWRlbmNlIGF0IHRoZSB0aW1lLCBhbmQgcmUtdGVzdGluZyBjYW4gc29tZXRpbWVzIGxlYWQgdG8gY29tcGxpY2F0aW9ucyBpbiB0ZXJtcyBvZiBjb3ZlcmFnZSBpZiB0aGUgcmVzdWx0IGRpZmZlcnMuIEhvd2V2ZXIsIHdpdGggcHJvcGVyIG1lZGljYWwgZG9jdW1lbnRhdGlvbiwgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIG1haW50YWluIGNvdmVyYWdlLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhhdmUgcmVjZW50IGNoYW5nZXMgaW4gZ2VuZSB0aGVyYXB5IGNvc3RzIGltcGFjdGVkIHB1YmxpYyBoZWFsdGggaW5zdXJhbmNlP1wiXG4gICAgICAgIGE9XCJOb3QgbXVjaCBoYXMgY2hhbmdlZC4gSXRcdTIwMTlzIGEgcG9saXRpY2FsIGFuZCBzb2NpZXRhbCBxdWVzdGlvblx1MjAxNGhvdyB3aWxsaW5nIGFyZSB3ZSB0byBmaW5hbmNlIHRoZXNlIGV4cGVuc2l2ZSB0aGVyYXBpZXM/IFJpZ2h0IG5vdywgcHVibGljIGhlYWx0aCBpbnN1cmFuY2Ugb3BlcmF0ZXMgdW5kZXIgYW4gZWNvbm9taWMgZWZmaWNpZW5jeSBwcmluY2lwbGUsIG1lYW5pbmcgdGhlIG1vc3QgY29zdC1lZmZlY3RpdmUgdHJlYXRtZW50cyBhcmUgcHJlZmVycmVkLiBCdXQgaWYgZ2VuZSB0aGVyYXBpZXMgYmVjb21lIHRoZSBvbmx5IHRyZWF0bWVudCBvcHRpb24gZm9yIGNlcnRhaW4gY29uZGl0aW9ucywgdGhleSB3aWxsIGxpa2VseSBoYXZlIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBjb3ZlcmFnZSwgYW5kIGl0IGNvdWxkIGJlIGEgY2hhbGxlbmdlIGZvciB0aGUgc3lzdGVtLiBUaGVyZSBhcmUgYWxzbyBvbmdvaW5nIHByaWNlIG5lZ290aWF0aW9ucyBiZXR3ZWVuIGluc3VyZXJzIGFuZCBtYW51ZmFjdHVyZXJzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRvIHBhdGVudHMgcGxheSBhIHNpZ25pZmljYW50IHJvbGUgaW4ga2VlcGluZyBnZW5lIHRoZXJhcHkgY29zdHMgaGlnaD9cIlxuICAgICAgICBhPVwiWWVzLCBwYXRlbnRzIGNlcnRhaW5seSBpbmZsdWVuY2UgdGhlIHByaWNlLCBidXQgdGhlIHByb2R1Y3Rpb24gb2YgZ2VuZSB0aGVyYXBpZXMgaXMgaW5oZXJlbnRseSBleHBlbnNpdmUgZHVlIHRvIHRoZSBjb21wbGV4IHJlc2VhcmNoIGFuZCBtYW51ZmFjdHVyaW5nIHByb2Nlc3MuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV291bGQgcHJpdmF0ZSBzdXBwbGVtZW50YWwgaW5zdXJhbmNlIGJlIGFuIG9wdGlvbiBmb3IgY292ZXJpbmcgZXhwZW5zaXZlIGdlbmUgdGhlcmFwaWVzP1wiXG4gICAgICAgIGE9XCJJdFx1MjAxOXMgcG9zc2libGUgdGhhdCBwcml2YXRlIHN1cHBsZW1lbnRhbCBpbnN1cmFuY2UgY291bGQgY292ZXIgdGhlc2UgdGhlcmFwaWVzIGlmIHB1YmxpYyBoZWFsdGggaW5zdXJhbmNlIGRvZXNuXHUyMDE5dC4gSG93ZXZlciwgdGhpcyByYWlzZXMgY29uY2VybnMgYWJvdXQgZXF1aXR5IGFuZCBhY2Nlc3NpYmlsaXR5LiBJZiBwdWJsaWMgaW5zdXJhbmNlIGRvZXNuXHUyMDE5dCBjb3ZlciBpdCwgdGhlIGJ1cmRlbiBtaWdodCBmYWxsIG9uIHByaXZhdGUgaW5zdXJhbmNlLCB3aGljaCBjb3VsZCBjcmVhdGUgZGlzcGFyaXRpZXMgaW4gYWNjZXNzIHRvIHRyZWF0bWVudC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJJcyBnZW5lIHRoZXJhcHkgcmVzZWFyY2ggZHJpdmVuIG1vcmUgYnkgYmlvbG9neSBvciBtZWRpY2luZT9cIlxuICAgICAgICBhPVwiSXRcdTIwMTlzIGRlZmluaXRlbHkgaW50ZXJkaXNjaXBsaW5hcnkuIEJvdGggYmlvbG9naXN0cyBhbmQgbWVkaWNhbCBwcm9mZXNzaW9uYWxzIGNvbnRyaWJ1dGUuIEZvciBleGFtcGxlLCBhdCBvdXIgdW5pdmVyc2l0eSwgdGhlIG1lZGljYWwgYW5kIGJpb2xvZ3kgZmFjdWx0aWVzIGNvbGxhYm9yYXRlIGNsb3NlbHkuIEJpb2xvZ2lzdHMgdXN1YWxseSBoYW5kbGUgdGhlIHJlc2VhcmNoLCB3aGlsZSBtZWRpY2FsIHByb2Zlc3Npb25hbHMgZm9jdXMgbW9yZSBvbiBjbGluaWNhbCBhcHBsaWNhdGlvbnMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRG8gYmlvbG9naXN0cyBvciBtZWRpY2FsIHByb2Zlc3Npb25hbHMgZGV2ZWxvcCBnZW5lIHRoZXJhcGllcz9cIlxuICAgICAgICBhPVwiSW4gdGVybXMgb2YgZGV2ZWxvcG1lbnQsIGl0XHUyMDE5cyBtYWlubHkgYmlvbG9naXN0cyBhbmQgYmlvdGVjaG5vbG9naXN0cy4gTWVkaWNhbCBwcm9mZXNzaW9uYWxzIGdldCBpbnZvbHZlZCBwcmltYXJpbHkgaW4gY2xpbmljYWwgdHJpYWxzLiBTb21lIGRvY3RvcnMgZG8gcmVzZWFyY2gsIGJ1dCB0aGV5XHUyMDE5cmUgb2Z0ZW4gbmVlZGVkIGluIGhvc3BpdGFscywgc28gaGFuZHMtb24gZGV2ZWxvcG1lbnQgaXMgbW9zdGx5IGhhbmRsZWQgYnkgbW9sZWN1bGFyIGJpb2xvZ2lzdHMgb3IgYmlvdGVjaG5vbG9naXN0cy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJEb2VzIHJlc2VhcmNoIGluIGdlbm9tZSBtZWRpY2luZSBhbmQgZ2VuZSB0aGVyYXBpZXMgY29tZSBmcm9tIGJpb2xvZ3ksIG1lZGljaW5lLCBvciBib3RoP1wiXG4gICAgICAgIGE9XCJJdFx1MjAxOXMgbWFpbmx5IGludGVyZGlzY2lwbGluYXJ5LiBBIGxvdCBvZiBmdW5kaW5nIGNvbWVzIGZyb20gaW5kdXN0cnksIGxpa2UgQmlvTlRlY2gsIG9yIGZvdW5kYXRpb25zIGxpa2UgTXVrb3Zpc3ppZG9zZSBlLlYuLCB3aGljaCBmdW5kcyByZXNlYXJjaCBvbiBjeXN0aWMgZmlicm9zaXMuIEJ1dCBpbiB0ZXJtcyBvZiBwcmFjdGljYWwgcmVzZWFyY2gsIGl0XHUyMDE5cyB1c3VhbGx5IGJpb2xvZ2lzdHMgb3IgYmlvdGVjaG5vbG9naXN0cy4gV2l0aG91dCBpbmR1c3RyeSBzdXBwb3J0LCByZXNlYXJjaCBjYW4gc3RydWdnbGUgZHVlIHRvIGEgbGFjayBvZiBmdW5kaW5nLCBzbyBoYXZpbmcgYmFja2luZyBpcyBlc3NlbnRpYWwuXCIgLz5cbiAgICA8Lz4sXG4gICAgc3VtbWFyeTogXCJPdXIgZGlzY3Vzc2lvbiBhZGRyZXNzZWQgdGhlIGNvbXBsZXhpdGllcyBvZiBjeXN0aWMgZmlicm9zaXMgKENGKSB0cmVhdG1lbnRzLCBmb2N1c2luZyBvbiBnZW5lIHRoZXJhcHkgYW5kIGhlYWx0aCBpbnN1cmFuY2UgcHJvY2Vzc2VzLiBXZSBsZWFybmVkIGFib3V0IHRoZSByZWd1bGF0b3J5IGNoYWxsZW5nZXMgZ2VuZSB0aGVyYXBpZXMgZmFjZSwgcGFydGljdWxhcmx5IHJlZ2FyZGluZyB0aGUgRXVyb3BlYW4gTWVkaWNpbmVzIEFnZW5jeSAoRU1BKSBhbmQgdGhlIEFNTk9HIHByb2Nlc3MgZm9yIHJlaW1idXJzZW1lbnQgYXNzZXNzbWVudHMuIFB1YmxpYyBpbnN1cmVycyBpbXBvc2Ugc3RyaWN0ZXIgZ3VpZGVsaW5lcyB0aGFuIHByaXZhdGUgaW5zdXJlcnMsIGVtcGhhc2l6aW5nIHRoZSBpbXBvcnRhbmNlIG9mIGVhcmx5IGludGVydmVudGlvbiBpbiBDRiBhbmQgdGhlIG5lZWQgZm9yIGFkYXB0YWJsZSBwb2xpY2llcyBmb3IgYXR5cGljYWwgY2FzZXMuIFdlIHJlY29nbml6ZWQgdGhlIGhpZ2ggY29zdHMgYXNzb2NpYXRlZCB3aXRoIGdlbmUgdGhlcmFwaWVzIGFuZCBpbmNvcnBvcmF0ZWQgY29zdC1iZW5lZml0IGFuYWx5c2lzIGludG8gb3VyIHByb2plY3QgcGxhbm5pbmcuIEZvbGxvd2luZyB0aGUgaW50ZXJ2aWV3LCB3ZSByZWZpbmVkIG91ciBhcHByb2FjaCB0byBpbmNsdWRlIHN0cmFpZ2h0Zm9yd2FyZCBkZWxpdmVyeSBtZXRob2RzIGFuZCBhdHRlbmRlZCBhIEd4UCBjb3Vyc2UgZm9yIHJlZ3VsYXRvcnkgY29tcGxpYW5jZS4gRW5nYWdpbmcgd2l0aCBzdGFydC11cHMgZnVydGhlciBpbmZvcm1lZCBvdXIgcHJhY3RpY2FsIGltcGxlbWVudGF0aW9uIHN0cmF0ZWdpZXMsIGVuc3VyaW5nIG91ciBwcm9qZWN0IGFsaWducyB3aXRoIGJvdGggc2NpZW50aWZpYyBhbmQgcmVndWxhdG9yeSBuZWVkcy5cIixcbiAgICBtb250aHM6IFwianVuZVwiLFxuICAgIHBpY3R1cmV1cmxfaW50ZXJ2aWV3OiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC96b29tLW5pY29sZS53ZWJwXCIsXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIlZpc2l0aW5nIEFjaGVtYSBcIixcbiAgICBuYWNobm5hbWU6IFwiaW4gRnJhbmtmdXJ0XCIsXG4gICAgcGljdHVyZXVybDogcGljc1snZnJhbmtmdXJ0bWVzc2UnXSxcbiAgICBqb2I6IFwiVGVhbSBpR0VNXCIsXG4gICAgYWZmaWxpYXRpb246IFwiQmllbGZlbGQgQ2VCaVRlYyAyMDI0XCIsXG4gICAgdGFnOiBcIkluZHVzdHJ5XCIsXG4gICAgaGVhZGluZzogXCJTb21lIG9mIG91ciB0ZWFtIG1lbWJlcnMgYXR0ZW5kZWQgdGhlIGZhaXIgaW4gRnJhbmtmdXJ0IHRvIG5ldHdvcmsgd2l0aCBpbmR1c3RyeSBsZWFkZXJzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiZnJhbmtmdXJ0bWVzc2VcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJBY2hlbWEgd2FzIGEgZ3JlYXQgZXhwZXJpZW5jZS4gSSBnb3QgdG8gbWVldCBhIGxvdCBvZiBpbnRlcmVzdGluZyBwZW9wbGUgYW5kIGxlYXJuIGFib3V0IHRoZWlyIHByb2plY3RzLiBJdCByZWFsbHkgbW90aXZhdGVkIG1lIGZvciBteSBvd24gd29yay5cIixcbiAgICBxdW90ZU5hY2huYW1lOlwiV2llc25lciwgVGVhbW1lbWJlclwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJMaXNhXCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+QXQgQWNoZW1hIDIwMjQsIHdlIGFpbWVkIHRvIGNvbm5lY3Qgd2l0aCBpbmR1c3RyeSBsZWFkZXJzIGFuZCBpbm5vdmF0b3JzLCB0byBleHBsb3JlIHBvdGVudGlhbCBjb2xsYWJvcmF0aW9ucyBhbmQgZ2F0aGVyIGluc2lnaHRzIG9uIGxhYm9yYXRvcnkgcHJhY3RpY2VzLiBPdXIgZ29hbCB3YXMgdG8gZW5oYW5jZSBvdXIgdW5kZXJzdGFuZGluZyBvZiBjdXR0aW5nLWVkZ2UgdGVjaG5vbG9naWVzIGFuZCByZXNvdXJjZXMgaW4gdGhlIGxpZmUgc2NpZW5jZXMgc2VjdG9yLjwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+RHVyaW5nIG91ciB0aW1lIGF0IEFjaGVtYSwgd2UgZ2FpbmVkIHZhbHVhYmxlIGluc2lnaHRzIGludG8gbGlmZSBzY2llbmNlcywgd2l0aCBhIHN0cm9uZyBmb2N1cyBvbiBMTlAgcHJvZHVjdGlvbiBhbmQgbGFiIGJlc3QgcHJhY3RpY2VzLiBPdXIgZGlzY3Vzc2lvbnMgd2l0aCBleHBlcnRzLCBpbmNsdWRpbmcgSnV0dGEgZnJvbSBhIGxpZmUgc2NpZW5jZSBjb21wYW55LCBwcm92aWRlZCB1cyB3aXRoIGlubm92YXRpdmUgc29sdXRpb25zIGFuZCBjdXR0aW5nLWVkZ2UgdGVjaG5pcXVlcy4gSGVyIGluc2lnaHRzIGludG8gY3VycmVudCB0cmVuZHMgaGVscGVkIHVzIGJldHRlciB1bmRlcnN0YW5kIGhvdyB0byBhZHZhbmNlIG91ciBwcm9qZWN0LjwvcD4sXG4gICAgICA8cD5UaHJvdWdoIHZhcmlvdXMgZXhwZXJ0IGludGVyYWN0aW9ucywgd2UgZGVlcGVuZWQgb3VyIGtub3dsZWRnZSBvZiBMTlAgcHJvZHVjdGlvbiwgbGVhcm5pbmcga2V5IG1hbnVmYWN0dXJpbmcgdGVjaG5pcXVlcyBlc3NlbnRpYWwgZm9yIGRldmVsb3BpbmcgZWZmZWN0aXZlIHRoZXJhcGV1dGljcy4gVGhlc2UgaW5zaWdodHMgYWxsb3dlZCB1cyB0byBvcHRpbWl6ZSBvdXIgcHJvZHVjdGlvbiBtZXRob2RzLCBlbnN1cmluZyBtb3JlIGVmZmljaWVudCBwcm9jZXNzZXMgbW92aW5nIGZvcndhcmQuPC9wPixcbiAgICAgIDxwPlVuZGVyc3RhbmRpbmcgcmlnb3JvdXMgcXVhbGl0eSBjb250cm9sIHByb2Nlc3NlcyB3YXMgYW5vdGhlciBrZXkgdGFrZWF3YXksIGVuYWJsaW5nIHVzIHRvIGltcGxlbWVudCBjaGVja3MgdGhhdCB3aWxsIGJvb3N0IHRoZSByZWxpYWJpbGl0eSBhbmQgc2FmZXR5IG9mIG91ciB0aGVyYXBldXRpY3MuIFRoZXNlIGNvbXByZWhlbnNpdmUgaW5zaWdodHMgaGF2ZSBub3Qgb25seSBzdXBwb3J0ZWQgb3VyIGN1cnJlbnQgZ29hbHMgYnV0IGFsc28gcHJlcGFyZWQgdXMgZm9yIGZ1dHVyZSBjaGFsbGVuZ2VzLCBlcXVpcHBpbmcgdXMgd2l0aCB0aGUgdG9vbHMgdG8gbmF2aWdhdGUgdGhlIGNvbXBsZXhpdGllcyBvZiByZXNlYXJjaCBhbmQgdGhlcmFwZXV0aWMgZGV2ZWxvcG1lbnQuPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5EaXNjdXNzaW9ucyB3aXRoIGluZHVzdHJ5IGV4cGVydHMgaGF2ZSBwcm92aWRlZCBpbnZhbHVhYmxlIGluc2lnaHRzIGludG8gdGhlIHByb2R1Y3Rpb24gb2YgTE5Qc1tMSU5LIExOUGN5Y2xlXSwgYSBjcnVjaWFsIGFzcGVjdCBvZiBvdXIgcHJvamVjdC4gV2UgaGF2ZSBpZGVudGlmaWVkIGlubm92YXRpdmUgbWFudWZhY3R1cmluZyB0ZWNobmlxdWVzIGFuZCBxdWFsaXR5IGNvbnRyb2wgcHJvY2VkdXJlcyB0aGF0IHdlIGNhbiBpbnRlZ3JhdGUgaW50byBvdXIgcHJvY2Vzc2VzLiBUaGlzIGtub3dsZWRnZSBub3Qgb25seSBzdXBwb3J0cyBvdXIgaW1tZWRpYXRlIG9iamVjdGl2ZXMgYnV0IGFsc28gcG9zaXRpb25zIHVzIHRvIG92ZXJjb21lIGZ1dHVyZSBjaGFsbGVuZ2VzIGluIGRldmVsb3BpbmcgZWZmZWN0aXZlIHRoZXJhcGllcy48L3A+XSxcbiAgICBzdW1tYXJ5OiBcIlwiLFxuICAgIG1vbnRoczogXCJqdW5lXCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiS2F0cmluXCIsXG4gICAgbmFjaG5uYW1lOiBcIldlc3Rob2ZmXCIsXG4gICAgam9iOiBcInBoeXNpb3RoZXJhcGlzdFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkluZGVwZW5kZW50XCIsXG4gICAgcGljdHVyZXVybDogcGljc1snd2VzdGhvZmYnXSxcbiAgICB0YWc6IFwiTWVkaWNhbCBQcm9mZXNzaW9uYWxcIixcbiAgICBoZWFkaW5nOiBcIkluLURlcHRoIFZpc2l0IHRvIFNwZWNpYWxpemVkIFBoeXNpb3RoZXJhcGlzdCBmb3IgQ0YgQnJlYXRoaW5nIFRoZXJhcHlcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJ3ZXN0aG9mZnZpc2l0XCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZTogXCJDaGlsZHJlbiBhcmUgdGhlIHdvcmxkJ3MgYmVzdCBcdTIwMUNtdWN1cyBoaWRlcnNcdTIwMUQuXCIsXG4gICAgYWltb2Zjb250YWN0OiBbPGE+RHVyaW5nIHRoZSBsYXN0IGludGVydmlldyB3aXRoIDxIUExpbmt0b090aGVySFBUYWIgdGFiPVwid2VzdGhvZmZpbnZcIiB0ZXh0PVwiS2F0cmluIFdlc3Rob2ZmXCIgLz4sIHNoZSBpbnZpdGVkIHVzIHRvIGpvaW4gYSBmZXcgcGh5c2lvdGhlcmFweSBzZXNzaW9ucyBcdTIwMTMgbm90IGp1c3QgYXMgc3BlY3RhdG9ycyBidXQgYXMgcGFydGljaXBhbnRzLiBXZSBnbGFkbHkgYWNjZXB0ZWQgYW5kIHZpc2l0ZWQgaGVyIGluIGhlciBwcmFjdGljZS4gT3ZlciBhIGZldyBob3Vycywgd2UgdG9vayBwYXJ0IGluIGZvdXIgc2Vzc2lvbnMgd2l0aCBkaWZmZXJlbnQgY2hpbGRyZW4gXHUyMDEzIG5vdCBhbGwgb2YgdGhlbSBDRiBwYXRpZW50cy4gIDwvYT5dLFxuICAgIGluc2lnaHRzOiBcIkR1cmluZyB0aGUgc2Vzc2lvbnMsIHdlIGNvdWxkIGFzayBLYXRyaW4gYXMgd2VsbCBhcyB0aGUgcmVzcGVjdGl2ZSBwYXJlbnRzIGFuZCBjaGlsZHJlbiBxdWVzdGlvbnMuIFdlIGxlYXJuZWQgdGhhdCBicmVhdGhpbmcgdGhlcmFweSBpcyBhbHNvIHVzZWZ1bCBmb3Igb3RoZXIgaWxsbmVzc2VzIGFuZCB0aGF0IHlvdSBjYW4gZWFzaWx5IGRvIHNvbWUgb2YgdGhlIGV4ZXJjaXNlcyB5b3Vyc2VsZi4gRGVzcGl0ZSBoYXZpbmcgY3lzdGljIGZpYnJvc2lzLCB0aGUgY2hpbGRyZW4gd2VyZSBiZXR0ZXIgYXQgdGhlIGJyZWF0aGluZyBleGVyY2lzZXMgdGhhbiB3ZSBhbmQgS2F0cmluIHdlcmUhIFRoZSBzZXNzaW9ucyB0YWtlIDMwIHRvIDYwIG1pbnV0ZXMgYW5kIGluY2x1ZGUgYm90aCBtYW51YWwgdGhlcmFweSBhbmQgcGxheWZ1bCBlbGVtZW50cyB0byBoZWxwIGVuZ2FnZSB0aGUgY2hpbGRyZW4uIE1vc3Qgb2xkZXIgY2hpbGRyZW4gcmFuZ2UgZnJvbSBtaWxkbHkgdW5oYXBweSB0byBlbnRodXNpYXN0aWMsIGJ1dCBiYWJpZXMgb2Z0ZW4gY3J5IGR1cmluZyB0aGUgdHJlYXRtZW50cyBhcyBpdCBmZWVscyB1bmNvbWZvcnRhYmxlLiBUaGlzIGlzIG9mdGVuIGhhcmQgb24gdGhlIHBhcmVudHMgZXZlbiB0aG91Z2ggdGhlIHRyZWF0bWVudCBicmluZ3MgZ29vZCByZXN1bHRzLiBBIGxvdCBvZiBjaGlsZHJlbiB0ZW5kIHRvIGhpZGUgdGhhdCB0aGV5IGhhdmUgbXVjdXMgc2l0dGluZyBpbiB0aGVpciBsdW5ncyBieSBzdXBwcmVzc2luZyBjb3VnaHMuIEVzcGVjaWFsbHkgd2l0aCB5b3VuZyBjaGlsZHJlbiwgaXQgaXMgaW1wb3J0YW50IHRvIHN0YXkgb24gdG9wIG9mIGl0IGFuZCBkbyByZWd1bGFyIGJyZWF0aGluZyB0aGVyYXB5IGV2ZW4gaWYgaXQgc2VlbXMgbGlrZSBpdCBpcyBjdXJyZW50bHkgbm90IG5lY2Vzc2FyeS4gV2UgYWxzbyBsZWFybmVkIGFib3V0IHRoZSB2YXJpb3VzIGluZm9ybWF0aW9uYWwgbWF0ZXJpYWwgYWltZWQgYXQgY2hpbGRyZW4gdG8gaGVscCBleHBsYWluIHRoZXJhcGllcyBhbmQgc3ltcHRvbXMgdG8gdGhlbSBhbmQgd2hhdCBhY2Nlc3NvcmllcyBmb3IgYnJlYXRoaW5nIHRoZXJhcHkgdGhlcmUgYXJlLiBGb3IgZXhhbXBsZSwgYSBmbHV0dGVyIGlzIHRvIHRyYWluIGJyZWF0aGluZyBvdXQgZm9yY2VmdWxseSBieSBicmVhdGhpbmcgYWdhaW5zdCBhIHNtYWxsIHdlaWdodCBhbmQgYSBiaW5kZXIgY2FuIGJlIHdvcm4gYXQgbmlnaHQgdG8gcHJvbW90ZSBkZWVwIGJyZWF0aGluZy4gXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiVGhlIG1vc3QgaW1wb3J0YW50IHRoaW5nIHdhcyB0aGF0IGJvdGggS2F0cmluIGFuZCB0aGUgcGFyZW50cyBhZ3JlZWQgdGhhdCB0aGUgY2hpbGRyZW4gd2VyZSBhYmxlIHRvIGluaGFsZSBhdCBhbiBlYXJseSBhZ2UgYW5kIHRoYXQgdGhlcmUgd2VyZSBnZW5lcmFsbHkgbm8gcGh5c2ljYWwgcHJvYmxlbXMgd2l0aCBpbmhhbGF0aW9uIGluIGdlbmVyYWwuIFRoaXMgcmVpbmZvcmNlZCBvdXIgZGVjaXNpb24gdG8gd29yayB0b3dhcmRzIGRlbGl2ZXJ5IGJ5IGluaGFsYXRpb24uIEl0IHdhcyB2ZXJ5IGludGVyZXN0aW5nIHRvIHNlZSB0aGUgZGlmZmVyZW50IHdheXMgY2hpbGRyZW4gZGVhbCB3aXRoIHRoZWlyIGV4ZXJjaXNlcyBhbmQgaGVhciBhYm91dCB0aGUgcHJvZ3Jlc3MgdGhleSBtYWRlLiAgXCIsXG4gICAgdGV4dDogWzxvbD5cbiAgICAgIDxsaT5cbiAgICAgICAgPHN0cm9uZz5Sb2JpbiAoJmd0OzEwKTwvc3Ryb25nPlxuICAgICAgICA8cD5Sb2JpbiB3aWxsIHNvb24gc3RhcnQgNHRoIGdyYWRlIGFuZCB0YWtlcyBtb2R1bGF0b3JzLiBTaW5jZSB0YWtpbmcgdGhlbSwgbWFueSBwcm9ibGVtcyBoYXZlIHN1YnNpZGVkLiBObyByZWd1bGFyIHBuZXVtb25pYSB3aXRoIGxvbmcgaG9zcGl0YWwgc3RheXMgYW5kIHRoZSBtdWN1cyBjb21lcyBvdXQgZWFzaWVyLiBOZXZlcnRoZWxlc3MsIFJvYmluIHN0aWxsIGdvZXMgdG8gcGh5c2lvdGhlcmFweSByZWd1bGFybHkgdG8gZG8gbWFudWFsIGJyZWF0aGluZyB0aGVyYXB5IHRvIGdldCB0aGUgbXVjdXMgb3V0LiBLYXRyaW4gdGVsbHMgdXMgaG93IHRoZSBtdWN1cyBjaGFuZ2VzIGNvbG9yIHRoZSBsb25nZXIgaXQgc3RheXMgaW4gdGhlIGx1bmdzLiBUaGUgbmV3IG11Y3VzIGlzIHdoaXRlLCBhbmQgdGhlIG9sZGVyIG11Y3VzIGdldHMgeWVsbG93IGZpcnN0IGFuZCB0aGVuIGdldHMgZGFya2VyIHdpdGggdGltZSB1bnRpbCBpdCByZWFjaGVzIGEgYmxhY2sgY29sb3IuIE5vd2FkYXlzLCBSb2JpbiByYXJlbHkgaGFzIGRhcmsgbXVjdXMgb3IgY2x1bXBzLCBidXQgd2UgY2FuIHN0aWxsIGhlYXIgdGhlIHJ1c3RsaW5nIGFzIEthdHJpbiBzdGFydHMgdGhlIGF1dG9nZW5vdXMgZHJhaW5hZ2UgKEF1dG9nZW5lIERyYWluYWdlKSBieSBwcmVzc2luZyBvbiBSb2JpbidzIGNoZXN0LiBUaGUgZ29hbCBpcyB0byBnZXQgb3V0IHRoZSBtdWN1cyBkZWVwIGluIHRoZSBsdW5ncy4gVG8gZG8gdGhhdCwgUm9iaW4gbXVzdCByZXBlYXQgdGhlIHJvdXRpbmUgXHUyMDEzIGJyZWF0aGluZyBpbiBkZWVwbHksIGhvbGRpbmcsIGJyZWF0aGluZyBvdXQgXHUyMDEzIG11bHRpcGxlIHRpbWVzIGFuZCB0aGVuIGNvdWdoIGFuZCBzcGl0IHRoZSBtdWN1cyBvdXQuIFNvbWV0aW1lcyBpdCB3b3JrcywgYnV0IG90aGVyIHRpbWVzIHRoZSBtdWN1cyBkb2VzIG5vdCBjb21lIG91dCBlYXNpbHkuIFdoaWxlIGFjY29yZGluZyB0byBLYXRyaW4gdGhlIGF1dG9nZW5vdXMgZHJhaW5hZ2UgaXMgdGhlIGdvbGQgc3RhbmRhcmQsIHRoZXkgZG8gb3RoZXIgdXNlZnVsIGV4ZXJjaXNlcywgdG9vLiBGb3IgZXhhbXBsZSwgcHJlc3NpbmcgdGhlIFZvanRhIHBvaW50cyAod2hpY2ggdGhlIGNoaWxkcmVuIGNhbGwgXHUyMDFDdGhlIG1hZ2ljIHBvaW50c1x1MjAxRCkgb24gdGhlIGNoZXN0IHRvIGFjdGl2YXRlIGEgZGVlcCBicmVhdGhpbmcgcmVmbGV4IGFuZCBnZXQgYWlyIGludG8gcGFydHMgb2YgdGhlIGx1bmdzIHRoYXQgbWF5IG5vdCBoYXZlIGJlZW4gdXNlZCBwcmV2aW91c2x5LiBPciBwaHlzaWNhbCBhY3Rpdml0eSBzdWNoIGFzIGNsaW1iaW5nIGEgZmV3IHN0ZXBzIG9uIGEgY2xpbWJpbmcgbGFkZGVyIGFuZCBoYW5naW5nIG9uIGl0IHRvIHN0cmV0Y2ggdGhlIHRob3JheCBtdXNjbGVzLjwvcD5cbiAgICAgIDwvbGk+XG4gICAgICA8bGk+XG4gICAgICAgIDxzdHJvbmc+U2FtICgmbHQ7MTApICYgQWxleCAoJmx0OzEwKTwvc3Ryb25nPlxuICAgICAgICA8cD5TYW0gYW5kIEFsZXggYXJlIHNpYmxpbmdzIGFuZCBkbyBub3QgaGF2ZSBDRiBidXQgYW5vdGhlciBhZmZsaWN0aW9uIHRoYXQgY2F1c2VzIGEgcGVyc2lzdGVudCBjb3VnaC4gVGhleSBjb21lIHRvZ2V0aGVyIHdpdGggYSBwYXJlbnQgdHdpY2UgYSB3ZWVrIGFuZCBkbyBoYW5naW5nIGV4ZXJjaXNlcyBmcm9tIHRoZSBjZWlsaW5nLCBuYXNhbCBzaG93ZXJzIHdpdGggbmVlZGxlbGVzcyBzeXJpbmdlcywgYW5kIHRoZSBcdTIwMUNtYWdpYyBwb2ludHMuXHUyMDFEIEthdHJpbiBhbHNvIGNoZWNrcyB0aGVpciBsdW5ncyBmb3IgbXVjdXMgaW4gYSBzaW1pbGFyIG1hbm5lciB0byBhdXRvZ2Vub3VzIGRyYWluYWdlLiBXZSwgdG9vLCB0cmllZCB0byBkbyB0aGUgbmFzYWwgc2hvd2VyLCBhbmQgYmVpbmcgYSBncm93bi11cCByZWFsbHkgZG9lcyBub3QgZ3VhcmFudGVlIGJlaW5nIGFibGUgdG8gZG8gdGhhdCBwcm9wZXJseSEgVGhpcyBoaWdobGlnaHRlZCB0aGF0IHRoZSBjaGlsZHJlbiBrbm93IGFsbCB0aGVpciBleGVyY2lzZXMgYnkgaGVhcnQgYXQgYSB5b3VuZyBhZ2UuIE9uIHJlcXVlc3QsIHRoZWlyIHBhcmVudCB0b2xkIHVzIHRoYXQgdGhlIHBoeXNpb3RoZXJhcHkgbWFkZSBhIGJpZyBkaWZmZXJlbmNlIGZvciBib3RoIG9mIHRoZW0uPC9wPlxuICAgICAgPC9saT5cbiAgICAgIDxsaT5cbiAgICAgICAgPHN0cm9uZz5Ub25pICgmbHQ7NSk8L3N0cm9uZz5cbiAgICAgICAgPHA+VG9uaSBoYXMgYSBsaWdodCB2ZXJzaW9uIG9mIENGIGFuZCBoYXMgYmVlbiBkb2luZyBwaHlzaW90aGVyYXB5IHdpdGggS2F0cmluIHNpbmNlIHNob3J0bHkgYWZ0ZXIgYmlydGguIEluIGNvbnRyYXN0IHRvIG1vc3QgY2hpbGRyZW4gd2UgbWV0IG9yIHRhbGtlZCBhYm91dCwgVG9uaSByZWZ1c2VzIG1lZGljYXRpb24uIE1vZHVsYXRvcnMgYXJlIGEgcG9zc2liaWxpdHksIGJ1dCB0aGVtIGFuZCAnZXZlcnl0aGluZyBzdGlua3knIGlzIGEgbm8tZ28sIGV2ZW4gdGhvdWdoIGluaGFsaW5nIHdvdWxkIGJlIHZlcnkgYmVuZWZpY2lhbCBkdWUgdG8gdGhlIG11Y3VzIGJ1aWxkdXAuIE1vc3QgZXhlcmNpc2VzIHJlc3VsdCBpbiBjcnlpbmcgYW5kIHNjcmVhbWluZywgd2hpY2ggaXMgdmVyeSBleGhhdXN0aW5nIGZvciB0aGUgY2hpbGQuIER1ZSB0byB0aGUgbGlnaHQgbmF0dXJlIG9mIFRvbmkncyB2YXJpYW50LCB0aGV5IGFyZSBub3QgaW4gZGFuZ2VyLCBidXQgYSBwZXJtYW5lbnQgdGhlcmFweSB3b3VsZCBiZSB2ZXJ5IGJlbmVmaWNpYWwuPC9wPlxuICAgICAgPC9saT5cbiAgICAgIDxsaT5cbiAgICAgICAgPHN0cm9uZz5DaHJpc3NpICgmZ3Q7MTApPC9zdHJvbmc+XG4gICAgICAgIDxwPkNocmlzc2kgdGFrZXMgbW9kdWxhdG9ycyBhbmQgd2lsbCBzb29uIHRha2UgYSB0cmlwIHRvIGEgd2F0ZXIgcGFyayB3aXRoIHNvbWUgZnJpZW5kcy4gS2F0cmluIHRlYWNoZXMgdXMgdGhhdCB3aGVuIHRoZSBjaGlsZHJlbiBkbyBub3QgYnJlYXRoZSBvdXQgcHJvcGVybHksIGFpciBzdGF5cyBpbiB0aGUgbHVuZ3MgYW5kIGNhdXNlcyBoeXBlcmluZmxhdGlvbiBcdTIwMTMgd2l0aCB3aGljaCBpdCBpcyBhY3R1YWxseSBoYXJkZXIgdG8gZmxvYXQgaW4gd2F0ZXIhIEFmdGVyIHRoZSBtYW51YWwgZHJhaW5hZ2UsIEthdHJpbiBnZXRzIGFsbCBvZiB1cyBnbGFzc2VzIHdpdGggd2F0ZXIgYW5kIGRpc2ggc29hcCBhbmQgc3RyYXdzLiBCbG93aW5nIGJ1YmJsZXMgaXMgYSBwbGF5ZnVsIHdheSB0byB0cmFpbiBob3cgdG8gcHJvcGVybHkgYnJlYXRoZSBvdXQgYnkgZWl0aGVyIHRyeWluZyB0byBibG93IGJ1YmJsZXMgYXMgbG9uZyBhcyBwb3NzaWJsZSBvciB0cnlpbmcgdG8gbWFrZSBhbiBleGlzdGluZyBidWJibGUgYXMgYmlnIGFzIHBvc3NpYmxlITwvcD5cbiAgICAgIDwvbGk+XG4gICAgPC9vbD4sXSxcbiAgICBzdW1tYXJ5OiBcIkluIHRoZSB2aXNpdCB3aXRoIEthdHJpbiBXZXN0aG9mZiwgd2UgcGFydGljaXBhdGVkIGluIHBoeXNpb3RoZXJhcHkgc2Vzc2lvbnMgZm9yIGNoaWxkcmVuLCBpbmNsdWRpbmcgdGhvc2Ugd2l0aCBjeXN0aWMgZmlicm9zaXMgKENGKS4gV2Ugb2JzZXJ2ZWQgdGhhdCBicmVhdGhpbmcgdGhlcmFweSBpcyBiZW5lZmljaWFsIGZvciB2YXJpb3VzIGlsbG5lc3NlcyBhbmQgbGVhcm5lZCB0ZWNobmlxdWVzIHRoYXQgY2FuIGJlIHByYWN0aWNlZCBhdCBob21lLiBTZXNzaW9ucyBsYXN0IDMwIHRvIDYwIG1pbnV0ZXMsIGNvbWJpbmluZyBtYW51YWwgdGhlcmFweSB3aXRoIHBsYXlmdWwgZWxlbWVudHMuIFdoaWxlIG9sZGVyIGNoaWxkcmVuIGVuZ2FnZWQgd2VsbCwgaW5mYW50cyBvZnRlbiBmb3VuZCB0aGUgZXhlcmNpc2VzIHVuY29tZm9ydGFibGUuIEltcG9ydGFudGx5LCBib3RoIEthdHJpbiBhbmQgcGFyZW50cyBub3RlZCB0aGF0IGNoaWxkcmVuIGNvdWxkIGluaGFsZSB3aXRob3V0IGlzc3VlcyBmcm9tIGFuIGVhcmx5IGFnZSwgcmVpbmZvcmNpbmcgb3VyIGZvY3VzIG9uIGluaGFsYXRpb24gZGVsaXZlcnkgbWV0aG9kcyBmb3IgdGhlcmFwaWVzLlwiLFxuICAgIHBpY3R1cmV1cmxfaW50ZXJ2aWV3OlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2Jlc3VjaC13ZXN0aG9mZi91bnRpdGxlZC1kZXNpZ24ucG5nXCIsXG4gICAgbW9udGhzOiBcImp1bmVcIlxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiRHIuXCIsXG4gICAgdm9ybmFtZTogXCJNYXJjb1wiLFxuICAgIG5hY2hubmFtZTogXCJSYWR1a2ljXCIsXG4gICAgam9iOiBcIlBvc3Rkb2MgYXQgQUcgQ2VsbHVsYXIgYW5kIE1vbGVjdWxhciBCaW90ZWNobm9sb2d5XCIsXG4gICAgYWZmaWxpYXRpb246IFwiVW5pdmVyc2l0eSBCaWVsZWZlbGRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydtYXJjbyddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiT3B0aW1pemluZyBMTlAgVHJhbnNmZWN0aW9uOiBJbnNpZ2h0cyBpbnRvIHdvcmtpbmcgd2l0aCBMTlAgS2l0c1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcInJhZHVraWNcIixcbiAgICBsYW5ndWFnZTpcImRlXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwieFwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPlRoZSBwcmltYXJ5IG9iamVjdGl2ZSB3YXMgdG8gdGFja2xlIGNoYWxsZW5nZXMgaW4gTE5QIHRyYW5zZmVjdGlvbiByZWxhdGVkIHRvIG1hbnVmYWN0dXJpbmcgYW5kIGNlbGwgdHJhbnNmZWN0aW9uIG1ldGhvZHMuIFRoZSBmb2N1cyB3YXMgb24gaW1wcm92aW5nIExOUCBmb3JtdWxhdGlvbiBhbmQgYXBwbGljYXRpb24gcHJvdG9jb2xzIHRvIGVuaGFuY2UgZ2VuZSBkZWxpdmVyeSBlZmZlY3RpdmVuZXNzLFxuICAgICAgIGFuZCBvbiBhY3F1aXJpbmcgc3BlY2lhbGl6ZWQgZXhwZXJ0aXNlIHRvIG9wdGltaXplIHRoZXNlIHByb2Nlc3Nlcy4gRHIuIFJhZHVraWMgZnJvbSBCaWVsZWZlbGQgVW5pdmVyc2l0eSBwcm92aWRlZCBjcnVjaWFsIGluc2lnaHRzIGZvciB0cm91Ymxlc2hvb3RpbmcgYW5kIHByb3RvY29sIG9wdGltaXphdGlvbiB0byBlbmhhbmNlIExOUCBlZmZpY2FjeS4gPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD4gRHIuIFJhZHVraWMgdG9sZCB1cyB0aGF0IHRoZSBlZmZpY2llbmN5IG9mIExOUHMgaXMgc2lnbmlmaWNhbnRseSBhZmZlY3RlZCBieSBsaXBpZC10by1udWNsZWljIGFjaWQgcmF0aW9zIGFuZCB0aGF0IG9wdGltaXppbmcgcmF0aW9zIGxpa2UgMjI6MSB2ZXJzdXMgMTA6MSBjYW4gaW1wcm92ZSB0cmFuc2ZlY3Rpb24uIFxuICAgICAgcEggYWRqdXN0bWVudHMgYW5kIGJ1ZmZlciBjb21wb3NpdGlvbiAoZS5nLiwgbW9kaWZ5aW5nIHNvZGl1bSBhY2V0YXRlIHNvbHV0aW9ucykgYXJlIGFsc28gY3J1Y2lhbCBmb3IgTE5QIHBlcmZvcm1hbmNlLiBQcm9wZXIgc3RvcmFnZSBhdCA0IFx1MDBCMEMsIHByZWNpc2UgcGlwZXR0aW5nLCBhbmQgdGhvcm91Z2ggbWl4aW5nIGFyZSBlc3NlbnRpYWwgdG8gbWFpbnRhaW4gTE5QIGZ1bmN0aW9uYWxpdHkuIFxuICAgICAgSW4gYWRkaXRpb24sIGhlIHN1Z2dlc3RlZCBxdWFsaXR5IGNvbnRyb2wgbWVhc3VyZXMgc3VjaCBhcyBmbHVvcmVzY2VuY2UgdGVzdGluZywgemV0YSBwb3RlbnRpYWwsIGFuZCBsaWdodCBzY2F0dGVyaW5nIGFuYWx5c2VzIGhlbHAgZW5zdXJlIG91ciBMTlAgaXMgc3RhYmxlLiBBZGRpdGlvbmFsbHksIHNwcmF5IGRyeWluZyB3YXMgZXZhbHVhdGVkIGZvciBwb3RlbnRpYWwgdXNlIGluIGxvbmctdGVybSBMTlAgc3RhYmlsaXphdGlvbi4gPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5JbmNvcnBvcmF0aW5nIHRoZSBpbnNpZ2h0cyBEci4gUmFkdWtpYyBhbmQgYWR2aWNlIGZyb20gcmVjZW50IGNvbnN1bHRhdGlvbnMsIHdlIGFkanVzdGVkIHRoZSBsaXBpZC10by1udWNsZWljIGFjaWQgcmF0aW8gZnJvbSAyMjoxIHRvIDEwOjEgdG8gZW5oYW5jZSBlZmZpY2llbmN5IGFuZCBtb2RpZmllZCB0aGUgcEggYW5kIGNvbmNlbnRyYXRpb24gb2Ygc29kaXVtIGFjZXRhdGUgc29sdXRpb25zIGZvciBiZXR0ZXIgcGFja2FnaW5nLiBcbiAgICAgIFN0b3JhZ2UgY29uZGl0aW9ucyB3ZXJlIHN0cmljdGx5IG1hbmFnZWQgYXQgNCBcdTAwQjBDLCBhbmQgcGlwZXR0aW5nL21peGluZyB0ZWNobmlxdWVzIHdlcmUgcmVmaW5lZCB0byBlbnN1cmUgcXVhbGl0eSBjb25zaXN0ZW5jeS4gUXVhbGl0eSBjb250cm9sIHdhcyBleHBhbmRlZCB0byBpbmNsdWRlIGZsdW9yZXNjZW5jZSB0ZXN0aW5nLCB6ZXRhIHBvdGVudGlhbCBtZWFzdXJlbWVudHMsIGFuZCBsaWdodCBzY2F0dGVyaW5nLCBhbG9uZ3NpZGUgY3l0b3RveGljaXR5IHRlc3RzLiBcbiAgICAgIFRoZXNlIGltcHJvdmVtZW50cyBub3Qgb25seSBhZGRyZXNzIHRyYW5zZmVjdGlvbiBjaGFsbGVuZ2VzIGJ1dCBhbHNvIHN0cmVuZ3RoZW4gb3VyIGZvdW5kYXRpb24gZm9yIGZ1dHVyZSBMTlAgYXBwbGljYXRpb25zLiA8L3A+XSxcbiAgICBzdW1tYXJ5OiBcIlRoZSBhaW0gb2YgdGhlIGNvbnRhY3Qgd2FzIHRvIGFkZHJlc3MgY2hhbGxlbmdlcyBpbiBMTlAgdHJhbnNmZWN0aW9uIGFuZCBpbXByb3ZlIGZvcm11bGF0aW9uIHByb3RvY29scyBmb3IgZW5oYW5jZWQgZ2VuZSBkZWxpdmVyeS4gRHIuIFJhZHVraWMgaGlnaGxpZ2h0ZWQgdGhlIGltcG9ydGFuY2Ugb2YgbGlwaWQtdG8tbnVjbGVpYyBhY2lkIHJhdGlvcywgcmVjb21tZW5kaW5nIGFkanVzdG1lbnRzIGxpa2UgMTA6MSBmb3IgYmV0dGVyIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LiBIZSBhbHNvIGVtcGhhc2l6ZWQgb3B0aW1pemluZyBwSCBhbmQgYnVmZmVyIGNvbXBvc2l0aW9uLCBhcyB3ZWxsIGFzIHN0cmljdCBzdG9yYWdlIGFuZCBtaXhpbmcgcHJhY3RpY2VzLiBBZGRpdGlvbmFsbHksIHF1YWxpdHkgY29udHJvbCBtZWFzdXJlcyBzdWNoIGFzIGZsdW9yZXNjZW5jZSB0ZXN0aW5nIGFuZCB6ZXRhIHBvdGVudGlhbCBhbmFseXNpcyB3ZXJlIHN1Z2dlc3RlZCB0byBlbnN1cmUgTE5QIHN0YWJpbGl0eS4gVGhlc2UgaW5zaWdodHMgd2VyZSBpbXBsZW1lbnRlZCBpbnRvIHRoZSBwcm9qZWN0LCBpbXByb3ZpbmcgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgYW5kIHBhdmluZyB0aGUgd2F5IGZvciBmdXR1cmUgTE5QIGFwcGxpY2F0aW9ucy5cIixcbiAgICBtb250aHM6IFwiSnVuZVwiXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJQcm9mLiBEci5cIixcbiAgICB2b3JuYW1lOiBcIkVyaGFyZFwiLFxuICAgIG5hY2hubmFtZTogXCJXaXNjaG1leWVyXCIsXG4gICAgam9iOiBcIlJlc2VhcmNoIEdyb3VwIENlbGx1bGFyIE5ldXJvcGh5c2lvbG9neVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlVuaXZlcnNpdHkgQmllbGVmZWxkXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snd2lzY2htZXllciddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiRGlzY3Vzc2lvbiBvbiBUZWNobmlxdWVzIGZvciBNZWFzdXJpbmcgQ0ZUUiBDaGFubmVsIEZ1bmN0aW9uYWxpdHlcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJwYXRjaGNsYW1wXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIkd1Y2tlc1wiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJJc2FiZWxsXCIsXG4gICAgcXVvdGU6IFwiSW5pdGlhbGx5IHdlIGhhZG4ndCBjb25zaWRlcmVkIHBhdGNoLWNsYW1wIG1lYXN1cmVtZW50cyBpbiBvdXIgc2V0IG9mIGRvd25zdHJlYW0gYXBwbGljYXRpb25zLCBidXQgaXRcdTIwMTlzIHByb3ZlbiB0byBiZSBhbiBleGNlcHRpb25hbGx5IHNlbnNpdGl2ZSBtZXRob2QgZm9yIGFzc2Vzc2luZyBDRlRSIGNvbmR1Y3RhbmNlLlwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPkFzIHBhcnQgb2Ygb3VyIHByb2plY3QsIHdlIGFpbWVkIHRvIGRlbW9uc3RyYXRlIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBDRlRSIGlvbiBjaGFubmVsLCBhZnRlciByZXN0b3JpbmdcbiAgICAgIGl0IHRocm91Z2ggb3VyIG9wdGltaXplZCBQcmltZSBFZGl0aW5nLCBieSB1c2luZyBQYXRjaC1DbGFtcCBtZWFzdXJlbWVudHMuIFRvIGVuc3VyZSB0aGUgb3B0aW1hbCB1c2Ugb2YgdGhlXG4gICAgICBQYXRjaC1DbGFtcCBhbmQgdG8gZ2FpbiBhbiBpbnNpZ2h0IGludG8gZWxlY3Ryb3BoeXNpb2xvZ3ksIHdlIGFza2VkIGV4cGVydHMgZnJvbSB0aGUgbWVkaWNhbCBmYWN1bHR5IGF0XG4gICAgICBCaWVsZWZlbGQgVW5pdmVyc2l0eSB0byBjcml0aWNhbGx5IGV4YW1pbmUgb3VyIG1lYXN1cmVtZW50IHBsYW5uaW5nLiBQcm9mLiBEci4gRXJoYXJkIFdpc2NobWV5ZXIsIGFuXG4gICAgICBleHBlcmllbmNlZCBzY2llbnRpc3QgaW4gdGhpcyBmaWVsZCB3aG8gaGFzIHdvcmtlZCBhdCB0aGUgTWF4IFBsYW5jayBJbnN0aXR1dGUgZm9yIEJpb3BoeXNpY2FsIENoZW1pc3RyeVxuICAgICAgaW4gR1x1MDBGNnR0aW5nZW4sIHRoZSBkZXZlbG9wbWVudCBzaXRlIG9mIHRoZSBQYXRjaC1DbGFtcCB0ZWNobmlxdWU8U2Nyb2xsTGlua1dpdGhDaGlsZCB0YXJnZXRJZD1cImRlc2MtMVwiPjxzdXA+MTwvc3VwPjwvU2Nyb2xsTGlua1dpdGhDaGlsZD4sIGFuZCBjdXJyZW50bHkgbGVhZHMgdGhlIENlbGx1bGFyXG4gICAgICBOZXVyb3BoeXNpb2xvZ3kgd29ya2luZyBncm91cCBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSwgc2VlbWVkIHRvIGJlIGFuIGlkZWFsIGludGVydmlld2VlLiBIaXNcbiAgICAgIGtub3dsZWRnZSBhbmQgZXhwZXJpZW5jZSBwcm9taXNlZCB2YWx1YWJsZSBpbnNpZ2h0cyBhbmQgYWR2aWNlIGZvciBjb25kdWN0aW5nIGFuZCBvcHRpbWl6aW5nIG91clxuICAgICAgZXhwZXJpbWVudHMuIDwvcD5dLFxuICAgIHBpY3R1cmV1cmxfYWltOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mb3Itd2lraS10ZXh0cy9ocC1wYXRjaC1jbGFtcC93aXNjaG1leWVyLWludGVydmlldy53ZWJwXCIsXG4gICAgaW5zaWdodHM6IFs8PjxwPlByb2YuIERyLiBXaXNjaG1leWVyIHRhdWdodCB1cyBhYm91dCB0aGUgd29ya2Zsb3cgb2YgdGhlIFBhdGNoLUNsYW1wIHRlY2huaXF1ZS4gSGUgaGlnaGxpZ2h0ZWQgdGhlIG5lZWRcbiAgICAgIGZvciBzcGVjaWFsaXplZCBlbGVjdHJvZGVzIGFuZCBnbGFzcyBwaXBldHRlcyB0aGF0IG11c3QgZm9ybSBhIHNtb290aCBzdXJmYWNlIGRldm9pZCBvZiB0aGUgZXh0cmFjZWxsdWxhclxuICAgICAgbWF0cml4IChFQ00pLiBBZGRpdGlvbmFsbHksIGhlIHBvaW50ZWQgb3V0IHRoYXQgbWVhc3VyaW5nIENGVFIgY29uZHVjdGl2aXR5IHdpdGggdGhlIFBhdGNoLUNsYW1wIHRlY2huaXF1ZVxuICAgICAgcG9zZXMgYSB0ZWNobmljYWwgY2hhbGxlbmdlIGR1ZSB0byB0aGUgbG93IGN1cnJlbnRzIGludm9sdmVkPFNjcm9sbExpbmtXaXRoQ2hpbGQgdGFyZ2V0SWQ9XCJkZXNjLTJcIj48c3VwPjI8L3N1cD48L1Njcm9sbExpbmtXaXRoQ2hpbGQ+LiBIZSByZWNvbW1lbmRlZCB1c2luZyBleHByZXNzaW9uIHZlY3RvcnNcbiAgICAgIGZvciBvdmVyZXhwcmVzc2luZyB0aGUgQ0ZUUiBnZW5lIGluIEhFSyBjZWxscyBpbnN0ZWFkIG9mIGVwaXRoZWxpYWwgY2VsbHMgZnJvbSBhIG5hc2FsIHN3YWIgdG8gYWNoaWV2ZVxuICAgICAgYmV0dGVyIHJlc3VsdHMuIFNpbmNlIFBhdGNoLUNsYW1wIG1lYXN1cmVtZW50cyByZXF1aXJlIGEgdmVyeSBzZW5zaXRpdmUgdGVzdGluZyBlbnZpcm9ubWVudCwgZXZlblxuICAgICAgY2hhbGxlbmdpbmcgZm9yIHRoZSBtb3N0IGV4cGVyaWVuY2VkIHNjaWVudGlzdHMsIFByb2YuIERyLiBXaXNjaG1leWVyIGludml0ZWQgdXMgdG8gY29uZHVjdCB0aGVcbiAgICAgIG1lYXN1cmVtZW50cyB0b2dldGhlciB3aXRoIG1lbWJlcnMgb2YgaGlzIGdyb3VwLlxuICAgIDwvcD5cbiAgICAgIDxwPkluIGFkZGl0aW9uIHRvIHRoZSBQYXRjaC1DbGFtcCB0ZWNobmlxdWUsIFByb2YuIERyLiBXaXNjaG1leWVyIGluZm9ybWVkIHVzIGFib3V0IEUtY2lzIG1lYXN1cmVtZW50cyBhcyBhXG4gICAgICAgIGN1cnJlbnQgZWxlY3Ryb3BoeXNpb2xvZ2ljYWwgbWVhc3VyZW1lbnQgbWV0aG9kIGFsb25nc2lkZSB0aGUgUGF0Y2gtQ2xhbXAgdGVjaG5pcXVlLiBUaGlzIG1ldGhvZCBhbGxvd3NcbiAgICAgICAgdGhlIG1lYXN1cmVtZW50IG9mIHRoZSBtZW1icmFuZSBwb3RlbnRpYWwgYWJvdmUgYW5kIGJlbG93IGEgbW9ub2xheWVyIG9mIGNvbmZsdWVudCBjZWxsczxTY3JvbGxMaW5rV2l0aENoaWxkIHRhcmdldElkPVwiZGVzYy0zXCI+PHN1cD4zPC9zdXA+PC9TY3JvbGxMaW5rV2l0aENoaWxkPi4gQ29uc2VxdWVudGx5LFxuICAgICAgICBpdCBlbmFibGVzIHByZWNpc2UgbWVhc3VyZW1lbnQgb2YgY29uZHVjdGl2aXR5IGRlcGVuZGVudCBvbiBDRlRSIGV4cHJlc3Npb24uIDwvcD5cbiAgICA8Lz5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+V2UgZGVjaWRlZCB0byB1c2UgSEVLMjkzVFtMaW5rXSBjZWxscyBsaW5lcyB3aGljaCBkbyBvdmVyZXhwcmVzcyB0aGVcbiAgICAgIGNvcnJlY3QgQ0ZUUiBhbmQgdGhvc2Ugd2hpY2ggZXhwcmVzcyBDRlRSIHdpdGggRjUwOGRlbCBtdXRhdGlvbiBmb3IgdGhlIFBhdGNoLUNsYW1wIG1lYXN1cmVtZW50c1tMSU5LIE1ldGhvZHNwYXRjaGNsYW1wXS4gVG8gY29uZHVjdCB0aGVcbiAgICAgIFBhdGNoLUNsYW1wIGV4cGVyaW1lbnRzLCB3ZSBjb250YWN0ZWQgdGhlIENlbGx1bGFyIE5ldXJvcGh5c2lvbG9neSBncm91cCB0byBwZXJmb3JtIHRoZSBuZWNlc3NhcnlcbiAgICAgIG1lYXN1cmVtZW50cy4gSXQgd2FzIGEgcGxlYXN1cmUgdG8gd29yayB0b2dldGhlciB3aXRoLCB3aG8gaXMgd29ya2luZyBhcyBhIHBvc3QtZG9jIGZvclxuICAgICAgdGhlIENlbGx1bGFyIE5ldXJvcGh5c2lvbG9neSB3b3JraW5nIGdyb3VwIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LiBIZSB0YXVnaHQgdXMgYWJvdXQgdGhlIFBhdGNoLUNsYW1wXG4gICAgICBtZXRob2QgYW5kIHNwZW50IGhpcyB2YWx1YWJsZSB0aW1lIHN1cHBvcnRpbmcgb3VyIHByb2plY3QgYnkgZ3VpZGluZyBvdXIgUGF0Y2gtQ2xhbXAgbWVhc3VyZW1lbnRzLiA8L3A+XSxcbiAgICBwaWN0dXJldXJsX2ltcGxlbWVudGF0aW9uOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9iaWxkLWludGVyc3NpZXJ0ZS13aXNzZW5zY2hhZnRsZXItb2hvLndlYnBcIixcbiAgICBwaWN0dXJldXJsX2ludGVydmlldzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9iaWxkLXBhdGNoLWNsYW1wLWlzaS1vbGl2ZXIud2VicFwiLFxuICAgIHJlZmVyZW5jZXM6IDxXaXNjaG1leWVyU291cmNlcyAvPixcbiAgICBpbnRlcnZpZXc6IDw+XG4gICAgICA8UWFCb3ggcT1cIkNhbiB5b3UgZWR1Y2F0ZSB1cyBhYm91dCB5b3VyIGFjYWRlbWljIGNhcmVlcj9cIiBhPVwiSSBkaWQgbXkgZG9jdG9yYXRlIDMwIHllYXJzIGFnbyBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSBhbmQgdGhlbiB3b3JrZWQgYXQgdGhlIE1heCBQbGFuY2sgSW5zdGl0dXRlIGluIEdcdTAwRjZ0dGluZ2VuIGEgbG90IHdpdGggdGhlIHBhdGNoLWNsYW1wIHRlY2huaXF1ZS4gVG9kYXksIElcdTIwMTltIGhlYWQgb2YgdGhlIHdvcmtpbmcgZ3JvdXAgQ2VsbHVsYXIgTmV1cm9waHlzaW9sb2d5IG9mIHRoZSBtZWRpY2luZSBmYWN1bHR5IG9mIEJpZWxlZmVsZCBVbml2ZXJzaXR5LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgbmV3IG1ldGhvZHMgYXJlIGN1cnJlbnRseSBhdmFpbGFibGUgaW4gZWxlY3Ryb3BoeXNpb2xvZ2ljYWwgcmVzZWFyY2g/XCIgYT1cIk9uZSBvZiB0aGUgbGF0ZXN0IG1ldGhvZHMgaXMgRS1jaXMgbWVhc3VyZW1lbnRzLiBUaGVzZSBtYWtlIGl0IHBvc3NpYmxlIHRvIGV4YW1pbmUgYSBtb25vbGF5ZXIgb2YgY29uZmx1ZW50IGNlbGxzIGFuZCB0byBtZWFzdXJlIHRoZSBtZW1icmFuZSBwb3RlbnRpYWwgYm90aCBhYm92ZSBhbmQgYmVsb3cuIFRoZSBjaGFuZ2UgaW4gY29uZHVjdGl2aXR5IGNhbiBiZSBhbmFseXplZCBmb3IgaW5zdGFuY2UgYXMgYSBmdW5jdGlvbiBvZiBDRlRSIGV4cHJlc3Npb24uXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSG93IGNhbiB3ZSBwcm9jZWVkIHdpdGggdGhlIGludmVzdGlnYXRpb24gb2YgQ0ZUUiBpbiBkaWZmZXJlbnQgY2VsbCBjdWx0dXJlcyBieSBwYXRjaC1jbGFtcD9cIiBhPVwiWW91IGNhbiBzdHVkeSBDRlRSIGV4cHJlc3Npb24gaW4gSEVLIGNlbGxzLCB3aGljaCBhbGxvd3MgZm9yIGEgbWVhc3VyYWJsZSBjaGFuZ2UgaW4gY2hsb3JpZGUgY29uZHVjdGFuY2UuIEkgYW0gbm90IHN1cmUgd2hldGhlciB3ZSB3aWxsIGJlIGFibGUgdG8gaW52ZXN0aWdhdGUgQ0ZUUiBzdWZmaWNpZW50bHkgaW4gZXBpdGhlbGlhbCBjZWxscyB3aGljaCB5b3Ugd2FudCB0byBjb2xsZWN0IGZyb20geW91ciBDRiBwYXRpZW50IGZyaWVuZCBhbmQgeW91ciB0ZWFtIG1lbWJlcnMuIFRoYXQgaXMgc29tZXRoaW5nIHdlIGhhdmUgdG8gdHJ5IG91dC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIb3cgY2hhbGxlbmdpbmcgaXMgdGhlIG1lYXN1cmVtZW50IG9mIENGVFIgY29uZHVjdGFuY2UgaW4gZXBpdGhlbGlhbCBjZWxscz9cIiBhPVwiQ0ZUUiBpbiBlcGl0aGVsaWFsIGNlbGxzIGhhcyB2ZXJ5IGxvdyBjb25kdWN0aXZpdHkgaW4gdGhlIGZlbXRvYW1wZXJlIHJhbmdlLiBUaGVyZWZvcmUsIGV4dHJlbWVseSBzZW5zaXRpdmUgdGVzdGluZyBpcyBuZWNlc3NhcnkgdG8gb2J0YWluIG1lYW5pbmdmdWwgcmVzdWx0cy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIb3cgY2hhbGxlbmdpbmcgaXMgdGhlIHBhdGNoLWNsYW1wIG1lYXN1cmVtZW50IG9mIENGVFIgY29uZHVjdGFuY2UgaW4gZXBpdGhlbGlhbCBjZWxscz9cIiBhPVwiVGhlIHByb2plY3QgY291bGQgdGFrZSBhdCBsZWFzdCBvbmUgeWVhciwgZXZlbiBmb3IgZXhwZXJpZW5jZWQgcmVzZWFyY2hlcnMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCB0ZWNobmljYWwgY2hhbGxlbmdlcyBkbyB3ZSBmYWNlIGluIGltcGxlbWVudGluZyB0aGUgcGF0Y2gtY2xhbXAgbWVhc3VyZW1lbnRzP1wiIGE9XCJPbmUgb2YgdGhlIGJpZ2dlc3QgY2hhbGxlbmdlcyBpcyBtZWFzdXJpbmcgdGhlIGN1cnJlbnQgYWNyb3NzIHRoZSBlbnRpcmUgY2VsbCwgYXMgd2UgZG8gbm90IHdhbnQgdG8gY2Fycnkgb3V0IHNpbmdsZS1jaGFubmVsIG1lYXN1cmVtZW50cywgYnV0IHJhdGhlciByZWNvcmQgdGhlIGN1cnJlbnQgYWNyb3NzIGNlbGxzIHdpdGggYSBzdHJvbmdseSBleHByZXNzaW5nIHZlY3RvciBjYXJyeWluZyB0aGUgZ2VuZSBmb3IgdGhlIGlvbiBjaGFubmVsLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgcmVxdWlyZW1lbnRzIG11c3QgYmUgbWV0IGZvciBjdWx0aXZhdGlvbiBhbmQgdHJhbnNmZWN0aW9uIGJlZm9yZSB0aGUgcGF0Y2gtY2xhbXAgbWVhc3VyZW1lbnQ/XCIgYT1cIllvdSBoYXZlIHRvIGN1bHRpdmF0ZSB0aGUgY2VsbHMgb24gcG9seS1seXNpbmUgYW5kIGxhbWluaW4gYW5kIHVzZSByb3VuZCBjb3ZlcnNsaXBzIG9mIDEwIG1tIGRpYW1ldGVyIHRvIHByZXBhcmUgdGhlbSBmb3IgbWVhc3VyZW1lbnQuIEZvciBpZGVudGlmaWNhdGlvbiBvZiBwb3NpdGl2ZSB0cmFuc2ZlY3RhbnRzLCB3ZSB1c2UgR0ZQIGNvLXRyYW5zZmVjdGVkIGNlbGxzIGluIG91ciB3b3JraW5nIGdyb3VwLCB5b3Ugc2hvdWxkIHRoaW5rIG9mIHNvbWV0aGluZyBsaWtlIHRoYXQgYXMgd2VsbC4gQSB0cmFuc2ZlY3Rpb24gcmF0ZSBvZiAxMCAlIGlzIHN1ZmZpY2llbnQgdG8gZ2FpbiBlbm91Z2ggY2VsbHMgZm9yIHRoZSBtZWFzdXJlbWVudC4gWW91IGNhbiB0aGluayBvZiBvcHRpbWl6aW5nIHlvdXIgdHJhbnNmZWN0aW9uIGJ5IHVzaW5nIExpcG9mZWN0YW1pbmUyMDAwLCB3aGljaCB3b3JrcyB3ZWxsIGZvciBvdXIgd29ya2luZyBncm91cC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaG8gY291bGQgaGVscCB1cyB3aXRoIHRoZSBwYXRjaC1jbGFtcCBtZWFzdXJlbWVudHM/XCIgYT1cIlRoZSBwYXRjaC1jbGFtcCBkZXZpY2VzIGFyZSBoZWF2aWx5IHV0aWxpemVkIGluIG91ciB3b3JraW5nIGdyb3VwLCBzbyB5b3UgcHJvYmFibHkgY2Fubm90IHBlcmZvcm0gbWVhc3VyZW1lbnRzIG9uIHlvdXIgb3duLiBIb3dldmVyLCBwb3N0ZG9jcyBjb3VsZCBzdXBwb3J0IHlvdSBmb3Igc29tZSBtZWFzdXJlbWVudHMuIERyLiBPbGl2ZXIgRHJcdTAwRTRnZXIgaXMgYXZhaWxhYmxlIGFzIGEgY29udGFjdCBwZXJzb24gb2YgbXkgd29ya2luZyBncm91cC5cIiAvPlxuXG4gICAgPC8+LFxuICAgIHN1bW1hcnk6IFwiSW4gc3VtbWFyeSwgdGhyb3VnaCB0aGUgaW50ZXJ2aWV3IHdpdGggUHJvZi4gRHIuIFdpc2NobWV5ZXIgYW5kIHRoZSBjb2xsYWJvcmF0aW9uIHdpdGggaGlzIGVtcGxveWVlIERyLiBPbGl2ZXIgRHJcdTAwRTRnZXIsIHdlIGdhaW5lZCB2YWx1YWJsZSBpbnNpZ2h0cyBhbmQgb3B0aW1pemVkIG91ciBhcHByb2FjaCB0byBlZmZlY3RpdmVseSBpbnZlc3RpZ2F0ZSBhbmQgbWVhc3VyZSB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgQ0ZUUiBpb24gY2hhbm5lbCwgdGhlcmVieSBkZXRlcm1pbmluZyB0aGUgZWZmaWNpZW5jeSBvZiBvdXIgcHJpbWUgZWRpdGluZyBzdHJhdGVneS5cIixcbiAgICBtb250aHM6IFwianVuZVwiXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIkpvc2h1YVwiLFxuICAgIG5hY2hubmFtZTogXCJCYXVkZXJcIixcbiAgICBqb2I6IFwicGFyZW50IGFuZCBhY3RpdmlzdFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkNGIHZlc3RzIHdvcmxkd2lkZVwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2pvc2h1YSddLFxuICAgIHRhZzogXCJQYXRpZW50XCIsXG4gICAgaGVhZGluZzogXCJJbnRlcnZpZXcgd2l0aCBhIENGIFBhcmVudCBhbmQgR2xvYmFsIEFkdm9jYXRlIG9uIFdvcmxkd2lkZSBTdXBwb3J0IGFuZCBQZXJzcGVjdGl2ZXNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJqb3NodWFcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJlblwiLFxuICAgIHF1b3RlOiBcIldlXHUyMDE5dmUgaGFkIHRvIHNpdCBieSBhbmQgd2F0Y2ggcGVvcGxlIGRpZSwga25vd2luZyB0aGF0IGJldHRlciB0cmVhdG1lbnQgZXhpc3RzIGJ1dCBpcyBpbmFjY2Vzc2libGUuIFwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPldlIGNvbnRhY3RlZCB0aGUgb3JnYW5pemF0aW9uIDxhIGhyZWY9XCJodHRwczovL3d3dy5jZnZ3dy5vcmcvXCI+Q0YgdmVzdHMgd29ybGR3aWRlPC9hPiB3aXRoIHRoZSBhaW0gdG8gaGVhciBtb3JlIGRpdmVyc2UgcGVyc3BlY3RpdmVzIGJleW9uZCBHZXJtYW55LlxuICAgICAgQWZ0ZXIgdGhlIGZvdW5kZXIgUm9kIGNvbm5lY3RlZCB1cyB3aXRoIEpvc2h1YSwgSm9zaHVhIHdhcyBzbyBraW5kIHRvIGNvbmR1Y3QgYW4gaW50ZXJ2aWV3IHdpdGggdXMgbm90IG9ubHkgYWJvdXQgdGhlIHBlcnNwZWN0aXZlcyBhbmRcbiAgICAgIHN0b3JpZXMgaGUgaGVhcmQgYnV0IGFsc28gYWJvdXQgaGlzIHBlcnNvbmFsIGV4cGVyaWVuY2VzIHdpdGggaGlzIGRhdWdodGVyIGFuZCBsaXZpbmcgaW4gYSBjb3VudHJ5IHdoZXJlIENGIGNhcmUgaXMgdmVyeSBoYXJkIHRvIGdldC4gSm9zaHVhXG4gICAgICAoZnJvbSB0aGUgVVNBKSBhbmQgaGlzIGZhbWlseSBsaXZlIGluIFRoYWlsYW5kIHdoZXJlIGhlIGFuZCBoaXMgd2lmZSBydW4gYSBjaGlsZHJlblx1MjAxOXMgaG9tZS4gVGhlaXIgZGF1Z2h0ZXIgaXMgdGhlIG9ubHkgY2hpbGQgd2l0aCBDRi48L3A+LFxuICAgIDxwPkl0IGlzIHBvc3NpYmxlIHRvIGxlYXJuIG1vcmUgYWJvdXQgSm9zaHVhIGFuZCBoaXMgZmFtaWx5IHRob3VnaCB0aGUgPGEgaHJlZj1cImh0dHBzOi8vdGhlYm9ubmVsbGZvdW5kYXRpb24ub3JnL2NmLXZlc3RzLXdvcmxkd2lkZS9cIj5cbiAgICAgIHBvZGNhc3Qgb2YgdGhlIEJvbm5lbCBmb3VuZGF0aW9uPC9hPi48L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPiBKb3NodWEgc2hvd2VkIHVzIGp1c3QgaG93IGRpcmUgdGhlIHNpdHVhdGlvbiBpcyBmb3IgQ0YgcGF0aWVudHMgaXMgaW4gc29tZSByZWdpb25zLiBJdCB3YXMgc2hvY2tpbmcgdG8gaGVhciB0aGVyZSBpcyBvbmx5IG9uZSBkb2N0b3JcbiAgICAgIGtub3dsZWRnZWFibGUgYWJvdXQgQ0YgaW4gVGhhaWxhbmQgYW5kIHRoYXQgbWFueSBkb2N0b3JzIGRpc21pc3MgdGhlIHBvc3NpYmlsaXR5IG9mIENGIGR1ZSB0byByYWNpYWwgYmlhcyBhbmQgbWlzaW5mb3JtYXRpb24uIEFkZGl0aW9uYWxseSwgd2UgY29uZmlybWVkIGhvdyBtdWNoIHRoZSBhY2Nlc3NpYmlsaXR5XG4gICAgICBvZiBjYXJlIGRlcGVuZHMgb24gdGhlIGhlYWx0aGNhcmUgc3lzdGVtLCBhcyB3ZSBhbHJlYWR5IHRvdWNoZWQgb24gZHVyaW5nIHRoZSBpbnRlcnZpZXcgd2l0aCA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cIm5pY29sZVwiIHRleHQ9XCJOaWNvbGUgRnJpZWRsZWluXCIgLz4sLiBPbiB0aGUgcGFyZW50aW5nIGxldmVsLCBKb3NodWEgYnJvdWdodCBpbiBtYW55IHBlcnNwZWN0aXZlcyBjb250cmFyeSB0byB3aGF0IHdlIHByZXZpb3VzbHkgaGVhcmQuIEluIHRoZSBpbnRlcnZpZXcgd2l0aCA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cIm1heGZpcnN0XCIgdGV4dD1cIk1heFwiIC8+LCwgd2UgbGVhcm5lZCBoZSB2ZWhlbWVudGx5IGF2b2lkcyBwb25kaW5nIHdhdGVyIHdoaWxlIEpvc2h1YVx1MjAxOXMgZGF1Z2h0ZXIgaXMgYWxsb3dlZCB0byByb2FtIGFyb3VuZCB3aXRoIG5vIHN1Y2ggcmVzdHJpY3Rpb25zLiBOZWl0aGVyIGhhdmUgY2hyb25pYyBpbmZlY3Rpb25zLjwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+VGhlIGludGVydmlldyB3aXRoIEpvc2ggbWFkZSB1cyByZWFsaXplIHdlIHRvbyBuZWVkZWQgdG8gbG9vayBhdCB0aGUgcmVhc29uIHdoeSB3ZSBjaG9zZSBGNTA4ZGVsLiBEaWQgd2UsIHRvbywgZmFsbCBmb3IgYmlhcz9cbiAgICAgIERlc3BpdGUgYSBjaGFuZ2Ugb2YgdGFyZ2V0IG5vdCBiZWluZyBmZWFzaWJsZSBhbnltb3JlLCB3ZSBsb29rZWQgaW50byBpdCBhbmQgdHJhY2VkIGJhY2sgb3VyIHN0ZXBzIHRoYXQgbGVkIHRvIG91ciBkZWNpc2lvbi4gV2UgZGlkIG5vdCBmaW5kIGFzIG11Y2hcbiAgICAgIGluZm9ybWF0aW9uIGFib3V0IG90aGVyIG11dGF0aW9ucyB3aGVuIGZpcnN0IHJlc2VhcmNoaW5nIGN5c3RpYyBmaWJyb3NpcywgZXNwZWNpYWxseSBpbiB0aGUgY29udGV4dCBvZiBwcmltZSBlZGl0aW5nLiBNYXR0aWpzIEJ1bGNlYW5zJ3MgcGFwZXIgb25cbiAgICAgIHRhcmdldGluZyB0aGUgbXV0YXRpb25zIEwyMjdSIGFuZCBOMTMwM0sgPFRhYlNjcm9sbExpbmsgdGFiPVwiam9zaHVhXCIgc2Nyb2xsSWQ9XCJkZXNjLTFcIiBudW09XCIxXCIgLz4gd2FzIG9uZSBvZiBmZXcgcGFwZXJzLiBBZnRlciBleHBsaWNpdGx5IHNlYXJjaGluZyBmb3IgY3lzdGljIGZpYnJvc2lzIHJlY29yZHMgZm9yIHNwZWNpZmljIGNvdW50cmllcyBhbmRcbiAgICAgIHJlZ2lvbnMsIHdlIHVuY292ZXJlZCBhIG1vZGVyYXRlIG51bWJlciBvZiBwYXBlcnMgZXhhbWluaW5nIENGIGluIEFzaWEgYW5kIG90aGVyIHJlZ2lvbnMgd2UgcHJldmlvdXNseSBkaWQgbm90IGtub3cgbXVjaCBhYm91dC4gVGhlIHZlcnkgZmlyc3QgYXJ0aWNsZVxuICAgICAgc3VwcG9ydGVkIEpvc2h1YSdzIGh5cG90aGVzZXMgYW5kIHBhaW50ZWQgYSBzYWQgcGljdHVyZTogQW1vbmcgb3RoZXIgdGhpbmdzLCBpdCBkZXNjcmliZXMgdGhlIGNhc2Ugb2YgYSBmb3VyLW1vbnRoLW9sZCBib3kgd2hvIHdhcyBkaWFnbm9zZWQgd2l0aCBjeXN0aWNcbiAgICAgIGZpYnJvc2lzLiBOb3RoaW5nIHVudXN1YWwgaW4gaXRzZWxmLCBidXQgdGhlIGNpcmN1bXN0YW5jZXMgYXJlIGRlcHJlc3NpbmcuIFR3byBvZiB0aGUgdGhyZWUgc2libGluZ3MgYm9ybiBiZWZvcmUgaGltIGRpZWQgd2l0aGluIG1vbnRocyBvZiBiaXJ0aCBhbmQgaGFkXG4gICAgICBwcmV2aW91c2x5IHByZXNlbnRlZCB3aXRoIHN5bXB0b21zIG9mIGN5c3RpYyBmaWJyb3Npcy4gSGUgd2FzIHRoZSBmaXJzdCB0byBiZSBkaWFnbm9zZWQuIEEgc3dlYXQgdGVzdCBhaW1lZCBhdCBjeXN0aWMgZmlicm9zaXMgd2FzIG5vdCBhdmFpbGFibGUgYXQgdGhlXG4gICAgICBob3NwaXRhbCwgc28gb25lIHdhcyBpbXByb3Zpc2VkLiBMYXRlciBvbiwgYSBnZW5ldGljIHRlc3QgcmV2ZWFsZWQgdGhlIHByZXNlbmNlIG9mIDUwOGRlbC4gPFRhYlNjcm9sbExpbmsgdGFiPVwiam9zaHVhXCIgc2Nyb2xsSWQ9XCJkZXNjLTJcIiBudW09XCIyXCIgLz4gV2UgZm91bmQgb3Vyc2VsdmVzIGFuZCBvdXIgbGFjayBvZiBrbm93bGVkZ2UgaW4gZ29vZFxuICAgICAgY29tcGFueSBhcyB3ZSBmb3VuZCBwYXBlcnMgYXMgbmV3IGFzIGZyb20gMjAyMCAoMTQgeWVhcnMgYWZ0ZXIgdGhlIHByZXZpb3VzbHkgbWVudGlvbmVkIHBhcGVyKSBjb250YWluaW5nIHN0YXRlbWVudHMgc3VjaCBhcyBcdTIwMUNyZWNlbnQgcmVwb3J0cyBzdWdnZXN0XG4gICAgICB0aGF0IENGIGRvZXMgb2NjdXIgaW4gQXNpYVx1MjAxRCA8VGFiU2Nyb2xsTGluayB0YWI9XCJqb3NodWFcIiBzY3JvbGxJZD1cImRlc2MtM1wiIG51bT1cIjNcIiAvPi4gRm9ydHVuYXRlbHksIHRoZXJlIGlzIGEgcmlzaW5nIG51bWJlciBvZiBjeXN0aWMgZmlicm9zaXMgZXhwZXJ0cyBmb3IgQXNpYSBhbmQgb3RoZXIgcHJldmlvdXNseSBvdmVybG9va2VkIHJlZ2lvbnNcbiAgICAgIHN1Y2ggYXMgQWZyaWNhLiA8VGFiU2Nyb2xsTGluayB0YWI9XCJqb3NodWFcIiBzY3JvbGxJZD1cImRlc2MtNFwiIG51bT1cIjRcIiAvPiBXZSBjaG9zZSB0byBub3Qgb25seSBsb29rIGF0IHRoZSBzY2llbnRpZmljIGRhdGEgYnV0IGFsc28gaW50byBhbmVjZG90YWwgZXZpZGVuY2UuIFRvIGZpbmQgdGhlIGxhdHRlciwgd2Ugc2VhcmNoZWQgb2ZmaWNpYWxcbiAgICAgIGFuZCBwcml2YXRlIHdlYnNpdGVzIGFuZCBjaGF0cm9vbXMgZm9yIGluZm9ybWF0aW9uIGFuZCBleHBlcmllbmNlcyBvZiBwYXRpZW50cy4gSW4gdGhlIGVuZCwgd2UgZm91bmQgbmFycmF0aXZlcyBmcm9tIG1vc3QgZXRobmljIGJhY2tncm91bmRzXG4gICAgICBhYm91dCBiZWluZyBkaXNtaXNzZWQgYW5kIG9mdGVuIG1pc2RpYWdub3NlZC4gT2YgY291cnNlLCB0aGlzIGlzIG5vdCBhbiBvY2N1cnJlbmNlIHVuaXF1ZSB0byBjeXN0aWMgZmlicm9zaXMuIE91ciBjb25jbHVzaW9uIGlzIHRoYXQgeWVzLFxuICAgICAgd2UgZGlkIGZhbGwgZm9yIGJpYXMuIEJ1dCByZWdhcmRsZXNzIG9mIGV0aG5pY2l0eSwgNTA4ZGVsIG9jY3VycyBhbmQgaXMgb3ZlcmFsbCB0aGUgbW9zdCBwcmV2YWxlbnQgbXV0YXRpb24gYXMgd2FzIGNvbmZpcm1lZCBpbiBvdXIgaW50ZXJ2aWV3XG4gICAgICB3aXRoIENGIGV4cGVydCBTcmlyYW0gLi4uLiBUaGlzIGV4cGVyaWVuY2Ugd2FzIHVuY29tZm9ydGFibGUgYXMgd2UgZmVsdCB0aGUgcHJlc3N1cmUgdG8gYmUgdGhvcm91Z2ggYW5kIGRlbGl2ZXIgYSBwZXJmZWN0IHByb2plY3QuIFdoYXQgd291bGRcbiAgICAgIGhhdmUgYmVlbiBtb3JlIGRldmFzdGF0aW5nIHRoYW4gcmVhbGl6aW5nIHdlIG1hZGUgYSB3cm9uZyBjaG9pY2UgYXQgdGhlIHZlcnkgY29yZT8gIFdlIG1hZGUgdGhlIGNvbnNjaW91cyBkZWNpc2lvbiB0byBpbnZlc3Qgb3VyIHJlc291cmNlcyBpbnRvXG4gICAgICBmaWd1cmluZyBvdXQgaWYgd2UgaW5kZWVkIG1hZGUgYSBtaXN0YWtlIGFuZCB3ZSB3YW50IHRvIGVuY291cmFnZSBvdGhlciB0ZWFtcyB0byBkbyB0aGUgc2FtZS4gaUdlbSBzdGFuZHMgZm9yIGlubm92YXRpb24gXHUyMDEzIGJ1dCBhbHNvIGZvciBncm93dGguXG4gICAgICBFc3BlY2lhbGx5IGluIHRoZSBjb250ZXh0IG9mIEludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VzLCBpdCBpcyBpbXBvcnRhbnQgdG8gZXhhbWluZSBib3RoIHRoZSBwb3NpdGl2ZSBhbmQgdGhlIG5lZ2F0aXZlIHRvIGNyZWF0ZSBhIHByb2plY3Qgd2l0aCBhXG4gICAgICBmdXR1cmUuICA8L3A+XSxcbiAgICBwaWN0dXJldXJsX2ludGVydmlldzogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvam9zaHVhLXpvb20ud2VicFwiLFxuICAgIHJlZmVyZW5jZXM6IDxKb3NodWFJbnRlcnZpZXdTb3VyY2VzIC8+LFxuICAgIHN1bW1hcnk6IFwiSm9zaHVhLCBhIENGIHBhcmVudCBsaXZpbmcgaW4gVGhhaWxhbmQsIHNoYXJlZCBoaXMgZXhwZXJpZW5jZXMgYWJvdXQgdGhlIHNldmVyZSBjaGFsbGVuZ2VzIG9mIGFjY2Vzc2luZyBDRiBjYXJlIGluIHJlZ2lvbnMgbGlrZSBTb3V0aGVhc3QgQXNpYS4gSGlzIHN0b3J5IGhpZ2hsaWdodGVkIHRoZSByYWNpYWwgYmlhcyBhbmQgbGFjayBvZiBtZWRpY2FsIGtub3dsZWRnZSBhYm91dCBDRiBpbiB0aGVzZSBhcmVhcy4gVGhpcyBpbnRlcnZpZXcgcHJvbXB0ZWQgdGhlIHRlYW0gdG8gcmVmbGVjdCBvbiB0aGVpciBmb2N1cyBvbiB0aGUgRjUwOGRlbCBtdXRhdGlvbiwgcXVlc3Rpb25pbmcgaWYgdGhlaXIgcmVzZWFyY2ggd2FzIGJpYXNlZCB0b3dhcmRzIG1vcmUgY29tbW9ubHkgc3R1ZGllZCBtdXRhdGlvbnMuIEFmdGVyIHJldmlzaXRpbmcgdGhlaXIgcmVzZWFyY2ggcHJvY2VzcywgdGhleSBmb3VuZCB0aGF0IHRoZSBGNTA4ZGVsIG11dGF0aW9uIHJlbWFpbnMgZ2xvYmFsbHkgcmVsZXZhbnQsIHlldCB0aGUgZXhwZXJpZW5jZSByZWluZm9yY2VkIHRoZSBpbXBvcnRhbmNlIG9mIGFkZHJlc3NpbmcgZ2FwcyBpbiBoZWFsdGhjYXJlIGFuZCByZXNlYXJjaCBmb3IgdW5kZXJyZXByZXNlbnRlZCByZWdpb25zLlwiLFxuICAgIG1vbnRoczogXCJKdWx5XCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiQ2xvc2UgdGhlIExvb3BcIixcbiAgICBuYWNobm5hbWU6IFwiXCIsXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICBqb2I6IFwiVGVhbSBpR0VNXCIsXG4gICAgYWZmaWxpYXRpb246IFwiQmllbGZlbGQgQ2VCaVRlYyAyMDI0XCIsXG4gICAgdGFnOiBcIk1pbGVzdG9uZVwiLFxuICAgIGhlYWRpbmc6IFwiR2V0dGluZyBBY3F1YWludGVkIHdpdGggQ3lzdGljIEZpYnJvc2lzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibG9vcFwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlTmFjaG5hbWU6IFwiS1x1MDBGNmhsZXIsIFRlYW1tZW1iZXJcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiVmVyYVwiLFxuICAgIHF1b3RlOiBcIkZpcnN0bHksIHdlIGRpc2N1c3NlZCB2YXJpb3VzIHByb2plY3QgaWRlYXMsIGluY2x1ZGluZyB0aGUgdXNlIG9mIG1hZ25ldGljIG1pY3Jvc3dpbW1lcnMgZm9yIHRhcmdldGVkIG1lZGljYWwgYXBwbGljYXRpb25zLCBnZW5lIGVkaXRpbmcgYXBwcm9hY2hlcyBmb3IgY3lzdGljIGZpYnJvc2lzLCB0cmVhdG1lbnRzIGZvciBtdXNjdWxhciBkeXN0cm9waHkgYW5kIGNvbWJhdGluZyBjeWFub2JhY3RlcmlhIHdpdGggYWxnYWUuXCIsXG4gICAgdHlwZTogXCJtZXRhXCIsXG4gICAgc3VtbWFyeTogXCJcIixcbiAgICBtb250aHM6IFwianVseVwiXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJQcm9mLiBEci5cIixcbiAgICB2b3JuYW1lOiBcIlN0ZWZhblwiLFxuICAgIG5hY2hubmFtZTogXCJIYW1tZXJcIixcbiAgICBqb2I6IFwiSnVuaW9yIFByb2Zlc3NvciBvZiBPcmdhbmljIENoZW1pc3RyeSBhbmQgQmlvY2F0YWx5c2lzXCIsXG4gICAgYWZmaWxpYXRpb246IFwiVW5pdmVyc2l0eSBCaWVsZWZlbGRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydoYW1tZXInXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIkluc2lnaHRzIGZyb20gdGhlIGRpc2N1c3Npb24gb24gZW56eW1lIGVuZ2luZWVyaW5nXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiaGFtbWVyXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZTogXCJ4XCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+QWZ0ZXIgd2UgaGFkIGRldmVsb3BlZCBhIG51bWJlciBvZiB0aGVyb2V0aWMgZWxhYm9yYXRpb25zLCBmZWVkYmFjayB3aXRoIGNvcnJlc3BvbmRpbmcgZXhwZXJ0aXNlIGluIHRoZSBmaWVsZCBvZiBlbnp5bWUgZW5naW5lZXJpbmcgd2FzIG9mIGV4Y2VwdGlvbmFsIGltcG9ydGFuY2UgdG8gdXMuIEZvciB0aGlzIHJlYXNvbiwgd2Ugd2FudGVkIHRvIGRpc2N1c3Mgb3VyIGFwcHJvYWNoZXMgd2l0aCBQcm9mLiBEci4gSGFtbWVyLjwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+SW4gb3VyIGRpc2N1c3Npb24gd2l0aCBQcm9mLiBEci4gSGFtbWVyIGRpc2N1c3Npb24gd2l0aCBQcm9mLiBEci4gSGFtbWVyIGFib3V0ICBkaWZmZXJlbnQgdGhlb3JldGljYWwgYXBwcm9hY2hlcyB3ZSBoYWQgZGV2ZWxvcGVkOjwvcD4sXG4gICAgICA8dWw+XG4gICAgICAgICAgPGxpPlBBTSBlbmdpbmVlcmluZzwvbGk+XG4gICAgICAgICAgPGxpPkNoaW1lcmljIHByb3RlaW48L2xpPlxuICAgICAgICAgIDxsaT5QaGFnZS1Bc3Npc3RlZCBDb250aW51b3VzIEV2b2x1dGlvbiAoUEFDRSk8L2xpPlxuICAgICAgICAgIDxsaT5SYXRpb25hbCBEZXNpZ246IE11dGF0aW9uIG9mIHppbmMtZmluZ2VyPC9saT5cbiAgICAgIDwvdWw+LCAgXG4gICAgICA8cD4gV2UgZGlzY3Vzc2VkIHdoZXRoZXIgYSByYXRpb25hbCBkZXNpZ24sIHN1cHBvcnRlZCBieSBzdHJ1Y3R1cmFsIHNpbXVsYXRpb25zIHdpdGggQWxwaGFGb2xkIDMsIG9yIHRoZSBjb25zdHJ1Y3Rpb24gb2YgYSBjaGltZXJpYyBwcm90ZWluIHdvdWxkIGJlIHRoZSBzdXBlcmlvciBhcHByb2FjaC4gVGhlIHBvc3NpYmlsaXR5IG9mIHVzaW5nIHByb3RlaW4gZXZvbHV0aW9uIHZpYSBQQUNFIG9yIGNvbnZlbnRpb25hbCBtZXRob2RzIHdhcyBkZW1vbnN0cmF0ZWQsIGV2ZW4gaWYgdGhlc2UgYXBwcm9hY2hlcyBhcmUgdmVyeSB0aW1lLWNvbnN1bWluZy4gQW4gaW1wb3J0YW50IHRvcGljIHdhcyB0aGUgYW5hbHlzaXMgb2YgaG9tb2xvZ291cyBtZWNoYW5pc21zIGJ5IHNlcXVlbmNlIGFsaWdubWVudHMgdG8gaWRlbnRpZnkgc3RydWN0dXJhbCBzaW1pbGFyaXRpZXMgaW4gY2F0YWx5dGljIGNlbnRlcnMuIEluIGFkZGl0aW9uLCB3ZSBkaXNjdXNzZWQgdGhlIHJvbGUgb2YgemluYyBmaW5nZXIgZG9tYWlucyBhbmQgdGFyZ2V0ZWQgbXV0YXRpb25zLCBzdWNoIGFzIHN1YnN0aXR1dGlvbiB0byBhbGFuaW5lLCBpbiB0aGUgZnVuY3Rpb24gb2Ygb3B0aW1pemF0aW9uLiBJdCB3YXMgYWxzbyBlbXBoYXNpemVkIHRoYXQgbXV0YXRpb25zIHNob3VsZCBiZSBldmFsdWF0ZWQgaW4gZW56eW1lcyB3aXRoIG5pY2thc2UgYWN0aXZpdHksIGFsdGhvdWdoIHRoZSBzY3JlZW5pbmcgZm9yIHRoaXMgaXMgdmVyeSBsYWJvcmlvdXMuIFRoZSByZWxpYWJpbGl0eSBvZiBBbHBoYUZvbGQgcHJlZGljdGlvbnMgd2FzIGV2YWx1YXRlZCBwb3NpdGl2ZWx5IGRlc3BpdGUgdGhlIGNvbXBsZXhpdHkgb2YgdGhlIGVuenltZXMuIE9uZSBwcm9taXNpbmcgYXBwcm9hY2ggY291bGQgYmUgdGhlIHRyYW5zZmVyIG9mIG11dGF0aW9ucyB0byBob21vbG9nb3VzIHByb3RlaW5zLiA8L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPldlIGxlYXJuZWQgZnJvbSB0aGUgZGlzY3Vzc2lvbiB0aGF0IHdlIG5lZWQgdG8gdGFrZSBhIHJhdGlvbmFsIGFwcHJvYWNoIGFuZCBjb25zaWRlciB0aGUgZm9sbG93aW5nIGNvbmNsdXNpb25zOjwvcD4sXG4gICAgICA8dWw+XG4gICAgICAgICAgPGxpPkEgcmF0aW9uYWwgYXBwcm9hY2ggY291bGQgYmUgdGhlIHRyYW5zZmVyIG9mIG11dGF0aW9ucyB0byBob21vbG9nb3VzIHByb3RlaW5zPC9saT5cbiAgICAgICAgICA8bGk+Rm9yIHJhdGlvbmFsIGRlc2lnbiwgc3RydWN0dXJhbCBzaW11bGF0aW9uIHVzaW5nIEFscGhhRm9sZCAzIGNvdWxkIGJlIHVzZWQgdG8gbW9kZWwgYW5kIHVuZGVyc3RhbmQgc3BlY2lmaWMgcHJvdGVpbiBzdHJ1Y3R1cmVzPC9saT5cbiAgICAgICAgICA8bGk+SG9tb2xvZ291cyBtZWNoYW5pc21zICYgc2VxdWVuY2UgYWxpZ25tZW50czwvbGk+XG4gICAgICAgICAgPGxpPkFuYWx5c2lzIG9mIHN0cnVjdHVyYWwgc2ltaWxhcml0aWVzIGluIGNhdGFseXRpYyBjZW50ZXJzIGJ5IHNlcXVlbmNlIGNvbXBhcmlzb25zPC9saT5cbiAgICAgICAgICA8bGk+VXNpbmcgQWxhIG9yIEdseSBmb3Igc3Vic3RpdHV0aW9uPC9saT5cbiAgICAgICAgICA8bGk+RGV2ZWxvcG1lbnQgb2YgYSBuaWNrYXNlIGFzc2F5PC9saT5cbiAgICAgIDwvdWw+LFxuICAgIDxwPldlIGRldmVsb3BlZCBvdXIgbXV0YXRpb24gY2FuZGlkYXRlcyBvbiB0aGlzIGJhc2lzIFtsaW5rIHp1bSBDeWNsZSBvZGVyIE5ldyBQYXJ0ID9dPC9wPlxuICAgIF0sXG4gICAgc3VtbWFyeTogXCJJbiBvdXIgZGlzY3Vzc2lvbiB3aXRoIFByb2YuIERyLiBIYW1tZXIsIHdlIGV4cGxvcmVkIHNldmVyYWwgdGhlb3JldGljYWwgYXBwcm9hY2hlcyBpbiBlbnp5bWUgZW5naW5lZXJpbmcsIGluY2x1ZGluZyBQQU0gZW5naW5lZXJpbmcsIGNoaW1lcmljIHByb3RlaW5zLCBQaGFnZS1Bc3Npc3RlZCBDb250aW51b3VzIEV2b2x1dGlvbiAoUEFDRSksIGFuZCByYXRpb25hbCBkZXNpZ24gaW52b2x2aW5nIHppbmMtZmluZ2VyIG11dGF0aW9ucy4gV2UgZXZhbHVhdGVkIHRoZSBwb3RlbnRpYWwgb2YgdXNpbmcgc3RydWN0dXJhbCBzaW11bGF0aW9ucyB3aXRoIEFscGhhRm9sZCAzIGFuZCB0aGUgY29uc3RydWN0aW9uIG9mIGNoaW1lcmljIHByb3RlaW5zLiBUaGUgY29udmVyc2F0aW9uIGhpZ2hsaWdodGVkIHRoZSBpbXBvcnRhbmNlIG9mIGFuYWx5emluZyBob21vbG9nb3VzIG1lY2hhbmlzbXMgdGhyb3VnaCBzZXF1ZW5jZSBhbGlnbm1lbnRzIHRvIGlkZW50aWZ5IHN0cnVjdHVyYWwgc2ltaWxhcml0aWVzIGluIGNhdGFseXRpYyBjZW50ZXJzLiBXZSBhbHNvIGRpc2N1c3NlZCB0YXJnZXRlZCBtdXRhdGlvbnMsIHN1Y2ggYXMgc3Vic3RpdHV0aW9ucyB0byBhbGFuaW5lLCBhbmQgdGhlIGRldmVsb3BtZW50IG9mIGEgbmlja2FzZSBhc3NheS4gT3ZlcmFsbCwgd2UgY29uY2x1ZGVkIHRoYXQgdHJhbnNmZXJyaW5nIG11dGF0aW9ucyB0byBob21vbG9nb3VzIHByb3RlaW5zIGlzIGEgcHJvbWlzaW5nIHJhdGlvbmFsIGFwcHJvYWNoIGZvciBvcHRpbWl6aW5nIGVuenltZSBmdW5jdGlvbi5cIixcbiAgICBtb250aHM6IFwiSnVseVwiXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIlN0ZWZmZW4gQmlyYSBhbmRcIixcbiAgICBuYWNobm5hbWU6IFwiU2VycmEgR1x1MDBGQ3JjYW4gZnJvbSBDb3JkZW4gUGhhcm1hXCIsXG4gICAgam9iOiBcIkFzc29jaWF0ZSBkaXJlY3RvclwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkNvcmRlbiBQaGFybWFcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydjb3JkZW4nXSxcbiAgICB0YWc6IFwiSW5kdXN0cnlcIixcbiAgICBoZWFkaW5nOiBcIkxpcGlkIE5hbm9wYXJ0aWNsZXMgaW4gR2VuZSBUaGVyYXB5OiBwZXJzcGVjdGl2ZXMgZnJvbSBDb3JkZW4gUGhhcm1hIFwiLFxuICAgIGludGVydmlld3RhYmlkOiBcImNvcmRlblwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgcXVvdGU6IFwiVGhlIHN0YWJpbGl0eSBvZiBMTlBzIGRlcGVuZHMgb24gdGhlIHNwZWNpZmljIGxpcGlkIGFuZCBSTkEgY29tcG9uZW50cyB1c2VkLCBidXQgZW5zdXJpbmcgdGhlIG92ZXJhbGwgc3RhYmlsaXR5IG9mIGEgbmV3IGZvcm11bGF0aW9uIHJlcXVpcmVzIHJpZ29yb3VzIGVtcGlyaWNhbCB0ZXN0aW5nIHVuZGVyIHZhcmlvdXMgY29uZGl0aW9ucy5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5UaGUgcHJpbWFyeSBhaW0gb2YgdGhlIGNvbW11bmljYXRpb24gd2l0aCBTdGVmZmVuIEJpcmEgYW5kIFNlcnJhIEdcdTAwRkNyY2FuIGZyb20gQ29yZGVuIFBoYXJtYSB3YXMgdG8gZXhwbG9yZSB0aGUgdGVjaG5pY2FsIGFzcGVjdHMgYW5kIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMgb2YgTGlwaWQgTmFub3BhcnRpY2xlcyAoTE5QcykgaW4gYWR2YW5jZWQgbWVkaWNhbCB0aGVyYXBpZXMsIGluY2x1ZGluZyBnZW5lIHRoZXJhcHkgYW5kIGluaGFsYXRpb24gdHJlYXRtZW50cy4gVGhlIGNvbnZlcnNhdGlvbiBmb2N1c2VkIG9uIHRoZSBwb3NzaWJpbGl0eSBvZiB1c2luZyBDb3JkZW4gUGhhcm1hXHUyMDE5cyBMTlAgc3RhcnRlciBraXRzLCB1bmRlcnN0YW5kaW5nIHRoZSBmYWN0b3JzIGFmZmVjdGluZyB0aGUgc3RhYmlsaXR5IG9mIExOUHMsIGFuZCBleHBsb3Jpbmcgb3B0aW9ucyBmb3IgaW5jb3Jwb3JhdGluZyBhbnRpYm9kaWVzIGludG8gTE5QcyB0byB0YXJnZXQgc3BlY2lmaWMgY2VsbHMuIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+VGhlIGRpc2N1c3Npb24gd2l0aCA8YSBocmVmPVwiaHR0cHM6Ly9jb3JkZW5waGFybWEuY29tL1wiPkNvcmRlbiBQaGFybWE8L2E+LCBsZWQgYnkgU3RlZmZlbiBCaXJhIGFuZCBTZXJyYSBHXHUwMEZDcmNhbiwgb2ZmZXJlZCBrZXkgaW5zaWdodHMgaW50byBMTlBzIGFuZCB0aGVpciBhcHBsaWNhdGlvbnMuIFdoaWxlIENvcmRlbiBQaGFybWEgaGFzbid0IGV4dGVuc2l2ZWx5IGV4cGxvcmVkIHNwcmF5IGRyeWluZyBmb3IgTE5QcywgdGhleSByZWNvbW1lbmRlZCBjb25zdWx0aW5nIHNwZWNpYWxpc3RzIHRvIGV2YWx1YXRlIGl0cyBmZWFzaWJpbGl0eSwgZXNwZWNpYWxseSBjb25jZXJuaW5nIGxpcGlkIHN0YWJpbGl0eSBkdXJpbmcgdGhlIHByb2Nlc3MuIFN0YWJpbGl0eSB3YXMgaGlnaGxpZ2h0ZWQgYXMgY3J1Y2lhbCBmb3IgaW5oYWxhdGlvbiB0aGVyYXBpZXMsIHJlcXVpcmluZyB0aG9yb3VnaCB0ZXN0aW5nIG9mIGVudGlyZSBMTlAgZm9ybXVsYXRpb25zLCBwb3NzaWJseSBhaWRlZCBieSBjcnlvcHJvdGVjdGFudHMgYW5kIGNvbnRyb2xsZWQgdGVtcGVyYXR1cmVzLiBcbiAgICAgIENvcmRlbiBQaGFybWEncyBMTlAgc3RhcnRlciBraXRzIGFyZSBiYXNlZCBvbiB3ZWxsLXJlc2VhcmNoZWQgbGlwaWQgY29tYmluYXRpb25zIGRlc2lnbmVkIGZvciBzdGFiaWxpdHkgYW5kIGVuY2Fwc3VsYXRpb24gZWZmaWNpZW5jeSwgbWFraW5nIHRoZW0gc3VpdGFibGUgZm9yIG11bHRpcGxlIGV4cGVyaW1lbnRzLiBUaGV5IHN1Z2dlc3RlZCB0aGF0IG1vZGlmeWluZyBsaXBpZCBjb21wb25lbnRzLCBzdWNoIGFzIGluY29ycG9yYXRpbmcgY2hvbGVzdGVyb2wgZGVyaXZhdGl2ZXMsIGNvdWxkIGVuaGFuY2UgY2VsbHVsYXIgdXB0YWtlIGFuZCBvdmVyYWxsIGVmZmljYWN5LiBBZGRpdGlvbmFsbHksIHRoZXkgY29uZmlybWVkIHRoZSBwb3NzaWJpbGl0eSBvZiBpbmNvcnBvcmF0aW5nIGFudGlib2RpZXMgaW50byBMTlBzIGFuZCBlbXBoYXNpemVkIHRoZSBpbXBvcnRhbmNlIG9mIGNvbnNpZGVyaW5nIGludGVsbGVjdHVhbCBwcm9wZXJ0eSB3aGVuIHNlbGVjdGluZyBsaXBpZHMgZm9yIGNvbW1lcmNpYWwgdXNlLiBUaGV5IGFsc28gc2hvd2VkIG9wZW5uZXNzIHRvIGNvbGxhYm9yYXRpb24sIFxuICAgICAgaW5jbHVkaW5nIG9mZmVyaW5nIGRpc2NvdW50cyBpbiBleGNoYW5nZSBmb3IgcmVjb2duaXRpb24gaW4gcHVibGljYXRpb25zLiBcbiAgICAgIFRoZSBpbnRlcmFjdGlvbiB3aXRoIENvcmRlbiBQaGFybWEgcHJvdmlkZWQgc2V2ZXJhbCBrZXkgaW5zaWdodHM6PC9wPixcbiAgICAgIDx1bD5cbiAgICAgICAgPGxpPjxzdHJvbmc+U3ByYXkgRHJ5aW5nIEZlYXNpYmlsaXR5Ojwvc3Ryb25nPiBDb3JkZW4gUGhhcm1hIGhhc25cdTIwMTl0IGV4cGxvcmVkIHNwcmF5IGRyeWluZyBleHRlbnNpdmVseTsgY29uc3VsdGF0aW9uIHdpdGggc3BlY2lhbGlzdHMgaXMgcmVjb21tZW5kZWQgZm9yIGFzc2Vzc2luZyBmZWFzaWJpbGl0eSBhbmQgbGlwaWQgc3RhYmlsaXR5LjwvbGk+XG4gICAgICAgIDxsaT48c3Ryb25nPkxOUCBTdGFiaWxpdHk6PC9zdHJvbmc+IFN0YWJpbGl0eSBvZiBMTlBzLCBwYXJ0aWN1bGFybHkgZm9yIGluaGFsYXRpb24gdGhlcmFwaWVzLCBuZWVkcyBlbXBpcmljYWwgdGVzdGluZywgY29uc2lkZXJpbmcgc2hlYXIgZm9yY2VzIGFuZCB0aGUgcG90ZW50aWFsIHVzZSBvZiBjcnlvcHJvdGVjdGFudHMgb3IgdGVtcGVyYXR1cmUgY29udHJvbC48L2xpPlxuICAgICAgICA8bGk+PHN0cm9uZz5MaXBpZCBTZWxlY3Rpb24gaW4gS2l0czo8L3N0cm9uZz4gU3RhcnRlciBraXRzIHVzZSB3ZWxsLXJlc2VhcmNoZWQgbGlwaWQgY29tYmluYXRpb25zLCB0ZXN0ZWQgZm9yIHN0YWJpbGl0eSwgZW5jYXBzdWxhdGlvbiBlZmZpY2llbmN5LCBhbmQgcG90ZW5jeS4gVGhleSBwcm92aWRlIG1hdGVyaWFscyBmb3IgbXVsdGlwbGUgZXhwZXJpbWVudGFsIGJhdGNoZXMuPC9saT5cbiAgICAgICAgPGxpPjxzdHJvbmc+TGlwaWQgTW9kaWZpY2F0aW9uczo8L3N0cm9uZz4gRXhwbG9yaW5nIGFsdGVybmF0aXZlIGxpcGlkcyAoZS5nLiwgY2hvbGVzdGVyb2wgZGVyaXZhdGl2ZXMpIGNvdWxkIGVuaGFuY2Ugc3RhYmlsaXR5IGFuZCBjZWxsdWxhciB1cHRha2UsIHRhaWxvcmVkIHRvIHByb2plY3QgbmVlZHMuPC9saT5cbiAgICAgICAgPGxpPjxzdHJvbmc+QW50aWJvZHkgSW5jb3Jwb3JhdGlvbjo8L3N0cm9uZz4gQW50aWJvZGllcyBjYW4gYmUgaW5jb3Jwb3JhdGVkIGludG8gTE5QcyBkdXJpbmcgcHJlcGFyYXRpb24gb3IgYWZ0ZXJ3YXJkLCBkZXBlbmRpbmcgb24gdGFyZ2V0aW5nIHJlcXVpcmVtZW50cy48L2xpPlxuICAgICAgICA8bGk+PHN0cm9uZz5JbnRlbGxlY3R1YWwgUHJvcGVydHk6PC9zdHJvbmc+IElQIGNvbnNpZGVyYXRpb25zIGFyZSBjcnVjaWFsIHdoZW4gc2VsZWN0aW5nIGxpcGlkcyBmb3IgTE5QIGZvcm11bGF0aW9ucywgYXMgbWFueSBsaXBpZHMgYXJlIHBhdGVudGVkLjwvbGk+XG4gICAgICAgIDxsaT48c3Ryb25nPkNvbGxhYm9yYXRpb24gT3Bwb3J0dW5pdGllczo8L3N0cm9uZz4gQ29yZGVuIFBoYXJtYSBpcyBvcGVuIHRvIG9mZmVyaW5nIGRpc2NvdW50cyBvciBmb3JtaW5nIHBhcnRuZXJzaGlwcywgd2l0aCByZWNvZ25pdGlvbiBpbiBwdWJsaWNhdGlvbnMgb3IgYWNrbm93bGVkZ21lbnRzLjwvbGk+XG4gICAgICA8L3VsPlxuICAgICAgXSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPlRoZSBpbnNpZ2h0cyBmcm9tIENvcmRlbiBQaGFybWEgaGFkIGEgbWFqb3IgaW1wYWN0IG9uIG91ciBwcm9qZWN0LCBlc3BlY2lhbGx5IGluIHNlbGVjdGluZyBsaXBpZHMgY3JpdGljYWwgZm9yIExOUCBzdGFiaWxpdHkgYW5kIG9wdGltaXppbmcgZ2VuZSB0aGVyYXB5IGFwcGxpY2F0aW9ucy4gSW5pdGlhbGx5LCB3ZSB1c2VkIHRoZSBDYXltYW4ga2l0LCBidXQgaXQgd2FzIHN1Ym9wdGltYWwgZm9yIGRlbGl2ZXJpbmcgb3VyIFByaW1lZ3VpZGUuIEFmdGVyIHJlY2VpdmluZyBmZWVkYmFjaywgd2Ugc3dpdGNoZWQgdG8gQ29yZGVuIFBoYXJtYVx1MjAxOXMga2l0ICMyLCB3aGljaCBpbmNsdWRlcyBhZHZhbmNlZCBsaXBpZCBjb21wb25lbnRzIGxpa2UgY2F0aW9uaWMgbGlwaWRzIHRoYXQgaW1wcm92ZSBjZWxsdWxhciB1cHRha2UgYW5kIGVuaGFuY2UgTE5QIHN0YWJpbGl0eS4gVGhpcyBzaGlmdCBoYXMgc2lnbmlmaWNhbnRseSBib29zdGVkIHRoZSBlZmZpY2llbmN5IGFuZCByb2J1c3RuZXNzIG9mIG91ciBmb3JtdWxhdGlvbnMuIFxuICAgICAgQWRkaXRpb25hbGx5LCBDb3JkZW4gUGhhcm1hJ3MgZ3VpZGFuY2Ugb24gbGlwaWQgbW9kaWZpY2F0aW9ucyBhbmQgYW50aWJvZHkgaW5jb3Jwb3JhdGlvbiBvcGVuZWQgbmV3IHBvc3NpYmlsaXRpZXMgZm9yIHRhcmdldGVkIHRoZXJhcGllcy4gVGhlc2UgaW5zaWdodHMgbm90IG9ubHkgaW1wcm92ZWQgb3VyIHRlY2huaWNhbCBhcHByb2FjaCBidXQgYWxzbyBwYXZlZCB0aGUgd2F5IGZvciBwb3RlbnRpYWwgY29sbGFib3JhdGlvbnMsIG9mZmVyaW5nIGNvc3QgYmVuZWZpdHMgYW5kIGluY3JlYXNlZCBzY2llbnRpZmljIHJlY29nbml0aW9uLiBUaGUgZmVlZGJhY2sgd2lsbCBjb250aW51ZSB0byBzaGFwZSBvdXIgdGVzdGluZyBwcm9jZXNzIGFuZCBpbXByb3ZlIHRoZXJhcGV1dGljIGRlbGl2ZXJ5LiA8L3A+XSxcbiAgICBpbnRlcnZpZXc6IDw+XG4gICAgPFFhQm94IHE9XCJJcyBpdCBwb3NzaWJsZSB0byBkcnkgdGhlIExOUHMgZGVzaWduZWQgYnkgQ29yZGVuIFBoYXJtYSwgc3VjaCBhcyB0aHJvdWdoIHNwcmF5IGRyeWluZz9cIiBhPVwiSXQgaGFzIG5vdCBiZWVuIGNvbmZpcm1lZCB3aGV0aGVyIExOUHMgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSBkcmllZCB1c2luZyBzcHJheSBkcnlpbmcuIEZ1cnRoZXIgaW52ZXN0aWdhdGlvbiBvciBjb25zdWx0YXRpb24gd2l0aCBhIHNwZWNpYWxpemVkIGNvbXBhbnkgd291bGQgYmUgcmVxdWlyZWQgdG8gZGV0ZXJtaW5lIGZlYXNpYmlsaXR5LlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBpcyBzdGFiaWxpdHkgZW5zdXJlZCBpbiBMTlBzLCBwYXJ0aWN1bGFybHkgZm9yIHVzZSBpbiBpbmhhbGF0aW9uIHRoZXJhcHk/XCIgYT1cIlRoZSBzdGFiaWxpdHkgbGFyZ2VseSBkZXBlbmRzIG9uIHRoZSBzcGVjaWZpYyBsaXBpZCBhbmQgUk5BIGNvbXBvbmVudHMgdXNlZCBpbiB0aGUgZm9ybXVsYXRpb24uIFdoaWxlIHRoZSBzdGFiaWxpdHkgb2YgaW5kaXZpZHVhbCBsaXBpZHMgY2FuIGJlIGFzc2Vzc2VkLCB0aGUgb3ZlcmFsbCBzdGFiaWxpdHkgb2YgYSBuZXcgTE5QIGZvcm11bGF0aW9uIHJlcXVpcmVzIGVtcGlyaWNhbCB0ZXN0aW5nIHVuZGVyIHZhcmlvdXMgY29uZGl0aW9ucy5cIi8+XG4gICAgPFFhQm94IHE9XCJIb3cgYXJlIGxpcGlkIGNvbWJpbmF0aW9ucyBzZWxlY3RlZCBmb3IgaW5jbHVzaW9uIGluIHRoZSBMTlAgc3RhcnRlciBraXRzLCBhbmQgd2hhdCB0ZXN0aW5nIGlzIGNvbmR1Y3RlZD9cIiBhPVwiTGlwaWQgY29tYmluYXRpb25zIGluIHRoZSBMTlAgc3RhcnRlciBraXRzIGFyZSBzZWxlY3RlZCBiYXNlZCBvbiBrbm93biBpbnRlcmFjdGlvbnMsIHBhcnRpY3VsYXJseSBpbiBmb3JtdWxhdGlvbnMgY29udGFpbmluZyBSTkEuIFRlc3RpbmcgaXMgY29uZHVjdGVkIHRvIGFzc2VzcyBwaHlzaWNhbC1jaGVtaWNhbCBwcm9wZXJ0aWVzLCBlbmNhcHN1bGF0aW9uIGVmZmljaWVuY3ksIGFuZCBvdmVyYWxsIHBvdGVuY3kuIFRoZSBraXRzIGFyZSBkZXNpZ25lZCB0byBwcm92aWRlIHN1ZmZpY2llbnQgbWF0ZXJpYWwgZm9yIG11bHRpcGxlIGV4cGVyaW1lbnRhbCBiYXRjaGVzLlwiLz5cbiAgICA8UWFCb3ggcT1cIklzIGl0IGFkdmlzYWJsZSB0byBtb2RpZnkgdGhlIGxpcGlkIGNvbXBvbmVudHMgaW4gYW4gZXhpc3RpbmcgTE5QIGZvcm11bGF0aW9uP1wiIGE9XCJJdCBpcyBnZW5lcmFsbHkgYWR2aXNhYmxlIHRvIGNvbnNpZGVyIGFsdGVybmF0aXZlIGxpcGlkIGNvbXBvbmVudHMsIGFzIGRpZmZlcmVudCBsaXBpZHMgbWF5IG9mZmVyIGltcHJvdmVkIHN0YWJpbGl0eSBvciBlZmZpY2FjeS4gSG93ZXZlciwgdGhlIHNwZWNpZmljIG5lZWRzIG9mIHRoZSBwcm9qZWN0IHdpbGwgZGljdGF0ZSB3aGV0aGVyIGNoYW5nZXMgYXJlIG5lY2Vzc2FyeS5cIi8+XG4gICAgPFFhQm94IHE9XCJJcyBpdCBwb3NzaWJsZSB0byBpbmNvcnBvcmF0ZSBhbnRpYm9kaWVzIGludG8gTE5QcywgYW5kIHdoYXQgaXMgdGhlIHJlY29tbWVuZGVkIGFwcHJvYWNoP1wiIGE9XCJZZXMuIEluY29ycG9yYXRpb24gb2YgYW50aWJvZGllcyBpbnRvIExOUHMgaXMgcG9zc2libGUuIFRoaXMgY2FuIGJlIGFjaGlldmVkIGVpdGhlciBkdXJpbmcgdGhlIGluaXRpYWwgcHJlcGFyYXRpb24gcGhhc2Ugb3IgYnkgaW5jdWJhdGluZyBhbnRpYm9kaWVzIHdpdGggTE5QcyBhZnRlciB0aGVpciBmb3JtYXRpb24sIGRlcGVuZGluZyBvbiB3aGV0aGVyIHN1cmZhY2Ugb3IgaW50ZXJuYWwgbG9jYWxpemF0aW9uIG9mIGFudGlib2RpZXMgaXMgZGVzaXJlZC4gUmVmZXJlbmNlIHRvIHNwZWNpZmljIHN0dWRpZXMgbWF5IHByb3ZpZGUgZnVydGhlciBndWlkYW5jZS5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGF0IGlzIENvcmRlbiBQaGFybWEncyBwb3NpdGlvbiBvbiBwcm9qZWN0cyBpbnZvbHZpbmcgZ2VuZSB0aGVyYXB5P1wiIGE9XCJDb3JkZW4gUGhhcm1hIG9wZXJhdGVzIGFzIGEgc2VydmljZSBwcm92aWRlciwgZm9jdXNpbmcgb24gdGhlIG1hbnVmYWN0dXJpbmcgb2YgYWN0aXZlIHBoYXJtYWNldXRpY2FsIGluZ3JlZGllbnRzIChBUElzKSBhbmQgZXhjaXBpZW50cyByYXRoZXIgdGhhbiBkZXZlbG9waW5nIHRoZXJhcGV1dGljIHByb2R1Y3RzLiBDb25zaWRlcmF0aW9uIHNob3VsZCBiZSBnaXZlbiB0byB0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHN0YXR1cyBvZiB0aGUgbGlwaWRzIHVzZWQgaW4gTE5QIGZvcm11bGF0aW9ucywgcGFydGljdWxhcmx5IGZvciBjb21tZXJjaWFsIGFwcGxpY2F0aW9ucy5cIi8+XG4gICAgPFFhQm94IHE9XCJJcyBpdCBwb3NzaWJsZSB0byBvYnRhaW4gYSBkaXNjb3VudCBvbiBMTlAgc3RhcnRlciBraXRzIG9yIGVzdGFibGlzaCBhIGNvbGxhYm9yYXRpdmUgcmVsYXRpb25zaGlwIHdpdGggQ29yZGVuIFBoYXJtYT9cIiBhPVwiV2Ugd291bGQgbmVlZCB0byBkaXNjdXNzIHRoaXMgaW50ZXJuYWxseSBidXQgZ2VuZXJhbGx5IHdlIHdvdWxkIGJlIG9wZW4gdG8gcG90ZW50aWFsIGNvbGxhYm9yYXRpb25zIHRoYXQgY291bGQgaW52b2x2ZSByZWNvZ25pdGlvbiBpbiBwdWJsaWNhdGlvbnMgb3Igb3RoZXIgZm9ybXMgb2YgYWNrbm93bGVkZ21lbnQsIHBlbmRpbmcgYXBwcm92YWwgZnJvbSByZWxldmFudCBtYW5hZ2VtZW50LlwiLz5cbiAgICA8Lz4sXG4gICAgc3VtbWFyeTogXCJUaGUgcHJpbWFyeSBnb2FsIG9mIHRoZSBjb21tdW5pY2F0aW9uIHdpdGggU3RlZmZlbiBCaXJhIGFuZCBTZXJyYSBHXHUwMEZDcmNhbiBmcm9tIENvcmRlbiBQaGFybWEgd2FzIHRvIGV4cGxvcmUgdGhlIHVzZSBvZiBMaXBpZCBOYW5vcGFydGljbGVzIChMTlBzKSBpbiBnZW5lIHRoZXJhcHkgYW5kIGluaGFsYXRpb24gdHJlYXRtZW50cy4gQ29yZGVuIFBoYXJtYSByZWNvbW1lbmRlZCBjb25zdWx0aW5nIHNwZWNpYWxpc3RzIGZvciBhc3Nlc3Npbmcgc3ByYXkgZHJ5aW5nIGZlYXNpYmlsaXR5LCB3aGlsZSBoaWdobGlnaHRpbmcgdGhlIGltcG9ydGFuY2Ugb2YgdGVzdGluZyBMTlAgc3RhYmlsaXR5IHVuZGVyIHZhcmlvdXMgY29uZGl0aW9ucy4gVGhlaXIgTE5QIHN0YXJ0ZXIga2l0cyBhcmUgb3B0aW1pemVkIGZvciBzdGFiaWxpdHkgYW5kIGVuY2Fwc3VsYXRpb24gZWZmaWNpZW5jeSwgd2l0aCBwb3RlbnRpYWwgZm9yIGxpcGlkIG1vZGlmaWNhdGlvbnMgdG8gZW5oYW5jZSBjZWxsdWxhciB1cHRha2UuIFRoZXkgYWxzbyBjb25maXJtZWQgdGhhdCBhbnRpYm9kaWVzIGNhbiBiZSBpbmNvcnBvcmF0ZWQgaW50byBMTlBzIGFuZCBlbXBoYXNpemVkIGNvbnNpZGVyaW5nIGludGVsbGVjdHVhbCBwcm9wZXJ0eSB3aGVuIHNlbGVjdGluZyBsaXBpZHMuIEJhc2VkIG9uIENvcmRlbiBQaGFybWFcdTIwMTlzIGluc2lnaHRzLCB3ZSBzd2l0Y2hlZCB0byB0aGVpciBraXQgIzIgZm9yIG91ciBwcm9qZWN0LCAgaG9waW5nIHRvIGltcHJvdmUgdGhlIHN0YWJpbGl0eSBhbmQgZWZmaWNpZW5jeSBvZiBvdXIgTE5QIGZvcm11bGF0aW9ucy4gVGhlaXIgZ3VpZGFuY2UgYWxzbyBvcGVuZWQgb3Bwb3J0dW5pdGllcyBmb3IgdGFyZ2V0ZWQgdGhlcmFwaWVzIGFuZCBjb2xsYWJvcmF0aW9ucy4gVGhpcyBmZWVkYmFjayB3aWxsIGNvbnRpbnVlIHRvIGVuaGFuY2Ugb3VyIHRlc3RpbmcgYW5kIHRoZXJhcGV1dGljIGFwcHJvYWNoZXMuXCIsXG4gICAgbW9udGhzOiBcImp1bHlcIixcbiAgICBwaWN0dXJldXJsX2ludGVydmlldzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1jb3JkZW4tem9vbS5wbmdcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCInTUlOVCBTb21tZXInXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ21pbnQnXSxcbiAgICB0YWc6IFwiRWR1Y2F0aW9uXCIsXG4gICAgaGVhZGluZzogXCJJbm5vdmF0aXZlIG1pbmRzIHVuaXRlOiBpR0VNJ3MgcGFydGljaXBhdGlvbiBpbiAnTUlOVCBTb21tZXInXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibWludFwiLFxuICAgIHR5cGU6IFwibWV0YVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcInhcIixcbiAgICBzdW1tYXJ5OiBcIlwiLFxuICAgIG1vbnRoczogXCJKdWx5XCJcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIkRyLlwiLFxuICAgIHZvcm5hbWU6IFwiU3ZlbmphXCIsXG4gICAgbmFjaG5uYW1lOiBcIlZpbmtlXCIsXG4gICAgam9iOiBcIlBvc3REb2NcIixcbiAgICBhZmZpbGlhdGlvbjogXCJhdCBEZXBhcnRtZW50IG9mIEdlbmV0aWNzLCBIYXJ2YXJkIE1lZGljYWwgU2Nob29sLCBmb3JtZXIgaUdFTWVyXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snc3ZlbmphJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJJbnNpZ2h0cyBvbiB0aGUgRmVhc2liaWxpdHkgb2YgUEFDRSBmb3IgUHJpbWUgRWRpdGluZyBPcHRpbWl6YXRpb25cIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJzdmVuamFcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcIlhcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5XZSBjb250YWN0ZWQgU3ZlbmphIFZpbmtlLCBhIGZvcm1lciBpR0VNZXIgZnJvbSBCaWVsZWZlbGQsIHRvIGdldCBoZXIgaW5zaWdodCBhbmQgaGVyIG9waW5pb24gcmVnYXJkaW5nIHRoZSB1c2Ugb2YgcGhhZ2UgYXNzaXN0ZWQgY29udGludW91cyBldm9sdVdlIGNvbnRhY3RlZCBTdmVuamEgVmlua2UsIGEgZm9ybWVyIGlHRU1lciBmcm9tIEJpZWxlZmVsZCwgdG8gZ2V0IGhlciBpbnNpZ2h0IGFuZCBoZXIgb3BpbmlvbiByZWdhcmRpbmcgdGhlIHVzZSBvZiBwaGFnZSBhc3Npc3RlZCBjb250aW51b3VzIGV2b2x1dGlvblxuICAgICAgKFBBQ0UsIHNlZSBlbmdpbmVlcmluZyBjeWNsZSAxW0xpbmtdKSBmb3Igb3VyIHByaW1lIGVkaXRpbmcgb3B0aW1pemF0aW9ucy4gU3ZlbmphIHdvcmtzIGF0IHRoZSBpR0VNIFNhZmV0eSBhbmQgU2VjdXJpdHkgQ29tbWl0dGVlLiBBZGRpdGlvbmFsbHksIHNoZSB3YXMgcGFydCBvZiB0aGUgQmlvc2FmZXR5IGFuZCBTZWN1cml0eSBBd2FyZCBUZWFtIG9mIEJpZWxlZmVsZCBVbml2ZXJzaXR5IGluIDIwMTYuPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD5TdmVuamEgZXhwbGFpbmVkLCB0aGF0IGEgUEFDRSBhcHByb2FjaCBpcyBub3QgZmVhc2libGUgdG8gdXNlIGZvciBvcHRpbWl6YXRpb24gb2Ygb3VyIG5pY2thc2UgY2FuZGlkYXRlcyBiZWNhdXNlIG9mIHNldmVyYWwgcmVhc29uczo8L3A+LFxuICAgIDx1bD5cbiAgICAgIDxsaT5JbXBsZW1lbnRpbmcgYSBQQUNFIHN5c3RlbSB0YWtlcyB3YXkgdG9vIG11Y2ggdGltZSB0byB1c2UgZm9yIG91ciBwcm9qZWN0LjwvbGk+XG4gICAgICA8bGk+RW5kb251Y2xlYXNlcyBtaWdodCBiZSB0b28gYmlnIHRvIG9wdGltaXplIHVzaW5nIFBBQ0UuPC9saT5cbiAgICAgIDxsaT5VbnNwZWNpZmljIGN1dHRpbmcgb3Igbmlja2luZyBpbiB0aGUgYmFjdGVyaWFsIGdlbm9tZSBraWxscyB0aGUgY2VsbHMsIHdoaWNoIG1ha2VzIG9wdGltaXphdGlvbiBvZiBlbmRvbnVjbGVhc2VzIHZlcnkgY2hhbGxlbmdpbmcuPC9saT5cbiAgICAgIDxsaT5QcmltZSBlZGl0aW5nIGluIEUuIGNvbGkgY2VsbHMgaXMgbGVzcyBlZmZlY3RpdmUgY29tcGFyZWQgdG8gaHVtYW4gY2VsbHMsIHdoaWNoIG1pZ2h0IGltcGFpciB0aGUgZXZvbHV0aW9uIHByb2Nlc3MuPC9saT5cbiAgICA8L3VsPlxuICAgIF0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5PbiB0aGUgYmFzaXMgb2YgU3ZlbmphXHUyMDE5cyBhbmQgb3RoZXIgb3BpbmlvbnMgb24gdGhlIHRvcGljLCB3ZSBkZWNpZGVkIG5vdCB0byB0cnkgaW1wbGVtZW50aW5nIGEgUEFDRSBzeXN0ZW0uIDwvcD5dLFxuICAgIHN1bW1hcnk6IFwiV2UgcmVhY2hlZCBvdXQgdG8gU3ZlbmphIFZpbmtlLCBhIGZvcm1lciBpR0VNZXIgYW5kIFBvc3Rkb2MsIHRvIGdhaW4gaW5zaWdodHMgb24gdXNpbmcgcGhhZ2UtYXNzaXN0ZWQgY29udGludW91cyBldm9sdXRpb24gKFBBQ0UpIGZvciBvcHRpbWl6aW5nIG91ciBwcmltZSBlZGl0aW5nLiBTdmVuamEgZXhwbGFpbmVkIHRoYXQgYSBQQUNFIGFwcHJvYWNoIGlzIG5vdCBmZWFzaWJsZSBmb3Igb3VyIG5pY2thc2UgY2FuZGlkYXRlcyBkdWUgdG8gc2V2ZXJhbCByZWFzb25zOiBpdCByZXF1aXJlcyB0b28gbXVjaCB0aW1lLCBlbmRvbnVjbGVhc2VzIGFyZSBsaWtlbHkgdG9vIGxhcmdlIGZvciBvcHRpbWl6YXRpb24sIHVuc3BlY2lmaWMgY3V0dGluZyBjYW4ga2lsbCBiYWN0ZXJpYWwgY2VsbHMsIGFuZCBwcmltZSBlZGl0aW5nIGlzIGxlc3MgZWZmZWN0aXZlIGluIEUuIGNvbGkgdGhhbiBpbiBodW1hbiBjZWxscy4gQmFzZWQgb24gU3ZlbmphJ3MgZmVlZGJhY2sgYW5kIG90aGVyIGV4cGVydCBvcGluaW9ucywgd2UgZGVjaWRlZCBhZ2FpbnN0IGltcGxlbWVudGluZyBhIFBBQ0Ugc3lzdGVtIGZvciBvdXIgcHJvamVjdC5cIixcbiAgICBtb250aHM6IFwiSnVseVwiXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJEci5cIixcbiAgICB2b3JuYW1lOiBcIkV2YS1NYXJpYVwiLFxuICAgIG5hY2hubmFtZTogXCJCZXJlbnNcIixcbiAgICBqb2I6IFwiRXRoaWNzIENvbW1pdHRlZSBvZiBCaWVsZWZlbGQgVW5pdmVyc2l0eVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkJpZWxlZmVsZCBVbml2ZXJzaXR5XCIsXG4gICAgcGljdHVyZXVybDogcGljc1snYmVyZW5zJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJCaW9ldGhpY3M6IEJlc3QgUHJhY3RpY2VzIGZvciBIYW5kbGluZyBQYXRpZW50IERhdGEgYW5kIFByaW1hcnkgQ2VsbHNcIiwgLyogR3VpZGFuY2UgZnJvbSBFdGhpY3MgQ29tbWl0dGVlIG9uIEJlc3QgUHJhY3RpY2VzIGZvciBQYXRpZW50IERhdGEgYW5kIFByaW1hcnkgQ2VsbHMgKi9cbiAgICBpbnRlcnZpZXd0YWJpZDogXCJiZXJlbnNcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcIlRoZSBtb3N0IGltcG9ydGFudCB0aGluZyBpcyBhIGRldGFpbGVkIGxldHRlciBvZiBjb25zZW50IGFuZCBhIGRldGFpbGVkIHByaXZhY3kgcG9saWN5LiBUaGlzIG11c3QgZXhwbGFpbiB0byB0aGUgcGF0aWVudCBhcyBwcmVjaXNlbHkgYXMgcG9zc2libGUgd2hhdCBoYXBwZW5zIHRvIHRoZWlyIGNlbGxzIGFuZCBkYXRhLCBhcyB3ZWxsIGFzIHRoZSB0aW1lIHNwYW4sIHdoaWNoIHBlb3BsZSBhcmUgaW52b2x2ZWQgb3IgaGF2ZSBhY2Nlc3MgdG8gdGhlIGNlbGxzIGFuZCBob3cuXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlRoZSBhaW0gb2YgdGhlIGludGVydmlldyB3YXMgdG8gZ2V0IGFuIGFuc3dlciB0byB0aGUgcXVlc3Rpb24gb2Ygd2hldGhlciB3ZSBuZWVkIGFuIGV0aGljcyB2b3RlIGZvciBvdXIgcHJvamVjdCBvciBub3QgYW5kIHRvIG9idGFpbiBndWlkZWxpbmVzIGZvciBkZWFsaW5nIHdpdGggcGF0aWVudCBjZWxscyByZWdhcmRpbmcgZXRoaWNhbCBpc3N1ZXMgYW5kIGRhdGEgcHJvdGVjdGlvbi4gXCIsXG4gICAgaW5zaWdodHM6IFwiVGhlIGRpc2N1c3Npb24gd2FzIHZlcnkgaW5mb3JtYXRpdmUgaW4gdGVybXMgb2YgaG93IHdlIHNob3VsZCBhcHByb2FjaCB0aGlzIHRvcGljIGFuZCBmb2N1c2VkIHByaW1hcmlseSBvbiB0aGUgaW1wb3J0YW50IGZhY3RvcnMgdGhhdCBuZWVkIHRvIGJlIGNvbnNpZGVyZWQgd2hlbiBwbGFubmluZyB0aGUgaGFuZGxpbmcgb2YgcGF0aWVudCBjZWxscy4gVGhlc2UgaW5jbHVkZSB3aGljaCBsZWdhbCBwcmluY2lwbGVzIG5lZWQgdG8gYmUgb2JzZXJ2ZWQsIGRhdGEgcHJvdGVjdGlvbiwgZXRoaWNhbCBjb25zaWRlcmF0aW9ucyBhbmQsIGFib3ZlIGFsbCwgZGV0YWlsZWQgYW5kIHNwZWNpZmljIGluZm9ybWF0aW9uIGZvciB0aGUgZG9ub3IuIEl0IGFsc28gbWFkZSB1cyBsb29rIGF0IHRoZSBzaXR1YXRpb24gZnJvbSBtYW55IGRpZmZlcmVudCBhbmdsZXMgYW5kIGNvbnNpZGVyIHRoZSByaXNrcyBvZiB3b3JzdC1jYXNlIHNjZW5hcmlvcy4gT3ZlcmFsbCwgdGhpcyBpbnRlcnZpZXcgd2FzIHZlcnkgdXNlZnVsIHRvIHVzLCBhbmQgd2Ugd2VyZSBhYmxlIHRvIHVzZSB0aGUgaW5mb3JtYXRpb24gd2UgZ2FpbmVkIHRvIGRldmVsb3AgYSBraW5kIG9mIGd1aWRlbGluZSB0aGF0IGFsbG93ZWQgdXMgdG8gYXBwcm9hY2ggdGhpcyBzZW5zaXRpdmUgdG9waWMsIHdoaWNoIHdhcyBuZXcgdG8gdXMsIHdpdGggYSBjZXJ0YWluIGRlZ3JlZSBvZiBjb25maWRlbmNlLiBcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJCYXNlZCBvbiB0aGUga25vd2xlZGdlIHdlIGhhdmUgZ2FpbmVkLCB3ZSBoYXZlIGRyYXduIHVwIGd1aWRlbGluZXMgZm9yIG91ciBoYW5kbGluZyBvZiB0aGUgY2VsbHMuIFdlIHVzZWQgdGhpcyBndWlkZSB3aGVuIGhhbmRsaW5nIHRoZSBwYXRpZW50IGNlbGxzLCB0byBlbnN1cmUgdGhleSB3ZXJlIGhhbmRsZWQgaW4gYW4gZXRoaWNhbGx5IGNvcnJlY3QgbWFubmVyLlwiLFxuICAgIHN1bW1hcnk6IFwiVGhpcyBpbnRlcnZpZXcgZm9jdXNlZCBvbiB0aGUgZXRoaWNhbCBhbmQgbGVnYWwgY29uc2lkZXJhdGlvbnMgb2YgaGFuZGxpbmcgcGF0aWVudCBjZWxscywgd2Ugc291Z2h0IHRvIGRldGVybWluZSB3aGV0aGVyIG91ciBwcm9qZWN0IHJlcXVpcmVkIGFuIGV0aGljcyB2b3RlIGFuZCB0byBnYXRoZXIgZ3VpZGVsaW5lcyBvbiBkYXRhIHByb3RlY3Rpb24gYW5kIHBhdGllbnQgY29uc2VudC4gVGhlIGV4cGVydCBlbXBoYXNpemVkIHRoZSBpbXBvcnRhbmNlIG9mIHByb3ZpZGluZyBwYXRpZW50cyB3aXRoIGEgZGV0YWlsZWQgY29uc2VudCBsZXR0ZXIgYW5kIHByaXZhY3kgcG9saWN5LCBjbGVhcmx5IGV4cGxhaW5pbmcgaG93IHRoZWlyIGNlbGxzIGFuZCBkYXRhIHdpbGwgYmUgdXNlZCwgd2hvIHdpbGwgaGF2ZSBhY2Nlc3MsIGFuZCB0aGUgdGltZSBzcGFuIGludm9sdmVkLiBUaGlzIGNvbnZlcnNhdGlvbiBoZWxwZWQgdXMgdW5kZXJzdGFuZCBrZXkgbGVnYWwgYW5kIGV0aGljYWwgcHJpbmNpcGxlcywgZXNwZWNpYWxseSByZWdhcmRpbmcgdHJhbnNwYXJlbmN5IHdpdGggZG9ub3JzLiBXZSB1c2VkIHRoZXNlIGluc2lnaHRzIHRvIGRldmVsb3AgZ3VpZGVsaW5lcyBmb3IgaGFuZGxpbmcgcGF0aWVudCBjZWxscywgZW5zdXJpbmcgd2UgYXBwcm9hY2hlZCB0aGlzIHNlbnNpdGl2ZSBwcm9jZXNzIHdpdGggY29uZmlkZW5jZSBhbmQgZXRoaWNhbCBjYXJlLlwiLFxuICAgIG1vbnRoczogXCJKdWx5XCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9pbnRlZ3JhdGVkLWh1bWFuLXByYWN0aWNlcy9pbnRlcnZpZXctYmVyZW5zLndlYnBcIixcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIk0uU2MuXCIsXG4gICAgdm9ybmFtZTogXCJNYXR0aWpzXCIsXG4gICAgbmFjaG5uYW1lOiBcIkJ1bGNhZW5cIixcbiAgICBqb2I6IFwiUGhEIFJlc2VhcmNoZXIgYXQgTGFib3JhdG9yeSBmb3IgTW9sZWN1bGFyIFZpcm9sb2d5ICYgR2VuZSBUaGVyYXB5XCIsXG4gICAgYWZmaWxpYXRpb246IFwiS1UgTGV1dmVuXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snbWF0dGlqcyddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiVmlzaXQgTWF0dGlqcyBCdWxjYWVuIGluIExldXZlbiBhbmQgdGhlIExhYm9yYXRvcnkgZm9yIE1vbGVjdWxhciBWaXJvbG9neSAmIEdlbmUgVGhlcmFweVwiLFxuICAgIGludGVydmlld3RhYmlkOiBcIm1hdHRpanN2aXNpdFwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgcXVvdGU6IFwieFwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPkFmdGVyIG91ciBmaXJzdCBpbnRlcnZpZXcgd2l0aCBNYXR0aWpzIEJ1bGNhZW4gd2Ugc3RheWVkIGluIGNvbnRhY3QgdmlhIGVtYWlsIGFuZCBldmVudHVhbGx5IHZpc2l0ZWQgaGltIGluIExldXZlbiBhdCBoaXMgbGFib3JhdG9yeS4gSGVyZSB3ZSB3YW50ZWQgdG8gZ2FpbiBmdXJ0aGVyIGluZm9ybWF0aW9uIGFib3V0IHRoZSBDRlRSIEY1MDhkZWwgbW9kZWxzIGFuZCBlZGl0aW5nIGNvbmZpcm1hdGlvbi48L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPldlIHNwb2tlIGFib3V0IGFwcHJvYWNoZXMgZm9yIHRlc3RpbmcgQ0ZUUiBGNTA4ZGVsIGNvcnJlY3Rpb24gaW4gbW9kZWxzIGFuZCBtZXRob2RzIG9mIGNvbmZpcm1hdGlvbi4gSW4gdGhpcyBjb250ZXh0IHdlIHRhbGtlZCBhYm91dCBIRUsyOTNUIGNlbGwgbGluZXNbTGlua10gZXN0YWJsaXNoZWQgaW4gaGlzIGxhYm9yYXRvcnkgdGhhdCBzdGFibHkgb3ZlcmV4cHJlc3MgQ0ZUUiB3aWxkLXR5cGUgYW5kIEY1MDhkZWwuIFdlIGFsc28gZGlzY3Vzc2VkIGhvdyB0byBoYW5kbGUgdGhlc2UgY2VsbCBsaW5lcy4gSGUgZXhwbGFpbmVkLCB0aGF0IHRoZSBDRlRSIGlzIGZ1c2VkIHdpdGggYSAzSEEgdGFnLCB0aGF0IGluIHdpbGQtdHlwZSBDRlRSIHdvdWxkIGJlIGV4cG9zZWQgdG8gdGhlIGV4dHJhY2VsbHVsYXIgc3BhY2UgYW5kIHRoZXJlZm9yZSBjYW4gYmUgdXNlZCBmb3IgaW1tdW5vaGlzdG9jaGVtaWNhbCBzdGFpbmluZyBvZiB0aGUgcHJvdGVpbiwgc2hvd2luZyBjb3JyZWN0IHByb3RlaW4gcHJvY2Vzc2luZyBhbmQgY2hhbm5lbGxpbmcuIEFsc28sIHRoaXMgYWxsb3dzIGZvciBhIHdlc3Rlcm4gYmxvdCB0byBiZSBtYWRlIHVzaW5nIDNIQSBhbnRpYm9kaWVzLiBGdW5jdGlvbmFsIHJlY292ZXJ5IG9mIENGVFIgY2FuIGFsc28gYmUgdmlzdWFsaXplZCB1c2luZyBoYWxpZGUgc2Vuc2l0aXZlIGVZRlAgb3Igb3JnYW5vaWQgYXNzYXksIHRoZSBsYWRkZXIgTWF0dGlqcyBoYWQgZXN0YWJsaXNoZWQgYW4gYXV0b21hdGVkIHJlYWRvdXQuIEZ1cnRoZXJtb3JlLCB3ZSB0YWxrZWQgYWJvdXQgaG93IHRvIGhhbmRsZSBTYW5nZXIgc2VxdWVuY2luZyBkYXRhIHRvIGFuYWx5c2UgZWRpdHMgYW5kIGRpc2N1c3NlZCB0aGUgcG9zc2liaWxpdHkgdG8gYXZvaWQgdGhlIHdlYWtuZXNzZXMgb2YgU2FuZ2VyIHNlcXVlbmNpbmcgYnkgdXNpbmcgTmFub3BvcmUgc2VxdWVuY2luZyBpbnN0ZWFkLiBXZSBhc2tlZCBhYm91dCB0aGUgYXBwbGljYWJpbGl0eSBvZiBwYXRjaCBjbGFtcCBhbmFseXNpcyBpbiB0aGUgY29udGV4dCBvZiBDRlRSIGFuZCBNYXR0aWpzIHNhaWQgdGhhdCwgdG8gaGlzIGtub3dsZWRnZSwgaXQgaGFzIG5vdCBiZWVuIHVzZWQgdG8gdGVzdCBmb3Igc3VjY2Vzc2Z1bCBlZGl0aW5nIGluIENGVFIuXG4gICAgTGFzdGx5IE1hdHRpanMgZXhwbGFpbmVkIGhvdyBoZSBwbGFucyB0byBkZWxpdmVyIHRoZSBwcmltZSBlZGl0aW5nIGNvbXBsZXggdG8gdGhlIHBhdGllbnQsIGFuZCB3ZSBldmFsdWF0ZWQgdGhlIGFkdmFudGFnZXMgYW5kIGRpc2FkdmFudGFnZXMgb2YgZGVsaXZlcnkgc3RyYXRlZ2llcywgaW5jbHVkaW5nIG91ciB2ZXJ5IG93biBMTlAgYXBwcm9hY2guPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5XaGVuIHBsYW5uaW5nIGhvdyB0byB0ZXN0IGFuZCBjb25maXJtIGVkaXRpbmcgYnkgb3VyIG93biBjb25zdHJ1Y3RzLCB3ZSB3ZXJlIGxhcmdlbHkgaW5zcGlyZWQgYnkgdGhlIGluZm9ybWF0aW9uIGdpdmVuIHRvIHVzIGJ5IE1hdHRpanMuIEZvciBleGFtcGxlLCB3ZSB0ZXN0ZWQgcHJpbWUgZWRpdGluZyBpbiB0aGUgSEVLMjkzIGNlbGwgbGluZXMgd2Ugc3Bva2UgYWJvdXQgd2l0aCBNYXR0aWpzIGFuZCB1c2VkIGhhbGlkZSBzZW5zaXRpdmUgZVlGUCB0byBjaGVjayBmb3IgQ0ZUUiBmdW5jdGlvbi4gQWxzbywgd2UgdHJpZWQgZGlmZmVyZW50aWF0aW5nIHdpbGQtdHlwZSBhbmQgRjUwOGRlbCBjZWxscyB1c2luZyBwYXRjaCBjbGFtcC4gVW5mb3J0dW5hdGVseSwgYSBsb3Qgb2YgdGhlIG1ldGhvZHMgbWVudGlvbmVkIHdlcmUgbm90IHVzYWJsZSBmb3IgdXMgYmVjYXVzZSBvZiB0aW1lIGNvbnN0cmFpbnRzLCBidXQgYXJlIHN0aWxsIHZhbHVhYmxlIGZvciBmdXR1cmUgcHJvamVjdHMgYW5kIHJlc2VhcmNoIGJ1aWx0IHVwb24gUHJlQ3lzZS4gPC9wPl0sXG4gICAgc3VtbWFyeTogXCJXZSB2aXNpdGVkIE1hdHRpanMgQnVsY2FlbiBpbiBMZXV2ZW4gdG8gZW5oYW5jZSBvdXIgdW5kZXJzdGFuZGluZyBvZiBDRlRSIEY1MDhkZWwgbW9kZWxzIGFuZCBlZGl0aW5nIGNvbmZpcm1hdGlvbi4gRHVyaW5nIHRoZSB2aXNpdCwgd2UgZXhhbWluZWQgSEVLMjkzVCBjZWxsIGxpbmVzIHRoYXQgc3RhYmx5IG92ZXJleHByZXNzIHdpbGQtdHlwZSBDRlRSIGFuZCB0aGUgRjUwOGRlbCB2YXJpYW50LiBNYXR0aWpzIGRlbW9uc3RyYXRlZCBob3cgdG8gdXNlIGEgM0hBIHRhZyBmb3IgdmlzdWFsaXppbmcgcHJvdGVpbiBwcm9jZXNzaW5nIGFuZCBkaXNjdXNzZWQgbWV0aG9kcyBmb3IgYXNzZXNzaW5nIENGVFIgZnVuY3Rpb25hbCByZWNvdmVyeS4gV2UgYWxzbyBjb21wYXJlZCBTYW5nZXIgYW5kIE5hbm9wb3JlIHNlcXVlbmNpbmcgdGVjaG5pcXVlcyBhbmQgZXZhbHVhdGVkIGRlbGl2ZXJ5IHN0cmF0ZWdpZXMgZm9yIG91ciBwcmltZSBlZGl0aW5nIGNvbXBsZXguIFRoZSBpbnNpZ2h0cyBmcm9tIHRoaXMgdmlzaXQgZ3VpZGVkIG91ciBwcm9qZWN0LCBsZWFkaW5nIHVzIHRvIHRlc3QgcHJpbWUgZWRpdGluZyBpbiBIRUsyOTNUIGNlbGxzIHVzaW5nIGhhbGlkZS1zZW5zaXRpdmUgZVlGUC4gV2hpbGUgc29tZSBtZXRob2RzIHdlcmUgbm90IGZlYXNpYmxlIGR1ZSB0byB0aW1lIGNvbnN0cmFpbnRzLCB0aGV5IGxhaWQgdGhlIGdyb3VuZHdvcmsgZm9yIGZ1dHVyZSByZXNlYXJjaCBpbiB0aGUgUHJlQ3lzZSBwcm9qZWN0LlwiLFxuICAgIG1vbnRoczogXCJqdWx5XCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiQ29sbGFib3JhdGlvbnNcIixcbiAgICBuYWNobm5hbWU6IFwiaUdFTSBUZWFtIExpbmtcdTAwRjZwaW5nIFwiLFxuICAgIHR5cGU6IFwibWV0YVwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2xpbmtcdTAwRjZwaW5nJ10sXG4gICAgdGFnOiBcIk90aGVyXCIsXG4gICAgaGVhZGluZzogXCJDb29wZXJhdGlvbiB0byBjcmVhdGUgYSBMaXBpZCBEZWxpdmVyeSBTeXN0ZW0gSGFuZGJvb2tcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJoYW5kYm9va1wiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJLYXlhXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJMYW5nZVwiLFxuICAgIHF1b3RlOiBcIldlIHdlcmUgZ2VudWluZWx5IGV4Y2l0ZWQgd2hlbiBMaW5rXHUwMEY2cGluZyBVbml2ZXJzaXR5IGFwcHJvYWNoZWQgdXMgZm9yIGNvbGxhYm9yYXRpb24uIEZyb20gdGhlIHZlcnkgYmVnaW5uaW5nLCB0aGVpciBpZGVhcyByZXNvbmF0ZWQgd2l0aCB1cywgYW5kIG91ciBzaGFyZWQgZW50aHVzaWFzbSBsYWlkIGEgc3Ryb25nIGZvdW5kYXRpb24gZm9yIGEgcHJvZHVjdGl2ZSBwYXJ0bmVyc2hpcC4gV2UncmUgaGFwcHkgdG8gd29yayB0b2dldGhlciwgYWxzbyB3aXRoIHRoZSBvdGhlciB0ZWFtcywgYW5kIGV4cGxvcmUgbmV3IHBvc3NpYmlsaXRpZXMuXCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+VGhlIGluaXRpYWwgY29udGFjdCBmb3Igb3VyIGNvbGxhYm9yYXRpb24gY2FtZSBmcm9tIHRoZSBpR0VNIHRlYW0gMjAyNCBvZiBMaW5rXHUwMEY2cGluZywgU3dlZGVuLCB3aG8gYXBwcm9hY2hlZCB1cyB3aXRoIGEgcHJvcG9zYWwgdG8gY3JlYXRlIGEgXHUyMDFDRGVsaXZlcnktQmFzZWQgSGFuZGJvb2tcdTIwMURbbGluayBIYW5kYm9va10uIFRoZWlyIGdvYWwgd2FzIHRvIHJlZHVjZSB0aGUgc3RlZXAgbGVhcm5pbmcgY3VydmUgYXNzb2NpYXRlZCB3aXRoIHRoZXNlIHRlY2hub2xvZ2llcyBieSBzaGFyaW5nIGNvbGxlY3RpdmUga25vd2xlZGdlIGZyb20gbXVsdGlwbGUgdGVhbXMsIGluY2x1ZGluZyBvdXJzLiBXZSB3ZXJlIGV4Y2l0ZWQgdG8gY29udHJpYnV0ZSBhbmQgaGVscCBmdXR1cmUgdGVhbXMgbmF2aWdhdGUgdGhlc2UgY2hhbGxlbmdlcyBtb3JlIGVhc2lseS4gVGhlIGhhbmRib29rIHdvdWxkIHNlcnZlIGFzIGEgdmFsdWFibGUgdG9vbC4gPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD5UaHJvdWdob3V0IHRoZSBjb2xsYWJvcmF0aW9uLCB3ZSBnYWluZWQgc2lnbmlmaWNhbnQgaW5zaWdodHMsIGJvdGggc2NpZW50aWZpYyBhbmQgY29sbGFib3JhdGl2ZS4gSW5pdGlhbGx5LCBvdXIgbWVldGluZ3Mgd2l0aCB0aGUgTGlua1x1MDBGNnBpbmcgdGVhbSBhbmQgb3RoZXIgcGFydGljaXBhdGluZyB0ZWFtcyAtIFBhdHJhcywgUmFkYm91ZC1Vbml2ZXJzaXR5IGFuZCBURVJNT1NaLVNlbHllLUhVTiAtIHdlcmUgaW52YWx1YWJsZS4gVGhlc2Ugc2Vzc2lvbnMgYWxsb3dlZCB1cyB0byBleGNoYW5nZSBpZGVhcyBhbmQgbGVhcm4gaG93IGVhY2ggdGVhbSBwbGFubmVkIHRvIHVzZSBsaXBpZC1iYXNlZCBkZWxpdmVyeSBzeXN0ZW1zIGluIHRoZWlyIG93biBwcm9qZWN0cy4gVGhpcyBtdXR1YWwgc2hhcmluZyBvZiBrbm93bGVkZ2Ugb3BlbmVkIG91ciBleWVzIHRvIG5ldyBtZXRob2RvbG9naWVzIGFuZCBwb3RlbnRpYWwgYXBwbGljYXRpb25zIG9mIExOUHMgYW5kIGxpcG9zb21lcy4gV2UgYWxzbyBnYWluZWQgYSBkZWVwZXIgYXBwcmVjaWF0aW9uIGZvciB0aGUgaW50ZXJkaXNjaXBsaW5hcnkgbmF0dXJlIG9mIHRoZXNlIHN5c3RlbXMuIEZyb20gdGhlIGNoYWxsZW5nZXMgb2YgZm9ybXVsYXRpbmcgc3RhYmxlIHBhcnRpY2xlcyB0byBvcHRpbWl6aW5nIHRoZWlyIGVmZmljaWVuY3kgaW4gdGFyZ2V0aW5nIGNlbGxzLCB3ZSByZWFsaXplZCB0aGUgY29tcGxleGl0eSBvZiB0aGUgZmllbGQgYW5kIGhvdyBjb2xsYWJvcmF0aW9uIGNvdWxkIGhlbHAgb3ZlcmNvbWUgbWFueSBvZiB0aGVzZSBvYnN0YWNsZXMuIEJ5IGRpc2N1c3Npbmcgb3VyIHJlc3BlY3RpdmUgYXBwcm9hY2hlcywgd2Ugd2VyZSBhYmxlIHRvIHBvb2wgb3VyIGV4cGVydGlzZSwgd2hpY2ggbm90IG9ubHkgaW1wcm92ZWQgb3VyIHVuZGVyc3RhbmRpbmcgYnV0IGFsc28gZW5zdXJlZCB0aGF0IHRoZSBoYW5kYm9vayB3b3VsZCBiZSBjb21wcmVoZW5zaXZlIGFuZCB2YWx1YWJsZSBmb3IgdmFyaW91cyBpR0VNIHRlYW1zLCByZWdhcmRsZXNzIG9mIHRoZWlyIHNwZWNpZmljIHByb2plY3QgZm9jdXMuIFxuICAgICAgSW4gc3VtbWFyeTogPC9wPixcbiAgICAgIDx1bD5cbiAgICAgICAgPGxpPkxlYXJuZWQgZGlmZmVyZW50IGFwcHJvYWNoZXMgdG8gdXNpbmcgTE5QcyBhbmQgbGlwb3NvbWVzIGluIGlHRU0gcHJvamVjdHMuPC9saT5cbiAgICAgICAgPGxpPkRpc2NvdmVyZWQgbmV3IG1ldGhvZHMgZm9yIG9wdGltaXppbmcgTE5Qcy48L2xpPlxuICAgICAgICA8bGk+UmVjb2duaXplZCBjaGFsbGVuZ2VzIGluIHBhcnRpY2xlIHN0YWJpbGl0eSBhbmQgdGFyZ2V0ZWQgZGVsaXZlcnkuPC9saT5cbiAgICAgICAgPGxpPkdhaW5lZCBhcHByZWNpYXRpb24gZm9yIHRoZSBpbnRlcmRpc2NpcGxpbmFyeSBjb21wbGV4aXR5IG9mIHRoZXNlIHN5c3RlbXMuPC9saT5cbiAgICAgICAgPGxpPkZvY3VzZWQgb24gZG9jdW1lbnRpbmcgd29yayB0byBiZW5lZml0IGZ1dHVyZSBpR0VNIHRlYW1zLjwvbGk+XG4gICAgICA8L3VsPiBcbiAgICBdLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+VGhlIGNvbGxhYm9yYXRpb24gZXhwYW5kZWQgb3VyIHVuZGVyc3RhbmRpbmcgb2Ygd2hhdCdzIHBvc3NpYmxlLCBpbnNwaXJpbmcgdXMgdG8gY29uc2lkZXIgbmV3IGlkZWFzIGZvciBob3cgd2UgbWlnaHQgaW50ZWdyYXRlIGFkdmFuY2VkIHRlY2huaXF1ZXMgaW50byBvdXIgbmFub3BhcnRpY2xlIHN5c3RlbXMgaW4gZnV0dXJlIHByb2plY3RzLiBUaGUgY29sbGFib3JhdGl2ZSBwcm9jZXNzIGFsc28gZW5jb3VyYWdlZCB1cyB0byBkb2N1bWVudCBvdXIgd29yayBtb3JlIHRob3JvdWdobHksIGVuc3VyaW5nIHRoYXQgZnV0dXJlIGlHRU0gdGVhbXMgY291bGQgYmVuZWZpdCBmcm9tIGJvdGggb3VyIHN1Y2Nlc3NlcyBhbmQgdGhlIGNoYWxsZW5nZXMgd2UgZW5jb3VudGVyZWQgYWxvbmcgdGhlIHdheS4gICAgICBCZXlvbmQgdGhlIHRlY2huaWNhbCBpbXByb3ZlbWVudHMsIHRoZSBleHBlcmllbmNlIHRhdWdodCB1cyB0aGUgdmFsdWUgb2YgdGVhbXdvcmsgYWNyb3NzIGJvcmRlcnMgYW5kIGRpc2NpcGxpbmVzLiBFYWNoIHRlYW0gYnJvdWdodCBhIHVuaXF1ZSBwZXJzcGVjdGl2ZSwgYW5kIGJ5IHdvcmtpbmcgdG9nZXRoZXIsIHdlIHdlcmUgYWJsZSB0byBkZXZlbG9wIGEgcmVzb3VyY2UgdGhhdCB3YXMgZmFyIGdyZWF0ZXIgdGhhbiB0aGUgc3VtIG9mIGl0cyBwYXJ0czwvcD5dLFxuICAgIHN1bW1hcnk6IFwiVGhpcyBjb2xsYWJvcmF0aW9uIHdpdGggTGlua1x1MDBGNnBpbmcgYW5kIHRoZSBvdGhlciBpR0VNIHRlYW1zIHdhcyBhbiBpbmNyZWRpYmx5IGVucmljaGluZyBleHBlcmllbmNlLiBUb2dldGhlciwgd2UgZGV2ZWxvcGVkIGEgXHUyMDFDRGVsaXZlcnktQmFzZWQgSGFuZGJvb2tcdTIwMURbbGluayBIYW5kYm9va10gdGhhdCB3aWxsIHNlcnZlIGFzIGEgdmFsdWFibGUgcmVzb3VyY2UgZm9yIGZ1dHVyZSB0ZWFtcyB3b3JraW5nIHdpdGggTE5QcyBhbmQgbGlwb3NvbWVzLiBUaGUga25vd2xlZGdlIHdlIGdhaW5lZCBub3Qgb25seSBlbmhhbmNlZCBvdXIgcHJvamVjdCBidXQgYWxzbyBzdHJlbmd0aGVuZWQgb3VyIHNlbnNlIG9mIGNvbW11bml0eSB3aXRoaW4gaUdFTS4gV2UgYXJlIGV4Y2l0ZWQgdG8gcHJlc2VudCB0aGUgaGFuZGJvb2sgYXQgdGhlIEdyYW5kIEphbWJvcmVlLCB3aGVyZSB3ZSB3aWxsIGZpbmFsbHkgbWVldCBvdXIgY29sbGFib3JhdG9ycyBpbiBwZXJzb24gYW5kIGNlbGVicmF0ZSB0aGUgY3VsbWluYXRpb24gb2Ygb3VyIGNvbGxlY3RpdmUgZWZmb3J0cy4gVGhpcyBwYXJ0bmVyc2hpcCBoYXMgc2hvd24gdXMgdGhlIGltbWVuc2UgcG93ZXIgb2YgY29sbGFib3JhdGlvbiwgYW5kIHdlIGFyZSBwcm91ZCB0byBoYXZlIGJlZW4gcGFydCBvZiBzdWNoIGEgbWVhbmluZ2Z1bCBpbml0aWF0aXZlLlwiLFxuICAgIG1vbnRoczogXCJzZXZlcmFsIHRpbWVzXCIsXG4gICAgcGljdHVyZXVybF9haW06IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2xpbmtvcGluZy1oYW5kYm9vay1sbnAud2VicFwiLFxuICAgIHBpY3R1cmV1cmxfaW1wbGVtZW50YXRpb246IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2xpbmtvcGluZy1jb29wZXJhdGlvbi1waG90by5wbmdcIixcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIk0uU2MuXCIsXG4gICAgdm9ybmFtZTogXCJLYWlcIixcbiAgICBuYWNobm5hbWU6IFwiU2NoXHUwMEZDbGtlXCIsXG4gICAgam9iOiBcIlBoRCBzdHVkZW50IFdvcmtpbmcgZ3JvdXA6IE9yZ2FuaWMgY2hlbWlzdHJ5IGFuZCBiaW9jYXRhbHlzaXNcdTIwMkYgXCIsXG4gICAgYWZmaWxpYXRpb246IFwiVW5pdmVyc2l0eSBvZiBCaWVsZWZlbGRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydrYWloYW1tZXInXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIkZpcnN0IGluc2lnaHRzIG9mIEVuenltIEVuZ2luZWVyaW5nXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiaGFtbWVya2FpXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJ4XCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+V2hlbiB3ZSByZWFsaXplZCB0aGF0IHRoZSBjcmVhdGlvbiBvZiBhIG5pY2thc2UgZnJvbSB0aGUgZW5kb251Y2xlYXNlcyBpbiB1c2Ugd2FzIGEgZGVzaXJlZCBvdXRjb21lLCBpdCBiZWNhbWUgbmVjZXNzYXJ5IHRvIHRhbGsgdG8gYW4gZXhwZXJ0IGluIHRoZSBmaWVsZCBvZiBlbnp5bWUgZW5naW5lZXJpbmcuXHUyMDJGT3VyIGZpcnN0IGNvbnRhY3Qgd2FzIEthaSBTY2hcdTAwRkNsa2UsIGEgZm9ybWVyIGlHRU1lciBhbmQgUGhEIHN0dWRlbnQgdW5kZXIgdGhlIGd1aWRhbmNlIG9mIDxIUExpbmt0b090aGVySFBUYWIgdGFiPVwiaGFtbWVyXCIgdGV4dD1cIlByb2YuIERyLiBIYW1tZXJcIi8+LCB3aG8gaXMgdGhlIGxlYWRlciBvZiB0aGUgd29ya2luZyBncm91cCBvcmdhbmljIGNoZW1pc3RyeSBhbmQgYmlvYW5hbHl0aWNzIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LjwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+SW4gdGhlIHByb2Nlc3Mgb2Ygb3VyIGludGVyYWN0aW9uIHdpdGggS2FpLCB3ZSBsZWFybmVkIGFib3V0IHRoZSB2YXJpb3VzIG1ldGhvZHMgZW1wbG95ZWQgaW4gZW56eW1lIGVuZ2luZWVyaW5nLiBIZSBkZW1vbnN0cmF0ZWQgdGhlIGNvbXBsZXhpdHkgb2YgdGhpcyBmaWVsZCBvZiByZXNlYXJjaCBhbmQgZW1waGFzaXplZCB0aGUgaW1wb3J0YW5jZSBvZiBjaG9vc2luZyB0aGUgcmlnaHQgYXBwcm9hY2guIEFzIGEgZm9ybWVyIGlHRU1lciwgS2FpLCBpbnNwaXJlZCBieSBoaXMgcGFzdCBleHBlcmllbmNlcywgaXMgaGlnaGx5IG1vdGl2YXRlZCBhbmQgZGV0ZXJtaW5lZCB0byBkZXZlbG9wIGFuIG91dHN0YW5kaW5nIHByb2plY3QuIEhlIHBvaW50ZWQgb3V0IHRoYXQgd2UgY2Fubm90IHJlbHkgb24gY2xhc3NpY2FsIG1ldGhvZHMgc3VjaCBhcyBkaXJlY3RlZCBldm9sdXRpb24sIGJ1dCBpbnN0ZWFkIHNob3VsZCB1c2UgYSByYXRpb25hbCBhcHByb2FjaCB0byBzZWxlY3QgbXV0YXRpb24gY2FuZGlkYXRlcy4gSGlzIGluc2lnaHRzIGFuZCBlbnRodXNpYXNtIGhhdmUgZW5jb3VyYWdlZCB1cyB0byB0aGluayBjcml0aWNhbGx5IGFuZCBwdXJzdWUgaW5ub3ZhdGl2ZSBzb2x1dGlvbnMgaW4gb3VyIHdvcmsuIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+V2UgaW5jb3Jwb3JhdGVkIEthaSdzIGluc2lnaHRzIGludG8gb3VyIHByb2plY3QgYnkgc2hpZnRpbmcgb3VyIGFwcHJvYWNoIHRvIGVuenltZSBlbmdpbmVlcmluZy4gQnkgZm9jdXNpbmcgb24gYSBtb3JlIHRhcmdldGVkIGFwcHJvYWNoLCB3ZSB3ZXJlIGFibGUgdG8gcmVmaW5lIG91ciBlbnp5bWUgb3B0aW1pemF0aW9uIHByb2Nlc3MsIGVuc3VyaW5nIHRoYXQgdGhlIG1vZGlmaWNhdGlvbnMgd2UgbWFkZSB3ZXJlIGJhc2VkIG9uIGluZm9ybWVkLCBjYWxjdWxhdGVkIGRlY2lzaW9ucy4gVGhpcyBub3Qgb25seSBzdHJlYW1saW5lZCBvdXIgcmVzZWFyY2ggYnV0IGFsc28gaW1wcm92ZWQgdGhlIGNoYW5jZXMgb2Ygc3VjY2VzcyBieSByZWR1Y2luZyB0aGUgdHJpYWwtYW5kLWVycm9yIGluaGVyZW50IGluIHRyYWRpdGlvbmFsIG1ldGhvZHMuIDwvcD5dLFxuICAgIHN1bW1hcnk6IFwiVGhlIHRlYW0gcmVhY2hlZCBvdXQgdG8gS2FpIFNjaFx1MDBGQ2xrZSwgYSBmb3JtZXIgaUdFTSBwYXJ0aWNpcGFudCBhbmQgZW56eW1lIGVuZ2luZWVyaW5nIGV4cGVydCwgZm9yIGd1aWRhbmNlIG9uIGRldmVsb3BpbmcgYSBuaWNrYXNlIGZyb20gdGhlIGVuZG9udWNsZWFzZXMgaW4gdXNlLiBLYWkgZW1waGFzaXplZCB0aGUgbmVlZCBmb3IgYSByYXRpb25hbCwgdGFyZ2V0ZWQgYXBwcm9hY2ggcmF0aGVyIHRoYW4gdHJhZGl0aW9uYWwgbWV0aG9kcyBsaWtlIGRpcmVjdGVkIGV2b2x1dGlvbi4gSGlzIGluc2lnaHRzIGhlbHBlZCB0aGUgdGVhbSByZWZpbmUgdGhlaXIgZW56eW1lIG9wdGltaXphdGlvbiBwcm9jZXNzLCBtYWtpbmcgaXQgbW9yZSBzdHJhdGVnaWMgYW5kIGVmZmljaWVudC4gVGhpcyBzaGlmdCByZWR1Y2VkIHRyaWFsLWFuZC1lcnJvciBlZmZvcnRzIGFuZCBpbXByb3ZlZCB0aGUgY2hhbmNlcyBvZiBzdWNjZXNzLCBkcml2aW5nIGlubm92YXRpb24gaW4gdGhlaXIgcHJvamVjdC5cIixcbiAgICBtb250aHM6IFwiSnVseVwiXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJNLlNjLlwiLFxuICAgIHZvcm5hbWU6IFwiTmlsc1wiLFxuICAgIG5hY2hubmFtZTogXCJCZXJlbHNtYW5uXCIsXG4gICAgam9iOiBcIlBoRCBXb3JraW5nIGdyb3VwOiBQcm9mLiBEci4gR2FicmllbGUgRmlzY2hlciB2b24gTW9sbGFyZCBcIixcbiAgICBhZmZpbGlhdGlvbjogXCJVbml2ZXJzaXR5IG9mIEJpZWxlZmVsZFwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ25pbHNoZWZlJ10sXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIkFkYXB0aW5nIGV4cHJlc3Npb24gc3RyYXRlZ2llcyBmb3IgRmFuem9yIG5pY2thc2VzIGFuZCBleHBsb3JpbmcgdGhlIHBvdGVudGlhbCBvZiBQaWNoaWEgcGFzdG9yaXMgZm9yIFNwdUZ6MSBuaWNrYXNlIHZhcmlhbnRzIFwiLFxuICAgIGludGVydmlld3RhYmlkOiBcIm5iZXJlbHNtYW5uXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwiWFwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPkR1cmluZyBvdXIgaW50ZXJ2aWV3IHdpdGggPEhQTGlua3RvT3RoZXJIUFRhYiB0YWI9XCJzYWl0b1wiIHRleHQ9XCJNYWtvdG8gU2FpdG9cIi8+IGFib3V0IGZhbnpvcltsaW5rIGZhbnpvcl0sIGl0IGJlY2FtZSBldmlkZW50IHRoYXQgdGhlIGV4cHJlc3Npb24gb2Ygb3VyIGZhbnpvciBuaWNrYXNlcyBpbiB5ZWFzdCBpcyB2ZXJ5IHByb21pc2luZy4gV2UgdGhlbiByZWZpbmVkIG91ciBleHByZXNzaW9uIHN0cmF0ZWd5IGZvciB0aGUgbmlja2FzZXMgYW5kIGFwcHJvYWNoZWQgTmlscyBCZXJlbHNtYW5uLCB3aG8gaXMgY3VycmVudGx5IHdvcmtpbmcgb24gaGlzIFBoRCB0aGVzaXMgd2l0aCB0aGUgeWVhc3Qgc3RyYWluIFBpY2hpYSBwYXN0b3JpcyAoU01EMTE2MykuIFRoaXMgcGFydGljdWxhciBzdHJhaW4gY291bGQgYmUgaWRlYWwgZm9yIGV4cHJlc3NpbmcgdGhlIFNwdUZ6MSBuaWNrYXNlIHZhcmlhbnRzLiBPdXIgbWFpbiBhaW0gaW4gY29udGFjdGluZyBOaWxzIHdhcyB0byBnYWluIGluc2lnaHQgYW5kIGFkdmljZSBvbiB5ZWFzdCBleHByZXNzaW9uIGFuZCBoZSBnZW5lcm91c2x5IHNoYXJlZCBoaXMgZXhwZXJ0aXNlIHdpdGggdXMuIE5vdCBvbmx5IGRpZCBoZSBnaXZlIHVzIHZhbHVhYmxlIGFkdmljZSwgYnV0IGhlIGFsc28gcHJvdmlkZWQgdXMgd2l0aCB0aGUgeWVhc3Qgc3RyYWluIGl0c2VsZiwgYWxvbmcgd2l0aCBhIGNvcnJlc3BvbmRpbmcgZXhwcmVzc2lvbiB2ZWN0b3IgZm9yIHBvc3NpYmxlIGV4cGVyaW1lbnRzLiBIZSBhbHNvIHByb3ZpZGVkIHVzIHdpdGggZGV0YWlsZWQgcHJvdG9jb2xzIGFuZCB0aGUgcGxhc21pZCBtYXAgb2YgdGhlIHZlY3RvciBhbmQgZ2F2ZSB1cyBwcmFjdGljYWwgdGlwcyBvbiBob3cgdG8gb3B0aW1pemUgdGhlIGV4cHJlc3Npb24gcHJvY2Vzcy4gSGlzIHN1cHBvcnQgd2FzIGludmFsdWFibGUgaW4gbW92aW5nIG91ciB3b3JrIGZvcndhcmQuIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+UGljaGlhIHBhc3RvcmlzIChTTUQxMTYzKSBpcyBhIHByb21pc2luZyBvcHRpb24gZm9yIGV4cHJlc3NpbmcgU3B1RnoxIG5pY2thc2UgdmFyaWFudHMuIFJlZmluaW5nIGV4cHJlc3Npb24gc3RyYXRlZ2llcyBiYXNlZCBvbiBleHBlcnQgaW5zaWdodHMgaXMgY3J1Y2lsIGZvciBzdWNjZXNzLiBOaWxzIHByb3ZpZGVkIHByYWN0aWNhbCB0aXBzIG9uIHllYXN0IGV4cHJlc3Npb24sIGluY2x1ZGluZyBvcHRpbWl6aW5nIGdyb3d0aCBjb25kaXRpb25zIGFuZCBmaW5lLXR1bmluZyBpbmR1Y3Rpb24gcHJvdG9jb2xzLjwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+V2UgYWRhcHRlZCBvdXIgZXhwcmVzc2lvbiBzdHJhdGVneSBmb3IgRmFuem9yIG5pY2thc2VzIGluIHllYXN0IGJ5IGluY29ycG9yYXRpbmcgdGhlIFBpY2hpYSBwYXN0b3JpcyBzdHJhaW4gKFNNRDExNjMpIGFuZCB0aGUgcHJvdmlkZWQgZXhwcmVzc2lvbiB2ZWN0b3IgaW50byBvdXIgZXhwZXJpbWVudHMuIEZvbGxvd2luZyBOaWxzJyBkZXRhaWxlZCBwcm90b2NvbHMgYW5kIHBsYXNtaWQgbWFwLCB3ZSBvcHRpbWl6ZWQga2V5IHN0ZXBzLCBlbmhhbmNpbmcgZXhwcmVzc2lvbiBlZmZpY2llbmN5IGFuZCBwcm90ZWluIHlpZWxkLjwvcD5dLFxuICAgIHN1bW1hcnk6IFwiVGhlIHRlYW0gc291Z2h0IGV4cGVydCBhZHZpY2UgZnJvbSBOaWxzIHRvIG9wdGltaXplIHllYXN0IGV4cHJlc3Npb24gZm9yIEZhbnpvciBuaWNrYXNlcy4gTmlscyBwcm92aWRlZCBpbnZhbHVhYmxlIGd1aWRhbmNlIG9uIGFkZHJlc3NpbmcgcG90ZW50aWFsIGNoYWxsZW5nZXMgYW5kIHRyb3VibGVzaG9vdGluZyB0aGUgcHJvY2Vzcy4gSGUgc3VwcGxpZWQgdGhlIFBpY2hpYSBwYXN0b3JpcyAoU01EMTE2Mykgc3RyYWluIGFsb25nIHdpdGggYSBzdWl0YWJsZSBleHByZXNzaW9uIHZlY3RvciwgY3J1Y2lhbCBmb3IgZXhwcmVzc2luZyBTcHVGejEgbmlja2FzZSB2YXJpYW50cy4gQWRkaXRpb25hbGx5LCBoZSBzaGFyZWQgZGV0YWlsZWQgcHJvdG9jb2xzIGZvciB5ZWFzdCB0cmFuc2Zvcm1hdGlvbiBhbmQgZ3Jvd3RoIG9wdGltaXphdGlvbiwgZW5hYmxpbmcgdGhlIHRlYW0gdG8gcmVwbGljYXRlIGhpcyBtZXRob2RzIGVmZmVjdGl2ZWx5IGZvciB0aGVpciBleHBlcmltZW50cy5cIixcbiAgICBtb250aHM6IFwiSnVseVwiLFxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiRHIuXCIsXG4gICAgdm9ybmFtZTogXCJUaW1tXCIsXG4gICAgbmFjaG5uYW1lOiBcIldlYmVyXCIsXG4gICAgam9iOiBcIlN0YWZmIFNjaWVudGlzdCwgUHJvamVjdC0gYW5kIFF1YWxpdHkgTWFuYWdlclwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkNlbnRyYWwgQmlvYmFuayBvZiB0aGUgVW5pdmVyc2l0eSBvZiBCaWVsZWZlbGRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydiaW9iYW5rJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJEaXNjdXNzZWQgdGhlIHByb2Nlc3NlcyBpbnZvbHZlZCBpbiB0aGUgc3RvcmFnZSwgcHJvY2Vzc2luZywgYW5kIHNlY3VyaXR5IG9mIHBhdGllbnQgc2FtcGxlcy5cIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJ0aW1tXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwiQSBiaW9iYW5rIGlzIG5vdCBqdXN0IGEgY29sbGVjdGlvbiBvZiBzYW1wbGVzOyBpdCdzIGEgYnJpZGdlIGJldHdlZW4gcGF0aWVudCB0cnVzdCBhbmQgc2NpZW50aWZpYyBkaXNjb3ZlcnksIGVuc3VyaW5nIHRoYXQgdmFsdWFibGUgYmlvbG9naWNhbCBkYXRhIGlzIHNhZmVndWFyZGVkIHdoaWxlIGNvbnRyaWJ1dGluZyB0byBmdXR1cmUgcmVzZWFyY2guXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIkNvbnRhY3Qgd2FzIGVzdGFibGlzaGVkIHdpdGggVGltbSBmb3IgdGhlIHB1cnBvc2Ugb2YgZ2FpbmluZyBkZWVwZXIgaW5zaWdodHMgaW50byB0aGUgZnVuY3Rpb25pbmcgb2YgdGhlIGJpb2JhbmsgYW5kIG9mIGRlZXBlbmluZyBvdXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgcHJvY2Vzc2luZyBvZiBwYXRpZW50IHNhbXBsZXMuXCIsXG4gICAgaW5zaWdodHM6IFwiV2Ugd2VyZSBwcm92aWRlZCB3aXRoIGludmFsdWFibGUgaW5zaWdodHMgaW50byB0aGUgcXVhbGl0eSBhbmQgcHJvamVjdCBtYW5hZ2VtZW50IG9mIHRoZSBiaW9iYW5rIGFuZCBzdG9yYWdlIG9mIHBhdGllbnQgc2FtcGxlcy4gSXQgd2FzIG9mIHBhcnRpY3VsYXIgaW50ZXJlc3QgdG8gbm90ZSB0aGF0IEJpb2JhbmsgT1dMIG9jY3VwaWVzIGEgZGlzdGluY3RpdmUgcG9zaXRpb24gaW4gdGhpcyBjb250ZXh0LCBpbnNvZmFyIGFzIGEgdHJ1c3RlZSBpcyBub3QgYSBtYW5kYXRvcnkgZmlndXJlIHdpdGhpbiBpdHMgc3lzdGVtIGFuZCBpcyB0aGVyZWZvcmUgbm90IHByb3ZpZGVkIGZvciBhcyBhIHN0YW5kYXJkIGNvbXBvbmVudC4gSG93ZXZlciwgQmlvYmFuayBPV0wgaGFzIGVsZWN0ZWQgdG8gaW50ZWdyYXRlIGEgdHJ1c3RlZSBpbiBvcmRlciB0byBlbmhhbmNlIHRoZSBzZWN1cml0eSBzdGFuZGFyZHMgZm9yIHRoZSBzYWZlZ3VhcmRpbmcgb2YgcGF0aWVudCBkYXRhLiBUaGlzIGlsbHVzdHJhdGVzIHRoZSBiaW9iYW5rJ3MgZGVkaWNhdGlvbiB0byBlbnN1cmluZyB0aGUgb3B0aW1hbCBwcm90ZWN0aW9uIGFuZCBzZWN1cml0eSBvZiBzZW5zaXRpdmUgcGF0aWVudCBkYXRhLlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIlRoZSBpbnNpZ2h0cyBnYWluZWQgaGF2ZSBmYWNpbGl0YXRlZCBhIGRlZXBlciBjb21wcmVoZW5zaW9uIG9mIHRoZSBzaWduaWZpY2FuY2Ugb2YgcXVhbGl0eSBtYW5hZ2VtZW50IGluIHRoZSBwcm9jZXNzaW5nIG9mIHBhdGllbnQgc2FtcGxlcy4gVGhpcyB1bmRlcnN0YW5kaW5nIGhhcyBiZWVuIGludGVncmF0ZWQgaW50byBvdXIgcHJvamVjdCBwcm9jZXNzZXMsIHRoZXJlYnkgZW5oYW5jaW5nIHRoZSBhY2N1cmFjeSBhbmQgcmVsaWFiaWxpdHkgb2Ygb3VyIHByb2NlZHVyZXMuIFwiLFxuICAgIHN1bW1hcnk6IFwiVGhlIGludGVydmlldyBmb2N1c2VkIG9uIHVuZGVyc3RhbmRpbmcgdGhlIG9wZXJhdGlvbnMgb2YgdGhlIEJpb2JhbmsgT1dMLCBwYXJ0aWN1bGFybHkgaW4gdGhlIGFyZWFzIG9mIHF1YWxpdHkgbWFuYWdlbWVudCBhbmQgc2FtcGxlIHByb2Nlc3NpbmcuIFByb3ZpZGVkIGEgZGV0YWlsZWQgb3ZlcnZpZXcgb2YgYmlvYmFuayBhY3Rpdml0aWVzLCBpbmNsdWRpbmcgc2FtcGxlIGNvbGxlY3Rpb24sIHN0b3JhZ2UgY29uZGl0aW9ucywgYW5kIGRhdGEgcHJvdGVjdGlvbiBtZWFzdXJlc1wiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgaW50ZXJ2aWV3OiA8PlxuICAgICAgPFFhQm94IHE9XCJDYW4geW91IGJyaWVmbHkgZXhwbGFpbiB0byB1cyB3aGF0IGV4YWN0bHkgYSBiaW9iYW5rIGlzIGFuZCB3aGF0IGl0cyBtYWluIHRhc2tzIGFyZT9cIlxuICAgICAgICBhPVwiQSBiaW9iYW5rIGlzIGEgc3BlY2lhbGl6ZWQgZmFjaWxpdHkgdGhhdCBjb2xsZWN0cywgc3RvcmVzLCBhbmQgbWFuYWdlcyBiaW9sb2dpY2FsIHNhbXBsZXMgYW5kIGFzc29jaWF0ZWQgZGF0YSBmb3IgcmVzZWFyY2ggcHVycG9zZXMuIEVhY2ggYmlvYmFuayBpcyB1bmlxdWUgaW4gaXRzIG9wZXJhdGlvbnMgYW5kIGZ1bmN0aW9ucy4gSW4gQmllbGVmZWxkIGFuZCBMaXBwZSwgdGhlIEJpb2JhbmsgQk9XTCAoQmlvYmFuayBPV0wpIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgc3RvcmFnZSBvZiBwYXRpZW50IHNhbXBsZXMuIFRoZSBEYXRhIEludGVncmF0aW9uIENlbnRyZSAoRElaKSBzdG9yZXMgZGF0YSBwZXJ0YWluaW5nIHRvIHRoZXNlIHNhbXBsZXMuIEEgdHJ1c3RlZSBvdmVyc2VlcyB0aGUgcHNldWRvbnltaXNhdGlvbiBvZiBkYXRhLCBhY3RpbmcgYXMgYW4gaW50ZXJmYWNlIGJldHdlZW4gQk9XTCBhbmQgRElaLCBlbnN1cmluZyB0aGF0IHBhdGllbnQgZGF0YSBjYW5ub3QgYmUgZGlyZWN0bHkgbGlua2VkIHRvIHBhdGllbnQgc2FtcGxlcy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IHR5cGVzIG9mIHNhbXBsZXMgYXJlIGNvbGxlY3RlZCBpbiB5b3VyIGJpb2JhbmsgYW5kIGZvciB3aGF0IHJlc2VhcmNoIHB1cnBvc2VzIGFyZSB0aGV5IHVzZWQ/XCJcbiAgICAgICAgYT1cIlRoZSBiaW9iYW5rIGNvbGxlY3RzIGEgd2lkZSB2YXJpZXR5IG9mIHNhbXBsZXMsIGluY2x1ZGluZyBibG9vZCwgc3Rvb2wsIGFuZCBzb2lsLiBTYW1wbGVzIG1heSBiZSBnYXRoZXJlZCBmb3Igc3BlY2lmaWMgcmVzZWFyY2ggcHJvamVjdHMgb3IgZm9yIGVzdGFibGlzaGluZyBhIGdlbmVyYWwgcmVwb3NpdG9yeSB1bmRlciAnYnJvYWQgY29uc2VudC4nIFJlc2VhcmNoZXJzIHdpc2hpbmcgdG8gdXNlIHRoZXNlIHNhbXBsZXMgbXVzdCBhcHBseSB0byB0aGUgJ3VzZSBhY2Nlc3MgY29tbWl0dGVlLCcgd2hpY2ggZXZhbHVhdGVzIHdoZXRoZXIgdGhlIHJlcXVlc3RlZCBzYW1wbGVzIGFuZCBkYXRhIGNhbiBiZSByZWxlYXNlZCBmb3IgdGhlaXIgcmVzZWFyY2guXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSG93IGxhcmdlIGlzIHlvdXIgYmlvYmFuaz8gSG93IG1hbnkgc2FtcGxlcyBkbyB5b3UgY3VycmVudGx5IHN0b3JlIGFuZCBob3cgbWFueSBuZXcgc2FtcGxlcyBhcmUgYWRkZWQgb24gYXZlcmFnZT9cIlxuICAgICAgICBhPVwiVGhlIGJpb2JhbmsgaXMgc3RpbGwgaW4gdGhlIHByb2Nlc3Mgb2YgZXN0YWJsaXNoaW5nIGl0c2VsZiBhbmQgaGFzIG5vdCB5ZXQgcmVhY2hlZCBpdHMgZnVsbCBzYW1wbGUgY2FwYWNpdHkuIEhvd2V2ZXIsIGl0IGlzIGFudGljaXBhdGVkIHRvIGFjY3VtdWxhdGUgYSBzaWduaWZpY2FudCBudW1iZXIgb2Ygc2FtcGxlcyBpbiB0aGUgbmVhciBmdXR1cmUsIHdpdGggc2V2ZXJhbCB0aG91c2FuZCBzYW1wbGVzIGV4cGVjdGVkIHRvIGJlIGFuYWx5emVkIGluIGRlZGljYXRlZCBzZXNzaW9ucy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IHJlcXVpcmVtZW50cyBhbmQgY3JpdGVyaWEgbXVzdCBiZSBtZXQgZm9yIGEgc2FtcGxlIHRvIGJlIGluY2x1ZGVkIGluIHlvdXIgYmlvYmFuaz9cIiBhPVwiU2FtcGxlcyBtdXN0IGJlIHByb2Nlc3NlZCBhY2NvcmRpbmcgdG8gaGlnaGx5IGRldGFpbGVkIHByb3RvY29scywgYW5kIHJlZ3VsYXIgYXVkaXRzIGFyZSBjb25kdWN0ZWQgdG8gZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBhbGwgc3RhbmRhcmRzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoaWNoIG90aGVyIHJlc2VhcmNoIGluc3RpdHV0aW9ucyBvciBiaW9iYW5rcyBkbyB5b3UgY29vcGVyYXRlIHdpdGggYW5kIHdoYXQgZm9ybSBkb2VzIHRoaXMgY29vcGVyYXRpb24gdGFrZT9cIlxuICAgICAgICBhPVwiQmlvYmFuayBPV0wgaGFzIGEgc2Vjb25kIGxvY2F0aW9uIGluIExpcHBlLCBpbiBhZGRpdGlvbiB0byBCaWVsZWZlbGQuIENvbGxhYm9yYXRpb25zIGV4aXN0IHdpdGggdGhlIERJWiwgdGhlIFRyZXVoYW5kLCBhbmQgdGhyZWUgdW5pdmVyc2l0eSBob3NwaXRhbHMuIEl0IGlzIGFudGljaXBhdGVkIHRoYXQgY29vcGVyYXRpb24gd2l0aCBvdGhlciB3b3JraW5nIGdyb3VwcyB3aWxsIGluY3JlYXNlIGluIHRoZSBmdXR1cmUuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBzcGVjaWZpYyBzdG9yYWdlIGNvbmRpdGlvbnMgKGUuZy4gdGVtcGVyYXR1cmUsIGh1bWlkaXR5KSBtdXN0IGJlIG9ic2VydmVkIGZvciBkaWZmZXJlbnQgc2FtcGxlIHR5cGVzP1wiXG4gICAgICAgIGE9XCJTYW1wbGVzIGFyZSBzdG9yZWQgdW5kZXIgdmFyaW91cyB0ZW1wZXJhdHVyZSBjb25kaXRpb25zLCBpbmNsdWRpbmcgLTIwXHUwMEIwQywgLTgwXHUwMEIwQywgYW5kIC0xNTBcdTAwQjBDLCBhbG9uZyB3aXRoIHRoZSB1c2Ugb2YgbGlxdWlkIG5pdHJvZ2VuLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBkbyB5b3UgZW5zdXJlIHRoYXQgdGhlIHNhbXBsZXMgcmVtYWluIHN0YWJsZSBhbmQgdXNhYmxlIG92ZXIgbG9uZ2VyIHBlcmlvZHMgb2YgdGltZT9cIlxuICAgICAgICBhPVwiU2FtcGxlcyBhcmUgc3RvcmVkIGluIG5pdHJvZ2VuIGZvciBsb25nLXRlcm0gc3RhYmlsaXR5LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgZW5jcnlwdGlvbiB0ZWNobmlxdWVzIG9yIGRhdGEgcHJvdGVjdGlvbiBtZWFzdXJlcyBhcmUgdXNlZCBpbiB5b3VyIGJpb2JhbmsgdG8gcHJldmVudCB1bmF1dGhvcml6ZWQgYWNjZXNzIHRvIHBhdGllbnQgZGF0YT8gQXJlIHRoZXJlIHNwZWNpYWwgcmVndWxhdGlvbnMgZm9yIHRoZSBhbm9ueW1pc2F0aW9uIG9mIGRhdGEgYW5kIGhvdyBpcyBpdCBlbnN1cmVkIHRoYXQgcGF0aWVudHMgY2Fubm90IGJlIHRyYWNlZD9cIlxuICAgICAgICBhPVwiUHNldWRvbnltcyBhcmUgY3JlYXRlZCB1c2luZyBzcGVjaWFsaXplZCBzb2Z0d2FyZSBzdWNoIGFzIENlbnRyYVhYIG9yIFJFRGNhcCB0byBwcm90ZWN0IHBhdGllbnQgZGF0YS5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IHJpZ2h0cyBkbyBwYXRpZW50cyBoYXZlIGluIHJlbGF0aW9uIHRvIHRoZWlyIHNhbXBsZXMsIGFuZCBob3cgYXJlIHRoZXNlIHJpZ2h0cyBzYWZlZ3VhcmRlZCBpbiB5b3VyIGJpb2Jhbms/XCJcbiAgICAgICAgYT1cIlBhdGllbnRzIGhhdmUgdGhlIHJpZ2h0IHRvIHJldm9rZSB0aGVpciBjb25zZW50IGF0IGFueSB0aW1lLCB3aGljaCBjYW4gYmUgZG9uZSBhdCB0aGUgY2xpbmljIG9yIGJpb2JhbmsuIFRoZSB0cnVzdGVlLCBhY3RpbmcgYXMgYW4gaW50ZXJtZWRpYXJ5LCB3aWxsIG5vdGlmeSBCT1dMIGFuZCBESVogdG8gZGVzdHJveSB0aGUgY29ycmVzcG9uZGluZyBzYW1wbGVzIG9yIGRhdGEuXCIgLz5cbiAgICA8Lz4sXG4gICAgbW9udGhzOiBcImF1Z3VzdFwiXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIidTY2hcdTAwRkNsZXIqaW5uZW4gQWthZGVtaWUnXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3NjaHVlbGVyJ10sXG4gICAgdGFnOiBcIkVkdWNhdGlvblwiLFxuICAgIGhlYWRpbmc6IFwiRW1wb3dlcmluZyBzdHVkZW50cyB0aHJvdWdoIHN5bnRoZXRpYyBiaW9sb2d5XCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwic2NodWVsZXJcIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJ4XCIsXG4gICAgc3VtbWFyeTogXCJcIixcbiAgICBtb250aHM6IFwiQXVndXN0XCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiUHJlc2VudCBldmlkZW5jZVwiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIGpvYjogXCJUZWFtIGlHRU1cIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaWVsZmVsZCBDZUJpVGVjIDIwMjRcIixcbiAgICB0YWc6IFwiTWlsZXN0b25lXCIsXG4gICAgaGVhZGluZzogXCJCcmFpbnN0b3JtaW5nIGFuZCBzZWxlY3Rpb24gb2YgaWRlYXMgYW5kIGNvbmNlcHRzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiZXZpZGVuY2VcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gICAgdHlwZTogXCJtZXRhXCIsXG4gICAgc3VtbWFyeTogXCJcIixcbiAgICBtb250aHM6IFwiYXVndXN0XCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiQmVuamFtaW5cIixcbiAgICB0aXRsZTogXCJEci5cIixcbiAgICBuYWNobm5hbWU6IFwiV2lua2VsamFublwiLFxuICAgIGpvYjogXCJDby1Gb3VuZGVyIGFuZCBDRU8gYXQgXCIsXG4gICAgYWZmaWxpYXRpb246IFwiUk5oYWxlXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snd2lua2VsamFubiddLFxuICAgIHRhZzogXCJJbmR1c3RyeVwiLFxuICAgIGhlYWRpbmc6IFwiRGlzY3Vzc2lvbiBvbiBzcHJheS1kcnlpbmcgYW5kIHN0YWJpbGl0eSBvZiBsaXBpZCBuYW5vcGFydGljbGVzIHdpdGggUk5oYWxlXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwicm5oYWxlXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZTogXCJTcHJheS1kcnlpbmcgTE5QcyBpcyBhIGdyb3VuZGJyZWFraW5nIGFwcHJvYWNoIHRoYXQgZW5oYW5jZXMgc3RhYmlsaXR5IGFuZCBlbmFibGVzIGVmZmljaWVudCBwdWxtb25hcnkgZGVsaXZlcnkgb2YgbVJOQSwgcGF2aW5nIHRoZSB3YXkgZm9yIGlubm92YXRpdmUgdGhlcmFwaWVzIGZvciBjb25kaXRpb25zIGxpa2UgY3lzdGljIGZpYnJvc2lzLlwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPkFzIHBhcnQgb2Ygb3VyIGRldmVsb3BtZW50IHByb2Nlc3Mgb2YgYW4gaW5ub3ZhdGl2ZSwgZWZmZWN0aXZlIHB1bG1vbmFyeSBkZWxpdmVyeSBvZiB0aGVyYXBldXRpYyBtUk5BIHRvIGZpZ2h0IGN5c3RpYyBmaWJyb3NpcyxcbiAgICAgIHdlIGNvbmR1Y3RlZCBhbiBpbnRlcnZpZXcgd2l0aCBEci4gQmVuamFtaW4gV2lua2VsamFubiwgd2hvIGlzIHRoZSBDby1Gb3VuZGVyIG9mIDxhIGhyZWY9XCJodHRwczovL3JuaGFsZS5jb20vXCI+Uk5oYWxlPC9hPi4gRHIuIEJlbmphbWluXG4gICAgICBXaW5rZWxqYW5uIGhhcyBhIHdlYWx0aCBvZiBleHBlcmllbmNlIGluIHRoZSBmaWVsZCBvZiBSTkEgdGhlcmFwZXV0aWNzIGFuZCBuYW5vdGVjaG5vbG9neS4gSGlzIGJhY2tncm91bmQgaW5jbHVkZXMgZXh0ZW5zaXZlIHJlc2VhcmNoIGluIHRoZVxuICAgICAgZGV2ZWxvcG1lbnQgb2YgbGlwaWQtYmFzZWQgZGVsaXZlcnkgc3lzdGVtcywgZm9jdXNpbmcgb24gb3B0aW1pemluZyBzdGFiaWxpdHkgYW5kIGVmZmljYWN5IGZvciB0aGVyYXBldXRpYyBhcHBsaWNhdGlvbnMuIFdpbmtlbGphbm5cdTIwMTlzIHdvcmtcbiAgICAgIGlzIHN1cHBvcnRlZCBieSBjdXR0aW5nLWVkZ2UgcmVzZWFyY2ggZnJvbSBhY2FkZW1pYyBpbnN0aXR1dGlvbnMsIGluY2x1ZGluZyBjb2xsYWJvcmF0aW9ucyB3aXRoIFByb2Zlc3NvciBPbGl2aWEgTWVya2VsIGZyb20gdGhlXG4gICAgICBMdWR3aWctTWF4aW1pbGlhbnMtVW5pdmVyc2l0XHUwMEU0dCBpbiBNdW5pY2gsIEdlcm1hbnksIHNpbmNlIGhpcyBkb2N0b3JhbCB0aGVzaXMgaW4gaGVyIHdvcmtpbmcgZ3JvdXAuIFRoZSBpbnRlcnZpZXcgd2l0aCBXaW5rZWxqYW5uIHByb21vdGVkXG4gICAgICBvdXIgcHJvamVjdCBwYXJ0LCB3aGljaCBhaW1lZCB0byB1dGlsaXplIHNwcmF5LWRyaWVkIExOUHMgZm9yIGVmZmljaWVudCBkZWxpdmVyeSB0byB0aGUgbHVuZy4gQnkgZW5nYWdpbmcgd2l0aCBSTmhhbGUsIHdlXG4gICAgICBzb3VnaHQgdG8gdW5kZXJzdGFuZCB0aGUgbnVhbmNlcyBvZiB0aGVpciBuYW5vLWVtYmVkZGVkIG1pY3JvcGFydGljbGUgdGVjaG5vbG9neSBhbmQgaG93IGl0IGNvdWxkIGVuaGFuY2Ugb3VyIGRlbGl2ZXJ5IHN5c3RlbXMuICA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPlJOaGFsZSdzIHRlY2hub2xvZ3kgbGV2ZXJhZ2VzIGFkdmFuY2VkIHNwcmF5IGRyeWluZyB0ZWNobmlxdWVzIHRvIHN0YWJpbGl6ZSBhbmQgZGVsaXZlciBSTkEgdGhlcmFwZXV0aWNzLiBEdXJpbmcgb3VyIGludGVydmlldyxcbiAgICAgIFdpbmtlbGphbm4gZGV0YWlsZWQgc2V2ZXJhbCBjcnVjaWFsIGFzcGVjdHMuIEZpcnN0bHksIHRoZSBzdGFiaWxpdHkgYW5kIHNoZWxmLWxpZmUgb2Ygc3ByYXktZHJpZWQgTE5QcyBhcmUgcmVtYXJrYWJsZS4gUk5oYWxlXHUyMDE5cyBzaVJOQVxuICAgICAgZm9ybXVsYXRpb25zIGhhdmUgbWFpbnRhaW5lZCB0aGVpciBpbnRlZ3JpdHkgZm9yIHVwIHRvIDE4IG1vbnRocyBhdCByb29tIHRlbXBlcmF0dXJlLCBhbmQgYWx0aG91Z2ggc3BlY2lmaWMgZGF0YSBmb3IgbVJOQSBpcyBzdGlsbCBwZW5kaW5nLFxuICAgICAgdGhpcyBzdWdnZXN0cyBhIHByb21pc2luZyBzaGVsZi1saWZlIGZvciBtUk5BIGZvcm11bGF0aW9ucyB1bmRlciBzaW1pbGFyIGNvbmRpdGlvbnMuIFRoZSBzcHJheSBkcnlpbmcgcHJvY2VzcyBpdHNlbGYgaW52b2x2ZXMgbWl4aW5nIGFuIGV0aGFub2xcbiAgICAgIHBoYXNlIGNvbnRhaW5pbmcgbGlwaWRzIHdpdGggYW4gYXF1ZW91cyBwaGFzZSBjb250YWluaW5nIFJOQS4gVGhpcyBtaXh0dXJlIGlzIHRoZW4gc3ByYXktZHJpZWQsIGZvcm1pbmcgTE5QcyBhcyB0aW55IHNwaGVyaWNhbCBwYXJ0aWNsZXMuXG4gICAgICBLZXkgcGFyYW1ldGVycyBmb3IgdGhpcyBwcm9jZXNzIGluY2x1ZGUgbWFpbnRhaW5pbmcgYW4gaW50ZXJuYWwgZHJ5aW5nIHRlbXBlcmF0dXJlIG9mIGFyb3VuZCAxMDAgXHUwMEIwQyBhbmQgdXNpbmcgZXhjaXBpZW50cyBsaWtlIGxhY3Rvc2UgdG9cbiAgICAgIHByZXNlcnZlIHRoZSBuYW5vcGFydGljbGVzJyBzdHJ1Y3R1cmUgYW5kIGZ1bmN0aW9uXHUyMDBCIDxUYWJTY3JvbGxMaW5rIHRhYj1cInJuaGFsZVwiIHNjcm9sbElkPVwiZGVzYy0xXCIgbnVtPVwiMVwiIC8+LiA8L3A+LFxuICAgIDxwPkVuc3VyaW5nIHRoZSBpbnRlZ3JpdHkgYW5kIGVmZmljaWVuY3kgb2YgdGhlIExOUHMgaW52b2x2ZXMgdmFyaW91cyBtZXRob2RzLCBpbmNsdWRpbmcgZ2VsIGVsZWN0cm9waG9yZXNpcywgYmxvdHRpbmcsIGFuZCBmdW5jdGlvbmFsIHJlYWRvdXRzIHRocm91Z2ggdHJhbnNmZWN0aW9uIGFzc2F5cy5cbiAgICAgIEFmdGVyIGRyeWluZywgdGhlIG5hbm9wYXJ0aWNsZXMgcmV0YWluIHRoZWlyIHNwaGVyaWNhbCBzdHJ1Y3R1cmUsIHdoaWNoIHJlc2VtYmxlcyB0aGF0IG9mIFwiZ29sZiBiYWxsc1wiIHVuZGVyIHNjYW5uaW5nIGVsZWN0cm9uIG1pY3Jvc2NvcHkgKFNFTSk8VGFiU2Nyb2xsTGluayB0YWI9XCJybmhhbGVcIiBzY3JvbGxJZD1cImRlc2MtMVwiIG51bT1cIjFcIiAvPi5cbiAgICAgIE1vcmVvdmVyLCBSTmhhbGUgZW1wbG95cyBhcnRpZmljaWFsIGludGVsbGlnZW5jZSB0byBvcHRpbWl6ZSBMTlAgZm9ybXVsYXRpb25zIGFuZCBwcmVkaWN0IHRoZSBiZXN0IGRyeWluZyBjb25kaXRpb25zLCByZWR1Y2luZyB0aGUgbmVlZCBmb3JcbiAgICAgIGV4dGVuc2l2ZSB3ZXQgbGFiIHdvcmsuIFRoaXMgQUktZHJpdmVuIGFwcHJvYWNoIGVuaGFuY2VzIGVmZmljaWVuY3kgYW5kIHJlbGlhYmlsaXR5IGluIGRldmVsb3BpbmcgdGhlcmFwZXV0aWMgbmFub3BhcnRpY2xlcy4gPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFtcbiAgICAgIDxwPlRoZSBpbnRlcnZpZXcgd2l0aCBEci4gQmVuamFtaW4gV2lua2VsamFubiBmcm9tIFJOaGFsZSBwcm92aWRlZCBpbnZhbHVhYmxlIGluc2lnaHRzIHRoYXQgd2lsbCBzaWduaWZpY2FudGx5IGVuaGFuY2Ugb3VyIHByb2plY3RcbiAgICAgICAgZm9jdXNlZCBvbiBtUk5BIGRlbGl2ZXJ5IHRvIHRoZSBsdW5ncyB1c2luZyBzcHJheS1kcmllZCBMTlBzLiBCeSBzZWVraW5nIHRvIGludGVncmF0ZSB0aGVpciBwcm92ZW4gdGVjaG5pcXVlcyBhbmQgaW5ub3ZhdGl2ZSBhcHByb2FjaFxuICAgICAgICB0byBzcHJheS1kcnkgTE5Qcywgd2UgYXJlIG9wdGltaXN0aWMgYWJvdXQgYWNoaWV2aW5nIHN1cGVyaW9yIHN0YWJpbGl0eSwgZWZmaWNhY3ksIGFuZCBzY2FsYWJpbGl0eSBpbiBvdXIgdGhlcmFwZXV0aWMgZGVsaXZlcnkgc3lzdGVtcy4gIDwvcD5cbiAgICBdLFxuICAgIHBpY3R1cmV1cmxfYWltOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1ybmhhbGUtem9vbS5wbmdcIixcbiAgICBwaWN0dXJldXJsX2ludGVydmlldzogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZm9yLXdpa2ktdGV4dHMvZGVsLWludGVydmlldy1ybmhhbGUvcGFwZXItb3ZlcnZpZXcuanBnXCIsXG4gICAgcGljdHVyZXVybF9pbXBsZW1lbnRhdGlvbjogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZm9yLXdpa2ktdGV4dHMvZGVsLWludGVydmlldy1ybmhhbGUvcGFwZXItc2VtLmpwZ1wiLFxuICAgIHJlZmVyZW5jZXM6IDxSbmhhbGVTb3VyY2VzIC8+LFxuICAgIGludGVydmlldzo8PlxuICAgIDxRYUJveCBxPVwiQ2FuIHlvdSBzcGVjaWZ5IHRoZSBzaGVsZiBsaWZlIGZvciBzcHJheS1kcmllZCBMTlBzPyBXaGF0IHN0b3JhZ2UgY29uZGl0aW9ucyBkbyB5b3UgcmVjb21tZW5kIHRvIG1heGltaXplIHN0YWJpbGl0eT9cIiBhPVwiRm9yIHNtYWxsIGludGVyZmVyaW5nIFJOQSwgd2UgY2FuIGd1YXJhbnRlZSBhIHNoZWxmIGxpZmUgb2YgMTggbW9udGhzIGF0IHJvb20gdGVtcGVyYXR1cmUuIEhvd2V2ZXIsIHRoZXJlIGFyZSBubyBleGlzdGluZyBzdHVkaWVzIGZvciBtUk5BLCB3aGljaCB0ZW5kcyB0byBiZSBtb3JlIGZyYWdpbGUuIEZvciBvcHRpbWFsIHN0YWJpbGl0eSwgd2UgcmVjb21tZW5kIHN0b3JpbmcgTE5QcyBpbiBhIGNvb2wsIGRyeSBwbGFjZSwgYXdheSBmcm9tIGRpcmVjdCBzdW5saWdodC5cIi8+IFxuICAgIDxRYUJveCBxPVwiV2hhdCB0ZWNobmljYWwgcmVxdWlyZW1lbnRzIGFuZCBlcXVpcG1lbnQgYXJlIG5lY2Vzc2FyeSB0byBzdWNjZXNzZnVsbHkgc3ByYXktZHJ5IExOUHMgdXNpbmcgeW91ciBuYW5vLWVtYmVkZGVkLW1pY3JvcGFydGljbGUgKE5FTSkgdGVjaG5vbG9neT9cIiBhPVwiVGhlIHNwcmF5LWRyeWluZyBwcm9jZXNzIGZvciBMTlBzIHVzaW5nIG91ciBORU0gdGVjaG5vbG9neSBpbnZvbHZlcyBzZXZlcmFsIHRlY2huaWNhbCBzdGVwcy4gSW5pdGlhbGx5LCBhIG1peHR1cmUgb2YgYW4gZXRoYW5vbCBwaGFzZSBjb250YWluaW5nIGxpcGlkcyBhbmQgYW5vdGhlciBwaGFzZSB3aXRoIFJOQSBpcyBwcmVwYXJlZC4gVGhpcyBtaXh0dXJlIGlzIHRoZW4gc3ViamVjdGVkIHRvIGEgc3ByYXktZHJ5aW5nIHByb2Nlc3Mgd2hlcmUgZHJvcGxldHMgYXJlIHNwcmF5ZWQgaW50byBhIGRyeWluZyB0b3dlci4gVGhlIGxpcXVpZCBldmFwb3JhdGVzLCBsZWF2aW5nIGJlaGluZCBMTlBzIGFzIHNtYWxsIHNwaGVyaWNhbCBwYXJ0aWNsZXMuXCIvPiBcbiAgICA8UWFCb3ggcT1cIkhvdyBjb21wbGljYXRlZCBpcyB0aGUgcHJvdG9jb2wgZm9yIHByb2R1Y2luZyBzcHJheS1kcmllZCBMTlBzPyBDYW4geW91IGRlc2NyaWJlIHRoZSBwcm90b2NvbD9cIiBhPVwiVGhlIHByb3RvY29sLCB3aGlsZSBkZXRhaWxlZCwgaXMgc3RyYWlnaHRmb3J3YXJkLiBJdCBpbnZvbHZlcyBwcmVwYXJpbmcgdGhlIGxpcGlkIGFuZCBSTkEgbWl4dHVyZSwgZm9sbG93ZWQgYnkgdGhlIHNwcmF5LWRyeWluZyBwcm9jZXNzIHdoZXJlIGRyb3BsZXRzIGFyZSBzcHJheWVkIGludG8gYSBkcnlpbmcgdG93ZXIuIEFzIHRoZSBsaXF1aWQgZXZhcG9yYXRlcywgdGhlIExOUHMgcmVtYWluIGFzIHNtYWxsIGJlYWRzLiBUaGlzIHByb2Nlc3MgaXMgY3JpdGljYWwgZm9yIGVuc3VyaW5nIHRoZSBjb3JyZWN0IHNpemUgYW5kIGNvbXBvc2l0aW9uIG9mIHRoZSBMTlBzLlwiLz4gXG4gICAgPFFhQm94IHE9XCJIb3cgZG8gTE5QcyBhcHBlYXIgYWZ0ZXIgdGhlIGRyeWluZyBwcm9jZXNzP1wiIGE9XCJBZnRlciBkcnlpbmcsIExOUHMgcmVzZW1ibGUgZ29sZiBiYWxscyBvbiBhIG1pY3JvbiBzY2FsZSB3aGVuIG9ic2VydmVkIHVuZGVyIGEgc2Nhbm5pbmcgZWxlY3Ryb24gbWljcm9zY29wZSAoU0VNKS4gVGhlaXIgc2l6ZSBkaXN0cmlidXRpb24gaXMgYW5hbHl6ZWQgdGhyb3VnaCBsaWdodCBzY2F0dGVyaW5nIG1lYXN1cmVtZW50cywgYW1vbmcgb3RoZXIgdGVjaG5pcXVlcy5cIi8+IFxuICAgIDxRYUJveCBxPVwiSG93IGRvIHlvdSBlbnN1cmUgdGhhdCB0aGUgUk5BIGNhcmdvIHJlbWFpbnMgc3RhYmxlIGRlc3BpdGUgdGhlIGhlYXQgZHVyaW5nIHRoZSBkcnlpbmcgcHJvY2Vzcz9cIiBhPVwiV2UgbWl0aWdhdGUgdGhlIGltcGFjdCBvZiBoZWF0IGJ5IG9wdGltaXppbmcgdGhlIGRyeWluZyBjb25kaXRpb25zLiBDaGl0b3NhbiBhbmQgUEVHIGNhbiBhbHNvIGluZmx1ZW5jZSBzdGFiaWxpdHkuIFdpdGhvdXQgUEVHLCBMTlBzIG1heSBhZ2dsb21lcmF0ZSBhbmQgYmVjb21lIG5vbi1mdW5jdGlvbmFsLCBidXQgdG9vIG11Y2ggUEVHIGNhbiByZW5kZXIgdGhlbSBpbmVydC4gVGhlcmVmb3JlLCBhIGJhbGFuY2VkIGFwcHJvYWNoIGlzIG5lY2Vzc2FyeSwgdGhvdWdoIFBFRyBoYXMgbm8gc2lnbmlmaWNhbnQgaW1wYWN0IG9uIHRoZSBkcnlpbmcgcHJvY2VzcyBpdHNlbGYuXCIvPiBcbiAgICA8UWFCb3ggcT1cIkF0IHdoYXQgdGVtcGVyYXR1cmUgaXMgdGhlIExOUCBkcmllZD9cIiBhPVwiVGhlIGludGVybmFsIHRlbXBlcmF0dXJlIGR1cmluZyB0aGUgZHJ5aW5nIHByb2Nlc3MgaXMgYXBwcm94aW1hdGVseSAxMDAgZGVncmVlcyBDZWxzaXVzLCBhcyBub3RlZCBpbiBvdXIgcHVibGljYXRpb25zLlwiLz4gXG4gICAgPFFhQm94IHE9XCJEb2VzIGVhY2ggTE5QIGZvcm11bGF0aW9uIHJlcXVpcmUgaW5kaXZpZHVhbCB0ZXN0aW5nP1wiIGE9XCJZZXMsIGVhY2ggTE5QIHdpdGggYSB1bmlxdWUgY29tcG9zaXRpb24gbmVlZHMgdG8gYmUgdGVzdGVkIGluZGl2aWR1YWxseSB0byBlbnN1cmUgb3B0aW1hbCBzdGFiaWxpdHkgYW5kIHBlcmZvcm1hbmNlLlwiLz4gXG4gICAgPFFhQm94IHE9XCJIb3cgY2FuIHdlIHRlc3QgdGhlIGVmZmljaWVuY3kgb2YgTE5QcyBhZnRlciB0aGUgZHJ5aW5nIHByb2Nlc3M/XCIgYT1cIlRoZSBlZmZpY2llbmN5IGNhbiBiZSB0ZXN0ZWQgdGhyb3VnaCB0cmFuc2ZlY3Rpb24gc3R1ZGllcy4gQWRkaXRpb25hbGx5LCB0aGUgcGFydGljbGVzIGNhbiBiZSBicm9rZW4gZG93biB0byBhbmFseXplIHRoZSBtUk5BIHN0cnVjdHVyZSwgYWx0aG91Z2ggdGhpcyBpcyBhIG1vcmUgY29tcGxleCBhbmQgdGltZS1jb25zdW1pbmcgcHJvY2Vzcy5cIi8+IFxuICAgIDxRYUJveCBxPVwiQ2FuIHlvdSBlbGFib3JhdGUgb24gaG93IHlvdSB1c2UgQUkgdG8gY3VzdG9taXplIExOUHM/IFdoYXQgZXhhY3RseSBkb2VzIHRoZSBBSSBkbywgYW5kIGhvdyByZWxpYWJsZSBpcyBpdD9cIiBhPVwiT3VyIEFJIGlzIHVzZWQgZm9yIHNjcmVlbmluZywgb3B0aW1pemF0aW9uLCBhbmQgdGhlIGRlc2lnbiBvZiBleHBlcmltZW50cywgc2lnbmlmaWNhbnRseSByZWR1Y2luZyB3ZXQgbGFiIHdvcmsuIEl0IGFsc28gcGxheXMgYSByb2xlIGluIGRldmVsb3BpbmcgbmV3IGxpcGlkcywgYSBwcm9jZXNzIG1vcmUgY2xvc2VseSBhc3NvY2lhdGVkIHdpdGggdGhlIHdvcmsgb2YgT2xpdmlhIE1lcmtlbC5cIi8+IFxuICAgIDxRYUJveCBxPVwiV2hhdCBwcm9wZXJ0aWVzIG9mIExOUHMgY291bGQgaGluZGVyIHRoZSBkcnlpbmcgcHJvY2Vzcz9cIiBhPVwiVGhlb3JldGljYWxseSwgbm90aGluZyBzaG91bGQgaGluZGVyIHRoZSBkcnlpbmcgcHJvY2VzcyBpZiBpdCBpcyBvcHRpbWl6ZWQgZm9yIHRoZSBzcGVjaWZpYyBjYXJnbyBhbmQgdGFyZ2V0LiBBZGp1c3RtZW50cyBjYW4gYWx3YXlzIGJlIG1hZGUgdG8gYWNjb21tb2RhdGUgZGlmZmVyZW50IGZvcm11bGF0aW9ucy5cIi8+IFxuICAgIDxRYUJveCBxPVwiSW4geW91ciBvcGluaW9uLCB3aGljaCBMTlBzIGFyZSBiZXN0IHN1aXRlZCBmb3IgdGhlIGRyeWluZyBwcm9jZXNzIChTTE5zLCBOTENzLCBldGMuKT9cIiBhPVwiSXQgZGVwZW5kcyBvbiB0aGUgc3BlY2lmaWMgYXBwbGljYXRpb24gYW5kIGNvbXBvc2l0aW9uIG9mIHRoZSBMTlBzLlwiLz4gXG4gICAgPFFhQm94IHE9XCJXaGF0IGFyZSB0aGUgZXN0aW1hdGVkIGNvc3RzIGZvciB0aGUgZW50aXJlIGRyeWluZyBwcm9jZXNzP1wiIGE9XCJUaGUgcHJpbWFyeSBleHBlbnNlcyBhcmUgaW4gcmF3IG1hdGVyaWFscyBhbmQgZm9ybXVsYXRpb25zLCB3aGljaCBhcmUgcmVsYXRpdmVseSBleHBlbnNpdmUuIFRoZSBwcm9jZXNzIGl0c2VsZiBjYW4gY29zdCBpbiB0aGUgZm91ci1kaWdpdCByYW5nZS5cIi8+IFxuICAgIDxRYUJveCBxPVwiV291bGQgeW91IGJlIHdpbGxpbmcgdG8gc3VwcG9ydCB1cyBpbiBvdXIgcHJvamVjdD8gV291bGQgeW91IGRyeSBvdXIgTE5Qcz9cIiBhPVwiVGhlIHNwcmF5IGRyeWVyIHJlcXVpcmVzIDUgbUwgb2YgYSBzb2x1dGlvbiB3aXRoIDUlIGxpcGlkIHNvbGlkcyBhbmQgMC4wMiUgUk5BLiBXZVx1MjAxOXZlIHB1Ymxpc2hlZCByZWNvdmVyeSByYXRlcyBvZiA3MCUuIFlvdSBjYW4gc2VuZCB1cyB0aGUgbVJOQSBhbmQgTE5QIGNvbXBvbmVudHMgdG8gZW5jYXBzdWxhdGUgYW5kIGRyeS5cIi8+XG4gICAgPC8+LFxuICAgIHN1bW1hcnk6IFwiVGhlIGNvbnZlcnNhdGlvbiBmb2N1c2VkIG9uIHNwcmF5LWRyeWluZyBMTlBzLCBlbXBoYXNpemluZyB0aGUgc2hlbGYgbGlmZSBvZiBSTkEtYmFzZWQgZm9ybXVsYXRpb25zLCBvcHRpbWFsIHN0b3JhZ2UgY29uZGl0aW9ucywgYW5kIHRlY2huaWNhbCByZXF1aXJlbWVudHMgZm9yIHRoZSBkcnlpbmcgcHJvY2Vzcy4gQ29yZGVuIFBoYXJtYSBzaGFyZWQgaW5zaWdodHMgb24gdGhlIHByb3RvY29sLCBoaWdobGlnaHRpbmcgdGhlIG5lZWQgZm9yIHRlc3RpbmcgZWFjaCBMTlAgZm9ybXVsYXRpb24gaW5kaXZpZHVhbGx5IGZvciBzdGFiaWxpdHkuIEFJIHRlY2hub2xvZ3kgaXMgdXNlZCB0byBvcHRpbWl6ZSBMTlAgZm9ybXVsYXRpb25zLCBhbmQgcG90ZW50aWFsIGNvbGxhYm9yYXRpb25zIHdlcmUgZGlzY3Vzc2VkLCBpbmNsdWRpbmcgc3VwcG9ydCBmb3IgZHJ5aW5nIExOUHMuXCIsXG4gICAgbW9udGhzOiBcImF1Z3VzdFwiXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIk1heFwiLFxuICAgIG5hY2hubmFtZTogXCJCZWNrbWFublwiLFxuICAgIGpvYjogXCJQYXRpZW50IGFuZCBTdHVkZW50XCIsXG4gICAgYWZmaWxpYXRpb246IFwiVW5pdmVyc2l0eSBCaWVsZWZlbGRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydtYXgnXSxcbiAgICB0YWc6IFwiUGF0aWVudFwiLFxuICAgIGhlYWRpbmc6IFwiQ29uc3VsdGF0aW9uIG9uIFVuaXZlcnNpdHkgSHlnaWVuZSBSaXNrcyBhbmQgSW1wcm92ZW1lbnQgZm9yIEh5Z2llbmUgQ29uY2VwdFwiLFxuICAgIGludGVydmlld3RhYmlkOiBcIm1heGh5Z2llbmVcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcInhcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gICAgc3VtbWFyeTogXCJcIixcbiAgICBtb250aHM6IFwiQXVndXN0XCJcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIkRyLlwiLFxuICAgIHZvcm5hbWU6IFwiS2F0aGFyaW5hXCIsXG4gICAgbmFjaG5uYW1lOiBcIktvbG9ua29cIixcbiAgICBqb2I6IFwiRXhwZXJ0IGZvciBuYW5vY2Fwc3VsZXNcIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaW9sb2dpc3RcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydrb2xvbmtvJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJPcHRpbWl6aW5nIG91ciBtUk5BIERlbGl2ZXJ5IFN5c3RlbXNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJrb2xvbmtvZmlyc3RcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcIldvdywgeW91XHUyMDE5cmUgYWxyZWFkeSBmdXJ0aGVyIGFsb25nIHRoYW4gSSB3YXMhIFRoYXRcdTIwMTlzIGEgcmVhbGx5IGdvb2QgYXBwcm9hY2gsIGVzcGVjaWFsbHkgc2luY2UgZHJ5IHBvd2RlciBmb3JtdWxhdGlvbnMgY2FuIGhlbHAgd2l0aCBzdGFiaWxpdHkuXCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+T3VyIGdvYWwgaW4gcmVhY2hpbmcgb3V0IHRvIERyLiBLYXRoYXJpbmEgS29sb25rbywgd2hvIGVhcm5lZCBoZXIgUGhEIHdvcmtpbmcgb24gY2hpdG9zYW4tYmFzZWQgbmFub3BhcnRpY2xlcyBmb3IgZGVsaXZlcmluZyBudWNsZWljIGFjaWRzIHRvIGh1bWFuIHJlc3BpcmF0b3J5IGNlbGxzIGluIHRoZSBjb250ZXh0IG9mIGN5c3RpYyBmaWJyb3Npcywgd2FzIHRvIHNlZWsgaGVyIGFkdmljZSBvbiB0aGUgZGVzaWduLCBzdGFiaWxpdHksIGFuZCBhcHBsaWNhdGlvbiBvZiBuYW5vcGFydGljbGVzLiBXZSB3YW50ZWQgdG8gbGVhcm4gZnJvbSBoZXIgZXhwZXJpZW5jZSB3aXRoIGNoaXRvc2FuLWNhcHNhaWNpbiBuYW5vcGFydGljbGVzLCBlc3BlY2lhbGx5IHRoZSBjaGFsbGVuZ2VzIHNoZSBlbmNvdW50ZXJlZCwgYW5kIGFwcGx5IGhlciBpbnNpZ2h0cyB0byBpbXByb3ZlIG91ciBvd24gcHJvamVjdC4gU3BlY2lmaWNhbGx5LCB3ZSBhaW1lZCB0byBiZXR0ZXIgdW5kZXJzdGFuZCBuYW5vcGFydGljbGUgc3RhYmlsaXR5LCB0cmFuc2ZlY3Rpb24gbWV0aG9kcywgYW5kIGhvdyB0byBlZmZlY3RpdmVseSBkZXNpZ24gb3VyIGV4cGVyaW1lbnRzLlxuICAgIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+RHIuIEtvbG9ua28gcHJvdmlkZWQgdXMgd2l0aCB2YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIHdvcmtpbmcgd2l0aCBuYW5vcGFydGljbGVzLCBwYXJ0aWN1bGFybHkgZW1waGFzaXppbmcgdGhlIGFkdmFudGFnZXMgb2YgbmFub2NhcHN1bGVzLiBTaGUgaGlnaGxpZ2h0ZWQgdGhhdCBuYW5vY2Fwc3VsZXMgYXJlIG1vcmUgc3RhYmxlIHRoYW4gbmFuby1jb21wbGV4ZXMsIHdoaWNoIGlzIGNydWNpYWwgZm9yIGV4cGVyaW1lbnRzIGludm9sdmluZyBjb21wbGV4IGVudmlyb25tZW50cyBhbmQgaGlnaCBzaGVhciBmb3JjZXMuIEFkZGl0aW9uYWxseSwgaGVyIHVzZSBvZiBjYXBzYWljaW4gd2Fzblx1MjAxOXQgYWltZWQgYXQgaW1wcm92aW5nIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5IGJ1dCB3YXMgcGFydCBvZiBhIGJyb2FkZXIgc3RyYXRlZ3kgdGFyZ2V0aW5nIHNwZWNpZmljIGNoYW5uZWxzLiBTaGUgYWxzbyBzaGFyZWQgcHJhY3RpY2FsIG1ldGhvZHMgZm9yIG1lYXN1cmluZyBwYXJ0aWNsZSBzdGFiaWxpdHkgYW5kIGN5dG90b3hpY2l0eSwgZ2l2aW5nIHVzIGNsZWFyIGd1aWRhbmNlIG9uIHRvb2xzIGFuZCB0ZWNobmlxdWVzIHRoYXQgd2UgY2FuIGFwcGx5IHRvIG91ciBwcm9qZWN0LiBcbiAgICAgIEZ1cnRoZXJtb3JlLCBEci4gS29sb25rbyBkaXNjdXNzZWQgdGhlIHVzZSBvZiBjaGl0b3NhbiBhcyBhIGNvbXBvbmVudCBpbiBuYW5vcGFydGljbGUgZm9ybXVsYXRpb25zLiBDaGl0b3Nhbiwgd2l0aCBpdHMgcG9zaXRpdmUgY2hhcmdlLCBjYW4gaW50ZXJhY3Qgd2l0aCBtUk5BLCBwb3RlbnRpYWxseSBlbmhhbmNpbmcgdGhlIHN0YWJpbGl0eSBvZiB0aGUgY2FyZ28uIEFzIGFuIG91dGxvb2ssIHdlIHBsYW4gdG8gZXhwbG9yZSBtb2RpZmljYXRpb25zIHVzaW5nIGNoaXRvc2FuIHRvIGltcHJvdmUgdGhlIHN0YWJpbGl0eSBhbmQgcGVyZm9ybWFuY2Ugb2Ygb3VyIG1STkEgZGVsaXZlcnkgc3lzdGVtLiBUaGlzIGFwcHJvYWNoIG1heSBwcm92aWRlIGEgbW9yZSByb2J1c3Qgc29sdXRpb24gZm9yIG9wdGltaXppbmcgbmFub3BhcnRpY2xlIGZvcm11bGF0aW9ucyBpbiBmdXR1cmUgZXhwZXJpbWVudHMuIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOls8cD5XZSBkaXJlY3RseSBhcHBsaWVkIEthdGhhcmluYVx1MjAxOXMgaW5zaWdodHMgdG8gaW1wcm92ZSBvdXIgbmFub3BhcnRpY2xlIGRlc2lnbiBhbmQgdGVzdGluZyBtZXRob2RzLiBIZXIgcmVjb21tZW5kYXRpb25zIG9uIHVzaW5nIG5hbm8tY2Fwc3VsZXMgYW5kIE9wdGlNRU0gYXMgdGhlIHRyYW5zZmVjdGlvbiBtZWRpdW0gaGVscGVkIHJlZmluZSBvdXIgZXhwZXJpbWVudGFsIGFwcHJvYWNoLiBTaGUgZW1waGFzaXplZCB1c2luZyBhIG1lZGl1bSB3aXRoIGZld2VyIGFkZGl0aXZlcywgbGlrZSBPcHRpTUVNLCBhbmQgc3VnZ2VzdGVkIHJlbW92aW5nIGFudGliaW90aWNzIDI0IGhvdXJzIGJlZm9yZSB0cmFuc2ZlY3Rpb24gdG8gYXZvaWQgaW50ZXJmZXJlbmNlLCBlbnN1cmluZyBtb3JlIGNvbnRyb2xsZWQgYW5kIGVmZmVjdGl2ZSBjb25kaXRpb25zLiBXZSBhbHNvIGV4cGxvcmVkIG5ldyBzdGFiaWxpdHkgdGVzdGluZyBpZGVhcywgaW5jbHVkaW5nIG5hc2FsIHNwcmF5IHNvbHV0aW9ucyBhbmQgZHJ5IHBvd2RlciBmb3JtdWxhdGlvbnMuIFxuICAgICAgV2UgaW5jb3Jwb3JhdGVkIGhlciBpbnNpZ2h0cyBhcyBmb2xsb3dzOiA8L3A+LFxuICAgICAgPHVsPlxuICAgICAgICA8bGk+PHN0cm9uZz5OYW5vLUNhcHN1bGVzIEZvY3VzOjwvc3Ryb25nPiBCYXNlZCBvbiBLYXRoYXJpbmFcdTIwMTlzIGFkdmljZSwgd2UgcHJpb3JpdGl6ZWQgbmFuby1jYXBzdWxlcyBmb3IgdGhlaXIgZW5oYW5jZWQgc3RhYmlsaXR5IG92ZXIgbmFuby1jb21wbGV4ZXMuPC9saT5cbiAgICAgICAgPGxpPjxzdHJvbmc+Q2hpdG9zYW4gZm9yIFN0YWJpbGl0eTo8L3N0cm9uZz4gV2UncmUgZXhwbG9yaW5nIGNoaXRvc2FuIHRvIGltcHJvdmUgbVJOQSBkZWxpdmVyeSBzeXN0ZW0gc3RhYmlsaXR5IGR1ZSB0byBpdHMgcG9zaXRpdmUgY2hhcmdlLCB3aGljaCBiaW5kcyBtUk5BIHRvIHRoZSBuYW5vcGFydGljbGUgc3VyZmFjZS48L2xpPlxuICAgICAgICA8bGk+PHN0cm9uZz5PcHRpTUVNIGZvciBUcmFuc2ZlY3Rpb246PC9zdHJvbmc+IE9wdGlNRU0gaXMgbm93IG91ciBjaG9zZW4gdHJhbnNmZWN0aW9uIG1lZGl1bSwgd2l0aCB0aGUgc3VnZ2VzdGlvbiB0byByZW1vdmUgYW50aWJpb3RpY3MgMjQgaG91cnMgcHJpb3IuPC9saT5cbiAgICAgICAgPGxpPjxzdHJvbmc+TVRUIFRlc3QgZm9yIEN5dG90b3hpY2l0eTo8L3N0cm9uZz4gV2UgYWRvcHRlZCB0aGUgTVRUIHRlc3QgZm9yIGN5dG90b3hpY2l0eSBkdWUgdG8gaXRzIHNpbXBsaWNpdHkgYW5kIHJlbGlhYmlsaXR5LjwvbGk+XG4gICAgICAgIDxsaT48c3Ryb25nPk5hc2FsIFNwcmF5IGFuZCBEcnkgUG93ZGVyIFRlc3Rpbmc6PC9zdHJvbmc+IFdlIGFyZSBjb25zaWRlcmluZyB0ZXN0aW5nIG5hbm9wYXJ0aWNsZSBzdGFiaWxpdHkgdXNpbmcgbmFzYWwgc3ByYXkgc29sdXRpb25zIGFuZCBleHBsb3JpbmcgZHJ5IHBvd2RlciBmb3JtdWxhdGlvbnMuPC9saT5cbiAgICAgICAgPGxpPjxzdHJvbmc+Q2Fwc2FpY2luIEV4Y2x1c2lvbjo8L3N0cm9uZz4gQXMgY2Fwc2FpY2luIGRpZCBub3Qgc2lnbmlmaWNhbnRseSBpbXBhY3QgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgaW4gS2F0aGFyaW5hXHUyMDE5cyByZXNlYXJjaCwgd2UgZGVjaWRlZCBub3QgdG8gaW5jbHVkZSBpdCBpbiBvdXIgcHJvamVjdC48L2xpPlxuICAgICAgPC91bD5cbiAgICBdICxcbiAgICBpbnRlcnZpZXc6PD5cbiAgICA8UWFCb3ggcT1cIkhvdyBkaWQgeW91IGFwcHJvYWNoIHRoZSBkZXNpZ24gb2YgTGlwaWQgTmFub3BhcnRpY2xlcyAoTE5Qcyk/IFdoYXQgd2VyZSB0aGUgZmlyc3Qgc3RlcHMgeW91IHRvb2sgYXQgdGhhdCB0aW1lPyBXZXJlIHlvdSBhbHJlYWR5IGZhbWlsaWFyIHdpdGggTE5Qcywgb3Igd2FzIHRoYXQgYSBjb21wbGV0ZWx5IG5ldyBleHBlcmllbmNlIGZvciB5b3U/XCIgYT1cIkkgc3RhcnRlZCB3b3JraW5nIHdpdGggbmFub3BhcnRpY2xlcyBkdXJpbmcgbXkgYmFjaGVsb3JcdTIwMTlzIHRoZXNpcy4gSSBjb250aW51ZWQgd2l0aCBuYW5vcGFydGljbGVzIGludG8gbXkgbWFzdGVyXHUyMDE5cyB0aGVzaXMsIHdvcmtpbmcgb24gYSBwcm9qZWN0IHJlbGF0ZWQgdG8gY3lzdGljIGZpYnJvc2lzLiBJbml0aWFsbHksIEkgd29ya2VkIHdpdGggbmFuby1jb21wbGV4ZXMsIGJ1dCBsYXRlciBzd2l0Y2hlZCB0byBuYW5vLWNhcHN1bGVzIGR1ZSB0byB0aGVpciBzdGFiaWxpdHksIGVzcGVjaWFsbHkgaW4gY2VsbCBjdWx0dXJlIG1lZGlhLlwiIC8+XG4gICAgPFFhQm94IHE9XCJTaW5jZSB5b3VcdTIwMTlyZSBmb2N1c2VkIG9uIHN0YWJpbGl0eSBhbmQgYXBwbHlpbmcgaGlnaCBzaGVhciBmb3JjZXMsIGNvdWxkIHlvdSBleHBsYWluIHdoeSBuYW5vLWNhcHN1bGVzIGFyZSBtb3JlIHN0YWJsZSB0aGFuIGNvbXBsZXhlcyBpbiB0aGlzIGNvbnRleHQ/XCIgYT1cIk5hbm8tY2Fwc3VsZXMgYXJlIGdlbmVyYWxseSBtb3JlIHN0YWJsZSBpbiBjZWxsIGN1bHR1cmUgbWVkaWEgY29tcGFyZWQgdG8gbmFuby1jb21wbGV4ZXMsIHdoaWNoIG9mdGVuIHJlYWN0IHdpdGggYWRkaXRpdmVzIGFuZCBwcm90ZWlucy4gSG93ZXZlciwgSSBkaWRuXHUyMDE5dCBleHBsb3JlIHNoZWFyIGZvcmNlcyBtdWNoIGZ1cnRoZXIuIE15IG1haW4gZ29hbCB3YXMgdG8gc3RhYmlsaXplIHRoZSBwYXJ0aWNsZXMgaW4gY2VsbCBjdWx0dXJlIG1lZGlhIGZvciB0ZXN0aW5nIG9uIGNlbGxzLlwiIC8+XG4gICAgPFFhQm94IHE9XCJXaGF0IGtpbmQgb2YgY2VsbCBjdWx0dXJlIG1lZGl1bSBkaWQgeW91IHVzZSBmb3IgdGhlc2UgZXhwZXJpbWVudHM/XCIgYT1cIkZvciB0cmFuc2ZlY3Rpb24sIHdlIHVzZWQgT3B0aW1lbSBhcyB0aGUgbWVkaXVtLCBhZnRlciByZW1vdmluZyBhbnRpYmlvdGljcyBmcm9tIHRoZSBjdWx0dXJlIG1lZGl1bSAyNCBob3VycyBwcmlvciB0byB0cmFuc2ZlY3Rpb24uXCIgLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBsb25nIGRpZCBpdCB0YWtlIHlvdSB0byBnZXQgdG8gdGhlIHBvaW50IHdoZXJlIHlvdSB1c2VkIG5hbm8tY2Fwc3VsZXM/XCIgYT1cIkkgb25seSBzdGFydGVkIHdvcmtpbmcgd2l0aCBuYW5vLWNhcHN1bGVzIHRvd2FyZHMgdGhlIGVuZCBvZiBteSBQaEQuIEkgc3BlbnQgbXVjaCBvZiBteSB0aW1lIHdpdGggbmFuby1jb21wbGV4ZXMsIGJ1dCB3aGVuIEkgdmlzaXRlZCBhIGxhYiBpbiBMZWVkcywgSSBzaGlmdGVkIHRvIG5hbm8tY2Fwc3VsZXMuIFRoaXMgdHJhbnNpdGlvbiBoYXBwZW5lZCBxdWl0ZSBsYXRlLCBqdXN0IG1vbnRocyBiZWZvcmUgSSBmaW5pc2hlZCBteSB0aGVzaXMuXCIgLz5cbiAgICA8UWFCb3ggcT1cIllvdSBtZW50aW9uZWQgY2Fwc2FpY2luIGluIHlvdXIgcmVjZW50IHBhcGVyLiBEb2VzIGl0IHNpZ25pZmljYW50bHkgYWZmZWN0IHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LCBhbmQgaXMgaXQgd29ydGggaW5jbHVkaW5nIGluIG91ciBleHBlcmltZW50cz9cIiBhPVwiTm8sIGNhcHNhaWNpbiBkaWRuXHUyMDE5dCBhZmZlY3QgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgaW4gb3VyIGV4cGVyaW1lbnRzLiBJdCB3YXMgaW5jbHVkZWQgdG8gaW5oaWJpdCB0aGUgSW5hLWNoYW5uZWwgYXMgcGFydCBvZiBhIGR1YWwgc3RyYXRlZ3kgdGFyZ2V0aW5nIGJvdGggQ0ZUUiBhbmQgSW5hLWNoYW5uZWxzLCBidXQgaXQgbWlnaHQgbm90IGJlIG5lY2Vzc2FyeSBmb3IgeW91ciBwcm9qZWN0LlwiIC8+XG4gICAgPFFhQm94IHE9XCJXZXJlIHRoZXJlIGFueSBjcml0aWNhbCBjb21wb25lbnRzIGluIHRoZSBmb3JtdWxhdGlvbiBvZiB5b3VyIG5hbm9wYXJ0aWNsZXMgdGhhdCB5b3UgY291bGRuXHUyMDE5dCBkbyB3aXRob3V0P1wiIGE9XCJObywgdGhlIG1haW4gY29tcGFyaXNvbiB3YXMgYmV0d2VlbiBuYW5vLWNvbXBsZXhlcyBhbmQgbmFuby1jYXBzdWxlcy4gTmFuby1jb21wbGV4ZXMgd2VyZSBpbmNvbnNpc3RlbnQgaW4gc2l6ZSBhbmQgc3RhYmlsaXR5LCB3aGlsZSBuYW5vLWNhcHN1bGVzIHdlcmUgc3RhYmxlIGFuZCBzbWFsbGVyLCB3aGljaCBJIGJlbGlldmVkIHdvdWxkIHdvcmsgYmV0dGVyIGluIGxhdGVyIGV4cGVyaW1lbnRzLlwiIC8+XG4gICAgPFFhQm94IHE9XCJJcyB0aGVyZSBhIHdheSB0byBjaGVjayBpZiB0aGUgbVJOQSBzdGlja3MgdG8gdGhlIG91dHNpZGUgb2YgdGhlIG5hbm9wYXJ0aWNsZSBvciBlbmRzIHVwIGluc2lkZT9cIiBhPVwiSSBiZWxpZXZlIHRoZSBtUk5BIHN0aWNrcyB0byB0aGUgb3V0c2lkZS4gVGhlIHByb2Nlc3MgaW52b2x2ZWQgZm9ybWluZyBuYW5vLWNhcHN1bGVzIHVzaW5nIGxlY2l0aGluIGFuZCBvaWwsIGFuZCBhZnRlciB0aGUgZXRoYW5vbCB3YXMgZXZhcG9yYXRlZCwgbVJOQSB3YXMgYWRkZWQgbGFzdC4gVGhlIG1STkEgbGlrZWx5IGFkaGVyZWQgdG8gdGhlIHBvc2l0aXZlbHkgY2hhcmdlZCBjaGl0b3NhbiBvbiB0aGUgb3V0c2lkZSBvZiB0aGUgY2Fwc3VsZS5cIiAvPlxuICAgIDxRYUJveCBxPVwiRG8geW91IHJlbWVtYmVyIHRoZSByYXRpbyBvZiBtUk5BIHRvIG5hbm8tY2Fwc3VsZT9cIiBhPVwiSSBkb25cdTIwMTl0IHJlbWVtYmVyIHRoZSBleGFjdCByYXRpbyBvZmZoYW5kLCBidXQgaXRcdTIwMTlzIGRvY3VtZW50ZWQgaW4gbXkgZGlzc2VydGF0aW9uLiBJIG9wdGltaXplZCB0aGUgYW1vdW50IG9mIG1STkEgdGhhdCBuZWVkZWQgdG8gZW50ZXIgdGhlIGNlbGwgZm9yIGVmZmVjdGl2ZSByZXN1bHRzLCBidXQgZGlkblx1MjAxOXQgZG8gZXh0ZW5zaXZlIHRlc3Rpbmcgd2l0aCBuYW5vLWNhcHN1bGVzLlwiIC8+XG4gICAgPFFhQm94IHE9XCJXYXMgZGV0ZXJtaW5pbmcgdGhlIG9wdGltYWwgYW1vdW50IG9mIG5hbm9wYXJ0aWNsZXMgdHJpYWwgYW5kIGVycm9yP1wiIGE9XCJZZXMsIGRlZmluaXRlbHkuIEl0IGludm9sdmVkIGEgbG90IG9mIG9wdGltaXphdGlvbi5cIiAvPlxuICAgIDxRYUJveCBxPVwiWW91IHVzZWQgdGhlIE1UVCB0ZXN0IGZvciBjeXRvdG94aWNpdHkuIFdvdWxkIHlvdSByZWNvbW1lbmQgaXQgZm9yIHVzLCBvciBhcmUgdGhlcmUgYmV0dGVyIGFsdGVybmF0aXZlcz9cIiBhPVwiWWVzLCB0aGUgTVRUIHRlc3QgaXMgc2ltcGxlIGFuZCByZWxpYWJsZS4gWW91IGp1c3QgbmVlZCB0byBwaXBldHRlIGFjY3VyYXRlbHkuIFdlIHVzZWQgaXQgZnJlcXVlbnRseSwgYW5kIGl0IHdvcmtlZCB3ZWxsLlwiIC8+XG4gICAgPFFhQm94IHE9XCJIb3cgZGlkIHlvdSBhc3Nlc3MgdGhlIHN0YWJpbGl0eSBvZiB0aGUgbmFuby1jYXBzdWxlcz8gRGlkIHlvdSB1c2UgbWljcm9zY29weSBvciBhbm90aGVyIG1ldGhvZD9cIiBhPVwiV2UgdXNlZCBhIGRldmljZSBjYWxsZWQgYSBaZXRhc2l6ZXIsIHdoaWNoIG1lYXN1cmVzIHNpemUsIHpldGEgcG90ZW50aWFsLCBhbmQgcG9seWRpc3BlcnNpdHkgaW5kZXggKFBESSkuIFdlIHVzZWQgaXQgdG8gYXNzZXNzIHN0YWJpbGl0eSBpbiBjZWxsIGN1bHR1cmUgbWVkaXVtIG92ZXIgdGltZSwgZnJvbSBoYWxmIGFuIGhvdXIgdG8gMjQgaG91cnMuXCIgLz5cbiAgICA8UWFCb3ggcT1cIkRvIHlvdSBoYXZlIGFueSBhZHZpY2UgZm9yIG91ciBwcm9qZWN0IG9yIGFueXRoaW5nIHdlIG1pZ2h0IGhhdmUgbWlzc2VkP1wiIGE9XCJJZiB5b3VcdTIwMTlyZSBwbGFubmluZyB0byB1c2UgYSBkaWZmdXNlciBmb3IgbmFzYWwgYWRtaW5pc3RyYXRpb24sIHlvdSBtaWdodCB3YW50IHRvIHRlc3QgdGhlIHN0YWJpbGl0eSBvZiB0aGUgbmFub3BhcnRpY2xlcyBpbiBhIHNhbGluZSBzb2x1dGlvbiBvciBzdGFuZGFyZCBuYXNhbCBzcHJheSBzb2x1dGlvbi4gSXQgY291bGQgYmUgdXNlZnVsIHRvIHNlZSBob3cgdGhleSBiZWhhdmUgaW4gc3VjaCBhIG1lZGl1bS4gT3RoZXJ3aXNlLCBpdCBzZWVtcyBsaWtlIHlvdVx1MjAxOXJlIHdlbGwgYWhlYWQgb2Ygd2hlcmUgSSB3YXMhXCIgLz5cbiAgICA8UWFCb3ggcT1cIlRoYW5rIHlvdSBzbyBtdWNoIGZvciB5b3VyIHRpbWUgYW5kIGluc2lnaHRzIVwiIGE9XCJZb3VcdTIwMTlyZSB3ZWxjb21lISBJXHUyMDE5bSBnbGFkIEkgY291bGQgaGVscC5cIiAvPlxuICAgIDwvPixcbiAgICBzdW1tYXJ5OiBcIldlIGlkZW50aWZpZWQgc2V2ZXJhbCBjcnVjaWFsIGluc2lnaHRzIHRvIGd1aWRlIG91ciBwcm9qZWN0IGRldmVsb3BtZW50LiBOYW5vLWNhcHN1bGVzIHdlcmUgZm91bmQgdG8gYmUgbW9yZSBzdGFibGUgdGhhbiBuYW5vLWNvbXBsZXhlcywgbWFraW5nIHRoZW0gb3VyIHByZWZlcnJlZCBmb3JtdWxhdGlvbiBjaG9pY2UuIFdlIHdpbGwgdXRpbGl6ZSBjaGl0b3NhbiB0byBlbmhhbmNlIG1STkEgc3RhYmlsaXR5IGR1ZSB0byBpdHMgcG9zaXRpdmUgY2hhcmdlLCB3aGlsZSBjYXBzYWljaW4gd2FzIGRlZW1lZCBpcnJlbGV2YW50IGZvciBvdXIgcHVycG9zZXMuIEZvciB0cmFuc2ZlY3Rpb24sIHdlIHdpbGwgdXNlIE9wdGlNRU0gYXMgdGhlIG1lZGl1bSwgcmVtb3ZpbmcgYW50aWJpb3RpY3MgMjQgaG91cnMgcHJpb3IgdG8gdGhlIHByb2NlZHVyZS4gV2Ugd2lsbCBhc3Nlc3Mgc3RhYmlsaXR5IHdpdGggYSBaZXRhc2l6ZXIgYW5kIGV2YWx1YXRlIGN5dG90b3hpY2l0eSB1c2luZyB0aGUgTVRUIHRlc3QuIEFkZGl0aW9uYWxseSwgd2UgYXJlIGV4cGxvcmluZyBuYXNhbCBzcHJheSBhbmQgZHJ5IHBvd2RlciBmb3JtdWxhdGlvbnMgdG8gaW1wcm92ZSBuYW5vcGFydGljbGUgZGVsaXZlcnkuIFRoZXNlIGluc2lnaHRzIHdpbGwgc2lnbmlmaWNhbnRseSBzaGFwZSBvdXIgYXBwcm9hY2ggdG8gb3B0aW1pemluZyBtUk5BIGRlbGl2ZXJ5IHN5c3RlbXMuXCIsXG4gICAgbW9udGhzOiBcIkF1Z3VzdFwiXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJEci5cIixcbiAgICB2b3JuYW1lOiBcIk9saXZlclwiLFxuICAgIG5hY2hubmFtZTogXCJEclx1MDBFNGdlclwiLFxuICAgIGpvYjogXCJCaWVsZWZlbGQgVW5pdmVyc2l0eVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlJlc2VhcmNoIEdyb3VwIENlbGx1bGFyIE5ldXJvcGh5c2lvbG9neVwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2RyYWVnZXInXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIk5ldyBhcHByb2FjaGVzIGluIGVsZWN0cm9waHlzaW9sb2d5IGFuZCB0aGVpciBhcHBsaWNhdGlvbiBpbiBvdXIgcHJvamVjdCAgXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwicGF0Y2hjbGFtcFwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiXCIsXG4gICAgYWltb2Zjb250YWN0Ols8cD48L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPjwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+PC9wPl0sXG4gICAgc3VtbWFyeTogXCJcIixcbiAgICBtb250aHM6IFwiQXVndXN0XCIsXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIkd4UCBjb3Vyc2VcIixcbiAgICBuYWNobm5hbWU6XCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydneHBjb3Vyc2UnXSxcbiAgICB0YWc6IFwiSW5kdXN0cnlcIixcbiAgICBoZWFkaW5nOiBcIlN1Y2Nlc3NmdWwgcGFydGljaXBhdGlvbiBvZiBhIHRlYW0gbWVtYmVyIGluIGEgNSBkYXkgR3hQIGNvdXJzZVwiLFxuICAgIGludGVydmlld3RhYmlkOiBcImd4cGNvdXJzZVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIlRoZSBHWFAgY291cnNlIHdhcyBleHRyZW1lbHkgdXNlZnVsIGFzIGl0IHByb3ZpZGVkIHVzIHdpdGggaW1wb3J0YW50IGtub3dsZWRnZSB0aGF0IHN1cHBvcnRzIG91ciBlbnRpcmUgdGVhbSBpbiBjb21wbHlpbmcgd2l0aCBxdWFsaXR5IHN0YW5kYXJkcy4gVGhpcyBrbm93bGVkZ2Ugd2lsbCBoZWxwIHVzIHRvIG9yZ2FuaXNlIG91ciBwcm9jZXNzZXMgZWZmaWNpZW50bHkgYW5kIGluIGFjY29yZGFuY2Ugd2l0aCByZWd1bGF0aW9ucyBpbiB0aGUgZnV0dXJlLlwiLFxuICAgIHF1b3RlVm9ybmFtZTpcIktheWFcIixcbiAgICBxdW90ZU5hY2huYW1lOlwiTGFuZ2VcIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICB0ZXh0OiBbPHA+SSwgS2F5YSwgVGVhbSBNZW1iZXIgb2YgaUdFTSBCaWVsZWZlbGQgMjAyNCwgcmVjZW50bHkgcGFydGljaXBhdGVkIGluIGFuIGludGVuc2l2ZSBvbmUtd2VlayBHWFAgKEdvb2QgUHJhY3RpY2UpIHRyYWluaW5nIGNvdXJzZSwgd2hpY2ggd2FzIHBpdm90YWwgZXhwZXJpZW5jZSBmb3IgYm90aCBtZSBhbmQgb3VyIHByb2plY3QuIFRoZSBjb3Vyc2UgY292ZXJlZCBlc3NlbnRpYWwgcmVndWxhdG9yeSBmcmFtZXdvcmtzLCBpbmNsdWRpbmc8L3A+LCBcbiAgICAgIDx1bD5cbiAgICAgICAgPGxpPkdvb2QgTGFib3JhdG9yeSBQcmFjdGljZSAoR0xQKTwvbGk+XG4gICAgICAgIDxsaT5Hb29kIENsaW5pY2FsIFByYWN0aWNlIChHQ1ApPC9saT5cbiAgICAgICAgPGxpPkdvb2QgTWFudWZhY3R1cmluZyBQcmFjdGljZSAoR01QKTwvbGk+XG4gICAgICA8L3VsPixcbiAgICAgIDxwPlxuICAgICAgd2hpY2ggYXJlIGFsbCBkZXNpZ25lZCB0byBlbnN1cmUgcXVhbGl0eSwgc2FmZXR5LCBhbmQgY29tcGxpYW5jZSBhY3Jvc3MgZXZlcnkgcGhhc2Ugb2Ygc2NpZW50aWZpYyByZXNlYXJjaCBhbmQgZGV2ZWxvcG1lbnQuICAgICAgXG4gICAgICBBcyB0aGUgaGVhZCBvZiBJbnRlZ3JhdGVkIEh1bWFuIFByYWN0aWNlcywgSSBmb3VuZCB0aGlzIHRyYWluaW5nIHBhcnRpY3VsYXJseSB2YWx1YWJsZS4gSXQgcHJvdmlkZWQgbWUgd2l0aCBhIGRlZXBlciB1bmRlcnN0YW5kaW5nIG9mIHRoZSByaWdvcm91cyBzdGFuZGFyZHMgdGhhdCBuZWVkIHRvIGJlIG1haW50YWluZWQgaW4gcmVzZWFyY2gsIGVzcGVjaWFsbHkgY29uY2VybmluZyBldGhpY3MsIGRhdGEgaW50ZWdyaXR5LCBhbmQgcGF0aWVudCBzYWZldHkuIEkgbGVhcm5lZCBob3cgdG8gcHJvcGVybHkgZG9jdW1lbnQgcmVzZWFyY2ggcHJvY2Vzc2VzLCBlbnN1cmUgdGhlIHJlcHJvZHVjaWJpbGl0eSBvZiByZXN1bHRzLCBhbmQgYXNzZXNzIGFuZCBtaXRpZ2F0ZSByaXNrcywgYWxsIHdoaWxlIGtlZXBpbmcgdGhlIGV0aGljYWwgY29uc2lkZXJhdGlvbnMgb2Ygb3VyIHByb2plY3QgYXQgdGhlIGZvcmVmcm9udC4gXG4gICAgICBJIGhhdmUgYWNxdWlyZWQgdGhlIGFiaWxpdHkgdG8gY3JlYXRlIHN0YW5kYXJkIG9wZXJhdGluZyBwcm9jZWR1cmVzIChTT1BzKSB0aGF0IGd1YXJhbnRlZSB0aGUgdHJhbnNwYXJlbnQgYW5kIHRyYWNlYWJsZSBkb2N1bWVudGF0aW9uIG9mIGVhY2ggc3RhZ2Ugb2YgdGhlIHJlc2VhcmNoIHByb2Nlc3MuIFRoaXMgbm90IG9ubHkgZmFjaWxpdGF0ZXMgaW50ZXJuYWwgb3JnYW5pc2F0aW9uIGJ1dCBpcyBhbHNvIGNydWNpYWwgZm9yIHN1YnNlcXVlbnQgYXBwcm92YWxzIGFuZCBhdWRpdHMgYnkgcmVndWxhdG9yeSBhdXRob3JpdGllcy4gXG4gICAgICBJdCBpcyBvZiBwYXJhbW91bnQgaW1wb3J0YW5jZSB0byBlbnN1cmUgdGhlIHJlcHJvZHVjaWJpbGl0eSBvZiBvdXIgZXhwZXJpbWVudHMgYnkgbWFpbnRhaW5pbmcgYWNjdXJhdGUgcHJvdG9jb2xzIGFuZCBtZXRpY3Vsb3VzbHkgZG9jdW1lbnRpbmcgYWxsIHZhcmlhYmxlcy4gVGhpcyBpcyBvZiBwYXJ0aWN1bGFyIGltcG9ydGFuY2Ugc2hvdWxkIHRoZSBpbnRlbnRpb24gYmUgdG8gcHVyc3VlIGNsaW5pY2FsIHJlc2VhcmNoIGF0IGEgbGF0ZXIgc3RhZ2UsIGFzIHRoZSByZXByb2R1Y2liaWxpdHkgb2YgZXhwZXJpbWVudHMgaXMgYSBjcnVjaWFsIGZhY3RvciBpbiB0aGUgdmFsaWRpdHkgb2YgdGhlIHJlc3VsdHMuIFxuICAgICAgSSBhY3F1aXJlZCBrbm93bGVkZ2Ugb2YgdGVjaG5pcXVlcyBmb3IgcmlzayBhc3Nlc3NtZW50LCBpbmNsdWRpbmcgRmFpbHVyZSBNb2RlIGFuZCBFZmZlY3RzIEFuYWx5c2lzIChGTUVBKS4gVGhpcyBwcm9jZXNzIGVuYWJsZXMgdGhlIGlkZW50aWZpY2F0aW9uIG9mIHBvdGVudGlhbCByaXNrcyBpbiBhIHByb2plY3QgYXQgYW4gZWFybHkgc3RhZ2UsIHRodXMgZmFjaWxpdGF0aW5nIHRoZSBkZXZlbG9wbWVudCBvZiBzdHJhdGVnaWVzIHRvIG1pbmltaXNlIHRoZW0uIFRoaXMgYXBwcm9hY2ggYWxsb3dzIHVzIHRvIGlkZW50aWZ5IGFuZCBhZGRyZXNzIHBvdGVudGlhbCBzb3VyY2VzIG9mIGVycm9yIGJlZm9yZSB0aGV5IGxlYWQgdG8gc2lnbmlmaWNhbnQgaXNzdWVzLiBcbiAgICAgIFRoaXMga25vd2xlZGdlIGlzIGNydWNpYWwgYXMgd2UgdGhpbmsgYWJvdXQgdGhlIGZ1dHVyZSBvZiBvdXIgcHJvamVjdCwgcGFydGljdWxhcmx5IGlmIHdlIGFpbSB0byBtb3ZlIG91ciBnZW5lIHRoZXJhcHkgYXBwcm9hY2ggZm9yIGN5c3RpYyBmaWJyb3NpcyBjbG9zZXIgdG8gY2xpbmljYWwgdHJpYWxzIGFuZCByZWFsLXdvcmxkIGFwcGxpY2F0aW9ucy4gTXkgcGFydGljaXBhdGlvbiBpbiB0aGUgR1hQIHRyYWluaW5nIGhhcyBlcXVpcHBlZCBtZSB3aXRoIHRoZSBuZWNlc3NhcnkgdG9vbHMgdG8gcG90ZW50aWFsbHkgZ3VpZGUgb3VyIHRlYW0gdGhyb3VnaCB0aGUgY29tcGxleCByZWd1bGF0b3J5IGxhbmRzY2FwZSwgZW5zdXJpbmcgb3VyIHdvcmsgcmVtYWlucyBhbGlnbmVkIHdpdGggaW5kdXN0cnkgc3RhbmRhcmRzIGFuZCByZWFkeSBmb3IgdGhlIG5leHQgc3RlcHMgaW4gZGV2ZWxvcG1lbnQuIFxuICAgICAgT25lIG9mIHRoZSBrZXkgc3BlYWtlcnMgZHVyaW5nIHRoZSBHWFAgY291cnNlIHdhcyAgPEhQTGlua3RvT3RoZXJIUFRhYiB0YWI9XCJneHBleHBlcnRcIiB0ZXh0PVwiRHIuIE1hcmN1cyBCZXJnZXJcIiAvPiwgd2hvc2UgZXhwZXJ0aXNlIHdhcyBpbnZhbHVhYmxlIHRvIG1lIGFuZCB0aGUgZW50aXJlIHRlYW0uIEFmdGVyIHRoZSBjb3Vyc2UsIEkgaGFkIHRoZSBvcHBvcnR1bml0eSB0byBhc2sgRHIuIEJlcmdlciBzb21lIHF1ZXN0aW9ucywgZnVydGhlciBkZWVwZW5pbmcgbXkgdW5kZXJzdGFuZGluZyBvZiB0aGUgcHJhY3RpY2FsIGFwcGxpY2F0aW9ucyBvZiBHWFAgaW4gcmVzZWFyY2guIFRoZSBjb25uZWN0aW9uIHdpdGggRHIuIEJlcmdlciBoYXMgYmVlbiBoaWdobHkgYmVuZWZpY2lhbCwgYXMgaGlzIGluc2lnaHRzIGhlbHBlZCBzaGFwZSBrZXkgYXNwZWN0cyBvZiBvdXIgcHJvamVjdFx1MjAxOXMgZGV2ZWxvcG1lbnQgYW5kIGNvbXBsaWFuY2Ugd2l0aCBpbmR1c3RyeSBzdGFuZGFyZHMuIEhpcyBndWlkYW5jZSB3aWxsIGNvbnRpbnVlIHRvIGJlIGEgdmFsdWFibGUgcmVzb3VyY2UgZm9yIG91ciB0ZWFtIG1vdmluZyBmb3J3YXJkLiBcbiAgICAgIFRocm91Z2ggdGhpcyB0cmFpbmluZywgSSBmZWVsIGJldHRlciBwb3NpdGlvbmVkIHRvIGNvbnRyaWJ1dGUgdG8gdGhlIHRlYW1cdTIwMTlzIGVmZm9ydHMsIGVuc3VyaW5nIG91ciBwcm9qZWN0IGFkaGVyZXMgdG8gZ2xvYmFsIHNhZmV0eSBhbmQgZXRoaWNhbCBndWlkZWxpbmVzLiBUaGlzIGV4cGVyaWVuY2UgaGFzIHN0cmVuZ3RoZW5lZCBvdXIgYXBwcm9hY2ggYW5kIHNldCBhIHNvbGlkIGZvdW5kYXRpb24gZm9yIGZ1dHVyZSBwcm9ncmVzcywgZW5zdXJpbmcgdGhhdCBvdXIgcmVzZWFyY2gsIHB1YmxpYyBlbmdhZ2VtZW50LCBhbmQgcG90ZW50aWFsIGNsaW5pY2FsIGFwcGxpY2F0aW9ucyBjb250aW51ZSB0byBtZWV0IHRoZSBoaWdoZXN0IHJlZ3VsYXRvcnkgc3RhbmRhcmRzLiA8L3A+XSxcbiAgICBzdW1tYXJ5OiBcIktheWEsIGEgbWVtYmVyIG9mIHRoZSBpR0VNIEJpZWxlZmVsZCAyMDI0IHRlYW0sIGNvbXBsZXRlZCBhbiBpbnRlbnNpdmUgb25lLXdlZWsgR1hQIChHb29kIFByYWN0aWNlKSB0cmFpbmluZywgd2hpY2ggY292ZXJlZCBHb29kIExhYm9yYXRvcnkgUHJhY3RpY2UgKEdMUCksIEdvb2QgQ2xpbmljYWwgUHJhY3RpY2UgKEdDUCksIGFuZCBHb29kIE1hbnVmYWN0dXJpbmcgUHJhY3RpY2UgKEdNUCkuIFRoZSB0cmFpbmluZyBwcm92aWRlZCB2YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIG1haW50YWluaW5nIGhpZ2ggc3RhbmRhcmRzIG9mIHF1YWxpdHksIHNhZmV0eSwgYW5kIGV0aGljcyB0aHJvdWdob3V0IHRoZSByZXNlYXJjaCBwcm9jZXNzLiBLYXlhIGxlYXJuZWQgY3J1Y2lhbCBza2lsbHMsIHN1Y2ggYXMgZG9jdW1lbnRpbmcgcmVzZWFyY2ggcHJvY2Vzc2VzIGZvciByZXByb2R1Y2liaWxpdHksIGNyZWF0aW5nIHN0YW5kYXJkIG9wZXJhdGluZyBwcm9jZWR1cmVzIChTT1BzKSwgYW5kIGNvbmR1Y3RpbmcgcmlzayBhc3Nlc3NtZW50cyB1c2luZyB0ZWNobmlxdWVzIGxpa2UgRmFpbHVyZSBNb2RlIGFuZCBFZmZlY3RzIEFuYWx5c2lzIChGTUVBKS4gVGhpcyBrbm93bGVkZ2UgaXMgZXNzZW50aWFsIGZvciBhZHZhbmNpbmcgdGhlaXIgY3lzdGljIGZpYnJvc2lzIGdlbmUgdGhlcmFweSBwcm9qZWN0IHRvd2FyZCBjbGluaWNhbCB0cmlhbHMgYW5kIGVuc3VyaW5nIGNvbXBsaWFuY2Ugd2l0aCByZWd1bGF0b3J5IHN0YW5kYXJkcy4gRHIuIE1hcmN1cyBCZXJnZXIsIGEga2V5IHNwZWFrZXIgaW4gdGhlIGNvdXJzZSwgcHJvdmlkZWQgYWRkaXRpb25hbCBndWlkYW5jZSwgb2ZmZXJpbmcgdmFsdWFibGUgaW5zaWdodHMgdGhhdCB3aWxsIGNvbnRpbnVlIHRvIGJlbmVmaXQgdGhlIHRlYW0uXCIsXG4gICAgbW9udGhzOiBcImF1Z3VzdFwiLFxuICAgIHBpY3R1cmV1cmxfaW1wbGVtZW50YXRpb246IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL2d4cC9neHAtY291cnNlLWtheWEud2VicFwiLFxuICAgIHBpY3R1cmV1cmxfaW50ZXJ2aWV3OlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL2d4cC9neHAtY291cnNlLWdyb3VwLndlYnBcIixcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiQ29ubmVjdCBhbmQgU2hhcmVcIixcbiAgICBuYWNobm5hbWU6IFwiXCIsXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICBqb2I6IFwiVGVhbSBpR0VNXCIsXG4gICAgYWZmaWxpYXRpb246IFwiQmllbGZlbGQgQ2VCaVRlYyAyMDI0XCIsXG4gICAgdGFnOiBcIk1pbGVzdG9uZVwiLFxuICAgIGhlYWRpbmc6IFwiQnJhaW5zdG9ybWluZyBhbmQgc2VsZWN0aW9uIG9mIGlkZWFzIGFuZCBjb25jZXB0c1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImNvbm5lY3RcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gICAgdHlwZTogXCJtZXRhXCIsXG4gICAgc3VtbWFyeTogXCJcIixcbiAgICBtb250aHM6IFwiYXVndXN0XCJcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIlwiLFxuICAgIHZvcm5hbWU6IFwiTWljaGFlbFwiLFxuICAgIG5hY2hubmFtZTogXCJKb2hhbm5mdW5rZVwiLFxuICAgIGpvYjogXCJSZXByZXNlbnRhdGl2ZSBib2R5IGZvciBzZXZlcmVseSBkaXNhYmxlZCBwZXJzb25zXCIsXG4gICAgYWZmaWxpYXRpb246IFwiVW5pdmVyc2l0eSBCaWVsZWZlbGRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydqb2hhbm5mdW5rZSddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiSHlnaWVuZSBjb25jZXB0IGZvciBzdHVkZW50cyB3aXRoIGRpc2FiaWxpdGllcyBhbmQgaW1tdW5vY29tcHJvbWlzZWQgZW1wbG95ZWVzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiam9oYW5uZnVua2VcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJUaGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIGh5Z2llbmUgY29uY2VwdCBpcyBwcm92aW5nIG1vcmUgZGlmZmljdWx0IHRoYW4gZXhwZWN0ZWQgZHVlIHRvIHRoZSBidXJlYXVjcmFjeSBhdCB0aGUgdW5pdmVyc2l0eS4gTmV2ZXJ0aGVsZXNzLCB0aGUgaW50ZXJ2aWV3IGdhdmUgdXMgYSBnb29kIGluc2lnaHQgaW50byB0aGlzIGxhYnlyaW50aCBvZiByZWd1bGF0aW9ucyBhbmQgd2UgZ290IHN0YXJ0ZWQgdGhlIHByb3plc3Mgb2YgaW1wbGVtZW50YXRpb24uXCIsXG4gICAgcXVvdGVWb3JuYW1lOiBcIlZlcmFcIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIktcdTAwRjZobGVyXCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+V2UgY29udGFjdGVkIHRoZSB1bml2ZXJzaXR5IGJlY2F1c2Ugb2YgdGhlIHVyZ2VudCBuZWVkIHRvIGFkZHJlc3MgdGhlIGlzc3VlIG9mIGh5Z2llbmUgZm9yIHN0dWRlbnRzIGFuZCBzdGFmZiwgcGFydGljdWxhcmx5IHRob3NlIHdpdGggaW1tdW5vY29tcHJpc2VkIHN0dWRlbnRzIGFuZCBzdGFmZi4gVGhlcmUgd2FzIGEgbmVlZCB0byBkZXZlbG9wIGFuIGVmZmVjdGl2ZSBoeWdpZW5lIGNvbmNlcHQgdG8gZW5zdXJlIHRoZSBoZWFsdGggYW5kIHNhZmV0eSBvZiB0aGVzZSBwZW9wbGUuIFdlIGRldmVsb3BlZCB0aGlzIGNvbmNlcHQgaW4gY29sbGFib3JhdGlvbiB3aXRoIDxIUExpbmt0b090aGVySFBUYWIgdGFiPVwibWF4Zmlyc3RcIiB0ZXh0PVwiTWF4XCIgLz4sIG91ciBDRiBmcmllbmQuIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+V2UgbGVhcm50IHRoYXQgb3VyIGh5Z2llbmUgY29uY2VwdCBpcyB2ZXJ5IHdlbGwtZGV2ZWxvcGVkLiBCdXQgYWx0aG91Z2ggYSB3ZWxsLWRldmVsb3BlZCBoeWdpZW5lIGNvbmNlcHQgaXMgYWxyZWFkeSBleGlzdGluZywgc3RyYXRlZ2ljIGRldmVsb3BtZW50IGFuZCBhIHN0ZXAtYnktc3RlcCBhcHByb2FjaCBhcmUgbmVlZGVkLiBJbiBwYXJ0aWN1bGFyLCB0aGUgc3RlcC1ieS1zdGVwIGltcGxlbWVudGF0aW9uIHdhcyBlbXBoYXNpemVkLCBsaWtlIHN0YXJ0aW5nIHdpdGggZXF1aXBwaW5nIHRoZSB0b2lsZXRzLiBCdXJlYXVjcmF0aWMgaHVyZGxlcywgc3VjaCBhcyB0aGUgbmVlZCB0byBhcHBseSB0byB0aGUgcmVjdG9yYXRlLCB3ZXJlIGlkZW50aWZpZWQgYXMgYSBtYWpvciBjaGFsbGVuZ2UuIEluIGFkZGl0aW9uLCBpdCBiZWNhbWUgY2xlYXIgdGhhdCB0aGVyZSBpcyBhIGdyZWF0IG5lZWQgZm9yIHNhbml0YXJ5IGZhY2lsaXRpZXMgYW5kIGZhY2lsaXRpZXMgZm9yIHRoZSBkaXNhYmxlZCwgZXNwZWNpYWxseSBkdWUgdG8gdGhlIG5lZWRzIG9mIHN0dWRlbnRzIGFuZCBzdGFmZiB3aXRoIGhlYWx0aCBwcm9ibGVtcy4gSW50ZXJhY3Rpb24gYW5kIG5ldHdvcmtpbmcgd2l0aCBvdGhlciB1bml2ZXJzaXRpZXMgd2FzIGFsc28gY29uc2lkZXJlZCB2YWx1YWJsZS4gPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5UaGUgbmV4dCBwaGFzZSBvZiBkZXZlbG9waW5nIGEgbmV3IGh5Z2llbmUgY29uY2VwdCBpcyB0byBtYWludGFpbiBjb250YWN0IHdpdGggTXIuIEpvaGFubmZ1bmtlIGluIG9yZGVyIHRvIGNvbnRpbnVlIHRvIGFkdmFuY2UgdGhlIGh5Z2llbmUgY29uY2VwdCBpbiBjb2xsYWJvcmF0aW9uLiBUaGUgc3RyYXRlZ2ljIGFwcHJvYWNoIGVudGFpbHMgdGhlIGluY3JlbWVudGFsIGltcGxlbWVudGF0aW9uIG9mIG1lYXN1cmVzLCBleGVtcGxpZmllZCBieSB0aGUgZXN0YWJsaXNobWVudCBvZiB0aGUgaW5hdWd1cmFsIHRvaWxldCBmYWNpbGl0eSB3aXRoaW4gdGhlIG1haW4gYnVpbGRpbmcuIEl0IGlzIG9mIHRoZSB1dG1vc3QgaW1wb3J0YW5jZSB0byBlbnN1cmUgdGhlIHVuaW50ZXJydXB0ZWQgaW1wbGVtZW50YXRpb24gb2YgdGhlIGh5Z2llbmUgY29uY2VwdC4gSW4gb3JkZXIgdG8gYWNoaWV2ZSB0aGlzLCBpdCBpcyBlc3NlbnRpYWwgdG8gZHJhdyB1cG9uIHRoZSBleGlzdGluZyBwbGFucyBhbmQgbWVhc3VyZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBpbXBsZW1lbnRlZCBpbiBuZXcgYnVpbGRpbmdzLiAgV2UgYXJlIHdvcmtpbmcgb24gYWR2YW5jaW5nIHRoZSBwbGFucyBhdCBhIGhpZ2hlciBsZXZlbCBhbmQgYXJlIGluIHJlZ3VsYXIgZGlhbG9ndWUgd2l0aCB0aGUgQ2VudHJhbCBjb250YWN0IHBvaW50IEJhcnJpZXItZnJlZSBpbiBvcmRlciB0byBvdmVyY29tZSBidXJlYXVjcmF0aWMgaHVyZGxlcyBhbmQgYWN0aXZlbHkgcHJvbW90ZSB0aGUgdG9waWMuIEZ1cnRoZXJtb3JlLCBpdCBpcyBuZWNlc3NhcnkgdG8gaW50ZW5zaWZ5IGxvYmJ5aW5nIHdvcmsgaW4gb3JkZXIgdG8gZ2FpbiBncmVhdGVyIHN1cHBvcnQgZm9yIHRoaXMgaXNzdWUgYXQgYm90aCB0aGUgdW5pdmVyc2l0eSBhbmQgcG9saXRpY2FsIGxldmVscy4gPC9wPl0sXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBpbnRlcnZpZXc6IDw+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgZG8geW91IHRoaW5rIG9mIG91ciBoeWdpZW5lIGNvbmNlcHQgYW5kIG91ciBwbGFuP1wiIGE9XCJUaGlzIGlzIGEgdmVyeSBhY3V0ZSBwcm9ibGVtLiBJdCBwYXJ0aWN1bGFybHkgYWZmZWN0cyBzdHVkZW50cyB3aXRoIGRpc2FiaWxpdGllcyBhbmQgaW1tdW5lLWNvbXByb21pc2VkIHN0YWZmLCBzdWNoIGFzIHRob3NlIHdpdGggY2FuY2VyIG9yIGN5c3RpYyBmaWJyb3Npcywgd2hvIGFyZSBmb3JjZWQgdG8gd29yayBmcm9tIGhvbWUuIFRoZSBwcm9ibGVtIGlzOiBFbXBsb3llZXMgY2FuIHdvcmsgZnJvbSBob21lLCBidXQgc3R1ZGVudHMgY2Fubm90LiBUaGVyZSBpcyBhIGdyZWF0IG5lZWQgZm9yIGh5Z2llbmUgbWVhc3VyZXMsIGFzIGNvbnRhY3QgbXVzdCBiZSBhdm9pZGVkIHRvIG1pbmltaXNlIHRoZSByaXNrIG9mIGluZmVjdGlvbi5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IGFyZSB0aGUgY2hhbGxlbmdlcyBpbiBpbXBsZW1lbnRpbmcgdGhlIGh5Z2llbmUgY29uY2VwdD9cIiBhPVwiVGhlcmUgaXMgYSBsYWNrIG9mIHN0cmF0ZWdpYyBkZXZlbG9wbWVudCwgYWx0aG91Z2ggeW91ciBoeWdpZW5lIGNvbmNlcHQgaXMgd2VsbCBkZXZlbG9wZWQuIEl0IGlzIG5lY2Vzc2FyeSB0byBwcm9jZWVkIGluIHNtYWxsIHN0ZXBzLCBlLmcuIHN0YXJ0aW5nIHdpdGggYSB0b2lsZXQgaW4gdGhlIG1haW4gYnVpbGRpbmcuIEhvd2V2ZXIsIGJ1cmVhdWNyYWN5IGlzIGEgbWFqb3Igb2JzdGFjbGUuIFRvIGJlIGltcGxlbWVudGVkLCBhbiBhcHBsaWNhdGlvbiBoYXMgdG8gYmUgc3VibWl0dGVkIHRvIHRoZSByZWN0b3JhdGUsIGFuZCB0aGVzZSBwcm9jZXNzZXMgYXJlIG9mdGVuIGxlbmd0aHkgYW5kIGNvbXBsaWNhdGVkLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgaXMgdGhlIGN1cnJlbnQgc2l0dWF0aW9uIGF0IG91ciB1bml2ZXJzaXR5P1wiIGE9XCJXaGlsZSBzb21lIHByb2dyZXNzIGhhcyBiZWVuIG1hZGUgd2l0aCB0aGUgaW5zdGFsbGF0aW9uIG9mIGFkZGl0aW9uYWwgdG9pbGV0cyBhbmQgZGlzYWJsZWQtZnJpZW5kbHkgdG9pbGV0cyBpbiBuZXcgYnVpbGRpbmdzLCB0aGVyZSBpcyBhcyB5ZXQgbm8gb3ZlcmFyY2hpbmcgc3RyYXRlZ3kgaW4gcGxhY2UgdG8gZ3VpZGUgZnV0dXJlIGRldmVsb3BtZW50cy4gRnVydGhlcm1vcmUsIHRoZSBsYWNrIG9mIGNsYXJpdHkgcmVnYXJkaW5nIHRoZSBtaXNzaW9uIHN0YXRlbWVudCBhbmQgb2JqZWN0aXZlcyBsZWF2ZXMgcm9vbSBmb3IgYW1iaWd1aXR5LiBUaGUgZHV0eSBvZiBjYXJlIHRoYXQgZW1wbG95ZXJzIGhhdmUgdG93YXJkcyBlbXBsb3llZXMgaXMgZXN0YWJsaXNoZWQsIHlldCB0aGUgc2l0dWF0aW9uIGlzIHJlZ3VsYXRlZCBkaWZmZXJlbnRseSB3aXRoIHJlZ2FyZHMgdG8gc3R1ZGVudHMuIFRoZSBwb3NzaWJpbGl0eSBvZiByZWNlaXZpbmcgY29tcGVuc2F0aW9uIGZvciBkaXNhZHZhbnRhZ2VzIGlzIG9wZW4sIGJ1dCBpcyBmcmVxdWVudGx5IHNlZW4gYXMgaW5hZGVxdWF0ZS5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IGFyZSB0aGUgbmV4dCBzdGVwcyBpbiBpbXBsZW1lbnRpbmcgdGhlIGh5Z2llbmUgY29uY2VwdD9cIiBhPVwiSXQgaXMgZXNzZW50aWFsIHRoYXQgdGhlIGNvbmNlcHQgYmUgaW1wbGVtZW50ZWQgaW4gc21hbGwsIHN0cmF0ZWdpYyBzdGVwcy4gQXQgdGhlIHNhbWUgdGltZSwgaXQgaXMgdml0YWwgdGhhdCB0aGUgcmVjdG9yYXRlIGFuZCBvdGhlciBkZWNpc2lvbi1tYWtlcnMgYmUgY29uc3VsdGVkIG9uIGEgcmVndWxhciBiYXNpcyB0byBlbnN1cmUgdGhhdCB0aGlzIG1hdHRlciByZW1haW5zIGF0IHRoZSBmb3JlZnJvbnQgb2YgZGlzY3Vzc2lvbnMuIEZ1cnRoZXJtb3JlLCBpdCBpcyBvZiBncmVhdCBpbXBvcnRhbmNlIHRvIGVuZ2FnZSBpbiBwb2xpdGljYWwgbG9iYnlpbmcgdG8gc2VjdXJlIGFkZGl0aW9uYWwgc3VwcG9ydCBmb3IgdGhpcyBpc3N1ZS5cIiAvPlxuICAgIDwvPixcbiAgICBzdW1tYXJ5OiBcIldlIGdvdCBpbiB0b3VjaCBiZWNhdXNlIHRoZXJlIHdhcyBhbiBhY3V0ZSBoeWdpZW5lIHByb2JsZW0gZm9yIHBhcnRpY3VsYXJseSB2dWxuZXJhYmxlIGdyb3VwcyBsaWtlIGltbXVub2NvbXByaXNlZCBwZXJzb25zIGF0IHRoZSB1bml2ZXJzaXR5LiBXZSBsZWFybnQgZnJvbSB0aGUgZXhjaGFuZ2UgdGhhdCBkZXNwaXRlIGEgd2VsbC1kZXZlbG9wZWQgaHlnaWVuZSBwb2xpY3ksIHN0cmF0ZWdpYyBzdGVwcyBhcmUgc3RpbGwgbmVlZGVkLCBlc3BlY2lhbGx5IHRvIG92ZXJjb21lIGJ1cmVhdWNyYXRpYyBodXJkbGVzLiBXZSBoYXZlIGludGVncmF0ZWQgdGhlc2UgbGVzc29ucyBpbnRvIG91ciBwcm9qZWN0IGJ5IGZvY3VzaW5nIG9uIGNvbnRpbnVvdXMgY29sbGFib3JhdGlvbiB3aXRoIHRoZSBDZW50cmFsIGNvbnRhY3QgcG9pbnQgQmFycmllci1mcmVlIGFuZCBvdGhlciBkZWNpc2lvbi1tYWtlcnMuXCIsXG4gICAgbW9udGhzOiBcIlNlcHRlbWJlclwiXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJEci5cIixcbiAgICB2b3JuYW1lOiBcIlNyaXJhbVwiLFxuICAgIG5hY2hubmFtZTogXCJWYWlkeWFuYXRoYW4gXCIsXG4gICAgam9iOiBcIlByaW5jaXBsZSBpbnZlc3RpZ2F0b3IgYXQgTmF0aW9ud2lkZSBDaGlsZHJlblx1MjAxOXMgSG9zcGl0YWwgYW5kIGFzc2lzdGFudCBwcm9mZXNzb3IgUGVkaWF0cmljXHUyMDE5cyBhdCB0aGUgT2hpbyBTdGF0ZSBVbml2ZXJzaXR5IENvbGxlZ2Ugb2YgTWVkaWNpbmUgXCIsXG4gICAgYWZmaWxpYXRpb246IFwiTmF0aW9ud2lkZSBDaGlsZHJlblx1MjAxOXMgSG9zcGl0YWxcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiRjUwOGRlbCBtdXRhdGlvbiBjb25maXJtZWQgYXMgdGhlIG1vc3QgY29tbW9uIENGVFIgbXV0YXRpb24gd29ybGR3aWRlLCBpbmNsdWRpbmcgQXNpYVwiLFxuICAgIGludGVydmlld3RhYmlkOiBcInNyaXJhbVwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwiSSB0aGluayB5b3UncmUgdGhpbmtpbmcgYWJvdXQgaXQgdGhlIHJpZ2h0IHdheS5bLi4uXSBJIHdvdWxkIGhhdmUgdGFsa2VkIHRvIGFsbCBvZiB0aGUgZXhhY3QgcGVvcGxlIHRoYXQgeW91IGhhdmUgYWxyZWFkeSBzcG9rZW4gd2l0aC5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5UaGUgb2JqZWN0aXZlIG9mIHRoaXMgY29udGFjdCB3YXMgdG8gZ2F0aGVyIGZ1cnRoZXIgaW5mb3JtYXRpb24gYWJvdXQgY3lzdGljIGZpYnJvc2lzIChDRikgaW4gQXNpYSwgd2l0aCBhIHBhcnRpY3VsYXIgZm9jdXMgb24gdW5kZXJzdGFuZGluZyBwb3RlbnRpYWwgZGF0YSBiaWFzZXMsIGlkZW50aWZ5aW5nIGNvbW1vbiBtdXRhdGlvbnMsIGV4cGxvcmluZyB0aGUgYXZhaWxhYmxlIG1lZGljYXRpb25zLCBhbmQgYXNzZXNzaW5nIHRoZSBkaWFnbm9zdGljIHByYWN0aWNlcyBpbiB0aGUgcmVnaW9uLiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPlRoZSB0YWxrIHdpdGggU3JpcmFtIHJldmVhbGVkIHRoYXQsIGFsdGhvdWdoIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGlzIHJlbGF0aXZlbHkgdW5jb21tb24gaW4gQXNpYSBjb21wYXJlZCB0byBvdGhlciBkaXNlYXNlIGxpa2Ugc2lja2xlIGNlbGwgZGlzZWFzZSwgaXQgbmV2ZXJ0aGVsZXNzIGV4aGliaXRzIGNvbnNpZGVyYWJsZSBnZW5ldGljIGRpdmVyc2l0eS4gVGhlIGlkZW50aWZpY2F0aW9uIG9mIGRpZmZlcmVudCBtdXRhdGlvbnMgaW4gdGhlIENGVFIgZ2VuZSBhY3Jvc3MgdGhlIHJlZ2lvbiBoYXMgcmV2ZWFsZWQgdGhhdCB0aGUgRjUwOGRlbCBtdXRhdGlvbiBpcyB0aGUgbW9zdCBjb21tb24sIGEgZmluZGluZyB0aGF0IGFsaWducyB3aXRoIGdsb2JhbCBwYXR0ZXJucy4gSG93ZXZlciwgaW4gQXNpYW4gcG9wdWxhdGlvbnMsIG90aGVyIHJhcmUgbXV0YXRpb25zIGFyZSBhbHNvIHByZXZhbGVudCwgd2hpY2ggcHJlc2VudHMgdW5pcXVlIGNoYWxsZW5nZXMgaW4gZGlhZ25vc2lzIGFuZCB0cmVhdG1lbnQuXG4gICAgICBBZGRpdGlvbmFsbHksIGl0IHdhcyBmb3VuZCB0aGF0IGVudmlyb25tZW50YWwgZmFjdG9ycywgc3VjaCBhcyBhaXIgcG9sbHV0aW9uLCBzZXJ2ZSB0byBleGFjZXJiYXRlIHRoZSBzeW1wdG9tcyBvZiBDRiwgcGFydGljdWxhcmx5IGluIGRlbnNlbHkgcG9wdWxhdGVkIHJlZ2lvbnMsIHRoZXJlYnkgZnVydGhlciBjb21wbGljYXRpbmcgdGhlIG1hbmFnZW1lbnQgb2YgdGhlIGRpc2Vhc2UuIFRoaXMgZW1waGFzaXNlcyB0aGUgbmVjZXNzaXR5IGZvciBmdXJ0aGVyIHJlc2VhcmNoIG9uIENGIHRoYXQgaXMgc3BlY2lmaWNhbGx5IHRhaWxvcmVkIHRvIHRoZSBuZWVkcyBvZiBkaWZmZXJlbnQgcmVnaW9ucywgaW5jbHVkaW5nIGltcHJvdmVtZW50cyBpbiBkaWFnbm9zdGljIHRlY2huaXF1ZXMgYW5kIHRoZSBkZXZlbG9wbWVudCBvZiB0cmVhdG1lbnRzIHRoYXQgYXJlIG1vcmUgY2xvc2VseSBhbGlnbmVkIHdpdGggdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgcG9wdWxhdGlvbnMgaW4gcXVlc3Rpb24uIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+VGhlIGRhdGEgd2VyZSBpbmNvcnBvcmF0ZWQgYnkgY29uZmlybWluZyB0aGF0IHRoZSBGNTA4ZGVsIG11dGF0aW9uIGlzIG5vdCBvbmx5IHRoZSBtb3N0IGNvbW1vbiBpbiBFdXJvcGUgYnV0IGFsc28gZ2xvYmFsbHksIGluY2x1ZGluZyBpbiBBc2lhLCBoaWdobGlnaHRpbmcgYSBicm9hZGVyIHBlcnNwZWN0aXZlIGFuZCBjb250cmlidXRpbmcgdG8gYSBzaWduaWZpY2FudCBob3Jpem9uIGV4cGFuc2lvbiBpbiB1bmRlcnN0YW5kaW5nIHRoZSBtdXRhdGlvbidzIHdvcmxkd2lkZSBwcmV2YWxlbmNlLiBUaGlzIGZpbmRpbmcgbGVuZHMgc3VwcG9ydCB0byB0aGUgaWRlYSB0aGF0IGV4aXN0aW5nIHRoZXJhcGllcyB0YXJnZXRpbmcgdGhlIEY1MDhkZWwgbXV0YXRpb24gd2lsbCBiZSBlZmZlY3RpdmUgZm9yIG1hbnkgcGF0aWVudHMgd29ybGR3aWRlLCB0aGVyZWJ5IHByb3ZpZGluZyBhIHNvbGlkIGZvdW5kYXRpb24gZm9yIHRyZWF0bWVudC4gQXMgYSBzdGFydGluZyBwb2ludCwgdGhpcyBpcyBwcm9taXNpbmcsIGJ1dCBmdXR1cmUgZWZmb3J0cyB3aWxsIGZvY3VzIG9uIGFkYXB0aW5nIHRoZXJhcGllcyB0byBhZGRyZXNzIG90aGVyLCByYXJlciBtdXRhdGlvbnMgZm91bmQgaW4gc3BlY2lmaWMgcG9wdWxhdGlvbnMuXG4gICAgPC9wPl0sXG4gICAgc3VtbWFyeTogXCJUaGUgY29udGFjdCBwcm92aWRlZCB2YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGluIEFzaWEgYW5kIGNvbmZpcm1lZCB0aGF0IHRoZSBGNTA4ZGVsIG11dGF0aW9uIGlzIHRoZSBtb3N0IGNvbW1vbiwgYXMgaXQgaXMgZ2xvYmFsbHkuIEhvd2V2ZXIsIHRoZSBnZW5ldGljIGRpdmVyc2l0eSBvYnNlcnZlZCBpbiBBc2lhLCB0b2dldGhlciB3aXRoIHRoZSBleGFjZXJiYXRpb24gb2Ygc3ltcHRvbXMgYnkgZW52aXJvbm1lbnRhbCBmYWN0b3JzIHN1Y2ggYXMgYWlyIHBvbGx1dGlvbiwgaGlnaGxpZ2h0cyB0aGUgbmVlZCBmb3IgbW9yZSByZWdpb24tc3BlY2lmaWMgcmVzZWFyY2guIEZ1dHVyZSBlZmZvcnRzIHdpbGwgZm9jdXMgb24gcmVmaW5pbmcgdHJlYXRtZW50cyBmb3IgcmFyZXIgbXV0YXRpb25zIGFuZCBpbXByb3ZpbmcgZGlhZ25vc3RpYyBhY2N1cmFjeSBpbiBBc2lhbiBwb3B1bGF0aW9ucy5cIixcbiAgICBtb250aHM6IFwiU2VwdGVtYmVyXCIsXG4gICAgaW50ZXJ2aWV3Ojw+XG4gICAgPFFhQm94IHE9XCJTaG91bGQgd2UgZXhwbGFpbiBvdXIgcHJvamVjdCBhIGxpdHRsZSBiaXQgaW4gdGhlIGJlZ2lubmluZz9cIiBhPVwiVGhhdCB3b3VsZCBiZSBncmVhdC5cIi8+XG4gICAgPFFhQm94IHE9XCJPa2F5LiBBcyBJIHdyb3RlIHRvIHlvdSBpbiB0aGUgZW1haWwsIHdlIGFyZSBwYXJ0IG9mIHRoZSBCaWVsZWZlbGQtQ2VCaVRlYyBpdGVtIHRlYW0gaW4gR2VybWFueSB0aGlzIHllYXIsIGFuZCB3ZSBoYXZlIGEgcHJvamVjdCBjYWxsZWQgUHJlY3lzZSwgd2hlcmUgd2Ugd2FudCB0byBkZXZlbG9wIGEgcGxhdGZvcm0gZm9yIG5leHQtZ2VuZXJhdGlvbiBwcmltZSBlZGl0aW5nLiBXaXRoIHRoYXQsIHdlIGFpbSB0byB0YWNrbGUgQ0YgbXV0YXRpb25zLCBzdGFydGluZyB3aXRoIHRoZSBGNTA4ZGVsIG11dGF0aW9uLiBUaGUgY29tcGxleCBzaG91bGQgYmUgYWRhcHRhYmxlIGZvciBkaWZmZXJlbnQgbXV0YXRpb25zIHdpdGggbWlub3IgY2hhbmdlcy4gRXNzZW50aWFsbHksIHdlIHdhbnQgdG8gb3BlcmF0ZSBsaWtlIENhcy1iYXNlZCBwcm9qZWN0cyB1c2luZyBwcmltZSBlZGl0aW5nIHRvb2xzIGJ1dCBtYXkgdHJhbnNpdGlvbiB0byB1c2luZyBhIGZhbnpvciBuaWNrYXNlIGluIHRoZSBmdXR1cmUuIEN1cnJlbnRseSwgd2UgYXJlIHdvcmtpbmcgb24gYSBkZWxpdmVyeSBzeXN0ZW0gdXRpbGl6aW5nIGxpcGlkIG5hbm9wYXJ0aWNsZXMgdG8gdHJhbnNwb3J0IG91ciBjb21wbGV4IGludG8gdGhlIGx1bmdzLiBUaGVzZSBuYW5vcGFydGljbGVzIHdpbGwgYmUgbG9hZGVkIHdpdGggbVJOQSBhbmQgZGVzaWduZWQgZm9yIGluaGFsYXRpb24sIHNpbWlsYXIgdG8gaG93IGFzdGhtYSBtZWRpY2F0aW9ucyBhcmUgZGVsaXZlcmVkLiBPdXIgZ29hbCBpcyB0byBhZHZhbmNlIHBlcnNvbmFsaXplZCBtZWRpY2luZSBhbmQgaW1wcm92ZSB0aGUgc3RhbmRhcmQgb2YgbGl2aW5nIGZvciB0aG9zZSBhZmZlY3RlZCBieSB0aGUgZGlzZWFzZSwgZXNwZWNpYWxseSBzaW5jZSBhIGZyaWVuZCBvZiBvbmUgb2Ygb3VyIHRlYW0gbWVtYmVycyBoYXMgY3lzdGljIGZpYnJvc2lzIGFuZCBzaGFyZXMgaW5zaWdodHMgb24gdGhlIGNoYWxsZW5nZXMgZmFjZWQgYnkgdGhvc2Ugd2l0aCB0aGUgY29uZGl0aW9uLlwiIGE9XCJUaGF0J3MgYSB2ZXJ5IG5pY2Ugc3VtbWFyeS4gSSBoYXZlIGEgY291cGxlIG9mIGNsYXJpZnlpbmcgcXVlc3Rpb25zLiBBcmUgeW91IHVuZGVyZ3JhZHVhdGVzP1wiIC8+XG4gICAgPFFhQm94IHE9XCJObywgd2UgYXJlIG92ZXJncmFkdWF0ZXMgYXQgdGhlIFVuaXZlcnNpdHkgb2YgQmllbGVmZWxkLlwiIGE9XCJPaCwgZ3JlYXQhIFNvLCBob3cgYXJlIHlvdSBvcHRpbWl6aW5nIHByaW1lIGVkaXRpbmcsIGFuZCB3aG8gaXMgaGVscGluZyB5b3Ugd2l0aCB0aGlzIHByb2Nlc3M/XCIgLz5cbiAgICA8UWFCb3ggcT1cIldlIHRyaWVkIHRvIHJlYWNoIG91dCB0byBEci4gTGl1LCBidXQgaGUgaGFzbid0IHJlc3BvbmRlZCB5ZXQuXCIgYT1cIllvdSBzaG91bGQgYWxzbyBjb250YWN0IE1hcmlhbm5lIENhcmxvbiBpbiBMZXV2ZW4sIEJlbGdpdW0uIFRoZXkgZGlkbid0IHdvcmsgb24gRGVsdGEgRjUwOCwgYnV0IE1hdHRpanMgaXMgYSBncmFkdWF0ZSBzdHVkZW50IHRoZXJlIGFuZCBjb3VsZCBiZSBoZWxwZnVsLlwiIC8+XG4gICAgPFFhQm94IHE9XCJXZVx1MjAxOXZlIGFscmVhZHkgYmVlbiBpbiB0b3VjaCB3aXRoIE1hdHRpanM7IGhlXHUyMDE5cyBiZWVuIHZlcnkgbmljZS5cIiBhPVwiUGVyZmVjdCEgWW91J3JlIHJlYWNoaW5nIG91dCB0byB0aGUgcmlnaHQgcGVvcGxlLiBBcmUgeW91IGF3YXJlIG9mIHRoZSBMaXUgbGFiJ3MgTmF0dXJlIEJpb21lZGljYWwgRW5naW5lZXJpbmcgcGFwZXIgdGhhdCBvcHRpbWl6ZXMgcHJpbWUgZWRpdGluZz9cIiAvPlxuICAgIDxRYUJveCBxPVwiWWVzLCB3ZSBhcmUgYXdhcmUgb2YgaXQuXCIgYT1cIkdyZWF0ISBIb3cgY2FuIEkgaGVscCB5b3UgZnVydGhlcj9cIiAvPlxuICAgIDxRYUJveCBxPVwiV2UgaGF2ZSBzb21lIHF1ZXN0aW9ucyBhYm91dCBjeXN0aWMgZmlicm9zaXMgKENGKSBpbiBBc2lhLCBzcGVjaWZpY2FsbHkgYWJvdXQgaXRzIHBlcmNlaXZlZCByYXJpdHkgYW5kIGl0cyBpbXBhY3Qgb24gZGlhZ25vc2lzIGFuZCByZXNlYXJjaCBlZmZvcnRzLlwiIGE9XCJJIGNhbiBzaGFyZSBzb21lIGluc2lnaHRzLiBXaGlsZSBDRiBpcyBvZnRlbiBjb25zaWRlcmVkIHJhcmUgaW4gQXNpYSwgaXQncyBlc3NlbnRpYWwgdG8gcmVjb2duaXplIHRoYXQgaXQgYWZmZWN0cyB2YXJpb3VzIHBvcHVsYXRpb25zLiBJbiBteSBsYWIsIHdlIGFuYWx5emUgQ0YtY2F1c2luZyBtdXRhdGlvbnMgYWNyb3NzIGRpZmZlcmVudCBwb3B1bGF0aW9ucyB1c2luZyBkYXRhIGZyb20gTm9tYWQsIHdoaWNoIGZvY3VzZXMgb24gZ2VuZXRpYyBhbmNlc3RyeSByYXRoZXIgdGhhbiBzZWxmLWlkZW50aWZpZWQgcmFjZS4gQ0YgaXMgbW9zdCBwcmV2YWxlbnQgaW4gaW5kaXZpZHVhbHMgb2YgRXVyb3BlYW4gb3JpZ2luLCBidXQgaXQgcmVtYWlucyBjb21tb24gYWNyb3NzIG1hbnkgcG9wdWxhdGlvbnMgd29ybGR3aWRlLCBwYXJ0aWN1bGFybHkgaW4gU291dGggQXNpYSBhbmQgb3RoZXIgcmVnaW9ucywgYWx0aG91Z2ggRWFzdCBBc2lhIGhhcyBsb3dlciBwcmV2YWxlbmNlIHJhdGVzLlwiIC8+XG4gICAgPFFhQm94IHE9XCJUaGF0XHUyMDE5cyBoZWxwZnVsLiBDYW4geW91IGV4cGxhaW4gaG93IHRoZSBwZXJjZWl2ZWQgcmFyaXR5IG9mIENGIGltcGFjdHMgZGlhZ25vc2lzIGFuZCByZXNlYXJjaCBpbiBBc2lhP1wiIGE9XCJUaGUgcGVyY2VwdGlvbiBvZiBDRiBhcyBhICd3aGl0ZSBwZW9wbGUgZGlzZWFzZScgbGVhZHMgdG8gdW5kZXJkaWFnbm9zaXMgYW5kIGZld2VyIHJlc2VhcmNoIGVmZm9ydHMgaW4gQXNpYW4gcG9wdWxhdGlvbnMuIEZvciBpbnN0YW5jZSwgaW4gSW5kaWEsIHBoeXNpY2lhbnMgYXJlIG1vcmUgZmFtaWxpYXIgd2l0aCBjb25kaXRpb25zIGxpa2Ugc2lja2xlIGNlbGwgZGlzZWFzZSBhbmQgdGhhbGFzc2VtaWEsIGxlYWRpbmcgdG8gbGltaXRlZCBhd2FyZW5lc3Mgb2YgQ0YuIEVhcmx5IGRpYWdub3NpcyBpcyBjaGFsbGVuZ2luZyBkdWUgdG8gdGhlIGxhY2sgb2Ygc2NyZWVuaW5nIHByb2dyYW1zIGZvciBDRiwgYW5kIGN1cnJlbnRseSwgbWFueSByZWdpb25zIGFyZSBvbmx5IGJlZ2lubmluZyB0byBpbXBsZW1lbnQgc3dlYXQgY2hsb3JpZGUgdGVzdGluZy5cIiAvPlxuICAgIDxRYUJveCBxPVwiVGhhbmsgeW91ISBXaGF0IG11dGF0aW9ucyBhcmUgbW9yZSBjb21tb24gaW4gQXNpYT9cIiBhPVwiRGVsdGEgRjUwOCBpcyBzdGlsbCB0aGUgbW9zdCBmcmVxdWVudCB2YXJpYW50IGFjcm9zcyBkaWZmZXJlbnQgcG9wdWxhdGlvbnMsIGJ1dCBpdHMgZnJlcXVlbmN5IGRlY3JlYXNlcyBpbiBub24tRXVyb3BlYW4gZ3JvdXBzLiBXaGlsZSB0aGVyZSBhcmUgc2V2ZXJhbCBvdGhlciBjb21tb24gdmFyaWFudHMsIHRoZXkgZG8gbm90IHJlc3BvbmQgdG8gbW9kdWxhdG9yIHRoZXJhcGV1dGljcywgd2hpY2ggY29tcGxpY2F0ZXMgdHJlYXRtZW50IG9wdGlvbnMuIEZvY3VzaW5nIG9uIERlbHRhIEY1MDggaXMgc2Vuc2libGUsIGJ1dCB5b3UgbWlnaHQgZmFjZSBjaGFsbGVuZ2VzIGluIGZpbmRpbmcgaW5kaXZpZHVhbHMgd2l0aCBvdGhlciB2YXJpYW50cyBkdWUgdG8gdGhlIGxpbWl0ZWQgYXdhcmVuZXNzIGFuZCBzY3JlZW5pbmcgZm9yIENGIGluIHRob3NlIHBvcHVsYXRpb25zLlwiIC8+XG4gICAgPFFhQm94IHE9XCJPa2F5LiBCdXQgeW91IHdvdWxkIHNheSB0aGF0IHRoZSBvdGhlciBtdXRhdGlvbnMgYXJlIGEgYml0IHVuZGVyLXJlc2VhcmNoZWQsIHJpZ2h0P1wiIGE9XCJUaGV5IGFyZSBjb21wbGV0ZWx5IHVuZGVyLXJlc2VhcmNoZWQsIHJpZ2h0PyBMaWtlIEkgaGF2ZSBub3Qgc2VlbiBhbnlib2R5IHdvcmsgb24gTDIxOFguIEkgZGlkbid0IGV2ZW4ga25vdyBMMjE4WCBleGlzdGVkIHVudGlsIEkgc3RhcnRlZCBsb29raW5nIGludG8gdGhhdCBncm91cC4gQW5kIGl0IHNlZW1zIGxpa2UgTDIxOFgsIEkndmUgbm90IHNlZW4gaXQgaW4gYW55IG90aGVyIHBvcHVsYXRpb24gdGhhdCBmcmVxdWVudGx5LiBTbyBhIGxvdCBvZiB0aGVzZSB2YXJpYW50cyBzZWVtIHRvIGJlIHVuaXF1ZS4gSSBkb24ndCBrbm93IGlmIHRoZXkncmUgY29tcGxldGVseSB1bmlxdWUgdG8gU291dGggQXNpYW5zIG9yIGlmIHlvdSBnbyB0byBJcmFuIG9yIHNvbWV0aGluZywgd2hldGhlciB5b3UncmUgZ29pbmcgdG8gc3RhcnQgZmluZGluZyB0aGVzZSBwZW9wbGUgb3Igd2hldGhlciBpZiB5b3UgZ28gdG8gU291dGhlYXN0IEFzaWEsIHRoZW4geW91J3JlIGdvaW5nIHRvIHN0YXJ0IGZpbmRpbmcgc29tZSBvZiB0aGVzZSBwZW9wbGUsIHJpZ2h0PyBTbyB3ZSBkb24ndCBrbm93IHRoYXQsIGJ1dCBJIHRoaW5rIGl0IHdpbGwgYmUgcmVhbGx5IGhhcmQgZm9yIHlvdSB0byBmaW5kIGNlbGxzIHdpdGggdGhlc2UgdmFyaWFudHMuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hhdCBkbyB5b3UgYmVsaWV2ZSwgd2hhdCBzdGVwcyBzaG91bGQgYmUgZG9uZSBpbiB0aGUgc2NpZW50aWZpYyBjb21tdW5pdHkgdG8gZW5zdXJlIGJldHRlciByZXByZXNlbnRhdGlvbiBvZiBBc2lhbiBwb3B1bGF0aW9ucywgb3IgaW4gZ2VuZXJhbCwgbm90IG9ubHkgV2VzdGVybiBwb3B1bGF0aW9ucywgaW4gdGhlIGdlbmV0aWMgc3R1ZGllcyBmb3IgY3lzdGljIGZpYnJvc2lzP1wiIGE9XCJBaCwgaXQncyBhIHZlcnkgZ29vZCBxdWVzdGlvbjsgaXQncyBhbHNvIGEgcXVlc3Rpb24gdGhhdCBkb2Vzbid0IGhhdmUgYSB2ZXJ5IHN0cmFpZ2h0Zm9yd2FyZCBhbnN3ZXIsIHJpZ2h0PyBJbiB0aGUgc2Vuc2UgdGhhdCBvbmUsIHlvdSBrbm93LCB5b3UgaGF2ZSB0byByYWlzZSBhd2FyZW5lc3MgYW5kIGVuc3VyZSB0aGF0IHBlb3BsZSBhcmUgZ2V0dGluZyBkaWFnbm9zZWQsIHRoYXQncyBzdGVwIG51bWJlciBvbmUsIHJpZ2h0LiBBIGxvdCBvZiB0aGUgbnVtYmVycyB0aGV5IHNob3dlZCB5b3UgYXJlIGJhc2VkIG9uIHByZWRpY3Rpb247IHRoZXkncmUgbm90IGJhc2VkIG9uIGEgcmVnaXN0cnkgaW4gYW55IGNvdW50cnkgd2l0aCBzb21lIG9mIHRoZXNlIHBvcHVsYXRpb25zLCByaWdodC4gSW5kaWEgZG9lc24ndCBoYXZlIGEgcmVnaXN0cnksIENoaW5hIGRvZXNuJ3QgaGF2ZSBhIHJlZ2lzdHJ5LiBUaGVyZSBhcmUgZWZmb3J0cyB0byBtYWtlIGEgcmVnaXN0cnksIGJ1dCB5b3Uga25vdyBpdCdzIGEgbGl0dGxlIGhhcmQgdG8gZ2V0IHN0YXJ0ZWQgd2hlbiB5b3Uga25vdyBpZiB5b3UgZ28gYW5kIGFyZ3VlIHRoYXQgdGhlcmUgYXJlIDYsMDAwIGNoaWxkcmVuIHdpdGggQ0YgdGhhdCBhcmUgYmVpbmcgYm9ybiBpbiBhIHllYXIgaW4gSW5kaWEsIGFuZCB0aGVuIHRoZSByZXNwb25zZSB0aGF0IEkndmUgcmVjZWl2ZWQgYmVmb3JlIGlzIHdlbGwsIHRoZXJlIGFyZSBhYm91dCA2MCwwMDAga2lkcyBkeWluZyBvZiBkaWFycmhlYSwgYW5kIHlvdSBrbm93IHNvIHRoZSBwcmlvcml0eSBmcm9tIHB1YmxpYyBoZWFsdGggaXMgb2Z0ZW4gZGlmZmVyZW50LiBJdCdzIHN0YXJ0aW5nIHRvIGNoYW5nZS4gU28gb25lIGZvY3VzIHdvdWxkIGJlIGRpYWdub3NpcyBhbmQgcmFpc2luZyBhd2FyZW5lc3MsIGFuZCBpZiB5b3UgY29tZSBhY3Jvc3MgZ3JvdXBzIHRoYXQgYXJlIHRyeWluZyB0byBpbXByb3ZlIHRoZWlyIGFiaWxpdHkgdG8gZGlhZ25vc2UgdGhlbiB5b3UgdHJ5IHRvIGhlbHAgdGhlbSwgcmlnaHQuIFdoYXQncyB5b3VyIG90aGVyIHF1ZXN0aW9uIGluIHRlcm1zIG9mIHRyZWF0bWVudCBhbmQgcmVzZWFyY2g/IEkgdGhpbmsgYmVpbmcgYXdhcmUgb2YgaXQgaWYgeW91IGRvIGVuZCB1cCBmaW5kaW5nIHNhbXBsZXMgdGhhdCBoYXZlIHNvbWUgb2YgdGhlc2UgdW5pcXVlIHZhcmlhbnRzLiBSaWdodCB0aGVuLCB0cnlpbmcgdG8gZm9ybSBhIHN0cmF0ZWd5IGFyb3VuZCBpdCBpcyBub3QgYmFkOyBJJ3ZlIHNlZW4gcGVvcGxlIGlkZW50aWZ5IHZhcmlhbnRzIG9mIENGIHRoYXQgYXJlIHVuaXF1ZSB0byBkaWZmZXJlbnQgcG9wdWxhdGlvbnMuIEkgdGhpbmsgZXZlbiBNYXJpYW5uZSBDYXJsb24ncyBncm91cCBwaWNrZWQgdXAgdmFyaWFudHMgdGhhdCBhcmUgdW5pcXVlIHRvIEJlbGdpdW0gYW5kIHRoZW4gdHJpZWQgcHJpbWUgZWRpdGluZyBvbiB0aGF0IHJpZ2h0LCBzbyB0aG9zZSBzb3J0IG9mIHN0cmF0ZWdpZXMgaGVscCBxdWl0ZSBhIGJpdCwgcmlnaHQ/IEFuZCB0aGlzIGlzIHBhcnRpYWxseSB0aGUgcmVhc29uIHlvdSBrbm93IEkgY29udGludWUgdG8gZm9jdXMgb24gbXV0YXRpb24tYWdub3N0aWMgc3RyYXRlZ2llczsgSSd2ZSBub3QgcmVhbGx5IGJyYW5jaGVkIG91dCBpbnRvIHRoZSBQcmltZSBFZGl0aW5nIHdvcmxkIG9yIHRoZSBCYXNlIEVkaXRpbmcgd29ybGQgcHJpbWFyaWx5IGJlY2F1c2UgdGhpcyBzZWVtcyB0byBiZSBhIHByZXR0eSBjaGFsbGVuZ2luZyBpc3N1ZSwgYnV0IHRoYXQgc2FpZCwgeW91IHdhbnQgYXMgbWFueSBzaG90cyBhdCBnb2FsIGFzIHBvc3NpYmxlLiBTbywgeW91IGtub3csIGlmIHlvdSdyZSBhYmxlIHRvIHVzZSBwcmltZSBlZGl0aW5nIHRvIGZpeCBEZWx0YSA1MDgsIHRoYXQgc3RpbGwgaGVscHMgdGhlIG1vc3QgbnVtYmVyIG9mIHBlb3BsZSB3aXRoIENGLiBBbmQgdGhlbiBtYXliZSwgeW91IGtub3csIHlvdSBjb3VsZCB1c2UgdGhhdCBwbGF0Zm9ybSB0aGF0J3MgcmVhbGx5IHdlbGwgdmFsaWRhdGVkIGF0IHRoYXQgcG9pbnQsIHRoZW4gZ28gc3RhcnQgdGFyZ2V0aW5nIGluZGl2aWR1YWwgdmFyaWFudHMuIFRoZSBvdGhlciBpZGVhIHdpdGggcHJpbWUgZWRpdGluZyBpcyB0aGF0IHRoZXJlJ3MgaG9wZSB0aGF0IHlvdSBjYW4gcHJvYmFibHkgYXQgbGVhc3QgdHJ5IHRvIHJlcGxhY2Ugb25lIGV4b24gYXQgYSB0aW1lLiBBbmQgdGhhdCBzb3J0IG9mIG1ha2VzIHRoaW5ncyBhIGxpdHRsZSBiaXQgbW9yZSBtYW5hZ2VhYmxlLCByaWdodD8gU28gaWYgeW91LCB5b3Uga25vdywgaXQncyBhIGxpdHRsZSBiaXQgbW9yZSwgbGlrZSBpZiB5b3UgaGF2ZSB0byB0YXJnZXQgZXZlcnkgc2luZ2xlIHZhcmlhbnQsIHRoZW4geW91J3JlIHRoaW5raW5nIGFib3V0IGh1bmRyZWRzIG9mIGRpZmZlcmVudCBtZWRpY2FsIHByb2R1Y3RzLiBCdXQgaWYgeW91J3JlIHRoaW5raW5nIG9mIHJlcGxhY2luZyBldmVyeSBleG9uLCB0aGF0J3MgMjcsIHRoYXQncyBhIGNvdW50YWJsZSBudW1iZXIuIEFuZCBJIHdvdWxkIGFyZ3VlIHRoYXQgeW91IGRvbid0IGV2ZW4gaGF2ZSB0byBkbyBhbGwgMjcuIFlvdSBzdGFydCB3aXRoIHRoZSBob3RzcG90cywgcmlnaHQ/IFlvdSBzdGFydCB3aXRoIGV4b24gMTEsIHlvdSBzdGFydCB3aXRoIGV4b24gMTIuIEJ1dCB0aGVuIGFzIHBhcnQgb2YgdGhlIGNvbnZlcnNhdGlvbiwgSSB0aGluayB3ZSBzaG91bGQganVzdCBiZSB0aGlua2luZyBhYm91dCBleG9ucyB0aGF0IG1pZ2h0IGJlIGhvdHNwb3RzIGZvciB2YXJpYW50cyBpbiBvdGhlciBwb3B1bGF0aW9ucyBhbmQgYXQgbGVhc3QsIHlvdSBrbm93LCBrZWVwaW5nIHRoZW0gc29tZXdoZXJlIGluIHRoZSBwYWNraW5nIG9yZGVyIHNvIHRoYXQgYXMgeW91IGdvIHRocm91Z2ggdGhlIG1vc3QgZnJlcXVlbnQgdmFyaWFudHMsIHJpZ2h0PyBBbmQgeW91J3JlIHN0YXJ0aW5nIHRvIGRldmVsb3Agc3RyYXRlZ2llcyBmb3IgdGhlIG1vc3QgZnJlcXVlbnQgdmFyaWFudHMuIFRob3NlIGFyZSBvbiB0aGUgbGlzdCBzbyB0aGF0IHdlIGV2ZW50dWFsbHkgZ2V0IHRvIHRoZW0uXCIvPlxuICAgIDxRYUJveCBxPVwiWWVhaC4gT2theS4gQW5kIHdoYXQgZG8geW91IHRoaW5rPyBBcmUgdGhlcmUgYW55IGhlYWx0aGNhcmUgY2hhbGxlbmdlcyBtYW5hZ2luZyBjeXN0aWMgZmlicm9zaXMgaW4gQXNpYW4gY291bnRyaWVzP1wiIGE9XCJPaCwgYWJzb2x1dGVseS4gUmlnaHQuIEkgdGhpbmssIHlvdSBrbm93LCBpZiB5b3UncmUgaW4gYSBoaWdoLWluY29tZSBjb3VudHJ5IGxpa2UgSmFwYW4sIEkgdGhpbmssIHlvdSBrbm93LCB0aGUgYmlnZ2VzdCBjaGFsbGVuZ2UgaXMgYXdhcmVuZXNzIGFuZCBnZXR0aW5nIGRpYWdub3NlZC4gSWYgeW91J3JlIGluIGxvdy0gYW5kIG1pZGRsZS1pbmNvbWUgY291bnRyaWVzLCByaWdodCwgdGhlbiB0aGUgY2hhbGxlbmdlIGJlY29tZXMgYWNjZXNzIHRvIGRydWdzLiBTbyBtb2R1bGF0b3JzIGFyZSBub3QgYXZhaWxhYmxlIGluIG1vc3Qgb2YgQXNpYSwgb3IgYXQgbGVhc3QgaW4gdGhlIGxvd2VyIGFuZCBtaWRkbGUtaW5jb21lIGNvdW50cmllcyBpbiBBc2lhLCB0aGF0J3Mgbm90IGF2YWlsYWJsZSwgbGlrZSwgaXQncyBub3QgYXZhaWxhYmxlIGZvciBzYWxlLiBQcmltYXJpbHksIHBhcnRseSBiZWNhdXNlIHRoZXkgdGhpbmsgdGhhdCB0aG9zZSBwZW9wbGUsIGxpa2UgcGVvcGxlIGF0IENGLCBkb24ndCBleGlzdCBpbiBlbm91Z2ggbnVtYmVycyBpbiB0aG9zZSBjb3VudHJpZXMuIEFuZCBwYXJ0bHkgYmVjYXVzZSB0aGVuIGl0IGNyZWF0ZXMgcHJvYmxlbXMgaW4gdGVybXMgb2YgbW9uZXRhcnksIGxpa2UgZmFjdG9ycywgcmlnaHQuIEluIHRlcm1zIG9mIGhvdyBtdWNoIHRoZXkgY2hhcmdlIGZvciB0aGUgbW9kdWxhdG9ycy4gUmlnaHQuIFNvIHRob3NlIGRvbid0IGV4aXN0LiBJIGRvbid0IGtub3csIGxpa2UgdGhleSBoYXZlIGFjY2VzcyB0byBwYW5jcmVhdGljIGVuenltZXMgYW5kIHRoaW5ncyBsaWtlIHRoYXQsIGJ1dCwgeW91IGtub3csIHJlZ3VsYXIgYWNjZXNzIHRvIHJlZ3VsYXIgY2FyZSBpcyBzdGlsbCBhIGNoYWxsZW5nZS4gVGhlIGJhc2Ugb2YgcGh5c2ljaWFucyB0aGF0IGFyZSBmYW1pbHkgd2l0aCB0cmVhdGluZyBDRiBpcyBvbmx5IGdyb3dpbmcgaW4gc29tZSBvZiB0aG9zZSBwbGFjZXMgYXQgbGVhc3QgZnJvbSBteSBwZXJzb25hbCBleHBlcmllbmNlIGJ1dCBpdFx1MjAxOXMgbm90IGJ5IHdoZXJlIHdlIGFyZS4gVGhlIGNoaWxkcmVuIHRoZXJlIGFyZSBzdGlsbCBtb3N0bHkgcGFzc2luZyBhd2F5IHdoZW4gdGhleSBhcmUgaW4gdGhlaXIgdGVlbmFnZSB5ZWFycyBvciBlYXJseSB0d2VudGllcy4gVGhlIHNvcnQgb2YgbGlmZSBzcGFuIGFuZCBsaWZlIGV4cGVjdGFuY3kgaXMgbm8gd2hlcmUgY2xvc2UgdG8gd2hhdCB5b3Ugd291bGQgc2VlIGluIGhpZ2gtaW5jb21lIGNvdW50cmllcy4gU28sIEkgdGhpbmsgdGhhdCBpcyB0aGUgYmlnZ2VzdCBjaGFsbGVuZ2UsIGFjY2VzcyB0byByZXNvdXJjZXMgYm90aCwgcHVibGljbHkgYW5kIGFsc28gZnJvbSBhIHByaXZhdGUgcG9pbnQuXCIvPlxuICAgIDxRYUJveCBxPVwiT2theS4gQW5kIGRvIHlvdSB0aGluayB0aGF0IHRoZSBlbnZpcm9ubWVudGFsIG9yIGxpa2UgcG9sbHV0aW9uIGlzIGRvaW5nLCBsaWtlLCBJIGRvbid0IGtub3cgaG93IHRvIHNheSBpdCBjb3JyZWN0bHkuIFNvIHRoYXQgdGhlcmUgYXJlIGxpa2UgcmVzcGlyYXRvcnkgY2hhbGxlbmdlcyBiZWNhdXNlLCB5ZWFoLCByaWdodC5cIiBhPVwiQWJzb2x1dGVseSEgUmlnaHQuIEl0J3MsIHlvdSBrbm93LCB5b3VyIGV4cG9zdXJlIHRvIHBhdGhvZ2VucyBpcyBoaWdoZXIuIFlvdXIgZXhwb3N1cmUgdG8gcG9sbHV0aW9uIGlzIHNpZ25pZmljYW50bHkgaGlnaGVyIGluIGEgbG90IG9mIHRoZXNlIGNvdW50cmllcywgcmlnaHQ/IEV2ZW4gQ2hpbmEsIHdoaWNoIGlzLCB5b3Uga25vdywgbXVjaCBiZXR0ZXIgb2ZmIHRoYW4gYSBjb3VudHJ5IGxpa2UgSW5kaWEgc3RpbGwgaGFzIGEgbG90IG9mIHBvbGx1dGlvbiwgcmlnaHQ/IEFuZCBzbywgb3IgSSd2ZSBuZXZlciBiZWVuIHRvIENoaW5hLCBidXQgYXQgbGVhc3QgdGhhdCdzIHdoYXQgSSByZWFkLCByaWdodD8gQnV0IEluZGlhLCBJIGdyZXcgdXAgdGhlcmUgYW5kIEkgY2FuIGZpcnN0aGFuZCB0ZWxsIHlvdSB0aGF0IHRoZXJlJ3MgYSBsb3Qgb2YgcG9sbHV0aW9uIHRoZXJlLCByaWdodD8gQW5kIHRoYXQgSSdtIHN1cmUgaXQgYWZmZWN0cyBpdCBiZWNhdXNlIGl0J3MgYmVlbiBkb2N1bWVudGVkIHRvIGFmZmVjdCBwZW9wbGUsIGp1c3QgcGVvcGxlIHdpdGhvdXQgQ0YsIHJpZ2h0PyBPbiBhbiBhdmVyYWdlLCBpdCdzIHN1cHBvc2VkIHRvIGxpa2UsIHRoZSByZXBvcnRzIHRoYXQgSSd2ZSBzZWVuIGFyZSBsaWtlLCBpdCB0YWtlcyBhIGZldyB5ZWFycyBvZmYgb2YgbGlmZSBleHBlY3RhbmN5IGZvciBldmVuIHBlb3BsZSB0aGF0IGhhdmUgbm90IGJlZW4gZGlhZ25vc2VkIHdpdGggYW55dGhpbmcgZWxzZSwgcmlnaHQ/IFNvIEknbSBzdXJlIGlmIHRoZXJlJ3MgYSBwZXJzb24gd2l0aCBDRiwgdGhlbiB0aGF0J3MgZ29pbmcgdG8gYWZmZWN0IHRoZW0gZXZlbiBtb3JlIG5lZ2F0aXZlbHkgaW4gcGxhY2VzIGxpa2UgSW5kaWEuIEFuZCB0aGVuIEkgdGhpbmsgdGhhdCB0aGUgZXhwb3N1cmUgdG8gcGF0aG9nZW5zIG1pZ2h0IGJlIHNsaWdodCwgaXQgbWlnaHQgYmUgaGlnaGVyIGFuZCB0aGUgbG93ZXIgZG93biBpbiB0aGUgZWNvbm9taWMgc2NhbGUgeW91IGdvLCB0aGUgbW9yZSwgdGhlIGV4cG9zdXJlIHRvIHBhdGhvZ2VucyBhcmUgZ29pbmcgdG8gaGF2ZSwgcmlnaHQ/IEkgdGhpbmsgdGhlIHRoaXJkIGZhY3RvciB3b3VsZCBhbHNvIG1pZ2h0IGJlIG51dHJpdGlvbiwgcmlnaHQ/IExpa2UsIHNvIGlmIHlvdSBoYXZlIENGLCB5b3UsIHlvdSBrbm93LCBoZXJlLCBvbmUgd2F5IHRoZXkgd2VyZSBtYW5hZ2luZyBpdCB3YXMgdGhyb3VnaCBoaWdoIGZhdCBjYWxvcmllIHJpY2ggZGlldCBhbmQgYWNjZXNzIHRvIHRob3NlIHNvcnQgb2YgaGlnaCBmYXQgY2Fsb3JpZSByaWNoIGRpZXRzIG1heSBub3QgYmUgdGhhdCBwcmV2YWxlbnQgaW4gc29tZSBvZiB0aGVzZSBvdGhlciBwbGFjZXMuIEFuZCBzbyB0aGF0IG1pZ2h0IGJlY29tZSBhIGZhY3Rvci5cIi8+XG4gICAgPFFhQm94IHE9XCJPa2F5LiBBbmQgdGhlbiBvbmUgbGFzdCBxdWVzdGlvbi4gU28gaXQncyBtb3JlIGEgYml0IGFib3V0IHlvdSBhbmQgeW91ciByZXNlYXJjaC4gU28gd2hhdCBkcmV3IHlvdXIgYXR0ZW50aW9uIHRvIHRoZSBpc3N1ZSBvZiBDRiBpbiBBc2lhPyBTbyB3aHkgZGlkIHlvdSBzdGFydCByZXNlYXJjaGluZyB0aGlzIHRvcGljP1wiIGE9XCJPaCwgc28gdGhhdCB3YXMgYSB2ZXJ5IG9rYXkuIFNvIHRoZSB3YXkgaXQgaGFwcGVuZWQgd2FzIEkgd2FzIGF0IGEgY29uZmVyZW5jZSBhbmQgSSB3YXMgYSBwb3N0ZG9jIGF0IFN0YW5mb3JkIHByZXZpb3VzbHksIGFzIHlvdSBrbm93LiBTbyBJIHdhcyBhdCBhIGNvbmZlcmVuY2UgYW5kIEkgd2FzLCB3ZSB3ZXJlIGp1c3QsIEkgdGhpbmsgaGFkIGEgc29ydCBvZiBhLCB5b3Uga25vdywgYSBkaW5uZXIgZm9yIGV2ZXJ5Ym9keSBmcm9tIG91ciBpbnN0aXR1dGlvbi4gQW5kIEkgd2FzIGNoYXR0aW5nIHdpdGggdGhlIG51cnNlIGluIHRoZSB0YWJsZSBhbmQgc2l0dGluZyBpbiB0aGUgdGFibGUgYW5kIHNvIHRoZSBTYW4gRnJhbmNpc2NvIGFyZWEgaGFzIGEgbG90IG9mIHBlb3BsZSBmcm9tIEFzaWEuIEFuZCBzbyB0aGUgbnVyc2UgcGFydGljdWxhcmx5IHNhaWQgdGhhdCB0aGV5IGhhZCBhIGxvdCBvZiBjaGlsZHJlbiB3aXRoIENGIHdobyBoYXBwZW5lZCB0byBvcmlnaW5hdGUgaW4gSW5kaWEsIHdoaWNoIHJlYWxseSBzdXJwcmlzZWQgbWUgYmVjYXVzZSB0aGF0J3Mgbm90IGEgZGlzZWFzZSB0aGF0IEknZCBoZWFyZCBncm93aW5nIHVwIGFzIGJlaW5nIHNvbWUsIGEgY29tbW9uIGdlbmV0aWMgZGlzZWFzZSB0aGVyZS4gUmlnaHQuIEFuZCBzbyB0aGF0IGtpbmQgb2YgZHJldyBteSBhdHRlbnRpb24uIEFuZCB0aGVuIGluIHN1YnNlcXVlbnQgY29udmVyc2F0aW9ucywgd2hlbiBJIHNwb2tlIHdpdGggcGh5c2ljaWFucyB3aG8gYXJlIHByYWN0aWNpbmcgaW4gSW5kaWEsIG5vYm9keSBzYWlkIHRoYXQgdGhleSBoYWRuJ3Qgc2VlbiBwZW9wbGUgd2l0aCBDRiwgcmlnaHQ/IFdoZW5ldmVyIEkgaGFkIHRoZSBjb252ZXJzYXRpb24sIHBlb3BsZSB3b3VsZCBiZSBsaWtlLCBvaCB5ZWFoLCBJJ3ZlIHNlZW4gYSBwYXRpZW50IHdpdGggQ0Ygb3IgSSBrbm93IG9mIHNvbWVib2R5IHRoYXQgaGFzIGEgY2hpbGQgd2l0aCBDRiwgcmlnaHQ/IFdoaWNoIHdhcyBzdXJwcmlzaW5nLiBBbmQgdGhlbiB3aGVuIEkgd2VudCB0byBJbmRpYSwgSSB3ZW50IHRvIGEgaG9zcGl0YWwgaW4gbXkgaG9tZXRvd24gYW5kIEkgd2FzIHRhbGtpbmcgdG8gdGhlIHB1bG1vbm9sb2dpc3QgdGhlcmUuIEFuZCBoZSBzYWlkIGhlIGhhZCAzMCBvciA0MCBwYXRpZW50cyB3aXRoIENGIGluIHRoYXQsIGp1c3QgdGhhdCBob3NwaXRhbC4gQW5kIHRoYXQncywgeW91IGtub3csIGl0J3Mgbm90IGV2ZW4sIHlvdSBrbm93LCBpdCdzIHByb2JhYmx5IG9uZSBvZiB0aGUgYmlnZ2VyIGNpdGllcyBpbiBJbmRpYSwgYnV0IEkgd291bGRuJ3QgZXZlbiBrbm93IGlmIGl0J3MgaW4gdGhlIHRvcCAxMCBiaWdnZXN0IGNpdGllcyBpbiBJbmRpYS4gQW5kIHRoaXMgaXMgbm90IGV2ZW4gdGhlIGJpZ2dlc3QgY2VudGVyIGluIHRoYXQgY2l0eSBuZWNlc3NhcmlseS4gUmlnaHQuIFNvIEkgd2FzIGp1c3QgcmVhbGx5IHN1cnByaXNlZC4gQW5kIGhlIHNhaWQgaGUgZGlkbid0IGhhdmUgdG8gcmVhbGx5IHB1dCBpbiBhbnkgZWZmb3J0IHRvIGdvIHNlZWsgb3V0IGFueSBwZW9wbGUgd2l0aCBDRi4gVGhpcyB3YXMganVzdCBpbiB0aGUgcGVvcGxlIHRoYXQgd2Fsa2VkIGludG8gdGhhdCBob3NwaXRhbCB0aGF0IGdvdCBkaWFnbm9zZWQgd2l0aCBDRiwgcmlnaHQ/IFNvIHRoYXQga2luZCBvZiBzb2xpZGlmaWVkIHRoZSBwZXJjZXB0aW9uIHRoYXQgcGVyaGFwcyBpdCB3YXMgdW5kZXJkaWFnbm9zZWQuIEFuZCB0aGVuIHRoZSByZWFzb24gaXQgaGFwcGVuZWQgd2FzIGJlY2F1c2UgdGhlIHBhbmRlbWljIHNvcnQgb2YgZm9yY2VkIG1vc3Qgb2YgdXMgb3V0IG9mIHRoZSBsYWIuIEFuZCBzbyB0aGlzIGVuZGVkIHVwIGJlaW5nIHNvbWV0aGluZyB5b3UgY2FuIGFjdHVhbGx5IHdvcmsgb24gd2l0aG91dCBnb2luZyB0byBsYWIuXCIvPlxuICAgIDxRYUJveCBxPVwiWWVhaCwgc291bmRzIHJlYWxseSBpbnRlcmVzdGluZyB0aGUgd2F5IHlvdSBnb3QgdGhlcmUuIGF0IHRoZSBiZWdpbm5pbmcsIHlvdSBzYWlkIHlvdSBjb3VsZCB0ZWxsIHVzIHNvbWV0aGluZywgd2hhdCBjYW1lIHRvIHlvdSBpbiBtaW5kIHdoZW4geW91IGhlYXJkIGFib3V0IFByb2plY3QgRmlyc3QsIGFuZCB5b3UgYWxyZWFkeSBwcmVwYXJlZCBzb21lIHNsaWRlcy4gU28gSSBqdXN0IHdhbnQgdG8gYXNrIGlmIHlvdSBtYXliZSBoYXZlIHNvbWV0aGluZyBtb3JlIHRvIHRlbGwgdXMgdGhhdCB5b3UgaGF2ZW4ndCB0aG91Z2h0IGFib3V0IHlldCwgYmVjYXVzZSB0aGUgaW50ZXJ2aWV3IHVudGlsIG5vdyBpcyBoaWdobHkgaW50ZXJlc3RpbmcgYW5kIEkgdGhpbmsgd2UgZ290IGEgbG90IG9mIG5ldyBpbmZvcm1hdGlvbiB1bnRpbCBub3cuIFNvIG1heWJlIHlvdSBoYXZlIHNvbWV0aGluZy4gTWF5YmUgeW91IGhhdmUgbW9yZSBpbnRlcmVzdGluZyBpbmZvcm1hdGlvbiBmb3IgdXMuXCIgYT1cIkkgdGhpbmsgeW91IGd1eXMgY292ZXJlZCBhIGxvdCBvZiB3aGF0IEkgaGFkIGluIG1pbmQsIHJpZ2h0PyBJbiB0ZXJtcyBvZiwgSSB0aGluayBpZiBJIHdlcmUgdG8gc3RhcnQgd2l0aCBwcmltZSBlZGl0aW5nIGFuZCBEZWx0YSA1MDgsIHRoaXMgaXMgZXhhY3RseSB0aGUgYXJndW1lbnQgSSB3b3VsZCBoYXZlIG1hZGUuIEkgd291bGQgaGF2ZSB0YWxrZWQgdG8gYWxsIG9mIHRoZSBleGFjdCBwZW9wbGUgdGhhdCB5b3UgaGF2ZSBhbHJlYWR5IHNwb2tlbiB3aXRoLCByaWdodD8gU28gSSB0aGluayB0aGF0IEkgZG9uJ3QgaGF2ZSB0b28gbXVjaCB0byBhZGQgdGhlcmUuIFRoZSBvbmx5IHRoaW5nIHlvdSBjb3VsZCBkbyBpcyBpZiB5b3UgYXJlIGxvb2tpbmcgYXQgdmFyaWFudHMsIHJpZ2h0PyBNYXliZSBJIHdvdWxkIHRyeSB0byBjb21lIHVwIHdpdGggYSBwbGFuIGZvciB3aGF0IHZhcmlhbnRzIHlvdSBtaWdodCBnbyBhZnRlciwgYWZ0ZXIgRGVsdGEgNTA4LCByaWdodD8gQW5kIHRoYXQgY291bGQgYmVjb21lIHBhcnQgb2YgeW91ciBmdXR1cmUgcmVzZWFyY2ggb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4gT3IgaWYgeW91IGNhbiwgSSBndWVzcyB0aGUgb25lIHF1ZXN0aW9uIEkgaGFkIGZvciB5b3UgaXMsIHNvIHRoZSBjb3JyZWN0aW9uIG9mIERlbHRhIDUwOCBpcyBzb3J0IG9mIHB1Ymxpc2hlZCwgcmlnaHQ/IFBlb3BsZSBoYXZlIHJlcG9ydGVkIHVzaW5nIGxpcGlkIG5hbm9wYXJ0aWNsZXMsIGF0IGxlYXN0IHRvIGRlbGl2ZXIgYmFzZSBlZGl0aW5nIHJlYWdlbnRzLCByaWdodD8gU28gaG93IGFyZSB5b3UgdGhpbmtpbmcgYWJvdXQsIGxpa2Ugd2hlbiB5b3UgcGl0Y2ggdGhlIGlubm92YXRpb24gaW4geW91ciBwcm9qZWN0LCBob3cgYXJlIHlvdSB0aGlua2luZyBhYm91dCBwaXRjaGluZyB5b3VyIGlubm92YXRpb24/IFwiLz5cbiAgICA8UWFCb3ggcT1cIk9rYXkuIFNvIEkgdGhpbmssIG91ciBpZGVhIHdhcyB0aGF0IHdlIHdhbnQgdG8gZG8gbGlrZSB0aGUsIHRoZSBwcmltZSBlZGl0b3IgaXMgbW9yZSBlZmZpY2llbnQuIE91ciBpZGVhIGlzIHRvIHVzZSBhIHNtYWxsZXIgcmV2ZXJzZSB0cmFuc2NyaXB0IGNhc2UgYW5kIG1heWJlIHdoZW4gd2Ugd2lsbCB3aGVuIHRoZSB0aW1lIGlzIGxldHRpbmcgdXMgZG8gaXQsIG1heWJlIG5vdCwgd2UgZG9uJ3Qga25vdyBpZiB3ZSB3aWxsIGdldCBpbiB0aW1lIHRoZXJlIGFuZCBldmVyeXRoaW5nIHdpbGwgYmUgcmVhZHkuIEJ1dCBpbiB0aGUgTGl1IHBhcGVyLCBJIHRoaW5rIHdhcyBzb21ldGhpbmcgYWJvdXQgdGhlIExhIG1vdGl2ZSBhbmQgc29tZSBvdGhlciBzdHVmZiB0aGF0IHdlIHdhbnQgdG8gYWRkIHRvIHRoZSBwcmltZSBlZGl0b3Igc28gdGhhdCBpdCdzIGV2ZW4gbW9yZSBlZmZpY2llbnQuIEFuZCBldmVuIHRoZW4gdGhlIGlkZWEgb2YgdGhlIExOUCB0byBzcHJheSBkcnkgYmVjYXVzZSB3ZSB0aG91Z2h0IHRoZW4gd2hlbiB0aGVyZSBpcyBub3QgdGhlIHRoYXQgaXQgaGFzIHRvIGJlIGNvb2wsIGxpa2Ugb3RoZXIgbWVkaWNhdGlvbiwgaXQncyBlYXNpZXIgdG8gYnJpbmcgaXQgbGlrZSB0byBBc2lhIG9yIG90aGVyIHBsYWNlcyBiZWNhdXNlIHRoZXkgY2FuIGp1c3QgZ2V0IHRoZSBpbmhhbGF0b3IuIFwiIGE9XCJSaWdodC4gU28gdGhlIG9uZSBxdWVzdGlvbiBJIGhhZCBmb3IgeW91IG9uIHRoYXQgaXMsIGhhdmUgeW91IGxvb2tlZCBhdCBEYW5pZWwgU2llZ3dhcnRzIHdvcmsgb24gTE5QPyAgXCIvPlxuICAgIDxRYUJveCBxPVwiTm8sbm90IHlldC5cIiBhPVwiQmVjYXVzZSB0aGV5IGhhZCBhIHBhcGVyIGluIHNjaWVuY2Ugd2hlcmUgdGhleSBkaWQgaW50cmF2ZW5vdXMgZGVsaXZlcnkgb2YgbGlwaWQgbmFub3BhcnRpY2xlcyBhbmQgdGhleSwgdGhleSBkZWxpdmVyZWQgYSBiYXNlIGVkaXRvci4gU28gd2hlbiB5b3UgcHJlc2VudCB0aGlzLCB0aGlzIG1pZ2h0IGNvbWUgdXAuIFNvLCB5b3Uga25vdywgc28gSSdtIG5vdCBzYXlpbmcgeW91IHNob3VsZCBjaGFuZ2UgeW91ciBzdHJhdGVneSwgYnV0LCB5b3Uga25vdywgaWYgeW91J3JlIHRyeWluZyB0byBkbyBhIGxvdCBvZiB3b3JrIG9uIGxpcGlkIG5hbm9wYXJ0aWNsZXMsIHlvdSdyZSBnb2luZyB0byBoYXZlIHRvIGRvIGEgbG90IG9mIHdvcmsgb24gU28geW91IHdhbnQgdG8gaGF2ZSB0aG91Z2h0IGFib3V0IGEgcmVzcG9uc2UuIEFuZCBpdCdzLCBpdCdzIGEgcmVhbGx5IGludGVyZXN0aW5nIHN0cmF0ZWd5LiBVbSwgdHJ5aW5nIHRvIHNlZSBpZiBJIGNhbiBmaW5kIGl0LiBZZWFoLiBIZXJlLiBJdCdzIGEgcmVhbGx5IGludGVyZXN0aW5nIHNvcnQgb2YgbmFub3BhcnRpY2xlIHN0cmF0ZWd5IHRoYXQgdGhleSBoYXZlIHByZXNlbnRlZC4gVWgsIHRoZSBuaWNlIHRoaW5nIGlzIGl0IGlzIGFuIElWIGRlbGl2ZXJ5LCB3aGljaCBnZXRzIHlvdSB0byBiYXNhbCBjZWxscyBhbmQgdGhleSB3ZXJlIGFibGUgdG8gZ2V0IGFib3V0IDIwJSBjb3JyZWN0aW9uLCByaWdodD8gU28geW91IGNvdWxkIGFsbW9zdCB0aGluayBvZiBpdCBhcyBhbiBhbHRlcm5hdGl2ZSBzdHJhdGVneS4gU28gaWYsIHlvdSBrbm93LCBpZiB5b3UgZ2V0IHRoZSBwdXNoYmFjayBvciBJIGRvbid0IGtub3cgaG93IHlvdSBoYXZlIHRvIHdyaXRlIHRvIHlvdXIgcHJvcG9zYWwsIGJ1dCBpZiB0aGUsIHRoZSwgdGhlIHNwcmF5IGRyeWluZyBvciB0aGUgbmVidWxpemF0aW9uIHByb2Nlc3MgaXMgbm90IGdvaW5nIHdlbGwgZm9yIHlvdSwgdGhpcyBtaWdodCBiZSBzb21ldGhpbmcgdGhhdCB5b3UgY291bGQgcHJvcG9zZSBhcyBhIGJhY2t1cCBiZWNhdXNlIGhlcmUgdGhleSd2ZSBzaG93biB0aGF0IHlvdSBjYW4gZGVsaXZlciBsaXBpZCBuYW5vcGFydGljbGVzIGludHJhdmVub3VzbHkgYW5kIHRoZXkgZ2V0IHRvIHRoZSBiYXNhbCBjZWxsIHBvcHVsYXRpb24uIE9rYXkuIEFuZCB0aGV5IGdldCB0bywgeWVhaC4gU28gdGhhdCBtaWdodCBiZSB0aGUgb25seSBvdGhlciBkaXJlY3Rpb24gSSB3b3VsZCBwb2ludCB0byBhcyB5b3UncmUgdGhpbmtpbmcgYWJvdXQgeW91ciBkZWxpdmVyeSBzdHJhdGVneS4gUmlnaHQuIFVoLCB0aGUgb3RoZXIgaW5ub3ZhdGlvbiBjb3VsZCBiZSB0aGF0IGlmIHlvdSBjYW4gZXZlbiBvcHRpbWl6ZSB5b3VyIHByaW1lIGVkaXRpbmcgdG8gZ28gYSBsaXR0bGUgYml0IGJleW9uZCBqdXN0IERlbHRhLCBpZiBJIHdhaXQsIGlmIHlvdSBjYW4gc2hvdyB0aGF0IHlvdSBldmVuIHJlcGxhY2UgdGhlIHdob2xlIEV4eG9uLCB5b3UgbWlnaHQgaGF2ZSBzb21ldGhpbmcgdGhhdCBpcyBhIGxpdHRsZSBiaXQgbW9yZSB1bmlxdWUgdGhhbiB3aGF0J3Mgb3V0IHRoZXJlLiBBbmQgdGhlbiB5b3UgZG9uJ3QgaGF2ZSB0byBldmVuIHdvcnJ5IGFib3V0IGRlbGl2ZXJ5IG5lY2Vzc2FyaWx5LiBcIi8+IFxuICAgIDxRYUJveCBxPVwiT2theS4gVGhhbmsgeW91IHNvIG11Y2guIFdlIHdpbGwgbG9vayBhdCB0aGUgcGFwZXIgYW5kIHdlJ2xsIGNoZWNrIGl0IG91dC4gQWxsIHJpZ2h0LiBPa2F5LiBUaGVuLCB5ZWFoLiBUaGFuayB5b3UgdmVyeSBtdWNoIGZvciB0aGUgaW50ZXJ2aWV3LiBcIiBhPVwiWWVhaCwgdGhhdCdzIHBlcmZlY3RseSBmaW5lLiBHb29kIGx1Y2sgd2l0aCB5b3VyIHByb2plY3QuIEl0J3MgYSByZWFsbHkgaW50ZXJlc3RpbmcgcHJvamVjdC5cIi8+IFxuICAgIDwvPlxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiTS5TYy5cIixcbiAgICB2b3JuYW1lOiBcIlBoaWxpcHBcIixcbiAgICBuYWNobm5hbWU6IFwiS1x1MDBGQ2huZWxcIixcbiAgICBqb2I6IFwiUGhEIHN0dWRlbnQgaW4gdGhlIE90b3JoaW5vbGFyeW5nb2xvZ3kgd29ya2luZyBncm91cCBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlVuaXZlcnNpdFx1MDBFNHQgQmllbGVmZWxkXCIsXG4gICAgcGljdHVyZXVybDogcGljc1sna1x1MDBGQ2huZWwnXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIkltcHJvdmVtZW50IG9mIG91ciBjdWx0dXJlIHByb3RvY29scyBhbmQgZXhwZXJpbWVudGFsIG91dGNvbWVzLCBwYXJ0aWN1bGFybHkgaW4gbWFpbnRhaW5pbmcgQUxJIGN1bHR1cmVzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwicGt1ZWhuZWxcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJ4XCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+VGhlIGFpbSBvZiBvdXIgY29udGFjdCB3aXRoIFBoaWxpcHAgS1x1MDBGQ2huZWwsIGEgUGhEIHN0dWRlbnQgZnJvbSB0aGUgT3Rvcmhpbm9sYXJ5bmdvbG9neSB3b3JraW5nIGdyb3VwIG9mIEJpZWxlZmVsZCBVbml2ZXJzaXR5LCB3YXMgdG8gZ2FpbiBleHBlcnRpc2UgaW4gd29ya2luZyB3aXRoIHByaW1hcnkgY3VsdHVyZXMsIHBhcnRpY3VsYXJseSBmb2N1c2luZyBvbiBhaXItbGlxdWlkIGludGVyZmFjZSAoQUxJKSBjdWx0dXJlcy4gR2l2ZW4gaGlzIGV4cGVyaWVuY2UgaW4gdGhpcyBhcmVhLCB3ZSBzb3VnaHQgaGlzIGd1aWRhbmNlIHRvIGVuc3VyZSB0aGF0IHdlIHdlcmUgZm9sbG93aW5nIGJlc3QgcHJhY3RpY2VzIGFuZCB0byBhZGRyZXNzIGFueSB0ZWNobmljYWwgY2hhbGxlbmdlcyB3ZSBtaWdodCBlbmNvdW50ZXIuPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD5UaHJvdWdoIG91ciBkaXNjdXNzaW9ucyB3aXRoIFBoaWxpcHAsIHdlIGdhaW5lZCB2YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIHRoZSBvcHRpbWFsIGNvbmRpdGlvbnMgZm9yIGN1bHRpdmF0aW5nIHByaW1hcnkgY2VsbHMgYW5kIG1haW50YWluaW5nIEFMSSBjdWx0dXJlcy4gSGUgcHJvdmlkZWQgcHJhY3RpY2FsIGFkdmljZSBvbiB0cm91Ymxlc2hvb3Rpbmcgb2YgY29tbW9uIGlzc3Vlcywgc3VjaCBhcyBjZWxsIGRpZmZlcmVudGlhdGlvbiBhbmQgY3VsdHVyZSBzdGFiaWxpdHksIHdoaWNoIHdlcmUgY3J1Y2lhbCBmb3IgdGhlIHN1Y2Nlc3Mgb2Ygb3VyIGV4cGVyaW1lbnRzLiBXZSBhbHNvIG1haW50YWluZWQgY2xvc2UgY29udGFjdCB0byBleGNoYW5nZSBpbmZvcm1hdGlvbiBhYm91dCBmdW5naSB0aGF0IGZyZXF1ZW50bHkgY29udGFtaW5hdGUgQUxJIGN1bHR1cmVzLiBUaGUgZXhwZXJ0aXNlIHNoYXJlZCBvbiBjb21iYXRpbmcgdGhlc2UgZnVuZ2FsIGNvbnRhbWluYXRpb25zIHdhcyBwYXJ0aWN1bGFybHkgdmFsdWFibGUgYW5kIGdyZWF0bHkgZW5oYW5jZWQgb3VyIHVuZGVyc3RhbmRpbmcgb2YgZWZmZWN0aXZlIHByZXZlbnRpb24gYW5kIHRyZWF0bWVudCBtZXRob2RzLiA8L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPldlIGluY29ycG9yYXRlZCBQaGlsaXBwXHUyMDE5cyBhZHZpY2UgYnkgcmVmaW5pbmcgb3VyIGN1bHR1cmUgcHJvdG9jb2xzLCBwYXJ0aWN1bGFybHkgYWRqdXN0aW5nIHRoZSBjb25kaXRpb25zIGZvciBBTEkgY3VsdHVyZXMgdG8gaW1wcm92ZSBjZWxsIGRpZmZlcmVudGlhdGlvbiBhbmQgb3ZlcmFsbCBjdWx0dXJlIGhlYWx0aC4gVGhpcyBkaXJlY3RseSBlbmhhbmNlZCB0aGUgcmVsaWFiaWxpdHkgb2Ygb3VyIGV4cGVyaW1lbnRhbCByZXN1bHRzLCBlbnN1cmluZyB0aGF0IG91ciB3b3JrIHdpdGggcHJpbWFyeSBjdWx0dXJlcyB3YXMgYm90aCBhY2N1cmF0ZSBhbmQgcmVwcm9kdWNpYmxlLiA8L3A+XSxcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHN1bW1hcnk6IFwiVGhlIGNvbnRhY3QgYWltZWQgdG8gbGV2ZXJhZ2UgUGhpbGlwcFx1MjAxOXMgZXhwZXJ0aXNlIGluIEFMSSBjdWx0dXJlcyB0byBpbXByb3ZlIG91ciBleHBlcmltZW50YWwgcHJvdG9jb2xzIEdhaW5lZCBpbnNpZ2h0cyBpbnRvIG9wdGltaXppbmcgY29uZGl0aW9ucyBmb3IgcHJpbWFyeSBjZWxsIGN1bHR1cmVzIGFuZCBtYW5hZ2luZyBjb21tb24gY2hhbGxlbmdlcyBsaWtlIGZ1bmdhbCBjb250YW1pbmF0aW9uXCIsXG4gICAgbW9udGhzOiBcInNldmVyYWwgdGltZXNcIlxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiUHJvZi5Eci5cIixcbiAgICB2b3JuYW1lOiBcIlpveWFcIixcbiAgICBuYWNobm5hbWU6IFwiSW5nYXRvdmEgYW5kICBEci4gTmlraGlsIEJoYXJ0aVwiLFxuICAgIGpvYjogXCJHcm91cCBMZWFkZXJcIixcbiAgICBhZmZpbGlhdGlvbjogXCJJbnN0aXR1dGUgb2YgQmlvY2hlbWlzdHJ5IGFuZCBNb2xlY3VsYXIgQmlvbG9neSBhdCBIYW1idXJnIFVuaXZlcnNpdHlcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWyd6b3lhJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJTaGFwaW5nIHRoZSBGdXR1cmUgb2YgR2VuZXRpYyBUaGVyYXB5OiBBbiBpbnRlcnZpZXcgd2l0aCBQcm9mLiBEci4gWm95YSBJZ25hdG92YVwiLFxuICAgIGludGVydmlld3RhYmlkOiBcImlnbmF0b3ZhXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwiUHJlY2lzaW9uIGlzIGtleSB0byBtaW5pbWl6aW5nIHNpZGUgZWZmZWN0cyBhbmQgZW5zdXJpbmcgdGhlIHNhZmV0eSBvZiB5b3VyIHRoZXJhcHkuXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIldlIGNvbmR1Y3RlZCB0aGUgaW50ZXJ2aWV3IHdpdGggUHJvZi4gRHIuIFpveWEgSWduYXRvdmEgYW5kIERyLiBOaWtoaWwgQmhhcnRpIGZyb20gdGhlIEluc3RpdHV0ZSBvZiBCaW9jaGVtaXN0cnkgYW5kIE1vbGVjdWxhciBCaW9sb2d5IGF0IHRoZSBVbml2ZXJzaXR5IG9mIEhhbWJ1cmcsIHNlZWtpbmcgdG8gZGVlcGVuIG91ciB1bmRlcnN0YW5kaW5nIG9mIHRoZWlyIHJlc2VhcmNoIG9uIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGFuZCBleHBsb3JlIGFkZGl0aW9uYWwgQ0YgbXV0YXRpb25zLCBhcyB3ZWxsIGFzIHRvIGxlYXJuIG1vcmUgYWJvdXQgY2VsbCBjdWx0dXJlIHRlY2huaXF1ZXMgc3BlY2lmaWMgdG8gQ0YgcmVzZWFyY2gsIHNpbmNlIHRoZXkgc2VuZCB1cyB0aGUgQ0ZCRTQxby0gY2VsbCBsaW5lLiBPdXIgYWltIHdhcyBhbHNvIHRvIGdhdGhlciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZWlyIGFwcHJvYWNoZXMgaW4gQ0YgcmVzZWFyY2gsIHBhcnRpY3VsYXJseSB0aGVpciBmb2N1cyBvbiB0cmVhdGluZyBnZW5ldGljIG11dGF0aW9ucyBsaWtlIG5vbnNlbnNlIG11dGF0aW9ucywgd2hpY2ggYXJlIGhpZ2hseSBwcmV2YWxlbnQgaW4gQ0YuXCIsXG4gICAgaW5zaWdodHM6IFs8cD5XZSB3ZXJlIHN0cnVjayBieSBJZ25hdG92YVx1MjAxOXMgc3RvcnkgYWJvdXQgZm91bmRpbmcgdGhlIGlHRU0gdGVhbSBpbiBIYW1idXJnLiBIZXIgcGFzc2lvbiBmb3IgZm9zdGVyaW5nIGNyZWF0aXZpdHkgYW5kIGlubm92YXRpb24gaW4gc2NpZW5jZSB3YXMgaW5zcGlyaW5nLiBPbiBhIHRlY2huaWNhbCBsZXZlbCwgdGhlaXIgYWR2aWNlIG9uIGNlbGwgY3VsdHVyZSB3YXMgaW5jcmVkaWJseSBwcmFjdGljYWwgYW5kIGltbWVkaWF0ZWx5IHVzZWZ1bC4gRHIuIE5pa2hpbCBCaGFydGkgZXhwbGFpbmVkIGhvdyB0aGV5IGhhbmRsZSBDRkJFNDFvLSBjZWxscyBhbmQgQUxJIChhaXItbGlxdWlkIGludGVyZmFjZSkgY2VsbCBjdWx0dXJlLiBUaGlzIGFkdmljZSBkaXJlY3RseSBhZGRyZXNzZWQgdGhlIGNoYWxsZW5nZXMgd2VcdTIwMTl2ZSBmYWNlZCBpbiBvdXIgb3duIGxhYiwgZ2l2aW5nIHVzIGEgbWV0aG9kIHRvIGltcHJvdmUgb3VyIGNlbGwgY3VsdHVyZSBzdWNjZXNzIHJhdGVzLiBEdXJpbmcgb3VyIGludGVydmlldyB3aXRoIFByb2YuIERyLiBab3lhIElnbmF0b3ZhIGFuZCBEci4gTmlraGlsIEJoYXJ0aSwgdGhlaXIgaW5ub3ZhdGl2ZSBhcHByb2FjaCB0byBjeXN0aWMgZmlicm9zaXMgKENGKSB0aGVyYXB5LCBwYXJ0aWN1bGFybHkgXCJyZWFkLXRocm91Z2hcIiBhbmQgdFJOQS1iYXNlZCB0aGVyYXBpZXMsIHN0b29kIG91dC4gXCJSZWFkLXRocm91Z2hcIiB0aGVyYXBpZXMgYWltIHRvIGJ5cGFzcyBwcmVtYXR1cmUgc3RvcCBjb2RvbnMgdGhhdCBwcmV2ZW50IGZ1bGwgcHJvdGVpbiBwcm9kdWN0aW9uLCBvZmZlcmluZyBhIHdheSB0byByZXN0b3JlIHRoZSBmdW5jdGlvbiBvZiBjcml0aWNhbCBwcm90ZWlucyBsaWtlIENGVFIgaW4gQ0YuIFRoaXMgYXBwcm9hY2ggaGFzIHRoZSBwb3RlbnRpYWwgdG8gdHJlYXQgYSBicm9hZCByYW5nZSBvZiBnZW5ldGljIGRpc2Vhc2VzIGNhdXNlZCBieSBzaW1pbGFyIG11dGF0aW9ucy4gVGhlIHRSTkEtYmFzZWQgdGhlcmFweSBpcyBldmVuIG1vcmUgcHJlY2lzZSwgdGFyZ2V0aW5nIG1STkEgdG8gY29ycmVjdCBmYXVsdHkgY29kb25zIHdpdGhvdXQgYWx0ZXJpbmcgdGhlIEROQSwgbWFraW5nIGl0IHNhZmVyIGZvciBsb25nLXRlcm0gdXNlLiBUaGlzIGZsZXhpYmlsaXR5LCBhbG9uZyB3aXRoIHRoZSBhYmlsaXR5IHRvIGFwcGx5IHRoZXNlIHRoZXJhcGllcyBiZXlvbmQgQ0YsIGJyb2FkZW5lZCBvdXIgdW5kZXJzdGFuZGluZyBvZiBob3cgc3VjaCBzdHJhdGVnaWVzIGNhbiByZXZvbHV0aW9uaXplIHRyZWF0bWVudHMgZm9yIGdlbmV0aWMgZGlzb3JkZXJzLklnbmF0b3ZhIGhpZ2hsaWdodGVkLCB0aGF0IHVzaW5nIGNlbGwgbW9kZWxzIGNsb3NlbHkgcmVzZW1ibGluZyBwcm9wZXJ0aWVzIG9mIHRoZSBjZWxsIHR5cGVzIHRhcmdldGVkIGJ5IG91ciB0aGVyYXB5IGlzIGltcG9ydGFudCBmb3IgZW5zdXJpbmcgYXBwbGljYWJpbGl0eSBvZiBvdXIgYXBwcm9hY2ggdG8gcGF0aWVudCBjZWxscyBhbmQgaXRzIHNhZmV0eS4gQSBrZXkgZm9jdXMgdGhyb3VnaG91dCB0aGUgZGlzY3Vzc2lvbiB3YXMgc2FmZXR5LiBQcm9mLiBJZ25hdG92YSBlbXBoYXNpemVkIHRoZSBpbXBvcnRhbmNlIG9mIGVuc3VyaW5nIHRoYXQgdGhlIHRoZXJhcGllcyBhcmUgaGlnaGx5IHNwZWNpZmljLCB0YXJnZXRpbmcgb25seSB0aGUgZGVmZWN0aXZlIGNvZG9ucyB3aGlsZSBhdm9pZGluZyBuYXR1cmFsIHN0b3AgY29kb25zIHRvIHByZXZlbnQgdW5jb250cm9sbGVkIHByb3RlaW4gcHJvZHVjdGlvbi4gTW9yZW92ZXIsIHRoZWlyIGNhcmVmdWwgY29uc2lkZXJhdGlvbiBvZiBkZWxpdmVyeSBzeXN0ZW1zIGZ1cnRoZXIgZGVtb25zdHJhdGVkIHRoZWlyIGNvbW1pdG1lbnQgdG8gbWluaW1pemluZyByaXNrcyBsaWtlIHRveGljaXR5IGluIHVuaW50ZW5kZWQgb3JnYW5zLiBUaGVpciBtZXRpY3Vsb3VzIGFwcHJvYWNoIHRvIHNhZmV0eSBoYXMgaW5mbHVlbmNlZCBob3cgd2UgdGhpbmsgYWJvdXQgZGV2ZWxvcGluZyBhbmQgYXBwbHlpbmcgdGhlc2UgdGhlcmFwaWVzLCBtYWtpbmcgaXQgY2xlYXIgdGhhdCBlbnN1cmluZyBwYXRpZW50IHNhZmV0eSBpcyBhcyBjcml0aWNhbCBhcyBhY2hpZXZpbmcgdGhlcmFwZXV0aWMgc3VjY2Vzcy48L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJQcm9mLiBJZ25hdG92YSdzIHByYWN0aWNhbCBhZHZpY2Ugb24gY2VsbCBjdWx0dXJlIGhhZCBhIHRyYW5zZm9ybWF0aXZlIGltcGFjdCBvbiBvdXIgcHJvamVjdC4gQnkgYWRvcHRpbmcgaGVyIG1ldGhvZCBmb3IgQ0ZCRTQxby0gY2VsbHMgYW5kIGltcHJvdmluZyBvdXIgbGFiJ3Mgc3RlcmlsaXphdGlvbiBwcm90b2NvbHMsIHdlIHN1Y2Nlc3NmdWxseSBlc3RhYmxpc2hlZCB0aGUgY2VsbCBsaW5lIGFuZCBzaWduaWZpY2FudGx5IHJlZHVjZWQgdGhlIHJpc2sgb2YgY29udGFtaW5hdGlvbi4gSW4gYWRkaXRpb24sIGhlciBlbXBoYXNpcyBvbiBzYWZldHkgaW4gZ2VuZSB0aGVyYXB5IGd1aWRlZCB1cyB0byByZXZpZXcgb3VyIFByaW1lIEVkaXRpbmcgY29uc3RydWN0IGFuZCBsaXBpZCBuYW5vcGFydGljbGUgKExOUCkgZGVzaWduLiBXZSBmb2N1c2VkIG9uIG1pbmltaXppbmcgdG94aWNpdHkgYW5kIG9mZi10YXJnZXQgZWZmZWN0cyB3aGlsZSBlbnN1cmluZyBwcmVjaXNlIHRhcmdldGluZyBvZiBsdW5nIHRpc3N1ZXMgYW5kIHRoZSBGNTA4ZGVsIG11dGF0aW9uIG9mIHRoZSBDRlRSIGdlbmUsIG1ha2luZyBvdXIgYXBwcm9hY2ggc2FmZXIgYW5kIG1vcmUgZWZmaWNpZW50XCIsXG4gICAgc3VtbWFyeTogXCJJbiBvdXIgaW50ZXJ2aWV3IHdpdGggUHJvZi4gRHIuIFpveWEgSWduYXRvdmEgYW5kIERyLiBOaWtoaWwgQmhhcnRpIGZyb20gdGhlIEluc3RpdHV0ZSBvZiBCaW9jaGVtaXN0cnkgYW5kIE1vbGVjdWxhciBCaW9sb2d5IGF0IHRoZSBVbml2ZXJzaXR5IG9mIEhhbWJ1cmcsIHdlIGFpbWVkIHRvIGRlZXBlbiBvdXIgdW5kZXJzdGFuZGluZyBvZiB0aGVpciByZXNlYXJjaCBvbiBjeXN0aWMgZmlicm9zaXMgKENGKSBhbmQgZXhwbG9yZSBhZGRpdGlvbmFsIG11dGF0aW9ucy4gVGhlaXIgaW5ub3ZhdGl2ZSBhcHByb2FjaGVzLCBwYXJ0aWN1bGFybHkgdFJOQS1iYXNlZCB0aGVyYXBpZXMsIGFpbSB0byByZXN0b3JlIHRoZSBmdW5jdGlvbiBvZiBwcm90ZWlucyBsaWtlIENGVFIgYnkgYnlwYXNzaW5nIHByZW1hdHVyZSBzdG9wIGNvZG9ucywgcHJlc2VudGluZyBwb3RlbnRpYWwgdHJlYXRtZW50cyBmb3IgdmFyaW91cyBnZW5ldGljIGRpc2Vhc2VzLiBUaGV5IGhpZ2hsaWdodGVkIHRoZSBpbXBvcnRhbmNlIG9mIHByZWNpc2lvbiBpbiB0aGVyYXB5IHRvIG1pbmltaXplIHNpZGUgZWZmZWN0cyBhbmQgZW5oYW5jZSBzYWZldHksIGVtcGhhc2l6aW5nIGNhcmVmdWwgZGVsaXZlcnkgc3lzdGVtcyB0byBhdm9pZCB0b3hpY2l0eS4gUHJvZi4gSWduYXRvdmEncyBwcmFjdGljYWwgaW5zaWdodHMgaW50byBjZWxsIGN1bHR1cmUgdGVjaG5pcXVlcyBzaWduaWZpY2FudGx5IGltcHJvdmVkIG91ciBsYWIncyBzdWNjZXNzIHdpdGggQ0ZCRTQxby0gY2VsbHMsIGd1aWRpbmcgdXMgdG8gZW5oYW5jZSBzdGVyaWxpemF0aW9uIHByb3RvY29scyBhbmQgcmVmaW5lIG91ciBQcmltZSBFZGl0aW5nIGNvbnN0cnVjdHMuIFRoaXMgdHJhbnNmb3JtYXRpdmUgZXhjaGFuZ2UgdW5kZXJzY29yZWQgdGhlIGNyaXRpY2FsIGJhbGFuY2UgYmV0d2VlbiBhY2hpZXZpbmcgdGhlcmFwZXV0aWMgc3VjY2VzcyBhbmQgZW5zdXJpbmcgcGF0aWVudCBzYWZldHkuXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZW5cIixcbiAgICBpbnRlcnZpZXc6IDw+XG4gICAgICA8UWFCb3ggcT1cIldlIGhhdmUgaGVhcmQgeW91IGFyZSBwYXNzaW9uYXRlIGFib3V0IGlHRU0uIFdoYXQgaW5zcGlyZWQgeW91IHRvIGdldCBpbnZvbHZlZCwgYW5kIHdoYXQgaGFzIHlvdXIgZXhwZXJpZW5jZSBiZWVuIGxpa2Ugd2l0aCB0aGUgY29tcGV0aXRpb24/XCIgYT1cIk15IGpvdXJuZXkgd2l0aCBpR0VNIGJlZ2FuIHdoZW4gSSBtb3ZlZCB0byBIYW1idXJnIGluIDIwMTQuIEJhY2sgdGhlbiwgSGFtYnVyZyBkaWQgbm90IGhhdmUgaXRzIG93biBpR0VNIHRlYW0uIERlc3BpdGUgSGFtYnVyZyBsYWNraW5nIGFuIGlHRU0gcHJlc2VuY2UsIHRoZXJlIHdlcmUgbW90aXZhdGVkIHN0dWRlbnRzIHdobyB3ZXJlIGVhZ2VyIHRvIGVzdGFibGlzaCBhIHRlYW0uIFdlIHN0YXJ0ZWQgcXVpdGUgbGF0ZSB3aXRoIG1lIGFzIGEgcHJpbmNpcGFsIGluc3RydWN0b3IsIGFyb3VuZCBBcHJpbCwgd2l0aCB0aGUgY29tcGV0aXRpb24gc2NoZWR1bGVkIGZvciBPY3RvYmVyLCBzbyB3ZSBoYWQgbGltaXRlZCB0aW1lLiBIb3dldmVyLCB3ZSBtYW5hZ2VkIHRvIGZvcm0gYSB0ZWFtIGFuZCBwYXJ0aWNpcGF0ZS4gRm9ydHVuYXRlbHksIHdlIHdlcmUgc3VjY2Vzc2Z1bCBpbiBjb252aW5jaW5nIHRoZSB1bml2ZXJzaXR5IGFkbWluaXN0cmF0aW9uIHRvIGVzdGFibGlzaCBhIHN0ZWFkeSBzdXBwb3J0IGZvciB0aGUgaW5pdGlhdGl2ZSwgd2hpY2ggZW5zdXJlZCBzdGFibGUgZnVuZGluZywgaW5jbHVkaW5nIGNvdmVyaW5nIHJlZ2lzdHJhdGlvbiBmZWVzIGVhcmx5IG9uLiBUaGlzIGZpbmFuY2lhbCBhbmQgbG9naXN0aWNhbCBzdXBwb3J0IGdhdmUgdGhlIHRlYW0gdGhlIHNlY3VyaXR5IHRvIGZvY3VzIG9uIHRoZWlyIHByb2plY3RzLiBPdmVyIHRoZSB5ZWFycywgdGhlIEhhbWJ1cmcgaUdFTSB0ZWFtIGhhcyBiZWNvbWUgYSB3ZWxsLWtub3duIGFuZCByZXNwZWN0ZWQgZ3JvdXAgYXQgdGhlIHVuaXZlcnNpdHkuIEl0IGlzIGEgY3JlYXRpdmUgZW52aXJvbm1lbnQgd2hlcmUgc3R1ZGVudHMgY2FuIHB1c2ggdGhlIGJvdW5kYXJpZXMgb2Ygc2NpZW5jZSB0aHJvdWdoIGludGVyZXN0aW5nIGFuZCBpbXBhY3RmdWwgcHJvamVjdHMuIEkgbW92ZWQgb24gdG8gb3RoZXIgZHV0aWVzIGFmdGVyIHNldmVyYWwgeWVhcnMgb2Ygc3VwZXJ2aXNpb24sIGJ1dCBJIGFtIHByb3VkIHRvIGhhdmUgcGxheWVkIGEgcm9sZSBpbiBpdHMgZm91bmRhdGlvbi4gVGhlIHVuaXZlcnNpdHkgaGFzIHJlY29nbml6ZWQgaUdFTSB3aXRoaW4gdGhlIGN1cnJpY3VsdW0gb2YgTW9sZWN1bGFyIExpZmUgU2NpZW5jZSwgYWxsb3dpbmcgc3R1ZGVudHMgdG8gZWFybiBjcmVkaXQgcG9pbnRzIGFuZCBoYXZlIHRoZWlyIHdvcmsgcmVmbGVjdGVkIG9uIHRoZWlyIHRyYW5zY3JpcHRzLiBUaGlzIGFja25vd2xlZGdtZW50IGZ1cnRoZXIgaW5jZW50aXZpemVzIHN0dWRlbnRzIGFuZCBlbnN1cmVzIHRoYXQgdGhlaXIgZWZmb3J0cyBhcmUgZm9ybWFsbHkgcmVjb2duaXplZC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXZSBoYXZlIGJlZW4gaGF2aW5nIHRyb3VibGUgd2l0aCBDRkJFNDFvLSBjZWxscyBub3QgYWRoZXJpbmcgd2VsbC4gQW55IGFkdmljZT9cIiBhPVwiQ0ZCRTQxby0gY2VsbHMgY2FuIGJlIHRyaWNreSB3aGVuIGl0IGNvbWVzIHRvIGFkaGVzaW9uLCBidXQgeW91IGRvIG5vdCBuZWNlc3NhcmlseSBuZWVkIHRvIGNvYXQgeW91ciBjZWxsIGN1bHR1cmUgdmVzc2VscyB3aXRoIGZpYnJvbmVjdGluIHVubGVzcyB5b3UgYXJlIGRvaW5nIHZlcnkgc3BlY2lmaWMgc3R1ZGllcywgc3VjaCBhcyBwcmltYXJ5IGN1bHR1cmUgY29tcGFyaXNvbnMuIEZvciBzZWVkaW5nLCB3ZSBzaW1wbGlmeSB0aGUgcHJvY2VzcyBieSBza2lwcGluZyB0aGUgUEJTIHdhc2hpbmcgc3RlcC4gSW5zdGVhZCwgd2Ugc2VlZCB0aGUgY2VsbHMgZGlyZWN0bHkgaW50byBETUVNIHN1cHBsZW1lbnRlZCB3aXRoIDEwJSBmZXRhbCBjYWxmIHNlcnVtIChGQ1MpIGFuZCBzdHJlcHRvbXljaW4uIFRoZXNlIGNlbGxzIG1heSB0YWtlIGEgZmV3IGRheXMgdG8gcmVjb3ZlciBhbmQgYmVnaW4gYWRoZXJpbmcgcHJvcGVybHksIHRoYXQgdXN1YWxseSB3b3JrcyB3aXRob3V0IHJlcXVpcmluZyBleHRyYSBjb2F0aW5ncy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIb3cgZG8geW91IG1hbmFnZSBmdW5nYWwgY29udGFtaW5hdGlvbiBpbiBBTEkgY3VsdHVyZXM/XCIgYT1cIkZ1bmdhbCBjb250YW1pbmF0aW9uIGlzIG9uZSBvZiB0aGUgbW9yZSBmcnVzdHJhdGluZyBjaGFsbGVuZ2VzIGluIGNlbGwgY3VsdHVyZSBiZWNhdXNlIGl0IGlzIGRpZmZpY3VsdCB0byBlbGltaW5hdGUgb25jZSBpdCB0YWtlcyBwbGFjZS4gSW4gY2FzZXMgb2YgY29udGFtaW5hdGlvbiwgdGhlIGJlc3QgY291cnNlIG9mIGFjdGlvbiBpcyB0byBzaHV0IGRvd24gYWxsIG9uZ29pbmcgY2VsbCBjdWx0dXJlIHdvcmsgYW5kIGNsZWFuIGV2ZXJ5dGhpbmcgdGhvcm91Z2hseS4gWW91IHNob3VsZCBzdGFydCBieSBydW5uaW5nIGEgc3RlcmlsaXphdGlvbiBjeWNsZSBpbiB5b3VyIGluY3ViYXRvcnMsIHdoaWNoIGlkZWFsbHkgc2hvdWxkIHJlYWNoIGFyb3VuZCAxODBcdTAwQjBDLiBUaGlzIHNob3VsZCBraWxsIGFueSBmdW5nYWwgc3BvcmVzLiBJZiB5b3VyIGluY3ViYXRvcnMgZG8gbm90IGhhdmUgdGhhdCBjYXBhYmlsaXR5LCB5b3Ugd2lsbCBuZWVkIHRvIGF1dG9jbGF2ZSBldmVyeXRoaW5nIGFuZCBjbGVhbiBhbGwgc3VyZmFjZXMgYW5kIGVxdWlwbWVudCBtdWx0aXBsZSB0aW1lcyB3aXRoIGV0aGFub2wuIEl0IGlzIGNydWNpYWwgdG8gcmVtb3ZlIGFsbCB0cmFjZXMgb2YgY29udGFtaW5hdGlvbiwgYXMgZnVuZ2FsIHNwb3JlcyBjYW4gc3ByZWFkIHJhcGlkbHkuIFRoZSBrZXkgaXMgcHJldmVudGlvbiB0aHJvdWdoIHJpZ29yb3VzIGNsZWFuaW5nIGFuZCBtYWludGVuYW5jZSBwcm90b2NvbHMsIGFuZCB1bmZvcnR1bmF0ZWx5LCBzb21ldGltZXMgdGhlIG9ubHkgc29sdXRpb24gaXMgdG8gc3RhcnQgZnJlc2ggd2l0aCBuZXcgY3VsdHVyZXMgYWZ0ZXIgYSBmdWxsIGRlY29udGFtaW5hdGlvbiByb3VuZC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IGFyZSB5b3UgY3VycmVudGx5IHJlc2VhcmNoaW5nP1wiIGE9XCJPdXIgcHJpbWFyeSByZXNlYXJjaCBmb2N1cyBpcyBvbiBnZW5ldGljIGRpc2Vhc2VzIGNhdXNlZCBieSBub25zZW5zZSBtdXRhdGlvbnMsIGFsc28ga25vd24gYXMgcHJlbWF0dXJlIHRlcm1pbmF0aW9uIGNvZG9ucyAoUFRDcykuIFdoaWxlIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGlzIGEgbWFqb3IgYXJlYSBvZiBpbnRlcmVzdCBkdWUgdG8gaXRzIGhpZ2ggcHJldmFsZW5jZSBhbmQgdGhlIGltcGFjdCBvZiBzcGVjaWZpYyBtdXRhdGlvbnMgbGlrZSB0aGUgRjUwOGRlbCwgb3VyIHJlc2VhcmNoIGV4dGVuZHMgZmFyIGJleW9uZCBDRi4gV2UgYXJlIHRhcmdldGluZyBhIGJyb2FkZXIgY2F0ZWdvcnkgb2YgZ2VuZXRpYyBkaXNlYXNlcyB0aGF0IHNoYXJlIGEgY29tbW9uIGZlYXR1cmVcdTIwMTRlYXJseSBzdG9wIGNvZG9ucyB0aGF0IGxlYWQgdG8gcHJvZHVjdGlvbiBvZiB0cnVuY2F0ZWQgcHJvdGVpbnMsIHdoaWNoIGFyZSBub24tZnVuY3Rpb25hbC4gSW4gQ0YsIGZvciBpbnN0YW5jZSwgb3VyIG1haW4gZ29hbCBpcyB0byByZXN0b3JlIGZ1bGwtbGVuZ3RoIENGVFIgcHJvdGVpbiBwcm9kdWN0aW9uIGluIHByaW1hcnkgcGF0aWVudC1kZXJpdmVkIGNlbGxzIGJlYXJpbmcgdmFyaW91cyBQVENzLiBPbmUgYXBwcm9hY2ggd2UgYXJlIGV4cGxvcmluZyBpcyBrbm93biBhcyBhICdyZWFkLXRocm91Z2gnIHRoZXJhcHksIHdoaWNoIGludm9sdmVzIGJ5cGFzc2luZyB0aGUgcHJlbWF0dXJlIHN0b3AgY29kb24gc28gdGhhdCB0aGUgY2VsbCBjYW4gY29udGludWUgcHJvZHVjaW5nIHRoZSBmdWxsIHByb3RlaW4uIFRoaXMgc3RyYXRlZ3kgaXMgYXBwbGljYWJsZSBub3Qgb25seSB0byBDRiBidXQgY2FuIGJlIHVzZWQgaW4gbWFueSBvdGhlciBnZW5ldGljIGRpc29yZGVycyBjYXVzZWQgYnkgbm9uc2Vuc2UgbXV0YXRpb25zLiBCcmllZmx5LCB0aGUgcmVhZC10aHJvdWdoIHRoZXJhcGllcyB3ZSBkZXZlbG9wIGFyZSB0Uk5BLWJhc2VkIHRoZXJhcGV1dGljIGFwcHJvYWNoZXMsIGluIHdoaWNoIHdlIGRlc2lnbiBzdXBwcmVzc29yIHRyYW5zZmVyIFJOQXMgKHN1cC10Uk5BcykgdG8gc2VsZWN0aXZlbHkgdGFyZ2V0IGFuZCByZWFkIHRocm91Z2ggUFRDcywgcmVzdG9yaW5nIHRoZSBwcm9kdWN0aW9uIG9mIGZ1bGwtbGVuZ3RoIGRpc2Vhc2UgcHJvdGVpbiB3aXRob3V0IGFsdGVyaW5nIHRoZSBuYXR1cmFsIHRlcm1pbmF0aW9uIGNvZG9ucy4gSXQgaXMgYSBoaWdobHkgc3BlY2lmaWMgYW5kIHNhZmUgbWV0aG9kLCBhbmQgYmVjYXVzZSB3ZSBhcmUgdGFyZ2V0aW5nIG1STkEgcmF0aGVyIHRoYW4gRE5BLCBpdCBhbGxvd3MgZm9yIHRlcm1pbmF0aW5nIHRoZSB0aGVyYXBpZXMgYnkgYW55IHVuZm9yZXNlZW4gc2lkZSBlZmZlY3RzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgYXJlIHlvdXIgZG93bnN0cmVhbSB2YWxpZGF0aW9uIG1ldGhvZHM/XCIgYT1cIkFmdGVyIHdlIGhhdmUgZGV2ZWxvcGVkIGEgdGhlcmFwZXV0aWMgYXBwcm9hY2gsIHRoZSBmaXJzdCBzdGVwIGlzIHRvIHZhbGlkYXRlIHdoZXRoZXIgaXQgd29ya3MgYXQgdGhlIHByb3RlaW4gbGV2ZWwuIEZpcnN0LCB3ZSBjaGVjayB3aGV0aGVyIHRoZSBmdWxsLWxlbmd0aCBwcm90ZWluIGlzIGJlaW5nIHByb2R1Y2VkLiBGb3IgQ0ZUUiwgZm9yIGV4YW1wbGUsIHdlIGxvb2sgYXQgd2hldGhlciB0aGUgcHJvdGVpbiBpcyBiZWluZyBjb3JyZWN0bHkgc3ludGhlc2l6ZWQuIFdlIGFsc28gY29uZHVjdCBmdW5jdGlvbmFsIHRlc3RzIHRvIGVuc3VyZSBpdHMgZnVuY3Rpb25hbGl0eS4gRm9yIENGVFIgc3BlY2lmaWNhbGx5LCB3ZSB0ZXN0IHRoZSBhY3Rpdml0eSBvZiB0aGUgaW9uIGNoYW5uZWwgYnkgbWVhc3VyaW5nIGlvbiBmbG93IHRocm91Z2ggdGhlIGNlbGwgbWVtYnJhbmUuIEFub3RoZXIgdGVzdCBpbnZvbHZlcyBtb25pdG9yaW5nIHRoZSBoZWlnaHQgb2YgdGhlIGFpci1saXF1aWQgaW50ZXJmYWNlIChBTEkpIGN1bHR1cmVzLCB3aGljaCByZXBvcnRzIG9uIHRoZSBpb25pYyBiYWxhbmNlIGFjcm9zcyB0aGUgbWVtYnJhbmUuIFRoZXNlIGZ1bmN0aW9uYWwgdGVzdHMgYXJlIGNydWNpYWwgZm9yIGNvbmZpcm1pbmcgdGhhdCB0aGUgdGhlcmFweSBpcyBub3Qgb25seSBsZWFkaW5nIHRvIGEgcHJvZHVjdGlvbiBvZiB0aGUgcHJvdGVpbiBidXQgaXMgYWxzbyByZXN0b3JpbmcgaXRzIGZ1bmN0aW9uLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBvZnRlbiB3b3VsZCBwYXRpZW50cyBuZWVkIHRvIHVuZGVyZ28gdGhpcyB0aGVyYXB5P1wiIGE9XCJTaW5jZSBvdXIgYXBwcm9hY2ggaXMgZGVzaWduZWQgdG8gY29ycmVjdCBub25zZW5zZSBtdXRhdGlvbnMgZHVyaW5nIHRyYW5zbGF0aW9uIHRoZSB0aGVyYXB5IHdvdWxkIG5lZWQgdG8gYmUgYWRtaW5pc3RlcmVkIHBlcmlvZGljYWxseS4gQmFzZWQgb24gb3VyIGN1cnJlbnQgdW5kZXJzdGFuZGluZywgd2UgYW50aWNpcGF0ZSB0aGF0IHBhdGllbnRzIG1pZ2h0IG5lZWQgdHJlYXRtZW50IGV2ZXJ5IHRocmVlIHRvIGZvdXIgd2Vla3MsIGJ1dCB0aGlzIGhhcyB0byBiZSBkZXRlcm1pbmVkIGluIGNsaW5pY2FsIHNldHRpbmdzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBkb2VzIHlvdXIgdFJOQS1iYXNlZCBhcHByb2FjaCBhZGRyZXNzIHNhZmV0eSBpc3N1ZXM/XCIgYT1cIlNhZmV0eSBpcyB0aGUgdG9wIHByaW9yaXR5IG9mIG91ciB0Uk5BLWJhc2VkIHRoZXJhcGV1dGljIGFwcHJvYWNoLiBBdCBtb2xlY3VsYXIgbGV2ZWwsIHdlIGVuc3VyZSB0aGF0IHRoZSBzdXBwcmVzc29yIHRSTkFzIHdlIHVzZSBhcmUgaGlnaGx5IHNwZWNpZmljXHUyMDE0dGhleSBhcmUgZW5naW5lZXJlZCB0byB0YXJnZXQgb25seSBQVENzIHdpdGhvdXQgYWZmZWN0aW5nIG5hdHVyYWwgc3RvcCBjb2RvbnMsIHdoaWNoIGFyZSBlc3NlbnRpYWwgZm9yIHRlcm1pbmF0aW5nIHRoZSBzeW50aGVzaXMgb2YgZXZlcnkgcHJvdGVpbi4gSW4gYWRkaXRpb24gdG8gdGhlIHNwZWNpZmljaXR5LCB3ZSBhZGRyZXNzIHRoZSBpbW11bmUgcmVzcG9uc2UgdGhhdCBjYW4gYmUgdHJpZ2dlcmVkIGJ5IGFueSBudWNsZWljIGFjaWRzLCBpbmNsdWRpbmcgdFJOQS4gR2VuZXJhbGx5LCB0Uk5BIGhhcyBhIGxvd2VyIGltbXVub2dlbmljaXR5IHRoYW4gb3RoZXIgbW9sZWN1bGVzLCBzdWNoIGFzIG1STkEsIGJlY2F1c2Ugb2YgaXRzIHBhcnRpYWxseSBkb3VibGUtc3RyYW5kZWQgc3RydWN0dXJlLCB3aGljaCByZWR1Y2VzIHRoZSBhY3RpdmF0aW9uIG9mIHRoZSBpbm5hdGUgaW1tdW5lIHJlYWN0aW9uLiBBbm90aGVyIGNyaXRpY2FsIHNhZmV0eSBhc3BlY3QgaXMgdGhlIHNhZmV0eSBvZiB0aGUgZGVsaXZlcnkgc3lzdGVtLiBXZSBuZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSB0Uk5BIHJlYWNoZXMgdGhlIHJpZ2h0IHR5cGUgb2YgY2VsbHMgd2l0aG91dCBjYXVzaW5nIHRveGljaXR5IG9yIGFjY3VtdWxhdGluZyBpbiB1bnRhcmdldGVkIHRpc3N1ZXMgbGlrZSB0aGUgbGl2ZXIsIHdoaWNoIGlzIGEgY29tbW9uIGlzc3VlIHdpdGggbWFueSBnZW5lIHRoZXJhcGllcy4gV2UgYXJlIGFsc28gd29ya2luZyBvbiBvcHRpbWl6aW5nIG91ciBkZWxpdmVyeSBtZXRob2RzLiBUaGlzIHByZWNpc2lvbiBpcyBrZXkgdG8gbWluaW1pemluZyBzaWRlIGVmZmVjdHMgYW5kIGVuc3VyaW5nIHRoZSBzYWZldHkgb2Ygb3VyIHRoZXJhcHkuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2h5IGZvY3VzIG9uIENGIHJlc2VhcmNoP1wiIGE9XCJPdXIgaW52b2x2ZW1lbnQgd2l0aCBDRiByZXNlYXJjaCBlbWVyZ2VkIHNvbWV3aGF0IGJ5IGNoYW5jZS4gSW5pdGlhbGx5LCB3ZSB3ZXJlIGRlZXBseSBpbnRlcmVzdGVkIGluIHVuZGVyc3RhbmRpbmcgdGhlIHZhcmlhYmlsaXR5IGluIGRpc2Vhc2UsIHNwZWNpZmljYWxseSB3aHkgaW5kaXZpZHVhbHMgd2l0aCB0aGUgc2FtZSBnZW5ldGljIG11dGF0aW9ucyBzaG93IGRpZmZlcmVudCBzeW1wdG9tcyBvciBwcmVzZW50IGRpZmZlcmVudCBkaXNlYXNlIHNldmVyaXR5LiBFdmVuIHNpYmxpbmdzIG9yIHR3aW5zIHdpdGggdXN1YWxseSBzaW1pbGFyIGdlbmV0aWMgbWFrZXVwIGV4aGliaXQgZGlmZmVyZW50IGRpc2Vhc2Ugb3V0Y29tZXMuIENGIGJlY2FtZSBhIGZvY3VzIGFzIHdlIGRlbHZlZCBpbnRvIHRoZSBtb2xlY3VsYXIgbWVjaGFuaXNtIG9mIENGVFIgYmlvc3ludGhlc2lzLiBIb3dldmVyLCBvdXIgd29yayBpcyBub3QgY29uZmluZWQgdG8gQ0ZcdTIwMTR3ZSBhcmUgdXNpbmcgdGhlIGtub3dsZWRnZSB3ZSBnYWluIGZyb20gQ0YgcmVzZWFyY2ggYW5kIG91ciBleHBlcnRpc2UgaW4gcHJvdGVpbiBzeW50aGVzaXMgYW5kIHRyYW5zbGF0aW9uIHRvIGRldmVsb3AgdHJlYXRtZW50cyBmb3Igb3RoZXIgZ2VuZXRpYyBkaXNlYXNlcyBjYXVzZWQgYnkgbm9uc2Vuc2UgbXV0YXRpb25zLiBUaGUgbWVjaGFuaXNtcyBiZWhpbmQgdGhlc2UgZGlzZWFzZXMgYXJlIG9mdGVuIHNpbWlsYXIsIHNvIHRoZSB0aGVyYXBldXRpYyBzdHJhdGVnaWVzIHdlIGFyZSBleHBsb3JpbmcgY2FuIHBvdGVudGlhbGx5IGJlIGFwcGxpZWQgdG8gYSByYW5nZSBvZiBjb25kaXRpb25zLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgZG8geW91IHNlZSBhcyB0aGUgYmlnZ2VzdCBjaGFsbGVuZ2UgaW4gdHJhbnNsYXRpbmcgeW91ciByZXNlYXJjaCB0byByZWFsLXdvcmxkIGFwcGxpY2F0aW9ucz9cIiBhPVwiU2FmZXR5IGlzIHRoZSBtb3N0IGNyaXRpY2FsIGh1cmRsZSBpbiB0cmFuc2xhdGluZyBvdXIgcmVzZWFyY2ggZnJvbSB0aGUgbGFiIHRvIGNsaW5pY2FsIGFwcGxpY2F0aW9ucy4gQmVmb3JlIGFueSB0aGVyYXB5IGNhbiBiZSBjb25zaWRlcmVkIGZvciBodW1hbiB1c2UsIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgaXQgaXMgYm90aCBzYWZlIGFuZCBlZmZlY3RpdmUuIEluIHRlcm1zIG9mIGVmZmljYWN5LCB3ZSBoYXZlIHNwZWNpZmljIHRhcmdldHMgd2UgbmVlZCB0byBtZWV0IGZvciBlYWNoIGRpc2Vhc2UuIEZvciBDRiwgZm9yIGV4YW1wbGUsIHlvdSBvbmx5IG5lZWQgdG8gcmVzdG9yZSBhYm91dCAxMCUgb2Ygbm9ybWFsIENGVFIgcHJvdGVpbiBmdW5jdGlvbiB0byBhbGxldmlhdGUgdGhlIHN5bXB0b21zLiBIb3dldmVyLCBpbiBvdGhlciBkaXNlYXNlcywgdGhlIHRoZXJhcGV1dGljIHRocmVzaG9sZCBpcyBtdWNoIGhpZ2hlciwgc29tZXRpbWVzIHJlcXVpcmluZyBuZWFyLWNvbXBsZXRlIHByb3RlaW4gcmVzdG9yYXRpb24uIEFub3RoZXIgc2lnbmlmaWNhbnQgY2hhbGxlbmdlIGlzIHRoZSBzbWFsbCBudW1iZXIgb2YgcGF0aWVudHMgYWZmZWN0ZWQgYnkgbWFueSByYXJlIGdlbmV0aWMgZGlzZWFzZXMsIHdoaWNoIHJlcXVpcmVzIHJlZ3VsYXRpb24gYm9kaWVzIHRvIGNvbnNpZGVyIHRoaXMgYW5kIHJlZGVmaW5lIGNvbmRpdGlvbnMgZm9yIGNsaW5pY2FsIHRyaWFscy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IGFyZSBnb29kIHByZWNsaW5pY2FsIG1vZGVscyBmb3IgQ0YgcmVzZWFyY2gsIGluIHlvdXIgdmlldz9cIiBhPVwiUHJlY2xpbmljYWwgbW9kZWxzIGFyZSBlc3NlbnRpYWwgZm9yIHRlc3RpbmcgdGhlIHNhZmV0eSBhbmQgZWZmaWNhY3kgb2YgYW55IG5ldyB0aGVyYXB5LiBGb3IgQ0YgcmVzZWFyY2gsIG9uZSBvZiB0aGUgbW9zdCByZWxpYWJsZSBtb2RlbHMgaXMgdGhlIHBhdGllbnQtZGVyaXZlZCBhaXItbGlxdWlkIGludGVyZmFjZSAoQUxJKSBjdWx0dXJlcywgd2hpY2ggcmVwbGljYXRlIHRoZSBsdW5nIGVudmlyb25tZW50IGFuZCBhcmUgbXV0YXRpb24tc3BlY2lmaWMuIFByaW1hcnkgY3VsdHVyZXMgYXJlIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSBDRiBGb3VuZGF0aW9uIChVU0EpIGFuZCBhbGxvdyByZXNlYXJjaGVycyB0byB0ZXN0IHRoZXJhcGllcyBpbiBhIGNvbnRleHQgdGhhdCBjbG9zZWx5IG1pbWljcyB0aGUgaHVtYW4gbHVuZy4gV2hpbGUgQUxJIGN1bHR1cmVzIGFyZSBleGNlbGxlbnQgbW9kZWxzLCB0aGV5IGFyZSBhbHNvIGNoYWxsZW5naW5nIHRvIGdyb3cgYW5kIHJlcXVpcmUgYWJvdXQgdHdvIG1vbnRocyB0byBiZSBzZXQgdXAgcHJvcGVybHkuIEZvciBlYXJsaWVyLXN0YWdlIGV4cGVyaW1lbnRzLCB3ZSBvZnRlbiB1c2Ugc2ltcGxlciBjZWxsIGxpbmVzIHRoYXQgYXJlIGVhc2llciB0byBoYW5kbGUuIFRoZXNlIGxpbmVzIGFsbG93IHVzIHRvIHBlcmZvcm0gc3R1ZGllcyBhdCBtb2xlY3VsYXIgbGV2ZWwsIHN1Y2ggYXMgdGVzdGluZyBob3cgd2VsbCBhIHRoZXJhcHkgcmVzdG9yZXMgcHJvdGVpbiBwcm9kdWN0aW9uLiBXaGlsZSB0aGV5IGRvIG5vdCBmdWxseSByZXByZXNlbnQgdGhlIHByaW1hcnkgZXBpdGhlbGlhbCBlbnZpcm9ubWVudCBvZiB0aGUgbHVuZ3MsIHRoZXkgYXJlIHVzZWZ1bCBmb3IgaW5pdGlhbCB2YWxpZGF0aW9uIHN0ZXBzIGJlZm9yZSBtb3Zpbmcgb24gdG8gbW9yZSBjb21wbGV4IG1vZGVscyBsaWtlIEFMSSBjdWx0dXJlcy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IGFyZSB5b3VyIHRob3VnaHRzIG9uIHVzaW5nIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpIHZlcnN1cyBvdGhlciBkZWxpdmVyeSBzeXN0ZW1zLCBsaWtlIEFBViB2ZWN0b3JzP1wiIGE9XCJMaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSBhcmUgYSBwcm9taXNpbmcgZGVsaXZlcnkgc3lzdGVtIGZvciBtYW55IGdlbmV0aWMgdGhlcmFwaWVzLCBidXQgdGhleSBoYXZlIGxpbWl0YXRpb25zLiBXaGlsZSBMTlBzIGNhbiBlZmZlY3RpdmVseSB0YXJnZXQgY2VydGFpbiBvcmdhbnMsIHN1Y2ggYXMgdGhlIGx1bmdzIGFuZCBsaXZlciwgdGhleSBjYW5ub3QgY3Jvc3MgdGhlIGJsb29kLWJyYWluIGJhcnJpZXIgYW5kIHRodXMgdW5zdWl0YWJsZSAoZm9yIG5vdykgdG8gdGFyZ2V0IG5ldXJvbmFsIHBhdGhvbG9naWVzLiBGb3IgdGhlc2UgY29uZGl0aW9ucywgYWRlbm8tYXNzb2NpYXRlZCB2aXJhbCAoQUFWKSB2ZWN0b3JzIG1heSBiZSBtb3JlIGVmZmVjdGl2ZSwgYXMgdGhleSBleGhpYml0IGFuIGluaGVyZW50IGFiaWxpdHkgdG8gY3Jvc3MgdGhlIGJsb29kLWJyYWluIGJhcnJpZXIuIEZvciBDRiBzcGVjaWZpY2FsbHksIHdlIGhhdmUgdXNlZCBMTlBzIHRvIGRlbGl2ZXIgc3VwLXRSTkFzIGRpcmVjdGx5IHRvIHRoZSBsdW5ncy4gV2UgdGVhbWVkIHVwIHdpdGggYW4gVVMgY29tcGFueSB0aGF0IGRldmVsb3BzIHNhZmUgTE5QcyB1c2VkIGFsc28gZm9yIHZhY2NpbmVzLiBEZWxpdmVyeSBtZXRob2RzIGxpa2UgaW50cmF0cmFjaGVhbCBpbnN0aWxsYXRpb25cdTIwMTR3aGVyZSB0aGUgTE5QcyBhcmUgaW50cm9kdWNlZCBpbnRvIHRoZSB0cmFjaGVhXHUyMDE0YWxsb3cgZm9yIHRhcmdldGluZyB0aGUgbHVuZyB0aXNzdWUgbW9yZSBkaXJlY3RseSwgd2hpY2ggaXMgY3JpdGljYWwgZm9yIHRyZWF0aW5nIENGLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBkbyB5b3UgdmlldyBwcmltZSBlZGl0aW5nIGNvbXBhcmVkIHRvIG90aGVyIGdlbmUgZWRpdGluZyB0ZWNobm9sb2dpZXM/XCIgYT1cIlByaW1lIGVkaXRpbmcgaXMgYW4gZXhjaXRpbmcgZGV2ZWxvcG1lbnQgaW4gdGhlIGZpZWxkIG9mIGdlbmUgZWRpdGluZywgYnV0IGl0IGlzIGltcG9ydGFudCB0byByZWNvZ25pemUgdGhhdCBubyBzaW5nbGUgYXBwcm9hY2ggaXMgdW5pdmVyc2FsbHkgc3VwZXJpb3IuIFRlY2hub2xvZ2llcyBsaWtlIHByaW1lIGVkaXRpbmcsIENSSVNQUi1DYXMsIGFuZCBvdXIgb3duIHRSTkEtYmFzZWQgdGhlcmFwaWVzIGVhY2ggaGF2ZSB0aGVpciBzdHJlbmd0aHMgYW5kIGxpbWl0YXRpb25zLiBGb3IgaW5zdGFuY2UsIHByaW1lIGVkaXRpbmcgb2ZmZXJzIGEgaGlnaGx5IHByZWNpc2UgbWV0aG9kIGZvciBjb3JyZWN0aW5nIG11dGF0aW9ucyBkaXJlY3RseSBhdCB0aGUgRE5BIGxldmVsLCBwb3RlbnRpYWxseSBwcm92aWRpbmcgYSBvbmUtdGltZSwgbGlmZWxvbmcgY3VyZS4gSG93ZXZlciwgb3VyIGFwcHJvYWNoLCB3aGljaCBmb2N1c2VzIG9uIHJlc3RvcmluZyBtUk5BIHRyYW5zbGF0aW9uLCBkb2VzIG5vdCBpbnRyb2R1Y2UgcGVybWFuZW50IGNoYW5nZXMgdG8gdGhlIGdlbm9tZSBhbmQgdW5mb3Jlc2VlbiwgYWxzbyBpbmRpdmlkdXVtLXNwZWNpZmljIHNpZGUgZWZmZWN0cywgY2FuIGJlIGNvdW50ZXJhY3RlZCBieSBpbW1lZGlhdGUgdGVybWluYXRpb24gb2YgdGhlIHRoZXJhcHkuIEluIHR1cm4sIGl0IHJlcXVpcmVzIGNvbnRpbnVvdXMgcmUtYWRtaW5pc3RyYXRpb24gb3ZlciB0aW1lLiBVbHRpbWF0ZWx5LCB0aGUgc2FmZXR5IGFuZCBlZmZpY2FjeSBvZiBhbnkgYXBwcm9hY2ggbXVzdCBiZSBjYXJlZnVsbHkgd2VpZ2hlZC4gV2UgYXJlIG5vdCB5ZXQgYXQgYSBwb2ludCB3aGVyZSB3ZSBjYW4gZGVmaW5pdGl2ZWx5IHJhbmsgdGhlc2UgdGVjaG5vbG9naWVzIGJlY2F1c2UgdGhlIGZpZWxkIGlzIHN0aWxsIGV2b2x2aW5nLiBFYWNoIGFwcHJvYWNoIGhhcyBwb3RlbnRpYWwsIGFuZCB0aGUgY2hvaWNlIG9mIHdoaWNoIHRvIHVzZSB3aWxsIGxpa2VseSBkZXBlbmQgb24gdGhlIHNwZWNpZmljIGRpc2Vhc2UgYW5kIG11dGF0aW9uIGJlaW5nIHRhcmdldGVkLlwiIC8+XG4gICAgPC8+LFxuICAgIG1vbnRoczogXCJTZXB0ZW1iZXJcIixcbiAgICBwaWN0dXJldXJsX2ludGVydmlldzogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZm9yLXdpa2ktdGV4dHMvaW50ZXJ2aWV3LWlnbmF0b3ZhL2ludGVydmlldy1pbmdhdG92YS53ZWJwIFwiLFxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCInTXVrb0Rpbm8nXCIsXG4gICAgbmFjaG5uYW1lOiBcIlRob21hcyBNYWxlbmtlIFwiLFxuICAgIGpvYjogXCJQYXRpZW50XCIsXG4gICAgYWZmaWxpYXRpb246IFwiYW5kIENGIEFjdGl2aXN0XCIsXG4gICAgcGljdHVyZXVybDogcGljc1snbXVrb2Rpbm8nXSxcbiAgICB0YWc6IFwiUGF0aWVudFwiLFxuICAgIGhlYWRpbmc6IFwiU2hhcGluZyBDRiBUaGVyYXBpZXM6IExlc3NvbnMgTGVhcm5lZCBmcm9tIFBhdGllbnRzJyBSZWFsLVdvcmxkIEV4cGVyaWVuY2VzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiZGlub1wiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIkxpdmluZyB3aXRoIGN5c3RpYyBmaWJyb3NpcyBoYXMgYmVlbiBhIGpvdXJuZXkgb2YgcGVyc2V2ZXJhbmNlIGFuZCBhZGFwdGF0aW9uLiBEZXNwaXRlIHRoZSBjaGFsbGVuZ2VzLCBJJ3ZlIGxlYXJuZWQgdGhhdCB0YWtpbmcgcGVyc29uYWwgcmVzcG9uc2liaWxpdHkgZm9yIG15IGhlYWx0aCwgc3RheWluZyBpbmZvcm1lZCwgYW5kIGVtYnJhY2luZyB0aGUgYWR2YW5jZW1lbnRzIGluIHJlc2VhcmNoIGNhbiBsZWFkIHRvIGEgbXVjaC1pbXByb3ZlZCBxdWFsaXR5IG9mIGxpZmUuXCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+T3VyIGdvYWwgaW4gcmVhY2hpbmcgb3V0IHRvIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHBhdGllbnRzIHdhcyB0byBnYWluIGEgZmlyc3RoYW5kIHVuZGVyc3RhbmRpbmcgb2YgdGhlaXIgZGF5LXRvLWRheSBleHBlcmllbmNlcyBsaXZpbmcgd2l0aCB0aGUgY29uZGl0aW9uLiBXZSBhaW1lZCB0byBleHBsb3JlIGhvdyByZWNlbnQgYWR2YW5jZW1lbnRzIGluIHRyZWF0bWVudHMgaGF2ZSBpbXBhY3RlZCB0aGVpciBsaXZlcyBhbmQgdHJhbnNmb3JtZWQgdGhlaXIgYXBwcm9hY2ggdG8gbWFuYWdpbmcgdGhlIGRpc2Vhc2UuIFRoaXMgaW5pdGlhdGl2ZSBpcyB2aXRhbCBmb3Igb3VyIHByb2plY3QsIGFzIGl0IGhlbHBzIHVzIGNvbXByZWhlbmQgdGhlIHNpZ25pZmljYW5jZSBvZiB0aGVzZSB0cmVhdG1lbnRzIGFuZCB0aGVpciBicm9hZGVyIGltcGxpY2F0aW9ucy4gQSBrZXkgYXNwZWN0IG9mIG91ciBvdXRyZWFjaCB3YXMgcGFydG5lcmluZyB3aXRoIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9hY2NvdW50cy9sb2dpbi8/bmV4dD1odHRwcyUzQSUyRiUyRnd3dy5pbnN0YWdyYW0uY29tJTJGbXVrb2Rpbm8lMkYmaXNfZnJvbV9ybGVcIiA+TXVrb0Rpbm88L2E+XG4gICAgICB3aG8gaGFzIGV4dGVuc2l2ZSByZWFjaCB3aXRoaW4gdGhlIENGIGNvbW11bml0eS4gVGhpcyBjb2xsYWJvcmF0aW9uIGVuYWJsZWQgdXMgdG8gZGlzdHJpYnV0ZSBvdXIgc3VydmV5IHdpZGVseSBhbW9uZyB0aG9zZSBhZmZlY3RlZCwgYXMgd2UgcmVjb2duaXplZCB0aGF0IHdlIGNvdWxkIG5vdCBjb25kdWN0IGFzIG1hbnkgaW50ZXJ2aWV3cyBhcyB3ZSBjb3VsZCByZWFjaCB0aHJvdWdoIHRoZSBzdXJ2ZXkuIFdlIGFsc28gc291Z2h0IHRvIGdhdGhlciBpbnNpZ2h0cyBvbiByZXNlYXJjaCBwcmlvcml0aWVzIGFuZCB0aGUgZnV0dXJlIGRpcmVjdGlvbiBvZiBDRiB0aGVyYXBpZXMuIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+RnJvbSB0YWxraW5nIHdpdGggdGhlIENGIHBhdGllbnQsIHdlIGdhaW5lZCBzb21lIHZhbHVhYmxlIGluc2lnaHRzIHRoYXQgaGF2ZSBzaGFwZWQgaG93IHdlIG1vdmUgZm9yd2FyZCB3aXRoIG91ciBwcm9qZWN0OiBcbiAgICAgIEZpcnN0bHksIGhlYXJpbmcgYWJvdXQgdGhlIGRheS10by1kYXkgY2hhbGxlbmdlcyB3aXRoIGN1cnJlbnQgQ0YgdHJlYXRtZW50cyB3YXMgZXllLW9wZW5pbmcuIEl0IGhpZ2hsaWdodGVkIGp1c3QgaG93IGNydWNpYWwgaXQgaXMgZm9yIHVzIHRvIGRldmVsb3AgdGhlcmFwaWVzIHRoYXQgYXJlIG5vdCBvbmx5IGVmZmVjdGl2ZSBidXQgYWxzbyBtYWtlIGxpZmUgZWFzaWVyIGZvciBwYXRpZW50cy4gV2VcdTIwMTl2ZSB0YWtlbiB0aGlzIHRvIGhlYXJ0IGFuZCBhcmUgd29ya2luZyB0byBtYWtlIG91ciB0cmVhdG1lbnQgcHJvY2VzcyBhcyBlZmZpY2llbnQgYW5kIHVzZXItZnJpZW5kbHkgYXMgcG9zc2libGUuIFxuICAgICAgVGhlIHBhdGllbnQgYWxzbyB0YWxrZWQgYWJvdXQgdGhlIGhlYXZ5IHRvbGwgdGhhdCBleGlzdGluZyB0cmVhdG1lbnRzIGNhbiB0YWtlLCBib3RoIGluIHRlcm1zIG9mIHRpbWUgYW5kIHBoeXNpY2FsIHN0cmFpbi4gVGhpcyBmZWVkYmFjayBoYXMgcHVzaGVkIHVzIHRvIGZvY3VzIG9uIHN0cmVhbWxpbmluZyBvdXIgYXBwcm9hY2gsIGVzcGVjaWFsbHkgd2l0aCBvdXIgcHJpbWUgZWRpdGluZyBhbmQgaW5oYWxhdGlvbiB0aGVyYXB5LiBXZSB3YW50IHRvIGN1dCBkb3duIG9uIHRoZSBjb21wbGV4aXR5IGFuZCBmcmVxdWVuY3kgb2YgdHJlYXRtZW50cywgbWFraW5nIHRoaW5ncyBzaW1wbGVyIGFuZCBsZXNzIGJ1cmRlbnNvbWUgZm9yIHBhdGllbnRzLiBcbiAgICAgIFdlIGFsc28gbGVhcm5lZCBhYm91dCB0aGUgb25nb2luZyBuZWVkIGZvciBtb3JlIGFkdmFuY2VkIHRoZXJhcGllcy4gVGhlIHBhdGllbnQgc3RyZXNzZWQgdGhlIGltcG9ydGFuY2Ugb2YgY29udGludWluZyB0byBwdXNoIHRoZSBib3VuZGFyaWVzIHdpdGggbW9kdWxhdG9yIHRoZXJhcGllcyBhbmQgZ2VuZSBlZGl0aW5nLiBUaGlzIGhhcyByZWFsbHkgZHJpdmVuIHVzIHRvIHByaW9yaXRpemUgb3VyIHNwcmF5LWRyaWVkIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpIGFwcHJvYWNoLCB3aGljaCBhaW1zIHRvIGRlbGl2ZXIgZ2VuZS1lZGl0aW5nIHRvb2xzIHN0cmFpZ2h0IHRvIHRoZSBsdW5ncywgdGFja2xpbmcgdGhlIHJvb3QgY2F1c2Ugb2YgQ0YuIFxuICAgICAgVGhlIGRpc2N1c3Npb24gYWxzbyBnYXZlIHVzIGEgY2xlYXJlciBwaWN0dXJlIG9mIHRoZSBnbG9iYWwgZGlzcGFyaXRpZXMgaW4gQ0YgY2FyZS4gSXQgYmVjYW1lIGV2aWRlbnQgdGhhdCBhY2Nlc3MgdG8gYWR2YW5jZWQgdHJlYXRtZW50cyB2YXJpZXMgYSBsb3QgYXJvdW5kIHRoZSB3b3JsZC4gVGhpcyBoYXMgbWFkZSB1cyB0aGluayBhYm91dCBob3cgd2UgY2FuIHNjYWxlIG91ciB0aGVyYXB5IHRvIGJlIG1vcmUgYWNjZXNzaWJsZSwgZXZlbiBpbiBwbGFjZXMgd2l0aCBmZXdlciByZXNvdXJjZXMuIFxuICAgICAgVGhlIHBhdGllbnRcdTIwMTlzIHBlcnNvbmFsIGV4cGVyaWVuY2VzIHVuZGVyc2NvcmVkIHRoZSBuZWVkIGZvciB0cmVhdG1lbnRzIHRoYXQgYXJlIHRhaWxvcmVkIHRvIGluZGl2aWR1YWwgbmVlZHMuIFdlXHUyMDE5cmUgdXNpbmcgdGhpcyBpbnNpZ2h0IHRvIG1ha2Ugc3VyZSBvdXIgdGhlcmFweSBjYW4gYmUgYWRhcHRlZCB0byBkaWZmZXJlbnQgZ2VuZXRpYyBtdXRhdGlvbnMgYW5kIHBhdGllbnQgcmVzcG9uc2VzLiBcbiAgICAgIEZpbmFsbHksIHRoZWlyIGVtcGhhc2lzIG9uIGVuenltZSBkZXZlbG9wbWVudCBhbmQgZ2VuZSB0aGVyYXB5IGhhcyBpbmZsdWVuY2VkIG91ciByZXNlYXJjaCBmb2N1cy4gV2VcdTIwMTlyZSBub3cgcHJpb3JpdGl6aW5nIHRoZXNlIGFyZWFzIHRvIGVuc3VyZSBvdXIgd29yayBhZGRyZXNzZXMgYm90aCBjdXJyZW50IG5lZWRzIGFuZCBmdXR1cmUgcG9zc2liaWxpdGllcyBpbiBDRiB0cmVhdG1lbnQuIFxuICAgICAgT3ZlcmFsbCwgdGhlc2UgaW5zaWdodHMgaGF2ZSByZWFsbHkgaGVscGVkIHVzIGFsaWduIG91ciBwcm9qZWN0IHdpdGggdGhlIHJlYWwtd29ybGQgbmVlZHMgb2YgQ0YgcGF0aWVudHMsIG1ha2luZyBzdXJlIHRoYXQgd2hhdCB3ZVx1MjAxOXJlIGRldmVsb3BpbmcgaXMgYm90aCBwcmFjdGljYWwgYW5kIGltcGFjdGZ1bC4gPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5XZSBpbmNvcnBvcmF0ZWQgdGhlIENGIHBhdGllbnRcdTIwMTlzIGluc2lnaHRzIGludG8gb3VyIHByb2plY3QgYnkgbWFraW5nIHNldmVyYWwga2V5IGFkanVzdG1lbnRzIHRvIGJldHRlciBhbGlnbiB3aXRoIHRoZSByZWFsLXdvcmxkIG5lZWRzIG9mIENGIHBhdGllbnRzLiBVbmRlcnN0YW5kaW5nIHRoZSBjaGFsbGVuZ2VzIHRoZXkgZmFjZSBhbmQgdGhlIGltcGFjdCBvZiBjdXJyZW50IHRyZWF0bWVudHMgaGVscGVkIHVzIHJlZmluZSBvdXIgYXBwcm9hY2ggc2lnbmlmaWNhbnRseS4gXG4gICAgICBGaXJzdGx5LCB3ZSBmb2N1c2VkIG9uIGRldmVsb3BpbmcgcHJpbWUgZWRpdGluZyB2aWEgaW5oYWxhdGlvbiB0aGVyYXB5IHdpdGggc3ByYXktZHJpZWQgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykuIFRoaXMgbWV0aG9kIGRpcmVjdGx5IHRhcmdldHMgZ2VuZXRpYyBtdXRhdGlvbnMgaW4gdGhlIGx1bmdzLCBhZGRyZXNzaW5nIHRoZSBwYXRpZW50XHUyMDE5cyBuZWVkIGZvciBtb3JlIGVmZmVjdGl2ZSBhbmQgbGVzcyBpbnZhc2l2ZSB0cmVhdG1lbnRzLiBXZVx1MjAxOXJlIGFsc28gZmluZS10dW5pbmcgdGhlIGZvcm11bGF0aW9uIGFuZCBkZWxpdmVyeSBvZiBvdXIgTE5QcyB0byBlbnN1cmUgdGhleSByZWFjaCBsdW5nIHRpc3N1ZSBlZmZpY2llbnRseSB3aGlsZSBtaW5pbWl6aW5nIGFueSBkaXNjb21mb3J0LiBcbiAgICAgIFRoZSBmZWVkYmFjayBvbiBnbG9iYWwgZGlzcGFyaXRpZXMgaW4gQ0YgY2FyZSBoaWdobGlnaHRlZCB0aGUgaW1wb3J0YW5jZSBvZiBjcmVhdGluZyBhIHRyZWF0bWVudCB0aGF0IGlzIG5vdCBvbmx5IGVmZmVjdGl2ZSBidXQgYWxzbyBhZmZvcmRhYmxlIGFuZCBhY2Nlc3NpYmxlLiBXZVx1MjAxOXJlIGNvbnNpZGVyaW5nIGhvdyB0byBzY2FsZSBvdXIgdGhlcmFweSB0byBtYWtlIGl0IGF2YWlsYWJsZSBpbiByZWdpb25zIHdpdGggbGltaXRlZCBhY2Nlc3MgdG8gYWR2YW5jZWQgdHJlYXRtZW50cy4gICAgXG4gICAgICBBZGRpdGlvbmFsbHksIHRoZSBlbXBoYXNpcyBvbiB0aGUgbmVlZCBmb3IgY29udGludWVkIGFkdmFuY2VtZW50cyBpbiBlbnp5bWUgZGV2ZWxvcG1lbnQgYW5kIGdlbmUgdGhlcmFweSBoYXMgZ3VpZGVkIHVzIHRvIGJhbGFuY2UgaW1tZWRpYXRlIHRoZXJhcGV1dGljIGJlbmVmaXRzIHdpdGggbG9uZy10ZXJtIHJlc2VhcmNoIGdvYWxzLiBUaGlzIGVuc3VyZXMgdGhhdCBvdXIgcHJvamVjdCBhZGRyZXNzZXMgYm90aCBjdXJyZW50IG5lZWRzIGFuZCBmdXR1cmUgcG9zc2liaWxpdGllcyBpbiBDRiB0cmVhdG1lbnQuIFxuICAgICAgQnkgaW50ZWdyYXRpbmcgdGhlc2UgaW5zaWdodHMsIHdlIGFpbSB0byBlbnN1cmUgb3VyIHByb2plY3Qgbm90IG9ubHkgYWR2YW5jZXMgc2NpZW50aWZpYyB1bmRlcnN0YW5kaW5nIGJ1dCBhbHNvIG1lZXRzIHRoZSBwcmFjdGljYWwgbmVlZHMgb2YgQ0YgcGF0aWVudHMsIHVsdGltYXRlbHkgbGVhZGluZyB0byBtb3JlIGVmZmVjdGl2ZSBhbmQgYWNjZXNzaWJsZSB0cmVhdG1lbnRzLiA8L3A+XSxcbiAgICBzdW1tYXJ5OiBcIlRoZSBhaW0gb2Ygb3VyIG91dHJlYWNoIHRvIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHBhdGllbnRzIHdhcyB0byBnYWluIGluc2lnaHRzIGludG8gdGhlaXIgZGFpbHkgZXhwZXJpZW5jZXMgYW5kIGhvdyByZWNlbnQgdHJlYXRtZW50IGFkdmFuY2VtZW50cyBoYXZlIGFmZmVjdGVkIHRoZWlyIGxpdmVzLiBQYXJ0bmVyaW5nIHdpdGggTXVrb0Rpbm8gYWxsb3dlZCB1cyB0byBkaXN0cmlidXRlIGEgc3VydmV5IHdpZGVseSwgYXMgaW50ZXJ2aWV3cyB3ZXJlIGxpbWl0ZWQuIFRocm91Z2ggZGlzY3Vzc2lvbnMgd2l0aCBwYXRpZW50cywgd2UgbGVhcm5lZCBhYm91dCB0aGUgY2hhbGxlbmdlcyBwb3NlZCBieSBjdXJyZW50IHRyZWF0bWVudHMsIGVtcGhhc2l6aW5nIHRoZSBuZWVkIGZvciB0aGVyYXBpZXMgdGhhdCBzaW1wbGlmeSBtYW5hZ2VtZW50IGFuZCByZWR1Y2UgcGh5c2ljYWwgc3RyYWluLiBUaGlzIGZlZWRiYWNrIGhhcyBkcml2ZW4gb3VyIGZvY3VzIG9uIGRldmVsb3BpbmcgbW9yZSBlZmZpY2llbnQgaW5oYWxhdGlvbiB0aGVyYXBpZXMgdXNpbmcgc3ByYXktZHJpZWQgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykgdG8gZGVsaXZlciBnZW5lLWVkaXRpbmcgdG9vbHMgZGlyZWN0bHkgdG8gdGhlIGx1bmdzLiBXZSBhbHNvIHJlY29nbml6ZWQgdGhlIGdsb2JhbCBkaXNwYXJpdGllcyBpbiBDRiBjYXJlLCBtb3RpdmF0aW5nIHVzIHRvIGNvbnNpZGVyIHNjYWxhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IGZvciB0aG9zZSBpbiByZXNvdXJjZS1saW1pdGVkIHJlZ2lvbnMuIFBhdGllbnQgaW5zaWdodHMgdW5kZXJzY29yZWQgdGhlIGltcG9ydGFuY2Ugb2YgcGVyc29uYWxpemVkIHRyZWF0bWVudHMgdGFpbG9yZWQgdG8gaW5kaXZpZHVhbCBnZW5ldGljIG11dGF0aW9ucywgcHJvbXB0aW5nIHVzIHRvIHByaW9yaXRpemUgZW56eW1lIGRldmVsb3BtZW50IGFuZCBnZW5lIHRoZXJhcHkgaW4gb3VyIHJlc2VhcmNoLiBPdmVyYWxsLCB0aGVzZSBpbnNpZ2h0cyBoYXZlIHNoYXBlZCBvdXIgcHJvamVjdCB0byBhbGlnbiBjbG9zZWx5IHdpdGggdGhlIHJlYWwtd29ybGQgbmVlZHMgb2YgQ0YgcGF0aWVudHMsIGFpbWluZyBmb3IgaW1wYWN0ZnVsIGFuZCBhY2Nlc3NpYmxlIHNvbHV0aW9ucy5cIixcbiAgICBtb250aHM6IFwiU2VwdGVtYmVyXCIsXG4gICAgaW50ZXJ2aWV3OiA8PlxuICAgIDxRYUJveCBxPVwiSG93IGRpZCB5b3UgY29tZSB1cCB3aXRoIHRoZSBuYW1lIFx1MjAxOE11a28tRGlub1x1MjAxOT9cIiBhPVwiVGhlIG5hbWUgXHUyMDE4TXVrby1EaW5vXHUyMDE5IGhhcyBhIHBlcnNvbmFsIGhpc3RvcnkuIEF0IGEgY3lzdGljIGZpYnJvc2lzIG1lZXRpbmcsIGFub3RoZXIgcGF0aWVudCBqb2tlZCB0aGF0IEksIGFzIGEgNTgteWVhci1vbGQgY3lzdGljIGZpYnJvc2lzIHBhdGllbnQsIHdhcyBhIFx1MjAxOE11a28tRGlub1x1MjAxOS4gVGhlIG5hbWUgYWxsdWRlcyB0byBteSBhZ2UsIGJlY2F1c2UgaW4gdGhlIHBhc3QsIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cyBoYWQgYSBtdWNoIHNob3J0ZXIgbGlmZSBleHBlY3RhbmN5LiBTbyBpdCB3YXMgdW51c3VhbCBmb3Igc29tZW9uZSB3aXRoIHRoZSBkaXNlYXNlIHRvIHN0aWxsIGJlIHNvIGFjdGl2ZSBhdCBteSBhZ2UuIFRoZSBuYW1lIHN0dWNrIC0gaW5pdGlhbGx5IGFzIGEgam9rZSwgYnV0IEkgaGF2ZSBzaW5jZSBhZG9wdGVkIGl0IGFzIGEga2luZCBvZiBuaWNrbmFtZS5cIiAvPlxuICAgIDxRYUJveCBxPVwiV2hlbiB3ZXJlIHlvdSBkaWFnbm9zZWQgd2l0aCBjeXN0aWMgZmlicm9zaXM/XCIgYT1cIkkgd2FzIGRpYWdub3NlZCBhdCB0aGUgYWdlIG9mIHNpeCBhZnRlciBhIHN3ZWF0IHRlc3QuIEkgaGFkIGxvc3QgYSBsb3Qgb2Ygd2VpZ2h0IGluIHRoZSBmaXJzdCB5ZWFyIG9mIG15IGxpZmUgYW5kIGN5c3RpYyBmaWJyb3NpcyB3YXMgYWxyZWFkeSBzdXNwZWN0ZWQsIGJ1dCBpdCB0b29rIGEgd2hpbGUgYmVmb3JlIHRoZSBkaWFnbm9zaXMgd2FzIGFjdHVhbGx5IGNvbmZpcm1lZC5cIiAvPlxuICAgIDxRYUJveCBxPVwiV2hhdCB3ZXJlIHlvdXIgdGhvdWdodHMgYW5kIHRob3NlIG9mIHlvdXIgZmFtaWx5IGFmdGVyIHRoZSBkaWFnbm9zaXM/XCIgYT1cIk15IG11bSB3YXMgbmF0dXJhbGx5IHNob2NrZWQuIFdoZW4geW91IGhhdmUgYSBjaGlsZCwgeW91IGFyZSBoYXBweSwgYW5kIHRoZW4gdG8gcmVjZWl2ZSBhIGRpYWdub3NpcyBsaWtlIHRoaXMgaXMgYSBodWdlIHNob2NrLiBGb3IgcGFyZW50cyBvZiBjeXN0aWMgZmlicm9zaXMgcGF0aWVudHMsIHRoZXJlIGlzIGFsd2F5cyBhIGJhc2ljIGZlYXIgYmVjYXVzZSB0aGUgZGlzZWFzZSBpcyBsaWZlLXRocmVhdGVuaW5nLiBUb2RheSwgbWFueSBwYXJlbnRzIGhvcGUgdGhhdCB0aGVpciBjaGlsZCB3aWxsIGxpdmUgdG8gYmUgYXQgbGVhc3QgdHdvIHllYXJzIG9sZCBzbyB0aGF0IHRoZXkgY2FuIHJlY2VpdmUgbW9kdWxhdG9ycyB0aGF0IGNhbiBncmVhdGx5IGltcHJvdmUgdGhlIHN5bXB0b21zLlwiIC8+XG4gICAgPFFhQm94IHE9XCJXaGF0IG11dGF0aW9uIGRvIHlvdSBoYXZlP1wiIGE9XCJJIGhhdmUgdGhlIERlbHRhIDUwOCBtdXRhdGlvbiBpbiBkdXBsaWNhdGUsIGkuZS4gaG9tb3p5Z291cy4gVGhpcyBpcyB0aGUgbW9zdCBjb21tb24gZm9ybSBvZiBjeXN0aWMgZmlicm9zaXMgbXV0YXRpb24gYW5kIGNhdXNlcyB0aGUgdHlwaWNhbCBzeW1wdG9tcyBhc3NvY2lhdGVkIHdpdGggdGhlIGRpc2Vhc2UsIHN1Y2ggYXMgZGlnZXN0aXZlIGFuZCBsdW5nIHByb2JsZW1zLlwiIC8+XG4gICAgPFFhQm94IHE9XCJXaGF0IHdlcmUgdGhlIGZpcnN0IHN0ZXBzIGFmdGVyIHRoZSBkaWFnbm9zaXM/XCIgYT1cIkJhY2sgdGhlbiwgaW4gdGhlIDE5NjBzLCB0aGVyZSB3ZXJlIGhhcmRseSBhbnkgc3BlY2lhbGlzZWQgY3lzdGljIGZpYnJvc2lzIG91dHBhdGllbnQgY2xpbmljcy4gTXkgcGFlZGlhdHJpY2lhbiBwcmVzY3JpYmVkIG1lIFBhbmtyZW9uLCBhbiBlYXJseSBlbnp5bWUgcHJlcGFyYXRpb24gdGhhdCB3YXMgc3VwcG9zZWQgdG8gaGVscCBtZSB3aXRoIGRpZ2VzdGlvbi4gTm93YWRheXMsIHRoZSBwcm9jZXNzIGlzIHZlcnkgZGlmZmVyZW50OiBBIGNoaWxkIGlzIHJlZmVycmVkIHRvIGEgc3BlY2lhbGlzZWQgb3V0cGF0aWVudCBjbGluaWMgaW1tZWRpYXRlbHkgYWZ0ZXIgZGlhZ25vc2lzLCB3aGVyZSB0aGV5IHJlY2VpdmUgY29tcHJlaGVuc2l2ZSBjYXJlLiBUaGlzIGluY2x1ZGVzIG1lZGljYWwgY2FyZSwgbnV0cml0aW9uYWwgY291bnNlbGxpbmcsIHBoeXNpb3RoZXJhcHkgYW5kIHN1cHBvcnQgd2l0aCBzb2Npby1sZWdhbCBpc3N1ZXMuXCIgLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBoYXMgdHJlYXRtZW50IGNoYW5nZWQgb3ZlciB0aGUgeWVhcnM/XCIgYT1cIlRoZSB0cmVhdG1lbnQgb2YgY3lzdGljIGZpYnJvc2lzIGhhcyBpbXByb3ZlZCBkcmFtYXRpY2FsbHkgb3ZlciB0aGUgbGFzdCBmZXcgZGVjYWRlcy4gSW4gdGhlIHBhc3QsIGxvdy1mYXQgZGlldHMgaGFkIHRvIGJlIGZvbGxvd2VkLCBldmVuIHdpdGggZW56eW1lcywgd2hpY2ggd2VyZSBub3QgYXMgZWZmZWN0aXZlIGFzIHRvZGF5J3MgcHJlcGFyYXRpb25zLiBCYWNrIHRoZW4sIGlmIHlvdSBhdGUgc29tZXRoaW5nIGZhdHR5IGxpa2UgY2hvY29sYXRlIG9yIGNoaXBzLCB5b3UgZ290IGRpYXJyaG9lYS4gTm93YWRheXMsIGVuenltZXMgYXJlIG11Y2ggbW9yZSBlZmZlY3RpdmUgYW5kIHBhdGllbnRzIGhhdmUgaGFyZGx5IGFueSBkaWV0YXJ5IHJlc3RyaWN0aW9ucy4gQXMgZmFyIGFzIGFudGliaW90aWNzIGFyZSBjb25jZXJuZWQsIHJlc2lzdGFuY2UgaXMgYSBiaWcgaXNzdWUuIFRoYXQncyB3aHkgZG9jdG9ycyBjaGFuZ2UgYW50aWJpb3RpY3MgcmVndWxhcmx5IHRvIHByZXZlbnQgcmVzaXN0YW5jZSBmcm9tIGRldmVsb3BpbmcuIE1vZHVsYXRvcnMgaGF2ZSByZXZvbHV0aW9uaXNlZCB0aGUgbGl2ZXMgb2YgbWFueSBwYXRpZW50cywgZXZlbiBpZiB0aGV5IGNhbiB0cmlnZ2VyIHBzeWNob2xvZ2ljYWwgc2lkZSBlZmZlY3RzIGluIHNvbWUuIEJ1dCB0aGUgYWx0ZXJuYXRpdmUsIGZyZXF1ZW50IHBuZXVtb25pYSwgaXMgbXVjaCB3b3JzZS5cIiAvPlxuICAgIDxRYUJveCBxPVwiSG93IGRvIHlvdSBhc3Nlc3MgdGhlIHByb2dyZXNzIG1hZGUgaW4gY3lzdGljIGZpYnJvc2lzIHJlc2VhcmNoP1wiIGE9XCJUaGUgcHJvZ3Jlc3MgaXMgYWJzb2x1dGVseSByZW1hcmthYmxlLiBXaGVuIEkgd2FzIGJvcm4sIHRoZSBhdmVyYWdlIGxpZmUgZXhwZWN0YW5jeSBvZiBhIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50IHdhcyBvbmUgdG8gZml2ZSB5ZWFycy4gVG9kYXkgd2UgYXJlIHRhbGtpbmcgYWJvdXQgb3ZlciA2MCB5ZWFycy4gVGhpcyBkZXZlbG9wbWVudCBpcyBub3Qgb25seSBkdWUgdG8gbWVkaWNhbCBpbm5vdmF0aW9ucywgYnV0IGFsc28gdG8gYmV0dGVyIGFkaGVyZW5jZSBvbiB0aGUgcGFydCBvZiBwYXRpZW50cywgd2hvIGZvbGxvdyB0aGVpciB0aGVyYXBpZXMgbW9yZSByZWd1bGFybHkgYW5kIGVmZmljaWVudGx5LlwiIC8+XG4gICAgPFFhQm94IHE9XCJJcyB0aGVyZSBhbnl0aGluZyB5b3Ugd291bGQgbGlrZSB0byBzZWUgaW4gdGhlIGZ1dHVyZSBvZiB0aGVyYXB5P1wiIGE9XCJQZXJzb25hbGx5LCBJIGFtIGFsbW9zdCBwZXJmZWN0bHkgaGFwcHksIGFzIHRoZSBjdXJyZW50IG1vZHVsYXRvcnMgaGF2ZSBnaXZlbiBtZSBhbiBlbm9ybW91c2x5IGltcHJvdmVkIHF1YWxpdHkgb2YgbGlmZS4gTXkgd2lzaCBmb3IgdGhlIGVudGlyZSBjeXN0aWMgZmlicm9zaXMgY29tbXVuaXR5IGlzIHRoYXQgZ2VuZSB0aGVyYXB5IHdpbGwgYmUgZnVydGhlciBkZXZlbG9wZWQuIEEgdHJlYXRtZW50IHRoYXQgYWRkcmVzc2VzIHRoZSBnZW5ldGljIGNhdXNlcyBvZiB0aGUgZGlzZWFzZSB3b3VsZCBiZSBhIGh1Z2UgYnJlYWt0aHJvdWdoIGFuZCBpdCB3b3VsZCBiZSBpZGVhbCBpZiB0aGlzIGNvdWxkIGJlIGFjaGlldmVkIHdpdGhvdXQgc2VyaW91cyBzaWRlIGVmZmVjdHMuXCIgLz5cbiAgICA8UWFCb3ggcT1cIldoaWNoIGFyZWFzIG9mIHJlc2VhcmNoIGRvIHlvdSB0aGluayBzaG91bGQgYmUgc3RyZW5ndGhlbmVkP1wiIGE9XCJUaGVyZSBhcmUgYSBmZXcgYXJlYXMgdGhhdCBJIGNvbnNpZGVyIHRvIGJlIHBhcnRpY3VsYXJseSBpbXBvcnRhbnQuIE9uIHRoZSBvbmUgaGFuZCwgZW56eW1lcyBzaG91bGQgYmUgZnVydGhlciBkZXZlbG9wZWQgaW4gb3JkZXIgdG8gd29yayBldmVuIGJldHRlciBhbmQgZnVydGhlciBtaW5pbWlzZSBzaWRlIGVmZmVjdHMuIEFub3RoZXIgbWFqb3IgdG9waWMgaXMgYmFjdGVyaW9waGFnZSByZXNlYXJjaCwgd2hpY2ggY291bGQgaGVscCBwYXRpZW50cyB3aXRoIG11bHRpLXJlc2lzdGFudCBnZXJtcy4gTW9kdWxhdG9ycyBzaG91bGQgYWxzbyBiZSBmdXJ0aGVyIG9wdGltaXNlZCBhbmQsIG9mIGNvdXJzZSwgZ2VuZSB0aGVyYXB5IG11c3QgYmUgZHJpdmVuIGZvcndhcmQgaW4gb3JkZXIgdG8gZmluZCBhIHN1c3RhaW5hYmxlIHNvbHV0aW9uLlwiIC8+XG4gICAgPFFhQm94IHE9XCJXaGF0IHJvbGUgZG9lcyBwZXJzb25hbCByZXNwb25zaWJpbGl0eSBwbGF5IGluIGN5c3RpYyBmaWJyb3Npcz9cIiBhPVwiUGVyc29uYWwgcmVzcG9uc2liaWxpdHkgaXMgZXh0cmVtZWx5IGltcG9ydGFudC4gQW55b25lIGxpdmluZyB3aXRoIGN5c3RpYyBmaWJyb3NpcyBoYXMgdG8gZGVhbCBpbnRlbnNpdmVseSB3aXRoIHRoZWlyIG93biBkaXNlYXNlIGFuZCB0YWtlIHJlc3BvbnNpYmlsaXR5IGZvciB0aGVpciBoZWFsdGguIFRoaXMgbWVhbnMgcmVndWxhcmx5IGluZm9ybWluZyB5b3Vyc2VsZiBhYm91dCBuZXcgdHJlYXRtZW50IG9wdGlvbnMgYW5kIGJlaW5nIGRpc2NpcGxpbmVkIGFib3V0IHlvdXIgb3duIHRyZWF0bWVudC4gSWYgeW91IGRvbid0IHRha2UgY2FyZSBvZiB5b3Vyc2VsZiwgeW91IHJ1biB0aGUgcmlzayBvZiBub3QgZnVsbHkgdXRpbGlzaW5nIHRoZSBhZHZhbmNlcyBpbiBtZWRpY2luZS4gVGhlIGhlYWx0aGNhcmUgc3lzdGVtIGdpdmVzIHlvdSBtYW55IG9wdGlvbnMsIGJ1dCB5b3UgaGF2ZSB0byBhY3RpdmVseSB1dGlsaXNlIHRoZW0uIEx1Y2sgZGVmaW5pdGVseSBwbGF5cyBhIHJvbGUsIGJ1dCBpdCBpcyBub3QgZW5vdWdoIG9uIGl0cyBvd24uIEkgaGF2ZSBiZWVuIGx1Y2t5IGluIG15IG1lZGljYWwgaGlzdG9yeSBiZWNhdXNlIEkgbGl2ZSBpbiBhIGNvdW50cnkgd2l0aCBnb29kIGFjY2VzcyB0byBtZWRpY2FsIGNhcmUgYW5kIGhhdmUgYmVlbiBhYmxlIHRvIGJlbmVmaXQgZnJvbSB0aGUgbW9kdWxhdG9ycy4gQnV0IGV2ZW4gdGhlIGJlc3QgbHVjayBkb2Vzbid0IGhlbHAgd2l0aG91dCBpbml0aWF0aXZlIGFuZCBjb21taXRtZW50LiBZb3UgaGF2ZSB0byBwbGF5IGFuIGFjdGl2ZSByb2xlIGluIG1ha2luZyB0aGUgbW9zdCBvZiB0aGUgb3Bwb3J0dW5pdGllcyB0aGF0IGxpZmUgb2ZmZXJzIHlvdS5cIiAvPlxuICAgIDxRYUJveCBxPVwiV2hhdCBkb2VzIHlvdXIgZGFpbHkgcm91dGluZSBsb29rIGxpa2U/XCIgYT1cIk15IGRhaWx5IHRoZXJhcHkgdGFrZXMgYWJvdXQgdHdvIHRvIHRocmVlIGhvdXJzLiBUaGlzIGluY2x1ZGVzIHRha2luZyBlbnp5bWVzIGFuZCBhbnRpYmlvdGljcyBhcyB3ZWxsIGFzIGluaGFsYXRpb25zIHdpdGggc2FsaW5lIHNvbHV0aW9uIGFuZCBhbnRpYmlvdGljcy4gSSBhbHNvIGRvIHJlZ3VsYXIgYXV0b2dlbmljIGRyYWluYWdlIGFuZCBzdHJldGNoaW5nIGV4ZXJjaXNlcyB0byBzdXBwb3J0IG15IGx1bmdzLiBJdCBpcyBpbXBvcnRhbnQgdG8gc3RpY2sgdG8gdGhpcyByb3V0aW5lIGNvbnNpc3RlbnRseSwgYXMgZXZlbiBhIGZldyBkYXlzIHdpdGhvdXQgdGhlcmFweSBjYW4gbGVhZCB0byBpbmZsYW1tYXRpb24uXCIgLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgaXMgdGhlIG1vc3QgaW1wb3J0YW50IHBhcnQgb2YgeW91ciBkYWlseSByb3V0aW5lP1wiIGE9XCJJdCdzIGRpZmZpY3VsdCB0byBzaW5nbGUgb3V0IG9uZSBwYXJ0IGJlY2F1c2UgYWxsIGFzcGVjdHMgd29yayB0b2dldGhlci4gSWYgSSBsZWZ0IG91dCB0aGUgZW56eW1lcywgSSB3b3VsZCBvbmx5IGJlIGFibGUgdG8gZWF0IHNhbGFkIGJlY2F1c2UgbXkgYm9keSB3b3VsZG4ndCBiZSBhYmxlIHRvIGFic29yYiBhbnkgbnV0cmllbnRzLiBXaXRob3V0IHRoZSBtb2R1bGF0b3JzIGFuZCBhbnRpYmlvdGljcywgSSB3b3VsZCBxdWlja2x5IGdldCBwbmV1bW9uaWEsIHdoaWNoIG1lYW5zIEkgd291bGQgaGF2ZSB0byB0YWtlIHdlZWtzIG9mZi4gU28gcmVndWxhcml0eSBpcyB0aGUga2V5IHRvIHN0YXlpbmcgaGVhbHRoeSBpbiB0aGUgbG9uZyB0ZXJtLlwiIC8+XG4gICAgPFFhQm94IHE9XCJEbyB5b3UgZG8gYW55IHNwb3J0aW5nIGFjdGl2aXRpZXM/XCIgYT1cIlllcywgSSBjeWNsZSB0byB3b3JrIGV2ZXJ5IGRheSBhbmQgdGFrZSB0aGUgc3RhaXJzIHRvIHRoZSBlaWdodGggZmxvb3Igd2hlcmUgSSBoYXZlIG15IG9mZmljZS4gSSBkb24ndCBkbyBpbnRlbnNpdmUgc3BvcnRzIGxpa2UgZ29pbmcgdG8gdGhlIGd5bSwgYnV0IEkgZG8gZXhlcmNpc2UgcmVndWxhcmx5IGluIG15IGV2ZXJ5ZGF5IGxpZmUsIHdoaWNoIGlzIHZlcnkgaW1wb3J0YW50IGZvciBteSBoZWFsdGguXCIgLz5cbiAgICA8UWFCb3ggcT1cIkRvIHlvdSB1c2UgcGh5c2lvdGhlcmFweT9cIiBhPVwiSSBkbyBteSBvd24gcGh5c2lvdGhlcmFweSBhdCBob21lIGFzIEkgaGF2ZSBsZWFybnQgdGhlIHRlY2huaXF1ZXMgd2VsbCBvdmVyIHRoZSB5ZWFycy4gSSB1c2VkIHRvIHZpc2l0IGEgcGh5c2lvdGhlcmFwaXN0IHJlZ3VsYXJseSwgYnV0IEkgbm8gbG9uZ2VyIG5lZWQgdG8uIEFsc28sIHRoZXJlIGFyZSBoYXJkbHkgYW55IHNwZWNpYWxpc2VkIHBoeXNpb3RoZXJhcGlzdHMgZm9yIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cyBpbiBteSBhcmVhLlwiIC8+XG4gICAgPFFhQm94IHE9XCJXaGljaCBvcmdhbiBhZmZlY3RzIHlvdSB0aGUgbW9zdCBpbiB5b3VyIGV2ZXJ5ZGF5IGxpZmU/XCIgYT1cIlRoYW5rcyB0byB0aGUgbW9kdWxhdG9ycywgbm9uZSBhY3R1YWxseS4gQnV0IGlmIEkgZG9uJ3QgdGFrZSB0aGUgZW56eW1lcywgSSBjYW4ndCBlYXQgYW55dGhpbmcsIHdoaWNoIGxlYWRzIHRvIHJhcGlkIHdlaWdodCBsb3NzLiBXaXRob3V0IHRoZSBhbnRpYmlvdGljcyBhbmQgbW9kdWxhdG9ycywgSSB3b3VsZCBiZSBtb3JlIHN1c2NlcHRpYmxlIHRvIGluZmVjdGlvbnMgYW5kIHdvdWxkIHF1aWNrbHkgZGV2ZWxvcCBwbmV1bW9uaWEsIHdoaWNoIHdvdWxkIHJlcXVpcmUgd2Vla3Mgb2YgcmVjb3ZlcnkuXCIgLz5cbiAgICA8UWFCb3ggcT1cIkhhdmUgeW91IG9yIGFueW9uZSBjbG9zZSB0byB5b3UgdGFrZW4gcGFydCBpbiBjbGluaWNhbCB0cmlhbHM/XCIgYT1cIkkgcGVyc29uYWxseSBoYXZlIG5vdCBwYXJ0aWNpcGF0ZWQgaW4gY2xpbmljYWwgdHJpYWxzLCBidXQgSSBlbmNvdXJhZ2Ugb3RoZXIgcGF0aWVudHMgdG8gZG8gc28sIGFzIHRyaWFscyBhcmUgb2Z0ZW4gdGhlIG9ubHkgd2F5IHRvIHRlc3QgYW5kIGRldmVsb3AgbmV3IHRyZWF0bWVudHMuXCIgLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgaW1wYWN0IGRvIGFkdmFuY2VzIGluIGN5c3RpYyBmaWJyb3NpcyByZXNlYXJjaCBoYXZlIG9uIHBhdGllbnRzJyBsaXZlcz9cIiBhPVwiQWR2YW5jZXMgaW4gY3lzdGljIGZpYnJvc2lzIHJlc2VhcmNoIGhhdmUgaGFkIGFuIGVub3Jtb3VzIHBvc2l0aXZlIGltcGFjdCBvbiBwYXRpZW50cycgbGl2ZXMuIEluIHRoZSBwYXN0LCBsaWZlIGV4cGVjdGFuY3kgYXQgZGlhZ25vc2lzIHdhcyBvZnRlbiBvbmx5IGEgZmV3IHllYXJzLiBUb2RheSwgbWFueSBwYXRpZW50cyBjYW4gbGl2ZSBpbnRvIG9sZCBhZ2UuIFRoZSBpbnRyb2R1Y3Rpb24gb2YgbW9kdWxhdG9ycyB0aGF0IHNwZWNpZmljYWxseSBzdGFiaWxpc2UgdGhlIGRpc2Vhc2UtY2F1c2luZyBwcm90ZWlucyBhbmQgaW1wcm92ZSB0aGVpciBmdW5jdGlvbiBoYXMgc2lnbmlmaWNhbnRseSBpbXByb3ZlZCBwYXRpZW50cycgcXVhbGl0eSBvZiBsaWZlLiBSZXNlYXJjaCBoYXMgYWxzbyBjb250cmlidXRlZCB0byBwYXRpZW50cyBiZWluZyBiZXR0ZXIgaW5mb3JtZWQgYWJvdXQgdGhlaXIgZGlzZWFzZSBhbmQgaGF2aW5nIGVmZmVjdGl2ZSB0aGVyYXBpZXMgYXZhaWxhYmxlLCBsZWFkaW5nIHRvIGJldHRlciBvdmVyYWxsIGRpc2Vhc2UgbWFuYWdlbWVudC5cIiAvPlxuICAgIDxRYUJveCBxPVwiSG93IGRvIHlvdSBhc3Nlc3MgdGhlIGRpZmZlcmVuY2VzIGluIHRoZSB0cmVhdG1lbnQgYW5kIHN1cHBvcnQgb2YgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzIGluIEdlcm1hbnkgY29tcGFyZWQgdG8gb3RoZXIgY291bnRyaWVzP1wiIGE9XCJJbiBFdXJvcGUsIGVzcGVjaWFsbHkgaW4gR2VybWFueSwgd2UgbGl2ZSBhdCBhIHZlcnkgaGlnaCBtZWRpY2FsIGxldmVsLCBldmVuIGlmIHRoZXJlIGFyZSBjaGFsbGVuZ2VzIHN1Y2ggYXMgdGhlIHNob3J0YWdlIG9mIHNwZWNpYWxpc3RzLiBUaGUgZGlmZmVyZW5jZSBpbiBwcm9zcGVyaXR5IGluIHRoZSBVU0EgaXMgZ3JlYXRlciwgYnV0IGF0IHRoZSBzYW1lIHRpbWUgaXQgaXMgYWxzbyBhIGRyaXZlciBvZiBpbm5vdmF0aW9uLiBDb21wYXJlZCB0byBjb3VudHJpZXMgYXMgc29tZSB0aGlyZC13b3JsZCBjb3VudHJpZXMsIHdoZXJlIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cyBoYXZlIHRvIHdhaXQgaW4gaG9zcGl0YWxzIGZvciBhcHBvaW50bWVudHMgYmV0d2VlbiBpbmZlY3Rpb3VzIHBhdGllbnRzLCB3ZSBhcmUgY29tcGxhaW5pbmcgYXQgYSBoaWdoIGxldmVsIGhlcmUuIFRoZXJlIGlzIGFsd2F5cyByb29tIGZvciBpbXByb3ZlbWVudCwgYnV0IG92ZXJhbGwgd2UgaGF2ZSBhIGJyaWxsaWFudCBoZWFsdGhjYXJlIHN5c3RlbS5cIiAvPlxuICAgIDxRYUJveCBxPVwiRG8geW91IGZlZWwgc3VmZmljaWVudGx5IGluZm9ybWVkIGJ5IHRoZSBhdmFpbGFibGUgc291cmNlcyBvZiBpbmZvcm1hdGlvbj9cIiBhPVwiWWVzLCB0aGUgaW5mb3JtYXRpb24gc2l0dWF0aW9uIGlzIGdvb2QuIFlvdSBjYW4gZmluZCBzdWZmaWNpZW50IGluZm9ybWF0aW9uIGZyb20gb3JnYW5pc2F0aW9ucyBzdWNoIGFzIHRoZSBDRiBGb3VuZGF0aW9uLCB0aGUgQ0YgVHJ1c3QgYW5kIE11a292aXN6aWRvc2UgZS5WLi4gSG93ZXZlciwgeW91IGhhdmUgdG8gZ2V0IGludm9sdmVkIHlvdXJzZWxmIGFuZCBhY3RpdmVseSBzZWVrIG91dCB0aGUgaW5mb3JtYXRpb24uXCIgLz5cbiAgICA8UWFCb3ggcT1cIklzIHRoZXJlIGFueXRoaW5nIGVsc2UgeW91IHdvdWxkIGxpa2UgdG8gdGVsbCB1cz9cIiBhPVwiSXQgaXMgaW1wb3J0YW50IHRvIHVuZGVyc3RhbmQgdGhhdCBDRiBwYXRpZW50cyBhcmUgdmVyeSBkaWZmZXJlbnQsIGluY2x1ZGluZyBpbiB0ZXJtcyBvZiB0aGVpciBjdWx0dXJhbCBhbmQgZmFtaWx5IGJhY2tncm91bmQuIEluIGFkZGl0aW9uLCBzdXJ2ZXlzIGFuZCBxdWVzdGlvbnMgc2hvdWxkIGJlIHJldmlld2VkIGluIGFkdmFuY2UgYnkgcGF0aWVudHMgb3IgcGFyZW50cyB0byBlbnN1cmUgdGhhdCB0aGV5IGFyZSB1bmRlcnN0YW5kYWJsZSBhbmQgZG8gbm90IGNvbnRhaW4gdW5mb3J0dW5hdGUgd29yZGluZy4gSWYgeW91IG5lZWQgYW55IGhlbHAgb3IgYW55dGhpbmcsIEkgd291bGQgbG92ZSB0byBoZWxwIHlvdS4gU2VuZCBtZSB0aGUgbGluayBhcyBzb29uIGFzIHRoZSB3ZWJzaXRlIGlzIHJlYWR5IGFuZCBJJ2xsIGdpdmUgeW91IGZlZWRiYWNrLiBJIGNhbiBhbHNvIGNpcmN1bGF0ZSB0aGUgc3VydmV5IGluIHRoZSBjb21tdW5pdHkuIEknbSBhbHdheXMgYXZhaWxhYmxlIGlmIHlvdSBoYXZlIGFueSBmdXJ0aGVyIHF1ZXN0aW9ucyBvciBuZWVkIHN1cHBvcnQuXCIgLz5cbiAgICA8Lz4sXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvem9vbS1tdWtvZGluby53ZWJwXCIsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJEci4gS2Vyc3RpbiBMYW5kd2VoclwiLFxuICAgIHZvcm5hbWU6IFwiU2VuaW9yIFBoeXNpY2lhbiBmb3IgUGVkaWF0cmljcyAmIFBuZXVtb2xvZ3kgYW5kXCIsXG4gICAgbmFjaG5uYW1lOiBcIkVsZW5hIFdpZXNsZXJcIixcbiAgICBqb2I6IFwiUHN5Y2hvbG9naXN0cyBpbiBjaGlsZCAmIGFkb2xlc2NlbnQgbWVkaWNpbmUgXCIsXG4gICAgYWZmaWxpYXRpb246IFwiYXQgQmV0aGVsIEhvc3BpdGFsIGluIEJpZWxlZmVsZFwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2JldGhlbCddLFxuICAgIHRhZzogXCJNZWRpY2FsIFByb2Zlc3Npb25hbFwiLFxuICAgIGhlYWRpbmc6IFwiSG9saXN0aWMgQ2FyZSBmb3IgQ3lzdGljIEZpYnJvc2lzOiBFeHBsb3JpbmcgdGhlIFBzeWNob2xvZ2ljYWwgSW1wYWN0IGFuZCBSb2xlIG9mIEdlbmUgVGhlcmFweVwiLFxuICAgIGludGVydmlld3RhYmlkOiBcInBzeWNob2xcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTpcImRlXCIsXG4gICAgcXVvdGU6IFwiTWFueSBmYW1pbGllcyBhcmUgY29uZnJvbnRlZCB3aXRoIGV4dHJlbWVseSBoaWdoIHRoZXJhcHkgYW5kIHRyZWF0bWVudCBjb3N0cy4gVGhlc2UgYXJlIG9mdGVuIGV4cGVuc2l2ZSBhbmQgdW5hdmFpbGFibGUgZXZlcnl3aGVyZS5cIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiRWxlbmFcIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIldpZXNsZXJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5JbiBwcmV2aW91cyBpbnRlcnZpZXdzLCA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cIm1heGZpcnN0XCIgdGV4dD1cIk1heFwiIC8+IGFuZCA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cImRpbm9cIiB0ZXh0PVwiVGhvbWFzXCIgLz4gc2hhcmVkIGhvdyB0aGUgcHN5Y2hvbG9naWNhbCBidXJkZW4gb2YgbGl2aW5nIHdpdGggY3lzdGljIGZpYnJvc2lzIHdlaWdocyBoZWF2aWx5IG9uIHBhdGllbnRzLiBQYXJlbnRzIDxIUExpbmt0b090aGVySFBUYWIgdGFiPVwiam9zaHVhXCIgdGV4dD1cIkpvc2h1YVwiIC8+IGFuZCA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cImp1bGlhXCIgdGV4dD1cIkp1bGlhXCIgLz4gYWxzbyBlbXBoYXNpemVkIHRoYXQgbWVudGFsIGhlYWx0aCBjaGFsbGVuZ2VzIGFyZSBhIG1ham9yIGlzc3VlIGZvciBib3RoIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcy4gVGhpcyBwcm9tcHRlZCB1cyB0byBkZWx2ZSBkZWVwZXIgaW50byB0aGUgcHN5Y2hvbG9naWNhbCwgc29jaWFsLCBhbmQgbWVkaWNhbCBkaWZmaWN1bHRpZXMgZmFjZWQgYnkgY3lzdGljIGZpYnJvc2lzIChDRikgcGF0aWVudHMgYW5kIHRoZWlyIHN1cHBvcnQgc3lzdGVtcy4gQSBrZXkgZ29hbCB3YXMgdG8gdW5kZXJzdGFuZCBob3cgZ2VuZSB0aGVyYXBpZXMgYXJlIHBlcmNlaXZlZCBhbmQgaG93IHRoZXkgbWF5IGFmZmVjdCB0aGUgcXVhbGl0eSBvZiBsaWZlIGZvciBDRiBwYXRpZW50cy4gV2UgYWltZWQgdG8gZ2F0aGVyIGluc2lnaHRzIGZyb20gdmFyaW91cyBwZXJzcGVjdGl2ZXNcdTIwMTRwYXRpZW50cywgY2FyZWdpdmVycywgYW5kIGhlYWx0aGNhcmUgcHJvZmVzc2lvbmFsc1x1MjAxNHRvIGVuc3VyZSBvdXIgcHJvamVjdCBhbGlnbnMgd2l0aCB0aGVpciBuZWVkcyBhbmQgYWRkcmVzc2VzIHRoZSBtb3N0IHByZXNzaW5nIGNoYWxsZW5nZXMuIFxuICAgICAgR2l2ZW4gdGhlIGNvbXBsZXhpdHkgb2YgdGhlc2UgcHN5Y2hvbG9naWNhbCBhc3BlY3RzLCBpdCB3YXMgY3J1Y2lhbCBmb3IgdXMgdG8gZW5nYWdlIHdpdGggcHN5Y2hvbG9naXN0cyB0byBnYWluIGEgcHJvZmVzc2lvbmFsLCBleHBlcnQgb3Bpbmlvbi4gV2UgdmlzaXRlZCB0aGUgbWVkaWNhbCBwcm9mZXNzaW9uYWxzIGF0IHRoZSBrbGluaWt1bSBiZXRoZWwuIFRoZWlyIGlucHV0IGhlbHBlZCB1cyBiZXR0ZXIgdW5kZXJzdGFuZCB0aGUgbWVudGFsIGhlYWx0aCBpbXBhY3RzIG9mIENGIGFuZCB0aGUgcG90ZW50aWFsIGVtb3Rpb25hbCBhZGp1c3RtZW50cyByZXF1aXJlZCB3aGVuIGludGVncmF0aW5nIGdlbmUgdGhlcmFwaWVzIGludG8gdHJlYXRtZW50IHBsYW5zLiBUaGlzIGd1aWRhbmNlIHdhcyBpbnZhbHVhYmxlIGluIHNoYXBpbmcgb3VyIGFwcHJvYWNoIHRvIGRldmVsb3BpbmcgYSBob2xpc3RpYyBzb2x1dGlvbiB0aGF0IGFkZHJlc3NlcyBub3Qgb25seSB0aGUgbWVkaWNhbCBuZWVkcyBidXQgYWxzbyB0aGUgZW1vdGlvbmFsIHdlbGwtYmVpbmcgb2YgcGF0aWVudHMgYW5kIHRoZWlyIGZhbWlsaWVzLiBJdCBpbmZvcm1lZCBvdXIgSW50ZWdyYXRlZCBIZWFsdGggUHJvZ3JhbSAoSUhQKSBzdHJhdGVneSwgZW1waGFzaXppbmcgdGhlIGltcG9ydGFuY2Ugb2YgaW50ZXJwZXJzb25hbCByZWxhdGlvbnNoaXBzLCBlZmZlY3RpdmUgY29tbXVuaWNhdGlvbiwgYW5kIGNvbW11bml0eSBlbmdhZ2VtZW50LCBleHRlbmRpbmcgYmV5b25kIHB1cmVseSBzY2llbnRpZmljIGNvbnNpZGVyYXRpb25zLiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPlRocm91Z2ggb3VyIGRpc2N1c3Npb25zLCBzZXZlcmFsIHZhbHVhYmxlIGluc2lnaHRzIGVtZXJnZWQgdGhhdCBoYXZlIHNpZ25pZmljYW50bHkgZGVlcGVuZWQgb3VyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNoYWxsZW5nZXMgZmFjZWQgYnkgQ0YgcGF0aWVudHMgYW5kIHRoZWlyIGZhbWlsaWVzOiBcbiAgICAgIENGIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcyBvZnRlbiBlbmR1cmUgaW1tZW5zZSBwc3ljaG9sb2dpY2FsIHN0cmFpbi4gQW54aWV0eSwgZGVwcmVzc2lvbiwgYW5kIGZydXN0cmF0aW9uIGFyZSBjb21tb24sIGV4YWNlcmJhdGVkIGJ5IHRoZSBjb25zdGFudCB1bmNlcnRhaW50eSBhYm91dCB0aGUgZGlzZWFzZVx1MjAxOXMgcHJvZ3Jlc3Npb24gYW5kIHRoZSBlZmZlY3RpdmVuZXNzIG9mIG5ldyB0cmVhdG1lbnRzLiBUaGUgZW1vdGlvbmFsIHRvbGwgaXMgcHJvZm91bmRcdTIwMTRub3QganVzdCBkdWUgdG8gdGhlIHBoeXNpY2FsIGJ1cmRlbiBvZiB0aGUgaWxsbmVzcywgYnV0IGFsc28gYmVjYXVzZSBvZiB0aGUgaG9wZSBhbmQgZmVhciB0aGF0IGNvbWUgd2l0aCBlbWVyZ2luZyB0aGVyYXBpZXMuIFdoaWxlIG5ldyB0cmVhdG1lbnRzIGJyaW5nIHByb21pc2UsIHRoZXkgYWxzbyByYWlzZSBjb25jZXJucyBhYm91dCB0aGVpciBwb3RlbnRpYWwgc3VjY2VzcyBhbmQgdGhlIHVua25vd25zIHRoYXQgYWNjb21wYW55IHRoZW0uIFxuICAgICAgVGhlcmVcdTIwMTlzIGEgc3Ryb25nIHNlbnNlIG9mIG9wdGltaXNtIHJlZ2FyZGluZyBnZW5lIHRoZXJhcGllcywgYXMgdGhleSBob2xkIHRoZSBwb3RlbnRpYWwgdG8gc2lnbmlmaWNhbnRseSBpbXByb3ZlIGJvdGggbGlmZSBleHBlY3RhbmN5IGFuZCBxdWFsaXR5IG9mIGxpZmUgZm9yIENGIHBhdGllbnRzLiBNYW55IGFyZSBlYWdlciB0byBlbWJyYWNlIHRoZXNlIGlubm92YXRpb25zLCBzZWVpbmcgdGhlbSBhcyBhIGxvbmctYXdhaXRlZCBicmVha3Rocm91Z2guIEhvd2V2ZXIsIHRoaXMgZXhjaXRlbWVudCBpcyBvZnRlbiBtaXhlZCB3aXRoIGNvbmNlcm5zIGFib3V0IHNpZGUgZWZmZWN0cywgdGhlIGFjY2Vzc2liaWxpdHkgb2YgdGhlc2UgdGhlcmFwaWVzLCBhbmQgdGhlaXIgbG9uZy10ZXJtIGVmZmVjdGl2ZW5lc3MuIFRoZSBwcm9zcGVjdCBvZiBzdWNoIHRyZWF0bWVudHMgYnJpbmdzIGhvcGUsIGJ1dCBhbHNvIGEgZGVncmVlIG9mIHNjZXB0aWNpc20sIHBhcnRpY3VsYXJseSBhcm91bmQgd2hldGhlciB0aGV5IHdpbGwgYmUgYWNjZXNzaWJsZSB0byBhbGwgd2hvIG5lZWQgdGhlbS4gXG4gICAgICBQc3ljaG9sb2dpY2FsIHN1cHBvcnQsIGZhbWlseSBjb3Vuc2VsbGluZywgYW5kIHRoZSBpbnZvbHZlbWVudCBvZiBwYXRpZW50IGNvbW11bml0aWVzIGFyZSBlc3NlbnRpYWwgaW4gaGVscGluZyBwYXRpZW50cyBhbmQgdGhlaXIgZmFtaWxpZXMgY29wZSB3aXRoIHRoZSBlbW90aW9uYWwgYW5kIG1lbnRhbCBjaGFsbGVuZ2VzIG9mIGJvdGggdGhlIGRpc2Vhc2UgYW5kIGl0cyB0cmVhdG1lbnRzLiBUaGUgc3RyZW5ndGggb2YgdGhlc2Ugc3VwcG9ydCBzeXN0ZW1zIGNhbiBtYWtlIGEgcHJvZm91bmQgZGlmZmVyZW5jZSBpbiBob3cgd2VsbCBwYXRpZW50cyBuYXZpZ2F0ZSB0aGUgY2hhbGxlbmdlcyBvZiBsaXZpbmcgd2l0aCBDRiwgcGFydGljdWxhcmx5IHdoZW4gYWRhcHRpbmcgdG8gbmV3IHRoZXJhcGllcy4gXG4gICAgICBXZSBhbHNvIGxlYXJuZWQgdGhhdCB3aGlsZSBuZXcgdGhlcmFwaWVzIGFyZSBleGNpdGluZywgdGhlaXIgc3VjY2VzcyBvZnRlbiBkZXBlbmRzIG9uIHRoZWlyIHByYWN0aWNhbGl0eS4gVHJlYXRtZW50cyB0aGF0IGFyZSBjb21wbGV4LCBpbnZhc2l2ZSwgb3IgYnVyZGVuc29tZSBhcmUgbGVzcyBsaWtlbHkgdG8gYmUgYWRvcHRlZCwgZXZlbiBpZiB0aGV5IHByb21pc2Ugc2lnbmlmaWNhbnQgYmVuZWZpdHMuIFNpbXBsaWNpdHksIGVhc2Ugb2YgdXNlLCBhbmQgcmVkdWNpbmcgdGhlIHRyZWF0bWVudCBidXJkZW4gYXJlIGNyaXRpY2FsIGZhY3RvcnMgaW4gZW5zdXJpbmcgcGF0aWVudHMgZnVsbHkgZW5nYWdlIHdpdGggYW5kIGJlbmVmaXQgZnJvbSB0aGVzZSB0aGVyYXBpZXMuIFxuICAgICAgVGhlc2UgaW5zaWdodHMgaGF2ZSBzaGFwZWQgb3VyIGFwcHJvYWNoLCByZWluZm9yY2luZyB0aGUgaW1wb3J0YW5jZSBvZiBjb25zaWRlcmluZyBib3RoIHRoZSBwc3ljaG9sb2dpY2FsIGFuZCBwcmFjdGljYWwgYXNwZWN0cyBvZiBuZXcgZ2VuZSB0aGVyYXBpZXMsIHRvIGJldHRlciBhZGRyZXNzIHRoZSBuZWVkcyBvZiBDRiBwYXRpZW50cyBhbmQgdGhlaXIgZmFtaWxpZXMuIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+VGhlc2UgZmluZGluZ3MgZGlyZWN0bHkgaW5mbHVlbmNlZCBzZXZlcmFsIGtleSBhcmVhcyBvZiB0aGUgcHJvamVjdC4gV2UgYWRhcHRlZCB0aGUgcHJvamVjdCB0byBlbXBoYXNpc2UgZWFzZSBvZiB1c2UgYW5kIG1pbmltYWwgZGlzcnVwdGlvbiB0byBwYXRpZW50cycgZGFpbHkgbGl2ZXMuIEZvciBleGFtcGxlLCB3ZSBmb2N1c2VkIG9uIGRldmVsb3BpbmcgYSB0aGVyYXB5IGRlbGl2ZXJ5IHN5c3RlbSB0aGF0IHdhcyBhcyBub24taW52YXNpdmUgYXMgcG9zc2libGUuIFJlY29nbmlzaW5nIHRoZSBtZW50YWwgaGVhbHRoIGNoYWxsZW5nZXMsIHdlIGludGVncmF0ZWQgb3VyIHByb2plY3Qgd2l0aCBhIHNpbXBsZSB0aGVyYXBldXRpYyBtZXRob2QgdG8gcmVkdWNlIHRoZSBtZW50YWwgYnVyZGVuIG9uIHBhdGllbnRzLiBXZSBoYXZlIGVtcGhhc2lzZWQgdHJhbnNwYXJlbmN5IGluIGNvbW11bmljYXRpbmcgdGhlIGJlbmVmaXRzLCByaXNrcyBhbmQgZXhwZWN0YXRpb25zIG9mIGdlbmUgdGhlcmFweSB0byBlbnN1cmUgdGhhdCBwYXRpZW50cyBoYXZlIGEgcmVhbGlzdGljIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHBvdGVudGlhbCBvdXRjb21lcy4gVGhpcyBpbmNsdWRlcyB3b3JraW5nIGNsb3NlbHkgd2l0aCBwYXRpZW50IG9yZ2FuaXNhdGlvbnMgdG8gZGlzc2VtaW5hdGUgY2xlYXIgYW5kIGFjY3VyYXRlIGluZm9ybWF0aW9uLiBXZSBhcmUgYWN0aXZlbHkgZW5nYWdpbmcgd2l0aCBDRiBwYXRpZW50IGNvbW11bml0aWVzIGFuZCBoZWFsdGhjYXJlIHByb2Zlc3Npb25hbHMgdG8gZ2F0aGVyIG9uZ29pbmcgZmVlZGJhY2sgYW5kIGVuc3VyZSB0aGF0IHRoZSBwcm9qZWN0IGV2b2x2ZXMgYmFzZWQgb24gcmVhbCBwYXRpZW50IGV4cGVyaWVuY2VzIGFuZCBjaGFsbGVuZ2VzLiBUaGVyZWZvcmUgd2UgdXNlZCBvdXIgc3VydmV5IHRvIGdhdGhlciBmZWVkYmFjayBmcm9tIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcy4gIFxuICAgICAgQnkgaW50ZWdyYXRpbmcgdGhlc2UgaW5zaWdodHMsIHdlIGFpbSB0byBjcmVhdGUgYSBnZW5lIHRoZXJhcHkgcHJvamVjdCB0aGF0IGFkZHJlc3NlcyBub3Qgb25seSB0aGUgbWVkaWNhbCBuZWVkcywgYnV0IGFsc28gdGhlIGVtb3Rpb25hbCBhbmQgcHJhY3RpY2FsIGNvbmNlcm5zIG9mIENGIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcy4gPC9wPl0sXG4gICAgc3VtbWFyeTogXCJPdXIgcHJvamVjdCBhaW1zIHRvIGFkZHJlc3MgdGhlIHBzeWNob2xvZ2ljYWwgYW5kIG1lZGljYWwgY2hhbGxlbmdlcyBmYWNlZCBieSBjeXN0aWMgZmlicm9zaXMgKENGKSBwYXRpZW50cyBhbmQgdGhlaXIgZmFtaWxpZXMsIHBhcnRpY3VsYXJseSByZWdhcmRpbmcgZ2VuZSB0aGVyYXBpZXMuIFdlIGVuZ2FnZWQgd2l0aCBwc3ljaG9sb2dpc3RzIGFuZCBnYXRoZXJlZCBpbnNpZ2h0cyBmcm9tIHBhdGllbnRzIGFuZCBjYXJlZ2l2ZXJzLCByZXZlYWxpbmcgc2lnbmlmaWNhbnQgZW1vdGlvbmFsIHN0cmFpbiBhbmQgYSBtaXggb2Ygb3B0aW1pc20gYW5kIGNvbmNlcm4gYWJvdXQgbmV3IHRyZWF0bWVudHMuIEtleSBmaW5kaW5ncyBoaWdobGlnaHRlZCB0aGUgaW1wb3J0YW5jZSBvZiBwc3ljaG9sb2dpY2FsIHN1cHBvcnQgYW5kIHRoZSBwcmFjdGljYWxpdHkgb2YgdGhlcmFwaWVzIGluIGVuc3VyaW5nIHBhdGllbnQgZW5nYWdlbWVudC4gSW4gcmVzcG9uc2UsIHdlIGFyZSBkZXZlbG9waW5nIGEgdXNlci1mcmllbmRseSB0aGVyYXB5IGRlbGl2ZXJ5IHN5c3RlbSB0aGF0IG1pbmltaXplcyBkaXNydXB0aW9uIHRvIGRhaWx5IGxpZmUgd2hpbGUgZW1waGFzaXppbmcgdHJhbnNwYXJlbnQgY29tbXVuaWNhdGlvbiBhYm91dCB0cmVhdG1lbnQgcmlza3MgYW5kIGJlbmVmaXRzLiBPdXIgZ29hbCBpcyB0byBjcmVhdGUgYSBjb21wcmVoZW5zaXZlIGdlbmUgdGhlcmFweSBzb2x1dGlvbiB0aGF0IG1lZXRzIHRoZSBtZWRpY2FsIGFuZCBlbW90aW9uYWwgbmVlZHMgb2YgQ0YgcGF0aWVudHMuXCIsXG4gICAgbW9udGhzOiBcIlNlcHRlbWJlclwiLFxuICAgIGludGVydmlldzo8PlxuICAgIDxRYUJveCBxPVwiV2hpY2ggcHN5Y2hvbG9naWNhbCBjaGFsbGVuZ2VzIGFyZSBwYXJ0aWN1bGFybHkgcmVsZXZhbnQgZm9yIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cz9cIiBhPVwiUHN5Y2hvbG9naWNhbCBwcm9ibGVtcyBhcmUgb2Z0ZW4gYSBtYWpvciBpc3N1ZSBmb3IgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzLiBNYW55IHBhdGllbnRzIGV4cGVyaWVuY2UgYW54aWV0eSBhbmQgZGVwcmVzc2lvbiwgYW5kIHRoZWlyIHBhcmVudHMgYXJlIGFsc28gb2Z0ZW4gYWZmZWN0ZWQuIFRoaXMgaXMgZXhhY2VyYmF0ZWQgYnkgdGhlIGNvbnN0YW50IHN0cmFpbiBhbmQgc3RyZXNzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGlzZWFzZS4gU3BlY2lhbCBhdHRlbnRpb24gaXMgdGhlcmVmb3JlIHBhaWQgdG8gcHN5Y2hvbG9naWNhbCBzdXBwb3J0IGR1cmluZyBkaWFnbm9zaXMgYW5kIG9uZ29pbmcgdHJlYXRtZW50LiBSZWd1bGFyIHNjcmVlbmluZ3MgZm9yIGFueGlldHkgYW5kIGRlcHJlc3Npb24gYXMgd2VsbCBhcyB0aGUgZWFybHkgaW52b2x2ZW1lbnQgb2YgcGFyZW50cyBpbiB0aGUgdHJlYXRtZW50IHByb2Nlc3MgYXJlIGNlbnRyYWwgY29tcG9uZW50cyBvZiBjYXJlLlwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgc2lnbmlmaWNhbmNlIGRvIHRoZSBuZXcgdGhlcmFwaWVzIGhhdmUgZm9yIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cz9cIiBhPVwiTmV3IHRoZXJhcGllcyBhcmUgXHUyMDE4Z2FtZSBjaGFuZ2Vyc1x1MjAxOSBmb3IgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzLCBhcyB0aGV5IHNpZ25pZmljYW50bHkgaW1wcm92ZSBsaWZlIGV4cGVjdGFuY3kgYW5kIHF1YWxpdHkgb2YgbGlmZS4gSW4gdGhlIHBhc3QsIGN5c3RpYyBmaWJyb3NpcyB3YXMgbWFpbmx5IGEgcGFlZGlhdHJpYyBkaXNlYXNlIHdpdGggYSBzaG9ydCBsaWZlIGV4cGVjdGFuY3kuIFRvZGF5LCBuZXcgdGhlcmFwaWVzIG1ha2UgaXQgcG9zc2libGUgdG8gc2lnbmlmaWNhbnRseSBleHRlbmQgbGlmZSBleHBlY3RhbmN5IGFuZCBpbXByb3ZlIHF1YWxpdHkgb2YgbGlmZS4gTmV2ZXJ0aGVsZXNzLCB0aGUgZGlzZWFzZSBwZXJzaXN0cywgYW5kIHBhdGllbnRzIHN0aWxsIHJlcXVpcmUgY29tcHJlaGVuc2l2ZSB0cmVhdG1lbnQuIEltcHJvdmluZyBxdWFsaXR5IG9mIGxpZmUgdGhyb3VnaCBlYXJseSBhbmQgY29udGludW91cyB0aGVyYXB5IHRoZXJlZm9yZSByZW1haW5zIG9mIGdyZWF0IGltcG9ydGFuY2UuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGlzIHBzeWNob2xvZ2ljYWwgc3VwcG9ydCBpbnRlZ3JhdGVkIGludG8gcmVndWxhciB0cmVhdG1lbnQ/XCIgYT1cIlBzeWNob2xvZ2ljYWwgc3VwcG9ydCBpcyBhbiBpbnRlZ3JhbCBwYXJ0IG9mIHRoZSB0cmVhdG1lbnQgb2YgY3lzdGljIGZpYnJvc2lzLiBDYXJlIGlzIHRha2VuIHRvIGVuc3VyZSB0aGF0IGJvdGggcGF0aWVudHMgYW5kIHRoZWlyIGZhbWlsaWVzIGFyZSBzdXBwb3J0ZWQgYXQgYW4gZWFybHkgc3RhZ2UuIFRoaXMgaW5jbHVkZXMgcmVndWxhciBzY3JlZW5pbmdzIGZvciBhbnhpZXR5IGFuZCBkZXByZXNzaW9uLCBwc3ljaG8tZWR1Y2F0aW9uYWwgbWVhc3VyZXMgYW5kLCBpZiBuZWNlc3NhcnksIGZ1cnRoZXIgcHN5Y2hvdGhlcmFwZXV0aWMgc3VwcG9ydC4gVGhlIHRlYW0gd29ya3Mgb24gYW4gaW50ZXJkaXNjaXBsaW5hcnkgYmFzaXMgdG8gZW5zdXJlIHRoYXQgYWxsIGFzcGVjdHMgb2YgcGF0aWVudCBjYXJlIGFyZSB0YWtlbiBpbnRvIGFjY291bnQuIElmIG5lY2Vzc2FyeSwgZXh0ZXJuYWwgaGVscCBpcyBhbHNvIGFycmFuZ2VkLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBpcyBjby1vcGVyYXRpb24gYmV0d2VlbiBtZWRpY2FsIHNwZWNpYWxpc3RzIGFuZCBwc3ljaG9sb2dpc3RzIGltcHJvdmVkP1wiIGE9XCJUaGUgY29sbGFib3JhdGlvbiBiZXR3ZWVuIG1lZGljYWwgc3BlY2lhbGlzdHMgYW5kIHBzeWNob2xvZ2lzdHMgaXMgY2hhcmFjdGVyaXNlZCBieSBzaG9ydCBjb21tdW5pY2F0aW9uIGNoYW5uZWxzIGFuZCBjbG9zZSBjb29wZXJhdGlvbi4gU3BlY2lhbGlzdHMgY2FuIGV4Y2hhbmdlIGluZm9ybWF0aW9uIHF1aWNrbHkgYW5kIG1ha2UgZGVjaXNpb25zIHRvZ2V0aGVyLiBUaGlzIGVuYWJsZXMgY29tcHJlaGVuc2l2ZSBhbmQgY29vcmRpbmF0ZWQgY2FyZSBmb3IgcGF0aWVudHMuIEVmZmVjdGl2ZSBjb21tdW5pY2F0aW9uIGNoYW5uZWxzIGFyZSBhbHJlYWR5IGluIHBsYWNlIGFuZCB0aGlzIGNsb3NlIGNvLW9wZXJhdGlvbiBpcyBzZWVuIGFzIHZlcnkgcG9zaXRpdmUuIEltcHJvdmVtZW50cyBjb3VsZCBiZSBhY2hpZXZlZCB0aHJvdWdoIGFkZGl0aW9uYWwgdGltZSBzbG90cyBmb3IgZGlhbG9ndWUgb3IgZXhwYW5kZWQgcmVzb3VyY2VzLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBkbyBmYW1pbGllcyByZWFjdCB0byB0aGUgbmV3cyBvZiBhIHNlcmlvdXMgZGlhZ25vc2lzIGFuZCBob3cgaW1wb3J0YW50IGlzIGl0IHRoYXQgdGhleSByZWNlaXZlIHN1cHBvcnQgYXQgYW4gZWFybHkgc3RhZ2U/XCIgYT1cIkZhbWlsaWVzIGFyZSBvZnRlbiBzaG9ja2VkIGF0IGZpcnN0IHdoZW4gdGhleSByZWNlaXZlIHRoZSBkaWFnbm9zaXMuIFRoZXkgZmlyc3QgaGF2ZSB0byBjb21lIHRvIHRlcm1zIHdpdGggaXQgYW5kIHByb2Nlc3MgaXQuIEluaXRpYWxseSwgbWFueSBkb24ndCBhc2sgZm9yIHBzeWNob2xvZ2ljYWwgc3VwcG9ydCBzdHJhaWdodCBhd2F5LCBhbHRob3VnaCB0aGF0IHdvdWxkIGJlIGhlbHBmdWwuIEl0IHdvdWxkIGJlIGdvb2QgaWYgdGhleSB3ZXJlIGluZm9ybWVkIGFib3V0IGFsbCBhdmFpbGFibGUgcmVzb3VyY2VzIGF0IGFuIGVhcmx5IHN0YWdlLCBldmVuIGlmIHRoZXkgZG9uJ3Qgd2FudCB0byBtYWtlIHVzZSBvZiB0aGVtIHN0cmFpZ2h0IGF3YXkuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGRvZXMgYWNjZXNzIHRvIGdlbmUgdGhlcmFweSBhZmZlY3QgdGhlIHBzeWNob2xvZ2ljYWwgZGlzdHJlc3Mgb2YgcGF0aWVudHMgYW5kIGZhbWlsaWVzP1wiIGE9XCJBY2Nlc3MgdG8gZ2VuZSB0aGVyYXB5IGNhbiBoYXZlIGEgc2lnbmlmaWNhbnQgaW1wYWN0IG9uIHBzeWNob2xvZ2ljYWwgZGlzdHJlc3MuIFdoZW4gdGhlcmFweSBpcyBlZmZlY3RpdmUsIGZhbWlsaWVzIG9mdGVuIHNlZSBncmVhdCBwcm9ncmVzcyBhbmQgZmVlbCByZWxpZXZlZC4gQnV0IGlmIHRoZXJlIGlzIG5vIHN1aXRhYmxlIHRoZXJhcHksIG1hbnkgYXJlIHN0dWNrIHdpdGggb2xkZXIsIGxlc3MgZWZmZWN0aXZlIHRyZWF0bWVudHMsIHdoaWNoIGNhbiBsZWFkIHRvIGZydXN0cmF0aW9uIGFuZCBhIHNlbnNlIG9mIGRpc2FkdmFudGFnZS4gVGhlIGRpZmZlcmVuY2UgaW4gcXVhbGl0eSBvZiBsaWZlIGFuZCBvdXRsb29rIGlzIGh1Z2UuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGRvIHBhdGllbnRzIGFuZCBmYW1pbGllcyBmZWVsIGFib3V0IGdlbmUgdGhlcmFweSBjb21wYXJlZCB0byB0cmFkaXRpb25hbCB0aGVyYXBpZXM/XCIgYT1cIlRoZSB3aWxsaW5nbmVzcyB0byBwYXJ0aWNpcGF0ZSBpbiBnZW5lIHRoZXJhcGllcyBpcyBvZnRlbiBoaWdoLCBlc3BlY2lhbGx5IGlmIHRoZSBleGlzdGluZyB0aGVyYXBpZXMgYXJlIG5vdCBzdWZmaWNpZW50LiBUaGVyZSBpcyBhIGdyZWF0IG9wZW5uZXNzIHRvIG5ldyBhcHByb2FjaGVzLCBldmVuIGlmIHRoZXkgYXJlIG5ldyBhbmQgcG9zc2libHkgbm90IHlldCBmdWxseSB0ZXN0ZWQuIFRoZSBob3BlIGZvciBwcm9ncmVzcyBhbmQgaW1wcm92ZW1lbnQgaXMgc3Ryb25nLCBidXQgdGhlcmUgYXJlIGFsc28gY29uY2VybnMgYW5kIHVuY2VydGFpbnRpZXMgYWJvdXQgbmV3IHRoZXJhcGllcy5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGF0IHBzeWNob2xvZ2ljYWwgY2hhbGxlbmdlcyBjYW4gYXJpc2UgZm9sbG93aW5nIHRoZSBpbnRyb2R1Y3Rpb24gb2YgbmV3IHRoZXJhcGllcz9cIiBhPVwiTmV3IHRoZXJhcGllcyBub3Qgb25seSBicmluZyByZWxpZWYsIGJ1dCBhbHNvIGNoYWxsZW5nZXMuIFBhdGllbnRzIGFuZCBmYW1pbGllcyBoYXZlIHRvIGFkYXB0IHRvIGEgY2hhbmdlZCByZWFsaXR5LiBJZGVudGl0eSBjcmlzZXMgY2FuIG9jY3VyLCBlc3BlY2lhbGx5IGlmIHRoZSBpbGxuZXNzIGhhcyBiZWVuIGEgYmlnIHBhcnQgb2YgbGlmZSBmb3IgYSBsb25nIHRpbWUuIFRoZSBwcm9jZXNzIG9mIGFkanVzdG1lbnQgYW5kIHRoZSBwb3NzaWJsZSBmZWVsaW5ncyBvZiBhbGllbmF0aW9uIGZyb20gdGhlIHByZXZpb3VzIGNvbW11bml0eSBjYW4gY2F1c2UgYWRkaXRpb25hbCBwc3ljaG9sb2dpY2FsIHN0cmVzcy5cIi8+XG4gICAgPFFhQm94IHE9XCJIb3cgaW1wb3J0YW50IGlzIGNvbXByZWhlbnNpdmUgaW5mb3JtYXRpb24gYW5kIHBzeWNob2xvZ2ljYWwgc3VwcG9ydCBpbiBjb25uZWN0aW9uIHdpdGggZ2VuZSB0aGVyYXBpZXM/XCIgYT1cIkl0IGlzIGV4dHJlbWVseSBpbXBvcnRhbnQgdGhhdCBwYXRpZW50cyByZWNlaXZlIGNvbXByZWhlbnNpdmUgaW5mb3JtYXRpb24gYW5kIHBzeWNob2xvZ2ljYWwgc3VwcG9ydC4gUGVvcGxlIHNob3VsZCBrbm93IHdoYXQgdGhleSBjYW4gZXhwZWN0IGZyb20gdGhlIHRoZXJhcHkgYW5kIHdoYXQgYWRqdXN0bWVudHMgbWlnaHQgYmUgbmVjZXNzYXJ5LiBUYWxraW5nIG9wZW5seSBhYm91dCBwb3NzaWJsZSBkaXNhcHBvaW50bWVudHMgYW5kIGNoYWxsZW5nZXMgY2FuIGhlbHAgdGhlbSB0byBjb3BlIGJldHRlciB3aXRoIHRoZSBjaGFuZ2VzLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBkb2VzIHRoZSByb2xlIG9mIHN1cHBvcnQgZ3JvdXBzIGFuZCBwYXRpZW50IG9yZ2FuaXNhdGlvbnMgaW5mbHVlbmNlIGNvbmZpZGVuY2UgaW4gbmV3IHRoZXJhcGllcz9cIiBhPVwiU3VwcG9ydCBncm91cHMgYW5kIHBhdGllbnQgb3JnYW5pc2F0aW9ucyBhcmUgY3J1Y2lhbCBmb3IgY29uZmlkZW5jZSBpbiBuZXcgdGhlcmFwaWVzLiBJZiB0aGV5IGFyZSBhY3RpdmVseSBpbnZvbHZlZCBpbiByZXNlYXJjaCBhbmQgcHJvdmlkZSB0cmFuc3BhcmVudCBpbmZvcm1hdGlvbiwgdGhpcyBzdHJlbmd0aGVucyBwYXRpZW50IGNvbmZpZGVuY2UuIFRoZSB1c2Ugb2YgZG9uYXRpb25zIGFuZCB0aGUgZXN0YWJsaXNobWVudCBvZiByZWdpc3RyaWVzIGJ5IHN1Y2ggb3JnYW5pc2F0aW9ucyBjcmVhdGVzIHRydXN0IGFuZCBzaG93cyB0aGF0IHRoZXJlIGFyZSBzZXJpb3VzIGVmZm9ydHMgdG8gaW1wcm92ZSB0aGUgc2l0dWF0aW9uLlwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgYXJlIHRoZSBjaGFsbGVuZ2VzIGluIGFkYXB0aW5nIHRoZXJhcGllcyB0byBkaWZmZXJlbnQgZ2VuZXRpYyBtdXRhdGlvbnM/XCIgYT1cIkFkYXB0aW5nIHRoZXJhcGllcyB0byBkaWZmZXJlbnQgZ2VuZXRpYyBtdXRhdGlvbnMgaXMgYSBtYWpvciBjaGFsbGVuZ2UuIFdoaWxlIHRoZXJlIGhhcyBiZWVuIHByb2dyZXNzIGluIHRoZSB0cmVhdG1lbnQgb2YgY2VydGFpbiBtdXRhdGlvbnMgc3VjaCBhcyBEZWx0YS1GNTA4LCB3ZSBhcmUgc3RpbGwgYXQgdGhlIGJlZ2lubmluZyB3aXRoIG90aGVycy4gSW4gdGhlIGxvbmcgdGVybSwgYSBtb2R1bGFyIGdlbmUgdGhlcmFweSB0aGF0IGlzIGN1c3RvbWlzZWQgdG8gdGhlIHNwZWNpZmljIG11dGF0aW9ucyB3b3VsZCBiZSBpZGVhbC4gSXQgd2lsbCB0YWtlIGEgbG90IG9mIHdvcmsgdG8gZGV2ZWxvcCB0aGVzZSB0aGVyYXBpZXMgZm9yIGFsbCByZWxldmFudCBtdXRhdGlvbnMuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGRvIGZhbWlsaWVzIGFuZCBwYXRpZW50cyBkZWFsIHdpdGggdGhlIHJhcGlkIGZlZWRiYWNrIG9uIGV4cGVyaW1lbnRhbCB0aGVyYXBpZXM/XCIgYT1cIklmIHlvdSByZWFsaXNlIHRoYXQgYSB0aGVyYXB5IGlzIG5vdCB3b3JraW5nIGFzIGV4cGVjdGVkLCB0aGlzIGlzIGNvbW11bmljYXRlZCB2ZXJ5IHF1aWNrbHkuIFRoZSBmZWVkYmFjayBzeXN0ZW0gaXMgcXVpdGUgZWZmZWN0aXZlOiBlaXRoZXIgdGhlcmUgaXMgY2F1c2UgZm9yIGV1cGhvcmlhIGJlY2F1c2UgZXZlcnl0aGluZyBpcyBnb2luZyB3ZWxsLCBvciB0aGVyZSBpcyBiYWQgbmV3cy4gVGhpcyBxdWljayBmZWVkYmFjayBpcyBhbHNvIHJlYXNzdXJpbmcgYmVjYXVzZSBpdCBtZWFucyB5b3UgZG9uJ3QgaGF2ZSB0byBiZSBpbiB0aGUgZGFyayBmb3IgbG9uZy4gWW91IGFyZSBzaW1wbHkgZ3JhdGVmdWwgd2hlbiB5b3Uga25vdyBob3cgdGhlIHRoZXJhcHkgaXMgZ29pbmcsIGV2ZW4gaWYgaXQgaXMgbm90IGhhdmluZyB0aGUgZGVzaXJlZCBlZmZlY3QuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGltcG9ydGFudCBpcyB0aGUgY29tbXVuaXR5IGZvciBjeXN0aWMgZmlicm9zaXMgc3VmZmVyZXJzP1wiIGE9XCJUaGUgY3lzdGljIGZpYnJvc2lzIGNvbW11bml0eSBpcyBpbmNyZWRpYmx5IHN0cm9uZyBhbmQgd2VsbCBjb25uZWN0ZWQuIFRoYXQncyByZWFsbHkgaW1wcmVzc2l2ZS4gVGhvc2UgYWZmZWN0ZWQgb2Z0ZW4gaGF2ZSBubyBvdGhlciBwb2ludCBvZiBjb250YWN0IHRoYW4gdGhpcyBjb21tdW5pdHkgdG8gZXhjaGFuZ2UgaW5mb3JtYXRpb24uIEl0J3MgYSByZWxpYWJsZSBzb3VyY2Ugb2YgdmFsaWQgaW5mb3JtYXRpb24sIGFuZCB0aGF0J3Mgd29ydGggaXRzIHdlaWdodCBpbiBnb2xkLiBUaGUgY29tbXVuaXR5IGlzIGhvbmVzdCBhbmQgcmVhbGlzdGljIC0gdGhlcmUgaXMgbm8gc3VnYXJjb2F0aW5nLCB0aGUgaW5mb3JtYXRpb24gaXMgZGlyZWN0IGFuZCB3ZWxsIGRvY3VtZW50ZWQuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hhdCBpcyB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gZGlmZmVyZW50IHNwZWNpYWxpc3QgZGlzY2lwbGluZXMgaW4gdGhlIHRyZWF0bWVudCBvZiBjeXN0aWMgZmlicm9zaXM/XCIgYT1cIkluIGN5c3RpYyBmaWJyb3NpcyB0cmVhdG1lbnQsIHRoZSBzcGVjaWFsaXN0IGRpc2NpcGxpbmVzIHdvcmsgdG9nZXRoZXIgYXMgZXF1YWxzLiBBdCBjb25ncmVzc2VzLCBhbGwgZGlzY2lwbGluZXMgc3VjaCBhcyBwaHlzaW9zLCBkb2N0b3JzLCBwc3ljaG9sb2dpc3RzIGFuZCBudXRyaXRpb25pc3RzIGFyZSBlcXVhbGx5IHJlcHJlc2VudGVkLiBFdmVyeW9uZSB0YWtlcyBlYWNoIG90aGVyIHNlcmlvdXNseSBhbmQgdGhlcmUgaXMgYSBzdHJvbmcgaW50ZXJlc3QgaW4gZGV2ZWxvcGluZyBlYWNoIG90aGVyIGZ1cnRoZXIuIFRoaXMgaXMgcmVhbGx5IGV4Y2l0aW5nIGJlY2F1c2UgaXQgc2hvd3MgdGhhdCBldmVyeW9uZSBpcyB3b3JraW5nIHRvZ2V0aGVyIHRvIHByb3ZpZGUgdGhlIGJlc3QgY2FyZS5cIi8+XG4gICAgPFFhQm94IHE9XCJIb3cgZG8gZmFtaWxpZXMgZGVhbCB3aXRoIHRoZSBjaGFsbGVuZ2VzIG9mIHRoZXJhcHkgYW5kIHRoZSBmaW5hbmNpYWwgYXNwZWN0cz9cIiBhPVwiTWFueSBmYW1pbGllcyBhcmUgY29uZnJvbnRlZCB3aXRoIGV4dHJlbWVseSBoaWdoIHRoZXJhcHkgYW5kIHRyZWF0bWVudCBjb3N0cy4gVGhlcmUgaGFzIGJlZW4gcHJvZ3Jlc3MgYW5kIG1hbnkgdHJlYXRtZW50IG9wdGlvbnMgaW4gR2VybWFueSwgYnV0IHRoZXNlIGFyZSBvZnRlbiBleHBlbnNpdmUgYW5kIG5vdCBhdmFpbGFibGUgZXZlcnl3aGVyZS4gQXMgYSByZXN1bHQsIHNvbWUgZmFtaWxpZXMgYXJlIGZvcmNlZCB0byBsZWF2ZSB0aGVpciBob21lIGNvdW50cnkgaW4gb3JkZXIgdG8gcmVjZWl2ZSBiZXR0ZXIgbWVkaWNhbCBjYXJlLiBUaGlzIGlzIGFuIGVub3Jtb3VzIGJ1cmRlbiBhbmQgc2hvd3MgaG93IHVuZmFpciB0aGUgZGlzdHJpYnV0aW9uIG9mIHJlc291cmNlcyBpcyB3b3JsZHdpZGUuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGlzIG1lZGljYWwgY2FyZSBmb3IgcmVmdWdlZXMgb3JnYW5pc2VkP1wiIGE9XCJGb3IgcmVmdWdlZXMgZnJvbSBjb3VudHJpZXMgc3VjaCBhcyBVa3JhaW5lIG9yIG90aGVyIGNyaXNpcyBhcmVhcywgY2FyZSBpcyBvZnRlbiBhIGNoYWxsZW5nZS4gRHVyaW5nIGVtZXJnZW5jeSBjYXJlLCB0aGUgY2hpbGRyZW4gYXJlIHRyZWF0ZWQgYXMgaWYgdGhleSB3ZXJlIEdlcm1hbiBwYXRpZW50cy4gQnV0IHdoZW4gdGhlIHJlZnVnZWVzIGhhdmUgdG8gcmV0dXJuIHRvIHRoZWlyIGhvbWUgY291bnRyaWVzLCB0aGUgdGhlcmFweSBvZnRlbiBlbmRzLCB3aGljaCBpcyBhbiBlbm9ybW91cyBidXJkZW4gZm9yIHRoZSBmYW1pbGllcy4gSXQgaXMgZGlmZmljdWx0IGZvciB0aGVtIHRvIHByZXBhcmUgZm9yIHRoZSBmdXR1cmUgd2hlbiB0aGVpciBzdGF0dXMgaXMgdW5jbGVhciwgYW5kIHRoZXkgY29uc3RhbnRseSBsaXZlIHdpdGggdGhlIGZlYXIgb2YgYmVpbmcgZGVwb3J0ZWQuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IG11Y2ggcHN5Y2hvbG9naWNhbCBzdHJlc3MgaXMgY2F1c2VkIGJ5IHRoZXJhcGllcyBhbmQgdGhlaXIgaW1wbGVtZW50YXRpb24/XCIgYT1cIlRoZXJhcGllcyBjYW4gYmUgYSBtYWpvciBwc3ljaG9sb2dpY2FsIGJ1cmRlbiwgZXZlbiBpZiB0aGV5IGhhdmUgZnVuZGFtZW50YWxseSBwb3NpdGl2ZSBlZmZlY3RzLiBSZWd1bGFyIGluaGFsYXRpb25zLCB0YWJsZXRzIGFuZCBvdGhlciB0cmVhdG1lbnRzIGFyZSBvZnRlbiB0ZWRpb3VzIGFuZCByZXF1aXJlIGEgbG90IG9mIGRpc2NpcGxpbmUuIFNvbWUgcGF0aWVudHMgZmluZCBpdCBleHRyZW1lbHkgY2hhbGxlbmdpbmcgdG8gc3RpY2sgdG8gYSByZWd1bGFyIHRoZXJhcHkgc2NoZWR1bGUsIGVzcGVjaWFsbHkgaWYgdGhlIHRoZXJhcHkgZG9lcyBub3QgYnJpbmcgYW55IGltbWVkaWF0ZWx5IHZpc2libGUgcHJvZ3Jlc3MgaW4gdGhlIGxvbmcgdGVybS4gSXQgaXMgaW1wb3J0YW50IHRvIGJlIHJlYWxpc3RpYyBhYm91dCB0aGUgYnVyZGVuIG9mIHRoZXJhcHksIGFzIGl0IGNhbiBoYXZlIGEgbWFqb3IgaW1wYWN0IG9uIGRhaWx5IGxpZmUgYW5kIHdlbGwtYmVpbmcuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGRvIHBhdGllbnRzIHJlYWN0IHRvIG5ldyB0aGVyYXBpZXMgYW5kIHRoZSBhc3NvY2lhdGVkIGNoYWxsZW5nZXM/XCIgYT1cIk1hbnkgcGF0aWVudHMgYXJlIG9wZW4gdG8gbmV3IHRoZXJhcGllcyBidXQgaW1wbGVtZW50aW5nIHRoZW0gY2FuIGJlIGEgbWFqb3IgY2hhbGxlbmdlLiBJZiBhIG5ldyB0aGVyYXB5IGRvZXNuJ3Qgd29yayBpbW1lZGlhdGVseSBhdCBmaXJzdCBvciBldmVuIGhhcyBzaWRlIGVmZmVjdHMsIHRoaXMgY2FuIGJlIGRlbW90aXZhdGluZy4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgZGlmZmljdWx0IGlmIHlvdSBoYXZlIGJlZW4gdW5kZXJnb2luZyB0cmVhdG1lbnQgZm9yIGEgbG9uZyB0aW1lIGFuZCBhcmUgaG9waW5nIHRvIG1ha2UgZ3JlYXQgcHJvZ3Jlc3MuIFRoZSBwYXRoIHRvIGEgYmV0dGVyIGNvbmRpdGlvbiBpcyBvZnRlbiBhcmR1b3VzIGFuZCBub3QgZXZlcnkgdGhlcmFweSBicmluZ3MgdGhlIGRlc2lyZWQgaW1wcm92ZW1lbnQuIE5ldmVydGhlbGVzcywgaXQgaXMgaW1wb3J0YW50IHRvIGtlZXAgZ29pbmcgYW5kIHBlcnNldmVyZSB3aXRoIHRoZSB0aGVyYXB5LCBldmVuIGlmIHRoZXJlIGFyZSBoYXJkIHRpbWVzLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBtdWNoIG9mIHRoZSBvdmVyYWxsIGlsbG5lc3MgaXMgcHN5Y2hvbG9naWNhbCBkaXN0cmVzcywgaW4gYWRkaXRpb24gdG8gdGhlIHBoeXNpY2FsIHN5bXB0b21zIGFuZCBkaXN0cmVzcyBmcm9tIHRoZXJhcGllcz9cIiBhPVwiVGhlIHBzeWNob2xvZ2ljYWwgcGFydCBvZiB0aGUgYnVyZGVuIGlzIGRpZmZpY3VsdCB0byBxdWFudGlmeSwgYXMgaXQgdmFyaWVzIGdyZWF0bHkgZnJvbSBpbmRpdmlkdWFsIHRvIGluZGl2aWR1YWwgYW5kIGlzIGluZmx1ZW5jZWQgYnkgbWFueSBmYWN0b3JzLiBUaGUgaW50ZXJhY3Rpb24gYmV0d2VlbiBwc3ljaG9sb2dpY2FsIHN0YWJpbGl0eSBhbmQgcGh5c2ljYWwgaGVhbHRoIGlzIGNvbnNpZGVyYWJsZSwgYXMgcHN5Y2hvbG9naWNhbCBzdHJlc3MgY2FuIGltcGFpciBzZWxmLWNhcmUgYW5kIHRodXMgcGh5c2ljYWwgaGVhbHRoLiBBdCBkaWZmZXJlbnQgc3RhZ2VzIG9mIGxpZmUsIHRoZSBwc3ljaG9sb2dpY2FsIGNvbXBvbmVudCBjYW4gdmFyeS4gRm9yIGV4YW1wbGUsIGl0IGNhbiBpbmNyZWFzZSBkdXJpbmcgcHViZXJ0eSBhbmQgeW91bmcgYWR1bHRob29kLiBUaGUgcHN5Y2hvbG9naWNhbCBjb21wb25lbnQgaXMgdGhlcmVmb3JlIG5vdCBzbWFsbCBhbmQgdmFyaWVzIGRlcGVuZGluZyBvbiB0aGUgaW5kaXZpZHVhbCBzaXR1YXRpb24gYW5kIHBoYXNlIG9mIGxpZmUuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGlzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBkaXNlYXNlIGFzc2Vzc2VkIHRocm91Z2ggcHJvamVjdHMgc3VjaCBhcyBNdWtvTW92ZSBvciBwcm9qZWN0cyBmb3IgY2hpbGRyZW4/XCIgYT1cIlRoZSB2aXNpYmlsaXR5IG9mIHRoZSBkaXNlYXNlIHRocm91Z2ggc3VjaCBwcm9qZWN0cyBjYW4gYmUgaGVscGZ1bCBpbiByYWlzaW5nIGF3YXJlbmVzcy4gV2l0aCByYXJlIGRpc2Vhc2VzIHN1Y2ggYXMgY3lzdGljIGZpYnJvc2lzLCB0aGUgZGlzZWFzZSBvZnRlbiByZW1haW5zIGFic3RyYWN0IGlmIHRoZXJlIGFyZSBubyBwZW9wbGUgZGlyZWN0bHkgYWZmZWN0ZWQgbmVhcmJ5LiBFZHVjYXRpb25hbCBwcm9qZWN0cyBzdWNoIGFzIE11a29Nb3ZlIGNhbiBoZWxwIGNoaWxkcmVuIGRldmVsb3AgYSBiZXR0ZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgZGlzZWFzZSwgZXZlbiBpZiB0aGUgaW1wYWN0IGlzIGxpbWl0ZWQgaWYgdGhlcmUgYXJlIG5vIGRpcmVjdCBwb2ludHMgb2YgcmVmZXJlbmNlLiBIb3dldmVyLCBpdCBjYW4gYmUgaGVscGZ1bCBpZiBwYXRpZW50cyB0aGVtc2VsdmVzIGV4cGxhaW4gdGhlaXIgZGlzZWFzZSBpbiBzY2hvb2xzIG9yIGNsYXNzZXMsIGFzIHRoaXMgcHJvdmlkZXMgZGlyZWN0IGFuZCBwZXJzb25hbCBpbnNpZ2h0cy5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGF0IGFyZSBpbXBvcnRhbnQgYXNwZWN0cyBvZiBkZXNpZ25pbmcgYSBnZW5lIHRoZXJhcHkgcHJvamVjdCBzbyB0aGF0IGl0IGlzIHZpZXdlZCBwb3NpdGl2ZWx5IGJ5IGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cz9cIiBhPVwiV2hlbiBkZXNpZ25pbmcgYSBnZW5lIHRoZXJhcHkgcHJvamVjdCwgY2FyZSBzaG91bGQgYmUgdGFrZW4gdG8gbWluaW1pc2UgdGhlIHByYWN0aWNhbCBodXJkbGVzLiBUaGUgdGhlcmFweVwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgdGlwcyBjYW4gYmUgZ2l2ZW4gdG8gaW1wcm92ZSB0aGUgYWNjZXNzaWJpbGl0eSBhbmQgYWNjZXB0YW5jZSBvZiBwcm9qZWN0cyBvciB0aGVyYXBpZXMgaW4gY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzPyBcIiBhPVwiSXQgaXMgaW1wb3J0YW50IHRvIGVuc3VyZSB0aGUgYWNjZXNzaWJpbGl0eSBvZiBwcm9qZWN0cyBhbmQgdGhhdCB0aGV5IGFyZSBwcmFjdGljYWwgdG8gaW1wbGVtZW50LiBUaGUgYnVyZGVuIG9uIHBhdGllbnRzIHNob3VsZCBiZSBtaW5pbWlzZWQuIFRoaXMgaW5jbHVkZXMgZW5zdXJpbmcgdGhhdCB0aGUgdGhlcmFweSBpcyBub3Qgb25seSBlZmZlY3RpdmUgYnV0IGFsc28gYXMgcGxlYXNhbnQgYXMgcG9zc2libGUuIEluIGFkZGl0aW9uLCBjb21tdW5pY2F0aW9uIGFib3V0IHRoZSBwcm9ncmVzcyBvZiB0aGUgdGhlcmFweSBzaG91bGQgYmUgdHJhbnNwYXJlbnQgYW5kIHVuZGVyc3RhbmRhYmxlIHRvIGJ1aWxkIHRydXN0IGFuZCBtYWtlIGl0IGNsZWFyIHRvIHBhdGllbnRzIGhvdyB0aGV5IGNhbiBiZW5lZml0IGZyb20gdGhlIG5ldyBkZXZlbG9wbWVudHMuIFwiLz4gXG4gICAgPC8+LFxuICAgIHBpY3R1cmV1cmxfYWltOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvaW50ZWdyYXRlZC1odW1hbi1wcmFjdGljZXMvb24tb3VyLXdheS10by1pbnRlcnZpZXctcHN5Y2hvbG9naXN0cy53ZWJwXCIsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJEci5cIixcbiAgICB2b3JuYW1lOiBcIk1ha290b1wiLFxuICAgIG5hY2hubmFtZTogXCJTYWl0b1wiLFxuICAgIGpvYjogXCJQb3N0ZG9jXCIsXG4gICAgYWZmaWxpYXRpb246IFwiQnJvYWQgSW5zdGl0dXRlIG9mIE1JVCBhbmQgSGFydmFyZFwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3NhaXRvJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJJbnNpZ2h0cyBhbmQgUmVjb21tZW5kYXRpb25zIGZyb20gSW50ZXJ2aWV3IG9uIFByb3RlaW4gRW5naW5lZXJpbmdcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJzYWl0b1wiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOlwiZW5cIixcbiAgICBxdW90ZTogXCJYXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlRoZSBhaW0gb2YgdGhlIGludGVydmlldyB3YXMgdG8gZ2FpbiBkZWVwZXIgaW5zaWdodHMgaW50byB0aGUgdG9waWMgb2YgcHJvdGVpbiBlbmdpbmVlcmluZywgZXNwZWNpYWxseSB3aXRoIHJlZ2FyZCB0byBGYW56b3IgKFNwdUZ6KSBhbmQgdG8gZ2V0IGZlZWRiYWNrIG9uIG91ciBleGlzdGluZyBhcHByb2FjaGVzIGZvciBwb3NzaWJsZSBuaWNrYXNlcywgYXMgd2VsbCBhcyBmb3IgdGhlIHBsYW5uZWQgbmlja2FzZSBhc3NheS4gXCIsXG4gICAgaW5zaWdodHM6IFwiVGhlIGludGVydmlldyBwcm92aWRlZCB0aGUgaUdFTSB0ZWFtIHdpdGggdmFsdWFibGUgYWR2aWNlIHJlZ2FyZGluZyB0aGVpciBQcmltZSBFZGl0aW5nIHByb2plY3QgYW5kIGVzcGVjaWFsbHkgb24gdGhlaXIgcGxhbm5lZCBuaWNrYXNlIGFzc2F5LiBEciBTYWl0byBnYXZlIGRldGFpbGVkIGZlZWRiYWNrIG9uIHRlY2huaWNhbCBjaGFsbGVuZ2VzLCBlc3BlY2lhbGx5IHdpdGggcHJvdGVpbiBleHByZXNzaW9uIGluIEUuIGNvbGksIGFuZCBzdWdnZXN0ZWQgc3dpdGNoaW5nIHRvIHllYXN0IGZvciBiZXR0ZXIgcmVzdWx0cy4gSGUgYWxzbyBlbmNvdXJhZ2VkIHRoZSB0ZWFtIHRvIHBsYW4gY2FyZWZ1bGx5LCBnaXZlbiB0aGUgcHJvamVjdCdzIGNvbXBsZXhpdHksIGFuZCBvZmZlcmVkIGd1aWRhbmNlIG9uIGZ1dHVyZSBleHBlcmltZW50cy5cdTIwMkYgXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiV2UgaGF2ZSBhZGFwdGVkIG91ciBwbGFubmVkIG5pY2thc2UgYXNzYXkgYWNjb3JkaW5nIHRvIERyIFNhaXRvJ3MgYWR2aWNlIGFuZCBjaGFuZ2VkIGl0IGFjY29yZGluZ2x5IHRvIGV4cHJlc3Npb24gb2YgdGhlIFJOUCBjb21wbGV4IHVzaW5nIHllYXN0LlwiLFxuICAgIHN1bW1hcnk6IFwiVGhlIGludGVydmlldyBhaW1lZCB0byBnYWluIGluc2lnaHRzIGludG8gcHJvdGVpbiBlbmdpbmVlcmluZywgcGFydGljdWxhcmx5IHJlZ2FyZGluZyBGYW56b3IgKFNwdUZ6KSwgYW5kIHRvIGdldCBmZWVkYmFjayBvbiBwb3RlbnRpYWwgbmlja2FzZXMgYW5kIGEgcGxhbm5lZCBuaWNrYXNlIGFzc2F5LiBEci4gU2FpdG8gcHJvdmlkZWQgdmFsdWFibGUgYWR2aWNlLCBzdWdnZXN0aW5nIHRoZSB1c2Ugb2YgeWVhc3QgZm9yIHByb3RlaW4gZXhwcmVzc2lvbiBvdmVyIEUuIGNvbGkgZHVlIHRvIHRlY2huaWNhbCBjaGFsbGVuZ2VzIGFuZCBlbmNvdXJhZ2VkIGNhcmVmdWwgcGxhbm5pbmcuIEJhc2VkIG9uIGhpcyBmZWVkYmFjaywgdGhlIGlHRU0gdGVhbSBoYXMgYWRhcHRlZCB0aGVpciBuaWNrYXNlIGFzc2F5IHRvIGV4cHJlc3MgdGhlIFJOUCBjb21wbGV4IGluIHllYXN0LCBhbGlnbmluZyB3aXRoIERyLiBTYWl0bydzIHJlY29tbWVuZGF0aW9ucy5cIixcbiAgICBtb250aHM6IFwiYXVndXN0XCIsXG4gICAgaW50ZXJ2aWV3Ojw+XG4gICAgPFFhQm94IHE9XCJBcmUgeW91IGZhbWlsaWFyIHdpdGggaUdFTSwgYnkgdGhlIHdheT9cIiBhPVwiT2YgY291cnNlLCBJIGtub3cgaXQuXCIvPlxuICAgIDxRYUJveCBxPVwiRGlkIHlvdSBwYXJ0aWNpcGF0ZSB5b3Vyc2VsZiBhdCBzb21lIHBvaW50P1wiIGE9XCJVbmZvcnR1bmF0ZWx5LCBJIGRpZG4ndC4gSSBiZWxvbmcgdG8gYW4gZWFybGllciBnZW5lcmF0aW9uLiBpR0VNIGFjdHVhbGx5IHN0YXJ0ZWQgcmVsYXRpdmVseSByZWNlbnRseS5cIi8+XG4gICAgPFFhQm94IHE9XCJXZSB0aG91Z2h0IGZvciB0aGUgc3RydWN0dXJlIG9mIHRoZSBpbnRlcnZpZXcsIHdlIHdvdWxkIHN0YXJ0IGJ5IGdpdmluZyB5b3UgYSBicmllZiBvdmVydmlldyBvZiBvdXIgcHJvamVjdCBzbyBmYXIgdG8gZmFtaWxpYXJpemUgeW91IHdpdGggaXQuIFRoZW4sIHdlXHUyMDE5bGwgbW92ZSBvbiB0byB0aGUgcXVlc3Rpb25zLiBJcyB0aGF0IG9rYXk/XCIgYT1cIlllcywgb2YgY291cnNlLCBwbGVhc2UgZ28gYWhlYWQuXCIvPlxuICAgIDxRYUJveCBxPVwiV2UndmUgYmVlbiB3b3JraW5nIG9uIHRoaXMgcHJvamVjdCBmb3IgbW9yZSB0aGFuIGhhbGYgYSB5ZWFyIG5vdy4gSXQgYmVnYW4gYmVjYXVzZSBvbmUgb2Ygb3VyIHRlYW0gbWVtYmVycyBoYXMgYSBmcmllbmQgd2l0aCBjeXN0aWMgZmlicm9zaXMuIFRoYXQgZ290IHVzIGludGVyZXN0ZWQgaW4gdGhlIHRvcGljLiBXZSBzdGFydGVkIGJ5IGludmVzdGlnYXRpbmcgaG93IGdlbmUgZWRpdGluZyB0ZWNobm9sb2dpZXMgbGlrZSBDUklTUFItQ2FzOSBjb3VsZCBiZSBhcHBsaWVkIHRvIGN5c3RpYyBmaWJyb3Npcy4gVGhlbiwgd2UgZXhwbG9yZWQgcHJpbWUgZWRpdGluZyBhbmQgY29uc2lkZXJlZCBpZiBpdCBjb3VsZCBiZSB1c2VkIGZvciB0aGlzIGRpc2Vhc2Ugb3IgYWRhcHRlZCBmb3Igb3RoZXIgYXBwbGljYXRpb25zLiBJbml0aWFsbHksIHdlIHdvbmRlcmVkIGlmIHdlIGNvdWxkIG1ha2UgcHJpbWUgZWRpdGluZyBtb3JlIGNvbXBhY3QsIGVzcGVjaWFsbHkgc2luY2UgZGVsaXZlcnkgaXMgY2hhbGxlbmdpbmcgZHVlIHRvIGl0cyBsYXJnZSBjb21wbGV4IHNpemUuIFdlIGxvb2tlZCBpbnRvIHZhcmlvdXMgZGVsaXZlcnkgbWV0aG9kcywgaW5jbHVkaW5nIEFBVnMgKEFkZW5vLUFzc29jaWF0ZWQgVmlydXNlcykuIE91ciBmaXJzdCBhcHByb2FjaCB3YXMgdG8gZXhwbG9yZSBhbHRlcm5hdGl2ZSBuaWNrYXNlcyBhbmQgcG9zc2libHkgZW5naW5lZXIgbmV3IG9uZXMuIFRoYXQncyBob3cgd2UgY2FtZSBhY3Jvc3MgeW91ciByZXNlYXJjaCBcdTIwMTMgRmFuem9yLiBXZSBhbHNvIGNvbnNpZGVyZWQgb3RoZXIgY2FuZGlkYXRlcyBsaWtlIENhc1guIEFyZSB5b3UgZmFtaWxpYXIgd2l0aCBDYXNYP1wiIGE9XCJZZXMsIEkgYW0uXCIvPlxuICAgIDxRYUJveCBxPVwiV2UncmUgYWxzbyBleHBlcmltZW50aW5nIHdpdGggY2hhbmdlcyB0byB0aGUgZWRpdGluZyBjb21wbGV4IGl0c2VsZi4gSW4gYWRkaXRpb24sIHdlIGFpbSB0byBkZWxpdmVyIHRoZSBlZGl0aW5nIGNvbXBsZXggdXNpbmcgbmFub3BhcnRpY2xlcy4gV2UgY2hvc2UgdG8gZm9jdXMgb24gdGhlIGx1bmdzLCBob3BpbmcgdGhhdCB0YXJnZXRpbmcgdGhpcyBhcmVhIHdvdWxkIHJlZHVjZSB0aGUgbmVlZCBmb3IgQUFWIHZpcnVzZXMsIG1ha2luZyB0aGUgZGVsaXZlcnkgbGVzcyBpbW11bm9nZW5pYyBhbmQgbm90IGFzIGxpbWl0ZWQgYnkgc2l6ZS5cIiBhPVwiU28sIGluIHRoaXMgaUdFTSBwcm9qZWN0LCB5b3UncmUgd29ya2luZyBvbiBib3RoIHJlZHVjaW5nIHRoZSBzaXplIG9mIHRoZSBwcmltZSBlZGl0b3IgYW5kIGRldmVsb3BpbmcgbmFub3BhcnRpY2xlcyBmb3IgZGVsaXZlcnk/XCIvPlxuICAgIDxRYUJveCBxPVwiWWVzLCB0aGF0XHUyMDE5cyB0aGUgcGxhbi4gQmVmb3JlIHdlIHN0YXJ0IHdpdGggdGhlIG1haW4gcXVlc3Rpb25zLCBob3cgbXVjaCB0aW1lIGRvIHlvdSBoYXZlPyBJcyBoYWxmIGFuIGhvdXIgb2theT9cIiBhPVwiTm8gcHJvYmxlbSwgaGFsZiBhbiBob3VyIGlzIGZpbmUuXCIvPlxuICAgIDxRYUJveCBxPVwiR3JlYXQhIFRoZW4sIGxldFx1MjAxOXMgc3RhcnQgd2l0aCB0aGUgZmlyc3QgcXVlc3Rpb24uIE91ciBhcHByb2FjaCB0byBtb2RpZnlpbmcgdGhlIGVuZG9udWNsZWFzZSBGQU5aT1Igc3RhcnRlZCB3aXRoIHVuZGVyc3RhbmRpbmcgaXRzIG1lY2hhbmlzbS4gQ291bGQgd2UgZ28gb3ZlciB0aGlzIG1lY2hhbmlzbSB3aXRoIHlvdSB0byBlbnN1cmUgd2UgdW5kZXJzdG9vZCBpdCBjb3JyZWN0bHk/XCIgYT1cIk9mIGNvdXJzZSwgcGxlYXNlIGdvIGFoZWFkLlwiLz5cbiAgICA8UWFCb3ggcT1cIkFzIHdlIHVuZGVyc3RhbmQgaXQsIHRoZSBGQU5aT1IgcHJvdGVpbiBoYXMgZGlmZmVyZW50IGRvbWFpbnMsIGluY2x1ZGluZyB0aGUgUnV2QyBhbmQgdGhlIE5VQyBkb21haW4uIFRoZSBSdXZDIGRvbWFpbiBjdXRzIHRoZSBETkEgYWZ0ZXIgYmluZGluZy4gSXMgdGhhdCBjb3JyZWN0P1wiIGE9XCJBY3R1YWxseSwgd2UgZG9uJ3QgY2FsbCB0aGlzIGRvbWFpbiB0aGUgTlVDIGRvbWFpbiBhbnltb3JlLiBJbiB0aGUgcGFzdCwgYWJvdXQgZWlnaHQgeWVhcnMgYWdvLCByZXNlYXJjaGVycyB0aG91Z2h0IGl0IHdhcyBhIG51Y2xlYXNlIGRvbWFpbiwgY2FsbGVkIHRoZSAnTlVDJyBkb21haW4uIEhvd2V2ZXIsIG5vdyB3ZSBrbm93IHRoYXQgdGhpcyBkb21haW4gaXRzZWxmIGRvZXMgbm90IGhhdmUgY2F0YWx5dGljIGFjdGl2aXR5LiBXZSBjYWxsIGl0IHRoZSBUTkIgZG9tYWluLCBkZXJpdmVkIGZyb20gdGhlIHByb3RlaW4ncyBhbmNlc3RvciwgVE5QQi5cIi8+XG4gICAgPFFhQm94IHE9XCJJIHNlZS4gVGhhbmsgeW91IGZvciBjbGFyaWZ5aW5nLiBXZSBhbHNvIG5vdGljZWQgdGhhdCBDYXM5IGhhcyB0d28gY2F0YWx5dGljIGRvbWFpbnMsIHdoaWNoIGFsbG93IGZvciBtdXRhdGlvbiBvZiBvbmUgb3IgdHdvIG9mIHRoZW0gdG8gY3JlYXRlIGEgbmlja2FzZSwgbWFraW5nIHNpbmdsZS1zdHJhbmQgY3V0cy4gSXMgdGhpcyBzaW1pbGFyIHdpdGggQ2FzMTIgZWxlbWVudHM/XCIgYT1cIkl0J3MgYSBiaXQgbW9yZSBjb21wbGljYXRlZCB3aXRoIENhczEyLiBUaGlzIHByb2plY3QsIGluIHBhcnRpY3VsYXIsIGlzIHZlcnkgYWR2YW5jZWQgYW5kIGludm9sdmVzIHVuZGVyc3RhbmRpbmcgdGhlIG51YW5jZXMgb2YgdGhlc2UgZG9tYWlucy4gVGhlIHBhcGVyIG9uIENhczEyIHByaW1lIGVkaXRpbmcgZGlzY3Vzc2VzIGhvdyBtdXRhdGlvbnMgY2FuIGFmZmVjdCBmdW5jdGlvbmFsaXR5LiBJbiBGQU5aT1IsIHlvdSBtaWdodCBiZSBhYmxlIHRvIGF0dGVtcHQgc2ltaWxhciBtdXRhdGlvbnMsIHRob3VnaCBJIGhhdmVuJ3QgcGVyc29uYWxseSB0cmllZCB0aGVtLlwiLz5cbiAgICA8UWFCb3ggcT1cIlRoYXQgYWxpZ25zIHdpdGggb3VyIHRoaW5raW5nLiBXZSByZWNlbnRseSBsb29rZWQgYXQgYSBwYXBlciBkZXNjcmliaW5nIHRoZSBlbmdpbmVlcmluZyBvZiBDYXMxMmEgaW50byBhIG5pY2thc2UuIE91ciBhcHByb2FjaCBpbnZvbHZlcyBpbnZlc3RpZ2F0aW5nIHNpbWlsYXIgcGF0dGVybnMgaW4gRkFOWk9SLiBGb3IgZXhhbXBsZSwgd2UgaWRlbnRpZmllZCB0d28ga2V5IGFtaW5vIGFjaWRzIFx1MjAxNCBnbHV0YW1pbmUgYW5kIGFyZ2luaW5lIFx1MjAxNCB0aGF0IGFwcGVhciB0byBpbnRlcmFjdCB3aXRoIHRoZSBETkEuXCIgYT1cIkkgYWdyZWUgdGhhdCB0YXJnZXRpbmcgc3BlY2lmaWMgZG9tYWlucyBpcyBhIHBvdGVudGlhbCBhcHByb2FjaC4gSG93ZXZlciwgYWx0ZXJpbmcgYW4gZW56eW1lIHRvIGdhaW4gYSBuZXcgZnVuY3Rpb24gaXMgY2hhbGxlbmdpbmcuIFRoZSBDYXMxMmEgcGFwZXIgcHJvdmlkZXMgYSBwYXRoIGZvcndhcmQgYnkgc2hvd2luZyBob3cgY2VydGFpbiBkb21haW5zIGNhbiBiZSBtdXRhdGVkIHRvIGNyZWF0ZSBuaWNrYXNlcy4gQWN0dWFsbHksIHRoaXMgcHJvamVjdCBpcyByZWFsbHkgaW1wb3J0YW50IGFuZCBhdCB0aGUgZm9yZWZyb250IG9mIHNjaWVuY2UuIFJlc2VhcmNoZXJzIHdvcmxkd2lkZSBhcmUgd29ya2luZyBvbiBkZXZlbG9waW5nIHNtYWxsZXIgQ1JJU1BSLUNhcy1saWtlIHByaW1lIGVkaXRvcnMuXCIvPlxuICAgIDxRYUJveCBxPVwiVGhhdFx1MjAxOXMgYXdlc29tZSB0byBoZWFyLCB0aGFuayB5b3UgZm9yIHRoaXMgZmVlZGJhY2suIFdlIHBsYW4gdG8gdGVzdCB0aGlzIGNvbmNlcHQuIE9uZSBvZiBvdXIgaWRlYXMgaXMgdG8gbXV0YXRlIHNwZWNpZmljIGFtaW5vIGFjaWRzIGluIHRoZSBUTkIgZG9tYWluIG9mIEZBTlpPUiB0byBzZWUgaWYgaXQgY2hhbmdlcyBpdHMgZnVuY3Rpb25hbGl0eS4gV2UgaGF2ZSBvcmRlcmVkIHRoZXNlIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiBGQU5aT1IuXCIgYT1cIlRoYXRcdTIwMTlzIGEgcmVhc29uYWJsZSBhcHByb2FjaC4gSG93ZXZlciwgYmUgY2F1dGlvdXMuIElmIHRoZSBtdXRhdGlvbiBkZXN0YWJpbGl6ZXMgdGhlIHByb3RlaW4sIGl0IG1pZ2h0IG5vdCBiZSBleHByZXNzZWQgY29ycmVjdGx5LiBCdXQgaXQncyB3b3J0aCB0cnlpbmcsIGFzIHRoZSBvdXRjb21lIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgbXV0YXRpb24gYW5kIHRoZSBwcm90ZWluLlwiLz5cbiAgICA8UWFCb3ggcT1cIlllcywgd2UgYXJlIGF3YXJlIG9mIHRoYXQgcmlzay4gV2VcdTIwMTlyZSBhbHNvIHBsYW5uaW5nIHRvIHVzZSBpbiB2aXRybyBhc3NheXMgdG8gdGVzdCBvdXIgY2FuZGlkYXRlcy4gV2UgZGVzaWduZWQgZ3VpZGUgUk5BcyBhbmQgd2lsbCB1c2UgZ2VsIGVsZWN0cm9waG9yZXNpcyB0byBhbmFseXplIHRoZSByZXN1bHRzLCBsb29raW5nIGZvciBuaWNraW5nIG9yIGRvdWJsZS1zdHJhbmQgY3V0cy5cIiBhPVwiSW50ZXJlc3RpbmcuIEFyZSB5b3UgcGxhbm5pbmcgdG8gcHVyaWZ5IGVhY2ggY2FuZGlkYXRlIHByb3RlaW4/XCIvPlxuICAgIDxRYUJveCBxPVwiWWVzLCBidXQgd2UgY2Fubm90IHVzZSB5ZWFzdCwgc28gd2Ugd2lsbCB0cnkgcHJvZHVjaW5nIHRoZSBwcm90ZWlucyBpbiBFLiBjb2xpIGFuZCB0aGVuIHB1cmlmeSB0aGVtLiBXZVx1MjAxOWxsIGNvbWJpbmUgdGhlbSB3aXRoIGluIHZpdHJvLXRyYW5zY3JpYmVkIG9tZWdhIFJOQS4gRG8geW91IHRoaW5rIHRoYXQgd291bGQgd29yaz9cIiBhPVwiSXQgbWlnaHQgbm90IHdvcmsgd2l0aCBFLiBjb2xpIGZvciBGQU5aT1IuIEluIG91ciBleHBlcmllbmNlLCBFLiBjb2xpIGNhbm5vdCBwcm9kdWNlIHRoZSBob2xvZW56eW1lIG9mIEZBTlpPUiB3aXRob3V0IGl0cyBhc3NvY2lhdGVkIFJOQS4gV2UgaW5pdGlhbGx5IHRyaWVkIEUuIGNvbGkgYnV0IHRoZW4gc3dpdGNoZWQgdG8geWVhc3QsIHdoaWNoIGFsbG93ZWQgdXMgdG8gb2J0YWluIGZ1bmN0aW9uYWwgcHJvdGVpbi1STkEgY29tcGxleGVzLlwiLz5cbiAgICA8UWFCb3ggcT1cIlRoYXRcdTIwMTlzIHZhbHVhYmxlIGluc2lnaHQuIElzIHRoZSByZWFzb24gRS4gY29saSBmYWlscyBiZWNhdXNlIGl0IGNhbm5vdCBwcm9wZXJseSBmb3JtIHRoZSBwcm90ZWluLVJOQSBjb21wbGV4P1wiIGE9XCJQb3NzaWJseS4gVGhlIGV4YWN0IHJlYXNvbiBpc25cdTIwMTl0IGNsZWFyLCBidXQgd2UgZm91bmQgdGhhdCBvbmx5IGluIHllYXN0LCB3aGVyZSB0aGUgcHJvdGVpbiBhbmQgUk5BIGFyZSBjby1leHByZXNzZWQgZnJvbSB0aGVpciBuYXRpdmUgbG9jaSwgY291bGQgd2Ugb2J0YWluIGEgZnVuY3Rpb25hbCBjb21wbGV4LiBXZSBhbHNvIHRyaWVkIHJlcGxpY2F0aW5nIHRoaXMgc2V0dXAgaW4gRS4gY29saSwgYnV0IGl0IGRpZG4ndCB3b3JrLlwiLz5cbiAgICA8UWFCb3ggcT1cIlRoaXMgaXMgcmVhbGx5IGhlbHBmdWwgaW5mb3JtYXRpb24uIFdlIHdpbGwgY29uc2lkZXIgc3dpdGNoaW5nIHRvIHllYXN0LiBEbyB5b3UgaGF2ZSBhbnkgYWR2aWNlIG9uIGhvdyB0byBxdWlja2x5IHRyYW5zaXRpb24gb3VyIGFwcHJvYWNoIGZyb20gRS4gY29saSB0byB5ZWFzdD9cIiBhPVwiWW91IGNhbiBjZXJ0YWlubHkgdXNlIHllYXN0LiBJdFx1MjAxOXMgbm90IHRvbyBkaWZmaWN1bHQuIFlvdSBjb3VsZCBvcmRlciB0aGUgcGxhc21pZHMgZnJvbSBBZGRnZW5lIGFuZCBzdGFydCBjdWx0dXJpbmcgeWVhc3QuIERvZXMgeW91ciBpR0VNIHRlYW0gaGF2ZSB0aGUgYWJpbGl0eSB0byB3b3JrIHdpdGggeWVhc3Q/XCIvPlxuICAgIDxRYUJveCBxPVwiWWVzLCB3ZSBjYW4uIFdlJ3ZlIGp1c3QgbmV2ZXIgd29ya2VkIHdpdGggeWVhc3QgYmVmb3JlIGJlY2F1c2UgaXQgc2VlbWVkIGVhc2llciB0byB1c2UgRS4gY29saS4gQnV0IGl0XHUyMDE5cyBnb29kIHRvIGtub3cgdGhhdCBpdFx1MjAxOXMgbWFuYWdlYWJsZS5cIiBhPVwiWWVzLCBpdCBpcy4gV2UgdXNlZCBhIHllYXN0IHN0cmFpbiBjYWxsZWQgQkNZMTIzLCB3aGljaCBjb250YWlucyB0aGUgZ2FsYWN0b3NlIGluZHVjdGlvbiBzeXN0ZW0uIEZvciBwcm90ZWluIGluZHVjdGlvbiBpbiB5ZWFzdCwgdGhpcyBzeXN0ZW0gaXMgbmVjZXNzYXJ5LiBJZiB5b3UgdXNlIGFub3RoZXIgeWVhc3Qgc3RyYWluLCBtYWtlIHN1cmUgaXQgaGFzIHRoZSBjYXBhYmlsaXR5IGZvciBnYWxhY3Rvc2UgaW5kdWN0aW9uLlwiLz5cbiAgICA8UWFCb3ggcT1cIkdvdCBpdCwgd2Ugd2lsbCBjb25zaWRlciB1c2luZyBHaWJzb24gYXNzZW1ibHkuIE9uY2Ugd2UgY2xvbmUgb3VyIG11dGF0aW9uIGNhbmRpZGF0ZXMgaW50byB5b3VyIHBsYXNtaWQsIHdlXHUyMDE5bGwgZXhwcmVzcyB0aGUgUk5BLXByb3RlaW4gY29tcGxleCBpbiB5ZWFzdCBhbmQgcHVyaWZ5IGl0IGZyb20gdGhlcmUuIElzIHRoYXQgY29ycmVjdD9cIiBcbiAgICAgICAgICAgYT1cIlllcywgdGhhdCdzIHRoZSByaWdodCBhcHByb2FjaC4gVGhlIHBsYXNtaWQgd2UgdXNlZCBoYXMgYW4gTUJQLXRhZyBmb3IgcHVyaWZpY2F0aW9uLCB3aGljaCB3b3JrcyBiZXR0ZXIgdGhhbiBhIEhpcy10YWcuIEl0IGF2b2lkcyB0aGUgaGlnaCBiYWNrZ3JvdW5kIHRoYXQgSGlzLXRhZ3Mgb2Z0ZW4gaW50cm9kdWNlLlwiIC8+XG4gICAgPFFhQm94IHE9XCJUaGFuayB5b3UgZm9yIHRoaXMgYWR2aWNlLiBXZSBhbHNvIGhhdmUgYSBxdWVzdGlvbiBhYm91dCB0aGUgeWVhc3Qgc3RyYWluIHlvdSB1c2VkLCBCQ1kxMjMuIElzIGl0IGNydWNpYWwgdG8gdXNlIHRoaXMgc3BlY2lmaWMgc3RyYWluLCBvciBjb3VsZCB3ZSB1c2UgYW4gYWx0ZXJuYXRpdmUgYXMgbG9uZyBhcyBpdCBzdXBwb3J0cyBnYWxhY3Rvc2UgaW5kdWN0aW9uP1wiIFxuICAgICAgICAgICBhPVwiSW4gdGhlb3J5LCB5b3UgY2FuIHVzZSBhbnkgeWVhc3Qgc3RyYWluIHRoYXQgYWxsb3dzIGdhbGFjdG9zZSBpbmR1Y3Rpb24uIEhvd2V2ZXIsIEkgcmVjb21tZW5kIGZvbGxvd2luZyB0aGUgd29ya2luZyBwcm90b2NvbCB3aXRoIEJDWTEyMyBzaW5jZSBpdCBoYXMgYWxyZWFkeSBiZWVuIHByb3ZlbiB0byB3b3JrLiBJdFx1MjAxOXMgdGhlIHNhZmVzdCB3YXkgdG8gZW5zdXJlIGNvbnNpc3RlbmN5IGluIHlvdXIgZXhwZXJpbWVudHMuXCIgLz5cbiAgICA8UWFCb3ggcT1cIlBlcmZlY3QsIHRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIGFsbCB5b3VyIGRldGFpbGVkIGFuc3dlcnMhIFRoYXQgd291bGQgYmUgaXQgZm9yIHRoZSBpbnRlcnZpZXcsIGl0IHdhcyBhIHBsZWFzdXJlIGdldHRpbmcgdG8ga25vdyB5b3UhXCIgXG4gICAgICAgICAgIGE9XCJUaGFuayB5b3UhIElcdTIwMTlsbCBiZSBpbiBUb2t5byBhdCBSSUtFTiwgb25lIG9mIHRoZSB0b3Agc2NpZW5jZSBpbnN0aXR1dGVzIGluIEphcGFuLiBJZiB5b3Uga25vdyBhbnkgR2VybWFuIHN0dWRlbnRzIGludGVyZXN0ZWQgaW4gY29taW5nIHRvIEphcGFuLCBwbGVhc2UgbGV0IHRoZW0ga25vdy4gV2UgaGF2ZSB2YXJpb3VzIG9wcG9ydHVuaXRpZXMgZm9yIGludGVybnNoaXBzIG9yIHNob3J0IHN0YXlzLlwiIC8+XG4gICAgPFFhQm94IHE9XCJUaGF0XHUyMDE5cyB3b25kZXJmdWwgdG8gaGVhci4gVGhhbmsgeW91IHNvIG11Y2ggZm9yIHlvdXIgdGltZSBhbmQgdmFsdWFibGUgaW5zaWdodHMuXCIgXG4gICAgICAgICAgIGE9XCJNeSBwbGVhc3VyZS4gSSB3aXNoIHlvdSB0aGUgYmVzdCBvZiBsdWNrIHdpdGggeW91ciBwcm9qZWN0LiBGZWVsIGZyZWUgdG8gcmVhY2ggb3V0IGFueXRpbWUuIEdvb2RieWUhXCIgLz5cbiAgICA8Lz4sXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9pbnRlZ3JhdGVkLWh1bWFuLXByYWN0aWNlcy9zYWl0by53ZWJwXCIsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJEci4gcmVyLiBuYXQuIFwiLFxuICAgIHZvcm5hbWU6IFwiTWFyY3VzXCIsXG4gICAgbmFjaG5uYW1lOiBcIkJlcmdlclwiLFxuICAgIGpvYjogXCJHWFAgXCIsXG4gICAgYWZmaWxpYXRpb246IFwiRXhwZXJ0XCIsXG4gICAgcGljdHVyZXVybDogcGljc1snZ3hwZXhwZXJ0J10sXG4gICAgdGFnOiBcIkluZHVzdHJ5XCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBoZWFkaW5nOiBcIkRlZXAgRGl2ZSBpbnRvIEdvb2QgUHJhY3Rpc2UsIEd4UCBcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJneHBleHBlcnRcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJNaW5pbXVtIHJlcXVpcmVtZW50OiBBY3V0ZSB0b3hpY2l0eSBzdHVkeSBvbiBhbmltYWxzIC0gaW1wb3J0YW50IGZvciBjYWxjdWxhdGluZyB0aGUgc3RhcnRpbmcgZG9zZSBmb3IgaHVtYW5zLiBJbiBhZGRpdGlvbiwgcGhhcm1hY29sb2dpY2FsIHN0dWRpZXMsIGdlbm90b3hpYyBzdHVkaWVzIGFuZCBpbW11bm90b3hpYyBzdHVkaWVzLiBJbiB5b3VyIGNhc2UgYWxzbyBjaHJvbmljIHRveGljaXR5IHN0dWRpZXMuXCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+VGhlIGFpbSBvZiBvdXIgY29udGFjdCB3aXRoIEd4UCBleHBlcnQgPGEgaHJlZj1cImh0dHBzOi8vZ3hwZXhwZXJ0LmRlL1wiPkRyLiBNYXJjdXMgQmVyZ2VyPC9hPiB3YXMgdG8gZ2F0aGVyIGluc2lnaHRzIGFuZCBhc2sgcXVlc3Rpb25zIGFib3V0IGhvdyB0byBwcm9jZWVkIHdpdGggdGhlIFByZWN5c2UgcHJvamVjdCwgY2xhcmlmeWluZyB0aGUgbmV4dCBzdGVwcyByZXF1aXJlZCBmb3IgaXRzIGNvbnRpbnVlZCBkZXZlbG9wbWVudCwgcGFydGljdWxhcmx5IGNvbmNlcm5pbmcgcmVndWxhdG9yeSBzdHJhdGVneSwgcXVhbGl0eSBtYW5hZ2VtZW50LCBhbmQgY2xpbmljYWwgZGV2ZWxvcG1lbnQuIEd4UCwgd2hpY2ggc3RhbmRzIGZvciBcdTIwMThHb29kIFByYWN0aWNlXHUyMDE5IGd1aWRlbGluZXMsIGVuY29tcGFzc2VzIHZhcmlvdXMgcmVndWxhdGlvbnMgYW5kIHN0YW5kYXJkcyBpbnRlbmRlZCB0byBlbnN1cmUgcXVhbGl0eSBhbmQgY29tcGxpYW5jZSBpbiB0aGUgZGV2ZWxvcG1lbnQgYW5kIG1hbnVmYWN0dXJpbmcgb2YgcGhhcm1hY2V1dGljYWwgYW5kIGJpb3BoYXJtYWNldXRpY2FsIHByb2R1Y3RzLiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPkZyb20gdGhlIGRpc2N1c3Npb24gd2l0aCBEci4gQmVyZ2VyIGV4cGVydCwgd2UgZ2FpbmVkIHNldmVyYWwga2V5IGluc2lnaHRzIGludG8gaG93IHRvIHByb2NlZWQgd2l0aCB0aGUgUHJlY3lzZSBwcm9qZWN0LiBGaXJzdCwgaXQgYmVjYW1lIGNsZWFyIHRoYXQgb2J0YWluaW5nIGEgU2NpZW50aWZpYyBBZHZpY2UgZnJvbSB0aGUgUGF1bC1FaHJsaWNoLUluc3RpdHV0ICA8YSBocmVmPVwiIGh0dHBzOi8vd3d3LnBlaS5kZS9ERS9ob21lL2hvbWUtbm9kZS5odG1sXCIgPihQRUkpPC9hPlxuICAgICAgaXMgZXNzZW50aWFsIHRvIGdldCBxdWFsaWZpZWQgZmVlZGJhY2sgb24gb3VyIGRldmVsb3BtZW50IHByb2plY3QgYW5kIGFsaWduIG91ciByZWd1bGF0b3J5IHN0cmF0ZWd5LiBUaGUgZXhwZXJ0IGVtcGhhc2l6ZWQgdGhlIG5lZWQgdG8gY29sbGVjdCBhbmQgZG9jdW1lbnQgcHJlY2xpbmljYWwgZGF0YSwgaW5jbHVkaW5nIGFjdXRlIGFuZCBjaHJvbmljIHRveGljaXR5IHN0dWRpZXMsIGdlbm90b3hpY2l0eSwgaW1tdW5vdG94aWNpdHksIGFuZCBjYXJjaW5vZ2VuaWNpdHkgc3R1ZGllcywgYXMgd2VsbCBhcyBjb25kdWN0aW5nIHNhZmV0eSBwaGFybWFjb2xvZ3kgYW5kIGJpb2Rpc3RyaWJ1dGlvbiBzdHVkaWVzIHRvIGVuc3VyZSBhIHRob3JvdWdoIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHN1YnN0YW5jZSdzIG1lY2hhbmlzbSBvZiBhY3Rpb24uIFxuICAgICAgVGhlIGV4cGVydCBhbHNvIHByb3ZpZGVkIGd1aWRhbmNlIG9uIGhvdyB0byBlc3RhYmxpc2ggYSBHeFAtY29tcGxpYW50IHF1YWxpdHkgbWFuYWdlbWVudCBzeXN0ZW0gKFFNUyksIHN0cmVzc2luZyB0aGUgaW1wb3J0YW5jZSBvZiBzZXR0aW5nIHVwIGEgcm9idXN0IFNPUCBzeXN0ZW0gZm9yIG1hbnVmYWN0dXJpbmcsIHByZWNsaW5pY2FsLCBhbmQgY2xpbmljYWwgZGV2ZWxvcG1lbnQuIFRoaXMgc3lzdGVtIG11c3QgYWRoZXJlIHRvIElDSCBRMTAgZ3VpZGVsaW5lcywgZW5zdXJpbmcgdGhhdCB0aGUgcXVhbGl0eSBjb250cm9sIHByb2Nlc3NlcyBhcmUgaW4gbGluZSB3aXRoIHJlZ3VsYXRvcnkgZXhwZWN0YXRpb25zLiBGdXJ0aGVybW9yZSwgd2UgbGVhcm5lZCBhYm91dCB0aGUgY3JpdGljYWwgaW5pdGlhbCBzdGVwcyBmb3IgdmFsaWRhdGluZyBhbmQgdmVyaWZ5aW5nIHRoZSBtYW51ZmFjdHVyaW5nIHByb2Nlc3MsIGluY2x1ZGluZyBkZWZpbmluZyB0aGUgcGh5c2ljYWwgYW5kIGNoZW1pY2FsIHByb3BlcnRpZXMgb2YgdGhlIGFjdGl2ZSBzdWJzdGFuY2UgYW5kIGV4Y2lwaWVudHMsIGRldmVsb3BpbmcgdGhlIHBoYXJtYWNldXRpY2FsIGZvcm11bGF0aW9uLCBhbmQgaWRlbnRpZnlpbmcgY3JpdGljYWwgcXVhbGl0eSBhdHRyaWJ1dGVzIChDUUFzKSBhbmQgY3JpdGljYWwgbWF0ZXJpYWwgYXR0cmlidXRlcyAoQ01BcykuICBcbiAgICAgIFRoZSBJQ0gtR0NQIGd1aWRlbGluZXMsIHdoaWNoIGFwcGx5IHRvIGFsbCBjbGluaWNhbCB0cmlhbHMsIGFyZSBlc3NlbnRpYWwgZm9yIGVuc3VyaW5nIHRoZSBpbnRlZ3JpdHkgYW5kIHNhZmV0eSBvZiBjbGluaWNhbCBkZXZlbG9wbWVudC4gVGhlc2UgZ3VpZGVsaW5lcyBpbmNsdWRlIEUyQS1FMkYsIHdoaWNoIGNvdmVyIHRvcGljcyBsaWtlIGNsaW5pY2FsIHNhZmV0eSBkYXRhIG1hbmFnZW1lbnQgYW5kIGFkdmVyc2UgZXZlbnQgcmVwb3J0aW5nLCBFMyBmb3IgY2xpbmljYWwgc3R1ZHkgcmVwb3J0cywgRTUgZm9yIGhhbmRsaW5nIGV0aG5pYyBmYWN0b3JzLCBhbmQgRTkgZm9yIHN0YXRpc3RpY2FsIHByaW5jaXBsZXMuIEFkZGl0aW9uYWxseSwgRTE0IGlzIGNydWNpYWwgZm9yIG1hbmFnaW5nIGNhcmRpb3Zhc2N1bGFyIHJpc2tzLCBhbiBlc3BlY2lhbGx5IGltcG9ydGFudCBjb25zaWRlcmF0aW9uIGZvciBnZW5lIHRoZXJhcGllcywgd2hlcmUgbW9uaXRvcmluZyBmb3IgaGVhcnQtcmVsYXRlZCBzaWRlIGVmZmVjdHMgaXMgY3JpdGljYWwuIEd1aWRlbGluZXMgbGlrZSBFMTUgYW5kIEUxNiBhZGRyZXNzIGJpb21hcmtlcnMgYW5kIHBoYXJtYWNvZ2Vub21pY3MsIGhlbHBpbmcgdGFpbG9yIGNsaW5pY2FsIGRldmVsb3BtZW50IHRvIHRoZSBzcGVjaWZpY3Mgb2YgdGhlIHRyZWF0bWVudCBiZWluZyB0ZXN0ZWQuIEltcGxlbWVudGluZyB0aGVzZSBHQ1AgcmVxdWlyZW1lbnRzIGVuc3VyZXMgY29tcGxpYW5jZSwgcGF0aWVudCBzYWZldHksIGFuZCBkYXRhIGludGVncml0eSB0aHJvdWdob3V0IHRoZSB0cmlhbCBwcm9jZXNzLiBcbiAgICAgIEluIHRlcm1zIG9mIHByb2Nlc3Mgc2NhbGUtdXAsIHRoZSBleHBlcnQgYWR2aXNlZCBmb2N1c2luZyBvbiBkZWZpbmluZyBjcml0aWNhbCBwcm9jZXNzIHBhcmFtZXRlcnMgKENQUHMpIGFuZCBlbnN1cmluZyB0aGF0IHRoZSBwcm9jZXNzIGRlc2lnbiBhbmQgY29udHJvbCBzdHJhdGVnaWVzIGFyZSB3ZWxsLXVuZGVyc3Rvb2QgYmVmb3JlIHNjYWxpbmcgcHJvZHVjdGlvbiBmcm9tIHRoZSBsYWIgdG8gYSBjb21tZXJjaWFsIHNjYWxlLiBBZGRpdGlvbmFsbHksIHdlIGRpc2N1c3NlZCB0aGUgbmVlZCB0byBkZXZlbG9wIGEgY29udHJvbCBzdHJhdGVneSwgaW1wbGVtZW50IGluLXByb2Nlc3MgY29udHJvbHMsIGFuZCBlbnN1cmUgdGhhdCBwcm9jZXNzIHZhcmlhYmlsaXR5IGlzIGNvbnRpbnVhbGx5IG1vbml0b3JlZCB0byBzdXBwb3J0IG9uZ29pbmcgaW1wcm92ZW1lbnRzLiBcbiAgICAgIFRoZXNlIGluc2lnaHRzIGNsYXJpZmllZCB0aGUgaW1tZWRpYXRlIGFuZCBmdXR1cmUgc3RlcHMgcmVxdWlyZWQgdG8gbW92ZSBQcmVjeXNlIGZvcndhcmQsIHBhcnRpY3VsYXJseSBpbiB0ZXJtcyBvZiByZWd1bGF0b3J5IHN1Ym1pc3Npb25zLCBxdWFsaXR5IG1hbmFnZW1lbnQsIGFuZCBwcm9kdWN0aW9uIHNjYWxlLXVwLiA8L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPldlIHVzZWQgdGhlIGluc2lnaHRzIGZyb20gdGhlIGV4cGVydCB0byBvdXRsaW5lIHRoZSBwb3NzaWJsZSBuZXh0IHN0ZXBzIGZvciBQcmVjeXNlLiBUaGlzIGluY2x1ZGVkIHBsYW5uaW5nIHRoZSBjb2xsZWN0aW9uIG9mIG5lY2Vzc2FyeSBwcmVjbGluaWNhbCBkYXRhLCBzZXR0aW5nIHVwIGEgR3hQLWNvbXBsaWFudCBRTVMsIGFuZCBwcmVwYXJpbmcgZm9yIHJlZ3VsYXRvcnkgc3VibWlzc2lvbi4gV2UgYWxzbyBiZWdhbiBkcmFmdGluZyBhIHN0cmF0ZWd5IGZvciBwcm9jZXNzIHZhbGlkYXRpb24gYW5kIHNjYWxpbmcgdXAgcHJvZHVjdGlvbiwgZW5zdXJpbmcgdGhhdCB3ZSBhcmUgYWxpZ25lZCB3aXRoIGJvdGggcmVndWxhdG9yeSBhbmQgb3BlcmF0aW9uYWwgcmVxdWlyZW1lbnRzLiBUaGlzIGV4cGVydCBmZWVkYmFjayBoZWxwZWQgdXMgZXN0YWJsaXNoIGEgY2xlYXJlciBwYXRoIGZvciB0aGUgY29udGludWVkIGRldmVsb3BtZW50IG9mIFByZWN5c2UuIDwvcD5dLFxuICAgIHN1bW1hcnk6IFwiSW4gb3VyIGNvbnN1bHRhdGlvbiB3aXRoIEd4UCBleHBlcnQgRHIuIE1hcmN1cyBCZXJnZXIsIHdlIGdhaW5lZCBrZXkgaW5zaWdodHMgdG8gYWR2YW5jZSB0aGUgUHJlY3lzZSBwcm9qZWN0LCBmb2N1c2luZyBvbiByZWd1bGF0b3J5IHN0cmF0ZWd5LCBxdWFsaXR5IG1hbmFnZW1lbnQsIGFuZCBjbGluaWNhbCBkZXZlbG9wbWVudC4gSGUgZW1waGFzaXplZCBvYnRhaW5pbmcgU2NpZW50aWZpYyBBZHZpY2UgZnJvbSB0aGUgUGF1bC1FaHJsaWNoLUluc3RpdHV0IChQRUkpIGFuZCBjb2xsZWN0aW5nIGVzc2VudGlhbCBwcmVjbGluaWNhbCBkYXRhLCBpbmNsdWRpbmcgdG94aWNpdHkgYW5kIGJpb2Rpc3RyaWJ1dGlvbiBzdHVkaWVzLiBXZSBhbHNvIGxlYXJuZWQgaG93IHRvIHRoZW9yZXRpY2FsbHkgc2V0IHVwIGEgR3hQLWNvbXBsaWFudCBxdWFsaXR5IG1hbmFnZW1lbnQgc3lzdGVtIChRTVMpIGZvbGxvd2luZyBJQ0ggUTEwIGd1aWRlbGluZXMgYW5kIHRoZSBpbXBvcnRhbmNlIG9mIGNyaXRpY2FsIHF1YWxpdHkgYXR0cmlidXRlcyAoQ1FBcykgaW4gcHJvY2VzcyB2YWxpZGF0aW9uLiBEci4gQmVyZ2VyIHByb3ZpZGVkIGd1aWRhbmNlIG9uIHNjYWxpbmcgcHJvZHVjdGlvbiBhbmQgZm9sbG93aW5nIElDSC1HQ1AgZ3VpZGVsaW5lcyBmb3IgY2xpbmljYWwgdHJpYWxzLCBlc3BlY2lhbGx5IGZvciBtYW5hZ2luZyByaXNrcyBpbiBnZW5lIHRoZXJhcGllcy4gVGhpcyBleHBlcnQgYWR2aWNlIGhlbHBlZCB1cyBwbGFuIHRoZSBuZXh0IHN0ZXBzIGZvciBQcmVjeXNlLCBpbmNsdWRpbmcgcHJlY2xpbmljYWwgZGF0YSBjb2xsZWN0aW9uLCBRTVMgc2V0dXAsIGFuZCBwcm9kdWN0aW9uIHNjYWxlLXVwLlwiLFxuICAgIG1vbnRoczogXCJTZXB0ZW1iZXJcIixcbiAgICBpbnRlcnZpZXc6PD5cbiAgICA8UWFCb3ggcT1cIkhvdyBkbyB3ZSBkZWZpbmUgdGhlIHJlZ3VsYXRvcnkgc3RyYXRlZ3kgKGUuZy4gSU5EL0lNUEQgYXBwbGljYXRpb25zKT9cIiBhPVwiVGhlIHJlZ3VsYXRvcnkgc3RyYXRlZ3kgaW5jbHVkZXMgdGhlIHBsYW5uaW5nIG9mIGNsaW5pY2FsIGFuZCBwcmVjbGluaWNhbCBkZXZlbG9wbWVudCBpbiBhY2NvcmRhbmNlIHdpdGggYXBwbGljYWJsZSByZWd1bGF0aW9ucywgc3VjaCBhcyBDVFIgNTM2LzIwMTQgaW4gRXVyb3BlLiBQbGFubmluZywgY29uZHVjdCwgZG9jdW1lbnRhdGlvbiwgYW5kIHJlcG9ydGluZyBhcHBsaWVzIHRvIGNsaW5pY2FsIHRyaWFscy5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGF0IGluaXRpYWwgc3RlcHMgYXJlIG5lY2Vzc2FyeSB0byBwcmVwYXJlIHRoZSBzdWJtaXNzaW9uIHRvIHRoZSBjb21wZXRlbnQgYXV0aG9yaXRpZXM/XCIgYT1cIkZpcnN0bHksIGEgU2NpZW50aWZpYyBBZHZpY2Ugc2hvdWxkIGJlIHJlcXVlc3RlZCBmcm9tIHRoZSBjb21wZXRlbnQgYXV0aG9yaXR5LiBUaGlzIGVuYWJsZXMgZWFybHkgZmVlZGJhY2sgb24gdGhlIHBsYW5uZWQgZGV2ZWxvcG1lbnQgb2YgdGhlIHN1YnN0YW5jZSwgd2hpY2ggaGVscHMgdG8gb3B0aW1pc2UgdGhlIHN1Ym1pc3Npb24gc3RyYXRlZ3kuIFNjaWVudGlmaWMgYWR2aWNlIGZyb20gYXV0aG9yaXRpZXMgc3VjaCBhcyB0aGUgUGF1bCBFaHJsaWNoIEluc3RpdHV0ZSBlbnN1cmVzIHRoYXQgdGhlIHJlcXVpcmVtZW50cyBhcmUgY29ycmVjdGx5IHVuZGVyc3Rvb2QgYW5kIGltcGxlbWVudGVkLiBJdCBpcyBhbHNvIG5lY2Vzc2FyeSB0byB0aGluayBhYm91dCBob3cgeW91IHdhbnQgdG8gZGV2ZWxvcCB0aGUgc3Vic3RhbmNlLlwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgcHJlY2xpbmljYWwgZGF0YSBtdXN0IGJlIGNvbGxlY3RlZCBhbmQgZG9jdW1lbnRlZCBpbiBvcmRlciB0byBmdWxmaWwgdGhlIGF1dGhvcmlzYXRpb24gcmVxdWlyZW1lbnRzP1wiIGE9XCJBY3V0ZSBhbmQgY2hyb25pYyB0b3hpY2l0eSBzdHVkaWVzLCBnZW5vdG94aWNpdHkgYW5kIGltbXVub3RveGljaXR5IHN0dWRpZXMsIGNhcmNpbm9nZW5pY2l0eSBzdHVkaWVzLCBzYWZldHkgcGhhcm1hY29sb2d5IGFuZCBzdHVkaWVzIG9uIGJpb2Rpc3RyaWJ1dGlvbiBhbmQgdGhlIG1lY2hhbmlzbSBvZiBhY3Rpb24gb2YgdGhlIHN1YnN0YW5jZSBhcmUgcmVxdWlyZWQuIFRoZXJlZm9yZSwgY2hlY2sgdGhlIG9mZmljaWFsIHdlYnNpdGUgSUNILlwiLz5cbiAgICA8UWFCb3ggcT1cIldoaWNoIGF1dGhvcml0aWVzIHNob3VsZCB3ZSBjb25zdWx0IGF0IGFuIGVhcmx5IHN0YWdlIGluIG9yZGVyIHRvIGhhcm1vbmlzZSB0aGUgcmVndWxhdG9yeSByZXF1aXJlbWVudHM/XCIgYT1cIkluIEdlcm1hbnksIHRoZSBQYXVsLUVocmxpY2gtSW5zdGl0dXRlIGlzIHRoZSBjZW50cmFsIGF1dGhvcml0eSBmb3IgZHJ1ZyBkZXZlbG9wbWVudCBhbmQgYXV0aG9yaXNhdGlvbi5cIi8+XG4gICAgPFFhQm94IHE9XCJIb3cgZG8gd2Ugc3RhcnQgc2V0dGluZyB1cCBhIEd4UC1jb21wbGlhbnQgcXVhbGl0eSBtYW5hZ2VtZW50IHN5c3RlbSAoUU1TKT9cIiBhPVwiVGhlIGVzdGFibGlzaG1lbnQgb2YgYSBRTVMgaXMgYmFzZWQgb24gdGhlIGltcGxlbWVudGF0aW9uIG9mIGFuIFNPUCBzeXN0ZW0gZm9yIG1hbnVmYWN0dXJpbmcsIHByZWNsaW5pY2FsLCBhbmQgY2xpbmljYWwgZGV2ZWxvcG1lbnQsIGJhc2VkIG9uIHRoZSBJQ0ggUTEwIGd1aWRlbGluZXMuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hhdCBpbml0aWFsIHZhbGlkYXRpb24gYW5kIHZlcmlmaWNhdGlvbiBzdGVwcyBhcmUgcmVxdWlyZWQgZm9yIG91ciBtYW51ZmFjdHVyaW5nIHByb2Nlc3Nlcz9cIiBhPVwiVGhlIHBoeXNpY28tY2hlbWljYWwgcHJvcGVydGllcyBvZiBhY3RpdmUgaW5ncmVkaWVudHMgYW5kIGV4Y2lwaWVudHMgbXVzdCBiZSBkZXRlcm1pbmVkLiBUaGlzIGluY2x1ZGVzIHRoZSBkZWZpbml0aW9uIG9mIHRoZSBwaGFybWFjZXV0aWNhbCBmb3JtdWxhdGlvbiwgdGhlIG1hbnVmYWN0dXJpbmcgcHJvY2VzcyBhbmQgdGhlIHN0YXJ0aW5nIG1hdGVyaWFscyBhcyB3ZWxsIGFzIHRoZSBkZWZpbml0aW9uIG9mIFF1YWxpdHkgVGFyZ2V0IFByb2R1Y3QgUHJvZmlsZXMsIENyaXRpY2FsIFF1YWxpdHkgQXR0cmlidXRlcywgYW5kIENyaXRpY2FsIE1hdGVyaWFsIEF0dHJpYnV0ZXMuIFRoZSBuZXh0IHN0ZXAgaXMgcHJvY2VzcyBkZXNpZ24gYW5kIHVuZGVyc3RhbmRpbmcgdGhlIGNyaXRpY2FsIHByb2Nlc3MgcGFyYW1ldGVycyBhbmQgc2NhbGUtdXAgcHJpbmNpcGxlcy4gVGhlbiBkZXZlbG9wIGEgY29udHJvbCBzdHJhdGVneSB3aXRoIHNwZWNpZmljYXRpb25zIGZvciBhY3RpdmUgc3Vic3RhbmNlLCBleGNpcGllbnQgJiBmaW5pc2hlZCBkcnVnIHByb2R1Y3QuIEFmdGVyIHRoYXQgZXN0YWJsaXNoIGFuIGluLXByb2Nlc3MgY29udHJvbCBhbmQgdGhpbmsgYWJvdXQgcHJvY2VzcyBjYXBhYmlsaXR5IGFuZCBjb250aW51b3VzIGltcHJvdmVtZW50LiBUaGVyZWZvcmUgbWVhc3VyZSB2YXJpYWJpbGl0eSBvZiB0aGUgbWFudWZhY3R1cmluZyBwcm9jZXNzLlwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgbWVhc3VyZXMgYXJlIG5lY2Vzc2FyeSB0byBlbnN1cmUgZG9jdW1lbnRhdGlvbiBhbmQgdHJhY2VhYmlsaXR5P1wiIGE9XCJBIGRvY3VtZW50IGNvbnRyb2wgc3lzdGVtIG11c3QgYmUgaW1wbGVtZW50ZWQgdG8gZW5zdXJlIHRyYWNlYWJpbGl0eSBhbmQgZG9jdW1lbnRhdGlvbi5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGF0IHN0ZXBzIGFyZSBuZWNlc3NhcnkgdG8gc2NhbGUgdXAgdGhlIHByb2R1Y3Rpb24gcHJvY2Vzc2VzIGZyb20gbGFib3JhdG9yeSB0byBwcm9kdWN0aW9uIHNjYWxlP1wiIGE9XCJHTVAgZXhwZXJ0cyBzaG91bGQgYmUgY29uc3VsdGVkIGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbiBvbiBzY2FsaW5nLiBJIGNhbid0IGhlbHAgeW91IHdpdGggdGhpcyBwb2ludC4gVGhlIEdNUCBsZWN0dXJlcnMgYXJlIHRoZSByaWdodCBwZW9wbGUgdG8gdGFsayB0by5cIi8+XG4gICAgPFFhQm94IHE9XCJIb3cgZG8gd2UgZGV2ZWxvcCBhbiBpbml0aWFsIGNsaW5pY2FsIGRldmVsb3BtZW50IHN0cmF0ZWd5IHRvIG1vdmUgZnJvbSBwcmVjbGluaWNhbCBzdHVkaWVzIHRvIGZpcnN0LWluLWh1bWFuIChGSUgpIHN0dWRpZXM/XCIgYT1cIlRoZSBtaW5pbXVtIHJlcXVpcmVtZW50cyBpbmNsdWRlIGFjdXRlIHRveGljaXR5IHN0dWRpZXMgaW4gYW5pbWFscyB0byBjYWxjdWxhdGUgdGhlIHN0YXJ0aW5nIGRvc2UgZm9yIGh1bWFucy4gSW4gYWRkaXRpb24sIHBoYXJtYWNvbG9naWNhbCBzdHVkaWVzLCBnZW5vdG94aWMgc3R1ZGllcyBhbmQgaW1tdW5vdG94aWMgc3R1ZGllcy4gSW4geW91ciBjYXNlLCBhbHNvIGNocm9uaWMgdG94aWNpdHkgc3R1ZGllcy4gRGVzaWduIG9mIGEgRklIIHN0dWR5IGZvciBkb3NlIGVzY2FsYXRpb24sIGluY2x1ZGluZyBzdGFydGluZyBkb3NlLCBzZXF1ZW50aWFsIHN0dWR5IGRlc2lnbiBhbmQgc3RvcHBpbmcgcnVsZXMuIElkZW50aWZpY2F0aW9uIG9mIHRoZSB0b3hpYyBsaW1pdCBhbmQgdGhlIHNvLWNhbGxlZCBSZWNvbW1lbmRlZCBTdGFydCBEb3NlIGZvciBQaGFzZSAyLiBUaGUgZ3VpZGVsaW5lcyBvbiBxdWFsaXR5LCBub24tY2xpbmljYWwgYW5kIGNsaW5pY2FsIHJlcXVpcmVtZW50cyBmb3IgaW52ZXN0aWdhdGlvbmFsIGFkdmFuY2VkIHRoZXJhcHkgbWVkaWNpbmFsIHByb2R1Y3RzIGluIGNsaW5pY2FsIHRyaWFscyBjYW4gYmUgZm91bmQgYXQgdGhlIEV1cm9wZWFuIE1lZGljaW5lcyBBZ2VuY3kgKEVNQSkuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hpY2ggR0NQIHJlcXVpcmVtZW50cyBuZWVkIHRvIGJlIGltcGxlbWVudGVkIHRvIHN1cHBvcnQgY2xpbmljYWwgZGV2ZWxvcG1lbnQ/XCIgYT1cIlRoZSBJQ0gtR0NQIGd1aWRlbGluZXMgYXBwbHkgdG8gYWxsIGNsaW5pY2FsIHRyaWFscyBhbmQgaW5jbHVkZSB0aGUgRTJBIC0gRTJGOyBFMzsgRTU7IEU5OyBFMTU7IEUxNiBndWlkZWxpbmVzIGFuZCBFMTQsIHdoaWNoIGlzIGltcG9ydGFudCBmb3IgdGhlIG1hbmFnZW1lbnQgb2YgY2FyZGlvdmFzY3VsYXIgcmlza3MsIGVzcGVjaWFsbHkgaW1wb3J0YW50IGZvciBnZW5lIHRoZXJhcGllcywgYW1vbmcgb3RoZXJzLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBkbyB3ZSBjb25kdWN0IGEgcmlzayBhbmFseXNpcyB0byBpZGVudGlmeSBjaGFsbGVuZ2VzIGluIGRldmVsb3BtZW50IGFuZCBsYXVuY2g/XCIgYT1cIlJpc2sgYW5hbHlzZXMgc2hvdWxkIGJlIGNvbmR1Y3RlZCBmb3IgcGhhcm1hY2V1dGljYWwsIHByZWNsaW5pY2FsLCBhbmQgY2xpbmljYWwgZGV2ZWxvcG1lbnQgdG8gaWRlbnRpZnkgcG90ZW50aWFsIGNoYWxsZW5nZXMuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hpY2ggcHJvZHVjdCBzYWZldHkgYW5kIGVmZmljYWN5IHJpc2tzIG5lZWQgdG8gYmUgcHJpb3JpdGlzZWQgYW5kIG1hbmFnZWQ/XCIgYT1cIlJpc2tzIHRvIGJlIHByaW9yaXRpc2VkIGluY2x1ZGUgdGhlIHN0YXJ0aW5nIG1hdGVyaWFscywgY3JpdGljYWwgcHJvY2VzcyBzdGVwcyBpbiBtYW51ZmFjdHVyaW5nIGFuZCB0aGUgYnVsayBwcm9kdWN0LiBJdCBpcyBlc3NlbnRpYWwgdG8gY2Fycnkgb3V0IHByb2FjdGl2ZSBwcm9jZXNzIHZhbGlkYXRpb24gYW5kIGVzdGFibGlzaCBhIGNoYW5nZSBtYW5hZ2VtZW50IHN5c3RlbS5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGF0IGluaXRpYWwgc3RlcHMgZG8gd2UgbmVlZCB0byB0YWtlIHRvIGFuYWx5c2UgdGhlIG1hcmtldCBhbmQgcHJlcGFyZSBmb3IgbWFya2V0IGFjY2Vzcz9cIiBhPVwiQSBzdGFrZWhvbGRlciBhbmFseXNpcyBvZiB0aGUgbWFya2V0IHBhcnRpY2lwYW50cyBhbmQgYSBjb21wYXJpc29uIG9mIHRoZSBuZXcgdGhlcmFweSB3aXRoIHRoZSBzdGFuZGFyZCB0aGVyYXB5IGFyZSByZXF1aXJlZC4gUGh5c2ljaWFuIG5ldHdvcmtzIHNob3VsZCBiZSBpZGVudGlmaWVkIGFuZCB0aGUgcHJpY2luZyBzdHJhdGVneSBkZWZpbmVkLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBHQkEgYW5kIHRoZSBoZWFsdGggaW5zdXJhbmNlIGZ1bmRzLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBkbyB3ZSBkZXZlbG9wIGEgc3RyYXRlZ3kgZm9yIHRoZSBwcm90ZWN0aW9uIG9mIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBhbmQgcGF0ZW50cz9cIiBhPVwiVGhlIHN0cmF0ZWd5IHNob3VsZCBpbmNsdWRlIHBhdGVudCBhcHBsaWNhdGlvbnMgaW4gdGhlIGZvbGxvd2luZyBvcmRlcjogRmlyc3QgZm9yIHRoZSBhY3RpdmUgaW5ncmVkaWVudCBhbmQgdGhlIGZvcm11bGF0aW9uIChwcm9kdWN0IHBhdGVudCksIHRoZW4gdGhlIG1hbnVmYWN0dXJpbmcgcm91dGUgYXMgcHJvY2VzcyBwYXRlbnQgYW5kIGZvbGxvd2VkIGJ5IGluZGljYXRpb24gYXMgdXNlIHBhdGVudC4gRmluYWxseSwgYSB1dGlsaXR5IG1vZGVsIG1heSBhbHNvIGJlIHVzZWZ1bC5cIi8+XG4gICAgPC8+XG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIlBoeXNpY2FsIFwiLFxuICAgIG5hY2hubmFtZTogXCJhbmQgQmlvcGh5c2ljYWwgQ2hlbWlzdHJ5IFwiLFxuICAgIGpvYjogXCJXb3JraW5nIGdyb3VwIFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlVuaXZlcnNpdHkgQmllbGVmZWxkIFwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgcGljdHVyZXVybDogcGljc1sncGh5c2lrJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJQZXJmb3JtYW5jZSBvZiBFeHBlcmltZW50cyBmb3IgTE5QIGNoYXJhY3Rlcml6YXRpb24gXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiYmlvcGh5c2lrXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwieFwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPkZvciBvdXIgcHJvamVjdCwgd2UgY29sbGFib3JhdGVkIGNsb3NlbHkgd2l0aCB0aGUgUGh5c2ljYWwgQ2hlbWlzdHJ5IHdvcmtncm91cCB0byBwcm9wZXJseSBjYXRlZ29yaXplIG91ciBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKS4gV2UgcmVhY2hlZCBvdXQgdG8gdGhlbSB0byBsZXZlcmFnZSB0aGVpciBleHBlcnRpc2UgYW5kIGVuc3VyZSB0aGF0IG91ciBjaGFyYWN0ZXJpemF0aW9uIHdhcyB0aG9yb3VnaCBhbmQgcHJlY2lzZS4gTWFyY28sIFV3ZSwgYW5kIFl2b25uZSB3ZXJlIGluc3RydW1lbnRhbCBpbiB0aGlzIGVmZm9ydCwgbm90IG9ubHkgYWR2aXNpbmcgdXMgb24gYXBwcm9wcmlhdGUgY2hhcmFjdGVyaXphdGlvbiBtZXRob2RzIGJ1dCBhbHNvIGFjdGl2ZWx5IGFzc2lzdGluZyB1cyBkdXJpbmcgdGhlIGV4cGVyaW1lbnRhbCBwcm9jZXNzIGFuZCBkYXRhIGFuYWx5c2lzLiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPldlIGVtcGxveWVkIHNldmVyYWwgYW5hbHl0aWNhbCB0ZWNobmlxdWVzLCBpbmNsdWRpbmcgVHJhbnNtaXNzaW9uIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFRFTSksIFNjYW5uaW5nIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFNFTSksIER5bmFtaWMgTGlnaHQgU2NhdHRlcmluZyAoRExTKSwgYW5kIHpldGEgcG90ZW50aWFsIGFuYWx5c2lzLiBURU0gYW5kIFNFTSBhbGxvd2VkIHVzIHRvIHZpc3VhbGl6ZSB0aGUgc3RydWN0dXJhbCBtb3JwaG9sb2d5IG9mIHRoZSBMTlBzLCBwcm92aWRpbmcgZGV0YWlsZWQgaW1hZ2VzIHRvIHVuZGVyc3RhbmQgdGhlaXIgc2l6ZSBhbmQgc2hhcGUgb24gdGhlIG5hbm9tZXRlciBzY2FsZS4gRExTIHdhcyB1c2VkIHRvIG1lYXN1cmUgdGhlIHNpemUgZGlzdHJpYnV0aW9uIG9mIHRoZSBwYXJ0aWNsZXMgaW4gc29sdXRpb24sIHdoaWxlIHRoZSB6ZXRhIHBvdGVudGlhbCBhbmFseXNpcyBnYXZlIHVzIGluc2lnaHQgaW50byB0aGUgc3VyZmFjZSBjaGFyZ2UsIHdoaWNoIGlzIGNydWNpYWwgZm9yIHVuZGVyc3RhbmRpbmcgc3RhYmlsaXR5IGluIHN1c3BlbnNpb24uIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+VGhhbmtzIHRvIHRoZSBndWlkYW5jZSBhbmQgaGFuZHMtb24gc3VwcG9ydCBvZiB0aGUgUGh5c2ljYWwgQ2hlbWlzdHJ5IHRlYW0sIHdlIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQgdGhlc2UgdGVzdHMsIGdhaW5pbmcgZGV0YWlsZWQgaW5zaWdodHMgaW50byBvdXIgTE5QcyB0aGF0IHdpbGwgYmUgY3J1Y2lhbCBmb3Igb3VyIHByb2plY3QncyBmdXJ0aGVyIGRldmVsb3BtZW50LiBUaGVpciBleHBlcnRpc2Ugbm90IG9ubHkgc3RyZWFtbGluZWQgdGhlIHByb2Nlc3MgYnV0IGFsc28gZW5zdXJlZCB0aGUgcmVsaWFiaWxpdHkgYW5kIGFjY3VyYWN5IG9mIG91ciByZXN1bHRzLiBIZXJlIGEgc25lYWsgcGVhayBvZiB0aGUgcmVzdWx0cyBcdTIwMTMgdGFrZSBhIGxvb2sgYXQgdGhlIGltYWdlIG9mIG91ciBTT1JUIExOUCB0YWtlbiB2aWEgVEVNLiA8L3A+XSxcbiAgICBzdW1tYXJ5OiBcIldlIGNvbGxhYm9yYXRlZCB3aXRoIHRoZSBQaHlzaWNhbCBDaGVtaXN0cnkgd29ya2dyb3VwIHRvIGFjY3VyYXRlbHkgY2hhcmFjdGVyaXplIG91ciBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKS4gVGhlaXIgZXhwZXJ0aXNlLCBwYXJ0aWN1bGFybHkgZnJvbSBNYXJjbywgVXdlLCBhbmQgWXZvbm5lLCB3YXMgaW52YWx1YWJsZSBpbiBzZWxlY3RpbmcgYW5kIGFwcGx5aW5nIHZhcmlvdXMgYW5hbHl0aWNhbCB0ZWNobmlxdWVzLCBpbmNsdWRpbmcgVHJhbnNtaXNzaW9uIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFRFTSksIFNjYW5uaW5nIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFNFTSksIER5bmFtaWMgTGlnaHQgU2NhdHRlcmluZyAoRExTKSwgYW5kIHpldGEgcG90ZW50aWFsIGFuYWx5c2lzLiBUaGlzIGNvbGxhYm9yYXRpb24gbm90IG9ubHkgZW5oYW5jZWQgb3VyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIExOUHMnIHNpemUsIHNoYXBlLCBhbmQgc3RhYmlsaXR5IGJ1dCBhbHNvIGVuc3VyZWQgdGhlIHJlbGlhYmlsaXR5IG9mIG91ciByZXN1bHRzLiBXaXRoIHRoZWlyIGd1aWRhbmNlLCB3ZSBzdWNjZXNzZnVsbHkgY29tcGxldGVkIG91ciB0ZXN0cywgcHJvdmlkaW5nIGNydWNpYWwgaW5zaWdodHMgZm9yIHRoZSBwcm9qZWN0J3MgYWR2YW5jZW1lbnQuXCIsXG4gICAgbW9udGhzOiBcIlNlcHRlbWJlclwiLFxuICAgIHBpY3R1cmV1cmxfaW50ZXJ2aWV3OiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L2NyeW8tZW0ud2VicFwiLFxuICAgIHBpY3R1cmV1cmxfaW1wbGVtZW50YXRpb246IFwiIGh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L3RlbS1zb3J0LWxucDEud2VicFwiLFxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiTS5TYy5cIixcbiAgICB2b3JuYW1lOiBcIkhha2FuXCIsXG4gICAgbmFjaG5uYW1lOiBcIlNveXRcdTAwRkNya1wiLFxuICAgIGpvYjogXCJQaEQgU3R1ZGVudCBGYWN1bHR5IG9mIEJpb2xvZ3kgLyBXb3JraW5nIEdyb3VwXCIsXG4gICAgYWZmaWxpYXRpb246IFwiVW5pdmVyc2l0eSBCaWVsZWZlbGQgXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZW5cIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydoYWthbiddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiSGVscGluZyBhbmQgY29uZHVjdGluZyBleHBlcmltZW50cyB3aXRoIHllYXN0IGNlbGxzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiaGFrYW5cIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJKdXN0IGhhbmQgbWUgb3ZlciB0aGUgc3RyYWluIGFuZCB0aGUgdmVjdG9yLCBJIHdpbGwgdHJ5IHRvIHRha2UgY2FyZSBvZiB0aGUgcmVzdC5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5BZnRlciBvdXIgaW50ZXJ2aWV3IHdpdGggPEhQTGlua3RvT3RoZXJIUFRhYiB0YWI9XCJzYWl0b1wiIHRleHQ9XCJNYWtvdG8gU2FpdG9cIiAvPlxuIHdlIGxlYXJuZWQsIHRoYXQgaGUgd2FzIG5vdCBhYmxlIHRvIGV4cHJlc3MgdGhlIFNwdUZ6MSBwcm90ZWluIGluIEUuIGNvbGkgYW5kIHJlY29tbWVuZGVkIHdlIHVzZWQgeWVhc3QgdG8gcHJvZHVjZSBpdC4gV2Ugd2VyZSBwcm92aWRlZCB3aXRoIGEgeWVhc3QgZXhwcmVzc2lvbiBzdHJhaW4gYW5kIGEgc3VpdGFibGUgdmVjdG9yIHRvIGNsb25lIHRoZSBjb2Rpbmcgc2VxdWVuY2UgaW50bywgYnV0IHdlIGxhY2tlZCB0aGUgbmVjZXNzYXJ5IGtub3ctaG93IGFuZCB0aGUgZmFjaWxpdGllcyB0byB0cmFuc2Zvcm0geWVhc3QsIHNlbGVjdCBmb3IgcG9zaXRpdmUgdHJhbnNmb3JtYW50cyBhbmQgY3VsdGl2YXRlIHRoZSB5ZWFzdC4gIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+SGFrYW4gZ2VuZXJvdXNseSBhZ3JlZWQgdG8gY2Fycnkgb3V0IHRoZSB0cmFuc2Zvcm1hdGlvbiBhbmQgcHJlcGFyZSBwb3RlbnRpYWwgcG9zaXRpdmUgdHJhbnNmb3JtYW50cyBmb3IgY3VsdGl2YXRpb24gZm9yIHVzLCBsZWF2aW5nIG9ubHkgdGhlIHB1cmlmaWNhdGlvbiBvZiB0aGUgcHJvdGVpbnMgZnJvbSB0aGUgc3VwZXJuYXRhbnQgZm9yIHVzIHRvIGRvLiA8L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPkhha2FuIHBlcmZvcm1lZCB0aGUgdHJhbnNmb3JtYXRpb24gb2YgYSBwUElDOUstbjNTcHVGejEgY29uc3RydWN0IHdlIGNyZWF0ZWQgaW50byBZZWFzdC4gVW5mb3J0dW5hdGVseSwgdGhlIGZpcnN0IGF0dGVtcHQgb2YgdHJhbnNmb3JtYXRpb24gZGlkIG5vdCB5aWVsZCBhbnkgcG9zaXRpdmUgY2xvbmVzLiBIb3dldmVyLCB3ZSB2YWx1ZSBoaXMgc3BvbnRhbmVvdXMgYW5kIGV4dGVuc2l2ZSBzdXBwb3J0IGFzIGEgZ3JlYXQgY29udHJpYnV0aW9uIHRvIG91ciBwcm9qZWN0LiA8L3A+XSxcbiAgICBzdW1tYXJ5OiBcIldlIGNvbGxhYm9yYXRlZCB3aXRoIHRoZSBQaHlzaWNhbCBDaGVtaXN0cnkgd29ya2dyb3VwIHRvIGFjY3VyYXRlbHkgY2hhcmFjdGVyaXplIG91ciBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKS4gVGhlaXIgZXhwZXJ0aXNlLCBwYXJ0aWN1bGFybHkgZnJvbSBNYXJjbywgVXdlLCBhbmQgWXZvbm5lLCB3YXMgaW52YWx1YWJsZSBpbiBzZWxlY3RpbmcgYW5kIGFwcGx5aW5nIHZhcmlvdXMgYW5hbHl0aWNhbCB0ZWNobmlxdWVzLCBpbmNsdWRpbmcgVHJhbnNtaXNzaW9uIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFRFTSksIFNjYW5uaW5nIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFNFTSksIER5bmFtaWMgTGlnaHQgU2NhdHRlcmluZyAoRExTKSwgYW5kIHpldGEgcG90ZW50aWFsIGFuYWx5c2lzLiBUaGlzIGNvbGxhYm9yYXRpb24gbm90IG9ubHkgZW5oYW5jZWQgb3VyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIExOUHMnIHNpemUsIHNoYXBlLCBhbmQgc3RhYmlsaXR5IGJ1dCBhbHNvIGVuc3VyZWQgdGhlIHJlbGlhYmlsaXR5IG9mIG91ciByZXN1bHRzLiBXaXRoIHRoZWlyIGd1aWRhbmNlLCB3ZSBzdWNjZXNzZnVsbHkgY29tcGxldGVkIG91ciB0ZXN0cywgcHJvdmlkaW5nIGNydWNpYWwgaW5zaWdodHMgZm9yIHRoZSBwcm9qZWN0J3MgYWR2YW5jZW1lbnQuXCIsXG4gICAgbW9udGhzOiBcIlNlcHRlbWJlclwiLFxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiTS5TYy5cIixcbiAgICB2b3JuYW1lOiBcIkJlbmphbWluXCIsXG4gICAgbmFjaG5uYW1lOiBcIk1vb3JsYWNoXCIsICBcbiAgICBqb2I6XCJQaEQgc3R1ZGVudCBXb3JraW5nIEdyb3VwIFBhdGVsICdGZXJtZW50YXRpb24gYW5kIEZvcm11bGF0aW9uIG9mIEJpb2xvZ2ljYWxzIGFuZCBDaGVtaWNhbHMnXCIsXG4gICAgYWZmaWxpYXRpb246XCJhdCBGSCBCaWVsZWZlbGRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydtb29ybGFjaCddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiR2F0aGVyaW5nIGluZm9ybWF0aW9uIGFib3V0IENoaXRvc2FuIGNvYXRpbmcgZm9yIFJOQSBwcm90ZWN0aW9uXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibW9vcmxhY2hcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcInhcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5UaGUgYWltIG9mIHRoZSBjb250YWN0IHdpdGggQmVuamFtaW4gV2lsbGVtIE1vb3JsYWNoLCBNLlNjLiwgZnJvbSB0aGUgRGVwYXJ0bWVudCBvZiBFbmdpbmVlcmluZyBhbmQgTWF0aGVtYXRpY3MsIHdhcyB0byBnYWluIGEgZGVlcGVyIHVuZGVyc3RhbmRpbmcgb2YgaG93IENoaXRvc2FuIGNvdWxkIGJlIGFwcGxpZWQgaW4gbGlwaWQtYmFzZWQgbmFub3BhcnRpY2xlcyAoTE5QcykgYW5kIHRvIGV4cGxvcmUgaXRzIHBvdGVudGlhbCByb2xlIGluIG91ciBwcm9qZWN0LiBXZSBoYWQgc2V2ZXJhbCBxdWVzdGlvbnMgZm9jdXNpbmcgb24gdGhlIHByb3BlcnRpZXMgb2YgQ2hpdG9zYW4sIGl0cyBhZHZhbnRhZ2VzIGFuZCBkaXNhZHZhbnRhZ2VzLCBhbmQgaG93IGl0IGNvdWxkIGJlIGludGVncmF0ZWQgaW50byBMTlBzLiBCZW5qYW1pbiBNb29ybGFjaCBwcm92aWRlZCBleHRlbnNpdmUgaW5zaWdodHMgaW50byBDaGl0b3Nhblx1MjAxOXMgaW50ZXJhY3Rpb25zIHdpdGggUk5BLCBpdHMgYmVoYXZpb3IsIGFuZCBob3cgd2UgbWlnaHQgbGV2ZXJhZ2UgaXQgZm9yIG91ciBmb3JtdWxhdGlvbnMuIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+RnJvbSBvdXIgZGlzY3Vzc2lvbiwgd2UgZ2FpbmVkIHZhbHVhYmxlIGluc2lnaHRzIGludG8gdGhlIHVuaXF1ZSBwcm9wZXJ0aWVzIG9mIENoaXRvc2FuLCBhIGNhdGlvbmljIHBvbHltZXIgd2l0aCBzaWduaWZpY2FudCBwb3RlbnRpYWwgdG8gc3RhYmlsaXplIFJOQS4gTm90YWJseSwgQ2hpdG9zYW4gb2ZmZXJzIHN0cm9uZyBwcm90ZWN0aW9uIGFnYWluc3QgUk5hc2VzLCBtYWtpbmcgaXQgaGlnaGx5IGJlbmVmaWNpYWwgZm9yIGZvcm11bGF0aW9ucyBsaWtlIGxpcGlkLWJhc2VkIG5hbm9wYXJ0aWNsZXMgKExOUHMpLiBBbm90aGVyIGtleSBmZWF0dXJlIGlzIGl0cyBoZWF0IHN0YWJpbGl0eSwgd2l0aHN0YW5kaW5nIHRlbXBlcmF0dXJlcyB1cCB0byAxMjFcdTAwQjBDLCB3aGljaCBtYWtlcyBpdCBzdWl0YWJsZSBmb3IgcHJvY2Vzc2luZyBtZXRob2RzIHN1Y2ggYXMgc3ByYXkgZHJ5aW5nLiBIb3dldmVyLCBhdCBoaWdoZXIgY29uY2VudHJhdGlvbnMgKDAuNSUgb3IgbW9yZSksIENoaXRvc2FuIGNhbiBiZWNvbWUgdG94aWMsIHN1ZmZvY2F0aW5nIGNlbGxzIGFuZCBkaXNwbGF5aW5nIGFudGltaWNyb2JpYWwgcHJvcGVydGllcy4gV2hpbGUgaXQgZGlmZmVycyBmcm9tIFBFRyBhbmQgY2Fubm90IHNlcnZlIGFzIGEgZGlyZWN0IGFsdGVybmF0aXZlLCBDaGl0b3NhbiBjYW4gYmUgYSB2YWx1YWJsZSBjb21wbGVtZW50LCBlc3BlY2lhbGx5IGluIHN0YWJpbGl6aW5nIFJOQSB3aXRoaW4gTE5Qcy4gXG4gICAgICBBIGNyaXRpY2FsIHBvaW50IEJlbmphbWluIGVtcGhhc2l6ZWQgaXMgdGhhdCBDaGl0b3NhbiBtdXN0IGJlIGluIGFuIGFjaWRpYyBlbnZpcm9ubWVudCwgdHlwaWNhbGx5IHdpdGggYSBwSCByYW5nZSBvZiA0IHRvIDYsIHRvIHJlbWFpbiBwb3NpdGl2ZWx5IGNoYXJnZWQuIFRoaXMgcG9zaXRpdmUgY2hhcmdlIGlzIGVzc2VudGlhbCBmb3IgaXRzIGVmZmVjdGl2ZSBpbnRlcmFjdGlvbiB3aXRoIFJOQSBhbmQgc3VjY2Vzc2Z1bCBpbnRlZ3JhdGlvbiBpbnRvIHRoZSBMTlAgc3lzdGVtLiBcbiAgICAgIE9uZSBvZiB0aGUgbW9zdCBpbXBvcnRhbnQgYXR0cmlidXRlcyBvZiBDaGl0b3NhbiBpcyBpdHMgYWJpbGl0eSB0byBmb3JtIGNvbXBsZXhlcyB3aXRoIFJOQSwgb2ZmZXJpbmcgYSBoaWdoIGRlZ3JlZSBvZiBwcm90ZWN0aW9uLCB3aGljaCBpcyBjcnVjaWFsIGZvciB0aGUgc3RhYmlsaXR5IG9mIExOUCBmb3JtdWxhdGlvbnMuIFRoaXMgY2hhcmFjdGVyaXN0aWMgbWFrZXMgQ2hpdG9zYW4gcGFydGljdWxhcmx5IGFkdmFudGFnZW91cyBpbiBlbmhhbmNpbmcgUk5BIHN0YWJpbGl0eSBkdXJpbmcgcHJvY2Vzc2VzIGxpa2Ugc3ByYXkgZHJ5aW5nLiBIb3dldmVyLCBpbmNvcnBvcmF0aW5nIENoaXRvc2FuIGRpcmVjdGx5IGludG8gdGhlIGxpcGlkIHNoZWxsIG9mIExOUHMgcG9zZXMgY2hhbGxlbmdlcyBkdWUgdG8gaXRzIGh5ZHJvcGhpbGljIG5hdHVyZSBhbmQgaW5jb21wYXRpYmxlIGNoYXJnZSByYXRpb3MsIHdoaWNoIHByZXZlbnQgaXRzIHVzZSBhcyBhbiBleHRlcm5hbCBjb2F0aW5nIG9uIExOUHMuIEluc3RlYWQsIGl0IGlzIG1vcmUgc3VpdGFibGUgZm9yIGZvcm1pbmcgc3RhYmxlIFJOQS1DaGl0b3NhbiBjb21wbGV4ZXMgdGhhdCBjYW4gYmUgZW5jYXBzdWxhdGVkIHdpdGhpbiB0aGUgTE5QIHN0cnVjdHVyZSwgZW5zdXJpbmcgaW1wcm92ZWQgc3RhYmlsaXR5IGFuZCBwcm90ZWN0aW9uLjwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+V2UgaGF2ZSBpbnRlZ3JhdGVkIHRoZSBpbmZvcm1hdGlvbiBieSBwcmltYXJpbHkgdXNpbmcgQ2hpdG9zYW4gYXMgYW4gUk5BIHN0YWJpbGl6ZXIsIHJhdGhlciB0aGFuIGVtYmVkZGluZyBpdCBkaXJlY3RseSBpbnRvIHRoZSBMTlAgbGlwaWQgc2hlbGwuIEJlbmphbWluIHN1Z2dlc3RlZCBmb3JtaW5nIENoaXRvc2FuLVJOQSBjb21wbGV4ZXMgZmlyc3QgYW5kIHRoZW4gZW5jYXBzdWxhdGluZyB0aGVtIHdpdGhpbiBMTlBzIHRvIGVuc3VyZSB0aGUgUk5BIHJlbWFpbnMgc3RhYmxlIGFuZCBmdW5jdGlvbmFsLiBGb3IgdGhpcywgQ2hpdG9zYW4gd2l0aCBhIGxvdyBtb2xlY3VsYXIgd2VpZ2h0IChhcm91bmQgNSBrRGEpIGlzIGlkZWFsLCBhcyBpdCBoZWxwcyBwcm9kdWNlIHNtYWxsZXIgcGFydGljbGVzIHRoYXQgY2FuIGJlIGVmZmljaWVudGx5IGVuY2Fwc3VsYXRlZC4gXG4gICAgICBBZGRpdGlvbmFsbHksIEJlbmphbWluIHJlY29tbWVuZGVkIHN0YXJ0aW5nIHdpdGggc21hbGwtc2NhbGUgdGVzdHMgKGFib3V0IDEwMCBcdTAwQjVMKSBiZWZvcmUgbW92aW5nIHRvIGxhcmdlciBmb3JtdWxhdGlvbnMuIFRoZSByYXRpbyBvZiBSTkEgdG8gQ2hpdG9zYW4gaXMga2V5IHRvIGNyZWF0aW5nIG5lZ2F0aXZlbHkgY2hhcmdlZCBwYXJ0aWNsZXMsIGFuZCBhIDI6MSByYXRpbyBzaG91bGQgYmUgbWFpbnRhaW5lZC4gV2Ugd2lsbCB2ZXJpZnkgc3VjY2Vzc2Z1bCBlbmNhcHN1bGF0aW9uIHVzaW5nIG1pY3Jvc2NvcGljIGFuYWx5c2lzIGFuZCBnZWwgZWxlY3Ryb3Bob3Jlc2lzLiBcbiAgICAgIFRoaXMga25vd2xlZGdlIGhhcyBkaXJlY3RseSBzaGFwZWQgb3VyIGFwcHJvYWNoIHRvIHVzaW5nIENoaXRvc2FuLiBPdXIgZm9jdXMgaXMgbm93IG9uIGZvcm1pbmcgc3RhYmxlIFJOQS1DaGl0b3NhbiBjb21wbGV4ZXMsIHdoaWNoIGNhbiBiZSBlbmNhcHN1bGF0ZWQgaW4gTE5Qcy4gV2VcdTIwMTl2ZSBhbHNvIGxlYXJuZWQgdGhlIGltcG9ydGFuY2Ugb2Ygb3B0aW1pemluZyBjb25jZW50cmF0aW9ucyB0byBwcmV2ZW50IGFnZ3JlZ2F0aW9uIG9yIHRveGljaXR5IHdoaWxlIGVuc3VyaW5nIHRoZSBwYXJ0aWNsZXMgc3RheSB3aXRoaW4gdGhlIGRlc2lyZWQgbmFub21ldGVyIHJhbmdlLiBNaWNyb3Njb3B5IGFuZCBlbGVjdHJvcGhvcmVzaXMgd2lsbCBub3cgYmUga2V5IG1ldGhvZHMgaW4gb3VyIHByb3RvY29sIHRvIGNvbmZpcm0gY29tcGxldGUgUk5BIGVuY2Fwc3VsYXRpb24gd2l0aGluIHRoZSBMTlBzLiA8L3A+XSxcbiAgICBzdW1tYXJ5OiBcIkluIHN1bW1hcnksIHRoZSBpbnNpZ2h0cyBmcm9tIEJlbmphbWluXHUyMDE5cyBleHBlcnRpc2Ugd2VyZSBjcnVjaWFsIGluIHNoYXBpbmcgb3VyIHVuZGVyc3RhbmRpbmcgb2YgaG93IHRvIGludGVncmF0ZSBDaGl0b3NhbiBpbnRvIG91ciBMTlAgZm9ybXVsYXRpb25zLiBDaGl0b3Nhblx1MjAxOXMgcHJvdGVjdGl2ZSBhYmlsaXRpZXMgZm9yIFJOQSwgYWxvbmcgd2l0aCBpdHMgaGVhdCBzdGFiaWxpdHksIG1ha2UgaXQgYSB2YWx1YWJsZSBjb21wb25lbnQgaW4gb3VyIHByb2plY3QuIEhvd2V2ZXIsIGl0cyBoeWRyb3BoaWxpYyBhbmQgY2F0aW9uaWMgbmF0dXJlIHByZXNlbnRzIGNoYWxsZW5nZXMgZm9yIGRpcmVjdCBpbnRlZ3JhdGlvbiBpbnRvIExOUCBsaXBpZCBzaGVsbHMsIHNvIHdlIGFyZSBmb2N1c2luZyBvbiBpdHMgdXNlIGFzIGFuIGVuY2Fwc3VsYXRpb24gZm9yIHRoZSBSTkEuIEJlbmphbWluXHUyMDE5cyBhZHZpY2Ugb24gY29uY2VudHJhdGlvbnMsIG1vbGVjdWxhciB3ZWlnaHQsIGFuZCBjb21wbGV4IGZvcm1hdGlvbiBnYXZlIHVzIGEgY2xlYXIgcGF0aCBmb3J3YXJkLCB3aGljaCB3aWxsIGJlIHZhbGlkYXRlZCB0aHJvdWdoIGV4cGVyaW1lbnRhbCB0ZXN0aW5nLiBcIixcbiAgICBtb250aHM6IFwic2VwdGVtYmVyXCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiQ2FycnkgSXQgRm9yd2FyZFwiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIGpvYjogXCJUZWFtIGlHRU1cIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaWVsZmVsZCBDZUJpVGVjIDIwMjRcIixcbiAgICB0YWc6IFwiTWlsZXN0b25lXCIsXG4gICAgaGVhZGluZzogXCJCcmFpbnN0b3JtaW5nIGFuZCBzZWxlY3Rpb24gb2YgaWRlYXMgYW5kIGNvbmNlcHRzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiZm9yd2FyZFwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBzdW1tYXJ5OiBcIlwiLFxuICAgIG1vbnRoczogXCJvY3RvYmVyXCJcbiAgfSxcbiBcbl1cblxuIiwgImltcG9ydCB7IEhQTW9yZUJ1dHRvbiwgTmV3SFBNb3JlQnV0dG9uIH0gZnJvbSBcIi4vQnV0dG9uc1wiO1xuaW1wb3J0IHsgdGltZWxpbmVkYXRhIH0gZnJvbSBcIi4uL2RhdGEvaHB0aW1lbGluZWRhdGFcIjtcbmZ1bmN0aW9uIFRpbWVJdGVtKHt0YWcsIHRpdGxlLCBwaWMsIGF1dGhvciwgdGFiaWQsIG1vbnRofTogSXRlbVByb3BzKXtcbiAgICBsZXQgY2wgPSBcInQtdGFnIFwiICsgdGFnO1xuICAgIHJldHVybihcbiAgICA8bGkgY2xhc3NOYW1lPVwidGltZWxpbmVvbGxpXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW0gbW9yZXRvcFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIlwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiIHN0eWxlPXt7cGFkZGluZ0xlZnQ6IFwiMTBweFwiLCBwYWRkaW5nUmlnaHQ6IFwiMTVweFwifX0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtjbH0+XG4gICAgICAgICAgICAgICAgICB7dGFnfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC02IHQtdGFnXCIgc3R5bGU9e3tjb2xvcjogXCJibGFja1wiLCBiYWNrZ3JvdW5kQ29sb3I6IFwiI2UyZGFkN1wifX0+XG4gICAgICAgICAgICAgICAgICB7bW9udGh9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsbHVwLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciBmaWxsdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiID5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1yb3VuZFwiIHNyYz17cGljfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgPlxuICAgICAgICAgICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciBocGJ1dHRvbnJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7bWFyZ2luVG9wOiBcIjEwcHhcIn19PnthdXRob3J9PC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGFiXCI+XG4gICAgICAgICAgICAgICAgPE5ld0hQTW9yZUJ1dHRvbiB0YWI9e3RhYmlkfSBzY3JvbGw9e2Ake3RhYmlkfS1oZWFkaW5nYH0vPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICAgIClcbiAgfVxuICBcbiAgZnVuY3Rpb24gVGltZUl0ZW1NZXRhKHsgdGFnLCB0aXRsZSwgcGljLCBhdXRob3IsIHRhYmlkLCBtb250aH06IEl0ZW1Qcm9wcyl7XG4gICAgbGV0IGNsID0gXCJ0LXRhZyBcIiArIHRhZztcbiAgICByZXR1cm4oXG4gICAgPGxpIGNsYXNzTmFtZT1cInRpbWVsaW5lb2xsaVwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lbGluZS1pdGVtIHRpbWUtbWV0YSBtb3JldG9wXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiIHN0eWxlPXt7cGFkZGluZ0xlZnQ6IFwiMTBweFwiLCBwYWRkaW5nUmlnaHQ6IFwiMTVweFwifX0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtjbH0gY29sLTYgdC10YWcgYH0+XG4gICAgICAgICAgICAgICAgICB7dGFnfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC02IHQtdGFnXCIgc3R5bGU9e3tjb2xvcjogXCJibGFja1wiLCBiYWNrZ3JvdW5kQ29sb3I6IFwiI2UyZGFkN1wifX0+XG4gICAgICAgICAgICAgICAgICB7bW9udGh9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbGx1cC13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZmlsbHVwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiA+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctY3ViZVwiIHNyYz17cGljfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgPlxuICAgICAgICAgICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciBocGJ1dHRvbnJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7bWFyZ2luVG9wOiBcIjEwcHhcIn19PnthdXRob3J9PC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGFiXCI+XG4gICAgICAgICAgICAgICAgPE5ld0hQTW9yZUJ1dHRvbiB0YWI9e3RhYmlkfSBzY3JvbGw9e2Ake3RhYmlkfS1oZWFkaW5nYH0vPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICAgIClcbiAgfVxuICBcbiAgZXhwb3J0IGZ1bmN0aW9uIENvbWJpVGltZUhvcmkoe3RhYjEsIHRhYjJ9Ont0YWIxOiBzdHJpbmcsIHRhYjI6IHN0cmluZ30pe1xuICAgIGxldCBub2Q7IFxuXG4gICAgXG4gICAgICAvKiBjb25zb2xlLmxvZyhcIlRhYlwiKSAqL1xuICAgICAgbm9kID0gZ2V0SXRlbXNCeVR5cGVzKHRhYjEsIHRhYjIpO1xuICAgIFxuICAgIHJldHVybihcbiAgICA8ZGl2PlxuICA8c2VjdGlvbiBjbGFzc05hbWU9XCJ0aW1lbGluZVwiPlxuICA8b2wgY2xhc3NOYW1lPVwidGltZWxpbmVvbFwiPlxuICAgICAge25vZH1cbiAgICA8bGkgY2xhc3NOYW1lPVwidGltZWxpbmVvbGxpXCI+PC9saT5cbiAgPC9vbD5cbiAgXG4gIFxuICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuICAgIClcbiAgXG4gIH1cbiBleHBvcnQgZnVuY3Rpb24gZ2V0SXRlbXNCeVR5cGVzKHRhYmlkMTogc3RyaW5nLCB0YWJpZDI6IHN0cmluZykge1xuICAgICAgICBsZXQgcm93czogSlNYLkVsZW1lbnRbXSAgPSBbXVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRpbWVsaW5lZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHRhYmlkMSA9PT0gdGltZWxpbmVkYXRhW2ldLnRhZyB8fCB0YWJpZDIgPT09IHRpbWVsaW5lZGF0YVtpXS50YWcpIHtcbiAgICAgICAgICAgICAgdmFyIG5hbWU6IHN0cmluZzsgXG4gICAgICAgICAgICAgIGlmICh0aW1lbGluZWRhdGFbaV0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICBuYW1lID0gdGltZWxpbmVkYXRhW2ldLnRpdGxlISArIFwiIFwiICsgdGltZWxpbmVkYXRhW2ldLnZvcm5hbWUgKyBcIiBcIiArICB0aW1lbGluZWRhdGFbaV0ubmFjaG5uYW1lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgICAgbmFtZSA9ICB0aW1lbGluZWRhdGFbaV0udm9ybmFtZSArIFwiIFwiICsgIHRpbWVsaW5lZGF0YVtpXS5uYWNobm5hbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByb3dzLnB1c2goPFRpbWVJdGVtXG4gICAgICAgICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgICAgICAgICB0aXRsZT17dGltZWxpbmVkYXRhW2ldLmhlYWRpbmd9XG4gICAgICAgICAgICAgICAgICBwaWM9e3RpbWVsaW5lZGF0YVtpXS5waWN0dXJldXJsfVxuICAgICAgICAgICAgICAgICAgdGFnPXt0aW1lbGluZWRhdGFbaV0udGFnfVxuICAgICAgICAgICAgICAgICAgYXV0aG9yPXtuYW1lfVxuICAgICAgICAgICAgICAgICAgdGFiaWQ9e3RpbWVsaW5lZGF0YVtpXS5pbnRlcnZpZXd0YWJpZH0gXG4gICAgICAgICAgICAgICAgICBtb250aD17dGltZWxpbmVkYXRhW2ldLm1vbnRoc30gID5cbiAgICAgICAgICAgICAgICAgICAge3RpbWVsaW5lZGF0YVtpXS5jYXJkdGV4dH1cbiAgICAgICAgICAgICAgICA8L1RpbWVJdGVtPilcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm93czsgXG4gICAgfVxuICBcbiAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gVGltZUhvcmkoe3RhYn06e3RhYjogc3RyaW5nfSl7XG4gICAgbGV0IG5vZDsgXG4gICAgLyogY29uc29sZS5sb2coXCJUaW1lSG9yaVwiKSAqL1xuICAgIGlmICh0YWIgPT09IFwiXCIpeyAgXG4gICAgICBub2QgPSA8QWxsSXRlbXM+PC9BbGxJdGVtcz5cbiAgICAgIC8qIGNvbnNvbGUubG9nKFwiVGFiID0gJydcIikgKi9cbiAgICB9XG4gICAgZWxzZXtcbiAgICAgIC8qIGNvbnNvbGUubG9nKFwiVGFiXCIpICovXG4gICAgICBub2QgPSBnZXRJdGVtc0J5VHlwZSh0YWIpO1xuICAgIH1cbiAgICByZXR1cm4oXG4gICAgPGRpdj5cbiAgPHNlY3Rpb24gY2xhc3NOYW1lPVwidGltZWxpbmVcIj5cbiAgPG9sIGNsYXNzTmFtZT1cInRpbWVsaW5lb2xcIj5cbiAgICAgIHtub2R9XG4gICAgPGxpIGNsYXNzTmFtZT1cInRpbWVsaW5lb2xsaVwiPjwvbGk+XG4gIDwvb2w+XG4gIFxuICBcbiAgPC9zZWN0aW9uPlxuICA8L2Rpdj5cbiAgXG4gICAgKVxuICB9XG4gIFxuXG4gIFxuICAgICAgXG4gICAgICBpbnRlcmZhY2UgSXRlbVByb3BzIHtcbiAgICAgICAgdGl0bGU6IHN0cmluZyAsXG4gICAgICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgICAgIHRhZzogc3RyaW5nLCBcbiAgICAgICAgcGljOiBzdHJpbmcsXG4gICAgICAgIGF1dGhvcjogc3RyaW5nLCBcbiAgICAgICAgdGFiaWQ6IHN0cmluZ1xuICAgICAgICBtb250aDogc3RyaW5nXG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgXG5cblxuICAgICAgZnVuY3Rpb24gQWxsSXRlbXMoKXtcbiAgICAgICAgbGV0IHJvd3M6IEpTWC5FbGVtZW50W10gID0gW11cbiAgICAgICAgZm9yICggbGV0IGkgPSAwOyAgaSA8IHRpbWVsaW5lZGF0YS5sZW5ndGg7IGkrKyApe1xuICAgICAgICAgIGlmICh0aW1lbGluZWRhdGFbaV0udHlwZSA9PT0gXCJtZXRhXCIpe1xuICAgICAgICAgICAgdmFyIG5hbWU6IHN0cmluZzsgXG4gICAgICAgICAgICBpZiAodGltZWxpbmVkYXRhW2ldLnRpdGxlKSB7XG4gICAgICAgICAgICAgIG5hbWUgPSB0aW1lbGluZWRhdGFbaV0udGl0bGUhICsgXCIgXCIgKyB0aW1lbGluZWRhdGFbaV0udm9ybmFtZSArIFwiIFwiICsgIHRpbWVsaW5lZGF0YVtpXS5uYWNobm5hbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNle1xuICAgICAgICAgICAgICBuYW1lID0gIHRpbWVsaW5lZGF0YVtpXS52b3JuYW1lICsgXCIgXCIgKyAgdGltZWxpbmVkYXRhW2ldLm5hY2hubmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJvd3MucHVzaCg8VGltZUl0ZW1NZXRhIFxuICAgICAgICAgICAgICB0aXRsZT17dGltZWxpbmVkYXRhW2ldLmhlYWRpbmd9XG4gICAgICAgICAgICAgIHBpYz17dGltZWxpbmVkYXRhW2ldLnBpY3R1cmV1cmx9XG4gICAgICAgICAgICAgIHRhZz17dGltZWxpbmVkYXRhW2ldLnRhZ31cbiAgICAgICAgICAgICAgYXV0aG9yPXtuYW1lfVxuICAgICAgICAgICAgICB0YWJpZD17dGltZWxpbmVkYXRhW2ldLmludGVydmlld3RhYmlkfVxuICAgICAgICAgICAgICBtb250aD17dGltZWxpbmVkYXRhW2ldLm1vbnRoc30gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dGltZWxpbmVkYXRhW2ldLmNhcmR0ZXh0fVxuICAgICAgICAgICAgICA8L1RpbWVJdGVtTWV0YT4pXG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICB2YXIgbmFtZTogc3RyaW5nOyBcbiAgICAgICAgICAgIGlmICh0aW1lbGluZWRhdGFbaV0udGl0bGUpIHtcbiAgICAgICAgICAgICAgbmFtZSA9IHRpbWVsaW5lZGF0YVtpXS50aXRsZSEgKyBcIiBcIiArIHRpbWVsaW5lZGF0YVtpXS52b3JuYW1lICsgXCIgXCIgKyAgdGltZWxpbmVkYXRhW2ldLm5hY2hubmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgIG5hbWUgPSAgdGltZWxpbmVkYXRhW2ldLnZvcm5hbWUgKyBcIiBcIiArICB0aW1lbGluZWRhdGFbaV0ubmFjaG5uYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm93cy5wdXNoKDxUaW1lSXRlbSBcbiAgICAgICAgICAgICAgdGl0bGU9e3RpbWVsaW5lZGF0YVtpXS5oZWFkaW5nfVxuICAgICAgICAgICAgICBwaWM9e3RpbWVsaW5lZGF0YVtpXS5waWN0dXJldXJsfVxuICAgICAgICAgICAgICB0YWc9e3RpbWVsaW5lZGF0YVtpXS50YWd9XG4gICAgICAgICAgICAgIGF1dGhvcj17bmFtZX1cbiAgICAgICAgICAgICAgdGFiaWQ9e3RpbWVsaW5lZGF0YVtpXS5pbnRlcnZpZXd0YWJpZH0gXG4gICAgICAgICAgICAgIG1vbnRoPXt0aW1lbGluZWRhdGFbaV0ubW9udGhzfSAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RpbWVsaW5lZGF0YVtpXS5jYXJkdGV4dH1cbiAgICAgICAgICAgICAgPC9UaW1lSXRlbT4pXG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb3dzOyBcbiAgICAgIH1cblxuICAgICAgXG4gICAgICBleHBvcnQgZnVuY3Rpb24gZ2V0SXRlbXNCeVR5cGUodGFiaWQ6IHN0cmluZykge1xuICAgICAgICBsZXQgcm93czogSlNYLkVsZW1lbnRbXSAgPSBbXVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRpbWVsaW5lZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHRhYmlkID09PSB0aW1lbGluZWRhdGFbaV0udGFnKSB7XG4gICAgICAgICAgICAgIHZhciBuYW1lOiBzdHJpbmc7IFxuICAgICAgICAgICAgICBpZiAodGltZWxpbmVkYXRhW2ldLnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgbmFtZSA9IHRpbWVsaW5lZGF0YVtpXS50aXRsZSEgKyBcIiBcIiArIHRpbWVsaW5lZGF0YVtpXS52b3JuYW1lICsgXCIgXCIgKyAgdGltZWxpbmVkYXRhW2ldLm5hY2hubmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBlbHNle1xuICAgICAgICAgICAgICAgIG5hbWUgPSAgdGltZWxpbmVkYXRhW2ldLnZvcm5hbWUgKyBcIiBcIiArICB0aW1lbGluZWRhdGFbaV0ubmFjaG5uYW1lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcm93cy5wdXNoKDxUaW1lSXRlbVxuICAgICAgICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgICAgICAgICAgdGl0bGU9e3RpbWVsaW5lZGF0YVtpXS5oZWFkaW5nfVxuICAgICAgICAgICAgICAgICAgcGljPXt0aW1lbGluZWRhdGFbaV0ucGljdHVyZXVybH1cbiAgICAgICAgICAgICAgICAgIHRhZz17dGltZWxpbmVkYXRhW2ldLnRhZ31cbiAgICAgICAgICAgICAgICAgIGF1dGhvcj17bmFtZX1cbiAgICAgICAgICAgICAgICAgIHRhYmlkPXt0aW1lbGluZWRhdGFbaV0uaW50ZXJ2aWV3dGFiaWR9IFxuICAgICAgICAgICAgICAgICAgbW9udGg9e3RpbWVsaW5lZGF0YVtpXS5tb250aHN9ICA+XG4gICAgICAgICAgICAgICAgICAgIHt0aW1lbGluZWRhdGFbaV0uY2FyZHRleHR9XG4gICAgICAgICAgICAgICAgPC9UaW1lSXRlbT4pXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvd3M7IFxuICAgIH1cbiAgICBcbiAgICAgIiwgImltcG9ydCB7IFRhYkJ1dHRvblJvdyB9IGZyb20gXCIuL0J1dHRvbnNcIjtcbmltcG9ydCBUaW1lSG9yaSwgeyBDb21iaVRpbWVIb3JpIH0gZnJvbSBcIi4vSG9yaXpvbnRhbFRpbWVsaW5lXCI7XG5pbXBvcnQgeyBCRkhTdHlsZVRhYnMsIEJ1dHRvblJvd1RhYnMgfSBmcm9tIFwiLi9UYWJzXCI7XG5pbXBvcnQgeyB0aW1lbGluZWRhdGEgfSBmcm9tIFwiLi4vZGF0YS9ocHRpbWVsaW5lZGF0YVwiO1xuZXhwb3J0IGZ1bmN0aW9uIEhQVGltZWxpbmUoKXtcbiAgICByZXR1cm4oXG4gICAgICA8c2VjdGlvbiBpZD1cIlRpbWVsaW5lXCIgY2xhc3NOYW1lPVwic2VjdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNlbnRlclwiPlxuICAgICAgICA8L2Rpdj4gXG4gICAgICAgIDxUYWJCdXR0b25Sb3cgZGF0YT17dGltZWxpbmVidXR0b25yb3dkYXRhfSBjbGFzc3k9XCJcIiBvcGVudHlwZT1cInRpbWVsaW5lY2FyZHRhYnNcIiBjbG9zaW5nPVwidGltZWxpbmVwZXJzb250YWJzXCIgLz5cbiAgICAgICAgPEJ1dHRvblJvd1RhYnMgY2xhPVwidGltZWxpbmVjYXJkdGFic1wiIGRhdGE9e3RpbWVsaW5lYnV0dG9ucm93ZGF0YX0vPiBcbiAgICAgICAgPEJGSFN0eWxlVGFicyBjbGE9XCJ0aW1lbGluZXBlcnNvbnRhYnNcIiBkYXRhPXt0aW1lbGluZWRhdGF9PjwvQkZIU3R5bGVUYWJzPiBcbiAgICAgIDwvc2VjdGlvbj5cbiAgICApXG4gIH1cblxuICBsZXQgdGltZWxpbmVidXR0b25yb3dkYXRhID0gW1xuICAgIHtcbiAgICAgIGJ1dHRvbm5hbWU6IFwiQWxsXCIsIFxuICAgICAgbm9kZTogPFRpbWVIb3JpIHRhYj1cIlwiID48L1RpbWVIb3JpPiwgXG4gICAgICBjc3NuYW1lOiBcIkZpcnN0XCIsXG4gICAgICBtYWluOiB0cnVlXG4gICAgICBcbiAgICB9LFxuICAgIHsgXG4gICAgICBub2RlOiA8VGltZUhvcmkgdGFiPVwiUGF0aWVudFwiID48L1RpbWVIb3JpPixcbiAgICAgIGJ1dHRvbm5hbWU6IFwiUGF0aWVudHNcIiwgXG4gICAgICBjc3NuYW1lOiBcIlBhdGllbnRcIlxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZTogPFRpbWVIb3JpIHRhYj1cIk1lZGljYWwgUHJvZmVzc2lvbmFsXCIgPjwvVGltZUhvcmk+LFxuICAgICAgYnV0dG9ubmFtZTogXCJNZWRpY2FsIFByb2Zlc3Npb25hbHNcIiwgXG4gICAgICBjc3NuYW1lOiBcIk1lZGljYWxcIlxuICAgIH0sXG4gICAge1xuICAgICAgbm9kZTogPFRpbWVIb3JpIHRhYj1cIkFjYWRlbWlhXCIgPjwvVGltZUhvcmk+LFxuICAgICAgYnV0dG9ubmFtZTogXCJBY2FkZW1pYVwiLCBcbiAgICAgIGNzc25hbWU6IFwiQWNhZGVtaWFcIlxuICAgIH0sXG4gICAgeyBcbiAgICAgIG5vZGU6IDxUaW1lSG9yaSB0YWI9XCJJbmR1c3RyeVwiID48L1RpbWVIb3JpPixcbiAgICAgIGJ1dHRvbm5hbWU6IFwiSW5kdXN0cnlcIiwgXG4gICAgICBjc3NuYW1lOiBcIkluZHVzdHJ5XCJcbiAgICB9LFxuICAgIHsgXG4gICAgICBub2RlOiA8VGltZUhvcmkgdGFiPVwiTWlsZXN0b25lXCIgPjwvVGltZUhvcmk+LFxuICAgICAgYnV0dG9ubmFtZTogXCJNaWxlc3RvbmVzXCIsIFxuICAgICAgY3NzbmFtZTogXCJNaWxlc3RvbmVcIlxuICAgIH0sXG4gICB7IFxuICAgICAgbm9kZTogPENvbWJpVGltZUhvcmkgdGFiMT1cIkVkdWNhdGlvblwiIHRhYjI9XCJPdXRyZWFjaFwiID48L0NvbWJpVGltZUhvcmk+LFxuICAgICAgYnV0dG9ubmFtZTogXCJFZHVjYXRpb24gJiBPdXRyZWFjaFwiLCBcbiAgICAgIGNzc25hbWU6IFwiRWR1Y2F0aW9uXCJcbiAgICB9LFxuICAgIC8qXG4gICAgeyBcbiAgICAgIG5vZGU6IDxUaW1lSG9yaSB0YWI9XCJPdXRyZWFjaFwiID48L1RpbWVIb3JpPixcbiAgICAgIGJ1dHRvbm5hbWU6IFwiT3V0cmVhY2hcIiwgXG4gICAgICBjc3NuYW1lOiBcIk91dHJlYWNoXCJcbiAgICB9ICovXG4gIF1cbiAgXG5cbi8qIGV4cG9ydCBmdW5jdGlvbiBIUHRpbWVsaW5lTmV3KGRhdGE6IEFycmF5PE5vZGVEYXRlbnNhdHo+KXtcbiAgdmFyIHRpbWVsaW5lY2FyZHM6IFJlYWN0LlJlYWN0Tm9kZTsgXG4gIHZhciBpbnRlcnZpZXd0YWJzOiBcblxufSAqLyIsICJpbXBvcnQgQ29sbGFwc2libGUgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvQ29sbGFwc2libGVcIjtcbmltcG9ydCB7IEg1LCBINCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBIUGNvbmNsdXNpb24oKXtcbiAgICBjb25zdCB7Z29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uKCk7IFxuICAgIGNvbnN0IHtnb1RvUGFnZUFuZFNjcm9sbH0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuKFxuICAgICAgICA8PlxuICAgICAgICAgIDxwPk91ciBwcm9qZWN0IGhhcyBldm9sdmVkIHRocm91Z2ggYSBkZWVwbHkgY29sbGFib3JhdGl2ZSBhbmQgaHVtYW4tY2VudGVyZWQgYXBwcm9hY2gsIGludGVncmF0aW5nIGRpdmVyc2UgZmVlZGJhY2sgZnJvbSBwYXRpZW50cywgY2xpbmljaWFucywgcmVzZWFyY2hlcnMsIGFuZCBpbmR1c3RyeSBleHBlcnRzLiBUaGVzZSBpbnNpZ2h0cyBzaGFwZWQgbm90IG9ubHkgdGhlIHRlY2huaWNhbCBhc3BlY3RzIG9mIG91ciBnZW5lIHRoZXJhcHkgZm9yIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGJ1dCBhbHNvIG91ciBjb21taXRtZW50IHRvIGFkZHJlc3NpbmcgcmVhbC13b3JsZCBwYXRpZW50IG5lZWRzLCBldGhpY2FsIGNvbnNpZGVyYXRpb25zLCBhbmQgdGhlIGRpc3Bhcml0aWVzIGluIENGIHRyZWF0bWVudCB3b3JsZHdpZGUuIEZyb20gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignbWF4Zmlyc3QnLCAnJyl9Pk1heCBCZWNrbWFublx1MjAxOXM8L2E+IHBhdGllbnQgcGVyc3BlY3RpdmUgdG8gZXhwZXJ0IGd1aWRhbmNlIG9uIHRlY2huaWNhbCBhbmQgZXRoaWNhbCBpc3N1ZXMsIGVhY2ggc3Rha2Vob2xkZXIgY29udHJpYnV0ZWQgdG8gcmVmaW5pbmcgb3VyIHNvbHV0aW9uLCBlbnN1cmluZyBpdCBpcyBib3RoIGlubm92YXRpdmUgYW5kIGVtcGF0aGV0aWMuIE91ciBmb2N1cyBvbiBnZW5lIHRoZXJhcHkgdGFyZ2V0aW5nIENGXHUyMDE5cyBjb21wbGV4IG11dGF0aW9ucywgaW50ZWdyYXRpbmcgcGh5c2lvdGhlcmFweSwgYW5kIGVuc3VyaW5nIGdsb2JhbCBhY2Nlc3NpYmlsaXR5IGRlbW9uc3RyYXRlcyBvdXIgaG9saXN0aWMgYW5kIGluY2x1c2l2ZSB2aXNpb24gZm9yIHRoaXMgcHJvamVjdC4gSW1wb3J0YW50bHksIHRoZSBjb2xsYWJvcmF0aW9uIHdpdGggcmVzZWFyY2hlcnMgaW4gbmFub3BhcnRpY2xlIHN0YWJpbGl0eSBhbmQgZ2VuZSB0aGVyYXB5LCBhbG9uZyB3aXRoIHRoZSBkZXZlbG9wbWVudCBvZiBiaWxpbmd1YWwgc3VydmV5cyBhbmQgb3V0cmVhY2ggbWF0ZXJpYWxzLCBoaWdobGlnaHRzIG91ciBlZmZvcnRzIHRvIG1ha2Ugc2NpZW5jZSBtb3JlIGFjY2Vzc2libGUgYW5kIHRyYW5zcGFyZW50LCBicmlkZ2luZyBnYXBzIGluIGtub3dsZWRnZSBhbmQgY2FyZS4gICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkh1bWFuIFByYWN0aWNlcyBJbnRlZ3JhdGlvbiBcIi8+XG4gICAgICAgICAgICAgICAgPHA+RnJvbSB0aGUgc3RhcnQsIHdlIHByaW9yaXRpemVkIGVuZ2FnaW5nIHdpdGggQ0YgcGF0aWVudHMsIG1ha2luZyBzdXJlIHRoYXQgb3VyIHByb2plY3QgYWxpZ25lZCB3aXRoIGJvdGggdGhlaXIgbmVlZHMgYW5kIHNjaWVudGlmaWMgZXhwZWN0YXRpb25zLiBFYXJseSBpbnB1dCBmcm9tIE1heCBCZWNrbWFubiwgYSBDRiBwYXRpZW50IGFuZCBmcmllbmQgb2Ygb3VyIHRlYW0sIGd1aWRlZCBrZXkgZGVzaWduIGRlY2lzaW9ucywgc3VjaCBhcyBvdXIgZm9jdXMgb24gbHVuZy10YXJnZXRlZCBnZW5lIHRoZXJhcHkuIEhpcyBpbnNpZ2h0cyBhbHNvIHNoYXBlZCBhc3BlY3RzIGxpa2UgaHlnaWVuZSBwcm90b2NvbHMgZm9yIGltbXVub2NvbXByb21pc2VkIHBhdGllbnRzIGFuZCB0aGUgcG9ydHJheWFsIG9mIENGIGluIG91ciBvdXRyZWFjaCBtYXRlcmlhbHMuIE1heFx1MjAxOXMgb25nb2luZyBmZWVkYmFjayBwcm92aWRlZCBpbnZhbHVhYmxlIGVtb3Rpb25hbCBpbnNpZ2h0LCBoZWxwaW5nIHVzIGdyb3VuZCB0aGUgcHJvamVjdCBpbiB0aGUgcmVhbC13b3JsZCBleHBlcmllbmNlcyBvZiBDRiBwYXRpZW50cy48L3A+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJTdGFrZWhvbGRlciBFbmdhZ2VtZW50IFwiLz5cbiAgICAgICAgICAgICAgICA8cD5XZSBjb25zdWx0ZWQgd2l0aCBtZWRpY2FsIHByb2Zlc3Npb25hbHMgbGlrZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdvbGFyaXUnLCAnJyl9PkRyLiBPbGFyaXUgPC9hPiAgd2hvIGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgZWFybHkgZGlhZ25vc2lzIGFuZCBtZW50YWwgaGVhbHRoIHN1cHBvcnQgaW4gQ0YgdHJlYXRtZW50LiBUaGVzZSBpbnNpZ2h0cyBsZWQgdXMgdG8gaW50ZWdyYXRlIG1lbnRhbCBoZWFsdGggY29uc2lkZXJhdGlvbnMgaW50byBvdXIgdGhlcmFweSBkZXNpZ24gYW5kIGZvY3VzIG9uIHJlZHVjaW5nIHJhY2lhbCBhbmQgZ2xvYmFsIGRpc3Bhcml0aWVzIGluIENGIGNhcmUuIFBoeXNpb3RoZXJhcGlzdCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCd3ZXN0aG9mZmludicsICcnKX0+S2F0cmluIFdlc3Rob2ZmPC9hPiAgaGlnaGxpZ2h0ZWQgdGhlIG5lZWQgZm9yIGEgdXNlci1mcmllbmRseSBpbmhhbGF0aW9uLWJhc2VkIHRoZXJhcHkgZm9yIHlvdW5nZXIgcGF0aWVudHMsIHZhbGlkYXRpbmcgb3VyIGRpcmVjdGlvbiB0b3dhcmRzIGNyZWF0aW5nIGFjY2Vzc2libGUgdHJlYXRtZW50cy4gPC9wPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiRXRoaWNhbCwgTGVnYWwsIGFuZCBSZWd1bGF0b3J5IENvbnNpZGVyYXRpb25zIFwiLz5cbiAgICAgICAgICAgICAgICA8cD5Db2xsYWJvcmF0aW9uIHdpdGggcmVndWxhdG9yeSBleHBlcnRzLCBzdWNoIGFzIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2JlcmVucycsICcnKX0+IERyLiBFdmEtTWFyaWEgQmVyZW5zIDwvYT4gLCBlbnN1cmVkIG91ciB3b3JrIGFkaGVyZWQgdG8gZXRoaWNhbCBhbmQgbGVnYWwgc3RhbmRhcmRzLCBwYXJ0aWN1bGFybHkgaW4gcGF0aWVudCBjb25zZW50IGFuZCBiaW9zYWZldHkgcHJvdG9jb2xzLiBUaHJvdWdoIGZlZWRiYWNrIGZyb20gbGVnYWwgYW5kIGJpb2V0aGljcyBjb21taXR0ZWVzLCB3ZSByZWZpbmVkIG91ciBjb25zZW50IHByb2Nlc3NlcyBhbmQgaW1wcm92ZWQgb3VyIG1hbmFnZW1lbnQgb2YgcGVyc29uYWwgZGF0YSwgZW5zdXJpbmcgb3VyIHByb2plY3QgY29tcGxpZWQgd2l0aCBib3RoIEdlcm1hbiBhbmQgaW50ZXJuYXRpb25hbCByZWd1bGF0aW9ucy4gPC9wPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiVGVjaG5pY2FsIGFuZCBTY2llbnRpZmljIEFkYXB0YXRpb25zIFwiLz5cbiAgICAgICAgICAgICAgICA8cD5XZSBjb250aW51b3VzbHkgaW50ZWdyYXRlZCBleHBlcnQgdGVjaG5pY2FsIGZlZWRiYWNrIGludG8gdGhlIHByb2plY3QuIENvbnRyaWJ1dGlvbnMgZnJvbSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdybmhhbGUnLCAnJyl9PkRyLiBCZW5qYW1pbiBXaW5rZWxqYW5uPC9hPiAgYW5kIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2tvbG9ua29maXJzdCcsICcvaHVtYW4tcHJhY3RpY2VzJyl9PkRyLiBLYXRoYXJpbmEgS29sb25rbzwvYT4gIGhlbHBlZCB1cyBpbXByb3ZlIHRoZSBzdGFiaWxpdHkgYW5kIHNjYWxhYmlsaXR5IG9mIG91ciBzcHJheS1kcmllZCBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSwgd2hpY2ggYXJlIGVzc2VudGlhbCBmb3IgUk5BIGRlbGl2ZXJ5LiBUaGlzIHByYWN0aWNhbCBmb2N1cyBvbiBzY2FsYWJsZSBzb2x1dGlvbnMgYWxsb3dlZCB1cyB0byBhZGRyZXNzIGdsb2JhbCBjaGFsbGVuZ2VzLCBzdWNoIGFzIHRoZSBuZWVkIGZvciB0cmFuc3BvcnRhYmxlIHRoZXJhcGllcy4gQ29sbGFib3JhdGluZyB3aXRoIHllYXN0IGN1bHRpdmF0aW9uIGV4cGVydHMgbGlrZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCduYmVyZWxzbWFubicsICcnKX0+TmlscyBCZXJlbHNtYW5uPC9hPiwgd2UgYWxzbyBvcHRpbWl6ZWQgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdsbnBzJywgJy9tYXRlcmlhbHMtbWV0aG9kcycpfT4gUk5BIGRlbGl2ZXJ5IFN5c3RlbXMgPC9hPiB0byBlbnN1cmUgZWZmZWN0aXZlIGx1bmcgcGVuZXRyYXRpb24uIDwvcD5cbiAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkdsb2JhbCBJbXBhY3QgYW5kIEluY2x1c2l2aXR5IFwiLz5cbiAgICAgICAgICAgICAgICA8cD5SZWNvZ25pemluZyB0aGUgZGlzcGFyaXRpZXMgaW4gQ0YgY2FyZSBhY3Jvc3MgZGlmZmVyZW50IHJlZ2lvbnMsIHBhcnRpY3VsYXJseSBpbiB1bmRlcnJlcHJlc2VudGVkIGFyZWFzIGxpa2UgQXNpYSwgd2UgYWRqdXN0ZWQgb3VyIGFwcHJvYWNoIHRvIGNyZWF0ZSBhIG1vcmUgaW5jbHVzaXZlIHRoZXJhcHkuIFdpdGggZmVlZGJhY2sgZnJvbSBzdGFrZWhvbGRlcnMgbGlrZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdqb3NodWEnLCAnJyl9Pkpvc2h1YSBCYXVkZXI8L2E+IGZyb20gQ0YgVmVzdCBJbnRlcm5hdGlvbmFsIGFuZCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdzcmlyYW0nLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Eci4gU3JpcmFtIFZhaWR5YW5hdGhhbjwvYT4sIHdlIGVuc3VyZWQgb3VyIHRoZXJhcHkgYWRkcmVzc2VkIGEgd2lkZXIgcmFuZ2Ugb2YgQ0YgbXV0YXRpb25zLiBUaGlzIGdsb2JhbCBmb2N1cyBsZWQgdG8gYmlsaW5ndWFsIHN1cnZleXMgYW5kIGV4cGFuZGVkIG91dHJlYWNoIGVmZm9ydHMgdG8gcmFpc2UgYXdhcmVuZXNzIGFib3V0IENGIGFuZCBnZW5lIHRoZXJhcHkuIDwvcD5cbiAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkZlZWRiYWNrIExvb3BzIGFuZCBQcm9qZWN0IEV2b2x1dGlvbiBcIi8+XG4gICAgICAgICAgICAgICAgPHA+V2UgZW1wbG95ZWQgYSBzdHJ1Y3R1cmVkIGZlZWRiYWNrIGN5Y2xlIGJhc2VkIG9uIEdpYmJzJyBSZWZsZWN0aW9uIEN5Y2xlLCBlbnN1cmluZyBvdXIgZGVzaWduIGNvbnRpbnVvdXNseSBldm9sdmVkIHdpdGggc3Rha2Vob2xkZXIgaW5wdXQuIEZyb20gaW5pdGlhbCBkZXNpZ24gdG8gcHVibGljIG91dHJlYWNoLCBldmVyeSBwaGFzZSBvZiBQcmVDeXNlIHdhcyBzaGFwZWQgYnkgdGhlIGZlZWRiYWNrIHdlIHJlY2VpdmVkLCBhbGxvd2luZyB1cyB0byBkZXZlbG9wIGEgcGF0aWVudC1jZW50ZXJlZCBhbmQgZ2xvYmFsbHkgcmVsZXZhbnQgc29sdXRpb24uIDwvcD5cbiAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkRvY3VtZW50YXRpb24gYW5kIEZ1dHVyZSBHdWlkYW5jZSBcIi8+XG4gICAgICAgICAgICAgICAgPHA+V2UgYXJlIGNvbW1pdHRlZCB0byB0cmFuc3BhcmVuY3kgYW5kIG9wZW4gc2NpZW5jZS4gT3VyIGRldGFpbGVkIGRvY3VtZW50YXRpb24gb2Ygc3Rha2Vob2xkZXIgaW50ZXJhY3Rpb25zIGFuZCBtZXRob2RzXHUyMDE0aW5jbHVkaW5nIHByb3RvY29scyBmb3Igd29ya2luZyB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnQ2VsbCBDdWx0dXJlMycsICcvbWF0ZXJpYWxzLW1ldGhvZHMnKX0+IGh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgPC9hPlx1MjAxNHByb3ZpZGVzIGEgZm91bmRhdGlvbiBmb3IgZnV0dXJlIGlHRU0gdGVhbXMuIE91ciBvdXRyZWFjaCBlZmZvcnRzLCBpbmNsdWRpbmcgZWR1Y2F0aW9uYWwgbWF0ZXJpYWxzIGFuZCBwdWJsaWMgZW5nYWdlbWVudCBjYW1wYWlnbnMsIGhlbHAgZm9zdGVyIGEgYnJvYWRlciB1bmRlcnN0YW5kaW5nIG9mIENGIGFuZCBnZW5lIHRoZXJhcHksIHJlZmxlY3RpbmcgaUdFTVx1MjAxOXMgdmlzaW9uIG9mIHJlc3BvbnNpYmxlIGFuZCBpbXBhY3RmdWwgc2NpZW50aWZpYyBwcmFjdGljZXMuIDwvcD5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIk5leHQgU3RlcHNcIi8+XG4gICAgICAgICAgICAgICAgPG9sPlxuICAgICAgICAgICAgICAgICAgICA8bGk+PHA+PGI+QWR2YW5jZWQgVGVzdGluZyBhbmQgUHJlY2xpbmljYWwgVHJpYWxzOjwvYj48L3A+ICA8cD5Gb2xsb3dpbmcgdGhlIHN1Y2Nlc3NmdWwgaW4gdml0cm8gZXhwZXJpbWVudHMsIG91ciBuZXh0IG1ham9yIG1pbGVzdG9uZSBpcyB0aGUgaW5pdGlhdGlvbiBvZiBhbmltYWwgc3R1ZGllcyB0byBldmFsdWF0ZSB0aGUgc2FmZXR5IGFuZCBlZmZpY2FjeSBvZiBvdXIgZ2VuZSB0aGVyYXB5IGFwcHJvYWNoLCBwYXJ0aWN1bGFybHkgaW4gQ0YgbHVuZyBtb2RlbHMuPC9wPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT48cD48Yj5FbmhhbmNpbmcgUk5BIERlbGl2ZXJ5IFN5c3RlbXM6PC9iPjwvcD4gIDxwPldlIHdpbGwgY29udGludWUgb3B0aW1pemluZyBvdXIgbGlwaWQgbmFub3BhcnRpY2xlIChMTlApIGZvcm11bGF0aW9ucywgcGFydGljdWxhcmx5IGV4cGxvcmluZyBjaGl0b3NhbiBpbnRlZ3JhdGlvbiwgdG8gaW1wcm92ZSBSTkEgc3RhYmlsaXR5LCBsdW5nIHBlbmV0cmF0aW9uLCBhbmQgc2NhbGFiaWxpdHkgZm9yIGJyb2FkZXIgZ2xvYmFsIGFwcGxpY2F0aW9ucy48L3A+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPjxwPjxiPkNsaW5pY2FsIFBhcnRuZXJzaGlwczo8L2I+PC9wPiAgPHA+RXN0YWJsaXNoIHN0cm9uZ2VyIHRpZXMgd2l0aCBjbGluaWNhbCBpbnN0aXR1dGlvbnMgdG8gbW92ZSB0b3dhcmRzIGh1bWFuIHRyaWFscywgZW5zdXJpbmcgdGhhdCBvdXIgdGhlcmFweSBpcyBhbGlnbmVkIHdpdGggY2xpbmljYWwgbmVlZHMgYW5kIHJlZ3VsYXRvcnkgc3RhbmRhcmRzLjwvcD48L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+PHA+PGI+RXhwYW5kZWQgR2xvYmFsIE91dHJlYWNoOjwvYj48L3A+ICA8cD5JbmNyZWFzZSBhd2FyZW5lc3MgYW5kIGVkdWNhdGlvbiBvbiBDRiBhbmQgZ2VuZSB0aGVyYXB5IHRocm91Z2ggbXVsdGlsaW5ndWFsIHBsYXRmb3JtcyBhbmQgY29sbGFib3JhdGlvbiB3aXRoIGludGVybmF0aW9uYWwgQ0YgY29tbXVuaXRpZXMsIHBhcnRpY3VsYXJseSBpbiB1bmRlcnJlcHJlc2VudGVkIHJlZ2lvbnMuPC9wPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT48cD48Yj5FdGhpY2FsIGFuZCBMZWdhbCBDb25zaWRlcmF0aW9uczo8L2I+PC9wPiAgPHA+RmluYWxpemUgYWxsIGJpb2V0aGljYWwgcHJvdG9jb2xzIGZvciBwYXRpZW50IHNhbXBsaW5nIGFuZCBkYXRhIG1hbmFnZW1lbnQgdG8gcGF2ZSB0aGUgd2F5IGZvciBzYWZlLCBjb21wbGlhbnQgZnV0dXJlIHJlc2VhcmNoLCBpbmNsdWRpbmcgdGhlIGRldmVsb3BtZW50IG9mIGd1aWRlbGluZXMgZm9yIGZ1dHVyZSB0ZWFtcy48L3A+PC9saT5cbiAgICAgICAgICAgICAgICA8L29sPlxuICAgICAgICAgICAgICAgIDxwPkJ5IGNvbnRpbnVpbmcgdGhpcyBwYXRpZW50LWRyaXZlbiwgc2NpZW50aWZpY2FsbHkgcmlnb3JvdXMsIGFuZCBnbG9iYWxseSBjb25zY2lvdXMgdHJhamVjdG9yeSwgd2UgYWltIHRvIGFkdmFuY2UgY3lzdGljIGZpYnJvc2lzIGNhcmUgYW5kIG1ha2UgYSBsYXN0aW5nIGltcGFjdCBvbiBwYXRpZW50IGxpdmVzLCBlbnN1cmluZyB0aGF0IG91ciBwcm9qZWN0IHJlbWFpbnMgcG9pc2VkIGZvciBjbGluaWNhbCBzdWNjZXNzLjwvcD5cbiAgICAgICAgICAgICAgICBcblxuPC8+XG4gICAgKVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBIUGNvblRhYnMoKXtcblxuICAgIHJldHVybihcbiAgICAgICAgPD5cbiAgICAgICAgPEFuYWx5c2VNYXgvPlxuICAgICAgICA8QWFseXNlT2xhcml1Lz5cbiAgICAgICAgPEFuYWx5c2VXZXN0aG9mZi8+XG4gICAgICAgIDxBbmFseXNlSm9zaHVhLz5cbiAgICAgICAgPEFuYWx5c2VSbmhhbGUvPlxuICAgICAgICA8QW5hbHlzZUtvbG9ua28vPlxuICAgICAgICA8QW5hbHlzZU1vb3IvPlxuICAgICAgICA8QW5hbHlzZVdlYmVyLz5cbiAgICAgICAgPEFuYWx5c2VCZXJlbnMvPlxuICAgICAgICA8QW5hbHlzZU1pY2hhZWxhLz5cbiAgICAgICAgPEFuYWx5c2VNYXR0aWpzLz4gXG4gICAgICAgIDxBbmFseXNlV2lzY2htZXllci8+XG4gICAgICAgIDxBbmFseXNlSWduYXRvdmEvPlxuICAgICAgICA8QW5hbHlzZUJoYXJ0aS8+XG4gICAgICAgIDxBbmFseXNlU3JpcmFtLz5cbiAgICAgICAgPEFuYWx5c2VLcmlzdGlhbi8+XG4gICAgICAgIDxBbmFseXNlU2FpdG8vPlxuICAgICAgICA8QW5hbHlzZU5pbHMvPlxuICAgICAgICA8Lz5cbiAgICApXG59XG5cbi8qIFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj4gXG4gICAgXHQgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+IFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiLz5cbiAgICBcdCAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+ICBcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPC9kaXY+IFxuXG4gICAgICAgICAgICBmdW5jdGlvbiBBbmFseXNlKCl7XG4gICByZXR1cm4oXG4gICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiXCIgaWQ9XCJcIj5cbiAgICAgICAgXG4gICAgPC9Db2xsYXBzaWJsZT5cbiAgICkgXG59XG5cblxuICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgIDxpbWcgc3JjPVwibGlua1wiIGFsdD1cIndoYXQgaXMgaW4gdGhlIHBpY1wiLz4gXG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSB4LjwvYj4gIEZpZ3VyZSBDYXB0aW9uIFxuICAgICAgICAgICAgPC9maWdjYXB0aW9uPiBcbiAgICAgICAgPC9maWd1cmU+IFxuXG5cblxuICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj48Yj5GaWd1cmUgeC48L2I+IENhcHRpb24gPC9maWdjYXB0aW9uPlxuICAgICAgICA8L2ZpZ3VyZT5cbiovXG5cblxuZnVuY3Rpb24gQW5hbHlzZU5pbHMoKXtcbiAgICBjb25zdCB7Z29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uKCk7IFxuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiTmlscyBCZXJlbHNtYW5uICYgSGFrYW4gU295dFx1MDBGQ3JrIC0gU3BlY2lhbGlzdHMgaW4geWVhc3QgY3VsdGl2YXRpb24gXCIgaWQ9XCJuaWxzYW5hbHlzZUNcIj5cbiAgICAgICAgIDxwPk5pbHMgQmVyZWxzbWFubiBhbmQgSGFrYW4gU295dFx1MDBGQ3JrLCBzcGVjaWFsaXN0cyBpbiB5ZWFzdCBjdWx0aXZhdGlvbiwgcGxheWVkIHBpdm90YWwgcm9sZXMgaW4gYWR2YW5jaW5nIG91ciBwcm9qZWN0LiBOaWxzIHByb3ZpZGVkIHVzIHdpdGggYSB5ZWFzdCBzdHJhaW4gY29tcGF0aWJsZSB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3NhaXRvJywgJy9odW1hbi1wcmFjdGljZXMnKX0+RHIuIFNhaXRvJ3M8L2E+ICByZWNvbW1lbmRhdGlvbnMsIHBhcnRpY3VsYXJseSBvbmUgdGhhdCBkb2Vzblx1MjAxOXQgZXhwcmVzcyBwcm90ZWFzZXMsIHdoaWNoIHdvdWxkIGRlZ3JhZGUgb3VyIG5pY2thc2UgY2FuZGlkYXRlcy4gVGhpcyBzdHJhaW4gd2FzIGVzc2VudGlhbCBmb3IgbWFpbnRhaW5pbmcgdGhlIGludGVncml0eSBvZiBvdXIgZW5naW5lZXJlZCBlbnp5bWVzLiA8L3A+XG4gICAgICAgIDxwPkhha2FuIGVxdWlwcGVkIHVzIHdpdGggdGhlIG1ldGhvZG9sb2dpY2FsIGV4cGVydGlzZSBuZWVkZWQgdG8gd29yayB3aXRoIHllYXN0LCBndWlkaW5nIHVzIHRocm91Z2ggdGhlIGNvbXBsZXhpdGllcyBvZiB5ZWFzdCBjdWx0aXZhdGlvbi4gV2l0aCB0aGVpciBzdXBwb3J0LCB3ZSBhZGFwdGVkIG91ciBlbmdpbmVlcmluZyBkZXNpZ24gc3BlY2lmaWNhbGx5IGZvciB5ZWFzdCBleHByZXNzaW9uLiBOaWxzIGFsc28gc3VwcGxpZWQgdXMgd2l0aCBhIHRhcmdldCB2ZWN0b3Igb3B0aW1pemVkIGZvciB5ZWFzdCBleHByZXNzaW9uLCB3aGljaCB3ZSBzdWNjZXNzZnVsbHkgdXNlZCB0byBpbnRlZ3JhdGUgYSBDYXNYIG5pY2thc2UgY2FuZGlkYXRlLiBUaGlzIHByb3ZlZCBlc3BlY2lhbGx5IHZhbHVhYmxlIGFzIG91ciBTcHUgY2FuZGlkYXRlcyB3ZXJlIGRpZmZpY3VsdCB0byBpbnRlZ3JhdGUgZHVlIHRvIHRoZSB1c2Ugb2Ygb3ZlcmhhbmdzLiBXZSBhcmUgc3RpbGwgd29ya2luZyBvbiB0aGlzIGNoYWxsZW5nZSwgc3RheWluZyBpbiBjbG9zZSBjb250YWN0IHdpdGggdGhlIGV4cGVydHMgdG8gcmVmaW5lIG91ciBwcm9jZXNzLiA8L3A+XG4gICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSB4LjwvYj4gQ2FwdGlvbiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgIDwvZmlndXJlPlxuICAgICAgICA8cD48c3Ryb25nPlllYXN0IHN0cmFpbiBwcm92aXNpb246PC9zdHJvbmc+IE5pbHMgcHJvdmlkZWQgYSB5ZWFzdCBzdHJhaW4gY29tcGF0aWJsZSB3aXRoIERyLiBTYWl0bydzIHJlY29tbWVuZGF0aW9ucywgd2hpY2ggZG9lcyBub3QgZXhwcmVzcyBwcm90ZWFzZXMgdGhhdCB3b3VsZCBkZWdyYWRlIG91ciBuaWNrYXNlIGNhbmRpZGF0ZXMsIG1haW50YWluaW5nIHRoZSBpbnRlZ3JpdHkgb2Ygb3VyIGVuZ2luZWVyZWQgZW56eW1lcy48L3A+XG5cbjxwPjxzdHJvbmc+TWV0aG9kb2xvZ2ljYWwgZ3VpZGFuY2U6PC9zdHJvbmc+IEhha2FuIHByb3ZpZGVkIGV4cGVydGlzZSBpbiB5ZWFzdCBjdWx0aXZhdGlvbiwgZ3VpZGluZyB1cyB0aHJvdWdoIHRoZSBjb21wbGV4aXRpZXMgb2Ygd29ya2luZyB3aXRoIHllYXN0LjwvcD5cblxuPHA+PHN0cm9uZz5FbmdpbmVlcmluZyBhZGFwdGF0aW9uIGZvciB5ZWFzdDo8L3N0cm9uZz4gV2l0aCB0aGVpciBzdXBwb3J0LCB3ZSBhZGFwdGVkIG91ciBlbmdpbmVlcmluZyBkZXNpZ24gc3BlY2lmaWNhbGx5IGZvciB5ZWFzdCBleHByZXNzaW9uLjwvcD5cblxuPHA+PHN0cm9uZz5UYXJnZXQgdmVjdG9yIGZvciB5ZWFzdDo8L3N0cm9uZz4gTmlscyBzdXBwbGllZCBhbiBvcHRpbWl6ZWQgdGFyZ2V0IHZlY3RvciBmb3IgeWVhc3QgZXhwcmVzc2lvbiwgd2hpY2ggYWxsb3dlZCBzdWNjZXNzZnVsIGludGVncmF0aW9uIG9mIGEgQ2FzWCBuaWNrYXNlIGNhbmRpZGF0ZS48L3A+XG5cbjxwPjxzdHJvbmc+Q2hhbGxlbmdlIHdpdGggU3B1IGNhbmRpZGF0ZXM6PC9zdHJvbmc+IEludGVncmF0aW9uIG9mIFNwdSBjYW5kaWRhdGVzIHByb3ZlZCBkaWZmaWN1bHQgZHVlIHRvIG92ZXJoYW5nczsgd2UgYXJlIHN0aWxsIHdvcmtpbmcgb24gdGhpcyBjaGFsbGVuZ2UgYW5kIGFyZSBzdGF5aW5nIGluIGNsb3NlIGNvbnRhY3Qgd2l0aCB0aGUgZXhwZXJ0cyB0byByZWZpbmUgdGhlIHByb2Nlc3MuPC9wPlxuXG4gICAgIDwvQ29sbGFwc2libGU+XG4gICAgKSBcbiB9XG5mdW5jdGlvbiBBbmFseXNlU2FpdG8oKXtcbiAgICByZXR1cm4oXG4gICAgIDxDb2xsYXBzaWJsZSB0aXRsZT1cIkRyLiBNYWtvdG8gU2FpdG8gXHUyMDEzIExlYWRpbmcgUmVzZWFyY2ggRXhwZXJ0IGZvciBGQU5aT1JcIiBpZD1cInNhaXRvYW5hbHlzZUNcIj5cbiAgICAgICAgIDxwPkVhcmx5IGluIG91ciBwcm9qZWN0IGRlc2lnbiwgd2UgZGVjaWRlZCB0byBvcHRpbWl6ZSB0aGUgUHJpbWUgRWRpdGluZyB0ZWNobm9sb2d5LiBGcm9tIHRoZSBsaXRlcmF0dXJlLCB3ZSBpZGVudGlmaWVkIEZBTlpPUiwgYSBzbWFsbCwgZXVrYXJ5b3RpYyBSTkEtYmluZGluZyBETkEgZW5kb251Y2xlYXNlLCBhcyBhIHBvdGVudGlhbCBhbHRlcm5hdGl2ZSB0byBDYXM5IGZvciBvdXIgYXBwcm9hY2guIFRocm91Z2ggY29sbGFib3JhdGlvbiB3aXRoIHRoZSBlbnp5bWVcdTIwMTlzIGRpc2NvdmVyZXIsIERyLiBNYWtvdG8gU2FpdG8sIHdlIHdlcmUgYWJsZSB0byByZWZpbmUgb3VyIGVuZ2luZWVyaW5nIHN0cmF0ZWd5LiBEci4gU2FpdG8gZW5jb3VyYWdlZCB1cyB0byBtb2RpZnkgdGhlIFROQiBkb21haW4gb2YgRkFOWk9SIHVzaW5nIHNpdGUtZGlyZWN0ZWQgbXV0YWdlbmVzaXMsIGVuc3VyaW5nIHRoZSBub24tY29kaW5nIHN0cmFuZCBpcyBub3QgcG9zaXRpb25lZCBpbiB0aGUgYWN0aXZlIHNpdGUgb2YgdGhlIFJ1dkMgZG9tYWluLiBUaGlzIGFwcHJvYWNoIG1pcnJvcnMgdGhlIG5pY2thc2Ugc3RyYXRlZ3kgdXNlZCBpbiBDYXMxMiB2YXJpYW50cy4gPC9wPlxuICAgICAgICAgPHA+RHIuIFNhaXRvIGFsc28gbW90aXZhdGVkIHVzIHRvIGV4cHJlc3Mgb3VyIHBvdGVudGlhbCBuaWNrYXNlIHZhcmlhbnRzIGluIDxpPlNhY2NoYXJvbXljZXMgY2VyZXZpc2lhZSA8L2k+IHRvIGJldHRlciBjaGFyYWN0ZXJpemUgdGhlaXIgZnVuY3Rpb25hbGl0eS4gSGUgcGxheWVkIGEga2V5IHJvbGUgaW4gc3VwcG9ydGluZyBvdXIgZGVjaXNpb24gdG8gZXhwbG9yZSBhZGRpdGlvbmFsIENhcyBlbmRvbnVjbGVhc2UgY2FuZGlkYXRlcywgc3VjaCBhcyBDYXNYLCB3aGljaCBpcyBtb3JlIGNsb3NlbHkgcmVsYXRlZCB0byBDYXM5IGFuZCBDYXMxMiwgcHJvdmlkaW5nIGFkZGl0aW9uYWwgZmxleGliaWxpdHkgZm9yIG91ciBnZW5lLWVkaXRpbmcgZ29hbHMuIDwvcD5cbiAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSB4LjwvYj4gQ2FwdGlvbiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgIDwvZmlndXJlPlxuICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj48Yj5GaWd1cmUgeC48L2I+IENhcHRpb24gPC9maWdjYXB0aW9uPlxuICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgPHA+PHN0cm9uZz5GQU5aT1IgYXMgQ2FzOSBhbHRlcm5hdGl2ZTo8L3N0cm9uZz4gSWRlbnRpZmllZCBGQU5aT1IsIGEgc21hbGwgZXVrYXJ5b3RpYyBSTkEtYmluZGluZyBETkEgZW5kb251Y2xlYXNlLCBhcyBhIHByb21pc2luZyBhbHRlcm5hdGl2ZSB0byBDYXM5IGZvciBQcmltZSBFZGl0aW5nLjwvcD5cblxuPHA+PHN0cm9uZz5Db2xsYWJvcmF0aW9uIHdpdGggRHIuIFNhaXRvOjwvc3Ryb25nPiBXb3JrZWQgY2xvc2VseSB3aXRoIHRoZSBlbnp5bWVcdTIwMTlzIGRpc2NvdmVyZXIsIERyLiBNYWtvdG8gU2FpdG8sIHRvIHJlZmluZSBvdXIgZW5naW5lZXJpbmcgc3RyYXRlZ3kgZm9yIEZBTlpPUi48L3A+XG5cbjxwPjxzdHJvbmc+VE5CIGRvbWFpbiBtb2RpZmljYXRpb246PC9zdHJvbmc+IERyLiBTYWl0byBzdWdnZXN0ZWQgbW9kaWZ5aW5nIHRoZSBUTkIgZG9tYWluIHZpYSBzaXRlLWRpcmVjdGVkIG11dGFnZW5lc2lzIHRvIHByZXZlbnQgdGhlIG5vbi1jb2Rpbmcgc3RyYW5kIGZyb20gZW50ZXJpbmcgdGhlIFJ1dkMgYWN0aXZlIHNpdGUsIGZvbGxvd2luZyB0aGUgbmlja2FzZSBzdHJhdGVneSB1c2VkIGluIENhczEyIHZhcmlhbnRzLjwvcD5cblxuPHA+PHN0cm9uZz5ZZWFzdCBleHByZXNzaW9uIGZvciBmdW5jdGlvbmFsaXR5Ojwvc3Ryb25nPiBSZWNvbW1lbmRlZCBleHByZXNzaW5nIG5pY2thc2UgdmFyaWFudHMgaW4gU2FjY2hhcm9teWNlcyBjZXJldmlzaWFlIHRvIGFzc2VzcyB0aGVpciBmdW5jdGlvbmFsaXR5IG1vcmUgZWZmZWN0aXZlbHkuPC9wPlxuXG48cD48c3Ryb25nPkV4cGxvcmF0aW9uIG9mIG90aGVyIGVuZG9udWNsZWFzZXM6PC9zdHJvbmc+IFN1cHBvcnRlZCB0aGUgZXhwbG9yYXRpb24gb2YgYWRkaXRpb25hbCBlbmRvbnVjbGVhc2VzIGxpa2UgQ2FzWCwgb2ZmZXJpbmcgZ3JlYXRlciBmbGV4aWJpbGl0eSBhbmQgYWRhcHRhYmlsaXR5IGluIG91ciBnZW5lLWVkaXRpbmcgYXBwcm9hY2guPC9wPlxuXG4gICAgIDwvQ29sbGFwc2libGU+XG4gICAgKSBcbiB9XG5mdW5jdGlvbiBBbmFseXNlS3Jpc3RpYW4oKXtcbiAgICByZXR1cm4oXG4gICAgIDxDb2xsYXBzaWJsZSB0aXRsZT1cIlByb2YuIERyLiBLcmlzdGlhbiBNXHUwMEZDbGxlciBcdTIwMTMgRXhwZXJ0IGZvciBTeW50aGV0aWMgQmlvbG9neSwgR2VuZXRpYyBkZXNpZ24sIGNsb25pbmcgc3RyYXRlZ2llcywgbW9sZWN1bGFyIGFuZCBjZWxsdWxhciBiaW90ZWNobm9sb2d5IFwiIGlkPVwia3Jpc3RpYW5hbmFseXNlQ1wiPlxuICAgICAgICAgPHA+SW4gY2xvc2UgY29sbGFib3JhdGlvbiB3aXRoIFByb2YuIE1cdTAwRkNsbGVyXHUyMDE5cyBsYWIsIHdlIGxlYXJuZWQgYm90aCBiYXNpYyBhbmQgYWR2YW5jZWQgY2xvbmluZyBzdHJhdGVnaWVzIHdpdGhpbiBzeW50aGV0aWMgYmlvbG9neS4gRWFybHkgb24sIFByb2YuIE1cdTAwRkNsbGVyIHN1Z2dlc3RlZCBtYWtpbmcgb3VyIFByaW1lIEVkaXRpbmcgY29tcGxleCBzbWFsbGVyIGFuZCBtb3JlIHN0YWJsZSwgZW5oYW5jaW5nIGl0cyBzdWl0YWJpbGl0eSBmb3IgdmFyaW91cyB0aGVyYXBldXRpYyBhcHBsaWNhdGlvbnMuIEhpcyBjb250aW51b3VzIHN1cHBvcnQgd2FzIGNydWNpYWwgaW4gZ3VpZGluZyB1cyB0aHJvdWdoIHRoZSBjbG9uaW5nIG9mIGFsbCBjb25zdHJ1Y3RzLCBhbmQgYXMgYW4gZXhwZXJ0IGluIGdlbmUgdGhlcmFweSwgaGUgcHJvdmlkZWQgb25nb2luZyBmZWVkYmFjayBvbiB0aGUgc2FmZXR5IGFzcGVjdHMgb2Ygb3VyIHJlc2VhcmNoLiA8L3A+XG4gICAgICAgICA8cD5XaXRoIGFjY2VzcyB0byBhIEJTTDIgbGFib3JhdG9yeSBwcm92aWRlZCBieSBNXHUwMEZDbGxlclx1MjAxOXMgdGVhbSwgd2Ugd2VyZSBhYmxlIHRvIHN1Y2Nlc3NmdWxseSBjdWx0aXZhdGUgcHJpbWFyeSBjZWxsIGN1bHR1cmVzLiBUbyBlbnN1cmUgc2FmZSB3b3JrIGNvbmRpdGlvbnMsIHdlIHVuZGVyd2VudCB0cmFpbmluZyBmb3IgYmlvc2FmZXR5IHByb2NlZHVyZXMgYW5kIHJvdXRpbmVseSB0ZXN0ZWQgZm9yIEhQViwgSElWLCBIQlYsIGFuZCBNeWNvcGxhc21hIGNvbnRhbWluYXRpb24uIFRoYW5rcyB0byBNXHUwMEZDbGxlclx1MjAxOXMgZ3VpZGFuY2UsIHdlIGNvbnRyaWJ1dGVkIGEgY29tcG9zaXRlIHBhcnQgdG8gdGhlIGlHRU0gcmVnaXN0cnkuIE91ciBQcmVDeXNlIGNhc3NldHRlIGFsbG93cyBmb3IgbW9kdWxhciBQcmltZSBFZGl0aW5nIHN5c3RlbXMgdGhhdCBhcmUgcGFydGljdWxhcmx5IGVmZmljaWVudCwgc3RhYmxlLCBhbmQgc2FmZSBiYXNlZCBvbiBvdXIgcmVzZWFyY2guIDwvcD5cblxuICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj48Yj5GaWd1cmUgeC48L2I+IENhcHRpb24gPC9maWdjYXB0aW9uPlxuICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgPGRpdj5LYXJ1c3NlbGw8L2Rpdj5cbiAgICAgICAgPHA+PHN0cm9uZz5DbG9uaW5nIHN0cmF0ZWdpZXM6PC9zdHJvbmc+IFByb3ZpZGVkIGJvdGggYmFzaWMgYW5kIGFkdmFuY2VkIGNsb25pbmcgdHJhaW5pbmcsIGNydWNpYWwgZm9yIGRldmVsb3Bpbmcgb3VyIFByaW1lIEVkaXRpbmcgY29tcGxleCB3aXRoaW4gc3ludGhldGljIGJpb2xvZ3kuPC9wPlxuXG48cD48c3Ryb25nPk9wdGltaXphdGlvbiBvZiBQcmltZSBFZGl0aW5nIGNvbXBsZXg6PC9zdHJvbmc+IFN1Z2dlc3RlZCBtYWtpbmcgdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleCBzbWFsbGVyIGFuZCBtb3JlIHN0YWJsZSwgZW5oYW5jaW5nIGl0cyBzdWl0YWJpbGl0eSBmb3IgdGhlcmFwZXV0aWMgYXBwbGljYXRpb25zLjwvcD5cblxuPHA+PHN0cm9uZz5PbmdvaW5nIGZlZWRiYWNrIG9uIHNhZmV0eTo8L3N0cm9uZz4gQXMgYSBnZW5lIHRoZXJhcHkgZXhwZXJ0LCBQcm9mLiBNXHUwMEZDbGxlciBnYXZlIGNvbnRpbnVvdXMgZmVlZGJhY2sgb24gdGhlIHNhZmV0eSBhc3BlY3RzIG9mIG91ciByZXNlYXJjaC48L3A+XG5cbjxwPjxzdHJvbmc+QWNjZXNzIHRvIEJTTDIgbGFiOjwvc3Ryb25nPiBFbmFibGVkIHVzIHRvIHN1Y2Nlc3NmdWxseSBjdWx0aXZhdGUgcHJpbWFyeSBjZWxsIGN1bHR1cmVzIGluIGEgQlNMMiBsYWIsIHdpdGggdHJhaW5pbmcgaW4gYmlvc2FmZXR5IHByb2NlZHVyZXMuPC9wPlxuXG48cD48c3Ryb25nPkNvbnRhbWluYXRpb24gdGVzdGluZzo8L3N0cm9uZz4gUmVndWxhcmx5IHRlc3RlZCBmb3IgSFBWLCBISVYsIEhCViwgYW5kIE15Y29wbGFzbWEgY29udGFtaW5hdGlvbiB0byBlbnN1cmUgc2FmZSB3b3JraW5nIGNvbmRpdGlvbnMuPC9wPlxuXG48cD48c3Ryb25nPkNvbnRyaWJ1dGlvbiB0byBpR0VNIHJlZ2lzdHJ5Ojwvc3Ryb25nPiBXaXRoIFByb2YuIE1cdTAwRkNsbGVyJ3MgZ3VpZGFuY2UsIHdlIGRldmVsb3BlZCBhbmQgY29udHJpYnV0ZWQgdGhlIFByZUN5c2UgY2Fzc2V0dGUsIGEgbW9kdWxhciBhbmQgZWZmaWNpZW50IFByaW1lIEVkaXRpbmcgc3lzdGVtLCBlbmhhbmNpbmcgc3RhYmlsaXR5IGFuZCBzYWZldHkgYmFzZWQgb24gb3VyIGZpbmRpbmdzLjwvcD5cblxuICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICkgXG4gfVxuZnVuY3Rpb24gQW5hbHlzZVNyaXJhbSgpe1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiRHIuIFNyaXJhbSBWYWlkeWFuYXRoYW4gXHUyMDEzIEV4cGVydCBvbiBQZWRpYXRyaWMgbWVkaWNpbmUgYW5kIENGIGluIEFzaWFcIiBpZD1cInNyaXJhbWFuYWx5c2VDXCI+XG4gICAgICAgICA8cD5uIG91ciBkaXNjdXNzaW9ucyB3aXRoIERyLiBTcmlyYW0gVmFpZHlhbmF0aGFuLCB3ZSBkZWVwZW5lZCBvdXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgZ2VuZXRpYyBkaXZlcnNpdHkgb2YgQ0YgbXV0YXRpb25zLCBlc3BlY2lhbGx5IGluIEFzaWFuIHBvcHVsYXRpb25zLiBIZSBoaWdobGlnaHRlZCB0aGF0IHdoaWxlIHRoZSBGNTA4ZGVsIG11dGF0aW9uIGlzIGNvbW1vbiB3b3JsZHdpZGUsIG1hbnkgcmFyZSBDRlRSIG11dGF0aW9ucyBjb21wbGljYXRlIGRpYWdub3NpcyBhbmQgdHJlYXRtZW50IGluIHNwZWNpZmljIHJlZ2lvbnMuPC9wPlxuICAgICAgICA8cD5UaGlzIGluc2lnaHQgcHVzaGVkIHVzIHRvIGFkYXB0IG91ciBnZW5lIHRoZXJhcHkgYXBwcm9hY2ggdG8gYmUgbW9yZSBpbmNsdXNpdmUuIFdlIGFkanVzdGVkIG91ciBzdHJhdGVneSB0byBlbnN1cmUgb3VyIHRoZXJhcHkgY291bGQgdGFyZ2V0IGEgYnJvYWRlciByYW5nZSBvZiBDRiBtdXRhdGlvbnMsIG1ha2luZyBpdCBtb3JlIGdsb2JhbGx5IGFwcGxpY2FibGUuIERyLiBWYWlkeWFuYXRoYW5cdTIwMTlzIGlucHV0IHNoYXBlZCBvdXIgZWZmb3J0cyB0byBjcmVhdGUgYSB0cmVhdG1lbnQgdGhhdCBhZGRyZXNzZXMgQ0ZcdTIwMTlzIGRpdmVyc2UgZ2VuZXRpYyBsYW5kc2NhcGUuIDwvcD5cbiAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHguPC9iPiBDYXB0aW9uIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgPC9maWd1cmU+XG4gICAgICAgIDxwPjxzdHJvbmc+Q29udGFtaW5hdGlvbiBjaGFsbGVuZ2U6PC9zdHJvbmc+IEhlbHBlZCB1cyBhZGRyZXNzIGEgbWFqb3IgaXNzdWUgd2l0aCBmdW5nYWwgY29udGFtaW5hdGlvbiBpbiBvdXIgQ0YgY2VsbCBjdWx0dXJlcywgd2hpY2ggd2VyZSB1bnN0YWJsZSBhbmQgcHJvbmUgdG8gaW5mZWN0aW9uLjwvcD5cblxuPHA+PHN0cm9uZz5BbnRpYmlvdGljIHNvbHV0aW9uOjwvc3Ryb25nPiBSZWNvbW1lbmRlZCBhIHNwZWNpZmljIGFudGliaW90aWMgY29tcG9zaXRpb24gZWZmZWN0aXZlIGFnYWluc3QgZnVuZ2FsIGluZmVjdGlvbnMuPC9wPlxuXG48cD48c3Ryb25nPlN1Y2Nlc3NmdWwgaW1wbGVtZW50YXRpb246PC9zdHJvbmc+IEFwcGxpZWQgdGhlIGFudGliaW90aWMgbWl4dHVyZSwgd2hpY2ggcmVzb2x2ZWQgdGhlIGNvbnRhbWluYXRpb24gcHJvYmxlbSwgYWxsb3dpbmcgdXMgdG8gbWFpbnRhaW4gc3RhYmxlIENGIGNlbGwgbGluZXMuPC9wPlxuXG48cD48c3Ryb25nPlByb2plY3QgYWR2YW5jZW1lbnQ6PC9zdHJvbmc+IFRoaXMgYnJlYWt0aHJvdWdoIGVuYWJsZWQgdXMgdG8gcHJvY2VlZCB3aXRoIHRlc3Rpbmcgb3VyIHByaW1lIGVkaXRpbmcgYXBwcm9hY2ggZWZmZWN0aXZlbHksIGFkdmFuY2luZyBvdXIgcHJvamVjdCB0byB0aGUgZmluYWwgc3RhZ2VzIG9mIGluIHZpdHJvIHRlc3RpbmcuPC9wPlxuXG48cD48c3Ryb25nPk5leHQgc3RlcHM6PC9zdHJvbmc+IFRoYW5rcyB0byBEci4gQmhhcnRpXHUyMDE5cyBpbnNpZ2h0cywgd2UgYXJlIG5vdyBwb3NpdGlvbmVkIHRvIGNvbnNpZGVyIHBvdGVudGlhbCBhbmltYWwgc3R1ZGllcyBhcyB0aGUgbmV4dCBwaGFzZSBvZiBvdXIgcmVzZWFyY2guPC9wPlxuXG4gICAgIDwvQ29sbGFwc2libGU+XG4gICAgKSBcbiB9XG5mdW5jdGlvbiBBbmFseXNlQmhhcnRpKCl7XG4gICAgcmV0dXJuKFxuICAgICA8Q29sbGFwc2libGUgdGl0bGU9XCJEci4gTmlraGlsIEJoYXJ0aSBcdTIwMTMgRXhwZXJ0IGluIFByaW1hcnkgY3VsdHVyZSBcIiBpZD1cImJoYXJ0aWFuYWx5c2VDXCI+XG4gICAgICAgICA8cD5Eci4gTmlraGlsIEJoYXJ0aSdzIGV4cGVydGlzZSBoZWxwZWQgdXMgb3ZlcmNvbWUgYSBtYWpvciBjaGFsbGVuZ2Ugd2l0aCBvdXIgQ0YgY2VsbCBjdWx0dXJlcywgd2hpY2ggd2VyZSBjb25zaXN0ZW50bHkgYmVjb21pbmcgY29udGFtaW5hdGVkIHdpdGggZnVuZ2kgZHVlIHRvIHRoZWlyIGluc3RhYmlsaXR5LiBIZSByZWNvbW1lbmRlZCBhIHNwZWNpZmljIGFudGliaW90aWMgY29tcG9zaXRpb24gZWZmZWN0aXZlIGFnYWluc3QgZnVuZ2FsIGluZmVjdGlvbnMuIDwvcD5cbiAgICAgICAgPHA+V2UgaW1tZWRpYXRlbHkgYXBwbGllZCB0aGlzIGFudGliaW90aWMgbWl4dHVyZSB0byBvdXIgY2VsbCBjdWx0dXJlcywgd2hpY2ggcmVzb2x2ZWQgdGhlIGNvbnRhbWluYXRpb24gaXNzdWUgYW5kIGFsbG93ZWQgdXMgdG8gbWFpbnRhaW4gc3RhYmxlIENGIGNlbGwgbGluZXMuIFRoaXMgYnJlYWt0aHJvdWdoIGVuYWJsZWQgdXMgdG8gcHJvY2VlZCB3aXRoIHRlc3Rpbmcgb3VyIHByaW1lIGVkaXRpbmcgYXBwcm9hY2ggZWZmZWN0aXZlbHkuIFRoYW5rcyB0byBEci4gQmhhcnRpJ3MgaW5zaWdodHMsIHdlIGFkdmFuY2VkIG91ciBwcm9qZWN0IHRvIGEgc3RhZ2Ugd2hlcmUgd2UgcmVhY2hlZCB0aGUgbGltaXQgb2YgaW4gdml0cm8gdGVzdGluZywgYW5kIHRoZSBuZXh0IHN0ZXAgd291bGQgYmUgcG90ZW50aWFsIGFuaW1hbCBzdHVkaWVzLiA8L3A+XG4gICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSB4LjwvYj4gQ2FwdGlvbiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgIDwvZmlndXJlPlxuICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj48Yj5GaWd1cmUgeC48L2I+IENhcHRpb24gPC9maWdjYXB0aW9uPlxuICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgPHA+PHN0cm9uZz5Db250YW1pbmF0aW9uIGNoYWxsZW5nZTo8L3N0cm9uZz4gSGVscGVkIHVzIGFkZHJlc3MgYSBtYWpvciBpc3N1ZSB3aXRoIGZ1bmdhbCBjb250YW1pbmF0aW9uIGluIG91ciBDRiBjZWxsIGN1bHR1cmVzLCB3aGljaCB3ZXJlIHVuc3RhYmxlIGFuZCBwcm9uZSB0byBpbmZlY3Rpb24uPC9wPlxuXG48cD48c3Ryb25nPkFudGliaW90aWMgc29sdXRpb246PC9zdHJvbmc+IFJlY29tbWVuZGVkIGEgc3BlY2lmaWMgYW50aWJpb3RpYyBjb21wb3NpdGlvbiBlZmZlY3RpdmUgYWdhaW5zdCBmdW5nYWwgaW5mZWN0aW9ucy48L3A+XG5cbjxwPjxzdHJvbmc+U3VjY2Vzc2Z1bCBpbXBsZW1lbnRhdGlvbjo8L3N0cm9uZz4gQXBwbGllZCB0aGUgYW50aWJpb3RpYyBtaXh0dXJlLCB3aGljaCByZXNvbHZlZCB0aGUgY29udGFtaW5hdGlvbiBwcm9ibGVtLCBhbGxvd2luZyB1cyB0byBtYWludGFpbiBzdGFibGUgQ0YgY2VsbCBsaW5lcy48L3A+XG5cbjxwPjxzdHJvbmc+UHJvamVjdCBhZHZhbmNlbWVudDo8L3N0cm9uZz4gVGhpcyBicmVha3Rocm91Z2ggZW5hYmxlZCB1cyB0byBwcm9jZWVkIHdpdGggdGVzdGluZyBvdXIgcHJpbWUgZWRpdGluZyBhcHByb2FjaCBlZmZlY3RpdmVseSwgYWR2YW5jaW5nIG91ciBwcm9qZWN0IHRvIHRoZSBmaW5hbCBzdGFnZXMgb2YgaW4gdml0cm8gdGVzdGluZy48L3A+XG5cbjxwPjxzdHJvbmc+TmV4dCBzdGVwczo8L3N0cm9uZz4gVGhhbmtzIHRvIERyLiBCaGFydGlcdTIwMTlzIGluc2lnaHRzLCB3ZSBhcmUgbm93IHBvc2l0aW9uZWQgdG8gY29uc2lkZXIgcG90ZW50aWFsIGFuaW1hbCBzdHVkaWVzIGFzIHRoZSBuZXh0IHBoYXNlIG9mIG91ciByZXNlYXJjaC48L3A+XG5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VJZ25hdG92YSgpe1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiUHJvZi4gRHIuIElnbmF0b3ZhIFx1MjAxMyBDRiBFeHBlcnQgJiBSZXNlYXJjaGVyXCIgaWQ9XCJpZ25hdG92YWFuYWx5c2VDXCI+XG4gICAgICAgICA8cD5UaHJvdWdoIG91ciBjb2xsYWJvcmF0aW9uIHdpdGggPGEgaHJlZj1cImh0dHBzOi8vMjAyNC5pZ2VtLndpa2kvaGFtYnVyZy9cIiB0aXRsZT1cImlHRU0gSGFtYnVyZ1wiID4gaUdFTSBIYW1idXJnPC9hPiwgd2Ugd2VyZSBpbnRyb2R1Y2VkIHRvIFByb2YuIElnbmF0b3ZhLCBhIGxlYWRpbmcgZXhwZXJ0IGluIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHJlc2VhcmNoLiBJbml0aWFsbHksIHdlIGNvbnN1bHRlZCBoZXIgdG8gZ2FpbiBhIGRlZXBlciB1bmRlcnN0YW5kaW5nIG9mIENGLiBMYXRlciwgd2hlbiB0aGUgSEVLIGNlbGxzIGZyb20gTGV1dmVuIHByb3ZlZCB1bnN1aXRhYmxlIGZvciBvdXIgdGVzdHMsIHdlIHJlYWNoZWQgb3V0IGFnYWluIHRvIGV4cGxvcmUgYWx0ZXJuYXRpdmUgY2VsbCBtb2RlbHMuIDwvcD5cbiAgICAgICAgIDxwPlByb2YuIElnbmF0b3ZhIHByb3ZpZGVkIGFjY2VzcyB0byB0aGUgQ0ZCRTQxby0gY2VsbCBsaW5lLCBpbW1vcnRhbGl6ZWQgQ0YgY2VsbHMgZGVyaXZlZCBmcm9tIGEgQ0YgcGF0aWVudCwgd2hpY2ggd2Ugb2J0YWluZWQgd2l0aCBwZXJtaXNzaW9uIGZyb20gUHJvZi4gS2FybCBLdW56ZWxtYW5uIGF0IHRoZSBVbml2ZXJzaXR5IG9mIFJlZ2Vuc2J1cmcuIFRoaXMgY2VsbCBsaW5lIG9mZmVyZWQgdXMgYSBuZXcsIHJlbGlhYmxlIHRlc3Rpbmcgc3lzdGVtLCBhbmQgd2Ugc3VjY2Vzc2Z1bGx5IGN1bHRpdmF0ZWQgdGhlIGNlbGxzIGluIG91ciBsYWIsIGFsdGhvdWdoIHRoZXkgcmVxdWlyZWQgc2lnbmlmaWNhbnQgdGltZSB0byBhY2NsaW1hdGUgYW5kIGdyb3cuIDwvcD5cbiAgICAgICAgIDxwPkxvb2tpbmcgZm9yd2FyZCwgd2UgcGxhbiB0byBjb25kdWN0IHBhdGNoLWNsYW1wIGV4cGVyaW1lbnRzIHdpdGggdGhlc2UgY2VsbHMgdG8gdmFsaWRhdGUgb3VyIHByaW1lIGVkaXRpbmcgYXBwcm9hY2guIE91ciBkaXNjdXNzaW9ucyB3aXRoIFByb2YuIElnbmF0b3ZhIGFsc28gYnJvYWRlbmVkIG91ciBwZXJzcGVjdGl2ZSBvbiBnZW5lIHRoZXJhcHkuIFNoZSBzaGFyZWQgaGVyIHdvcmsgb24gcmVjb2RpbmcgdFJOQXMgdG8gYWRkcmVzcyBkZWZlY3RpdmUgbXV0YXRpb25zLCB3aGljaCBpbnRyb2R1Y2VkIHVzIHRvIGFsdGVybmF0aXZlIHRoZXJhcGV1dGljIHN0cmF0ZWdpZXMuIFRoaXMgd2FzIGFuIGV5ZS1vcGVuaW5nIGV4cGVyaWVuY2UgdGhhdCBhZGRlZCBkZXB0aCB0byBvdXIgYXBwcm9hY2guIDwvcD5cbiAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSB4LjwvYj4gQ2FwdGlvbiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgIDwvZmlndXJlPlxuXG4gICAgIDwvQ29sbGFwc2libGU+XG4gICAgKSBcbiB9XG5mdW5jdGlvbiBBbmFseXNlV2lzY2htZXllcigpe1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiUHJvZiBEci4gRWJlcmhhcmQgV2lzY2htZXllciAtIEFjYWRlbWljIEV4cGVydCBvbiBQYXRjaC1DbGFtcCBUZWNobmlxdWVzXCIgaWQ9XCJ3aXNjaG1leWVyYW5hbHlzZUNcIj5cbiAgICAgICAgIDxwPlByb2YuIERyLiBFcmhhcmQgV2lzY2htZXllciBwcm92aWRlZCBjcml0aWNhbCBndWlkYW5jZSBvbiB0aGUgcGF0Y2gtY2xhbXAgdGVjaG5pcXVlIGZvciBtZWFzdXJpbmcgQ0ZUUiBmdW5jdGlvbmFsaXR5LiBIaXMgZXhwZXJ0aXNlLCBhbG9uZ3NpZGUgdGhlIGhhbmRzLW9uIHN1cHBvcnQgb2YgRHIuIE9saXZlciBEclx1MDBFNGdlciBmcm9tIGhpcyBsYWIsIGhlbHBlZCB1cyBvcHRpbWl6ZSB0aGUgcGF0Y2gtY2xhbXAgZXhwZXJpbWVudHMgdXNpbmcgSEVLIGNlbGxzIHByb3ZpZGVkIGJ5IFVuaSBMZXV2ZW4uIFRvZ2V0aGVyLCB3ZSBjb25kdWN0ZWQgZWxlY3Ryb3BoeXNpb2xvZ2ljYWwgbWVhc3VyZW1lbnRzIHRvIGNoYXJhY3Rlcml6ZSB0aGUgZnVuY3Rpb25hbGl0eSBvZiBDRlRSIG11dGF0aW9ucywgc3BlY2lmaWNhbGx5IGNvbXBhcmluZyB0aGUgZGVsdGEgNTA4IENGVFIgbXV0YW50IHdpdGggb3ZlcmV4cHJlc3NlZCBoZWFsdGh5IENGVFIgY2VsbHMuIDwvcD5cbiAgICAgICAgIDxwPlRoZSBleHBlcmltZW50cyBzaG93ZWQgc2lnbmlmaWNhbnQgZGlmZmVyZW5jZXMgYmV0d2VlbiBDRlRSLWRlZmljaWVudCBjZWxscyBhbmQgaGVhbHRoeSBjb250cm9scywgYnV0IHdlIGJlZ2FuIHF1ZXN0aW9uaW5nIHRoZSBzdWl0YWJpbGl0eSBvZiB0aGUgZGVsdGEgNTA4IG92ZXJleHByZXNzaW9uIGNlbGxzIGFzIGEgZnVuY3Rpb25hbCB0ZXN0IHN5c3RlbS4gQWZ0ZXIgYWRqdXN0aW5nIHRoZSBjdWx0dXJlIGNvbmRpdGlvbnMgaW4gY29uc3VsdGF0aW9uIHdpdGggTGV1dmVuLCB3ZSByZXBlYXRlZCB0aGUgbWVhc3VyZW1lbnRzIGJ1dCBzdGlsbCBmb3VuZCBubyBtZWFuaW5nZnVsIGRpZmZlcmVuY2VzLiA8L3A+XG4gICAgICAgICA8cD5VbHRpbWF0ZWx5LCB0aGUgZmVlZGJhY2sgY3ljbGUgd2l0aCBib3RoIExldXZlbiBhbmQgV2lzY2htZXllcidzIGxhYiBjb25maXJtZWQgdGhhdCBwYXRjaC1jbGFtcCB3YXMgaW5zdWZmaWNpZW50IGZvciBvdXIgcHVycG9zZXMsIGxlYWRpbmcgdXMgdG8gY29uc2lkZXIgVXNzaW5nIGNoYW1iZXIgbWVhc3VyZW1lbnRzIGFzIGEgbW9yZSBzdWl0YWJsZSBtZXRob2QgZm9yIGFzc2Vzc2luZyBDRlRSIGZ1bmN0aW9uLiA8L3A+XG4gICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgIDxpbWcgc3JjPVwibGlua1wiIGFsdD1cIndoYXQgaXMgaW4gdGhlIHBpY1wiLz4gXG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSB4LjwvYj4gIEJpbGQgcGF0Y2ggY2xhbXAgZ2VyXHUwMEY2dFxuICAgICAgICAgICAgPC9maWdjYXB0aW9uPiBcbiAgICAgICAgPC9maWd1cmU+IFxuICAgICAgICA8cD48c3Ryb25nPlBhdGNoLWNsYW1wIHRlY2huaXF1ZSBndWlkYW5jZTo8L3N0cm9uZz4gUHJvdmlkZWQgY3JpdGljYWwgZ3VpZGFuY2Ugb24gdXNpbmcgdGhlIHBhdGNoLWNsYW1wIHRlY2huaXF1ZSB0byBtZWFzdXJlIENGVFIgZnVuY3Rpb25hbGl0eSwgb3B0aW1pemluZyBvdXIgZXhwZXJpbWVudHMuPC9wPlxuXG48cD48c3Ryb25nPlN1cHBvcnQgZnJvbSBEci4gT2xpdmVyIERyXHUwMEU0Z2VyOjwvc3Ryb25nPiBIYW5kcy1vbiBzdXBwb3J0IGZyb20gRHIuIERyXHUwMEU0Z2VyIGhlbHBlZCB1cyBwZXJmb3JtIHBhdGNoLWNsYW1wIGV4cGVyaW1lbnRzIHVzaW5nIEhFSyBjZWxscyBwcm92aWRlZCBieSBVbmkgTGV1dmVuLjwvcD5cblxuPHA+PHN0cm9uZz5DRlRSIGZ1bmN0aW9uYWxpdHkgYXNzZXNzbWVudDo8L3N0cm9uZz4gQ29uZHVjdGVkIGVsZWN0cm9waHlzaW9sb2dpY2FsIG1lYXN1cmVtZW50cyB0byBjb21wYXJlIGRlbHRhIDUwOCBDRlRSIG11dGFudHMgd2l0aCBvdmVyZXhwcmVzc2VkIGhlYWx0aHkgQ0ZUUiBjZWxscywgcmV2ZWFsaW5nIHNpZ25pZmljYW50IGRpZmZlcmVuY2VzIGJldHdlZW4gQ0ZUUi1kZWZpY2llbnQgY2VsbHMgYW5kIGhlYWx0aHkgY29udHJvbHMuPC9wPlxuXG48cD48c3Ryb25nPlN1aXRhYmlsaXR5IGNvbmNlcm5zOjwvc3Ryb25nPiBEZXNwaXRlIGFkanVzdG1lbnRzIHRvIGN1bHR1cmUgY29uZGl0aW9ucywgcmVwZWF0ZWQgbWVhc3VyZW1lbnRzIHJhaXNlZCBkb3VidHMgYWJvdXQgdGhlIGRlbHRhIDUwOCBvdmVyZXhwcmVzc2lvbiBjZWxscyBhcyBhIGZ1bmN0aW9uYWwgdGVzdCBzeXN0ZW0uPC9wPlxuXG48cD48c3Ryb25nPkZlZWRiYWNrIGN5Y2xlIHdpdGggTGV1dmVuIGFuZCBXaXNjaG1leWVyOjwvc3Ryb25nPiBDb25maXJtZWQgdGhhdCBwYXRjaC1jbGFtcCB3YXMgbm90IHN1aXRhYmxlIGZvciBvdXIgbmVlZHMsIHByb21wdGluZyB1cyB0byBleHBsb3JlIFVzc2luZyBjaGFtYmVyIG1lYXN1cmVtZW50cyBhcyBhIG1vcmUgYXBwcm9wcmlhdGUgbWV0aG9kIGZvciBhc3Nlc3NpbmcgQ0ZUUiBmdW5jdGlvbi48L3A+XG5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VNYXR0aWpzKCl7XG4gICAgY29uc3Qge2dvVG9QYWdlc0FuZE9wZW5UYWJ9ID0gdXNlTmF2aWdhdGlvbigpOyBcbiAgICBjb25zdCB7Z29Ub1BhZ2VBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpO1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiTWF0dGppcyBCdWxjYWVuIFx1MjAxMyBVbml2ZXJzaXR5IG9mIExldXZlbiwgQ0YgYW5kIFByaW1lIEVkaXRpbmcgRXhwZXJ0XCIgaWQ9XCJtYXR0aWpzYW5hbHlzZUNcIj5cbiAgICAgICAgPHA+TWF0dGlqcyBCdWxjYWVuLCBiZWluZyBhIHJlc2VhcmNoZXIgd29ya2luZyBvbiBhIHRvcGljIHZlcnkgY2xvc2UgdG8gb3VycywgcHJvdmlkZWQgaW52YWx1YWJsZSBndWlkYW5jZSBpbiB0aGUgZWFybHkgc3RhZ2VzIG9mIG91ciBwcm9qZWN0LiBIZSBnYXZlIHVzIGFuIGluc2lnaHQgaW50byB0aGUgY3VycmVudCBhZHZhbmNlcyBpbiB0aGUgZmllbGQgdGhhdCB3ZSB0aGF0IHdlIHdlcmUgYWJsZSB0byBtYWtlIHVzZSBvZiBsYXRlciBvbi4gSGUgcmV2aWV3ZWQgd2l0aCB1cyBvdXIgb3duIGlkZWFzIGFuZCBjb25zaWRlcmF0aW9ucywgc3VjaCBhcyB0aGUgdXNlIG9mIHRoZSBQRUFSIHJlcG9ydGVyIHN5c3RlbS4gRm9sbG93aW5nIG91ciBpbnRlcnZpZXcgd2l0aCBNYXR0aWpzIHdlIGludGVncmF0ZWQgdGhlIHN0cnVjdHVyYWwgbW90aWYgdHJldm9wcmVRMSBpbnRvIHRoZSBwZWdSTkEsIHdoaWNoIGVuaGFuY2VkIHRoZSBwcmltZSBlZGl0aW5nIGVmZmljaWVuY3kgLSBhIGNyaXRpY2FsIGltcHJvdmVtZW50IHdlIHN1Y2Nlc3NmdWxseSB0ZXN0ZWQgYW5kIGRlbW9uc3RyYXRlZCBpbiBvdXIgcmVzdWx0cy4gIDwvcD5cbiAgICAgICAgIDxwPk91ciBkZWNpc2lvbiBvZiBmaXJzdCB0ZXN0aW5nIHByaW1lIGVkaXRpbmcgaW4gSEVLMjkzIGNlbGxzIGluc3RlYWQgb2Ygb3RoZXIgY2VsbCBsaW5lcyBvciBwcmltYXJ5IGNlbGxzIHdhcyBhbHNvIGJhc2VkIG9uIGhpcyBzdGF0ZW1lbnQgdGhhdCBIRUsgY2VsbHMgYXJlIGJ5IGZhciB0aGUgZWFzaWVzdCB0byBhcmNoaWV2ZSBlZGl0aW5nIGluLiBNYXR0aWpzIGFkZGl0aW9uYWxseSByZWNvbW1lbmRlZCB0aGUgdXNlIG9mIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnQ2VsbCBDdWx0dXJlJywgJy9tYXRlcmlhbHMtbWV0aG9kcycpfT4gSEVLMjkzVCBjZWxsIGxpbmVzIDwvYT4gb3ZlcmV4cHJlc3NpbmcgQ0ZUUiBhbmQgQ0ZUUiBGNTA4ZGVsLiBIb3dldmVyLCBhZnRlciBjb25kdWN0aW5nIHBhdGNoIGNsYW1wIG1lYXN1cmVtZW50cywgd2UgZm91bmQgdGhhdCB0aGUgSEVLIGNlbGxzIHdlcmUgdW5zdWl0YWJsZSBmb3Igb3VyIG5lZWRzLCByZXF1aXJpbmcgdXMgdG8gYWRqdXN0IG91ciB0ZXN0aW5nIHN5c3RlbS4gQXMgYSByZXN1bHQsIHdlIHN3aXRjaGVkIHRvIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2lnbmF0b3ZhJywgJy9odW1hbi1wcmFjdGljZXMnKX0+SWduYXRvdmEnczwvYT4gY2VsbHMgZnJvbSBIYW1idXJnIGZvciBmdXJ0aGVyIGV4cGVyaW1lbnRzLiA8L3A+XG4gICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHguPC9iPiBDYXB0aW9uIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgPC9maWd1cmU+XG4gICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSB4LjwvYj4gQ2FwdGlvbiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgIDwvZmlndXJlPlxuICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSB4LjwvYj4gQ2FwdGlvbiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgIDwvZmlndXJlPlxuICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICkgXG4gfVxuZnVuY3Rpb24gQW5hbHlzZU1pY2hhZWxhKCl7XG4gICAgcmV0dXJuKFxuICAgICA8Q29sbGFwc2libGUgdGl0bGU9XCJNaWNoYWVsYSBCaWVuZXJ0IFx1MjAxMyBTY2llbnRpZmljIFNhbGVzIFJlcHJlc2VudGF0aXZlIGF0IFN0ZW1jZWxsIFRlY2hub2xvZ2llc1wiIGlkPVwibWljaGFlbGFhbmFseXNlQ1wiPlxuICAgICAgICA8cD5UaHJvdWdoIGhhbmRzLW9uIGV4cGVyaWVuY2Ugd2l0aCBNaWNoYWVsYSBCaWVuZXJ0IGFuZCBKdWxpZSBXYXRzb24sIHdlIGdhaW5lZCB2YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIHRoZSBjdWx0aXZhdGlvbiBtZXRob2RzIG9mIEFpci1MaXF1aWQgSW50ZXJmYWNlIChBTEkpIGFuZCBhcGljYWwtb3V0IG9yZ2Fub2lkcy4gV2UgZXZhbHVhdGVkIHRoZSBhZHZhbnRhZ2VzIGFuZCBsaW1pdGF0aW9ucyBvZiBkaWZmZXJlbnQgY3VsdHVyaW5nIHRlY2huaXF1ZXMsIHdoaWNoIGVuYWJsZWQgdXMgdG8gbWFrZSBpbmZvcm1lZCBkZWNpc2lvbnMgYWJvdXQgdGhlaXIgaW1wbGVtZW50YXRpb24gaW4gb3VyIHJlc2VhcmNoLiBXaXRoIHRoZSBwcm90b2NvbHMgYW5kIHJlc291cmNlcyBwcm92aWRlZCwgd2Ugc3VjY2Vzc2Z1bGx5IGdlbmVyYXRlZCBBTEkgY3VsdHVyZXMgYW5kIG9yZ2Fub2lkcyBmcm9tIHByaW1hcnkgY2VsbHMgb2YgQ0YgcGF0aWVudHMgYW5kIGhlYWx0aHkgY29udHJvbCBkb25vcnMsIHdoaWNoIHdlIHdlcmUgYWJsZSB0byB0ZXN0IHRocm91Z2hvdXQgdGhlIGNvdXJzZSBvZiBvdXIgcHJvamVjdC4gPC9wPlxuICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj48Yj5GaWd1cmUgeC48L2I+IENhcHRpb24gPC9maWdjYXB0aW9uPlxuICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICA8aW1nIHNyYz1cImxpbmtcIiBhbHQ9XCJ3aGF0IGlzIGluIHRoZSBwaWNcIi8+IFxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgeC48L2I+ICBBTEkgXG4gICAgICAgICAgICA8L2ZpZ2NhcHRpb24+IFxuICAgICAgICA8L2ZpZ3VyZT4gXG4gICAgICAgIDxwPjxzdHJvbmc+SGFuZHMtb24gZXhwZXJpZW5jZTo8L3N0cm9uZz4gR2FpbmVkIHByYWN0aWNhbCBpbnNpZ2h0cyBmcm9tIE1pY2hhZWxhIEJpZW5lcnQgYW5kIEp1bGllIFdhdHNvbiBpbnRvIHRoZSBjdWx0aXZhdGlvbiBtZXRob2RzIGZvciBBaXItTGlxdWlkIEludGVyZmFjZSAoQUxJKSBhbmQgYXBpY2FsLW91dCBvcmdhbm9pZHMuPC9wPlxuXG48cD48c3Ryb25nPkV2YWx1YXRpb24gb2YgY3VsdHVyaW5nIHRlY2huaXF1ZXM6PC9zdHJvbmc+IEFzc2Vzc2VkIHRoZSBhZHZhbnRhZ2VzIGFuZCBsaW1pdGF0aW9ucyBvZiBkaWZmZXJlbnQgY3VsdGl2YXRpb24gdGVjaG5pcXVlcywgYWxsb3dpbmcgdXMgdG8gbWFrZSBpbmZvcm1lZCBkZWNpc2lvbnMgYWJvdXQgd2hpY2ggbWV0aG9kcyB0byB1c2UgaW4gb3VyIHJlc2VhcmNoLjwvcD5cblxuPHA+PHN0cm9uZz5TdWNjZXNzZnVsIGdlbmVyYXRpb24gb2YgY3VsdHVyZXM6PC9zdHJvbmc+IFVzaW5nIHRoZSBwcm90b2NvbHMgYW5kIHJlc291cmNlcyBwcm92aWRlZCwgd2Ugc3VjY2Vzc2Z1bGx5IGdlbmVyYXRlZCBBTEkgY3VsdHVyZXMgYW5kIG9yZ2Fub2lkcyBmcm9tIHByaW1hcnkgY2VsbHMgb2YgQ0YgcGF0aWVudHMgYW5kIGhlYWx0aHkgY29udHJvbCBkb25vcnMuPC9wPlxuXG48cD48c3Ryb25nPlRlc3RpbmcgYW5kIGV4cGVyaW1lbnRhdGlvbjo8L3N0cm9uZz4gVGhlc2UgY3VsdHVyZXMgYW5kIG9yZ2Fub2lkcyB3ZXJlIHRlc3RlZCB0aHJvdWdob3V0IHRoZSBwcm9qZWN0LCBjb250cmlidXRpbmcgc2lnbmlmaWNhbnRseSB0byBvdXIgcmVzZWFyY2ggb3V0Y29tZXMuPC9wPlxuXG4gICAgICAgICBcbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VCZXJlbnMoKXtcbiAgICBjb25zdCB7Z29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uKCk7IFxuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiRHIuIEV2YS1NYXJpYSBCZXJlbnMgXHUyMDEzIEhlYWQgb2YgZXRoaWNzIGNvbW1pdHRlZSBhdCBVbml2ZXJzaXR5IG9mIEJpZWxlZmVsZFwiIGlkPVwiYmVyZW5zYW5hbHlzZUNcIj5cbiAgICAgICAgPHA+SW4gb3VyIHB1cnN1aXQgb2YgZ2VuZXJhdGluZyBwcmltYXJ5IGN1bHR1cmVzIGZyb20gaHVtYW4gbmFzYWwgZXBpdGhlbGlhbCBjZWxscyBmb3IgdGVzdGluZywgd2Ugc291Z2h0IGFkdmljZSBmcm9tIHRoZSBCaW9zYWZldHkgYW5kIFNlY3VyaXR5IENvbW1pdHRlZSBvZiBpR0VNLCBhcyB3ZWxsIGFzIGNvbnN1bHQgd2l0aCBEci4gRXZhLU1hcmlhIEJlcmVucywgb3VyIGV0aGljcyBvZmZpY2VyLiBUaHJvdWdoIGluLWRlcHRoIGRpc2N1c3Npb25zIHdpdGggRHIuIEJlcmVucywgd2UgY2FyZWZ1bGx5IGFzc2Vzc2VkIHRoZSByaXNrcyBhbmQgbGVnYWwgb2JsaWdhdGlvbnMgYXNzb2NpYXRlZCB3aXRoIG91ciBwcm9qZWN0LiBXZSBsZWFybmVkIHRoYXQsIGdpdmVuIHRoZSBtaW5pbWFsIGludmFzaXZlbmVzcyBvZiB0aGUgcHJvY2VkdXJlLCBubyBmb3JtYWwgYmlvZXRoaWNzIGFwcGxpY2F0aW9uIHdhcyBuZWNlc3NhcnkuIEhvd2V2ZXIsIHdlIHJlY29nbml6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgZGV2ZWxvcGluZyBhIGxlZ2FsbHkgc291bmQgaW5mb3JtZWQgY29uc2VudCBmb3JtIGZvciBwYXJ0aWNpcGFudHMsIGVuc3VyaW5nIHRoYXQgd2UgYWRoZXJlZCB0byB0aGUgcmVsZXZhbnQgbGVnYWwgZnJhbWV3b3Jrcy4gPC9wPlxuICAgICAgICAgPHA+SW4gY29sbGFib3JhdGlvbiB3aXRoIHZhcmlvdXMgbGVnYWwgaW5zdGl0dXRpb25zLCB3ZSBkcmFmdGVkIGEgY29tcHJlaGVuc2l2ZSBpbmZvcm1lZCBjb25zZW50IGZvcm0gdGhhdCBjb21wbGllcyB3aXRoIGJvdGggbmF0aW9uYWwgcmVndWxhdGlvbnMgaW4gR2VybWFueSBhbmQgdGhlIHNwZWNpZmljIHBvbGljaWVzIG9mIEJpZWxlZmVsZCBVbml2ZXJzaXR5LiBBcyB0aGUgZmlyc3QgaUdFTSB0ZWFtIHRvIHRhY2tsZSB0aGUgY29tcGxleCBjdWx0aXZhdGlvbiBvZiBodW1hbiBwcmltYXJ5IG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMsIHdlIHdlcmUgY29tbWl0dGVkIHRvIHBhdmluZyB0aGUgd2F5IGZvciBmdXR1cmUgdGVhbXMuIFRvIHN1cHBvcnQgdGhpcywgd2UgY3JlYXRlZCBhIGd1aWRlbGluZSBkb2N1bWVudGluZyB0aGUgcHJvcGVyIGhhbmRsaW5nIG9mIGh1bWFuIGJpb21hdGVyaWFsIG9idGFpbmVkIHRocm91Z2ggdGhlc2UgdHlwZXMgb2Ygc2FtcGxlIGNvbGxlY3Rpb24uIDwvcD5cbiAgICAgICAgIDxwPkFkZGl0aW9uYWxseSwgd2Ugd29ya2VkIHdpdGhcdTIwMkZNci4gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigndGltbScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBUaW1tIFdlYmVyIDwvYT4gLCB3aG8gaXMgd29ya2luZyBmb3IgdGhlIGxvY2FsIGJpb2JhbmsgT1dMLCB0byBlc3RhYmxpc2ggIHByb3RvY29scyBmb3IgdGhlIG1hbmFnZW1lbnQgYW5kIHN0b3JhZ2Ugb2Ygc2Vuc2l0aXZlLCBwZXJzb25hbGx5IGlkZW50aWZpYWJsZSBkYXRhLiBXaGlsZSBubyBzcGVjaWFsIHByb2NlZHVyZXMgd2VyZSByZXF1aXJlZCBmb3Igb3VyIHNwZWNpZmljIHByb2plY3QsIHdlIG5vbmV0aGVsZXNzIG1hZGUgaXQgYSBwcmlvcml0eSB0byBpbXBsZW1lbnQgYW5vbnltaXplZCBtZXRob2RzIHRvIHByb3RlY3QgcGFydGljaXBhbnQgcHJpdmFjeS4gPC9wPlxuICAgICAgICA8cD5UaGUgaW5wdXQgYW5kIGZlZWRiYWNrIGZyb20gRHIuIEJlcmVucyBhbmQgTXIuIFdlYmVyIGZvcm1lZCB0aGUgYmFzaXMgb2Ygb3VyIGV0aGljYWwgY29uc2lkZXJhdGlvbiBvZiBvdXIgcHJvamVjdC4gV2l0aCB0aGVpciBoZWxwLCB3ZSB3ZXJlIGFibGUgdG8gaW1wcm92ZSBvdXIgdGVjaG5vbG9neSBvbiBwcmltYXJ5IGN1bHR1cmVzIHdpdGggYSBoaWdoZXIgbGV2ZWwgb2Ygc2FmZXR5IGFuZCBhbiBhZGFwdGVkIGd1aWRsaW5lLiBJbiBhZGRpdGlvbiwgb3VyIGJpb3NhZmV0eSBjb250cmlidXRpb25zIHdlcmUgc2lnbmlmaWNhbnRseSBpbXByb3ZlZCBhcyB3ZSB3ZXJlIGFibGUgdG8gZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBhbGwgbGVnYWwgYW5kIGV0aGljYWwgc3RhbmRhcmRzLi4gPC9wPlxuICAgICAgICA8cD5IYXZpbmcgZXN0YWJsaXNoZWQgdGhlIG5lY2Vzc2FyeSBldGhpY2FsIGFuZCBsZWdhbCBncm91bmR3b3JrLCB3ZSB0dXJuZWQgb3VyIGZvY3VzIHRvIHRoZSBwcmFjdGljYWwgYXNwZWN0cyBvZiBoYW5kbGluZyBhbmQgY3VsdGl2YXRpbmcgcGF0aWVudCBzYW1wbGVzLiBUaGlzIHJlcXVpcmVkIHNwZWNpYWxpemVkIGV4cGVydGlzZSwgd2hpY2ggbGVkIHVzIHRvIHNlZWsgYXNzaXN0YW5jZSBmcm9tIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ21pY2hhZWxhJywgJy9odW1hbi1wcmFjdGljZXMnKX0+U3RlbWNlbGwgVGVjaG5vbG9naWVzPC9hPiBlbnN1cmUgdGhlIHN1Y2Nlc3NmdWwgY3VsdGl2YXRpb24gYW5kIG1haW50ZW5hbmNlIG9mIHRoZSBuYXNhbCBlcGl0aGVsaWFsIGNlbGxzLiBUaGVpciBzdXBwb3J0IHdhcyBlc3NlbnRpYWwgaW4gZW5hYmxpbmcgdXMgdG8gcHVzaCBmb3J3YXJkIHdpdGggb3VyIHRlc3RpbmcgYW5kIGJyaW5nIG91ciBwcm9qZWN0IGNsb3NlciB0byByZWFsLXdvcmxkIGFwcGxpY2F0aW9ucy4gPC9wPlxuICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSB4LjwvYj4gQ2FwdGlvbiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgIDwvZmlndXJlPlxuICAgICAgICA8cD48c3Ryb25nPkV0aGljYWwgY29uc3VsdGF0aW9uOjwvc3Ryb25nPiBDb25zdWx0ZWQgd2l0aCBEci4gRXZhLU1hcmlhIEJlcmVucywgb3VyIGV0aGljcyBvZmZpY2VyLCB0byBhc3Nlc3MgdGhlIHJpc2tzIGFuZCBsZWdhbCBvYmxpZ2F0aW9ucyBvZiBnZW5lcmF0aW5nIHByaW1hcnkgY3VsdHVyZXMgZnJvbSBodW1hbiBuYXNhbCBlcGl0aGVsaWFsIGNlbGxzLiBJdCB3YXMgZGV0ZXJtaW5lZCB0aGF0IG5vIGZvcm1hbCBiaW9ldGhpY3MgYXBwbGljYXRpb24gd2FzIHJlcXVpcmVkIGR1ZSB0byB0aGUgbWluaW1hbCBpbnZhc2l2ZW5lc3Mgb2YgdGhlIHByb2NlZHVyZS48L3A+XG5cbjxwPjxzdHJvbmc+SW5mb3JtZWQgY29uc2VudDo8L3N0cm9uZz4gQ29sbGFib3JhdGVkIHdpdGggbGVnYWwgaW5zdGl0dXRpb25zIHRvIGRyYWZ0IGEgY29tcHJlaGVuc2l2ZSBpbmZvcm1lZCBjb25zZW50IGZvcm0gdGhhdCBjb21wbGllcyB3aXRoIEdlcm1hbiBuYXRpb25hbCByZWd1bGF0aW9ucyBhbmQgQmllbGVmZWxkIFVuaXZlcnNpdHkgcG9saWNpZXMuPC9wPlxuXG48cD48c3Ryb25nPkd1aWRlbGluZSBjcmVhdGlvbiBmb3IgZnV0dXJlIHRlYW1zOjwvc3Ryb25nPiBBcyB0aGUgZmlyc3QgaUdFTSB0ZWFtIHRvIHdvcmsgd2l0aCBodW1hbiBwcmltYXJ5IG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMsIHdlIGRldmVsb3BlZCBhIGd1aWRlbGluZSBmb3IgaGFuZGxpbmcgaHVtYW4gYmlvbWF0ZXJpYWwgdG8gYWlkIGZ1dHVyZSB0ZWFtcyBpbiBzaW1pbGFyIHByb2plY3RzLjwvcD5cblxuPHA+PHN0cm9uZz5EYXRhIHByaXZhY3kgcHJvdG9jb2xzOjwvc3Ryb25nPiBXb3JrZWQgd2l0aCBNcy4gR2FicmllbGUgQW50b24gdG8gZXN0YWJsaXNoIHByb3RvY29scyBmb3IgbWFuYWdpbmcgYW5kIHN0b3Jpbmcgc2Vuc2l0aXZlIHBlcnNvbmFsIGRhdGEsIHByaW9yaXRpemluZyBhbm9ueW1pemF0aW9uIHRvIHByb3RlY3QgcGFydGljaXBhbnQgcHJpdmFjeS48L3A+XG5cbjxwPjxzdHJvbmc+RXRoaWNhbCBhbmQgbGVnYWwgZm91bmRhdGlvbjo8L3N0cm9uZz4gSW5wdXQgZnJvbSBEci4gQmVyZW5zIGFuZCBNcy4gQW50b24gd2FzIGNydWNpYWwgaW4gYnVpbGRpbmcgdGhlIGV0aGljYWwgYW5kIGxlZ2FsIGZvdW5kYXRpb24gb2Ygb3VyIHByb2plY3QsIGVuc3VyaW5nIGNvbXBsaWFuY2Ugd2l0aCBhbGwgc3RhbmRhcmRzIGFuZCBlbmFibGluZyB1cyB0byBwcm9jZWVkIHdpdGggb2ZmaWNpYWwgYXBwcm92YWwuPC9wPlxuXG48cD48c3Ryb25nPlByYWN0aWNhbCBleHBlcnRpc2U6PC9zdHJvbmc+IEFmdGVyIHNlY3VyaW5nIHRoZSBldGhpY2FsIGFuZCBsZWdhbCBmcmFtZXdvcmssIHdlIHNvdWdodCBhc3Npc3RhbmNlIGZyb20gU3RlbWNlbGwgVGVjaG5vbG9naWVzIGZvciBwcmFjdGljYWwgZ3VpZGFuY2UgaW4gaGFuZGxpbmcgYW5kIGN1bHRpdmF0aW5nIHBhdGllbnQgc2FtcGxlcywgd2hpY2ggd2FzIGVzc2VudGlhbCBmb3IgYWR2YW5jaW5nIG91ciB0ZXN0aW5nIGFuZCBwdXNoaW5nIHRoZSBwcm9qZWN0IHRvd2FyZCByZWFsLXdvcmxkIGFwcGxpY2F0aW9ucy48L3A+XG5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VXZWJlcigpe1xuICAgIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgICByZXR1cm4oXG4gICAgIDxDb2xsYXBzaWJsZSB0aXRsZT1cIlByb2YuIERyLiBXZWJlciBhbmQgRHIuIEdyb1x1MDBERmUtT25uZWJyaW5rIFwiIGlkPVwid2ViZXJhbmFseXNlQ1wiPlxuICAgICAgICAgPHA+UHJvZi4gV2ViZXIgYW5kIERyLiBHcm9cdTAwREZlLU9ubmVicmluayBlbXBoYXNpemVkIHRoZSBwb3RlbnRpYWwgb2YgdGFyZ2V0aW5nIGlvbm9jeXRlcyBkdWUgdG8gdGhlaXIgY3J1Y2lhbCByb2xlIGluIENGVFIgZXhwcmVzc2lvbiB3aGlsZSBoaWdobGlnaHRpbmcgdGhlIGNoYWxsZW5nZXMgb2YgYWNjZXNzaW5nIHRoZXNlIGNlbGxzIGFuZCBwZW5ldHJhdGluZyB0aGUgbXVjdXMgYmFycmllci4gQWRkaXRpb25hbGx5LCB0aGV5IHN1Z2dlc3RlZCB1c2luZyBhbiBVc3NpbmcgY2hhbWJlciB0byBhc3Nlc3MgQ0ZUUiBmdW5jdGlvbiwgYWx0aG91Z2ggdGhleSBub3RlZCBpdHMgbGltaXRhdGlvbnMsIGFuZCByZWNvbW1lbmRlZCBleHBsb3JpbmcgY2hpdG9zYW4tYmFzZWQgbmFub3BhcnRpY2xlcyBhcyBhIHNhZmVyIGFsdGVybmF0aXZlIHRvIFBFRy1saXBpZCBzeXN0ZW1zLiA8L3A+XG4gICAgICAgICA8cD5JbiByZXNwb25zZSB0byB0aGVpciBpbnNpZ2h0cywgd2UgY29udGludWVkIHRvIGV4cGxvcmUgaW9ub2N5dGVzIGJ1dCBleHBhbmRlZCBvdXIgZm9jdXMgdG8gaW5jbHVkZSBvdGhlciBjZWxsIHR5cGVzIHRvIGVuaGFuY2UgdGVzdGluZyBmbGV4aWJpbGl0eS4gV2UgZnVydGhlciBpbnZlc3RpZ2F0ZWQgY2hpdG9zYW4tYmFzZWQgbmFub3BhcnRpY2xlcyBhbmQgb3B0aW1pemVkIHRoZWlyIHNpemUgZm9yIGJldHRlciBsdW5nIHBlbmV0cmF0aW9uLiBXZSBwbGFuIHRvIHV0aWxpemUgdGhlIFVzc2luZyBjaGFtYmVyIGZvciBDRlRSIG1lYXN1cmVtZW50cyBhbmQgYXJlIGFsc28gY29uc2lkZXJpbmcgcGF0Y2ggY2xhbXBpbmcgZm9yIGRldGFpbGVkIHRyYW5zZmVjdGlvbiBhbmFseXNpcy4gPC9wPlxuICAgICAgICAgPHA+UHJvZi4gV2ViZXIgaGlnaGxpZ2h0ZWQgdGhlIGlubm92YXRpdmUgYXNwZWN0cyBvZiBvdXIgcHJvamVjdCwgcGFydGljdWxhcmx5IHJlZ2FyZGluZyBjZWxsIGN1bHR1cmUgbWV0aG9kcy4gSGUgYWR2aXNlZCB1cyB0byBjb25zaWRlciB0aGUgZXRoaWNhbCBhbmQgbGVnYWwgaW1wbGljYXRpb25zLCB3aGljaCBsZWQgdXMgdG8gY29uc3VsdCB3aXRoIHRoZSBoZWFkIG9mIHRoZSBldGhpY3MgY29tbWl0dGVlIGF0IHRoZSBVbml2ZXJzaXR5IG9mIEJpZWxlZmVsZCwgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignYmVyZW5zJywgJy9odW1hbi1wcmFjdGljZXMnKX0+RHIuIEV2YS1NYXJpYSBCZXJlbnM8L2E+LiBEdWUgdG8gbGVnYWwgY29uY2VybnMsIHRoZSBjb21taXR0ZWUgaXMgdW5hYmxlIHRvIHN1cHBvcnQgb3VyIHByb2plY3QgZGlyZWN0bHksIGFzIHRoZXkgaGF2ZSBhbiBpbnRlcmVzdCBpbiBkZXZlbG9waW5nIHRoZWlyIG93biBDaGl0b3NhbiBMTlBzLCB3aGljaCBjb25mbGljdHMgd2l0aCB0aGUgb3Blbi1zb3VyY2UgbmF0dXJlIG9mIHRoZSBpR0VNIGNvbXBldGl0aW9uLiBOZXZlcnRoZWxlc3MsIHRoZXkgcHJvdmlkZWQgdXMgd2l0aCB2YWx1YWJsZSBpbmZvcm1hdGlvbiB1cCB0byB0aGF0IHBvaW50LCBndWlkaW5nIG91ciB1bmRlcnN0YW5kaW5nIGFuZCBhcHByb2FjaCB0byB0aGUgcHJvamVjdC4gPC9wPlxuICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHguPC9iPiBDYXB0aW9uIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgPC9maWd1cmU+XG4gICAgICAgIDxwPjxzdHJvbmc+VGFyZ2V0aW5nIGlvbm9jeXRlczo8L3N0cm9uZz4gRW1waGFzaXplZCB0aGUgcG90ZW50aWFsIG9mIHRhcmdldGluZyBpb25vY3l0ZXMgZHVlIHRvIHRoZWlyIGNyaXRpY2FsIHJvbGUgaW4gQ0ZUUiBleHByZXNzaW9uLCB3aGlsZSBhbHNvIGhpZ2hsaWdodGluZyB0aGUgY2hhbGxlbmdlcyBvZiBhY2Nlc3NpbmcgdGhlc2UgY2VsbHMgYW5kIHBlbmV0cmF0aW5nIHRoZSBtdWN1cyBiYXJyaWVyIGluIENGIHBhdGllbnRzLjwvcD5cblxuPHA+PHN0cm9uZz5Vc3NpbmcgY2hhbWJlciByZWNvbW1lbmRhdGlvbjo8L3N0cm9uZz4gU3VnZ2VzdGVkIHVzaW5nIHRoZSBVc3NpbmcgY2hhbWJlciB0byBhc3Nlc3MgQ0ZUUiBmdW5jdGlvbiwgbm90aW5nIGl0cyBsaW1pdGF0aW9ucywgYW5kIHJlY29tbWVuZGVkIGV4cGxvcmluZyBwYXRjaCBjbGFtcGluZyBmb3IgbW9yZSBkZXRhaWxlZCB0cmFuc2ZlY3Rpb24gYW5hbHlzaXMuPC9wPlxuXG48cD48c3Ryb25nPkNoaXRvc2FuLWJhc2VkIG5hbm9wYXJ0aWNsZXM6PC9zdHJvbmc+IEVuY291cmFnZWQgaW52ZXN0aWdhdGluZyBjaGl0b3Nhbi1iYXNlZCBuYW5vcGFydGljbGVzIGFzIGEgc2FmZXIgYWx0ZXJuYXRpdmUgdG8gUEVHLWxpcGlkIHN5c3RlbXMsIHdoaWNoIGxlZCB1cyB0byBvcHRpbWl6ZSBjaGl0b3NhbiBuYW5vcGFydGljbGUgc2l6ZSBmb3IgYmV0dGVyIGx1bmcgcGVuZXRyYXRpb24uPC9wPlxuXG48cD48c3Ryb25nPkV4cGFuZGVkIGNlbGwgdGFyZ2V0aW5nOjwvc3Ryb25nPiBCYXNlZCBvbiB0aGVpciBpbnNpZ2h0cywgd2UgZXhwYW5kZWQgb3VyIGZvY3VzIGJleW9uZCBpb25vY3l0ZXMgdG8gaW5jbHVkZSBvdGhlciBjZWxsIHR5cGVzIHRvIGluY3JlYXNlIGZsZXhpYmlsaXR5IGluIHRlc3RpbmcuPC9wPlxuXG48cD48c3Ryb25nPkV0aGljYWwgYW5kIGxlZ2FsIGd1aWRhbmNlOjwvc3Ryb25nPiBQcm9mLiBXZWJlciBhZHZpc2VkIHVzIHRvIGNvbnNpZGVyIGV0aGljYWwgYW5kIGxlZ2FsIGNvbmNlcm5zLCBsZWFkaW5nIHRvIGNvbnN1bHRhdGlvbnMgd2l0aCBEci4gQmVyZW5zLCBoZWFkIG9mIHRoZSBldGhpY3MgY29tbWl0dGVlIGF0IHRoZSBVbml2ZXJzaXR5IG9mIEJpZWxlZmVsZC4gTGVnYWwgY29uY2VybnMgYXJvdW5kIGNvbmZsaWN0aW5nIGludGVyZXN0cyAodGhlIHVuaXZlcnNpdHkncyBvd24gY2hpdG9zYW4gTE5QIGRldmVsb3BtZW50cykgbGltaXRlZCBkaXJlY3Qgc3VwcG9ydCwgYnV0IHRoZSBjb21taXR0ZWUgcHJvdmlkZWQgdmFsdWFibGUgZ3VpZGFuY2UuPC9wPlxuXG48cD48c3Ryb25nPklubm92YXRpdmUgY2VsbCBjdWx0dXJlIG1ldGhvZHM6PC9zdHJvbmc+IFByb2YuIFdlYmVyIHByYWlzZWQgdGhlIGlubm92YXRpdmUgYXNwZWN0cyBvZiBvdXIgcHJvamVjdCwgcGFydGljdWxhcmx5IG91ciBhcHByb2FjaCB0byBjZWxsIGN1bHR1cmUsIGZ1cnRoZXIgdmFsaWRhdGluZyBvdXIgcHJvamVjdFx1MjAxOXMgc2NpZW50aWZpYyBkaXJlY3Rpb24uPC9wPlxuXG4gICAgIDwvQ29sbGFwc2libGU+XG4gICAgKSBcbiB9XG5mdW5jdGlvbiBBbmFseXNlTW9vcigpe1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiQmVuamFtaW4gV2lsbGVtIE1vb3JsYWNoIFx1MjAxMyBDaGl0b3NhbiBFeHBlcnQgXCIgaWQ9XCJtb29ybGFjaGFuYWx5c2VDXCI+XG4gICAgICAgIDxwPldlIGdhaW5lZCB2YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIHRoZSB1bmlxdWUgcHJvcGVydGllcyBvZiBjaGl0b3NhbiwgYSBjYXRpb25pYyBwb2x5bWVyIHdpdGggc2lnbmlmaWNhbnQgcG90ZW50aWFsIHRvIHN0YWJpbGl6ZSBSTkEgaW4gb3VyIGxpcGlkIG5hbm9wYXJ0aWNsZSAoTE5QKSBmb3JtdWxhdGlvbnMuIENoaXRvc2FuIG9mZmVycyByb2J1c3QgcHJvdGVjdGlvbiBhZ2FpbnN0IFJOYXNlcyBhbmQgZXhoaWJpdHMgaGVhdCBzdGFiaWxpdHksIG1ha2luZyBpdCBzdWl0YWJsZSBmb3IgcHJvY2Vzc2luZyBtZXRob2RzIGxpa2Ugc3ByYXkgZHJ5aW5nLiBBZGRpdGlvbmFsbHksIGl0cyBtdWNvYWRoZXNpdmUgcHJvcGVydGllcyBlbmFibGUgb3B0aW1hbCBjaG9pY2UgYXMgTE5QIGNvbXBvbmVudC4gPC9wPlxuICAgICAgICA8cD5BIGNyaXRpY2FsIGluc2lnaHQgd2FzIHRoZSBuZWNlc3NpdHkgZm9yIGNoaXRvc2FuIHRvIGJlIGluIGFuIGFjaWRpYyBlbnZpcm9ubWVudCAocEggNC02KSB0byBtYWludGFpbiBpdHMgcG9zaXRpdmUgY2hhcmdlLCB3aGljaCBpcyBlc3NlbnRpYWwgZm9yIGVmZmVjdGl2ZSBSTkEgaW50ZXJhY3Rpb24uIFdoaWxlIGl0IGNhbm5vdCByZXBsYWNlIFBFRyBkdWUgdG8gaXRzIGh5ZHJvcGhpbGljIG5hdHVyZSwgY2hpdG9zYW4gaXMgaWRlYWwgZm9yIGZvcm1pbmcgUk5BLWNoaXRvc2FuIGNvbXBsZXhlcywgd2hpY2ggY2FuIHRoZW4gYmUgZW5jYXBzdWxhdGVkIHdpdGhpbiBMTlBzLiBUaGlzIGFwcHJvYWNoIHNpZ25pZmljYW50bHkgZW5oYW5jZXMgUk5BIHN0YWJpbGl0eSBkdXJpbmcgc3ByYXkgZHJ5aW5nLCBhIG1ldGhvZCB3ZSBpbnRlbmQgdG8gZnVydGhlciB0ZXN0IGluIGNvbGxhYm9yYXRpb24gd2l0aCA8YSBocmVmPVwiaHR0cHM6Ly9ybmhhbGUuY29tL1wiPlJuaGFsZTwvYT4uIDwvcD5cbiAgICAgICAgPHA+IEluIHRlcm1zIG9mIGltcGxlbWVudGF0aW9uLCBCZW5qYW1pbiBlZHVjYXRlZCB1cyBvbiB0aGUgY2hlbWljYWwgYW5kIHN0cnVjdHVyYWwgcHJvcGVydGllcyBvZiBjaGl0b3NhbiwgcmVpbmZvcmNpbmcgb3VyIGFwcHJvYWNoIHRvIGltcHJvdmUgc3RhYmlsaXR5LCBwYXJ0aWN1bGFybHkgYWdhaW5zdCBoZWF0LCBpbiBvdXIgTE5QIGZvcm11bGF0aW9ucy4gSGUgcHJvdmlkZWQgZ3VpZGFuY2Ugb24gZm9ybXVsYXRpbmcgY2hpdG9zYW4tUk5BIGNvbXBsZXhlcyBhbmQgZGV2ZWxvcGVkIGEgcHJvdG9jb2wgZm9yIGludGVncmF0aW5nIHRoZW0gaW50byBvdXIgTE5QIGZvcm11bGF0aW9uIHdpdGhvdXQgYWZmZWN0aW5nIHRoZSBjaGFyZ2Ugb2YgdGhlIG5hbm9wYXJ0aWNsZXMuIEFkZGl0aW9uYWxseSwgaGUgc3VwcGxpZWQgdXMgd2l0aCBjaGl0b3NhbiBpbiB2YXJpb3VzIHNpemVzLCBlbmFibGluZyB1cyB0byB0ZXN0IGRpZmZlcmVudCBjaGl0b3NhbiBjb21wbGV4ZXMgZm9yIG9wdGltYWwgcmVzdWx0cy4gPC9wPlxuICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj48Yj5GaWd1cmUgeC48L2I+IENhcHRpb24gPC9maWdjYXB0aW9uPlxuICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgPHA+PHN0cm9uZz5DaGl0b3NhbiBwcm9wZXJ0aWVzOjwvc3Ryb25nPiBQcm92aWRlZCB2YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIGNoaXRvc2FuLCBhIGNhdGlvbmljIHBvbHltZXIgd2l0aCBzdHJvbmcgcG90ZW50aWFsIHRvIHN0YWJpbGl6ZSBSTkEgaW4gbGlwaWQgbmFub3BhcnRpY2xlIChMTlApIGZvcm11bGF0aW9ucyBkdWUgdG8gaXRzIHJvYnVzdCBwcm90ZWN0aW9uIGFnYWluc3QgUk5hc2VzIGFuZCBoZWF0IHN0YWJpbGl0eS48L3A+XG5cbjxwPjxzdHJvbmc+TXVjb2FkaGVzaXZlIHByb3BlcnRpZXM6PC9zdHJvbmc+IEhpZ2hsaWdodGVkIGNoaXRvc2FuJ3MgbXVjb2FkaGVzaXZlIGNoYXJhY3RlcmlzdGljcywgbWFraW5nIGl0IGFuIGlkZWFsIGNvbXBvbmVudCBmb3IgTE5QcyBpbiB0ZXJtcyBvZiBSTkEgZGVsaXZlcnkuPC9wPlxuXG48cD48c3Ryb25nPkFjaWRpYyBlbnZpcm9ubWVudCByZXF1aXJlbWVudDo8L3N0cm9uZz4gRW1waGFzaXplZCB0aGUgbmVlZCBmb3IgY2hpdG9zYW4gdG8gbWFpbnRhaW4gYSBwb3NpdGl2ZSBjaGFyZ2UgaW4gYW4gYWNpZGljIGVudmlyb25tZW50IChwSCA0LTYpIGZvciBlZmZlY3RpdmUgUk5BIGludGVyYWN0aW9uLjwvcD5cblxuPHA+PHN0cm9uZz5DaGl0b3NhbiB2cy4gUEVHOjwvc3Ryb25nPiBXaGlsZSBjaGl0b3NhbiBjYW5ub3QgcmVwbGFjZSBQRUcgZHVlIHRvIGl0cyBoeWRyb3BoaWxpYyBuYXR1cmUsIGl0IGlzIG9wdGltYWwgZm9yIGZvcm1pbmcgUk5BLWNoaXRvc2FuIGNvbXBsZXhlcywgd2hpY2ggY2FuIGJlIGVuY2Fwc3VsYXRlZCB3aXRoaW4gTE5Qcy48L3A+XG5cbjxwPjxzdHJvbmc+Uk5BIHN0YWJpbGl0eSBpbiBzcHJheSBkcnlpbmc6PC9zdHJvbmc+IENoaXRvc2FuJ3MgdXNlIGluIFJOQS1jaGl0b3NhbiBjb21wbGV4ZXMgc2lnbmlmaWNhbnRseSBlbmhhbmNlcyBSTkEgc3RhYmlsaXR5IGR1cmluZyBzcHJheSBkcnlpbmcsIGEgbWV0aG9kIHdlIHdpbGwgY29udGludWUgdG8gdGVzdCB3aXRoIFJOaGFsZS48L3A+XG5cbjxwPjxzdHJvbmc+SW1wbGVtZW50YXRpb24gZ3VpZGFuY2U6PC9zdHJvbmc+IEJlbmphbWluIHByb3ZpZGVkIGNoZW1pY2FsIGFuZCBzdHJ1Y3R1cmFsIGtub3dsZWRnZSBvZiBjaGl0b3NhbiwgZ3VpZGluZyB1cyBvbiBob3cgdG8gaW1wcm92ZSBMTlAgc3RhYmlsaXR5LCBlc3BlY2lhbGx5IGFnYWluc3QgaGVhdCwgYW5kIGZvcm11bGF0aW5nIGNoaXRvc2FuLVJOQSBjb21wbGV4ZXMuIEhlIGFsc28gc3VwcGxpZWQgdmFyaW91cyBzaXplcyBvZiBjaGl0b3NhbiwgYWxsb3dpbmcgdXMgdG8gdGVzdCBmb3Igb3B0aW1hbCByZXN1bHRzIGluIG91ciBmb3JtdWxhdGlvbnMuPC9wPlxuXG4gICAgIDwvQ29sbGFwc2libGU+XG4gICAgKSBcbiB9XG5mdW5jdGlvbiBBbmFseXNlS29sb25rbygpe1xuICAgIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgICByZXR1cm4oXG4gICAgIDxDb2xsYXBzaWJsZSB0aXRsZT1cIkRyLiBLYXRoYXJpbmEgS29sb25rbyBcdTIwMTMgTmFub3BhcnRpY2xlIFJlc2VhcmNoZXIgXCIgaWQ9XCJrb2xvbmtvYW5hbHlzZUNcIj5cbiAgICAgICAgIDxwPkRyLiBLb2xvbmtvJ3MgZXhwZXJ0aXNlIGluIG5hbm9wYXJ0aWNsZSBzdGFiaWxpdHkgd2FzIGludmFsdWFibGUgaW4gcmVmaW5pbmcgb3VyIGRlbGl2ZXJ5IHN5c3RlbS4gSGVyIHJlY29tbWVuZGF0aW9uIHRvIHV0aWxpemUgY2hpdG9zYW4gZm9yIGdyZWF0ZXIgc3RhYmlsaXR5IGluZmx1ZW5jZWQgb3VyIGZvcm11bGF0aW9uIGNob2ljZSBhbmQgd2UgZnVydGhlciBpbnZlc3RpZ2F0ZWQgaG93IHRvIGludGVncmF0ZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdtb29ybGFjaCcsICcvaHVtYW4gcHJhY3RpY2VzJyl9PiBjaGl0b3NhbiBpbiBvdXIgTE5QIDwvYT4uIEFkZGl0aW9uYWxseSwgaGVyIGluc2lnaHRzIG9uIGN5dG90b3hpY2l0eSB0ZXN0aW5nLCBwYXJ0aWN1bGFybHkgdGhlIE1UVCBhc3NheSwgYW5kIG1lZGl1bSBjb25kaXRpb25zIHN1Y2ggYXMgdXNpbmcgT3B0aU1FTSBmb3IgdHJhbnNmZWN0aW9uLCBncmVhdGx5IGltcHJvdmVkIG91ciBleHBlcmltZW50YWwgZGVzaWduLiBXZSBleHBsb3JlZCB0aGUgcG90ZW50aWFsIGFuZCBpbXBvcnRhbmNlIG9mIGNoaXRvc2FuIGluIGxpcGlkIG5hbm9wYXJ0aWNsZXMsIGxlYXJuZWQgdmFyaW91cyB0ZWNobmlxdWVzIGZvciBjaGFyYWN0ZXJpemluZyBMTlBzLCBhbmQgaW1wbGVtZW50ZWQgZWZmZWN0aXZlIGN1bHRpdmF0aW9uIHRlY2huaXF1ZXMgYW5kIHRpcHMgZm9yIGNlbGwgY3VsdHVyZSwgd2l0aCBhIGZvY3VzIG9uIGNvbnRhbWluYXRpb24gcmlza3MgYW5kIHRoZSB1c2Ugb2YgT3B0aU1FTSBtZWRpdW0uIE92ZXJhbGwsIERyLiBLb2xvbmtvXHUyMDE5cyBndWlkYW5jZSBoYXMgYmVlbiBpbnN0cnVtZW50YWwgaW4gc2hhcGluZyB0aGUgc2FmZXR5IGFuZCBlZmZpY2FjeSBvZiBvdXIgcHJvamVjdC4gPC9wPlxuICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj48Yj5GaWd1cmUgeC48L2I+IENhcHRpb24gPC9maWdjYXB0aW9uPlxuICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgPHA+PHN0cm9uZz5FeHBlcnRpc2UgaW4gbmFub3BhcnRpY2xlIHN0YWJpbGl0eTo8L3N0cm9uZz4gUHJvdmlkZWQgaW52YWx1YWJsZSBpbnNpZ2h0cyB0aGF0IHNpZ25pZmljYW50bHkgcmVmaW5lZCBvdXIgZGVsaXZlcnkgc3lzdGVtLjwvcD5cblxuPHA+PHN0cm9uZz5DaGl0b3NhbiByZWNvbW1lbmRhdGlvbjo8L3N0cm9uZz4gU3VnZ2VzdGVkIHRoZSB1c2Ugb2YgY2hpdG9zYW4gZm9yIGluY3JlYXNlZCBzdGFiaWxpdHkgaW4gbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcyksIGluZmx1ZW5jaW5nIG91ciBmb3JtdWxhdGlvbiBjaG9pY2UgYW5kIGxlYWRpbmcgdG8gZnVydGhlciBpbnZlc3RpZ2F0aW9ucyBpbnRvIGludGVncmF0aW5nIGNoaXRvc2FuIGluIG91ciBMTlAgc3lzdGVtLjwvcD5cblxuPHA+PHN0cm9uZz5DeXRvdG94aWNpdHkgdGVzdGluZyBpbXByb3ZlbWVudHM6PC9zdHJvbmc+IEhlciBndWlkYW5jZSBvbiBjeXRvdG94aWNpdHkgdGVzdGluZywgcGFydGljdWxhcmx5IHRoZSBNVFQgYXNzYXksIGdyZWF0bHkgZW5oYW5jZWQgdGhlIHJlbGlhYmlsaXR5IG9mIG91ciBleHBlcmltZW50cy48L3A+XG5cbjxwPjxzdHJvbmc+T3B0aW1pemVkIHRyYW5zZmVjdGlvbiBjb25kaXRpb25zOjwvc3Ryb25nPiBJbnRyb2R1Y2VkIHVzIHRvIHRoZSB1c2Ugb2YgT3B0aU1FTSBmb3IgdHJhbnNmZWN0aW9uLCBpbXByb3Zpbmcgb3VyIG1lZGl1bSBjb25kaXRpb25zIGFuZCBleHBlcmltZW50YWwgZGVzaWduLjwvcD5cblxuPHA+PHN0cm9uZz5DaGFyYWN0ZXJpemF0aW9uIGFuZCBjdWx0aXZhdGlvbiB0ZWNobmlxdWVzOjwvc3Ryb25nPiBIZWxwZWQgdXMgZXhwbG9yZSB0ZWNobmlxdWVzIGZvciBjaGFyYWN0ZXJpemluZyBMTlBzIGFuZCBpbXBsZW1lbnRpbmcgZWZmZWN0aXZlIGN1bHRpdmF0aW9uIG1ldGhvZHMsIGZvY3VzaW5nIG9uIGNvbnRhbWluYXRpb24gcmlza3MgYW5kIG9wdGltYWwgY2VsbCBjdWx0dXJlIHByYWN0aWNlcy48L3A+XG5cbjxwPjxzdHJvbmc+T3ZlcmFsbCBpbXBhY3Q6PC9zdHJvbmc+IERyLiBLb2xvbmtvJ3MgY29udHJpYnV0aW9ucyB3ZXJlIGluc3RydW1lbnRhbCBpbiBzaGFwaW5nIHRoZSBzYWZldHkgYW5kIGVmZmljYWN5IG9mIG91ciBwcm9qZWN0LCBpbXByb3ZpbmcgYm90aCB0aGUgc3RhYmlsaXR5IG9mIHRoZSBmb3JtdWxhdGlvbiBhbmQgdGhlIHF1YWxpdHkgb2Ygb3VyIGV4cGVyaW1lbnRhbCBwcm9jZXNzZXMuPC9wPlxuXG4gICAgIDwvQ29sbGFwc2libGU+XG4gICAgKSBcbiB9XG5mdW5jdGlvbiBBbmFseXNlUm5oYWxlKCl7XG4gICAgY29uc3Qge2dvVG9QYWdlQW5kU2Nyb2xsfSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgICByZXR1cm4oXG4gICAgIDxDb2xsYXBzaWJsZSB0aXRsZT1cIkRyLiBCZW5qYW1pbiBXaW5rZWxqYW5uIFx1MjAxMyBSTmhhbGUsIEluZHVzdHJ5IEV4cGVydCAmIFJlc2VhcmNoZXIgXCIgaWQ9XCJybmhhbGVhbmFseXNlQ1wiPlxuICAgICAgICAgPHA+RHIuIEJlbmphbWluIFdpbmtlbGphbm4gZnJvbSA8YSBocmVmPVwiaHR0cHM6Ly9ybmhhbGUuY29tL1wiID5SbmhhbGU8L2E+IHByb3ZpZGVkIGNydWNpYWwgdGVjaG5pY2FsIGd1aWRhbmNlIHRoYXQgc2lnbmlmaWNhbnRseSBlbmhhbmNlZCBvdXIgcHJvamVjdC4gSGlzIGV4cGVydGlzZSBpbiBzcHJheS1kcmllZCBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSBhbGxvd2VkIHVzIHRvIGltcHJvdmUgdGhlIHNoZWxmLWxpZmUgYW5kIHNjYWxhYmlsaXR5IG9mIG91ciBmb3JtdWxhdGlvbnMuIFdlIGxlYXJuZWQgYWJvdXQgdGhlIGxpbWl0YXRpb25zIG9mIENGIHRoZXJhcGllcyByZWdhcmRpbmcgaW50ZXJuYXRpb25hbCBhY2Nlc3MsIGNvc3QsIGFuZCBhdmFpbGFiaWxpdHksIHdoaWNoIGhpZ2hsaWdodGVkIHRoZSBuZWVkIGZvciBzdXN0YWluYWJsZSBzb2x1dGlvbnMuIDwvcD5cbiAgICAgICAgPHA+V2UgZGlzY292ZXJlZCB0aGF0IHNwcmF5IGRyeWluZyBpcyBhbiBlZmZlY3RpdmUgbWV0aG9kIGZvciBzdGFiaWxpemluZyBMTlBzLCBlbmFibGluZyB0cmFuc3BvcnQgd2l0aG91dCByZWZyaWdlcmF0aW9uIFx1MjAxNCBhIG1vcmUgZW52aXJvbm1lbnRhbGx5IGZyaWVuZGx5IGFwcHJvYWNoIHRoYXQgcmVkdWNlcyBlbmVyZ3kgY29uc3VtcHRpb24uICA8L3A+XG4gICAgICAgIDxwPk91ciBjbG9zZSBjb2xsYWJvcmF0aW9uIHdpdGggUk5oYWxlIHdpbGwgY29udGludWUgZXZlbiBhZnRlciB0aGUgd2lraSBmcmVlemUsIGZvY3VzaW5nIG9uIHByb2R1Y2luZyBzcHJheS1kcmllZCBMTlBzIGFuZCB0ZXN0aW5nIHRoZW0gb24gb3VyIHByaW1hcnkgY3VsdHVyZXMuIFdlIGFyZSBhbHNvIGludmVzdGlnYXRpbmcgaG93IHRvIGVuaGFuY2UgdGhlIHN0YWJpbGl0eSBvZiBMTlBzLCBwYXJ0aWN1bGFybHkgaW4gcHJvdGVjdGluZyBSTkEgZnJvbSBoZWF0IGRhbWFnZSwgYW5kIGFyZSBzZWVraW5nIGV4cGVydHMgaW4gY2hpdG9zYW4gZm9yIGZ1cnRoZXIgc3VwcG9ydC4gPC9wPlxuICAgICAgICA8cD5EdXJpbmcgZGlzY3Vzc2lvbnMgd2l0aCBhIHlvdW5nIHN0YXJ0dXAgZW50cmVwcmVuZXVyLCB3ZSBleHBsb3JlZCB0aGUgcG9zc2liaWxpdHkgb2YgcHVyc3VpbmcgYW4gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdGdXJ0aGVyIEVuZ2FnZW1lbnQzSCcsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBlbnRyZXBlbmV1c2hpcC1vcmllbnRlZCA8L2E+ICBwcm9qZWN0IGJ1dCB1bHRpbWF0ZWx5IGRlY2lkZWQgdG8gZm9jdXMgb24gYSBodW1hbi1jZW50ZXJlZCBhcHByb2FjaCB0aGF0IHByaW9yaXRpemVzIHRoZSBuZWVkcyBvZiBDRiBwYXRpZW50cyBvdmVyIGNvc3QtZHJpdmVuIGluZHVzdHJpYWwgcGF0aHdheXMuIDwvcD5cbiAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiWm9vbSBDYWxsIGRlbGl2ZXJ5XCIvPlxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlpvb20gY2FsbCBLYWlcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHguPC9iPiBDYXB0aW9uIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgPC9maWd1cmU+XG4gICAgICAgIDxwPjxzdHJvbmc+RXhwZXJ0aXNlIGluIHNwcmF5LWRyaWVkIExOUHM6PC9zdHJvbmc+IFByb3ZpZGVkIGNyaXRpY2FsIHRlY2huaWNhbCBndWlkYW5jZSwgZW5oYW5jaW5nIHRoZSBzaGVsZi1saWZlIGFuZCBzY2FsYWJpbGl0eSBvZiBvdXIgZm9ybXVsYXRpb25zLjwvcD5cblxuPHA+PHN0cm9uZz5TdXN0YWluYWJsZSBzb2x1dGlvbnM6PC9zdHJvbmc+IEhpZ2hsaWdodGVkIHRoZSBsaW1pdGF0aW9ucyBvZiBDRiB0aGVyYXBpZXMgcmVnYXJkaW5nIGludGVybmF0aW9uYWwgYWNjZXNzLCBjb3N0LCBhbmQgYXZhaWxhYmlsaXR5LCBlbXBoYXNpemluZyB0aGUgbmVlZCBmb3Igc3VzdGFpbmFibGUgYWx0ZXJuYXRpdmVzLjwvcD5cblxuPHA+PHN0cm9uZz5TcHJheSBkcnlpbmcgYmVuZWZpdHM6PC9zdHJvbmc+IEludHJvZHVjZWQgdXMgdG8gc3ByYXkgZHJ5aW5nIGFzIGFuIGVmZmVjdGl2ZSBtZXRob2QgZm9yIHN0YWJpbGl6aW5nIExOUHMsIGVuYWJsaW5nIHRyYW5zcG9ydCB3aXRob3V0IHJlZnJpZ2VyYXRpb24gYW5kIHJlZHVjaW5nIGVuZXJneSBjb25zdW1wdGlvblx1MjAxNGFuIGVudmlyb25tZW50YWxseSBmcmllbmRseSBzb2x1dGlvbi48L3A+XG5cbjxwPjxzdHJvbmc+T25nb2luZyBjb2xsYWJvcmF0aW9uOjwvc3Ryb25nPiBDb250aW51ZWQgY29sbGFib3JhdGlvbiB3aXRoIFJOaGFsZSwgZm9jdXNpbmcgb24gcHJvZHVjaW5nIGFuZCB0ZXN0aW5nIHNwcmF5LWRyaWVkIExOUHMgb24gcHJpbWFyeSBjdWx0dXJlcywgd2hpbGUgaW52ZXN0aWdhdGluZyB3YXlzIHRvIGltcHJvdmUgUk5BIHN0YWJpbGl0eSBhbmQgcHJvdGVjdGlvbiBmcm9tIGhlYXQgZGFtYWdlLjwvcD5cblxuPHA+PHN0cm9uZz5FeHBsb3JhdGlvbiBvZiBlbnRyZXByZW5ldXJzaGlwOjwvc3Ryb25nPiBEaXNjdXNzZWQgdGhlIHBvdGVudGlhbCBmb3IgYW4gZW50cmVwcmVuZXVyc2hpcC1vcmllbnRlZCBwcm9qZWN0LCBidXQgdWx0aW1hdGVseSBwcmlvcml0aXplZCBhIGh1bWFuLWNlbnRlcmVkIGFwcHJvYWNoIHRoYXQgZm9jdXNlcyBvbiB0aGUgbmVlZHMgb2YgQ0YgcGF0aWVudHMgb3ZlciBpbmR1c3RyaWFsIGNvc3QtZHJpdmVuIHN0cmF0ZWdpZXMuPC9wPlxuXG4gICAgIDwvQ29sbGFwc2libGU+XG4gICAgKSBcbiB9XG5mdW5jdGlvbiBBbmFseXNlSm9zaHVhKCl7XG4gICAgY29uc3Qge2dvVG9QYWdlc0FuZE9wZW5UYWJ9ID0gdXNlTmF2aWdhdGlvbigpO1xuICAgIGNvbnN0IHtnb1RvUGFnZUFuZFNjcm9sbH0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuKFxuICAgICA8Q29sbGFwc2libGUgdGl0bGU9XCJKb3NodWEgXHUyMDEzIFZpY2UgcHJlc2lkZW50IG9mIENGIFZlc3QgaW50ZXJuYXRpb25hbCwgRmF0aGVyIG9mIGEgQ0YgY2hpbGRcIiBpZD1cImpvc2h1YWFuYWx5c2VDXCI+XG4gICAgICAgIDxwPlRocm91Z2ggZGlzY3Vzc2lvbnMgd2l0aCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiICgnam9zaHVhJywgJy9odW1hbi1wcmFjdGljZXMnKX0+IEpvc2h1YSA8L2E+LCB3ZSBsZWFybmVkIHRoYXQgQ0Ygc3RhdGlzdGljcyBhcmUgaW5hZGVxdWF0ZSwgcHJpbWFyaWx5IHJlcHJlc2VudGluZyB0aGUgd2hpdGUgcG9wdWxhdGlvbiwgd2hpY2ggc2tld3MgdW5kZXJzdGFuZGluZyBvZiB0aGUgZGlzZWFzZSdzIHByZXZhbGVuY2UuIFdlIGRpc2NvdmVyZWQgdGhhdCBpbiBBc2lhbiBjb3VudHJpZXMgbGlrZSBUaGFpbGFuZCwgQ0YgaXMgdW5kZXJyZXByZXNlbnRlZCwgbGVhZGluZyB0byBpbnN1ZmZpY2llbnQgYWNjZXNzIHRvIHRoZXJhcGllcyBhbmQgbWVkaWNhdGlvbnMuIDwvcD5cbiAgICAgICAgPHA+VGhpcyBhd2FyZW5lc3Mgc2hhcnBlbmVkIG91ciBmb2N1cyBvbiB0aGUgbmVlZCBmb3IgaW1wcm92ZWQgc2NpZW5jZSBjb21tdW5pY2F0aW9uIGFuZCBoaWdobGlnaHRlZCB0aGUgb25nb2luZyBpc3N1ZXMgb2YgcmFjaXNtIGFuZCBkaXNjcmltaW5hdGlvbiB3aXRoaW4gc2NpZW50aWZpYyByZXNlYXJjaC4gSW4gcmVzcG9uc2UsIHdlIGFyZSBjb21taXR0ZWQgdG8gZW5oYW5jaW5nIHRoZSBkYXRhIGxhbmRzY2FwZSBpbiBHZXJtYW55IGJ5IGNyZWF0aW5nIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnb3VyLXN1cnZleXMtb24tY3lzdGljLWZpYnJvc2lzLWFuZC1nZW5lLXRoZXJhcHknLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gc3VydmV5cyA8L2E+IGluIGJvdGggR2VybWFuIGFuZCBFbmdsaXNoIHRvIGdhdGhlciBicm9hZGVyIGluc2lnaHRzIGFuZCBpbmNyZWFzZSBvdXRyZWFjaC4gPC9wPlxuICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgIDxpbWcgc3JjPVwibGlua1wiIGFsdD1cIndoYXQgaXMgaW4gdGhlIHBpY1wiLz4gXG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSB4LjwvYj4gIEZPVE8gSW50ZXJ2aWV3XG4gICAgICAgICAgICA8L2ZpZ2NhcHRpb24+IFxuICAgICAgICA8L2ZpZ3VyZT4gXG4gICAgICAgIDxwPjxzdHJvbmc+SW5hZGVxdWF0ZSBDRiBzdGF0aXN0aWNzOjwvc3Ryb25nPiBIaWdobGlnaHRlZCB0aGF0IGN1cnJlbnQgQ0YgZGF0YSBtYWlubHkgcmVwcmVzZW50cyB0aGUgd2hpdGUgcG9wdWxhdGlvbiwgc2tld2luZyB1bmRlcnN0YW5kaW5nIG9mIHRoZSBkaXNlYXNlXHUyMDE5cyB0cnVlIHByZXZhbGVuY2UuPC9wPlxuXG48cD48c3Ryb25nPlVuZGVycmVwcmVzZW50YXRpb24gaW4gQXNpYTo8L3N0cm9uZz4gUmV2ZWFsZWQgdGhhdCBDRiBpcyB1bmRlcnJlcG9ydGVkIGluIEFzaWFuIGNvdW50cmllcyBsaWtlIFRoYWlsYW5kLCBsZWFkaW5nIHRvIGxpbWl0ZWQgYWNjZXNzIHRvIHRoZXJhcGllcyBhbmQgbWVkaWNhdGlvbnMuPC9wPlxuXG48cD48c3Ryb25nPkZvY3VzIG9uIHNjaWVuY2UgY29tbXVuaWNhdGlvbjo8L3N0cm9uZz4gVGhpcyBhd2FyZW5lc3Mgc2hpZnRlZCBvdXIgZm9jdXMgdG8gdGhlIGltcG9ydGFuY2Ugb2YgaW1wcm92aW5nIHNjaWVuY2UgY29tbXVuaWNhdGlvbiB0byBhZGRyZXNzIHRoZXNlIGRpc3Bhcml0aWVzLjwvcD5cblxuPHA+PHN0cm9uZz5SYWNpc20gYW5kIGRpc2NyaW1pbmF0aW9uIGluIHJlc2VhcmNoOjwvc3Ryb25nPiBCcm91Z2h0IGF0dGVudGlvbiB0byB0aGUgb25nb2luZyBpc3N1ZXMgb2YgcmFjaWFsIGJpYXMgYW5kIGRpc2NyaW1pbmF0aW9uIHdpdGhpbiBzY2llbnRpZmljIHJlc2VhcmNoLCBwcm9tcHRpbmcgdXMgdG8gdGFrZSBhY3Rpb24uPC9wPlxuXG48cD48c3Ryb25nPkNvbW1pdG1lbnQgdG8gaW1wcm92ZSBkYXRhIGxhbmRzY2FwZTo8L3N0cm9uZz4gSW4gcmVzcG9uc2UsIHdlIGFyZSBkZXZlbG9waW5nIGJpbGluZ3VhbCAoR2VybWFuIGFuZCBFbmdsaXNoKSBzdXJ2ZXlzIHRvIGdhdGhlciBtb3JlIGluY2x1c2l2ZSBkYXRhIGFuZCBleHBhbmQgb3VyIG91dHJlYWNoIGVmZm9ydHMsIGVuc3VyaW5nIGEgYnJvYWRlciB1bmRlcnN0YW5kaW5nIG9mIENGIHByZXZhbGVuY2UgYW5kIGNhcmUgbmVlZHMuPC9wPlxuXG4gICAgIDwvQ29sbGFwc2libGU+XG4gICAgKSBcbiB9XG5mdW5jdGlvbiBBbmFseXNlV2VzdGhvZmYoKXtcbiAgICBjb25zdCB7Z29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gICByZXR1cm4oXG4gICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiS2F0cmluIFdlc3Rob2ZmIFx1MjAxMyBQaHlzaW90aGVyYXBpc3QgYXQgbG9jYWwgY29tbXVuaXR5IFwiIGlkPVwid2VzdGhvZmZhbmFseXNlQ1wiPlxuICAgICAgICA8cD48YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiICgnd2VzdGhvZmZpbnYnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gS2F0aHJpbiBXZXN0aG9mZiBleHBlcnRpc2UgPC9hPiAgaW4gQ0YgcGh5c2lvdGhlcmFweSByZWluZm9yY2VkIG91ciBhcHByb2FjaCB0byBkZXZlbG9wIGFuIGluaGFsYXRpb24tYmFzZWQgdGhlcmFweSwgZXNwZWNpYWxseSBmb3IgeW91bmcgcGF0aWVudHMuIEhlciBleHBlcmllbmNlIHdpdGggY2hpbGRyZW4gaGlnaGxpZ2h0ZWQgdGhlIG5lZWQgZm9yIGEgc2ltcGxlLCBhY2Nlc3NpYmxlIHRyZWF0bWVudCwgYXMgeW91bmdlciBwYXRpZW50cyBtYXkgc3RydWdnbGUgd2l0aCByZXNwb25zaWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgaW4gdGhlcmFweS4gVGhpcyB2YWxpZGF0ZWQgb3VyIGRlY2lzaW9uIHRvIGZvY3VzIG9uIGluaGFsYXRpb24gZGVsaXZlcnkgZm9yIGVhc2Ugb2YgdXNlLiA8L3A+XG4gICAgICAgIDxwPkFkZGl0aW9uYWxseSwgd2UgcmVjb2duaXplZCB0aHJvdWdoIGhlciBpbnNpZ2h0cyB0aGF0IGdlbmUgdGhlcmFweSwgd2hpbGUgaW1wYWN0ZnVsLCBpcyBub3QgYSBjb21wbGV0ZSBzb2x1dGlvbi4gUGh5c2lvdGhlcmFweSByZW1haW5zIGNydWNpYWwgaW4gQ0YgY2FyZSwgYW5kIG91ciBhcHByb2FjaCBub3cgaW50ZWdyYXRlcyB0aGlzIHVuZGVyc3RhbmRpbmcgaW50byBhIG1vcmUgaG9saXN0aWMgdHJlYXRtZW50IHBsYW4uIDwvcD5cbiAgICAgICAgPGRpdj48aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9iZXN1Y2gtd2VzdGhvZmYvbWF0dGUud2VicFwiIC8+PC9kaXY+XG4gICAgICAgIDxwPjxzdHJvbmc+RXhwZXJ0aXNlIGluIENGIHBoeXNpb3RoZXJhcHk6PC9zdHJvbmc+IFJlaW5mb3JjZWQgdGhlIGltcG9ydGFuY2Ugb2YgZGV2ZWxvcGluZyBhbiBpbmhhbGF0aW9uLWJhc2VkIHRoZXJhcHksIGVzcGVjaWFsbHkgZm9yIHlvdW5nIENGIHBhdGllbnRzLjwvcD5cblxuPHA+PHN0cm9uZz5Gb2N1cyBvbiBhY2Nlc3NpYmlsaXR5Ojwvc3Ryb25nPiBIZXIgZXhwZXJpZW5jZSB3aXRoIGNoaWxkcmVuIGhpZ2hsaWdodGVkIHRoZSBuZWVkIGZvciBhIHNpbXBsZSwgZWFzeS10by11c2UgdHJlYXRtZW50LCB2YWxpZGF0aW5nIG91ciBkZWNpc2lvbiB0byBmb2N1cyBvbiBpbmhhbGF0aW9uIGRlbGl2ZXJ5LjwvcD5cblxuPHA+PHN0cm9uZz5UaGVyYXB5IGFkaGVyZW5jZTo8L3N0cm9uZz4gQWRkcmVzc2VkIHRoZSBjaGFsbGVuZ2VzIHlvdW5nZXIgcGF0aWVudHMgZmFjZSB3aXRoIHJlc3BvbnNpYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBpbiB0aGVyYXB5LCBpbmZsdWVuY2luZyBvdXIgZGVzaWduIGZvciBhIG1vcmUgYWNjZXNzaWJsZSBzb2x1dGlvbi48L3A+XG5cbjxwPjxzdHJvbmc+R2VuZSB0aGVyYXB5IGxpbWl0YXRpb25zOjwvc3Ryb25nPiBIZXIgaW5zaWdodHMgaGVscGVkIHVzIHJlYWxpemUgdGhhdCB3aGlsZSBnZW5lIHRoZXJhcHkgaXMgaW1wYWN0ZnVsLCBpdCBhbG9uZSBpcyBub3QgZW5vdWdoLjwvcD5cblxuPHA+PHN0cm9uZz5Ib2xpc3RpYyBhcHByb2FjaDo8L3N0cm9uZz4gSW50ZWdyYXRlZCBwaHlzaW90aGVyYXB5IGludG8gb3VyIHRyZWF0bWVudCBwbGFuLCBlbnN1cmluZyBhIG1vcmUgY29tcHJlaGVuc2l2ZSBhbmQgcGF0aWVudC1jZW50ZXJlZCBhcHByb2FjaCB0byBDRiBjYXJlLjwvcD5cblxuICAgIDwvQ29sbGFwc2libGU+XG4gICApIFxufVxuZnVuY3Rpb24gQWFseXNlT2xhcml1KCl7XG4gICAgY29uc3Qge2dvVG9QYWdlc0FuZE9wZW5UYWJ9ID0gdXNlTmF2aWdhdGlvbigpO1xuICAgcmV0dXJuKFxuICAgIDxDb2xsYXBzaWJsZSB0aXRsZT1cIlByb2YuIERyLiBPbGFyaXUgXHUyMDEzIFBoeXNpY2lhbiBhbmQgQ2xpbmljYWwgQ0YgRXhwZXJ0IFwiIGlkPVwib2xhcml1YW5hbHlzZUNcIj5cbiAgICAgICAgPHA+UHJvZi4gT2xhcmlvdSdzIGNsaW5pY2FsIGluc2lnaHRzIHNoYXBlZCBvdXIgcHJvamVjdCBieSBlbXBoYXNpemluZyB0aGUgY29tcGxleGl0aWVzIG9mIENGIHRyZWF0bWVudCBhbmQgdGhlIGVtb3Rpb25hbCBidXJkZW4gb24gcGF0aWVudHMgYW5kIGZhbWlsaWVzLiBIaXMgZm9jdXMgb24gZWFybHkgZGlhZ25vc2lzLCBpbmZlY3Rpb24gcmlza3MsIGFuZCBwc3ljaG9zb2NpYWwgaW1wYWN0cyBsZWQgdXMgdG8gZGVzaWduIGEgc29sdXRpb24gdGhhdCByZWR1Y2VzIHRoZSBsb25nLXRlcm0gY2FyZSBidXJkZW48L3A+XG4gICAgICAgIDxwPkZvbGxvd2luZyBoaXMgYWR2aWNlLCB3ZSBjb25zdWx0ZWQgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYiAoJ3BzeWNob2wnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gcHN5Y2hvbG9naXN0cyA8L2E+IHRvIGludGVncmF0ZSBtZW50YWwgaGVhbHRoIGNvbnNpZGVyYXRpb25zIGFuZCB0YWlsb3JlZCBvdXIgdGhlcmFweSB0byBhZGRyZXNzIGRpZmZlcmVudCBkaXNlYXNlIHNldmVyaXRpZXMuIFByb2YuIE9sYXJpdSBhbHNvIGhpZ2hsaWdodGVkIHJhY2lhbCBhbmQgZ2xvYmFsIGRpc3Bhcml0aWVzIGluIENGIGNhcmUsIHByb21wdGluZyB1cyB0byBleHBsb3JlIHRoZXNlIGlzc3VlcyB0aHJvdWdoIGZ1cnRoZXIgcmVzZWFyY2ggYW5kIGludGVydmlld3MuIDwvcD5cbiAgICAgICAgPGRpdj48aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2ludGVncmF0ZWQtaHVtYW4tcHJhY3RpY2VzL29uLW91ci13YXktdG8taW50ZXJ2aWV3LXBzeWNob2xvZ2lzdHMud2VicFwiIGFsdD1cIlwiLz48L2Rpdj5cbiAgICAgICAgPHA+SGlzIGd1aWRhbmNlIG9uIGJhbGFuY2luZyB0cmVhdG1lbnQgZWZmZWN0aXZlbmVzcyB3aXRoIGNvc3QgYW5kIG92ZXJtZWRpY2F0aW9uIGNvbmNlcm5zIGVuc3VyZWQgb3VyIHByb2plY3QgcmVtYWluZWQgcGF0aWVudC1jZW50ZXJlZCBhbmQgcHJhY3RpY2FsLiBXZSBhbHNvIGV4cGFuZGVkIG91ciBvdXRyZWFjaCBlZmZvcnRzLCByYWlzaW5nIENGIGF3YXJlbmVzcyBhbmQgY29sbGVjdGluZyBwdWJsaWMgZGF0YSB0byBhbGlnbiBvdXIgcHJvamVjdCB3aXRoIGNvbW11bml0eSBuZWVkcy4gPC9wPlxuICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgIDxpbWcgc3JjPVwibGlua1wiIGFsdD1cIndoYXQgaXMgaW4gdGhlIHBpY1wiLz4gXG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSB4LjwvYj4gIFZpZGVvIEludGVydmlldyBcbiAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgIDwvZmlndXJlPiBcbiAgICAgICAgPHA+PHN0cm9uZz5Db21wbGV4aXRpZXMgb2YgQ0YgdHJlYXRtZW50Ojwvc3Ryb25nPiBFbXBoYXNpemVkIHRoZSBtdWx0aWZhY2V0ZWQgbmF0dXJlIG9mIENGIGNhcmUsIGluY2x1ZGluZyB0aGUgZW1vdGlvbmFsIGJ1cmRlbiBvbiBwYXRpZW50cyBhbmQgZmFtaWxpZXMuPC9wPlxuXG48cD48c3Ryb25nPkVhcmx5IGRpYWdub3NpcyAmIGluZmVjdGlvbiByaXNrczo8L3N0cm9uZz4gRm9jdXNlZCBvbiB0aGUgaW1wb3J0YW5jZSBvZiBlYXJseSBkZXRlY3Rpb24gYW5kIG1hbmFnaW5nIGluZmVjdGlvbiByaXNrcywgd2hpY2ggc2hhcGVkIG91ciBzb2x1dGlvbiB0byByZWR1Y2UgdGhlIGxvbmctdGVybSBjYXJlIGJ1cmRlbi48L3A+XG5cbjxwPjxzdHJvbmc+TWVudGFsIGhlYWx0aCBpbnRlZ3JhdGlvbjo8L3N0cm9uZz4gUmVjb21tZW5kZWQgY29uc3VsdGluZyBwc3ljaG9sb2dpc3RzLCBsZWFkaW5nIHVzIHRvIGluY29ycG9yYXRlIG1lbnRhbCBoZWFsdGggY29uc2lkZXJhdGlvbnMgaW4gb3VyIHRoZXJhcHkgYW5kIGRlc2lnbiBpdCB0byBhZGRyZXNzIHZhcnlpbmcgZGlzZWFzZSBzZXZlcml0aWVzLjwvcD5cblxuPHA+PHN0cm9uZz5SYWNpYWwgYW5kIGdsb2JhbCBkaXNwYXJpdGllczo8L3N0cm9uZz4gSGlnaGxpZ2h0ZWQgaW5lcXVpdGllcyBpbiBDRiBjYXJlIGFjcm9zcyBkaWZmZXJlbnQgcG9wdWxhdGlvbnMsIHByb21wdGluZyB1cyB0byBleHBsb3JlIHRoZXNlIGlzc3VlcyB0aHJvdWdoIGZ1cnRoZXIgcmVzZWFyY2ggYW5kIGludGVydmlld3MuPC9wPlxuXG48cD48c3Ryb25nPkJhbGFuY2UgYmV0d2VlbiBlZmZlY3RpdmVuZXNzLCBjb3N0LCBhbmQgb3Zlcm1lZGljYXRpb246PC9zdHJvbmc+IEd1aWRlZCB1cyBpbiBjcmVhdGluZyBhIHRyZWF0bWVudCB0aGF0IGJhbGFuY2VzIGVmZmljYWN5IHdpdGggcHJhY3RpY2FsIGNvbnNpZGVyYXRpb25zIGxpa2UgY29zdCBhbmQgYXZvaWRpbmcgb3Zlcm1lZGljYXRpb24uPC9wPlxuXG48cD48c3Ryb25nPlBhdGllbnQtY2VudGVyZWQgZm9jdXM6PC9zdHJvbmc+IEhpcyBmZWVkYmFjayBlbnN1cmVkIHRoYXQgb3VyIHByb2plY3QgcmVtYWluZWQgZ3JvdW5kZWQgaW4gcmVhbC13b3JsZCBwYXRpZW50IG5lZWRzLCBtYWtpbmcgaXQgYm90aCBwcmFjdGljYWwgYW5kIGFjY2Vzc2libGUuPC9wPlxuXG48cD48c3Ryb25nPkV4cGFuZGVkIG91dHJlYWNoIGVmZm9ydHM6PC9zdHJvbmc+IEVuY291cmFnZWQgdXMgdG8gcmFpc2UgYXdhcmVuZXNzIGFuZCBjb2xsZWN0IHB1YmxpYyBkYXRhLCBoZWxwaW5nIGFsaWduIG91ciBwcm9qZWN0IHdpdGggdGhlIGJyb2FkZXIgQ0YgY29tbXVuaXR5XHUyMDE5cyBuZWVkcy48L3A+XG5cbiAgICA8L0NvbGxhcHNpYmxlPlxuICAgKSBcbn1cblxuZnVuY3Rpb24gQW5hbHlzZU1heCgpe1xuICAgIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgICByZXR1cm4oXG4gICAgICAgIDxDb2xsYXBzaWJsZSB0aXRsZT1cIk1heCBCZWNrbWFubiBcdTIwMTMgQ0YgUGF0aWVudCBhbmQgZmVsbG93IHN0dWRlbnRcIiBpZD1cIm1heGFuYWx5c2VDXCI+XG4gICAgICAgICAgICA8cD5NYXgncyBpbnB1dCBhcyBhIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHBhdGllbnQgZGlyZWN0bHkgaW5mbHVlbmNlZCBzZXZlcmFsIGtleSBhc3BlY3RzIG9mIG91ciBwcm9qZWN0LiBBZnRlciBsZWFybmluZyBhYm91dCB0aGUgZGFpbHkgY2hhbGxlbmdlcyBvZiBsaXZpbmcgd2l0aCBDRiwgd2UgYWRhcHRlZCBvdXIgZ2VuZSB0aGVyYXB5IGFwcHJvYWNoIHRvIHRhcmdldCB0aGUgbHVuZ3MsIGFsaWduaW5nIG91ciB0cmVhdG1lbnQgd2l0aCBwYXRpZW50IG5lZWRzLiBIaXMgaW5zaWdodHMgb24gdGhlIHNob3J0Y29taW5ncyBvZiBleGlzdGluZyB0aGVyYXBpZXMgc3RyZW5ndGhlbmVkIG91ciBmb2N1cyBvbiBkZXZlbG9waW5nIGEgbW9yZSBlZmZlY3RpdmUgc29sdXRpb24uPC9wPlxuICAgICAgICAgICAgPHA+Rm9sbG93aW5nIE1heCdzIGZlZWRiYWNrLCB3ZSBpbXBsZW1lbnRlZCBjaGFuZ2VzIHRvIG91ciA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiICgnUGF0aWVudCBNYXR0ZXJzSCcsICcvY29udHJpYnV0aW9uJyl9PiBoeWdpZW5lIHBsYW48L2E+LCBlbnN1cmluZyBpdCBtZWV0cyB0aGUgbmVlZHMgb2YgaW1tdW5vY29tcHJvbWlzZWQgaW5kaXZpZHVhbHMgd2hpY2ggd2UgbGF0ZXIgcHJlc2VudGVkIHRvIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIgKCdqb2hhbm5mdW5rZScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBNci4gSm9oYW5uZnVua2U8L2E+LCBjb250YWN0IHBlcnNvbiBmb3Igc3R1ZGVudHMgd2l0aCBkaXNhYmlsaXRpZXMgYW5kIGltcGFpcm1lbnRzIGF0IHRoZSB1bml2ZXJzaXR5IG9mIGJpZWxlZmVsZCwgYW5kIGNoZWNrZWQgaXRzIGZlYXNpYmlsaXR5LiBNYXhcdTIwMTlzIHBlcnNwZWN0aXZlIGFsc28gc2hhcGVkIHRoZSBjb250ZW50IG9mIG91ciBvdXRyZWFjaCBtYXRlcmlhbHMsIGhlbHBpbmcgdXMgcG9ydHJheSBDRiBpbiBhIG1vcmUgcmVhbGlzdGljIGFuZCByZXNwZWN0ZnVsIHdheSBkdXJpbmcgdGhlIHdob2xlIHByb2plY3QuIDwvcD5cbiAgICAgICAgICAgIDxwPkFkZGl0aW9uYWxseSwgTWF4IGNvbnRyaWJ1dGVkIHRvIHRoZSBwcm9qZWN0IGJ5IGRvbmF0aW5nIGNlbGxzIGZvciBvdXIgZXhwZXJpbWVudHMsIHdoaWNoIGFsbG93ZWQgdXMgdG8gdGVzdCBvdXIgbW9kZWwgc3lzdGVtcyBlZmZlY3RpdmVseS4gT3VyIG9uZ29pbmcgY29tbXVuaWNhdGlvbiB3aXRoIGhpbSBoYXMgZW5zdXJlZCB0aGF0IHdlIHN0YXkgcGF0aWVudC1mb2N1c2VkIHRocm91Z2hvdXQsIGNvbnRpbnVhbGx5IHJlZmluaW5nIG91ciBhcHByb2FjaCBiYXNlZCBvbiBoaXMgZXhwZXJpZW5jZXMuIDwvcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+IFxuICAgIFx0ICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPiBcbiAgICAgICAgICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwibGlua1wiIGFsdD1cIndoYXQgaXMgaW4gdGhlIHBpY1wiLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSB4LiA8L2I+ICBaZWxsc3BlbmRlIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+IFxuICAgIFx0ICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gIFxuICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwibGlua1wiIGFsdD1cIndoYXQgaXMgaW4gdGhlIHBpY1wiLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSB4LiA8L2I+ICBWaWRlbyBpZiBBTElzIGFuZCBPcmdhbm9pZHNcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPiBcbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImxpbmtcIiBhbHQ9XCJ3aGF0IGlzIGluIHRoZSBwaWNcIi8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgeC4gPC9iPiAgSW50ZXJ2aWV3IE1heFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+IFxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxwPjxzdHJvbmc+SW52YWx1YWJsZSBmaXJzdC1oYW5kIGluc2lnaHRzOjwvc3Ryb25nPiBQcm92aWRlZCBkaXJlY3QgZXhwZXJpZW5jZSBvZiBsaXZpbmcgd2l0aCBDRiwgc2hhcGluZyBvdXIgcHJvamVjdC48L3A+XG5cbjxwPjxzdHJvbmc+SHlnaWVuZSBhbmQgbWVkaWNhbCBuZWVkczo8L3N0cm9uZz4gSGlnaGxpZ2h0ZWQgdGhlIGltcG9ydGFuY2Ugb2YgY29uc3RhbnQgaHlnaWVuZSwgZnJlcXVlbnQgbWVkaWNhbCBjaGVja3VwcywgYW5kIHRoZSB2YXJpYWJpbGl0eSBpbiBDRiBzeW1wdG9tcy48L3A+XG5cbjxwPjxzdHJvbmc+TmVlZCBmb3IgZmxleGlibGUgc29sdXRpb25zOjwvc3Ryb25nPiBTdHJlc3NlZCB0aGUgbmVlZCBmb3IgcGF0aWVudC1jZW50ZXJlZCwgYWRhcHRhYmxlIHRoZXJhcGllcy48L3A+XG5cbjxwPjxzdHJvbmc+R2VuZSB0aGVyYXB5IGZvY3VzOjwvc3Ryb25nPiBTdXBwb3J0ZWQgb3VyIGZvY3VzIG9uIGdlbmUgdGhlcmFweSB0YXJnZXRpbmcgdGhlIGx1bmdzIGR1ZSB0byBjdXJyZW50IHRyZWF0bWVudCBpbmFkZXF1YWNpZXMuPC9wPlxuXG48cD48c3Ryb25nPk91dHJlYWNoIGluZmx1ZW5jZTo8L3N0cm9uZz4gQ29udGludWFsbHkgcHJvdmlkZWQgZmVlZGJhY2sgb24gaG93IENGIGlzIHBvcnRyYXllZCBpbiBvdXRyZWFjaCBtYXRlcmlhbHMsIGluZmx1ZW5jaW5nIG91ciBoeWdpZW5lIHBsYW4gYW5kIHByZXNlbnRhdGlvbiB2aWRlby48L3A+XG5cbjxwPjxzdHJvbmc+RGVlcGVuZWQgZW1vdGlvbmFsIHVuZGVyc3RhbmRpbmc6PC9zdHJvbmc+IEhlbHBlZCB1cyBkZXZlbG9wIGVtb3Rpb25hbCBpbnRlbGxpZ2VuY2UgcmVnYXJkaW5nIHRoZSBidXJkZW5zIENGIHBhdGllbnRzIGZhY2UsIGVuaGFuY2luZyBvdXIgc2NpZW5jZSBjb21tdW5pY2F0aW9uIGVmZm9ydHMuPC9wPlxuXG48cD48c3Ryb25nPlRoZXJhcHkgYWxpZ25tZW50Ojwvc3Ryb25nPiBHdWlkZWQgdXMgaW4gZm9jdXNpbmcgb3VyIHRoZXJhcHkgb24gc3BlY2lmaWMgQ0YgbXV0YXRpb25zLCBlbnN1cmluZyBhIGh1bWFuLWNlbnRlcmVkIGFwcHJvYWNoLjwvcD5cblxuPHA+PHN0cm9uZz5Db21tdW5pdHkgYWNjZXNzOjwvc3Ryb25nPiBQcm92aWRlZCBhY2Nlc3MgdG8gdmFyaW91cyBDRiBjb21tdW5pdGllcywgaW5mbHVlbmNpbmcgdGhlIGRpcmVjdGlvbiBvZiBvdXIgcHJvamVjdC48L3A+XG5cbjxwPjxzdHJvbmc+Q2VsbCBkb25hdGlvbjo8L3N0cm9uZz4gRG9uYXRlZCBjZWxscyBmb3IgY3J1Y2lhbCBtb2RlbCBleHBlcmltZW50czsgd2Ugc3VjY2Vzc2Z1bGx5IGN1bHR1cmVkIHRoZXNlIGNlbGxzIGZvciB0ZXN0aW5nLjwvcD5cblxuPHA+PHN0cm9uZz5PbmdvaW5nIGNvbGxhYm9yYXRpb246PC9zdHJvbmc+IFJlZ3VsYXIgZmVlZGJhY2ssIGluY2x1ZGluZyBvbiBhc3BlY3RzIGxpa2UgaHlnaWVuZSBwcm90b2NvbHMsIGVuc3VyaW5nIHRoZSBwcm9qZWN0IHJlbWFpbnMgZ3JvdW5kZWQgaW4gcmVhbC13b3JsZCBwYXRpZW50IG5lZWRzLjwvcD5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgIClcbn0iLCAiXG5pbXBvcnQgKiBhcyBHcmFwaCBmcm9tICcuLi8uLi9jb21wb25lbnRzL0dyYXBoJztcbmltcG9ydCB7IEg0LCBINSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvSGVhZGluZ3MnO1xuaW1wb3J0IHsgQ29sbGFwc2libGUgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9Db2xsYXBzaWJsZVwiO1xuaW1wb3J0IFByZUN5c2UgZnJvbSAnLi4vLi4vY29tcG9uZW50cy9wcmVjeXNlJztcbmltcG9ydCB7IEhQY29uVGFicyB9IGZyb20gJy4vQ29uY2xpc3Vpbic7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gSFBGZWVkYmFjaygpe1xuICAgIGNvbnN0IHtnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpOyBcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8cD5UaHJvdWdoIG91ciBwcm9qZWN0LCB0aGUgaW5zaWdodHMgYW5kIGZlZWRiYWNrIGZyb20gdmFyaW91cyBzdGFrZWhvbGRlcnMgYW5kIGV4cGVydHMgcGxheWVkIGEgY3J1Y2lhbCByb2xlIGluIHNoYXBpbmcgYW5kIHJlZmluaW5nIG91ciBhcHByb2FjaC4gV2UgYWN0aXZlbHkgaW50ZWdyYXRlZCB0aGVpciBpbnB1dCBpbnRvIHRoZSBkZXNpZ24sIGV4ZWN1dGlvbiwgYW5kIHB1YmxpYyBlbmdhZ2VtZW50IGFzcGVjdHMgb2Ygb3VyIHdvcmssIGVuc3VyaW5nIGEgaHVtYW4tY2VudGVyZWQsIHNjaWVudGlmaWNhbGx5IHNvdW5kIHNvbHV0aW9uLiBCZWxvdywgd2UgaGlnaGxpZ2h0IGtleSBjb250cmlidXRvcnMgYW5kIGhvdyB0aGVpciBmZWVkYmFjayBpbXBhY3RlZCB0aGUgcHJvamVjdCdzIGRldmVsb3BtZW50IGFjcm9zcyBtdWx0aXBsZSBwaGFzZXMuIDwvcD5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPEg0IHRleHQ9XCJPdXIgc3VydmV5cyBvbiBjeXN0aWMgZmlicm9zaXMgYW5kIGdlbmUgdGhlcmFweVwiPjwvSDQ+XG4gICAgICAgICAgICA8cD5Gcm9tIG91ciBvdXRyZWFjaCBlZmZvcnRzLCB3ZSBsZWFybmVkIHRoYXQgbWFueSBwZW9wbGUgbGFjayBrbm93bGVkZ2UgYWJvdXQgY3lzdGljIGZpYnJvc2lzIGFuZCBkZXNpcmUgbW9yZSBlZHVjYXRpb24gb24gdGhlIHN1YmplY3QuIFRoZSBzYW1lIGFwcGxpZXMgdG8gZ2VuZSB0aGVyYXB5LCB3aXRoIG1vc3QgaW5kaXZpZHVhbHMgZXhwcmVzc2luZyBvcGVubmVzcyB0byB0cmVhdG1lbnQgb3B0aW9ucywgd2hpY2ggcmVpbmZvcmNlcyBvdXIgY29tbWl0bWVudCB0byBwdXJzdWluZyB0aGlzIGFwcHJvYWNoLiA8L3A+XG4gICAgICAgICAgICA8cD5Ib3dldmVyLCB3ZSByZWNvZ25pemUgdGhlIGltcG9ydGFuY2Ugb2YgaGFuZGxpbmcgdGhlIHB1YmxpYydzIHRydXN0IGFuZCBsYWNrIG9mIGtub3dsZWRnZSByZXNwb25zaWJseS4gV2UgYWltIHRvIGVkdWNhdGUgdGhlIGNvbW11bml0eSBhYm91dCBzYWZldHkgYW5kIGV0aGljYWwgY29uc2lkZXJhdGlvbnMgc3Vycm91bmRpbmcgZ2VuZSB0aGVyYXB5LiA8L3A+XG4gICAgICAgICAgICA8cD5JbiByZXNwb25zZSwgd2UgaGF2ZSBkZWNpZGVkIHRvIGltcGxlbWVudCBmZWVkYmFjayBieSBjcmVhdGluZyBpbmZvcm1hdGl2ZSBtYXRlcmlhbHMgc3VjaCBhcyBmbHllcnMgYW5kIHV0aWxpemluZyBwbGF0Zm9ybXMgbGlrZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3RhYklkOiAnbXVrb21vdmUnLCBzY3JvbGxUb0lkOiBcImNmLW1vbnRoXCIgLCBwYXRoOiAnL2h1bWFuLXByYWN0aWNlcyd9KX0+bXVrb01PVkU8L2E+LCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3RhYklkOiAndGV1dG9ydWZ0Jywgc2Nyb2xsVG9JZDogXCJ0ZXVyb3J1ZnQtaGVhZGluZ1wiICwgcGF0aDogJy9odW1hbi1wcmFjdGljZXMnfSl9Plx1MjAxRFRldXRvIHJ1ZnQhXHUyMDFEPC9hPiwgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHt0YWJJZDogJ2FrYWRlbWllJywgc2Nyb2xsVG9JZDogXCJzdHVkZW50LWFjYWRlbXktaGVhZGluZ1wiICwgcGF0aDogJy9odW1hbi1wcmFjdGljZXMnfSl9PlNjaFx1MDBGQ2xlcklubmVuYWthZGVtaWU8L2E+LCBhbmQgPGEgaHJlZj0naHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9pZ2VtLmJpZWxlZmVsZC8/aGw9ZGUnPnNvY2lhbCBtZWRpYTwvYT4gdG8gcmFpc2UgYXdhcmVuZXNzIGFuZCBwcm92aWRlIGVkdWNhdGlvbi4gPC9wPlxuICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHguPC9iPiBDYXB0aW9uIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHguPC9iPiBDYXB0aW9uIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHguPC9iPiBDYXB0aW9uIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPHA+PHN0cm9uZz5MYWNrIG9mIGtub3dsZWRnZSBhYm91dCBDRjo8L3N0cm9uZz4gTWFueSBwZW9wbGUgYXJlIHVuZmFtaWxpYXIgd2l0aCBjeXN0aWMgZmlicm9zaXMgYW5kIGV4cHJlc3NlZCBhIG5lZWQgZm9yIG1vcmUgZWR1Y2F0aW9uIG9uIHRoZSBzdWJqZWN0LjwvcD5cblxuPHA+PHN0cm9uZz5HZW5lIHRoZXJhcHkgb3Blbm5lc3M6PC9zdHJvbmc+IE1vc3QgaW5kaXZpZHVhbHMgc2hvd2VkIG9wZW5uZXNzIHRvIGdlbmUgdGhlcmFweSB0cmVhdG1lbnRzLCByZWluZm9yY2luZyBvdXIgY29tbWl0bWVudCB0byBwdXJzdWluZyB0aGlzIHRoZXJhcGV1dGljIGFwcHJvYWNoLjwvcD5cblxuPHA+PHN0cm9uZz5CdWlsZGluZyBwdWJsaWMgdHJ1c3Q6PC9zdHJvbmc+IFJlY29nbml6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgaGFuZGxpbmcgdGhlIHB1YmxpYydzIHRydXN0IGFuZCBhZGRyZXNzaW5nIHRoZSBrbm93bGVkZ2UgZ2FwIGFib3V0IGdlbmUgdGhlcmFweSBpbiBhIHJlc3BvbnNpYmxlIGFuZCB0cmFuc3BhcmVudCBtYW5uZXIuPC9wPlxuXG48cD48c3Ryb25nPkVkdWNhdGlvbiBhbmQgZXRoaWNhbCBjb25zaWRlcmF0aW9uczo8L3N0cm9uZz4gQ29tbWl0dGVkIHRvIGVkdWNhdGluZyB0aGUgcHVibGljIG9uIHNhZmV0eSBhbmQgZXRoaWNhbCBhc3BlY3RzIG9mIGdlbmUgdGhlcmFweSB0byBmb3N0ZXIgdW5kZXJzdGFuZGluZyBhbmQgdHJ1c3QuPC9wPlxuXG48cD48c3Ryb25nPkltcGxlbWVudGF0aW9uIG9mIGZlZWRiYWNrOjwvc3Ryb25nPiBDcmVhdGVkIGluZm9ybWF0aXZlIG1hdGVyaWFscyAoZmx5ZXJzKSBhbmQgZXhwYW5kZWQgb3V0cmVhY2ggdGhyb3VnaCBwbGF0Zm9ybXMgbGlrZSBNdWtvIE1vdmUsIFRldXRvIHJ1ZnQsIFNjaFx1MDBGQ2xlcklubmVuYWthZGVtaWUsIGFuZCBzb2NpYWwgbWVkaWEgdG8gaW5jcmVhc2UgYXdhcmVuZXNzIGFuZCBwcm92aWRlIGVkdWNhdGlvbi48L3A+XG5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwiY29sbGFwc2libGUxXCIgb3Blbj17ZmFsc2V9IHRpdGxlPVwiRnVsbCByZXN1bHRzIG9mIG91ciBzdXJ2ZXlzXCI+XG4gICAgICAgICAgICAgICAgPHA+IFdlIGFyZSBwcm91ZCBvZiBvdXIgc3VydmV5cyBvbiBnZW5lIHRoZXJhcHkgYW5kIGN5c3RpYyBmaWJyb3NpcyAoQ0YpLCB3aGljaCBleHBsb3JlIGtub3dsZWRnZSBhYm91dCB0aGUgZGlzZWFzZSBhbmQgd2lsbGluZ25lc3MgdG8gZW1icmFjZSBnZW5lIFxuICAgICAgICAgICAgICAgICAgICB0aGVyYXB5IGFzIGEgcG90ZW50aWFsIHRyZWF0bWVudC4gU2luY2Ugd2Ugd2FudGVkIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB0aGUgZ2VuZXJhbCBwdWJsaWMgYW5kIGFmZmVjdGVkIENGIHBhdGllbnRzLCB3ZSBjcmVhdGVkIHR3byBkaWZmZXJlbnQgXG4gICAgICAgICAgICAgICAgICAgIHN1cnZleXMuIDE4NyBwZW9wbGUgcGFydGlwaXBhdGVkIGluIHRoZSBzdXJ2ZXkgZm9yIHRoZSBnZW5lcmFsIHB1YmxpYyBhbmQgMTg1IHBlb3BsZSBwYXJ0aWNpcGF0ZWQgaW4gdGhlIHN1cnZleSBmb3IgcGF0aWVudHMgYW5kIG5leHQgb2Yga2luLjwvcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgZ3JhcGhzJyA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEdyYXBoLkhvd09mdGVuVHJlYXRtZW50YXRpZW50cy8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEdyYXBoLk9wZW5Ub0dlbmVUaGVyYXB5YXRpZW50cy8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEdyYXBoLk1vcmVJbmZvT25UaGVyYXB5Qm90aC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPHA+VGhlIG1ham9yaXR5IG9mIHJlc3BvbmRlbnRzICg2Mi43MCUpIGluZGljYXRlZCB0aGF0IHRoZXkgb3IgdGhlaXIgcmVsYXRpdmUgcmVxdWlyZSBtZWRpY2FsIHRyZWF0bWVudCBvciB0aGVyYXB5IGRhaWx5LiBXZWVrbHkgdHJlYXRtZW50IHdhcyBuZWNlc3NhcnkgZm9yIDE0LjU5JSwgd2hpbGUgOS43MyUgbmVlZGVkIHRoZXJhcHkgc2V2ZXJhbCB0aW1lcyBwZXIgd2Vlay4gT25seSA2LjQ5JSByZXBvcnRlZCBuZWVkaW5nIHRyZWF0bWVudCBlaXRoZXIgbW9udGhseSBvciByYXJlbHkuIFRoZSBoaWdoIGZyZXF1ZW5jeSBvZiBkYWlseSB0cmVhdG1lbnRzIGhpZ2hsaWdodHMgdGhlIGhlYXZ5IGJ1cmRlbiBvZiBtYW5hZ2luZyBjeXN0aWMgZmlicm9zaXMgYW5kIHJlaW5mb3JjZXMgdGhlIHBvdGVudGlhbCBhcHBlYWwgb2YgZ2VuZSB0aGVyYXB5LCB3aGljaCBjb3VsZCByZWR1Y2UgdGhlIG5lZWQgZm9yIGNvbnN0YW50IG1lZGljYWwgaW50ZXJ2ZW50aW9uLiA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gICAgXG4gICAgICAgICAgICAgICAgICAgIDxwPkEgc2lnbmlmaWNhbnQgbWFqb3JpdHksIDc4LjcyJSwgaW5kaWNhdGVkIHRoYXQgdGhleSB3b3VsZCBiZSBvcGVuIHRvIGdlbmUgdGhlcmFweSBpZiBpdCBzaWduaWZpY2FudGx5IGltcHJvdmVkIHN5bXB0b21zLCB3aGlsZSBvbmx5IDEuNDIlIHNhaWQgbm8uIFRoaXMgb3ZlcndoZWxtaW5nIHN1cHBvcnQgYWxpZ25zIHdpdGggdGhlIGhvcGUgcGF0aWVudHMgaGF2ZSBmb3IgbGVzcyBpbnZhc2l2ZSBhbmQgbW9yZSBlZmZlY3RpdmUgdHJlYXRtZW50cy4gVGhpcyBhbHNvIHJlZmxlY3RzIHRoZSBwb3NzaWJpbGl0eSBvZiBnZW5lIHRoZXJhcHkgYmVjb21pbmcgYSBjZW50cmFsIHRyZWF0bWVudCBtZXRob2QsIGVzcGVjaWFsbHkgZ2l2ZW4gdGhlIGhlYXZ5IHRoZXJhcGV1dGljIGxvYWQgQ0YgcGF0aWVudHMgYWxyZWFkeSBjYXJyeS48L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gXG4gICAgICAgICAgICAgICAgICAgIDxwPkEgdmFzdCBtYWpvcml0eSwgOTMuNDglLCBleHByZXNzZWQgaW50ZXJlc3QgaW4gbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBnZW5lIHRoZXJhcHkuIFRoaXMgbWlycm9ycyB0aGUgZ2VuZXJhbCBwdWJsaWNcdTIwMTlzIGRlc2lyZSBmb3IgZnVydGhlciBlZHVjYXRpb24gYW5kIHN1Z2dlc3RzIHRoYXQgd2hpbGUgdGhlcmUgaXMgc3Ryb25nIHN1cHBvcnQgZm9yIGdlbmUgdGhlcmFweSwgcGVvcGxlIHN0aWxsIGZlZWwgdGhleSBsYWNrIHN1ZmZpY2llbnQga25vd2xlZGdlIHRvIG1ha2UgZnVsbHkgaW5mb3JtZWQgZGVjaXNpb25zLiBQYXRpZW50cyBlc3BlY2lhbGx5IGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2Ygc2FmZXR5IGFuZCBsb25nLXRlcm0gZWZmaWNhY3ksIGFyZWFzIHRoYXQgc2hvdWxkIGJlIGZvY2FsIHBvaW50cyBpbiBmdXR1cmUgY29tbXVuaWNhdGlvbnMuIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkNvbmNsdWRpbmcgdGhvdWdodHMgXCI+PC9INT5cbiAgICAgICAgICAgICAgICA8cD5UaGUgc3VydmV5cyB3aXRoIGJvdGggdGhlIGdlbmVyYWwgcHVibGljIGFuZCBDRiBwYXRpZW50cyBzaG93IHByb21pc2luZyBvcGVubmVzcyB0b3dhcmRzIGdlbmUgdGhlcmFweSwgdGhvdWdoIGNvbmNlcm5zIGFib3V0IHNhZmV0eSBhbmQgbG9uZy10ZXJtIGVmZmVjdHMgcmVtYWluLiBFbW90aW9uYWwgc3RyZXNzIHdhcyBoaWdobGlnaHRlZCBhcyBhIGdyZWF0ZXIgYnVyZGVuIHRoYW4gcGh5c2ljYWwgc3ltcHRvbXMsIHJlaW5mb3JjaW5nIHRoZSBhcHBlYWwgb2YgZ2VuZSB0aGVyYXB5IHRvIHJlZHVjZSBib3RoIHBoeXNpY2FsIGFuZCBlbW90aW9uYWwgY2hhbGxlbmdlcy4gTW9zdCBwYXRpZW50cyByZXF1aXJlIGRhaWx5IG9yIGZyZXF1ZW50IHRoZXJhcGllcyBsaWtlIG1lZGljYXRpb24sIHBoeXNpb3RoZXJhcHksIGFuZCBpbmhhbGF0aW9uLCBtYWtpbmcgYSBsZXNzIGZyZXF1ZW50IG9yIGV2ZW4gb25lLXRpbWUgZ2VuZSB0aGVyYXB5LCBhcyBwcm9wb3NlZCBpbiBvdXIgcmVzZWFyY2gsIGhpZ2hseSBhdHRyYWN0aXZlLiBQYXJ0aWNpcGFudHMgYWRkZWQgY29tbWVudHMgc3VjaCBhcyA8c3Ryb25nPlx1MjAxQ1RoZSBkcmVhbSBvZiBoZWFsaW5nIHN0aWxsIGV4aXN0cyFcdTIwMUQ8L3N0cm9uZz4sIGVuY291cmFnaW5nIHVzIGluIG91ciByZXNlYXJjaC48L3A+XG4gICAgICAgICAgICAgICAgPHA+Qm90aCBncm91cHMgYXJlIHJlYWR5IGZvciBnZW5lIHRoZXJhcHksIHdpdGggcGF0aWVudHMgc2hvd2luZyBmZXdlciBcIm5vIGNvbmNlcm5zLFwiIGxpa2VseSBkdWUgdG8gdGhlaXIgZmFtaWxpYXJpdHkgd2l0aCByaXNrcyBhbmQgb2ZmLXRhcmdldCBlZmZlY3RzLiBUaGlzIHVuZGVyc2NvcmVzIHRoZSBpbXBvcnRhbmNlIG9mIG91ciBmb2N1cyBvbiBzYWZldHkgYW5kIHByZWNpc2lvbiB0byBtaW5pbWl6ZSByaXNrcy4gT3VyIHJlc2VhcmNoIGlzIGRlc2lnbmVkIHRvIGFkZHJlc3MgdGhlc2UgY29uY2VybnMgdGhyb3VnaCB0YXJnZXRlZCBhcHByb2FjaGVzIFx1MjAxMyA8c3Ryb25nPndlIGFyZSA8UHJlQ3lzZS8+ITwvc3Ryb25nPjwvcD5cbiAgICAgICAgICAgICAgICA8cD5BZGRpdGlvbmFsbHksIHRoZXJlXHUyMDE5cyBhIGNsZWFyIGRlbWFuZCBmb3IgbW9yZSBpbmZvcm1hdGlvbiwgZXNwZWNpYWxseSB2aWEgcGxhdGZvcm1zIGxpa2UgVFYsIHNvY2lhbCBtZWRpYSwgYW5kIHRoZSBpbnRlcm5ldC4gVGFyZ2V0ZWQgZWR1Y2F0aW9uYWwgY2FtcGFpZ25zIHRocm91Z2ggdGhlc2UgY2hhbm5lbHMgd2lsbCBiZSBjcnVjaWFsIHRvIGluY3JlYXNlIGF3YXJlbmVzcyBhbmQgdW5kZXJzdGFuZGluZywgaGVscGluZyB0byBidWlsZCBvbiB0aGUgZXhpc3Rpbmcgb3B0aW1pc20gYW5kIGZvc3RlciBncmVhdGVyIGFjY2VwdGFuY2Ugb2YgZ2VuZSB0aGVyYXB5LCBsaWtlIHdlIGRvIGluIG91ciB2YXJpb3VzIHB1YmxpYyBvdXRyZWFjaCBlZmZvcnRzIGZvciBzY2llbmNlIGNvbW11bmljYXRpb24uPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIkRldGFpbGVkIEFuYWx5c2lzXCI+PC9INT5cbiAgICAgICAgICAgIDxkZXRhaWxzPlxuICAgICAgICAgICAgICAgIDxzdW1tYXJ5PkNsaWNrIHRvIHNlZTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICA8RGV0YWlsZWRBbmFseXNpcy8+XG4gICAgICAgICAgICA8L2RldGFpbHM+XG5cbiAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8SDQgdGV4dD1cIlN0YWtlaG9sZGVyIEFuYWx5c2VzXCI+PC9IND5cbiAgICAgICAgICAgIDxIUGNvblRhYnMvPlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cblxuZnVuY3Rpb24gRGV0YWlsZWRBbmFseXNpcygpe1xuXG4gICAgcmV0dXJuKFxuICAgICAgICA8PlxuICAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguV2hvQWZmZWN0ZWRhdGllbnRzLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sLTQnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5Ib3dEaWRZb3VMZWFyblB1YmxpYy8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyYXBoLkhlYXJkT2ZDRlB1YmxpYy8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+NTYuNzYlIG9mIHJlc3BvbmRlbnRzIHJlcG9ydGVkIHRoYXQgdGhleSBhcmUgcmVsYXRlZCB0byBzb21lb25lIHdpdGggQ0YsIHdoaWxlIDQzLjI0JSBzdGF0ZWQgdGhleSBhcmUgYWZmZWN0ZWQgYnkgQ0YgdGhlbXNlbHZlcy4gVGhpcyBsaWtlbHkgcmVmbGVjdHMgdGhlIGZhY3QgdGhhdCBtYW55IHBhcmVudHMgY29tcGxldGVkIHRoZSBzdXJ2ZXkgb24gYmVoYWxmIG9mIHRoZWlyIGNoaWxkcmVuLCBhcyBDRiBpcyB0eXBpY2FsbHkgZGlhZ25vc2VkIGF0IGEgeW91bmcgYWdlLiBUaGUgaGlnaCBpbnZvbHZlbWVudCBvZiBwYXJlbnRzIHVuZGVyc2NvcmVzIGhvdyB0aGUgZGlzZWFzZSBpbXBhY3RzIG5vdCBqdXN0IHRoZSBwYXRpZW50cyB0aGVtc2VsdmVzIGJ1dCBhbHNvIHRoZWlyIGZhbWlsaWVzLCB3aG8gYXJlIGRlZXBseSBpbnZvbHZlZCBpbiB0aGUgZGF5LXRvLWRheSBtYW5hZ2VtZW50IG9mIENGLiBUaGlzIGhpZ2hsaWdodHMgdGhlIGltcG9ydGFuY2Ugb2YgY29uc2lkZXJpbmcgYm90aCB0aGUgcGVyc3BlY3RpdmVzIG9mIHlvdW5nIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcyB3aGVuIGRpc2N1c3NpbmcgZ2VuZSB0aGVyYXB5IGFuZCBDRiB0cmVhdG1lbnRzLCBhcyBwYXJlbnRzIG9mdGVuIHBsYXkgYSBjcml0aWNhbCByb2xlIGluIGRlY2lzaW9uLW1ha2luZyByZWdhcmRpbmcgbmV3IHRyZWF0bWVudCBvcHRpb25zLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+ODIuODklIG9mIHJlc3BvbmRlbnRzIGhhdmUgaGVhcmQgb2YgY3lzdGljIGZpYnJvc2lzLCB3aGlsZSAxNy4xMSUgaGFkIG5vdC4gVGhlIGhpZ2ggbGV2ZWwgb2YgYXdhcmVuZXNzIGFib3V0IENGIHN1Z2dlc3RzIHRoYXQgdGhlIGdlbmVyYWwgcHVibGljIGlzIHJlbGF0aXZlbHkgaW5mb3JtZWQgYWJvdXQgdGhlIGNvbmRpdGlvbiwgcG9zc2libHkgZHVlIHRvIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBkaXNlYXNlIHRocm91Z2ggbWVkaWEsIGhlYWx0aCBjYW1wYWlnbnMsIG9yIHBlcnNvbmFsIGNvbm5lY3Rpb25zIHRvIGFmZmVjdGVkIGluZGl2aWR1YWxzLiBIb3dldmVyLCB0aGUgMTclIHVuZmFtaWxpYXIgd2l0aCBDRiBpbmRpY2F0ZXMgdGhhdCBmdXJ0aGVyIG91dHJlYWNoIGlzIG5lY2Vzc2FyeSwgcGFydGljdWxhcmx5IGZvY3VzaW5nIG9uIHRoaXMgZGVtb2dyYXBoaWMgdG8gc3ByZWFkIGtub3dsZWRnZSBhYm91dCB0aGUgZGlzZWFzZSBhbmQgcG90ZW50aWFsIHRyZWF0bWVudHMsIGluY2x1ZGluZyBnZW5lIHRoZXJhcHkuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgbWFqb3JpdHkgb2YgcmVzcG9uZGVudHMgKDQ0LjE3JSkgbGVhcm5lZCBhYm91dCBDRiB0aHJvdWdoIG1lZGlhIGNoYW5uZWxzLCBzdWNoIGFzIHRlbGV2aXNpb24sIG5ld3MsIG9yIHRoZSBpbnRlcm5ldC4gT3RoZXIgc2lnbmlmaWNhbnQgc291cmNlcyBvZiBpbmZvcm1hdGlvbiBpbmNsdWRlIGZhbWlseSBhbmQgZnJpZW5kcyAoMjUuMTUlKSwgYXMgd2VsbCBhcyBlZHVjYXRpb25hbCBpbnN0aXR1dGlvbnMgKDIwLjg2JSkuIEludGVyZXN0aW5nbHksIG9ubHkgMy42OCUgb2YgcmVzcG9uZGVudHMgbGVhcm5lZCBhYm91dCBDRiBmcm9tIGhlYWx0aGNhcmUgcHJvdmlkZXJzLCBzdWdnZXN0aW5nIHRoYXQgdGhlIGRpc2Vhc2UgaXMgbW9yZSBjb21tb25seSB1bmRlcnN0b29kIHRocm91Z2ggZXh0ZXJuYWwgc291cmNlcyByYXRoZXIgdGhhbiBkaXJlY3QgbWVkaWNhbCBlZHVjYXRpb24uIFRoaXMgcmVsaWFuY2Ugb24gbWVkaWEgYW5kIHBlcnNvbmFsIGNvbm5lY3Rpb25zIGhpZ2hsaWdodHMgdGhlIGltcG9ydGFuY2Ugb2YgYWNjdXJhdGUgYW5kIGFjY2Vzc2libGUgaW5mb3JtYXRpb24gaW4gdGhlIHB1YmxpYyBkb21haW4sIGVzcGVjaWFsbHkgd2hlbiBjb25zaWRlcmluZyB0aGUgaW50cm9kdWN0aW9uIG9mIGdlbmUgdGhlcmFweSBhcyBhIHRyZWF0bWVudCBvcHRpb24uIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguQWdlRGlhZ25vc2lzYXRpZW50cy8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyYXBoLkhvd011Y2hEb2VzSXRBZmZlY3RZb3VhdGllbnRzLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguV2hpY2hTeW1wdG9tc2F0aWVudHMvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+MjYuMjMlIG9mIHJlc3BvbmRlbnRzIGluZGljYXRlZCB0aGF0IENGIHdhcyBkaWFnbm9zZWQgZWl0aGVyIHRocm91Z2ggbmV3Ym9ybiBzY3JlZW5pbmcgb3IgYmV0d2VlbiB0aGUgYWdlcyBvZiAxIGFuZCAxMC4gQW5vdGhlciAyMS44NiUgcmVwb3J0ZWQgZGlhZ25vc2lzIGEgZmV3IG1vbnRocyBhZnRlciBiaXJ0aCwgYW5kIDE4LjAzJSB3ZXJlIGRpYWdub3NlZCBhYm91dCBvbmUgd2VlayBhZnRlciBiaXJ0aC4gVGhpcyBoaWdobGlnaHRzIHRoZSBlYXJseSBkZXRlY3Rpb24gb2YgQ0YsIG9mdGVuIHJlcXVpcmluZyBsaWZlbG9uZyBtYW5hZ2VtZW50LCB3aGljaCBjYW4gYmUgZW1vdGlvbmFsbHkgY2hhbGxlbmdpbmcgZm9yIGZhbWlsaWVzLiBFYXJseSBkaWFnbm9zaXMgaW5jcmVhc2VzIHRoZSBhcHBlYWwgb2YgdHJlYXRtZW50cyBsaWtlIGdlbmUgdGhlcmFweSwgd2hpY2ggY291bGQgb2ZmZXIgbG9uZy10ZXJtIGJlbmVmaXRzIHdpdGggZmV3ZXIgaW50ZXJ2ZW50aW9ucy48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD40Mi4xNiUgb2YgcmVzcG9uZGVudHMgcmF0ZWQgdGhlIGltcGFjdCBvZiBjeXN0aWMgZmlicm9zaXMgb24gZGFpbHkgbGlmZSBhcyBhIDMgb3V0IG9mIDUsIGluZGljYXRpbmcgYSBtb2RlcmF0ZSBlZmZlY3QuIEFkZGl0aW9uYWxseSwgMzIuOTclIHJhdGVkIHRoZSBpbXBhY3QgYXMgYSAyLCB3aGlsZSAxMi40MyUgcmF0ZWQgaXQgYXMgYSA0LiBPbmx5IDQuMzIlIG9mIHJlc3BvbmRlbnRzIGZlbHQgdGhhdCBDRiBoYWQgYSB2ZXJ5IHN0cm9uZyBpbXBhY3QgKHJhdGluZyBpdCBhIDUpLCBhbmQgOC4xMSUgcmF0ZWQgaXQgYSAxLCBzdWdnZXN0aW5nIGxpdHRsZSB0byBubyBkYWlseSBlZmZlY3QuIFRoZXNlIHJlc3VsdHMgaW5kaWNhdGUgdGhhdCBmb3IgbWFueSBwYXRpZW50cyBhbmQgZmFtaWxpZXMsIENGIGhhcyBhIG5vdGFibGUgYnV0IHZhcmllZCBpbXBhY3Qgb24gZGFpbHkgbGlmZSwgcmVpbmZvcmNpbmcgdGhlIGltcG9ydGFuY2Ugb2YgdHJlYXRtZW50cyBsaWtlIGdlbmUgdGhlcmFweSB0aGF0IGNvdWxkIGFsbGV2aWF0ZSB0aGUgYnVyZGVuLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGlzIGNoYXJ0IHNob3dzIHRoYXQgMjMuMTklIG9mIHJlc3BvbmRlbnRzIGlkZW50aWZpZWQgYWJkb21pbmFsIHBhaW4gYXMgdGhlIG1vc3QgZnJlcXVlbnQgc3ltcHRvbSwgZm9sbG93ZWQgYnkgY2hyb25pYyBjb3VnaCAoMTguOTUlKSBhbmQgZnJlcXVlbnQgbHVuZyBpbmZlY3Rpb25zICgxMy43MiUpLiBJbnRlcmVzdGluZ2x5LCBzeW1wdG9tcyBsaWtlIG11c2NsZSB3ZWFrbmVzcyAoMiUpIGFuZCBkZWxheWVkIGdyb3d0aCAoNi4yMyUpIHdlcmUgbGVzcyBjb21tb25seSByZXBvcnRlZC4gVGhlIGVtcGhhc2lzIG9uIGNocm9uaWMgcmVzcGlyYXRvcnkgYW5kIGdhc3Ryb2ludGVzdGluYWwgc3ltcHRvbXMgYWxpZ25zIHdpdGggQ0YgYmVpbmcgYSBtZXRhYm9saWMgZGlzZWFzZSBhZmZlY3RpbmcgdGhlIHdob2xlIGJvZHkgbGlrZSBleHBlcnRzIHN1Y2ggYXMgRHIuIE9sYXJpdSBleHBsYWluZWQgdG8gdXMsIHJlaW5mb3JjaW5nIHRoZSBuZWVkIGZvciBjb21wcmVoZW5zaXZlIHRyZWF0bWVudHMgbGlrZSBnZW5lIHRoZXJhcHkgdGhhdCB0YXJnZXQgbXVsdGlwbGUgYXNwZWN0cyBvZiB0aGUgZGlzZWFzZSBhdCB0aGUgY2VsbHVsYXIgbGV2ZWwuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5XaGljaFRoZXJhcHlEb1lvdVVzZWF0aWVudHMvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5Nb3N0U3RyZXNzZnVsRm9yUmVsYXRpdmVhdGllbnRzLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBtb3N0IGNvbW1vbiB0aGVyYXBpZXMgdXNlZCBieSByZXNwb25kZW50cyBpbmNsdWRlZCBtZWRpY2F0aW9uICgyOS4yMCUpLCBwaHlzaW90aGVyYXB5ICgyNi4zMiUpLCBhbmQgaW5oYWxhdGlvbiB0aGVyYXB5ICgyNi42MyUpLiBUaGVzZSB0cmVhdG1lbnRzIGFyZSBwcm9taW5lbnRseSByZXByZXNlbnRlZCBpbiBDRiBjYXJlLCBidXQgdGhleSBhbHNvIHJlZmxlY3QgYSBidXJkZW5zb21lIHJlZ2ltZW4gdGhhdCByZXF1aXJlcyBjb25zdGFudCBtYW5hZ2VtZW50LiBUaGUgZnJlcXVlbmN5IHdpdGggd2hpY2ggcGF0aWVudHMgbXVzdCB1bmRlcmdvIHRoZXNlIHRyZWF0bWVudHMgbWF5IGluY3JlYXNlIHRoZWlyIGludGVyZXN0IGluIGdlbmUgdGhlcmFweSwgd2hpY2ggY291bGQgb2ZmZXIgYSBsZXNzIGRlbWFuZGluZyBvcHRpb24gd2l0aCBwb3RlbnRpYWxseSBsb25nZXItbGFzdGluZyByZXN1bHRzPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgc3VydmV5IHJldmVhbHMgdGhhdCAzNi43OSUgb2YgcmVzcG9uZGVudHMgaWRlbnRpZmllZCBlbW90aW9uYWwgc3RyZXNzIGFzIHRoZSBtb3N0IHN0cmVzc2Z1bCBhc3BlY3Qgb2YgY3lzdGljIGZpYnJvc2lzLCBjbG9zZWx5IGZvbGxvd2VkIGJ5IHBoeXNpY2FsIHN5bXB0b21zIGF0IDMyLjc4JS4gU29jaWFsIHJlc3RyaWN0aW9ucyB3ZXJlIG5vdGVkIGJ5IDE3LjczJSBvZiByZXNwb25kZW50cywgYW5kIGZpbmFuY2lhbCBidXJkZW4gd2FzIGEgY29uY2VybiBmb3IgMTEuMzclLiBPbmx5IDEuMzQlIGNpdGVkIG90aGVyIGZhY3RvcnMuIFRoZXNlIHJlc3VsdHMgc2hvdyB0aGF0IGVtb3Rpb25hbCBhbmQgcGh5c2ljYWwgY2hhbGxlbmdlcyBkb21pbmF0ZSB0aGUgc3RyZXNzb3JzIGZvciBwYXRpZW50cyBhbmQgZmFtaWxpZXMsIGhpZ2hsaWdodGluZyB0aGUgbmVlZCBmb3IgdHJlYXRtZW50cyBsaWtlIGdlbmUgdGhlcmFweSB0aGF0IGNvdWxkIHJlZHVjZSBib3RoIHRoZSBwaHlzaWNhbCBhbmQgZW1vdGlvbmFsIGJ1cmRlbnMgb2YgbWFuYWdpbmcgQ0YuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguSGVhZHJvZkdlbmVUaGVyYXB5UGF0aWVudHMvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5IZWFkT2ZHZW5lVGhlcmFweVB1YmxpYy8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5BbW9uZyB0aGlzIGdyb3VwLCA3Ni43NiUgb2YgcmVzcG9uZGVudHMgaGFkIGhlYXJkIG9mIGdlbmUgdGhlcmFweSwgd2hpY2ggaXMgYSBoaWdoZXIgYXdhcmVuZXNzIHJhdGUgdGhhbiBzZWVuIGluIHRoZSBnZW5lcmFsIHB1YmxpYyBzdXJ2ZXkuIEhvd2V2ZXIsIDIzLjI0JSByZW1haW4gdW5mYW1pbGlhciB3aXRoIGl0LCBwb2ludGluZyB0byBhIG5lZWQgZm9yIGZ1cnRoZXIgZWR1Y2F0aW9uLiBUaGUgaGlnaGVyIGZhbWlsaWFyaXR5IGhlcmUgY291bGQgYmUgYXR0cmlidXRlZCB0byB0aGUgZmFjdCB0aGF0IHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcyBhcmUgbW9yZSBlbmdhZ2VkIHdpdGggbWVkaWNhbCBhZHZhbmNlbWVudHMgZHVlIHRvIHRoZSBzZXZlcmUgbmF0dXJlIG9mIENGLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPldoZW4gYXNrZWQgYWJvdXQgZ2VuZSB0aGVyYXB5LCA2Ny41OCUgb2YgcmVzcG9uZGVudHMgaW5kaWNhdGVkIGZhbWlsaWFyaXR5IHdpdGggdGhlIGNvbmNlcHQsIHdoaWxlIDMyLjQyJSBoYWQgbm90IGhlYXJkIG9mIGl0LiBUaGlzIGRlbW9uc3RyYXRlcyBhIG1vZGVyYXRlIGxldmVsIG9mIGF3YXJlbmVzcywgYnV0IGl0IGlzIGNsZWFyIHRoYXQgYSB0aGlyZCBvZiB0aGUgcG9wdWxhdGlvbiByZW1haW5zIHVuYXdhcmUgb2YgZ2VuZSB0aGVyYXB5LiBUaGlzIGdhcCBpbiBrbm93bGVkZ2UgcmVwcmVzZW50cyBhIHNpZ25pZmljYW50IG9wcG9ydHVuaXR5IGZvciBlZHVjYXRpb25hbCBlZmZvcnRzLCBhcyB0aGUgbGFjayBvZiBmYW1pbGlhcml0eSBjb3VsZCBpbXBhY3QgdGhlIGFjY2VwdGFuY2UgYW5kIHN1cHBvcnQgZm9yIGdlbmUgdGhlcmFweSBhcyBhIHZpYWJsZSB0cmVhdG1lbnQgb3B0aW9uIGZvciBDRi4gVGhlIGNvbW1lbnRzIHN1Z2dlc3QgdGhhdCBtYW55IHNlZSBnZW5lIHRoZXJhcHkgYXMgYW4gZW1lcmdpbmcgZmllbGQsIGJ1dCB0aGVyZSBpcyBzb21lIGNvbmZ1c2lvbiByZWdhcmRpbmcgaXRzIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5Ib3dXZWxsSW5mb3JtZWRBYm91dENGUHVibGljLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguV2hhdE1lYXN1cmVzUHVibGljLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+SW4gdGVybXMgb2Yga25vd2xlZGdlIGFib3V0IENGLCA1OC42MCUgb2YgcmVzcG9uZGVudHMgc3RhdGVkIHRoYXQgdGhleSBhcmUgc29tZXdoYXQgd2VsbCBpbmZvcm1lZCwgYW5kIG9ubHkgMjEuNjYlIGZlbHQgZXh0cmVtZWx5IHdlbGwgaW5mb3JtZWQgKHNlZSBkaWFncmFtIDIpLiBBIHNtYWxsZXIgcG9ydGlvbiwgMTMuMzglLCBpbmRpY2F0ZWQgdGhhdCB0aGV5IGFyZSBub3QgdmVyeSBpbmZvcm1lZCwgYW5kIDYuMzclIGFkbWl0dGVkIHRvIGJlaW5nIG5vdCBpbmZvcm1lZCBhdCBhbGwuIFRoaXMgc3VnZ2VzdHMgdGhhdCB3aGlsZSBDRiBpcyByZWNvZ25pemVkIGJ5IGEgbGFyZ2UgcG9ydGlvbiBvZiB0aGUgcHVibGljLCBkZWVwZXIga25vd2xlZGdlIGFib3V0IHRoZSBkaXNlYXNlIGlzIGxhY2tpbmcuIFRoYXQgaXMgd2h5IHdlIGFyZSBkb2luZyBzY2llbmNlIGNvbW11bmljYXRpb24gYXQgb3VyIHZhcmlvdXMgcHVibGljIG91dHJlYWNoIGV2ZW50cyEgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5SZXNwb25kZW50cyB3ZXJlIGFza2VkIHdoYXQgYWN0aW9ucyBjb3VsZCBiZSB0YWtlbiB0byBpbXByb3ZlIENGIGF3YXJlbmVzcyAoc2VlIGRpYWdyYW0gNCkuIFRoZSBtb3N0IHBvcHVsYXIgb3B0aW9uLCBjaG9zZW4gYnkgMjIuODclLCB3YXMgcHVibGljaXR5IGNhbXBhaWducyBvbiBUViwgcmFkaW8sIGFuZCBvdGhlciBtYXNzIG1lZGlhIG91dGxldHMuIEluZm9ybWF0aW9uIGV2ZW50cyBhdCBzY2hvb2xzIGFuZCB1bml2ZXJzaXRpZXMgZm9sbG93ZWQgYXQgMTMuMjAlLCBhbG9uZyB3aXRoIGRvY3VtZW50YXJ5IGZpbG1zIGFuZCBzaG9ydCBtb3ZpZXMgYWJvdXQgbGlmZSB3aXRoIENGICgxNC4wMSUpLiBUaGVzZSBmaW5kaW5ncyBzdWdnZXN0IHRoYXQgdGhlIHB1YmxpYyBzZWVzIG1lZGlhIGFzIHRoZSBtb3N0IGVmZmVjdGl2ZSB3YXkgdG8gc3ByZWFkIGF3YXJlbmVzcywgYSBzdHJhdGVneSB0aGF0IGNvdWxkIGFsc28gYmUgZW1wbG95ZWQgdG8gZWR1Y2F0ZSBhYm91dCBnZW5lIHRoZXJhcHkuIFRoZSBwdWJsaWMgYXBwZWFycyB0byBmYXZvciB2aXN1YWwgYW5kIGFjY2Vzc2libGUgZm9ybWF0cywgd2hpY2ggY291bGQgYmUgdXNlZCB0byBoaWdobGlnaHQgdGhlIGJlbmVmaXRzIG9mIG5ldyB0cmVhdG1lbnRzIGxpa2UgZ2VuZSB0aGVyYXB5LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguQmFzaWNQb3NpdGlvbmF0aWVudHMvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5XaGF0Q29jZXJuc0Fib3V0R2VuZVRoZXJhcHlhdGllbnRzLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguV2hhdENvY2VybnNBYm91dEdlbmVUaGVyYXB5UHVibGljLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBzdXJ2ZXkgcmV2ZWFscyB0aGF0IDM1LjAwJSBvZiByZXNwb25kZW50cyBoYWQgYSB2ZXJ5IHBvc2l0aXZlIHZpZXcgb2YgZ2VuZSB0aGVyYXB5LCBhbmQgMzAuMDAlIHJhdGVkIGl0IGEgNCBvdXQgb2YgNSAoc2VlIGRpYWdyYW0gMjApLiBPbmx5IDUuNzElIHJhdGVkIGl0IGEgMiBvciBsb3dlci4gVGhlIG92ZXJhbGwgcG9zaXRpdml0eSBzdWdnZXN0cyB0aGF0IG1hbnkgcGF0aWVudHMgYW5kIGZhbWlsaWVzIGFyZSBob3BlZnVsIGFib3V0IHRoZSBwb3RlbnRpYWwgb2YgZ2VuZSB0aGVyYXB5LCBwZXJoYXBzIGJlY2F1c2Ugb2YgdGhlaXIgZmFtaWxpYXJpdHkgd2l0aCB0aGUgbGltaXRhdGlvbnMgb2YgY3VycmVudCB0cmVhdG1lbnRzLiBUaGlzIG9wdGltaXNtIGNvdWxkIGJlIGxldmVyYWdlZCB0byBzdXBwb3J0IGZ1dHVyZSBjbGluaWNhbCB0cmlhbHMgb3IgZWR1Y2F0aW9uYWwgaW5pdGlhdGl2ZXMuPC9wPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Db25jZXJucyBhYm91dCBnZW5lIHRoZXJhcHkgcHJpbWFyaWx5IHJldm9sdmVkIGFyb3VuZCBzYWZldHkgYW5kIHNpZGUgZWZmZWN0cyBhbmQgbG9uZy10ZXJtIGVmZmVjdHMgKGJvdGggNTkuNDYlKSAoc2VlIGRpYWdyYW0gMjIpLiBDb3N0IGFuZCBhY2Nlc3NpYmlsaXR5IGFsc28gcmVtYWluIGltcG9ydGFudCBpc3N1ZXMgZm9yIDMyLjQzJSBvZiByZXNwb25kZW50cy4gT25seSAwLjU0JSBleHByZXNzZWQgbm8gY29uY2VybnMsIHNob3dpbmcgdGhhdCB3aGlsZSB0aGVyZSBpcyBvcHRpbWlzbSwgdGhlcmUgYXJlIHNpZ25pZmljYW50IGZlYXJzIHRvIGFkZHJlc3MuIFRoZXNlIGNvbmNlcm5zIHdlcmUgc2ltaWxhcmx5IGV4cHJlc3NlZCBpbiB0aGUgZ2VuZXJhbCBwdWJsaWMgc3VydmV5IGJ1dCBhcmUgbW9yZSBwcm9ub3VuY2VkIGFtb25nIHBhdGllbnRzLCBsaWtlbHkgZHVlIHRvIHRoZWlyIGZpcnN0aGFuZCBleHBlcmllbmNlIHdpdGggbG9uZy10ZXJtIHRyZWF0bWVudHMuPC9wPiAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBtb3N0IGNvbW1vbiBjb25jZXJuLCBzaGFyZWQgYnkgMjguNzclIG9mIHJlc3BvbmRlbnRzLCB3YXMgcmVsYXRlZCB0byB0aGUgc2FmZXR5IGFuZCBzaWRlIGVmZmVjdHMgb2YgZ2VuZSB0aGVyYXB5LCBmb2xsb3dlZCBieSBsb25nLXRlcm0gZWZmZWN0cyAoMjcuODUlKSBhbmQgY29zdHMgb3IgYWNjZXNzaWJpbGl0eSAoMjQuMjAlKSAoc2VlIGRpYWdyYW0gOSkuIEV0aGljYWwgcXVlc3Rpb25zIHdlcmUgcmFpc2VkIGJ5IDE0LjYxJSBvZiBwYXJ0aWNpcGFudHMsIHdoaWxlIG9ubHkgNC41NyUgaGFkIG5vIGNvbmNlcm5zIGF0IGFsbC4gVGhlc2UgY29uY2VybnMgZWNobyBjb21tZW50cyBtYWRlIGluIG90aGVyIHBhcnRzIG9mIHRoZSBzdXJ2ZXksIHdoZXJlIHJlc3BvbmRlbnRzIGV4cHJlc3NlZCBpbnRlcmVzdCBpbiBsZWFybmluZyBtb3JlIGFib3V0IHRoZSBzYWZldHkgcHJvdG9jb2xzIGFuZCByZWd1bGF0b3J5IG1lYXN1cmVzIHN1cnJvdW5kaW5nIGdlbmUgdGhlcmFweS4gQ2xlYXJseSwgYWRkcmVzc2luZyB0aGVzZSBjb25jZXJucyBpbiBmdXR1cmUgcHVibGljIGVuZ2FnZW1lbnRzIHdpbGwgYmUgY3JpdGljYWwgdG8gZm9zdGVyaW5nIHdpZGVyIGFjY2VwdGFuY2UuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguV2hhdENvdWxkR2VuZVRoZXJhcHlNZWFuRm9yTWVkaWNpbmVQdWJsaWMvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5Xb3VsZFlvdURvR2VuZVRoZXJhcHlQdWJsaWMvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5XaGF0Rm9ybU1vcmVJbmZvUHVibGljLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk5lYXJseSBoYWxmICg0OS41OSUpIG9mIHJlc3BvbmRlbnRzIGJlbGlldmUgdGhhdCBnZW5lIHRoZXJhcHkgcmVwcmVzZW50cyBhIG1ham9yIGFkdmFuY2UgaW4gdGhlIHRyZWF0bWVudCBvZiBkaXNlYXNlcywgd2hpbGUgNDcuOTclIGFja25vd2xlZGdlZCB0aGF0IGdlbmUgdGhlcmFweSBvZmZlcnMgc29tZSBwcm9ncmVzcyBidXQgYWxzbyBjYXJyaWVzIHJpc2tzIChzZWUgZGlhZ3JhbSA3KS4gTGVzcyB0aGFuIDIlIG9mIHJlc3BvbmRlbnRzIGV4cHJlc3NlZCBjb25jZXJuIHRoYXQgZ2VuZSB0aGVyYXB5IGNvdWxkIGJyaW5nIG1vcmUgcmlza3MgdGhhbiBiZW5lZml0cy4gVGhpcyBvdmVyYWxsIHBvc2l0aXZlIG91dGxvb2sgb24gZ2VuZSB0aGVyYXB5IGlzIGVuY291cmFnaW5nLCBidXQgaXQgYWxzbyB1bmRlcnNjb3JlcyB0aGUgbmVlZCB0byBhZGRyZXNzIGNvbmNlcm5zIGFib3V0IHNhZmV0eSBhbmQgbG9uZy10ZXJtIGVmZmVjdHMsIHdoaWNoIHdlcmUgb2Z0ZW4gbWVudGlvbmVkIGluIHRoZSBjb21tZW50cy4gVGhlIG9wdGltaXNtIHNob3duIGhlcmUgY2FuIGJlIGEgc3Ryb25nIGZvdW5kYXRpb24gZm9yIHByb21vdGluZyBnZW5lIHRoZXJhcHksIGVzcGVjaWFsbHkgd2l0aCBhcHByb3ByaWF0ZSBlZHVjYXRpb24gb24gbWl0aWdhdGluZyByaXNrcy48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+QSBzdHJvbmcgbWFqb3JpdHksIDg1LjIyJSBvZiByZXNwb25kZW50cywgaW5kaWNhdGVkIHRoYXQgdGhleSB3b3VsZCBjb25zaWRlciBvcHRpbmcgZm9yIGdlbmUgdGhlcmFweSwgd2l0aCBvbmx5IDEuNzQlIHNheWluZyB0aGV5IHdvdWxkIG5vdCwgYW5kIDEzLjA0JSByZXNwb25kaW5nIHdpdGggXCJtYXliZS5cIiAoc2VlIGRpYWdyYW0gOCkuIFRoaXMgcmVzdWx0IGRlbW9uc3RyYXRlcyBjb25zaWRlcmFibGUgb3Blbm5lc3MgdG8gZ2VuZSB0aGVyYXB5IGFtb25nIHRoZSBwdWJsaWMsIHRob3VnaCB0aGUgbWlub3JpdHkgZXhwcmVzc2luZyBoZXNpdGF0aW9uIHN1Z2dlc3RzIHRoZXJlIGFyZSBsaW5nZXJpbmcgZG91YnRzLiBDb21tZW50cyBmcmVxdWVudGx5IG1lbnRpb25lZCBjb25jZXJucyBvdmVyIHNhZmV0eSBhbmQgbG9uZy10ZXJtIGVmZmVjdHMsIHN1Z2dlc3RpbmcgdGhhdCB0aGVzZSBpc3N1ZXMgbmVlZCB0byBiZSBhZGRyZXNzZWQgdG8gY29udmVydCBcIm1heWJlXCIgcmVzcG9uc2VzIGludG8gbW9yZSBjb25maWRlbnQgc3VwcG9ydCBmb3IgZ2VuZSB0aGVyYXB5LjwvcD4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5XaGVuIGFza2VkIGhvdyB0aGV5IHdvdWxkIHByZWZlciB0byByZWNlaXZlIG1vcmUgaW5mb3JtYXRpb24sIDIyLjYyJSBvZiByZXNwb25kZW50cyBzZWxlY3RlZCBUViBkb2N1bWVudGFyaWVzIGFuZCBwcm9ncmFtcyBhcyB0aGVpciBwcmVmZXJyZWQgbWVkaXVtLCB3aGlsZSAxNi42MyUgZXhwcmVzc2VkIGludGVyZXN0IGluIHdlYnNpdGVzIGFuZCBvbmxpbmUgcmVzb3VyY2VzIChzZWUgZGlhZ3JhbSAxMSkuIFRoaXMgcHJlZmVyZW5jZSBmb3IgdmlzdWFsIGFuZCBvbmxpbmUgZm9ybWF0cyBhbGlnbnMgd2l0aCB0aGUgcHVibGljXHUyMDE5cyBnZW5lcmFsIHJlbGlhbmNlIG9uIG1lZGlhIGZvciBsZWFybmluZyBhYm91dCBDRiBhbmQgb3RoZXIgbWVkaWNhbCB0b3BpY3MuIFNvY2lhbCBtZWRpYSBhbmQgb25saW5lIGNvbW11bml0aWVzICgxNS45NiUpIGFsc28gcmFua2VkIGhpZ2hseSwgaW5kaWNhdGluZyB0aGF0IGRpZ2l0YWwgcGxhdGZvcm1zIGFyZSBhbiBlZmZlY3RpdmUgd2F5IHRvIHJlYWNoIGEgYnJvYWQgYXVkaWVuY2UuIFRoZXNlIGZpbmRpbmdzIGNhbiBndWlkZSBmdXR1cmUgZWZmb3J0cyB0byBjcmVhdGUgZW5nYWdpbmcgYW5kIGluZm9ybWF0aXZlIGNvbnRlbnQgYWJvdXQgQ0YgYW5kIGdlbmUgdGhlcmFweS48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj48Lz5cbiAgICApXG59IiwgImltcG9ydCB7IG9wZW5DbGFzc2VzIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL29wZW5DbGFzc1wiO1xuXG5cblxuZXhwb3J0IGNvbnN0IEhQM25ldyA9ICgpID0+IChcbiAgPHN2Z1xuICAgIHZpZXdCb3g9XCIwIDAgMTI1NS4wNDAzIDc4MFwiXG4gICAgd2lkdGg9ezEyNTUuMDQwM31cbiAgICB4bWxTcGFjZT1cInByZXNlcnZlXCJcbiAgICBpZD1cInN2ZzJcIlxuICAgIGlua3NjYXBlOmV4cG9ydC1maWxlbmFtZT1cIkRlc2lnbi1JSFAtMy5zdmdcIlxuICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPXs5Nn1cbiAgICBpbmtzY2FwZTpleHBvcnQteWRwaT17OTZ9XG4gICAgeG1sbnNYbGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICA+XG4gICAgPGRlZnMgaWQ9XCJkZWZzNlwiPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxOFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNlwiXG4gICAgICAgICAgZD1cIk0gMCwyLjQ0MTRlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMjAyIEggMCBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDI4XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDI2XCJcbiAgICAgICAgICBkPVwiTSAwLDE0MTcuMzIgSCAxNDE3LjMyIFYgMy42NjIxZS00IEggNi4xMDM1ZS01XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDQyXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDQwXCJcbiAgICAgICAgICBkPVwiTSAwLDE0MTcuMzIgSCAxNDE3LjMyIFYgMy42NjIxZS00IEggMS4yMjA3ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDc2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDc0XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoODZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoODRcIlxuICAgICAgICAgIGQ9XCJNIC02LjEwMzVlLTUsMTQxNy4zMiBIIDE0MTcuMzIgViAwIEggLTkuMTU1M2UtNVwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg5NlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg5NFwiXG4gICAgICAgICAgZD1cIk0gLTYuMTAzNWUtNSwxNDE3LjMyIEggMTQxNy4zMiBWIDAgSCAtOS4xNTUzZS01XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDEwNlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMDRcIlxuICAgICAgICAgIGQ9XCJNIC02LjEwMzVlLTUsMTQxNy4zMiBIIDE0MTcuMzIgViAwIEggLTkuMTU1M2UtNVwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxMTZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTE0XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTI2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDEyNFwiXG4gICAgICAgICAgZD1cIk0gLTYuMTAzNWUtNSwxNDE3LjMyIEggMTQxNy4zMiBWIDAgSCAtOS4xNTUzZS01XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDEzNlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMzRcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxNDZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTQ0XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTU2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE1NFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDE2NlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNjRcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxNzZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTc0XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTg2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE4NFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDE5NlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxOTRcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgyMDZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjA0XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjE2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDIxNFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDIyNlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgyMjRcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgyMzZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjM0XCJcbiAgICAgICAgICBkPVwiTSA2MDEuMDgsNjExLjQgSCA4MDUuNDQgViA4MTUuNzYgSCA2MDEuMDggWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPG1hc2tcbiAgICAgICAgaWQ9XCJtYXNrMjQwXCJcbiAgICAgICAgaGVpZ2h0PXsxfVxuICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgeT17MH1cbiAgICAgICAgeD17MH1cbiAgICAgICAgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgPlxuICAgICAgICA8aW1hZ2VcbiAgICAgICAgICBpZD1cImltYWdlMjQyXCJcbiAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVlBQUFBR0FDQUFBQUFDQnJPcGpBQUFBQVhOQ1NWUUk1Z3BibVFBQUVWcEpSRUZVZUp6dG5YdDhWZFdWeDNjU2dnRUNDSUk4RkJVd1FCTDJEZ0VmbzVaYTN6aGo2OHlVYWJWRmhQckFPclRvV0p5MnpqaGxXdHJhK3FsaWRXWnFSMVRBNTFTbi9XaW50Z3BTbi8xQTViRjNMaEFJNGFueVRua2xKSkRjK1FNL0pqazVlNTE5N3ozN3JpVDM5LzBubjV4OTFqbjdydDlkZSsyejl6NzdDZ0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnTTVPSG5jRnVobDVaeXFwNUxkLzYyelF3Mk5sY294aUpaV2MyRWNJSVNvZ1FGYnBPVm9xZWQ3dzFnUFMzUllDWk1aUXFhU1NRUzhxOXdzZ0I2UkwzN0ZLcWtuOVE4dU9GemU1WGdZUmtEb0Y1eWlwNUJqaWpNTFN0YTRYZ3dBcE1WQkpKU2VjRW5tZWdnQngwMnVNVkhMU1lNZXozYk13Qklna2I0UlVVcFhtcDJJREFlS2hyMVJTVmZaSjNkQzlHNFJlVURpRjV5cXBKcDZSdHYzQU9zY1RFUUVkR0txa2toMjY5aW1pL3VoNElnUm9ROTl4VXNtSnA4WnhLUWlRR2dVanBaS3FKTDRMT21kaENIQ2FWRkpWUkhmdFU4TlpnRnhPd3IzR0tLa211bmJ0VStOdy82VGJpYmtwUU40SUpaVk1yV3VmSXFOcjNjN0x1U1pvUUpsVU1wMnVmWXBJQ0JDa3NFUk9MRlZuKzdqMFBxUFZaZTBQeWQrNG1lYUdBTU9ra3FxODBNT1ZtelpvcmMxSFF0d1pFTUQxV2JpN0M5QjNuSktxTXBhdWZaQVB0ZGE2K3Znbi95VUNwYTdkb082YmhBdEdLcW5rdVQ0KzROR0UxdG9jYUhkczhKNzI1elQzYVhTNlZyY1U0RFFsbFZSRkhxNmNyTlZhNjlxV2tLSTlnZjdzcEZWT1YreG1UVkN2c1ZKVnl0TjlYZjd1WHg2MUZRMEpaaGlaWXdMa25TV1ZWT044ZHUzRnF3L2J5NTRNNWhuSEpOQWRCQmhRcHFTcUtQWituMzIzMmN0bVh4czg0dGdONnRvNW9MQkVTU1c5ZE8xRG1QcVN0YWowZzE3QlE3dUdPVjIweXdvd1RFa2x2WFR0YlN5ZWJpM3ErYWZLamdjSDdYZTVhaGRzZ29yTHBKSVRCbVQ3dGp1L2FTLzdmb2ovUmNVeWw4dDJLUUVLUmtrbEs4L3hFclVmR2JOKy9sQjdlWExtWDZ4bG4vdFcyRkhaclFRWUpKVlUwa2ZYWGh4SmFHUDBBU0YrUVBoZlBQcUd0ZWpVUmFGOUw3ZHVVT2ZQQVVYamxGUVR2SFR0bTJ1ME1YckxKeVAzRjcxZFlEOTE0NFFHYTltek40WWVYbkdoU3gwNnN3QjVaeW1wNUZqQ0xlbXpXeHVqMXgxcmM2UjR6V2o3NmMwWHI3Q1dmWFZKK1BHamZWM21aRHBwRXpTZ1hDcnBwMnRmbnpEYW1MMGRqajlNK0YvTXQvdi83TWNzQlgxRzF6aFVwOU1KVURpdVhFbDFscGRySDF5cWpka2NOcEFqeFBXM0VJYXJmbUF0eWw4Y3ZrQmFDQ0ZkQk9oTURMOW03cUkxVFVsL1hHKy85NUE5aEYxRG1kM3dPM2F6ZjR2ZlJiNG92dURXQlc4ZWlOM2hBUjRuYXZBS1pYaTMzVzRTOFlYNVZleCs4a0JCeVJlLzkvS21scmg5SFVZTmtWTHVvQXlYMjNzcXZkY1RkdFVlL0JVbmd5NmY4OFNLaHBpOWJPZkVSZmFxbEJ3aERBOFJZMDMvUWQyeHVjUDRVR2VocUhMNmc3L2ZIYk9Eby9oM2UzMTYvSWt5bkdFMy9CdjZsdWZGN3JtTXlSdjUrZnVlWDNjaVRzZCt5bjR5ZjY4aytudmZvd3lKMVEyblIzeUpaanA0Skh2ZDBBSGxTaXJaMThlbEd6Y1lvODJFVjRsVDZxZWRzSlpkZUI5aHVKZVlCSGdpNHZuY1pVb2dHd0lVamxGU1NUOWQrMjNHYUZOOVFnZ3grQW5xdkcvWk0yS2Z4WlFUWnUyeEZ0MXhYVVRsVW5oZDJCZkRwOHhkN0tsclgvZjJZM2RjMHEvMVZyK21UdjQvb282L29BeWZzdHVOUFJwVnhkME9IdkkyRmxSY0xwV3M4REpxZjd4YUc2TjN0RDk0Nnk4SmkzMXlsN1hzdWxjSXcrM3FvSzJvOFAxSmhPRkpoa1pMNEtFSnlqOVhLcWxHZVpGMnB6Wkdiemplc1dEVVE1VFo3WGIvRC81dndpNDUwK3AvTVMvYS8wSzZ4RUNjREw3OHJvVXI2MU50VEZ4NVlySjFoVnZCZTVUaFFxTEt2NkVNaVZVUWs1c2Rha3c4UXNkTlVlWE5ELzVoVjByK1RKVlZ4QVR3djFLR3RVVFg2MWJLY0wzOVNhcmZWcGNxVThySFJ0NDVYN2p2QlU5ZCs3WlFJMkxuVVhtKytUTjJ3OUdIQ2NQanhJUFVZcWM2L3psdHI3cHg2dVE3Lyt2ZFF5bTVNWDIrWWE5SHJ3MlU0WHk3SWQxeUVhT1pON2pWdWQ3Yk9ySEM4VGYrNk5YdDd0N0xuRDhRU2YweHl2Q0RkRnN1NHRsNVJKMWpyYWtkUGRMbGpDbjNMbDdiNk95NG1OZy8zRjZqS1pSaGZhbmQ4THpqaEdIRE9LdGQvcHV1MVo2YWdhTTdVbnpoYlk4czMrOTY3OVRZczJ6QngxVDVQOWlyZFJwcE9OdHUyTHVhTXB4ak41enIvTEhtcGUvdGR1U1BtVHJ2ZjJ2OGpObzNySHJxbnF1SENqR0RPdWxwb25JdlVZYS9KMW91Y2l4NXFkMXdnbnY4dnh6cDJzakhwY0ZLS2xudVpXUTd1VlViYlRZMUN5R0VHTG1tbi8zTWJlcVF0V3dtMWRjN0lEK3lsbDFMalU4Y1ZOdkRDd1pOcUp4RlRkKzNaL081VVdjUVQ4SkZaVkpKTmNUNVpxbHd3Qmh0cW82MEhzaC9tdkIveTgxMi80OWNRTjFubHQzL2c4aE8ramREL0QraXNuSmk1UWpLcWdPaitsaGZLSWhtbm5PZ3BVTGptc1Z6cDNUY2hlVGJsTTBEOWtybXYwMFpVaTNYeTVSaG9PbklIM3ZEQTYvdlMrZmpYcENlNzRVUVFreE41NFlVVzErWmYwTjVlTWlSemVxYW52WktFb3NTa3NtdFJGVE5wQXgzdDc1dTFMUHlhNCsrUzgxWTB0eWFydmVGRUdQU3ZtczR4TUJJVVlLd096YmVibGhKUGdKLzFtNDRrbngrL0lJUVFvamlTMll2WEozaFdEclpRRVpRRU8rRStUSWkzeStnRE8reTJ4V3Rvd3gvYkRmTWY0Y3lYQ2dHWFhYdjg5Vng5UHFjVmtqYitITU1GZmlVdWpQdE43cUsrcWh2RU1JOVF0MXhOZEZ5ZlplczYvSWQ2WHpDVURvdWdVeUJKMk9yUmpLWkRGOUJMSVFRWXNCT3dvNFM3bXBLdUlaeXUrRkVuK3Z2MnVQMm9sSTRkOGRZajJlSis3eEFHZDVndHh2NElXVkl0Rnk5eUpZclhxNU8yLzFDWEJsZk5YWVFtd1hjUkJrK1E5VHZSY3J3OVhSYnJoalo5ZnJQWmxBdmZRaEJQd2tQc1Uva3RhTitYU0tSeUgrSmFIS1RWOXFUMFZuYXVyeFlpQjNLL21MUWRLcVhYeWMvdEpaZC9acjN0eUtPcnRmR3JIRjVTNCthRTk2OU4ybzNxV01iRWxXSnhKYWtFS2VzSlB3dkhyTDdQLzlwd3YvSm0rMytQL3ZuVk0yK2J2Zi93Q2Q5K3IrbFZodWpheHozeTRyZ0RYdDBOZXJuL3VWdlMxcm5HeDZrUXRFUU83S1JJNHNQMnUzeS8wZ1pXbDVhRVdMd1pYUElIbWdtN0YzNjhJenpVeDAxSTc4TUQ0VWxzaE9iRWxXSnhLYjJDODArUi9YeW15NndiMld0cU1neDU5dDNITG1YR0o4UU8yVEgxUXhGcFVwS0ZkVWtwMGZEZXFQTld2c1NMZ0p5V1lvSjN1ZTFSS0pxWThqVytQMFhVVUxlWi9mL0tjOFEvbStjWnZkL3hmZUpHeWFudC9OLzNrZ3BwU3J4OHE1WlMyMUNHN014L0syYmpEay9FR01IYkNjK1EwWG1jbUppOUdlVTRUMTJ1NklxeXJDMTVScDQ2ZXpIMzZjbTNqTmcvL0pIYnZ1cjNtazUxcFhld2JVdmx2V2RYNmJxK1JkaVVlamwxSlBVbTRSd0QxRjMxS2NJSVhwV1RQdko3NmdudkF4b1dMMW83alV4TldaMGgyQmpZQy9aejRjdVFEN0RVQ3NRYjdJbVJIR3FKa2JYclZNaVFvZ3JxRjUrMDlTa2tuS3NsMlhIeVpPTGdadDlYRHVNNEd4ZjZEcnV2TmVwYjhzTHhPV2ZwUXkvYXJjYkVOOVlqVHY3MzNwczFzWCs5OFJwVC9ETmhSZkRUcnFMcXZiT2dmYXIzMGdaUGs5VTY3bU12WmtTalhySlAvODFNU1Rsa2I4UFZDVnNrWDA1TldyZGNwWDk0bWRTaTJ0MkVxM2FWMkp3cWlQYlgvM1JWOFl6dmt0ZEVxaFBjOGVrMzNNMTlRR0kxYTE1U3dtN2xpdnRoczZyb2pLaTdwMy92UE16eEl4YWRzZ1ByblR1T01YNUFQVXBFc1QySnY5RUdSS0x6Zk9XWmV4Y21xYXE1NzV6WGJaMjRZcGlaYUJ5SFY2WStpeTFTcnNwYkIralR4aC9qRENzSW9TN0p3WWYyOWo1dXdlbVZXUnpGNjdJRnpSMFlJRndSYUM4WC9oV09aOXcvMnByVWM4bHhQaFEwN1JqWVlkN2xFaXA1RG5FRGRQblVNSVlzOVkrOU9lTkNBR0NneEZCQVg1T2hlcmJQN0dYelE5ZXFTMzNyd2tlR1NhbGttVngvOHFDRUVLSUU1dU0wV2FMajB1N0VERXllMFZnbjZpRDdTZFdwdjRQWVh0WWJiV1dYYnFNaUp5M0xtc3p0TktuWEVtcFRpUHVrejRmRzZQTk9yY3RobjBSSWNEcHdaZWNSclg5cWd3M1JDOWZ6TEJQbVBUWHhQakVJYlZOQ0NGRXdXZ2xmYjFyZG1TZE5tYXRkV3dyaTBRMFFYdDJCNVltcWpZQzVEMUorZjhsWXNMcVVlcWw0VzlzRTBPa2xLck15NExVNXMzYUdGMGJ6NFJKREVROVpKaUFBQlZ0M3R5ZlRVMDRmenpMWHZhbGFaUmg1WFJQbXovdjBicEtKMEx6ZStjbE9GN2NadlBZVXZKMXlDbjJhNTdoNlIwRE8wZFhMcnpyQ2orLzFwTXBrUkVRK0wrMTgxSzRoR29pSG4zTldrUzNYREhUVW11ME1UV2VKa3l5d0tUQWQ2bmwwL0hBSDFKZk9lSUZUekhINDFlOUxYdVhQWHpMQlg0blRHSWdxby9SNjBpZ3YzangreWYvWHZJVzBaRThmdEVIMXJLeUQ3eHN2OXFXWSt1TTBUcmJiNm1uUjFRVDFGQVRlTkd2NHFRQWZSZFRqOER6N1A0dlhPTFQvOGt0cHZXbG15NUI1RkNyQ1FwdzhzK0NrWVROZTlaMXlmM0gzMEtNRDJYRS9pcHRqTW5naFJRZUlnWFFYMnovLzBrQi9vN2FET3JJVFNIZndNSXhTbnJhRDdSeGd6WkcyMTlHNnRSRVIwRGdmNW1YRkdJb3RRT2ttQlA0RWJrenBWU3kxTWNnWTNLN05rWnZ0RytHMWZsSldZRGlVWnVGV0RpSXNQaDE2OXR2ZmNkTEphV1hUWVBxcW96UjVyQ1BTMmVWU0FGcTZ3TTl1WXJONHM0T1A1alNodDIzQ1NGRWp4S3BwUFN5MVg5VHRkSEc3SWcrc1VzUUtVQkxWV0FXck9MbHNUK2xETDVXZUkyVXF0VEwwUEVPbzQwSjI2K3A2eEk5NFd5Q0F2UllRajNkSEYva1plajRrREZHRy92K1ZWMFdCd0VDLzFmY1QrNUhXaGkzLzA5VUc2UE50cGl2Mm1tSWJxUXZYeG80ME94bGxXc1lIeHFqemZxUXhjRGRpR2dCZ3I5U21SVU9KN1F4dW83aHp0bkdvWnZ5c1o4MTlSYWFOMmxqOU5aT00ySGlHNGRWWHlaYkF1elN4bWptS2RxczR5SUFzYnd3Sm80bWpEWm1uL2Y3ZEVJY0JOQSs3OTlTWTdReG0zT214ZW1BU3dSNHV2VWVvNDFKMkgrZUt6ZHdTTUpGUjdMVzcreXVQRzVmb2VDd3NlV3hydlpyVEYwS2w1MUZ2U2FCWE1kRkFGOUpBQWdJd0E0RVlNWkZnTm91TjlQZGhYQVJJRm5sdlJxNWk5UCs2bWlEL0FFQm1IRVNBQThDL25BU2dHTktKbGR3RXFEckx1N3UvRGdKa0x1RHhmNkJBTXhBQUdhUUE1aEJCREFEQVppQkFNd2dCekNEQ0dBR0FqQURBWmhCRG1BR0VjQU1CR0FHQWpDREhNQU1Jb0FaQ01BTUJHQUdPWUFaUkFBekVJQVpDTUFNY2dBemlBQm1JQUF6RUlBWjVBQm1FQUhNUUFCbUlBQXp5QUhNT0FrQS9PRW1BTm9nYjBBQVp0d0VRQkx3QmlLQUdRakFEQVJnSmpzNTRQRzhyZzN4bzNTWmdnaGdCZ0l3QXdHWXdYTUFNNGdBWmlBQU14Q0FHZVFBWmhBQnpFQUFaaUFBTThnQnpDQUNtSUVBekVBQVpwQURtRUVFTUFNQm1JRUF6Q0FITUlNSVlBWUNNQU1CbUVFT1lBWVJ3QXdFWUFZQ01JTWN3QXdpZ0JrSXdBd0VZQVk1Z0JsRUFETVFnQmtJd0F4eUFET0lBR1lnQURNUWdCbmtBR1lRQWN4QUFHWWdBRFBJQWN3Z0FwaUJBTXhBQUdaNk9KMlZhUTY0L2ZZTUw5QjlRUVF3QXdHWWdRRE00RG1BR1VRQU14Q0FHUWpBREhJQU00Z0FaaUFBTXhDQUdlUUFaaEFCekVBQVppQUFNOGdCekNBQ21JRUF6RUFBWnBBRG1FRUVNQU1CbUlFQXpDQUhNSU1JWUFZQ01BTUJtRUVPWUFZUndBd0VZQVlDTUlNY3dBd2lnQmtJd0F3RVlBWTVnQmxFQURNUWdCa0l3QXh5QURPSUFHWWdBRE1RZ0Jua0FHWVFBY3hBQUdZZ0FEUElBY3dnQXBpQkFNeEFBR2FRQTVoQkJEQURBWmlCQU13Z0J6Q0RDR0FHQWpBREFaaEJEbUFHRWNBTUJHQUdBakNESE1BTUlvQVpDTUFNQkdER1RZQmpubXZSM1dteUY3a0pjQ2ltaXVRcUIrMUZiZ0pzanFraXVVcXR2Y2hOZ0dxMFFSbXh4bDdrSmtEanV6SFZKRGM1a0xFQTRzVjRhcEtqL0lwNGtNMXp1MFMvN2YzanFVdE9NbW1WdmN3eEFnNHRpS2NxT2NsdkNmKzdSb0RvdmU3c09PcVNpelRLVFVTcFl3U0krdW5OY1ZRbUY3bVg4cjhvY0wzTXRycHJNNjlMTHZMVWQ4bGlad0hFaXFZck1xMUxMdkw4VEhvczMxMEE4YzZXYXdvenJFM09rZnp4UDBiTXBiZ21ZU0dFRUtXL21KeEpiWEtQbXErL0VYV0theElXUWdpeC90THIzMHUvTmpuSHhqdktJLzJmV2dRSUlVVEpkWlBMaGhXbnBGdnVrYXpmVy8zZWF5dTRxd0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnSGo0ZjlBY2RZSDJGUjVEQUFBQUFFbEZUa1N1UW1DQ1wiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIFxuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjUyXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDI1MFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDI2NFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgyNjJcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgyNzZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjc0XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjg4XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDI4NlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDMwMFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgyOThcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgzMTJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMzEwXCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMzI0XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDMyMlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDMzNlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgzMzRcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgzNDhcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMzQ2XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMzc0XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDM3MlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDM4NlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgzODRcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgzOThcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMzk2XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNDEwXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDQwOFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDQyMlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg0MjBcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg0MzRcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNDMyXCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNDQ2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDQ0NFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDQ1OFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg0NTZcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg0NzBcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNDY4XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNDgyXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDQ4MFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDQ5NFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg0OTJcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg1MDZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNTA0XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNTE4XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDUxNlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDUzMFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg1MjhcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg1NDJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNTQwXCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNTU0XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDU1MlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDU2NlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg1NjRcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg1NzhcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNTc2XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNTkwXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDU4OFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDYwMlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg2MDBcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg2MTRcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNjEyXCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNjI2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDYyNFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDYzOFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg2MzZcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg2NTBcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNjQ4XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNjYyXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDY2MFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDY3NFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg2NzJcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg2ODZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNjg0XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNjk4XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDY5NlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDcxMFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg3MDhcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg3MjJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNzIwXCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNzM0XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDczMlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDc1MFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg3NDhcIlxuICAgICAgICAgIGQ9XCJNIDU5Mi41Niw2MDguMDQgSCA4NDEuMiBWIDgyMi42IEggNTkyLjU2IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxtYXNrXG4gICAgICAgIGlkPVwibWFzazc1NFwiXG4gICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgIHk9ezB9XG4gICAgICAgIHg9ezB9XG4gICAgICAgIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPGltYWdlXG4gICAgICAgICAgaWQ9XCJpbWFnZTc1NlwiXG4gICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFySUFBQUpVQ0FBQUFBRE1ENXJEQUFBQUFYTkNTVlFJNWdwYm1RQUFJQUJKUkVGVWVKenRuWGRnVk1YMng4L2RiSHFoaHhZNmhGNEZSQkRCaW9EMFpnRWJDaXJZeTN2K3NDQVc3UGllaXFLZzZCT3hJMFVCa2Q1N2t3NGhsVTRDSkNGdGQrZjN4L1o3Wis3ZXRyZHN6dWVmSlBmT3pEMXo5NXZaTSswTUFJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ2lObmhqRFpBTHAzZk1kb0NIMDZYcTZ5ODdHcFI4WlZMbHdyT255OXdFcU10cWhUWWpUWkFMalZ1TmRvQ0ZvNnpaL0t5czdOT25MaU0wZzBubHBPc2ViSFhyMzhOQUFDY1AzTG8wUDU5NXd3MkoySkJ5V3BQclZyWEE4RHBYVHQzYkR0cnRDMFJpT1Y4MlZ0V0dHMkJERWpHcHZWcmp4cHRSWVNCa2cwN2VhdFdyRGhqdEJFUkJFcFdEMXk3bHl6ZWhaMHliVURKNmtYMmdsODJ1WXcySWhKQXllcEl6ay96ZGh0dGcvV3hHVzFBWmFMQnN6djNQcDFxdEJWV0J5V3JLMXlIRDdQbTk3SGNWNXVwUU1ucVRkeWRhL1krbkdpMEZSWUdKV3NBN2IvSW1GckxhQ01zQzByV0VGSmZ6WmlSWnJRUkZnVWxheEJKVHgzOWJ6MmpqYkFrS0ZuRGlILzg2TnZWalRiQ2dxQmtEU1R4WDBlZWlqWGFDTXVCa2pXVW1qUDJETVFoTDNtZ1pBMm0xZUlGVFl5MndWcWdaSTJHRzdMdnVXaWpqYkFTS0ZualNYcHZZMGVqYmJBUUtGa3owRzNMaTlqUVNnVWxhd3JpM2xyWjFHZ2JyQUpLMWlUMDNqSEdhQk1zQWtyV0xGU2IvMG04MFRaWUFwU3NhZUFtcldwb3RBMVdBQ1ZySW5wczZXMjBDUllBSldzbTZ2NTF2OUVtbUIrVXJLbUltek1OUDVFUTRBc3lGN2FYWjhjWWJZUEpRY21halFkK1NqRGFCSE9Ea2pVZFF4YWxHRzJDcVVISm1vK2JsMVF4MmdRemc1STFJYjBYWXp2TEJpVnJSbm92d0YzalRGQ3lwdVNtNzNIY2dBVksxcHdNL2h3L0dRYjRZa3pLQTY4WmJZRlpRY21hbGY5N3dHZ0xUQXBLMXF6WVp1SWFHU29vV2RNUzl5T3VSYVNCa2pVdmRYK0lNOW9FTTRLU05USFhtZWNrU1JPQmtqVXprNGNiYllFSlFjbWFHZHVzQmthYllENVFzcWFtNXV3b28wMHdIU2haYzNQYkkwWmJZRHBRc2labk9vYms0SUdTTlRuSk0vRWpDZ2JmaDlucGQ2ZlJGcGdNbEt6cGViZXEwUmFZQzVTczZhbi9rdEVXbUF2TFJUMVhmWWJ0N1U3Vk5rVFpZK0lUVTZyVnFGVzNmcDJZOEwvQnNvNUh3djRNQzJFMzJnRGRXZW5Rc3JTWXRHYXQyblJvbjZ4bG1YeGkzeG9SenVLdFJ1VnJaYU0xbGF3YmUrdHJyKy9iTUd6djB0VjdVN2lLUnNMUExVUWxZZnRlU1orOHJGU3RjUXhXV3E1bFFmeVlWN0lBVVBYZXBSVmFTSlNQNjZZd0dvMkVHVk5MRmdEcS85OUpEVFRLWjFWNGpVYkNpZGtsQ3hBMWZKTVdLZzNDMVN2Y1Zsc0hISmZWSE9kdlBXOWFyM0daM1BNYUYyaGhVTExoWVBVTkF3OXFXK0xBVnRxV1oyRlFzdUhoejQ1UFg5R3lQUHRrTFV1ek5DalpNT0g0cU4yZldwWTNGcU1oZWtESmhvMmNPeDY1cWwxcFZlN1dyaXhyZzVJTkgyVFd0WWUxSysxaG5FNXdnNUlOSi8vMCtFT3pzanAxMXF3b2E0T1NEU3VYaDM2cVZWSGNPSzFLc2pnbzJmRGltS3haQk1QUmVKZzRBS0JrdzgvVUtSb1ZWSytQUmdWWkhKUnMySG5yVFkwS0dxMVJPUllISlJ0K1h2NUttM0lHb1djQWdKTFZBL0xvR2szS3FYT3RKc1ZZSFpTc0RwU1B5ZEdrbkRzMEtjWHFvR1QxNE54WVRYYnY5TmVpRU11RGt0V0ZkWnBFaW0yYnBrVXBWZ2NscXcrdjc5ZWdrS2diTlNqRThxQms5YUhzTVpjR3BmVFZvQXpMZzVMVmlRM3pOQ2dFSnhNQUphc2ZMMm13RXJFeE9yTW9XZjNJbnFXK2pLanU2c3V3UENoWjNYaS9SSDBaS0ZtVXJJNmMrcC82TXJxcUw4THlvR1QxNHhQMWd3WWQ4Zk5DeWVySS9vMnFpNmlPL1MrVXJKNm9YOUZsYTZ1QkdSWUhKYXNqQzlTUGM3WFJ3QXlMZzVMVmtjdC9xUzRDZzhhZ1pIVmxvZW9TbW10Z2hjVkJ5ZXJKY3RYbk5EVFR3Z3hyZzVMVms5UC9xQzJoVnFJV2RsZ2FsS3l1ckZWYndGOWhPT25CWXFCa2RVWHR5T3lpc1dXYTJHRmxVTEs2c3BPb3lyNW9YS0ZHaGxnWWxLeXVuQ3hRazN2eHZackdyTFVvS0ZsZGNha0o3cjFrN0dYTkRMRXdLRmw5VVJHOWMvRTkyTVlDb0dUMTVvVGluSXZHb1dJQkFDV3JONWxLTXk2K0Y3MENONVh2MkdWanlWT1liOGxZYkdNOVlDdXJMMmVVWlZ1TWl2V0JrdFdYQWtXckRCYVBRNi9BQjBwV1h3cVZUTGorZ1lvTkFDV3JMMlVWOHZNc3VZZXVXUHNZWElwb0JjeC83TEk0NTJRYnZJUnhTSjM5UGFmajc5R3grcHFQeU1mcWtzMlZyZGlxOUlLaTMzWVNRa2plMUhyNlZnQ1JpOVVsbXlYVDNEOVliZXgwcHlkRnlkZnQ5YTBDSWcrclN6WkhJOFcrNi9RbmNpN3FnVWN2bWhlclMvYVVQTVV5dkFMN084NmdkSzdsMStsYkRVUTZWcGRzdmh4Yi8yUXA5aTBuUDZscmNVZDlLNEpJeGVLU3RWMlZvMWlXVi9DMlFMR0VFTWMzRGZTdEN5SU5pMHMycVZ5R1lobHRiQlJWc1lTUW9xbTRtZEdFV0Z5eTlSaHFrNkZZaWxmZzQrUXc3SWVaRG90THRyMWtPNWV5dkFJUnhSSkNGamZTdDBKSVNDd3UyZHNrSzVibEZZZ3JscEFyaitNa3ZMbXd1R1FmbEdnbDB5dVlIdHF6V0lzaFpVeUZ4U1U3VFpxUnkxaUtmVU9LTDF6NE1IcTBKc0xpa3AwdnlVYW1ZdCtVMkh2N3RicSsxVUpFc0xoazkwZ3hrYVhZS0FsZWdZZXNudnJXQzJGamJjbkdTcGxKV0ZhTm50bitoa042TmN1ZlJPZkFKRmhic3Awa0dMaWMxY2ErTG4xTWx4QkM1aVhvV3plRWdiVWxPeUcwZlV5dlFLb2Y2Mk1uVHVDYUFtdEw5cHVRNWkxbmVRVnZ5dkFLUEp6cXBtL3RFQ3FXbGl3WGNvRTNVN0V5dlFJM1JZUDFyUjlDdzlLU2JlMEtZWnhXZnF5WGlnbjZWaENoWUduSlBodkN0dVdNNGRRb09XTUZRYmorRHdjT2pNYlNrdDBnYmhwTHNiSkd0L2hNUjgwYWpKVWwyMGhjZVgreC9OaHB5cndDRHgraVpvM0Z5cEo5VWRTd0ZTeXZZSnFLTnBZUVFtYWdaZzNGd3BLMUhSR3o2NjhhOUZ4UnI2dFVMQ0Z2bzJhTnhNS1M3U2RtRnF1TnRiK21XckdFVE5HM29rZ1FGcGJzTWhHcm1GN0JWQTBVUzF5UDZGdFRKQkRyU3JhclNDZnFyM0Q1c1I0cWh1bGJWeVFBNjBwMk1kdW1GUXcvVmhPdmdCQkNTRkVQZlN1TCtMR3NaUHV3Wjc3K1ppbjJWYTBVUzhqcHhycldGdkZqVmNuYXR6TXQranVzZnF5WDNjbjZWaGp4WWxYSlRtSWF4R3hqTmZNSzNQeUlPMitOd2FLU2JYeVpaYy9LbXZRYzlsY3IxRmFWeC9QNlZobnhZRTNKUnExaW1iT1NOWVB3aXJadExDR2tySSsrbFViY1dGT3lyN0NzWVNwV1V6L1dRMDV0Zld1TkFJQkZKVHVBcFQrV1Y4Qk5raEZ1VGpxTDBKMDFBQ3RLdGwwQnc1WlZETVVDUkRVYy92N1dVclYxRlRCWnoyb2piaXdvMllhWkRGTldNYndDTDlXSHpwSjd0RUlJaWxyclUyVWtBT3RKdHQ0aGhpVXNyeUFRZTQ4UHM5WFdPSkJOMGVHdk1CS001U1Ria0tWWXRsY1FURXkvbjByVVZ0b1BqblRwanRVazI0N2xGYXlXcUZnQWdMVFh6cWl0dHBlaTlQRFZGYUZpTWNuMlp4M25JYldOOVpEMGhGYit3WEljTmRBWlMwazJhZ3ByQmt1S0h4dE13dFB5enhLbGNtYzRhb3F3c1pKazA1YXpqRmhUUzBGeDFXZVVxYTA4SVlSa015TGFJMkhDT3BLMTNYdUJaWU1jUHphUUR1dlYxcDRRUXFaclcwOGtCSmFSYk5zVlRCTld5MjlqR3ovODJtTXRPYkEvV2FpMi9vUVVZMkI2WGJHSVpPdCt3djRTWDVNcXQ3U29SODhSUWdwZXNBTzAyYUgyQlJBeVB4dzFSbGhZUXJKMTM3bkNObUN0L0RaMnJIdkZnZU54QUlqL05GUmdyNUE0TEIwUjBYSTczRzlab2JLQWFJY21kb2pRN3ZHeEl0R0lkNDI3d0x2aXpDY0FzU0tkb3JpL1c3aC9PZFg1SEFEY1B6TmVwWVhMK3hPVkpSZ0lTbFpqa29jODFGdDA1UE55QmY5SytaUzVrUHlqU01zWFZkWHpNWkhiL3dJQTZQV3J5bFdFNU1hMTZncEFaR0JxeHlCcDhQOHVLVEJwUGtDNnRHN1ZLUGR6MG84cGVFb2dLeTNYVlBreCtLajNDQ0txNmMyMzM1Z1NJdEhCM1pTTEpSOEJuSGorZW5hdW1LR2V4U3lPSFBmUG8zMlh0Vk5pbzQ4YnIxK3ZLajhpQTFPMnNrblhUcDZYS2FGWHRGYjJXQUVBQU5pWGV2SnZpL05lcXIxWDNWdjRRN082STZFd2wyUmphblc5ODVVZi9wRzQwa3FoWWdIYXVCY1luT251djFTSHRVQk1HbzVPbXRUZkNDem4wNmp1ZnQzc1ZKZWZzMFZGeDhZbkpWZXRYck4yM2RRcU1sN2dodUhubFQ2MDVSdTNKSmF1ZVhsdndLVkc2MVVkT1BQdGZXcHlHMG5sazZ4aHJCK2hXTEVBdGxyVkxwOFBIdXZvdUZiTllvR1M1cWRVNURZU1hJbW1GK3RIcWxBc3VNNGVQczBibmR0N3Q1cmh1bmpMSHZ5Qmt0V0pEYVBPYVYza255K3B5VDArVmlzN2RBWWxxdzhiaDU5TmFaNWVUYjRmbHRTNFpRMVdydmQrVjJGUjJpQVZtUkVacUI0eE1JVDFxZFduWjVhVm5mNWNacGNwNWVWanBXWG52Mm5PdUYyZHRVdEhDc3RVZnhhSUpDd3AyUTIxNjI5ei8zYThqWnpLVnYvYm5Tdm5Xa2FDUGlwaXlwUTNWdjlwSUJLd29tUTNwTm9YZUgvZkl1UDhidHNYM2x5SFdSRVBQbEJoRnA2Z29BOFdsT3lHVkxqT0Y2L0lPZHJHeDEweFRuRGQxcXJJVjhZa3h1dElPS3JjcmdQVzdNamdHb093czNINE9lamppM2hoKy9obFhtL0tOZjhkRjBDREw5TUVPWk1TZmIvZTlpbTk4S3VQL2FWNGFMMU5seDFLc3hvSlNqYmNiQnB4RGlCZ3BqWlZNR3RiL1pOQ2dJSDlSRXVwWm5QUmIvejl3MTJLVFJ1TmtrV0ViQnA2SGdETytpK2M0ODhvdU9ZVkE4Q1NJY0xCaE9TR3ZsOExHSW9GK05mZ1JOYXRVSXg0VWVYa05TSUZpL215RzkxdGFnKy9MenNxaW9mWGwrVmZqNHBLOS91eWo3SGZ5R3ZLcmJ0R2h3OE1zWlprTjNxMkQ5aC84MTdaTEdmRTRFdHZMdWFJQVFBa24xVnMzdXZxUGd0RUVwYVM3Q2JmaHBkNlc5MVhaSTdMcm5BdndzM3RMcGJxYWNYMjdiYmNxaWdyWWlYSmJncm9hVldmbnVGdzVIeFdUMTV0azZZY0xuZWUrVVk4OEVEOEthVUdPaG9wK0FRUW1WaElzcHVDTnhXbU5HdFJUWDU5RTV1MHFCbXFMWHhPc1lrUHlUY0lrWXQxSkx0WlpCdXNQVEZSYkt3bXlpN3JHenVaRlY0eEpEL0plWXhKc09ZRWlCWFlPdVFzNjFiTkY3ZG1abTUrbnRIbWN0Zk1XTDM1cHdkbHJOOHUvRkt1Y1Y3NllGRHY4R09WVmxha2plMXkySjFrZjN2YTNmaDMzVHZKOW90MnVZSnBxUGhVTyt0dUFiTU9GcEhzNWpyTUdqVHlyUmc4UXVtTVJYM3MzYWw3cXEzMHQvSWJ3NHlRUEtYZ0kwRGtZUTNKYm1XM3NkeFgvbVFmQzEzV0FmNER2NVpMLzlidXA5VFFYeFI5Q0lnY0xDSFpMU0k5cjdvQndiaFBwVVpIUjBlN2RSc1ZIUjBkSFIyOXlIKzNUUHJrVkpUU3RkNjVVV28vRU4zQk5RWmhZTXN3WnM4TG9GbkFSRmFkN1E0QTEvL2VjQUUwL3RxOW9DQmdQVmRNejUxU24rajg5bVhaVmdJQVFMMkdKNVZsUkNSamdWWjJTMTJ4Q3R3c2lDcVRtd3dBajFBS21pcjl0YVFyTlhhTXVvL0RBTENWMVp4dFE4K0kzYjVZRWVQNzNiSGZBVUIrTEFLQVJmM3FBd0JBMjRBMUNETDI1QjdkcVhDSnl6VS9Lc3VIU01iMHJld1c5bGdCQUFERUgvQ24zUjdIY1p5bkM4YTUrY1YvdDdTRGpQZnlna0p6clJmSkJLY1NOR2JyTU5FMkZxRGtJOS9TVjhkSHBZUVFUM1JpajRSbWx2bFNMajhvNDdtL3lqRXlnUGI0UFJ0dVRON0tiZzI5N2lYbUs0ODM2NXhKR2NXeVRYZDZpanJaUXRhTDJhZk1ZR2Q5V1U4eEFmZy9waW5iaHA0T21hWjhVdGFUMVFESXhROW1lQUo2Yy9HMVl5OWNjb2NyY3IxYTlFSUtBTGkyVFRnbTY5SC9HU0RYV0RkVjhwVGxNd3pMTFpnMGRSaTViY01reFdiajBtNUxoOE4vZWJYUytza0IxVzFsZTJmL1V1cSsyMnJVdGZFWlM1ZGVEWmVWaUw2WTJUR1E0QlVJc1Uzd3JNTnkvdUViSE9NczE1SWdiRXdzMlcyaTQ3RXN4dnNQQ0Z1SFIzVkdJdWFWckRMRnBwOFBLT0p0YkYxRGc0TmNXckZ0V09pZUY0VkhBbyt6ZlZDSloxSFpRTWxxeFBiaGlucmVjVUg5L0ZvOXRURW1va0hKYXNPT29jckdpbEtDdlFrWlMyUXJMU2haVGRnK1ZPSEpBN3hOWGxhTnJLMG5LRmt0MkRGTTZYaDhZWEhRbjFucWJZbDRVTElhc0ZPaFZ3QUF4VnNEL3lyZHB0NllpQWNscTU0ZFEyUXFsa3Z0MEsyMWV3eldOU2Z3V0puMSs5ejM0K054dEN0eU1OKzQ3SFpoWUZoUmJMMS9PZTF3bG1kOG1nNEFFUDI5djZTTDF3QUExMnpLNm9PSE5yelpEbHVUQ01GMGtwV3IySVQzdk1lSG5oOXZBNERxUzczYkZQS0hjd0J4VXp6enQ0WHZoenJER2JFR1pwUHNkcG1MOTJMbStEZlNsRDNLQVVEU3k2ZGNoSkNTdjY0QmdQaTV2dHV1cFFyaUlTSG13MlNTM1NHempZVUpnV2ZJWE80S0FNQ2xEbnZwellsZDdBREF2UmE0TSt4TDYyMS9SWVNZUzdJNzVCNTlYQzBqS1AvdlBJZTE3ZVhBdTZVM2F2YmFJZ2owOGRXd2MxaU96QnczTmhiN0UrNEw4bDlqSitEQWdSRGNsYUNDWFVOejVXYnBGU3pDbEg4ZEJlQ3lmcStBdUZHcEFOd0lYdW9xbDFRWmlKZ0JFemtHc3IwQ0FHNCtyU0RIUUlBSmd2QUdoSkJTK1UrSWZMQ1ZWY3d1MlY0QkFQRFBvM2NSQUxoeUFlRDAxVGdBNFBXM09PeC9DVUhKS21YM0VObGVBUURKNVAzOTJDNEF1SkFKOEVlWEtnQXh2QkR6eGJqL0t3SXdpMk93VTlsM051K2M1Tk84Yyt0K0NIN0lPb3hZTEtUeXRiSnJpQmFsWEh4V2dWY0FBRnQzQkIzNi9UUHYzTHJ2UmdhNkFtUitoYUtISUtaQ2RTdHI4RC9wVGNVQnRtVHdwODVpbGdXYXVodW5iQ01CcTB1V2U3VEVaOHFaM29MYnpZNzVMVDEzTFNVL1lqbXNMbG13amZCTWdEazNkNmJjYnJQTk85cDFHRGVDUlFhV2x5eEE2dVBMTXM0YyttVTAvV2pRS2svdkxYRTRTbzlNcmVXOXd1RVVaU0NXbXhGVUhlQW9tajgwcWdzSmRaT2MrV2U5QjNOSEpVUlZYR1YyQStQVEduTzUyVVh1UDJLdnViVjU4cVdEeS8vQlE3MnRpaFZiV2E3Rit3ZUxuWTd6YSs2WGV3NDkxMmVkKzN5a2tvVnlnczBpWnNLQ2tvMSs4cUxuMmE2dDhzN1ppbnJXUDc1d2NZemx2aEVSQUxDaVpLTm5CRXdmbk80bEl5YzNPZkFJdXFKQllUTVJDU2ZXayt6alFSTmVKeHRLejlucFVwRGxXUmoreUpKWVRyS056d2MvL3l2Si9YL2JUenpUcDRmVFRzdUE0eWZoWm56TjRMOUhOcFdhczlHdHZBdWpjRFlNVUxKaEozb3c3MEx5N1ZLemRxN0t1OUJJc3RvakdlTUgxaU9jMm9JVlh3ODI0Vjg1K1dVWkpEL0NQM3lKQ0U3eWltcTJSMFBMckFwS05zd2tKL092ZEJiTTA3cnlGc0Q5NzBnWXc4SW9jNENTRFRzT0ovOFZPOHI1YWZKUEFCeTRJSmhtaU9JcmxNZzRiakZ5UWNtR21Zc1grVU5UWDMvSVQ1Ti9EbUJWWjBGejNPRjczajZhcTBjMU5jMmlvR1REVFA1ZW5tVEpvc1BVaE1KUWRMbkhXd1pmMkt3d2lHMWtnU01HNFdhdUsvanZvK3VrNWl6NlBIamxqT05qUTFiMElDcXgzRlJDM0xxZ3h6c2VrSjQxYVgxUTFubjRsV2hKTENkWmFITXE4UEZ6NWV4QWJIWXdJT2ZxR21FekVRa24xcE1zWEh2UzkzRG5kMG15c2paYzRsMmdVRDRiNHlCYUZBdEtGaHJNTFhJL08rTmh1YnU4WTRZdE8rY2tqcnlmKzJJVURnK1dXNE5weVYwSlhJdUJuV3VYWmE1ZXJTREVGcGRhTy9icTZYenRqYklxNk5IckFUbDZGR3pnQ3AyUWx2ZnNXWTJ0c1Rnb1diMVFKbGhFQUk3TEloWURXMWtGY0YxMlNrMXFiOXc4alR0MUpNdkFTRVhKN1d0ekJRZHdlWUpobUdERWdCdS9VR0xLK1BzM1hTV0VrS3ZiSHBhN3QxWXJFb2QrbTFudU9MdndvVnFoMHlKaHdYakpjdmVYL0M0dFplY3RUdTlUWFR1NnFYMnVFcUpHN1BjR244bDloaDdxQXdrM2hrdVd1NitFL0NBcFpiK2dYVi81QTFVK1dBSHgvd25Zb3V0YVhqZDBEa1I3akpZczkwQUpJZDlLU2RtSnQwK3hvSWU2SjhzbitxdmdhUFpiYTRiT2cyaU93WkxsN3I5S0NKa2pJV1hpVnY2VGR3dFd4SWFacDV3OEM3N0YzcllCR0N0Wjd0NnJoQkF5UzBMUzhZTHpPbHlUMVR4YVBrM1A4eTJvaUlUb0hUZ3VLd2Z1M2xueEFKS21CZXlQQ3ViQ3VmSHgycHNrd21NQ1A4RCtkQVJFc2tmSnlvQzc3N000QUpBazJmVFd3bXR0bXdtdmhZK0VJY0pyMTBYQXRuSjBicVREamZ0VWVqUFpsaktrRkQweVZYZ1JBRTRmVm5OK1ErSUkrckxFNnBRRFNHTDdIbEh4SkhPQWtwVU1OM1pXbk9kWENkOU4xUGhacjlEVFh1bS9XYUZOQUFDUFNkbE83b0ZycStKQkpnRWxLeFh1M3MvaWZMK0hUazVWTlNOZkFqOHNqQ3dLbmZUL0lJNzJORlZQTWdjb1dZbHc5ODcwZXdVUzNocDFUdi9yWGRTMHVhcldBTS9aUTNkWHVyOU51VmlvNWtubUFDVXJEZTZlendLRUlhSGZmYmc4Um5ETk5YT0hoaVo1cWRoQ3YzNkZZZ0ZZMzVYRkVRTnBjR08vREd6S0tGcmdjK0NrOEZxR3JxRXpEcDhSWGl0ZnJhY0Y0UUVsS3dWdTNPZHhnWC9Ic1JMNktmMUdlRzMrRmEwTWtrTHhFdUcxWFJodlJuK01tUDNpeGhZSGw3RlVRcWFhSi9oUHp0WjVXVXE3eTN3TG5QZm9hd0VDWUloa3VYdXU4c3FRRlBEbERsNnUwcEd5bjZ5UzEvbHp4bjlJOEdnUXJkRmZzb0kybGhCSm14SzRTYVdCZWNxZTFIMDNjOEtpWUxNUEt6dmRIRkdIN3BMbHhna1VTNlI1aE55b1BIK1cwM2NiMEcxSStUbHdMZGRPWGVlTEVTOTZTNWE3UjZoWVF1bUxVMm40MFNrWElZUzR6bnpTV0c1Rk5TSG1pUnl2YzNEcGd3Z0prSVNoTjhUaDdwcE5HYWd2cWlheEVLNUc5NjUxNGZUdXJlZlZyQ0pRUStxb0llbEozTlZUeTc0N2JwUUpsUjE5VzFtS0gwc0lJV1ZXbXZlMDFlelNMUzJDcG93aXFDcGhnTHY3YytvZXYrZ2tCWkdLak1KMTRZTFJKbWdLVGlXSXdOMzFCWDB2TnhjaGJxRWx3VmFXRFhmM2w2ejFzWG9HQmVEaTdlV2xPajdQN0tCa21YRDNmTTVjMFUxZnFzM0czcVJWemZLOGZRWHllMEQxaHZkckhGOTRmUEVTakgxb1ZYVHJmbkYzRmJFTGVVYVd6ZlpCcTY4UVFoeW5QcFc3anlYbUNVOEljTmV4TVJoZzFxTG9KVm51THVwWWdZZjM1SmhjOVJ0ZkFJd3pkOHJxUENSODdaOEtLSitHMzRqV1JDZkpjbmVMdExHRXpKTmhjZkt5Z0l3bEQ4Z1lDWS82YitBaUFjZlRsaHRFUndEMGtxeW9WMEFrcm92eEZQVlJVTTVMWGFWbjdWOFduTFdkOUt5SWVkQkZzdHdZTWErQUVKSWgzZUF1dkFWZHl5U0hFckN2NFQzMUsyeG1BVWNNcUhCajVvU0lFbGduVHZLdzB3VGVzTU9OMSt6akp5bHpBa0MwUU1xdHV2TXVES2dSV1pNQ3lrREpDdUh1L0RKVVhNdTRPcGtTQzR1L2lYY2g1bWZCM29TOEIvS2d6YXpxL01zSi9ERzJtczFSc2hZay9JNEJOMGJjanlXRUVIS2pWSHNiRjBxdzZTNkE1eVVrYzQxUjkrNGlBMnhsK1hDanZwSVFPN2laMUgxL0NZSjlZcGNFdTF4UHJBRDRxYWRnbTAzZGhnTGJKRDQwb2tISjh1REd6SllTN2JxRjFQSkt5L212ZU5tOS9Ea3dsd3NnYTRSZ3hIYnMxN3dMSkZmcVV5TVpsR3d3M09ndkpaMXEwREowRWpmbnpqYmhYVGxLUCtyREpZaE50NmNzTnZoQy9qR3BUNDFrY0NWWEVOeklPZElPbVcwbHRjU2lqYndMenIra1pqMjBoM2ZoNy9OU3N5SW1JcnpkcjlFaHhtTjlsRWcrWWFaUGVYRE9UUktDSUhnWVZSR1VzNWcvNklWWWduQktWdEpZZ1llT1VnMk8raTRvWDhrdDB1dHFueHVZMHprVmUxK1dKSXlTNVVaSkdaRHlJRDJJUmVyT2dHeU9GK1hvcnNydi9rVUd6azlpUTJkQVRFZ1lKVHRTZWhzcmF5MVgvYjk5d2l0NlZsNS9OK0gxUzU2Y3B4K0xnSmp4bFpQd1NYYTBITVVTeVowb0FFaVlmTGlDRU9JcVh0eEQ3bmM3bHo1dHcrbUNuSlhQMVplWk1YS3huSHVrZGxQNGlYVDZRUWZjeUsra2pSVjRPRi9YS1NOMVVxY3VOU3F5TjJWNjlwTFg3dGdxT21kM0Jxc0VlMnFLODZKdkIwTjBZcFNqU003REVIT2hzcFU5VGpsMUF3Q0FrK1VWRUVLY3lrT3YxUDNQR1JjaHBQaVBhNmtOUnNwam15NVdsT1g4ZWl1T21VY0c2aVI3bkRHZUtsdXhoQ2llNys5MjNGdEUwV1RLNXBocmRuczgzL0s1Vm9xV2dEQlJKZGtUakRZVzVJd1ZlSmloc0FLdGMvMWxsSTBYM081MnhuOTdtZDdITVNMaFFJMWtqN2RoRkRwU3ZtSUpJOXg3S0dKV0JoWnlnYjlXb2RxK3dOc3pjSEl5QWxBaFdXWWJPMXkyVjBBSUtWSFdCTjRlUEtQMU1jK2RmUzdvYm1FRW5IbUVLSmRzQmt1eDh2MVlRb2lNSmJOQnpBNHVKRE9GOHg1MnhIRWNGN3N2K1BZMFpTOHBvcWs4dmRJVGd3OVJyM01qdnBhOFhpQ0l2a3FPeW9qcUhQeDMycytsQUJtdlhvSGEwK29BUUF5dmU5alhKdUhzVWNUY0tHMWxNeGgrTERkTWdSOUxDSkcxeTlaUDRsRktTYTR4ZkkvQXl4R2M4aEpRV1ZyWnpJSDBOaFlHL2s5Wkd3dlFMVVhCQVRQODZGcmtnaE1nYnh2QXlvUFZBU0M2ZXJCdlN6QW1ySUJLSXRrTWhsY0EwRk9wWWlHdTl4L3lNMVdjYUIvMGQzNzN5d0FscFFDN3U4VUNRTDFOS1VHMzg5QXZFRkE1UmxFeUJ4OWczZHFtdk5SK1NqSXREbTQzMTJZWEZCU1VBZ0JjTFNnb0tEaDZPRGoxU3BTczlWSGl5MmF5eGdvQW9MNURRWUZ1amlsWm9GRTF5Smt0Njh1N1BUSG8zS01DUEpBakFsQWdXVmJQeTQzZ1JEbkpPRVgrRTlnTUNvd2U4NGtOQUdJSHpOcThhOG5URFFBQUVqY0czSFc5YkxsVlM0Z1ErWkk5S1I3SzZsdkZraVV2S0trQTk2aFBzNjc1aVFEUVpyVzdvVC8vaEIwQVd2cFdJQkRYOTlMMzNDRG1SYlprUXlnV0ppaVhMSDhub2pTNG0zZTZRM0NlZWlZT0FEcmxlSXR6dmhNRkFNMVhlQUowRnIwdFpYYzZZbnJrU3Zaa3FEblAxdnhUTTZWVG9mQzB3dmgrSHk1WTh0Vjl0UUVBcXV3S0tPOHVBSURZWWI5bEZWLys1NVBPNkJWRUJqSWxHNnFOQmJEbGhTNkZ4UlBLNitIVjQrVEEvNWdEN2xYbXRxUWExWmd4N3hHcklVK3lKOXVITG5HZWNzbHVVRjJkNkEyQjVUbjRNZWNRSVpFOUxwczFlSC9vUkN1Vmw5OUQ5U0JVVXRCb1J0UTFhc3VyQkVTMFpMUHVrS0JZV0tWOHVEN3FUc1ZaUFNRRVR6L1dWRnRlSlNDU0paczE2QjhweVRJRmtRaWxNMDd0KzdzYWZCZ3VucFFVbWdpV2JLWVVyd0FBWUxueVo2VDNVcDRYQUFDS2d2NWZYTHRVRmxjWmlGekpaZzhXQkhobjhLZnloM0FQS2M4TEFBQVZQd2F1T1RpbWNIY09ZbWFramhoSUdTdndFRitnZk15Z1NPMXB0dFgyK3d1cnVGZGxZWldDU0YxOG1EbEVvbGNBQUNVclJ5aCtUdUo5SHlyT0N3QUFCZU4vOTRidmRzMzhYa1ZCTHc1V2xtLzhRUlVQUlNRZ3JaWE42aUNuekhIS1cxbHlUTkUvZlZSTWpNOGw2N1RKUFVPYi82OFk3eVdiZkg4dDVwd3krd3NWcnhjMmlzaHNaU1gzdk53czVZZkxsa0h6TzM2WG5TZmw3aEhwY1Bqbkh3c0JBR0RQTGJjUGJSZDdldlVQR1c2M2xtczV1bk44OXJMbHhiTEtIS1R3OFBKZDhoNkR5RWRLSzVzcE9maXJoK1hLV2loQ2lKSXRZSzEzdUFnaHhMWEpkd2d6WjR2eXRhc3hMMThtaEJEblJua2J3cGNxTkgrcWJQTVJtVWlRYkpaY3hjTERDajl2UWdoeHlSM25xbmZZbTNVUHBXVzB2ZU05YWZtRTVDTkVBS0NKMHBYcU44aTBIcEZOYU1sbXl2SmpBUUFndFZUaEIwNElJWXZsUFl2NzFKLzFYZUh0bS95bS9DN0RhNXV1MFBoTHVQd203SVNVckd5dkFBRGdUNFdmT0NHRU9PVXRERWdOQ0xxVlhjTXJudUo3QUFBZ0FFbEVRVlJ1dDl2dEhBQ0F6VzYzMiszMlgveDNTNlRYSkY1aDU0c3NrdmVlekVERWRiK3loKzVWa092Ny9zcWZhSHRWMXZCUzh3QnZJRzFWR1FEQW1wZktvZkYvNndBQWNBRWViRnd2eVZXNVcySG5TODNNSHlLUkVLMXNWaWRGcGFaY1Z0aEtFVUtJczRlc0NnaVhsSmMwb3g4SU9sVnFtYlo5bE55U1RHOGF1bkN6RVdHdGJNNFEvbGxaMHJpeWNKenloOXJldkVWR2hJeDhoejhDalBPRUV3QmdVeDdBNGtIdVZWeE5BOGJiTGtvdHM3LzBxYjVnRHB4VW1CR1JqbWdybTlVNWRBRjBibExZVEJGQ0NIRU5sUEdrcElCZDRYdXF4TWJHeHNaeUFBQlJzYkd4c2JGeGkveDN5eVE3eVd1Vld2Nm03QmVGeUVaTXNsbGRGQmNiZFZ5azNKQWNpQW45QkI5UCtqd0RCMlZSVFgvL3lYYkxwWmJhUjdIaDNXVFlqU2hFUkxMWnl2eFlOeThwL3RnSkllUXBHVStLLzhXaldkZi9LSk51OXBsZVJaK1MrbTNQclZKcWRrYUUrWVhtaEMzWmJNVmVBUUJBbXBxaFdWSWdPSmxlaE9RUEN3a2g1UExiMU9uOWhQZXVFa0tJYTUva1R0M05pczErWDRiVmlGS1lrbFhoRlFBQXdLK0tQM2hDQ0pHMUJzdlcrdG5aWHo2ZHp0ajBiZXYrMGNhZEN4NnFJcm0wcllxdHhrTng5WUFsMlJ5VmlsWFJWaEZDaUd1QXZLZUp4eWpnYkRKaUdOeXAyT2pEbEFOeEVNMWhTRmFkVndBQVlOdFBMMWtpV2FGT1BJcHFPWEJRTzlrUmpybWFYWHMyRmwyS21IQlNzYzFUNVZxREtJRXUyV3dOZGxOUFZQelJFMElJbVNOZWVzdmZDd201dWxwbUY3M21CM2tWcnZ5Rll2M0tWeFZiN0VpWFp3eWlES3BrYzdUWS81OTBWdkdIVHdnaHJtRmloWGZJY3FmS2wzRzJQVUNkYmU1YzUyOW1KbWxlck5qaU5YSk1RUlJEazZ4cVA5Yk5OTVVmUGlHRWtQTWlFYnJpZkRFNGo4c0lWUkRsQzJSenNnNGppVzJaY29QdmsvVjJFS1ZRSkt1UllxR09zc09VZkt4aGU2cTMrWmF6dWg1TkZCQUZBQkFydk43Rkg0cjJhVWJCOXlzMzk0S3NZNmJOUXdTTUplY08xV2ozLzVtNWsxVGw3L1BHdjFpM3J2UDF6Ym5wendsR0E5WlBMSVcyYzFJRnVSTDhpMWx2b3A4LzJrREZac252aTVUblJXUWdhR1Z6dW1wV2RoTlYwd21FT0VlelN2NUFORjlKTTlZaFNqN1dVVWNOb2xZb045WmgxWk1iTGQvSzVnN2RxVmxaSitjOXFDcS9iYzV4Um9PZjQvLzFlQ2EvbFNXYnNnRit2RWE0NUxWR1IxL1NDOVRBWWMvSjZzd0ZzNHA1NGdtaUxieFdWc00yRmdDYXEyeG1TWFlhdmVDMnZuNTl4VzJjQUhjYTRmVm1WN3k1WE1JanhRR2dkem5kQ2tuY29lV0xRMFFJbHF5MmlnWDRVb1VHQ0NHRTdLSFBLTmcrOFM1MldTUmowWmZ0STIrdTNiVHAyM3E1S2d3OVlQbnZWOHNRSk5sY3JlT3hOcjdLK29pbHNwcCt3RUh5RDA1Q0NIR3RabzFXMFhQOTV0YnNVZG9PelBoTmF1eDhXTW5yUVpRUUtObGNqZHRZQUppaFJnYUVFRUtXME1ONHhJNWRlZWJjaGtreVk3UEVQN0s3NEhMbWgvVW90Mndxb284VGtvTTdhM1VqUUxLNVlWaWduSnF2VnJMa2QwYm9tYWo0UkFWZnh0R3BEZUpwYTJTNHQxVVorYXg4U3hDRitDVWJEc1VDL0Z1dFlnbFpva2NMOXB6eWczUUlJV2VTZFRBUmNlT1RiQmk4QWdDQWhBejFtbDB0ZWEycllpWTdRNXNod3ZOaE54RHg0WlZzbUJRTE1FYTlaTWx1eGxpWFpqeWhUckY1Mk1qcWlFZXllV0ZiVUc5VHZKTXFnT3lBWlE5eFZSSzFPSFF1T2lYWk93UEdUVkhsRlJBeVdRTjdFS200SlhzcWpGdERPNVJwb05raTcxazFWVjdlbDMvOHM4WnFqYktQWFhmdTFJTHJPUUFBK3ljcWpUdUdaK1BxeVMyRUVKSVgxczNNNzJzZ1dlS2FFUU1BVUgwZElVUlJhTHNnN0I4NUNDR2s2RjRBcUxwRXJXM01wUkJJT0xpRmhOTXJBQUNBbEV5MW1pQ0VFTEtsT1FCODdQbGprN3FHYlpSbjhlS0Y1dERtb0ZyRE5sajdUQmZMSGUxNzh6STRPM3hiZUo4eGFLRW1yNlh3bVRrMUQzcFdkTHUrRUlsV2xQOTFBU1RjVDVzdjhNQU45UjdDK0VybXAycTdUczVlVzFXV2dKZ1BWUk5MQVN3YkpLMW5QdzNnRVdrOUtoV0g1M2dKc1VrTnNTU3BwOVVyZ3hCQ2lIK3BsVXVFMHZzQStoZUtwZERJSEVJSXVTQmNTbTR0TE9jWTZNT0luelYrTVNWRDh0ZzN5MDY2Z0dzb3N2eUF2RHBHTTBzbWZxRlpVWWlaK0ViRGRvMFFRbWFwNi9KMDBzQWhjTE1XdzIxRUtGVlBhS1VSUWdoeC9xaTJ6M1NYbXRYY0FWeHRyY25yUVV6STlScHB4TTNXTzJYSGlRbWt4a3ZxWWl6NCtiZFc3d2N4SCtxaWR3ckllMTF4alBldXM1V0gxK0N4Q2ZjaVJEQjJOZWZYMFhDdWUwUkJaejN0bVQzYW1WRFlVdnYzaEppSDJ0bmFhY1ZEeFpwbjI4b1lpdURhUHI5QjNaSXRIaEd4ZXdZSHVkajBYS1g4YUZzMnVXdldiVHJzREpuTTFyelhEVGMxMVBiUlA0K1JjUXlKYVVISmlqRHhzekM5bml0Nzl1NC9mUHdNUTBBMW03WnUxNmxMTmMyZm5kRzFRT3NpalFBbEt3TDM2YU5oTEowVVorZWVQbmV4b0xDNHROd0Z0dWk0aE9TcTFWUHJwRFdzRXA1bEt5VTM3QWhMdVhxRGtoVWo1azkybEV6TE1lRkxveTNRQnBTc0tEWFdSOHpRKzZ4SEk4R1JCWlJzS0pwdGtCVXJ3N3lzN1ZkbXRBa2FnWklOUWJlL1U0dzJRUXVPOXpwbnRBbGFZZTBGNmpxd2ZYU3AwU1pvd01YQkVhTll3SFU5b1RoeGRLamxYMUxKNE1nWUxBQUFsS3dFRHVZTXN2aDNrZU9lcFVhYm9DRW8yZERzT1RQQTBwcDFQVExQYUJPMEJDVXJnWjFuKzF0WXMrVFptVWFib0Nrb1dTbnN6QjFvV2MyU2YzOWd0QW1JRWR5cE5pUzlVYmd3WWx4bFpXQ2gwZUpUaFBNcG8xOGNZaGc5dGRyTG9pY1ZEeG45MnJRSFo3OGswM0p4QzZOTmtFdkp1RitOTmtGN1VMTFNTZjM1QnFOTmtNZkZFV3VOTmlFTTRJaUJkSXAvck5mWmFCdmtjUHkyQ0pyejhvT1NsWUZqMGFXYnJQUEMxdmJQTXRvRXhBVGNlTXJvSHBWRVhKK0ZZK01hWWtIcXJ6WmFqSks0K2xERTlsS3M4ejFuRWdxL2g1N21mMm5IQnY1aHRBbUlpZWg3MHVnMk5CVHo2U2ZwSXBXVzZ0OXFHZkJWY3k0L0VMRk9BYUlVYm5pZTBicGtzNmFaMGE4SE1TTTF2OVkwOHBCMkZENkprZUlRT3JjZU1scWROSlpoRTRzd2lYL0pkSXU3OHU2MjdMSmVSQmNhenplVmQxRDZBUTRVSUtIb3RjRm9uZnB3TFdwbDlOdEFySUJ0MkQ2anRlcG04NDFHdndyRUt0akhtcUFmdG1jb09yR0lkS0x2TnJpbDNUWFMvRlBJaUxtSUdyek9zUGt3NTFycjd2NUZESVRyTWMrUVBiaWw4M3NZWFhYRXN0Ui9KVk52d2VhODFzRG9XaU9XSm5yZ2J6bzJ0V1ZMaHNZWVhXUEUrcVJPM3V6UVE2L08zYy9WTjdxdUJvSEwxRFNuK2NpUm5jTGJnM2NkK3VYbkEyRjlncGxCeVlhRHBvTUc5d3JYMXF1SzdRc1hINDZRWXc4VWdaSU5FMVZ2Nm5kckk2MUhuOGlwVmN2K2pweDQzTXBBeVlZUHJsbmZHM28zMUVxMjVQU0dkV3NPdVRRcXpjS2daTU5Ndys0OXVuVk1VZm1haS9idjJMSTFveko3QXdHZ1pIWEEzcnhqaDNadEdpb1prcXJJTzdoLy83NGo1WnJiWkYxUXNycVIyQ1M5V2RQR2pkSVNwQXduT0V0eXNyTk9aQnpMS0F5N1hWWURKYXMzWFBYYWRWSlRhOVNvV2pVNU9TRWhMamJhRGdCQW5HWGxaY1hGeFpjdlg4cS9jUDdjNlhNRjZMVXlRTWthRHNmWmlBdjlWQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCSklKaDVMU2xhb09HZFd0V1RZeUpjcFlYWDc1NE9pZTdBQVBFYVl3T2tvMUpsWlRNNWF3b0xiSHk1NXZjclZmWERuVjVwM3BVbk4yL1kvT1dBbU1zaWt4MGtHeXZEZExTRVVmRjFkTlp4LzdaZWJnc3ZBYUZnL3BEQi9kS1pOMHMzYnBvd1VrOXJVSFUwVXZ1TVd3WEZ6L1cwR2lqWlJFemZHbFppRHBWckxvelhLY3FJWm9qVzdLRWtQSlY5OFFiYmJkVUVwL0lrRlNucktlWXpUQmlMcFJJbGhDUzgxeVMwWlpMd1Q0K1czS1ZzdThMNzZtTGlFWW9sQ3doT2ZlYS94UHV1azFXbGRhMU50cGdSQUtLSlV2SWlzWkdHeTlPekxSUVBpeWZva2UxUG5FUjBSNFZraVVYaGhodHZSaHA2eFJVNlpzRW84MUdRcUZHc3FUaWVmTk9kblRMVlZTbGRUV01OaHdKZ1NySkV0Y2JadFhzN1ZjVVZtbTN0TGtWeEREVVNaYTRYalM2QW5RR2xTaXUwdllxUmh1UGlLSlNzc1F4MnVnYTBMajVxb29xL1JGdHRQbUlHR29sU3k2bEcxMEZJZTN6VlZWcHV0SDJJMktvbGl4Wlp6ZTZEbnhxSEZOWEkwYy9vMnRnWFN3eFN0ajdYcU10NEdHYjAxeGRBVkZmb0R0cll0UzNzaVRIWkxQemo2bXYwZ3lqNjJCWlRMVDRVSXpKbjZvdlF6dWE3a2tXdTExd0tMZVFTNm5mc3ByWXl5M3JlRVJqcXhETllMYXlMaDhoMjZTRFpscHR3QzBTc2ZUQ2U5MDh3d0gyVGxQRlZzek1NN1lTaUFnc3lSNUw4OUdvM2ExUHpMOGdwdGxlUnRjaWdBSHNmN0h5dDROODFMaG5DdGxKVmJyRGxSWURIWVBEdkZWTjhhTmVhY1lzNUtPbjVUM1UzcXhUaTdUcUJSUEYwbkJKTFpvM3JGTTlPUzZLbEJVWG5NdkpPSExCSmFYb0hSMVp0ODZNNHRlMXpVS21Najk0VHNMRFZNSWxObXZXb0U3MUt2SFJuTE9zc09CY2JzYlJpMUxxeUNlcWRzc21hYWxWRTJNNFowbmh4ZE5aeDA1YzFkeFdxWmhJc2dDSkh6L0FLdVJ3RzkrMnNJUzIxQlRGQjMyL3h2WWZlWE1kQUlDakxabFcxYnVsNzdYTlk0S3Z1WEszci8zcldLaVBkUFNQckR1bmJoTDZwL1hYTjJHa1B0dTQxUDFMSjliRXdoVmhjZEdkNkVuM0NUY2ZjV20zM05DZFgwVWd1VHMzckRqZ1pEeVJocjNUTGIyNzFPWUpwZlRRcGxXckxza294Vkt3SElORHdxUzJXYXl2VVVkZFg2S085QlJaM3Z0VnB1UjVyN0Y2T0RVbmIzUXdIdVQ2NXlYeFhUeTJuU3diaTYraHBlL0VuTmdkNEVteGtKVWdTemdFZVFNOTVRV0I2bXMvczkzSktwZGt2TnRXWWx2RmRma1AweUcvdW1oVWhHNE9raUZaaVB1SDlYNEcrTkswWTd4QTkrdXozWGZHZjQwdTJmUXZpcGdmSmlHRWxQM1lXYVE2TnpMelBVYlA4Q29yL1plZUJHTllDWnpDYWI4cDlKUnplY2xhZlIxaUJZUno1VzBTUkJzMVlwTjQxemp2eFlnY1g1WWpXUmpGZWpuUCtwSzBwQ2R3MUFZQXFMNGc4QnBOc25Wbmw0dC9tb1FReHp4MlMvc3pLOU1teHJSTTRobEdocE9lWVpEa1M2d2lIeElVdG95ZU1IaFpjWTNQUWxlUmtGVU1IOE1IZDl2dTBLV2NtMlM2cVVuMXlKSnNMR3ZjNEdOZmttYU1GT2tBME9SUTBDV2haRzBUQzBKL0RJU1F5NnpkQTZtczVzdDFBK3NGdk1aNmlMZTMrUjByd1hmOG9tTG8xaGNHTFJzZmNFcFNGVW41NjN4SE40amFQNFFlZkNTRWtPM3R4RXF4SkxJa0M0c1pxZjE5bnNhTUZOMEFHbVVHWHhKSXRvYllrR293QzZwUzdYdVVsWDRkOHdVMFozMzBkM2tTREdDVm1jMy92N21HbnU3WGdDVGNxMndmbHMvYU9reWo0ZGJUVWtzcGZwQmRpaldSSjlsM0dhbVgrVkkwWktTNENWTDI4Uzd4SmR2NnVOU1BnUkR5VDJPYWZhdFl5ZStpcFhhem41SEZ1NTRybHVVNnVQZ2pIay9UMDQzenA3RE5sRkZGY293MXJNZzlWU0dqbUEvMFhLcGl1bVV4K1l6ci9pNHhheEFxa2Z1a3ZYalozZGV6QjM2RnRGM2JRbml4Sm10TzQvSkNka21ybkhTOFE3Wmx2ekV5Y3IxNUYvaC91Nm40dy8vNzlFZlpkZ2hwL25jRCtvUGZtaUhIUlgxbXRwbG1KOVVqcjVYOU55UDFDbCtLZW93VW8rNFFmQUVIdDdLZDVhNXhQWmttTUkvWnUvOUI1QTNFMTZDVDRrM1FtMVhxdDhFRjJlbGYxdjUzQTNmTHJDTFpSVnR4eEwwbHQ1aFB6THJkU1JIYU9BYitScXdPSThVREJ3V1hnaVRiVUdLdkpJQWRncytUT1hCOHY1cFhaR2ZGbXprWi9DM0lHQ3laNUV1UXhoeDhZUElGeFo3SjBqcGVnY2ljblRRMzhpVEw2aC9OOWFWZ1NYYTU4RktnWk9PMnkvNFlDSm5EczQ0VC9sdTRjVFZWOVk3ZVpoVHJEQzUyUEQyUi84dGd2dndxT204V1dOTlh5aGdaajRyclZiMEFjNkhOSUpkLzYwa3FJd1dsWlFpVTdBejVId01ocnVIQjV0VmtkVXBPcS90aTdNUnExb0lYdDM5RlRiUFZkNys5OU1FQ1A3djVYbXNONlNHYkFzalFLeDZWMmJwZlExaWIvRU1IdXhRWHpmVlBLTEFHdVA4R3orNTBZSFZLOXFpTGpMdjNBT05HMEdBdjE1T2Fab0h2dDhlVmZKeWRCdkV1ZkVEdmtvV2d5VFFsdVJSZ01zbkd2OGE2YzVCMVF4cFJNOWsxZFJZN21QZnFCMjlKWnc1SnFEU1AyWHU3SWZBZnNUWmxDQVBBNytiSGpxRVhzdmU5Q1hlTmUvYXJMUHBkbUJUODV3M2o2TWtBQU1xdXN2ODFKN1BYSUZrTk9jdGl2bUY5N1pUNkIvWlpqZ0VGdjJOQTl3SUpJVHNudG9nQ1c0Tzdsak8rbW92cUJScjRPYXNZV1VOTEZGb3dsdWs0Nmdja0drcE40djl2dVkxNi81SjNOcGNiY0ppYW9EeG9ZTVMybVZIRnNybjlhd0RFZFo2U3cwZ2dObWhpTGFSTHRzcVBqS1NFYlBPblVpTFo2SlAwQkNVVGZhM1lJTVlRMkR1QkZxNWdQV21nMnJmRUVzcklnRFR2VVZPODVicy9qWHIvVG44QktldXBLWUtXZkE1a0dMTEh0MVkwZ2ZHUDZ6RGg1bjFsU0pWczhpU1JHRmV2KzlNcGtTeGp1TEo4UU1EemU5Q0RhVndJN0ZZY1pUMUpiTzJYSkI1bkZQeFJRSm9OMUJUZGZmZXBxeGdMQWhjUzFLT3VVWmdka0lKYlE3ZGpkK0Q4OWFmME5QOVYreExNQWt1eUoxcjVhTnRqK0pRbHhZeDBoQkRpQ3BCRVRaRjBQSHlTM1VpL0grdzVNeGIyQmJoMmpGVXBoTGdVOVZnQ3FjY0krN25EbnlTZXVtWXl4KytrNzZIZHp3cnFsbEpIMDdZR0pPaEFIM1FvRG5LajQ0NVFFMTIwVE9UMUVHaXdLWnpzQ25qdk5hUm44MHEyRmYxMlhuRGN6Q1Q2QUp0L2RRTlVZUzBNcjFDL2JKUXlyRXhJa0JOL0xUWEJKLzRpcUU1bVJkQk9ubXZPVXRnYmtPQUR1aGxCN2hIQS9mUlV2Q0ZCeTZLRlpBTVhqaXFRN0t2MDIvemhDZnJVVm9sLzNLMEI2MEZsNm9Oc01WUkFidk9sZUlwNlAyQW00Q3cxd2Q2Z0JwS2o0Yjl0ejZLV1VjRmJQNXhJWHlRdldDd1pEa3cyeU1VZ1MrNE9hdGVGWTd1M2JkdDEzUE1uSTdEeVQ3eS8vNkttaXJ2Ujkyc0tOUUVBT0N2a1dFZGxZVEg5dW44czlqcmE3WXZyL2IvVGplaXc3NHV1ZmxGU3BlWlAzSVcrdG4xcmR2RGZ4UnVweVc2TmtOVXhHclN5OXdlV0Y2cVZQVGYzL282SlFmK0tkZWdEV0tmNEw3Z0pQZDFNWDRKdXJHZGUxdUE5L1VJdjJyZm14WlpKdXgyNGNPWVFMUUVoaExpT2ZuQ3J0SUE3TDlNTGVKMmZqckZ1SnRSR0I0dWdYckpyZzdRbEx0bURkd3UzMERHV1h5M2xwNHVqZjkzdDhTVzRqdlZVTFk1UEhFNHZPdC9iNDY5UC9ZY2FGbEFDbzdQdjV1cmExL3RWQzJuRVNucm1ZZngwakhGdXh2WTNUYkhDeHAwckQwdmV3K3g2NXpYSzBZelViMVNBRS93THBaZW9UVkY2Y3FIbk4rYWNzQmIrMWJMODZyVEwxZHA0L21XNjBaNWVITER3RUU3MEVTaysvb1lid0hGdy9icDFaMFFTeFhhaFh4ZThLa1loMUQzR0dtTUJ5Ym9tSHBXYzlKRXZhWmNabjhNRndaaE1FVFZkZlBQZDN2SlpEeGJkUkNXUnF3dnBVUng2ZWlSN0xlM21pa0NUZDRYYTBXTHYwR0dTYzkreXhkdFliVUJUK3U0aDF4WCtxMktjMlJwaWpiMVZVT3NZdk1RclQ4UXhlSXRxQUZ5a3AzYVU4V0ZNMnZxbTdqdXpIbHltaFdadm9aZnQ3WVpUdC9EY0YxaEFhL2FiQ1NiM3Z6M29YeGdqR1JuSytXK0tzYUx0WW1UMHYxUWU3L0VXLytXeUpmc1BQUktFakxrSE9pOTRTMHBucFhDRTloSkRFME9mL1R2aGZnRXh0QW5sc3BwQkpmRDN2ckZ4SFhpS1p2TC9TUzZBQWIyVjFoU3pEM0k1L3oxRitySytxZlN2cTBacWpmQXRUV0VPRE5pMGlFQlIvaXYxY2tQM050Z1dOSWx0dUJEMDV5ZVVKSFM0TmpOT3ZpdmNYNnZkcXdvZkpwZnN4ZUh2U2xkc0xtUEhZRDM2WmVuNG1yS2lVa1lLcnBiYVp3QUF6S2ZXMWQ0VkFBQzYwdTR0Q1A1ejdqRVpUNnZ5L05GWCtNZm1hZmVxd29lNUpidTB5eUlacVg5ampPZXJmbzIrR1lUU0s2d2txajlyQUlEdHg2bVhld0FBWGJJdTN1c3BueWduUGh3a3Y3YUhOOGFnM2FzS0gyYVc3SWt4ZDJTSFR1V0hQbm1sd1d2MHRVWE9VNndramRVK0F3REFTWStweUpic0x2NzdXZjJLdkNlMitQdmxvQTZUZHE4cWZKaFhza2NmYWZlVHJGQ29qdTJNRzZvUFd2Q1BCR2F5a21nVDMvZ0hhb1U3eHdCQVBDMk0wQUxCbGVreXoyQ3dUL3M2Y0xCRHcxY1ZOa3dxMmVKZkJyYWR4WEljR1p3N3g3aWg0Ymx3ekJGaWVzeGJ1UnpjUzd0YUxSMEEwaW03QVluUWVTZlAvcDhzM3dCZzNKeUFkdFlLUitpWlVMS3U0N05IcDQzNms3MGZpMEZHT0l3QkFBQi9yNGk1eGF1akpnT1NaRDcxY2plZ1Q0Y2NwV3h5Sk5QdllIb3ZkTVpPOGYrdU9vQ0d1bDJia2pEUDdKZkxXVmFjbjVkMWRQK2VzMHBDb3dQa3NXN0lGajhmZjdlTzJnb0NBRlJMcDRkbGtNblBiOUUra0s1ZkE5QzJQZnhPTFdOWis3Zkd5L3BZWC9wcmkvZFgxUXZTMUs5b0M0bUJrajNhUGVoUDRuSlV5UHhPQzRZVnpRc1lxL3FrNHkvZ3lCVkdCNFhybzRsa016ZlJRbjUyQlhvclM1Y3M1RC95MmJTQk1scjk2QSt2OXpZU0dyNnFzR0dnWkYxYXJOZ0xnTDVBQUFCVWgvUS83L3V0WkRkcjVVbi96OW41YXpJNlo4NmRndStUK1RUSnRva3ZpV2tqdkp6TDZtL0MzaUVkbnhvdHZmTiszUzNld1JZTlgxWFlNSTlqb0pweTFnMVd0K3hocVExamdNdXhoaVhabTFPWVk3WXcrVlg2OVdQQ25mKy96WWdUcGt0SzM5dUlNdmUxV09STGFlOERMOXc5cnJQVW5zb0VyMlFacitvWTg5Z1ZQdnVsSmpRMThtSnloWWExeG1BcUswTjdSZ1o2NUV0bGxlSHRyQTZHdGVIN2UwcmFKYlNFOThNSXl0VmJROWpLdFo2eVRWcVUyQ3ZlNFlpUDZmZFZCaGJSRmhPT0dHaE9KcU1ieTRxbEpNYjJzNnc3anpKNzJ3MjZNVzdRVHBlaXlSZzZRZ2ZoeFh4MjNIQTM1TkNiM1p2Y1B5ODNkQzgrMmJ2T2xUSHFvdVJOaFkzS0lObkNIUHAxSld0QXlwZXc3blFWUmhEME1JN1JGU0tyS0JlWDBQeUw5alRKL3NsWXN4cEU3amRqRzdkKzZLdURJWHJ5M3M3ZFlmcnRhbVk2ZDZZeVNCYjIwQzhyV285TUh6a0ZBTzR0aGpMaldidExUdEFtSnE3OFFibll4a2FacW1DTUZ3aHdIcGt6dmwzYTBJOE9pSXdkZXZ1SGUrbHBvczBVYnF0U1NKYlJzKzZwWk9COEhUTUVZemVHTkNlekZ1UXRwT3FEOWo5UnE3Rnc0MnN4YTBrRkRYSnU0ZFB0VzcrY3licnZYWVo0aHZHRlpLWWpoQ3VGWkJsT1h5c2xNYVFxK0ZHUy9ieE4zYkRUZ3JWU2hSRjJiUVdsMTI0ZkpseTh2ckpRbUU0VWN2U04xaTh3bkFudmFMT0xjWGpyWUpuUENpY1JOTWpGWmd0OUFvQjc4Ri9CRjJyOFNQMXVyeGdaNkYvTy9qY3I5bS9DNzMyRjNaZXFQN09TNzkxRnZWejYrd1RoeGZlRmx3Uit3YTNVSUVzL0JKNlBYUHJlK2ErcEQvV3RMVmh4RC9WKzczU2VFek4yUERYZHlqZW9sNjJHNFlOY0FEL1JjMXppTGN1bmgyTUpqTG9Jd0J3SUlvU1FMTUcwYWkxR05EQkNDT3NVOHo3czhnTW9UK1hubTBOTk56UTRVUlExR0lJL1dFTHRVdnJqdmdrdXhzWTR1RlY0SEtRbE1ZRmthYU9haEJEeVk1QmZsTUlJblBwOGNHRU5SRTdBTFg0bWVOL2lMU2VaU1UrekZ2cEYwMVhGWTdVZzM3UFVkQ3Q0RGpzOTFzRXZ2dnVNMEdDT2ZrR2wzRWxQVmFiSjVnempNWUZrNDg0ejhyd1c4SUhhdm1aOER2eXV6M1JHWVlRUVFvNU04alYvY2YzL0ZEbTc0QVZnUVE4ankwTVlSNTl4aURqdkNEMzYrU1QvOGQxbm5jSjBQakFRVENQRzJYcFNCekhNamdra3l6eWFpWHpqMnpwU2pSVkJYSENPWEJWV0dHczNaZHMrLy9jakU1NTVmeWxqTDdxYkxQWnBHRjBrSEdIa2JDTElGa3R2L1l1QzJzZU85TmlOL2lEa0NheWpwZ3JHK2h6OW5xd3puMjRYK1Fpc2hCa2syNERob2hHUy84bkFKdFZxdFI3Nk1hc2hkZ25uZFVmSVB4WkxnTWo1b2JZRG9iUHZwT1Q3alo2MC9GMy81RlZ6UnRFQnUzUmVZajV6OXpQWDFxNVd2L3ZFcGF5UXBmc2laZnpKREpJRldTZTdCc0YzQmdHQW02ZTROQzkvaW4yNnI0VE96NDlIQXNEMjJNbVYrUk42TmEzYnNNczkzekRDVHA4TjhNQ3JzZjUzUXpOYTJnZG9ma3doMmJxWEZYNE1GYlFGQXRXT0tTek55d1Y2VEV3UExWbk5tQThYYmVZdVd0eGhFU0ZvckpseHRITm9OdXZUeUVaS1V4NkswMU1WWnB4Tm16b3JHTTFjbkNzSjUzalJyY05IYVYvN1FSejdoM0t4Z2pKNkt3a1NORmc3YzUreVVoeFBLTnROSXBmS0lsbjRlSk9pYkNkZnBGN2VmWitxM1RuVFJJNFZCK1lXc0FBV1VsZG56Vks0L1cxajBMc3BtOEJjZVN6Sys4d1Y1NWJERkk0QlFGTzU1NFFUUWtncDgyVFdpVXJPM3ZRd08xUkRrY1k0NjhNSC9aaEZ1RjFSdjlEQjN3bnhMeVdsYktZSFJMTWtKcEVzOUplMjNEa1FsMGlJMzBraEhVNFczNFdlSmY5YnZJUTgxczR1a1prNU5vS3p3bTNzODllWTVLbytrOGRFbUVXeU1FRjJ3L2ltMkZxdnNTVnlpM1B6bVlSMUhRK0tGOEhjWnhZckdzaWJ6cjVrUVRFSnNvdkpqNUNRODI1TUkxbDRYSjVtWGUrSXIwNjg0YlNzNHR5VVB5ZGx5V01Oc1VQUUNPbkh6Rmh0bDF5RDhwcFJpcW15VGw0aEY3cFRDckV1NXBHc3ZJYXg0cGxRNGtwam5Dd2dRaTV6NzBJd2pHa0JOL21VTFkxZXF0UFAvR1NTVFk5ems3UkFUaUVudEFtV1l4cE1KRm5vU1QvV2lzWVpDYk9QVVU5ZWtmUEpFdWYvcElZV0hDVldqT2lSVXZGZnllbURiV2Z0SnJKUGsrNzYvNkZEaUU1ZE1aTmtvY1ozMGo1UTE2OTFKUm5UYUw0TVoyTzN4Q1lXQUpMRXhqZEdpZWU5NjV4VWd5bytFRG5DODBhSjh5V1hKMFhjU0ttcEpBdHdtNVRvN1BzSFN0NWswMzJ4Uk5IdXYxdE8zQzdXSWgxQ1NIR29rSnExWm9ZYUpDT0VFT0phTCs2QkpyNVdHTG9ReDl3MEdiV3lDQ2FUTE5qdjJSdmlvOXg1bDZ6Tkd1MC92eFR5a3kxZjFGOWVXOVNQWFpiNFBBUUFBRFQ3TEtUYW5IL2ZIdkxmc3U3N3JIT21QWlRNalRBdjFvM1pKQXZBOVpuTC9pak9mbjZkN0cyTVNYY3ZFSk5JNmFySjB0eU1BR0paaXdDRGppNW5VKzNSdFNMT3FPdkltNjBsbVZGbDRnYm0rTE56eDdPMTVWWkxBMVJIWnd4TmRVWlVscUtWeXNxTDZVKy9mb1N4Q1o5S1hKL2JibWpQbjY4aGhUdlhyOWlxTEhoZlFzKysxM1d1S25pZDVNcmVMZXZYSzRrKzl2Rmt4bzJTK2hMUGNxeDljOThlTFlXbk96bXp0bTFZZVVSNlZNMjAyMi91VlovL0ZlSEsyYno2cjB6SlpXaUpEcEkxTFFtdFdqVk5TNjJhR01NNVN3cnp6K2FjT0p5aExxNm5yV0hMcGczcTFraEppT0djNWNXWEw1N0p6VGlXclhTdHlIUHZNVzRzSE1xNFFTTWhQYjFSL1ZyVmt1THN4RkZhZE9uQ3Flemp4eFRFaXF2VE5yMVIzWm9wOFhaU2NmWFNoZE9aeHc3cEVDOE9zUmJSekRPVXg0VE9qQ0Q2TTVHbDJBTFY1eGtnU0Job3oxeVNUajJsRjBFTTVqcm1lSUhMVExHR0VBUUFBTGlPWDdESHAvWlg1ZzR6QUZTU0FFZld3RDYvSXY5eWVYVFZScDNGRG9LZHFjT1pMd2dpaWVqUWMyaUVYQlF1YnExc1JOeUtoZ2hubHR4NGh3Z1NOcVMwc29WR3pKQ2FER3hsTGNYSHpLTWFFRVIzSkxTeVp5bEhLVlU2c0pXMUVsTWtMb2hCRUQwSTNjcXUwdVJzWndUUmlKQ1N2ZGpZYUJOTkFUb0dsc0Z4WDZiUkppQklJQ0ZhV1JkcnlUZUNHSVM0WkozUEdHMGZndkFRbFd5UlNOUnZCREVHTWNsdWEyZTBkUWdpZ0MzWm5FZWlRMmRIRUwxaFNOYTU4UUdSa0M2VkVGd3ZhMlpjdVZiYU0wd0FBQUEyU1VSQlZOdFhMYzNFRmJKQlZQbzE3dWFCNjFXemVwVXFLVWxKQ1RIZ0xDa3FPSitYY2V5Q1BzY1BJQWlDSUFpQ0lBaWlBLzhQNnhDNnhUMDRqTmdBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIFxuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNDItM1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg0MC02XCJcbiAgICAgICAgICBkPVwiTSAwLDE0MTcuMzIgSCAxNDE3LjMyIFYgMy42NjIxZS00IEggMS4yMjA3ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDQyLTMtNlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg0MC02LTJcIlxuICAgICAgICAgIGQ9XCJNIDAsMTQxNy4zMiBIIDE0MTcuMzIgViAzLjY2MjFlLTQgSCAxLjIyMDdlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNDItMy02LTBcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNDAtNi0yLTlcIlxuICAgICAgICAgIGQ9XCJNIDAsMTQxNy4zMiBIIDE0MTcuMzIgViAzLjY2MjFlLTQgSCAxLjIyMDdlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNzYtM1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg3NC02XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoODYtN1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg4NC01XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoOTYtM1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg5NC01XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTA2LTZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTA0LTJcIlxuICAgICAgICAgIGQ9XCJNIC02LjEwMzVlLTUsMTQxNy4zMiBIIDE0MTcuMzIgViAwIEggLTkuMTU1M2UtNVwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxMTYtOVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMTQtMVwiXG4gICAgICAgICAgZD1cIk0gLTYuMTAzNWUtNSwxNDE3LjMyIEggMTQxNy4zMiBWIDAgSCAtOS4xNTUzZS01XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDEyNi0yXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDEyNC03XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTM2LTBcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTM0LTlcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxNDYtM1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNDQtNlwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDE1Ni0wXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE1NC02XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTY2LTJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTY0LTZcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxNzYtMVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNzQtOFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDE4Ni03XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE4NC05XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTk2LTJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTk0LTBcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgyMDYtMlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgyMDQtM1wiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDIxNi03XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDIxNC01XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjI2LTlcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjI0LTJcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgyMzYtMlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgyMzQtOFwiXG4gICAgICAgICAgZD1cIk0gNjAxLjA4LDYxMS40IEggODA1LjQ0IFYgODE1Ljc2IEggNjAxLjA4IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxtYXNrXG4gICAgICAgIGlkPVwibWFzazI0MC05XCJcbiAgICAgICAgaGVpZ2h0PXsxfVxuICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgeT17MH1cbiAgICAgICAgeD17MH1cbiAgICAgICAgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgPlxuICAgICAgICA8aW1hZ2VcbiAgICAgICAgICBpZD1cImltYWdlMjQyLTdcIlxuICAgICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBWUFBQUFHQUNBQUFBQUNCck9wakFBQUFBWE5DU1ZRSTVncGJtUUFBRVZwSlJFRlVlSnp0blh0OFZkV1Z4M2NTZ2dFQ0NJSThGQlV3UUJMMkRnRWZvNVphM3poajY4eVVhYlZGaFByQU9yVG9XSnkyempobFd0cmErcWxpZFdacVIxVEE1MVNuL1dpbnRncFNuLzFBNWJGM0xoQUk0YW55VG5rbEpKRGMrUU0vSmprNWU1MTk3ejM3cmlUMzkvMG5uNXg5MWpuN3J0OWRlKzJ6OXo3N0NnRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdNNU9IbmNGdWhsNVp5cXA1TGQvNjJ6UXcyTmxjb3hpSlpXYzJFY0lJU29nUUZicE9Wb3FlZDd3MWdQUzNSWUNaTVpRcWFTU1FTOHE5d3NnQjZSTDM3Rktxa245UTh1T0Z6ZTVYZ1lSa0RvRjV5aXA1Qmppak1MU3RhNFhnd0FwTVZCSkpTZWNFbm1lZ2dCeDAydU1WSExTWU1lejNiTXdCSWdrYjRSVVVwWG1wMklEQWVLaHIxUlNWZlpKM2RDOUc0UmVVRGlGNXlxcEpwNlJ0djNBT3NjVEVRRWRHS3Fra2gyNjlpbWkvdWg0SWdSb1E5OXhVc21KcDhaeEtRaVFHZ1VqcFpLcUpMNExPbWRoQ0hDYVZGSlZSSGZ0VThOWmdGeE93cjNHS0trbXVuYnRVK053LzZUYmlia3BRTjRJSlpWTXJXdWZJcU5yM2M3THVTWm9RSmxVTXAydWZZcElDQkNrc0VST0xGVm4rN2owUHFQVlplMFB5ZCs0bWVhR0FNT2trcXE4ME1PVm16Wm9yYzFIUXR3WkVNRDFXYmk3QzlCM25KS3FNcGF1ZlpBUHRkYTYrdmduL3lVQ3BhN2RvTzZiaEF0R0txbmt1VDQrNE5HRTF0b2NhSGRzOEo3MjV6VDNhWFM2VnJjVTREUWxsVlJGSHE2Y3JOVmE2OXFXa0tJOWdmN3NwRlZPVit4bVRWQ3ZzVkpWeXROOVhmN3VYeDYxRlEwSlpoaVpZd0xrblNXVlZPTjhkdTNGcXcvYnk1NE01aG5ISk5BZEJCaFFwcVNxS1BaK24zMjMyY3RtWHhzODR0Z042dG81b0xCRVNTVzlkTzFEbVBxU3RhajBnMTdCUTd1R09WMjB5d293VEVrbHZYVHRiU3llYmkzcSthZktqZ2NIN1hlNWFoZHNnb3JMcEpJVEJtVDd0anUvYVMvN2Zvai9SY1V5bDh0MktRRUtSa2tsSzgveEVyVWZHYk4rL2xCN2VYTG1YNnhsbi90VzJGSFpyUVFZSkpWVTBrZlhYaHhKYUdQMEFTRitRUGhmUFBxR3RlalVSYUY5TDdkdVVPZlBBVVhqbEZRVHZIVHRtMnUwTVhyTEp5UDNGNzFkWUQ5MTQ0UUdhOW16TjRZZVhuR2hTeDA2c3dCNVp5bXA1RmpDTGVteld4dWoxeDFyYzZSNHpXajc2YzBYcjdDV2ZYVkorUEdqZlYzbVpEcHBFelNnWENycHAydGZuekRhbUwwZGpqOU0rRi9NdC92LzdNY3NCWDFHMXpoVXA5TUpVRGl1WEVsMWxwZHJIMXlxamRrY05wQWp4UFczRUlhcmZtQXR5bDhjdmtCYUNDRmRCT2hNREw5bTdxSTFUVWwvWEcrLzk1QTloRjFEbWQzd08zYXpmNHZmUmI0b3Z1RFdCVzhlaU4zaEFSNG5hdkFLWlhpMzNXNFM4WVg1VmV4KzhrQkJ5UmUvOS9LbWxyaDlIVVlOa1ZMdW9BeVgyM3NxdmRjVGR0VWUvQlVuZ3k2Zjg4U0tocGk5Yk9mRVJmYXFsQndoREE4UlkwMy9RZDJ4dWNQNFVHZWhxSEw2ZzcvZkhiT0RvL2gzZTMxNi9Ja3luR0UzL0J2Nmx1ZkY3cm1NeVJ2NStmdWVYM2NpVHNkK3luNHlmNjhrK252Zm93eUoxUTJuUjN5SlpqcDRKSHZkMEFIbFNpcloxOGVsR3pjWW84MkVWNGxUNnFlZHNKWmRlQjlodUplWUJIZ2k0dm5jWlVvZ0d3SVVqbEZTU1Q5ZCsyM0dhRk45UWdneCtBbnF2Ry9aTTJLZnhaUVRadTJ4RnQxeFhVVGxVbmhkMkJmRHA4eGQ3S2xyWC9mMlkzZGMwcS8xVnIrbVR2NC9vbzYvb0F5ZnN0dU5QUnBWeGQwT0h2STJGbFJjTHBXczhESnFmN3hhRzZOM3REOTQ2eThKaTMxeWw3WHN1bGNJdyszcW9LMm84UDFKaE9GSmhrWkw0S0VKeWo5WEtxbEdlWkYycHpaR2J6amVzV0RVUTVUWjdYYi9ELzV2d2k0NTArcC9NUy9hLzBLNnhFQ2NETDc4cm9VcjYxTnRURng1WXJKMWhWdkJlNVRoUXFMS3Y2RU1pVlVRazVzZGFrdzhRc2ROVWVYTkQvNWhWMHIrVEpWVnhBVHd2MUtHdFVUWDYxYktjTDM5U2FyZlZwY3FVOHJIUnQ0NVg3anZCVTlkKzdaUUkyTG5VWG0rK1ROMnc5R0hDY1BqeElQVVlxYzYvemx0cjdweDZ1UTcvK3ZkUXltNU1YMitZYTlIcncyVTRYeTdJZDF5RWFPWk43alZ1ZDdiT3JIQzhUZis2Tlh0N3Q3TG5EOFFTZjB4eXZDRGRGc3U0dGw1UkoxanJha2RQZExsakNuM0xsN2I2T3k0bU5nLzNGNmpLWlJoZmFuZDhMempoR0hET0t0ZC9wdXUxWjZhZ2FNN1VuemhiWThzMys5Njc5VFlzMnpCeDFUNVA5aXJkUnBwT050dTJMdWFNcHhqTjV6ci9MSG1wZS90ZHVTUG1UcnZmMnY4ak5vM3JIcnFucXVIQ2pHRE91bHBvbkl2VVlhL0oxb3VjaXg1cWQxd2dudjh2eHpwMnNqSHBjRktLbG51WldRN3VWVWJiVFkxQ3lHRUdMbW1uLzNNYmVxUXRXd20xZGM3SUQreWxsMUxqVThjVk52REN3Wk5xSnhGVGQrM1ovTzVVV2NRVDhKRlpWSkpOY1Q1WnFsd3dCaHRxbzYwSHNoL212Qi95ODEyLzQ5Y1FOMW5sdDMvZzhoTytqZEQvRCtpc25KaTVRaktxZ09qK2xoZktJaG1ubk9ncFVMam1zVnpwM1RjaGVUYmxNMEQ5a3JtdjAwWlVpM1h5NVJob09uSUgzdkRBNi92UytmalhwQ2U3NFVRUWt4TjU0WVVXMStaZjBONWVNaVJ6ZXFhbnZaS0Vvc1Nrc210UkZUTnBBeDN0NzV1MUxQeWE0KytTODFZMHR5YXJ2ZUZFR1BTdm1zNHhNQklVWUt3T3piZWJsaEpQZ0ovMW00NGtueCsvSUlRUW9qaVMyWXZYSjNoV0RyWlFFWlFFTytFK1RJaTN5K2dETyt5MnhXdG93eC9iRGZNZjRjeVhDZ0dYWFh2ODlWeDlQcWNWa2piK0hNTUZmaVV1alB0TjdxSytxaHZFTUk5UXQxeE5kRnlmWmVzNi9JZDZYekNVRG91Z1V5QkoyT3JSaktaREY5QkxJUVFZc0JPd280UzdtcEt1SVp5dStGRW4rdnYydVAyb2xJNGQ4ZFlqMmVKKzd4QUdkNWd0eHY0SVdWSXRGeTl5SllyWHE1TzIvMUNYQmxmTlhZUW13WGNSQmsrUTlUdlJjcnc5WFJicmhqWjlmclBabEF2ZlFoQlB3a1BzVS9rdGFOK1hTS1J5SCtKYUhLVFY5cVQwVm5hdXJ4WWlCM0svbUxRZEtxWFh5Yy90SlpkL1pyM3R5S09ydGZHckhGNVM0K2FFOTY5TjJvM3FXTWJFbFdKeEpha0VLZXNKUHd2SHJMN1AvOXB3di9KbSszK1Avdm5WTTIrYnZmL3dDZDkrcitsVmh1amF4ejN5NHJnRFh0ME5lcm4vdVZ2UzFybkd4NmtRdEVRTzdLUkk0c1AydTN5LzBnWldsNWFFV0x3WlhQSUhtZ203RjM2OEl6elV4MDFJNzhNRDRVbHNoT2JFbFdKeEtiMkM4MCtSL1h5bXk2d2IyV3RxTWd4NTl0M0hMbVhHSjhRTzJUSDFReEZwVXBLRmRVa3AwZkRlcVBOV3ZzU0xnSnlXWW9KM3VlMVJLSnFZOGpXK1AwWFVVTGVaL2YvS2M4US9tK2NadmQveGZlSkd5YW50L04vM2tncHBTcng4cTVaUzIxQ0c3TXgvSzJiakRrL0VHTUhiQ2MrUTBYbWNtSmk5R2VVNFQxMnU2SXF5ckMxNVJwNDZlekgzNmNtM2pOZy8vSkhidnVyM21rNTFwWGV3YlV2bHZXZFg2YnErUmRpVWVqbDFKUFVtNFJ3RDFGMzFLY0lJWHBXVFB2Sjc2Z252QXhvV0wxbzdqVXhOV1owaDJCallDL1p6NGN1UUQ3RFVDc1FiN0ltUkhHcUprYlhyVk1pUW9ncnFGNSswOVNra25Lc2wyWEh5Wk9MZ1p0OVhEdU00R3hmNkRydXZOZXBiOHNMeE9XZnBReS9hcmNiRU45WWpUdjczM3BzMXNYKzk4UnBUL0ROaFJmRFRycUxxdmJPZ2ZhcjMwZ1pQazlVNjdtTXZaa1NqWHJKUC84MU1TVGxrYjhQVkNWc2tYMDVOV3JkY3BYOTRtZFNpMnQyRXEzYVYySndxaVBiWC8zUlY4WXp2a3RkRXFoUGM4ZWszM00xOVFHSTFhMTVTd203bGl2dGhzNnJvaktpN3AzL3ZQTXp4SXhhZHNnUHJuVHVPTVg1QVBVcEVzVDJKdjlFR1JLTHpmT1daZXhjbXFhcTU3NXpYYloyNFlwaVphQnlIVjZZK2l5MVNyc3BiQitqVHhoL2pEQ3NJb1M3SndZZjI5ajV1d2VtVldSekY2N0lGelIwWUlGd1JhQzhYL2hXT1o5dy8ycHJVYzhseFBoUTA3UmpZWWQ3bEVpcDVEbkVEZFBuVU1JWXM5WSs5T2VOQ0FHQ2d4RkJBWDVPaGVyYlA3R1h6UTllcVMzM3J3a2VHU2Fsa21WeC84cUNFRUtJRTV1TTBXYUxqMHU3RURFeWUwVmduNmlEN1NkV3B2NFBZWHRZYmJXV1hicU1pSnkzTG1zenROS25YRW1wVGlQdWt6NGZHNlBOT3JjdGhuMFJJY0Rwd1plY1JyWDlxZ3czUkM5ZnpMQlBtUFRYeFBqRUliVk5DQ0ZFd1dnbGZiMXJkbVNkTm1hdGRXd3JpMFEwUVh0MkI1WW1xallDNUQxSitmOGxZc0xxVWVxbDRXOXNFME9rbEtyTXk0TFU1czNhR0YwYno0UkpERVE5WkppQUFCVnQzdHlmVFUwNGZ6ekxYdmFsYVpSaDVYUlBtei92MGJwS0owTHplK2NsT0Y3Y1p2UFlVdkoxeUNuMmE1N2g2UjBETzBkWExyenJDaisvMXBNcGtSRVErTCsxODFLNGhHb2lIbjNOV2tTM1hESFRVbXUwTVRXZUpreXl3S1RBZDZubDAvSEFIMUpmT2VJRlR6SEg0MWU5TFh1WFBYekxCWDRuVEdJZ3FvL1I2MGlndjNqeCt5Zi9YdklXMFpFOGZ0RUgxckt5RDd4c3Y5cVdZK3VNMFRyYmI2bW5SMVFUMUZBVGVOR3Y0cVFBZlJkVGo4RHo3UDR2WE9MVC84a3RwdldsbXk1QjVGQ3JDUXB3OHMrQ2tZVE5lOVoxeWYzSDMwS01EMlhFL2lwdGpNbmdoUlFlSWdYUVgyei8vMGtCL283YURPcklUU0hmd01JeFNucmFEN1J4Z3paRzIxOUc2dFJFUjBEZ2Y1bVhGR0lvdFFPa21CUDRFYmt6cFZTeTFNY2dZM0s3TmtadnRHK0cxZmxKV1lEaVVadUZXRGlJc1BoMTY5dHZmY2RMSmFXWFRZUHFxb3pSNXJDUFMyZVZTQUZxNndNOXVZck40czRPUDVqU2h0MjNDU0ZFanhLcHBQU3kxWDlUdGRIRzdJZytzVXNRS1VCTFZXQVdyT0xsc1QrbERMNVdlSTJVcXRUTDBQRU9vNDBKMjYrcDZ4STk0V3lDQXZSWVFqM2RIRi9rWmVqNGtERkdHL3YrVlYwV0J3RUMvMWZjVCs1SFdoaTMvMDlVRzZQTnRwaXYybW1JYnFRdlh4bzQwT3hsbFdzWUh4cWp6ZnFReGNEZGlHZ0JncjlTbVJVT0o3UXh1bzdoenRuR29adnlzWjgxOVJhYU4ybGo5TlpPTTJIaUc0ZFZYeVpiQXV6U3htam1LZHFzNHlJQXNid3dKbzRtakRabW4vZjdkRUljQk5BKzc5OVNZN1F4bTNPbXhlbUFTd1I0dXZVZW80MUoySCtlS3pkd1NNSkZSN0xXNyt5dVBHNWZvZUN3c2VXeHJ2WnJURjBLbDUxRnZTYUJYTWRGQUY5SkFBZ0l3QTRFWU1aRmdOb3VOOVBkaFhBUklGbmx2UnE1aTlQKzZtaUQvQUVCbUhFU0FBOEMvbkFTZ0dOS0psZHdFcURyTHU3dS9EZ0prTHVEeGY2QkFNeEFBR2FRQTVoQkJEQURBWmlCQU13Z0J6Q0RDR0FHQWpBREFaaEJEbUFHRWNBTUJHQUdBakNESE1BTUlvQVpDTUFNQkdBR09ZQVpSQUF6RUlBWkNNQU1jZ0F6aUFCbUlBQXpFSUFaNUFCbUVBSE1RQUJtSUFBenlBSE1PQWtBL09FbUFOb2diMEFBWnR3RVFCTHdCaUtBR1FqQURBUmdKanM1NFBHOHJnM3hvM1NaZ2doZ0JnSXdBd0dZd1hNQU00Z0FaaUFBTXhDQUdlUUFaaEFCekVBQVppQUFNOGdCekNBQ21JRUF6RUFBWnBBRG1FRUVNQU1CbUlFQXpDQUhNSU1JWUFZQ01BTUJtRUVPWUFZUndBd0VZQVlDTUlNY3dBd2lnQmtJd0F3RVlBWTVnQmxFQURNUWdCa0l3QXh5QURPSUFHWWdBRE1RZ0Jua0FHWVFBY3hBQUdZZ0FEUElBY3dnQXBpQkFNeEFBR1o2T0oyVmFRNjQvZllNTDlCOVFRUXdBd0dZZ1FETTREbUFHVVFBTXhDQUdRakFESElBTTRnQVppQUFNeENBR2VRQVpoQUJ6RUFBWmlBQU04Z0J6Q0FDbUlFQXpFQUFacEFEbUVFRU1BTUJtSUVBekNBSE1JTUlZQVlDTUFNQm1FRU9ZQVlSd0F3RVlBWUNNSU1jd0F3aWdCa0l3QXdFWUFZNWdCbEVBRE1RZ0JrSXdBeHlBRE9JQUdZZ0FETVFnQm5rQUdZUUFjeEFBR1lnQURQSUFjd2dBcGlCQU14QUFHYVFBNWhCQkRBREFaaUJBTXdnQnpDRENHQUdBakFEQVpoQkRtQUdFY0FNQkdBR0FqQ0RITUFNSW9BWkNNQU1CR0RHVFlCam5tdlIzV215RjdrSmNDaW1pdVFxQisxRmJnSnNqcWtpdVVxdHZjaE5nR3EwUVJteHhsN2tKa0RqdXpIVkpEYzVrTEVBNHNWNGFwS2ovSXA0a00xenUwUy83ZjNqcVV0T01tbVZ2Y3d4QWc0dGlLY3FPY2x2Q2YrN1JvRG92ZTdzT09xU2l6VEtUVVNwWXdTSSt1bk5jVlFtRjdtWDhyOG9jTDNNdHJwck02OUxMdkxVZDhsaVp3SEVpcVlyTXExTEx2TDhUSG9zMzEwQThjNldhd296ckUzT2tmenhQMGJNcGJnbVlTR0VFS1cvbUp4SmJYS1BtcSsvRVhXS2F4SVdRZ2l4L3RMcjMwdS9Oam5IeGp2S0kvMmZXZ1FJSVVUSmRaUExoaFducEZ2dWthemZXLzNlYXl1NHF3RUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdIajRmOUFjZFlIMkZSNURBQUFBQUVsRlRrU3VRbUNDXCJcbiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiXG4gICAgICAgICAgXG4gICAgICAgICAgaGVpZ2h0PXsxfVxuICAgICAgICAgIHdpZHRoPXsxfVxuICAgICAgICAvPlxuICAgICAgPC9tYXNrPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg3NTAtM1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg3NDgtNlwiXG4gICAgICAgICAgZD1cIk0gNTkyLjU2LDYwOC4wNCBIIDg0MS4yIFYgODIyLjYgSCA1OTIuNTYgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPG1hc2tcbiAgICAgICAgaWQ9XCJtYXNrNzU0LTFcIlxuICAgICAgICBoZWlnaHQ9ezF9XG4gICAgICAgIHdpZHRoPXsxfVxuICAgICAgICB5PXswfVxuICAgICAgICB4PXswfVxuICAgICAgICBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICA+XG4gICAgICAgIDxpbWFnZVxuICAgICAgICAgIGlkPVwiaW1hZ2U3NTYtMlwiXG4gICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFySUFBQUpVQ0FBQUFBRE1ENXJEQUFBQUFYTkNTVlFJNWdwYm1RQUFJQUJKUkVGVWVKenRuWGRnVk1YMng4L2RiSHFoaHhZNmhGNEZSQkRCaW9EMFpnRWJDaXJZeTN2K3NDQVc3UGllaXFLZzZCT3hJMFVCa2Q1N2t3NGhsVTRDSkNGdGQrZjN4L1o3Wis3ZXRyZHN6dWVmSlBmT3pEMXo5NXZaTSswTUFJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ2lObmhqRFpBTHAzZk1kb0NIMDZYcTZ5ODdHcFI4WlZMbHdyT255OXdFcU10cWhUWWpUWkFMalZ1TmRvQ0ZvNnpaL0t5czdOT25MaU0wZzBubHBPc2ViSFhyMzhOQUFDY1AzTG8wUDU5NXd3MkoySkJ5V3BQclZyWEE4RHBYVHQzYkR0cnRDMFJpT1Y4MlZ0V0dHMkJERWpHcHZWcmp4cHRSWVNCa2cwN2VhdFdyRGhqdEJFUkJFcFdEMXk3bHl6ZWhaMHliVURKNmtYMmdsODJ1WXcySWhKQXllcEl6ay96ZGh0dGcvV3hHVzFBWmFMQnN6djNQcDFxdEJWV0J5V3JLMXlIRDdQbTk3SGNWNXVwUU1ucVRkeWRhL1krbkdpMEZSWUdKV3NBN2IvSW1GckxhQ01zQzByV0VGSmZ6WmlSWnJRUkZnVWxheEJKVHgzOWJ6MmpqYkFrS0ZuRGlILzg2TnZWalRiQ2dxQmtEU1R4WDBlZWlqWGFDTXVCa2pXVW1qUDJETVFoTDNtZ1pBMm0xZUlGVFl5MndWcWdaSTJHRzdMdnVXaWpqYkFTS0ZualNYcHZZMGVqYmJBUUtGa3owRzNMaTlqUVNnVWxhd3JpM2xyWjFHZ2JyQUpLMWlUMDNqSEdhQk1zQWtyV0xGU2IvMG04MFRaWUFwU3NhZUFtcldwb3RBMVdBQ1ZySW5wczZXMjBDUllBSldzbTZ2NTF2OUVtbUIrVXJLbUltek1OUDVFUTRBc3lGN2FYWjhjWWJZUEpRY21halFkK1NqRGFCSE9Ea2pVZFF4YWxHRzJDcVVISm1vK2JsMVF4MmdRemc1STFJYjBYWXp2TEJpVnJSbm92d0YzalRGQ3lwdVNtNzNIY2dBVksxcHdNL2h3L0dRYjRZa3pLQTY4WmJZRlpRY21hbGY5N3dHZ0xUQXBLMXF6WVp1SWFHU29vV2RNUzl5T3VSYVNCa2pVdmRYK0lNOW9FTTRLU05USFhtZWNrU1JPQmtqVXprNGNiYllFSlFjbWFHZHVzQmthYllENVFzcWFtNXV3b28wMHdIU2haYzNQYkkwWmJZRHBRc2labk9vYms0SUdTTlRuSk0vRWpDZ2JmaDlucGQ2ZlJGcGdNbEt6cGViZXEwUmFZQzVTczZhbi9rdEVXbUF2TFJUMVhmWWJ0N1U3Vk5rVFpZK0lUVTZyVnFGVzNmcDJZOEwvQnNvNUh3djRNQzJFMzJnRGRXZW5Rc3JTWXRHYXQyblJvbjZ4bG1YeGkzeG9SenVLdFJ1VnJaYU0xbGF3YmUrdHJyKy9iTUd6djB0VjdVN2lLUnNMUExVUWxZZnRlU1orOHJGU3RjUXhXV3E1bFFmeVlWN0lBVVBYZXBSVmFTSlNQNjZZd0dvMkVHVk5MRmdEcS85OUpEVFRLWjFWNGpVYkNpZGtsQ3hBMWZKTVdLZzNDMVN2Y1Zsc0hISmZWSE9kdlBXOWFyM0daM1BNYUYyaGhVTExoWVBVTkF3OXFXK0xBVnRxV1oyRlFzdUhoejQ1UFg5R3lQUHRrTFV1ek5DalpNT0g0cU4yZldwWTNGcU1oZWtESmhvMmNPeDY1cWwxcFZlN1dyaXhyZzVJTkgyVFd0WWUxSysxaG5FNXdnNUlOSi8vMCtFT3pzanAxMXF3b2E0T1NEU3VYaDM2cVZWSGNPSzFLc2pnbzJmRGltS3haQk1QUmVKZzRBS0JrdzgvVUtSb1ZWSytQUmdWWkhKUnMySG5yVFkwS0dxMVJPUllISlJ0K1h2NUttM0lHb1djQWdKTFZBL0xvR2szS3FYT3RKc1ZZSFpTc0RwU1B5ZEdrbkRzMEtjWHFvR1QxNE54WVRYYnY5TmVpRU11RGt0V0ZkWnBFaW0yYnBrVXBWZ2NscXcrdjc5ZWdrS2diTlNqRThxQms5YUhzTVpjR3BmVFZvQXpMZzVMVmlRM3pOQ2dFSnhNQUphc2ZMMm13RXJFeE9yTW9XZjNJbnFXK2pLanU2c3V3UENoWjNYaS9SSDBaS0ZtVXJJNmMrcC82TXJxcUw4THlvR1QxNHhQMWd3WWQ4Zk5DeWVySS9vMnFpNmlPL1MrVXJKNm9YOUZsYTZ1QkdSWUhKYXNqQzlTUGM3WFJ3QXlMZzVMVmtjdC9xUzRDZzhhZ1pIVmxvZW9TbW10Z2hjVkJ5ZXJKY3RYbk5EVFR3Z3hyZzVMVms5UC9xQzJoVnFJV2RsZ2FsS3l1ckZWYndGOWhPT25CWXFCa2RVWHR5T3lpc1dXYTJHRmxVTEs2c3BPb3lyNW9YS0ZHaGxnWWxLeXVuQ3hRazN2eHZackdyTFVvS0ZsZGNha0o3cjFrN0dYTkRMRXdLRmw5VVJHOWMvRTkyTVlDb0dUMTVvVGluSXZHb1dJQkFDV3JONWxLTXk2K0Y3MENONVh2MkdWanlWT1liOGxZYkdNOVlDdXJMMmVVWlZ1TWl2V0JrdFdYQWtXckRCYVBRNi9BQjBwV1h3cVZUTGorZ1lvTkFDV3JMMlVWOHZNc3VZZXVXUHNZWElwb0JjeC83TEk0NTJRYnZJUnhTSjM5UGFmajc5R3grcHFQeU1mcWtzMlZyZGlxOUlLaTMzWVNRa2plMUhyNlZnQ1JpOVVsbXlYVDNEOVliZXgwcHlkRnlkZnQ5YTBDSWcrclN6WkhJOFcrNi9RbmNpN3FnVWN2bWhlclMvYVVQTVV5dkFMN084NmdkSzdsMStsYkRVUTZWcGRzdmh4Yi8yUXA5aTBuUDZscmNVZDlLNEpJeGVLU3RWMlZvMWlXVi9DMlFMR0VFTWMzRGZTdEN5SU5pMHMycVZ5R1lobHRiQlJWc1lTUW9xbTRtZEdFV0Z5eTlSaHFrNkZZaWxmZzQrUXc3SWVaRG90THRyMWtPNWV5dkFJUnhSSkNGamZTdDBKSVNDd3UyZHNrSzVibEZZZ3JscEFyaitNa3ZMbXd1R1FmbEdnbDB5dVlIdHF6V0lzaFpVeUZ4U1U3VFpxUnkxaUtmVU9LTDF6NE1IcTBKc0xpa3AwdnlVYW1ZdCtVMkh2N3RicSsxVUpFc0xoazkwZ3hrYVhZS0FsZWdZZXNudnJXQzJGamJjbkdTcGxKV0ZhTm50bitoa042TmN1ZlJPZkFKRmhic3Awa0dMaWMxY2ErTG4xTWx4QkM1aVhvV3plRWdiVWxPeUcwZlV5dlFLb2Y2Mk1uVHVDYUFtdEw5cHVRNWkxbmVRVnZ5dkFLUEp6cXBtL3RFQ3FXbGl3WGNvRTNVN0V5dlFJM1JZUDFyUjlDdzlLU2JlMEtZWnhXZnF5WGlnbjZWaENoWUduSlBodkN0dVdNNGRRb09XTUZRYmorRHdjT2pNYlNrdDBnYmhwTHNiSkd0L2hNUjgwYWpKVWwyMGhjZVgreC9OaHB5cndDRHgraVpvM0Z5cEo5VWRTd0ZTeXZZSnFLTnBZUVFtYWdaZzNGd3BLMUhSR3o2NjhhOUZ4UnI2dFVMQ0Z2bzJhTnhNS1M3U2RtRnF1TnRiK21XckdFVE5HM29rZ1FGcGJzTWhHcm1GN0JWQTBVUzF5UDZGdFRKQkRyU3JhclNDZnFyM0Q1c1I0cWh1bGJWeVFBNjBwMk1kdW1GUXcvVmhPdmdCQkNTRkVQZlN1TCtMR3NaUHV3Wjc3K1ppbjJWYTBVUzhqcHhycldGdkZqVmNuYXR6TXQranVzZnF5WDNjbjZWaGp4WWxYSlRtSWF4R3hqTmZNSzNQeUlPMitOd2FLU2JYeVpaYy9LbXZRYzlsY3IxRmFWeC9QNlZobnhZRTNKUnExaW1iT1NOWVB3aXJadExDR2tySSsrbFViY1dGT3lyN0NzWVNwV1V6L1dRMDV0Zld1TkFJQkZKVHVBcFQrV1Y4Qk5raEZ1VGpxTDBKMDFBQ3RLdGwwQnc1WlZETVVDUkRVYy92N1dVclYxRlRCWnoyb2piaXdvMllhWkRGTldNYndDTDlXSHpwSjd0RUlJaWxyclUyVWtBT3RKdHQ0aGhpVXNyeUFRZTQ4UHM5WFdPSkJOMGVHdk1CS001U1Ria0tWWXRsY1FURXkvbjByVVZ0b1BqblRwanRVazI0N2xGYXlXcUZnQWdMVFh6cWl0dHBlaTlQRFZGYUZpTWNuMlp4M25JYldOOVpEMGhGYit3WEljTmRBWlMwazJhZ3ByQmt1S0h4dE13dFB5enhLbGNtYzRhb3F3c1pKazA1YXpqRmhUUzBGeDFXZVVxYTA4SVlSa015TGFJMkhDT3BLMTNYdUJaWU1jUHphUUR1dlYxcDRRUXFaclcwOGtCSmFSYk5zVlRCTld5MjlqR3ovODJtTXRPYkEvV2FpMi9vUVVZMkI2WGJHSVpPdCt3djRTWDVNcXQ3U29SODhSUWdwZXNBTzAyYUgyQlJBeVB4dzFSbGhZUXJKMTM3bkNObUN0L0RaMnJIdkZnZU54QUlqL05GUmdyNUE0TEIwUjBYSTczRzlab2JLQWFJY21kb2pRN3ZHeEl0R0lkNDI3d0x2aXpDY0FzU0tkb3JpL1c3aC9PZFg1SEFEY1B6TmVwWVhMK3hPVkpSZ0lTbFpqa29jODFGdDA1UE55QmY5SytaUzVrUHlqU01zWFZkWHpNWkhiL3dJQTZQV3J5bFdFNU1hMTZncEFaR0JxeHlCcDhQOHVLVEJwUGtDNnRHN1ZLUGR6MG84cGVFb2dLeTNYVlBreCtLajNDQ0txNmMyMzM1Z1NJdEhCM1pTTEpSOEJuSGorZW5hdW1LR2V4U3lPSFBmUG8zMlh0Vk5pbzQ4YnIxK3ZLajhpQTFPMnNrblhUcDZYS2FGWHRGYjJXQUVBQU5pWGV2SnZpL05lcXIxWDNWdjRRN082STZFd2wyUmphblc5ODVVZi9wRzQwa3FoWWdIYXVCY1luT251djFTSHRVQk1HbzVPbXRUZkNDem4wNmp1ZnQzc1ZKZWZzMFZGeDhZbkpWZXRYck4yM2RRcU1sN2dodUhubFQ2MDVSdTNKSmF1ZVhsdndLVkc2MVVkT1BQdGZXcHlHMG5sazZ4aHJCK2hXTEVBdGxyVkxwOFBIdXZvdUZiTllvR1M1cWRVNURZU1hJbW1GK3RIcWxBc3VNNGVQczBibmR0N3Q1cmh1bmpMSHZ5Qmt0V0pEYVBPYVYza255K3B5VDArVmlzN2RBWWxxdzhiaDU5TmFaNWVUYjRmbHRTNFpRMVdydmQrVjJGUjJpQVZtUkVacUI0eE1JVDFxZFduWjVhVm5mNWNacGNwNWVWanBXWG52Mm5PdUYyZHRVdEhDc3RVZnhhSUpDd3AyUTIxNjI5ei8zYThqWnpLVnYvYm5Tdm5Xa2FDUGlwaXlwUTNWdjlwSUJLd29tUTNwTm9YZUgvZkl1UDhidHNYM2x5SFdSRVBQbEJoRnA2Z29BOFdsT3lHVkxqT0Y2L0lPZHJHeDEweFRuRGQxcXJJVjhZa3h1dElPS3JjcmdQVzdNamdHb093czNINE9lamppM2hoKy9obFhtL0tOZjhkRjBDREw5TUVPWk1TZmIvZTlpbTk4S3VQL2FWNGFMMU5seDFLc3hvSlNqYmNiQnB4RGlCZ3BqWlZNR3RiL1pOQ2dJSDlSRXVwWm5QUmIvejl3MTJLVFJ1TmtrV0ViQnA2SGdETytpK2M0ODhvdU9ZVkE4Q1NJY0xCaE9TR3ZsOExHSW9GK05mZ1JOYXRVSXg0VWVYa05TSUZpL215RzkxdGFnKy9MenNxaW9mWGwrVmZqNHBLOS91eWo3SGZ5R3ZLcmJ0R2h3OE1zWlprTjNxMkQ5aC84MTdaTEdmRTRFdHZMdWFJQVFBa24xVnMzdXZxUGd0RUVwYVM3Q2JmaHBkNlc5MVhaSTdMcm5BdndzM3RMcGJxYWNYMjdiYmNxaWdyWWlYSmJncm9hVldmbnVGdzVIeFdUMTV0azZZY0xuZWUrVVk4OEVEOEthVUdPaG9wK0FRUW1WaElzcHVDTnhXbU5HdFJUWDU5RTV1MHFCbXFMWHhPc1lrUHlUY0lrWXQxSkx0WlpCdXNQVEZSYkt3bXlpN3JHenVaRlY0eEpEL0plWXhKc09ZRWlCWFlPdVFzNjFiTkY3ZG1abTUrbnRIbWN0Zk1XTDM1cHdkbHJOOHUvRkt1Y1Y3NllGRHY4R09WVmxha2plMXkySjFrZjN2YTNmaDMzVHZKOW90MnVZSnBxUGhVTyt0dUFiTU9GcEhzNWpyTUdqVHlyUmc4UXVtTVJYM3MzYWw3cXEzMHQvSWJ3NHlRUEtYZ0kwRGtZUTNKYm1XM3NkeFgvbVFmQzEzV0FmNER2NVpMLzlidXA5VFFYeFI5Q0lnY0xDSFpMU0k5cjdvQndiaFBwVVpIUjBlN2RSc1ZIUjBkSFIyOXlIKzNUUHJrVkpUU3RkNjVVV28vRU4zQk5RWmhZTXN3WnM4TG9GbkFSRmFkN1E0QTEvL2VjQUUwL3RxOW9DQmdQVmRNejUxU24rajg5bVhaVmdJQVFMMkdKNVZsUkNSamdWWjJTMTJ4Q3R3c2lDcVRtd3dBajFBS21pcjl0YVFyTlhhTXVvL0RBTENWMVp4dFE4K0kzYjVZRWVQNzNiSGZBVUIrTEFLQVJmM3FBd0JBMjRBMUNETDI1QjdkcVhDSnl6VS9Lc3VIU01iMHJld1c5bGdCQUFERUgvQ24zUjdIY1p5bkM4YTUrY1YvdDdTRGpQZnlna0p6clJmSkJLY1NOR2JyTU5FMkZxRGtJOS9TVjhkSHBZUVFUM1JpajRSbWx2bFNMajhvNDdtL3lqRXlnUGI0UFJ0dVRON0tiZzI5N2lYbUs0ODM2NXhKR2NXeVRYZDZpanJaUXRhTDJhZk1ZR2Q5V1U4eEFmZy9waW5iaHA0T21hWjhVdGFUMVFESXhROW1lQUo2Yy9HMVl5OWNjb2NyY3IxYTlFSUtBTGkyVFRnbTY5SC9HU0RYV0RkVjhwVGxNd3pMTFpnMGRSaTViY01reFdiajBtNUxoOE4vZWJYUytza0IxVzFsZTJmL1V1cSsyMnJVdGZFWlM1ZGVEWmVWaUw2WTJUR1E0QlVJc1Uzd3JNTnkvdUViSE9NczE1SWdiRXdzMlcyaTQ3RXN4dnNQQ0Z1SFIzVkdJdWFWckRMRnBwOFBLT0p0YkYxRGc0TmNXckZ0V09pZUY0VkhBbyt6ZlZDSloxSFpRTWxxeFBiaGlucmVjVUg5L0ZvOXRURW1va0hKYXNPT29jckdpbEtDdlFrWlMyUXJMU2haVGRnK1ZPSEpBN3hOWGxhTnJLMG5LRmt0MkRGTTZYaDhZWEhRbjFucWJZbDRVTElhc0ZPaFZ3QUF4VnNEL3lyZHB0NllpQWNscTU0ZFEyUXFsa3Z0MEsyMWV3eldOU2Z3V0puMSs5ejM0K054dEN0eU1OKzQ3SFpoWUZoUmJMMS9PZTF3bG1kOG1nNEFFUDI5djZTTDF3QUExMnpLNm9PSE5yelpEbHVUQ01GMGtwV3IySVQzdk1lSG5oOXZBNERxUzczYkZQS0hjd0J4VXp6enQ0WHZoenJER2JFR1pwUHNkcG1MOTJMbStEZlNsRDNLQVVEU3k2ZGNoSkNTdjY0QmdQaTV2dHV1cFFyaUlTSG13MlNTM1NHempZVUpnV2ZJWE80S0FNQ2xEbnZwellsZDdBREF2UmE0TSt4TDYyMS9SWVNZUzdJNzVCNTlYQzBqS1AvdlBJZTE3ZVhBdTZVM2F2YmFJZ2owOGRXd2MxaU96QnczTmhiN0UrNEw4bDlqSitEQWdSRGNsYUNDWFVOejVXYnBGU3pDbEg4ZEJlQ3lmcStBdUZHcEFOd0lYdW9xbDFRWmlKZ0JFemtHc3IwQ0FHNCtyU0RIUUlBSmd2QUdoSkJTK1UrSWZMQ1ZWY3d1MlY0QkFQRFBvM2NSQUxoeUFlRDAxVGdBNFBXM09PeC9DVUhKS21YM0VObGVBUURKNVAzOTJDNEF1SkFKOEVlWEtnQXh2QkR6eGJqL0t3SXdpMk93VTlsM051K2M1Tk84Yyt0K0NIN0lPb3hZTEtUeXRiSnJpQmFsWEh4V2dWY0FBRnQzQkIzNi9UUHYzTHJ2UmdhNkFtUitoYUtISUtaQ2RTdHI4RC9wVGNVQnRtVHdwODVpbGdXYXVodW5iQ01CcTB1V2U3VEVaOHFaM29MYnpZNzVMVDEzTFNVL1lqbXNMbG13amZCTWdEazNkNmJjYnJQTk85cDFHRGVDUlFhV2x5eEE2dVBMTXM0YyttVTAvV2pRS2svdkxYRTRTbzlNcmVXOXd1RVVaU0NXbXhGVUhlQW9tajgwcWdzSmRaT2MrV2U5QjNOSEpVUlZYR1YyQStQVEduTzUyVVh1UDJLdnViVjU4cVdEeS8vQlE3MnRpaFZiV2E3Rit3ZUxuWTd6YSs2WGV3NDkxMmVkKzN5a2tvVnlnczBpWnNLQ2tvMSs4cUxuMmE2dDhzN1ppbnJXUDc1d2NZemx2aEVSQUxDaVpLTm5CRXdmbk80bEl5YzNPZkFJdXFKQllUTVJDU2ZXayt6alFSTmVKeHRLejlucFVwRGxXUmoreUpKWVRyS056d2MvL3l2Si9YL2JUenpUcDRmVFRzdUE0eWZoWm56TjRMOUhOcFdhczlHdHZBdWpjRFlNVUxKaEozb3c3MEx5N1ZLemRxN0t1OUJJc3RvakdlTUgxaU9jMm9JVlh3ODI0Vjg1K1dVWkpEL0NQM3lKQ0U3eWltcTJSMFBMckFwS05zd2tKL092ZEJiTTA3cnlGc0Q5NzBnWXc4SW9jNENTRFRzT0ovOFZPOHI1YWZKUEFCeTRJSmhtaU9JcmxNZzRiakZ5UWNtR21Zc1grVU5UWDMvSVQ1Ti9EbUJWWjBGejNPRjczajZhcTBjMU5jMmlvR1REVFA1ZW5tVEpvc1BVaE1KUWRMbkhXd1pmMkt3d2lHMWtnU01HNFdhdUsvanZvK3VrNWl6NlBIamxqT05qUTFiMElDcXgzRlJDM0xxZ3h6c2VrSjQxYVgxUTFubjRsV2hKTENkWmFITXE4UEZ6NWV4QWJIWXdJT2ZxR21FekVRa24xcE1zWEh2UzkzRG5kMG15c2paYzRsMmdVRDRiNHlCYUZBdEtGaHJNTFhJL08rTmh1YnU4WTRZdE8rY2tqcnlmKzJJVURnK1dXNE5weVYwSlhJdUJuV3VYWmE1ZXJTREVGcGRhTy9icTZYenRqYklxNk5IckFUbDZGR3pnQ3AyUWx2ZnNXWTJ0c1Rnb1diMVFKbGhFQUk3TEloWURXMWtGY0YxMlNrMXFiOXc4alR0MUpNdkFTRVhKN1d0ekJRZHdlWUpobUdERWdCdS9VR0xLK1BzM1hTV0VrS3ZiSHBhN3QxWXJFb2QrbTFudU9MdndvVnFoMHlKaHdYakpjdmVYL0M0dFplY3RUdTlUWFR1NnFYMnVFcUpHN1BjR244bDloaDdxQXdrM2hrdVd1NitFL0NBcFpiK2dYVi81QTFVK1dBSHgvd25Zb3V0YVhqZDBEa1I3akpZczkwQUpJZDlLU2RtSnQwK3hvSWU2SjhzbitxdmdhUFpiYTRiT2cyaU93WkxsN3I5S0NKa2pJV1hpVnY2VGR3dFd4SWFacDV3OEM3N0YzcllCR0N0Wjd0NnJoQkF5UzBMUzhZTHpPbHlUMVR4YVBrM1A4eTJvaUlUb0hUZ3VLd2Z1M2xueEFKS21CZXlQQ3ViQ3VmSHgycHNrd21NQ1A4RCtkQVJFc2tmSnlvQzc3N000QUpBazJmVFd3bXR0bXdtdmhZK0VJY0pyMTBYQXRuSjBicVREamZ0VWVqUFpsaktrRkQweVZYZ1JBRTRmVm5OK1ErSUkrckxFNnBRRFNHTDdIbEh4SkhPQWtwVU1OM1pXbk9kWENkOU4xUGhacjlEVFh1bS9XYUZOQUFDUFNkbE83b0ZycStKQkpnRWxLeFh1M3MvaWZMK0hUazVWTlNOZkFqOHNqQ3dLbmZUL0lJNzJORlZQTWdjb1dZbHc5ODcwZXdVUzNocDFUdi9yWGRTMHVhcldBTS9aUTNkWHVyOU51VmlvNWtubUFDVXJEZTZlendLRUlhSGZmYmc4Um5ETk5YT0hoaVo1cWRoQ3YzNkZZZ0ZZMzVYRkVRTnBjR08vREd6S0tGcmdjK0NrOEZxR3JxRXpEcDhSWGl0ZnJhY0Y0UUVsS3dWdTNPZHhnWC9Ic1JMNktmMUdlRzMrRmEwTWtrTHhFdUcxWFJodlJuK01tUDNpeGhZSGw3RlVRcWFhSi9oUHp0WjVXVXE3eTN3TG5QZm9hd0VDWUloa3VYdXU4c3FRRlBEbERsNnUwcEd5bjZ5UzEvbHp4bjlJOEdnUXJkRmZzb0kybGhCSm14SzRTYVdCZWNxZTFIMDNjOEtpWUxNUEt6dmRIRkdIN3BMbHhna1VTNlI1aE55b1BIK1cwM2NiMEcxSStUbHdMZGRPWGVlTEVTOTZTNWE3UjZoWVF1bUxVMm40MFNrWElZUzR6bnpTV0c1Rk5TSG1pUnl2YzNEcGd3Z0prSVNoTjhUaDdwcE5HYWd2cWlheEVLNUc5NjUxNGZUdXJlZlZyQ0pRUStxb0llbEozTlZUeTc0N2JwUUpsUjE5VzFtS0gwc0lJV1ZXbXZlMDFlelNMUzJDcG93aXFDcGhnTHY3YytvZXYrZ2tCWkdLak1KMTRZTFJKbWdLVGlXSXdOMzFCWDB2TnhjaGJxRWx3VmFXRFhmM2w2ejFzWG9HQmVEaTdlV2xPajdQN0tCa21YRDNmTTVjMFUxZnFzM0czcVJWemZLOGZRWHllMEQxaHZkckhGOTRmUEVTakgxb1ZYVHJmbkYzRmJFTGVVYVd6ZlpCcTY4UVFoeW5QcFc3anlYbUNVOEljTmV4TVJoZzFxTG9KVm51THVwWWdZZjM1SmhjOVJ0ZkFJd3pkOHJxUENSODdaOEtLSitHMzRqV1JDZkpjbmVMdExHRXpKTmhjZkt5Z0l3bEQ4Z1lDWS82YitBaUFjZlRsaHRFUndEMGtxeW9WMEFrcm92eEZQVlJVTTVMWGFWbjdWOFduTFdkOUt5SWVkQkZzdHdZTWErQUVKSWgzZUF1dkFWZHl5U0hFckN2NFQzMUsyeG1BVWNNcUhCajVvU0lFbGduVHZLdzB3VGVzTU9OMSt6akp5bHpBa0MwUU1xdHV2TXVES2dSV1pNQ3lrREpDdUh1L0RKVVhNdTRPcGtTQzR1L2lYY2g1bWZCM29TOEIvS2d6YXpxL01zSi9ERzJtczFSc2hZay9JNEJOMGJjanlXRUVIS2pWSHNiRjBxdzZTNkE1eVVrYzQxUjkrNGlBMnhsK1hDanZwSVFPN2laMUgxL0NZSjlZcGNFdTF4UHJBRDRxYWRnbTAzZGhnTGJKRDQwb2tISjh1REd6SllTN2JxRjFQSkt5L212ZU5tOS9Ea3dsd3NnYTRSZ3hIYnMxN3dMSkZmcVV5TVpsR3d3M09ndkpaMXEwREowRWpmbnpqYmhYVGxLUCtyREpZaE50NmNzTnZoQy9qR3BUNDFrY0NWWEVOeklPZElPbVcwbHRjU2lqYndMenIra1pqMjBoM2ZoNy9OU3N5SW1JcnpkcjlFaHhtTjlsRWcrWWFaUGVYRE9UUktDSUhnWVZSR1VzNWcvNklWWWduQktWdEpZZ1llT1VnMk8raTRvWDhrdDB1dHFueHVZMHprVmUxK1dKSXlTNVVaSkdaRHlJRDJJUmVyT2dHeU9GK1hvcnNydi9rVUd6azlpUTJkQVRFZ1lKVHRTZWhzcmF5MVgvYjk5d2l0NlZsNS9OK0gxUzU2Y3B4K0xnSmp4bFpQd1NYYTBITVVTeVowb0FFaVlmTGlDRU9JcVh0eEQ3bmM3bHo1dHcrbUNuSlhQMVplWk1YS3huSHVrZGxQNGlYVDZRUWZjeUsra2pSVjRPRi9YS1NOMVVxY3VOU3F5TjJWNjlwTFg3dGdxT21kM0Jxc0VlMnFLODZKdkIwTjBZcFNqU003REVIT2hzcFU5VGpsMUF3Q0FrK1VWRUVLY3lrT3YxUDNQR1JjaHBQaVBhNmtOUnNwam15NVdsT1g4ZWl1T21VY0c2aVI3bkRHZUtsdXhoQ2llNys5MjNGdEUwV1RLNXBocmRuczgzL0s1Vm9xV2dEQlJKZGtUakRZVzVJd1ZlSmloc0FLdGMvMWxsSTBYM081MnhuOTdtZDdITVNMaFFJMWtqN2RoRkRwU3ZtSUpJOXg3S0dKV0JoWnlnYjlXb2RxK3dOc3pjSEl5QWxBaFdXWWJPMXkyVjBBSUtWSFdCTjRlUEtQMU1jK2RmUzdvYm1FRW5IbUVLSmRzQmt1eDh2MVlRb2lNSmJOQnpBNHVKRE9GOHg1MnhIRWNGN3N2K1BZMFpTOHBvcWs4dmRJVGd3OVJyM01qdnBhOFhpQ0l2a3FPeW9qcUhQeDMycytsQUJtdlhvSGEwK29BUUF5dmU5alhKdUhzVWNUY0tHMWxNeGgrTERkTWdSOUxDSkcxeTlaUDRsRktTYTR4ZkkvQXl4R2M4aEpRV1ZyWnpJSDBOaFlHL2s5Wkd3dlFMVVhCQVRQODZGcmtnaE1nYnh2QXlvUFZBU0M2ZXJCdlN6QW1ySUJLSXRrTWhsY0EwRk9wWWlHdTl4L3lNMVdjYUIvMGQzNzN5d0FscFFDN3U4VUNRTDFOS1VHMzg5QXZFRkE1UmxFeUJ4OWczZHFtdk5SK1NqSXREbTQzMTJZWEZCU1VBZ0JjTFNnb0tEaDZPRGoxU3BTczlWSGl5MmF5eGdvQW9MNURRWUZ1amlsWm9GRTF5Smt0Njh1N1BUSG8zS01DUEpBakFsQWdXVmJQeTQzZ1JEbkpPRVgrRTlnTUNvd2U4NGtOQUdJSHpOcThhOG5URFFBQUVqY0czSFc5YkxsVlM0Z1ErWkk5S1I3SzZsdkZraVV2S0trQTk2aFBzNjc1aVFEUVpyVzdvVC8vaEIwQVd2cFdJQkRYOTlMMzNDRG1SYlprUXlnV0ppaVhMSDhub2pTNG0zZTZRM0NlZWlZT0FEcmxlSXR6dmhNRkFNMVhlQUowRnIwdFpYYzZZbnJrU3Zaa3FEblAxdnhUTTZWVG9mQzB3dmgrSHk1WTh0Vjl0UUVBcXV3S0tPOHVBSURZWWI5bEZWLys1NVBPNkJWRUJqSWxHNnFOQmJEbGhTNkZ4UlBLNitIVjQrVEEvNWdEN2xYbXRxUWExWmd4N3hHcklVK3lKOXVITG5HZWNzbHVVRjJkNkEyQjVUbjRNZWNRSVpFOUxwczFlSC9vUkN1Vmw5OUQ5U0JVVXRCb1J0UTFhc3VyQkVTMFpMUHVrS0JZV0tWOHVEN3FUc1ZaUFNRRVR6L1dWRnRlSlNDU0paczE2QjhweVRJRmtRaWxNMDd0KzdzYWZCZ3VucFFVbWdpV2JLWVVyd0FBWUxueVo2VDNVcDRYQUFDS2d2NWZYTHRVRmxjWmlGekpaZzhXQkhobjhLZnloM0FQS2M4TEFBQVZQd2F1T1RpbWNIY09ZbWFramhoSUdTdndFRitnZk15Z1NPMXB0dFgyK3d1cnVGZGxZWldDU0YxOG1EbEVvbGNBQUNVclJ5aCtUdUo5SHlyT0N3QUFCZU4vOTRidmRzMzhYa1ZCTHc1V2xtLzhRUlVQUlNRZ3JaWE42aUNuekhIS1cxbHlUTkUvZlZSTWpNOGw2N1RKUFVPYi82OFk3eVdiZkg4dDVwd3krd3NWcnhjMmlzaHNaU1gzdk53czVZZkxsa0h6TzM2WG5TZmw3aEhwY1Bqbkh3c0JBR0RQTGJjUGJSZDdldlVQR1c2M2xtczV1bk44OXJMbHhiTEtIS1R3OFBKZDhoNkR5RWRLSzVzcE9maXJoK1hLV2loQ2lKSXRZSzEzdUFnaHhMWEpkd2d6WjR2eXRhc3hMMThtaEJEblJua2J3cGNxTkgrcWJQTVJtVWlRYkpaY3hjTERDajl2UWdoeHlSM25xbmZZbTNVUHBXVzB2ZU05YWZtRTVDTkVBS0NKMHBYcU44aTBIcEZOYU1sbXl2SmpBUUFndFZUaEIwNElJWXZsUFl2NzFKLzFYZUh0bS95bS9DN0RhNXV1MFBoTHVQd203SVNVckd5dkFBRGdUNFdmT0NHRU9PVXRERWdOQ0xxVlhjTXJudUo3QUFBZ0FFbEVRVlJ1dDl2dEhBQ0F6VzYzMiszMlgveDNTNlRYSkY1aDU0c3NrdmVlekVERWRiK3loKzVWa092Ny9zcWZhSHRWMXZCUzh3QnZJRzFWR1FEQW1wZktvZkYvNndBQWNBRWViRnd2eVZXNVcySG5TODNNSHlLUkVLMXNWaWRGcGFaY1Z0aEtFVUtJczRlc0NnaVhsSmMwb3g4SU9sVnFtYlo5bE55U1RHOGF1bkN6RVdHdGJNNFEvbGxaMHJpeWNKenloOXJldkVWR2hJeDhoejhDalBPRUV3QmdVeDdBNGtIdVZWeE5BOGJiTGtvdHM3LzBxYjVnRHB4VW1CR1JqbWdybTlVNWRBRjBibExZVEJGQ0NIRU5sUEdrcElCZDRYdXF4TWJHeHNaeUFBQlJzYkd4c2JGeGkveDN5eVE3eVd1Vld2Nm03QmVGeUVaTXNsbGRGQmNiZFZ5azNKQWNpQW45QkI5UCtqd0RCMlZSVFgvL3lYYkxwWmJhUjdIaDNXVFlqU2hFUkxMWnl2eFlOeThwL3RnSkllUXBHVStLLzhXaldkZi9LSk51OXBsZVJaK1MrbTNQclZKcWRrYUUrWVhtaEMzWmJNVmVBUUJBbXBxaFdWSWdPSmxlaE9RUEN3a2g1UExiMU9uOWhQZXVFa0tJYTUva1R0M05pczErWDRiVmlGS1lrbFhoRlFBQXdLK0tQM2hDQ0pHMUJzdlcrdG5aWHo2ZHp0ajBiZXYrMGNhZEN4NnFJcm0wcllxdHhrTng5WUFsMlJ5VmlsWFJWaEZDaUd1QXZLZUp4eWpnYkRKaUdOeXAyT2pEbEFOeEVNMWhTRmFkVndBQVlOdFBMMWtpV2FGT1BJcHFPWEJRTzlrUmpybWFYWHMyRmwyS21IQlNzYzFUNVZxREtJRXUyV3dOZGxOUFZQelJFMElJbVNOZWVzdmZDd201dWxwbUY3M21CM2tWcnZ5Rll2M0tWeFZiN0VpWFp3eWlES3BrYzdUWS81OTBWdkdIVHdnaHJtRmloWGZJY3FmS2wzRzJQVUNkYmU1YzUyOW1KbWxlck5qaU5YSk1RUlJEazZ4cVA5Yk5OTVVmUGlHRWtQTWlFYnJpZkRFNGo4c0lWUkRsQzJSenNnNGppVzJaY29QdmsvVjJFS1ZRSkt1UllxR09zc09VZkt4aGU2cTMrWmF6dWg1TkZCQUZBQkFydk43Rkg0cjJhVWJCOXlzMzk0S3NZNmJOUXdTTUplY08xV2ozLzVtNWsxVGw3L1BHdjFpM3J2UDF6Ym5wendsR0E5WlBMSVcyYzFJRnVSTDhpMWx2b3A4LzJrREZac252aTVUblJXUWdhR1Z6dW1wV2RoTlYwd21FT0VlelN2NUFORjlKTTlZaFNqN1dVVWNOb2xZb045WmgxWk1iTGQvSzVnN2RxVmxaSitjOXFDcS9iYzV4Um9PZjQvLzFlQ2EvbFNXYnNnRit2RWE0NUxWR1IxL1NDOVRBWWMvSjZzd0ZzNHA1NGdtaUxieFdWc00yRmdDYXEyeG1TWFlhdmVDMnZuNTl4VzJjQUhjYTRmVm1WN3k1WE1JanhRR2dkem5kQ2tuY29lV0xRMFFJbHF5MmlnWDRVb1VHQ0NHRTdLSFBLTmcrOFM1MldTUmowWmZ0STIrdTNiVHAyM3E1S2d3OVlQbnZWOHNRSk5sY3JlT3hOcjdLK29pbHNwcCt3RUh5RDA1Q0NIR3RabzFXMFhQOTV0YnNVZG9PelBoTmF1eDhXTW5yUVpRUUtObGNqZHRZQUppaFJnYUVFRUtXME1ONHhJNWRlZWJjaGtreVk3UEVQN0s3NEhMbWgvVW90Mndxb284VGtvTTdhM1VqUUxLNVlWaWduSnF2VnJMa2QwYm9tYWo0UkFWZnh0R3BEZUpwYTJTNHQxVVorYXg4U3hDRitDVWJEc1VDL0Z1dFlnbFpva2NMOXB6eWczUUlJV2VTZFRBUmNlT1RiQmk4QWdDQWhBejFtbDB0ZWEycllpWTdRNXNod3ZOaE54RHg0WlZzbUJRTE1FYTlaTWx1eGxpWFpqeWhUckY1Mk1qcWlFZXllV0ZiVUc5VHZKTXFnT3lBWlE5eFZSSzFPSFF1T2lYWk93UEdUVkhsRlJBeVdRTjdFS200SlhzcWpGdERPNVJwb05raTcxazFWVjdlbDMvOHM4WnFqYktQWFhmdTFJTHJPUUFBK3ljcWpUdUdaK1BxeVMyRUVKSVgxczNNNzJzZ1dlS2FFUU1BVUgwZElVUlJhTHNnN0I4NUNDR2s2RjRBcUxwRXJXM01wUkJJT0xpRmhOTXJBQUNBbEV5MW1pQ0VFTEtsT1FCODdQbGprN3FHYlpSbjhlS0Y1dERtb0ZyRE5sajdUQmZMSGUxNzh6STRPM3hiZUo4eGFLRW1yNlh3bVRrMUQzcFdkTHUrRUlsV2xQOTFBU1RjVDVzdjhNQU45UjdDK0VybXAycTdUczVlVzFXV2dKZ1BWUk5MQVN3YkpLMW5QdzNnRVdrOUtoV0g1M2dKc1VrTnNTU3BwOVVyZ3hCQ2lIK3BsVXVFMHZzQStoZUtwZERJSEVJSXVTQmNTbTR0TE9jWTZNT0luelYrTVNWRDh0ZzN5MDY2Z0dzb3N2eUF2RHBHTTBzbWZxRlpVWWlaK0ViRGRvMFFRbWFwNi9KMDBzQWhjTE1XdzIxRUtGVlBhS1VSUWdoeC9xaTJ6M1NYbXRYY0FWeHRyY25yUVV6STlScHB4TTNXTzJYSGlRbWt4a3ZxWWl6NCtiZFc3d2N4SCtxaWR3ckllMTF4alBldXM1V0gxK0N4Q2ZjaVJEQjJOZWZYMFhDdWUwUkJaejN0bVQzYW1WRFlVdnYzaEppSDJ0bmFhY1ZEeFpwbjI4b1lpdURhUHI5QjNaSXRIaEd4ZXdZSHVkajBYS1g4YUZzMnVXdldiVHJzREpuTTFyelhEVGMxMVBiUlA0K1JjUXlKYVVISmlqRHhzekM5bml0Nzl1NC9mUHdNUTBBMW03WnUxNmxMTmMyZm5kRzFRT3NpalFBbEt3TDM2YU5oTEowVVorZWVQbmV4b0xDNHROd0Z0dWk0aE9TcTFWUHJwRFdzRXA1bEt5VTM3QWhMdVhxRGtoVWo1azkybEV6TE1lRkxveTNRQnBTc0tEWFdSOHpRKzZ4SEk4R1JCWlJzS0pwdGtCVXJ3N3lzN1ZkbXRBa2FnWklOUWJlL1U0dzJRUXVPOXpwbnRBbGFZZTBGNmpxd2ZYU3AwU1pvd01YQkVhTll3SFU5b1RoeGRLamxYMUxKNE1nWUxBQUFsS3dFRHVZTXN2aDNrZU9lcFVhYm9DRW8yZERzT1RQQTBwcDFQVExQYUJPMEJDVXJnWjFuKzF0WXMrVFptVWFib0Nrb1dTbnN6QjFvV2MyU2YzOWd0QW1JRWR5cE5pUzlVYmd3WWx4bFpXQ2gwZUpUaFBNcG8xOGNZaGc5dGRyTG9pY1ZEeG45MnJRSFo3OGswM0p4QzZOTmtFdkp1RitOTmtGN1VMTFNTZjM1QnFOTmtNZkZFV3VOTmlFTTRJaUJkSXAvck5mWmFCdmtjUHkyQ0pyejhvT1NsWUZqMGFXYnJQUEMxdmJQTXRvRXhBVGNlTXJvSHBWRVhKK0ZZK01hWWtIcXJ6WmFqSks0K2xERTlsS3M4ejFuRWdxL2g1N21mMm5IQnY1aHRBbUlpZWg3MHVnMk5CVHo2U2ZwSXBXVzZ0OXFHZkJWY3k0L0VMRk9BYUlVYm5pZTBicGtzNmFaMGE4SE1TTTF2OVkwOHBCMkZENkprZUlRT3JjZU1scWROSlpoRTRzd2lYL0pkSXU3OHU2MjdMSmVSQmNhenplVmQxRDZBUTRVSUtIb3RjRm9uZnB3TFdwbDlOdEFySUJ0MkQ2anRlcG04NDFHdndyRUt0akhtcUFmdG1jb09yR0lkS0x2TnJpbDNUWFMvRlBJaUxtSUdyek9zUGt3NTFycjd2NUZESVRyTWMrUVBiaWw4M3NZWFhYRXN0Ui9KVk52d2VhODFzRG9XaU9XSm5yZ2J6bzJ0V1ZMaHNZWVhXUEUrcVJPM3V6UVE2L08zYy9WTjdxdUJvSEwxRFNuK2NpUm5jTGJnM2NkK3VYbkEyRjlncGxCeVlhRHBvTUc5d3JYMXF1SzdRc1hINDZRWXc4VWdaSU5FMVZ2Nm5kckk2MUhuOGlwVmN2K2pweDQzTXBBeVlZUHJsbmZHM28zMUVxMjVQU0dkV3NPdVRRcXpjS2daTU5Ndys0OXVuVk1VZm1haS9idjJMSTFveko3QXdHZ1pIWEEzcnhqaDNadEdpb1prcXJJTzdoLy83NGo1WnJiWkYxUXNycVIyQ1M5V2RQR2pkSVNwQXduT0V0eXNyTk9aQnpMS0F5N1hWWURKYXMzWFBYYWRWSlRhOVNvV2pVNU9TRWhMamJhRGdCQW5HWGxaY1hGeFpjdlg4cS9jUDdjNlhNRjZMVXlRTWthRHNmWmlBdjlWQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCSklKaDVMU2xhb09HZFd0V1RZeUpjcFlYWDc1NE9pZTdBQVBFYVl3T2tvMUpsWlRNNWF3b0xiSHk1NXZjclZmWERuVjVwM3BVbk4yL1kvT1dBbU1zaWt4MGtHeXZEZExTRVVmRjFkTlp4LzdaZWJnc3ZBYUZnL3BEQi9kS1pOMHMzYnBvd1VrOXJVSFUwVXZ1TVd3WEZ6L1cwR2lqWlJFemZHbFppRHBWckxvelhLY3FJWm9qVzdLRWtQSlY5OFFiYmJkVUVwL0lrRlNucktlWXpUQmlMcFJJbGhDUzgxeVMwWlpMd1Q0K1czS1ZzdThMNzZtTGlFWW9sQ3doT2ZlYS94UHV1azFXbGRhMU50cGdSQUtLSlV2SWlzWkdHeTlPekxSUVBpeWZva2UxUG5FUjBSNFZraVVYaGhodHZSaHA2eFJVNlpzRW84MUdRcUZHc3FUaWVmTk9kblRMVlZTbGRUV01OaHdKZ1NySkV0Y2JadFhzN1ZjVVZtbTN0TGtWeEREVVNaYTRYalM2QW5RR2xTaXUwdllxUmh1UGlLSlNzc1F4MnVnYTBMajVxb29xL1JGdHRQbUlHR29sU3k2bEcxMEZJZTN6VlZWcHV0SDJJMktvbGl4Wlp6ZTZEbnhxSEZOWEkwYy9vMnRnWFN3eFN0ajdYcU10NEdHYjAxeGRBVkZmb0R0cll0UzNzaVRIWkxQemo2bXYwZ3lqNjJCWlRMVDRVSXpKbjZvdlF6dWE3a2tXdTExd0tMZVFTNm5mc3ByWXl5M3JlRVJqcXhETllMYXlMaDhoMjZTRFpscHR3QzBTc2ZUQ2U5MDh3d0gyVGxQRlZzek1NN1lTaUFnc3lSNUw4OUdvM2ExUHpMOGdwdGxlUnRjaWdBSHNmN0h5dDROODFMaG5DdGxKVmJyRGxSWURIWVBEdkZWTjhhTmVhY1lzNUtPbjVUM1UzcXhUaTdUcUJSUEYwbkJKTFpvM3JGTTlPUzZLbEJVWG5NdkpPSExCSmFYb0hSMVp0ODZNNHRlMXpVS21Najk0VHNMRFZNSWxObXZXb0U3MUt2SFJuTE9zc09CY2JzYlJpMUxxeUNlcWRzc21hYWxWRTJNNFowbmh4ZE5aeDA1YzFkeFdxWmhJc2dDSkh6L0FLdVJ3RzkrMnNJUzIxQlRGQjMyL3h2WWZlWE1kQUlDakxabFcxYnVsNzdYTlk0S3Z1WEszci8zcldLaVBkUFNQckR1bmJoTDZwL1hYTjJHa1B0dTQxUDFMSjliRXdoVmhjZEdkNkVuM0NUY2ZjV20zM05DZFgwVWd1VHMzckRqZ1pEeVJocjNUTGIyNzFPWUpwZlRRcGxXckxza294Vkt3SElORHdxUzJXYXl2VVVkZFg2S085QlJaM3Z0VnB1UjVyN0Y2T0RVbmIzUXdIdVQ2NXlYeFhUeTJuU3diaTYraHBlL0VuTmdkNEVteGtKVWdTemdFZVFNOTVRV0I2bXMvczkzSktwZGt2TnRXWWx2RmRma1AweUcvdW1oVWhHNE9raUZaaVB1SDlYNEcrTkswWTd4QTkrdXozWGZHZjQwdTJmUXZpcGdmSmlHRWxQM1lXYVE2TnpMelBVYlA4Q29yL1plZUJHTllDWnpDYWI4cDlKUnplY2xhZlIxaUJZUno1VzBTUkJzMVlwTjQxemp2eFlnY1g1WWpXUmpGZWpuUCtwSzBwQ2R3MUFZQXFMNGc4QnBOc25Wbmw0dC9tb1FReHp4MlMvc3pLOU1teHJSTTRobEdocE9lWVpEa1M2d2lIeElVdG95ZU1IaFpjWTNQUWxlUmtGVU1IOE1IZDl2dTBLV2NtMlM2cVVuMXlKSnNMR3ZjNEdOZmttYU1GT2tBME9SUTBDV2haRzBUQzBKL0RJU1F5NnpkQTZtczVzdDFBK3NGdk1aNmlMZTMrUjByd1hmOG9tTG8xaGNHTFJzZmNFcFNGVW41NjN4SE40amFQNFFlZkNTRWtPM3R4RXF4SkxJa0M0c1pxZjE5bnNhTUZOMEFHbVVHWHhKSXRvYllrR293QzZwUzdYdVVsWDRkOHdVMFozMzBkM2tTREdDVm1jMy92N21HbnU3WGdDVGNxMndmbHMvYU9reWo0ZGJUVWtzcGZwQmRpaldSSjlsM0dhbVgrVkkwWktTNENWTDI4Uzd4SmR2NnVOU1BnUkR5VDJPYWZhdFl5ZStpcFhhem41SEZ1NTRybHVVNnVQZ2pIay9UMDQzenA3RE5sRkZGY293MXJNZzlWU0dqbUEvMFhLcGl1bVV4K1l6ci9pNHhheEFxa2Z1a3ZYalozZGV6QjM2RnRGM2JRbml4Sm10TzQvSkNka21ybkhTOFE3Wmx2ekV5Y3IxNUYvaC91Nm40dy8vNzlFZlpkZ2hwL25jRCtvUGZtaUhIUlgxbXRwbG1KOVVqcjVYOU55UDFDbCtLZW93VW8rNFFmQUVIdDdLZDVhNXhQWmttTUkvWnUvOUI1QTNFMTZDVDRrM1FtMVhxdDhFRjJlbGYxdjUzQTNmTHJDTFpSVnR4eEwwbHQ1aFB6THJkU1JIYU9BYitScXdPSThVREJ3V1hnaVRiVUdLdkpJQWRncytUT1hCOHY1cFhaR2ZGbXprWi9DM0lHQ3laNUV1UXhoeDhZUElGeFo3SjBqcGVnY2ljblRRMzhpVEw2aC9OOWFWZ1NYYTU4RktnWk9PMnkvNFlDSm5EczQ0VC9sdTRjVFZWOVk3ZVpoVHJEQzUyUEQyUi84dGd2dndxT204V1dOTlh5aGdaajRyclZiMEFjNkhOSUpkLzYwa3FJd1dsWlFpVTdBejVId01ocnVIQjV0VmtkVXBPcS90aTdNUnExb0lYdDM5RlRiUFZkNys5OU1FQ1A3djVYbXNONlNHYkFzalFLeDZWMmJwZlExaWIvRU1IdXhRWHpmVlBLTEFHdVA4R3orNTBZSFZLOXFpTGpMdjNBT05HMEdBdjE1T2Fab0h2dDhlVmZKeWRCdkV1ZkVEdmtvV2d5VFFsdVJSZ01zbkd2OGE2YzVCMVF4cFJNOWsxZFJZN21QZnFCMjlKWnc1SnFEU1AyWHU3SWZBZnNUWmxDQVBBNytiSGpxRVhzdmU5Q1hlTmUvYXJMUHBkbUJUODV3M2o2TWtBQU1xdXN2ODFKN1BYSUZrTk9jdGl2bUY5N1pUNkIvWlpqZ0VGdjJOQTl3SUpJVHNudG9nQ1c0Tzdsak8rbW92cUJScjRPYXNZV1VOTEZGb3dsdWs0Nmdja0drcE40djl2dVkxNi81SjNOcGNiY0ppYW9EeG9ZTVMybVZIRnNybjlhd0RFZFo2U3cwZ2dObWhpTGFSTHRzcVBqS1NFYlBPblVpTFo2SlAwQkNVVGZhM1lJTVlRMkR1QkZxNWdQV21nMnJmRUVzcklnRFR2VVZPODVicy9qWHIvVG44QktldXBLWUtXZkE1a0dMTEh0MVkwZ2ZHUDZ6RGg1bjFsU0pWczhpU1JHRmV2KzlNcGtTeGp1TEo4UU1EemU5Q0RhVndJN0ZZY1pUMUpiTzJYSkI1bkZQeFJRSm9OMUJUZGZmZXBxeGdMQWhjUzFLT3VVWmdka0lKYlE3ZGpkK0Q4OWFmME5QOVYreExNQWt1eUoxcjVhTnRqK0pRbHhZeDBoQkRpQ3BCRVRaRjBQSHlTM1VpL0grdzVNeGIyQmJoMmpGVXBoTGdVOVZnQ3FjY0krN25EbnlTZXVtWXl4KytrNzZIZHp3cnFsbEpIMDdZR0pPaEFIM1FvRG5LajQ0NVFFMTIwVE9UMUVHaXdLWnpzQ25qdk5hUm44MHEyRmYxMlhuRGN6Q1Q2QUp0L2RRTlVZUzBNcjFDL2JKUXlyRXhJa0JOL0xUWEJKLzRpcUU1bVJkQk9ubXZPVXRnYmtPQUR1aGxCN2hIQS9mUlV2Q0ZCeTZLRlpBTVhqaXFRN0t2MDIvemhDZnJVVm9sLzNLMEI2MEZsNm9Oc01WUkFidk9sZUlwNlAyQW00Q3cxd2Q2Z0JwS2o0Yjl0ejZLV1VjRmJQNXhJWHlRdldDd1pEa3cyeU1VZ1MrNE9hdGVGWTd1M2JkdDEzUE1uSTdEeVQ3eS8vNkttaXJ2Ujkyc0tOUUVBT0N2a1dFZGxZVEg5dW44czlqcmE3WXZyL2IvVGplaXc3NHV1ZmxGU3BlWlAzSVcrdG4xcmR2RGZ4UnVweVc2TmtOVXhHclN5OXdlV0Y2cVZQVGYzL282SlFmK0tkZWdEV0tmNEw3Z0pQZDFNWDRKdXJHZGUxdUE5L1VJdjJyZm14WlpKdXgyNGNPWVFMUUVoaExpT2ZuQ3J0SUE3TDlNTGVKMmZqckZ1SnRSR0I0dWdYckpyZzdRbEx0bURkd3UzMERHV1h5M2xwNHVqZjkzdDhTVzRqdlZVTFk1UEhFNHZPdC9iNDY5UC9ZY2FGbEFDbzdQdjV1cmExL3RWQzJuRVNucm1ZZngwakhGdXh2WTNUYkhDeHAwckQwdmV3K3g2NXpYSzBZelViMVNBRS93THBaZW9UVkY2Y3FIbk4rYWNzQmIrMWJMODZyVEwxZHA0L21XNjBaNWVITER3RUU3MEVTaysvb1lid0hGdy9icDFaMFFTeFhhaFh4ZThLa1loMUQzR0dtTUJ5Ym9tSHBXYzlKRXZhWmNabjhNRndaaE1FVFZkZlBQZDN2SlpEeGJkUkNXUnF3dnBVUng2ZWlSN0xlM21pa0NUZDRYYTBXTHYwR0dTYzkreXhkdFliVUJUK3U0aDF4WCtxMktjMlJwaWpiMVZVT3NZdk1RclQ4UXhlSXRxQUZ5a3AzYVU4V0ZNMnZxbTdqdXpIbHltaFdadm9aZnQ3WVpUdC9EY0YxaEFhL2FiQ1NiM3Z6M29YeGdqR1JuSytXK0tzYUx0WW1UMHYxUWU3L0VXLytXeUpmc1BQUktFakxrSE9pOTRTMHBucFhDRTloSkRFME9mL1R2aGZnRXh0QW5sc3BwQkpmRDN2ckZ4SFhpS1p2TC9TUzZBQWIyVjFoU3pEM0k1L3oxRitySytxZlN2cTBacWpmQXRUV0VPRE5pMGlFQlIvaXYxY2tQM050Z1dOSWx0dUJEMDV5ZVVKSFM0TmpOT3ZpdmNYNnZkcXdvZkpwZnN4ZUh2U2xkc0xtUEhZRDM2WmVuNG1yS2lVa1lLcnBiYVp3QUF6S2ZXMWQ0VkFBQzYwdTR0Q1A1ejdqRVpUNnZ5L05GWCtNZm1hZmVxd29lNUpidTB5eUlacVg5ampPZXJmbzIrR1lUU0s2d2txajlyQUlEdHg2bVhld0FBWGJJdTN1c3BueWduUGh3a3Y3YUhOOGFnM2FzS0gyYVc3SWt4ZDJTSFR1V0hQbm1sd1d2MHRVWE9VNndramRVK0F3REFTWStweUpic0x2NzdXZjJLdkNlMitQdmxvQTZUZHE4cWZKaFhza2NmYWZlVHJGQ29qdTJNRzZvUFd2Q1BCR2F5a21nVDMvZ0hhb1U3eHdCQVBDMk0wQUxCbGVreXoyQ3dUL3M2Y0xCRHcxY1ZOa3dxMmVKZkJyYWR4WEljR1p3N3g3aWg0Ymx3ekJGaWVzeGJ1UnpjUzd0YUxSMEEwaW03QVluUWVTZlAvcDhzM3dCZzNKeUFkdFlLUitpWlVMS3U0N05IcDQzNms3MGZpMEZHT0l3QkFBQi9yNGk1eGF1akpnT1NaRDcxY2plZ1Q0Y2NwV3h5Sk5QdllIb3ZkTVpPOGYrdU9vQ0d1bDJia2pEUDdKZkxXVmFjbjVkMWRQK2VzMHBDb3dQa3NXN0lGajhmZjdlTzJnb0NBRlJMcDRkbGtNblBiOUUra0s1ZkE5QzJQZnhPTFdOWis3Zkd5L3BZWC9wcmkvZFgxUXZTMUs5b0M0bUJrajNhUGVoUDRuSlV5UHhPQzRZVnpRc1lxL3FrNHkvZ3lCVkdCNFhybzRsa016ZlJRbjUyQlhvclM1Y3M1RC95MmJTQk1scjk2QSt2OXpZU0dyNnFzR0dnWkYxYXJOZ0xnTDVBQUFCVWgvUS83L3V0WkRkcjVVbi96OW41YXpJNlo4NmRndStUK1RUSnRva3ZpV2tqdkp6TDZtL0MzaUVkbnhvdHZmTiszUzNld1JZTlgxWFlNSTlqb0pweTFnMVd0K3hocVExamdNdXhoaVhabTFPWVk3WXcrVlg2OVdQQ25mKy96WWdUcGt0SzM5dUlNdmUxV09STGFlOERMOXc5cnJQVW5zb0VyMlFacitvWTg5Z1ZQdnVsSmpRMThtSnloWWExeG1BcUswTjdSZ1o2NUV0bGxlSHRyQTZHdGVIN2UwcmFKYlNFOThNSXl0VmJROWpLdFo2eVRWcVUyQ3ZlNFlpUDZmZFZCaGJSRmhPT0dHaE9KcU1ieTRxbEpNYjJzNnc3anpKNzJ3MjZNVzdRVHBlaXlSZzZRZ2ZoeFh4MjNIQTM1TkNiM1p2Y1B5ODNkQzgrMmJ2T2xUSHFvdVJOaFkzS0lObkNIUHAxSld0QXlwZXc3blFWUmhEME1JN1JGU0tyS0JlWDBQeUw5alRKL3NsWXN4cEU3amRqRzdkKzZLdURJWHJ5M3M3ZFlmcnRhbVk2ZDZZeVNCYjIwQzhyV285TUh6a0ZBTzR0aGpMaldidExUdEFtSnE3OFFibll4a2FacW1DTUZ3aHdIcGt6dmwzYTBJOE9pSXdkZXZ1SGUrbHBvczBVYnF0U1NKYlJzKzZwWk9COEhUTUVZemVHTkNlekZ1UXRwT3FEOWo5UnE3Rnc0MnN4YTBrRkRYSnU0ZFB0VzcrY3licnZYWVo0aHZHRlpLWWpoQ3VGWkJsT1h5c2xNYVFxK0ZHUy9ieE4zYkRUZ3JWU2hSRjJiUVdsMTI0ZkpseTh2ckpRbUU0VWN2U04xaTh3bkFudmFMT0xjWGpyWUpuUENpY1JOTWpGWmd0OUFvQjc4Ri9CRjJyOFNQMXVyeGdaNkYvTy9qY3I5bS9DNzMyRjNaZXFQN09TNzkxRnZWejYrd1RoeGZlRmx3Uit3YTNVSUVzL0JKNlBYUHJlK2ErcEQvV3RMVmh4RC9WKzczU2VFek4yUERYZHlqZW9sNjJHNFlOY0FEL1JjMXppTGN1bmgyTUpqTG9Jd0J3SUlvU1FMTUcwYWkxR05EQkNDT3NVOHo3czhnTW9UK1hubTBOTk56UTRVUlExR0lJL1dFTHRVdnJqdmdrdXhzWTR1RlY0SEtRbE1ZRmthYU9haEJEeVk1QmZsTUlJblBwOGNHRU5SRTdBTFg0bWVOL2lMU2VaU1UrekZ2cEYwMVhGWTdVZzM3UFVkQ3Q0RGpzOTFzRXZ2dnVNMEdDT2ZrR2wzRWxQVmFiSjVnempNWUZrNDg0ejhyd1c4SUhhdm1aOER2eXV6M1JHWVlRUVFvNU04alYvY2YzL0ZEbTc0QVZnUVE4ankwTVlSNTl4aURqdkNEMzYrU1QvOGQxbm5jSjBQakFRVENQRzJYcFNCekhNamdra3l6eWFpWHpqMnpwU2pSVkJYSENPWEJWV0dHczNaZHMrLy9jakU1NTVmeWxqTDdxYkxQWnBHRjBrSEdIa2JDTElGa3R2L1l1QzJzZU85TmlOL2lEa0NheWpwZ3JHK2h6OW5xd3puMjRYK1Fpc2hCa2syNERob2hHUy84bkFKdFZxdFI3Nk1hc2hkZ25uZFVmSVB4WkxnTWo1b2JZRG9iUHZwT1Q3alo2MC9GMy81RlZ6UnRFQnUzUmVZajV6OXpQWDFxNVd2L3ZFcGF5UXBmc2laZnpKREpJRldTZTdCc0YzQmdHQW02ZTROQzkvaW4yNnI0VE96NDlIQXNEMjJNbVYrUk42TmEzYnNNczkzekRDVHA4TjhNQ3JzZjUzUXpOYTJnZG9ma3doMmJxWEZYNE1GYlFGQXRXT0tTek55d1Y2VEV3UExWbk5tQThYYmVZdVd0eGhFU0ZvckpseHRITm9OdXZUeUVaS1V4NkswMU1WWnB4Tm16b3JHTTFjbkNzSjUzalJyY05IYVYvN1FSejdoM0t4Z2pKNkt3a1NORmc3YzUreVVoeFBLTnROSXBmS0lsbjRlSk9pYkNkZnBGN2VmWitxM1RuVFJJNFZCK1lXc0FBV1VsZG56Vks0L1cxajBMc3BtOEJjZVN6Sys4d1Y1NWJERkk0QlFGTzU1NFFUUWtncDgyVFdpVXJPM3ZRd08xUkRrY1k0NjhNSC9aaEZ1RjFSdjlEQjN3bnhMeVdsYktZSFJMTWtKcEVzOUplMjNEa1FsMGlJMzBraEhVNFczNFdlSmY5YnZJUTgxczR1a1prNU5vS3p3bTNzODllWTVLbytrOGRFbUVXeU1FRjJ3L2ltMkZxdnNTVnlpM1B6bVlSMUhRK0tGOEhjWnhZckdzaWJ6cjVrUVRFSnNvdkpqNUNRODI1TUkxbDRYSjVtWGUrSXIwNjg0YlNzNHR5VVB5ZGx5V01Oc1VQUUNPbkh6Rmh0bDF5RDhwcFJpcW15VGw0aEY3cFRDckV1NXBHc3ZJYXg0cGxRNGtwam5Dd2dRaTV6NzBJd2pHa0JOL21VTFkxZXF0UFAvR1NTVFk5ems3UkFUaUVudEFtV1l4cE1KRm5vU1QvV2lzWVpDYk9QVVU5ZWtmUEpFdWYvcElZV0hDVldqT2lSVXZGZnllbURiV2Z0SnJKUGsrNzYvNkZEaUU1ZE1aTmtvY1ozMGo1UTE2OTFKUm5UYUw0TVoyTzN4Q1lXQUpMRXhqZEdpZWU5NjV4VWd5bytFRG5DODBhSjh5V1hKMFhjU0ttcEpBdHdtNVRvN1BzSFN0NWswMzJ4Uk5IdXYxdE8zQzdXSWgxQ1NIR29rSnExWm9ZYUpDT0VFT0phTCs2QkpyNVdHTG9ReDl3MEdiV3lDQ2FUTE5qdjJSdmlvOXg1bDZ6Tkd1MC92eFR5a3kxZjFGOWVXOVNQWFpiNFBBUUFBRFQ3TEtUYW5IL2ZIdkxmc3U3N3JIT21QWlRNalRBdjFvM1pKQXZBOVpuTC9pak9mbjZkN0cyTVNYY3ZFSk5JNmFySjB0eU1BR0paaXdDRGppNW5VKzNSdFNMT3FPdkltNjBsbVZGbDRnYm0rTE56eDdPMTVWWkxBMVJIWnd4TmRVWlVscUtWeXNxTDZVKy9mb1N4Q1o5S1hKL2JibWpQbjY4aGhUdlhyOWlxTEhoZlFzKysxM1d1S25pZDVNcmVMZXZYSzRrKzl2Rmt4bzJTK2hMUGNxeDljOThlTFlXbk96bXp0bTFZZVVSNlZNMjAyMi91VlovL0ZlSEsyYno2cjB6SlpXaUpEcEkxTFFtdFdqVk5TNjJhR01NNVN3cnp6K2FjT0p5aExxNm5yV0hMcGczcTFraEppT0djNWNXWEw1N0p6VGlXclhTdHlIUHZNVzRzSE1xNFFTTWhQYjFSL1ZyVmt1THN4RkZhZE9uQ3Flemp4eFRFaXF2VE5yMVIzWm9wOFhaU2NmWFNoZE9aeHc3cEVDOE9zUmJSekRPVXg0VE9qQ0Q2TTVHbDJBTFY1eGtnU0Job3oxeVNUajJsRjBFTTVqcm1lSUhMVExHR0VBUUFBTGlPWDdESHAvWlg1ZzR6QUZTU0FFZld3RDYvSXY5eWVYVFZScDNGRG9LZHFjT1pMd2dpaWVqUWMyaUVYQlF1YnExc1JOeUtoZ2hubHR4NGh3Z1NOcVMwc29WR3pKQ2FER3hsTGNYSHpLTWFFRVIzSkxTeVp5bEhLVlU2c0pXMUVsTWtMb2hCRUQwSTNjcXUwdVJzWndUUmlKQ1N2ZGpZYUJOTkFUb0dsc0Z4WDZiUkppQklJQ0ZhV1JkcnlUZUNHSVM0WkozUEdHMGZndkFRbFd5UlNOUnZCREVHTWNsdWEyZTBkUWdpZ0MzWm5FZWlRMmRIRUwxaFNOYTU4UUdSa0M2VkVGd3ZhMlpjdVZiYU0wd0FBQUEyU1VSQlZOdFhMYzNFRmJKQlZQbzE3dWFCNjFXemVwVXFLVWxKQ1RIZ0xDa3FPSitYY2V5Q1BzY1BJQWlDSUFpQ0lBaWlBLzhQNnhDNnhUMDRqTmdBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIFxuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNzYtMVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg3NC01XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoODYtOVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg4NC00XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoOTYtOVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg5NC0wXCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTA2LTlcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTA0LTFcIlxuICAgICAgICAgIGQ9XCJNIC02LjEwMzVlLTUsMTQxNy4zMiBIIDE0MTcuMzIgViAwIEggLTkuMTU1M2UtNVwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxMTYtN1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMTQtN1wiXG4gICAgICAgICAgZD1cIk0gLTYuMTAzNWUtNSwxNDE3LjMyIEggMTQxNy4zMiBWIDAgSCAtOS4xNTUzZS01XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDEyNi0xXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDEyNC0xXCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTM2LTVcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTM0LTk3XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTQ2LTdcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTQ0LTY3XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTU2LTNcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTU0LTY1XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTY2LTZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTY0LTNcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxNzYtOVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNzQtNFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDE4Ni04XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE4NC0xXCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTk2LTI5XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE5NC0zXCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjA2LTlcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjA0LTBcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgyMTYtOFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgyMTQtOFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDIyNi01XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDIyNC0wXCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjM2LTlcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjM0LTZcIlxuICAgICAgICAgIGQ9XCJNIDYwMS4wOCw2MTEuNCBIIDgwNS40NCBWIDgxNS43NiBIIDYwMS4wOCBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bWFza1xuICAgICAgICBpZD1cIm1hc2syNDAtM1wiXG4gICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgIHk9ezB9XG4gICAgICAgIHg9ezB9XG4gICAgICAgIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPGltYWdlXG4gICAgICAgICAgaWQ9XCJpbWFnZTI0Mi04XCJcbiAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVlBQUFBR0FDQUFBQUFDQnJPcGpBQUFBQVhOQ1NWUUk1Z3BibVFBQUVWcEpSRUZVZUp6dG5YdDhWZFdWeDNjU2dnRUNDSUk4RkJVd1FCTDJEZ0VmbzVaYTN6aGo2OHlVYWJWRmhQckFPclRvV0p5MnpqaGxXdHJhK3FsaWRXWnFSMVRBNTFTbi9XaW50Z3BTbi8xQTViRjNMaEFJNGFueVRua2xKSkRjK1FNL0pqazVlNTE5N3ozN3JpVDM5LzBubjV4OTFqbjdydDlkZSsyejl6NzdDZ0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnTTVPSG5jRnVobDVaeXFwNUxkLzYyelF3Mk5sY294aUpaV2MyRWNJSVNvZ1FGYnBPVm9xZWQ3dzFnUFMzUllDWk1aUXFhU1NRUzhxOXdzZ0I2UkwzN0ZLcWtuOVE4dU9GemU1WGdZUmtEb0Y1eWlwNUJqaWpNTFN0YTRYZ3dBcE1WQkpKU2VjRW5tZWdnQngwMnVNVkhMU1lNZXozYk13Qklna2I0UlVVcFhtcDJJREFlS2hyMVJTVmZaSjNkQzlHNFJlVURpRjV5cXBKcDZSdHYzQU9zY1RFUUVkR0txa2toMjY5aW1pL3VoNElnUm9ROTl4VXNtSnA4WnhLUWlRR2dVanBaS3FKTDRMT21kaENIQ2FWRkpWUkhmdFU4TlpnRnhPd3IzR0tLa211bmJ0VStOdy82VGJpYmtwUU40SUpaVk1yV3VmSXFOcjNjN0x1U1pvUUpsVU1wMnVmWXBJQ0JDa3NFUk9MRlZuKzdqMFBxUFZaZTBQeWQrNG1lYUdBTU9ra3FxODBNT1ZtelpvcmMxSFF0d1pFTUQxV2JpN0M5QjNuSktxTXBhdWZaQVB0ZGE2K3Znbi95VUNwYTdkb082YmhBdEdLcW5rdVQ0KzROR0UxdG9jYUhkczhKNzI1elQzYVhTNlZyY1U0RFFsbFZSRkhxNmNyTlZhNjlxV2tLSTlnZjdzcEZWT1YreG1UVkN2c1ZKVnl0TjlYZjd1WHg2MUZRMEpaaGlaWXdMa25TV1ZWT044ZHUzRnF3L2J5NTRNNWhuSEpOQWRCQmhRcHFTcUtQWituMzIzMmN0bVh4czg0dGdONnRvNW9MQkVTU1c5ZE8xRG1QcVN0YWowZzE3QlE3dUdPVjIweXdvd1RFa2x2WFR0YlN5ZWJpM3ErYWZLamdjSDdYZTVhaGRzZ29yTHBKSVRCbVQ3dGp1L2FTLzdmb2ovUmNVeWw4dDJLUUVLUmtrbEs4L3hFclVmR2JOKy9sQjdlWExtWDZ4bG4vdFcyRkhaclFRWUpKVlUwa2ZYWGh4SmFHUDBBU0YrUVBoZlBQcUd0ZWpVUmFGOUw3ZHVVT2ZQQVVYamxGUVR2SFR0bTJ1ME1YckxKeVAzRjcxZFlEOTE0NFFHYTltek40WWVYbkdoU3gwNnN3QjVaeW1wNUZqQ0xlbXpXeHVqMXgxcmM2UjR6V2o3NmMwWHI3Q1dmWFZKK1BHamZWM21aRHBwRXpTZ1hDcnBwMnRmbnpEYW1MMGRqajlNK0YvTXQvdi83TWNzQlgxRzF6aFVwOU1KVURpdVhFbDFscGRySDF5cWpka2NOcEFqeFBXM0VJYXJmbUF0eWw4Y3ZrQmFDQ0ZkQk9oTURMOW03cUkxVFVsL1hHKy85NUE5aEYxRG1kM3dPM2F6ZjR2ZlJiNG92dURXQlc4ZWlOM2hBUjRuYXZBS1pYaTMzVzRTOFlYNVZleCs4a0JCeVJlLzkvS21scmg5SFVZTmtWTHVvQXlYMjNzcXZkY1RkdFVlL0JVbmd5NmY4OFNLaHBpOWJPZkVSZmFxbEJ3aERBOFJZMDMvUWQyeHVjUDRVR2VocUhMNmc3L2ZIYk9Eby9oM2UzMTYvSWt5bkdFMy9CdjZsdWZGN3JtTXlSdjUrZnVlWDNjaVRzZCt5bjR5ZjY4aytudmZvd3lKMVEyblIzeUpaanA0Skh2ZDBBSGxTaXJaMThlbEd6Y1lvODJFVjRsVDZxZWRzSlpkZUI5aHVKZVlCSGdpNHZuY1pVb2dHd0lVamxGU1NUOWQrMjNHYUZOOVFnZ3grQW5xdkcvWk0yS2Z4WlFUWnUyeEZ0MXhYVVRsVW5oZDJCZkRwOHhkN0tsclgvZjJZM2RjMHEvMVZyK21UdjQvb282L29BeWZzdHVOUFJwVnhkME9IdkkyRmxSY0xwV3M4REpxZjd4YUc2TjN0RDk0Nnk4SmkzMXlsN1hzdWxjSXcrM3FvSzJvOFAxSmhPRkpoa1pMNEtFSnlqOVhLcWxHZVpGMnB6Wkdiemplc1dEVVE1VFo3WGIvRC81dndpNDUwK3AvTVMvYS8wSzZ4RUNjREw3OHJvVXI2MU50VEZ4NVlySjFoVnZCZTVUaFFxTEt2NkVNaVZVUWs1c2Rha3c4UXNkTlVlWE5ELzVoVjByK1RKVlZ4QVR3djFLR3RVVFg2MWJLY0wzOVNhcmZWcGNxVThySFJ0NDVYN2p2QlU5ZCs3WlFJMkxuVVhtKytUTjJ3OUdIQ2NQanhJUFVZcWM2L3psdHI3cHg2dVE3Lyt2ZFF5bTVNWDIrWWE5SHJ3MlU0WHk3SWQxeUVhT1pON2pWdWQ3Yk9ySEM4VGYrNk5YdDd0N0xuRDhRU2YweHl2Q0RkRnN1NHRsNVJKMWpyYWtkUGRMbGpDbjNMbDdiNk95NG1OZy8zRjZqS1pSaGZhbmQ4THpqaEdIRE9LdGQvcHV1MVo2YWdhTTdVbnpoYlk4czMrOTY3OVRZczJ6QngxVDVQOWlyZFJwcE9OdHUyTHVhTXB4ak41enIvTEhtcGUvdGR1U1BtVHJ2ZjJ2OGpObzNySHJxbnF1SENqR0RPdWxwb25JdlVZYS9KMW91Y2l4NXFkMXdnbnY4dnh6cDJzakhwY0ZLS2xudVpXUTd1VlViYlRZMUN5R0VHTG1tbi8zTWJlcVF0V3dtMWRjN0lEK3lsbDFMalU4Y1ZOdkRDd1pOcUp4RlRkKzNaL081VVdjUVQ4SkZaVkpKTmNUNVpxbHd3Qmh0cW82MEhzaC9tdkIveTgxMi80OWNRTjFubHQzL2c4aE8ramREL0QraXNuSmk1UWpLcWdPaitsaGZLSWhtbm5PZ3BVTGptc1Z6cDNUY2hlVGJsTTBEOWtybXYwMFpVaTNYeTVSaG9PbklIM3ZEQTYvdlMrZmpYcENlNzRVUVFreE41NFlVVzErWmYwTjVlTWlSemVxYW52WktFb3NTa3NtdFJGVE5wQXgzdDc1dTFMUHlhNCsrUzgxWTB0eWFydmVGRUdQU3ZtczR4TUJJVVlLd096YmVibGhKUGdKLzFtNDRrbngrL0lJUVFvamlTMll2WEozaFdEclpRRVpRRU8rRStUSWkzeStnRE8reTJ4V3Rvd3gvYkRmTWY0Y3lYQ2dHWFhYdjg5Vng5UHFjVmtqYitITU1GZmlVdWpQdE43cUsrcWh2RU1JOVF0MXhOZEZ5ZlplczYvSWQ2WHpDVURvdWdVeUJKMk9yUmpLWkRGOUJMSVFRWXNCT3dvNFM3bXBLdUlaeXUrRkVuK3Z2MnVQMm9sSTRkOGRZajJlSis3eEFHZDVndHh2NElXVkl0Rnk5eUpZclhxNU8yLzFDWEJsZk5YWVFtd1hjUkJrK1E5VHZSY3J3OVhSYnJoalo5ZnJQWmxBdmZRaEJQd2tQc1Uva3RhTitYU0tSeUgrSmFIS1RWOXFUMFZuYXVyeFlpQjNLL21MUWRLcVhYeWMvdEpaZC9acjN0eUtPcnRmR3JIRjVTNCthRTk2OU4ybzNxV01iRWxXSnhKYWtFS2VzSlB3dkhyTDdQLzlwd3YvSm0rMytQL3ZuVk0yK2J2Zi93Q2Q5K3IrbFZodWpheHozeTRyZ0RYdDBOZXJuL3VWdlMxcm5HeDZrUXRFUU83S1JJNHNQMnUzeS8wZ1pXbDVhRVdMd1pYUElIbWdtN0YzNjhJenpVeDAxSTc4TUQ0VWxzaE9iRWxXSnhLYjJDODArUi9YeW15NndiMld0cU1neDU5dDNITG1YR0o4UU8yVEgxUXhGcFVwS0ZkVWtwMGZEZXFQTld2c1NMZ0p5V1lvSjN1ZTFSS0pxWThqVytQMFhVVUxlWi9mL0tjOFEvbStjWnZkL3hmZUpHeWFudC9OLzNrZ3BwU3J4OHE1WlMyMUNHN014L0syYmpEay9FR01IYkNjK1EwWG1jbUppOUdlVTRUMTJ1NklxeXJDMTVScDQ2ZXpIMzZjbTNqTmcvL0pIYnZ1cjNtazUxcFhld2JVdmx2V2RYNmJxK1JkaVVlamwxSlBVbTRSd0QxRjMxS2NJSVhwV1RQdko3NmdudkF4b1dMMW83alV4TldaMGgyQmpZQy9aejRjdVFEN0RVQ3NRYjdJbVJIR3FKa2JYclZNaVFvZ3JxRjUrMDlTa2tuS3NsMlhIeVpPTGdadDlYRHVNNEd4ZjZEcnV2TmVwYjhzTHhPV2ZwUXkvYXJjYkVOOVlqVHY3MzNwczFzWCs5OFJwVC9ETmhSZkRUcnFMcXZiT2dmYXIzMGdaUGs5VTY3bU12WmtTalhySlAvODFNU1Rsa2I4UFZDVnNrWDA1TldyZGNwWDk0bWRTaTJ0MkVxM2FWMkp3cWlQYlgvM1JWOFl6dmt0ZEVxaFBjOGVrMzNNMTlRR0kxYTE1U3dtN2xpdnRoczZyb2pLaTdwMy92UE16eEl4YWRzZ1ByblR1T01YNUFQVXBFc1QySnY5RUdSS0x6Zk9XWmV4Y21xYXE1NzV6WGJaMjRZcGlaYUJ5SFY2WStpeTFTcnNwYkIralR4aC9qRENzSW9TN0p3WWYyOWo1dXdlbVZXUnpGNjdJRnpSMFlJRndSYUM4WC9oV09aOXcvMnByVWM4bHhQaFEwN1JqWVlkN2xFaXA1RG5FRGRQblVNSVlzOVkrOU9lTkNBR0NneEZCQVg1T2hlcmJQN0dYelE5ZXFTMzNyd2tlR1NhbGttVngvOHFDRUVLSUU1dU0wV2FMajB1N0VERXllMFZnbjZpRDdTZFdwdjRQWVh0WWJiV1dYYnFNaUp5M0xtc3p0TktuWEVtcFRpUHVrejRmRzZQTk9yY3RobjBSSWNEcHdaZWNSclg5cWd3M1JDOWZ6TEJQbVBUWHhQakVJYlZOQ0NGRXdXZ2xmYjFyZG1TZE5tYXRkV3dyaTBRMFFYdDJCNVltcWpZQzVEMUorZjhsWXNMcVVlcWw0VzlzRTBPa2xLck15NExVNXMzYUdGMGJ6NFJKREVROVpKaUFBQlZ0M3R5ZlRVMDRmenpMWHZhbGFaUmg1WFJQbXovdjBicEtKMEx6ZStjbE9GN2NadlBZVXZKMXlDbjJhNTdoNlIwRE8wZFhMcnpyQ2orLzFwTXBrUkVRK0wrMTgxSzRoR29pSG4zTldrUzNYREhUVW11ME1UV2VKa3l5d0tUQWQ2bmwwL0hBSDFKZk9lSUZUekhINDFlOUxYdVhQWHpMQlg0blRHSWdxby9SNjBpZ3YzangreWYvWHZJVzBaRThmdEVIMXJLeUQ3eHN2OXFXWSt1TTBUcmJiNm1uUjFRVDFGQVRlTkd2NHFRQWZSZFRqOER6N1A0dlhPTFQvOGt0cHZXbG15NUI1RkNyQ1FwdzhzK0NrWVROZTlaMXlmM0gzMEtNRDJYRS9pcHRqTW5naFJRZUlnWFFYMnovLzBrQi9vN2FET3JJVFNIZndNSXhTbnJhRDdSeGd6WkcyMTlHNnRSRVIwRGdmNW1YRkdJb3RRT2ttQlA0RWJrenBWU3kxTWNnWTNLN05rWnZ0RytHMWZsSldZRGlVWnVGV0RpSXNQaDE2OXR2ZmNkTEphV1hUWVBxcW96UjVyQ1BTMmVWU0FGcTZ3TTl1WXJONHM0T1A1alNodDIzQ1NGRWp4S3BwUFN5MVg5VHRkSEc3SWcrc1VzUUtVQkxWV0FXck9MbHNUK2xETDVXZUkyVXF0VEwwUEVPbzQwSjI2K3A2eEk5NFd5Q0F2UllRajNkSEYva1plajRrREZHRy92K1ZWMFdCd0VDLzFmY1QrNUhXaGkzLzA5VUc2UE50cGl2Mm1tSWJxUXZYeG80ME94bGxXc1lIeHFqemZxUXhjRGRpR2dCZ3I5U21SVU9KN1F4dW83aHp0bkdvWnZ5c1o4MTlSYWFOMmxqOU5aT00ySGlHNGRWWHlaYkF1elN4bWptS2RxczR5SUFzYnd3Sm80bWpEWm1uL2Y3ZEVJY0JOQSs3OTlTWTdReG0zT214ZW1BU3dSNHV2VWVvNDFKMkgrZUt6ZHdTTUpGUjdMVzcreXVQRzVmb2VDd3NlV3hydlpyVEYwS2w1MUZ2U2FCWE1kRkFGOUpBQWdJd0E0RVlNWkZnTm91TjlQZGhYQVJJRm5sdlJxNWk5UCs2bWlEL0FFQm1IRVNBQThDL25BU2dHTktKbGR3RXFEckx1N3UvRGdKa0x1RHhmNkJBTXhBQUdhUUE1aEJCREFEQVppQkFNd2dCekNEQ0dBR0FqQURBWmhCRG1BR0VjQU1CR0FHQWpDREhNQU1Jb0FaQ01BTUJHQUdPWUFaUkFBekVJQVpDTUFNY2dBemlBQm1JQUF6RUlBWjVBQm1FQUhNUUFCbUlBQXp5QUhNT0FrQS9PRW1BTm9nYjBBQVp0d0VRQkx3QmlLQUdRakFEQVJnSmpzNTRQRzhyZzN4bzNTWmdnaGdCZ0l3QXdHWXdYTUFNNGdBWmlBQU14Q0FHZVFBWmhBQnpFQUFaaUFBTThnQnpDQUNtSUVBekVBQVpwQURtRUVFTUFNQm1JRUF6Q0FITUlNSVlBWUNNQU1CbUVFT1lBWVJ3QXdFWUFZQ01JTWN3QXdpZ0JrSXdBd0VZQVk1Z0JsRUFETVFnQmtJd0F4eUFET0lBR1lnQURNUWdCbmtBR1lRQWN4QUFHWWdBRFBJQWN3Z0FwaUJBTXhBQUdaNk9KMlZhUTY0L2ZZTUw5QjlRUVF3QXdHWWdRRE00RG1BR1VRQU14Q0FHUWpBREhJQU00Z0FaaUFBTXhDQUdlUUFaaEFCekVBQVppQUFNOGdCekNBQ21JRUF6RUFBWnBBRG1FRUVNQU1CbUlFQXpDQUhNSU1JWUFZQ01BTUJtRUVPWUFZUndBd0VZQVlDTUlNY3dBd2lnQmtJd0F3RVlBWTVnQmxFQURNUWdCa0l3QXh5QURPSUFHWWdBRE1RZ0Jua0FHWVFBY3hBQUdZZ0FEUElBY3dnQXBpQkFNeEFBR2FRQTVoQkJEQURBWmlCQU13Z0J6Q0RDR0FHQWpBREFaaEJEbUFHRWNBTUJHQUdBakNESE1BTUlvQVpDTUFNQkdER1RZQmpubXZSM1dteUY3a0pjQ2ltaXVRcUIrMUZiZ0pzanFraXVVcXR2Y2hOZ0dxMFFSbXh4bDdrSmtEanV6SFZKRGM1a0xFQTRzVjRhcEtqL0lwNGtNMXp1MFMvN2YzanFVdE9NbW1WdmN3eEFnNHRpS2NxT2NsdkNmKzdSb0RvdmU3c09PcVNpelRLVFVTcFl3U0krdW5OY1ZRbUY3bVg4cjhvY0wzTXRycHJNNjlMTHZMVWQ4bGlad0hFaXFZck1xMUxMdkw4VEhvczMxMEE4YzZXYXdvenJFM09rZnp4UDBiTXBiZ21ZU0dFRUtXL21KeEpiWEtQbXErL0VYV0theElXUWdpeC90THIzMHUvTmpuSHhqdktJLzJmV2dRSUlVVEpkWlBMaGhXbnBGdnVrYXpmVy8zZWF5dTRxd0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnSGo0ZjlBY2RZSDJGUjVEQUFBQUFFbEZUa1N1UW1DQ1wiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIFxuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNzUwLTVcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNzQ4LTYxXCJcbiAgICAgICAgICBkPVwiTSA1OTIuNTYsNjA4LjA0IEggODQxLjIgViA4MjIuNiBIIDU5Mi41NiBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bWFza1xuICAgICAgICBpZD1cIm1hc2s3NTQtMTVcIlxuICAgICAgICBoZWlnaHQ9ezF9XG4gICAgICAgIHdpZHRoPXsxfVxuICAgICAgICB5PXswfVxuICAgICAgICB4PXswfVxuICAgICAgICBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICA+XG4gICAgICAgIDxpbWFnZVxuICAgICAgICAgIGlkPVwiaW1hZ2U3NTYtOVwiXG4gICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFySUFBQUpVQ0FBQUFBRE1ENXJEQUFBQUFYTkNTVlFJNWdwYm1RQUFJQUJKUkVGVWVKenRuWGRnVk1YMng4L2RiSHFoaHhZNmhGNEZSQkRCaW9EMFpnRWJDaXJZeTN2K3NDQVc3UGllaXFLZzZCT3hJMFVCa2Q1N2t3NGhsVTRDSkNGdGQrZjN4L1o3Wis3ZXRyZHN6dWVmSlBmT3pEMXo5NXZaTSswTUFJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ2lObmhqRFpBTHAzZk1kb0NIMDZYcTZ5ODdHcFI4WlZMbHdyT255OXdFcU10cWhUWWpUWkFMalZ1TmRvQ0ZvNnpaL0t5czdOT25MaU0wZzBubHBPc2ViSFhyMzhOQUFDY1AzTG8wUDU5NXd3MkoySkJ5V3BQclZyWEE4RHBYVHQzYkR0cnRDMFJpT1Y4MlZ0V0dHMkJERWpHcHZWcmp4cHRSWVNCa2cwN2VhdFdyRGhqdEJFUkJFcFdEMXk3bHl6ZWhaMHliVURKNmtYMmdsODJ1WXcySWhKQXllcEl6ay96ZGh0dGcvV3hHVzFBWmFMQnN6djNQcDFxdEJWV0J5V3JLMXlIRDdQbTk3SGNWNXVwUU1ucVRkeWRhL1krbkdpMEZSWUdKV3NBN2IvSW1GckxhQ01zQzByV0VGSmZ6WmlSWnJRUkZnVWxheEJKVHgzOWJ6MmpqYkFrS0ZuRGlILzg2TnZWalRiQ2dxQmtEU1R4WDBlZWlqWGFDTXVCa2pXVW1qUDJETVFoTDNtZ1pBMm0xZUlGVFl5MndWcWdaSTJHRzdMdnVXaWpqYkFTS0ZualNYcHZZMGVqYmJBUUtGa3owRzNMaTlqUVNnVWxhd3JpM2xyWjFHZ2JyQUpLMWlUMDNqSEdhQk1zQWtyV0xGU2IvMG04MFRaWUFwU3NhZUFtcldwb3RBMVdBQ1ZySW5wczZXMjBDUllBSldzbTZ2NTF2OUVtbUIrVXJLbUltek1OUDVFUTRBc3lGN2FYWjhjWWJZUEpRY21halFkK1NqRGFCSE9Ea2pVZFF4YWxHRzJDcVVISm1vK2JsMVF4MmdRemc1STFJYjBYWXp2TEJpVnJSbm92d0YzalRGQ3lwdVNtNzNIY2dBVksxcHdNL2h3L0dRYjRZa3pLQTY4WmJZRlpRY21hbGY5N3dHZ0xUQXBLMXF6WVp1SWFHU29vV2RNUzl5T3VSYVNCa2pVdmRYK0lNOW9FTTRLU05USFhtZWNrU1JPQmtqVXprNGNiYllFSlFjbWFHZHVzQmthYllENVFzcWFtNXV3b28wMHdIU2haYzNQYkkwWmJZRHBRc2labk9vYms0SUdTTlRuSk0vRWpDZ2JmaDlucGQ2ZlJGcGdNbEt6cGViZXEwUmFZQzVTczZhbi9rdEVXbUF2TFJUMVhmWWJ0N1U3Vk5rVFpZK0lUVTZyVnFGVzNmcDJZOEwvQnNvNUh3djRNQzJFMzJnRGRXZW5Rc3JTWXRHYXQyblJvbjZ4bG1YeGkzeG9SenVLdFJ1VnJaYU0xbGF3YmUrdHJyKy9iTUd6djB0VjdVN2lLUnNMUExVUWxZZnRlU1orOHJGU3RjUXhXV3E1bFFmeVlWN0lBVVBYZXBSVmFTSlNQNjZZd0dvMkVHVk5MRmdEcS85OUpEVFRLWjFWNGpVYkNpZGtsQ3hBMWZKTVdLZzNDMVN2Y1Zsc0hISmZWSE9kdlBXOWFyM0daM1BNYUYyaGhVTExoWVBVTkF3OXFXK0xBVnRxV1oyRlFzdUhoejQ1UFg5R3lQUHRrTFV1ek5DalpNT0g0cU4yZldwWTNGcU1oZWtESmhvMmNPeDY1cWwxcFZlN1dyaXhyZzVJTkgyVFd0WWUxSysxaG5FNXdnNUlOSi8vMCtFT3pzanAxMXF3b2E0T1NEU3VYaDM2cVZWSGNPSzFLc2pnbzJmRGltS3haQk1QUmVKZzRBS0JrdzgvVUtSb1ZWSytQUmdWWkhKUnMySG5yVFkwS0dxMVJPUllISlJ0K1h2NUttM0lHb1djQWdKTFZBL0xvR2szS3FYT3RKc1ZZSFpTc0RwU1B5ZEdrbkRzMEtjWHFvR1QxNE54WVRYYnY5TmVpRU11RGt0V0ZkWnBFaW0yYnBrVXBWZ2NscXcrdjc5ZWdrS2diTlNqRThxQms5YUhzTVpjR3BmVFZvQXpMZzVMVmlRM3pOQ2dFSnhNQUphc2ZMMm13RXJFeE9yTW9XZjNJbnFXK2pLanU2c3V3UENoWjNYaS9SSDBaS0ZtVXJJNmMrcC82TXJxcUw4THlvR1QxNHhQMWd3WWQ4Zk5DeWVySS9vMnFpNmlPL1MrVXJKNm9YOUZsYTZ1QkdSWUhKYXNqQzlTUGM3WFJ3QXlMZzVMVmtjdC9xUzRDZzhhZ1pIVmxvZW9TbW10Z2hjVkJ5ZXJKY3RYbk5EVFR3Z3hyZzVMVms5UC9xQzJoVnFJV2RsZ2FsS3l1ckZWYndGOWhPT25CWXFCa2RVWHR5T3lpc1dXYTJHRmxVTEs2c3BPb3lyNW9YS0ZHaGxnWWxLeXVuQ3hRazN2eHZackdyTFVvS0ZsZGNha0o3cjFrN0dYTkRMRXdLRmw5VVJHOWMvRTkyTVlDb0dUMTVvVGluSXZHb1dJQkFDV3JONWxLTXk2K0Y3MENONVh2MkdWanlWT1liOGxZYkdNOVlDdXJMMmVVWlZ1TWl2V0JrdFdYQWtXckRCYVBRNi9BQjBwV1h3cVZUTGorZ1lvTkFDV3JMMlVWOHZNc3VZZXVXUHNZWElwb0JjeC83TEk0NTJRYnZJUnhTSjM5UGFmajc5R3grcHFQeU1mcWtzMlZyZGlxOUlLaTMzWVNRa2plMUhyNlZnQ1JpOVVsbXlYVDNEOVliZXgwcHlkRnlkZnQ5YTBDSWcrclN6WkhJOFcrNi9RbmNpN3FnVWN2bWhlclMvYVVQTVV5dkFMN084NmdkSzdsMStsYkRVUTZWcGRzdmh4Yi8yUXA5aTBuUDZscmNVZDlLNEpJeGVLU3RWMlZvMWlXVi9DMlFMR0VFTWMzRGZTdEN5SU5pMHMycVZ5R1lobHRiQlJWc1lTUW9xbTRtZEdFV0Z5eTlSaHFrNkZZaWxmZzQrUXc3SWVaRG90THRyMWtPNWV5dkFJUnhSSkNGamZTdDBKSVNDd3UyZHNrSzVibEZZZ3JscEFyaitNa3ZMbXd1R1FmbEdnbDB5dVlIdHF6V0lzaFpVeUZ4U1U3VFpxUnkxaUtmVU9LTDF6NE1IcTBKc0xpa3AwdnlVYW1ZdCtVMkh2N3RicSsxVUpFc0xoazkwZ3hrYVhZS0FsZWdZZXNudnJXQzJGamJjbkdTcGxKV0ZhTm50bitoa042TmN1ZlJPZkFKRmhic3Awa0dMaWMxY2ErTG4xTWx4QkM1aVhvV3plRWdiVWxPeUcwZlV5dlFLb2Y2Mk1uVHVDYUFtdEw5cHVRNWkxbmVRVnZ5dkFLUEp6cXBtL3RFQ3FXbGl3WGNvRTNVN0V5dlFJM1JZUDFyUjlDdzlLU2JlMEtZWnhXZnF5WGlnbjZWaENoWUduSlBodkN0dVdNNGRRb09XTUZRYmorRHdjT2pNYlNrdDBnYmhwTHNiSkd0L2hNUjgwYWpKVWwyMGhjZVgreC9OaHB5cndDRHgraVpvM0Z5cEo5VWRTd0ZTeXZZSnFLTnBZUVFtYWdaZzNGd3BLMUhSR3o2NjhhOUZ4UnI2dFVMQ0Z2bzJhTnhNS1M3U2RtRnF1TnRiK21XckdFVE5HM29rZ1FGcGJzTWhHcm1GN0JWQTBVUzF5UDZGdFRKQkRyU3JhclNDZnFyM0Q1c1I0cWh1bGJWeVFBNjBwMk1kdW1GUXcvVmhPdmdCQkNTRkVQZlN1TCtMR3NaUHV3Wjc3K1ppbjJWYTBVUzhqcHhycldGdkZqVmNuYXR6TXQranVzZnF5WDNjbjZWaGp4WWxYSlRtSWF4R3hqTmZNSzNQeUlPMitOd2FLU2JYeVpaYy9LbXZRYzlsY3IxRmFWeC9QNlZobnhZRTNKUnExaW1iT1NOWVB3aXJadExDR2tySSsrbFViY1dGT3lyN0NzWVNwV1V6L1dRMDV0Zld1TkFJQkZKVHVBcFQrV1Y4Qk5raEZ1VGpxTDBKMDFBQ3RLdGwwQnc1WlZETVVDUkRVYy92N1dVclYxRlRCWnoyb2piaXdvMllhWkRGTldNYndDTDlXSHpwSjd0RUlJaWxyclUyVWtBT3RKdHQ0aGhpVXNyeUFRZTQ4UHM5WFdPSkJOMGVHdk1CS001U1Ria0tWWXRsY1FURXkvbjByVVZ0b1BqblRwanRVazI0N2xGYXlXcUZnQWdMVFh6cWl0dHBlaTlQRFZGYUZpTWNuMlp4M25JYldOOVpEMGhGYit3WEljTmRBWlMwazJhZ3ByQmt1S0h4dE13dFB5enhLbGNtYzRhb3F3c1pKazA1YXpqRmhUUzBGeDFXZVVxYTA4SVlSa015TGFJMkhDT3BLMTNYdUJaWU1jUHphUUR1dlYxcDRRUXFaclcwOGtCSmFSYk5zVlRCTld5MjlqR3ovODJtTXRPYkEvV2FpMi9vUVVZMkI2WGJHSVpPdCt3djRTWDVNcXQ3U29SODhSUWdwZXNBTzAyYUgyQlJBeVB4dzFSbGhZUXJKMTM3bkNObUN0L0RaMnJIdkZnZU54QUlqL05GUmdyNUE0TEIwUjBYSTczRzlab2JLQWFJY21kb2pRN3ZHeEl0R0lkNDI3d0x2aXpDY0FzU0tkb3JpL1c3aC9PZFg1SEFEY1B6TmVwWVhMK3hPVkpSZ0lTbFpqa29jODFGdDA1UE55QmY5SytaUzVrUHlqU01zWFZkWHpNWkhiL3dJQTZQV3J5bFdFNU1hMTZncEFaR0JxeHlCcDhQOHVLVEJwUGtDNnRHN1ZLUGR6MG84cGVFb2dLeTNYVlBreCtLajNDQ0txNmMyMzM1Z1NJdEhCM1pTTEpSOEJuSGorZW5hdW1LR2V4U3lPSFBmUG8zMlh0Vk5pbzQ4YnIxK3ZLajhpQTFPMnNrblhUcDZYS2FGWHRGYjJXQUVBQU5pWGV2SnZpL05lcXIxWDNWdjRRN082STZFd2wyUmphblc5ODVVZi9wRzQwa3FoWWdIYXVCY1luT251djFTSHRVQk1HbzVPbXRUZkNDem4wNmp1ZnQzc1ZKZWZzMFZGeDhZbkpWZXRYck4yM2RRcU1sN2dodUhubFQ2MDVSdTNKSmF1ZVhsdndLVkc2MVVkT1BQdGZXcHlHMG5sazZ4aHJCK2hXTEVBdGxyVkxwOFBIdXZvdUZiTllvR1M1cWRVNURZU1hJbW1GK3RIcWxBc3VNNGVQczBibmR0N3Q1cmh1bmpMSHZ5Qmt0V0pEYVBPYVYza255K3B5VDArVmlzN2RBWWxxdzhiaDU5TmFaNWVUYjRmbHRTNFpRMVdydmQrVjJGUjJpQVZtUkVacUI0eE1JVDFxZFduWjVhVm5mNWNacGNwNWVWanBXWG52Mm5PdUYyZHRVdEhDc3RVZnhhSUpDd3AyUTIxNjI5ei8zYThqWnpLVnYvYm5Tdm5Xa2FDUGlwaXlwUTNWdjlwSUJLd29tUTNwTm9YZUgvZkl1UDhidHNYM2x5SFdSRVBQbEJoRnA2Z29BOFdsT3lHVkxqT0Y2L0lPZHJHeDEweFRuRGQxcXJJVjhZa3h1dElPS3JjcmdQVzdNamdHb093czNINE9lamppM2hoKy9obFhtL0tOZjhkRjBDREw5TUVPWk1TZmIvZTlpbTk4S3VQL2FWNGFMMU5seDFLc3hvSlNqYmNiQnB4RGlCZ3BqWlZNR3RiL1pOQ2dJSDlSRXVwWm5QUmIvejl3MTJLVFJ1TmtrV0ViQnA2SGdETytpK2M0ODhvdU9ZVkE4Q1NJY0xCaE9TR3ZsOExHSW9GK05mZ1JOYXRVSXg0VWVYa05TSUZpL215RzkxdGFnKy9MenNxaW9mWGwrVmZqNHBLOS91eWo3SGZ5R3ZLcmJ0R2h3OE1zWlprTjNxMkQ5aC84MTdaTEdmRTRFdHZMdWFJQVFBa24xVnMzdXZxUGd0RUVwYVM3Q2JmaHBkNlc5MVhaSTdMcm5BdndzM3RMcGJxYWNYMjdiYmNxaWdyWWlYSmJncm9hVldmbnVGdzVIeFdUMTV0azZZY0xuZWUrVVk4OEVEOEthVUdPaG9wK0FRUW1WaElzcHVDTnhXbU5HdFJUWDU5RTV1MHFCbXFMWHhPc1lrUHlUY0lrWXQxSkx0WlpCdXNQVEZSYkt3bXlpN3JHenVaRlY0eEpEL0plWXhKc09ZRWlCWFlPdVFzNjFiTkY3ZG1abTUrbnRIbWN0Zk1XTDM1cHdkbHJOOHUvRkt1Y1Y3NllGRHY4R09WVmxha2plMXkySjFrZjN2YTNmaDMzVHZKOW90MnVZSnBxUGhVTyt0dUFiTU9GcEhzNWpyTUdqVHlyUmc4UXVtTVJYM3MzYWw3cXEzMHQvSWJ3NHlRUEtYZ0kwRGtZUTNKYm1XM3NkeFgvbVFmQzEzV0FmNER2NVpMLzlidXA5VFFYeFI5Q0lnY0xDSFpMU0k5cjdvQndiaFBwVVpIUjBlN2RSc1ZIUjBkSFIyOXlIKzNUUHJrVkpUU3RkNjVVV28vRU4zQk5RWmhZTXN3WnM4TG9GbkFSRmFkN1E0QTEvL2VjQUUwL3RxOW9DQmdQVmRNejUxU24rajg5bVhaVmdJQVFMMkdKNVZsUkNSamdWWjJTMTJ4Q3R3c2lDcVRtd3dBajFBS21pcjl0YVFyTlhhTXVvL0RBTENWMVp4dFE4K0kzYjVZRWVQNzNiSGZBVUIrTEFLQVJmM3FBd0JBMjRBMUNETDI1QjdkcVhDSnl6VS9Lc3VIU01iMHJld1c5bGdCQUFERUgvQ24zUjdIY1p5bkM4YTUrY1YvdDdTRGpQZnlna0p6clJmSkJLY1NOR2JyTU5FMkZxRGtJOS9TVjhkSHBZUVFUM1JpajRSbWx2bFNMajhvNDdtL3lqRXlnUGI0UFJ0dVRON0tiZzI5N2lYbUs0ODM2NXhKR2NXeVRYZDZpanJaUXRhTDJhZk1ZR2Q5V1U4eEFmZy9waW5iaHA0T21hWjhVdGFUMVFESXhROW1lQUo2Yy9HMVl5OWNjb2NyY3IxYTlFSUtBTGkyVFRnbTY5SC9HU0RYV0RkVjhwVGxNd3pMTFpnMGRSaTViY01reFdiajBtNUxoOE4vZWJYUytza0IxVzFsZTJmL1V1cSsyMnJVdGZFWlM1ZGVEWmVWaUw2WTJUR1E0QlVJc1Uzd3JNTnkvdUViSE9NczE1SWdiRXdzMlcyaTQ3RXN4dnNQQ0Z1SFIzVkdJdWFWckRMRnBwOFBLT0p0YkYxRGc0TmNXckZ0V09pZUY0VkhBbyt6ZlZDSloxSFpRTWxxeFBiaGlucmVjVUg5L0ZvOXRURW1va0hKYXNPT29jckdpbEtDdlFrWlMyUXJMU2haVGRnK1ZPSEpBN3hOWGxhTnJLMG5LRmt0MkRGTTZYaDhZWEhRbjFucWJZbDRVTElhc0ZPaFZ3QUF4VnNEL3lyZHB0NllpQWNscTU0ZFEyUXFsa3Z0MEsyMWV3eldOU2Z3V0puMSs5ejM0K054dEN0eU1OKzQ3SFpoWUZoUmJMMS9PZTF3bG1kOG1nNEFFUDI5djZTTDF3QUExMnpLNm9PSE5yelpEbHVUQ01GMGtwV3IySVQzdk1lSG5oOXZBNERxUzczYkZQS0hjd0J4VXp6enQ0WHZoenJER2JFR1pwUHNkcG1MOTJMbStEZlNsRDNLQVVEU3k2ZGNoSkNTdjY0QmdQaTV2dHV1cFFyaUlTSG13MlNTM1NHempZVUpnV2ZJWE80S0FNQ2xEbnZwellsZDdBREF2UmE0TSt4TDYyMS9SWVNZUzdJNzVCNTlYQzBqS1AvdlBJZTE3ZVhBdTZVM2F2YmFJZ2owOGRXd2MxaU96QnczTmhiN0UrNEw4bDlqSitEQWdSRGNsYUNDWFVOejVXYnBGU3pDbEg4ZEJlQ3lmcStBdUZHcEFOd0lYdW9xbDFRWmlKZ0JFemtHc3IwQ0FHNCtyU0RIUUlBSmd2QUdoSkJTK1UrSWZMQ1ZWY3d1MlY0QkFQRFBvM2NSQUxoeUFlRDAxVGdBNFBXM09PeC9DVUhKS21YM0VObGVBUURKNVAzOTJDNEF1SkFKOEVlWEtnQXh2QkR6eGJqL0t3SXdpMk93VTlsM051K2M1Tk84Yyt0K0NIN0lPb3hZTEtUeXRiSnJpQmFsWEh4V2dWY0FBRnQzQkIzNi9UUHYzTHJ2UmdhNkFtUitoYUtISUtaQ2RTdHI4RC9wVGNVQnRtVHdwODVpbGdXYXVodW5iQ01CcTB1V2U3VEVaOHFaM29MYnpZNzVMVDEzTFNVL1lqbXNMbG13amZCTWdEazNkNmJjYnJQTk85cDFHRGVDUlFhV2x5eEE2dVBMTXM0YyttVTAvV2pRS2svdkxYRTRTbzlNcmVXOXd1RVVaU0NXbXhGVUhlQW9tajgwcWdzSmRaT2MrV2U5QjNOSEpVUlZYR1YyQStQVEduTzUyVVh1UDJLdnViVjU4cVdEeS8vQlE3MnRpaFZiV2E3Rit3ZUxuWTd6YSs2WGV3NDkxMmVkKzN5a2tvVnlnczBpWnNLQ2tvMSs4cUxuMmE2dDhzN1ppbnJXUDc1d2NZemx2aEVSQUxDaVpLTm5CRXdmbk80bEl5YzNPZkFJdXFKQllUTVJDU2ZXayt6alFSTmVKeHRLejlucFVwRGxXUmoreUpKWVRyS056d2MvL3l2Si9YL2JUenpUcDRmVFRzdUE0eWZoWm56TjRMOUhOcFdhczlHdHZBdWpjRFlNVUxKaEozb3c3MEx5N1ZLemRxN0t1OUJJc3RvakdlTUgxaU9jMm9JVlh3ODI0Vjg1K1dVWkpEL0NQM3lKQ0U3eWltcTJSMFBMckFwS05zd2tKL092ZEJiTTA3cnlGc0Q5NzBnWXc4SW9jNENTRFRzT0ovOFZPOHI1YWZKUEFCeTRJSmhtaU9JcmxNZzRiakZ5UWNtR21Zc1grVU5UWDMvSVQ1Ti9EbUJWWjBGejNPRjczajZhcTBjMU5jMmlvR1REVFA1ZW5tVEpvc1BVaE1KUWRMbkhXd1pmMkt3d2lHMWtnU01HNFdhdUsvanZvK3VrNWl6NlBIamxqT05qUTFiMElDcXgzRlJDM0xxZ3h6c2VrSjQxYVgxUTFubjRsV2hKTENkWmFITXE4UEZ6NWV4QWJIWXdJT2ZxR21FekVRa24xcE1zWEh2UzkzRG5kMG15c2paYzRsMmdVRDRiNHlCYUZBdEtGaHJNTFhJL08rTmh1YnU4WTRZdE8rY2tqcnlmKzJJVURnK1dXNE5weVYwSlhJdUJuV3VYWmE1ZXJTREVGcGRhTy9icTZYenRqYklxNk5IckFUbDZGR3pnQ3AyUWx2ZnNXWTJ0c1Rnb1diMVFKbGhFQUk3TEloWURXMWtGY0YxMlNrMXFiOXc4alR0MUpNdkFTRVhKN1d0ekJRZHdlWUpobUdERWdCdS9VR0xLK1BzM1hTV0VrS3ZiSHBhN3QxWXJFb2QrbTFudU9MdndvVnFoMHlKaHdYakpjdmVYL0M0dFplY3RUdTlUWFR1NnFYMnVFcUpHN1BjR244bDloaDdxQXdrM2hrdVd1NitFL0NBcFpiK2dYVi81QTFVK1dBSHgvd25Zb3V0YVhqZDBEa1I3akpZczkwQUpJZDlLU2RtSnQwK3hvSWU2SjhzbitxdmdhUFpiYTRiT2cyaU93WkxsN3I5S0NKa2pJV1hpVnY2VGR3dFd4SWFacDV3OEM3N0YzcllCR0N0Wjd0NnJoQkF5UzBMUzhZTHpPbHlUMVR4YVBrM1A4eTJvaUlUb0hUZ3VLd2Z1M2xueEFKS21CZXlQQ3ViQ3VmSHgycHNrd21NQ1A4RCtkQVJFc2tmSnlvQzc3N000QUpBazJmVFd3bXR0bXdtdmhZK0VJY0pyMTBYQXRuSjBicVREamZ0VWVqUFpsaktrRkQweVZYZ1JBRTRmVm5OK1ErSUkrckxFNnBRRFNHTDdIbEh4SkhPQWtwVU1OM1pXbk9kWENkOU4xUGhacjlEVFh1bS9XYUZOQUFDUFNkbE83b0ZycStKQkpnRWxLeFh1M3MvaWZMK0hUazVWTlNOZkFqOHNqQ3dLbmZUL0lJNzJORlZQTWdjb1dZbHc5ODcwZXdVUzNocDFUdi9yWGRTMHVhcldBTS9aUTNkWHVyOU51VmlvNWtubUFDVXJEZTZlendLRUlhSGZmYmc4Um5ETk5YT0hoaVo1cWRoQ3YzNkZZZ0ZZMzVYRkVRTnBjR08vREd6S0tGcmdjK0NrOEZxR3JxRXpEcDhSWGl0ZnJhY0Y0UUVsS3dWdTNPZHhnWC9Ic1JMNktmMUdlRzMrRmEwTWtrTHhFdUcxWFJodlJuK01tUDNpeGhZSGw3RlVRcWFhSi9oUHp0WjVXVXE3eTN3TG5QZm9hd0VDWUloa3VYdXU4c3FRRlBEbERsNnUwcEd5bjZ5UzEvbHp4bjlJOEdnUXJkRmZzb0kybGhCSm14SzRTYVdCZWNxZTFIMDNjOEtpWUxNUEt6dmRIRkdIN3BMbHhna1VTNlI1aE55b1BIK1cwM2NiMEcxSStUbHdMZGRPWGVlTEVTOTZTNWE3UjZoWVF1bUxVMm40MFNrWElZUzR6bnpTV0c1Rk5TSG1pUnl2YzNEcGd3Z0prSVNoTjhUaDdwcE5HYWd2cWlheEVLNUc5NjUxNGZUdXJlZlZyQ0pRUStxb0llbEozTlZUeTc0N2JwUUpsUjE5VzFtS0gwc0lJV1ZXbXZlMDFlelNMUzJDcG93aXFDcGhnTHY3YytvZXYrZ2tCWkdLak1KMTRZTFJKbWdLVGlXSXdOMzFCWDB2TnhjaGJxRWx3VmFXRFhmM2w2ejFzWG9HQmVEaTdlV2xPajdQN0tCa21YRDNmTTVjMFUxZnFzM0czcVJWemZLOGZRWHllMEQxaHZkckhGOTRmUEVTakgxb1ZYVHJmbkYzRmJFTGVVYVd6ZlpCcTY4UVFoeW5QcFc3anlYbUNVOEljTmV4TVJoZzFxTG9KVm51THVwWWdZZjM1SmhjOVJ0ZkFJd3pkOHJxUENSODdaOEtLSitHMzRqV1JDZkpjbmVMdExHRXpKTmhjZkt5Z0l3bEQ4Z1lDWS82YitBaUFjZlRsaHRFUndEMGtxeW9WMEFrcm92eEZQVlJVTTVMWGFWbjdWOFduTFdkOUt5SWVkQkZzdHdZTWErQUVKSWgzZUF1dkFWZHl5U0hFckN2NFQzMUsyeG1BVWNNcUhCajVvU0lFbGduVHZLdzB3VGVzTU9OMSt6akp5bHpBa0MwUU1xdHV2TXVES2dSV1pNQ3lrREpDdUh1L0RKVVhNdTRPcGtTQzR1L2lYY2g1bWZCM29TOEIvS2d6YXpxL01zSi9ERzJtczFSc2hZay9JNEJOMGJjanlXRUVIS2pWSHNiRjBxdzZTNkE1eVVrYzQxUjkrNGlBMnhsK1hDanZwSVFPN2laMUgxL0NZSjlZcGNFdTF4UHJBRDRxYWRnbTAzZGhnTGJKRDQwb2tISjh1REd6SllTN2JxRjFQSkt5L212ZU5tOS9Ea3dsd3NnYTRSZ3hIYnMxN3dMSkZmcVV5TVpsR3d3M09ndkpaMXEwREowRWpmbnpqYmhYVGxLUCtyREpZaE50NmNzTnZoQy9qR3BUNDFrY0NWWEVOeklPZElPbVcwbHRjU2lqYndMenIra1pqMjBoM2ZoNy9OU3N5SW1JcnpkcjlFaHhtTjlsRWcrWWFaUGVYRE9UUktDSUhnWVZSR1VzNWcvNklWWWduQktWdEpZZ1llT1VnMk8raTRvWDhrdDB1dHFueHVZMHprVmUxK1dKSXlTNVVaSkdaRHlJRDJJUmVyT2dHeU9GK1hvcnNydi9rVUd6azlpUTJkQVRFZ1lKVHRTZWhzcmF5MVgvYjk5d2l0NlZsNS9OK0gxUzU2Y3B4K0xnSmp4bFpQd1NYYTBITVVTeVowb0FFaVlmTGlDRU9JcVh0eEQ3bmM3bHo1dHcrbUNuSlhQMVplWk1YS3huSHVrZGxQNGlYVDZRUWZjeUsra2pSVjRPRi9YS1NOMVVxY3VOU3F5TjJWNjlwTFg3dGdxT21kM0Jxc0VlMnFLODZKdkIwTjBZcFNqU003REVIT2hzcFU5VGpsMUF3Q0FrK1VWRUVLY3lrT3YxUDNQR1JjaHBQaVBhNmtOUnNwam15NVdsT1g4ZWl1T21VY0c2aVI3bkRHZUtsdXhoQ2llNys5MjNGdEUwV1RLNXBocmRuczgzL0s1Vm9xV2dEQlJKZGtUakRZVzVJd1ZlSmloc0FLdGMvMWxsSTBYM081MnhuOTdtZDdITVNMaFFJMWtqN2RoRkRwU3ZtSUpJOXg3S0dKV0JoWnlnYjlXb2RxK3dOc3pjSEl5QWxBaFdXWWJPMXkyVjBBSUtWSFdCTjRlUEtQMU1jK2RmUzdvYm1FRW5IbUVLSmRzQmt1eDh2MVlRb2lNSmJOQnpBNHVKRE9GOHg1MnhIRWNGN3N2K1BZMFpTOHBvcWs4dmRJVGd3OVJyM01qdnBhOFhpQ0l2a3FPeW9qcUhQeDMycytsQUJtdlhvSGEwK29BUUF5dmU5alhKdUhzVWNUY0tHMWxNeGgrTERkTWdSOUxDSkcxeTlaUDRsRktTYTR4ZkkvQXl4R2M4aEpRV1ZyWnpJSDBOaFlHL2s5Wkd3dlFMVVhCQVRQODZGcmtnaE1nYnh2QXlvUFZBU0M2ZXJCdlN6QW1ySUJLSXRrTWhsY0EwRk9wWWlHdTl4L3lNMVdjYUIvMGQzNzN5d0FscFFDN3U4VUNRTDFOS1VHMzg5QXZFRkE1UmxFeUJ4OWczZHFtdk5SK1NqSXREbTQzMTJZWEZCU1VBZ0JjTFNnb0tEaDZPRGoxU3BTczlWSGl5MmF5eGdvQW9MNURRWUZ1amlsWm9GRTF5Smt0Njh1N1BUSG8zS01DUEpBakFsQWdXVmJQeTQzZ1JEbkpPRVgrRTlnTUNvd2U4NGtOQUdJSHpOcThhOG5URFFBQUVqY0czSFc5YkxsVlM0Z1ErWkk5S1I3SzZsdkZraVV2S0trQTk2aFBzNjc1aVFEUVpyVzdvVC8vaEIwQVd2cFdJQkRYOTlMMzNDRG1SYlprUXlnV0ppaVhMSDhub2pTNG0zZTZRM0NlZWlZT0FEcmxlSXR6dmhNRkFNMVhlQUowRnIwdFpYYzZZbnJrU3Zaa3FEblAxdnhUTTZWVG9mQzB3dmgrSHk1WTh0Vjl0UUVBcXV3S0tPOHVBSURZWWI5bEZWLys1NVBPNkJWRUJqSWxHNnFOQmJEbGhTNkZ4UlBLNitIVjQrVEEvNWdEN2xYbXRxUWExWmd4N3hHcklVK3lKOXVITG5HZWNzbHVVRjJkNkEyQjVUbjRNZWNRSVpFOUxwczFlSC9vUkN1Vmw5OUQ5U0JVVXRCb1J0UTFhc3VyQkVTMFpMUHVrS0JZV0tWOHVEN3FUc1ZaUFNRRVR6L1dWRnRlSlNDU0paczE2QjhweVRJRmtRaWxNMDd0KzdzYWZCZ3VucFFVbWdpV2JLWVVyd0FBWUxueVo2VDNVcDRYQUFDS2d2NWZYTHRVRmxjWmlGekpaZzhXQkhobjhLZnloM0FQS2M4TEFBQVZQd2F1T1RpbWNIY09ZbWFramhoSUdTdndFRitnZk15Z1NPMXB0dFgyK3d1cnVGZGxZWldDU0YxOG1EbEVvbGNBQUNVclJ5aCtUdUo5SHlyT0N3QUFCZU4vOTRidmRzMzhYa1ZCTHc1V2xtLzhRUlVQUlNRZ3JaWE42aUNuekhIS1cxbHlUTkUvZlZSTWpNOGw2N1RKUFVPYi82OFk3eVdiZkg4dDVwd3krd3NWcnhjMmlzaHNaU1gzdk53czVZZkxsa0h6TzM2WG5TZmw3aEhwY1Bqbkh3c0JBR0RQTGJjUGJSZDdldlVQR1c2M2xtczV1bk44OXJMbHhiTEtIS1R3OFBKZDhoNkR5RWRLSzVzcE9maXJoK1hLV2loQ2lKSXRZSzEzdUFnaHhMWEpkd2d6WjR2eXRhc3hMMThtaEJEblJua2J3cGNxTkgrcWJQTVJtVWlRYkpaY3hjTERDajl2UWdoeHlSM25xbmZZbTNVUHBXVzB2ZU05YWZtRTVDTkVBS0NKMHBYcU44aTBIcEZOYU1sbXl2SmpBUUFndFZUaEIwNElJWXZsUFl2NzFKLzFYZUh0bS95bS9DN0RhNXV1MFBoTHVQd203SVNVckd5dkFBRGdUNFdmT0NHRU9PVXRERWdOQ0xxVlhjTXJudUo3QUFBZ0FFbEVRVlJ1dDl2dEhBQ0F6VzYzMiszMlgveDNTNlRYSkY1aDU0c3NrdmVlekVERWRiK3loKzVWa092Ny9zcWZhSHRWMXZCUzh3QnZJRzFWR1FEQW1wZktvZkYvNndBQWNBRWViRnd2eVZXNVcySG5TODNNSHlLUkVLMXNWaWRGcGFaY1Z0aEtFVUtJczRlc0NnaVhsSmMwb3g4SU9sVnFtYlo5bE55U1RHOGF1bkN6RVdHdGJNNFEvbGxaMHJpeWNKenloOXJldkVWR2hJeDhoejhDalBPRUV3QmdVeDdBNGtIdVZWeE5BOGJiTGtvdHM3LzBxYjVnRHB4VW1CR1JqbWdybTlVNWRBRjBibExZVEJGQ0NIRU5sUEdrcElCZDRYdXF4TWJHeHNaeUFBQlJzYkd4c2JGeGkveDN5eVE3eVd1Vld2Nm03QmVGeUVaTXNsbGRGQmNiZFZ5azNKQWNpQW45QkI5UCtqd0RCMlZSVFgvL3lYYkxwWmJhUjdIaDNXVFlqU2hFUkxMWnl2eFlOeThwL3RnSkllUXBHVStLLzhXaldkZi9LSk51OXBsZVJaK1MrbTNQclZKcWRrYUUrWVhtaEMzWmJNVmVBUUJBbXBxaFdWSWdPSmxlaE9RUEN3a2g1UExiMU9uOWhQZXVFa0tJYTUva1R0M05pczErWDRiVmlGS1lrbFhoRlFBQXdLK0tQM2hDQ0pHMUJzdlcrdG5aWHo2ZHp0ajBiZXYrMGNhZEN4NnFJcm0wcllxdHhrTng5WUFsMlJ5VmlsWFJWaEZDaUd1QXZLZUp4eWpnYkRKaUdOeXAyT2pEbEFOeEVNMWhTRmFkVndBQVlOdFBMMWtpV2FGT1BJcHFPWEJRTzlrUmpybWFYWHMyRmwyS21IQlNzYzFUNVZxREtJRXUyV3dOZGxOUFZQelJFMElJbVNOZWVzdmZDd201dWxwbUY3M21CM2tWcnZ5Rll2M0tWeFZiN0VpWFp3eWlES3BrYzdUWS81OTBWdkdIVHdnaHJtRmloWGZJY3FmS2wzRzJQVUNkYmU1YzUyOW1KbWxlck5qaU5YSk1RUlJEazZ4cVA5Yk5OTVVmUGlHRWtQTWlFYnJpZkRFNGo4c0lWUkRsQzJSenNnNGppVzJaY29QdmsvVjJFS1ZRSkt1UllxR09zc09VZkt4aGU2cTMrWmF6dWg1TkZCQUZBQkFydk43Rkg0cjJhVWJCOXlzMzk0S3NZNmJOUXdTTUplY08xV2ozLzVtNWsxVGw3L1BHdjFpM3J2UDF6Ym5wendsR0E5WlBMSVcyYzFJRnVSTDhpMWx2b3A4LzJrREZac252aTVUblJXUWdhR1Z6dW1wV2RoTlYwd21FT0VlelN2NUFORjlKTTlZaFNqN1dVVWNOb2xZb045WmgxWk1iTGQvSzVnN2RxVmxaSitjOXFDcS9iYzV4Um9PZjQvLzFlQ2EvbFNXYnNnRit2RWE0NUxWR1IxL1NDOVRBWWMvSjZzd0ZzNHA1NGdtaUxieFdWc00yRmdDYXEyeG1TWFlhdmVDMnZuNTl4VzJjQUhjYTRmVm1WN3k1WE1JanhRR2dkem5kQ2tuY29lV0xRMFFJbHF5MmlnWDRVb1VHQ0NHRTdLSFBLTmcrOFM1MldTUmowWmZ0STIrdTNiVHAyM3E1S2d3OVlQbnZWOHNRSk5sY3JlT3hOcjdLK29pbHNwcCt3RUh5RDA1Q0NIR3RabzFXMFhQOTV0YnNVZG9PelBoTmF1eDhXTW5yUVpRUUtObGNqZHRZQUppaFJnYUVFRUtXME1ONHhJNWRlZWJjaGtreVk3UEVQN0s3NEhMbWgvVW90Mndxb284VGtvTTdhM1VqUUxLNVlWaWduSnF2VnJMa2QwYm9tYWo0UkFWZnh0R3BEZUpwYTJTNHQxVVorYXg4U3hDRitDVWJEc1VDL0Z1dFlnbFpva2NMOXB6eWczUUlJV2VTZFRBUmNlT1RiQmk4QWdDQWhBejFtbDB0ZWEycllpWTdRNXNod3ZOaE54RHg0WlZzbUJRTE1FYTlaTWx1eGxpWFpqeWhUckY1Mk1qcWlFZXllV0ZiVUc5VHZKTXFnT3lBWlE5eFZSSzFPSFF1T2lYWk93UEdUVkhsRlJBeVdRTjdFS200SlhzcWpGdERPNVJwb05raTcxazFWVjdlbDMvOHM4WnFqYktQWFhmdTFJTHJPUUFBK3ljcWpUdUdaK1BxeVMyRUVKSVgxczNNNzJzZ1dlS2FFUU1BVUgwZElVUlJhTHNnN0I4NUNDR2s2RjRBcUxwRXJXM01wUkJJT0xpRmhOTXJBQUNBbEV5MW1pQ0VFTEtsT1FCODdQbGprN3FHYlpSbjhlS0Y1dERtb0ZyRE5sajdUQmZMSGUxNzh6STRPM3hiZUo4eGFLRW1yNlh3bVRrMUQzcFdkTHUrRUlsV2xQOTFBU1RjVDVzdjhNQU45UjdDK0VybXAycTdUczVlVzFXV2dKZ1BWUk5MQVN3YkpLMW5QdzNnRVdrOUtoV0g1M2dKc1VrTnNTU3BwOVVyZ3hCQ2lIK3BsVXVFMHZzQStoZUtwZERJSEVJSXVTQmNTbTR0TE9jWTZNT0luelYrTVNWRDh0ZzN5MDY2Z0dzb3N2eUF2RHBHTTBzbWZxRlpVWWlaK0ViRGRvMFFRbWFwNi9KMDBzQWhjTE1XdzIxRUtGVlBhS1VSUWdoeC9xaTJ6M1NYbXRYY0FWeHRyY25yUVV6STlScHB4TTNXTzJYSGlRbWt4a3ZxWWl6NCtiZFc3d2N4SCtxaWR3ckllMTF4alBldXM1V0gxK0N4Q2ZjaVJEQjJOZWZYMFhDdWUwUkJaejN0bVQzYW1WRFlVdnYzaEppSDJ0bmFhY1ZEeFpwbjI4b1lpdURhUHI5QjNaSXRIaEd4ZXdZSHVkajBYS1g4YUZzMnVXdldiVHJzREpuTTFyelhEVGMxMVBiUlA0K1JjUXlKYVVISmlqRHhzekM5bml0Nzl1NC9mUHdNUTBBMW03WnUxNmxMTmMyZm5kRzFRT3NpalFBbEt3TDM2YU5oTEowVVorZWVQbmV4b0xDNHROd0Z0dWk0aE9TcTFWUHJwRFdzRXA1bEt5VTM3QWhMdVhxRGtoVWo1azkybEV6TE1lRkxveTNRQnBTc0tEWFdSOHpRKzZ4SEk4R1JCWlJzS0pwdGtCVXJ3N3lzN1ZkbXRBa2FnWklOUWJlL1U0dzJRUXVPOXpwbnRBbGFZZTBGNmpxd2ZYU3AwU1pvd01YQkVhTll3SFU5b1RoeGRLamxYMUxKNE1nWUxBQUFsS3dFRHVZTXN2aDNrZU9lcFVhYm9DRW8yZERzT1RQQTBwcDFQVExQYUJPMEJDVXJnWjFuKzF0WXMrVFptVWFib0Nrb1dTbnN6QjFvV2MyU2YzOWd0QW1JRWR5cE5pUzlVYmd3WWx4bFpXQ2gwZUpUaFBNcG8xOGNZaGc5dGRyTG9pY1ZEeG45MnJRSFo3OGswM0p4QzZOTmtFdkp1RitOTmtGN1VMTFNTZjM1QnFOTmtNZkZFV3VOTmlFTTRJaUJkSXAvck5mWmFCdmtjUHkyQ0pyejhvT1NsWUZqMGFXYnJQUEMxdmJQTXRvRXhBVGNlTXJvSHBWRVhKK0ZZK01hWWtIcXJ6WmFqSks0K2xERTlsS3M4ejFuRWdxL2g1N21mMm5IQnY1aHRBbUlpZWg3MHVnMk5CVHo2U2ZwSXBXVzZ0OXFHZkJWY3k0L0VMRk9BYUlVYm5pZTBicGtzNmFaMGE4SE1TTTF2OVkwOHBCMkZENkprZUlRT3JjZU1scWROSlpoRTRzd2lYL0pkSXU3OHU2MjdMSmVSQmNhenplVmQxRDZBUTRVSUtIb3RjRm9uZnB3TFdwbDlOdEFySUJ0MkQ2anRlcG04NDFHdndyRUt0akhtcUFmdG1jb09yR0lkS0x2TnJpbDNUWFMvRlBJaUxtSUdyek9zUGt3NTFycjd2NUZESVRyTWMrUVBiaWw4M3NZWFhYRXN0Ui9KVk52d2VhODFzRG9XaU9XSm5yZ2J6bzJ0V1ZMaHNZWVhXUEUrcVJPM3V6UVE2L08zYy9WTjdxdUJvSEwxRFNuK2NpUm5jTGJnM2NkK3VYbkEyRjlncGxCeVlhRHBvTUc5d3JYMXF1SzdRc1hINDZRWXc4VWdaSU5FMVZ2Nm5kckk2MUhuOGlwVmN2K2pweDQzTXBBeVlZUHJsbmZHM28zMUVxMjVQU0dkV3NPdVRRcXpjS2daTU5Ndys0OXVuVk1VZm1haS9idjJMSTFveko3QXdHZ1pIWEEzcnhqaDNadEdpb1prcXJJTzdoLy83NGo1WnJiWkYxUXNycVIyQ1M5V2RQR2pkSVNwQXduT0V0eXNyTk9aQnpMS0F5N1hWWURKYXMzWFBYYWRWSlRhOVNvV2pVNU9TRWhMamJhRGdCQW5HWGxaY1hGeFpjdlg4cS9jUDdjNlhNRjZMVXlRTWthRHNmWmlBdjlWQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCSklKaDVMU2xhb09HZFd0V1RZeUpjcFlYWDc1NE9pZTdBQVBFYVl3T2tvMUpsWlRNNWF3b0xiSHk1NXZjclZmWERuVjVwM3BVbk4yL1kvT1dBbU1zaWt4MGtHeXZEZExTRVVmRjFkTlp4LzdaZWJnc3ZBYUZnL3BEQi9kS1pOMHMzYnBvd1VrOXJVSFUwVXZ1TVd3WEZ6L1cwR2lqWlJFemZHbFppRHBWckxvelhLY3FJWm9qVzdLRWtQSlY5OFFiYmJkVUVwL0lrRlNucktlWXpUQmlMcFJJbGhDUzgxeVMwWlpMd1Q0K1czS1ZzdThMNzZtTGlFWW9sQ3doT2ZlYS94UHV1azFXbGRhMU50cGdSQUtLSlV2SWlzWkdHeTlPekxSUVBpeWZva2UxUG5FUjBSNFZraVVYaGhodHZSaHA2eFJVNlpzRW84MUdRcUZHc3FUaWVmTk9kblRMVlZTbGRUV01OaHdKZ1NySkV0Y2JadFhzN1ZjVVZtbTN0TGtWeEREVVNaYTRYalM2QW5RR2xTaXUwdllxUmh1UGlLSlNzc1F4MnVnYTBMajVxb29xL1JGdHRQbUlHR29sU3k2bEcxMEZJZTN6VlZWcHV0SDJJMktvbGl4Wlp6ZTZEbnhxSEZOWEkwYy9vMnRnWFN3eFN0ajdYcU10NEdHYjAxeGRBVkZmb0R0cll0UzNzaVRIWkxQemo2bXYwZ3lqNjJCWlRMVDRVSXpKbjZvdlF6dWE3a2tXdTExd0tMZVFTNm5mc3ByWXl5M3JlRVJqcXhETllMYXlMaDhoMjZTRFpscHR3QzBTc2ZUQ2U5MDh3d0gyVGxQRlZzek1NN1lTaUFnc3lSNUw4OUdvM2ExUHpMOGdwdGxlUnRjaWdBSHNmN0h5dDROODFMaG5DdGxKVmJyRGxSWURIWVBEdkZWTjhhTmVhY1lzNUtPbjVUM1UzcXhUaTdUcUJSUEYwbkJKTFpvM3JGTTlPUzZLbEJVWG5NdkpPSExCSmFYb0hSMVp0ODZNNHRlMXpVS21Najk0VHNMRFZNSWxObXZXb0U3MUt2SFJuTE9zc09CY2JzYlJpMUxxeUNlcWRzc21hYWxWRTJNNFowbmh4ZE5aeDA1YzFkeFdxWmhJc2dDSkh6L0FLdVJ3RzkrMnNJUzIxQlRGQjMyL3h2WWZlWE1kQUlDakxabFcxYnVsNzdYTlk0S3Z1WEszci8zcldLaVBkUFNQckR1bmJoTDZwL1hYTjJHa1B0dTQxUDFMSjliRXdoVmhjZEdkNkVuM0NUY2ZjV20zM05DZFgwVWd1VHMzckRqZ1pEeVJocjNUTGIyNzFPWUpwZlRRcGxXckxza294Vkt3SElORHdxUzJXYXl2VVVkZFg2S085QlJaM3Z0VnB1UjVyN0Y2T0RVbmIzUXdIdVQ2NXlYeFhUeTJuU3diaTYraHBlL0VuTmdkNEVteGtKVWdTemdFZVFNOTVRV0I2bXMvczkzSktwZGt2TnRXWWx2RmRma1AweUcvdW1oVWhHNE9raUZaaVB1SDlYNEcrTkswWTd4QTkrdXozWGZHZjQwdTJmUXZpcGdmSmlHRWxQM1lXYVE2TnpMelBVYlA4Q29yL1plZUJHTllDWnpDYWI4cDlKUnplY2xhZlIxaUJZUno1VzBTUkJzMVlwTjQxemp2eFlnY1g1WWpXUmpGZWpuUCtwSzBwQ2R3MUFZQXFMNGc4QnBOc25Wbmw0dC9tb1FReHp4MlMvc3pLOU1teHJSTTRobEdocE9lWVpEa1M2d2lIeElVdG95ZU1IaFpjWTNQUWxlUmtGVU1IOE1IZDl2dTBLV2NtMlM2cVVuMXlKSnNMR3ZjNEdOZmttYU1GT2tBME9SUTBDV2haRzBUQzBKL0RJU1F5NnpkQTZtczVzdDFBK3NGdk1aNmlMZTMrUjByd1hmOG9tTG8xaGNHTFJzZmNFcFNGVW41NjN4SE40amFQNFFlZkNTRWtPM3R4RXF4SkxJa0M0c1pxZjE5bnNhTUZOMEFHbVVHWHhKSXRvYllrR293QzZwUzdYdVVsWDRkOHdVMFozMzBkM2tTREdDVm1jMy92N21HbnU3WGdDVGNxMndmbHMvYU9reWo0ZGJUVWtzcGZwQmRpaldSSjlsM0dhbVgrVkkwWktTNENWTDI4Uzd4SmR2NnVOU1BnUkR5VDJPYWZhdFl5ZStpcFhhem41SEZ1NTRybHVVNnVQZ2pIay9UMDQzenA3RE5sRkZGY293MXJNZzlWU0dqbUEvMFhLcGl1bVV4K1l6ci9pNHhheEFxa2Z1a3ZYalozZGV6QjM2RnRGM2JRbml4Sm10TzQvSkNka21ybkhTOFE3Wmx2ekV5Y3IxNUYvaC91Nm40dy8vNzlFZlpkZ2hwL25jRCtvUGZtaUhIUlgxbXRwbG1KOVVqcjVYOU55UDFDbCtLZW93VW8rNFFmQUVIdDdLZDVhNXhQWmttTUkvWnUvOUI1QTNFMTZDVDRrM1FtMVhxdDhFRjJlbGYxdjUzQTNmTHJDTFpSVnR4eEwwbHQ1aFB6THJkU1JIYU9BYitScXdPSThVREJ3V1hnaVRiVUdLdkpJQWRncytUT1hCOHY1cFhaR2ZGbXprWi9DM0lHQ3laNUV1UXhoeDhZUElGeFo3SjBqcGVnY2ljblRRMzhpVEw2aC9OOWFWZ1NYYTU4RktnWk9PMnkvNFlDSm5EczQ0VC9sdTRjVFZWOVk3ZVpoVHJEQzUyUEQyUi84dGd2dndxT204V1dOTlh5aGdaajRyclZiMEFjNkhOSUpkLzYwa3FJd1dsWlFpVTdBejVId01ocnVIQjV0VmtkVXBPcS90aTdNUnExb0lYdDM5RlRiUFZkNys5OU1FQ1A3djVYbXNONlNHYkFzalFLeDZWMmJwZlExaWIvRU1IdXhRWHpmVlBLTEFHdVA4R3orNTBZSFZLOXFpTGpMdjNBT05HMEdBdjE1T2Fab0h2dDhlVmZKeWRCdkV1ZkVEdmtvV2d5VFFsdVJSZ01zbkd2OGE2YzVCMVF4cFJNOWsxZFJZN21QZnFCMjlKWnc1SnFEU1AyWHU3SWZBZnNUWmxDQVBBNytiSGpxRVhzdmU5Q1hlTmUvYXJMUHBkbUJUODV3M2o2TWtBQU1xdXN2ODFKN1BYSUZrTk9jdGl2bUY5N1pUNkIvWlpqZ0VGdjJOQTl3SUpJVHNudG9nQ1c0Tzdsak8rbW92cUJScjRPYXNZV1VOTEZGb3dsdWs0Nmdja0drcE40djl2dVkxNi81SjNOcGNiY0ppYW9EeG9ZTVMybVZIRnNybjlhd0RFZFo2U3cwZ2dObWhpTGFSTHRzcVBqS1NFYlBPblVpTFo2SlAwQkNVVGZhM1lJTVlRMkR1QkZxNWdQV21nMnJmRUVzcklnRFR2VVZPODVicy9qWHIvVG44QktldXBLWUtXZkE1a0dMTEh0MVkwZ2ZHUDZ6RGg1bjFsU0pWczhpU1JHRmV2KzlNcGtTeGp1TEo4UU1EemU5Q0RhVndJN0ZZY1pUMUpiTzJYSkI1bkZQeFJRSm9OMUJUZGZmZXBxeGdMQWhjUzFLT3VVWmdka0lKYlE3ZGpkK0Q4OWFmME5QOVYreExNQWt1eUoxcjVhTnRqK0pRbHhZeDBoQkRpQ3BCRVRaRjBQSHlTM1VpL0grdzVNeGIyQmJoMmpGVXBoTGdVOVZnQ3FjY0krN25EbnlTZXVtWXl4KytrNzZIZHp3cnFsbEpIMDdZR0pPaEFIM1FvRG5LajQ0NVFFMTIwVE9UMUVHaXdLWnpzQ25qdk5hUm44MHEyRmYxMlhuRGN6Q1Q2QUp0L2RRTlVZUzBNcjFDL2JKUXlyRXhJa0JOL0xUWEJKLzRpcUU1bVJkQk9ubXZPVXRnYmtPQUR1aGxCN2hIQS9mUlV2Q0ZCeTZLRlpBTVhqaXFRN0t2MDIvemhDZnJVVm9sLzNLMEI2MEZsNm9Oc01WUkFidk9sZUlwNlAyQW00Q3cxd2Q2Z0JwS2o0Yjl0ejZLV1VjRmJQNXhJWHlRdldDd1pEa3cyeU1VZ1MrNE9hdGVGWTd1M2JkdDEzUE1uSTdEeVQ3eS8vNkttaXJ2Ujkyc0tOUUVBT0N2a1dFZGxZVEg5dW44czlqcmE3WXZyL2IvVGplaXc3NHV1ZmxGU3BlWlAzSVcrdG4xcmR2RGZ4UnVweVc2TmtOVXhHclN5OXdlV0Y2cVZQVGYzL282SlFmK0tkZWdEV0tmNEw3Z0pQZDFNWDRKdXJHZGUxdUE5L1VJdjJyZm14WlpKdXgyNGNPWVFMUUVoaExpT2ZuQ3J0SUE3TDlNTGVKMmZqckZ1SnRSR0I0dWdYckpyZzdRbEx0bURkd3UzMERHV1h5M2xwNHVqZjkzdDhTVzRqdlZVTFk1UEhFNHZPdC9iNDY5UC9ZY2FGbEFDbzdQdjV1cmExL3RWQzJuRVNucm1ZZngwakhGdXh2WTNUYkhDeHAwckQwdmV3K3g2NXpYSzBZelViMVNBRS93THBaZW9UVkY2Y3FIbk4rYWNzQmIrMWJMODZyVEwxZHA0L21XNjBaNWVITER3RUU3MEVTaysvb1lid0hGdy9icDFaMFFTeFhhaFh4ZThLa1loMUQzR0dtTUJ5Ym9tSHBXYzlKRXZhWmNabjhNRndaaE1FVFZkZlBQZDN2SlpEeGJkUkNXUnF3dnBVUng2ZWlSN0xlM21pa0NUZDRYYTBXTHYwR0dTYzkreXhkdFliVUJUK3U0aDF4WCtxMktjMlJwaWpiMVZVT3NZdk1RclQ4UXhlSXRxQUZ5a3AzYVU4V0ZNMnZxbTdqdXpIbHltaFdadm9aZnQ3WVpUdC9EY0YxaEFhL2FiQ1NiM3Z6M29YeGdqR1JuSytXK0tzYUx0WW1UMHYxUWU3L0VXLytXeUpmc1BQUktFakxrSE9pOTRTMHBucFhDRTloSkRFME9mL1R2aGZnRXh0QW5sc3BwQkpmRDN2ckZ4SFhpS1p2TC9TUzZBQWIyVjFoU3pEM0k1L3oxRitySytxZlN2cTBacWpmQXRUV0VPRE5pMGlFQlIvaXYxY2tQM050Z1dOSWx0dUJEMDV5ZVVKSFM0TmpOT3ZpdmNYNnZkcXdvZkpwZnN4ZUh2U2xkc0xtUEhZRDM2WmVuNG1yS2lVa1lLcnBiYVp3QUF6S2ZXMWQ0VkFBQzYwdTR0Q1A1ejdqRVpUNnZ5L05GWCtNZm1hZmVxd29lNUpidTB5eUlacVg5ampPZXJmbzIrR1lUU0s2d2txajlyQUlEdHg2bVhld0FBWGJJdTN1c3BueWduUGh3a3Y3YUhOOGFnM2FzS0gyYVc3SWt4ZDJTSFR1V0hQbm1sd1d2MHRVWE9VNndramRVK0F3REFTWStweUpic0x2NzdXZjJLdkNlMitQdmxvQTZUZHE4cWZKaFhza2NmYWZlVHJGQ29qdTJNRzZvUFd2Q1BCR2F5a21nVDMvZ0hhb1U3eHdCQVBDMk0wQUxCbGVreXoyQ3dUL3M2Y0xCRHcxY1ZOa3dxMmVKZkJyYWR4WEljR1p3N3g3aWg0Ymx3ekJGaWVzeGJ1UnpjUzd0YUxSMEEwaW03QVluUWVTZlAvcDhzM3dCZzNKeUFkdFlLUitpWlVMS3U0N05IcDQzNms3MGZpMEZHT0l3QkFBQi9yNGk1eGF1akpnT1NaRDcxY2plZ1Q0Y2NwV3h5Sk5QdllIb3ZkTVpPOGYrdU9vQ0d1bDJia2pEUDdKZkxXVmFjbjVkMWRQK2VzMHBDb3dQa3NXN0lGajhmZjdlTzJnb0NBRlJMcDRkbGtNblBiOUUra0s1ZkE5QzJQZnhPTFdOWis3Zkd5L3BZWC9wcmkvZFgxUXZTMUs5b0M0bUJrajNhUGVoUDRuSlV5UHhPQzRZVnpRc1lxL3FrNHkvZ3lCVkdCNFhybzRsa016ZlJRbjUyQlhvclM1Y3M1RC95MmJTQk1scjk2QSt2OXpZU0dyNnFzR0dnWkYxYXJOZ0xnTDVBQUFCVWgvUS83L3V0WkRkcjVVbi96OW41YXpJNlo4NmRndStUK1RUSnRva3ZpV2tqdkp6TDZtL0MzaUVkbnhvdHZmTiszUzNld1JZTlgxWFlNSTlqb0pweTFnMVd0K3hocVExamdNdXhoaVhabTFPWVk3WXcrVlg2OVdQQ25mKy96WWdUcGt0SzM5dUlNdmUxV09STGFlOERMOXc5cnJQVW5zb0VyMlFacitvWTg5Z1ZQdnVsSmpRMThtSnloWWExeG1BcUswTjdSZ1o2NUV0bGxlSHRyQTZHdGVIN2UwcmFKYlNFOThNSXl0VmJROWpLdFo2eVRWcVUyQ3ZlNFlpUDZmZFZCaGJSRmhPT0dHaE9KcU1ieTRxbEpNYjJzNnc3anpKNzJ3MjZNVzdRVHBlaXlSZzZRZ2ZoeFh4MjNIQTM1TkNiM1p2Y1B5ODNkQzgrMmJ2T2xUSHFvdVJOaFkzS0lObkNIUHAxSld0QXlwZXc3blFWUmhEME1JN1JGU0tyS0JlWDBQeUw5alRKL3NsWXN4cEU3amRqRzdkKzZLdURJWHJ5M3M3ZFlmcnRhbVk2ZDZZeVNCYjIwQzhyV285TUh6a0ZBTzR0aGpMaldidExUdEFtSnE3OFFibll4a2FacW1DTUZ3aHdIcGt6dmwzYTBJOE9pSXdkZXZ1SGUrbHBvczBVYnF0U1NKYlJzKzZwWk9COEhUTUVZemVHTkNlekZ1UXRwT3FEOWo5UnE3Rnc0MnN4YTBrRkRYSnU0ZFB0VzcrY3licnZYWVo0aHZHRlpLWWpoQ3VGWkJsT1h5c2xNYVFxK0ZHUy9ieE4zYkRUZ3JWU2hSRjJiUVdsMTI0ZkpseTh2ckpRbUU0VWN2U04xaTh3bkFudmFMT0xjWGpyWUpuUENpY1JOTWpGWmd0OUFvQjc4Ri9CRjJyOFNQMXVyeGdaNkYvTy9qY3I5bS9DNzMyRjNaZXFQN09TNzkxRnZWejYrd1RoeGZlRmx3Uit3YTNVSUVzL0JKNlBYUHJlK2ErcEQvV3RMVmh4RC9WKzczU2VFek4yUERYZHlqZW9sNjJHNFlOY0FEL1JjMXppTGN1bmgyTUpqTG9Jd0J3SUlvU1FMTUcwYWkxR05EQkNDT3NVOHo3czhnTW9UK1hubTBOTk56UTRVUlExR0lJL1dFTHRVdnJqdmdrdXhzWTR1RlY0SEtRbE1ZRmthYU9haEJEeVk1QmZsTUlJblBwOGNHRU5SRTdBTFg0bWVOL2lMU2VaU1UrekZ2cEYwMVhGWTdVZzM3UFVkQ3Q0RGpzOTFzRXZ2dnVNMEdDT2ZrR2wzRWxQVmFiSjVnempNWUZrNDg0ejhyd1c4SUhhdm1aOER2eXV6M1JHWVlRUVFvNU04alYvY2YzL0ZEbTc0QVZnUVE4ankwTVlSNTl4aURqdkNEMzYrU1QvOGQxbm5jSjBQakFRVENQRzJYcFNCekhNamdra3l6eWFpWHpqMnpwU2pSVkJYSENPWEJWV0dHczNaZHMrLy9jakU1NTVmeWxqTDdxYkxQWnBHRjBrSEdIa2JDTElGa3R2L1l1QzJzZU85TmlOL2lEa0NheWpwZ3JHK2h6OW5xd3puMjRYK1Fpc2hCa2syNERob2hHUy84bkFKdFZxdFI3Nk1hc2hkZ25uZFVmSVB4WkxnTWo1b2JZRG9iUHZwT1Q3alo2MC9GMy81RlZ6UnRFQnUzUmVZajV6OXpQWDFxNVd2L3ZFcGF5UXBmc2laZnpKREpJRldTZTdCc0YzQmdHQW02ZTROQzkvaW4yNnI0VE96NDlIQXNEMjJNbVYrUk42TmEzYnNNczkzekRDVHA4TjhNQ3JzZjUzUXpOYTJnZG9ma3doMmJxWEZYNE1GYlFGQXRXT0tTek55d1Y2VEV3UExWbk5tQThYYmVZdVd0eGhFU0ZvckpseHRITm9OdXZUeUVaS1V4NkswMU1WWnB4Tm16b3JHTTFjbkNzSjUzalJyY05IYVYvN1FSejdoM0t4Z2pKNkt3a1NORmc3YzUreVVoeFBLTnROSXBmS0lsbjRlSk9pYkNkZnBGN2VmWitxM1RuVFJJNFZCK1lXc0FBV1VsZG56Vks0L1cxajBMc3BtOEJjZVN6Sys4d1Y1NWJERkk0QlFGTzU1NFFUUWtncDgyVFdpVXJPM3ZRd08xUkRrY1k0NjhNSC9aaEZ1RjFSdjlEQjN3bnhMeVdsYktZSFJMTWtKcEVzOUplMjNEa1FsMGlJMzBraEhVNFczNFdlSmY5YnZJUTgxczR1a1prNU5vS3p3bTNzODllWTVLbytrOGRFbUVXeU1FRjJ3L2ltMkZxdnNTVnlpM1B6bVlSMUhRK0tGOEhjWnhZckdzaWJ6cjVrUVRFSnNvdkpqNUNRODI1TUkxbDRYSjVtWGUrSXIwNjg0YlNzNHR5VVB5ZGx5V01Oc1VQUUNPbkh6Rmh0bDF5RDhwcFJpcW15VGw0aEY3cFRDckV1NXBHc3ZJYXg0cGxRNGtwam5Dd2dRaTV6NzBJd2pHa0JOL21VTFkxZXF0UFAvR1NTVFk5ems3UkFUaUVudEFtV1l4cE1KRm5vU1QvV2lzWVpDYk9QVVU5ZWtmUEpFdWYvcElZV0hDVldqT2lSVXZGZnllbURiV2Z0SnJKUGsrNzYvNkZEaUU1ZE1aTmtvY1ozMGo1UTE2OTFKUm5UYUw0TVoyTzN4Q1lXQUpMRXhqZEdpZWU5NjV4VWd5bytFRG5DODBhSjh5V1hKMFhjU0ttcEpBdHdtNVRvN1BzSFN0NWswMzJ4Uk5IdXYxdE8zQzdXSWgxQ1NIR29rSnExWm9ZYUpDT0VFT0phTCs2QkpyNVdHTG9ReDl3MEdiV3lDQ2FUTE5qdjJSdmlvOXg1bDZ6Tkd1MC92eFR5a3kxZjFGOWVXOVNQWFpiNFBBUUFBRFQ3TEtUYW5IL2ZIdkxmc3U3N3JIT21QWlRNalRBdjFvM1pKQXZBOVpuTC9pak9mbjZkN0cyTVNYY3ZFSk5JNmFySjB0eU1BR0paaXdDRGppNW5VKzNSdFNMT3FPdkltNjBsbVZGbDRnYm0rTE56eDdPMTVWWkxBMVJIWnd4TmRVWlVscUtWeXNxTDZVKy9mb1N4Q1o5S1hKL2JibWpQbjY4aGhUdlhyOWlxTEhoZlFzKysxM1d1S25pZDVNcmVMZXZYSzRrKzl2Rmt4bzJTK2hMUGNxeDljOThlTFlXbk96bXp0bTFZZVVSNlZNMjAyMi91VlovL0ZlSEsyYno2cjB6SlpXaUpEcEkxTFFtdFdqVk5TNjJhR01NNVN3cnp6K2FjT0p5aExxNm5yV0hMcGczcTFraEppT0djNWNXWEw1N0p6VGlXclhTdHlIUHZNVzRzSE1xNFFTTWhQYjFSL1ZyVmt1THN4RkZhZE9uQ3Flemp4eFRFaXF2VE5yMVIzWm9wOFhaU2NmWFNoZE9aeHc3cEVDOE9zUmJSekRPVXg0VE9qQ0Q2TTVHbDJBTFY1eGtnU0Job3oxeVNUajJsRjBFTTVqcm1lSUhMVExHR0VBUUFBTGlPWDdESHAvWlg1ZzR6QUZTU0FFZld3RDYvSXY5eWVYVFZScDNGRG9LZHFjT1pMd2dpaWVqUWMyaUVYQlF1YnExc1JOeUtoZ2hubHR4NGh3Z1NOcVMwc29WR3pKQ2FER3hsTGNYSHpLTWFFRVIzSkxTeVp5bEhLVlU2c0pXMUVsTWtMb2hCRUQwSTNjcXUwdVJzWndUUmlKQ1N2ZGpZYUJOTkFUb0dsc0Z4WDZiUkppQklJQ0ZhV1JkcnlUZUNHSVM0WkozUEdHMGZndkFRbFd5UlNOUnZCREVHTWNsdWEyZTBkUWdpZ0MzWm5FZWlRMmRIRUwxaFNOYTU4UUdSa0M2VkVGd3ZhMlpjdVZiYU0wd0FBQUEyU1VSQlZOdFhMYzNFRmJKQlZQbzE3dWFCNjFXemVwVXFLVWxKQ1RIZ0xDa3FPSitYY2V5Q1BzY1BJQWlDSUFpQ0lBaWlBLzhQNnhDNnhUMDRqTmdBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIFxuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNzYtMS0wXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDc0LTUtMlwiXG4gICAgICAgICAgZD1cIk0gLTYuMTAzNWUtNSwxNDE3LjMyIEggMTQxNy4zMiBWIDAgSCAtOS4xNTUzZS01XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDg2LTktMVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg4NC00LTBcIlxuICAgICAgICAgIGQ9XCJNIC02LjEwMzVlLTUsMTQxNy4zMiBIIDE0MTcuMzIgViAwIEggLTkuMTU1M2UtNVwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg5Ni05LTVcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoOTQtMC0xXCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTA2LTktMVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMDQtMS0wXCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTE2LTctOFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMTQtNy01XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTI2LTEtMFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMjQtMS02XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTM2LTUtNFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMzQtOTctNlwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDE0Ni03LTJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTQ0LTY3LTVcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxNTYtMy04XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE1NC02NS02XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTY2LTYtMlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNjQtMy04XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTc2LTktNFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNzQtNC03XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTg2LTgtMlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxODQtMS00XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTk2LTI5LTBcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTk0LTMtNlwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDIwNi05LTJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjA0LTAtOVwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDIxNi04LTlcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjE0LTgtMFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDIyNi01LThcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjI0LTAtMVwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDc1MC01LTNcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNzQ4LTYxLTFcIlxuICAgICAgICAgIGQ9XCJNIDU5Mi41Niw2MDguMDQgSCA4NDEuMiBWIDgyMi42IEggNTkyLjU2IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICA8L2RlZnM+XG4gICAgPGcgdHJhbnNmb3JtPVwibWF0cml4KDEuMzMzMzMzMywwLDAsLTEuMzMzMzMzMywtNTQyLjIzOTk5LDEzMzUuMDQpXCIgaWQ9XCJnMTBcIj5cbiAgICAgIDxwYXRoXG4gICAgICAgIGlkPVwicGF0aDM0XCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgIGZpbGw6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDQwNi42OCw3MDguMyBjIDAsMTYxLjI4IDEzMS45NSwyOTIuMDIgMjk0LjcyLDI5Mi4wMiAxNjIuNzcsMCAyOTQuNzIsLTEzMC43NCAyOTQuNzIsLTI5Mi4wMiAwLC0xNjEuMjggLTEzMS45NSwtMjkyLjAyIC0yOTQuNzIsLTI5Mi4wMiAtMTYyLjc3LDAgLTI5NC43MiwxMzAuNzQgLTI5NC43MiwyOTIuMDIgelwiXG4gICAgICAvPlxuICAgICAgPGdcbiAgICAgICAgaWQ9XCJhbnRpY2lwYXRlLWJnXCJcbiAgICAgICAgY2xhc3NOYW1lPVwiaHAzIGFudGljaXBhdGUtdmVyc2lvblwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNDIpXCIgaWQ9XCJnMzhcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJwYXRoNDRcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZmlsbDogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZD1cIm0gMTI4NS45Niw4OTAuMDQgYyAzMi4xOSwwIDU4LjI4LC0yNi4wOSA1OC4yOCwtNTguMjggViA1OTguNjQgYyAwLC0zMi4xOSAtMjYuMDksLTU4LjI4IC01OC4yOCwtNTguMjggSCA5NDEuNiBjIC0zMi4xOSwwIC01OC4yOCwyNi4wOSAtNTguMjgsNTguMjggdiAyMzMuMTIgYyAwLDMyLjE5IDI2LjA5LDU4LjI4IDU4LjI4LDU4LjI4IHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICAgIDxnXG4gICAgICAgIGlkPVwiYWN0LWJnXCJcbiAgICAgICAgY2xhc3NOYW1lPVwiaHAzIGFjdC12ZXJzaW9uXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuNjIwNTI0NCwxLjIyNjU0NDkpXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgIGZpbGw6IFwiIzg1MGU3OFwiLFxuICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8Z1xuICAgICAgICAgIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQyLTMpXCJcbiAgICAgICAgICBpZD1cImczOC0zXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCIjODUwZTc4XCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGlkPVwicGF0aDQ0LTVcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZmlsbDogXCIjODUwZTc4XCIsXG4gICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZD1cIm0gMTI4NS45Niw4OTAuMDQgYyAzMi4xOSwwIDU4LjI4LC0yNi4wOSA1OC4yOCwtNTguMjggViA1OTguNjQgYyAwLC0zMi4xOSAtMjYuMDksLTU4LjI4IC01OC4yOCwtNTguMjggSCA5NDEuNiBjIC0zMi4xOSwwIC01OC4yOCwyNi4wOSAtNTguMjgsNTguMjggdiAyMzMuMTIgYyAwLDMyLjE5IDI2LjA5LDU4LjI4IDU4LjI4LDU4LjI4IHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICAgIDxnXG4gICAgICAgIGlkPVwiZW5nYWdlLWJnXCJcbiAgICAgICAgY2xhc3NOYW1lPVwiaHAzIGVuZ2FnZS12ZXJzaW9uXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDMuNzIwMjc5MiwwLjk0MjQ5MjY0KVwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICBmaWxsOiBcIiNjZTlmYzlcIixcbiAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGdcbiAgICAgICAgICBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg0Mi0zLTYpXCJcbiAgICAgICAgICBpZD1cImczOC0zLTJcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiNjZTlmYzlcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJwYXRoNDQtNS03XCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZpbGw6IFwiI2NlOWZjOVwiLFxuICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGQ9XCJtIDEyODUuOTYsODkwLjA0IGMgMzIuMTksMCA1OC4yOCwtMjYuMDkgNTguMjgsLTU4LjI4IFYgNTk4LjY0IGMgMCwtMzIuMTkgLTI2LjA5LC01OC4yOCAtNTguMjgsLTU4LjI4IEggOTQxLjYgYyAtMzIuMTksMCAtNTguMjgsMjYuMDkgLTU4LjI4LDU4LjI4IHYgMjMzLjEyIGMgMCwzMi4xOSAyNi4wOSw1OC4yOCA1OC4yOCw1OC4yOCB6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8Z1xuICAgICAgICBpZD1cInJlZmxlY3QtYmdcIlxuICAgICAgICBjbGFzc05hbWU9XCJocDMgcmVmbGVjdC12ZXJzaW9uXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjAyNTc1NTE1LDMuMjM2ODUxNSlcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgZmlsbDogXCIjYTBhN2YzXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxnXG4gICAgICAgICAgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNDItMy02LTApXCJcbiAgICAgICAgICBpZD1cImczOC0zLTItMFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBpZD1cInBhdGg0NC01LTctNlwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmaWxsOiBcIiNhMGE3ZjNcIixcbiAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkPVwibSAxMjg1Ljk2LDg5MC4wNCBjIDMyLjE5LDAgNTguMjgsLTI2LjA5IDU4LjI4LC01OC4yOCBWIDU5OC42NCBjIDAsLTMyLjE5IC0yNi4wOSwtNTguMjggLTU4LjI4LC01OC4yOCBIIDk0MS42IGMgLTMyLjE5LDAgLTU4LjI4LDI2LjA5IC01OC4yOCw1OC4yOCB2IDIzMy4xMiBjIDAsMzIuMTkgMjYuMDksNTguMjggNTguMjgsNTguMjggelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPHBhdGhcbiAgICAgICAgaWQ9XCJwYXRoNDZcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZpbGw6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDQzMiw3MDYuMzIgYyAwLDE2MC4xOCAxMjYuMjgsMjkwLjA0IDI4Mi4wNiwyOTAuMDQgMTU1Ljc4LDAgMjgyLjA2LC0xMjkuODYgMjgyLjA2LC0yOTAuMDQgQyA5OTYuMTIsNTQ2LjE0IDg2OS44NCw0MTYuMjggNzE0LjA2LDQxNi4yOCA1NTguMjgsNDE2LjI4IDQzMiw1NDYuMTQgNDMyLDcwNi4zMiBaXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBpZD1cInBhdGg1MFwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICBmaWxsOiBcInZhcigtLW91cmJlaWdlKVwiLFxuICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICB9fVxuICAgICAgICBkPVwibSA0NTcuMjYsNzY1LjYgYyAwLDEyOS42IDExMi42MSwyMzQuNjYgMjUxLjUyLDIzNC42NiBDIDg0Ny42OSwxMDAwLjI2IDk2MC4zLDg5NS4yIDk2MC4zLDc2NS42IDk2MC4zLDYzNiA4NDcuNjksNTMwLjk0IDcwOC43OCw1MzAuOTQgNTY5Ljg3LDUzMC45NCA0NTcuMjYsNjM2IDQ1Ny4yNiw3NjUuNiBaXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBpZD1cInBhdGg1MlwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICBmaWxsOiBcIm5vbmVcIixcbiAgICAgICAgICBzdHJva2U6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgc3Ryb2tlV2lkdGg6IDIuMDQsXG4gICAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJidXR0XCIsXG4gICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0OiAxMCxcbiAgICAgICAgICBzdHJva2VEYXNoYXJyYXk6IFwibm9uZVwiLFxuICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDQ1Ny4yNiw3NjUuNiBjIDAsMTI5LjYgMTEyLjYxLDIzNC42NiAyNTEuNTIsMjM0LjY2IEMgODQ3LjY5LDEwMDAuMjYgOTYwLjMsODk1LjIgOTYwLjMsNzY1LjYgOTYwLjMsNjM2IDg0Ny42OSw1MzAuOTQgNzA4Ljc4LDUzMC45NCA1NjkuODcsNTMwLjk0IDQ1Ny4yNiw2MzYgNDU3LjI2LDc2NS42IFpcIlxuICAgICAgLz5cbiAgICAgIDxnXG4gICAgICAgIGlkPVwiYW50aWNpcGF0ZVwiXG4gICAgICAgIGNsYXNzTmFtZT1cImhwMyBhbnRpY2lwYXRlLXZlcnNpb25cIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgIH19XG4gICAgICAgIFxuICAgICAgPiA8YSBvbkNsaWNrPXtvcGVuQ2xhc3Nlcyh7Y2xhc3NOYW1lOiBcImhwMyBhbnRpY2lwYXRlLXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJhbnRpY2lwYXRlLWFudGljaXBhdGVcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiNiODViZDFcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDg5NC41LDg5MC4wMyAtNi40OCwtNTEuOCAtNDkuNTcsLTYuMTkgYyAzMS42MywtMzIuNTcgNTEuMTIsLTc3LjAxIDUxLjEyLC0xMjYuMDEgMCwtNDAuMTcgLTEzLjEsLTc3LjI3IC0zNS4yNCwtMTA3LjI4IGwgNi41LC01Mi4xMSA1MC4yLC02LjI4IGMgMzYuOTcsNDUuMTEgNTkuMTcsMTAyLjggNTkuMTcsMTY1LjY3IDAsNzEuNzYgLTI4LjkxLDEzNi43NiAtNzUuNywxODQgelwiXG4gICAgICAgIC8+IDwvYT5cbiAgICAgICAgPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgYWN0LXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJhbnRpY2lwYXRlLWFjdFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiIzg1MGU3OFwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzA4LjcsOTY3LjQzIGMgLTcxLjczLDAgLTEzNi43MSwtMjguOSAtMTgzLjk0LC03NS42OSBsIDUxLjc4LC02LjQ4IDYuMTksLTQ5LjU4IGMgMzIuNTcsMzEuNjQgNzcsNTEuMTMgMTI1Ljk3LDUxLjEzIDQwLjE2LDAgNzcuMjUsLTEzLjEgMTA3LjI1LC0zNS4yNSBsIDUyLjEsNi41MSA2LjI3LDUwLjIxIGMgLTQ1LjA5LDM2Ljk2IC0xMDIuNzYsNTkuMTUgLTE2NS42Miw1OS4xNSB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPC9hPlxuICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQ2xhc3Nlcyh7Y2xhc3NOYW1lOiBcImhwMyBlbmdhZ2UtdmVyc2lvblwiLCBjbGFzc3RvSGlkZTogXCJocDNcIn0pfT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cImFudGljaXBhdGUtZW5nYWdlXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCIjY2U5ZmM5XCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA1MDYuNDEsODcxLjY3IGMgLTM2Ljk3LC00NS4xIC01OS4xNiwtMTAyLjc5IC01OS4xNiwtMTY1LjY2IDAsLTcxLjc2IDI4LjksLTEzNi43NiA3NS43LC0xODQgbCA2LjQ2LDUxLjc5IDQ5LjU5LDYuMiBjIC0zMS42NCwzMi41NyAtNTEuMTMsNzcuMDEgLTUxLjEzLDEyNi4wMSAwLDQwLjE2IDEzLjEsNzcuMjYgMzUuMjUsMTA3LjI4IGwgLTYuNTEsNTIuMTEgelwiXG4gICAgICAgIC8+IDwvYT5cbiAgICAgICAgPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgcmVmbGVjdC12ZXJzaW9uXCIsIGNsYXNzdG9IaWRlOiBcImhwM1wifSl9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwiYW50aWNpcGF0ZS1yZWZsZWN0XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCIjYTBhN2YzXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA4MzQuNjgsNTc2LjIzIGMgLTMyLjU3LC0zMS42MyAtNzcuMDEsLTUxLjEyIC0xMjYuMDEsLTUxLjEyIC00MC4xNiwwIC03Ny4yNiwxMy4xIC0xMDcuMjcsMzUuMjQgbCAtNTIuMTIsLTYuNSAtNi4yNywtNTAuMiBjIDQ1LjEsLTM2Ljk4IDEwMi43OCwtNTkuMTcgMTY1LjY2LC01OS4xNyA3MS43NiwwIDEzNi43NSwyOC45MSAxODQuMDEsNzUuNyBsIC01MS44MSw2LjQ4IHpcIlxuICAgICAgICAvPiA8L2E+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNjJcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW91cmJlaWdlKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzA4LjczLDgzNC41OSBjIC04Ljc5LDAgLTE3LjQ0LC0xLjQxIC0yNS42OSwtNC4yMSAtMi44MSwtMC45NSAtNC4zMiwtNCAtMy4zNSwtNi43OSAwLjc2LC0yLjIyIDIuODQsLTMuNjIgNS4wOSwtMy42MiAwLjU3LDAgMS4xNiwwLjA5IDEuNzQsMC4yOSA3LjE0LDIuNDEgMTQuNiwzLjYzIDIyLjIxLDMuNjMgMi45OCwwIDUuMzksMi40IDUuMzksNS4zNiAwLDIuOTYgLTIuNDEsNS4zNCAtNS4zOSw1LjM0IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDY0XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDY4Ni4xNyw5MjYuNiAtMS4zMywtNy43OSA1LjM3LDAuOTggeiBtIC0yLjksNC4yMiA0LjIxLDAuNzcgMTEuNDgsLTE4LjI1IC00LjMzLC0wLjc5IC0yLjUzLDQuMTYgLTcuODcsLTEuNDQgLTAuODEsLTQuNzcgLTQuMjIsLTAuNzcgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNjZcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzE2Ljc5LDkzNC4xOCBjIDIuNDUsLTAuMDIgNC40MywtMC43NyA1Ljk0LC0yLjIzIDAuOSwtMC44NyAxLjU3LC0yLjEgMi4wMSwtMy43MSBsIC00LjAxLC0wLjkxIGMgLTAuMjMsMS4wNCAtMC43MSwxLjg2IC0xLjQ2LDIuNDcgLTAuNzQsMC42MSAtMS42NSwwLjkyIC0yLjcyLDAuOTMgLTEuNDksMC4wMiAtMi43LC0wLjUgLTMuNjMsLTEuNTYgLTAuOTQsLTEuMDYgLTEuNDIsLTIuNzcgLTEuNDQsLTUuMTYgLTAuMDMsLTIuNTMgMC40MSwtNC4zNCAxLjMxLC01LjQyIDAuOSwtMS4wOCAyLjA3LC0xLjYzIDMuNTMsLTEuNjUgMS4wNywtMC4wMSAyLDAuMzIgMi43OCwxIDAuNzgsMC42NyAxLjM1LDEuNzQgMS43LDMuMiBsIDMuOTEsLTEuMjggYyAtMC42MywtMi4xOCAtMS42NCwtMy43OSAtMy4wNSwtNC44NCAtMS40MSwtMS4wNCAtMy4xOSwtMS41NSAtNS4zNCwtMS41MyAtMi42NSwwLjAzIC00LjgzLDAuOTYgLTYuNTIsMi43OSAtMS42OSwxLjgzIC0yLjUyLDQuMzIgLTIuNDksNy40NyAwLjA0LDMuMzMgMC45Miw1LjkxIDIuNjYsNy43NCAxLjc0LDEuODIgNC4wMSwyLjcyIDYuODIsMi42OSB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGg2OFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3MzcuMzksOTMyLjQyIDE1LjYyLC0zLjAxIC0wLjY0LC0zLjMzIC01LjgyLDEuMTMgLTMuMTUsLTE2LjMzIC0zLjk3LDAuNzcgMy4xNSwxNi4zMiAtNS44MywxLjEzIHpcIlxuICAgICAgICAvPlxuICAgICAgICA8ZyBpZD1cImc3MFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDc2KVwiIGlkPVwiZzcyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGg3OFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gNDk0LjM4LDYyNS4zNyAtMy45NywxNC4zIDMuMjYsMC45MSAyLjg5LC0xMC40MSA0LjI3LDEuMTkgLTIuNjksOS42OCAzLjI1LDAuOSAyLjY5LC05LjY4IDUuMjUsMS40NiAtMi45OSwxMC43NyAzLjI1LDAuOTEgNC4wNywtMTQuNjcgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImc4MFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDg2KVwiIGlkPVwiZzgyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGg4OFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gNDg3LjUzLDY1Mi41IC0wLjY1LDMuODggMTEuODMsMTAuMjkgLTEzLjE4LC0yLjIxIC0wLjYzLDMuNyAxOS43NCwzLjMxIDAuNjcsLTQgLTExLjU0LC0xMC4xMSAxMi44OCwyLjE1IDAuNjIsLTMuNyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzkwXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoOTYpXCIgaWQ9XCJnOTJcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDk4XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODIuNDgsNjkwLjkyIGMgLTAuMTQsMi40OCAwLjI3LDQuNDUgMS4yMyw1LjkgMC45NiwxLjQ1IDIuMzUsMi40MyA0LjE2LDIuOTMgbCAwLjk4LC0zLjk2IGMgLTAuOTcsLTAuMzQgLTEuNzEsLTAuOTEgLTIuMjQsLTEuNzIgLTAuNTIsLTAuODEgLTAuNzUsLTEuNzkgLTAuNjksLTIuOTYgMC4xLC0xLjc2IDAuNzQsLTMuMTMgMS45MiwtNC4xMSAxLjE3LC0wLjk4IDIuODYsLTEuNCA1LjA2LC0xLjI4IDIuMzcsMC4xMyA0LjEyLDAuNzYgNS4yNSwxLjg4IDEuMTIsMS4xMiAxLjY0LDIuNTQgMS41NCw0LjI1IC0wLjA0LDAuODQgLTAuMjYsMS42OCAtMC42NCwyLjUxIC0wLjM4LDAuODMgLTAuODIsMS41NCAtMS4zMywyLjEyIGwgLTIuNTMsLTAuMTQgMC4yNiwtNC42MiAtMy4zNywtMC4xOSAtMC40OSw4LjY5IDcuOTYsMC40NSBjIDAuODcsLTAuOCAxLjY2LC0xLjk4IDIuMzcsLTMuNTUgMC43MSwtMS41NyAxLjEyLC0zLjE4IDEuMjEsLTQuODIgMC4xMiwtMi4wOSAtMC4yMiwtMy45NCAtMS4wMSwtNS41NCAtMC43OSwtMS42MSAtMS45OCwtMi44NCAtMy41NywtMy43MiAtMS41OCwtMC44NyAtMy4zMywtMS4zNiAtNS4yNSwtMS40NyAtMi4wOCwtMC4xMiAtMy45NiwwLjIyIC01LjYyLDEgLTEuNjcsMC43OCAtMi45OCwxLjk5IC0zLjk0LDMuNjIgLTAuNzQsMS4yNCAtMS4xNiwyLjgyIC0xLjI2LDQuNzMgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMDBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxMDYpXCIgaWQ9XCJnMTAyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMDhcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ4Ny40Myw3MjAuNTYgNy4yOCwtMy4wOSAwLjI5LDUuNDUgeiBtIC00Ljc3LC0xLjg0IDAuMjMsNC4yNyAyMC40MSw2Ljk1IC0wLjI0LC00LjM5IC00LjYzLC0xLjUxIC0wLjQyLC03Ljk5IDQuNDUsLTEuODkgLTAuMjMsLTQuMjggelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMTBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxMTYpXCIgaWQ9XCJnMTEyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMThcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ4NS43Niw3NTEuNjEgYyAwLjQsMi40NSAxLjIzLDQuMjggMi40OCw1LjQ5IDEuMjYsMS4yMSAyLjgzLDEuODcgNC43MSwxLjk3IGwgMC4wOSwtNC4wOSBjIC0xLjAyLC0wLjEyIC0xLjg3LC0wLjUxIC0yLjU2LC0xLjE5IC0wLjY5LC0wLjY4IC0xLjEyLC0xLjU5IC0xLjMxLC0yLjc0IC0wLjI5LC0xLjc0IDAuMDQsLTMuMjIgMC45NywtNC40MyAwLjk0LC0xLjIxIDIuNDksLTEuOTkgNC42NywtMi4zNSAyLjM0LC0wLjM4IDQuMTgsLTAuMTUgNS41MywwLjcgMS4zNCwwLjg1IDIuMTUsMi4xMiAyLjQzLDMuODEgMC4xMywwLjgzIDAuMTEsMS43IC0wLjA4LDIuNTkgLTAuMTksMC44OSAtMC40NywxLjY4IC0wLjg0LDIuMzYgbCAtMi41MSwwLjQxIC0wLjc0LC00LjU3IC0zLjMzLDAuNTUgMS40MSw4LjYgNy44NywtMS4zIGMgMC42NywtMC45NiAxLjE4LC0yLjI5IDEuNTQsLTMuOTggMC4zNSwtMS42OCAwLjM5LC0zLjM0IDAuMTMsLTQuOTcgLTAuMzQsLTIuMDYgLTEuMDcsLTMuNzkgLTIuMTksLTUuMTggLTEuMTIsLTEuNCAtMi41NSwtMi4zNSAtNC4yOSwtMi44NiAtMS43MywtMC41IC0zLjU1LC0wLjYgLTUuNDUsLTAuMjkgLTIuMDUsMC4zNCAtMy44MSwxLjA3IC01LjI3LDIuMTkgLTEuNDUsMS4xMyAtMi40NywyLjU5IC0zLjA1LDQuMzkgLTAuNDUsMS4zOCAtMC41MiwzLjAxIC0wLjIxLDQuODkgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMjBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxMjYpXCIgaWQ9XCJnMTIyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMjhcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ5MC40Miw3NzIuOTkgMy45NywxNC4zIDMuMjYsLTAuOSAtMi44OSwtMTAuNDEgNC4yOCwtMS4xOSAyLjY5LDkuNjkgMy4yNCwtMC45MSAtMi42OCwtOS42OCA1LjI1LC0xLjQ1IDIuOTksMTAuNzcgMy4yNSwtMC45IC00LjA3LC0xNC42NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzEzMFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEzNilcIiBpZD1cImcxMzJcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDEzOFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTEyLjc3LDgxMC4yIC03Ljg5LC0wLjUgMi4xOSwtNSB6IG0gMy40NCwzLjc5IDEuNzEsLTMuOTIgLTE1LjEyLC0xNS4zNiAtMS43Niw0LjAyIDMuNDYsMy40MyAtMy4yLDcuMzIgLTQuODMsLTAuMyAtMS43MiwzLjkyIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTQwXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTQ2KVwiIGlkPVwiZzE0MlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTQ4XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MjQuOTEsNzkyLjM4IDEuMTcsLTMuNzUgLTEwLjMxLC0xMS44MSAxMi43NiwzLjk5IDEuMTIsLTMuNTggLTE5LjExLC01Ljk3IC0xLjIxLDMuODcgMTAuMDUsMTEuNTkgLTEyLjQ1LC0zLjg5IC0xLjEyLDMuNTggelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNTBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNTYpXCIgaWQ9XCJnMTUyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNThcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzMi41Nyw3NjUuODggMy4xNSwtMTUuNTkgLTMuMzIsLTAuNjcgLTEuMTcsNS44MSAtMTYuMywtMy4yOSAtMC44LDMuOTYgMTYuMywzLjI5IC0xLjE4LDUuODIgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNjBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNjYpXCIgaWQ9XCJnMTYyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNjhcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzNy4yNiw3MzkuMjcgMC40OCwtNC4wMSAtMTkuODcsLTIuMzkgLTAuNDgsNC4wMSB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzE3MFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE3NilcIiBpZD1cImcxNzJcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE3OFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTM5LjU4LDcxNC4yOSBjIDAuMDgsLTIuNDQgLTAuNTcsLTQuNDYgLTEuOTcsLTYuMDMgLTAuODIsLTAuOTQgLTIuMDMsLTEuNjYgLTMuNjIsLTIuMTcgbCAtMS4wOCwzLjk3IGMgMS4wMywwLjI3IDEuODMsMC43OSAyLjQsMS41NiAwLjU4LDAuNzcgMC44NSwxLjY5IDAuODEsMi43NiAtMC4wNSwxLjQ5IC0wLjYyLDIuNjcgLTEuNzEsMy41NiAtMS4xLDAuODkgLTIuODQsMS4yOSAtNS4yMiwxLjIxIC0yLjUzLC0wLjA4IC00LjMyLC0wLjYgLTUuMzYsLTEuNTQgLTEuMDQsLTAuOTUgLTEuNTQsLTIuMTUgLTEuNDksLTMuNiAwLjAzLC0xLjA4IDAuNDEsLTEuOTkgMS4xMSwtMi43NCAwLjcxLC0wLjc1IDEuOCwtMS4yNyAzLjI4LC0xLjU2IGwgLTEuMTEsLTMuOTUgYyAtMi4yMSwwLjUyIC0zLjg2LDEuNDcgLTQuOTcsMi44MyAtMS4xLDEuMzYgLTEuNjksMy4xMSAtMS43Niw1LjI2IC0wLjA5LDIuNjYgMC43NCw0Ljg3IDIuNSw2LjY0IDEuNzYsMS43NyA0LjIxLDIuNzEgNy4zNiwyLjgxIDMuMzMsMC4xMSA1Ljk0LC0wLjY2IDcuODQsLTIuMzIgMS45LC0xLjY1IDIuOSwtMy44OCAyLjk5LC02LjY5IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTgwXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTg2KVwiIGlkPVwiZzE4MlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTg4XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzkuMSw2OTQuMjcgLTAuMjIsLTQuMDMgLTE5Ljk4LDEuMDkgMC4yMSw0LjAzIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTkwXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTk2KVwiIGlkPVwiZzE5MlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTk4XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzMuOTgsNjc0LjI1IC01LjYyLDAuNzkgLTAuMzEsLTIuMTkgYyAtMC4yMiwtMS41OCAtMC4yNiwtMi42NSAtMC4xMywtMy4yMSAwLjEzLC0wLjU2IDAuNCwtMS4wMiAwLjgsLTEuMzggMC40LC0wLjM3IDAuODksLTAuNTkgMS40OCwtMC42NyAwLjcyLC0wLjEgMS4zNCwwLjAyIDEuODcsMC4zOCAwLjUzLDAuMzYgMC45LDAuODYgMS4xMSwxLjQ5IDAuMTUsMC40NiAwLjMzLDEuNDIgMC41MywyLjg2IHogbSAzLjkyLDMuNTMgLTAuOSwtNi40MiBjIC0wLjM0LC0yLjQzIC0wLjY2LC00IC0wLjk2LC00LjcxIC0wLjQ2LC0xLjEgLTEuMjQsLTEuOTYgLTIuMzQsLTIuNTkgLTEuMTEsLTAuNjIgLTIuNDUsLTAuODMgLTQuMDMsLTAuNiAtMS4yMSwwLjE3IC0yLjIsMC41MyAtMi45NywxLjA5IC0wLjc3LDAuNTYgLTEuMzQsMS4yMSAtMS43MiwxLjk1IC0wLjM4LDAuNzUgLTAuNTksMS40OSAtMC42NSwyLjIxIC0wLjA1LDAuOTggMC4wNCwyLjM4IDAuMyw0LjE5IGwgMC4zNiwyLjYxIC03LjQ3LDEuMDUgMC41Niw0IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMjAwXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjA2KVwiIGlkPVwiZzIwMlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMjA4XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MjcuMDEsNjQ0LjM3IC02LjUzLDQuNDUgLTEuMzUsLTUuMjkgeiBtIDUuMDQsMC44OCAtMS4wNSwtNC4xNSAtMjEuMzgsLTIuODMgMS4wOSw0LjI2IDQuODMsMC41NyAxLjk3LDcuNzYgLTQsMi43MiAxLjA2LDQuMTUgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcyMTBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyMTYpXCIgaWQ9XCJnMjEyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgyMThcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkyNi4wNyw2MjQuMTkgLTUuNTIsLTE0LjkyIC0zLjE4LDEuMTggMi4wNiw1LjU2IC0xNS41OSw1Ljc3IDEuNCwzLjc5IDE1LjU5LC01Ljc3IDIuMDYsNS41NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzIyMFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDIyNilcIiBpZD1cImcyMjJcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDIyOFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTE2LjA2LDU5OC44OCAtNi41MywtMTMuMzMgLTMuMDQsMS40OSA0Ljc1LDkuNyAtMy45OCwxLjk1IC00LjQyLC05LjAzIC0zLjAzLDEuNDkgNC40Miw5LjAyIC00LjksMi40IC00LjkxLC0xMC4wNSAtMy4wMywxLjQ5IDYuNjksMTMuNjcgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcyMzBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyMzYpXCIgaWQ9XCJnMjMyXCI+XG4gICAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJtYXRyaXgoMjA0LjM2LDAsMCwyMDQuMzYsNjAxLjA4LDYxMS40KVwiIGlkPVwiZzIzOFwiPlxuICAgICAgICAgICAgICA8aW1hZ2VcbiAgICAgICAgICAgICAgICBpZD1cImltYWdlMjQ0XCJcbiAgICAgICAgICAgICAgICBtYXNrPVwidXJsKCNtYXNrMjQwKVwiXG4gICAgICAgICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFZQUFBQUdBQ0FZQUFBQ2t4N1cvQUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBSUFCSlJFRlVlSnp0M1dsejIwaldwdUVISUlGTVVJdTFTN1prbHlybWpaaVltUC8vZDZhOXlJdXN6WklzWWlQQStRREs1ZXB5MmJKSUpKTENmVVYwOUlmcUl1QzJoQWZNUEhsT0lHa3FBRUR2aEYzZkFBQ2dHd1FBQVBRVUFRQUFQVVVBQUVCUEVRQUEwRk1FQUFEMEZBRUFBRDFGQUFCQVR4RUFBTkJUQkFBQTlCUUJBQUE5UlFBQVFFOFJBQURRVXdRQUFQUVVBUUFBUFVVQUFFQlBFUUFBMEZNRUFBRDBGQUVBQUQxRkFBQkFUeEVBQU5CVEJBQUE5QlFCQUFBOVJRQUFRRThSQUFEUVV3UUFBUFFVQVFBQVBVVUFBRUJQRVFBQTBGTUVBQUQwRkFFQUFEMUZBQUJBVHhFQUFOQlRCQUFBOUJRQkFBQTlSUUFBUUU4UkFBRFFVd1FBQVBRVUFRQUFQVVVBQUVCUEVRQUEwRk1FQUFEMEZBRUFBRDFGQUFCQVR4RUFBTkJUQkFBQTlCUUJBQUE5TmV6NkJnQmdXVVZocE1RYUpiR1ZqWTFHY2FMM2w1OTBNLzdhOWEwOUNBRUFBTDhRS3BRMVZpTVRLNGtTSmJHUk5TTU5CLzljUkxGUm9oc1JBQUN3VkFJRk1zTll4aGdseG1vVUc0MU1vbmdZUC9nelJzYTBlSWVMUlFBQTZLWGhZQ2diR1kxaUl4dGJqYXhWRWljS2dtQ3V6N1VFQUFENElRZ0MyU2hXWWhLTllxc2tOaHFaa1FhRFFTdlhTeUtyUUlHbW1yYnkrWXRFQUFCNE11SkJMR3VOUnBIOXRqR2JHT3YwSG9JZ2tJMWpwVVh1OUxxUFFRQUFXRHFEWUtERVdObDQ5bVlmR1Zsck5RamFlYXYvWFRaT0NBQUFtRmNTR3lYM2IvVFdLREVqeFFPL0gxMmp5T2lxNjV0NEFMLy9Yd1RRRzlFd2Fzb3I0NmF1UGpGV2RtZ1Voc3QzWHRYYTVkZ0lKZ0FBT0JVRWdaSzRxYVVmeFZhSk1iTHhqMnZxbDFVU3U5MTNlQ3dDQUVCcjdMQjVtemYzRzdNMmtSbEdYZDlXNitKaHJFRVlxcXJycm0vbHB3Z0FBSE1iRG9aTkxYMFV5OXBFbzlnc3BLWittU1dSMGRjODdmbzJmb29BQVBCZ1RZbGo4MVovWDFOdjQ1R2lvUi9WTno2eHhoSUFBSmFUR2NReTFpaUptaVpuMXBpbFdkdjJ3Y2p4K1lQSElBQ0FuZ3ZEVUtNNG1XM0dXaVdSVWVKUlRmMnlTdUtrNjF2NEpRSUE2SkZteWFZNU9KVllLMnNTNzJ2cWw1V05IOTVBcml2OHpRTlBVRk5UMzV5VXZWKytXZGFhK21VMUNJZUtoNUdLU2RuMXJmd3JBZ0JZWW9Nd2xJMk5iR1MvdFM5K2FqWDF5OHhHbGdBQU1MLzdtbnByWit2MHNaR0psK1BFNlRLWlZLWFNJbGVhWjBxTTFWcXkrdWpQU3F6UlRYcTd3THRiTEFJQThNeDlUWDB5T3lXYlJNMVFrajdYMUxlaG1sYks4MUxqSWxOV1prcXpWR21SYVZKWDMvNDMyK3ViY3dYQXlQT05ZQUlBNk1oOVRmMG9haXB3RW1ObG80U2EraGJrazFKcG5pb3JNbzJMWEdtUktYOUF0ODQ4eithNmJoTDVYUXBLQUFBT21FR3N4RmlaT05iSUpMS3hrUm5HYk1vdTJLU3FsUldwMGpKdkh2aDVwclFvVkUyclgvL0xQNUROMmRMWlJINVhBaEVBd0FLRllhZ2thc1lMMnNoK2EzZ1d0alI5cXEvcXVsWlpsVXJ6NW0wK3padi81Rld4ME90TXByV0thdkxvVXRrZ0RKVEVWbWt4M3plSnRoQUF3Q00xWlpaV0l4TXJpUlBaT0ZFODVGZXFiZS9PUHVqODV0TEp3TVZCR0NxWXpqc2ptQUFBbGxZMEhEWVArTWhxWkF3MTlSMjYvbnFqczV0TFo5ZjdZKzlvN2oyWkpMYmVEb2NoQUlDWis1cjY1bTNlZkt2Q0dZYjhtdmhnVXBWNmMvN0IyZlYyMTdhMHNiSSs5K2Y0dkJITVR6WjZ5UTVOTXp3OE5rcWkyYVlzTmZWZWUzUDJRWk5xNHVSYWRtaDB1SDJ3a004YWVkd1NnZ0RBa3pZY0RKVkVSdFlremZJTk5mVkw2ZUwyU3RkM2JnNVVCUXAwZkhDb2NFR25xYU9vcWZhcVBSd09Rd0RnU1FnVnlzd3FibXhzTmJLR212b25JcCtVT2puLzZPeDZCMXQ3R3BuUlFqOHpNWW51MHJ1RmZ1WWlFQUJZT3ZFd21yVXZ0dC9XN09QaGtFM1pGaFNUUWxtUkt5MVNwVVdodzgwOVJRNXIyK3U2MXR2UDc1eU5WbHkxSzlwL3RyM3d6MDBpU3dBQXYrTytwajR4elFEeFpncVZvYWErQlpONm9qelBsWmFaeG5tbXJDaVU1dG5mRGxBZGJMbDkrRXZTK2UyVmJ0T3hrMnNOd2xESCs0ZXR2RWdrbnU0dkVRRG9YQkFFc3JQbVprM3ZtNlRwVTA5Ti9jSk42Nm55c2xCYVpyTURWS25TSXY5bHg4cFJiUFg4MmE2anUyeWtlZVowNmVkbzU3bmlZVHNCUndBQWFtcnFSNUdWaVpObW5UNDJTb1pXUWNpbTdLSVY1VVJwa1gzWEdpRlRWdWFhVG4vdkNGV29VSDhldkhUNmR6U3RwM3I5K2IyejYyMnVybXQ3YmJPMXo3ZWVOb1VqQU5DS3BxWisxdEV5bnEzVlUxUGZpcnFxbTQ2V1JhNXhrU2t0TStWWnFzbDBNZXZtaHpzSE1wSGJOOWlQWHo0ckxkd01WSStHUTczYU9XejFHc05CS0RPSUY5NnFZbDc4Tm1KdUpwNHQzMFJKVTFkdmpHTEhENHkrcUtwS04rbFhqZk5VZVZGb1hLU3REaHhaVDlhMCsyeXJ0Yy8va1hHZTZ0UFZtYlByL2JsN3BJR0RmU1ZqamZJN0FnQkxhaGdPbWpkNjIyektOcTBSTERYMUR2M245TVRaZ0pGQkdPclZmcnR2eHYrdHJpcTkvblRpN0hwN0c5dGFIVDIrMy8vdlNDS2pHL2sxSElZQXdEL2MxOVFuc3hMTHhEWnY5OVRVZCt2ODVzTHBkS25qM1NQbkErTS9YSDFXTnBtdkJmTkRqWXpWNGRaaVR2cys2SG9lN2dNUUFEMFhENlBaTE5ta1dhczNzZUlCZmVwOWs1ZTVUczVPblYxdmUyMVR6MWJuNzRQek8yN1NPMzIrdm5CeXJTQUlkTHo3MHVtM1YrdGhKUkFCMEJOaEdEYjE5SkdkblpZMTFOUXZpV2s5MVg4K3ZWTXRONGVoNG1Ha3crM25UcTUxcjZvbmV2UDVuYlBySFc0ZnlCcTNEMlFmaDhNUUFFOU1FQVROOEhBejYzOHo2NE5EVGYzeStuajFXV09IL2VULzNEdlNjRUY5Y0I3cTNma25sUk0zamQ3V1I2dmFhK0cwNzYrRVlhZ2tOa3JubkRLMlNEd1ZsbGcwakRTS1p1MkxiWE5TMWc0Tk5mVXRLQ2VsaG9PaDh3M3Z1eXpWcHkvdUttS2ViKzVwSlZseGRqMUorbkozcmN2YkwwNnVOUmdNOUdyM3lNbTFmbVFVV3dJQXYrZStwcjVadGtsa1RiTjhNNkNtZnVHcWFhVXNMNVFXdWZJeVZacm5HdWVaUnRicWY1NGZPNzJYdXFyMSt2TmJaOWRMNGtRSG0yNVAreGJWUkcvTzNQWDRQOTQ1N1BUYmNHSVM2ZXQxWjlmL2J6eEJQR09pN3pwYUdxc2tqcW1wYjBsZTVMUERVN25TMmNNK0wvLzVkallNUXIzYWNmL1dlSEw1U1huWlhvMy85d0pKeC91SHpyL2h2RDE3cjZwNjNNRDIzOVhGeHZaLzgyMGptQURveURBY2FHUVNXZlBkOEhCcTZsdFJUcXEvM3VhTFRGbVphWnhsbWo1d3F1ekwvVVBGa2R0ZmxTOTNOenAzT1BydzVlNXpKYkhieVZYbjE1ZTZjZFRqMzBTUlhqcmUyUDRSMzFwQ0VBQXQrNzZtZm1Sbm93YXBxVy9GZERxZHZkR25zeGJHbWRJc1Yxay8vaTE2YTNWRG15dlBGbmlYdnphcFNyMTF1Q3l5UGxyVHpycmJUZEdpekhWeStjblo5ZjdjZjdXd0FTL3ppSWRERGNMUVdYdnJYeUVBRnNoRTBiZitOMDIvZXFOb0VGRlQzNEo4VWpiTnpZcFVhWkZwWE9US0Y3eTVGZzhqSGUyNk95aDA3N1hEMFlmTjhwYmowNzUxcmYrY2ZYQTJJZXY1NXI1R3hwODM3NUd4emxwYy93b0I4QWpESUpTeGY1VllqbUtySkRKZXZHRThaZWZYVjdxNHZWSldaazdlb0k3M1h6cHZYbmQyYytWc1dVU1NYbld3dkhWK2MrbHNPTXFLR1dsL3czM0o1ODhrY1VJQUxJUDdtbnByWjEwdG8rYS9YZi9DUUJyblk3MDlkOWNlK0dCelY2dDJzV01CZnlVckNwMmN1MXY2MlZyZDBJYmo1YTBzejNWeTRXYnBKMUNnNDcxMkJyek13emplYS9rWm5tUXo4YkJadmhsRlZvbHRTaTZwcWZkRDB5RE0zY00vaVkyZWIrNDV1NTdVTEl1OE9UdjU3Vjc5anhVUFl1ZkxXOVBwVlA5eFdOYjZjdmRReHJPcUcwbGFNUVJBWndaaEtCdlpXUzA5TmZYTDRPVHlrN01HWVpMMDU5NHI1OVZZbjYvUGRKZTVXeFk0UGpoeXZyejE0ZkxVMlNHb2pkVjE3YXh2T0xuVzc3SkRmMExwU1QvMVRHdzArdTVobnhqVDJzZzN0T1A2N3F2T2I2NmNYZS9sOW5QblBXTEdlYW9QbCs1TyszYXh2SFdYcFRyOWN1N2tXbEVZNmVXMjI0M3QzeEVPUXBrb2NuYkc0MmVlUkFBTXcyRnphTW9ZbWFqWmxEVW0waUNnMUhLWmxaUFNhWU93OVdSVnU0NDNET3VxZHRyL3ZwUGxyYXB5ZXFMNWo0TkQ3OHVza3lnaEFIN1hmVTE5ODdCdlRzc21VYXhvR0hWOWEwOVNVVTJVRjVuR1dhNnQxVFZGanJzWnZqdi9xRW50NXBSb0dJYjZZL2VGazJ0OTcvMkZ1K1d0SUFoMHZPZTJCYklrblZ4K2R2YXcyOXZZMFhyaVpzRExQS3d4a2dlRlFONEdnSWtpSmRGc2pkNDBFNmlvcVc5SFhWWEtKcm5HV2Fhc3lEUXVDMlZGOXEwV2ZXdHRRMUhrOXMzNC9QWktYKzV1bkYzdmo5MUQ1d0YzYzNlcnMxdDNwMzBQdHcrVU9ONkF2QjNmNnZ6R1RZLy9KTFo2dnVXMmw5RmorVEljcHZNQUdBYWg3T3dCVDAxOXUrcTZWakdaS0MxVFpWbXV0TXlVRnVsUDM4NmlZYVNYTzI2clJmSWkxN3ZQN3NvaHQxZWZhWFBWYlRsa09TbjErck83cFo4dVdpQlhWYVhYTFo5b0RzTlFLOFlxTVNQdHJtOHV6Ykp2NG5pZjZkODRDNEFnQ0dRakkydHNjNEJxTm9HS212cDJsSk5TYVZrMEoyWHpwaTFDbHVlL1BWVGt6OTFEcHhWU2RWM3J6ZWVUQi9mcG1WYzBqSFMwNjc1SHpMc3p4OHRiTys2WHQ5NmRmMUM1d0lIMVVSZ3BzVTNmckJXYmFHU1NwUzNxaUFhUkFzblJUL20vYy9hYnZiK3hveGRiKzY0dTF4dmZ0eS9PeWt4Wm5tbWNaNXJVODdjUzJOL1ljVFl3Kzk3cDlZVys1cW16Ni8yNTV6YmdwTm55MXRqZDh0Yng3cEh6NWEwdlgyOTBPVWZiWXhORnpRUzdPTkVvVHJSaWpZYURwN1BYRjRhaGJKd29MZHo5clArSXM1LzhMUGRuQ01LeXVtOWZuSlpwMDhMNFg5b1hMMElTV3gwNFhrKzl5MUo5dXZ6czdIcDdHOXRhZGJ4aDJNWHkxb2JqRnNqRlpLSzNEMXplQ3RTc0RDVFdhaVcyc2paUkVpWE9KNUoxb1prTzFwTUFTTXR1LzZETDd1VDhvOU9CMlgvc0h6cGRUNjJtbFY2ZnVWdjZTU0tyd3kyM2V4dDFYVHY5TTNhMXZQWDI3TDBtMDM4dU5ZWUtsVmlqVVpUSTJrU2p1Q253NkdzTDlDUk9KTG1aaFBadm5BVkFYcGFxcTRvaDVJOXdtMzUxOXZDWHBCZWJCODZyRkQ2Y255NjhtK2UvQ1lKQXh3ZEhIWnoyUGRkZDV1NUY2SGp2eVBueTF0bk5sVzdHdHdyRGNMWjBZNXVsbk1qS1JERlZmTjhaMmU0M2dwMytkR1NUUXFPQkgrVlB5NktjVkhyOXlkMWhxRlc3b3Qxbm04NnVKMGszNDF1ZE9SeCtjcmg5NEh6NHlWMDIxa2VIcDMzM251MXF6ZkZzWDBreVVhei8rOGYvbHVGc3ppOGxIdlFwY2hySHFjUE52YWZpNVB5RFNrZlZJb013MUIvN1IwN2Ywc3BKcFRlbjdzb2hWNU5WN2F5NURiam1KT3g3ZDh0YnNkWGh0dHZUdnZmV2t4VWUvZzgwSEVRYURycXRnblFiQUk2KzRqOFZGN2RYdXJwek4wRDYxZTZoODEvZWR4ZnYzUVZjTU5EeDNndm55eER2TDA5YjI2ei9rZU45OTh0YmVCemJjV3RvcC9IVDlZNzNNc2tucFU3T1B6cTczdWJxaHZQRFVCZTNWL3J5MVYwNTVLdTlGODdyeHEvdnZqcGQzanJhY1QvYkZ3OVhsSk5tVkdtUktpdHpaVVhXNmYwNERZQngzdTBmOWxmcXFsWmE1a3J6Vk5ta1VKcW5Db0pRZng0Y09hMklxZXRhcnorZk9Kc2JHZzBqdmRweFd5MVNUQXFuQWJmVnlXbmZTbThjbnZidFlua0xQemFwYXVWbHJqUnZIdmJwYkZhMXF6R1lEK1UwQUtxNlZsRk5GSGU4N2xWWGxkSXlWMTRVU21lSHA5SXlWL0dEVTR2LzUraC9uQjh2UDd1K2NEWXlUNUwrMkR2VXdHRjFWbDNYK3M4bmx3RTMxTXNPeWlGUHpqNHM1RURlUTNTMXZOVjNkVjJycUFxbGVYTkdaMXlrU3ZQc2g4OFNIemwvRW1kNXFuaTA1dVJhMWJSU1VaVE5WNjc3QjMzeDR3ZjlqN3pvb0hsV21tZDZmM25xN0hwZGRFLzhmSE9wdTl6aDhKUGRsODdMSVM5dnZ1aHEzTzcrelRBSVplS216SEp6ZFgxcDJ5SXNpMGxWenQ3b2M0MkxySG11ZUw2cThTdnVBNkRJdGI3Z0FKaE9wOHErZmQzS2xCZUZzaUtmcTgzdXFsM1IzdnJXQXUveTE2cHBwZGNPKzk4bmtYSGVQVEhOTTMxd05CTldrdlkzdHJVMmNsc09XVXdLdmIxWTNHbmYvNTVOUFlwTTB4M1hjWHVIdnFpcmV0WWRONTB0Q1RjdmtGWGxwbGpCSmVjQk1KNXowNk91YXQya1g1dS9sTW5zamI0b0ZscGlGNGFoanZmZEQ1UCtjSEhtdEZMcWVQK2wrOU8rcHc0RExqWTYySEkvMi9mMTZmdEhyL1hHdzBnMnNzMkoyZml2QTFUTXBsNjhiOHMzUmE0MHk1cVh5RjkweDMxcW5BZEFPbWNBVk5PcC90OXB1OU9GWHU0OGQvNTEraWE5MDltMW01RjVrdlJpYTkvNTh0Ykg4MU9sanNvaG0zWVdiamZ2cFdaNTYydjI2LzJiUVRCUUVzZEs0a1NKTlVyaVJDYU9uYy9wN1l1L3V1Tm0zMVlLMGlMVGROcDFQODV1ZGJJRVZOZjFvOSt1bytGQTBUQmFhSnZaNzIyT25tbmJjU1ZGVmJtdEZsbEpWcHozaHI5SnYrcXp5OU8rVy92TzIxbjhhSGtyVUNBYngwcWladm5HMnFZVk9vZWwybkZmNE5HOHplZEtaOHM0OThPTjhIZk9BMkE2blNxZkZIUFZLaWV4YlNVQWh1RlFSeDJNQlh4M3R0aSs2VDh6Q0VQOXVlZDJlYXNKdVBmT3JyZHFWN1RUd2Y3Tmg0dFBXaCt0eVVaV0kyTmtqVkVTV1E1bHRhQVpibFEyZTMxbHFqUXJtcGtYanNaclBoV2RmTi9NaW55dUFCaEZWamU2WGVBZE5mN1lPM0krVFBycTY3VXVIWjcyUGVwZ2VldnQrWHVuQWVlNm5ZWFVMT244cnhmSFRxL1pGK1drVkY3TTN1akxWT084VUpabnZ6M2NDUC9VV1FETUk3RldXdkF6YzNkOVM4OVdIUGVHbjVSNjY3QTMvT2FLKytXdHk2OWZkT1h3dE8vTG5SY3NyeXlwYjJYYmVUWXJzMHlWNVptelZpRjkxRWtBekZzN2E2UEZkdEV6a2RHaDQybGxkVjNyemVtSnFxbWJIKzRvSE9qSThWakFmRkxxWGNzelliKzNzZnBNVzJzYnpxNkh4eXNtemVHcDhleVViRk8remZLTmE1MEV3SGpPbmtBbWloVUV3VUoyOEFNRk90NDdkRDZuNFB5QjFTS0xjcnp2ZG5tcnJtdTkvZnpPM1duZk1OTExiZmY3Ti9pNWNsSTFvMHBucDJTem9xbXZkOVVaRlQvWFNRQVVrMUoxVlN0ODVOaTNNQXhsSTd1UTVuSUhXM3Rhc2FPNVArZDNqSXZVNlduZjNXZmJXbk4wK3ZyZStjMmxibE9IcDMwUERwM3YzK0F2MCtsMGR0cisva0ZmS0MxU2xST3FiM3pXV2RGeFd1WmFtV000ek1qTUh3QXJOdEcrNDNMSTZYU3FONS9lTzZzL05ySFJDOGU5NFYwSDNONzZsdFljdDdQb3MzeFNLaXRTamZOYytleVVMSzNlbDFOM0FaQm5XckZ6QkVCc05NK1F4RUNCam5mZFY0dDh1RHhWV3JycEgzTC9aM1I5MnZmTmFYc0JaNGRHeGhpTlpxZGxiWlFvSG5KNHFnMVZQVkZhRk1xS1ZHblduSkpOeTl6WnNoN2ExMTBBRktta3gxZWt6SHVLOWVYZUN4bkhJOW0ranIvcTlJdkQwNzdidTNPRjdHTjh2RGliKzdTM0pBMEhROW5ZYWhURjN3YUltOWc0UDluYkIvZTl0UDdxWnRsc3lyb3EzVVYzT2d5QU9VdEI1empsdVRGYWQ5NDN2YW9uZW4zbThEQ1VTYlM3dnVQc2VwSjBPNzdUNTk5c1p4RklzbkdpSkc3YUlZeHMwK2hzT0tDVXN3MWwyZlMrR1plNXNuejJzSGYwalJUKzZYQVBZTDRmdXNIZ2NTMGhodUdnazk3d2I4OC9PZXNSM2pTemM3dTgxUVRjenh1OW1TaFNFaVd5WnRib3pCaEZnNGdlOWkyWTFCTmxlZDYwUlNneWpiT21Fc2RWMlRHV1EyY0JVRldWaW5LaU9IcjhMU1RSNzdlRU9ONDdVdVQ0b05EVjdiV3Vicjg0dTk3UjlndkZDejRyOFN2dnpqNStxL2dZaEtGR3hzNGFuRm10R0NzN05JK3Urc0svbTlhelZ1akZyTlN5ekpSbHVZcXE2UHJXc0FRNjNUMUxpMHh4OVBqcWpaR3h1a2tmM2hKaVozMVQ2eXR1eXlITHN0Q2JjM2RMUDg5VzFyV3o3dll3VkZrV0dwbEVXMnNic2pHYnNtMHBKaE9sZWFhc1NKdXVsck9HWjMzdmFJbkg2emdBMHJuYUwvek9SckFkR2gxdHVWLzZlWFAyd2RrYzBHRTRkRDdiVjVLaUtOYmVodHY5aHFmc2ZqYjF1TWlhZGZxaVdhK2ZUS20rd1dKMUdnRDVuTlVpbzk4SWdPT0RJK2RMRUordnozV1RmblYydlQ4NldON0M0OTBQSk1ueXBwUGxlUFptMzZlQkpPaFd0OThBNWh3T0VnMGloUXAvMlJYdytlYStSc1p0T1dTVzV6bzVkemY2Y0dkOTIza3pPenpjcENxYm5qZDVOdXVCa3lrckdVaUNiblVhQU9NOG0yczRUQmlHc25IODB6R1RLemJSL29iNzA3Ni9xb2hacEdaNXkrMXBYL3hZWFZYS0pvWEdXZk0yUHk2YUExUWNub0tQT3QrdHk4dGlya05kaVVuK05RQ0NJTkFmdXkrZGx4bCt2UGlzOFp3ZFQzL0g4WUg3Wm5aOVY5ZTF5bXJTTE50aythd2RRci9teVdMNWRSNEFXWkhQRlFBamsramk5dXFILyt4bzU0VnM3SGI0eVcxMnAwL1haNjFmSnd4REpiSFIxdHFXUnNadE03dSttVlNseHNWL3paUE5VL3BaWXVsMUhnQnBrV2xUeng3OTcvOWJlS3l2ckdsMzNlMXAzMGs5MFp2VHhjLzJOWkhSS0xaTmE0VFlLREhHZVoxL0gxVFRTbGxlS0pzMU44dnlUT004MVlTQkpIaWlPZytBOFp3bmduLzBoajhjREhYY3dXemZremxQKzBiaFFJbWR0VVdJRXRuWUtqR0dtYklMVnRlMXlrbXpLWnVWcWNaRnJpekxtU2VMM3VrOEFQSnN2bCs2WVRoVVBJai9kdkx4MWU0TDU3MWt2dHpkNlBLQnAzMkRJRkFTR1kxc29pUXlzbkh6c0tlZi9lS1ZrMHI1Yk9wVU0yYXcyWlNsK2did0lRQ3FZcTdoTUZKekhxQVlOd0d3dmI2cGpaWDFSZDNlZ3hUbFJLOC8vM2pwNTc1OWNXS2E1WnY3OXNYMHYxbXMrM215ZjNXelRKWGxoY3FhVFZuZzMzUWVBRkl6UUdRMVdYbjB2MitOa2NaTnM3R1huWnoyZmFjd0NMVmlFMW5UTkRsTElpTnJhRi9jaG1KU2FEeDd5RE5QRm5nOEx3SWdMZks1QXVCK0kvaDQ3NVh6MDc3VDZWUi83aC9SdnJnRlZUM1JPTS8vTms4MkxUSm5yVFdBcDg2YkFKaEhFbGtkYkxnZmZpSTE2L2s4L09menQzbXllVDZyd21HZUxOQTJQd0pnN2tvZ28rZWJuSVJkQnZmelpMT3NlWnRQeTB4WlVXaEtWVDNnbkJjQmtHZnpEWGVYcENDa1ZOSW5WVDFSVmhUTk9qM3paQUV2ZVJFQWsybXRzaXdVUlc1UDdXSiswM3FxdkN5VWxrMDN5M1RXRm9GNXNvRC92QWdBU1JvWGhaNFJBRjc3ZnA1c1dtVEtzb3g1c3NBUzh5WUFzam1IdzJCeEpsV3RiRlppbVpYTlBObTBwUG9HZUdxOENZRHhuTE1COFB2cXVsWmVGdC9LSzhkbHBqekxsVE5QRnVnRmJ3SWdjOWcrdVkrS3lVUlprV3FjWjhxTDdGdGJCQUQ5NVU4QWxMbW05WlJxbnBiRXc2SGk0WnJXUjJ0ZDN3cUFuemkvdWREYnM0OU9ydVZOUTVycHRLa21BUUM0NFUwQVNQTWZDQU1BUEp4ZkFmQ1QyYjRBZ01YeUt3RHkrVThFQXdBZXhyTUFZQThBQUZ6eEtnQ0txdENrNHJBUkFMamdWUUJJVWw2d0RBUUFMbmdYQUp3SUJnQTN2QXVBakVvZ0FIREN1d0JJYzc0QkFJQUwzZ1hBaERHQUFPQ0Vkd0V3RGFnQ0FnQVh2QXNBQUlBYkJBQUE5SlIzQVRDZGRuMEhBTkFQM2dXQXBzd0RBQUFYL0F1QWdLOEFBT0NDZHdIQTR4OEEzUEF1QUZnQUFnQTN2QXNBdmdFQWdCdmVCWUE0QndZQVR2Z1hBQ1FBQURqaFhRQk0yUVVBQUNlOEN3Q2Uvd0RnaG44QkFBQnd3cnNBbUU3WkF3QUFGN3dMQUFXc0FRR0FDOTRGd0pSdWNBRGdoSGNCQUFCd3c3c0FDT2dHQ2dCT2VCY0FkQU1GQURlOEN3QWUvd0RnaG44QlVCTUJBT0NDZHdIQVNXQUFjTU83QUdBVEdBRGM4QzRBcG13Q0E0QVQvZ1VBQjhFQXdBbnZBaUNnRlFRQU9PRmRBUEFOQUFEYzhDNEFBQUJ1RUFBQTBGTUVBQUQwRkFFQUFEMUZBQUJBVHhFQUFOQlRYZ1pBWFRNWEdBRGE1bVVBQUFEYTUyVUFjQm9ZQU5yblpRQUFBTnJuWlFEVVlnOEFBTnJtWlFBQUFObzM3UG9HZmlTb0EyblE5VjEwNS96bVFtL1BQblo5RzBBbmR0WTM5V3Izc092YjZBVytBUUJBVDNrWkFPd0FBRUQ3dkF3QUJVUUFBTFROeXdEZ0ZBQUF0TS9MQU5DVUNBQ0F0bmtaQURWVElRR2dkVjRHQUFDZ2ZWNEdRTUFtTUFDMHpzc0FBQUMwejhzQXFLa0RBb0RXZVJrQVloTVlBRnJuWlFBRVUvWUFBS0J0WGdZQUFLQjlYZ1lBNThBQW9IMStCZ0Nid0FEUU9pOERJR0FYR0FCYTUyVUFhRW9BQUVEYnZBd0FudjhBMEQ0L0E2RHJHd0NBSHZBeUFJS0FUV0FBYUp1WEFjQjNBQUJvbjVjQk1DVUFBS0IxZmdZQXozOEFhSjJYQVJCd0ZCZ0FXdWRsQUFBQTJ1ZGxBRXdEMW9BQW9HMStCZ0Nid0FEUU9pOERnRDBBQUdpZmx3RUFBR2lmbHdGQUdTZ0F0TS9QQUdBUEFBQmE1MlVBQkZRQkFVRHJ2QXdBTVJFTUFGcm5hUUFBQU5ybVpRQ3dDUXdBN2ZNMEFPcXVid0VBbmp3dkE0QWRBQUJvbjVjQklDYUNBVURydkF3QXRnQUFvSDErQmdDN3dBRFFPaThESU9BN0FBQzB6c3NBNFBrUEFPM3pNZ0NtMUFFQlFPdjhEQUI2QVFGQTY3d01BTjcvQWFCOVhnWUF2U0FBb0gxZUJnQ1Bmd0JvMzdEckcvaVJhYzluQXUrc2IydG5mYnZyMndEd3hIbjVEWUJ6QUFEUVBpOERnRjFnQUdpZmx3SEFUR0FBYUorZkFkRHpQUUFBY01ITEFPRHhEd0R0OHpJQU9BY0FBTzN6TWdCNC9BTkErL3dNQUhvQkFVRHJ2QXlBZ0YwQUFHaWRsd0hBR2hBQXRNL0xBT0FjQUFDMHo4OEFvQW9JQUZyblpRQUVBWHNBQU5BMkx3TUFBTkErTHdPQVBRQUFhSitmQWNBZUFBQzB6c3NBQUFDMHo4c0FDT2dHQ2dDdDh6SUE2cTV2QUFCNndNc0FFTDJBQUtCMWZnWkFUUUFBUU51OERBRE9nUUZBKzd3TWdKcHVvQURRT2k4RGdJbGdBTkErUHdPQUx3QUEwRG92QXlDZ0ZRUUF0TTdMQUFBQXRNL0xBSmh5RWhnQVd1ZG5BTEFFQkFDdDh6SUFPQWdNQU8zek1nQ1lDZzhBN2ZNeUFLWWNCUWFBMXZrWkFMUURCWURXZVJrQUFac0FBTkE2THdNQUFOQStMd09BbWNBQTBENC9BNEJOWUFCb25aY0JFREFVRWdCYTUyVUFxT1liQUFDMHpjc0FtRklGQkFDdDh6TUF1cjRCQU9nQkx3TkFkQU1GZ05aNUdRQkJ3Q1l3QUxUTnl3Q1lzZ2tNQUszek13RFlCUUNBMW5rWkFBeUZCNEQyZVJrQUFRa0FBSzN6TWdEb0JRUUE3Zk15QVBnQ0FBRHQ4eklBMkFRR2dQWjVHUUFCWmFBQTBEb3ZBNkRtSUJnQXRNN0xBS0FLQ0FEYTUyVUFVQVFFQU8zek1nQVlDZzhBN2ZNeUFHcTZnUUpBNjd3TWdHREtKakFBdE0zTEFHQW9QQUMwejhzQTRQRVBBTzN6TWdCcTlvQUJvSFZlQmdCVlFBRFFQaThEZ0c2Z0FOQStMd01nb0F3VUFGcm5aUURVTEFFQlFPdThEQUI2QVFGQSs3d01BUFlBQUtCOVhnWUFWVUFBMEQ0dkE2RGkrUStncDJxSEt5QitCa0JkZFgwTEFOQ0pTZTJ1RjVxWEFWQVdSZGUzQUFDZEtFcDN6ejh2QXlBdGM5VVYzd0lBOUUrYVo4NnU1V1VBU05MWGZOejFMUUNBVStXa1ZGb1FBUHB5ZDlQMUxRQ0FVOWRqdDg4OWJ3UGc0dWFMS3BhQkFQVEkyZldWMCt0NUd3QlRUWFY2ZmQ3MWJRQ0FFOWQzdDA2WGZ5U1BBMENTVHIrY0t5L3lybThEQUZwVlRTdTlPLy9nL0xwZUI4QjBPdFhyc3hOTm1SQUQ0QW43Y0hHcVlsSTZ2NjdYQVNCSmQxbXFkeGZ1a3hFQVhMaTR1ZFRaOVdVbjEvWStBQ1RwL09aS0p4Y2Z1NzROQUZpb3k5c3ZlblBXM1F0dUlHbHAxbGUyVnAvcDFjNmh3c0ZTNUJZQS9GQmQxenI5Y3FHUFY2ZWQzc2RTQllBazJhSFJxOTNuV2gydGRuMHJBUERic2pMVHU3TVB1azI3UCt5NmRBRndiMzIwcHYzTkhhM1psYTV2QlFCK0tjMHpuZDJjNitMbVdsTlBIcnRMR3dEMzRtR2tqWlYxcmRvVjJjZ29pZ1lLRkNvTVdTWUM0RjVkMTZxbjBxUXFWVXp0NE5ZRUFBQUEra2xFUVZRS2ZVM0h1aDUvVlZxa1hkL2FQeXg5QUFBQUhvZlhaQURvS1FJQUFIcUtBQUNBbmlJQUFLQ25DQUFBNkNrQ0FBQjZpZ0FBZ0o0aUFBQ2dwd2dBQU9ncEFnQUFlb29BQUlDZUlnQUFvS2NJQUFEb0tRSUFBSHFLQUFDQW5pSUFBS0NuQ0FBQTZDa0NBQUI2aWdBQWdKNGlBQUNncHdnQUFPZ3BBZ0FBZW9vQUFJQ2VJZ0FBb0tjSUFBRG9LUUlBQUhxS0FBQ0FuaUlBQUtDbkNBQUE2Q2tDQUFCNmlnQUFnSjRpQUFDZ3B3Z0FBT2dwQWdBQWVvb0FBSUNlSWdBQW9LY0lBQURvS1FJQUFIcUtBQUNBbmlJQUFLQ25DQUFBNkNrQ0FBQjZpZ0FBZ0o0aUFBQ2dwd2dBQU9ncEFnQUFlb29BQUlDZSt2L3hvOG42S2xCbnFBQUFBQUJKUlU1RXJrSmdnZz09XCJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMCwxKVwiXG4gICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNTRcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzkyLjUyLDQ5NC44MiAtMS41NSw0Ljg0IC0yLjg1LC0wLjkxIGMgLTEuODUsLTAuNTkgLTIuOTcsLTEuMDQgLTMuMzgsLTEuMzQgLTAuNDEsLTAuMzEgLTAuNjksLTAuNjkgLTAuODMsLTEuMTUgLTAuMTMsLTAuNDcgLTAuMTEsLTAuOTkgMC4wNywtMS41NiAwLjIxLC0wLjY0IDAuNTQsLTEuMSAxLjAxLC0xLjM5IDAuNDcsLTAuMjggMS4wMywtMC4zOCAxLjY5LC0wLjI4IDAuMzMsMC4wNSAxLjI3LDAuMzMgMi44MywwLjgzIHogbSA0Ljg4LC0xLjk5IC04LjExLC0yLjU5IGMgLTIuMDMsLTAuNjYgLTMuNTcsLTAuOTYgLTQuNiwtMC45MSAtMS4wMywwLjA1IC0xLjk3LDAuNDIgLTIuOCwxLjEyIC0wLjg0LDAuNyAtMS40MywxLjYxIC0xLjgsMi43NCAtMC40NSwxLjQzIC0wLjQxLDIuNzQgMC4xMywzLjk0IDAuNTUsMS4yIDEuNjIsMi4xOSAzLjIxLDIuOTcgLTAuOTksMC4yMiAtMS44NCwwLjUzIC0yLjU3LDAuOTQgLTAuNzMsMC40MSAtMS43OSwxLjIxIC0zLjE4LDIuNCBsIC0zLjUyLDIuOTcgNC42MSwxLjQ3IDQuMSwtMy4yNiBjIDEuNDcsLTEuMTYgMi40NCwtMS44OCAyLjkzLC0yLjE1IDAuNDksLTAuMjcgMC45NiwtMC40MSAxLjQxLC0wLjQyIDAuNDUsLTAuMDIgMS4xMiwwLjEyIDIuMDEsMC40IGwgMC43OCwwLjI1IC0yLjU1LDcuOTYgMy44NSwxLjIzIHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM1NlwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3NjkuMDYsNDg0LjU3IC0xNC41NCwtMi45NiAtMC42OCwzLjMyIDEwLjU4LDIuMTUgLTAuODgsNC4zNSAtOS44NSwtMi4wMSAtMC42NywzLjMxIDkuODQsMiAtMS4wOCw1LjM0IC0xMC45NiwtMi4yMyAtMC42NywzLjMxIDE0LjkxLDMuMDMgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzU4XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDc0MS41NSw0NzkuNzEgLTEzLjY1LC0xLjM1IC0wLjM0LDMuMzcgOS42NCwwLjk1IC0wLjQ3LDQuNzEgLTguMzEsLTAuODIgLTAuMzQsMy4zNyA4LjMyLDAuODIgLTAuODQsOC40NyA0LjAyLDAuMzkgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzYwXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcxNS4yMSw0NzcuOTMgaCAtNC4wNCBsIC0wLjAxLDE2LjQ4IGggLTEwLjA1IHYgMy4zNyBoIDE0LjA5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2MlwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2ODguODMsNDc4LjQgLTE0Ljc3LDEuNSAwLjM0LDMuMzcgMTAuNzUsLTEuMDkgMC40NSw0LjQxIC0xMCwxLjAyIDAuMzQsMy4zNSAxMCwtMS4wMSAwLjU1LDUuNDIgLTExLjEzLDEuMTMgMC4zNCwzLjM1IDE1LjE1LC0xLjU0IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2NFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2NTIuNSw0ODMuMzkgYyAtMi4zOSwwLjUxIC00LjE4LDEuNjMgLTUuMzgsMy4zNiAtMC43MSwxLjAzIC0xLjEyLDIuMzcgLTEuMjMsNC4wMyBsIDQuMTEsMC4xIGMgMC4wMSwtMS4wNiAwLjMyLC0xLjk2IDAuOTMsLTIuNzEgMC42MSwtMC43NCAxLjQ0LC0xLjIyIDIuNDksLTEuNDUgMS40NSwtMC4zMSAyLjc0LC0wLjA0IDMuODcsMC44MSAxLjEyLDAuODUgMS45MywyLjQ0IDIuNDMsNC43NyAwLjUzLDIuNDggMC40Niw0LjM0IC0wLjIxLDUuNTggLTAuNjcsMS4yNCAtMS43MSwyLjAxIC0zLjEzLDIuMzEgLTEuMDYsMC4yMiAtMi4wMywwLjA4IC0yLjkzLC0wLjQyIC0wLjksLTAuNTEgLTEuNjYsLTEuNDQgLTIuMywtMi44MSBsIC0zLjU3LDIuMDMgYyAxLjA0LDIuMDEgMi4zNSwzLjM5IDMuOTQsNC4xNCAxLjU5LDAuNzUgMy40MywwLjkgNS41MywwLjQ1IDIuNiwtMC41NiA0LjU1LC0xLjkgNS44NSwtNC4wMyAxLjI5LC0yLjEzIDEuNjEsLTQuNzQgMC45NiwtNy44MiAtMC43LC0zLjI2IC0yLjA4LC01LjYxIC00LjE0LC03LjA1IC0yLjA3LC0xLjQ1IC00LjQ3LC0xLjg4IC03LjIyLC0xLjI5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2NlwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2MzMuNzQsNDg4LjM4IC0xNS4xMiw0LjkzIDEuMDUsMy4yMiA1LjYzLC0xLjgzIDUuMTYsMTUuOCAzLjg0LC0xLjI1IC01LjE2LC0xNS44MSA1LjY1LC0xLjg0IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDc0MFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA1NzkuMDYsNzA4LjYgYyAwLDY3LjMgNTguMDgsMTIxLjg2IDEyOS43MiwxMjEuODYgNzEuNjQsMCAxMjkuNzIsLTU0LjU2IDEyOS43MiwtMTIxLjg2IDAsLTY3LjMgLTU4LjA4LC0xMjEuODYgLTEyOS43MiwtMTIxLjg2IC03MS42NCwwIC0xMjkuNzIsNTQuNTYgLTEyOS43MiwxMjEuODYgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNzQyXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMi4wNCxcbiAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA6IFwiYnV0dFwiLFxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ6IDEwLFxuICAgICAgICAgICAgc3Ryb2tlRGFzaGFycmF5OiBcIm5vbmVcIixcbiAgICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA1NzkuMDYsNzA4LjYgYyAwLDY3LjMgNTguMDgsMTIxLjg2IDEyOS43MiwxMjEuODYgNzEuNjQsMCAxMjkuNzIsLTU0LjU2IDEyOS43MiwtMTIxLjg2IDAsLTY3LjMgLTU4LjA4LC0xMjEuODYgLTEyOS43MiwtMTIxLjg2IC03MS42NCwwIC0xMjkuNzIsNTQuNTYgLTEyOS43MiwxMjEuODYgelwiXG4gICAgICAgIC8+XG4gICAgey8qICAgICA8ZyBpZD1cImc3NDRcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg3NTApXCIgaWQ9XCJnNzQ2XCI+XG4gICAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJtYXRyaXgoMjQ4LjY0LDAsMCwyMTQuNTYsNTkyLjU2LDYwOC4wNClcIiBpZD1cImc3NTJcIj5cbiAgICAgICAgICAgICAgPGltYWdlXG4gICAgICAgICAgICAgICAgaWQ9XCJpbWFnZTc1OFwiXG4gICAgICAgICAgICAgICAgbWFzaz1cInVybCgjbWFzazc1NClcIlxuICAgICAgICAgICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBcklBQUFKVUNBWUFBQURwWk1VZkFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUlBQkpSRUZVZUp6czNWbVFMTmQ5NS9mdk9TY3phK251MjNjSEx2YU5KQWdRSUVBU0FFbUF3bkNUcUNFbGNiUk5hS3daZXlMc043LzR5UzkrY0lRZnh2UGdDTWM0WWh5eXJCZzVwTkRZMGdSRkN1SUdpaUN4N3lBSUVMekVSdXpBQmU3ZTNiWGtjczdmRDVsWmxWVmQzWDBYQVBmV3ZmOFBJcEhkbGJWa1ZkZXQrdFcvVHY2UEFRU2xsRkpLS2FYbWpEM1RPNkNVVWtvcHBkU3AwQ0NybEZKS0thWG1rZ1pacFpSU1NpazFselRJS3FXVVVrcXB1YVJCVmltbGxGSkt6U1VOc2tvcHBaUlNhaTVwa0ZWS0thV1VVbk5KZzZ4U1NpbWxsSnBMR21TVlVrb3BwZFJjMGlDcmxGSktLYVhta2daWnBaUlNTaWsxbHpUSUtxV1VVa3FwdWFSQlZpbWxsRkpLelNVTnNrb3BwWlJTYWk1cGtGVktLYVdVVW5OSmc2eFNTaW1sbEpwTEdtU1ZVa29wcGRSYzBpQ3JsRkpLS2FYbWtnWlpwWlJTU2lrMWx6VElLcVdVVWtxcHVhUkJWaW1sbEZKS3pTVU5za29wcFpSU2FpNXBrRlZLS2FXVVVuTkpnNnhTU2ltbGxKcExHbVNWVWtvcHBkUmMwaUNybEZKS0thWG1rZ1pacFpSU1NpazFselRJS3FXVVVrcXB1YVJCVmltbGxGSkt6U1VOc2tvcHBaUlNhaTVwa0ZWS0thV1VVbk5KZzZ4U1NpbWxsSnBMR21TVlVrb3BwZFJjMGlDcmxGSktLYVhta2daWnBaUlNTaWsxbHpUSUtxV1VVa3FwdWFSQlZpbWxsRkpLelNVTnNrb3BwWlJTYWk1cGtGVktLYVdVVW5OSmc2eFNTaW1sbEpwTEdtU1ZVa29wcGRSYzBpQ3JsRkpLS2FYbWtnWlpwWlJTU2lrMWx6VElLcVdVVWtxcHVhUkJWaW1sbEZKS3pTVU5za29wcFpSU2FpNUZaM29IbERvZFp0UFBZbUhHYWJZNlhkZnZ4MXBPNi9KakJwQVBmVDNyK2FHVVVtcWVhSkJWYzh0Z2lVMkNGNkVPcldWQUVRQzY3Uzc5WVgvcVVsYlg3K002blBiMW1ORnZweGFIWmRQdEVaWmd3R0VJQnF6UVdBZTg1R0JBQXVPVU80TnpycnkvSVNBaUdPTnd6aEZDSUlUSlFHeU13Umd6T3YvR05FZ3JwZFRwMnVTbFc2bXpXeGxrWTBTa0NoVUZRUUpscFZCdzFqRU9DenFLNW9QZ1JSQURScGk1dHBnTnQ1Y3NZS2NDNW9tdUF5YklwdWREd2laQk4yQXNTTFV2TXVPVjBMazZrSUpNbk1GaWpCa0YzSW5IeE9kVDUzMC9iQlRWbFZMcS9LWkJWczAxVTYvTjVCUFptTm5CUkwxL3hHeDluczJ2WVB6alJrSDRoTmZNSGtKZ3plelRrZkc2eVZxTHRYWlVWUzJLWXJTdFdWMjExdUtjSTgvejBlL0dHRVJrZGhWMm84ZHFJdEJ2WnFNZ3EyRldLWFYrMHlDcjVscmNzaFErSUFHaUdJb0NySVZ1TjJGdE5jT3VMNWlwOTVISTZRWGFyZUxiaVg0WTJiZ2l2UDcwd0xnaUhFY2RKRmhFWkJSQ1JjSm9lRW9wWUl6QjJ2SDVKaXV1NjhPa2k4QTVTNVp0RW1xbFdqWjlGTFo2aERUTUtxWE9ieHBrMWZ3eWdJdkx0Qk5DV1lZRkVNRWxDVDRiY3FZUGhqcW4xK1owcjRjVENIS2JhUVM0VXpuaUN3dkVRUFBUVHZseWFMRVlJM2p4azdjekZScWRyUjhIRVBHamtHdHMrWFNjS001T0IvNU5nK3hHajBuelN1cXg0UnBrbFZMbkx3MnlhbzVGUUp1b3U0MmkzNGNvd2tVdC9IQlFsc1I4Z1paa1AyQWlHMzl0WG0vZjFCWWhWallMYVhVcTNlVGE0M2hVUFJXUnlRR3hBcEZOeW1xdENQVi81UmpyOG5aajU4aDlqakFPdE00NG9pakNXc01nN1kxT3Q2WThLRXdrNEVPT2lDOXZhM29YVDdvaXU3N0x3NWdHV2FYVStVMkRySnBqSGE2NzRjdDg4NXYvQ3U4Rjd6M3RkcGVWbFJVNjdRV0tvaUNLcGhwem1LazNmZEdEd0U2Vm1Pa0RvR2FjWjZzZ0cwN3Y4dFdoV0J0dXovTjhJc2cyRjB1ZzN6dU96ektHd3lHOS9pcTlYbzllYjVYQm9FZFJGTHo5emx2a2VVNmVweFFocXdKdWZYdUJkaHlUNVVOQ2RickY0cHdsaEtMc2lFQmdYZVYwdXFpNnFSTUpza29wZGY3UzlsdHFqam1Lb3N0SFB2WlpGcnBMcks3MldGeGNvdDhiMHVsMFNOTjg2cWp5T2toVTY0a1FleFo4VlQrSGF4R0RtSUFSTzNOTjJIaDdlWG5adEI2NWVmc3FxaUM4OFhtc0xhOTlPc1NLQ0FiQmhBR1dvbXFYRmFxMVlPejRlcjNQU2JNQmcwR2YxZFZWRGg4NXlNR0RCMWxkUGM3cnIvMmFJMGNPY2ZEZ1FYclphbmtKRCtWTGE4UTR3RGJDN0tqS3ZORyt6eHJLb0lGVkthVm0wU0NyNWxoRUNBbHh0SU0wTlNUSkR2TE00VnlMRUJJTUhnbFQzK3NhbWZxNnVoNnJlVHFIekovZmEwRXdZZ2dTc0dMd2xPdGdCSWZkY0R0R1JnZGZiV1NyUHF6TkVEd3hoR0IwK1UyMlMwRkVncVdvdWhpRWNpMGU4YUg2d0NNWVdyU1RMcTE0Tzl1M3dTVVhmYVI2TGdXTUJJd1ZpcUpnYlcyRmQ5ODl3R3V2djhMcnI3L0trU09IZVBHbFgrRkRqcGVjUU1Ga2VDMkFuQ3I1VHJEVzBtcTF5TEpoRmJ6RHFKSTdVYVRlb0tKYkRuMndaRm0yeWVPbmxGTHpUNE9zbW12QlFEQzJlbk8zR0dNSkdBS09nTUdzRzZBWW1EenFwNHBDb3o1ZXVqNlZkZG16MVV5dWdWQlBETERCZGd1WVRhUHNabU5nM1dRUHJjMGF3czdjSG9FNHlnTytHSC9BRVYrR1dHa09CNUR5OUhvN2dBbmtXZGtaSTRvVzJMVmpPN3QyWE1LMUg3c1o3M05DS0dpMVk5NTc3d0F2di93U0wvLzZSZDU4ODNVT0hIaWJROGNPRVVpQkZNaXJjYmZsYzlHSG5NSm5EQVlaRTZPL0JJd0Y1eHJITlliR2N4Z3d4aEJDbUdnYnBwUlM1eklOc21xT0JUQTVZZ2RsQ3lpSmdCaXhnaGlEMkRCK3h4K2R2L2xWYnhVQ2RKenNLWnVNbVRLMVp1cnhuOTRlcHMrOWpreVBhWjY0N2VsdE0yNS9zKzBDUWt5UXFQclZWMnRiblNXTSszUkpHQjI4VlZkMHJRUTY3UVZFeXRtOUN1K3JqZ1dDTlMyY2cvNWFuMjU3RHpkK1lqZWYvdFFkR0dQbzk5YzRkT2dReDQ2L3h5T1AvWlMzMzNtVjE5NTRqVFF2SzdhT05vbnI0RU5HcXhWVCtJd3NId0FCQ1FFL2NiZUZ1cUpiVDlCZ3pHYmhYeW1semkwYVpOVWNDMkF5c0NrRXkrZ3djR1BCNUdVSW1RNnlTQ1BNVW9aZnMvNnJYWFVxVGpiSXdwWmpQemNKc3VzdmY1SkJsbWp5cktNUE5QV0p0akVNeFRTMmg2cXFMT1NaeDVoeUxLeUlROFJUNUw2Y3VsWUtkdTNhVng0bzVzdXYrSzJGeFc2WDVNSmxkdS9heDdVZit3VEdlbFpYVjNqK2hmMDg4Y1JqdlBEaWZsWUhSekU0K3NPOHZHM2FnTWNnV0FzK0ZOUmplcHNCdTFtSmRjN2h2VDYzbFZMbk5nMnlhbzdWMWFnQ1REMGRiWG5RRHFZKzBLWVJUa1lCTmt3RkpLM0luaktaOVV2enhDMHFzbHNGMWMyMkM5VTQxYzF1ZitQOU0xQis2Qm05REk2cnIrdlp4bmFoRHJsRkxqaG5jUzdHdVhKV01FeW9KbGJ3SERtOHl2Z2dzbkoveTFuQkZsanNMdEh1UkJ3N2RoaEh6QzJmK2lwZitlSTNXVjA3eGkvM1A4UHpML3lDeHg5L21HSGFvejlZSWZkRHlxcHNnU0ZDeUhIV0VFUm16a1NtbEZMbkF3Mnk2aHhTanJnY0R4ZW9BZ2RRVnRIc09GZEo0ekk2dE9COWNySkI5blJOdDZVNjJZcHMvWE94eWZicHkwOTJ1bWgzRnNxdiszMU9ubWVqZzlQcTNCcThwZDFwMDJrdllCMFVSVUdXWlhqdjhZV3d1dEtuMWRyTzltMTdDQ0hqOE1FK1FTSStlczNOZk9LNlQvTkhmL0NudlBqU2ZoNTcvRUdlZWZabkhEajRKZ0ZIYkJ4SlcrZ05qbEJYcGVNNEpvcWlVWmpkc3VPRFVrcWRBelRJcWpsbUtBLzRpU0c0OG1lUzhvaDZpY3RoQTFLMTM2cU9RRWZDK3FFRjZyVFlVYUZ5ZmRlQTVuak5tZHUzYU9odnRncGpwM093VjFYUmxXcUdzc21KRTlaL3VCbFBsbEN1alpRSFpoR3FkbDdWR0ZYbkhOYVcxZGwyVzhqempHUEhqcE5sS1NFRWtpU2gwK21VSWRpbjRCMGVNS1pGN0ZvSUdTSXBlZXJ4WWNoVlYxelBkUisva1NBWmI3L3pCazgrK1NnUFBIZy9ieHg0Z1U1N2djSHdHRkQyekcyMm15dUhIYnhmSHhxVVV1cnNwTy9pYXI2SnBheVN1U3FVdXVvMFY0WFc2UXZZOFhGZW84dXFVMlVuY3RJcFZHU2Jmd3NUVG5odHBlNW5TelVVd0ZiZEJCcnI2YjYzamUybXVwNUEzY2UyUGdDdzdtSXhGYUNyWUd1cUdHdVFjdGlzQ0xZS3NDQ0VJQlJGanZlQkVEenRkZ2VBSkVsb3QxdFlXODc4VlJTZWxaVVY0cWlMTHd4NVZpQjRqQW00eUJGRlhheng1TGtsN2ZmcHIvVnhrYkI5OFNLK2RPYzMrTnl0WDJTWUh1ZS8vUDFmOHVaYnYrYkFlKytVZStiQlVJNmZKWURCVGs3aU1QM3ZvZXIyc2JueFk5SHM5eUdOaGdwS0tYV21hSkJWODIyaUM0RnRMTlUyQTVQZENtcU5JUWZxbE0ycStEV1A3d3BoczRPTlFobUdUTjI5d0FPQzFFRlR5cG15eG0yeHh1dXloVzA1Rm5YVUc5Z0lKc2prNzlLY2pHQzh0cFFoVnNUZ3EzUW5BbGJNVkovV3lRNEw5ZkdEVnNxV1lpS0Nwd3pJVWdkbEswU203SkVWUXRuS3kyQUp2aUI0UHpwZjVBQVo0bHpaVXF1ZUZsZkU0L05RUGFNZGlWMEExeTJydmtVNWljUml2STNGZUMvL3czLzN2M0Q0eURzODgrelBlZWloQi9qVkc4L2hLTXJ4czNpRWdtQnlNRms5SzI4WndLc1E2cXpCKzNwSURyU1NUam5zd1JlTngyeDgveTNsL2JZeXVWVXBwYzRVRGJKcXptMFFSSnRIbUp1cUVYMWQwV3VXcGJZOEtsNXRicXNvYzRJSGM1a3crcXAvMVBxSzlXc2o0OStOTUc2UHRkRjZxZ3BzUmFwc0txTXdPbkZBNEFhYWxlZjZaeXZncS8yM01yVy9abW85ZFQvcTg0dHRCSDBaNzJ1OVI2Yisxa0RLN1ZhYUh4NENxMGZYMkxOOE5iLzV4V3U0OVZOMzhzcnJML0xjTDUvbXNTY2Y0cjJWTjBoTVRDcmw4ejVPeXJDY1YwT0NkKzVzMFZzTk9CdVhsV1Jma0dZRHdHS0FKRXJJaXBUbUl6VDlXQ2lsMUptbVFWWXBwZWFVTlRGcENyYnd0SklsUG5yTkRWeDZ5ZVY4OHNhYmVQdTlOL2pMLy94bkxDUzd5WXNlV2RZamtKTWtGdThMamg1S3k2cXY5Y1J4REtadTMyVVJJQzN5NmlOZnFPWlFteDV1OFNIZldhV1Vta0dEckZKS3pTVkxLMW5BZTg5d21DSVNTRG94eTlzdVpIRnhtVXN1dVlKUDNYd3IzLy9CZDdqdndYdVFOS2JkaVZnYnJPRXBjRVlvWkloSUlNdFNSQ0NLd1RsRGx2b1p4OHcxeDVUWEEyUTNQMWhQS2FVK2FCcGtsVkpxTGxrTUNVbHNTWkl1VUJEd1pNT01ZUm9ZcG9KTll2N3RmLzNmOC92LzRrKzQ2N3ZmNFVmLzlIMEVpREVZVTJBamd6QWt6ejBZS0Fvb0NvOXpFRUkxMm1FMDFLTTZtSElVYUFPUW8wRldLWFVtYVpCVlNxazVKV0xJY3lHRWdxTElFT3VKSXN0Q2R6dkwyM2FRaFNHdnYzWVFLUGo2MS82STJ6LzdSUjU2NUVFZXVQOStEdmJlSUFTRFZMMlhyWUZRamQzMUhsb3RTRlBHeFZjQzR5RHJadStRVWtwOXlEVElLcVhVbkNxbm9DMTcxclphTGJ4NGdoUU0ram1ZZ2loeTdGeTZnTUlQeVljWmUzWmN4dTkrL1ZLdXUrWlRQUG56aDNqODJYczR0dklPZVJnU0dRTlJRWllOUjlYWnlYWmRvZW9jVVl4L1YwcXBNMHlEckZKS3pTbGpCTzhMUkh3NUVZT3pHQnpHbE4wWjhxd2M2K3BjbTloRkRQc0ZJUVF1dWZoS0xydnNNajc2OGF1NS8rRWY4N05uSHlYM09kWWJyQkdDcEdVYnRicHA3T2pudk9yWFBOMk5RU21semd3TnNrcXBFekpyWmk3YktObk4ycjZWazVsR1ZhcEdxQlBYYnpmZlByMS9NclY5c21Ycyt1MW1hbnR6UFgzN0crNXpkVVBOeTQ4bkdaTjE1eFdSY2RPd01QbFlUajYwQVU4QVYrNW5vTUQ0OG5SRE9iT1hxUWE3K3VETHlSdHdHR09yU2U0TUg3bnlacTY1K2pwdS9jVVgrTWZ2ZjR1M0R2MGFKR0xid2pMOTRjcW96MjBjTzRaRFh6MGdCYVp1NzZ1ZEM1UlNaNWdHV2FXVW1sdkY1Sy9yWnJLRDhZRlo0NDFHZ0JBVG13aWt6YWR2dklQTEwvc0lEejcwVC96NHA5K24xenNHSkd4YjZMTGFPOExRZTR5QkpJR3NxRUtzenV5bGxEb0xhSkJWU3FtNUZOWlA2REVWTEUyemhOdVlHOEtLSlFEdGVJSCtzRWVlWlZ5NDQzSisvK3YvRmRkOTdIcnUvdEZkUFBQeWsvUjdLWllPUVZLUVFKWldzNEtOYm1EOWJTcWwxSWRKZzZ4U1NzMjFqWkxrK3ZLc0ZUc2F3bURGY3VUZ0VYYnMySUhRWXVYWU1ib0xDVGQ5NHZNc0xXem5vc2N1NC80SDdtWWdLNVJWM1pRZ3hlaGFYUXhGL2tIY0g2V1VPbkVhWkpWU2FxN05IRTlBR1Q3cjBGcU92VFZpR3dOdExkc1hGekMrd0RqTFVudVJQRTA1TmxqamdsMVg4TWUvZndWWFhIb1Y5ei84SS9hLzhqUUJ3MExMa21ZckJLbUdCMnMxVmlsMWhtbVFWVXFwdVdSQk5qbmFUTVpCdGxRSDNuRzRYZDYyeU9IRGh4a09oeXh1VzJMYndqYjZ3NFEwN1RQMGdkcytjeWU3ZHUxaDkwTjdlT3pKK3hpazVkaFpaM044SmpxeVFDbDF4bW1RVlVxcE9SVk1HV1J0WS93clZKRlY3R2lNckJFYWcxdWxPbi9nd0R0djBPMTI2TzVZSWk4Q2E4ZDdZQTNPdENteWxBeTQ5cHFiV0Y1ZXBydXd3Qk5QM2N1eHRZT0VNQUF5dFAyV1V1cE0yNko1akZKS3pXWUV3a2JmYW4rSSszQ2k3SXp6V3BsY1lOdzIxY3k0bkpIeDByejhxYktOZFhPcGIydDZQNW5hdHY3MnEwdlByTlN1RDUzYmQrN0FXa3VhWjNqdmlhS0lLSXBvUlRIZDlnS1dpRVB2SG1WN2R5Ly84dmYvRy83NFgveGJkblF2QlpaWVRpN0V6cXFGbUJuTEJwdVZVdXAwYVVWV3FmUFlWa0Z3b21mcXVQbHB1UUpFL1BwNFpOWi9RalpUZlZRYlo1MnBEbWZpMTRldjVoZmtkZS9ZMFg1Sll6K25yMzlxLzZuMmY2UGJudDdYNmVzM01ua0UvOFQ5VzljOVlLTDUxZWpuNE12ZXJETGo4VEVDMXBqeGJVMXRGOEEwdWhhVXR5dUllSVQxbGRyeWNtVS8yZnBlOTdPeWo1WTFEcXdoNE1lOWEzM0FHR0VoV1NRTUMzd3czSExkbDlpM2ZCVjMzLzBESG5uaEp4aGlsaFlUVnRmNkFIUVcyZ3lHUXdoZzQ1aVExMGVEMmVxZWx6L1ZReElDUVljbUtLVk9pMVprbFZJZnV0T3RaTUxKVmZTMk91OVdWZGxtRmJZK2YzMzY2WnBWZVcxZWYzUDd4RDdOdkxibWpGdU54Y3hlQkl0Z0NkaUpTOVQvRnhFa2dIaUR6eHhXMmx5NCt5cnV1UFczK0ozYi80ZzJYZnByUXd5V0pHa3o2SmNodHJ1MFJBaStzYk1iZnlCUlNxblRvUlZacFpSU00xbHJzZGJpZ2FJb1NGTklrb1Nycjc2YVBSZDNHY1lIK1BFRC84aXdHT0o4Qk9JQlQ3OC9CQjhtcDdkdDFPNUZheWhLcWZlSnZwb29wWlNhS1lTQU1RYm5ITlphaXFJZ3l6SkVoRmF5d0plLzhOdjg4VGYvTlRzNmU4bTlZU0hlUnJ1MUFNV01VcldwaHhPTUZ4MVdvSlE2WFJwa2xWSkt6VlFVQlVWUklDSTQ1NGpqR0d0dEdXNU5UT0syY2VkbmY0dXYvK1lmMG1HWlBQZkV0SWxNVkkwbm5ycENNejVaUTZ4UzZ2MmdRVllwcGRSTWNSeGpqQ0dFUUFpaEhETmJMV0N4dnNOd0xlTDJXNy9Ndi9tVC81YnRyYjJrYVk0VlJ5dnVqaFByOU9EZUdXTm1sVkxxVkdpUVZVb3BOWk56RGxOMVRoQ1IwZENDb2lqQU96ckpNcjJqR1IyM3pHOTg5aXQ4NHplL3lmYldic0RnZ3NGUjk3Q3RybkFpMEFZOTRrc3BkZHIwWUMrbGxGSXpaVmtHZ0xNVzV4d2laV1hXWW5BdW9yZVNzbWZIcGZTT0hZWFZqQzk4L3Nzc2JldnluZS8rSFc4ZmV4VkRqQ1hITjROc3ZkYXhCVXFwOTRFR1dhWE9ZeE45VWo4QUlaUmZJWjlJbTZwWmZWak5SdHZyMHhwWFhGOXVZdnNXbDkvbzlrZDV5N3gvSmNPSjY1OE9kaHVvSDcrdHJuUDA4L1Q5bjlFVGQvTHhxWHZyVG02dlQyOVdZOHQ5S1ljVkJCR0M5M1NTQmZDV2JyTE1zRmdsN3czNDJKWFg4OVU3ZS96d0ozZHhZT1VOeWs2MVFxZVQwQitVL1dhSkk4aUx6ZSs4VWtxZEFCMWFvSlJTNnBTRUlsQmtCYjR3R085d3BzMzJwYjNjZU4ybitmcFhmNCtFUlhZdVhJQWpadERQYWJVV3dWcklDMXlTbk9uZFYwcWRBelRJS3FXVU9pWEdWRlhqSUJnVDRWTW9Vc3VPYlJkdzQzVzM4T1hQLzNPNnlVNHNMU3dKNlRBdjV6VTJCcDluWjNyM2xWTG5BQjFhb0pSUzZ1U1pBTllqaGNlWW1NUzE2QTh6K2lzNU5oR1FEdC80N1QrazN4OXkvUGdxZWVneG9FY1FJV25IcE1PaGpwTlZTcDAyRGJKS0thVk9nV0NzcDVBVWl4QkhYZHJKQWxtUjRnU01pVmhNRXI3MjFXOVNTT0Robjk5TFRBdFBJQjJrR0tNNVZpbDErblJvZ1ZKS3FWT1N0Qnd1Q29SUTRFTk84T0JJY0xaTFJJZkQ3NjF5NGU1THVmUDJyM0R0NWRjVENBZ1FXY2NIZkp5aFV1bzhvVUZXS2FYVUtRaUk5ZUFDMXBVOVp2TTh4M3NJQlJTNXhkTGgrSkVlbDE5eURiLzE1YTl4Nlo3TEFlZ2tMVzBocTVSNlgyaVFWV3FlaWQxa2lUWlk3SGpONlMxV29wbExmVnNtbE11NmZhQmNyRVNqNnhsZm42MjJ6MWhQN2I4SkRzUmdxbVhjY1g5cWtRMFd3SjVDWlRCTXBiQzZuWmFSOGM5V3hrdHoyNG0wSXB0bFZ2QnJYdGYwOVo3SS9acmVuL292dS9WZWxPdCt2MS8ybGJXV0tMTFl5T0dpaUNpS3NOYlM3UzRTdVRiWklPZnFLejdHNy96V045bWU3Q1liZW5ZczdNUmdUMkZTaE9aelVDbDF2dE14c2tyTks3RVlxZC9NNnpSZ0o3YlBaRUs1elFSTThPT3piOUZuMVZTMzBjd2RwbkVic3k1dnhXMTZGMElJWUF3aXR1eFpLcllNTjFnZ0lHS0FBRmhFREZLdHdXSWtZR3daeEt6TXZ2Mnd5ZmZYaGdLOFJ5aW1Ub2Y2Y1d6MmNTMzd0TnJSVitLR1VPMXpLQzlUOTUrdHp6RFYwOVdFK3ZUR2FjMCt0WFgvM09iMjVuNkZ5ZnRYaHVsR3o5MFoxeis2YlBONko3YVAvLzZ6YnIvZWc0bUxRL2szTU9VSENtY2ppZ0JGeU1GRkJEeTU5NGdOREFZcGkwdHRqcS8xaUlManhvOStocTk4N2dEZnUvY3VCcjBCRU5QcXhxVDlOVnhrOFVYNWVDOHNKUFI2amE0R28xMnFueHZOR1JWMHVsdWx6bWNhWkpXYVZ5WlFoenlnQ3E1MU1ESFY5dWt3R3hxWHBVbzQ5Zm44MURwc3NTNnZ6NDRDamt5czY5M1k5QzRRcW9Ua3E4cGd2Zi8xT2pSK2w4bTFBU3ZTbU9xMHZ0MkphUkEydm5HcEg3K1RZTXBKQVJDTEdIQ055emNmNldaVnRya25FOU8xd2dsWEk2MnN2eWRXeHBYaDZlMG5XdVEwSi9oUVRaajRnRlEvSDVxM0dDWXExbGxXa0VRSnZoZ1NyT05UTjN5T1k0Zld1UCs1ZTdBVTVIa0dsQ0UyYVRteXpOUHJaU1FKWkp0MjZOTEJDVW9wRGJKS3piRnFqT0lvVEoxQU5iYkpCQ1NNZzZ5SW4xaHZGV1N0VUJYRzZpQzljVVZ3by8wdncrUW1KcWVtbWpxdERKWGpPSE9TUWJZdTZzMDhTNzFmczY1THFndzFIZURVV1BrOFNaS0VmbitWN2tLQ2RVS1c5Ym5zc2l2NC9PZSt3UDVmUDhlYmcxVkNOdjVnWk1SaThBaVFKQzJ5TE4za052Um9NYVdVQmxtbDVwZ0F4Ymk2T3VFRXh3K2Via1cyRHJPalg1cnJFN245cmFZcDNTQklUdHoyZE9nODBZcXNyY2JWam9jeWpOZGIwYSt6dDJaSmtwalZ0ZU5JTUNTdERvUEJnTFhWbEF2Mlhzdy8vKzNmNVMrKzlSL3hlTFl0TGJLeWVwUTA5U1JKUkpZWERBYU5FRnQvNkRDaCtwTnVQbVJGS1hYKzBOSHlTczJ0S29UTk90QnJTM1o4MlZOZWw4SXBMcU43SWFlMmpHeDZ3TnNtQzQwUU8zMy8xaTFxSTViSkE5dWFTNUVXTExTV3dCdDhKclJjbTdUbm9YQjgrcE8zY3R0Tm44Y1FrL1lMMnZFaUJvdDRXMzZjbVA2TW84VnZwZFFNV3BGVmFtNVprTGp4Kytpb244MHZOaEYwNndOOERPQ20xckxwT2hqQjFWV3k1dTJmYUVWVzZuM1piSDgzcnNoYW9heW8xZ2V2NFNmWEpwVDcyemk0cmJtMmdEUVBscXZEYmZQeHFjZmdsdWZlWkovT1Q2UGhKWFY1ZlBTM0tCL0Rmci9IOHZJeS9jRUtnOVVCeTh2YlNKS013YUJISkJHLy9adS93OHV2dnNoN3g5NGhDZ2FMby9BZVp4MWUvTVkzZko0LzdrcXBNUTJ5U3MwcnNVQThEbDUxb0p3WW96cGovR3l6dEZVZjZZNkZlbXpzYUIyMlh0ZEh1amR2OXlUR3lKb1FObTBUMVR6cWYyWlhCV093WWVNeHZzMnVCN1BYWVlQVG16dXgyUmhnMmZxRHczbk0yb2lpS0pEZ2NMWUZPSnh0WTQwbkhRNjRlTTlsM1BuNUwvRzk3LzBEQStuUk1ndWswaU9FZ0xOUWJCcG1sVkpLdnpOVGFyNVYxUzlUZlYxZWZ1VnVxblVZZC8yc2k3VlY3OVR4MS9QbDVXMzE4OG1zVDZYLzZ2cDlQM1VHUnZ0VE90VTFqTVByUnNGLzFuSisyN3dmYnQxR2E0RmViMEFJZ1lXRkpmTE1zN3JhdzVpSWRyeklzWU5yM0g3TG5Wei9rVTlpaURIaU1FVGpGbWl6YnNOTS82MlVVdWN6cmNncU5jZjZ2UlYyNzk2Rnp3dUdlVW9vY25BUVdVTVVPNG8wUTB6QWlLM2FQOVhyS29pTnFweFF0elMxcGdxSnB0d3cyUUovTXNMNTROZDlHajZaaUdlTkwxdHdiVUFhWFEzcS9XdTJYaTM3dWxiM29kSCtxejdOV2x0ZGp6QzdQKzc0eW93eFdGdGVuL2VlRU1xajdvdWlLS3VLSWxnYllVeDlub0pPcDBXYURmRGVZNHdaWGRZWlM2dlZ3dnQ4L1MwMjdvQVAwOVhmNmZzLy92dk1xa2lQN3ZNRzI4ZlhzOEhsdythZlJqYXZpSmZQamZKRGxLbE9sL0p2Vm4yUXluMmduYlFBeU5PeWwxYnNFaEFvaGpsT0V2eGd5Si84NFoveTlMOTdtb0tVQmJmSW1qOVdWZGFWVW1wekdtU1ZtbE9HZ2lzdTM4VzdCdzdnbkNHSndNUkNuQmdHZ3o2K0NMallqbzd2ZGxVRjFJME9jcXFiNkcvODFidll6YithRnlsTHUwWU1NbU1kaWpEemRGT050VFZWdjlpNkorcjAyaG1aZWZxb2Q2MlltUUc3TmdwZm9Sd0dNVEZCZ2JHSWxNSFVHSU14aGhETStENVpRNi9mSjRvUzRpVEM0QWdoSUJKd3p0RnFkVWlIQTR3MXROdHQ0ampHZTg5Z01NRG5CV21hRXBseitFdXYwZmptNlRBY0dtM1pObWdOWndKR0REYkU3TnkxblRmZmZwV3YzLzROdnZ2Z2QwaDlEa1FUSDJMVzA2cXNVcXFrUVZhcGVXVnlubi9oQ2Y3OC8vcmZ5ZkloUlRGRUNHemIxbVYxN1JoSkVrMVY1NW9ITTFWQmRzTXhvaWM2eGhSZzR5QkxZT01nYTRUSWwwSGFWTWVSbmN3YW9Kd1lyQm91VVlYUjV1KzdkdTBpU1JJV0Z4Zlp2bjA3TzNic1lNZU9IU3d0TGRGdUxkR0tkeUxCVW5paEtBcDhJVGdYMFdxMWFDVnRnbmlzelRHMjZoa3JVQlE1MmFDczByYWo4bUE3YXkzT3VXcWZBbkVjRTBVUlBsdGZrVDNueUt5UEVHSHlrOFhNZ3dJdDFqdmFkcEZJRXI3OHhkL2k2Vjg4eGV2SFh5RW1KcVB4MkptcGl5cWxWRVdEckZMenloUmNmUEVpTDd6d0NFV2VnaDhBZ21rNUpPdVgvN3FMdW9kUlkxeW9HTXFOZFlpdER6MC9sZlZXKzdqSlFBT0JpU2xTWjExOGk0RUt6ZWtReGxQb2prOExNeXAycHZvUFluWnN1NFFMOTE3TzFWZGZ6UlZYWE1uZXZSZXliV2s3TGw3QStKU2w1UzY5WG8rMWZncGlhYmM3ZEJjN2RNVGlpNWlsOWpKNTdzbnpITzg5SWxJT01RaENsbVZWOWZ0ODFYanNUVDJEMi9pRFVEa2JXY0xha1FIYnU3dG9kV1B1dlAyTC9QWDNYaU55Q2FrZk1QbUJTU21sMXRNZ3E5U2NzZ2pXWmhURHcrQXNyZ1UrN3hOSENWbmVLNE5pczI5OGRTQllHV1pkZFVLeGVkbXpucnhxb3d5N1dWQ0Z6VHNZbkVBV1Bwa0MzSWsyL3lvZkJvTWg1dWpLcXh4ZWVaM25YbnFRK3JGcFIxMHUybmNKdTNkZHdQWFhmNUxMTDd1U0s2KzhobmFydytwcWo4TkhEeEhITVF2ZDdSeGZPWUtFc3ZMdG5DT0tJb3d4RkZsZUJsbDNici9FR3JHTllSNWxCd2ZaNEM4Z1ZhczNvUnhEYTRDV2FUTmNIZERkM3FWMzdCZzMzbmd6Vno1MVB5OGQyUC9oM1FtbDFGdzd0MTlsbFRxbkJRalZGTFcrS1B0dWhvS3NtaEhKT0pDY3ljQW9RdGxuZGFwdDFIUnJxUk5wb1dXMlBwOHhHOWR6WWV2UXVWVk9ab3RkNkhSaVJJUVFRclhVNXhkQ3lJQU1ZeHh4MU1JWWkvZENWdlI1NVkwanZQcEd6R05QMzRzaFp0ZnlIbTY4NFdadXUrMXpYSFhWTlVRTzFucUhXWWoyWXFvV1UxbVdrZWM1Y1J6anJLWGRiaFB5cldZdU81ZE4vMkZrWEptdCtzM0dMa0VjWklPTkdWcXJBQUFnQUVsRVFWUVViNFRPNGlKM2ZPNE8zdnoyeTZ4Si80enN0Vkpxdm1pUVZXcHVXZHB4RjBpSURCUmhTQmx1SVk0TkllVDQ2VEtsUVBuUHZoNHJXd1l0STFYQVBKbTFiRDN3d0dJM0hlTXFXM3h0dkZXT0RXSXdVMzBUbXVPQ0IvM20wSVh4K2F5MVdPY1JJNGg0TXQ4ZlB6Nmo0QjhERVpGcnM3TDJMdmM4OEkvYzg4RDNhVWRkYnZuTWJkeHcvVzE4NHByYjJiYTB3TUxDQW1tYTB1djF5b084ck1PNTgyRmdRZjJZVHY4ZG15RzJPVGEyT2NZYXdKQzRtS0ZQU1ZvSmFkcmpZeCs5bG11dnZZNG45ajlTbjBVcHBUYWtRVmFwZVNXR28wZFdBSXV4RnVNajR0aVE1UU9NTWZpc1BsOTlnZlZIMEJ0ak1OWDN2QWJXcmV2UXlxeDFmUjJqQThlbVQ2L21XNmpDNzdyMWlkekZMWWNlakNQek9DQUpCZ2NtRUxrRXdSTThCQ2xHNXl1N1hzbm8rTGVhZFkxcWNjaXhCbksvUnZsU2FiRTRmQWc4OU1pUGVlQ1IrOWkzNHk1dXV2RTJicjMxczF4ODhhVzRsc041TUVhdzFWaloyWDFycThkbzR2NU5oY0hSdU5LeVU0TmcxblZ2T0IzbUpQNE9wdm83QWxNWENoTmRKRFpXemJnMklSQWtwL0NCVnJ2RlFIS1FtTVh1Ym02Ni9oYWUzdjgwQlFFSnFiYnVWVXB0U0lPc1VuTXNXZWdBa1BzaEdFK1dENm93bTAyOTc5dEcvZ2lqWVFWeUVtRm1ZMmZ5WUp3dzQrZFFCZVpBWHFTczc3TFFIRkxCeEFNUVBGTVBTRTV6ZXRvQWhGR0N0THg5OUFuZXZ2Y3A3cjczTDducHBzL3doZHUvd3JVZitRVGRaRHY1TUVPQ0pjL0FtWVNGaFNVaUd6RWNaR1JaaGpFR0Y3blJkWS9HbUlyVXR6VFJFRURLanh5VW8xRHQ2RlBCS0VRMmhvV3NtNnhBSnJmWEp6V0hselQ3eEk0cTV0VnBSbWIzRVE2TXIyczBCcmJ4NmFQNUVVZWttcWlqdWxOQ3dMdVV0ZFhqTEhkMjBrNlc2Qjh2Mk5iZHhsVVgzc0MxRjk3SUN3ZCtqcldPWWVqVGFqdUdxY2ZHanBETEJzRmFLWFcrMFNDcjFKd0tadW85M0FTUXVtL3I5TGtiWHdHYlJtdWtjeVlFVElmVUUxeWYwUDJ2dXp2TVlNcnh5SVgwZWVMcG4vTGNMNS9tbXF1dTUvWmJ2c2dObi9nTTI3cDdXVnJxNG5QRDJ1b3FSZVpwSlYwNnJWWTFkcmVncm4wTEVHUlc1YkllN3hBUVl5Y3EydTRVLzM2am9McEZsWE82MGpyOXZCcGx5WG9zOU16OTJYaEtEZWVFcUdYeEV2QURUOGdNcGtqWXVYUUJuNzd4Tmw0NThDdnlrQkpoeURJLzNpbFRWZUtEZGpWUTZueW5RVllwcFU2VGRZN2dBNE5zbFdkLzlTVHZ2bm1BaHg5K21ELytneitsRTI5anFidURUbmVKYUxGTkNKQ2xHVVZSRUVYamwrQ05oMUhVRTFnMHptQk9Kb2lmdmJ6M0pFa3luaEhOR1h4UjBHbTF1T0g2RzNuNGlVdDQ5Y2l2U09JMi9YeFFEdTArM1RFVlNxbHp5ams4N1l4U1NuMncycDBPMXNZRVg0NUpLQ2VZeURtNDloYS9lT2x4L3VkLy96L3kyTS91SmRnZWcvUUl4MWJld1VVRm5hNWhNRnhsWGJXMzJVa0MyMWpXbTEzOW5DOXBtbzZtRVhiTzBlbDB5UE9jWHE5SHQ3UElUWi84REk0WUoyWGdkOVlnaFIrbmZxUFZXS1hPZHhwa2xWTHFGQTBIR2NGWFgzV2JnSkFDS1RDa0hYbUVGZjdMZC8rU2YvZnYveWVlZi9sbnRMcHc0T0RySERqNE92c3UyUVdtcU1KWW1CbGlqZGh5Zk9xNlpaUGhEbk1rWUJCakNWVWJ1VmFTWUlLUURqSkNJVngvN1hYczNYWWhhVkZnaWVpMHV0WGREaGluYjE5S0tRMnlTaWwxaXV4b2tLa3hoaVJ4SkltalBFQnNRTDg0U3V3S0xBUGVQdm84LytILy9sLzV6My8zRjhTdGdrc3UyODI3NzcwSnB1b0RiQW8yRHFiVFZkbjVEN0MxSkVrQUtJcHl5bC92UGM1WWtpUWhjUWs3dCsvaHFzcy9paUhHNERDbW5CSVlZVlRKVlVxZDMvU1ZRQ21sVHRHT25idHdVWXlFZ2l3ZGtPWERjWVdWbk13ZnA5M3hkTnVXUUk5N0h2MCsvK2VmLzIvYzk5RGRkSmNzWWpMRTVvanhpQW5sUXQwRndKYTlmcVhSLzFhMkduQXdaNHpCaHpBS3BYazZCS0FUdFNDQWxZUlBYdjhwV25TeHhJVGNqeDRQWDJRYlhxMVM2dnloQjNzcHBkUXBPbnJreU9objV3ekdDa1YxY0wyeDVUQ0EzbUFWV0tVYmIyZVFEOWovMnRPa1B4cFNGQVdmdnZrTG1GQjNKVEFnVVhuQlVYaXQxblVEM29uSkJSak5rRFdmRE40SFJDQ09Ja0lROGpURE9vTVJTekh3bU1UeTBhdXZaMGQzTDhQK0VKLzVzc2REMmNSaDdnOTJVMHFkdm5sOUJWUktxYk9LOTBKUnowaHJ5dU9SUEdXYnRBRDA4eFdFRkNIbDViZjI4MmQvL1IvNHlVKy9oMmVBdUpSZ01td3M5QWFyR0N1MDIyMUVwT3JyS3BnZ285OEo1VkwvL2tFdFRmVnA0K2wrdy90eS9jWVl2UGVFNElsaUJ6N2dNMDlrRTJ5SVNVeWJyMzdwYXhoaUFnR0xKWTRNT2tHQ1VnbzB5Q3FsMVB0am8yQlZGVnNEZ1lBbmtFTVZhSDk0ejEzODlkLzhPYTAyZExxVzR5dUh1UFN5ZllSUThPNjc3ekE1SHZhY0dWQXdrNkhadDlaaXhZS1BLRkxZczNNZmkyd3JaMnhEeDhjcXBjYjAxVUFwcFU1WlBhSTF6RHgxWWpFZ0ZPV1V1UlFFVW83MDN1S1JuLzJFdi9uYi84VGE4Q2k3ZGkveXpvSFhpZU9JYmN1TGpTdXM1c2lxdWhhY095L2NrL09FUVJoM1pnZ1JCRWN4aEl2M1hzWmwrNjdBa21Bd2lQYzZyRUFwQlp4THI0ZEtLZldoQ2t6MGdXMU9tVHJyNTVFeXpBb1pzZk1FZXZ6dzNtL3o0NTk4RHlGbE1GeWxQMWhoMjdiRjZRdXVNOCs5Wk1XTW91dlVER01CS3dZckJoTXNSbUlXTzl2NXlEVWZSeEFjTVhuT3FOS3RsRHEvYVpCVlNxbFRaQWpWSkFpVm1hWFlpUXRVUzBIWjFXQVZUdzlMd2JlLyszZDg3KzY3dU9TU2ZSUSs1ZURCOXhvZEVNYVZXQ3ZqdGwvemIvSXR5QkN3MUFIZFlrSkViRnZrbVhETlZSOGxKcVlkSjFnZzBuY3ZwUlFhWkpWUzZuM1VhSTRsbHJJeHpQbzJXc0JvM0t3MU9hMld4VFBrQnovOExvOCsrVEI3OXV6Q2g1eFJpSzB2MDJ6RjFmai91Y2hJT1U0MnRqRnBQK09DdlJlemI5ZkZaM3EzbEZKbm1YUDNWVkFwcFQ1VWRZaDFRRHkxT01iaGxsRmxOb29oN2xqNjZYRTZTY1JxZHBTLytxdS81S1dYZjhYeTh0S0d0M1N1MUdNM1ZzVjBHeUZpS1BMQVFtZVJqMy8wT3JJOHgxb0k1ODY4RUVxcDA2QkJWaW1sUG16VmtJTzhnRUUva0xRakJ0bHhoQUZIaDIveU4zLzdGeFNzSVRZRmt5R042V3ZONk1DdmFsYXh4dFZhYVI3NS84RTdtVEc2bTUxM3RHMnFjbTJNSVlTQU14R1JjVnh4eGRVSWhuYmNRY0o4anhGV1NyMC9OTWdxTmNmeVBJZW9uTmZFdUxJMVVaRUwycDNvd3pFNUJMWWV6K29wcDZsdExuNjh2VEYyTm81YUNKYkJNTVBGZ2NBS25pTWM2Yi9NWC8zZC80RnA5MGxsbFdHK1JxRHF2U29XSzY0Y00rdkwvckwxd2diTGRQL1dRTG1JRDZPbFBxK1JSaUNldWg0ajQyVzZwKzMwZGlNYjc4L28vSTE5TThFZ1lpYjIwemtoejFNV2w3b2NQWEtjS3k2Nm1vdVdyeVJMTFJFeCtoYW1sTkpYQWFXVWV0K0VxYVdZK3IzSmxrZmZWNzFSQTc1czBXVnkzajM2R3M4OS94Uy8rT1hqZExxT3FHWEo4NVNvK3RCaXJSMzFVaDIxcS9xUXE1TW44K2F4MmI1VjkyTGQ2V0xLQ1JmcXFxd0JuSXU0WVBjbEdGcEVkRTV5TDVSUzV5SjlGVkJLcVRQRU5PcTVVeE5wY2VqWWU5eDMzMDlaVzFzbGlpdytwQVFURUR6RmFBcXhjNSsxRnU4OWlDV0tFcTY4OGtvc0JxdHZYMG9wTk1ncXBkUVo0NXdqY3E0S2ErVnB4b0NwS3BTL2VQNFhQUDdVb3dnRmNUc2h6WG9ZQjhOOFFEZ0hqbmFxNjdCR3lxbDhvVnpYWTRLRGFRUlp3R0s0L0pMTEFGdE5WNnVVT3QvcDY0QlNTcDBoaGM4Sm9md0t2U1lDeGxvTVFrSEdmZmZmdzlGajc5THBPdkk4STQ0ZDN2dHpwNVhzaFBYaDNCaURlSEE0OExCcngyNlc3TGFxbG4xT1BnaEtxWk9nUVZZcHBjNmdJQUhuSExiT1pBSSs1QVFDZ1lJM0RyL0MvdWVmWTVEMnNMRWdMaEMzWW95Wjd4QlhqNXMxVXYrdkRyR0JldHBmRVQrNm44WllRb0JXM09YaUN5N0ZFbjM0TzYyVU91dG9rRlZLcVRNaWpHWUdFeEdpS0NLT0RlTjhHb2dRSU9lUngrN2x6YmRlSVc1Ymh0bUFwSk9RbjhQalpJT3BscXBhYmJBNDU4QmJUSUFyTHIwY1c0MlVWVXFkMy9SVlFDbWx6cEE0Y2tEQWUwK1dGUlM1akE3NnNpYmdTYkVFZnZYR0wzamo3WmVJV29hMXdTcHhrcEQ1ZktLLzdQd0xpQTBUMC9LR0VFWmpnWjJKcXVFRmpndDI3YU5GNnd6dXExTHFiS0ZCVnFrNU1lb0JXcjI1bndzSCs1enY4aUlIUmhOOWpUc1htRUFRajVBVFNJbncvUER1ZjJTdGQ1Uk9wOFZxZjVXazNacDRMb3o2dWpaTTk0K2RYbWFkZDlaMWZtQ0xMNURnQ2FFWW56YWVqeGVzR2JYZktvcUFFVXZJQTFkZGVoVTVCZm9XcHBUU1Z3R2xsRG9ibVFMd0NCazVBL3JaS2krOHRCK2N4OWoxUWZUY1VGVmpHNVhtc3Blc3c0akY0b2hkaXlUcXNOM3UwamN3cFpTK0RpaWwxSmxrTi9tdHJNaG1CSEo2K1RFZWYrSVJBZ1VZZytmY0NiSldKdSs1MUMyNHFra1JIUFdrQ0JHUmFkR0t1dXpiZXlINkZxYVUwbGNCcFpRNlEyYS9BRGRPTldDTUJ6SUNLYy91ZjVyK1lBMGM1MkJGdHU1V01PNWdZSzBkemU2RkY2eFlSQXdPeTk0OUY1M0puVlZLblNVMHlDcWwxTm5LQUVhd1JqQkFQNnp5NWp1dkUwSTk5ZTE4czVUVldCb1RJRFFYWXd3aWdyVVJ3VU1JSUVVZ0ZNS2UzYnZQNkw0cnBjNE9HbVNWVXVxc01WbU5oYkkrYVZ6QVJXV2w4cm45enpISUJtRE5hRGFzYzhQc0NuTVpaS3ZLcklCVWdYYlg4aTZkRGtFcHBVRldLYVhPV3RVcnRBOWhWSVY5NXBsbjZQZjdXSHV1djN5SFVSY0ZaeXhHTEE2THcyREZzcnk4SFozWlN5bWxVNk1vZFk0d2JGVFRtckg5WEJ0ZU9hZldEdzRJRTZmV2Z6TVJLTVFUNFhodjVVMkcrUXBpOTJKTzhDWGMxRU5QWWZKdlB5TUgycE40YmxoT2Q0QkRjMFl2MDdodEMySUpVclVCTXdHY1IySmZ0ZWtxYUMyMkVQeldUL3daSmk0eW1sRnRxdzhHOHorVVE2bHprUVpacGM0Z3M4VWI4S3hlc2ZYN3JnVTJtNlYwK20wNU1OMnI5SVIyVVgyQVpPS3ZWTGVlR20wc2Z4VVFzUmpqOEpJQmdjZCs5bE11L1oyTElHMkRLU2NHcUEvK3FyK0NiNTVtWkh5MXpUKzdoTVlUc0g1aU5FNmJlSXFJakZNMVZQMWVaWHllcWUxTnBubDZZM3VvSmord2dBUUgySW04bUNReHFSbVNoUjZ0SmN1aDFYZG9MVVI0TWw1Ni9YazgrYmdKYi8yWU5kZXo3Z2ZqQUQ3dVdXdkIyTVlKOWQrbDNwbDZQdDJwZjQvNmdWQ3BNKzVjLzI1S3FmUFNyS3BhL1k5ZDgrdlp3azR0TXdnWU05NGVLQkE4N3gxK2c4eXZiZmxKeU1ya2M4SEk1REp0cXc5V3AzcmUyUnJWWnludm94RURZckZTVm1UZmZmZGRkdS9aamlmbjNTTnZzZU9pWlpKdGpnY2V2NWUvKy9iL2QxbzFVcWtEOExwL0VIYURuNVZTWnlPdHlDcWwxRm1xV1hFM3hwU1RYV0Y1NDgzWFNkTjB6aWRwdGFPUWJjUlcxVndMU0JsUVRXRFhuaDMwaG12MGg2c3NMbmRJOHdGUC9PeGhIbnowUG5waERUQ1RWZEVOaGdlVVp4bkgzbENmT0JwalVHMHpGa1NIRUNnMVQvVGpwbEpLbmFWRXFnQkx2UmFjTXh3NmVvaCtmNDM1SDdkWlY1dWJpVDJBOFlqeGRKWmF2SHY0SFpMRmlPNXltL3NlL0RIZitmNjNPRjRjb1dXVDhySVNqWmZSOVRuV1Y3d3RaZTNHSXRWNkZHWU5qSWQyMUFPS20rTVU1djF4VnVyY3BVRldLYVhPVWlMMU9OZUFNZFhhbHV2ang0K2Q0YjA3ZlViTWFEZ0JZaEViRUNPSUNRUmI4TTdCTjFuYTBjWEVCWTg4Zmo4L3Z2ZHVlcXhpZ1g3b01RNnR6Y1V3RHNlTnhkaXBkYlVUemN4S0FPb2V2ZlVFRFJwaWxUcWJhWkJWU3FrenJoR1d0aGg3V2hRNUVIanY0SUVQZEk4K2VPTUFXLzVhQnNkUWhkaGdjNUt1STFtMFBQTEVBM3pyKzMvTEtrZUpqREJrRFJrRnpsbGpqQnVQWnowZ3VENlFTOHprdU5oWmc4WkhCM1ZwaUZYcWJLZEJWaW1sem1MMTBJSVFBdGFBbDV4V0hQSE9PMjl4TGdTdDhadFEzYWFoRExIQjVuaVg4c2dURC9ERG4zeVhBYXRFUnNnWTRNbnBkSk5xTk8zMFVwZFlQUmhmWFdmWStDaTM2Wk5HRmRyNmNvMUZLWFhXMFlPOWxGTHFqS2lEa1cyczY2UDRLYi85YmxRTFEvQlZCd05vdFdLT0hEbjBJZTNuQjZzK3NFdW9LckZtSEdLZmVlNHB2dnVqNzNEY0g2WVR4d3hEbjl3UEVXQ3R2MHI1RmxhSDEvcmF3dnFLNjhTQlhZMnhzWXhEN0tobFdiUEpiT044U3Ftemt3WlpwYzRTelQ2ZzZueXlRYVZQd0ZpTDl4NWpITTQ2Q2w4QWhqVHJjZkRRdStXc1Y1VFBtZko4QnVjY0JLRW9DaUxUcUhkV2ZWNmJ6eTlwaExTWjI5bHF1MnkrZmRRN2R2WWRORmJvOS90MEY5dEVzZVhZMmlwSjE1RXo0TVdYOS9QL2Z2K3Y4YVFJT2F0NXYydy9OdEVJdDhBMFBnQUlUQVJQNThDUEh0NEFPSEFHaW5KZjY5RzBjV1FJeHBMbmZoeG9tdy9DckJaZHpXNEhTcWt6Um9jV0tLWFVXYW9lVmlBaTVTeFdWZlV4QkUrV3BRaCtyai80ckt5dGNNRkZ1MGo5Z05mZStqVUx5MjJpTGp6MjFFUGM5Y08vSDRWWVQxSDEwSzFNQk12bWVOako2dzhlbklYRnhUYXhjL1VVYVZqamFFVWRPbkVIZ0x3UWZPN0x2Z1l1d2ptemRTRldLN1ZLblJXMElxdVVVbWZNaVZiMFF0V0tTeEFKK0pBekdQUW1abjVyaGw3VCtQM3NGZWdzeFJ6ckhXRlk5TmkxYndja0JZOC85VEEvZWZCSEhNMFBqa0lzK1BJaTB6TjRWVzFrVFQwVVkrb1dZbHVHMmNIcUVMQWt4SFRiMjhoelQxcWtlQUtHbUU3U0JpRE5CbmdmQ0RwbGwxSnpReXV5U2lsMWxwcittcjRNcDRFUUNnYnBnQkJDNC9UNUVrd2diam5lT2ZRVzdXMFJ5N3NYZU9peCsvaUhIM3lMby9sQkxBRlBUaUFubk1SWCtQVnNaazdLRUl0QVFreEVoQ0ZpTUV3cFBEaGl0cmQyazlBbHpRb0dXVWJBa05nV3NZbUJFeWk2enQvRHJ0UTVSeXV5U2lsMWxsb2ZaTWUvZTNLODk0Z3JUelBHaklMdFhCUVVUV0Jsc01LT0M3WlJtSXdmLy9SZTdycjcyL1Jab2VVY1BkOGZEeWVZR0JlN3ZqQTdxc3JXVjAwOS9ZSERZeEFpTGxqZXg4N2x2ZlJXVW80Y1d5Rmx3Rm82UkRBNFdrUkFRVTRlQ2dDc2lRaFNiTER2ek1kanJOUjVRSU9zVWtxZHBhYkh2MDcrR2dqQkk3YXN5RTRPTFRDaktXM1BWZ0pFTFVQU3RUencwQVBjOWFOdk02QkhaQXc5djdiK3dLNzZRaVBOTHhUTHdRQ1QweUZZV3RFQ2FaRURNUisvNWdadXYvV0xXQ0tlMy84U0wvNzZSWDc1K2pONE1rRHc1S05MQzJIYzRhRCtXYXV2U3AyVk5NZ3FwZFJaWTNaamYyUHFXYjVvbENObFhJR2RSMFpJaTVRbkgzMlNIOTk3TnlsOUZwSTJnMktWSUo0b2R1U0ZuNmgrMW5mZEV0V1B6T2lVVXJPbG1TTXRQUHUyWDhwdG43cURhejk2QXp1VzlpSWg0dVpQN09iNjYyN2luNlZmNUdmUFBzWmpUenhLUHhTQVphSFZKZmREMHFLL3ljNXJ0d0tsemhZYVpKV2FVL1ZidUttK1NiWXlmbnNOQm9Kc1BBaGV2eG1kSDJXMVZTWkNyREhnWlBaZnQreHdjSUxYM1pqdzZrVE9PM1ZMakNZTkVGdE9OUXZWMmxiN1VoNmtGYXJwZGNYVWt4YUF0eWt2L2ZvNWZuRHZQM0kwTzBTRTRYaDJGS0hBR292M3hmaG1adDQrbEpNZTBLaWVPaXdXUzRURDRZajV4TldmNXBQWGZvWk9za1R2VUlxelFpdFpJSW9TSVBEVjI3L0c1ejkxQnkrOHNKL0hubnFFdDQ2OVJnQmFMRkF3eE9NSkJFUTI2azlySi9hVHFiT1V4c0ZYLzkwcDlmN1NJS3ZVR1JSQ3dFNVZteWFHQTI1U2JSTXI0OWszcDdlWmNnbWJ2R3ZPdXB3Nit4aGpzTlpNZENnWXRXY1ZLZi9JellWRzBYYnFDV0FhMjBKOStkRkEwN0xid2NUNGhlYkZ3K2hHeTVYMUNPVjB1VVljVklzSkRxUjhhMmwxRmpoNCtEMTI3bHJDdFMzdnZQY0duYVdFT0RIODdMbEgrWC8rNFQvaVNRSEk2OVppZ0pXQWlLMzJkWDMxY3pUc29CcExrQ1FSSVFVS2FORm1nZTFrRlB6Qm5mK1N5eTY4Z3AzdVFpZ2luUE9BaGN6aWg0SGxaQ2Y1eWdBbk1iZDg1UE44OHNxYmVmWDFYL1BFTTQveXEzZC9pU0hDa2hMSWlTSUQxalBNOC9LaHFHOGZXMzBhTUNBT3k3aDhidkNOQnpHc3V6ZjY3MCtwMDZkQlZxa3p5SjdtTzlsV2wyOTBLWnE4SE9VYnFsWm16MzRpUWhpRlNFWi96STJPNURmR1lEQmJEam13akpwYWJXbldoNTZ5NVZVQUNSaGM5YTJBTFFPb0dNVEE4ZU9yWEh6SlBvNnNIdUxnNisrdzUrSWQyRGpuL29kK3dqMFAvWkNjRkRFcFZOWGw4ZlBVemhoa01YVi82OEt2aFd4WVlEenNTSGFUWndHUDhJMWJmNCtyTHZvSXk5MGQyQ3dteXdxQ055UkpqTEVPR3d4Ukp0aWloWmdZNXlJV1c5dElMdXV5WTJrM042M2N3bU5QUDh6aDR3YzRuTCtMTDNJRVg0Mi9CU0x3TmlsL0M1UXpMMGlvOHI3RklJM0pHc1pESHhyenR5bWwzZ2NhWkpWUzZxeXhQdUtJeU9SQlhvMVpBYXkxWjdEMWxpMHJzYmdxaU5ZTFNEVU9vTlYyRExNK3c2ekg4cTRGa3JiaGtTY2U1VWYzZkovajRYQjVOVE9HU0d6V2JxczU0MWFuRXpOWXl6RWVPcTdMTUJ2U1laRTdicmlkV3o5OUMyMjdoSldFSXZQa2VZNnhTZlY0bGVPTGZRREVJUmlLUWpBaXRKTWxMdDNYNXFLTEwrV2lpeTVtLzh2UDh2Tm5uK1RObGRjSk9BSUZFQ2h5QVlxcDhUdjFSNE15N25wa0lweXZIOHVya1ZhcDA2VkJWaW1semxMR1RGWlc2NE8rU2hacjNlZzg5Zm5xYmdYMXhBZ2ZLS25mUXV4VUlBMEVHM0N4Y1BEb095eHM3OUJhakhua2lmdjVoeDk4aTVWd21OaEFKbHNIT1NITS91WkF3QThFNDZGbDJvaUhEZ3ZjK1prdjhSdTNmaEVUSXJJc3h3cUlOemdiWTZNeStCZmVVeFFGaG5Jb2dDVWlGSUU4THdqREhHOERJU3JZc2JDWHozN3lEajUyOWNkNS91WDkvUHpaSjNscjVYVUNnaUZIR09KRFB2NUFZY3IrQ1NLK21zSFdWUHRkVjV6ck1ySkR3NnhTN3c4TnNrb3BkWlpxQnRseDViWDhQYWFGYzQ1Nk10VjZZb1J5YU1HSFFBeTJVWTBWRVlJQnNlVUJYV0k4eHdjcjdOeTlqYjQveGovOTlENys2YjRmY0x3NGhLR29RdXhrMkpaWm9hNE83ek5hY1lVTXRzZTdTUE9VaEE1ZnZlTnIzSGJqNTNEQllZS2h5RHl4amJFMndtQUlJaFJGUmtDd3Rqd2tER3cxRGxtSVRZSkhLRUpCNWxQOHdPTmFIZllzWGNLMjYzZHk2UVZYOHVLTEwvQ0xYejdMUWY4V2hvSkF3QVRBV1lJVHZIZ0tYKzJ2YlF3SkVZdGdNVVNNQi9Xa2FKQlY2dlJva0ZWS3FUbFFUM2dBRnVjY25hUlRWZ0psNi9Hd0g0eXFDbHRYWWtYQUJNUVVZRHplRmlRUm1IYk9vL2MveUYzMy9EMFpxOFRPTXZRcFlhc1J1dE1kQXRadGp1aXlqU0lYRWpyOHMwOTltVnR2K0N6ZFpJbDB0Y0JoYVNjdHJJa1JNUlErNElOSFJIQnhSSkpFT084UTc4a0xqekVPNThyRk9JTU5EaGRaVmxhTzBrLzdkSmZhZlB5eUc3bnFnbzl3OGE0citPVUxUL0g4MjAvUzR3Z2VqL2VDOTBYNWNKakdBaENxamdmQlRiU2sxVEhxU3AwK0RiSktLWFhHek80Yld4c0hWSXN4YnZSejVCSzZuVVdzdGFOaG1jMktMTlZRZ3crOE5pdFJkV0NYVU81SXFFSnNqdGlNbkFFL2VlQmVmbnovRDhsWXBaM0VETU1hbmh6bkRNRWJMSGIyZ1Z4VHMzbU5meTRmTTRkandTNVJCT0gyVDN5ZU8yLzdFcEZFcEtzRlMrMGxodjBjRnlYbGJvbFpOMmxFMmFhc0hPOXFFWUxQS1h5T0dJTXhEakhRVyt1eHZMaWRYY3Q3R0F4NkhIMzdPR0lDMTExeFBUZDkvSHErOTlNMkI0Njh4cXZ2dmthUE5jQ1FoeHpqSm9ZeVYwZFhCaWJIMEdvbFZxbjNnd1pacFpRNnk1WERCUngxMndKckhVblN3dURXamFQOXNOVjlhSU10aHhONFd5QTJ3N3VVbDE5NW51Lzkweit3R283UWFTV3NwTWNRQ2xwZFJ6b29KNDlkRitZM0NyR2pBOHBNMWZrcVpoZ0t2bkhMNzNMcnAyL0JTb3dKaHNnNGh2MmNkcXRMTnNpcmdPK0lvZ2puSEY0Q1JWR1EreFFRWXV0b3hURVNETjZYQjRFWkExaExxN3VBRWZEOUZGc0lpNjBGb2lnaXk0WWNYejNPNzMzbEQ5ai95aS9vL3Z3Sm5uOWpQOGM0aW1ESmZBNTJSdDlaVTRDTXV4ak1IRXFobERvcEdtU1YrcERVWWFNWk9xTEdFZWV6dG05MmVVTW9xei9WZFJSRjFVRGVWTVVmTlNjMnFNNFpSaE1odE50dEJvT1VkcXZETU0wd3hPemRleUhBcUw5czgzbGdaWHpRVjYyZUtLSDUvSm9vZE03WVBnNlJzNTZmQWc3Ni9RRUxpeTFpWnpqYVc2SFZOV1RTNTRXWGZzbC8rdGFmRWNnSnBLeWthMlVGMUVJNjlDZjJ2WHExdlJVdkVJcEFDSUhJSkNSUkM1OExmL3lsZjhYbGU2K2tiWmNJUWNqem9wd1F3Y1JrZy9JZ3JIb0loQytFWUh4NW9KWXhXR014a2hNa0VISmZqb3dRVzFhemd5Mlh4djRaQVlwQWthZFlESXV0UlZZUDUxeTE3M291M0hNRlY3NzBEQS8rN0FIZVdIc1ZZVURjaXVtbEsrT1dhWWF5VWx1MTZZb2lTMTdvUDFTbFRwY0dXYVdVT2lPYTdaaGdJc3hPalFnb3c2cXBQcUJZOHR5emM4ZnVEM3dQdDdLeWRweUxMOW5Ib1NQdjhlNjdiM0h4cFJjZ1NjcDk5ei9JQTQvOWRCUmlQVVVaWW1jT0RpM3Y5N3JxNUdoR3I1Z3N5N0JFYkV1MjA4OEdoTnp3alR0K2gwdjNYY0hPN201aTI2RUlCZGdJNXlLc1dES2ZNV3R1dTlFTVlhYWVsU3hVczNOVk8xVUZUek1SWXBzZk5xcTFXR0k2U0dwb1I0NlBYMzB6MjVaMzh0eXZuK0hwRjU3ZzJPQXdpV2tqdHNCVEVEeFlCMUViUWdHRmhsaWwzaGNhWkpWUzZpeFZWd1RycXFzdkJHZGljaC9ZdCs5aU5wNkUrRVBZTnhQb0xyVTQxanZDMFBmWWRlRU9KRWw1OUtrSCtjbURQK0pvOWw0anhQckdkR09OWmNNckwxZnRaSkUwVFhFa3RPa3d5SElTT3Z6R3pYZHkrMmQrZ3lSZElKRXVlZXJMVmxzMndqbExDT0M5WU0zazQyT2JOMXNGMW1ES21jVEFJTmp4bEwwbWpNSnN1YnZqd0cycVNRK2lxTVZnbUNKV1dGeGM1dU5YM2NDTzVlMHN0THY4OHVWbmVlUDRLOVYrR0l3TFpONlQrWEk0UmhSRGtXL3hPQ2lsdG5UbVhnV1ZVa3BWR2kvRmpXcnN1aUFySG12TGxsSDEwSUl6UjRoYWhnTUgzNlM5NUZqZTNlYkJ4LzUvOXQ3czJaTHJ1dFA3OXBDWlo3cER6YWdxRklZcUZFQUF4RHdTQUFHQ2s0SlVLNnpvYUVYTFZydmJFUjBkWVQ4b1duYUVIL3hraC84QVAxaU9hQS95MUcyM3V5VlJJaWsySjVFaXdCa2dBSUlFQ1FFRVFJeUZtcXZ1ZEliTTNIc3ZQK3pNTTl5aENxZ0NWVlZRZmhXbjh0NlQ1K1I4N3ZubDJtdjkxcE44Nld0ZjRHeHhESVhEVThZMnRtcXo2R09NU01kQ3IycitURzZzeGhVT2phVkZHMUNrdEhqc3prL3lxVWMrUzBvSDVST2NDeFI1d0pYZ3lrRHc0S3ZDdDNNemNWd0lhbjEwdk43RFN0aXFVQW5jU3N4cUFRTGVlMFFVdmd6a2F6bjVzbU11M2M0OU45M0g3Mzc2SDNIajlsdm9zSUNSRk8wU1dpWWRpM2pkV0JZME5Id2dOQkhaaG9hR2hzc1lheTNlUVMzOHZCZFMwMkt1TjM5cE4wd0ZWZ2NyTE83dTRkV0liejN4YmI3OGpiOWd3RmtTb3huNHdXdzZRWTNVUHFxd1paUGNLdUlwSXN5bkN3eUxralpkUHZQQVo3bjM5dnV4THNPSWpha1d5bUJUaXpKMVZ6RlFXbU5WT3I0QnFFdXI2aHpZOFdxMEpuNE42bkhqZ2hsbjJ5cWlxMVZzUGF1bjBvNkRGb3A4alNUSnlHeUxFQnpGY0VTUVFNZk9NemUzeU9jZStRYzgrNHRuZVBiWFAyRkVIM0dlVHBveWRHc1V4UVVjODRhR2hnMDBRcmFob2FIaE1zWVlnM08xNEZNRVlPL2V2YVJwQzhLbFRTMHdHYVFkK040UHY4K1h2L2tYakZqQmFzWEFUd3E3NG92cnFZV3FDVUhFejh5ZW9GRW9FbElHeFpBMlBSNjk1ekh1di9OQjV0SUZ5a0dKc2hZSkNtVU54bWkwMW5oZjRyMmZzVGVFZ2lZQUFDQUFTVVJCVk5yYUdnMTFpMTNxMWd3YVFTcExzWmduSzBvVElEb3lvS2ZTSkFMS0NxSmp3WmdTSWNGaU1laWdrVkk0c09NUWN3OHNzbTF4RjkvLzZaT2NsbE9VUlk0MlhVS29teUUwdWJJTkRSZERJMlFiR2hvYUxtT21CWm5WRmhmZ3VtdXZKMG1TMkJqcWtoSEl5d0hQUFBVczMzN2lHNHhZbzV0bEROd0tnc09reEVqeXpCQjZGSXVLaENoaXorMm5tbVZ0WEM0OGZOY2pQUGJRSjBoOGkzSlFNcDh0TWh3VW9CT2NENmdxOGhvUVFyUllRS0ZpYnVvbXcvZGFWTFhXWlBLa1JDdXdnS0JWM0NxdElLaUFsdmc4S3N6c2lza0N6aFc0QWt6UVdOVWlNeGxLR1VLQXdlb2FPN2Z0NVo3YnUrZ3M0VWN2L0loMzF0N0MrUkpqMm5nL1BPZitOelEwbko5R3lEWTBYQ0kyKzRKdCtQdkVleEF3ZGVTUEFCZ1NreUxCczNmSE5WamFhTmtZZGRUditicVNtS0dxUU1za0VqbnUxRFg5U2hXUVNzaUZxdkdCTnptdnZQWkx2dkhrVnpoVG5DUlJzSnd2RVNoUktsYm1WNnNacHdwTThMRjRTcm1KMEswZUNvc2hRV01vYzgvbkgvb0hmT3p1UjdDaFJVS0dOZ25EUVVHYXRpZ0ZuUGVFSU5FUndOcUpQWjJBOSt0VEZ3TGpGYXJ4QWQ2VUtudDJmRHdua252eWswajBvVldwd2txQ0NwcmdBNjRvY2NHVHBCbkxKMWV4UGNzRGR6ekNqaDA3K2M2UG4rQzFVNjhSZkU1Z0ZITnYzOE01MjJ4TG16OGhEUTJOa0cxb3VDak9KMFpuUFRsbFpscVZpMnl5MEMyWHRzVzA0WXFsTG9JYW44clpDS1Uya09kRjFRWWdvRXF3dExuMTBEM29vbzA0UFRZTkhoZmJ6OWhHcmJ2K2hNbjFwenlvTW9wa01mRVJESWhHaC9qVm9CTk5mN2hHdTVlQ2dlVzFzeVJ0VGVsSC9Pclh2K0JQL3ZLUDhWVll1SkF3MlJIUklHR1RTOWt6anNRcUJ4MmdqQnR2eFNDRklxVWRXODhDdi9mWVArYkEzdXZvc1IydE1seGU0akZnTklNaWRnZlRsVWVyQkQ5dVFiditlSXo5Y1lWWW5GVWQ4K243QUtGK24weDJvMXBXOU9VTlUxSmNWM3VqZ0lBU2pSTkJTU1hRVXpCb0JFY3J0WlNGaDFYNHlLNlBzT09oN2Z6d3FSL3g3UEduV0dOSW9Vb0FiQktqdU1GN0VPaDJ1d3o2dzNWclpMeHY4ZTlIYVA0S05QeTlwM0V0YUdob2FMaHNtRlRTMTE2bVd1SWZhb1BDNDdsNjhYcmFaZzU4V3ZtYlRuZy9VZjZvL3dLcUVweHhYUm9kZEl6TW9saGQ3WFBWM3Qza2JzUmJSOTZnczlnaTZRaFAvZlI3ZlBtYlg4Q1RJeXBIS0dQdTZEaG1xZEhZNmhIL1RmSkJBOVJGWUpXSXhVTnd3bzd1TGpRSkR2amNQYi9ONFdzK3dsVUwrOGpvSUxrZ0ljR2FsS1RWd21ScHRTY2I4MHhyZmJwNWREcHMrVkFTSC9YdnVucW95bkpyOXFIUm90Qml4a2RUVkJXOXJoN2FLcXkxcE1waW5TWjFDWHU2ZTdqL3B2dDQvTWJIMFJpc1R0SEs0Z29oT0VFcmkxS0tmcjlmV1g1dDNEZU4vazAzSDI1b3VHSm9JcklORFEwTmw1cHBqOVVwcEJvQjEwcGhKTUdqdWUyMjIyaTFXdUJqdXNFRkk3VThObFB0WCt2Sy83Z2gzVjdHeXRvU2VUbGc1MVdMS09ONCtya2Y4K1QzdjgyWjhzVFVjbVlKNTBpYm1QWngxUlpDQVhqSVRJdmwvaXBkZWp4OCs4ZTU3NTc3V0dqdHdFaEtXWlRrZVlIU1VieUc0SEhPWGZJdnNKa2JoMDBHU2x4UllxMUZTZXk0VmdRaHl6S3V1Zm9BODNzN0hBOXY4OUtSRjFnYXJxQUpXR1BJZlZFVm5zblU0dUlSclgxd0F4c3VsWWFHdjdjMEVkbUdob2FHeTRZcEFTaFYweWxBcXVwNmhlYVdtMjRtdGRrSHNqWWx0bklTc0ZVRi8yUTdnbllrbWVMb3liZHB6NlVzN09qd3c5b250anlCbm9yQW5vczZxcmloQjRJQWhVSjVSZHQwOEU2d3BEeHk5eWY0OUNkL2kxYmFKYzhMaXFLSWJYZTF4ZGpvUnVDOXB5enJxdi9MRitjY0lZU3hpNEp6amp6UDhkNlQ2SXpISC93VXR4Kzhpem5tc0NRb2J5dS9ocGp2VzdlMlJVMEVMRFFpdHFGaG1rdDlROXZRME5EUXNCNlovYkVhM0thckY5aXplejlLbWRuODF3dENnUmgwRlkwVkVZSUMwWlh3Vko3bDRUTGJkODdqVlo5dlAvbER2dmkxUDJmQU1pMWo2UHNSdFduVlpGczNFWmFxU3N2ZDRDY0x5aG0ydDNld091eVRrUEw0M1ovaWtRY2V4WWJZWmxhOFFodURUUkxFS21MSm1VY3BJVTNUcVBRdlk5STBSV3VOVWdwakRFb3BSQ1FLWER3THZXMDhlc2ZqTEdZNytONXpUOUNuVDBZSDB4SldSeXNiRW1NbFZHNEtsN21BYjJqNHU2UVJzZzBORFEyWGlscUxUb3M4RmRhRjNDeWFsSVFPdDk5eUYrMnNnN2k2K3Y3Q015VmpqdWRVVHE1VTlsTEtnZko0N2JBbWtIUVZULzd3K3pQTkR2cCtaZk5DeFprVmJQSHorQ21McGNWd1dOS2x4NlAzZnBKSEhuaVUrZFlpbzlVU0h6d2QyMFZyaTRUb1FPQ3FZaTVsVEhRb0tDL3ZyZ0xHR0VJSWxHV0ppS0IxOUxzRmFLa09nNVVWZGk3czRhNGI3cWJzbC96azVhZFpZWWw4TkVLaEsyZUhhbUhWellCSUU1bHRhSmltRWJJTkRRME5sNHIxQW05REsxZEw5RHBONkxXMmNmODlENktDeGp1UEpua2ZWbHRiSUxZeS94ZW9Vd1dVeCtzUzBRVWp2OGJUVC8rVWIzMzM2d3c0UzdmZFl1Qlc4TDdFV28xM3NmQm9RMDdzZW8wOWswc2FoWnpCTU1jaUh1SGhqejdDcHgvNUxGYWxGSDFQTyt0U3JKV0kwZmh4MjlsQWtERGpCSElSR2NJZkNPZkxrUTNPeHphMllTSTlSVUlVdEdnNk1rZHhKcWZYbXVkamR6eEVxOVhpaVovOURhczRNbU1ZaFVHMUlqWnRYZHpRME5BSTJZYUdob2JMRW9WRlk2citWaDNhclhrT0g3NFp5UTNpUVJuemdZVGthZ3Vxb0dNNmdkY08wVVgwaWYzMTMvTE5KNzdLcWVGUkVxTlpIcDRsVUlJQlB4Wm42MG90dGhLeDQ0SXlWVlhlSjVRSW43L250N243enJ1aFRGRGFSdE9xZ1dkaFlSdHJLNE1ZZ2NXUTJnUzB3a3ZBT1lkNEh6c1dYTWJVVVZockxWcnJjVnFCOXg0dG1oWXRUTEFRUEdrcjVkRFZOM0MyZjVhZi8vcDVsdndwRkRaMlNKdG1pOExBaG9hL3J6UkN0cUhoQTZLT0ZFMUhqTTdYSmxQT0UxbzUzL3lHSzV5cUNNaGFTMWxVdytRSzBxUVZ2VWRKU0dqaDBQeEh2LzBQR2F6a0xQVG1LSWM1U1dKd1lUSzhQL0ZKblZ3ejB4SnovWHhCVUZvWURrZjA1bHBZYTFnYUxKRm1NQXBEWG5ybEYvd2ZYL2lmQ1pRRWNnYStuTFNkbGZGSTk3bXBOaVcxSFh3WnQ5V3FsSGJXb1JnNWZ1K3hmOHkxVngxa29iMFRwVFJ1NUtLZGxUS3NMSzNGdk5LcXBhMzNnZ1NQS01iRDg3SisvNW5kLzFrYjNZM0haeWFndXNsOHRYNyt1dVVUM2x1dWFnaGgzSnhoMHJCQkk2V2liZHFNaWlGRm1iTm5jVDhmdjY5TDJrcDQ4aGQvQTBDV2RXSytySUtzMjRwQ3VIQWJkNkNoNGU4cGpXdEJRME5EdzZVaUtNUkhvWk5tQ1VxRHJxS01SbVZrcW9QSGNOdkJlOWkrc0pkMjFxUE1QWWt4T09mT3MvRHpzOXBmWWMrKzdZeGNuemZlZlkzdVhJWnBDMDg5OXdPKzhzMHZqa1dzeDBVUk8rNHlNTE1Ud0NhRlh1T09XQ2xsV2FJd2JHdnZBRkdNUmlXLzljRG5PSFR0amV4ZXZJcEV0YUlOVnpCWW05RksyMVV4MThhdnFHa3YxeXNkRVVGRW9jV1NxcFEwcEhSMGgydDJYOCs5Tnp4QVFrWXg4clIxQnlXYXZEL0NGdzZkcUl0TmtXNW8rTkRRUkdRYkdob2FMZ2thcFMwaUFlOGNRZW5ZZkNzSWhTdFFHSlJLVVdnZWZ1QVQ3RmpZVFN2cDBWL3AwODQ2NUtNQ2JTOG1TelRRN3FVczljOHc4bjIyNzFsRTBweW5udjBCZi9QOWIzSjZkR3hLeFByWkllME5YbHJycU9hMTBoNTVubU5JNlpvZWE4TVJDUzBldnUwUkhycm40eXphM1NTaFJWbVVsTG1QKzV3WUpDaThFOWJIV3FiRjZ5YmRlUzhKNTRvR25TZUZscUNpTVpsU0NrdUtLMHRTMitLYW5kZXliV0dSc3lmTzhQckthN2hRMGt2bVdTdlhFQnhKa3BCZjVvVnVEUTEvVnpRUjJZYUdob1pMaExVV25TUUFsUk5CUkZXOW0zTHhYTHZyQnE2OTVpRFdaaUNXVUlKVkptYWJYa1JVVXBTUXREVEhUeDJoTldkWTJObmllei8rRGwvODZwOXpldlF1R28rblJDZzNLVUtEdW9GQ21PNCtOVE1XcnlHQXhwTFJvdlNPaEl5UDMvWUpQdnZZNStpbGk1UTVGTG5ETzRWV0tkYW1nS2IwanJJc3o3bjlsME5FOXFLK1FGVkFXOEdwc25MWlZWQXFaQWh0dWx6VnU0cFBQZmhacm1sZFIwS0tsSkNaMkJBaUh4Uk5OTGFob2FLSnlEWTBORFJjSXNxaXhMYlM4YUM4c1pBbUtYay9SaVBidXN1blB2bGJ0Tkk1eEZtQ2VMUzJoUGVZbTNsdUFtdkRWUlozOTNBTStldnZmSXN2ZmUwTDlEbERhZzE5dHpxYlRsQWpsc21UVzFod0NZQ21MRXZta2dWR1pSU3huN25uczl4LzU0TmswaUdqUmU0RHlsb1NhNnNXdDFYdXJkRWtXWXBVUHJFVDBScWxveFlJbTRyckt3Y0JRaUs0S3Q4MXdXQXdPS2ZCZ3dxYVEzc084K0R0S3d5ZkhuS1M0OWlRb0pVbHFDcFgrY28rQkEwTkh3aE5STGFob2FIaEVxTFFVQlVGR2dORlVTRFZBUFJIYjcyTmUrNStJRmF2QzdnU01wdFI1dTY4aFlUblgzSEF0aFJaQjU1Njl2dFZzNE1sckZZVEVSdE5CaWFJSlpwZVZkM0E2cWMzTER6MnAxSm9odVdJakl4UDMvY1pQdjdBWSt6bzdVTGxDamNRMHJTRDBRbEtLWUtQKzE0VUJTRUVUSEx1T0lzV2pkb2toL1pLSWFoQVNZRXpCUUZQVUdDVUlWVXBTVWhSUTAyK1ZITEg0YnQ0NEk0SFNVZ3B4VTMyK1ZKN2p6VTBYQ1pjdVg4Rkdob2FHcTU0ZEl5dWppdml3VmMxWE5mdFA4aWpEeitLMWJacUNtQndMcEFrR2Q1N2pMcTRQOTlCQlFvMzVJZFBmWTl2UC9FTmhxelNTVk9DS2hBYzFTajJ1b2hzTk01U0pGR0FuK2NySk5VdE5Ba2Z2L3RSUHZIdzQ3UnNCemQwekdlTGhEd2dRVkdHUU81S3l1RHhJcmdRS0wybmNHNURIcXlXK0ZDWFM0THN4YUNFa2hLeGd0aUFjMFU4djZTa0tzT0VsREFJZEV5WFd3L2Z4bDJIN3FaRGh6RHVXM3lwZDZDaDRmS2dTUzFvYUxnQzJDd2ZVRTlOejlOamFRTk5aNkFQR3IxdXVwNndiaHAvVm9uZ1F6NFdKbFpsT1BIczZPN2pzWTk5aGxzUDNjbXA0OHNzZG5iaGd5TUVBUU1pSG0wVC9OaCtTbFhYaUVadlp0bFdEY09MaWkxZWd3SlJKYSs4OVFKLy9kMi80dVRvQ0lreXJCWm44WlFvRGFFMlJaaXBVaElVZ1hqRnVTMmNDalFLZ3lIRkIrRjNIdnR0N3IvOVlhU01ibFVKS2FOaFRyYzd4NkFvQ1JLTG5aSWtRYW1VRUFMT2VVSVFERHBHcDFVOFhuWGpCYTNpa2R6cStxMnR3WUxpbkUwamxGeDQwWmlTdWwzc2hhUEVZMDBLWGxYZXVBRnRNcXhPTUNnVzVoWlpXVnBsWWRzMjdyM3RQbzR2SFdWd2VrRGhRT283bmkwYVQyeTFXODFudnVIRFJpTmtHeG91QWhHWmZGSFdBbUpHU0d6MHBKd05jRTErbS9hcHJJVnJQVmNMRzMwc1ZRQTFlYTJ1Sk1iWTlraERyWE0yL2ZKcW9qb1hUVHcvRTZQLytDZFZUODBWTkdDTXd2a2NJV0FNS0EybEI1R0pkeXpCVWd3VHR0dDlmUFM2KzNqMHpzOVJuQllXOUNJeUVsSnRRRU9lRHpHdGhETFVSVUtWSjZsb3RDZ0lrMGlwOXg2dHdTUWFyeDBCaDBwZ2JlMHM3NXg4aGYvMTMvOFBlQVpBd0ZmZXNCb0k2NjYveVhYaTBEZ2dKd0FtQWUvamZJVUNNV2dNaG9SdDJTNGVlK2h4YnJyMkZ1YmJpMUFZS0RWWjJzRVh3cG1sSmJidjNGR2xFemlLWVk3V0ZxMHNTa1UzQjlFYUVZOVJIbXNUbFBZNFYxQ1VNZjFBbTNTOHIzRVR3emd0UXdrb1F2VngxQkFrN28vSTJOYkxyN3NGM09Cb1ZSOElZY1BudXo0azQ1dkNxYy9uZW5Hck5ubS9SdEJLRXdxSENZYlV4dmExWGh3U1hIUTBjQTdFMFY4YWN0WENIajczOE9lUjc4RGJxMi9pSmRDbkQ3cnF5RmFwZDJzMGlDQis4dzkzZFN0UTdVT1RaTnR3NWRNSTJZYUdpK0NpVzRTK3orV3JhZHVqODBTYkdpNGxrOXNXaGNiN2NpeXd2QWNUNGt0TUMvd0lDSkNhRGoyOWc1MXpWL1A3di92UGtLSEJCSXNLVVJ5TENnUVZFRFhsRURDK2lScmY4c1IxaHZpN2lHQlRTeGx5Vm9aTHBHMU55MXBlZmVzbC92S3IveFpQdnFtWWVhL1hsZmVUN2JBMlJZdEZPVTB2bTJlK084Y2RINzJEeGU0T2pETDBSeU9La1NPMEE1M1dITnV6UlU2Zk9rNmF0TWl5TmtwYnZBZFhCbnp3U0ZBNFYyQVFnZ280RjkwVGxQSllhN0hXTXNyRGxOZXNaK1A0Ukt5SVVqSjd6M1l4a2RocDZtVzhYd2VGV0t3R0p1anFmTVlQdHFpNDBCZ3hEeGlqU0ZTQ05ncWNNSmZNYy9PQm04bGZ6RG5PY2NDQzhzUXdmZHh2NzhNR1FkN2Nzelo4bUdtRWJFTkRROE1GVWtjQkl4cHdNSlU3R29mR3k5ald0WTZGNmZFb1BYNVl2VlNpaU90MjUvbWpQL3l2S0FlQnVWNkxvdHlZSjFvVG9DcjhtWDJCcUZDdFBtQk1RQ1dCMGRvS1dVZlJXOGo0NFUrK3g1Zit3eGRaS2s4ZzZBdU95YTNmcmxDblBxRG81MnNvMGZ4UC8rcC81TnA5MTNIb3VwdTRlczhCRnVjV0tKV2hYenAwTUN6dVdpU1VnU0lmNGZKQUNHQjBRbW96ak5HVWhjRlUreEpDSVBoNGZKVkFFRjNkMkUyTGVNWVJUelZ6WHRadHU2N21YZWJxTG9Rd0RnYVhVbUpWd3VGRE56SWNEam41K21rTUdoODBhSTFTQ2dsaGZHT2k5S1R4MkdZR0I1ZjVyamMwdkdjYUlkdlEwTkJ3TVNoQXBtV0NVRWNGdzlUL0VOQktZNHlLSFoxQ0lIaG8yUjVCVzFwNmpuLzZCLzhaNGhSN2RsM0ZrVGRQc05qWlBsNXFqTkpCVURLMXpGaDhOVmx2ak82SkNqRjZhV0ZwY0lwV3o2QmJnYWVmL3o1Zi92b1hXQ3BQa2xvYmN5M1I0NGpkKzVraUlWYk9WOUZsTHg0azVyV1dqRmdwUElhVUY5NWE0cGR2L1J5RlpaRUZydDUvZ01PSGJ1U2FmZGV4ZS90K2l0d1RRaUN6R1oxV0Y2MHQrV2pJYUZDUTJneFVnbEVhaXlGVXVjRGVlNHBSZ2M2U3FjTmVDZG9xUWp1UnI1ZnY4TG1jdzBKTVNVd1JDSzVFSlRFcFdGbkZydm5kM0hEdFlkNDQraWF2akY3Rml3RWZVTW9BYW54ekZWMHRaT3FxYUNLekRSOU9HaUhiME5EUWNLSE1KRDV2TE9pcUk2OEswRXFqdGNXN1FCQkZqTmNtbERuc25OdkZmLzFIL3cyNmJKSFlOa3RuVitsMjVwZzBIWmhsUEtUTnRBV1ZqNmtIZUZBZVVRNXRGYTdzSTBuR3N5ODh3Ly8xWjMrQ28yREgvQnduVms1VTBUdTlvZXZVZTUweTVXZXJGQ2dkSTZlNjJqcGZxVnlGd21JNXpaQ3pSMDd3aXlQUGt0SmxWM3MvTjk5MEs3ZmRkaHZkeFQwTWlyUGsvWUxVcEhRWDV4aXVyb0ZMQ1VGRE1CaWRrdG9NTFg0cUlsMXRVelcwTHRYQlVUT1IyT3FXUWsxeWFHY081R1dHRmsxUWdkUk9IQ3FNTnVSaGhKV0UvVHV2NXI3YjcrZm8wOGRZeHNjaU9CR01NbmdSaElDZ3h4M1pwRkt4MHFqWmhnOGhqWkJ0YUdob3VCRFdKeUZ1UmlVY0ZLQ1V3dmxBREdOcU5BWkZ5bUsyamYvaW4vOUxWSm13Wi90ZVZwZHlpbjdCem0yTERJZmxXSFNNSTJ0VlpEWkc3S3FIbW9obzBkRlJ3SnNTaktlM3JjVVBubjZDdi9yYUYzQ3NrUmpGNmJWanNXUFh1c0swOXhtVG5kM1Y2bWx0RkVvRVZQUTg5VUdxcElzU0VIejFYa2ZCeWFIaXlQUHY4T1R6ZjhQQnZkZHgxKzEzY01PMUIxR3BzRFFZTU4rYnh3YUZMNkVZakJBdkdHUFF4S0l3SkZUSGdpb1NHNlpFV3BTeVFVMkUvdVZJVUFHemlSK3VsbWpOcGtRVG5LQ05SZ2REdWVwSWtwUWJycjJCUSs4ZTVOWGpyOUV2VndrSVZwa1lHVWZINHJQTmttVWJHajVrTkVLMm9hR2g0V0xZVU9vK05hdlNmWEcycldSakFtaTZkb0dGOWs3KzVSLytsL2djZXVraUsyZEhxSkN3TUQ5SHZ6OUU2K3BQZEpVcXNMNVZiSjFZTUs2Y1YwSlFEdEVsb25QT3JwN2h5TWszK2ZxM3Y4U0tPODJ1M1lzc3Jaekc1VG05K1RacnE4TktBTlpMZVQ5VDBMcE9rNmpXTCtDcjFBcGYxNlNwS0NGVmRSeU1VZ1FSSENVRkFoaGFKTHh3OUZsZVBQb3N1MW83dWYrdSs3bmpsanM1dGJMS1luY25XZGJCaU1JWEpZVVVHQlh3T21BQU5VN3JFTFRvR1ZjUEpSc1RMK3JqZExsR1k2ZnhoWTlPQnQ3anZTZXhDWGxSVU9RbHJZVU9kOTU4TjRXVXZIemtGUlR4eGtHamlabXlmcU5WeWxTaGFCT1ZiZml3MEFqWmhvYUdodDhFRW9XZEVsQTZ3WWpGb1ZDa2RKTjV0cy92NWcvL3hSL2hSbkR3d0NIV1ZnYXNyWTNvdGxvb1VlTWhjbFRZb0RtbXErUW40aXdRdEVPVVIzU0pOem52bm5xSC8rL1AvelZMbzVOMHVnbkhUaHdCRFZsUHNkWWZqcGUvTVMzaXZVMUYxcm5OQWRwRW4xZVI2R293bmwwcFNwWEVaMXdSU0JLUGM0NjFNQnluMjU0WUhlVnJQL29ydnZtanIvR1orMytMNi9ZZDR1bzkxMkZNaDJBdG9ncEVGSkpFeTdDSi9WMjFMNkltRWRwS3pJcXEzQXhreXRWQWJSNVovcnRHVjlIWW9BUWoxWG1zbmxkSzBjN2FEUElCZU9pMDJ1aEMwKy8zVVNVY1BuQWpiNzM3TnU4Y2Vac1JJeERRbUNyVm9OclhTNytMRFEyL1VSb2gyOUR3SHRuZzR3cFZtY3lGdjM5OWhHMnI5MHhUdHlaVlNqVlJsVXVOTWRHc3R3NENWdDFtSlV4RXJGVWFRd1ppVVJoYTlQall2Wi9nZHo3M3V5U3VoVW9NeTZjSEtBK2RySWM0UlluSG1Oa2VwQ0tDSUxHelUyVXBGVU8rc1N0VVVBWGFBc3B4WnZVa3g4Kzh6Wi84di84S1R3NTQrdjBSU3NkQVpENmNERHVyT25keUtscFgyeHZYd2M1NmRGN1dYYTZ5eVdoOThMRXdEWmcxREtpZUsrdjNHQ2pOYUd6MjRFTk11VFVHbkZjRUhOOTQrcXQwMmNaRDkzeWNHdy9leW54M081MzJJc044aERVSmFkQjRGeHNxWkdrR1FSRUtGMXZjR2dOQnFpWVFzZXhwTXBYcFRabzZ2dXMrYzVXUDdGYjJXdVBYeXV6bmU4UEwxODhYcGhvOWJFNVFBUlVVdytFd1poa3J4YkEvSWhCb3BXMWNXYko4OUF5Zi90Z25PWHZ5REMrZmVKRlVaVGdwMEdpVU5yamFTTG8rRCtmcUl0SFFjSVhTdEtodGFHaG91RkM4QjZXeFdZSzFDdkd4STVZRTBLTFFXQ3c5SkNRRUVyWWx1L2xQZi8rZjgzdS8rNTh3V2d1b2tLRkNoZzRKU0lvS01YOTJsakNPbXVvNndsdEY4VmJYbHNteWhLeWRNQ29IYUJQb0xyUTVldXd0L3VLTGYwYTBBNHNGVGtwSkxNaFN6R1JEMUttVTArbXlXc1hJcWxLZ3FnaXIwbEZrYWh1bjF0WnZzclB0YXFmSzVHY0U0SWF3TWpFNEtrQUtxcTBSQlNNZmMybDc3UVZhcHNNYXEzenIyYi9tVDcvOHAvejg1WjlSbWlHMkp4UnF5R3ErakcwcDBwWmxiYmpDYW44Sll5QnRwWGdmUlp5YWp0Qk9iY2FsOWpMUW9tYUsxYlNvRFM0R1llcjNPbktySkJiNEdkRXNadk80bFlMYkR0M0NIbk1WdVF4SnF2UGg2czVmNjVrcFRHeG91UEpwSXJJTkRRME5GMEk5TWgwQ2JsUW5pY1lpTHFNdFZxZVVYdkNTb0VoNThQWkgrTnhuZjRkT2U1R3pKOWM0c1A4Z3F5ZlgwR0ttT2o5cE5wTmEwNDB3cG1YdTR2d2NvN3hQSUtjemw3SzhkcG9YZi9wenZ2L1VkempWUDA3QUliaHFxSms0dWc1akZXdHRqT3pIcm5DQ0QwSUlNUkJaRjFHSnJQdGRUYnAvcWFvQlF4ek9ycmV1VGp1WWRKdWFvYzdQMUVBQ3FtMVJIa0xmVlVQakdvOW1lZGl2dW9SWk10cWN6SS94bFIvOUZUOTc2V2ZjY2NkZDNQSFJ1NW5yOUNpS0VUNFA2RVNSWlMzUUNuRWVyYStNRVF0VmRXU3I0N2pUWWxhbTJsV3NqL01xVWJSMWl6UExmVzY1L2haT256ekZxVmRQSUNnY0RvK2JmY2QwQ29aQUkyWWJQaXcwUXJhaG9hSGhJdERHb0pWRmZDeGlVbGhDTUpSWXRtVzc2SFVXZWZ6UnovRGd2UTlCc0dpVmtyVmJISG45S1BPOVJXYkxrVFpqdXFsb0ZERDFhNDJGVVRrazdTUW9DNy8reGEvNDZ0ZSt6SEk0UmR1MEdQb1NRYVBIclhPbkxCQUloTkxoSzZPbTZLY1ExV3E5aHRUR1ZyaFVZdFlxRFFaVWlEbThXbVhVRFFwa090S25wc2V3d3lTeU9DWFNnZ0x2QXJMcVlzcENzSlZzVFdqUnBwVjB1UG5RelNSSmhyV1dOOTU0aTdmT3ZzT2JaOS9nK0JQSE9Ybm1CUGQ4OUY2MjliWXgxNXRIT1kwZmxkSFpRTXc0ekt5bWlycWlyWlhFa1BsbGtEdXF0eWc0RzR2WnFTanRXT2hPWFNjeUVsS2Ywak1kRHU0L3lLdHZ2c3E3NVR0VnMyUk5PWDdoMUhRcW8rRUswUGtORGVlbEViSU5EUTBORjBpdjIyTXdHT0dDUjVGZ2FkRXlQWFJJRVRIY2QrZkgrZXduUDgvT2JWZXh0TFRHWEhzZTBLd3VEVmljM3c1dU10d3R5RlEzcW1ueFdvdlAyZ3cwaWxsUndzbFRSMW5ZTnNjb1grTm56ejNIOTM3MEJNdGhDU0V3OG9NWWlSMmp4OU9xdkloZU5zOGdYME1RREpEb2hFQ1k1SE02TlJZOUdvbEZWazVRbFYrQ2w3aDlHcW5UU2F0dG5mWlNpSjY1azU4bmREdHo5QWVEMkN5aHRaMlF4M1hjZHVnT0hudjRFOHpQTHpJYXhSNitodytlNHEwamIvRGN6NTdqMVBBNFQvLzhCN3p6MWhzOC9PQmozSDd6SFlnWFJzV0lsdTZRbVRhdWNHUzZGUjBLcmtDQ2l1a2dOZXVGckJhZ0RPem9iR1BseERJNzV4YTU0OWJiT1BuOE1VYWNPMysvU1psdCtERFJDTm1HaG9hR0MyUnRiUTJGcHR0YW9CaDVCRU1uWGVTUmozMlNlKzk2aUVQWDNzaGJieHlodit5NGF2c0JUcDA4UXo3c016Ky9pRUhoWm9UbXVzb3BKWk1pc3FtSVdsMmxId2pzMzcrUDVlRVpYdmpsVDNuaXlXOXhaTzB0REFwRHdvaVNpUXl0cmIvMFZENXJZSlNYeEY1Y21rREFCMFdvVWdXa0VzNkdHQ210UmJIRHhXS2lxczFCemVZRkYvNmNiclRsd05HbWg2RElSdzVEd2wzWDM4ZERkei9DdGJzUDB1LzM2WGJtYUhWYmJOKytrL21GT1U0dm5lVFVTOGR3bEJ4WmVvZS9mdUliSEQxNmhQdnV2Sis5dS9iaCtvRlJmMGlXWkVqbHc3cmhzS29wdDROTHlFeERoN29iM0pSNERTcDJhVk9pTnhHeWlnUkRMK2x3NHVTN1pMdmEzSER0SVg3K3l2T3M5VmZqOG1xUDRhbnJwODZQdmd4MnY2SGhBNkVSc2cwTkRRMFh5SzRkTzFrK3M4cG9OT0xxUFlkNDRONlBjK2RISDJEWDlnTW9uN0d5bkxObjE3WDBsd2E4Ky9aSkZoZTIwOHNXV0YxZFJtdE5rbVRNZEFLcjBqcG5nNGhUdnExUWhXODFXbnRPbnpuT0N5LzlqSjg4OXhTbjFrNmlBWU5CR2Vpb0RyNGFYTlpTZHdBelZVNm1CUUlGSTVTT1ZmRGFLdnByQTNKR0tEUnRrekh5T1FaTnk3WkJDNzRNR0NtanVGM25xakJMSmRDQ3pPVFdUazhCY2hteHU3c0hOeFQ2WWNpQjdpRWV2dk14RHU2L2laV1R5MWpiSXM5TFZwZlA0TTJJM1R0M2MvY2RkL0xHbTY5eGNuaUtUdHJseE9nb1QvN3NOQVRGZzNjK1NDK1pSMnVEVFF4U2hPcDRYbmwxelZKMUlRc3FWRWtoNjFNTE5LbEtLUHNGcmFTTkRwcTVib2NiRGg3aStBdEhXU1kvcDJDOURESXJHaG8rRUJvaDI5QndnYnlmRWN0ek5YNjZjRUlWc1ltZG5FU0ZqZjVJNDJRNHQvbnpId1FYMGhUcWc1ait4cWdIWmFlN1h1bVorZkYvemZMcGdqdHZlWmlISDNxVVF3ZHZKalU5aWlFVWE0SFVLSHpoRVlaMFdsMDZtU1lmRGxGSzBXMTNFQkc4ektZU0lCcFZkV2JTNDFNWkJhUGc0L25XSG9oZXNWbVNjdU5IRG5QTndhdkJDaWFKSGJTY0svQlNrQ1RKZUErb0JXeFZMUzhxdmxhWjJGYjJ4SWxqL096blArV0ZGMzdPU0VaNEQvL2luLzduZE5zOU91MWViSzlibExGbHFrbElFa05lREdlT1hMM0pkWVg5WnZaeE5VckFCazBvQlhHYTFHUWt1b3NOR2ZsU1NkY3NVZ3h6ZGl3c2t2cytTOE9UWkpLeWZXRTdPM1l1Y1BMdFl5d1ZKK2lrUFNnQ1Q3N3dMZDQ1OGhhZi84VG5PYmp2TUtQVklWWW5tRG9nS2RQcjFqUGJPZDdXS2g5VlZUbkVzdVVISlVhMEx5WnI0WHdmd1hGTjNOUTJqdDlUUGVjMUxDOHYwZHUyeU1nUDhMbHdlTzloWG52OVZmcHJBenc1TG9RTkRkeGthaDhhR3E1MEdpSGI4UGVhODMwUnpYd1JqejBqNjhnSXNYdk9ob1Z1WEs0V052V1JuZjRhbVo0L1BaUzg1YmJoZ1J6SGlDd3o1RVgwNU5RbUpFQnRaZ0FBSUFCSlJFRlVQbHc1OGY4Y2I5cFU5VHN3U1YzY0FuV2ViOXNRdUNoQkt1ZVpyOVRHU041MFJHKzlibzhiemRobUtweXJLK25Vc1AzWVM3VWFkdGZVTmxnR1N3dUZxZElBTkJsdGJyNzVWZzVmZnlPUGYreXpLRWxBTkZKRXdadjV1QXpsZFBVSE51Q0tBUUMyT3Q0K09FVFZBKytNSTI1S2RMVGdrbWo0S21Jb1hNNzhmSThpRERsMTlsM201bHQwRjFKT25EcERxbHNrV1h6RUc1dTRQcEk0clMyb0prd0VYRkNRdEZzTThsV3NWYlN2bWVQNHlSUDgvSVVYQUpqdkxiQjlZUmZ0cEVjcm5TTlJLY0VveE1mallIVWdUNGFnWkN6NDZ0cWxNSk9GeWZpRTFjUDVpamhjbm9saE5NaVJGTnF0TGtqQ2FNMFJpa0JpTXlRSHM1cXlxOWRqTkZ4RjU1cGUxcVlzUjRqS2NhcGt4UTFSeW1ERTh0cVpYL0NYMzF6ajQzYy95b04zUGN5WlkwdjBzbm1zV1BKUkFhTHB0Tm9vcGNqenNrcXpxSytIQUVyRnNqY0pzZWhOSnZ0Vk42aVF5aVMzL2wrUGIwS20vajZNZjVUSjdrL05uM3dNSjgwdVpOM2ZGeFNZcVdLdzJwZDRZbDByNU5vUjJpWTZTSVNNc0N4Y3ZYQTlEOS82R0VlZk9nWUUydTJVMVh3QUJreWk4YU9BSXNNSFA5Nkdob1lybVViSU5qVDhCbG1maHpjdEpPczh2YUEydk8yOUlaclNsWWdQbEVxREdGQkM4SjRRUU90MVFtNjlpSVZvYUgreDBkbjFvdnY5VE5XNTUwLzV6VytjQ21oVEs2ZktwcWdTMWxJSjNqU3gwVVhWQjd6SWVENFRyWURSQ2FsSkNVRndQaUFZVEZXNFZlQVJMRHZucnVMbWo5ekdYWGZkdzNYWFhrK1dkQ2hIZ25HZEtHVFovRVpFalc5YXRoQUxhcktEU2lUZThLREdlYXdpd3ZadE8xbnVuMlhvVnRsN3pSN1dScWQ0NWhmUHNyUnlHcXRqdTl1dENHRnJrU0lvOHRKSEEzM2pHSlVydlA3R3I4aGxCU0d3dEhhUzUzLzJESW50MGpaekdDemlOT0xCS01Fb0NDcjYxQVkxRWJFQ2hPb09TdFpGT09zaXM3cGRyVnNyNmJSNzVLNmtQeHl3YlhFbk4xNTNDL01MOHd6UHJyQjcyMjdXVnZvc25lM2ppNENJWlRES0dib0NySW8zWWdMaVBkN0ZSSXFqYSsvdzgxLzlsS0lvdVBlMkIzQkZnWE1PWmFNamd2ZUNlQThCdEpvSWJxa3ZuK203by9FZHBZcHp4VkpmUElMR1hLVDd3VG1IL1d2LzI2a1g2Nm5QUkZEZ2phSlVBU2VnZ3lVSkthbTAyTkhleWZYZFE3emNmNUZpT0t6dnovREZWTi9nSnJtZzRVTkNJMlFiR3E1WU5OM09kcUJOY0FGdE1vSWZBUTZsQWxxRDByVXB2SzYrdDB3MWZGMTlnWituNHVWY1FnZ1Z4bDNHTHBTNkM5SldRVm10MUpielViSDVRTFdrT2lZNE52Z1hnYktZZW4wMVZhSXhPcmIvOU40alFWR0V1Z0FxUmx6M1g3V2ZuVHV1NHU2NzdtUFBybjNzMmIwUGExUDYvU0dyU3lPR21qaWtyUzg4OTFKSmRBS1llYUtLOEFzQmxDYUlzRG9xV0N1V3NWbGd1Yi9LVXo5OWtpZSsvOWVzcnAxaEZOWXVlUDBCalJEOVN5MkJnaUZRQWdFRkZQVDUrbmYvSEVneHBGV1V1bmFPRGRVeHJhMmhwbHJsc3I0YVBveVB2NTc2WFZjUjczbXpRT2tkYTR6WWtlNmlDSDF1UDN3MzdkNGNmWllZMEtmZGF0R1o2K0QwaUxlT3ZjUHhNMmZJZzV0eEZGTmFFMEtnSU9mbFl5OXo2dFFaZHV6WXhhNzUzU3kwdDBNSlJURWlrUlNqN093V3FvbEFmRDlIOEZLamlUZEEzdnRvT1VZMEFWNmNYK0NqTjkvS2E4LzhpaEdRSlFtRkt1TStHa1VJays1bURRMVhPbzJRYldpNFVoR0RjeWxXNzhDRkVjRjc0a2ZhWVpUQ2xRWHh5N1l1Rm9vU0pPYUF4bUtmMkdMMEFyK1E1U0xldTQ2dGhLeHM4ZnhFUHV0eFBETEdtRGIrazNYL0lJNGNDM0Q5M2tQczNyR1RBd2V1WmQrKy9lell2b3Y1M2dLZHpoeHAwbUoxZFlnV1F5Z05SYUZKOVR6ZDdUdHBKUzBTbTdGNmR1WGk5bnVjSnhGaTlIYnN2eHFIL3J1OURrZFBIV1BiemptU2p1TEpIenpCRXovOEpzZFdYa2NvTVdQWnFDOWdPcEgvQmZsWTFpZ2JQV05EQUpHeThwajFWVEJiOElRcThVTGpwMUpyNmkyZkZyV1RzeFRHcjZuUFZaM0NjY29QRVFLQzVuZ3g0Q2N2ZnBkMkwrR2VtKy9sM2JkUGtOcVVkRzRiYTZNMVhuLzlWenp6eStmcGh6em16L2d3WHJFMnNkQXRoSkljelhGM25LOS85MnM4Y3UrajNIN1RQQ0thdko5akVrV2FwTlZHVDhsdkZTWmIrQjZTWHk5OVBGUE5qZ0tvMk1hMktBclNUc3FCdlFmWU83ZVBYNisrUnZBT2F6U2xCTFRXaFBKY09UY05EVmNXalpCdGFMaFNFY3Z5R2NkSGJub1E1d3EwQ1pURmtDd3oyRVN4dkh5V0xJbEptZU1JckZSaVZpd1RjL29MRjZPeWFaTHE5UHh6QzRKeHBLNUtzVmcveFlkTm42OER5Wm9ZV2RWYWIzZ29wWmlibXlOTlV6cWREZ3NMQ3l3dUxyS3dzRUN2MTZPZFpuUzdDNVI1UVo2WGxFWE1zekNTNG5OTFhoaDJiYnVHdGVVMTFsWUhXSnZTN2ZVd3hqSllIYkt5Y29iRnVkNEZIN3U0L1l6SDVHVXNwQUpCZTBRRlJpR1F0Z05yeFJsZWZmVkZudmpSMXpteTlHczBPUUczV1liMis2S1ZwWVRnVUJKandVRk5DVkZkUFJjY0ltNWM4bFlOc3M5a2hZUjFQMC90RmpEUmhaTmJxZmhLbTJxOHp4RWQzUTNLUW5qbCtBdklzd1VyL1JQY2U5dkhTRFNzbEdmNDVWc3Y4cE5mUHNQTFIxNnFsbHBGSUNXMkt3c2hZRXdBYlJBWGo4MmJxNi9UZWFsTnU5Zm13SzdyYU0rM1VDVTR5Vkhhem5yZm5vTU51ZVd6ZDFPWERQRUJxKzFZeEFLVVpRbEZvTjFxYy9pNnc3ejV3aHM0VjFaNTE2RUsrZ2UwTVFSLzZhUEtEUTBYeTIrOC9yZWg0VGRIajRPM2ZJci85ci8vWXlRa0lCbUtsT0ExMW1RNFg2QlVBT1VZUjF4azZxdFVZbVBPY3pFdHhEWXIxdEpidkgvOHhUMzE2YXB6SjhmTHFkTTcxV1IrUFIwWHhhelBzWjNkT3JZdGRIbmpqVit6dUcyZUVFb0cvV1dTMUdLTTRIeEJabTIxbk9uQlhVMWQ5WXc2OS81dkxCYWFKcHc3OVlCenB5YW9LaS8wWE1Hdjh3bmhjcFRITDNIUm9DWDZuNm93bmhwbFkwRmVVQk0vem1vK3dOcmFBSTBtU1JKYVdZZk1abmp2R1F4RzVNTVJJdEJ1ZDJsbEhaUUl3MEZPVVJRWWs1Q21GZ25GK0JodW1pTzdUaWxONzZzRzhLWjZ2MGNvRWVYeHFveGlVZ2RjY0xUbUVuN3drKy94cGEvOGU1YmRjWVFSQVlmTll1ckVoUkx6TUNlL1NKMDJXWDByNkt6S3NaWVlvbzJpMjZPcUxCV2xpSzFsbWNxUEhSZDdNZlB0b3FmMlhjbmtjMUhJMURycjdSR3dRdVZmbTlGaEhxMFRWa0svYXJqcklETllDNUwzRVZkT1NxYnFEUXNLaGNHUVlrbTQ1YXBiZWZ5QlQzTEQvaHZ4ZlNqNm5yWnRWMzhEcWxXTGg3b1p4UHFMVWxSVjdCWHpsbXQvVmkzaG5PZS9mbTU5c2VmMDdvNVhzY244NmMyby95N1Vyd3NLdkhpVWlwRnRMUkNjcDVBQ1ozTkN4M055ZUl5L2V2TEx2SnUvUzBHSm55b3VNOWJpM1VWY1FBME5sd2xOUkxhaDRZcEZjZnpZR2VaNk8ybWxIWHdvc2FhTjBvSXZTK1o2R2NOaEg1aTI4SW5WOEdwR1BHOHRGdVY4TWIvZ3p5Mkd6eEd4cmI5NHp5Vms5VGx5Y0JWZzAwNjFIUk9oR3ZDVmdYekFxaVFPaTR2Z2c4TTdtUWhiRVhZdDdDTWZsWXhHSTFZSEJYMUtraVFoU2RwMDV1WXBpZ0x2aEg0K1JBa1lZMmxuWFpSU3lIbEUvSG1SeXQwZ2FFVFBMcXVPeUpZVXZQR3JWM25xSno5bTFhMGdDRW1hTUNwZGRHZTRLSHRVVFdiYVFFQlV3SVVTSDhKWVRJYThLaUNVT240YUJmZUd5R1J0dWcrenljalQreU42OHRyeEM2cllyNm1yL2lGcnFkZ1dkMWpnU29mQ004UkRNQ2hsOEZKR29lcEtYQkVqeVJhRDRLYUV1SUFSUkFMYUpMZ3k1NlZqZjh2Y0wrYlJHUFl1N0VObkNhVXZTWlJCeG1rV2szemY2YmEyOWJFQ21TcTJDdWY2MlB5ZG9DVm1WdGpFZ0k4M25kWVlNcFVnVWlMT005ZGE0S2JyUHNMcGw4OU10YlB3VWNUNlJzUTJmRGhvaEd4RHd4Vk11eldIVW9xbHBWVzhMK2wyT3hBQ3F5dXJhSjNnWGZ5SXkweHF3VlFBVE02ZFl5bDFBY2xXdVpZeU5WV2JUQU9iUDErOXo1TEdxUGtXN3c5KzYvZUxDb2dQVTFIYldpU1pTbU1ZQ3FtS3B3VEFvaFVZbGFKTWpOY3RueGxncmFXVnpxRXlSUWlCVURyS2thY2tpbXl0TlRiSjRxS0RJRldoVEcwTmRuSG9haGthUVJPVUgxZjZpNEozMzMyWGYvMXYveCtXM0NuQVlzbklpMVVBeW55eWpBdENOQ1B2S2tsWjNiQW9va2VZU3NCNUlHVVNvaVVxWjFYRTN3UEU0WDB6Q2U4cU50N1lUSStDVUplTHhaK3RzWlF1Qnh3S3dRMGNqbUlxTUN6a2pPSmVxaW9xS3FCTWhnU2hIbE14T2hsSHNxZHpJQW8zSUhZMTB6ei8ybk8wYk1iQ2ZZdnNYdGpONE93UVVkbkVXZUpDaXIzT002THhtMFpFWXM2ckQ0VGdNSW5GbUFUbmtoalo5aVVIZGwvTC9NdC9pK05VbGUwc0pLbkJqK3FGWE5KZGFHaTRhQXp3MzEzcWpXaG91REJTdHUwNnlDY2UvM3lNSEdGUkdFUVVXbHVDK05pcmZCd3RtaDdIckI0WGtPTlo1Nk1wRlV1SjFyODJEajNLekZRMis3SmNOeHpMeGxremdhM3A1ZGNQSDhDSGdEWWFtNlRWK2lCTld3UUJqWW01YzhvZ3FISGwrYVEwU2xmN1VSbWMxcTB3cDRXdm1uMWVSSkFRaTZnbUxWQ3JJVmQwRkhxaXhyOXZOUjhSZE5CVi9tRTFQOFJJcDFRUlU5WUo4UFZUTFFwZC9WTVNpN3VRR0ZHcmY0OTdPVFcvU2tVTklXQk5iTCtLUklzdXFtRmhyVFJhYVl6UzhSb1NrQkRyL0pGWTZ4OGx3U1E3ZFBiOGIzSCtaSEwrRU0xb1VMSmordzZXbDVmdzRtaDFVa3J4T085NC9lMDMrTC8vemI5aEdJWWtwQ3gwNTBtemhPQThpQ2ROVzNoUkpFbEtIVmhYMmxDcnVTVE5xaHhJZFk2SHdkYnBGd2pZeXJPdHpnMndhU3lJVWdxTUJsK0FCTFN0UGpyamlPMVVlWjVNNVJTSVJ0a0VYTHdHdXUwWUZmVkJTR2hocE0zZWhXdlFMa0dMSlNFak5yNDExQzY3OVNObU1GZkQvdDZoaUNraUNvVVhINi9QNlVUZStnUkl2UEVTaE5Veks2UW1ZZnUyN1ZoanlJYzU3VmFib3N6eElUQS9QMGZwU3ZxREFYUHpjN2d5cmxVTDQvTmU3WGpjdlMwLy84eXcvaU0rZXlPNXlmdkhUODVlUDlPcFNRQkdXY1RIbTFHbEZENEVuSGZqNjlMN3dKNDl1M24zNkZGT0QwOWhzSGdjaGVRYmx0L1FjS1hTUkdRYkdxNW9wajB2MXcxMzF0SFNjUVNzRnZMakYweTk3Z0ttSHdKMFBVdzgxYWxweHBaSVZmTnJOd0dCNllOY04yaTRFSUlLMk5SeSt1eHAydDBXV0U5L3VJSkpGYSsvK1RyLys3LzdQekZZSHI3M01lNjkveDUyN2Q2R05pV256aDdqMmVkK3pGUFAvSUM4T0VaWmpNalNObmt4ck83TEFncERXWXpZTXBKZVhRK3FLdHRLakltcEE4cmpGU0FPMjJyaGhnT2laUnRWTW5lOHhrTEpSR0VDZFFNQjZwelI2ckswV1lZS2lxQVZCTTFvMkVlaDJKYk9jOHROZDNMblJ4OWh6L2E5NEIxRnNjYXJyNzdFajMveVhVNE5qeEFJTVcrNFhyV2FuSktKVmwxL1RhOTdxcnFYTWtvVFhNbXluT1hucnp6UGpwM2J1ZlBtdXlpOElzK0hhSzN3RWxoZVBrdXJGUXNEVjFaV1NHMTJZU2YzVWxHZEF5MGFBclJVaG94Zy8vYjkvT3IweXpoeUJJbUZYcTV4TG1qNGNOQkVaQnV1WUQ2QWlPeEZoaVRVRnUvZklsVnc5dmYzR1pIZDdIZXBJbFNxS3F1V2FyaGJRZHp2YWpjVjlmektqa3BOMWRpb1NvVFUwYTU2dXY2eGZqNVVVYkZRTGV0OVRpV2dKZjQrRVl6dmI2ckdPYjRYOGxBeHdqcXB6Qm9mcDdqUHZoSjZrL2VvcWYyUHg3N2VsZ3M1ZjRwT3IwUGhDM0kzQU9zeG1lTHBaNS9pcTEvOUtsWW4vTWUvL3dmY2UvY0Q3TnEraDhIcUNIR2FxM2RmemFGcmJ1VFF3VU84ODlackRFZkxPRmVTNkJqbHRnbzZyVGJCRlNUYVlqVllwVGRPbGFwY0p6d2lCUUdaREZBb0NNNlJ0cUpyZ1VaSWt4ai9KTVR6bGxwaVJGMHB0QkkwQWEwQ1NsVzNUZ3BDNmNDWEtBa1lCSXRpMy9hOWZQb1RqL1A0STU4aGM0djA3SGJTa0xGemJoZFhiZC9IWEhjZVNzWEpsUk5FczY5QTBQVjFYUGRicXorOUV5L2NqUVZhMVl0VUhZbVA3MWdyMWlBRTl1N1p4Mkoza2VXenEyaWpTVnNadytFSVl5eXRyTVhxNm1wbDA2VmpYSCtxcFp5dWIyQzJTUEErMytkMldtZWY2LzNuWFk1VVl5TGphemd1TlJiVXFaZ2o3QnhabHZMdTIwZFlZaG1QeDV0eWNrL1QwSENGMHdqWmhpdVlSc2hLMVNKcHcrdlc1ZTZwVFg0U3RiWHJ3bnNqVkFrSk02RzU5enlOb21UU3lPRDl2aCsyMUJIdmtlb21vQjZTWmtySTFzdXZSWDRsWUtmbmk1SXRvN0h2NWZ5SkVrcVhvMnpBWk1MYTRBeHZ2UDBhWC83cWx6aVJIK2VmL040L1lmKythMUJZY0lxV2FaT3FqR0xnOFFOUFpsUDJYN3VMMTE3OUZhTjhGTnZiRWhNcGdxdWNHK29XWjhJbVUyaXBMa0xzenFXQkxJTzVMbGdMWlJuUGo0MGoxNGdQcUtBd1ZZSktKaGxoZkI2ckxOK3FzcjUrTEdSZFVwMWlKVUdoYU5QaVkzYzl4RDIzM1V2aVd5Uitqa3g2OU0vMnlmdU8rZTRjMSt3N2dES2FsMTU1a1lJaXVoUk1SV1JuaFd4OTFxYXZRV1l1RXlXNmFxc3JwQ3JCVTdLMnVvSXJIWWV2UGt5K1ZtQ3RvZDF1Z3doNVhoSjhJRWt5RkRyZWJOWExHOS9BVFVXRXovSDVQZC92RnlOa2xXaDBkYzVqd1Y1MU5JVHFlWTBSamZlQlRyZk44bkNGZDFiZVJ2Q1VVc2J4MkNZbzIvQWhvRWt0YUdpNFlxa1VCaE14WEgvaDFzMUFhNXVqU25wdDlwMTdTUkdZQ0hwbXArL3AvVk9DZmR6c1lJc2xySit2cTVXTjdjK3FvN2JaKzhmSFZYMkFhWVhLc3pKY0l1dG9GdWJuZWU2WHYrQXIvK0ZMbk03UGNPUCtqN0J6MTNiMlhiV2JwZE45aW9ISDJoUWxRamtvU1pNdVYrMVlSSFRPbm9WcldGNGUwYk05Q2xkUVVLRFJCTUpVdTRpTkJFQkppa0tSNFhIMDhYbWduNE5Ta0V3dUw5cTBDV2dTTWp3ZVJSU3lwbXFVQUlGSnZ2Q2tzVUNleDIxUUdGSXlEaXdjNU9DZW05aWU3V2JsN0lpV1NwaHZ0V2t0R0FhREFhUGxrdTVDeW9FOTEzUGI0WHY0NFN0UElKU2czUGc2Q1RJSnRzcllUbXJpZkRCOWdoUWFheXloRXVzMk0vamNzZUtYZVA2bG4vS1JQYmR5Y005aFdtbWI0WEJJWWhPQ0R4UkZRYmM3aHl0bWxWN3RXcUNtYkt3dVA2cDhjTkdFQUZaYkVNdjErNi9ueCsvOGdNeWtER1J3cVRleW9lRURveEd5RFExWE9tTVhnSnJwbit1NDFSYlI1Mm5ycFBlN1dwa2VtOVRFOE03MGRIMU81am5tUy9YODlQUWNiZ2FUN2I3dzhkRkFIUDZPSXZVOUxtUDk5bDBVZ2UyN2V2VExzenoxN0pOOC9XKyt3cW44WFZxMDJMZC9OM056YlU2ZVBFbXF1aXgwRmtoVmhnbVdPZVVvODRMK3lWWDI3TDJXZi9RNy80eEJmd1Fxa0k5S2JLS3hKbVd0djBLV3RyYzhma0ZCZnpCQ3A1Q2xqdGZlZkpFZlBmVWRWb1puNktRSjNnV3VPM0FEZDkzK0FMdTM3Y2NYaGxiYVEwckZhSkJqRXcxS0ViU3Jia2lpRCt0MGg2eUZ1ZTBNVmdkUVFHSmF0RXlIYm11ZWNpVWw4d21qWVo5OFpVUktpMTZueDNBNFpIVjVRTmJ0Y2VOTnQvSDlWMzVBZEVWd205N3d4SnEwU1c1NFhmcFhvMUNrS3NGcGpRc0ZhNlBWeWtZTVZ2d1N6enozRk5kODlscGE3UVhPbmwyaW5iYnBkUmNaRFVia2VVNXlCWDlGYW9tRmxRYUxjeVc3dHUxa3A5M0ZjVGsyZWRIRkQwbzFORnh5cnR4UGFVTkRRMFFtZGtheFlIemlKUkNvamR1cllxL3BpTlhZdGIwdTRwTFo2WWIxcko4ZkJaRWFMME5tcDRyWjZXYnpxZnhGMGRWeXA2ZnI1MjgyclVVeFV6dTIxVGZ6SnZPbm9uc2dWY1JWWmlMWms1Y0tLRjBaMWxmcnZ3Z3hHMVFnOTZ2ODdhdlA4NFV2L2hsblJpZXhhSEw2RkdXZmJkdm5XVGxWWU5HNG9tRFFMMGk4b1pOMmFKc09TaFJuM2ozRnR0NGhkdllzUlptREtOcWRGZ3JOS0IraWxXRmNrYlp1S2dyRWFEQUJyVWVzTGhjbzl3eWFuRkh1VUZqYWFpY0hkbjJFcS9mZXdHQ2xwSlhNazZnV3cvNG8yajdoQ05wVmUrUXJQOXlBcXBKdHhTbDY4eEFLSVZFWm5hU0hMNFRRVjdUYmx0NjJrdjdxTXRvN1dxa2xsQWxCQXFVRVhDbDRMQ2dMcXB3UnJHRjh2VTl5bEpWVTdoV1ZuSVVvWkozemFCMmZjNVhmckRZZ3p2UGEwcTk1K2VXWFNUL2FJbTJsbE03am5DTk5VL3I5SVltNXZMOGl4eDM3Wm9aYUFrb1NBQklNaFhkWU1TUW01Y1liRHZQbVMyOU03aWNiR2o0RVhONmYwb2FHRHpGYlZienJyWFRZcHN0WUg1RlVHNWN4U2ZHY3JBTzIxbnZuV3Q5bVQxNkE2NEdlL3AzM1BvM0hUSS9UbmMrM0M3T2QxV2FuNTl5bmpVdGlzcmJwaVBkRURhamFrVittRzFEVXhHRjMwYlh2YlVCMHprOWZmSnF2ZmV1TG5CNGRvNWQyV0N2V1VGZ1d0aTl3N05pN0xIYXVRb3FBVnREdHRqRWhRVXBoNUR3cU1ZQ21QMXhqZFhXVnNzeEowNVJ3T2xDV09VbVNFRUxZNUJyVDR5M3lHdko4Z0RJNVI0Ni9TNzhjNFZGMDdUd0ROK0NkNDBjNXVYUUttM1E0Y1hTSjFIUnB0M3VFSW1DdHhZZUNNT1Y3TzI2enEySWgzbWcwWXNmQ052TFZncnp2Mkx2akFJdWRuWGdIeGNCUjBzZVlCSnUwR09SRHpxNHRrYzFuWkcxTEdjcW90MFF4YnE4cTlWR3ZqKy9tTnhKMVdrVnFVb1oraUE5Q21pUzRNb3B1WlJYT09VWU1lZWFsSDdPNGJ4czNYWDh6cTZjR3JLMzFtV3N2a09sMHZEeFJBVUVJNHdMRDkzcmRiUHc4cTNVL3I3K0czMi82VCsxRFBEMDZVanVnS1d2d281eEVKL2d5Y04zKzY3RXZhVktkVWZpOGljWTJmQ2hvaEd6REZjOVlwRlYxRjJwNnV0bkl1cXg3Yi8zMEpqNk81LzFTZVIvZk90TStvdVBudEV3TmkyNWM1UHJ1VWZXK3pXNkFtZHB1bVYxK2lNVktTdXBDcHNteGdhcUY3UHFvNHFRNGU1Mm5aZFY2YzNyNU1NNVRuYzVCM2F4Rjc0eVNuQkx4azlPeTBTZHp1ck5YN2FNWjZxbWF2RnRQYjlkN2ppaFh1eXViekYrL0NQRXo4eFZVelF0R3hBaVlqY1ZXWXBHZzBaVy9xbk1PbTFtVWRZaFdERVpycEMzRHl0b1NKNWJlNFYvLzZmOUdzQVdla3VWaWhZUVdBZUhsbDEvai9ycy9qcWhBRVVZWUVYU1NJRUdSbHlWS2FXeGFJc2thLys1UC94ZCsrZG9MdEhWQ0hvYkkyTjgyak05S0xNK0twWFdoS3MveWVHSWpoT2hjUU9WQUFjS3lpem1VUndkdjhTZGYrR01tRm00VGdhNkJ1YVNMS3oxeEQ2QytGdEVPcFQzS094Q1B4WkxRNW1EdlJ2N2g1LzZBbTY2L25TTnZueUpOTzR4eVJ6S2ZrdnVja1IzUm1VOVpHcDdnclRkZndoSjl2cnhUTVRLN0xpZWMraElRS3BrNXdlTXBmVG4rZlZnTzQya1Y4SGw4VTU4Vi9qWi9rUjF2N0dMbnJsMTAwMFYwb2RCZUk5NFNUQ0FvaDJpUGlNY0VIWTlpTU9PMWpLL2pUVnJVMXBzM1BaLy9uNzMzZkxJa1MrL3pubk5PbW12S2RWVjdPNjVuZHN6T1lPd3VCb3NGRjBJQUN3WEZDREtnVUlRaUZQeEhGTklIVVdBUUFFTkJCY2pGQXVRQ3k0VVJDQ2tFa1FoUndJSndpL1hqZG14M3o3UjMxZDNscjgzTVkvVGhaRjVYVmQwOTNiTlQzZHZubWJpVDk2YlB2SGVtZnZtZTkvMjlaZHZpVFE4WUU4c24zMWMvOTlITmZOYzY2UXNQTGY1L2VKWEhOQTVuYzZKYWpGUUNwUlV6NlN3UFR6M0syZlpaQUFvSzNEWVBBNEhBL1VJUXNvSEFQY1NkVnVGUC9rMGNEbzI3TWlLN3pZNXZjMmg4MkpxejNHeVFsZkR4L2dpT1JvWS9qZ2ZyNlBIbHlOUnVzLzFXOStOV092ZmpJckZZNTcxWHF3aXNQNDRzVytTQ1VncUhJVktTeTljdXNyQi9oc0wxT0gvMUkvN0QvL01OREQyczAyVXhVdVFMbTFCY3ZYYUoxOTk2blMrODhrWGlXaDJURjZ4MmJpQnRRcTFXSjFJMStxTEx5UXMvNHVyYWFUUWJkS3h2YXFDa28xNUw2T2MrRWltVXIrelBpd2tWcEdJWUVYb0Fac3RJOHFoWDhjalV3VnJSOFE5R0trTEtoTndZSHprVkJRTTdBd2NSQllYTnVOZyt6US9mK3haeG84YjgvSDVpMVNSYjI2Q2RkVkYxeDl6K2FhZ1ZuRHR6aXJkUC9SQkJqaXFQYjl6SXNhdmY3Y1JJdzIyTHN2TGhWb3NDYlEwZm5IdVBGNTU4aVNTcFU0K21rVTV1aWpRN2JQbDdLM3VUV1ltUmp1Mml3cU8zYS9CNTVCbHBxOS8vNlBMYndaWnVHNXN1VDFRbGVCSnRjbkF4a1l5UVZyRnY3Z0NYMnBlOHJSa0dIWVJzNEQ3bko4ZlpQQkFJQkQ1Tm5FUzZDR2xqZk03dWlFMi84SkZ1cVN4VFV6VXVYN3ZJL2tPN3NiTGd6TGxUL01FZi94N0wzVVcwNitOc2pvK0lGa2hoZ0p4V3NjSVBYLzg3emw0OFFTZGJJVzA0YWxPT1pGcVRUam42ZXBuemx6L2cvL3ZtZjJSeCtSSVdUYTFXdzJJb3JLWFY3VkpvaDdYZVJpc3ZIQ3FXMUtjYnBOT3BEMkhZQWx3TUxoMitpTGQ0cGVVckx0ZVB3Zm9ZU0p4S1JBU0YwZVJGMzNjQksrL05vT3V0Z0xpV0VFY0pQYnE4ZCs1ZFRsNThoNVpiNWZMeVdVelVSZFVMY3Rvc3Q2N3k5dnMvNU8zM1hpT2pqYVBBVWdBRm9MMkFyZElYYnRHVjczWVFFWUJsdGJmTWlaTWZVRmhOWVROUWptTFlBNWhoSG5yNUhaZkZjanZOcmRLUWhQQXBGTVlZbEZJSTROQ0JRNlRVYitwb0VRamNUd1FmMmNCOXpDMThaRzNwSXpzdzBLOXlESWF2YlNPVnQ4c3RETkZ2NVNjNU9XUFQ4c2xoOE8xTzQyTitIdXgrbTJqTWJlL3Z4M3o5b2t3dDJQYjhSM3c5YjdxZmJiYmZqdHZmbjIvVEt3YS92MkhpcmhXR09GRmNYYjdNb2FQN1dPc3NjMlh4UEwvemUvK0d0bDFCWVRCMFFQaWhZSWxGS29GeEdnRzBleHQ4ZE9vVWhlN1JtSzdSbUU2UTBuQjkrVExmZmUzditJdS8vak91YnB4RDAwZmcyNU5hQjFKR3pFN3RJazNxSkhFTmg4UllnM01XWFJTWVlxVEt4eW1HcnF3M2UwMyt0K05EcmRyWmtkRnZCU0pDeFNseG5KSW1DVVdlSXl3VWhhR3czdDJnVlhSWVhWM2x4dklOOXV5ZFozYXVnWXR6RmxmT2MvTDBPL3pnamIvbjFOVVBzT1E0Tks2eStLb09mYWRmNmlRQzBucU15UzBSQ2EwYkxSNDdjcHg2M0NDV0ViMDhSOGFTZ1k5d1dVVHAvWHA5YTF3bjdPQTNPTEhyTFUveFkvLytiNXJQN1pzMCtPWW1WWU9POHVmbkJFSTRJaG1UNVgyRUJKVUkrcVpQT3BWeTV0d1oycmFGUms4a1pBUUM5eDhodFNBUUNBVHVDSW13c2U4T2hzQTU3MFRyaFkzR0NVZFhkMm5PeEt5M3IzRnQrVHkvOGR2L0hFdEdQVWxwNTJ0WUlGSmxxWTRGYmJMU0E3WUhLSlo3Vi9qbXQvK012LzcyTjB2SkxGRkVHQnc1WFl6ME9ick9nYlVDU1V3c0VqWmFQU3JYWUl0QXlSb1dqU01mbkgxVVUraU9GN1ZiRlIzZGpNbjEwMW9Ob3lXNkVOamNsWVBXRmtXRVFBOHlBQW9Na0hGbTdUVG4xeTd4dmZlL3phNW9GMXIzS2VoVHEwVnM5RmN3OUttbkNlMnNLSzI5N3V3YnVoWGErQlNJV3BTeVhxeng5Z2R2OCtVdkhLYlZicEhXNnlNK3hhSk1pNUZWcnNHV0FuYW44UTJIeDFGS1lZMURHTzh0MjZnMW1aK1paM0hsNms2Y1lpRHdpUlBHRmdLQlFPQU84QjJVb25LNFBhSnlZWERDNHFUQnloeVZHRVJxT0huMlBmN1ZWMzhkaGNhU1ViaVdIekl2Vlllc0RCMEFnMFVJaTZYdzY5S2p6d1l5elZGSlRwODFNbGF4ZERFMlF5bW9welY4QTFtRk1RSkZreG96ekNYN2FjbzVwRTBRTmlJU05TSWxRSUx1bTdMMHl3L2RpL0xGVFY2ajZ3Z3MwOU1OaElDc3B6R0ZveUdhTENTN21XV09tRG94RFdyTUVPRmJ2U1pwVE55SWNDcEgwd0Z5K21LRGRaYm9zRXBicjVIVHhXRnBaMzN2RlN1Mktvd2FlZDBGcG16KzBDdmFnT1BOODYvUk5XM2F4UVpwTTZIS0VSWmpxUVd5Ykk0bTdvbjBnZ0dETG9aVmdhZHZMNXpHdnBHRzFRNGxJb1NHZzNzUElWRkJBQVIrSWdnUjJVQWdFTGdqdktnUlRwYVJPeCtKUlJpc0xIQWlaN1d6d3RMcUZmN29UMzZQakJZelUzVVVDUnZ0Vldibm1yUTJPdGlDUVVqQlZyWkowaHNsU09FTHlnelF5dkl0enlCeUVwMXBKQW03R0lQUUFBQWdBRWxFUVZSN3B3NXgvT0duZWVySjUzam8yQ01ZWTdsdzhTenZmUEFHcDA2L3kzTHZHczRJcXJhOEVnYmgxVXFVQ2JZdVFvTE5PWm05VmdZMkppTGh5TUl4bmpyK0xFZjJITVVaNkhVNmZIRHFmVHJaT21kV1BrS1FrV1VGU091ekdTSkROMnRSRkYxOGtrdU8wZGxBbjBZUkRCcHJ1VzJtbndCUkpMQzVRZURJNlBIR3U2L3g3T1BQMDdlZHNuK0VLdStCYnducms1VStpWVlZbnlSYm40dldtbnE5U2Q0dHNOcFJxNmVzOWJzYzNYK1l4b2thWGRxZjhua0dBcDg4UWNnR0FvSEFuVklLRy9BTkRweHczcTVKNUJpVnNiSyt5TmYvNk4reG1pK1N4aEhMN1JzNE5NMlpsUFgxenNCT3pWcFFDcXp4QWs1S1FXNWNWVmZrY3pPOXM1S1hMRDdvNXMydWpFUVI4OWlCSi9tRkwvN1hQUEhZYzloQzBldm1DR040OXJHWGVPYjQwN3ovMFkvNDFuZS95WW1MYndNWlNTVElDalBJY1IwNHMwN21vcGJwc1pXSUhkTzROdUxRM0JGZWZ2N3pQUDNvTSt5ZTJrZHNFNFQyZS92Q0MxL2tuUS9meG4zclAzTjIvUXh4VXFObjE0ZjVya3BqbmNQWVlkNXVGUGs2cmx3em5wNDdKbDV2N2lON1czaGZNb3p4K2NsOSt1eGlpdSs4K3kwKzk3blBzYmF5d25ReWh4UVNhYjBiUldYUTZ2TlM3eldHbG1zZWhUR0dSRVgrUWNSQW9tSmNGM2JQN2FGQkU4SFN6cDF1SVBBSkVZcTlBdmN4SDYvWXkzbWpSWngxM2lwMEcxc3FJY1RnTmNxb1QrVGdoUjI4SDl2SHhIUnkvbFl6Um4xbUIvdmN6dk4wWkp0cXZjbnRuSE5qeFZKYm5mL29Ec2Q4ZENldWFkVGZ0VHBQWUN4UGNLdmxtM3g2Ui9ialY1Z3NYOW1hVGNldjlsbDU0MjZ6L0ZiYmo3TFYrWThjYU53bkZNQUpySFpFVVlTUUZxbWdwMXZFTlVjN1grUDY4aVgrNVcvL0t0MWlGVXRCWm52NGlLMHZmcXF1VjFCS2tLcEl6SUkyREFwM3F0TVpuRllWT1hVd0hVK0RGVHcwL3hqLytCLytkeHcvOGpTaUgxTVRzOFNtUmtOTllUSkhxaElTRWZINFk0OXgrZXhGT3IwV3FVekpiVVpVUm1hVjhpSlNqN2dOMUd1Z1M3T0FaajN4SjFsZXZ5UkYwZVMvL2VYL25oZWZmSVdrU0VueU9sR1JFdXNVMjRkRU5hakhEWjU0OGltV3J5OXpiZTJLTjNoSURHaC80ZGFPMzJ3N2VwMmJ4S3N2VGhOVllWMzE1ZHdGVWdMVzcwMVRrSkNpTTgxbmpuK0d2RmVRUm5Xc3RwamNvRlNFVWpIVytoeG9NU1ljaHd4K3g2Ty8xYTE4cEVlMjJXcTUyR2E1ZitHTHZRRHc5bURlYnE4c1RIT2daSVRWRnFSRVNJZFFpaVJOdUhaakVWZHpuRnM5aDB3a3h2Z3Z2V3FpRVFqY1Q0UVVtVUFnRUxnRGZPMlBvM0FaS012bEd4ZEo2cEtjUHVjdmZjalhmdiszc1dSWWlySmRnTjdHTjFmaUI4ZkdHdzZNcTV5dDMvZUxuRHJUUFAvWmx6aXc2ekExMGNSMFFiY2RrVTRSV1FRZGdlc281cHY3T0x4d2pPZWZmSVdFSmxvTFVwcFlGK09Jc2NhM2lLMUZDUkdxVEE4QVlTV1NtRjVQWUcyS29FbkVMRE5xTDg4ZWVvRjkwNGRJVFlQRTFJbHloY29sTmRHa3hqU201WmlPNTZtTEdaNSsvS2VJcVpQSUZQb2oxekZwa0xEcDNsVDNwM0pZMk55YzRZNFJZSFRaQ1V3b05JWTI2eXh2TE5IcXIrT2tRNXNjS1NWeEhQdEdBNmJBaWpJQ2YvZG5jTmRNcG52WUtrK1dFZGNQNjNOa25YWW9KMmdrRGVhbjV3RUdJaFltUkxUWTdyRXlFTGkzQ0VJMkVBZ0U3Z1JoY1ZKVGI4WmN1bjZCQTRmMzRHVEdtZk1uK01ZZmZZMGI3WXZiaTlpQlhwQSszN0tNY2JyeXRlWC9tcmNvY0pMRVRDZTdlUGFwNTZrbkRaU05rRm9oQzRuU2t1bGtpbnJjaEFKRW9XaXQ5dGc5dTVmNWVDK09CR2lpbUNGaEFja3N4alhSUllObWZSK1NPV0NHMmVZUnB0S0R3QnlDT1FTN2dGbjZKdWFubi85NTVtdDdFVmxFUXpXSlhJTFFpcGdFYVdKTVg5Q01aNGxkbmFlUFA4ZittWU0rN2FCcUtEYkllWlVUcjhpL0JsRllmMys4MXYyRVJDeVViWVhMTElOVTRiQVVGQ3l1WHVYcTBsVlVERnI3M09RMFRyRFdVbGlEVUE2THVVZnlaTXM4azRubUZVNzRUbTBEOXpBRExqY0lJMmdtVSt6ZXRadVllQ0JraFJCajBWZ3BnendJM0IrRUhObEFJQkM0SXl3cWdVdUw1emo2OEg1V1drdGNXejdQdi92R1YyaVpaWVJ2VDhCMmtkanhOSkd0WW52U0o0dE81b2tPaHR3akpBbHgwbUIyWm9GT3U0ZEtwa2lTaE1qRkNDdnBkRHBJNVJCU29aUWtLbUplZnVGejdEMndGeU1ObWZhdGMxV3NlUGZrZS96bFgzK1RIbDI2SFcrZXRXL2hNRC8zaFo5bjc4SmU4azdPM013Q2piaEJ2NXZSVUEybVpKUElSZGpNVXF2WGNaRkRGeHFzSU05emxFeks2NGlZYWM2eGUyNHZGemRPZTFrYWxZM0Z4cnFKVmU5dkZnMzg1TVNqYzhydlR3Z0tWNkNGUVRuSmFtZUZEOCtkNHZIRFQ1RDNMY0pWK1JabFdvbHlPR044VmQ2T1ljdEN3L0xUSUovSitZNTdSbzVFV0wybmhkRWFvU05pbVRDVnpqQlZtNkxWMy9DYmxVSldDREdXbGhRSTNPc0VJUnNJQkFKM2dCVU9yWHRNN1VwWjZ5NXhmZmtTdi81YnY0cWpUejJOMk1qYVRJcFlNUktKcmRqY2xHTGlzNnR5bklkVHZ3Y0JLRVFjUWF6UW9pQ3pmWVJMaUNPTmNCRktTS1FDYlN5OXJFZXIyeUV0SXFJNEphMUo2Z0prSEJFbEVYTlhwNGtqUlU5Nzc5SENhUGJ2MzgvRGp4emowTDRqdEZmYnhDTEZGZzZkRzNDQ1d0SkFGVkRZSEd2QkNZTVdsb0tjQWsyVXhMU3lIaXFPeUlvdXMvTzdFQmNnVVJHRjBhVWczMG9NYmlYc3pUYnY3eFNKUUtCVWluWTVSWjZYZXhiMDZQSFIrUS9KZnpwSHFSU25IWG5lUndpSFVoTHJOTVlaNGgwVnNsc3cxZ1BYWXExQVlGRklySWg4MjRUQ1FnUXFrc3pQelhOMThjcllMcVNVWStrR2djQzlUaEN5Z1VBZ2NFZFk0cHJBU2poMThnUmYrLzJ2RXVIb2s1TTVjR1ZoMTJhaVVvUlNSbXkzWjZ0R1ZsVmZMWUFjZzVIUXpYczBaMmR4Zlc5N0pXVkVvaURUUFp5eGlNaTNpVDB3ZnhBdE1tNnNyV0JjVGhRN3RNN0pUTWFWeGJOSVZZRE95RTBPT0M1Zk9jTTc3NzdHeXRJaXBtOUpaSTFVcEFpcmFFWXp0SFdOaGNadXJETDBpejRZaXhHV1FtcFVUWmJ6YzVLWmlMVitENkJzK09DSHVyY05Oay9jNTYzZmZ4SklwSXg4b3F6dzRrMHBiMXUxbEMxeFpmRXlSMllmUWtwQjBjK0oweFNVb0s4TFVMN0VTbTJkK0x5RFdFby9pN0lnMVh2S1JzS25UbWhyRUJwSUhIdjM3dVc5UlFicmduK0lNY1pzV3hRWkNOeHJCQ0ViQ0FRQ2QwaXJ0Y2ExMVV2OHdSOS9uUjRiVERWcUtCTFd1NnRNemRab3QvcCt4WkZJckk4RFJzTklyR1NUZXB0MHA1aU0rNGt5bDlaZ2FXVTlUcHc5eFhPZmVSNFZTWnpTT0ptVEcwdXRHWkVWQlNoRHU5dENDY2wzWC90Ny92enYvcHlNRFNKNldIb1lEQVpYdGl2MXJYSUZzTFI2aHIvNEx4ZXB4MU9ZekhyaFJsVDJGMnZ5VHo3L1QzbnA2VmRRY1VTUjkxQ1I5K2txWklhTkJVNUpuSFVVYU5aYmExeTRkQkVsRkxuUkF6c3hVV1lKMi9JNk4wdlYwYnpQaVVWM3BiVjhycTNScFh5V1FPeEZiSVFYZlNkT25PRGdTMGRJb3BpZTdwRTJVb3d6NUhtZlJyUEdMWjVEUGtYRzgyTXJwSlE0NHgwT3ZHK3dLdk9NSFFyRndzTENZTjFSSVF1RXFHemd2aUVJMlVEZ050Z3U1bkszTVl1eWhYdlovbko4ZnJYL3lhcms2bncrclhqSjVQSEZ4SGx1WjU1L08yeTEvY2M5dHp2dnJqUmFKQ05IV3BCU2RuS2FYTmY3eERwbk1JQ1RHVGZXTC9ON2YvUlZWb3RGSWlGWTZ5NWhLYWpYMDZHSXJYRGpiejlPai90SzVJM3Z5bUt4ckhmWGVPK0Q5emgyOENFV21udEo2Z21SaXVsM2V1UTlYL1NUMUJKMG9WRnh6TFcxNjdScEFSbWFOcjVXM3h1WlJVSjYreXZqaUNORkhFa0tYZERMV3NncXlrZUJJc1lDNzV4K2s0Y2ZlNVNGK2l5Rk04UnBEYlRCR2t1Qm81YWtHQ3RvRnkxV1dzdWNYVHBUNWc1RG1rcnkvcTN1d1krem1NcGJWaG1YbFk0SkVpVVV4aFNBSlNMaTdLWFQ5Rjk4RmRPWUlkdm9rc1l4MmxuNmRHakVDZFpvQnQyK25CbE1UUmwzZGxiNGdqQW5jUmlmMDFxdUJ4YnBoaExlWVhEQ0x4ZStFd09tbkc2OXZYZk5BT3U5aTNHK3E1eXdaZnFKUThRQ1cwVmhoWC9JY09WTFJOQ01HNE9jMklwUTVCVzQzd2hDTm5CZk0vQjdGV0tRTzdqWmg5Vy9uS3Vtak0vYm92SzRFbU9WUnBMYitKQ09iam5tTXpvNGx5M09lWFFiNjRhcWRIZ0JZOGNmdUdWTzdOOExRRHM0MzdGaDZLb0FwREthSHhXZms4Y2ZYc0NtNDQ5dFd5NnZ2SGR0dFhCeStkZytSL2N6ZmxPOFY2Z2QzMzcwUGpBaGlyZmFmblNkN2M2L1dubGlleTlNZXlBc3d2b1dzOUxHT0t2S2FuYUp0b1lraWJCQ2c3SjBzelpKWGRIcGJuQmo1VEwvNG5mK1p4dzlMSmJDK1RKOGg2WFgwMnlGRzhoWE40eklicUhWdG5vV3NCT2Z2THVCb1cvYm5MbHdpdTk4ZjVaWGYrcG5PYmJ2RVd3UGRHNlFVakk3TjRPb0NhNjFyL0JYZi9YbnZQdlJtK1QwY0dSRTBsSllYOENVaUFUclFLRlFSTjRqbHhoWENsMkxSV09BZ3JndUtIcUdkMis4VGZPTk9YN3VaNzdJNGYySEtWb1o2MnNkcEpIVWFqWDZXWXVvcnJoKzVTTGZmKzF2TVJSb2NsQ0NyS2dLMmV6QXdHQnJWOVpiM0pnN3hqSUlxVHA4V29RR1FZUkVrdEZqemF6eDd0VzNlWDRoUWg0VVhHOWZJWTVqYW5zVWE1M3IxRlFkSVV1bmhWSndWbE9KeGJuS0pYZ3k1aXdSenVJS2kzQ2JsMWNDOTJiYncyalUxUDg2clBSVDZVQkxTVTRPa1N6M1YxbHorZjkzYUpVVHh4SHo4L01zTHkrVEpBbEZVZERwZElqam1LSzRaOExOZ2NCTkNVSTI4QUJ6NjJqUGx0SElTZytKdTQwSWp1eHo1SGhqL1FLMm1EOG85cm1MWTFmWGRhdkJ3NjJHdU4zSSs4azdLTjN0YTQyN3pTeThtNmkwdjY1cU9OWWd5b2hzWlM4dm5jUUtYdzVrVElGSzRjcTFTeXdjbUVXN0xtY3ZuK0pQL3ZRYkdIbzRlaC9yMkc2YlllQmJiemVKSmEwSnNuNlBHeHVYZWZOdGkrbjJXVDMrSElkM0g2VXhOUVZZcnE5ZDR1S044N3o3NFk5NDUvVGJMUFVXY1dURTlkajNaNUFTZElSMkFrbEtneWJ6elhsQXN0YlpJTUhTcGtNY1JhU3BvNmM3MkJqSU1ycDJqWGZQdllaTGVqejE2Rk1jM1hlTXVUMnpTQlRPV0ZiWGJuRHl3eE44NzYxdmMzYjlJeHdaU1VPaVZZVHRGOVh6NVBCWjVtUGZsYnVrZW9ndHowT1ZpUjhBQm90V09aZFdMeUkrOGptOVJWWVF4ekdSaU1qN0JTbTFnVWpjaWx2bG1RcGpienFDY2F2dDc2WjVRUlpuTEVYWDZYUTYvbHdtSXJPQndQMUNFTEtCUU9BQlJTSmNWTm8vbGE4eXoyRVl1ZExVcDJxY3YzU2FBNGYza05rT3A4K2Q0dmYvNkd1czZldjhlSWUrYjRHdzVMb05BcXpMV081bXZQN3VPbGV2bmVIZ3dtRm1wK2V3MXJMZVd1UEs4aVd1M0xoRW0zVXNmaWpkbVJ4VENMenJhNDJqQjQ3eDFHUFA4dkRSUjVscHpQaDJ1TTZ4dExMRUcrKyt6c2x6SjFqcnJQb2toS0p5SE9pdzBqM0xhejlhWlBIYWh6eDIrQkYyeisxRldFRy8zMmR4OFJJWHJsNWdzWHNaVnpXSHlCajJOdGc2Y1AzcGNRdmQxallkM2p6eEJtK2RlQk9mbVN5SmlCRUlEQVpWcGx0c3YvdnREMUJGbjNkS09ob0twbmJWNlBmN201WUY2NjNBL1VRUXNvRkE0QUZGZ0ZQSU1vM0FlNHJDb0tXeHNLaEljSG54UEVjZk9zaEsrenFMU3hmNTNYLy9WVGIwTWdxSDJVa2hDMVNqMGtxQU14a2Jkb24ydFZWT1gvdUFxbldBeFdIUVdBcmZ3U29DNDBBWGpvaUVhYlhBOFllTzgvS0xuK2VaeDU0alVUV3lYb1lVRWRaYTlpd2NaTmZzQW9jUEhlVkhKOS9nbzZzZjRpdzBwMUw2dlJiVzlPaTVIbWV1Ym5EaDZnZkVwRDRpaTZNZ3c2R1JRdEpvUnBpOFFKY0tUc2lkRTNGYklaRCsvZ3ltVUkvcUZMckFZQkZsckxZZ0w5ZjMyYjRPV3hiZmZieXB3YUxMcWR4MDdFOWphdWl1TGdIQmNpdHdmeE9FYkNBUWVEQnhFdWxpbjA3Z2ZBbTlFN0tNb3VtQlQrejBYTXBhOXpyWFZpN3c2MS81WnpnSzZyV0VqWDc3cGhHM1Q0VXlpZG9KTUFLazAxZzBtZ0x2a0ZBVmxmbDJxa1lNODZlRkEwV2RWNTc5V1Y1OStWWDJMT3hINVFtcmEyMTByMkJxYW9aT3YwOTl1c1pEK3g5bFlXRVBzN096RkgrdnViUjhIdDAzWHZ3SUwwaUw4dGc1V2RtclRBd3lnWjJEVHFjTWVKZU56RnkrRXpkc2E4U0VMNFFyYzRKN3VrdFZ1Z1dVOG5hSXdSZFpWZGY2Y2FhbWZJZDBtTExpODFPZDRzb25JUzlrdGRhRDl5SEZJSEEvRVlSc0lCQjRJSkhnVXdzRytJaVVUeXN3T0ttSlk0ZVJsaE1mdnMvWHZ2RVZJbW5wMng2NXpYRDQ2dllkbzlJYWRwanJiRVRwTXlzRlFnbWtWR0F0V3VkWVI1bFM0TmVWU1BiV0R2RGNFeS95MFA0bldGdGF4eFNXaGVaK1ZOM2ZsN25HYmkvbStoblN4QnplYzRUSGpqek8xZVVyR0YwT1NZdnlMcFRaR1VMZ25RK2N3MW9mZWJXR1FWSjBIUGszUmZFeEVxby9SVWJkSktvSEZZY2pTUktjY2FYSExpaXBoaTRCZy9WdmYrcEd1MXhzeDQ5emlOOEJCbUlWYjJwTkc2S3pnZnVKSUdRRGdjQ0RpWk5sVkZhVzR0VkhZcjJJTFhBeVo2Mjd5dldWeS96QmYvZ2FiYnZHekV3ZGFSTmFuVldtWjZkb3JiZDM5aHBNR1NFVWdGQmVxRHFIc1Q1TXFpdlZTalFVUmM3NG9YMGEvUFFMWCtMUS9ESDZhNGJXVXA5ZDlYbml0RUcvMDZjb0NtOGxKVFVpZFloWWNlemd3eFRQWlp3OTh4R1hOczZDYXFKdEQvRHVFN3JLRnhnSUk0bHpBcFhXTUZxRHRoVDlLaWU1Y2czWXVZZUJ6WkhZU1c4SVA4L0FvUE5YaFhaM1dkVmZwVmg4ZWpZTlcrN2RTVGNRcmxVMDltNkt5QUtCVDVzZ1pBT0J3QU9NSERnL09HR3h3dUdFYnloZ1ZNYlMybFcrL29mL2x1WGVWZUpZc3JweEE0UW1iY2EwV2pzc1lwSDRpaWs1U0kwWWkrNVZmcURXRHF1S0hDQWp2NXBMT0hMb1lXTFJRQlNLUGJQN21LN3ZvclBhb2QvSjJMdDNMNTF1aTZnZWtia09OOWJXcURVaXBwc3p6TlNua1JzeHVUSCtIR1RrZDI2ZGR3SVFaV2cycVVFL3gyUzZMS3FMOFY0UUVvRXBKZUs5SzVwVUpMM2JiR1VwNXdBMTNnbjJwdHdpb0JxNVlhZTJyVXkyRk42WnBISW9tWndLdDcwNTErMU1OUXhTQ3NBWGVWVWl0dXJ3RlFqYzZ3UWhHN2l2R2ZXTUhmV0ozY3BIdHNKWDVGYnF4WTN0cTVvT3ZVa25EN2pGOFNkV0VVSU0vMzV0cy8vaHZQRS80cE9wYWNOdHR0NSs5QS9sMlBtem1iSHR5MTNZVy93NWRoUG43MjV5L0Z0dFA5aGtaTGpVamx4L2RWN2p4OXptL0t0NVd4ekxmL2VUSjdMNStwMXpXR1A4a0xGd0lDWDliSU9rRHExc2d4czNydkF2Zit0L3haVFY5djJpQU9IYnptYTk0dTc5d3o1UkpuM1N5a1JVWTBBcGhKUTRyU210Q0ZCS2taaUl3d2NPa25jMVFrYkVJcVd6M2lXS2F1eWFuYUs5MGFNNVBjTnFhd2xac3pUclUyVDlQckdNT1hyNEdHZXZmVVNmdnUvcEtnWG84cDZJVXRRNkI3bUdPUGFxcXhoKzEySlFPcld6VEVaZ0I1U25wczFJbStHQm9mUG0vMDV2Y29DYkwzT2Jkejg2ZGRYeHRwbHV0OTN0VExjNnRWSGhHa1JzNEg0aENObEFJUEJBWWdWSUJkcG1xRlN3ZU8wU3UvZk5rTHN1WnkrZTRrLys5QTh4K0Z4WVJ5bGk0ZVpLNEZQRmtpUUpSdnVITnFFa1Npa0tZNzFvQmFJMFJXZlpJTk96d2psSEpLSFg2ekNsR2lpcGZQUFNLTUlVQm1jY1NaTFNhclZJa29TNERubldCaUV3dGlETGVsZzBTZ2lFOGxGdFU2WVhZQ3hSdlVZY3gvUTJPbDVNbDdabVNpaUVjRmliM2ZQUldPRFdLdk11L2JQS05OWEI3ajd0YVNEd2swQVFzb0ZBNEFIRllqQk1UZFU1ZitrTSt3L3VKbk10VHA4OXdUZitqNit4bGwvSFZpS1dFUkY3RHltQXZCaDZnQW9OVnZzaXBLUldRMHBKcDl2eFE5Y0NvbGlTNTlvN0hEaE5YTFAwZFlmNTZiMElVNURuaG5vNmcwU2dyU1ZLSWx4bWlKSVk0L3BvVzlDc0ovUXlRYi9vWUNpUVpPUkZNZWdzVnpiWnczUzd2ZzF0RXBIbkkyYXhvc0NVZWplT0ZVVnhqd25aN1lMRW00WmRodk1uODJ4dkY0Y3Z6dHRaRld2dnFkOXpJSEFuQkNFYkNBUWVUSVFsU2dTWEY4OXg1S0Y5ckxhWHVicDBqcTk5NHl1czVVdEk2VEIySkJJTEU3a01uL29aYjBtYVFKTEVDQ1BKZWpuT09rdy93eUpJU3o5WDV5d20xMlBkMkRxOU5hN2Z1TXlCbWNQWVNORGU2QktybUxqV3dPWTVtUlpFallqQ1pteTBWOGhjajVta1JtK2p3L0xHTW9ZYzZ3b1UwRWhUSWhIUjcyZFk1MzFTcDlJcDJ0a0dTWG04cEJaVG1JS3NGRlB1bG4zbDdrRkdoV0FwWXVVZEN0bkIxWTlrT24yNlUzdlBCOFFEZ2RzaENObEFJUEJBNG9Rak4zMmF1MUxXdThzc0xsM2sxLzcxUHdOeUdvMllWcmM5bms0d05veGNpWmVkVlFMQ1FaNkR5UW9rRUJFekc4M1RyRTJUUkNscG10THV0cmplV3FTZ2o2YWdXVXZJYkk3TkxLKzk5VDBPN1RuR29YMUhFYW1oYjdzNEFZVW8wRVlqSTRFMmZXUU1TU3hwWld1Y1BuZUNpMWZQNExETU5PZnBkRHJrbWNWZ1VkU0k4UUt2eUN3cERXeHAvYS83QnBVb2hEQTRBWHAwVEgzSGJ1QXRsdDhzUjM2UVozNFh2NEdkVHhNT0JPNTdncEFOQkFJUEtCYVYrTHFvOTA1K3dPLysrNjhTUzBIUDloRkdEQXE3Tm91dGFGQ281TXI5N0JScEdtTnlRejFxY3VUQXd6ejMyRS94eENOUHNuL1hBWklvNWR5NWMvVHpIdWNYei9IdXliZjVhUGxEK3IwYzd6VVE4OEdsOTNubTRrbDI3NW1uUHAxZzh3SnRNMFFNU2ttS0lrUFdIRFBUMDdTeWpITVhQK1M5VSsvUnc2Y3N0RHNaZ3BROWpiMGNQM2FjSjQ4L3pZRTkrM0c1WVdOdG5RdVhMbkR1eW1sT1hUdEpUbzhpTDVES2w5M2J5dkhzZm1CQ3dONXBPc0VtTEVITUJnSjNTUkN5Z1VEZ2dhWFZYdVBhNmlYKzhJKy9Uc2V0TVRQVlFOcVVqZTRLemRrNm5WWnZZZ3VKUUNDSnlraWNZK2VFckNUTEpQTlQrM2pwczYvdy9KTXZjWFQzdzZTdVFkNHFXTzhXUEhINEZRd0ZEeDk5bG1OSG51TGJiLzRkYjV6NklZWWVhVlRINklMWDMvNHVXbXNlUGZJRUM5UDdrQ3BDSnBGMzFFZ2NoYzBwdWdXbkxwemt6UTkrd0lYTDUzQlk0cWlCTkROODRYUC9GYSsrOE5NMGtpYmRsUjZ1WlpsS0d1emU4ekNQSG5pV3k4dVgyWC9xVGQ0ODhVT3VGOWN3SmtNb2k0Z3NMcjlMTDlaUGdsRWh1WTFieWFSd3JWcTkrbFh2N1BzWGVIdXRuUkx6MVMvM2ZubVdDQVMySXdqWlFPQU8yYzVMVXQ3aFg0Yko3VzVuMUZVNlN0OU9CcFhodDBQbG5TcnRabi9LajhQbytzNlY1dTZqODhycGRtY21KaUpkY2d0cm8rMnZ5cFk3c0hpUDB1cWNobHNJTjVJVk9taDY0SHczSnBseFkvMHlYLy9EcjdMVXYwSWFLWlpiMTNFVTFKczFPaHNUSW5ia3ZPd1c3KzZhanpITTdYTXpZL2JPUHNRTHozeWVWMS84R1E0dUhLTFlNTFJXTTJxaXh1N1ozV1R0Z3JWMmk3aWhlT3F4bjZJNU80dVFLVytjZUkxTWQybUlHcWV2bitieTlhdDg4Zk0vejNQUHZNamN6QUpvUWIrZlU2L1hXVjY3d2RMVjYvemc5Vy96d2VWM3NSUUlFdEExdnZ3UGZvVkhqenpKZExRWDJ6Tk1SU2xUQzAya2plaDB1dWllNGFFRFR6TS9mNUJhYzQ3dnYvUDNYTzZjdytRZG5DaTJ2KzVQdThUK0R2ZC9weUoybE5JbzdWT3Y5N29QTTVRRGdTMEpRalp3WHlNZENPZHcxb0x4UGVXRmt3anJ2TWl5cGJxYTlKTXQxWkpnT0d0MFdnbTBVYUUxNldQcUFDZmQ1czQ4bzl0TWRNaXBxcnVIKzl6OG9kci8yTG9qN3dmK204SmlyV1lvcHVUd21zcjNZK2M2TUdIeTRrODRYMkZlL1NFVlcvcTRqbCtjR1I3QWkwNHo0bG03aGM5czVSa3IzZWI3NTg5eWkyTk5ISFBvNlR1KzNBcUxFeGxXYXFTTnZKaDFrYjlYWmV0WlovMStwNlpyWkZtWGJ0Wm1acmJKOWV2WFdldGY0OWUrOGo5UzREdFRkYlVkM0p0ZXA3K05nTElNNzZqbHJvV3MyT0w5Nkx4SVFtRVJLaXA5WUNXeGlyREdFcFB5K2MvOExFODkvQ0o3NjRjbzFxRG9XbWJxMDBReXBwZDFNY1l3TmRWQUpJTFZwWFYyTlJiNGhaLzVSWXF1NGUwTGIxQzRISTJtelFiLzcvZitJOTkrNzIvWXRURFAvUHc4VTFOVFhGdGNZbjExalpVYnEyZzBEUnBrNUVna1AvZnNML0hLNHorUE1uVmNKMGZaSEltZzMrMGhYSVFVQ1FLQnl4dm9mcCtuSG4ySjNYdDI4ZlgvOUs4eHBRVE1IV3c3U3IvVi9aamtiZ1h1TmhIWXphdHQzZkhyYmc5dHl0ZWROalM0MjJtSXhnWitFZ2hDTmhDNEM0UWJENFRldk4za1RmYkQrQitWangvVmxWdS9kOUpISXAwRXpIQmFyZU9HNXl5MkVwSzNjSDRYemcyT3RwVlFIVGU5bjFRTi9yeGsrYWZWT1RNMjNmeW4xMnd4TGEvUm0wd2huY0Fod0VrRWtPVVp1M2ZQc2JSOGpVeTMyYk4zaHV2TGw5am9yUEJidi9lL1kramhtRXdmbURqTlRYd0NBbmIwR0pOQ2JYU2VHYm1uVHFKRU5IaDQyTlZZNERNUFA4MitxUU1vblpCbk9SUUNpOEJHdnQyb0VBS3BCSG1lTXpNMVMxOTNhY1l6UFAvVWk3eDM0VjEwS1VwOU9WYkdqZFlpSzczcm5MbmkyNVJhSXhGT29vaFJKR1ZCVjh4RE00L3kvR2RlSmlsU2hGT0R5bjJCUWVEVnFRVmlsZUJzaEhJMUd0RU1zL1ZkUEx6d01CZVczL1lpOWxiM1lYVDY0K0lPOXY5SlJHSkhEMjEyYUJvSS9DUVFoR3dnY0wvaXFwNzFzRW04YmxwUFRFeEhGcGNDWWp4aXk2YjNrMWdIVWppRzNUczNiejhxWkNlWHkzTFkzNWJuNzBvQlZFM0hyMnVMNVM0R0o4cW92TVJaVVVaa2h6SFRlclBHNnNZS3FJTHBxWlNOL2dxZFlwVi84ZFgvQlUyWEhYY2RRRTRPRXBRTDdHQU5rRWpyQlhvcUk3UXBBTUdoL1FjNGZQZ29pV21pQzR1ekFpVmpuQVdyL1djaEpNNVlzbTVHYzdySmVpOEhLWGppOFNmWis5ZDd1WjVsU0JRT1M1OE9Gb25SbWtwWktpUk5OWVZ2OHVUajV3a3BoL2NkNXREK1E1aFdqcGZPR1lJQ1FlNGZKQkFvcDRBRW5XY0k1MGpUbElhWTRybG5YbUR4YjArUlUvZ0hPRCswd2RoM2NadnBKU0dpR0FnRWdwQU5CTzU3NUdieE9zYldacEt1K3RjZ3JEd3hGYmVZanE1L0IxbDZWdmhvcm5DYlJldHRUMjNOdjNXaWZGRXFJd3NZak5IMDh6YXp1MnIwaWpXdUxWM2tmL3ZOWDhQUVJWQ1UzYVYyaG5FUFVsRW1MUWd2MUVlK1R5VVYxaHB2cnlVVUJwOWJldVRRVWJDT0l0Tkk1Nk9ma1pTWXdtSnpuNHVpSW9XMklFVkNuaHUwQmhWTEdyVUdMejcvRXRlVzltQlVSaFJMakRTc3JpOXg5ZHBWdXYwMnNoU3V4eDkrbkpuNkhPUUNseXZxcXNsbkh2c01FUTVIZ2NRZ3lnNW9rcktMbC9OTHRjblJSaUtFS2J1SEtSNDU5Z2lDQkVtRXhGWkI1MDIvNGVyWEtzZm1EU1AwRG91OVpaUGxRQ0R3azA0UXNvSEEvY3pOQkt5dzQza1BXNDNWVnNib1F2cUUwdEVwMWlmUk12cFpqcTN2cXVXbHNCaWRqbTIveFhMaHlxcHZNWDVXMndtVFRjdWRSRGlGajFoSzM2WVZ3QlZsMHE4bE4xMW1adXVzZFc2dzBycktQLy9OL3dsSHh1ejBGQ3V0ZFhZK0lqdVVhMVdLeGFRdnFYS2lqTXVDczM3b1BoRUpjOU5URkxsQmFrMmlFcVJVWUJUVzV0NVhRU1ZJSVZFVVREZW42ZmY3MUpJYVVVMlJaUm1mZi9uenhQVlh5RTJYUnFORzFGQjhlUG9rMy95cmIvTEJtZmN3V0Y1NjZpWCt3UmUveE1HOVIxQXVKZTlvVE04eGxVN1RXbG1ub2FaUUZBZzB6cGxTamd0d0Z1RXN3aG1rOE5GazZjQVVtcW5wR1JRSlpjMCtvOS9CcUR2QVVPSXpNcSs2RXdKN2ozajVCZ0tCblNVSTJVRGdma1pzbDY5WlZlcVBqVmVYMCtFOEsreElQdTVXVW5MN2VKY1B6bTYxN3FoUU50c3VkNEpCV29KM1RYQVRVeWFtNDh1OW1LNEszOERuQUpmSEZCb25NMmFtNnR4WXZjUnkreksvOFp1KzJVR2FTRlphaXo1d3VORWlpVE1BQUNBQVNVUkJWTVBoUElmekJWR0Q3N0JLdFBBUEFnS0JjYnI4NWl6R0ZqZ3NTZ2w2Ulk4NFVTZ1NwSlBZd3FLMXdWbElWRXdjSi9SNlBVUUVjUnhSOUF1aVJrUVVLVGJXTjBqcWdsNm5RN3UzVHE4WFU4OFNPcTAyT3ZONXN3SkJtaVJvYlZsZFdVRzZsS3hkRU5tSVpuMktvc2dSMG80VkpjcEJpb2RQR2xFQ3BKSTRvWDBLZ3ZENXVvb0VSWXFsTzVMRFBjdzlIVDcreUxIMFdVdVZreDNpc0lGQXdCT0ViQ0J3dnlJc09EMGhGa2V0cHV4RTRWWVYraHdkdXJZREs2NnRpclVtWFF0R2tjNy95MDJzTzdhTkdNbVIzY0tWd1pXNW9MYWNQemF0NW0rekhCY2hoVVk0aVhVU2gwRTZXNG9oalpVWlY2NHZvV256RzcvNXEyaTY3SnFmNHZyS1ZaeUFlajJpMXgxcFAvc3A0MGJ5ZzhmblY1bkREaWw4ZEZNS2hYT09ITi9CcTZESDFXdVg0VG1IbEJJTUdGUGdyQ1JTTVVJSWlxSkFhNDJTaW42L2k1U1NvaWh3U3FOMXp2ZS85VjFPbm4ySFRMY1EwaUVpU2FlM3dYSnZHWUNZbU8rKzlSMU9mM1FXblJrYTZUUldTeFptZHZQbFgvZ3l1MmYyUVNZUjFzZFJIYUswWDNOUUZvQTU2UkRLWWsyQlE2QWl4MXE3RFlDcDBqcXFVWUhSZTFEK2hNYjlPTWJudWJGUGdVRGdRU1VJMlVEZ3ZzV0N6QmpVSUEraXMzWVlpWjEwSUtoeVdxc1VBYjhBeXVIZ3NTbHVOSkYyODlRTmt3VzIzVjdJYmZmdkdGcVh1Zkw4eHFiVi9HMlhDN0FqK2NIT2xQTFBteG81cWVsa04vZzN2LzJ2MEhRUldLNnZYTU1KaUJMbzlYZE94RmE0eVlpNkc0ODMrcWkxSllvaWhGRG9YR09BekZvV2w2L1N5enRnYW1XZXNTQ0tGRkdrTUlXaDErc1J4ekZ4S21sM2MrcXpDV3VkRHRaSVZDTDRtemYvaG96MWdkTkFRVkhlTzR0RW9zbXhXRGI2YS9SMVJxWnorcTdnV3Y4Nmp5OCtUck01UXlUcUtCS2ZxK29Na3NyQ1RHSUZPT0Z3YUFyZFFWaUZVbzUyZHdPREtmTmJxd2V2aVJzeitQbjU1VlVlN1hiR0JvRkE0TUVsQ05uQUE0TXJ2V1NkYzRPL2dOV1E3WFpZZS9zUm4ycS9ibEk4c3UzSExhT2Z6cm5CZXVJbUVVMWtUbHFIdi9uYnYyVGZ2bjJzYjZ5U3BqRkpFdE5xcjVPbThkajI1VWJsenZ6VTZKeWJPVTBhNDdaZExyRWpEUWUybmpvbmJySWNuTDd6WWl2aHdGbU5kRnQ4UjhKaGhlVjNmdmNyV0hJY0drUG1oWkVBclNuemFOazVOVFJNOS9TYVAvWUZhNjR3ZzNOS2FpbFpwc2wwRGdKRTVGdnFHdURzNWJNc2IxeG5WeEl4M1poRnhSRW1LK2dXR3Vra2NWMWhUSUVXUU9KWVdsOWllcTZPVllhMzMzcURuQjZhQWtjR1plRVVBeUU2cEdjN0ZEaTBXeU9taGtienhzblhlZkxKejdLKzFtR2hQa096bmxJVUdiMXVHMmNNVVJLaDRnZ2hIVDNkeGJpTXpFRFh0UG53N0FmMGFRR2xCL0oybGdTam1UQVRlZFNERDBISkJnSVBQRUhJQmdMM0xZNHJWOC96Si8vWDc3UFJYa09UQTRaRVJ1UzJUeXdVaGN2TGRVZHJ3RWNMYWlxaGVtZFVPbXo3NVRmdlNUODZkUHh4RGQwcFV3aWd5aUVkZHpWd1dDSWtoZ0pMdnFNT0JkdVJ6aVJrbmR3L0FHa0htS0hBRnBKK3J6ZjhqSDhRTXVWbEdLSDV6My94Wi96RFgvZ1ZEaDdaeitMbDYvUTIraHcrZUpSRzJ1RDZ0U1dtNTVxc2JxeGl5Wm5iTzRXaHo3c2Z2TVViNzN3UFRSOURoaUduU21qWUZDRjFZS0lJazJ0TW1lT3FuZVBLNmlYZWVPOTF2dlQwUHlKdldkYVhiMkN0WmJwZW96N1ZwREFGN1g0SG1Rb3kwNlV4bHhCTkNjNThlSm0zMzMrVGdoeUZBb3FoR0pYNFZCUTdmTkJFc1Ztc2xnOEF3dm02dmlCbUE0RUhteUJrQTRIN0ZzdlJZL3ZwOWRmUWRBQ054S0Z0RHlnb25FVU9CTW1veUt0Q2dXQzU4MTczVlREelpqcmkxaEo1YUFYMmNWOCtMbGtnMGVWbldWYTlEL2RwU3JOL3lpSHpMUTY5bzJSdEgya2x3azkxK1hKNFVlZTh6MnhTaTNIT1VCanRMeU9CbUlRVFY5NWw3NXY3U09xUytkbmRSSEdkMWRaMVZ0YWdLQXkyMnljWEdmV3BHQlBsbkRyOVB0OTU0Mis1c242QlJxcFl6ZktidDRvVm9FV0JFLzcrMlZoaDhvTFY3ZzIrLzg3M2VYVGY4eXdrKzJuT043RFdrbWNGV2IrTmtBWlhjM1Q2YXlUTmlFTGxuUHp3Qk4vNXdiZlljR3VBSlUxcjVKbjF1dFU1bkhXbGtCWkRIMTAzUEkrSnFxK1AwNUU1RUFqOEJCT0ViQ0J3SDdPMnZreFByd09PMmFrbXJmWWF0b3pNZ3NXNjBaaG5OYTJVa3kyN01OM0VtZUNteTBham8zZktpS2Z0eDU3NmE2emlyS0ljR2grV3NVa3NabEE4TmJnU2Q5Y24vY2tSNGMrbmlpdzZmTjZ2VU5UaUdscGJYK1RWTnd4RGtSWXk2THVjaElpL2UrZS9zTjViNWt0Zi9FV09IbmlJYmlzakVna0g5aDVnWldXRnFTaWgzVnZqZzdmZTQzdHYvRDFuRjA5aE1NUkdlQkU3RXZFZFkyQVZiQVlGV1Zab2tMNkk4T3J5UmY3MEwvNVBuanYrTXM4Ky9Rd3pVN1BrTGlQUGVpUlJSSzJ1Mkwwd3kwcDdpVE1YVHZIdDcvOE5aMjZjeHFDWnFqZFk3N1ZSSk1RdVFnQUdqU3RMNEt3ei9odlRlbkRaenEvRXlCY2NDQVFDUWNnR0F2Y3R3bEt2cFlCRDRjaUwza0RFMW1vUmVkNGYyRnY1RUZZNUhTaUJLZ0sydlNKUVNtMjdETGhsUzk2YnVSNTQ3azVSVm9GbVVZNUd5NEV1bDRNMGhFM2NRNUU4NmNCV3dXSUhhZFJBQ2tWaExEcHpnQ29mT3lJcUw0ZElSU2dsdkh0RFhtRHA4ZFpIUCtEcWpVc2NQL1lFUnc0OHpPenNQSmVXenRMcjlWaHJyWEwyd2lrK1BIZVMxZXdHamd5TFJXL2xqTVlXODBaeU9vd3VCb1dDMm1XY1huMkgvR1NMZFgyRlkwY2VZdi9DWGhvemRRcVgwZTUxYU4xWTRhMTNmc2hINXo5aXZidU1vY0JnNlJZWkVOR2dpU0JDVTZES0Znc09SeW9qcklTdTNzQTRpek5lVE12SVIydU5jMWk3elhrSEFvRUhpaUJrQTRIN0hvdEIwOHY2Z0VVSWg3WGF0NUNkMUltajVmREMzYktZelppYjU1WGV2U2E4ODdEYVFKZVB6TGhaaEhpc3JtdmN3MmxuY0dBem4wRlFUK3JZUW1BTGgwWFFZSm8wcmlHc29EazlpNG9FclhhYjlmNHFWbHUwdGxnMGFTTEpUUjlyQ2hiWEwzTHQ3VVdhNzc1SkxXNVNGQVZLS2RZTG55UHI4MkV6NGxTZ3BQZm4xZjFiM0lNeUNpb29DeFdkR3o2OWlCenREQmZXMytmaUd5ZEozNml6TUxPYm1lWU1wdEQwdXh1MHVodDBhV0V4V0RRQ1NSSW5hS3BIalpqRHlSR09QLzRvdS9jdW9HTEZhbnVGc3hmT2N1SEtlUVRRcCt1anRjNWlDNGVTTVVvNnROQ0RwSkpBSVBEZ0VvUnNJSEFmVXhRRlZRRlhQYTFSNkE1UkxEQzJCOEFtblRwUWZ4YWNMU091TjNOdHVEdWhzTWswWVJOM0U1R1ZPREhjWHJqS3h4U29taWRNUkp5RnFLeTg3dUt3bnhBQ1NGVk1KR04wMytDUVJNVHNuem5NQzgrK3hLT1BQTUdlaFQxRVNVcWU1OXhZdWNIaTlVVXVYYjNFMmJPbnViSitsbDdld2tyZjBTeE5Fb1JWdFBVYW5heUxRbUtzeGFGeDVNZ0l0SUhjdUhFaFgwYXd0L29kU0ZGR2pBR0VLdFdzTEwvWWd2cXNRSWdDbDJtNnZTN1p4aHFMRzFIWmdjc25kZFNpR0JsRmJQUXpISTZzc05UclU4dzNkdk0vZk9tZk1oZk5FY2NLYlF0STRQRmpUL0RTWjErbVczVDV3WnZmWmZIR0ZjNWZPVWZidEwyZ3RSWmhmVDZFdUdueVN5QVFlQkFJUWpid2dIUG5FY0hSQ045QVFJMStabVM0K3liYjNnMUNLQlFSQm8zV0dtMDAydmk4eDFwTmtXVWpFZFdxZ0dqNDRaWVIxN3ZsMXAyejdqTFJVWlQvY3BTRDB1VnM1emJ0ZVNCN0twdmJIVWZpYTdjTWdwamQ5WDI4K05tWGVlNlpGOWszdjkrSFRKM0M5aTJwVXp5MDUxRSs4OURUdERwdDNucnJMWDc0em5mNWNPa3RDdG80QVoyOGp5QkhvdkFacDE3a1MrbmRYWTNKdkY2dC9xOC8rT3A5dnZUV3lhZERuNGc0anRHNmJDc3NCUmpvZFlyaGoxbUNjUVlodlgyY3RSYXBvS1Y3dm9BTlNVeUtBSTRmZUlKLzhvdS9RbTJ0eGx3MEJ3cXlJc05hUzZRanNCRWlLL2lsVi84YlRwNytnTVEyT1hYNUJGM2FHQXJmSmV6ZStCSURnY0FPRTRSczRQN0dPVy9YNDB1ZjhlTzE1ZkNuYzV2LzFHMVoyelR1enpxYTE3a3Bvamk1clhVajVmdVZlaDBhL1kvVzBZenUzM2UxZ2tvMGpMYjVIRDJ1cmNKaG95SjU1RnkwZGdnVUlERm0zSXNveTN5NzBpR2pRdVhlczZMNitOaHRud2JjNUhxVWhXdVRWV003aWtTUUFoRjFNY1BQZmVHWGVlSHBsNGxKU0VXVFBNdUlwUm9XNnZjZHVtOUpYSk5YbnZnaXp6M3pDci96Zi84bTc1OS9remoyTFExMDBTZWRxVlBvaktMZkE2RXdBbDlBcGhRNE0venFIUWdSSVdTRU5kN1RWYVVKcGlnQWc0ampZZXFKa0JTNjhEOWFLWW1FOGtLNStvRU5UQVljaFIxeFlnQnFNeEg5RFUyRUFoUy8vT0tYZWU3NEM4em1zOFFxeGhtTHN5Q0pFRTVpZWc3aEVxYXAwN3VhOGZpZTU5ajNNOGRJdi9QbnZIN3BPejZ6VzJab2ErNk5yekVRQ093bzkwcnRiaUJ3M3pKYThDVGRlQVJXVE13ZlhiNVZwUFoycWJZVm16eUl0ak9ZajlqMG4vdFBSRURMM3NicjNzV1dlYUl2di9BekhIL2thWVN0VVl2bWtDWkZGREhLSmlqalg1RkpVQ1lkdkdKZDQ1ZS85STg0dlBBSXVoRG93djhvdXUwV1JaWjdEMWFNRjYvT2dTazdvVlVXWHdZL1RPOGNRamlFZ2tnQ3FoVCt1dkRiK2cvbGU0M0MrVjFYdGhXVC9ZUW42SGVxak5pRXgrYWY0Skc5ajdNM1BjQTB1MUEyS3YvNzhSM2FoRk1JNjY4N01pbDFNVTFpR3RSZGcwY1BQOGJCNW1IQVlxeEJoakJNSUJBZ1JHUURnVUJnaC9DK1VydHF1L244eTYveTBPRkhXTHEwaWtvaXBCTW9tVzVSMFFhVjZBUEo4YU1QODl3VHo3RHluY3MrQ0ZwTGFQZlhFUXBpRlpGYlArWXZ5bHhpNlFRSWdYQytqYkZ6bGxqa2FPc3dCbXpXSDB1TFVUQnd2cERWcUlFcGNLWWdSaUJGRFJCbGg3Y3FFY0YzQjdOT1k1d0ZLNGhJbUpQenZQTE01emk2K3hpeHJWSDBOS0tzUmhST0lnY2pGckxNZDVZb0tmMW9oWk04K3RDanJCVFh1UEQ2YVFTQ1NQcVVta0FnOEdBVElyS0JRQ0N3STBnU0VwNTc4am4yek8zQkZRSm5KTDFPRGk0bVVTbkNSZUFpY0JJMzBwWE5tMDVJaW5iQlo0OC96ZUZkUjN3RGlMNG1KcUptVTJ6Zm9veEFHUjlrVmJZY0ViQU81UnpLUW9Ra3Rpa0s2V1AyRmxJSE5TZVlTUk1pNDkvSHprYzlFaVFKa29pSW1BaGhGVmlGeEw4RUN1a1V3aXFraVlsdGpaZ2FNU2xOTmNPeC9ZL1FWRlBRVjlnTWxLM1dGd1B4S3NyTUlPa0FZOEU2YktHWm05bkZRMGNlOGlrSUNHeGhmeklHRlFLQndGMFJJcktCUUNDd0EvaTZxNVNYZityejVEM0hScWZEM05RQzdiVU9SR293VkMrbzhxbmQwRGdYL0ZCOEVYTnN6Nk04ZHZBNE4xYXZEa3EyR3JKT3k3UlF4SXcyRXBabEV3bFJydW1va2JnNnlwY0xBbERnMnhyckhpaHFSRVNrK0lLeG1CaE5nUU5pWW9veVdseTFJaDVHWkMxdXBIdEJTb1BkalQxTVJUTkVKa1hZaUNocW9HMFBLMzFabXFzcXhweEFPb2x3MGhlTVJRSXM2Tnl3YTNZWHUrSjVOb3lqYlZzL3JxOG1FQWpjUndRaEd3Z0VBanVDUktFNHVQOHczYlVjYlMxemM3dklOalRDS3ZKY0UwZFZ4d2ZBT1c5a1FHbTg0QlFtUzRsbG5XY2VmWVZkelQwVXJrdW1PNmhFa2RSaThrd1BqaVVjSUN4eTJBT1h2QzlSS2lsVFhRMnQ5Z1lmbmZtUWxjSzNrWjJOZHZINDQ0OHoxV2lROVF0cWNZbzFvUE9jUnFPQkZXYVljZ0JJNi8ySmpkUllZUkZDNEp4QW1aZzl6YjNVa2dZVUFxc2RVa2tFWHJSV3NycnF5MWFsTnlnRU9FZVMxT2oxT3RSbTZ1eWFtNk83M29JOHRQZ0tCQUpCeUFZQ2djQ09JSUI2MUtESU5NMzZGRVVQaW41QkxHdmdGR09lRjI2TFNpb1hZZk9VYnVZNGV2QWxqaHgrQnBVYUN0dGxvOU5pWm1hS1BOZCtIODYzdHBYT0lmQU9CUWhMVWtzeHhuaGhyQVJYcjE0bHl4d2I1OTVENEhqaThXZDQ5ZFZYMlRPL2gxYXJReTFPZk9leExLTldTK25tRzM2ZlRuaEI2eVJPV0t3MGZpcndRclZ2YVVaem1KN3gzcllPTWwwZzQ1dmRJWXVVaXFMSXFEVnF0THFyMUlRa2poTDZlZjZKZngrQlFPRCtKQWpaUUNBUTJDSHE5VG9icTJzY1BiU2JWcS9IeXNxYUY3SkFIS1hlTFVDTVJ4eXRHTFlXbnRrMXhmckdHaktHOWM0cVFoZlVwbUp5MDZMVnJjU2VIS1FrQ0RTeWpPbGFZZW0xTy9UekRDRWNhYjFHTzE5anZiZE1RUSt3WEYrNVJLOVlKN2RUZExJMXRFbUlwS0xmeitrYmhTdlRFWlNWWS9tcVR2aUliRmJrSkZFS1Z0S01ZWDFwallWR1FwU21SRUppTEFPUjdVL1FnaE00NGZOZkxZSXN6NWlKbWxock1SWUtvOUhvNENNYkNBU0FJR1FEOXpuT3ViRVh1SWw1dHZ3ak9mU1dIZldkc2grallidHozb2ZVYmVQeTc0KzM5ZkxSK1dQTHhlZzZJejZ6MngxLzVEeXNzS0ZjOHo0bnkzcElDV3RySzFpam1KdlpSWCtqUUd0Tm1rVG8zTGNKZHNMZ0lnZFM0S3loTUJyamNucjl5K3c2V09jdi92SS84ZnFQdm9kS0RQMmloUlhHNTlXNllYNnNxRHFlVlJGWkpFcE1vYTFBVzAxdU5Gcm5GRFl2VzhvYXpsOXY4Mi8vNEQxaVZTT1NDcVhpTXZMcUhSZU14ZS9IRGd1MUFKeXdPT0Z3MGxHdk4xbGJYZWVodlkvd2o3LzhLNmdhTEs4dHNXOXVIemJ6YlpKZEtheXJ4aFpXS2lJUmtXY1pTVDFoYldPTnRKNndlUDNpd0Q5V1NqWFNkaXdRQ0R5b0JDRWJDQVFDTzRERHNwcmY0TU96Si9qNUwvNFNXVWV3dnJyS1RHTU9Dc3ZLeWpMVDAwM2lOQUlGdWNucDUxMk1nSHE5U1RyZFlMM2Y1dkxLUjV5OStqNkwzYk9vcmlISG9LcGFzWkVHSUtOTk9vYXQ1ZGF4S0d6WkpjRXczbVNnWnd1d0lIVUxLUlRLTzhpV3ZUOEVqZ2hReUxMY1M0dzAzWEJZTklaYVVhZFB6bUxyQ3BkWExqSjFaSVo0VnRBeTY4UW9aQlNobENLT0lpeVdQTThwOGo1OTQ1aHFUTFBSWHFVMm0xS2Jqcmh4ZVluTFMxY3dXS0pJNFVLR1FTRHd3Qk9FYkNBUUNPd0lGa1BCVysvOWtCZGZlb1daeGp3M0Z0ZVptWm9oa2pHMVJvd2h4MmdESnNjSWk0cDh4TExYYjdPUkZUVDJ6SExtMVB0Y3VMcEJRWU9jREV0QllWd3BTWDNYdDZHdmdFOHZHTzhkYkFmTmZRZmpFMVY2YnJtYWNTQ2NLZE1TdkdCMTVSWGdUYmNHLzFSZEVtenBYNUE1aDhad3ZYZVZkOCs4dzl6Y0hMc2F1K20zT3FoNEdxTXpldjJDd2hZZ0hWRVVrZFJTRXFYbzlkcjBUWjgwU2xqZVdPYURqOTZuVHcrRExqdmFoVUt2UU9CQkp3alpRQ0FRMkFFc2prUkl6bHc3eGYvUDNwczF5WEZsZVg2L3U3aDdST1FLSklERVJwQUV1RlZ6WjRIVlpIRXA3dFhWNjh6SVRGOUVEM3FSSGtZeW1lbEYwaGZRSjlDTFpHTXpZNUxhMU5QVFU5M1ZYVldzS3JLNGd5REJCUUN4SkpCYlJQaHk3ejE2dU80UmtaRUpFQ1JBQWlEOFJ3dDZJTUxEbCt1ZUVYOC9mczcvL09hdFgvSFQ0ejlqZmsrUFliV0pKU1hwR0x3djBYWGRseVpXK2x1dDRoMTE4VnhhdmN5SlR6NWx0ZGdreWt4TndHQ01Sb0t2aThicUZzYTF5SXdDTU03WmJFbEExUUsyRm9lS2NkOWtGWjBGR21zc0NRRlFVYVpxQjBvSVBxNWpuTGRhNS9GcThMckMxeWtBSDN6eUR2djM3dVBSQjdyTUxNd3h1TFJCYWpxWUdZdlJjYnNBdkhmazVSQnRZRzVwaG8xaWxkKzk4MXMrT2ZzeEFVK1NXY3BxdUVWc3Q3UzAzSm0wUXJhbHBhWGxwaEFZeURxR2hGKzkrWi9adDIrWkg5MzdCUDNMT1hoUDVVRUhUNkkxU25uS3FzQlhIcHNhMHFSRG1taCs4OHQvNHAwUDNzUXh4Q2hQS1NWQ2haTkc0VmxpMUxLWmpndkZBaHBOTXRvV29JN1VobTNpTUV6RWMyT3dWZ01lcU9yMy9SYmYyQ2pUWXlRWDcxRUt2SGd1NTVkNDk4UWZtWjlkNE43bG8zUm5GekNpcVh6RllEaEE4Rmlyc2NvU2RDRHJkRkZHT1BIeENYNy83cHZrNUNnRlJUVmt0QWt0TFMxM05LMlFiV2xwYWJrcHhEelNUcmZMRnhjLzRXLy8vdjhobEpvOUN3YzRzT2NRSmxoQ1dlQmRUdWtLcklXWlhnL3ZQVitjUHNWSFg1N2c3VC8raHI2N0NGUW9EZmdLYlNCSUUwMTEwYnBMbWxZSmNiMWpOOXFtR0t6NU40eVRhcGxLUVdCcUdXNDhYNU5STUhHcmYvUk1nVTAwT21pa2NueDg1aU9zTjF6WWY1RW5mL1FUZXNrTXlvRHBhTFRSWkZtS1FWT1dKYWUrL0pRTEt4ZjQ1emQveFNWV01HaUdVb0lCM2RPRXplMml1NldsNWM2aUZiSXRMUzB0TjRGR09oWmhnTWZ5NFJmdjR2OU8rTkd4eDltOGU1UGwzY3QwMHdURUU0TEQrWko4ZmNEbHk1ZjV3MXR2OGZzUGZzc2FGNEdDeElTWVk2b2d5YUFvSnRjVUk3RGpybUNUclYxalNOTWdCQ1dvV3BRMmViSmhuSDBRTXcwVWFGRW9ETXI0UnNydUtDWTFSRkVOTUhJVmlXdis1Tnduckp4YjUvSzVEUTRmdkp2RFJ3Nnh1SHNla3hyNlJaL3pYNTNqL0Zmbk9IWHlGS2ZYdjJTVFRZUVFpOUZVQlRyR2xGdGFXbHBhSWR2eUE2RDVGWjM0WVZOWCs1SGIvcXU3azR2VnFNcTdtWDNpWTFvZ1RIbGs2YW5GWG92TDViZjV6Q1R5ZzdIUzNINEVycnhyOGRqSzVFemJEdWtvUkxqekFtVXlzbmlEK1FiSHhDYVFsNTY1emd6RHZPRGpDKy96MVlVei9PR1AvOHdEOXozSTR1d2MrL1lza2FTVzA2ZFA4OUdKRTV5N2NJNCtBeXB5SEFPRUNwdGE4anl1VzExcC9jM2ZoTVR6SnA3WFlSU1BWYlhEUVpEeGNCb3o0VmluNnNDdUVrUmNGTG1hTFdQZnpEcjZpNHkyc0ZTVm9LUWlVeDJzYUJ3VnExemtEMTl0OHVGWDc1SCtJY09MUTJ1dzFsS1ZKWDNwb3dGWEMvSFVwcXk2emJqZ0JCaGUremhmbGRFQVhHRjZWYmFldDNIb2R6Nm5aT3RNOGVsMGo0dnRDN3ZLZ2xwYVdxQVZzaTIzTmZHWFY5Yy9kTTNkVkNRS1JCRVplOGdTWXZFTGdvZ2FLVUFOOGNkL2h4OEhKZEZuZG90dEVlT0M3dEU2UnBzalc2WmJsaW1UbjFjVEg1bjQwYXY5WWJmZnptMWVIdnZJZXJiUHAxVHNYNnBVNDF1N2ZaOXVQZlNXNlhoazFKUkUyTDR6b1M0bWF2WXpUVFdoVXZnZ2dNWWFTK1hMWm5GYlJhL1NFNHY5OW1KMnRNaEo4Y01PMDhaQUFLZ0wvU0dBZDVyVWRzaGRoYVBDVTdES0dxdjl6em4xMWxzeGkxVlpSQlNPVUkrS1FXR2lPd0VGb2dJYitkaUhLdDlKNE8wZ2lxYVRDeG9tTDY2Q1l4dHVjbmtUMlFpVHlRbWpkVXllM2tBaEpSV3gyNWlpUURPSWVqVFVuL1VCL1BiTG1nQ0lDeU9ic0pHSXZkNXpYTEgxM0xqYThaUHBZWXpGZFkzaWJUSXM0alR1ZUdZVGhxNktIOWRna3BUS1ZmWENOTWFGMGJWQWFQYXozaDVsNi9HcngxQW5obERWMzJlaXlUb2Rpbnh3blFQUTBuTDcwd3JabHR1YTdRSTBYR05FTE96NCtlbC9Oei9xT3kxeU1tQXpIYnlaanJSZWlXbXhlMmN5S1Z2VXRsZmlxd3FweGNLV1lRcVFadUFkbEVWQWsyQzFSVVJ3M2swdWNub1YzLzE0MXhYL0tyV29JSVRLamRiWjZWaXNTdWx2VmxSQkdPZWJlckp1aGc4VlJSR0xwTXJhTExYYjdaS1lsT0VnSjRTaU5yZWFrbzdmWko4bUJuUHlQSTd1QS9HMWNkeDZJZ28rS2RpdkZsSGNBYWxiTFZ3WEU5NjRONHR4dkg5UzhVNWRXQkxiOEJxbFVFWlRlRTlWbHVPYzR2b0tyUEhmVlVvald2QVNxSUlnVmJ3NEV3TlZHUWlWQjRIWnVUbkt3bEhrK2ZlenN5MHR0eml0a0cxcGFibkpUQllpamYxTUo0bkNJWXltSXdSY1FSMk50eWdzSVdoQzNjTDB5bnBuY3AwM2dNa1ZiWW5pQ1pKWDllMTVoVkVXcFJSRlA4WlREUmtHUXplWnc0bW5kQU9LUVJPeHRLVFdVbFpSeUZhRm81UU5RcjB1clhSTUF4QVlTNnR2T3QwNjFsdkgrUnIzOTNibUdrVnhjMGoxeFA5SEN4aDFKQnVmbVpPTFRLMUJsQUVYWFIyTXNZaFdoTktUb0VaK0VnaG9iekVvTkFHUmdCVHhUT2hhUys1eUJNaUhKVXFQMTl2U2NxZlRDdG1XbHBaYmdFWUNqQ1hVT0UweGJLbXpud3dJQW1neGRZS0pwZHVabzl2dGNlbnlCWlR5QlBIeC91eU9tdlZHNU1mdUlQbDJFaGVpeVV3WHZNWkx3S0NZMVhQME9yUHMzYjJYaFlVNWZIQ3NYTDdNNWJWTGJBelhLU254bGRCUnM2Q0YzT2MwTjZBVkNwR1lvekJPd3ZnMjA3QWxIZlJxNC94RFJFMUkwNjN5L2xvWHNEWHEzeHg2WC85REtjaWRBM0hFbHNDV3JzbW9Lb2NBQ1pZRVE0OHVNNzA1c3F3TFFGR1c1RlhKcFhJbE5ndDJ3b3llb1pRcVh0aW9RRzltaHNGbS8vb0dvS1hsQjBBclpGdGFXbTRhYWtvMmJJbkhxbkdoMFk1VHdKQ2dTWUhZUHZXUmh4NW5lWG1aZi83dFAzRis1ZXlWVjN4RElsbE5qbVFzU1pyWXFkRTZFZ05hcFlqVGVCZTNjbmU2aDRjZmZKeGo5OTdIQS9jY2kya29ScU8xUm1sTmZ6amc4ek9uT1hQK05QLzRxMzlnR1BvNG42UFJHR3NSQ2lyZnBNWUkrbHQrallkYXhLTEd3N0Z0T3AxNk03V00yemtncUNZYTY2cUpiTmVkcm5uQzFMU3hUdHVXRnowMVFPTVViRTJDUlF0VVJZbEIwNkhMUFBQc1g5ekxYWWZ1WWYvZS9YU3pIbVZSMGUvM0dSWTVselpXT1hIcUk4N0xCVnh3cEtSNEhGNENnMEVyWWx0YW9CV3lMUzB0dHhSVE9jN1Q0bUJMU3FLbWF4WW9mY0NTOFpPZlBNTXJyN3pDNmJOZnNucDVFMFlpOHdveHRodWl3aVp2T285ZEFTRG1QNHVMVDVRWUxCbkg5ajdJQ3o5OWlmdnVmWWdFUzgvR3IrRFlMTXVnVEVKdkRycEhkck4vOXhHV2R4M2lYMzcvSzA2Y2ZnY1BXQ1VNcXpCMkp4Z3BwVytUV25DVlhkcWFOSHQ3SzlhckVuZFFSdFB0MUhKL3g2U1hwcmgwWklJeFhWUll2NWFZakZRU3ZLL3FDR3lQWTh2MzhzRGhCMW5zTHJBd3U1dVpySWNXaXhqQlowSlFnWTNoQmdjV0QzRHl6RWxPbnZ1NDl0STE4U0lrM0lnN0NpMHR0eit0a0cxcGFibXBYRkZxVGxlT1R5TUdTeGNQUFBVblArYkZaMTdobmlNUGN1TGpVNVRCa2VpRU1oUmJQejhkY3J3aDFIWG5FNVp2VFdSUDErdXlXQjY3OTBsZWVPWU5IcnJ2VWJTenJGNWFZK2hMWmpwZE1wdVJWNDY4cUJCajZIVjJNYmRuRDNjZk9zWnNkNDdzell3VHA5NW1VRjBlclVEcG1EVVJ0c1VMcjIwcXpVWERsWXJocHBrWU16MnF5Nzk5eFZUdFpUTDE2dmFZODNpT0VJL3hoRkJ0aWpyOVpHWGM1SG5iWEtDSUluaFBRc0tTWHVTQnUrL252b1AzY1hUL01WU2hxWXBBZGNsRFZXR1VKVFVwMmxxVVdCYjM3V1o1enpKTHAzZnhoMC9mNXV6d0N3SWFaVFNWMzhGV29xWGxEcU1Wc2kwdExUZUY2ZHU0elcxdXJqUnRDbk9rc2VwS3liM3c0bU92OEpkLy9UY29xMWc1dndaZW83Y2xMVXd0Qi9nV0daRTdzSVAvcll4dG1CSlNCTU85ZTQveXMrZGU0Y0Y3SG1iOXdvQnlDUHQyN1VQY0lIWmFMVUQ1aEk3dW9IUkNLSVhoTUtkU09ROGVmUlNiR1liNUdoK2YyU0JKQk5zUk5qYXJpZjM1ZG1JVzJCNTluWHcrWGNTMlJjeU9jMmx2VDZabGJMd2cyV0tQTnpIdlNNUk9XQkEzeHhxcHhleTBCNjB4NEMzZUNSYkxJb3M4ZHV4eEhqcjZBUHRtOTFLc0ZxaktZcjBoVlQwNlNRZUN4cFdCY2xEUTYvVVk5SWZNek16eDhORkhVU25rZit5ejRpL2lmYlJqMitaYzBkSnloOUVLMlpiYkdxMDEzbnU4VXhpVm9wUkNSQWdoSUNMUnAxV05IQnE1V2dtTDFENnVrOTZ3ZXZwOXRyNHZWM2kvbVVWTnVOUHY5UG5KdXZvZGwvODFackFpTW9vWlRjL2IrTW5lZGt5SVY1VW9wSkw2YnJpRkFGb1pzcXhMbFd0KzhleGY4Y1FqZjBvM25TZmcwYXJDbHg1REhZMmRabFNsZnFNY0M3WUt3aTFGYUlBbk1HOTI4ZGQvOFc5WW1qdUFHd1ptMDBVOGhsQ0E4b2FnSEVvc1ZtTEJXcWdVU2hHYkJ4aUxEY0x1dVQzOHF6Ly9yL2pmL3ZjUHFhcVNxcXFhN0lxclYyUjl6ZkZYa3RUblQwQWJGWDFhQXp2Zkl2K2hvVUFsSUs3T2RUVUtuQ0JvRW1QeDNsOTUxK3V4TVl4N1FvakVaaEpqZzVnUElnQUFJQUJKUkVGVXdhK2dWUFE2UGJ5cnNGZ2VQdm9vRHg5OW1LN3VVS3hXSkNIRGtHQXhLSitBVitBMXFWaXNzbWdQanBLcUNMakM4Y0RoQjNDaDR1L2UvdjhvcVlpOXpscGE3bXh1b1A5TVMwdEx5N2ZqU2w5RVVnbEtXOENpc2N6TjdFWWtvY3dEcnozN0JrOC8rUnhIRGg2bGEyY0lsY1pYNEwyYWlxdDlselRLZUN4b3g5cFNvOGw0OElHSDJidTBuMFJuNEEwRVRhSXpxandxUmlVV0pRb2xHaTBhRXhRNkdMUllRaEVZcmc5WjdPeG1hWDR2enozeFBDbGRVanB4ekNhdnozWjZYSFhUTFJxTkpVV1JFSndHdDhPUjJHRWdmeWh1QnVMcUtLdUJORTFST25yb0J1L3JsMVY5SnVsNDFUQnA2U0NnTVNNaGFrU2hncXJGYUl6RWFoTGNzQ0lsNVdCNmdMdVdEak5yNTBsZGg2Nlp4WGlEcVkrMUNlTnpRSWxDaThhVkh1ME5xY3F3M3BLRmpNTkxkM0hQek4xMHlaaHVHOUxTY2lmUy9oVzB0TFRjbWdnZ0toWk1pYUZqNWhqMFMxSTZ2UHowRzd6ODNNODV1Tzh1TXRNajd6dXF2SXBDSXNUU25VUW5YS2xCUmd3NFhxOGNDMU9QU1RTS2hBNHpQUDd3VXl6T0xrV0hCVEZVVllVeGhzbzdnaHJ0WnJ4WElQRit0WmFBRHRCTE0zemhTSlJCT2NWakQvMllEck5ZT2lUTVJCRXFWMzRneVJVZjBlY2hJNlBIcko3RllGRVlVdHZCSlBaMlRuKzlacFN0ZndJRGlJdVIvemd1dHY0dkpSbjlQMEdKaGFEQmc1RjRHYUJKMGFRWVVoS3gyR0F4UVdPREpaT2svbVRDc1lQSHVIdi9QZlRNTEZJcWxJc0NkcklwU2d6a0JrUjdVSUVnRG9LUW9MRmVRNkU0dEhpQWh3NC9SSThaekEvbWtxS2w1ZHZUcGhhMHRMVGNPa3ptYTBwZExpVUpxZTVRbGg1RGwxZWZlWjAvZi8wdjZKbzVRZzY1enlsOWliRUp0UWxBTElBS1Y3dnBlb01FUUZQZ3RTWDZHZHZJZ21WbVpvSERoNDVTbGg3dkFLdXBxaEtWQ2RacVJIbThDaWpSaUFwMXZtV3M1TktFYU5Oa01uenVDU1hzbXRuTFFyYUhpOFc1Mmp6SzhHMFZaNVJoQ2FCd1FiQ2tlRFJWV2NhOHk1RlQvMDdjNElZU053T0JSQnZLS29Cb3BBd2tKSFVjUFNNaG9TUTJvNGhCMkZCYmxubEVBaG85bXI5T0NzRlBGSWNwRkFrSkNzMHkrOWkvZUpEWlpCNlZLMVNWSUY3cUhtcVJvQVN0SFg3aU5XczByaW9SRHdrSncvNkFwSnR4Y1A0Z2M4eXh3cVh2Y2NCYVdtNU5XaUhiMHRKeUU3bEN3ZFdFaUYyWTI4M21SbzRoNWRYamIvREtzNitUaGhuRUdSSkpVTWFDVWFnMEVHeEZjQjRJZUtyeHNpZnlQZFZvclRHTDlZYXdKWjgwaWxoSTJMTjBnTm5aQmRiWGN5d2RsREdFNEtNTlUwZmpwQUxsMEJMRmI1Q0FDdU1TK0dGL3lNeGNSci9ZWks0elI0Y094eDk1aGxPZmYwSkZTYkFPVVZjV3NsZkxzVmFpNmRvZWc4MCtRVHRNUjdNNnZNeVp5MTlHcXk5dGNLRzZ5azdmL2lIYkt2Y1lMSXZkUlphWER0QWhCYWZKZElZS0Nxc1NJRjViQkJVUUZlcHBqUHBiRnlPcWs2K1AyMTlyckZnb1lPLzhmcFo2dXlrMktxeFB5T3dzUmlCSUdUK0xRN1JDQkdTVVZ4L0lzb3lxS3NFbHBEWWg3ME8xN2xpMGl4eVkyOC9uRzEvY2xIRnJhYm1WYUlWc1MwdkxUVWF6dGUyc3JyMmxEQnJMK3NhUWhJU2YvZmdWWG52eERmYnVPa0RaTDlIT2dBSnRGRm9Vdm5KNEtvUW9aSTB5dUdsRC93bkhnaHRXZGIvTkNhR0p5QnFXZGk5amRJWjNBN3BwUnNCakVrdmhoMWhyOFRpZ0xrcEVNRUVqU3RBaWRmcERJTE1KbDFZTGR2VVdTRzNLOHo5NW1TY2VPVTVuTGlOM2ZhNG1LSzhtWkxWb3hNTmd1RWs2azlDZFMvbmt6Q2Y4dzYvK2p2Yy9leDlYVmp2YmMzRUR4dXdXUUtGSk1IVG84TkRkRC9Ia0kwK3haMjRKU2dNVmhFSkliVGFhUDRwWlY0dldPQUxldytnc1V1TTBFMDJNc3FjcW85eDBaSFJJcFVmVkQrQUR2U1FoZUQ4eW9vMnBKUUd2dGg2elNoV0k5bFJlNkhVNlpEcEZGWXE1WkpibHhRT29qZHM4S3Q3U2NnTm9oV3hMUzhzdHdOUVBzalJ4VTRORzhlempML0NMVi8rQ3hlNGVRZzd6blVVR205R2hRTmtZT1N4VmdkSUJhMjNkcStrS1BxazNDalUyeEtlZWpodWV4Z0sxZ0NFdlBVbldRUnREVVpZa25SUXBBNVV2RUNzeG9ocWl3NFdvZ0ZKMVJGWWdUUzNlbFlnUEJDZVVWU0JVbWw0MnoweldJNVYwaTMvdE5GL25lbEg2SWJZelQzZTJTOUkxektRemROUForclo2dkNENG9hSkh5UlVKRkJvMUJJeUdTakNWUlh1TkRDY05Za045akJSS0NWNkRxM09hNHdHTUZ5V2FnRWpBQk1GclI3bFpraVVkc2s0R2VFTFFCSy94M3FFc28rUG42K1dJQ0tMamExVVZNQjJOS3h6ZWUxSWRuVmtTbFpHU2JrbE5hR201VTJtRmJNc1BBbFhiM2pRUnQ4bXBxSjJuTjJTOWZQdm8xRGY1Q2RJN3JPUldrQmpqTytyZkpETFVHUExIWE5heGozeU1aZ29HU0ZCWUZCay9mLzRYdlBEMFMvVFNSWFJJOEtWd2VhUFBUSGNHQUpzbEJBYytCSXlGeEhhaWpCVy96ZGRUUnVzSk4yVDhkam91a3dWZ2c4RW1lVDVnTGwxQWVTanlpdG01ZWNxeXBISWwySURDZ2RKMThWbGo2S1JqQk5CNWhubE8xczB3SGMxdzdSSy9mK2QzWEZwZFlWRDAwVnBmbDVCTlUwdnBDcHhVbENIbjNOb0Z6bDc2QWsrRlZuWFRnd21oM2d4bEdMOTBuVXlZc3NMWC8xSGMwRkJ3WEdkT3lYdWYvcEhMRjFjd3dlQUxJZE1abWVuaVNsOS9WOFFUU0hUMG5vMXBCQ0FtNWphanBCYXlEb1dnQkV4UXBDcWpHamlPSHJpZlIrOTdra3pQWXBYR29HSlV0MDVKaVBzMlljc1g0aDJEdkNpWm01dkRsejVHeURVb3JmQ1MweTgyYi9TQXRMVGNsclJDdHVYMkpnU01pb1pIRXVyKzV5RXFWZThjMWhEditrMEwzZnJqMFR0V21uL0U5M2Y0OGQveWVqME5Dc2I1Y0ZOKzhxclp2RG9IYzJLUld4cE43ZUFaS3lJamdUU3lWQlYyOEprTnFKdDRaekhHVEhXOUpYcnFKM1ZLa1NqWjRUYzNibjhRSnZiWFlPaWg2Q0FrdlBIc1gvTDRROGM1dUhRZjRnM0ZaazZpTy9SbUVrcFhvSlFIaE5KRElDTlJHcGZIUmdTQk1McHdHYXRXaTBDZFAzdWQrNzhsM3pZU3plbXIwZk5UbjM5SW1uaXlSTEYyYVpYZHZXVmMzNU5KRDZzdFpiaUlaNGhSWFZMYlJWd1N1M3Q1ZzdXV3plRWFoNDdzcGR3NHg1bExuMEduNUhjZi96MmZyWnpBNC9EMS9sd2ZUWSt1VUJjME5aSEJuZWUrY2RKSmoreWptbXI5TFJIMDZZNXNreXVXS1FIOExRZ0VLaW9jRlFVRi9ZMlBSaGRUWS91MGh2cEtLRXl2MGRUSFhPbzBrUmpGamtzeHBDU2twS1FiUGU2M0R6S1R6T0x5bk9BMWlWWDBwWXo1eWNGRUs2OWdJQ2lNZ0FURm5wbDV6cDM3aXJuRldXeXF1TEIyanNXOUN4U2g0dnp3VEwzT2xwWTdtMWJJdHR6MlRJcTlrVmhWVTYvdk1MMWV0RFJpOXR0OUZyNisxR2g2V3h2emRiaVZ1aXBOcXVscEFWdFBSK0h3clc5M09qQWN4dWNMTTRzTSt4NlBwY01zVHovNlBILzY1QXNzN3psSWFtWVo1Z1VTTEY1RnFSR0xZaHhCV1VDamxFR0N3cHB4WHFPbTdyZ2tFTC91YWtGeWc4Myt0NWFzQmVLUjFhQXF2amp6T2NjT2RPaDBNNHhTNUdWRm1YdTZNeHFiYUp5RHNpb1FiVkZpMEdRb1l6SFdzclJuSCtkV1ZzaWx6OExlT1U1KzhVZFdOcy9pNmRleXFiaHREZkhIVGJKVXZCQVN4dEhscXpaNWFBVHc5Z2F6MzRSNFFYTTlRakM2eU1hL3d6b2kyNWdJQ3hBQ1daSlNsQlhuKzE5eGJ1MGNpL3QyWVRzSlVuaTBNU0JOOXdscUQyR045ckdsTFVFWXJoVjBkSmRPMHFGa1NEREN3QSs1dExIQ3lzYUZXK0t1VEV2THphYk5GRzlwYWJsT0puOU9hOVdvbWpENHhFUEd0OXdWQVFVVWd5anFGWm9pRDNnVW1wVGpUenpEejMvK0N3NGNPSVExS2YzK2tMSXNVVXFodFVZcFFSczE2dVEyV3JzSVdaYmRvTVNCYTkvN3lZdUtTYXVteThOTGZIcnFCRjQ3eEFyOWNvTk9MeUhwS0xSVldOVWxvWWVoaTVZTXF6TXltNUVhRzhWNkNPU0RJWjIwUzVwMGVQLzlEOWtzK2lqUzcyMy92bHVhMktlSzRqVG9yUVBhbUFBRUlPallQQUpkeDNMSEVkMWJGcVB4QkM3SkttZk9uMkVZaHVpdXBsUTV1UzlRb2pIT1lJSkZlUTJoRWJGUjVpdWw2SGE3bE41UmxoV2Q3Z3hveGFYVnk2eXhjYlAzcnFYbGx1QVcveFpvYVdtNVZka2FEWnRzQ2pEZEtNREZhSldhbkdmODVkTkw1ekQwcUh6QTB1VzE1OS9ndFZkL3pwNmxaYXJLMCsvM0tZWTVXbXM2blE3R21OaVdPSmFNajRTc1Vvb1FBdDF1ZDhMTjg3dGxVcXBQajREVW5xTnZ2ZmNXcDg5K0FhYUMxRk9wSVVPL2dVb1ZsUk8wNnBLbGN5UzJnMVVXRWNFSFIrVnlMcTJ1c0xocm5sNHY0N1BQUHVNUGI3MU5RR1BvRW92SmJ2K3Y4RWFNanNUc1pBZXRrYUFkUzFlRFFkSGtGTi9hOUllYlNKMTI4UG41ejdtNGNRRnZIVlhpR0xwK25VYWswU0YyOHByTXVSWVJPcDBPb2hXYi9UNURWNUprbHY1d3lMbno1L0Z0UExhbEJXaUZiRXRMeTNVeExWckRGaHVpblRwcmpXOHBnNldIVkFtQ1JkUGwrR1BQOHR3ekw3Ri8vMkhXMXpmUnltQnRTcFpsZEx0ZHJMV0VFS2lxQXVmaWJXRVJRVVMrZHlFYnRaYmVGa0NNajVocm1pVVpaMWUvNUpmLy9QZGNYRHRQMGxPVWVzaW11NHhUQmNPaUluaURCRTNsQThOeVNPR0dlQ3FVY1hSN21wbjVoRFBudnVDZi91Vy9zTUVHbW9RQ1Y4ZTBmNkNJSGowbW83Q3E5aHJRSTV1em04M1Vka3ptOGlyd0NJbTFPRHhueXRPY09QMHhLOFVGWk1hVHpNZk9jeW9JcXNuUEo1N1BvYmJreW4xSmhVTXNxTXl5VVEzNDZMT1ArV1QxODdyNVFpdG1XMXJhSE5tV2xwWWJ5QTQ1amxPRmJtT1hBb3VsU3lrYVJjWkx6N3pHU3krOHpyN2RCeWo2SlVhbHNSV29pa0xHT1FjZXZQY1lZOUJHbzNDRWlZaXNpTkR0ZHV2bHErOWN6c2JsMXhteVUvc3NCRW8vUk5COGRPb0RlcitlNVprbm51Tkg5ejNNekd6SzZzb3FOcHRCbE1aTG9QSWxFTENweGlZR3JKQW1sbE5uUHVJZmYvT2YrTjNIdjhianNVcmhKWkRZRk8rRzMvRWVmbmZVcFl1MTZCKy84blZFcDR0YlFjU091Wko3aVFCZUJ6d2VoK0hFbHg4d096L0QwVVBIV09ydHd1Y0JJNkcrS0trSWFKVFdpQ2k4RHVUbGtIUXVvZHZ0c2hrMitmTE1HVDc4NGdScnJDTGYyMzJIbHBaYm0xYkl0clMwM0hnbUxLOGFsSXhyWVNDV3lqZzBIUlo1OHBIalBQZW5yM0w0MERIeXpRSmZCV1k3cy9UN1E2eU9vc1dYSGtJVXNUWkpVRG9Rbk51U0l4dEM3SWIwdmFOMmVDNkJNaFRNcHJQMHl6WGVmUHRYNUhtT3ArTHVnM2V6V1cweVA5dkJVeEpDUUZTRnFYc3BERnhCZjJPVnJ5NmQ0YmR2L1pxVG4zL0lrRTJzVWhTcXhFbUJNUW5pYnVlSVhOaTVVRzNLVHF3NXZFMG5ObzNDajl3VmJqWVRyWHBGYnl0VzB4WUc1WUFFaTZQaWZMakE3MC84bnFFYmNHVDNFWmJ0Y3YxcGg1Wm92ZGFjejA1NXZIRU1kTVhtY0pNdkwzekJoNmMrNER6bnFLaHVvVEZvYWJtNXRFSzJwYVhsVzdOTlJrMWJKelVtQVZ0RXJLNmZSNS9ZNTU1Nm1aZGZmcFdsM2Z0WVc5bUVZRWhVU2xGVXBEWWpTekswYUVwaXovbFJla0daays3d0RXYU0rUzUyOVFyVTBkaEd4RXdKV21NMHlnaU9paUY5L3ZqUjcvbm94SHY4N0xtWGVlemhweGpJWlpEWTV0UWtRamV6RkQ3bi9LV3puRG4vSmYveW0zL2sxS1dUS0JTT0ljRVlTbCtBaGlJVTEyZGtmQ3R3RlEvYzZYbWtIdWV4K0wxVlJQeE9MWmJycVZHSWl6bXk4NzE1TmdkRHpoWm5LVTdtYkd4c3NQaWplZkFlSmJHd0M5RWpjZXFVeDZhR0N4c3JmSEwyRTk3OTlJK3Nzb3JEWVpVbGwyR2JKOXZTUWl0a1cyNXp0TmJqSE1uNnRlYmZVZENNN1hVYXoxaVpzTHlKMFkvSnF2ZXR5dytoTVN2LyttMlo5SG5kS1h0eGl3L3NLTXAwOVFWUFYrVEwxSEpDQ0ZlOHdmZzFYdmpmSFJNN3IydGZVUEhRNUJOYVRMM0ZHWC8rL04vdzhJTlBzMmZYUVNRb1ZCQXltd0dhZkZDUUpaYXljTkYyck02RGJYSmpZOUZYaWJZcEdJUFVqZ1pabHFIUitPOUw0ZTNrZTFvTFRPY2RHMjZqM3A1QURoUXk0Ti8vOHQveDczLzVIemgyOEVmc1d6N0E4cjU5R09XNWZPazhaODU4d2JuenAxa3JMeE53U0JON3MxQXFOM1lSdXcxU1pLMnRpOWY4V0g1Ty9zMEMyL2RqVXB4UGo2bWFNbks5NlI1MHphMkhuUWxWdEhyekFwY0hxNmk2SGZPRjZpSnJweTl6OXZTWDdKMWQ1dUR5UVphWGwrbjFlampuMkJ6MDJTd0dmSExxSkpjSGw3bFFYYUNnd05VZXhVTVpYaW1lM2RKeXg5RUsyWmFXbHV0bVJ5MGgwT2wwR0E1eU5KYUZtUVVHL1J4QmtkTGgrQlBQYy96Slo5bTMrd2dkTzhOd09JUks0UVdNVVNRbW1UQyszNG10NzAySy9vVGtCclE4dUJiQzFIU0NwcHVZZ2lDaGp0MldVTXRhMEh4ODVqMCtPdk5PYk41QVFPTkh2YzNBbzVVbjZGQjNkR0xjVm11cVk5bXRTblBSMGRpbTZUcE5wQkczZ3FDVTN0S1lSQ21OTmpwZXBNbFV6cld3OWJEZjVJQmtFeXNlRlYzdGRDenFiZmNTTTJIOUtNYzNjSTRMckc2dThjWG1aNlNmWkdpdDhTSGd4RkhpTU5iU2Q1c01HZUp3ZUR6S1N1d0tOdTM3MXRKeWg5SUsyWmFXbGh2THhBL3JjRmdRdjJZTXhSQUNDUnJMMDArK3dKKzk5amZzVzdnTEhicmtnNHF5OEJBVVNtSnRlcElrWXlFMENwekhsaERScHNqWFRSSHExWXFndEFLQmJxZkxJUDhlOTNkYVVPNFFwQnUzNHgzM3ovSVVvQlNKc1hqblJxVlBUYTh0SmVCOWZFaFRLVmZuMGJMMWhzTXRUeU5lUjNjNWlPa2xlRENUQStZaCtBbkZPcGwzMmp5YWNZaU4zVzR0cmhSTmhwSGc5Ylduc2tianFPalRqeGR0dnBrOU9qU1Vya0pxQWV1SkZ6U2phN3V0WFRoYVd1NVlXaUhiMHRMeTNTQlJiY3lrODdneVVBWEJNc3VyejczTzg4Kyt5TDZsdzdnKytMSWdoQkNkQ05JazNuWjJncGhyVnlpTjlaWXlVY2pPemMyeDhuMEoyU3ZsZWU2dytaT05HcVFXSnVqWVlVcFU3TzZVbWc2cHNTaFJES29CRmtXdmt5SXFVSVNjMGdjb3I3eU9XNGswVFNuTGNtc3FRWTNHWURGWU1sS1R4UnpSSUhqeGxGS09icDBIRlFqYXhYOVBkcDI0NlNMdWF4S0RwZ1h0bExEMUVpaWsyT0tKcTlDWVdzYUtEcmhReGRTaFNaZXZ3Tld5R1ZwYTdqaGFJZHZTMG5JZFhDRXNWSXRZb3pxNFNuQVlMQjJPUC9vY1AzM21WUTRzMzhYNnlpWXp5VXdVc0luR1dvdjNucUlvY0w0QWE2TzRHYTBuZGdFVDJicmVSaUNGRUxEMS9QUHo4M0RodTl6dkdqVjFTM25pRnZoT3JaRHJMUjIvVU85R0NGSTNCdERnTmJrUGRUYnhUTHdObld0S2NpREQxREZib3pWT0ttNEJSWGRGSnFPdkFFbVNFRUtJeDBvc0NSbUdoT0FCcEE2NGFuck1FQWlVRlBqZzR4aWhRUHY2SktnWGVOT0YvTlRZNzVnS016SFBsS2oxTkozdVRMU1BDNEZxbkVDUFZxQzBCaTJvRU9vMnZsUExhbW01dzJtRmJFdEx5M1V5SldabGZQOWJLMHNWRkFvYmZXS2ZmNFBsUFlmSSt3NmpPNGhvZEMwK25YTXhiN0l1MUd1RTdiWFFlTWdxRllYRTdPenNqZDNGYjhoT0luYjdURUNBVHRlU3FpN1Z3Qk9DQmxMbVdHQTJtK1BRd2NNb3BjanpuSlhMSzZ3UFY2bUkwY29pOUZINFc5b1VmeklLYTR6QlRkbWw3VThPY1BmeWZSeTk5MTcyN3R1SHRaYTE5Y3Q4Y2ZvTHpsdzR6WmRudjJTVERRcGllTjBIUUFWa3V1anJaakdadTdzamV1SWlaMHJRS3NCb0NES09XTmVwTWMzZmhBOGhwaHY0aWZTS2VubmFRTGpwUXI2bDVlYlRDdG1XbHBadnpmaDNWRSs5RUJNWnF4RG9xQzVQUHZvc3p6N3pJb2NQSGFVWU9Gd1ZtTzBzVUd6R0hGRm9jaWNEaVRIYkxMUzJSbUt2NU5JZ293aHVyOWU3Y1R0NU5hWUw3eHVSTVRYYkZXM0tCSXErd3pGRWs5RmxsdnNQL1FtUFAzeWNldzRmUTRtbWsvV3cxcElYbTZ4dXJIRHE5Q24rOElmZjh2bkdTVHdWL2haUGxHMEt2U2JUQytibjU3bDM3ekgrOHNmL21wNmZqeWtGM3FGRmMyalhZZTdhZHpjQnorL2VmWk16RjA3ejZabFB1RmhkUUtNSlBoYkFCWEczUUVTMlprSmdxaTFIWHlGWFMyWWQrUURMcUJVdkFrckZ1eEdDR3pYd2pUWnZ6UWNENGRZKzdDMHQzeHV0a0cxcHFkRlRQNHJYVWhBKy9abHZzODV3UGJjSXJ5bjA5MDI1MXE1SjA0bUs0MGlzcW91NkZCblBQZjB5cjc3MEM1WVdEckordVEvZWt1Z3VaVm1ScG1rVXJVRW9YWVZSTVJMcm5HTTRITzdRM0tBcDAyNkVzMFdMUmhTbzRPTXRXaUMxWGNBU0d1OENWWDlXcGdYQmQwTXpLbGV0eHhHWTc4NHhHT1lZTXZiMUR2TFQ0eS94eE1OUHM1RHRacmhaa0NVOVJBU1hPekptT2JKdmtRTkxSOWczZjRnUFR2MlJ2My8zUDQ1eVNXVlMwTzRZS2RSYjNvcHZYOEZ0NFFyYmU4M3oxdmpnWThhbmFGUUFTOEo4dG91bi8rVEhQUFB3VDhrMlp1bVpHWlJWc1JCTVBLcFVWRU5QNVR5di92ZzFQdmowZlhTbGNXYzg2NnppaUtrWXQ4ZXQ5WWxCazRtellYU0NUT1FKS0VaZkJqNVV4TlFjaldyY0hOQW9aUWppa0pIdlFkc1NvYVdsRmJJdHR6ZEJ3QWRVMEdoVm0rNEhRU2xCUWtBMW9UelZoUFJreDVRMVlHVC8wMFNObElCUmFqU2ZUTDBQT3dzQkJWdjZwamZMR2htNzFqNnlVdnRpTnJKeGN2a2ppODJKZTRjcXJuRGNHVXVnbXZDUmpZYnE0OVVvOWZWZXN0djFUaU5HdCthbWpwbUlJS21BVXRFV1Ntb05GY3QzZWdSU0ZDay9mKzZ2ZVB5UnB6bTRkQi9pRE1IbFdKMWl4RkpWRmM1RXE2RW82T080dUxJQUlNblMwWmo0dXJOOGpNZldPeW1LRUF6V3BGU1ZJeldDRVVlKzBlZXVBL2VnNmVJSVFESDJJSlV3a2IrcWI5aHQrU3NOOHhYZGthUnVDRkZsV0JMMlpnZjQ2emYrRFlmMzNVTVd1c3lZZVliRnhaSGpyc1hpRWZ4UUkySTVldUF4N3JyckdLdmxHbStlK0Mra3hwRDdEYXlOQldUT004Nm5iQ0o5dGNnZnQzZjFpQW9ZRTg5RjM5UlNUUWxFbmNSenlUZjlGK3J4TThsRVFIRnlFQ1p6T0RWSUpVaUFCYk1MOFlwWEh2d3pqaDg1VHJLYVFGQjRRRVdqWWF3azhVSkVVbWJwc3ZIcEpnL3ZmWVJkVCs1aTk4d1MvM0RpUDlFbmtIVXN3Nks2K2ZaajI5WjlKV0U1blV0YlQvME95YjRUVHh2THJ0RXlaT3ZGWXl0aVcxcXVQZlRTMHZLRFpqcTRjNzJSMW10YTV5My9LN1RUMTBQeldoeXhidGZRMVBQc250K05wWVBIMEdHV1p4OTltV2VlZXBFakI0K1JxUmxDcVpCU0l5NVc1MXM5YnVuWlJLV0R1c1lJZGYwNXBRemVDeHFGMVJvZGhDeE5tZTB0QUFueFd0MXV0VzZhMkEvMUhYOEZYdTBRYXhTRkswbkllT3JSNHh6YWV4Y3p5Unk5ZEo1OEk2ZGpZa2N6TGZGOE5BSW1hRXd3R0o5Z1FzYnJQL3M1RHg3K0VTWm9PaVJZRktFRUFoZ1Z6ekZWWC94RXh5NWRWOGJINm5ndE90NmlibXJHQkt5Rk5OV2pMQTV4VWNRaWNabW1McUxIbTVpL0dRQ3ZJVFNQZXNjRDBSNU1vajlCNVIxUEhUN09mWHNmWUNIc1lwNWRtSkNNTGlxMDZLaDlSV085d2ZxRUdUMkRLUTJ6ZW83RGV3OXhlT0Z1UUZPV0pkaGJOU1FiZG5qVXlEVThwcFlqb3djVDAxYkV0clEwdEJIWmxwYVdIV2lVeVBScmJIbDlPUFNvRUtOOGczNkZRNkZJT1A3RU03engrcCt6Zi9kaEpGZzJOd2VVUllWVzBSUmZhY0ZxU3hXdXIyMkIxaHJuSEZtU0luaWNLK2trS1l0ejg3VnVWYmY4RC81ZHV3L3gxQk5Qc21mM0VzV214NkFZNW4xbXVyT0VxaHhkOGNUb2RFQ0xBaHhhQXZ0MzcrUG9nYnY0N012M1l5OHpKMUcrYTdBcERJZk5XbFJ0OGFRbXNqWU5YVFdEVGFPVFFML2FKRWhBQ29sUlVpQlJDZUtrYnRpZzZFZ0hYOGU1VlRBa01HRndXMStVaUNkSXdCTXdSck93TUUrK1ZxTFJQUFg0VSt5ZDJjT3dQeVRCZzVYNGNjWSt1d0VJS2w1aW1FUlR1aEtUR3ZZZjNNKzkrVDE4OEx2MzRxMTNlN1BEc1MwdExiY0NyWkJ0YWJsVHVhSUd1TXJ0ZHJVOXVqU1R6VkVVZ2NvTGlvelhubnVkRjU1OW5lVTlCM0JGb013SGlJdWR1aEtiamp4ZlJhNC96MUhyMkFFcXBwQm9xckxDZEF5OVhnK0xIZG10M3FvWURBL2Uvd0M3RjNZajNsUG1GVUg2WkRZajBTWnV2MEEwejVkYVRncGdNUUc2WVpialAzcVJyejQ3ei9wZ2hhODJUNUhVb25Vd0hKS1JFYkJvREdCSEVXaGRIMk1uZ2J5SWVheXo3TUxoUmc0QkZvdVRpbzdLc0RiQlZaNUVFclJTbE9KcTkxTTFrYXBBYlF6bWE3SHJxWHhGc1JZTnBlWlpJREVwYVpvaUEraGtIZnF1UC9ya0pLTHF4aEFDcnFvSVdTRHRaQnc0c014c09rTlJEcWJ5R2xwYVd1NVVXaUhiMG5JSEkxOWZYMzlWRW5yNHd0WjV1Z2xQUC9Jc3p6M3pFdnYzSDJiOThpWnozVVdzalMxSFU1dWl4VkNXSmNHVktLVlExbnp0T3E2S0diYzhGUkhFQjhSRFloTm1rbG55YWdNdk1YZjRWaXNPVWtCUGRYbncyQU5VZ3hMUkdxc1N5bjdCM3IyNzZXOXNZaVpyZ1FRVVVYUUd3SVNVQzU4Tk9iRDNZWDcybEpEMUZQMThoZTVjZ3UybWJBNzZkUUp6N0t3V3A4M2lBZ3BQMWxHc3JWMUNhMDNhU1RqejFXbCsvYnRmYzI3OUhBTGN1K2Nlbm56eVNmYnQzYy9tMmpyQkNaMjBpNGpDNXhXTHZYbjBoSGRxYkY3ZzhickVhMCtGSTAxVEJtc0RkbVZMek5nZVZpeTVMOGp6UEdaOVhDV29LdUpCUmQvWnNpeVpuMTlrY1g2UjFVdXJzU3RhUzB2TEhVOHJaRnRhN25nbVd3Wk5jQlhoMStRMUdqSXFMQnJMUzgrOHlrc3Z2TTYrcFlNVWd3cExpbml3eWtieEZRS3U4bmp2TVRvMlFIQnlIVkUxRmFPNm9sWHROeHZRMmlKdUNGYXp0TFNYUzErZEcrL2ZEb21GTjl1RE5UVVplM2J0d3hjZWF3Mnp2VG5XQjV0WTA2RWNydExyWktBY3NXcktSNXRSR2QvSTc5cFpiT2h5WlA5UnNwNmlDSHZZekZkeDR0bS9kNG15Y3JXQXRSTmF2czR2eHBGYUlkR0dicmZMN01JY3hpU2NQUGtwbDlaWFVRaExDM3M1dU84d2R4MDZ6T2JpQUY4RlpqbzlOSXBRQmZLMUhOUGtCaUFFQlY0N2dxN3cya0VTajAxdllZYjl1dzZ3L2tVZjBkQ3hIWlF5RUlyNjhNUTlpam15b09wbEdneEtLenllcXFqbzd1clJUYnRrU2NhZ0xOck1ncGFXbGxiSXRyVGMyVFFPQlZzVndZNGFkbUtXNWdhMXg5SmxrU2NmUGM0THo3N09rYnZ1SisrWGhOSXowNTFsTU1oSmRNeWg5VTVBUE1ZWUVwTkVsd1YvZlVMU2V4L3paS3VBTm9Fc1NSbTZISTFoLzU1bFRuNzFIdU1HOVZ2YnczN1hoVjVmajQ1bFZ6ckZaaDFDTHRnMG81c0p4YkFpc1IxQTE0NFhEbEY2NmpBRnVsM05jSGlPc2x6ajB5OC9JNXVGU25KS1g3S2dkck8ydm9sZ2FKSUo5SVNQZ2lLZ1JPUExDbU1WbkljdlQ1L20wcVdMZUNvQ2dZM0JCaWRQbldSMTlSTEJDVnFwYUhFV0ZFWVpVbTFRZFVIYWFLdEdVVmtIQnZLOHhFcENVaVFzcExzSlZVQlZpdUFDT3JNb3FSc2MxR0ZuSldvVTVkV1l1bjJ4eFFTTjFRaytENmdDakVwckQ5MDJ4YUNsNVU2bUZiSXRMWGMwV3d0MVJpL3RFT21hbG4yS0JFWEdzOGRmNXRXWFgyUFAwakxybHdmZ05GYW5GRVVWY3oxdGlzWlFxUW9KQ21NTXdjZGJ4U1pOcm12clEzQW8xZVRKS3BMRWtsY2FqV0wzcmwzajNia0ZVd3NBakU0b0M4ZmMzQndybDljb1RJVTFIUWI5a3BudVBGVVo4MVhqVHZnSi82dmE4Y0hrYkd5ZTU5U1pFL3lmdi93L0VISXlValpZUndDUHJkTkhWQzFrcFM2cWlsRmVTNElod1JDam5pVnVGS1cyV0Q0Kyt4NGZuNDBYQXhrZE1wVlFTSUZIU0Vpb0tFYVdYcE1YQm5XR0s0S2dVQ3l5d04xN2p2S1hMLzROQ3VobVhWUmlLRnlCS0VWUTlUbll1RkdNaEt4R2ZMUkxNQ29sSVdHd1BzUVRTSFZHN2wwYmxHMXB1Y05waFd6TGJjMms5MnFRVU45dW52WjhqWS9tK1hadlZkbTJyRzN6YkZ0bXpZUTRtbngvT3U5djJ6YjYxVDZxQUFBZ0FFbEVRVlRKMXM5TWYzNWJ4NmlKMTBmejFiZldEU2E2SERXZXRhcFozN2JodW5icUZldHR1NnF4S3EzOUxUTmVmL1l2ZU95UloxbGVPb3dFQlM1Z2RZTFdGbGM0bEZHNDBxTWt0cDdWUUtpaTZheTFsbkNGL1IrOVBHbXZLVEVUZCt1WWdiV0tKTXR3VlVHVnh5WUxLNWRYT0hMb0NERittT0JHL2xLUktLWnZ0Z1RTYkpaRCt2MEJQWnZUblozRkpCMVdMMnd3azNiSnNoNkR6U0hhS0l6VktLMEkzdU5EUUJsQldjakRKcnNPenZEN0UxL2hHTlI1b3ptT25KZzhVRUFka2ZVSXVoYVlxVkpZaytMY1lOUTdLbXl4ZTRLU1NiTTF6WkFoUTlHajRxN284bFVTaUkwT2RHM3VwU1lkRElCNU5jZUdiSERoNGptS1lzanlyZ09zZnJuR2ZIZUJ6SFR4b2NJRmh5Z0Zva2RXYXNZWWZPWEpCd1ZhTlBPTGMzejQ4UWRrdW9QQkVueWRjdEZHWkZ0YTdtaGFJZHZTY2hzVHhkMVVXb0JxM3J2KzVYYzZpandYRkRBL3UwaC9zeVNJSW1PVzQwKyt5RFBIbjJmdjB0Mmtwc2V3SENKZW96Qm9wVEhhMXJmMHZ4dTJlUEhYeFY0aHhGdlQzYlRML093Q0JqdFJGRFFPTmN1TkdKenJKdGIzZi96SlNmWWNQd3dCMXZ0ckxPM2RoOHM5cDgrZVkvZmlITTdudU9CaTF5dWpVY2JHYmw4NFF1TDQ5T3dYZkg3K0ZJNFNxYVdsdzZHandSVkdLOUFHTFI3bkE0Sm5LQUh0U3N5b0FjYWtrQjJQcmErbjR4WVp1bjZ1OFFTY3J0MFBxR0pUa3RxZkZocVBYazJsSzd6M0RCbHkvdkk1OXN3dVl6cUdJcFJRbGRHT3pTcTBNWWdFcXFvZ3p3UGlQWE56YzNTNlhVeFhVWVNDUzJ1cnJKYXJRSXo2RS9MdjQwQzF0TFRjd3JSQ3RxWGxOa2FweGgrVWlRNWY0NmhzOEZmNzlOZlRpRmlOcGRnTUNDbWFsS2VmZW9FL2UrMWZzYng0RkNRajc1ZFVwY2RnTUNvK3RMRUVGemVnOXRiZjhpeHkvZEUwa1hqN3VoR3lpVUFuN2JETDdxYW5lcFRTQjJKS2cvZHU5Sm5wQzREdm14ajFIUExXZTcvbmlhZU9Neit6aDY4dXJOREw1c2pTRGpPTHMxeGNXOEVtTWVxc2pFTHdkVWM0Y0hqU3VSNmZ2UE1GbjUwL1MyT0lWWkRqc1NobGNDTFJwV3JVSVc0OC9uN0tzRC9BYU5rd01aVmEwQW9vaVExeE5RR3ZpTDhnVGRmZkVQQSs0S1ZKV0lrQ3VjRGdnVFV1ODlGbkg3Sjdib25sMllOWVVTaG5DQjdLVU9LTEVyUmdVMDIzbDZLMVp2WFNaYnJ6UFlMeG5EcjlLU2MvL1lpaUZ1elgxZHE1cGFYbEIwTXJaRnRhYm1PMDFxUFd0STNENkEwSk5zbzRDdGRKZTFRbFZHZzBQVjc1NmM5NS9ybVgyYnQwQkY5b3FtRkI4SjRrU1VqVEZHZ0U5SGN2RkYySXhWN0VFaVFJQVJHRjFwWnUybUhYL0c3VzExYWkyNmxTZUhHZ1FJS2dsTHJKa1ZtUHArQ3p0Uk84L2Y2YlBIdjhKUmIzekxGWnJsT3BnazdTWVhiWERGbHFRSHZ5YXNCd21PT1V4K2dFc1k1enEyZjU1UFFIWEs0dUlGU0UycjhWbzFCV1ErbEFETEhGRnFDaXU0UFMwYm5NdVluTm1lNSsxZ1N3SjZhakxzL0MrQVJwSHJWR2pxMmlvNGoxUGpBSWcrZytBTHgvK3QwWVpYMHdaZS9jUWRiT3I1SWtHYVlUQ3dCUkRoRlB2eXB4ZVVWbEtucWREaGZXTHZMMmgyOXhjdjFqQWg2dEZIMi9lZE5kSjFwYVdtNCtyWkJ0YWJtTlVVckZoNHpEVTk4OFA3YXVaRmZiUllIRzRrcUZrS0RvOHZTZnZNRHp6N3pCd2IzM3NyRTZZTDZiZ2dsb28walQyT3lnTEV1Y0sxQktZWlVlTFduTGRvdXVLOVd2RHhHUEY0TWhkZ3lURUFndWlybWdBc3ZMeTN5MmRtSjZwMjZKdE1wQXdDaUhsd0gvNzkvL08zcTlEazgvK2p4VlgxRU5CNXhmdThqQzNDeEY2U25MQVZVb3NOYVNkRk5FUE1Pd3lqLzgrai95MFdlL0lWQWlxajZTR3JLdU1NeExkQVlpQVJYcTg0Sm9uU1pjb1ovQWRGSGM1UFBKWGhpTnVHM3lFSnBXdGFHSjdBYlFvQlB3VmFqVEZvUVZMdkNIVDkvRWRpM0hEdlJaWGp5RVZvb3FEQmxXQTF3b01FYUIxZ1RyNmMzM09EczR5L3VuM3VQa3lnbHljZ0tPMGhhSXI5cGVyUzB0TGEyUWJXbTVuZkhleHk1WlJHdWtiLzZqdm5NNS8waCtLa3VRNkZEdzBwKyt6c3N2L0FWN2w0NlFEeFZHOWZDbHhCdmFTbzIycGJIRXN0WWk3dXE1RFZvMDRUb0ViWXlxZWtSTTNIOE1FcUpYYlJEaDBLRzdVQi9GK09Db0dFN3JXeVNTRjhobHlHSnZqbzNCQmY3MlAvOEh4TVBoZlVjNXVPY3czZDQ4dzJHZklCNUpLbWF5ak41c2w5S1ZuRHoxS1IrY2VvZmZ2LzA3Q29rRlY4WkNjRkd3NWpreGNsckZhWE9ValFFSnNZZ3ZNSDV2eExSanhRNUZqNlBYQkhTby8rbkdsbXhBYkhVYmlPa0hKb3BycFlVaXp6bFRmTUZ2UGhMT1h6ekhpMCsrU2llZFFabEFsVldnQlowYUVNR1Zqazh2bk9TUDc3L0xoMmZlWjVNK2pvSWhReUJBU3F3NGE0VnNTOHNkVFN0a1cxcHVZNHFpd09HMnZOYmt4MTR6U3FLNjJRRW5ucTZhNDhuSG51UDU1MTdteU9IN0dRNUFLbUdtTzhOd2JZMUVLN1NCcW9yT0FNWVlqTEhqM01vdHE5STNLUGNoWW94QlJQRGVvNGpwQXRSZUJWcHJEdTAvRUZ1dFF0MDBJYVpqZU1KTkwvaHFJcWlWM2lBQVgyMTh6di85dC84WER4NTlqRCs1L3hFTzdqdE10NU9TZFF3b3c3RFk1TUxaTTV3K2U0WjMzbm1QOTc5Nmx4SU56R0FRVlBBZzBRN0xhb3YzUW1KN09CZHdqVjl2aUsxdXdXRUF3WXdrL2NndFE5V2gxUzJpdHZIaVpaU1RyUUhyeHVIdHhuNHJFREJvZ2drNEZVYXBCNFY0bElZaUJFNzNQMk85djg3Rmk1ZTVhL2tlRHQyOXpOeXVXWFFLdzlVQkY4NmQ1OXk1YzZ5c3JIQm0vUXdWSlNVVlRydW9uaTJRQU5WM2RuaGFXbHB1RTFvaDIvSURZa3NkKzVWblU2SE9HL3lhK1c0UWVtb1ZJMnN1RlZDMVpSaWk2L3UxUUJoWGttOFJGZ1JFZ1NnUENFRVhWR1dmK0d2dWtGbzJhcVZyYTY3SnRlNGdWTlhFNnhOUjBhWnJseUpEMCtYWnAxL250WmYraWoxTGgxaGZHNEkzR0pOU0ZFTk1va2tTaTlXYW9xcFFkY01EN3oxbFdZNXlacmR1UjB5d1ZNS082UVhUNDNVbE5LQ054amxIRUVjUWcxRWFwU3hhSnhpVHNUQzNnQ1ZCb1pGUVJjOTlUT3lXSmJkR2pzRkdIK1puT2d6N0JSZmRWMng4dE1sYkgvMk81VjM3V2RxMXlQekNMQkE0ZSs0TVo4OTl4ZEFQcWFJVUo0NmxpUkZtSDcxZVo1SlpkdS9ldzY2NTNTUkpsL1cxVFM1Y1dtRjllSW1LQW5DbzJvcXJISmx2TlVlbStkdlFFeGMzWXhPdXJjNEY4Ym5CRXBNN0RKYUVoQVJqTkZoaHZWaURCRGFMamJpbFJwRjFPMVJGd1hwWXBSaFduRDUxQm50SzRTZ0pCQkpqcUh5VXJoRDliTFcxZURmRVNSVWpzUW9vYUtPeExTMHRyWkJ0dWQySllsRFZIZWhWYmNBZXhWaEFnbzhGTGxJbjhvbEV3VGk2elJ6bjAxTStyNk9DN2FiYWUyZnIyUEg3OFlPajZSWWZXZG42dmhyTjV4SEtXc2hhbEJpZ25zcjRUMVByUUJWS1hDanA5VEtNMVh4NjZnUXpDNHIvOFgvNmIrbGtucUlvQ0JJVEZkM1dBTzFvbkhiQ1pCcGZ1dEYySmtZVG5NYlFRVEhISzAvL0ZULzU4Y3NjM1BNSWVWNVFEZ2ZNelhRdzFyR3hzVUhIekZDRmdQUFJ1RWtCenNVd21VNHNJWVRSK2h0LzNUak90WWpVYWp4V3pianNOS2IxODBrLzNuanZ2TVFBU21lb29BaGlrQkNOclFUTjB2dytkblVXS1BKMUZCYXZBcTRvNk13dWttOXUxc2ZtSm9sWkdWKzdyUGR6b2tETXFhaFFhRll2bjBOZkhtL2Y5RmFPcm9mcXhnWjdrajA4OTlTTFBITGY0OHhtOHhodkNVSG85RHFzckYvazNaTnY4LzZuNy9MNWhVL3BzejZLNUt0NnlXYmtBUnNkTUtKTVZuWGFpaWJMTXNvOG4wakwwS1IwQ1FRNnpQRFlQWS96OE5GSFdaclpReWZwME9sMHVMUitrVE1ycDNubnhGdThmL0U5Y3A5VERTc2swWlNod0JQUTlMZnU0WlMvYnc3Z2Fuc3dxVitZek5GdGFXbTVvMm1GYk10dHpiaUVhUEpuL2hxRXlUZ3MrdTNXVzMvODY5eXRwaHNqVEp0UHFlaGJOQ0YyNHkxY3FmZXNxZ3A2YWNxZ0xDaXJISjFVK0dMQXd1NHUvLzMvOE45UXVnMWNHQ0lUNlFXcU5wSzlsbHZudmxhOVdrTmlEUzRYRkFsemRpLzMzZk1FTHozL0MvWXMzb1ZWc3hpeEdCeDVNY0I0UjJJZ2pyVVpGZitJR2hjVVhaMmRqMUZUaUhSTnFGRDdOTVNPVmZWbEFqRXAwNkRFb3RIczMzZUFDNStmUm1Qd3dZUFNWTUdQeGRETlpNdDFVcWd0c1hhOEV0bUdxbDFiWjgwYzl4OTVpQi8vNkRnUEhYb1lVMlNFZGVpbXM2Z2dGQ3NGaTUwRmZ2cllUemx5K0JCdmZ2QmIzam54RnBlcUZUS3JDTVM4NWtxcWVybGpPN2RHdEhxQllUNXhqdFdpdDhMeDRMNkhlT0toSDNOcytSZ0x5UzVNbWFBS2hjODlkL1h1WmMvQi9TeDE5N0I4OWdBZm5uMmZUMVkvcHFvS3RGV2ppNTV2eE0wUG9yZTB0TnhDdEVLMnBlV21vU2NpcjZvV3NLb1dXUEhYT3UybVhGcGJJZXNxZHMzTmNIbjlIRUdHL0MvLzYvL002dUFpaWlGaFc0N3NwSVBCMXlnMXNTQ0I0RUNiRElWSGsvRFlJMC95bHovL3J6bThmSlI4VTloWVhVTXJRNVlrT085UVFkSHBkaW1ITjNBNHZqVlh1QmdSaFZhV1k4ZnU1KzNQM3dRMFNoa1FoeStybXk5aXJ4T054cEp5MzEwUDhwUEgvNVJqQisrblorWW9CaVVhUTVwMDBNREdZQU9iSk14MVp6bThmQVNuWXBlMWYzNy9sd3pkSmw2NVpvSHhORFRFWm1ETlZWcHprZUxpQlpleGRYZXZTbkhmM3Z0NCt0Rm5lT1QrUjBpcWxISzF3Z3FrYVVwWmxsUlZSV2UydzhFRGg4bDJwWFIzWjZ6OTloSVhpL01ZRERuNTdYNFlXbHBhYmpLdGtHMXB1YW5VdWJxaTJmTG5XT2ZGbGxWSjJvRTBFOHBxQTIwcS91Mi8vZTlZSFY1Z1lhYkhXdi9TdGlVMlhhNitGdEYxdm1zWDcwdktRdWlxR1g3eTFJdTg4dnlmY2VUUU1ZYnJGWVBOQ3U4MHZWNlBMTTJvYXBlRW0rNWpKWHJjeG16OElwTUtWU25Ea2NQM29ERlVWQmcwSGczZWozT1BiMU1scFZETXNzQ1A3bjJFWXdmdngrWEM1YzFWZW1hT1R0YkRPWWZWR210VERJckxLMnVVa25QWHZudFFEcjQ0L1RtZmIzeUM3Z2xvWVZnT0NhRTJFSTVwMkpFdzhieHhRa0JZTVBNODkrT2ZjZmZTUGFqQ3NIWnBIVDhJN09wbC9QL3N2Vm1RSGRsOTV2YzdTMmJlcFZhZ3NEV0FCaHBvb1BkdU5sZHhrMGp0a2lYWmNzU010eGVQWC96dUNDdkdqdkJvSlNsUnBFVE5rR09OeDU0WVA0ekRFWDZ5dzlaNHJORjR4cElvaWsyeTkwWTMwQUFhTzFCNzNicExMbWZ4dzhtODkxYWhnRzRBM1YxVjdQd1FGMWwxTTIvbXljeHpLNy96UDkvLys4czRsSmp0ZGp0RU1pSWpvNUUwT1BYd0tWYldsL25iVi82R3Z1a2h5d3BoTldyVXFIRy8rT0RxUjlhb1VlTmRVRVprZll3bllxVE1kVGhoY2JJZ04rdnMyZHNtTFRvc3JGemh0My8zNzdNNnVJSEMwQitzc0JVTGUrL1orSUU4dCtKSkVpWVJOSG5pMVBQODRzLzlHcWRQUHMzTnF3czRBNjFHbTZtSlNTS2x3Zm1RVU9VRmFUOWxaLzRKR1U5U2t1eVpuYU1sSndHRkZCb2xGVU5UMVYwTWllYkVvVk1jbVhtWXFXU1dsbXlUUkcyU3BBRklCb09VUVpZamhhWVJ0V2xGRTBRMG1KVFRISjU5bUNlUFBvMzBrcXlYazY3bitFd0VWVVBPS0JwYmtWZ0xEZEdrUlp1RUp0UE04dnlKVDNCczloZ04zNGFCcEswbjJETzVoMFFuMk1LUjV6bEprcERvQklYRUZ6Q1ZUUFA0MFNkNFpPOUpZcEtRZUZlalJvMGFENENkK0JTcVVlT2pBUy9EUEc2VkpWNTlIWVVGa1lNb21OM1Q0dWI4TytSbWpXLzl5ZSt6M0x0R29rQ3BuTUwxaGhyR1lZV3ZlNEpBa2RBZkZEZzBYLzdNTC9McnYvYWZzSC9QVWZxZGpDUnFneFhFVVlNb2lpaUtnc0ZnZ0RNT2ljTDcrOU1YdisvdzQzbjNHNk43M2ttU3BNMUQrNDhnME9BRVF1d010NElIaFVEeS9CUFBNNkduU0ZjTEl0dWdIYmV4bVNmUGN4cU5rSEJsclNQUERRM1pwQ21hOUZjeUlwUHc4Y2MvUlpOSm1yUnAwbUpDVEpMNEJzcHBoSlUwVkFOaEpjcHFZaEtVMVNTMGFESEJIdlp4ZFBvNGNkNUFwZ3B0SWlhaVNScXFpY21EWTRWU2dhUktLV2ttTGFUVEZIM0xudlplanU5N0JFMDByQUJXbzBhTkd2ZUxXbHBRbzhZMndsZkY2a3NiTGlkOHNJWVNCWWlDaGVVbEJ0a3lmL3l0MzJlOU4wOFNDd2I1S3FOU1N0eVJ3TDViQ2RZcVdVaVE4Tnlwai9GelgvcGxUcDk0Z3ZtYnl4UzlnZ056UjFsZDZTTmRzRUh5MWlDOHg3bFFCQ0ZTZW9QQndIYkFJNkdxYUNYS0pEd1JYQ2ljbHdnbmtEcmlrZU9uZWZQbVcyVmlVNlVKOWJ1YXp3b0VoK2VPTUtHbWNRTklmVTRrQk5aNkpKSW9pUkUrRktiSTB4eHZIYzZES1FxaUtPTFF6R0grM3MvL0Y2eW15MWhoY01weWJmNGFyNTk3amRWc0JaZDZubnpvS1U0ZE8wMHJiaU56UlV0TVVQUUxwcElabmpqNUZEYjFZQldpRUdSWmdTdUxZaWlsMEZxUlpRWGRicGVvcFltRVpwRG10TnB0RHM0K1JFS0xQdjN0dm93MWF0VFk1YWlKYkkwYTI0YXFRUDFJVWhCSXJBMUVWZzRZWk12ODZULzVFeGJYcndBWnlub3FGL2c0bG1SNWFXdTFpYlFLSVZCS1liYjI0aHJDSS9ucFQvODhQLzFUUDh0MGV3ODNyaTdSU2lacFRUUllYRmlsbFV6Z1hkaC9vOUhBZTRXeGFTaEFJTVQ5bWo1OFFLZzhlY2ZlOGhwRnhLRURSOURFNUJTbExyUDB1M1h2elNGZ3B5SWI1RXpzYlJORk1kMXVmMmlUWmZKZ2orYU1wOVZxb2JVSmlWZHhnMmJjSk05VEJwMlVvL3VPc2NmT0VyY2ptbE5OM3JsMmtmVzFkUVpYVWl5VzJXUXZqeDEvblAyekJ6QTlTMXRQWVB1ZVFXZUF6eUVpQmlUR0dheTFhS1ZvTmhzWVp4a011a3hQVHpPL01vOHNKRkVjWTIxQkkyclFpbHBEbjRrYU5XclVlQkRVUkxiR3JrYVYyQlE0WERBTUdyNkhEejZtdzBwRnZ2UWwzWnpWdjlHZjlFNVJ6QTNySzh2VGQza1lqKzhydEduc1BlK0QyNmtVZU85d3ZxRFZWRWpsT1AvT0pkcVRrai80K3UrUW16VThPWjRjWndPSjlRS3lZaFJPSFBtMWpvNzFiaVFXSko5Ly92TjgrU2QvaG4zN0RvRlI2S2lGTHlTbUFFV0U4Q0pVQ2hNZVkzSkdVZUJLMi9oZ1RIYno5Y0Z2Zk8vZDlqNlVOd3c5WnUzWWZSSjQ2NUZSd3BIRGo2QklTUEFNQ05XdnZOM2RKQlpBS0lrVDBCMzBLYXhsZG1xS3dTQmp2ZGRsZG5ZV1d4Z2NsaWlLOE42ejN1c1J4ekZKSThFVUJZVW82QmM5dW1zTzJaUGN2SG1UVHFlRExVV3lDd3NMTEM0dUVoRlREQXhkMTZNWUdCTFo0TkIway81eWdTTElCd0MwMXVGbkYrNURsbVZvclFPNUpzY1lFd3BZREJNR2E5U29VZVBCVUJQWkdqVzJEUjVqVXRydE52MUJSbTQ2cUZ4VDJIV21aMk4rODdmK1BybFpJM2M5UEJsVkpMYXN3dnErVkhxTmRjTE16QXpDU293Uk9HT1FQa2FMbUVaQ0lJakNNOVNmQ2pjc1NMcjlFbGt4cG8rbE5LOTFveW9EWHVCUkNBZVJiSEhzd0VuTzNYcVp5bTFodTJVUkR3cVA1L3F0YXh5ZVBVWnJvc1h5OGlwcnZSVzhDOVA2RU1yeURnWURwQlNCd0RaanBJSkIwV09wdDhnLy9UKy9UYzRBUmJEVXlzbEpDWjVxRHNmMTdqWCs3Qy8rTDZ3TFJVZGF0TWtwT0RSNWlDOTkrc3NjblRtRnNzR3ZGd201eWNrS2oxS0tpWWtwMHJTUGM0N2NaSGhwSVJLa1JVbzM2NkxxUks4YU5XcThENmlKYkkwYTJ3WGhhTFVUMXRiblNScUsyYWtXSzUxYkdMZk9ONzc1ZTZ3T2JwU1IyRUJpSzM0bTVDaFMrYUJrZHEyelFyUFpKT3NWU05IRzJVQU9SYVJEWFFGYlJtR0Z3WWtRcGR0Si9NOExNYXFVRnQ0cEkrOWw4cHhYZU9lSmRJT25ubnlXczdkZUtRbVV3UHJkSFJQME9ONjVjWUVUUng5RnhIUGtmb0NVa3FtSkNmTFVrcVlEbkhPMEpsckVzU1kxZlFwVEVNZUtRYi9IamJYTGRGakJVU0NFd1Bwd2Y3WFVDQ0Z3MXBPVHNld3lBQ0lpZXF4anNPVDVnTFhrZVE3RWZXSmFnQ0tXRVZpSnlZTk8xaGhQbzlFQVN5Q3lzYU14bWJEV1grSG15blV5K21OVndtclVxRkhqL2xDbmpOYW9zVzF3RktaSDBwQWtEY2lMZFlSSytaM2YvVys1c1h5QnlWWThJckZqbi9JZW5CdldUSGlnNDErNmRJbHVyNE14aGppT2lhSUVJUlhXQmZ1a1lBVVdTS3dmdnFyeXBUdmp6NGNYWXhyanlpK3FUUGhTSWdhcmtETG1zVWVmUUpaajk4M3E1TjBJaCtQdHEyOXhlZUVDQTk4am1wU0l5SkhabE1JTXlQTVU1d3h4clBISzBzMDY1R0tBbkJTc0ZVdThlUFlIV0F3OXV2UjlqNXdNUTBIbVVuS2JZekEwZFJPSnhPT3cybURpZ3BRZWkva3RmblQrKytSeGltdFliR1RvbVM0RDAwZHFnUkNDTkUxeHppR2xwTEE1aGh3UmU1WjdTMXhhZkllQ0hGY1QyUm8xYWp3ZzZvaHNqUnJiQmtkaCtzd2RtR0Y1NVNiTEt6ZjR4aC85TG12cExhQ2dsdzZvNUFTakVPeTR6UGZCYmFSVzAwVVdGdVk1c1BkaHBBU1V3cGxTWStzS2xCWmpHdU9nQ0haVkdWaEM0disya2tFdnkvYU53eUc4d2lPUlFtT2RSUXJGbnRuOXpDWjdXY3E2dzlLMnV4a2V5NEtaNTYzcnI3UC95Qno3Wnc3aVU4TjZaeFZwSTFxdENTU3cybDNHdUJ3WEYrakppTlZza1ROWFgrT05XNjhobFVkYWlVQXdON0dQb3dlUGNtanZROHhNemRKc05vTkdkbm1CczFmT3N0eGZwS0FvRlIyZUY5LzZFYzhkL3hTUHpEN0taR09LZnIrSDdUdW1HNEptM01SNlRhZlRvVG5iSkc0bXBMTEwvTm9TWnk2L3dlWFZkOGpKOE85YTVMbEdqUm8xN282YXlOYW9zVTF3MGpFN1BjSE5XNWZ3Wkh6ckgvNEJ5NzBiSkVwaWhTTTNvL3F2VXBZZS9oN0NsUGw0TlBUK3lheEVjTzM2SlE0Zk9CNGlzRTVqakNPSk5GcHJJRVJnRVNZa3p3SGVLeENsSkhXblFZeHBaSWNJTWdNdE5hY2ZQYzNmdm40RlI3aW1iaGNIQkIyT2dvelhMcndLU3ZEOEU1L2trWDBubWRrN2hTcGljTUZjTFMwR3RDYWJKTk9UWEZ1OHpBOWUvejZ2dlBVeUJUbmVlaHEwT0g3d09FK2VlSW9URDUxa1ptS1dWdFFPdGwzN2NncHlyaXhlNGtkdi9aQTNMNzFCSisvZ0lvT1Vtbi96MTMvQkY1NHpQUGY0YzB6dG5jUkVGdTNWTU9FdWlxTGdtcUFrSzZzTHZIbjVUVjQ5K3pJOTFsRmE0Y3d1dmdFMWF0VFlFVkRBYjIxM0kyclV1RC9Fek8wNXhrLys1TS9qbkVDZ0VTTENPWkJDRTl3SWJNbTRTdTBrWXV4VndkOFdWWHl2djkrSnl3MjM5M2Q0SC9EQ3NyWitpOTVnbFQvNCt1K3kxbGtnMW9MVXJtRmNpaEFlTDBwTjdJWUdxTEhYZUMzUmU0TkFva2hvTjZaNTVwbVBVNlFlS1NLS3dwUEVDVjZNMjRGWlNvK0ZVbElneXozY2Z1M0d6L1BkcnVQbU4rNzFQdmp5WG9wUzdEQmNsa1VtbkErRklvVHlGRDVGSlliWDMzZ0pRdy9ZMVRheWdDZUtJM3BGbjFzTE55bjZHZElwSXBuZ0RReDZBNXd4cENZbEorWDY0alcrKzlKZjg4UFhYMkM1V0VDamlZaDQ3dURIK055elgrRHBJOCt5THpsSXU1aUNOVWsybnhQbENVM2Y0dURzSWZaTzdxWGZHN0N3Tkk4MUZweWdudy9vZDNvSUpBMmRrT2dHV0luTkxOWmE0amlpbTNhNWN2TWR6bHg2Z3pjdm5lSG00RWFJN0VZZWEzZjNIYWhSbzhiMm80N0kxdGpWdU5mSFlEVVpMKy9BL2U1cG1sdzRwTGM0QWRMTGNyOWpGYnFBRFFYclJTbHNMWk9tRUNtOWRJbnYvQS9mWkdIOU1vNkN4RGtjQm5BMEdoSDl0TUQ3UUdTREpyYmF0MEJwd1lNNVNIa2NLWmV2bkFkaHNBNGFrVUtWVjlWYmoxRGNOblV2QU84MXdrc28yM3EvRUg2TEFPcGR0cjBUaHF1OFJKUjJCTUk3OERsU0M2U0FOTTg0ZnZRNHNZcEpqUVp2MlhqSDczUWVtN1hBTzRkOFdSc0dNZ2JEbVV0bnVIenBDb2YzUE15cGh4OWp6L1Fzc1k3b2REdGNtYi9DbVl0bldHRVJTNEZXRWRZYWp1aGpQUG53TTV3KzlDU1JqU2pXTEpGVVRFUnRHbzBXU2F2QnRjVXJSSVhpK0tHVEZCOHpwR25PbTlmZUlDY25JZUh5MmlWdS9zMU5ubnpvU1o1NjVHbjJUTXpSak5xMG1nM21PeXRjdVBJMnI1OS9sWnZGZGZwMHNSaUV2SmRTeWg4a3hxckNiUnpiQXFPMzVKaU14MjNjNU1FaHlwM2R6L0pCc0lVc2FDZmNrUm8xN2hVMWthMng2K0ZLSDFnaHdzUFJPUmZJbUhmSVRYLzhoUzlqaVpVUDdOQm50c1NtUCs1RFQ5THhuMzFROWtrZkNoZElYSWdHZXdtdUxFemdSMTh0cFFTZW5LTElTUm9TclQxWHJsNWtlbGJ6MVcvK0JwbFpCUVo0REprTGpmUWUrb05pZEk1REtXSFYxcndrc1E5Q3FoeFFjR1B4SFphVzUybEhCMGppSm9Vc0dQUnkycTJFd21URHFtTWVoL0FDNzhwejlaVUZsOXQ0cmJ3Zkk1MWpWOU9YMGR0eXUySEwvZGJyTjZ3RGhuNVoxWEVFdURMVFhuaFFYb0lQZzRsd2ZJY1VubTV2bFhoQ005SFFwQ0xpcVZQUDhQS1pnaDdkVWl4UkRTNDJYVXNmWXM3amFXRitmR0N5elJCSXNCSlZrckdNUGhsOVZwYm5lWDM1QjdkdERaWHZzY1JaUjBUQ3FhTlA4Tml4cC9HNUlyZU85dVFFdlc0ZmwvYVJXdE8zS2MxOWJWWjdxeFJybHIxN0R2Q1pUM3llaTljdVkrbVNNY0JqR1ZEd28rdmY1K1hyUDBBZ0VLV0cybEtVNlhjV2p4c21kd2tuc2ZsMlgwTlp6aW1VRUdOa3RteWE4cFRHWkNQQ1c2VVVEdWRDSHBSUWJwNit1TmZsQTJCYzQxNlo3RzMxMVIxdXNPbnRtdmpXMkFtb2lXeU5qd1RHbzNuamY0Z0RjYnEvZlRwQlNXTGQyREVxL1dwNDhCbVRrelFTZXYyVUxPOGp0V1NROTVpYVR2ak4zL212eVlvVkNyZU9KWVJXQStjVzcxSmU5djBrQUJaSHpxVkw1M242OUFHS29rQXBoYkF1Wkp3RGVJa1ROa1JQa2VVMUsyMjY0TDRmcVBlU3FpYjh1OTBtV1k0MnltV1prdWFjb1JGSFNPa29USTdVa2xNbm4rVEZNeStqYUFMcDdhMm9CajlidCtROWJ2ZGhZVVN3TEJhSDJaSmNTUUwvbCtpU1pBWVNkL1R3Y1JwUkcyODh0ckJrUHNjNWg0NWpoSklVdGtCNGo0NGlwTlE0WTVsSXBqZzQ5UkJYTzVmb2s0MzFYVTlXRmg2cHlpWnZMdFFoeGtpaFJKYkVhVHNKcmRoNEcwY2gyR0JKVERXWUVXVkZ1SExRVm01YnFaYnVGMzc0MzMwdU42dWs3dkhnbFhzSEJHSXV5K1dXR05QRlY5L2RIZkVWcVBHUlIwMWthOVM0WDNnSlFwZC95QVZlM0I2bGJMWWJyS3d0RWljd3M3Zk5XbWNlNi9yODRUZSt5bEwzRm80K25vMzZnQTl6eWpVSUNUeXZ2LzQ2enozeFJmS2lqNWFUSU1PMHRkendrTncweFg2Ylc4RE9RaFZGajZJWUx5ek81RWl0ZWZ6VWswenBXVmJNQ29KMFJDWTJDNThGZU8vWXFTNkZJWUpteXRiNWtaWFZGaEU3VjVJV2h4dkdtQldLQXdmMkliMGtMM0tVMExnQ2xJdHBxMVpJL3ZPQThMUlVHMmN0ZVo3U2JrNHd0MmNmdHpyWGdpMFhkdGlDWWR1cVByenBtbzYxOHJiUGZOZ0lKQzQwekk2M1krejYyVEtwVXBUL1cyVFFqcGRkUWxtMnRheURlMEFpdlRON2RvMGE5NGE2SDllbzhTRHdLcnpRRytRRWdjZ2E4cUpIRkh1aXhKRVg2eWh0K0wydi9uZGNYNzVJRW1tMmQ0cTYwdU42TGx3OFQrRnpqQ2tRMHBVaTRuSEp4VzVVMDBtVUNzbC8zZ3VFMEhpbm1Hek44UGhqejVTcGExVnM2VDd1dzdaZmdsRG1OYVRoQmVuSEhhZUZLWWs5TG15ckJFSjRWQ1RKVEliM25rYlVJQll4c1krSWZZSWJlQ0lYbzAxRTVEVFNTbHpoaUhWRU0wNFlrQWFwaGZCNDZkNXpkTkFQMjdyOUE2SFFaSGZYWnR1U3dCb2tIaFhzTGtKUUd5dEd2V2M3WG5EL0FkMGFOWDVjVUVka2E5UzRiNHpKQ1B4NHpkZ3d2WW9JUkhidjNDVExLemRZVzcvSkgvM3gxMWpxWGtYaUdSUURxc2RLTlJYN1lTZkFCRExuV080dHNiS3l4TnprQk1GcUM2U1NHKzJwdkNpMXNWV3JONUhkYmNHNFpuVjhYQjRJcWxTYVBNdEFlTFJPTURabnZUUGdrOC8vQkgveituZTNKakMzV1ZJNHRqZnVkZ2NJZ0MyeS9lNW1Jd0dBdzBxRHc1SzVnclp3UkZHRWxCTHZQRGlCdG1GMTQxSUFBQ0FBU1VSQlZCSEthR0lkVTdnY2dVVnJoUkxoa1pIYlBGQmk0ZkRhMzdrYmpFVzM3N2h1MitDcVlzVjMza1NFNzdpbkhIUUtHSlpDTHUyVWQ0U0QyUDBraXdIYTE5R3NHcnNmZFIrdVVlTytJY2Npc21OdUJjS0N5RUVVek13MnVUVi9pZHlzOGNmZitob0xuY3MwdEVESkhNanhoTXBIVXNvaG1mM3d6MEppeURoNy9nd09VeWJvakxzUlNEYWNIM0RmVWN6M0VjSnZmTG15Y0lNVDFYTTZ0TmtMaFN2S2lLeFhwRDNEc2NNbk9iNzNVV1NwK2ExMHp1OUhBczJIQ3JIRkM2cnc2K2kxYVZ2dkRiblBXT3JNSXhLUFRBUzVUU2xzanJXaHhHeXNrNURjNTMyUW1VaUppaVRkL2pvcjNSVXNCaXVLamZ2bUxzZmZxdTNiakEwa3RqcUg4Zlo2QWVoU1NhdkNySXVOd0VYZ3lsa1k4VDY4dUk5bE5Rdmt4MzYrNTJWTkFXcnNmdFFSMlJvMUhnQk9hS3JxVXA3Z1dlc3hJQW9RQlRjV0ZrbnpGZjc0Vzc5UHAzdUxPSUorc1VKSXFhaXkvYmVPeHQ0OTRldjlnY2NGbjFYdmVlV1ZGL25NeDc2SWtDWm9HZjNZbEtzdkt6SU15YnBqWTFHR2JZUW9vN0ZEK1VQNDNRTjVudE5vTkVQVktST3k2U2ViMC9oYzhLbm5QODNaZi8xeUtTK1F1TEdhdjM0RE1hdk9WWlJ2alJLc3RqMm9PRTYreHVlT056ZE1qREcwOHJ3eWwvSGErVmM0TUhPSTJlWXNMb2RJeDNnYjFvbEk0TDFGS0JIY0lTUmt4WUNyaTFlNHVuaTVUUFR6dHgvUGp4K3FWUEQ2TVVlQUhhUlNHVjZ5elcxeWxBVWxRbEdKVU5wWTRuQlk3N0Jtdk85dkx5Ty8zNk5MTEpLQzdSNlExcWp4b0tpSmJJMGE5NHN5YzMvMEtBbTZXTEFsa1IzUUd5enlULy9IYjdPd2RobklrTlpRbFoxdHR4TzZ2V3lEYmRVNHBKU2xUK2dIMVB5eXhTaVBONDZMVjg1aFJRN0tZRVd3MmxKU0lueVYyN3lKY1FpM3ZkUERZbmdHdzkrOWRBZzNJaGxGVVRBek04TmdNTUFWRGhsRnpFNVBjLzM2Vlo1KzRsbkV2OVpEaXkxWnBxbTdIUkFwZk0rNGpZREpNcjllREZkN3dEdnd3dUhGcUQ5NUxLK2NlNFduSDMrV1JpdEJhb1hXR3VzTFV0ZEhDb1hVUU95d3htQ0VwV2ZXdWJyNERxdDJCU2VMMjhtekh6a1RpTEhHZVNUV200MWtkcHRIQVZYdkdRNWF4dHZrUUNQTG9oRWFYZEpaanlwTnhIVGxWVEowOHJqWDJmMXhEUDJ0NzJGWmZlNStoNU9XQW9QWlNweFNvOGF1UWsxa2EreHFTQ2t4eHFCVmd5STNTR0ZSU2xQa0JWR2tOZ2FLZkhqU2VqOGlZT0syOVhmV3FkNjIzbnVVREkrUndoUllsekk1RmFPaWlQTVh6dEdhRUh6am0xOGhOMnRJQ2h3NWppTDQzUUs5WG5iYnZzZnhRWkxZNFhFQm5VVGtKbWRBajNNWHp2RFVZMjNpdUlWdzRJemJzaENCcUtLWDcrSmNNSDVlM3Z1aGs4RDQ4ZSs2ZmxqY1lJdnJMenhDaGx4OGdSOUd0cDJ3dzIyU0pLSFQ2YUJWakJNV0hLeXY5WmxzejJCa2p5ODgrMFcrKzhxZlk4ckVOdzlFRWVTR3U1S3RVb0hMdGtlelBCQUx5RHc0U1VTRUowUVNZeElNUllnaTR2RGVZTDBINlZDdENGRkllbW1IZi9POS80ZlBQUHRabmozMU1aUVE5UEllV1Q1Z29qWEoydm82RGtNMEZkSDM2N3o4OWt2OHU1Zi9MWWFDcEJsVERDRFNHaTBqOGtGQmlIbHJGSG80YlI4VFU1Q1JBMUlMckRjNDU5L0Y2K25Ed1hCU1laTXNJbEVhWlFVSmlzK2UrZ3hIOXg0bDcyVzAyMjJjYzNRSFhack5Kc0tvVUFURmxWWDRmSWpUVjRVK2hnVS90bGkvQWZmNWVlVkRYdWJtNzlrNEtxbElKV0h5M3VPOVp4QVBXSi91OCtjdi9Ea1dTeEluWkhtR1VxSEU4UGdNUlkwYU94azFrYTFSNDM0aFBMMytHak16TTNnaEtOS1VicTlMVnF3eE9hMzV5bGYvQVZteGlyRTlIQ2xWSkJZb2l6ZHNYOVBIMFU5N09EU1NnamZQdmNxelQzMmNmcS9MUkR4VmJyRkZpSEpIV20rTnhhcTJrRDRJRnlRZ3NqUmVrbDd6MU9OUDgvS1pGK2dVaStYRWNVRlJRSnhBWHZBZXlPdzJCeFk5WUNDSm1pZ2JFYmtJN3p3UkRSbzZJVE1GUlRtQXlza0JnNUFlTThqQlFpU2J6Sy9kNGtkbmZzQWc2L1BJL2hOTUpUTWtVY3hBOW1qc2p5andYTDUxa1IrKytYM08zVGhIbzVtUWVrZS92MDZrRTF3V0hHeER3ZHVZQmcyQzZ0aGhDREtWVUE1WmdRRVhERzFSV201dmlkcng2UEJZUkZZQ3lnb2lOTE5NOFZEN0FJZmIrN0hDMG9nVG5EY01tS0RkYXNGQUlyeTg5MEZ3ZFdoLzkvVjNJcWplaDBMUmFreXhzZFcyM251OEtnZURZOTYrM252VzR4NERleVhNL0RnNzlQd2REUlIzMEIrcEdqWHVncHJJMXFoeDMzQTAyd2tyblZ1MEp4Sm05clpZV0x4S2JqcjgwYmUreXEzVlMwQUc1RUF4Zk9MNDZyOGRNTDJLQUdzTFFrb0x2UFRTRC9tVlgvcDF2STFBVEJDMHBuSVVRUm9TMlBFTW91M0RzQWpGQmxRUDRsRXFqL1FFcXloZnJSVklKemwxL0hGT0hIMlVseStzb1JEa1dQQ09TR3Z5Zkh6U2RTcy8yZTJQeGs1T1RKT25CVFlMbXVzV0RSNDcvamduSDM2VWZiTnpPQWRydlZVdVhyM0FXKys4eVZLK2dEVUZTZFNDMkpObkJaMThoZDcxSG91TDg4d2Z2OG14aDQ0ejJaaENlTUhLNmlyenl3dThmZVVzdDlMckdBb0tDcndJMTBZVWtOQkFvVGs4ZllSakI0OHoyWnBFdWhEVnUzcjlLcmVXYjdMa0ZnRXd2Z2hUOU43ZFZpeGhwMERhMEtzakloNmVlWmg5cmIzTTZCbXN5a2w4akxjRkRSL1JzQTBjQ29Rc0UrajhhTGtaZDFnL05FRzR3M3FQdnl1WjFlTTYrdkhQbGo4Nzc0YUpwRlhWdzJDWkJsWjY4alFmRXR4cUJxamFoNUFmdkVhL1JvMzNBeldSclZIanZ1RlEycUlqVDJHNkZMMk1Sc3Z6dGQvK0NqZVhMaElwUjJGTEVyc1Zkc296b2lMVXlyTldMSEh4blhNODllanpPQ3hleUkxazBWT1MyWEZIZyswa3MzZWIzdDk4Z1FOamtNTW9tRUNJbU9lZitUU3ZYbmlOUnRRa0x6TGlTTlB2NTNmY1krVTd1dDIzVHlBcCtqbmVRa3pDNlVPUDg4enA1M2pzMkpPMDR6WmFKaFJGd2RIOWxzUDdqbkpnN2dDdm5YdUZ0eGZPNG9wUU1yYlZEQktTUEN0WXlWZDQ0ZXozK2RIWkh3MzFyUzFhck5QRFk0SnNRQ2dLWDRBUXRKTkovQURtMUJ5bkgzNk1SNCtmNHZEK0k3UWJiWVNWRkVYQms4ZWY0dHc3NTNqOXdxdGM3bDdDNFlrUk9HMHBpbUw3TCtLbUpEVXRnMXBhb1lscDhNaWg0MHhFazhoTTRWSVZOdklLbVFzSzR4QlNsM0tZcWtkSXZLOXFaSTFVclhkYUw3eEU0UEN1MGhISWtEUmFKcEE2Rzk0UDY5MXdHZFlIT1kzd2xhekdEWmVWcHQxYWdkWmhCc0xhQXVkQ29GV3BDSWRtYVdXWndvYS9UNVdVUUFpQmMyNkR4cmxHaloyTW1zaldxSEcvRUk3Q1pNenVhWEZyL2dycnZVVysvWjAvWkhIcEtrb1lDanVnaXNSV3psb2JaV2M3UUdOWlFUaXN5NENZbDE3NUVSOS85aWZJdTRiZ254cFJFZGtxSVNvODQ2bzZVVHNKWWJLL3lrSWZSWklCZlBEQnJXS3lYdEpienpsMTRnbE9QL1FrYjE1L2hZZ21lZEVQVzJ4bGFiWEQ0R3lZMG4vMHdHays5NGt2Y1BySWswekZVNnpkNnBLYklQU05rZ1o3bTNNMEgvMDRyVmFMd2ZjRzNPaGVRWW1ZYkpBQ1FWdGJVSlJxNDRLRUJBZXNzaEprdUVSa3BEanYwQ2lNZzJKUXNKYzVuai8xQ1o1LzR1Tk1OcWVnRUtpZXhoVWVNM0FjUFh5TXBtN1JhclVRYndyT3JiNkZ3UkVSQjBLOG5TanZweFF5UkljOUtIUjV5eVd6YW9iRER4MG5vazNlOXdpamNDcEdTMG1rTlptM2VLV0QzZHN3WTB5V3MvRnkrRHVJTGRjTFNsL21PNndIUWNoYjNMdytFR0ZaK1RvTFVSSmNzWWtJQzd3U2VCM1c1NzdBSTRpVENDODBUbXR1TFN5RkNPMFlwSlJEK1VHTkdyc0JPKzBwVktQR0xvS2owVlFzTEYxRng1WnZmK2ViM0ZoNkIwU0JrQVVWaVpVeXZFWTJzUktvUEJ5MzhTczRlamFDOUZoZjRIRzgrZVlickhWV3RwNzZIZXBPZHdBQnY4MHpxWVJ3dDcrRzdRMC9DKzlDWk5aSzJxMVpQdlg4WjVCbzJvMHBRQ0NsQmwxbTVXMTVuN2IvL0NXU0NUMkZKdUgwc2RQTVRleWp2OXhuZmI0SG1XSnU4Z0I3bS90SmFPSDdnZ2s5d2NuRGozTHl5RWswU1poMkprSWdNZGd5S3o4VWtlM1RJNlZISzJraWdZeDBlRXhSRXQ4dzlYNmNrd2RPOGREc0VXS1RrQzhaaWxXRHlqU3hTVmk3c1U1THRYbmkwU2Q0L09RVHhDUUlaRWdpM09iSFQzQ0dsY1FpUXZpeVdKY05hdDZZaEljT1BVeXowY1lheUF1SEZScFBCQ3BCeFJOSTNhRHFHMkY2dml4bks2cmlHU052Z1MzWCs5RjZOZFJ0aC9YU2o5NFhRdDF4S1VSSXIzdTNaWFU4S1NWU2FKeHpwR2xLeDNUS0ZvenV4WGI1V2Rlb2NiK29JN0kxYWp3QWJzMWZ3N28rZi9LUHZzN3EyZ0tSbEJTdUN6WWpUaVI1N29iNUVxTUFSNmgwTHhCNHRwN0MvdENnQUF0U2diV2hWYXZwTW1mT3ZNRnpUM3g2dE4yV0JIWUhrTGtoMFN5djh3WkxzSTN0RTc2YUxQWERXTGlTRWM3QXd3OC93cEU5eDdteDhnNmdjUzRyUng1YkdZenVIR1FtWTRhOW5EcCtta043SHFLL21OR1FMWXozdUw2anM3cE9NaEVqdkVJWnliN3AvVHh5NUFUbkxweGpNYjhGVUNaamVTS1JZTDBOa2RmeVBEdFpSWFJBRXlOUlE4T21QWEl2ang5L2d0bm1IbHpmUXlwcGlDWXQzYUlaTnpHUllhVzdRa1pPczluZzZNR2pIR3dmNUZMdlluQlAyQUVJeGFVRmhvcVNLa0F3RmM5dzdOZ2o1TllpY29oRWt5aEt5SzNFV0FkS1loQklZNG1HZnRCM2RnNjQwM3BaZHFjd2xoejFTK0g5VUNCZ043MWZsVjhad3QzZHNVRHJvSTBWTnVobFZXSG85L3VzNVV0VS9WbEpSYkZwNFBwaCtGalhxUEYrb0NheU5YNU1zRlhFVEd6NmZSeUJSb0laeTNEMzNEbEtXa2IxaEdQb0dTUlRIRDIrODZkZjU5ckNlYUJBU3h2MmlRdFJQY2FJck52WVRpbGhPNU8yQVpUU1dHdWdiS3VqQUJUbkw1emhtU2MraGhLR0lDMm9zTEVNclBTMys2N0tlM2oydmUvaUNqL3U2WFI3RXBpSDBqODBIRmw1amMrZ29TYjQzR2Qra3YvMVgxNWdxakhEYXJxSXQzYXNDN214NUx3UHVCRENlNVF5Vkp0TnR0cE10Q1p3aGNQa2xvbjJKSU5CU244dHBSRTFtVzVQTWIrV3NqSy93b3llNU9TeFIvbVZuOVZrTGczRVRRcGtKT25uZmM1ZlBzOGJiNzFHMTNTUktPWm05dkxNTTg5dzdQQlI4bTVCbmhvbUd4TW9wK2t1OVhqaThKTTBYQk0zc0VnamFNa0d5bW5TYms1aGN3N3VPOGlWeFV2ME9pbk5wTVhjM0J4WGU1Y3BodTZsVy9TQXV3VUU3K0hDdjVlSWJ3Rm9LY0JXa2VZWUFleUo5L0RRN0JHaVFZUkRrTVJOWXBtUURnWVV4aUlSZU9lSUVNTTJDVWJFTDhnR3lpWVB5YURZOERNRUlsMjlwOHYxYWxQcjlhYlBiVTRXUXdpYzl3UjFRVmd2ZmFsdE40NVloTDlwUlJsMkxtUkIxM1pZN2kwRWNaRFV5RWhEVmd6SmN0aXQySGk1L1VoVnREbmxzMGFON1VSTlpHdnNjZ1Q3bTNKMmZLaE1jNFJrQldjdGlMRnlxOTZIcVRZdlFkZ3lJbW9BSGVKMHZ0U2JsVitONEx0b01UYkgrWnpKcVFZNmtseTRjSlptMi9GN1gvdXZ5TTBxVWd4dzNtQ2NSd2lQOTVBT1JsbnZvMmZQYUlvN2tOaHRaTEplWXJPUW55Mmx4cElpbE1QWkFUOTQ2Uy81aFYvNEpZeUR5VGpCWkFhTW9OVnVrUmVlTkUxcE5HS01HdzBZaG01RzQwKzM4U2lQRDlkbGFBMVV5dnJFMlBveWMyYjBrZkx6d205MFN4cXV0K1BScUkxTEdEMW8zVmk3L0lqTjBvd2EzTHA1bmNNbkRxSlBQY3RmZi9jUmJxMWRSUkxqaGNFcEI3NFl5akNVRndpdjhPNzlNa0Fkc3d2YlRPREdNOHJLaUxnWTZ5OFNRNFNrTUJuZU81b1RUWHFMR1Nzcks1aWVaN2E5aHppTzZYWDZSRVRNVHUzRjVUbGV3TUc1UTJpdEVXbEVsaFUwSnhLaWlaZ21FeXhjWGlKZnYwSkV4Skdab3p6OThMUE1UZXlsWi90TVRrK1JrSkIxTXVKREVST05OcDJWRG9Nc1o2bzVSWndrNUwwQ1p6eU5Sc0xxNmlwUkZOR2NiTkh0cnpISXM1QlhxQ1NGSFozSjhCcFU1NzM1L0RmRGIvck1rRXlPRFJUZmhjaGFIRFNoYndaUWxqNkkwY1FrZlByRXAwZzZpcmpRQ0s4UWhTWHpQWlFJc3hjT2k1SWhiaTNIcmJNMnV3NzRVY2YxM3BlT1ZxUDFaaXpvWDFscWJmNjg4MlA3R2x0S0w1Rmw4UStqUFFhUGxlQ2RRSHVJbktDbEd0aCtqazRpbkJEMEdMQk9qL2g0aXg5KzcyVlNDakpueURJenZJekdoSitkMmJxUDErUzF4azVEVFdScjdHcklvVTV5TExJejduRzZRUjg1L3Jtd3RITHoraklpV3o0b2U3MGVNek1UVUVqU3JLRGJHNUFYNjB4TVJYemxhLzhOV2JHQ2NlczRQMjdWSk41bFdtNEhUVStyQ0t6RldoK3lwQW5tcVgyN3hwdHZ2Y3JuUHZGenJDK3ZNaEh2QXlScG1oSkZFYXJTQm5xM1FhcTZWZkdFTzZHeUhYci9zVFdCcWVLb2xmMlE5QktiNWN4Tjc2VzMwZ01FWC9yOGwva1hmL2JQVVVRWUhKaGl0RHNmcG5ueGxxcHkxdVpFbWZ0cjYzaC9IVnQxbDExWFRZcVVJa29TK3VtQTVaVWxIREE3TjR0cE9NekFzRHEvU21NaVJpYWEzR1E0YVZDUlpMWGJaV2xwaWIyVGgwalRGTi96c09TNGZ2TWEzZjQ2RG8raFlKQU5XRmk0UmJxZWthNE5TSk9VaEFhbVoyZ2xUUWI5b0tOdHhrMWNidWhuUGZDU0tJcHdlRnF0SnAzdUdqSWZrQ1FScllrbURrOXVDNFNVWThtUFcwUmx4NVVkNDZ0OU5XdHk1Ky9SWmhJYjVsLzhjRGs4aGlzSEVFS1MrQVlTeGFuR294eWFQRUREYUtSVHdTZDJlRHZDakl3Y2k5QlhNeExETVFlbDNkdDdzTGJZWkpvUUVzZkcyMTN1NTA3ZnErb3FPQ1JXV3FyS3VVTm5EaHVTR3FVREx5MVdHR3ppdUxsK25UNDU1b09lWGFoUjQwTkFUV1JyZkhUaEJmaEtjUll5ZmtmcDd1RWgyV28xV0YxYm9qMFJNYnVuemNMU1ZRclQ1WnQvOVB2Y1hMNktwdytiaWp6dUpsMlprZ0pyUjU2ZTFsb1VHby9uaHo5OGdjOSs4bWN3cGtBMUJjNEppanduaWhSYXhYZE90dHBGY0E3YXpRYUxuUzZxcFhuMjZlZjRxNzg5enZtbGMyaVJVSGd6SmtnWWcvQklvWER2VzJTMlJFWHUzNlVMVlc1TlBkdW5tZmJwWjMxbW1oYUxwOU5mZzBLUnhBbDdEczVpZlU3dWN5S3Q2SnFNUzFjdjhzTlhYdUN0cGJkS3dtb1JlTFRRcEg1UUZsQndTQ0Y0K2NaTG5KdC9DK1VseGhtYXRNUHBJMm5UNUZjLzlhc2MyZmN3T281RFpUMnRtV3hOZ3ZXc3JxOFJ4Um9kSzd4d3JIWFg2YXl1bGJNbGxJVDBMa1Rxdlh5TjdyQ04yMFJ5UXdGaU4xeU9iUWhlRXNzWWJjT2svdU9uSDZQZGJtTTZ4UjFqdXZjeVlQc3dJZnpHUzJLZFEwcEI0VVBmc0hoVXBMbDgrU3ArSncyb2E5UjRBTlN1QlRVKzJ2QWFVT1Z5ZkZ6bkFJT09QRkhzTWJaSHQ3OUVveG5Lemw1ZnVrZ3N4OVZpdXhPK3RLc1M0M1AzNVh2bjMzbWJDeGZlWm1wMkFpOHR1VTFSVWZBSDFUckdXci9ydWF4RWtPZUdSTVZFS2dJaitPVmYrUGVJaU1FNUpCb2xFN1NPUUZXRG5ESXU1eitnK3FxYnczVERDS1RjOEg1UVJ6aVdpbVhPWDM2Ym5Kem1USlAxb3NOS2Z3bWpEWDI3emxKdmlWd09pS2RpZXJiTDYyZGY0K3pTV3hneUJxelRaNDB1SFZiOUlxbFl4K29NMGJUb1NZRlhCVms4b0V1SEFYMjZyTEhPS3V1c3Nzd3laNjYreVZKdkVkL3dxRWxOcmpPNlpvMGVYV3hVMEMzV2FjODI4ZHB4OGRKNTNsbTRCSUFpR21wQVJIa25ObFJpZXpkSlFmV1p1enpDS3FJV2ZCamNodVZvSXdWZW9aeWt3SEJJSCtUUWdZZklzbXhZOG5nVWlkMTZkbWM3NGJoOVBDbTlRK0J3b3RUTmFvR1ZEcS9BQ29jUmxtdXIxMjRqK3pWcTdGYlVSTGJHUnhpbERaYVB3VWRqVHdRSHdvSW9LRXlYUFh2YnBQa2FDNHVYK2MzZi9nMFdsNitnc2VSdW5lb3hKNFRZZmJZMXd1Rk1EamlVOE1neU1GMU52MllNK1A0TGY4UGtWQXZuY3dvem9OR0l5VTBCVWdjNXdpNy9FMUlxQldnbUxWd0JlYS9nOUluSCtmaGpuMEFRQmpuT2VLd1JJWUhtUFhDdCsydkkyR3ZzZDRFTU5rcmx2ODNYdXhFM3NCaSsvL0lMdlBUV1MvUjlsOVpjZzhhZW1GVDNXZmRyaUVtUG5KS3NwQXU4OXZhcnZIN3RGUXdGazFNVE9KM2hHd1ppQTlxRnNad0FaeHhaUHdNQnBpaHd3dUcxd3pZdHVjN0l4SUJDR2w2OThUTG5icDVsMVM3aldvWlU5NWxQYjdEdU96VG1FdlNrcE9zNlhMeCtnZk9YMzhaU0FKNGsxcWp5N09BT0NwTzdYR0N4NFNXSEwxOFNWVjlPL2Q5MWlRTW53Y3JTSDFmeXNXZWZweEUxNks1MWlhSm93ekUzSnpYdU5JUWNBYmZoV2dvRnZpU3lObklZWlZqdHJkQmhEY29yVmFQR2JrY3RMYWp4RVlZc3BRVVZ5Z3dnVVNXSVdSb3R3ZnppWlhSVThPMS8vQTF1TEYxQUN3K2lBQmRJNEhnSnlOMGtLd2pQc0JCVnJLU0NFS0o4aVFnUDkxZlB2TVQ4MGpVYVlnYWt4MHMvS25kcFM3T0RYUXhYT05xTkpyblB5UVk1clprSmVtdGRmdmFuZnA2ejU5OWl4U3dDSHVkeW5QTUlWU2I3bEYzbGc0QW9TV3lnckpYMFphUUpyZjUzUU9ZS0RKWlZ1OHhmL3VBdjZheXY4OHpwWjlrenVSZmhGY2xVUk80eXJ0Njh5QnR2djhicloxK2h6d0JMd2ExT0oyakV4OHc2aEpKb29YRE9ZWXZ5Qkt1RU9pVXhvNGFSMmdFU3o0dm5ma2pQcjNQNmtjZllON09mcUszeEdIcXFROGQxdUhEMlBLKzkvU3JYMTYrSDh3TUcrV0NvV1ZXb01sb3FRNlRadXhGTDNSeWRmazhYY05QUG0zOGZYenFKSWtLam1XV1drdytmeEhRTnpscVNLR1pRbVBmc0lyRWQ4Q0s4cEMvdDVGeTRmcUs4VFY0cURCWW5IVTZERVk3ck4yOWhDRktER2pWK0hMRExIME0xYWp3Z2ZQa1ZxR3kxZ21kTklLcWlZR0Z4RWVQVytaTi8rSFhXMW04U1NVdmhldUF0Y2FUSkNqZWFndHhFWW5lVEQyTWw5WlF5T0FGWURCNUJKMXZoYjE3NEs3NzAyVitrMFU3bzlkZHBOU2V3aGQ5OUVlZ3RJSVFJck5SN0VoVVRpNGhlNXRrM3M1OHZmZTZuK1ZmLzM3OGtwVWNCT0hKd0hxRjk0Rmp2UWN0NnorMFo4Y1F5SWx3VnpnajIvU0hSQ0NvaU96Qjk0cmhCbm1jc0ZmTjg3L1h2Y21YaE1rZjJIMkdpTllrcENqcnI2MXkvZFlYcm5lc1ljaUt0Y2Q0SDJ6V2dESklPejhYaEVXZzBrS2lFekdVaGdta1VOamRsZFkvd2Zjbkp1ZVZ1c0hoMm51c3JWM24weENsbXArY28wcHh1dDh2YTJoclhiOTNnWnZjR2xsQnB6RkFNRTY1VWVYN0J5elk0WUZoa0lMTjNIU21FZFhMRDFkaDhNVGN0Yjl0RktFVWJFVFBOQk04LzhUeVJpMGo3ZmRwSnU1eHhHS0ZLeHFyMHNWdFp6MzJZY0dKamZMNXFsL0NncW1RdjRiRGVrSHFEazU3TTUxeFp1SUxGVUpEWFZMYkdqd1ZxSWx2am93dS9lVm84NkdJRG9TMUFESUpQN0QvK0k2N2NPZ3RrUk1vVG52d2dsWVBpZGx1Y0NsSktyUDJBZEpUdkZ6d29IWW9oQUdndHlhMmo4QWFKUUV0NDhlVVgrTklYdmt6U2JERy8zR0ZtZWcrZHRGLzY1SnE3N242bkk0b1VnOEdBcEprdzBacGt2YlBHdm4zN2VlZnFlWDdxOHovRGl5Kyt5RXE2UktkWUNobmVQampRZXZGK3hiTkdCS3dpc1dXTkowSjVpbURaUDZJc0p0akVBV0N4Mm1HVnhZdFFYallYQTg3ZE9zdjVXK2VJaU1zQmlTTlU3TElZREprWmdIUWtrMDJ5N21CNGJGMys4NVFFVDhUa05rY1JoYzg3RHlnUUVoVXJiRHJBVUNDRXhQaUN0eGJPY203aEhLcTBzaXBiU0V4Y0hqdFVqZ3NKVjZES2YwRVNJSEFsb1pVNExBTG41VWdDOEI2d1FmdTZtY1J1c0RLcjNwSkVhRm9rekVRelBIbnlLZnByZmNndHJjWVVhWm9pUlRUK2tSMkhjU0pkbFk4T05sNmxQbGdJQ20vSXBjVktTK29NQ3l5V1c3dGFKMXZqeHdJMWthMnhxMUZONTN0R1M2cWZOeEZMSDB4TVE3VEhDZkFPcVRYZU80d3RjRDVqY2lwR3g0SUxGeS9RYk1OWHYvYWI5Tk1sSUFOeUNsc010YVJwYWpidWV4TjJQSWt0TWQ3TVBCc3Y1V3BRc2VmQ3pUTmNuNy9FdmhuUDVNd2tTOHNMdEpOWnNpeGpnekNqOUlFZHZ4YnZwcUFkTDRQcnZROVoxNXNOMzhmM3orYjlQMWhJVEFpQjFocGpETlpZWXRXZ3Q1cXlaMm9mMlhyQjMvMFAvMVArcC8vNVQxSEVaYzYzeGhSWm1NNlY3NE82SUJpTGpuNEZFcGtnbkFxVm80Z1JLR2FpT2ZidTM0TVFuc1dsVzZ3TkZzakpRSG1zelVHQ3crQWpqVW56b0tqVm50eUV5bkhCY3N4VUxCa0VaSVBCQm9JWFlxdzIrQy9qeUgyS0g3dkRXbXFzczNqcnNMa2I3cXVncXFZV3ByU05EOUcrY0Q0eXRMTkVGVUdWcGVKM2dpbmFxazF6b2trLzY3S1FMdUt4YUFST1dBcGZES1VVbzZTcjBkN3VmbTFCeGdLWGgzNFpOVFJGYXBCQ29wVENGNEhJN21VUFAvSGNaMmpKSm9ZY3FRVkthSVFFNDhxL0oxUi9UenlWRWJIMzRMYW8xbFY5RDJDanU4RlcvWGZ6NThXbTljUGlJbjZyejFkdEs3OG5RMy9aS3Q1dGcySTJVZlRUTlNhblpqanpvemNwTUdSbCtld2R5OUJyMUxnSDFFUzJ4a2NYd3RIdHJURTdPdzJGSU0xU3VyMHUrVnFIaVNuRlY3NzZEK2dORmlsTUY4aXBJckd3Z1h2c2FvUUhZUGg1b3h3eGFCWTc2VEtDaEgvM1YzL0JmL1ozL2g1WnAwZXp0VGRFTWFNRTkwRmw3bjlJY01Kdm1wNlZTS2VBR0pCTU5XYjRwWi83RmY2M1AvOWZhT3BwMXMweXNZekpYYzRES3lzRVk0YWZERG1hY2NFQ0xTSGgwTlF4UHZPcHozUGlrVWNwaWdJdkhIR2l1UGpPT2Y3NnhiL2kzUHhiUVhHZ0pCaFBsdlVSTWd6T01qTVlPOWFZN3JRNlhtWENJRUVKR1dRVDZISXdZVXYxdEdWWThrS0ZjZ05XQUZJRWVmV203NEVYZ1ZvNWI4dmRXMlNaaUJXanNlV0g1aWJuT0gzc01UNy85QmNaZEhKVXBFQlozcmwya1ROdm4rSEswbVZ5Yjh1STdjaWg0VTVmTzRrc1c4cUcwVTlGWW9VbUZQVVlTb0pWV2ZxZ3diRjlEN08zdFJlZk9uemhpZEI0TDhwQmxpelBLWHduZ3ZleDJ6RUVzS1N1VkxYcVJGbDBCSUtqaUJHZXdqdEVLK1ptWjRHMWZKMENoNldnOE1WT09ZMGFOUjRJQ3ZpdDdXNUVqUnIzaDVoOWV4N2g4NS8vYVpTSWNOWWpSSVFRQW1jOVNvMm1Ka2ZQdGhCR0VtVkoyampSckhlWGlCT1ltSXhZN3kyU0Yydjg0VGQrbDJzTGIyTmNEMGRLUldLSEFiUWZneWZBV0hCdTQra01DVSt3NFpwb3RIam42anM4Lyt3bm1acWNSVGlOeVNGU0dyK0p6V3hWbk9wdXYyOHVLSENuN2UvRUdjVURSR1REYVRxODhQaGg2S3dzOUZEdU85S2F1Ym05TE42YzU4YktaUlFTVzNxeUd2T0E4ZGh5RkNHaWtrUjZpTkdJVXJuNXlOd3BmdW1uZjVXais0L1IxSk1JcTRoRVRGTTNtWjZjNWVpUnc5eGNtcWM3Nk9NS0QxNGdrQ1JSUXJQUkpDOEtsQkFJS1JDaXl1WWFYNDdJcmZOQmdCREVCd1lqVEREUEZ3Wlh2b3pMOGNJeWJrTWx2Q2lMa294OEZRU2xpd2VDU0VRSUpMb2tzNXFJQTYwRGZPeUpqL0h4eHo5SmtqWlJxYVlWdDVpWjNNUFV4RFR0OWlSWVdPbXM0b2I5UzdEWjkxVGdHYS9rNVRjVDJiSmp5MGdncmNMYmtGaW0wUWd2U1dod3N2MG96NTU0aGdNeiswT1ozU0swR1Z2cTI0WGNNTm9UNVhHVkI4U2R5MkhjcWQvZTN2L3Z2djV1L2Q4TGdSTXF6QTdnUzl1dFlMOUYyYWVkZ2xUbWlBbkZXOWZlNXZMYUZicjB5TW5IK255Tkdyc2J1OXM3cDBhTkI0SkRhWWVPUElYcDB1MHZrVFFjMy96anIzQjEvaHlKaGlvU0s4UnRzOEEvTnFnMG1XSm9SeWFIS3p3TzV6TThLZC83MjM5THF4V1RaajJpV0pCbDJkMTJ1K1BoaE1NTGg1Y0dQNndHSndJNWN4cGxJNFRSUkM3aGwzLzJWMmt5aVNkb1NaMnh3MEhBZzhLN1VZUlB5eGlKWkVidjVmbW5QOG5EQjQvakJwTEJhczUwUE10MFBFdTZrdU43Y0d6dUJMLzZwZitBQTQySFNHaVMwQ0FtQ1dZYUEwalFLSytRTHJ5VVV5Z2JsZWNWZ1VsSW9zWW8wVXNDV29JV3FFVFRtR2lDZ3FnWkkxVXBNWEFTbkVRNGhmWU5HUlpQTkFBQUlBQkpSRUZVSXQ4Z29rWHNHMFErUnZtb2ZPbVNNTUlFYldJU0loTG14RDQrKzlUbitOUmpQOEdCK0NDeXE1aU9aNWxnaXNGU2lzbzBwdzQveXBNbm5tU3VNWWRDSWF0eTBadUVKSGY4S203U3ducmp3OEFXeFZReVJVeWpUUEZLT0gzMEZBZG1ENkNOZ3R6VFVBa0tSWkVWV3lZekR2dUpxS2J4Nyt1V2YyQ1F2dFJhbDVGam9hREE0alZjdVhXRkR1dFlmRGlQOTZzRDE2aXh6YWlsQlRVK3VoQ2V3Z3pZTTlmbTVxM0xySGNYK1VmZitUb0xTNWZSd3BLWlBzUEVMaGtzcXNZaGhjYjYzWjNzTkRTakg4dVZIeTdLNmVmVTlBRE5pNis4d0plLzhNdE1SQWVRWHVBK3VCcXpIeHFzQ2hQbzBqa1FxaVFCVlNhOFFCU09TQ1hNVGUvbjcvenlmOFMvK0xOL2hwS2Fuak1rT3FFN1BuMS9QeEFFNWxGZTc4b1g5ZURjZmg0LzhUajlsWlRwNWl5UmFHQnppL2VXdVlsREdKdlNYMXBuZi93UWgxdEhNZXVXaG1yUXQxMHkralJjSUdUaFBDcU1NNWN5c2Fyd2VLc0FqNDQwdWNreE5zY1dEcHNOd0V1VWpJaGxRbVp5WXBLUUVPWTlNUW1WRTZ3ZCtyZFdHb2xLMldwcE1RRmw3UDVBZkpBNWRZQzRFOVByOXRuVDNFY2phbUlvNktVOVVKQzBtK3lkMk11aHVVTXNYbDNBNDVFSU5vaFkzcU8rVXltSkxSd0tHZjRWQ29GRG9YbGt6MG1PSHp4TzRpUFNYb1kyaWxhN1RUYkljSVZCSlUyY2YyQVY5QWVLMFRjd3lCNnFybFRKTEx3VU9BZmR3VHBMZmpVa0xBckhCbkY3alJxN0hEV1JyZkVSaHFQUmxNd3ZYRUZIbG05LzU1dGNYN3lJRmhZaEN5Z1R1NnJBekNnYUt6ZTlkdmJEN3U2b3B0TEZwdmRHeHJMaFlXbFk2Uzd5d2crK3g4OSs4ZC9IcGdYTlZwdWkyTVZSMlRJaUMrQ0VHazFQK1VET2xBZXBFd2I5RHE3SStlVEhQczJWV3hmNWYzLzRmeE1SWVl6WnFNMjg1K056MjV4WTRRd3hDVlB0V2FaYk02UzVJL1lKSnZWMFZycDRMRE16a3lSeEUyc043Y1lrdi9iRlg4Y0poL1U1bmQ0YUtwSWtEVTF2MEVVcEZXeWFQT0Zndmpxb3hBa3dMaU16S1NMeWVPVzRObitWTTIrOXdjMkY2M2p2T1hiMEVaNSsvQ2xtSjJld0E4ZEVOSWx5bW5ROUpWSXhEZFhBaTZBMXR0SUVOd2ZocUVvOEN3L0NTSlFKVS9sTjJXWlNUOUpXa3pUMk5GaSt0Y3BLdm9LSW9OMXM0NVRCOWcweERVNGNPY2xyVjE4ckpRdVN5dk40bzlZMzZGaTN6TDR2L2JLVTBHaXZrV2h5VnlCUkhHNGQ0ZmtuUDhaa2N4cmJLU0MxUkhFemRIdm5TMGVPRGJ2WnNXVnBoODBTUVY0d1ByeDBXSXczWEx0NW5Zd2NpOE5KUCtwN2p2YzBJS2hSWXllakpySTFQdEtZWDdneDlJbGRYVnNnbG9yY2RjRm14TEdrTUc0TFRXeXdSbkkvVmcrQWNVWTFSaGpLVmQ2Q28rRFYxMTdrNlZPZlltN21rUkNtM3NVSUJDd1FJQ1ZDVXMrUXJQaWdqZFJlWURKRHBBUnBiOEJQZnZhTFhMajBKbjNUNGZycXRRZHZoR0xvWUtiS1Nnc0NTU05xVUdRRlNqVEp1amxhTkRpMDd6RENlUWJwT3RrZ0o0b2JyTi9zTUpGTW9XTk43bEltMnBQb1JDSzBZeWFlRG9VclJCVmxGcVZ2c2tTNDhIdXNJNnd6eUJnS2N0eXk0Rko2alloVndERW45bkZpNmlSek13Y3dVY0drbmtRWlRXNHprcVJKYW9wUS9sUVlyTFNCekVvN3ZLNGFnVXNkU2lzaUc2TXlqZTE1Qmk3RlI0clo1ajU2ZEJHUlJ5V1NBUVA2UlE5dklkYkpVUEFDVzhmK0E0MjlNNnkxUVVZZ0Vwd1B4bUpUVFBQNHlTZllQM3NBa1hxRWdTUnFFRWxOUGtnUlh0SnNOc21Od2V1ZDNjZjlGZ1JibEJaeEVNN2ZlY09sRzVjWWx1bXRDazdzN0ZPclVlTTlveWF5TlhZNS9GQVBGakQrYUNzcmR3bkt5STJsTW5KM1VvTE1zTDdEZC83N3IzTmwvaHhRRU1uS1M5WWhwUTc2eFRFSTFCaW4zYzJSMkFCZlRnMXZQS2V4eWVpUUU0Y3M2d1lzcmk1eDl1S2J6SDM2S0tudGhlS3BmaXgwVzMxdWl5UGRKbDRrUElTcmo5LzJRTDd2czdvenBCOUYxdDFRUmpEZWQ5U0d2bVNNWlhacW1vSHBrWGY3Tk5wVC9PZi84WC9KUC92bi80U0laUnhabVpDMHlSN3FEbGs5RzVLVHlpNkpEeHBaSWNNVXY4Q2p0S0NmRG1pTEZsSXBYTzdwcnc5Q1ZqcUNTR2pBTVRuZFptRjlucVZiaXpnc1NWTXpLUHJrZVVxamxXQk1Qa1prWmFsL0ZzR2R3Y3RRZnRjVzZHYUUxNTZyVnkrenRMNFV2SEpSWEwxNmxXc1BYYU8zMW1kOXVVdEx0WW1zeHFTV2lZa0owaUxIU2g4U3dwVEJpWkxNaXBGV3M2R2F5RXdpQ3NGc1l5OEhaZzRTRVpOMUJ0Q0RXRVZZYjFoZlhhZFBqMmcySWxJUitTQXJyNWNjTG9lMkErVTFsZVBmZGJZZ2FHVUdQOTZqa01URVBIN29jVTdzUDRIb0NXeHVVVWhhalFiZVd2cURBYzFtazBhU01GalBrQ29NYUNvdDdIdUp5dDZMYnZiQkhMQWNnbUNwSmgxSUYrNnJ4Mk1GV0dISVJVWXFNbTV4bzNRaUtUdGQyZFZyMVBoeFFFMWthK3h1ZUF1K0NKRW1YMDQvZW9WM0F1OFVlSW1VRHV0eUNwUFNiR2wwQkpldm5HZHFSdkcxYi93RzNmNDhuaDdneUoxSGE0bHpra0Y2dS80MUtQMDJrNS9kaVRISEp4Z1dyQ3lKYk1VN1BUZ3ZjRjRUcXpiTGVZZi8vUy8rRDU3OXpDZEpLSmdVazdqVVk1eWwxV3FodFdabGJSVm5MSFA3OTlIdHJnT2xPNEFQdHZ6Qkw5UGhLM0xpU3VaUk1jeHl1WUUwK052WGg5WnU5T0dzbGx1UmljMFo0TXBKdkJ2cGc3M3plRy9LbG9YcVZVcUhxZmxZTjNBNXlJRm5JbXJ4aXoveGQvbUw3LzRyM3U2L1RsTkR6L1NDK1grU2tPWEJuMVhFQXYvL3MvZG1UNU5jNTVuZjd6MG5sNnB2NzBZM2xnWWFhQUJOZ0FzV2toSzFVdEpJWk16SVk4c1JpaGpmT2h6aG03bnhIK0FiWDlpZW1MQTBkdGlXNTlZWEUrRndLQndPZTJZY0kydkdISTZvSVNXUkVFbUFBQUVDYURSNjMvdGJxeXFYcy9qaVpHWmwxVmRmTjlBQTJmaTZ6OU5SblZWMWNqbTVmSlZQUHVkOW43ZjIrNGhYR0NnUGx2V21WcWhVNDJ5QnM0WmNjbXBmODhHRjkvbnlTNy9DMG5DRHl0ZG9TY2l6SE9VY1ZUSEcrUnB5dzJaMmd6LzlxMy9HaFZzWFNOQWhzUWRMVGs3SnBEdDAwMWpvRnFvNWV0UHJPSXd5eng2NGlkdmwvL3pyLzZOWlFqb2kzdjZ2bWdlN2NHWk5RNWFtM3FZS3paQUJIazlDeHRQcDAvem1yLzQyVHoxMmtycXFXYTJFWmJWRU5zelFvckdsUVR1aEtDWmN1bnFsMTlkMlcrSEttVDRZdEd6TVRrbHNuOXZXa0trRWpDVWo1WFQrUEMrZmZJa245T1BVb3hydEJCR29xaXJFL1M3bkdHL1pMZmJRYVJpSzhENXdQdDk3QXBwZWlyNm40dmVla0JhaG5iZVp6MGx2blF2YXU1UFhucis1NjkvaEtlc3h5OE1sYkdud3RXSjVhWTNTak5tZGJPUFdQWFZlOHRvYjM2TmtGNE5GcGRMVWZFbElraFRqU2c3emIxaEVCRVFpRy9GQVlmOFA4bVF5WVgxakdlc0tqSzBveW9KcWI1ZVZWYzEvODQvK1MwYVRHMVJtbTNZNHZTMHJlK2ZTc2cvS0Q3ODZVSWtGZ3BDRjRMMG0xVU1xYS9FSXRaUjg3NGQveVRkLy9lOHl2clhIa2VFeGpER005MGFrZWNiSzBuTDNlUmF6NUg5S1p2Y3JVNTkyTnZnK1c2T09mQ1E5QmRZMzczMDNORzZNUVd4WTJsc0JFbGFYMW5qeG1aZnhDRnZmdnNrMWN3bE5na1pUbFJXaUZmbEtSakVxWmpmc0ExM1VIZmxxMUViWEVwTm1pTjU3cm01ZjVzZnYvQzFmZTJtRnBjRWpTRzNZS1RiUkRnYTVRb213NDdkNTdiMi81dnplQjB5WWtPcVUyb2JrUkpmVVhUR0VnK0diK043MmZPelgwZFdDK0ZQZm0xODNhVlF0ZlhVejVGaVJvUEZOTmJLVW1xdjFGZDY5L2pPU1ZjVVR4NTdBMzY3WkxYYW9keXZJUFVkUEhNWGxOZSsrZTVNUExyMkhEVkdkY3c5ZFF0Q2xwYnRtbE5LUUVjcmcycTZqYUFYV0dGSXlUdWduK2Z5cEYzaDg1WEd5S3NNVUJwWE14cmkzSWFQemxGOTZBd3AzdWpURjM3bDk1dGg2K0NRdXpBTGtXWUl6RmNvcmtpU2pNb1p4VmVOVGpSckFwYzNMYk5zdERBVldoNy9uc0JQQ0ljOVRqWWpvRUgxa0l3NHhNbzRmZVk2di8rWTNVWkxnckVJaytIQTZHektXczF5enZYMGJuVGpXMWdlTXhwdFlOK0cvKytQL21rczN6bEtiSGJ5ZkZqcG9MWGZ1VEdRZkZNdzc1UHZacGg2R3d5V3F1b1pHVGJ4MCtSSmYrL0xYeU8yQXBYd0Y1eDFsVmFLVUprMVRIQjVqemRReXFjOEUydHVwYnpQcDlydkIzdTN6UjltenUzKysrM2h4KzJEVFR1czZYQ3Q1bnJPMGxqTmN6N2g0OFNLVnE4Z2t3K0d3M21PTW9iTWhtTUZVODNRTmlmVGFoMUVGZ1NSWEdHTXdPTFkyZDNuaytLTU1sMFBsSzZjc2tsdXlGV0ZVYjNIMjV2dDgrOGZmNHRiNFZyQUZTeE9NTlVFTlZTcFU0WUlEWCszMnA1ZkJvcmxhNHRyN3JqZC9TMzVuU0d4bkp1dUQ0TzRkcmNkc1JRZ2hTTFJtZFcwVjV4elpjb0pic296Vm1NM3FGajg1K3lZL2VPdHZ1R0d1WTZpdzFKakd4dC9oUWRvUW9kNFZxeTNPTmtQbXpmYkZncklobk9CUjlTaGZmdUVydkhEeTh3ejBFRHV4WVZka1ppMTN1VjRPL255dnk4MXYrZVA0eUFxUXBScFRHRExKU0pPRXNxb29mWWtzYStxODVrZG5mOHhWZTVXQ0dvZkJldGM4Qk9pbTRNTytCSUNJaUVPSFNHUWpEakh5UUdSLzQ1c295WENPVUJBQndUbUQxb0pTWU4wRVZJbXhJOUxNOFkvKzhYL0Z4ZXRuU01RMHhRNGFoZWtqcWJFUEV2cEVWcGhSWkZzeTBON29teUZQRHlqUmpNc1JqNjRmNS9tblBvZnlDbU10T2tuSjBwU3lycW5ybWl6TDhNNHYyQTdUdU5yUE9KRlZTZ1d5bFdXa2FYQXFLTXN5Sk5FNHc2TW5qck54ZElNcjU2NndaOGRrcENnbEdHY2g2Y2x6L1E1SW9KR2V4c3RUTllSQ1FLY2VaME9CZ29rdGVQUE0yMnh1YnVLMXAxSUZvM3FiODlmUDh0Mi8vWGY4K1J0L3hsYTVpWlVLcFJTU2dEVVd4Q0pLaGZBRENJeHU0ZFROOVlzRnA4clBmcDQ3a0cyTTZuNFNHMTV0T0lrVzNUazhGTDVnYjJlWHZXSVhsWUplRWtheXg5WGRTN3gvOVQzZU9QTTZseWVYU0ZQTnhJMHgyQkNIM0FiZHpoQmxCOW8xMTFuVEp4RlNuNUpZVFViR0VZN3l5dk5mNXZQUGZKNFZ2Y0prdDhSWGprR2U5OGpjTEE0RGtRVklSR0VyUzZvekVHRmNUdEJMQ1dib3VieDdsVGR2dnNVdVkycHFERTFJaEJCSzlQcmV3MGxFeENGR0RDMklPTnp3U1plSjNRWG1TVXNNTEpOeWw2UEhWcmg1NnhJNzI5ZjRuLy9rajdsMjR6eWFDdU1MMmgveGxzVDJzZWk3aHcxS2d6VlFtNUxoWUlWSlVlSWFuOVh2ZlBmYnZQTE1MM0Y4TlNQSlUrcktZajE0NzNySHJoMjZGYnBDQy8wYnA5OC9uUDFaZ20vVTFUUk55UnZpVTVZbFdtdVFsR0k4NXF0ZitoclZxT0wvL290L2pxRmtxRmNSRVNiMWFFcThnQ2FEcWxsdnU0WFo1TEN5OXVGWHVYWllYekpRS1c5ZmZKMjNMcnpSeFRDbkNKa0EybUJzRlE2dE9LbzZKUDZnYVN5d212VWZOTzNqSU1sdjBaVHBmclJoQnpNa2RqN1p5b1BWTmRaWXhBc2V5N1hxS3JmT1h1ZU5zejhpSjJQU2tDMkZwcVRFWWhuWERqOVBydWU3T0ZBaEliTUsyeEVQbWM4UUt5UWtyTExHRjU3NkVpOCsrU0pyNlFabXorQXJoOGpodi9XSkYzemx5RldLRnNYRWxOakVvbGNHN0xsZDNyOTZsaDBtalpiZG5MSW1oa2Z0Q3dPSmlEaThPUHgvelJFUE1mcGVydTJkcmlGTlVvRm9Ca1BoeHMzelpBUFBQLzJqZjhLbEcrOGpWR2psd0pWb0hlNzhENWNTZXhjc2tvVzhRMmtQV0t3dldWbGE0OXJXUlY1Ny9RZjg1aS85SFI0Ly9qaTdvMTI4RWRiV05oQW43Tzd1TWNpR1RKbE55K0krMitTMWoxYTVxdXNhcFJUV1drUWtLS0NTTXBBbGRtK00rT0xwVjBpU2pELy90My9HWm4yTGtCcVY0bDNkS0s0c0VxYjNoeVozUVorQWR4UnVqekJ3bHBEcUZGR2V2YnBBdk1YYmFYVW03MmNKc2NYTzVpUWVSRXA3aVdqNzFObEYwMzNvcGRzZHRMd0dhNlk3cXBWZ1hVaXFxNWl3MXlXYU9iSkJobmNHYXp6Wk1LR2FMQWprN0tuYzNyaHVINVVTRXB1QXBhbmJsZksxWjcvRzA4ZFBzWkVmeFU4Y1loUXJ3d0hpTlVWUmtIekc3Ylh1QlBIZ0swdVdwRGp2cVgyTkh3aWxycml5ZFoxejQ4dE5RSUhEcTU3alEvT3dyN3JqSGhGeHVCR0piTVFEZ0hhWTJvRTBxcFRVSUliYm0xY3hic1EvL3FNLzR0Ym1KUkpWWTl3WTQycnlQS1d1N1lFa05oTGJubklvVUpZanRCYXNyYkd1d09QNW05ZSt5NG5Ibm1KdFk3VVo0b1Zwb0dLN2tpWk90cGQxN1ErSVRmd3NRbXVOaUdDTW9hcENBbFVndFlhMTFTTnNYOXBtN2RnYXYvYlZyMU5YbG05OTkxOXoyOTBrSmFYR0JjV3dWV01YRE0wN0d3YmRVYjVMZUJjVkRwZG9BaG5HVWt1d2hVUGJHWFZ0WnAyZHlYMmo3TjdwRU0rMzlkZDEwQmo0L1BSTzZKUGxsaTg2cUZVbytXeXRSeWRnUGVTNVJpUmhVbFRkc2gySm5Sc0JENnRWUVhYdVBRUW9GeXpGTW5LT2NZeFRSMC94NHBPZlp5MWRKNjlUYk9FUTF6eUVkT2xqaDVmSVFuQ0ZVRjVSbUJLbkhXb3A0ZHJrSmgvZVBNOFcyMVJOZExISElra0l4UWFRK1RLRkVSR0hHSkhJUmp3QWFPOXl6UUNhMkliSWVsUlM4MC8veC8rQkM5ZmVCVXJTeElDckc3SnJteGk1S1VRRUVkbjMvWU9QM3Y3MkNFM0xQZE5VcUd2SGNKQXptWlJNaWwyR2VwMGI1UlhPbkgrWGs2ZWVaR1AxS0w1U1RLb1JXTVZna00rTllMY3NxeGR1OEJrbnMyVlo0cjBuU1JLVUNvbFlTaW1TSlB4MGJ0L2M1c1NqSnhsWEkvWnVUdmlsVjc1R251ZjgyKy85R3k2UEw1SVNETnRzZTgzMTNmMGRhSmVRa2dLT1RGS01DOVdYeEN0cVg2TlZnaFVUcnNmdXVtM1cwYmpOaVZLZDM3SFdDZGFhcGxuai9GM3k0dnVIdjArTSs2UjJBWW50MjNDMXJnSUxsMm5mSzVBVWZBWE9oZGhobFlKMTdYRzI2R3c2ZjVZcTZ0STFnclBxdGliTlFSUVV4dGQ0YmJIR2c0UFVKeVNrNUtTY2Z2UTB2L3J5cnpHMFN3ekkwUzdCdUJDN1hab0NyVFZabGgzNnYzT3RVeXlPMGxhd0pEQ0VHOXUzdUR5NjNLVEltWkJlNkQxYWE0eXhYY2g3Uk1TRGdwanNGWEdJa2JLKy9CUy8vVnUvUno3UURJWVp0emV2VVp1Q0kwZVh1SGo1REgvMHgvOHRtOXRYcWUwSXFIQnVnazRhMm1zWC82SS9QRXBzbnhYTkpYM01LWEx0L2Q2WUtUR3kzcEV5NUlQTFozbjI2V2M1dXJHQkVvV0lZcEFOcUlvS0phMUhySFRKSlNFQnFJMU5Ycmk1bjB1eVY5OW5GdS94ZnRiYmR1RjZtakFDNTF5dzRtcGlmNjIxaUJOU25hTWt4WHR3MXBJa0NZOGNlNFNWMVJWc1ViTzN1NFBEdFNsdWVPL1JHcnlEcFNRbnNSa1pBd1lza2ZrY1QwSUljb1ZjbGpDMkRyNmtMVlBzZDdNZEYyN2JQU0hjb0lHM2Q3bU9mYkRQeWxUV3JUZE5reTV1TXNrMXpuaVNQUFFuRklTYSt1Qk9QWEZwQ0thZm1sUDBMNmRXL0RTOXozNzZrSlNremU1VVlWQWxSWkhhQklVaUpXZFYxa2xJMFNTc3NZRkdTRW5KU0RHdVJ1bmdUcENTc3N3cXYvelUxM2pwMlpkWlUrdG9rNkJxaGRTZ25DYlJHcVhhTHJpWjQ5bS9QcVQzM2ZSNjhmcyt6eHhPNzV2OThqUGZMVnF1ZTgwdEwzUEw5MVhvbWV1WE5yVEFvVk5oVEVXVkdyYlZMbTlmZW9mejFTVThub0tpR2FueXVON3ZYWnZmK0xEODBrVTgySWlLYk1TaHh0RkhWcGdVVzR6R2p1RXdaN2lVc0hGa2lYUG56dkFuLzhzL1lYdjNPcFhaQldvZ0RHbUtnTlpnTFlkQkZQdzVZdXIzT1owMjN5MFlCdS9RcWJXV2lqSHJnK1A4cTMvOXozbnl5U2RZR3h3bEVkZ2I3NUhwN0lFL3RzNzY0SFhxSE42QzFNTFM2Z292UHZNaUt5c3JaSytsdkhYdUoxUUlpV2gwTHV3Vk84Rkp0dEk4bnB6Z2hhZS93T25UcDFuZE9FSmxLeTVldTh6clAva2g1N2MvSkNkcnZGVHJqcStHOElQZ1JUc3RVWEJ2VUFqZStjNFBOaVhGT0FQZVk0cncwR0lyQzFhUmtERE1ocGpLWUxFazZLbUZGK0FiQ2h6aWRWM281N3dqaEc4REEyaXVNWVV0TFFySUpRM2syQ3MwaXB5VVU4ZWU0M09ubnVmeFI1K2dMZzAzTGwvbnd3L1BjMk55alRGakVwZGhxNXFFbENmeUUzemg1SmY0M0dNdmNIVHdDTG5Od0FyYUphSDRoYmM0Q1YxU2N2alRuTHhBdHBTSDRnMHJHbG15WExoeGtVdTdsNmdwS2Fub3Fobk8vVDMzbkpNaklnNDlvaUliY1lpUk1zdzIrSVAvNkQ5R0tjZGdLS3lzNW56M2U5L21mLy9UZjhiRnl4OVF1VDA4RlNHdHVVMVlPcmo0enNPSGVTYS80TUFjU1BhRlVGRFZzejNlSXBXVXI3ejZGU2E3RTdDd2xDL2hiSi9MOUJYZm9JbTF2cjIvQ0VWMi8rYzVlZXBqYjBQUWtxQWxSRng2WnpIVzRwd256VEtPcksvenpNbG5HQ1JEYmw2K1JVa05CbzR1SDZlcWE1Wlk0Ujk4NHovaHExLzhaVTQrOWl5NUdyS1NIZUd4UjA2d3ZyU09Hem0yUjdjUWZFTXpkVk5pSUNQUXlyUWpvS0h0NDcwMFNmY3ZsQmNRbEJNY0xxeFJhWlJvdkFQZC9NdlZnTnBaTkxvSmlmRGQrZ1JCZHlxdDd2cW1aLzZwcnNlS2hOem5UVnBjeGpJclRaL1NZSmwxOGxWKzdlVmY1Y1RScHppMjhpaEhCa2ZaeU5ZNXZucWNyTWpZbkd4MkJTWk9aQ2Q0NWZTWCtlTFRYK1RvMGpHU1dxT01SbHVGZG0wQkNvOXZKV05wTCt2RlY5YW5aYjkxdDNZdmQyNi9ZNjZkZ000eWRzbzkxSnBtViszeG83TS81SXE5U3QzODIvOGcwVnZoeC8yamlvajRqQ0lxc2hHSEdBWlVTVkZ0TWluSGxEVmN2YjdEZC8vcS8rUGRzNitUS21teUc0STV2WWhuWDBoY0pMUjN4NEhIeUpFUE5FV3h4ekJkNW05KzhPLzU4aXRmNGRSanp6UGFxdEZhWVNTVURKNU5BSHVBY3FVbFNGMUprcUNTSllwNlREVXFrTktoQjVwbHZjYnYvTW8zZU9xeHAvbld0LzhObDBZWDJCdE5XR1dkdi9mMS80QW5qejNOV25ZVVZ3cmx0a04weXRxUmRaNTk0Z1hFQ3g5ZWZ4OE5HRXlYWmU3YThBTUlTV0tmQUNzczQzQ01HV0V4RGUwTU1RQjVrak9wSmcwQlRSQVVaVjJTa25iQkJlRUdNbzE3WG5SV1BRNXBESi8yaCtFR1dpNE5nWFY0TkFsUHI1M2lLNS83SlU0Y2Zaek5XMXRzM2Q0aWtZUkJOdVQ1RThjWW1DSFhibDhIUEk4dVBjb0x6NzdBeWNlZlpzZ3lacS9HVjZIWDBsMTdMYnA0ak9iOHFmMXM4cERBQVh2RkNGbE9HYmt4NTI2ZDQxb1Zpa2g0WmVhZVQxWHZlWFMvUWhzUmNaZ1JpV3pFSVlaamJUM241dTBMbkRwMWl2UG5QK1IvK3BQL25uTVh6d0tXMm9YQVBDWFNXQlFSZjhEM1laN1pxN20yK1FTdDNsUWNaYmtIb3BqVURvdmxYL3cvL3hmLzhELzdMMGd6VGVVS1FJTW9sQmQ4NnpyYXFFUmVITktWYXoyTWNCaGpxYjJRSklvc3k5QjZtYVJVV0RFa2FNYmpFV2pQNlJPZlkrUHZIK0gxbjd6Tzk5NzVMamtaWDN6bVpWSTdvQjdYb1F3d09VS0tMUlJEdmNvemp6N0g3NzM4RFl3cWNGSTJWY01VbmdRaHdRa2hBZXdPZytSM1NtWVNENlBSQ0tVVU5SV2loZElYWEx4MmtWdTd0NmdydzlHbFIzanV1ZWZZV041Z3ZEZEIyNFFzeVZCV2czTW9CZjNzLzZrQXFMcnRld25KYTJFYWVHTTc5VXJBT3BSUDBWN2hTa2RLempPUG4rVHg5UlBzM1JpUit3SHJ5K3Q0QzBWUjRKUm5mYkRHNlVkTzg2US93Y2xuVC9Ma1l5Y1JKMVM3SmNvcFVwVTJ6MDR1SENkQ0tNeURCQzh3TmhWTHg1YTVkT3NTNzF4OGx3bGpFRXZ0L05RcHcwOGZld0tOVjhIZEJSN3kwS3FJQndYeE1vNDR4RWlBblBabmVuVjVtZDNSRm1taUdRNXpkbmEza2JhSzBvSmlCNjB2YUVRZkIwVmN6aE5aUXV5ZGdtd3BvOXAxQ0RtcnNzSHYvNTAvNEErKytZZnMzQnlUc1lUNEJPVlZTSWdTai9NZXhEWEo3RzJzNTJ3eWk1cjdWZW9ud1J5VW1IWEg1ZWZhQStGcXJnczVtT3pOSis3czI3NTFPQk0rSjBtQzFrMTFPSEZCN0ZPZXpjMWI2RlF4V0JwUW01S2Z2ZmNlTjI5ZDU5VXZ2c0pUUjUvQWxwNnFCdWMxemtxSVA4MGhXeEpHOVUyc0ZEaXFFQ3ZyTlI0TlBndDc1YXM3OXY5dVdmbGFGR21lb2xPRlR4dzN0bTd3ZzllL3orcy8rVEVsSmM4OStSeGYrOXJYZVBLSnB5aDJTc1FJeTlrS3RuWVU0d21EYkZZTEVUKzFaVkNlM3Q5WDM5UzI2VnZqNG1DdHhSc2hRWk80Qk8wU2ZPSHh0U1ZUQTVZSFF3YURKYXBpd21ReUlVMVRSSVR0M1Iyc2NxeXZyNk8xWnJRN2h0cXpNbHhDb1JqdmpjalRkSnJZNU50WVhodXN1N3pDOVJUWm1ldG43cHpQWDMvejExZjcvZjVrcmRuclI4MjFPK0dPN1czZkZmdXZQeXN3b29aMXhROC8rRDZ2Ylg2ZmdnazJxeGtaMXpsamlBZE5BbzNwbUFWUWxrNlpqUXdnNHBBaktySVJoeGlPTEZXa1NjWm9NbUp2dEVtV2FxcTZvTjRkTXhoa0ZFVXh0NHdLY1psZU5UZjUvVGZZQ05oUGFGdnZxTDZIVkxoWlZrVkZNc2l4aFVHVTQ3dmYrdzVmZXU1bGpxMDkwVENBOWpnL2VIZE1wUlNTZXJ4MUdGUGhiZk9BMUZRRTgxaldsNDZ3dXI3SzV2WTI5YVRraFdlK3dITlBQcy9hOGdwN2UzdG95Y2l6TlpKc2dMT0tVVEZoTXRsbGQ3TEgwcW9PWnJLZHBxWnhQcVd0WnRjV2lEMEk3aTdYZGxsTU1LWEJpWVBFTTk0ZFUrM1ZqVHVCWW4xMWc0RWFrcmlVckFtakVLdEl2R0lwWFVKMzU3UlJaRkZOK0hQb20yMVYwRmFHN2ZmTmgvNXBzWWhPMEs2SnJaV1U0WEpLcm9jVW93THhpcTFiVzlpNllqZ2NraWM1emhrZVdUdUtjeDVmQ2xWVm9Zd2lUUklVQ2I2eElIT0V4QzZnYzJONFVFeEpuSGpTWWNaN2x6L2d3dVlsSEk2YWlycjIzWjlvVTQ4Q1RWQmlwNC90dm5tNmk3OTlFWWNmVVpHTk9NUUlWYjJ5Tk1kN1I1WmxqTWE3REljNUlzSjRQRVprOXNZbG9zRXJwc1kzODZXVkhuYW9BOTR2Z0JnYUMxVHdrTWtRakdiQU9pODgrVVgrOC8vMEh5SjFpbklaeW1tOER5UjRSbkdTV2NXcVArMTY0WnUrTkJsNk1wZXA1eVRNWTltdmFIWGJtVnYvdkNLci9IUTkvYWs0djIvOTdSU2dyc3NRVWlCSjhKZ2xGRkJ3Tm5qUXJxNHRjK1BHRFFhREFTcEpRQnhKa2pDWlROQmFrU2tORm1vRHhuaWMwdWhVNFZSSnpaai83VS8vVjV5YVVGTVFnamNrREEzN29MQkpQOTV6MFNuYWw5VTRlMDdUVkZQVUZaVXIwRWtDeW5HN3VvWERrYUNwcVZuUE5saktscGlNQ3NTM2lWd3B3eXluckNZenh6ajRJTFJiNnYrZDdZZkZZVEVJbWx4bGlJTVN3d3JMZk9tSmwzbjF4WmR4dFdObHVFSmQxRmhyV1YxZXBpeExScU05aHNNbFVwMWhxbERVSkUwMVNpWFVkWW4zRnEwMTFqV2V1cjROTFZCeklRYXFpZUFGMnlpeGkxVFkvckc4MDRqQW5SVFpSY3VIa0l2MlR5Z1V1bWp0djVRSDdYdFdXYzF5emd0T29FaHI2cVB3WjMvOS8zTEJuUVVjMjJ4U0M2akdrOWVWZ2NTcVJwRzFLR3dyMDRvTFJEWXlnSWhEamtoa0l3NDU1c25XUnlHbDgzR2dFWXR4TjJNbjEwbzlnY2pxSWRhQUp1WEpvOC96MGd1djhBZS8vNGRzM1JqenlPcHh6TVFGZ3lmSjJMcTl6YU9QSG1NODJRNWhCaEtJUkZqclhCaUlCK1VEa1ZVK2xMeVNOa0ZIVGNPZVhVTUFQa3JvUVZpdjZ4Uk44V0c3L1drL2x2T2c5dm4xenhNWk5kYyt1MzFRVmtqVEhDL0N1QmhSVVpLdDVHeFBidkhPaDIveHI3Ny9MN0FVT01vbVhjNWhsY2ZoY2M2aEpYaTg3bGRlVlVNa1hmZXBPV05oMjIyZit2M3JXaGV0TGZ6Zk04OENBaG1WenZOQXVxVTkwK0g1NERmckczc3UxMXZXZC84MEtVc01tK1N2QWM5bXovQ05YL3NtcTlrYTJpVW9weEVuTThkWEJkYlhJM3BUb3JwdlBNRzNvUVV5TGVmYkhJbjU4OXRmLzh5MTlGR0k3Rno3eklQRTNQTEtxeTRVd3lpb1ZiQUhjOTZqZmFoc25CakhNTWtvUjJPOENFdnJxOXpjMldHdktsZzl2Y0czem4yTDkyNi95NjNKemFZc3NjZjBpYnBuM3pucmVpU1J4RVk4R0lqMld4R0hISDd1OVhHWGlUZ1k4OGQyLzdIZm5Xa0FBQUFnQUVsRVFWUVdtWDVVV21OZElCTTdreDEyTm5jNWV2UVJubjMyR2ZhMjk4QUp5OE5seWtuTit2SUd4V1NDVWhhaE5mUjFlR21MSlV4ZkhVbnlkR1JKKzRhQXdEMG43MGxqdmlSZDZWeG1wdnVzanhhMWYxVDdwR1ozaE9sVXZNSWJ3ZFFHN3l4b2g4NkV5azE0Ky8wMytjc2YvRHRzNDdoUll6Q1VWSlJVbUZEdFN5d0dneEdERlF1cFIxSWc4WWdHcHl5VkszRmljZHBpcE1aNWk2VU9NYndKMUs3RVlIQ1l4cTgyL0I4bzUzVHF1aGJielc4d09LbHhLdlRIU28yVkdpY0dweXkyZVJrVittakVZc1ZoRXdjWmtIbFU3a040Z0xPa0ttV0pRZGhUVzdOM2RZL1R6enlQOGhyeEN1V2tJWDh0YVE1cXRNejhMZnM3bm9jV3FsbEhkdzMxenk5MGlydTA1MnIrZkM1WTU4THQrdG5wN0x6UzlBT2NDbnZpbWo4bzVSVWFUNHFDeXBBb2pXaEZZV3ZVSU1VUFV5NU9MdkhEcTY5eHRiNUM3V3BtS3F3UlJnYW1wSHJ4MzI5RXhJT0FTR1FqSWlMdUhiMzdvWWhxU0ZvZ24wVTlZYnc3NGZSem4yT1FEYkRHa2FnVWJ6MUprbUdOQ2FFRjRodDdwbWF3M0xmVWRhcnl6Uk5aMVNxbElvc1p4VWRBUjJRL3lVMzlFL2lBQ2tLZVpmaEdMYlJZUklOT0ZHVTVZVzl2eExYeFZTd0dqYWFsVDRLUVNzSndNRUJwalFyV0FWampjRGE4ckczS0x6ZGh6WjUrUmJXbW1obWh1dG1VWlgvOHFSNmsrR1FCMit1L0dtaE5TTlRDWXl1UHJ6MVN3Y0NscEFUWEFvV3d5aHF2SEgrSlgzLzFWeGlvbk1RbEpDNlFQdVY5ZVBDUXVZZVFPNStXQXo4ZjVMeTFpTnd1V3M5ZHQrc1hmdzhockVZQUx5RlV3RXV6T1I4SXUvYWd2YUlzQ3ZJOHhTYWUzV3BNdWo2ZzFCVS8vT0JIbkNuZXAzUWhENkF0bTl5U1Y2MzFvUy9CR3hIeFVSQ0piRVJFeENkQW13RG11eUhiVkNVa3pURDB6ZTBiU09YNXdvdGZSQ3ROT2FrWjVFTjJ0bmRaWFYzQjFhYmhPOU5TdGkxWjh5S2RjallsQkhPVVFOMjdsOXBuZ2NnS1FxSVVTYXB3emxLYm1teWdlZVRZSXp6NTVKTzgrc0lyRFBTUTI5YzNxYW5JR2JLYXJWSVppNmtOeHRpUTllK242OU9pU1hTQ1RycGFyTlBqMWlPWWZqcnVmRzlUQWU5Y3NHbHU3Vm43TDllRU5MaG15TjRwTUI1c2NDaklTVWxKU0VuSkdYQnk4QlJmLzhKdjhkc3ZmNTFUanozTGtocVMySFJLWXAwMDVMVlZUTzhRRy93UlA5OVhJdHRzd011VXpMYUtzMjVlemdSRjNpV2VXbXBNNWlpVGluTTNMdkRHMXV2c3NZZkJvTFVtU1pKcEtkeTIrdzlLWmx0RXhCMFFpV3hFUk1ROUlpVGJKVG9OcE1hSFlWN3Z3OUF6V0FTNGV1VUtqeDkvbkVlUFA0YWcwRG9QMWFKRUk4NmkvVlM2VTBnVC85b1MyRmFWYmI0VEZ4Sm9XaVZYN3IxQTYvMG5zcDV5UEFFOFdaNkRRRmxOOE5hanRVWXBUWmJsbkg3bWVWNTk2VldlUEhZU1g4TDIxaDRLRmN6L3NXaWtxOU9sRzNjRDV4MUJiRzMzVGhBQkphcXJwdFlGRjM4U3RJZE9taElKS21uNmtxSWxBUjlJYTBwSzFwUSthQ3QrRGNoNWhDUDgrdk8veXU5KytYZDU5ZlNYZVd6MU1US1RrZFFKeTNvWmJVSVlTZUtERzRKcWxHVEJoMFRPQTdwMUdJaXNCMFNDKzBENCs5RWhtYzZIc0JQbHdWbEh0cFJSMklJNk1hajFoQXRibDNuOXdodmM0amFHR2lObWhzRGV6YVl1SXVKQlE3VGZpb2lJK0FRUWpMVWtPbVM4ZStjYXQxblhaTDRyQ25iNXMzL3pMMWxmUGNJelQ3eElVWXc0OXRnVFhMdHdsYlZzMkdUQ1Exc3VOQkNXdnQ0MmUwTmU0T1IwYUxIY1pPRVhreEVlT3BMblNrOVZWVWlpS0NZbEtrbjU0ak12OGRMcFY5bmUzdVREOCtlNGNPMGM3NTMvS2FONmo0S2lTOVlTUEJrYUFXcnFMczRWM3lZa3RWcWcvY1NsbW5PZE42RVJ2bm1Ra1U1ZEZ4VHJ5VExXV0dycTVxRWhZeVBkNExubm51UFVZeWM1dVg2U2djc3A5d3Jzam1ONVpaWGhZRWkxVjFEc0ZneXlZVVBzK2xmQkEzTHlBZHU3a0R0dldxL1FUU0U4MGFBeWpSVkhvV3BLTitHRFd4OXdtY3ZCYWdzejlaVnRQSHVWVXZ1VTJZaUlCeGx0eEh4RVJFVEV4MFRRMTBEaHNTUUppREk0RzBUVFJBQUx1VnJDdW9SWG52OFZ2dkgxLzVCSE5wNWtZK1U0NDgwUkszNkFkb0lYdGMrMVlLcVdoWEhyMWlxcmI1K2ttdTNEM1pXb2cxd0xwRFhLLzVqTHovYVJPN29XTENyb0lCNVdsNWJaMmQ3R1dvdlNHc1NoMHhTZGFhcXFJaDltRkhWQldSZFV4b0FLY2FaSmtrQm1LZGpsK3VaVkxsNjh5S1ZMbDdoKzh4cGJ4UllsSlI3UGtnd3BmRUZGT1h0czk1VnR2UmNFcjlrUVJOTCtINllKS1JrcEZUVXJMUEg4eWRNOC9kUXpIRms3UXBhRWdnYUoxZWc5NFpIVlIwaFVpaWtzWXNDV0RuSEMwbkNJTFp0ekxjRXF6WW5ybkErY01HT0R1cWlnUVl1RENock1GeVNZYis4ei9VV3VCUDByNVU2dUJZdk92Mi9WV0VCNWpYZUNkbnJhS1hIaFFTUXpsR25KcHQzaXpLMFBlT1BhVzJ5empjRlJVZ1k3cmY2K05vcDdKTElSRHdzaWtZMklpTGhIS0FicENtVmQ0ckdBNldJbnU0cEVIcFlIUzFRRktBYjgvdGYva0svLzJ1K3lmWFBDQ3ljL1QzbDdRbUxEY0xqdFZWaHFDV0tmekliRXBKYklCdDMzc0JOWlc5V1l1bVk0SERJWURDaktFbU1yQkUxcFNweHpKRmxLbHFkNHdCaEQ3UnB5cHl4R2pmSEtob1F2RGNiVmpFWWpibTdlWkdkdmh3OCtQTVBlWkkrZHZSM0dqS2lwWi9lSmU2OXMxeWV4bW9RaE9XdlpPa2VQSE9IbzJpTXNMeTN4dVZPbkVhK1E0Q3NWWXA1Rmt5aE5KamxTQ01wcXl2RUU4Y0xxOGhyS0s4cEpnWWhNd3lBaytDYUVSNXBROWhZQTI3T1ZPb1JFMXFxMlBSeUhZRFBYN0pwNFNpYnN1aDJTSXlsWGlxdDg1NmZmNFNhM3FDZ3h6UkVSRmNKRm5OdGZ3VEFpNG1GQUpMSVJFUkgzQ0lXUUF1d2pzakFsczlwRFNvNGpKV2Vkdi9zN2Y4QnYvc3B2a2RvaGcyb0FKV2lka2crR0dPTVlqOGNvbGJDeXNzSmtNZ3JybDFraTY4VDFmRGdQSnJKM3VyR0xkNGozOTVYSUt0K0wxK3kzTjBiNWkvYkZkai9aRHE5cUVCTnN5eHJGc2kyUjY4U2hFZ25XV2RZeXFTYU1KbnVNUmlOMng3dFVWY1d0V3pkeDNnU0NYTmNZWTZhT0I0UmhhcVVVU1pLUVpSbDVucE5sR1ZtV2tVakNzU09QTWtnSERMSkF4Rk9kaHRoT0kyQWRpU1FvMTFobWVSOHN4NXFwOGdweERYbURKaWxNelJCUjI2cnd6WG4zVFN5MmE0cFlLSko5QlFQNnl5OHFidEFucXBiOXg3ZmYzZzloV1VSVTNkejVtVy92cjJjUmtmV0pJRm9oRm14aGNMVkRSSk5sQ2VTYW04VnQwaU1wbDhlWCtmN1B2czk1ZTQ2S0Nxc3NsWXZsdFNNaUlNYklSa1JFZkNLMDVXZjN3d3RrR2RRRlFFMUNRc21JdjM3dEw4bXloRi8vNnRjWmpXclc4alhBc2JsekM2MHlWbFpXY2M2eHVibkpZSkFkdkdVSkpQbUJRbFB3QWVoS3ZVN2J3dmZhZTJnSDhoMjA1V3ZiSVdaSElQcGVPVXhobXNTeGhFd1BXRnRkeHk3WjREdnFIS3V2TEljSEJCdU05TVdGNFc3bEJhL0FsSFZRL1Z4WXYvTFN0WXNJMUJJU3ZDUkJlNFUyVFh5bUpSUXdhSXBZaEdJR2ZycC96WDc1bVdROWo1ZVFuR2JiejB3ZkZteGpXZEIrNTFBZFVUeTBTcVNFR0doeG5tRXlJTTAweGxaTVhFRnRhZ1pIQmx6YXU4eTdWOTdubXIxQmpRMXhzYXFSYmFPN1ZrUkVKTElSRVJHZkZBZmZUVnZTWWIxREs0ZDFOZGRIbC9pckgvNEZSelkyZU9YWlgyWXlLc0ZDdHB5aFNTbnJDZDRyaHNzRHZHMFNtUHgwZmJQYnZYZlhnczhHVk0vSzM0UE1sWFdkSTJpaDJsVDdTVkErbWFwK0RmMXI2NVY1Y2FRK2E3eEpQU0tDYnlWZ0RWNWJKcHZCTlVFY3dlNE1oWWdQVmNFVUhCbXNCWUpzZlRkdGlTeUFwQ3FVOFRXaDBsaHJpS3A5Q0Rob00vQ0ZRR3diU2JYWjN6QzBibHNGWDlxajBGT2NDU3B6T3orZFU4SCtrSUw1OTRjQjNqcThkV2dFcFFDeFZMN0NxZ3FUT1dxcE9IUDlBOTdlZnBjSjR5NmN3RnZRQ2RoSVpDTWlJcEdOaUlpNFYvU0o1T0k3YWwxQmttcE01YWxjalNiQjRiaHc2eXgvL3UxL3lmSDFKMWhKTmxoYlhpWFJDVlZSVWRXR1JHV3M1Q3VVcm54Z0hBcm1FVlRGZ0RDOHZuOUhnME5EZTV4ZDRJbE41YWV3WEpndk9EODBCTFkxM1BJS25RYUYxTHBweUVDcnZDS2U5YVdObWRLcDg4UGZrNjFpcGo4aGJsVkJHNy9xUE5aNXNCN3ZQTGd3anlLMEJ3czExYmhTK0M2V1RmbHBmQ2pTS3NrdHdmVzBSNmIvdnJzT2V2SFg3WEIrdjgvejd6L0xxR3ZMWUxCRUttRHFpbkUxeGlxTFh3WlpnbmZPdjgyNTIrZVlOR2xkT3RWNEd4NEdyTG5mdlkrSStHd2crc2hHUkVUY013VEgxQTJmV2NOTUNjVVNSR2Q0RzlxelBFTW5DbXNMZHNlN2JGN2Y1ZkVuVG5EaXhBbDJkcmZaMmRsbGRYV1ZRVDdnMXEzYjVGbndWKzNLa0RaVnBieDRRRFhLNEwyWm9kNXZIMW02K042MkY3M2l2REl0MXl1NFJvbDB6ZEQ2Tkc1VVBIZ0psbHF1V2FaYmZadnA3NEtuTEkwbnI5YUtSS1VraVE0S3EzVjQ1NmRWd1l6RkdvdXpqdUZnU0tLVFVHQkI2ZUJEMi8vbmZQQ3VFQlhhbGFDVW9GV2JxRFVORW0zOVgzMVRpdGlKYmZhelRkN3J2OEtSVUsxbmJIT0VsQS9GTWJSclBZYWJmVjBRcS9wUnpzdEJaLzZnOHpiL2VYNzVqM1grUldHdFo1QVBVU0lVeFI1ZUdkSmx4VVFLTHU5ZDViVnpQMlNUYmNiVW9UaXc4dURjUHFVK0l1SmhSbFJrSXlJaVBoMElnWnhKVnhjVmxNTFdycm1UQzg0YnFxcG9ScmN0UDczNEp1cy9PazZhSnp5eTloZ3I2MHVnaGNwVTZGUjNTVjBkdkNKRVVFN2pJdzgvcENsUEtndEtycm9tczk0RUpSYTZSQ2NRbkhLSVYxaVpacXg3ZkpmVjN5WWpDYXB6QVJBUnBDR2FwcTY3ZU5lMjNHK2JPQVpnSzlzcHRmTXFwelNrV1ZSWVB4SkNGSnh6MURZc2w2b2trRzVheFRja2E0VjlubFZrdTZDQm1lMkVlTnFRUk5VbzBEM3gzODBaaWUwanRISnZEem0vQ0lpSFRHZTQybEdiQWk4d1dNN3dBOHYxRzFkNDQ5eWJiTEhKQkFmYWh5cHFydlVLYnRYM0dGc1FFUkdKYkVSRXhLZURWbUgwVTBzc1VTbmVsT0NGWkpCUWxaUE8yU0RSWUdyRDkzLzZONHduRTc3NU85L2sxRk9ubVd3WDJNSnlaUDBvVmRIV1A1M0ZnMFJpQS9sdmh0TG5xbFdGVU5SR2lmV2hnSUh2MHhjRlhXcFV6eFdnVzN0Ynd0ZE55YWh2M2d2Z2pHM2lNOVVNNlp1R0dFd0pzZ2dkNFZVcW5OL1NWT0JkY0ZuQUl1MTJtbjlXK2YzcnhBWnkyb1lJdE8yOWFPSGVRbDJjYlovSVN1UHE0SlR0elhyNFFndVNKS1VzUzd3ejVNTVVSOEhsNnhjNWMrRjlybkVWMHlSM1dmSFFKbmo1VURoREswM2xxa2htSXg1NlJDSWJFUkh4S2FOWGs4dVlFQkdRNmk0elJXa1k1Q25qMFlSY0R5anNEbStjL1FGSEgxMWpNTXpZR0I0bHNacEpNU0wxV1ZPeWxqQTBMaDU4d25RSXVyKzlCVVJvNGVCeFAwSE1mYUpLWVdGby85NldEZkFOaVcyREN2cGhHZzV4Ym1iV2Rwc3RXaC9VTG50ZlhFTUkxWXpsazFKTnFkK1c2TFlLcS9JaDNyV0phVzNKYnV0Sm1tVlo5N245emptSE1TRkFVK3VRWWhhS1ZZQlhJWVkyYVFiVG5ac0w1SlJRWWF3bDdxM2FMdTN1TjVOT3JPMnA4WXZTK3NTemI5eCtQclJnL3R6Mkg0S1VuL1dTblcrL0d4YWYrbW1ubkRTeHZBSytIOFBjdWpZb3FDblJBNDliRXE3dGJ2R1RTKy94dmovUEdFdUZ3N2FoRjFtS2lNSlBEQ0ZCTHhMWWlBaUlQcklSRVJHZkt1YnBSci9ZN055TnR3dHZWZUJTRWdiOHhzdS96ZC83cmIvUGlmV1Q3TndZc1RZNGlpMWRVS0MweGhqRHBDeEpVc1hTeWxMak05djZ5L3B1Q0hzZW5YOHA0SHZNUlRWRDk2cEgrbVlVelJseE1GQ1J0bjJlUnN5M2g1bmF4S3ZGNjI5SjhPSjJOM00wZmMvdnR1K2R1cGlJeTh3KzlmMU5PNzliWVhhNm9IOXFidjluNW10OWJwdVZ0TXBndjMvOTlkenArTTczcjcvTnNMd3M3SDhmOCszeis5Q3QxODMxbjhYdGJiLzY3ZjM5QUZDZDVZSnJQRzg5cmxHY25ZRFdHaENjQldNYzFucVVhSklrUTdSblluZHhXVTJkV0c1TWJ2R1RjMi95WG5HR01TVXFUeGliblJrbHRyblVDYVowcW5FeGlJaDR1QkdUdlNJaUlqNUYrTGxYWDIyY2d5S01DU1VlWEJnMjM5dmVwWnlVckF4V09QSFlDY2E3STBKc2JVaEdFaEVHZVk1MW50SGVIbW1pQXh0cTR6WDdXK3JKZGRKSWZ0TE1vWnAzYlluUWRrai9veVlKN2R2V0FmTXZ5b0diWGNBMS9abzlib29GcXFLblVWVURzWk5tS2VtZUNLWXYxZHZ1b3ZWMC9lOWxJOTM3L3JlS09VRTk5OU10ZDZsaHpmZHQvNlgzZmRmL2RybmU4dTM3K2F2cW9QTTEzODk1ZGJWUGNCZWV2L241NzdEL1lmN3BrMGpYYlQ4OUkybVdVWllWcHJaa1djNXd1QVFpMU1aUTJBSTNxSEJEdzgzSmJkNis5RE0rSEY5a0w1UThvR0lDeXM1dTFOR3ZaZGZYN3lNaUhsckUwSUtJaUlqN2c1YVZXSm9FTWNkMnVjMWZ2Zjd2MFM0bHo0WThmdVJKSmpzbDNzREswanFKMGhSRmlYV0d3V0FBK0duaGdLWUtsUFFVelhZSVY0QitwcmVUT0N3YjhjbmdKRlRJRFlxMmFwTHgzTXlEZ2hpUEdFZ1FVZ0Z4Rm1jcjhBYVZPZXJNYzNPMHlRZFh6dkxoN29lTW1RQUc2V2UxemJQNDZTUkd4MFpFRUJYWmlJaUkrNFZXRXZPQUNLbk9ReUlTbnUxYlc5eTZmWVBIbjNpTUxNOFpMQSt3dHFZb0NrUWdTelBTTk1VYjEraCtyWWFwYUxQY1E1eW9kTm4xSDdWTEgrZnpKMWRrL2NMMlQ4cys2cTdmeTUzYmY2NzJVM2Y0L3FQaWJ1djl0UHEvNkxNWE1FcHdBdE04T2QyVjMxVmVVWmVHUEUxSWs1U3FMcGtVSTZ5dlNYT05XaEt1bGpkNDUvSzd2TDkxaGpGRnNOakNZTHlaclg3Ukk3TFQ1TGlveGtaRVFDU3lFUkVSOXdzenJFQ2hrd1F0R3VjY2hSOXpkZXNxMjF1N2JCeGI1L2p4NDB5S01VVlJzTHE4UXBwbWJHMXVrU1U1NG5Xd0kvSnEzM0MxOG8xTHJQUTFyTWFIVnRwUWc4VmQraWlmSTVIOWFQTS9pRVRXQ2RUSzQxUVQ0T0hEQTVVNGFmeHVCVk1iaHZrQVVZNUpWZUMwWWJpUzRoTEQ5ZUlHcjE5Nmk3UGJGOWhoRDR2QjRuRWh4UXZwcWJzejRTQmRQK2Fxd0VWRVBLU0lvUVVSRVJIM0J4NUFvU1RCaTZPdWl1YXpCalRXVzM1ODlqVktWMUJVRTc3dzNCZFpXenRLc1Z0Z1J5UFNQR3RDQ3RyTTkrYTIzbVRRS3orYkdXOWJteXJwTnM2RFVlWTI0ck1DMWNZdisvQStUMUlzaHNwVytNUXdXRTJSM0hQdHhoVitjdUVkM2lwL1JvWGdzUmhxUElZMFRSQm5xZHJ3MkFWY3RTdEQvQXZkdTRpSXp5WWlrWTJJaUxoUFVJMlNTaTk5MytBd09LVkk5WUM2SHZQbXVSOHhHdStpRkh6KzJTOVJPWWNESGxsWnB4cTVYbWxXR3JzbTI1SGIxbDRySXVMbkFlMUR2VExkNUJ1MjAvRHc1TkNaWm1JbVZGTGlsMkJYeGx5L2NaWDNMcHpoL2ZJY1kwb3FQRXFEdFFhd3pRT1lRL2Uyc3lnbU5wTFlpSWlBR0ZvUUVSRnhYeUFJQ1FrMDV2azZGU1FKUlV3UmovTTFYaHpPZTNiR08xeTZlSmxNNTV4NjVoUnJhK3ZjdXJWSm1tUjRVZDA2WnN2TjlwMEsyaENEa092ZFZyYVZ1UkszTWJUZzQzMSttRU1Ma0hCVktTY2tQb1FUcU9EcGhRQldlVnppR2JreEpqZllvZVBTN21WK2VPWjF6cHJ6N0RIQlpBcERnYU1HSGV6Z2pQWGdJVlBkNEVJM1pqQU5LNy9iRlJBUjhmQWdFdG1JaUlqN2drQXdnOCtteCtPODZZejF1eGNlbFNpY2RVektFWmZPWGNJREsydkxySzJ1TVI1UFVGcVRwZ3ByYXlibEdLMFVXWm8wcHYyTnZSWWUxOGJINHJyYnYzU2VTZXp6U1cwV25MNXRmV2o3M3FQY3VmMXVSTTczTXRObmZGRDN6N2pRSjdXdk5zLzRzQzRvS1J1K24rMmY2NVdmN1MvM1VUL1A3Ly84K3J2dXpmVy8rOXJOclc5K2UvUHI1NEQxNzl2L2JnYy9VZi8zOVdmdS9XUnZqL1dsWlFaSlNqVXVxS3VDUE10SkJvclNsMnpWdStSSEJoU0RtbmV1dnNmZmZ2QTZsL3dWeHRSTU1OUVVqY1ZXdSs0cGNlMy9LVFNITU96U3pKNUhJaHNSRVlsc1JFVEVmVUZJeVFvRHFFR0ZkYlB5VXdOdkhYbVdrYXFNc1Jsei92eDVKdU1KSyt0ckhEMXlGR01ydHZhMnlBWUp4NDhmcHl3S3RyZTJXRmxld3JYVmp4cjF6SXR2dHRWOC9YTldaTzlPWkQraEludkFpbjhoaXVTQ0x6N3UvbjlTSG5aWFJkWXYvdjZnTCs2bUVQZmJ4Y1BHMGpLVDNUMUd1N3RrcVdhNE5LU21ZcmZjWmMrTlNEWXlidGEzZWYvR0I3eDMvUXhYN0hYRzFCUVluUGFnelA0K05NNEVNcmU5MmJ3dk9UaUFOaUxpSVVNa3NoRVJFZmNKN1pCL2F5WS9KWjBkTk9EQUdrT1NwQmhyc1JpdTNMak05czR1ajU5NG5MSXVPSHA4Z3lSVlhMdDJoVUdlOGVoang5bmUzZ3FWbFhxeVlFZGttMjNMSEd1T1JQYmpmWDZZaWF4bVdxOGdUVkowbm1Db0dKa3hKck9vOVlTYjlTYnYzL2lBdHk2OXpXVjduUWtWTlFhMEM0VkEvSDZ2MkpiQXpxY2c5b3N5ejFTMmlJaDR5QkdKYkVSRXhIMUNQNGJBemJLTzVqNmRwVTNGVUJlU1lRUWgwUm1WTDdtK2RZMXpaei9nbVZNbldWck4yZG5kWW1WbENhMkVuZTFkbHBlR29ScFlSMXg5TDdZdytNdit2TzIzSXBFOVlMbURPdkF4Y1QrSnJBTEd1M3NzcjZ5UUxLZU02ajNHdmtDdGFVenV1R1UzZWZQY1c1eTUrUUczMktUQ1lNUkIyakxXRUU0QXpKakN6b2NUOUNtcit5aWRqSWg0eUJDSmJFUkV4SDNDN0dCcGwvalUzT01GY0RWa2lTSkxVNHd4T0lRazA2Q0Z5cGJzbGp2OCtLMGZvYlh3OUttbnNNYmduV1ZsZVlYZDdSMTBvanRpTUNVRVhZVHNQUlBJK1QyNDIveVJ5QjZBUTB4a0FaUk9xY1d4VjA4WVVTSnJnc2t0WjI1L3lOKys5N2VjSFoxamgxMHFhcndDeVRUT21tWmxDcXdOeDZDcE5kc25zTzM3dGd6dFZJMjlTeWNqSWg0eVJDSWJFUkZ4ZnlEMFdLdnZidVNxZVNYTkxONTZ2TFU0QWNSaGJJWEZnQmFjcXdISG1RdnZjdW44UlU0OGNZSWpHMGNvSnlYcnEydll5dldJYkNDdTNndWhGTlArcEtwSVpEL2U1NGVheUFxb1BLZjBOU1oxcUZYTnJ0M2o3WXMvNDQxenIzUEZYcVdncEtZT1pXeFRvYmFtR1dJUVJHbkVtaENpMEx4bWtzK1lLMEhibDJvaklpSTZSQ0liRVJGeGZ5QnpMeDkra1BvMzlxUUpEUERRa0lGMmZnL0tzcjZ4d1hpeUI4RFczaVlYejV3bmtZVEhIbm1Vc2pBa0tpSDQxVFliOFUwcDI2YW1xTXd4cVVoa1A5N25oNW5JT29FU2gwdUZPclZjMzczQlcrZC95cHMzMzJTTGJRdzFGUlVvajlPZTJ0UWRpVldraUhXa2VQUk13QXY0SnRYTDkvODRQa2FaNVlpSWh3MlJ5RVpFUk53ZnpBY0RNaVd3L2E4VkNwMXFIQjduZXNzbFFyazNvUTBhU0pWbXQ5cmp2WE0vWS9QMkZzK2NPa21TcHlBZUw2MHpnaWVVc2cyQkJjcXJVRnEwZlhXbGJoVXkwOG5ncWpDbDFhMEprdlRweG5UWC9Oem43bDJydXpYVE9hc3R4V0l5OWZNaXNqTmoySGVaZnhHWG10bjNYdnY4ZnZ3OGlLd0NRdUdMNWl6NDZSUUU1ZmV2dk44UEw4SHJ0YXZGMFV1MDBsNkZjaDJ1NXcvYmROWkplRldKWlRjZE14cE11TEIxa2UrLzl3UE9saDh3WVlMQlVHTkR5VmtGMWszRGFQSThSNlB3emhJZXEvb0JMMm9tSm5iYTZVaGtJeUlPd3ZTdk15SWlJdUlYalRraTIzN3NaMnk3L2l5ejB0WHNxbnhZVXFIUkpBZzVmL2lOZjhESng1N2hpYU5Qa1pnQlpnS3B6Y2gwRGs3d3h1SzlJQ0pvclZGS1lhM0ZXb3YzRnFYRGxwMFlQQVp3ZUN6Z1F2VW1tNEFQQlJMdjVBT3JPbjlTaGZlMjJjTW1ENzF4YTFqa1l6dnZwYnJ2OExuOTgvYTNQNU0vNTMydkg0R005VEhmSG1hYXZwY0ZQcTd6eS9mMzQwN3QvZldyTzdYZmFmbm00UU5VcjkrdWE1ZmUrLzczd2F2WVl3VnE3VUJEZ2tZYlFSbVBza0ppUTcwNFU5V29SR09jby9BVlRudlNRWTVQaE8xa20vZk1XWDU2NVMzT1h6MVBUWTFDY0JocVRPUEc0USs0d2JZUFNxNjdFcnI5bko4MTNxVWpJdTZJcU1oR1JFUjg1akNmcmIxd0JucHFZQ2NOZXJ3NExBNkg0NTJ6YitPZDUrakdVVVFGS1cyUTV5U2ltWXduTEErWDBUcEJSSEFXcXFyR0dvZFNRcHBtZUJka09nRzh1S0NnZVl0MEZRbDAweTU0Y1F1blFLTUkwOWgvaGFuUXh1LzZleGJkRGhweC9paUtyTEJmMFYybzJMTGZDcXEvL2I0aSszSDNRMzBpZ2piVnc2WDNYUnY3N0p1NDYzQWU1am9OZU9Vb1RSM1VVaXVJQStVVWlRZnhZWjIxTWFTRGxHUTV4V2RDUWNHZUhiRlQ3M0xEM3VBNzczK0hEN1kvb1BRRkJvTlBQTFUzT0R5aTFCMGVSUGFuSGtaRVJOd2I0ck5lUkVURW9jV0JRK3dlaEpRbHZZcXhqb3dodi9QcTcvRWJYLzA2RzhPajJJbEhiTkJ1dlJlOEUwUlVwNU41THpqbjBCMVR0SGdzNGwybnpJTENPeFZpZDczQ1lXZW1YbHlqR0U0VjEvNjBNNzV2T2ZHaXlsYy9SMFVXWmxYWk95bXk2b0QremEvL1RuMWUxSzRPNlA5SFhaNUdrUTJjMWM3c2h4T0hPSThUUDlkLzIyNmQyalZxdkZNb0ViUnIxdU04RGt1U3A0eXJQY2F1UUFhQ0dpcHVqamI1MlptM2VYUDBObHZzVUZBQ2tDUkJtUThWNVVBcE5TM0lFUkVSOFhORFZHUWpJaUlPTFdhVXh3V0JtTTViTWpJc2pndlh6blAyWjJmd1dGYlhWMGhTUlpvbEdBeWxMYkcrUnFXYU5OZDRiNm5LRXRYYWQ3V1Nxb0M0YVV4dEYrN1FNcnFacVorMkNWZ0pCTk9LRFJxaWdQTDdMY0ErMXY1L0FrVVdQcm9pZTdla3FudkZKODVoRWo4TnplaGltRjJ6WDlPQi9WYi9sSmxCZkdHb2x0RXVBUmVJcnNQaHhGTXBRNmxyOXR3SXQrS3hTNFpyeFRYZU9QY1RmdmpoYTV5dnp3Y0NLMkNWUTVya1FXdHR0M2F0ZFNTeUVSRy9BRVJGTmlJaTR0QmlKbmxud1JlSlN2Rk9vVW5aU0RZb1RJV2dPYlYyaXQvOTdXL3cyTEVuR0dUTGFKM2lhb2N6am9RTWhjWVpTUHcwSWF5Ti9aUmUzS1dST2d4aDB4QWg2U3VHUWJWdEZWbEhXTDVWYkJXUVdOV1V5WTJLN0QwcHN1RWJRUEMrVmI1N01jaHp4N0svZitJMG1jbHhUbEc3R3RmRXk5ck1VbXREclNxcXRHU3IzT0xLNWtYT1hEN0RwY2tGSEFhTEpjOEc3RlJqTEl1UnBpbDFYUi9RR2hFUjhXa2hLcklSRVJHSEZwcTVwL0c1SUZEbkhZbldlRzhvWFluRHNxS1hHQlU3L09EZHYySG45ZzdHMTZ4c0xETll5a0I1UEE0VWFGRTQ3NllWd0pxcytDQ3dDb2gwVGdqaXcvdlEzaG9ueVRSV0V6VWxWWDdxaDZEYVRQdDd4TU91eUU1amRJV3BBMFE0SDlJNFZMUk9GVzNzYkF2bEZXSWJBcHlBNU9BSFFwMGJ4bXJDcmhwellmc2lyMy80T2orKzhtTnVtZHM0YW1RZ2xGakdwcDVSZ2RxRVFSRUpEelZSalkySStJVWdLcklSRVJHSEZycFIzdHJxUi9NTWJqQklLU1kxNG1HWURoRUR4anNFUlVhT1JmSDQ4aE84Y1BwRm5uanNCTWZXajNGMC9SaTVXc0pYa1BnRTdSTEVhNVRSSWFUQWhaaFl4T0V3T0RIMDNRamN2RVluSHJ3MHZld3Bnb0IyRW1OazczRjU4ZjFrc2ZiNEV4NUVRdUF5M3RFZGZ6OS8vRDNOQXdnNERTYTFqQ2k1VmQ3bTB1NDFiaFkzZWZQS1Q2Z29FVHcrTjFTbW5IbG9ra2IxVjAxaWw3VVc1OXhkejF0RVJNU25oMGhrSXlJaURpMTBrMC9ma1VUb3BkRUhxRkRSRmxNMVByV2kwS0pDZ2hjNXdiSkxrVFBnbFJkZTRhc3YveEtQSHowQlJwSEpBRzBUdEV2QktiUk5vUEVXRmNCMWlWL3pSR3ZXVktrZmN0Qk9sWitOMll4RTl1TVRXZTFhQ3k2NkI0aCthSWZyM2Q1c0V5bmJ0WXZEcWhvcmxrb3NFd3B1akRmNThNWUYzcnR4aGkxMmNMZ21GcllHYldaT3EyandWVkNEVzl1MkZscHJraVNoTE11Rit4SVJFZkhwSVJMWmlJaUlRNHU3RXRuK0wxenZsNjV6RENCQm9adFhnZ0JEbHZuYzA1L244ODkvZ1pkZmZCVmZDY2ZqQVRZQUFDQUFTVVJCVkZRYTVUUXBHWm9FYjhBN2gwYndObXhiYTQzV0dnQmpYTWhldDFOMXJtMFhFYXgxV0dzZ2FieGt1VWNpZUFDUjdQanBIRkg4dUVTMkphcjNTbVFYdmU5L3B6OEdFZTRyblNLQ2xnUmZXTkpHRVhYaU9nOWc0NElQY0pvbkdHT29uVUcwSWttU3hrM0FVRktnMXVINjNqVXVYcnZFdVdzWHVWemRZRVJCaVdraVlSMklBWHd6N2NFVDc1NFJFWjhCUkNJYkVSRnhhQ0dvWG5EQmd2Q0N1WUlMSFZxQzVnVkJrd1JMZkN5dUthZVE4a2gyakV5R3ZQVDVWL25xSzcvTW8wY2VweHpWakhZbkpDcGxiYmlLTkFiNjFscnF1c1pVRmhFaFRWUHlKQ2ROVTJ3ZDJrS1JoY2E1d0hpc055UjVzSW1DU0dRWHRUc1hIQUhhVjdkL0lpRmhybFpndzBPRDhRWXZrS1FwK1NCRnBZcWR2UjBrRWJ4QVpVcktzc1JpeWJJTXRReC84Wk52c1cyMzJSN3ZzT1AzR0ZOVHQ5cHVwckIxMVlRbUVOd1JQSURyVkdCUGpJT05pTGpmaUVRMklpTGkwRUk2cS80RGlPeWQwQ2hxN1RxRzZSQm5ITDZKb2RWb1ZsbWp4clBFQ3A5NytrVmVlZWtyUFAzVTB3aWFZcmZFN0pZTTlKQmhQaURMTWhLVjRxekhHWU16bnJxbzhVN0FCVi9SUktVa29oRFJXS214VWtVaWU0ZjJnNGlzOXg2Y1VJK3I4TkNRNStoVTRRVEt1bUJVVHFoTVNUYk1NTDZHRlBKaGhnTnUzcnJPejk1OWwvZUtkOWhoaXdrakxLMVRNSmgyeHhJRnpqYlhpZW91TGlHTUJBU3pMaHZKYkVURWZVWWtzaEVSRVljV0Mrb2dITnc0LzUxdmZnQ2JhYUlURWttd0p2aVJKdWpHaDBBelpMbUp3TlE4dnZvRXI3enlGVjQ2L1FVMjhxT1lTVkJpRTBuSXNnenhRbDNVbEpPS3RlRWFDbzJnR3hzdndUdUhyejIxcnlHeGtjamVvYjExQU9qSWE5UGVoaGtzRDVlb1RFMWQxOVRPNEpWSHBRckpCVFRzbFNNazlVeXFnc3MzTG5IMi9GbXVtV3RZTERVVkkvYW9xRU0xT08rYkNteHRERzNiTWVnS0x6UmpBRUlDVGZCQktKQVJFUkZ4dnhDSmJFUkV4QU9EUmR6VmMvQVBYWklrV092eDNuYkxxbWIrUkNVb3I3QmQ4bFpDUmthZURuRlc0WjNseTg5OWxlZE9udUxaWjU1amFiRE1aRzlDWGRhc0R0WllYOTFnYjNPdnNYblN3YmZmQlY5YUxRa29qM01tRXRrN3RDZEppSEh0d2pKNnlxd2wrTDdXdnNUNlVNZ0FEVllaakRMVTNyQlg3dkxCcGJQODdQSTdqQm5qc0tnbXhhNmtvcURDWXJ1aUN1MkJhemFCYjhWV3J6b0syMTRMWUJwRk5oTFppSWo3aVVoa0l5SWlIaGpNRWxtMWNKNzVIendSUWFsbXlIck8rN05kZ3hLRm9IRmVHcFYyNm5RZ0NHdDZuUmRPdjhpckw3M0trOGVmeEZTV3ZjMFJHOHNiWUJSaUJHODhZaldwU3NpYStObWlHRS83Rllucy92MXIzQUJhUjRBMldRdWdwcWJVRlM1eGFLMnBwV0p2TXVMcXJTdGN1SGFCNjF2WHVja05MSVpVY21wcVJuNFAzd1FGOFArejl5YXhsaVhubmQ4dmhuUHU4TWFjeHhxeXFsZ1RpOFZab2tSU0pFVktsTlMyN0lYaDNubmhiYU1OR0lZWEJyeXdqWWFYaGxkZTJZWmhMK3hOb3cwYmFNR0dtcEphSXpXUUlxa3lCM0VvVmxZeHF5cW45L0s5TzV4ekl1THpJdUtjZSs1OTk3MnN5aUtaVEZiOEV6ZmozWHZtT0RIODR4dTF3WVVramlkMGRyQ0tTR1NWaHJERVVUVXhjckdtRFY4Z05KQk5Dekl5SGlveWtjM0l5SGgwc2VMTXRaQ3F0bVJqZ1hWMFE5SVdwU1FHMEc4bGNaSk1EbUtjL1NNalpXRUhETXNSczBuRldJMFpEQWJNNW5NRTJHVE15ODk5bEJlZWZvRlRXMmNZNkFFak80NG1Cb25RQmljbzBWaGxUb3dqdTNTdjcwTWlHeU04eE5pc1dtdU1NWWdJZFYwejgzUDBLYzN0NlcxdTNucUx0Ky9jNU83a0x2ZjhQUTdZcDZiR0U2aXBjQWdlaHk1QURSU3VFYUt0eUFCQ0s2TVZWSWlXc3F0TG9FNHcyN1dydGtFRU1wSE55SGk0eUVRMkl5UGowY1V4UkxhVm1yVmhQNWVqdWk1Z2pDV0lJN1NpTjVYSTY3cHJhYkJhNFFUaWYxRG9JY0hIUkFpdEU1Q2hTSGF4aWwxOWlndG5MM0R0NmxOY3ZYeVYwMXRuc0thTTdMaUdBU05NaUNHN09nSVhXbE9HbHFqcTN1K3EyNi9kdG80SXE3UmRSSmEyTDRocWl2V2dRRlJJS1hqamMvUlR2T3FVK0dIOTl1V2tCQ0pIVS9SS3NqdGR2ci8xeEMvdUc5SjVrcm1GRG9RUUxWRzExb2dLMUhYTlpETGhvTjdubTYrOXdyMXFuejMyY0RUSllTdXEvRDBPUWZBRUdoVWpHblFjdEcwb2pRVXhrSWlzUmxCcmtzNTJDVGZhaHFCNlcvSU1tcEh4VUpHSmJFWkd4aThwZERmQW5UelF2VU9KMnRxVDZlVzBweTNCUzc4V0ZIaDhaNHB3ZXVzTVY2NWM0Y3FWSzV6Zk9zL2x6Y2NacWpHRk5vUWd1TG9oT0tIUUJZVXBVU25pZ1RpaUJER0pVQTB4OG9FT0tReFVqNlFxaU1jUk0xZXA5dmNneWJsTmtLQVFGY0JLUjJTWEtYOHNuUXRyZnhkUmFJblBSMWc0WTNtSnRxdytVVXBqTFVHMWhGWTZzdHJlczlleC9rVXJWTkxhVjJIT3JKNHhhNlpzbmRyZ3NEcGs3OTVkM3I1N2s5dDNiM0ZuL3c2SGNzaWNHVlZIV0NQYUNBSWhHUkRFdjhQeDBTekNVZG5yY1hiV1I5ckMyZzBaR1JrL2IyUWltNUdSa2ZFemdyV1dFQUloSENYTEJTVm51Y0RGVTVkNDR1b1RYTHAwaVoyTlhZcWl3RXFCd1NCZU1Nb3kwRU9zc2lpSnFuWmZCOFJKSkpMMENHd3JtVTZwYjdVc0pLZFJZbXk2NndjVmFKcXFJNWJyVUJURlV0U0FmdlFBZ2tJNWpaWm95NG9CWlhRMDBVaWs5SEE2SVVwK1E1U3VwcHRSS2hMcE9nZ3VOSVRnYUhBNDVYQ2hZZTVuVktIaXExLy9DeHFwbWZzWmMycm16RktVMXlocGRVY1RBbWRrWkx6UGtJbHNSa1pHeHM4WXJYMG54TmlvM25zTWxnMDJNUlJKYWlpTUdMRTkyT2JjN25sMnRuWjU5cGxuS1hUQm9CZ3lzQU9NTVZIcUc2S0pRYWtHYU5FZHdXeWxyNFNrOGs4MnNpcnEvQkZQajR3R3JMVW4zdmQ4UHUraUJLeVdBSVV1WXVTRkVBamlxSjBqaU1lSGdCZkg5cW50U0RsRllxNnNFQWdTYlY0RG5zUHBuTU5xd3Q3ZUhXN2Z2Y1d0L1R2c2NadWFwZ3R0NVpQVTFhYzZBa0ZwQlZxb25NOFRXRWJHK3h5WnlHWmtaR1Q4ak5CNjJNTlJKeTRsbXBJQnJaNjZOVkpRYUN5V0FVTXFxbVNVb05uUnU1elpQY09wVTZmWTJkbGhOQmh6ZHVjc1JtbTB0aGhqS0hSTWcydTB4bUNwNnhyZG5UdWFBMFFpR20xcm5YTkppcnZldEVCcnUyUWJLNktXdnJ2ZzAzNGE5RUl5aTFaQTRPNjl1OVJOeGVGMHd0Njl1K3p0N2JGM3NNZWttbEJUTTZYcUhPNGswZm1Bb0Fnb1ZMSjc5VjNadWxkSlZ1MW5aR1FrWkNLYmtaR1I4VE5DVVJTZDEvMDZHS0pFdE5SbEp4ME5UY0NKQXhTYmc4MllJY3czT055U1JhNU9xWFF0aG9LU1FURmdOQmd3TEdOb3IwSVhYTGx5QlkzQ0dFTnBCNVRHWXEzRm1BS2pOSnVqcmU1czY0aHMwM2hDY0hndk5FMUYwM2ljcS9FK3hzQ2RWaE5xVnpHcks2YlRRdzRQRDVuTUQ1bjdpb2FhS29XbmlnUTBKRXErc0NFTzNjY1RrcHVXOUVpdDRCYkV0Ui9vdDBXME1zakl5SGdmSXhQWmpJeU1qSjh4WXF4YTNYM2F3UDVhYTVxbW9hN3I1ZjNicUFYSHhNS04reWhNVDk0S1lMR0pMS3BPb2huM1hUNHZ0UGF5WGFSYzFoSFpnZ0dSZ3JaV3FYVGJXeXZWUllwV2hTYkcyVzFkM2h4MU9qWkdFNGlRM3YvOTBGWjAxeUtGUXd1dGM1M3VmVnBTSzhDY1BJTmxaTHpQa1lsc1JrWkd4czhJclYxc20ycTFEZXpmb2VkSmI0enVUQkhhTkt5cng3ZU9ZMjBFcTlJVXFLQ1N6V2xZSXFvQVF6MklKZzNTeWpnWGlIUzNkZjVhRGNrUXl3WGxqTjkxakplQVFpTkF4WlNXaXJiN0x1SUd0RmpRWDVWSWFFdmt2UTh4bWxXYmlqYjA2bVNsZm83OEptU0piRVpHUmlheUdSa1pHVDh2OUtXeFNpbWFwbG5tam4yMGtzalErOTdicGpSSXc5SUlybEZMVGxuU1M0alFXdUxHditNMzZjanFlaUliaWZGUlFydll2cERIc29iQ2FrMHZqaXpMSkxTOWJQdFp0YjR3Sy91MWtONW5PY0JyUmtiRyt4Q1p5R1prWkdROFpFUUpaMWo5Y2JsY2g5WFJlK1g3Y296YnhmL1Fjc0J3OHZudmgzV3p4enBDZnR3K0R6cjd5RXFaa1pIeHZzWEpzVmN5TWpJeU1uNW02TnZDcmdva2o4dUFkU3p1UStyQ2l0bUJFQlkycHcrQ1BwbTgzem1PQ25PUG5tZnRjY2ZiQ0VmazlMQVpHZTkzWkNLYmtaR1I4UkRRWnZ1S2Y2c2pqbDBkUld0VHdCNUQybzdua0tza2NCMHBmQThTMlY1MnMyVXlldFJwN0VRSmFqOE43d3BXYlg1N1YrdzVpV1V5bTVIeGZrWW1zaGtaR1JtL2dOQkxaZ0JISGJuYUxjY2R2ZnA5VlNqYVFWZ3ZNYjFmZWNLZEw1V3RWUFVFTXRzUEtuYlNVL1J2WW8weFJrWkd4dnNRMlVZMkl5TWo0eUZoMmJUZy9yUnNXV29idW1QdVA0aXZrODRHT0NFOTdUdkNNUmMrS3VTOW40bkFPOFd5cERkVDJZeU1qRXhrTXpJeU1uNUJzU3FGWFpYU1FsaGt1WUxqSmFqZGRuMWsxSDl3eTRLVFNlVDY4eDRuVmU0YkM2eGU1d0dFd2hrWkdlOGI1UEVnSXlNajQyRmdYVlNDKzBZaFdKYklMbVc4YXZjL2tjajJmaGU5eGpMM25hTk5LSHNzRXo3UmhPRFlYZFlmZEp4RFdaNjlNakxlOThnMnNoa1pHUmtQQyt0Q1ZjbWE3V3NJbXh6eis3dTYzczhTRHlvbVdVZGNmNTczblpHUjhVZ2hTMlF6TWpJeUhoWitGbExHa3lTeVI2NmpmMmFtQlJrWkdSay9EMlFpbTVHUmtaR1JrWkdSOFVqaXArVkttcEdSa1pHUmtaR1JrZkZ6UlNheUdSa1pHUmtaR1JrWmp5UXlrYzNJeU1qSXlNakl5SGdra1lsc1JrWkdSa1pHUmtiR0k0bE1aRE15TWpJeU1qSXlNaDVKWkNLYmtaR1JrWkdSa1pIeFNDSVQyWXlNakl5TWpJeU1qRWNTbWNobVpHUmtaR1JrWkdROGtzaEVOaU1qSXlNakl5TWo0NUZFSnJJWkdSa1pHUmtaR1JtUEpES1J6Y2pJeU1qSXlNakllQ1NSaVd4R1JrWkdSa1pHUnNZamlVeGtNekl5TWpJeU1qSXlIa25ZaDMwRDczZW8zdC9TL2JXNnZnaHJqeEVlQldoVzd6OGo0NmVIZDdNV2Y0L3RVSzE4RjFEdlFSWVErMjg0ZXQ3bEhkN3g3YXcvdE5mL1ZOcWdlRlFHajR5TWpJejdJaFBaaHdnRkRBZFExNERFNmNiWUV1ZmlMRE1jamFpcU9TaUhTcE9Sa2pSMUN3UUZvazZlazlRSnM1MENRb2puUE9sNGtmZzVDVnFEVWdvSjdRVTFTaWxDNkUzWTZYeGFMMjdLK2RVVEgwY01NaG5PV0lVRzFXc3Y3NGFjcWJCRVJCVUs2WjFBZ0tJb0NIaThjNzNqRnBmV0dKUlRxRFdVVXFWLzRjZ2lWSFdsVjRLbmprMWVwNHYyZGxjYXluSklOWitEeFBzMDZYbEZCSVZnZWdlRWRHUHRhYVM5MGVPZUh6S2h6Y2pJZU9TUjErWVBFUXBvT1oxV2dMSUVLUWxpa0k0NWVzQ2xNc1JqaUJPd3BGL2pwS3pmZmNuSlVwMmo5NnZRT2hMVTloT0NRL0Q0anBDMjV6VVlZd2doRUtmVlFKQ2paSFI5NDFzMythNGNtMXR1Umtkazc3T2E2emFHUlprYWZsa01jWFdESUJodEdBd0dpQWl6ZWJWMEJtc3N4aGdRaGZjZUh6d0toY1dtUHFrSXlKSFNwTjVxMEFRRUJUUTROQXFQSitCeHl2ZjYrM3BzYkd3QU1KbE1GcitOaGpTejZaS0dKblJFVmk5WGlWcnRlNW5JWm1Say9ISWcwNEdIQ0FVTVMyZ2FFTkhBQ0UrQlVTT3NLYWxjRXRVcWo4YWg4Q2lKMDVaR2QxSVhVWUdGQ3ZIZGxHRHVRMldkdUJPMmVoUU5JS2drZ1lVb0xXb2xVVm9wSUtDVUlKRjJnNG9TWEsyaFNvK1lrZkh1c1NLUmhXUGEwbEVDMjBJVkdoV0U0S1Vub2RXVXVtQTgyS0NhVlozVU5rcHNkZmU5cE9EeTdrV3N0WXdIWXdiakFhTnloQzQwaFM0SUtvQW5FdFltTUt0blZOT0tlNU43ekNkelpzMk1BKzR0K2dvS2hjSGpjZFI0QXB1ak1mdXpBeUFnZ0MwTlFRVkM0MEhBQ0N0RWRvMGtkcjM5MGtyZFpHUmtaRHlheUVUMklhTzBCWTBUWU1ERjgwOXljT0J4M3FCMVFkMDBETW9DVkpUSWFnSktRRW1TUWdGQkJORVAvZ3IxZmVheHdXQVFyeE1DM251YXBxRjJOUTRIT0JSeklxRnRKODRGaVcwbHNRdXBja0thV0kwQjU4a3RNT005b0U5bVcwM0RNZEpIT0txQzZMRkFoV0pRakZGTzhFSFFHQXdXZzJGYjdYQnU5enpuVDEvZzR2bExYTHB3bWQzZFhhYUg5MUFxYWlwYWJZV0lkSitpS0RydEJTejZrWE9PRUFMejZZeWJ0OS9teDYrL3hwdHYzK0NlTzhCUjRhS3Nsamx6QWc1UFFMUVF4TkdxWmJSUlNDWDBuajUycGU0WjEyZzJNcEhOeU1qNEpVTW1zZzhWR2lpd2VzUUx6MzJNZi9iUC9qTTJ0eTRnREJpVUc2QXQ4K2xoSXJLQ0lxQmJJcHNrczE3OGcxOWVCWEJoamRweGdhcXFFSkZ1OHEzcm12bDhUbDNYT0RmbmxXLy9IVGR2M2VESFAvNFJiNzcxSm80b1l0MFlqQmlPU3U3ZHU0dlFJRGlFS3RyYjlzNS8zOGFYVzJmR2llaExIbnVtTThlaDM1NVUraGpGUUE5cEtvZEdZN0Jzc3NYdWVKZVB2UEF4ZGpkMk9idDFudTNoTmdVbGhFaHhsUktHbzJpS0VFSWdoTkQ5RFZFek1aL1A0NlY2NWpndDZkVW9mT01wdElaQzRYWGczbXlmMTkrOHp2ZGUreDZ2MzN5ZFBibExSWVdqd2VQdytQaDg3VnJXclhtZWs1NWJUbllremNqSXlIalVrSjI5SGlvMGloSVhERldsMkQxMUJXTzIyTHRYNFJxRktFSDhBRlJKdEhvTEtORkVBV3pyOUhFeWtUM1o5aTZBZDlIYlM5VGFjbGhzZGQrRGVJSVgvSmJEdTBDUWlxZWZmZzVVZy9lZWUvZjJlUFhWSC9LTmIzNmRyMzN0YjdpOXQ4ZGl4dFdBWlRCUUdBTStORFFOK1B2Tm80OVdpSWFNaDRFK2NYMEhKRmIxdjR2RkJJMG5ZQ2twS1hqeTNEVSsvUHhIK01Eano5SWNlc1oyekliZG9sUWx5bW5FQ3lFNVpNNE9wZ1FsYUZHSWhrSmJyTFVVMm9KUm5OaytTeE1jdm5iVXZpRTAwVEpXUzNUNzJqUWIrTWJqNXc2bFBhZUxVK3c4dHNNSEhuK0dtYXI1OFp1djhwM1h2c04zcm4rYkdkTm9lU3RScXJ2UWVMQk1ZdTlEWmsrME5Nakl5TWg0eEpBbHNnOFZCV1d4UzkwVVBINzFPZjdGdi9qdmFWeEJWUmsyTjA3amcrQ2JSRFNUV1lGbUlaSFZRQWp0aFBhQUNEVW4yZEo2THlnbFM3OHZ2bnNrekJCeEtLVXdWcUcxNEh6TmJIWkFWUi95di81di96TzNidC9nclZ1djRaa0ROZEVVSWJCa1ZmQk92TTZXV21wZm9acnh2c2NKSmdOdHVRZzRzSEJJTEJrQm1oRmpubi9tT1Q3eG9VL3d4T1VuQ1pWaWV2ZVEwK096MEtSdTBvQUpsZ0tMMWNuNVMwY2JXSHkwSnhjbk5LSHBiR1B4RUZUQVlCQXRVWkpyRlZiWktKR2QxUmdpQ1JiajhjWlRVMU9waGxyVnFDRWMxUHU4dGZjMlAzamorM3ovMVIrd0gvWUlCSWJGaVAxbXIyZDdIdFlUV3VsL2RGcFd4djRja3UxdFJrWkd4cU1LQS94WEQvc20zcjh3K0tCQWxadzZmWWt2L2RhL2d3OGwxbXd3R0c0eU9helJwZ1NsVWRoa0MyaFFXQlFGWUZHaW9xTVZ4ZG9Tc2JRbURPdEtyUXhLR1pRcTFwZkVFaXlJUnNRZ29oQXhnSUZna1dDUllGQ1VhRFZBS1FzUzcvRkxYL3d5bHk5ZlFXRTUzSjh5cnh2YWVFTjl1OW9PSnhGYXRlNUxub1l6V0U5a1YwaXNUb1lEQm8zR1VsQXlab3VQUGZZSmZ2ZHovNFJQdnZ4cjdKUzdWSHNOekdHNzNFVXFRVFVLTGFZanNDcEEwelRSeEthcThZMUhncUJGbzVYR2FvdFc4VXFGTFNoTWdUVzIreDBQM25sQzR5aFZFZFZpQWtFQ0lha29DbDB3S0VwQ0hRbnJ1ZDF6WEwzNEdCZlBYS0tzQythSERWV1lJMGlLaHRERzhPbzk4TnErcExvb0M5RjlMY3N5TWpJeUhtMWtJdnRRRWRYdFlOblpPY2RuZitPTEdEM0NPNFgzR3ExdHRLdERwWGl3Yld6S05FUEpJaTdsWWhJN3ZveG1Cam81b2tTbkZOV2FIcVR2RXBJRFdVaG1DYUs2N2ZFTzlPSzdLTFFVR0lab1NnaUc0QXloaWVUWTZpRk41VGx6Nmh3Zi9mQW4rTWlIUDBxaEIxeC85U2NFRklZQlNtbktRWW56MFE2NEtBeldxaVFKUHFudU1wSE5XRVliaWF1UDBYQ0FkeDZEeFdLd0ZKaGtSSEI1NHduK285LzlqM24yeWdjNVBUeU5iUXBNVTFLR2trSUdhSzlSWHFORVJkTUJrZzJzOG1BRWJRM1dXTFRSb0JJUmxZQVBQa1k0VUpFcXR2K0NoTzV2cFJWS0s1Q0FLRS9RRXFPUGFJa3htMFVJTG1CRW80UEd6d1BHR2M1dW51ZUpDMDl5cGpoRG1NSmVjd2VMN1I2OExJZjRrT0lYV0JzRFJTL1gwZ3FSaGR5SE1qSXlIbVZrSXZ0UWtUeXVsV1YzOXl5Zi8veVhVV3BBQ0NwSk5SZGlGWlVtbXhUZ2lqWU11K3BVNi9KQXBlNTBycXRwZjlUaTkrTzJvOUVoU29aYmlTMllSWW1LRTZzWHZCYzJ4dHRjdmZJa2x5ODl4dUZleGExN3R3a0VuRzhZRFRld3BxQ3VhMElJakVZRlRYT1MyVUFtc2hrTHFEWENmUVM4RXdvS05vdHRpakFBTkp0czhTc3Zmb292Zi9iMzJBcW4yWkp0aG1wRUtRT01OMmh2VUVHanhhUk1JR201R0VPR0lDb2c2VytVcEJCNGlhTDJ5OVhQeW5hVklrRUg3ZU01a2E0M3EzVFY0RUVIZ3pTZ2FzVkFEZGt1ZHpnMTJ1WHNxVE9NaGdOdTNIa1RDQlNVTkw0QkVjWWJXelR6NlpxYWltUEhnc2htMDV5TWpJeEhHOW5aNjZHaWRkWklDUStVQStYcDdGR1Y2aVV3U0dHc0ZHaEpxa1FGOTAyNXRUWkdRT3YxMFkrdnFlTTEraVVyNWVyMkxzRkJqMFZJL3pLYWF0Wmc3QmlOUllubndybFRuTnE5eU03V0piNzJ6Yi9nejc3Ni96SVA5NWpOSFR0Ym04eXJPU0xSZmhHYUI2blVqUGNSVkc4OUkrMzZLbjFYeVpCZ29FYTRKcURRWEN3dTgrbGYrUXd2UFBkQnR2UXV5ZzBvL1JBdElDNkd0L0tTRWhSb1NWcU1RRkF0NlV0U1ZaVWNMMFBSdTZRc2xhdFkzZTUxd0t2UVJWc1FpYUcwUkFRVkZFcWd3R0IwUWVFTlZkTWd6cU05N0pnZHl0MkNZc3N3SEE3NStpdGY0NjdjWlVBQkRLZ09wOFRoUFlVMVdKSlVaL0tha1pIeHk0TXNrWDJvVUdrbU5wemFQY2R2ZnY2M1VXb1F6UW9vRWZUQzBZdUFRbExFZ3VTQXBXSklyaWdab3VmczBTdVJ4WGRXUytubC8zbjNwZTdrd3VtY0xZdFZDMGJSTkM3R29oWEQ1SERLZkY1VEZtUE9uYnZBdFd0UGdmSzg5dHFydUJCd3RVdkhCVUlRSkp5UWgzNUpPcHp4ZmtWTWpkejdJVFVKbGV4aFN3WUlDb1BsNnZoSlB2ZXJ2OG5IWC93a0F6YTQrOFkrTytVcFRMQW8wVWdJQkduYmNOU0NTT28vSFFWVlBTbW1XaWpwVWUyK2kzTDFzM1o3ZDY3MGU1TFQ2bVRLWXpCWVl5aDBnUkl3UVNNdTRLcUcyWHlHS1JYWG5ueVNvUzY1K2RhdG1GSVhSMEFZRkNWTkc1VkVMVmRSMjIrUEk5MFpHUmtaandxeVJQYWhveFZoSmtMYVFna3FMREp3ZFpSTkJaUzBoTFkvRVIyWHdVc2Q4L3ZxOXZaZSt1VzZlMTNacmhvMERlMjB2N0RGalJnUGg0anplT2NaRm1PMGpoN2dncUUwRzN6K2M3K0ZLUlgvNWl2L0R3ZXp1NUZ5NkNIT3o3SFc0cHc3Z2N4bXlWSkdST3diN1IrdE0yRzBIVFVVdkhEaFEzengwNy9OdFF0UHNmZjJQZHpVY1diamZFeFFJRld5RzQvZS85SFdOaTB5VnpNako4Ly9GdXVTS2Ivem0yN0QwaTA5eFJLY3J4RThGa3RSR0V6UkxoQWJDcWNZbVMwT2J4L3kwdU1mWkZ5TytjTy8rUXFlVzVTTU9Xd09NV2o4bXRUUWJkS1NUR016TWpJZWRXU0o3RU9GNmlJU25ONDl6eGMrL3p0b1JuaG4wS3BFTUdtL2FFK244U2lKa3M5V0l0czVZNzBYRzlrSHZYc2xLRldqbEtNemsxQ3RqbmR4SGVjY1dtdUdneEhHR0txcXdmdUFMU3pseUhMNXlrV0NGMzc0Z3g4UzhBUnBBM01KSWlkSlpUUGU3MURxcUhWTlRQUWFYYm8waGc4LzhWRis0NU9mNS9GelQrQW1nVENCa2RsZ1hJNm9YSU5USGllT29GUDcxWXFnSElLay9oYWRMWlVrMjNSSkRwaVlYdjk3Z0h0dnkzUytsbzNybmdEVmFFVUlBZWVhMkMrVUJ4MmlhWU9HUWh2bWt4bEtORHM3TzR4R1ErN2V2TU05dWNmQ3RReTZTQVlyMTg3SXlNaDQxSkVsc2c4WnFuWG82dExPdG1GMFZFcEZHNkY3OFI3YlZMWHZqWVl1enJ6QXU1WElPbEFOblExdGFITm5RaHYyeTNtUFVnYXROZDc3bEJITU1Sd09HVzhXM0puY1kyZjdOSi82MUdlNGQ3RFBuLy9sSCtGVFd0c1lJNWVGRlVGR3hnckNrYWJhU21NTkdzT0xUNzdFeHo3MENTNWR1TUwrN1FscW9qaS9jNGtoWSs3czMwYkdRcU5xOEFHbHdCcURpSTlSTzd6SEtKMnk2U2tRazlacFVTTVNWRFN3NmRCRkFEbW0vNnpaYm56YjUyTkVoR2d2dTlEUUtLTVE1eEh4T1BIVVhoQW5LQzBZTVRDeG5CbWY1YzdrRm9qd29XYy9SQlVxL3UwLy9Gc01jeVljSnBleUJIWGtGakl5TWpJZWFXUWkrd3NERGRLRyt0Rm8wWGlJSmdUSjFsVko2eGdDY2lTLy9Bbm43ZEFub2lxRzNrcm1ERnJBbzFNcDZLQUlpbTdDMWtqOFhXS2dkMzJFWExiT2FlMDFvK3B5T0N4eEx0QTBVWDFyVFVsUmpuRjF3KzIzOXhudGJESTUyT1BLeFd0ODRiTy93MXMzM3VKN3IzNExneEJVV09TV2IzR3NXZXo2MUp0cmQxY3M2a3oxNjI5ZFBmYXlKNjI5RGIyeUw4djNlOFNVZDgzK1MxaHNWeWZ1ZDl6MWwwMUgxc1dhK0dsYUZ4K05IYkdtRGxPYlhUMW0rYmdIdlBoUzBIK2RKTEVGQldOS1N2N0piL3k3V0Q4Z0hNRE84QlJLYSthVEtRN0h4dGFZS1pQRnlWSUtXUlNJanlsbmpiSGQrVnVUbmhpV1RxZStzZWlIQ3pPZlhvSUNXWmdHQWVpZ1U5aTdsSm1QUlVJVExUbzVmZm00SnNSVHV3YlJvSzFCS1kxMkh1OGJ0TllVdWtTajhkV2MwMXRucUtqWXYzMlBEMXg1bnNZNy9zMjMvd2lOeFMvWnlkTTFnRGJCU3Z0LzZQM2Z4N0h2YU4zaVVsYTJyeG1iVk84YWZaT1ErNTF1M2FXbC8rWGRvaHVyN3RjZjF2Uy9CN2puTlllL3B6S2lIei80dUhFaU9qcXU3Ly92MVR6cnVERXo0a0hIbldQM08rNWRyOWw1ZGRmbFhkcng4VGlUdStWeTZkaWYyZ0NXOGROQ05pMTRxR2g3aEdWNzV4SmYrUHp2b1JnVFhJR1dRUm9vUGRIejJDSEpGaldJUW9nT0txam9CS1lRU0dwUWtVNWNoR3M4d1lOM2dkS09xT1lOaUdZNDJLUnhUY3p6SGdMaWlZSGRIU0FHVFlHaWdHQW9peUZXMnhqRVBaa0pLQkc4Y3lBbUpzOFZnNkJSd2JDUUxJTnZIQklDV29GT1hqa1NQRnFCdFpaQk1XSzZQMGRSY1A3TUJTNmR2OFNmZi9YUEdOcVNPc3hSdU9oVDAvOTBWYWRSUnNXRURkSzZzQ3hjMExvaGZ1M3hKaEp2bzlMZkJTZ0xsUEh2TGdGRlFHdXdSZHkxSGJpaXpOeWc5UkNGUVNtRnRoNVR4Tk5KNzdxcUlJM3RHbU5MSk1Tb0UxcnJKQmxiM056aS92dC8wZjBWMzNYN0dIcHByL2k3WGlwMU9wTWxFcUdXUkZpbE1WWkY1NmJWdW5rSGlPK3VKSGkzdUJjVkphRXRLZXcrUU90d3RLeHplSTlRb01aMGZvWkRNOFJJd1lBeG0rend6Ly9wZjhxMm5HTGt0eWg4Z1RTU3VLVWd1cUVKRlI2UFFtRkVvUUpvcHhBbjZHQmk5aTJ4dU1Zakhvd3BNTFlraU5DNEVQdVVIaUV1OWpNZjBvU25vOFFVM2Rxd0IwTHRrY3BUVXJKaHh4aHZxS2R6TURXbVVGaGxFQjlBRklVdDBjclFCRWN3Q3AreWh3VVJCSU1XZ3drREpBZytWSmhDNCtlTzJhUmhYR3l6T2RqQkJjQXIzang4aStGNFFCWG1GRnVXNE5JQ3M5UW9MeGhzU2hTaGFOK2VTVzJzLzQ2T05vL2taYWZiZHl6cmQxWW1ldVIxc1c0Vmh0QjlDNzJUeHJRckdoTjdWR3J0Y3VTY2lqYTRYMnZab1ZsdXhMMlAwc2QvdXFlT0NUTG9ydHhlZlRHVzlQdGRXdXZFeDE5emRZNjVtK1VlMmZiUzVlVm9hNTV0MGtuV2xkSzdaa0dCb1VpdWpmSGNiY29QbzFyVHREYVQyK3JvY0hRWit1N1FobGxzMytiUitqb2F6VHhwRzlNL2F3MUtTV3hHdmJyVHZiOTdGYmo4V1cyVTZYVmJyVEJHVTJpZHh0cjJpUmNmNmQ2R1RxZUxaV3gvcExvazlZejJKdVRvUzgzNGhVQ1d5UDZpUVJJcFU2M0V0TFU5YlZXTzdYNlJraGlCeGNyeEtNYmpNZDRMSVFTVWpkcVpyd0FBSUFCSlJFRlVVaFJGRVpNc0tLRzBCdStxUkc0VTFpd0dtYmJqVmsxRlZjOEp3YUdVVUpRR28zUU03aDdTUkhhaVJIZ1pmV21NRXMzazNweGh1WWtLVUtpUzA5c1grTFVQZllhLytkYWZvTkhIeXd2NjExUUJyWFdxTytrRytrNW0yZkw2dFN2cFpIY29zVTZSOW1qcDZqdUVrQWcrbmYyaUFyUXhoS0FSQ1FpT3BaeTd2WUZPV2dHZFhuUTN3YlBzZzdOY2g2czFHdC9HUXNJYXNTNjlhQ3VKanFXeEJkNTduSVRPUVZBVGcvZUxVK2pGWE5jMXIzV0pLRlNhRkVVazJXdzZuSE1zRGcrTDhGZEs5MDdXZThnanRxenZIVkxIRTFtakNjNnh5MmtjOFB1Ly91OVRWa1BLWXJDSVNpQStyWGNjdm9zWVlGSUFnWGpQYmFsVCt3bytzREhlUkVRNG5CemduR013S0NnR0Z1OEYwV0RMbUwzTGEwOFQ1bFRPMHpRelBJNXFXbk42ZDVmdHpXM2NyS2E2TjhkVk5jTnlnNTJkTFc1UGJ1Q3BNWlNJMHlneGVOR1kwakFjakptNFNWb1VSVW11a2Ric3lLQkUwWGlQTWdwTlNhbEtyQzh4dnVEMDhEeFBYM3FHNzcvNWZkNmV2Z2tXbXFucjZxMnVRNklobHBoa3BjMFI1anN6aExhR2xsN2RDbkhvYTErT2Y2bXBOZXRJSVF3S0c0UmdpSVM3MTZqWEhyNkdjM1h5TWxFRUhTWGtuUVI4cVZUSC9KNm9uRXBFSlVtbkYyTkVldi9pajl5VDdyWGpQdmxhN1l2OThhYmRIdGQyQ3FNc1dnV0VFTWxwVW82MXBqTHRtMnFKL21ycGlmdDcyc2d6b2ZldTByZ2duYXkvMnhhV251YW5JVTdzVTlYN1MzY1hlMmlFa0JMaExOQy91L1o5dEF1V2RabzFaUlVFV1VTb0RJczZDVUJoQ3dDOENDRWt2VW55NFZpV1NLK1c3L1NKTW40UmtJbnNJNC8rUU5JZllXTVhuRXdPOGQ1anJhVm1FaU1CZUkrYkh4QjhRMmtUYVRaUlRoQXpmamxDbUNGQllVb29pb0xCWUJzSXpHWXpadk1wU2d2Rm9JaFNwUGVBdW5hY1ByM0x2WU05Z2hNMk43ZjU4cGQvbCsvKzhGdmNuaHdRRXkwY0g3bEFVdVlpU2FOWWxFdEl0M3RMMUpSYURJWUJ0UmdoMjVWOThQRVAwU25iV1ZRNmVkZWVQNTZuaTV5cllucGZMeFVnYUN2b0pJa1ZXUWlyckNtWlRXc1FpMGpBaHhoS3JTd3NJUVFhdjM0UnNxcm1YVlY0UVR0UnJqakRwZnRzNzdkMkZRREdHQXBqVWNwRUV1cWpnNTZreDE2cTAzNHowakVzRlQyUC9tS1FobzBnaE1iM2RvWnVZYkFxN0pGRmNmeXk2d0VnWUFiZ0pvRXRzOG5Nei9uazQ3L0tTeSs4UkppcUJTTjRRQ2lqcUpKWmpMYUtqZEV3OXFWNnptRTF3UllEblBLRUp1Q29RUWRVQ2NYSU1DeExSakprTnAxdzk4NU5WS1BaSEd3eUtrZE1xbnZNRDZac2JBMEo0ckRCb0l4Qm5NSDdnRFF4OTUyT2MyNWNhcmFMcUxDd254ZWxDVDdLbDlyMHViNzJiSlZqSHIvd09COTg1b1BzL2VOTkNqTm0xa3pCcEhXR2krOWlubUkxUy9kbVRpS3QvZS9oNk4vcmVKRktURlVCRXVQMDFpUkN0a0ppNHluQytxN2VMWkppKzJ6YmtPN1lXbHFNdm92U0E3NXRxMGZhNjZLRjl1OXBWWlBRbDZlMmZYYkozS0ZkRTZlOUpYM3gzZXEyVndkOXlTTXFNZHVWN2IyVmhRaTQwS0J4S0tXUy9DTmV1STBjSTJHMXQ3WDNxdGErcm5lUDVmT3Zuak1wUzdweWVkRVR3S2JuVEVLQzlybEM3em03UXZXYVMvdDdMWXY2VGYxRGE2TFdVQ2xxMThURndTcERUcmZzL2VLNG8vZmZ2dEdWT1U2TytUdmpvU0VUMlY5cUJBWkRnd2hzYkE0NU9Makg1dWFBT3VXSjF6b1MzRGJza0VqTXZSNGtSTktuaGEzTkhlN2V2YzJ0TzNPR2d4RmJXMXRzYlkrb2EwZGQxOWkrU084QlVCUUZaVG5FT1VjMWp4VDBpY2VmNXNNdmY0US8rc3MzYUpYaFhZQ0cxWUdqTndLcFpQTzBVTFJIZnRvT2dvdkJWQ0l4VTJFeEJrdUk0ajBKSFEzMlNOU0s5Z2ZCZHM0V2cvTWU4Q21XYVZyeHR4ZVJLRFZ4NGxBVWpJZWJLS1dZenc0d1J1T2JtcFl1SHlkVmJjZGZTVU5wTnlHa3NYK0ppTXZLNGVrM1l6WGVCYnozTWUxdmtyY1pYYUMxcG5iTm1zRjRNWEJiWGVERkUwSmtoT0tKc1VrVGpyejlWYlhib3RKWlVJOStQcnFGamVpRFFCdndVN0FZOEladHZjUG5QdnQ1bXNZenNodUU1cVNaWmtVS3ZtWlhyVFh6YWtwUWdlR3dCQXV6WmtJZ01Od1pVRnRQd05HRWlzYlhUT29KKzdmdnNIOXZqOGxrd25nNDR2VHVLUzZjT2NmV2NCc1ZoQ3JNMEFQTGFIdUl1RUNvSXEwYTJnRldsMVJWRThsemNHZ0xJbEh0MlVxSyszZGRGa084OTBoUWFHVlFEaW8zeHc4Y3c0MlNGNTk0bHUvKzZCVnVWMi9INXBJSWp6Ymd2TVJGUng5OTBzVEszLzE5K3ZVWDZEZldsWDE2N0xQMyswbnJpLzdhNXdpcFR0Zm95ZE5YTHI1YzNwZG5yS3FJdStkZUp1Y2lDM09HaFVXcUpxenJ2eTJ4WCsyWHErTGI3cU5YSHJ3dnlrMnJiNlVXNGxwSmJDOUZkQWxJUndiWGo0L3RzeXlXd3ovZCtNRjkxdG56S2VoSlVXVzFIYlViL09JK1Fyci9maDEzaHlRTkJDVHRXbXBQeGhSeHJTQzlVVEtFbUdvOVdvY3YwRjljOU1kTldUVFB4ZTBjbGRBdTNYZkdMeFF5a1gzVUlUcDF5S1RPN1dmckl0QzRDcVVDemdmZXVQRjl6cDA3UlZGYWxBa01Cd1Z1UG8vT0pjRVIwakpZS1lVMlVlSjRPSnN4SEJkc2JHNGlvcWlxUTVwR0tPeVFqWTBSMWF4K1Q3ZGZHRXRUMWFoa3d4bWMwRFNCVDMzcU0vemxWLytZV1pnUnBTaXJLdW80S0p2MDJNdmpTNXZDTjFyWnRlbzQzWkhaWkxPbjNCb0owUElzM2tsOFZWenBLNjJTMUZvaEVoZ01DcXFtV3BxWnJRYXRDNUFDOFNtVlJhV29wRUtqRWQ5RXRhNVYxRzU1cUZ4S0dhb1c2dnF1WkxsYytyU1ZzS0lUTTlwQU1DaDBwektYb0FoQnNBeTdlbHBnRWJncE5OR0dkS0NIR0dNSXdlRzlqK1lwV2hhcXdkVko2c2hNQkl2VXhWSEJ2TERGZUVBaUs5RXVkaVp6Qm1xQUY4OFh2L0FsTmthYnFJcTQwS0pnbGJCMmg2dEZkOUdyYlNodHFMMWp1REVFTFV5ckNiUHBGRzFnT0I2aWhwbzM5OS9naDIvOGdGZSs4d3B2VG04Z0tSbUJSVk5FRnRxOTl6UG1GTTlmZTU0bkgzdVNyWTF0aW1BNVZaeENuRURqUU1OQWc5YUtnUzF3S3VBa1lNUXZ1S0lRTTRxbFBxQnNpWk1hNTJDZ0ZVWnJqRmY0S2hDVTU4TE9lVjUrNmlYKzdmZitpRTIxd2RSWEJBS0QwUWczbnh3MWhCV2RKdmQyZGplTGlsa2xmRUVuU1pvQzVkRmhzVStRMkFzbE9iREZOdXFQRXVYMEhsdjB0UTZodmM3cXdxakg2YnpTeURHbUE5Ri93S3o5UFpadXlZeEdWdnNSTEpzTDlVUjVVWCsxUXNoVnYrSDNqd3RnRE5yRXNUVktEejFhTE1wWlZJaTJ3RWNrZnljZ0x0UTl5allMR2ltOTE3YllzWWNWRXhCSnY3MG5jdFpmUElRVlNUM0w3L3JJUWtmM0ZneFJncXFWd3FJdzBpNVJVclk3RnZiU29Sdi9BZDlhc2FadFhjc0pDQnFEalJuMGRDRGdFK2xuc2RoZlhjaklmY3BqZHM5NHVNaEU5cGNXY1ZBWmpVb20wejErOE1NZjhqLytULzhEZFhQSXZEcGdOb3RtQnVQaEJrb2tTZHlpZXR4YWpiVVdZd3FlZS9aRm5ycjJMQjk0NWtWMnRzK2h0TUZZVURyZ2ZRcTk5UjRVeGQ0TDArbWNvaGhRRkFVK3pKbE5EM2pxOGFlNWZPbHhmdkRHWFRTR1FPaUVEbjIwYXFpNGltL2RWVm9MV1FNRWxMaHVYNFZORWxjTEFwYTZOOEFxRmtRcmZ2ZHBnRmJwT2xxbHlUMmhxcXZ1N3hpQ1ZLTkRpWWh0NlF3R2paVUNUNVFjam9jYkhNenZNQjRNTzlWLzk4N2c2R1N3VG1LMEtpWHJEN2c5cVhCbzJvRytyWmUycHBiY1Mzb25TSXVaVkJZeGZnUXVPSHhTVStwMEhSdE11cHhIaXl3TFg5ZW9qU09CYU85anhSVG1BYUNBYWxvelZtTzhLRjY4OGdMUFAvMENOS0NWeGJtQVZVZmJaZ0FXWXUzakVWVEErWnFCTVRoeE5GSXgzQzRaakVyZWVQTU52dmwzMytUcnIzNk5pUnhTVWFHQXdoUVlvNmliT1pNUTM2M0ZNbEFEM3ZKdmN1djdiL0cxNy84dG4vandKL2o0aXgvSDE0N0JlSUNxTlUzbENmV01nUm1pdFVhM1liNkNTbzZCSGkyS2ZnanBFT0lmS25sRWFxMFpVcUJGbURtUHFZVm5Mei9EdDc3MzkweGxSb1Vqb0doY0lEbzk5U1NQSFh0c0haSjByNW5wWkw2ekxJRHRsZ2tTMlVHN2orbjFzMEIwYW96T2F1bWE2MGhqNy8wY2tjYjJTVkZZdEYySnFxUDBERWZMSkxkTCs2K1dGb3ZyaUhQWGRWYjdWcnJXUWdMY2ZnOHNaVTNyRTk1MEVwV3VwNTJzWkF1T0k5VWd4ZGxvbmEraWsxR3MrVDVGakV2Y1NIZmJaWTNENFZ6TTQ3YW9LZ1ZLbzR4R2xLSk9tcCtsY2FRdk1YNXZsbUc5QjE5RFlsZkxib3hhdkwvU0RCT1JEMTFWOXAydDB2SWJuWndTRjlxMk9HN1ZITFd4alRYVjRJamtsYUNTTFV2ckZoMmlWS096MVZuelNLc0MvdlNZQzJseGE2S3h6azhoNCtlTlRHUi9HZEIzZkJJTlBYZU4yZnlBSURYT1QzanR6ZThTcU5EVUNJNmhHZkwyL3R2RVR0bXFlQ09oYmIxMmYvaVRiOE1mRzNiSEYzbit1US96MlU5L2laYy85SEVVaHJkdnZNM081cG4zZE90S0taeHpGSVdoYVJvUVMxa09nWVlQdi93eGZ2REd0OU85OVZYUVBac3MzdzUrQnFPR0dBWm9zWkFraW80NVVOSzZPU3lJYnN4RHJ4R1VlT0tVYkJQNTFVaytFaGdYSStwUTRmeThjOFpRdlRTbE1YSUJ5WmtJbEpSQWdXYUFaY1RaelV1Y1BuMkdKeDk3REdWcUxsemE1dTJiUCtZUHZ2Si9jamlab2JESE94VWNSMXE3aHovK281TC83WkFSclM5NkpCNURkalozdUhqdUlyczdwemwvL2tJWDUxZkZ0RlZSVFNjT0VXRTJtM0J3c00rZHU3ZlkzOTlqT3AweXF5Yk1tUk1rVUZEUzBCQndhQnFRRUtWeHE1SVlpTktYeml2anVJZDZONGpodGdhTWFQRDgyaWMvZzNhYXdneW9KelVqdTlFTG9QcnVFTktrYkV2TndmU0FZQnFLRFlNcTRmV2IxL25xTi82S2I3ejFUYVpNY0RSZGU1bjVLZmllZWhYd05IaHBHSm9ZYVdCUDl2aktONzdDVjcveGwvd0h2LzRmOHZqdTQ1elpQSXRUZ3B1a2hDQ0JHQkhDYUxRS0M3V3JMSnRBVkkwSHJWRmFFM3hjY0JnRnBUYUlXR2FUaG5PYlozbng2b3Y4OWV0L2k2VWc0SENOaTBTMlc3OUV2L2NpeGQrTlM0MlkycmV0Njc2SlM5dWZJcjJJenh0VnVlMXp4eWdBOFRpZEV1Y3FBb0ZHb3VxM1c4c3NPWXN1eVBLU3hHeHBuOWIzM2FBb1dHUGc4bzVnQ2NTWUl5MUJkRGlpWTFDUzNTWDUrZ0l0MmUyV1lkcjFuZ01JRmtSMXRkZ3VHUTJMWk40bXRkc2hKUmM0UTBtQnhXQ1VwYlFGcHJCWWJWQkdSOGRhaE9BOExuaGMzVVM3VHp4ejV0emdUZVkwSGFFS1JDMk9PUEFFU2dvOGdwZm9XTFpjcHl3VHRYZU5FNGpyS3JweEtiYXM5djFacnhPUmo3L0dGcU1vS1NneG5HSTMxb3Nwc2RaU21BSnJMVnJacEJVcUVSRnFYMU0zYytiektkTXdaY3FFaGhxTnBxWmh6cHlHSmduWVV3cDByYW5DZkxuNXJBb04xa2hrVDNyTWpJZURUR1IveWFHMVlqUW8yZGdzQ1ZUQWpFQU5WTXpxUXd5ak5NUUtVZFh1SW9sSnFobE5nZEVqOXFZMytLdXYzK0ZIUC9vUnYvbUYxL2prSjM2ZE0rY3Y0MlpoWlpKNWR5Z0swOWs3VFE5bjJGS3h2Ym5ON2YyZjhOSUxML092L3VEL1FOTFFIMWoxMm84VVVDdk5lTGpGdU54bGFMY3dxZ1N4U0FoWUMyM2toMmhqYTVPeXlxRHdhSm1udEtNR0lTWnhpQkVPQXFKcUtqOWwzaHd5bmUwemEyYngrZ3YzZkVRTTRxUDFuTUl3WXB1bm5uaWVqNzMwS3p6ejlFdU1CNXVVNVpEQ0NEZHZ2YzY1eXh1OCt0bzJmL0xIZjhnOHpOTUVDcDJUQ0QxcHlXcTVibER0cER4dEVLVVliS3NOcHJRN09NTmpsNTdndVErOHlHT1huMkJuY3lmWmxXbTBzalJOVEZoaGxRYWowUkp3NGlBNFBJRkNHK293Und2b1FxTWtjSHZ2THRkZi9SR3Z2WFdEdi8zdTE0a1dublZxWHcyS0Jta0piWC9DVklBMFNSTGFFdHIzWUIrTFpzUHMwSGpIWjE3K0hOdmxGc055Zy9yQWdUZVlnU0gwaUt5b3haTGh4SVJjcXQwblVBNUxEdmIzTWFXaUdBLzR4OWUreHgvK3lSL3lkdk5XUzhzSXltT01pZEVyUXM4eDBjQndPS0NhVmpRK090aTFnYTQwbm9xQ1AvL2JQNlY1NGRjWlBqV21MSWRJdGZDcURpRjBEb1M2VXhrTFFiWFJDMktxMm5JNFFCbU5heHkrRGhUR1lteGF1amhoT0I3dy9CUFA4M2V2L3oxRE5Ob0dEdDBoblhVSG1sS1hqUFdJa1JwUVNra1pMRHBZdEN3aWJmYVZ0NktpQksxSVd5T1JDb1JPeXEzUVlqRTZFaWtYR2lvcTVreVlNcUdtaW82T1BWSzFWcmV6enV3aGpWZ1d5M2x6bmlJY1A0MkpITS9TTEpxU2RobnZjRGhxUExWMk9PTngyckZmSFhTa05yWmFTZnVINkM3V0o0VUNTTUJpS0lraDd3d2xGc1dBZ2pGanR2UVdwN1ozMk5yYVlzZHVzTldNR0lUb1dhOVNIT1BXWVVzcGRlVCtZeXJsMkRZcTNUQWIxQno2S2ZjbWg5dzdPT0NnT21EQ2hEa1ZOUTAxSGtkRGc2T1IrTjZXNnZXbkFYVk1IMTZTWkxiRXZnMCtGblZWUTBhVWxBd1pNR2JFN21DYjNZMGRkc2ZiYkpSRGRJaVo5SXdZdEVyWjlDQks0b24yLytnb1RJZ0JQUUplNnZqRXF1SFcvbTJtOVlTN2gzZTR5ejVUNXVsOUJ1cmc4ZGhsODZoMTVnYnRObG44ZWF6d0llT2hJQlBaaDQya0VsUTlZNjEyc0lxZkpNVlNmWVhiOHI2dHpWZm5xZHBmYWlzSXdUR2JUOUE0QWpXS0drbmV5ckV6cG00cFBhbW5Ja3JYYU1OeldTQndlKzkxL3ZkLzliL3d4aHZYK1UvKytYL08zclJtT3Btd3RiVVZ2YmxuOCs3ZWpWbVdsSFQzdHhSR3pHRTFCRkVNQjJORU93NFA1NVRGaUVzWHIzSm04eHkzRGw5SFl3bDRySWtEajlFR0h6eGF4YmllV3h0bitTLy9pLzhHSFVhNFNsR2FZWnh3ZlB0TTBwbitSOVd5UlFuWTBDU1RoVWhpRVUxUUFkR09vQ3VDbW5Qenpodjh0Ly9kZjgzV2FKdUQyU0VLR0pZajVyWERVQUtXc3h0bitmaEhmNFdQdnZ5clhEaDlsVUkyQ0w2STRaUXFqemV3dlhHZVVOZG9OV0lXQW41cEZselhObzUrVnhDakpYanBKb05ZRHRDcE8yOE5kbmp4MlpkNDhma1BjZTNxTlZTd2FER29GSVpLdTliclhWTW1WYitXZ0cra2s1OXBDUVFkVUkxZ1ZLSXJJYUFsY0dFODR0S0xGL25vUy9CN3YvZFArY0gxSC9QSy8vZjNmUC9WNzdJM2ZSUEhsQ2pMaW1sVmRiSWtjS0Vsa0RFdWNwZGY5ajRTSVdOaW5GN3YvVkxiVVNpOGI3Q1VQUGZFODR6c0ppWVkwSmI5d3dOT2pVOHo4M1hMQUJPQmxxVjZGVW01dVpKeG9SSVBJaWtNYytEdS9oMUdXME5DNFhqajF1djgzMy80ZnlIR1VUTkxkTlFSSk1aWFhrbzZBT0JoUHFtV25pOFFPdjFIVGNWUDZyZjQ4Mi84QmRldVBRMmlxYjJqcXVac0RyZHBNK0MyRVRtQ0lxYkpWUXBSOFh0UkZJUVFvMkZvcTZNOWRETHphTU04TlZQSHBUTlhPTVZwN3JCUDdlNUZZYXozS0ZFTUdJQVhmdVBqbitheE0xY1pNYVowQmFvR0s2YUxrQkNJRHBJT1FWUTBIREFodHQvV0J0SHIwQ1Y4ME1GaXRZMVJNbFJBU3MvZDVpNy84ay8vSldmSE83dzl1UldkYTFROCs2S09PcjRhWVMwMHlaWXpTVHNMTEplSzgveitSNy9Nc0M2N2Q5a3ZWN0c2M1FURHB0NWlPcDB5bDRyeHVRMXV6bTR5S3h1YVFjTy8vb3QvVFVsSlJSM1YrY2xtUFNpMUdKZmJ3SzZBTmJFK0xKb0JCU1VGTyt4eXNUakgxZE5YMmQzY3dZb0JEenBvaHI3QVZncnJIMHdRNEV4Z0l3aWIybkZoS0pndGpkZUJ2Y2xkM3Jqek5tL1ZiM0tYTzFSWWhnUnExVEFOazA1SllVWWFmeGhERjBiVEZVbmo1VHVIS1RRaDBQa1NLQlVkSkVOeXVHcE5KVXlLYm12U2VLVlNIVjNtRXBmc0JjNmZQY2Z1NWhZbWFFSWRLSUxHVkJybFlsc3lvbE5vdklWcEI1Q1dGWEgraW4waUlMcUl5WFMwWjdNY0l4dENPQmVvd3B5OXczM2V1bk9UVzNLVGV4eWkwTXlsSmlBWWJhaWxpV1oyclkzRENlanJQak1lTGpLUi9XVkU2OUFBTEdhRFZ2cmxpV2xsMjMwYldqVjdoeFZwb05JTkJDR0dNcDhCaGg5Zi93NS85ZFUvNGFWblAwUFpxQzYyS05BTmlpRUU5QkUydG9xK2UwZFMwYU83OHV5cDg5dysvRWxVNFJNSFhEekpwbGVCUkJxSEwxQitnSklCeWh1MEdrSlFxSkNlV3dWMG1zQlVXczByaVVIaFk2NTczUTJLV2ptQ05HaXhCQVVYemo2R3BtQTZxeGpvSVUyb3FPc2FUY0dHUHNWSFgvNVZmdjFUbitiYVkwOWgvSkQ1Sk5EVUdzUXlNRVB3SGtQQXl4d1ZGRG9VUUptVXRUVjA1R2FOdEtRZExSVllVK0JxVHdyTXhPN3dGS1dNT0t5bUtEVG5SaGY0K0VjL3dRdlB2c2lwN2JPeHhwb1kxRjhGRTh0a1U5Z1NXUzBMK1lKcEovaDJrdlloUnJUb1lxNnlLRlcwc2J5elArV3B5eS93NGxNZjR1YWRHM3pybGIvbVc5LytHbS91dlViREhFMEZ3VWRiVHFJMmV6RFMxRDRRNnZ2ck5QdHRxVTlRdE5iWUVHMlFuei83SW1kMnpsSXl3TThEQlFORzVSRFhISldaUk1lL1JYczdua0xFZGpQZUdGS0ZPVTJvK2JPLytWTzhiYmp0YmdKUTA5RFR6Y2ZpaEVmcVREd0pTU0VmcUtpNXlkdjg2ZC85S2IveXdxYzR2WFdhemQxTjNDdzZxbFhWREZGQ1VERWhRaXQ1RDBSaTV3RWtFcXpPSjEyUkp2M1l0OHJTMG9qd3pHTWY0Ryt2ZjUwQ1N4M21vQVV0MFk2OHhITHJqWnRjMjc1R0tTVkRWNktyR0hCZmh3V1JGWlZjWnRMNFlrTFVZSGdkOENwWmI3YlJGVVJqUmVPbHdCTndxbUhEajlsZ1JKZ0dESWFGR3h1ZDZRS3czQWRDaUF3cEtLd3FNR2t0Y21IekRGdnpBUnZWTUI3L2JvbXNMeGpyYmV5MFpHQnExSUZtSkp1SVRMaTdmeWVOQ1czQ2ozUm5PaHpWanFRQUtFWmlyeDR4NExLK3hPWHRLMXpjdk1pbTNtQ3NSNWhLRXlxQkptQ1VwbFFGMmhzNkcrUFc4UGtkbHNaRDRSU0ZlTHg0dEZYb2dXR2oyR1QzM0dtZUNJK3g1Kzd4NDlzLzVucDREUzJPTVVPYzhzeGRneitNYlNoSTZCeDlZYjBrK05nMm5SWldwT1ltQWJ3UG5RVFdvaWdaVUdBUm9vL0FrQUVYaHhlNHZIMlo4L29jVzJxRFlWR2lLazJvUERoUEtTYWF4M2hpV3dvOXI4UVV1U09rOGJxN1V4VVE1UWhLSXFuVmpwSUNSSkFnQkQxbWE3akpxVE83VEdhWDJKY0pQNWkreGx2Y2loSjVMNHdaSWlWVW9jYjUxTC9YYWNXeVBQWVhDcG5JUHVvNG90YnByMWhia3JMd3RvMVk2RWppZUxYaWVhNldkNDN4VngxUW8xUzBCYjErNDN0ODVZLytnQmVlK1NSbHVSR2xRbjRSUEZ4ci9TNVc5eUZKdC9xSTkzemx5bFgrOGZvL0lEUW9GRmJwWk1RUEttVzBDWmprSFYyQVJMTUNGVVpSOGlFdENRc3BQaXhSRXBvR1ErVmJULzRVU2tmRk90VlVCRFJOTldIMzNBNGJhcGVwN0dIRjRoSWxlZnpjMDN6cGMvOGUxNjQreTRWekYzR1Y1K0JnVHNHWXJjRXVwUmt4bXpZUUdwU0VhTHNyQW1JaDJTcmVGeTM3OGRFeHpsQXdvTVFUbU0xckhBWFh0cDdqMDcvNmFaNTU1Z05zYld3bjB3cU5DbEEzSGgyaVZFMkpUY1NWQlpFTnVuZXBOZ3liaCtUdExjbmVlSjBqV2xDYVM2Zk9jRzgyNGVCZ3p1bU44L3oycDMrZkR6Ly9FYjcrcmIvbWxlOThuUnVIMXduTWdZYUNnQTlRVGNONkQvRTFhTnZSa2lRMnFWK2pUWjNsNVJjK3d2WndsMUFKMWJSaE9ONWlORkQ0Sm5UUHU3NXVUNzZCb0VBYmhSZkhqMy95S3EvYytBY1U0R2pZM0JwejUrQVF1cVZhbTZVTjFrMXk3VDc5UFZReTRIRUV2bkg5RzF4NzdHazJ6Mnd4ZFZQMjd1NHhMQWVNUnFQNEhvaUI2R0syMzRDU09IU2JJTkEzbVdoTkVLSUJKN043YzZ5eHpIekQxY3VQOFZmWHYwcGhMUGhBTVNpUm1VY0RBNGJjZU9OTjNPTU53MkZCNFN6R1d3WStTZkVKZUxHSTlqamxlMFRXRW9qU1FZZFBFbVRCQkkwTkd1M2orMnFrSm1pTDB4VlA3enpOSy92Zm9XQkFUY1dKY2kwaDJoenJBZ1FLWlpOTVQ3aDAraExXRFNtYUJ5U3lvV1FnWTBKbEdJeUdIQndlTWg2TnFkeWN0OSs0bVViUWZ0dG40Y2VWQ0d6aElyZTF3SWdocHpuTmhZMExQTGI5T0JjMkw3QWhtNVMxUmMxQlJjc2JsRmVVMXFLTVlTNkJScWUyb2NLN0tvM0FNSlNVVHZDK3dkY0JHb1V0WVRBWXNGVnVjV3EweTFZeDRzekJEbTlOM3VKbXVNbWhQMEJoY2VJSTJ1REMwZnAvcDJRMmVCK2JYNmZWVzVnUkRCaWdFNW0xR01hTU9NODVMcDYrd0tuTlhiYjFOcWZDS1lyR0l2TVF0UnFOd29pbDFBVmxNSVFtZEJxQnRxUWRwNEVsR3lHbG8yWXRTV2E5TmxqeEJPOFJDOEhBUUkvWUtyY0pwV2RXTkd6TXQ3bStmNE1iOHh0TW1GRFQ0R3VoelpFbXlpM2E0ZXF6MzdkMk1uNWV5RVQybHdLdGxLQWxydTFzWm9taHEwd3lJR29IZ2hXRG45Vk91dks5VzZ5ckJsc1UrTnJoYWZqZTk3L0ZyVnMzT1g5NnN5TWNpcWpPTDhzeXJ2THZPeFl1aG9NMkc0dVM1TEVybW9zWExxTlJIZVdUM3FSbmpFTDVsSWNzZWFZcWlWN0F5bHVDYjZQUXR0ZUl4MnBaUS9ZbEVxTWdPanB3aEFLTmcyQ1pIelpzalU0eG04NW94R01ZOE5TVnAvajhaMytIRHo3OUNTd2o2b01ZRkgrb3h3enRCcUh5N00vdU1oeHNSaW1aUUd0TEhOUnE3TWtWcDRtZVpVZ3JrVlhKNGk2YVdDZ3NCUVVqdnZEU2IvSHN0WmQ0NnFtbkdBNUh1TXJoWEVoK2U0SldSU0t4Qytsck55R3MyalpMYjdJa1hYODEzVmZ2R0kyaW1UaW9CWEdCdVd2UXJ1RE14a1UrODlFdjhKSG5QOHlmL2ZWWCtNNFAvNEc3N2phZUNuQmRteWdITUp1dmFSSXJXQ1d4RU50WVFOaGtteWN1UEluTUJVc1I3ZDI4eFBpM2JwRVlZOTB6S2xrL0ZZWE9qQ2RRdVJxbkhILy96YThsQ2VvVVI4TkJ2WjhJVFp1dnZiLytPMWxWdkZpYkJLYk0yYllERHQyTTErKzh3ZFdMajZGcXpYaG54Tlp3azRQcGhFNXRTa2lCRmxUWEtWV1NkQWZsRUxWNFZ5YjE5OTBMWjJtb0VkVndabmlPQVNWMy9CMVFLVFJma29wNkhJZmM0OWF0VzF4NThnciswRE5TRmhNc0pyUXhESHdLTGk4cGNJREdlcE1rWXdGUmlXQ0VCWkcxVGV5bjJudTg5UXdLeStNWHJ2S2QvZTh1YXF3bkpUOFNielQxQTYzaTZLQkZrZ1c0NXN6MldkVGNwSVVoaTdaNkhBRmIyYTZEaVF0WnIxSEtJRTNBakRYT09XN08zb3IxU3M5SnFuMTU2V01FaHFJcDBJd1ljMlYwbVNmT1BNSDU4VVZHZm9TZEdzTGM0WjJpREJhTHBkQVdvMk0yT1NjZ3lpVXppdFJtM2tVcEFsSkRJWnBTRGFORG5STzhkelIxdkVGdEZSZTJMbkJ1NXd4dlRjN3hqemYra2V2TjZ6VE1jUVFxUEVGTEoxbHR6Y0ppTTNwblpEWjJvNEJXY2FIZXBzdTFGQmlncE9BTXA3bTZjWm5IVDE5bFo3Q05WQjYvN3duaUNFRTZlMnVqYk5Ub2V4VVRmU2hOUDhyQjhvVlY3N2VRTkd2UjNNQUkwVVpiYVp5UGpwQWt6WUhTTWJUa3dHdXViVDdKNmRGcExoOWM1UHJ0Njd6T1Q1aFRJd2dXU3lYZ1Z4THk5UFZUR2I4WXlFVDJrVWRMMUZZblQ1Titid2Y2TmlkMjY3WHZGNE55aTlVeHErVXVhWEtKQ1JNcWlrSm9HczloZFp2cnIvK0lNenVQcDhRS2dncUNjNDZ5TENQcE9IRWdqQ3BzSlcyRXdKNHRZeUtiVzF0YlBZWGp3b1pMQTBaSklyWXAvV2czVWVrNDRBZUZTaXYwK0h1U1JoN3hsdEtnTEcyQThRVTBtNk5OWnRVOXRqZE9jMnQ2Ry9CY3UzQ05MMzN4ZDNqaG1aY0owNUxnRlFNOVlEaU9hVWJuMHdxcFlXZ0hhRndNLzZWQ3ZGWlMweThVcW12UXV3ZXJERTZFZ3BMZGpWTWNUaVlZREpjMkx2SEZ6LzR1SDMvcHN4UXlvcTVyOW01TlVBS2owUWFsdFRnQzNyVTFxd2dkS1ZoSVYwUHZKcFp0ck9QN09SbzRmWmthaHFabWR6eW1LSGFvNnpuVGd3bU5yeGxzYkhEbHpDNWYvbzB0ZHJmTzh0V3YveWw3NFNhZWhrSTdmUERVcy9zTFpmc3F6elpiVDlzR0JNWFRWNTVoWjd6TDlIQkdNUjR4TEN5K0NZalRNYnA1bDIvKytLbW5qUVN3MmxSRlJYWDZqYmR2OFAyN1A2QlFscG1IZTVuMUFBQWdBRWxFUVZRNGRLR292ZStjcGFSSGlGZko3T0tVeTR1Vm5yOGdjMXVCVTN6ckI2L3czSlBQcytGR2JCZmJITXdQMFRhR1VZb2E1VmhLaU9tcmpVU0paNXZZd3l1Sjk2eUVHT05Wc1Q4N1lGYlBHR3dQQ2RweGR1YzBkL2JmVHViSmdpaUhFOE9FT1VPRy9Qak42N3o0NUFjSkNOb2FRaFBYTUZwVTBsaUVkSTNGNGt5amt5UnUwWDVNMFBFalFoRk1UQmJpQTFvTHU5czd4Q1hwZlRRUzdVSXVnSExSdWE4Tm9MVE5GdU5paUsrZ3NxbXUzNlZFVmdEVHpBazJ2a3VuR2hyajJKL3NNMkdLSklvZitpKzJSMlF0bGhGRHpyREw1ZkVWSGp0emxYT2JGeGpKQ0tiZ3BnMWJaaXZhb0tLeFNzZUVGQ0k0NzZrYVJ5aDFGK2Y2aVBuT2ZVcWxvQW96UkZtc3NaZ1VzczFqS2JCNFZUQUlsbnBTMDFTQk0rWVV3NHN2Y2VuZ1BOZjNybk9ERzB4RFRPNmh0Y1lZczZUOU1NWjA1bUxIUWJVV0xHblIyMFlnc01rTnNLVGdNWFdWWnk4OXpmbnhlWXJLb080R3JDOHBWVUZoaHY4L2UrLzFaZGx4blhuK2RrUWNjMDNheWlxVWdUY0VhRVFaeWxDR1VzK1M1a0VhdGJybkg1eDVuS2VlTlRQZHM4UWxzeVJLYW8xYUZDVVJZbE5rZ3lCY29RcGxzakt2ditlY01QTVFjYzQ5Tnl0UkJhSkVnTURLdlZiV3picDV6YkVSWDN6NzI5L3VGc210ZWpZNEh6dkFPVXVaNWQyeDkyd0kyTTRidkwvSVBac1JFVkE2U3pyZGVOMFFRcW92QUhFQjNUZ3VEUTdaSFk4Wk1DQi9VSEFyM0diS1BKWEkxZkc2VDNOREVQRGhjVXZWaS9pazR3TElmcFpEQXR1V1JtblM3bGF3UGUvUWpwRk5LOXl6SFgyQWgxZTgwVlBXV3R0TnVuVmpNWWJZY2NoVzNMNzlQbC85NHJhK3ludmZyZVlmcDVDVnRsaXQxYnNHY0pJQVRsQVVSYkgxZXVjc1dzVnNvL2MyTmg3d3NhRkRDREZOMmc2TUVTd0kyNXJoZHNCVGdFWGFscXJkWXNBZ2lZV1JFRnZNVnBXaDBFT0VuQ3ZGSWIvOW03L0gxMzd1MTVpZHJOa2ZIN0NjVkZUTEZiNTJxVmpCVXBvaE96c2pab3RWL0h4cExjUXM3ZUlqc0hFaDNKb3NlOGZmMW83Y0RCQUwwOFdNakl3dlhIMk5iM3o5dC9uU1N6L1BmTEptWnpCa1VPNlNtU0hyOVpxbWRqZ2xxU2hvazlTTzJNbHZKWEtsNTZWNkhoQjRIQ016R3VUWXBtSzFYS0sxWm5jd0JzWXNxd1VuSDh6Wk83ckVyLy9pYjNONGVNVGYvdU8zZU92NGg2bE5iNysvMTRmSFdWMXNIOWdhTkY5NTllY29WRUZGZy9hR0xOTlVLNHZ5NEx4L3FPRHdvNFFLYWFLVWVCMy84STBmRUxDc1Ftd21ZTDJEa25oQTEyd2g4ZlpYNmM1c3I3NjVMOTFwZnkrZ2x1aG1jSys1eDd4YXNMdTdoeExEYkRFaHk3SW9RQkRiNjJnVTcyRWRJSFB4T0RiYTB1aVdQNVNraDg1UUprT0NJU3NNeW11ZWZ2WVpmdlF2UDZBb05HdnJ3SURUSHIrMmFCenZ6MjV6OS9RK1YvTExOQVMwUkZiTVNRVHNUbnpTdzU1Lzd2cFhpd1F3UVNIT0lqNmdmUVM3ZVdFWVVEQm45ZWdUa1NRMWdvQjNtQTRrS2E3dlhrNXM5TWVIRkVFOHRhcEErV2doVjNnV2JzNmR5UjBzRmExbmErakpNOXNWYU1zMEhuS1pWL0tYZWU3S2MremtPOGdjN05wVHVJS2hIbFBvUE9venZhWHhUV2ZyRnBJZVFlSFpkTnppSjNwVWdCb0VRckJSSnVCSmkzZU4xcG84Ukg5YXQ3YlUzbE9VT2VQeGtQMjlNWU1xSjZ6Z2xMZUJabXZNYmtPcHh4OWJwVlRuTDkxNnRBcDVraGJrZlBud2kxd3VMbkdRSFZEV0JyUFNtRm9veURFNnh3ZG94T0p0d0FZWHMwNFNrRXpRV1ViamZkZndvaTF3UEc5cHJUcjVRWG91TFM0YmE2TmJpUktDS0pTU2pwVEpNZGhGUmVZVTJXREE5ZUUxeXJKa1p6SG1SNmR2Y3BmN3FKU0o2SStaTFppRmo1Qnd2SWhQSkM2QTdHYzllbW5RQ05yNkUzZGZIOXRuWTJXVDMreGV4K1p2dlFnK0FqNENLQjF2WU92YURKZGx1VngwTEpsekRxMU5wMkYwemoyK2hXMGEyQ01KMnc3cW0yaUJTTFF1cnlLTFlnUlhCNXdQS05WWEcvYXNuZkRSb2tWUzRyZkh1RzJLcWp4UnVPYmpjWk5OMFp1UUNnWjhURmtabFRGZ3lOZC85YmY0OHF1L2dBNGw2OFdjdGFzSXRjT0lvVkNHWVZsRS9kV3k1dTZkOXhuc2pGRTBhZDhzUVZtQ2NvbEovaWpEb01LSXhoRk55RjU1NmhYK3d4LzhSMTY0OFFJUDdpMDVPSGlhK2F6bVpEckRHRU5abG1RNnd6bEhZMjEzL000dG9rbU0rRVpmMlFleWllWHlINzRVMFFFbWs3dVVPaU16T2NGQk5iVUVnYndvR2UvdGNPL2VIZmF2SFBFTFgvcGxsQkg0ZTg5YngyL2dhQ2hFc1F4VmYrc2VHKzAyS3FYWUtYYTVmdTBHVGVVcDh4RzJzdVM1UVh4STFmeTlQWDNjaWlyRjJhWWJrL21FTjIrL1FlUVpIYjd0VG1XQWhzMEs0YUh0SkIzck03S1JzNC9lRTJTTmx4SWRNdTdjdjhPVjhXVW15MU8wVnBHUkplQ1VScldwOTk2aUx4WStDVjRMem9CWEFVVHdRVkJlRVZ3Z013V244eGxUTiszWTQ3cUtJRGJlOGcxQkt5cG5tRERqemR0dmMvVkwxMW5PMXBRNjc5alhnTWVwZ0UxZ05uZ3dQYXV5Rm1oSWtHNGhnS1MwYnZBZ3FlVXpscU5MaDl3N1B1R1I1NzVONGF2SStJNTBHYjExZ2FldjNrQTNrRHRQWWMrN2ZzODdKdy8vdmRHV2tBY1dma1lZQkNhckUyN04zc1VtKzZia1RwYk9WWHlQQmdySjJRazd2RHA4amVmSEwzREpIQ0pyV004cmRDTmtwcVJRSmRXeUFwOGdzVmdjRHRFUkNTc051aFpNK0hpMTcwNTVwRFRVb1k0MXUwMUFTOVREZTJ1NjBvZlNaT1RhMERRTmJtSXBkTTcxd1RYMFRzNzk2WXgxYzdzYnY5dmlTdUFqMVRpNFhvdFoweWxMWVljeFQrOWQ1OFZuWGtUUGdKbkhONDZTSVNOZG9DdWhxaTJWYWFoVUxOd1ZBcGFBRVVIckNNWXJHd3VUZ3pRZEk5dG1CQUIwTzVTbmJuZWRhQ3hSdDAzVElPaVV6WWp6WXhBQlVXUWU5ck5kZk9OWWg0cDhZRGdjN2VNeno5UXVPSjNQYUhBSXJyY3dUZkVSOVAwWDhjbkZCWkQ5RE1kNXZlRWZIZWRNcWgzUTNYcXlDNWNLQWJRV1RDYlVWVXd0ZGh4Q0NKMCsxam1IeXZMT3pzVjdIMGZyRC9uMDFrZzlSckw1Q1FvVk5ENnhBVHFoVUdQaTZocGFwcUJOTDUvSEd2UlppeDZWa2laZEZUNHN1Yjh0MFpCQWJJR29jZ2JGRGk5ZCt5Sy8vcXUvdzk3NGlNbURCYnVqUStxVlpUd1lvcFN3WGkwNFhVd29URWxXWkhIb0UwKzBkZHA4ZjhzcXRQNnhEMDNsUGNsSG9RcHNFNlVGdi9UU3IvQWJ2L0xiWERsNG1tb3A1R29VaThtQ1pqemFvY3l6YUxXMldpRWlESWNsVmRXYy9YUzJyb05XWHlnMmJsRnJVWVZMZWJ6Mi9LbHozdThaRHdieENJZG9LcTlOWXZ3ZFZGWERhTERMeWIxVHpJN2lLMS80QmJUVzFIL2grR0J4RTRJbnc4YmEvNzUxVmRvRTZmaVFlT3c4U2N1SFlxaDJPQmdjTWpCRFZwT0tuZUVPMDJxS2tiZy9SWm5IQmh0cFcxdjlkYXIzN3hpYkQydnVGY1RqbE9QZXlWM21MSEJZeXJ4Z1ZhK1FEQjZMdng4Rm5QdUx5UFM3cU1EYXpmbnpmL2tUdnYrdi81MnBQZVdBZmRZczA4dmFLM1lqRlltc1lHUi9vMTlvWkJEalZXOWlzUXJDaUJGVFRzblJXTFdPWUVwQUZlRGJRNVFwbkxOWUd0Ni9meE16VXN4TzU1aVcwZlpSMXgydjNaN0VRQ1hkYm50dnBldENFUzhmUzJ4TFloVUVFVVFNeGhWY0hWL243ZVBickpsdERtUkltdmFOc3FpbDJ3aHBjVks3Nkhad2RmOGFabVdpdktKM0tQdVA1eDcyL29KV1lwR2E2SUN6RFpreExPeUNCNXhTMGVEd1VhRGxldnlBZ0FvRnUySEVaZlo1NmVnbER0dytNaGQ4NHhpRWtyd3MwRjVSVlJYZWU3UVdzc3dRbE1iNk92YWM4alUwaXR4bDZORExUVWc2dzNKbVhPaU5YZjBkcXFvcUtUQTBlVkYwTGhQQnhrWXpJVVR0dVBjZVhFQXBRV3REYVFiNHpQRHkrRVhzeEhQc1RyREVCaHhlTmVCN1BybnAzTFNubzkyK21GbUlHNVFwUStGeUZGQlM4c3pnQmwrOC9CcHlFaGk2QVNOVFVvUU1xVUpzSGUwTVlvU2dQRmt1R0pOSHB4b2JpNGF0ZGRUV0lWclNGZFVkbmlnRjZuVFpaKzdoc1AzNnJDaTZjY01UQ040bFRiU0FWeFRLWUVOZ1ZVRVRIRUdFM2VFK0wrNDl4ekFyK2VlVDc2S0JGWUlOelNhYkVqWno0QVdlL2ZUakFzaCsycEZLakNYcFN5VnNmaWVFN1Y3Z2lWWU15ZWZFRXhEeDNlQWZyWlU4SXB1aDNZZTRvaVEwWFRwWFNSL0dLVFpnWmFORjdYUlllRWFqQWM0NTF1czYzcnpwejZOc243M2RRNnJsaXYzOWZVNVBUL0hXTVJvTVdjem1GRm5lK1FzQ1hXRktPNU1FQ1Vob0VCRXlQYUJxaE9XaXdlUUtNOGhaVmlmTUZ4T2dZbTBYR0FQV2dndUsyQnBCWXowb011cktJV1RSSUY0UFdTK1dGTm1RMExJS1lyY1lHVW02UHRoSUYwSm9KUTN0MEJRbmJQRVo0K0lTLy9HUGZnK3h3dW54bk4zZGZXYW5FNHBzeU5yVjBhcEtDK2ljdFhkeHdNMmlqMnp3bnVBRHdTdUNCeDhVRG8wakxoQmFpYVhXNEJLVzFJazlMOElBQzd4dytDcS8rU3UveHdzM3ZnQXV4N25VQjhjWmpBREJVcTJXSUpaTXhROTA2d1hhYTBRMG1pd3VPSUxGdXRSZU9HakdnME9zOWRpd0JHbndZWVd6TlVGQXF6eGFrRGxCeUNLN0d4eldyV2o3MUc5c1lPT2s1RnU5TWk3NlM0cG5aMmVIWmIwZ2FNMVhYL3dGbXFubEwvL3FMN2pQQnhTQVo0RVZ2elVhR1c4SVZ0S2twYU12WkNyU1VtUUVhL2phRjc2T3E0VThLNmpybXFJb3NNRVNsRENmbno0RUpsdlhDdWxWYVV0YWhHVW1XcHZacElHMTBrRGgrWWZ2Znh0TjdBNjBxS3NvdlU1ZGhjVVFyWmMvemt6V3ZzZkhDOCtIQkhCb2VOdStnYUNZY055OS9PSGxUdHNkS2Y0MTBCWW1iZjdlT2lxYzBLNE5iTFF4dytNY3NHaGZwcUlsRkJwUHc5MzErL3pneDkvanBjc3ZvOWFoYTZ5bnBBWEhsaENrUzcwclFpenc2dXp0NHY4ZElMbWlhVHcyQkpUSzhKVmpmM1NWVjNkelh1ZGZXVENqYnNldlZDQUUwZVdnWFdQYkJPSVcxWktTa3B3aEI4VlZtc2thRnhTTnVJUXRXcEFmT25CelZpWVR0ZENKY1VUaFJFUGp1R1RHUEhod24rUEpNUlVPdFZ0U3paZnNwc3Z5cEFXeitaQm1aYmpCRWYvemM5OWdVSlVvRno5WElZZ0M2OVp4ak5TQVJDbFBZOXVURFVxaWk2cnhnbDhwY2xXU0Z4cEVzTjdTVU1menJVUFhhS05wcXRnQjBTUzVsZk5VNjVyU0RJbmxiMEIwU1V6RGE0ampnMngwNWxwaUg3WlF4VVhGeUkzNVV2WmxMdTAveGQvYyt6dG1MSmcxQzlndlliMk16UTdYUkwyMWE1dkZldHEyM1NoZ0NDd2hXSTlCR0RQbTU0b3Y4K1ZyWDBJbW5qSmtuVjQ2b2ovQkZRSHZIVUU1Uk1mbUthRnlTTWhSWHFORDBTMlduSFdZUERxb05GV05XS0syTmtTM0JadDVyRVJOdGlTTHRnQ29USkJNc1hicjVDMGI3d2xEWkcrMTF4Z1BkWmpGTWI1VVpLYWtjWkRQUGRlNXp1WGhBZGxNZU4xK0g4Y0N5WE1hdjRBQWhRSnZMNHErZmxiaUFzaCt4a08ySkFMbi9MRXJSUEc5bi9QaUxJaU4veStLak1WaWhRTDJkOFpNWi9OVWFKV3hhaHF1WFhtS1BNKzcxWCsvTTAwL1ZIaDR2cGRBbENBMERna2VRMGxSR0hTbUVMVkdhODE2dmR5YXhPTzhId2hkOFpvbktuRmJMdWljZ3lIOWZlcy9ubVZ6KzMrUGtnVkJVMmpEODgrOXpLallTd0RObzRKQzYyenpUdG1ZQ0luYXBMd0lMY201cmVIYTdNOG1IK1o5QzJLRmpBeVB4Z2JQY3dldjhJM2YrRjJlZi9wVk1obFNyUU9HQW1OeTZ0cDJleDJabWNpTXRvVTRRcXordGE2T2pKZ0tLQkYwcGlGa1RDWXpnaGRVWHBNWGdTelRhS05CQ1VhWDJFb2hKcWRlT1JiTEpVV21HWTJIQkYreFdFNHBUTDQ1TDZRVU01dEdwVnBCOEo0TVF6VmI0U3ZGRjEvNE1zdkptai83N2pkeDFPem1Penl3RDdaUzl0R0RPTlkraHpaSG10TG1FZ3dsSXc1SGx6dHQzTm1qK2pDSTdaL2ZjN0laUGUyQkp4citWMDNGZERWaHhSeWZUTitVSklGY2lDVDJSN1RiakhIZWE3dm5Jc0MwcVUzcUp4S0JDRkpRWGVxZjRGbXo1TjdrRGk5Y2VaNTFFeWg5U2FaS0pQUUs3VFFvcGFQSGJjcUx0SXhuU3RVQTBPQndCb0tYK0NxWFlacWNvUjl6d0FHbjNLZVdKdDNCS2dIdUVGMEUrcDJ6Qkh4cWJYekVFVkpyTXFMdDFrYjZzTm10OXZ5M3o3WDNYWnNOYWMrL0M3RVRXckJyZkhDY1RFNnhRRlV0SS92YWZsUUFNT0FOUTlubGhyN0d2aDBRbkVUSGxPNDE4VTVvbi9MeThIZ3JpVFVNR0lZN3NZM3kybHFzYjNDUzdtZmpFWVQxYWsyV2FaVFJaRHBtdWh5Q0RRR0hTcklMMWUyb2E1dm45TDQzSklsTHB5K1Z1T0RVSGc3c1ByYnhQTWN6dk1GYlZNcFRyeWFiV3VGZTVrNm5SK2xheXdCVjNPOTJ6SHFCNTdreHVFWXhWWXpaZ2RvbDJWZ3FSR3hQaGs3YVYvRkU0ME9OOGlRN3dBMVI0VVBNOUxYN2sybERxVEswalgzMVJBU3RJZE1aQ2szd2d2TU56c1hGb1d3U2dpa0xvK09pSTZTTW9EUnBrUnhibEd0dlVBRXlyM0FPbmgwOXplbGt3cHkzV2RhcmxDTDBXTHRWTm4wUm4zSmNBTm5QZkp3cDVPcmlVYUMxSCsyMDZiY2UrOU42RzlQa213bWdsTUU1eFRQUFBFZWV0MmxjT28zVlJ6WFVWcEpSdVRoNEY1bkNtS2lVOHNFaElrd21rNGZlRTNyZXNEL3RDRWs2OFlVdmZBRmpES0kwVlJYWkVTMXFNeUhLQmtxSEJDc2xSSDF0SEt4ZEdwNTlwN21DQ1BKYUZCcUJxS0RFRUlJZ0NVaC85U3Mvejg5LzVhc01zaUhycVkxc1dyQ2MxUk52ZVFxbkNwVzJLOVpHQmdLb2dDaHd2cUVZamFLVmxYSjRZN0ZoUmQyc2NUYWcxSkpRRzRhREE4clJBSk1wZkZOVFZSV0U2Q25jNGI4enA3dE51NGtJcS9XS1BNL1FTbEhYRFpldkhQTFZMMytGdDkvL0VmLzkvaitSYVIwdncwQmtnZW8ra0Qzckx4empvTnpuOFBEd1k1M1RmclRYYVZ2c1FnZDRQSlA1aEtrOXhTVlZ0Wkp0UWV4SGxOMytiRWNBUWtEbk9iNnl0T1daNzkrNlJmWDhtaXlVcVl0WFBEWnhFUm02Rk8rNUg5bEw5enJuRUswMmJWZUp4enJMTWc3TkllL1lWaHJRZ3J1MGtBQXdDV0FuMWp2aTJjRFRWNTdHTnhhakRWdTJHeDhqbFBkb2lRVjNwK3NGOTdoUExvYXFpWnVVQkRkMFdvbGFjWGw0eUxYeFV4Z3gyQ2Rvejkwb3p3TzF4Q1VqZjRYSGFNaTBvQ1c2c29pS1dSc1h3TnJvZG9BSXloUjRFMWhoQ2RKODZMbG8wKy9kL3pyZGRoeTdTaW5ZTVFPZTIzdWFkeWZ2TVNLanJqWGtkb3ZUaUNacktaMlBqeDNaMHVvMXc1Q1RNMmJFaTllZjUxQWZVcDgwNklFK1V5WjFUclJ6VjFkUnQ4a21odFNkeTRxUHE4WU1PaUdzZUZiVVdHMUJDUmtXOFRyV1pNaEc1OXZhS3JhM3JiU0xEYkhSYXhhU2JWeVN0UUhLeDBZZmlPTFN6Z0hQbVdmNTRIakNuQnJyZE1kU2JQS1dGL0ZweDRXTHhPY3l6dDVlNTl4dW9UY1J5NmFTL214VWxlUGdZSSsyWUd4djV3RFFOTTd6bTcvOERmYjM5K00zcE1rSjJHSm5IeFVCaFZJR01IRWxqV0NkbzJtYTVKVGd1WGQ4djkzY2p2M3FWNjcvdENPRVFOTTBYTGx5aGJxdXUrZXR0WWxCbGZTajB1U3VOcE84Qk5xT1loS1NCQVNQOWo3VitQbzI1d3ZwNVNhQjJKQ085MWRmL2lWZWVmazFqQzZabmt4cG1pWldzcWZ0aW0vY1ZtcjFKelZyTFVvSldhN1JXYXI4cGNINm10cXZrS0toTVF2V1ljcmNuckJtZ1pTZTBhV1N3NmYyS1hkemFyOWlYUzlRSnFCempiV1I4U2pMOHBISFRoSFBsYmR4TWh1UHh4Ulp6dVIwaGpFNTMvaU5iM0NvTHpGYnpUZVViczFXYThndHF6UzF1WjcyZDNjWmxvTi9JekNwdGdwZFFscEVuWnljMENTVlp6ZXhka0tLejFINGdPNVZvSGs4dCt2YkhFOGVvRE9GTW9JVlIrTWFiUERiR3ZqSFJIdGNvYmRvc0k1Y0d5NWZPb3BMT3djaExkczZnVUE3ZnFSRm5vYkUwU211SGwySmFlYndjZW9FTmlGNGNpVjQzMkR6d0szSkhTelJkcXhqT0ltWFpGejVHU1JvcnBZSEhPMWNTbXoyRTRRNFpzMHBhN1hBanl4K3o3TWUxanpJcG53Z3g3enI3bkl2WDNCWHp6alJLMWFaeGVjYVJNZEMxdVNuSjlnNGh2ZC9FbGhEMnNWei9OSEJweUpCSDV1VU5ZNnhIbkJwdU1kVmpqQmUwRUdEM1FqNVk1WW9wTThJSFVsT0FIR1FPOE9JRVRkR3o3QS8zQ2NqdHNSdTFnM1JiUURPdjJOYThKb0FiRzlSMEhibXNsSmpUVVZUTk5SRnd6S3ZtR1lyWm9PYTlZNmxHbHZxa1dXWnIxaWFKU3RWWWJYRjY1Q1lkNFh1eHVoVStKdGtTbDdGWElLVFRiWk1SVVZIekRwNmhiSEMwYzRSVDQwdVV4QTdDYXBVVnlBWDZPbG5KaTRZMmM5OEpPN3J3MUtzRCtVemU4enQyVXg3ZjZ3Sm0xY3ZwMnRBVTVnQmczeVBLUlhEYk16di9lNGZvSlRCTmhZUjZieGtXNEQxT0NBTDRKMUUwMzZkRXdGRlRjQkYyeCtsdUh2M0xySU5aM0MrUlgvYnhWay9qUkNSMkk1V0tkYnJOWGxoenV5WFNwbXl6Z3VoQTl4dENxdVRISVJBMndpMzVSNGNDbEUrYWkxUmlKaTB5TkRzcUgxKzYrdS93OVhMVDlOVWxycTJqTW9SdVNsb25JdVR4RmxULzg0a1BENDJUWU9JUm5TVUYzZ2FKQU8wQSsrWnUvdFk0MUNGeFpoWW1MT3FLbWF6S1JJZWNPWGdCa0VGbHJNNWk4V2NJczhaRHdZb0NVbG4rK2pqNzV4ak1CaGdtNFpHZXdhREFROGVITk0wRFM4Ky96Sy8rb3UveG4vNWh3K2lEbGE3YUxWYlFGaURFbzFMUlJxYi9ZdXM5ZTU0TDhvS25vQVJTMmNKa2VoUDNDN0VYQUpUeHlmM2V6S0p4QmoyRHZmR2V1Z3pIRW1ZYlYwMGdZOEFOYXBmYjk2OXlUT3ZQa09vd1RZVzd5TW9OY2JnQ0RqZmJCVno5cU5sQWR1TUJ0QUJacDlzMFE3M0w2SHZ0TTBXa2d3R2FIdStocFpKQ3lSL1VzMklJWHZEWFpoNjFJZlRrQjhwVkFCdFlPRXIxcnJoM2VZREhGR1AybUt2V2tlclA0SkcwRnhpaDZmTUFTTVo0U3FYVktNZjkvczkrN2tpNUo3YU5KeTZPYmVYRDdpN09tWHFGalI0Y2xNd2tKSUR2YzlUeFNGSFpvOWhBNlpTVUZteVFXSVRILzcwWGllczg3NDduaURYT0xJOG8zU0twM2V1Y1hQMkhnV0d5cmtvQndpeHZYYXZ4Z25WM3BFaHRqQTJHSzZYMTNuaDhuT3dGbnp0MlNsM3NQTXExa21jbVFhMkM3UmFFSGttbTVpS0xVUG1zYWFtMXBZNk5LeHNuUnJ2eElXNWs0WmNHM0pWWUl4SnJLcUJ5dUVxUzVtVmlFK3lpT1RRRW1VT0xqR3lxc3RDdENPbkRtQWNlQ1ZVUzh2dWFNUzEzU3ZjWHR6am1Qc3NmWnpmdERKUktIc1JuM3BjQU5uUGRDUlp3WGw0OGR4QnZrM2pmSWdsVmpqbnRRaU5VMEJHWlJWM2prL1pIMTdqRC8rWFArTDYxUmR3Rmx5eWVkSmE0NXBZVU5LM2NmbndVRFF1b0NSSDY4Z3lpZ3JvekNDbVlsa3RPRDYrMTczYXkyYUNGSWxGYjFIMTlOTUxyVFZLeFFya05pVFp3d1FINGxWeVFVZ0RmYXI2UHgvQ1M4Zld4b21oSGJ6YlI0MTRRMERJS0huMTVhOXc3Y3F6WktvZ2VNMmdpRHF3dXE0SlhqRGFQR1NSMDFVVnA4aXlETkVxVmUwNk1BRlZDTTQ3MXMyTU45OS9pM2R2dmMwYlAvb0I3MC9mU2NPNmNHMy9PazhkUGMyTnk4L3gyaXRmNWNibDUxaE5LK3JGbXNZYk1xMVpyMnVNZVJTUTlJVGdHQTUzT1QwOVlYcTY0TktsQTBhak1iUEpsSHBWODZWWHZzS2YvOE9mVXJPbXNsRVRHVHU3SlF1M0Zqa3FvQTVJNnV0MHNMUFB4M1F0Mm9xMkFNaDZqK2hXMCtnUkZUZzlQU1dXMUVWVllQOXliaHNLZktZakxiUjhBTjllUndxY3R6Z3kzcnQ5azU5L2FRbEJZVlNXbkFxaVRFRGF5Zjh4aDBCRTBHMnFOd1MwcUdpaGxjRk9PYVpreEpKNGIza0VVUUxCdFhSK0IyUVZzU0gxa1lxc29RbEM4SnRXdlI4dlBGb0VyeHJ1cms0NFpnb29MQTFHd0hwdzdURG9GVGtabDlVZVIzcU1yblY4d1NPdi84ZUVlRXdoek55TXU1TVQzcG5kNHUxd2ozdk1pTjRTQVcwekJHRk13ZVg1QVU5emhSdm1DbGZMSXc0UGR2SHJCZ2w2NDMxOEJyejJOZVRTUFVlN1U0UlFFNnhESzhYbHZVUEdzMkZ5djdDeE1RR3VrMHh0amxyOHlZQ0NuQ0VEcm8rdWNsUWVFZTVieEdvR1pjbGE5WFc2Y1VHNDFWRTJDS0dGSUtGVm5KTGF5MXFjcXRGRFllWXFqcXRqSHF3bm5NeW1UTU15RnNvUy9UcDJ6SUQ5OG9EZGJKZWo4b2pEOGhKWnlQQlZTS3k5Nm1wSlF0dSt0bXNLazRvaVV4dG1IZVc3NktBaUFQWUtZek9lR2x6aDJmMFQ2dE0xZGVyODFialArQ0wyY3hRWFFQWXpINjMrNTNFRGF1dE8wQlpKWmFUeURLQ1BoWk1HdGdPeUdrVk9vUVpVM3JFL3VNUy8vOFAvbFcvODF1L2diSTRTMHpHTzN2dmtKYXU3TGpHUDVtUVRjNmlpRWJmM0RVcEJsZ3Z6OVlKYnQyNXl1bnpRVFpwOU5rdzBCUHZKQUlrc3kxaXYxNVJsaVVpMHRkRmFZMFNqZkdJK2xPOVh1bXkwbGx0Z3RWV09SdjRwY2xDYjV6UWFJeGxORUs3czNPQlhmdkhyYUNtb2xvNUNsMlRHVUswczRzSG9rcnBaSTBhalBxVFZLb0RKTTBCaGZZTVlRWldLdFYxdzg5YWJ2UEhlRy96SnQ3K1pkR3d4SFptOE1Iam45QzNlTzMyZjEzLzBYZTZmM09jM2Z2bmZjZjNTRFpRVUxPY0xUTWd3cHIyRyt0Ky9uUVhJbEtaWlYyUmFFN1NoWHRXWVBHTm51TU55dW1SM3RNdHZmdlczK0pQWC81aktyU0VEdjQ3WFpheXdCMmxiK29hWWVNNHdITzVmU3Nmd3lhSk5UZmNONFZOVFVpYnpDUzQyL2t5d2d2WnlSUUtjMDZMK014YythUzRoZ3M3R1Y2bm95blBIMytIT3lSMnVsTENYSGFLQ1JteUk1MFZDZC9RZmRRN2E0czhPeUdvTlRRRG5LYktNby9LUWRWMng5aXVhOXRycFc3R0pFTGxRZzhKdzVmQUl0N2FNMUFCcCt2cW9qeEVTQ0w1RzUvRFdyWnVwK1hCaTIwSzBDVVlBazBGbE1CUThQYmpDSmIySFdndEs4dFN5OStOOXZSTlk2NFk3cXdrL25yN0xPOXhpeG9xR2hocExNR0JEYk1NZHlHaFljY29KZCt4ZFhsV3Z3TzZBeklPeGVUZUtuRDBiL1hiY25SUkRFZ01xRmwzQ3ZKNmlkelBLck9SQUh6RnhTelFLRzJMWFJKOUdzWjRzTnJHcWhvS0M1M2lPby93U3BsTG9VR0tjeGk0ZFdWYmd2ZTIyYktQaDc0K0pQckd4TFlpbHM3Nnoyckd3YzI3TmJ2SE85Q2JINFNRZG41WXFDQWcxOXl3VTh6dnNzY09ONGdiK01IQ2tMNUhsc2RPaWVMVlpjTFVhWVhHcFFOZWtBak42SURiSktZSWlreHk3Z3QyZEVkZEhWN2s3dmMvTVQ2alFxZmh3YytRdjR0T0xDeUQ3dVFyVm8wajg5dlBkWUJHZEp6Zml6TDdBUHIyMmw1cldGRGdDM2cvNHphLzlPbi93KzMvRXRXdlBVSzFyTWpPS2xlMU4wK25sdlBjWVl6REdzRjZ2Tno2VUg3YkZFdFZYSVFpTnEwRUhESjdaL0lTYjc3K0RTOXF1V0RqRXcwcUpuM0swd0h5NVhESWFqUWpCUlI5RVl4QXY2TDVRb0dNLzNGWXJReTg5d0JWVW9pVmllYjZTalR3Z2NxRVpBaHpzWCtFTEwzOEozZVNzVmxYOG0xTGdQRmxlVU9RNTAra1VZelJlNHVDN2ljMzJPQmZ3MU5oZ0lZdjYyT1BKWGY3cGU5L2g3LzdIMzZEd05MVE9FSnZSUGlib0RCVXIvdllIZjgzOU8vZjUvZC85OTd6eTdHdjQydEdzSEh1alBWYkwrU09QbjlhYTZYVEt6dTZZOFhqTXlja0owalFNaDBNYVcyRlhqcS85L0sveVo2Ly9LUklVNVRCbk5ZdU9GZDRsMEs4MjZWc0JDaWtZRDNmSVZQWnZOb2QweFY3RWlSUVZXTmRyZkJJYXROWk9TcVhxZWcrQmpWdkVaemNVV2tXRzN1U2FwcklZQWxvWnJMZmNtOXhqWk1ic0R3NHdaRFF1cG5hVkJwTmFvajRxK2tCV0F6cmRDK0tpdkdCdmRNQ0puMURWRloyMVU4K3BRSUltTnByV2xPVHNEL2J4bGNNVW1sQS83RTd4azRYSGhncUt3UHZMMnppRU9ybFRDR3c2WlNzTlFjZE9Yc1dZUFJtZ0xHaXliZG5MVC9ydEF1U0dsVFFKb05ua0J0eWdzc2hLNGlFWXdhdVlpYkd1b1dKRldBcHVFbmpadkloMnNXaHB5endoUlp1eVY4RjNkbm1kNzY4NHpGQ1lUeGNNQi9zNFBIdTcrL2lUZDlCa1dQNGxNQndBQUNBQVNVUkJWR3ozV1IxWlFTOHJocWFrNUxuOVo5blZPL2k1Wjlmc0VDclBZakZuZDNjWEY3WUI4Q1o2a29LZVJDaWtaaHRXV3hyVGNQUDBGbS9PMytJV2QxalQwQkJRUkU5ZWtRRGV4NWEvekdtb3NKVmpNQjlRakF0MjFBNG02cWpRSWRaa3RQc1JPK1ZGUXFFOWJqRlQxZ2ZiaWx3S21zV0tvaXc0VUx1TUdUSmdpS0JaTU9mQ3MrQm5JeTZBN0tjY29oVEJoODdDeXZ1R0xDdHBxbjZYbFZSc0VzdUdrL1ZzT3l4c1ZyZmJuV3RTQWtqQVdjOTB1dUNycjMyTk4zLzhmUVpEUXpsVUxCWUxpbndVaXkzUzZKUXBqVEVaZVY2aVZjWlh2dlJWcmw5N2x1ZWZlNFdEZzh2b1lHaFdEdVV6SUtleXpWWXhoOVlhNzMybks5MXNFMmUyajdoUFFSRFJ1R0FweTRMSjRoNkRjY2xvblBPMy85KzNhRmxDWUx0VGszTzBqSEVnYkp3U3d1YjN5UEsyVmpUbjZZVzMwOFBiMnhkL3IrdUtzaXdaajhkcElxa1pEQWJkQk8xOXdPZ01aYUkzNjhyR25xVmxVVkRtQll2Sm5FR1JzNjdXREhiR3pPc0g5SFhLUGswd0lPUlNVQWRMem9nLy9QMy93SEpXVWFMSjFJRGd3RmxIbHVYZ0E5VjZTVjVFc0JGWmpUaERuVTEzVzJ0QkJXeG95SXdnR2Z6cHQ3N0pPemZmd0ZGaHFYQ0pDNk4zaElUWWlDQm5nS1BpelpNZjh0Lys2WkNqdzZmWTNUbEFpK1YwTmlVM20zMkoxZXdwSFp6WUYyY0R3OEVBMXpnVzlZTGM1SVRncWRjTm1TcHA3SXFEdlV0ODhia3Y4ZnJOZjJJMVhZS0piTHNteVRwY3RmRzY4Vkdlc1RNWXh3NVNqdVFPOGRDcDNUNi9aNjYvOW1rUnNOWlRsaVdMeFFKbDRtUm5ROE5wZlVMYjlMVmxZNzFMNXd6NFBMQXhRdXJnSk5BMHNSVzFDNTY1bjFFdzRCL2YvVWUrOHZMUHNWak1HYWtkdElsU21xcXFHQlFsM2pZZDRJdU9CbDI1VnZ4OHJWaXVWOUhpS2dSczNVU3BnZk1vSjd6eTlFdDgvN3ZmVHg2MkFSY2NaQWx4YWFEMmFESTBVWEp6N2VncWFob1ltSnpUOVlTaU5LbDE3M25qQzUwZVY2ZXhLSTZ4NlJvMVVZLzkvc2t0N25QS2dpcU9XZDVUYW8xMURtZE1OSGRPeXRDOXdRNWg3VkMrUktPcGZMMEJrSS9wTEhaZXVMWERyZU5pU1ZLT0lUcDFOSEViQjBBVGFQeWN4Z0JPUlRiUVdzek04ZEtsS3lnY0xvVE5lWkJlZlVMZmYyb3pyRVh0dnZJOGNEWE5DRTdjbERBeW1GRkJmakpnU1VWQUVaUmpxeE93YjdQeEJ0VVlydklVUTFleXAzZkk4d3ptbmx3eXlsRVpheVZTcGlxY2FSSGV5aHVNaVIzSGxzc2wrd2U3cktvbFM3ZGk1OG9PZDA3djhQcjhleXhZVUZOVHR3NjdxcUxMUklhR1RFQUhUY0F6WmNML21QMElWU2wrNmRsZkpCeW5jVDlFSVlKNHRjWGJST3MyRll2ZkVtbUN0QVZxQ3J2MjdCMGVjT2ZCTWJwUS9PcHJ2OGp0NzcvUG5QTWF6VnpFcHhVWFFQWnpIaUtLMFdpWFgvN2ExL25pRjEranNRdnlRakJaQkRsQ2dYY0I1MUxYSkI5UXlzUWZNVXhPWmhURmdDSWZJeUhITmVCdFpNcGl3dW5KVnFRaXdtdys1Nm1ybDdoMTl4Mk9yb3lvN0pRZnZmVjlidDUvbTVBWWtrOHJpcUxvNUFRK3JmNmRjNmxUanFMUWdXVzl3TlkxK1NqajhPQUFMNDdaWk1yeG5idGMzai9DaVdWbFYxQTMxS0ZCZEp5c2pPVFVZUm0xZnVnRXJoVFg5bTR3eU1ma1VpSk9JOEdnZ3ZUQVdydFFhWlBBTVZUeWs1VDB1eWNXSkltT2FUS1A0KzIzZjhqZEI3ZVorbE1jVFFkaUh5ckl3T09DSnpaNHpIQW9qaWQzK2VEZWUrUlhjaUJQZGxXS0xkc3ZlUGovWnlQb2xvOWhZTWE0cHVIWjZ5L3d2WGRlUnhtTnR3NHRCby9yUERmYjNWWkFwakl5WmRCcEVmTmtFWXU5V3JNekg2TEp2dzJ1a3hQNHVLbm52UE96RG1QYnM5QmI0cWtvNFhGcC8yc3FQamkrdy9YUmRaeTNTSm95dEtqVXdPVW4vOWIyUFRyQVFKWHNzTU9VeVliLzAyenMyRUxzVXFiUUhIQ0FDUWF0QmU5SjBwYkhSd2dCSC96V0FoZUVJQjZySGNmTCs0a05kYmhRYjhCOWZITlhVeEJocGthZGR6RjhqTkJlVVhqTnZ1eHd3QzR6NWxRMFFJUHlCbDgyOFRqMFFDVGE0NXlubGhtTGNNb2tlNEF0eXBnMUN5RSt0Z3Q3aUFWUVJPWlQ4SjE3bFU3Nlh6WE1XTG1LV21DMXJwbFU4MjdFN2FRZWZWV1VSTkpEK2RoazVYSit4SzRla2p1TjFFTDA1WXBmb3BUQ1NTeUNiZjEwVmJMWjZueDlyVU1obUN5Q1I2L2pQcHhXVTI1UDc3R21ZazNEbXBvS3Uwa3M5dVlkQzlqZ09uWmNNZVhVbm5LOFBHRlA3NUhiV0VuUkw3eEYycTVnL1lQYmtoMHVhcU9EUW93QnB5bDlRUWlPZGQxd3hDV216RkhvV0hkd0VaOTZYQURaejIzRUc3UnBhdTdmVzZDMHB4d1VsSGxPVlMxcGFrdVdqVkFoanlPYTl6MmdGdkJwd0xsKzdRWHF5dE9zYTVyR1F6QW9sYUVsTmlPd0Qya2tmN0lJQXNOUnlYUjJ3dDcra09WcXduQVgvdTYvZlF0UFJXY2lDWDFKN3ljV3JRdEQ2OHFRS2QxTmNrcHI2dFdDZkpDUlo1cWxuWE55OXc1ZVBEdWpFVGRlZUlyMWJFVVFRUlVCVlNyRXdySlpVbFBqd3ByMjJPbGtaNlJRdlBiS2Erd014cWltSUFRVlFheHZBV002M3AzcGVTdHRPQzhVU2dsQlIzTjFKNWJYLy9XNzNKdmZvV1lWV1IvT3ZQM01SMFZtS0FLOXV3OXU4Zlo3YjNGNS96b0RuY2RXd2lGTlR1ZUMxOUJMUFVzSDFFTUh5aFdGeVZpc0sxNTk4VFgrL050L1FzZzhxL1VpRnYwQTdzeTFKWUJSQmlOWkFoUlBCbVFWbThJeVFweHdXd3N1UzVNWTJaYSs3YjN2czYwbkFEYWlJdCtpbEo0VGtuTnRjd2JIajk5OWs2dGZ1VVpqSTV0SzBKakVxbmFmbGZCTHUrN29TMEcydmpQMGdLd1hSdm1JUythUWhWMGdOSnNQNms1dHZMNFZoaXVqcStDRlhHZTRPcnBNZkJRYjJRaGtOeUMyTFZaek9sQkp6VHVudDdHNDZPUkIxUFUzYlhkVzc3cTB0MGFpcmxLUkNoR2Y3Q0xRQWNhMklHUjd1T3hwUWdPV0QySXpMVmRCRldESGdGMTNCaTJ4N0JaMHNOeXYzK2YvZXVmL1JaSDNJRmc3UXJSeUpZaGxkSXEyelVDLytpRjJVak5BYkxTd3hyR0t2ZGJJOG96R05qMjljdnZoT2hXazVqeTFkNFZkMlVGYmphOGR3U3JRQ3RGeDhlREZiN0d4RU8rZEZrQTZXNU5sR1ZtbXNjSGlqT0FWSEs5T3VGbmRUa3Z0dU56dVFHeGZHVWRraUQzUWVJL1FZRmh4Nmg5d2YzV1BZVGJDcVF3amtZVlhRWjE3NzdiKzNrRWxiOWtReHdPVEZ6Z0hCVVc4TGxZVG5qNTRpbmRQM2tNam4xenprb3Q0WkZ3QTJjOTFLQTcyTHpHYlQ2anJOZDZwYUlqdm96NUtNY0ExTWJXdkJGUnI5QnhDN0hzZEF0UEpDdHQ0Z28xRGx6SEorelVrSDhrbkJKYk9OWlJsd2QwSGQ3bTZ0OHQ4TXVQbW0rL3c1bHZmUitOVG42Tk5hcGYyOFJNQ0VzNDVRZ2lkN2pmZ09wOWNyVUZsRFNzL3gxdVBMb1Q5dlJJYkxJdkZLY2UzYnpNOW5wQnBRMU92by80enpMbDdjaHVqb1hZTlNubDhpRnJTNENPa2VPbUZsOGwxaWEySUJUWSttY2FubEwxUCtqWTZmVmZpWlR2RlJ0S2NwWFN2OThsWTNEZjgrSjBmUlkwZEZxVUNXNFczWjgrbG9uT1NDSzVoNms5NC80TzMrZHJQL1JvNmk0QW0yRDRqMGYrdzgwNVFMTHhvMFk0RVFXeFVRRjY5Y3BYTGw2N3k5b00zNHlmNXpiWFlnU3dmT2VoTUczS2xVVjM3b1k4YmFxc1RYVWpnMmVOd29aVzBoUGpZZ3J6UEFZQTlHMXQ1bFRaTkxpMHI2M252NUYxcXU4WUVqU2hCQkVRWlhCUGxReCtWbGozcis2cTlZaVFsbDhhSDNEbTlUWFgyRFI2Q0R5blpicmh5K0JUaWRQUW9iUm95bmVIZG83LzdySHRLZTc0VkFpS2NObk51Y1llR0pHWHdFVEIxamhnV3VtSTRCSXZEQzFoeEtPOGZYMlA3cUcxTEd2YlNqTG02YjlCTlNiblk0V1p6bDdzOFlHRlhyRTdXT0lvRU16MEZFb0ZzeXBTc09tbVFUMEJXNkxoSjhaRlI3TXJBZkdjSktDRzJnYzdJMEdnY3BpdjViQkluNjV0NjJ4SW1rTHhZNHoyN3p5NDcrWWlpTVVnZG9uMHRzWkZEbEhwRUU5b1d6SjYxQTR1T0dTSDJ2VkRDMmxlRXpCTnl4ZWxrd2pHblZIaHFrc3RBZjgyK1VkeEZpSjdhMERydnFhbVlzZUMwT3VYNm9NRTF4Wms2Z25aOGJETVNxYzJ5ZU1EaFJMQXFRUEFvVWZqS1k0SkJCYytzaHF1N1Y5QW5LaTBLMUVPTDdZdjQ1T01DeUg0dTRwelJOSm4xSFI5UEFJOUlBVjZodEtJc1ltLzZ4YXdtMTJVM3VFc1N2OGVLZ0FRa0dvOFJoU3BNOUNNTjBUN0grVGhReVJOZVFjNDVWdXNGQjRkajdoL2ZZckFqL0ovLzIvOUIzY3h4ckloVDdKbUJZa1B5L2RTQlJaWmxIYWhxbWdibm05UmtRT0cwUXhVTm1kUWN6NC81d2IvK2dILzgzai96NDNkK3pEcXNNUmhNdEFlbm9TSmcwUWdxRHl6ZEZHaTZOS3I0eVB2dFpRZGN2bndGNzhGYndYajFFT09wUWd0bTRlRnpmL2IvVWJ0clE4MnNtbkYvZGgrRmROWFp3UFl4Rk5WU1VkM3hEU3AyRTlNMDNIdHdGeThOam1oZDlGR2pUN1MxcXhJVkZIWGxNTG5Ca3ZIQ3N5L3d4cDBmQWdvWEhCcjFrS3hFaU5JQ0xRWmMxTVkreVNVUVdUclpSbGdTYmNOY1N0UitubVByRnVvVldSSEF1ZGdNWXNhYzA5a3BlWkhIMXFKQlVLMzlsVkpiVEN3OGVtblJGbEZCUE9UR0c0NUdoNVNuQlRNV3NVTFNuWDFQZFBUWUdlL2hmVHhmamJjWTlmakJwOU9Lbm0yZkhjQ0s1OWI4bUFvWFU4VGFwK3U5dHcrSkNZMk5raTBWRFpWeURKUlBiWFEvZmpRSzV0NFNqR0RNa0N0RnllSHdFaS9hWjVpdHB5emRndmNXN3pGandad0ZkYm9pbTNUM050R0ZHa2wxQkZ2WnNYUWVnNjg3OE9kQ3l2d1R6NEdsUnV0NGRJTnowU2tCRSsrNzFvRWxFTWVvTkF4blFTTnBaRHNxTDVFSGpUU0I0S01NeUtoVTNFZTA3Z285UmpaSXpPaUI2aXl4MnFiRVNnbU5yZkVEamM4ODAyWkpqYU1tTm9kK0NNQzZObmxnSW9CTzQ2SFhZSjFsellKNU04UHFKdnJSU3NCTG40ODI2ZnRiWUorS2lwWEhLYkFxN252dFBjb0hUQkMwRlV5QWNWNnl5NUFsaXljNCt4ZnhieGtYUVBiekhFRW84ckl6ZXEvckd1K2lia3FKd1RhZTB1VHB0VVJmMWdBQjE2WGhkT3JpbzFRczRtcTFva29aaklsRldrKzRrUlJGaG1RT2JlQUhQL3dYM256N0J6aVdoRFI2bmp0WmZFTHNXRnZJWnEzRk9ZZkpGTVBoRU9jY2RUUGgzUSsrei9kKzhQZDg1L1h2OEtCNWdLQW94ME9LSnJDdVpuZ1VUWmNFdDlRMHVMb0JzUlNqakhydFVTb3kwd3JOYzg4OHk3QWM0QnRQNnNrWWR6ZkU5Ry9zVDk2WGMzZ2VSUXUxQnZmV09SNmNIRk94akdiZ1lWTlBFeG01dnVzQ3NVaUQrRWNYd0lqSEI4ZGtlVXJ0YXVwNmpYWUYyVWQyOFUxTWJQY2QwYllzTkE2VmE1cDF6WFBQUElmNnRzS3IySHIwb1RQZkFxQ1dRWTM5Slo4b0s3QmRtT05CeGJybFhqZjVDR1kvWVVuTEp4czk2Tm51WjJJbEkyYnd2SC83Sm50UDcrRk1sSXVFYzB4OHorcXMrM0cycFczcjc2a2F6OEZ3anlIRjVrb0tiRjNTZ21iSW1FRStRS3JJWWhwbHNENGE0My9VNkRjeThjN1JPTXY3eHgvRXREV096dC9QZHp4QVpQRzhSeWVvdUhZMWxXcHdxa0E2MVAveHcrUUZUYkQ0S2tMSVVodDJHZUx5QTZ4ditQTE9LMHlhT2ZkWEp4eXZKenp3VTA2Wk1VMVYrbzQxRHR0SkJ6UTZuanNkOENvUStqN1QyM0p6SERCM0ZWQWh0SVd6UHRWSFJMYVVRT2Qyb0FQa1NTbGNrSE8wY3dRMkVLeUxEaTVpVWh2bkNHSjlZbU45V3IwbzN6OVc4WFZhZ05BUVJHTkRqZWdCbFRpbTFTSnFYK2s1V2JRYjdpTncwZW5mTGh1bFl2R1dCVmFzV2JoNThxTzFFVkNqazlldTlMSkNyYXdnWnJtOHNqaWxhSlNINEJIbktVUWpIbnpqeVpXaGFpb095ejN1ck85OXZvZUZ6MUJjQU5uUFJmVEFUTkwydEdHdHh5WExuTWdrR29yQ1lQU0EzWjBDOFFrc2hsZzNTMnJQcVJKTDVaeU5sZUcyVHBPK1FtbEJpVWNwd1QyUktiUkhaUW94d253K1l6STU1di8rZi80VFdnVnFYN1BGTG54S0tWM24zS1pQdkFoNUhvSC83ZHUzZWVQdDEvblAzL3JmcVpsMFhxTU96M3AreXFZMEpDZlBTbkJ4c2hUeDBXbEFRYldPbGNtWmlacEVCYno0NG91QXd0bEFyalRpTml6V0JpajA5YkdQRDBtK1pmY2YzTU1UVUNyRU9WdDZuNTJhVUFaYTlsZEgrVUlMZUhVZ1dNK1NCZFpiYXRzdzBDWEJudytseityUXptYWZWUUl5b2pMQVlXdkg1WVBMRFBJQjgzcEttWlZVelRxOStlSDlFUy9Ka2VFSmNydEVDWVAzS1h2Yyt4NlIxblRydzY3dkovdmVuNVU0dDJDdHg4ejZFQ3ZxM3o1K214ZXZ2SWd2TEQ3Wnp1bEhXT3R0ZDI4NjgvRUpsMmdQWWdPN3d6RkRNMFRTNmZTd1lRRlJaR2oyc3IxVWhLcFNPK3lTK2lQWSsvWGRUSURrTk9KeDFyS2k0cmE5RnpYQ0VzQ21SZ3dCbElHUUVpWTZTRnBVZWRhK3BsWU9LeWtqSVkvU3FEODZ0SWZjS3dxdmNFMHN0Q1ZJYWpwUlJxOW1sWEhBbU9IZ2dDdUROUlVWRlRXVnIxbm9KZCs5Lzk5WnNLYkM0b2xqWnZBK2RULzBZSG9MM3hESERla3RGRlNXWk1EZW80SkJuTWY3T2hVeHhSTmxpR28wQStScG5DZ3BPQnp1WVphNk82NnQzN2NqdWhTSUlqR3lTYWtyMjBvRlJUd3R6amVJcUZhNFMrMXFKbUdHYXkrQi9yM3BVK2N0VkdxcmJHSjJpQ2F5elRwK1R4TnFLdW9FWkNQTHFqeTBRdHZZQUlGT2FoRWJTaVFwa1lyTXJNY2pqV2VRRllpMVlEM2xLT05rWFhGMGNJaTYvYkZPKzBYOEZPSUN5SDZHbysxV3NrMWY5RlR3MEZYNFpsbEdVUlI0SDFQazYxV05xRUNtcEdOWEFuR1FFeUVWZGNRT2xpMXJwU1JDTXg4QzNub2FXNlhPVHUyR2hEU3doMGUyUjJ5blRpOGVreHR1MzMrYjhWanp0OS8rYTk2NisyTmdUWkdYck92NWg2Y3BBeDI3dDdYT2IxTm5mUGhFK3NnSUtscFpkVi9qMFZxaFRjQjdpOFZ6TW5uQTMvL3pYL0dYMy8xalBNczBnUVRBYnNDbXhCYWFqVnZqbXdxSTZiYVFVbUE2QjVleSsxcEhmWnBDYyszb0dzcEZCaUF6QnR2RWJka3dzV2svdllvK2lFSGhKVEcySVI3YklCdS94MEJJQ3hORk5hL0lHSkM1SEFoa1NoTWlYVUowNzQyRldNN0ZmV2tWZDRwQUtRTUNDcUhBdUF3dGtDdUpUWmk2NnpEdWQzL1JFWWk2dXNpSUpDWTFKVU5GTEVVZS9TcVZ6UmdPOTlncmQxblVVN0pTV0Z1N1lYQjcwb1JZZmV4U09sQjl2UE5NT2xhcHphOUt6SzRFajFhdEpySjNiZlgza2NmeDRCOHpIb2VIZXRmMm1hY2UrWkVQdmFiTHR2ZUVHKzJ3NFh0dkVxaERnOFp3eWltcnNLU1dCaEV3S2tlTDdtUTNzRmxzS2RncXdqcDdma0ovb3h5TXlnRkRWWkNqTnBYZ0NSOGFGQVdHY1Q3RU9JV0loaENiS2RUTFZZZU12Q1RtdkhjOXRFMHJRcEt5aUFZbmprWXNGU3NXTEZteUpodmtzRm9sVjRDNFRTcUgycVpVdktpVXFZTEdPeHFwQ1dJSkt1QXhiRHhRMDcxNjdsblpGRGoyTzJ2WmRZWFdRcUV6Ukd0Q3NwUURRR2NzWjJ0MHBpaXlBWVVxOENhbTZ4dHZXY3FLS3k5ZjRkUXZtYzRuSE04blBGaE9tS1k5czFpc2RjbWIxaEdJOW1wZDhaVkEweWJVQW5ocW9vOTF2QkFHWlU2OXJqRTl0VWVUdU44U3haNHB5YlJHNnd5OHhHV2ZkL2dRNzNTbFZCcFArNDRGN2ZsS2M0QVN2RmRvVVNpVm9ZS0JLbDRnSTBvVWdnMGx3VFlJRGdPWVdLMkJRbU1vOFhnV3hPWUx1bzVzY0VuSmpoOVFORG1aYTdjaHN0YVJYVllkeTl4Nng2cGdvdHpGcGYwTmtIbEhyanlpRzV5Ti91Rmg3VG5jTzZTZ29HWjFVZkQxTXhBWFFQYlRqbmJFOTRFdTM5cys5anhrbzhhTE5KbW5LVllVSVJwcEFpM2c5RDBmMlJpaW9oTEp1c1NvS2xCNW1pbThRM1V6bytvbU9aOG1CWCtHY1kzRHI2QVVhQlV3cHNiYTZPdG5kSTczVU5jTm1vd3NpMXJjOFhpTXRaYjVmRW9Jaml6WEdLTXhlY0RuQzF3eDVadmYra3YrN0cvK0pBSVVZaEZUQzhhNkNQMnRpS0hUd05xOXBMUFgyVVE3c2JVVFRHUm9ZZ1d5Rnc5cGRSNjh4QUlrbjZnQjhkUzJKaTgwMDlXVTBXN0d5czM0NXQvOEovN3JkLzhLalUrRlUyNmo1V3kvT3JUcDZaQW1nU1FOU0tmVHJkdU5neVlWUEEzWTRjYlJzMmhyS01tb0Yrdll1bGVBeFBkQ1FGeGlnbEwvZDUwNjB6aGMxQzYyZ3JiZ2svZHVvSlNTMy9tbC80bHZmTzNmRVdnSVl1TlZaT1BFNm5vZGdEYVdNckZWNjJZQ1ZvaFBkbUJleDVtKzU4a2EyajBPMnp5bWFvODdFWXlIaEVnRGlseDdiTFBHcnpYRmNNejEvUnZjbmI3UGJEbExJTVdETTJoUmFRSUQyNndKQnJ3TmFBbGQ5Nkx6ZkdMYjUxb1dNQjN5N25ldEE4dHF4V2k0eDdKZTBWUXJzbkVzSnNzd1ZFVERwYTZnWXdzRXFuTWh5OGVLL2tZOUxIUGV2Q3hzRjI1M2pGVUNuZzh4MzV4ekgvVlR6QWxrQ0VtcTRiZi9qaEVxVzZFSWZQdEhmOC9sWHp0Q1hJNnhnTSszZ0d6LytQZVBkY2ZPcHpWTzF5Z0V3YWlDOWFMbXRSdXY4T1piYjBSRTJxNk5QUlFvTkk1WHJ6K1BYVmFFckVDWmpHYlZrR0Z3UHZxaHhudkxweThKbU5SeFR4emtwc0RqV1RZTDFGaFl1eVhsNVlKLy9zZC9vcUpodmxxaGlha0ZxZUpYVit1MDhWcFI2d3lxREl2aTFyMzNlZkhaeTVTNXBsNHN5WXM5bXNaaW5TT29nREk2NmF2ak9LU1VTWHBRaFFvYTdVM2NyaUN4TzVwMk5NcmpRa01uL0RTU0RwZkNESFE2cGhGZGlZc0ZpZ1dhWERReTgxd0tBNncvSU95Q094Q20xWUxicDNlNGErOXppOXVzYVJLVEM5NG9uTmswc09rcS9lTDZBQ1VPSTRZR3ozcGRrd0daVjBsWW9aRFJrTEN3WERPSEROWU9yTUtsQWpCSDZFNjJBN0FCTFdhTGhaVWdjY3hWRm8vQ1NZNFhxQnN3TXNZdVBJZHl5Qjg5OVljNDVmRmlZMllJajhadGRkNks5NzFLMTdlUHV0NEVrTFhYR0dmSUZobmFHNVQzS0ttVFhNUWpMdDVrbTY2SVNidHJNMHFnVEFzT1EwTW1DNnlxTVFPWXJhWWM3QjRTbXB3OTlsblJKTXUwaS9nMDR3TElmcTdDYno5SzcvK2huUjNvV05zNDVqak90MDdpekdjOC9BMEtqN1VOcm1rZ2FGU20wV0xJVkVZSWthM1ozZG5ublhmZklzczAxNjQ5aFNoUDNTengzakpibmxDdFp2ekZYMytUdi96V24xSDVSV3pJa0NtcWVoNjM5Z3dUdHBubFZaZkthbmVwd3dGOU5xajNyaEJnUzZhVklpZ1B2aDNZVkdJUjQrU2ZxVGd4bVF3cU8rZjdiNzdPelR0dllsblEwQ1NtNDlIeWlyQjE1SHBQdHFESUN4cE5xWVlZTVJnZjRibjBqbmJidWxIU1BtZ2YxYTJxZTBWNmxDNkx1blhjbEU4ZGtvSVFRdEVkc3hZRVMyajVMSEFoZEFDby8veERqNjBkV0YrL2RrNXNkeHphMkZsSjhuSUVqd2tGNGdLRkhxVGlPRGJnemtzc1ZFeWNiZ2dPSnc1dDlCTTMxb21xa2NnazRWdFpEWWpmMk5PZnUyLzk0L3drMzMvT1J6L3VSWEg2ZmxnUzBBZXhaN0h3bGpTbGQrMjE1N0lEdkMyem56SUhOc1FGajBhWXVUbjNwbmQ1ZnU5Wm1ybEZuOU5aN2V6dHBYcERUbjgvNDVVVGoyK0dacUFLRENhcXlidDBnbUFRUnBTVUtxY0llZmNOcmZOQXQrU1MrUG45VG1NU0ZFWXBhRnZxYXFoOVRTamd6dXd1RTZZMFdOb09iVHA5dWljeHNZcTRZRlJ4N0hSNFpzdzRuaDV6YVp4UjVublV0a3RPbHFYRlpJaU1aSnNKZVZ3RWtWNEc1Y3c0VFhRbWFSY3Y3VDV0OEtJZ3RjZjRXR0NsaXd4VmFBN3lIUTRQZDNpbXVjcXI2aVh1ck83eDd2SmRQdUFPVlZQaG03aWphZ0MrVHlkS3V0OURrMEJoT20rK2RVUlEwVW9RUlVGRzdoUTZaWFRPRzFjM0xQVEQ0U1Y5cHJTWnBmaThjU3BDeWk3NzBIcmYrdGlkak5DNVg4UXhVVDdTWWpKS0JiYTNEZW5wOElQZ1JXLzU3QW9CVXRGbm94dWFMUHBxSXhvVkNqSUtQaThTbzg5NlhBRFp6M05zcGZmN0EyUWJIbFQ5bURhVGp3WnBTZ1k0c3FTdkxFQXlsSW5hVWcvY2UzQ1BsMTk5a2ZsOHlwM2ptNHgzQmdRcTV2TVo1VWp6bi8vNHYvQjMzL212Vkc0Qk9KUldyS29GWUNuTGt2VjYvY2p2ZjdKSVFPeWhhTUdaUjJtd3RzWmtHWlBWS2QvNXpyZTVkZnY5OU43MjU4bWlaYkpHbzFFc3JOc3FtMzU4dEdtNlBySlNhVGZhLzBsYUZjU0pNUDVCQlJDZElFemE1Yk5zbW5ldE9wQnpIK044MmpLdTI0OFA3ZWREZjVmVUdsYWpsU0dJWjFEdW9ERGdxN1FUTVQwWmtPN2QxanRxYXltTlJLM3ZFd0xLVmpjWlFzQ29MRUlXNzhuSmljcS96VEg2dDR3SVNPTTlHcE13RVR3bS9MSzlRQWljdVo4aHNsU2M2NlY2M3VXekJTcDZ2ei95VXV2NnljTWl6TGw1K3lZdlhYNEo1MjFjKzUzREF2OUVFVlRTN1EvWVk1Y1BtQ1dxT2NURk1ZcGR4dVRha0pQRjFzQTlQOWgyNjFVZytoT3p1WDZCcmxVMlJpRkdVOXNWMmE3aDFsdTNXYkJNMTI5S2dQVzNxMXM4K0lUMkl0eGZzdUR1NUM2WDh4RTNSdGV3Sno1S0lveU8yK1ZqdTIwdGtycUU5WUExSHE5czNOYmVVa1NTdDJsTW5qd2UvRUs3T0ZRWUV5M3RRZ2cwRGxRTmFNTkFEVkdEbk4zQ01SNlAyVjJOdVRROTRJUDFCenpnQVRZMDJHWHM3ZWNVWUV3YUYzcGxqaEpQZzJWempYanZNUWlsamhyZUp3cHBmVzNUUXVLYzY2Z0Z0RUU4cnIzVzBpR0s3Z0xob3g2eUR3M2ZMU0RTZHhMMXRDcUE4Z0V4VUllQXk0aytCVG1zak1JbXk3S0wrUFRqQXNoK3BxT3ZtOXhPNWo3ODNIbnY5V253ZXN6clBpUWtLSkFTbzhIN0VOdDNPdDhCTXhIUC84L2VtejFKa21YbmZiKzd1SHRFNUo2MVRrK3ZNOU16bUFVUUFKS0NDSUlpUmRGa0pwbEkwNVArQlpucHI5S2JaSHFRVVRKS1hHQ2lCQkFRUUFBa2h3Q0dzM1QzelBSU1ZWMVpWYm5ING42WG80ZHozY016SzZ1NnFxdkJIbzdsYWF1T3pJaEkzOTN2ZDgvNXp2ZnQ3Rzd4OE9BK3pjU3dzZVZacko2d3ZUTmhlZmlZLy9WLy8wZjgwVi84TVptQVJYRE8wQVlGdEtDeVVjL21EVDZyRHZ2eVlVcm5rOEV3bUE2VVFjd1k2R0tIcStEMDdJZ1BQbmlQVnBhQWFzdTI4ZFhMU3YzeDJ0cmFVaWV1cTlNYlQvL2RwUWZ3TUtnUCszWHgyUFRMdFNLTUhibDZqbTAyZWVBbzJ2SzdVTjZYcDE5ZkZjU0xBWkttbzV4VEh1TG1kS04wSTFQQW0zWW1aMGtEZUU0NTBZWVc2bGZmaGo1NnZXRG5uQXJkWjhQVWJYQ1VqcjZRNVY4ZHBmR0VTeG5SeXpTVlN6K3Y3OWppMWpUNlduNzY2OERGdThVTVAyVSs2KzdYWmVtUkR5UWVQSDVBSjNIVUlTTXZETDR1aHhhR1ZDZTJxU3AycDN1WTViM1JEbXBUMmZaa0IyOHJLdU5vVTBGOG8rZk0xUnRkS2czR0VMTWFnbGh2aVNuanJPUGh5U05DYWM2RU5hT2lMNE03MFVzVHlSQURtSW9ra1lqaHNSenlKTzV6dTc1RHdsS0prS09DUENPVzJtcjN2cFJyQ2hnNDdybm8wSW9KOUdkRFhmdVV2em5jbDg4MEdSbWZGeERud2FvVVdrcUp0dFZucDNIZ3ZLZWJyOWlZVGRqY2ZKT3Y3dDdteWVKMTdoL2U0LzdpSHNlY01pZXd5cEhRbGYybWFGS1hpekxKT0p1ZUlRc0d4OVRQbEhUejNGNkk1NGNScFRLc3AwcVhKMFhyNjJySVVSdFR1TWltU0lTOWVneVRpQ3NpWVZBbExxRjNkY3RaY0ZocXF1dDg3QzlJWEFQWlg0cDQxbTE0MVcxMk1ZWFZsNXlmRmVaNWc1UjQyamJqckphcVkxRkhNRWJ3bGNFN2VITDBrSjI5Q2F2MkZGOGxkbS9XL05FZi83Lzg0Ly96ZitQZzZBQWgwQVBHbUxwaXpHQ0pFVUw4RHpIZkhRLzk0MXdqbWpFd1FrNFJVdVQrL1U4NHoyZUZMYWJPTlY5RTlJUGQ1dWJta0dsYVo1dytJMHdjWmU3TWtIYzM4blFUbENuV25IMEtUM0FxL0M5Nm5nVnREQlNqV1NYOW1pMUg1ZWxYemNhbE5aRHAxL2VzOGVXS3ozc2xESU1qeGNqR2RCT0xVeURScDh2VVU0bitYTFcwekZkemJtN201MXk1THhiS1k3U0ZrbTd3T0VMdU1EaDJObmY1OU9TK1FzMGgvZnpGUmltVUQ5bFpMWjdhWjY1TENvTzVCNzk5NHZacHpHc3YvZDI2ZEY3Z0U2RHlScGUzVVYzamhBQUFJQUJKUkVGVVI4Wi9aSXBaUjlKMW4zREMwY2xqdHR3TzJXcTY3c1VGc0s3WW4ySWY2NjFuWjNNSHU3Uks4eW5KVm9ObGQyTWJtd3IvTkhXSVdIS09pR1JNMFFPVjBUMHdidGJzdWFDWmhEaWRxQzY2QldlRDBvZ2VrTEdhMkpBTTd5ODVrOEI3YklCSTRKQmpQamw3d0dhOXpXdlQxekZSTlkxVmpNUlNtd2FUSVVZelpJMmxkTTliazBnMkZoQm1jRW5MMDcybDlMcTU4V3FJTkhiSnlsZ1dLV0d0eDFrSHh1Sks4Nld6SlNzc0JsYVJuQkpOdGNIVVZ1eHVidkJhdnNtamNNUlAwczk1d2pscUNKMXdSRENXemtlZHoxdUl3dENmUVV3WUdxWitXdWhOcnhMbFNWS3FRYjFSQS9TdmRsREt5cVduUWZzYTlCNHhaSnA0a1VyMlVtSGt3bnA2dHZoYXlVQlV1TVVLdFppaGVTMVpnN2VPVGVwWHV2YXY0NHVMYXlEN1N4dFg1V255T3VOSS8ySkwxdXNaOFZ5d1p0VVV3U3JvY2hpc05WZ0h6Z3VZd0d1djMrRDA3QkZWRS9uNWh6L21uL3pUZjhTUDMvdExNaTJKanRyWHRER1FKQU5KQVcxVWNPWTl4TC9DbGxETkNBQ2x0Q1hHTU5TcSs1SE1xTTVyVEIwZi9QUW45Q2FRaVVCT1Y1ZzF2UFJHVUxJY2h0bHNka0V1eU5vWEVWeGZyNy8zZ0RleTVxYlowVVJFQ3NWZ1hkclBCYmc2RU1qU2YrNlFMSWh4byt6ZEZhK2kveHNBODdyRDZ1cE52ZlM1QWhBN0FLOGNoYWFaMGdNN1RZanBBTDFXcUJCYU9oWXJsUUh6cGpUbWZjN29nYXd4T3BJWlk3U0pySExzNzk3QW5DaFQxbHplclM4STFDcWN1YmhnTTZKUlhJdzhVRjc2NnJ1LytHa3BXVE5DdU90emxlbVBsT3BtUHMzdEhyRmxSeGxCYXkwNUpRUlBTOGZQN24vSWQ5LzREb0ZBWlJ5Zi8vZ1hMZUVNRnNmTzVnN3UwUnJJNnJUQ3NMZTVDOW1vYVVncVJnU1NuMUpNUVBvcjB3NUhyNHNSNngzUnFPbUJlSGh3OUNrTGxzU0JJYW43MnRNTGVyQS9aR1hwN1V1aHk3QWs4MUY0Z0h4cTJMeXpoNnNxdkt0MDhoY0w3MWhRdnhPdjB3ZGRUNmYydGdMV1pCQTliclk0OFExUDdBdGdOaitEZjlvRHZEVWYxK0l3VnJCSjU3Y1NoRTAvbzRzdGNiVkNxa1RUVE5td0UvYTJ0cmhoYnJGNkZQRnl5R09PaU9wdmhoRFhUTFR5U0RRR2lCbFN5VWJhR3B0Y3FTQzhZZ3lWcFR3Q3RIMXpiRkZsTVJUN2gvNTg2Zkd4b3R6WnB6TFpML2phYzIxN3RSNEdvd1p0Q2dOYnFnN2FyRmNsaDRtV1pGUFIwSDdWcWZSMWZCRnhEV1QvbzQrZXB6a0dHU1ZGY1NFbDE0UFl2UDVaSE1qa0ZZQnN4bFVaM0FvQnJNMDRiekFtczJyUE9aOGZjYmFFSjBmMytZTS8vTC81a3ovOWZWWnlnaUVpcUd0UUdzQmd4am1qdjVkblE5UFV4Tmg5enVQeW9uSHArSms4eXVpb0JxK3ZES3V1NWYzM2YwSS9xSDFocms5RE1sT282MXBMM0JRZ2E4eG5OQlFWYW9rcEhFRjZEcXgrdXM1dzlBUGptblFwUllmVzlzMWNaUkR2eTJ4RzFnUHlzMTdCRlpGelBRN2pydldyNHZMblJ2VG4zdllpcEVodDY4SnlMS0JhdExsa3ZVUzFDVDF2NTNTcHd6UDU3R1A4dkNPWU05YjJtcFJsQUUxQ1hWZnM3K3l4YnZuNjRxMG9pL250RlVTZ3A3bXdQWUM5UUdDV0FqS0c1VUhmcE5YYmJ3N2w2Y0lpa2t0cjZ2L3VlY094YWt3ekFQcjNQLzJBYjd6MUxsVnU4Y3hlYkdlZkVkWjRwWmJnMkp4dXFoT2VVUU9QR3NlVWhxM1pGamFhQW1ZTnp0dUNNb3NlU0ErNHJsaCtTSkY2MnREbW9JMWVOWHowOEdNNlFwK1BIWForRGZUWDh3QnIwTW1lZEVSeENKYVdUT0tNekQyMkgvK0VON2ZlNE1ibXZoNmZ3bGVkU0lOeGRuMy9pZUN5MTZOdGxEdXI5NUV0NE9sU0ZuN0l2Q3JBelJjeXNldWZuRk1qNzV3TEdFNUd3VzFVME8ra3dvdkgwV0F6S0tOQnFNU1JuZU1iTjk2bFdUM0VuOWM4NW9tcTBVb29ENE95bWo2ZFh4N1ZGbE95em1aNFRueWVFR1BJNVRwMW93bFhiNVpoU2tWR3M2VVdZM1JTWlkzVnlsRGh6ZVord3ZaNVhsa2ZkbTBZMUd0YzFSRnNNWU5RT29pM0ZTRkhPaEdpZFFqMTU5eno2L2lpNHhySS9qTEhHTXlhclBVem8vcWdxclJmNmI4WDBIeTljdkUyZ014SmRLUVVOQ3RnS3BJRWpzOCs1ZURnUHYvaS8vbG4vUGlEUHlld29EWXc4WTVWWEFDWlNkTnczcmFEZFdSS0NXTlZ1elpHbU0rZkIyTDc0ZmNWd01VbG9OOXoxWWFNcGNuRTJGRlBMV2tWT0FxSDJGRjJ1Nm9Ob1h2RjFOeUlQdUNjS2oySUlyaVhtT3dySEJxWG1mdXU1c3ZmNjdWbCsweVBtbi9xZTY3OGlTM3I3dC92UzNlWFg0M2tTMEQ1NVRLeXVnMnhsQXNqT1Vmd1paMlVUUEVRWmtUNkVMclkwVWxnOW9wQWRwMlJkVU9UblNUd3hqT2JiQXd3MXZUNlJNTWgvV0xZY1QxVm9JODFUclVYUWFkYytQRGxFMEVGQ09kTGw5VlZkNC9wZVpMRGQxUVN6eGhERnNNaFI3UjBWRkl6TldQNDkvTGhyY1ZsaTh2Q3hOWFVWRXlONVV5V09Ed05FMmJWRk51Q2Q2VTczeFdqRUJPSE9mdXpJdWVNcXp3NUNLMTBSSmM0aUkrTDNXc2VQUi8xc2h6dmpRV0dwSzlvSFFhclZZU1lNbWNzK0VINkliTE0yRzExVWFTenhCeXgzbEs3bWh6S1BTSUdqTXB1dVd5VlpqQzZoaTdrSFM1eFkvc000VGd6S3dYQVNRNmFFTWhnOFRoZlVlRXh2bVFTeTBTTkRDbEgwa3J0cloxM1ROd0dYOTJhSU03VGRwSFFCVTVvdFRNL0FoT0c2MDROUS9wY3RkNGZlakc5Mm4wZ2hUcWsyV1duUmlTWEhoLzkva3YvdUMvYkl3V01wdUYrc0MvNWV1bDRqcE5CNVhObkJVazZKbVJyeVZaMXA5ZjVuV3VXN0M5Q1hBUFpMemwwMExhRUVBWjNsSzdyY0hhbVRseXUxTXdRN1dvV1UwclBwWWhtMG5wSlJhUlVTcU1FWk5wMnhXeFcwM1lyQlY1eGlhL0FXaUcyTGNhRHljKytERklJeGFMV0RweE5kVVBLWkpZWWYwNWlTUnRiRHA4Yzh1R0hQK05IUC80aDc3Ly9FNDZYajlFbmoyb2tyaVNxZTA0WkpCZHRxMXZlbDlQTFlQSXlkSUxlZjJsY2toZTUrRHZqNzVUMURZS3VvaWtBMDJ1UDlzdGdEWEtzdGZ6c3c1OVM0MW1TaUtYMDlnenozSmNMV1NPVUMxN3dKUlRZcWthaTlHblRDMytlUnZ1a3l6UERma0JNaWVsMFNraXErUnF6QXNmWmJLS2F2L1BWMDF6YThmTHpjeVl5WmIwakxGQmUxMHU0VVA2OS9Ma1JxR0RTMUh4NmRNYlduUTI2bzVaZWVUZW5nS0VoUzhKamdVQkh3RlB4NDUvK2lOLzQ5bStSNXVtQzlXV2Y3WFhXYVROZXVjYkduNDJWR2ZwdGpCSnh6aEZqcEhZMVhkZnk5aHR2WS85RU9lU2FrOVdtTTFkNWF0K3dXaTVmN1Fvd1lCcURoUDdjNldtekdMeXZDTEZ2Q09vejNxeG5LdjNyeGNXTjVMUFdBMnk5TWFHYkx6RFdncWpqVW9yRjdLVEh5Ykl1cVY4KzQ5NTdRZ3dzWlRtQStuLzEvVC9oSC83bi93QjM3SkVnZytOVzEzWFVkVTFkMTZ4V3EvVzVscWN6OGxhRW1KUWVzbG9zbUc1UGVXMzdOVDQ0L1JqTklkYThzL01XeStNRnUxdGZSVHE5MXRxMlZaazY3d25qeWRHd2ZJYm5RRGFRUkYzM0ZtSEorZUtjT1hQYVlremJiMXNmTXZxMXIweU1KdzVSRXJFNEZ0UWthancvYW4vRXdVY1BlV1AzRGQ3WWV3dHZaNnhPbDV5ZW5MQlQ3VkFabFJXVG9uc3FXVEI0clBOazU1U0xub3N1UjFhYWdKYTZwVkN1UmpGa0VuT1pjQXFPakxGYVpwZmNFVVZWRnRiWllMUU5Id1BPWVl3YTdxYVl5ZWZDVEthOGUvY2JiTTVuL01XVE13SXRUZ0o5c2F4cUlDeWdta3dJYzkwTTU1eWVqMWVwckl0T0lGTVpxNloxVFZ3dHlUbFNOWHAvMWE0Zm16SmpONjRNbXBHMWVaUmMrQnhSSmczcnlhUWV4LzcrTXNheWFsdG1tMU85dmxjdHM5MU5PaE92R2JLL1FIRU5aSDhaWXVBWVdTN2E1cWl6VjkxNGZOMXdmUElJNXpNcEorcUpKNmRPN1FqdGlCdDM2ZFZPSENrRlZpR3hXaTFZTEZiTTUyY3NseTBobnZPajkvNlUwN05ISEJ3ODV2SGpBOXJjQTRkTVpUeEJXdGJsZStIS0hOQ1hSVE1xYms3anpSaU9uc2xGelNBUDlyNlJ5RGdML0VYb2lJNEgwUmpqTUpucEc3NmVGMWRnR2IwT1JsN2kwK21VbUNNcFJWenRzTUI4TldkNWRvWmttUG5KOHp1UFA2TXpPSXNxUy9RTk41ZGZRYTU4WDE4VHgrZVAyVENiWkJjSmVFS3hKamJHVUZlZXR0UFdwajQ3cWNTWnpMSTdKNlNXaHVwSzhCOWpMTFNWenc3YmM0cEZDN25KRkRGOXNkeTB0N2lmRlZqaExWMXN5VEVSOHhjamdpNDlzVlBBZVV0dWRWS1ZZNlFxRUZwejVjV0FJYU9aeEh4Uit4Ujh1YnZLc1NyTlF3S1lUbitYcERQRS9tNDBGeTc0UHZwOHJHYWVZRDFaeW9WU1k0QjVYdkRrN0lnN2VSK2YxemFsdlczdGl4NTdJMXF5ZGNiaGNHeFB0N0NuQm8vSGtObndNMnBUWVpNcGhpWEZCVXBVdGNES1dtMVpSc3ZzcjJrUklVb21GbjdzNGRraHNVeEdJK25pOVcwWXBNeWUrVWdhZ2RvdVIwNDVZY1djTStZc2psdk93NUt2YnIzR3pla3R0bVpidE9jdElrbTNQMld5NkRtd1ZnSHBzbHVDZFRpajlCWm5JQ2RORkVqS1ZNM3p5OWRHMWtET2tPbWRGUkcxWlIxbkRNdjBvZEFVdE1ISkJzZk1UckE1c3V1M3VjTWRsaXh3dVZYNzhhekZ1L0ZFQklxKzhDQi85dmtCblhPTjhxL0YwTVdzd04wSUxZSGdNcVlxMTVHTXh5VXpBSHBqMG5OTzFtZEY0WW9idmU5N3VwV2dTZ1U0cFpZWXE2NW94aGlheXVNc3BLNGpzTVM4Q29pK2ppOHNyb0hzTDJXc0gxNU4wM0IyZHN6UFAvb3gvL1AvOGo5eGN2cVE0OVZETnVxYWVYZkNaalhsS2dEYnY0YWdLZ1I5WTVjT2dyR1VoRG8wMnhvdXJMT1A3a3ArN1JYdlhjWktWeUswcTViejZtVWRXOVovV2JCOUFGekdFR05MMnk2SkJFelBiTFNqc3VNWEVFTW0zam5sbmhuekFzZEE5MEM1c0gzRzUySjBzV081bXBPdE1KdE9xQ2FlU2UzcGNxQnluclRzbnR1d2taK3prMFlnT3dWMGZkUEU1VmRqNU1yM3JVQzJDYjhwdUcyb21wcGdXK2J0Q1IwdFVWS3g4SFZZYTVBY01hZ2FSZ2lKMC9rSjgvYU1HVk9rY0x6N2pMYTFGa2tLWnIxL21VZWNackdNOUpKSWh0ZGZlNE1Ibjl3RExKWFZLMTFLSnRGWlIzelZpMkJkVUlHZ3dNempjSGhjeVFNemZFVUwvbW1Bb21yWFdZcTlnQTdOL2I0SUVJbTR6dUdvNllDNmRvUWNjQzVyRTFUNzJZQXpvZW5hSkpsRUJJU3pNT2Zld1NmYzNOdkRpWExkbmRNc3VJaG93K1puaGtXeXdWY1ZYaHhlSERlMjk1R0hNbGlRN3N5MmFWeXR6VXRSOVN1TVVibXBuTk9GelBQUWdiNkd0SWdSWWxhaExmSHc2Wk9ISkNLaDF5em92enBLemw3SlcxNFhUdGF2RHRxc29LN2puRURnZUg3SzQva1QzdGg2Zzl1ejIreE5kMmp5aEFxSEUwc09saHlWUnBPaTRKdW1MTDZ2QWhtTXM5UmlTMVZwelpXOWZPd2c0NlQvSkpkcFhta09NeUJZZWh1QW5vcUFvQVl3NVpubkltelVFOGlCblhxWDEvZGU1K1RvaUhOYVVtb1YyUGRBTmdFbWswVllwU1hHYmF1eXlPZWUwRnNJR1lveVFNd1owMVQ0eWhOc3hFd3JGckZQaERDU0UreWZlVDAvK2hYdVFkRitFVEVXaktWdmxwUUNVYk54NERxMTNUVVdWMFdNN1FqcG5EUllrMS9IbHgzWFFQYVhJWjRGUkl3K0NEVUxFUG53NEQxZ0FheXdYcWh6WkJFUEJzZW9Lek5uSmJsbk1XaTZvQWhRWjBGRU14cFd3Rng2bUR3bE1INUZyRG1QbC9mbkpmZi9WV0lvMVkweW1hUFNyREdHTGtXV1hhRkJhTDZVL0lXa1l5bnIwdXpyWXJFWXNvczZXSTlIejJkcyt6QUMyd0xBeGh4ZllXTnpobXNFY1ptejFTbGQxMkViUXl1dE9pbTU1eWRkODNNR0NUTU1JcytoSHp6bk9HV1RhR1VPWWxnS3RLdVdKVXNtVmMyQ0Z1c2dySW9FR2hGRHhMbUtMZ1RPNHdtSGg0KzV1WHRyV0UvTzJ2emluRVA0N0l6MjVWaDNNR3VGd29ybGpkZGU1ODgrc1dRRXEzcGdMekhKZUlIb2dVQUd4SEZqc3NmdWRJYzZOMVRHc3pwZkR0bkZqSUlRTVZmb0RSUitONHdIZk1BbGxxR2wzblNjdG1mWWllWGc5SUFNZFBGaU5xdmt1b2FmQjllc1Fxd1ZnV1Qwdmovbm5JOFA3dk85M2UvZ1hEMFlTampuQ0NHUVVxS3FxbldLODFtUk00NUtyOXNrN0d6czRUQlVOSGd5MjdNdG1sUmpvaWpmMDdpaG5DMGlLdGNuRi9talZ1eWFLMjR0U1lSc0llYkFwL0ZUSXFLQTNQSDBRNmljMnRUZmV1UFBMdCtPQnFoMDNTbkNLZ1dFY3o0bWNIUjJ3czdaTm05dHZzMVd0Y0hlZEpkWnMwRTlxU0JCQ2hsSjRHcUJCRjBJbUpSeDJWSWJoM2Zxa0tqVW1LdWZBVDF3N3lmaHlxUHRnVmpmdkZScUdjVkJqT0tvaGNrNHNYaFJLK1l1Q2ROcXh0M3RPOXc3dWNlRGZLamF0QVJWK0JQV2piZ2lyTG9sTXMwS1JEOW5SbFlkWlRNbUpZeTFkSG1GODU3b0k0ZnpKMWdQYm1JdlBHTjY4NGllWnZCS1BSSlFNckpDTXFib0J2dGhQVTZndG81Z083eFA2Z3hIeERRdDUzbUZxVHd4WEdka2Z4SGlHc2orMGthWmlST1lURHkzYnUvaVNWU1ZZUmxhbHFzRk1TOWZXTXM4RDRQdDZFMEQzcGJtNFN2R0srZUd4dUlYaUtzendsZDJjRjljeTR1dTRKblJsNUZIVmQ2eUZndldreVBsZ1ZVT2xuMmhsUEVMaDdVV0VweWRuYTIzNlFXdEYzdlFwWU5aQWNGbEppSW04K1Q0Q2VJaTUrMFpmL2luLzVJUFBubWZadE56M3A0akJpYStlaTZRZlQ0WS9Hd2QxK2YvZmFUdEZsVDFoQ2dUVEExSDg0ODVEMmRhRnMwQVNTWGVTdGszU2w4ZVR6eDQrSUJmMmYrT0FsZVJBVUQxbWRrWDB1RWRRbUdjRmJDa05iVmcveGFiYkJCb2lTa29SOVFZa2lSUy9nSjBqaE40M3lBcDB6RGgzYTkrays5OTdidHMyVTFvaFkxNk5wemo0WjQybW5WTFJuVmdNenJvYXRNVUk4azFvV29zRDQ4UHFIZHJGckxnNE93eHYvZW52OCtpbXlNMUxMdlZNeXNnaGhGVHFSQm9nMFFNam83QXdmbERWcXNWdTlVV0tTVkNDRGk3THVscjgrTHpNN09TRFNucHJGa1NUSnFHRFRab3lVeVpNS3NtVk1rcGlzNFdYSStsTG02d09udjFlejE2Mzd0aWZKQTRucC9TRVZTdm9PZGw1RkUxWnB4eEhWODZ6NzhGNkpPV09DR2tSR0tweWhvc2VIeittRzEydVhHMnovN21ManZUWFRhYUtmVkdRMjBxOGlwaGphT283aXVOSXdkU2RyaTh4TnVHcC9QRXZjS0JMWDh6ZmdhT3VCRWo2dFFGMGYveW5sTFVMVFpiQ0lMM2xsa3pZN2Zlb1ZsTkVBUkRRRktaMkdUZDRVeGkzczJSell6RXoyUWZQVE1zbWNZNmZCYXl6OHlYSzlxWU9lbk8rTUhSRHdoRVZpeEtXOTd3UkI0b05RS0VWMkxJcm1Yb0VyWk0zQXFRWGJkNFlsR2ppRVNrSXlNWVdwUlcwdkZYcUE5NUhTOGMxMEQybHk1R1dUb3laMmVuK0Rxd1hKMFJhYkc1QlZxc0YyenVTZlBQNFRnbWhpWk9zZURMVTBSTGZJN1ZQR0t3Vkw0cVpWd3Q2WVlZWGhERTJrcy8yeXZlLzZ1TElYdlZqOWlEaGFzUy9sVXNmOTBvWmxBNzArR0orZ1ZnMmg1d25aNmVEbzEwM3J6b2d0ZkhyQyszalMxaUo1TWFPMjNJYmVUdzdESDNsaC9obG1xMUthUytnUFlLVy8vNWQxNWRxVElzUEprSkJrdTI1eGdIdm9ocHBHVW01NER6Qm9uUUJTa3M1Y3duOXo0aWZUTU5qWWd4Um5KeE9MS29Dc2JMVVF2NlhkSnNyQlhMZERybG5UZSt4dkhINnZEbGpDTitCamg3bWZXQW8yRkdKREJseXQzdHIvRDY3cHRNWXFQZ3BsV0FPcjdRZWlBYkxhd0szY0JuUTVYVnE5NUpueTFQR0N4YllVWWRKOVJWdzhmSDkyaTdRTVlSMnU2WkNmOExiNjhyOWFTY2NXWDRuM1BPd1pNRGJ0KytnWE9PNVhLSmQwNG5aaThRUnZUK2lsM0ExbHBOc0JqMk4yNXdmLzZBWFhNTFQrbU83NFgralJtdWIyOCtHOFE0NStpTU5tZ2RQSHFFb0tDa3YzK05ySldsQmpEYmIzNmZMUytIdmlRajF3ZG9kT21Mb0lLQ1Rwc1BvN1JZT2xvOEMxWWN4aWRNajJkc0gyK3dPZDFoWjdiTlZyWEJUWGVES1EzMXBLWXhsWjdyTHBQYm9DNWtwaHBsMkROR2ZObnUvcmxWajBnRitoMWh2ZDBLTXZXVHl4YXdWWWJLV0ZKTXF2MmRERGtZdHBzZGRsZTdQR1NGbzFvL0o3S0FWMXJIZVhkR3N2bVZPS0pHd0tWT09WcldndWt3dGFHTkt4NXl3SktXU0NZUzZkM2wra2R1RDJRajVoVnNZdVVwSUZ1MFcxQ0NqejZqYWlvTWlZNVl0SWN0eVVLUzdxV3JQdGZ4VnhQWFFQWS8rcmlxejdpUHpOMnYzQ2JsYzg0Vzk0QklsNVpBb0F2Z0t1V2RLZitWb1h3NGZqWE9LMzhyNllNc2x2ZGp1WC9yYW9zVWhTNEd1dGk3Y211aHk5cExITXZMZytid0RCZ1BmUDFJWWk2OS94K2loTk9Ed2pUOGJnd1kzQUEyWmRpdS9OeXEvOHRFdit6NWZFNUthUTJVWDJoN0N4MUNsMVJlKytZYzZGcHRTSWkySTlsSUtuem1SS0QybGk2M0Y5eUNYajVlY1NETENxU0ZTazBtY3F2NExwVi9Ea2lDZFVWc1BzUEVRVTV3Ny9BZUp5Y24xTk9HeVdReWRNNi9TaGd4ZXM2bEJ6bU9kOTk5bHg5Ky9BTUNRVXZuTWVDZEo2WlhBN1NhOWZFUURKNmFHL1V0YnN4dXdUbWNINSt6YVdhNDZIRFpNS1lMOUVBV0sxZ3JZQ3cycWF0VDFRTytjbTkxRXRteW0waXIzT0tqZXljMFRNaDBHQXhMbm1jRFBZb0JTMlZFVk1raEE1ODgvSVIzZDc3R3hzYkdRQy93M3EvbDlENWpzZDdWTEVNb2ZHQ0hST0hXamR2Y24zL0svdTZlV3RFbUlCdE1hV1F5aGE1Z3JWWHVJaU9zTFZ3QW1NYm94RFBFd1AxMFgvTnAxZzVBdExkekdMS3F3d2JiL2lTTkx2RlNnWkRSODFHS2FZa0ltRXhDQ3FkWU02eVZTVVF4dEt4WXNPQ1lZL3p5SWJQbGxFMDIrWHI5RHBzeVkxWk5tZFVOTTlmUUdEVlljTVpweHZlWmMxcExMMStsVHNFeTJ0aDh3ZkZxb0l6MENkdVN3YmZHMFVZdDZRc1pnckExMldTdjNlZng2akc2UnhaTEtEdXNtN0ppUVNaZ3pPUnoxOFFNR2RNbG5DUU1OY1pHL0V6NXhNdEhMUzJKYythYTlUU0pnUXRiN3MweEZlWlY0dUs1N3ljSXVsY2VOV0lvWjFXMUxvelI3YkZHT1NqWFdQWkxqMnNnK3dzWE1ub2RQNGtLUVo5Y2JySStkYnIraWhXZ2RQUDI5WjZUd3lPc1h4YXVWYVp5RHVjbnJMclZpQkpnMTZ1ODlDcXhmekNXdWJBcC82eDJWSGVoSDh3dkFtb3p0RVJmQWhhakRNZG43MzhmVjRPVDhUZDZMRGZNMkxNTzV1dkhPaGRvRkwySSttZkZ1RXo5MUdaL1VVRFdDaGxoeVp3b2tVd280TEozNkZJNWZ2TEY4ckwrMExzRGdReWZyWmM5M1ppeFNuT3M5MHczSnBwOXNKR1VXNkp4Nis1N0F4ZkErYm82dlk3eDVUZ3V4MzdlNDFCMllUMTlDQWlaWmdLaGdGYUxXdVU2Y2FYTkNLZ3RkSVpGbXZQbzlDRVRNOFhWQ3A2YzhkUkdmeFl2dytDZURFVXFyTWdTRFR6S2l4ZWlqT3FrUml3bVdkNjgvVFk3elQ3TGRvWExIa2Vnc2pVeGphK3V6emdPVjF6dkZrcExGM2dxdnJML0dxL3Z2MDRUYTFLWDJOelpKcDBuckZtM2ZPVnluc1JrN2FndVo5MWFxKzFSeHVBek9CR01lRko3eHM3MkZoMGR4OHRqRG80UFNHVDBLb3NYdG0zZHM3MitscTQ4LzBZZC9FSUsvSnlQT0RSSFRLb0dqT0RGTWFFaEpEM214cG1TZVJlVmk2SXZsRnZFV0Z4bHlZdU95cXBxUWRVNjd0UTNtZEN3Myt3alNXMTdVN0dMTnFLbGJjbysyMkpqbll3bEc0VmNpQ204V1NGTElKZ2xjK1lzV05FU1NZcE9odm5xR1A1ZHFBb05qNjlML1AvK005R2o5ZFIxMUY4SEhrSlV1Yk9xVkhJaWlZNk9GU3ZPV0hEV0xhbW9hSUpuWXpGaGoyMzJwenZzemJiWmJEYW9USVhMVHMwVXhHRnlLWkZoc05tam5FN3pUSXBZTHg4MkJyRGoxMlF6S1dlOHFUQllRbkpzMUJ2c05GdjRsU05nMFBTRTBNc1hDSWs1SGF0S3FEdXQ3SzJkQk5mWjQxeFEvM2piVEpFZ3MrVWV6TjZTcFZQUW5qSkl3a3BDellCWHFoUlRoVFZxTFNkTE1tUEZ0UmVLQWRpUHR1Znl1TEMrbC92OHRpWGFSQ3pqb0tzczJZSm8xK2VMci93Ni9rcmpHc2grcVpHTHlIakMrNUpOa29qM00ySWJsVzgyN3Z5WEVXQVoyK2YxQXZxNWZFbEV0ZkJJZUdldzFoVS9hNmNEVENtVHJ6SGpTMlN4NVBLUFYyZE5SZkxUOS9sVkdQV0ZNbnJQL2s0dk4yU01EbDR1Z3hmSVNiTlZxaVdwZ0tiWER6VlpocWVnbEFkdFAzajN1clM5RHVWcTFWTFhOWXZGQ29OVGVnWU9NZm1DUC92bkRnY2hkR3h2YkxPYXQ3ejMwWS80OXB1L1JrV0x0NDFLRG1VUW96elFaSVZzMGlDaFl5Umh4QmVwc05GRFdWUmU1L1I4eVdScmdwak03djRORW9tWTUweG5oamFzZ0VZM1FyUlFwMllaOFFLZ25XNVVyTTdVN1dmbURESHBjYXpzaFBNY1IrZjU0aUR3V2FHbW1oVXFQSlF3UkdiVGh1V2lWWTNUcEZRT2p5RjJFWXNuRVRsdk03REFJUHpldi9rWC9BLy8vZjlJWEMyWjJnMThWUlBheUdJNVozdC9rN053Um5icWIwODJCUlJVK095dzJhb2hBNkRhdGFic1JZSU1ObmthTXlOMWtkLzU5Yi9Mdi95ejMrTnhlc1NFRFNTQVZRWFBrcUhKR0tjV29Ubm5pMDFPbyt0ZXJVUjFNSy9Fc2MwbUdXR1hYYjc3dFcrelBkM20vSkdLZFlhY0VadUhSWWtvNzFsSTVBTFFuZlNObXBiT1dMQVdneW4zUVVhODBOU09nK01EV25kS1lNbUNPZTNFUUZxTmF1cDYvYS9QWEw3NGpPam5xd0taeUNwRkhJNEhKUDZpL2ZkTXFkamYyb0dqek9iV0ZnZEhaK3k5Y1pQemNBWW1Va3RINzI2VnhKT3RKNHRsbWVaTWR4cE9GNmMwOVpUdHVJM3RIRGZZNU0zNnE3alVrSzBsVmdKbDBtVnlJZ3VFbEhFaUNuU3RJZUhJb3VZS1ZoS1lqdFB1alBwdXhaLy8rVjl3d2hsTUhhdlZxZDU2b3JzZmgzU2xCMU5Za2YxK080SFk0YjArNTJMU01yaXRhbkxYbGZ0dk5EY2ZQOXQ2NHpCUjJvRXRWNW95dGl6YUdwYWhTSTA1TWpYZ2wwSzF0TlJZWHJOZlliZmE1dWJzQm52VG0yejdiV3Bwa0E1U3A3UXVLMFdDenVTMVJtL1J2KzZkRS90bXVJRTFZZlJ1YlVua1dpc2plWm53MWxJN1J4TThIc3VDUkc0TU1lbzQ0NXhBNlBpVUV4NzdqbjJicUwwbEI1VVk4NzRpaFVoSWlXWmEwMGxITnJuUTFUVHJickxGWkkrSTR6QWxObmYybUxlbldMK0I3ektzT2w1bm4zczhKRnVZOTBtSHdnRnhRWjlhUGQydHZUQkV1djRKcmh6dDFFK2IxaHpibmlhU3lpZUkzc2s5bGFBL2RRbklydHgveFpRdEpTQkllU3Faa3FtOWJ2ajZzdU1heVA1Q3hLWE1EaFF3MEdmZzhpampWamc4b3Q4Zk1wSGxjKzFhejBOSCtlV1orSVdDekpEMC9YSkt5MS9FTXNhSjFWNk94WldmRGV1TUJHZzI2ekpQYkwzK3oxa2dlOVZKZVZuMWNqbkhVUEhKZzQvNHp0ZC9GVkltNVlDVENpc2VwUGdyU1UvdTYvKzRsOXk1V0Vyc00wdGJtenNFT3BhTGxuZS84UzMrMmIreVZNNnhYQzB1bUljOWF6ZE1CY3V6Z01td09hbnd5VU1LeXBIT2hwckppS1BXWi9INkpvcWlkbkZoRGV2MGg4WGo4ZlJPWXhab2w2b09rVkxmWkxIKzlvWDF1SXpreUdrODVzT0hQK1hyZDk1bGNUSm4wMmxtWjNPNlNleTB5em9iUFQ1YUpSajUydzg3S1ZySk1HWjBuNVR1OXc1bXpRWnYzSGlkZDEvL0ZtY2ZudEdXVE5GT3M4dFJlMWdtUlFhUnVKNUllTEMxSXk4dnpuYUc2MUgweEVjQ08renlqYnRmWjZ2ZUlMV0oybFZVMDFLZUx4bHZLNUJLOTNaR0FhMGhZM0xHR1NrNFU0cmttU20zZWNJWnczbDd5bVN6NXVNUFBpVDJXUzRKbDhpaC9WbTY0bDU4NnVMUWN4dE5Ka3JpNDlVOXZzYzMyQWcxZTlVK1lSR1lOUnVrMkhmS00zQTFCc2trOFdTRFpreEZlYzRWRlZYcjJMSGIzT0VXRzJZMmxPNHpZRXhlWnhSSHg5TWFCZkxxbFdVUms4cmpNMkZjNHNuNU1jZjVtSlpBRWpVemNXa3RXckMrSkExclBlNXluZlUydUZtenZTSmdrc09aaWk0TGxURU1iWm5QbXJnL0k1SXhTdld4QVV3aVNxYk5oWktBL2p2TGN5WnR3MjY3dzliUk5udnNjWE4yZzF2YmQ5amJ2Z0huNExJVXB5dklXUVl3S3ozWGYzem1SdGxITVpyVTBGOHMzaWdRZE9Lb3hJeVBhUm54QUFBZ0FFbEVRVlI0cUhIZ1g3Z3lZVjZTT0Fwek50Z2c1WklleFNsUU5hamNXYjhkcG5jUnRGcGR3V0xFa2ZHWXh0R0tKUmw5RmxRNXMxM04yRFl6UHBGVWxGdEd1MUZ1cDc0SmE1a3ZaOVA3aWFLNnZ6WDRValRLNVc5eU9kUGF5dGJoMFNjUkJjenFQYWJLc2JCS2VkVE9aY3JrRzJxVWlxRU9jZGZ4WmNjMWtMMk82L2lTdzFXT0dBSWJac3JQZnZZQitiZFY2aVdtaERYVmtDZGJqNHVXRjBIUVJ0Uks4dmo4QkZjNWJ0MjR3OTN0dTl3Ly9ma3dSVkxuZUJob0JaZW95VlB2V2F5aXJySDFkSkp4Tkd5enpSbkxvbm5heDNxYmVpRDd2R3E3TWtRckVoR1BaV00yNDhsQzNlQ2NVMnBCdnFwYU1FekFoQVVMZnZDVHYrU3R1MjlyUjNycU1HSnBtb2JUK1NtdTlrZ3VFendSVEM2aVBXWnRTTmxQQnk1M2hxc0ZyMVk5ZHJmMytPYlh2OG5SMlNFL09md3hGWVVtaHlWYm9Xa2F4QW9odHVTUUlFRmVKamEyWm9RUWlHMUVDcC9PU2ovZ1doeVdON2JmNEp2dnZNdlVUMW1jekttbG9YSTFvZTFLeHUzWlIzQTlrYlhZVWxLWEVlQXczakZQQzJKaitNbkRuN0VpNEl6VkR2UXZ5SmpvNE9DQXMxdHp0dk1XZmxxemVMS2dtVTNwVWxxdm94QTkrMHlnS1pQem5IVkMwdk5xWTR6TXRqYjVxdjBxZFZYMXJmTFBpUjU4WGd3eFNyOHczbkR3K0lBRjUvcEJvVUwxd2lNT2lza0VaWmFSMStsVlVVNXNoYVhKaHBxS2dHQndtT2hwcUVpU1AzOUdUdFJpUWxLcGdKZzFOejRJeEt3Z01nQXJqamhrd1FPZXNMczQ1RFVXdkxrWmVOM2Z4Y2IxL3ZkR0tpL1NoTlFiUjZpYkhEcVJLOVF4NDlhVzF6bVBLVWQ5eGpKeWRIckVhL1d0TlRpVzRrcFdtaS9YWFArbmxXZWtUTW9xNzBteHd5TTQ0ekF4TTV0dXNMZDFBM2Y2b1Y0KzBuTUo5SytUZzJVQzc2RFQyYkxPUlZNdW5HZFhERFZNZ2RhMmNMREgzUmVhZSswMUlSVDZ5bWhMbGNBeVJlOVVNSVJTdGZGNElwR09ybngyblpIOXN1TWF5RjdIZFh6SklRVlZpQWlmSGg1d2RITEkzdDNiaEhsWGVIOTlScjAwdTRqeTBxQXZWR3IwUmdORzdBQXBWOHNsc1kzYzJML0I0ZUloLzhtM2Y1T0gvK29Ub0dMYVZKeTNDMzBVbXhFdFFaRUdDQ3pPSTQzMU5HWktqSmx0OXZpYmYrMXY4ZmFiNy9Ea3lRbXpqVTNHL09qTFVqeDk4OVZWWU15Z3NtYXJ2Q0k2OVVmNjNkLy9wNnp5b3VSRktGbmRNY0RNRjBpTmdSWHZmZndURGs0ZWNudmpMbUVlbVBrTnBTS0kxUjJMTmNuRzRnUTFHcXJNMWRPQnZwRWtHYWhzUmJkcVFReTNkMjd4M1c5OWovekR6RStQUDZDTGdRa05yWFMweTdZc2ExMW50czR3UDFrTWIybFBmZzhRREEwTis5emluZGZlNGU3ZVZ5QUliUnRvdk1FYVF3aDVaTkY1ZFdSVVhjRVZBTnNEZG9Cc004RmxaT0s1ZDN5UEo1elFGb2VpNFJ5L1NnaGdEUE04NStHVEExNjdjWWMyQjRMTmVDZmtITWQrQlpmSmlIcXNqU0hHaEs5cnBjNmtSR1VkZDIvZFhuOUgxbE8zbnBzOVBtK3EvYnZPdHVWaVhScGNKbGR3Y1B5b3dCS2xib0VDZkVLNkFMSFN1RHBWSmdJT3dRTTNxaDMyTnZZd0M0c0V2UjhFaTFTWFdkWXZIcDN2K0dqK0lYT2lDak5vVW5PUWh4WUxuZFg4ZDRyQ0tyZlVaQlk4NW16UmNyUTQ1ZmJ0ZmVya0JuV1Zsd3VMRTRPVXF6S1IxQWJiaWZLUnkzK1M4akFoVVhxV0lBU09UcC9BSGJER2tKTkJvaFMrcmNOYXBVdGtrZUkrZGpuNktrd2t4UmFWSEhaMDdaSjZPdVhtNW0xMlR2ZFpjSUlSbmV6Z0V2MkRMMHBwR1FDZHl4aFZzYkJSdWVJemFtN1Z0M2pudGErcGtrZDJLazhuU2lYb24xTmk0d1d0N1A3NVlJcVQySEs1eEZXV2FES2RCS1F5UkJjNU9EN2trL25IdEhRdmVjeXY0Njhpcm9Ic2RWekhseGtDT2FnTVRLREQwdkt6ajM3R08xLzVKcVpTa0p0TDlpNkxsdjRZUUMxd29iQlYyblg2Z1YwTUtXZDJOM1p3MldHajV6ZSs4NXY4NVYvOFd4NHVQc1IwYVFCczQ3eENQNTczQUdMbU4ybmJqR1BDYjM3M3QvbnR2LzUzMmQyNlNmdGF4M0xaWHV5T0xnUEJ3TVZMVndQY1BxckdFMTNnWE03NDJhUDNzTmFSRXlwNlg1VFFrb0RwL2VQNzdldXBOV1FPZWN5UFAvb2hkMzc5anVweWVzUDU0VG5UcWZxajk5bktOQUxiZmJQY0lCaC9lUnZMWUdjdDJPUUlxNEJ2S3Q2NTh6YVZyYWgvV1BHand4L1JFalVUV2dxWFZlMjFFU29FUWd4RFFySnhqZEpGNksxbEhSTm0vTmIzZm91M2JyN056TTBJSVlMek9GUnl5WnUxT1B0VnloSzZ1WTZNcFJJd1NYQ2lEbnpKS3VPMU5ZRTh0ZnpnMzcxUGgwb1Y1Wnl4M3BDanZESTF4am9nWnU0L2VzQ3YzZmtlNS9OejZtWkdKd0ZzVDNmUmt5a21qU1lQdVRCa05HOW1qQ05uM2RlY1lXTmpDMGt5a3BtQ05SbDdmYzZ1UEM0R2dzbEVLeXhpeXpHblpETE9tTUhvb0o5ZzllZkhsU1VtTEVVbUFRYzBPQ1o0Ym03ZTROM2JYMmN6YitIYW1xbHNVZUhJc1gxaFR2amxXTlF0WVg3Q1ExbzZJaDJXS0ZtM2NkUnpGaVVSZllKVTBTYkJrVmdRNkFnczBvcEpyTlFSc0dSanh3MnF6d08zT3VsMWFtNWwxN1BZYkZTUUtwV3BaQjVsNzBNT2VCeEM0alNmRUNXUm5jRjRSKzZTYWdLYlhPUVpQVmtTSXJiUVlpZ1VrenljdDV4VVFNc1pOWXJJSWVNNnkwNjl4MXZUZHpoYy9wZ2FhRk1MTmhZZzIybDdTSjllelVDQXBxcVJtSmhRc2NNRzM5aC9tOXYycHBvK1NJMDFEaXZGQzY4b0QxaGFzb21rM3RWTDlENzJSWk41c3VuQUpEb0pCQitJRzNDY0Y1eWZyY3B6K1RwK0VlSWF5RjdIZFh5WlVaQ1pkNTZjdEpIbi9aKyt4MS83N3QrZzhkdWFpY0NPcUl4aldrRkdtN3Jpa1BXN3NHaFJ3RFNkVEhuMDZJRHA1cFROemJ2OHpkLzhIZjd4SDN4S2twS05MWXR6bDNDTndUSTFHd1hFTnR4eWQvbjIxMzhWTHhzOCtQbGpLbE14YVJwNkJRQVlaelQwSFpQbHFVN3BQc1FLeDhkSCtBM0hhWGZLaCs5L09LaGdtTHJnaVQ2Ukp1dEdETk56RmRHc1k1ZGJmdml6Zjg4MzMvb1dONnJiSkp0b1E4djJ4all4OXA3dzBJUCt2dXU5VndMcEp3RFpySnRCQUd5MmlCRnEyMkN3eEJDWTFEUGV1djBXdFZUc0g5emsrKy8vRythY0UyZ0J3WFpGeGdqbGZIcnFrdFdLQ0k0R3g2YmQ1bzJ2dnNtYisyL3k3bXZ2TW9rVDRqeEJoRW9xM2F5VUM2MjBQNTRNbWZNeGNKTEM4VE1abkNSY1ZwNnJxbE1rbHFibHlka1o3NTM4bkl3ckJncFJ0V0JmeEg3dk0wSkVzRGdlaFFPT1ZxZFlxWEQxbEJ4VnJzbjBHZlJ5M2E2THR6SmNJMlBadEtyU1ppRm5MQ0VHbGNvcWNWVUN1VDhTdmJ1WFVKeWFyQkJjNXVEc01XZWNsd25MbWpvUWt3eURYejg1TXF5NTNYMVozWlVwbmd1R1RUUGpodDNISnMrMDI4Q0xKOFFGZkU2V3BFK1dONmQzeWN1V1E0NlZJNTZOR20xNDFuWHdIcXdWTytpaWhLaTBnN3cyQVhsUi9kNEwyNEFyZTl4UERsUVZJaENMSGZHbEtKNjBHV0hCbk5QVkNUdVRiUm8zSVRzaGk2cFRaREVqY0xIT2dGNnN6R1JTNnFpYzZ1bVpEQzVYc0lMYU5yeSsreVlmTFo4UU9FS3dkQ0dVckt3Qm92S1h5N0V4R1d4cnFmQk1xYm5MYmQ2WTNHRWpiVkRGQnBjcVZYNFlVdDRXUThTeFFDUVNqU2RZemIrYjdLaVR4V2V3ODVZY1c1eE4xSnMxQ3hOWXRndU9UMC9IaGFIcitKTGpHc2hleDNWOG1WRTBVMk1PZUN5UnlNZjNQK1NUaDUvdzlhOStrK1RBNUtpSmlKSFgrRkFhZStwUm1rY0x0amhqV1o2MTJPeVFGbkNXYjczMUhjNmUvSmQ4LzBkL3pJRzAyS2NHTEl1aHd1REpVdUdwMk9VbWYvdHYvRjNlL3NyWDhXYUNtZFRVdmlaMVlXUVhTZUdnMmhHUUxhOHk1cUdXTFpmTS91d0didE53OHZpUUIvY095a0xXQWh3RFo3ZU10ZU5sWkRKdFh0SFlDUitkL1p4Ly9jTS80Ky85eHQ5bkZaZllSa3VsYWpWWndDQkdtNzVLc3hSRzFvMlJveGdNUVFDVE5MUGw4U3BGbHhOTjFmRDYvdXZzN2V5enY3L1BnMGVmOE5NUGY4NXhQaXpuSTFOUlUxUFJvYzFyZlFiMjFzWXQzbnp6YmI3eHp0ZjQ2djRiZEE4RE5sak5qaWFnQi80aW1HeXc1bUtEenVYenBLNWUycmFrRklOSU1rSTJrV3dqblkxOC8wZC96aWtMQXFFQUZiQXgwNnRRdlFxV2xWeWNubWo1K1BFbjdON2RaeEVXTk5WTWxUUkdST21NMWNhc1lZVXlPSUNsbEVCZ1l6SWxoS0J5WW1hdEhqQms0aSt2MzlqaHZ1Z2I2WkxKUkp0cGZlYmp3d2UwUkJ4VytkWUdldjFQYzJGYlJzczM2d1N3R0VPV3pPSjhTWGVlRktnZEdmSkNzK3ZWem9ZcVlueU9xTVR5enU3YnhOaVJnM0RHQWtORUNMUlI3YitwYlFHelJvbXpSWEdsUWh1WnZMR0RRc0dnZGYzQ0hGbHRqak9pRFV0aWhHaFN5ZldHdFo5V2YvRExUWjVMcGpZUytmVDRVM2IyZHRtZGVHeGx5RWxJWlJ0bGNCMU02MGxZV2NJd0dUTVo0eTI1YURMUG1obGRDT1I1NHNiV0RYNWwrMXRNeisvelliN0hPVXR5Q3VSa3liVElRRHF5TkhncUhEdHM4aHEzK2RyMm0reWtMZXpDVWtlTFMzMFRYeEdETTBxcjhFQzJobXpCV0tzTmFPSXd3ZU1UYkxrSktjMUpyaWE3ekRJZE01K2ZsUng2ZnRWNTRIVjhRWEVOWksvak9yNnM2TGwvRmlRS2RWMFJ1OGhSZk1UREovZDQ2NDIzTUJhY1dMSXA1Z3l5SHJnVklQUklMMThobko3eHZ1YjQwU0Z2dlBVNkh6LzRPWk5teW5hOXkzL3o5LzhocmpMODh6Ly9KMlJhK2xHcWw0WXlxa3FLbzJHUEcvenQzL283L01iMy9nWmhubGkxY3phbm0rUk84RkxwcG96QW9pNUhIeTI1cEh2WERrTjlyN2pCR0tGck80eUQ0K01UN2gzZDArMHdocWFwYU9QSWVXcTBiMFAyRjZWRnVJa2xMZ0kvZVA4ditWdC8vWGNnR0RZM2R0VGh5NmpWck10ZUMrc1dzdWt6czJXeG8yYVZjUmdVRk1SVkl0dU10dzdKbGh3VDNucDI2eDFtcjMyYmQrNjh6Vzk4L1RjNVg1eHhkbjdDeWRrWjg4VVpiZGVwNWVwa3l2N3VEZlozOTlqZTJNWmFUMmdEVHo1OHdpeHZNbkdPMmxudC9nYWNWVnBCYnpCZ0paTnRIcmlHSWxiTHM4Tldyb2toS25VVXlUYlIrVWpuTzM3NDZDZDBKQ0tCeWJSbXRXeTFpY2xZbGk4anZmZU1pQ1dEZCsva0FkLzcrcTh4UDV3em1VMmdCWkZjc3ZSOUpxL1hQTzJWV0RRakcwTEFHRU5kMTNSZHQ3YTRmWTQ5b0poU1RURGxLSWlRRENRYnk3NUhIdVhIQkVZU2E2S3VoTWtJNGp3NXh1SFN5djIxMEFOdjBlNTd0ZVJONUdTby9aUnBQV01yYmVHdDV5VE4rYndzV1JNOWQzZnVjbkp5eEZtWW81QXNJTFFZRWwwUWJSdzBhakloUVgyblBKWUpGZHRNOEZacEJUMlFIVndJeTcvUHNtbldUTFpCOXpRUVRVRC82d3FRN1ZPcHJKOHRSUkltNXNBakhuTTNuckZodDZpOEo1UEt2YTU4MmFkcjd6M2Z2VlJYbkdDOUpZWVdheXl6ZWtLM1RNZzhNSjAxZk9mdU4vRUhGZUc0NHdsUDZGZ04wbVdhRi9aVU5FWGx3YlBQSGwvYitocHZibjZGZXVtcFE0M0xUaDNSeEpPTW9SZENNOFpUaXkrM2ZZMUloYkVWUm1xY0tmYTBDWEp5V0Fra0VlYkxNdzdPSG5ISWNUbEMxMUQyRnlHdWdleVhIUDNNdVgvZ2FJa3RrYlBCMkw3a0kxelVOMlVZZEhOeGxERzVMRXRnTEwrVlRjWU1GcXR5WVoyL0hGR096UGdCZnZsM1dSKy80ZGpKeFdQYjY4WU9yMlVaeGlyUFZFUndPRUwvRjE5RXN3eVFJMnh1VFRrL1hiTHFsbXhWTzNRaDhVZC8rZ2Q4ODkxZndZY0pkMisvVG5lZW1KOHUyTjI2UWVwZ2NiNWtZMnVHU0FSVG1qSkFzNHc1Nllnc2pxN3IyTjdlNXVUb2xNM3BGckVOT0JxNjg0Ni8vVnQvbjI5KzcxZDUvNk1QZU8rOTkvajA0VU02V2lvYWRtZDc3Rzd0OHIxdmZZODd0KzV5ZS9jdWxYaENUamhuU1VGNWNGS3VQejIyQmlPRnA5ZW5YekpNSnhOV3F3V1NBazNUc0Z3dWlUR3dmMnVmMEhZczA1dy8rS00vSkJIWnFLZDBZVTU3M3EzQjY3cnllZkhZVWM1QnBlZnBLQi95Zi96dVArSWYvSjMvamx1N3R6bjg4SkE3MjE5aGRkWVNncTdiV3QzMjZBSjE0OG1oVDIydno3ME0xNGVHZDlvTExUa1ZicCtEckc1MzNsWk1qV1BxWit4dTc4TjJQL2ozTkFnTkkxWnBGcTNTQUJxWllKekZpOVVxS1ZtUG1WRzFoaWh4dkpjWGJKTDc2eFdnQzVIR0tpODZGcVBON0JLZDcyaGR4ei83bC84Y1o2M2E2cHJNcXAxckJpOW40aGNBWXZ2bmpjUHpZZmNKUDMzNGMzN2w3cmRZbmErWXVocGlIaktiSXBySkV4RmNYaXQ3ZGtsd3JrSkVXTTVYeWpmT1pSSjBRUzlxblNudGJRRlNWdTVyMTdWc2JHNXkxcDZ5U2kzVmJzM0hEMy9LRWVjRU1pM3RjQ3hURWJlUEtUNzdIcmJsRnFvc2NTV2NzZUxKL0pTdmJFWWFFVUlYdFdITWFhYjU4NFFWUnpycGVHZjNhOXpZdU10SHgvZjRhZmdZd3prMUVjSFEwbEdKd3dVMVNmVkFqZU0xZjRlM050OWdZdXUxUXNBb1BndkE5aUdpU2hHbWdWVnFhVzdVbk9iRWgyY2ZvN3JaNVQ0WXpTZXlRQ3N0RGpqaWtDZnRZL2JjSGpBbGQ0bUptVEJ0YWlSZG5HelpvZ0pSbHFKVUVBZXJ0TVE3RDJKWXRoMlZhZGh1R3VJOFF4ZDRhM0tiRzNjM2ViUjh4TU9UK3h6eGhJNjU4cG1aTVdXVEc5VTJ0MmI3M0d6MjJERXpwcUZta2lwTXo3TWVlTG9XVENKYnNFU3RLQmpLQkdnTnMvdmZPMGtrSDRrdWNKWVdQTzZPT09GTXJUVmNlZ0ZWamV2NER4SFhRUFk2cnVOTGpsU3lRcURhc1luTWsvTkhmUDhILzVyLytyLzRiL24wM2lmTTZoMTJiK3d5UHpyRlVyTzN0OGR5TmNkWVM2L0RhcVJrR1lzdUtxUFNMUFNsUklmZ0lIc2t3VnQzdjgzKzdodjgrcmQrQjIvZHdGYzBvcnFaOCtOVE5tZGJUTndVSWxqdkNpZ3JnK2VvUklpWVV1cWxBRDVMa2tnMEFmR1pOZ1djY2N4MlppeVhjeDRlUFdCanArRUgvLzdmY2RvZElpVG0zWExOQyt6ak0rWmRpOFVTc3JwalBUei9sTC84NE04eGJ4bHU3dC9oMGVFQjI4ME8yOU50dXRqU2hZRHg0TDFYZWJQeGFvd2hrd2RhQkZ6azlJbjB4MU9QdHhqdGhPN2R0bnFadElHRFMyOXBXcFFLc3VsN1hkWk5UQVdvYVhaU2l1S0VESDgvSE50UjJNSTV6VUJsb0tvYzZvQzJJcGxBOG9HamNNTDkwOGNjeDJNV3pBSFZLdFg5WkdULzhJcGhJRXRtem9JSlUrNmRQT0R0cjd4REpWQWxVeVRCYktFNjk3Qkc3VVlIZDdncmdPQ2FPdlBzMEF5cUEyT1U4NXVDcnNWbnpzS0N4L05ET2xJcGtxZCtjNHU5ckIxZHU2d25TK09EWXFDTmFzUXhwK040ZGNiNWRNWDJkQThiSEczYktRKzlONmZoNVY0bFc5cmppTnVvdWJHeHdkWnJ1OXh1WCtmUjJXT2VyRTVZcGdXUGVJekgwZUJwc0d3eVpXK3l4YzJkZlc0ME4vRHpWenlMMW1LOFl4SE9TVTBtbWNoUmUxcXk3R0YwZmk1ZWc0TG1jRnNDbjNZUDJWNXM4L3JXNjFSTTZlWWRKZ216dWlHSGt2VmxWUGtZTk5MMUxHYWpEbU0ydWVFSVdiSDRwSnpwS1RWYlZjTmUxZkQ2eGg0ZEs4UWw4Qlh6bGNHYWhrbjJUS2lZSkUvZEdVdzA1QmlwVEZPMlYya2xZb3ZMbjRGTUpJeHVReWtUOHVSVThTU1lqS1FPTjRNd2dWTTU1MUg3bU1jY0ttWElpODQ2ZjVueVF2K1J4aldRdlk3citESkRvRjBWeHlJTVVkU21kY2taZi9iOVArWS8vZXUvUlN1Qm1kOGt5SW8yTGRtc0s1d1hRZ2hVamZKUkRlb0hEbVdZTE9CS1JvT0dpQzBBeWdJT2t4MG5ENWQwR2F5ZDRPdUtxcXBBTWpGR0pFVnViTjNCQUdFWmtaaHd4dU90Wm4xamlxcjNXaWdPVXJKQXZjc1FaTnpFMEthVmxoQ25sbVU2SjVzS094T2lySGk4UE9hUC8rSVBPZUVKbGJHY1MxQXcwUk00TllsM1liRG9meFNqcWdLNW9MSWtpY1AyTWQ5Ly85OHdiV2JjK3U1dG1BdlJSTnE4SWttNmFFRnJGTUVNSmhOOXcwdlJtSDFhYWFFTTZ3VklJbWpKc2tRUGx0SkE5WEJyYm5DUkFsT1pyTFh4UXVaaTZid2ZURFhiL0hTMng0eU9oVFZRT1kva1NKdFdSTk5SelN3cm03ai80Q0hmLy9nSG5IQkMyNE5ZVXpLaStZdnpJdW9UZjUxRUt1RER3MC80MVhES250MGdkUzFlSmlOVEVsdjJUeTEwbjdsTVdjT2M4YmRrOURyZWZtc2RHRXNPRWV2VTl2Wm9lY2o5ODhlMDVOTGdsZ2NTeG5ERXgyQzIzOFpMWUZhdjRreEw0a0gzaU5kV1Q3aXhjNE5tbzJHMU9xZWh3Zy9aMEpkOWhWbTFxZTVUQzB0ZE8yNVhOVHY3MjN3bExGbkdKVHU3VzZRVVZDcE1DaThXcXdZTlMwK1ZuNTRFdkdnb05TTmhLc2N5ckRBVE5XQjRjSHlmdHBBTGloM0U2SS9XMng1THB2dFRQbVY2TW1WdmU0L1pkRVpZSmxaZHBMNEVMejRMY3FkZW9FSXlMdXQ5RnVZcnhHYU1TelRPVVBtRzdDb2drYVhpWnJORHloNGJNeVprZkFjdWlhb09zTDVta3MzbEh5UXJSYWtsS3hCRnM3WFpHTEtKK3Z6ekZwSEl5cXlvTjRTbFgzRC85REgzdTRlc1dJR1A0QTJsUkhjZFgzSmNBOW5ydUk0dk9aUktacFFyRmtQcHEzQThuRC9nZDMvdi8rTHYvZloveFdUVGMvenBFelpudTB5cWl0UFRZNnlVRE41VGNnVmwySlplOW5zRVpnMkZsS3NOWTdkMmJ0T0dUQWdCVXNaa3dlSlZuTncybUpTSU1aS0NOam9aQjlsN2tJRnBodklkblpidXhBNzJ1UUNUU2NQSjJURk40L0NONWVSa3lXSjV6dGJXbE1sdXhmZS8vNmM4U0IvVFViSnB2WXRRWUowSXlyWUlrRUdmK2V6M1dlVzZ0SHZaMTVhMmJmbGsvaEUvdnZkRGJ0Kzh6VGZ1ZkpQMjhaTEZZczdFVFRIZWtGTW1wcUNnL1psbDRWeXlOaGNOQ1M0Y2FyRVhzcmU5R00rZzRpdVhxQVVGd1BiZTlGSWF1WHBYdG15a3JLdTNUYjdJSjd5OEZVWXNsYlBNbCtlMGVZWGZOTWdFSHMyUCtlREpoL3g4OFNHUm9HRFpsTGF1cHl2RnJ4eEthY25NWlFVYzgrbnBBWHViYnlPcnBFb0FaUUlscHM4MTl6T1Vxek94Y3VuM0Mrc1pyOWRZc3F6ZHpGSU0yTXBnSzhmSnlUbUhIQkhLRVJnTEFGemdSWTk1NWVNSjAzanpLdFgwUGVTWVQwN3ZjM2Z6Rm5YdDZacUFjMmIwQnkvL092TmJ0S0ZqT1Y4UzVoRWFROTAwVEh5Tk5EdVlEbkpNR0VsNERKV3BjQmx5aktST01PWlZodkJNbHdMMXhDdDRuRnBPd3puMzV3L3BDTVNoSWdCckcydjl1MEtBSTVOWnN1RFRjSi9icHplWjdXeFFOdzZKaGxWWVVSbTd2aDlLcU95WFRzVFdqYUpXYlpkdEhqUmNqY0NrcnNrNWtwSnlyWTNVcEpSSkVzbEpFSitVc3BPTlBydXlWcFdjdFhodnRaSE9hQlkyVzcydnhLeXRuOU1nZE56ZjUzbkkza1lib01tY3VnVUhxd00rT3Z1RXh4d1JDRHhqcG5zZFgxSmNBOW5ydUk0dk1hejIwQStDNWhIMXNIZmVFR1BnVDc3Ly8vRzFOOTVoOTFkMjJkaXVxY1VTd3BJVUluV3RaVE1qZGlnYnJ5V2xwTGdiS2RBczcraFhBSXh5MWs0T2o3QldOU2hWKzFGSm1sa1NJVVltVlkwWGczTWU2eXJsdzJiQlduQ3VJdVU0UE5ONzZhb2VKQWtRVWpjbzNuU3hCUmVaVER5ZExQbmswVWY4MlkvL21KWUZpVVFucWc5SlphQlRCeVhKeXYrMTQ1THNDTmlsc082TUQ2SWd1RXN0N3gzOGlQeHZNNXYvMlJaYnpRNHp2NGwwd3YvZjNwcyt5WEdrNlowL1B5SXlzdzZjQkVFMmorWnd1alV6M1R1emtrWW1qVFF5alVZbTdZZjlzTGIvM241ZnMvMEQxdFpra2t3bXlTU1p1bnZVeldsT3M1czNRUkJIQVlWQ1hYbEZoTHUvKzhIZEl5S3pzZ0FRQUFteUVRK3NFSGxHUm5oNHVELytIcy9ydkVPWldJZmRPVWNocGlPanZYa3BTbkZGMjJodkdkQUxMZWpiRFB2cFFyVGJ6cktianowRmtLZ29RQitVcE9Tc25BY3U3Ull5SVU2eHR0a0t1eHErQzY1QkswK3hWU0RiY0hkeG43Lzc2a00rZm5DREpVMHNnVXJBNkY0NG55SlpJM1VNMG43VytWZ0JoVVlxaDhkemUvOE9mM0xoaHpFQnlXVkp0bnp1WGJpR0l1QlZsa1BLYlptMmFSR2dFbEVsUFk3TjM2MFFRb29kTmxyanZNU0ZEWjZqeFVrNmUyazlGU3NRVFZ0VkpQMmt5YnVWS0xnUHhNdHNOY0VIcWxDekozZTVQYi9HWkxkZ2RHbkV0UEhvRFlVZW5nUTZhSUtyTWFMWkh1L0dVc28wK01ZVEdrRWtVTldMVmxvcktKMlNsUlJLalRCYXJlY25maTBFQmQ3WEdLVXhXeFp2R3g0ZVB1U0VrN1Q4a1doeVZ5b3RmdW10QUtJdm9iRTE0aFJISEhIandVMTI5QzV2YmI5QlNZRTdkVmlyVzNrL1dKZmZBaE4wdTZBRDhDcHFhcU83UkRTUnVFQTJnTkVGcFkxVkR3MkNrbWlOMXhwRVNkTERGWm9RYUZLeW1hUlFBdCs3VEczb1Nrb0cxWkovTDh1M0JieHBNRHVhaC9OanZqeTZ6VmQrTDJrVkVEdktVQXZoTzRPQnlBNFk4QUtodFk2NmthVGtFMkxzbVF0eENxNnArRS8vNVQreVUxN2t6LytYZjh6MFFjVjhXbk54K3lLRU9FbmtwSm1NVGlRK3Uvc3pVWk5rcmFYOXhzaUExb0lXUlFoeFVvNTZsQ2E2Mm9KSEs0Vk9ndXMrTkRqbkNFRmhyZTYwVGlWWkpDWG1YdWVKYWJGWU1Kb1VlR21ZTFU0WlR3cTJMc1ZTdlAvdDUvK1p2Y1Z0eE1TSVBCR2dCSWducFhUVVpOV3BYbnB1bTc0a1Y1VDd5bkpheEJGTndYRnp4Ry92ZnNERlgxN2lMMzd5ejNqbDFXdFV4eFhMNllKSk9VR3NNSjFPS2V5bU9xMHB4QURRU3RycytGVURUSXE1YTlzOHVrU0Rpb21Ca21ic21GWHZNVUVSZEV4eWlvVFZ0bVU2c3dVV3lSWWpIeTNiNlZpNm9nSXJQUWNsNEYzTmVETEM3eXIyNmdkOGNQTWpmblh6NzVneVJabElBa3dpanlIUVplVXJZbHlHMzJUeGZYSkk1dkhLZzRrTGozdUhlMHpuSjJ5cnE5SDYxbXVqdkZYOTVVRmFCL1RKZXY5c00vbHBJNDk3K3drS1hQQ01kU3dtSUVwUlZSV0hwMGMwMmJxbUF5R1FTbGFrK002MUdPeW91YnhxSTI3SnJHOFFaWERBTWFmY09ibkZ4ZkdZSDB6ZVNGckh4Vk8zbi9lQ01mR2UwNEQzRm9KZ1ZWVDEyTjNhU2lRV3ZQZTRKa1ExRHEzUk5pZlFQY1AxczVxbHI1QUNIczVPMkR1NmgwT29hWkpsc3ROZDdYMnJ0Vm91eGFmYnJ1RXVkN2w4Y0lrcjVSVkc1U2pLYWluQkNPZUd5Umg2aVh1WjBDb2ZsNGNDdnFrUkQrSURPc1RrU09WamlXVW53dGdTcTVEcDJLbERDdDBKaEZRaU54NTd2TmR5S0ZIU3pNN1NiUklWQ2xxMUJSMUFOVFM2WmhFOEQrWXhwR0JHRlJNcU5Yalg3bTdBZHdBRGtSMHc0SVVpdXY5ZDZLeEdDbkNoSmxZSUYrNmMzT0xudi9qdlhObSt6T1d0VjdGRmNyMHBtNGhqUjJaYjY1TUtTRHVBOStXNmVrWVZDVXhHRnEwRTV6eE5zOFQ1UUdGTHJMVVlyV05XcndjSkFaT0lpb2pnSmFBRG1KYWRhS1FOWjBqSDFHTitQalJ4bjBaeCsvWlgvUHJYNy9IWndhYzRLdlE0NEpicFM1clcwaEZxVDlTejdVK2l2aU5peEJLeVB2aVlnYStBZ2h6WWlBczE3OS84TmFNd3dmeTQ0T3IySzVSbFNSTWNvZllZWStoWWNaNW8rM0VFeVJxYjQxbVZTa1JJVnFxRFJTc08wWHFiaUd5WHFOVmQ1eFUxak5hTktXZXFqUFV0emwwVDl0dEFKM2Q5d0JMTGllNGZIL0RCN2QveXdlMlBtTExBNFVDNU9HbUhTRGdOZElyQlNzZDR4MmVjakJWZ3h1QmNkQXRYdnVHWUUrNDl1TWYxcTVkN3NRSTZFblh0bjlnam0wVmJIbVh3N0ZlekFuRE9NYTFQT1pZakZDbFdXOU9KbEt3anZaNUpiTkhhM21PRnJkWUFyendlamFOaXo5L2w0dUdZaTJyQ1JYK1ZjYU0zN1BpSnpoQnREU0xRTkEzQk5jbTZETllhckxHY25KeEd5N2JSQksxUXlpREdJcllnYUpDd2ZLYWt2Zkc0NUxBNm9pb3E5aDd1c1JmMmNiaFkxYXN6cEhjVzJUNXBWclRlRnRjMEJCcjIvVDUzN3QrbXVHRFlOaE1JZWVGeUZybjZJSnBrL1UxdS8zVGZLV0JTbE9CQnR6VzBvM2F5R0lVS2pzWXY0NkpJcGNwbXlzVEZ1OVlFWTFZVWVuUTZhQk15dVlXQWFVczg2eERRcWFLWjZKandldXZlTGU1TTczSE1sQkFEalNDRU5qWjg0TEhmRFF4RTlnV2pyVmJVV3JaMEhJQnpxYy9XNGxQRk55MEFBQ0FBU1VSQlZORVBIc3N6dmtKUnA0RTJkQ08rckJFWTRsc3J0cGU4Mys4OTF0MjV1Um02Yzg5WnMrYk05em9Ta1ZmcUhWYlNRbm91c1VSU1ZnTHVudjdvZmFzdUVEVk9SNk1TMTlRRUIwWkhyVWFONGpkZnZjL096M2Y1My8vMS84bUZ5NWM1ZnZDUW5ja1ZRaGlSM2UyU2tyaUVMcHdBb00wUVYvSFlWU3JCaVJKT3A0ZE1SbU9zdFl6SHNkNjkxaFp4UXRVc0tVeEo0MnZFSzVTT0U2OVZJencrU3ViVXJwZjhGTjJlN2U4cm1FeEdMTnlNU2lxMkw1ZFU3cFJmZmZnTGZubnI1M2dhdEJWY2FtWmRwdHdMZ1hJeW9wNTF1ZTZ4bWRkVUc0V290WnBkL3E1MzJpcWU3MEptL09MV3o1ak5adnpMZi96WHZIYjFkUTRQRHFsZHpaWGRxNmlGYmllMm5IZ2xrc1RvazFVMGh3Z0lNZFl1bW1mejcyUS9lV0tMNU93MHlLRVFPcFBlYkhIdG5ZVUFRZWsyTmxiMTNMY0tWdHpXV25KSVEreTNYbnZDcE9aVXB2eDI3eU4rZWZ0L2NzZ1V0TUlVQnQ5VXJWUlY3dnZKOFBzMSsrdzVSQzBSK0dJeXhrMlhvQlhTTkhnczk0LzNxYTc5SVlVdTBVbXJUa3V5dFBkaUxiTTd0eHVkVWdKV2lyVldiV2hNOTc3T2xDSkFFUW9JRGlrVWxmWXNWYzFEZDhLY1diSWFkdmRCYjNrUkgvVWlHWHF2cnA2MTFWR3VTOENXQmxjM25IREt6ZVZOTGl4MjJTNHVFRnlKRnBXVUtYUWJUcEpqUWZNbHpBc2VDRzJwWHE5OHZQOU5vQ3lLRk5vamhCQlkxaFU3T3p0NENYaVJXRXhDR2J3RWF1ZndvV0pjQUxnVXZxRTdjb2crczJEb3VsSldDdkRvaTU2amc0ZFVxdUx1OGk0TkRRWVR2UUtaNVF0MFNWNGJyTDhGYUN4MTAvQ1FoOXlvdjZCWUdINXc0VFZHb2NCNmpRa0dHN0ttczBydG8vRkpIemxLQ09ZeFdMZGpWdFdreFJocDBabjZoUkRKdlRHeEJHQUk0Q1ZhcUlPa0VDbkp0dDdjQURtNUw5MWZFb3RTeExrM2dQSTQ3V2hNdzZLc1dKWVZuMDAvNXk3M3Fhamo2R01VK0dqUkxVcFkxZ09aL1M1Z0lMSXZFTmtXcEJCR2hjR282S1FwekJpYzRKczQwYmQrelRRRHFhQ1JFQytkS0VIalFDeFpqRDRPL29hZ0JhVUxYS2h3THQvVUFjbnVvQUthNzNtY1QyRUxnaE9Lb3FCcWFyYk5McWVuQ3dvbWFHWGpKSmVzVnBGRStEYlVLNUkya0Z4OVNwbE8vNVJBd0xDWVR5bTJVNHhhTXZVWnJaQlJjaTg5dlZjUG9HY3hpQmF5cWtvWFJFRWRmT3dieE96Z1gzejBNN3lDZi9tWC80cFhybDFqZi84K0Y4ZHZ4R3Nmb2d5UmhCd3ZteGRJZ3RCQWlpTlVXbERCRThUaHZjZU9KelJBNHoyU1pqcHhkZFNEdFpxRnI4QXFsTko0SXhoRHRDSjVhSnpET2lINFNETnpIRzFRVUlVYTV5cThsYWpoT2ZIc0wvWjQ3OE9mOFY5Lzk1K29tRktPTE10SzRud0RoRVhYTHZVOEZtbVFSRnJ5TllrSFNGdVNLclRucVJFZnVsQlVBUitMZURKbnl2dUg3N0g4MVp4LytOTS81NTAzL29DdE1PYjQ2SWczUjIvUm5IaVd5eVhLS0NaYkkweHBxT3NscytVTXRDQWFqRlVvRTQ5QkxOR2xHMEEzdW5PRlN4U3NieStwb3IwbmFWK1A5M0hzaHlrRVEybFFCaE1TNndueEhsYWlJSlVmOWQ0VHhGT1VtbUk4d3JtYUIvNkkrK1VldjdyeHQvejI1a2RSMnhJWEt5dFZuYlUxTjFkN0RJcTBZdWkxYVhmSVhYL3NQZDQ0V2F2b3IxOHNsdWxIUEZ2akxXVFpjR041ay85Vi9SbGVLU1pXWVJxRFZZckNLdXJhVS91S3lXU0NxeHdFalVqeUpraGExRWtrcktoTVlDVXVNTkpXRWNNMENsK2dkY0hSOGlIVnR0QmNVYngzNjMwV0xHSy82NVhoWFpFY3krZmY5cFc4RnNyVzhmU3JWZGMralY4U2JYYUJHOXpuNEhERytOcFZyaFdLc1M0eFRqR1dnckdNc0Y0aHl3YUNpbTV2QThvb0doMHJyelhpWXFrRmxXdlJncE5Zc0tFMVhsaFloanIxa1hUOWtrZkNHdEFXdkYzR294YUxDUVlqQlNab2JJaWVES1ZpMWJUb1pvK21aMUVCQ1Exek5jVnROOXc0K1pUUDk3N2dtRk1hQWt1YWxzUEczKzNWaXFZenZraGVQRHBZU28xU0pWTTU0VXNXVEdjbkhKay80TjFyUDJSY2xZenJFYW9aTVpJUzAxaDByYU5XOHJiRnF4aFdwTDFxTFowcVcxaGJBaDEvVmJUckdTdGkzSGNtOGFoZTFFd3lCSG5mWUl4cGkwYUVFR2hDYkEvbEE5dUFsa0NsR2hwVDQ3WURwMmJPN2VsZHZ0aS95VmZjVGdvT0RRNUhkcHhwb1A2ZXo1Mi9UeGlJN0F0R29nNVVpNXA2MmFCOGpTbUZ3cFJNUm1QbXl3TlFMcm1NQTRoQnNsQjRDb3dQS29BNHdLWkJPeWFTRUFKS1I4bVNyY2tPRXpPaENoV0NpL3FldndjM29uTU5tbEVjc0VXaGpHV3lQVWE3a3VCalhGa1U3Z3lJaXBWWTJ1UWFFWXhQMXU5VUdsU0xqc1JXQ1VFOGx5NWNoTEdqTE11V2xQamdrZWZTZHQwQXZFTFNlaE9YVXVCU1F0V0NKZTk5K0RjRVBIL3g1LytVZDMvNEp4emVQcVhVMnhUR29vMENNWGd2Qk9mSW82NVcwVTRhWEpMNTByRnFrclVqYXVkN2xueHBqMEhTNUZxT1NrS0ljWG4xMnNodFVWaGJwQktqZ1dWVnNheFBFS01aN1l6WnVURGhjUDZRQzlkMnVIMTBnLy84czMvUGU1LytITWNTTTRLWmR4dXFrZldSU2NYYWFpRWJRZGN0aGYzSk4wOTBKaEoySWZDNy9RODQrc1VoZi9UdUgvT1RILytVZDk5OGx6dS91Y3ZWMFZVdVg3MkVDdzNUNlJRM2F4aHRqYmg2OVdwTXdBc05qYXVwZlkzM09jMGxCb1ZvNlNiTnZDaHBGeWV5V2phMEpiVTlkK2Q4dnNEYWtwSFZzYXBROHI1SStoMGZQRVZoTUlXbDlvNjVWRkRQcVgzTmlUN20zLzdxUDNCemRqT0dFaENUMkhSS2dOSTZsWDVkYitKMUYvRWpzVTVpVmMvTTJQUHhKT2FuUTZTRUM1YmNQcnJQTzd2dk1BSzBsN1MraWxyR0FZM3JSMS9rSkVXVkxmQ2RLaStRckxyZGN5VXh1MTI3QUlYQ2FYQWoySnZ2TTJlT28wbWtyeDhSSHZ0UzhvaW5NYUE3L0kxS0RtdDlNeXJTNWtDZWhwL3YvNUkvM2Y0cGYvajZPMWhHVEErWHpPWnpkaGl6dTdXRnFxUGVjdTFxdlBjMHhpR0Z4aGFXd2hZMHRZdUVQVnNMTjJ4WDNnL2Q2eXBsM29QR2tKSTFneUkwUXUxZENqaDFXQnY3VHhXV0xKc0Z5aWlLclpMdHl4TitjZTk5YnB4K3dRRVBFMTN0L0FVS2s3d1RxZDFWNTREUUpQdUtVWVFRdjFNUjliQTlIc2MrNFFTS0xjczErd3BYSndXRmh2bHlpYTBMZHN3T081TnREdjFwWEtnS2JiS29FcnI3UnNVckZaUkdxM2krZmMraURoMkZpUVNXRmZrMnJlSUN0M1l1ZVc5QVdZTXRDOHJTRUJaTGdoS2NxYW5IZ1VXeDVJRTc0dE9URzN6cGI3Rk1KTmJuMGhEWnV0N3JOd05lUEFZaSs0SmhiWUYzbHFJY005bmFJalFqbkd1b2xoWFdhb3JTZ3ZicGhna2dObHBqZzBuenRVMVdCUTFZc3RDTVRqRkgwOFdVb25UTVpqTVd2b3AyUnFWajZVNHRPUC85dmhVMUZrT0JWaGJ2by81cDhBS3V3UzhySnFNeXNrR2lYSlJTdlhoU0JVaXFxR1NTUkZCUXlVSVdQM053ZUlTWmVLYlRlYkxseG1nNnJhSjc3bGt0c2dDOW1XUDFPZEYxcnRKNUNwNGxDLzdtdzUreFdDeVlUaGY4MGR2L0FPTTlFaHFheGhPYVNHaktvcUFveHRUTEp0WmpUenVQK3JCQ2NBcGwrb0wrOUdiMTdnQ0NpOVhRTk1uaW0rSVJqVEVVQ3BiekpZVzEyTEZsUEI1aGdxV1JKbXJlVmxQME9QREJoKy94UDMvN04zeDQ1Ky9JbWZraEdYMis2Wm5BZTQvVkJUcW9XQnQrZnBmNWIrWXNsMHRtYjB6NTBldC9UTDFZTXErbmFEUm0yMUNvQXVjYURvOFgwVGdvRWlWK2xJa1YzYzA0V25tMHh2bGxTNVkyTkI4S3RVSmlWd210NXJVcnIrR2F3SEs1WkxsY2tFdXpGa1dCS1RVR3k4bmloTVZ5VGpHeGpIZEtUcGRUUHZya2QvejZ6dnZjNFhaTFlxMjFhSzNiQmNkNnRhY253ZG5Mc2I2UFJDTnlzUTBQVmltY2l3dEJsWXBsZVlTYnQyL3kxay9lampKWjJoQzhZRVFoR0ZBbFBwaG5WakJ5dWNpREZuU3AyYnU5UjlORkFwK0w1M0hiZWh6SEhQRFI3SGZNN3B4d2ZmZFZybXhmWm5kN2pLL2dhRDdGb09NaXN6QllaVEc2ak5KUFFaREtVN1k2c0Y5L0sySm9uRUhwSXVvN0s0TVdpeVJKTUtjQ3BvakpYRXRYb1VxRnVXRHgyblBhUE9UZzRRR2Y3ZDlnbjRkSlNnc0VnN1JVL2ZGUTFrQWRMN29uVmo5MEFnclBBdzc0OVY3RjIvWXQvdkNxOE5ya05VWnFqTXlGNDNxT2RsWHljaVRQcEZMa3hFNlQ3cEhnUTFJUTZXUUdXNVdEdFNTMFZnMURPcXN4T283bFJwbTI2SUVYd2JtYVJxSkM4UGpDR0VZbHg4dUhmTEgzQlY5V3Q5Z2phaERYUkIzaS91SVl2cDJ4YThDVFl5Q3lMeEFDTkNsQWNMbGNSdEtpb2h2Y0dDakxnc1pQazN1OEJnSVNVaXllUkJhbHBZNnVaRWtyMXpaK05vQnk3TzV1WXd2UFpESWhCek1vWmZBaHAxNSt2NkcxeFFlaHJ1czRFRnFMUmxIb0Fqc3VXYzVueVNVWnJUTkJmQnRqRmIyOEtYU0RLRWNWUjd0bzlRZzRSbHNqOURndzJwb3dZZ3VoSm1BSklWa25uOXRndGpsN1BBM25DSUd0MFlTNjhuZzg3My81YSs3ZTN1UC8rRGVLU3p0WHVYcnBNbHM3T3hBc3Jtcndyc0l2YTVTWVpEMG9NRXBUNklJUVloYTM5NEt5S1hhUnpvM1hUNUNvcXhwck5kWmFsSTNKRTBGaTNGcFFRckZUc2xqT3FPYzFwaWpZMnBsUUdFVzFyRGxlUE9URzU1L3pQOTc3Yit4VmR4QTgyNU5kamhZTklnRnRlaDd1WjI0OWZYYjZ6VlpaY1JodDBFSGpjWnh5d3Z1Zi9wclBQdjJNZi81blU2NWZlbzFyVjEraEtNWlVpeVhWb3FMQU1oNk5VR0t3WXJCU29Fa1Z6WnlIR2tKd3FiSmFqajJWMVMzNXYwaGRReUt4OFhWQlVFeVBwMmhsS0d3a3I2SUNqYStaTmFmVTFSSTlBbnZCTWk1SEhNME8rZURHRGI2NDlUbDNaM3VjY2hxUHFWZU90R21hOXZGekswWGR0eERtU1QzRm1Lb0FOdGprRVJKY2NGZ01nckFmRHBnM0MzWkd1MkFzMGdnbUtGQmxEQXZ4WUo2QlVvcUNvRk5KNEFJYWF1NGQzVXRoRytsWSs3R3d6eG5SOGxoem56czhuTzl6Zlg2ZFAzcnR4NWhMYjFMYWdIZWVVVkhnQkd5S0NWVUM0bjFjTUFmQjZqVGVBRitmekZwUUp1VS94aVNuSURxT0ZpcFdxQW9qUytVOXRmSG9pYUlhTlJ6TkRyajU0Q3R1K3BzY2N0eVMyQnhmMzFsbFpZVzg5ZEd1ZlZOWjVmaGlURVp6VGNpQkFFeFo4cm43RW5kUFdGeHVlSDMzZGJZdWJTUExtckR3bE9uK3lwSjBjZEhjRlF4UmdKSGtGVWp0RklrdFo3MDVLYTQySXRuenhjY0Z1SXBmRXAwOUN0QklnNThFWnVhRTAva3BOeDdjNUpOd2d3VUxGamlVTFhCdXVacjBSdTgzSCtsTkd2QnRZaUN5THhTYTdja3UxVUpSRkFVK05JaUx0Y1p0WVNoS3dkY3hLYWQxcjJvU21ZMmhCcnFWVk5MazVBbElTUVZLT0RrOVpEU0d5alVJVVkvVG1wSW01RFR4NThRa1hoRHlKRjU3aHlrTW9nTEgwNGV3MUV4RzIyeU5TeUI1UGhYRVlwNHFPaGhWc2phS2lnbmNvaERwaUoxU2lpWTR2RytvNnBxR0p1VzBLbHJqN0RNMjM4cjRLR2ZmTUFhOEIwZkRhWFZLUVVHYy9nUDdiby8vKzkvK1gvenBELzZNdi9xcnYyWnk2UzJxdVdPMm1GT1lNUmUyTHVPV2dkQUVuS3RSV0VwVFl1eFdGRlVQUGhKeTVkSWswZmVYeGNlaklnMFJRYUp0SWdSQ2NJREdhNC9YamtiWDZHMHdJNkcyQ3g0ZVBlRFRMei9oMXQyYi9PM05YNmFtaXRHdXA0dVRkdXdYK1JiNm53WUpRaDNxcU0rTFFXTllNR2ZKa24vMy92L0hXeGZlNWtmdi9wZzNYMytEQzVPTEdHdFJYbkFTQ1BPR0VFb2tnQldMQ1JvVkxPSlRISVAydllJR25MdFZRZHJudmczY1NKSks0Z2d1b0sxQ0ZSb3BCVE5XV0RTMXFuallISEQvd1QyK3ZIZURHM3RmY0NvbmVCemFtQ2d4bGJ3cXpxMHVUSE5NNEtQUWhXZDBzYUh4amREL0VCMkJwY2Rpd0dBeHpxUndDNVhzVjlINlBXZk9nK2xEdHV3RmRrMUpVRUlqWUZXMHVvbHZvc1hzS2Z0QVVMSE5uUGFFSW5BNlArV0VrN1NnQ1doalVobmxwOXI5WStGeFROTmlvcURBNFpudHpiaDlkSmZYZDkvZzJzNVZsQ2x4bFVNdEFsUXhTY2hxdzlpV1dHM3h0ZStzaDE4VGdxYlE0M2kySWVCOWlPRW9TUWZWbVlZbXpORTdtakJTUEtnUHVIWDNKbmVtZHpqaWlKb0tSNU9DMXBJVnQ3OGNqSFdUSDRtUXkvTW0rVHNuY1NIVnBQUXNEOHhwK0l3dk9UZzhadS8wQWE5ZHZzN1YzYXZzN0c1VEg0ZW9TcEFXZU9JVlBnaGVnQ0NVSm80L2ZmV09Wa1drOTM5c2tCeXJFclZnWXlsbWovTStLcFdvZ0M0dHVyQXhrN1pRSFBvVGJoN2M0c3ZaVjV4d211SmhReXh0N09kUjhrT0ZsVDRmdHh0VUhBYThNQXhFOWdYamRERkRNOEtIQ3VmbktMRm9ZMm5xUURNN29TZzFxSVpZNmdqSVZYcVNTeTFJRldPb2NpcERXNmtFVUlHTGw3Wndmb0h6Q3dTSDRLaWI1MW5YNThYQyt3WXdiRzJYYk8rTTJESUZydlpRYWlhRm9hcW1nRStsTVZPYktRZzlZZS8yUmFMVkpGdXlBZ0ZWZUp4cWFHU0JvMm90UFVwcnlzSlNQVU9nY1k0eXpNaERZbDl1U0NUUDlURytxMEd3akRBWVBCV1dDZS9mK1J2ZS8zOSt5YnV2L29oLy9rLytCWC8wbzUrZ3BlVG82QUd2WEg0ZHYvUTBTOEUxamdid0FrYmJTUEpjU0w2NDBKNTNYOExMV2gxaisxeU1PZFJhWTR1WU9OSG9BSVZCbVJJZmFoNU1IM0Q3M2swKy9md2pQdi9pWTQ0NXh1T2ltMUNyV0NZV1lqdnJnaEQ2NWJ1ZUk5WUpWd3JvOHhKdFRZSkVBb1pseWlrZm52eU9ULy8yWTE3Ly9BZjh2WGYrbUxldnY4Mk8zVUUzaGgyN0N5NlM5eVlZaW1BeHFxU3dGb3loRVVmUXZvMjU3bThCZkY2ZG1OWG44WE9PM1ZkMmNhNmg5aTRXQmRXT2hvYUZuN0dRaW50SGQvamsxc2Q4L1BDVEZQY1pNR05ONVJxOGI4NXd0Q2dwUmxwd1BHVzdycmRmZnJ6bVhvMHZaMHQ0bHd3WjQxczlEUTIzRDI1eGFYS1p5V1FicFZVYnVxTXgwVUl0ZnBVMGZ3MUlxdGpVV0ljem5uc1A3bEZUdGVFcmtjalR4VTZUaWZ2ejZXOEMxQXEwQ29pcWNONnpwT0pnZWN5RDVUR3Y3N3pPOWUzcjdLZ0oyK050ZHJiSGpDakJCUnBYMDNqUVJxV0NHVS96K3lGbTZoUGxxQ2dpdndxRkFxdWhNTXpyR1NmTkNRY24rOXc5dnNPZTdGR3h3S1gwdGliRmZrb0tLQWhwdjNGd01tMmMvYm1FMWhOSm9UTGdtelpHUFFnc1ZVTXREb3ZGcDFDREkzZkMzZjM3WEsrdWMzM3lDbStNcjRPUDNpS053WWlnUGVBRkhSUjFhRllVR2RZWFhERXNLbC9jOUo2S2VTTmVSOHR5R0F0WWpiYXhyNTVVSjV3ZW4zRGtqdmx5Y1lkOTdyT2dqc2xjS0JybGFJakZXell1Z3A3eWVnMzQ1akFRMlJlS2VPTlpxNW5zbHFqQ29hUm1zZ1dsajltOVBzd1JpWnFRQUlLSzZhcGlFZ21xMjRta1M4em9sbzllQ1l2bW1NYk4wYmc0K0ZIVHowTDlQaVBRSko1U2NXLy9ObU16cGRRVHRpYzdpRjRTL0tKMWlVb1dxeWRLUmNYU2xxbkZVbmlCOUlnc0tyQndNN1QxRkdQRjdtaE1KWjVaWFNFaFVDMmZiN1pjYXh2cng4aEt0TXJxSXJyZHhIa2FGalFwNnZXRW1nS0RRdlBoL1EvNDdQLzlsTGV1dnNNLytOTi95SS8vOENkOGR2ZDNUT3dPMitPTFdGdmluYWZ4MGVxdnRVVnNsbDdRWFZaNEp6MVAwQW9YSE42NEdHNW1MWTZHdXE2WnVRVnFwK0Rld1QxdWZQa1puOS80aEwyRHIxZ3loMFM2dGlaYm5DeU9ZeWdET2lZZ0pXM2FUZzc5RzRZR1U4WkZpcXM5VFFpeHNBSVZ1V3BZd0hEajVITytldjhycnBncnZQdURkM2p6MnR2ODhMVjNLTldJY2JsRmdZcmxNZjJDcWc2NDRLQU1uUTdzZXJMWFl4OEw5MmFuTWJ6REdzUjRac3M1dHcvdWNPUHVsOXc3dXN0K3VJOUxHZE5lQldwcG9zNnVKaGFQY0ZHYUtPdXA1bjEvbmJDQ3gxSzdUVzdWL0xxb1ZEc3NlNDdBUzVPQ0tSUjNscmQ1dTNxYlY3WmZ3V3FMZUEvQnRrazV6NEtnSUNTUFFNV0NPMGQzeUlRNktwV2NmMWJQeFNPc1FJOGd1Q2dTZ1hKWWlVRmd0N25Id2ZTWU85UDdYTEdYZUhYN0N0ZTJMckZyZHloMGJLL2dIZHZsemxNVEkxR3hEQ3hHZzQ3bWZxYzhsVytvd29KRlhYTlVIYkozY3BlN3NzZUNSU1JvUUswZExqVGtXU1R6L1h4ZWNmWDg2RGxDQXo2a2NCa2xNUkV0ZjE2RkZHR3FVNmlIeGVIUTFKSHNueHh3ODJTTDJlNGZzeFhHaklxU3lXakV4STRweTVJUkdpT2EwSVFrMlpYYktIWkdsU1FtSlJIWmtMMEcwRXJUaVFvNDVWT1pZa2Z0UE10NndjUFRZKzR2OTNuQUFUTVdWRFJvREdJVmN6ZVAzZ1VUVnEwTWVUR1VJMVkybWlBR3ZDZ01VUjR2R09OeVJGVjdZTXhmL2VYL3h0M2JSMnhOTHNVSm9ta29SOGwvclVLS1lZd3hWU0xSOHFLa2lScDRLMFFXOHZRMHI2ZE10aXpqaWVGbnYveXZqSktGdDZvV0dLUHczL3RrTDBWUlRIQ040aS8vMFY5emVQK1VRazhZRjJNV3N6bWx6ZkhDUGxuS2t1QlpVRkdvV3dsQng5Vi9GS3J2WmFDcmdKZUdTNjljNElPUDN1ZG91WS9SZ3BPOGVPQ1o3cDVJb1hTNkNkc1JFbnFQdE83aVNIVWFPM09wMGNKRVltQlVzaVNUeWxkaWt3dmQ4aWR2L1pRM1gvOERmdlRESDNIdDh2Vll3dE5GMGw2WUVuRTUzcm83aGxiUVg0VmsxWXJlQUcxQXhITjZlc3I5KzN2c0h4M3czaWUvNCtIOGtGazRKazU4RFlhQW84YmoyK1lSQlVvYnZNOW1QWXZXaWhDV1BPMUVrTnN2dGxmb3dtODJXUTk3MTBtalc3Sm5zdnRaVXRoTlNoNDBLQ3lXTGJaNHBYeVZONisveVp2WDMrYmE1YXRNeWdsS29xVTZ5cnJGMkx5QXJHeGpHSHQwY1c1K1g2aWxZdi9oUHJmdTNtTHYvbDJPd3hGTEtwcjB6eWNSTVlkSEZ3cXZRMHhtek9mbU9MY1A5c250NXZaanJmMTZiNnhiWTlmYU1EOVhhaFJEbmJTSFVvSHpFQ0lQR0ROaW14Mys0clYveWs5Zit5bkZ2S0NvQ2thVUtUTEtnZkdJUHJzUVdDZTVzVFR2NnZ2T0JKYkdzVEFMcG5iQnYvL2tQN0Jnd1RGVGx0U3hiRzRPdDVEa29zNTkvTnhXK1JwUXhBSWNQWXV2VVpiUUtBeVdraEVXVFlsaFJNa0ZKbHhobDZ1VGkxemV1Y1QyYUl0U2JST1ZDZkp5OHNtM1hvRTNKbTVEREg4Nm5wL3c4UFNBdzNESUNhZUpwdFhVcWVoc294MU9OWjBWUEtpazdLalNhN3FMQ1Exbng3aStha0dFSmM1S3FaK2JPRTQ1Q2VDRnlTUW1uQWJ2aVRiWGdrSVZlQWtVV0NaTTJHTENEdHRjS25lNXRIMlIzY2tPVzhXRVFoa3NHaDNpK0thVHpuclgrTG5FTTdUaGRBU0N6bVZtSFV0WGNUQTk0dDdEK3h6S0VVdVd1S1JCRU1NcWhCbXpTT1Q3cTZ0OGJiTXVXMmI2SVJkOE1mSDMrK1BPZ0JlR2djaStZSFR6UlVFMHNjUVl5SjU5anU1T3l1aWl6N09vekxvUEpMUkRuZ0FPb1NIT2VsbU9pcFVCK0h1TFJCSml0dXVJV0pzbldpampnSk90Q2kwMUpMZGZiSjNjdGpydGJwWDlTTEppMDFZZmowcVRjdDdrL3JVT3ZTTmlxOGZZWVZPNHdibVFQamsyaVpnVmlkcVdqUFNZaXpzWHVITHBNcGN2WDJWN2ZJRkxGNjlSbWpGRlliRFdnb3JLRDAxVDRWekRmRDVuc1R6bDZPaUl3OE1Eams4T21UZnpKRW9UcU1uYW02bHYwU0FwYTd6VmUreTNrV2hpLzdicDdKcU41LzBrZUN5UkJkWXU1K3IyRWUxbjJ2WXpxUjlaTkpveFk3YjFoTWxrbTFFeDVzM3JiMFQ1cktLa0hJOG9qRVVabldLS2hhYXFvNkI5NDFoVVMyYW5VMDZtcDh5bk0rWit4aEVIK0ZUSklaOUJmcFRFNHBMTE41R3ZUUVQ5S2Z0Z1A3VGxqRVV1YjIxYVNhV21OVXJGNEl4V3RjM0d5NmxjdktTYTJCVXFHRk93eXpaLy8rTGY1OC9lL0ZNdWhndm9PWXlseEVxVUJtdDBlR29pMjFqUHZLeHd1NEhmZnZVN2ZuWDRheFpFZFpFcDgzZzhyWUR1TjBCa1lkVXdCNmtSTFVoZVVNYVJxVVJqZ1RKUm9IZ1hHSzd5R3BZUkkxMVNqa2FNeWhKakxkWkVsUkJyWWdpR2hJRHpudUJqektlRVFLTTg5MC8zZTFTMWFVdkxobmJVaW9zZ243WW9SNjR0QUhSRURibzU0VHdMUEt0RU5uNHNPM1ZER2tsN3J2LzFNYXZIRVVuM1dNa0lnMFdsZHNrTHlKSUNpK0lINDljcGRVR1o3akZyUzR5SlltTVFDYnhQbXRoVlhiT3NGc3lxT1hQbTFDeVpNbThsMDF3YXdYMDZWazhxamIwK1h2UWZ0ekVNOGMrd1NtUWJCaUw3WGNBUVd2Q2RRVU1tblIzWmdtNlNYNzlaMWtmUVRlNnBQS2hrczQwNy8wYjlIa01VQkhFOVNoTWRadEpHeStYenoxTjNKbFAwSXNQaXQvVmF1OGYzY29XcE5Fdy9wK1FSYVgrNW40MzhoSVBpT1JZemthUnptUklmR3FwRWJHY3NndUw0WkkrYkoxRGN0Rmk5UlIwZ0R3TXBuNzRYV2lDTUtBaHB3QS8wd3dCQ2F0bnNCWERwZmRkTkRPZE1aTThMNiswWFJlZDZWaVMxdHMzWUdQY1dYNDl4aDZHZGtDTWw3MzVoemltSFFXRm5sb0tTajQ4K1JLWDJpKzJzVXE4TEs2L2xQZVQzSXRWd09Lb1U1dEFSZ2Y3Y21RK3RPMDY5OXNJM1BJbTZhRy9MRmFkVW1zd0RBUzhhSnVQWVg0S1B3ZGRwd3JkR01mRWxWN2pJeGUwZFJrWmp2RThFeUtHU3NvQkdQVkZ3eVNiTGNsQUJaeHhIMVl6RDZpUTVrS05iZWFWWnZzR1lSdFhyYnJGZnBkOVNnb2hybDNkSjVac0tFbUVEaFdYRzdVaktBcWlGUWkrNmZwSzNjczZONDlJeUp4TFZGUCtmK2s4TWw1R1V2SlhHUVJYT1RoUHI5OEtqRnVoblhvdS8wbjBsdExmYXVRc2p5YThIbkFSaWFZdW1KWWdkOFRjWUxFZkxqMU9maWNRMzFmL3F0VXRvZDU0OVc3bE44b2k5VG1KWGtyY2VkZTZ5K3BmNWY5eEtaeG5mc0tzQjN5NEdJdnVDc1dKcGsxUW1CZGhNVEtFL1FuYzJXYjNoM1g1UWZPaC80ZmNIZmJJa0VGcmE0VkxxVzZwNmRnYlJHaGdIMjlVNHNMT0QwbGwzZi83cGJsQitldlN0R0xCNWVSTHlCOXNmWHZ0QUgyMTd4SDBhcTBBY0l0SHJtL21BbzRHd3dMS0QwUFJJUDIyQWdrSTRaWmFQSUE3aXlzVHFZRXJGY0FaZnR6MU4rZ3VsZGFMZFducENJaGFiTGRCUGczRGVmdVNjeDQrRG9tMkxaRnR1WCs5UVE1Z3pacFNzL3ZsbnppY2UzZTdqdjRDam91ckdnRWNSLzU2MW1FU05wZTNEM3dTWjdRaXoxZ2FyTkY0YVlvYSt4YUpZNHFrV1RZb24xSkFxVXhIQXBOQ25kNjYvemJXZFM0eFZpUTRDSVdCMFdrUktMcDc3YUtLWjVjenk0L1oxQlUzaGVYRDZnSVA1UGo3UmxZQmY3WWNybHNBZW5uRWhuME16a21vM29UOGVLTWdKdWRHRUVIQTlNaFN2WWd6RFVSVGRPVDNoQVNrVUhrZkZja1Z3cEgwL1MwM2wwTEgxQlYzLytmcFBucmZRNnlHMFBYRVYrYzdPRmU3QzJhOTJ2NkZBYkEyaThLbG1yd3VhQ3FpVFh5MGVwbTc5SXRJTkpHY09MTjhaSWRIWFdOTXc2VEIwanJqVmZ0RzNTRy93Mkt4Ym9JYzByKzhtQmlMN290Ry9MMWRHaGJENkdjNStKZzZlQWYwa0U5a2ozRVcvWCtoSmthM1pFQ0UzUTA2Y2krVDNrYzJoT0p1VTh0d3RpOTJ4ZGJiaER2MGdrWlV2S2Rhc1RiMStrSzYzaStya2tRaVo3cjFBTkV4VWZrNldINC9LcG5uWDBiSmpVbmlBUmhGVUlFaUQ5K3NUMkFaTDhpUDdXMkIxVm4zT1dIZVY1dGZXTGJUcjdhYzJFVmE2U1RCL3RCZU5VdmthTGVmYlpLeE9wYVJUVEc2ZjZBYkN1cWI3V1p3eHk2bzBzU2Z5OUF6Mm9ITUpSdnVCZUdCR2JMS1hoUlJnRVozbVphYnczcUMxSU1FaHdWT2d1Y0FXbDlqbGg1ZCt5SlhpQ3FVcmtjYkZwRW9kUUtzVTMyZzJIRVR2RUI2UkxPZnhOQ3B3c0Rqa21KTXVFMS9PZE5EME5KTWhlRDZMcUQ0N0F0cjdKL1Q2WUs5UDZZNVhwbytqSllhVkdOU0tQRnUyK0JWSnlMK1ZiUk82NTlwMWtUcHIrNDI1aEFJYlNHNzcvTHdteU9UMkNXN1IvbGh4M2k3YmVQSDFMN1o5djhlbVU0VzNScUFSalZFYXBRSkI0dFlMSy9kUnZCdjZWNkFMeG1tdDVPc0VkbU00U1BlNGY2anJIODNqYzE1RW5ydUlIdkN0WWlDeUx4elo4bkdPdXdNMkR5aTkxemJkU3M4amh2TTdqOTY1ZGJHWUc2elQyMDRWZ1FBQURSVkpSRUZVdlhiVjByM1lrc1BIV0tyUFdVYzhPN0tGc3ZjN1NuU1B6SzZuZHlSclprN0syR1JOMlhTUTJTZ2pHNTdyMUFvckJLOTduaFBMd3RxQ0srL0twTDU3SnVSaTAzSDFMUjFrYTlXelRRVHIzKytYclJVSjBWcDI3dmJjbmVhZFJXVGpzVjU3WFlFcE5BUzlRcktVVXEyK2NkVThRdG1pVGJoWjNlZmFDWjF6RHo4L2kvWkd0RlpNMWY2TXhXS1RkVXdCQllxQ1VTU1FUYlFzR2tic3NzMjdGOTdtQnp1djg0cTV4cmFmWUJxTHIwS3ltR25RSHJGUFBqeXRrOWpjTEFzMzUyaHh5SklxT3BSMVFNNGhZVjhqY09mSmpvbmNMVlo3WVhjSk54ekxtcHM5aEZpc0pYL2Z0Ky9IQjdXNGxmUEk3N2VmeXliZWZsOWRQMGc1KzNqbFZsVWQyV3kzck5wWXV0MnRqNi9udCtoS20vUU13eXVXNE56MzFmb1g0aDQ4NGV5NnQ4Y3VKZWdOYmI4V0E3M2V5ZnFMd3cxdG9udi85NUdETi9wTHg5L242Zlg3aElISXZsQjBzWm9BVVpWL3c4ZWU1bTdaU0NRMHJjNXNIclcrNlFueDI0SkE3TTdkY0NScjhqc3hZenkrZHpaUG1QUGJmc1Z5dCs1UWUwWVpzelh5dHpwNWRMK1pLcTZUSzVKMUEzcy9wamRmMjY0ZkZhVnROVVdsYjJucG4xKzJFUXBudHFhSWhEZi9RZlFpSzZVeG1rUk9VaXRteTh1alNHeGV0SDBMeUtSVzlkb3ZiK1ByL1lrNTlLNXhML0N4YjlIcXoyQXFjZzJYaU1pNTBLdWRLcE5jbGFzZzFaMW03N2xrTnIyV0s2K1JiRkhQSTJYcDNEamNOakxSdHRiTWJiYmFtT21BcDBqM202SkVJUlNVWEdDWDY3dXY4dmJsdDNoMTYxVkc5WWhTUnFoYXBTYjJlSzBRN1FsNVRmWUlaQUtyMXA3SFkvWWNuQnh3UEQ4aFJsc2FQTTJxNi9nYlJVNGFvajNHM0x2NlB4OUREblQzb2ZaeGlFT1c5QnBCclYzOHg5MHFUZS94SnVQRjJ1SzFiNkJjdDZJcTZlN2p2SDBVNURIK2dITzlOdjFqU3ZMbm16c2lHTjMxODQySFkvb2pmdXFwRXVYb1l1SnFiekhSSi95NUFZTHVmZk84VEpOZW1ONDVSb0lCTHhZRGtYMmgwRVNsQW9qaWtKd2xzNXZjUW1jRzZXNENQbk5mWlJJbWFmaHFKeWtOa2pWRXY4ZG95VnhlRlBUakw5TmoxZnRvK256VU4reFBMbjMwMjJUVmZTamtnYS92OEgvR050dzQ2ZXExdC9wVFVEZmN4aGk3N3ZQOXlSUEFWZkc5dmlXbCs2M1VUdXJzL0puNVFuQ2NzVnhHVlo3UXhzS3RmcEd1ejYyNzdyK0pSZE01bmdlOU5pWGxoS3QrNHRXcVJVbjNQdHVocEl6dXluWVYwUDJlRU5CbHNWRkh0aTJxNFZlbit1Z1d6VTgwT1Q1U0pNU0dWb0V6eVNpOXh6bVV5SzhzWUw0NTVMYWFNT0h0MTkvaDZzNGxtdWtDdDZ6Wk1tUEtwbUJzU3JhMnR0aWU3TEJkN3JCbEpreGtpNUdmNEt0QUVRcFVVRGdNWGp1Q2NqUks0VFVVd3RuUW5YT3dicFVWQmZzSER6amxKQnJ0dEk2dSt6d1VmTk1WdUJVclRGeENGeC9hOWFZc3I2Znhvc0FuWTRKT1g4aE10TDF2Wk5VYytxZ3RnQlNzMnByamVOU1dMWlpjZ3FRNzVQNXpUOTlMZGQ0b2MwNHY2NVBETmNLTTZMVmJjZ05GN0s4Q0FIVm1xVW1VbXN1N1hTZWpBbG9yQ0NvdTFudWpYRlFMRHhUNTJOTkNmSlV2NTNHOGY3T3RublZyUElEdXZsd2Zjd1l5KzhJeEVOa1hqazFSa1p1d3RxTGRaTFhaNUR3N04yUDNlMDVnV3p4MnVEMlg5TGR2dG1UNExLazUrLzArbmxNYnl0bW5NZEszUHhtc2pacG5MSnVyeDk1WklFRlE2R1FGRk9LZ0w4bmNxRlJjL0p4eHMwc2t0NUsySGRIVkswVHQzSzRJWi92ZXR6amc1L2JyZmxwV3R2bFQ2NCs3MElUNGJSZGNlajIvMnAydG9LanIrdkZteFl4ZXlFSDhTWlZJUkxhMis4ZTJVYmRzNmxtSnZoRmtTaVpvTkx0Mm16OTQ3VzNlZWVVdDZ0TWF2Nmk1WUhld0ZkZ2tWcSsxeGtxQldpcFVMVlQxZ2hIamFKUldDcTAwUWFYRnRBY1ZZamxvSFVLVWFrTzFubDVGSkZnbUxacXkvcTVYNEZUQUYxQlp6MzZ6VDUzRXBZeXhyVUJKN3J2OUJucU9vbHVyV0NPWStScXRqN3d0Myt1dmZiWHVMTEpueUdEa3ZMSitrL1hJb2xXUk5pdlJSSTBFbFo1SE02ZXNMZHY2MkJpU3RyWTk3M05QajlVNWFwVkM2ak9mT1RjY0pGbTJnL2RwUVpoZmpzS0xTa1V0WDVmVWJISjB3dU5taTI0VXpTUjJZS25mQnd4RTlvV2l0eUx2VzZzMjNqdnJCTFcvZWRSUXMvNmVaNVhNZmQ4SjdhYno2NzEzcGkwekFRaG5QL2RFaENTMjMrUGIvUW53aU91OHljNTc5dVBucFJxczdxT2RQRGY4M3FNS1FPWDMrbUVGL2FOYVAwYnBQMURudC8zS1o1OFZaeFlCUFd2T1k3OTY5aFA5NjdycCt4dFZMWjcwWk9Tc29rRVdTK3FPNVJGamdKei8xdE1nVHV5WjVvU2ViRnBvRDhXZ0tkQTRWM0daaTloRHphVGFadVF1VVN3TnlvY3UvakVWRkZGQlJTSmxOQkppWFNWUnlZb2FBdFErbHJvWFRlbGp4NnhOUEMrbmFUdWJEYkNqQzZyWkRGTWF2RlVjaHlWaHkzSWtGYis1OXhIM2VSaVZId2pVVGVkbmw2cmZadXNVOWxIajdOZkFCdUxadnlkeVRPWHF4OVA0bXhlaTRkSDk1eEY1aEVEQVNmVGtyVHQxdm40L2ZzUXhyUDNtbVRlZlpMNWFlVzN6T0hEZS9TcnJEL3BqMGRyMWJRTjludURhYnY1SWQ5VTJqYmRuem5mZ3VkOEpERVQyaGVMYkpKS2JySGUvVDlod1RrOXFTYzJUeWhOYlhwOWorejFxRW51QzM5azQyUGEyMy9RNGUrNyt6MWlNdjMwOFhTSloxMzdmeGh5MVh0RXR2Zmd0UWFNMjJhaGFWaFNTSjFXaXZtZFFGRkl3cmd0R3JxQUlCU0c0bHZpZUtkR3JBa0YzbHZ2MmRRR1RyTkVxaFFoQVRHQ0tSVFIwU2lLRXBxNHBqU1g0aGlZMHFMSENsWjRISncrNU03dExuU1QvVi9ERXhPbzVZTlBpY09NSHp4bC9uL2xhUC80Ky84YTYwOWZhOFZrUysxUzdld0tQeGRmRDV1UFp1SitCdEg1bk1SRFpBUU1HREJpd0VZOGtTQ25rVTFJQzZhYktYSDBMZEQrOFF3dDRGUWdtaGhQVUdqeEowVURsQ01kQTNkU1U0NUxHTjFUQm9VWWxTMWx5LzJpUEF4NDg1V0psd0lBQnYwOFlpT3lBQVFNR0RPaHdidEJ6UkxhZ0JxSUZOZlNUS2ROVzl4NzNjMk15d1EyOTdQMmd3S3RZSXlvb2haSlk4MHVJTmNERUdKeEFLRFJoSk93ZjczTnJjVHVHTEF4RWRzQ0FseDREa1Iwd1lNQ0FseFNQOUpZK1JzSktGQVIwcTJtYUxhMkM5TWl0dEZueG14THVSTVdRQWtsS0lxUVkyeGlMRUZERmlGb0ZYS0ZSWTgxeG1ITGo4Q1lISE5Da1N2Y0RCZ3g0dVRFUTJRRURCZ3dZY0M0MjVwMHAycm9aMHJQSTVpUVpMV2NOdTlrYTI0WWRxUHc4eXFLWkxBMG9xcTFnWmF4aElSVjE0VG1SQlY4ZTNlYlc4aTVMS3BUUmVEOVlaQWNNZU5reEVOa0JBd1lNZU1raHNLcVJtYkN1U25HbTFDaTYwNEdWWkpIdHhjanEzdU9zUnFCNlNWK1FDS3VDSUVrbUtXU3lHM0FxMEdoUHBSMTNwL3Q4c3Y4WkJ4eXpwQ0VvR1VJTEJnd1lNQkRaQVFNR0RCaXdoa2NRMnFBNm5kUmNEUW9pVDFWSm5xalZRa2l2NlNUaDFvOVcwTEpxbmZXU0syVkZEZFNnSFhXb2FHek5UQys0TTkvbkRnY3NhVkE3QnIrY2Ywc1Z2QVlNR1BCZHhrQmtCd3dZTU9BbHhyazJUUVZXVy9EZzhUam5hSXpIQmtNSUFhVVZOSFdNZVEzU1ZpMkw1WGMxU3FsVWtDT3lXQW1CZnQxVEplQVhGZU55aEJtVllBeUxwc0Y3aDllQ3Q0R3R5MXQ4Y3Y4MmY3Zi9BVi94RlVzYW5Ba0VWOFY2RFpzRlB3Y01HUEFTWVNDeUF3WU1HUEFTb2kvZWZ4NUNDQ2cwQlFXajBZaFNseGhua0Zwd2RVTmhMSUpIbENKV0p0T2dBZ2FOVW9MNHFFTXJTbUUxb0V6N09ZTnc4Zkl1b1hGVWJra3RIcStCVW9FTitNTHo4YjB2K2VyMERvY2NzYUNoSnBhNEhjanJnQUVETWdZaU8yREFnQUV2TVZZNFlZNlR6UVVKeEdFb3FhbFpOaldOYmpBZXRFU3JMQ3FnZ2tkRUlSSzN1VUN3VW9KUzBXd3Fva0E4RWlMaGxhQndVZk9BdWw3U0JBK0ZRbzBOWW9XcG4zSFV6UG5OZzk5d3hERUhIRlBSNFBCZGx0bGpaTUlHREJqd2NtQWdzZ01HREJnd1lDT01NaWhSRkpRb3BhS0YxbWhzV1ZBVUJvSUhwWkFBUXR5aWRDdHJvSlZCbEU1bGpxT3NscVJ3QUM5d1hNL0FlaWdNZXF6d1JjM0I4b2l2RHU5eVozcVBXOXhpVGtORlE1TkpMS3hLSkF3WU1PQ2x4a0JrQnd3WU1PQmx4d2JGQWtnS0JDZzBHaEhCQlUvVE5LaGFjRjVoREZGbUlJVVVCRkZJOEFTbGtXeXBWUUhKbGxtbEVlVVJGRUUxVEs1dDBWRFQrQ1V6TitYQjhRRzNqKy93MWV3MlI1d2tBaHR3U0N4M0s0QURoWXJFV2diVmdnRURYbllNUkhiQWdBRURCbXhFSU9CVEpLMHhCcXN0SlNVbEZ1cUFsd2FGRUpSSEtZWG9WSlZMaElDS1pXdTFSbEo4TElBbmhpVjRCU2ZOS2FmdWhLT1RCOXcvdnNlOVpvOFRqcWlvcUhEVWltNldTaFpZSTJDSTF0Mkd3U2c3WU1ETGpvSElEaGd3WU1DQWpRaUF3YURSTk41UnV4b3ZKVW9WYUd0eHZrYTBJRnFoZExTU2FnVStxczdpUTBnVndBSXVoS2g4MERRMDNyR2c0ZVA5enpqeFU2Wnl4SlFqSEV0cUtpcmxZRVFYQ3l2ZEFWbWdSTWNTdVlBYnRHUUhESGlwTVJEWkFRTUdESGpaa2ZSZjE1OXJwYWlsNFpBajNyL3hHNHFaWmlJVGRzd09SaW1Lc1VFcFVNYWd0VUpwUTFDNVRJRXdXeTd4NG1tY3A2NHJabjdKZ2psTEttb2NjeHcxRFpML1ZDQm9PbWt0dlhwTXNmWlgvQ2VETFhiQWdBRU1jdElEQmd3WThCSWpNOFd3V1FWQU5BYU5TWkd5TnBGSWhlcE5IbjJ6cVVvRXMzc2UxcDduclVjSTZaK2t1SUgyY1k3WnpjY2szWjhCVkRwdW4vWStZTUNBbHhjRGtSMHdZTUNBQVFNR0RCand2WVIrL0VjR0RCZ3dZTUNBQVFNR0RQanVZU0N5QXdZTUdEQmd3SUFCQTc2WCtQOEI5SUtoVlFMVk9Bb0FBQUFBU1VWT1JLNUNZSUk9XCJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMCwxKVwiXG4gICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz4gKi99XG4gICAgICAgIDxnXG4gICAgICAgICAgaWQ9XCJnNVwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImczNjhcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMzc0KVwiIGlkPVwiZzM3MFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDM3OFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEwMzUuOTEsODQxLjEzKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW4zNzZcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDExLjE0MjI0IDIyLjI4NDQ3OSAzMi4zODQ2NCA0Mi40MDQ2NCA0OS4xNTgxMTkgNTMuNjA2OTk4IDY0Ljc0OTIzNyA2OS4xOTgxMiA4MC4zNDAzNjMgOTEuNDgyNTk3IDk2LjY3Mjk1OCAxMDcuODE1MiAxMTguOTU3NDQgMTMwLjA5OTY5IDEzNS41NTA1NyAxNDYuNjkyNzkgMTU3LjgzNTA0IDE2OC45NzcyOCAxNzMuNDI2MTYgMTgzLjQ0NjE3IDE5My40NjYxNiAxOTcuOTE1MDQgMjA5LjA1NzI4IDIyMC4yNTk2NCAyMjUuNjUwNDEgMjMxLjIyMTUzIDI0Mi4zNjM3NSAyNTMuNTA2XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJkZXNjcmliaW5nIGFuZCBhbmFseXppbmcgdGhlIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzM4MFwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgzODYpXCIgaWQ9XCJnMzgyXCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MzkwXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTA0My43MSw4MTcuMTMpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjM4OFwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgMTEuMTQyMjQgMjIuMjg0NDc5IDI3Ljg1NTYgMzguOTk3ODQxIDUwLjE0MDA3OSA1NS43MTEyMDEgNjAuMTYwMDggNzEuMzAyMzIyIDc1Ljc1MTE5OCA4MS4xMjE5MTggODUuNTcwODAxIDEwMi4yNjQxMiAxMTMuNDA2MzYgMTI0LjU0ODYgMTM0LjYyODcyIDE0MC4xOTk4NCAxNTAuMjE5ODMgMTU1Ljc5MDk1IDE2MS4wMjEzOSAxNjUuNDcwMjggMTc2LjYxMjUyIDE4Mi4xODM2NCAxOTMuMzI1ODggMjA0LjQ2ODEyIDIxNS42MTAzNyAyMjYuNzUyNTkgMjM3Ljg5NDg0XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJwb3RlbnRpYWwgaW1wYWN0cywgaW50ZW5kZWQgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnMzkyXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDM5OClcIiBpZD1cImczOTRcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ0MDJcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMDQ1Ljk5LDc5My4xMylcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNDAwXCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAxNy44NTU2NCAyMy4yNDY0MDEgMzQuMzg4NjQxIDQ1LjUzMDg4IDQ5Ljk3OTc1OSA2MS4xMjIwMDIgNjYuNjkzMTIzIDc3LjgzNTM1OCA4OC45Nzc2IDEwMC4xMTk4NCAxMTEuMzAyMTYgMTIyLjQ0NDQgMTI4LjAxNTUyIDEzMy4xNDU3NyAxNDQuMjg3OTkgMTU1LjQzMDI0IDE2MS4wMDEzNiAxNzIuMTQzNiAxNzYuNTkyNDggMTgyLjE2MzYgMTg3LjYzNDUyIDE5OC43NzY3NiAyMDUuNDkwMTYgMjE2LjYzMjQgMjI3Ljc3NDY0IDIzMy4zNDU3NlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wib3IgdW5pbnRlbmRlZCwgb24gZGlmZmVyZW50IFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzQwNFwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg0MTApXCIgaWQ9XCJnNDA2XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NDE0XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjAuMDY0cHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDExMzcuMDcsNzY5LjEzKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW40MTJcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDQuNDU0MjA3OSAxNS42MDk3OTIgMjUuNTYxNTM3IDM2LjcxNzEyMSA0MS4xNzEzMjlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImxldmVsc1wifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzQxNlwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg0MjIpXCIgaWQ9XCJnNDE4XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NDI2XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTA0NS45OSw3MjEuMSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNDI0XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxNi42OTMzMTkgMjcuODM1NTYgMzguOTc3Nzk4IDQ0LjU0ODkyIDQ4Ljk5Nzc5OSA2MC4xNDAwNDEgNzEuMjgyMjggODEuMzAyMjc3IDg2LjYzMjkxOSAxMDEuMTAxOCAxMDUuNTUwNjggMTExLjEyMTggMTIyLjI2NDA0IDEyNy44MzUxNiAxMzcuODU1MTYgMTQ3LjkzNTI5IDE1Mi4zODQxNiAxNjMuNTI2NCAxNzQuNjY4NjQgMTgwLjIzOTc2IDE4NC42ODg2NCAxOTQuNzA4NjMgMjAwLjI3OTc1IDIxMC4yOTk3NiAyMTUuNDkwMTMgMjI2LjYzMjM1IDIzMy4zNDU3NlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wibWVldGluZ3Mgd2l0aCBzY2llbnRpc3RzIG9yIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzQyOFwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg0MzQpXCIgaWQ9XCJnNDMwXCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NDM4XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTA0OC43NSw2OTcuMSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNDM2XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAyMi4yODQ0NzkgMzMuNDI2NzIgNDQuNjI5MDgyIDQ5LjA3Nzk2MSA2MC4yMjAyIDY1LjYzMDk5NyA4MC4wOTk4NzYgODQuNTQ4NzU5IDkwLjExOTg4MSAxMDEuMjYyMTIgMTEyLjQwNDM2IDEyMy41NDY2IDEyOS4xMTc3MiAxMzQuNTA4NDggMTQ1LjY1MDczIDE1MS4wNjE1MiAxNjEuMDgxNTEgMTcxLjIwMTcyIDE3NS42NTA2IDE4Ni43OTI4NSAxOTcuOTM1MDcgMjAzLjUwNjIgMjA3Ljk1NTA4IDIxMy40NDYwNCAyMTcuODk0OTEgMjI3LjkxNDkyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJwZW9wbGUgd2l0aG91dCBhIHNjaWVudGlmaWMgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNDQwXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQ0NilcIiBpZD1cImc0NDJcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ0NTBcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMTEwLjMxLDY3My4xKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW40NDhcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDExLjE0MjI0IDIyLjI4NDQ3OSAzMi4zODQ2NCA0Mi40MDQ2NCA1My42MDY5OTggNjAuMjgwMzE5IDcxLjQ2MjYzOSA4Mi41MDQ2NzcgOTMuNjQ2OTE5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJiYWNrZ3JvdW5kXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNDUyXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQ1OClcIiBpZD1cImc0NTRcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ0NjJcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMDkwLjM5LDYyNS4xKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW40NjBcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDEwLjAyIDIxLjIyMjM2MSAzNy45MTU2OCA0OS4wNTc5MTkgNTUuNzMxMjM5IDY2LjkxMzU1OSA3OC4wNTU4MDEgODkuMTE3ODgyIDEwMC4yNjAxMiAxMTAuMjgwMTIgMTE0LjcyOSAxMjQuNjI4NzYgMTM1Ljc3MSAxNDAuMjE5ODggMTUwLjIzOTg4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJjb21wcmVoZW5zaXZlbHkgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNDY0XCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQ3MClcIiBpZD1cImc0NjZcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ0NzRcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMDgwLjQzLDYwMS4xKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW40NzJcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDEwLjAyIDIxLjIyMjM2MSAzMi4zNjQ2MDEgNDIuNDQ0NzIxIDQ2Ljg5MzYgNTguMDM1ODM5IDY5LjE3ODA3OCA3NS45MTE1MjIgODcuMDUzNzU3IDkyLjYyNDg3OCA5Ny4wNzM3NjEgMTA4LjIxNiAxMTkuMzU4MjQgMTI0LjUwODUyIDEzMC4wNzk2NCAxMzYuNzUyOTYgMTQ3Ljg5NTIgMTY0LjU4ODUyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJjb25zaWRlcmF0aW9uIGZyb20gXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNDc2XCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQ4MilcIiBpZD1cImc0NzhcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ0ODZcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMDU3LjUxLDU3Ny4xKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW40ODRcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDExLjE0MjI0IDE1LjU5MTEyIDIxLjE2MjIzOSAzMi4zMDQ0ODIgMzguOTc3Nzk4IDUwLjEyMDA0MSA2MS4yNjIyOCA2Ni44MzMzOTcgNzEuMjgyMjggODEuMjQyMTU3IDkyLjM4NDM5OSA5Ny43OTUxOTcgMTA4LjkzNzQ0IDEyMC4wNzk2OCAxMjYuODEzMTIgMTM2LjgzMzExIDE0OC4wMzU0OCAxNTkuMTc3NzIgMTY5LjE5NzcyIDE3NC42Njg2NCAxNzkuMTE3NTIgMTg5LjA3NzM5IDIwMC4yMTk2NCAyMTAuMjk5NzZcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImFsdGVybmF0aXZlIHBlcnNwZWN0aXZlcyBcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8Z1xuICAgICAgICBpZD1cImVuZ2FnZVwiXG4gICAgICAgIGNsYXNzTmFtZT1cImhwMyBlbmdhZ2UtdmVyc2lvblwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgfX1cbiAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKC0xNzkuMDU2ODcsNzA4LjgzOTQ2LDcwNS44MDA3OSlcIlxuICAgICAgIFxuICAgICAgPlxuICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQ2xhc3Nlcyh7Y2xhc3NOYW1lOiBcImhwMyBhbnRpY2lwYXRlLXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJlbmdhZ2UtYW50aWNpcGF0ZVwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiI2I4NWJkMVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gODk0LjUsODkwLjAzIC02LjQ4LC01MS44IC00OS41NywtNi4xOSBjIDMxLjYzLC0zMi41NyA1MS4xMiwtNzcuMDEgNTEuMTIsLTEyNi4wMSAwLC00MC4xNyAtMTMuMSwtNzcuMjcgLTM1LjI0LC0xMDcuMjggbCA2LjUsLTUyLjExIDUwLjIsLTYuMjggYyAzNi45Nyw0NS4xMSA1OS4xNywxMDIuOCA1OS4xNywxNjUuNjcgMCw3MS43NiAtMjguOTEsMTM2Ljc2IC03NS43LDE4NCB6XCJcbiAgICAgICAgLz48L2E+XG4gICAgICAgIDxhIG9uQ2xpY2s9e29wZW5DbGFzc2VzKHtjbGFzc05hbWU6IFwiaHAzIGFjdC12ZXJzaW9uXCIsIGNsYXNzdG9IaWRlOiBcImhwM1wifSl9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwiYW50aWNpcGF0ZS1hY3RcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcwOC43LDk2Ny40MyBjIC03MS43MywwIC0xMzYuNzEsLTI4LjkgLTE4My45NCwtNzUuNjkgbCA1MS43OCwtNi40OCA2LjE5LC00OS41OCBjIDMyLjU3LDMxLjY0IDc3LDUxLjEzIDEyNS45Nyw1MS4xMyA0MC4xNiwwIDc3LjI1LC0xMy4xIDEwNy4yNSwtMzUuMjUgbCA1Mi4xLDYuNTEgNi4yNyw1MC4yMSBjIC00NS4wOSwzNi45NiAtMTAyLjc2LDU5LjE1IC0xNjUuNjIsNTkuMTUgelwiXG4gICAgICAgIC8+IDwvYT5cbiAgICAgICAgPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgZW5nYWdlLXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJhbnRpY2lwYXRlLWVuZ2FnZVwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiI2NlOWZjOVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNTA2LjQxLDg3MS42NyBjIC0zNi45NywtNDUuMSAtNTkuMTYsLTEwMi43OSAtNTkuMTYsLTE2NS42NiAwLC03MS43NiAyOC45LC0xMzYuNzYgNzUuNywtMTg0IGwgNi40Niw1MS43OSA0OS41OSw2LjIgYyAtMzEuNjQsMzIuNTcgLTUxLjEzLDc3LjAxIC01MS4xMywxMjYuMDEgMCw0MC4xNiAxMy4xLDc3LjI2IDM1LjI1LDEwNy4yOCBsIC02LjUxLDUyLjExIHpcIlxuICAgICAgICAvPiA8L2E+XG4gICAgICAgIDxhIG9uQ2xpY2s9e29wZW5DbGFzc2VzKHtjbGFzc05hbWU6IFwiaHAzIHJlZmxlY3QtdmVyc2lvblwiLCBjbGFzc3RvSGlkZTogXCJocDNcIn0pfT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGg2MC0zXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCIjYTBhN2YzXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA4MzQuNjgsNTc2LjIzIGMgLTMyLjU3LC0zMS42MyAtNzcuMDEsLTUxLjEyIC0xMjYuMDEsLTUxLjEyIC00MC4xNiwwIC03Ny4yNiwxMy4xIC0xMDcuMjcsMzUuMjQgbCAtNTIuMTIsLTYuNSAtNi4yNywtNTAuMiBjIDQ1LjEsLTM2Ljk4IDEwMi43OCwtNTkuMTcgMTY1LjY2LC01OS4xNyA3MS43NiwwIDEzNi43NSwyOC45MSAxODQuMDEsNzUuNyBsIC01MS44MSw2LjQ4IHpcIlxuICAgICAgICAvPiA8L2E+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNjQtNDRcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNjg2LjE3LDkyNi42IC0xLjMzLC03Ljc5IDUuMzcsMC45OCB6IG0gLTIuOSw0LjIyIDQuMjEsMC43NyAxMS40OCwtMTguMjUgLTQuMzMsLTAuNzkgLTIuNTMsNC4xNiAtNy44NywtMS40NCAtMC44MSwtNC43NyAtNC4yMiwtMC43NyB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGg2Ni00XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcxNi43OSw5MzQuMTggYyAyLjQ1LC0wLjAyIDQuNDMsLTAuNzcgNS45NCwtMi4yMyAwLjksLTAuODcgMS41NywtMi4xIDIuMDEsLTMuNzEgbCAtNC4wMSwtMC45MSBjIC0wLjIzLDEuMDQgLTAuNzEsMS44NiAtMS40NiwyLjQ3IC0wLjc0LDAuNjEgLTEuNjUsMC45MiAtMi43MiwwLjkzIC0xLjQ5LDAuMDIgLTIuNywtMC41IC0zLjYzLC0xLjU2IC0wLjk0LC0xLjA2IC0xLjQyLC0yLjc3IC0xLjQ0LC01LjE2IC0wLjAzLC0yLjUzIDAuNDEsLTQuMzQgMS4zMSwtNS40MiAwLjksLTEuMDggMi4wNywtMS42MyAzLjUzLC0xLjY1IDEuMDcsLTAuMDEgMiwwLjMyIDIuNzgsMSAwLjc4LDAuNjcgMS4zNSwxLjc0IDEuNywzLjIgbCAzLjkxLC0xLjI4IGMgLTAuNjMsLTIuMTggLTEuNjQsLTMuNzkgLTMuMDUsLTQuODQgLTEuNDEsLTEuMDQgLTMuMTksLTEuNTUgLTUuMzQsLTEuNTMgLTIuNjUsMC4wMyAtNC44MywwLjk2IC02LjUyLDIuNzkgLTEuNjksMS44MyAtMi41Miw0LjMyIC0yLjQ5LDcuNDcgMC4wNCwzLjMzIDAuOTIsNS45MSAyLjY2LDcuNzQgMS43NCwxLjgyIDQuMDEsMi43MiA2LjgyLDIuNjkgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNjgtNFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3MzcuMzksOTMyLjQyIDE1LjYyLC0zLjAxIC0wLjY0LC0zLjMzIC01LjgyLDEuMTMgLTMuMTUsLTE2LjMzIC0zLjk3LDAuNzcgMy4xNSwxNi4zMiAtNS44MywxLjEzIHpcIlxuICAgICAgICAvPlxuICAgICAgICA8ZyBpZD1cImc3MC03XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNzYtMSlcIiBpZD1cImc3Mi02M1wiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoNzgtMTdcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ5NC4zOCw2MjUuMzcgLTMuOTcsMTQuMyAzLjI2LDAuOTEgMi44OSwtMTAuNDEgNC4yNywxLjE5IC0yLjY5LDkuNjggMy4yNSwwLjkgMi42OSwtOS42OCA1LjI1LDEuNDYgLTIuOTksMTAuNzcgMy4yNSwwLjkxIDQuMDcsLTE0LjY3IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnODAtNVwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDg2LTkpXCIgaWQ9XCJnODItOVwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoODgtNlwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gNDg3LjUzLDY1Mi41IC0wLjY1LDMuODggMTEuODMsMTAuMjkgLTEzLjE4LC0yLjIxIC0wLjYzLDMuNyAxOS43NCwzLjMxIDAuNjcsLTQgLTExLjU0LC0xMC4xMSAxMi44OCwyLjE1IDAuNjIsLTMuNyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzkwLTIxXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoOTYtOSlcIiBpZD1cImc5Mi03XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGg5OC04XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODIuNDgsNjkwLjkyIGMgLTAuMTQsMi40OCAwLjI3LDQuNDUgMS4yMyw1LjkgMC45NiwxLjQ1IDIuMzUsMi40MyA0LjE2LDIuOTMgbCAwLjk4LC0zLjk2IGMgLTAuOTcsLTAuMzQgLTEuNzEsLTAuOTEgLTIuMjQsLTEuNzIgLTAuNTIsLTAuODEgLTAuNzUsLTEuNzkgLTAuNjksLTIuOTYgMC4xLC0xLjc2IDAuNzQsLTMuMTMgMS45MiwtNC4xMSAxLjE3LC0wLjk4IDIuODYsLTEuNCA1LjA2LC0xLjI4IDIuMzcsMC4xMyA0LjEyLDAuNzYgNS4yNSwxLjg4IDEuMTIsMS4xMiAxLjY0LDIuNTQgMS41NCw0LjI1IC0wLjA0LDAuODQgLTAuMjYsMS42OCAtMC42NCwyLjUxIC0wLjM4LDAuODMgLTAuODIsMS41NCAtMS4zMywyLjEyIGwgLTIuNTMsLTAuMTQgMC4yNiwtNC42MiAtMy4zNywtMC4xOSAtMC40OSw4LjY5IDcuOTYsMC40NSBjIDAuODcsLTAuOCAxLjY2LC0xLjk4IDIuMzcsLTMuNTUgMC43MSwtMS41NyAxLjEyLC0zLjE4IDEuMjEsLTQuODIgMC4xMiwtMi4wOSAtMC4yMiwtMy45NCAtMS4wMSwtNS41NCAtMC43OSwtMS42MSAtMS45OCwtMi44NCAtMy41NywtMy43MiAtMS41OCwtMC44NyAtMy4zMywtMS4zNiAtNS4yNSwtMS40NyAtMi4wOCwtMC4xMiAtMy45NiwwLjIyIC01LjYyLDEgLTEuNjcsMC43OCAtMi45OCwxLjk5IC0zLjk0LDMuNjIgLTAuNzQsMS4yNCAtMS4xNiwyLjgyIC0xLjI2LDQuNzMgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMDAtNVwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEwNi05KVwiIGlkPVwiZzEwMi03XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMDgtNFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gNDg3LjQzLDcyMC41NiA3LjI4LC0zLjA5IDAuMjksNS40NSB6IG0gLTQuNzcsLTEuODQgMC4yMyw0LjI3IDIwLjQxLDYuOTUgLTAuMjQsLTQuMzkgLTQuNjMsLTEuNTEgLTAuNDIsLTcuOTkgNC40NSwtMS44OSAtMC4yMywtNC4yOCB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzExMC0xXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTE2LTcpXCIgaWQ9XCJnMTEyLThcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDExOC01XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODUuNzYsNzUxLjYxIGMgMC40LDIuNDUgMS4yMyw0LjI4IDIuNDgsNS40OSAxLjI2LDEuMjEgMi44MywxLjg3IDQuNzEsMS45NyBsIDAuMDksLTQuMDkgYyAtMS4wMiwtMC4xMiAtMS44NywtMC41MSAtMi41NiwtMS4xOSAtMC42OSwtMC42OCAtMS4xMiwtMS41OSAtMS4zMSwtMi43NCAtMC4yOSwtMS43NCAwLjA0LC0zLjIyIDAuOTcsLTQuNDMgMC45NCwtMS4yMSAyLjQ5LC0xLjk5IDQuNjcsLTIuMzUgMi4zNCwtMC4zOCA0LjE4LC0wLjE1IDUuNTMsMC43IDEuMzQsMC44NSAyLjE1LDIuMTIgMi40MywzLjgxIDAuMTMsMC44MyAwLjExLDEuNyAtMC4wOCwyLjU5IC0wLjE5LDAuODkgLTAuNDcsMS42OCAtMC44NCwyLjM2IGwgLTIuNTEsMC40MSAtMC43NCwtNC41NyAtMy4zMywwLjU1IDEuNDEsOC42IDcuODcsLTEuMyBjIDAuNjcsLTAuOTYgMS4xOCwtMi4yOSAxLjU0LC0zLjk4IDAuMzUsLTEuNjggMC4zOSwtMy4zNCAwLjEzLC00Ljk3IC0wLjM0LC0yLjA2IC0xLjA3LC0zLjc5IC0yLjE5LC01LjE4IC0xLjEyLC0xLjQgLTIuNTUsLTIuMzUgLTQuMjksLTIuODYgLTEuNzMsLTAuNSAtMy41NSwtMC42IC01LjQ1LC0wLjI5IC0yLjA1LDAuMzQgLTMuODEsMS4wNyAtNS4yNywyLjE5IC0xLjQ1LDEuMTMgLTIuNDcsMi41OSAtMy4wNSw0LjM5IC0wLjQ1LDEuMzggLTAuNTIsMy4wMSAtMC4yMSw0Ljg5IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTIwLTlcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxMjYtMSlcIiBpZD1cImcxMjItN1wiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTI4LTVcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ5MC40Miw3NzIuOTkgMy45NywxNC4zIDMuMjYsLTAuOSAtMi44OSwtMTAuNDEgNC4yOCwtMS4xOSAyLjY5LDkuNjkgMy4yNCwtMC45MSAtMi42OCwtOS42OCA1LjI1LC0xLjQ1IDIuOTksMTAuNzcgMy4yNSwtMC45IC00LjA3LC0xNC42NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzEzMC0zOFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEzNi01KVwiIGlkPVwiZzEzMi04XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMzgtM1wiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTEyLjc3LDgxMC4yIC03Ljg5LC0wLjUgMi4xOSwtNSB6IG0gMy40NCwzLjc5IDEuNzEsLTMuOTIgLTE1LjEyLC0xNS4zNiAtMS43Niw0LjAyIDMuNDYsMy40MyAtMy4yLDcuMzIgLTQuODMsLTAuMyAtMS43MiwzLjkyIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTQwLTFcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNDYtNylcIiBpZD1cImcxNDItOFwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTQ4LTlcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkyNC45MSw3OTIuMzggMS4xNywtMy43NSAtMTAuMzEsLTExLjgxIDEyLjc2LDMuOTkgMS4xMiwtMy41OCAtMTkuMTEsLTUuOTcgLTEuMjEsMy44NyAxMC4wNSwxMS41OSAtMTIuNDUsLTMuODkgLTEuMTIsMy41OCB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzE1MC02XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTU2LTMpXCIgaWQ9XCJnMTUyLTRcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE1OC0zXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzIuNTcsNzY1Ljg4IDMuMTUsLTE1LjU5IC0zLjMyLC0wLjY3IC0xLjE3LDUuODEgLTE2LjMsLTMuMjkgLTAuOCwzLjk2IDE2LjMsMy4yOSAtMS4xOCw1LjgyIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTYwLTNcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNjYtNilcIiBpZD1cImcxNjItMzhcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE2OC02XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzcuMjYsNzM5LjI3IDAuNDgsLTQuMDEgLTE5Ljg3LC0yLjM5IC0wLjQ4LDQuMDEgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNzAtMFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE3Ni05KVwiIGlkPVwiZzE3Mi00XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNzgtOFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTM5LjU4LDcxNC4yOSBjIDAuMDgsLTIuNDQgLTAuNTcsLTQuNDYgLTEuOTcsLTYuMDMgLTAuODIsLTAuOTQgLTIuMDMsLTEuNjYgLTMuNjIsLTIuMTcgbCAtMS4wOCwzLjk3IGMgMS4wMywwLjI3IDEuODMsMC43OSAyLjQsMS41NiAwLjU4LDAuNzcgMC44NSwxLjY5IDAuODEsMi43NiAtMC4wNSwxLjQ5IC0wLjYyLDIuNjcgLTEuNzEsMy41NiAtMS4xLDAuODkgLTIuODQsMS4yOSAtNS4yMiwxLjIxIC0yLjUzLC0wLjA4IC00LjMyLC0wLjYgLTUuMzYsLTEuNTQgLTEuMDQsLTAuOTUgLTEuNTQsLTIuMTUgLTEuNDksLTMuNiAwLjAzLC0xLjA4IDAuNDEsLTEuOTkgMS4xMSwtMi43NCAwLjcxLC0wLjc1IDEuOCwtMS4yNyAzLjI4LC0xLjU2IGwgLTEuMTEsLTMuOTUgYyAtMi4yMSwwLjUyIC0zLjg2LDEuNDcgLTQuOTcsMi44MyAtMS4xLDEuMzYgLTEuNjksMy4xMSAtMS43Niw1LjI2IC0wLjA5LDIuNjYgMC43NCw0Ljg3IDIuNSw2LjY0IDEuNzYsMS43NyA0LjIxLDIuNzEgNy4zNiwyLjgxIDMuMzMsMC4xMSA1Ljk0LC0wLjY2IDcuODQsLTIuMzIgMS45LC0xLjY1IDIuOSwtMy44OCAyLjk5LC02LjY5IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTgwLTg4XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTg2LTgpXCIgaWQ9XCJnMTgyLTlcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE4OC03XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzkuMSw2OTQuMjcgLTAuMjIsLTQuMDMgLTE5Ljk4LDEuMDkgMC4yMSw0LjAzIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTkwLTdcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxOTYtMjkpXCIgaWQ9XCJnMTkyLTZcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE5OC00M1wiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTMzLjk4LDY3NC4yNSAtNS42MiwwLjc5IC0wLjMxLC0yLjE5IGMgLTAuMjIsLTEuNTggLTAuMjYsLTIuNjUgLTAuMTMsLTMuMjEgMC4xMywtMC41NiAwLjQsLTEuMDIgMC44LC0xLjM4IDAuNCwtMC4zNyAwLjg5LC0wLjU5IDEuNDgsLTAuNjcgMC43MiwtMC4xIDEuMzQsMC4wMiAxLjg3LDAuMzggMC41MywwLjM2IDAuOSwwLjg2IDEuMTEsMS40OSAwLjE1LDAuNDYgMC4zMywxLjQyIDAuNTMsMi44NiB6IG0gMy45MiwzLjUzIC0wLjksLTYuNDIgYyAtMC4zNCwtMi40MyAtMC42NiwtNCAtMC45NiwtNC43MSAtMC40NiwtMS4xIC0xLjI0LC0xLjk2IC0yLjM0LC0yLjU5IC0xLjExLC0wLjYyIC0yLjQ1LC0wLjgzIC00LjAzLC0wLjYgLTEuMjEsMC4xNyAtMi4yLDAuNTMgLTIuOTcsMS4wOSAtMC43NywwLjU2IC0xLjM0LDEuMjEgLTEuNzIsMS45NSAtMC4zOCwwLjc1IC0wLjU5LDEuNDkgLTAuNjUsMi4yMSAtMC4wNSwwLjk4IDAuMDQsMi4zOCAwLjMsNC4xOSBsIDAuMzYsMi42MSAtNy40NywxLjA1IDAuNTYsNCB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzIwMC0wXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjA2LTkpXCIgaWQ9XCJnMjAyLTNcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDIwOC0wOVwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTI3LjAxLDY0NC4zNyAtNi41Myw0LjQ1IC0xLjM1LC01LjI5IHogbSA1LjA0LDAuODggLTEuMDUsLTQuMTUgLTIxLjM4LC0yLjgzIDEuMDksNC4yNiA0LjgzLDAuNTcgMS45Nyw3Ljc2IC00LDIuNzIgMS4wNiw0LjE1IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMjEwLTJcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyMTYtOClcIiBpZD1cImcyMTItNVwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMjE4LTRcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkyNi4wNyw2MjQuMTkgLTUuNTIsLTE0LjkyIC0zLjE4LDEuMTggMi4wNiw1LjU2IC0xNS41OSw1Ljc3IDEuNCwzLjc5IDE1LjU5LC01Ljc3IDIuMDYsNS41NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzIyMC0wXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjI2LTUpXCIgaWQ9XCJnMjIyLTVcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDIyOC05XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MTYuMDYsNTk4Ljg4IC02LjUzLC0xMy4zMyAtMy4wNCwxLjQ5IDQuNzUsOS43IC0zLjk4LDEuOTUgLTQuNDIsLTkuMDMgLTMuMDMsMS40OSA0LjQyLDkuMDIgLTQuOSwyLjQgLTQuOTEsLTEwLjA1IC0zLjAzLDEuNDkgNi42OSwxMy42NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICB7LyogICA8ZyBpZD1cImc3NDQtMFwiIHRyYW5zZm9ybT1cInJvdGF0ZSgxODApXCIgPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDc1MClcIiBpZD1cImc3NDZcIj5cbiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT1cIm1hdHJpeCgyNDguNjQsMCwwLDIxNC41Niw1OTIuNTYsNjA4LjA0KVwiIGlkPVwiZzc1MlwiPlxuICAgICAgICAgICAgICA8aW1hZ2VcbiAgICAgICAgICAgICAgICBpZD1cImltYWdlNzU4XCJcbiAgICAgICAgICAgICAgICBtYXNrPVwidXJsKCNtYXNrNzU0KVwiXG4gICAgICAgICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFySUFBQUpVQ0FZQUFBRHBaTVVmQUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBSUFCSlJFRlVlSnpzM1ZtUUxOZDk1L2Z2T1NjemErbnUyM2NITHZhTkpBZ1FJRUFTQUVtQXduQ1RxQ0VsY2JSTmFLd1pleUxzTjcvNHlTOStjSVFmeHZQZ0NNYzRZaHl5ckJnNXBORFkwZ1JGQ3VJR2lpQ3g3eUFJRUx6RVJ1ekFCZTdlM2JYa2NzN2ZENWxabFZWZDNYMFhBUGZXdmY4UElwSGRsYlZrVmRldCt0Vy9UdjZQQVFTbGxGSktLYVhtakQzVE82Q1VVa29wcGRTcDBDQ3JsRkpLS2FYbWtnWlpwWlJTU2lrMWx6VElLcVdVVWtxcHVhUkJWaW1sbEZKS3pTVU5za29wcFpSU2FpNXBrRlZLS2FXVVVuTkpnNnhTU2ltbGxKcExHbVNWVWtvcHBkUmMwaUNybEZKS0thWG1rZ1pacFpSU1NpazFselRJS3FXVVVrcXB1YVJCVmltbGxGSkt6U1VOc2tvcHBaUlNhaTVwa0ZWS0thV1VVbk5KZzZ4U1NpbWxsSnBMR21TVlVrb3BwZFJjMGlDcmxGSktLYVhta2daWnBaUlNTaWsxbHpUSUtxV1VVa3FwdWFSQlZpbWxsRkpLelNVTnNrb3BwWlJTYWk1cGtGVktLYVdVVW5OSmc2eFNTaW1sbEpwTEdtU1ZVa29wcGRSYzBpQ3JsRkpLS2FYbWtnWlpwWlJTU2lrMWx6VElLcVdVVWtxcHVhUkJWaW1sbEZKS3pTVU5za29wcFpSU2FpNXBrRlZLS2FXVVVuTkpnNnhTU2ltbGxKcExHbVNWVWtvcHBkUmMwaUNybEZKS0thWG1rZ1pacFpSU1NpazFselRJS3FXVVVrcXB1YVJCVmltbGxGSkt6U1VOc2tvcHBaUlNhaTVwa0ZWS0thV1VVbk5KZzZ4U1NpbWxsSnBMR21TVlVrb3BwZFJjMGlDcmxGSktLYVhta2daWnBaUlNTaWsxbHpUSUtxV1VVa3FwdWFSQlZpbWxsRkpLelNVTnNrb3BwWlJTYWk1Rlozb0hsRG9kWnRQUFltSEdhYlk2WGRmdngxcE82L0pqQnBBUGZUM3IrYUdVVW1xZWFKQlZjOHRnaVUyQ0Y2RU9yV1ZBRVFDNjdTNzlZWC9xVWxiWDcrTTZuUGIxbU5GdnB4YUhaZFB0RVpaZ3dHRUlCcXpRV0FlODVHQkFBdU9VTzROenJyeS9JU0FpR09Od3poRkNJSVRKUUd5TXdSZ3pPdi9HTkVncnBkVHAydVNsVzZteld4bGtZMFNrQ2hVRlFRSmxwVkJ3MWpFT0N6cUs1b1BnUlJBRFJwaTV0cGdOdDVjc1lLY0M1b211QXliSXB1ZER3aVpCTjJBc1NMVXZNdU9WMExrNmtJSk1uTUZpakJrRjNJbkh4T2RUNTMwL2JCVFZsVkxxL0taQlZzMDFVNi9ONUJQWm1ObkJSTDEveEd4OW5zMnZZUHpqUmtINGhOZk1Ia0pnemV6VGtmRzZ5VnFMdFhaVVZTMktZclN0V1YyMTF1S2NJOC96MGUvR0dFUmtkaFYybzhkcUl0QnZacU1ncTJGV0tYVisweUNyNWxyY3NoUStJQUdpR0lvQ3JJVnVOMkZ0TmNPdUw1aXA5NUhJNlFYYXJlTGJpWDRZMmJnaXZQNzB3TGdpSEVjZEpGaEVaQlJDUmNKb2VFb3BZSXpCMnZINUppdXU2OE9raThBNVM1WnRFbXFsV2paOUZMWjZoRFRNS3FYT2J4cGsxZnd5Z0l2THRCTkNXWVlGRU1FbENUNGJjcVlQaGpxbjErWjByNGNUQ0hLYmFRUzRVem5pQ3d2RVFQUFRUdmx5YUxFWUkzanhrN2N6RlJxZHJSOEhFUEdqa0d0cytYU2NLTTVPQi81TmcreEdqMG56U3VxeDRScGtsVkxuTHcyeWFvNUZRSnVvdTQyaTM0Y293a1V0L0hCUWxzUjhnWlprUDJBaUczOXRYbS9mMUJZaFZqWUxhWFVxM2VUYTQzaFVQUldSeVFHeEFwRk55bXF0Q1BWLzVSanI4blpqNThoOWpqQU90TTQ0b2lqQ1dzTWc3WTFPdDZZOEtFd2s0RU9PaUM5dmEzb1hUN29pdTc3THc1Z0dXYVhVK1UyRHJKcGpIYTY3NGN0ODg1di9DdThGN3ozdGRwZVZsUlU2N1FXS29pQ0twaHB6bUtrM2ZkR0R3RTZWbU9rRG9HYWNaNnNnRzA3djh0V2hXQnR1ei9OOElzZzJGMHVnM3p1T3p6S0d3eUc5L2lxOVhvOWViNVhCb0VkUkZMejl6bHZrZVU2ZXB4UWhxd0p1Zlh1QmRoeVQ1VU5DZGJyRjRwd2xoS0xzaUVCZ1hlVjB1cWk2cVJNSnNrb3BkZjdTOWx0cWpqbUtvc3RIUHZaWkZycExySzcyV0Z4Y290OGIwdWwwU05OODZxanlPa2hVNjRrUWV4WjhWVCtIYXhHRG1JQVJPM05OMkhoN2VYblp0QjY1ZWZzcXFpQzg4WG1zTGE5OU9zU0tDQWJCaEFHV29tcVhGYXExWU96NGVyM1BTYk1CZzBHZjFkVlZEaDg1eU1HREIxbGRQYzdyci8yYUkwY09jZkRnUVhyWmFua0pEK1ZMYThRNHdEYkM3S2pLdk5HK3p4cktvSUZWS2FWbTBTQ3I1bGhFQ0FseHRJTTBOU1RKRHZMTTRWeUxFQklNSGdsVDMrc2FtZnE2dWg2cmVUcUh6Si9mYTBFd1lnZ1NzR0x3bE90Z0JJZmRjRHRHUmdkZmJXU3JQcXpORUR3eGhHQjArVTIyUzBGRWdxV291aGlFY2kwZThhSDZ3Q01ZV3JTVExxMTRPOXUzd1NVWGZhUjZMZ1dNQkl3VmlxSmdiVzJGZDk4OXdHdXZ2OExycjcvS2tTT0hlUEdsWCtGRGpwZWNRTUZrZUMyQW5DcjVUckRXMG1xMXlMSmhGYnpEcUpJN1VhVGVvS0piRG4yd1pGbTJ5ZU9ubEZMelQ0T3NtbXZCUURDMmVuTzNHR01KR0FLT2dNR3NHNkFZbUR6cXA0cENvejVldWo2VmRkbXoxVXl1Z1ZCUERMREJkZ3VZVGFQc1ptTmczV1FQcmMwYXdzN2NIb0U0eWdPK0dIL0FFVitHV0drT0I1RHk5SG83Z0Fua1dka1pJNG9XMkxWak83dDJYTUsxSDdzWjczTkNLR2kxWTk1Nzd3QXZ2L3dTTC8vNlJkNTg4M1VPSEhpYlE4Y09FVWlCRk1pcmNiZmxjOUdIbk1KbkRBWVpFNk8vQkl3RjV4ckhOWWJHY3hnd3hoQkNtR2dicHBSUzV6SU5zbXFPQlRBNVlnZGxDeWlKZ0JpeGdoaUQyREIreHgrZHYvbFZieFVDZEp6c0tadU1tVEsxWnVyeG45NGVwcys5amt5UGFaNjQ3ZWx0TTI1L3MrMENRa3lRcVByVlYydGJuU1dNKzNSSkdCMjhWVmQwclFRNjdRVkV5dG05Q3UrcmpnV0NOUzJjZy81YW4yNTdEemQrWWplZi90UWRHR1BvOTljNGRPZ1F4NDYveHlPUC9aUzMzM21WMTk1NGpUUXZLN2FPTm9ucjRFTkdxeFZUK0l3c0h3QUJDUUUvY2JlRnVxSmJUOUJnekdiaFh5bWx6aTBhWk5VY0MyQXlzQ2tFeStnd2NHUEI1R1VJbVE2eVNDUE1Vb1pmcy82clhYVXFUamJJd3BaalB6Y0pzdXN2ZjVKQmxtanlyS01QTlBXSnRqRU14VFMyaDZxcUxPU1p4NWh5TEt5SVE4UlQ1TDZjdWxZS2R1M2FWeDRvNXN1ditLMkZ4VzZYNU1KbGR1L2F4N1VmK3dUR2VsWlhWM2oraGYwODhjUmp2UERpZmxZSFJ6RTQrc084dkczYWdNY2dXQXMrRk5SamVwc0J1MW1KZGM3aHZUNjNsVkxuTmcyeWFvN1YxYWdDVEQwZGJYblFEcVkrMEtZUlRrWUJOa3dGSkszSW5qS1o5VXZ6eEMwcXNsc0YxYzIyQzlVNDFjMXVmK1A5TTFCKzZCbTlESTZycit2WnhuYWhEcmxGTGpobmNTN0d1WEpXTUV5b0psYndIRG04eXZnZ3NuSi95MW5CRmxqc0x0SHVSQnc3ZGhoSHpDMmYraXBmK2VJM1dWMDd4aS8zUDhQekwveUN4eDkvbUdIYW96OVlJZmREeXFwc2dTRkN5SEhXRUVSbXprU21sRkxuQXcyeTZoeFNqcmdjRHhlb0FnZFFWdEhzT0ZkSjR6STZ0T0I5Y3JKQjluUk50NlU2Mllwcy9YT3h5ZmJweTA5MnVtaDNGc3F2KzMxT25tZWpnOVBxM0JxOHBkMXAwMmt2WUIwVVJVR1daWGp2OFlXd3V0S24xZHJPOW0xN0NDSGo4TUUrUVNJK2VzM05mT0s2VC9OSGYvQ252UGpTZmg1Ny9FR2VlZlpuSERqNEpnRkhiQnhKVytnTmpsQlhwZU00Sm9xaVVaamRzdU9EVWtxZEF6VElxamxtS0EvNGlTRzQ4bWVTOG9oNmljdGhBMUsxMzZxT1FFZkMrcUVGNnJUWVVhRnlmZGVBNW5qTm1kdTNhT2h2dGdwanAzT3dWMVhSbFdxR3NzbUpFOVovdUJsUGxsQ3VqWlFIWmhHcWRsN1ZHRlhuSE5hVzFkbDJXOGp6akdQSGpwTmxLU0VFa2lTaDArbVVJZGluNEIwZU1LWkY3Rm9JR1NJcGVlcnhZY2hWVjF6UGRSKy9rU0FaYjcvekJrOCsrU2dQUEhnL2J4eDRnVTU3Z2NId0dGRDJ6RzIybXl1SEhieGZIeHFVVXVyc3BPL2lhcjZKcGF5U3VTcVV1dW8wVjRYVzZRdlk4WEZlbzh1cVUyVW5jdElwVkdTYmZ3c1RUbmh0cGU1blN6VVV3RmJkQkJycjZiNjNqZTJtdXA1QTNjZTJQZ0N3N21JeEZhQ3JZR3VxR0d1UWN0aXNDTFlLc0NDRUlCUkZqdmVCRUR6dGRnZUFKRWxvdDF0WVc4NzhWUlNlbFpVVjRxaUxMd3g1VmlCNGpBbTR5QkZGWGF6eDVMa2w3ZmZwci9WeGtiQjk4U0srZE9jMytOeXRYMlNZSHVlLy9QMWY4dVpiditiQWUrK1VlK2JCVUk2ZkpZREJUazdpTVAzdm9lcjJzYm54WTlIczl5R05oZ3BLS1hXbWFKQlY4MjJpQzRGdExOVTJBNVBkQ21xTklRZnFsTTJxK0RXUDd3cGhzNE9OUWhtR1ROMjl3QU9DMUVGVHlwbXl4bTJ4eHV1eWhXMDVGblhVRzlnSUpzams3OUtjakdDOHRwUWhWc1RncTNRbkFsYk1WSi9XeVE0TDlmR0RWc3FXWWlLQ3B3eklVZ2RsSzBTbTdKRVZRdG5LeTJBSnZpQjRQenBmNUFBWjRselpVcXVlRmxmRTQvTlFQYU1kaVYwQTF5MnJ2a1U1aWNSaXZJM0ZlQy8vdzMvM3YzRDR5RHM4OCt6UGVlaWhCL2pWRzgvaEtNcnhzM2lFZ21CeU1GazlLMjhad0tzUTZxekIrM3BJRHJTU1RqbnN3UmVOeDJ4OC95M2wvYll5dVZVcHBjNFVEYkpxem0wUVJKdEhtSnVxRVgxZDBXdVdwYlk4S2w1dGJxc29jNElIYzVrdytxcC8xUHFLOVdzajQ5K05NRzZQdGRGNnFncHNSYXBzS3FNd09uRkE0QWFhbGVmNlp5dmdxLzIzTXJXL1ptbzlkVC9xODR0dEJIMFo3MnU5UjZiKzFrREs3VmFhSHg0Q3EwZlgyTE44TmIvNXhXdTQ5Vk4zOHNyckwvTGNMNS9tc1NjZjRyMlZOMGhNVENybDh6NU95ckNjVjBPQ2QrNXMwVnNOT0J1WGxXUmZrR1lEd0dLQUpFcklpcFRtSXpUOVdDaWwxSm1tUVZZcHBlYVVOVEZwQ3Jid3RKSWxQbnJORFZ4NnllVjg4c2FiZVB1OU4vakwvL3huTENTN3lZc2VXZFlqa0pNa0Z1OExqaDVLeTZxdjljUnhES1p1MzJVUklDM3k2aU5mcU9aUW14NXU4U0hmV2FXVW1rR0RyRkpLelNWTEsxbkFlODl3bUNJU1NEb3h5OXN1WkhGeG1Vc3V1WUpQM1h3cjMvL0JkN2p2d1h1UU5LYmRpVmdick9FcGNFWW9aSWhJSU10U1JDQ0t3VGxEbHZvWng4dzF4NVRYQTJRM1AxaFBLYVUrYUJwa2xWSnFMbGtNQ1Vsc1NaSXVVQkR3Wk1PTVlSb1lwb0pOWXY3dGYvM2Y4L3YvNGsrNDY3dmY0VWYvOUgwRWlERVlVMkFqZ3pBa3p6MFlLQW9vQ285ekVFSTEybUUwMUtNNm1ISVVhQU9RbzBGV0tYVW1hWkJWU3FrNUpXTEljeUdFZ3FMSUVPdUpJc3RDZHp2TDIzYVFoU0d2djNZUUtQajYxLzZJMnovN1JSNTY1RUVldVA5K0R2YmVJQVNEVkwyWHJZRlFqZDMxSGxvdFNGUEd4VmNDNHlEclp1K1FVa3A5eURUSUtxWFVuQ3Fub0MxNzFyWmFMYng0Z2hRTStqbVlnaWh5N0Z5NmdNSVB5WWNaZTNaY3h1OSsvVkt1dStaVFBQbnpoM2o4MlhzNHR2SU9lUmdTR1FOUlFaWU5SOVhaeVhaZG9lb2NVWXgvVjBxcE0weURyRkpLelNsakJPOExSSHc1RVlPekdCekdsTjBaOHF3YzYrcGNtOWhGRFBzRklRUXV1ZmhLTHJ2c01qNzY4YXU1LytFZjg3Tm5IeVgzT2RZYnJCR0NwR1VidGJwcDdPam52T3JYUE4yTlFTbWx6Z3dOc2txcEV6SnJaaTdiS05uTjJyNlZrNWxHVmFwR3FCUFhiemZmUHIxL01yVjlzbVhzK3UxbWFudHpQWDM3Rys1emRVUE55NDhuR1pOMTV4V1JjZE93TVBsWVRqNjBBVThBVis1bm9NRDQ4blJET2JPWHFRYTcrdURMeVJ0d0dHT3JTZTRNSDdueVpxNjUranB1L2NVWCtNZnZmNHUzRHYwYUpHTGJ3akw5NGNxb3oyMGNPNFpEWHowZ0JhWnU3NnVkQzVSU1o1Z0dXYVdVbWx2RjVLL3JacktEOFlGWjQ0MUdnQkFUbXdpa3phZHZ2SVBMTC9zSUR6NzBUL3o0cDkrbjF6c0dKR3hiNkxMYU84TFFlNHlCSklHc3FFS3N6dXlsbERvTGFKQlZTcW01Rk5aUDZERVZMRTJ6aE51WUc4S0tKUUR0ZUlIK3NFZWVaVnk0NDNKKy8rdi9GZGQ5N0hydS90RmRQUFB5ay9SN0taWU9RVktRUUpaV3M0S05ibUQ5YlNxbDFJZEpnNnhTU3MyMWpaTGsrdktzRlRzYXdtREZjdVRnRVhiczJJSFFZdVhZTWJvTENUZDk0dk1zTFd6bm9zY3U0LzRIN21ZZ0s1UlYzWlFneGVoYVhReEYva0hjSDZXVU9uRWFaSlZTYXE3TkhFOUFHVDdyMEZxT3ZUVmlHd050TGRzWEZ6Qyt3RGpMVW51UlBFMDVObGpqZ2wxWDhNZS9md1ZYWEhvVjl6LzhJL2EvOGpRQncwTExrbVlyQkttR0IyczFWaWwxaG1tUVZVcXB1V1JCTmpuYVRNWkJ0bFFIM25HNFhkNjJ5T0hEaHhrT2h5eHVXMkxid2piNnc0UTA3VFAwZ2RzK2N5ZTdkdTFoOTBON2VPekoreGlrNWRoWlozTjhKanF5UUNsMXhtbVFWVXFwT1JWTUdXUnRZL3dyVkpGVjdHaU1yQkVhZzF1bE9uL2d3RHR2ME8xMjZPNVlJaThDYThkN1lBM090Q215bEF5NDlwcWJXRjVlcHJ1d3dCTlAzY3V4dFlPRU1BQXl0UDJXVXVwTTI2SjVqRkpLeldZRXdrYmZhbitJKzNDaTdJenpXcGxjWU53MjFjeTRuSkh4MHJ6OHFiS05kWE9wYjJ0NlA1bmF0djcycTB2UHJOU3VENTNiZCs3QVdrdWFaM2p2aWFLSUtJcG9SVEhkOWdLV2lFUHZIbVY3ZHkvLzh2Zi9HLzc0WC94YmRuUXZCWlpZVGk3RXpxcUZtQm5MQnB1VlV1cDBhVVZXcWZQWVZrRndvbWZxdVBscHVRSkUvUHA0Wk5aL1FqWlRmVlFiWjUycERtZmkxNGV2NWhma2RlL1kwWDVKWXorbnIzOXEvNm4yZjZQYm50N1g2ZXMzTW5rRS84VDlXOWM5WUtMNTFlam40TXZlckRMajhURUMxcGp4YlUxdEY4QTB1aGFVdHl1SWVJVDFsZHJ5Y21VLzJmcGU5N095ajVZMURxd2g0TWU5YTMzQUdHRWhXU1FNQzN3dzNITGRsOWkzZkJWMzMvMERIbm5oSnhoaWxoWVRWdGY2QUhRVzJneUdRd2hnNDVpUTEwZUQyZXFlbHovVlF4SUNRWWNtS0tWT2kxWmtsVklmdXRPdFpNTEpWZlMyT3U5V1ZkbG1GYlkrZjMzNjZacFZlVzFlZjNQN3hEN052TGJtakZ1TnhjeGVCSXRnQ2RpSlM5VC9GeEVrZ0hpRHp4eFcybHk0K3lydXVQVzMrSjNiLzRnMlhmcHJRd3lXSkdrejZKY2h0cnUwUkFpK3NiTWJmeUJSU3FuVG9SVlpwWlJTTTFscnNkYmlnYUlvU0ZOSWtvU3JyNzZhUFJkM0djWUgrUEVELzhpd0dPSjhCT0lCVDc4L0JCOG1wN2R0MU81RmF5aEtxZmVKdnBvb3BaU2FLWVNBTVFibkhOWmFpcUlneXpKRWhGYXl3SmUvOE52ODhUZi9OVHM2ZThtOVlTSGVScnUxQU1XTVVyV3BoeE9NRngxV29KUTZYUnBrbFZKS3pWUVVCVVZSSUNJNDU0ampHR3R0R1c1TlRPSzJjZWRuZjR1di8rWWYwbUdaUFBmRXRJbE1WSTBubnJwQ016NVpRNnhTNnYyZ1FWWXBwZFJNY1J4ampDR0VRQWloSEROYkxXQ3h2c053TGVMMlc3L012L21ULzVidHJiMmthWTRWUnl2dWpoUHI5T0RlR1dObWxWTHFWR2lRVlVvcE5aTnpEbE4xVGhDUjBkQ0NvaWpBT3pySk1yMmpHUjIzekc5ODlpdDg0emUveWZiV2JzRGdnc0ZSOTdDdHJuQWkwQVk5NGtzcGRkcjBZQytsbEZJelpWa0dnTE1XNXh3aVpXWFdZbkF1b3JlU3NtZkhwZlNPSFlYVmpDOTgvc3NzYmV2eW5lLytIVzhmZXhWRGpDWEhONE5zdmRheEJVcXA5NEVHV2FYT1l4TjlVajhBSVpSZklaOUltNnBaZlZqTlJ0dnIweHBYWEY5dVl2c1dsOS9vOWtkNXk3eC9KY09KNjU4T2RodW9INyt0cm5QMDgvVDluOUVUZC9MeHFYdnJUbTZ2VDI5V1k4dDlLWWNWQkJHQzkzU1NCZkNXYnJMTXNGZ2w3dzM0MkpYWDg5VTdlL3p3SjNkeFlPVU55azYxUXFlVDBCK1UvV2FKSThpTHplKzhVa3FkQUIxYW9KUlM2cFNFSWxCa0JiNHdHTzl3cHMzMnBiM2NlTjJuK2ZwWGY0K0VSWFl1WElBalp0RFBhYlVXd1ZySUMxeVNuT25kVjBxZEF6VElLcVdVT2lYR1ZGWGpJQmdUNFZNb1VzdU9iUmR3NDNXMzhPWFAvM082eVU0c0xTd0o2VEF2NXpVMkJwOW5aM3IzbFZMbkFCMWFvSlJTNnVTWkFOWWpoY2VZbU1TMTZBOHoraXM1TmhHUUR0LzQ3VCtrM3g5eS9QZ3FlZWd4b0VjUUlXbkhwTU9oanBOVlNwMDJEYkpLS2FWT2dXQ3NwNUFVaXhCSFhkckpBbG1SNGdTTWlWaE1FcjcyMVc5U1NPRGhuOTlMVEF0UElCMmtHS001VmlsMStuUm9nVkpLcVZPU3RCd3VDb1JRNEVOTzhPQkljTFpMUklmRDc2MXk0ZTVMdWZQMnIzRHQ1ZGNUQ0FnUVdjY0hmSnloVXVvOG9VRldLYVhVS1FpSTllQUMxcFU5WnZNOHgzc0lCUlM1eGRMaCtKRWVsMTl5RGIvMTVhOXg2WjdMQWVna0xXMGhxNVI2WDJpUVZXcWVpZDFraVRaWTdIak42UzFXb3BsTGZWc21sTXU2ZmFCY3JFU2o2eGxmbjYyMnoxaFA3YjhKRHNSZ3FtWGNjWDlxa1EwV3dKNUNaVEJNcGJDNm5aYVI4YzlXeGt0ejI0bTBJcHRsVnZCclh0ZjA5WjdJL1pyZW4vb3Z1L1ZlbE90K3YxLzJsYldXS0xMWXlPR2lpQ2lLc05iUzdTNFN1VGJaSU9mcUt6N0c3L3pXTjltZTdDWWJlbllzN01SZ1QyRlNoT1p6VUNsMXZ0TXhza3JOSzdFWXFkL002elJnSjdiUFpFSzV6UVJNOE9PemI5Rm4xVlMzMGN3ZHBuRWJzeTV2eFcxNkYwSUlZQXdpdHV4WktyWU1OMWdnSUdLQUFGaEVERkt0d1dJa1lHd1p4S3pNdnYyd3lmZlhoZ0s4UnlpbVRvZjZjV3oyY1MzN3ROclJWK0tHVU8xektDOVQ5NSt0enpEVjA5V0UrdlRHYWMwK3RYWC8zT2IyNW42RnlmdFhodWxHejkwWjF6KzZiUE42SjdhUC8vNnpici9lZzRtTFEvazNNT1VIQ21jamlnQkZ5TUZGQkR5NTk0Z05EQVlwaTB0dGpxLzFpSUxqeG85K2hxOTg3Z0RmdS9jdUJyMEJFTlBxeHFUOU5WeGs4VVg1ZUM4c0pQUjZqYTRHbzEycW54dk5HUlYwdWx1bHptY2FaSldhVnlaUWh6eWdDcTUxTURIVjl1a3dHeHFYcFVvNDlmbjgxRHBzc1M2dno0NENqa3lzNjkzWTlDNFFxb1RrcThwZ3ZmLzFPalIrbDhtMUFTdlNtT3EwdnQySmFSQTJ2bkdwSDcrVFlNcEpBUkNMR0hDTnl6Y2Y2V1pWdHJrbkU5TzF3Z2xYSTYyc3Z5ZFd4cFhoNmUwbld1UTBKL2hRVFpqNGdGUS9INXEzR0NZcTFsbFdrRVFKdmhnU3JPTlROM3lPWTRmV3VQKzVlN0FVNUhrR2xDRTJhVG15ek5QclpTUUpaSnQyNk5MQkNVb3BEYkpLemJGcWpPSW9USjFBTmJiSkJDU01nNnlJbjFodkZXU3RVQlhHNmlDOWNVVndvLzB2dytRbUpxZW1tanF0REpYak9IT1NRYll1NnMwOFM3MWZzNjVMcWd3MUhlRFVXUGs4U1pLRWZuK1Y3a0tDZFVLVzlibnNzaXY0L09lK3dQNWZQOGViZzFWQ052NWdaTVJpOEFpUUpDMnlMTjNrTnZSb01hV1VCbG1sNXBnQXhiaTZPdUVFeHcrZWJrVzJEck9qWDVyckU3bjlyYVlwM1NCSVR0ejJkT2c4MFlxc3JjYlZqb2N5ak5kYjBhK3p0MlpKa3BqVnRlTklNQ1N0RG9QQmdMWFZsQXYyWHN3Ly8rM2Y1UysrOVIveGVMWXRMYkt5ZXBRMDlTUkpSSllYREFhTkVGdC82RENoK3BOdVBtUkZLWFgrME5IeVNzMnRLb1ROT3RCclMzWjgyVk5lbDhJcExxTjdJYWUyakd4NndOc21DNDBRTzMzLzFpMXFJNWJKQTl1YVM1RVdMTFNXd0J0OEpyUmNtN1Rub1hCOCtwTzNjdHRObjhjUWsvWUwydkVpQm90NFczNmNtUDZNbzhWdnBkUU1XcEZWYW01WmtMangrK2lvbjgwdk5oRjA2d044RE9DbTFyTHBPaGpCMVZXeTV1MmZhRVZXNm4zWmJIODNyc2hhb2F5bzFnZXY0U2ZYSnBUNzJ6aTRyYm0yZ0RRUGxxdkRiZlB4cWNmZ2x1ZmVaSi9PVDZQaEpYVjVmUFMzS0IvRGZyL0g4dkl5L2NFS2c5VUJ5OHZiU0pLTXdhQkhKQkcvL1p1L3c4dXZ2c2g3eDk0aENnYUxvL0FlWngxZS9NWTNmSjQvN2txcE1RMnlTczByc1VBOERsNTFvSndZb3pwai9HeXp0RlVmNlk2RmVtenNhQjIyWHRkSHVqZHY5eVRHeUpvUU5tMFQxVHpxZjJaWEJXT3dZZU14dnMydUI3UFhZWVBUbXp1eDJSaGcyZnFEdzNuTTJvaWlLSkRnY0xZRk9KeHRZNDBuSFE2NGVNOWwzUG41TC9HOTcvMERBK25STWd1azBpT0VnTE5RYkJwbWxWSkt2ek5UYXI1VjFTOVRmVjFlZnVWdXFuVVlkLzJzaTdWVjc5VHgxL1BsNVczMTg4bXNUNlgvNnZwOVAzVUdSdnRUT3RVMWpNUHJSc0YvMW5KKzI3d2ZidDFHYTRGZWIwQUlnWVdGSmZMTXM3cmF3NWlJZHJ6SXNZTnIzSDdMblZ6L2tVOWlpREhpTUVUakZtaXpic05NLzYyVVV1Y3pyY2dxTmNmNnZSVjI3OTZGend1R2VVb29jbkFRV1VNVU80bzBRMHpBaUszYVA5WHJLb2lOcXB4UXR6UzFwZ3FKcHR3dzJRSi9Nc0w1NE5kOUdqNlppR2VOTDF0d2JVQWFYUTNxL1d1MlhpMzd1bGIzb2RIK3F6N05XbHRkanpDN1ArNzR5b3d4V0Z0ZW4vZWVFTXFqN291aUtLdUtJbGdiWVV4OW5vSk9wMFdhRGZEZVk0d1pYZFlaUzZ2Vnd2dDgvUzAyN29BUDA5WGY2ZnMvL3Z2TXFraVA3dk1HMjhmWHM4SGx3K2FmUmphdmlKZlBqZkpEbEtsT2wvSnZWbjJReW4yZ25iUUF5Tk95bDFic0VoQW9oamxPRXZ4Z3lKLzg0Wi95OUw5N21vS1VCYmZJbWo5V1ZkYVZVbXB6R21TVm1sT0dnaXN1MzhXN0J3N2duQ0dKd01SQ25CZ0dnejYrQ0xqWWpvN3ZkbFVGMUkwT2NxcWI2Ry84MWJ2WXpiK2FGeWxMdTBZTU1tTWRpakR6ZEZPTnRUVlZ2OWk2SityMDJobVplZnFvZDYyWW1RRzdOZ3Bmb1J3R01URkJnYkdJbE1IVUdJTXhoaERNK0Q1WlE2L2ZKNG9TNGlUQzRBZ2hJQkp3enRGcWRVaUhBNHcxdE50dDRqakdlODlnTU1EbkJXbWFFcGx6K0V1djBmam02VEFjR20zWk5tZ05ad0pHRERiRTdOeTFuVGZmZnBXdjMvNE52dnZnZDBoOURrUVRIMkxXMDZxc1VxcWtRVmFwZVdWeW5uL2hDZjc4Ly9yZnlmSWhSVEZFQ0d6YjFtVjE3UmhKRWsxVjU1b0hNMVZCZHNNeG9pYzZ4aFJnNHlCTFlPTWdhNFRJbDBIYVZNZVJuY3dhb0p3WXJCb3VVWVhSNXUrN2R1MGlTUklXRnhmWnZuMDdPM2JzWU1lT0hTd3RMZEZ1TGRHS2R5TEJVbmloS0FwOElUZ1gwV3ExYUNWdGduaXN6VEcyNmhrclVCUTUyYUNzMHJhajhtQTdheTNPdVdxZkFuRWNFMFVSUGx0ZmtUM255S3lQRUdIeWs4WE1nd0l0MWp2YWRwRklFcjc4eGQvaTZWODh4ZXZIWHlFbUpxUHgySm1waXlxbFZFV0RyRkx6eWhSY2ZQRWlMN3p3Q0VXZWdoOEFnbWs1Sk91WC83cUx1b2RSWTF5b0dNcU5kWWl0RHowL2xmVlcrN2pKUUFPQmlTbFNaMTE4aTRFS3pla1F4bFBvams4TE15cDJwdm9QWW5ac3U0UUw5MTdPMVZkZnpSVlhYTW5ldlJleWJXazdMbDdBK0pTbDVTNjlYbysxZmdwaWFiYzdkQmM3ZE1UaWk1aWw5ako1N3NuekhPODlJbElPTVFoQ2xtVlY5ZnQ4MVhqc1RUMkQyL2lEVURrYldjTGFrUUhidTd0b2RXUHV2UDJML1BYM1hpTnlDYWtmTVBtQlNTbWwxdE1ncTlTY3NnaldaaFREdytBc3JnVSs3eE5IQ1ZuZUs0TmlzMjk4ZFNCWUdXWmRkVUt4ZWRtem5yeHFvd3k3V1ZDRnpUc1luRUFXUHBrQzNJazIveW9mQm9NaDV1aktxeHhlZVozblhucVErckZwUjEwdTJuY0p1M2Rkd1BYWGY1TExMN3VTSzYrOGhuYXJ3K3BxajhOSER4SEhNUXZkN1J4Zk9ZS0Vzdkx0bkNPS0lvd3hGRmxlQmxsM2JyL0VHckdOWVI1bEJ3Zlo0QzhnVmFzM29SeERhNENXYVROY0hkRGQzcVYzN0JnMzNuZ3pWejUxUHk4ZDJQL2gzUW1sMUZ3N3QxOWxsVHFuQlFqVkZMVytLUHR1aG9Lc21oSEpPSkNjeWNBb1F0bG5kYXB0MUhScnFSTnBvV1cyUHA4eEc5ZHpZZXZRdVZWT1pvdGQ2SFJpUklRUVFyWFU1eGRDeUlBTVl4eHgxTUlZaS9kQ1Z2UjU1WTBqdlBwR3pHTlAzNHNoWnRmeUhtNjg0V1p1dSsxelhIWFZOVVFPMW5xSFdZajJZcW9XVTFtV2tlYzVjUnpqcktYZGJoUHlyV1l1TzVkTi8yRmtYSm10K3MzR0xrRWNaSU9OR1ZxckFBQWdBRWxFUVZRVWI0VE80aUozZk80TzN2ejJ5NnhKLzR6c3RWSnF2bWlRVldwdVdkcHhGMGlJREJSaFNCbHVJWTROSWVUNDZUS2xRUG5Qdmg0cld3WXRJMVhBUEptMWJEM3d3R0kzSGVNcVczeHR2RldPRFdJd1UzMFRtdU9DQi8zbTBJWHgrYXkxV09jUkk0aDRNdDhmUHo2ajRCOERFWkZyczdMMkx2Yzg4SS9jODhEM2FVZGRidm5NYmR4dy9XMTg0cHJiMmJhMHdNTENBbW1hMHV2MXlvTzhyTU81ODJGZ1FmMllUdjhkbXlHMk9UYTJPY1lhd0pDNG1LRlBTVm9KYWRyall4KzlsbXV2dlk0bjlqOVNuMFVwcFRha1FWYXBlU1dHbzBkV0FJdXhGdU1qNHRpUTVRT01NZmlzUGw5OWdmVkgwQnRqTU5YM3ZBYldyZXZReXF4MWZSMmpBOGVtVDYvbVc2akM3N3IxaWR6RkxZY2VqQ1B6T0NBSkJnY21FTGtFd1JNOEJDbEc1eXU3WHNubytMZWFkWTFxY2NpeEJuSy9SdmxTYWJFNGZBZzg5TWlQZWVDUis5aTM0eTV1dXZFMmJyMzFzMXg4OGFXNGxzTjVNRWF3MVZqWjJYMXJxOGRvNHY1TmhjSFJ1Tkt5VTROZzFuVnZPQjNtSlA0T3B2bzdBbE1YQ2hOZEpEWld6YmcySVJBa3AvQ0JWcnZGUUhLUW1NWHVibTY2L2hhZTN2ODBCUUVKcWJidVZVcHRTSU9zVW5Nc1dlZ0FrUHNoR0UrV0Q2b3dtMDI5Nzl0Ry9naWpZUVZ5RW1GbVkyZnlZSnd3NCtkUUJlWkFYcVNzNzdMUUhGTEJ4QU1RUEZNUFNFNXpldG9BaEZHQ3RMeDk5QW5ldnZjcDdyNzNMN25wcHMvd2hkdS93clVmK1FUZFpEdjVNRU9DSmMvQW1ZU0ZoU1VpR3pFY1pHUlpoakVHRjduUmRZL0dtSXJVdHpUUkVFREtqeHlVbzFEdDZGUEJLRVEyaG9Xc202eEFKcmZYSnpXSGx6VDd4STRxNXRWcFJtYjNFUTZNcjJzMEJyYng2YVA1RVVla21xaWp1bE5Dd0x1VXRkWGpMSGQyMGs2VzZCOHYyTmJkeGxVWDNzQzFGOTdJQ3dkK2pyV09ZZWpUYWp1R3FjZkdqcERMQnNGYUtYVyswU0NyMUp3S1p1bzkzQVNRdW0vcjlMa2JYd0diUm11a2N5WUVUSWZVRTF5ZjBQMnZ1enZNWU1yeHlJWDBlZUxwbi9MY0w1L21tcXV1NS9aYnZzZ05uL2dNMjdwN1dWcnE0blBEMnVvcVJlWnBKVjA2clZZMWRyZWdybjBMRUdSVzViSWU3eEFRWXljcTJ1NFUvMzZqb0xwRmxYTzYwanI5dkJwbHlYb3M5TXo5MlhoS0RlZUVxR1h4RXZBRFQ4Z01wa2pZdVhRQm43N3hObDQ1OEN2eWtCSmh5REkvM2lsVFZlS0RkalZRNm55blFWWXBwVTZUZFk3Z0E0TnNsV2QvOVNUdnZubUFoeDkrbUQvK2d6K2xFMjlqcWJ1RFRuZUphTEZOQ0pDbEdVVlJFRVhqbCtDTmgxSFVFMWcwem1CT0pvaWZ2YnozSkVreW5oSE5HWHhSMEdtMXVPSDZHM240aVV0NDljaXZTT0kyL1h4UUR1MCszVEVWU3Fsenlqazg3WXhTU24ydzJwME8xc1lFWDQ1SktDZVl5RG00OWhhL2VPbHgvdWQvL3oveTJNL3VKZGdlZy9RSXgxYmV3VVVGbmE1aE1GeGxYYlczMlVrQzIxaldtMTM5bkM5cG1vNm1FWGJPMGVsMHlQT2NYcTlIdDdQSVRaLzhESTRZSjJYZ2Q5WWdoUituZnFQVldLWE9keHBrbFZMcUZBMEhHY0ZYWDNXYmdKQUNLVENrSFhtRUZmN0xkLytTZi9mdi95ZWVmL2xudExwdzRPRHJIRGo0T3ZzdTJRV21xTUpZbUJsaWpkaHlmT3E2WlpQaERuTWtZQkJqQ1ZVYnVWYVNZSUtRRGpKQ0lWeC83WFhzM1hZaGFWRmdpZWkwdXRYZERoaW5iMTlLS1EyeVNpbDFpdXhva0treGhpUnhKSW1qUEVCc1FMODRTdXdLTEFQZVB2bzgvK0gvL2wvNXozLzNGOFN0Z2tzdTI4Mjc3NzBKcHVvRGJBbzJEcWJUVmRuNUQ3QzFKRWtBS0lweXlsL3ZQYzVZa2lRaGNRazd0Ky9ocXNzL2lpSEc0RENtbkJJWVlWVEpWVXFkMy9TVlFDbWxUdEdPbmJ0d1VZeUVnaXdka09YRGNZV1ZuTXdmcDkzeGROdVdRSTk3SHYwKy8rZWYvMi9jOTlEZGRKY3NZakxFNW9qeGlBbmxRdDBGd0phOWZxWFIvMWEyR25Bd1o0ekJoekFLcFhrNkJLQVR0U0NBbFlSUFh2OHBXblN4eElUY2p4NFBYMlFiWHExUzZ2eWhCM3NwcGRRcE9ucmt5T2huNXd6R0NrVjFjTDJ4NVRDQTNtQVZXS1ViYjJlUUQ5ai8ydE9rUHhwU0ZBV2Z2dmtMbUZCM0pUQWdVWG5CVVhpdDFuVUQzb25KQlJqTmtEV2ZETjRIUkNDT0lrSVE4alRET29NUlN6SHdtTVR5MGF1dlowZDNMOFArRUovNXNzZEQyY1JoN2c5MlUwcWR2bmw5QlZSS3FiT0s5MEpSejBocnl1T1JQR1didEFEMDh4V0VGQ0hsNWJmMjgyZC8vUi80eVUrL2gyZUF1SlJnTW13czlBYXJHQ3UwMjIxRXBPcnJLcGdnbzk4SjVWTC8va0V0VGZWcDQrbCt3L3R5L2NZWXZQZUU0SWxpQno3Z00wOWtFMnlJU1V5YnIzN3BheGhpQWdHTEpZNE1Pa0dDVWdvMHlDcWwxUHRqbzJCVkZWc0RnWUFua0VNVmFIOTR6MTM4OWQvOE9hMDJkTHFXNHl1SHVQU3lmWVJROE82Nzd6QTVIdmFjR1ZBd2s2SFp0OVppeFlLUEtGTFlzM01maTJ3cloyeER4OGNxcGNiMDFVQXBwVTVaUGFJMXpEeDFZakVnRk9XVXVSUUVVbzcwM3VLUm4vMkV2L25iLzhUYThDaTdkaS95em9IWGllT0liY3VMalN1czVzaXF1aGFjT3kvY2svT0VRUmgzWmdnUkJFY3hoSXYzWHNabCs2N0FrbUF3aVBjNnJFQXBCWnhMcjRkS0tmV2hDa3owZ1cxT21UcnI1NUV5ekFvWnNmTUVldnp3M20vejQ1OThEeUZsTUZ5bFAxaGgyN2JGNlF1dU04KzlaTVdNb3V2VURHTUJLd1lyQmhNc1JtSVdPOXY1eURVZlJ4QWNNWG5PcU5LdGxEcS9hWkJWU3FsVFpBalZKQWlWbWFYWWlRdFVTMEhaMVdBVlR3OUx3YmUvKzNkODcrNjd1T1NTZlJRKzVlREI5eG9kRU1hVldDdmp0bC96Yi9JdHlCQ3cxQUhkWWtKRWJGdmttWEROVlI4bEpxWWRKMWdnMG5jdnBSUWFaSlZTNm4zVWFJNGxsckl4elBvMldzQm8zS3cxT2EyV3hUUGtCei84TG84KytUQjc5dXpDaDV4UmlLMHYwMnpGMWZqL3VjaElPVTQydGpGcFArT0N2UmV6YjlmRlozcTNsRkpubVhQM1ZWQXBwVDVVZFloMVFEeTFPTWJobGxGbE5vb2g3bGo2NlhFNlNjUnFkcFMvK3F1LzVLV1hmOFh5OHRLR3QzU3UxR00zVnNWMEd5RmlLUExBUW1lUmozLzBPckk4eDFvSTU4NjhFRXFwMDZCQlZpbWxQbXpWa0lPOGdFRS9rTFFqQnRseGhBRkhoMi95TjMvN0Z4U3NJVFlGa3lHTjZXdk42TUN2YWxheHh0VmFhUjc1LzhFN21URzZtNTEzdEcycWNtMk1JWVNBTXhHUmNWeHh4ZFVJaG5iY1FjSjhqeEZXU3IwL05NZ3FOY2Z5UEllb25OZkV1TEkxVVpFTDJwM293ekU1QkxZZXorb3BwNmx0TG42OHZURjJObzVhQ0piQk1NUEZnY0FLbmlNYzZiL01YLzNkLzRGcDkwbGxsV0crUnFEcXZTb1dLNjRjTSt2TC9yTDF3Z2JMZFAvV1FMbUlENk9sUHErUlJpQ2V1aDRqNDJXNnArMzBkaU1iNzgvby9JMTlNOEVnWWliMjB6a2h6MU1XbDdvY1BYS2NLeTY2bW91V3J5UkxMUkV4K2hhbWxOSlhBYVdVZXQrRXFhV1krcjNKbGtmZlY3MVJBNzVzMFdWeTNqMzZHczg5L3hTLytPWGpkTHFPcUdYSjg1U28rdEJpclIzMVVoMjFxL3FRcTVNbjgrYXgyYjVWOTJMZDZXTEtDUmZxcXF3Qm5JdTRZUGNsR0ZwRWRFNXlMNVJTNXlKOUZWQktxVFBFTk9xNVV4TnBjZWpZZTl4MzMwOVpXMXNsaWl3K3BBUVRFRHpGYUFxeGM1KzFGdTg5aUNXS0VxNjg4a29zQnF0dlgwb3BOTWdxcGRRWjQ1d2pjcTRLYStWcHhvQ3BLcFMvZVA0WFBQN1Vvd2dGY1RzaHpYb1lCOE44UURnSGpuYXE2N0JHeXFsOG9WelhZNEtEYVFSWndHSzQvSkxMQUZ0TlY2dVVPdC9wNjRCU1NwMGhoYzhKb2Z3S3ZTWUN4bG9NUWtIR2ZmZmZ3OUZqNzlMcE92SThJNDRkM3Z0enA1WHNoUFhoM0JpRGVIQTQ4TEJyeDI2VzdMYXFsbjFPUGdoS3FaT2dRVllwcGM2Z0lBSG5ITGJPWkFJKzVBUUNnWUkzRHIvQy91ZWZZNUQyc0xFZ0xoQzNZb3laN3hCWGo1czFVdit2RHJHQmV0cGZFVCs2bjhaWVFvQlczT1hpQ3k3RkVuMzRPNjJVT3V0b2tGVktxVE1pakdZR0V4R2lLQ0tPRGVOOEdvZ1FJT2VSeCs3bHpiZGVJVzViaHRtQXBKT1FuOFBqWklPcGxxcGFiYkE0NThCYlRJQXJMcjBjVzQyVVZVcWQzL1JWUUNtbHpwQTRja0RBZTArV0ZSUzVqQTc2c2liZ1NiRUVmdlhHTDNqajdaZUlXb2Exd1NweGtwRDVmS0svN1B3TGlBMFQwL0tHRUVaamdaMkpxdUVGamd0MjdhTkY2d3p1cTFMcWJLRkJWcWs1TWVvQldyMjVud3NIKzV6djhpSUhSaE45alRzWG1FQVFqNUFUU0ludy9QRHVmMlN0ZDVST3A4VnFmNVdrM1pwNExvejZ1alpNOTQrZFhtYWRkOVoxZm1DTEw1RGdDYUVZbnphZWp4ZXNHYlhmS29xQUVVdklBMWRkZWhVNUJmb1dwcFRTVndHbGxEb2JtUUx3Q0JrNUEvclpLaSs4dEIrY3g5ajFRZlRjVUZWakc1WG1zcGVzdzRqRjRvaGRpeVRxc04zdTBqY3dwWlMrRGlpbDFKbGtOL210ck1obUJISjYrVEVlZitJUkFnVVlnK2ZjQ2JKV0p1KzUxQzI0cWtrUkhQV2tDQkdSYWRHS3V1emJleUg2RnFhVTBsY0JwWlE2UTJhL0FEZE9OV0NNQnpJQ0tjL3VmNXIrWUEwYzUyQkZ0dTVXTU81Z1lLMGR6ZTZGRjZ4WVJBd095OTQ5RjUzSm5WVktuU1UweUNxbDFObktBRWF3UmpCQVA2enk1anV2RTBJOTllMThzNVRWV0JvVElEUVhZd3dpZ3JVUndVTUlJRVVnRk1LZTNidlA2TDRycGM0T0dtU1ZVdXFzTVZtTmhiSSthVnpBUldXbDhybjl6ekhJQm1ETmFEYXNjOFBzQ25NWlpLdktySUJVZ1hiWDhpNmREa0VwcFVGV0thWE9XdFVydEE5aFZJVjk1cGxuNlBmN1dIdXV2M3lIVVJjRlp5eEdMQTZMdzJERnNyeThIWjNaU3ltbFU2TW9kWTR3YkZUVG1ySDlYQnRlT2FmV0R3NElFNmZXZnpNUktNUVQ0WGh2NVUyRytRcGk5MkpPOENYYzFFTlBZZkp2UHlNSDJwTjRibGhPZDRCRGMwWXYwN2h0QzJJSlVyVUJNd0djUjJKZnRla3FhQzIyRVB6V1Qvd1pKaTR5bWxGdHF3OEc4eitVUTZsemtRWlpwYzRnczhVYjhLeGVzZlg3cmdVMm02VjArbTA1TU4ycjlJUjJVWDJBWk9LdlZMZWVHbTBzZnhVUXNSamo4SklCZ2NkKzlsTXUvWjJMSUcyREtTY0dxQS8rcXIrQ2I1NW1aSHkxelQrN2hNWVRzSDVpTkU2YmVJcUlqRk0xVlAxZVpYeWVxZTFOcG5sNlkzdW9Kait3Z0FRSDJJbThtQ1F4cVJtU2hSNnRKY3VoMVhkb0xVUjRNbDU2L1hrOCtiZ0piLzJZTmRlejdnZmpBRDd1V1d2QjJNWUo5ZCtsM3BsNlB0MnBmNC82Z1ZDcE0rNWMvMjVLcWZQU3JLcGEvWTlkOCt2WndrNHRNd2dZTTk0ZUtCQTg3eDErZzh5dmJmbEp5TXJrYzhISTVESnRxdzlXcDNyZTJSclZaeW52b3hFRFlyRlNWbVRmZmZkZGR1L1pqaWZuM1NOdnNlT2laWkp0amdjZXY1ZS8rL2IvZDFvMVVxa0Q4THAvRUhhRG41VlNaeU90eUNxbDFGbXFXWEUzeHBTVFhXRjU0ODNYU2ROMHppZHB0YU9RYmNSVzFWd0xTQmxRVFdEWG5oMzBobXYwaDZzc0xuZEk4d0ZQL094aEhuejBQbnBoRFRDVFZkRU5oZ2VVWnhuSDNsQ2ZPQnBqVUcwekZrU0hFQ2cxVC9UanBsSktuYVZFcWdCTHZSYWNNeHc2ZW9oK2Y0MzVIN2RaVjV1YmlUMkE4WWp4ZEpaYXZIdjRIWkxGaU81eW0vc2UvREhmK2Y2M09GNGNvV1dUOHJJU2paZlI5VG5XVjd3dFplM0dJdFY2RkdZTmpJZDIxQU9LbStNVTV2MXhWdXJjcFVGV0thWE9VaUwxT05lQU1kWGFsdXZqeDQrZDRiMDdmVWJNYURnQlloRWJFQ09JQ1FSYjhNN0JOMW5hMGNYRUJZODhmajgvdnZkdWVxeGlnWDdvTVE2dHpjVXdEc2VOeGRpcGRiVVR6Y3hLQU9vZXZmVUVEUnBpbFRxYmFaQlZTcWt6cmhHV3RoaDdXaFE1RUhqdjRJRVBkSTgrZU9NQVcvNWFCc2RRaGRoZ2M1S3VJMW0wUFBMRUEzenIrMy9MS2tlSmpEQmtEUmtGemxsampCdVBaejBndUQ2UVM4emt1TmhaZzhaSEIzVnBpRlhxYktkQlZpbWx6bUwxMElJUUF0YUFsNXhXSFBIT08yOXhMZ1N0OFp0UTNhYWhETEhCNW5pWDhzZ1REL0REbjN5WEFhdEVSc2dZNE1ucGRKTnFOTzMwVXBkWVBSaGZYV2ZZK0NpMzZaTkdGZHI2Y28xRktYWFcwWU85bEZMcWpLaURrVzJzNjZQNEtiLzlibFFMUS9CVkJ3Tm90V0tPSERuMEllM25CNnMrc0V1b0tyRm1IR0tmZWU0cHZ2dWo3M0RjSDZZVHh3eERuOXdQRVdDdHYwcjVGbGFIMS9yYXd2cUs2OFNCWFkyeHNZeEQ3S2hsV2JQSmJPTjhTcW16a3daWnBjNFN6VDZnNm55eVFhVlB3RmlMOXg1akhNNDZDbDhBaGpUcmNmRFF1K1dzVjVUUG1mSjhCdWNjQktFb0NpTFRxSGRXZlY2Ynp5OXBoTFNaMjlscXUyeStmZFE3ZHZZZE5GYm85L3QwRjl0RXNlWFkyaXBKMTVFejRNV1g5L1AvZnYrdjhhUUlPYXQ1djJ3L050RUl0OEEwUGdBSVRBUlA1OENQSHQ0QU9IQUdpbkpmNjlHMGNXUUl4cExuZmh4b213L0NyQlpkelc0SFNxa3pSb2NXS0tYVVdhb2VWaUFpNVN4V1ZmVXhCRStXcFFoK3JqLzRyS3l0Y01GRnUwajlnTmZlK2pVTHkyMmlManoyMUVQYzljTy9INFZZVDFIMTBLMU1CTXZtZU5qSjZ3OGVuSVhGeFRheGMvVVVhVmpqYUVVZE9uRUhnTHdRZk83THZnWXV3am16ZFNGV0s3VktuUlcwSXF1VVVtZk1pVmIwUXRXS1N4QUorSkF6R1BRbVpuNXJobDdUK1Azc0ZlZ3N4UnpySFdGWTlOaTFid2NrQlk4LzlUQS9lZkJISE0wUGprSXMrUElpMHpONFZXMWtUVDBVWStvV1lsdUcyY0hxRUxBa3hIVGIyOGh6VDFxa2VBS0dtRTdTQmlETkJuZ2ZDRHBsbDFKelF5dXlTaWwxbHByK21yNE1wNEVRQ2dicGdCQkM0L1Q1RWt3Z2JqbmVPZlFXN1cwUnk3c1hlT2l4Ky9pSEgzeUxvL2xCTEFGUFRpQW5uTVJYK1BWc1prN0tFSXRBUWt4RWhDRmlNRXdwUERoaXRyZDJrOUFselFvR1dVYkFrTmdXc1ltQkV5aTZ6dC9EcnRRNVJ5dXlTaWwxbGxvZlpNZS9lM0s4OTRnclR6UEdqSUx0WEJRVVRXQmxzTUtPQzdaUm1Jd2YvL1JlN3JyNzIvUlpvZVVjUGQ4ZkR5ZVlHQmU3dmpBN3FzcldWMDA5L1lIRFl4QWlMbGpleDg3bHZmUldVbzRjV3lGbHdGbzZSREE0V2tSQVFVNGVDZ0NzaVFoU2JMRHZ6TWRqck5SNVFJT3NVa3FkcGFiSHYwNytHZ2pCSTdhc3lFNE9MVENqS1czUFZnSkVMVVBTdFR6dzBBUGM5YU52TTZCSFpBdzl2N2Ird0s3NlFpUE5MeFRMd1FDVDB5RllXdEVDYVpFRE1SKy81Z1p1di9XTFdDS2UzLzhTTC83NlJYNzUrak40TWtEdzVLTkxDMkhjNGFEK1dhdXZTcDJWTk1ncXBkUlpZM1pqZjJQcVdiNW9sQ05sWElHZFIwWklpNVFuSDMyU0g5OTdOeWw5RnBJMmcyS1ZJSjRvZHVTRm42aCsxbmZkRXRXUHpPaVVVck9sbVNNdFBQdTJYOHB0bjdxRGF6OTZBenVXOWlJaDR1WlA3T2I2NjI3aW42VmY1R2ZQUHNaalR6eEtQeFNBWmFIVkpmZEQwcUsveWM1cnR3S2x6aFlhWkpXYVUvVmJ1S20rU2JZeWZuc05Cb0pzUEFoZXZ4bWRIMlcxVlNaQ3JESGdaUFpmdCt4d2NJTFgzWmp3NmtUT08zVkxqQ1lORUZ0T05RdlYybGI3VWg2a0ZhcnBkY1hVa3hhQXR5a3YvZm81Zm5EdlAzSTBPMFNFNFhoMkZLSEFHb3YzeGZobVp0NCtsSk1lMEtpZU9pd1dTNFRENFlqNXhOV2Y1cFBYZm9aT3NrVHZVSXF6UWl0WklJb1NJUERWMjcvRzV6OTFCeSs4c0ovSG5ucUV0NDY5UmdCYUxGQXd4T01KQkVRMjZrOXJKL2FUcWJPVXhzRlgvOTBwOWY3U0lLdlVHUlJDd0U1Vm15YUdBMjVTYlJNcjQ5azNwN2VaY2dtYnZHdk91cHc2K3hoanNOWk1kQ2dZdFdjVktmL0l6WVZHMFhicUNXQWEyMEo5K2RGQTA3TGJ3Y1Q0aGViRncraEd5NVgxQ09WMHVVWWNWSXNKRHFSOGEybDFGamg0K0QxMjdsckN0UzN2dlBjR25hV0VPREg4N0xsSCtYLys0VC9pU1FISTY5WmlnSldBaUszMmRYMzFjelRzb0JwTGtDUVJJUVVLYU5GbWdlMWtGUHpCbmYrU3l5NjhncDN1UWlnaW5QT0FoY3ppaDRIbFpDZjV5Z0FuTWJkODVQTjg4c3FiZWZYMVgvUEVNNC95cTNkL2lTSENraExJaVNJRDFqUE04L0tocUc4ZlczMGFNQ0FPeTdoOGJ2Q05CekdzdXpmNjcwK3AwNmRCVnFrenlKN21POWxXbDI5MEtacThIT1VicWxabXozNGlRaGlGU0VaL3pJMk81RGZHWURCYkRqbXdqSnBhYlduV2g1Nnk1VlVBQ1JoYzlhMkFMUU9vR01UQThlT3JYSHpKUG82c0h1TGc2Kyt3NStJZDJEam4vb2Qrd2owUC9aQ2NGREVwVk5YbDhmUFV6aGhrTVhWLzY4S3ZoV3hZWUR6c1NIYVRad0dQOEkxYmY0K3JMdm9JeTkwZDJDd215d3FDTnlSSmpMRU9Hd3hSSnRpaWhaZ1k1eUlXVzl0SUx1dXlZMmszTjYzY3dtTlBQOHpoNHdjNG5MK0xMM0lFWDQyL0JTTHdOaWwvQzVRekwwaW84cjdGSUkzSkdzWkRIeHJ6dHltbDNnY2FaSlZTNnF5eFB1S0l5T1JCWG8xWkFheTFaN0QxbGkwcnNiZ3FpTllMU0RVT29OVjJETE0rdzZ6SDhxNEZrcmJoa1NjZTVVZjNmSi9qNFhCNU5UT0dTR3pXYnFzNTQxYW5Fek5ZeXpFZU9xN0xNQnZTWVpFN2JyaWRXejk5QzIyN2hKV0VJdlBrZVk2eFNmVjRsZU9MZlFERUlSaUtRakFpdEpNbEx0M1g1cUtMTCtXaWl5NW0vOHZQOHZObm4rVE5sZGNKT0FJRkVDaHlBWXFwOFR2MVI0TXk3bnBrSXB5dkg4dXJrVmFwMDZWQlZpbWx6bExHVEZaVzY0TytTaFpyM2VnODlmbnFiZ1gxeEFnZktLbmZRdXhVSUEwRUczQ3hjUERvT3l4czc5QmFqSG5raWZ2NWh4OThpNVZ3bU5oQUpsc0hPU0hNL3VaQXdBOEU0NkZsMm9pSERndmMrWmt2OFJ1M2ZoRVRJcklzeHdxSU56Z2JZNk15K0JmZVV4UUZobklvZ0NVaUZJRThMd2pESEc4RElTcllzYkNYejM3eURqNTI5Y2Q1L3VYOS9QelpKM2xyNVhVQ2dpRkhHT0pEUHY1QVljcitDU0srbXNIV1ZQdGRWNXpyTXJKRHc2eFM3dzhOc2tvcGRaWnFCdGx4NWJYOFBhYUZjNDU2TXRWNllvUnlhTUdIUUF5MlVZMFZFWUlCc2VVQlhXSTh4d2NyN055OWpiNC94ai85OUQ3KzZiNGZjTHc0aEtHb1F1eGsySlpab2E0Tzd6TmFjWVVNdHNlN1NQT1VoQTVmdmVOcjNIYmo1M0RCWVlLaHlEeXhqYkUyd21BSUloUkZSa0N3dGp3a0RHdzFEbG1JVFlKSEtFSkI1bFA4d09OYUhmWXNYY0syNjNkeTZRVlg4dUtMTC9DTFh6N0xRZjhXaG9KQXdBVEFXWUlUdkhnS1grMnZiUXdKRVl0Z01VU01CL1drYUpCVjZ2Um9rRlZLcVRsUVQzZ0FGdWNjbmFSVFZnSmw2L0d3SDR5cUNsdFhZa1hBQk1RVVlEemVGaVFSbUhiT28vYy95RjMzL0QwWnE4VE9NdlFwWWFzUnV0TWRBdFp0anVpeWpTSVhFanI4czA5OW1WdHYrQ3pkWklsMHRjQmhhU2N0cklrUk1SUSs0SU5IUkhCeFJKSkVPTzhRNzhrTGp6RU81OHJGT0lNTkRoZFpWbGFPMGsvN2RKZmFmUHl5RzducWdvOXc4YTRyK09VTFQvSDgyMC9TNHdnZWovZUM5MFg1Y0pqR0FoQ3FqZ2ZCVGJTazFUSHFTcDArRGJKS0tYWEd6TzRiV3hzSFZJc3hidlJ6NUJLNm5VV3N0YU5obWMyS0xOVlFndys4Tml0UmRXQ1hVTzVJcUVKc2p0aU1uQUUvZWVCZWZuei9EOGxZcFozRURNTWFuaHpuRE1FYkxIYjJnVnhUczNtTmZ5NGZNNGRqd1M1UkJPSDJUM3llTzIvN0VwRkVwS3NGUyswbGh2MGNGeVhsYm9sWk4ybEUyYWFzSE85cUVZTFBLWHlPR0lNeERqSFFXK3V4dkxpZFhjdDdHQXg2SEgzN09HSUMxMTF4UFRkOS9IcSs5OU0yQjQ2OHhxdnZ2a2FQTmNDUWh4empKb1l5VjBkWEJpYkgwR29sVnFuM2d3WlpwWlE2eTVYREJSeDEyd0pySFVuU3d1RFdqYVA5c05WOWFJTXRoeE40V3lBMnc3dVVsMTk1bnUvOTB6K3dHbzdRYVNXc3BNY1FDbHBkUnpvb0o0OWRGK1kzQ3JHakE4cE0xZmtxWmhnS3ZuSEw3M0xycDIvQlNvd0poc2c0aHYyY2RxdExOc2lyZ08rSW9nam5IRjRDUlZHUSt4UVFZdXRveFRFU0RONlhCNEVaQTFoTHE3dUFFZkQ5RkZzSWk2MEZvaWdpeTRZY1h6M083MzNsRDlqL3lpL28vdndKbm45alA4YzRpbURKZkE1MlJ0OVpVNENNdXhqTUhFcWhsRG9wR21TVitwRFVZYU1aT3FMR0VlZXp0bTkyZVVNb3F6L1ZkUlJGMVVEZVZNVWZOU2MycU00WlJoTWh0TnR0Qm9PVWRxdkRNTTB3eE96ZGV5SEFxTDlzODNsZ1pYelFWNjJlS0tINS9Kb29kTTdZUGc2UnM1NmZBZzc2L1FFTGl5MWlaemphVzZIVk5XVFM1NFdYZnNsLyt0YWZFY2dKcEt5a2EyVUYxRUk2OUNmMnZYcTF2UlV2RUlwQUNJSElKQ1JSQzU4TGYveWxmOFhsZTYra2JaY0lRY2p6b3B3UXdjUmtnL0lnckhvSWhDK0VZSHg1b0pZeFdHTXhraE1rRUhKZmpvd1FXMWF6Z3kyWHh2NFpBWXBBa2FkWURJdXRSVllQNTF5MTczb3UzSE1GVjc3MERBLys3QUhlV0hzVllVRGNpdW1sSytPV2FZYXlVbHUxNllvaVMxN29QMVNsVHBjR1dhV1VPaU9hN1poZ0lzeE9qUWdvdzZxcFBxQlk4dHl6YzhmdUQzd1B0N0t5ZHB5TEw5bkhvU1B2OGU2N2IzSHhwUmNnU2NwOTl6L0lBNC85ZEJSaVBVVVpZbWNPRGkzdjk3cnE1R2hHcjVnc3k3QkViRXUyMDg4R2hOendqVHQraDB2M1hjSE83bTVpMjZFSUJkZ0k1eUtzV0RLZk1XdHV1OUVNWWFhZWxTeFVzM05WTzFVRlR6TVJZcHNmTnFxMVdHSTZTR3BvUjQ2UFgzMHoyNVozOHR5dm4rSHBGNTdnMk9Bd2lXa2p0c0JURUR4WUIxRWJRZ0dGaGxpbDNoY2FaSlZTNml4VlZ3VHJxcXN2QkdkaWNoL1l0KzlpTnA2RStFUFlOeFBvTHJVNDFqdkMwUGZZZGVFT0pFbDU5S2tIK2NtRFArSm85bDRqeFByR2RHT05aY01yTDFmdFpKRTBUWEVrdE9rd3lISVNPdnpHelhkeSsyZCtneVJkSUpFdWVlckxWbHMyd2psTENPQzlZTTNrNDJPYk4xc0YxbURLbWNUQUlOanhsTDBtak1Kc3Vidmp3RzJxU1EraXFNVmdtQ0pXV0Z4YzV1TlgzY0NPNWUwc3RMdjg4dVZuZWVQNEs5VitHSXdMWk42VCtYSTRSaFJEa1cveE9DaWx0blRtWGdXVlVrcFZHaS9Galdyc3VpQXJIbXZMbGxIMTBJSXpSNGhhaGdNSDM2Uzk1RmplM2ViQngvNS85dDdzMlpMcnV0UDc5cENaWjdwRHphZ3FGSVlxRkVBQXhEd1NBQUdDazRKVUs2em9hRVhMVnJ2YkVSMGRZVDhvV25hRUgveGtoLzhBUDFpT2FBL3kxRzIzdXlWUklpazJKNUVpd0JrZ0FJSUVDUUVFUUl5Rm1xdnVkSWJNM0hzdlArek1NOXloQ3FnQ1ZWVlFmaFduOHQ2VDUrUjg3dm5sMm12OTFwTjg2V3RmNEd4eERJWERVOFkydG1xejZHT01TTWRDcjJyK1RHNnN4aFVPamFWRkcxQ2t0SGpzemsveXFVYytTMG9INVJPY0N4UjV3SlhneWtEdzRLdkN0M016Y1Z3SWFuMTB2TjdEU3RpcVVBbmNTc3hxQVFMZWUwUVV2Z3prYXpuNXNtTXUzYzQ5TjkzSDczNzZIM0hqOWx2b3NJQ1JGTzBTV2lZZGkzamRXQlkwTkh3Z05CSFpob2FHaHNzWWF5M2VRUzM4dkJkUzAyS3VOMzlwTjB3RlZnY3JMTzd1NGRXSWJ6M3hiYjc4amI5Z3dGa1NveG40d1d3NlFZM1VQcXF3WlpQY0t1SXBJc3luQ3d5TGtqWmRQdlBBWjduMzl2dXhMc09JamFrV3ltQlRpekoxVnpGUVdtTlZPcjRCcUV1cjZoelk4V3EwSm40TjZuSGpnaGxuMnlxaXExVnNQYXVuMG82REZvcDhqU1RKeUd5TEVCekZjRVNRUU1mT016ZTN5T2NlK1FjOCs0dG5lUGJYUDJGRUgzR2VUcG95ZEdzVXhRVWM4NGFHaGcwMFFyYWhvYUhoTXNZWWczTzE0Rk1FWU8vZXZhUnBDOEtsVFMwd0dhUWQrTjRQdjgrWHYva1hqRmpCYXNYQVR3cTc0b3ZycVlXcUNVSEV6OHllb0ZFb0VsSUd4WkEyUFI2OTV6SHV2L05CNXRJRnlrR0pzaFlKQ21VTnhtaTAxbmhmNHIyZnNUZUVnaVlBQUNBQVNVUkJWTnJhR2cxMWkxM3ExZ3dhUVNwTHNaZ25LMG9USURveW9LZlNKQUxLQ3FKandaZ1NJY0ZpTWVpZ2tWSTRzT01RY3c4c3NtMXhGOS8vNlpPY2xsT1VSWTQyWFVLb215RTB1YklORFJkREkyUWJHaG9hTG1PbUJablZGaGZndW11dkowbVMyQmpxa2hISXl3SFBQUFVzMzM3aUc0eFlvNXRsRE53S2dzT2t4RWp5ekJCNkZJdUtoQ2hpeisybm1tVnRYQzQ4Zk5jalBQYlFKMGg4aTNKUU1wOHRNaHdVb0JPY0Q2Z3E4aG9RUXJSWVFLRmlidW9tdy9kYVZMWFdaUEtrUkN1d2dLQlYzQ3F0SUtpQWx2ZzhLc3pzaXNrQ3poVzRBa3pRV05VaU14bEtHVUtBd2VvYU83ZnQ1WjdidStnczRVY3YvSWgzMXQ3QytSSmoybmcvUE9mK056UTBuSjlHeURZMFhDSTIrNEp0K1B2RWV4QXdkZVNQQUJnU2t5TEJzM2ZITlZqYWFOa1lkZFR2K2JxU21LR3FRTXNrRWpudTFEWDlTaFdRU3NpRnF2R0JOem12dlBaTHZ2SGtWemhUbkNSUnNKd3ZFU2hSS2xibVY2c1pwd3BNOExGNFNybUowSzBlQ29zaFFXTW9jOC9uSC9vSGZPenVSN0NoUlVLR05nbkRRVUdhdGlnRm5QZUVJTkVSd05xSlBaMkE5K3RURndMakZhcnhBZDZVS250MmZEd25rbnZ5azBqMG9WV3B3a3FDQ3ByZ0E2NG9jY0dUcEJuTEoxZXhQY3NEZHp6Q2poMDcrYzZQbitDMVU2OFJmRTVnRkhOdjM4TTUyMnhMbXo4aERRMk5rRzFvdUNqT0owWm5QVGxsWmxxVmkyeXkwQzJYdHNXMDRZcWxMb0lhbjhyWkNLVTJrT2RGMVFZZ29FcXd0TG4xMEQzb29vMDRQVFlOSGhmYno5aEdyYnYraE1uMXB6eW9Nb3BrTWZFUkRJaEdoL2pWb0JOTmY3aEd1NWVDZ2VXMXN5UnRUZWxIL09yWHYrQlAvdktQOFZWWXVKQXcyUkhSSUdHVFM5a3pqc1FxQngyZ2pCdHZ4U0NGSXFVZFc4OEN2L2ZZUCtiQTN1dm9zUjJ0TWx4ZTRqRmdOSU1pZGdmVGxVZXJCRDl1UWJ2K2VJejljWVZZbkZVZDgrbjdBS0YrbjB4Mm8xcFc5T1VOVTFKY1YzdWpnSUFTalJOQlNTWFFVekJvQkVjcnRaU0ZoMVg0eUs2UHNPT2g3Znp3cVIveDdQR25XR05Jb1VvQWJCS2p1TUY3RU9oMnV3ejZ3M1ZyWkx4djhlOUhhUDRLTlB5OXAzRXRhR2hvYUxoc21GVFMxMTZtV3VJZmFvUEM0N2w2OFhyYVpnNThXdm1iVG5nL1VmNm8vd0txRXB4eFhSb2RkSXpNb2xoZDdYUFYzdDNrYnNSYlI5NmdzOWdpNlFoUC9mUjdmUG1iWDhDVEl5cEhLR1B1NkRobXFkSFk2aEgvVGZKQkE5UkZZSldJeFVOd3dvN3VMalFKRHZqY1BiL040V3Mrd2xVTCs4am9JTGtnSWNHYWxLVFZ3bVJwdFNjYjgweHJmYnA1ZERwcytWQVNIL1h2dW5xb3luSnI5cUhSb3RCaXhrZFRWQlc5cmg3YUtxeTFwTXBpblNaMUNYdTZlN2ovcHZ0NC9NYkgwUmlzVHRISzRnb2hPRUVyaTFLS2ZyOWZXWDV0M0RlTi9rMDNIMjVvdUdKb0lySU5EUTBObDVwcGo5VXBwQm9CMTBwaEpNR2p1ZTIyMjJpMVd1Qmp1c0VGSTdVOE5sUHRYK3ZLLzdnaDNWN0d5dG9TZVRsZzUxV0xLT040K3JrZjgrVDN2ODJaOHNUVWNtWUo1MGlibVBaeDFSWkNBWGpJVEl2bC9pcGRlang4KzhlNTc1NzdXR2p0d0VoS1daVGtlWUhTVWJ5RzRISE9YZkl2c0prYmgwMEdTbHhSWXExRlNleTRWZ1FoeXpLdXVmb0E4M3M3SEE5djg5S1JGMWdhcnFBSldHUElmVkVWbnNuVTR1SVJyWDF3QXhzdWxZYUd2N2MwRWRtR2hvYUd5NFlwQVNoVjB5bEFxdXA2aGVhV20yNG10ZGtIc2pZbHRuSVNzRlVGLzJRN2duWWttZUxveWJkcHo2VXM3T2p3dzlvbnRqeUJub3JBbm9zNnFyaWhCNElBaFVKNVJkdDA4RTZ3cER4eTl5ZjQ5Q2QvaTFiYUpjOExpcUtJYlhlMXhkam9SdUM5cHl6cnF2L0xGK2NjSVlTeGk0SnpqanpQOGQ2VDZJekhIL3dVdHgrOGl6bm1zQ1FvYnl1L2hwanZXN2UyUlUwRUxEUWl0cUZobWt0OVE5dlEwTkRRc0I2Wi9iRWEzS2FyRjlpemV6OUttZG44MXd0Q2dSaDBGWTBWRVlJQzBaWHdWSjdsNFRMYmQ4N2pWWjl2UC9sRHZ2aTFQMmZBTWkxajZQc1J0V25WWkZzM0VaYXFTc3ZkNENjTHlobTJ0M2V3T3V5VGtQTDQzWi9pa1FjZXhZYllabGE4UWh1RFRSTEVLbUxKbVVjcElVM1RxUFF2WTlJMFJXdU5VZ3BqREVvcFJDUUtYRHdMdlcwOGVzZmpMR1k3K041elQ5Q25UMFlIMHhKV1J5c2JFbU1sVkc0S2w3bUFiMmo0dTZRUnNnME5EUTJYaWxxTFRvczhGZGFGM0N5YWxJUU90OTl5Risyc2c3aTYrdjdDTXlWamp1ZFVUcTVVOWxMS2dmSjQ3YkFta0hRVlQvN3crelBORHZwK1pmTkN4WmtWYlBIeitDbUxwY1Z3V05LbHg2UDNmcEpISG5pVStkWWlvOVVTSHp3ZDIwVnJpNFRvUU9DcVlpNWxUSFFvS0MvdnJnTEdHRUlJbEdXSmlLQjE5THNGYUtrT2c1VVZkaTdzNGE0YjdxYnNsL3prNWFkWllZbDhORUtoSzJlSGFtSFZ6WUJJRTVsdGFKaW1FYklORFEwTmw0cjFBbTlESzFkTDlEcE42TFcyY2Y4OUQ2S0N4anVQSm5rZlZsdGJJTFl5L3hlb1V3V1V4K3NTMFFVanY4YlRULytVYjMzMzZ3dzRTN2ZkWXVCVzhMN0VXbzEzc2ZCb1EwN3NlbzA5azBzYWhaekJNTWNpSHVIaGp6N0NweC81TEZhbEZIMVBPK3RTckpXSTBmaHgyOWxBa0REakJISVJHY0lmQ09mTGtRM094emEyWVNJOVJVSVV0R2c2TWtkeEpxZlhtdWRqZHp4RXE5WGlpWi85RGFzNE1tTVloVUcxSWpadFhkelEwTkFJMllhR2hvYkxFb1ZGWTZyK1ZoM2FyWGtPSDc0WnlRM2lRUm56Z1lUa2FndXFvR002Z2RjTzBVWDBpZjMxMy9MTko3N0txZUZSRXFOWkhwNGxVSUlCUHhabjYwb3R0aEt4NDRJeVZWWGVKNVFJbjcvbnQ3bjd6cnVoVEZEYVJ0T3FnV2RoWVJ0cks0TVlnY1dRMmdTMHdrdkFPWWQ0SHpzV1hNYlVVVmhyTFZycmNWcUI5eDR0bWhZdFRMQVFQR2tyNWREVk4zQzJmNWFmLy9wNWx2d3BGRFoyU0p0bWk4TEFob2EvcnpSQ3RxSGhBNktPRkUxSGpNN1hKbFBPRTFvNTMveUdLNXlxQ01oYVMxbFV3K1FLMHFRVnZVZEpTR2poMFB4SHYvMFBHYXprTFBUbUtJYzVTV0p3WVRLOFAvRkpuVnd6MHhKei9YeEJVRm9ZRGtmMDVscFlhMWdhTEpGbU1BcERYbnJsRi93ZlgvaWZDWlFFY2dhK25MU2RsZkZJOTdtcE5pVzFIWHdadDlXcWxIYldvUmc1ZnUreGY4eTFWeDFrb2IwVHBUUnU1S0tkbFRLc0xLM0Z2TktxcGEzM2dnU1BLTWJEODdKKy81bmQvMWtiM1kzSFp5YWd1c2w4dFg3K3V1VVQzbHV1YWdoaDNKeGgwckJCSTZXaWJkcU1paUZGbWJObmNUOGZ2NjlMMmtwNDhoZC9BMENXZFdLK3JJS3MyNHBDdUhBYmQ2Q2g0ZThwald0QlEwTkR3NlVpS01SSG9aTm1DVXFEcnFLTVJtVmtxb1BIY052QmU5aStzSmQyMXFQTVBZa3hPT2ZPcy9EenM5cGZZYysrN1l4Y256ZmVmWTN1WElacEMwODk5d08rOHMwdmprV3N4MFVSTys0eU1MTVR3Q2FGWHVPT1dDbGxXYUl3Ykd2dkFGR01SaVcvOWNEbk9IVHRqZXhldklwRXRhSU5WekJZbTlGSzIxVXgxOGF2cUdrdjF5c2RFVUZFb2NXU3FwUTBwSFIwaDJ0Mlg4KzlOenhBUWtZeDhyUjFCeVdhdkQvQ0Z3NmRxSXROa1c1bytORFFSR1FiR2hvYUxna2FwUzBpQWU4Y1FlbllmQ3NJaFN0UUdKUktVV2dlZnVBVDdGallUU3ZwMFYvcDA4NDY1S01DYlM4bVN6VFE3cVVzOWM4dzhuMjI3MWxFMHB5bm52MEJmL1A5YjNKNmRHeEt4UHJaSWUwTlhscnJxT2ExMGg1NW5tTkk2Wm9lYThNUkNTMGV2dTBSSHJybjR5emEzU1NoUlZtVWxMbVArNXdZSkNpOEU5YkhXcWJGNnliZGVTOEo1NG9HblNlRmxxQ2lNWmxTQ2t1S0swdFMyK0thbmRleWJXR1JzeWZPOFByS2E3aFEwa3ZtV1N2WEVCeEprcEJmNW9WdURRMS9WelFSMllhR2hvWkxoTFVXblNRQWxSTkJSRlc5bTNMeFhMdnJCcTY5NWlEV1ppQ1dVSUpWSm1hYlhrUlVVcFNRdERUSFR4MmhOV2RZMk5uaWV6LytEbC84NnA5emV2UXVHbytuUkNnM0tVS0R1b0ZDbU80K05UTVdyeUdBeHBMUm92U09oSXlQMy9ZSlB2dlk1K2lsaTVRNUZMbkRPNFZXS2RhbWdLYjBqcklzejduOWwwTkU5cUsrUUZWQVc4R3BzbkxaVlZBcVpBaHR1bHpWdTRwUFBmaFpybWxkUjBLS2xKQ1oyQkFpSHhSTk5MYWhvYUtKeURZME5EUmNJc3FpeExiUzhhQzhzWkFtS1hrL1JpUGJ1c3VuUHZsYnROSTV4Rm1DZUxTMmhQZVltM2x1QW12RFZSWjM5M0FNK2V2dmZJc3ZmZTBMOURsRGFnMTl0enFiVGxBamxzbVRXMWh3Q1lDbUxFdm1rZ1ZHWlJTeG43bm5zOXgvNTROazBpR2pSZTREeWxvU2E2c1d0MVh1cmRFa1dZcFVQckVUMFJxbG94WUltNHJyS3djQlFpSzRLdDgxd1dBd09LZkJnd3FhUTNzTzgrRHRLd3lmSG5LUzQ5aVFvSlVscUNwWCtjbytCQTBOSHdoTlJMYWhvYUhoRXFMUVVCVUZHZ05GVVNEVkFQUkhiNzJOZSs1K0lGYXZDN2dTTXB0UjV1NjhoWVRuWDNIQXRoUlpCNTU2OXZ0VnM0TWxyRllURVJ0TkJpYUlKWnBlVmQzQTZxYzNMRHoycDFKb2h1V0lqSXhQMy9jWlB2N0FZK3pvN1VMbENqY1EwclNEMFFsS0tZS1ArMTRVQlNFRVRITHVPSXNXamRva2gvWktJYWhBU1lFekJRRlBVR0NVSVZVcFNVaFJRMDIrVkhMSDRidDQ0STRIU1VncHhVMzIrVko3anpVMFhDWmN1WDhGR2hvYUdxNTRkSXl1aml2aXdWYzFYTmZ0UDhpakR6K0sxYlpxQ21Cd0xwQWtHZDU3akxxNFA5OUJCUW8zNUlkUGZZOXZQL0VOaHF6U1NWT0NLaEFjMVNqMnVvaHNOTTVTSkZHQW4rY3JKTlV0TkFrZnYvdFJQdkh3NDdSc0J6ZDB6R2VMaER3Z1FWR0dRTzVLeXVEeElyZ1FLTDJuY0c1REhxeVcrRkNYUzRMc3hhQ0VraEt4Z3RpQWMwVTh2NlNrS3NPRWxEQUlkRXlYV3cvZnhsMkg3cVpEaHpEdVczeXBkNkNoNGZLZ1NTMW9hTGdDMkN3ZlVFOU56OU5qYVFOTlo2QVBHcjF1dXA2d2JocC9Wb25nUXo0V0psWmxPUEhzNk83anNZOTlobHNQM2NtcDQ4c3NkbmJoZ3lNRUFRTWlIbTBUL05oK1NsWFhpRVp2WnRsV0RjT0xpaTFlZ3dKUkphKzg5UUovL2QyLzR1VG9DSWt5ckJabjhaUW9EYUUyUlppcFVoSVVnWGpGdVMyY0NqUUtneUhGQitGM0h2dHQ3ci85WWFTTWJsVUpLYU5oVHJjN3g2QW9DUktMblpJa1FhbVVFQUxPZVVJUUREcEdwMVU4WG5YakJhM2lrZHpxK3EydHdZTGluRTBqbEZ4NDBaaVN1bDNzaGFQRVkwMEtYbFhldUFGdE1xeE9NQ2dXNWhaWldWcGxZZHMyN3IzdFBvNHZIV1Z3ZWtEaFFPbzduaTBhVDJ5MVc4MW52dUhEUmlOa0d4b3VBaEdaZkZIV0FtSkdTR3owcEp3TmNFMSttL2FwcklWclBWY0xHMzBzVlFBMWVhMnVKTWJZOWtoRHJYTTIvZkpxb2pvWFRUdy9FNlAvK0NkVlQ4MFZOR0NNd3ZrY0lXQU1LQTJsQjVHSmR5ekJVZ3dUdHR0OWZQUzYrM2owenM5Um5CWVc5Q0l5RWxKdFFFT2VEekd0aERMVVJVS1ZKNmxvdENnSWswaXA5eDZ0d1NRYXJ4MEJoMHBnYmUwczc1eDhoZi8xMy84UGVBWkF3RmZlc0JvSTY2Ni95WFhpMERnZ0p3QW1BZS9qZklVQ01XZ01ob1J0MlM0ZWUraHhicnIyRnViYmkxQVlLRFZaMnNFWHdwbWxKYmJ2M0ZHbEV6aUtZWTdXRnEwc1NrVTNCOUVhRVk5Ukhtc1RsUFk0VjFDVU1mMUFtM1M4cjNFVHd6Z3RRd2tvUXZWeDFCQWs3by9JMk5iTHI3c0YzT0JvVlI4SVljUG51ejRrNDV2Q3FjL25lbkdyTm5tL1J0QktFd3FIQ1liVXh2YTFYaHdTWEhRMGNBN0UwVjhhY3RYQ0hqNzM4T2VSNzhEYnEyL2lKZENuRDdycXlGYXBkMnMwaUNCKzh3OTNkU3RRN1VPVFpOdHc1ZE1JMllhR2krQ2lXNFMreitXcmFkdWo4MFNiR2k0bGs5c1doY2I3Y2l5d3ZBY1Q0a3RNQy93SUNKQ2FEajI5ZzUxelYvUDd2L3ZQa0tIQkJJc0tVUnlMQ2dRVkVEWGxFREMraVJyZjhzUjFodmk3aUdCVFN4bHlWb1pMcEcxTnkxcGVmZXNsL3ZLci94WlB2cW1ZZWEvWGxmZVQ3YkEyUll0Rk9VMHZtMmUrTzhjZEg3MkR4ZTRPakRMMFJ5T0trU08wQTUzV0hOdXpSVTZmT2s2YXRNaXlOa3BidkFkWEJuendTRkE0VjJBUWdnbzRGOTBUbFBKWWE3SFdNc3JEbE5lc1orUDRSS3lJVWpKN3ozWXhrZGhwNm1XOFh3ZUZXS3dHSnVqcWZNWVB0cWk0MEJneER4aWpTRlNDTmdxY01KZk1jL09CbThsZnpEbk9jY0NDOHNRd2ZkeHY3OE1HUWQ3Y3N6WjhtR21FYkVORFE4TUZVa2NCSXhwd01KVTdHb2ZHeTlqV3RZNkY2ZkVvUFg1WXZWU2lpT3QyNS9talAveXZLQWVCdVY2TG90eVlKMW9Ub0NyOG1YMkJxRkN0UG1CTVFDV0IwZG9LV1VmUlc4ajQ0VSsreDVmK3d4ZFpLazhnNkF1T3lhM2ZybENuUHFEbzUyc28wZnhQLytwLzVOcDkxM0hvdXB1NGVzOEJGdWNXS0pXaFh6cDBNQ3p1V2lTVWdTSWY0ZkpBQ0dCMFFtb3pqTkdVaGNGVSt4SkNJUGg0ZkpWQUVGM2QyRTJMZU1ZUlR6VnpYdFp0dTY3bVhlYnFMb1F3RGdhWFVtSlZ3dUZETnpJY0RqbjUrbWtNR2g4MGFJMVNDZ2xoZkdPaTlLVHgyR1lHQjVmNXJqYzB2R2NhSWR2UTBOQndNU2hBcG1XQ1VFY0Z3OVQvRU5CS1k0eUtIWjFDSUhobzJSNUJXMXA2am4vNkIvOFo0aFI3ZGwzRmtUZFBzTmpaUGw1cWpOSkJVREsxekZoOE5WbHZqTzZKQ2pGNmFXRnBjSXBXejZCYmdhZWYvejVmL3ZvWFdDcFBrbG9iY3kzUjQ0amQrNWtpSVZiT1Y5RmxMeDRrNXJXV2pGZ3BQSWFVRjk1YTRwZHYvUnlGWlpFRnJ0NS9nTU9IYnVTYWZkZXhlL3QraXR3VFFpQ3pHWjFXRjYwdCtXaklhRkNRMmd4VWdsRWFpeUZVdWNEZWU0cFJnYzZTcWNOZUNkb3FRanVScjVmdjhMbWN3MEpNU1V3UkNLNUVKVEVwV0ZuRnJ2bmQzSER0WWQ0NCtpYXZqRjdGaXdFZlVNb0Fhbnh6RlYwdFpPcXFhQ0t6RFI5T0dpSGIwTkRRY0tITUpENXZMT2lxSTY4SzBFcWp0Y1c3UUJCRmpOY21sRG5zbk52RmYvMUgvdzI2YkpIWU5rdG5WK2wyNXBnMEhaaGxQS1ROdEFXVmo2a0hlRkFlVVE1dEZhN3NJMG5Hc3k4OHcvLzFaMytDbzJESC9Cd25WazVVMFR1OW9ldlVlNTB5NVdlckZDZ2RJNmU2MmpwZnFWeUZ3bUk1elpDelIwN3dpeVBQa3RKbFYzcy9OOTkwSzdmZGRodmR4VDBNaXJQay9ZTFVwSFFYNXhpdXJvRkxDVUZETUJpZGt0b01MWDRxSWwxdFV6VzBMdFhCVVRPUjJPcVdRazF5YUdjTzVHV0dGazFRZ2RST0hDcU1OdVJoaEpXRS9UdXY1cjdiNytmbzA4ZFl4c2NpT0JHTU1uZ1JoSUNneHgzWnBGS3gwcWpaaGc4aGpaQnRhR2hvdUJEV0p5RnVSaVVjRktDVXd2bEFER05xTkFaRnltSzJqZi9pbi85TFZKbXdaL3RlVnBkeWluN0J6bTJMRElmbFdIU01JMnRWWkRaRzdLcUhtb2hvMGRGUndKc1NqS2UzcmNVUG5uNkN2L3JhRjNDc2tSakY2YlZqc1dQWHVzSzA5eG1UbmQzVjZtbHRGRW9FVlBRODlVR3FwSXNTRUh6MVhrZkJ5YUhpeVBQdjhPVHpmOFBCdmRkeDErMTNjTU8xQjFHcHNEUVlNTitieHdhRkw2RVlqQkF2R0dQUXhLSXdKRlRIZ2lvU0c2WkVXcFN5UVUyRS91VklVQUd6aVIrdWxtak5wa1FUbktDTlJnZER1ZXBJa3BRYnJyMkJRKzhlNU5YanI5RXZWd2tJVnBrWUdVZkg0clBOa21VYkdqNWtORUsyb2FHaDRXTFlVT28rTmF2U2ZYRzJyV1JqQW1pNmRvR0Y5azcrNVIvK2wvZ2NldWtpSzJkSHFKQ3dNRDlIdno5RTYrcFBkSlVxc0w1VmJKMVlNSzZjVjBKUUR0RWxvblBPcnA3aHlNazMrZnEzdjhTS084MnUzWXNzclp6RzVUbTkrVFpycThOS0FOWkxlVDlUMExwT2s2aldMK0NyMUFwZjE2U3BLQ0ZWZFJ5TVVnUVJIQ1VGQWhoYUpMeHc5RmxlUFBvc3Uxbzd1Zit1KzduamxqczV0YkxLWW5jbldkYkJpTUlYSllVVUdCWHdPbUFBTlU3ckVMVG9HVmNQSlJzVEwrcmpkTGxHWTZmeGhZOU9CdDdqdlNleENYbFJVT1FscllVT2Q5NThONFdVdkh6a0ZSVHh4a0dqaVpteWZxTlZ5bFNoYUJPVmJmaXcwQWpaaG9hR2h0OEVFb1dkRWxBNndZakZvVkNrZEpONXRzL3Y1Zy8veFIvaFJuRHd3Q0hXVmdhc3JZM290bG9vVWVNaGNsVFlvRG1tcStRbjRpd1F0RU9VUjNTSk56bnZubnFILysvUC96VkxvNU4wdWduSFRod0JEVmxQc2RZZmpwZS9NUzNpdlUxRjFybk5BZHBFbjFlUjZHb3dubDBwU3BYRVoxd1JTQktQYzQ2MU1CeW4yNTRZSGVWclAvb3J2dm1qci9HWiszK0w2L1lkNHVvOTEyRk1oMkF0b2dwRUZKSkV5N0NKL1YyMUw2SW1FZHBLeklxcTNBeGt5dFZBYlI1Wi9ydEdWOUhZb0FRajFYbXNubGRLMGM3YURQSUJlT2kwMnVoQzArLzNVU1VjUG5BamI3MzdOdThjZVpzUkl4RFFtQ3JWb05yWFM3K0xEUTIvVVJvaDI5RHdIdG5nNHdwVm1jeUZ2Mzk5aEcycjkweFR0eVpWU2pWUmxVdU5NZEdzdHc0Q1Z0MW1KVXhFckZVYVF3WmlVUmhhOVBqWXZaL2dkejczdXlTdWhVb015NmNIS0ErZHJJYzRSWW5IbU5rZXBDS0NJTEd6VTJVcEZVTytzU3RVVUFYYUFzcHhadlVreDgrOHpaLzh2LzhLVHc1NCt2MFJTc2RBWkQ2Y0REdXJPbmR5S2xwWDJ4dlh3YzU2ZEY3V1hhNnl5V2g5OExFd0RaZzFES2llSyt2M0dDak5hR3oyNEVOTXVUVUduRmNFSE45NCtxdDAyY1pEOTN5Y0d3L2V5bngzTzUzMklzTjhoRFVKYWRCNEZ4c3FaR2tHUVJFS0YxdmNHZ05CcWlZUXNleHBNcFhwVFpvNnZ1cytjNVdQN0ZiMld1UFh5dXpuZThQTDE4OFhwaG85YkU1UUFSVVV3K0V3WmhrcnhiQS9JaEJvcFcxY1diSjg5QXlmL3Rnbk9YdnlEQytmZUpGVVpUZ3AwR2lVTnJqYVNMbytEK2ZxSXRIUWNJWFN0S2h0YUdob3VGQzhCNld4V1lLMUN2R3hJNVlFMEtMUVdDdzlKQ1FFRXJZbHUvbFBmLytmODN1Lys1OHdXZ3Vva0tGQ2hnNEpTSW9LTVg5MmxqQ09tdW82d2x0RjhWYlhsc215aEt5ZE1Db0hhQlBvTHJRNWV1d3QvdUtMZjBhMEE0c0ZUa3BKTE1oU3pHUkQxS21VMCtteVdzWElxbEtncWdpcjBsRmthaHVuMXRadnNyUHRhcWZLNUdjRTRJYXdNakU0S2tBS3FxMFJCU01mYzJsNzdRVmFwc01hcTN6cjJiL21UNy84cC96ODVaOVJtaUcySnhScXlHcStqRzBwMHBabGJiakNhbjhKWXlCdHBYZ2ZSWnlhanRCT2JjYWw5akxRb21hSzFiU29EUzRHWWVyM09uS3JKQmI0R2RFc1p2TzRsWUxiRHQzQ0huTVZ1UXhKcXZQaDZzNWY2NWtwVEd4b3VQSnBJcklORFEwTkYwSTlNaDBDYmxRbmljWWlMcU10VnFlVVh2Q1NvRWg1OFBaSCtOeG5mNGRPZTVHeko5YzRzUDhncXlmWDBHS21PajlwTnBOYTA0MHdwbVh1NHZ3Y283eFBJS2N6bDdLOGRwb1hmL3B6dnYvVWR6alZQMDdBSWJocXFKazR1ZzVqRld0dGpPekhybkNDRDBJSU1SQlpGMUdKclB0ZFRicC9xYW9CUXh6T3JyZXVUanVZZEp1YW9jN1AxRUFDcW0xUkhrTGZWVVBqR285bWVkaXZ1b1JaTXRxY3pJL3hsUi85RlQ5NzZXZmNjY2RkM1BIUnU1bnI5Q2lLRVQ0UDZFU1JaUzNRQ25FZXJhK01FUXRWZFdTcjQ3alRZbGFtMmxXc2ovTXFVYlIxaXpQTGZXNjUvaFpPbnp6RnFWZFBJQ2djRG8rYmZjZDBDb1pBSTJZYlBpdzBRcmFob2FIaEl0REdvSlZGZkN4aVVsaENNSlJZdG1XNzZIVVdlZnpSei9EZ3ZROUJzR2lWa3JWYkhIbjlLUE85UldiTGtUWmp1cWxvRkREMWE0MkZVVGtrN1NRb0M3Lyt4YS80NnRlK3pISTRSZHUwR1BvU1FhUEhyWE9uTEJBSWhOTGhLNk9tNktjUTFXcTlodFRHVnJoVVl0WXFEUVpVaURtOFdtWFVEUXBrT3RLbnBzZXd3eVN5T0NYU2dnTHZBckxxWXNwQ3NKVnNUV2pScHBWMHVQblF6U1JKaHJXV045NTRpN2ZPdnNPYlo5L2crQlBIT1hubUJQZDg5RjYyOWJZeDE1dEhPWTBmbGRIWlFNdzR6S3ltaXJxaXJaWEVrUGxsa0R1cXR5ZzRHNHZacVNqdFdPaE9YU2N5RWxLZjBqTWREdTQveUt0dnZzcTc1VHRWczJSTk9YN2gxSFFxbytFSzBQa05EZWVsRWJJTkRRME5GMGl2MjJNd0dPR0NSNUZnYWRFeVBYUklFVEhjZCtmSCtld25QOC9PYlZleHRMVEdYSHNlMEt3dURWaWMzdzV1TXR3dHlGUTNxbW54V292UDJndzBpbGxSd3NsVFIxbllOc2NvWCtObnp6M0g5MzcwQk10aENTRXc4b01ZaVIyang5T3F2SWhlTnM4Z1gwTVFESkRvaEVDWTVITTZOUlk5R29sRlZrNVFsVitDbDdoOUdxblRTYXR0bmZaU2lKNjVrNThuZER0ejlBZUQyQ3lodFoyUXgzWGNkdWdPSG52NEU4elBMeklheFI2K2h3K2U0cTBqYi9EY3o1N2oxUEE0VC8vOEI3enoxaHM4L09CajNIN3pIWWdYUnNXSWx1NlFtVGF1Y0dTNkZSMEtya0NDaXVrZ05ldUZyQmFnRE96b2JHUGx4REk3NXhhNTQ5YmJPUG44TVVhY08zKy9TWmx0K0REUkNObUdob2FHQzJSdGJRMkZwdHRhb0JoNUJFTW5YZVNSajMyU2UrOTZpRVBYM3NoYmJ4eWh2K3k0YXZzQlRwMDhRejdzTXorL2lFSGhab1RtdXNvcEpaTWlzcW1JV2wybEh3anMzNytQNWVFWlh2amxUM25peVc5eFpPMHREQXBEd29pU2lReXRyYi8wVkQ1cllKU1h4RjVjbWtEQUIwV29VZ1drRXM2R0dDbXRSYkhEeFdLaXFzMUJ6ZVlGRi82Y2JyVGx3TkdtaDZESVJ3NUR3bDNYMzhkRGR6L0N0YnNQMHUvMzZYYm1hSFZiYk4rK2svbUZPVTR2bmVUVVM4ZHdsQnhaZW9lL2Z1SWJIRDE2aFB2dXZKKzl1L2JoK29GUmYwaVdaRWpsdzdyaHNLb3B0NE5MeUV4RGg3b2IzSlI0RFNwMmFWT2lOeEd5aWdSREwrbHc0dVM3Wkx2YTNIRHRJWDcreXZPczlWZmo4bXFQNGFucnA4NlB2Z3gydjZIaEE2RVJzZzBORFEwWHlLNGRPMWsrczhwb05PTHFQWWQ0NE42UGMrZEhIMkRYOWdNb243R3luTE5uMTdYMGx3YTgrL1pKRmhlMjA4c1dXRjFkUm10TmttVE1kQUtyMGpwbmc0aFR2cTFRaFc4MVdudE9uem5PQ3kvOWpKODg5eFNuMWs2aUFZTkJHZWlvRHI0YVhOWlNkd0F6VlU2bUJRSUZJNVNPVmZEYUt2cHJBM0pHS0RSdGt6SHlPUVpOeTdaQkM3NE1HQ21qdUYzbnFqQkxKZENDek9UV1RrOEJjaG14dTdzSE54VDZZY2lCN2lFZXZ2TXhEdTYvaVpXVHkxamJJczlMVnBmUDRNMkkzVHQzYy9jZGQvTEdtNjl4Y25pS1R0cmx4T2dvVC83c05BVEZnM2MrU0MrWlIydURUUXhTaE9wNFhubDF6VkoxSVFzcVZFa2g2MU1MTktsS0tQc0ZyYVNORHBxNWJvY2JEaDdpK0F0SFdTWS9wMkM5RERJckdobytFQm9oMjlCd2dieWZFY3R6Tlg2NmNFSVZzWW1kbkVTRmpmNUk0MlE0dC9uekh3UVgwaFRxZzVqK3hxZ0haYWU3WHVtWitmRi96ZkxwZ2p0dmVaaUhIM3FVUXdkdkpqVTlpaUVVYTRIVUtIemhFWVowV2wwNm1TWWZEbEZLMFcxM0VCRzh6S1lTSUJwVmRXYlM0MU1aQmFQZzQvbldIb2hlc1ZtU2N1TkhEblBOd2F2QkNpYUpIYlNjSy9CU2tDVEplQStvQld4VkxTOHF2bGFaMkZiMnhJbGovT3puUCtXRkYzN09TRVo0RC8vaW4vN25kTnM5T3UxZWJLOWJsTEZscWtsSUVrTmVER2VPWEwzSmRZWDladlp4TlVyQUJrMG9CWEdhMUdRa3Vvc05HZmxTU2Rjc1VneHpkaXdza3ZzK1M4T1RaSkt5ZldFN08zWXVjUEx0WXl3VkoraWtQU2dDVDc3d0xkNDU4aGFmLzhUbk9ianZNS1BWSVZZbm1Eb2dLZFByMWpQYk9kN1dLaDlWVlRuRXN1VUhKVWEwTHlacjRYd2Z3WEZOM05RMmp0OVRQZWMxTEM4djBkdTJ5TWdQOExsd2VPOWhYbnY5VmZwckF6dzVMb1FORGR4a2FoOGFHcTUwR2lIYjhQZWE4MzBSelh3Ump6MGo2OGdJc1h2T2hvVnVYSzRXTnZXUm5mNGFtWjQvUFpTODViYmhnUnpIaUN3ejVFWDA1TlFtSkVCdFpnQUFJQUJKUkVGVVBsdzU4ZjhjYjlwVTlUc3dTVjNjQW5XZWI5c1F1Q2hCS3VlWnI5VEdTTjUwUkcrOWJvOGJ6ZGhtS3B5cksrblVzUDNZUzdVYWR0ZlVObGdHU3d1RnFkSUFOQmx0YnI3NVZnNWZmeU9QZit5ektFbEFORkpFd1p2NXVBemxkUFVITnVDS0FRQzJPdDQrT0VUVkErK01JMjVLZExUZ2ttajRLbUlvWE03OGZJOGlERGwxOWwzbTVsdDBGMUpPbkRwRHFsc2tXWHpFRzV1NFBwSTRyUzJvSmt3RVhGQ1F0RnNNOGxXc1ZiU3ZtZVA0eVJQOC9JVVhBSmp2TGJCOVlSZnRwRWNyblNOUktjRW94TWZqWUhVZ1Q0YWdaQ3o0NnRxbE1KT0Z5ZmlFMWNQNWlqaGNub2xoTk1pUkZOcXRMa2pDYU0wUmlrQmlNeVFIczVxeXE5ZGpORnhGNTVwZTFxWXNSNGpLY2Fwa3hRMVJ5bURFOHRxWlgvQ1gzMXpqNDNjL3lvTjNQY3laWTB2MHNubXNXUEpSQWFMcHROb29wY2p6c2txenFLK0hBRXJGc2pjSnNlaE5KdnRWTjZpUXlpUzMvbCtQYjBLbS9qNk1mNVRKN2svTm4zd01KODB1Wk4zZkZ4U1lxV0t3MnBkNFlsMHI1Tm9SMmlZNlNJU01zQ3hjdlhBOUQ5LzZHRWVmT2dZRTJ1MlUxWHdBQmt5aThhT0FJc01IUDk2R2hvWXJtVWJJTmpUOEJsbWZoemN0Sk9zOHZhQTJ2TzI5SVpyU2xZZ1BsRXFER0ZCQzhKNFFRT3QxUW02OWlJVm9hSCt4MGRuMW92djlUTlc1NTAvNXpXK2NDbWhUSzZmS3BxZ1MxbElKM2pTeDBVWFZCN3pJZUQ0VHJZRFJDYWxKQ1VGd1BpQVlURlc0VmVBUkxEdm5ydUxtajl6R1hYZmR3M1hYWGsrV2RDaEhnbkdkS0dUWi9FWkVqVzlhdGhBTGFyS0RTaVRlOEtER2Vhd2l3dlp0TzFudW4yWG9WdGw3elI3V1JxZDQ1aGZQc3JSeUdxdGp1OXV0Q0dGcmtTSW84dEpIQTMzakdKVXJ2UDdHcjhobEJTR3d0SGFTNTMvMkRJbnQwalp6R0N6aU5PTEJLTUVvQ0NyNjFBWTFFYkVDaE9vT1N0WkZPT3NpczdwZHJWc3I2YlI3NUs2a1B4eXdiWEVuTjE1M0MvTUw4d3pQcnJCNzIyN1dWdm9zbmUzamk0Q0laVERLR2JvQ3JJbzNZZ0xpUGQ3RlJJcWphKy93ODEvOWxLSW91UGUyQjNCRmdYTU9aYU1qZ3ZlQ2VBOEJ0Sm9JYnFrdm4rbTdvL0VkcFlwenhWSmZQSUxHWEtUN3dUbUgvV3YvMjZrWDY2blBSRkRnamFKVUFTZWdneVVKS2FtMDJOSGV5ZlhkUTd6Y2Y1RmlPS3p2ei9ERlZOL2dKcm1nNFVOQ0kyUWJHcTVZTk4zT2RxQk5jQUZ0TW9JZkFRNmxBbHFEMHJVcHZLNit0MHcxZkYxOWdaK240dVZjUWdnVnhsM0dMcFM2QzlKV1FWbXQxSmJ6VWJINVFMV2tPaVk0TnZnWGdiS1llbjAxVmFJeE9yYi85TjRqUVZHRXVnQXFSbHozWDdXZm5UdXU0dTY3N21QUHJuM3MyYjBQYTFQNi9TR3JTeU9HbWppa3JTODg5MUpKZEFLWWVhS0s4QXNCbENhSXNEb3FXQ3VXc1ZsZ3ViL0tVejk5a2llKy85ZXNycDFoRk5ZdWVQMEJqUkQ5U3kyQmdpRlFBZ0VGRlBUNStuZi9IRWd4cEZXVXVuYU9EZFV4cmEyaHBscmxzcjRhUG95UHY1NzZYVmNSNzNtelFPa2RhNHpZa2U2aUNIMXVQM3czN2Q0Y2ZaWVkwS2ZkYXRHWjYrRDBpTGVPdmNQeE0yZklnNXR4RkZOYUUwS2dJT2ZsWXk5ejZ0UVpkdXpZeGE3NTNTeTB0ME1KUlRFaWtSU2o3T3dXcW9sQWZEOUg4RktqaVRkQTN2dG9PVVkwQVY2Y1grQ2pOOS9LYTgvOGloR1FKUW1GS3VNK0drVUlrKzVtRFExWE9vMlFiV2k0VWhHRGN5bFc3OENGRWNGNzRrZmFZWlRDbFFYeHk3WXVGb29TSk9hQXhtS2YyR0wwQXIrUTVTTGV1NDZ0aEt4czhmeEVQdXR4UERMR21EYitrM1gvSUk0Y0MzRDkza1BzM3JHVEF3ZXVaZCsrL2V6WXZvdjUzZ0tkemh4cDBtSjFkWWdXUXlnTlJhRko5VHpkN1R0cEpTMFNtN0Y2ZHVYaTludWNKeEZpOUhic3Z4cUgvcnU5RGtkUEhXUGJ6am1TanVMSkh6ekJFei84SnNkV1hrY29NV1BacUM5Z09wSC9CZmxZMWlnYlBXTkRBSkd5OHBqMVZUQmI4SVFxOFVManAxSnI2aTJmRnJXVHN4VEdyNm5QVlozQ2Njb1BFUUtDNW5neDRDY3ZmcGQyTCtHZW0rL2wzYmRQa05xVWRHNGJhNk0xWG4vOVZ6enp5K2ZwaHp6bXovZ3dYckUyc2RBdGhKSWN6WEYzbks5LzkyczhjdStqM0g3VFBDS2F2SjlqRWtXYXBOVkdUOGx2RlNaYitCNlNYeTk5UEZQTmpnS28yTWEyS0FyU1RzcUJ2UWZZTzdlUFg2KytSdkFPYXpTbEJMVFdoUEpjT1RjTkRWY1dqWkJ0YUxoU0VjdnlHY2RIYm5vUTV3cTBDWlRGa0N3ejJFU3h2SHlXTElsSm1lTUlyRlJpVml3VGMvb0xGNk95YVpMcTlQeHpDNEp4cEs1S3NWZy94WWRObjY4RHlab1lXZFZhYjNnb3BaaWJteU5OVXpxZERnc0xDeXd1THJLd3NFQ3YxNk9kWm5TN0M1UjVRWjZYbEVYTXN6Q1M0bk5MWGhoMmJidUd0ZVUxMWxZSFdKdlM3ZlV3eGpKWUhiS3ljb2JGdWQ0Rkg3dTQvWXpINUdVc3BBSkJlMFFGUmlHUXRnTnJ4UmxlZmZWRm52alIxem15OUdzME9RRzNXWWIyKzZLVnBZVGdVQkpqd1VGTkNWRmRQUmNjSW01YzhsWU5zczlraFlSMVAwL3RGakRSaFpOYnFmaEttMnE4enhFZDNRM0tRbmpsK0F2SXN3VXIvUlBjZTl2SFNEU3NsR2Y0NVZzdjhwTmZQc1BMUjE2cWxscEZJQ1cyS3dzaFlFd0FiUkFYajgyYnE2L1RlYWxOdTlmbXdLN3JhTSszVUNVNHlWSGF6bnJmbm9NTnVlV3pkMU9YRFBFQnErMVl4QUtVWlFsRm9OMXFjL2k2dzd6NXdoczRWMVo1MTZFSytnZTBNUVIvNmFQS0RRMFh5Mis4L3JlaDRUZEhqNE8zZklyLzlyLy9ZeVFrSUJtS2xPQTExbVE0WDZCVUFPVVlSMXhrNnF0VVltUE9jekV0eERZcjF0SmJ2SC84eFQzMTZhcHpKOGZMcWRNNzFXUitQUjBYeGF6UHNaM2RPcll0ZEhuampWK3p1RzJlRUVvRy9XV1MxR0tNNEh4QlptMjFuT25CWFUxZDlZdzY5LzV2TEJhYUpwdzc5WUJ6cHlhb0tpLzBYTUd2OHduaGNwVEhMM0hSb0NYNm42b3duaHBsWTBGZVVCTS96bW8rd05yYUFJMG1TUkphV1lmTVpuanZHUXhHNU1NUkl0QnVkMmxsSFpRSXcwRk9VUlFZazVDbUZnbkYrQmh1bWlPN1RpbE43NnNHOEtaNnYwY29FZVh4cW94aVVnZGNjTFRtRW43d2srL3hwYS84ZTViZGNZUVJBWWZOWXVyRWhSTHpNQ2UvU0owMldYMHI2S3pLc1pZWW9vMmkyNk9xTEJXbGlLMWxtY3FQSFJkN01mUHRvcWYyWGNua2MxSEkxRHJyN1JHd1F1VmZtOUZoSHEwVFZrSy9hcmpySUROWUM1TDNFVmRPU3FicURRc0toY0dRWWttNDVhcGJlZnlCVDNMRC9odnhmU2o2bnJadFYzOERxbFdMaDdvWnhQcUxVbFJWN0JYemxtdC9WaTNobk9lL2ZtNTlzZWYwN281WHNjbjg2YzJvL3k3VXJ3c0t2SGlVaXBGdExSQ2NwNUFDWjNOQ3gzTnllSXkvZXZMTHZKdS9TMEdKbnlvdU05YmkzVVZjUUEwTmx3bE5STGFoNFlwRmNmellHZVo2TzJtbEhYd29zYWFOMG9JdlMrWjZHY05oSDVpMjhJblY4R3BHUEc4dEZ1VjhNYi9nenkyR3p4R3hyYjk0enlWazlUbHljQlZnMDA2MUhST2hHdkNWZ1h6QXFpUU9pNHZnZzhNN21RaGJFWFl0N0NNZmxZeEdJMVlIQlgxS2tpUWhTZHAwNXVZcGlnTHZoSDQrUkFrWVkybG5YWlJTeUhsRS9IbVJ5dDBnYUVUUExxdU95SllVdlBHclYzbnFKejltMWEwZ0NFbWFNQ3BkZEdlNEtIdFVUV2JhUUVCVXdJVVNIOEpZVElhOEtpQ1VPbjRhQmZlR3lHUnR1Zyt6eWNqVCt5TjY4dHJ4QzZyWXI2bXIvaUZycWRnV2QxamdTb2ZDTThSRE1DaGw4RkpHb2VwS1hCRWp5UmFENEthRXVJQVJSQUxhSkxneTU2VmpmOHZjTCtiUkdQWXU3RU5uQ2FVdlNaUkJ4bWtXazN6ZjZiYTI5YkVDbVNxMkN1ZjYyUHlkb0NWbVZ0akVnSTgzbmRZWU1wVWdVaUxPTTlkYTRLYnJQc0xwbDg5TXRiUHdVY1Q2UnNRMmZEaG9oR3hEd3hWTXV6V0hVb3FscFZXOEwrbDJPeEFDcXl1cmFKM2dYZnlJeTB4cXdWUUFUTTZkWXlsMUFjbFd1Wll5TlZXYlRBT2JQMSs5ejVMR3FQa1c3dzkrNi9lTENvZ1BVMUhiV2lTWlNtTVlDcW1LcHdUQW9oVVlsYUpNak5jdG54bGdyYVdWenFFeVJRaUJVRHJLa2Fja2lteXROVGJKNHFLRElGV2hURzBOZG5Ib2Foa2FRUk9VSDFmNmk0SjMzMzJYZi8xdi94K1czQ25BWXNuSWkxVUF5bnl5akF0Q05DUHZLa2xaM2JBb29rZVlTc0I1SUdVU29pVXFaMVhFM3dQRTRYMHpDZThxTnQ3WVRJK0NVSmVMeFordHNaUXVCeHdLd1EwY2ptSXFNQ3prak9KZXFpb3FLcUJNaGdTaEhsTXhPaGxIc3FkeklBbzNJSFkxMHp6LzJuTzBiTWJDZll2c1h0ak40T3dRVWRuRVdlSkNpcjNPTTZMeG0wWkVZczZyRDRUZ01JbkZtQVRua2hqWjlpVUhkbC9ML010L2krTlVsZTBzSktuQmorcUZYTkpkYUdpNGFBenczMTNxaldob3VEQlN0dTA2eUNjZS8zeU1IR0ZSR0VRVVdsdUMrTmlyZkJ3dG1oN0hyQjRYa09OWjU2TXBGVXVKMXI4MkRqM0t6RlEyKzdKY054ekx4bGt6Z2EzcDVkY1BIOENIZ0RZYW02VFYraUJOV3dRQmpZbTVjOG9ncUhIbCthUTBTbGY3VVJtYzFxMHdwNFd2bW4xZVJKQVFpNmdtTFZDcklWZDBGSHFpeHI5dk5SOFJkTkJWL21FMVA4UklwMVFSVTlZSjhQVlRMUXBkL1ZNU2k3dVFHRkdyZjQ5N09UVy9Ta1VOSVdCTmJMK0tSSXN1cW1GaHJUUmFhWXpTOFJvU2tCRHIvSkZZNng4bHdTUTdkUGI4YjNIK1pITCtFTTFvVUxKait3NldsNWZ3NG1oMVVrcnhPTzk0L2UwMytMLy96YjloR0lZa3BDeDA1MG16aE9BOGlDZE5XM2hSSkVsS0hWaFgybENydVNUTnFoeElkWTZId2RicEZ3all5ck90emcyd2FTeUlVZ3FNQmwrQUJMU3RQanJqaU8xVWVaNU01UlNJUnRrRVhMd0d1dTBZRmZWQlNHaGhwTTNlaFd2UUxrR0xKU0VqTnI0MTFDNjc5U05tTUZmRC90NmhpQ2tpQ29VWEg2L1A2VVRlK2dSSXZQRVNoTlV6SzZRbVlmdTI3VmhqeUljNTdWYWJvc3p4SVRBL1AwZnBTdnFEQVhQemM3Z3lybFVMNC9OZTdYamN2UzAvLzh5dy9pTStleU81eWZ2SFQ4NWVQOU9wU1FCR1djVEhtMUdsRkQ0RW5IZmo2OUw3d0o0OXUzbjM2RkZPRDA5aHNIZ2NoZVFibHQvUWNLWFNSR1FiR3E1b3BqMHYxdzEzMXRIU2NRU3NGdkxqRjB5OTdnS21Id0owUFV3ODFhbHB4cFpJVmZOck53R0I2WU5jTjJpNEVJSUsyTlJ5K3V4cDJ0MFdXRTkvdUlKSkZhKy8rVHIvKzcvN1B6RllIcjczTWU2OS94NTI3ZDZHTmlXbnpoN2oyZWQrekZQUC9JQzhPRVpaak1qU05ua3hyTzdMQWdwRFdZellNcEplWFErcUt0dEtqSW1wQThyakZTQU8yMnJoaGdPaVpSdFZNbmU4eGtMSlJHRUNkUU1CNnB6UjZySzBXWVlLaXFBVkJNMW8yRWVoMkpiT2M4dE5kM0xuUng5aHovYTk0QjFGc2NhcnI3N0VqMy95WFU0Tmp4QUlNVys0WHJXYW5KS0pWbDEvVGE5N3FycVhNa29UWE1teW5PWG5yenpQanAzYnVmUG11eWk4SXMrSGFLM3dFbGhlUGt1ckZRc0RWMVpXU0cxMllTZjNVbEdkQXkwYUFyUlVob3hnLy9iOS9PcjB5emh5QkltRlhxNXhMbWo0Y05CRVpCdXVZRDZBaU94RmhpVFVGdS9mSWxWdzl2ZjNHWkhkN0hlcElsU3FLcXVXYXJoYlFkenZhamNWOWZ6S2prcE4xZGlvU29UVTBhNTZ1djZ4Zmo1VVViRlFMZXQ5VGlXZ0pmNCtFWXp2YjZyR09iNFg4bEF4d2pxcHpCb2ZwN2pQdmhKNmsvZW9xZjJQeDc3ZWxnczVmNHBPcjBQaEMzSTNBT3N4bWVMcFo1L2lxMS85S2xZbi9NZS8vd2ZjZS9jRDdOcStoOEhxQ0hHYXEzZGZ6YUZyYnVUUXdVTzg4OVpyREVmTE9GZVM2QmpsdGdvNnJUYkJGU1RhWWpWWXBUZE9sYXBjSnp3aUJRR1pERkFvQ002UnRxSnJnVVpJa3hqL0pNVHpsbHBpUkYwcHRCSTBBYTBDU2xXM1RncEM2Y0NYS0FrWUJJdGkzL2E5ZlBvVGovUDRJNThoYzR2MDdIYlNrTEZ6YmhkWGJkL0hYSGNlU3NYSmxSTkVzNjlBMFBWMVhQZGJxeis5RXkvY2pRVmExWXRVSFltUDcxZ3IxaUFFOXU3WngySjNrZVd6cTJpalNWc1p3K0VJWXl5dHJNWHE2bXBsMDZWalhIK3FwWnl1YjJDMlNQQSszK2QyV21lZjYvM25YWTVVWXlMamF6Z3VOUmJVcVpnajdCeFpsdkx1MjBkWVlobVB4NXR5Y2svVDBIQ0Ywd2paaGl1WVJzaEsxU0pwdyt2VzVlNnBUWDRTdGJYcnduc2pWQWtKTTZHNTl6eU5vbVRTeU9EOXZoKzIxQkh2a2VvbW9CNlNaa3JJMXN1dlJYNGxZS2ZuaTVJdG83SHY1ZnlKRWtxWG8yekFaTUxhNEF4dnZQMGFYLzdxbHppUkgrZWYvTjQvWWYrK2ExQlljSXFXYVpPcWpHTGc4UU5QWmxQMlg3dUwxMTc5RmFOOEZOdmJFaE1wZ3F1Y0crb1daOEltVTJpcExrTHN6cVdCTElPNUxsZ0xaUm5QajQwajE0Z1BxS0F3VllKS0pobGhmQjZyTE4rcXNyNStMR1JkVXAxaUpVR2hhTlBpWTNjOXhEMjMzVXZpV3lSK2preDY5TS8yeWZ1TytlNGMxK3c3Z0RLYWwxNTVrWUlpdWhSTVJXUm5oV3g5MXFhdlFXWXVFeVc2YXFzcnBDckJVN0sydW9JckhZZXZQa3krVm1DdG9kMXVnd2g1WGhKOElFa3lGRHJlYk5YTEc5L0FUVVdFei9INVBkL3ZGeU5rbFdoMGRjNWp3VjUxTklUcWVZMFJqZmVCVHJmTjhuQ0ZkMWJlUnZDVVVzYngyQ1lvMi9BaG9Fa3RhR2k0WXFrVUJoTXhYSC9oMXMxQWE1dWpTbnB0OXAxN1NSR1lDSHBtcCsvcC9WT0NmZHpzWUlzbHJKK3ZxNVdON2MrcW83YlorOGZIVlgyQWFZWEtzekpjSXV0b0Z1Ym5lZTZYditBci8rRkxuTTdQY09QK2o3QnoxM2IyWGJXYnBkTjlpb0hIMmhRbFFqa29TWk11VisxWVJIVE9ub1ZyV0Y0ZTBiTTlDbGRRVUtEUkJNSlV1NGlOQkVCSmlrS1I0WEgwOFhtZ240TlNrRXd1TDlxMENXZ1NNandlUlJTeXBtcVVBSUZKdnZDa3NVQ2V4MjFRR0ZJeURpd2M1T0NlbTlpZTdXYmw3SWlXU3BodnRXa3RHQWFEQWFQbGt1NUN5b0U5MTNQYjRYdjQ0U3RQSUpTZzNQZzZDVElKdHNyWVRtcmlmREI5Z2hRYWF5eWhFdXMyTS9qY3NlS1hlUDZsbi9LUlBiZHljTTloV21tYjRYQklZaE9DRHhSRlFiYzdoeXRtbFY3dFdxQ21iS3d1UDZwOGNOR0VBRlpiRU12MSs2L254Ky84Z015a0RHUndxVGV5b2VFRG94R3lEUTFYT21NWGdKcnBuK3U0MVJiUjUybnJwUGU3V3BrZW05VEU4TTcwZEgxTzVqbm1TL1g4OVBRY2JnYVQ3Yjd3OGRGQUhQNk9JdlU5TG1QOTlsMFVnZTI3ZXZUTHN6ejE3Sk44L1crK3dxbjhYVnEwMkxkL04zTnpiVTZlUEVtcXVpeDBGa2hWaGdtV09lVW84NEwreVZYMjdMMldmL1E3LzR4QmZ3UXFrSTlLYktLeEptV3R2MEtXdHJjOGZrRkJmekJDcDVDbGp0ZmVmSkVmUGZVZFZvWm42S1FKM2dXdU8zQURkOTMrQUx1MzdjY1hobGJhUTByRmFKQmpFdzFLRWJTcmJraWlEK3QwaDZ5RnVlME1WZ2RRUUdKYXRFeUhibXVlY2lVbDh3bWpZWjk4WlVSS2kxNm54M0E0WkhWNVFOYnRjZU5OdC9IOVYzNUFkRVZ3bTk3d3hKcTBTVzU0WGZwWG8xQ2tLc0ZwalFzRmE2UFZ5a1lNVnZ3U3p6ejNGTmQ4OWxwYTdRWE9ubDJpbmJicGRSY1pEVWJrZVU1eUJYOUZhb21GbFFhTGN5Vzd0dTFrcDkzRmNUazJlZEhGRDBvMU5GeHlydHhQYVVORFEwUW1ka2F4WUh6aUpSQ29qZHVyWXEvcGlOWFl0YjB1NHBMWjZZYjFySjhmQlpFYUwwTm1wNHJaNldienFmeEYwZFZ5cDZmcjUyODJyVVV4VXp1MjFUZnpKdk9ub25zZ1ZjUlZaaUxaazVjS0tGMFoxbGZydndneEcxUWc5NnY4N2F2UDg0VXYvaGxuUmlleGFITDZGR1dmYmR2bldUbFZZTkc0b21EUUwwaThvWk4yYUpzT1NoUm4zajNGdHQ0aGR2WXNSWm1ES05xZEZnck5LQitpbFdGY2tiWnVLZ3JFYURBQnJVZXNMaGNvOXd5YW5GSHVVRmphYWljSGRuMkVxL2Zld0dDbHBKWE1rNmdXdy80bzJqN2hDTnBWZStRclA5eUFxcEp0eFNsNjh4QUtJVkVabmFTSEw0VFFWN1RibHQ2Mmt2N3FNdG83V3FrbGxBbEJBcVVFWENsNExDZ0xxcHdSckdGOHZVOXlsSlZVN2hXVm5JVW9aSjN6YUIyZmM1WGZyRFlnenZQYTBxOTUrZVdYU1QvYUltMmxsTTdqbkNOTlUvcjlJWW01dkw4aXh4Mzdab1phQWtvU0FCSU1oWGRZTVNRbTVjWWJEdlBtUzI5TTdpY2JHajRFWE42ZjBvYUdEekZiVmJ6cnJYVFlwc3RZSDVGVUc1Y3hTZkdjckFPMjFudm5XdDltVDE2QTY0R2UvcDMzUG8zSFRJL1RuYyszQzdPZDFXYW41OXlualV0aXNyYnBpUGRFRGFqYWtWK21HMURVeEdGMzBiWHZiVUIwems5ZmZKcXZmZXVMbkI0ZG81ZDJXQ3ZXVUZnV3RpOXc3Tmk3TEhhdVFvcUFWdER0dGpFaFFVcGg1RHdxTVlDbVAxeGpkWFdWc3N4SjA1UndPbENXT1VtU0VFTFk1QnJUNHkzeUd2SjhnREk1UjQ2L1M3OGM0VkYwN1R3RE4rQ2Q0MGM1dVhRS20zUTRjWFNKMUhScHQzdUVJbUN0eFllQ01PVjdPMjZ6cTJJaDNtZzBZc2ZDTnZMVmdyenYyTHZqQUl1ZG5YZ0h4Y0JSMHNlWUJKdTBHT1JEenE0dGtjMW5aRzFMR2Nxb3QwUXhicThxOVZHdmorL21OeEoxV2tWcVVvWitpQTlDbWlTNE1vcHVaUlhPT1VZTWVlYWxIN080YnhzM1hYOHpxNmNHckszMW1Xc3ZrT2wwdkR4UkFVRUk0d0xEOTNyZGJQdzhxM1UvcjcrRzMyLzZUKzFEUEQwNlVqdWdLV3Z3bzV4RUovZ3ljTjMrNjdFdmFWS2RVZmk4aWNZMmZDaG9oR3pERmM5WXBGVjFGMnA2dXRuSXVxeDdiLzMwSmo2TzUvMVNlUi9mT3RNK291UG50RXdOaTI1YzVQcnVVZlcrelc2QW1kcHVtVjEraU1WS1N1cENwc214Z2FxRjdQcW80cVE0ZTUyblpkVjZjM3I1TU01VG5jNUIzYXhGNzR5U25CTHhrOU95MFNkenVyTlg3YU1aNnFtYXZGdFBiOWQ3amloWHV5dWJ6RisvQ1BFejh4VlV6UXRHeEFpWWpjVldZcEdnMFpXL3FuTU9tMW1VZFloV0RFWnJwQzNEeXRvU0o1YmU0Vi8vNmY5R3NBV2VrdVZpaFlRV0FlSGxsMS9qL3JzL2pxaEFFVVlZRVhTU0lFR1JseVZLYVd4YUlza2EvKzVQL3hkKytkb0x0SFZDSG9iSTJOODJqTTlLTE0rS3BYV2hLcy95ZUdJamhPaGNRT1ZBQWNLeWl6bVVSd2R2OFNkZitHTW1GbTRUZ2E2QnVhU0xLejF4RDZDK0Z0RU9wVDNLT3hDUHhaTFE1bUR2UnY3aDUvNkFtNjYvblNOdm55Sk5PNHh5UnpLZmt2dWNrUjNSbVU5WkdwN2dyVGRmd2hKOXZyeFRNVEs3TGllYytoSVFLcGs1d2VNcGZUbitmVmdPNDJrVjhIbDhVNThWL2paL2tSMXY3R0xucmwxMDAwVjBvZEJlSTk0U1RDQW9oMmlQaU1jRUhZOWlNT08xaksvalRWclUxcHMzUFovL243MzNmTElrUysvem5uTk9tbXZLZFZWN082NW5kc3pPWU93dUJvc0ZGMElBQ3dYRkNES2dVSVFpRlB4SEZOSUhVV0FRQUVOQkJjakZBdVFDeTRVUkNDa0VrUWhSd0lKd2kvWGpkbXgzejdSMzFkM2xyODNNWS9UaFpGNVhWZDA5M2JOVDNkdm5tYmlUOTZiUHZIZW1mdm1lOS8yOVpkdmlUUThZRThzbjMxYy85OUhOZk5jNjZRc1BMZjUvZUpYSE5BNW5jNkphakZRQ3BSVXo2U3dQVHozSzJmWlpBQW9LM0RZUEE0SEEvVUlRc29IQVBjU2RWdUZQL2swY0RvMjdNaUs3elk1dmMyaDgySnF6M0d5UWxmRHgvZ2lPUm9ZL2pnZnI2UEhseU5SdXMvMVc5K05XT3ZmaklyRlk1NzFYcXdpc1A0NHNXK1NDVWdxSElWS1N5OWN1c3JCL2hzTDFPSC8xSS83RC8vTU5ERDJzMDJVeFV1UUxtMUJjdlhhSjE5OTZuUys4OGtYaVdoMlRGNngyYmlCdFFxMVdKMUkxK3FMTHlRcy80dXJhYVRRYmRLeHZhcUNrbzE1TDZPYytFaW1Vcit6UGl3a1ZwR0lZRVhvQVpzdEk4cWhYOGNqVXdWclI4UTlHS2tMS2hOd1lIemtWQlFNN0F3Y1JCWVhOdU5nK3pRL2YreFp4bzhiOC9INWkxU1JiMjZDZGRWRjF4OXorYWFnVm5EdHppcmRQL1JCQmppcVBiOXpJc2F2ZjdjUkl3MjJMc3ZMaFZvc0NiUTBmbkh1UEY1NThpU1NwVTQrbWtVNXVpalE3YlBsN0szdVRXWW1SanUyaXdxTzNhL0I1NUJscHE5Ly82UExid1padUc1c3VUMVFsZUJKdGNuQXhrWXlRVnJGdjdnQ1gycGU4clJrR0hZUnM0RDduSjhmWlBCQUlCRDVObkVTNkNHbGpmTTd1aUUyLzhKRnVxU3hUVXpVdVg3dkkva083c2JMZ3pMbFQvTUVmL3g3TDNVVzA2K05zam8rSUZraGhnSnhXc2NJUFgvODd6bDQ4UVNkYklXMDRhbE9PWkZxVFRqbjZlcG56bHovZy8vdm1mMlJ4K1JJV1RhMVd3MklvcktYVjdWSm9oN1hlUmlzdkhDcVcxS2NicE5PcEQySFlBbHdNTGgyK2lMZDRwZVVyTHRlUHdmb1lTSnhLUkFTRjBlUkYzM2NCSysvTm9PdXRnTGlXRUVjSlBicThkKzVkVGw1OGg1WmI1Zkx5V1V6VVJkVUxjdG9zdDY3eTl2cy81TzMzWGlPamphUEFVZ0FGb0wyQXJkSVhidEdWNzNZUUVZQmx0YmZNaVpNZlVGaE5ZVE5Ram1MWUE1aGhIbnI1SFpmRmNqdk5yZEtRaFBBcEZNWVlsRklJNE5DQlE2VFViK3BvRVFqY1R3UWYyY0I5ekMxOFpHM3BJenN3MEs5eURJYXZiU09WdDhzdERORnY1U2M1T1dQVDhzbGg4TzFPNDJOK0h1eCttMmpNYmUvdngzejlva3d0MlBiOFIzdzliN3FmYmJiZmp0dmZuMi9US3dhL3YySGlyaFdHT0ZGY1hiN01vYVA3V09zc2MyWHhQTC96ZS8rR3RsMUJZVEIwUVBpaFlJbEZLb0Z4R2dHMGV4dDhkT29VaGU3Um1LN1JtRTZRMG5COStUTGZmZTN2K0l1Ly9qT3VicHhEMDBmZzI1TmFCMUpHekU3dElrM3FKSEVOaDhSWWczTVdYUlNZWXFUS3h5bUdycXczZTAzK3QrTkRyZHJaa2RGdkJTSkN4U2x4bkpJbUNVV2VJeXdVaGFHdzN0MmdWWFJZWFYzbHh2SU45dXlkWjNhdWdZdHpGbGZPYy9MME8vemdqYi9uMU5VUHNPUTROSzZ5K0tvT2ZhZGY2aVFDMG5xTXlTMFJDYTBiTFI0N2NweDYzQ0NXRWIwOFI4YVNnWTl3V1VUcC9YcDlhMXduN09BM09MSHJMVS94WS8vK2I1clA3WnMwK09ZbVZZT084dWZuQkVJNElobVQ1WDJFQkpVSStxWlBPcFZ5NXR3WjJyYUZSazhrWkFRQzl4OGh0U0FRQ0FUdUNJbXdzZThPaHNBNTcwVHJoWTNHQ1VkWGQybk94S3kzcjNGdCtUeS84ZHYvSEV0R1BVbHA1MnRZSUZKbHFZNEZiYkxTQTdZSEtKWjdWL2ptdC8rTXYvNzJOMHZKTEZGRUdCdzVYWXowT2JyT2diVUNTVXdzRWpaYVBTclhZSXRBeVJvV2pTTWZuSDFVVStpT0Y3VmJGUjNkak1uMTAxb05veVc2RU5qY2xZUFdGa1dFUUE4eUFBb01rSEZtN1RUbjF5N3h2ZmUvemE1b0YxcjNLZWhUcTBWczlGY3c5S21uQ2Uyc0tLMjk3dXdidWhYYStCU0lXcFN5WHF6eDlnZHY4K1V2SEtiVmJwSFc2eU0reGFKTWk1RlZyc0dXQW5hbjhRMkh4MUZLWVkxREdPOHQyNmcxbVorWlozSGw2azZjWWlEd2lSUEdGZ0tCUU9BTzhCMlVvbks0UGFKeVlYREM0cVRCeWh5VkdFUnFPSG4yUGY3VlYzOGRoY2FTVWJpV0h6SXZWWWVzREIwQWcwVUlpNlh3NjlLanp3WXl6VkZKVHA4MU1sYXhkREUyUXltb3B6VjhBMW1GTVFKRmt4b3p6Q1g3YWNvNXBFMFFOaUlTTlNJbFFJTHVtN0wweXcvZGkvTEZUVjZqNndnczA5TU5oSUNzcHpHRm95R2FMQ1M3bVdXT21Eb3hEV3JNRU9GYnZTWnBUTnlJY0NwSDB3RnkrbUtEZFpib3NFcGJyNUhUeFdGcFozM3ZGU3UyS293YWVkMEZwbXorMEN2YWdPUE44Ni9STlczYXhRWnBNNkhLRVJaanFRV3liSTRtN29uMGdnR0RMb1pWZ2Fkdkw1ekd2cEdHMVE0bElvU0dnM3NQSVZGQkFBUitJZ2dSMlVBZ0VMZ2p2S2dSVHBhUk94K0pSUmlzTEhBaVo3V3p3dExxRmY3b1QzNlBqQll6VTNVVUNSdnRWV2JubXJRMk90aUNRVWpCVnJaSjBoc2xTT0VMeWd6UXl2SXR6eUJ5RXAxcEpBbTdHSVBRQUFBZ0FFbEVRVlI3cHc1eC9PR25lZXJKNTNqbzJDTVlZN2x3OFN6dmZQQUdwMDYveTNMdkdzNElxcmE4RWdiaDFVcVVDYll1UW9MTk9abTlWZ1kySmlMaHlNSXhuanIrTEVmMkhNVVo2SFU2ZkhEcWZUclpPbWRXUGtLUWtXVUZTT3V6R1NKRE4ydFJGRjE4a2t1TzBkbEFuMFlSREJwcnVXMm1ud0JSSkxDNVFlREk2UEhHdTYveDdPUFAwN2Vkc24rRUt1K0Jid25yazVVK2lZWVlueVJibjR2V21ucTlTZDR0c05wUnE2ZXM5YnNjM1grWXhva2FYZHFmOG5rR0FwODhRY2dHQW9IQW5WSUtHL0FORHB4dzNxNUo1QmlWc2JLK3lOZi82Tit4bWkrU3hoSEw3UnM0Tk0yWmxQWDF6c0JPelZwUUNxenhBazVLUVc1Y1ZWZmtjek85czVLWExEN281czJ1akVRUjg5aUJKL21GTC83WFBQSFljOWhDMGV2bUNHTjQ5ckdYZU9iNDA3ei8wWS80MW5lL3lZbUxid01aU1NUSUNqUEljUjA0czA3bW9wYnBzWldJSGRPNE51TFEzQkZlZnY3elBQM29NK3llMmtkc0U0VDJlL3ZDQzEva25RL2Z4bjNyUDNOMi9ReHhVcU5uMTRmNXJrcGpuY1BZWWQ1dUZQazZybHd6bnA0N0psNXY3aU43VzNoZk1vengrY2w5K3V4aWl1KzgreTArOTduUHNiYXl3blF5aHhRU2FiMGJSV1hRNnZOUzd6V0dsbXNlaFRHR1JFWCtRY1JBb21KY0YzYlA3YUZCRThIU3pwMXVJUEFKRVlxOUF2Y3hINi9ZeTNtalJaeDEzaXAwRzFzcUljVGdOY3FvVCtUZ2hSMjhIOXZIeEhSeS9sWXpSbjFtQi92Y3p2TjBaSnRxdmNudG5ITmp4VkpibmYvb0RzZDhkQ2V1YWRUZnRUcFBZQ3hQY0t2bG0zeDZSL2JqVjVnc1g5bWFUY2V2OWxsNTQyNnovRmJiajdMVitZOGNhTnduRk1BSnJIWkVVWVNRRnFtZ3AxdkVOVWM3WCtQNjhpWCs1Vy8vS3QxaUZVdEJabnY0aUswdmZxcXVWMUJLa0twSXpJSTJEQXAzcXRNWm5GWVZPWFV3SFUrREZUdzAveGovK0IvK2R4dy84alNpSDFNVHM4U21Sa05OWVRKSHFoSVNFZkg0WTQ5eCtleEZPcjBXcVV6SmJVWlVSbWFWOGlKU2o3Z04xR3VnUzdPQVpqM3hKMWxldnlSRjBlUy8vZVgvbmhlZmZJV2tTRW55T2xHUkV1c1UyNGRFTmFqSERaNTQ4aW1Xcnk5emJlMktOM2hJREdoLzRkYU8zMnc3ZXAyYnhLc3ZUaE5WWVYzMTVkd0ZVZ0xXNzAxVGtKQ2lNODFuam4rR3ZGZVFSbldzdHBqY29GU0VVakhXK2h4b01TWWNod3greDZPLzFhMThwRWUyMldxNTJHYTVmK0dMdlFEdzltRGVicThzVEhPZ1pJVFZGcVJFU0lkUWlpUk51SFpqRVZkem5GczloMHdreHZndnZXcWlFUWpjVDRRVW1VQWdFTGdEZk8yUG8zQVpLTXZsR3hkSjZwS2NQdWN2ZmNqWGZ2KzNzV1JZaXJKZGdON0dOMWZpQjhmR0d3Nk1xNXl0My9lTG5EclRQUC9abHppdzZ6QTEwY1IwUWJjZGtVNFJXUVFkZ2VzbzVwdjdPTHh3ak9lZmZJV0VKbG9MVXBwWUYrT0lzY2EzaUsxRkNSR3FUQThBWVNXU21GNVBZRzJLb0VuRUxETnFMODhlZW9GOTA0ZElUWVBFMUlseWhjb2xOZEdreGpTbTVaaU81Nm1MR1o1Ky9LZUlxWlBJRlBvajF6RnBrTERwM2xUM3AzSlkyTnljNFk0UllIVFpDVXdvTklZMjZ5eHZMTkhxcitPa1E1c2NLU1Z4SFB0R0E2YkFpaklDZi9kbmNOZE1wbnZZS2srV0VkY1A2M05rblhZb0oyZ2tEZWFuNXdFR0loWW1STFRZN3JFeUVMaTNDRUkyRUFnRTdnUmhjVkpUYjhaY3VuNkJBNGYzNEdUR21mTW4rTVlmZlkwYjdZdmJpOWlCWHBBKzM3S01jYnJ5dGVYL21yY29jSkxFVENlN2VQYXA1NmtuRFpTTmtGb2hDNG5Ta3Vsa2lucmNoQUpFb1dpdDl0Zzl1NWY1ZUMrT0JHaWltQ0ZoQWNrc3hqWFJSWU5tZlIrU09XQ0cyZVlScHRLRHdCeUNPUVM3Z0ZuNkp1YW5uLzk1NW10N0VWbEVReldKWElMUWlwZ0VhV0pNWDlDTVo0bGRuYWVQUDhmK21ZTSs3YUJxS0RiSWVaVVRyOGkvQmxGWWYzKzgxdjJFUkN5VWJZWExMSU5VNGJBVUZDeXVYdVhxMGxWVURGcjczT1EwVHJEV1VsaURVQTZMdVVmeVpNczhrNG5tRlU3NFRtMEQ5ekFETGpjSUkyZ21VK3pldFp1WWVDQmtoUkJqMFZncGd6d0kzQitFSE5sQUlCQzRJeXdxZ1V1TDV6ajY4SDVXV2t0Y1d6N1B2L3ZHVjJpWlpZUnZUOEIya2RqeE5KR3RZbnZTSjR0TzVva09odHdqSkFseDBtQjJab0ZPdTRkS3BraVNoTWpGQ0N2cGREcEk1UkJTb1pRa0ttSmVmdUZ6N0Qyd0Z5TU5tZmF0YzFXc2VQZmtlL3psWDMrVEhsMjZIVytldFcvaE1ELzNoWjluNzhKZThrN08zTXdDamJoQnY1dlJVQTJtWkpQSVJkak1VcXZYY1pGREZ4cXNJTTl6bEV6SzY0aVlhYzZ4ZTI0dkZ6ZE9lMWthbFkzRnhycUpWZTl2RmczODVNU2pjOHJ2VHdnS1Y2Q0ZRVG5KYW1lRkQ4K2Q0dkhEVDVEM0xjSlYrUlpsV29seU9HTjhWZDZPWWN0Q3cvTFRJSi9KK1k1N1JvNUVXTDJuaGRFYW9TTmltVENWempCVm02TFYzL0NibFVKV0NER1dsaFFJM09zRUlSc0lCQUozZ0JVT3JYdE03VXBaNnk1eGZma1N2LzVidjRxalR6Mk4yTWphVElwWU1SS0pyZGpjbEdMaXM2dHluSWRUdndjQktFUWNRYXpRb2lDemZZUkxpQ09OY0JGS1NLUUNiU3k5ckVlcjJ5RXRJcUk0SmExSjZnSmtIQkVsRVhOWHA0a2pSVTk3NzlIQ2FQYnYzOC9Eanh6ajBMNGp0RmZieENMRkZnNmRHM0NDV3RKQUZWRFlIR3ZCQ1lNV2xvS2NBazJVeExTeUhpcU95SW91cy9PN0VCY2dVUkdGMGFVZzMwb01iaVhzelRidjd4U0pRS0JVaW5ZNVJaNlhleGIwNlBIUitRL0pmenBIcVJTbkhYbmVSd2lIVWhMck5NWVo0aDBWc2xzdzFnUFhZcTFBWUZGSXJJaDgyNFRDUWdRcWtzelB6WE4xOGNyWUxxU1VZK2tHZ2NDOVRoQ3lnVUFnY0VkWTRwckFTamgxOGdSZisvMnZFdUhvazVNNWNHVmgxMmFpVW9SU1JteTNaNnRHVmxWZkxZQWNnNUhRelhzMFoyZHhmVzk3SldWRW9pRFRQWnl4aU1pM2lUMHdmeEF0TW02c3JXQmNUaFE3dE03SlRNYVZ4Yk5JVllET3lFME9PQzVmT2NNNzc3N0d5dElpcG05SlpJMVVwQWlyYUVZenRIV05oY1p1ckRMMGl6NFlpeEdXUW1wVVRaYnpjNUtaaUxWK0Q2QnMrT0NIdXJjTk5rL2M1NjNmZnhKSXBJeDhvcXp3NGswcGIxdTFsQzF4WmZFeVIyWWZRa3BCMGMrSjB4U1VvSzhMVUw3RVNtMmQrTHlEV0VvL2k3SWcxWHZLUnNLblRtaHJFQnBJSEh2Mzd1VzlSUWJyZ24rSU1jWnNXeFFaQ054ckJDRWJDQVFDZDBpcnRjYTExVXY4d1I5L25SNGJURFZxS0JMV3U2dE16ZFpvdC9wK3haRklySThEUnNOSXJHU1RlcHQwcDVpTSs0a3lsOVpnYVdVOVRwdzl4WE9mZVI0VlNaelNPSm1URzB1dEdaRVZCU2hEdTl0Q0NjbDNYL3Q3L3Z6di9weU1EU0o2V0hvWURBWlh0aXYxclhJRnNMUjZoci80THhlcHgxT1l6SHJoUmxUMkYydnlUejcvVDNucDZWZFFjVVNSOTFDUjkra3FaSWFOQlU1Sm5IVVVhTlpiYTF5NGRCRWxGTG5SQXpzeFVXWUoyL0k2TjB2VjBielBpVVYzcGJWOHJxM1JwWHlXUU94RmJJUVhmU2RPbk9EZ1MwZElvcGllN3BFMlVvd3o1SG1mUnJQR0xaNURQa1hHODJNcnBKUTQ0eDBPdkcrd0t2T01IUXJGd3NMQ1lOMVJJUXVFcUd6Z3ZpRUkyVURnTnRndTVuSzNNWXV5aFh2Wi9uSjhmclgveWFyazZudytyWGpKNVBIRnhIbHVaNTUvTzJ5MS9jYzl0enZ2cmpSYUpDTkhXcEJTZG5LYVhOZjd4RHBuTUlDVEdUZldML043Zi9SVlZvdEZJaUZZNnk1aEthalgwNkdJclhEamJ6OU9qL3RLNUkzdnltS3hySGZYZU8rRDl6aDI4Q0VXbW50SjZnbVJpdWwzZXVROVgvU1QxQkowb1ZGeHpMVzE2N1JwQVJtYU5yNVczeHVaUlVKNit5dmppQ05GSEVrS1hkRExXc2dxeWtlQklzWUM3NXgrazRjZmU1U0YraXlGTThScERiVEJHa3VCbzVha0dDdG9GeTFXV3N1Y1hUcFQ1ZzVEbWtyeS9xM3V3WSt6bU1wYlZobVhsWTRKRWlVVXhoU0FKU0xpN0tYVDlGOThGZE9ZSWR2b2tzWXgybG42ZEdqRUNkWm9CdDIrbkJsTVRSbDNkbGI0Z2pBbmNSaWYwMXF1QnhicGhoTGVZWERDTHhlK0V3T21uRzY5dlhmTkFPdTlpM0crcTV5d1pmcUpROFFDVzBWaGhYL0ljT1ZMUk5DTUc0T2MySXBRNUJXNDN3aENObkJmTS9CN0ZXS1FPN2paaDlXL25LdW1qTS9ib3ZLNEVtT1ZScExiK0pDT2Jqbm1Nem80bHkzT2VYUWI2NGFxZEhnQlk4Y2Z1R1ZPN044TFFEczQzN0ZoNktvQXBES2FIeFdmazhjZlhzQ200NDl0V3k2dnZIZHR0WEJ5K2RnK1IvY3pmbE84VjZnZDMzNzBQakFoaXJmYWZuU2Q3YzYvV25saWV5OU1leUFzd3ZvV3M5TEdPS3ZLYW5hSnRvWWtpYkJDZzdKMHN6WkpYZEhwYm5CajVUTC80bmYrWnh3OUxKYkMrVEo4aDZYWDAyeUZHOGhYTjR6SWJxSFZ0bm9Xc0JPZnZMdUJvVy9ibkxsd2l1OThmNVpYZitwbk9iYnZFV3dQZEc2UVVqSTdONE9vQ2E2MXIvQlhmL1hudlB2Um0rVDBjR1JFMGxKWVg4Q1VpQVRyUUtGUVJONGpseGhYQ2wyTFJXT0Fncmd1S0hxR2QyKzhUZk9OT1g3dVo3N0k0ZjJIS1ZvWjYyc2RwSkhVYWpYNldZdW9ycmgrNVNMZmYrMXZNUlJvY2xDQ3JLZ0syZXpBd0dCclY5WmIzSmc3eGpJSXFUcDhXb1FHUVlSRWt0Rmp6YXp4N3RXM2VYNGhRaDRVWEc5ZklZNWphbnNVYTUzcjFGUWRJVXVuaFZKd1ZsT0p4Ym5LSlhneTVpd1J6dUlLaTNDYmwxY0M5MmJidzJqVTFQODZyUFJUNlVCTFNVNE9rU3ozVjFseitmOTNhSlVUeHhIejgvTXNMeStUSkFsRlVkRHBkSWpqbUtLNFo4TE5nY0JOQ1VJMjhBQno2MmpQbHRISVNnK0p1NDBJanV4ejVIaGovUUsybUQ4bzlybUxZMWZYZGF2Qnc2Mkd1TjNJKzhrN0tOM3RhNDI3elN5OG02aTB2NjVxT05ZZ3lvaHNaUzh2bmNRS1h3NWtUSUZLNGNxMVN5d2NtRVc3TG1jdm4rSlAvdlFiR0hvNGVoL3IyRzZiWWVCYmJ6ZUpKYTBKc242UEd4dVhlZk50aStuMldUMytISWQzSDZVeE5RVllycTlkNHVLTjg3ejc0WTk0NS9UYkxQVVdjV1RFOWRqM1o1QVNkSVIyQWtsS2d5Ynp6WGxBc3RiWklNSFNwa01jUmFTcG82YzcyQmpJTXJwMmpYZlB2WVpMZWp6MTZGTWMzWGVNdVQyelNCVE9XRmJYYm5EeXd4Tjg3NjF2YzNiOUl4d1pTVU9pVllUdEY5WHo1UEJaNW1QZmxidWtlb2d0ejBPVmlSOEFCb3RXT1pkV0x5SSs4am05UlZZUXh6R1JpTWo3QlNtMWdVamNpbHZsbVFwamJ6cUNjYXZ0NzZaNVFSWm5MRVhYNlhRNi9sd21Jck9Cd1AxQ0VMS0JRT0FCUlNKY1ZOby9sYTh5ejJFWXVkTFVwMnFjdjNTYUE0ZjNrTmtPcDgrZDR2Zi82R3VzNmV2OGVJZStiNEd3NUxvTkFxekxXTzVtdlA3dU9sZXZuZUhnd21GbXArZXcxckxlV3VQSzhpV3UzTGhFbTNVc2ZpamRtUnhUQ0x6cmE0MmpCNDd4MUdQUDh2RFJSNWxwelBoMnVNNnh0TExFRysrK3pzbHpKMWpyclBva2hLSnlIT2l3MGozTGF6OWFaUEhhaHp4MitCRjJ6KzFGV0VHLzMyZHg4UklYcmw1Z3NYc1pWeldIeUJqMk50ZzZjUDNwY1F2ZDFqWWQzanp4Qm0rZGVCT2ZtU3lKaUJFSURBWlZwbHRzdi92dEQxQkZuM2RLT2hvS3BuYlY2UGY3bTVZRjY2M0EvVVFRc29GQTRBRkZnRlBJTW8zQWU0ckNvS1d4c0toSWNIbnhQRWNmT3NoSyt6cUxTeGY1M1gvL1ZUYjBNZ3FIMlVraEMxU2owa3FBTXhrYmRvbjJ0VlZPWC91QXFuV0F4V0hRV0FyZndTb0M0MEFYam9pRWFiWEE4WWVPOC9LTG4rZVp4NTRqVVRXeVhvWVVFZFphOWl3Y1pOZnNBb2NQSGVWSEo5L2dvNnNmNGl3MHAxTDZ2UmJXOU9pNUhtZXVibkRoNmdmRXBENGlpNk1ndzZHUlF0Sm9ScGk4UUpjS1RzaWRFM0ZiSVpEKy9neW1VSS9xRkxyQVlCRmxyTFlnTDlmMzJiNE9XeGJmZmJ5cHdhTExxZHgwN0U5amF1aXVMZ0hCY2l0d2Z4T0ViQ0FRZURCeEV1bGluMDdnZkFtOUU3S01vdW1CVCt6MFhNcGE5enJYVmk3dzYxLzVaemdLNnJXRWpYNzdwaEczVDRVeWlkb0pNQUtrMDFnMG1nTHZrRkFWbGZsMnFrWU04NmVGQTBXZFY1NzlXVjU5K1ZYMkxPeEg1UW1yYTIxMHIyQnFhb1pPdjA5OXVzWkQreDlsWVdFUHM3T3pGSCt2dWJSOEh0MDNYdndJTDBpTDh0ZzVXZG1yVEF3eWdaMkRUcWNNZUplTnpGeStFemRzYThTRUw0UXJjNEo3dWt0VnVnV1U4bmFJd1JkWlZkZjZjYWFtZklkMG1MTGk4MU9kNHNvbklTOWt0ZGFEOXlIRklIQS9FWVJzSUJCNElKSGdVd3NHK0lpVVR5c3dPS21KWTRlUmxoTWZ2cy9YdnZFVkltbnAyeDY1elhENDZ2WWRvOUlhZHBqcmJFVHBNeXNGUWdta1ZHQXRXdWRZUjVsUzROZVZTUGJXRHZEY0V5L3kwUDRuV0Z0YXh4U1doZVorVk4zZmw3bkdiaS9tK2huU3hCemVjNFRIamp6TzFlVXJHRjBPU1l2eUxwVFpHVUxnblErY3cxb2ZlYldHUVZKMEhQazNSZkV4RXFvL1JVYmRKS29IRlljalNSS2NjYVhITGlpcGhpNEJnL1Z2ZitwR3UxeHN4NDl6aU44QkJtSVZiMnBORzZLemdmdUpJR1FEZ2NDRGlaTmxWRmFXNHRWSFlyMklMWEF5WjYyN3l2V1Z5L3pCZi9nYWJidkd6RXdkYVJOYW5WV21aNmRvcmJkMzlocE1HU0VVZ0ZCZXFEcUhzVDVNcWl2VlNqUVVSYzc0b1gwYS9QUUxYK0xRL0RINmE0YldVcDlkOVhuaXRFRy8wNmNvQ204bEpUVWlkWWhZY2V6Z3d4VFBaWnc5OHhHWE5zNkNhcUp0RC9EdUU3cktGeGdJSTRsekFwWFdNRnFEdGhUOUtpZTVjZzNZdVllQnpaSFlTVzhJUDgvQW9QTlhoWFozV2RWZnBWaDhlallOVys3ZFNUY1FybFUwOW02S3lBS0JUNXNnWkFPQndBT01IRGcvT0dHeHd1R0VieWhnVk1iUzJsVysvb2YvbHVYZVZlSllzcnB4QTRRbWJjYTBXanNzWXBINGlpazVTSTBZaSs1VmZxRFdEcXVLSENBanY1cExPSExvWVdMUlFCU0tQYlA3bUs3dm9yUGFvZC9KMkx0M0w1MXVpNmdla2JrT045YldxRFVpcHBzenpOU25rUnN4dVRIK0hHVGtkMjZkZHdJUVpXZzJxVUUveDJTNkxLcUw4VjRRRW9FcEplSzlLNXBVSkwzYmJHVXA1d0ExM2duMnB0d2lvQnE1WWFlMnJVeTJGTjZacEhJb21ad0t0NzA1MSsxTU5ReFNDc0FYZVZVaXR1cndGUWpjNndRaEc3aXZHZldNSGZXSjNjcEh0c0pYNUZicXhZM3RxNW9PdlVrbkQ3akY4U2RXRVVJTS8zNXRzLy9odlBFLzRwT3BhY050dHQ1KzlBL2wyUG16bWJIdHkxM1lXL3c1ZGhQbjcyNXkvRnR0UDloa1pMalVqbHgvZFY3ang5em0vS3Q1V3h6TGYvZVRKN0w1K3AxeldHUDhrTEZ3SUNYOWJJT2tEcTFzZ3hzM3J2QXZmK3QveFpUVjl2MmlBT0hiem1hOTR1Nzl3ejVSSm4zU3lrUlVZMEFwaEpRNHJTbXRDRkJLa1ppSXd3Y09rbmMxUWtiRUlxV3ozaVdLYXV5YW5hSzkwYU01UGNOcWF3bFpzelRyVTJUOVByR01PWHI0R0dldmZVU2Z2dS9wS2dYbzhwNklVdFE2QjdtR09QYXFxeGgrMTJKUU9yV3pURVpnQjVTbnBzMUltK0dCb2ZQbS8wNXZjb0NiTDNPYmR6ODZkZFh4dHBsdXQ5M3RUTGM2dFZIaEdrUnM0SDRoQ05sQUlQQkFZZ1ZJQmRwbXFGU3dlTzBTdS9mTmtMc3VaeStlNGsvKzlBOHgrRnhZUnlsaTRlWks0RlBGa2lRSlJ2dUhOcUVrU2lrS1k3MW9CYUkwUldmWklOT3p3amxISktIWDZ6Q2xHaWlwZlBQU0tNSVVCbWNjU1pMU2FyVklrb1M0RG5uV0JpRXd0aURMZWxnMFNnaUU4bEZ0VTZZWFlDeFJ2VVljeC9RMk9sNU1sN1ptU2lpRWNGaWIzZlBSV09EV0t2TXUvYlBLTk5YQjdqN3RhU0R3azBBUXNvRkE0QUhGWWpCTVRkVTVmK2tNK3cvdUpuTXRUcDg5d1RmK2o2K3hsbC9IVmlLV0VSRjdEeW1BdkJoNmdBb05WdnNpcEtSV1EwcEpwOXZ4UTljQ29saVM1OW83SERoTlhMUDBkWWY1NmIwSVU1RG5obm82ZzBTZ3JTVktJbHhtaUpJWTQvcG9XOUNzSi9ReVFiL29ZQ2lRWk9SRk1lZ3NWemJadzNTN3ZnMXRFcEhuSTJheG9zQ1VlamVPRlVWeGp3blo3WUxFbTRaZGh2TW44Mnh2RjRjdnp0dFpGV3Z2cWQ5eklIQW5CQ0ViQ0FRZVRJUWxTZ1NYRjg5eDVLRjlyTGFYdWJwMGpxOTk0eXVzNVV0STZUQjJKQklMRTdrTW4vb1piMG1hUUpMRUNDUEplam5PT2t3L3d5SklTejlYNXl3bTEyUGQyRHE5TmE3ZnVNeUJtY1BZU05EZTZCS3JtTGpXd09ZNW1SWkVqWWpDWm15MFY4aGNqNW1rUm0rancvTEdNb1ljNndvVTBFaFRJaEhSNzJkWTUzMVNwOUlwMnRrR1NYbThwQlpUbUlLc0ZGUHVsbjNsN2tGR2hXQXBZdVVkQ3RuQjFZOWtPbjI2VTN2UEI4UURnZHNoQ05sQUlQQkE0b1FqTjMyYXUxTFd1OHNzTGwzazEvNzFQd055R28yWVZyYzluazR3Tm94Y2laZWRWUUxDUVo2RHlRb2tFQkV6RzgzVHJFMlRSQ2xwbXRMdXRyamVXcVNnajZhZ1dVdkliSTdOTEsrOTlUME83VG5Hb1gxSEVhbWhiN3M0QVlVbzBFWWpJNEUyZldRTVNTeHBaV3VjUG5lQ2kxZlA0TERNTk9mcGREcmttY1ZnVWRTSThRS3Z5Q3dwRFd4cC9hLzdCcFVvaERBNEFYcDBUSDNIYnVBdGx0OHNSMzZRWjM0WHY0R2RUeE1PQk81N2dwQU5CQUlQS0JhVitMcW85MDUrd08vKys2OFNTMEhQOWhGR0RBcTdOb3V0YUZDbzVNcjk3QlJwR21OeVF6MXFjdVRBd3p6MzJFL3h4Q05Qc24vWEFaSW81ZHk1Yy9Uekh1Y1h6L0h1eWJmNWFQbEQrcjBjN3pVUTg4R2w5M25tNGtsMjc1bW5QcDFnOHdKdE0wUU1Ta21LSWtQV0hEUFQwN1N5akhNWFArUzlVKy9SdzZjc3REc1pncFE5amIwY1AzYWNKNDgvellFOSszRzVZV050blF1WExuRHV5bWxPWFR0SlRvOGlMNURLbDkzYnl2SHNmbUJDd041cE9zRW1MRUhNQmdKM1NSQ3lnVURnZ2FYVlh1UGE2aVgrOEkrL1RzZXRNVFBWUU5xVWplNEt6ZGs2blZadllndUpRQ0NKeWtpY1krZUVyQ1RMSlBOVCszanBzNi93L0pNdmNYVDN3NlN1UWQ0cVdPOFdQSEg0RlF3RkR4OTlsbU5IbnVMYmIvNGRiNXo2SVlZZWFWVEg2SUxYMy80dVdtc2VQZklFQzlQN2tDcENKcEYzMUVnY2hjMHB1Z1duTHB6a3pROSt3SVhMNTNCWTRxaUJORE44NFhQL0ZhKys4Tk0wa2liZGxSNnVaWmxLR3V6ZTh6Q1BIbmlXeTh1WDJYL3FUZDQ4OFVPdUY5Y3dKa01vaTRnc0xyOUxMOVpQZ2xFaHVZMWJ5YVJ3clZxOStsWHY3UHNYZUh1dG5STHoxUy8zZm5tV0NBUzJJd2paUU9BTzJjNUxVdDdoWDRiSjdXNW4xRlU2U3Q5T0JwWGh0MFBsblNydFpuL0tqOFBvK3M2VjV1Nmo4OHJwZG1jbUppSmRjZ3RybysydnlwWTdzSGlQMHVxY2hsc0lONUlWT21oNjRIdzNKcGx4WS8weVgvL0RyN0xVdjBJYUtaWmIxM0VVMUpzMU9oc1RJbmJrdk93VzcrNmFqekhNN1hNelkvYk9Qc1FMejN5ZVYxLzhHUTR1SEtMWU1MUldNMnFpeHU3WjNXVHRnclYyaTdpaGVPcXhuNkk1TzR1UUtXK2NlSTFNZDJtSUdxZXZuK2J5OWF0ODhmTS96M1BQdk1qY3pBSm9RYitmVTYvWFdWNjd3ZExWNi96ZzlXL3p3ZVYzc1JRSUV0QTF2dndQZm9WSGp6ekpkTFFYMnpOTVJTbFRDMDJramVoMHV1aWU0YUVEVHpNL2Y1QmFjNDd2di9QM1hPNmN3K1FkbkNpMnYrNVB1OFQrRHZkL3B5SjJsTklvN1ZPdjk3b1BNNVFEZ1MwSlFqWndYeU1kQ09kdzFvTHhQZVdGa3dqcnZNaXlwYnFhOUpNdDFaSmdPR3QwV2dtMFVhRTE2V1BxQUNmZDVzNDhvOXRNZE1pcHFydUgrOXo4b2RyLzJMb2o3d2YrbThKaXJXWW9wdVR3bXNyM1krYzZNR0h5NGs4NFgyRmUvU0VWVy9xNGpsK2NHUjdBaTA0ejRsbTdoYzlzNVJrcjNlYjc1ODl5aTJOTkhIUG82VHUrM0FxTEV4bFdhcVNOdkpoMWtiOVhaZXRaWi8xK3A2WnJaRm1YYnRabVpyYko5ZXZYV2V0ZjQ5ZSs4ajlTNER0VGRiVWQzSnRlcDcrTmdMSU03Nmpscm9XczJPTDk2THhJUW1FUktpcDlZQ1d4aXJER0VwUHkrYy84TEU4OS9DSjc2NGNvMXFEb1dtYnEwMFF5cHBkMU1jWXdOZFZBSklMVnBYVjJOUmI0aFovNVJZcXU0ZTBMYjFDNEhJMm16UWIvNy9mK0k5OSs3Mi9ZdFREUC9QdzhVMU5UWEZ0Y1luMTFqWlVicTJnMERScGs1RWdrUC9mc0wvSEs0eitQTW5WY0owZlpISW1nMyswaFhJUVVDUUtCeXh2b2ZwK25IbjJKM1h0MjhmWC85Szh4cFFUTUhXdzdTci9WL1pqa2JnWHVOaEhZemF0dDNmSHJiZzl0eXRlZE5qUzQyMm1JeGdaK0VnaENOaEM0QzRRYkQ0VGV2TjNrVGZiRCtCK1ZqeC9WbFZ1L2Q5SkhJcDBFekhCYXJlT0c1eXkyRXBLM2NINFh6ZzJPdHBWUUhUZTluMVFOL3J4aythZlZPVE0yM2Z5bjEyd3hMYS9SbTB3aG5jQWh3RWtFa09VWnUzZlBzYlI4alV5MzJiTjNodXZMbDlqb3JQQmJ2L2UvWStqaG1Fd2ZtRGpOVFh3Q0FuYjBHSk5DYlhTZUdibW5UcUpFTkhoNDJOVlk0RE1QUDgyK3FRTW9uWkJuT1JRQ2k4Qkd2dDJvRUFLcEJIbWVNek0xUzE5M2FjWXpQUC9VaTd4MzRWMTBLVXA5T1ZiR2pkWWlLNzNybkxuaTI1UmFJeEZPb29oUkpHVkJWOHhETTQveS9HZGVKaWxTaEZPRHluMkJRZURWcVFWaWxlQnNoSEkxR3RFTXMvVmRQTHp3TUJlVzMvWWk5bGIzWVhUNjQrSU85djlKUkdKSEQyMTJhQm9JL0NRUWhHd2djTC9pcXA3MXNFbThibHBQVEV4SEZwY0NZanhpeTZiM2sxZ0hVamlHM1RzM2J6OHFaQ2VYeTNMWTM1Ym43MG9CVkUzSHIydUw1UzRHSjhxb3ZNUlpVVVpraHpIVGVyUEc2c1lLcUlMcHFaU04vZ3FkWXBWLzhkWC9CVTJYSFhjZFFFNE9FcFFMN0dBTmtFanJCWG9xSTdRcEFNR2gvUWM0ZlBnb2lXbWlDNHV6QWlWam5BV3IvV2NoSk01WXNtNUdjN3JKZWk4SEtYamk4U2ZaKzlkN3VaNWxTQlFPUzU4T0ZvblJta3BaS2lSTk5ZVnY4dVRqNXdrcGgvY2Q1dEQrUTVoV2pwZk9HWUlDUWU0ZkpCQW9wNEFFbldjSTUwalRsSWFZNHJsblhtRHhiMCtSVS9nSE9EKzB3ZGgzY1p2cEpTR2lHQWdFZ3BBTkJPNTc1R2J4T3NiV1pwS3UrdGNnckR3eEZiZVlqcTUvQjFsNlZ2aG9ybkNiUmV0dFQyM052M1dpZkZFcUl3c1lqTkgwOHphenUycjBpald1TFYza2Yvdk5YOFBRUlZDVTNhVjJobkVQVWxFbUxRZ3YxRWUrVHlVVjFocHZyeVVVQnA5YmV1VFFVYkNPSXROSTU2T2ZrWlNZd21Kem40dWlJb1cySUVWQ25odTBCaFZMR3JVR0x6Ny9FdGVXOW1CVVJoUkxqRFNzcmk5eDlkcFZ1djAyc2hTdXh4OStuSm42SE9RQ2x5dnFxc2xuSHZzTUVRNUhnY1FneWc1b2tyS0xsL05MdGNuUlJpS0VLYnVIS1I0NTlnaUNCRW1FeEZaQjUwMi80ZXJYS3NmbURTUDBEb3U5WlpQbFFDRHdrMDRRc29IQS9jek5CS3l3NDNrUFc0M1ZWc2JvUXZxRTB0RXAxaWZSTXZwWmpxM3ZxdVdsc0JpZGptMi94WExoeXFwdk1YNVcyd21UVGN1ZFJEaUZqMWhLMzZZVndCVmwwcThsTjExbVp1dXNkVzZ3MHJyS1AvL04vd2xIeHV6MEZDdXRkWFkrSWp1VWExV0t4YVF2cVhLaWpNdUNzMzdvUGhFSmM5TlRGTGxCYWsyaUVxUlVZQlRXNXQ1WFFTVklJVkVVVERlbjZmZjcxSklhVVUyUlpSbWZmL256eFBWWHlFMlhScU5HMUZCOGVQb2szL3lyYi9MQm1mY3dXRjU2NmlYK3dSZS94TUc5UjFBdUplOW9UTTh4bFU3VFdsbW5vYVpRRkFnMHpwbFNqZ3R3RnVFc3dobWs4TkZrNmNBVW1xbnBHUlFKWmMwK285L0JxRHZBVU9Jek1xKzZFd0o3ajNqNUJnS0JuU1VJMlVEZ2ZrWnNsNjlaVmVxUGpWZVgwK0U4Syt4SVB1NVdVbkw3ZUpjUHptNjE3cWhRTnRzdWQ0SkJXb0ozVFhBVFV5YW00OHU5bUs0SzM4RG5BSmZIRkJvbk0yYW02dHhZdmNSeSt6Sy84WnUrMlVHYVNGWmFpejV3dU5FaWlUTUFBQ0FBU1VSQlZNUGhQSWZ6QlZHRDc3Qkt0UEFQQWdLQmNicjg1aXpHRmpnc1NnbDZSWTg0VVNnU3BKUFl3cUsxd1ZsSVZFd2NKL1I2UFVRRWNSeFI5QXVpUmtRVUtUYldOMGpxZ2w2blE3dTNUcThYVTg4U09xMDJPdk41c3dKQm1pUm9iVmxkV1VHNmxLeGRFTm1JWm4yS29zZ1IwbzRWSmNwQmlvZFBHbEVDcEpJNG9YMEtndkQ1dW9vRVJZcWxPNUxEUGN3OUhUNyt5TEgwV1V1Vmt4M2lzSUZBd0JPRWJDQnd2eUlzT0QwaEZrZXRwdXhFNFZZVitod2R1cllESzY2dGlyVW1YUXRHa2M3L3kwMnNPN2FOR01tUjNjS1Z3Wlc1b0xhY1B6YXQ1bSt6SEJjaGhVWTRpWFVTaDBFNlc0b2hqWlVaVjY0dm9XbnpHNy81cTJpNjdKcWY0dnJLVlp5QWVqMmkxeDFwUC9zcDQwYnlnOGZuVjVuRERpbDhkRk1LaFhPT0hOL0JxNkRIMVd1WDRUbUhsQklNR0ZQZ3JDUlNNVUlJaXFKQWE0MlNpbjYvaTVTU29paHdTcU4xenZlLzlWMU9ubjJIVExjUTBpRWlTYWUzd1hKdkdZQ1ltTysrOVIxT2YzUVduUmthNlRSV1N4Wm1kdlBsWC9neXUyZjJRU1lSMXNkUkhhSzBYM05RRm9BNTZSREtZazJCUTZBaXgxcTdEWUNwMGpxcVVZSFJlMUQraE1iOU9NYm51YkZQZ1VEZ1FTVUkyVURndnNXQ3pCalVJQStpczNZWWlaMTBJS2h5V3FzVUFiOEF5dUhnc1NsdU5KRjI4OVFOa3dXMjNWN0liZmZ2R0ZxWHVmTDh4cWJWL0cyWEM3QWorY0hPbFBMUG14bzVxZWxrTi9nM3YvMnYwSFFSV0s2dlhNTUppQkxvOVhkT3hGYTR5WWk2RzQ4MytxaTFKWW9paEZEb1hHT0F6Rm9XbDYvU3l6dGdhbVdlc1NDS0ZGR2tNSVdoMStzUnh6RnhLbWwzYytxekNXdWREdFpJVkNMNG16Zi9ob3oxZ2ROQVFWSGVPNHRFb3NteFdEYjZhL1IxUnFaeitxN2dXdjg2ank4K1RyTTVReVRxS0JLZnErb01rc3JDVEdJRk9PRndhQXJkUVZpRlVvNTJkd09ES2ZOYnF3ZXZpUnN6K1BuNTVWVWU3WGJHQm9GQTRNRWxDTm5BQTRNcnZXU2RjNE8vZ05XUTdYWlllL3NSbjJxL2JsSThzdTNITGFPZnpybkJldUltRVUxa1RscUh2L25idjJUZnZuMnNiNnlTcGpGSkV0TnFyNU9tOGRqMjVVYmx6dnpVNkp5Yk9VMGE0N1pkTHJFakRRZTJuam9uYnJJY25MN3pZaXZod0ZtTmRGdDhSOEpoaGVWM2Z2Y3JXSEljR2tQbWhaRUFyU256YU5rNU5UUk05L1NhUC9ZRmE2NHdnM05LYWlsWnBzbDBEZ0pFNUZ2cUd1RHM1Yk1zYjF4blZ4SXgzWmhGeFJFbUsrZ1dHdWtrY1YxaFRJRVdRT0pZV2w5aWVxNk9WWWEzMzNxRG5CNmFBa2NHWmVFVUF5RTZwR2M3RkRpMFd5T21oa2J6eHNuWGVmTEp6N0srMW1HaFBrT3pubElVR2IxdUcyY01VUktoNGdnaEhUM2R4YmlNekVEWHRQbnc3QWYwYVFHbEIvSjJsZ1NqbVRBVGVkU0REMEhKQmdJUFBFSElCZ0wzTFk0clY4L3pKLy9YNzdQUlhrT1RBNFpFUnVTMlR5d1VoY3ZMZFVkcndFY0xhaXFoZW1kVU9tejc1VGZ2U1Q4NmRQeHhEZDBwVXdpZ3lpRWRkelZ3V0NJa2hnSkx2cU1PQmR1UnppUmtuZHcvQUdrSG1LSEFGcEorcnpmOGpIOFFNdVZsR0tINXozL3haL3pEWC9nVkRoN1p6K0xsNi9RMitodytlSlJHMnVENnRTV201NXFzYnF4aXlabmJPNFdoejdzZnZNVWI3M3dQVFI5RGhpR25TbWpZRkNGMVlLSUlrMnRNbWVPcW5lUEs2aVhlZU85MXZ2VDBQeUp2V2RhWGIyQ3RaYnBlb3o3VnBEQUY3WDRIbVFveTA2VXhseEJOQ2M1OGVKbTMzMytUZ2h5RkFvcWhHSlg0VkJRN2ZOQkVzVm1zbGc4QXd2bTZ2aUJtQTRFSG15QmtBNEg3RnN2UlkvdnA5ZGZRZEFDTnhLRnREeWdvbkVVT0JNbW95S3RDZ1dDNTgxNzNWVER6WmpyaTFoSjVhQVgyY1Y4K0xsa2cwZVZuV1ZhOUQvZHBTck4veWlIekxRNjlvMlJ0SDJrbHdrOTErWEo0VWVlOHoyeFNpM0hPVUJqdEx5T0JtSVFUVjk1bDc1djdTT3FTK2RuZFJIR2QxZFoxVnRhZ0tBeTIyeWNYR2ZXcEdCUGxuRHI5UHQ5NTQyKzVzbjZCUnFwWXpmS2J0NG9Wb0VXQkUvNysyVmhoOG9MVjdnMisvODczZVhUZjh5d2srMm5PTjdEV2ttY0ZXYitOa0FaWGMzVDZheVROaUVMbG5QendCTi81d2JmWWNHdUFKVTFyNUpuMXV0VTVuSFdsa0JaREgxMDNQSStKcXErUDA1RTVFQWo4QkJPRWJDQndIN08ydmt4UHJ3T08yYWttcmZZYXRvek1nc1c2MFpobk5hMlVreTI3TU4zRW1lQ215MGFqbzNmS2lLZnR4NTc2YTZ6aXJLSWNHaCtXc1Vrc1psQThOYmdTZDljbi9ja1I0YytuaWl3NmZONnZVTlRpR2xwYlgrVFZOd3hEa1JZeTZMdWNoSWkvZStlL3NONWI1a3RmL0VXT0huaUliaXNqRWdrSDloNWdaV1dGcVNpaDNWdmpnN2ZlNDN0di9EMW5GMDloTU1SR2VCRTdFdkVkWTJBVmJBWUZXVlpva0w2SThPcnlSZjcwTC81UG5qditNczgrL1F3elU3UGtMaVBQZWlSUlJLMnUyTDB3eTBwN2lUTVhUdkh0Ny84TloyNmN4cUNacWpkWTc3VlJKTVF1UWdBR2pTdEw0S3d6L2h2VGVuRFp6cS9FeUJjY0NBUUNRY2dHQXZjdHdsS3ZwWUJENGNpTDNrREUxbW9SZWQ0ZjJGdjVFRlk1SFNpQktnSzJ2U0pRU20yN0RMaGxTOTZidVI1NDdrNVJWb0ZtVVk1R3k0RXVsNE0waEUzY1E1RTg2Y0JXd1dJSGFkUkFDa1ZoTERwemdDb2ZPeUlxTDRkSVJTZ2x2SHREWG1EcDhkWkhQK0RxalVzY1AvWUVSdzQ4ek96c1BKZVd6dExyOVZocnJYTDJ3aWsrUEhlUzFld0dqZ3lMUlcvbGpNWVc4MFp5T293dUJvV0MybVdjWG4ySC9HU0xkWDJGWTBjZVl2L0NYaG96ZFFxWDBlNTFhTjFZNGExM2ZzaEg1ejlpdmJ1TW9jQmc2UllaRU5HZ2lTQkNVNkRLRmdzT1J5b2pySVN1M3NBNGl6TmVUTXZJUjJ1TmMxaTd6WGtIQW9FSGlpQmtBNEg3SG90QjA4djZnRVVJaDdYYXQ1Q2QxSW1qNWZEQzNiS1l6WmliNTVYZXZTYTg4N0RhUUplUHpMaFpoSGlzcm12Y3cybG5jR0F6bjBGUVQrcllRbUFMaDBYUVlKbzByaUdzb0RrOWk0b0VyWGFiOWY0cVZsdTB0bGcwYVNMSlRSOXJDaGJYTDNMdDdVV2E3NzVKTFc1U0ZBVktLZFlMbnlQcjgyRXo0bFNncFBmbjFmMWIzSU15Q2lvb0N4V2RHejY5aUJ6dERCZlczK2ZpR3lkSjM2aXpNTE9ibWVZTXB0RDB1eHUwdWh0MGFXRXhXRFFDU1JJbmFLcEhqWmpEeVJHT1AvNG91L2N1b0dMRmFudUZzeGZPY3VIS2VRVFFwK3VqdGM1aUM0ZVNNVW82dE5DRHBKSkFJUERnRW9Sc0lIQWZVeFFGVlFGWFBhMVI2QTVSTERDMkI4QW1uVHBRZnhhY0xTT3VOM050dUR1aHNNazBZUk4zRTVHVk9ESGNYcmpLeHhTb21pZE1SSnlGcUt5ODd1S3dueEFDU0ZWTUpHTjAzK0NRUk1Uc256bk1DOCsreEtPUFBNR2VoVDFFU1VxZTU5eFl1Y0hpOVVVdVhiM0UyYk9udWJKK2xsN2V3a3JmMFN4TkVvUlZ0UFVhbmF5TFFtS3N4YUZ4NU1nSXRJSGN1SEVoWDBhd3Qvb2RTRkZHakFHRUt0V3NMTC9ZZ3Zxc1FJZ0NsMm02dlM3WnhocUxHMUhaZ2NzbmRkU2lHQmxGYlBRekhJNnNzTlRyVTh3M2R2TS9mT21mTWhmTkVjY0tiUXRJNFBGalQvRFNaMSttVzNUNXdadmZaZkhHRmM1Zk9VZmJ0TDJndFJaaGZUNkV1R255U3lBUWVCQUlRamJ3Z0hQbkVjSFJDTjlBUUkxK1ptUzQreWJiM2cxQ0tCUVJCbzNXR20wMDJ2aTh4MXBOa1dVakVkV3FnR2o0NFpZUjE3dmwxcDJ6N2pMUlVaVC9jcFNEMHVWczV6YnRlU0I3S3B2YkhVZmlhN2NNZ3BqZDlYMjgrTm1YZWU2WkY5azN2OStIVEozQzlpMnBVenkwNTFFKzg5RFR0RHB0M25yckxYNzR6bmY1Y09rdEN0bzRBWjI4anlCSG92QVpwMTdrUytuZFhZM0p2RjZ0L3E4LytPcDl2dlRXeWFkRG40ZzRqdEc2YkNzc0JSam9kWXJoajFtQ2NRWWh2WDJjdFJhcG9LVjd2b0FOU1V5S0FJNGZlSUovOG91L1FtMnR4bHcwQndxeUlzTmFTNlFqc0JFaUsvaWxWLzhiVHA3K2dNUTJPWFg1QkYzYUdBcmZKZXplK0JJRGdjQU9FNFJzNFA3R09XL1g0MHVmOGVPMTVmQ25jNXYvMUcxWjJ6VHV6enFhMTdrcG9qaTVyWFVqNWZ1VmVoMGEvWS9XMFl6dTMzZTFna28wakxiNUhEMnVyY0pob3lKNTVGeTBkZ2dVSURGbTNJc295M3k3MGlHalF1WGVzNkw2K05odG53YmM1SHFVaFd1VFZXTTdpa1NRQWhGMU1jUFBmZUdYZWVIcGw0bEpTRVdUUE11SXBSb1c2dmNkdW05SlhKTlhudmdpenozekNyL3pmLzhtNzU5L2t6ajJMUTEwMFNlZHFWUG9qS0xmQTZFd0FsOUFwaFE0TS96cUhRZ1JJV1NFTmQ3VFZhVUpwaWdBZzRqalllcUprQlM2OEQ5YUtZbUU4a0s1K29FTlRBWWNoUjF4WWdCcU14SDlEVTJFQWhTLy9PS1hlZTc0Qzh6bXM4UXF4aG1Mc3lDSkVFNWllZzdoRXFhcDA3dWE4ZmllNTlqM004ZEl2L1Budkg3cE96NnpXMlpvYSs2TnJ6RVFDT3dvOTBydGJpQnczekphOENUZGVBUldUTXdmWGI1VnBQWjJxYllWbXp5SXRqT1lqOWowbi90UFJFREwzc2JyM3NXV2VhSXZ2L0F6SEgva2FZU3RVWXZta0NaRkZESEtKaWpqWDVGSlVDWWR2R0pkNDVlLzlJODR2UEFJdWhEb3d2OG91dTBXUlpaN0QxYU1GNi9PZ1NrN29WVVdYd1kvVE84Y1FqaUVna2dDcWhUK3V2RGIrZy9sZTQzQytWMVh0aFdUL1lRbjZIZXFqTmlFeCthZjRKRzlqN00zUGNBMHUxQTJLdi83OFIzYWhGTUk2Njg3TWlsMU1VMWlHdFJkZzBjUFA4YkI1bUhBWXF4QmhqQk1JQkFnUkdRRGdVQmdoL0MrVXJ0cXUvbjh5Ni95ME9GSFdMcTBpa29pcEJNb21XNVIwUWFWNkFQSjhhTVA4OXdUejdEeW5jcytDRnBMYVBmWEVRcGlGWkZiUCtZdnlseGk2UVFJZ1hDK2piRnpsbGprYU9zd0JteldIMHVMVVRCd3ZwRFZxSUVwY0tZZ1JpQkZEUkJsaDdjcUVjRjNCN05PWTV3Rks0aEltSlB6dlBMTTV6aTYreGl4clZIME5LS3NSaFJPSWdjakZyTE1kNVlvS2Yxb2haTTgrdENqckJUWHVQRDZhUVNDU1BxVW1rQWc4R0FUSXJLQlFDQ3dJMGdTRXA1NzhqbjJ6TzNCRlFKbkpMMU9EaTRtVVNuQ1JlQWljQkkzMHBYTm0wNUlpbmJCWjQ4L3plRmRSM3dEaUw0bUpxSm1VMnpmb294QUdSOWtWYlljRWJBTzVSektRb1FrdGlrSzZXUDJGbElITlNlWVNSTWk0OS9IemtjOUVpUUprb2lJbUFoaEZWaUZ4TDhFQ3VrVXdpcWtpWWx0alpnYU1TbE5OY094L1kvUVZGUFFWOWdNbEszV0Z3UHhLc3JNSU9rQVk4RTZiS0dabTluRlEwY2U4aWtJQ0d4aGZ6SUdGUUtCd0YwUklyS0JRQ0N3QS9pNnE1U1hmK3J6NUQzSFJxZkQzTlFDN2JVT1JHb3dWQytvOHFuZDBEZ1gvRkI4RVhOc3o2TThkdkE0TjFhdkRrcTJHckpPeTdSUXhJdzJFcFpsRXdsUnJ1bW9rYmc2eXBjTEFsRGcyeHJySGlocVJFU2srSUt4bUJoTmdRTmlZb295V2x5MUloNUdaQzF1cEh0QlNvUGRqVDFNUlRORUprWFlpQ2hxb0cwUEszMVptcXNxeHB4QU9vbHcwaGVNUlFJczZOeXdhM1lYdStKNU5veWpiVnMvcnE4bUVBamNSd1FoR3dnRUFqdUNSS0U0dVA4dzNiVWNiUzF6Yzd2SU5qVENLdkpjRTBkVnh3ZkFPVzlrUUdtODRCUW1TNGxsbldjZWZZVmR6VDBVcmt1bU82aEVrZFJpOGt3UGppVWNJQ3h5MkFPWHZDOVJLaWxUWFEydDlnWWZuZm1RbGNLM2taMk5kdkg0NDQ4ejFXaVE5UXRxY1lvMW9QT2NScU9CRldhWWNnQkk2LzJKamRSWVlSRkM0SnhBbVpnOXpiM1VrZ1lVQXFzZFVra0VYclJXc3JycXkxYWxOeWdFT0VlUzFPajFPdFJtNnV5YW02Tzczb0k4dFBnS0JBSkJ5QVlDZ2NDT0lJQjYxS0RJTk0zNkZFVVBpbjVCTEd2Z0ZHT2VGMjZMU2lvWFlmT1VidVk0ZXZBbGpoeCtCcFVhQ3R0bG85TmlabWFLUE5kK0g4NjN0cFhPSWZBT0JRaExVa3N4eG5oaHJBUlhyMTRseXh3YjU5NUQ0SGppOFdkNDlkVlgyVE8vaDFhclF5MU9mT2V4TEtOV1Mrbm1HMzZmVG5oQjZ5Uk9XS3cwZmlyd1FyVnZhVVp6bUo3eDNyWU9NbDBnNDV2ZElZdVVpcUxJcURWcXRMcXIxSVFramhMNmVmNkpmeCtCUU9EK0pBalpRQ0FRMkNIcTlUb2JxMnNjUGJTYlZxL0h5c3FhRjdKQUhLWGVMVUNNUnh5dEdMWVdudGsxeGZyR0dqS0c5YzRxUWhmVXBtSnkwNkxWcmNTZUhLUWtDRFN5ak9sYVllbTFPL1R6RENFY2FiMUdPMTlqdmJkTVFRK3dYRis1Uks5WUo3ZFRkTEkxdEVtSXBLTGZ6K2tiaFN2VEVaU1ZZL21xVHZpSWJGYmtKRkVLVnRLTVlYMXBqWVZHUXBTbVJFSmlMQU9SN1UvUWdoTTQ0Zk5mTFlJc3o1aUptbGhyTVJZS285SG80Q01iQ0FTQUlHUUQ5em5PdWJFWHVJbDV0dndqT2ZTV0hmV2RzaCtqWWJ0ejNvZlViZVB5NzQrMzlmTFIrV1BMeGVnNkl6NnoyeDEvNUR5c3NLRmM4ejRueTNwSUNXdHJLMWlqbUp2WlJYK2pRR3RObWtUbzNMY0pkc0xnSWdkUzRLeWhNQnJqY25yOXkrdzZXT2N2L3ZJLzhmcVB2b2RLRFAyaWhSWEc1OVc2WVg2c3FEcWVWUkZaSkVwTW9hMUFXMDF1TkZybkZEWXZXOG9hemw5djgyLy80RDFpVlNPU0NxWGlNdkxxSFJlTXhlL0hEZ3UxQUp5d09PRncwbEd2TjFsYlhlZWh2WS93ajcvOEs2Z2FMSzh0c1c5dUh6YnpiWkpkS2F5cnhoWldLaUlSa1djWlNUMWhiV09OdEo2d2VQM2l3RDlXU2pYU2Rpd1FDRHlvQkNFYkNBUUNPNEREc3ByZjRNT3pKL2o1TC80U1dVZXd2cnJLVEdNT0Nzdkt5akxUMDAzaU5BSUZ1Y25wNTEyTWdIcTlTVHJkWUwzZjV2TEtSNXk5K2o2TDNiT29yaUhIb0twYXNaRUdJS05OT29hdDVkYXhLR3paSmNFdzNtU2dad3V3SUhVTEtSVEtPOGlXdlQ4RWpnaFF5TExjUzR3MDNYQllOSVphVWFkUHptTHJDcGRYTGpKMVpJWjRWdEF5NjhRb1pCU2hsQ0tPSWl5V1BNOHA4ajU5NDVocVRMUFJYcVUybTFLYmpyaHhlWW5MUzFjd1dLSkk0VUtHUVNEd3dCT0ViQ0FRQ093SUZrUEJXKy85a0JkZmVvV1p4anczRnRlWm1ab2hrakcxUm93aHgyZ0RKc2NJaTRwOHhMTFhiN09SRlRUMnpITG0xUHRjdUxwQlFZT2NERXRCWVZ3cFNYM1h0Nkd2Z0U4dkdPOGRiQWZOZlFmakUxVjZicm1hY1NDY0tkTVN2R0IxNVJYZ1RiY0cvMVJkRW16cFg1QTVoOFp3dlhlVmQ4Kzh3OXpjSExzYXUrbTNPcWg0R3FNemV2MkN3aFlnSFZFVWtkUlNFcVhvOWRyMFRaODBTbGplV09hRGo5Nm5UdytETGp2YWhVS3ZRT0JCSndqWlFDQVEyQUVzamtSSXpsdzd4Zi9QM3BzMXlYRmxlWDYvdTdoN1JPUUtKSURFUnBBRXVGVnpaNEhWWkhFcDd0WFY2OHpJVEY5RUQzcVJIa1l5bWVsRjBoZlFKOUNMWkdNelk1TGExTlBUVTkzVlhWV3NLcks0Z3lEQkJRQ3hKSkJiUlBoeTd6MTZ1TzRSa1pFSkVDUkFBaUQ4Und0NklNTERsK3VlRVg4L2ZzNy8vT2F0WC9IVDR6OWpmaytQWWJXSkpTWHBHTHd2MFhYZGx5WlcrbHV0NGgxMThWeGF2Y3lKVHo1bHRkZ2t5a3hOd0dDTVJvS3ZpOGJxRnNhMXlJd0NNTTdaYkVsQTFRSzJGb2VLY2Q5a0ZaMEZHbXNzQ1FGUVVhWnFCMG9JUHE1am5MZGE1L0ZxOExyQzF5a0FIM3p5RHZ2Mzd1UFJCN3JNTE13eHVMUkJhanFZR1l2UmNic0F2SGZrNVJCdFlHNXBobzFpbGQrOTgxcytPZnN4QVUrU1djcHF1RVZzdDdTMDNKbTBRcmFscGFYbHBoQVl5RHFHaEYrOStaL1p0MitaSDkzN0JQM0xPWGhQNVVFSFQ2STFTbm5LcXNCWEhwc2EwcVJEbW1oKzg4dC80cDBQM3NReHhDaFBLU1ZDaFpORzRWbGkxTEtaamd2RkFocE5NdG9Xb0k3VWhtM2lNRXpFYzJPd1ZnTWVxT3IzL1JiZjJDalRZeVFYNzFFS3ZIZ3U1NWQ0OThRZm1aOWQ0TjdsbzNSbkZ6Q2lxWHpGWURoQThGaXJzY29TZENEcmRGRkdPUEh4Q1g3Lzdwdms1Q2dGUlRWa3RBa3RMUzEzTksyUWJXbHBhYmtweER6U1RyZkxGeGMvNFcvLy92OGhsSm85Q3djNHNPY1FKbGhDV2VCZFR1a0tySVdaWGcvdlBWK2NQc1ZIWDU3ZzdULytocjY3Q0ZRb0RmZ0tiU0JJRTAxMTBicExtbFlKY2Ixak45cW1HS3o1TjR5VGFwbEtRV0JxR1c0OFg1TlJNSEdyZi9STWdVMDBPbWlrY254ODVpT3NOMXpZZjVFbmYvUVRlc2tNeW9EcGFMVFJaRm1LUVZPV0phZSsvSlFMS3hmNDV6ZC94U1ZXTUdpR1VvSUIzZE9FemUyaXU2V2w1YzZpRmJJdExTMHRONEZHT2haaGdNZnk0UmZ2NHY5TytOR3h4OW04ZTVQbDNjdDAwd1RFRTRMRCtaSjhmY0RseTVmNXcxdHY4ZnNQZnNzYUY0R0N4SVNZWTZvZ3lhQW9KdGNVSTdEanJtQ1RyVjFqU05NZ0JDV29XcFEyZWJKaG5IMFFNdzBVYUZFb0RNcjRSc3J1S0NZMVJGRU5NSElWaVd2KzVOd25ySnhiNS9LNURRNGZ2SnZEUnc2eHVIc2VreHI2Ulovelg1M2ovRmZuT0hYeUZLZlh2MlNUVFlRUWk5RlVCVHJHbEZ0YVdscGFJZHZ5QTZENUZaMzRZVk5YKzVIYi9xdTdrNHZWcU1xN21YM2lZMW9nVEhsazZhbkZYb3ZMNWJmNXpDVHlnN0hTM0g0RXJyeHI4ZGpLNUV6YkR1a29STGp6QW1VeXNuaUQrUWJIeENhUWw1NjV6Z3pEdk9EakMrL3oxWVV6L09HUC84d0Q5ejNJNHV3YysvWXNrYVNXMDZkUDg5R0pFNXk3Y0k0K0F5cHlIQU9FQ3B0YThqeXVXMTFwL2MzZmhNVHpKcDdYWVJTUFZiWERRWkR4Y0JvejRWaW42c0N1RWtSY0ZMbWFMV1BmekRyNmk0eTJzRlNWb0tRaVV4MnNhQndWcTF6a0QxOXQ4dUZYNzVIK0ljT0xRMnV3MWxLVkpYM3Bvd0ZYQy9IVXBxeTZ6YmpnQkJoZSt6aGZsZEVBWEdGNlZiYWV0M0hvZHo2blpPdE04ZWwwajR2dEM3dktnbHBhV3FBVnNpMjNOZkdYVjljL2RNM2RWQ1FLUkJFWmU4Z1NZdkVMZ29nYUtVQU44Y2QvaHg4SEpkRm5kb3R0RWVPQzd0RTZScHNqVzZaYmxpbVRuMWNUSDVuNDBhdjlZYmZmem0xZUh2dkllcmJQcDFUc1g2cFU0MXU3Zlo5dVBmU1c2WGhrMUpSRTJMNHpvUzRtYXZZelRUV2hVdmdnZ01ZYVMrWExabkZiUmEvU0U0djk5bUoydE1oSjhjTU8wOFpBQUtnTC9TR0FkNXJVZHNoZGhhUENVN0RLR3F2OXp6bjExbHN4aTFWWlJCU09VSStLUVdHaU93RUZvZ0liK2RpSEt0OUo0TzBnaXFhVEN4b21MNjZDWXh0dWNua1QyUWlUeVFtamRVeWUza0FoSlJXeDI1aWlRRE9JZWpUVW4vVUIvUGJMbWdDSUN5T2JzSkdJdmQ1elhMSDEzTGphOFpQcFlZekZkWTNpYlRJczRqVHVlR1lUaHE2S0g5ZGdrcFRLVmZYQ05NYUYwYlZBYVBhejNoNWw2L0dyeDFBbmhsRFYzMmVpeVRvZGlueHduUVBRMG5MNzB3clpsdHVhN1FJMFhHTkVMT3o0K2VsL056L3FPeTF5TW1BekhieVpqclJlaVdteGUyY3lLVnZVdGxmaXF3cXB4Y0tXWVFxUVp1QWRsRVZBazJDMVJVUnczazB1Y25vVjMvMTQxeFgvS3JXb0lJVEtqZGJaNlZpc1N1bHZWbFJCR09lYmVySnVoZzhWUlJHTHBNcmFMTFhiN1pLWWxPRWdKNFNpTnJlYWtvN2ZaSjhtQm5QeVBJN3VBL0cxY2R4NklnbytLZGl2RmxIY0FhbGJMVndYRTk2NE40dHh2SDlTOFU1ZFdCTGI4QnFsVUVaVGVFOVZsdU9jNHZvS3JQSGZWVW9qV3ZBU3FJSWdWYnc0RXdOVkdRaVZCNEhadVRuS3dsSGsrZmV6c3kwdHR6aXRrRzFwYWJuSlRCWWlqZjFNSjRuQ0lZeW1Jd1JjUVIyTnR5Z3NJV2hDM2NMMHlucG5jcDAzZ01rVmJZbmlDWkpYOWUxNWhWRVdwUlJGUDhaVERSa0dRemVadzRtbmRBT0tRUk94dEtUV1VsWlJ5RmFGbzVRTlFyMHVyWFJNQXhBWVM2dHZPdDA2MWx2SCtScjM5M2JtR2tWeGMwajF4UDlIQ3hoMUpCdWZtWk9MVEsxQmxBRVhYUjJNc1loV2hOS1RvRVorRWdob2J6RW9OQUdSZ0JUeFRPaGFTKzV5Qk1pSEpVcVAxOXZTY3FmVEN0bVdscFpiZ0VZQ2pDWFVPRTB4Ykttem53d0lBbWd4ZFlLSnBkdVpvOXZ0Y2VueUJaVHlCUEh4L3V5T212Vkc1TWZ1SVBsMkVoZWl5VXdYdk1aTHdLQ1kxWFAwT3JQczNiMlhoWVU1ZkhDc1hMN001YlZMYkF6WEtTbnhsZEJSczZDRjNPYzBONkFWQ3BHWW96Qk93dmcyMDdBbEhmUnE0L3hEUkUxSTA2M3kvbG9Yc0RYcTN4eDZYLzlES2NpZEEzSEVsc0NXcnNtb0tvY0FDWllFUTQ4dU03MDVzcXdMUUZHVzVGWEpwWElsTmd0MndveWVvWlFxWHRpb1FHOW1oc0ZtLy9vR29LWGxCMEFyWkZ0YVdtNGFha28yYkluSHFuR2gwWTVUd0pDZ1NZSFlQdldSaHg1bmVYbVpmLzd0UDNGKzVleVZWM3hESWxsTmptUXNTWnJZcWRFNkVnTmFwWWpUZUJlM2NuZTZoNGNmZkp4ajk5N0hBL2NjaTJrb1JxTzFSbWxOZnpqZzh6T25PWFArTlAvNHEzOWdHUG80bjZQUkdHc1JDaXJmcE1ZSStsdCtqWWRheEtMR3c3RnRPcDE2TTdXTTJ6a2dxQ1lhNjZxSmJOZWRybm5DMUxTeFR0dVdGejAxUU9NVWJFMkNSUXRVUllsQjA2SExQUFBzWDl6TFhZZnVZZi9lL1hTekhtVlIwZS8zR1JZNWx6WldPWEhxSTg3TEJWeHdwS1I0SEY0Q2cwRXJZbHRhb0JXeUxTMHR0eFJUT2M3VDRtQkxTcUttYXhZb2ZjQ1M4Wk9mUE1NcnI3ekM2Yk5mc25wNUUwWWk4d294dGh1aXdpWnZPbzlkQVNEbVA0dUxUNVFZTEJuSDlqN0lDejk5aWZ2dWZZZ0VTOC9HcitEWUxNdWdURUp2RHJwSGRyTi85eEdXZHgzaVgzNy9LMDZjZmdjUFdDVU1xekIySnhncHBXK1RXbkNWWGRxYU5IdDdLOWFyRW5kUVJ0UHQxSEoveDZTWHByaDBaSUl4WFZSWXY1YVlqRlFTdksvcUNHeVBZOHYzOHNEaEIxbnNMckF3dTV1WnJJY1dpeGpCWjBKUWdZM2hCZ2NXRDNEeXpFbE9udnU0OXRJMThTSWszSWc3Q2kwdHR6K3RrRzFwYWJtcFhGRnFUbGVPVHlNR1N4Y1BQUFVuUCtiRloxN2huaU1QY3VMalU1VEJrZWlFTWhSYlB6OGRjcndoMUhYbkU1WnZUV1JQMSt1eVdCNjc5MGxlZU9ZTkhycnZVYlN6ckY1YVkraExaanBkTXB1UlY0NjhxQkJqNkhWMk1iZG5EM2NmT3Nac2Q0N3N6WXdUcDk1bVVGMGVyVURwbURVUnRzVUxyMjBxelVYRGxZcmhwcGtZTXoycXk3OTl4VlR0WlRMMTZ2YVk4M2lPRUkveGhGQnRpanI5WkdYYzVIbmJYS0NJSW5oUFFzS1NYdVNCdSsvbnZvUDNjWFQvTVZTaHFZcEFkY2xEVldHVUpUVXAybHFVV0JiMzdXWjV6ekpMcDNmeGgwL2Y1dXp3Q3dJYVpUU1YzOEZXb3FYbERxTVZzaTB0TFRlRjZkdTR6VzF1cmpSdENuT2tzZXBLeWIzdzRtT3Y4SmQvL1Rjb3ExZzV2d1plbzdjbExVd3RCL2dXR1pFN3NJUC9yWXh0bUJKU0JNTzllNC95cytkZTRjRjdIbWI5d29CeUNQdDI3VVBjSUhaYUxVRDVoSTd1b0hSQ0tJWGhNS2RTT1E4ZWZSU2JHWWI1R2grZjJTQkpCTnNSTmphcmlmMzVkbUlXMkI1OW5YdytYY1MyUmN5T2MybHZUNlpsYkx3ZzJXS1BOekh2U01ST1dCQTN4eHFweGV5MEI2MHg0QzNlQ1JiTElvczhkdXh4SGpyNkFQdG05MUtzRnFqS1lyMGhWVDA2U1FlQ3hwV0JjbERRNi9VWTlJZk16TXp4OE5GSFVTbmtmK3l6NGkvaWZiUmoyK1pjMGRKeWg5RUsyWmJiR3EwMTNudThVeGlWb3BSQ1JBZ2hJQ0xScDFXTkhCcTVXZ21MMUQ2dWs5NndldnA5dHI0dlYzaS9tVVZOdU5QdjlQbkp1dm9kbC84MVpyQWlNb29aVGMvYitNbmVka3lJVjVVb3BKTDZicmlGQUZvWnNxeExsV3QrOGV4ZjhjUWpmMG8zblNmZzBhckNseDVESFkyZFpsU2xmcU1jQzdZS3dpMUZhSUFuTUc5MjhkZC84VzlZbWp1QUd3Wm0wMFU4aGxDQThvYWdIRW9zVm1MQldxZ1VTaEdiQnhpTERjTHV1VDM4cXovL3IvamYvdmNQcWFxU3FxcWE3SXFyVjJSOXpmRlhrdFRuVDBBYkZYMWFBenZmSXYraG9VQWxJSzdPZFRVS25DQm9FbVB4M2w5NTErdXhNWXg3UW9qRVpoSmpnNWdQSWdBQUlBQkpSRUZVd2ErZ1ZQUTZQYnlyc0ZnZVB2b29EeDk5bUs3dVVLeFdKQ0hEa0dBeEtKK0FWK0ExcVZpc3NtZ1BqcEtxQ0xqQzhjRGhCM0NoNHUvZS92OG9xWWk5emxwYTdteHVvUDlNUzB0THk3ZmpTbDlFVWdsS1c4Q2lzY3pON0VZa29jd0RyejM3Qms4LytSeEhEaDZsYTJjSWxjWlg0TDJhaXF0OWx6VEtlQ3hveDlwU284bDQ4SUdIMmJ1MG4wUm40QTBFVGFJenFqd3FSaVVXSlFvbEdpMGFFeFE2R0xSWVFoRVlyZzlaN094bWFYNHZ6ejN4UENsZFVqcHh6Q2F2ejNaNlhIWFRMUnFOSlVXUkVKd0d0OE9SMkdFZ2Z5aHVCdUxxS0t1Qk5FMVJPbnJvQnUvcmwxVjlKdWw0MVRCcDZTQ2dNU01oYWtTaGdxckZhSXpFYWhMY3NDSWw1V0I2Z0x1V0RqTnI1MGxkaDY2WnhYaURxWSsxQ2VOelFJbENpOGFWSHUwTnFjcXczcEtGak1OTGQzSFB6TjEweVpodUc5TFNjaWZTL2hXMHRMVGNtZ2dnS2haTWlhRmo1aGowUzFJNnZQejBHN3o4M004NXVPOHVNdE1qN3p1cXZJcENJc1RTblVRblhLbEJSZ3c0WHE4Y0MxT1BTVFNLaEE0elBQN3dVeXpPTGtXSEJURlVWWVV4aHNvN2docnRacnhYSVBGK3RaYUFEdEJMTTN6aFNKUkJPY1ZqRC8yWURyTllPaVRNUkJFcVYzNGd5UlVmMGVjaEk2UEhySjdGWUZFWVV0dkJKUFoyVG4rOVpwU3Rmd0lEaUl1Ui96Z3V0djR2SlJuOVAwR0poYURCZzVGNEdhQkowYVFZVWhLeDJHQXhRV09ESlpPay9tVENzWVBIdUh2L1BmVE1MRklxbElzQ2RySXBTZ3prQmtSN1VJRWdEb0tRb0xGZVE2RTR0SGlBaHc0L1JJOFp6QS9ta3FLbDVkdlRwaGEwdExUY09rem1hMHBkTGlVSnFlNVFsaDVEbDFlZmVaMC9mLzB2NkpvNVFnNjV6eWw5aWJFSnRRbEFMSUFLVjd2cGVvTUVRRlBndFNYNkdkdklnbVZtWm9IRGg0NVNsaDd2QUt1cHFoS1ZDZFpxUkhtOENpalJpQXAxdm1XczVOS0VhTk5rTW56dUNTWHNtdG5MUXJhSGk4VzUyanpLOEcwVlo1UmhDYUJ3UWJDa2VEUlZXY2E4eTVGVC8wN2M0SVlTTndPQlJCdktLb0JvcEF3a0pIVWNQU01ob1NRMm80aEIyRkJibG5sRUFobzltcjlPQ3NGUEZJY3BGQWtKQ3MweSs5aS9lSkRaWkI2VksxU1ZJRjdxSG1xUm9BU3RIWDdpTldzMHJpb1JEd2tKdy82QXBKdHhjUDRnYzh5eHdxWHZjY0JhV201TldpSGIwdEp5RTdsQ3dkV0VpRjJZMjgzbVJvNGg1ZFhqYi9ES3M2K1RoaG5FR1JKSlVNYUNVYWcwRUd4RmNCNEllS3J4c2lmeVBkVm9yVEdMOVlhd0paODBpbGhJMkxOMGdOblpCZGJYY3l3ZGxER0U0S01OVTBmanBBTGwwQkxGYjVDQUN1TVMrR0YveU14Y1JyL1laSzR6UjRjT3h4OTVobE9mZjBKRlNiQU9VVmNXc2xmTHNWYWk2ZG9lZzgwK1FUdE1SN002dk15WnkxOUdxeTl0Y0tHNnlrN2YvaUhiS3ZjWUxJdmRSWmFYRHRBaEJhZkpkSVlLQ3FzU0lGNWJCQlVRRmVwcGpQcGJGeU9xazYrUDIxOXJyRmdvWU8vOGZwWjZ1eWsyS3F4UHlPd3NSaUJJR1QrTFE3UkNCR1NVVngvSXNveXFLc0VscERZaDcwTzE3bGkwaXh5WTI4L25HMS9jbEhGcmFibVZhSVZzUzB2TFRVYXp0ZTJzcnIybERCckwrc2FRaElTZi9mZ1ZYbnZ4RGZidU9rRFpMOUhPZ0FKdEZGb1V2bko0S29Rb1pJMHl1R2xEL3duSGdodFdkYi9OQ2FHSnlCcVdkaTlqZElaM0E3cHBSc0JqRWt2aGgxaHI4VGlnTGtwRU1FRWpTdEFpZGZwRElMTUpsMVlMZHZVV1NHM0s4ejk1bVNjZU9VNW5MaU4zZmE0bUtLOG1aTFZveE1OZ3VFazZrOUNkUy9ua3pDZjh3Ni8ranZjL2V4OVhWanZiYzNFRHh1d1dRS0ZKTUhUbzhORGREL0hrSTAreFoyNEpTZ01WaEVKSWJUYWFQNHBaVjR2V09BTGV3K2dzVXVNMEUwMk1zcWNxbzl4MFpIUklwVWZWRCtBRHZTUWhlRDh5b28ycEpRR3Z0aDZ6U2hXSTlsUmU2SFU2WkRwRkZZcTVaSmJseFFPb2pkczhLdDdTY2dOb2hXeExTOHN0d05RUHNqUnhVNE5HOGV6akwvQ0xWLytDeGU0ZVFnN3puVVVHbTlHaFFOa1lPU3hWZ2RJQmEyM2RxK2tLUHFrM0NqVTJ4S2Vlamh1ZXhnSzFnQ0V2UFVuV1FSdERVWllrblJRcEE1VXZFQ3N4b2hxaXc0V29nRkoxUkZZZ1RTM2VsWWdQQkNlVVZTQlVtbDQyejB6V0k1VjBpMy90TkYvbmVsSDZJYll6VDNlMlM5STF6S1F6ZE5QWityWjZ2Q0Q0b2FKSHlSVUpGQm8xQkl5R1NqQ1ZSWHVORENjTllrTjlqQlJLQ1Y2RHEzT2E0d0dNRnlXYWdFakFCTUZyUjdsWmtpVWRzazRHZUVMUUJLL3gzcUVzbytQbjYrV0lDS0xqYTFVVk1CMk5LeHplZTFJZG5Wa1NsWkdTYmtsTmFHbTVVMm1GYk1zUEFsWGIzalFSdDhtcHFKMm5OMlM5ZlB2bzFEZjVDZEk3ck9SV2tCampPK3JmSkRMVUdQTEhYTmF4ajN5TVpnb0dTRkJZRkJrL2YvNFh2UEQwUy9UU1JYUkk4S1Z3ZWFQUFRIY0dBSnNsQkFjK0JJeUZ4SGFpakJXL3pkZFRSdXNKTjJUOGRqb3Vrd1ZnZzhFbWVUNWdMbDFBZVNqeWl0bTVlY3F5cEhJbDJJRENnZEoxOFZsajZLUmpCTkI1aG5sTzFzMHdIYzF3N1JLL2YrZDNYRnBkWVZEMDBWcGZsNUJOVTB2cENweFVsQ0huM05vRnpsNzZBaytGVm5YVGd3bWgzZ3hsR0w5MG5VeVlzc0xYLzFIYzBGQndYR2RPeVh1Zi9wSExGMWN3d2VBTElkTVptZW5pU2w5L1Y4UVRTSFQwbm8xcEJDQW01amFqcEJheURvV2dCRXhRcENxakdqaU9IcmlmUis5N2trelBZcFhHb0dKVXQwNUppUHMyWWNzWDRoMkR2Q2labTV2RGx6NUd5RFVvcmZDUzB5ODJiL1NBdExUY2xyUkN0dVgySmdTTWlvWkhFdXIrNXlFcVZlOGMxaER2K2swTDNmcmowVHRXbW4vRTkzZjQ4ZC95ZWowTkNzYjVjRk4rOHFyWnZEb0hjMktSV3hwTjdlQVpLeUlqZ1RTeVZCVjI4SmtOcUp0NFp6SEdUSFc5SlhycUozVktrU2paNFRjM2JuOFFKdmJYWU9paDZDQWt2UEhzWC9MNFE4YzV1SFFmNGczRlprNmlPL1JtRWtwWG9KUUhoTkpESUNOUkdwZkhSZ1NCTUxwd0dhdFdpMENkUDN1ZCs3OGwzellTemVtcjBmTlRuMzlJbW5peVJMRjJhWlhkdldWYzM1TkpENnN0WmJpSVo0aFJYVkxiUlZ3U3UzdDVnN1dXemVFYWg0N3NwZHc0eDVsTG4wR241SGNmL3oyZnJaekE0L0QxL2x3ZlRZK3VVQmMwTlpIQm5lZStjZEpKait5am1tcjlMUkgwNlk1c2t5dVdLUUg4TFFnRUtpb2NGUVVGL1kyUFJoZFRZL3UwaHZwS0tFeXYwZFRIWE9vMGtSakZqa3N4cENTa3BLUWJQZTYzRHpLVHpPTHluT0ExaVZYMHBZejV5Y0ZFSzY5Z0lDaU1nQVRGbnBsNXpwMzdpcm5GV1d5cXVMQjJqc1c5Q3hTaDR2endUTDNPbHBZN20xYkl0dHoyVElxOWtWaFZVNi92TUwxZXREUmk5dHQ5RnI2KzFHaDZXeHZ6ZGJpVnVpcE5xdWxwQVZ0UFIrSHdyVzkzT2pBY3h1Y0xNNHNNK3g2UHBjTXNUei82UEgvNjVBc3M3emxJYW1ZWjVnVVNMRjVGcVJHTFloeEJXVUNqbEVHQ3dwcHhYcU9tN3Jna0VML3Vha0Z5ZzgzK3Q1YXNCZUtSMWFBcXZqanpPY2NPZE9oME00eFM1R1ZGbVh1Nk14cWJhSnlEc2lvUWJWRmkwR1FvWXpIV3NyUm5IK2RXVnNpbHo4TGVPVTUrOFVkV05zL2k2ZGV5cWJodERmSEhUYkpVdkJBU3h0SGxxelo1YUFUdzlnYXozNFI0UVhNOVFqQzZ5TWEvd3pvaTI1Z0lDeEFDV1pKU2xCWG4rMTl4YnUwY2kvdDJZVHNKVW5pME1TQk45d2xxRDJHTjlyR2xMVUVZcmhWMGRKZE8wcUZrU0REQ3dBKzV0TEhDeXNhRlcrS3VURXZMemFiTkZHOXBhYmxPSm45T2E5V29takQ0eEVQR3Q5d1ZBUVVVZ3lqcUZab2lEM2dVbXBUalR6ekR6My8rQ3c0Y09JUTFLZjMra0xJc1VVcWh0VVlwUVJzMTZ1UTJXcnNJV1piZG9NU0JhOS83eVl1S1NhdW15OE5MZkhycUJGNDd4QXI5Y29OT0x5SHBLTFJWV05VbG9ZZWhpNVlNcXpNeW01RWFHOFY2Q09TRElaMjBTNXAwZVAvOUQ5a3MraWpTNzIzL3ZsdWEyS2VLNGpUb3JRUGFtQUFFSU9qWVBBSmR4M0xIRWQxYkZxUHhCQzdKS21mT24yRVlodWl1cGxRNXVTOVFvakhPWUlKRmVRMmhFYkZSNWl1bDZIYTdsTjVSbGhXZDdneG94YVhWeTZ5eGNiUDNycVhsbHVBVy94Wm9hV201VmRrYURadHNDakRkS01ERmFKV2FuR2Y4NWROTDV6RDBxSHpBMHVXMTU5L2d0VmQvenA2bFphckswKy8zS1lZNVdtczZuUTdHbU5pV09KYU1qNFNzVW9vUUF0MXVkOExOODd0bFVxcFBqNERVbnFOdnZmY1dwODkrQWFhQzFGT3BJVU8vZ1VvVmxSTzA2cEtsY3lTMmcxVVdFY0VIUitWeUxxMnVzTGhybmw0djQ3UFBQdU1QYjcxTlFHUG9Fb3ZKYnYrdjhFYU1qc1RzWkFldGthQWRTMWVEUWRIa0ZOL2E5SWViU0oxMjhQbjV6N200Y1FGdkhWWGlHTHArblVhazBTRjI4cHJNdVJZUk9wME9vaFdiL1Q1RFY1SmtsdjV3eUxuejUvRnRQTGFsQldpRmJFdEx5M1V4TFZyREZodWluVHByalc4cGc2V0hWQW1DUmRQbCtHUFA4dHd6TDdGLy8ySFcxemZSeW1CdFNwWmxkTHRkckxXRUVLaXFBdWZpYldFUlFVUytkeUVidFpiZUZrQ01qNWhybWlVWloxZS81SmYvL1BkY1hEdFAwbE9VZXNpbXU0eFRCY09pSW5pREJFM2xBOE55U09HR2VDcVVjWFI3bXBuNWhEUG52dUNmL3VXL3NNRUdtb1FDVjhlMGY2Q0lIajBtbzdDcTloclFJNXV6bTgzVWRrem04aXJ3Q0ltMU9EeG55dE9jT1AweEs4VUZaTWFUek1mT2N5b0lxc25QSjU3UG9iYmt5bjFKaFVNc3FNeXlVUTM0NkxPUCtXVDE4N3I1UWl0bVcxcmFITm1XbHBZYnlBNDVqbE9GYm1PWEFvdWxTeWthUmNaTHo3ekdTeSs4enI3ZEJ5ajZKVWFsc1JXb2lrTEdPUWNldlBjWVk5QkdvM0NFaVlpc2lORHRkdXZscSs5Y3pzYmwxeG15VS9zc0JFby9STkI4ZE9vRGVyK2U1WmtubnVOSDl6M016R3pLNnNvcU5wdEJsTVpMb1BJbEVMQ3B4aVlHckpBbWxsTm5QdUlmZi9PZitOM0h2OGJqc1VyaEpaRFlGTytHMy9FZWZuZlVwWXUxNkIrLzhuVkVwNHRiUWNTT3VaSjdpUUJlQnp3ZWgrSEVseDh3T3ovRDBVUEhXT3J0d3VjQkk2RytLS2tJYUpUV2lDaThEdVRsa0hRdW9kdnRzaGsyK2ZMTUdUNzg0Z1JyckNMZjIzMkhscFpibTFiSXRyUzAzSGdtTEs4YWxJeHJZU0NXeWpnMEhSWjU4cEhqUFBlbnIzTDQwREh5elFKZkJXWTdzL1Q3UTZ5T29zV1hIa0lVc1RaSlVEb1FuTnVTSXh0QzdJYjB2YU4yZUM2Qk1oVE1wclAweXpYZWZQdFg1SG1PcCtMdWczZXpXVzB5UDl2QlV4SkNRRlNGcVhzcERGeEJmMk9Wcnk2ZDRiZHYvWnFUbjMvSWtFMnNVaFNxeEVtQk1RbmlidWVJWE5pNVVHM0tUcXc1dkUwbk5vM0NqOXdWYmpZVHJYcEZieXRXMHhZRzVZQUVpNlBpZkxqQTcwLzhucUViY0dUM0VaYnRjdjFwaDVab3ZkYWN6MDU1dkhFTWRNWG1jSk12TDN6Qmg2Yys0RHpucUtodW9URm9hYm01dEVLMnBhWGxXN05OUmsxYkp6VW1BVnRFcks2ZlI1L1k1NTU2bVpkZmZwV2wzZnRZVzltRVlFaFVTbEZVcERZalN6SzBhRXBpei9sUmVrR1prKzd3RFdhTStTNTI5UXJVMGRoR3hFd0pXbU0weWdpT2lpRjkvdmpSNy9ub3hIdjg3TG1YZWV6aHB4aklaWkRZNXRRa1FqZXpGRDduL0tXem5Ebi9KZi95bTMvazFLV1RLQlNPSWNFWVNsK0FoaUlVMTJka2ZDdHdGUS9jNlhta0h1ZXgrTDFWUlB4T0xaYnJxVkdJaXpteTg3MTVOZ2REemhabktVN21iR3hzc1BpamVmQWVKYkd3QzlFamNlcVV4NmFHQ3hzcmZITDJFOTc5OUkrc3NvckRZWlVsbDJHYko5dlNRaXRrVzI1enROYmpITW42dGViZlVkQ003WFVhejFpWnNMeUowWS9KcXZldHl3K2hNU3YvK20yWjlIbmRLWHR4aXcvc0tNcDA5UVZQVitUTDFISkNDRmU4d2ZnMVh2amZIUk03cjJ0ZlVQSFE1Qk5hVEwzRkdYLysvTi93OElOUHMyZlhRU1FvVkJBeW13R2FmRkNRSlpheWNORjJyTTZEYlhKalk5RlhpYllwR0lQVWpnWlpscUhSK085TDRlM2tlMW9MVE9jZEcyNmozcDVBRGhReTROLy84dC94NzMvNUh6aDI4RWZzV3o3QThyNTlHT1c1Zk9rOFo4NTh3Ym56cDFrckx4TndTQk43czFBcU4zWVJ1dzFTWksydGk5ZjhXSDVPL3MwQzIvZGpVcHhQajZtYU1uSzk2UjUwemEySG5RbFZ0SHJ6QXBjSHE2aTZIZk9GNmlKcnB5OXo5dlNYN0oxZDV1RHlRWmFYbCtuMWVqam4yQnowMlN3R2ZITHFKSmNIbDdsUVhhQ2d3TlVleFVNWlhpbWUzZEp5eDlFSzJaYVdsdXRtUnkwaDBPbDBHQTV5TkphRm1RVUcvUnhCa2RMaCtCUFBjL3pKWjltMyt3Z2RPOE53T0lSSzRRV01VU1FtbVRDKzM0bXQ3MDJLL29Ua0JyUTh1QmJDMUhTQ3BwdVlnaUNoanQyV1VNdGEwSHg4NWowK092Tk9iTjVBUU9OSHZjM0FvNVVuNkZCM2RHTGNWbXVxWTltdFNuUFIwZGltNlRwTnBCRzNncUNVM3RLWVJDbU5OanBlcE1sVXpyV3c5YkRmNUlCa0V5c2VGVjN0ZEN6cWJmY1NNMkg5S01jM2NJNExyRzZ1OGNYbVo2U2ZaR2l0OFNIZ3hGSGlNTmJTZDVzTUdlSndlRHpLU3V3S051MzcxdEp5aDlJSzJaYVdsaHZMeEEvcmNGZ1F2MllNeFJBQ0NSckwwMCsrd0orOTlqZnNXN2dMSGJya2c0cXk4QkFVU21KdGVwSWtZeUUwQ3B6SGxoRFJwc2pYVFJIcTFZcWd0QUtCYnFmTElQOGU5M2RhVU80UXBCdTM0eDMzei9JVW9CU0pzWGpuUnFWUFRhOHRKZUI5ZkVoVEtWZm4wYkwxaHNNdFR5TmVSM2M1aU9rbGVEQ1RBK1loK0FuRk9wbDMyanlhY1lpTjNXNHRyaFJOaHBIZzliV25za2JqcU9qVGp4ZHR2cGs5T2pTVXJrSnFBZXVKRnpTamE3dXRYVGhhV3U1WVdpSGIwdEx5M1NCUmJjeWs4N2d5VUFYQk1zdXJ6NzNPODgrK3lMNmx3N2crK0xJZ2hCQ2RDTklrM25aMmdwaHJWeWlOOVpZeVVjak96YzJ4OG4wSjJTdmxlZTZ3K1pPTkdxUVdKdWpZWVVwVTdPNlVtZzZwc1NoUkRLb0JGa1d2a3lJcVVJU2MwZ2Nvcjd5T1c0azBUU25MY21zcVFZM0dZREZZTWxLVHhSelJJSGp4bEZLT2JwMEhGUWpheFg5UGRwMjQ2U0x1YXhLRHBnWHRsTEQxRWlpazJPS0pxOUNZV3NhS0RyaFF4ZFNoU1pldndOV3lHVnBhN2poYUlkdlMwbklkWENFc1ZJdFlvenE0U25BWUxCMk9QL29jUDMzbVZRNHMzOFg2eWlZenlVd1VzSW5HV292M25xSW9jTDRBYTZPNEdhMG5kZ0VUMmJyZVJpQ0ZFTEQxL1BQejgzRGh1OXp2R2pWMVMzbmlGdmhPclpEckxSMi9VTzlHQ0ZJM0J0RGdOYmtQZFRieFRMd05uV3RLY2lERDFERmJvelZPS200QlJYZEZKcU92QUVtU0VFS0l4MG9zQ1JtR2hPQUJwQTY0YW5yTUVBaVVGUGpnNHhpaFFQdjZKS2dYZU5PRi9OVFk3NWdLTXpIUGxLajFOSjN1VExTUEM0RnFuRUNQVnFDMEJpMm9FT28ydmxQTGFtbTV3Mm1GYkV0THkzVXlKV1psZlA5Ykswc1ZGQW9iZldLZmY0UGxQWWZJK3c2ak80aG9kQzArblhNeGI3SXUxR3VFN2JYUWVNZ3FGWVhFN096c2pkM0ZiOGhPSW5iN1RFQ0FUdGVTcWk3VndCT0NCbExtV0dBMm0rUFF3Y01vcGNqem5KWExLNndQVjZtSTBjb2k5Rkg0VzlvVWZ6SUthNHpCVGRtbDdVOE9jUGZ5ZlJ5OTkxNzI3dHVIdFphMTljdDhjZm9Memx3NHpaZG52MlNURFFwaWVOMEhRQVZrdXVqclpqR1p1N3NqZXVJaVowclFLc0JvQ0RLT1dOZXBNYzNmaEE4aHBodjRpZlNLZW5uYVFManBRcjZsNWViVEN0bVdscFp2emZoM1ZFKzlFQk1acXhEb3FDNVBQdm9zeno3eklvY1BIYVVZT0Z3Vm1PMHNVR3pHSEZGb2NpY0RpVEhiTExTMlJtS3Y1Tklnb3dodXI5ZTdjVHQ1TmFZTDd4dVJNVFhiRlczS0JJcSt3ekZFazlGbGx2c1AvUW1QUDN5Y2V3NGZRNG1tay9XdzFwSVhtNnh1ckhEcTlDbis4SWZmOHZuR1NUd1YvaFpQbEcwS3ZTYlRDK2JuNTdsMzd6SCs4c2YvbXA2Zmp5a0YzcUZGYzJqWFllN2FkemNCeisvZWZaTXpGMDd6NlpsUHVGaGRRS01KUGhiQUJYRzNRRVMyWmtKZ3FpMUhYeUZYUzJZZCtRRExxQlV2QWtyRnV4R0NHelh3alRadnpRY0Q0ZFkrN0MwdDN4dXRrRzFwcWRGVFA0clhVaEErL1psdnM4NXdQYmNJcnluMDkwMjUxcTVKMDRtSzQwaXNxb3U2RkJuUFBmMHlyNzcwQzVZV0RySit1US9la3VndVpWbVJwbWtVclVFb1hZVlJNUkxybkdNNEhPN1EzS0FwMDI2RXMwV0xSaFNvNE9NdFdpQzFYY0FTR3U4Q1ZYOVdwZ1hCZDBNektsZXR4eEdZNzg0eEdPWVlNdmIxRHZMVDR5L3h4TU5QczVEdFpyaFprQ1U5UkFTWE96Sm1PYkp2a1FOTFI5ZzNmNGdQVHYyUnYzLzNQNDV5U1dWUzBPNFlLZFJiM29wdlg4RnQ0UXJiZTgzejF2amdZOGFuYUZRQVM4Sjh0b3VuLytUSFBQUHdUOGsyWnVtWkdaUlZzUkJNUEtwVVZFTlA1VHl2L3ZnMVB2ajBmWFNsY1djODY2emlpS2tZdDhldDlZbEJrNG16WVhTQ1RPUUpLRVpmQmo1VXhOUWNqV3JjSE5Bb1pRamlrSkh2UWRzU29hV2xGYkl0dHpkQndBZFUwR2hWbSs0SFFTbEJRa0Exb1R6VmhQUmt4NVExWUdULzAwU05sSUJSYWpTZlRMMFBPd3NCQlZ2NnBqZkxHaG03MWo2eVV2dGlOckp4Y3Zramk4MkplNGNxcm5EY0dVdWdtdkNSallicTQ5VW85ZlZlc3R2MVRpTkd0K2FtanBtSUlLbUFVdEVXU21vTkZjdDNlZ1JTRkNrL2YrNnZlUHlScHptNGRCL2lETUhsV0oxaXhGSlZGYzVFcTZFbzZPTzR1TElBSU1uUzBaajR1ck44ak1mV095bUtFQXpXcEZTVkl6V0NFVWUrMGVldUEvZWc2ZUlJUURIMklKVXdrYitxYjlodCtTc044eFhka2FSdUNGRmxXQkwyWmdmNDZ6ZitEWWYzM1VNV3VzeVllWWJGeFpIanJzWGlFZnhRSTJJNWV1QXg3cnJyR0t2bEdtK2UrQytreHBEN0RheU5CV1RPTTg2bmJDSjl0Y2dmdDNmMWlBb1lFODlGMzlSU1RRbEVuY1J6eVRmOUYrcnhNOGxFUUhGeUVDWnpPRFZJSlVpQUJiTUw4WXBYSHZ3empoODVUckthUUZCNFFFV2pZYXdrOFVKRVVtYnBzdkhwSmcvdmZZUmRUKzVpOTh3Uy8zRGlQOUVua0hVc3c2SzYrZlpqMjlaOUpXRTVuVXRiVC8wT3liNFRUeHZMcnRFeVpPdkZZeXRpVzFxdVBmVFMwdktEWmpxNGM3MlIxbXRhNXkzL0s3VFQxMFB6V2h5eGJ0ZlExUFBzbnQrTnBZUEgwR0dXWng5OW1XZWVlcEVqQjQrUnFSbENxWkJTSXk1VzUxczlidW5aUktXRHVzWUlkZjA1cFF6ZUN4cUYxUm9kaEN4Tm1lMHRBQW54V3QxdXRXNmEyQS8xSFg4Rlh1MFFheFNGSzBuSWVPclI0eHphZXhjenlSeTlkSjU4STZkallrY3pMZkY4TkFJbWFFd3dHSjlnUXNiclAvczVEeDcrRVNab09pUllGS0VFQWhnVnp6RlZYL3hFeHk1ZFY4Ykg2bmd0T3Q2aWJtckdCS3lGTk5XakxBNXhVY1FpY1ptbUxxTEhtNWkvR1FDdklUU1Blc2NEMFI1TW9qOUI1UjFQSFQ3T2ZYc2ZZQ0hzWXA1ZG1KQ01MaXEwNktoOVJXTzl3ZnFFR1QyREtRMnplbzdEZXc5eGVPRnVRRk9XSmRoYk5TUWJkbmpVeURVOHBwWWpvd2NUMDFiRXRyUTB0QkhabHBhV0hXaVV5UFJyYkhsOU9QU29FS044ZzM2RlE2RklPUDdFTTd6eCtwK3pmL2RoSkZnMk53ZVVSWVZXMFJSZmFjRnFTeFd1cjIyQjFocm5IRm1TSW5pY0sra2tLWXR6ODdWdVZiZjhELzVkdXcveDFCTlBzbWYzRXNXbXg2QVk1bjFtdXJPRXFoeGQ4Y1RvZEVDTEFoeGFBdnQzNytQb2didjQ3TXYzWXk4ekoxRythN0FwRElmTldsUnQ4YVFtc2pZTlhUV0RUYU9UUUwvYUpFaEFDb2xSVWlCUkNlS2tidGlnNkVnSFg4ZTVWVEFrTUdGd1cxK1VpQ2RJd0JNd1JyT3dNRSsrVnFMUlBQWDRVK3lkMmNPd1B5VEJnNVg0Y2NZK3V3RUlLbDVpbUVSVHVoS1RHdllmM00rOStUMTg4THYzNHExM2U3UERzUzB0TGJjQ3JaQnRhYmxUdWFJR3VNcnRkclU5dWpTVHpWRVVnY29MaW96WG5udWRGNTU5bmVVOUIzQkZvTXdIaUl1ZHVoS2JqanhmUmE0L3oxSHIyQUVxcHBCb3FyTENkQXk5WGcrTEhkbXQzcW9ZREEvZS93QzdGM1lqM2xQbUZVSDZaRFlqMFNadXYwQTB6NWRhVGdwZ01RRzZZWmJqUDNxUnJ6NDd6L3BnaGE4MlQ1SFVvblV3SEpLUkViQm9ER0JIRVdoZEgyTW5nYnlJZWF5ejdNTGhSZzRCRm91VGlvN0tzRGJCVlo1RUVyUlNsT0pxOTFNMWthcEFiUXptYTdIcnFYeEZzUllOcGVaWklERXBhWm9pQStoa0hmcXVQL3JrSktMcXhoQUNycW9JV1NEdFpCdzRzTXhzT2tOUkRxYnlHbHBhV3U1VVdpSGIwbklISTE5ZlgzOVZFbnI0d3RaNXVnbFBQL0lzenozekV2djNIMmI5OGlaejNVV3NqUzFIVTV1aXhWQ1dKY0dWS0tWUTFuenRPcTZLR2JjOEZSSEVCOFJEWWhObWtsbnlhZ012TVhmNFZpc09Va0JQZFhudzJBTlVneExSR3FzU3luN0IzcjI3Nlc5c1lpWnJnUVFVVVhRR3dJU1VDNThOT2JEM1lYNzJsSkQxRlAxOGhlNWNndTJtYkE3NmRRSno3S3dXcDgzaUFncFAxbEdzclYxQ2EwM2FTVGp6MVdsKy9idGZjMjc5SEFMY3UrY2Vubnp5U2ZidDNjL20yanJCQ1oyMGk0akM1eFdMdlhuMGhIZHFiRjdnOGJyRWEwK0ZJMDFUQm1zRGRtVkx6TmdlVml5NUw4anpQR1o5WENXb0t1SkJSZC9ac2l5Wm4xOWtjWDZSMVV1cnNTdGFTMHZMSFU4clpGdGE3bmdtV3daTmNCWGgxK1ExR2pJcUxCckxTOCs4eWtzdnZNNitwWU1VZ3dwTGluaXd5a2J4RlFLdThuanZNVG8yUUhCeUhWRTFGYU82b2xYdE54dlEyaUp1Q0ZhenRMU1hTMStkRysvZkRvbUZOOXVETlRVWmUzYnR3eGNlYXcyenZUbldCNXRZMDZFY3J0THJaS0Fjc1dyS1I1dFJHZC9JNzlwWmJPaHlaUDlSc3A2aUNIdll6RmR4NHRtL2Q0bXljcldBdFJOYXZzNHZ4cEZhSWRHR2JyZkw3TUljeGlTY1BQa3BsOVpYVVFoTEMzczV1Tzh3ZHgwNnpPYmlBRjhGWmpvOU5JcFFCZksxSE5Qa0JpQUVCVjQ3Z3E3dzJrRVNqMDF2WVliOXV3Nncva1VmMGRDeEhaUXlFSXI2OE1ROWlqbXlvT3BsR2d4S0t6eWVxcWpvN3VyUlRidGtTY2FnTE5yTWdwYVdsbGJJdHJUYzJUUU9CVnNWd1k0YWRtS1c1Z2ExeDlKbGtTY2ZQYzRMejc3T2tidnVKKytYaE5JejA1MWxNTWhKZE15aDlVNUFQTVlZRXBORWx3Vi9mVUxTZXgvelpLdUFOb0VzU1JtNkhJMWgvNTVsVG43MUh1TUc5VnZidzM3WGhWNWZqNDVsVnpyRlpoMUNMdGcwbzVzSnhiQWlzUjFBMTQ0WERsRjY2akFGdWwzTmNIaU9zbHpqMHk4L0k1dUZTbkpLWDdLZ2RyTzJ2b2xnYUpJSjlJU1BnaUtnUk9QTENtTVZuSWN2VDUvbTBxV0xlQ29DZ1kzQkJpZFBuV1IxOVJMQkNWcXBhSEVXRkVZWlVtMVFkVUhhYUt0R1VWa0hCdks4eEVwQ1VpUXNwTHNKVlVCVml1QUNPck1vcVJzYzFHRm5KV29VNWRXWXVuMnh4UVNOMVFrK0Q2Z0NqRXByRDkwMnhhQ2w1VTZtRmJJdExYYzBXd3QxUmkvdEVPbWFsbjJLQkVYR3M4ZGY1dFdYWDJQUDBqTHJsd2ZnTkZhbkZFVVZjejF0aXNaUXFRb0pDbU1Nd2NkYnhTWk5ybXZyUTNBbzFlVEpLcExFa2xjYWpXTDNybDNqM2JrRlV3c0FqRTRvQzhmYzNCd3JsOWNvVElVMUhRYjlrcG51UEZVWjgxWGpUdmdKLzZ2YThjSGtiR3llNTlTWkUveWZ2L3cvRUhJeVVqWllSd0NQcmROSFZDMWtwUzZxaWxGZVM0SWh3UkNqbmlWdUZLVzJXRDQrK3g0Zm40MFhBeGtkTXBWUVNJRkhTRWlvS0VhV1hwTVhCbldHSzRLZ1VDeXl3TjE3anZLWEwvNE5DdWhtWFZSaUtGeUJLRVZROVRuWXVGR01oS3hHZkxSTE1Db2xJV0d3UHNRVFNIVkc3bDBibEcxcHVjTnBoV3pMYmMyazkycVFVTjl1bnZaOGpZL20rWFp2VmRtMnJHM3piRnRtellRNG1ueC9PdTl2MnpiNjFUNnFBQUFnQUVsRVFWVEoxczlNZjM1Yng2aUoxMGZ6MWJmV0RTYTZIRFdldGFwWjM3Ymh1bmJxRmV0dHU2cXhLcTM5TFROZWYvWXZlT3lSWjFsZU9vd0VCUzVnZFlMV0ZsYzRsRkc0MHFNa3RwN1ZRS2lpNmF5MWxuQ0YvUis5UEdtdktURVRkK3VZZ2JXS0pNdHdWVUdWeHlZTEs1ZFhPSExvQ0RGK21PQkcvbEtSS0tadnRnVFNiSlpEK3YwQlBadlRuWjNGSkIxV0wyd3drM2JKc2g2RHpTSGFLSXpWS0swSTN1TkRRQmxCV2NqREpyc096dkQ3RTEvaEdOUjVvem1PbkpnOFVFQWRrZlVJdWhhWXFWSllrK0xjWU5RN0tteXhlNEtTU2JNMXpaQWhROUdqNHE3bzhsVVNpSTBPZEczdXBTWWRESUI1TmNlR2JIRGg0am1LWXNqeXJnT3Nmcm5HZkhlQnpIVHhvY0lGaHlnRm9rZFdhc1lZZk9YSkJ3VmFOUE9MYzN6NDhRZGt1b1BCRW55ZGN0RkdaRnRhN21oYUlkdlNjaHNUeGQxVVdvQnEzcnYrNVhjNmlqd1hGREEvdTBoL3N5U0lJbU9XNDArK3lEUEhuMmZ2MHQya3BzZXdIQ0plb3pCb3BUSGExcmYwdnh1MmVQSFh4VjRoeEZ2VDNiVEwvT3dDQmp0UkZEUU9OY3VOR0p6ckp0YjNmL3pKU2ZZY1B3d0IxdnRyTE8zZGg4czlwOCtlWS9maUhNN251T0JpMXl1alVjYkdibDg0UXVMNDlPd1hmSDcrRkk0U3FhV2x3Nkdqd1JWR0s5QUdMUjduQTRKbktBSHRTc3lvQWNha2tCMlByYStuNHhZWnVuNnU4UVNjcnQwUHFHSlRrdHFmRmhxUFhrMmxLN3ozREJseS92STU5c3d1WXpxR0lwUlFsZEdPelNxME1ZZ0VxcW9nendQaVBYTnpjM1M2WFV4WFVZU0NTMnVyckphclFJejZFL0x2NDBDMXRMVGN3clJDdHFYbE5rYXB4aCtVaVE1ZjQ2aHM4RmY3OU5mVGlGaU5wZGdNQ0NtYWxLZWZlb0UvZSsxZnNieDRGQ1FqNzVkVXBjZGdNQ28rdExFRUZ6ZWc5dGJmOGl4eS9kRTBrWGo3dWhHeWlVQW43YkRMN3FhbmVwVFNCMkpLZy9kdTlKbnBDNER2bXhqMUhQTFdlNy9uaWFlT016K3poNjh1ck5ETDVzalNEak9MczF4Y1c4RW1NZXFzakVMd2RVYzRjSGpTdVI2ZnZQTUZuNTAvUzJPSVZaRGpzU2hsY0NMUnBXclVJVzQ4L243S3NEL0FhTmt3TVpWYTBBb29pUTF4TlFHdmlMOGdUZGZmRVBBKzRLVkpXSWtDdWNEZ2dUVXU4OUZuSDdKN2JvbmwyWU5ZVVNobkNCN0tVT0tMRXJSZ1UwMjNsNksxWnZYU1picnpQWUx4bkRyOUtTYy8vWWlpRnV6WDFkcTVwYVhsQjBNclpGdGFibU8wMXFQV3RJM0Q2QTBKTnNvNEN0ZEplMVFsVkdnMFBWNzU2Yzk1L3JtWDJidDBCRjlvcW1GQjhKNGtTVWpURkdnRTlIY3ZGRjJJeFY3RUVpUUlBUkdGMXBadTJtSFgvRzdXMTFhaTI2bFNlSEdnUUlLZ2xMckprVm1QcCtDenRSTzgvZjZiUEh2OEpSYjN6TEZacmxPcGdrN1NZWGJYREZscVFIdnlhc0J3bU9PVXgrZ0VzWTV6cTJmNTVQUUhYSzR1SUZTRTJyOFZvMUJXUStsQURMSEZGcUNpdTRQUzBibk11WW5ObWU1KzFnU3dKNmFqTHMvQytBUnBIclZHanEyaW80ajFQakFJZytnK0FMeC8rdDBZWlgwd1plL2NRZGJPcjVJa0dhWVRDd0JSRGhGUHZ5cHhlVVZsS25xZERoZldMdkwyaDI5eGN2MWpBaDZ0RkgyL2VkTmRKMXBhV200K3JaQnRhYm1OVVVyRmg0ekRVOTg4UDdhdVpGZmJSWUhHNGtxRmtLRG84dlNmdk1Eeno3ekJ3YjMzc3JFNllMNmJnZ2xvbzBqVDJPeWdMRXVjSzFCS1laVWVMV25MZG91dUs5V3ZEeEdQRjRNaGRneVRFQWd1aXJtZ0Fzdkx5M3kyZG1KNnAyNkp0TXBBd0NpSGx3SC83OS8vTzNxOURrOC8ranhWWDFFTkI1eGZ1OGpDM0N4RjZTbkxBVlVvc05hU2RGTkVQTU93eWovOCtqL3kwV2UvSVZBaXFqNlNHckt1TU14TGRBWWlBUlhxODRKb25TWmNvWi9BZEZIYzVQUEpYaGlOdUczeUVKcFd0YUdKN0FiUW9CUHdWYWpURm9RVkx2Q0hUOS9FZGkzSER2UlpYanlFVm9vcURCbFdBMXdvTUVhQjFnVHI2YzMzT0RzNHkvdW4zdVBreWdseWNnS08waGFJcjlwZXJTMHRMYTJRYldtNW5mSGV4eTVaUkd1a2IvNmp2bk01LzBoK0trdVE2RkR3MHArK3pzc3YvQVY3bDQ2UUR4Vkc5ZkNseEJ2YVNvMjJwYkhFc3RZaTd1cTVEVm8wNFRvRWJZeXFla1JNM0g4TUVxSlhiUkRoMEtHN1VCL0YrT0NvR0U3cld5U1NGOGhseUdKdmpvM0JCZjcyUC84SHhNUGhmVWM1dU9jdzNkNDh3MkdmSUI1SkttYXlqTjVzbDlLVm5EejFLUitjZW9mZnYvMDdDb2tGVjhaQ2NGR3c1amt4Y2xyRmFYT1VqUUVKc1lndk1INXZ4TFJqeFE1Rmo2UFhCSFNvLytuR2xteEFiSFViaU9rSEpvcHJwWVVpenpsVGZNRnZQaExPWHp6SGkwKytTaWVkUVpsQWxWV2dCWjBhRU1HVmprOHZuT1NQNzcvTGgyZmVaNU0ram9JaFF5QkFTcXc0YTRWc1M4c2RUU3RrVzFwdVk0cWl3T0cydk5ia3gxNHpTcUs2MlFFbm5xNmE0OG5IbnVQNTUxN215T0g3R1E1QUttR21POE53YlkxRUs3U0Jxb3JPQU1ZWWpMSGozTW90cTlJM0tQY2hZb3hCUlBEZW80anBBdFJlQlZwckR1MC9FRnV0UXQwMElhWmplTUpOTC9ocUlxaVYzaUFBWDIxOHp2Lzl0LzhYRHg1OWpEKzUveEVPN2p0TXQ1T1NkUXdvdzdEWTVNTFpNNXcrZTRaMzNubVA5Nzk2bHhJTnpHQVFWUEFnMFE3TGFvdjNRbUo3T0Jkd2pWOXZpSzF1d1dFQXdZd2svY2d0UTlXaDFTMml0dkhpWlpTVHJRSHJ4dUh0eG40ckVEQm9nZ2s0RlVhcEI0VjRsSVlpQkU3M1AyTzl2ODdGaTVlNWEva2VEdDI5ek55dVdYUUt3OVVCRjg2ZDU5eTVjNnlzckhCbS9Rd1ZKU1VWVHJ1b25pMlFBTlYzZG5oYVdscHVFMW9oMi9JRFlrc2QrNVZuVTZIT0cveWErVzRRZW1vVkkyc3VGVkMxWlJpaTYvdTFRQmhYa204UkZnUkVnU2dQQ0VFWFZHV2YrR3Z1a0ZvMmFxVnJhNjdKdGU0Z1ZOWEU2eE5SMGFacmx5SkQwK1hacDEvbnRaZitpajFMaDFoZkc0STNHSk5TRkVOTW9ra1NpOVdhb3FwUWRjTUQ3ejFsV1k1eVpyZHVSMHl3Vk1LTzZRWFQ0M1VsTktDTnhqbEhFRWNRZzFFYXBTeGFKeGlUc1RDM2dDVkJvWkZRUmM5OVRPeVdKYmRHanNGR0grWm5PZ3o3QlJmZFYyeDh0TWxiSC8yTzVWMzdXZHExeVB6Q0xCQTRlKzRNWjg5OXhkQVBxYUlVSjQ2bGlSRm1INzFlWjVKWmR1L2V3NjY1M1NSSmwvVzFUUzVjV21GOWVJbUtBbkNvMm9xckhKbHZOVWVtK2R2UUV4YzNZeE91cmM0RjhibkJFcE03REphRWhBUmpORmhodlZpREJEYUxqYmlsUnBGMU8xUkZ3WHBZcFJoV25ENTFCbnRLNFNnSkJCSmpxSHlVcmhEOWJMVzFlRGZFU1JVanNRb29hS094TFMwdHJaQnR1ZDJKWWxEVkhlaFZiY0FleFZoQWdvOEZMbEluOG9sRXdUaTZ6UnpuMDFNK3I2T0M3YWJhZTJmcjJQSDc4WU9qNlJZZldkbjZ2aHJONXhIS1dzaGFsQmlnbnNyNFQxUHJRQlZLWENqcDlUS00xWHg2NmdRekM0ci84WC82Yitsa25xSW9DQklURmQzV0FPMW9uSGJDWkJwZnV0RjJKa1lUbk1iUVFUSEhLMC8vRlQvNThjc2MzUE1JZVY1UURnZk16WFF3MXJHeHNVSEh6RkNGZ1BQUnVFa0J6c1V3bVU0c0lZVFIraHQvM1RqT3RZalVhanhXemJqc05LYjE4MGsvM25qdnZNUUFTbWVvb0FoaWtCQ05yUVROMHZ3K2RuVVdLUEoxRkJhdkFxNG82TXd1a205dTFzZm1Kb2xaR1YrN3JQZHpva0RNcWFoUWFGWXZuME5mSG0vZjlGYU9yb2ZxeGdaN2tqMDg5OVNMUEhMZjQ4eG04eGh2Q1VIbzlEcXNyRi9rM1pOdjgvNm43L0w1aFUvcHN6Nks1S3Q2eVdia0FSc2RNS0pNVm5YYWlpYkxNc284bjBqTDBLUjBDUVE2elBEWVBZL3o4TkZIV1pyWlF5ZnAwT2wwdUxSK2tUTXJwM25ueEZ1OGYvRTljcDlURFNzazBaU2h3QlBROUxmdTRaUy9idzdnYW5zd3FWK1l6TkZ0YVdtNW8ybUZiTXR0emJpRWFQSm4vaHFFeVRncyt1M1dXMy84Njl5dHBoc2pUSnRQcWVoYk5DRjI0eTFjcWZlc3FncDZhY3FnTENpckhKMVUrR0xBd3U0dS8vMy84TjlRdWcxY0dDSVQ2UVdxTnBLOWxsdm52bGE5V2tOaURTNFhGQWx6ZGkvMzNmTUVMejMvQy9ZczNvVlZzeGl4R0J4NU1jQjRSMklnanJVWkZmK0lHaGNVWFoyZGoxRlRpSFJOcUZEN05NU09WZlZsQWpFcDA2REVvdEhzMzNlQUM1K2ZSbVB3d1lQU1ZNR1B4ZEROWk10MVVxZ3RzWGE4RXRtR3FsMWJaODBjOXg5NWlCLy82RGdQSFhvWVUyU0VkZWltczZnZ0ZDc0ZpNTBGZnZyWVR6bHkrQkJ2ZnZCYjNqbnhGcGVxRlRLckNNUzg1a3FxZXJsak83ZEd0SHFCWVQ1eGp0V2l0OEx4NEw2SGVPS2hIM05zK1JnTHlTNU1tYUFLaGM4OWQvWHVaYy9CL1N4MTk3Qjg5Z0Fmbm4yZlQxWS9wcW9LdEZXamk1NXZ4TTBQb3JlMHROeEN0RUsycGVXbW9TY2lyNm9Xc0tvV1dQSFhPdTJtWEZwYkllc3FkczNOY0huOUhFR0cvQy8vNi8vTTZ1QWlpaUZoVzQ3c3BJUEIxeWcxc1NDQjRFQ2JESVZIay9EWUkwL3lsei8vcnptOGZKUjhVOWhZWFVNclE1WWtPTzlRUWRIcGRpbUhOM0E0dmpWWHVCZ1JoVmFXWThmdTUrM1Azd1EwU2hrUWh5K3JteTlpcnhPTnhwSnkzMTBQOHBQSC81UmpCKytuWitZb0JpVWFRNXAwME1ER1lBT2JKTXgxWnptOGZBU25ZcGUxZjM3L2x3emRKbDY1Wm9IeE5EVEVabUROVlZwemtlTGlCWmV4ZFhldlNuSGYzdnQ0K3RGbmVPVCtSMGlxbEhLMXdncWthVXBabGxSVlJXZTJ3OEVEaDhsMnBYUjNaNno5OWhJWGkvTVlERG41N1g0WVdscGFiakt0a0cxcHVhblV1YnFpMmZMbldPZkZsbFZKMm9FMEU4cHFBMjBxL3UyLy9lOVlIVjVnWWFiSFd2L1N0aVUyWGE2K0Z0RjF2bXNYNzB2S1F1aXFHWDd5MUl1ODh2eWZjZVRRTVlickZZUE5DdTgwdlY2UExNMm9hcGVFbSs1akpYcmN4bXo4SXBNS1ZTbkRrY1Azb0RGVVZCZzBIZzNlajNPUGIxTWxwVkRNc3NDUDduMkVZd2Z2eCtYQzVjMVZlbWFPVHRiRE9ZZlZHbXRURElyTEsydVVrblBYdm50UURyNDQvVG1mYjN5QzdnbG9ZVmdPQ2FFMkVJNXAySkV3OGJ4eFFrQllNUE04OStPZmNmZlNQYWpDc0hacEhUOEk3T3BsL1Avc3ZWbVFIZGw5NXZjN1MyYmVwVmFnc0RXQUJocG9vUGR1TmxkeGswanRraVhaY3NTTXR4ZVBYL3p1Q0N2R2p2Qm9KU2xScEVUTmtHT054NTRZUDR6REVYNnl3OVo0ck5GNHhwSW9pazJ5OTBZMzBBQWFPMUI3M2JwTExtZnh3OG04OTFhaGdHNEEzVjFWN1B3UUYxbDFNMi9teWN4eks3L3pQOS8vKzhzNGxKanRkanRFTWlJam81RTBPUFh3S1ZiV2wvbmJWLzZHdnVraHl3cGhOV3JVcUhHLytPRHFSOWFvVWVOZFVFWmtmWXduWXFUTWRUaGhjYklnTit2czJkc21MVG9zckZ6aHQzLzM3N002dUlIQzBCK3NzQlVMZSsvWitJRTh0K0pKRWlZUk5IbmkxUFA4NHMvOUdxZFBQczNOcXdzNEE2MUdtNm1KU1NLbHdmbVFVT1VGYVQ5bFovNEpHVTlTa3V5Wm5hTWxKd0dGRkJvbEZVTlQxVjBNaWViRW9WTWNtWG1ZcVdTV2xteVRSRzJTcEFGSUJvT1VRWllqaGFZUnRXbEZFMFEwbUpUVEhKNTltQ2VQUG8zMGtxeVhrNjduK0V3RVZVUE9LQnBia1ZnTERkR2tSWnVFSnRQTTh2eUpUM0JzOWhnTjM0YUJwSzBuMkRPNWgwUW4yTUtSNXpsSmtwRG9CSVhFRnpDVlRQUDQwU2Q0Wk85SllwS1FlRmVqUm8wYUQ0Q2QrQlNxVWVPakFTL0RQRzZWSlY1OUhZVUZrWU1vbU4zVDR1YjhPK1JtalcvOXllK3ozTHRHb2tDcG5NTDFoaHJHWVlXdmU0SkFrZEFmRkRnMFgvN01ML0xydi9hZnNIL1BVZnFkakNScWd4WEVVWU1vaWlpS2dzRmdnRE1PaWNMNys5TVh2Ky93NDNuM0c2Tjcza21TcE0xRCs0OGcwT0FFUXV3TXQ0SUhoVUR5L0JQUE02R25TRmNMSXR1Z0hiZXhtU2ZQY3hxTmtIQmxyU1BQRFEzWnBDbWE5RmN5SXBQdzhjYy9SWk5KbXJScDBtSkNUSkw0QnNwcGhKVTBWQU5oSmNwcVloS1UxU1MwYURIQkh2WnhkUG80Y2Q1QXBncHRJaWFpU1JxcWljbURZNFZTZ2FSS0tXa21MYVRURkgzTG52WmVqdTk3QkUwMHJBQldvMGFOR3ZlTFdscFFvOFkyd2xmRjZrc2JMaWQ4c0lZU0JZaUNoZVVsQnRreWYveXQzMmU5TjA4U0N3YjVLcU5TU3R5UndMNWJDZFlxV1VpUThOeXBqL0Z6WC9wbFRwOTRndm1ieXhTOWdnTnpSMWxkNlNOZHNFSHkxaUM4eDdsUUJDRlNlb1BCd0hiQUk2R3FhQ1hLSkR3UlhDaWNsd2dua0RyaWtlT25lZlBtVzJWaVU2VUo5YnVhendvRWgrZU9NS0dtY1FOSWZVNGtCTlo2SkpJb2lSRStGS2JJMHh4dkhjNkRLUXFpS09MUXpHSCszcy8vRjZ5bXkxaGhjTXB5YmY0YXI1OTdqZFZzQlpkNm5uem9LVTRkTzAwcmJpTnpSVXRNVVBRTHBwSVpuamo1RkRiMVlCV2lFR1JaZ1N1TFlpaWwwRnFSWlFYZGJwZW9wWW1FWnBEbXROcHREczQrUkVLTFB2M3R2b3cxYXRUWTVhaUpiSTBhMjRhcVFQMUlVaEJJckExRVZnNFlaTXY4NlQvNUV4Ylhyd0FaeW5vcUYvZzRsbVI1YVd1MWliUUtJVkJLWWJiMjRockNJL25wVC84OFAvMVRQOHQwZXc4M3JpN1JTaVpwVFRSWVhGaWxsVXpnWGRoL285SEFlNFd4YVNoQUlNVDltajU4UUtnOGVjZmU4aHBGeEtFRFI5REU1QlNsTHJQMHUzWHZ6U0ZncHlJYjVFenNiUk5GTWQxdWYyaVRaZkpnaithTXA5VnFvYlVKaVZkeGcyYmNKTTlUQnAyVW8vdU9zY2ZPRXJjam1sTk4zcmwya2ZXMWRRWlhVaXlXMldRdmp4MS9uUDJ6QnpBOVMxdFBZUHVlUVdlQXp5RWlCaVRHR2F5MWFLVm9OaHNZWnhrTXVreFBUek8vTW84c0pGRWNZMjFCSTJyUWlscERuNGthTldyVWVCRFVSTGJHcmthVjJCUTRYREFNR3I2SER6Nm13MHBGdnZRbDNaelZ2OUdmOUU1UnpBM3JLOHZUZDNrWWorOHJ0R25zUGUrRDI2a1VlTzl3dnFEVlZFamxPUC9PSmRxVGtqLzQrdStRbXpVOE9aNGNad09KOVFLeVloUk9IUG0xam83MWJpUVdKSjkvL3ZOOCtTZC9objM3RG9GUjZLaUZMeVNtQUVXRThDSlVDaE1lWTNKR1VlQksyL2hnVEhiejljRnZmTy9kOWo2VU53dzladTNZZlJKNDY1RlJ3cEhEajZCSVNQQU1DTld2dk4zZEpCWkFLSWtUMEIzMEtheGxkbXFLd1NCanZkZGxkbllXV3hnY2xpaUs4TjZ6M3VzUnh6RkpJOEVVQllVbzZCYzl1bXNPMlpQY3ZIbVRUcWVETFVXeUN3c0xMQzR1RWhGVERBeGQxNk1ZR0JMWjROQjBrLzV5Z1NMSUJ3QzAxdUZuRis1RGxtVm9yUU81SnNjWUV3cFlEQk1HYTlTb1VlUEJVQlBaR2pXMkRSNWpVdHJ0TnYxQlJtNDZxRnhUMkhXbVoyTis4N2YrUHJsWkkzYzlQQmxWSkxhc3d2cStWSHFOZGNMTXpBekNTb3dST0dPUVBrYUxtRVpDSUlqQ005U2ZDamNzU0xyOUVsa3hwbytsTks5MW95b0RYdUJSQ0FlUmJISHN3RW5PM1hxWnltMWh1MlVSRHdxUDUvcXRheHllUFVacm9zWHk4aXBydlJXOEM5UDZFTXJ5RGdZRHBCU0J3RFpqcElKQjBXT3B0OGcvL1QrL1RjNEFSYkRVeXNsSkNaNXFEc2YxN2pYKzdDLytMNndMUlVkYXRNa3BPRFI1aUM5OStzc2NuVG1Gc3NHdkZ3bTV5Y2tLajFLS2lZa3AwclNQYzQ3Y1pIaHBJUktrUlVvMzY2THFSSzhhTldxOEQ2aUpiSTBhMndYaGFMVVQxdGJuU1JxSzJha1dLNTFiR0xmT043NzVlNndPYnBTUjJFQmlLMzRtNUNoUythQmtkcTJ6UXJQWkpPc1ZTTkhHMlVBT1JhUkRYUUZiUm1HRndZa1FwZHRKL004TE1hcVVGdDRwSSs5bDhweFhlT2VKZElPbm5ueVdzN2RlS1FtVXdQcmRIUlAwT042NWNZRVRSeDlGeEhQa2ZvQ1VrcW1KQ2ZMVWtxWURuSE8wSmxyRXNTWTFmUXBURU1lS1FiL0hqYlhMZEZqQlVTQ0V3UHB3ZjdYVUNDRncxcE9Uc2V3eUFDSWllcXhqc09UNWdMWGtlUTdFZldKYWdDS1dFVmlKeVlOTzFoaFBvOUVBU3lDeXNhTXhtYkRXWCtIbXluVXkrbU5Wd21yVXFGSGovbENuak5hb3NXMXdGS1pIMHBBa0RjaUxkWVJLK1ozZi9XKzVzWHlCeVZZOElyRmpuL0llbkJ2V1RIaWc0MSs2ZElsdXI0TXhoamlPaWFJRUlSWFdCZnVrWUFVV1NLd2Z2cXJ5cFR2ano0Y1hZeHJqeWkrcVRQaFNJZ2Fya0RMbXNVZWZRSlpqOTgzcTVOMEloK1B0cTI5eGVlRUNBOThqbXBTSXlKSFpsTUlNeVBNVTV3eHhyUEhLMHMwNjVHS0FuQlNzRlV1OGVQWUhXQXc5dXZSOWo1d01RMEhtVW5LYll6QTBkUk9KeE9PdzJtRGlncFFlaS9rdGZuVCsrK1J4aW10WWJHVG9tUzREMDBkcWdSQ0NORTF4emlHbHBMQTVoaHdSZTVaN1MxeGFmSWVDSEZjVDJSbzFhandnNm9oc2pScmJCa2RoK3N3ZG1HRjU1U2JMS3pmNHhoLzlMbXZwTGFDZ2x3Nm81QVNqRU95NHpQZkJiYVJXMDBVV0Z1WTVzUGRocEFTVXdwbFNZK3NLbEJaakd1T2dDSFpWR1ZoQzR2KzJra0V2eS9hTnd5Rzh3aU9SUW1PZFJRckZudG45ekNaN1djcTZ3OUsydXhrZXk0S1o1NjNycjdQL3lCejdadzdpVThONlp4VnBJMXF0Q1NTdzJsM0d1QndYRitqSmlOVnNrVE5YWCtPTlc2OGhsVWRhaVVBd043R1Bvd2VQY21qdlE4eE16ZEpzTm9OR2RubUJzMWZPc3R4ZnBLQW9GUjJlRjkvNkVjOGQveFNQekQ3S1pHT0tmcitIN1R1bUc0Sm0zTVI2VGFmVG9UbmJKRzRtcExMTC9Ob1NaeTYvd2VYVmQ4ako4TzlhNUxsR2pSbzE3bzZheU5hb3NVMXcwakU3UGNITlc1ZndaSHpySC80Qnk3MGJKRXBpaFNNM28vcXZVcFllL2g3Q2xQbDROUFQreWF4RWNPMzZKUTRmT0I0aXNFNWpqQ09KTkZwcklFUmdFU1lrendIZUt4Q2xKSFduUVl4cFpJY0lNZ010TmFjZlBjM2Z2bjRGUjdpbWJoY0hCQjJPZ296WExyd0tTdkQ4RTUva2tYMG5tZGs3aFNwaWNNRmNMUzBHdENhYkpOT1RYRnU4ekE5ZS96NnZ2UFV5QlRuZWVocTBPSDd3T0UrZWVJb1RENTFrWm1LV1Z0UU90bDM3Y2dweXJpeGU0a2R2L1pBM0w3MUJKKy9nSW9PVW1uL3oxMy9CRjU0elBQZjRjMHp0bmNSRUZ1M1ZNT0V1aXFMZ21xQWtLNnNMdkhuNVRWNDkrekk5MWxGYTRjd3V2Z0UxYXRUWUVWREFiMjEzSTJyVXVEL0V6TzA1eGsvKzVNL2puRUNnRVNMQ09aQkNFOXdJYk1tNFN1MGtZdXhWd2Q4V1ZYeXZ2OStKeXcyMzkzZDRIL0RDc3JaK2k5NWdsVC80K3UreTFsa2cxb0xVcm1GY2loQWVMMHBON0lZR3FMSFhlQzNSZTROQW9raG9ONlo1NXBtUFU2UWVLU0tLd3BQRUNWNk0yNEZaU28rRlVsSWd5ejNjZnUzR3ovUGRydVBtTis3MVB2anlYb3BTN0RCY2xrVW1uQStGSW9UeUZENUZKWWJYMzNnSlF3L1kxVGF5Z0NlS0kzcEZuMXNMTnluNkdkSXBJcG5nRFF4NkE1d3hwQ1lsSitYNjRqVysrOUpmODhQWFgyQzVXRUNqaVloNDd1REgrTnl6WCtEcEk4K3lMemxJdTVpQ05VazJueFBsQ1UzZjR1RHNJZlpPN3FYZkc3Q3dOSTgxRnB5Z253L29kM29JSkEyZGtPZ0dXSW5OTE5aYTRqaWltM2E1Y3ZNZHpseDZnemN2bmVIbTRFYUk3RVllYTNmM0hhaFJvOGIybzQ3STF0alZ1TmZIWURVWkwrL0EvZTVwbWx3NHBMYzRBZExMY3I5akZicUFEUVhyUlNsc0xaT21FQ205ZEludi9BL2ZaR0g5TW82Q3hEa2NCbkEwR2hIOXRNRDdRR1NESnJiYXQwQnB3WU01U0hrY0taZXZuQWRoc0E0YWtVS1ZWOVZiajFEY05uVXZBTzgxd2tzbzIzcS9FSDZMQU9wZHRyMFRocXU4UkpSMkJNSTc4RGxTQzZTQU5NODRmdlE0c1lwSmpRWnYyWGpINzNRZW03WEFPNGQ4V1JzR01nYkRtVXRudUh6cENvZjNQTXlwaHg5anovUXNzWTdvZER0Y21iL0NtWXRuV0dFUlM0RldFZFlhanVoalBQbndNNXcrOUNTUmpTaldMSkZVVEVSdEdvMFdTYXZCdGNVclJJWGkrS0dURkI4enBHbk9tOWZlSUNjbkllSHkyaVZ1L3MxTm5uem9TWjU2NUduMlRNelJqTnEwbWczbU95dGN1UEkycjU5L2xadkZkZnAwc1JpRXZKZFN5aDhreHFyQ2JSemJBcU8zNUppTXgyM2M1TUVoeXAzZHovSkJzSVVzYUNmY2tSbzE3aFUxa2EyeDYrRktIMWdod3NQUk9SZkltSGZJVFgvOGhTOWppWlVQN05CbnRzU21QKzVEVDlMeG4zMVE5a2tmQ2hkSVhJZ0dld211TEV6Z1IxOHRwUVNlbktMSVNSb1NyVDFYcmw1a2VsYnoxVy8rQnBsWkJRWjRESmtMamZRZStvTmlkSTVES1dIVjFyd2tzUTlDcWh4UWNHUHhIWmFXNTJsSEIwamlKb1VzR1BSeTJxMkV3bVREcW1NZWgvQUM3OHB6OVpVRmw5dDRyYndmSTUxalY5T1gwZHR5dTJITC9kYnJONndEaG41WjFYRUV1RExUWG5oUVhvSVBnNGx3ZkljVW5tNXZsWGhDTTlIUXBDTGlxVlBQOFBLWmdoN2RVaXhSRFM0MlhVc2ZZczdqYVdGK2ZHQ3l6UkJJc0JKVmtyR01QaGw5VnBibmVYMzVCN2R0RFpYdnNjUlpSMFRDcWFOUDhOaXhwL0c1SXJlTzl1UUV2VzRmbC9hUld0TzNLYzE5YlZaN3F4UnJscjE3RHZDWlQzeWVpOWN1WSttU01jQmpHVkR3byt2ZjUrWHJQMEFnRUtXRzJsS1U2WGNXanhzbWR3a25zZmwyWDBOWnppbVVFR05rdG15YThwVEdaQ1BDVzZVVUR1ZENIcFJRYnA2K3VOZmxBMkJjNDE2WjdHMzExUjF1c09udG12alcyQW1vaVd5Tmp3VEdvM25qZjRnRGNicS9mVHBCU1dMZDJERXEvV3A0OEJtVGt6UVNldjJVTE84anRXU1E5NWlhVHZqTjMvbXZ5WW9WQ3JlT0pZUldBK2NXNzFKZTl2MGtBQlpIenFWTDUzbjY5QUdLb2tBcGhiQXVaSndEZUlrVE5rUlBrZVUxSzIyNjRMNGZxUGVTcWliOHU5MG1XWTQyeW1XWmt1YWNvUkZIU09rb1RJN1VrbE1ubitURk15K2phQUxwN2Eyb0JqOWJ0K1E5YnZkaFlVU3dMQmFIMlpKY1NRTC9sK2lTWkFZU2QvVHdjUnBSRzI4OHRyQmtQc2M1aDQ1amhKSVV0a0I0ajQ0aXBOUTRZNWxJcGpnNDlSQlhPNWZvazQzMVhVOVdGaDZweWladkx0UWh4a2loUkpiRWFUc0pyZGg0RzBjaDJHQkpURFdZRVdWRnVITFFWbTVicVpidUYzNzQzMzB1TjZ1azd2SGdsWHNIQkdJdXkrV1dHTlBGVjkvZEhmRVZxUEdSUjAxa2E5UzRYM2dKUXBkL3lBVmUzQjZsYkxZYnJLd3RFaWN3czdmTldtY2U2L3I4NFRlK3lsTDNGbzQrbm8zNmdBOXp5alVJQ1R5dnYvNDZ6ejN4UmZLaWo1YVRJTU8wdGR6d2tOdzB4WDZiVzhET1FoVkZqNklZTHl6TzVFaXRlZnpVazB6cFdWYk1Db0owUkNZMkM1OEZlTy9ZcVM2RklZSm15dGI1a1pYVkZoRTdWNUlXaHh2R21CV0tBd2YySWIwa0wzS1UwTGdDbEl0cHExWkkvdk9BOExSVUcyY3RlWjdTYms0d3QyY2Z0enJYZ2kwWGR0aUNZZHVxUHJ6cG1vNjE4cmJQZk5nSUpDNDB6STYzWSt6NjJUS3BVcFQvVzJUUWpwZGRRbG0ydGF5RGUwQWl2VE43ZG8wYTk0YTZIOWVvOFNEd0tyelFHK1FFZ2NnYThxSkhGSHVpeEpFWDZ5aHQrTDJ2L25kY1g3NUlFbW0yZDRxNjB1TjZMbHc4VCtGempDa1EwcFVpNG5ISnhXNVUwMG1VQ3NsLzNndUUwSGlubUd6TjhQaGp6NVNwYTFWczZUN3V3N1pmZ2xEbU5hVGhCZW5ISGFlRktZazlMbXlyQkVKNFZDVEpUSWIzbmtiVUlCWXhzWStJZllJYmVDSVhvMDFFNURUU1NsemhpSFZFTTA0WWtBYXBoZkI0NmQ1emROQVAyN3I5QTZIUVpIZlhadHVTd0Jva0hoWHNMa0pRR3l0R3ZXYzdYbkQvQWQwYU5YNWNVRWRrYTlTNGI0ekpDUHg0emRnd3ZZb0lSSGJ2M0NUTEt6ZFlXNy9KSC8zeDExanFYa1hpR1JRRHFzZEtOUlg3WVNmQUJETG5XTzR0c2JLeXhOemtCTUZxQzZTU0crMnB2Q2kxc1ZXck41SGRiY0c0Wm5WOFhCNElxbFNhUE10QWVMUk9NRFpudlRQZ2s4Ly9CSC96K25lM0pqQzNXVkk0dGpmdWRnY0lnQzJ5L2U1bUl3R0F3MHFEdzVLNWdyWndSRkdFbEJMdlBEaUJ0bUYxNDFJQUFDQUFTVVJCVkJIS2FHSWRVN2djZ1VWcmhSTGhrWkhiUEZCaTRmRGEzN2tiakVXMzc3aHUyK0NxWXNWMzNrU0U3N2luSEhRS0dKWkNMdTJVZDRTRDJQMGtpd0hhMTlHc0dyc2ZkUit1VWVPK0ljY2lzbU51QmNLQ3lFRVV6TXcydVRWL2lkeXM4Y2ZmK2hvTG5jczB0RURKSE1qeGhNcEhVc29obWYzd3owSml5RGg3L2d3T1V5Ym9qTHNSU0RhY0gzRGZVY3ozRWNKdmZMbXljSU1UMVhNNnROa0xoU3ZLaUt4WHBEM0RzY01uT2I3M1VXU3ArYTEwenU5SEFzMkhDckhGQzZydzYraTFhVnZ2RGJuUFdPck1JeEtQVEFTNVRTbHNqcldoeEd5c2s1RGM1MzJRbVVpSmlpVGQvam9yM1JVc0JpdUtqZnZtTHNmZnF1M2JqQTBrdGpxSDhmWjZBZWhTU2F2Q3JJdU53RVhneWxrWThUNjh1STlsTlF2a3gzNis1MlZOQVdyc2Z0UVIyUm8xSGdCT2FLcnFVcDdnV2VzeElBb1FCVGNXRmtuekZmNzRXNzlQcDN1TE9JSitzVUpJcWFpeS9iZU94dDQ5NGV2OWdjY0ZuMVh2ZWVXVkYvbk14NzZJa0Nab0dmM1lsS3N2S3pJTXlicGpZMUdHYllRb283RkQrVVA0M1FONW50Tm9ORVBWS1JPeTZTZWIwL2hjOEtublA4M1pmLzF5S1MrUXVMR2F2MzRETWF2T1ZaUnZqUktzdGoyb09FNit4dWVPTnpkTWpERzA4cnd5bC9IYStWYzRNSE9JMmVZc0xvZEl4M2diMW9sSTRMMUZLQkhjSVNSa3hZQ3JpMWU0dW5pNVRQVHp0eC9QangrcVZQRDZNVWVBSGFSU0dWNnl6VzF5bEFVbFFsR0pVTnBZNG5CWTc3Qm12Tzl2THlPLzM2TkxMSktDN1I2UTFxanhvS2lKYkkwYTk0c3ljMy8wS0FtNldMQWxrUjNRR3l6eVQvL0hiN093ZGhuSWtOWlFsWjF0dHhPNnZXeURiZFU0cEpTbFQrZ0gxUHl5eFNpUE40NkxWODVoUlE3S1lFV3cybEpTSW55VjI3eUpjUWkzdmRQRFluZ0d3OSs5ZEFnM0lobEZVVEF6TThOZ01NQVZEaGxGekU1UGMvMzZWWjUrNGxuRXY5WkRpeTFacHFtN0hSQXBmTSs0allESk1yOWVERmQ3d0R2d3d1SEZxRDk1TEsrY2U0V25IMytXUml0QmFvWFdHdXNMVXRkSENvWFVRT3l3eG1DRXBXZld1YnI0RHF0MkJTZUwyOG16SHprVGlMSEdlU1RXbTQxa2RwdEhBVlh2R1E1YXh0dmtRQ1BMb2hFYVhkSlpqeXBOeEhUbFZUSjA4cmpYMmYxeERQMnQ3MkZaZmU1K2g1T1dBb1BaU3B4U284YXVRazFrYSt4cVNDa3h4cUJWZ3lJM1NHRlJTbFBrQlZHa05nYUtmSGpTZWo4aVlPSzI5WGZXcWQ2MjNudVVESStSd2hSWWx6STVGYU9paVBNWHp0R2FFSHpqbTE4aE4ydElDaHc1amlMNDNRSzlYbmJidnNmeFFaTFk0WEVCblVUa0ptZEFqM01YenZEVVkyM2l1SVZ3NEl6YnNoQ0JxS0tYNytKY01INWUzdnVoazhENDhlKzZmbGpjWUl2ckx6eENobHg4Z1I5R3RwMnd3MjJTSktIVDZhQlZqQk1XSEt5djlabHN6MkJrank4OCswVysrOHFmWThyRU53OUVFZVNHdTVLdFVvSEx0a2V6UEJBTHlEdzRTVVNFSjBRU1l4SU1SWWdpNHZEZVlMMEg2VkN0Q0ZGSWVtbUhmL085LzRmUFBQdFpuajMxTVpRUTlQSWVXVDVnb2pYSjJ2bzZEa00wRmRIMzY3ejg5a3Y4dTVmL0xZYUNwQmxURENEU0dpMGo4a0ZCaUhsckZIbzRiUjhUVTVDUkExSUxyRGM0NTkvRjYrbkR3WEJTWVpNc0lsRWFaUVVKaXMrZStneEg5eDRsNzJXMDIyMmNjM1FIWFpyTkpzS29VQVRGbFZYNGZJalRWNFUraGdVL3RsaS9BZmY1ZWVWRFh1Ym03OWs0S3FsSUpXSHkzdU85WnhBUFdKL3U4K2N2L0RrV1N4SW5aSG1HVXFIRThQZ01SWTBhT3hrMWthMVI0MzRoUEwzK0dqTXpNM2doS05LVWJxOUxWcXd4T2EzNXlsZi9BVm14aXJFOUhDbFZKQllvaXpkc1g5UEgwVTk3T0RTU2dqZlB2Y3F6VDMyY2ZxL0xSRHhWYnJGRmlISkhXbStOeGFxMmtENElGeVFnc2pSZWtsN3oxT05QOC9LWkYrZ1VpK1hFY1VGUlFKeEFYdkFleU93MkJ4WTlZQ0NKbWlnYkVia0k3endSRFJvNklUTUZSVG1BeXNrQmc1QWVNOGpCUWlTYnpLL2Q0a2RuZnNBZzYvUEkvaE5NSlRNa1VjeEE5bWpzanlqd1hMNTFrUisrK1gzTzNUaEhvNW1RZWtlL3YwNmtFMXdXSEd4RHdkdVlCZzJDNnRoaENES1ZVQTVaZ1FFWERHMVJXbTV2aWRyeDZQQllSRllDeWdvaU5MTk04VkQ3QUlmYis3SEMwb2dUbkRjTW1LRGRhc0ZBSXJ5ODkwRndkV2gvOS9WM0lxamVoMExSYWt5eHNkVzIzbnU4S2dlRFk5NiszbnZXNHg0RGV5WE0vRGc3OVB3ZERSUjMwQitwR2pYdWdwckkxcWh4MzNBMDJ3a3JuVnUwSnhKbTlyWllXTHhLYmpyODBiZSt5cTNWUzBBRzVFQXhmT0w0NnI4ZE1MMktBR3NMUWtvTHZQVFNEL21WWC9wMXZJMUFUQkMwcG5JVVFSb1MyUEVNb3UzRHNBakZCbFFQNGxFcWovUUVxeWhmclJWSUp6bDEvSEZPSEgyVWx5K3NvUkRrV1BDT1NHdnlmSHpTZFNzLzJlMlB4azVPVEpPbkJUWUxtdXNXRFI0Ny9qZ25IMzZVZmJOek9BZHJ2VlV1WHIzQVcrKzh5VksrZ0RVRlNkU0MySk5uQloxOGhkNzFIb3VMODh3ZnY4bXhoNDR6MlpoQ2VNSEs2aXJ6eXd1OGZlVXN0OUxyR0FvS0Nyd0kxMFlVa05CQW9UazhmWVJqQjQ4ejJacEV1aERWdTNyOUtyZVdiN0xrRmdFd3ZnaFQ5TjdkVml4aHAwRGEwS3NqSWg2ZWVaaDlyYjNNNkJtc3lrbDhqTGNGRFIvUnNBMGNDb1FzRStqOGFMa1pkMWcvTkVHNHczcVB2eXVaMWVNNit2SFBsajg3NzRhSnBGWFZ3MkNaQmxaNjhqUWZFdHhxQnFqYWg1QWZ2RWEvUm8zM0F6V1JyVkhqdnVGUTJxSWpUMkc2RkwyTVJzdnp0ZC8rQ2plWExoSXBSMkZMRXJzVmRzb3pvaUxVeXJOV0xISHhuWE04OWVqek9DeGV5STFrMFZPUzJYRkhnKzBrczNlYjN0OThnUU5qa01Nb21FQ0ltT2VmK1RTdlhuaU5SdFFrTHpMaVNOUHY1M2ZjWStVN3V0MjNUeUFwK2puZVFrekM2VU9QODh6cDUzanMySk8wNHpaYUpoUkZ3ZEg5bHNQN2puSmc3Z0N2blh1RnR4Zk80b3BRTXJiVkRCS1NQQ3RZeVZkNDRlejMrZEhaSHczMXJTMWFyTlBEWTRKc1FDZ0tYNEFRdEpOSi9BRG0xQnluSDM2TVI0K2Y0dkQrSTdRYmJZU1ZGRVhCazhlZjR0dzc1M2o5d3F0YzdsN0M0WWtST0cwcGltTDdMK0ttSkRVdGcxcGFvWWxwOE1paDQweEVrOGhNNFZJVk52SUttUXNLNHhCU2wzS1lxa2RJdks5cVpJMVVyWGRhTDd4RTRQQ3UwaEhJa0RSYUpwQTZHOTRQNjkxd0dkWUhPWTN3bGF6R0RaZVZwdDFhZ2RaaEJzTGFBdWRDb0ZXcENJZG1hV1dad29hL1Q1V1VRQWlCYzI2RHhybEdqWjJNbXNqV3FIRy9FSTdDWk16dWFYRnIvZ3JydlVXKy9aMC9aSEhwS2tvWUNqdWdpc1JXemxvYlpXYzdRR05aUVRpc3k0Q1lsMTc1RVI5LzlpZkl1NGJnbnhwUkVka3FJU284NDZvNlVUc0pZYksveWtJZlJaSUJmUERCcldLeVh0SmJ6emwxNGdsT1AvUWtiMTUvaFlnbWVkRVBXMnhsYWJYRDRHeVkwbi8wd0drKzk0a3ZjUHJJazB6RlU2emQ2cEtiSVBTTmtnWjdtM00wSC8wNHJWYUx3ZmNHM09oZVFZbVliSkFDUVZ0YlVKUnE0NEtFQkFlc3NoSmt1RVJrcERqdjBDaU1nMkpRc0pjNW5qLzFDWjUvNHVOTU5xZWdFS2lleGhVZU0zQWNQWHlNcG03UmFyVVFid3JPcmI2RndSRVJCMEs4blNqdnB4UXlSSWM5S0hSNXl5V3phb2JERHgwbm9rM2U5d2lqY0NwR1MwbWtOWm0zZUtXRDNkc3dZMHlXcy9GeStEdUlMZGNMU2wvbU82d0hRY2hiM0x3K0VHRlorVG9MVVJKY3NZa0lDN3dTZUIzVzU3N0FJNGlUQ0M4MFRtdHVMU3lGQ08wWXBKUkQrVUdOR3JzQk8rMHBWS1BHTG9LajBWUXNMRjFGeDVadmYrZWIzRmg2QjBTQmtBVVZpWlV5dkVZMnNSS29QQnkzOFNzNGVqYUM5RmhmNEhHOCtlWWJySFZXdHA3NkhlcE9kd0FCdjgwenFZUnd0NytHN1EwL0MrOUNaTlpLMnExWlB2WDhaNUJvMm8wcFFDQ2xCbDFtNVcxNW43Yi8vQ1dTQ1QyRkp1SDBzZFBNVGV5anY5eG5mYjRIbVdKdThnQjdtL3RKYU9IN2dnazl3Y25EajNMeXlFazBTWmgySmtJZ01kZ3lLejhVa2UzVEk2VkhLMmtpZ1l4MGVFeFJFdDh3OVg2Y2t3ZE84ZERzRVdLVGtDOFppbFdEeWpTeFNWaTdzVTVMdFhuaTBTZDQvT1FUeENRSVpFZ2kzT2JIVDNDR2xjUWlRdml5V0pjTmF0NlloSWNPUFV5ejBjWWF5QXVIRlJwUEJDcEJ4Uk5JM2FEcUcyRjZ2aXhuSzZyaUdTTnZnUzNYKzlGNk5kUnRoL1hTajk0WFF0MXhLVVJJcjN1M1pYVThLU1ZTYUp4enBHbEt4M1RLRm96dXhYYjVXZGVvY2Irb0k3STFhandBYnMxZnc3bytmL0tQdnM3cTJnS1JsQlN1Q3pZalRpUjU3b2I1RXFNQVI2aDBMeEI0dHA3Qy90Q2dBQXRTZ2JXaFZhdnBNbWZPdk1GelQzeDZ0TjJXQkhZSGtMa2gwU3l2OHdaTHNJM3RFNzZhTFBYRFdMaVNFYzdBd3c4L3dwRTl4N214OGc2Z2NTNHJSeDViR1l6dUhHUW1ZNGE5bkRwK21rTjdIcUsvbU5HUUxZejN1TDZqczdwT01oRWp2RUlaeWI3cC9UeHk1QVRuTHB4ak1iOEZVQ1pqZVNLUllMME5rZGZ5UER0WlJYUkFFeU5SUThPbVBYSXZqeDkvZ3RubUhsemZReXBwaUNZdDNhSVpOekdSWWFXN1FrWk9zOW5nNk1HakhHd2Y1Rkx2WW5CUDJBRUl4YVVGaG9xU0trQXdGYzl3N05najVOWWljb2hFa3loS3lLM0VXQWRLWWhCSVk0bUdmdEIzZGc2NDAzcFpkcWN3bGh6MVMrSDlVQ0JnTjcxZmxWOFp3dDNkc1VEcm9JMFZOdWhsVldIbzkvdXM1VXRVL1ZsSlJiRnA0UHBoK0ZqWHFQRitvQ2F5Tlg1TXNGWEVUR3o2ZlJ5QlJvSVp5M0QzM0RsS1drYjFoR1BvR1NSVEhEMis4NmRmNTlyQ2VhQkFTeHYyaVF0UlBjYUlyTnZZVGlsaE81TzJBWlRTV0d1Z2JLdWpBQlRuTDV6aG1TYytoaEtHSUMyb3NMRU1yUFMzKzY3S2UzajJ2ZS9pQ2ovdTZYUjdFcGlIMGo4MEhGbDVqYytnb1NiNDNHZCtrdi8xWDE1Z3FqSERhcnFJdDNhc0M3bXg1THdQdUJEQ2U1UXlWSnROdHRwTXRDWndoY1BrbG9uMkpJTkJTbjh0cFJFMW1XNVBNYitXc2pLL3dveWU1T1N4Ui9tVm45VmtMZzNFVFFwa0pPbm5mYzVmUHM4YmI3MUcxM1NSS09abTl2TE1NODl3N1BCUjhtNUJuaG9tR3hNb3Ara3U5WGppOEpNMFhCTTNzRWdqYU1rR3ltblNiazVoY3c3dU84aVZ4VXYwT2luTnBNWGMzQnhYZTVjcGh1NmxXL1NBdXdVRTcrSEN2NWVJYndGb0tjQldrZVlZQWV5SjkvRFE3QkdpUVlSRGtNUk5ZcG1RRGdZVXhpSVJlT2VJRU1NMkNVYkVMOGdHeWlZUHlhRFk4RE1FSWwyOXA4djFhbFByOWFiUGJVNFdRd2ljOXdSMVFWZ3ZmYWx0TjQ1WWhMOXBSUmwyTG1SQjEzWlk3aTBFY1pEVXlFaERWZ3pKY3RpdDJIaTUvVWhWdERubHMwYU43VVJOWkd2c2NnVDdtM0oyZktoTWM0UmtCV2N0aUxGeXE5NkhxVFl2UWRneUltb0FIZUowdnRTYmxWK040THRvTVRiSCtaekpxUVk2a2x5NGNKWm0yL0Y3WC91dnlNMHFVZ3h3M21DY1J3aVA5NUFPUmxudm8yZlBhSW83a05odFpMSmVZck9RbnkybHhwSWlsTVBaQVQ5NDZTLzVoVi80Sll5RHlUakJaQWFNb05WdWtSZWVORTFwTkdLTUd3MFlobTVHNDArMzhTaVBEOWRsYUExVXl2ckUyUG95YzJiMGtmTHp3bTkwU3hxdXQrUFJxSTFMR0QxbzNWaTcvSWpOMG93YTNMcDVuY01uRHFKUFBjdGZmL2NSYnExZFJSTGpoY0VwQjc0WXlqQ1VGd2l2OE83OU1rQWRzd3ZiVE9ER004cktpTGdZNnk4U1E0U2tNQm5lTzVvVFRYcUxHU3NySzVpZVo3YTloemlPNlhYNlJFVE1UdTNGNVRsZXdNRzVRMml0RVdsRWxoVTBKeEtpaVpnbUV5eGNYaUpmdjBKRXhKR1pveno5OExQTVRleWxaL3RNVGsrUmtKQjFNdUpERVJPTk5wMlZEb01zWjZvNVJad2s1TDBDWnp5TlJzTHE2aXBSRk5HY2JOSHRyekhJczVCWHFDU0ZIWjNKOEJwVTU3MzUvRGZEYi9yTWtFeU9EUlRmaGNoYUhEU2hid1pRbGo2STBjUWtmUHJFcDBnNmlyalFDSzhRaFNYelBaUUlzeGNPaTVJaGJpM0hyYk0ydXc3NFVjZjEzcGVPVnFQMVppem9YMWxxYmY2ODgyUDdHbHRLTDVGbDhRK2pQUWFQbGVDZFFIdUluS0NsR3RoK2prNGluQkQwR0xCT2ovaDRpeDkrNzJWU0NqSm55REl6dkl6R2hKK2QyYnFQMStTMXhrNURUV1JyN0dySW9VNXlMTEl6N25HNlFSODUvcm13dEhMeitqSWlXejRvZTcwZU16TVRVRWpTcktEYkc1QVg2MHhNUlh6bGEvOE5XYkdDY2VzNFAyN1ZKTjVsV200SFRVK3JDS3pGV2greXBBbm1xWDI3eHB0dnZjcm5QdkZ6ckMrdk1oSHZBeVJwbWhKRkVhclNCbnEzUWFxNlZmR0VPNkd5SFhyL3NUV0JxZUtvbGYyUTlCS2I1Y3hONzZXMzBnTUVYL3I4bC9rWGYvYlBVVVFZSEpoaXREc2Zwbm54bHFweTF1WkVtZnRyNjNoL0hWdDFsMTFYVFlxVUlrb1MrdW1BNVpVbEhEQTdONHRwT016QXNEcS9TbU1pUmlhYTNHUTRhVkNSWkxYYlpXbHBpYjJUaDBqVEZOL3pzT1M0ZnZNYTNmNDZEbytoWUpBTldGaTRSYnFla2E0TlNKT1VoQWFtWjJnbFRRYjlvS050eGsxY2J1aG5QZkNTS0lwd2VGcXRKcDN1R2pJZmtDUVJyWWttRGs5dUM0U1VZOG1QVzBSbHg1VWQ0NnQ5Tld0eTUrL1JaaEliNWwvOGNEazhoaXNIRUVLUytBWVN4YW5Hb3h5YVBFRERhS1JUd1NkMmVEdkNqSXdjaTlCWE14TERNUWVsM2R0N3NMYllaSm9RRXNmRzIxM3U1MDdmcStvcU9DUldXcXJLdVVObkRodVNHcVVETHkxV0dHeml1TGwrblQ0NTVvT2VYYWhSNDBOQVRXUnJmSFRoQmZoS2NSWXlma2ZwN3VFaDJXbzFXRjFib2owUk1idW56Y0xTVlFyVDVadC85UHZjWEw2S3B3K2Jpanp1SmwyWmtnSnJSNTZlMWxvVUdvL25oejk4Z2M5KzhtY3dwa0ExQmM0Smlqd25paFJheFhkT3R0cEZjQTdhelFhTG5TNnFwWG4yNmVmNHE3ODl6dm1sYzJpUlVIZ3pKa2dZZy9CSW9YRHZXMlMyUkVYdTM2VUxWVzVOUGR1bm1mYnBaMzFtbWhhTHA5TmZnMEtSeEFsN0RzNWlmVTd1Y3lLdDZKcU1TMWN2OHNOWFh1Q3RwYmRLd21vUmVMVFFwSDVRRmxCd1NDRjQrY1pMbkp0L0MrVWx4aG1hdE1QcEkyblQ1RmMvOWFzYzJmY3dPbzVEWlQydG1XeE5ndldzcnE4UnhSb2RLN3h3ckhYWDZheXVsYk1sbElUMExrVHF2WHlON3JDTjIwUnlRd0ZpTjF5T2JRaGVFc3NZYmNPay91T25INlBkYm1NNnhSMWp1dmN5WVBzd0lmekdTMktkUTBwQjRVUGZzSGhVcExsOCtTcCtKdzJvYTlSNEFOU3VCVFUrMnZBYVVPVnlmRnpuQUlPT1BGSHNNYlpIdDc5RW94bkt6bDVmdWtnc3g5Vml1eE8rdEtzUzQzUDM1WHZuMzNtYkN4ZmVabXAyQWk4dHVVMVJVZkFIMVRyR1dyL3J1YXhFa09lR1JNVkVLZ0lqK09WZitQZUlpTUU1SkJvbEU3U09RRldEbkRJdTV6K2crcXFidzNURENLVGM4SDVRUnppV2ltWE9YMzZibkp6bVRKUDFvc05LZndtakRYMjd6bEp2aVZ3T2lLZGllcmJMNjJkZjQrelNXeGd5QnF6VFo0MHVIVmI5SXFsWXgrb00wYlRvU1lGWEJWazhvRXVIQVgyNnJMSE9LdXVzc3N3eVo2Nit5Vkp2RWQvd3FFbE5yak82Wm8wZVhXeFUwQzNXYWM4MjhkcHg4ZEo1M2xtNEJJQWlHbXBBUkhrbk5sUmllemRKUWZXWnV6ekNLcUlXZkJqY2h1Vm9Jd1Zlb1p5a3dIQklIK1RRZ1lmSXNteFk4bmdVaWQxNmRtYzc0Ymg5UENtOVErQndvdFROYW9HVkRxL0FDb2NSbG11cjEyNGorelZxN0ZiVVJMYkdSeGlsRFphUHdVZGpUd1FId29Jb0tFeVhQWHZicFBrYUM0dVgrYzNmL2cwV2w2K2dzZVJ1bmVveEo0VFlmYlkxd3VGTURqaVU4TWd5TUYxTnYyWU0rUDRMZjhQa1ZBdm5jd296b05HSXlVMEJVZ2M1d2k3L0UxSXFCV2dtTFZ3QmVhL2c5SW5IK2Zoam4wQVFCam5PZUt3UklZSG1QWEN0KzJ2STJHdnNkNEVNTmtybHY4M1h1eEUzc0JpKy8vSUx2UFRXUy9SOWw5WmNnOGFlbUZUM1dmZHJpRW1QbkpLc3BBdTg5dmFydkg3dEZRd0ZrMU1UT0ozaEd3WmlBOXFGc1p3QVp4eFpQd01CcGlod3d1RzF3ell0dWM3SXhJQkNHbDY5OFRMbmJwNWwxUzdqV29aVTk1bFBiN0R1T3pUbUV2U2twT3M2WEx4K2dmT1gzOFpTQUo0azFxank3T0FPQ3BPN1hHQ3g0U1dITDE4U1ZWOU8vZDkxaVFNbndjclNIMWZ5c1dlZnB4RTE2SzUxaWFKb3d6RTNKelh1TklRY0FiZmhXZ29GdmlTeU5uSVlaVmp0cmRCaERjb3JWYVBHYmtjdExhanhFWVlzcFFVVnlnd2dVU1dJV1JvdHdmemlaWFJVOE8xLy9BMXVMRjFBQ3craUFCZEk0SGdKeU4wa0t3alBzQkJWcktTQ0VLSjhpUWdQOTFmUHZNVDgwalVhWWdha3gwcy9LbmRwUzdPRFhReFhPTnFOSnJuUHlRWTVyWmtKZW10ZGZ2YW5mcDZ6NTk5aXhTd0NIdWR5blBNSVZTYjdsRjNsZzRBb1NXeWdySlgwWmFRSnJmNTNRT1lLREpaVnU4eGYvdUF2NmF5djg4enBaOWt6dVJmaEZjbFVSTzR5cnQ2OHlCdHZ2OGJyWjEraHp3Qkx3YTFPSjJqRXg4dzZoSkpvb1hET1lZdnlCS3VFT2lVeG80YVIyZ0VTejR2bmZralByM1A2a2NmWU43T2ZxSzN4R0hxcVE4ZDF1SEQyUEsrOS9TclgxNitIOHdNRytXQ29XVldvTWxvcVE2VFp1eEZMM1J5ZGZrOFhjTlBQbTM4Zlh6cUpJa0tqbVdXV2t3K2Z4SFFOemxxU0tHWlFtUGZzSXJFZDhDSzhwQy90NUZ5NGZxSzhUVjRxREJZbkhVNkRFWTdyTjI5aENGS0RHalYrSExETEgwTTFhandnZlBrVnFHeTFnbWROSUtxaVlHRnhFZVBXK1pOLytIWFcxbThTU1V2aGV1QXRjYVRKQ2plYWd0eEVZbmVURDJNbDlaUXlPQUZZREI1QkoxdmhiMTc0Szc3MDJWK2swVTdvOWRkcE5TZXdoZDk5RWVndElJUUlyTlI3RWhVVGk0aGU1dGszczU4dmZlNm4rVmYvMzc4a3BVY0JPSEp3SHFGOTRGanZRY3Q2eiswWjhjUXlJbHdWemdqMi9TSFJDQ29pT3pCOTRyaEJubWNzRmZOODcvWHZjbVhoTWtmMkgyR2lOWWtwQ2pycjYxeS9kWVhybmVzWWNpS3RjZDRIMnpXZ0RKSU96OFhoRVdnMGtLaUV6R1VoZ21rVU5qZGxkWS93ZmNuSnVlVnVzSGgybnVzclYzbjB4Q2xtcCtjbzBweHV0OHZhMmhyWGI5M2dadmNHbGxCcHpGQU1FNjVVZVg3Qnl6WTRZRmhrSUxOM0hTbUVkWExEMWRoOE1UY3RiOXRGS0VVYkVUUE5CTTgvOFR5UmkwajdmZHBKdTV4eEdLRkt4cXIwc1Z0WnozMlljR0pqZkw1cWwvQ2dxbVF2NGJEZWtIcURrNTdNNTF4WnVJTEZVSkRYVkxiR2p3VnFJbHZqb3d1L2VWbzg2R0lEb1MxQURJSlA3RC8rSTY3Y09ndGtSTW9UbnZ3Z2xZUGlkbHVjQ2xKS3JQMkFkSlR2Rnp3b0hZb2hBR2d0eWEyajhBYUpRRXQ0OGVVWCtOSVh2a3pTYkRHLzNHRm1lZytkdEYvNjVKcTc3bjZuSTRvVWc4R0FwSmt3MFpwa3ZiUEd2bjM3ZWVmcWVYN3E4ei9EaXkrK3lFcTZSS2RZQ2huZVBqalFldkYreGJOR0JLd2lzV1dOSjBKNWltRFpQNklzSnRqRUFXQ3gybUdWeFl0UVhqWVhBODdkT3N2NVcrZUlpTXNCaVNOVTdMSVlESmtaZ0hRa2swMnk3bUI0YkYzKzg1UUVUOFRrTmtjUmhjODdEeWdRRWhVcmJEckFVQ0NFeFBpQ3R4Yk9jbTdoSEtxMHNpcGJTRXhjSGp0VWpnc0pWNkRLZjBFU0lIQWxvWlU0TEFMbjVVZ0M4QjZ3UWZ1Nm1jUnVzREtyM3BKRWFGb2t6RVF6UEhueUtmcHJmY2d0cmNZVWFab2lSVFQra1IySGNTSmRsWThPTmw2bFBsZ0lDbS9JcGNWS1Mrb01DeXlXVzd0YUoxdmp4d0kxa2EyeHExRk41M3RHUzZxZk54RkxIMHhNUTdUSENmQU9xVFhlTzR3dGNENWpjaXBHeDRJTEZ5L1FiTU5Ydi9hYjlOTWxJQU55Q2xzTXRhUnBhamJ1ZXhOMlBJa3RNZDdNUEJzdjVXcFFzZWZDelROY243L0V2aG5QNU13a1M4c0x0Sk5ac2l4amd6Q2o5SUVkdnhidnBxQWRMNFBydlE5WjE1c04zOGYzeitiOVAxaElUQWlCMWhwakROWllZdFdndDVxeVoyb2YyWHJCMy8wUC8xUCtwLy81VDFIRVpjNjN4aFJabU02Vjc0TzZJQmlMam40RkVwa2duQXFWbzRnUktHYWlPZmJ1MzRNUW5zV2xXNndORnNqSlFIbXN6VUdDdytBampVbnpvS2pWbnR5RXluSEJjc3hVTEJrRVpJUEJCb0lYWXF3MitDL2p5SDJLSDd2RFdtcXNzM2pyc0xrYjdxdWdxcVlXcHJTTkQ5RytjRDR5dExORUZVR1ZwZUozZ2luYXFrMXpva2svNjdLUUx1S3hhQVJPV0FwZkRLVVVvNlNyMGQ3dWZtMUJ4Z0tYaDM0Wk5UUkZhcEJDb3BUQ0Y0SEk3bVVQUC9IY1oyakpKb1ljcVFWS2FJUUU0OHEvSjFSL1R6eVZFYkgzNExhbzFsVjlEMkNqdThGVy9YZno1OFdtOWNQaUluNnJ6MWR0Szc4blEzL1pLdDV0ZzJJMlVmVFROU2FuWmpqem96Y3BNR1JsK2V3ZHk5QnIxTGdIMUVTMnhrY1h3dEh0clRFN093MkZJTTFTdXIwdStWcUhpU25GVjc3NkQrZ05GaWxNRjhpcElyR3dnWHZzYW9RSFlQaDVveHd4YUJZNzZUS0NoSC8zVjMvQmYvWjMvaDVacDBlenRUZEVNYU1FOTBGbDduOUljTUp2bXA2VlNLZUFHSkJNTldiNHBaLzdGZjYzUC85ZmFPcHAxczB5c1l6SlhjNERLeXNFWTRhZkREbWFjY0VDTFNIaDBOUXhQdk9wejNQaWtVY3BpZ0l2SEhHaXVQak9PZjc2eGIvaTNQeGJRWEdnSkJoUGx2VVJNZ3pPTWpNWU85YVk3clE2WG1YQ0lFRUpHV1FUNkhJd1lVdjF0R1ZZOGtLRmNnTldBRklFZWZXbTc0RVhnVm81Yjh2ZFcyU1ppQldqc2VXSDVpYm5PSDNzTVQ3LzlCY1pkSEpVcEVCWjNybDJrVE52bitISzBtVnliOHVJN2NpaDRVNWZPNGtzVzhxRzBVOUZZb1VtRlBVWVNvSlZXZnFnd2JGOUQ3TzN0UmVmT256aGlkQjRMOHBCbGl6UEtYd25ndmV4MnpFRXNLU3VWTFhxUkZsMEJJS2ppQkdld2p0RUsrWm1aNEcxZkowQ2g2V2c4TVZPT1kwYU5SNElDdml0N1c1RWpScjNoNWg5ZXg3aDg1Ly9hWlNJY05ZalJJUVFBbWM5U28ybUprZlB0aEJHRW1WSjJqalJySGVYaUJPWW1JeFk3eTJTRjJ2ODRUZCtsMnNMYjJOY0QwZEtSV0tIQWJRZmd5ZkFXSEJ1NCtrTUNVK3c0WnBvdEhqbjZqczgvK3dubVpxY1JUaU55U0ZTR3IrSnpXeFZuT3B1djI4dUtIQ243ZS9FR2NVRFJHVERhVHE4OFBoaDZLd3M5RkR1TzlLYXVibTlMTjZjNThiS1pSUVNXM3F5R3ZPQThkaHlGQ0dpa2tSNmlOR0lVcm41eU53cGZ1bW5mNVdqKzQvUjFKTUlxNGhFVEZNM21aNmM1ZWlSdzl4Y21xYzc2T01LRDE0Z2tDUlJRclBSSkM4S2xCQUlLUkNpeXVZYVg0N0lyZk5CZ0JERUJ3WWpURERQRndaWHZvekw4Y0l5YmtNbHZDaUxrb3g4RlFTbGl3ZUNTRVFJSkxva3M1cUlBNjBEZk95SmovSHh4ejlKa2paUnFhWVZ0NWlaM01QVXhEVHQ5aVJZV09tczRvYjlTN0RaOTFUZ0dhL2s1VGNUMmJKankwZ2dyY0xia0ZpbTBRZ3ZTV2h3c3Ywb3o1NTRoZ016KzBPWjNTSzBHVnZxMjRYY01Ob1Q1WEdWQjhTZHkySGNxZC9lM3YvdnZ2NXUvZDhMZ1JNcXpBN2dTOXV0WUw5RjJhZWRnbFRtaUFuRlc5ZmU1dkxhRmJyMHlNbkgrbnlOR3JzYnU5czdwMGFOQjRKRGFZZU9QSVhwMHUwdmtUUWMzL3pqcjNCMS9oeUpoaW9TSzhSdHM4QS9OcWcwbVdKb1J5YUhLendPNXpNOEtkLzcyMzlMcXhXVFpqMmlXSkJsMmQxMnUrUGhoTU1MaDVjR1A2d0dKd0k1Y3hwbEk0VFJSQzdobDMvMlYya3lpU2RvU1oyeHcwSEFnOEs3VVlSUHl4aUpaRWJ2NWZtblA4bkRCNC9qQnBMQmFzNTBQTXQwUEV1Nmt1TjdjR3p1QkwvNnBmK0FBNDJIU0dpUzBDQW1DV1lhQTBqUUtLK1FMcnlVVXlnYmxlY1ZnVWxJb3NZbzBVc0NXb0lXcUVUVG1HaUNncWdaSTFVcE1YQVNuRVE0aGZZTkdSWlBOQUFBSUFCSlJFRlVJdDhnb2tYc0cwUStSdm1vZk9tU01NSUViV0lTSWhMbXhENCsrOVRuK05SalA4R0IrQ0N5cTVpT1o1bGdpc0ZTaXNvMHB3NC95cE1ubm1TdU1ZZENJYXR5MFp1RUpIZjhLbTdTd25yanc4QVd4VlF5UlV5alRQRktPSDMwRkFkbUQ2Q05ndHpUVUFrS1JaRVZXeVl6RHZ1SnFLYng3K3VXZjJDUXZ0UmFsNUZqb2FEQTRqVmN1WFdGRHV0WWZEaVA5NnNEMTZpeHphaWxCVFUrdWhDZXdnellNOWZtNXEzTHJIY1grVWZmK1RvTFM1ZlJ3cEtaUHNQRUxoa3Nxc1loaGNiNjNaM3NORFNqSDh1Vkh5N0s2ZWZVOUFETmk2Kzh3SmUvOE10TVJBZVFYdUErdUJxekh4cXNDaFBvMGprUXFpUUJWU2E4UUJTT1NDWE1UZS9uNy96eWY4Uy8rTE4vaHBLYW5qTWtPcUU3UG4xL1B4QUU1bEZlNzhvWDllRGNmaDQvOFRqOWxaVHA1aXlSYUdCemkvZVd1WWxER0p2U1gxcG5mL3dRaDF0SE1ldVdobXJRdDEweStqUmNJR1RoUENxTU01Y3lzYXJ3ZUtzQWo0NDB1Y2t4TnNjV0Rwc053RXVVaklobFFtWnlZcEtRRU9ZOU1RbVZFNndkK3JkV0dvbEsyV3BwTVFGbDdQNUFmSkE1ZFlDNEU5UHI5dG5UM0VjamFtSW82S1U5VUpDMG0reWQyTXVodVVNc1hsM0E0NUVJTm9oWTNxTytVeW1KTFJ3S0dmNFZDb0ZEb1hsa3owbU9IenhPNGlQU1hvWTJpbGE3VFRiSWNJVkJKVTJjZjJBVjlBZUswVGN3eUI2cXJsVEpMTHdVT0FmZHdUcExmalVrTEFySEJuRjdqUnE3SERXUnJmRVJocVBSbE13dlhFRkhsbTkvNTV0Y1g3eUlGaFloQ3lnVHU2ckF6Q2dhS3plOWR2YkQ3dTZvcHRMRnB2ZEd4ckxoWVdsWTZTN3l3ZysreDg5KzhkL0hwZ1hOVnB1aTJNVlIyVElpQytDRUdrMVArVURPbEFlcEV3YjlEcTdJK2VUSFBzMlZXeGY1ZjMvNGZ4TVJZWXpacU0yODUrTnoyNXhZNFF3eENWUHRXYVpiTTZTNUkvWUpKdlYwVnJwNExETXpreVJ4RTJzTjdjWWt2L2JGWDhjSmgvVTVuZDRhS3BJa0RVMXYwRVVwRld5YVBPRmd2anFveEFrd0xpTXpLU0x5ZU9XNE5uK1ZNMis5d2MyRjYzanZPWGIwRVo1Ky9DbG1KMmV3QThkRU5JbHltblE5SlZJeERkWEFpNkExdHRJRU53ZmhxRW84Q3cvQ1NKUUpVL2xOMldaU1Q5SldrelQyTkZpK3RjcEt2b0tJb04xczQ1VEI5ZzB4RFU0Y09jbHJWMThySlF1U3l2TjRvOVkzNkZpM3pMNHYvYktVMEdpdmtXaHlWeUJSSEc0ZDRma25QOFprY3hyYktTQzFSSEV6ZEh2blMwZU9EYnZac1dWcGg4MFNRVjR3UHJ4MFdJdzNYTHQ1bll3Y2k4TkpQK3A3anZjMElLaFJZeWVqSnJJMVB0S1lYN2d4OUlsZFhWc2dsb3JjZGNGbXhMR2tNRzRMVFd5d1JuSS9WZytBY1VZMVJoaktWZDZDbytEVjExN2s2Vk9mWW03bWtSQ20zc1VJQkN3UUlDVkNVcytRclBpZ2pkUmVZREpEcEFScGI4QlBmdmFMWExqMEpuM1Q0ZnJxdFFkdmhHTG9ZS2JLU2dzQ1NTTnFVR1FGU2pUSnVqbGFORGkwN3pEQ2VRYnBPdGtnSjRvYnJOL3NNSkZNb1dOTjdsSW0ycFBvUkNLMFl5YWVEb1VyUkJWbEZxVnZza1M0OEh1c0k2d3p5QmdLY3R5eTRGSjZqWWhWd0RFbjluRmk2aVJ6TXdjd1VjR2tua1FaVFc0emtxUkphb3BRL2xRWXJMU0J6RW83dks0YWdVc2RTaXNpRzZNeWplMTVCaTdGUjRyWjVqNTZkQkdSUnlXU0FRUDZSUTl2SWRiSlVQQUNXOGYrQTQyOU02eTFRVVlnRXB3UHhtSlRUUFA0eVNmWVAzc0FrWHFFZ1NScUVFbE5Qa2dSWHRKc05zbU53ZXVkM2NmOUZnUmJsQlp4RU03ZmVjT2xHNWNZbHVtdENrN3M3Rk9yVWVNOW95YXlOWFk1L0ZBUEZqRCthQ3NyZHduS3lJMmxNbkozVW9MTXNMN0RkLzc3cjNObC9oeFFFTW5LUzlZaHBRNzZ4VEVJMUJpbjNjMlIyQUJmVGcxdlBLZXh5ZWlRRTRjczZ3WXNyaTV4OXVLYnpIMzZLS250aGVLcGZpeDBXMzF1aXlQZEpsNGtQSVNyajkvMlFMN3ZzN296cEI5RjF0MVFSakRlZDlTR3ZtU01aWFpxbW9IcGtYZjdOTnBUL09mLzhYL0pQL3ZuLzRTSVpSeFptWkMweVI3cURsazlHNUtUeWk2SkR4cFpJY01VdjhDanRLQ2ZEbWlMRmxJcFhPN3BydzlDVmpxQ1NHakFNVG5kWm1GOW5xVmJpemdzU1ZNektQcmtlVXFqbFdCTVBrWmtaYWwvRnNHZHdjdFFmdGNXNkdhRTE1NnJWeSt6dEw0VXZISlJYTDE2bFdzUFhhTzMxbWQ5dVV0THRZbXN4cVNXaVlrSjBpTEhTaDhTd3BUQmlaTE1pcEZXczZHYXlFd2lDc0ZzWXk4SFpnNFNFWk4xQnRDRFdFVlliMWhmWGFkUGoyZzJJbElSK1NBcnI1Y2NMb2UyQStVMWxlUGZkYllnYUdVR1A5NmprTVRFUEg3b2NVN3NQNEhvQ1d4dVVVaGFqUWJlV3ZxREFjMW1rMGFTTUZqUGtDb01hQ290N0h1Snl0NkxidmJCSExBY2dtQ3BKaDFJRis2cngyTUZXR0hJUlVZcU1tNXhvM1FpS1R0ZDJkVnIxUGh4UUUxa2EreHVlQXUrQ0pFbVgwNC9lb1YzQXU4VWVJbVVEdXR5Q3BQU2JHbDBCSmV2bkdkcVJ2RzFiL3dHM2Y0OG5oN2d5SjFIYTRsemtrRjZ1LzQxS1AwMms1L2RpVEhISnhnV3JDeUpiTVU3UFRndmNGNFRxemJMZVlmLy9TLytENTc5ekNkSktKZ1VrN2pVWTV5bDFXcWh0V1psYlJWbkxIUDc5OUh0cmdPbE80QVB0dnpCTDlQaEszTGlTdVpSTWN4eXVZRTArTnZYaDladTlPR3NsbHVSaWMwWjRNcEp2QnZwZzczemVHL0tsb1hxVlVxSHFmbFlOM0E1eUlGbkltcnhpei94ZC9tTDcvNHIzdTYvVGxORHovU0MrWCtTa09YQm4xWEVBdi8vcy9kbVQ1TmM1NW5mN3owbmw2cHY3MFkzbGdZYWFBQk5nQXNXa2hLMVV0SklaTXpJWThzUmloamZPaHpobTdueEgrQWJYOWllbUxBMGR0aVc1OVlYRStGd0tCd09lMlljSTJ2R0hJNm9JU1dSRUVtQUFBRUNhRFI2My90YnF5cVhzL2ppWkdabDFWZGZOOUFBMmZpNno5TlJuVlYxY2ptNWZKVlBQdWQ5bjdmMis0aFhHQ2dQbHZXbVZxaFU0MnlCczRaY2NtcGY4OEdGOS9ueVM3L0MwbkNEeXRkb1NjaXpIT1VjVlRIRytScHl3MloyZ3ovOXEzL0doVnNYU05BaHNRZExUazdKcER0MDAxam9GcW81ZXRQck9Jd3l6eDY0aWR2bC8venIvNk5aUWpvaTN2NnZtZ2U3Y0daTlE1YW0zcVlLelpBQkhrOUN4dFBwMC96bXIvNDJUejEya3JxcVdhMkVaYlZFTnN6UW9yR2xRVHVoS0NaY3VucWwxOWQyVytIS21UNFl0R3pNVGtsc245dldrS2tFakNVajVYVCtQQytmZklrbjlPUFVveHJ0QkJHb3FpckUvUzduR0cvWkxmYlFhUmlLOEQ1d1B0OTdBcHBlaXI2bjR2ZWVrQmFobmJlWnowbHZuUXZhdTVQWG5yKzU2OS9oS2VzeHk4TWxiR253dFdKNWFZM1NqTm1kYk9QV1BYVmU4dG9iMzZOa0Y0TkZwZExVZkVsSWtoVGpTZzd6YjFoRUJFUWlHL0ZBWWY4UDhtUXlZWDFqR2VzS2pLMG95b0pxYjVlVlZjMS84NC8rUzBhVEcxUm1tM1k0dlMwcmUrZlNzZy9LRDc4NlVJa0ZncENGNEwwbTFVTXFhL0VJdFpSODc0ZC95VGQvL2U4eXZyWEhrZUV4akRHTTkwYWtlY2JLMG5MM2VSYXo1SDlLWnZjclU1OTJOdmcrVzZPT2ZDUTlCZFkzNzMwM05HNk1RV3hZMmxzQkVsYVgxbmp4bVpmeENGdmZ2c2sxY3dsTmdrWlRsUldpRmZsS1JqRXFaamZzQTEzVUhmbHExRWJYRXBObWlONTdybTVmNXNmdi9DMWZlMm1GcGNFalNHM1lLVGJSRGdhNVFvbXc0N2Q1N2IyLzV2emVCMHlZa09xVTJvYmtSSmZVWFRHRWcrR2IrTjcyZk96WDBkV0MrRlBmbTE4M2FWUXRmWFV6NUZpUm9QRk5OYktVbXF2MUZkNjkvak9TVmNVVHg1N0EzNjdaTFhhb2R5dklQVWRQSE1YbE5lKytlNU1QTHIySERWR2RjdzlkUXRDbHBidG1sTktRRWNyZzJxNmphQVhXR0ZJeVR1Z24rZnlwRjNoODVYR3lLc01VQnBYTXhyaTNJYVB6bEY5NkF3cDN1alRGMzdsOTV0aDYrQ1F1ekFMa1dZSXpGY29ya2lTak1vWnhWZU5UalJyQXBjM0xiTnN0REFWV2g3L25zQlBDSWM5VGpZam9FSDFrSXc0eE1vNGZlWTZ2LytZM1VaTGdyRUlrK0hBNkd6S1dzMXl6dlgwYm5UalcxZ2VNeHB0WU4rRy8rK1AvbWtzM3psS2JIYnlmRmpwb0xYZnVUR1FmRk13NzVQdlpwaDZHd3lXcXVvWkdUYngwK1JKZisvTFh5TzJBcFh3RjV4MWxWYUtVSmsxVEhCNWp6ZFF5cWM4RTJ0dXBielBwOXJ2QjN1M3pSOW16dTMrKyszaHgrMkRUVHVzNlhDdDVuck8wbGpOY3o3aDQ4U0tWcThna3crR3czbU9Nb2JNaG1NRlU4M1FOaWZUYWgxRUZnU1JYR0dNd09MWTJkM25rK0tNTWwwUGxLNmNza2x1eUZXRlViM0gyNXZ0OCs4ZmY0dGI0VnJBRlN4T01OVUVOVlNwVTRZSURYKzMycDVmQm9ybGE0dHI3cmpkL1MzNW5TR3huSnV1RDRPNGRyY2RzUlFnaFNMUm1kVzBWNXh6WmNvSmJzb3pWbU0zcUZqODUreVkvZU90dnVHR3VZNml3MUpqR3h0L2hRZG9Rb2Q0VnF5M09Oa1BtemZiRmdySWhuT0JSOVNoZmZ1RXJ2SER5OHd6MEVEdXhZVmRrWmkxM3VWNE8vbnl2eTgxditlUDR5QXFRcFJwVEdETEpTSk9Fc3Fvb2ZZa3NhK3E4NWtkbmY4eFZlNVdDR29mQmV0YzhCT2ltNE1PK0JJQ0lpRU9IU0dRakRqSHlRR1IvNDVzb3lYQ09VQkFCd1RtRDFvSlNZTjBFVklteEk5TE04WS8rOFgvRnhldG5TTVEweFE0YWhla2pxYkVQRXZwRVZwaFJaRnN5ME43b215RlBEeWpSak1zUmo2NGY1L21uUG9meUNtTXRPa25KMHBTeXJxbnJtaXpMOE00djJBN1R1TnJQT0pGVlNnV3lsV1drYVhBcUtNc3lKTkU0dzZNbmpyTnhkSU1yNTY2d1o4ZGtwQ2dsR0djaDZjbHovUTVJb0pHZXhzdFROWVJDUUtjZVowT0Jnb2t0ZVBQTTIyeHVidUsxcDFJRm8zcWI4OWZQOHQyLy9YZjgrUnQveGxhNWlaVUtwUlNTZ0RVV3hDSktoZkFEQ0l4dTRkVE45WXNGcDhyUGZwNDdrRzJNNm40U0cxNXRPSWtXM1RrOEZMNWdiMmVYdldJWGxZSmVFa2F5eDlYZFM3eC85VDNlT1BNNmx5ZVhTRlBOeEkweDJCQ0gzQWJkemhCbEI5bzExMW5USnhGU241SllUVWJHRVk3eXl2TmY1dlBQZko0VnZjSmt0OFJYamtHZTk4amNMQTREa1FWSVJHRXJTNm96RUdGY1R0QkxDV2JvdWJ4N2xUZHZ2c1V1WTJwcURFMUloQkJLOVByZXcwbEV4Q0ZHREMySU9OendTWmVKM1FYbVNVc01MSk55bDZQSFZyaDU2eEk3MjlmNG4vL2tqN2wyNHp5YUN1TUwyaC94bHNUMnNlaTdodzFLZ3pWUW01TGhZSVZKVWVJYW45WHZmUGZidlBMTUwzRjhOU1BKVStyS1lqMTQ3M3JIcmgyNkZicENDLzBicDk4L25QMVpnbS9VMVRSTnlSdmlVNVlsV211UWxHSTg1cXRmK2hyVnFPTC8vb3QvanFGa3FGY1JFU2IxYUVxOGdDYURxbGx2dTRYWjVMQ3k5dUZYdVhaWVh6SlFLVzlmZkoyM0xyelJ4VENuQ0prQTJtQnNGUTZ0T0tvNkpQNmdhU3l3bXZVZk5PM2pJTWx2MFpUcGZyUmhCek1rZGo3WnlvUFZOZFpZeEFzZXk3WHFLcmZPWHVlTnN6OGlKMlBTa0MyRnBxVEVZaG5YRGo5UHJ1ZTdPRkFoSWJNSzJ4RVBtYzhRS3lRa3JMTEdGNTc2RWk4KytTSnI2UVpteitBcmg4amh2L1dKRjN6bHlGV0tGc1hFbE5qRW9sY0c3TGxkM3I5NmxoMG1qWmJkbkxJbWhrZnRDd09KaURpOE9QeC96UkVQTWZwZXJ1MmRyaUZOVW9Gb0JrUGh4czN6WkFQUFAvMmpmOEtsRys4alZHamx3SlZvSGU3OEQ1Y1NleGNza29XOFEya1BXS3d2V1ZsYTQ5cldSVjU3L1FmODVpLzlIUjQvL2ppN28xMjhFZGJXTmhBbjdPN3VNY2lHVEpsTnkrSSsyK1MxajFhNXF1c2FwUlRXV2tRa0tLQ1NNcEFsZG0rTStPTHBWMGlTakQvL3QzL0dabjJMa0JxVjRsM2RLSzRzRXFiM2h5WjNRWitBZHhSdWp6QndscERxRkZHZXZicEF2TVhiYVhVbTcyY0pzY1hPNWlRZVJFcDdpV2o3MU5sRjAzM29wZHNkdEx3R2E2WTdxcFZnWFVpcXE1aXcxeVdhT2JKQmhuY0dhenpaTUtHYUxBams3S25jM3JodUg1VVNFcHVBcGFuYmxmSzFaNy9HMDhkUHNaRWZ4VThjWWhRcnd3SGlOVVZSa0h6RzdiWHVCUEhnSzB1V3BEanZxWDJOSHdpbHJyaXlkWjF6NDh0TlFJSERxNTdqUS9Pd3I3cmpIaEZ4dUJHSmJNUURnSGFZMm9FMHFwVFVJSWJibTFjeGJzUS8vcU0vNHRibUpSSlZZOXdZNDJyeVBLV3U3WUVrTmhMYm5uSW9VSllqdEJhc3JiR3V3T1A1bTllK3k0bkhubUp0WTdVWjRvVnBvR0s3a2laT3RwZDE3UStJVGZ3c1FtdU5pR0NNb2FwQ0FsVWd0WWExMVNOc1g5cG03ZGdhdi9iVnIxTlhsbTk5OTE5ejI5MGtKYVhHQmNXd1ZXTVhETTA3R3diZFViNUxlQmNWRHBkb0FobkdVa3V3aFVQYkdYVnRacDJkeVgyajdON3BFTSszOWRkMTBCajQvUFJPNkpQbGxpODZxRlVvK1d5dFJ5ZGdQZVM1UmlSaFVsVGRzaDJKblJzQkQ2dFZRWFh1UFFRb0Z5ekZNbktPY1l4VFIwL3g0cE9mWnkxZEo2OVRiT0VRMXp5RWRPbGpoNWZJUW5DRlVGNVJtQktuSFdvcDRkcmtKaC9lUE04VzIxUk5kTEhISWtrSXhRYVErVEtGRVJHSEdKSElSandBYU85eXpRQ2EySWJJZWxSUzgwLy94LytCQzlmZUJVclN4SUNyRzdKcm14aTVLVVFFRWRuMy9ZT1AzdjcyQ0UzTFBkTlVxR3ZIY0pBem1aUk1pbDJHZXAwYjVSWE9uSCtYazZlZVpHUDFLTDVTVEtvUldNVmdrTStOWUxjc3F4ZHU4QmtuczJWWjRyMG5TUktVQ29sWVNpbVNKUHgwYnQvYzVzU2pKeGxYSS9adVR2aWxWNzVHbnVmODIrLzlHeTZQTDVJU0ROdHNlODMxM2YwZGFKZVFrZ0tPVEZLTUM5V1h4Q3RxWDZOVmdoVVRyc2Z1dW0zVzBiak5pVktkMzdIV0NkYWFwbG5qL0YzeTR2dUh2MCtNKzZSMkFZbnQyM0MxcmdJTGwybmZLNUFVZkFYT2hkaGhsWUoxN1hHMjZHdzZmNVlxNnRJMWdyUHF0aWJOUVJRVXh0ZDRiYkhHZzRQVUp5U2s1S1NjZnZRMHYvcnlyekcwU3d6STBTN0J1QkM3WFpvQ3JUVlpsaDM2djNPdFV5eU8wbGF3SkRDRUc5dTN1RHk2M0tUSW1aQmU2RDFhYTR5eFhjaDdSTVNEZ3Bqc0ZYR0lrYksrL0JTLy9WdS9SejdRRElZWnR6ZXZVWnVDSTBlWHVIajVESC8weC84dG05dFhxZTBJcUhCdWdrNGEybXNYLzZJL1BFcHNueFhOSlgzTUtYTHQvZDZZS1RHeTNwRXk1SVBMWjNuMjZXYzV1ckdCRW9XSVlwQU5xSW9LSmExSHJIVEpKU0VCcUkxTlhyaTVuMHV5Vjk5bkZ1L3hmdGJiZHVGNm1qQUM1MXl3NG1waWY2MjFpQk5TbmFNa3hYdHcxcElrQ1k4Y2U0U1YxUlZzVWJPM3U0UER0U2x1ZU8vUkdyeURwU1Fuc1JrWkF3WXNrZmtjVDBJSWNvVmNsakMyRHI2a0xWUHNkN01kRjI3YlBTSGNvSUczZDdtT2ZiRFB5bFRXclRkTmt5NXVNc2sxem5pU1BQUW5GSVNhK3VCT1BYRnBDS2FmbWxQMEw2ZFcvRFM5ejM3NmtKU2t6ZTVVWVZBbFJaSGFCSVVpSldkVjFrbEkwU1Nzc1lGR1NFbkpTREd1UnVuZ1RwQ1Nzc3dxdi96VTEzanAyWmRaVSt0b2s2QnFoZFNnbkNiUkdxWGFMcmlaNDltL1BxVDMzZlI2OGZzK3p4eE83NXY5OGpQZkxWcXVlODB0TDNQTDkxWG9tZXVYTnJUQW9WTmhURVdWR3JiVkxtOWZlb2Z6MVNVOG5vS2lHYW55dU43dlhadmYrTEQ4MGtVODJJaUtiTVNoeHRGSFZwZ1VXNHpHanVFd1o3aVVzSEZraVhQbnp2QW4vOHMvWVh2M09wWFpCV29nREdtS2dOWmdMWWRCRlB3NVl1cjNPWjAyM3kwWUJ1L1FxYldXaWpIcmcrUDhxMy85ejNueXlTZFlHeHdsRWRnYjc1SHA3SUUvdHM3NjRIWHFITjZDMU1MUzZnb3ZQdk1pS3lzclpLK2x2SFh1SjFRSWlXaDBMdXdWTzhGSnR0SThucHpnaGFlL3dPblRwMW5kT0VKbEt5NWV1OHpyUC9raDU3Yy9KQ2RydkZUcmpxK0c4SVBnUlRzdFVYQnZVQWplK2M0UE5pWEZPQVBlWTRydzBHSXJDMWFSa0RETWhwaktZTEVrNkttRkYrQWJDaHppZFYzbzU3d2poRzhEQTJpdU1ZVXRMUXJJSlEzazJDczBpcHlVVThlZTQzT25udWZ4UjUrZ0xnMDNMbC9ud3cvUGMyTnlqVEZqRXBkaHE1cUVsQ2Z5RTN6aDVKZjQzR012Y0hUd0NMbk53QXJhSmFINGhiYzRDVjFTY3ZqVG5MeEF0cFNINGcwckdsbXlYTGh4a1V1N2w2Z3BLYW5vcWhuTy9UMzNuSk1qSWc0OW9pSWJjWWlSTXN3MitJUC82RDlHS2NkZ0tLeXM1bnozZTkvbWYvL1RmOGJGeXg5UXVUMDhGU0d0dVUxWU9yajR6c09IZVNhLzRNQWNTUGFGVUZEVnN6M2VJcFdVcjd6NkZTYTdFN0N3bEMvaGJKL0w5Qlhmb0ltMXZyMi9DRVYyLytjNWVlcGpiMFBRa3FBbFJGeDZaekhXNHB3bnpUS09ySy96ek1sbkdDUkRibDYrUlVrTkJvNHVINmVxYTVaWTRSOTg0ei9ocTEvOFpVNCs5aXk1R3JLU0hlR3hSMDZ3dnJTT0d6bTJSN2NRZkVNemRWTmlJQ1BReXJRam9LSHQ0NzAwU2ZjdmxCY1FsQk1jTHF4UmFaUm92QVBkL012VmdOcFpOTG9KaWZEZCtnUkJkeXF0N3ZxbVovNnByc2VLaE56blRWcGN4aklyVFovU1lKbDE4bFYrN2VWZjVjVFJwemkyOGloSEJrZlp5Tlk1dm5xY3JNalluR3gyQlNaT1pDZDQ1ZlNYK2VMVFgrVG8wakdTV3FPTVJsdUZkbTBCQ285dkpXTnBMK3ZGVjlhblpiOTF0M1l2ZDI2L1k2NmRnTTR5ZHNvOTFKcG1WKzN4bzdNLzVJcTlTdDM4Mi84ZzBWdmh4LzJqaW9qNGpDSXFzaEdIR0FaVVNWRnRNaW5IbERWY3ZiN0RkLy9xLytQZHM2K1RLbW15RzRJNXZZaG5YMGhjSkxSM3g0SEh5SkVQTkVXeHh6QmQ1bTkrOE8vNThpdGY0ZFJqenpQYXF0RmFZU1NVREo1TkFIdUFjcVVsU0YxSmtxQ1NKWXA2VERVcWtOS2hCNXBsdmNidi9NbzNlT3F4cC9uV3QvOE5sMFlYMkJ0TldHV2R2L2YxLzRBbmp6M05XbllVVndybHRrTjB5dHFSZFo1OTRnWEVDeDllZng4TkdFeVhaZTdhOEFNSVNXS2ZBQ3NzNDNDTUdXRXhEZTBNTVFCNWtqT3BKZzBCVFJBVVpWMlNrbmJCQmVFR01vMTdYblJXUFE1cERKLzJoK0VHV2k0TmdYVjROQWxQcjUzaUs1LzdKVTRjZlp6TlcxdHMzZDRpa1lSQk51VDVFOGNZbUNIWGJsOEhQSTh1UGNvTHo3N0F5Y2VmWnNneVpxL0dWNkhYMGwxN0xicDRqT2I4cWYxczhwREFBWHZGQ0ZsT0dia3g1MjZkNDFvVmlraDRaZWFlVDFYdmVYUy9RaHNSY1pnUmlXekVJWVpqYlQzbjV1MExuRHAxaXZQblArUi8rcFAvbm5NWHp3S1cyb1hBUENYU1dCUVJmOEQzWVo3WnE3bTIrUVN0M2xRY1pia0hvcGpVRG92bFgvdy8veGYvOEQvN0wwZ3pUZVVLUUlNb2xCZDg2enJhcUVSZUhOS1ZhejJNY0JoanFiMlFKSW9zeTlCNm1hUlVXREVrYU1iakVXalA2Uk9mWStQdkgrSDFuN3pPOTk3NUxqa1pYM3ptWlZJN29CN1hvUXd3T1VLS0xSUkR2Y296ano3SDc3MzhEWXdxY0ZJMlZjTVVuZ1Fod1FraEFld09nK1IzU21ZU0Q2UFJDS1VVTlJXaWhkSVhYTHgya1Z1N3Q2Z3J3OUdsUjNqdXVlZllXTjVndkRkQjI0UXN5VkJXZzNNb0JmM3MvNmtBcUxydGV3bkphMkVhZUdNNzlVckFPcFJQMFY3aFNrZEt6ak9QbitUeDlSUHMzUmlSK3dIcnkrdDRDMFZSNEpSbmZiREc2VWRPODZRL3djbG5UL0xrWXljUkoxUzdKY29wVXBVMnowNHVIQ2RDS015REJDOHdOaFZMeDVhNWRPc1M3MXg4bHdsakVFdnQvTlFwdzA4ZmV3S05WOEhkQlI3eTBLcUlCd1h4TW80NHhFaUFuUFpuZW5WNW1kM1JGbW1pR1E1emRuYTNrYmFLMG9KaUI2MHZhRVFmQjBWY3poTlpRdXlkZ213cG85cDFDRG1yc3NIdi81MC80QSsrK1lmczNCeVRzWVQ0Qk9WVlNJZ1NqL01leERYSjdHMnM1Mnd5aTVyN1Zlb253UnlVbUhYSDVlZmFBK0ZxcmdzNW1Pek5KKzdzMjc1MU9CTStKMG1DMWsxMU9IRkI3Rk9lemMxYjZGUXhXQnBRbTVLZnZmY2VOMjlkNTlVdnZzSlRSNS9BbHA2cUJ1YzF6a3FJUDgwaFd4Skc5VTJzRkRpcUVDdnJOUjROUGd0NzVhczc5djl1V2ZsYUZHbWVvbE9GVHh3M3RtN3dnOWUveitzLytURWxKYzg5K1J4Zis5clhlUEtKcHloMlNzUUl5OWtLdG5ZVTR3bURiRllMRVQrMVpWQ2UzdDlYMzlTMjZWdmo0bUN0eFJzaFFaTzRCTzBTZk9IeHRTVlRBNVlIUXdhREphcGl3bVF5SVUxVFJJVHQzUjJzY3F5dnI2TzFaclE3aHRxek1seENvUmp2amNqVGRKclk1TnRZWGh1c3U3ekM5UlRabWV0bjdwelBYMy96MTFmNy9mNWtyZG5yUjgyMU8rR083VzNmRmZ1dlB5c3dvb1oxeFE4LytENnZiWDZmZ2drMnF4a1oxemxqaUFkTkFvM3BtQVZRbGs2WmpRd2c0cEFqS3JJUmh4aU9MRldrU2Nab01tSnZ0RW1XYXFxNm9ONGRNeGhrRkVVeHQ0d0tjWmxlTlRmNS9UZllDTmhQYUZ2dnFMNkhWTGhaVmtWRk1zaXhoVUdVNDd2Zit3NWZldTVsanEwOTBUQ0E5amcvZUhkTXBSU1NlcngxR0ZQaGJmT0ExRlFFODFqV2w0Nnd1cjdLNXZZMjlhVGtoV2Urd0hOUFBzL2E4Z3A3ZTN0b3ljaXpOWkpzZ0xPS1VURmhNdGxsZDdMSDBxb09acktkcHFaeFBxV3RadGNXaUQwSTdpN1hkbGxNTUtYQmlZUEVNOTRkVSszVmpUdUJZbjExZzRFYWtyaVVyQW1qRUt0SXZHSXBYVUozNTdSUlpGRk4rSFBvbTIxVjBGYUc3ZmZOaC81cHNZaE8wSzZKclpXVTRYSktyb2NVb3dMeGlxMWJXOWk2WWpnY2tpYzV6aGtlV1R1S2N4NWZDbFZWb1l3aVRSSVVDYjZ4SUhPRXhDNmdjMk40VUV4Sm5IalNZY1o3bHovZ3d1WWxISTZhaXJyMjNaOW9VNDhDVFZCaXA0L3R2bm02aTc5OUVZY2ZVWkdOT01RSVZiMnlOTWQ3UjVabGpNYTdESWM1SXNKNFBFWms5c1lsb3NFcnBzWTM4NldWSG5hb0E5NHZnQmdhQzFUd2tNa1FqR2JBT2k4OCtVWCs4Ly8wSHlKMWluSVp5bW04RHlSNFJuR1NXY1dxUCsxNjRadStOQmw2TXBlcDV5VE1ZOW12YUhYYm1Wdi92Q0tyL0hROS9hazR2Mi85N1JTZ3Jzc1FVaUJKOEpnbEZGQndObmpRcnE0dGMrUEdEUWFEQVNwSlFCeEprakNaVE5CYWtTa05GbW9EeG5pYzB1aFU0VlJKelpqLzdVLy9WNXlhVUZNUWdqY2tEQTM3b0xCSlA5NXowU25hbDlVNGUwN1RWRlBVRlpVcjBFa0N5bkc3dW9YRGthQ3BxVm5QTmxqS2xwaU1Dc1MzaVZ3cHd5eW5yQ1l6eHpqNElMUmI2ditkN1lmRllURUltbHhsaUlNU3d3ckxmT21KbDNuMXhaZHh0V05sdUVKZDFGaHJXVjFlcGl4TFJxTTloc01sVXAxaHFsRFVKRTAxU2lYVWRZbjNGcTAxMWpXZXVyNE5MVkJ6SVFhcWllQUYyeWl4aTFUWS9yRzgwNGpBblJUWlJjdUhrSXYyVHlnVXVtanR2NVFIN1h0V1djMXl6Z3RPb0VocjZxUHdaMy85LzNMQm5RVWMyMnhTQzZqR2s5ZVZnY1NxUnBHMUtHd3IwNG9MUkRZeWdJaERqa2hrSXc0NTVzbldSeUdsODNHZ0VZdHhOMk1uMTBvOWdjanFJZGFBSnVYSm84L3owZ3V2OEFlLy80ZHMzUmp6eU9weHpNUUZneWZKMkxxOXphT1BIbU04MlE1aEJoS0lSRmpyWEJpSUIrVURrVlUrbEx5U05rRkhUY09lWFVNQVBrcm9RVml2NnhSTjhXRzcvV2svbHZPZzl2bjF6eE1aTmRjK3UzMVFWa2pUSEMvQ3VCaFJVWkt0NUd4UGJ2SE9oMi94cjc3L0w3QVVPTW9tWGM1aGxjZmhjYzZoSlhpODdsZGVWVU1rWGZlcE9XTmgyMjJmK3YzcldoZXRMZnpmTTg4Q0FobVZ6dk5BdXFVOTArSDU0RGZyRzNzdTExdldkLzgwS1VzTW0rU3ZBYzltei9DTlgvc21xOWthMmlVb3B4RW5NOGRYQmRiWEkzcFRvcnB2UE1HM29RVXlMZWZiSEluNTg5dGYvOHkxOUZHSTdGejd6SVBFM1BMS3F5NFV3eWlvVmJBSGM5NmpmYWhzbkJqSE1Na29SMk84Q0V2cnE5emMyV0d2S2xnOXZjRzN6bjJMOTI2L3k2M0p6YVlzc2NmMGlicG4zem5yZWlTUnhFWThHSWoyV3hHSEhIN3U5WEdYaVRnWTg4ZDIvN0hmbldrQUFBQWdBRWxFUVZRV21YNVVXbU5kSUJNN2t4MTJObmM1ZXZRUm5uMzJHZmEyOThBSnk4Tmx5a25OK3ZJR3hXU0NVaGFoTmZSMWVHbUxKVXhmSFVueWRHUkorNGFBd0QwbjcwbGp2aVJkNlZ4bXB2dXNqeGExZjFUN3BHWjNoT2xVdk1JYndkUUc3eXhvaDg2RXlrMTQrLzAzK2NzZi9EdHM0N2hSWXpDVVZKUlVtRkR0U3l3R2d4R0RGUXVwUjFJZzhZZ0dweXlWSzNGaWNkcGlwTVo1aTZVT01id0oxSzdFWUhDWXhxODIvQjhvNTNUcXVoYmJ6Vzh3T0tseEt2VEhTbzJWR2ljR3B5eTJlUmtWK21qRVlzVmhFd2Naa0hsVTdrTjRnTE9rS21XSlFkaFRXN04zZFkvVHp6eVA4aHJ4Q3VXa0lYOHRhUTVxdE16OExmczdub2NXcWxsSGR3MzF6eTkwaXJ1MDUycitmQzVZNThMdCt0bnA3THpTOUFPY0NudmltajhvNVJVYVQ0cUN5cEFvaldoRllXdlVJTVVQVXk1T0x2SERxNjl4dGI1QzdXcG1LcXdSUmdhbXBIcngzMjlFeElPQVNHUWpJaUx1SGIzN29ZaHFTRm9nbjBVOVlidzc0ZlJ6bjJPUURiREdrYWdVYnoxSmttR05DYUVGNGh0N3BtYXczTGZVZGFyeXpSTloxU3FsSW9zWnhVZEFSMlEveVUzOUUvaUFDa0tlWmZoR0xiUllSSU5PRkdVNVlXOXZ4TFh4VlN3R2phYWxUNEtRU3NKd01FQnBqUXJXQVZqamNEYThyRzNLTHpkaHpaNStSYldtbWhtaHV0bVVaWC84cVI2aytHUUIyK3UvR21oTlNOVENZeXVQcnoxU3djQ2xwQVRYQW9Xd3locXZISCtKWDMvMVZ4aW9uTVFsSkM2UVB1VjllUENRdVllUU81K1dBejhmNUx5MWlOd3VXczlkdCtzWGZ3OGhyRVlBTHlGVXdFdXpPUjhJdS9hZ3ZhSXNDdkk4eFNhZTNXcE11ajZnMUJVLy9PQkhuQ25lcDNRaEQ2QXRtOXlTVjYzMW9TL0JHeEh4VVJDSmJFUkV4Q2RBbXdEbXV5SGJWQ1VrelREMHplMGJTT1g1d290ZlJDdE5PYWtaNUVOMnRuZFpYVjNCMWFiaE85TlN0aTFaOHlLZGNqWWxCSE9VUU4yN2w5cG5nY2dLUXFJVVNhcHd6bEtibW15Z2VlVFlJeno1NUpPOCtzSXJEUFNRMjljM3FhbklHYkthclZJWmk2a054dGlROWUrbjY5T2lTWFNDVHJwYXJOUGoxaU9ZZmpydWZHOVRBZTljc0dsdTdWbjdMOWVFTkxobXlONHBNQjVzY0NqSVNVbEpTRW5KR1hCeThCUmYvOEp2OGRzdmY1MVRqejNMa2hxUzJIUktZcDAwNUxWVlRPOFFHL3dSUDk5WEl0dHN3TXVVekxhS3MyNWV6Z1JGM2lXZVdtcE01aWlUaW5NM0x2REcxdXZzc1lmQm9MVW1TWkpwS2R5Mit3OUtabHRFeEIwUWlXeEVSTVE5SWlUYkpUb05wTWFIWVY3dnc5QXpXQVM0ZXVVS2p4OS9uRWVQUDRhZzBEb1AxYUpFSTg2aS9WUzZVMGdULzlvUzJGYVZiYjRURnhKb1dpVlg3cjFBNi8wbnNwNXlQQUU4V1o2RFFGbE44TmFqdFVZcFRaYmxuSDdtZVY1OTZWV2VQSFlTWDhMMjFoNEtGY3ovc1dpa3E5T2xHM2NENXgxQmJHMzNUaEFCSmFxcnB0WUZGMzhTdElkT21oSUpLbW42a3FJbEFSOUlhMHBLMXBRK2FDdCtEY2g1aENQOCt2Ty95dTkrK1hkNTlmU1hlV3oxTVRLVGtkUUp5M29aYlVJWVNlS0RHNEpxbEdUQmgwVE9BN3AxR0lpc0IwU0MrMEQ0KzlFaG1jNkhzQlBsd1ZsSHRwUlIySUk2TWFqMWhBdGJsM245d2h2YzRqYUdHaU5taHNEZXphWXVJdUpCUTdUZmlvaUkrQVFRakxVa09tUzhlK2NhdDFuWFpMNHJDbmI1czMvekwxbGZQY0l6VDd4SVVZdzQ5dGdUWEx0d2xiVnMyR1RDUTFzdU5CQ1d2dDQyZTBOZTRPUjBhTEhjWk9FWGt4RWVPcExuU2s5VlZVaWlLQ1lsS2tuNTRqTXY4ZExwVjluZTN1VEQ4K2U0Y08wYzc1My9LYU42ajRLaVM5WVNQQmthQVdycUxzNFYzeVlrdFZxZy9jU2xtbk9kTjZFUnZubVFrVTVkRnhUcnlUTFdXR3JxNXFFaFl5UGQ0TG5ubnVQVVl5YzV1WDZTZ2NzcDl3cnNqbU41WlpYaFlFaTFWMURzRmd5eVlVUHMrbGZCQTNMeUFkdTdrRHR2V3EvUVRTRTgwYUF5alJWSG9XcEtOK0dEV3g5d21jdkJhZ3N6OVpWdFBIdVZVdnVVMllpSUJ4bHR4SHhFUkVURXgwVFExMERoc1NRSmlESTRHMFRUUkFBTHVWckN1b1JYbnY4VnZ2SDEvNUJITnA1a1krVTQ0ODBSSzM2QWRvSVh0YysxWUtxV2hYSHIxaXFyYjUra211M0QzWldvZzF3THBEWEsvNWpMei9hUk83b1dMQ3JvSUI1V2w1YloyZDdHV292U0dzU2gweFNkYWFxcUloOW1GSFZCV1JkVXhvQUtjYVpKa2tCbUtkamwrdVpWTGw2OHlLVkxsN2grOHhwYnhSWWxKUjdQa2d3cGZFRkZPWHRzOTVWdHZSY0VyOWtRUk5MK0g2WUpLUmtwRlRVckxQSDh5ZE04L2RRekhGazdRcGFFZ2dhSjFlZzk0WkhWUjBoVWlpa3NZc0NXRG5IQzBuQ0lMWnR6TGNFcXpZbnJuQStjTUdPRHVxaWdRWXVEQ2hyTUZ5U1liKzh6L1VXdUJQMHI1VTZ1Qll2T3YyL1ZXRUI1alhlQ2RucmFLWEhoUVNRemxHbkpwdDNpekswUGVPUGFXMnl6amNGUlVnWTdyZjYrTm9wN0pMSVJEd3Npa1kySWlMaEhLQWJwQ21WZDRyR0E2V0ludTRwRUhwWUhTMVFGS0FiOC90Zi9rSy8vMnUreWZYUENDeWMvVDNsN1FtTERjTGp0VlZocUNXS2Z6SWJFcEpiSUJ0MzNzQk5aVzlXWXVtWTRIRElZRENqS0VtTXJCRTFwU3B4ekpGbEtscWQ0d0JoRDdScHlweXhHamZIS2hvUXZEY2JWakVZamJtN2VaR2R2aHc4K1BNUGVaSStkdlIzR2pLaXBaL2VKZTY5czF5ZXhtb1FoT1d2Wk9rZVBIT0hvMmlNc0x5M3h1Vk9uRWErUTRDc1ZZcDVGa3loTkpqbFNDTXBxeXZFRThjTHE4aHJLSzhwSmdZaE13eUFrK0NhRVI1cFE5aFlBMjdPVk9vUkUxcXEyUFJ5SFlEUFg3SnA0U2lic3VoMlNJeWxYaXF0ODU2ZmY0U2EzcUNneHpSRVJGY0pGbk50ZndUQWk0bUZBSkxJUkVSSDNDSVdRQXV3anNqQWxzOXBEU280akpXZWR2L3M3ZjhCdi9zcHZrZG9oZzJvQUpXaWRrZytHR09NWWo4Y29sYkN5c3NKa01ncnJsMWtpNjhUMWZEZ1BKckozdXJHTGQ0ajM5NVhJS3QrTDEreTNOMGI1aS9iRmRqL1pEcTlxRUJOc3l4ckZzaTJSNjhTaEVnbldXZFl5cVNhTUpudU1SaU4yeDd0VVZjV3RXemR4M2dTQ1hOY1lZNmFPQjRSaGFxVVVTWktRWlJsNW5wTmxHVm1Xa1VqQ3NTT1BNa2dIRExKQXhGT2RodGhPSTJBZGlTUW8xMWhtZVI4c3g1cXA4Z3B4RFhtREppbE16UkJSMjZyd3pYbjNUU3kyYTRwWUtKSjlCUVA2eXk4cWJ0QW5xcGI5eDdmZjNnOWhXVVJVM2R6NW1XL3ZyMmNSa2ZXSklGb2hGbXhoY0xWRFJKTmxDZVNhbThWdDBpTXBsOGVYK2Y3UHZzOTVlNDZLQ3Fzc2xZdmx0U01pSU1iSVJrUkVmQ0swNVdmM3d3dGtHZFFGUUUxQ1FzbUl2Mzd0TDhteWhGLy82dGNaaldyVzhqWEFzYmx6QzYweVZsWldjYzZ4dWJuSllKQWR2R1VKSlBtQlFsUHdBZWhLdlU3Ynd2ZmFlMmdIOGgyMDVXdmJJV1pISVBwZU9VeGhtc1N4aEV3UFdGdGR4eTdaNER2cUhLdXZMSWNIQkJ1TTlNV0Y0VzdsQmEvQWxIVlEvVnhZdi9MU3RZc0kxQklTdkNSQmU0VTJUWHltSlJRd2FJcFloR0lHZnJwL3pYNzVtV1E5ajVlUW5HYmJ6MHdmRm14aldkQis1MUFkVVR5MFNxU0VHR2h4bm1FeUlNMDB4bFpNWEVGdGFnWkhCbHphdTh5N1Y5N25tcjFCalExeHNhcVJiYU83VmtSRUpMSVJFUkdmRkFmZlRWdlNZYjFESzRkMU5kZEhsL2lySC80RlJ6WTJlT1haWDJZeUtzRkN0cHloU1NuckNkNHJoc3NEdkcwU21QeDBmYlBidlhmWGdzOEdWTS9LMzRQTWxYV2RJMmloMmxUN1NWQSttYXArRGYxcjY1VjVjYVErYTd4SlBTS0NieVZnRFY1YkpwdkJOVUVjd2U0TWhZZ1BWY0VVSEJtc0JZSnNmVGR0aVN5QXBDcVU4VFdoMGxocmlLcDlDRGhvTS9DRlFHd2JTYlhaM3pDMGJsc0ZYOXFqMEZPY0NTcHpPeitkVThIK2tJTDU5NGNCM2pxOGRXZ0VwUUN4Vkw3Q3FncVRPV3FwT0hQOUE5N2VmcGNKNHk2Y3dGdlFDZGhJWkNNaUlwR05pSWk0Vi9TSjVPSTdhbDFCa21wTTVhbGNqU2JCNGJodzZ5eC8vdTEveWZIMUoxaEpObGhiWGlYUkNWVlJVZFdHUkdXczVDdVVybnhnSEFybUVWVEZnREM4dm45SGcwTkRlNXhkNElsTjVhZXdYSmd2T0Q4MEJMWTEzUElLblFhRjFMcHB5RUNydkNLZTlhV05tZEtwODhQZms2MWlwajhoYmxWQkc3L3FQTlo1c0I3dlBMZ3dqeUswQndzMTFiaFMrQzZXVGZscGZDalNLc2t0d2ZXMFI2Yi92cnNPZXZIWDdYQit2OC96N3ovTHFHdkxZTEJFS21EcWluRTF4aXFMWHdaWmduZk92ODI1MitlWU5HbGRPdFY0R3g0R3JMbmZ2WStJK0d3ZytzaEdSRVRjTXdUSDFBMmZXY05NQ2NVU1JHZDRHOXF6UEVNbkNtc0xkc2U3YkY3ZjVmRW5UbkRpeEFsMmRyZloyZGxsZFhXVlFUN2cxcTNiNUZud1YrM0trRFpWcGJ4NFFEWEs0TDJab2Q1dkgxbTYrTjYyRjczaXZESXQxeXU0Um9sMHpkRDZORzVVUEhnSmxscXVXYVpiZlp2cDc0S25MSTBucjlhS1JLVWtpUTRLcTNWNDU2ZFZ3WXpGR291emp1RmdTS0tUVUdCQjZlQkQyLy9uZlBDdUVCWGFsYUNVb0ZXYnFEVU5FbTM5WDMxVGl0aUpiZmF6VGQ3cnY4S1JVSzFuYkhPRWxBL0ZNYlJyUFlhYmZWMFFxL3BSenN0QlovNmc4emIvZVg3NWozWCtSV0d0WjVBUFVTSVV4UjVlR2RKbHhVUUtMdTlkNWJWelAyU1RiY2JVb1Rpdzh1RGNQcVUrSXVKaFJsUmtJeUlpUGgwSWdaeEpWeGNWbE1MV3JybVRDODRicXFwb1JyY3RQNzM0SnVzL09rNmFKenl5OWhncjYwdWdoY3BVNkZSM1NWMGR2Q0pFVUU3akl3OC9wQ2xQS2d0S3Jyb21zOTRFSlJhNlJDY1FuSEtJVjFpWlpxeDdmSmZWM3lZakNhcHpBUkFScENHYXBxNjdlTmUyM0crYk9BWmdLOXNwdGZNcXB6U2tXVlJZUHhKQ0ZKeHoxRFlzbDZva2tHNWF4VGNrYTRWOW5sVmt1NkNCbWUyRWVOcVFSTlVvMEQzeDM4MFppZTBqdEhKdkR6bS9DSWlIVEdlNDJsR2JBaTh3V003d0E4djFHMWQ0NDl5YmJMSEpCQWZhaHlwcXJ2VUtidFgzR0ZzUUVSR0piRVJFeEtlRFZtSDBVMHNzVVNuZWxPQ0ZaSkJRbFpQTzJTRFJZR3JEOTMvNk40d25FNzc1TzkvazFGT25tV3dYMk1KeVpQMG9WZEhXUDUzRmcwUmlBL2x2aHRMbnFsV0ZVTlJHaWZXaGdJSHYweGNGWFdwVXp4V2dXM3Rid3RkTnlhaHYzZ3ZnakczaU05VU02WnVHR0V3SnNnZ2Q0VlVxbk4vU1ZPQmRjRm5BSXUxMm1uOVcrZjNyeEFaeTJvWUl0TzI5YU9IZVFsMmNiWi9JU3VQcTRKVHR6WHI0UWd1U0pLVXNTN3d6NU1NVVI4SGw2eGM1YytGOXJuRVYweVIzV2ZIUUpuajVVRGhESzAzbHFraG1JeDU2UkNJYkVSSHhLYU5Yazh1WUVCR1E2aTR6UldrWTVDbmowWVJjRHlqc0RtK2MvUUZISDExak1NellHQjRsc1pwSk1TTDFXVk95bGpBMExoNTh3blFJdXIrOUJVUm80ZUJ4UDBITWZhSktZV0ZvLzk2V0RmQU5pVzJEQ3ZwaEdnNXhibWJXZHBzdFdoL1VMbnRmWEVNSTFZemxrMUpOcWQrVzZMWUtxL0loM3JXSmFXM0pidXRKbW1WWjk3bjl6am1ITVNGQVUrdVFZaGFLVllCWElZWTJhUWJUblpzTDVKUlFZYXdsN3EzYUx1M3VONU5Pck8ycDhZdlMrc1N6Yjl4K1ByUmcvdHoySDRLVW4vV1NuVysvR3hhZittbW5uRFN4dkFLK0g4UGN1allvcUNuUkE0OWJFcTd0YnZHVFMrL3h2ai9QR0V1Rnc3YWhGMW1LaU1KUERDRkJMeExZaUFpSVBySVJFUkdmS3VicFJyL1k3TnlOdHd0dlZlQlNFZ2I4eHN1L3pkLzdyYi9QaWZXVDdOd1lzVFk0aWkxZFVLQzB4aGpEcEN4SlVzWFN5bExqTTl2NnkvcHVDSHNlblg4cDRIdk1SVFZEOTZwSCttWVV6Umx4TUZDUnRuMmVSc3kzaDVuYXhLdkY2MjlKOE9KMk4zTTBmYy92dHUrZHVwaUl5OHcrOWYxTk83OWJZWGE2b0g5cWJ2OW41bXQ5YnB1VnRNcGd2My85OWR6cCtNNzNyNy9Oc0x3czdIOGY4KzN6KzlDdDE4MzFuOFh0YmIvNjdmMzlBRkNkNVlKclBHODlybEdjbllEV0doQ2NCV01jMW5xVWFKSWtRN1JuWW5keFdVMmRXRzVNYnZHVGMyL3lYbkdHTVNVcVR4aWJuUmtsdHJuVUNhWjBxbkV4aUloNHVCR1R2U0lpSWo1RitMbFhYMjJjZ3lLTUNTVWVYQmcyMzl2ZXBaeVVyQXhXT1BIWUNjYTdJMEpzYlVoR0VoRUdlWTUxbnRIZUhtbWlBeHRxNHpYN1crckpkZEpJZnRMTW9acDNiWW5RZGtqL295WUo3ZHZXQWZNdnlvR2JYY0ExL1pvOWJvb0ZxcUtuVVZVRHNaTm1LZW1lQ0tZdjFkdnVvdlYwL2U5bEk5MzcvcmVLT1VFOTk5TXRkNmxoemZkdC82WDNmZGYvZHJuZTh1MzcrYXZxb1BNMTM4OTVkYlZQY0JlZXYvbjU3N0QvWWY3cGswalhiVDg5STJtV1VaWVZwclprV2M1d3VBUWkxTVpRMkFJM3FIQkR3ODNKYmQ2KzlETStIRjlrTDVROG9HSUN5czV1MU5HdlpkZlg3eU1pSGxyRTBJS0lpSWo3ZzVhVldKb0VNY2QydWMxZnZmN3YwUzRsejRZOGZ1UkpKanNsM3NESzBqcUowaFJGaVhXR3dXQUErR25oZ0tZS2xQUVV6WFlJVjRCK3ByZVRPQ3diOGNuZ0pGVElEWXEyYXBMeDNNeURnaGlQR0VnUVVnRnhGbWNyOEFhVk9lck1jM08weVFkWHp2TGg3b2VNbVFBRzZXZTF6YlA0NlNSR3gwWkVFQlhaaUlpSSs0VldFdk9BQ0tuT1F5SVNudTFiVzl5NmZZUEhuM2lNTE04WkxBK3d0cVlvQ2tRZ1N6UFNOTVViMStoK3JZYXBhTFBjUTV5b2RObjFIN1ZMSCtmekoxZGsvY0wyVDhzKzZxN2Z5NTNiZjY3MlUzZjQvcVBpYnV2OXRQcS82TE1YTUVwd0F0TThPZDJWMzFWZVVaZUdQRTFJazVTcUxwa1VJNnl2U1hPTldoS3VsamQ0NS9LN3ZMOTFoakZGc05qQ1lMeVpyWDdSSTdMVDVMaW94a1pFUUNTeUVSRVI5d3N6ckVDaGt3UXRHdWNjaFI5emRlc3EyMXU3YkJ4YjUvang0MHlLTVVWUnNMcThRcHBtYkcxdWtTVTU0bld3SS9KcTMzQzE4bzFMclBRMXJNYUhWdHBRZzhWZCtpaWZJNUg5YVBNL2lFVFdDZFRLNDFRVDRPSERBNVU0YWZ4dUJWTWJodmtBVVk1SlZlQzBZYmlTNGhMRDllSUdyMTk2aTdQYkY5aGhENHZCNG5FaHhRdnBxYnN6NFNCZFArYXF3RVZFUEtTSW9RVVJFUkgzQng1QW9TVEJpNk91aXVhekJqVFdXMzU4OWpWS1YxQlVFNzd3M0JkWld6dEtzVnRnUnlQU1BHdENDdHJNOSthMjNtVFFLeitiR1c5Ym15cnBOczZEVWVZMjRyTUMxY1l2Ky9BK1QxSXNoc3BXK01Rd1dFMlIzSFB0eGhWK2N1RWQzaXAvUm9YZ3NSaHFQSVkwVFJCbnFkcncyQVZjdFN0RC9BdmR1NGlJenlZaWtZMklpTGhQVUkyU1NpOTkzK0F3T0tWSTlZQzZIdlBtdVI4eEd1K2lGSHorMlM5Uk9ZY0RIbGxacHhxNVhtbFdHcnNtMjVIYjFsNHJJdUxuQWUxRHZUTGQ1QnUyMC9EdzVOQ1pabUltVkZMaWwyQlh4bHkvY1pYM0xwemgvZkljWTBvcVBFcUR0UWF3elFPWVEvZTJzeWdtTnBMWWlJaUFHRm9RRVJGeFh5QUlDUWswNXZrNkZTUUpSVXdSai9NMVhoek9lM2JHTzF5NmVKbE01NXg2NWhScmErdmN1clZKbW1SNFVkMDZac3ZOOXAwSzJoQ0RrT3ZkVnJhVnVSSzNNYlRnNDMxK21FTUxrSEJWS1Nja1BvUVRxT0RwaFFCV2VWemlHYmt4SmpmWW9lUFM3bVYrZU9aMXpwcno3REhCWkFwRGdhTUdIZXpnalBYZ0lWUGQ0RUkzWmpBTks3L2JGUkFSOGZBZ0V0bUlpSWo3Z2tBd2c4K214K084Nll6MXV4Y2VsU2ljZFV6S0VaZk9YY0lESzJ2THJLMnVNUjVQVUZxVHBncHJheWJsR0swVVdabzBwdjJOdlJZZTE4Ykg0cnJidjNTZVNlenpTVzBXbkw1dGZXajczcVBjdWYxdVJNNzNNdE5uZkZEM3o3alFKN1d2TnMvNHNDNG9LUnUrbisyZjY1V2Y3Uy8zVVQvUDcvLzgrcnZ1emZXLys5ck5yVzkrZS9QcjU0RDE3OXYvYmdjL1VmLzM5V2Z1L1dSdmovV2xaUVpKU2pVdXFLdUNQTXRKQm9yU2wyelZ1K1JIQmhTRG1uZXV2c2ZmZnZBNmwvd1Z4dFJNTU5RVWpjVld1KzRwY2UzL0tUU0hNT3pTeko1SEloc1JFWWxzUkVURWZVRkl5UW9EcUVHRmRiUHlVd052SFhtV2thcU1zUmx6L3Z4NUp1TUpLK3RySEQxeUZHTXJ0dmEyeUFZSng0OGZweXdLdHJlMldGbGV3clhWanhyMXpJdHZ0dFY4L1hOV1pPOU9aRCtoSW52QWluOGhpdVNDTHo3dS9uOVNIblpYUmRZdi92NmdMKzZtRVBmYnhjUEcwaktUM1QxR3U3dGtxV2E0TktTbVlyZmNaYytOU0RZeWJ0YTNlZi9HQjd4My9ReFg3SFhHMUJRWW5QYWd6UDQrTk00RU1yZTkyYnd2T1RpQU5pTGlJVU1rc2hFUkVmY0o3WkIvYXlZL0paMGROT0RBR2tPU3BCaHJzUml1M0xqTTlzNHVqNTk0bkxJdU9IcDhneVJWWEx0MmhVR2U4ZWhqeDluZTNncVZsWHF5WUVka20yM0xIR3VPUlBiamZYNllpYXhtV3E4Z1RWSjBubUNvR0preEpyT285WVNiOVNidjMvaUF0eTY5eldWN25Ra1ZOUWEwQzRWQS9INnYySmJBenFjZzlvc3l6MVMyaUloNHlCR0piRVJFeEgxQ1A0YkF6YktPNWo2ZHBVM0ZVQmVTWVFRaDBSbVZMN20rZFkxelp6L2dtVk1uV1ZyTjJkbmRZbVZsQ2EyRW5lMWRscGVHb1JwWVIxeDlMN1l3K012K3ZPMjNJcEU5WUxtRE92QXhjVCtKckFMR3Uzc3NyNnlRTEtlTTZqM0d2a0N0YVV6dXVHVTNlZlBjVzV5NStRRzMyS1RDWU1SQjJqTFdFRTRBekpqQ3pvY1Q5Q21yK3lpZGpJaDR5QkNKYkVSRXhIM0M3R0JwbC9qVTNPTUZjRFZraVNKTFU0d3hPSVFrMDZDRnlwYnNsanY4K0swZm9iWHc5S21uc01iZ25XVmxlWVhkN1IxMG9qdGlNQ1VFWFlUc1BSUEkrVDI0Mi95UnlCNkFRMHhrQVpST3FjV3hWMDhZVVNKcmdza3RaMjUveU4rKzk3ZWNIWjFqaDEwcWFyd0N5VFRPbW1abENxd054NkNwTmRzbnNPMzd0Z3p0VkkyOVN5Y2pJaDR5UkNJYkVSRnhmeUQwV0t2dmJ1U3FlU1hOTE41NnZMVTRBY1JoYklYRmdCYWNxd0hIbVF2dmN1bjhSVTQ4Y1lJakcwY29KeVhycTJ2WXl2V0liQ0N1M2d1aEZOUCtwS3BJWkQvZTU0ZWF5QXFvUEtmME5TWjFxRlhOcnQzajdZcy80NDF6cjNQRlhxV2dwS1lPWld4VG9iYW1HV0lRUkduRW1oQ2kwTHhta3MrWUswSGJsMm9qSWlJNlJDSWJFUkZ4ZnlCekx4OStrUG8zOXFRSkRQRFFrSUYyZmcvS3NyNnh3WGl5QjhEVzNpWVh6NXdua1lUSEhubVVzakFrS2lINDFUWWI4VTBwMjZhbXFNd3hxVWhrUDk3bmg1bklPb0VTaDB1Rk9yVmMzNzNCVytkL3lwczMzMlNMYlF3MUZSVW9qOU9lMnRRZGlWV2tpSFdrZVBSTXdBdjRKdFhMOS84NFBrYVo1WWlJaHcyUnlFWkVSTndmekFjRE1pV3cvYThWQ3AxcUhCN25lc3NsUXJrM29RMGFTSlZtdDlyanZYTS9ZL1AyRnMrY09rbVNweUFlTDYwemdpZVVzZzJCQmNxclVGcTBmWFdsYmhVeTA4bmdxakNsMWEwSmt2VHB4blRYL056bjdsMnJ1elhUT2FzdHhXSXk5Zk1pc2pOajJIZVpmeEdYbXRuM1h2djhmdnc4aUt3Q1F1R0w1aXo0NlJRRTVmZXZ2TjhQTDhIcnRhdkYwVXUwMGw2RmNoMnU1dy9iZE5aSmVGV0paVGNkTXhwTXVMQjFrZSsvOXdQT2xoOHdZWUxCVUdORHlWa0YxazNEYVBJOFI2UHd6aEllcS9vQkwyb21KbmJhNlVoa0l5SU93dlN2TXlJaUl1SVhqVGtpMjM3c1oyeTcvaXl6MHRYc3FueFlVcUhSSkFnNWYvaU5mOERKeDU3aGlhTlBrWmdCWmdLcHpjaDBEazd3eHVLOUlDSm9yVkZLWWEzRldvdjNGcVhEbHAwWVBBWndlQ3pnUXZVbW00QVBCUkx2NUFPck9uOVNoZmUyMmNNbUQ3MXhhMWprWXp2dnBicnY4TG45OC9hM1A1TS81MzJ2SDRHTTlUSGZIbWFhdnBjRlBxN3p5L2YzNDA3dC9mV3JPN1hmYWZubTRRTlVyOSt1YTVmZSsvNzN3YXZZWXdWcTdVQkRna1liUVJtUHNrSmlRNzA0VTlXb1JHT2NvL0FWVG52U1FZNVBoTzFrbS9mTVdYNTY1UzNPWHoxUFRZMUNjQmhxVE9QRzRRKzR3YllQU3E2N0VycjluSjgxM3FVakl1NklxTWhHUkVSODVqQ2ZyYjF3Qm5wcVlDY05lcnc0TEE2SDQ1MnpiK09kNStqR1VVUUZLVzJRNXlTaW1Zd25MQStYMFRwQlJIQVdxcXJHR29kU1FwcG1lQmRrT2dHOHVLQ2dlWXQwRlFsMDB5NTRjUXVuUUtNSTA5aC9oYW5ReHUvNmV4YmREaHB4L2lpS3JMQmYwVjJvMkxMZkNxcS8vYjRpKzNIM1EzMGlnamJWdzZYM1hSdjc3SnU0NjNBZTVqb05lT1VvVFIzVVVpdUlBK1VVaVFmeFlaMjFNYVNEbEdRNXhXZENRY0dlSGJGVDczTEQzdUE3NzMrSEQ3WS9vUFFGQm9OUFBMVTNPRHlpMUIwZVJQYW5Ia1pFUk53YjRyTmVSRVRFb2NXQlErd2VoSlFsdllxeGpvd2h2L1BxNy9FYlgvMDZHOE9qMklsSGJOQnV2UmU4RTBSVXA1TjVMempuMEIxVHRIZ3M0bDJueklMQ094VmlkNzNDWVdlbVhseWpHRTRWMS82ME03NXZPZkdpeWxjL1IwVVdabFhaT3lteTZvRCt6YS8vVG4xZTFLNE82UDlIWFo1R2tRMmMxYzdzaHhPSE9JOFRQOWQvMjI2ZDJqVnF2Rk1vRWJScjF1TThEa3VTcDR5clBjYXVRQWFDR2lwdWpqYjUyWm0zZVhQME5sdnNVRkFDa0NSQm1ROFY1VUFwTlMzSUVSRVI4WE5EVkdRaklpSU9MV2FVeHdXQm1NNWJNaklzamd2WHpuUDJaMmZ3V0ZiWFYwaFNSWm9sR0F5bExiRytScVdhTk5kNGI2bktFdFhhZDdXU3FvQzRhVXh0Ris3UU1ycVpxWisyQ1ZnSkJOT0tEUnFpZ1BMN0xjQSsxdjUvQWtVV1Byb2llN2VrcW52Rko4NWhFajhOemVoaW1GMnpYOU9CL1ZiL2xKbEJmR0dvbHRFdUFSZUlyc1BoeEZNcFE2bHI5dHdJdCtLeFM0WnJ4VFhlT1BjVGZ2amhhNXl2endjQ0syQ1ZRNXJrUVd0dHQzYXRkU1N5RVJHL0FFUkZOaUlpNHRCaUpubG53UmVKU3ZGT29VblpTRFlvVElXZ09iVjJpdC85N1cvdzJMRW5HR1RMYUozaWFvY3pqb1FNaGNZWlNQdzBJYXlOL1pSZTNLV1JPZ3hoMHhBaDZTdUdRYlZ0RlZsSFdMNVZiQldRV05XVXlZMks3RDBwc3VFYlFQQytWYjU3TWNoeng3Sy9mK0kwbWNseFRsRzdHdGZFeTlyTVVtdERyU3FxdEdTcjNPTEs1a1hPWEQ3RHBja0ZIQWFMSmM4RzdGUmpMSXVScGlsMVhSL1FHaEVSOFdraEtySVJFUkdIRnBxNXAvRzVJRkRuSFluV2VHOG9YWW5Ec3FLWEdCVTcvT0RkdjJIbjlnN0cxNnhzTEROWXlrQjVQQTRVYUZFNDc2WVZ3SnFzK0NDd0NvaDBUZ2ppdy92UTNob255VFJXRXpVbFZYN3FoNkRhVFB0N3hNT3V5RTVqZElXcEEwUTRIOUk0VkxST0ZXM3NiQXZsRldJYkFweUE1T0FIUXAwYnhtckNyaHB6WWZzaXIzLzRPaisrOG1OdW1kczRhbVFnbEZqR3BwNVJnZHFFUVJFSkR6VlJqWTJJK0lVZ0tySVJFUkdIRnJwUjN0cnFSL01NYmpCSUtTWTE0bUdZRGhFRHhqc0VSVWFPUmZINDhoTzhjUHBGbm5qc0JNZldqM0YwL1JpNVdzSlhrUGdFN1JMRWE1VFJJYVRBaFpoWXhPRXdPREgwM1FqY3ZFWW5IcncwdmV3cGdvQjJFbU5rNzNGNThmMWtzZmI0RXg1RVF1QXkzdEVkZno5Ly9EM05Bd2c0RFNhMWpDaTVWZDdtMHU0MWJoWTNlZlBLVDZnb0VUdytOMVNtbkhsb2trYjFWMDFpbDdVVzU5eGR6MXRFUk1TbmgwaGtJeUlpRGkxMGswL2ZrVVRvcGRFSHFGRFJGbE0xUHJXaTBLSkNnaGM1d2JKTGtUUGdsUmRlNGFzdi94S1BIejBCUnBISkFHMFR0RXZCS2JSTm9QRVdGY0IxaVYvelJHdldWS2tmY3RCT2xaK04yWXhFOXVNVFdlMWFDeTY2QjRoK2FJZnIzZDVzRXluYnRZdkRxaG9ybGtvc0V3cHVqRGY1OE1ZRjNydHhoaTEyY0xnbUZyWUdiV1pPcTJqd1ZWQ0RXOXUyRmxwcmtpU2hMTXVGK3hJUkVmSHBJUkxaaUlpSVE0dTdFdG4rTDF6dmw2NXpEQ0JCb1p0WGdnQkRsdm5jMDUvbjg4OS9nWmRmZkJWZkNjZmpBVFlBQUNBQVNVUkJWRlFhNVRRcEdab0ViOEE3aDBid05teGJhNDNXR2dCalhNaGV0MU4xcm0wWEVheDFXR3NnYWJ4a3VVY2llQUNSN1BqcEhGSDh1RVMySmFyM1NtUVh2ZTkvcHo4R0VlNHJuU0tDbGdSZldOSkdFWFhpT2c5ZzQ0SVBjSm9uR0dPb25VRzBJa21TeGszQVVGS2cxdUg2M2pVdVhydkV1V3NYdVZ6ZFlFUkJpV2tpWVIySUFYd3o3Y0VUNzU0UkVaOEJSQ0liRVJGeGFDR29YbkRCZ3ZDQ3VZSUxIVnFDNWdWQmt3UkxmQ3l1S2FlUThraDJqRXlHdlBUNVYvbnFLNy9NbzBjZXB4elZqSFluSkNwbGJiaUtOQWI2MWxycXVzWlVGaEVoVFZQeUpDZE5VMndkMmtLUmhjYTV3SGlzTnlSNXNJbUNTR1FYdFRzWEhBSGFWN2QvSWlGaHJsWmd3ME9EOFFZdmtLUXArU0JGcFlxZHZSMGtFYnhBWlVyS3NzUml5YklNdFF4LzhaTnZzVzIzMlI3dnNPUDNHRk5UdDlwdXByQjExWVFtRU53UlBJRHJWR0JQaklPTmlMamZpRVEySWlMaTBFSTZxLzREaU95ZDBDaHE3VHFHNlJCbkhMNkpvZFZvVmxtanhyUEVDcDk3K2tWZWVla3JQUDNVMHdpYVlyZkU3SllNOUpCaFBpRExNaEtWNHF6SEdZTXpucnFvOFU3QUJWL1JSS1Vrb2hEUldLbXhVa1VpZTRmMmc0aXM5eDZjVUkrcjhOQ1E1K2hVNFFUS3VtQlVUcWhNU1RiTU1MNkdGUEpoaGdOdTNyck96OTU5bC9lS2Q5aGhpd2tqTEsxVE1KaDJ4eElGempiWGllb3VMaUdNQkFTekxodkpiRVRFZlVZa3NoRVJFWWNXQytvZ0hOdzQvNTF2ZmdDYmFhSVRFa213SnZpUkp1akdoMEF6WkxtSndOUTh2dm9Fcjd6eUZWNDYvUVUyOHFPWVNWQmlFMG5Jc2d6eFFsM1VsSk9LdGVFYUNvMmdHeHN2d1R1SHJ6MjFyeUd4a2NqZW9iMTFBT2pJYTlQZWhoa3NENWVvVEUxZDE5VE80SlZIcFFySkJUVHNsU01rOVV5cWdzczNMbkgyL0ZtdW1XdFlMRFVWSS9hb3FFTTFPTytiQ214dERHM2JNZWdLTHpSakFFSUNUZkJCS0pBUkVSRnh2eENKYkVSRXhBT0RSZHpWYy9BUFhaSWtXT3Z4M25iTHFtYitSQ1VvcjdCZDhsWkNSa2FlRG5GVzRaM2x5ODk5bGVkT251TFpaNTVqYWJETVpHOUNYZGFzRHRaWVg5MWdiM092c1huU3diZmZCVjlhTFFrb2ozTW1FdGs3dENkSmlISHR3ako2eXF3bCtMN1d2c1Q2VU1nQURWWVpqRExVM3JCWDd2TEJwYlA4N1BJN2pCbmpzS2dteGE2a29xRENZcnVpQ3UyQmF6YUJiOFZXcnpvSzIxNExZQnBGTmhMWmlJajdpVWhrSXlJaUhoak1FbG0xY0o3NUh6d1JRYWxteUhyTys3TmRneEtGb0hGZUdwVjI2blFnQ0d0Nm5SZE92OGlyTDczS2s4ZWZ4RlNXdmMwUkc4c2JZQlJpQkc4OFlqV3BTc2lhK05taUdFLzdGWW5zL3YxcjNBQmFSNEEyV1F1Z3BxYlVGUzV4YUsycHBXSnZNdUxxclN0Y3VIYUI2MXZYdWNrTkxJWlVjbXBxUm40UDN3UUY4UCt6OXlheGxpWG5uZDh2aG5QdThNYWN4eHF5cWxnVGk4Vlpva1JTSkVWS2xOUzI3SVhoM25uaGJhTU5HSVlYQnJ5d2pZYVhobGRlMllaaEwreE5vdzBiYU1HR21wSmFJeldRSXFreUIzRW9WbFl4cXlxbjkvSzlPNXh6SXVMekl1S2NlKzU5OTcyc3lpS1pURmI4RXpmajNYdm1PREg4NHh1MXdZVWtqaWQwZHJDS1NHU1ZockRFVVRVeGNyR21EVjhnTkpCTkN6SXlIaW95a2MzSXlIaDBzZUxNdFpDcXRtUmpnWFYwUTlJV3BTUUcwRzhsY1pKTURtS2MvU01qWldFSERNc1JzMG5GV0kwWkRBYk01bk1FMkdUTXk4OTlsQmVlZm9GVFcyY1k2QUVqTzQ0bUJvblFCaWNvMFZobFRvd2p1M1N2NzBNaUd5TTh4TmlzV211TU1ZZ0lkVjB6ODNQMEtjM3Q2VzF1M25xTHQrL2M1TzdrTHZmOFBRN1lwNmJHRTZpcGNBZ2VoeTVBRFJTdUVhS3R5QUJDSzZNVlZJaVdzcXRMb0U0dzI3V3J0a0VFTXBITnlIaTR5RVEySXlQajBjVXhSTGFWbXJWaFA1ZWp1aTVnakNXSUk3U2lONVhJNjdwcmFiQmE0UVRpZjFEb0ljSEhSQWl0RTVDaFNIYXhpbDE5aWd0bkwzRHQ2bE5jdlh5VjAxdG5zS2FNN0xpR0FTTk1pQ0c3T2dJWFdsT0dscWpxM3UrcTI2L2R0bzRJcTdSZFJKYTJMNGhxaXZXZ1FGUklLWGpqYy9SVHZPcVUrR0g5OXVXa0JDSkhVL1JLc2p0ZHZyLzF4Qy91RzlKNWtybUZEb1FRTFZHMTFvZ0sxSFhOWkRMaG9ON25tNis5d3IxcW56MzJjRFRKWVN1cS9EME9RZkFFR2hVakduUWN0RzBvalFVeGtJaXNSbEJya3M1MkNUZmFocUI2Vy9JTW1wSHhVSkdKYkVaR3hpOHBkRGZBblR6UXZVT0oydHFUNmVXMHB5M0JTNzhXRkhoOFo0cHdldXNNVjY1YzRjcVZLNXpmT3MvbHpjY1pxakdGTm9RZ3VMb2hPS0hRQllVcFVTbmlnVGlpQkRHSlVBMHg4b0VPS1F4VWo2UXFpTWNSTTFlcDl2Y2d5YmxOa0tBUUZjQktSMlNYS1g4c25RdHJmeGRSYUluUFIxZzRZM21KdHF3K1VVcGpMVUcxaEZZNnN0cmVzOWV4L2tVclZOTGFWMkhPcko0eGE2WnNuZHJnc0Rwazc5NWQzcjU3azl0M2IzRm4vdzZIY3NpY0dWVkhXQ1BhQ0FJaEdSREV2OFB4MFN6Q1VkbnJjWGJXUjlyQzJnMFpHUmsvYjJRaW01R1JrZkV6Z3JXV0VBSWhIQ1hMQlNWbnVjREZVNWQ0NHVvVFhMcDBpWjJOWFlxaXdFcUJ3U0JlTU1veTBFT3NzaWlKcW5aZkI4UkpKSkwwQ0d3cm1VNnBiN1VzSktkUllteTY2d2NWYUpxcUk1YnJVQlRGVXRTQWZ2UUFna0k1alpab3k0b0JaWFEwMFVpazlIQTZJVXArUTVTdXBwdFJLaExwT2dndU5JVGdhSEE0NVhDaFllNW5WS0hpcTEvL0N4cXBtZnNaYzJybXpGS1UxeWhwZFVjVEFtZGtaTHpQa0lsc1JrWkd4czhZclgwbnhOaW8zbnNNbGcwMk1SUkphaWlNR0xFOTJPYmM3bmwydG5aNTlwbG5LWFRCb0JneXNBT01NVkhxRzZLSlFha0dhTkVkd1d5bHI0U2s4azgyc2lycS9CRlBqNHdHckxVbjN2ZDhQdStpQkt5V0FJVXVZdVNGRUFqaXFKMGppTWVIZ0JmSDlxbnRTRGxGWXE2c0VBZ1NiVjREbnNQcG5NTnF3dDdlSFc3ZnZjV3QvVHZzY1p1YXBndHQ1WlBVMWFjNkFrRnBCVnFvbk04VFdFYkcreHlaeUdaa1pHVDhqTkI2Mk1OUkp5NGxtcElCclo2Nk5WSlFhQ3lXQVVNcXFtU1VvTm5SdTV6WlBjT3BVNmZZMmRsaE5CaHpkdWNzUm1tMHRoaGpLSFJNZzJ1MHhtQ3A2eHJkblR1YUEwUWlHbTFyblhOSmlydmV0RUJydTJRYks2S1d2cnZnMDM0YTlFSXlpMVpBNE82OXU5Uk54ZUYwd3Q2OXUrenQ3YkYzc01la21sQlRNNlhxSE80azBmbUFvQWdvVkxKNzlWM1p1bGRKVnUxblpHUWtaQ0tia1pHUjhUTkNVUlNkMS8wNkdLSkV0TlJsSngwTlRjQ0pBeFNiZzgyWUljdzNPTnlTUmE1T3FYUXRob0tTUVRGZ05CZ3dMR05vcjBJWFhMbHlCWTNDR0VOcEI1VEdZcTNGbUFLak5KdWpyZTVzNjRoczAzaENjSGd2TkUxRjAzaWNxL0UreHNDZFZoTnFWekdySzZiVFF3NFBENW5NRDVuN2lvYWFLb1duaWdRMEpFcStzQ0VPM2NjVGtwdVc5RWl0NEJiRXRSL290MFcwTXNqSXlIZ2ZJeFBaakl5TWpKOHhZcXhhM1gzYXdQNWFhNXFtb2E3cjVmM2JxQVhIeE1LTit5aE1UOTRLWUxHSkxLcE9vaG4zWFQ0dnRQYXlYYVJjMWhIWmdnR1JnclpXcVhUYld5dlZSWXBXaFNiRzJXMWQzaHgxT2paR0U0aVEzdi85MEZaMDF5S0ZRd3V0YzUzdWZWcFNLOENjUElObFpMelBrWWxzUmtaR3hzOElyVjFzbTJxMURlemZvZWRKYjR6dVRCSGFOS3lyeDdlT1kyMEVxOUlVcUtDU3pXbFlJcW9BUXoySUpnM1N5amdYaUhTM2RmNWFEY2tReXdYbGpOOTFqSmVBUWlOQXhaU1dpcmI3THVJR3RGalFYNVZJYUV2a3ZROHhtbFdiaWpiMDZtU2xmbzc4Sm1TSmJFWkdSaWF5R1JrWkdUOHY5S1d4U2ltYXBsbm1qbjIwa3NqUSs5N2JwalJJdzlJSXJsRkxUbG5TUzRqUVd1TEd2K00zNmNqcWVpSWJpZkZSUXJ2WXZwREhzb2JDYWswdmppekxKTFM5YlB0WnRiNHdLL3Uxa041bk9jQnJSa2JHK3hDWnlHWmtaR1E4WkVRSloxajljYmxjaDlYUmUrWDdjb3pieGYvUWNzQnc4dm52aDNXenh6cENmdHcrRHpyN3lFcVprWkh4dnNYSnNWY3lNakl5TW41bTZOdkNyZ29rajh1QWRTenVRK3JDaXRtQkVCWTJwdytDUHBtODN6bU9Dbk9Qbm1mdGNjZmJDRWZrOUxBWkdlOTNaQ0tia1pHUjhSRFFadnVLZjZzampsMGRSV3RUd0I1RDJvN25rS3NrY0IwcGZBOFMyVjUyczJVeWV0UnA3RVFKYWo4Tjd3cFdiWDU3Vit3NWlXVXltNUh4ZmtZbXNoa1pHUm0vZ05CTFpnQkhIYm5hTGNjZHZmcDlWU2phUVZndk1iMWZlY0tkTDVXdFZQVUVNdHNQS25iU1UvUnZZbzB4UmtaR3h2c1EyVVkySXlNajR5RmgyYlRnL3JSc1dXb2J1bVB1UDRpdms4NEdPQ0U5N1R2Q01SYytLdVM5bjRuQU84V3lwRGRUMll5TWpFeGtNekl5TW41QnNTcUZYWlhTUWxoa3VZTGpKYWpkZG4xazFIOXd5NEtUU2VUNjh4NG5WZTRiQzZ4ZTV3R0V3aGtaR2U4YjVQRWdJeU1qNDJGZ1hWU0MrMFloV0piSUxtVzhhdmMva2NqMmZoZTl4akwzbmFOTktIc3NFejdSaE9EWVhkWWZkSnhEV1o2OU1qTGU5OGcyc2hrWkdSa1BDK3RDVmNtYTdXc0lteHp6Kzd1NjNzOFNEeW9tV1VkY2Y1NzNuWkdSOFVnaFMyUXpNakl5SGhaK0ZsTEdreVN5UjY2amYyYW1CUmtaR1JrL0QyUWltNUdSa1pHUmtaR1I4VWppcCtWS21wR1JrWkdSa1pHUmtmRnpSU2F5R1JrWkdSa1pHUmtaanlReWtjM0l5TWpJeU1qSXlIZ2trWWxzUmtaR1JrWkdSa2JHSTRsTVpETXlNakl5TWpJeU1oNUpaQ0tia1pHUmtaR1JrWkh4U0NJVDJZeU1qSXlNakl5TWpFY1NtY2htWkdSa1pHUmtaR1E4a3NoRU5pTWpJeU1qSXlNajQ1RkVKcklaR1JrWkdSa1pHUm1QSkRLUnpjakl5TWpJeU1qSWVDU1JpV3hHUmtaR1JrWkdSc1lqaVV4a016SXlNakl5TWpJeUhrblloMzBENzNlbzN0L1MvYlc2dmdocmp4RWVCV2hXN3o4ajQ2ZUhkN01XZjQvdFVLMThGMUR2UVJZUSsyODRldDdsSGQ3eDdhdy90TmYvVk5xZ2VGUUdqNHlNakl6N0loUFpod2dGREFkUTE0REU2Y2JZRXVmaUxETWNqYWlxT1NpSFNwT1JralIxQ3dRRm9rNmVrOVFKczUwQ1Fvam5QT2w0a2ZnNUNWcURVZ29KN1FVMVNpbEM2RTNZNlh4YUwyN0srZFVUSDBjTU1obk9XSVVHMVdzdjc0YWNxYkJFUkJVSzZaMUFnS0lvQ0hpOGM3M2pGcGZXR0pSVHFEV1VVcVYvNGNnaVZIV2xWNEtuamsxZXA0djJkbGNheW5KSU5aK0R4UHMwNlhsRkJJVmdlZ2VFZEdQdGFhUzkwZU9lSHpLaHpjakllT1NSMStZUEVRcG9PWjFXZ0xJRUtRbGlrSTQ1ZXNDbE1zUmppQk93cEYvanBLemZmY25KVXAyajk2dlFPaExVOWhPQ1EvRDRqcEMyNXpVWVl3Z2hFS2ZWUUpDalpIUjk0MXMzK2E0Y20xdHVSa2RrNzdPYTZ6YUdSWmthZmxrTWNYV0RJQmh0R0F3R2lBaXplYlYwQm1zc3hoZ1FoZmNlSHp3S2hjV21QcWtJeUpIU3BONXEwQVFFQlRRNE5BcVBKK0J4eXZmNiszcHNiR3dBTUpsTUZyK05oalN6NlpLR0puUkVWaTlYaVZydGU1bklabVJrL0hJZzA0R0hDQVVNUzJnYUVOSEFDRStCVVNPc0thbGNFdFVxajhhaDhDaUowNVpHZDFJWFVZR0ZDdkhkbEdEdVEyV2R1Qk8yZWhRTklLZ2tnWVVvTFdvbFVWb3BJS0NVSUpGMmc0b1NYSzJoU28rWWtmSHVzU0tSaFdQYTBsRUMyMElWR2hXRTRLVW5vZFdVdW1BODJLQ2FWWjNVTmtwc2RmZTlwT0R5N2tXc3RZd0hZd2JqQWFOeWhDNDBoUzRJS29BbkV0WW1NS3RuVk5PS2U1Tjd6Q2R6WnMyTUErNHQrZ29LaGNIamNkUjRBcHVqTWZ1ekF5QWdnQzBOUVFWQzQwSEFDQ3RFZG8wa2RyMzkwa3JkWkdSa1pEeWF5RVQySWFPMEJZMFRZTURGODA5eWNPQngzcUIxUWQwMERNb0NWSlRJYWdKS1FFbVNRZ0ZCQk5FUC9ncjFmZWF4d1dBUXJ4TUMzbnVhcHFGMk5RNEhPQlJ6SXFGdEo4NEZpVzBsc1F1cGNrS2FXSTBCNThrdE1PTTlvRTltVzAzRE1kSkhPS3FDNkxGQWhXSlFqRkZPOEVIUUdBd1dnMkZiN1hCdTl6em5UMS9nNHZsTFhMcHdtZDNkWGFhSDkxQXFhaXBhYllXSWRKK2lLRHJ0QlN6NmtYT09FQUx6Nll5YnQ5L214NisveHB0djMrQ2VPOEJSNGFLc2xqbHpBZzVQUUxRUXhOR3FaYlJSU0NYMG5qNTJwZTRaMTJnMk1wSE55TWo0SlVNbXNnOFZHaWl3ZXNRTHozMk1mL2JQL2pNMnR5NGdEQmlVRzZBdDgrbGhJcktDSXFCYklwc2tzMTc4ZzE5ZUJYQmhqZHB4Z2FxcUVKRnU4cTNybXZsOFRsM1hPRGZubFcvL0hUZHYzZURIUC80UmI3NzFKbzRvWXQwWWpCaU9TdTdkdTR2UUlEaUVLdHJiOXM1LzM4YVhXMmZHaWVoTEhudW1NOGVoMzU1VStoakZRQTlwS29kR1k3QnNzc1h1ZUplUHZQQXhkamQyT2J0MW51M2hOZ1VsaEVoeGxSS0dvMmlLRUVJZ2hORDlEVkV6TVovUDQ2VjY1amd0NmRVb2ZPTXB0SVpDNFhYZzNteWYxOSs4enZkZSt4NnYzM3lkUGJsTFJZV2p3ZVB3K1BoODdWcldyWG1lazU1YlRuWWt6Y2pJeUhqVWtKMjlIaW8waWhJWERGV2wyRDExQldPMjJMdFg0UnFGS0VIOEFGUkp0SG9MS05GRUFXenI5SEV5a1QzWjlpNkFkOUhiUzlUYWNsaHNkZCtEZUlJWC9KYkR1MENRaXFlZmZnNVVnL2VlZS9mMmVQWFZIL0tOYjM2ZHIzM3RiN2k5dDhkaXh0V0FaVEJRR0FNK05EUU4rUHZObzQ5V2lJYU1oNEUrY1gwSEpGYjF2NHZGQkkwbllDa3BLWGp5M0RVKy9QeEgrTURqejlJY2VzWjJ6SWJkb2xRbHltbkVDeUU1Wk00T3BnUWxhRkdJaGtKYnJMVVUyb0pSbk5rK1N4TWN2bmJVdmlFMDBUSldTM1Q3MmpRYitNYmo1dzZsUGFlTFUrdzh0c01ISG4rR21hcjU4WnV2OHAzWHZzTjNybitiR2ROb2VTdFJxcnZRZUxCTVl1OURaayswTk1qSXlNaDR4SkFsc2c4VkJXV3hTOTBVUEg3MU9mN0Z2L2p2YVZ4QlZSazJOMDdqZytDYlJEU1RXWUZtSVpIVlFBanRoUGFBQ0RVbjJkSjZMeWdsUzc4dnZuc2t6QkJ4S0tVd1ZxRzE0SHpOYkhaQVZSL3l2LzV2L3pPM2J0L2dyVnV2NFprRE5kRVVJYkJrVmZCT3ZNNldXbXBmb1pyeHZzY0pKZ050dVFnNHNIQklMQmtCbWhGam5uL21PVDd4b1Uvd3hPVW5DWlZpZXZlUTArT3owS1J1MG9BSmxnS0wxY241UzBjYldIeTBKeGNuTktIcGJHUHhFRlRBWUJBdFVaSnJGVmJaS0pHZDFSZ2lDUmJqOGNaVFUxT3BobHJWcUNFYzFQdTh0ZmMyUDNqaiszei8xUit3SC9ZSUJJYkZpUDFtcjJkN0h0WVRXdWwvZEZwV3h2NGNrdTF0UmtaR3hxTUtBL3hYRC9zbTNyOHcrS0JBbFp3NmZZa3YvZGEvZ3c4bDFtd3dHRzR5T2F6UnBnU2xVZGhrQzJoUVdCUUZZRkdpb3FNVnhkb1NzYlFtRE90S3JReEtHWlFxMXBmRUVpeUlSc1Fnb2hBeGdJRmdrV0NSWUZDVWFEVkFLUXNTNy9GTFgvd3lseTlmUVdFNTNKOHlyeHZhZUVOOXU5b09KeEZhdGU1TG5vWXpXRTlrVjBpc1RvWURCbzNHVWxBeVpvdVBQZllKZnZkei80UlB2dnhyN0pTN1ZIc056R0c3M0VVcVFUVUtMYVlqc0NwQTB6VFJ4S2FxOFkxSGdxQkZvNVhHYW90VzhVcUZMU2hNZ1RXMit4MFAzbmxDNHloVkVkVmlBa0VDSWFrb0NsMHdLRXBDSFFucnVkMXpYTDM0R0JmUFhLS3NDK2FIRFZXWUkwaUtodERHOE9vOThOcStwTG9vQzlGOUxjc3lNakl5SG0xa0l2dFFFZFh0WU5uWk9jZG5mK09MR0QzQ080WDNHcTF0dEt0RHBYaXdiV3pLTkVQSklpN2xZaEk3dm94bUJqbzVva1NuRk5XYUhxVHZFcElEV1VobUNhSzY3ZkVPOU9LN0tMUVVHSVpvU2dpRzRBeWhpZVRZNmlGTjVUbHo2aHdmL2ZBbitNaUhQMHFoQjF4LzlTY0VGSVlCU21uS1FZbnowUTY0S0F6V3FpUUpQcW51TXBITldFWWJpYXVQMFhDQWR4NkR4V0t3Rkpoa1JIQjU0d24rbzkvOWozbjJ5Z2M1UFR5TmJRcE1VMUtHa2tJR2FLOVJYcU5FUmRNQmtnMnM4bUFFYlEzV1dMVFJvQklSbFlBUFBrWTRVSkVxdHYrQ2hPNXZwUlZLSzVDQUtFL1FFcU9QYUlreG0wVUlMbUJFbzRQR3p3UEdHYzV1bnVlSkMwOXlwamhEbU1KZWN3ZUw3UjY4TElmNGtPSVhXQnNEUlMvWDBncVJoZHlITWpJeUhtVmtJdnRRa1R5dWxXVjM5eXlmLy95WFVXcEFDQ3BKTlJkaUZaVW1teFRnaWpZTXUrcFU2L0pBcGU1MHJxdHBmOVRpOStPMm85RWhTb1piaVMyWVJZbUtFNnNYdkJjMnh0dGN2ZklrbHk4OXh1RmV4YTE3dHdrRW5HOFlEVGV3cHFDdWEwSUlqRVlGVFhPUzJVQW1zaGtMcURYQ2ZRUzhFd29LTm90dGlqQUFOSnRzOFNzdmZvb3ZmL2IzMkFxbjJaSnRobXBFS1FPTU4yaHZVRUdqeGFSTUlHbTVHRU9HSUNvZzZXK1VwQkI0aWFMMnk5WFB5bmFWSWtFSDdlTTVrYTQzcTNUVjRFRUhnelNnYXNWQURka3VkemcxMnVYc3FUT01oZ051M0hrVENCU1VOTDRCRWNZYld6VHo2WnFhaW1QSGdzaG0wNXlNakl4SEc5blo2NkdpZGRaSUNRK1VBK1hwN0ZHVjZpVXdTR0dzRkdoSnFrUUY5MDI1dFRaR1FPdjEwWSt2cWVNMStpVXI1ZXIyTHNGQmowVkkvekthYXRaZzdCaU5SWW5ud3JsVG5OcTl5TTdXSmI3MnpiL2d6Nzc2L3pJUDk1ak5IVHRibTh5ck9TTFJmaEdhQjZuVWpQY1JWRzg5SSszNktuMVh5WkJnb0VhNEpxRFFYQ3d1OCtsZitRd3ZQUGRCdHZRdXlnMG8vUkF0SUM2R3QvS1NFaFJvU1ZxTVFGQXQ2VXRTVlpVY0wwUFJ1NlFzbGF0WTNlNTF3S3ZRUlZzUWlhRzBSQVFWRkVxZ3dHQjBRZUVOVmRNZ3pxTTk3SmdkeXQyQ1lzc3dIQTc1K2l0ZjQ2N2NaVUFCREtnT3A4VGhQWVUxV0pKVVovS2FrWkh4eTRNc2tYMm9VR2ttTnB6YVBjZHZmdjYzVVdvUXpRb29FZlRDMFl1QVFsTEVndVNBcFdKSXJpZ1pvdWZzMFN1UnhYZFdTK25sLzNuM3BlN2t3dW1jTFl0VkMwYlJOQzdHb2hYRDVIREtmRjVURm1QT25idkF0V3RQZ2ZLODl0cXJ1QkJ3dFV2SEJVSVFKSnlRaDM1Sk9wenhma1ZNamR6N0lUVUpsZXhoU3dZSUNvUGw2dmhKUHZlcnY4bkhYL3drQXphNCs4WStPK1VwVExBbzBVZ0lCR25iY05TQ1NPby9IUVZWUFNtbVdpanBVZTIraTNMMXMzWjdkNjcwZTVMVDZtVEtZekJZWXloMGdSSXdRU011NEtxRzJYeUdLUlhYbm55U29TNjUrZGF0bUZJWFIwQVlGQ1ZORzVWRUxWZFIyMitQSTkwWkdSa1pqd3F5UlBhaG94VmhKa0xhUWdrcUxESndkWlJOQlpTMGhMWS9FUjJYd1VzZDgvdnE5dlplK3VXNmUxM1pyaG8wRGUyMHY3REZqUmdQaDRqemVPY1pGbU8wamg3Z2dxRTBHM3orYzcrRktSWC81aXYvRHdlenU1Rnk2Q0hPejdIVzRwdzdnY3hteVZKR1JPd2I3Uit0TTJHMEhUVVV2SERoUTN6eDA3L050UXRQc2ZmMlBkelVjV2JqZkV4UUlGV3lHNC9lLzlIV05pMHlWek1qSjgvL0Z1dVNLYi96bTI3RDBpMDl4UktjcnhFOEZrdFJHRXpSTGhBYkNxY1ltUzBPYngveTB1TWZaRnlPK2NPLytRcWVXNVNNT1d3T01XajhtdFRRYmRLU1RHTXpNakllZFdTSjdFT0Y2aUlTbk40OXp4YysvenRvUm5objBLcEVNR20vYUUrbjhTaUprczlXSXRzNVk3MFhHOWtIdlhzbEtGV2psS016azFDdGpuZHhIZWNjV211R2d4SEdHS3Fxd2Z1QUxTemx5SEw1eWtXQ0YzNzRneDhTOEFScEEzTUpJaWRKWlRQZTcxRHFxSFZOVFBRYVhibzBoZzgvOFZGKzQ1T2Y1L0Z6VCtBbWdUQ0JrZGxnWEk2b1hJTlRIaWVPb0ZQNzFZcWdISUtrL2hhZExaVWsyM1JKRHBpWVh2OTdnSHR2eTNTK2xvM3JuZ0RWYUVVSUFlZWEyQytVQngyaWFZT0dRaHZta3hsS05EczdPNHhHUSs3ZXZNTTl1Y2ZDdFF5NlNBWXIxODdJeU1oNDFKRWxzZzhacW5YbzZ0TE90bUYwVkVwRkc2Rjc4UjdiVkxYdmpZWXV6cnpBdTVYSU9sQU5uUTF0YUhOblFodjJ5M21QVWdhdE5kNzdsQkhNTVJ3T0dXOFczSm5jWTJmN05KLzYxR2U0ZDdEUG4vL2xIK0ZUV3RzWUk1ZUZGVUZHeGdyQ2thYmFTbU1OR3NPTFQ3N0V4ejcwQ1M1ZHVNTCs3UWxxb2ppL2M0a2hZKzdzMzBiR1FxTnE4QUdsd0JxRGlJOVJPN3pIS0oyeTZTa1FrOVpwVVNNU1ZEU3c2ZEJGQURtbS82elpibnpiNTJORWhHZ3Z1OURRS0tNUTV4SHhPUEhVWGhBbktDMFlNVEN4bkJtZjVjN2tGb2p3b1djL1JCVXEvdTAvL0ZzTWN5WWNKcGV5QkhYa0ZqSXlNakllYVdRaSt3c0REZEtHK3RGbzBYaUlKZ1RKMWxWSjZ4Z0NjaVMvL0FubjdkQW5vaXFHM2tybURGckFvMU1wNktBSWltN0Mxa2o4WFdLZ2QzMkVYTGJPYWUwMW8rcHlPQ3h4THRBMFVYMXJUVWxSam5GMXcrMjM5eG50YkRJNTJPUEt4V3Q4NGJPL3cxczMzdUo3cjM0TGd4QlVXT1NXYjNHc1dlejYxSnRyZDFjczZrejE2MjlkUGZheUo2MjlEYjJ5TDh2M2U4U1VkODMrUzFoc1Z5ZnVkOXoxbDAxSDFzV2ErR2xhRngrTkhiR21EbE9iWFQxbStiZ0h2UGhTMEgrZEpMRUZCV05LU3Y3SmIveTdXRDhnSE1ETzhCUkthK2FUS1E3SHh0YVlLWlBGeVZJS1dSU0lqeWxuamJIZCtWdVRuaGlXVHFlK3NlaUhDek9mWG9JQ1daZ0dBZWlnVTlpN2xKbVBSVUlUTFRvNWZmbTRKc1JUdXdiUm9LMUJLWTEySHU4YnROWVV1a1NqOGRXYzAxdG5xS2pZdjMyUEQxeDVuc1k3L3MyMy93aU54Uy9aeWRNMWdEYkJTdnQvNlAzZng3SHZhTjNpVWxhMnJ4bWJWTzhhZlpPUSs1MXUzYVdsLytYZG9odXI3dGNmMXZTL0I3am5OWWUvcHpLaUh6LzR1SEVpT2pxdTcvL3YxVHpydURFejRrSEhuV1AzTys1ZHI5bDVkZGZsWGRyeDhUaVR1K1Z5NmRpZjJnQ1c4ZE5DTmkxNHFHaDdoR1Y3NXhKZitQenZvUmdUWElHV1FSb29QZEh6MkNISkZqV0lRb2dPS3Fqb0JLWVFTR3BRa1U1Y2hHczh3WU4zZ2RLT3FPWU5pR1k0MktSeFRjenpIZ0xpaVlIZEhTQUdUWUdpZ0dBb2l5RlcyeGpFUFprSktCRzhjeUFtSnM4Vmc2QlJ3YkNRTElOdkhCSUNXb0ZPWGprU1BGcUJ0WlpCTVdLNlAwZFJjUDdNQlM2ZHY4U2ZmL1hQR05xU09zeFJ1T2hUMC85MFZhZFJSc1dFRGRLNnNDeGMwTG9oZnUzeEpoSnZvOUxmQlNnTGxQSHZMZ0ZGUUd1d1JkeTFIYmlpek55ZzlSQ0ZRU21GdGg1VHhOTko3N3FxSUkzdEdtTkxKTVNvRTFyckpCbGIzTnppL3Z0LzBmMFYzM1g3R0hwcHIvaTdYaXAxT3BNbEVxR1dSRmlsTVZaRjU2YlZ1bmtIaU8rdUpIaTN1QmNWSmFFdEtldytRT3R3dEt4emVJOVFvTVowZm9aRE04Ukl3WUF4bSt6d3ovL3BmOHEybkdMa3R5aDhnVFNTdUtVZ3VxRUpGUjZQUW1GRW9RSm9weEFuNkdCaTlpMnh1TVlqSG93cE1MWWtpTkM0RVB1VUhpRXU5ak1mMG9Tbm84UVUzZHF3QjBMdGtjcFRVckpoeHhodnFLZHpNRFdtVUZobEVCOUFGSVV0MGNyUUJFY3dDcCt5aHdVUkJJTVdnd2tESkFnK1ZKaEM0K2VPMmFSaFhHeXpPZGpCQmNBcjNqeDhpK0Y0UUJYbUZGdVc0TklDczlRb0x4aHNTaFNoYU4rZVNXMnMvNDZPTm8va1phZmJkeXpyZDFZbWV1UjFzVzRWaHRCOUM3MlR4clFyR2hON1ZHcnRjdVNjaWphNFgydlpvVmx1eEwyUDBzZC91cWVPQ1RMb3J0eGVmVEdXOVB0ZFd1dkV4MTl6ZFk2NW0rVWUyZmJTNWVWb2E1NXQwa25XbGRLN1prR0JvVWl1amZIY2Jjb1BvMXJUdERhVDIrcm9jSFFaK3U3UWhsbHMzK2JSK2pvYXpUeHBHOU0vYXcxS1NXeEd2YnJUdmI5N0ZiajhXVzJVNlhWYnJUQkdVMmlkeHRyMmlSY2Y2ZDZHVHFlTFpXeC9wTG9rOVl6Mkp1VG9TODM0aFVDV3lQNmlRUklwVTYzRXRMVTliVldPN1g2UmtoaUJ4Y3J4S01iak1kNExJUVNVamRxWnJ3QUFJQUJKUkVGVVVoUkZFWk1zS0tHMEJ1K3FSRzRVMWl3R21iYmpWazFGVmM4SndhR1VVSlFHbzNRTTdoN1NSSGFpUkhnWmZXbU1FczNrM3B4aHVZa0tVS2lTMDlzWCtMVVBmWWEvK2RhZm9OSEh5d3Y2MTFRQnJYV3FPK2tHK2s1bTJmTDZ0U3ZwWkhjb3NVNlI5bWpwNmp1RWtBZytuZjJpQXJReGhLQVJDUWlPcFp5N3ZZRk9XZ0dkWG5RM3diUHNnN05jaDZzMUd0L0dRc0lhc1M2OWFDdUpqcVd4QmQ1N25JVE9RVkFUZy9lTFUrakZYTmMxcjNXSktGU2FGRVVrMld3Nm5ITXNEZytMOEZkSzkwN1dlOGdqdHF6dkhWTEhFMW1qQ2M2eHkya2M4UHUvL3U5VFZrUEtZckNJU2lBK3JYY2N2b3NZWUZJQWdYalBiYWxUK3dvK3NESGVSRVE0bkJ6Z25HTXdLQ2dHRnU4RjBXRExtTDNMYTA4VDVsVE8welF6UEk1cVduTjZkNWZ0elczY3JLYTZOOGRWTmNOeWc1MmRMVzVQYnVDcE1aU0kweWd4ZU5HWTBqQWNqSm00U1ZvVVJVbXVrZGJzeUtCRTBYaVBNZ3BOU2FsS3JDOHh2dUQwOER4UFgzcUc3Ny81ZmQ2ZXZna1dtcW5yNnEydVE2SWhscGhrcGMwUjVqc3poTGFHbGw3ZENuSG9hMStPZjZtcE5ldElJUXdLRzRSZ2lJUzcxNmpYSHI2R2MzWHlNbEVFSFNYa25RUjhxVlRIL0o2b25FcEVKVW1uRjJORWV2L2lqOXlUN3JYalB2bGE3WXY5OGFiZEh0ZDJDcU1zV2dXRUVNbHBVbzYxcGpMdG0ycUovbXJwaWZ0NzJzZ3pvZmV1MHJnZ25heS8yeGFXbnVhbklVN3NVOVg3UzNjWGUyaUVrQkxoTE5DL3UvWjl0QXVXZFpvMVpSVUVXVVNvRElzNkNVQmhDd0M4Q0NFa3ZVbnk0VmlXU0srVzcvU0pNbjRSa0luc0k0LytRTklmWVdNWG5Fd084ZDVqcmFWbUVpTUJlSStiSHhCOFEya1RhVFpSVGhBemZqbENtQ0ZCWVVvb2lvTEJZQnNJekdZelp2TXBTZ3ZGb0loU3BQZUF1bmFjUHIzTHZZTTlnaE0yTjdmNThwZC9sKy8rOEZ2Y25od1FFeTBjSDdsQVV1WWlTYU5ZbEV0SXQzdEwxSlJhRElZQnRSZ2gyNVY5OFBFUDBTbmJXVlE2ZWRlZVA1Nm5pNXlyWW5wZkx4VWdhQ3ZvSklrVldRaXJyQ21aVFdzUWkwakFoeGhLclN3c0lRUWF2MzRSc3FybVhWVjRRVHRScmpqRHBmdHM3N2QyRlFER0dBcGpVY3BFRXVxamc1Nmt4MTZxMDM0ejBqRXNGVDJQL21LUWhvMGdoTWIzZG9adVliQXE3SkZGY2Z5eTZ3RWdZQWJnSm9FdHM4bk16L25rNDcvS1N5KzhSSmlxQlNONFFDaWpxSkpaakxhS2pkRXc5cVY2em1FMXdSWURuUEtFSnVDb1FRZFVDY1hJTUN4TFJqSmtOcDF3OTg1TlZLUFpIR3d5S2tkTXFudk1ENlpzYkEwSjRyREJvSXhCbk1IN2dEUXg5NTJPYzI1Y2FyYUxxTEN3bnhlbENUN0tsOXIwdWI3MmJKVmpIci93T0I5ODVvUHMvZU5OQ2pObTFrekJwSFdHaSs5aW5tSTFTL2RtVGlLdC9lL2g2Ti9yZUpGS1RGVUJFdVAwMWlSQ3RrSmk0eW5DK3E3ZUxaSmkrMnpia083WVdscU12b3ZTQTc1dHEwZmE2NktGOXU5cFZaUFFsNmUyZlhiSjNLRmRFNmU5SlgzeDNlcTJWd2Q5eVNNcU1kdVY3YjJWaFFpNDBLQnhLS1dTL0NOZXVJMGNJMkcxdDdYM3F0YStybmVQNWZPdm5qTXBTN3B5ZWRFVHdLYm5URUtDOXJsQzd6bTdRdldhUy90N0xZdjZUZjFEYTZMV1VDbHExOFRGd1NwRFRyZnMvZUs0by9mZnZ0R1ZPVTZPK1R2am9TRVQyVjlxQkFaRGd3aHNiQTQ1T0xqSDV1YUFPdVdKMXpvUzNEYnNrRWpNdlI0a1JOS25oYTNOSGU3ZXZjMnRPM09HZ3hGYlcxdHNiWStvYTBkZDE5aStTTzhCVUJRRlpUbkVPVWMxanhUMGljZWY1c012ZjRRLytzczNhSlhoWFlDRzFZR2pOd0twWlBPMFVMUkhmdG9PZ292QlZDSXhVMkV4Qmt1STRqMEpIUTMyU05TSzlnZkJkczRXZy9NZThDbVdhVnJ4dHhlUktEVng0bEFVakllYktLV1l6dzR3UnVPYm1wWXVIeWRWYmNkZlNVTnBOeUdrc1grSmlNdks0ZWszWXpYZUJiejNNZTF2a3JjWlhhQzFwbmJObXNGNE1YQmJYZURGRTBKa2hPS0pzVWtUanJ6OVZiWGJvdEpaVUk5K1BycUZqZWlEUUJ2d1U3QVk4SVp0dmNQblB2dDVtc1l6c2h1RTVxU1paa1VLdm1aWHJUWHpha3BRZ2VHd0JBdXpaa0lnTU53WlVGdFB3TkdFaXNiWFRPb0orN2Z2c0g5dmo4bGt3bmc0NHZUdUtTNmNPY2ZXY0JzVmhDck0wQVBMYUh1SXVFQ29JcTBhMmdGV2wxUlZFOGx6Y0dnTElsSHQyVXFLKzNkZEZrTzg5MGhRYUdWUURpbzN4dzhjdzQyU0Y1OTRsdS8rNkJWdVYyL0g1cElJanpiZ3ZNUkZSeDk5MHNUSzMvMTkrdlVYNkRmV2xYMTY3TFAzKzBucmkvN2E1d2lwVHRmb3lkTlhMcjVjM3BkbnJLcUl1K2RlSnVjaUMzT0doVVdxSnF6cnZ5MnhYKzJYcStMYjdxTlhIcnd2eWsycmI2VVc0bHBKYkM5RmRBbElSd2JYajQvdHN5eVd3ei9kK01GOTF0bnpLZWhKVVdXMUhiVWIvT0krUXJyL2ZoMTNoeVFOQkNUdFdtcFB4aFJ4clNDOVVUS0VtR285V29jdjBGOWM5TWROV1RUUHhlMGNsZEF1M1hmR0x4UXlrWDNVSVRwMXlLVE83V2ZySXRDNENxVUN6Z2ZldVBGOXpwMDdSVkZhbEFrTUJ3VnVQby9PSmNFUjBqSllLWVUyVWVKNE9Kc3hIQmRzYkc0aW9xaXFRNXBHS095UWpZMFIxYXgrVDdkZkdFdFQxYWhrd3htYzBEU0JUMzNxTS96bFYvK1lXWmdScFNpckt1bzRLSnYwMk12alM1dkNOMXJadGVvNDNaSFpaTE9uM0JvSjBQSXMza2w4VlZ6cEs2MlMxRm9oRWhnTUNxcW1XcHFaclFhdEM1QUM4U21WUmFXb3BFS2pFZDlFdGE1VjFHNTVxRnhLR2FvVzZ2cXVaTGxjK3JTVnNLSVRNOXBBTUNoMHB6S1hvQWhCc0F5N2VscGdFYmdwTk5HR2RLQ0hHR01Jd2VHOWorWXBXaGFxd2RWSjZzaE1CSXZVeFZIQnZMREZlRUFpSzlFdWRpWnpCbXFBRjg4WHYvQWxOa2FicUlxNDBLSmdsYkIyaDZ0RmQ5R3JiU2h0cUwxanVERUVMVXlyQ2JQcEZHMWdPQjZpaHBvMzk5L2doMi84Z0ZlKzh3cHZUbThnS1JtQlJWTkVGdHE5OXpQbUZNOWZlNTRuSDN1U3JZMXRpbUE1Vlp4Q25FRGpRTU5BZzlhS2dTMXdLdUFrWU1RdnVLSVFNNHFsUHFCc2laTWE1MkNnRlVacmpGZjRLaENVNThMT2VWNSs2aVgrN2ZmK2lFMjF3ZFJYQkFLRDBRZzNueHcxaEJXZEp2ZDJkamVMaWxrbGZFRW5TWm9DNWRGaHNVK1EyQXNsT2JERk51cVBFdVgwSGx2MHRRNmh2Yzdxd3FqSDZielN5REdtQTlGL3dLejlQWlp1eVl4R1Z2c1JMSnNMOVVSNVVYKzFRc2hWditIM2p3dGdETnJFc1RWS0R6MWFMTXBaVklpMndFY2tmeWNnTHRROXlqWUxHaW05MTdiWXNZY1ZFeEJKdjcwbmN0WmZQSVFWU1QzTDcvcklRa2YzRmd4UmdxcVZ3cUl3MGk1UlVyWTdGdmJTb1J2L0FkOWFzYVp0WGNzSkNCcURqUm4wZENEZ0UrbG5zZGhmWGNqSWZjcGpkczk0dU1oRTlwY1djVkFaalVvbTB6MSs4TU1mOGovK1QvOERkWFBJdkRwZ05vdG1CdVBoQmtva1NkeWlldHhhamJVV1l3cWVlL1pGbnJyMkxCOTQ1a1YydHMraHRNRllVRHJnZlFxOTlSNFV4ZDRMMCttY29oaFFGQVUrekpsTkQzanE4YWU1Zk9seGZ2REdYVFNHUU9pRURuMjBhcWk0aW0vZFZWb0xXUU1FbExodVg0Vk5FbGNMQXBhNk44QXFGa1FyZnZkcGdGYnBPbHFseVQyaHFxdnU3eGlDVktORGlZaHQ2UXdHalpVQ1Q1UWNqb2NiSE16dk1CNE1POVYvOTg3ZzZHU3dUbUswS2lYckQ3ZzlxWEJvMm9HK3JaZTJwcGJjUzNvblNJdVpWQll4ZmdRdU9IeFNVK3AwSFJ0TXVweEhpeXdMWDllb2pTT0JhTzlqeFJUbUFhQ0FhbG96Vm1POEtGNjg4Z0xQUC8wQ05LQ1Z4Ym1BVlVmYlpnQVdZdTNqRVZUQStacUJNVGh4TkZJeDNDNFpqRXJlZVBNTnZ2bDMzK1RycjM2TmlSeFNVYUdBd2hRWW82aWJPWk1RMzYzRk1sQUQzdkp2Y3V2N2IvRzE3Lzh0bi9qd0ovajRpeC9IMTQ3QmVJQ3FOVTNsQ2ZXTWdSbWl0VWEzWWI2Q1NvNkJIaTJLZmdqcEVPSWZLbmxFYXEwWlVxQkZtRG1QcVlWbkx6L0R0NzczOTB4bFJvVWpvR2hjSURvOTlTU1BIWHRzSFpKMHI1bnBaTDZ6TElEdGxna1MyVUc3aituMXMwQjBhb3pPYXVtYTYwaGo3LzBja2NiMlNWRll0RjJKcXFQMERFZkxKTGRMKzYrV0ZvdnJpSFBYZFZiN1ZycldRZ0xjZmc4c1pVM3JFOTUwRXBXdXA1MnNaQXVPSTlVZ3hkbG9uYStpazFHcytUNUZqRXZjU0hmYlpZM0Q0VnpNNDdhb0tnVktvNHhHbEtKT21wK2xjYVF2TVg1dmxtRzlCMTlEWWxmTGJveGF2TC9TREJPUkQxMVY5cDJ0MHZJYm5ad1NGOXEyT0c3VkhMV3hqVFhWNElqa2xhQ1NMVXZyRmgyaVZLT3oxVm56U0tzQy92U1lDMmx4YTZLeHprOGg0K2VOVEdSL0dkQjNmQklOUFhlTjJmeUFJRFhPVDNqdHplOFNxTkRVQ0k2aEdmTDIvdHZFVHRtcWVDT2hiYjEyZi9pVGI4TWZHM2JIRjNuK3VRL3oyVTkvaVpjLzlIRVVocmR2dk0zTzVwbjNkT3RLS1p4ekZJV2hhUm9RUzFrT2dZWVB2L3d4ZnZER3Q5Tzk5VlhRUFpzczN3NStCcU9HR0Fab3NaQWtpbzQ1VU5LNk9TeUlic3hEcnhHVWVPS1ViQlA1MVVrK0VoZ1hJK3BRNGZ5OGM4WlF2VFNsTVhJQnlaa0lsSlJBZ1dhQVpjVFp6VXVjUG4yR0p4OTdER1ZxTGx6YTV1MmJQK1lQdnZKL2NqaVpvYkRIT3hVY1IxcTdoei8rbzVMLzdaQVJyUzk2SkI1RGRqWjN1SGp1SXJzN3B6bC8va0lYNTFmRnRGVlJUU2NPRVdFMm0zQndzTStkdTdmWTM5OWpPcDB5cXliTW1STWtVRkRTMEJCd2FCcVFFS1Z4cTVJWWlOS1h6aXZqdUlkNk40amh0Z2FNYVBEODJpYy9nM2Fhd2d5b0p6VWp1OUVMb1BydUVOS2tiRXZOd2ZTQVlCcUtEWU1xNGZXYjEvbnFOLzZLYjd6MVRhWk1jRFJkZTVuNUtmaWVlaFh3TkhocEdKb1lhV0JQOXZqS043N0NWNy94bC93SHYvNGY4dmp1NDV6WlBJdFRncHVraENDQkdCSENhTFFLQzdXckxKdEFWSTBIclZGYUUzeGNjQmdGcFRhSVdHYVRobk9iWjNueDZvdjg5ZXQvaTZVZzRIQ05pMFMyVzc5RXYvY2l4ZCtOUzQyWTJyZXQ2NzZKUzl1ZklyMkl6eHRWdWUxenh5Z0E4VGlkRXVjcUFvRkdvdXEzVzhzc09Zc3V5UEtTeEd4cG45YjMzYUFvV0dQZzhvNWdDY1NZSXkxQmREaWlZMUNTM1NYNStnSXQyZTJXWWRyMW5nTUlGa1IxdGRndUdRMkxaTjRtdGRzaEpSYzRRMG1CeFdDVXBiUUZwckJZYlZCR1I4ZGFoT0E4TG5oYzNVUzdUenh6NXR6Z1RlWTBIYUVLUkMyT09QQUVTZ284Z3Bmb1dMWmNweXdUdFhlTkU0anJLcnB4S2Jhczl2MVpyeE9SajcvR0ZxTW9LU2d4bkdJMzFvc3BzZFpTbUFKckxWclpwQlVxRVJGcVgxTTNjK2J6S2RNd1pjcUVoaHFOcHFaaHpweUdKZ25ZVXdwMHJhbkNmTG41ckFvTjFraGtUM3JNakllRFRHUi95YUcxWWpRbzJkZ3NDVlRBakVBTlZNenFRd3lqTk1RS1VkWHVJb2xKcWhsTmdkRWo5cVkzK0t1djMrRkhQL29Sdi9tRjEvamtKMzZkTStjdjQyWmhaWko1ZHlnSzA5azdUUTluMkZLeHZibk43ZjJmOE5JTEwvT3YvdUQvUU5MUUgxajEybzhVVUN2TmVMakZ1TnhsYUxjd3FnU3hTQWhZQzIza2gyaGphNU95eXFEd2FKbW50S01HSVNaeGlCRU9BcUpxS2o5bDNod3luZTB6YTJieCtndjNmRVFNNHFQMW5NSXdZcHVubm5pZWo3MzBLenp6OUV1TUI1dVU1WkRDQ0RkdnZjNjV5eHU4K3RvMmYvTEhmOGc4ek5NRUNwMlRDRDFweVdxNWJsRHRwRHh0RUtVWWJLc05wclE3T01Oamw1N2d1USs4eUdPWG4yQm5jeWZabFdtMHNqUk5URmhobFFhajBSSnc0aUE0UElGQ0crb3dSd3ZvUXFNa2NIdnZMdGRmL1JHdnZYV0R2LzN1MTRrV25uVnFYdzJLQm1rSmJYL0NWSUEwU1JMYUV0cjNZQitMWnNQczBIakhaMTcrSE52bEZzTnlnL3JBZ1RlWWdTSDBpS3lveFpMaHhJUmNxdDBuVUE1TER2YjNNYVdpR0EvNHg5ZSt4eC8reVIveWR2TldTOHNJeW1PTWlkRXJRczh4MGNCd09LQ2FWalErT3RpMWdhNDBub3FDUC8vYlA2VjU0ZGNaUGpXbUxJZEl0ZkNxRGlGMERvUzZVeGtMUWJYUkMyS3Eybkk0UUJtTmF4eStEaFRHWW14YXVqaGhPQjd3L0JQUDgzZXYvejFETk5vR0R0MGhuWFVIbWxLWGpQV0lrUnBRU2trWkxEcFl0Q3dpYmZhVnQ2S2lCSzFJV3lPUkNvUk95cTNRWWpFNkVpa1hHaW9xNWt5WU1xR21pbzZPUFZLMVZyZXp6dXdoalZnV3kzbHpuaUljUDQySkhNL1NMSnFTZGhudmNEaHFQTFYyT09OeDJyRmZIWFNrTnJaYVNmdUg2QzdXSjRVQ1NNQmlLSWtoN3d3bEZzV0FnakZqdHZRV3A3WjMyTnJhWXNkdXNOV01HSVRvV2E5U0hPUFdZVXNwZGVUK1l5cmwyRFlxM1RBYjFCejZLZmNtaDl3N09PQ2dPbURDaERrVk5RMDFIa2REZzZPUitONlc2dlduQVhWTUgxNlNaTGJFdmcwK0ZuVlZRMGFVbEF3Wk1HYkU3bUNiM1kwZGRzZmJiSlJEZElpWjlJd1l0RXJaOUNCSzRvbjIvK2dvVElnQlBRSmU2dmpFcXVIVy9tMm05WVM3aDNlNHl6NVQ1dWw5QnVyZzhkaGw4NmgxNWdidE5sbjhlYXp3SWVPaElCUFpoNDJrRWxROVk2MTJzSXFmSk1WU2ZZWGI4cjZ0elZmbnFkcGZhaXNJd1RHYlQ5QTRBaldLR2tuZXlyRXpwbTRwUGFtbklrclhhTU56V1NCd2UrOTEvdmQvOWIvd3hodlgrVS8rK1gvTzNyUm1PcG13dGJVVnZibG44KzdlalZtV2xIVDN0eFJHekdFMUJGRU1CMk5FT3c0UDU1VEZpRXNYcjNKbTh4eTNEbDlIWXdsNHJJa0RqOUVHSHp4YXhiaWVXeHRuK1MvL2kvOEdIVWE0U2xHYVlaeHdmUHRNMHBuK1I5V3lSUW5ZMENTVGhVaGlFVTFRQWRHT29DdUNtblB6emh2OHQvL2RmODNXYUp1RDJTRUtHSllqNXJYRFVBS1dzeHRuK2ZoSGY0V1B2dnlyWERoOWxVSTJDTDZJNFpRcWp6ZXd2WEdlVU5kb05XSVdBbjVwRmx6WE5vNStWeENqSlhqcEpvTllEdENwTzI4TmRuangyWmQ0OGZrUGNlM3FOVlN3YURHb0ZJWkt1OWJyWFZNbVZiK1dnRytrazU5cENRUWRVSTFnVktJcklhQWxjR0U4NHRLTEYvbm9TL0I3di9kUCtjSDFIL1BLLy9mM2ZQL1Y3N0kzZlJQSGxDakxpbWxWZGJJa2NLRWxrREV1Y3BkZjlqNFNJV05pbkY3di9WTGJVU2k4YjdDVVBQZkU4NHpzSmlZWTBKYjl3d05PalU4ejgzWExBQk9CbHFWNkZVbTV1Wkp4b1JJUElpa01jK0R1L2gxR1cwTkM0WGpqMXV2ODMzLzRmeUhHVVROTGROUVJKTVpYWGtvNkFPQmhQcW1Xbmk4UU92MUhUY1ZQNnJmNDgyLzhCZGV1UFEyaXFiMmpxdVpzRHJkcE0rQzJFVG1DSXFiSlZRcFI4WHRSRklRUW8yRm9xNk05ZERMemFNTThOVlBIcFROWE9NVnA3ckJQN2U1RllhejNLRkVNR0lBWGZ1UGpuK2F4TTFjWk1hWjBCYW9HSzZhTGtCQ0lEcElPUVZRMEhEQWh0dC9XQnRIcjBDVjgwTUZpdFkxUk1sUkFTcy9kNWk3LzhrLy9KV2ZITzd3OXVSV2RhMVE4KzZLT09yNGFZUzAweVpZelNUc0xMSmVLOC96K1I3L01zQzY3ZDlrdlY3RzYzUVREcHQ1aU9wMHlsNHJ4dVExdXptNHlLeHVhUWNPLy9vdC9UVWxKUlIzVitjbG1QU2kxR0pmYndLNkFOYkUrTEpvQkJTVUZPK3h5c1RqSDFkTlgyZDNjd1lvQkR6cG9ocjdBVmdyckgwd1E0RXhnSXdpYjJuRmhLSmd0amRlQnZjbGQzcmp6Tm0vVmIzS1hPMVJZaGdScTFUQU5rMDVKWVVZYWZ4aERGMGJURlVuajVUdUhLVFFoMFBrU0tCVWRKRU55dUdwTkpVeUtibXZTZUtWU0hWM21FcGZzQmM2ZlBjZnU1aFltYUVJZEtJTEdWQnJsWWxzeW9sTm92SVZwQjVDV0ZYSCtpbjBpSUxxSXlYUzBaN01jSXh0Q09CZW93cHk5dzMzZXVuT1RXM0tUZXh5aTBNeWxKaUFZYmFpbGlXWjJyWTNEQ2VqclBqTWVMaktSL1dWRTY5QUFMR2FEVnZybGlXbGwyMzBiV2pWN2h4VnBvTklOQkNHR01wOEJoaDlmL3c1LzlkVS80YVZuUDBQWnFDNjJLTkFOaWlFRTlCRTJ0b3ErZTBkUzBhTzc4dXlwODl3Ky9FbFU0Uk1IWER6SnBsZUJSQnFITDFCK2dKSUJ5aHUwR2tKUXFKQ2VXd1YwbXNCVVdzMHJpVUhoWTY1NzNRMktXam1DTkdpeEJBVVh6ajZHcG1BNnF4am9JVTJvcU9zYVRjR0dQc1ZIWC81VmZ2MVRuK2JhWTA5aC9KRDVKTkRVR3NReU1FUHdIa1BBeXh3VkZEb1VRSm1VdFRWMDVHYU50S1FkTFJWWVUrQnFUd3JNeE83d0ZLV01PS3ltS0RUblJoZjQrRWMvd1F2UHZzaXA3Yk94eHBvWTFGOEZFOHRrVTlnU1dTMEwrWUpwSi9oMmt2WWhSclRvWXE2eUtGVzBzYnl6UCtXcHl5L3c0bE1mNHVhZEczenJsYi9tVzkvK0dtL3V2VWJESEUwRndVZGJUcUkyZXpEUzFENFE2dnZyTlB0dHFVOVF0TmJZRUcyUW56LzdJbWQyemxJeXdNOERCUU5HNVJEWEhKV1pSTWUvUlhzN25rTEVkalBlR0ZLRk9VMm8rYk8vK1ZPOGJianRiZ0pRMDlEVHpjZmloRWZxVER3SlNTRWZxS2k1eWR2ODZkLzlLYi95d3FjNHZYV2F6ZDFOM0N3NnFsWFZERkZDVURFaFFpdDVEMFJpNXdFa0Vxek9KMTJSSnYzWXQ4clMwb2p3ekdNZjRHK3ZmNTBDU3gzbW9BVXQwWTY4eEhMcmpadGMyNzVHS1NWRFY2S3JHSEJmaHdXUkZaVmNadEw0WWtMVVlIZ2Q4Q3BaYjdiUkZVUmpSZU9sd0JOd3FtSERqOWxnUkpnR0RJYUZHeHVkNlFLdzNBZENpQXdwS0t3cU1Ha3RjbUh6REZ2ekFSdlZNQjcvYm9tc0x4anJiZXkwWkdCcTFJRm1KSnVJVExpN2Z5ZU5DVzNDajNSbk9oelZqcVFBS0VaaXJ4NHg0TEsreE9YdEsxemN2TWltM21Dc1I1aEtFeXFCSm1DVXBsUUYyaHM2RytQVzhQa2Rsc1pENFJTRmVMeDR0RlhvZ1dHajJHVDMzR21lQ0kreDUrN3g0OXMvNW5wNERTMk9NVU9jOHN4ZGd6K01iU2hJNkJ4OVliMGsrTmcyblJaV3BPWW1BYndQblFUV29pZ1pVR0FSb28vQWtBRVhoeGU0dkgyWjgvb2NXMnFEWVZHaUtrMm9QRGhQS1NhYXgzaGlXd285cjhRVXVTT2s4YnE3VXhVUTVRaEtJcW5WanBJQ1JKQWdCRDFtYTdqSnFUTzdUR2FYMkpjSlA1aSt4bHZjaWhKNUw0d1pJaVZVb2NiNTFML1hhY1d5UFBZWENwbklQdW80b3RicHIxaGJrckx3dG8xWTZFamllTFhpZWE2V2Q0M3hWeDFRbzFTMEJiMSs0M3Q4NVkvK2dCZWUrU1JsdVJHbFFuNFJQRnhyL1M1Vzl5Rkp0L3FJOTN6bHlsWCs4Zm8vSURRb0ZGYnBaTVFQS21XMENaamtIVjJBUkxNQ0ZVWlI4aUV0Q1FzcFBpeFJFcG9HUStWYlQvNFVTa2ZGT3RWVUJEUk5OV0gzM0E0YmFwZXA3R0hGNGhJbGVmemMwM3pwYy84ZTE2NCt5NFZ6RjNHVjUrQmdUc0dZcmNFdXBSa3htellRR3BTRWFMc3JBbUloMlNyZUZ5Mzc4ZEV4emxBd29NUVRtTTFySEFYWHRwN2owNy82YVo1NTVnTnNiV3duMHdxTkNsQTNIaDJpVkUySlRjU1ZCWkVOdW5lcE5neWJoK1R0TGNuZWVKMGpXbENhUzZmT2NHODI0ZUJnenVtTjgvejJwMytmRHovL0ViNytyYi9tbGU5OG5SdUgxd25NZ1lhQ2dBOVFUY042RC9FMWFOdlJraVEycVYralRaM2w1UmMrd3Zad2wxQUoxYlJoT041aU5GRDRKblRQdTc1dVQ3NkJvRUFiaFJmSGozL3lLcS9jK0FjVTRHalkzQnB6NStBUXVxVmFtNlVOMWsxeTdUNzlQVlF5NEhFRXZuSDlHMXg3N0drMnoyd3hkVlAyN3U0eExBZU1ScVA0SG9pQjZHSzIzNENTT0hTYklOQTNtV2hORUtJQko3TjdjNnl4ekh6RDFjdVA4VmZYdjBwaExQaEFNU2lSbVVjREE0YmNlT05OM09NTncyRkI0U3pHV3dZK1NmRUplTEdJOWpqbGUwVFdFb2pTUVlkUEVtVEJCSTBOR3UzaisycWtKbWlMMHhWUDd6ek5LL3Zmb1dCQVRjV0pjaTBoMmh6ckFnUUtaWk5NVDdoMCtoTFdEU21hQnlTeW9XUWdZMEpsR0l5R0hCd2VNaDZOcWR5Y3Q5KzRtVWJRZnR0bjRjZVZDR3poSXJlMXdJZ2hwem5OaFkwTFBMYjlPQmMyTDdBaG01UzFSYzFCUmNzYmxGZVUxcUtNWVM2QlJxZTJvY0s3S28zQU1KU1VUdkMrd2RjQkdvVXRZVEFZc0ZWdWNXcTB5MVl4NHN6QkRtOU4zdUptdU1taFAwQmhjZUlJMnVEQzBmcC9wMlEyZUIrYlg2ZlZXNWdSREJpZ0U1bTFHTWFNT004NUxwNit3S25OWGJiMU5xZkNLWXJHSXZNUXRScU53b2lsMUFWbE1JUW1kQnFCdHFRZHA0RWxHeUdsbzJZdFNXYTlObGp4Qk84UkM4SEFRSS9ZS3JjSnBXZFdOR3pNdDdtK2Y0TWI4eHRNbUZEVDRHdWh6WkVteWkzYTRlcXozN2QyTW41ZXlFVDJsd0t0bEtBbHJ1MXNab21ocTB3eUlHb0hnaFdEbjlWT3V2SzlXNnlyQmxzVStOcmhhZmplOTcvRnJWczNPWDk2c3lNY2lxak9MOHN5cnZMdk94WXVob00yRzR1UzVMRXJtb3NYTHFOUkhlV1QzcVJuakVMNWxJY3NlYVlxaVY3QXlsdUNiNlBRdHRlSXgycFpRL1lsRXFNZ09qcHdoQUtOZzJDWkh6WnNqVTR4bTg1b3hHTVk4TlNWcC9qOFozK0hEejc5Q1N3ajZvTVlGSCtveHd6dEJxSHk3TS91TWh4c1JpbVpRR3RMSE5ScTdNa1ZwNG1lWlVncmtWWEo0aTZhV0Nnc0JRVWp2dkRTYi9Ic3RaZDQ2cW1uR0E1SHVNcmhYRWgrZTRKV1JTS3hDK2xyTnlHczJqWkxiN0lrWFg4MTNWZnZHSTJpbVRpb0JYR0J1V3ZRcnVETXhrVSs4OUV2OEpIblA4eWYvZlZYK000UC80Rzc3amFlQ25CZG15Z0hNSnV2YVJJcldDV3hFTnRZUU5oa215Y3VQSW5NQlVzUjdkMjh4UGkzYnBFWVk5MHpLbGsvRllYT2pDZFF1UnFuSEgvL3phOGxDZW9VUjhOQnZaOElUWnV2dmIvK08xbFZ2RmliQktiTTJiWUREdDJNMSsrOHdkV0xqNkZxelhobnhOWndrNFBwaEU1dFNraUJGbFRYS1ZXU2RBZmxFTFY0VnliMTk5MExaMm1vRWRWd1puaU9BU1YzL0IxUUtUUmZrb3A2SElmYzQ5YXRXMXg1OGdyKzBETlNGaE1zSnJReERId0tMaThwY0lER2VwTWtZd0ZSaVdDRUJaRzFUZXluMm51ODlRd0t5K01YcnZLZC9lOHVhcXduSlQ4U2J6VDFBNjNpNktCRmtnVzQ1c3oyV2RUY3BJVWhpN1o2SEFGYjJhNkRpUXRacjFIS0lFM0FqRFhPT1c3TzNvcjFTczlKcW4xNTZXTUVocUlwMEl3WWMyVjBtU2ZPUE1INThVVkdmb1NkR3NMYzRaMmlEQmFMcGRBV28yTTJPU2NneWlVeml0Um0za1VwQWxKRElacFNEYU5EblJPOGR6UjF2RUZ0RlJlMkxuQnU1d3h2VGM3eGp6ZitrZXZONnpUTWNRUXFQRUZMSjFsdHpjSmlNM3BuWkRaMm80QldjYUhlcHN1MUZCaWdwT0FNcDdtNmNabkhUMTlsWjdDTlZCNi83d25pQ0VFNmUydWpiTlRvZXhVVGZTaE5QOHJCOG9WVjc3ZVFOR3ZSM01BSTBVWmJhWnlQanBBa3pZSFNNYlRrd0d1dWJUN0o2ZEZwTGg5YzVQcnQ2N3pPVDVoVEl3Z1dTeVhnVnhMeTlQVlRHYjhZeUVUMmtVZEwxRlluVDVOK2J3ZjZOaWQyNjdYdkY0TnlpOVV4cStVdWFYS0pDUk1xaWtKb0dzOWhkWnZyci8rSU16dVBwOFFLZ2dxQ2M0NnlMQ1BwT0hFZ2pDcHNKVzJFd0o0dFl5S2JXMXRiUFlYandvWkxBMFpKSXJZcC9XZzNVZWs0NEFlRlNpdjArSHVTUmg3eGx0S2dMRzJBOFFVMG02Tk5adFU5dGpkT2MydDZHL0JjdTNDTkwzM3hkM2pobVpjSjA1TGdGUU05WURpT2FVYm4wd3FwWVdnSGFGd00vNlZDdkZaUzB5OFVxbXZRdXdlckRFNkVncExkalZNY1RpWVlESmMyTHZIRnovNHVIMy9wc3hReW9xNXI5bTVOVUFLajBRYWx0VGdDM3JVMXF3Z2RLVmhJVjBQdkpwWnRyT1A3T1JvNGZaa2FocVptZHp5bUtIYW82em5UZ3dtTnJ4bHNiSERsekM1Zi9vMHRkcmZPOHRXdi95bDc0U2FlaGtJN2ZQRFVzL3NMWmZzcXp6WmJUOXNHQk1YVFY1NWhaN3pMOUhCR01SNHhMQ3krQ1lqVE1icDVsMi8rK0ttbmpRU3cybFJGUlhYNmpiZHY4UDI3UDZCUWxwbUhlNW4xQUFBZ0FFbEVRVlE0ZEtHb3ZlK2NwYVJIaUZmSjdPS1V5NHVWbnI4Z2MxdUJVM3pyQjYvdzNKUFBzK0ZHYkJmYkhNd1AwVGFHVVlvYTVWaEtpT21yalVTSlo1dll3eXVKOTZ5RUdPTlZzVDg3WUZiUEdHd1BDZHB4ZHVjMGQvYmZUdWJKZ2lpSEU4T0VPVU9HL1BqTjY3ejQ1QWNKQ05vYVFoUFhNRnBVMGxpRWRJM0Y0a3lqa3lSdTBYNU0wUEVqUWhGTVRCYmlBMW9MdTlzN3hDWHBmVFFTN1VJdWdITFJ1YThOb0xUTkZ1TmlpSytnc3FtdTM2VkVWZ0RUekFrMnZrdW5HaHJqMkovc00yR0tKSW9mK2krMlIyUXRsaEZEenJETDVmRVZIanR6bFhPYkZ4akpDS2JncGcxYlppdmFvS0t4U3NlRUZDSTQ3NmthUnloMUYrZjZpUG5PZlVxbG9Bb3pSRm1zc1pnVXNzMWpLYkI0VlRBSWxucFMwMVNCTStZVXc0c3ZjZW5nUE5mM3JuT0RHMHhEVE82aHRjWVlzNlQ5TU1aMDVtTEhRYlVXTEduUjIwWWdzTWtOc0tUZ01YV1ZaeTg5emZueGVZcktvTzRHckM4cFZVRmhodjgvZSsvMVpkbHhuWG4rZGtRY2MwM2F5aXFVZ1RjRWFFUVp5bENHVXMrUzVrRWF0YnJuSDV4NW5LZWVOVFBkczhRbHN5UkthbzFhRkNVUllsTmtneUJjb1FwbHNqS3Z2K2VjTVBNUWNjNDlOeXRSQmFKRWdNREt2VmJXemJwNXpiRVJYM3o3MjkvdUZzbXRlalk0SHp2QU9VdVo1ZDJ4OTJ3STJNNGJ2TC9JUFpzUkVWQTZTenJkZU4wUVFxb3ZBSEVCM1RndURRN1pIWThaTUNCL1VIQXIzR2JLUEpYSTFmRzZUM05ERVBEaGNVdlZpL2lrNHdMSWZwWkRBdHVXUm1uUzdsYXdQZS9RanBGTks5eXpIWDJBaDFlODBWUFdXdHROdW5Wak1ZYlljY2hXM0w3OVBsLzk0cmEreW52ZnJlWWZwNUNWdGxpdDFic0djSklBVGxBVVJiSDFldWNzV3NWc28vYzJOaDd3c2FGRENERk4yZzZNRVN3STI1cmhkc0JUZ0VYYWxxcmRZc0FnaVlXUkVGdk1WcFdoMEVPRW5DdkZJYi85bTcvSDEzN3UxNWlkck5rZkg3Q2NWRlRMRmI1MnFWakJVcG9oT3pzalpvdFYvSHhwTGNRczdlSWpzSEVoM0pvc2U4ZmYxbzdjREJBTDA4V01qSXd2WEgyTmIzejl0L25TU3ovUGZMSm1aekJrVU82U21TSHI5WnFtZGpnbHFTaG9rOVNPMk1sdkpYS2w1NlY2SGhCNEhDTXpHdVRZcG1LMVhLSzFabmN3QnNZc3F3VW5IOHpaTzdyRXIvL2liM040ZU1UZi91TzNlT3Y0aDZsTmI3Ky8xNGZIV1Yxc0g5Z2FORjk1OWVjb1ZFRkZnL2FHTE5OVUs0dnk0THgvcU9Ed280UUthYUtVZUIzLzhJMGZFTENzUW13bVlMMkRrbmhBMTJ3aDhmWlg2YzVzcjc2NUw5MXBmeStnbHVobWNLKzV4N3hhc0x1N2h4TERiREVoeTdJb1FCRGI2MmdVNzJFZElIUHhPRGJhMHVpV1A1U2toODVRSmtPQ0lTc015bXVlZnZZWmZ2UXZQNkFvTkd2cndJRFRIcisyYUJ6dnoyNXo5L1ErVi9MTE5BUzBSRmJNU1FUc1RuelN3NTUvN3ZwWGl3UXdRU0hPSWo2Z2ZRUzdlV0VZVURCbjllZ1RrU1ExZ29CM21BNGtLYTd2WGs1czlNZUhGRUU4dGFwQStXZ2hWM2dXYnM2ZHlSMHNGYTFuYStqSk05c1ZhTXMwSG5LWlYvS1hlZTdLYyt6a084Z2M3TnBUdUlLaEhsUG9QT296dmFYeFRXZnJGcEllUWVIWmROemlKM3BVZ0JvRVFyQlJKdUJKaTNlTjFwbzhSSDlhdDdiVTNsT1VPZVB4a1AyOU1ZTXFKNnpnbExlQlptdk1ia09weHg5YnBWVG5MOTE2dEFwNWtoYmtmUG53aTF3dUxuR1FIVkRXQnJQU21Gb295REU2eHdkb3hPSnR3QVlYczA0U2tFelFXVWJqZmRmd29pMXdQRzlwclRyNVFYb3VMUzRiYTZOYmlSS0NLSlNTanBUSk1kaEZSZVlVMldEQTllRTF5ckprWnpIbVI2ZHZjcGY3cUpTSjZJK1pMWmlGajVCd3ZJaFBKQzZBN0djOWVtblFDTnI2RTNkZkg5dG5ZMldUMyt4ZXgrWnZ2UWcrQWo0Q0tCMXZZT3ZhREpkbHVWeDBMSmx6RHExTnAyRjB6ajIraFcwYTJDTUoydzdxbTJpQlNMUXVyeUtMWWdSWEI1d1BLTlZYRy9hc25mRFJva1ZTNHJmSHVHMktxanhSdU9iamNaTk4wWnVRQ2daOFRGa1psVEZneU5kLzliZjQ4cXUvZ0E0bDY4V2N0YXNJdGNPSW9WQ0dZVmxFL2RXeTV1NmQ5eG5zakZFMGFkOHNRVm1DY29sSi9pakRvTUtJeGhGTnlGNTU2aFgrd3gvOFIxNjQ4UUlQN2kwNU9IaWErYXptWkRyREdFTlpsbVE2d3psSFkyMTMvTTR0b2ttTStFWmYyUWV5aWVYeUg3NFUwUUVtazd1VU9pTXpPY0ZCTmJVRWdid29HZS90Y08vZUhmYXZIUEVMWC9wbGxCSDRlODlieDIvZ2FDaEVzUXhWZitzZUcrMDJLcVhZS1hhNWZ1MEdUZVVwOHhHMnN1UzVRWHhJMWZ5OVBYM2NpaXJGMmFZYmsvbUVOMisvUWVRWkhiN3RUbVdBaHMwSzRhSHRKQjNyTTdLUnM0L2VFMlNObHhJZE11N2N2OE9WOFdVbXkxTzBWcEdSSmVDVVJyV3A5OTZpTHhZK0NWNEx6b0JYQVVUd1FWQmVFVndnTXdXbjh4bFROKzNZNDdxS0lEYmU4ZzFCS3lwbm1ERGp6ZHR2Yy9WTDExbk8xcFE2NzlqWGdNZXBnRTFnTm5nd1BhdXlGbWhJa0c0aGdLUzBidkFncWVVemxxTkxoOXc3UHVHUjU3NU40YXZJK0k1MEdiMTFnYWV2M2tBM2tEdFBZYys3ZnM4N0p3Ly92ZEdXa0FjV2ZrWVlCQ2FyRTI3TjNzVW0rNmJrVHBiT1ZYeVBCZ3JKMlFrN3ZEcDhqZWZITDNESkhDSnJXTThyZENOa3BxUlFKZFd5QXA4Z3NWZ2NEdEVSQ1NzTnVoWk0rSGkxNzA1NXBEVFVvWTQxdTAxQVM5VERlMnU2MG9mU1pPVGEwRFFOYm1JcGRNNzF3VFgwVHM3OTZZeDFjN3Nidjl2aVN1QWoxVGk0WG90WjB5bExZWWN4VCs5ZDU4Vm5Ya1RQZ0puSE40NlNJU05kb0N1aHFpMlZhYWhVTE53VkFwYUFFVUhyQ01Zckd3dVRnelFkSTl0bUJBQjBPNVNuYm5lZGFDeFJ0MDNUSU9pVXpZanpZeEFCVVdRZTlyTmRmT05ZaDRwOFlEZ2M3ZU16ejlRdU9KM1BhSEFJcnJjd1RmRVI5UDBYOGNuRkJaRDlETWQ1dmVFZkhlZE1xaDNRM1hxeUM1Y0tBYlFXVENiVVZVd3RkaHhDQ0owKzFqbUh5dkxPenNWN0gwZnJEL24wMWtnOVJyTDVDUW9WTkQ2eEFUcWhVR1BpNmhwYXBxQk5MNS9IR3ZSWml4NlZraVpkRlQ0c3ViOHQwWkJBYklHb2NnYkZEaTlkK3lLLy9xdS93OTc0aU1tREJidWpRK3FWWlR3WW9wU3dYaTA0WFV3b1RFbFdaSEhvRTArMGRkcDhmOHNxdFA2eEQwM2xQY2xIb1Fwc0U2VUZ2L1RTci9BYnYvTGJYRGw0bW1vcDVHb1VpOG1DWmp6YW9jeXphTFcyV2lFaURJY2xWZFdjL1hTMnJvTldYeWcyYmxGclVZVkxlYnoyL0tsejN1OFpEd2J4Q0lkb0txOU5ZdndkVkZYRGFMREx5YjFUekk3aUsxLzRCYlRXMUgvaCtHQnhFNEludzhiYS83NTFWZG9FNmZpUWVPdzhTY3VIWXFoMk9CZ2NNakJEVnBPS25lRU8wMnFLa2JnL1JabkhCaHRwVzF2OWRhcjM3eGliRDJ2dUZjVGpsT1BleVYzbUxIQll5cnhnVmErUURCNkx2eDhGblB1THlQUzdxTURhemZuemYva1R2dit2LzUycFBlV0FmZFlzMDh2YUszWWpGWW1zWUdSL28xOW9aQkRqVlc5aXNRckNpQkZUVHNuUldMV09ZRXBBRmVEYlE1UXBuTE5ZR3Q2L2Z4TXpVc3hPNTVpVzBmWlIxeDJ2M1o3RVFDWGRibnR2cGV0Q0VTOGZTMnhMWWhVRUVVUU14aFZjSFYvbjdlUGJySmx0RG1SSW12YU5zcWlsMndocGNWSzc2SFp3ZGY4YVptV2l2S0ozS1B1UDV4NzIvb0pXWXBHYTZJQ3pEWmt4TE95Q0I1eFMwZUR3VWFEbGV2eUFnQW9GdTJIRVpmWjU2ZWdsRHR3K01oZDg0eGlFa3J3czBGNVJWUlhlZTdRV3Nzd1FsTWI2T3ZhYzhqVTBpdHhsNk5ETFRVZzZ3M0ptWE9pTlhmMGRxcW9xS1RBMGVWRjBMaFBCeGtZeklVVHR1UGNlWEVBcFFXdERhUWI0elBEeStFWHN4SFBzVHJERUJoeGVOZUI3UHJucDNMU25vOTIrbUZtSUc1UXBRK0Z5RkZCUzhzemdCbCs4L0JweUVoaTZBU05UVW9RTXFVSnNIZTBNWW9TZ1BGa3VHSk5IcHhvYmk0YXRkZFRXSVZyU0ZkVWRuaWdGNm5UWlorN2hzUDM2ckNpNmNjTVRDTjRsVGJTQVZ4VEtZRU5nVlVFVEhFR0UzZUUrTCs0OXh6QXIrZWVUNzZLQkZZSU56U2FiRWpaejRBV2UvZlRqQXNoKzJwRktqQ1hwU3lWc2ZpZUU3VjdnaVZZTXllZkVFeER4M2VBZnJaVThJcHVoM1llNG9pUTBYVHBYU1IvR0tUWmdaYU5GN1hSWWVFYWpBYzQ1MXVzNjNyenB6Nk5zbjczZFE2cmxpdjM5ZlU1UFQvSFdNUm9NV2N6bUZGbmUrUXNDWFdGS081TUVDVWhvRUJFeVBhQnFoT1dpd2VRS004aFpWaWZNRnhPZ1ltMFhHQVBXZ2d1SzJCcEJZejBvTXVyS0lXVFJJRjRQV1MrV0ZObVEwTElLWXJjWUdVbTZQdGhJRjBKb0pRM3QwQlFuYlBFWjQrSVMvL0dQZmcreHd1bnhuTjNkZldhbkU0cHN5TnJWMGFwS0MraWN0WGR4d00yaWoyendudUFEd1N1Q0J4OFVEbzBqTGhCYWlhWFc0QktXMUlrOUw4SUFDN3h3K0NxLytTdS94d3MzdmdBdXg3blVCOGNaakFEQlVxMldJSlpNeFE5MDZ3WGFhMFEwbWl3dU9JTEZ1dFJlT0dqR2cwT3M5ZGl3Qkdud1lZV3pOVUZBcXp4YWtEbEJ5Q0s3R3h6V3JXajcxRzlzWU9PazVGdTlNaTc2UzRwbloyZUhaYjBnYU0xWFgvd0ZtcW5sTC8vcUw3alBCeFNBWjRFVnZ6VWFHVzhJVnRLa3BhTXZaQ3JTVW1RRWEvamFGNzZPcTRVOEs2anJtcUlvc01FU2xEQ2ZuejRFSmx2WEN1bFZhVXRhaEdVbVdwdlpwSUcxMGtEaCtZZnZmeHRON0E2MHFLc292VTVkaGNVUXJaYy96a3pXdnNmSEM4K0hCSEJvZU51K2dhQ1ljTnk5L09IbFR0c2RLZjQxMEJZbWJmN2VPaXFjMEs0TmJMUXh3K01jc0doZnBxSWxGQnBQdzkzMSsvemd4OS9qcGNzdm85YWhhNnlucEFYSGxoQ2tTNzByUWl6dzZ1enQ0djhkSUxtaWFUdzJCSlRLOEpWamYzU1ZWM2R6WHVkZldUQ2pic2V2VkNBRTBlV2dYV1BiQk9JVzFaS1NrcHdoQjhWVm1za2FGeFNOdUlRdFdwQWZPbkJ6VmlZVHRkQ0pjVVRoUkVQanVHVEdQSGh3bitQSk1SVU90VnRTelpmc3BzdnlwQVd6K1pCbVpiakJFZi96Yzk5Z1VKVW9GejlYSVlnQzY5WnhqTlNBUkNsUFk5dVREVXFpaTZyeGdsOHBjbFdTRnhwRXNON1NVTWZ6clVQWGFLTnBxdGdCMFNTNWxmTlU2NXJTRElubGIwQjBTVXpEYTRqamcyeDA1bHBpSDdaUXhVWEZ5STM1VXZabEx1MC94ZC9jK3p0bUxKZzFDOWd2WWIyTXpRN1hSTDIxYTV2RmV0cTIzU2hnQ0N3aFdJOUJHRFBtNTRvdjgrVnJYMEltbmpKa25WNDZvai9CRlFIdkhVRTVSTWZtS2FGeVNNaFJYcU5EMFMyV25IV1lQRHFvTkZXTldLSzJOa1MzQlp0NXJFUk50aVNMdGdDb1RKQk1zWGJyNUMwYjd3bERaRysxMXhnUGRaakZNYjVVWktha2NaRFBQZGU1enVYaEFkbE1lTjErSDhjQ3lYTWF2NEFBaFFKdkw0cStmbGJpQXNoK3hrTzJKQUxuL0xFclJQRzluL1BpTElpTi95K0tqTVZpaFFMMmQ4Wk1aL05VYUpXeGFocXVYWG1LUE0rNzFYKy9NMDAvVkhoNHZwZEFsQ0EwRGdrZVEwbFJHSFNtRUxWR2E4MTZ2ZHlheE9POEh3aGQ4Wm9uS25GYkx1aWNneUg5ZmVzL25tVnorMytQa2dWQlUyakQ4OCs5ektqWVN3RE5vNEpDNjJ6elR0bVlDSW5hcEx3SUxjbTVyZUhhN004bUgrWjlDMktGakF5UHhnYlBjd2V2OEkzZitGMmVmL3BWTWhsU3JRT0dBbU55NnRwMmV4MlptY2lNdG9VNFFxeit0YTZPakpnS0tCRjBwaUZrVENZemdoZFVYcE1YZ1N6VGFLTkJDVWFYMkVvaEpxZGVPUmJMSlVXbUdZMkhCRit4V0U0cFRMNDVMNlFVTTV0R3BWcEI4SjRNUXpWYjRTdkZGMS80TXN2Sm1qLzc3amR4MU96bU96eXdEN1pTOXRHRE9OWStoelpIbXRMbUVnd2xJdzVIbHp0dDNObWorakNJN1ovZmM3SVpQZTJCSnhyK1YwM0ZkRFZoeFJ5ZlROK1VKSUZjaUNUMlI3VGJqSEhlYTd2bklzQzBxVTNxSnhLQkNGSlFYZXFmNEZtejVON2tEaTljZVo1MUV5aDlTYVpLSlBRSzdUUW9wYVBIYmNxTHRJeG5TdFVBME9Cd0JvS1grQ3FYWVpxY29SOXp3QUduM0tlV0p0M0JLZ0h1RUYwRStwMnpCSHhxYlh6RUVWSnJNcUx0MWtiNnNObXQ5dnkzejdYM1hac05hYysvQzdFVFdyQnJmSENjVEU2eFFGVXRJL3ZhZmxRQU1PQU5ROW5saHI3R3ZoMFFuRVRIbE80MThVNW9uL0x5OEhncmlUVU1HSVk3c1kzeTJscXNiM0NTN21makVZVDFhazJXYVpUUlpEcG11aHlDRFFHSFNySUwxZTJvYTV2bjlMNDNKSWxMcHkrVnVPRFVIZzdzUHJieFBNY3p2TUZiVk1wVHJ5YWJXdUZlNWs2blIrbGF5d0JWM085MnpIcUI1N2t4dUVZeFZZelpnZG9sMlZncVJHeFBoazdhVi9GRTQwT044aVE3d0ExUjRVUE05TFg3azJsRHFUSzBqWDMxUkFTdElkTVpDazN3Z3ZNTnpzWEZvV3dTZ2lrTG8rT2lJNlNNb0RScGtSeGJsR3R2VUFFeXIzQU9uaDA5emVsa3dweTNXZGFybENMMFdMdFZObjBSbjNKY0FOblBmSndwNU9yaVVhQzFIKzIwNmJjZSs5TjZHOVBrbXdtZ2xNRTV4VFBQUEVlZXQybGNPbzNWUnpYVVZwSlJ1VGg0RjVuQ21LaVU4c0VoSWt3bWs0ZmVFM3Jlc0QvdENFazY4WVV2ZkFGakRLSTBWUlhaRVMxcU15SEtCa3FIQkNzbFJIMXRIS3hkR3A1OXA3bUNDUEphRkJxQnFLREVFSUlnQ1VoLzlTcy96ODkvNWFzTXNpSHJxWTFzV3JDYzFSTnZlUXFuQ3BXMks5WkdCZ0tvZ0Nod3ZxRVlqYUtWbFhKNFk3RmhSZDJzY1RhZzFKSlFHNGFEQThyUkFKTXBmRk5UVlJXRTZDbmM0Yjh6cDd0TnU0a0lxL1dLUE0vUVNsSFhEWmV2SFBMVkwzK0Z0OS8vRWYvOS9qK1JhUjB2dzBCa2dlbytrRDNyTHh6am9Oem44UER3WTUzVGZyVFhhVnZzUWdkNFBKUDVoS2s5eFNWVnRaSnRRZXhIbE4zK2JFY0FRa0RuT2I2eXRPV1o3OSs2UmZYOG1peVVxWXRYUERaeEVSbTZGTys1SDlsTDl6cm5FSzAyYlZlSnh6ckxNZzdOSWUvWVZoclFncnUwa0FBd0NXQW4xanZpMmNEVFY1N0dOeGFqRFZ1Mkd4OGpsUGRvaVFWM3Arc0Y5N2hQTG9hcWladVVCRGQwV29sYWNYbDR5TFh4VXhneDJDZG96OTBvendPMXhDVWpmNFhIYU1pMG9DVzZzb2lLV1JzWHdOcm9kb0FJeWhSNEUxaGhDZEo4NkxsbzArL2QvenJkZGh5N1NpbllNUU9lMjN1YWR5ZnZNU0tqcmpYa2RvdlRpQ1pyS1oyUGp4M1owdW8xdzVDVE0yYkVpOWVmNTFBZlVwODA2SUUrVXlaMVRyUnpWMWRSdDhrbWh0U2R5NHFQcThZTU9pR3NlRmJVV0cxQkNSa1c4VHJXWk1oRzU5dmFLcmEzcmJTTERiSFJheGFTYlZ5U3RRSEt4MFlmaU9MU3pnSFBtV2Y1NEhqQ25CcnJkTWRTYlBLV0YvRnB4NFdMeE9jeXp0NWU1OXh1b1RjUnk2YVMvbXhVbGVQZ1lJKzJZR3h2NXdEUU5NN3ptNy84RGZiMzkrTTNwTWtKMkdKbkh4VUJoVklHTUhFbGpXQ2RvMm1hNUpUZ3VYZDh2OTNjanYzcVY2Ny90Q09FUU5NMFhMbHloYnF1dStldHRZbEJsZlNqMHVTdU5wTzhCTnFPWWhLU0JBU1A5ajdWK1BvMjV3dnA1U2FCMkpDTzkxZGYvaVZlZWZrMWpDNlpua3hwbWlaV3NxZnRpbS9jVm1yMUp6VnJMVW9KV2E3UldhcjhwY0g2bXRxdmtLS2hNUXZXWWNyY25yQm1nWlNlMGFXU3c2ZjJLWGR6YXI5aVhTOVFKcUJ6amJXUjhTakw4cEhIVGhIUGxiZHhNaHVQeHhSWnp1UjBoakU1My9pTmIzQ29MekZielRlVWJzMVdhOGd0cXpTMXVaNzJkM2NabG9OL0l6Q3B0Z3BkUWxwRW5aeWMwQ1NWWnpleGRrS0t6MUg0Z081Vm9Iazh0K3ZiSEU4ZW9ET0ZNb0lWUitNYWJQRGJHdmpIUkh0Y29iZG9zSTVjR3k1Zk9vcExPd2NoTGRzNmdVQTdmcVJGbm9iRTBTbXVIbDJKYWVid2Nlb0VOaUY0Y2lWNDMyRHp3SzNKSFN6UmRxeGpPSW1YWkZ6NUdTUm9ycFlISE8xY1NtejJFNFE0WnMwcGE3WEFqeXgrejdNZTFqeklwbndneDd6cjduSXZYM0JYenpqUksxYVp4ZWNhUk1kQzF1U25KOWc0aHZkL0VsaEQyc1Z6L05IQnB5SkJINXVVTlk2eEhuQnB1TWRWampCZTBFR0QzUWo1WTVZb3BNOElIVWxPQUhHUU84T0lFVGRHejdBLzNDY2p0c1J1MWczUmJRRE92Mk5hOEpvQWJHOVIwSGJtc2xKalRVVlROTlJGd3pLdm1HWXJab09hOVk2bEdsdnFrV1dacjFpYUpTdFZZYlhGNjVDWWQ0WHV4dWhVK0p0a1NsN0ZYSUtUVGJaTVJVVkh6RHA2aGJIQzBjNFJUNDB1VXhBN0NhcFVWeUFYNk9sbkppNFkyYzk4Sk83cncxS3NEK1V6ZTh6dDJVeDdmNndKbTFjdnAydEFVNWdCZzN5UEtSWERiTXp2L2U0Zm9KVEJOaFlSNmJ4a1c0RDFPQ0FMNEoxRTAzNmRFd0ZGVGNCRjJ4K2x1SHYzTHJJTlozQytSWC9ieFZrL2pSQ1IySTVXS2Rick5YbGh6dXlYU3BteXpndWhBOXh0Q3F1VEhJUkEyd2kzNVI0Y0NsRSthaTFSaUppMHlORHNxSDErNit1L3c5WExUOU5VbHJxMmpNb1J1U2xvbkl1VHhGbFQvODRrUEQ0MlRZT0lSblNVRjNnYUpBTzBBKytadS90WTQxQ0Z4WmhZbUxPcUttYXpLUkllY09YZ0JrRUZsck01aThXY0lzOFpEd1lvQ1Vsbisramo3NXhqTUJoZ200Wkdld2FEQVE4ZUhOTTBEUzgrL3pLLytvdS94bi81aHcraURsYTdhTFZiUUZpREVvMUxSUnFiL1l1czllNTRMOG9Lbm9BUlMyY0prZWhQM0M3RVhBSlR4eWYzZXpLSnhCajJEdmZHZXVnekhFbVliVjAwZ1k4QU5hcGZiOTY5eVRPdlBrT293VFlXN3lNb05jYmdDRGpmYkJWejlxTmxBZHVNQnRBQlpwOXMwUTczTDZIdnRNMFdrZ3dHYUh1K2hwWkpDeVIvVXMySUlYdkRYWmg2MUlmVGtCOHBWQUJ0WU9FcjFycmgzZVlESEZHUDJtS3ZXa2VyUDRKRzBGeGloNmZNQVNNWjRTcVhWS01mOS9zOSs3a2k1SjdhTkp5Nk9iZVhEN2k3T21YcUZqUjRjbE13a0pJRHZjOVR4U0ZIWm85aEE2WlNVRm15UVdJVEgvNzBYaWVzODc0N25pRFhPTEk4bzNTS3AzZXVjWFAySGdXR3lya29Cd2l4dlhhdnhnblYzcEVodGpBMkdLNlgxM25oOG5Pd0ZuenQyU2wzc1BNcTFrbWNtUWEyQzdSYUVIa21tNWlLTFVQbXNhYW0xcFk2Tkt4c25ScnZ4SVc1azRaY0czSlZZSXhKcktxQnl1RXFTNW1WaUUreWlPVFFFbVVPTGpHeXFzdEN0Q09uRG1BY2VDVlVTOHZ1YU1TMTNTdmNYdHpqbVBzc2ZaemZ0REpSS0hzUm4zcGNBTm5QZENSWndYbDQ4ZHhCdmszamZJZ2xWampudFFpTlUwQkdaUlYzamsvWkgxN2pELytYUCtMNjFSZHdGbHl5ZWRKYTQ1cFlVTkszY2Zud1VEUXVvQ1JINjhneWlncm96Q0NtWWxrdE9ENisxNzNheTJhQ0ZJbEZiMUgxOU5NTHJUVkt4UXJrTmlUWnd3UUg0bFZ5UVVnRGZhcjZQeC9DUzhmV3hvbWhIYnpiUjQxNFEwRElLSG4xNWE5dzdjcXpaS29nZU0yZ2lEcXd1cTRKWGpEYVBHU1IwMVVWcDhpeURORXFWZTA2TUFGVkNNNDcxczJNTjk5L2kzZHZ2YzBiUC9vQjcwL2ZTY082Y0czL09rOGRQYzJOeTgveDJpdGY1Y2JsNTFoTksrckZtc1liTXExWnIydU1lUlNROUlUZ0dBNTNPVDA5WVhxNjROS2xBMGFqTWJQSmxIcFY4NlZYdnNLZi84T2ZVck9tc2xFVEdUdTdKUXUzRmprcW9BNUk2dXQwc0xQUHgzUXQyb3EyQU1oNmoraFcwK2dSRlRnOVBTV1cxRVZWWVA5eWJoc0tmS1lqTGJSOEFOOWVSd3FjdHpneTNydDlrNTkvYVFsQllWU1duQXFpVEVEYXlmOHhoMEJFMEcycU53UzBxR2lobGNGT09hWmt4Sko0YjNrRVVRTEJ0WFIrQjJRVnNTSDFrWXFzb1FsQzhKdFd2Ujh2UEZvRXJ4cnVyazQ0Wmdvb0xBMUd3SHB3N1REb0ZUa1psOVVlUjNxTXJuVjh3U092LzhlRWVFd2h6TnlNdTVNVDNwbmQ0dTF3ajN2TWlONFNBVzB6QkdGTXdlWDVBVTl6aFJ2bUNsZkxJdzRQZHZIckJnbDY0MzE4QnJ6Mk5lVFNQVWU3VTRSUUU2eERLOFhsdlVQR3MyRnl2N0N4TVFHdWsweHRqbHI4eVlDQ25DRURybyt1Y2xRZUVlNWJ4R29HWmNsYTlYVzZjVUc0MVZFMkNLR0ZJS0ZWbkpMYXkxcWNxdEZEWWVZcWpxdGpIcXdubk15bVRNTXlGc29TL1RwMnpJRDk4b0RkYkplajhvakQ4aEpaeVBCVlNLeTk2bXBKUXR1K3Rtc0trNG9pVXh0bUhlVzc2S0FpQVBZS1l6T2VHbHpoMmYwVDZ0TTFkZXI4MWJqUCtDTDJjeFFYUVBZekg2Mys1M0VEYXV0TzBCWkpaYVR5REtDUGhaTUd0Z095R2tWT29RWlUzckUvdU1TLy84UC9sVy84MXUvZ2JJNFMwekdPM3Z2a0phdTdMakdQNW1RVGM2aWlFYmYzRFVwQmxndno5WUpidDI1eXVuelFUWnA5Tmt3MEJQdkpBSWtzeTFpdjE1UmxpVWkwdGRGYVkwU2pmR0krbE85WHVteTBsbHRndFZXT1J2NHBjbENiNXpRYUl4bE5FSzdzM09CWGZ2SHJhQ21vbG81Q2wyVEdVSzBzNHNIb2tycFpJMGFqUHFUVktvREpNMEJoZllNWVFaV0t0VjF3ODlhYnZQSGVHL3pKdDcrWmRHd3hIWm04TUhqbjlDM2VPMzJmMTMvMFhlNmYzT2MzZnZuZmNmM1NEWlFVTE9jTFRNZ3dwcjJHK3QrL25RWElsS1paVjJSYUU3U2hYdFdZUEdObnVNTnl1bVIzdE10dmZ2VzMrSlBYLzVqS3JTRUR2NDdYWmF5d0IybGIrb2FZZU00d0hPNWZTc2Z3eWFKTlRmY040Vk5UVWliekNTNDIva3l3Z3ZaeVJRS2MwNkwrTXhjK2FTNGhnczdHVjZub3luUEgzK0hPeVIydWxMQ1hIYUtDUm15STUwVkNkL1FmZFE3YTRzOE95R29OVFFEbktiS01vL0tRZFYyeDlpdWE5dHJwVzdHSkVMbFFnOEp3NWZBSXQ3YU0xQUJwK3Zxb2p4RVNDTDVHNS9EV3JadXArWEJpMjBLMENVWUFrMEZsTUJROFBiakNKYjJIV2d0Szh0U3k5K045dlJOWTY0WTdxd2svbnI3TE85eGl4b3FHaGhwTE1HQkRiTU1keUdoWWNjb0pkK3hkWGxXdndPNkF6SU94ZVRlS25EMGIvWGJjblJSREVnTXFGbDNDdko2aWR6UEtyT1JBSHpGeFN6UUtHMkxYUko5R3NaNHNOckdxaG9LQzUzaU9vL3dTcGxMb1VHS2N4aTRkV1ZiZ3ZlMjJiS1BoNzQrSlByR3hMWWlsczc2ejJyR3djMjdOYnZITzlDYkg0U1FkbjVZcUNBZzE5eXdVOHp2c3NjT040Z2IrTUhDa0w1SGxzZE9pZUxWWmNMVWFZWEdwUU5la0FqTjZJRGJKS1lJaWt4eTdndDJkRWRkSFY3azd2Yy9NVDZqUXFmaHdjK1F2NHRPTEN5RDd1UXJWbzBqODl2UGRZQkdkSnpmaXpMN0FQcjIybDVyV0ZEZ0MzZy80emEvOU9uL3crMy9FdFd2UFVLMXJNak9LbGUxTjArbmx2UGNZWXpER3NGNnZOejZVSDdiRkV0VlhJUWlOcTBFSERKN1ovSVNiNzcrRFM5cXVXRGpFdzBxSm4zSzB3SHk1WERJYWpRakJSUjlFWXhBdjZMNVFvR00vM0ZZclF5ODl3QlZVb2lWaWViNlNqVHdnY3FFWkFoenNYK0VMTDM4SjNlU3NWbFg4bTFMZ1BGbGVVT1E1MCtrVVl6UmU0dUM3aWMzMk9CZncxTmhnSVl2NjJPUEpYZjdwZTkvaDcvN0gzNkR3TkxUT0VKdlJQaWJvREJVci92WUhmODM5Ty9mNS9kLzk5N3p5N0d2NDJ0R3NISHVqUFZiTCtTT1BuOWFhNlhUS3p1Nlk4WGpNeWNrSjBqUU1oME1hVzJGWGpxLzkvSy95WjYvL0tSSVU1VEJuTll1T0ZkNGwwSzgyNlZzQkNpa1lEM2ZJVlBadk5vZDB4VjdFaVJRVldOZHJmQklhdE5aT1NxWHFlZytCalZ2RVp6Y1VXa1dHM3VTYXBySVlBbG9ackxmY205eGpaTWJzRHc0d1pEUXVwbmFWQnBOYW9qNHEra0JXQXpyZEMrS2l2R0J2ZE1DSm4xRFZGWjIxVTgrcFFJSW1OcHJXbE9Uc0QvYnhsY01VbWxBLzdFN3hrNFhIaGdxS3dQdkwyemlFT3JsVENHdzZaU3NOUWNkT1hzV1lQUm1nTEdpeWJkbkxUL3J0QXVTR2xUUUpvTm5rQnR5Z3NzaEs0aUVZd2F1WWliR3VvV0pGV0FwdUVualp2SWgyc1docHl6d2hSWnV5VjhGM2RubWQ3Njg0ekZDWVR4Y01CL3M0UEh1NysvaVRkOUJrV1A0bE1Cd0FBQ0FBU1VSQlZHejNXUjFaUVM4cmhxYWs1TG45WjluVk8vaTVaOWZzRUNyUFlqRm5kM2NYRjdZQjhDWjZrb0tlUkNpa1podFdXeHJUY1BQMEZtL08zK0lXZDFqVDBCQlFSRTlla1FEZXg1YS96R21vc0pWak1COVFqQXQyMUE0bTZxalFJZFprdFBzUk8rVkZRcUU5YmpGVDFnZmJpbHdLbXNXS29pdzRVTHVNR1RKZ2lLQlpNT2ZDcytCbkl5NkE3S2Njb2hUQmg4N0N5dnVHTEN0cHFuNlhsVlJzRXN1R2svVnNPeXhzVnJmYm5XdFNBa2pBV2M5MHV1Q3JyMzJOTjMvOGZRWkRRemxVTEJZTGlud1VpeTNTNkpRcGpURVplVjZpVmNaWHZ2UlZybDk3bHVlZmU0V0RnOHZvWUdoV0R1VXpJS2V5elZZeGg5WWE3MzJuSzkxc0UyZTJqN2hQUVJEUnVHQXB5NExKNGg2RGNjbG9uUE8zLzkrM2FGbENZTHRUazNPMGpIRWdiSndTd3ViM3lQSzJWalRuNllXMzA4UGIyeGQvcit1S3Npd1pqOGRwSXFrWkRBYmRCTzE5d09nTVphSTM2OHJHbnFWbFVWRG1CWXZKbkVHUnM2N1dESGJHek9zSDlIWEtQazB3SU9SU1VBZEx6b2cvL1AzL3dISldVYUxKMUlEZ3dGbEhsdVhnQTlWNlNWNUVzQkZaalRoRG5VMTNXMnRCQld4b3lJd2dHZnpwdDc3Sk96ZmZ3RkZocVhDSkM2TjNoSVRZaUNCbmdLUGl6Wk1mOHQvKzZaQ2p3NmZZM1RsQWkrVjBOaVUzbTMySjFld3BIWnpZRjJjRHc4RUExemdXOVlMYzVJVGdxZGNObVNwcDdJcUR2VXQ4OGJrdjhmck5mMkkxWFlLSmJMc215VHBjdGZHNjhWR2VzVE1ZeHc1U2p1UU84ZENwM1Q2L1o2Ni85bWtSc05aVGxpV0x4UUpsNG1SblE4TnBmVUxiOUxWbFk3MUw1d3o0UExBeFF1cmdKTkEwc1JXMUM1NjVuMUV3NEIvZi9VZSs4dkxQc1ZqTUdha2R0SWxTbXFxcUdCUWwzallkNEl1T0JsMjVWdng4clZpdVY5SGlLZ1JzM1VTcGdmTW9KN3p5OUV0OC83dmZUeDYyQVJjY1pBbHhhYUQyYURJMFVYSno3ZWdxYWhvWW1KelQ5WVNpTktsMTczbmpDNTBlVjZleEtJNng2Um8xVVkvOS9za3Q3blBLZ2lxT1dkNVRhbzExRG1kTU5IZE95dEM5d1E1aDdWQytSS09wZkwwQmtJL3BMSFpldUxYRHJlTmlTVktPSVRwMU5IRWJCMEFUYVB5Y3hnQk9SVGJRV3N6TThkS2xLeWdjTG9UTmVaQmVmVUxmZjJvenJFWHR2dkk4Y0RYTkNFN2NsREF5bUZGQmZqSmdTVVZBRVpSanF4T3diN1B4QnRVWXJ2SVVRMWV5cDNmSTh3em1ubHd5eWxFWmF5VlNwaXFjYVJIZXlodU1pUjNIbHNzbCt3ZTdyS29sUzdkaTU4b09kMDd2OFByOGV5eFlVRk5UdHc2N3FxTExSSWFHVEVBSFRjQXpaY0wvbVAwSVZTbCs2ZGxmSkJ5bmNUOUVJWUo0dGNYYlJPczJGWXZmRW1tQ3RBVnFDcnYyN0IwZWNPZkJNYnBRL09wcnY4anQ3Ny9QblBNYXpWekVweFVYUVBaekhpS0swV2lYWC83YTEvbmlGMStqc1F2eVFqQlpCRGxDZ1hjQjUxTFhKQjlReXNRZk1VeE9aaFRGZ0NJZkl5SEhOZUJ0Wk1waXd1bkpWcVFpd213KzU2bXJsN2gxOXgyT3JveW83SlFmdmZWOWJ0NS9tNUFZa2s4cmlxTG81QVErcmY2ZGM2bFRqcUxRZ1dXOXdOWTErU2pqOE9BQUw0N1paTXJ4bmJ0YzNqL0NpV1ZsVjFBMzFLRkJkSnlzak9UVVlSbTFmdWdFcmhUWDltNHd5TWZrVWlKT0k4R2dndlRBV3J0UWFaUEFNVlR5azVUMHV5Y1dKSW1PYVRLUDQrMjNmOGpkQjdlWitsTWNUUWRpSHlySXdPT0NKelo0ekhBb2ppZDMrZURlZStSWGNpQlBkbFdLTGRzdmVQai9aeVBvbG85aFlNYTRwdUhaNnkvd3ZYZGVSeG1OdHc0dEJvL3JQRGZiM1ZaQXBqSXlaZEJwRWZOa0VZdTlXck16SDZMSnZ3MnVreFA0dUtubnZQT3pEbVBiczlCYjRxa280WEZwLzJzcVBqaSt3L1hSZFp5M1NKb3l0S2pVd09Vbi85YjJQVHJBUUpYc3NNT1V5WWIvMDJ6czJFTHNVcWJRSEhDQUNRYXRCZTlKMHBiSFJ3Z0JIL3pXQWhlRUlCNnJIY2ZMKzRrTmRiaFFiOEI5ZkhOWFV4Qmhwa2FkZHpGOGpOQmVVWGpOdnV4d3dDNHo1bFEwUUlQeUJsODI4VGowUUNUYTQ1eW5saG1MY01va2U0QXR5cGcxQ3lFK3RndDdpQVZRUk9aVDhKMTdsVTc2WHpYTVdMbUtXbUMxcnBsVTgyN0U3YVFlZlZXVVJOSkQrZGhrNVhKK3hLNGVranVOMUVMMDVZcGZvcFRDU1N5Q2JmMTBWYkxaNm54OXJVTWhtQ3lDUjYvalBweFdVMjVQNzdHbVlrM0RtcG9LdTBrczl1WWRDOWpnT25aY01lWFVubks4UEdGUDc1SGJXRW5STDd4RjJxNWcvWVBia2gwdWFxT0RRb3dCcHlsOVFRaU9kZDF3eENXbXpGSG9XSGR3RVo5NlhBRFp6MjNFRzdScGF1N2ZXNkMwcHh3VWxIbE9WUzFwYWt1V2pWQWhqeU9hOXoyZ0Z2QnB3TGwrN1FYcXl0T3NhNXJHUXpBb2xhRWxOaU93RDJra2Y3SUlBc05SeVhSMnd0NytrT1Zxd25BWC91Ni9mUXRQUldjaUNYMUo3eWNXclF0RDY4cVFLZDFOY2twcjZ0V0NmSkNSWjVxbG5YTnk5dzVlUER1akVUZGVlSXIxYkVVUVFSVUJWU3JFd3JKWlVsUGp3cHIyMk9sa1o2UlF2UGJLYSt3TXhxaW1JQVFWUWF4dkFXTTYzcDNwZVN0dE9DOFVTZ2xCUjNOMUo1YlgvL1c3M0p2Zm9XWVZXUi9PdlAzTVIwVm1LQUs5dXc5dThmWjdiM0Y1L3pvRG5jZFd3aUZOVHVlQzE5QkxQVXNIMUVNSHloV0Z5VmlzSzE1OThUWCsvTnQvUXNnOHEvVWlGdjBBN3N5MUpZQlJCaU5aQWhSUEJtUVZtOEl5UXB4d1d3c3VTNU1ZMlphKzdiM3ZzNjBuQURhaUl0K2lsSjRUa25OdGN3YkhqOTk5azZ0ZnVVWmpJNXRLMEpqRXFuYWZsZkJMdSs3b1MwRzJ2alAwZ0t3WFJ2bUlTK2FRaFYwZ05Kc1A2azV0dkw0VmhpdWpxK0NGWEdlNE9ycE1mQlFiMlFoa055QzJMVlp6T2xCSnpUdW50N0c0Nk9SQjFQVTNiWGRXNzdxMHQwYWlybEtSQ2hHZjdDTFFBY2EySUdSN3VPeHBRZ09XRDJJekxWZEJGV0RIZ0YxM0JpMng3Qlowc055djMrZi9ldWYvUlpIM0lGZzdRclJ5SllobGRJcTJ6VUMvK2lGMlVqTkFiTFN3eHJHS3ZkYkk4b3pHTmoyOWN2dmhPaFdrNWp5MWQ0VmQyVUZiamE4ZHdTclFDdEZ4OGVERmI3R3hFTytkRmtBNlc1TmxHVm1tc2NIaWpPQVZISzlPdUZuZFRrdnR1Tnp1UUd4ZkdVZGtpRDNRZUkvUVlGaHg2aDl3ZjNXUFlUYkNxUXdqa1lWWFFaMTc3N2IrM2tFbGI5a1F4d09URnpnSEJVVzhMbFlUbmo1NGluZFAza01qbjF6emtvdDRaRndBMmM5MUtBNzJMekdiVDZqck5kNnBhSWp2b3o1S01jQTFNYld2QkZScjlCeEM3SHNkQXRQSkN0dDRnbzFEbHpISit6VWtIOGtuQkpiT05aUmx3ZDBIZDdtNnQ4dDhNdVBtbSsvdzVsdmZSK05UbjZOTmFwZjI4Uk1DRXM0NVFnaWQ3amZnT3A5Y3JVRmxEU3MveDF1UExvVDl2UkliTEl2RktjZTNiek05bnBCcFExT3ZvLzR6ekxsN2NodWpvWFlOU25sOGlGclM0Q09rZU9tRmw4bDFpYTJJQlRZK21jYW5sTDFQK2pZNmZWZmlaVHZGUnRLY3BYU3Y5OGxZM0RmOCtKMGZSWTBkRnFVQ1c0VzNaOCtsb25PU0NLNWg2azk0LzRPMytkclAvUm82aTRBbTJENGowZit3ODA1UUxMeG8wWTRFUVd4VVFGNjljcFhMbDY3eTlvTTM0eWY1emJYWWdTd2ZPZWhNRzNLbFVWMzdvWThiYXFzVFhVamcyZU53b1pXMGhQallncnpQQVlBOUcxdDVsVFpOTGkwcjYzbnY1RjFxdThZRWpTaEJCRVFaWEJQbFF4K1ZsajNyKzZxOVlpUWxsOGFIM0RtOVRYWDJEUjZDRHluWmJyaHkrQlRpZFBRb2JSb3luZUhkbzcvN3JIdEtlNzRWQWlLY05uTnVjWWVHSkdYd0VUQjFqaGdXdW1JNEJJdkRDMWh4S084ZlgyUDdxRzFMR3ZiU2pMbTZiOUJOU2JuWTRXWnpsN3M4WUdGWHJFN1dPSW9FTXowRkVvRnN5cFNzT21tUVQwQlc2TGhKOFpGUjdNckFmR2NKS0NHMmdjN0kwR2djcGl2NWJCSW42NXQ2MnhJbWtMeFk0ejI3enk0NytZaWlNVWdkb24wdHNaRkRsSHBFRTlvV3pKNjFBNHVPR1NIMnZWREMybGVFekJOeXhlbGt3akduVkhocWtzdEFmODIrVWR4RmlKN2EwRHJ2cWFtWXNlQzBPdVg2b01FMXhaazZnblo4YkRNU3FjMnllTURoUkxBcVFQQW9VZmpLWTRKQkJjK3NocXU3VjlBbktpMEsxRU9MN1l2NDVPTUN5SDR1NHB6Uk5KbjFIUjlQQUk5SUFWNmh0S0lzWW0vNnhhd20xMlUzdUVzU3Y4ZUtnQVFrR284UmhTcE05Q01OMFQ3SCtUaFF5Uk5lUWM0NVZ1c0ZCNGRqN2gvZllyQWovSi8vMi85QjNjeHhySWhUN0ptQllrUHkvZFNCUlpabEhhaHFtZ2JubTlSa1FPRzBReFVObWRRY3o0LzV3Yi8rZ0gvODNqL3o0M2QrekRxc01SaE10QWVub1NKZzBRZ3FEeXpkRkdpNk5LcjR5UHZ0WlFkY3Zud0Y3OEZid1hqMUVPT3BRZ3RtNGVGemYvYi9VYnRyUTgyc21uRi9kaCtGZE5YWndQWXhGTlZTVWQzeERTcDJFOU0wM0h0d0Z5OE5qbWhkOUZHalQ3UzFxeElWRkhYbE1MbkJrdkhDc3kvd3hwMGZBZ29YSEJyMWtLeEVpTklDTFFaYzFNWSt5U1VRV1RyWlJsZ1NiY05jU3RSK25tUHJGdW9WV1JIQXVkZ01Zc2FjMDlrcGVaSEgxcUpCVUszOWxWSmJUQ3c4ZW1uUkZsRkJQT1RHRzQ1R2g1U25CVE1Xc1VMU25YMVBkUFRZR2UvaGZUeGZqYmNZOWZqQnA5T0tubTJmSGNDSzU5YjhtQW9YVThUYXArdTl0dytKQ1kyTmtpMFZEWlZ5REpSUGJYUS9malFLNXQ0U2pHRE1rQ3RGeWVId0VpL2FaNWl0cHl6ZGd2Y1c3ekZqd1p3RmRib2ltM1QzTnRHRkdrbDFCRnZac1hRZWc2ODc4T2RDeXZ3VHo0R2xSdXQ0ZElOejBTa0JFKys3MW9FbEVNZW9OQXhuUVNOcFpEc3FMNUVIalRTQjRLTU15S2hVM0VlMDdnbzlSalpJek9pQjZpeXgycWJFU2dtTnJmRURqYzg4MDJaSmphTW1Ob2QrQ01DNk5ubGdJb0JPNDZIWFlKMWx6WUo1TThQcUp2clJTc0JMbjQ4MjZmdGJZSitLaXBYSEtiQXE3bnZ0UGNvSFRCQzBGVXlBY1Y2eXk1QWxpeWM0K3hmeGJ4a1hRUGJ6SEVFbzhySXplcS9yR3UraWJrcUp3VGFlMHVUcHRVUmYxZ0FCMTZYaGRPcmlvMVFzNG1xMW9rb1pqSWxGV2srNGtSUkZobVFPYmVBSFAvd1gzbno3QnppV2hEUjZuanRaZkVMc1dGdklacTNGT1lmSkZNUGhFT2NjZFRQaDNRKyt6L2QrOFBkODUvWHY4S0I1Z0tBb3gwT0tKckN1Wm5nVVRaY0V0OVEwdUxvQnNSU2pqSHJ0VVNveTB3ck5jODg4eTdBYzRCdFA2c2tZZHpmRTlHL3NUOTZYYzNnZVJRdTFCdmZXT1I2Y0hGT3hqR2JnWVZOUEV4bTV2dXNDc1VpRCtFY1h3SWpIQjhka2VVcnRhdXA2alhZRjJVZDI4VTFNYlBjZDBiWXNOQTZWYTVwMXpYUFBQSWY2dHNLcjJIcjBvVFBmQXFDV1FZMzlKWjhvSzdCZG1PTkJ4YnJsWGpmNUNHWS9ZVW5MSnhzOTZObnVaMklsSTJid3ZILzdKbnRQNytGTWxJdUVjMHg4eitxcyszRzJwVzNyNzZrYXo4RndqeUhGNWtvS2JGM1NnbWJJbUVFK1FLcklZaHBsc0Q0YTQzL1U2RGN5OGM3Uk9Ndjd4eC9FdERXT3p0L1BkenhBWlBHOFJ5ZW91SFkxbFdwd3FrQTYxUC94dytRRlRiRDRLa0xJVWh0MkdlTHlBNnh2K1BMT0sweWFPZmRYSnh5dkp6endVMDZaTVUxVitvNDFEdHRKQnpRNm5qc2Q4Q29RK2o3VDIzSnpIREIzRlZBaHRJV3pQdFZIUkxhVVFPZDJvQVBrU1NsY2tITzBjd1EyRUt5TERpNWlVaHZuQ0dKOVltTjlXcjBvM3o5VzhYVmFnTkFRUkdORGplZ0JsVGltMVNKcVgrazVXYlFiN2lOdzBlbmZMaHVsWXZHV0JWYXNXYmg1OHFPMUVWQ2prOWV1OUxKQ3Jhd2dacm04c2ppbGFKU0g0QkhuS1VRakhuemp5WldoYWlvT3l6M3VyTzk5dm9lRnoxQmNBTm5QUmZUQVROTDJ0R0d0eHlYTG5NZ2tHb3JDWVBTQTNaMEM4UWtzaGxnM1MyclBxUkpMNVp5TmxlRzJUcE8rUW1sQmlVY3B3VDJSS2JSSFpRb3h3bncrWXpJNTV2LytmLzRUV2dWcVg3UEZMbnhLS1YzbjNLWlB2QWg1SG9ILzdkdTNlZVB0MS9uUDMvcmZxWmwwWHFNT3ozcCt5cVkwSkNmUFNuQnhzaFR4MFdsQVFiV09sY21aaVpwRUJiejQ0b3VBd3RsQXJqVGlOaXpXQmlqMDliR1BEMG0rWmZjZjNNTVRVQ3JFT1Z0Nm41MmFVQVphOWxkSCtVSUxlSFVnV00rU0JkWmJhdHN3MENYQm53K2x6K3JRem1hZlZRSXlvakxBWVd2SDVZUExEUElCODNwS21aVlV6VHE5K2VIOUVTL0prZUVKY3J0RUNZUDNLWHZjK3g2UjFuVHJ3Njd2Si92ZW41VTR0MkN0eDh6NkVDdnEzejUrbXhldnZJZ3ZMRDdaenVsSFdPdHRkMjg2OC9FSmwyZ1BZZ083d3pGRE0wVFM2ZlN3WVFGUlpHajJzcjFVaEtwU08reVMraVBZKy9YZFRJRGtOT0p4MXJLaTRyYTlGelhDRXNDbVJnd0JsSUdRRWlZNlNGcFVlZGErcGxZT0t5a2pJWS9TcUQ4NnRJZmNLd3F2Y0Uwc3RDVklhanBSUnE5bWxYSEFtT0hnZ0N1RE5SVVZGVFdWcjFub0pkKzkvOTlac0tiQzRvbGpadkErZFQvMFlIb0wzeERIRGVrdEZGU1daTURlbzRKQm5NZjdPaFV4eFJObGlHbzBBK1JwbkNncE9CenVZWmE2TzY2dDM3Y2p1aFNJSWpHeVNha3IyMG9GUlR3dHpqZUlxRmE0UysxcUptR0dheStCL3IzcFUrY3RWR3FyYkdKMmlDYXl6VHArVHhOcUt1b0VaQ1BMcWp5MFF0dllBSUZPYWhFYlNpUXBrWXJNck1jampXZVFGWWkxWUQzbEtPTmtYWEYwY0lpNi9iRk8rMFg4Rk9JQ3lINkdvKzFXc2sxZjlGVHcwRlg0WmxsR1VSUjRIMVBrNjFXTnFFQ21wR05YQW5HUUV5RVZkY1FPbGkxcnBTUkNNeDhDM25vYVc2WE9UdTJHaERTd2gwZTJSMnluVGk4ZWt4dHUzMytiOFZqenQ5LythOTY2KzJOZ1RaR1hyT3Y1aDZjcEF4Mjd0N1hPYjFObmZQaEUrc2dJS2xwWmRWL2owVnFoVGNCN2k4VnpNbm5BMy8velgvR1gzLzFqUE1zMGdRVEFic0NteEJhYWpWdmptd3FJNmJhUVVtQTZCNWV5KzFwSGZacENjKzNvR3NwRkJpQXpCdHZFYmRrd3NXay92WW8raUVIaEpURzJJUjdiSUJ1L3gwQklDeE5GTmEvSUdKQzVIQWhrU2hNaVhVSjA3NDJGV003RmZXa1ZkNHBBS1FNQ0NxSEF1QXd0a0N1SlRaaTY2ekR1ZDMvUkVZaTZ1c2lJSkNZMUpVTkZMRVVlL1NxVnpSZ085OWdyZDFuVVU3SlNXRnU3WVhCNzBvUllmZXhTT2xCOXZQTk1PbGFwemE5S3pLNEVqMWF0SnJKM2JmWDNrY2Z4NEI4ekhvZUhldGYybWFjZStaRVB2YWJMdHZlRUcrMnc0WHR2RXFoRGc4Wnd5aW1yc0tTV0JoRXdLa2VMN21RM3NGbHNLZGdxd2pwN2ZrSi9veHlNeWdGRFZaQ2pOcFhnQ1I4YUZBV0djVDdFT0lXSWhoQ2JLZFRMVlllTXZDVG12SGM5dEUwclFwS3lpQVluamtZc0ZTc1dMRm15Smh2a3NGb2xWNEM0VFNxSDJxWlV2S2lVcVlMR094cXBDV0lKS3VBeGJEeFEwNzE2N2xuWkZEajJPMnZaZFlYV1FxRXpSR3RDc3BRRFFHY3NaMnQwcGlpeUFZVXE4Q2FtNnh0dldjcUtLeTlmNGRRdm1jNG5ITThuUEZoT21LWTlzMWlzZGNtYjFoR0k5bXBkOFpWQTB5YlVBbmhxb285MXZCQUdaVTY5cmpFOXRVZVR1TjhTeFo0cHliUkc2d3k4eEdXZmQvZ1E3M1NsVkJwUCs0NEY3ZmxLYzRBU3ZGZG9VU2lWb1lLQktsNGdJMG9VZ2cwbHdUWUlEZ09ZV0syQlFtTW84WGdXeE9ZTHVvNXNjRW5Kamg5UU5EbVphN2Noc3RhUlhWWWR5OXg2eDZwZ290ekZwZjBOa0hsSHJqeWlHNXlOL3VGaDdUbmNPNlNnb0daMVVmRDFNeEFYUVBiVGpuYkU5NEV1MzlzKzlqeGtvOGFMTkptbktWWVVJUnBwQWkzZzlEMGYyUmlpb2hMSnVzU29LbEI1bWltOFEzVXpvK29tT1o4bUJYK0djWTNEcjZBVWFCVXdwc2JhNk90bmRJNzNVTmNObW93c2kxcmM4WGlNdFpiNWZFb0lqaXpYR0tNeGVjRG5DMXd4NVp2Zitrdis3Ry8rSkFJVVloRlRDOGE2Q1AydGlLSFR3TnE5cExQWDJVUTdzYlVUVEdSb1lnV3lGdzlwZFI2OHhBSWtuNmdCOGRTMkppODAwOVdVMFc3R3lzMzQ1dC84Si83cmQvOEtqVStGVTI2ajVXeS9PclRwNlpBbWdTUU5TS2ZUcmR1Tmd5WVZQQTNZNGNiUnMyaHJLTW1vRit2WXVsZUF4UGRDUUZ4aWdsTC9kNTA2MHpoYzFDNjJncmJnay9kdW9KU1MzL21sLzRsdmZPM2ZFV2dJWXVOVlpPUEU2bm9kZ0RhV01yRlY2MllDVm9oUGRtQmV4NW0rNThrYTJqME8yenltYW84N0VZeUhoRWdEaWx4N2JMUEdyelhGY016MS9SdmNuYjdQYkRsTElNV0RNMmhSYVFJRDI2d0pCcndOYUFsZDk2THpmR0xiNTFvV01CM3k3bmV0QTh0cXhXaTR4N0plMFZRcnNuRXNKc3N3VkVURHBhNmdZd3NFcW5NaHk4ZUsva1k5TEhQZXZDeHNGMjUzakZVQ25nOHgzNXh6SC9WVHpBbGtDRW1xNGJmL2poRXFXNkVJZlB0SGY4L2xYenRDWEk2eGdNKzNnR3ovK1BlUGRjZk9welZPMXlnRXdhaUM5YUxtdFJ1djhPWmJiMFJFMnE2TlBSUW9OSTVYcnorUFhWYUVyRUNaakdiVmtHRndQdnFoeG52THB5OEptTlJ4VHh6a3BzRGpXVFlMMUZoWXV5WGw1WUovL3NkL29xSmh2bHFoaWFrRnFlSlhWK3UwOFZwUjZ3eXFESXZpMXIzM2VmSFp5NVM1cGw0c3lZczltc1ppblNPb2dESTY2YXZqT0tTVVNYcFFoUW9hN1UzY3JpQ3hPNXAyTk1yalFrTW4vRFNTRHBmQ0RIUTZwaEZkaVlzRmlnV2FYRFF5ODF3S0E2dy9JT3lDT3hDbTFZTGJwM2U0YSs5emk5dXNhUktUQzk0b25OazBzT2txL2VMNkFDVU9JNFlHejNwZGt3R1pWMGxZb1pEUmtMQ3dYRE9IRE5ZT3JNS2xBakJINkU2MkE3QUJMV2FMaFpVZ2NjeFZGby9DU1k0WHFCc3dNc1l1UElkeXlCODk5WWM0NWZGaVkyWUlqOFp0ZGQ2Szk3MUsxN2VQdXQ0RWtMWFhHR2ZJRmhuYUc1VDNLS21UWE1Rakx0NWttNjZJU2J0ck0wcWdUQXNPUTBNbUM2eXFNUU9ZcmFZYzdCNFNtcHc5OWxuUkpNdTBpL2cwNHdMSWZxN0NiejlLNy8raG5SM29XTnM0NWpqT3QwN2l6R2M4L0EwS2o3VU5ybWtnYUZTbTBXTElWRVlJa2EzWjNkbm5uWGZmSXNzMDE2NDloU2hQM1N6eDNqSmJubEN0WnZ6RlgzK1R2L3pXbjFINVJXeklrQ21xZWg2Mzlnd1R0cG5sVlpmS2FuZXB3d0Y5TnFqM3JoQmdTNmFWSWlnUHZoM1lWR0lSNCtTZnFUZ3htUXdxTytmN2I3N096VHR2WWxuUTBDU200OUh5aXJCMTVIcFB0cURJQ3hwTnFZWVlNUmdmNGJuMGpuYmJ1bEhTUG1nZjFhMnFlMFY2bEM2THVuWGNsRThka29JUVF0RWRzeFlFUzJqNUxIQWhkQUNvLy94RGo2MGRXRisvZGs1c2R4emEyRmxKOG5JRWp3a0Y0Z0tGSHFUaU9EYmd6a3NzVkV5Y2JnZ09KdzV0OUJNMzFvbXFrY2drNFZ0WkRZamYyTk9mdTIvOTQvd2szMy9PUnovdVJYSDZmbGdTMEFleFo3SHdsalNsZCsyMTU3SUR2QzJ6bnpJSE5zUUZqMGFZdVRuM3BuZDVmdTlabXJsRm45Tlo3ZXp0cFhwRFRuOC80NVVUajIrR1pxQUtEQ2FxeWJ0MGdtQVFScFNVS3FjSWVmY05yZk5BdCtTUytQbjlUbU1TRkVZcGFGdnFhcWg5VFNqZ3p1d3VFNlkwV05vT2JUcDl1aWN4c1lxNFlGUng3SFI0WnN3NG5oNXphWnhSNW5uVXRrdE9scVhGWklpTVpKc0plVndFa1Y0RzVjdzRUWFFtYVJjdjdUNXQ4S0lndGNmNFdHQ2xpd3hWYUE3eUhRNFBkM2ltdWNxcjZpWHVyTzd4N3ZKZFB1QU9WVlBobTdpamFnQytUeWRLdXQ5RGswQmhPbSsrZFVSUTBVb1FSVUZHN2hRNlpYVE9HMWMzTFBURDRTVjlwclNacGZpOGNTcEN5aTc3MEhyZit0aWRqTkM1WDhReFVUN1NZakpLQmJhM0RlbnA4SVBnUlcvNTdBb0JVdEZub3h1YUxQcHFJeG9WQ2pJS1BpOFNvODk2WEFEWnozTnNwZmY3QTJRYkhsVDltRGFUandacFNnWTRzcVN2TEVBeWxJbmFVZy9jZTNDUGwxOTlrZmw4eXAzam00eDNCZ1FxNXZNWjVVanpuLy80di9CMzMvbXZWRzRCT0pSV3JLb0ZZQ25Ma3ZWNi9janZmN0pJUU95aGFNR1pSMm13dHNaa0daUFZLZC81enJlNWRmdjk5TjcyNThtaVpiSkdvMUVzck5zcW0zNTh0R202UHJKU2FUZmEvMGxhRmNTSk1QNUJCUkNkSUV6YTViTnNtbmV0T3BCekgrTjgyakt1MjQ4UDdlZERmNWZVR2xhamxTR0laMUR1b0REZ3E3UVRNVDBaa083ZDFqdHFheW1OUkszdkV3TEtWamNaUXNDb0xFSVc3OG5KaWNxL3pUSDZ0NHdJU09NOUdwTXdFVHdtL0xLOVFBaWN1Wjhoc2xTYzY2VjYzdVd6QlNwNnZ6L3lVdXY2eWNNaXpMbDUreVl2WFg0SjUyMWMrNTNEQXY5RUVWVFM3US9ZWTVjUG1DV3FPY1RGTVlwZHh1VGFrSlBGMXNBOVA5aDI2MVVnK2hPenVYNkJybFUyUmlGR1U5c1YyYTdoMWx1M1diQk0xMjlLZ1BXM3ExczgrSVQySXR4ZnN1RHU1QzZYOHhFM1J0ZXdKejVLSW95TzIrVmp1MjB0a3JxRTlZQTFIcTlzM05iZVVrU1N0MmxNbmp3ZS9FSzdPRlFZRXkzdFFnZzBEbFFOYU1OQURWR0RuTjNDTVI2UDJWMk51VFE5NElQMUJ6emdBVFkwMkdYczdlY1VZRXdhRjNwbGpoSlBnMlZ6alhqdk1RaWxqaHJlSndwcGZXM1RRdUtjNjZnRnRFRThycjNXMGlHSzdnTGhveDZ5RHczZkxTRFNkeEwxdENxQThnRXhVSWVBeTRrK0JUbXNqTUlteTdLTCtQVGpBc2grcHFPdm05eE81ajc4M0hudjlXbndlc3pyUGlRa0tKQVNvOEg3RU50M090OEJNeEhQLzgvZW16MUprbVhuZmIrN3VIdEU1SjYxVGsrdk05TXptQVVRQUpLQ0NJSWlSZEZrSnBsSTA1UCtCWm5wcjlLYlpIcVFVVEpLWEdDaUJCQVFRQUFraHdDR3MzVDN6UFJTVlYxWlZibkg0bjZYbzRkejNjTXpLNnU2cXF2QkhvN2xhYXVPekloSTM5M3ZkOC81enZmdDdHN3g4T0EremNTd3NlVlpySjZ3dlROaGVmaVkvL1YvLzBmODBWLzhNWm1BUlhETzBBWUZ0S0N5VWMvbURUNnJEdnZ5WVVybms4RXdtQTZVUWN3WTZHS0hxK0QwN0lnUFBuaVBWcGFBYXN1MjhkWExTdjN4MnRyYVVpZXVxOU1iVC8vZHBRZndNS2dQKzNYeDJQVEx0U0tNSGJsNmptMDJlZUFvMnZLN1VONlhwMTlmRmNTTEFaS21vNXhUSHVMbWRLTjBJMVBBbTNZbVowa0RlRTQ1MFlZVzZsZmZoajU2dldEbm5BcmRaOFBVYlhDVWpyNlE1VjhkcGZHRVN4blJ5elNWU3ordjc5amkxalQ2V243NjY4REZ1OFVNUDJVKzYrN1haZW1SRHlRZVBINUFKM0hVSVNNdkRMNHVoeGFHVkNlMnFTcDJwM3VZNWIzUkRtcFQyZlprQjI4ckt1Tm9VMEY4bytmTTFSdGRLZzNHRUxNYWdsaHZpU25qck9QaHlTTkNhYzZFTmFPaUw0TTcwVXNUeVJBRG1Jb2trWWpoc1J6eUpPNXp1NzVEd2xLSmtLT0NQQ09XMm1yM3ZwUnJDaGc0N3JubzBJb0o5R2REWGZ1VXZ6bmNsODgwR1JtZkZ4RG53YW9VV2txSnR0Vm5wM0hndktlYnI5aVlUZGpjZkpPdjd0N215ZUoxN2gvZTQvN2lIc2VjTWlld3lwSFFsZjJtYUZLWGl6TEpPSnVlSVFzR3g5VFBsSFR6M0Y2STU0Y1JwVEtzcDBxWEowWHI2MnJJVVJ0VHVNaW1TSVM5ZWd5VGlDc2lZVkFsTHFGM2RjdFpjRmhxcXV0ODdDOUlYQVBaWDRwNDFtMTQxVzEyTVlYVmw1eWZGZVo1ZzVSNDJqYmpySmFxWTFGSE1FYndsY0U3ZUhMMGtKMjlDYXYyRkY4bGRtL1cvTkVmLzcvODQvL3pmK1BnNkFBaDBBUEdtTHBpekdDSkVVTDhEekhmSFEvOTQxd2ptakV3UWs0UlV1VCsvVTg0ejJlRkxhYk9OVjlFOUlQZDV1Ym1rR2xhWjV3K0kwd2NaZTdNa0hjMzhuUVRsQ25XbkgwS1QzQXEvQzk2bmdWdERCU2pXU1g5bWkxSDVlbFh6Y2FsTlpEcDEvZXM4ZVdLejNzbERJTWp4Y2pHZEJPTFV5RFJwOHZVVTRuK1hMVzB6RmR6Ym03bTUxeTVMeGJLWTdTRmttN3dPRUx1TURoMk5uZjU5T1MrUXMwaC9mekZSaW1VRDlsWkxaN2FaNjVMQ29PNUI3OTk0dlpwekdzdi9kMjZkRjdnRTZEeVJwZTNVVjNqaEFBQUlBQkpSRUZVUjhaL1pJcFpSOUoxbjNEQzBjbGp0dHdPMldxNjdzVUZzSzdZbjJJZjY2MW5aM01IdTdSSzh5bkpWb05sZDJNYm13ci9OSFdJV0hLT2lHUk0wUU9WMFQwd2J0YnN1YUNaaERpZHFDNjZCV2VEMG9nZWtMR2EySkFNN3k4NWs4QjdiSUJJNEpCalBqbDd3R2E5eld2VDF6RlJOWTFWak1SU213YVRJVVl6WkkybGRNOWJrMGcyRmhCbWNFbkwwNzJsOUxxNThXcUlOSGJKeWxnV0tXR3R4MWtIeHVKSzg2V3pKU3NzQmxhUm5CSk50Y0hVVnV4dWJ2QmF2c21qY01SUDBzOTV3amxxQ0oxd1JEQ1d6a2VkejF1SXd0Q2ZRVXdZR3FaK1d1aE5yeExsU1ZLcVFiMVJBL1N2ZGxES3lxV25RZnNhOUI0eFpKcDRrVXIyVW1Ia3ducDZ0dmhheVVCVXVNVUt0WmloZVMxWmc3ZU9UZXBYdXZhdjQ0dUxheUQ3U3h0WDVXbnlPdU5JLzJKTDF1c1o4Vnl3WnRVVXdTcm9jaGlzTlZnSHpndVl3R3V2MytEMDdCRlZFL241aHovbW4velRmOFNQMy90TE1pMkpqdHJYdERHUUpBTkpBVzFVY09ZOXhML0NsbEROQ0FDbHRDWEdNTlNxKzVITXFNNXJUQjBmL1BRbjlDYVFpVUJPVjVnMXZQUkdVTEljaHRsc2RrRXV5Tm9YRVZ4ZnI3LzNnRGV5NXFiWjBVUkVDc1ZnWGRyUEJiZzZFTWpTZis2UUxJaHhvK3pkRmEraS94c0E4N3JENnVwTnZmUzVBaEE3QUs4Y2hhYVowZ003VFlqcEFMMVdxQkJhT2hZcmxRSHpwalRtZmM3b2dhd3hPcElaWTdTSnJITHM3OTdBbkNoVDFsemVyUzhJMUNxY3ViaGdNNkpSWEl3OFVGNzY2cnUvK0drcFdUTkN1T3R6bGVtUGxPcG1QczN0SHJGbFJ4bEJheTA1SlFSUFM4ZlA3bi9JZDkvNERvRkFaUnlmLy9nWExlRU1Gc2ZPNWc3dTBSckk2clRDc0xlNUM5bW9hVWdxUmdTU24xSk1RUG9yMHc1SHI0c1I2eDNScU9tQmVIaHc5Q2tMbHNTQklhbjcydE1MZXJBL1pHWHA3VXVoeTdBazgxRjRnSHhxMkx5emg2c3F2S3QwOGhjTDcxaFF2eE92MHdkZFQ2ZjJ0Z0xXWkJBOWJyWTQ4UTFQN0F0Z05qK0RmOW9EdkRVZjErSXdWckJKNTdjU2hFMC9vNHN0Y2JWQ3FrVFRUTm13RS9hMnRyaGhickY2RlBGeXlHT09pT3B2aGhEWFRMVHlTRFFHaUJsU3lVYmFHcHRjcVNDOFlneVZwVHdDdEgxemJGRmxNUlQ3aC81ODZmR3hvdHpacHpMWkwvamFjMjE3dFI0R293WnRDZ05icWc3YXJGY2xoNG1XWkZQUjBIN1ZxZlIxZkJGeERXVC9vNCtlcHprR0dTVkZjU0VsMTRQWXZQNVpITWprRllCc3hsVVozQW9Cck0wNGJ6QW1zMnJQT1o4ZmNiYUVKMGYzK1lNLy9MLzVrei85ZlZaeWdpRWlxR3RRR3NCZ3hqbWp2NWRuUTlQVXhOaDl6dVB5b25IcCtKazh5dWlvQnErdkRLdXU1ZjMzZjBJL3FIMWhyazlETWxPbzYxcEwzQlFnYTh4bk5CUVZhb2twSEVGNkRxeCt1czV3OUFQam1uUXBSWWZXOXMxY1pSRHZ5MnhHMWdQeXMxN0JGWkZ6UFE3anJ2V3I0dkxuUnZUbjN2WWlwRWh0NjhKeUxLQmF0TGxrdlVTMUNUMXY1M1Nwd3pQNTdHUDh2Q09ZTTliMm1wUmxBRTFDWFZmczcreXhidm42NHEwb2kvbnRGVVNncDdtd1BZQzlRR0NXQWpLRzVVSGZwTlhiYnc3bDZjSWlra3RyNnYvdWVjT3hha3d6QVByM1AvMkFiN3oxTGxWdThjeGViR2VmRWRaNHBaYmcySnh1cWhPZVVRT1BHc2VVaHEzWkZqYWFBbVlOenR1Q01vc2VTQSs0cmxoK1NKRjYydERtb0kxZU5YejA4R002UXArUEhYWitEZlRYOHdCcjBNbWVkRVJ4Q0phV1RPS016RDIySC8rRU43ZmU0TWJtdmg2ZndsZWRTSU54ZG4zL2llQ3kxNk50bER1cjk1RXQ0T2xTRm43SXZDckF6UmN5c2V1Zm5GTWo3NXdMR0U1R3dXMVUwTytrd292SDBXQXpLS05CcU1TUm5lTWJOOTZsV1QzRW45Yzg1b21xMFVvb0Q0T3ltajZkWHg3VkZsT3l6bVo0VG55ZUVHUEk1VHAxb3dsWGI1WmhTa1ZHczZVV1kzUlNaWTNWeWxEaHplWit3dlo1WGxrZmRtMFkxR3RjMVJGc01ZTlFPb2kzRlNGSE9oR2lkUWoxNTl6ejYvaWk0eHJJL2pMSEdNeWFyUFV6by9xZ3FyUmY2YjhYMEh5OWN2RTJnTXhKZEtRVU5DdGdLcElFanM4KzVlRGdQdi9pLy9sbi9QaURQeWV3b0RZdzhZNVZYQUNaU2ROdzNyYURkV1JLQ1dOVnV6WkdtTStmQjJMNzRmY1Z3TVVsb045ejFZYU1wY25FMkZGUExXa1ZPQXFIMkZGMnU2b05vWHZGMU55SVB1Q2NLajJJSXJpWG1Pd3JIQnFYbWZ1dTVzdmY2N1ZsKzB5UG1uL3FlNjc4aVMzcjd0L3ZTM2VYWDQza1MwRDU1VEt5dWcyeGxBc2pPVWZ3WloyVVRQRVFaa1Q2RUxyWTBVbGc5b3BBZHAyUmRVT1RuU1R3eGpPYmJBd3cxdlQ2Uk1NaC9XTFljVDFWb0k4MVRyVVhRYWRjK1BEbEUwRUZDT2RMbDlWVmQ0L3BlWkxEZDFRU3p4aERGc01oUjdSMFZGSXpOV1A0OS9MaHJjVmxpOHZDeE5YVVZFeU41VXlXT0R3TkUyYlZGTnVDZDZVNzN4V2pFQk9IT2Z1ekl1ZU1xenc1Q0sxMFJKYzRpSStMM1dzZVBSLzFzaHp2alFXR3BLOW9IUWFyVllTWU1tY3MrRUg2SWJMTTJHMTFVYVN6eEJ5eDNsSzdtaHpLUFNJR2pNcHV1V3lWWmpDNmhpN2tIUzV4WS9zTTRUZ3pLd1hBU1E2YUVNaGc4VGhmVWVFeHZtUVN5MFNORENsSDBrcnRyWjEzVE53R1g5MmFJTTdUZHBIUUJVNW90VE0vQWhPRzYwNE5RL3BjdGQ0ZmVqRzkybjBnaFRxazJXV25SaVNYSGgvOS9rdi91Qy9iSXdXTXB1RitzQy81ZXVsNGpwTkI1WE5uQlVrNkptUnJ5VloxcDlmNW5XdVc3QzlDWEFQWkx6bDAwTGFFRUFaM2xLN3JjSGFtVGx5dTFNd1E3V29XVTByUHBZaG0wbnBKUmFSVVNxTUVaTnAyeFd4VzAzWXJCVjV4aWEvQVdpRzJMY2FEeWMrK0RGSUl4YUxXRHB4TmRVUEtaSllZZjA1aVNSdGJEcDhjOHVHSFArTkhQLzRoNzcvL0U0NlhqOUVuajJva3JpU3FlMDRaSkJkdHExdmVsOVBMWVBJeWRJTGVmMmxja2hlNStEdmo3NVQxRFlLdW9pa0EwMnVQOXN0Z0RYS3N0ZnpzdzU5UzQxbVNpS1gwOWd6ejNKY0xXU09VQzE3d0pSVFlxa2FpOUduVEMzK2VSdnVreXpQRGZrQk1pZWwwU2tpcStScXpBc2ZaYktLYXYvUFYwMXphOGZMemN5WXlaYjBqTEZCZTEwdTRVUDY5L0xrUnFHRFMxSHg2ZE1iV25RMjZvNVplZVRlbmdLRWhTOEpqZ1VCSHdGUHg0NS8raU4vNDltK1I1dW1DOVdXZjdYWFdhVE5ldWNiR240MlZHZnB0akJKeHpoRmpwSFkxWGRmeTlodHZZLzlFT2VTYWs5V21NMWQ1YXQrd1dpNWY3UW93WUJxRGhQN2M2V216R0x5dkNMRnZDT296M3F4bkt2M3J4Y1dONUxQV0EyeTlNYUdiTHpEV2dxampVb3JGN0tUSHliSXVxVjgrNDk1N1Fnd3NaVG1BK24vMS9UL2hILzduL3dCMzdKRWdnK05XMTNYVWRVMWQxNnhXcS9XNWxxY3o4bGFFbUpRZXNsb3NtRzVQZVczN05UNDQvUmpOSWRhOHMvTVd5K01GdTF0ZlJUcTkxdHEyVlprNjd3bmp5ZEd3ZkliblFEYVFSRjMzRm1ISitlS2NPWFBhWWt6YmIxc2ZNdnExcjB5TUp3NVJFckU0RnRRa2Fqdy9hbi9Fd1VjUGVXUDNEZDdZZXd0dlo2eE9sNXllbkxCVDdWQVpsUldUb25zcVdUQjRyUE5rNTVTTG5vc3VSMWFhZ0phNnBWQ3VSakZrRW5PWmNBcU9qTEZhWnBmY0VVVlZGdGJaWUxRTkh3UE9ZWXdhN3FhWXllZkNUS2E4ZS9jYmJNNW4vTVdUTXdJdFRnSjlzYXhxSUN5Z21rd0ljOTBNNTV5ZWoxZXBySXRPSUZNWnE2WjFUVnd0eVRsU05YcC8xYTRmbXpKak42NE1tcEcxZVpSYytCeFJKZzNyeWFRZXgvNytNc2F5YWx0bW0xTzl2bGN0czkxTk9oT3ZHYksvUUhFTlpIOFpZdUFZV1M3YTVxaXpWOTE0Zk4xd2ZQSUk1ek1wSitxSko2ZE83UWp0aUJ0MzZkVk9IQ2tGVmlHeFdpMVlMRmJNNTJjc2x5MGhudk9qOS82VTA3TkhIQnc4NXZIakE5cmNBNGRNWlR4Qld0YmxlK0hLSE5DWFJUTXFiazdqelJpT25zbEZ6U0FQOXI2UnlEZ0wvRVhvaUk0SDBSampNSm5wRzc2ZUYxZGdHYjBPUmw3aTArbVVtQ01wUlZ6dHNNQjhOV2Q1ZG9aa21Qbko4enVQUDZNek9Jc3FTL1FOTjVkZlFhNThYMThUeCtlUDJUQ2JaQmNKZUVLeEpqYkdVRmVldHRQV3BqNDdxY1NaekxJN0o2U1dodXBLOEI5akxMU1Z6dzdiYzRwRkM3bkpGREY5c2R5MHQ3aWZGVmpoTFYxc3lURVI4eGNqZ2k0OXNWUEFlVXR1ZFZLVlk2UXFFRnB6NWNXQUlhT1p4SHhSK3hSOHVidktzU3JOUXdLWVRuK1hwRFBFL200MEZ5NzRQdnA4ckdhZVlEMVp5b1ZTWTRCNVh2RGs3SWc3ZVIrZjF6YWx2VzN0aXg1N0kxcXlkY2JoY0d4UHQ3Q25Cby9Ia05ud00ycFRZWk1waGlYRkJVcFV0Y0RLV20xWlJzdnNyMmtSSVVvbUZuN3M0ZGtoc1V4R0krbmk5VzBZcE15ZStVZ2FnZG91UjA0NVljV2NNK1lzamx2T3c1S3ZicjNHemVrdHRtWmJ0T2N0SWttM1AyV3k2RG13VmdIcHNsdUNkVGlqOUJabklDZE5GRWpLVk0zenk5ZEcxa0RPa09tZEZSRzFaUjFuRE12MG9kQVV0TUhKQnNmTVRyQTVzdXUzdWNNZGxpeHd1Vlg3OGF6RnUvRkVCSXErOENCLzl2a0JuWE9OOHEvRjBNV3N3TjBJTFlIZ01xWXExNUdNeHlVekFIcGowbk5PMW1kRjRZb2J2ZTk3dXBXZ1NnVTRwWllZcTY1b3hoaWF5dU1zcEs0anNNUzhDb2kramk4c3JvSHNMMldzSDE1TjAzQjJkc3pQUC9veC8vUC84ajl4Y3ZxUTQ5VkROdXFhZVhmQ1pqWGxLZ0RidjRhZ0tnUjlZNWNPZ3JHVWhEbzAyeG91ckxPUDdrcCs3Ulh2WGNaS1Z5SzBxNWJ6Nm1VZFc5Wi9XYkI5QUZ6R0VHTkwyeTZKQkV6UGJMU2pzdU1YRUVNbTNqbmxuaG56QXNkQTkwQzVzSDNHNTJKMHNXTzVtcE90TUp0T3FDYWVTZTNwY3FCeW5yVHNudHV3a1oremswWWdPd1YwZmRQRTVWZGo1TXIzclVDMkNiOHB1RzJvbXBwZ1crYnRDUjB0VVZLeDhIVllhNUFjTWFnYVJnaUowL2tKOC9hTUdWT2tjTHo3akxhMUZra0tacjEvbVVlY1pyR005SkpJaHRkZmU0TUhuOXdETEpYVksxMUtKdEZaUjN6VmkyQmRVSUdnd016amNIaGN5UU16ZkVVTC9tbUFvbXJYV1lxOWdBN04vYjRJRUltNHp1R282WUM2ZG9RY2NDNXJFMVQ3MllBem9lbmFKSmxFQklTek1PZmV3U2ZjM052RGlYTGRuZE1zdUlob3crWm5oa1d5d1ZjVlhoeGVIRGUyOTVHSE1saVE3c3kyYVZ5dHpVdFI5U3VNVWJtcG5OT0Z6UFBRZ2I2R3RJZ1JZbGFoTGZIdzZaT0hKQ0toMXl6b3Z6cEt6bDdKVzE0WFR0YXZEdHFzb0s3am5FRGdlSDdLNC9rVDN0aDZnOXV6Mit4TmQyanloQXFIRTBzT2xoeVZScE9pNEp1bUxMNnZBaG1NczlSaVMxVnB6Wlc5Zk93ZzQ2VC9KSmRwWG1rT015QlllaHVBbm9xQW9BWXc1Wm5uSW16VUU4aUJuWHFYMS9kZTUrVG9pSE5hVW1vVjJQZEFOZ0VtazBWWXBTWEdiYXV5eU9lZTBGc0lHWW95UU13WjAxVDR5aE5zeEV3ckZyRlBoRENTRSt5ZmVUMC8raFh1UWRGK0VURVdqS1Z2bHBRQ1ViTng0RHExM1RVV1YwV003UWpwbkRSWWsxL0hseDNYUVBhWElaNEZSSXcrQ0RVTEVQbnc0RDFnQWF5d1hxaHpaQkVQQnNlb0t6Tm5KYmxuTVdpNm9BaFFaMEZFTXhwV3dGeDZtRHdsTUg1RnJEbVBsL2ZuSmZmL1ZXSW8xWTB5bWFQU3JER0dMa1dXWGFGQmFMNlUvSVdrWXlucjB1enJZckVZc29zNldJOUh6MmRzK3pBQzJ3TEF4aHhmWVdOemhtc0VjWm16MVNsZDEyRWJReXV0T2ltNTV5ZGQ4M01HQ1RNTUlzK2hIenpuT0dXVGFHVU9ZbGdLdEt1V0pVc21WYzJDRnVzZ3JJb0VHaEZEeExtS0xnVE80d21IaDQrNXVYdHJXRS9PMnZ6aW5FUDQ3SXoyNVZoM01HdUZ3b3JsamRkZTU4OCtzV1FFcTNwZ0x6SEplSUhvZ1VBR3hIRmpzc2Z1ZEljNk4xVEdzenBmRHRuRmpJSVFNVmZvRFJSK040d0hmTUFsbHFHbDNuU2N0bWZZaWVYZzlJQU1kUEZpTnF2a3VvYWZCOWVzUXF3VmdXVDB2ai9ubkk4UDd2TzkzZS9nWEQwWVNqam5DQ0dRVXFLcXFuV0s4MW1STTQ1S3I5c2s3R3pzNFRCVU5IZ3kyN010bWxSam9pamYwN2lobkMwaUt0Y25GL21qVnV5YUsyNHRTWVJzSWViQXAvRlRJcUtBM1BIMFE2aWMydFRmZXVQUEx0K09CcWgwM1NuQ0tnV0VjejRtY0hSMndzN1pObTl0dnMxV3RjSGVkSmRaczBFOXFTQkJDaGxKNEdxQkJGMEltSlJ4MlZJYmgzZnFrS2pVbUt1ZkFUMXc3eWZoeXFQdGdWamZ2RlJxR2NWQmpPS29oY2s0c1hoUksrWXVDZE5xeHQzdE85dzd1Y2VEZktqYXRBUlYrQlBXamJnaXJMb2xNczBLUkQ5blJsWWRaVE1tSll5MWRIbUY4NTdvSTRmekoxZ1BibUl2UEdONjg0aWVadkJLUFJKUU1ySkNNcWJvQnZ0aFBVNmd0bzVnTzd4UDZneEh4RFF0NTNtRnFUd3hYR2RrZnhIaUdzaiswa2FaaVJPWVREeTNidS9pU1ZTVllSbGFscXNGTVM5ZldNczhENFB0NkUwRDNwYm00U3ZHSytlR3h1SVhpS3N6d2xkMmNGOWN5NHV1NEpuUmw1RkhWZDZ5Rmd2V2t5UGxnVlVPbG4yaGxQRUxoN1VXRXB5ZG5hMjM2UVd0RjN2UXBZTlpBY0ZsSmlJbTgrVDRDZUlpNSswWmYvaW4vNUlQUG5tZlp0TnozcDRqQmlhK2VpNlFmVDRZL0d3ZDErZi9mYVR0RmxUMWhDZ1RUQTFIODQ4NUQyZGFGczBBU1NYZVN0azNTbDhlVHp4NCtJQmYyZitPQWxlUkFVRDFtZGtYMHVFZFFtR2NGYkNrTmJWZy94YWJiQkJvaVNrb1I5UVlraVJTL2dKMGpoTjQzeUFwMHpEaDNhOStrKzk5N2J0czJVMW9oWTE2TnB6ajRaNDJtblZMUm5WZ016cm9hdE1VSThrMW9Xb3NENDhQcUhkckZyTGc0T3d4di9lbnY4K2lteU0xTEx2Vk15c2doaEZUcVJCb2cwUU1qbzdBd2ZsRFZxc1Z1OVVXS1NWQ0NEaTdMdWxyOCtMek03T1NEU25wckZrU1RKcUdEVFpveVV5Wk1Lc21WTWtwaXM0V1hJK2xMbTZ3T252MWV6MTYzN3RpZkpBNG5wL1NFVlN2b09kbDVGRTFacHh4SFY4Nno3OEY2Sk9XT0NHa1JHS3B5aG9zZUh6K21HMTJ1WEcyei83bUxqdlRYVGFhS2ZWR1EyMHE4aXBoamFPbzdpdU5Jd2RTZHJpOHhOdUdwL1BFdmNLQkxYOHpmZ2FPdUJFajZ0UUYwZi95bmxMVUxUWmJDSUwzbGxrelk3ZmVvVmxORUFSRFFGS1oyR1RkNFV4aTNzMlJ6WXpFejJRZlBUTXNtY1k2ZkJheXo4eVhLOXFZT2VuTytNSFJEd2hFVml4S1c5N3dSQjRvTlFLRVYyTElybVhvRXJaTTNBcVFYYmQ0WWxHamlFU2tJeU1ZV3BSVzB2RlhxQTk1SFM4YzEwRDJseTVHV1RveVoyZW4rRHF3WEowUmFiRzVCVnFzRjJ6dVNmUFA0VGdtaGlaT3NlRExVMFJMZkk3VlBHS3dWTDRxWlZ3dDZZWVlYaERFMmtzLzJ5dmUvNnVMSVh2Vmo5aURoYXNTL2xVc2Y5MG9abEE3MCtHSitnVmcyaDV3blo2ZURvMTAzcnpvZ3RmSHJDKzNqUzFpSjVNYU8yM0liZVR3N0RIM2xoL2hsbXExS2FTK2dQWUtXLy81ZDE1ZHFUSXNQSmtKQmt1MjV4Z0h2b2hwcEdVbTU0RHpCb25RQlNrczVjd245ejRpZlRNTmpZZ3hSbkp4T0xLb0NzYkxVUXY2WGRKc3JCWExkRHJsblRlK3h2SEg2dkRsakNOK0JqaDdtZldBbzJGR0pEQmx5dDN0ci9ENjdwdE1ZcVBncGxXQU9yN1FlaUFiTGF3SzNjQm5RNVhWcTk1Sm55MVBHQ3hiWVVZZEo5UlZ3OGZIOTJpN1FNWVIydTZaQ2Y4TGI2OHI5YVNjY1dYNG4zUE93Wk1EYnQrK2dYT081WEtKZDA0blppOFFSdlQraWwzQTFscE5zQmoyTjI1d2YvNkFYWE1MVCttTzc0WCtqUm11YjI4K0c4UTQ1K2lNTm1nZFBIcUVvS0NrdjMrTnJKV2xCakRiYjM2ZkxTK0h2aVFqMXdkb2RPbUxvSUtDVHBzUG83UllPbG84QzFZY3hpZE1qMmRzSDIrd09kMWhaN2JOVnJYQlRYZURLUTMxcEtZeGxaN3JMcFBib0M1a3BocGwyRE5HZk5udS9ybFZqMGdGK2gxaHZkMEtNdldUeXhhd1ZZYktXRkpNcXYyZEREa1l0cHNkZGxlN1BHU0ZvMW8vSjdLQVYxckhlWGRHc3ZtVk9LSkd3S1ZPT1ZyV2d1a3d0YUdOS3g1eXdKS1dTQ1lTNmQzbCtrZHVEMlFqNWhWc1l1VXBJRnUwVzFDQ2p6NmphaW9NaVk1WXRJY3R5VUtTN3FXclB0ZnhWeFBYUVBZLytyaXF6N2lQek4ydjNDYmxjODRXOTRCSWw1WkFvQXZnS3VXZEtmK1ZvWHc0ZmpYT0szOHI2WU1zbHZkanVYL3Jhb3NVaFM0R3V0aTdjbXVoeTlwTEhNdkxnK2J3REJnUGZQMUlZaTY5L3graWhOT0R3alQ4Ymd3WTNBQTJaZGl1L055cS84dEV2K3o1ZkU1S2FRMlVYMmg3Q3gxQ2wxUmUrK1ljNkZwdFNJaTJJOWxJS256bVJLRDJsaTYzRjl5Q1hqNWVjU0RMQ3FTRlNrMG1jcXY0THBWL0RraUNkVVZzUHNQRVFVNXc3L0FlSnljbjFOT0d5V1F5ZE02L1NoZ3hlczZsQnptT2Q5OTlseDkrL0FNQ1FVdm5NZUNkSjZaWEE3U2E5ZkVRREo2YUcvVXRic3h1d1RtY0g1K3phV2E0NkhEWk1LWUw5RUFXSzFncllDdzJxYXRUMVFPK2NtOTFFdG15bTBpcjNPS2pleWMwVE1oMEdBeExubWNEUFlvQlMyVkVWTWtoQTU4OC9JUjNkNzdHeHNiR1FDL3czcS9sOUQ1anNkN1ZMRU1vZkdDSFJPSFdqZHZjbjMvSy91NmVXdEVtSUJ0TWFXUXloYTVnclZYdUlpT3NMVndBbU1ib3hEUEV3UDEwWC9OcDFnNUF0TGR6R0xLcXd3YmIvaVNOTHZGU2daRFI4MUdLYVlrSW1FeENDcWRZTTZ5VlNVUXh0S3hZc09DWVkvenlJYlBsbEUwMitYcjlEcHN5WTFaTm1kVU5NOWZRR0RWWWNNWnB4dmVaYzFwTEwxK2xUc0V5MnRoOHdmRnFvSXowQ2R1U3diZkcwVVl0NlFzWmdyQTEyV1N2M2VmeDZqRzZSeFpMS0R1c203SmlRU1pnek9SejE4UU1HZE1sbkNRTU5jWkcvRXo1eE10SExTMkpjK2FhOVRTSmdRdGI3czB4RmVaVjR1SzU3eWNJdWxjZU5XSW9aMVcxTG96UjdiRkdPU2pYV1BaTGoyc2crd3NYTW5vZFA0a0tRWjljYnJJK2RicitpaFdnZFBQMjlaNlR3eU9zWHhhdVZhWnlEdWNuckxyVmlCSmcxNnU4OUNxeGZ6Q1d1YkFwLzZ4MlZIZWhIOHd2QW1venRFUmZBaGFqRE1kbjczOGZWNE9UOFRkNkxEZk0yTE1PNXV2SE9oZG9GTDJJK21mRnVFejkxR1ovVVVEV0NobGh5Wndva1V3bzRMSjM2Rkk1ZnZMRjhyTCswTHNEZ1F5ZnJaYzkzWml4U25PczkwdzNKcHA5c0pHVVc2Sng2KzU3QXhmQStibzZ2WTd4NVRndXgzN2U0MUIyWVQxOUNBaVpaZ0toZ0ZhTFd1VTZjYVhOQ0tndGRJWkZtdlBvOUNFVE04WFZDcDZjOGRSR2Z4WXZ3K0NlREVVcXJNZ1NEVHpLaXhlaWpPcWtSaXdtV2Q2OC9UWTd6VDdMZG9YTEhrZWdzalV4amErdXp6Z09WMXp2RmtwTEYzZ3F2ckwvR3EvdnYwNFRhMUtYMk56WkpwMG5yRm0zZk9WeW5zUms3YWd1WjkxYXErMVJ4dUF6T0JHTWVGSjd4czcyRmgwZHg4dGpEbzRQU0dUMEtvc1h0bTNkczcyK2xxNDgvMFlkL0VJSy9KeVBPRFJIVEtvR2pPREZNYUVoSkQzbXhwbVNlUmVWaTZJdmxGdkVXRnhseVl1T3lxcHFRZFU2N3RRM21kQ3czK3dqU1cxN1U3R0xOcUtsYmNvKzIySmpuWXdsRzRWY2lDbThXU0ZMSUpnbGMrWXNXTkVTU1lwT2h2bnFHUDVkcUFvTmo2OUwvUC8rTTlHajlkUjExRjhISGtKVXViT3FWSElpaVk2T0ZTdk9XSERXTGFtb2FJSm5ZekZoajIzMnB6dnN6YmJaYkRhb1RJWExUczBVeEdGeUtaRmhzTm1qbkU3elRJcFlMeDgyQnJEajEyUXpLV2U4cVRCWVFuSnMxQnZzTkZ2NGxTTmcwUFNFME1zWENJazVIYXRLcUR1dDdLMmRCTmZaNDF4US8zamJUSkVncytVZXpONlNwVlBRbmpKSXdrcEN6WUJYcWhSVGhUVnFMU2RMTW1QRnRSZUtBZGlQdHVmeXVMQytsL3Y4dGlYYVJDempvS3NzMllKbzErZUxyL3c2L2tyakdzaCtxWkdMeUhqQys1Sk5rb2ozTTJJYmxXODI3dnlYRVdBWjIrZjFBdnE1ZkVsRXRmQkllR2V3MWhVL2E2Y0RUQ21UcnpIalMyU3g1UEtQVjJkTlJmTFQ5L2xWR1BXRk1uclAvazR2TjJTTURsNHVneGZJU2JOVnFpV3BnS2JYRHpWWmhxZWdsQWR0UDNqM3VyUzlEdVZxMVZMWE5ZdkZDb05UZWdZT01mbUNQL3ZuRGdjaGRHeHZiTE9hdDd6MzBZLzQ5cHUvUmtXTHQ0MUtEbVVRb3p6UVpJVnMwaUNoWXlSaHhCZXBzTkZEV1ZSZTUvUjh5V1JyZ3BqTTd2NE5Fb21ZNTB4bmhqYXNnRVkzUXJSUXAyWVo4UUtnblc1VXJNN1U3V2ZtRERIcGNhenNoUE1jUitmNTRpRHdXYUdtbWhVcVBKUXdSR2JUaHVXaVZZM1RwRlFPanlGMkVZc25FVGx2TTdEQUlQemV2L2tYL0EvLy9mOUlYQzJaMmcxOFZSUGF5R0k1WjN0L2s3TndSbmJxYjA4MkJSUlUrT3l3MmFvaEE2RGF0YWJzUllJTU5ua2FNeU4xa2QvNTliL0x2L3l6MytOeGVzU0VEU1NBVlFYUGtxSEpHS2NXb1RubmkwMU9vK3RlclVSMU1LL0VzYzBtR1dHWFhiNzd0Vyt6UGQzbS9KR0tkWWFjRVp1SFJZa283MWxJNUFMUW5mU05tcGJPV0xBV2d5bjNRVWE4ME5TT2crTURXbmRLWU1tQ09lM0VRRnFOYXVwNi9hL1BYTDc0ak9qbnF3S1p5Q3BGSEk0SEpQNmkvZmRNcWRqZjJvR2p6T2JXRmdkSForeTljWlB6Y0FZbVVrdEg3MjZWeEpPdEo0dGxtZVpNZHhwT0Y2YzA5WlR0dUkzdEhEZlk1TTM2cTdqVWtLMGxWZ0psMG1WeUlndUVsSEVpQ25TdEllSElvdVlLVmhLWWp0UHVqUHB1eFovLytWOXd3aGxNSGF2VnFkNTZvcnNmaDNTbEIxTllrZjErTzRIWTRiMCs1MkxTTXJpdGFuTFhsZnR2TkRjZlA5dDY0ekJSMm9FdFY1b3l0aXphR3BhaFNJMDVNalhnbDBLMXROUllYck5mWWJmYTV1YnNCbnZUbTJ6N2JXcHBrQTVTcDdRdUswV0N6dVMxUm0vUnYrNmRFL3RtdUlFMVlmUnViVW5rV2lzamVabncxbEk3UnhNOEhzdUNSRzRNTWVvNDQ1eEE2UGlVRXg3N2puMmJxTDBsQjVVWTg3NGloVWhJaVdaYTAwbEhOcm5RMVRUcmJyTEZaSStJNHpBbE5uZjJtTGVuV0wrQjd6S3NPbDVubjNzOEpGdVk5MG1Id2dGeFFaOWFQZDJ0dlRCRXV2NEpyaHp0MUUrYjFoemJuaWFTeWllSTNzazlsYUEvZFFuSXJ0eC94WlF0SlNCSWVTcVprcW05YnZqNnN1TWF5UDVDeEtYTURoUXcwR2ZnOGlqalZqZzhvdDhmTXBIbGMrMWF6ME5IK2VXWitJV0N6SkQwL1hKS3kxL0VNc2FKMVY2T3haV2ZEZXVNQkdnMjZ6SlBiTDMrejFrZ2U5VkplVm4xY2puSFVQSEpnNC80enRkL0ZWSW01WUNUQ2lzZXBQZ3JTVS91Ni8rNGw5eTVXRXJzTTB0Ym16c0VPcGFMbG5lLzhTMysyYit5Vk02eFhDMHVtSWM5YXpkTUJjdXpnTW13T2Fud3lVTUt5cEhPaHBySmlLUFdaL0g2Sm9xaWRuRmhEZXYwaDhYajhmUk9ZeFpvbDZvT2tWTGZaTEgrOW9YMXVJemt5R2s4NXNPSFArWHJkOTVsY1RKbjAybG1aM082U2V5MHl6b2JQVDVhSlJqNTJ3ODdLVnJKTUdaMG41VHU5dzVtelFadjNIaWRkMS8vRm1jZm50R1dUTkZPczh0UmUxZ21SUWFSdUo1SWVMQzFJeTh2em5hRzYxSDB4RWNDTyt6eWpidGZaNnZlSUxXSjJsVlUwMUtlTHhsdks1Qks5M1pHQWEwaFkzTEdHU2s0VTRya21TbTNlY0ladzNsN3ltU3o1dU1QUGlUMldTNEpsOGloL1ZtNjRsNTg2dUxRY3h0Tkprcmk0OVU5dnNjMzJBZzFlOVUrWVJHWU5SdWsySGZLTTNBMUJza2s4V1NEWmt4RmVjNFZGVlhyMkxIYjNPRVdHMlkybE80ellFeGVaeFJIeDlNYUJmTHFsV1VSazhyak0yRmM0c241TWNmNW1KWkFFalV6Y1drdFdyQytKQTFyUGU1eW5mVTJ1Rm16dlNKZ2tzT1ppaTRMbFRFTWJablBtcmcvSTVJeFN2V3hBVXdpU3FiTmhaS0EvanZMY3ladHcyNjd3OWJSTm52c2NYTjJnMXZiZDlqYnZnSG40TElVcHl2SVdRWXdLejNYZjN6bVJ0bEhNWnJVMEY4czNpZ1FkT0tveEl5UGFSbnhBQUFnQUVsRVFWUjRxSEhnWDdneVlWNlNPQXB6TnRnZzVaSWV4U2xRTmFqY1diOGRwbmNSdEZwZHdXTEVrZkdZeHRHS0pSbDlGbFE1czEzTjJEWXpQcEZVbEZ0R3UxRnVwNzRKYTVrdlo5UDdpYUs2dnpYNFVqVEs1Vzl5T2RQYXl0YmgwU2NSQmN6cVBhYktzYkJLZWRUT1pjcmtHMnFVaXFFT2NkZnhaY2Mxa0wyTzYvaVN3MVdPR0FJYlpzclBmdllCK2JkVjZpV21oRFhWa0NkYmo0dVdGMEhRUnRSSzh2ajhCRmM1YnQyNHc5M3R1OXcvL2Zrd1JWTG5lQmhvQlplb3lWUHZXYXlpcnJIMWRKSnhOR3l6elJuTG9ubmF4M3FiZWlEN3ZHcTdNa1FyRWhHUFpXTTI0OGxDM2VDY1UycEJ2cXBhTUV6QWhBVUxmdkNUditTdHUyOXJSM3JxTUdKcG1vYlQrU211OWtndUV6d1JUQzZpUFdadFNObFBCeTUzaHFzRnIxWTlkcmYzK09iWHY4blIyU0UvT2Z3eEZZVW1oeVZib1drYXhBb2h0dVNRSUVGZUpqYTJab1FRaUcxRUNwL09Tai9nV2h5V043YmY0SnZ2dk12VVQxbWN6S21sb1hJMW9lMUt4dTNaUjNBOWtiWFlVbEtYRWVBdzNqRlBDMkpqK01uRG43RWk0SXpWRHZRdnlKam80T0NBczF0enR2TVdmbHF6ZUxLZ21VM3BVbHF2b3hBOSsweWdLWlB6bkhWQzB2TnFZNHpNdGpiNXF2MHFkVlgxcmZMUGlSNThYZ3d4U3I4dzNuRHcrSUFGNS9wQm9VTDF3aU1PaXNrRVpaYVIxK2xWVVU1c2hhWEpocHFLZ0dCd21PaHBxRWlTUDM5R1R0UmlRbEtwZ0pnMU56NEl4S3dnTWdBcmpqaGt3UU9lc0xzNDVEVVd2TGtaZU4zZnhjYjEvdmRHS2kvU2hOUWJSNmliSERxUks5UXg0OWFXMXptUEtVZDl4akp5ZEhyRWEvV3ROVGlXNGtwV21pL1hYUCtubFdla1RNb3E3MG14d3lNNDR6QXhNNXR1c0xkMUEzZjZvVjQrMG5NSjlLK1RnMlVDNzZEVDJiTE9SVk11bkdkWEREVk1nZGEyY0xESDNSZWFlKzAxSVJUNnltaExsY0F5UmU5VU1JUlN0ZkY0SXBHT3JueDJuWkg5c3VNYXlGN0hkWHpKSVFWVmlBaWZIaDV3ZEhMSTN0M2JoSGxYZUg5OVJyMDB1NGp5MHFBdlZHcjBSZ05HN0FBcFY4c2xzWTNjMkwvQjRlSWgvOG0zZjVPSC8rb1RvR0xhVkp5M0MzMFVteEV0UVpFR0NDek9JNDMxTkdaS2pKbHQ5dmliZisxdjhmYWI3L0RreVFtempVM0cvT2pMVWp4OTg5VlZZTXlnc21hcnZDSTY5VWY2M2QvL3A2enlvdVJGS0ZuZE1jRE1GMGlOZ1JYdmZmd1REazRlY252akxtRWVtUGtOcFNLSTFSMkxOY25HNGdRMUdxck0xZE9CdnBFa0dhaHNSYmRxUVF5M2QyN3gzVzk5ai96RHpFK1BQNkNMZ1FrTnJYUzB5N1lzYTExbnRzNHdQMWtNYjJsUGZnOFFEQTBOKzl6aW5kZmU0ZTdlVnlBSWJSdG92TUVhUXdoNVpORjVkV1JVWGNFVkFOc0Rkb0JzTThGbFpPSzVkM3lQSjV6UUZvZWk0UnkvU2doZ0RQTTg1K0dUQTE2N2NZYzJCNExOZUNma0hNZCtCWmZKaUhxc2pTSEdoSzlycGM2a1JHVWRkMi9kWG45SDFsTzNucHM5UG0rcS9idk90dVZpWFJwY0psZHdjUHlvd0JLbGJvRUNmRUs2QUxIU3VEcFZKZ0lPd1FNM3FoMzJOdll3QzRzRXZSOEVpMVNYV2RZdkhwM3YrR2orSVhPaUNqTm9Vbk9RaHhZTG5kWDhkNHJDS3JmVVpCWTg1bXpSY3JRNDVmYnRmZXJrQm5XVmx3dUxFNE9VcXpLUjFBYmJpZktSeTMrUzhqQWhVWHFXSUFTT1RwL0FIYkRHa0pOQm9oUytyY05hcFV0a2tlSStkam42S2t3a3hSYVZISFowN1pKNk91WG01bTEyVHZkWmNJSVJuZXpnRXYyREwwcHBHUUNkeXhoVnNiQlJ1ZUl6YW03VnQzam50YStwa2tkMktrOG5TaVhvbjFOaTR3V3Q3UDc1WUlxVDJISzV4RldXYURLZEJLUXlSQmM1T0Q3a2svbkh0SFF2ZWN5djQ2OGlyb0hzZFZ6SGx4a0NPYWdNVEtERDB2S3pqMzdHTzEvNUpxWlNrSnRMOWk2TGx2NFlRQzF3b2JCVjJuWDZnVjBNS1dkMk4zWncyV0dqNXplKzg1djg1Vi84V3g0dVBzUjBhUUJzNDd4Q1A1NzNBR0xtTjJuYmpHUENiMzczdC9udHYvNTMyZDI2U2Z0YXgzTFpYdXlPTGdQQndNVkxWd1BjUHFyR0UxM2dYTTc0MmFQM3NOYVJFeXA2WDVUUWtvRHAvZVA3N2V1cE5XUU9lY3lQUC9vaGQzNzlqdXB5ZXNQNTRUblRxZnFqOTluS05BTGJmYlBjSUJoL2VSdkxZR2N0Mk9RSXE0QnZLdDY1OHphVnJhaC9XUEdqd3gvUkVqVVRXZ3FYVmUyMUVTb0VRZ3hEUXJKeGpkSkY2SzFsSFJObS9OYjNmb3UzYnI3TnpNMElJWUx6T0ZSeXladTFPUHRWeWhLNnVZNk1wUkl3U1hDaURuekpLdU8xTllFOHRmemczNzFQaDBvVjVaeXgzcENqdkRJMXhqb2dadTQvZXNDdjNma2U1L056Nm1aR0p3RnNUM2ZSa3lrbWpTWVB1VEJrTkc5bWpDTm4zZGVjWVdOakMwa3lrcG1DTlJsN2ZjNnVQQzRHZ3NsRUt5eGl5ekduWkRMT21NSG9vSjlnOWVmSGxTVW1MRVVtQVFjME9DWjRibTdlNE4zYlgyY3piK0hhbXFsc1VlSElzWDFoVHZqbFdOUXRZWDdDUTFvNkloMldLRm0zY2RSekZpVVJmWUpVMFNiQmtWZ1E2QWdzMG9wSnJOUVJzR1JqeHcycXp3TzNPdWwxYW01bDE3UFliRlNRS3BXcFpCNWw3ME1PZUJ4QzRqU2ZFQ1dSbmNGNFIrNlNhZ0tiWE9RWlBWa1NJcmJRWWlnVWt6eWN0NXhVUU1zWk5ZcklJZU02eTA2OXgxdlRkemhjL3BnYWFGTUxOaFlnMjJsN1NKOWV6VUNBcHFxUm1KaFFzY01HMzloL205djJwcG8rU0kwMURpdkZDNjhvRDFoYXNvbWszdFZMOUQ3MlJaTjVzdW5BSkRvSkJCK0lHM0NjRjV5ZnJjcHorVHArRWVJYXlGN0hkWHlaVVpDWmQ1NmN0SkhuL1orK3gxLzc3dCtnOGR1YWljQ09xSXhqV2tGR203cmlrUFc3c0doUndEU2RUSG4wNklEcDVwVE56YnY4emQvOEhmN3hIM3hLa3BLTkxZdHpsM0NOd1RJMUd3WEVOdHh5ZC9uMjEzOFZMeHM4K1BsaktsTXhhUnA2QlFBWVp6VDBIWlBscVU3cFBzUUt4OGRIK0EzSGFYZktoKzkvT0toZ21McmdpVDZSSnV0R0ROTnpGZEdzWTVkYmZ2aXpmODgzMy9vV042cmJKSnRvUTh2MnhqWXg5cDd3MElQK3Z1dTlWd0xwSndEWnJKdEJBR3kyaUJGcTIyQ3d4QkNZMURQZXV2MFd0VlRzSDl6aysrLy9HK2FjRTJnQndYWkZ4Z2psZkhycWt0V0tDSTRHeDZiZDVvMnZ2c21iKzIveTdtdnZNb2tUNGp4QmhFb3EzYXlVQzYyMFA1NE1tZk14Y0pMQzhUTVpuQ1JjVnA2cnFsTWtscWJseWRrWjc1MzhuSXdyQmdwUnRXQmZ4SDd2TTBKRXNEZ2VoUU9PVnFkWXFYRDFsQnhWcnNuMEdmUnkzYTZMdHpKY0kyUFp0S3JTWmlGbkxDRUdsY29xY1ZVQ3VUOFN2YnVYVUp5YXJCQmM1dURzTVdlY2x3bkxtam9Ra3d5RFh6ODVNcXk1M1gxWjNaVXBuZ3VHVFRQamh0M0hKcyswMjhDTEo4UUZmRTZXcEUrV042ZDN5Y3VXUTQ2Vkk1Nk5HbTE0MW5Yd0hxd1ZPK2lpaEtpMGc3dzJBWGxSL2Q0TDI0QXJlOXhQRGxRVkloQ0xIZkdsS0o2MEdXSEJuTlBWQ1R1VGJSbzNJVHNoaTZwVFpERWpjTEhPZ0Y2c3pHUlM2cWljNnVtWkRDNVhzSUxhTnJ5Kyt5WWZMWjhRT0VLd2RDR1VyS3dCb3ZLWHk3RXhHV3hycWZCTXFibkxiZDZZM0dFamJWREZCcGNxVlg0WVV0NFdROFN4UUNRU2pTZFl6YitiN0tpVHhXZXc4NVljVzV4TjFKczFDeE5ZdGd1T1QwL0hoYUhyK0pMakdzaGV4M1Y4bVZFMFUyTU9lQ3lSeU1mM1ArU1RoNS93OWE5K2srVEE1S2lKaUpIWCtGQWFlK3BSbWtjTHRqaGpXWjYxMk95UUZuQ1diNzMxSGM2ZS9KZDgvMGQveklHMDJLY0dMSXVod3VESlV1R3AyT1VtZi90di9GM2Uvc3JYOFdhQ21kVFV2aVoxWVdRWFNlR2cyaEdRTGE4eTVxR1dMWmZNL3V3R2J0Tnc4dmlRQi9jT3lrTFdBaHdEWjdlTXRlTmxaREp0WHRIWUNSK2QvWngvL2NNLzQrLzl4dDluRlpmWVJrdWxhalZad0NCR203NUtzeFJHMW8yUm94Z01RUUNUTkxQbDhTcEZseE5OMWZENi91dnM3ZXl6djcvUGcwZWY4Tk1QZjg1eFBpem5JMU5SVTFQUm9jMXJmUWIyMXNZdDNuenpiYjd4enRmNDZ2NGJkQThETmxqTmppYWdCLzRpbUd5dzVtS0R6dVh6cEs1ZTJyYWtGSU5JTWtJMmtXd2puWTE4LzBkL3ppa0xBcUVBRmJBeDA2dFF2UXFXbFZ5Y25tajUrUEVuN043ZFp4RVdOTlZNbFRSR1JPbU0xY2FzWVlVeU9JQ2xsRUJnWXpJbGhLQnlZbWF0SGpCazRpK3YzOWpodnVnYjZaTEpSSnRwZmViand3ZTBSQnhXK2RZR2V2MVBjMkZiUnNzMzZ3U3dHRU9Xek9KOFNYZWVGS2dkR2ZKQ3MrdlZ6b1lxWW55T3FNVHl6dTdieE5pUmczREdBa05FQ0xSUjdiK3BiUUd6Um9telJYR2xRaHVadkxHRFFzR2dkZjNDSEZsdGpqT2lEVXRpaEdoU3lmV0d0WjlXZi9ETFRaNUxwallTK2ZUNFUzYjJkdG1kZUd4bHlFbElaUnRsY0IxTTYwbFlXY0l3R1RNWjR5MjVhRExQbWhsZENPUjU0c2JXRFg1bCsxdE16Ky96WWI3SE9VdHlDdVJreWJUSVFEcXlOSGdxSER0czhocTMrZHIybSt5a0xlekNVa2VMUzMwVFh4R0RNMHFyOEVDMmhtekJXS3NOYU9Jd3dlTVRiTGtKS2MxSnJpYTd6RElkTTUrZmxSeDZmdFY1NEhWOFFYRU5aSy9qT3I2czZMbC9GaVFLZFYwUnU4aFJmTVRESi9kNDY0MjNNQmFjV0xJcDVneXlIcmdWSVBSSUwxOGhuSjd4dnViNDBTRnZ2UFU2SHovNE9aTm15bmE5eTMvejkvOGhyakw4OHovL0oyUmErbEdxbDRZeXFrcUtvMkdQRy96dDMvbzcvTWIzL2daaG5saTFjemFubStSTzhGTHBwb3pBb2k1SEh5MjVwSHZYRGtOOXI3akJHS0ZyTzR5RDQrTVQ3aDNkMCswd2hxYXBhT1BJZVdxMGIwUDJGNlZGdUlrbExnSS9lUDh2K1Z0Ly9YY2dHRFkzZHRUaHk2alZyTXRlQytzV3N1a3pzMld4bzJhVmNSZ1VGTVJWSXR1TXR3N0psaHdUM25wMjZ4MW1yMzJiZCs2OHpXOTgvVGM1WDV4eGRuN0N5ZGtaODhVWmJkZXA1ZXBreXY3dURmWjM5OWplMk1aYVQyZ0RUejU4d2l4dk1uR08ybG50L2dhY1ZWcEJiekJnSlpOdEhyaUdJbGJMczhOV3Jva2hLblVVeVRiUitVam5PMzc0NkNkMEpDS0J5YlJtdFd5MWljbFlsaThqdmZlTWlDV0RkKy9rQWQvNytxOHhQNXd6bVUyZ0JaRmNzdlI5SnEvWFBPMlZXRFFqRzBMQUdFTmQxM1JkdDdhNGZZNDlvSmhTVFREbEtJaVFEQ1FieTc1SEh1WEhCRVlTYTZLdWhNa0k0anc1eHVIU3l2MjEwQU52MGU1N3RlUk41R1NvL1pScFBXTXJiZUd0NXlUTitid3NXUk05ZDNmdWNuSnl4Rm1ZbzVBc0lMUVlFbDBRYlJ3MGFqSWhRWDJuUEpZSkZkdE04RlpwQlQyUUhWd0l5Ny9Qc21uV1RMWkI5elFRVFVELzZ3cVE3Vk9wcko4dFJSSW01c0FqSG5NM25yRmh0Nmk4SjVQS3ZhNTgyYWRyN3ozZnZWUlhuR0M5SllZV2F5eXpla0szVE1nOE1KMDFmT2Z1Ti9FSEZlRzQ0d2xQNkZnTjBtV2FGL1pVTkVYbHdiUFBIbC9iK2hwdmJuNkZldW1wUTQzTFRoM1J4Sk9Nb1JkQ004WlRpeSszZlkxSWhiRVZSbXFjS2ZhMENYSnlXQWtrRWViTE13N09IbkhJY1RsQzExRDJGeUd1Z2V5WEhQM011WC9nYUlrdGtiUEIyTDdrSTF6VU4yVVlkSE54bERHNUxFdGdMTCtWVGNZTUZxdHlZWjIvSEZHT3pQZ0JmdmwzV1IrLzRkakp4V1BiNjhZT3IyVVp4aXJQVkVSd09FTC9GMTlFc3d5UUkyeHVUVGsvWGJMcWxteFZPM1FoOFVkLytnZDg4OTFmd1ljSmQyKy9UbmVlbUo4dTJOMjZRZXBnY2I1a1kydUdTQVJUbWpKQXM0dzU2WWdzanE3cjJON2U1dVRvbE0zcEZyRU5PQnE2ODQ2Ly9WdC9uMjkrNzFkNS82TVBlTys5OS9qMDRVTTZXaW9hZG1kNzdHN3Q4cjF2Zlk4N3QrNXllL2N1bFhoQ1RqaG5TVUY1Y0ZLdVB6MjJCaU9GcDllblh6Sk1KeE5XcXdXU0FrM1RzRnd1aVRHd2YydWYwSFlzMDV3LytLTS9KQkhacUtkMFlVNTczcTNCNjdyeWVmSFlVYzVCcGVmcEtCL3lmL3p1UCtJZi9KMy9qbHU3dHpuODhKQTcyMTloZGRZU2dxN2JXdDMyNkFKMTQ4bWhUMjJ2ejcwTTE0ZUdkOW9MTFRrVmJwK0RyRzUzM2xaTWpXUHFaK3h1NzhOMlAvajNOQWdOSTFacEZxM1NBQnFaWUp6Rmk5VXFLVm1QbVZHMWhpaHh2SmNYYkpMNzZ4V2dDNUhHS2k4NkZxUE43QktkNzJoZHh6LzdsLzhjWjYzYTZwck1xcDFyQmk5bjRoY0FZdnZuamNQellmY0pQMzM0YzM3bDdyZFluYStZdWhwaUhqS2JJcHJKRXhGY1hpdDdka2x3cmtKRVdNNVh5amZPWlJKMFFTOXFuU250YlFGU1Z1NXIxN1ZzYkc1eTFwNnlTaTNWYnMzSEQzL0tFZWNFTWkzdGNDeFRFYmVQS1Q3N0hyYmxGcW9zY1NXY3NlTEovSlN2YkVZYUVVSVh0V0hNYWFiNTg0UVZSenJwZUdmM2E5ell1TXRIeC9mNGFmZ1l3emsxRWNIUTBsR0p3d1UxU2ZWQWplTTFmNGUzTnQ5Z1l1dTFRc0FvUGd2QTlpR2lTaEdtZ1ZWcWFXN1VuT2JFaDJjZm83clo1VDRZelNleVFDc3REamppa0NmdFkvYmNIakFsZDRtSm1UQnRhaVJkbkd6Wm9nSlJscUpVRUFlcnRNUTdEMkpZdGgyVmFkaHVHdUk4UXhkNGEzS2JHM2MzZWJSOHhNT1QreHp4aEk2NThwbVpNV1dURzlVMnQyYjczR3oyMkRFenBxRm1raXBNejdNZWVMb1dUQ0pic0VTdEtCaktCR2dOcy92Zk8wa2tINGt1Y0pZV1BPNk9PT0ZNclRWY2VnRlZqZXY0RHhIWFFQWTZydU5MamxTeVFxRGFzWW5Nay9OSGZQOEgvNXIvK3IvNGIvbjAzaWZNNmgxMmIrd3lQenJGVXJPM3Q4ZHlOY2RZUzYvRGFxUmtHWXN1S3FQU0xQU2xSSWZnSUhza3dWdDN2ODMrN2h2OCtyZCtCMi9kd0ZjMG9ycVo4K05UTm1kYlROd1VJbGp2Q2lncmcrZW9SSWlZVXVxbEFENUxra2cwQWZHWk5nV2NjY3gyWml5WGN4NGVQV0JqcCtFSC8vN2ZjZG9kSWlUbTNYTE5DK3pqTStaZGk4VVNzcnBqUFR6L2xMLzg0TTh4YnhsdTd0L2gwZUVCMjgwTzI5TnR1dGpTaFlEeDRMMVhlYlB4YW93aGt3ZGFCRnprOUluMHgxT1B0eGp0aE83ZHRucVp0SUdEUzI5cFdwUUtzdWw3WGRaTlRBV29hWFpTaXVLRURIOC9ITnRSMk1JNXpVQmxvS29jNm9DMklwbEE4b0dqY01MOTA4Y2N4Mk1XekFIVkt0WDlaR1QvOElwaElFdG16b0lKVSs2ZFBPRHRyN3hESlZBbFV5VEJiS0U2OTdCRzdVWUhkN2dyZ09DYU92UHMwQXlxQTJPVTg1dUNyc1ZuenNLQ3gvTkRPbElwa3FkK2M0dTlyQjFkdTZ3blMrT0RZcUNOYXNReHArTjRkY2I1ZE1YMmRBOGJIRzNiS1ErOU42Zmg1VjRsVzlyamlOdW91Ykd4d2RacnU5eHVYK2ZSMldPZXJFNVlwZ1dQZUl6SDBlQnBzR3d5WlcreXhjMmRmVzQwTi9EelZ6eUwxbUs4WXhIT1NVMG1tY2hSZTFxeTdHRjBmaTVlZzRMbWNGc0NuM1lQMlY1czgvclc2MVJNNmVZZEpnbXp1aUdIa3ZWbFZQa1lOTkwxTEdhakRtTTJ1ZUVJV2JINHBKenBLVFZiVmNOZTFmRDZ4aDRkSzhRbDhCWHpsY0dhaGtuMlRLaVlKRS9kR1V3MDVCaXBURk8yVjJrbFlvdkxuNEZNSkl4dVF5a1Q4dVJVOFNTWWpLUU9ONE13Z1ZNNTUxSDdtTWNjS21YSWk4NDZmNW55UXYrUnhqV1F2WTdyK0RKRG9GMFZ4eUlNVWRTbWRja1pmL2I5UCtZLy9ldS9SU3VCbWQ4a3lJbzJMZG1zSzV3WFFnaFVqZkpSRGVvSERtV1lMT0JLUm9PR2lDMEF5Z0lPa3gwbkQ1ZDBHYXlkNE91S3FxcEFNakZHSkVWdWJOM0JBR0Vaa1pod3h1T3RabjFqaXFyM1dpZ09VckpBdmNzUVpOekUwS2FWbGhDbmxtVTZKNXNLT3hPaXJIaThQT2FQLytJUE9lRUpsYkdjUzFBdzBSTTROWWwzWWJEb2Z4U2pxZ0s1b0xJa2ljUDJNZDkvLzk4d2JXYmMrdTV0bUF2UlJOcThJa202YUVGckZNRU1KaE45dzB2Um1IMWFhYUVNNndWSUltakpza1FQbHRKQTlYQnJibkNSQWxPWnJMWHhRdVppNmJ3ZlREWGIvSFMyeDR5T2hUVlFPWS9rU0p0V1JOTlJ6U3dybTdqLzRDSGYvL2dIbkhCQzI0TllVektpK1l2ekl1b1RmNTFFS3VERHcwLzQxWERLbnQwZ2RTMWVKaU5URWx2MlR5MTBuN2xNV2NPYzhiZGs5RHJlZm1zZEdFc09FZXZVOXZab2Vjajk4OGUwNU5MZ2xnY1N4bkRFeDJDMjM4WkxZRmF2NGt4TDRrSDNpTmRXVDdpeGM0Tm1vMkcxT3FlaHdnL1owSmQ5aFZtMXFlNVRDMHRkTzI1WE5UdjcyM3dsTEZuR0pUdTdXNlFVVkNwTUNpOFdxd1lOUzArVm41NEV2R2dvTlNOaEtzY3lyREFUTldCNGNIeWZ0cEFMaWgzRTZJL1cyeDVMcHZ0VFBtVjZNbVZ2ZTQvWmRFWllKbFpkcEw0RUx6NExjcWRlb0VJeUx1dDlGdVlyeEdhTVN6VE9VUG1HN0NvZ2thWGlack5EeWg0Yk15WmtmQWN1aWFvT3NMNW1rczNsSHlRclJha2xLeEJGczdYWkdMS0ordnp6RnBISXlxeW9ONFNsWDNELzlESDN1NGVzV0lHUDRBMmxSSGNkWDNKY0E5bnJ1STR2T1pSS1pwUXJGa1BwcTNBOG5EL2dkMy92LytMdi9mWi94V1RUYy96cEV6Wm51MHlxaXRQVFk2eVVETjVUY2dWbDJKWmU5bnNFWmcyRmxLc05ZN2QyYnRPR1RBZ0JVc1prd2VKVm5OdzJtSlNJTVpLQ05qb1pCOWw3a0lGcGh2SWRuWmJ1eEE3MnVRQ1RTY1BKMlRGTjQvQ041ZVJreVdKNXp0YldsTWx1eGZlLy82YzhTQi9UVWJKcHZZdFFZSjBJeXJZSWtFR2YrZXozV2VXNnRIdloxNWEyYmZsay9oRS92dmREYnQrOHpUZnVmSlAyOFpMRllzN0VUVEhla0ZNbXBxQ2cvWmxsNFZ5eU5oY05DUzRjYXJFWHNyZTlHTStnNGl1WHFBVUZ3UGJlOUZJYXVYcFh0bXlrckt1M1RiN0lKN3k4RlVZc2xiUE1sK2UwZVlYZk5NZ0VIczJQK2VESmgveDg4U0dSb0dEWmxMYXVweXZGcnh4S2Fjbk1aUVVjOCtucEFYdWJieU9ycEVvQVpRSWxwczgxOXpPVXF6T3hjdW4zQytzWnI5ZFlzcXpkekZJTTJNcGdLOGZKeVRtSEhCSEtFUmdMQUZ6Z1JZOTU1ZU1KMDNqekt0WDBQZVNZVDA3dmMzZnpGblh0NlpxQWMyYjBCeS8vT3ZOYnRLRmpPVjhTNWhFYVE5MDBUSHlOTkR1WURuSk1HRWw0REpXcGNCbHlqS1JPTU9aVmh2Qk1sd0wxeEN0NG5GcE93em4zNXcvcENNU2hJZ0JyRzJ2OXUwS0FJNU5ac3VEVGNKL2JwemVaN1d4UU53NkpobFZZVVJtN3ZoOUtxT3lYVHNUV2phSldiWmR0SGpSY2pjQ2tyc2s1a3BKeXJZM1VwSlJKRXNsSkVKK1VzcE9OUHJ1eVZwV2N0WGh2dFpIT2FCWTJXNzJ2eEt5dG45TWdkTnpmNTNuSTNrWWJvTW1jdWdVSHF3TStPdnVFeHh3UkNEeGpwbnNkWDFKY0E5bnJ1STR2TWF6MjBBK0M1aEgxc0hmZUVHUGdUNzcvLy9HMU45NWg5MWQyMmRpdXFjVVN3cElVSW5XdFpUTWpkaWdicnlXbHBMZ2JLZEFzNytoWEFJeHkxazRPajdCV05TaFYrMUZKbWxrU0lVWW1WWTBYZzNNZTZ5cmx3MmJCV25DdUl1VTRQTk43NmFvZUpBa1FVamNvM25TeEJSZVpURHlkTFBuazBVZjgyWS8vbUpZRmlVUW5xZzlKWmFCVEJ5WEp5disxNDVMc0NOaWxzTzZNRDZJZ3VFc3Q3eDM4aVB4dk01di8yUlpielE0enY0bDB3di9mM3BzK3lYR2s2WjAvUHlJeXN3NmNCRUUyaitad3VqVXozVHV6a2tZbWpUUXlqVVltN1lmOXNMYi8zbjVmcy8wRDF0Wmtra3dteVNTWnVudlV6V2xPczVzM1FSQkhBWVZDWFhsRmhMdS8rOEhkSXlLenNnQVFBQW15RVErc0VIbEdSbmg0dUQvK0hzL3J2RU9aV0lmZE9VY2hwaU9qdlhrcFNuRkYyMmh2R2RBTExlamJEUHZwUXJUYnpyS2JqejBGa0tnb1FCK1VwT1NzbkFjdTdSWXlJVTZ4dHRrS3V4cStDNjVCSzAreFZTRGJjSGR4bjcvNzZrTStmbkNESlUwc2dVckE2RjQ0bnlKWkkzVU0wbjdXK1ZnQmhVWXFoOGR6ZS84T2YzTGhoekVCeVdWSnRuenVYYmlHSXVCVmxrUEtiWm0yYVJHZ0VsRWxQWTdOMzYwUVFvb2RObHJqdk1TRkRaNmp4VWs2ZTJrOUZTc1FUVnRWSlAya3lidVZLTGdQeE10c05jRUhxbEN6SjNlNVBiL0daTGRnZEduRXRQSG9EWVVlbmdRNmFJS3JNYUxaSHUvR1VzbzArTVlUR2tFa1VOV0xWbG9yS0oyU2xSUktqVEJhcmVjbmZpMEVCZDdYR0tVeFd4WnZHeDRlUHVTRWs3VDhrV2h5VnlvdGZ1bXRBS0l2b2JFMTRoUkhISEhqd1UxMjlDNXZiYjlCU1lFN2RWaXJXM2svV0pmZkFoTjB1NkFEOENwcWFxTzdSRFNSdUVBMmdORUZwWTFWRHcyQ2ttaU4xeHBFU2RMREZab1FhRkt5bWFSUUF0KzdURzNvU2tvRzFaSi9MOHUzQmJ4cE1EdWFoL05qdmp5NnpWZCtMMmtWRUR2S1VBdmhPNE9CeUE0WThBS2h0WTY2a2FUa0UyTHNtUXR4Q3E2cCtFLy81VCt5VTE3a3ovK1hmOHowUWNWOFduTngreUtFT0Vua3BKbU1UaVErdS9zelVaTmtyYVg5eHNpQTFvSVdSUWh4VW81NmxDYTYyb0pISzRWT2d1cytORGpuQ0VGaHJlNjBUaVZaSkNYbVh1ZUphYkZZTUpvVWVHbVlMVTRaVHdxMkxzVlN2UC90NS8rWnZjVnR4TVNJUEJHZ0JJZ25wWFRVWk5XcFhucHVtNzRrVjVUN3luSmF4QkZOd1hGenhHL3Zmc0RGWDE3aUwzN3l6M2psMVd0VXh4WEw2WUpKT1VHc01KMU9LZXltT3EwcHhBRFFTdHJzK0ZVRFRJcTVhOXM4dWtTRGlvbUJrbWJzbUZYdk1VRVJkRXh5aW9UVnRtVTZzd1VXeVJZakh5M2I2Vmk2b2dJclBRY2w0RjNOZURMQzd5cjI2Z2Q4Y1BNamZuWHo3NWd5UlpsSUFrd2lqeUhRWmVVcllseUczMlR4ZlhKSTV2SEtnNGtMajN1SGUwem5KMnlycTlINjFtdWp2Rlg5NVVGYUIvVEpldjlzTS9scEk0OTcrd2tLWFBDTWRTd21JRXBSVlJXSHAwYzAyYnFtQXlHUVNsYWsrTTYxR095b3VieHFJMjdKckc4UVpYREFNYWZjT2JuRnhmR1lIMHplU0ZySHhWTzNuL2VDTWZHZTA0RDNGb0pnVlZUMTJOM2FTaVFXdlBlNEprUTFEcTNSTmlmUVBjUDFzNXFscjVBQ0hzNU8yRHU2aDBPb2FaSmxzdE5kN1gycnRWb3V4YWZicnVFdWQ3bDhjSWtyNVJWRzVTakthaW5CQ09lR3lSaDZpWHVaMENvZmw0Y0N2cWtSRCtJRE9zVGtTT1ZqaVdVbnd0Z1NxNURwMktsREN0MEpoRlFpTng1N3ZOZHlLRkhTek03U2JSSVZDbHExQlIxQU5UUzZaaEU4RCtZeHBHQkdGUk1xTlhqWDdtN0Fkd0FEa1IwdzRJVWl1djlkNkt4R0NuQ2hKbFlJRis2YzNPTG52L2p2WE5tK3pPV3RWN0ZGY3IwcG00aGpSMlpiNjVNS1NEdUE5K1c2ZWtZVkNVeEdGcTBFNXp4TnM4VDVRR0ZMckxVWXJXTldyd2NKQVpPSWlvamdKYUFEbUphZGFLUU5aMGpIMUdOK1BqUnhuMFp4Ky9aWC9Qclg3L0had2FjNEt2UTQ0SmJwUzVyVzBoRnFUOVN6N1UraXZpTml4Qkt5UHZpWWdhK0FnaHpZaUFzMTc5LzhOYU13d2Z5NDRPcjJLNVJsU1JNY29mWVlZK2hZY1o1byszRUV5UnFiNDFtVlNrUklWcXFEUlNzTzBYcWJpR3lYcU5WZDV4VTFqTmFOS1dlcWpQVXR6bDBUOXR0QUozZDl3QkxMaWU0ZkgvREI3ZC95d2UyUG1MTEE0VUM1T0dtSFNEZ05kSXJCU3NkNHgyZWNqQlZneHVCY2RBdFh2dUdZRSs0OXVNZjFxNWQ3c1FJNkVuWHRuOWdqbTBWYkhtWHc3RmV6QW5ET01hMVBPWllqRkNsV1c5T0psS3dqdlo1SmJOSGEzbU9GcmRZQXJ6d2VqYU5pejkvbDR1R1lpMnJDUlgrVmNhTTM3UGlKemhCdERTTFFOQTNCTmNtNkROWWFyTEdjbkp4R3k3YlJCSzFReWlER0lyWWdhSkN3Zktha3ZmRzQ1TEE2b2lvcTloN3VzUmYyY2JoWTFhc3pwSGNXMlQ1cFZyVGVGdGMwQkJyMi9UNTM3dCttdUdEWU5oTUllZUZ5RnJuNklKcGsvVTF1LzNUZktXQlNsT0JCdHpXMG8zYXlHSVVLanNZdjQ2SklwY3BteXNURnU5WUVZMVlVZW5RNmFCTXl1WVdBYVVzODZ4RFFxYUtaNkpqd2V1dmVMZTVNNzNITWxCQURqU0NFTmpaODRMSGZEUXhFOWdXanJWYlVXclowSElCenFjL1c0bFBGTnkwQUFDQUFTVVJCVk5FUEhzc3p2a0pScDRFMmRDTytyQkVZNGxzcnRwZTgzKzg5MXQyNXVSbTZjODlacytiTTl6b1NrVmZxSFZiU1Fub3VzVVJTVmdMdW52N29mYXN1RURWT1I2TVMxOVFFQjBaSHJVYU40amRmdmMvT3ozZjUzLy8xLzhtRnk1YzVmdkNRbmNrVlFoaVIzZTJTa3JpRUxwd0FvTTBRVi9IWVZTckJpUkpPcDRkTVJtT3N0WXpIc2Q2OTFoWnhRdFVzS1V4SjQydkVLNVNPRTY5Vkl6dytTdWJVcnBmOEZOMmU3ZThybUV4R0xOeU1TaXEyTDVkVTdwUmZmZmdMZm5ucjUzZ2F0QlZjYW1aZHB0d0xnWEl5b3A1MXVlNnhtZGRVRzRXb3RacGQvcTUzMmlxZTcwSm0vT0xXejVqTlp2ekxmL3pYdkhiMWRRNFBEcWxkelpYZHE2aUZiaWUybkhnbGtzVG9rMVUwaHdnSU1kWXVtbWZ6NzJRL2VXS0w1T3cweUtFUU9wUGViSEh0bllVQVFlazJObGIxM0xjS1Z0eldXbkpJUSt5M1hudkNwT1pVcHZ4Mjd5TitlZnQvY3NnVXRNSVVCdDlVclZSVjd2dko4UHMxKyt3NVJDMFIrR0l5eGsyWG9CWFNOSGdzOTQvM3FhNzlJWVV1MFVtclRrdXl0UGRpTGJNN3R4dWRVZ0pXaXJWV2JXaE05NzdPbENKQUVRb0lEaWtVbGZZc1ZjMURkOEtjV2JJYWR2ZEJiM2tSSC9VaUdYcXZycDYxMVZHdVM4Q1dCbGMzbkhES3plVk5MaXgyMlM0dUVGeUpGcFdVS1hRYlRwSmpRZk1sekFzZUNHMnBYcTk4dlA5Tm9DeUtGTm9qaEJCWTFoVTdPenQ0Q1hpUldFeENHYndFYXVmd29XSmNBTGdVdnFFN2NvZytzMkRvdWxKV0N2RG9pNTZqZzRkVXF1THU4aTRORFFZVHZRS1o1UXQwU1Y0YnJMOEZhQ3gxMC9DUWg5eW92NkJZR0g1dzRUVkdvY0I2alFrR0c3S21zMHJ0by9GSkh6bEtDT1l4V0xkalZ0V2t4UmhwMFpuNmhSREp2VEd4QkdBSTRDVmFxSU9rRUNuSnR0N2NBRG01TDkxZkVvdFN4TGszZ1BJNDdXaE13NktzV0pZVm4wMC81eTczcWFqajZHTVUrR2pSTFVwWTFnT1ovUzVnSUxJdkVOa1dwQkJHaGNHbzZLUXB6QmljNEpzNDBiZCt6VFFEcWFDUkVDK2RLRUhqUUN4WmpENE8vb2FnQmFVTFhLaHdMdC9VQWNudW9BS2E3M21jVDJFTGdoT0tvcUJxYXJiTkxxZW5Dd29tYUdYakpKZXNWcEZFK0RiVUs1STJrRng5U3BsTy81UkF3TENZVHltMlU0eGFNdlVaclpCUmNpODl2VmNQb0djeGlCYXlxa29YUkVFZGZPd2J4T3pnWDN6ME03eUNmL21YLzRwWHJsMWpmLzgrRjhkdnhHc2ZvZ3lSaEJ3dm14ZElndEJBaWlOVVdsREJFOFRodmNlT0p6UkE0ejJTWmpweGRkU0R0WnFGcjhBcWxOSjRJeGhEdENKNWFKekRPaUg0U0ROekhHMVFVSVVhNXlxOGxhamhPZkhzTC9aNDc4T2Y4VjkvOTUrb21GS09MTXRLNG53RGhFWFhMdlU4Rm1tUVJGcnlOWWtIU0Z1U0tyVG5xUkVmdWxCVUFSK0xlREpueXZ1SDc3SDgxWngvK05NLzU1MDMvb0N0TU9iNDZJZzNSMi9SbkhpV3l5WEtLQ1piSTB4cHFPc2xzK1VNdENBYWpGVW9FNDlCTE5HbEcwQTN1bk9GU3hTc2J5K3BvcjBuYVYrUDkzSHNoeWtFUTJsUUJoTVM2d254SGxhaUlKVWY5ZDRUeEZPVW1tSTh3cm1hQi82SSsrVWV2N3J4dC96MjVrZFIyeElYS3l0Vm5iVTFOMWQ3RElxMFl1aTFhWGZJWFgvc1BkNDRXYXZvcjE4c2x1bEhQRnZqTFdUWmNHTjVrLzlWL1JsZUtTWldZUnFEVllyQ0t1cmFVL3VLeVdTQ3F4d0VqVWp5SmtoYTFFa2tyS2hNWUNVdU1OSldFY00wQ2wrZ2RjSFI4aUhWdHRCY1VieDM2MzBXTEdLLzY1WGhYWkVjeStmZjlwVzhGc3JXOGZTclZkYytqVjhTYlhhQkc5em40SERHK05wVnJoV0tzUzR4VGpHV2dyR01zRjRoeXdhQ2ltNXZBOG9vR2gwcnJ6WGlZcWtGbFd2UmdwTllzS0UxWGxoWWhqcjFrWFQ5a2tmQ0d0QVd2RjNHb3hhTENRWWpCU1pvYklpZURLVmkxYlRvWm8rbVoxRUJDUTF6TmNWdE45dzQrWlRQOTc3Z21GTWFBa3VhbHNQRzMrM1ZpcVl6dmtoZVBEcFlTbzFTSlZNNTRVc1dUR2NuSEprLzROMXJQMlJjbFl6ckVhb1pNWklTMDFoMHJhTlc4cmJGcXhoV3BMMXFMWjBxVzFoYkFoMS9WYlRyR1N0aTNIY204YWhlMUV3eUJIbmZZSXhwaTBhRUVHaENiQS9sQTl1QWxrQ2xHaHBUNDdZRHAyYk83ZWxkdnRpL3lWZmNUZ29PRFE1SGRweHBvUDZlejUyL1R4aUk3QXRHb2c1VWk1cDYyYUI4alNtRndwUk1SbVBteXdOUUxybU1BNGhCc2xCNENvd1BLb0E0d0taQk95YVNFQUpLUjhtU3Jja09Fek9oQ2hXQ2kvcWV2d2Mzb25NTm1sRWNzRVdoakdXeVBVYTdrdUJqWEZrVTdneUlpcFZZMnVRYUVZeFAxdTlVR2xTTGpzUldDVUU4bHk1Y2hMR2pMTXVXbFBqZ2tlZlNkdDBBdkVMU2VoT1hVdUJTUXRXQ0plOTkrRGNFUEgveDUvK1VkMy80Snh6ZVBxWFUyeFRHb28wQ01YZ3ZCT2ZJbzY1VzBVNGFYSkw1MHJGcWtyVWphdWQ3bG54cGowSFM1RnFPU2tLSWNYbjEyc2h0VVZoYnBCS2pnV1ZWc2F4UEVLTVo3WXpadVREaGNQNlFDOWQydUgxMGcvLzhzMy9QZTUvK0hNY1NNNEtaZHh1cWtmV1JTY1hhYWlFYlFkY3RoZjNKTjA5MEpoSjJJZkM3L1E4NCtzVWhmL1R1SC9PVEgvK1VkOTk4bHp1L3VjdlYwVlV1WDcyRUN3M1Q2UlEzYXhodGpiaDY5V3BNd0FzTmphdXBmWTMzT2MwbEJvVm82U2JOdkNocEZ5ZXlXamEwSmJVOWQrZDh2c0Rha3BIVnNhcFE4cjVJK2gwZlBFVmhNSVdsOW82NVZGRFBxWDNOaVQ3bTMvN3FQM0J6ZGpPR0VoQ1QySFJLZ05JNmxYNWRiK0oxRi9FanNVNWlWYy9NMlBQeEpPYW5RNlNFQzViY1ByclBPN3Z2TUFLMGw3UytpbHJHQVkzclIxL2tKRVdWTGZDZEtpK1FyTHJkY3lVeHUxMjdBSVhDYVhBajJKdnZNMmVPbzBta3J4OFJIdnRTOG9pbk1hQTcvSTFLRG10OU15clM1a0NlaHAvdi81SS8zZjRwZi9qNk8xaEdUQStYek9aemRoaXp1N1dGcXFQZWN1MXF2UGMweGlHRnhoYVd3aFkwdFl1RVBWc0xOMnhYM2cvZDZ5cGwzb1BHa0pJMWd5STBRdTFkQ2poMVdCdjdUeFdXTEpzRnlpaUtyWkx0eXhOK2NlOTlicHgrd1FFUEUxM3QvQVVLazd3VHFkMVY1NERRSlB1S1VZUVF2MU1SOWJBOUhzYys0UVNLTGNzMSt3cFhKd1dGaHZseWlhMExkc3dPTzVOdER2MXBYS2dLYmJLb0VycjdSc1VyRlpSR3EzaStmYytpRGgyRmlRU1dGZmsycmVJQ3QzWXVlVzlBV1lNdEM4clNFQlpMZ2hLY3FhbkhnVVd4NUlFNzR0T1RHM3pwYjdGTUpOYm4waERadXQ3ck53TmVQQVlpKzRKaGJZRjNscUljTTluYUlqUWpuR3VvbGhYV2FvclNndmJwaGdrZ05scGpnMG56dFUxV0JRMVlzdENNVGpGSDA4V1VvblRNWmpNV3ZvcDJScVZqNlU0dE9QLzl2aFUxRmtPQlZoYnZvLzVwOEFLdXdTOHJKcU15c2tHaVhKUlN2WGhTQlVpcXFHU1NSRkJReVVJV1AzTndlSVNaZUtiVGViTGx4bWc2cmFKNzdsa3RzZ0M5bVdQMU9kRjFydEo1Q3A0bEMvN213NSt4V0N5WVRoZjgwZHYvQU9NOUVocWF4aE9hU0dqS29xQW94dFRMSnRaalR6dVArckJDY0FwbCtvTCs5R2IxN2dDQ2k5WFFOTW5pbStJUmpURVVDcGJ6SllXMTJMRmxQQjVoZ3FXUkptcmVWbFAwT1BEQmgrL3hQMy83TjN4NDUrL0ltZmtoR1gyKzZabkFlNC9WQlRxb1dCdCtmcGY1YitZc2wwdG1iMHo1MGV0L1RMMVlNcStuYURSbTIxQ29BdWNhRG84WDBUZ29FaVYrbElrVjNjMDRXbm0weHZsbFM1WTJOQjhLdFVKaVZ3bXQ1clVycitHYXdISzVaTGxja0V1ekZrV0JLVFVHeThuaWhNVnlUakd4akhkS1RwZFRQdnJrZC96Nnp2dmM0WFpMWXEyMWFLM2JCY2Q2dGFjbndkbkxzYjZQUkNOeXNRMFBWaW1jaXd0QmxZcGxlWVNidDIveTFrL2VqakpaMmhDOFlFUWhHRkFsUHBoblZqQnl1Y2lERm5TcDJidTlSOU5GQXArTDUzSGJlaHpISFBEUjdIZk03cHh3ZmZkVnJteGZabmQ3aksvZ2FEN0ZvT01pc3pCWVpURzZqTkpQUVpES1U3WTZzRjkvSzJKb25FSHBJdW83SzRNV2l5UkpNS2NDcG9qSlhFdFhvVXFGdVdEeDJuUGFQT1RnNFFHZjdkOWduNGRKU2dzRWc3UlUvZkZRMWtBZEw3b25WajkwQWdyUEF3NzQ5VjdGMi9ZdC92Q3E4TnJrTlVacWpNeUY0M3FPZGxYeWNpVFBwRkxreEU2VDdwSGdRMUlRNldRR1c1V0R0U1MwVmcxRE9xc3hPbzdsUnBtMjZJRVh3Ym1hUnFKQzhQakNHRVlseDh1SGZMSDNCVjlXdDlnamFoRFhSQjNpL3VJWXZwMnhhOENUWXlDeUx4QUNOQ2xBY0xsY1J0S2lvaHZjR0NqTGdzWlBrM3U4QmdJU1VpeWVSQmFscFk2dVpFa3IxelorTm9CeTdPNXVZd3ZQWkRJaEJ6TW9aZkFocDE1K3Y2RzF4UWVocnVzNEVGcUxSbEhvQWpzdVdjNW55U1VaclROQmZCdGpGYjI4S1hTREtFY1ZSN3RvOVFnNFJsc2o5RGd3MnBvd1lndWhKbUFKSVZrbm45dGd0amw3UEEzbkNJR3QwWVM2OG5nODczLzVhKzdlM3VQLytEZUtTenRYdVhycE1sczdPeEFzcm1yd3JzSXZhNVNZWkQwb01FcFQ2SUlRWWhhMzk0S3lLWGFSem8zWFQ1Q29xeHByTmRaYWxJM0pFMEZpM0ZwUVFyRlRzbGpPcU9jMXBpalkycGxRR0VXMXJEbGVQT1RHNTUvelA5NzdiK3hWZHhBODI1TmRqaFlOSWdGdGVoN3VaMjQ5ZlhiNnpWWlpjUmh0MEVIamNaeHl3dnVmL3ByUFB2Mk1mLzVuVTY1ZmVvMXJWMStoS01aVWl5WFZvcUxBTWg2TlVHS3dZckJTb0VrVnpaeUhHa0p3cWJKYWpqMlYxUzM1djBoZFF5S3g4WFZCVUV5UHAyaGxLR3drcjZJQ2phK1pOYWZVMVJJOUFudkJNaTVISE0wTytlREdEYjY0OVRsM1ozdWNjaHFQcVZlT3RHbWE5dkZ6SzBYZHR4RG1TVDNGbUtvQU50amtFUkpjY0ZnTWdyQWZEcGczQzNaR3UyQXMwZ2dtS0ZCbERBdnhZSjZCVW9xQ29GTko0QUlhYXU0ZDNVdGhHK2xZKzdHd3p4blI4bGh6bnpzOG5POXpmWDZkUDNydHg1aExiMUxhZ0hlZVVWSGdCR3lLQ1ZVQzRuMWNNQWZCNmpUZUFGK2Z6RnBRSnVVL3hpU25JRHFPRmlwV3FBb2pTK1U5dGZIb2lhSWFOUnpORHJqNTRDdHUrcHNjY3R5UzJCeGYzMWxsWllXODlkR3VmVk5aNWZoaVRFWnpUY2lCQUV4WjhybjdFbmRQV0Z4dWVIMzNkYll1YlNQTG1yRHdsT24reXBKMGNkSGNGUXhSZ0pIa0ZVanRGSWt0WjcwNUthNDJJdG56eGNjRnVJcGZFcDA5Q3RCSWc1OEVadWFFMC9rcE54N2M1Sk53Z3dVTEZqaVVMWEJ1dVpyMFJ1ODNIK2xOR3ZCdFlpQ3lMeFNhN2NrdTFVSlJGQVUrTklpTHRjWnRZU2hLd2RjeEthZDFyMm9TbVkyaEJycVZWTkxrNUFsSVNRVktPRGs5WkRTR3lqVUlVWS9UbXBJbTVEVHg1OFFrWGhEeUpGNTdoeWtNb2dMSDA0ZXcxRXhHMjJ5TlN5QjVQaFhFWXA0cU9oaFZzamFLaWduY29oRHBpSjFTaWlZNHZHK282cHFHSnVXMEtscmo3RE0yMzhyNEtHZmZNQWE4QjBmRGFYVktRVUdjL2dQN2JvLy8rOS8rWC96cEQvNk12L3FydjJaeTZTMnF1V08ybUZPWU1SZTJMdU9XZ2RBRW5LdFJXRXBUWXV4V0ZGVVBQaEp5NWRJazBmZVh4Y2VqSWcwUlFhSnRJZ1JDY0lER2E0L1hqa2JYNkcwd0k2RzJDeDRlUGVEVEx6L2gxdDJiL08zTlg2YW1pdEd1cDR1VGR1d1grUmI2bndZSlFoM3FxTStMUVdOWU1HZkprbi8zL3YvSFd4ZmU1a2Z2L3BnM1gzK0RDNU9MR0d0UlhuQVNDUE9HRUVva2dCV0xDUm9WTE9KVEhJUDJ2WUlHbkx0VlFkcm52ZzNjU0pKSzRnZ3VvSzFDRlJvcEJUTldXRFMxcW5qWUhIRC93VDIrdkhlREczdGZjQ29uZUJ6YW1DZ3hsYndxenEwdVRITk00S1BRaFdkMHNhSHhqZEQvRUIyQnBjZGl3R0F4enFSd0M1WHNWOUg2UFdmT2crbER0dXdGZGsxSlVFSWpZRlcwdW9sdm9zWHNLZnRBVUxITm5QYUVJbkE2UCtXRWs3U2dDV2hqVWhubHA5cjlZK0Z4VE5OaW9xREE0Wm50emJoOWRKZlhkOS9nMnM1VmxDbHhsVU10QWxReFNjaHF3OWlXV0czeHRlK3NoMThUZ3FiUTQzaTJJZUI5aU9Fb1NRZlZtWVltek5FN21qQlNQS2dQdUhYM0puZW1kemppaUpvS1I1T0MxcElWdDc4Y2pIV1RING1ReS9NbStUc25jU0hWcFBRc0Q4eHArSXd2T1RnOFp1LzBBYTlkdnM3VjNhdnM3RzVUSDRlb1NwQVdlT0lWUGdoZWdDQ1VKbzQvZmZXT1ZrV2s5Mzlza0J5ckVyVmdZeWxtai9NK0twV29nQzR0dXJBeGs3WlFIUG9UYmg3YzRzdlpWNXh3bXVKaFF5eHQ3T2RSOGtPRmxUNGZ0eHRVSEFhOE1BeEU5Z1hqZERGRE04S0hDdWZuS0xGb1kybnFRRE03b1NnMXFJWlk2Z2pJVlhxU1N5MUlGV09vY2lwRFc2a0VVSUdMbDdad2ZvSHpDd1NINEtpYjUxblg1OFhDK3dZd2JHMlhiTytNMkRJRnJ2WlFhaWFGb2FxbWdFK2xNVk9iS1FnOVllLzJSYUxWSkZ1eUFnRlZlSnhxYUdTQm8yb3RQVXByeXNKU1BVT2djWTR5ek1oRFlsOXVTQ1RQOVRHK3EwR3dqREFZUEJXV0NlL2YrUnZlLzM5K3lidXYvb2gvL2svK0JYLzBvNStncGVUbzZBR3ZYSDRkdi9RMFM4RTFqZ2J3QWtiYlNQSmNTTDY0MEo1M1g4TExXaDFqKzF5TU9kUmFZNHVZT05Ib0FJVkJtUklmYWg1TUgzRDczazArL2Z3alB2L2lZNDQ1eHVPaW0xQ3JXQ1lXWWp2cmdoRDY1YnVlSTlZSlZ3cm84eEp0VFlKRUFvWmx5aWtmbnZ5T1QvLzJZMTcvL0FmOHZYZittTGV2djgyTzNVRTNoaDI3Q3k2Uzl5WVlpbUF4cXFTd0ZveWhFVWZRdm8yNTdtOEJmRjZkbU5YbjhYT08zVmQyY2E2aDlpNFdCZFdPaG9hRm43R1FpbnRIZC9qazFzZDgvUENURlBjWk1HTk41UnE4Yjg1d3RDZ3BSbHB3UEdXN3JyZGZmcnptWG8wdlowdDRsd3daNDFzOURRMjNEMjV4YVhLWnlXUWJwVlVidXFNeDBVSXRmcFUwZncxSXF0alVXSWN6bm5zUDdsRlR0ZUVya2NqVHhVNlRpZnZ6Nlc4QzFBcTBDb2lxY042enBPSmdlY3lENVRHdjc3ek85ZTNyN0tnSjIrTnRkcmJIakNqQkJScFgwM2pRUnFXQ0dVL3oreUZtNmhQbHFDZ2l2d3FGQXF1aE1NenJHU2ZOQ1Fjbis5dzl2c09lN0ZHeHdLWDB0aWJGZmtvS0tBaHB2M0Z3TW0yYy9ibUUxaE5Kb1RMZ216WkdQUWdzVlVNdERvdkZwMUNESTNmQzNmMzdYSyt1YzMzeUNtK01yNE9QM2lLTndZaWdQZUFGSFJSMWFGWVVHZFlYWERFc0tsL2M5SjZLZVNOZVI4dHlHQXRZamJheHI1NVVKNXdlbjNEa2p2bHljWWQ5N3JPZ2pzbGNLQnJsYUlqRld6WXVncDd5ZWczNDVqQVEyUmVLZU9OWnE1bnNscWpDb2FSbXNnV2xqOW05UHN3UmlacVFBSUtLNmFwaUVnbXEyNG1rUzh6b2xvOWVDWXZtbU1iTjBiZzQrRkhUejBMOVBpUFFKSjVTY1cvL05tTXpwZFFUdGljN2lGNFMvS0oxaVVvV3F5ZEtSY1hTbHFuRlVuaUI5SWdzS3JCd003VDFGR1BGN21oTUpaNVpYU0VoVUMyZmI3WmNheHZyeDhoS3RNcnFJcnJkeEhrYUZqUXA2dldFbWdLRFF2UGgvUS80N1AvOWxMZXV2c00vK05OL3lJLy84Q2Q4ZHZkM1RPd08yK09MV0Z2aW5hZngwZXF2dFVWc2xsN1FYVlo0SnoxUDBBb1hITjY0R0c1bUxZNkd1cTZadVFWcXArRGV3VDF1ZlBrWm45LzRoTDJEcjFneWgwUzZ0aVpibkN5T1l5Z0RPaVlnSlczYVRnNzlHNFlHVThaRmlxczlUUWl4c0FJVnVXcFl3SERqNUhPK2V2OHJycGdydlB1RGQzanoydHY4OExWM0tOV0ljYmxGZ1lybE1mMkNxZzY0NEtBTW5RN3NlckxYWXg4TDkyYW5NYnpER3NSNFpzczV0dy91Y09QdWw5dzd1c3QrdUk5TEdkTmVCV3Bwb3M2dUpoYVBjRkdhS091cDVuMS9uYkNDeDFLN1RXN1YvTHFvVkRzc2U0N0FTNU9DS1JSM2xyZDV1M3FiVjdaZndXcUxlQS9CdGtrNXo0S2dJQ1NQUU1XQ08wZDN5SVE2S3BXY2YxYlB4U09zUUk4Z3VDZ1NnWEpZaVVGZ3Q3bkh3ZlNZTzlQN1hMR1hlSFg3Q3RlMkxyRnJkeWgwYksvZ0hkdmx6bE1USTFHeERDeEdnNDdtZnFjOGxXK293b0pGWFhOVUhiSjNjcGU3c3NlQ1JTUm9RSzBkTGpUa1dTVHovWHhlY2ZYODZEbENBejZrY0JrbE1SRXRmMTZGRkdHcVU2aUh4ZUhRMUpIc254eHc4MlNMMmU0ZnN4WEdqSXFTeVdqRXhJNHB5NUlSR2lPYTBJUWsyWlhiS0haR2xTUW1KUkhaa0wwRzBFclRpUW80NVZPWllrZnRQTXQ2d2NQVFkrNHY5M25BQVRNV1ZEUm9ER0lWY3plUDNnVVRWcTBNZVRHVUkxWTJtaUFHdkNnTVVSNHZHT055UkZWN1lNeGYvZVgveHQzYlIyeE5Mc1VKb21rb1I4bC9yVUtLWVl3eFZTTFI4cUtraVJwNEswUVc4dlEwcjZkTXRpemppZUZudi95dmpKS0Z0Nm9XR0tQdzMvdGtMMFZSVEhDTjRpLy8wVjl6ZVArVVFrOFlGMk1Xc3ptbHpmSENQbG5La3VCWlVGR29Xd2xCeDlWL0ZLcnZaYUNyZ0plR1M2OWM0SU9QM3Vkb3VZL1JncE84ZU9DWjdwNUlvWFM2Q2RzUkVucVB0TzdpU0hVYU8zT3AwY0pFWW1CVXNpU1R5bGRpa3d2ZDhpZHYvWlEzWC84RGZ2VERIM0h0OHZWWXd0TkYwbDZZRW5FNTNybzdobGJRWDRWazFZcmVBRzFBeEhONmVzcjkrM3ZzSHgzdzNpZS80K0g4a0ZrNEprNThEWWFBbzhiajIrWVJCVW9idk05bVBZdldpaENXUE8xRWtOc3Z0bGZvd204MldROTcxMG1qVzdKbnN2dFpVdGhOU2g0MEtDeVdMYlo0cFh5Vk42Ky95WnZYMytiYTVhdE15Z2xLb3FVNnlyckYyTHlBckd4akdIdDBjVzUrWDZpbFl2L2hQcmZ1M21Mdi9sMk93eEZMS3ByMHp5Y1JNWWRIRndxdlEweG16T2ZtT0xjUDlzbnQ1dlpqcmYxNmI2eGJZOWZhTUQ5WGFoUkRuYlNIVW9IekVDSVBHRE5pbXgzKzRyVi95azlmK3luRnZLQ29Da2FVS1RMS2dmR0lQcnNRV0NlNXNUVHY2dnZPQkpiR3NUQUxwbmJCdi8va1A3Qmd3VEZUbHRTeGJHNE90NURrb3M1OS9OeFcrUnBReEFJY1BZdXZVWmJRS0F5V2toRVdUWWxoUk1rRkpseGhsNnVUaTF6ZXVjVDJhSXRTYlJPVkNmSnk4c20zWG9FM0ptNURESDg2bnAvdzhQU0F3M0RJQ2FlSnB0WFVxZWhzb3gxT05aMFZQS2lrN0tqU2E3cUxDUTFueDdpK2FrR0VKYzVLcVorYk9FNDVDZUNGeVNRbW5BYnZpVGJYZ2tJVmVBa1VXQ1pNMkdMQ0R0dGNLbmU1dEgyUjNja09XOFdFUWhrc0doM2krS2FUem5yWCtMbkVNN1RoZEFTQ3ptVm1IVXRYY1RBOTR0N0QreHpLRVV1V3VLUkJFTU1xaEJtelNPVDdxNnQ4YmJNdVcyYjZJUmQ4TWZIMysrUE9nQmVHZ2NpK1lIVHpSVUUwc2NRWXlKNTlqdTVPeXVpaXo3T296TG9QSkxSRG5nQU9vU0hPZWxtT2lwVUIrSHVMUkJKaXR1dUlXSnNuV2lqamdKT3RDaTAxSkxkZmJKM2N0anJ0YnBYOVNMSmkwMVlmajBxVGN0N2svclVPdlNOaXE4ZllZVk80d2JtUVBqazJpWmdWaWRxV2pQU1lpenNYdUhMcE1wY3ZYMlY3ZklGTEY2OVJtakZGWWJEV2dvcktEMDFUNFZ6RGZENW5zVHpsNk9pSXc4TURqazhPbVRmekpFb1RxTW5hbTZsdjBTQXBhN3pWZSt5M2tXaGkvN2JwN0pxTjUvMGtlQ3lSQmRZdTUrcjJFZTFuMnZZenFSOVpOSm94WTdiMWhNbGttMUV4NXMzcmIwVDVyS0trSEk4b2pFVVpuV0tLaGFhcW82Qjk0MWhVUzJhblUwNm1wOHluTStaK3hoRUgrRlRKSVo5QmZwVEU0cExMTjVHdlRRVDlLZnRnUDdUbGpFVXViMjFhU2FXbU5VckY0SXhXdGMzR3k2bGN2S1NhMkJVcUdGT3d5elovLytMZjU4L2UvRk11aGd2b09ZeWx4RXFVQm10MGVHb2kyMWpQdkt4d3U0SGZmdlU3Zm5YNGF4WkVkWkVwODNnOHJZRHVOMEJrWWRVd0I2a1JMVWhlVU1hUnFVUmpnVEpSb0hnWEdLN3lHcFlSSTExU2prYU15aEpqTGRaRWxSQnJZZ2lHaElEem51Qmp6S2VFUUtNODkwLzNlMVMxYVV2TGhuYlVpb3NnbjdZb1I2NHRBSFJFRGJvNTRUd0xQS3RFTm40c08zVkRHa2w3cnYvMU1hdkhFVW4zV01rSWcwV2xkc2tMeUpJQ2krSUg0OWNwZFVHWjdqRnJTNHlKWW1NUUNieFBtdGhWWGJPc0ZzeXFPWFBtMUN5Wk1tOGwwMXdhd1gwNlZrOHFqYjArWHZRZnR6RU04Yyt3U21RYkJpTDdYY0FRV3ZDZFFVTW1uUjNaZ202U1g3OVoxa2ZRVGU2cFBLaGtzNDA3LzBiOUhrTVVCSEU5U2hNZFp0Skd5K1h6ejFOM0psUDBJc1BpdC9WYXU4ZjNjb1dwTkV3L3ArUVJhWCs1bjQzOGhJUGlPUll6a2FSem1SSWZHcXBFYkdjc2d1TDRaSStiSjFEY3RGaTlSUjBnRHdNcG43NFhXaUNNS0FocHdBLzB3d0JDYXRuc0JYRHBmZGRORE9kTVpNOEw2KzBYUmVkNlZpUzF0czNZR1BjV1g0OXhoNkdka0NNbDczNWh6aW1IUVdGbmxvS1NqNDgrUktYMmkrMnNVcThMSzYvbFBlVDNJdFZ3T0tvVTV0QVJnZjdjbVErdE8wNjk5c0kzUEltNmFHL0xGYWRVbXN3REFTOGFKdVBZWDRLUHdkZHB3cmRHTWZFbFY3akl4ZTBkUmtaanZFOEV5S0dTc29CR1BWRnd5U2JMY2xBQlp4eEgxWXpENmlRNWtLTmJlYVZadnNHWVJ0WHJickZmcGQ5U2dvaHJsM2RKNVpzS0VtRURoV1hHN1VqS0FxaUZRaSs2ZnBLM2NzNk40OUl5SnhMVkZQK2YrazhNbDVHVXZKWEdRUlhPVGhQcjk4S2pGdWhuWG91LzBuMGx0TGZhdVFzanlhOEhuQVJpYVl1bUpZZ2Q4VGNZTEVmTGoxT2ZpY1EzMWYvcXRVdG9kNTQ5VzdsTjhvaTlUbUpYa3JjZWRlNnkrcGY1Zjl4S1p4bmZzS3NCM3k0R0l2dUNzV0pwazFRbUJkaE1US0UvUW5jMldiM2gzWDVRZk9oLzRmY0hmYklrRUZyYTRWTHFXNnA2ZGdiUkdoZ0gyOVU0c0xPRDBsbDNmLzdwYmxCK2V2U3RHTEI1ZVJMeUI5c2ZYdnRBSDIxN3hIMGFxMEFjSXRIcm0vbUFvNEd3d0xLRDBQUklQMjJBZ2tJNFpaYVBJQTdpeXNUcVlFckZjQVpmdHoxTitndWxkYUxkV25wQ0loYWJMZEJQZzNEZWZ1U2N4NCtEb20yTFpGdHVYKzlRUTVnelpwU3MvdmxuemljZTNlN2p2NENqb3VyR2dFY1IvNTYxbUVTTnBlM0Qzd1NaN1FpejFnYXJORjRhWW9hK3hhSlk0cWtXVFlvbjFKQXFVeEhBcE5DbmQ2Ni96YldkUzR4VmlRNENJV0IwV2tSS0xwNzdhS0taNWN6eTQvWjFCVTNoZVhENmdJUDVQajdSbFlCZjdZY3Jsc0Flbm5FaG4wTXprbW8zb1Q4ZUtNZ0p1ZEdFRUhBOU1oU3ZZZ3pEVVJUZE9UM2hBU2tVSGtmRmNrVndwSDAvUzAzbDBMSDFCVjMvK2ZwUG5yZlE2eUcwUFhFVitjN09GZTdDMmE5MnY2RkFiQTJpOEtsbXJ3dWFDcWlUWHkwZXBtNzlJdElOSkdjT0xOOFpJZEhYV05NdzZUQjBqcmpWZnRHM1NHL3cyS3hib0ljMHIrOG1CaUw3b3RHL0wxZEdoYkQ2R2M1K0pnNmVBZjBrRTlrajNFVy9YK2hKa2EzWkVDRTNRMDZjaStUM2tjMmhPSnVVOHR3dGk5MnhkYmJoRHYwZ2taVXZLZGFzVGIxK2tLNjNpK3Jra1FpWjdyMUFORXhVZms2V0g0L0twbm5YMGJKalVuaUFSaEZVSUVpRDkrc1QyQVpMOGlQN1cyQjFWbjNPV0hlVjV0ZldMYlRyN2FjMkVWYTZTVEIvdEJlTlV2a2FMZWZiWkt4T3BhUlRURzZmNkFiQ3VxYjdXWnd4eTZvMHNTZnk5QXoyb0hNSlJ2dUJlR0JHYkxLWGhSUmdFWjNtWmFidzNxQzFJTUVod1ZPZ3VjQVdsOWpsaDVkK3lKWGlDcVVya2NiRnBFb2RRS3NVMzJnMkhFVHZFQjZSTE9meE5DcHdzRGprbUpNdUUxL09kTkQwTkpNaGVENkxxRDQ3QXRyN0ovVDZZSzlQNlk1WHBvK2pKWWFWR05TS1BGdTIrQlZKeUwrVmJSTzY1OXAxa1Rwcis0MjVoQUliU0c3Ny9Md215T1QyQ1c3Ui9saHgzaTdiZVBIMUw3Wjl2OGVtVTRXM1JxQVJqVkVhcFFKQjR0WUxLL2RSdkJ2NlY2QUx4bW10NU9zRWRtTTRTUGU0ZjZqckg4M2pjMTVFbnJ1SUh2Q3RZaUN5THh6WjhuR091d00yRHlpOTF6YmRTczhqaHZNN2o5NjVkYkdZRzZ6VDIwNFZnUUFBRFJWSlJFRlV2WGJWMHIzWWtzUEhXS3JQV1VjOE83S0ZzdmM3U25TUHpLNm5keVJyWms3SzJHUk4yWFNRMlNnakc1N3IxQW9yQks5N25oUEx3dHFDSysvS3BMNTdKdVJpMDNIMUxSMWthOVd6VFFUcjMrK1hyUlVKMFZwMjd2YmNuZWFkUldUanNWNTdYWUVwTkFTOVFyS1VVcTIrY2RVOFF0bWlUYmhaM2VmYUNaMXpEejgvaS9aR3RGWk0xZjZNeFdLVGRVd0JCWXFDVVNTUVRiUXNHa2Jzc3MyN0Y5N21CenV2ODRxNXhyYWZZQnFMcjBLeW1HblFIckZQUGp5dGs5amNMQXMzNTJoeHlKSXFPcFIxUU00aFlWOGpjT2ZKam9uY0xWWjdZWGNKTnh6TG1wczloRmlzSlgvZnQrL0hCN1c0bGZQSTc3ZWZ5eWJlZmw5ZFAwZzUrM2psVmxVZDJXeTNyTnBZdXQydGo2L250K2hLbS9RTXd5dVc0TnozMWZvWDRoNDg0ZXk2dDhjdUplZ05iYjhXQTczZXlmcUx3dzF0b252Lzk1R0ROL3BMeDkvbjZmWDdoSUhJdmxCMHNab0FVWlYvdzhlZTVtN1pTQ1EwcmM1c0hyVys2UW54MjRKQTdNN2RjQ1JyOGpzeFl6eStkelpQbVBQYmZzVnl0KzVRZTBZWnN6WHl0enA1ZEwrWktxNlRLNUoxQTNzL3BqZGYyNjRmRmFWdE5VV2xiMm5wbjErMkVRcG50cWFJaERmL1FmUWlLNlV4bWtST1VpdG15OHVqU0d4ZXRIMEx5S1JXOWRvdmIrUHIvWWs1OUs1eEwvQ3hiOUhxejJBcWNnMlhpTWk1MEt1ZEtwTmNsYXNnMVoxbTc3bGtOcjJXSzYrUmJGSFBJMlhwM0RqY05qTFJ0dGJNYmJiYW1PbUFwMGozbTZKRUlSU1VYR0NYNjd1djh2Ymx0M2gxNjFWRzlZaFNScWhhcFNiMmVLMFE3UWw1VGZZSVpBS3IxcDdIWS9ZY25CeHdQRDhoUmxzYVBNMnE2L2diUlU0YW9qM0czTHY2UHg5RERuVDNvZlp4aUVPVzlCcEJyVjM4eDkwcVRlL3hKdVBGMnVLMWI2QmN0NklxNmU3anZIMFU1REgrZ0hPOU52MWpTdkxubXpzaUdOMzE4NDJIWS9vamZ1cXBFdVhvWXVKcWJ6SFJKL3k1QVlMdWZmTzhUSk5lbU40NVJvSUJMeFlEa1gyaDBFU2xBb2ppa0p3bHM1dmNRbWNHNlc0Q1BuTmZaUkltYWZocUp5a05ralZFdjhkb3lWeGVGUFRqTDlOajFmdG8rbnpVTit4UExuMzAyMlRWZlNqa2dhL3Y4SC9HTnR3NDZlcTF0L3BUVURmY3hoaTc3dlA5eVJQQVZmRzl2aVdsKzYzVVR1cnMvSm41UW5DY3NWeEdWWjdReHNLdGZwR3V6NjI3N3IrSlJkTTVuZ2U5TmlYbGhLdCs0dFdxUlVuM1B0dWhwSXp1eW5ZVjBQMmVFTkJsc1ZGSHRpMnE0VmVuK3VnV3pVODBPVDVTSk1TR1ZvRXp5U2k5eHptVXlLOHNZTDQ1NUxhYU1PSHQxOS9oNnM0bG11a0N0NnpaTW1QS3BtQnNTcmEydHRpZTdMQmQ3ckJsSmt4a2k1R2Y0S3RBRVFwVVVEZ01YanVDY2pSSzRUVVV3dG5RblhPd2JwVVZCZnNIRHpqbEpCcnR0STZ1K3p3VWZOTVZ1QlVyVEZ4Q0Z4L2E5YVlzcjZmeG9zQW5ZNEpPWDhoTXRMMXZaTlVjK3FndGdCU3MycHJqZU5TV0xaWmNncVE3NVA1elQ5OUxkZDRvYzA0djY1UEROY0tNNkxWYmNnTkY3SzhDQUhWbXFVbVVtc3U3WFNlakFsb3JDQ291MW51alhGUUxEeFQ1Mk5OQ2ZKVXY1M0c4ZjdPdG5uVnJQSUR1dmx3ZmN3WXkrOEl4RU5rWGprMVJrWnV3dHFMZFpMWFo1RHc3TjJQM2UwNWdXengydUQyWDlMZHZ0bVQ0TEtrNSsvMCtubE1ieXRtbk1kSzNQeG1zalpwbkxKdXJ4OTVaSUVGUTZHUUZGT0tnTDhuY3FGUmMvSnh4czBza3Q1SzJIZEhWSzBUdDNLNElaL3ZldHpqZzUvYnJmbHBXdHZsVDY0KzcwSVQ0YlJkY2VqMi8ycDJ0b0tqcit2Rm14WXhleUVIOFNaVklSTGEyKzhlMlViZHM2bG1KdmhGa1NpWm9OTHQybXo5NDdXM2VlZVV0NnRNYXY2aTVZSGV3RmRna1ZxKzF4a3FCV2lwVUxWVDFnaEhqYUpSV0NxMDBRYVhGdEFjVllqbG9IVUtVYWtPMW5sNUZKRmdtTFpxeS9xNVg0RlRBRjFCWnozNnpUNTNFcFl5eHJVQko3cnY5Qm5xT29sdXJXQ09ZK1JxdGo3d3QzK3V2ZmJYdUxMSm55R0RrdkxKK2svWElvbFdSTml2UlJJMEVsWjVITTZlc0xkdjYyQmlTdHJZOTczTlBqOVU1YXBWQzZqT2ZPVGNjSkZtMmcvZHBRWmhmanNLTFNrVXRYNWZVYkhKMHd1Tm1pMjRVelNSMllLbmZCd3hFOW9XaXR5THZXNnMyM2p2ckJMVy9lZFJRcy82ZVo1WE1mZDhKN2FiejY3MTNwaTB6QVFoblAvZEVoQ1MyMytQYi9RbndpT3U4eWM1Nzl1UG5wUnFzN3FPZFBEZjgzcU1LUU9YMyttRUYvYU5hUDBicFAxRG50LzNLWjU4Vlp4WUJQV3ZPWTc5NjloUDk2N3JwK3h0VkxaNzBaT1Nzb2tFV1MrcU81UkZqZ0p6LzF0TWdUdXlaNW9TZWJGcG9EOFdnS2RBNFYzR1ppOWhEemFUYVp1UXVVU3dOeW9jdS9qRVZGRkZCUlNKbE5CSmlYU1ZSeVlvYUF0UStscm9YVGVsang2eE5QQytuYVR1YkRiQ2pDNnJaREZNYXZGVWNoeVZoeTNJa0ZiKzU5eEgzZVJpVkh3alVUZWRubDZyZlp1c1U5bEhqN05mQUJ1TFp2eWR5VE9YcXg5UDRteGVpNGRIOTV4RjVoRURBU2ZUa3JUdDF2bjQvZnNReHJQM21tVGVmWkw1YWVXM3pPSERlL1NyckQvcGowZHIxYlFOOW51RGFidjVJZDlVMmpiZG56bmZndWQ4SkRFVDJoZUxiSkpLYnJIZS9UOWh3VGs5cVNjMlR5aE5iWHA5ait6MXFFbnVDMzlrNDJQYTIzL1E0ZSs3K3oxaU12MzA4WFNKWjEzN2Z4aHkxWHRFdHZmZ3RRYU0yMmFoYVZoU1NKMVdpdm1kUUZGSXdyZ3RHcnFBSUJTRzRsdmllS2RHckFrRjNsdnYyZFFHVHJORXFoUWhBVEdDS1JUUjBTaUtFcHE0cGpTWDRoaVkwcUxIQ2xaNEhKdys1TTd0TG5TVC9WL0RFeE9vNVlOUGljT01IenhsL24vbGFQLzQrLzhhNjA5ZmE4VmtTKzFTN2V3S1B4ZGZENXVQWnVKK0J0SDVuTVJEWkFRTUdEQml3RVk4a1NDbmtVMUlDNmFiS1hIMExkRCs4UXd0NEZRZ21oaFBVR2p4SjBVRGxDTWRBM2RTVTQ1TEdOMVRCb1VZbFMxbHkvMmlQQXg0ODVXSmx3SUFCdjA4WWlPeUFBUU1HRE9od2J0QnpSTGFnQnFJRk5mU1RLZE5XOXg3M2MyTXl3UTI5N1AyZ3dLdFlJeW9vaFpKWTgwdUlOY0RFR0p4QUtEUmhKT3dmNzNOcmNUdUdMQXhFZHNDQWx4NERrUjB3WU1DQWx4U1A5SlkrUnNKS0ZBUjBxMm1hTGEyQzlNaXR0Rm54bXhMdVJNV1FBa2xLSXFRWTJ4aUxFRkRGaUZvRlhLRlJZODF4bUhMajhDWUhITkNrU3ZjREJneDR1VEVRMlFFREJnd1ljQzQyNXAwcDJyb1owclBJNWlRWkxXY051OWthMjRZZHFQdzh5cUtaTEEwb3FxMWdaYXhoSVJWMTRUbVJCVjhlM2ViVzhpNUxLcFRSZUQ5WVpBY01lTmt4RU5rQkF3WU1lTWtoc0txUm1iQ3VTbkdtMUNpNjA0R1ZaSkh0eGNqcTN1T3NScUI2U1YrUUNLdUNJRWttS1dTeUczQXEwR2hQcFIxM3AvdDhzdjhaQnh5enBDRW9HVUlMQmd3WU1CRFpBUU1HREJpd2hrY1EycUE2bmRSY0RRb2lUMVZKbnFqVlFraXY2U1RoMW85VzBMSnFuZldTSzJWRkRkU2dIWFdvYUd6TlRDKzRNOS9uRGdjc2FWQTdCcitjZjBzVnZBWU1HUEJkeGtCa0J3d1lNT0FseHJrMlRRVldXL0RnOFRqbmFJekhCa01JQWFVVk5IV01lUTNTVmkyTDVYYzFTcWxVa0NPeVdBbUJmdDFUSmVBWEZlTnloQm1WWUF5THBzRjdoOWVDdDRHdHkxdDhjdjgyZjdmL0FWL3hGVXNhbkFrRVY4VjZEWnNGUHdjTUdQQVNZU0N5QXdZTUdQQVNvaS9lZng1Q0NDZzBCUVdqMFloU2x4aG5rRnB3ZFVOaExJSkhsQ0pXSnRPZ0FnYU5Vb0w0cUVNclNtRTFvRXo3T1lOdzhmSXVvWEZVYmtrdEhxK0JVb0VOK01MejhiMHYrZXIwRG9jY3NhQ2hKcGE0SGNqcmdBRURNZ1lpTzJEQWdBRXZNVlk0WVk2VHpRVUp4R0VvcWFsWk5qV05iakFldEVTckxDcWdna2RFSVJLM3VVQ3dVb0pTMFd3cW9rQThFaUxobGFCd1VmT0F1bDdTQkErRlFvME5Zb1dwbjNIVXpQbk5nOTl3eERFSEhGUFI0UEJkbHRsalpNSUdEQmp3Y21BZ3NnTUdEQmd3WUNPTU1paFJGSlFvcGFLRjFtaHNXVkFVQm9JSHBaQUFRdHlpZEN0cm9KVkJsRTVsanFPc2xxUndBQzl3WE0vQWVpZ01lcXp3UmMzQjhvaXZEdTl5WjNxUFc5eGlUa05GUTVOSkxLeEtKQXdZTU9DbHhrQmtCd3dZTU9CbHh3YkZBa2dLQkNnMEdoSEJCVS9UTktoYWNGNWhERkZtSUlVVUJGRkk4QVNsa1d5cFZRSEpsbG1sRWVVUkZFRTFUSzV0MFZEVCtDVXpOK1hCOFFHM2orL3cxZXcyUjV3a0FodHdTQ3gzSzRBRGhZckVXZ2JWZ2dFRFhuWU1SSGJBZ0FFREJteEVJT0JUSksweEJxc3RKU1VsRnVxQWx3YUZFSlJIS1lYb1ZKVkxoSUNLWld1MVJsSjhMSUFuaGlWNEJTZk5LYWZ1aEtPVEI5dy92c2U5Wm84VGpxaW9xSERVaW02V1NoWllJMkNJMXQyR3dTZzdZTURMam9ISURoZ3dZTUNBalFpQXdhRFJOTjVSdXhvdkpVb1ZhR3R4dmthMElGcWhkTFNTYWdVK3FzN2lRMGdWd0FJdWhLaDgwRFEwM3JHZzRlUDl6emp4VTZaeXhKUWpIRXRxS2lybFlFUVhDeXZkQVZtZ1JNY1N1WUFidEdRSERIaXBNUkRaQVFNR0RIalprZlJmMTU5cnBhaWw0WkFqM3IveEc0cVpaaUlUZHN3T1JpbUtzVUVwVU1hZ3RVSnBRMUM1VElFd1d5N3g0bW1jcDY0clpuN0pnamxMS21vY2N4dzFEWkwvVkNCb09ta3R2WHBNc2ZaWC9DZURMWGJBZ0FFTWN0SURCZ3dZOEJJak04V3dXUVZBTkFhTlNaR3lOcEZJaGVwTkhuMnpxVW9FczNzZTFwN25yVWNJNlora3VJSDJjWTdaemNjazNaOEJWRHB1bi9ZK1lNQ0FseGNEa1Iwd1lNQ0FBUU1HREJqd3ZZUisvRWNHREJnd1lNQ0FBUU1HRFBqdVlTQ3lBd1lNR0RCZ3dJQUJBNzZYK1A4QjlJS2hWUUxWT0FvQUFBQUFTVVZPUks1Q1lJST1cIlxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwwLDEpXCJcbiAgICAgICAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgaGVpZ2h0PXsxfVxuICAgICAgICAgICAgICAgIHdpZHRoPXsxfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPiAqL31cbiAgICAgICAgPC9nPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM1NC0yXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDc5Mi41Miw0OTQuODIgLTEuNTUsNC44NCAtMi44NSwtMC45MSBjIC0xLjg1LC0wLjU5IC0yLjk3LC0xLjA0IC0zLjM4LC0xLjM0IC0wLjQxLC0wLjMxIC0wLjY5LC0wLjY5IC0wLjgzLC0xLjE1IC0wLjEzLC0wLjQ3IC0wLjExLC0wLjk5IDAuMDcsLTEuNTYgMC4yMSwtMC42NCAwLjU0LC0xLjEgMS4wMSwtMS4zOSAwLjQ3LC0wLjI4IDEuMDMsLTAuMzggMS42OSwtMC4yOCAwLjMzLDAuMDUgMS4yNywwLjMzIDIuODMsMC44MyB6IG0gNC44OCwtMS45OSAtOC4xMSwtMi41OSBjIC0yLjAzLC0wLjY2IC0zLjU3LC0wLjk2IC00LjYsLTAuOTEgLTEuMDMsMC4wNSAtMS45NywwLjQyIC0yLjgsMS4xMiAtMC44NCwwLjcgLTEuNDMsMS42MSAtMS44LDIuNzQgLTAuNDUsMS40MyAtMC40MSwyLjc0IDAuMTMsMy45NCAwLjU1LDEuMiAxLjYyLDIuMTkgMy4yMSwyLjk3IC0wLjk5LDAuMjIgLTEuODQsMC41MyAtMi41NywwLjk0IC0wLjczLDAuNDEgLTEuNzksMS4yMSAtMy4xOCwyLjQgbCAtMy41MiwyLjk3IDQuNjEsMS40NyA0LjEsLTMuMjYgYyAxLjQ3LC0xLjE2IDIuNDQsLTEuODggMi45MywtMi4xNSAwLjQ5LC0wLjI3IDAuOTYsLTAuNDEgMS40MSwtMC40MiAwLjQ1LC0wLjAyIDEuMTIsMC4xMiAyLjAxLDAuNCBsIDAuNzgsMC4yNSAtMi41NSw3Ljk2IDMuODUsMS4yMyB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNTYtNFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3NjkuMDYsNDg0LjU3IC0xNC41NCwtMi45NiAtMC42OCwzLjMyIDEwLjU4LDIuMTUgLTAuODgsNC4zNSAtOS44NSwtMi4wMSAtMC42NywzLjMxIDkuODQsMiAtMS4wOCw1LjM0IC0xMC45NiwtMi4yMyAtMC42NywzLjMxIDE0LjkxLDMuMDMgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzU4LTc3XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDc0MS41NSw0NzkuNzEgLTEzLjY1LC0xLjM1IC0wLjM0LDMuMzcgOS42NCwwLjk1IC0wLjQ3LDQuNzEgLTguMzEsLTAuODIgLTAuMzQsMy4zNyA4LjMyLDAuODIgLTAuODQsOC40NyA0LjAyLDAuMzkgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzYwLTVcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzE1LjIxLDQ3Ny45MyBoIC00LjA0IGwgLTAuMDEsMTYuNDggaCAtMTAuMDUgdiAzLjM3IGggMTQuMDkgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzYyLTRcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNjg4LjgzLDQ3OC40IC0xNC43NywxLjUgMC4zNCwzLjM3IDEwLjc1LC0xLjA5IDAuNDUsNC40MSAtMTAsMS4wMiAwLjM0LDMuMzUgMTAsLTEuMDEgMC41NSw1LjQyIC0xMS4xMywxLjEzIDAuMzQsMy4zNSAxNS4xNSwtMS41NCB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNjQtOFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2NTIuNSw0ODMuMzkgYyAtMi4zOSwwLjUxIC00LjE4LDEuNjMgLTUuMzgsMy4zNiAtMC43MSwxLjAzIC0xLjEyLDIuMzcgLTEuMjMsNC4wMyBsIDQuMTEsMC4xIGMgMC4wMSwtMS4wNiAwLjMyLC0xLjk2IDAuOTMsLTIuNzEgMC42MSwtMC43NCAxLjQ0LC0xLjIyIDIuNDksLTEuNDUgMS40NSwtMC4zMSAyLjc0LC0wLjA0IDMuODcsMC44MSAxLjEyLDAuODUgMS45MywyLjQ0IDIuNDMsNC43NyAwLjUzLDIuNDggMC40Niw0LjM0IC0wLjIxLDUuNTggLTAuNjcsMS4yNCAtMS43MSwyLjAxIC0zLjEzLDIuMzEgLTEuMDYsMC4yMiAtMi4wMywwLjA4IC0yLjkzLC0wLjQyIC0wLjksLTAuNTEgLTEuNjYsLTEuNDQgLTIuMywtMi44MSBsIC0zLjU3LDIuMDMgYyAxLjA0LDIuMDEgMi4zNSwzLjM5IDMuOTQsNC4xNCAxLjU5LDAuNzUgMy40MywwLjkgNS41MywwLjQ1IDIuNiwtMC41NiA0LjU1LC0xLjkgNS44NSwtNC4wMyAxLjI5LC0yLjEzIDEuNjEsLTQuNzQgMC45NiwtNy44MiAtMC43LC0zLjI2IC0yLjA4LC01LjYxIC00LjE0LC03LjA1IC0yLjA3LC0xLjQ1IC00LjQ3LC0xLjg4IC03LjIyLC0xLjI5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2Ni0xXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDYzMy43NCw0ODguMzggLTE1LjEyLDQuOTMgMS4wNSwzLjIyIDUuNjMsLTEuODMgNS4xNiwxNS44IDMuODQsLTEuMjUgLTUuMTYsLTE1LjgxIDUuNjUsLTEuODQgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxnIGlkPVwiZzc0NC05XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNzUwLTUpXCIgaWQ9XCJnNzQ2LTNcIj5cbiAgICAgICAgICAgIDxnXG4gICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgyNDguNjQsMCwwLDIxNC41Niw1OTIuNTYsNjA4LjA0KVwiXG4gICAgICAgICAgICAgIGlkPVwiZzc1Mi02XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnXG4gICAgICAgICAgaWQ9XCJnN1wiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoMTc5LjA1Njg3LDcwOC44Mzk0Niw3MDUuODAwNzkpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc2MjBcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkyNS4xMzY0NywxNy4wNzk1MjkpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDYyNilcIiBpZD1cImc2MjJcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ2MzBcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMDguNDgsODExLjU0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW42MjhcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJ0byBpbmNsdWRlIHZhcmlldHkgb2YgZGlmZmVyZW50IFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzYzMlwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTI1LjEzNjQ3LDE3LjA3OTUyOSlcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNjM4KVwiIGlkPVwiZzYzNFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDY0MlwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDkxLjIsNzg3LjU0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW42NDBcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDEwLjAyIDE0LjQwODc2IDI1LjU1MTAwMSA0MC4wNTk5NTkgNTEuMjAyMjAyIDYyLjM0NDQ0IDY2Ljc5MzMyIDc3LjkzNTU2MiA4My41MDY2ODMgOTMuNTI2NjggOTguOTc3NTYyIDExMC4xMTk4IDExNS42OTA5MiAxMjEuMDYxNjQgMTMxLjA4MTYzIDEzNi42NTI3NiAxNDcuNzk1IDE1Ny44NzUxMiAxNjkuMDE3MzYgMTgwLjE1OTYxIDE5MS4zMDE4MyAxOTUuNzUwNzIgMjA2LjkzMzA0IDIxOC4wNzUyOSAyMjQuNzg4NjggMjM0LjgwODY5IDIzOS44OTg4MyAyNTEuMDQxMDggMjYyLjE4MzMyIDI3My4zMjU1NlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widmlld3BvaW50cyBvZiBzdGFrZWhvbGRlcnMgYW5kIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzY0NFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTI1LjEzNjQ3LDE3LjA3OTUyOSlcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNjUwKVwiIGlkPVwiZzY0NlwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDY1NFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDg1LjY4LDc2My41NClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNjUyXCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCA1LjU3MTExOTggMTYuNzEzMzYgMjcuODU1NiAzMy4yNDYzNjEgNDQuMzg4NTk5IDU1LjUzMDg0MiA2Ni42NzMwOCA3MS4xMjE5NjQgNzUuNTcwODM5IDg1LjY3MDk5OCA5MS4wNjE3NiAxMDIuMjA0IDExMy4zNDYyNCAxMTguOTE3MzYgMTMwLjA1OTYgMTQxLjIwMTg0IDE0Ni43NzI5NiAxNTEuMjIxODUgMTYyLjM2NDA3IDE2Ni44MTI5NiAxNzEuMjYxODQgMTgxLjE4MTY0IDE4Ni43NTI3NiAxOTcuODk1IDIwMy4zODU5NiAyMDguOTU3MDggMjIwLjA5OTMyIDIzMC4xMTkzMiAyMzUuNjkwNDQgMjQ2LjgzMjY5IDI1Ny45NzQ5MSAyNjMuMjY1NDcgMjc0LjQwNzcxIDI4NC40Mjc3M1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widGhlIHB1YmxpYyBwb3RlbnRpYWxseSBlZmZlY3RlZCBieSBcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc2NTZcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkyNS4xMzY0NywxNy4wNzk1MjkpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDY2MilcIiBpZD1cImc2NThcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ2NjZcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxODAuNiw3MzkuNTQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjY2NFwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgMTEuMTQyMjQgMjIuMjg0NDc5IDI5LjAxNzkyIDM0LjI4ODQ0MSA0NS40MzA2NzkgNTIuMTQ0MDgxIDYzLjI4NjMyIDY3LjczNTE5OSA3OC44Nzc0NDEgODguOTU3NTU4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJvdXIgcHJvamVjdFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzY2OFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTI1LjEzNjQ3LDE3LjA3OTUyOSlcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNjc0KVwiIGlkPVwiZzY3MFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDY3OFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDg5LjQsNjkxLjU0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW42NzZcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDUuNTcxMTE5OCAxNi43MTMzNiAyMi4wODQwOCAzMy4yMjYzMTggNDQuMzY4NTYxIDQ4LjgxNzQ0IDU5Ljk1OTY3OSA2NS41MzA4IDc2LjY3MzA0MiA4Mi4wODM4MzkgOTMuMjI2MDgyIDEwNC4zNjgzMiAxMTUuNTEwNTYgMTI2LjcxMjkyIDEzNy44NTUxNiAxNDQuNTY4NTYgMTQ5LjgzOTA4IDE2MC45ODEzMiAxNzIuMTIzNTcgMTgzLjI2NTc5IDE5NC40NjgxNSAyMDEuMTQxNDggMjExLjI0MTY0IDIxNi44MTI3NiAyMjcuOTU1IDIzOS4wOTcyNCAyNTAuMTE5MjUgMjU0LjU2ODEyIDI2NS43MTAzNiAyNzYuODUyNlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widG8gZ2FpbiBhIGRlZXBlciB1bmRlcnN0YW5kaW5nIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzY4MFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTI1LjEzNjQ3LDE3LjA3OTUyOSlcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNjg2KVwiIGlkPVwiZzY4MlwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDY5MFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDE4MS4yLDY2Ny41NClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNjg4XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAyMi4yODQ0NzkgMjkuMDE3OTIgMzQuMjg4NDQxIDM4LjczNzMyIDU1LjQzMDY0MSA2Ni41NzI4ODQgNzcuNzE1MTE4IDg3Ljc5NTI0MlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wib3VyIGltcGFjdFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzY5MlwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTI1LjEzNjQ3LDE3LjA3OTUyOSlcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNjk4KVwiIGlkPVwiZzY5NFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDcwMlwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEwOC45Niw2MTkuNTQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhbiBpZD1cInRzcGFuNzAwXCIgeT17MH0geD17MH0+XG4gICAgICAgICAgICAgICAgICB7XCJ0XCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNzA0XCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg5MjUuMTM2NDcsMTcuMDc5NTI5KVwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg3MTApXCIgaWQ9XCJnNzA2XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NzE0XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTE0LjQ4LDYxOS41NClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNzEyXCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAxNi41NTMwNCAyNy42OTUyOCAzOC44Mzc1MjEgNDguOTM3Njc5IDYwLjA3OTkyMiA2Ni43OTMzMiA3Ny45MzU1NjIgODMuMjI2MTIgOTQuMzY4MzYyIDk5LjkzOTQ4NCAxMDQuMzg4MzYgMTA4LjgzNzI0IDExMy4yODYxMiAxMjMuMzA2MTIgMTM0LjQ0ODM2IDE0MC4wMTk0OSAxNDQuNDY4MzUgMTU1LjYxMDYgMTY2Ljc1Mjg0IDE3Mi4xNDM2IDE4My4yODU4NCAxODguODU2OTYgMTk0LjM0NzkyIDIwNS40OTAxNiAyMTYuNjMyNCAyMjYuNzMyNTYgMjMyLjMwMzY4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJvIGVuc3VyZSB1dGlsaXphdGlvbiBvZiBwYXN0IFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzcxNlwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTI1LjEzNjQ3LDE3LjA3OTUyNSlcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNzIyKVwiIGlkPVwiZzcxOFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDcyNlwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEwNS42LDU5NS41NClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNzI0XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAyMS4xNjIyMzkgMzIuMzA0NDgyIDQzLjQ0NjcyIDUwLjEyMDA0MSA1NC41Njg5MiA2NS43MTExNTkgNzYuODkzNDc4IDg2LjkxMzQ4MyA5OC4xMTU4MzcgMTA4LjEzNTg0IDExMy4zNDYyNCAxMjQuNDg4NDggMTMwLjA1OTYgMTM1LjQzMDMxIDEzOS44NzkyIDE1MS4wMjE0NCAxNjIuMTYzNjggMTczLjMwNTkyIDE4My40MDYwOCAxODguOTc3MiAxOTUuNjUwNTEgMjAwLjA5OTQgMjExLjI0MTY0IDIyMS4zMDE3MyAyMjYuNTcyMjQgMjM3LjcxNDQ4IDI0NC40Mjc4OVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiZXhwZXJpZW5jZXMgb2YgaW5kdXN0cmllcyBvciBcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc3MjhcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkyNS4xMzY0NywxNy4wNzk1MjkpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDczNClcIiBpZD1cImc3MzBcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ3MzhcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxODEuMDgsNTcxLjU0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW43MzZcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDQuNDQ4ODgwMiAxNS41OTExMiAyNi43MzMzNiAzMS4xODIyNCA0MS4yMDIyNCA0NS42NTExMTkgNTYuNzkzMzYyIDY3LjkzNTYgNzkuMDc3ODQzIDgzLjUyNjcxOFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiaW5kaXZpZHVhbHNcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8Z1xuICAgICAgICBpZD1cInJlZmxlY3RcIlxuICAgICAgICBjbGFzc05hbWU9XCJocDMgcmVmbGVjdC12ZXJzaW9uXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICB9fVxuICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoODkuODU4MDk3LDcwNy44MzY1NSw3MDYuOTYzMjMpXCJcbiAgICAgID5cbiAgICAgICAgPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgYW50aWNpcGF0ZS12ZXJzaW9uXCIsIGNsYXNzdG9IaWRlOiBcImhwM1wifSl9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicmVmbGVjdC1hbnRpY2lwYXRlXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA4OTQuNSw4OTAuMDMgLTYuNDgsLTUxLjggLTQ5LjU3LC02LjE5IGMgMzEuNjMsLTMyLjU3IDUxLjEyLC03Ny4wMSA1MS4xMiwtMTI2LjAxIDAsLTQwLjE3IC0xMy4xLC03Ny4yNyAtMzUuMjQsLTEwNy4yOCBsIDYuNSwtNTIuMTEgNTAuMiwtNi4yOCBjIDM2Ljk3LDQ1LjExIDU5LjE3LDEwMi44IDU5LjE3LDE2NS42NyAwLDcxLjc2IC0yOC45MSwxMzYuNzYgLTc1LjcsMTg0IHpcIlxuICAgICAgICAvPiA8L2E+XG4gICAgICAgIDxhIG9uQ2xpY2s9e29wZW5DbGFzc2VzKHtjbGFzc05hbWU6IFwiaHAzIGFjdC12ZXJzaW9uXCIsIGNsYXNzdG9IaWRlOiBcImhwM1wifSl9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicmVmbGVjdC1hY3RcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcwOC43LDk2Ny40MyBjIC03MS43MywwIC0xMzYuNzEsLTI4LjkgLTE4My45NCwtNzUuNjkgbCA1MS43OCwtNi40OCA2LjE5LC00OS41OCBjIDMyLjU3LDMxLjY0IDc3LDUxLjEzIDEyNS45Nyw1MS4xMyA0MC4xNiwwIDc3LjI1LC0xMy4xIDEwNy4yNSwtMzUuMjUgbCA1Mi4xLDYuNTEgNi4yNyw1MC4yMSBjIC00NS4wOSwzNi45NiAtMTAyLjc2LDU5LjE1IC0xNjUuNjIsNTkuMTUgelwiXG4gICAgICAgIC8+IDwvYT5cbiAgICAgICAgPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgZW5nYWdlLXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJyZWZsZWN0LWVuZ2FnZVwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiI2NlOWZjOVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNTA2LjQxLDg3MS42NyBjIC0zNi45NywtNDUuMSAtNTkuMTYsLTEwMi43OSAtNTkuMTYsLTE2NS42NiAwLC03MS43NiAyOC45LC0xMzYuNzYgNzUuNywtMTg0IGwgNi40Niw1MS43OSA0OS41OSw2LjIgYyAtMzEuNjQsMzIuNTcgLTUxLjEzLDc3LjAxIC01MS4xMywxMjYuMDEgMCw0MC4xNiAxMy4xLDc3LjI2IDM1LjI1LDEwNy4yOCBsIC02LjUxLDUyLjExIHpcIlxuICAgICAgICAvPiA8L2E+XG4gICAgICAgIDxhIG9uQ2xpY2s9e29wZW5DbGFzc2VzKHtjbGFzc05hbWU6IFwiaHAzIHJlZmxlY3QtdmVyc2lvblwiLCBjbGFzc3RvSGlkZTogXCJocDNcIn0pfT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInJlZmxlY3QtcmVmbGVjdFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gODM0LjY4LDU3Ni4yMyBjIC0zMi41NywtMzEuNjMgLTc3LjAxLC01MS4xMiAtMTI2LjAxLC01MS4xMiAtNDAuMTYsMCAtNzcuMjYsMTMuMSAtMTA3LjI3LDM1LjI0IGwgLTUyLjEyLC02LjUgLTYuMjcsLTUwLjIgYyA0NS4xLC0zNi45OCAxMDIuNzgsLTU5LjE3IDE2NS42NiwtNTkuMTcgNzEuNzYsMCAxMzYuNzUsMjguOTEgMTg0LjAxLDc1LjcgbCAtNTEuODEsNi40OCB6XCJcbiAgICAgICAgLz48L2E+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNjQtNDQtMVwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2ODYuMTcsOTI2LjYgLTEuMzMsLTcuNzkgNS4zNywwLjk4IHogbSAtMi45LDQuMjIgNC4yMSwwLjc3IDExLjQ4LC0xOC4yNSAtNC4zMywtMC43OSAtMi41Myw0LjE2IC03Ljg3LC0xLjQ0IC0wLjgxLC00Ljc3IC00LjIyLC0wLjc3IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDY2LTQtOVwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3MTYuNzksOTM0LjE4IGMgMi40NSwtMC4wMiA0LjQzLC0wLjc3IDUuOTQsLTIuMjMgMC45LC0wLjg3IDEuNTcsLTIuMSAyLjAxLC0zLjcxIGwgLTQuMDEsLTAuOTEgYyAtMC4yMywxLjA0IC0wLjcxLDEuODYgLTEuNDYsMi40NyAtMC43NCwwLjYxIC0xLjY1LDAuOTIgLTIuNzIsMC45MyAtMS40OSwwLjAyIC0yLjcsLTAuNSAtMy42MywtMS41NiAtMC45NCwtMS4wNiAtMS40MiwtMi43NyAtMS40NCwtNS4xNiAtMC4wMywtMi41MyAwLjQxLC00LjM0IDEuMzEsLTUuNDIgMC45LC0xLjA4IDIuMDcsLTEuNjMgMy41MywtMS42NSAxLjA3LC0wLjAxIDIsMC4zMiAyLjc4LDEgMC43OCwwLjY3IDEuMzUsMS43NCAxLjcsMy4yIGwgMy45MSwtMS4yOCBjIC0wLjYzLC0yLjE4IC0xLjY0LC0zLjc5IC0zLjA1LC00Ljg0IC0xLjQxLC0xLjA0IC0zLjE5LC0xLjU1IC01LjM0LC0xLjUzIC0yLjY1LDAuMDMgLTQuODMsMC45NiAtNi41MiwyLjc5IC0xLjY5LDEuODMgLTIuNTIsNC4zMiAtMi40OSw3LjQ3IDAuMDQsMy4zMyAwLjkyLDUuOTEgMi42Niw3Ljc0IDEuNzQsMS44MiA0LjAxLDIuNzIgNi44MiwyLjY5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDY4LTQtNlwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3MzcuMzksOTMyLjQyIDE1LjYyLC0zLjAxIC0wLjY0LC0zLjMzIC01LjgyLDEuMTMgLTMuMTUsLTE2LjMzIC0zLjk3LDAuNzcgMy4xNSwxNi4zMiAtNS44MywxLjEzIHpcIlxuICAgICAgICAvPlxuICAgICAgICA8ZyBpZD1cImc3MC03LTlcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg3Ni0xLTApXCIgaWQ9XCJnNzItNjMtM1wiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoNzgtMTctM1wiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gNDk0LjM4LDYyNS4zNyAtMy45NywxNC4zIDMuMjYsMC45MSAyLjg5LC0xMC40MSA0LjI3LDEuMTkgLTIuNjksOS42OCAzLjI1LDAuOSAyLjY5LC05LjY4IDUuMjUsMS40NiAtMi45OSwxMC43NyAzLjI1LDAuOTEgNC4wNywtMTQuNjcgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImc4MC01LThcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg4Ni05LTEpXCIgaWQ9XCJnODItOS0wXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGg4OC02LTVcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ4Ny41Myw2NTIuNSAtMC42NSwzLjg4IDExLjgzLDEwLjI5IC0xMy4xOCwtMi4yMSAtMC42MywzLjcgMTkuNzQsMy4zMSAwLjY3LC00IC0xMS41NCwtMTAuMTEgMTIuODgsMi4xNSAwLjYyLC0zLjcgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImc5MC0yMS02XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoOTYtOS01KVwiIGlkPVwiZzkyLTctNlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoOTgtOC00XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODIuNDgsNjkwLjkyIGMgLTAuMTQsMi40OCAwLjI3LDQuNDUgMS4yMyw1LjkgMC45NiwxLjQ1IDIuMzUsMi40MyA0LjE2LDIuOTMgbCAwLjk4LC0zLjk2IGMgLTAuOTcsLTAuMzQgLTEuNzEsLTAuOTEgLTIuMjQsLTEuNzIgLTAuNTIsLTAuODEgLTAuNzUsLTEuNzkgLTAuNjksLTIuOTYgMC4xLC0xLjc2IDAuNzQsLTMuMTMgMS45MiwtNC4xMSAxLjE3LC0wLjk4IDIuODYsLTEuNCA1LjA2LC0xLjI4IDIuMzcsMC4xMyA0LjEyLDAuNzYgNS4yNSwxLjg4IDEuMTIsMS4xMiAxLjY0LDIuNTQgMS41NCw0LjI1IC0wLjA0LDAuODQgLTAuMjYsMS42OCAtMC42NCwyLjUxIC0wLjM4LDAuODMgLTAuODIsMS41NCAtMS4zMywyLjEyIGwgLTIuNTMsLTAuMTQgMC4yNiwtNC42MiAtMy4zNywtMC4xOSAtMC40OSw4LjY5IDcuOTYsMC40NSBjIDAuODcsLTAuOCAxLjY2LC0xLjk4IDIuMzcsLTMuNTUgMC43MSwtMS41NyAxLjEyLC0zLjE4IDEuMjEsLTQuODIgMC4xMiwtMi4wOSAtMC4yMiwtMy45NCAtMS4wMSwtNS41NCAtMC43OSwtMS42MSAtMS45OCwtMi44NCAtMy41NywtMy43MiAtMS41OCwtMC44NyAtMy4zMywtMS4zNiAtNS4yNSwtMS40NyAtMi4wOCwtMC4xMiAtMy45NiwwLjIyIC01LjYyLDEgLTEuNjcsMC43OCAtMi45OCwxLjk5IC0zLjk0LDMuNjIgLTAuNzQsMS4yNCAtMS4xNiwyLjgyIC0xLjI2LDQuNzMgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMDAtNS0wXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTA2LTktMSlcIiBpZD1cImcxMDItNy0wXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMDgtNC00XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODcuNDMsNzIwLjU2IDcuMjgsLTMuMDkgMC4yOSw1LjQ1IHogbSAtNC43NywtMS44NCAwLjIzLDQuMjcgMjAuNDEsNi45NSAtMC4yNCwtNC4zOSAtNC42MywtMS41MSAtMC40MiwtNy45OSA0LjQ1LC0xLjg5IC0wLjIzLC00LjI4IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTEwLTEtNlwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDExNi03LTgpXCIgaWQ9XCJnMTEyLTgtMlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTE4LTUtNlwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gNDg1Ljc2LDc1MS42MSBjIDAuNCwyLjQ1IDEuMjMsNC4yOCAyLjQ4LDUuNDkgMS4yNiwxLjIxIDIuODMsMS44NyA0LjcxLDEuOTcgbCAwLjA5LC00LjA5IGMgLTEuMDIsLTAuMTIgLTEuODcsLTAuNTEgLTIuNTYsLTEuMTkgLTAuNjksLTAuNjggLTEuMTIsLTEuNTkgLTEuMzEsLTIuNzQgLTAuMjksLTEuNzQgMC4wNCwtMy4yMiAwLjk3LC00LjQzIDAuOTQsLTEuMjEgMi40OSwtMS45OSA0LjY3LC0yLjM1IDIuMzQsLTAuMzggNC4xOCwtMC4xNSA1LjUzLDAuNyAxLjM0LDAuODUgMi4xNSwyLjEyIDIuNDMsMy44MSAwLjEzLDAuODMgMC4xMSwxLjcgLTAuMDgsMi41OSAtMC4xOSwwLjg5IC0wLjQ3LDEuNjggLTAuODQsMi4zNiBsIC0yLjUxLDAuNDEgLTAuNzQsLTQuNTcgLTMuMzMsMC41NSAxLjQxLDguNiA3Ljg3LC0xLjMgYyAwLjY3LC0wLjk2IDEuMTgsLTIuMjkgMS41NCwtMy45OCAwLjM1LC0xLjY4IDAuMzksLTMuMzQgMC4xMywtNC45NyAtMC4zNCwtMi4wNiAtMS4wNywtMy43OSAtMi4xOSwtNS4xOCAtMS4xMiwtMS40IC0yLjU1LC0yLjM1IC00LjI5LC0yLjg2IC0xLjczLC0wLjUgLTMuNTUsLTAuNiAtNS40NSwtMC4yOSAtMi4wNSwwLjM0IC0zLjgxLDEuMDcgLTUuMjcsMi4xOSAtMS40NSwxLjEzIC0yLjQ3LDIuNTkgLTMuMDUsNC4zOSAtMC40NSwxLjM4IC0wLjUyLDMuMDEgLTAuMjEsNC44OSB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzEyMC05LTdcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxMjYtMS0wKVwiIGlkPVwiZzEyMi03LTVcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDEyOC01LTZcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ5MC40Miw3NzIuOTkgMy45NywxNC4zIDMuMjYsLTAuOSAtMi44OSwtMTAuNDEgNC4yOCwtMS4xOSAyLjY5LDkuNjkgMy4yNCwtMC45MSAtMi42OCwtOS42OCA1LjI1LC0xLjQ1IDIuOTksMTAuNzcgMy4yNSwtMC45IC00LjA3LC0xNC42NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzEzMC0zOC05XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTM2LTUtNClcIiBpZD1cImcxMzItOC04XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMzgtMy03XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MTIuNzcsODEwLjIgLTcuODksLTAuNSAyLjE5LC01IHogbSAzLjQ0LDMuNzkgMS43MSwtMy45MiAtMTUuMTIsLTE1LjM2IC0xLjc2LDQuMDIgMy40NiwzLjQzIC0zLjIsNy4zMiAtNC44MywtMC4zIC0xLjcyLDMuOTIgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNDAtMS0yXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTQ2LTctMilcIiBpZD1cImcxNDItOC04XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNDgtOS0yXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MjQuOTEsNzkyLjM4IDEuMTcsLTMuNzUgLTEwLjMxLC0xMS44MSAxMi43NiwzLjk5IDEuMTIsLTMuNTggLTE5LjExLC01Ljk3IC0xLjIxLDMuODcgMTAuMDUsMTEuNTkgLTEyLjQ1LC0zLjg5IC0xLjEyLDMuNTggelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNTAtNi05XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTU2LTMtOClcIiBpZD1cImcxNTItNC05XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNTgtMy02XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzIuNTcsNzY1Ljg4IDMuMTUsLTE1LjU5IC0zLjMyLC0wLjY3IC0xLjE3LDUuODEgLTE2LjMsLTMuMjkgLTAuOCwzLjk2IDE2LjMsMy4yOSAtMS4xOCw1LjgyIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTYwLTMtMFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE2Ni02LTIpXCIgaWQ9XCJnMTYyLTM4LTJcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE2OC02LTdcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzNy4yNiw3MzkuMjcgMC40OCwtNC4wMSAtMTkuODcsLTIuMzkgLTAuNDgsNC4wMSB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzE3MC0wLTZcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNzYtOS00KVwiIGlkPVwiZzE3Mi00LTFcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE3OC04LTNcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzOS41OCw3MTQuMjkgYyAwLjA4LC0yLjQ0IC0wLjU3LC00LjQ2IC0xLjk3LC02LjAzIC0wLjgyLC0wLjk0IC0yLjAzLC0xLjY2IC0zLjYyLC0yLjE3IGwgLTEuMDgsMy45NyBjIDEuMDMsMC4yNyAxLjgzLDAuNzkgMi40LDEuNTYgMC41OCwwLjc3IDAuODUsMS42OSAwLjgxLDIuNzYgLTAuMDUsMS40OSAtMC42MiwyLjY3IC0xLjcxLDMuNTYgLTEuMSwwLjg5IC0yLjg0LDEuMjkgLTUuMjIsMS4yMSAtMi41MywtMC4wOCAtNC4zMiwtMC42IC01LjM2LC0xLjU0IC0xLjA0LC0wLjk1IC0xLjU0LC0yLjE1IC0xLjQ5LC0zLjYgMC4wMywtMS4wOCAwLjQxLC0xLjk5IDEuMTEsLTIuNzQgMC43MSwtMC43NSAxLjgsLTEuMjcgMy4yOCwtMS41NiBsIC0xLjExLC0zLjk1IGMgLTIuMjEsMC41MiAtMy44NiwxLjQ3IC00Ljk3LDIuODMgLTEuMSwxLjM2IC0xLjY5LDMuMTEgLTEuNzYsNS4yNiAtMC4wOSwyLjY2IDAuNzQsNC44NyAyLjUsNi42NCAxLjc2LDEuNzcgNC4yMSwyLjcxIDcuMzYsMi44MSAzLjMzLDAuMTEgNS45NCwtMC42NiA3Ljg0LC0yLjMyIDEuOSwtMS42NSAyLjksLTMuODggMi45OSwtNi42OSB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzE4MC04OC0yXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTg2LTgtMilcIiBpZD1cImcxODItOS0xXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxODgtNy01XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzkuMSw2OTQuMjcgLTAuMjIsLTQuMDMgLTE5Ljk4LDEuMDkgMC4yMSw0LjAzIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTkwLTctOVwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE5Ni0yOS0wKVwiIGlkPVwiZzE5Mi02LTlcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE5OC00My0xXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzMuOTgsNjc0LjI1IC01LjYyLDAuNzkgLTAuMzEsLTIuMTkgYyAtMC4yMiwtMS41OCAtMC4yNiwtMi42NSAtMC4xMywtMy4yMSAwLjEzLC0wLjU2IDAuNCwtMS4wMiAwLjgsLTEuMzggMC40LC0wLjM3IDAuODksLTAuNTkgMS40OCwtMC42NyAwLjcyLC0wLjEgMS4zNCwwLjAyIDEuODcsMC4zOCAwLjUzLDAuMzYgMC45LDAuODYgMS4xMSwxLjQ5IDAuMTUsMC40NiAwLjMzLDEuNDIgMC41MywyLjg2IHogbSAzLjkyLDMuNTMgLTAuOSwtNi40MiBjIC0wLjM0LC0yLjQzIC0wLjY2LC00IC0wLjk2LC00LjcxIC0wLjQ2LC0xLjEgLTEuMjQsLTEuOTYgLTIuMzQsLTIuNTkgLTEuMTEsLTAuNjIgLTIuNDUsLTAuODMgLTQuMDMsLTAuNiAtMS4yMSwwLjE3IC0yLjIsMC41MyAtMi45NywxLjA5IC0wLjc3LDAuNTYgLTEuMzQsMS4yMSAtMS43MiwxLjk1IC0wLjM4LDAuNzUgLTAuNTksMS40OSAtMC42NSwyLjIxIC0wLjA1LDAuOTggMC4wNCwyLjM4IDAuMyw0LjE5IGwgMC4zNiwyLjYxIC03LjQ3LDEuMDUgMC41Niw0IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMjAwLTAtNFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDIwNi05LTIpXCIgaWQ9XCJnMjAyLTMtOVwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMjA4LTA5LTFcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkyNy4wMSw2NDQuMzcgLTYuNTMsNC40NSAtMS4zNSwtNS4yOSB6IG0gNS4wNCwwLjg4IC0xLjA1LC00LjE1IC0yMS4zOCwtMi44MyAxLjA5LDQuMjYgNC44MywwLjU3IDEuOTcsNy43NiAtNCwyLjcyIDEuMDYsNC4xNSB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzIxMC0yLTBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyMTYtOC05KVwiIGlkPVwiZzIxMi01LTdcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDIxOC00LTVcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkyNi4wNyw2MjQuMTkgLTUuNTIsLTE0LjkyIC0zLjE4LDEuMTggMi4wNiw1LjU2IC0xNS41OSw1Ljc3IDEuNCwzLjc5IDE1LjU5LC01Ljc3IDIuMDYsNS41NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzIyMC0wLThcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyMjYtNS04KVwiIGlkPVwiZzIyMi01LTdcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDIyOC05LTBcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkxNi4wNiw1OTguODggLTYuNTMsLTEzLjMzIC0zLjA0LDEuNDkgNC43NSw5LjcgLTMuOTgsMS45NSAtNC40MiwtOS4wMyAtMy4wMywxLjQ5IDQuNDIsOS4wMiAtNC45LDIuNCAtNC45MSwtMTAuMDUgLTMuMDMsMS40OSA2LjY5LDEzLjY3IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNTQtMi00XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDc5Mi41Miw0OTQuODIgLTEuNTUsNC44NCAtMi44NSwtMC45MSBjIC0xLjg1LC0wLjU5IC0yLjk3LC0xLjA0IC0zLjM4LC0xLjM0IC0wLjQxLC0wLjMxIC0wLjY5LC0wLjY5IC0wLjgzLC0xLjE1IC0wLjEzLC0wLjQ3IC0wLjExLC0wLjk5IDAuMDcsLTEuNTYgMC4yMSwtMC42NCAwLjU0LC0xLjEgMS4wMSwtMS4zOSAwLjQ3LC0wLjI4IDEuMDMsLTAuMzggMS42OSwtMC4yOCAwLjMzLDAuMDUgMS4yNywwLjMzIDIuODMsMC44MyB6IG0gNC44OCwtMS45OSAtOC4xMSwtMi41OSBjIC0yLjAzLC0wLjY2IC0zLjU3LC0wLjk2IC00LjYsLTAuOTEgLTEuMDMsMC4wNSAtMS45NywwLjQyIC0yLjgsMS4xMiAtMC44NCwwLjcgLTEuNDMsMS42MSAtMS44LDIuNzQgLTAuNDUsMS40MyAtMC40MSwyLjc0IDAuMTMsMy45NCAwLjU1LDEuMiAxLjYyLDIuMTkgMy4yMSwyLjk3IC0wLjk5LDAuMjIgLTEuODQsMC41MyAtMi41NywwLjk0IC0wLjczLDAuNDEgLTEuNzksMS4yMSAtMy4xOCwyLjQgbCAtMy41MiwyLjk3IDQuNjEsMS40NyA0LjEsLTMuMjYgYyAxLjQ3LC0xLjE2IDIuNDQsLTEuODggMi45MywtMi4xNSAwLjQ5LC0wLjI3IDAuOTYsLTAuNDEgMS40MSwtMC40MiAwLjQ1LC0wLjAyIDEuMTIsMC4xMiAyLjAxLDAuNCBsIDAuNzgsMC4yNSAtMi41NSw3Ljk2IDMuODUsMS4yMyB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNTYtNC04XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDc2OS4wNiw0ODQuNTcgLTE0LjU0LC0yLjk2IC0wLjY4LDMuMzIgMTAuNTgsMi4xNSAtMC44OCw0LjM1IC05Ljg1LC0yLjAxIC0wLjY3LDMuMzEgOS44NCwyIC0xLjA4LDUuMzQgLTEwLjk2LC0yLjIzIC0wLjY3LDMuMzEgMTQuOTEsMy4wMyB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNTgtNzctMFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3NDEuNTUsNDc5LjcxIC0xMy42NSwtMS4zNSAtMC4zNCwzLjM3IDkuNjQsMC45NSAtMC40Nyw0LjcxIC04LjMxLC0wLjgyIC0wLjM0LDMuMzcgOC4zMiwwLjgyIC0wLjg0LDguNDcgNC4wMiwwLjM5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2MC01LTRcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzE1LjIxLDQ3Ny45MyBoIC00LjA0IGwgLTAuMDEsMTYuNDggaCAtMTAuMDUgdiAzLjM3IGggMTQuMDkgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzYyLTQtMlwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2ODguODMsNDc4LjQgLTE0Ljc3LDEuNSAwLjM0LDMuMzcgMTAuNzUsLTEuMDkgMC40NSw0LjQxIC0xMCwxLjAyIDAuMzQsMy4zNSAxMCwtMS4wMSAwLjU1LDUuNDIgLTExLjEzLDEuMTMgMC4zNCwzLjM1IDE1LjE1LC0xLjU0IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2NC04LTlcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNjUyLjUsNDgzLjM5IGMgLTIuMzksMC41MSAtNC4xOCwxLjYzIC01LjM4LDMuMzYgLTAuNzEsMS4wMyAtMS4xMiwyLjM3IC0xLjIzLDQuMDMgbCA0LjExLDAuMSBjIDAuMDEsLTEuMDYgMC4zMiwtMS45NiAwLjkzLC0yLjcxIDAuNjEsLTAuNzQgMS40NCwtMS4yMiAyLjQ5LC0xLjQ1IDEuNDUsLTAuMzEgMi43NCwtMC4wNCAzLjg3LDAuODEgMS4xMiwwLjg1IDEuOTMsMi40NCAyLjQzLDQuNzcgMC41MywyLjQ4IDAuNDYsNC4zNCAtMC4yMSw1LjU4IC0wLjY3LDEuMjQgLTEuNzEsMi4wMSAtMy4xMywyLjMxIC0xLjA2LDAuMjIgLTIuMDMsMC4wOCAtMi45MywtMC40MiAtMC45LC0wLjUxIC0xLjY2LC0xLjQ0IC0yLjMsLTIuODEgbCAtMy41NywyLjAzIGMgMS4wNCwyLjAxIDIuMzUsMy4zOSAzLjk0LDQuMTQgMS41OSwwLjc1IDMuNDMsMC45IDUuNTMsMC40NSAyLjYsLTAuNTYgNC41NSwtMS45IDUuODUsLTQuMDMgMS4yOSwtMi4xMyAxLjYxLC00Ljc0IDAuOTYsLTcuODIgLTAuNywtMy4yNiAtMi4wOCwtNS42MSAtNC4xNCwtNy4wNSAtMi4wNywtMS40NSAtNC40NywtMS44OCAtNy4yMiwtMS4yOSB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNjYtMS02XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDYzMy43NCw0ODguMzggLTE1LjEyLDQuOTMgMS4wNSwzLjIyIDUuNjMsLTEuODMgNS4xNiwxNS44IDMuODQsLTEuMjUgLTUuMTYsLTE1LjgxIDUuNjUsLTEuODQgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxnIGlkPVwiZzc0NC05LTFcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg3NTAtNS0zKVwiIGlkPVwiZzc0Ni0zLTBcIj5cbiAgICAgICAgICAgIDxnXG4gICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgyNDguNjQsMCwwLDIxNC41Niw1OTIuNTYsNjA4LjA0KVwiXG4gICAgICAgICAgICAgIGlkPVwiZzc1Mi02LTRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGdcbiAgICAgICAgICBpZD1cImc2XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSgtODkuODU4MDk3LDcwNy44MzY1NSw3MDYuOTYzMjMpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc0ODhcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQzMy42NjgyOCw0NjguNjUwNzcpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQ5NClcIiBpZD1cImc0OTBcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ0OThcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw2MDAuMDUsMzYzLjI2KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW40OTZcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDYuNjczMzE5OCAxNy44NzU2ODEgMjMuNDQ2OCAyNy44OTU2NzkgMzkuMDM3OTIyIDQ5LjA5OCA1NC42NjkxMjEgNTkuMTE4IDcwLjI2MDIzOSA4MS40MDI0ODEgODYuNzEzMDgxIDk3Ljg1NTMyNCAxMDkuMDU3NjggMTE0LjQ0ODQ0IDEyMC4wMTk1NiAxMzEuMTYxOCAxNDIuMzA0MDUgMTQ3LjczNDg4IDE1OC44NzcxMiAxNzAuMDc5NDggMTc2Ljc1MjgxIDE4Ny45NTUxNSAxOTkuMDk3NCAyMDkuMjE3NjEgMjIwLjM1OTgzIDIzMC40ODAwNCAyMzUuODcwOFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wicmVmbGVjdGluZyBvbiB0aGUgcHVycG9zZXMsIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzUwMFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDMzLjY2ODI4LDQ2OC42NTA3NylcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNTA2KVwiIGlkPVwiZzUwMlwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDUxMFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDYwNy4yNSwzMzkuMjYpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjUwOFwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgMTYuNjkzMzE5IDI3LjgzNTU2IDMzLjQwNjY4MSAzNy44NTU1NiA0Ny44NzU1NjEgNTkuMDE3Nzk5IDY0LjU4ODkyMSA2OC45Nzc2NzYgODAuMTE5OTE5IDkxLjMyMjI4MSAxMDEuNDAyNCAxMDYuNzkzMTYgMTE3LjkzNTQgMTI5LjEzNzc2IDE0MC4yOCAxNDUuNzMwODggMTU2Ljg3MzEyIDE2OC4wNzU0OSAxNzMuNjQ2NjEgMTg0Ljc4ODgzIDE5NS45MzEwOCAyMDEuNTAyMiAyMDUuOTUxMDggMjE3LjA5MzMyIDIyMS41NDIyMVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wibW90aXZhdGlvbnMgYW5kIHBvdGVudGlhbCBcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc1MTJcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQzMy42NjgyOCw0NjguNjUwNzcpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDUxOClcIiBpZD1cImc1MTRcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ1MjJcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw2NjUuNDcsMzE1LjI2KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW41MjBcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDQuNDQ4ODgwMiAyMS4xNDIyIDMyLjI4NDQzOSAzNi43MzMzMTggNDEuMTgyMjAxIDUxLjIwMjIwMiA2Mi4zNDQ0NCA2Ny45MTU1NTggNzIuMzY0NDQxIDgzLjUwNjY4MyA5NC42NDg5MTggMTA0Ljc0OTA4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJpbXBsaWNhdGlvbnMgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNTI0XCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0MzMuNjY4MjgsNDY4LjY1MDc3KVwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg1MzApXCIgaWQ9XCJnNTI2XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NTM0XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsNTg2LjczLDI2Ny4yNilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuIGlkPVwidHNwYW41MzJcIiB5PXswfSB4PVwiMCA1LjU3MTExOTggMTYuNzEzMzZcIj5cbiAgICAgICAgICAgICAgICAgIHtcInRvIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzUzNlwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDMzLjY2ODI4LDQ2OC42NTA3NylcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNTQyKVwiIGlkPVwiZzUzOFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDU0NlwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDYwOC44MSwyNjcuMjYpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjU0NFwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgNC40NDg4ODAyIDE1LjU5MTEyIDI2Ljc5MzQ4IDM3LjkzNTcxOSA0My41MDY4NCA0Ny45NTU3MTkgNTMuNDY2NzIxIDYzLjQ4NjcyMSA2OC45Nzc2NzYgODAuMTE5OTE5IDg2Ljg1MzM2MyA5Ny45OTU1OTggMTA5LjE5Nzk2IDExOS4yNzgwOCAxMjQuNTQ4NiAxMzUuNjkwODQgMTQxLjI2MTk2IDE0Ni42NTI3MyAxNTEuMTAxNTkgMTYyLjI0Mzg0IDE3My40NDYyIDE4NC41ODg0NCAxOTEuMzIxODggMjAyLjQ2NDEzIDIxMy42NjY0NyAyMjMuNzQ2NiAyMzQuODg4ODQgMjQwLjQ1OTk2XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJpZGVudGlmeSBhcmVhcyBvZiBpZ25vcmFuY2UsIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzU0OFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDMzLjY2ODI4LDQ2OC42NTA3NylcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNTU0KVwiIGlkPVwiZzU1MFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDU1OFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwLjA2NHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw2MTAuNDksMjQzLjI2KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW41NTZcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDExLjE1NTU4NCAyMS4yNjc4MzkgMzEuMzYwMDMxIDQyLjUxNTYxNyA1OS4yMjg5MjggNzAuMzg0NTE0IDc1Ljk2MjMwMyA4MC40MTY1MTIgOTEuNTcyMDk4IDEwMi43Mjc2OCAxMTIuNzU5NjggMTE4LjI1NzIyIDEyMy40MTM2NyAxMzQuNTY5MjQgMTQ1LjcyNDg0IDE1Ni45NDA2MSAxNjcuMDMyODEgMTcyLjYxMDYgMTc2Ljk4NDU0IDE4OC4xNDAxMiAxOTkuMjk1NzIgMjA5LjQyODA0IDIxNS4wMDU4M1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiYXNzdW1wdGlvbnMsIHF1ZXN0aW9ucywgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNTYwXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0MzMuNjY4MjgsNDY4LjY1MDc3KVwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg1NjYpXCIgaWQ9XCJnNTYyXCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NTcwXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsNjI3LjE5LDIxOS4yNClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNTY4XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAxNS41OTExMiAyMC4wNDAwMDEgMzEuMTgyMjQgNDcuODc1NTYxIDY0LjU2ODg3OCA3NS43MTExMjEgODUuNzcxMjAyIDkxLjA0MTcxOCAxMDIuMTgzOTYgMTEzLjMyNjIgMTI0LjQ2ODQ0IDEyOS45MTkzMyAxMzkuOTM5MzIgMTUxLjE0MTY4IDE2MS4xNjE2OCAxNjUuNjEwNTcgMTc2Ljc5Mjg4IDE4MS4yNDE3NlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiZGlsZW1tYXMgYW5kIHNvY2lhbCBcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc1NzJcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQzMy42NjgyOCw0NjguNjUwNzcpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDU3OClcIiBpZD1cImc1NzRcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ1ODJcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw2NDguOTEsMTk1LjI0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW41ODBcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDUuNTcxMTE5OCAxMi4yNDQ0NCAyMy4zODY2ODEgMzQuNTI4OTE5IDQ0LjYyOTA4MiA1MC4yMDAxOTkgNjEuMzQyNDQyIDY4LjAxNTc2MiA4NC41ODg4MzcgOTUuNzMxMDc5IDEwMS4zMDIyIDEwNS43NTEwOCAxMTYuODkzMzIgMTI4LjAzNTU1IDEzNy45OTU0NFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widHJhbnNmb3JtYXRpb25zIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzU4NFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDMzLjY2ODI4LDQ2OC42NTA3NylcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNTkwKVwiIGlkPVwiZzU4NlwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDU5NFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDU3OC45MywxNDcuMjQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjU5MlwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgMTEuMTQyMjQgMjIuMjg0NDc5IDMyLjM4NDY0IDQzLjUyNjg3OCA1MC4yNDAyOCA1NC42ODkxNTkgNjUuODMxMzk4IDc2Ljk3MzY0IDgyLjE2NDAwMSA4Ny43MzUxMjMgOTguODc3MzU3IDEwOC44OTczNiAxMjAuMDM5NiAxMzAuMTM5NzYgMTM1LjQxMDI4IDE0OS44NzkxNyAxNTQuMzI4MDMgMTU5Ljg5OTE1IDE3MS4wNDE0IDE3Ni42MTI1MiAxODIuMDgzNDQgMTkzLjIyNTY4IDIwNC4zNjc5MiAyMDkuNzk4NzcgMjE5LjgxODc2IDIzMS4wMjExMiAyNDEuMDQxMTIgMjQ1LjQ5MDAxIDI1Ni42NzIzMyAyNjIuMjQzNDQgMjczLjM4NTY4IDI3Ny44MzQ1NlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiZW5zdXJpbmcgZm9jdXMgd2l0aCB0aGUgc29jaWV0YWwgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNTk2XCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0MzMuNjY4MjgsNDY4LjY1MDc3KVwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg2MDIpXCIgaWQ9XCJnNTk4XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NjA2XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsNjA0LjM3LDEyMy4yNClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNjA0XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAyMi4zNDQ2MDEgMzMuNDg2ODM5IDM4LjkzNzcyMSA1MC4wNzk5NiA2MS4yODIzMTggNzEuMzAyMzIyIDc1Ljc1MTE5OCA4Mi40MjQ1MjIgOTMuNTY2NzU3IDEwNC43NjkxMiAxMjEuNDYyNDQgMTMyLjYwNDY4IDE0My44MjcwOSAxNDkuMzk4MTkgMTYwLjU0MDQ0IDE2NC45ODkzMiAxNzAuMjU5ODQgMTc0LjcwODcyIDE4NC43ODg4MyAxOTQuODY4OTYgMjA2LjAxMTIgMjE3LjIxMzU2XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJhbmQgZW52aXJvbm1lbnRhbCBpc3N1ZXNcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc2MDhcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkyNS4xMzY0NywxNy4wNzk1MjkpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cblxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPGdcbiAgICAgICAgaWQ9XCJhY3RcIlxuICAgICAgICBjbGFzc05hbWU9XCJocDMgYWN0LXZlcnNpb25cIlxuICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoLTg5LjU3ODYzMiw3MDkuMjY5MDcsNzA2LjQwNTc1KVwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgfX1cbiAgICAgID4gPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgYW50aWNpcGF0ZS12ZXJzaW9uXCIsIGNsYXNzdG9IaWRlOiBcImhwM1wifSl9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwiYWN0LWFudGljaXBhdGVcIlxuICAgICAgICAgIFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiNiODViZDFcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDg5NC41LDg5MC4wMyAtNi40OCwtNTEuOCAtNDkuNTcsLTYuMTkgYyAzMS42MywtMzIuNTcgNTEuMTIsLTc3LjAxIDUxLjEyLC0xMjYuMDEgMCwtNDAuMTcgLTEzLjEsLTc3LjI3IC0zNS4yNCwtMTA3LjI4IGwgNi41LC01Mi4xMSA1MC4yLC02LjI4IGMgMzYuOTcsNDUuMTEgNTkuMTcsMTAyLjggNTkuMTcsMTY1LjY3IDAsNzEuNzYgLTI4LjkxLDEzNi43NiAtNzUuNywxODQgelwiXG4gICAgICAgIC8+PC9hPlxuICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQ2xhc3Nlcyh7Y2xhc3NOYW1lOiBcImhwMyBhY3QtdmVyc2lvblwiLCBjbGFzc3RvSGlkZTogXCJocDNcIn0pfT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cImFjdC1hY3RcIlxuICAgICAgICAgIFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcwOC43LDk2Ny40MyBjIC03MS43MywwIC0xMzYuNzEsLTI4LjkgLTE4My45NCwtNzUuNjkgbCA1MS43OCwtNi40OCA2LjE5LC00OS41OCBjIDMyLjU3LDMxLjY0IDc3LDUxLjEzIDEyNS45Nyw1MS4xMyA0MC4xNiwwIDc3LjI1LC0xMy4xIDEwNy4yNSwtMzUuMjUgbCA1Mi4xLDYuNTEgNi4yNyw1MC4yMSBjIC00NS4wOSwzNi45NiAtMTAyLjc2LDU5LjE1IC0xNjUuNjIsNTkuMTUgelwiXG4gICAgICAgIC8+IDwvYT5cbiAgICAgICAgPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgZW5nYWdlLXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJhY3QtZW5nYWdlXCJcblxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiNjZTlmYzlcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDUwNi40MSw4NzEuNjcgYyAtMzYuOTcsLTQ1LjEgLTU5LjE2LC0xMDIuNzkgLTU5LjE2LC0xNjUuNjYgMCwtNzEuNzYgMjguOSwtMTM2Ljc2IDc1LjcsLTE4NCBsIDYuNDYsNTEuNzkgNDkuNTksNi4yIGMgLTMxLjY0LDMyLjU3IC01MS4xMyw3Ny4wMSAtNTEuMTMsMTI2LjAxIDAsNDAuMTYgMTMuMSw3Ny4yNiAzNS4yNSwxMDcuMjggbCAtNi41MSw1Mi4xMSB6XCJcbiAgICAgICAgLz4gPC9hPlxuICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQ2xhc3Nlcyh7Y2xhc3NOYW1lOiBcImhwMyByZWZsZWN0LXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJhY3QtcmVmbGVjdFwiXG4gICAgICAgICAgXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gODM0LjY4LDU3Ni4yMyBjIC0zMi41NywtMzEuNjMgLTc3LjAxLC01MS4xMiAtMTI2LjAxLC01MS4xMiAtNDAuMTYsMCAtNzcuMjYsMTMuMSAtMTA3LjI3LDM1LjI0IGwgLTUyLjEyLC02LjUgLTYuMjcsLTUwLjIgYyA0NS4xLC0zNi45OCAxMDIuNzgsLTU5LjE3IDE2NS42NiwtNTkuMTcgNzEuNzYsMCAxMzYuNzUsMjguOTEgMTg0LjAxLDc1LjcgbCAtNTEuODEsNi40OCB6XCJcbiAgICAgICAgLz4gPC9hPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDYyLThcIlxuICAgICAgICAgIFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW91cmJlaWdlKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzA4LjczLDgzNC41OSBjIC04Ljc5LDAgLTE3LjQ0LC0xLjQxIC0yNS42OSwtNC4yMSAtMi44MSwtMC45NSAtNC4zMiwtNCAtMy4zNSwtNi43OSAwLjc2LC0yLjIyIDIuODQsLTMuNjIgNS4wOSwtMy42MiAwLjU3LDAgMS4xNiwwLjA5IDEuNzQsMC4yOSA3LjE0LDIuNDEgMTQuNiwzLjYzIDIyLjIxLDMuNjMgMi45OCwwIDUuMzksMi40IDUuMzksNS4zNiAwLDIuOTYgLTIuNDEsNS4zNCAtNS4zOSw1LjM0IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDY0LTRcIlxuICAgICAgICAgIFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNjg2LjE3LDkyNi42IC0xLjMzLC03Ljc5IDUuMzcsMC45OCB6IG0gLTIuOSw0LjIyIDQuMjEsMC43NyAxMS40OCwtMTguMjUgLTQuMzMsLTAuNzkgLTIuNTMsNC4xNiAtNy44NywtMS40NCAtMC44MSwtNC43NyAtNC4yMiwtMC43NyB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGg2Ni01XCJcbiAgICAgICAgICBcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcxNi43OSw5MzQuMTggYyAyLjQ1LC0wLjAyIDQuNDMsLTAuNzcgNS45NCwtMi4yMyAwLjksLTAuODcgMS41NywtMi4xIDIuMDEsLTMuNzEgbCAtNC4wMSwtMC45MSBjIC0wLjIzLDEuMDQgLTAuNzEsMS44NiAtMS40NiwyLjQ3IC0wLjc0LDAuNjEgLTEuNjUsMC45MiAtMi43MiwwLjkzIC0xLjQ5LDAuMDIgLTIuNywtMC41IC0zLjYzLC0xLjU2IC0wLjk0LC0xLjA2IC0xLjQyLC0yLjc3IC0xLjQ0LC01LjE2IC0wLjAzLC0yLjUzIDAuNDEsLTQuMzQgMS4zMSwtNS40MiAwLjksLTEuMDggMi4wNywtMS42MyAzLjUzLC0xLjY1IDEuMDcsLTAuMDEgMiwwLjMyIDIuNzgsMSAwLjc4LDAuNjcgMS4zNSwxLjc0IDEuNywzLjIgbCAzLjkxLC0xLjI4IGMgLTAuNjMsLTIuMTggLTEuNjQsLTMuNzkgLTMuMDUsLTQuODQgLTEuNDEsLTEuMDQgLTMuMTksLTEuNTUgLTUuMzQsLTEuNTMgLTIuNjUsMC4wMyAtNC44MywwLjk2IC02LjUyLDIuNzkgLTEuNjksMS44MyAtMi41Miw0LjMyIC0yLjQ5LDcuNDcgMC4wNCwzLjMzIDAuOTIsNS45MSAyLjY2LDcuNzQgMS43NCwxLjgyIDQuMDEsMi43MiA2LjgyLDIuNjkgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNjgtMFwiXG4gICAgICAgICAgXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3MzcuMzksOTMyLjQyIDE1LjYyLC0zLjAxIC0wLjY0LC0zLjMzIC01LjgyLDEuMTMgLTMuMTUsLTE2LjMzIC0zLjk3LDAuNzcgMy4xNSwxNi4zMiAtNS44MywxLjEzIHpcIlxuICAgICAgICAvPlxuICAgICAgICA8ZyBpZD1cImc3MC0zXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNzYtMylcIiBpZD1cImc3Mi02XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgIGlkPVwicGF0aDc4LTFcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ5NC4zOCw2MjUuMzcgLTMuOTcsMTQuMyAzLjI2LDAuOTEgMi44OSwtMTAuNDEgNC4yNywxLjE5IC0yLjY5LDkuNjggMy4yNSwwLjkgMi42OSwtOS42OCA1LjI1LDEuNDYgLTIuOTksMTAuNzcgMy4yNSwwLjkxIDQuMDcsLTE0LjY3IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnODAtMFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDg2LTcpXCIgaWQ9XCJnODItNlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICBpZD1cInBhdGg4OC0zXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODcuNTMsNjUyLjUgLTAuNjUsMy44OCAxMS44MywxMC4yOSAtMTMuMTgsLTIuMjEgLTAuNjMsMy43IDE5Ljc0LDMuMzEgMC42NywtNCAtMTEuNTQsLTEwLjExIDEyLjg4LDIuMTUgMC42MiwtMy43IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnOTAtMlwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDk2LTMpXCIgaWQ9XCJnOTItMFwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICBpZD1cInBhdGg5OC02XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODIuNDgsNjkwLjkyIGMgLTAuMTQsMi40OCAwLjI3LDQuNDUgMS4yMyw1LjkgMC45NiwxLjQ1IDIuMzUsMi40MyA0LjE2LDIuOTMgbCAwLjk4LC0zLjk2IGMgLTAuOTcsLTAuMzQgLTEuNzEsLTAuOTEgLTIuMjQsLTEuNzIgLTAuNTIsLTAuODEgLTAuNzUsLTEuNzkgLTAuNjksLTIuOTYgMC4xLC0xLjc2IDAuNzQsLTMuMTMgMS45MiwtNC4xMSAxLjE3LC0wLjk4IDIuODYsLTEuNCA1LjA2LC0xLjI4IDIuMzcsMC4xMyA0LjEyLDAuNzYgNS4yNSwxLjg4IDEuMTIsMS4xMiAxLjY0LDIuNTQgMS41NCw0LjI1IC0wLjA0LDAuODQgLTAuMjYsMS42OCAtMC42NCwyLjUxIC0wLjM4LDAuODMgLTAuODIsMS41NCAtMS4zMywyLjEyIGwgLTIuNTMsLTAuMTQgMC4yNiwtNC42MiAtMy4zNywtMC4xOSAtMC40OSw4LjY5IDcuOTYsMC40NSBjIDAuODcsLTAuOCAxLjY2LC0xLjk4IDIuMzcsLTMuNTUgMC43MSwtMS41NyAxLjEyLC0zLjE4IDEuMjEsLTQuODIgMC4xMiwtMi4wOSAtMC4yMiwtMy45NCAtMS4wMSwtNS41NCAtMC43OSwtMS42MSAtMS45OCwtMi44NCAtMy41NywtMy43MiAtMS41OCwtMC44NyAtMy4zMywtMS4zNiAtNS4yNSwtMS40NyAtMi4wOCwtMC4xMiAtMy45NiwwLjIyIC01LjYyLDEgLTEuNjcsMC43OCAtMi45OCwxLjk5IC0zLjk0LDMuNjIgLTAuNzQsMS4yNCAtMS4xNiwyLjgyIC0xLjI2LDQuNzMgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMDAtMVwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEwNi02KVwiIGlkPVwiZzEwMi01XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMDgtNVwiXG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ4Ny40Myw3MjAuNTYgNy4yOCwtMy4wOSAwLjI5LDUuNDUgeiBtIC00Ljc3LC0xLjg0IDAuMjMsNC4yNyAyMC40MSw2Ljk1IC0wLjI0LC00LjM5IC00LjYzLC0xLjUxIC0wLjQyLC03Ljk5IDQuNDUsLTEuODkgLTAuMjMsLTQuMjggelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMTAtNFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDExNi05KVwiIGlkPVwiZzExMi03XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMTgtNlwiXG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ4NS43Niw3NTEuNjEgYyAwLjQsMi40NSAxLjIzLDQuMjggMi40OCw1LjQ5IDEuMjYsMS4yMSAyLjgzLDEuODcgNC43MSwxLjk3IGwgMC4wOSwtNC4wOSBjIC0xLjAyLC0wLjEyIC0xLjg3LC0wLjUxIC0yLjU2LC0xLjE5IC0wLjY5LC0wLjY4IC0xLjEyLC0xLjU5IC0xLjMxLC0yLjc0IC0wLjI5LC0xLjc0IDAuMDQsLTMuMjIgMC45NywtNC40MyAwLjk0LC0xLjIxIDIuNDksLTEuOTkgNC42NywtMi4zNSAyLjM0LC0wLjM4IDQuMTgsLTAuMTUgNS41MywwLjcgMS4zNCwwLjg1IDIuMTUsMi4xMiAyLjQzLDMuODEgMC4xMywwLjgzIDAuMTEsMS43IC0wLjA4LDIuNTkgLTAuMTksMC44OSAtMC40NywxLjY4IC0wLjg0LDIuMzYgbCAtMi41MSwwLjQxIC0wLjc0LC00LjU3IC0zLjMzLDAuNTUgMS40MSw4LjYgNy44NywtMS4zIGMgMC42NywtMC45NiAxLjE4LC0yLjI5IDEuNTQsLTMuOTggMC4zNSwtMS42OCAwLjM5LC0zLjM0IDAuMTMsLTQuOTcgLTAuMzQsLTIuMDYgLTEuMDcsLTMuNzkgLTIuMTksLTUuMTggLTEuMTIsLTEuNCAtMi41NSwtMi4zNSAtNC4yOSwtMi44NiAtMS43MywtMC41IC0zLjU1LC0wLjYgLTUuNDUsLTAuMjkgLTIuMDUsMC4zNCAtMy44MSwxLjA3IC01LjI3LDIuMTkgLTEuNDUsMS4xMyAtMi40NywyLjU5IC0zLjA1LDQuMzkgLTAuNDUsMS4zOCAtMC41MiwzLjAxIC0wLjIxLDQuODkgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMjAtNVwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEyNi0yKVwiIGlkPVwiZzEyMi02XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMjgtOVwiXG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ5MC40Miw3NzIuOTkgMy45NywxNC4zIDMuMjYsLTAuOSAtMi44OSwtMTAuNDEgNC4yOCwtMS4xOSAyLjY5LDkuNjkgMy4yNCwtMC45MSAtMi42OCwtOS42OCA1LjI1LC0xLjQ1IDIuOTksMTAuNzcgMy4yNSwtMC45IC00LjA3LC0xNC42NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzEzMC0zXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTM2LTApXCIgaWQ9XCJnMTMyLTdcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDEzOC00XCJcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTEyLjc3LDgxMC4yIC03Ljg5LC0wLjUgMi4xOSwtNSB6IG0gMy40NCwzLjc5IDEuNzEsLTMuOTIgLTE1LjEyLC0xNS4zNiAtMS43Niw0LjAyIDMuNDYsMy40MyAtMy4yLDcuMzIgLTQuODMsLTAuMyAtMS43MiwzLjkyIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTQwLTVcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNDYtMylcIiBpZD1cImcxNDItMlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTQ4LTVcIlxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MjQuOTEsNzkyLjM4IDEuMTcsLTMuNzUgLTEwLjMxLC0xMS44MSAxMi43NiwzLjk5IDEuMTIsLTMuNTggLTE5LjExLC01Ljk3IC0xLjIxLDMuODcgMTAuMDUsMTEuNTkgLTEyLjQ1LC0zLjg5IC0xLjEyLDMuNTggelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNTAtNFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE1Ni0wKVwiIGlkPVwiZzE1Mi03XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNTgtNFwiXG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzMi41Nyw3NjUuODggMy4xNSwtMTUuNTkgLTMuMzIsLTAuNjcgLTEuMTcsNS44MSAtMTYuMywtMy4yOSAtMC44LDMuOTYgMTYuMywzLjI5IC0xLjE4LDUuODIgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNjAtNFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE2Ni0yKVwiIGlkPVwiZzE2Mi0zXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNjgtMFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTM3LjI2LDczOS4yNyAwLjQ4LC00LjAxIC0xOS44NywtMi4zOSAtMC40OCw0LjAxIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTcwLTdcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNzYtMSlcIiBpZD1cImcxNzItOFwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTc4LTZcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzOS41OCw3MTQuMjkgYyAwLjA4LC0yLjQ0IC0wLjU3LC00LjQ2IC0xLjk3LC02LjAzIC0wLjgyLC0wLjk0IC0yLjAzLC0xLjY2IC0zLjYyLC0yLjE3IGwgLTEuMDgsMy45NyBjIDEuMDMsMC4yNyAxLjgzLDAuNzkgMi40LDEuNTYgMC41OCwwLjc3IDAuODUsMS42OSAwLjgxLDIuNzYgLTAuMDUsMS40OSAtMC42MiwyLjY3IC0xLjcxLDMuNTYgLTEuMSwwLjg5IC0yLjg0LDEuMjkgLTUuMjIsMS4yMSAtMi41MywtMC4wOCAtNC4zMiwtMC42IC01LjM2LC0xLjU0IC0xLjA0LC0wLjk1IC0xLjU0LC0yLjE1IC0xLjQ5LC0zLjYgMC4wMywtMS4wOCAwLjQxLC0xLjk5IDEuMTEsLTIuNzQgMC43MSwtMC43NSAxLjgsLTEuMjcgMy4yOCwtMS41NiBsIC0xLjExLC0zLjk1IGMgLTIuMjEsMC41MiAtMy44NiwxLjQ3IC00Ljk3LDIuODMgLTEuMSwxLjM2IC0xLjY5LDMuMTEgLTEuNzYsNS4yNiAtMC4wOSwyLjY2IDAuNzQsNC44NyAyLjUsNi42NCAxLjc2LDEuNzcgNC4yMSwyLjcxIDcuMzYsMi44MSAzLjMzLDAuMTEgNS45NCwtMC42NiA3Ljg0LC0yLjMyIDEuOSwtMS42NSAyLjksLTMuODggMi45OSwtNi42OSB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzE4MC04XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTg2LTcpXCIgaWQ9XCJnMTgyLThcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE4OC00XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzkuMSw2OTQuMjcgLTAuMjIsLTQuMDMgLTE5Ljk4LDEuMDkgMC4yMSw0LjAzIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTkwLTNcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxOTYtMilcIiBpZD1cImcxOTItMVwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTk4LTRcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzMy45OCw2NzQuMjUgLTUuNjIsMC43OSAtMC4zMSwtMi4xOSBjIC0wLjIyLC0xLjU4IC0wLjI2LC0yLjY1IC0wLjEzLC0zLjIxIDAuMTMsLTAuNTYgMC40LC0xLjAyIDAuOCwtMS4zOCAwLjQsLTAuMzcgMC44OSwtMC41OSAxLjQ4LC0wLjY3IDAuNzIsLTAuMSAxLjM0LDAuMDIgMS44NywwLjM4IDAuNTMsMC4zNiAwLjksMC44NiAxLjExLDEuNDkgMC4xNSwwLjQ2IDAuMzMsMS40MiAwLjUzLDIuODYgeiBtIDMuOTIsMy41MyAtMC45LC02LjQyIGMgLTAuMzQsLTIuNDMgLTAuNjYsLTQgLTAuOTYsLTQuNzEgLTAuNDYsLTEuMSAtMS4yNCwtMS45NiAtMi4zNCwtMi41OSAtMS4xMSwtMC42MiAtMi40NSwtMC44MyAtNC4wMywtMC42IC0xLjIxLDAuMTcgLTIuMiwwLjUzIC0yLjk3LDEuMDkgLTAuNzcsMC41NiAtMS4zNCwxLjIxIC0xLjcyLDEuOTUgLTAuMzgsMC43NSAtMC41OSwxLjQ5IC0wLjY1LDIuMjEgLTAuMDUsMC45OCAwLjA0LDIuMzggMC4zLDQuMTkgbCAwLjM2LDIuNjEgLTcuNDcsMS4wNSAwLjU2LDQgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcyMDAtOVwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDIwNi0yKVwiIGlkPVwiZzIwMi0yXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgyMDgtMFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTI3LjAxLDY0NC4zNyAtNi41Myw0LjQ1IC0xLjM1LC01LjI5IHogbSA1LjA0LDAuODggLTEuMDUsLTQuMTUgLTIxLjM4LC0yLjgzIDEuMDksNC4yNiA0LjgzLDAuNTcgMS45Nyw3Ljc2IC00LDIuNzIgMS4wNiw0LjE1IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMjEwLTZcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyMTYtNylcIiBpZD1cImcyMTItOFwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMjE4LTlcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkyNi4wNyw2MjQuMTkgLTUuNTIsLTE0LjkyIC0zLjE4LDEuMTggMi4wNiw1LjU2IC0xNS41OSw1Ljc3IDEuNCwzLjc5IDE1LjU5LC01Ljc3IDIuMDYsNS41NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzIyMC0yXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjI2LTkpXCIgaWQ9XCJnMjIyLTZcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDIyOC02XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MTYuMDYsNTk4Ljg4IC02LjUzLC0xMy4zMyAtMy4wNCwxLjQ5IDQuNzUsOS43IC0zLjk4LDEuOTUgLTQuNDIsLTkuMDMgLTMuMDMsMS40OSA0LjQyLDkuMDIgLTQuOSwyLjQgLTQuOTEsLTEwLjA1IC0zLjAzLDEuNDkgNi42OSwxMy42NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzU0LTRcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzkyLjUyLDQ5NC44MiAtMS41NSw0Ljg0IC0yLjg1LC0wLjkxIGMgLTEuODUsLTAuNTkgLTIuOTcsLTEuMDQgLTMuMzgsLTEuMzQgLTAuNDEsLTAuMzEgLTAuNjksLTAuNjkgLTAuODMsLTEuMTUgLTAuMTMsLTAuNDcgLTAuMTEsLTAuOTkgMC4wNywtMS41NiAwLjIxLC0wLjY0IDAuNTQsLTEuMSAxLjAxLC0xLjM5IDAuNDcsLTAuMjggMS4wMywtMC4zOCAxLjY5LC0wLjI4IDAuMzMsMC4wNSAxLjI3LDAuMzMgMi44MywwLjgzIHogbSA0Ljg4LC0xLjk5IC04LjExLC0yLjU5IGMgLTIuMDMsLTAuNjYgLTMuNTcsLTAuOTYgLTQuNiwtMC45MSAtMS4wMywwLjA1IC0xLjk3LDAuNDIgLTIuOCwxLjEyIC0wLjg0LDAuNyAtMS40MywxLjYxIC0xLjgsMi43NCAtMC40NSwxLjQzIC0wLjQxLDIuNzQgMC4xMywzLjk0IDAuNTUsMS4yIDEuNjIsMi4xOSAzLjIxLDIuOTcgLTAuOTksMC4yMiAtMS44NCwwLjUzIC0yLjU3LDAuOTQgLTAuNzMsMC40MSAtMS43OSwxLjIxIC0zLjE4LDIuNCBsIC0zLjUyLDIuOTcgNC42MSwxLjQ3IDQuMSwtMy4yNiBjIDEuNDcsLTEuMTYgMi40NCwtMS44OCAyLjkzLC0yLjE1IDAuNDksLTAuMjcgMC45NiwtMC40MSAxLjQxLC0wLjQyIDAuNDUsLTAuMDIgMS4xMiwwLjEyIDIuMDEsMC40IGwgMC43OCwwLjI1IC0yLjU1LDcuOTYgMy44NSwxLjIzIHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM1Ni04XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDc2OS4wNiw0ODQuNTcgLTE0LjU0LC0yLjk2IC0wLjY4LDMuMzIgMTAuNTgsMi4xNSAtMC44OCw0LjM1IC05Ljg1LC0yLjAxIC0wLjY3LDMuMzEgOS44NCwyIC0xLjA4LDUuMzQgLTEwLjk2LC0yLjIzIC0wLjY3LDMuMzEgMTQuOTEsMy4wMyB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNTgtN1wiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3NDEuNTUsNDc5LjcxIC0xMy42NSwtMS4zNSAtMC4zNCwzLjM3IDkuNjQsMC45NSAtMC40Nyw0LjcxIC04LjMxLC0wLjgyIC0wLjM0LDMuMzcgOC4zMiwwLjgyIC0wLjg0LDguNDcgNC4wMiwwLjM5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2MC0xXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcxNS4yMSw0NzcuOTMgaCAtNC4wNCBsIC0wLjAxLDE2LjQ4IGggLTEwLjA1IHYgMy4zNyBoIDE0LjA5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2Mi03XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDY4OC44Myw0NzguNCAtMTQuNzcsMS41IDAuMzQsMy4zNyAxMC43NSwtMS4wOSAwLjQ1LDQuNDEgLTEwLDEuMDIgMC4zNCwzLjM1IDEwLC0xLjAxIDAuNTUsNS40MiAtMTEuMTMsMS4xMyAwLjM0LDMuMzUgMTUuMTUsLTEuNTQgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzY0LTJcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNjUyLjUsNDgzLjM5IGMgLTIuMzksMC41MSAtNC4xOCwxLjYzIC01LjM4LDMuMzYgLTAuNzEsMS4wMyAtMS4xMiwyLjM3IC0xLjIzLDQuMDMgbCA0LjExLDAuMSBjIDAuMDEsLTEuMDYgMC4zMiwtMS45NiAwLjkzLC0yLjcxIDAuNjEsLTAuNzQgMS40NCwtMS4yMiAyLjQ5LC0xLjQ1IDEuNDUsLTAuMzEgMi43NCwtMC4wNCAzLjg3LDAuODEgMS4xMiwwLjg1IDEuOTMsMi40NCAyLjQzLDQuNzcgMC41MywyLjQ4IDAuNDYsNC4zNCAtMC4yMSw1LjU4IC0wLjY3LDEuMjQgLTEuNzEsMi4wMSAtMy4xMywyLjMxIC0xLjA2LDAuMjIgLTIuMDMsMC4wOCAtMi45MywtMC40MiAtMC45LC0wLjUxIC0xLjY2LC0xLjQ0IC0yLjMsLTIuODEgbCAtMy41NywyLjAzIGMgMS4wNCwyLjAxIDIuMzUsMy4zOSAzLjk0LDQuMTQgMS41OSwwLjc1IDMuNDMsMC45IDUuNTMsMC40NSAyLjYsLTAuNTYgNC41NSwtMS45IDUuODUsLTQuMDMgMS4yOSwtMi4xMyAxLjYxLC00Ljc0IDAuOTYsLTcuODIgLTAuNywtMy4yNiAtMi4wOCwtNS42MSAtNC4xNCwtNy4wNSAtMi4wNywtMS40NSAtNC40NywtMS44OCAtNy4yMiwtMS4yOSB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNjYtN1wiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2MzMuNzQsNDg4LjM4IC0xNS4xMiw0LjkzIDEuMDUsMy4yMiA1LjYzLC0xLjgzIDUuMTYsMTUuOCAzLjg0LC0xLjI1IC01LjE2LC0xNS44MSA1LjY1LC0xLjg0IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDc0Mi0yXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMi4wNCxcbiAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA6IFwiYnV0dFwiLFxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ6IDEwLFxuICAgICAgICAgICAgc3Ryb2tlRGFzaGFycmF5OiBcIm5vbmVcIixcbiAgICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA1NzkuMDYsNzA4LjYgYyAwLDY3LjMgNTguMDgsMTIxLjg2IDEyOS43MiwxMjEuODYgNzEuNjQsMCAxMjkuNzIsLTU0LjU2IDEyOS43MiwtMTIxLjg2IDAsLTY3LjMgLTU4LjA4LC0xMjEuODYgLTEyOS43MiwtMTIxLjg2IC03MS42NCwwIC0xMjkuNzIsNTQuNTYgLTEyOS43MiwxMjEuODYgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxnXG4gICAgICAgICAgaWQ9XCJhY3QtdGV4dFwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwiaHAzIGFjdC12ZXJzaW9uXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg4OS41Nzg2MzIsNzA5LjI2OTA3LDcwNi40MDU3NSlcIlxuICAgICAgICA+XG4gICAgICAgICAgPGcgaWQ9XCJnMjQ2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQ1Mi4wMzIyMSwtNDUxLjM4OTE5KVwiPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjUyKVwiIGlkPVwiZzI0OFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDI1NlwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw1ODAuODcsMTI3NS45NilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuMjU0XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCA1LjU3MTExOTggMTYuNzEzMzYgMjIuMTA0MTIgMjYuNTUyOTk5IDM3LjY5NTI0IDQzLjI2NjM2MSA0Ny43MTUyNCA1OC44NTc0NzkgNjkuOTk5NzE4IDgxLjIyMjEyMiA5MS4zMDIyMzggMTAyLjQ0NDQ4IDEwNy44OTUzNiAxMTMuNDY2NDggMTI0LjYwODcyIDEzNS43NTA5NiAxNDEuMTgxNzkgMTUyLjMyNDA0IDE1Ni43NzI5MiAxNjMuNTA2MzYgMTc0LjY0ODYxIDE4NC43Njg4IDE5MC4zMzk5MiAxOTQuNzg4OCAyMDUuOTMxMDUgMjE3LjA3MzI3IDIyMi4zODM4OCAyMzMuNTI2MTIgMjQ0LjcyODQ5IDI1NS44NzA3M1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widG8gaW5mbHVlbmNlIHRoZSBkaXJlY3Rpb24gYW5kIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGcgaWQ9XCJnMjU4XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQ1Mi4wMzIyMSwtNDUxLjM4OTE5KVwiPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjY0KVwiIGlkPVwiZzI2MFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDI2OFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw1NzguODMsMTI1MS45NilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuMjY2XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCA1LjU3MTExOTggMTIuMjQ0NDQgMjMuMzg2NjgxIDI3LjgzNTU2IDM5LjAzNzkyMiA0OS4xMTgwMzggNTQuNjg5MTU5IDY1LjgzMTM5OCA3Mi41MDQ3MjMgODIuNTI0NzE5IDg3LjY5NTAzOCA5OC44MzcyOCAxMDQuNDA4NCAxMDkuOTE5NCAxMTUuNDkwNTIgMTI2LjYzMjc2IDEzNy43NzQ5OSAxNDMuMjA1ODQgMTQ5Ljg3OTE3IDE2MS4wODE1MSAxNzEuMTYxNjQgMTgyLjMwMzg4IDE5My41MDYyNCAyMDAuMTc5NTcgMjEwLjE5OTU1IDIyMS4zNDE4IDIyNi40MzE5NiAyMzcuNTc0MiAyNDguNzc2NTcgMjU5LjkxODc5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJ0cmFqZWN0b3J5IG9mIHRoZSByZXNlYXJjaCBhbmQgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8ZyBpZD1cImcyNzBcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDUyLjAzMjIxLC00NTEuMzg5MTkpXCI+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyNzYpXCIgaWQ9XCJnMjcyXCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MjgwXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDYwMi4wMiwxMjI3Ljk2KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW4yNzhcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDQuNDQ4ODgwMiAxNS41OTExMiAyNi43MzMzNiAzNy44NzU1OTkgNDcuODk1NTk5IDU5LjAzNzg0MiA2NC42MDg5NjMgNjkuMDU3ODM4IDgwLjIwMDA4MSA5MS4zNDIzMjMgOTYuNzEzMDQzIDEwNy44NTUyOCAxMTQuNTY4NjggMTI1LjcxMDkyIDEzNS43OTEwNSAxNDYuOTMzMjcgMTU3LjAxMzQgMTY3LjAzMzQgMTcyLjEyMzU3IDE3Ni41NzI0MyAxODIuMTQzNTUgMTkyLjE2MzU2IDIwMy4zMDU4IDIwNy43NTQ2OFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiaW5ub3ZhdGlvbiBwcm9jZXNzIGl0c2VsZlwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGcgaWQ9XCJnMjgyXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQ1Mi4wMzIyMSwtNDUxLjM4OTE5KVwiPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjg4KVwiIGlkPVwiZzI4NFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDI5MlwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw1NTcuOTUsMTE3OS45NilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuMjkwXCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAyMi4yODQ0NzkgMzMuNDI2NzIgNDQuNjI5MDgyIDUwLjIwMDE5OSA2MS4zNDI0NDIgNzIuNDg0NjggNzcuNzU1MjAzIDg4Ljg5NzQzOCAxMDAuMDM5NjggMTExLjE4MTkyIDExNi42MzI4IDEyNy43NzUwNCAxMzguOTE3MjggMTUwLjA1OTUyIDE1NC41MDg0MSAxNTguOTU3MjggMTcwLjA5OTUyIDE4MS4zMDE4OCAxODYuNjkyNjQgMTkyLjI2Mzc2IDIwMy40MDYwMSAyMTQuNTQ4MjMgMjE5LjkzOSAyMjUuNTEwMTIgMjM2LjY1MjM2IDI0Ny43OTQ2IDI1OC45MzY4MyAyNzAuMDc5MDcgMjgxLjIyMTMxIDI5MS4zMjE0NyAzMDEuMzQxNDlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImFkYXB0ZWQgYW5kIGFwcGxpZWQgdGhlIGZlZWRiYWNrIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGcgaWQ9XCJnMjk0XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQ1Mi4wMzIyMSwtNDUxLjM4OTE5KVwiPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMzAwKVwiIGlkPVwiZzI5NlwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDMwNFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw1NzQuMTUsMTE1NS45NilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuMzAyXCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCA1LjU3MTExOTggMTIuMjQ0NDQgMjMuMzg2NjgxIDQwLjA4MDAwMiA0NS4zNTA1MjEgNTYuNDkyNzYgNjYuNTEyNzU2IDc3LjY1NDk5OSA4OC43OTcyNDEgOTUuNDcwNTU4IDEwMS4wNDE2OCAxMTEuMDYxNjggMTE2LjM5MjMyIDEyNy41MzQ1NiAxMzguNjc2OCAxNDkuODE5MDUgMTU1LjI2OTkxIDE2NS4yODk5MiAxNzAuODYxMDQgMTgyLjAwMzI4IDE5Mi4wODM0IDIwMy4yMjU2NSAyMTQuMzY3ODcgMjI1LjUxMDEyIDIyOS45NTkgMjQxLjE0MTMzIDI1Mi4yODM1NSAyNTguOTU2ODhcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImZyb20gZXhwZXJ0cyBhbmQgc3Rha2Vob2xkZXJzXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8ZyBpZD1cImczMDZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDUyLjAzMjIxLC00NTEuMzg5MTkpXCI+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgzMTIpXCIgaWQ9XCJnMzA4XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MzE2XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDU4Ni4zOSwxMTA3Ljk0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW4zMTRcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDEwLjA4MDEyIDIxLjIyMjM2MSAzMS4yNDIzNTkgMzYuNjUzMTYgNDcuNzk1Mzk5IDUyLjI0NDI4MiA2My40NDY2NCA3NC41ODg4ODIgNzkuMDM3NzU4IDgzLjQ4NjY0MSA5NC42Njg5NjEgMTA1LjgxMTIgMTExLjM4MjMyIDEyMS40NjI0NCAxMjYuODUzMiAxMzYuOTMzMzIgMTQ4LjA3NTU2IDE1OS4yNzc5MiAxNjkuMzU4MDUgMTczLjgwNjkyIDE4NC45NDkxNiAxOTYuMTUxNTIgMjAxLjQyMjA0IDIxMi41NjQyOSAyMjIuNjg0NDggMjI4LjA3NTI0IDIzMy42NDYzNiAyNDQuNzg4NlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wia2V5IGhpZ2hsaWdodHMgY2F1c2luZyB1cyB0byBcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnIGlkPVwiZzMxOFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0NTIuMDMyMjEsLTQ1MS4zODkxOSlcIj5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDMyNClcIiBpZD1cImczMjBcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQzMjhcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCIjMzIyMzJjXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsNTUyLjU1LDEwODMuOTQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjMyNlwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgNi42NzMzMTk4IDE3Ljg1NTY0IDI3Ljg3NTY0MSAzOS4wNzc5OTkgNTAuMjIwMjQyIDYwLjMwMDM2MiA2NC43NDkyMzcgNzUuODkxNDc5IDg3LjAzMzcyMiA5My43MDcwMzkgOTkuMTc3OTYzIDEwNC4zMjgyNCAxMTUuNDcwNDggMTI2LjYxMjcyIDEzNi42MzI3MiAxNDcuNzc0OTYgMTUyLjIyMzg1IDE2My4zNjYwNyAxNzQuNTA4MzIgMTc5LjkxOTExIDE5MS4wNjEzNiAyMDIuMjAzNiAyMTMuMzQ1ODQgMjE4Ljc5NjcyIDIyOS45Mzg5NiAyMzQuMzg3ODMgMjM5Ljk1ODk1IDI1MS4xMDEyIDI1Ny43NzQ1MSAyNjMuMjA1MzUgMjczLjIyNTM3IDI4NC40Mjc3MyAzMDEuMTIxMDMgMzEyLjI2MzI4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJyZWNvbnNpZGVyLCBkZXZlbG9wIGFuZCBhbHRlciBzb21lIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGcgaWQ9XCJnMzMwXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQ1Mi4wMzIyMSwtNDUxLjM4OTE5KVwiPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMzM2KVwiIGlkPVwiZzMzMlwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDM0MFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw1NjYuMTEsMTA1OS45NClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuMzM4XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAxNi43MTMzNiAyMi4wODQwOCAyNy42NTUxOTkgMzguNzk3NDQgNDkuOTM5Njc4IDU1LjMzMDQ0MSA2Ni40NzI2NzkgNzYuNTUyODAzIDg3LjY5NTAzOCA5OC44MzcyOCAxMDguOTM3NDQgMTE0LjUwODU2IDEyNC41Mjg1NiAxMjkuNjk4ODggMTQwLjg0MTEzIDE0Ni40MTIyNSAxNTEuOTAzMiAxNjMuMDQ1NDQgMTc0LjE4NzY4IDE4MC45MjExMyAxODYuMTkxNjQgMTk3LjMzMzg4IDIwNC4wNDcyOSAyMTUuMTg5NTEgMjE5LjYzODQgMjMwLjc4MDY0IDI0MC44NjA3NiAyNDYuNDMxODggMjUxLjY2MjMyIDI2Mi44MDQ1NyAyNzMuOTQ2ODEgMjg1LjA4OTA1XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJvZiB0aGUgYXNwZWN0cyBvZiBvdXIgcHJvamVjdCBhbmQgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8ZyBpZD1cImczNDJcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDUyLjAzMjIxLC00NTEuMzg5MTkpXCI+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgzNDgpXCIgaWQ9XCJnMzQ0XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MzUyXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDY2OS43LDEwMzUuOTQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjM1MFwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgNi42NzMzMTk4IDE3Ljg1NTY0IDI3Ljg3NTY0MSAzOS4wNzc5OTkgNTAuMjIwMjQyIDU2LjkzMzY0IDY2Ljk1MzY0NFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wicmVzZWFyY2hcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgPC9nPlxuICA8L3N2Zz5cbik7XG5cbiIsICJleHBvcnQgY29uc3QgV2hvbGVNZW5kZWxvdyA9ICgpID0+IChcbiAgPHN2Z1xuICB2aWV3Qm94PVwiLTE1MDAgMCA5MDAwIDYwMDBcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHhtbG5zWGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICB4bWxTcGFjZT1cInByZXNlcnZlXCJcbiAgICBvdmVyZmxvdz1cImhpZGRlblwiXG4gID5cbiAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMzOSAtODI5KVwiPlxuICAgICAgPGc+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0yOC42NDU4LTIuOTYxOGUtMDYgMjguNjQ2MiAzMzQ3LjI0LTI4LjY0NTUgMzM0Ny4yNC0yOC42NDU4IDIuOTYxOGUtMDZaTTg1LjkzNzggMzMxOC41OSAwLjAwMDM2MDg5MiAzNDkwLjQ3LTg1LjkzNzIgMzMxOC41OVpcIlxuICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICBmaWxsUnVsZT1cIm5vbnplcm9cIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAtMSA4NzEuNSA1MDQ5Ljk3KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xMjg2IDE2MjMuODRDMTI4NiAxNDQ0LjQ0IDE0MzEuNDQgMTI5OSAxNjEwLjg0IDEyOTlMMjkxMC4xNiAxMjk5QzMwODkuNTYgMTI5OSAzMjM1IDE0NDQuNDQgMzIzNSAxNjIzLjg0TDMyMzUgMjkyMy4xNkMzMjM1IDMxMDIuNTYgMzA4OS41NiAzMjQ4IDI5MTAuMTYgMzI0OEwxNjEwLjg0IDMyNDhDMTQzMS40NCAzMjQ4IDEyODYgMzEwMi41NiAxMjg2IDI5MjMuMTZaXCJcbiAgICAgICAgICBmaWxsPVwiI0I4NUJEMVwiXG4gICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgLz5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwidmFyKC0tb3VyYmVpZ2UpXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICBmb250RmFtaWx5PVwiQXJpYWwsQXJpYWxfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs0MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNDd9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDE0NDIuMzQgMjA4OSlcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiSGlnaCBQb3dlciwgTG93IEludGVyZXN0XCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwidmFyKC0tb3VyYmVpZ2UpXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICBmb250RmFtaWx5PVwiQXJpYWwsQXJpYWxfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsyMzh9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDE0MzkuNDggMjU0OClcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiS2VlcCBcIn1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8dGV4dFxuICAgICAgICAgIGZpbGw9XCJ2YXIoLS1vdXJiZWlnZSlcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezIzOH1cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMjA4OC4wMiAyNTQ4KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJTYXRpc2ZpZWRcIn1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMzM4NiAxNjIzLjg0QzMzODYgMTQ0NC40NCAzNTMxLjQ0IDEyOTkgMzcxMC44NCAxMjk5TDUwMTAuMTYgMTI5OUM1MTg5LjU2IDEyOTkgNTMzNSAxNDQ0LjQ0IDUzMzUgMTYyMy44NEw1MzM1IDI5MjMuMTZDNTMzNSAzMTAyLjU2IDUxODkuNTYgMzI0OCA1MDEwLjE2IDMyNDhMMzcxMC44NCAzMjQ4QzM1MzEuNDQgMzI0OCAzMzg2IDMxMDIuNTYgMzM4NiAyOTIzLjE2WlwiXG4gICAgICAgICAgZmlsbD1cIiM4NTBFNzhcIlxuICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgIC8+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cInZhcigtLW91cmJlaWdlKVwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkFyaWFsLEFyaWFsX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFdlaWdodD17NDAwfVxuICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250U2l6ZT17MTQ3fVxuICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAzNTI1LjgzIDIwODkpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtcIkhpZ2ggUG93ZXIsIEhpZ2ggSW50ZXJlc3RcIn1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8dGV4dFxuICAgICAgICAgIGZpbGw9XCJ2YXIoLS1vdXJiZWlnZSlcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezIzOH1cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMzcxMS43NSAyNTQ4KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJLZWVwIENsb3NlXCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTEyODYgMzc0My44NEMxMjg2IDM1NjQuNDQgMTQzMS40NCAzNDE5IDE2MTAuODQgMzQxOUwyOTEwLjE2IDM0MTlDMzA4OS41NiAzNDE5IDMyMzUgMzU2NC40NCAzMjM1IDM3NDMuODRMMzIzNSA1MDQzLjE2QzMyMzUgNTIyMi41NiAzMDg5LjU2IDUzNjggMjkxMC4xNiA1MzY4TDE2MTAuODQgNTM2OEMxNDMxLjQ0IDUzNjggMTI4NiA1MjIyLjU2IDEyODYgNTA0My4xNlpcIlxuICAgICAgICAgIGZpbGw9XCJ2YXIoLS1kYXJrZXJiZWlnZSlcIlxuICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgIC8+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezQwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezE0N31cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMTQ1OC42NyA0MjA4KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJMb3cgUG93ZXIsIExvdyBJbnRlcmVzdFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezIzOH1cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMTQ5Mi4yIDQ2NjcpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtcIktlZXAgTWluaW1hbFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0zMzg2IDM3NDMuODRDMzM4NiAzNTY0LjQ0IDM1MzEuNDQgMzQxOSAzNzEwLjg0IDM0MTlMNTAxMC4xNiAzNDE5QzUxODkuNTYgMzQxOSA1MzM1IDM1NjQuNDQgNTMzNSAzNzQzLjg0TDUzMzUgNTA0My4xNkM1MzM1IDUyMjIuNTYgNTE4OS41NiA1MzY4IDUwMTAuMTYgNTM2OEwzNzEwLjg0IDUzNjhDMzUzMS40NCA1MzY4IDMzODYgNTIyMi41NiAzMzg2IDUwNDMuMTZaXCJcbiAgICAgICAgICBmaWxsPVwiI0EwQTdGM1wiXG4gICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgLz5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwidmFyKC0tb3VyYmVpZ2UpXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICBmb250RmFtaWx5PVwiQXJpYWwsQXJpYWxfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs0MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNDd9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDM1NDIuMTYgNDIwOClcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiSGlnaCBQb3dlciwgTG93IEludGVyZXN0XCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwidmFyKC0tb3VyYmVpZ2UpXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICBmb250RmFtaWx5PVwiQXJpYWwsQXJpYWxfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsyMzh9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDM1MjYuMTIgNDY2NylcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiS2VlcCBcIn1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8dGV4dFxuICAgICAgICAgIGZpbGw9XCJ2YXIoLS1vdXJiZWlnZSlcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezIzOH1cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNDE3NC42NiA0NjY3KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJJbmZvcm1lZFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0yOC42NDU4LTIuOTYxOGUtMDYgMjguNjQ2MiAzMzQ3LjI0LTI4LjY0NTUgMzM0Ny4yNC0yOC42NDU4IDIuOTYxOGUtMDZaTTg1LjkzNzggMzMxOC41OSAwLjAwMDM2MDg5MiAzNDkwLjQ3LTg1LjkzNzIgMzMxOC41OVpcIlxuICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICBmaWxsUnVsZT1cIm5vbnplcm9cIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCg2LjEyMzIzZS0xNyAxIDEgLTYuMTIzMjNlLTE3IDE2NDEuNSA1ODA0LjUpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkFyaWFsLEFyaWFsX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250U2l6ZT17MTY1fVxuICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEuODM2OTdlLTE2IC0xIDEgLTEuODM2OTdlLTE2IDY2NS4xNTMgNDA5MilcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiUE9XRVIgXCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkFyaWFsLEFyaWFsX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250U2l6ZT17MTY1fVxuICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEuODM2OTdlLTE2IC0xIDEgLTEuODM2OTdlLTE2IDY2NS4xNTMgMzQyMylcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiT0YgSU1QQUNUXCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkFyaWFsLEFyaWFsX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250U2l6ZT17MTY1fVxuICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAyMzY4LjM4IDYxMTMpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtcIklOVEVSRVNUIFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezE2NX1cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMzIzMC4wNCA2MTEzKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJGT1IgUFJPSkVDVFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIml0YWxpY1wiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezE4M31cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNjU0LjU4NyA1ODcxKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJMT1dcIn1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8dGV4dFxuICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICBmb250RmFtaWx5PVwiQXJpYWwsQXJpYWxfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJpdGFsaWNcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsxODN9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDU2ODQuOTUgNTg1NilcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiSElHSFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIml0YWxpY1wiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezE4M31cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNjM4LjI3NyAxMDY3KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJISUdIXCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuXG4iLCAiZXhwb3J0IGZ1bmN0aW9uIFN0YWtlaG9sZGVyTWFuYWdlbWVudCgpe1xuXG4gICAgcmV0dXJuKFxuICA8c3ZnXG4gICAgdmlld0JveD1cIjAgMCA0NzAwIDI1MDBcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHhtbG5zWGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICB4bWxTcGFjZT1cInByZXNlcnZlXCJcbiAgICBvdmVyZmxvdz1cImhpZGRlblwiXG5cbiAgPlxuICAgIDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTA0MCAtMjAyMSlcIj5cbiAgICAgIDxnPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMCAwLjA0MjcyOSAwIDcxNy4wNzggNDMwLjk1NyAxMTQ4IDQzMC45NTcgMC4wNDI3MjlaXCJcbiAgICAgICAgICBmaWxsPVwiIzdFODRDMVwiXG4gICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEgMCAwIDEgNDE1MyAzMTA4KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk00MzAuOTY1IDAgMCA0MzEgMTE0Ny45NiA0MzEgMTE0Ny45NiAwWlwiXG4gICAgICAgICAgZmlsbD1cIiM4RjQ3QTJcIlxuICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0xIDAgMCAxIDQxNTQgMjE4OSlcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMC4wNDI3MzI1IDAgMC4wNDI3MzI1IDExNDcuOTYgNDMxIDExNDcuOTYgNDMxIDQzMC45NjUgMC4wNDI3MzI1IDBaXCJcbiAgICAgICAgICBmaWxsPVwiIzVFMEE1NFwiXG4gICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEgMCAwIDEgMjUxOCAyMTg5KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0wLjA0MjcyOSAwLjA0MjczMjUgMC4wNDI3MjkgNDMxIDcxNy4wNzggNDMxIDExNDggMC4wNDI3MzI1WlwiXG4gICAgICAgICAgZmlsbD1cIiMwODA2MDdcIlxuICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0xIDAgMCAxIDMyMzUgMzgyNSlcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNNTk1LjQ4OSAwIDE2NC41MTEgNDMwLjg1OCAxNjQuNTExIDkxOC44NzMgMCA5MTguODczIDM4MCAxMzgwLjk2IDc2MCA5MTguODczIDU5NS40ODkgOTE4Ljg3MyA1OTUuNDg5IDBaXCJcbiAgICAgICAgICBzdHJva2U9XCIjQjg1QkQxXCJcbiAgICAgICAgICBzdHJva2VXaWR0aD17My40Mzc1fVxuICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJidXR0XCJcbiAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PXsxMH1cbiAgICAgICAgICBzdHJva2VPcGFjaXR5PXsxfVxuICAgICAgICAgIGZpbGw9XCIjQjg1QkQxXCJcbiAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSAwIDAgMSA0MzE4LjUgMjE4OS41KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk00NjIuMTI3IDAgMC4wNDI3MTg0IDM4MCA0NjIuMTI3IDc2MCA0NjIuMTI3IDU5NS40ODkgMTM4MSA1OTUuNDg5IDk1MC4xODUgMTY0LjUxMSA0NjIuMTI3IDE2NC41MTEgNDYyLjEyNyAwWlwiXG4gICAgICAgICAgc3Ryb2tlPVwiIzg1MEU3OFwiXG4gICAgICAgICAgc3Ryb2tlV2lkdGg9ezMuNDM3NX1cbiAgICAgICAgICBzdHJva2VMaW5lY2FwPVwiYnV0dFwiXG4gICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD17MTB9XG4gICAgICAgICAgc3Ryb2tlT3BhY2l0eT17MX1cbiAgICAgICAgICBmaWxsPVwiIzg1MEU3OFwiXG4gICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEgMCAwIDEgMzQ2OC41IDIwMjUuNSlcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMzgwIDAuMDQyNzE4NCAwLjA0MjczMDIgNDYyLjEyNyAxNjQuNTU0IDQ2Mi4xMjcgMTY0LjU1NCAxMzgxIDU5NS40ODkgOTUwLjE4NSA1OTUuNDg5IDQ2Mi4xMjcgNzYwIDQ2Mi4xMjcgMzgwIDAuMDQyNzE4NFpcIlxuICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSAwIDAgMSAyNjgyIDI4NzUpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTkxOC44NzIgMC4wNDI3MzAyIDkxOC44NzIgMTY0LjU1NCAwIDE2NC41NTQgNDMwLjgxNSA1OTUuNDg5IDkxOC44NzIgNTk1LjQ4OSA5MTguODcyIDc2MCAxMzgwLjk2IDM4MCA5MTguODcyIDAuMDQyNzMwMlpcIlxuICAgICAgICAgIGZpbGw9XCIjQTBBN0YzXCJcbiAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSAwIDAgMSA0MTUzIDM2NjEpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwiI0EwQTdGM1wiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkZpcmEgU2FucyxGaXJhIFNhbnNfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNDd9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQxOTAuMTUgNDIyNClcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiSU1QTEVNRU5UQVRJT05cIn1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8dGV4dFxuICAgICAgICAgIGZpbGw9XCIjQjg1QkQxXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICBmb250RmFtaWx5PVwiRmlyYSBTYW5zLEZpcmEgU2Fuc19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezE0N31cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNDM3OC4yNSAyMzI3KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJSRUdVTEFUSU9OICYgXCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwiI0I4NUJEMVwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkZpcmEgU2FucyxGaXJhIFNhbnNfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNDd9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQ4ODAuMTMgMjUwMylcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiU0FGRVRZXCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwiIzVFMEE1NFwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkZpcmEgU2FucyxGaXJhIFNhbnNfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNDd9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDExMzAuODIgMjM0MilcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiUEVSQ0VQVElPTlwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJGaXJhIFNhbnMsRmlyYSBTYW5zX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250U2l6ZT17MTQ3fVxuICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAxMTMwLjgyIDQyMDIpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtcIklNUEFDVFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICA8L2c+XG4gICAgPC9nPlxuICA8L3N2Zz5cbik7XG5cbn0iLCAiXG5leHBvcnQgZnVuY3Rpb24gU1dPVG9uZSgpe1xuXG4gICAgcmV0dXJuKFxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgdmlld0JveD1cIjAgMCA1NTAwIDI1MDBcIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB4bWxuc1hsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgICAgICB4bWxTcGFjZT1cInByZXNlcnZlXCJcbiAgICAgICAgICAgIG92ZXJmbG93PVwiaGlkZGVuXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTQzNSAtMzU3NSlcIj5cbiAgICAgICAgICAgICAgPGc+XG4gICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMzIyMiA1MzA1LjMgMzM1MS45MSA1MzA1LjMgMzM1MS45MSA1NjMyLjkyIDMyMzYuMjIgNTYzMi45MiAzMjI2LjQ0IDU2MDEuNDNDMzIyMy41MyA1NTg3LjE5IDMyMjIgNTU3Mi40NiAzMjIyIDU1NTcuMzZaTTM1NTQuOTYgNTIyMy4zNSAzNzA4LjUyIDUyMjMuMzUgMzcwOC41MiA1NjMyLjkyIDM1NTQuOTYgNTYzMi45MlpNMzkxMC4xNiA1MDQzLjYyIDQwNjMuODQgNTA0My42MiA0MDYzLjg0IDU2MzIuOTIgMzkxMC4xNiA1NjMyLjkyWk00MzgzLjUxIDM3MDQuMzJDNDQzNC44OCAzNzA0LjMyIDQ0NzguODIgMzcxNC41NSA0NTE1Ljg0IDM3MzMuMThMNDUyMi44MyAzNzM3LjkgNDUyOS41NiAzNzU5LjU3QzQ1MzIuNDcgMzc3My44MSA0NTM0IDM3ODguNTQgNDUzNCAzODAzLjY0TDQ1MzQgNDQxNS40MiA0NTIxLjk0IDQ0MjIuOTNDNDQ4NC44NCA0NDQyLjcxIDQ0NDAuMSA0NDUzLjg1IDQzODYuNzIgNDQ1My44NSA0MTkwLjg4IDQ0NTMuODUgNDA5Ni4xNyA0MjkwLjE0IDQwOTYuMTcgNDA3My40NiA0MDk2LjE3IDM4NTguNCA0MTgyLjg1IDM3MDQuMzIgNDM4My41MSAzNzA0LjMyWk0zNDQwLjY3IDM1ODUgNDEwMi4zMSAzNTg1IDQwNzAgMzYwNS4yNUMzOTI3LjM0IDM3MDUuODcgMzg0OC45NiAzODc3LjY2IDM4NDguOTYgNDA3OC4yOCAzODQ4Ljk2IDQzOTYuMDcgNDAzMC4zNSA0NjQ4LjA1IDQzNzguNjkgNDY0OC4wNSA0NDIzLjY0IDQ2NDguMDUgNDQ2NS44NSA0NjQzLjkxIDQ1MDUuMzEgNDYzNi4wN0w0NTM0IDQ2MjguNzkgNDUzNCA1NTU3LjM2QzQ1MzQgNTY3OC4xMSA0NDM2LjEgNTc3NiA0MzE1LjMzIDU3NzZMMzQ0MC42NyA1Nzc2QzMzNjUuMTkgNTc3NiAzMjk4LjY0IDU3MzcuNzYgMzI1OS4zNSA1Njc5LjYxTDMyNTAuNjIgNTY2My41MyA0MjEzLjI2IDU2NjMuNTNDNDIyNC41MSA1NjYzLjUzIDQyMzEuNjEgNTY1Ny40NyA0MjMxLjYxIDU2NDcuNjEgNDIzMS42MSA1NjQwLjMyIDQyMjMuMDkgNTYzMi45MiA0MjEzLjI2IDU2MzIuOTJMNDA5OS4wMSA1NjMyLjkyIDQwOTkuMDEgNTAyOC45NEM0MDk5LjAxIDUwMTkuMTggNDA5Mi4wMiA1MDEzLjAyIDQwODIuMTkgNTAxMy4wMkwzODk0LjY1IDUwMTMuMDJDMzg4NC44MiA1MDEzLjAyIDM4NzcuNzIgNTAxOS4xOCAzODc3LjcyIDUwMjguOTRMMzg3Ny43MiA1NjMyLjkyIDM3NDMuODEgNTYzMi45MiAzNzQzLjgxIDUyMDcuNDNDMzc0My44MSA1MTk4LjkxIDM3MzYuNyA1MTkyLjc0IDM3MjUuNDYgNTE5Mi43NEwzNTM5LjQ1IDUxOTIuNzRDMzUyOC4wOCA1MTkyLjc0IDM1MjEuMSA1MTk4LjkxIDM1MjEuMSA1MjA3LjQzTDM1MjEuMSA1NjMyLjkyIDMzODcuMTkgNTYzMi45MiAzMzg3LjE5IDUyOTAuNjJDMzM4Ny4xOSA1MjgwLjc2IDMzODAuMDkgNTI3NC43IDMzNzAuMjYgNTI3NC43TDMyMjIgNTI3NC43IDMyMjIgNTIxMS41IDMyNzMuNDUgNTIwMy40N0MzMzMyLjU5IDUxOTMuMTQgMzQwNC4yMSA1MTc3LjE1IDM0ODIuOTcgNTE1Mi4zOCAzNjAwLjA3IDUxMTUuNzIgMzcxMS4zNyA1MDY2LjgzIDM4MTEuNTMgNTAwOC4wOSAzODIxLjM2IDUwMDQuNDkgMzgyMi43OCA0OTk0LjYzIDM4MTcuMSA0OTg3LjM0IDM4MTMuNDMgNDk4Mi42MiAzODA4LjEgNDk3OS45NSAzODAyLjQyIDQ5NzkuOTUgMzc5OS4zNCA0OTc5Ljk1IDM3OTYuMTQgNDk4MC42NyAzNzkzLjE4IDQ5ODIuNDEgMzY5NC40NCA1MDQxLjE2IDM1ODUuOTggNTA4Ny41OCAzNDcwLjMxIDUxMjMuMTEgMzM5My42NyA1MTQ2Ljk1IDMzMjQuMTYgNTE2Mi4zNiAzMjY2Ljg0IDUxNzIuMzdMMzIyMiA1MTc5LjQgMzIyMiA1MTQ0Ljk5IDMyNjEuNDIgNTEzOC43MkMzMzE4LjA4IDUxMjguNzIgMzM4Ni44MiA1MTEzLjQyIDM0NjEuOSA1MDkwLjA0IDM2MjguMjUgNTAzNy40NiAzODY3Ljg5IDQ5MzIuMjkgNDA2My44NCA0NzIwLjczIDQwNzQuNjEgNDcxMS4zOCA0MDY0LjU1IDQ2OTYuMjkgNDA0OS45OSA0Njk2LjI5IDQwNDkuNCA0Njk2LjI5IDQwNDguOTIgNDY5Ni4yOSA0MDQ4LjMzIDQ2OTYuMjlMMzk5MS45NyA0NzAyLjQ1QzM5OTAuMiA0NzAyLjc2IDM5ODguNTQgNDcwMi45NiAzOTg3IDQ3MDIuOTYgMzk3OC4yNCA0NzAyLjk2IDM5NzEuOTYgNDY5Ny40MiAzOTcwLjc4IDQ2OTAuMjMgMzk2Ni41MiA0NjgwLjM3IDM5NzYuNDYgNDY3MC42MSAzOTg3LjcxIDQ2NjkuMzhMNDEzOC41NSA0NjUyLjMzQzQxMzkuMjYgNDY1Mi4yMyA0MTM5Ljk3IDQ2NTIuMjMgNDE0MC42OCA0NjUyLjIzIDQxNTEuMjIgNDY1Mi4yMyA0MTYxLjA1IDQ2NjAuMjQgNDE2MS4wNSA0NjY5LjM4TDQxNjEuMDUgNDc5OC45OUM0MTYxLjA1IDQ4MDguODUgNDE1Mi42NCA0ODE2LjE0IDQxNDEuMzkgNDgxNi4xNCA0MTMwLjAzIDQ4MTYuMTQgNDEyMS42MiA0ODA4Ljg1IDQxMjEuNjIgNDc5OC45OUw0MTIxLjYyIDQ3NTkuODZDNDEyMS42MiA0NzUzLjggNDExNy4zNiA0NzQ3LjY0IDQxMTEuNzkgNDc0NS4yOCA0MTEwLjAyIDQ3NDQuOTcgNDEwOC4yNCA0NzQ0Ljc2IDQxMDYuMzUgNDc0NC43NiA0MTAwLjQzIDQ3NDQuNzYgNDA5NC4xNSA0NzQ2LjQxIDQwOTIuMDIgNDc1MC4xIDQwMjcuMTQgNDgyMS4wNyAzOTUxLjAxIDQ4ODMuNDEgMzg2OS4zMSA0OTM4LjQ2IDM4NjIuMjEgNDk0My4yOCAzODYwLjc5IDQ5NTMuMTQgMzg2Ni40NyA0OTU5LjIgMzg3MC4wMiA0OTYzLjEgMzg3NS44MiA0OTY1LjQ3IDM4ODEuMzkgNDk2NS40NyAzODg0LjcgNDk2NS40NyAzODg3Ljc4IDQ5NjQuNjUgMzg5MC4zOSA0OTYyLjkgMzk2MC45NSA0OTE1LjE0IDQwMjguNTYgNDg2MC4yIDQwODcuNzYgNDgwMi42OSA0MDkwLjYgNDgyOC4zNiA0MTEzLjA5IDQ4NDcuOTggNDE0Mi42OSA0ODQ3Ljk4IDQxNzIuNDEgNDg0Ny45OCA0MTk3Ljc1IDQ4MjcuMTMgNDE5Ny43NSA0ODAwLjIyTDQxOTcuNzUgNDY3MC42MUM0MTk0LjkxIDQ2NTcuMTYgNDE4Ny44IDQ2NDQuOTQgNDE3NS4xNCA0NjM2LjQxIDQxNjQuNzIgNDYyOC4zIDQxNTIuMTcgNDYyMy41OCA0MTM5LjUgNDYyMy41OCA0MTM2Ljc3IDQ2MjMuNTggNDEzNC4xNyA0NjIzLjc4IDQxMzEuNDUgNDYyNC4xOUwzOTgwLjYxIDQ2NDAuMTFDMzk1MS4wMSA0NjQzLjcgMzkyOS45MyA0NjY4LjE1IDM5MzQuMDcgNDY5My44MiAzOTM2LjggNDcxNy45NiAzOTYxLjc4IDQ3MzUuNjIgMzk4OS4zNyA0NzM1LjYyIDM5OTEuMTQgNDczNS42MiAzOTkyLjkyIDQ3MzUuNjIgMzk5NC42OSA0NzM1LjQyTDQwMDcuMzYgNDczMi45NUMzODIyLjc4IDQ5MTguODQgMzYwNC4yMiA1MDE0LjI1IDM0NDkuMjMgNTA2MS45IDMzNzYuMjggNTA4NC4zOSAzMzA5LjY2IDUwOTkuMyAzMjU0LjgxIDUxMDkuMTVMMzIyMiA1MTE0LjUgMzIyMiAzODAzLjY0QzMyMjIgMzY4Mi44OSAzMzE5LjkgMzU4NSAzNDQwLjY3IDM1ODVaXCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjQzhDQkYxXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICBkPVwiTTU0MTAuNTUgNTM2NC44M0M1NDA1LjY2IDUzNjQuODMgNTQwMC4yOSA1MzY2LjQgNTM5NS4yNyA1MzY5LjQxIDUzODguMjMgNTM3NS42NSA1Mzg4LjIzIDUzODUuNTIgNTM5NS4yNyA1Mzk0LjI1TDU0MjAuOTMgNTQxNS4yNSA1Mzk1LjI3IDU0MzcuNUM1Mzg4LjIzIDU0NDMuNzMgNTM4OC4yMyA1NDUzLjYxIDUzOTUuMjcgNTQ2Mi4yNCA1Mzk5LjU3IDU0NjQuNzMgNTQwNS4zIDU0NjUuOTggNTQwOS40OCA1NDY1Ljk4IDU0MTUuMiA1NDY1Ljk4IDU0MjAuOTMgNTQ2NC43MyA1NDIzLjY4IDU0NjIuMjRMNTQ0OS4zNCA1NDM5Ljk5IDU0NzMuNDQgNTQ2Mi4yNEM1NDc3Ljc0IDU0NjQuNzMgNTQ4My4zNSA1NDY1Ljk4IDU0ODcuNjQgNTQ2NS45OCA1NDkzLjM3IDU0NjUuOTggNTQ5OC45OCA1NDY0LjczIDU1MDEuODUgNTQ2Mi4yNCA1NTA5LjAxIDU0NTYuMSA1NTA5LjAxIDU0NDQuOTggNTUwMS44NSA1NDM3LjVMNTQ3Ny43NCA1NDE1LjI1IDU1MDEuODUgNTM5NC4yNUM1NTA5LjAxIDUzODguMDIgNTUwOS4wMSA1Mzc2Ljg5IDU1MDEuODUgNTM2OS40MSA1NDk4LjI3IDUzNjYuNCA1NDkzLjczIDUzNjQuODMgNTQ4OC43MiA1MzY0LjgzIDU0ODMuNzEgNTM2NC44MyA1NDc4LjQ2IDUzNjYuNCA1NDczLjQ0IDUzNjkuNDFMNTQ0OS4zNCA1MzkwLjUxIDU0MjMuNjggNTM2OS40MUM1NDIwLjIyIDUzNjYuNCA1NDE1LjU2IDUzNjQuODMgNTQxMC41NSA1MzY0LjgzWk00ODg4LjA4IDUzMjkuOEM0OTE5LjM0IDUzMjkuOCA0OTQ2LjMxIDUzNTMuNCA0OTQ2LjMxIDUzODEuODggNDk0Ni4zMSA1NDA5LjAxIDQ5MTkuMzQgNTQzMi42MSA0ODg4LjA4IDU0MzIuNjEgNDg1NS4zOCA1NDMyLjYxIDQ4MjkuODQgNTQwOS4wMSA0ODI5Ljg0IDUzODEuODggNDgyOS44NCA1MzUzLjQgNDg1NS4zOCA1MzI5LjggNDg4OC4wOCA1MzI5LjhaTTUwNzEuODYgNTEzNy4wOEM1MDY2LjczIDUxMzcuMDggNTA2MS4zNiA1MTM4LjY0IDUwNTcuMTggNTE0MS43NiA1MDUwLjAyIDUxNDcuODkgNTA1MC4wMiA1MTU5LjAxIDUwNTcuMTggNTE2Ni41TDUwODEuMjkgNTE4Ny40OSA1MDU3LjE4IDUyMDkuODRDNTA1MC4wMiA1MjE1Ljk4IDUwNTAuMDIgNTIyNy4xIDUwNTcuMTggNTIzNC41OCA1MDU5LjkzIDUyMzcuMDggNTA2NS42NSA1MjM5LjQ3IDUwNzEuMzggNTIzOS40NyA1MDc1LjU2IDUyMzkuNDcgNTA4MS4yOSA1MjM3LjA4IDUwODUuNTggNTIzNC41OEw1MTA5LjY5IDUyMTIuMjMgNTEzNS4yMyA1MjM0LjU4QzUxMzguMDkgNTIzNy4wOCA1MTQzLjgyIDUyMzkuNDcgNTE0OS40MyA1MjM5LjQ3IDUxNTMuNzMgNTIzOS40NyA1MTU5LjQ2IDUyMzcuMDggNTE2My42MyA1MjM0LjU4IDUxNzAuNzkgNTIyOC4zNSA1MTcwLjc5IDUyMTcuMjIgNTE2My42MyA1MjA5Ljg0TDUxMzguMDkgNTE4Ny40OSA1MTYzLjYzIDUxNjYuNUM1MTcwLjc5IDUxNjAuMjYgNTE3MC43OSA1MTQ5LjE0IDUxNjMuNjMgNTE0MS43NiA1MTYwLjE3IDUxMzguNjQgNTE1NS4xNiA1MTM3LjA4IDUxNTAuMDMgNTEzNy4wOCA1MTQ0LjkgNTEzNy4wOCA1MTM5LjUzIDUxMzguNjQgNTEzNS4yMyA1MTQxLjc2TDUxMDkuNjkgNTE2Mi43NSA1MDg1LjU4IDUxNDEuNzZDNTA4MiA1MTM4LjY0IDUwNzYuOTkgNTEzNy4wOCA1MDcxLjg2IDUxMzcuMDhaTTUzODMuOTQgNTExNS43N0M1MzgzLjk0IDUxMTUuNzcgNTM4MS4wNyA1MTE1Ljc3IDUzODEuMDcgNTExNy4wMkw1MzI5Ljk5IDUxNDAuNTFDNTMyMS40IDUxNDQuMjUgNTMxNS42NyA1MTU0LjEzIDUzMjEuNCA1MTYyLjc2IDUzMjUuNTggNTE2OS4yIDUzMzIuMTQgNTE3Mi44NCA1MzM5Ljc4IDUxNzIuODQgNTM0Mi41MyA1MTcyLjg0IDUzNDUuMzkgNTE3Mi40MiA1MzQ4LjM3IDUxNzEuMzhMNTM2Mi41NyA1MTY1LjI1QzUzMzcuMDMgNTIzOS40NyA1MjkxLjU3IDUyOTUuMTkgNTIyOS4wMyA1MzI5LjggNTE2Ni43NCA1MzY0Ljk0IDUwOTcuMjggNTM3Mi40MiA1MDQ2LjkyIDUzNzIuNDIgNTAyMi42OSA1MzcyLjQyIDUwMDIuNzYgNTM3MC42NiA0OTkwLjM1IDUzNjkuNDEgNDk4My4xOSA1MzI4LjY2IDQ5NDMuNDUgNTI5Ny42OCA0ODk1LjEyIDUyOTcuNjggNDg0MS4xOCA1Mjk3LjY4IDQ3OTcuMTQgNTMzNi4wNCA0Nzk3LjE0IDUzODMuMDMgNDc5Ny4xNCA1NDI4Ljg3IDQ4NDEuMTggNTQ2OC40NyA0ODk1LjEyIDU0NjguNDcgNDk0MC41OSA1NDY4LjQ3IDQ5ODAuNDUgNTQzOS45OSA0OTkwLjM1IDU0MDIuODggNTAwNC41NSA1NDA0LjEzIDUwMjQuNDggNTQwNi42MiA1MDUwLjAyIDU0MDYuNjIgNTEwMy45NiA1NDA2LjYyIDUxODAuNyA1Mzk2LjY0IDUyNTAuMzkgNTM1OC4yOSA1MzE5Ljk3IDUzMTkuOTMgNTM2OS43MyA1MjYwLjU3IDUzOTguMTQgNTE4MC4xMkw1NDAxIDUxODVDNTQwNS4zIDUxOTEuMjQgNTQxMi4zNCA1MTkzLjczIDU0MTkuNSA1MTkzLjczIDU0MjIuMjQgNTE5My43MyA1NDIzLjY4IDUxOTMuNzMgNTQyNy45NyA1MTkyLjQ5IDU0MjkuNCA1MTg3LjUgNTQzMy43IDUxNzcuNjIgNTQyNy45NyA1MTY3Ljc1TDU0MDEgNTEyMy4xNUM1NDAxIDUxMjMuMTUgNTQwMSA1MTIxLjkgNTM5OS41NyA1MTIxLjlMNTM5NS4yNyA1MTE4LjI3IDUzOTMuODQgNTExNy4wMkM1MzkzLjg0IDUxMTcuMDIgNTM5Mi40MSA1MTE3LjAyIDUzOTIuNDEgNTExNS43N1pNNDczMC45IDUwOTAuMDlDNDcyNS42NSA1MDkwLjA5IDQ3MjAuNCA1MDkxLjY1IDQ3MTYuMSA1MDk0LjY3IDQ3MDguOTQgNTEwMC45IDQ3MDguOTQgNTExMi4wMyA0NzE2LjEgNTExOS40MUw0NzQwLjIxIDUxNDEuNzYgNDcxNi4xIDUxNjIuNzVDNDcwOC45NCA1MTY4Ljk5IDQ3MDguOTQgNTE4MC4xMSA0NzE2LjEgNTE4Ny40OSA0NzE4Ljk3IDUxOTEuMjQgNDcyNC41OCA1MTkyLjQ4IDQ3MzAuMzEgNTE5Mi40OCA0NzM0LjYgNTE5Mi40OCA0NzQwLjIxIDUxOTEuMjQgNDc0NC41MSA1MTg3LjQ5TDQ3NjguNzMgNTE2Ni41IDQ3OTQuMjcgNTE4Ny40OUM0Nzk3LjE0IDUxOTEuMjQgNDgwMi43NSA1MTkyLjQ4IDQ4MDguNDcgNTE5Mi40OCA0ODEyLjc3IDUxOTIuNDggNDgxOC4zOCA1MTkxLjI0IDQ4MjIuNjggNTE4Ny40OSA0ODI5Ljg0IDUxODEuMzYgNDgyOS44NCA1MTcxLjM4IDQ4MjIuNjggNTE2Mi43NUw0Nzk3LjE0IDUxNDEuNzYgNDgyMi42OCA1MTE5LjQxQzQ4MjkuODQgNTExMy4yNyA0ODI5Ljg0IDUxMDMuNCA0ODIyLjY4IDUwOTQuNjcgNDgxOS4xIDUwOTEuNjUgNDgxNC4yIDUwOTAuMDkgNDgwOC45NSA1MDkwLjA5IDQ4MDMuODIgNTA5MC4wOSA0Nzk4LjU3IDUwOTEuNjUgNDc5NC4yNyA1MDk0LjY3TDQ3NjguNzMgNTExNy4wMiA0NzQ0LjUxIDUwOTQuNjdDNDc0MC45MyA1MDkxLjY1IDQ3MzYuMDMgNTA5MC4wOSA0NzMwLjkgNTA5MC4wOVpNNTM1Ni45NiA0ODk2LjY0IDU2MTQuMTQgNDg5Ni42NEM1NjUzLjg4IDQ4OTYuNjQgNTY4My43MiA0OTI1LjEzIDU2ODMuNzIgNDk1Ny4zNUw1NjgzLjcyIDU1NzYuMTYgNTY3OS40MiA1NTc2LjE2QzU2NzkuNDIgNTYxMC43OCA1NjQ4LjI3IDU2MzYuNzcgNTYxMS4yOCA1NjM2Ljc3TDQ2MjkuNDEgNTYzNi43NyA0NjE4LjQ0IDU2MDEuNDMgNDYxNi4zOSA1NTgxLjA1IDUyNjQuNTkgNTU4MS4wNUM1Mjc0LjUgNTU4MS4wNSA1Mjg0LjUyIDU1NzMuNjcgNTI4NC41MiA1NTYzLjc5IDUyODQuNTIgNTU1NS4wNiA1Mjc0LjUgNTU0Ni40MyA1MjY0LjU5IDU1NDYuNDNMNDYyMC44NyA1NTQ2LjQzIDQ2MjAuODcgNDk4OC4yMiA0ODQ1LjM1IDQ5ODguMjJDNDg0OS42NSA1MDE0LjIxIDQ4NzUuMzEgNTAzMi44MiA0OTA3Ljg5IDUwMzIuODJMNTI5MyA1MDMyLjgyQzUzMjIuODMgNTAzMi44MiA1MzQ5LjggNTAxMi45NiA1MzU1LjUzIDQ5ODguMjJMNTU3OC41OCA0OTg4LjIyIDU1NzguNTggNTU0Ni40MyA1MzYxLjE0IDU1NDYuNDNDNTM1MS4yNCA1NTQ2LjQzIDUzNDIuNzYgNTU1NS4wNiA1MzQyLjc2IDU1NjMuNzkgNTM0Mi43NiA1NTczLjY3IDUzNTEuMjQgNTU4MS4wNSA1MzYxLjE0IDU1ODEuMDVMNTU5OC41MSA1NTgxLjA1QzU2MDguNDEgNTU4MS4wNSA1NjE3LjAxIDU1NzMuNjcgNTYxNy4wMSA1NTYzLjc5TDU2MTcuMDEgNDk3MC45N0M1NjE3LjAxIDQ5NjIuMjQgNTYwOC40MSA0OTU0Ljg2IDU1OTguNTEgNDk1NC44Nkw1MzU2Ljk2IDQ5NTQuODZaTTQ2MTQgNDg5Ni42NCA0ODQ0LjA0IDQ4OTYuNjQgNDg0NC4wNCA0OTU0Ljg2IDQ2MTQgNDk1NC44NlpNNTA5Ni45MiA0ODc1LjY1QzUxMTUuNDIgNDg3NS42NSA1MTI5LjYyIDQ4ODguMDIgNTEyOS42MiA0OTAyLjg4IDUxMjkuNjIgNDkxOC45OSA1MTE1LjQyIDQ5MzEuMzYgNTA5Ni45MiA0OTMxLjM2IDUwNzkuODYgNDkzMS4zNiA1MDY1LjY2IDQ5MTguOTkgNTA2NS42NiA0OTAyLjg4IDUwNjUuNjYgNDg4OC4wMiA1MDc5Ljg2IDQ4NzUuNjUgNTA5Ni45MiA0ODc1LjY1Wk01MDk2LjkyIDQ4MzkuNzlDNTA1OC41IDQ4MzkuNzkgNTAyNC40OCA0ODY4LjE2IDUwMjQuNDggNDkwMi44OCA1MDI0LjQ4IDQ5MzcuNSA1MDU3LjE4IDQ5NjcuMjMgNTA5Ni45MiA0OTY3LjIzIDUxMzYuNjYgNDk2Ny4yMyA1MTY5LjM2IDQ5MzguNzUgNTE2OS4zNiA0OTAyLjg4IDUxNjcuOTMgNDg2OC4xNiA1MTM2LjY2IDQ4MzkuNzkgNTA5Ni45MiA0ODM5Ljc5Wk01MDU4LjQ5IDQ2OTQuOTggNTEyOS42MiA0Njk0Ljk4QzUxNzAuNzkgNDY5NC45OCA1MjAzLjQ5IDQ3MjMuMzYgNTIwMy40OSA0NzU5LjMzTDUyMDMuNDkgNDc5Ny42OEM1MjAzLjQ5IDQ4MjcuNDEgNTIzMS45IDQ4NTIuMTUgNTI2Ni4wMyA0ODUyLjE1TDUyODQuNTIgNDg1Mi4xNUM1Mjk1Ljg2IDQ4NTIuMTUgNTMwNy4yIDQ4NjIuMDMgNTMwNy4yIDQ4NzEuOUw1MzA3LjIgNDk3OS42QzUzMDcuMiA0OTg5LjQ3IDUyOTUuODYgNDk5OS40NSA1Mjg0LjUyIDQ5OTkuNDVMNDg5Ny45OCA0OTk5LjQ1QzQ4ODYuNjQgNDk5OS40NSA0ODc1LjMxIDQ5ODkuNDcgNDg3NS4zMSA0OTc5LjZMNDg4MC45MSA0ODcxLjlDNDg4MC45MSA0ODYyLjAzIDQ4OTAuODIgNDg1Mi4xNSA0OTAzLjcxIDQ4NTIuMTVMNDkyMi4wOSA0ODUyLjE1QzQ5NTQuNzkgNDg1Mi4xNSA0OTgzLjE5IDQ4MjcuNDEgNDk4My4xOSA0Nzk3LjY4TDQ5ODMuMTkgNDc1OS4zM0M0OTgzLjE5IDQ3MjMuMzYgNTAxNy4zMiA0Njk0Ljk4IDUwNTguNDkgNDY5NC45OFpNNDgzMi42NyAzNTg1IDUxMjIuNjMgMzU4NSA1MTIyLjYzIDM3MjEuOTcgNTQ1OS43MyAzNzIxLjk3IDU0NTkuNzMgNDYzMiA1Njk4LjkyIDQ2MzIgNTY5OC45MiAzNzIxLjk3IDU5MDkuODggMzcyMS45NyA1OTIxLjU2IDM3NTkuNTdDNTkyNC40NyAzNzczLjgxIDU5MjYgMzc4OC41NCA1OTI2IDM4MDMuNjRMNTkyNiA1NTU3LjM2QzU5MjYgNTY3OC4xMSA1ODI4LjEgNTc3NiA1NzA3LjMzIDU3NzZMNDgzMi42NyA1Nzc2QzQ3NTcuMTkgNTc3NiA0NjkwLjY0IDU3MzcuNzYgNDY1MS4zNSA1Njc5LjYxTDQ2NDguMjMgNTY3My44OCA1NjExLjI4IDU2NzMuODhDNTY3MC45NSA1NjczLjg4IDU3MjAuNzEgNTYzMC42MyA1NzIwLjcxIDU1NzcuNDFMNTcyMC43MSA0OTU4LjZDNTcxOS4yOCA0OTA1LjM4IDU2NjkuNTIgNDg2My4yOCA1NjA4LjQxIDQ4NjMuMjhMNTM1MS4yNCA0ODYzLjI4QzUzNDUuNTEgNDgzNy4yOSA1MzIxLjQgNDgxOC42OCA1Mjg4LjcgNDgxOC42OEw1MjcxLjY0IDQ4MTguNjhDNTI1OC44NyA0ODE4LjY4IDUyNDguOTYgNDgwOC44MSA1MjQ4Ljk2IDQ3OTcuNjhMNTI0OC45NiA0NzU5LjMzQzUyNDguOTYgNDcwMy42MSA1MTk2LjMzIDQ2NTkuMDIgNTEzMi40OCA0NjU5LjAyTDUwNjEuMzYgNDY1OS4wMkM0OTk3LjM5IDQ2NTkuMDIgNDk0Ni4zMSA0NzAzLjYxIDQ5NDYuMzEgNDc1OS4zM0w0OTQ2LjMxIDQ3OTcuNjhDNDk0Ni4zMSA0ODA4LjgxIDQ5MzYuMjkgNDgxOC42OCA0OTIzLjUyIDQ4MTguNjhMNDkwNS4xNCA0ODE4LjY4QzQ4NzUuMzEgNDgxOC42OCA0ODQ4LjIxIDQ4MzguNTQgNDg0NC4wNCA0ODYzLjI4TDQ2MTQgNDg2My4yOCA0NjE0IDM4MDMuNjRDNDYxNCAzNjgyLjg5IDQ3MTEuOSAzNTg1IDQ4MzIuNjcgMzU4NVpcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiNFRUY5RkZcIlxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgIGQ9XCJNNzMxLjA5NCA1NjY2LjIzIDg3OS44MDUgNTc3NiA2NTcuNjcxIDU3NzZDNjQyLjU3NSA1Nzc2IDYyNy44MzYgNTc3NC40NyA2MTMuNjAxIDU3NzEuNTZMNTk1LjA5IDU3NjUuODFaTTQ2MS44OTQgNTY1Mi45OCA1NDEuNTM5IDU2NTIuOTggNTI2LjQyNSA1NzI2LjYzIDUyNi43MjEgNTczMS40OSA1MDMuMDQ3IDU3MTEuOTZDNDkzLjE1NSA1NzAyLjA3IDQ4NC4yMDUgNTY5MS4yNCA0NzYuMzQ1IDU2NzkuNjFaTTQzOSA1NTIxLjc5IDU2OC45OTcgNTUyMS43OSA1NDkuNzMxIDU2MTEuNjUgNDQ2LjYxNSA1NjExLjY1IDQ0My40NDMgNTYwMS40M0M0NDAuNTI5IDU1ODcuMTkgNDM5IDU1NzIuNDYgNDM5IDU1NTcuMzZaTTEwNDQuMjEgNTMwMy43MUMxMDM0LjY0IDUzMDMuNzEgMTAyNi40NCA1MzEyLjUgMTAyNi40NCA1MzI0LjM4IDEwMjYuNDQgNTMzNC42NiAxMDM0LjY0IDUzNDQuOTMgMTA0NC4yMSA1MzQ0LjkzTDExNjcuODkgNTM0NC45M0MxMTc4Ljg1IDUzNDQuOTMgMTE4Ny4xNiA1MzM0LjY2IDExODcuMTYgNTMyNC4zOCAxMTg3LjE2IDUzMTIuNSAxMTc4Ljg1IDUzMDMuNzEgMTE2Ny44OSA1MzAzLjcxWk03NTguNTUzIDUxOTQuNjhDNzQ3LjU5MiA1MTk0LjY4IDczOS4yODUgNTIwMy40NiA3MzkuMjg1IDUyMTUuMjIgNzM5LjI4NSA1MjI3LjEgNzQ3LjU5MiA1MjM1Ljg5IDc1OC41NTMgNTIzNS44OUwxMTY3Ljg5IDUyMzUuODlDMTE3OC44NSA1MjM1Ljg5IDExODcuMTYgNTIyNy4xIDExODcuMTYgNTIxNS4yMiAxMTg3LjE2IDUyMDMuNDYgMTE3OC44NSA1MTk0LjY4IDExNjcuODkgNTE5NC42OFpNOTYxLjgzNCA0OTczLjYyQzk1Mi4yNTggNDk3My42MiA5NDMuOTUyIDQ5ODIuNDEgOTQzLjk1MiA0OTk0LjI5IDk0My45NTIgNTAwNi4wNSA5NTIuMjU4IDUwMTQuODQgOTYxLjgzNCA1MDE0Ljg0TDExNjcuODkgNTAxNC44NEMxMTc4Ljg1IDUwMTQuODQgMTE4Ny4xNSA1MDA2LjA1IDExODcuMTUgNDk5NC4yOSAxMTg3LjE1IDQ5ODIuNDEgMTE3OC44NSA0OTczLjYyIDExNjcuODkgNDk3My42MlpNNTUyLjQ5OCA0ODYzLjFDNTQxLjUzOCA0ODYzLjEgNTMzLjIzMSA0ODcxLjg5IDUzMy4yMzEgNDg4My43NyA1MzMuMjMxIDQ4OTUuNTMgNTQxLjUzOCA0OTA0LjMyIDU1Mi40OTggNDkwNC4zMkwxMTY3Ljg5IDQ5MDQuMzJDMTE3OC44NCA0OTA0LjMyIDExODcuMTUgNDg5NS41MyAxMTg3LjE1IDQ4ODMuNzcgMTE4Ny4xNSA0ODcxLjg5IDExNzguODQgNDg2My4xIDExNjcuODkgNDg2My4xWk0xMzUzLjI5IDQ4NjAuMTMgMTM3NS4zMyA0ODYwLjEzQzE0MDkuNzEgNDg2MC4xMyAxNDM5LjgyIDQ4ODkuNTkgMTQzOS44MiA0OTI3Ljk2TDE0MzkuODIgNTU0NS4zMUMxNDM4LjU1IDU1ODIuMTkgMTQwOC4zMiA1NjEzLjEzIDEzNzMuOTQgNTYxMy4xM0wxMDQ2Ljk4IDU2MTMuMTNDMTA0MS41NiA1NjEzLjEzIDEwMzQuNjQgNTYxNy41OSAxMDMwLjQ4IDU2MjAuNTYgMTAyNy44MyA1NjI2LjM3IDEwMjYuNDQgNTYzMi4zMiAxMDI3LjgzIDU2MzYuNzdMMTA1Ny4zNiA1Nzc2IDk0Ni42OTUgNTc3NiA3NjUuNDc1IDU2NDIuNTkgOTMwLjIyNCA1NTIxLjc5IDEyNTEuNjUgNTUyMS43OUMxMzA5LjMzIDU1MjEuNzkgMTM1My4yOSA1NDczLjE1IDEzNTMuMjkgNTQxMi43NVpNNDM5IDQ3MjcuNDUgMTI1MS42NSA0NzI3LjQ1QzEyODYuMDMgNDcyNy40NSAxMzE2LjI2IDQ3NTcuMDQgMTMxNi4yNiA0Nzk1LjI4TDEzMTYuMjYgNTQxMi43NUMxMzE2LjI2IDU0NDkuNjQgMTI4OC44IDU0ODAuNTggMTI1MS42NSA1NDgwLjU4TDkyNC44MDIgNTQ4MC41OEM5MjAuNjQ5IDU0ODAuNTggOTE3Ljg4IDU0ODEuOTQgOTEzLjcyNiA1NDgzLjQyTDU2Ni4yMjkgNTczOC4zOEM1NjMuNDYgNTczOC4zOCA1NjMuNDYgNTczNi45IDU2My40NiA1NzM2LjlMNjE0LjMzOSA1NTA0LjA5QzYxNS43MjMgNTQ5OC4xNSA2MTQuMzM5IDU0OTAuODUgNjEwLjE4NSA1NDg3Ljg4IDYwNi4wMzEgNTQ4MS45NCA2MDEuOTk0IDU0ODAuNTggNTk1LjA3MSA1NDgwLjU4TDQzOSA1NDgwLjU4IDQzOSA1MzQ0LjkzIDk2NC42MDYgNTM0NC45M0M5NzQuMTgyIDUzNDQuOTMgOTgyLjQ4OSA1MzM0LjY2IDk4Mi40ODkgNTMyNC4zOCA5ODIuNDg5IDUzMTIuNSA5NzQuMTgyIDUzMDMuNzEgOTY0LjYwNiA1MzAzLjcxTDQzOSA1MzAzLjcxIDQzOSA1MjM1Ljg5IDYzNC44NzQgNTIzNS44OUM2NDQuNTY1IDUyMzUuODkgNjUyLjc1NiA1MjI3LjEgNjUyLjc1NiA1MjE1LjIyIDY1NS41MjUgNTIwMy40NiA2NDUuOTQ5IDUxOTQuNjggNjM0Ljg3NCA1MTk0LjY4TDQzOSA1MTk0LjY4IDQzOSA1MTI1LjM3IDExNjcuODkgNTEyNS4zN0MxMTc4Ljg1IDUxMjUuMzcgMTE4Ny4xNiA1MTE2LjU4IDExODcuMTYgNTEwNC43IDExODcuMTYgNTA5Mi45NCAxMTc4Ljg1IDUwODQuMTUgMTE2Ny44OSA1MDg0LjE1TDQzOSA1MDg0LjE1IDQzOSA1MDE0Ljg0IDg4Mi4yMyA1MDE0Ljg0Qzg5MS44MDUgNTAxNC44NCA4OTkuOTk3IDUwMDYuMDUgODk5Ljk5NyA0OTk0LjI5IDg5OS45OTcgNDk4Mi40MSA4OTEuODA1IDQ5NzMuNjIgODgyLjIzIDQ5NzMuNjJMNDM5IDQ5NzMuNjIgNDM5IDQ5MDQuMzIgNDcxLjUwOSA0OTA0LjMyQzQ4MS4wODUgNDkwNC4zMiA0OTAuNjYgNDg5NS41MyA0OTAuNjYgNDg4My43NyA0OTAuNjYgNDg3MS44OSA0ODEuMDg1IDQ4NjMuMSA0NzEuNTA5IDQ4NjMuMUw0MzkgNDg2My4xWk0xNTc3LjE2IDM2ODYuNjZDMTY2Ni40NSAzNjg2LjY2IDE3MTQuMzYgMzcxNS41IDE3NDAuODcgMzc1My45OEwxNzQ3LjEyIDM3NjUuMTQgMTc1MSAzODAzLjY0IDE3NTEgMzk4My43NSAxNzA1LjEgMzk2OS42M0MxNjg2Ljk0IDM5NjQuNDkgMTY2Ny44NiAzOTU5LjUxIDE2NDcuNzkgMzk1NC42OSAxNDY4IDM5MTQuNTcgMTQyMS40NSAzODgyLjQ3IDE0MjEuNDUgMzgwNS40MyAxNDIxLjQ1IDM3MjYuNzkgMTQ3OS4yNCAzNjg2LjY2IDE1NzcuMTYgMzY4Ni42NlpNNjU3LjY3MSAzNTg1IDEzMDEuNzIgMzU4NSAxMjgyLjM5IDM1OTkuMTlDMTIxMy41NyAzNjU1Ljc3IDExNzcuNDUgMzczNi40MiAxMTc3LjQ1IDM4MzIuNzIgMTE3Ny40NSAzOTgxLjk4IDEyNTEuMjkgNDA5Mi43MiAxNTUzLjA4IDQxNjMuMzQgMTY0Ny43OSA0MTg1LjAxIDE3MDguMzkgNDIwNS40OCAxNzQ1LjMxIDQyMzEuOTZMMTc1MSA0MjM3LjA5IDE3NTEgNDQzMy4yNiAxNzI2LjgxIDQ0NDcuODFDMTY5OC40MSA0NDYxLjA3IDE2NjAuNjMgNDQ2OC4yOSAxNjEyLjQ3IDQ0NjguMjkgMTQ4NC4wNSA0NDY4LjI5IDE0MDUuNCA0NDE4LjU0IDEzNzkuNzEgNDMwNy43OUwxMTM4LjkyIDQzMDcuNzlDMTE2NC42MSA0NTEwLjAyIDEzMTMuOSA0NjQ4LjA1IDE1OTQuODIgNDY0OC4wNSAxNjQ5LjYgNDY0OC4wNSAxNjk5LjQ3IDQ2NDMuMTQgMTc0NC4zNCA0NjMzLjg0TDE3NTEgNDYzMi4xOSAxNzUxIDU1NTcuMzZDMTc1MSA1Njc4LjExIDE2NTMuMSA1Nzc2IDE1MzIuMzMgNTc3NkwxMDk2LjYyIDU3NzYgMTA3MC40IDU2NTIuOTggMTM3My45NCA1NjUyLjk4QzE0MzAuMjQgNTY1Mi45OCAxNDc1LjU4IDU2MDUuODMgMTQ3NS41OCA1NTQ1LjMxTDE0NzUuNTggNDkyNy45NkMxNDc1LjU4IDQ4NjguOTIgMTQyOC44NiA0ODE4LjkyIDEzNzMuOTQgNDgxOC45MkwxMzUxLjkxIDQ4MTguOTIgMTM1MS45MSA0Nzk1LjI4QzEzNTEuOTEgNDczNC44OCAxMzA3Ljk1IDQ2ODYuMjQgMTI1MC4yNiA0Njg2LjI0TDQzOSA0Njg2LjI0IDQzOSAzODAzLjY0QzQzOSAzNjgyLjg5IDUzNi45MDIgMzU4NSA2NTcuNjcxIDM1ODVaXCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjQkY2M0I3XCJcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICBkPVwiTTI2MTIuNjggNTQ4My4zMUMyNjAzLjAyIDU0ODMuMzEgMjU5NC41OCA1NDkwLjUgMjU5NC41OCA1NTAxLjE5IDI1OTQuNTggNTUxMC42OCAyNjAxLjggNTUxNy44OCAyNjEyLjY4IDU1MTcuODhMMjcyNC4xMiA1NTE3Ljg4QzI3MzMuNzggNTUxNy44OCAyNzQyLjIyIDU1MTAuNjggMjc0Mi4yMiA1NTAxLjE5IDI3NDIuMjIgNTQ5MC41IDI3MzMuNzggNTQ4My4zMSAyNzI0LjEyIDU0ODMuMzFaTTIzNTAuMDMgNTQ4My4zMUMyMzQxLjQ5IDU0ODMuMzEgMjMzMS44MyA1NDkwLjUgMjMzMS44MyA1NTAxLjE5IDIzMzEuODMgNTUxMC42OCAyMzQwLjI2IDU1MTcuODggMjM1MC4wMyA1NTE3Ljg4TDI0NjIuNTkgNTUxNy44OEMyNDcxLjAzIDU1MTcuODggMjQ4MC42OSA1NTEwLjY4IDI0ODAuNjkgNTUwMS4xOSAyNDgwLjY5IDU0OTAuNSAyNDczLjQ3IDU0ODMuMzEgMjQ2Mi41OSA1NDgzLjMxWk0yMDg5LjcyIDU0ODMuMzFDMjA4MS4xNyA1NDgzLjMxIDIwNzEuNTEgNTQ5MC41IDIwNzEuNTEgNTUwMS4xOSAyMDcxLjUxIDU1MTAuNjggMjA3OS45NSA1NTE3Ljg4IDIwODkuNzIgNTUxNy44OEwyMjAyLjI4IDU1MTcuODhDMjIxMC43MiA1NTE3Ljg4IDIyMjAuNDggNTUxMC42OCAyMjIwLjQ4IDU1MDEuMTkgMjIyMC40OCA1NDkwLjUgMjIxMS45NCA1NDgzLjMxIDIyMDIuMjggNTQ4My4zMVpNMjYxMi42OCA1MzM1Ljg0QzI2MDMuMDIgNTMzNS44NCAyNTk0LjU4IDUzNDIuOTQgMjU5NC41OCA1MzUzLjYzIDI1OTQuNTggNTM2NC40MiAyNjAxLjggNTM3MS41MSAyNjEyLjY4IDUzNzEuNTFMMjcyNC4xMiA1MzcxLjUxQzI3MzMuNzggNTM3MS41MSAyNzQyLjIyIDUzNjQuNDIgMjc0Mi4yMiA1MzUzLjYzIDI3NDIuMjIgNTM0Mi45NCAyNzMzLjc4IDUzMzUuODQgMjcyNC4xMiA1MzM1Ljg0Wk0yMDg5LjcyIDUzMzUuODRDMjA4MS4xNyA1MzM1Ljg0IDIwNzEuNTEgNTM0Mi45NCAyMDcxLjUxIDUzNTMuNjMgMjA3MS41MSA1MzY0LjQyIDIwNzkuOTUgNTM3MS41MSAyMDg5LjcyIDUzNzEuNTFMMjIwMi4yOCA1MzcxLjUxQzIyMTAuNzIgNTM3MS41MSAyMjIwLjQ4IDUzNjQuNDIgMjIyMC40OCA1MzUzLjYzIDIyMjAuNDggNTM0Mi45NCAyMjExLjk0IDUzMzUuODQgMjIwMi4yOCA1MzM1Ljg0Wk0yNDYyLjA4IDUyOTguNjhDMjQ1Ny43MSA1Mjk4LjY4IDI0NTMuNDQgNTMwMC43OCAyNDUwLjQ5IDUzMDQuODdMMjM4OC43NyA1MzY1LjYyIDIzNjMuMjUgNTM0MC42NEMyMzU5LjA4IDUzMzYuNDQgMjM1NC41IDUzMzQuMzUgMjM1MC4yMyA1MzM0LjM1IDIzNDYuMDYgNTMzNC4zNSAyMzQyLjEgNTMzNi40NCAyMzM5LjA1IDUzNDAuNjQgMjMzMC42MSA1MzQ3LjczIDIzMzAuNjEgNTM1OC40MiAyMzM5LjA1IDUzNjQuNDJMMjM3Ni41NyA1NDAxLjI4QzIzNzkuMDEgNTQwMy42OCAyMzgzLjg5IDU0MDUuOTggMjM4OC43NyA1NDA1Ljk4IDIzOTMuNTUgNTQwNS45OCAyMzk3LjIxIDU0MDMuNjggMjQwMC44NyA1NDAxLjI4TDI0NzQuNjkgNTMyOC42NUMyNDgxLjkxIDUzMjIuNzYgMjQ4MS45MSA1MzEwLjg3IDI0NzQuNjkgNTMwNC44NyAyNDcxLjAzIDUzMDAuNzggMjQ2Ni40NiA1Mjk4LjY4IDI0NjIuMDggNTI5OC42OFpNMjM1MC4wMyA1MTg5LjQ4QzIzNDEuNDkgNTE4OS40OCAyMzMxLjgzIDUxOTcuODcgMjMzMS44MyA1MjA3LjM2IDIzMzEuODMgNTIxOC4wNSAyMzQwLjI2IDUyMjUuMjUgMjM1MC4wMyA1MjI1LjI1TDI0NjIuNTkgNTIyNS4yNUMyNDcxLjAzIDUyMjUuMjUgMjQ4MC42OSA1MjE4LjA1IDI0ODAuNjkgNTIwNy4zNiAyNDgwLjY5IDUxOTcuODcgMjQ3My40NyA1MTg5LjQ4IDI0NjIuNTkgNTE4OS40OFpNMjcyMy42MSA1MTUyLjAxQzI3MTkuMjQgNTE1Mi4wMSAyNzE0Ljk3IDUxNTMuODEgMjcxMS45MiA1MTU3LjQxTDI2NTAuMiA1MjE4LjA1IDI2MjQuNzggNTE5My4wN0MyNjIxLjIyIDUxODkuNDggMjYxNi42NCA1MTg3Ljc4IDI2MTIuMjcgNTE4Ny43OCAyNjA3LjkgNTE4Ny43OCAyNjAzLjYzIDUxODkuNDggMjYwMC41OCA1MTkzLjA3IDI1OTMuMzYgNTIwMC4yNyAyNTkzLjM2IDUyMTAuOTYgMjYwMC41OCA1MjE2Ljg1TDI2MzguMSA1MjUzLjcyQzI2NDEuNzYgNTI1Ny4zMiAyNjQ1LjQyIDUyNTguNTEgMjY1MC4yIDUyNTguNTEgMjY1NS4wOCA1MjU4LjUxIDI2NTkuOTYgNTI1Ny4zMiAyNjYyLjMgNTI1My43MkwyNzM2LjIyIDUxODEuMThDMjc0NC42NiA1MTc1LjI5IDI3NDQuNjYgNTE2NC41IDI3MzYuMjIgNTE1Ny40MSAyNzMyLjU2IDUxNTMuODEgMjcyNy45OSA1MTUyLjAxIDI3MjMuNjEgNTE1Mi4wMVpNMjIwMS43NyA1MTUyLjAxQzIxOTcuNCA1MTUyLjAxIDIxOTMuMjMgNTE1My44MSAyMTkwLjE4IDUxNTcuNDFMMjEyOC40NiA1MjE4LjA1IDIxMDMuMDQgNTE5My4wN0MyMDk4Ljc2IDUxODkuNDggMjA5NC4xOSA1MTg3Ljc4IDIwOTAuMDIgNTE4Ny43OCAyMDg1Ljc1IDUxODcuNzggMjA4MS43OCA1MTg5LjQ4IDIwNzguODMgNTE5My4wNyAyMDcwLjI5IDUyMDAuMjcgMjA3MC4yOSA1MjEwLjk2IDIwNzguODMgNTIxNi44NUwyMTE2LjM2IDUyNTMuNzJDMjExOC43IDUyNTcuMzIgMjEyMy41OCA1MjU4LjUxIDIxMjguNDYgNTI1OC41MSAyMTMzLjI0IDUyNTguNTEgMjEzNi45IDUyNTcuMzIgMjE0MC41NiA1MjUzLjcyTDIyMTQuMzggNTE4MS4xOEMyMjIwLjQ4IDUxNzUuMjkgMjIyMC40OCA1MTY0LjUgMjIxNC4zOCA1MTU3LjQxIDIyMTAuNzIgNTE1My44MSAyMjA2LjI1IDUxNTIuMDEgMjIwMS43NyA1MTUyLjAxWk0yNjEyLjY4IDUwNDMuMjFDMjYwMy4wMiA1MDQzLjIxIDI1OTQuNTggNTA1MC4zIDI1OTQuNTggNTA2MS4wOSAyNTk0LjU4IDUwNzAuNTggMjYwMS44IDUwNzguODggMjYxMi42OCA1MDc4Ljg4TDI3MjQuMTIgNTA3OC44OEMyNzMzLjc4IDUwNzguODggMjc0Mi4yMiA1MDcwLjU4IDI3NDIuMjIgNTA2MS4wOSAyNzQyLjIyIDUwNTAuMyAyNzMzLjc4IDUwNDMuMjEgMjcyNC4xMiA1MDQzLjIxWk0yMDg5LjcyIDUwNDMuMjFDMjA4MS4xNyA1MDQzLjIxIDIwNzEuNTEgNTA1MC4zIDIwNzEuNTEgNTA2MS4wOSAyMDcxLjUxIDUwNzAuNTggMjA3OS45NSA1MDc4Ljg4IDIwODkuNzIgNTA3OC44OEwyMjAyLjI4IDUwNzguODhDMjIxMC43MiA1MDc4Ljg4IDIyMjAuNDggNTA3MC41OCAyMjIwLjQ4IDUwNjEuMDkgMjIyMC40OCA1MDUwLjMgMjIxMS45NCA1MDQzLjIxIDIyMDIuMjggNTA0My4yMVpNMjQ2Mi4wOCA1MDA1Ljc1QzI0NTcuNzEgNTAwNS43NSAyNDUzLjQ0IDUwMDcuNTQgMjQ1MC40OSA1MDExLjA0TDIzODguNzcgNTA3Mi45OCAyMzYzLjI1IDUwNDYuODFDMjM1OS4wOCA1MDQzLjIxIDIzNTQuNSA1MDQxLjQxIDIzNTAuMjMgNTA0MS40MSAyMzQ2LjA2IDUwNDEuNDEgMjM0Mi4xIDUwNDMuMjEgMjMzOS4wNSA1MDQ2LjgxIDIzMzAuNjEgNTA1NS4xIDIzMzAuNjEgNTA2NC41OSAyMzM5LjA1IDUwNzAuNTlMMjM3Ni41NyA1MTA4LjY1QzIzNzkuMDEgNTExMS4wNSAyMzgzLjg5IDUxMTIuMjUgMjM4OC43NyA1MTEyLjI1IDIzOTMuNTUgNTExMi4yNSAyMzk3LjIxIDUxMTEuMDUgMjQwMC44NyA1MTA4LjY1TDI0NzQuNjkgNTAzNC45MkMyNDgxLjkxIDUwMjcuNzMgMjQ4MS45MSA1MDE3LjAzIDI0NzQuNjkgNTAxMS4wNCAyNDcxLjAzIDUwMDcuNTQgMjQ2Ni40NiA1MDA1Ljc1IDI0NjIuMDggNTAwNS43NVpNMTkwMy4yMyA0ODIzLjExIDI2NTEuNDIgNDgyMy4xMSAyNjUxLjQyIDQ4MjQuMzFDMjY1MS40MiA0ODQzLjM5IDI2NjguNCA0ODU5Ljk3IDI2ODcuNzIgNDg1OS45N0wyNzI2LjQ3IDQ4NTkuOTdDMjc0NS44OSA0ODU5Ljk3IDI3NjIuODcgNDg0My4zOSAyNzYyLjg3IDQ4MjQuMzFMMjc2Mi44NyA0ODIzLjExIDI4MDAuMzkgNDgyMy4xMUMyODIwLjkzIDQ4MjMuMTEgMjgzNy45MSA0ODM4LjU5IDI4MzcuOTEgNDg1OS45N0wyODM3LjkxIDU1OTIuODFDMjgzNy45MSA1NjExLjc5IDI4MTkuNzEgNTYyOS42OCAyNzk5LjE3IDU2MjkuNjhMMTg0My4yMSA1NjI5LjY4IDE4MzQuNDQgNTYwMS40M0MxODMxLjUzIDU1ODcuMTkgMTgzMCA1NTcyLjQ2IDE4MzAgNTU1Ny4zNkwxODMwIDU1MjQuMzYgMTg1NC44MyA1NTQ4Ljc1QzE4NTcuMjcgNTU1MS4xNSAxODYyLjA1IDU1NTIuMzUgMTg2Ni45MyA1NTUyLjM1IDE4NzAuNTkgNTU1Mi4zNSAxODc1LjM3IDU1NTEuMTUgMTg3OS4wMyA1NTQ4Ljc1TDE5NTIuODUgNTQ3NS4wMkMxOTYwLjE3IDU0NjcuODMgMTk2MC4xNyA1NDU3LjEzIDE5NTIuODUgNTQ1MS4yNCAxOTQ4LjY4IDU0NDcuNjQgMTk0NC4xMSA1NDQ1Ljg0IDE5MzkuODQgNTQ0NS44NCAxOTM1LjY3IDU0NDUuODQgMTkzMS43IDU0NDcuNjQgMTkyOC42NSA1NDUxLjI0TDE4NjYuOTMgNTUxMy4wOCAxODQwLjI5IDU0ODYuOTEgMTgzMCA1NDgyLjUxIDE4MzAgNTM3MS41MSAxOTQwLjc1IDUzNzEuNTFDMTk0OS4yOSA1MzcxLjUxIDE5NTguOTUgNTM2NC40MiAxOTU4Ljk1IDUzNTMuNjMgMTk1OC45NSA1MzQyLjk0IDE5NDkuMjkgNTMzNS44NCAxOTQwLjc1IDUzMzUuODRMMTgzMCA1MzM1Ljg0IDE4MzAgNTIyNS4yNSAxOTQwLjc1IDUyMjUuMjVDMTk0OS4yOSA1MjI1LjI1IDE5NTguOTUgNTIxOC4wNSAxOTU4Ljk1IDUyMDcuMzYgMTk1OC45NSA1MTk3Ljg3IDE5NDkuMjkgNTE4OS40OCAxOTQwLjc1IDUxODkuNDhMMTgzMCA1MTg5LjQ4IDE4MzAgNTA3OC44OCAxOTQwLjc1IDUwNzguODhDMTk0OS4yOSA1MDc4Ljg4IDE5NTguOTUgNTA3MC41OCAxOTU4Ljk1IDUwNjEuMDkgMTk1OC45NSA1MDUwLjMgMTk0OS4yOSA1MDQzLjIxIDE5NDAuNzUgNTA0My4yMUwxODMwIDUwNDMuMjEgMTgzMCA0OTMxLjQxIDI3ODAuOTcgNDkzMS40MUMyNzg5LjQgNDkzMS40MSAyNzk5LjE3IDQ5MjMuMDIgMjc5OS4xNyA0OTEzLjUyIDI3OTkuMTcgNDkwMi44MyAyNzg5LjQgNDg5NS43NCAyNzgwLjk3IDQ4OTUuNzRMMTgzMCA0ODk1Ljc0IDE4MzAgNDg1OS45NyAxODY2LjkzIDQ4NTkuOTdDMTg4Ni4yNSA0ODU5Ljk3IDE5MDMuMjMgNDg0My4zOSAxOTAzLjIzIDQ4MjQuMzFaTTI3MjIuOTEgNDc0Ni45OEMyNzIyLjkxIDQ3NDYuOTggMjcyNC4xMyA0NzQ2Ljk4IDI3MjQuMTMgNDc0OC4xN0wyNzI0LjEzIDQ4MjAuNzFDMjcyNC4xMyA0ODIwLjcxIDI3MjQuMTMgNDgyMy4xMSAyNzIyLjkxIDQ4MjMuMTFMMjY4NS4zOSA0ODIzLjExQzI2ODUuMzkgNDgyMy4xMSAyNjg0LjE2IDQ4MjMuMTEgMjY4NC4xNiA0ODIwLjcxTDI2ODQuMTYgNDc0OC4xNyAyNjg1LjM5IDQ3NDguMTdaTTE4NjQuNDkgNDc0Ni45OEMxODY0LjQ5IDQ3NDYuOTggMTg2NS43MSA0NzQ2Ljk4IDE4NjUuNzEgNDc0OC4xN0wxODY1LjcxIDQ4MjAuNzFDMTg2NS43MSA0ODIwLjcxIDE4NjUuNzEgNDgyMy4xMSAxODY0LjQ5IDQ4MjMuMTFMMTgzMCA0ODIzLjExIDE4MzAgNDc0OC4wOFpNMzExMS4wOCAzNjkzLjIyIDMxMjQuODIgMzcxOC41M0MzMTM1Ljg4IDM3NDQuNjkgMzE0MiAzNzczLjQ1IDMxNDIgMzgwMy42NEwzMTQyIDM4MTIuODcgMzExMy45NiAzNzA0LjIyWk0yNDgzLjgyIDM1ODUgMjgyOS40NCAzNTg1IDI4MjEuNjcgMzYxNi40OUMyNzU3LjQ5IDM4NzEuNDkgMjY3MC41OSA0MTg4LjcgMjYzNC4wNyA0MzY3LjA2TDI2MzIuNDYgNDM2Ny4wNkMyNjIwLjQyIDQyNTIuNyAyNTc4Ljc1IDQwNDYuNjYgMjQ4Ny42MiAzNjAzLjQ1Wk0yMDQ4LjY3IDM1ODUgMjIzMi4yNCAzNTg1IDI0OTYuMDEgNDYxNy40NCAyNzQzLjIyIDQ2MTcuNDRDMjgwMi42MiA0Mzk0LjM0IDI5MDIuMTQgNDAyMS45OSAyOTQyLjI3IDM4MjQuNTdMMjk0My44OCAzODI0LjU3QzI5ODIuNDEgNDAxMy45NiAzMDgwLjMzIDQzNzEuODcgMzEzOC4xMiA0NjE3LjQ0TDMxNDIgNDYxNy40NCAzMTQyIDU1NTcuMzZDMzE0MiA1Njc4LjExIDMwNDQuMSA1Nzc2IDI5MjMuMzMgNTc3NkwyMDQ4LjY3IDU3NzZDMTk3My4xOSA1Nzc2IDE5MDYuNjQgNTczNy43NiAxODY3LjM1IDU2NzkuNjFMMTg1OC45NSA1NjY0LjE1IDI3OTcuOTUgNTY2NC4xNUMyODM5LjEzIDU2NjQuMTUgMjg3Mi45OSA1NjMyLjA3IDI4NzIuOTkgNTU5MS42MUwyODcyLjk5IDQ4NTguNzdDMjg3Mi45OSA0ODE4LjQxIDI4MzkuMTMgNDc4NS4wNCAyNzk5LjE3IDQ3ODUuMDRMMjc2MC40MyA0Nzg1LjA0IDI3NjAuNDMgNDc0OC4xN0MyNzYwLjQzIDQ3MjkuMTkgMjc0NC42NyA0NzEyLjUxIDI3MjQuMTMgNDcxMi41MUwyNjg2LjUgNDcxMi41MUMyNjY3LjE4IDQ3MTIuNTEgMjY1MC4yIDQ3MjkuMTkgMjY1MC4yIDQ3NDguMTdMMjY1MC4yIDQ3ODUuMDQgMTkwMC43OSA0Nzg1LjA0IDE5MDAuNzkgNDc0OC4xN0MxOTAwLjc5IDQ3MjkuMTkgMTg4My45MSA0NzEyLjUxIDE4NjQuNDkgNDcxMi41MUwxODMwIDQ3MTIuNTEgMTgzMCAzODAzLjY0QzE4MzAgMzY4Mi44OSAxOTI3LjkgMzU4NSAyMDQ4LjY3IDM1ODVaXCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjQzdBMENFXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICBkPVwiTTE1NzcuMTUgMzY4Ni42M0MxNjY2LjQ0IDM2ODYuNjMgMTcxNC4zNSAzNzE1LjU0IDE3NDAuODYgMzc1NC4xMkwxNzUxIDM3NzIuMjcgMTc1MSAzNzgzLjg5QzE3NTEgMzg0OS4xMiAxNjk4LjI1IDM5MDIgMTYzMy4xNyAzOTAyTDE0ODEuMTUgMzkwMiAxNDY3LjE5IDM4OTQuNDFDMTQzMy4wOCAzODcxLjY4IDE0MjEuNDQgMzg0NC4zMyAxNDIxLjQ0IDM4MDUuNzEgMTQyMS40NCAzNzI2Ljg2IDE0NzkuMjMgMzY4Ni42MyAxNTc3LjE1IDM2ODYuNjNaTTU1Ni44MjcgMzU3OSAxMzEyLjc0IDM1NzkgMTI4Mi4zOSAzNTk4LjkzQzEyMTMuNTYgMzY1NS42NSAxMTc3LjQ0IDM3MzYuNTEgMTE3Ny40NCAzODMzLjA2IDExNzcuNDQgMzg1MS43NyAxMTc4LjYgMzg2OS44NyAxMTgxLjIgMzg4Ny4zN0wxMTg0LjgxIDM5MDIgNTU2LjgyNyAzOTAyQzQ5MS43NTMgMzkwMiA0MzkgMzg0OS4xMiA0MzkgMzc4My44OUw0MzkgMzY5Ny4xMUM0MzkgMzYzMS44OCA0OTEuNzUzIDM1NzkgNTU2LjgyNyAzNTc5WlwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwiI0JGNjNCN1wiXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezEyOH1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNzExLjc0OCAzNzc2KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiU1RSRU5HVEhTXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICBkPVwiTTI5NDIuMjcgMzg0Mi41MSAyOTQzLjg4IDM4NDIuNTFDMjk0Ni4yOSAzODU0LjM2IDI5NDguOTMgMzg2Ni44NyAyOTUxLjc4IDM4NzkuOTZMMjk1Ni4yNCAzOTAwIDI5MjkuOTkgMzkwMCAyOTM0LjA4IDM4ODEuNTNDMjkzNy4wMyAzODY3Ljg5IDI5MzkuNzcgMzg1NC44NiAyOTQyLjI3IDM4NDIuNTFaTTMwNzguMiAzNTg2LjgzIDMwNzkuMDggMzU4Ny4xQzMxMTYuMDYgMzYwMi43NSAzMTQyIDM2MzkuMzggMzE0MiAzNjgyLjA4TDMxNDIgMzc5Ni45MiAzMTM4LjE2IDM4MTUuOTMgMzExMy45NiAzNzIyLjA3QzMxMDQuNDIgMzY4NS40NiAzMDk1LjIxIDM2NTAuNTIgMzA4Ni41OCAzNjE4LjFaTTI0NzguOTQgMzU3OSAyODM1LjQ0IDM1NzkgMjgzNS4wNCAzNTgwLjYxQzI4MTMuNDIgMzY2OC4yMSAyNzg4LjIzIDM3NjUuNTggMjc2Mi44IDM4NjMuNTdMMjc1My4zNSAzOTAwIDI1NDQuNjMgMzkwMCAyNTM2LjUyIDM4NjAuMDNDMjUyMi4wOSAzNzg5LjE0IDI1MDUuODUgMzcwOS45MiAyNDg3LjYyIDM2MjEuMjFaTTE5MzMuMDIgMzU3OSAyMjI2LjE4IDM1NzkgMjMwOC4xMiAzOTAwIDE5MzMuMDIgMzkwMEMxODc2LjEyIDM5MDAgMTgzMCAzODUzLjg1IDE4MzAgMzc5Ni45MkwxODMwIDM2ODIuMDhDMTgzMCAzNjI1LjE1IDE4NzYuMTIgMzU3OSAxOTMzLjAyIDM1NzlaXCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjQzdBMENFXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTI4fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAyMTI5LjIxIDM3NzYpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJXRUFLTkVTU1wifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgZD1cIk00MzgzLjUxIDM3MDcuNDdDNDQzNC44OCAzNzA3LjQ3IDQ0NzguODIgMzcxNy42OCA0NTE1Ljg0IDM3MzYuMjhMNDUzNCAzNzQ2LjkxIDQ1MzQgMzgxOS42NEM0NTM0IDM4NzcuODMgNDQ4Ni43MyAzOTI1IDQ0MjguNDIgMzkyNUw0MTEzLjggMzkyNSA0MTM0LjE4IDM4NjUuMDFDNDE3Ny4yMSAzNzY3LjU1IDQyNTguMSAzNzA3LjQ3IDQzODMuNTEgMzcwNy40N1pNMzMyNy41OCAzNTgxIDQxMTQuMTIgMzU4MSA0MDcwIDM2MDguNTlDMzk3MC4xNCAzNjc4Ljg5IDM5MDEuNzcgMzc4NCAzODY5Ljc0IDM5MDkuNDJMMzg2Ni40OSAzOTI1IDMzMjcuNTggMzkyNUMzMjY5LjI3IDM5MjUgMzIyMiAzODc3LjgzIDMyMjIgMzgxOS42NEwzMjIyIDM2ODYuMzZDMzIyMiAzNjI4LjE3IDMyNjkuMjcgMzU4MSAzMzI3LjU4IDM1ODFaXCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjQzhDQkYxXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTI4fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAzMzYzLjMzIDM3ODkpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJPUFBPUlRVTklUSUVTXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICBkPVwiTTU2OTguOTIgMzcyMS45OCA1OTI2IDM3MjEuOTggNTkyNiAzODM0Ljk3QzU5MjYgMzg4NC42OSA1ODg1LjYxIDM5MjUgNTgzNS43OCAzOTI1TDU2OTguOTIgMzkyNVpNNDcwNC4yMiAzNTgxIDUxMjIuNjMgMzU4MSA1MTIyLjYzIDM3MjEuOTggNTQ1OS43MyAzNzIxLjk4IDU0NTkuNzMgMzkyNSA0NzA0LjIyIDM5MjVDNDY1NC4zOSAzOTI1IDQ2MTQgMzg4NC42OSA0NjE0IDM4MzQuOTdMNDYxNCAzNjcxLjAzQzQ2MTQgMzYyMS4zMSA0NjU0LjM5IDM1ODEgNDcwNC4yMiAzNTgxWlwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwiI0VFRjlGRlwiXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezEyOH1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNDk3OS44OCAzNzg5KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiVEhSRUFUU1wifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNjQ5LjU1NCA0OTU5KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiUHJlQ3lzZVwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMTE0Mi44MyA0OTU5KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widXRcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDEyNTYuMjcgNDk1OSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImlcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDEyODguOTMgNDk1OSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImxpemVzXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA1NDkuODY2IDUxMDIpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJub3ZlbCB0ZWNobm9sb2d5IHRvIFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNTU2LjE2OCA1MjQ1KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiY3VyZSBnZW5lIG11dGF0aW9uIFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNjQwLjY4NSA1Mzg4KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wib2YgY3lzdGljIGZpYnJvc2lzXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAxOTgxLjA2IDQ5NTMpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJHZW5lIFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMjMwMS4zMiA0OTUzKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiZWRpdGluZ1wifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMjcxNy44MyA0OTUzKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wibmVlZFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMTkzOS41NCA1MDk2KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiY29udGVyYWN0XCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAyNTAyLjcxIDUwOTYpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJvZmZcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDI2NDkuOTUgNTA5NilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcIi1cIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDI2OTUuNzkgNTA5NilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcInRhcmdldCBcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDIwMjEuNzQgNTIzOSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImVmZmVjdHNcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDI0MjkuMDggNTIzOSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcIiYgXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAyNTUxLjExIDUyMzkpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJyZXF1aXJlXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAyMDEzLjQ0IDUzODIpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJzYWZldHlcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDIzODAuMTEgNTM4MilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImV2YWx1YXRpb25cIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDMzNzkuOSA0OTQ5KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiVGVjaG5vbG9neSBcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQwNTQuMjMgNDk0OSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcIm1pZ2h0XCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAzMzA2IDUwOTIpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJlbmFibGVcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDM3MDcuNjEgNTA5MilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImRpcmVjdGlvbnNcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQyOTQuODUgNTA5MilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImZvclwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMzM0MS4yMiA1MjM1KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widHJlYXRtZW50c1wifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMzk4MS4xNyA1MjM1KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wib2ZcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQxMTguMSA1MjM1KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wib3RoZXJcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDM0MTMuNzEgNTM3OClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImdlbmV0aWNcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDM4NTYgNTM3OClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImRpc2Vhc2VzXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA0ODMwIDQ5NDkpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJSZXF1aXJtZW50c1wifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNTU2OS42NCA0OTQ5KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wib24gXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA0NzAyLjgyIDUwOTIpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJyZWd1bGF0b3J5XCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA1Mjc3LjQ1IDUwOTIpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCIsIFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNTMzOC4xOCA1MDkyKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiZXRoaWNhbFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNTc0My4yMyA1MDkyKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiJiBcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQ3NDguNjUgNTIzNSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImxlZ2FsIFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNTA0NS45OSA1MjM1KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wicmVxdWlyZW1lbnRzXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA0ODMwLjg1IDUzNzgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJvZmZlclwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNTExOS42IDUzNzgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJsaW1pdGF0aW9uc1wifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NDAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezkyfVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA2MjMuNDU3IDQzNjEpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJJbnRlcm5hbCBwb3NpdGl2ZSBmYWN0b3JzIFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NDAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezkyfVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA2OTkuMDgyIDQ0NzEpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJwcm92aWRlIGFkdmFudGFnZXNcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezQwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXs5Mn1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMTk5OC41MiA0MzYwKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiSW50ZXJuYWwgbmVnYXRpdmUgZmFjdG9ycyBcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezQwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXs5Mn1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMjA1My43OSA0NDcwKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wicHJvdmlkZSBkaXNhZHZhbnRhZ2VcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezQwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXs5Mn1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMzM5Ny4zNSA0MzYwKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiRXh0ZXJuYWwgcG9zaXRpdmUgZmFjdG9ycyBcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezQwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXs5Mn1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMzQzNS40NiA0NDcwKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiZW5hYmxlIG5ldyBkaXJlY3Rpb25zXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs0MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17OTJ9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQ3NzIuNDIgNDM2MClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcIkV4dGVybmFsIG5lZ2F0aXZlIGZhY3RvcnMgXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs0MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17OTJ9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQ3NzYuMTYgNDQ3MClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImltcGFjdCBlbmRhbmdlciBwcm9qZWN0XCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgICk7XG4gICAgICAgXG59O1xuXG5cbiIsICJpbXBvcnQgeyBvcGVuRWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9vcGVuRWxlbWVudFwiO1xuXG5leHBvcnQgY29uc3QgSFBVbmRlcnN0YW5kaW5nID0gKCkgPT4gKFxuICA8c3ZnXG4gICAgdmlld0JveD1cIjAgMCA4NTMuMDU2NDUgNTU2LjAwODQ4XCJcbiAgICBoZWlnaHQ9ezIwMC4wMDg0OH1cbiAgICB3aWR0aD17ODUzLjA1NjQ2fVxuICAgIHhtbFNwYWNlPVwicHJlc2VydmVcIlxuICAgIGlkPVwic3ZnMlwiXG4gICAgeG1sbnNYbGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICA+XG4gICAgPG1ldGFkYXRhIGlkPVwibWV0YWRhdGE4XCI+XG4gICAgPC9tZXRhZGF0YT5cbiAgICA8ZGVmcyBpZD1cImRlZnM2XCI+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDMwXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDI4XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNDZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNDRcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg2NlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg2NFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDkwXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDg4XCJcbiAgICAgICAgICBkPVwiTSA1OTkuNCw4MzAuNTIgSCA2NzIgViA5MDMgaCAtNzIuNiB6XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bWFza1xuICAgICAgICBpZD1cIm1hc2s5NFwiXG4gICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgIHk9ezB9XG4gICAgICAgIHg9ezB9XG4gICAgICAgIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPGltYWdlXG4gICAgICAgICAgaWQ9XCJpbWFnZTk2XCJcbiAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1rQUFBREpDQUFBQUFDc3JVblpBQUFBQVhOQ1NWUUk1Z3BibVFBQUNHOUpSRUZVZUp6dG5YbHNWRVVjeCtkdHQ5MUNWM3B3MkhKSUJhdUZSc0dLV3RFcWh3R0JhRHdiQ0JBdmtNUXJYc1FFUlJNUndZUERJL0VHTFNUMTFwQ3FvSElFQkt5R2FvQlNiVDB3TGRoU1dscEsyKzFlNHg5ZG9MdnZOMi9uOTJiZm05ZGtQbi9Pekh2Ny9iNTVNMi91SlVTaFVDZ1VDb1ZDb1ZBb0ZBcUZRcUZRT0EvTitwL0l1dUhTVVJuK0U5Vy83UEJaLzJQV01lV3p3MkVhb2Z2UU93V3k5WmhFVzNpUVJoUGFPY09HdHlEaFhMZWZBbXdlSlZzWEZtMXBFREpDYWVCdWwyeHRLTksrZzMxUVN1bXJIZ3QrVU9pdFRjcktURXZSZ3AxdFRmN1lxSE1xeGhoY1dIYVg3Z0tKZUVhLzFITDZJWWMzWFQwZ09yS1NuU09VVXJyT09lVSsrYjVBakxnTjNyT3gydnZHUmloZExFOTZOQ1hkUUVuKzhFejA3SGhHYUdDRVJQVm5HWHdJbHRjNExoTGZFZGNKL1UydWhSNnViMlkrNmFjSUlZUzhGZDhJRFpkSWRrRUltZHRwSVBBMWpaQTg0TlhUYzFpMkQzS3J6MURnTWtMZTRERkNRNUUybUt0NDViZFZMYjZ3cjZIeWt3ZHpiVFF5L21RY2hiT1RHcm1jMEsyRUVESjI5ZEVvZTdzVzJkVUFTSzJOSnpENEJKOFJlc3BGOGpib1d6Uk45N3B0Y2JLT1V5WUhRYzlqY0lIYWwyK0RrYUZjaFptVG82eUljSW1KSmtBU0x2bTJSSDdRem1GRmFIZjQ5dEFFL2hCQWtqK0JXV0xJYzNodHFOUnJKcUovd0NUWHRsWWdyMEM5a083MlZPVHR6ZU12ck1KZGdLcTlQU200bTR1UThqbnlBcFNUSWp1N3JSZXR4S1ZIYWJzRmQyOUJrRjk3Vk9xclVMY1dKZU5GVkhKVWlXOU5SOTFibE9aQm1OU29QUEhHVDVKSXNsQ2ZZWlNURHB3U1ViUWxxTlNZeEpXWDRxU0k0a3NMOHlkRzVjbE9yQlJCM01tSXhDZ25ueUtWaU9MQzlGVGlwKzMzNklJc1Q3S0xoUDIrWnZPaVRLRWhXK3FHOTdxbmxqRk9iUXVZV3Q4NFQrWStueXYwSU96RXlFbk9ocW0yNlFDaGlLckxxTVJQMnlmWkNBbUhFSW5aVGtxK3loSFhJa1k0Z0VqTS9ETE8vTkxHemdpRHRoVVRDM0pTZlkwMUZic1AvR2YySnFPN0pGWlpBT0Z2SnNlWkNHUGtpYWM1emV3enNJemo4N1ladlcxd09kRStjcDRSTW1oelJiWkJOSnduSXc5Ym9rVVlldk1tWmh6WUh0QXFCbG9tUmdpdEpIazdNdzRLeksrMlRvd2c0ZGNmWWNTQWViTDhNZ3UxaUtGZDd0dk5pQUhDMHBzdy9RSzc2UzQ4QklaRGRkZUZUalpDUEx2Z3RqN2s1SEpycFlpU3RRSU1ocHhjYTYwU1lSYUROU3ZrNUdLTGxRanpEQlFJbGZpMkFVQ2dvOGhzMVlkQmVXTHpBSjBKb0xjR2NoSzBXb2d3aTRBdzZPMnFHMjYxRWxHQy9mV3RZaWhQYXF5WElvZ2JlTmFRRSt3TW53UUc2NE1nSnp1czFpRU9VTHRDVG42M1hJZ3dRRThZY2xLMzMzSWxGZ0E1b1V0dGw0R2xXeDhFOXVPZHY1Uy9UUjhFT2puSjZwYzVoaVo5RUR3aTRXbnBiN0VVTWZ4ZXZpOGpJZDBYWWNhVzdlZGpZT0NMTWRkeTBuMmR0VnJFZUtCT0g4WWNGOTR5elVvcGdtVHdsbmhDQ0puRkhGaVN6eXVBRVlOWjdPVDFjNjNUSXNiQUZpQ1FQWDhTbVArUWs3Wlc5R0k1Wk1SNFpjRzR0Wk1za1NMRzhXeHdxc3R3bnJpeHRDcDNtRFZ5ek9PN0F2Z3M4akMrckVibVBMYU9BS3Y5d2JOdXhUdjl5cnlzU3pMTVBZa0VFMXIxcE9ndFBwQ2RHWlJTU2dQc1pqcjN5aEI0V05sbS9MZDh3NHpqZGxLWkVDbGk3SnNHMXI4OWNLL3Z5alM0aVQwMDNiN0hhQ1NPZTFYVWljOFNJQWJEMkZXOWRkTk5SY04zR2c0cDhxKzVtN2JGckNaemFDU2xvSERLK1BQNmR6VlU3OTd6KzdINDZYbEovZFBXajJRSXU1K0dmODJkN3dIa3JjWG93bDZBV0QzNExYTEp2aGpvOVgwSUovNGI3T3dTMTJNdndLem9yTC9iNG8wNnZVRy9BS2kxcWFXbDlsbGhmOHdaSUxkMmZYSzdUZHZCT3pLdzgxSElIU1VsdVAwSDV2bkMrb20xeWFmZ1ZtcnJzd2x0OU9JM2lLQjMrV3cvZnlNVXZDcTNBZjNiQm16ZW04aTdNUmxYRnZzRTM3NlFFTjVOc2x6WXRoVWhkK0hXME9rZjlaWFBIMElJSVE4bjBNZ0xKalNacm9vOEJhT0dwSkdPLy82cGlvelJ6aS9sdmZUcldYRVMvRnBzODA2WGFDWnhQL0hDamNieHh5V2ZNWkhON1NUSHZjVW91ajFQcmhGQ3FqaU4xQlBpTGpmSWthR3lqWkRsbkU2V0VFTElLc1lnV3ZpQUF3NHR1b0xUeVFXRUVFSUsyNkc0N21jbG0raWhqc3RJUTZTNmREMnVqeXUzNHVnbEU4emtjakxoVFBxMG00NzBqdWg0UEZQazF4UFp0UFg4elZGWUc0ZjNhaHRxMlNPblg1TS8yTjM2MTgvbDFRME9tdVNZRUQ5SGdybXlSWExoV2hQWHlVdXlOWEtTVWhQSGlEMU4zRVNRZXNUUVNMVjlwemNJay9XM2daRXFlM2VsQytMNWlXbGtxek56WkdEeHUzOTBuanI0ZXBGdXJ1c04rRENwTHZ3UktuYVFzZjZNd3REcTJOVTZvMnBDT2graEE4NWM4SHB6dE13SnNmSDVzUTJYV3NkTklmZXdPaHl0TTZ5YnhYUmwzSFgyeU5SOWM5S2RjMmhpRkN2MGhlQkJJSmwzV0Y3QnhXTXV5SGJnTnJ3SUpmcFNRSVBYeUZabGd2NzFVTTFVNjVEMk9JWm5JQ09VM2lsYkY1NXEyTWtlMmJyUTVNSkdLSlc5QngzZC83K1JGV0hiSVdVTTBFN0dzU0prajFLaG5UQjNCTXZlM0lWMjBzbUtBSmE2MndyYXlWK3NpQ05pUW9SQk8yR2VUZVNJQTRNeHVFL0FsWEJqQWsvZU1RVTZUNEkvd09FZllzNUdjUWFYZ0dQVGdUNzN6d0NFa0RjaEowL0xWbVVHN3dHOWtiM09IR3lJeDhoL1k0Mzg0ZEFUTk9JeUpDWlhmbkZ1dHpBZTJwSmVwM0dmZ1BZVDl4MjBSZTJCTUtXaHdMRTVzcVh3NGw2d28vSGZNcURKcnFWNjB3ZDRQUTRkTmRHUnRUTnlabFRMTXRsU3hKalJjclk0VkRyL0tBTTJNNklPOGFwMTlERXNocHdiODJjQTM4c1daSnIzWXI1L3diR3lGWm1rWDF2c3A3elBkVUVpM0taclhYWFo4NDhMNWpEb24raUhlcE1kc0thRWlZRTIvYUZ5U1U3K0RCbzQwYS9SdDNFSk54NERKL3JUSklMTzNtdk9aSVN1eEo5MDh0dGx4SSt4VHU2WHJjZ3NVMk9NSE91cldVTEkyaWdqdmlMWmVzeVRYTnJMU09jODJYSkVjQzArMDh1dEtwWXRScEQwbHl0Ymd2NmpPKzdzdTJWRW9WQW9GQXFGUXFGUUtCUUtoVUtoVUVqa2YvTGQzSWhidXBvN0FBQUFBRWxGVGtTdVFtQ0NcIlxuICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgICAgICAvKiBzdHlsZT17e1xuICAgICAgICAgICAgaW1hZ2VSZW5kZXJpbmc6IFwib3B0aW1pemVTcGVlZFwiLFxuICAgICAgICAgIH19Ki9cbiAgICAgICAgICBoZWlnaHQ9ezF9XG4gICAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgIC8+XG4gICAgICA8L21hc2s+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDEwNlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMDRcIlxuICAgICAgICAgIGQ9XCJtIDcxMS44NCw3MTQuNiBoIDY4LjA0IHYgNjguMDQgaCAtNjguMDQgelwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPG1hc2tcbiAgICAgICAgaWQ9XCJtYXNrMTEwXCJcbiAgICAgICAgaGVpZ2h0PXsxfVxuICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgeT17MH1cbiAgICAgICAgeD17MH1cbiAgICAgICAgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgPlxuICAgICAgICA8aW1hZ2VcbiAgICAgICAgICBpZD1cImltYWdlMTEyXCJcbiAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUx3QUFBQzhDQUFBQUFEbklwdDNBQUFBQVhOQ1NWUUk1Z3BibVFBQUJGZEpSRUZVZUp6dDJsdG9GRmNjeC9IWnBNYnRyalhhTnF2eEZrU3NDQzI5MlZpclJLbEtEVlNvb0tqMFJSUXFCVnRxc1JlMnBaQVdvV1JwQzRGVTFCZEZud29WRVUzUnZ0UW1GWVBZZ3RlbVNkUzBsallwMlFkejNlenUvUHVRM1Z4bXpwd3paODdwbmszNWZWN0U1TXlaNzA0T3N6T3phMWtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ1E4bTJNOTNwM2d1N3c2WkRBbGo5TTQyNnQ5cDBpcXpIVDlHWVZLM3BHaW1oTHpJMFFWK1Y2U0FKdTN0b3NwT21pM3hiOFFzNVpTdE1SL2xUM3BSeHRST3RNNTNseTVjRGpIU2lyYWE3Zk5qaFhPeDVyNWt1RTFyV1pudTAwd3JUYlFLUjg2ekZQcXJ2SWROMWZIVWpudWxFYjV1dTQ2cmhwZFB2SmFiN09Dcis0cVZUYW9IcFFHL1IwOXgwYXBzNVBqYWtaNWZoTXRtL3BUMlVadnkwYkc4RGQ2dHN3N3VTK3hHSUxHL3M1eDh0cHV5aG1IT21VSFdXdjAxeWxkNzBPZlhlNXpRQmU5L2t2L3ZpRHNINDVqS3Q2WlVKejNjU1Arb25UQlU3SmhpY2ltdE5yMnBVU2llaVYvSlRoZmR4VDQ5RTFMVmNaL3F5NDRybFJIUXpQOWs5d1VEN2xLWlRpMlZabHZYMHQrcnBSUFJNYnJvNy9HR3BQZnJLUTZ1KzA1Sk85RUZ1eG12Y1VUZm1Nak9Ddk5XRzF2OXdhVlBnRno3Wnd0eS9JN3hCalUvK3pmeTUvQVZhYVBQSEwwaHY1R2xBM0RHNC9heXV2ZTI4cm1uQmpNcmZGUDNxT2VMaW83clMzK2pVbWs1OUQrY203dllhOFdHcG52TFFnZnQ2MDRtK3prMDl5K050dW51bG52VFNPcTlieXVBNjhnZitIZmJ2dnluWGtsNzJWVko3T25WVjVxZDNQNXdoSW51WGx0dU82TkVIK3RPemlXaCsvcFdzcThuT3BhSXNQMis2NVljM1I2UmU2L2RYaFVPb3Q2VTlPZmEvSzR6bkFVZjJEMHJ0bE9teGM4T3l4L1F0eVYyODc1NWlwRmJEdFV5c1JYUzFweDcvb25zWHR6V2MzT2RlRDNTbklSZi94S0JyZ25wL2IveThVZk5iNSttOER2WHcwa1ZudzFEMURYK2JlcCtNRnZYZm4xK0E5czkvY3JiZml2aHM5MUx5VklDbExyOXNTbXVHbk50bTMxTXJ0NmE5ckpMdU4zNTZSWjM3TGpMcGVxVEF3VmdZNFZkUFRwZVlnZUhxYjhJaDRkanpyQThsZjF5cnRPTVplMXgveVlJWjNxbVVQbnQveWxnNjNYbEVKVDMyU2RwY09oMVR1UXhia0JBOGJQdFBKVGNxcEM4NVpMQ2M2TkpzaFhZcmJqSTk4Mm1nSlROMmg5aWNYcS95MnBYOFVYdUNnbXczZm50cnJ2NzBwZzcxU2N5c25PRTNBd2RQZkxCZzVOaTNiV2dLdk8ya3B5SUc2bzl1K1ZQYlhBVmVPZjFxSDhRN25rY1Y5dGhmVzlPcWQ4TENIZnZNQWYwZnd4ZW1QblZsN3h6bFZNYjFmUHlnOUN3RGx5KzNkZzBPcGRJakdadHM1U2dWVXNlK08vRnM1UXlqdVE1KzZ4OGNySW9VNEI1ZDBrYyt5bnRlanhaZnVHVlo0dnJNWjlOTUozTHc2dTJlNTB6bkNYaXVlN3Q5bHVrMk1ZOWpmMWY5OUZ3SXJHUC96NVQ1RHJXclBwMG8wdk1MaTZPK2ZaN3BJQ2tUNisyR1l2NVdIY3Q0ZmErNSsvUEE4dlUzMmQrN0tIS2o5VTFSOGNoaUZDZWl3MU50dVkrSjAxUTZRenJWbUE0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRC9zWDhCN3pzUUFtZkdLRlFBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIC8qIHN0eWxlPXt7XG4gICAgICAgICAgICBpbWFnZVJlbmRlcmluZzogXCJvcHRpbWl6ZVNwZWVkXCIsXG4gICAgICAgICAgfX0qL1xuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTIyXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDEyMFwiXG4gICAgICAgICAgZD1cIm0gNTk2LjQsNjAyLjE2IGggNzMuNjggdiA3My42OCBIIDU5Ni40IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxtYXNrXG4gICAgICAgIGlkPVwibWFzazEyNlwiXG4gICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgIHk9ezB9XG4gICAgICAgIHg9ezB9XG4gICAgICAgIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPGltYWdlXG4gICAgICAgICAgaWQ9XCJpbWFnZTEyOFwiXG4gICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNd0FBQURNQ0FBQUFBQWFTUk11QUFBQUFYTkNTVlFJNWdwYm1RQUFDaWxKUkVGVWVKenRuWDl3RmRVVngrKysvRENCaUNJU2ZvellUR09aVHFXRmtmNlFjU3hTT2tVeW90RFNVVWN4REhXbVdoUnFmOUFwYUNFbXBza1FiSEFnWXh4bkNoSEwxTm9VRFU2aDBHcVIxRktDRFl4SnEwQnFJZWp3U0tDRUVKS1g5OTdwSHkvSk8vZWV1N3QzbjltOTIrbjkvRVYyejEyKzMremRlM2Z2bnJOaHpHQXdHQXdHZzhGZ01CZ01Cb1BCWURBWURBYkRDRlptemNiTyt2eE5Fd3Z5V094eTE4bjJsb3VqcXlsak1qQ1RNLzlyODJibW9BM1EvdGIrUDE0YU5VbkJZYzJxN2dVSlYrcm5SSFJyODBqa1MyL0xuS1JvdXoxTHR6NHZURGxzYndVQTRQU25NcndFZzhmYTdHd0ZBR0Q3LzhqSm1YVFczUXRBZEladW5Tb3N1YVRpQmFEM0VkMUszVm1UVVBNQ0VLL1NyZFdOY2xVckFKQ3MwYTNXbVhVZXZBQWtxM1hyZGVMK3BFenlwYTZ1SHB2T1Z4N2VRYTJvVHhRNzBOR3c4QnJHR0JzejcvbmpWeVJ1MW9mVlRhUmJVTnBmUHdidno2MGdaZ0UyaFBUbTVnMUI1OVk4TVNKM0xlMXVsVHFrdXZKWlh1U0h4YktncWNkRU04bU5RUXRWNEtwVG5NYkdhK1JoWStxSm0wM0JDbFhoYms3aGkxZlp4V1ZWaE45TkhuZGlHbTI5TUdZOUhmcWV0cEM3WG16NldBcXJrcmlwRE5lWXRodUx1OGs1MXFvaGsydFptT2FiYVZqWlZ0Znd6V1NJRHRQcytTalMxVS9tRjBxdGFBYksvUmVweW10SVZyMUtnMnJpSmpSM25aR2V0S2lCTWU3eGpGbmhIYUZuSTFFZGFrMGtJL1N6L29wVUJWOHlEWXB0Skc3QzhiUzJCVW02VTdXUnBLZXQ4Vk9rS3I5RGdod25UQTZMakFLSkpUNktWT1ZBV28rbnRlUmFNdDlJNzdXRDVkMjBtaTVQRFRlTDl3SlhydlpKb2pwdG1acGhOZUtwK2FVL0NqM3dYbHBNajdlVzlLN3pEbDhVZWdCMXM2VFNuSm1Hak5EdjU3ZzM4cFUvSXpIelBMYTF5Z1EzRC9zaVVaMUdwT1Y1cjQwdFlSbjBnMncvSktxREo4M2pubHRINm5nM0QvaWcwQU9QSUNsWGNqMDN6ejNLbVhuVEI0VWV1QVZycWZEZVBwOWJIa3hPSEgyRlhrQ1BBTkRuL2RTd1pkeXAwYnd3dUF0cldadkJBYmpGbmNPanJzOFQrS0tCeEZUdkIxaUJENkE1K2VFR3Jwc2NjNXM0QzZlTDZ3UVI3azNvRi8zU3FVWVQ1NmJlYWEybG9Pd2t3T0NCYi9KYnViV3FaM3pWNnNvQ3pneFUyTC9vbnpZOER0ZHhLMy9MY2ZPRHZ1dDFKTGVUZC9PMG5adjh2NDNFN01BeGhmaGh3UHZFTzdvczVNMUFwWTJiSjFETUt6Z21pblowQmlMWm5oenh2Wm5ONnNUZmNVd1Q2bW40THVCY01KcnQrWXhnSnJsWkZoV0pjMEdONlhQVGpEYWZEMHkxRGRhcmdwdEVyU1JxbkJDMGM4VE5RYlQxUW9DNjVXUjNDVUtobWw0M2xwaU4wakRjMDFyUXh1NWdsY3VZZVZsMEl4bWg5NG94MjRiY2RLQnRad05XTHVQUnVLaVVqdENMeEpBaE56a0RhTk9wNExWVHFzaGJKT3FtVGd5QkJvc3g5bFc4NVgwTjJpbWJpQnZTMHlJN2lKdWRGdit3Q251MGlDY292SGV4WGlFeGpSRzg5QWJ3aEE3cEVtaVNGaG1oclNZUzAxVE0vWGlERHVVU3N0YUxRaE5rOW93MGlqSEE1UTEvcEVPNGxLd05vdEJralhqZFdEdUpHOHlmdEFpWEVxa2tvd0M1NjdRYW5NeXMwS0xiaG8zdUkzUmttNzJYOHc3NUhScWdJM1NaQnpjdmFkRnNEM1ZUTG1hVVJPeDZXbUsyRnNrTzBKNVdKeTZuMlkwQ3Iyc1I3TWpQaWNpaitVS0lSVWRvQUVqZXFrV3ZJeEh4VFFWQTN6SXhoczZlQUM4SU1mTis5bXBMeDcvYjl0Y3R6MkE1YnJTZzh3M0FxUlg4bFZOTWEyeGlrOUs3cjYvNFp4ZStFZTg5dFdkQndDNkd5WktsbjUvZHZid3d0VHRuN3BZMlNVRHlzYUhtZWV1T0RVcjJuOXY5RlQxMnFtVkoyNUNNSG0wKzJOSXhJTnNIQU1sVmpERTJmc3NGbS8wQWYvMjJGamQwaEZZZ3VZcmxyK3QzREdtK1hZZWJaek55VS9FdnQ1REVjMk0xdUtFWmpLUEVoYzlwY0ZQaGx4dFlwQ0ZMOVR0K21ZRWZCMi9HK3JKZlpwSTZhcU9tSEhJWE5walJTS0VqRTlKYVpqOXBwRlJ0bS94WVJtNjBaRUpPck9weGtQVG1YTWJZcXVET3pTY3VlWjMwL2Z1S3BEdjY5OVdtbnZsWC8wTDZuNXhzYlQ5eE5wWTNjZnJOc3lRSGdJMC8rYVRLTWlKeTE1NU84YmZmZTZSc3drZ0F5ZGtFNkc2NEdSM2hDeTlGYVlpK3VyV2l0YzBkMFo3K2VEeldkNzZ6ZlhzSkZwSjNnaW85SWJ5VnpxMmlOYTFoeXJ3ZjRVZXlpNkpMZktKajc5SDFoWERWZURER1dMNjhqdmkwbUZOZzBXTFE4Tld0MGVmc0ZHMGtCWFdwbUhNYnVtb2k2eU1iTTlCQ01xVVhFemNoeWJ3ZlpvWFVDQUFBdkhPdEdMd2s1RzZhcFQ2RzNDaWNtekQxdEZ6SHp3aTBrT3RtRVhFVG9ycTFCNXk4QUxTVFBLbHZrTldPOE5TdHZZVmw5ZEc3ems0eTM4eVBpVEVid3VLR3l3VGN5eDRrNTZhTFZMTE5wK3ZaT3BSTDRHNnFGekNybENnOVVTQzJLU0UxSHVHb1d4dUx0WitMTU1hK1M5eTBrakh0SGpJS2hLSnU3UTRzNlErTU1jYm9kWE5JWWI1NUtuRHBsSlZZMFhPcGJmUnBUV0gyakMwTldqcUZTeDlZUGJTUnVqbEVyaHZTMHk1b2ZGY3dCUGVWZ0h1SHQ5S2U5bnZTa293Q3VsTWlHWHNCeTFrOHNwbU1Bb2xwcENtWmIxWUdLVndHVjYxMWYzcjdja0VvdkV6YmZsMjhGNWhBWTNoOHZ2SGhjakxRNjZidER3SWZLRm4rMzM5WGt0OVFOMXFxTXFRRS8yYTM0RDBQOHozdHRLeTFlTmVwdVQ1eUF0YXluOXYxUGM3Tkc5TG13Z2l0KzlUZ2pNaHV2azgvanR6WXZZb3U1Y3pFSndlZzJJRXpXRXdKdjI5MTJzMFJ1L2I4dSsySC9KYnJEUGNWd2IzQ3pzZUhlOUVaMnhreHJ4VWY0SURQYWwzZ0ZzMHVpN2VVOTV3QkFJai9aWXI5QVlxNFUrTVFHQUFGWE9KdGs3amJ1blBIdnBvaXh5TzhqQTl3bjE4NjFlQSs0alI0bmZjRGpNVnpwelIxZndUZlZ3dGV3ejlrWjFBVDNJZW5JTTJKVWVQNGo1ODFlZi90NGZUdi8vaWcwQXUvNHN3QXlldDB4Y0svamtJL0pLb3pROGk5TC9mc0JpK0thQzdCWTJLZUk4bUVkQU9QSVNYdTRiNVNMQlo1ZUQwM3YwRnQ3M1VLREdEdDgrUlBoUTFQUHVQTkRTN3UwcjRlbVBVUDRkVFkxYTNaZ0ovd0hMTzRnbGlWVHN3WHQvekFlZklUdUI3OTIrT25QUHhnam5ocXBIVnJkdUN2ZDgvMFRhTXlWaWxkY1ZXL2JvNmpadXJmSmZJUm10SGxVRmtzZ0FyNHdsQzB4bVRaZHJhVnhRS0Y2S3p1ODFla01qUVRVdEhOaTZoSmFGNm1LOVN0eWNqQmMrN2R2cXRVSmJQdkJkNkc0dU9odVA1VEtOU3RFWEp4OHZDdUFFU3FvbEszSmxLS3d4ZTdSUWRKRnFtS29IVnJQTk54QW50c1hFQTYxVkNwVzhPTTQ1WVFNdmxXaksvUWFpS0hKNExjMTdsSS9lK2JST2dJdmNsdWxhT0ErNFlQaFBHdkoxQTN2NVYveE9uVFI3aW9BZjJmRlpSQWUxcjBOdHJWc3IvRnIrc2t3ek5oY3BEdkJRSzBUK0tmckxKbmlqbkdyWnJFdWhHUlZIb2xlOWFrRTAvRzE1STZyNmpDOHFHZVArV1Q5ZFI2eWRaNDk4VXpIMThjZjJQaHRkZVJCK0RCVzk4TlFGZG1TT3ZXbkNqVnJkZ1JlZDJhSFQvVUxkY0ZMN1ZSWWZmQzJKTWtTODZHV0xqN1dJcWxMZ1VyUTBSdjBTMVVpYWtmdUZ0SnR1cit6S3N5SzkyOERJUjAzcGN5NGRlT1hxcENlVDltVC9GVzh2R2tJV0pydzNmUDc4cmtodzVRSi9GZGl6MC9WNGJrTHhOT21UdG45b3lScFpmb3NjUHZ2SjNCNjh1UW1HR01NVlo0WStIVmtjSGVqejhNeTE5T05SZ01Cb1BCWURBWURBYUR3V0F3R0F3R3cvOGYvd1ZsVzBvd0dSUzdXUUFBQUFCSlJVNUVya0pnZ2c9PVwiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIC8qIHN0eWxlPXt7XG4gICAgICAgICAgICBpbWFnZVJlbmRlcmluZzogXCJvcHRpbWl6ZVNwZWVkXCIsXG4gICAgICAgICAgfX0qL1xuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTM4XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDEzNlwiXG4gICAgICAgICAgZD1cIk0gMCwxNDE3LjMyIEggMTQxNy4zMiBWIDMuNjYyMWUtNCBMIDAsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgICAgaWQ9XCJsaW5lYXJHcmFkaWVudDE2NlwiXG4gICAgICAgIHNwcmVhZE1ldGhvZD1cInBhZFwiXG4gICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICAgIHkyPXs4NjAuMDM5OTh9XG4gICAgICAgIHgyPXs5ODYuMzQ5OTh9XG4gICAgICAgIHkxPXs0MDQuNDd9XG4gICAgICAgIHgxPXs5NDguNjN9XG4gICAgICA+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTQwXCJcbiAgICAgICAgICBvZmZzZXQ9ezB9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE0MlwiXG4gICAgICAgICAgb2Zmc2V0PXswLjAzMzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzg1MGU3OFwiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTQ0XCJcbiAgICAgICAgICBvZmZzZXQ9ezAuMDd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE0NlwiXG4gICAgICAgICAgb2Zmc2V0PXswLjI3NjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjMzIyMzJjXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AxNDhcIlxuICAgICAgICAgIG9mZnNldD17MC4zMzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTUwXCJcbiAgICAgICAgICBvZmZzZXQ9ezAuMzl9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE1MlwiXG4gICAgICAgICAgb2Zmc2V0PXswLjU5NjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjODUwZTc4XCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AxNTRcIlxuICAgICAgICAgIG9mZnNldD17MC42MzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzg1MGU3OFwiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTU2XCJcbiAgICAgICAgICBvZmZzZXQ9ezAuNjY2Njd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE1OFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE2MFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjczNjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjODUwZTc4XCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AxNjJcIlxuICAgICAgICAgIG9mZnNldD17MC45NDMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTY0XCJcbiAgICAgICAgICBvZmZzZXQ9ezF9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTc2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE3NFwiXG4gICAgICAgICAgZD1cIk0gLTYuMTAzNWUtNSwxNDE3LjMyIEggMTQxNy4zMiBWIDIuNDQxNGUtNCBMIC05LjE1NTNlLTUsMS4yMjA3ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgICAgaWQ9XCJsaW5lYXJHcmFkaWVudDIwNFwiXG4gICAgICAgIHNwcmVhZE1ldGhvZD1cInBhZFwiXG4gICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICAgIHkyPXs5NzAuOTI5OTl9XG4gICAgICAgIHgyPXszODguNDI5OTl9XG4gICAgICAgIHkxPXs1MTcuODQwMDN9XG4gICAgICAgIHgxPXs0MjUuOTUwMDF9XG4gICAgICA+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTc4XCJcbiAgICAgICAgICBvZmZzZXQ9ezB9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNiODViZDFcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE4MFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjAzMzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiI2I4NWJkMVwiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTgyXCJcbiAgICAgICAgICBvZmZzZXQ9ezAuMDd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNiODViZDFcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE4NFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjI3NjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjMzIyMzJjXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AxODZcIlxuICAgICAgICAgIG9mZnNldD17MC4zMzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTg4XCJcbiAgICAgICAgICBvZmZzZXQ9ezAuMzl9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE5MFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjU5NjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AxOTJcIlxuICAgICAgICAgIG9mZnNldD17MC42MzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiI2I4NWJkMVwiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTk0XCJcbiAgICAgICAgICBvZmZzZXQ9ezAuNjY2Njd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNiODViZDFcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE5NlwiXG4gICAgICAgICAgb2Zmc2V0PXswLjd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNiODViZDFcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE5OFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjczNjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AyMDBcIlxuICAgICAgICAgIG9mZnNldD17MC45NDMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMjAyXCJcbiAgICAgICAgICBvZmZzZXQ9ezF9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjE0XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDIxMlwiXG4gICAgICAgICAgZD1cIk0gMCwxNDE3LjMyIEggMTQxNy4zMiBWIDMuNjYyMWUtNCBMIDEuMjIwN2UtNCwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxsaW5lYXJHcmFkaWVudFxuICAgICAgICBpZD1cImxpbmVhckdyYWRpZW50MjQyXCJcbiAgICAgICAgc3ByZWFkTWV0aG9kPVwicGFkXCJcbiAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgeTI9ezEwODIuNzN9XG4gICAgICAgIHgyPXs5ODcuNzE5OTd9XG4gICAgICAgIHkxPXs2MjcuMTUwMDJ9XG4gICAgICAgIHgxPXs5NTB9XG4gICAgICA+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMjE2XCJcbiAgICAgICAgICBvZmZzZXQ9ezB9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNhMGE3ZjNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDIxOFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjAzMzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMjIwXCJcbiAgICAgICAgICBvZmZzZXQ9ezAuMDd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNhMGE3ZjNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDIyMlwiXG4gICAgICAgICAgb2Zmc2V0PXswLjI3NjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjMzIyMzJjXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AyMjRcIlxuICAgICAgICAgIG9mZnNldD17MC4zMzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMjI2XCJcbiAgICAgICAgICBvZmZzZXQ9ezAuMzl9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDIyOFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjU5NjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjYTBhN2YzXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AyMzBcIlxuICAgICAgICAgIG9mZnNldD17MC42MzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMjMyXCJcbiAgICAgICAgICBvZmZzZXQ9ezAuNjY2Njd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNhMGE3ZjNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDIzNFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNhMGE3ZjNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDIzNlwiXG4gICAgICAgICAgb2Zmc2V0PXswLjczNjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjYTBhN2YzXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AyMzhcIlxuICAgICAgICAgIG9mZnNldD17MC45NDMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMjQwXCJcbiAgICAgICAgICBvZmZzZXQ9ezF9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICA8L2RlZnM+XG4gICAgPGcgdHJhbnNmb3JtPVwibWF0cml4KDEuMzMzMzMzMywwLDAsLTEuMzMzMzMzMywtNDkwLjg1MTcyLDEyNDUuNDQpXCIgaWQ9XCJnMTBcIj5cbiAgICA8YSBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogXCJ1bmRlci1yZXNwb25zaXZlXCIsIGNsYXNzVG9IaWRlOiBcInVuZGVyc3RhbmRpbmd0YWJcIn0pfT5cbiAgICAgIDxwYXRoXG4gICAgICAgIGlkPVwicGF0aDIyXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmaWxsOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgfX1cbiAgICAgICAgZD1cIm0gNjI4LjIsNzExLjM2IGMgMzYuOSwwIDY2LjgsLTMxLjU4IDY2LjgsLTcwLjU0IDAsLTM4Ljk2IC0yOS45LC03MC41OCAtNjYuOCwtNzAuNTggaCAzMDguNDQgYyAzNi45LDAgNjYuOCwzMS42MiA2Ni44LDcwLjU4IDAsMzguOTYgLTI5LjksNzAuNTQgLTY2LjgsNzAuNTQgelwiXG4gICAgICAvPlxuICAgICAgPC9hPlxuICAgICAgPGcgaWQ9XCJnMjRcIj5cbiAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMzApXCIgaWQ9XCJnMjZcIj5cbiAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgaWQ9XCJ0ZXh0MzRcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwiYm9sZFwiLFxuICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMS45NnB4XCIsXG4gICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxcIixcbiAgICAgICAgICAgICAgLyogd3JpdGluZ01vZGU6IFwibHItdGJcIiwqL1xuICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW91cmJlaWdlKVwiLFxuICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw3NjUuODQsNjMyLjU3KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwidW5kZXItcmVzcG9uc2l2ZVwiLCBjbGFzc1RvSGlkZTogXCJ1bmRlcnN0YW5kaW5ndGFiXCJ9KX0+XG4gICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjMyXCJcbiAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgeD1cIjAgMTUuODU1MTIgMzAuNTAyNDM5IDQ1LjE0OTc2MSA1OS43OTcwODEgNzYuNzk0MTIxIDkyLjY0OTIzOSAxMDcuMjk2NTYgMTEzLjQwMTQ0IDEyOC4wNDg3N1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtcIlJFU1BPTlNJVkVcIn1cbiAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC90ZXh0PlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8cGF0aFxuICAgICAgICBpZD1cInBhdGgzNlwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZmlsbDogXCIjODUwZTc4XCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDYyOC43OCw3MTEuMzYgYyAtMzYuOTEsMCAtNjYuODIsLTMxLjU4IC02Ni44MiwtNzAuNTQgMCwtMzguOTYgMjkuOTEsLTcwLjU4IDY2LjgyLC03MC41OCAzNi45LDAgNjYuODYsMzEuNjIgNjYuODYsNzAuNTggMCwzOC45NiAtMjkuOTYsNzAuNTQgLTY2Ljg2LDcwLjU0IHpcIlxuICAgICAgLz5cbiAgICAgIDxhIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcInVuZGVyLXJlZmxlY3Rpb25cIiwgY2xhc3NUb0hpZGU6IFwidW5kZXJzdGFuZGluZ3RhYlwifSl9PlxuICAgICAgPHBhdGhcbiAgICAgICAgaWQ9XCJwYXRoMzhcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZpbGw6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICB9fVxuICAgICAgICBkPVwibSA2MjguMiw5MzQuMDggYyAzNi45LDAgNjYuOCwtMzEuNTUgNjYuOCwtNzAuNDggMCwtMzguOTIgLTI5LjksLTcwLjUyIC02Ni44LC03MC41MiBoIDMwOC40NCBjIDM2LjksMCA2Ni44LDMxLjYgNjYuOCw3MC41MiAwLDM4LjkzIC0yOS45LDcwLjQ4IC02Ni44LDcwLjQ4IHpcIlxuICAgICAgLz5cbiAgICAgIDwvYT5cbiAgICAgIDxnIGlkPVwiZzQwXCI+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQ2KVwiIGlkPVwiZzQyXCI+XG4gICAgICAgICAgPHRleHRcbiAgICAgICAgICAgIGlkPVwidGV4dDUwXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcImJvbGRcIixcbiAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjEuOTZweFwiLFxuICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsXCIsXG4gICAgICAgICAgICAgIC8qIHdyaXRpbmdNb2RlOiBcImxyLXRiXCIsKi9cbiAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vdXJiZWlnZSlcIixcbiAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsNzY3LjA0LDg1NS4zOClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcInVuZGVyLXJlZmxlY3Rpb25cIiwgY2xhc3NUb0hpZGU6IFwidW5kZXJzdGFuZGluZ3RhYlwifSl9PlxuICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgIGlkPVwidHNwYW40OFwiXG4gICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgIHg9XCIwIDE1Ljg1NTEyIDMwLjUwMjQzOSA0My45MTk5OTggNTcuMzM3NTU5IDcxLjk4NDg3OSA4Ny44Mzk5OTYgMTAxLjI1NzU2IDEwNy4zNjI0NCAxMjQuNDQ3MzJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7XCJSRUZMRUNUSU9OXCJ9XG4gICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPHBhdGhcbiAgICAgICAgaWQ9XCJwYXRoNTJcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZpbGw6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICB9fVxuICAgICAgICBkPVwibSA2MjguNzgsOTM0LjA4IGMgLTM2LjkxLDAgLTY2LjgyLC0zMS41NSAtNjYuODIsLTcwLjQ4IDAsLTM4LjkyIDI5LjkxLC03MC41MiA2Ni44MiwtNzAuNTIgMzYuOSwwIDY2Ljg2LDMxLjYgNjYuODYsNzAuNTIgMCwzOC45MyAtMjkuOTYsNzAuNDggLTY2Ljg2LDcwLjQ4IHpcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGlkPVwicGF0aDU0XCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmaWxsOiBcIiNhMGE3ZjNcIixcbiAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgfX1cbiAgICAgICAgZD1cIm0gNTYxLjk2LDg2My4xIGMgMCwzOC45NCAzMS41Niw3MC41IDcwLjUsNzAuNSAzOC45NCwwIDcwLjUsLTMxLjU2IDcwLjUsLTcwLjUgMCwtMzguOTQgLTMxLjU2LC03MC41IC03MC41LC03MC41IC0zOC45NCwwIC03MC41LDMxLjU2IC03MC41LDcwLjUgelwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgaWQ9XCJwYXRoNTZcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZpbGw6IFwiIzg1MGU3OFwiLFxuICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICB9fVxuICAgICAgICBkPVwibSA1NjEuOTYsNjQwLjk4IGMgMCwzOC45NCAzMS41Niw3MC41IDcwLjUsNzAuNSAzOC45NCwwIDcwLjUsLTMxLjU2IDcwLjUsLTcwLjUgMCwtMzguOTQgLTMxLjU2LC03MC41IC03MC41LC03MC41IC0zOC45NCwwIC03MC41LDMxLjU2IC03MC41LDcwLjUgelwiXG4gICAgICAvPlxuICAgICAgPGEgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwidW5kZXItcmVzcG9uc2liaWxpdHlcIiwgY2xhc3NUb0hpZGU6IFwidW5kZXJzdGFuZGluZ3RhYlwifSl9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDU4XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA0MzkuMzMsODIzLjA4IGMgLTM2LjkyLDAgLTY2Ljg1LC0zMS41OCAtNjYuODUsLTcwLjU0IDAsLTM4Ljk2IDI5LjkzLC03MC41OCA2Ni44NSwtNzAuNTggaCAzMDguNjMgYyAtMzYuOTMsMCAtNjYuODUsMzEuNjIgLTY2Ljg1LDcwLjU4IDAsMzguOTYgMjkuOTIsNzAuNTQgNjYuODUsNzAuNTQgelwiXG4gICAgICAgIC8+XG4gICAgICA8L2E+XG4gICAgICA8ZyBpZD1cImc2MFwiPlxuICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg2NilcIiBpZD1cImc2MlwiPlxuICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICBpZD1cInRleHQ3MFwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJib2xkXCIsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIxLjk2cHhcIixcbiAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbFwiLFxuICAgICAgICAgICAgICAvKiB3cml0aW5nTW9kZTogXCJsci10YlwiLCovXG4gICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDQ0Ny41LDc0NC4zMSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcInVuZGVyLXJlc3BvbnNpYmlsaXR5XCIsIGNsYXNzVG9IaWRlOiBcInVuZGVyc3RhbmRpbmd0YWJcIn0pfT5cbiAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICBpZD1cInRzcGFuNjhcIlxuICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICB4PVwiMCAxNS44NTUxMiAzMC41MDI0MzkgNDUuMTQ5NzYxIDU5Ljc5NzA4MSA3Ni43OTQxMjEgOTIuNjQ5MjM5IDEwNy4yOTY1NiAxMTMuNDAxNDQgMTI5LjI1NjU2IDEzNS4zNjE0MyAxNDguNzc5MDEgMTU0Ljg4Mzg4IDE2OC4zMDE0NFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtcIlJFU1BPTlNJQklMSVRZXCJ9XG4gICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgPC9hPiAgXG4gICAgICAgICAgPC90ZXh0PlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8cGF0aFxuICAgICAgICBpZD1cInBhdGg3MlwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZmlsbDogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDc0Ny4zNCw4MjMuMDggYyAtMzYuOTEsMCAtNjYuODIsLTMxLjU4IC02Ni44MiwtNzAuNTQgMCwtMzguOTYgMjkuOTEsLTcwLjU4IDY2LjgyLC03MC41OCAzNi45NSwwIDY2Ljg2LDMxLjYyIDY2Ljg2LDcwLjU4IDAsMzguOTYgLTI5LjkxLDcwLjU0IC02Ni44Niw3MC41NCB6XCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBpZD1cInBhdGg3NFwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZmlsbDogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDY3My4yLDc1Mi43IGMgMCwzOC45NCAzMS41Niw3MC41IDcwLjUsNzAuNSAzOC45NCwwIDcwLjUsLTMxLjU2IDcwLjUsLTcwLjUgMCwtMzguOTQgLTMxLjU2LC03MC41IC03MC41LC03MC41IC0zOC45NCwwIC03MC41LDMxLjU2IC03MC41LDcwLjUgelwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgaWQ9XCJwYXRoNzZcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZpbGw6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDYzMi41Myw5MDkuODQgYyAtMjUuNTUsMCAtNDYuMjYsLTIwLjcxIC00Ni4zLC00Ni4yMyAwLC0yNC43MyAyMC4yLC00NS41OCA0NC45MiwtNDYuMzIgaCAwLjYgYyAxNy44NCwtMC4yNyAzNC45NSwtNi45MiA0Ny41OSwtMTkuNTYgbCAwLjYsLTAuNiBjIDExLjY2LC0xMS42NyAxNy42MSwtMjcuNjMgMTcuNDcsLTQ0LjE1IHYgLTAuNDYgLTAuMjMgYyAwLjA1LC0xNy4xMSAtNS45OSwtMzMuNjMgLTE4LjA3LC00NS42NyBsIC0xLjUzLC0xLjUyIGMgLTExLjI1LC0xMS4zMSAtMjYuNDgsLTE4LjExIC00Mi4zOCwtMTguMTEgLTAuNTIsMCAtMS4wNCwwLjAxIC0xLjU2LDAuMDIgLTAuNDYsMC4wMiAtMC45MiwwLjAzIC0xLjM5LDAuMDMgLTAuNDYsMCAtMC45MiwtMC4wMSAtMS4zOCwtMC4wMyAtMjMuODksLTAuNjkgLTQzLjc2LC0yMC4yNSAtNDQuODMsLTQ0LjE1IC0xLjE1LC0yNi40OCAxOS45NywtNDguMzUgNDYuMjEsLTQ4LjM1IGggMC4yMyAwLjM4IGMgMTQuNDQsMCAyOC40NCwtNS4yMSAzOC42OSwtMTUuNDUgbCA1Ljc2LC01Ljc3IGMgMTIuNzcsLTEyLjc4IDE5LjM2LC0zMC4xNyAxOS44NywtNDguMjYgMC4wNSwtMi4wMyAwLjIzLC00LjEgMC41NiwtNi4xOCAzLjEzLC0yMC4wNyAtNDMuNjE2NzksMTM4Ljc3Nzk1IC0wLjM0NjcxLDMyLjY3NDE3IC00Ni43MDcyNiw5My45MTc2NCAxMS40NjY1NSwtMi4xOTIxOSAxMy40MzY1NSwtMi4xOTIxOSAyNy41MywwIDE4LjYwNzIyLC0xMC4zNjgwOSAxNS4wMjcyMiwxNy44ODE5MSAtMi41OCwyMC4yMSAxMS42NTgxNSwzOS4yOTYzNiAyNC42ODI5NCw0Ljc4NjExIC0yLjA4LDAuMzIgLTQuMTEsMC40NiAtNi4xNCwwLjUgLTE4LjI1LDAuNDIgLTM1Ljg3LDYuOTcgLTQ4Ljc4LDE5Ljk0IGwgLTIuMDgsMi4wMyBjIC0xMS4xMiwxMS4xNiAtMTYuNTEsMjYuNyAtMTUuMTcsNDIuMzkgMC4wOSwxLjI5IDAuMTQsMi41OCAwLjE0LDMuOTIgdiAwLjIzIGMgLTAuMDksMTcuMDMgNS45OSwzMy41NCAxOC4wMyw0NS41OCBsIDEuNTcsMS41NyBjIDExLjMsMTEuMzEgMjYuNTMsMTguMTEgNDIuNDMsMTguMTEgMC41MiwwIDEuMDQsLTAuMDEgMS41NiwtMC4wMiBoIDIuNzIgYyAyMy44OSwwLjc0IDQzLjc3LDIwLjMgNDQuNzgsNDQuMiAxLjE1LDI2LjQ4IC0xOS45Nyw0OC4zNCAtNDYuMjEsNDguMzQgLTAuMzcsMCAtMC43OCwwIC0xLjE1LC0wLjA0IC0wLjUyLC0wLjAyIC0xLjA0LC0wLjAyIC0xLjU1LC0wLjAyIC0xNS45NiwwIC0zMS4zMyw2LjIgLTQyLjYzLDE3LjUgLTEyLjczLDEyLjY5IC0xOS4zMiwyOS45NCAtMTkuNTUsNDcuODkgdiAwLjYgYyAtMC42LDI0Ljc3IC0yMS40NSw0NS4wNyAtNDYuMjEsNDUuMTIgelwiXG4gICAgICAvPlxuICAgICAgPGEgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwidW5kZXItcmVzcG9uc2l2ZVwiLCBjbGFzc1RvSGlkZTogXCJ1bmRlcnN0YW5kaW5ndGFiXCJ9KX0+XG4gICAgICA8cGF0aFxuICAgICAgICBpZD1cInBhdGg3OFwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZmlsbDogXCIjODUwZTc4XCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDYzMy4yNCw1ODEuMSBjIDAsMzEuMTggMjguOCw1Ni40NiA2NC4zMiw1Ni40NiAzNS41MiwwIDY0LjMyLC0yNS4yOCA2NC4zMiwtNTYuNDYgMCwtMzEuMTggLTI4LjgsLTU2LjQ2IC02NC4zMiwtNTYuNDYgLTM1LjUyLDAgLTY0LjMyLDI1LjI4IC02NC4zMiw1Ni40NiB6XCJcbiAgICAgIC8+XG4gICAgICA8L2E+ICBcbiAgICAgIDxwYXRoXG4gICAgICAgIGlkPVwicGF0aDgwXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmaWxsOiBcInZhcigtLW91cmJlaWdlKVwiLFxuICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICB9fVxuICAgICAgICBkPVwibSA1ODcuMDQsNjM5LjY2IGMgMCwyNS4yOCAyMC44Nyw0NS43OCA0Ni42Miw0NS43OCAyNS43NSwwIDQ2LjYyLC0yMC41IDQ2LjYyLC00NS43OCAwLC0yNS4yOCAtMjAuODcsLTQ1Ljc4IC00Ni42MiwtNDUuNzggLTI1Ljc1LDAgLTQ2LjYyLDIwLjUgLTQ2LjYyLDQ1Ljc4IHpcIlxuICAgICAgLz5cbiAgICAgIDxnIGlkPVwiZzg0XCI+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDkwKVwiIGlkPVwiZzg2XCI+XG4gICAgICAgICAgPGcgdHJhbnNmb3JtPVwibWF0cml4KDcyLjYsMCwwLDcyLjQ4LDU5OS40LDgzMC41MilcIiBpZD1cImc5MlwiPlxuICAgICAgICAgICAgPGltYWdlXG4gICAgICAgICAgICAgIGlkPVwiaW1hZ2U5OFwiXG4gICAgICAgICAgICAgIG1hc2s9XCJ1cmwoI21hc2s5NClcIlxuICAgICAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1rQUFBREpDQVlBQUFDSnhoWUZBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFGQzFKUkVGVWVKenQzWGxjVkdYYkIvRGZtVE16TUNBb2lLaUk0TDVDbXZ1U0dwcVdxYmt2dWFTcHVXVHFrMHRwRnBhcG1Wb3VUMm5hWXB2N25nc3VsYWxrYXFhSVlZaW95Q0pJSUp2QU1NdVo5dzhmVzE2Vnc4emM1NXc1dy9YOUx4MnU2K29qUDRZNTV6NzN6UUd3Z1JEeVNCcWxCeURFMVZGSUNCRkJJU0ZFQklXRUVCRVVFa0pFVUVnSUVVRWhJVVFFaFlRUUVSUVNRa1JRU0FnUlFTRWhSQVNGaEJBUkZCSkNSRkJJQ0JGQklTRkVCSVdFRUJFVUVrSkVVRWdJRVVFaElVUUVoWVFRRVJRU1FrUlFTQWdSUVNFaFJBU0ZoQkFSV3FVSElQZDRlVlZDZVBQdUNLMzFHQUlEYThQZ1ZSRldpd21GaGJtNGxSYVA2OWZPSS82UGs3QmFURXFQV3U1UVNCVFVxRWtuZE92K0VtclhiUW4veXNIUWFFcC9ZemViUzVCNSt3WVM0ay9oeUtFMVNFKzdJdE9rNVJzSDJ1WlVkcDBqWGtDUG5sTVFYTE9Kd3pVRXdZcUVLNzlnLzU0UDhIdnNENkIvUnVsUVNHVFVvRkZIakJ5ekRDR2g0VXpyeHNZY3hkY2JaaUFyTTRscFhYSVBoVVFHSE1laGQ5L1o2RGRvTG5oZW10OXdMUll6dnZ4MEtxSlBiQVlnU05LanZLS1FTRXluTjJENnpNMEllNnliTFAyT1JLM0IxbzF2d21vMXk5S3ZQQ2gzSWRGb05QRHk5b08zZHlWNGVIaERxOVVESEdDMVdtQXFLVVp4VVI3dTNyMERDNE9yU0I0ZTNvaGNlQXcxZ2hzem1MenNmb25laHMvWFRZVEZZcEcxcjdzcUYxZTNlRjRIUC84Z1JEdzFEbDBpUnFPQ2ozK3ByeGNFQVRIbm8zRHd1eFZJVFltRDBYalhnWjU2ekoxL1NQYUFBRUQ3SjRiQWJEWml3NmV2d0dZclZ6OERKZUhXN3lROHIwT25MaU13OHNVUG9kWHFISzRUZldJenZ2NzhQekNaaXNyMGVvN2pNT2FsLzZKTHhHaUhlN0t3NWR0NU9IUmd0YUl6dUFPM0RVbXJOdjB3OFpYUG9OTjVNS2xudFZwd0tub3JQdjlra3Voclc3Y2JnQ25UdjJMUzF4a1dpeG16cDRjajUwNmEwcU9vbXR1RnBFSUZmOHlkZnhnMWdodEpVajh2THhQTEZ2VkZhc3J2RCsvdlV4bkxWOGZCMDlOYmt2NzJTazZLUmVUY2prcVBvV284Z0xlVkhvS1Z4bUZQWW01a0ZBS3FoRWpXdzlQVEc1MGpSdi92WnQ2cEIvNSsyS2ozVUw5Qlc4bjYyOHZIdHdyU1V1TnhLeTFlNlZGVXkyMFdPTGJyTUJqL21iVVZQajZWSmUrbDFlb3dhTmg4REg5aEtUaU8rK3ZQQTZ2V1FhY3VJeVh2YncrTlJvT2hJeFlxUFlhcXVjWFZyUmF0K21Ec3hEWFE2ejFsN2R1ajUyUVVGK1ZoOTQ1Ri8vdnZsNWw5Qm1LcGNrQXdnbW8wS3VYZFJJUDZEZHFnV1l0bkVCSWFqc29CTlZHeFVsWG85VjdRYXZXd1dFd29Lc3BEYms0R01qT3VJLzZQazdoNDRUQ3lzNUpsL2Y5UWl1by9rOVFNQ2NNYjh3L0Q0T1dyMkF4clZvM0J1Yk43c09MakJGU3NGS2pZSEtXSnUvUVRsaTN1ODY4L3F4N1VFRjI2amtiYjlvUGc1MS9kcm5wV3F4V0pDYWR4S25vcmp2KzRnZVdvTGtmVklkRnE5Vmk0OUN5cVZhK3I2QndXaXdYYk4wZmkrVkdMRloyak5FYmpYVXg2OFY0UUFxdldRZDhCYzlDdTQyQW15MlR5ODdPd2JWTWtUcDNjREVGd3Z4dVlxZzdKMklscjBQbkpVVXFQb1FwV3F3VVRSZ2VpVzQ4SkdQejhBdWgwZXVZOWJseS9nSFVmalVORytsWG10WldrMnBCVXJGZ1Z5LzhiNTVLZkFWeFZUazQ2L1B6cys3WEtYb0lnWU0ycTBmanQxNzF1YzdkZnRaZUFYM3ZyQUFJQ2FpbzlocW9ZREQ2UzkrQTREbTNhRDRDcHBCaFhFODVDcFQrRC8wV1ZsNEExR2g2aG9ZOHBQUVlweFpEaEM5QnYwQnlseDJCQ2xTRVpNbnloVTJ1eGlEejZEbmdkVHowOVdla3huS2E2a0hDY0ZsMjdqMWQ2REZJR0hLZkIwQkh2SXFoR1E2VkhjWXJxUXFMVDZlbGRSRVYwT2crODh1b21wY2R3aXVwQ1VyZGVLMmcwdk5KakVEc0UxV2lBZ2NQZVZub01oNmt1SkMxYTl4Ri9FWEU1WGJ1TmhRcS8zUUNvY09wNkxyVENscFNkZHdVL0RCbitqdEpqT0VSMUlRbXNXbHZwRVlpRE9xbDBkWVRxUXVMcFdVSHBFWWlEdkwzOTRPY1hwUFFZZGxOZFNFcEtDcFVlZ1RoSW85R2dULy9aU285aE45V0Y1SGJHRGFWSElFN28ySGtFMVBadHA2NXBBU1RFLzZ6MENNUUpXbDRMWHF1dVovMVVGNUt6WjNZclBRSnhBcWZSZ05lb0t5UXVNYTFXNjRHbmU3MkNMaEZqNEYyaEVuUTZEL0M4RGhxTkJqWWJZTE1Kc0ZqTU1KdU51RnVRcmZTNHhBa2N4NGtlTWVGcUZBc0p4M0hvMkhrRWV2ZWRoU3FCb1k5OFF1N2VQZ3NhOEx3V0hoNEdWS2pnSit1Y2hDMk8wNENqa0locjIyRXdCZzJOUkpYQVdrcTBKOFF1c29ha1lzV3FlR25LZW9TRmQ1V3pMWEVoZ2lCQUVLeEtqMkVYMlVMU0pDd0NMNzI4VHZMSFI0bHJzOWtFMkNna0QycmR0ai9HVC80RUhoNWVjclFqTHN4bUUyQzFVa2orSmJ4WmQweVk4aWx0MkVBQUFDVWxSZWp4N0JUVWI5QU9OWUlib1dLbGF0RHBQR0V4RzVHWGw0bU05RVJjVHp5SHF3bW5rWkljaC95ODIwcVBMTzF1S1FGVmFtSHg4bDlsMzFtUnVBZWJUVURzaGFNNHVIOFZFaE5PSzNaNmwyUWg0YlU2Zkx3K0JaNEcxOWhkbmFoYmZ2NmZXUGZSZU1SZlBnR3JWZDROOENRS0NZZXBNemFpSlQwZ1JSaEx1aEdERDVjTVFINytuN0wxbE9TdWpyOS9EUW9Ja1VTdDJzMnhjbTBpbWozK2pHdzlKZGljamtQa3dwOWtPUUtCbEU4Y3g2Rk51NEhnTlZyRVh6NGhlVC9tN3lUVnF0ZEQ5YUQ2ck1zUzhpODh6Nk5QLzFsNGZ0UVN5WHN4RDBtUG5sTllseVRrb1RRYUhrODlQUkU5ZTArWHRnL0xZZ2FETHpwSHFQTTVacUpPUEsvRmdNRnZvbnBRQThsNk1BMUoxV3Axb2RXeTM5S2ZrTkxvOUo1NDQrMmprdTNIeGpRa3RldTJZRm1Pa0RMejhmSEh3S0h6SmFuTk5DUU5Hei9Cc2h3aGR1bjEzS3Z3OW1iL3ZCSFRrQVNITkdWWmpoQzc5UjNBL3JnSHBpSHg5Ni9Cc2h3aGR1dng3TXN3R05nZU1zczBKSjZldEU2TEtJLzFielJNUXlMM3dqTkNIaWFpMjFpbTlaaUdSTTVGWjRROFNwdjJBOEh6N002d1lScVNqUFJFbHVVSWNZaFdxME1saG8rSk13M0o5YXUvc2l4SGlNTjhmUU9ZMVdJYWt2Zy9vbG1XSThSaG5sN3NybkF4RFVsNmVnTExjb1E0VE1kd2VSVFRrT1JrcHlFNUtaWmxTVUlVeHpRa05wc05PN2N2WkZtU0VJZVlMU1ptdFpnL1QzTGxjalJLU29wWmx5WEVMc1ZGK2N4cU1RK0owVmlBVFYrL3pyb3NJWFlwWUhqUFRwS05JS0pQYklUUlNNZTJFV1dZVFNYSXpVbG5WaytTa0ZndEpzeVorYmpxTmtZbTd1SE02WjFNbDBoSmRsQkU3cDEwN051OVZLcnloRHpTVDk5L3pyU2VwS2VwN042eEdKZGl2cGV5QlNFUFNFdUxaMXBQOGlPSFZpd2JqTXUvL3lSMUcwSUFBQWYzcldSNlpRdVFlTVBzKzNoZWgzRVQxNkJEcDJGU3R5TGwzTXZqYTZLb01KZHBUVmtPcjdOYXpWaS9aZ0srL21JR3pPWVNPVnFTY21qdnJ2ZVpCd1NRNloza240SkR3akRpaGZmUnVHbG5PZHNTTjFlUW40WHBrK3RKY2tWVjlwQUE5L1p5YmRXbUg1N3BQUTExNjdXU3V6MXhNeWFURVcrOTNoNjNNNlI1bmttUmtQeFRjRWdZZWozM0ttclhlUnhWQW1zLzhxaHFRaDdHYWpGank4WjVPSHBvcldROUZBL0pQK24xWGdodjFnMTE2clZHdFdwMTRWM0JIelZEdytEdFhVbnAwWWdMc2xvdE9IUmdOYlp2bG1aVHV2dGNLaVFQTTI3U1duVHFNbExwTVlpTHNWck0yTE56Q2ZidGtmNkd0Y3YvYm5NcmxlMk5JYUorWnJNSnF6OFloa3NYajhyU3orVkRjalBwb3RJakVCZVNkTzA4bGk1K0RrVkZlYkwxZFBtUUpOMklVWG9FNGdMeThqTHg4WXBSdUpwd0dqYWJJR3R2Q1k2RFk4dHNOaUlvdURGcUJEZFdlaFRpb0xrelc4SmtNcUoyM1paMkhZOWdzd200Y080QTFxK2RnSzBiMzBSVzFrMG84UkhhNVQrNEEwRFQ4SzZZL2NaZXBjY2dEaHJ6dkE4QVFLdlZJNmhHUTRUV2JvN0dUVHNqTkxRWi9BT0NvZGQ3d1d3MklqYzNBK2xwVjNEMXlta2tKcHhCK3EwRUZCUmtLVHk5U2tLaTFlcXhkR1VzL0N2VGh0eHFZN1ZhTUc0aysrTVE1Q1RMMmkxbldTd21mTE5oaHRKakVBZVlUT3JmNzBBVklRR0FpeGVQSURYbHN0SmpFRHZkdlh0SDZSR2NwcHFRQ0JZTFBuaXZIejBTckRJNTJXbEtqK0EwMVlRRUFISnkwdkhaMmtteVh3SWtqa3R6ZzV2QnFnb0pBSnlLM29Mb0U1c2dDQlFVTmJnWWMxanBFWnltdXBBQXdPZWZUTWE1TTd2cEhjWEZHWTJGdUhqK2tOSmpPRTJWSVFHQU5hdkhZUC9lRDVVZWc1VGkzTm05YnZHRFRMVWhBWUNkVzkvQmtnVTlKZDBJcjZnd0Q3dTJMNUtzdmpzN2R2UXpwVWRnUXRVaEFlNmRpVEpyV2xQOGZHSVQ4OW9IOTYzQ3pHbGh5TSs5emJ5MnU0dU5PWXByaWU1eHFKUExMM0FzaTdzRjJmaDA3VVJFN1YrTlhuMW5vSDNISVU3Vk8vYjlGNGc2c0JxWkdkY0FBSjRHSHhaamxpdFNQd2dsSjdjSXlYMnBLWEZZOTlFNDdOanlEcHFHUjZCdGgwRm8xTGdUZUw3MFJYVm1jd25pTGgzRG1WTTc4SHZzRHcrc0Y3SXczTWEvUE5pM1p6bFNraThwUFFZemJoV1MrN0t6a25IaTJGYzRjZXdyOEx3T3dUV2JJQ0N3Rm54OXE4RER3d3NBVUZKU2lOemMyOGpLVE1LdHRQaFM5NDR0TE15UmEzU254SnlQUXZNV1BSV2RJZWw2RFBidFhxYm9ES3k1WlVqK3lXbzE0MmJTUmFjZTNycWprcnZHdTdZdlFsRmhubUtiQUJia1oyUFZCME5oTWhVcDBsOHFxdi9nTGdlMW5BV1psNU9CVDlkT1JPeEYrZmRmTGk0dXdMdVJYWkZ6NTVic3ZhVkdJU21EL054TXBLYjhvZlFZcGJxVG5ZcTh2TnV3MlFTc1dEb1lGMzZMa3ExM1FVRTI1c3hvZ2N6YjEyWHJLU2NLU1JtZFA3ZFA2UkZLOWNPUnYrOUoyQVFMVmkwZmdxajlxNW1lMC9ILzJXd0NVcExqTUhWQ0hlVGxaa2pXUjJrVWtqSTZmKzZBMGlPVTZ0Y3p1eDc0czYwYjUrR2RlVjFRWEZ6QXZKL1pYSUxkTzk3RFc2KzNBNkQrdStxbG9aQ1VVZEwxODhqT1NsRjZqSWZLemNuQW41bEpELzI3NUp1eG1EdzJHSnUvZVlOWnZ3dm5vekRweGVyNGJ0Y1NaalZkbVNvZTMzVVY0YzI2WSthY0IzOWlLMjMrM0U2NG1TUytxNHhlYjBDVHBsM3d3cmlWZGo4S1hXSXN4Szd0QzNIeStMZVM3Tnp1eWlna2R1QjVQWmF0dWdUL3lrRktqL0tYM056YmVQWGxSckRaeXY3WmcrTTQrUGdHSXFCS0NNTEN1NkpCb3c2b0h0UUFQcjRCNEhrdGlncnpjRHZ6T200a25rUE0rY05JVDcrQy9Oek1jbnRUbFVKaXA5RGF6ZkhPNHBOS2p3SGczaVlMczZlSDQwNTJxdEtqdURYNlRHS25temRpY2ZqQVIwcVBBUUE0dEg4MUJVUUdGQks3Q2RpK1pUNHkwcVU1QzZPc3JpYWN3Zll0N3JPSTBKWFJyMXNPMG1vOXNXelZSZmo1eS8vNTVGYmFGVVRPZVFJV2kxSDIzdVVSdlpNNHlHSXhZdDdzdHNpOGZVUFd2cWtwbC9GdVpGY0tpSXpvbmNSSlBLL0gzUGxScUZlL2plUzk0bjcvQ1N2ZUgxaHVyeklweGUxRDR1M3RoNkRnaHVqWWFUZ2FOdTRJLzhyQnNOa0VaR1VtNDNMY2Nadyt0UTNwdHhKUlhPVGN0ZjhSbzVmaHlhNWpvTk43TXByOGJ5WlRNUTd1VzRrOU94WXpyMDNFdVcxSURBWmZESDloQ1RvOU9VcjB0WUpneFpHb05kaTFiYUZUeTd3REFtdGg1dXU3VUxWYUhidDJUeTl0cnJUVWVIeXdwRDl5YzlLZHJrY2M0NVloZWJ4bEwweWZ0Y1docjMzN2pVNU9uNGxTclZvOXpKNjNENVVEZ2gydWtaR2VpQ1VMZWlMWGpSY09xb1hiaFdUWXlNWG8wWE1LTkJySHJra0lnb0R0bStjamF2OUtwMmN4ZVBtaVJjdmU2Tmw3R29KRG1vcSsvc2IxQzRqYXZ4cVhZbzdBYUN5QXplWlcvelNxNVZZaEdUaDBQdnIwbThXazFqY2JadUtISSt1WjFBSUFUMDh2ZUJvcVFxODNRS3ZWZytNMEVBUUxyQll6aktaQ0dJc0szR0lIZG5ma05pRnAzYllmSmsvN2tzbG5BZURla28vM0Z2UkVZc0pwSnZXSWVybkZmUks5M2hQUGoxckNMQ0FBd1BOYWpKKzBGcnhXejZ3bVVTZTNDTW5UdmFaSmNncFd0ZXIxMExiOVFPWjFpYnE0UlVqYWR4Z3NXZTJJYm1NbHEwM1VRZlVocVJ4UUUwSEJqU1NyWDc5aE8vaFdESlNzUG5GOXFnK0pISnV4MVcvUVR2SWV4SFdwUGlRaG9lR1M5Nmhhclk3a1BZanJVbjFJdkN2NFM5N0Q0T1VyZVEvaXVsUWZFck1NTitETTVoTEpleERYcGZxUTNKYmhlWTZjTzdTNHNEeFRmVWl1eFA4c2VZL2twRmpKZXhEWHBmcVF4TWRGbzFEQ2ZhRHljalBkNnF3TllqL1ZoOFJtc3lBdTlwaGs5YU5QYklRZ1dDV3JUMXlmNmtNQ0FOL3RmbCtTamFFdEZqT08vZkFGODdwRVhkd2lKS2twY1RqKzQ1Zk02KzdadVJoWmo5aGpsNVFmYmhFU0FOaXlhUjVTa3VPWTFVdE1PSU5EKzExakV6cWlMTGNKaWNsWWhCVkxCeUhyejJTbmE2WGZ1b29WU3dmVHRqMEVnQnM5ZEhXZmowOEFYbnR6SDJxR2hEbjA5ZGV2L1lZbEM1NTF1M1AvaU9QY0xpVEF2VjNUbiswekE3Mzd6WVNoakdld0Z4Ym1ZdHVtU0J6L2NZUEUweEcxY2N1UTNNZHhIRHBIak1Hd2tZdWcxeHZBY1pxL05vZ1FCQUUyd1lyQ3dseDgrOVZzblAxbHA4TFRFbGVsZUVnMEdpMmU2RElDN1RzT1JWQ05CakNialVoTU9JdWpoei9CdGF0bm1mVGdPQTQ4N3dHdFZndE9vNEZOc0FHd3dtS3h3R28xMDY0a3BGU0toY1RMdXhLbXpkaU1PdlZhUWYrSVhRL3YzczNCOTRmWFljK09SVEpQUjhqZkZBbEoyR05QWWZMVUwrQmR3YTlNcjArNkVZTWxDM3JDYUx3cjhXU0VQRWoya0lRMzY0NnBNelk5OHQzalVUTFNFekZ2ZG10Smoxd201R0ZrdlUvaTQxc0Y0eWQvWW5kQWdIczdsN3o2Mmc0SnBpS2tkTEtHWk9DUVNGUjBZbE9GeGsyN29IcFFBNFlURVNKT3RwRG9kSjVvMDc2L1V6VjRYb3RKVStrK0JwR1hiQ0Y1ckhrUGVIbFZkTHBPOWFBRzREaTNXVTFEVkVDMjc3YjZEZHN6cWNQek92Qzhsa2t0UXNwQ3RwQlVxbFNWU1IyZVo3ZmZMeUZsSVZ0SVdCMHJJQWlDKzY2aklTNUp0cEN3ZXRaREVDd0FMU01oTXBJdEpPZk83bVZTeDJ3dXVSY1VRbVFpVzBoeTdxVGhTdndwcCt0czIvUVdMVWdrc3BMMVd1cnU3YzR0Vk16UCt4UEh2cWVOR1lpOFpBMUovT1VUT0h6d1k0ZSsxbVF5WXVYeUlYRGp4MStJaStJQnZDMW53ei9panFOeVFFMjdkb00zbFJUamkvV3Y0TkxGb3hKT1JzakR5UjRTbTAzQStYTUhZVFRlUmQxNnJhSFRlWlQ2K3RTVXkxaXplZ3hpWXc3TE5DRWgvNmJvazRrR2d5LzY5SitOSm1FUkNLZ1NBb1BCQnpaQlFFRkJOakxTRTNIeStEYzRkWEtMa2lNU292emp1NFM0T2xvcFNJZ0lDZ2toSWlna2hJaWdrQkFpZ2tKQ2lBZ0tDU0VpS0NTRWlLQ1FFQ0tDUWtLSUNBb0pJU0lvSklTSW9KQVFJb0pDUW9nSUNna2hJaWdraElpZ2tCQWlna0pDaUFnS0NTRWlLQ1NFaUtDUUVDS0NRa0tJQ0FvSklTSW9KSVNJb0pBUUl1TC9BSkM5SVRxL2ZtRkdBQUFBQUVsRlRrU3VRbUNDXCJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDAsMSlcIlxuICAgICAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiXG4gICAgICAgICAgICAgIC8qIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgaW1hZ2VSZW5kZXJpbmc6IFwib3B0aW1pemVTcGVlZFwiLFxuICAgICAgICAgICAgICB9fSAqL1xuICAgICAgICAgICAgICBoZWlnaHQ9ezF9XG4gICAgICAgICAgICAgIHdpZHRoPXsxfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICAgIDxnIGlkPVwiZzEwMFwiPlxuICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxMDYpXCIgaWQ9XCJnMTAyXCI+XG4gICAgICAgICAgPGcgdHJhbnNmb3JtPVwibWF0cml4KDY4LjA0LDAsMCw2OC4wNCw3MTEuODQsNzE0LjYpXCIgaWQ9XCJnMTA4XCI+XG4gICAgICAgICAgICA8aW1hZ2VcbiAgICAgICAgICAgICAgaWQ9XCJpbWFnZTExNFwiXG4gICAgICAgICAgICAgIG1hc2s9XCJ1cmwoI21hc2sxMTApXCJcbiAgICAgICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFMd0FBQUM4Q0FZQUFBRENTY1NyQUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBQytKSlJFRlVlSnp0M1dsMFUzVWV4dkVuU1pPV0FxV2xSYXIxdEVLaFVLQnFSNVlaVkppRGlBc0t5cUt5Q0RJNEZFUlpYQUVWeFRNTU1xTTRqQjZCVWNFUkQ2aUk0bEpFSElvVlJWU3dDQlJLV1F1bFpiR1E3bTJTZXpNdjlBWGpRSm8wZDBueWV6N24rQ3IvM3Z0NzhTV21OL2YrYXdIZ0JaRVFWck1ISURJU2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENRS2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENRS2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENRS2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENRS2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENRS2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENRS2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENSS2xOa0RFUGxpaFJYWHBnN0VnQ3NHbzB0U0Q4UTU0bEhucnNHQnMzdVJYN0lCbTQrdWgxdDErMzA4Q3dDdmZ1TVNOVjltMGxWNG9PZHNkRTdNdk9pYVV6VmxXUGpOTE96OStTZS9qc25nS2VTMGRzUmplcCtuY1YzcVFML1d1eFFYNXVWUHg0N3lyVTJ1WmZBVU1peXdZR0wyVE56WmRTeHNWbHRBUDF2bnJzUGtUKy9FNmJxVFB0ZnhsMVlLQ1RkMkdJcFZ3elpoUkxmeEFjY09BTEgyV0l5LzZxRW0xL0Vkbmt6VktTRVRNMzcvTERxMTdScjBzUlJWd2FpMUExRGxjbDUwRGEvU2tDbGk3YTB3NjlybmNjMmxmWnYxam40aE5xc05hZkhwMkgxNngwWFhNSGd5M0o5Lzl3Z0dkeHFKR0hzTHpZOGRGNTNnODNVR1Q0YnBsem9JRC9TY2pmZ1diWFU3aDZvcVBsOW44S1M3bEZhcGVQYVBMK1B5dUZSWUxQcGVKem5UeEZVYUJrKzZjVmhqTUxmL0ltUW45NEhOcW45cWRlNWFISGJ1OTdtR3daTXV4bVpOeHQzZDc0ZmRaamZzbkcvdWZCbXFWL1c1aHNHVHBucTB5OGFDRzE0ek5IUUFPRjFUam8rTDMyMXlIWU1uVGNSRngyUEpyZThqTWJhZDRlZDJLUzdNM0RnT2dPOTNkNERCVTVDaWJURjRvdThDOUUwZFlNcjVqMWNleGJRTm8xRHZxZk5yUFlPL0NMdlZqaWlySFJhTEZSYXpod21DNmxYaFVsMVFWSStteDQyeVJ1R1c5QkdZMm51MnBzZjFsNko2c0s1b0ZWNHJlREdnbjJQd3YzSkV4ZUNTMkdRTTZUd0tBOU52UjZ5OXBka2phVVpSRlh4MmNDMVc3bm9WbFkzbmdqeWFCUmx0dStHbFFTdGhzMm56RFdtZ3Fob3JNWGZ6VkJSVjdBNzRaOFhmU3hNZjNSYkRNdS9GOE14eGhsdzZNNU9xcWxpeWZTRStPZkJPczM2K2ZjdkxzR0RBTWx3V2w2cnhaUDd4ZWxYc09WMkEyWG1UNEdubS83SEVCcDhRazRoaG1lTXd2T3M0V0syeWJocDlyM0E1bHU5YzdQZjZOdEVKbUpnOUU0UFNoK280bFc5dXhZV1Z1NWJndmIzTGd6cU91T0RieFNaalpMY0p1SzN6WGVKQ1A5K2NUVG40OGVRMm4ydnNWZ2R1VHI4VGs2NTV6UERMak9jN1ZWT0dKL09tb0xUNmFOREhFaE44U3VzMDNOUDlmdHlZUHNUc1VVSkNpZk1RY25LSCtWeno1cEQxU0c2ZFl0QkUvMC8xcXRoNlBBL3p0endLcjBhWlJ2YUhWZ0FkNGpNd3BrY09ya3Z6NzNFeEtkTGkwOUVoUGdOSG5NVVhYYU5WWk0zaDhyand5Zy96c2ZId09rMlBHNUhCVzJCQmw4UXNqTW5LUWErVTY4d2VKMlQxdkxTdnorRDl2YmF0dGFQbkRtSlczaVE0R3lvMFAzWkVCVytCQlZlMjc0VXhXVG00c24xUHM4Y0plVW14eVQ1Zjl3U3cvWVZXUGlwYWpTVTdudGZ0K0JFUnZBVVc5RTdwaDFFOUpxRnJVZyt6eHdrYkRVcTl6OWR0RnVPdXM5ZTc2N0RnNnlmd2ZkbFh1cDRuN0lQdm4zWXpSblcvSDFja2REWjdsTEJ6b0tMUTUrc09XN1FoYyt3NnRSM1A1YzlFamJ0SzkzT0ZiZkMzZGhxR0VkMG00TExXNW53SkV1N3EzTFg0L3NRV24ydGFPZUowbjJONXdUL3cvcjYzb0hwOVA2bWtsYkFMZm5qWGNiaWo2MWkwYTluZTdGSEMycWJEbjhLbE5sNzA5Vmg3SzhSRngrdDIvblAxRlhqbXkya29QcnRIdDNOY1NGZ0ViN1ZZTWJwSERnWjNIb21FRm9sbWp4UDJ5cXFPNFY4L3Z1Qnp6YUNPUXpYYlRlQzN2aXI1SEl1L2V3NjE3aHBkanU5TFNBY2ZaWTNDaEt0bllGREhJV2dkM2Nic2NTTENxWm95UFBMRmZYQ3JMcC9yQm5hOFhmTnpxNnFLUmR2bUl1OUlMbFEvN2wzWFEwZ0dIMjJOd2VTZWo2TmYyazFvNldobDlqZ1JRVkVWZkxEdkxieTlleWthbFFhZmF6UGE5a0RIK0M2YW5yK3MramlleXB1Q3NwcmptaDQzVUNFVmZFdDdLenpVK3luMFNlbVBGdlpZczhkcGxoMWxXM0hnN0Y2enh3RHd5ejBqMVExT0ZKNHB3SW5xWTM1ZkJYbXcxeHhON3pQS0xWNkRaVHRlZ0V2MS9RL05DQ0VSZkd0SEd6ejZoNzhnTzdrUEhGSEdYQXJUeTdZVCtmaWt1SG0zMzRhQ0VabmprWkhVWFpOanVSVVg1dVhQd0k3eXJhYmVwbkErVTRPUGkwN0EzT3NYb1V0U2xxbDM0OUV2dWlSbStiVWhxVCtPT1EvajRZM2pEYm0ySGdoVGdvK1BTY1NDQVV1UjJpWmR0eXNCRkppVTFxbFllTVBybXJ6eHJDbGNnUlU3LzJuYUw2YStHQnA4MjVoMldIenoyMGlNdlFSV25YZWdJdjkxVGJ3U0w5eTRBbEcyNEhKbzlEVGdvYzlHNDFqVklZMG0wNTRod1NmRkp1TzEyejRNMjE5RUk5bUVxNmZoN3U0VGd6NU9pZk1nY25LSGF6Q1J2blFOUHExTko3eHl5MnJZYlE0OVQwTUJzbHFzeUV5NkNuOGRzQlRSVVRGQkhVdFZWYnhSOEJMV0ZyMmwwWFQ2MGp4NG16VUszWk95TVgvQXF3dzloRVJaN1lpMXQ4U1F6dmRnZEZhT0pwY2RxeHNyTWZIam9haHlCYnNUZ25FMGU4VFBibldnZDhyMWVLTHZnckMvdEJpTTRvcENsRmFWbUQwR0FNQmhzNk5OZENJeUVyc0YvVTcrVzd0T2JzZmptNEwvS0dTMG9JT1BpV3FCZnFrM1lXcXZPWWdXSExvVUxxVVJMMzc3TlBKTFBqZDdsR1pwOWtlYVZvNDRET3d3QkgvS25nNEhQN3FJVUY1ZGlpbTVJNXA4Y0NTVUJSeDhtK2dFRE80MEVxT3pKaUdLWHhhSnNmSFFPaXphTmcvK2JGZ2F5dndPUHJIRkpiaWp5eGdNeTd5WFh4WUpVdDFZaWZsYkhzUE9VOStaUFlvbW1ndyt1ZVhsR05GdFBHN0x1TXVJZVNpRTdEMjlFM1B6SDBTTnE5cnNVVFRUWlBEOTAyNWk3TUlvcWdlcjk3eU90M2N2UTdoL2hQa3RHNEJuZlMwb1BGTUF0K0pHOXFWOWpKbUlUSFc2dGh4UGI1Nkt2S081aU1STjZab01IbUQwVW54ekxBOVBicDZDOHBwU3MwZlJqVi9CQTR3K2tyazhqWGoxaCtmeCtzNUZUVDc2Ris3OERoNWc5SkhvZU9VUnpObzBDZHZMdnpaN0ZFTUVGRHpBNkNQSitnUHY0N2t0RCtOcy9SbXpSekZNd01FRGpEN2MxYnZyTUgvTFkxaGI5Ry9OLy9aVHFHdFc4QUNqRDFlSHp1N0hvMS9jaC8wR2I0QVVLb0s2UGZqZHZXOEFBQ1prVDlOa0dOS1BvbnF3dkdBeFBpeGFCUld5M3RYUEYvVDk4SXcrZExrOExoeHhGbVBEb1ErdzlmaG1WRGFlTlhzazAybnlBRWlrUlYvdnJrUFJ6N3V3NzlmL3p0U1dvMUZwaEV0cGdFdHhRL1Y2NEZiY1VLRkE5WG9OMndpVWdxZlpFMC9oR3YyNStncjg1L0FueUR1NkhzNkdDdFI3YXREZ01YL0RJTktIcG8vNGhVUDBkYTRhck51L0NwOGRYSXRLbHhNdVR5TWk4U3QwdWpETm4ya054ZWpQMVZkZzJZNi80OXZTelhBcGpTR3pDeFlaVDVkZEMwSWhla1gxNEowOWIyRFZubVZRK0JtYmZxWGJOaDFtUk8vMWVsSFpjQTVQNWszR0llZCt3ODVMNFVQWGZXbU1pbDcxcWlpck9vN3BHMGFqMW1QOEp2c1VQblRmZVV6djZFOVdsMkw2aHJHb0RLTzlVY2c4aG15MXAwZjB6b2F6bVBmbERPeXIrRW16WTFMa2EvYTlOSUhTNnQ0YmorTEcycUtWZUNwdkNzN1VuOVJvT3BMQ3NPQ0I0S00vVVZXQ0I5YmZoYTJsbXpTZWpLUXdOSGlnZWRHclhoVWY3VitOdVY5T1E3Mm5Wc2ZwS05JWkhqd1FXUFJWRFU0OGt6OE51UWZlQTc4UnBXQ1pFanpnWC9RbHpvT1kvdmtZbEZRZU5IQXlpbVNtQlEvNGp2NzdFMXN3SjI4eWF0MlJzd2tRbWMvVTRJRUxSNTlidkFZTHQ4NkI0bldiT0JsRkl0T0RCLzQzK2pXRks3RDB4NytCbjlkSkQ1cjlRUVF0ZEcrWGpjSXpCV2FQUVJFc3BJSW4waHYvZGlTSnd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSR0R5Snd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSR0R5Snd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSR0R5Snd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSR0R5Snd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSR0R5Snd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSR0R5Snd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSL2d1TnRhcjJNYUM2eFFBQUFBQkpSVTVFcmtKZ2dnPT1cIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMCwxKVwiXG4gICAgICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgICAgICAgICAgLyogc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBpbWFnZVJlbmRlcmluZzogXCJvcHRpbWl6ZVNwZWVkXCIsXG4gICAgICAgICAgICAgIH19ICovXG4gICAgICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPGcgaWQ9XCJnMTE2XCI+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEyMilcIiBpZD1cImcxMThcIj5cbiAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJtYXRyaXgoNzMuNjgsMCwwLDczLjY4LDU5Ni40LDYwMi4xNilcIiBpZD1cImcxMjRcIj5cbiAgICAgICAgICAgIDxpbWFnZVxuICAgICAgICAgICAgICBpZD1cImltYWdlMTMwXCJcbiAgICAgICAgICAgICAgbWFzaz1cInVybCgjbWFzazEyNilcIlxuICAgICAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU13QUFBRE1DQVlBQUFBL0lrenlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFHbGhKUkVGVWVKenQzVnR3Rk5lWkIvRC9PWDJabnBHNGc0VFFCUVRHUVdEQTJGZ1lTNENSQ0xiSjNSWEh1VmE4NjNXMmFyZVNxdVJoSC9acFh6ZVBXK1hOYnFxOGlWbkhXY2VPSGRzeDJOZ1N4b0RCWUM0R2JJRVJRa0pjeFIxSmMrbnUwMmNmRkJMQVhPWjA5MHozakw3ZlcrdzVQVi93L09udWMyVUFKQWdoZWVGUkYwQklLYUhBRUtLQUFrT0lBZ29NSVFvb01JUW9vTUFRb29BQ1E0Z0NDZ3doQ2lnd2hDaWd3QkNpZ0FKRGlBSUtEQ0VLS0RDRUtLREFFS0tBQWtPSUFnb01JUW9vTUlRb29NQVFvb0FDUTRnQ0Nnd2hDaWd3aENpZ3dCQ2lnQUpEaUFJS0RDRUtLRENFS0tEQUVLS0FBa09JQWdvTUlRcjBxQXNvRkFNNnB2SXFUT1ZWbU1Rbm9JSW5ZY0tFemtiK0x3c3BZTU5CMmt2amduY0pBOTQ1bkpSbmtKVzVpQ3NuY1ZZMmdkSEEwYWcxWUpZMkF6UDFCa3pWcXFFelRla2FudlF3SU03aHFPakhFYmNYUjBRdmJEZ0ZxcGlVSW9ZU1B1NkNBYWptVlZpb04yR0plUjhTUEJIcTlXM1B3VjduQUhZNys5SHZuUXoxMnFRMGxXeGdwckZxZk1WYWhSbEdmVkcrNzR4N0ZuL0t2bzErN3lSa2FmNlJrUkNVWEdBcWtjS1BrdDlHblRFdGt1Ky9KQzdqMStrWGNFVU9sdFlmSEFsRlNRVm1UYUlkTFlrSG9pNERBTEE3dHcrdjV0YlQzV2FVS1luQVZDQ0ZuMWI4UGNab2xWR1hjcDBoTVl6bjBpOWlRSjZQdWhSU0pMRVBUSk0yRzA4a3Z4cjZDMzFZY3A2TjlkbE83SFQzUmwwS0tZSllCNmJWYU1ZajFzUGdMTjdqcTBKNjJKTGJnUTMyKzFHWFFnb3N0b0ZwTjVlaHpXcUp1b3k4U1NteEpiY0RiOXNib3k2RkZGQXMvK3BlWVR4WVVtRUJBTVlZV2hQTldHMnVpTG9VVWtDeEcrbWZyemRobGJVODFHdDYwb01qSGJnUUFBQU5Ha3htaFA2b3h4akRDbXNwQkFRNjdhM1VnMWFHWWhXWWNSaUx4NjAxZ1gvSXJuUnh4UnRFcnppT2ZmWm42SmNudnpCSFRJZU9lbDZEK1VZVFp1a3pNSTZOZ2NHTlFOOTdWWnZWQ2s5S2JISzJ3WU1YeWpWSlBNVHFIZVpmSzMrR0NwN3kzZDZSTG5iYis3RXUxd0VYcmxKYkRvNlZ4a05vVFN5QkdWSndPcktiMFdsdkRlVmFKQjVpRTVnZldkL0dIUE11MysyMzVYWmhmYTRUNGkrUFhYNXhjTFNhemZoeVlua29qMnp2WnovRXUvWUhnYTlENGlFV2dabkVKdUFYWS83UlY5dUw0aEtlUy84ZUYrWGxVR3VxUkFXZVNqMkpHcjBxMEhXa2xOaWMrd2p2VUpkeldkQUEvRnUwQlhEOFU4VlRzTGlsM1BhQWZRaHJzeTlqU0E2SFhwY05CN3VkL1VqQlFwMWU0L3M2akRFMGFMVkl3RVMzNkEydlFCS0p5QU56dHpZVFN4TDNLYmZibWR1TFYzUHI0Q2krcTZqdzRPRnowUU5JaGthOXdmZDFHR09vMDZiQm90Q1V2RWdEbzRIanFkU1R5bmVYQS9ZaHZKcGJWN1FlcUtQaUdDQ0JtUUZEVTYvVndvQ0JJeFNha2hWcFlHWnBNN0EwY2I5U200dmlFdFptWHk3b25lVm1qb3BqNENIY2FScTBXbWpRMENQNlFxeU9GRXVrZ2ZtSzFZN0oyaVNsTnM4Ty82WWc3eXo1NkJISFlFZ2Q5ZG8wTU1aOFhZTXhoaGw2UFNBbCtzUUpHdHdzTVpGTmpSbUxNWmhqekZacXN5MjNLL1RlTUZYdjJPOWpXMjRYUEJuc2NiRGRXb1lWeGxJdytBc2VpVVprZ1psanpGTDZ2Q05kck05MUZxZ2FOZXZzRG55WSt6andkVllsbDZITkxLMDVjNk5kWklHWnJjOVUrdnh1ZTMvZ1Fja3dyYmM3c1NtN0xmQjEycXhXbXJCWlFpSUx6RXh0ZXQ2ZmRhV0xkYm1PQWxianp3WjdFenF6d2FlK0xFODhpRWZObFNGVVJBb3Rrc0RVOHFtd0ZGWlFYdkVHbGVlR0ZVdUh2UmtkMmMyQnJuRjFhY0JqRkpyWWl5WXcybFNsei9lSzR3V3FKQnlkOXRaUVF0T1NhS1k3VGN4RkVwZ3FQbG5wOC92c3p3cFVTWGc2N2EyQkg4OUdRdk1BV28zbWtLb2lZWXNrTUdQWm1Mdy82MGtQL2JJMGRwM3NzRGNIN2dqZ2pPTVI2MkUwYWY1bmJwUENpU1F3S1piTSs3T09kRXBxZy9BTjlpWnN5ZTRJTkU3REdjY1BLNzZOQ1d4OGlKV1JNRVFTR0pPWmVYL1dqVkZYY3I3VzI1MmhERzcrck9KcEdBaG5NUnNKUnlTQlVkMVZ2eFN0c3p1d0piY2owRFZNYnVDcmlWVWhWVVRDRUVsZ1ZHWlBhU2pkY0wxanY0K05BVHNDRmljV1lnYXZDNmtpRWxRa2dSRXkvekVWa3huUTQ3VlhoNUwzN00zb3lHNEpkSTF2V28rQngzTkhyRkVua3Y4S3Rzei9rQ0xPT09xNS94V1BjZEJwYndrMFRqTkZuNFJGK3J3UUt5SitSUktZdE13b2ZYNiswVlNnU29wblpKekcvNTFtZWVKQm10a2NBNUVFNW9vY1ZQcjhMSDFHWVFvcHNnNTdDN2JuZHZscU8xbWJoUGw2NmYvRlVlb2lDY3daY1U3cDgrUFltTEo1aG44cjE0R1Q3aGxmYlJjYkMwT3VocWlLNUZkNFhQRzhTSU1iV0drOFZLQnFpc3VEaC85T3I0WHRxUjgyMjZqWEk0WDhCMzFKK0NJSnpDbHZBRmxQYmZTK05iR2tiTzR5TGdUK2xGMnYzSTR6am9mTXhRV29pT1Fyc2wvZ0ViZFg2Zk1tTjlCcWxzK2t4RS9jejNCSnFDKzNucTAzRnFBYWtxL0lBbk5ZSEZWdTgrWEVjbFNpb2dEVlJLTWpwOTdWUElsUExFQWxKRitSQmVhUTA2M2Nock9SZmN5aUhzaE1JWW1KYkh6Z1dRaTczUU1ZOUlhVTJpUzVoV2xNYlQwUkNVOWt2N3dyR0VLWGZSaE5wdHJPTVRWNkZkWWsydkJtN3QyaWJsRmtRTWN5Y3dudU5lN0JKRzBDQUVCSWdXUHVDV3kxZDZKTEhQWjEzUlBpRk9ad3RUK0R1Y1pzbkxSUCsvbytFa3lrKzVLbFpRYUx6SHVVMjlYcE5ZQmtJenRTRnNGWVZvbW5VOS9EQW5NdVV2eHZ2VlNjY1V6UXhtR0JPUmNWU0k1c0s2dElnNGE1eHQxS2JaaGsyTzN1Vi80dUVseWszVTQ5NGhndWl5dSsyclpaTFdnelcwT3U2SXQwYVBoKzhsdW8wYXR2KzdrSEUvZmoyOVpYbFVmakQ3bEhsSmNCVlBMeWVZOHJOWkVHeG9PSDF6THEzYXRYdFZ1dFdHVXVDN0dpTDJvMkZxRmVyODNyczR2TWUvQ2s5VFdsNjZlUlVaNHFaSlR3Wk5SU0YvbkFSby9YaDJFdjdidjlTcXNGajVnUGgxZlFEUllaYW8rTTg4MjUrS0gxdUZJYjFSZC9iUlNzSjRxcnlBTWo0T0cvaHRjR3VrWnJvaGxyelBhUUtycGVOVmMvVUtuSnZCdmZzNzZaOStkdHFJMzZsOHNBYmltS3haLzhSWGtaKyswdTMrMDU0MWlhdUIrUG1XMGhWZ1dZTUtCeGYzOUU5NWh6OEIzcmEzbTkwNmoyOXRHYzVlakVJakFTRWk5bDM4Q3c4TDhyUDJjY3JWWnpxTnV1Mm5DVXAvQmNhNkU1RDQ5YmErNzRPVjF4M1Q3dDl4K2RXQVFHR0FuTmMrbmZ3L2JzUU5kWllTMUZlNGdkQWNmRWlVRHQ3elBuNC9IRTdVT1RZdm52QWdxQWpqS1BVR3dDQXdCbjVEbXN5M1ZDQk54dFphVExPWnhkOGJmYi90YXZYT3YreElKYmhvYURZeXpQZjU4MllHU3ZhUktOeU0rNHZORko3elFNR0ppdTFmbyt0QWdBWnVyVEFTbHhWUFFIcXVlOHZJZ0tKRkduVHd0MG5XbDZOU2F3Y1Rqb1hqOGxxSUhYNG9IRXZVclhHcFREMk83c0RsUVA4U2QyZ1FHQUk2SVhKa3cwaEJBYUZzS01nTTlGRHlheThhalJnaDFCWHFOVll4S2JnRS9kei8vNno1YVp6YWhYRE9OeGNRcWZ1UEhmUHJjY3hUSXdBTkF0ZXFGREh6bmVMb0JHdlFHNjFIQWs0Sm1TWGU1aFRHRVRVYTFOQ1hTZHFWb1ZxdGxrSEhBUEFnQWV0Vllxajl4dnorMVdYb1JId2hIYndBREFFZEVISmhIb0lGWUFtS0hYSXlGTmRQdFlVbkN0QSs0aFRHTlZtS0o0THVlTnFyVEptTWFxMEM5T1lyV2wzcXYzYW1ZZGJBVHJIQ0greERvd0FOQXIrdUY1RWpPTi9BOWd1cGs2clFaSldMN1c0Vnhybjl1RmFqWVpWWnJhQ1FRM21xSk53djNHUXVWZFFLK0lRWFE2d1E5eEl2N0VQakFBY013N0FTbTlrUmQ1bnhoanFOTnFZTUxBRWRFYnFKNEQ3a0ZNWWhNd05lQTdqWjh0YzQrTFU5ampIZ2owdmNTL2tnaU14RWh2bHlZNXBtdDFnWTc4bnE3WGdVdU9uaERlYWNhemNhalJiaitMT1d3YmMxdHh5aHNvNm5lU3Z5bUp3RnpWSS9wZ3dBamNlOWFvMXdNU2dYdlB1dHpER0kreG1IYUhxZjloU1hzWi9ESDc1Nkl1bkNQWEs2bkFBSC9yY3E3WHBnWHNjbTRJWlp5bVN4UXZOUHVkZzlkMVNaUGlLN25BQUNOZHpvblF4bWxDdU5PSXc1aFE0TWN6VDNyNFUvWnRERXExcFFBa1hDVVpHR0FrTk9FOG5qV2dBaWwwaTZPQkhuVU91dDJZR0VKSHdPMnV2OVhaV1pCcmsveVZiR0NBa2NjekRWcmd3YzA2dlFaenRMdXd4OWtQTDBCb1BuTS9ENlhMK1VhZTlQREh6RnU0UW5lWHlER1V3V3p4TnJNRjdWYndHY3EyNStCUDJmV0JwNTM4d0hvY2MwMjFqUzF1WjBkdUQxN1B2ZU83L1F4ZWowYTlIdFc4Q2hQNGVDUlpBaHdNdG5RdzZBM2hyTHlBNCtJVXV0MmpHSUwvSlJhalFWa0Vob05qaGJFVXE1TGhUT3UvSkM2akk3Y1p1MzJPZDB4ZzQvRFRpcWVSNFBtZjVYa3JydWZpbDBQUFloajVyZnRQd2tLTCtRRHVNZVlneFpKSU1ndWM1VDhwUGVmWnlNZ01Ccnh6MkdydlJIZkFNYXR5VXhhQkFRQUdoamF6QlcxV2VEdkpESHBET0NGTzQ0QnpFSWZjSTBqZjRrZkx3VkhQcDJHK01RY3o5ZW1CNTV0ZHk1TWUvcHg1RngrNWUyNzVHUTBhV28xbXpEZWFVS1ZOQ25YTi81QTNqT1B1U1hUbXR1S0VwTDNReWlZd1Y2MDJWNHdjUGhTZ0krQm1QT2toTFRNWTlJWmd3NEdFaEE0REtaYkFXRDRHT2l2Y1RpNmU5UEJXdGdQYm5ldlg1bGpNd2lxakZRdk5lZGZ0bDFZb0k1c1c3c0FCOTFEQnZ5dXV5aTR3QVBDb3VSS3RpZWJRUXhPbGEwTno5WTZ5TXZFUURGNzhZOGw3M1g1c3lMNlBQaS9ZYXRSU1ZKYUJBWURIekpWb0tjUFFiTXB0dzBKakhpWnE0eU92WmJ1OUN4dHltK0JnOUt3QUxkdkFBQ04zbXBaRU0zZ1poU1p1MGw0R3Z4NStBV2ZsK2FoTEtZcVNIb2U1azI3UkN3M0JKbXlTMnpPWWdRY1Q5K09FZXdybjVjV295eW00c2c0TThKZjltNzByeWh0K0V6VUx6WG5JZVRiNnkveTlwdXdEQTR3Y0VYalE2VWF6cWJiWkJGRnpsejRER2d6MGxQSFl6YWdJREFBTXlpSHN5TzNCREswTzQvallxTXNCTURJb0NhQnNIaGNaWTVpdTFjS0VXYllEbnFNbU1NRElUcFlmTy90d1hsekFUSzBCQml0K2x5d0FTQ214Mjk2UHRabVhjY203ak5uNnpMSUtUWU5XaTBTWmhtWlVCZWFxTTk1WmZHenZnNVRBVkQ2bG9JT08xNUpTb3NmdHd4OHpiMkdidXdzT0hKendUaU1qczVpdE41WlZhT3JMOUU1VDF0M0srYWhBQ2crWmk3SEFtRnV3c1EzSGMzRFk3Y1dIOWs0YzlXNis5dVpCNDM1OHhXcFhtdmVWci9QaUFrNkpBUXg0NTNEZXU0Z2hPUXhYQ2hoTVI0cWxNSVZQUkpVMkdUVzhPdFEvQXlrbFBzaHR4d1o3VTJqWGpOcW9EOHkxdnFUTndoTGpQa3pWcG1BTXJ3ejA0ODE1TnM1NTUzSFE3Y1kyZXhjeXlONnhUYnU1REcxV09GdmNwcjBNRGpyZCtNRGVyalJHVXMwbVkxbGlDV2JyTTBNNzZhd3p1d1dkOXRheVdGcE5nYm1GOFJpREJlWThmRW1iaGJHOEVpWXpvVU9IRHUwdmowNE1FaEtlRkhBaDRFZ0hXZVJ3UXB6R1Byc0wzWjdhZ2pRTkhEK3IrQWRNMXNJNVZ2eWNld0gva1g0T0FzSlhldzZPVmVaeVBHZ3VRb0tyYlpaK00rOWxObU9UczYza04xS253TVJFaS9FQTFpVERQUlJxV0tUeHkrRm40Zm9NelZVL1RUMk5hbTF5NEhlc2p1eG1kTnFsdmFmYXFIenBqeHNOR242Y2VpTDB6Z2VURzFpa3o4Y09aMCtndjlsM09uc2g0R0tXUGlOUVBUUDE2ZEJDMk9JcVNoU1lHRmhsTHNOZFJtTkJybTN4Qk9acXM3SEhPUUFSSURSOTRqak9pQUhNMDc4VTZFNHpYYXVERWNKbWlsR2h3TVRBRTlaWFEzbFB1SlZLWG9HN3RKazQ0SFlGZWp3NzY1M0hhVEdBZTR3NWdUWlRMT1Z4R2dwTXhPN1Q1Mk5SUXUya1pqL0c4a28wOG5vY2NBLzY3Z2dBZ0hQeVFpaWhxZE9td1NyQjBGQmdJdmExeEdxTTE0b3pWV2VjTmhhTnZCNmZpa09CN2pSaGhhWmVxeTI1eHpNS1RJUTRPTlpZYlVXYmFRQ01oR2FXMW9oOXpxZUIzbW5PeVFzNEtVNWp2dEVVK1BGTWcxWXlIUUVVbUFqTjErZGdvVG12Nk44N2xsZWlTWnVOWGM3K1FMMW41K1ZGOUlzVFdHQTArUjdrWll5TjdDc25KZnJFaWRnUGJzYnFVTmpSNWdGRGZibUI3VGw0SS9NT3BBejJ3NnJXcCtEbkZUK0JqbUE3ekhTTFh2eDIrQTl3WmJDeG5uWnJHVllZUzhFUTcvbDBGSmdJVGVUcTg3WjYzWDU4NU96Qkh6SnZCdjcrOGRwWS9FdkZQME1MR0pvZXJ3L1BENzhFTCtEcDE2dVN5MEk3L2JwUTZKRXNRdTJKWmNydkw2OW4zc0ZGZVFsbnZMTzRLQzZoU1o4ZGFGekU1QWJtYTAzWTVYd1M2UEhzb3J5TTQrSVVGZ1I0cHdIQ081TzBVQ2d3RWRHaG96MnhUT25ITmVRTjQ0M2Noci8rNzlQZUFLNTRRL2lTUGl2UWp6VEZrN2hibTRWOWJsZWdMdWNMOGlKT2lUT1lINkQzREJnWjNJenIwZ0FLVEVRYWVDMFdKeFlvdGVsemoyT3YrK2wxLyt5a2R3WnBMeDE0RWRvWVhvbEczaENiY1pwNmJSbzhlT2dUeDMzWFVnajBEaE9SYXE2K3cvOVo3OEpOLy9sSDdoNjhsZTBJL0E3UllOVGl4OG52SUlGZ2UwSjNpY040TWYxYW9IbzQ0MmhMdEdLZUZxL05TeWd3RWZHenI4QjU3OWJiR0cxM2RvVVNtdWxHSFo1S1Bna0R3Y2FHdXNSaC9DNzlhcUI2ZEtiaFc4bkhVSWx3MXVXRWdRSVRFWXRaeW0yRzVPMlBvdGp1N01LZk0rK0djcWY1WHZKYmdhNEJBQWRGTjlhbVh3bFVUNUluOFV6RkR3TFhFaFlLVEVUOFBOMjc4czVic243azdzSHJJWXpUek5ZYk1SWmpBbDBEQUE2TEh2eG0rUDhDamROTTFpWmlpYjRvY0MxaG9NQkVKQ2R0NVRaR25sM1FIN3VmNEpYTVc4clh2eFpuSEt1dEZZR3VjVldQZHd6UEQ3OEVFU0EwWDA4OWdpVFU3OHBobzhCRTVJb2NWRzVUeWZKL2x0L3JIc0JMNlRjQzNXa2F0V0JISVY2cnh6dUd0ZW1YQXoyZWZkMWFIVm85ZmxGZ0luTFdVOSs4ZXhLZm9QVDVmZTVuZUMyelBzQ1BOTnhwS3QyaUZ5K2svK2k3bmdYbVhFeGc0MEt0U1JVRkppTDk0cFJ5bXlsOGtuS2JYZTQrdkpuWjRPdEhldG9iVUc1eko0ZkVrVUJkemkxbWM4Z1ZxYUhBUkNTTExHeFA3VDJtUnF2MjlWMDczTDE0Sy91ZTBvL1VreDQyNWdxellVV1hPSXhYZmI1ak5adjNvaEtwa0N2S0h3VW1RbG5rbEQ1ZndWT1lyZmxiKzcvZDJhMDBUbk5Tbk1GeFQvMHVtSzg5N3Fmb3lHNVdicWN4RFhmcGhkbi9JQjhVbUFoZDhZYVUyenhrTHZiOWZTT0RtM2UrMDF3V1YvQy82VmQ4ZjArK050bmJjZEk5bzl4dXNiR3dBTlhraHdJVG9YM09aOHB0Wm1qMXNKai9EVE8yTzd2eHUvU3J1Q3l1Zk9IZkNlbWh6ejJPL3h4K0hrTzQvU0JwR0FRRVhzaW9CN1BSYUloczlKOG1YMGJvdERlQVplWVNwZFdLR3ROUXhTWmpuOXZsKzN2UHlRdlk2dXpFTVhka1l1T1FONFRQM0VQNFEvb05mT2g4REJ1TzcydXJ5c0hHUkRZZU5WcVZVcnNUN2lrTXlITUZxdXJXaXJlWW5IeUJBeGNENGp4cWRMVWZ5OTNHVENTeUNlUVUzNEZ1MUMxNll6R0YvdlhzMjFoZ05FRmorUzlrYTlCcnNWOGNMR0JWTjBlUFpCSHJjajlYYnFNeERiK28vQWw0bWZ6bmMrRGlrdmZGUjhUYm1hWk5MVkExdDFjZWYrSWxiTFA5a1hMM01qQ3lPZC8zcmVBVEpPUGlyZXg3U3ArdjVsTUtWTW50VVdBaVpzUEJaKzVoWDIyYnpObDR4SHc0M0lJaWNrZ2NVZnFMSThrdFZDQlp3SXB1amdJVEErL25Qb1R3T2ZLOTNIb1E3V1pyeUJWRkl5MHpTcCtQNHF4U0Nrd01uSlhuc2RjKzRMdDltOVVhKzkxVzhwR1JpZ081Q3BOUncwS0JpWW1OOWxaZjd6Slh0VnZMU3Y1T2MwNXhRbXFDQlZ0SzdRY0ZKaVl1eXN0NEovdCtvR3UwV2ExWVpTNFBwNkFJRENzK2t2RUlOdjJqd01USVIrNGVETGpCQnVOV1dnL2gwUkx0Q0hDazJvQnBGTWYvVVdCaVJFTGlmOUsvRDN5ZGxrUXoxcGpoSHY5WERDbW0xdXVWVlh6bkNRTUZKbVlHTVl4ZkRUMGY2QnFjY1N4TjNJODFabHRJVlJYSFJNVUZjb05lNGVlNzNZZ0NFMFBIdlZONE9mMW00SDI5V3F4bXJEYkRXWmRmREdNVWp6bS9KTlZtQjRTQkFoTlRlOTFQc1NtM0xmRHVMeXVzcFdnM2w0VlVWV0VsRmJhZUdoUkRnZWZTK1VHQmliSDM3TTNZa3RzUk9EUnRWa3ZzeDJsU1NDb0Y1clIzdG9EVjNCb0ZKdWJldGpkaWF3aWhhYmZpZlpURTZzUUtwV1VPeDMzc2lSQUdDa3dKV0c5dkRPVk9Neks0R2IvSE13Nk9oY1pjcFRiOTRrU0Jxcms5Q2t5SmVOdmVpQTl5MndOZnA4MXFpVjFIUUMycmdjbnpIN1VYMGtPZkY4MnUvclRpc29RY0VYMWdjdVRRb1NCbTZQV3dwSW5ENG1oSWxmbkh3Zkh6eW1lVUZvOTFPWWV4eC9VLzl5NEl1c09VbUU1N0s5N0xxTysyY3FPbGljV3hHTnhjb0RmQjRJWlNtOTNPdmdKVmMyY1VtQklqSWJISjJlWnJpNkpyWFIzY2pISWF6U1EyQWQ5S1BxYlV4dlZFcEVlVTB5TlpDWktRT0NyNm9VbU82VnBkb0pPK3B1dDE0SklYL1Vkb3dzUlRxU2N4VGxNN0llRGQ3QWZvOFk0VnFLbzdvOENVc0I3UkJ3TUdHclRhZ0FleDFvTko0S2dvemcrUmcrTzcxamZRYUtpL2k3MlNlYk9vdTlyY2lBSlQ0bzZJWHBnd1VhOU5DM3g2c1NrTjlJaGprQWpXZlgwN0JneDgxL29HNXBycVIvRnR5bTVIbC9DM25Ec3NGSmd5MEMxNmtZQVorRTR6WGE5REZadUVIcmNQRHU1OGVKT3FpWHc4ZnB4OEFyT01HY3B0WGMvRi8yWmVob2hnU3YrMUtEQmxvbHYwaHZKNFZxVk54bjNHZlBTNUp6QW8xYmV5dlJrR2hybmFiUHhkNm51WW9La2ZWK0ZKRHk5bVhzV1pDRGJ1dXhFRENuai9KVVgzWlhNNUhyWWVDdVZhWjl5emVDNzlJb2FodGhMeUtnYUdLallaejFUOEFFbnUvL1N3ays1cFBKdityZS8yWWFMQWxLRTJzd1h0VmpoVFlEenB3ZlpzYkxRL3hEWm5Gd1R1Zk95ZXhTeTBHUzFZYkM1RVFtRUUvMmFHdkdIOCs5Q3prYXl1dkJrS1RCbmk0RmhoTE1XcVpManp4b1FVU01zTXNqS0h5OTRnaHVRUXNsNE9TWjdFZURZR0Zid0NTV1loeVN5bGlaUzM0a29YdnhwYWk5TXkvSU9kL0tMQWxDa0doamF6QlcxVzZlNGs4M0w2VGV4MVA0MjZqT3ZRU0grWmtwRG9zTGRnVXpiNElyUW9yTXQweEM0c0FBV203RzJ3TjJGTGJrZWc1YzdGdGk3VGdhM096cWpMdUNsNkpCc2xWcGhMMFpab2hhNHdLN2pZWE9uaXRjejZXTjVacnFMQWpDTHp0THZ4emVSalNQSGliK0o5SjBQZU1INDcvQkpPeGVnRi8yWW9NS05NSlNyd1RPb0htS3hQakxvVUFDUGQxcWZGQUg2VlhodWJydVBib2NDTVVzMzZJbndqOVVpa05iaWVpeGN6citHUU9CSnBIU29vTUtOWUVoYSticTNHQWxOdFBYMFkzczl1eHlaN2E2UXpqLzJnd0JCTVlPUFFZamFqMmJ4WGFhbXdLdGNUNk1odHhtNW5mMUZPYVM0RUNnejVxd3FrY0pmZWlBZU1oYjdXcXR5TWtCNE9PZDNZNWV4RGorZ3J1VHZLalNndzVLWXFVWUZHclI3MWVpMXF0YW1vNWxQeW1rQTVLSVp3Mmp1TDQrSWsrc1ZKOUlwKzVPRC8zSnU0b2NDUXZGVWdpWEY4TENwWUNnbVdBQU9ESndWeXNESG9EZU9TdkJMSjlxM0ZSSUVoUkFGTmpTRkVBUVdHRUFVVUdFSVVVR0FJVVVDQklVUUJCWVlRQlJRWVFoUlFZQWhSUUlFaFJBRUZoaEFGRkJoQ0ZGQmdDRkZBZ1NGRUFRV0dFQVVVR0VJVVVHQUlVVUNCSVVRQkJZWVFCUlFZUWhSUVlBaFJRSUVoUkFFRmhoQUZGQmhDRkZCZ0NGRkFnU0ZFQVFXR0VBVVVHRUlVL0Q5aHVTQTZDbFBaUWdBQUFBQkpSVTVFcmtKZ2dnPT1cIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMCwxKVwiXG4gICAgICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgICAgICAgICAgLyogc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBpbWFnZVJlbmRlcmluZzogXCJvcHRpbWl6ZVNwZWVkXCIsXG4gICAgICAgICAgICAgIH19ICovXG4gICAgICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPGcgaWQ9XCJnMTMyXCI+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEzOClcIiBpZD1cImcxMzRcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJwYXRoMTY4XCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZpbGw6IFwidXJsKCNsaW5lYXJHcmFkaWVudDE2NilcIixcbiAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkPVwibSA5MzUuMjYsNzExLjA3IGMgMzkuMTUsMC4zNiA3MS4wNywtMzEuNjcgNzEuMjksLTcxLjUyIDAuMiwtMzMuNDUgLTIyLjIxLC02Mi43MSAtNTQuMTMsLTcwLjcxIGwgLTAuODQsLTExLjcyIC0yMC43NiwxMy42NiAyMy4wMiwxNy45MiAtMC44NCwtMTEuNjkgYyAzMy41NCw5Ljg4IDUyLjk3LDQ1LjYgNDMuNCw3OS43OSAtNy43OCwyNy43OCAtMzIuNzYsNDYuODEgLTYxLjEsNDYuNTQgelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPGcgaWQ9XCJnMTcwXCI+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE3NilcIiBpZD1cImcxNzJcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJwYXRoMjA2XCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZpbGw6IFwidXJsKCNsaW5lYXJHcmFkaWVudDIwNClcIixcbiAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkPVwibSA0MzkuNDMsODIyLjggYyAtMzkuMTQsMC4zIC03MS4wNiwtMzEuNTYgLTcxLjI5LC03MS4xNiAtMC4xOSwtMzMuMjggMjIuMjcsLTYyLjM2IDU0LjIzLC03MC4yMyBsIDAuODQsLTExLjczIDIwLjY0LDEzLjcyIC0yMi44OSwxNy44NiAwLjgzLC0xMS43IGMgLTMzLjU1LDkuNzIgLTUzLjA0LDQ1LjE0IC00My41Miw3OS4xMSA3Ljc0LDI3LjY1IDMyLjc0LDQ2LjYzIDYxLjEyLDQ2LjQgelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPGcgaWQ9XCJnMjA4XCI+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDIxNClcIiBpZD1cImcyMTBcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJwYXRoMjQ0XCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZpbGw6IFwidXJsKCNsaW5lYXJHcmFkaWVudDI0MilcIixcbiAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkPVwibSA5MzYuNjQsOTMzLjc2IGMgMzkuMTQsMC4zNSA3MS4wNiwtMzEuNjcgNzEuMjksLTcxLjUyIDAuMTksLTMzLjQ1IC0yMi4yMSwtNjIuNzEgLTU0LjEzLC03MC43MSBsIC0wLjg0LC0xMS43MiAtMjAuNzcsMTMuNjUgMjMuMDIsMTcuOTMgLTAuODMsLTExLjY5IGMgMzMuNTQsOS44OCA1Mi45Nyw0NS42IDQzLjQsNzkuNzkgLTcuNzgsMjcuNzggLTMyLjc2LDQ2LjgxIC02MS4xLDQ2LjU0IHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuIiwgImltcG9ydCB7IEJ1dHRvbk9uZSwgQnV0dG9uT25lV2l0aFNjcm9sbCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IEg0LCBINSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyBIUFRpbWVsaW5lIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvSFAtdGltZWxpbmVcIjtcbmltcG9ydCB7ICBMb3JlbVNob3J0IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9yZW1pcHN1bVwiO1xuaW1wb3J0IFByZUN5c2UgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvcHJlY3lzZVwiO1xuaW1wb3J0IHsgU2VjdGlvbiwgU3ViZXNjdGlvbiB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3NlY3Rpb25zXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5pbXBvcnQgeyBIUGNvbmNsdXNpb24gfSBmcm9tIFwiLi9Db25jbGlzdWluXCI7XG5pbXBvcnQgeyBIUEZlZWRiYWNrIH0gZnJvbSBcIi4vRmVlZGJhY2tcIjsgICAgXG5pbXBvcnQgIHsgSFAzbmV3IH0gZnJvbSBcIi4vSFAgc3Zncy9ocDNcIjtcbmltcG9ydCB7V2hvbGVNZW5kZWxvd30gZnJvbSBcIi4vSFAgc3Zncy9tZW5kZWxvd3NcIjtcbmltcG9ydCB7IFN0YWtlaG9sZGVyTWFuYWdlbWVudCB9IGZyb20gXCIuL0hQIHN2Z3Mvc3Rha2Vob2xkZXItbWFuYWdlbWVudFwiO1xuaW1wb3J0IHsgU1dPVG9uZSB9IGZyb20gXCIuL0hQIHN2Z3Mvc3dvdHNcIjtcbmltcG9ydCB7IEhQVW5kZXJzdGFuZGluZyB9IGZyb20gXCIuL0hQIHN2Z3MvdW5kZXJzdGFuZGluZ1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gSFBJbnRlZ3JhdGVkKCl7XG4gICAgY29uc3QgeyBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpO1xuXG4gICAgcmV0dXJuKFxuICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIkludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VzXCIgaWQ9XCJJbnRlZ3JhdGVkIEh1bWFuIFByYWN0aWNlc1wiPlxuICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJGcmFtZXdvcmtcIiBpZD1cIkludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VzMVwiPlxuICAgICAgICAgICAgICAgIDxwPk91ciB0ZWFtIGhhcyBkZWZpbmVkIGEgZnJhbWV3b3JrIGZvciBtYW5hZ2luZyBpbnRlcmFjdGlvbnMgd2l0aCBzdGFrZWhvbGRlcnMgZHVyaW5nIGVhY2ggc3RlcCBvZiB0aGUgcHJvamVjdDpcbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPG9sPlxuICA8bGk+IDxiPlN0YWtlaG9sZGVyIE1hbmFnZW1lbnQgRnJhbWV3b3JrIDwvYj4tIFRvIGlkZW50aWZ5IHN0YWtlaG9sZGVycyBhbmQgZGVmaW5lIGhvdyBwb3RlbnRpYWwgc3Rha2Vob2xkZXJzIGZpdCBvdXIgcHJvamVjdC48L2xpPlxuICA8bGk+PGI+UG93ZXItSW50ZXJlc3QgTWF0cml4IDwvYj4tIEFjY29yZGluZyB0byBNZW5kZWxvdyB0byBpZGVudGlmeSBhbmQgZXZhbHVhdGUgdGhlIHByaW9yaXRpZXMgb2YgcG90ZW50aWFsIHN0YWtlaG9sZGVycy48L2xpPlxuICA8bGk+PGI+U1dPVCBhbmFseXNpczwvYj4gLSBBc3Nlc3NtZW50IG9mIHRoZSBzdHJlbmd0aHMsIHdlYWtuZXNzZXMsIG9wcG9ydHVuaXRpZXMgYW5kIHRocmVhdHMgb2YgdGhlIHZhcmlvdXMgZ3JvdXBzIHByZXZpb3VzbHkgaWRlbnRpZmllZCBhcyBwb3RlbnRpYWwgc3Rha2Vob2xkZXJzLjwvbGk+XG4gIDxsaT48Yj5BUkVBIEZyYW1ld29yazwvYj4gLSBUbyBzdHJ1Y3R1cmUgYW5kIG9wdGltaXplIHByb2plY3QtcmVsYXRlZCBkZWNpc2lvbnMuPC9saT5cbiAgPGxpPjxiPkZlZWRiYWNrLUN5Y2xlPC9iPiAtIFRvIHN0cnVjdHVyZSBpbnRlcmFjdGlvbnMgd2l0aCBzdGFrZWhvbGRlcnMgZm9yIGVmZmljaWVudCBhbmQgaW5mb3JtYXRpdmUgZGVzaWduIGFuZCBtYXhpbWl6YXRpb24gb2YgcG90ZW50aWFsLjwvbGk+XG4gIDxsaT48Yj5UaGlyZC1QYXJ0eSBGZWVkYmFjayBUZW1wbGF0ZXMgPC9iPi0gVG8gaW50cm9kdWNlIHRoZSBzdGFrZWhvbGRlcnMsIHN1bW1hcml6ZSB0aGUgaW50ZXJhY3Rpb25zIGFuZCBpbXBsZW1lbnQgdGhlIG91dHB1dCBpbiBvdXIgcHJvamVjdC48L2xpPlxuICA8bGk+PGI+Q3ljbGUgb2YgUmVmbGVjdGlvbjwvYj4gLSBBY2NvcmRpbmcgdG8gR2liYnMgZGVtb25zdHJhdGUgdGhlIHJlc3BvbnNlIGFuZCBpbXBsZW1lbnRhdGlvbiBhcyBhIHBhcnQgb2Ygb3VyIGZlZWRiYWNrIGN5Y2xlLjwvbGk+XG48L29sPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9e3ttYXJnaW5Ub3A6IFwiNXZoXCIsIG1hcmdpbkJvdHRvbTogXCI1dmhcIn19PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmVXaXRoU2Nyb2xsIHRleHQ9XCJTdGFrZWhvbGRlciBNYW5hZ2VtZW50XCIgc2Nyb2xsSWQ9XCJzdGFrZUhcIiBvcGVuPVwic3Rha2VtYW1hbmdlXCIgb3BlbmNsYXNzPVwiZnJhbWVjeWNsZXRhYlwiPjwvQnV0dG9uT25lV2l0aFNjcm9sbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCB0ZXh0PVwiTWVuZGVsb3cgQW5hbHlzaXNcIiBvcGVuPVwibWVuZGVsb3dcIiAgc2Nyb2xsSWQ9XCJtZW5kZWxvd0hcIiBvcGVuY2xhc3M9XCJmcmFtZWN5Y2xldGFiXCI+PC9CdXR0b25PbmVXaXRoU2Nyb2xsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmVXaXRoU2Nyb2xsIHRleHQ9XCJTV09UIGFuYWx5c2lzXCIgc2Nyb2xsSWQ9XCJzd290SFwiIG9wZW49XCJzd290XCIgb3BlbmNsYXNzPVwiZnJhbWVjeWNsZXRhYlwiPjwvQnV0dG9uT25lV2l0aFNjcm9sbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9e3ttYXJnaW5Cb3R0b206IFwiNXZoXCJ9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBzY3JvbGxJZD1cImFyZWFIXCIgdGV4dD1cIkZlZWRiYWNrIEN5Y2xlXCIgb3Blbj1cImFyZWFcIiBvcGVuY2xhc3M9XCJmcmFtZWN5Y2xldGFiXCI+PC9CdXR0b25PbmVXaXRoU2Nyb2xsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmVXaXRoU2Nyb2xsIHNjcm9sbElkPVwidGhpcmRIXCIgdGV4dD1cIlRoaXJkIFBhcnR5IEZlZWRiYWNrXCIgb3Blbj1cInRoaXJkcGFydHlcIiBvcGVuY2xhc3M9XCJmcmFtZWN5Y2xldGFiXCI+PC9CdXR0b25PbmVXaXRoU2Nyb2xsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmVXaXRoU2Nyb2xsIHNjcm9sbElkPVwiZmVlZEhcIiB0ZXh0PVwiQ3ljbGUgb2YgUmVmbGVjdGlvblwiIG9wZW49XCJmZWVkY3ljbGVcIiBvcGVuY2xhc3M9XCJmcmFtZWN5Y2xldGFiXCI+PC9CdXR0b25PbmVXaXRoU2Nyb2xsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmVXaXRoU2Nyb2xsIHNjcm9sbElkPVwiZ2lic29uSFwiIHRleHQ9XCJHaWJicycgQ3ljbGVcIiBvcGVuPVwiZ2lic29uXCIgb3BlbmNsYXNzPVwiZnJhbWVjeWNsZXRhYlwiPjwvQnV0dG9uT25lV2l0aFNjcm9sbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZnJhbWVjeWNsZXRhYlwiIGlkPVwic3Rha2VtYW1hbmdlXCIgc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT5cbiAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPFN0YWtlaG9sZGVyTWFuYWdlbWVudC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+ICBcbiAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlN0YWtlaG9sZGVyIE1hbmFnZW1lbnQgRnJhbWV3b3JrXCIgaWQ9XCJzdGFrZUhcIi8+XG4gICAgICAgICAgICAgICAgPHA+VG8gY2xlYXJseSBjb21tdW5pY2F0ZSB0byBvdXIgc3Rha2Vob2xkZXJzIGhvdyB0aGV5IGNhbiBzdXBwb3J0IHRoZSA8UHJlQ3lzZS8+IHByb2plY3QgYW5kIHRoZSBzcGVjaWZpYyBhcmVhcyByZXF1aXJpbmcgXG4gICAgICAgICAgICAgICAgICAgIHRoZWlyIGlucHV0LCB3ZSBkZXZlbG9wZWQgYSBzdGFrZWhvbGRlciBtYW5hZ2VtZW50IGZyYW1ld29yayBoaWdobGlnaHRpbmcgZm91ciBrZXkgYXJlYXMuIFN0YXJ0aW5nIGF0IHRoZSBib3R0b20gcmlnaHQgb2YgdGhlIFxuICAgICAgICAgICAgICAgICAgICBmaWd1cmUgYW5kIG1vdmluZyBjbG9ja3dpc2UsIHRoZSBmaXJzdCBhcmVhIG5lZWRpbmcgZmVlZGJhY2sgaXMgPGI+aW1wbGVtZW50YXRpb248L2I+LiBJdCBpcyBjcnVjaWFsIGZvciBvdXIgdGVhbSB0byBlbnN1cmUgdGhhdCB0aGUgcHJvamVjdCBcbiAgICAgICAgICAgICAgICAgICAgaGFzIGFsbCBuZWNlc3NhcnkgY29tcG9uZW50cyBmb3IgcmVhbGlzdGljIGFwcGxpY2F0aW9uIGluIGhlYWx0aGNhcmUgc2V0dGluZ3MsIGZvY3VzaW5nIG9uIHRoZSBnZW5lIHRoZXJhcHkgdHJlYXRtZW50IGZvciBjeXN0aWMgZmlicm9zaXMuXG4gICAgICAgICAgICAgICAgICAgICBUaGlzIGluY2x1ZGVzIGJvdGggdGhlIHRlY2huaWNhbCBkZXNpZ24gYW5kIHRoZSBhcHByb3ByaWF0ZSBidXNpbmVzcyBtb2RlbCB0byBlbnN1cmUgc3VjY2Vzc2Z1bCBpbXBsZW1lbnRhdGlvbi5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+VGhlIHNlY29uZCBrZXkgYXJlYSBpcyA8Yj5zdXN0YWluYWJpbGl0eSBhbmQgc29jaWFsIGltcGFjdC48L2I+IFdlIHNlZWsgdG8gdW5kZXJzdGFuZCBob3cgb3VyIHByb2plY3QgYWxpZ25zIHdpdGggY3VycmVudCBoZWFsdGhjYXJlIGluaXRpYXRpdmVzIGFuZCBmYWNpbGl0aWVzIGluIEdlcm1hbnkgYW5kIEV1cm9wZSwgYnV0IGFsc28gaW4gdGhlIGdsb2JhbGx5LCBhbmQgaG93IGl0IGludGVyYWN0cyB3aXRoIHNvY2lhbCBlZmZvcnRzIHJlbGF0ZWQgdG8gQ0YgYXdhcmVuZXNzIGFuZCBnZW5lIHRoZXJhcHkgc3RyYXRlZ2llcy5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+TmV4dCwgd2Ugd2FudCB0byBzaGFwZSB0aGUgPGI+cHVibGljIHBlcmNlcHRpb248L2I+IG9mIG91ciBwcm9qZWN0LCB3aGljaCBpcyBiYXNlZCBvbiBzeW50aGV0aWMgYmlvbG9neSB0byB0YWNrbGUgYSBtYWpvciBoZWFsdGhjYXJlIGNoYWxsZW5nZS4gV2UgYXNrIHN0YWtlaG9sZGVycyBhYm91dCB0aGVpciBrbm93bGVkZ2UgYW5kIG9waW5pb25zIG9uIG91ciBnZW5lIHRoZXJhcGV1dGljIGFwcHJvYWNoIGFuZCBpdHMgcG90ZW50aWFsIGFwcGxpY2F0aW9uIHRvIGltcHJvdmUgQ0YgdHJlYXRtZW50cy5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+VGhlIGZpbmFsIGFyZWEgaW52b2x2ZXMgPGI+cmVndWxhdG9yeSBhbmQgc2FmZXR5IGNvbnNpZGVyYXRpb25zPC9iPi4gR2l2ZW4gdGhlIHN0cmluZ2VudCByZWd1bGF0aW9ucyBnb3Zlcm5pbmcgaGVhbHRoY2FyZSBpbiBHZXJtYW55LCB3aGljaCB2YXJ5IGJ5IG11bmljaXBhbGl0eSwgaXQgaXMgZXNzZW50aWFsIHRvIGNvbnN1bHQgd2l0aCBzdGFrZWhvbGRlcnMgZmFtaWxpYXIgd2l0aCB0aGVzZSByZWd1bGF0aW9ucyB0byBlbnN1cmUgb3VyIHByb2plY3QgY29tcGxpZXMgd2l0aCBhbGwgbmVjZXNzYXJ5IHNhZmV0eSBzdGFuZGFyZHMuXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBmcmFtZWN5Y2xldGFiXCIgaWQ9XCJtZW5kZWxvd1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlBvd2VyLUludGVyZXN0IE1hdHJpeCBhY2NvcmRpbmcgdG8gTWVuZGVsb3dcIiBpZD1cIm1lbmRlbG93SFwiLz5cbiAgICAgICAgICAgICAgICA8cD5Vc2luZyB0aGUgTWVuZGVsb3cgUG93ZXItSW50ZXJlc3QgTWF0cml4LCB3ZSBjbGFzc2lmaWVkIHRoZSBwb3RlbnRpYWwgc3Rha2Vob2xkZXJzIGFzc29jaWF0ZWQgd2l0aCBvdXIgcHJvamVjdCBpbiB0ZXJtcyBvZiB0aGVpciBwb3dlciAodGhlIGFiaWxpdHkgdG8gcHJvdmlkZSBpbXBvcnRhbnQgZmVlZGJhY2sgb24gb3VyIHByb2plY3QgZGVzaWduIGFuZCBpbmZsdWVuY2Ugb3VyIHByb2plY3QgZGV2ZWxvcG1lbnQpIGFuZCBpbnRlcmVzdCBpbiBvdXIgcHJvamVjdC4gVGhlIG1hdHJpeCBjb25zaXN0cyBvZiBmb3VyIHF1YWRyYW50cyBhcnJhbmdlZCBpbiBkZXNjZW5kaW5nIG9yZGVyIGFjY29yZGluZyB0byB0aGVpciBwcmlvcml0eSBsZXZlbCBpbiB0aGUgcHJvamVjdDpcbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgIDxsaT5IaWdoIFBvd2VyLCBIaWdoIEludGVyZXN0IChLZXkgUGxheWVycyk8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5IaWdoIFBvd2VyLCBMb3cgSW50ZXJlc3QgKEtlZXAgU2F0aXNmaWVkKTwvbGk+XG4gICAgICAgICAgICAgICAgPGxpPkxvdyBQb3dlciwgSGlnaCBJbnRlcmVzdCAoS2VlcCBJbmZvcm1lZCk8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Mb3cgUG93ZXIsIExvdyBJbnRlcmVzdCAoTWluaW1hbCBFZmZvcnQpPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDxwPlRoaXMgY2F0ZWdvcml6YXRpb24gaGVscHMgdG8gZGV2ZWxvcCBhcHByb3ByaWF0ZSBjb21tdW5pY2F0aW9uIGFuZCBtYW5hZ2VtZW50IHN0cmF0ZWdpZXMgZm9yIHRoZSBkaWZmZXJlbnQgc3Rha2Vob2xkZXIgZ3JvdXBzIGFuZCB0byBlbnN1cmUgdGhhdCB0aGVpciBuZWVkcyBhbmQgaW5mbHVlbmNlcyBhcmUgY29uc2lkZXJlZCBkdXJpbmcgdGhlIHByb2plY3QuXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxXaG9sZU1lbmRlbG93Lz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJtZW5kZWxvdy1vbmVcIiwgc2Nyb2xsVG9JZDogXCJrZXlwbGF5ZXJzSFwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3NjaWVudGlmaWMtZmlndXJlcy9tZW5kZWxvdy0xLWFrdHVlbGwuc3ZnXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwibWVuZGVsb3ctdHdvXCIsIHNjcm9sbFRvSWQ6IFwia2VlcEhcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvbWVuZGVsb3ctMi5zdmdcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcIm1lbmRlbG93LXRocmVlXCIsIHNjcm9sbFRvSWQ6IFwiaW5mb3JtZWRIXCIgfSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc2NpZW50aWZpYy1maWd1cmVzL21lbmRlbG93LTMtMS5zdmdcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcIm1lbmRlbG93LWZvdXJcIiwgc2Nyb2xsVG9JZDogXCJtaW5pbWFsSFwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3NjaWVudGlmaWMtZmlndXJlcy9tZW5kZWxvdy00LnN2Z1wiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgey8qIFRBQlMgKi99XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtZW5kZWxvd3RhYlwiIGlkPVwibWVuZGVsb3ctb25lXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIktleSBQbGF5ZXJzXCIgaWQ9XCJrZXlwbGF5ZXJzSFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJIaWdoIFBvd2VyLCBIaWdoIEludGVyZXN0IC0gUHJpb3JpdHkgTGV2ZWwgNFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2Ugc3VwcG9ydCBhbmQgZXh0ZW5zaXZlIGZlZWRiYWNrIGFyZSBuZWNlc3NhcnkgdG8gc3VjY2Vzc2Z1bGx5IGltcGxlbWVudCBQcmVDeXNlLiBcbiAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCBncm91cHMgaW5jbHVkZSBleHBlcnRzIGFuZCBwaHlzaWNpYW5zIHdpdGggZXhwZXJ0aXNlIGluIGdlbmUgdGhlcmFweSBhbmQgdHJlYXRtZW50IFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RyYXRlZ2llcyBmb3IgY3lzdGljIGZpYnJvc2lzLiBUaGUgcHJvamVjdCBoYXMgYSByZWFzb25hYmxlLCByZXNwb25zaWJsZSwgYW5kIGZ1dHVyZS1vcmllbnRlZCBcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25pZmljYW5jZSBmb3IgdGhlIHdvcmxkLiBGdXJ0aGVybW9yZSwgc2NpZW50aWZpYy10ZWNobm9sb2dpY2FsIGtub3dsZWRnZSBhbmQgYmlvc2FmZXR5IGFyZSBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNydWNpYWwuIENvbGxhYm9yYXRpb24gd2l0aCBzcGVjaWFsaXN0cyBpbiB0aGUgZmllbGQgb2YgZ2VuZSB0aGVyYXB5LCBjeXN0aWMgZmlicm9zaXMsIGFuZCBkaWZmZXJlbnQgXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmVhdG1lbnQgc3RyYXRlZ2llcyBlbnN1cmVzIHRoZSBxdWFsaXR5IGFuZCBlZmZlY3RpdmVuZXNzIG9mIHRoZSBzb2x1dGlvbnMgZGV2ZWxvcGVkLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj5TY2llbnRpZmljIGNvbW11bml0eSBhbmQgcmVzZWFyY2ggaW5zdGl0dXRpb25zPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBncm91cCBpbmNsdWRlcyByZXNlYXJjaGVycywgc2NpZW50aXN0cywgYW5kIHJlc2VhcmNoIGluc3RpdHV0aW9ucyBzcGVjaWFsaXppbmcgaW4gZ2VuZSBlZGl0aW5nIFxuICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGdlbmUgdGhlcmFweS4gVGhleSBoYXZlIGEgaGlnaCBpbnRlcmVzdCBpbiB0aGUgc3VjY2VzcyBvZiBwcmltZSBlZGl0aW5nIHRlY2hub2xvZ3kgYW5kIGhhdmUgXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGUgcG93ZXIgdG8gc2lnbmlmaWNhbnRseSBpbmZsdWVuY2UgdGhlIHByb2plY3QsIGJlIGl0IHRocm91Z2ggY29sbGFib3JhdGlvbnMsIHNjaWVudGlmaWMgc3VwcG9ydCwgXG4gICAgICAgICAgICAgICAgICAgICAgICBvciBjcml0aWNhbCByZXZpZXdzIG9mIHRoZSByZXNlYXJjaCByZXN1bHRzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj5SZWd1bGF0b3J5IGF1dGhvcml0aWVzIChlLmcuIEZEQSwgRU1BKTwvYj48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFJlZ3VsYXRvcnkgYWdlbmNpZXMgaGF2ZSBib3RoIHRoZSBwb3dlciBhbmQgdGhlIGludGVyZXN0IHRvIGVuc3VyZSB0aGF0IGdlbmUgdGhlcmFweSBpcyBzYWZlIGFuZCBcbiAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdGl2ZS4gVGhleSBhcmUgY3J1Y2lhbCBmb3IgdGhlIGFwcHJvdmFsIGFuZCBhdXRob3JpemF0aW9uIG9mIHRoZSB0aGVyYXB5IGZvciBjbGluaWNhbCB1c2UuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWVuZGVsb3d0YWJcIiBpZD1cIm1lbmRlbG93LXR3b1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCIgS2VlcCBTYXRpc2ZpZWRcIiBpZD1cImtlZXBIXCIvPlxuICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkhpZ2ggUG93ZXIsIExvdyBJbnRlcmVzdCAtIFByaW9yaXR5IExldmVsIDNcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICBJbiBvcmRlciB0byBzdWNjZXNzZnVsbHkgaW1wbGVtZW50IFByZUN5c2UsIGFsbCBjb25jZXJucyBtdXN0IGJlIGZ1bGx5IGNvbnNpZGVyZWQsIGV2ZW4gaWYgdGhleSBcbiAgICAgICAgICAgICAgICAgICAgbWF5IGRpZmZlciBmcm9tIHRoZSBwcm9qZWN0IGludGVyZXN0cy4gQ0Ygc3BlY2lhbGlzdHMsIGJpb2V0aGljcyBzcGVjaWFsaXN0cywgYW5kIHJlZ3VsYXRvcnkgZXhwZXJ0cyBcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZSBpbXBvcnRhbnQgaW5mb3JtYXRpb24uIFRoZWlyIGlucHV0IGlzIGJlbmVmaWNpYWwgdG8gdGhlIGltcGxlbWVudGF0aW9uIG9mIG91ciBwcm9qZWN0LiBcbiAgICAgICAgICAgICAgICAgICAgVGhlc2UgY2F0ZWdvcmllcyBvZiBleHBlcnRzIGhlbHAgdG8gZW5zdXJlIHRoYXQgdGhlIHByb2plY3QgaXMgZXRoaWNhbCBhbmQgY29tcGxpYW50IHdpdGggdGhlIGxhdy4gXG4gICAgICAgICAgICAgICAgICAgIFRoZWlyIGV4cGVydGlzZSBlbnN1cmVzIHRoYXQgYWxsIHJlbGV2YW50IGFzcGVjdHMgYXJlIGNvdmVyZWQuXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgICAgICA8cD48Yj5Hb3Zlcm5tZW50IGFuZCBwdWJsaWMgaGVhbHRoIGF1dGhvcml0aWVzPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIEFsdGhvdWdoIHRoZXNlIHN0YWtlaG9sZGVycyBoYXZlIHNvbWUgaW50ZXJlc3QgaW4gbmV3IHRoZXJhcGllcyB0aGF0IGltcHJvdmUgcG9wdWxhdGlvbiBoZWFsdGgsIFxuICAgICAgICAgICAgICAgICAgICB0aGVpciBkYXktdG8tZGF5IGludGVyZXN0IG1heSBub3QgYmUgc3BlY2lmaWNhbGx5IGZvY3VzZWQgb24gdGhlIGlHRU0gcHJvamVjdC4gSG93ZXZlciwgdGhleSBoYXZlIFxuICAgICAgICAgICAgICAgICAgICB0aGUgcG93ZXIgdG8gaW5mbHVlbmNlIHRoZSBwcm9qZWN0IHRocm91Z2ggZnVuZGluZywgcG9saXRpY2FsIHN1cHBvcnQsIG9yIHJlZ3VsYXRvcnkgYWN0aW9uLlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICAgICAgICAgICAgPHA+PGI+UGhhcm1hY2V1dGljYWwgY29tcGFuaWVzIGFuZCBpbmR1c3RyaWVzPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIExhcmdlIHBoYXJtYWNldXRpY2FsIGNvbXBhbmllcyBoYXZlIHRoZSBwb3dlciB0byBzaWduaWZpY2FudGx5IHN1cHBvcnQgdGhlIHByb2plY3QgdGhyb3VnaCBcbiAgICAgICAgICAgICAgICAgICAgaW52ZXN0bWVudCBvciBzdHJhdGVnaWMgcGFydG5lcnNoaXBzLiBIb3dldmVyLCB0aGVpciBpbnRlcmVzdCBtYXkgYmUgbG93IGZvciB0aGUgdGltZSBiZWluZyB1bnRpbCBcbiAgICAgICAgICAgICAgICAgICAgdGhlIHByb2plY3QgaGFzIHByb3ZlbiB0aGF0IGl0IGlzIGNvbW1lcmNpYWxseSBwcm9taXNpbmcuXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWVuZGVsb3d0YWJcIiBpZD1cIm1lbmRlbG93LXRocmVlXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIktlZXAgSW5mb3JtZWRcIiBpZD1cImluZm9ybWVkSFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJLRUVQIElORk9STUVEIC0gTG93IFBvd2VyLCBIaWdoIEludGVyZXN0IC0gUHJpb3JpdHkgTGV2ZWwgMlwiLz5cbiAgICAgICAgICAgICAgICAgICAgPHA+IDxiPlBvdGVudGlhbCB1c2VycyBvZiBQcmVDeXNlPC9iPiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICBhcmUgaW1wb3J0YW50IGZvciB1bmRlcnN0YW5kaW5nIHRoZSBuZWVkcywgZXZlbiBpZiB0aGVpciBleHBlcnRpc2UgXG4gICAgICAgICAgICAgICAgICAgIG1heSBub3QgYmUgc3VmZmljaWVudCB0byBzb2x2ZSBhbGwgdGhlIHByb2JsZW1zIHRoYXQgYXJpc2UgaW4gdGhlIHByb2plY3QuIEl0IGlzIHRoZXJlZm9yZSBpbXBvcnRhbnQgdG8gXG4gICAgICAgICAgICAgICAgICAgIGtlZXAgdGhlbSBpbmZvcm1lZC4gVGhlc2UgdXNlcnMgaW5jbHVkZSBzdGFrZWhvbGRlcnMgYXMgdGhlaXIgbmVlZHMgY29pbmNpZGUgd2l0aCB0aGUgcHJvamVjdC4gXG4gICAgICAgICAgICAgICAgICAgIFRoZWlyIGZlZWRiYWNrIGNhbiBwcm92aWRlIHZhbHVhYmxlIGluc2lnaHRzLiBUaGlzIGNvbGxhYm9yYXRpb24gaGVscHMgdG8gYmV0dGVyIHRhaWxvciB0aGUgcHJvamVjdCBcbiAgICAgICAgICAgICAgICAgICAgdG8gdXNlciBuZWVkcy5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD48Yj5QYXRpZW50cyBhbmQgcGF0aWVudCBvcmdhbml6YXRpb25zPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBQYXRpZW50cyBzdWZmZXJpbmcgZnJvbSBjeXN0aWMgZmlicm9zaXMgYW5kIHRoZSBvcmdhbml6YXRpb25zIHRoYXQgc3VwcG9ydCB0aGVtIGhhdmUgYSBoaWdoIGludGVyZXN0IGluIFxuICAgICAgICAgICAgICAgICAgICBuZXcgdGhlcmFwaWVzIHRoYXQgY291bGQgaW1wcm92ZSB0aGVpciBxdWFsaXR5IG9mIGxpZmUuIEhvd2V2ZXIsIHRoZWlyIHBvd2VyIHRvIGluZmx1ZW5jZSB0aGUgcHJvamVjdCBcbiAgICAgICAgICAgICAgICAgICAgaXMgbGltaXRlZC5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD4gPGI+QWNhZGVtaWMgY29tbXVuaXR5IGFuZCBzdHVkZW50czwvYj48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgVGhpcyBncm91cCBpbmNsdWRlcyB1bml2ZXJzaXRpZXMsIHByb2Zlc3NvcnMsIGFuZCBzdHVkZW50cyB3aG8gYXJlIGludGVyZXN0ZWQgaW4gdGhlIGxhdGVzdCByZXNlYXJjaCBcbiAgICAgICAgICAgICAgICAgICAgaW4gZ2VuZSB0aGVyYXB5LiBBbHRob3VnaCB0aGV5IGRvIG5vdCBoYXZlIHRoZSBkaXJlY3QgcG93ZXIgdG8gaW5mbHVlbmNlIHRoZSBwcm9qZWN0LCB0aGV5IGNhbiBcbiAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBhbmQgcHJvbW90ZSB0aGUgcHJvamVjdCB0aHJvdWdoIHJlc2VhcmNoIGFuZCBhY2FkZW1pYyBwdWJsaWNhdGlvbnMuXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWVuZGVsb3d0YWJcIiBpZD1cIm1lbmRlbG93LWZvdXJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTWluaW1hbCBFZmZvcnRcIiBpZD1cIm1pbmltYWxIXCIvPlxuICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkxvdyBQb3dlciwgTG93IEludGVyZXN0IC0gUHJpb3JpdHkgTGV2ZWwgMVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj5TdGFrZWhvbGRlcnMgd2hvIGFyZSByZWd1bGFybHkgbW9uaXRvcmVkPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF5IG5vdCBiZSBpbnRlcmVzdGVkIGluIHRoZSBwcm9qZWN0IGFuZCBkbyBub3QgcHJvdmlkZSBmZWVkYmFjay4gSG93ZXZlciwgdGhpcyBjYW4gY2hhbmdlIG92ZXIgdGltZS4gXG4gICAgICAgICAgICAgICAgICAgICAgICBTdGFrZWhvbGRlcnMgaW4gdGhpcyBjYXRlZ29yeSBhcmUgaW52b2x2ZWQgaW4gdGhlIHJpZ2h0IHNpdHVhdGlvbi4gRm9yIGV4YW1wbGUsIHRoZSBwdWJsaWMgb2YgQmllbGVmZWxkIGlzIFxuICAgICAgICAgICAgICAgICAgICAgICAgZXNzZW50aWFsIGZvciB1bmRlcnN0YW5kaW5nIHRoZSBiYWNrZ3JvdW5kIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhd2FyZW5lc3Mgb2YgZ2VuZSB0aGVyYXB5IG9yIEN5c3RpYyBGaWJyb3Npcy4gXG4gICAgICAgICAgICAgICAgICAgICAgICBUaGVpciBpbnZvbHZlbWVudCBvY2N1cnMgd2hlbiBpdCBpcyByZWxldmFudCBhbmQgb3RoZXIgZ3JvdXBzIG9mIHBlb3BsZSBjYW5ub3QgbWVldCB0aGVpciBuZWVkcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGI+R2VuZXJhbCBwdWJsaWMgb2YgQmllbGVmZWxkPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHB1YmxpYyBtYXkgaGF2ZSBsaXR0bGUgaW50ZXJlc3QgYW5kIHBvd2VyIGluIHJlbGF0aW9uIHRvIHRoZSBzcGVjaWZpYyBpR0VNIHByb2plY3QuIFdoaWxlIGEgY2VydGFpbiBsZXZlbCBcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mIGVkdWNhdGlvbiBhbmQgYXdhcmVuZXNzIG9mIHRoZSB0b3BpYyBpcyBpbXBvcnRhbnQsIGludGVuc2l2ZSBpbnZvbHZlbWVudCBvZiB0aGlzIGdyb3VwIGlzIGdlbmVyYWxseSBub3QgbmVjZXNzYXJ5LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj5NZWRpYTwvYj48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBtZWRpYSBtYXkgaGF2ZSBhbiBpbnRlcmVzdCBpbiBzY2llbnRpZmljIGJyZWFrdGhyb3VnaHMgYW5kIG5ldyB0ZWNobm9sb2dpZXMsIGJ1dCB0aGV5IHRlbmQgdG8gaGF2ZSBsaXR0bGUgXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3dlciBpbiB0ZXJtcyBvZiBkaXJlY3RseSBpbmZsdWVuY2luZyB0aGUgcHJvamVjdC4gTmV2ZXJ0aGVsZXNzLCBzdHJhdGVnaWMgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBtZWRpYSBjYW4gXG4gICAgICAgICAgICAgICAgICAgICAgICBiZSBpbXBvcnRhbnQgdG8gbWFuYWdlIHB1YmxpYyBwZXJjZXB0aW9uLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBmcmFtZWN5Y2xldGFiXCIgaWQ9XCJzd290XCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiU1dPVCBBbmFseXNlc1wiIGlkPVwic3dvdEhcIi8+XG4gICAgICAgICAgICAgICAgPHA+QSA8Yj5TV09UPC9iPiBhbmFseXNpcyBpcyBhIHN0cmF0ZWdpYyB0b29sIHVzZWQgdG8gZXZhbHVhdGUgdGhlIDxiPlM8L2I+dHJlbmd0aHMsIDxiPlc8L2I+ZWFrbmVzc2VzLCA8Yj5PPC9iPnBwb3J0dW5pdGllcywgYW5kIDxiPlQ8L2I+aHJlYXRzIG9mIGFuIFxuICAgICAgICAgICAgICAgIG9yZ2FuaXphdGlvbi4gSW4gdGhlIGNvbnRleHQgb2Ygb3VyIEh1bWFuIFByYWN0aWNlIGFwcHJvYWNoLCB0aGlzIGFuYWx5c2lzIGhlbHBzIHVzIGlkZW50aWZ5IGludGVybmFsIHN0cmVuZ3RocyBhbmQgd2Vha25lc3NlcyBvZiBvdXIgcHJvamVjdCwgc3VjaCBhcyBcbiAgICAgICAgICAgICAgICB0ZWNobmljYWwgY2FwYWJpbGl0aWVzIGFuZCByZXNvdXJjZSBsaW1pdGF0aW9ucywgd2hpbGUgYWxzbyBleGFtaW5pbmcgZXh0ZXJuYWwgb3Bwb3J0dW5pdGllcywgbGlrZSBwb3RlbnRpYWwgY29sbGFib3JhdGlvbnMsIGFuZCB0aHJlYXRzLCBzdWNoIGFzIHJlZ3VsYXRvcnkgXG4gICAgICAgICAgICAgICAgY2hhbGxlbmdlcyBvciBwdWJsaWMgcGVyY2VwdGlvbi4gXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxTV09Ub25lLz5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9e3ttYXJnaW5Ub3A6IFwiNXZoXCIsIG1hcmdpbkJvdHRvbTogXCIxdmhcIn19PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIlBhdGllbnRzXCIgb3Blbj1cInBhdHNcIiBvcGVuY2xhc3M9XCJzdWJjeWNsZXRhYlwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIkluZHVzdHJ5XCIgb3Blbj1cImluZHNcIiBvcGVuY2xhc3M9XCJzdWJjeWNsZXRhYlwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIkFjYWRlbWlhXCIgb3Blbj1cImFjc1wiIG9wZW5jbGFzcz1cInN1YmN5Y2xldGFiXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiSGVhbHRoY2FyZVwiIG9wZW49XCJoZWFsdGhzXCIgb3BlbmNsYXNzPVwic3ViY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT17eyBtYXJnaW5Cb3R0b206IFwiNXZoXCJ9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJHb3Zlcm5tZW50XCIgb3Blbj1cImdvdnNcIiBvcGVuY2xhc3M9XCJzdWJjeWNsZXRhYlwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiQ29tbXVuaXR5XCIgb3Blbj1cImNvbW1zXCIgb3BlbmNsYXNzPVwic3ViY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIlRoZSBQdWJsaWNcIiBvcGVuPVwicHVic1wiIG9wZW5jbGFzcz1cInN1YmN5Y2xldGFiXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJCdXNpbmVzc1wiIG9wZW49XCJidXNpXCIgb3BlbmNsYXNzPVwic3ViY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBzdWJjeWNsZXRhYlwiIGlkPVwicGF0c1wiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+IFxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUGF0aWVudCBBZHZvY2FjeSBhbmQgU3VwcG9ydCBHcm91cHNcIi8+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGNlbGxQYWRkaW5nPXsxMH0gY2VsbFNwYWNpbmc9ezB9ID5cbiAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdHJlbmd0aHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5XZWFrbmVzc2VzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+T3Bwb3J0dW5pdGllczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlRocmVhdHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5TdHJvbmcgc3VwcG9ydCBuZXR3b3JrIGZvciBwYXRpZW50cyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5JbmZsdWVudGlhbCBpbiBwb2xpY3kgYWR2b2NhY3kgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UGVyc29uYWwgY29ubmVjdGlvbiB0byBwYXRpZW50IGNvbW11bml0aWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5MaW1pdGVkIGZ1bmRpbmcgYW5kIHJlc291cmNlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgcmVzaXN0YW5jZSB0byBuZXcgdGVjaG5vbG9naWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkRlcGVuZGVuY2Ugb24gZG9uYXRpb25zIGFuZCBncmFudHMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5JbmNyZWFzZWQgcGF0aWVudCBlbmdhZ2VtZW50IGFuZCBzdXBwb3J0IGZvciBuZXcgdGhlcmFwaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkFkdm9jYWN5IGNhbiBkcml2ZSBwb2xpY3kgY2hhbmdlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5FbmhhbmNpbmcgYXdhcmVuZXNzIGFuZCBlZHVjYXRpb24gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgb3Bwb3NpdGlvbiBmcm9tIGdyb3VwcyBza2VwdGljYWwgb2YgbmV3IHRyZWF0bWVudHMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+TWlzaW5mb3JtYXRpb24gb3IgbWlzY29tbXVuaWNhdGlvbiBhYm91dCBuZXcgdGhlcmFwaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkNvbXBldGluZyBwcmlvcml0aWVzIGFtb25nIGFkdm9jYWN5IGdyb3VwcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cImluZHNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJQaGFybWFjZXV0aWNhbCBDb21wYW5pZXNcIiAvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmVzb3VyY2VzIGZvciBsYXJnZS1zY2FsZSBwcm9kdWN0aW9uIGFuZCBkaXN0cmlidXRpb24gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+RXhwZXJpZW5jZSB3aXRoIHJlZ3VsYXRvcnkgcHJvY2Vzc2VzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlN0cm9uZyByZXNlYXJjaCBhbmQgZGV2ZWxvcG1lbnQgY2FwYWJpbGl0aWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Gb2N1cyBvbiBwcm9maXRhYmlsaXR5IG1heSBjb25mbGljdCB3aXRoIHBhdGllbnQgYWZmb3JkYWJpbGl0eSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Mb25nIGRldmVsb3BtZW50IHRpbWVsaW5lcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgZm9yIGhpZ2ggcHJpY2luZyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBmb3IgZGV2ZWxvcGluZyBuZXcgdHJlYXRtZW50IG1vZGFsaXRpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+TWFya2V0IGV4cGFuc2lvbiBhbmQgY29tcGV0aXRpdmUgYWR2YW50YWdlIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBhcnRuZXJzaGlwcyB3aXRoIHJlc2VhcmNoIGluc3RpdHV0aW9ucyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkhpZ2ggY29zdCBhbmQgcmlzayBhc3NvY2lhdGVkIHdpdGggbmV3IHRoZXJhcHkgZGV2ZWxvcG1lbnQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+U3RyaW5nZW50IHJlZ3VsYXRvcnkgYW5kIGNvbXBsaWFuY2UgcmVxdWlyZW1lbnRzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBwdWJsaWMgYmFja2xhc2ggb3ZlciBoaWdoIHRyZWF0bWVudCBjb3N0cyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiQmlvZW5naW5lZXJpbmcgYW5kIEJpb3RlY2hub2xvZ3kgRGVwYXJ0bWVudHMgXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+QWdpbGUgYW5kIGlubm92YXRpdmUsIGNhbiBxdWlja2x5IGFkYXB0IHRvIG5ldyB0ZWNobm9sb2dpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Rm9jdXNlZCBvbiBuaWNoZSBtYXJrZXRzIGFuZCBjdXR0aW5nLWVkZ2Ugc29sdXRpb25zIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlN0cm9uZyBlbnRyZXByZW5ldXJpYWwgc3Bpcml0IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk9wcG9ydHVuaXR5IGZvciByYXBpZCBncm93dGggYW5kIHBhcnRuZXJzaGlwIHdpdGggbGFyZ2VyIGZpcm1zIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCB0byBkaXNydXB0IGV4aXN0aW5nIG1hcmtldHMgd2l0aCBpbm5vdmF0aXZlIHNvbHV0aW9ucyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5PcHBvcnR1bml0aWVzIGZvciBjb2xsYWJvcmF0aW9uIGFuZCBhY3F1aXNpdGlvbiA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkhpZ2ggcmlzayBvZiBmYWlsdXJlIGFuZCBtYXJrZXQgdm9sYXRpbGl0eSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5JbnRlbnNlIGNvbXBldGl0aW9uIGFuZCBmYXN0LXBhY2VkIGluZHVzdHJ5IGNoYW5nZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmVndWxhdG9yeSBhbmQgbWFya2V0IGVudHJ5IGJhcnJpZXJzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cImFjc1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkdlbmV0aWMgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFwiLz5cbiAgICAgICAgICAgICAgICA8dGFibGUgY2VsbFBhZGRpbmc9ezEwfSBjZWxsU3BhY2luZz17MH0gPlxuICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlN0cmVuZ3RoczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPldlYWtuZXNzZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5PcHBvcnR1bml0aWVzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+VGhyZWF0czwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkV4cGVydGlzZSBpbiBnZW5ldGljIGRpc29yZGVycyBhbmQgYWR2YW5jZWQgcmVzZWFyY2ggY2FwYWJpbGl0aWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkFjY2VzcyB0byBzdGF0ZS1vZi10aGUtYXJ0IHJlc2VhcmNoIGZhY2lsaXRpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+U3Ryb25nIHRyYWNrIHJlY29yZCBvZiBpbm5vdmF0aW9uIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5NYXkgaGF2ZSBsaW1pdGVkIHByYWN0aWNhbCBleHBlcmllbmNlIHdpdGggdGhlcmFweSBkZWxpdmVyeSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgZGlzY29ubmVjdCBiZXR3ZWVuIHJlc2VhcmNoIGFuZCBjbGluaWNhbCBhcHBsaWNhdGlvbiA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5IaWdoIG9wZXJhdGlvbmFsIGNvc3RzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Q29sbGFib3JhdGlvbiBjYW4gbGVhZCB0byBicmVha3Rocm91Z2hzIGluIGdlbmUgZWRpdGluZyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgZm9yIGdyb3VuZGJyZWFraW5nIHJlc2VhcmNoIGFuZCBuZXcgZGlzY292ZXJpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Q29sbGFib3JhdGl2ZSByZXNlYXJjaCBvcHBvcnR1bml0aWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+SGlnaCBjb21wZXRpdGlvbiBmb3IgZnVuZGluZyBhbmQgcmVzZWFyY2ggZ3JhbnRzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlJhcGlkIHRlY2hub2xvZ2ljYWwgY2hhbmdlcyByZXF1aXJpbmcgY29uc3RhbnQgYWRhcHRhdGlvbiA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5FdGhpY2FsIGFuZCByZWd1bGF0b3J5IGNoYWxsZW5nZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlVuaXZlcnNpdGllcyBhbmQgQWNhZGVtaWMgUmVzZWFyY2hlcnMgXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+U3Ryb25nIHJlc2VhcmNoIGZvdW5kYXRpb24gYW5kIGlubm92YXRpb24gY2FwYWJpbGl0aWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkFjY2VzcyB0byBhIGRpdmVyc2UgcG9vbCBvZiBhY2FkZW1pYyB0YWxlbnQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+RXN0YWJsaXNoZWQgcmVzZWFyY2ggaW5mcmFzdHJ1Y3R1cmUgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk1heSBoYXZlIGxpbWl0ZWQgcmVzb3VyY2VzIGZvciBjb21tZXJjaWFsaXphdGlvbiA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5MaW1pdGVkIGluZHVzdHJ5IGNvbm5lY3Rpb25zIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkhpZ2ggY29tcGV0aXRpb24gZm9yIGFjYWRlbWljIGdyYW50cyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBmb3IgZ3JvdW5kYnJlYWtpbmcgcmVzZWFyY2ggYW5kIG5ldyBkaXNjb3ZlcmllcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Db2xsYWJvcmF0aW9uIHdpdGggaW5kdXN0cnkgZm9yIGFwcGxpZWQgcmVzZWFyY2ggPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+T3Bwb3J0dW5pdGllcyBmb3IgaW50ZXJkaXNjaXBsaW5hcnkgcmVzZWFyY2ggPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5GdW5kaW5nIGxpbWl0YXRpb25zIGFuZCBidXJlYXVjcmF0aWMgY2hhbGxlbmdlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5JbnRlbGxlY3R1YWwgcHJvcGVydHkgYW5kIHRlY2hub2xvZ3kgdHJhbnNmZXIgaXNzdWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkJhbGFuY2luZyBhY2FkZW1pYyByZXNlYXJjaCB3aXRoIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cImhlYWx0aHNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJQdWxtb25vbG9naXN0cyBhbmQgUmVzcGlyYXRvcnkgU3BlY2lhbGlzdHNcIi8+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGNlbGxQYWRkaW5nPXsxMH0gY2VsbFNwYWNpbmc9ezB9ID5cbiAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdHJlbmd0aHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5XZWFrbmVzc2VzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+T3Bwb3J0dW5pdGllczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlRocmVhdHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5EZWVwIHVuZGVyc3RhbmRpbmcgb2YgQ0YgYW5kIGl0cyBjb21wbGljYXRpb25zIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkRpcmVjdCBwYXRpZW50IGNhcmUgZXhwZXJpZW5jZSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Fc3RhYmxpc2hlZCBwYXRpZW50IHRydXN0IGFuZCByYXBwb3J0IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5NYXkgbGFjayBleHBlcnRpc2UgaW4gZ2VuZSBlZGl0aW5nIGFuZCBuZXcgZGVsaXZlcnkgc3lzdGVtcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5MaW1pdGVkIHRpbWUgYW5kIHJlc291cmNlcyBmb3IgcmVzZWFyY2ggaW52b2x2ZW1lbnQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmlzayBvZiBzbG93IGFkb3B0aW9uIG9mIG5ldyB0ZWNobm9sb2dpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5DYW4gcHJvdmlkZSB2YWx1YWJsZSBpbnNpZ2h0cyBmb3IgdGhlcmFweSBvcHRpbWl6YXRpb24gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+T3Bwb3J0dW5pdGllcyBmb3IgY2xpbmljYWwgdHJpYWxzIGFuZCBwYXRpZW50IGZlZWRiYWNrIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkVuaGFuY2VkIHRyZWF0bWVudCBwcm90b2NvbHMgdGhyb3VnaCBjb2xsYWJvcmF0aW9uIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmVzaXN0YW5jZSB0byBhZG9wdCBuZXcgYW5kIHVucHJvdmVuIHRoZXJhcGllcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgbGlhYmlsaXR5IGlzc3VlcyB3aXRoIG5ldyB0cmVhdG1lbnRzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkNvbXBldGl0aW9uIGZyb20gYWx0ZXJuYXRpdmUgdGhlcmFwaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJTcGVjaWFsaXplZCBDbGluaWNzIGFuZCBIb3NwaXRhbHNcIi8+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGNlbGxQYWRkaW5nPXsxMH0gY2VsbFNwYWNpbmc9ezB9ID5cbiAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdHJlbmd0aHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5XZWFrbmVzc2VzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+T3Bwb3J0dW5pdGllczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlRocmVhdHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5EaXJlY3QgYWNjZXNzIHRvIHBhdGllbnQgcG9wdWxhdGlvbiA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5BYmlsaXR5IHRvIGNvbmR1Y3QgY2xpbmljYWwgdHJpYWxzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkV4cGVyaWVuY2VkIG1lZGljYWwgc3RhZmYgYW5kIGluZnJhc3RydWN0dXJlIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5NYXkgbGFjayBleHBlcnRpc2UgaW4gZ2VuZSB0aGVyYXB5IGFuZCBuZXcgZGVsaXZlcnkgc3lzdGVtcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5IaWdoIG9wZXJhdGlvbmFsIGNvc3RzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBsaWFiaWxpdHkgYW5kIGV0aGljYWwgY29uY2VybnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5DbGluaWNhbCB0cmlhbHMgYW5kIHJlYWwtd29ybGQgYXBwbGljYXRpb24gb2YgbmV3IHRoZXJhcGllcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5PcHBvcnR1bml0aWVzIGZvciBpbXByb3ZpbmcgcGF0aWVudCBjYXJlIGFuZCBvdXRjb21lcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Db2xsYWJvcmF0aW9uIHdpdGggcmVzZWFyY2ggaW5zdGl0dXRpb25zIGZvciB0aGVyYXB5IGRldmVsb3BtZW50IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+SGlnaCBjb3N0IGFuZCBjb21wbGV4aXR5IG9mIGludGVncmF0aW5nIG5ldyB0aGVyYXBpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmVzaXN0YW5jZSBmcm9tIGNsaW5pY2FsIHN0YWZmIHRvIGFkb3B0IG5ldyB0ZWNobm9sb2dpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Q29tcGV0aXRpb24gZm9yIHBhdGllbnRzIGFuZCBjbGluaWNhbCB0cmlhbCBwYXJ0aWNpcGF0aW9uIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJIZWFsdGhjYXJlIE5ldHdvcmtzXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+QnJvYWQgcmVhY2ggYW5kIGluZmx1ZW5jZSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5BYmlsaXR5IHRvIGltcGxlbWVudCBuZXcgdGhlcmFwaWVzIHdpZGVseSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Fc3RhYmxpc2hlZCByZWxhdGlvbnNoaXBzIHdpdGggcGF0aWVudCBjb21tdW5pdGllcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+VmFyaWFiaWxpdHkgaW4gbmV0d29yayBjYXBhYmlsaXRpZXMgYW5kIHJlc291cmNlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Db21wbGV4IGNvb3JkaW5hdGlvbiByZXF1aXJlZCA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgZGlzcGFyaXRpZXMgaW4gY2FyZSBxdWFsaXR5IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UG90ZW50aWFsIGZvciBsYXJnZS1zY2FsZSBpbXBhY3Qgb24gcGF0aWVudCBjYXJlIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkxldmVyYWdpbmcgbmV0d29yayBmb3IgbGFyZ2Utc2NhbGUgY2xpbmljYWwgdHJpYWxzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlN0YW5kYXJkaXppbmcgY2FyZSBhY3Jvc3MgbXVsdGlwbGUgZmFjaWxpdGllcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk9yZ2FuaXphdGlvbmFsIHJlc2lzdGFuY2UgdG8gY2hhbmdlIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkVjb25vbWljIHByZXNzdXJlcyBhbmQgYnVkZ2V0IGNvbnN0cmFpbnRzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlZhcmlhYmlsaXR5IGluIHJlZ3VsYXRvcnkgY29tcGxpYW5jZSBhY3Jvc3MgcmVnaW9ucyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHN1YmN5Y2xldGFiXCIgaWQ9XCJnb3ZzXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiQmlvZXRoaWNzIENvbW1pdHRlZXMgXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+RW5zdXJlIGV0aGljYWwgc3RhbmRhcmRzIGFyZSBtZXQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UHJvdmlkZSBndWlkYW5jZSBvbiBjb21wbGV4IGlzc3VlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5FbmhhbmNlIGNyZWRpYmlsaXR5IGFuZCBhY2NlcHRhbmNlIG9mIG5ldyB0aGVyYXBpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk1heSBiZSBjb25zZXJ2YXRpdmUgYW5kIHNsb3cgdG8gYXBwcm92ZSBuZXcgdGVjaG5vbG9naWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBmb3IgY29uZmxpY3Rpbmcgb3BpbmlvbnMgd2l0aGluIHRoZSBjb21taXR0ZWUgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+TGltaXRlZCBhdXRob3JpdHkgdG8gZW5mb3JjZSBkZWNpc2lvbnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Fc3RhYmxpc2hpbmcgZXRoaWNhbCBmcmFtZXdvcmtzIGZvciBuZXcgdGhlcmFwaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkVuaGFuY2luZyBwdWJsaWMgdHJ1c3QgdGhyb3VnaCBldGhpY2FsIG92ZXJzaWdodCA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Db2xsYWJvcmF0aW9uIHdpdGggcmVndWxhdG9yeSBhZ2VuY2llcyBmb3IgY29tcHJlaGVuc2l2ZSBvdmVyc2lnaHQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5FdGhpY2FsIGRpbGVtbWFzIGFuZCBwdWJsaWMgcGVyY2VwdGlvbiBpc3N1ZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmFwaWQgYWR2YW5jZW1lbnRzIG91dHBhY2luZyBldGhpY2FsIGd1aWRlbGluZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+TWlzYWxpZ25tZW50IHdpdGggZmFzdC1wYWNlZCB0ZWNobm9sb2dpY2FsIGFkdmFuY2VtZW50cyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiTGVnYWwgRXhwZXJ0c1wiLz5cbiAgICAgICAgICAgICAgICA8dGFibGUgY2VsbFBhZGRpbmc9ezEwfSBjZWxsU3BhY2luZz17MH0gPlxuICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlN0cmVuZ3RoczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPldlYWtuZXNzZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5PcHBvcnR1bml0aWVzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+VGhyZWF0czwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk5hdmlnYXRlIGNvbXBsZXggbGVnYWwgbGFuZHNjYXBlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5FbnN1cmUgY29tcGxpYW5jZSB3aXRoIHJlZ3VsYXRpb25zIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkV4cGVydGlzZSBpbiBoZWFsdGhjYXJlIGxhdyBhbmQgZ2VuZXRpYyByZXNlYXJjaCByZWd1bGF0aW9ucyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+SGlnaCBjb3N0cyBmb3IgbGVnYWwgc2VydmljZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UG90ZW50aWFsIGZvciBsZW5ndGh5IGxlZ2FsIHByb2Nlc3NlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5SaXNrIG9mIHN0aWZsaW5nIGlubm92YXRpb24gd2l0aCBvdmVybHkgY2F1dGlvdXMgYWR2aWNlIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+RGV2ZWxvcG1lbnQgb2YgY29tcHJlaGVuc2l2ZSBsZWdhbCBmcmFtZXdvcmtzIGZvciBuZXcgdGhlcmFwaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlByb3RlY3RpbmcgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGFuZCBlbnN1cmluZyByZWd1bGF0b3J5IGNvbXBsaWFuY2UgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+QWR2aXNpbmcgb24gYmVzdCBwcmFjdGljZXMgZm9yIGV0aGljYWwgYW5kIGxlZ2FsIHN0YW5kYXJkcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkxlZ2FsIGNoYWxsZW5nZXMgYW5kIGxpYWJpbGl0eSBpc3N1ZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmFwaWRseSBjaGFuZ2luZyBsZWdhbCBlbnZpcm9ubWVudHMgYW5kIHJlZ3VsYXRpb25zIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBmb3IgbGl0aWdhdGlvbiBhbmQgbGVnYWwgZGlzcHV0ZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgICAgPC90YWJsZT4gICAgXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cImNvbW1zXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUGF0aWVudCBhbmQgQ29tbXVuaXR5IE91dHJlYWNoIFByb2dyYW1zXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+SW5jcmVhc2UgYXdhcmVuZXNzIGFuZCBlZHVjYXRpb24gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+QnVpbGQgcHVibGljIHN1cHBvcnQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Rm9zdGVyIGNvbm5lY3Rpb25zIGJldHdlZW4gcGF0aWVudHMsIHJlc2VhcmNoZXJzLCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlcnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkxpbWl0ZWQgcmVhY2ggYW5kIHJlc291cmNlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgbWlzaW5mb3JtYXRpb24gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+RGVwZW5kZW5jZSBvbiB2b2x1bnRlZXIgZWZmb3J0cyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkVuaGFuY2VkIHB1YmxpYyBlbmdhZ2VtZW50IGFuZCBzdXBwb3J0IGZvciBuZXcgdGhlcmFwaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk9wcG9ydHVuaXRpZXMgZm9yIGNvbW11bml0eS1kcml2ZW4gYWR2b2NhY3kgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmFpc2luZyBmdW5kcyBhbmQgcmVzb3VyY2VzIHRocm91Z2ggcHVibGljIGVuZ2FnZW1lbnQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5QdWJsaWMgc2tlcHRpY2lzbSBhbmQgcmVzaXN0YW5jZSB0byBuZXcgdGVjaG5vbG9naWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkNvbXBldGluZyBtZXNzYWdlcyBhbmQgcHJpb3JpdGllcyBhbW9uZyB2YXJpb3VzIGNvbW11bml0eSBncm91cHMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+TWlzY29tbXVuaWNhdGlvbiBsZWFkaW5nIHRvIG1pc2luZm9ybWF0aW9uIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cInB1YnNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJFZHVjYXRpb25hbCBJbnN0aXR1dGlvbnNcIi8+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGNlbGxQYWRkaW5nPXsxMH0gY2VsbFNwYWNpbmc9ezB9ID5cbiAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdHJlbmd0aHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5XZWFrbmVzc2VzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+T3Bwb3J0dW5pdGllczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlRocmVhdHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5FZHVjYXRlIGZ1dHVyZSBzY2llbnRpc3RzIGFuZCBoZWFsdGhjYXJlIHByb2Zlc3Npb25hbHMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UHJvbW90ZSByZXNlYXJjaCBhbmQgaW5ub3ZhdGlvbiA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Fc3RhYmxpc2hlZCBpbmZyYXN0cnVjdHVyZSBmb3IgZWR1Y2F0aW9uIGFuZCByZXNlYXJjaCA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+TGltaXRlZCBmdW5kaW5nIGFuZCByZXNvdXJjZXMgZm9yIGxhcmdlLXNjYWxlIHByb2plY3RzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBmb3IgYWNhZGVtaWMgYnVyZWF1Y3JhY3kgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+SGlnaCBjb21wZXRpdGlvbiBmb3IgcmVzZWFyY2ggZ3JhbnRzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+T3Bwb3J0dW5pdHkgdG8gZm9zdGVyIG5ldyB0YWxlbnQgYW5kIGlubm92YXRpb24gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Q29sbGFib3JhdGlvbiB3aXRoIGluZHVzdHJ5IGFuZCByZXNlYXJjaCBpbnN0aXR1dGlvbnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+T3Bwb3J0dW5pdGllcyBmb3IgaW50ZXJkaXNjaXBsaW5hcnkgZWR1Y2F0aW9uIGFuZCByZXNlYXJjaCA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkZ1bmRpbmcgY29uc3RyYWludHMgYW5kIGFjYWRlbWljIHByZXNzdXJlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5CYWxhbmNpbmcgYWNhZGVtaWMgb2JqZWN0aXZlcyB3aXRoIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmlzayBvZiBicmFpbiBkcmFpbiB0byBtb3JlIGx1Y3JhdGl2ZSBpbmR1c3RyaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cImJ1c2lcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJGdW5kaW5nIEFnZW5jaWVzIGFuZCBWZW50dXJlIENhcGl0YWxpc3RzXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UHJvdmlkZSBjcnVjaWFsIGZpbmFuY2lhbCBzdXBwb3J0IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkRyaXZlIGlubm92YXRpb24gdGhyb3VnaCBpbnZlc3RtZW50IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkV4dGVuc2l2ZSBuZXR3b3JrcyBhbmQgaW5kdXN0cnkgY29ubmVjdGlvbnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkZvY3VzIG9uIFJPSSBtYXkgbGltaXQgZnVuZGluZyBmb3IgaGlnaC1yaXNrIHByb2plY3RzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkhpZ2ggY29tcGV0aXRpb24gZm9yIGZ1bmRpbmcgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmlzayBhdmVyc2lvbiBtYXkgbGltaXQgaW5ub3ZhdGl2ZSBidXQgdW5jZXJ0YWluIHByb2plY3RzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UG90ZW50aWFsIGZvciBoaWdoIHJldHVybnMgYW5kIGltcGFjdCBvbiBoZWFsdGhjYXJlIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlN1cHBvcnRpbmcgdHJhbnNmb3JtYXRpdmUgdGVjaG5vbG9naWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPklkZW50aWZ5aW5nIGFuZCBudXJ0dXJpbmcgYnJlYWt0aHJvdWdoIHRlY2hub2xvZ2llcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkVjb25vbWljIGRvd250dXJucyBhZmZlY3RpbmcgaW52ZXN0bWVudCBjYXBhY2l0eSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgZm9yIGhpZ2ggZmluYW5jaWFsIGxvc3NlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5DaGFuZ2VzIGluIGVjb25vbWljIGFuZCBwb2xpY3kgZW52aXJvbm1lbnRzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+ICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBmcmFtZWN5Y2xldGFiXCIgaWQ9XCJ0aGlyZHBhcnR5XCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUaGUgVGhpcmQtUGFydHkgRmVlZGJhY2sgVGVtcGxhdGVcIiBpZD1cInRoaXJkSFwiLz5cbiAgICAgICAgICAgICAgICA8cD5UbyBkcml2ZSBzdGFrZWhvbGRlciBpbnRlcmFjdGlvbnMgZm9yIHRoZSA8UHJlQ3lzZS8+IHByb2plY3QsIG91ciB0ZWFtIGltcGxlbWVudGVkIHRoZSBcdTIwMUNUaGlyZC1QYXJ0eSBGZWVkYmFjayBUZW1wbGF0ZVx1MjAxRC4gVGhpcyB0ZW1wbGF0ZSBoZWxwcyB1cyBpbnRyb2R1Y2UgaW5kaXZpZHVhbHMgdG8gb3VyIHN0YWtlaG9sZGVycyBhbmQgZGVtb25zdHJhdGUgdGhlaXIgc2lnbmlmaWNhbmNlIHRvIG91ciBwcm9qZWN0LiBUaGVyZSBhcmUgdGhyZWUgbWFpbiBzZWN0aW9ucyBpbiB0aGlzIHRlbXBsYXRlLiBGaXJzdCwgd2UgYWRkcmVzcyB0aGUgaW1wb3J0YW50IHF1ZXN0aW9uIG9mIHdobyBvdXIgc3Rha2Vob2xkZXJzIGFyZSwgaW50cm9kdWNpbmcgdGhlaXIgYmFja2dyb3VuZHMgYW5kIGV4cGxhaW5pbmcgd2h5IHdlIHJlYWNoZWQgb3V0IHRvIHRoZW0uIE5leHQsIHdlIHN1bW1hcml6ZSB0aGUgY29udmVyc2F0aW9ucyBhbmQga25vd2xlZGdlIGV4Y2hhbmdlZCBkdXJpbmcgb3VyIGludGVyYWN0aW9ucy4gRmluYWxseSwgd2Ugc2hhcmUgb3VyIHJlZmxlY3Rpb25zIGZyb20gdGhlc2Ugc3Rha2Vob2xkZXIgY29udmVyc2F0aW9ucyBhbmQgaG93IHRoZXNlIGludGVyYWN0aW9ucyBoYXZlIGd1aWRlZCB0aGUgbmV4dCBzdGVwcyBvZiBvdXIgcHJvamVjdC4gIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhQVW5kZXJzdGFuZGluZy8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHVuZGVyc3RhbmRpbmd0YWJcIiBpZD1cInVuZGVyLXJlZmxlY3Rpb25cIiBzdHlsZT17e2Rpc3BsYXk6IFwiYmxvY2tcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PExvcmVtU2hvcnQvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCB1bmRlcnN0YW5kaW5ndGFiXCIgaWQ9XCJ1bmRlci1yZXNwb25zaWJpbGl0eVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjxMb3JlbVNob3J0Lz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgdW5kZXJzdGFuZGluZ3RhYlwiIGlkPVwidW5kZXItcmVzcG9uc2l2ZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjxMb3JlbVNob3J0Lz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZnJhbWVjeWNsZXRhYlwiIGlkPVwiYXJlYVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkFSRUEgRnJhbWV3b3JrXCIgaWQ9XCJhcmVhSFwiLz5cbiAgICAgICAgICAgICAgICA8cD5UaGUgQVJFQSBGcmFtZXdvcmsgQW5hbHlzaXMgaXMgYSBtb2RlbCB0aGF0IGhlbHBzIHN0cnVjdHVyZSBhbmQgb3B0aW1pemUgZGVjaXNpb24tbWFraW5nIGluIGNvbXBsZXggcHJvamVjdHMsIGVzcGVjaWFsbHkgd2hlbiBtdWx0aXBsZSBzdGFrZWhvbGRlcnMgYXJlIGludm9sdmVkLlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiaHAzLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhQM25ldy8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiQWdlbmRhXCIvPlxuICAgICAgICAgICAgICAgIDxwPlxuICAgIFRoZSBjZW50cmFsIGdvYWwgb2YgdGhlIFByZUN5c2UgcHJvamVjdCBpcyB0byBkZXZlbG9wIGFuIGlubm92YXRpdmUgZ2VuZSB0aGVyYXB5IHNvbHV0aW9uIGZvciBjeXN0aWMgZmlicm9zaXMgKENGKSB0aGF0IGlzIG5vdCBvbmx5IHRlY2huaWNhbGx5IGVmZmVjdGl2ZSBidXQgYWxzbyBzb2NpYWxseSBhY2NlcHRhYmxlIGFuZCBldGhpY2FsbHkganVzdGlmaWFibGUuIFRoZSBwcmltYXJ5IHF1ZXN0aW9ucyBpbmNsdWRlOlxuPC9wPlxuPHVsPlxuICAgIDxsaT5Ib3cgY2FuIHRoZSBwcm9qZWN0IGltcHJvdmUgdGhlIGxpdmVzIG9mIENGIHBhdGllbnRzPzwvbGk+XG4gICAgPGxpPkhvdyBjYW4gdGhlIHByb2plY3QgZW5zdXJlIHRoYXQgdGhlIHByb3Bvc2VkIHRoZXJhcHkgbWVldHMgZXRoaWNhbCBhbmQgcmVndWxhdG9yeSBzdGFuZGFyZHM/PC9saT5cbiAgICA8bGk+SG93IGNhbiB0aGUgc29sdXRpb24gYmUgaW50ZWdyYXRlZCBpbnRvIGN1cnJlbnQgaGVhbHRoY2FyZSBpbml0aWF0aXZlcz88L2xpPlxuICAgIDxsaT5Ib3cgZG9lcyB0aGUgcHJvamVjdCBpbmZsdWVuY2UsIGFuZCBob3cgaXMgaXQgaW5mbHVlbmNlZCBieSwgdGhlIHBlcmNlcHRpb25zIG9mIHN0YWtlaG9sZGVycywgcGFydGljdWxhcmx5IHBhdGllbnRzLCByZWd1bGF0b3J5IGF1dGhvcml0aWVzLCBhbmQgdGhlIHNjaWVudGlmaWMgY29tbXVuaXR5PzwvbGk+XG48L3VsPlxuPHA+XG4gICAgSGVyZSwgdGhlIG5lZWQgaXMgZGVmaW5lZCB0byBkZXZlbG9wIGEgaG9saXN0aWMgdW5kZXJzdGFuZGluZyBvZiB0aGUgcHJvamVjdFx1MjAxOXMgaW1wYWN0cywgY29uc2lkZXJpbmcgYm90aCB0ZWNobm9sb2dpY2FsIGFzcGVjdHMgYW5kIGh1bWFuIHBlcnNwZWN0aXZlcy5cbjwvcD5cblxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUmVzZWFyY2hcIi8+XG4gICAgICAgICAgICAgICAgPHA+XG4gICAgVG8gZ2FpbiBhIGNvbXByZWhlbnNpdmUgdW5kZXJzdGFuZGluZyBvZiB0aGUgbmVlZHMgYW5kIGV4cGVjdGF0aW9ucywgdGhlIFByZUN5c2UgdGVhbSBlbXBsb3llZCB2YXJpb3VzIG1ldGhvZHMgdG8gY29sbGVjdCBkYXRhIGZyb20gcmVsZXZhbnQgc3Rha2Vob2xkZXJzLCBpbmNsdWRpbmc6XG48L3A+XG48cD5cbiAgICA8Yj5TdXJ2ZXlzIG9mIENGIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllczo8L2I+IFRoZXNlIHByb3ZpZGVkIGluc2lnaHRzIGludG8gdGhlIHNwZWNpZmljIGNoYWxsZW5nZXMgYW5kIG5lZWRzIHRoYXQgQ0YgcGF0aWVudHMgZmFjZSBpbiBkYWlseSBsaWZlLiBDcml0aWNhbCBxdWVzdGlvbnMgcmVnYXJkaW5nIHNhZmV0eSwgYWNjZXNzaWJpbGl0eSwgYW5kIHRoZSBsb25nLXRlcm0gYXBwbGljYXRpb24gb2YgZ2VuZSB0ZWNobm9sb2d5IHdlcmUgYWRkcmVzc2VkLlxuPC9wPlxuPHA+XG4gICAgPGI+RXhwZXJ0IGNvbnN1bHRhdGlvbnMgd2l0aCByZXNlYXJjaGVycyBhbmQgcGh5c2ljaWFuczo8L2I+IFNjaWVudGlzdHMgYW5kIGRvY3RvcnMgd29ya2luZyBpbiBnZW5lIHRoZXJhcHkgcHJvdmlkZWQgZXNzZW50aWFsIHRlY2huaWNhbCBmZWVkYmFjayBhbmQgaGVscGVkIGFzc2VzcyB0aGUgZmVhc2liaWxpdHkgYW5kIGVmZmVjdGl2ZW5lc3Mgb2YgdGhlIHByb3Bvc2VkIHRoZXJhcHkuXG48L3A+XG48cD5cbiAgICA8Yj5SZWd1bGF0b3J5IGF1dGhvcml0aWVzOjwvYj4gRmVlZGJhY2sgZnJvbSBhZ2VuY2llcyBsaWtlIHRoZSBGREEgYW5kIEVNQSBwbGF5ZWQgYSBjZW50cmFsIHJvbGUgaW4gYXNzZXNzaW5nIHNhZmV0eSByZXF1aXJlbWVudHMgYW5kIHJlZ3VsYXRvcnkgY2hhbGxlbmdlcyB0aGF0IG5lZWQgdG8gYmUgYWRkcmVzc2VkIGJlZm9yZSBjbGluaWNhbCBhcHBsaWNhdGlvbi4gVGhpcyByZXNlYXJjaCBwaGFzZSB3YXMgY3JpdGljYWwgdG8gZW5zdXJpbmcgdGhhdCB0aGUgdGVjaG5pY2FsIHNvbHV0aW9uIGFsaWduZWQgd2l0aCBwYXRpZW50IG5lZWRzIGFuZCByZWd1bGF0b3J5IHN0YW5kYXJkcy5cbjwvcD5cblxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiRXZhbHVhdGlvblwiLz5cbiAgICAgICAgICAgICAgICA8cD5CYXNlZCBvbiB0aGUgcmVzZWFyY2ggcGhhc2UgcmVzdWx0cywgYSBkZXRhaWxlZCBhc3Nlc3NtZW50IG9mIHRoZSBzdHJlbmd0aHMsIHdlYWtuZXNzZXMsIG9wcG9ydHVuaXRpZXMsIGFuZCB0aHJlYXRzIChTV09UIGFuYWx5c2lzKSB3YXMgY29uZHVjdGVkIChzZWUgYWJvdmUpLiBUaGUgZXZhbHVhdGlvbiBoZWxwZWQgdGhlIHRlYW0gcmVmbGVjdCBvbiB0aGUgZ2F0aGVyZWQgaW5zaWdodHMgYW5kIGZvY3VzIG9uIGtleSBjaGFsbGVuZ2VzIHRvIGVuc3VyZSBsb25nLXRlcm0gZmVhc2liaWxpdHkgYW5kIGFjY2VwdGFuY2UuXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiQWdlbmRhXCIvPlxuICAgICAgICAgICAgICAgIDxwPlxuICAgIEJhc2VkIG9uIHRoZSBhbmFseXNpcywgc2V2ZXJhbCBtZWFzdXJlcyB3ZXJlIHRha2VuIHRvIGVuc3VyZSB0aGF0IHRoZSBQcmVDeXNlIHByb2plY3QgaXMgbm90IG9ubHkgc2NpZW50aWZpY2FsbHkgYWR2YW5jZWQgYnV0IGFsc28gc29jaWFsbHkgYW5kIHJlZ3VsYXRvcmlseSBhY2NlcHRhYmxlOlxuPC9wPlxuPHA+XG4gICAgPGI+SW50ZWdyYXRlZCBmZWVkYmFjayBsb29wczo8L2I+IFN0YWtlaG9sZGVycyB3ZXJlIGNvbnRpbnVvdXNseSBpbnZvbHZlZCwgYW5kIHRoZWlyIGZlZWRiYWNrIHdhcyBkaXJlY3RseSBpbmNvcnBvcmF0ZWQgaW50byB0aGUgYWRhcHRhdGlvbiBhbmQgaW1wcm92ZW1lbnQgb2YgdGhlIHByb2plY3QgZGVzaWduLiBBbiBleGFtcGxlIG9mIHRoaXMgaXMgdGhlIGFwcGxpY2F0aW9uIG9mIEdpYmJzJyBSZWZsZWN0aW9uIEN5Y2xlIHRvIGVuc3VyZSB0aGF0IGFsbCBmZWVkYmFjayBpcyB0aG9yb3VnaGx5IGFuYWx5emVkIGFuZCBpbmNvcnBvcmF0ZWQgaW50byBmdXR1cmUgZGVjaXNpb25zLlxuPC9wPlxuPHA+XG4gICAgPGI+UmVndWxhdG9yeSBhbmQgZXRoaWNhbCBhZGp1c3RtZW50czo8L2I+IEJ5IHdvcmtpbmcgY2xvc2VseSB3aXRoIHJlZ3VsYXRvcnkgYXV0aG9yaXRpZXMgYW5kIGV0aGljcyBjb21taXR0ZWVzLCBtZWFzdXJlcyB3ZXJlIHRha2VuIHRvIGVuc3VyZSB0aGF0IHRoZSBwcm9qZWN0IGNvbXBsaWVzIHdpdGggcmVndWxhdG9yeSByZXF1aXJlbWVudHMgYW5kIHJlbWFpbnMgZXRoaWNhbGx5IGp1c3RpZmlhYmxlLlxuPC9wPlxuPHA+XG4gICAgPGI+U2FmZXR5IGNvbnNpZGVyYXRpb25zOjwvYj4gVGhlIHNhZmV0eSBvZiB0aGUgdGhlcmFweSB3YXMgYSBrZXkgY29uY2VybiBpbiBzdGFrZWhvbGRlciBpbnRlcmFjdGlvbnMuIFNwZWNpZmljIHNhZmV0eSBwcm90b2NvbHMgd2VyZSBkZXZlbG9wZWQgdG8gbWluaW1pemUgcmlza3MgZm9yIHBhdGllbnRzLlxuPC9wPlxuPHA+XG4gICAgPGI+UHVibGljIGF3YXJlbmVzczo8L2I+IFRvIGluY3JlYXNlIHB1YmxpYyBhd2FyZW5lc3Mgb2YgdGhlIHBvdGVudGlhbCBhbmQgc2FmZXR5IG9mIGdlbmUgdGVjaG5vbG9naWVzLCB0YXJnZXRlZCBjb21tdW5pY2F0aW9uIG1lYXN1cmVzIHdlcmUgdGFrZW4gdG8gYWRkcmVzcyBtaXN1bmRlcnN0YW5kaW5ncyBhbmQgaW1wcm92ZSBhY2NlcHRhbmNlIG9mIHRoZSB0ZWNobm9sb2d5LlxuPC9wPlxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGZyYW1lY3ljbGV0YWJcIiBpZD1cImZlZWRjeWNsZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT4gXG4gICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUaGUgRmVlZGJhY2sgQ3ljbGUgb2Ygb3VyIElIUCBBcHByb2FjaFwiIGlkPVwiZmVlZEhcIi8+XG4gICAgICAgICAgICAgICAgPHA+VG8gZm9zdGVyIHByb2R1Y3RpdmUgY29udmVyc2F0aW9ucyBhbmQgZW5zdXJlIG91ciB0ZWFtIG1heGltaXplcyBlYWNoIHN0YWtlaG9sZGVyIGludGVyYWN0aW9uIGZvciB0aGUgUHJlQ3lzZSBwcm9qZWN0LCB3ZSBkZXZlbG9wZWQgYSBmZWVkYmFjayBjeWNsZSB0aGF0IG91dGxpbmVzIGEgc3RydWN0dXJlZCBhcHByb2FjaCBmb3Igb3VyIG1lZXRpbmdzLiBUaGUgZmlyc3Qgc3RlcCBpbiBvdXIgY3ljbGUgaW52b2x2ZXMgbGlzdGVuaW5nIHRvIGVhY2ggc3Rha2Vob2xkZXIncyBleHBlcmllbmNlcywgcGVyc29uYWwgc3Rvcmllcywgb3IgaW5zaWdodHMuIE91ciB0ZWFtIHRoZW4gZm9sbG93cyB1cCBieSBhc2tpbmcgcmVsZXZhbnQgcXVlc3Rpb25zIHRvIGRpdmUgZGVlcGVyIGludG8gdGhlIHNoYXJlZCBpbmZvcm1hdGlvbiBvciB0byBpbnRyb2R1Y2UgbmV3IHRvcGljcyBvciBkaXJlY3Rpb25zIGluIHRoZSBjb252ZXJzYXRpb24uIFRvd2FyZHMgdGhlIGVuZCBvZiB0aGUgbWVldGluZywgd2UgYXNrIGNsYXJpZnlpbmcgcXVlc3Rpb25zIGFuZCByZWl0ZXJhdGUga2V5IHBvaW50cyB0byBlbnN1cmUgb3VyIHVuZGVyc3RhbmRpbmcgaXMgYWNjdXJhdGUgYW5kIHRoYXQgdGhlIHN0YWtlaG9sZGVyIGhhcyBubyBhZGRpdGlvbmFsIGlucHV0LiBGaW5hbGx5LCB3ZSBleHBsb3JlIG5ldyBkaXJlY3Rpb25zIGFuZCBpZGVhcyBpbnNwaXJlZCBieSB0aGUgc3Rha2Vob2xkZXIgaW50ZXJhY3Rpb24sIGVuY291cmFnaW5nIG91ciB0ZWFtIHRvIHB1cnN1ZSBpbm5vdmF0aXZlIGFuZCBub3ZlbCBjb25jZXB0cy5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvZmVlZGJhY2tjeWNsZS5zdmdcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZnJhbWVjeWNsZXRhYlwiIGlkPVwiZ2lic29uXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PiBcbiAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkN5Y2xlIG9mIFJlZmxlY3Rpb25zIGFjY29yZGluZyB0byBHaWJic1wiIGlkPVwiZ2lic29uSFwiLz5cbiAgICAgICAgICAgICAgICA8cD5Gb3IgdGhlIDxQcmVDeXNlLz4gcHJvamVjdCB0byBpbXBhY3QgdGhlIHdvcmxkLCBpdCBuZWVkcyB0byB3b3JrIHdpdGggYWxsIHR5cGVzIG9mIHN0YWtlaG9sZGVycy4gVGhlcmVmb3JlLCB3ZSBhcmUgb3B0aW1pemluZyBHaWJicycgUmVmbGVjdGlvbiBDeWNsZSB0byBkZW1vbnN0cmF0ZSBvdXIgaW5jbHVzaXZlIHJlc3BvbnNlIHRvIHRoZSBjaGFsbGVuZ2VzIHdlIGVuY291bnRlcmVkIGR1cmluZyBvdXIgaUdFTSBqb3VybmV5LiBUaGUgY3ljbGUgaW5jbHVkZXMgdGhlIGltcGV0dXMgZm9yIG91ciBlbmdhZ2VtZW50LCB0aGUgdW5iaWFzZWQgdHdvLXdheSBjb21tdW5pY2F0aW9uIHdpdGggc3Rha2Vob2xkZXJzLCBvdXIgdGhvcm91Z2ggYW5hbHlzaXMgb2YgdGhlIGZlZWRiYWNrIGFuZCBvdXIgYWN0aW9ucyB0byBpbXBsZW1lbnQgdGhlIHN0YWtlaG9sZGVyIGlucHV0cyBpbnRvIG91ciBwcm9qZWN0LlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7aGVpZ2h0OiBcIjIwJVwifX0+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc2NpZW50aWZpYy1maWd1cmVzL2dpYmJzcmVmbGVjdGlvbi5zdmdcIiBzdHlsZT17e2hlaWdodDogXCIyMCVcIn19Lz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8cD5cbiAgICA8Yj5JbXBldHVzOjwvYj4gV2hlbiBkZXZlbG9waW5nIGEgc3lzdGVtYXRpYyBhcHByb2FjaCB0byBhIHJlY3VycmluZyBwcm9ibGVtLCBpdCdzIGVhc3kgdG8gZ2V0IGRpc3RyYWN0ZWQgYnkgbXVsdGlwbGUgcG9pbnRzIG9mIHZpZXcuIFdlIG5lZWQgdG8gcHJpb3JpdGl6ZSBxdWFsaXR5IG92ZXIgcXVhbnRpdHkuIFRoaXMgc2VjdGlvbiBwcmVzZW50cyB0aGUgc3VjY2Vzc2l2ZSBpbXBldHVzIHRoYXQgZHJpdmVzIHRoZSBjb250aW51b3VzIGltcGxlbWVudGF0aW9uIG9mIEh1bWFuIFByYWN0aWNlcyBhY3Rpdml0aWVzLlxuPC9wPlxuPHA+XG4gICAgPGI+VHdvLXdheSBjb21tdW5pY2F0aW9uOjwvYj4gRm9yIG91ciBzb2x1dGlvbiB0byBiZSBodW1hbi1jZW50ZXJlZCwgdGhlIHR3by13YXkgY29tbXVuaWNhdGlvbiBtZXRob2QgaXMgdG8gY29tbXVuaWNhdGUgdG8gc3Rha2Vob2xkZXJzIHRoZSB2YWx1ZXMgd2UgYXJlIGluY29ycG9yYXRpbmcgaW50byBvdXIgcHJvamVjdCBkZXNpZ24uIFdlIG1ha2Ugc3VyZSB0aGV5IHVuZGVyc3RhbmQgdGhlIHByb2plY3QgY2xlYXJseSBzbyB0aGF0IHRoZXkgY2FuIGFydGljdWxhdGUgdGhlaXIgY29uY2VybnMgYW5kIHN1Z2dlc3Rpb25zIHByZWNpc2VseS5cbjwvcD5cbjxwPlxuICAgIDxiPkFuYWx5c2lzOjwvYj4gVGhlIHR3by13YXkgY29tbXVuaWNhdGlvbiB3aXRoIG91ciBzdGFrZWhvbGRlcnMgaXMgY2FyZWZ1bGx5IGFuYWx5emVkLiBJbiB0aGlzIHNlY3Rpb24sIHN0YWtlaG9sZGVyIGZlZWRiYWNrIGlzIHByb2Nlc3NlZCBhbmQgdHVybmVkIGludG8gY29uc3RydWN0aXZlIGd1aWRhbmNlIGZvciBwcm9qZWN0IGltcGxlbWVudGF0aW9uLCBhbGxvd2luZyB1cyB0byBjb25zaWRlciB3aGF0IHdvcmsgc2hvdWxkIGJlIHByaW9yaXRpemVkIHRvIGJlc3QgYWRkcmVzcyBzdGFrZWhvbGRlciBjb25jZXJucy5cbjwvcD5cbjxwPlxuICAgIDxiPkltcGxlbWVudGF0aW9uOjwvYj4gSW1wbGVtZW50YXRpb24gc2hvd3Mgb3VyIG1lYXN1cmVzIGZvciBldmFsdWF0aW5nIGFuZCByZWZpbmluZyB0aGUgcHJvamVjdC4gVGhlc2UgYWN0aW9ucyBhcmUgZnVsbHkgaW50ZWdyYXRlZCBpbnRvIHRoZSBwcm9qZWN0IGRlc2lnbnMgYW5kIG90aGVyIHBhcnRzIG9mIG91ciBwcm9qZWN0IHRvIGVuc3VyZSB0aGF0IG91ciBwcm9qZWN0IGFuZCBhY3Rpdml0aWVzIGFyZSBnb29kLCByZXNwb25zaWJsZSBhbmQgZW5nYWdpbmcgZm9yIHRoZSB3b3JsZC5cbjwvcD5cbjxwPlxuICAgIEluIHRoZSBhcmVhcyBvZiA8Yj5Db21tdW5pY2F0aW9uICYgSW1wbGVtZW50YXRpb248L2I+LCA8Yj5OZWNlc3NpdHkgJiBSZWxldmFuY2U8L2I+LCA8Yj5TY2llbmNlICYgVGVjaG5vbG9neTwvYj4sIDxiPkV0aGljcyAmIFJlZ3VsYXRpb248L2I+LCBvdXIgSHVtYW4gUHJhY3RpY2UgYWN0aXZpdGllcyBhcmUgY29uZHVjdGVkIHdpdGggWCBncm91cHMgb2Ygc3Rha2Vob2xkZXJzIHRocm91Z2hvdXQgb3VyIGlHRU0gam91cm5leS4gSW4gZG9pbmcgc28sIHdlIGV4cGxvcmUgdGhlIGNvbnRleHRzIHRoYXQgZGVmaW5lIHByb2plY3RzLCBpZGVhbGl6ZSBzb2x1dGlvbnMgYW5kIGV2YWx1YXRlIG91dGNvbWVzIGZvciBvdXIgaHVtYW4gcHJhY3RpY2UgYXBwcm9hY2guXG48L3A+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJUaW1lbGluZVwiIGlkPVwiSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXMyXCI+XG4gICAgICAgICAgICAgICAgPEhQVGltZWxpbmUvPlxuICAgICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJJbXBsZW1lbnRhdGlvbiAmIEZlZWRiYWNrXCIgaWQ9XCJJbnRlZ3JhdGVkIEh1bWFuIFByYWN0aWNlczNcIj5cbiAgICAgICAgICAgICAgICA8SFBGZWVkYmFjay8+XG4gICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG5cbiAgICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQ29uY2x1c2lvblwiIGlkPVwiSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXM0XCI+XG4gICAgICAgICAgICAgIDxIUGNvbmNsdXNpb24vPlxuICAgICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgKVxufSIsICJpbXBvcnQgeyBCdXR0b25PbmUgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5pbXBvcnQgeyBINCB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyBMb3JlbU1lZGl1bSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0xvcmVtaXBzdW1cIjtcbmltcG9ydCB7IFBERiB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL1BkZnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEhQQ29sbGFicygpe1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPXt7bWFyZ2luVG9wOiBcIjV2aFwiLCBtYXJnaW5Cb3R0b206IFwiNXZoXCJ9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lIG9wZW5jbGFzcz1cImNvbGwtY3ljbGV0YWJcIiB0ZXh0PVwiT3ZlcnZpZXdcIiBvcGVuPVwiY29sbC1vdmVydmlld1wiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgb3BlbmNsYXNzPVwiY29sbC1jeWNsZXRhYlwiIHRleHQ9XCJDb2xsYWJzIGluIDIwMjRcIiBvcGVuPVwiY29sbHMyMDI0XCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbk9uZSBvcGVuY2xhc3M9XCJjb2xsLWN5Y2xldGFiXCIgdGV4dD1cIkxOUCBIYW5kYm9va1wiIG9wZW49XCJIYW5kYm9va1wiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgaWQ9XCJjb2xsLW92ZXJ2aWV3XCIgY2xhc3NOYW1lPVwiY29sbC1jeWNsZXRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICAgICAgPEg0IGlkPVwiY29sbC1vdmVydmlldy1oZWFkaW5nXCIgdGV4dD1cIlwiLz5cbiAgICAgICAgICAgICAgICA8TG9yZW1NZWRpdW0vPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiY29sbHMyMDI0XCIgY2xhc3NOYW1lPVwiY29sbC1jeWNsZXRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICA8SDQgaWQ9XCJjb2xsczIwMjQtaGVhZGluZ1wiIHRleHQ9XCJDb2xsYWJvcmF0aW9uIHdpdGggTGluZ2tcdTAwRjZwaW5nXCIvPlxuICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiSG9tZSBVbml2ZXJzaXR5IG9mIExpbmtcdTAwRjZwaW5nXCIvPlxuICAgICAgICAgICAgICAgIDxwPlRoZSBVbml2ZXJzaXR5IG9mIExpbmtcdTAwRjZwaW5nIGlzIG9uZSBvZiB0aGUgYmlnZ2VyIHVuaXZlcnNpdGllcyBsb2NhdGVkIGluIFN3ZWRlbi4gU2luY2UgaXRzIGluY2VwdGlvbiBpbiAxOTc1LCBpdCBoYXMgYmVjb21lIGEgdmVyeSBpbm5vdmF0aXZlIGFuZCBoaWdobHkgcmVub3duZWQgaW5zdGl0dXRpb24uICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+VGhlIHByb2plY3Qgb2YgTGlua1x1MDBGNnBpbmdzIGlHRU0gMjAyNCB0ZWFtOiAoZGVzY3JpcHRpb24gdGFrZW4gZnJvbSB0aGVpciB3ZWJzaXRlKTwvcD5cbiAgICAgICAgICAgICAgICA8cD5cdTIwMUNUaGUgcHJvZHVjdCBjb21wb3NpdGlvbiB3aWxsIGRlcGVuZCBvbiB0aGUgZW56eW1lIG1pc3Npbmcgb3IgbWFsZnVuY3Rpb25pbmcgaW4gZWFjaCBvZiB0aGUgZGlzZWFzZSB0eXBlcy4gV2VcdTIwMTlyZSBnb2luZyB0byB0YXJnZXQgYXV0b3NvbWFsIHJlY2Vzc2l2ZSBjb25nZW5pdGFsIGljaHRoeW9zaXMsIGFzIHRoaXMgaXMgdGhlIG9uZSBvdXIgZnJpZW5kIGlzIHN0cnVnZ2xpbmcgd2l0aC4gV2Ugd2lsbCBmb2N1cyBvbiB0aGUgY29uc2VxdWVuY2VzIG9mIG11dGF0aW9ucyBpbiB0aHJlZSBkaWZmZXJlbnQgZ2VuZXMgKFRHTTEsIEFMT1hFMywgQUxPWDEyQikgdGhhdCBjYW4gdW5kZXJsaWUgdGhpcyBjb25kaXRpb24gWzVdLiBIb3dldmVyLCBpZiBvdXIgYXBwcm9hY2ggdHVybnMgb3V0IHRvIGJlIHN1Y2Nlc3NmdWwsIGFmdGVyIHNvbWUgYWRqdXN0bWVudHMsIHRoZSBwcm90b2NvbCBjb3VsZCBiZSBhcHBsaWVkIGZvciB0aGUgcmVtYWluaW5nIHR5cGVzIG9mIHRoZSBkaXNlYXNlIGFzIHdlbGwuIEZpcnN0IG9mIGFsbCwgd2VcdTIwMTlsbCBlbmdpbmVlciBFLiBjb2xpIHRvIHByb2R1Y2UgdGhlIGNob3NlbiBlbnp5bWVzIGVuY29kZWQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgZ2VuZXMgd2UgY2hvc2U6IHRyYW5zZ2x1dGFtaW5hc2UgMSwgRXBpZGVybWlzLXR5cGUgbGlwb3h5Z2VuYXNlIDMsIEFyYWNoaWRvbmF0ZSAxMi1saXBveHlnZW5hc2UgYW5kIHRoZW4gd2Ugd2lsbCBwdXJpZnkgdGhlbSBmcm9tIHRoZSBiYWN0ZXJpYS4gT25jZSB0aGlzIHN5c3RlbSBpcyBlc3RhYmxpc2hlZCBhbmQgb3B0aW1pemVkLCB3ZVx1MjAxOWxsIHByb2NlZWQgdG8gZGVzaWduIGEgZnVuY3Rpb25pbmcgZGVsaXZlcnkgc3lzdGVtIHRoYXQgd2Ugd2lsbCBlbmNhcHN1bGF0ZSB0aGUgZW56eW1lcyBpbi4gV2UgaGF2ZSBkZWNpZGVkIHRvIHByb2R1Y2UgbW9kdWxhdGVkIGxpcG9zb21lcyB0aGF0IHdpbGwgYmUgYWJsZSB0byBrZWVwIHRoZSBlbnp5bWVzIGFjdGl2ZSB3aGlsZSB0cmFuc3BvcnRpbmcgdGhlbS4gT25jZSB0aGUgdGFyZ2V0IHNraW4gbGF5ZXIgaXMgcmVhY2hlZCwgdGhlIGxpcG9zb21lcyB3aWxsIGZ1c2Ugd2l0aCB0aGUgbWVtYnJhbmVzIG9mIHRoZSBjZWxscyBvZiBpbnRlcmVzdCwgZGVsaXZlcmluZyB0aGUgcHJvZHVjdCB0byBpdHMgZmluYWwgZGVzdGluYXRpb24uIEZ1bmN0aW9uaW5nIGxpcG9zb21lcyBwYWNrZWQgd2l0aCB0aGUgcHJvZHVjZWQgZW56eW1lcyB3aWxsIHRoZW4gYmUgaW5jb3Jwb3JhdGVkIGludG8gYSBzdWl0YWJsZSBtZWRpdW0gdG8gZmFjaWxpdGF0ZSB0aGUgdG9waWNhbCBhcHBsaWNhdGlvbiBmb3IgdGhlIHBhdGllbnRzXHUyMDFELiA8L3A+XG4gICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJpR0VNIHRlYW0gTGl1IHByb2plY3Qgb3VyIGlkZWFcIi8+XG4gICAgICAgICAgICAgICAgPHA+V2UgZmlyc3QgbWFkZSBjb250YWN0IHdpdGggdGhlIHRlYW0gb2YgTElVIHZpYSBlbWFpbCwgZHVlIHRvIGJvdGggb3VyIHRlYW1zXHUyMDE5IGludGVyZXN0IGluIHdvcmtpbmcgd2l0aCBMTlAgYmFzZWQgZGVsaXZlcnkgc3lzdGVtcy4gSXQgcmFwaWRseSBiZWNhbWUgYXBwYXJlbnQgdGhhdCBvdXIgdHdvIHRlYW1zIGNvdWxkIGJlbmVmaXQgZnJvbSBhIGNvcnBvcmF0aW9uIGVzcGVjaWFsbHkgc2luY2UgdGhlIHRlYW0gb2YgTGlVIHdhcyB3b3JraW5nIG9uIGFuIExOUCBoYW5kYm9vayBhdCB0aGUgdGltZS48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJIYW5kYm9va1wiIGNsYXNzTmFtZT1cImNvbGwtY3ljbGV0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgPEg0IGlkPVwiSGFuZGJvb2staGVhZGluZ1wiIHRleHQ9XCJIYW5ib29rIGZvciBkb3dubG9hZFwiLz5cbiAgICAgICAgICAgICAgICA8UERGIGxpbms9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL2xpcG9zb21lcy1oYW5kYm9vay5wZGZcIiBuYW1lPVwibGlwb3NvbWVzLWhhbmRib29rLnBkZlwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59IiwgImltcG9ydCBCaWJ0ZXhQYXJzZXIgZnJvbSBcIi4uL2NvbXBvbmVudHMvbWFrZVNvdXJjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRWR1U291cmNlcygpe1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPEJpYnRleFBhcnNlciBiaWJ0ZXhTb3VyY2VzPXtiaWJ0ZXhTb3VyY2VzfSBzcGVjaWFsPVwiZWR1XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xufVxuXG5cbmNvbnN0IGJpYnRleFNvdXJjZXMgPSBbXG5gQGFydGljbGV7YXJ0aWNsZSxcbmF1dGhvciA9IHtBc3dlZ2VuLCBFbGxpZSBhbmQgUGVuZGVyZ2FzdCwgRG9ubmF9LFxueWVhciA9IHsyMDIzfSxcbm1vbnRoID0gezA4fSxcbnBhZ2VzID0gezEtMTV9LFxudGl0bGUgPSB7VGhlIGltcGFjdCBvZiBpbnRlcmVzdDogYW4gZW1lcmdlbnQgbW9kZWwgb2YgaW50ZXJlc3QgZGV2ZWxvcG1lbnQgaW4gdGhlIGVhcmx5IHllYXJzfSxcbnZvbHVtZSA9IHsxOTN9LFxuam91cm5hbCA9IHtFYXJseSBDaGlsZCBEZXZlbG9wbWVudCBhbmQgQ2FyZX0sXG5kb2kgPSB7MTAuMTA4MC8wMzAwNDQzMC4yMDIzLjIyNDU1NzV9XG59YFxuXSIsICJpbXBvcnQgeyBCdXR0b25PbmVXaXRoU2Nyb2xsIH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvQnV0dG9uc1wiO1xuaW1wb3J0IHsgIEg0IH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7ICBINSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0hlYWRpbmdzXCJcbmltcG9ydCB7IFRhYlNjcm9sbExpbmsgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9MaW5rXCI7XG5pbXBvcnQgUHJlQ3lzZSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9wcmVjeXNlXCI7XG5pbXBvcnQgRWR1U291cmNlcyBmcm9tIFwiLi4vLi4vLi4vc291cmNlcy9lZHVjYXRpb24tc291Y2VzXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzXCI7XG5cblxuXG5leHBvcnQgZnVuY3Rpb24gSFBFZHVjYXRpb24oKXtcbiAgICBjb25zdCB7Z29Ub1BhZ2VBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpO1xuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPXt7bWFyZ2luVG9wOiBcIjV2aFwiLCBtYXJnaW5Cb3R0b206IFwiNXZoXCJ9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlZHUtY3ljbGV0YWJcIiB0ZXh0PVwiT3ZlcnZpZXdcIiBvcGVuPVwiZWR1LW92ZXJ2aWV3XCIgc2Nyb2xsSWQ9XCJlZHUtaGVhZGluZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlZHUtY3ljbGV0YWJcIiB0ZXh0PVwiVGV1dG8gcnVmdCFcIiBvcGVuPVwidGV1dG9ydWZ0XCIgc2Nyb2xsSWQ9XCJ0ZXVyb3J1ZnQtaGVhZGluZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlZHUtY3ljbGV0YWJcIiB0ZXh0PVwiU2NoXHUwMEZDbGVyKmlubmVuIEFrYWRlbWllXCIgb3Blbj1cImFrYWRlbWllXCIgc2Nyb2xsSWQ9XCJzdHVkZW50LWFjYWRlbXktaGVhZGluZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlZHUtY3ljbGV0YWJcIiB0ZXh0PVwiTUlOVCBTb21tZXJcIiBvcGVuPVwibWludFwiIHNjcm9sbElkPVwibWludC1oZWFkaW5nXCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cblxuXG5cblxuICAgICAgICAgICAgPGRpdiBpZD1cImVkdS1vdmVydmlld1wiIGNsYXNzTmFtZT1cImVkdS1jeWNsZXRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICA8SDQgaWQ9XCJlZHUtaGVhZGluZ1wiIHRleHQ9XCJFZHVjYXRpb24gYXMgcGFydCBvZiBhIGludGVncmF0ZWQgaHVtYW4gcHJhY3RpY2UgLSBidXQgd2h5P1wiLz5cbiAgICAgICAgICAgIDxwPldoaWxlIGVkdWNhdGlvbiBpcyBub3QgZGlyZWN0bHkgY29uc2lkZXJlZCBwYXJ0IG9mIEh1bWFuIFByYWN0aWNlcyBpbiBpR0VNLCBpdCByZW1haW5zIGEgdml0YWwgY29tcG9uZW50IG9mIHN5bnRoZXRpYyBiaW9sb2d5IGFuZCBzY2llbnRpZmljIGFkdmFuY2VtZW50IFxuICAgICAgICAgICAgICAgIGZvciBzZXZlcmFsIGltcG9ydGFudCByZWFzb25zOjwvcD5cbiAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICA8bGk+VG8gaGVscCBwZW9wbGUgbWFrZSA8Yj5pbmZvcm1lZCBjaG9pY2VzPC9iPiBhbmQgZW5jb3VyYWdlIDxiPmVtYW5jaXBhdGlvbiB0aHJvdWdoIGVkdWNhdGlvbjwvYj4uPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+T25seSBpbmZvcm1lZCBwYXJ0aWNpcGFudHMgYWxsb3cgZm9yIDxiPmV0aGljYWwgZW5nYWdlbWVudDwvYj4uPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+VG8gZW5zdXJlIDxiPmNvbnRpbnVvdXMgbGVhcm5pbmc8L2I+IGluIG9yZGVyIHRvIHNlY3VyZSB0aGUgZnV0dXJlIG9mIHN5bnRoZXRpYyBiaW9sb2d5IGFuZCBjeXN0aWMgZmlicm9zaXMgcmVzZWFyY2guPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+T25seSBhd2FyZW5lc3MgYW5kIGtub3dsZWRnZSBjYW4gPGI+cHJldmVudCBtaXN1c2UgYW5kIG1pc2luZm9ybWF0aW9uPC9iPi48L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDxwPlRoaXMgaXMgYXBwbGljYWJsZSB0byBib3RoIGN5c3RpYyBmaWJyb3NpcyBhbmQgc3ludGhldGljIGJpb2xvZ3kgaW4gZ2VuZXJhbC48L3A+XG4gICAgICAgICAgICA8cD5NYW55IHBlb3BsZSBncmF2aXRhdGUgdG93YXJkcyBmaWVsZHMgdGhleSBhcmUgaW50ZXJlc3RlZCBpbi4gQXdhcmVuZXNzLCBleHBsb3JhdGlvbiwgYW5kIHJlY2VpdmluZyBuZXcga25vd2xlZGdlIGFyZSBuZWNlc3NhcnkgdG8gY3VsdGl2YXRlIGFuIGF1dGhlbnRpYyBcbiAgICAgICAgICAgICAgICBpbnRlcmVzdCwgd2hpY2gsIHRvZ2V0aGVyIHdpdGggcG9zaXRpdmUgc29jaWFsIGludGVyYWN0aW9uLCBmb3JtcyBhIHByb21pc2luZyBmb3VuZGF0aW9uIGZvciBhIGxhc3RpbmcgaW50ZXJlc3Q8VGFiU2Nyb2xsTGluayB0YWI9XCJlZHUtb3ZlcnZpZXdcIiBudW09XCIxXCIgc2Nyb2xsSWQ9XCJkZXNjLWVkdVwiLz4uIEFzIGZ1dHVyZSByZXNlYXJjaGVycyBhbmQgcGFydCBvZiBhIFxuICAgICAgICAgICAgICAgIGNvbXBldGl0aW9uIGFpbWluZyBmb3IgY29udGludW91cyBpbm5vdmF0aW9uLCB3ZSBmZWVsIGVkdWNhdGlvbiBpcyBhbiBpbXBvcnRhbnQgYXNjcGVjdCB0aGF0IHNob3VsZCBub3QgYmUgc2hydWdnZWQgb2ZmIHVuZGVyIHRoZSBndWlzZSBvZiBmb2N1c2luZyBvbiBIdW1hbiBQcmFjdGljZXMuPC9wPlxuXG4gICAgICAgICAgICA8SDQgaWQ9XCJlZHUtd2h5LWhlYWRpbmdcIiB0ZXh0PVwiT3VyIGVkdWNhdGlvbmFsIGFjdGl2aXRpZXNcIi8+XG4gICAgICAgICAgICA8cD5JbiBib3RoIFwiRGVyIFRldXRvIHJ1ZnQhXCIgYW5kIHRoZSBDZUJpVGVjIFN0dWRlbnQgQWNhZGVteSwgb3VyIHRlYW0gZm9jdXNlZCBvbiBlZHVjYXRpb24gdGhyb3VnaCBwZXJzb25hbCBjb250YWN0IG5vdCBvbmx5IGFzIHdheSB0byBzcHJlYWQgXG4gICAgICAgICAgICAgICAgYXdhcmVuZXNzIGFib3V0IGN5c3RpYyBmaWJyb3NpcywgYnV0IHRvIHNwcmVhZCB0aGUgbG92ZSB3ZSBoYXZlIGZvciB3aGF0IHdlIGRvLiA8L3A+XG4gICAgICAgICAgICA8cD5XZSBhcmUgZ2xhZCB0byBoYXZlIGhhZCB0aGUgcG9zc2liaWxpdHkgdG8gd29yayB3aXRoIHN1Y2ggZGlmZmVyZW50IGF1ZGllbmNlcy4gV2hpbGUgXCJEZXIgVGV1dG8gcnVmdCFcIiBoYWQgYSBmb2N1cyBvbiBmYW1pbGllcyBhbmQgcmVxdWlyZWQgYSBjcmVhdGl2ZVxuICAgICAgICAgICAgICAgIGFwcHJvYWNoLCB0aGUgXCJTY2hcdTAwRkNsZXIqaW5uZW4gQWthZGVtaWVcIiBhbmQgXCJNSU5UIFNvbW1lclwiIGFsbG93ZWQgdXMgdG8gaW50ZXJhY3Qgd2l0aCBhc3BpcmluZyByZXNlYXJjaGVycyB3aG8gbWF5IHZlcnkgd2VsbCBiZSBvdXIgZnV0dXJlIGNsYXNzbWF0ZXMgYXQgXG4gICAgICAgICAgICAgICAgQmllbGVmZWxkIFVuaXZlcnNpdHkuIFxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHA+SG93ZXZlciwgd2UgY2FtZSB0byByZWFsaXplIHRoYXQgXCJEZXIgVGV1dG8gcnVmdCFcIiBtYXkgaGF2ZSBiZWVuIHRoZSBtb3JlIGltcGFjdGZ1bCBldmVudCBmb3Igb3VyIHBlcnNvbmFsIGdyb3d0aC4gSXQgdG9vayB1cyBvdXQgb2YgdGhlIGZhbWlsaWFyIFxuICAgICAgICAgICAgICAgIFwic2NpZW5jZSBidWJibGVcIiBhbmQgaW50byBhIHNwYWNlIHdoZXJlIHdlIGNvdWxkIGludGVyYWN0IHdpdGggdGhlIGdlbmVyYWwgcHVibGljXHUyMDE0cGVvcGxlIHdobyBkb25cdTIwMTl0IG5lY2Vzc2FyaWx5IGhhdmUgYSBzY2llbnRpZmljIGJhY2tncm91bmQuIFRoaXMgXG4gICAgICAgICAgICAgICAgZXhwZXJpZW5jZSByZW1pbmRlZCB1cyBob3cgbm9uLXNjaWVudGlzdHMgcGVyY2VpdmUgY29tcGxleCB0b3BpY3MgbGlrZSBnZW5lIHRoZXJhcHkgYW5kIGN5c3RpYyBmaWJyb3Npcy4gSXQgYWxzbyBoaWdobGlnaHRlZCB0aGUgaW1wb3J0YW5jZSBvZiBub3Qgb25seSBcbiAgICAgICAgICAgICAgICBldGhpY2FsIHJlc3BvbnNpYmlsaXR5IGJ1dCBhbHNvIHNvY2lhbCByZXNwb25zaWJpbGl0eSBpbiBjb21tdW5pY2F0aW5nIHNjaWVuY2UuIFdlIGdhaW5lZCBhbmQgcmVnYWluZWQgaW5zaWdodCBpbnRvIHRoZSBjb25jZXJucywgbWlzY29uY2VwdGlvbnMsIGFuZCBcbiAgICAgICAgICAgICAgICBob3BlcyB0aGF0IHRoZSBwdWJsaWMgaGFzIHJlZ2FyZGluZyBzeW50aGV0aWMgYmlvbG9neSwgYWxsb3dpbmcgdXMgdG8gYmV0dGVyIHVuZGVyc3RhbmQgd2hhdCBpcyBub3Qgb25seSBzY2llbnRpZmljYWxseSBzb3VuZCBidXQgYWxzbyBzb2NpYWxseSBcbiAgICAgICAgICAgICAgICBhY2NlcHRhYmxlLiBXZSBhcmUgY29uZmlkZW50IHRoYXQgcGFydGljaXBhdGluZyBpbiBcIkRlciBUZXV0byBydWZ0IVwiIHZlcnkgcG9zaXRpdmVseSBpbmZsdWVuY2VkIG91ciBhcHByb2FjaCB0byBmdXJ0aGVyIGNvbW11bmljYXRpb24uIDwvcD5cbiAgICAgICAgICAgIDxINCB0ZXh0PVwiUmVmZXJlbmNlc1wiPjwvSDQ+XG4gICAgICAgICAgICA8RWR1U291cmNlcy8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBpZD1cImFrYWRlbWllXCIgY2xhc3NOYW1lPVwiZWR1LWN5Y2xldGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgIDxINCBpZD1cInN0dWRlbnQtYWNhZGVteS1oZWFkaW5nXCIgdGV4dD1cIlN0dWRlbnQgYWNhZGVteSBvbiB0aGUgdG9waWMgb2Ygc3ludGhldGljIGJpb2xvZ3lcIi8+XG4gICAgICAgICAgICAgICAgPEg1IGlkPVwiU2NoXHUwMEZDbGVyKmlubmVuIEFrYWRlbWllXCIgdGV4dD1cIlRlYWNoaW5nIHRoZSBOZXh0IEdlbmVyYXRpb24gb2YgU3luQmlvIFBpb25lZXJzIFwiLz5cbiAgICAgICAgICAgICAgICA8cD4gVGhlIENlbnRlciBmb3IgQmlvdGVjaG5vbG9neSAoQ2VCaVRlYykgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHkgb3JnYW5pemVzIHRoZSBhbm51YWwuIDxhIGhyZWY9XCJodHRwczovL3d3dy5jZWJpdGVjLnVuaS1iaWVsZWZlbGQuZGUvZXZlbnRzL2Z1dGhlci1ldmVudHMvNjQ4LTExLXNjaHVlbGVyYWthZGVtaWVcIiB0aXRsZT1cIkNlQmlUZWMgU3R1ZGVudCBBY2FkZW15IGZvciBcdTIwMUNCaW90ZWNobm9sb2d5IGFuZCBCaW9tZWRpY2luZVwiID4gQ2VCaVRlYyBTdHVkZW50IEFjYWRlbXkgZm9yIFx1MjAxQ0Jpb3RlY2hub2xvZ3kgYW5kIEJpb21lZGljaW5lIDwvYT4gU3VwcG9ydGVkIGJ5IDxhIGhyZWY9XCJodHRwczovL3d3dy5vc3RodXNoZW5yaWNoLXN0aWZ0dW5nLmRlXCIgdGl0bGU9XCJPc3RodXNoZW5yaWNoIEZvdW5kYXRpb25cIiA+IE9zdGh1c2hlbnJpY2ggRm91bmRhdGlvbiA8L2E+IGFuZCB0aGUgPGEgaHJlZj1cImh0dHBzOi8vd3d3LmJlenJlZy1kZXRtb2xkLm5ydy5kZS9cIiB0aXRsZT1cIkRldG1vbGQgZGlzdHJpY3QgZ292ZXJubWVudFwiID4gRGV0bW9sZCBkaXN0cmljdCBnb3Zlcm5tZW50IDwvYT4sIHRoZSBhY2FkZW15IG9mZmVycyBzdHVkZW50cyBhIHVuaXF1ZSBvcHBvcnR1bml0eSB0byBkZWVwZW4gdGhlaXIgdW5kZXJzdGFuZGluZyBvZiBiaW9sb2d5LCBnZW5ldGljcywgYW5kIG1vbGVjdWxhciBiaW9sb2d5IHRocm91Z2ggaGFuZHMtb24gZXhwZXJpbWVudHMgYW5kIGV4cGVydCBsZWN0dXJlcy4gS2V5IHRvcGljcyBpbmNsdWRlIG5hbm9wb3JlIHNlcXVlbmNpbmcsIHR1bW9yIGRpYWdub3N0aWNzLCBhbmQgdGhlIGV2b2x1dGlvbiBvZiBTQVJTLUNvVi0yLiBUaGUgcHJvZ3JhbSBpcyBlc3BlY2lhbGx5IHZhbHVhYmxlIGZvciBzdHVkZW50cyB0cmFuc2l0aW9uaW5nIGZyb20gc2Nob29sIHRvIHBvdGVudGlhbCBzdHVkaWVzIGluIHRoZSBuYXR1cmFsIHNjaWVuY2VzLiBcbkR1ZSB0byBvdXIgY29sbGFib3JhdGlvbiB3aXRoIHRoZSBTdHVkZW50IEFjYWRlbXksIHdlIGNvbmR1Y3RlZCB0aGUgbmFub3BvcmUgc2VxdWVuY2luZyBleHBlcmltZW50IGFuZCBzZXJ2ZWQgYXMgdGVhY2hlcnMsIGFzc2lzdGluZyBpbiBleHBlcmltZW50IHByZXBhcmF0aW9uLCBleGVjdXRpb24sIG9mZmVyaW5nIGd1aWRhbmNlLCBhbmQgYW5zd2VyaW5nIHF1ZXN0aW9ucy4gVGhpcyByb2xlIGFsbG93ZWQgdXMgdG8gdGVhY2ggdGhlIHN0dWRlbnRzIGFib3V0IGxhYm9yYXRvcnkgd29yaywgdGhlIGNyaXRpY2FsIGFzcGVjdHMgb2YgY29uZHVjdGluZyBleHBlcmltZW50cywgYW5kIGVzc2VudGlhbCBzYWZldHkgY29uc2lkZXJhdGlvbnMuIFRoZSBleHBlcmltZW50IGludm9sdmVkIGlzb2xhdGluZyBiYWN0ZXJpYWwgRE5BLCBwcmVwYXJpbmcgc2FtcGxlcyBmb3Igc2VxdWVuY2luZywgYW5kIHBlcmZvcm1pbmcgYm90aCBzZXF1ZW5jaW5nIGFuZCBkYXRhIGFuYWx5c2lzLjwvcD5cbjxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZWRjYXRpb24tYW5kLW91dHJlYWNoL3NjaGllbGVyYWthZGVtaWUtdm9ydHJhZy1qb2Vybi5qcGdcIj48L2ltZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2VkY2F0aW9uLWFuZC1vdXRyZWFjaC9zY2hpZWxlcmFrYWRlbWllLWxpc2EtZ3J1cHBlMi5qcGdcIj48L2ltZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbjxwPjwvcD5cbjxwPjwvcD5cbiAgICAgICAgPHA+U2luY2Ugd2UgcHJlc2VudGVkIG91ciBpR0VNIHByb2plY3QgPFByZUN5c2UvPiB0byB0aGVtIGFzIHdlbGwsIHRoZSBzdHVkZW50cyB3ZXJlIGludHJvZHVjZWQgdG8gc3R1ZHktcmVsYXRlZCBwcm9qZWN0cyBsaWtlIGlHRU0uIFRoZXkgbGVhcm5lZCBhYm91dCB0aGUgZGFpbHkgdGFza3MsIGNoYWxsZW5nZXMsIGFuZCByZXNwb25zaWJpbGl0aWVzIGludm9sdmVkIGluIGlHRU0gdGhyb3VnaCBwcm9qZWN0IGRpc2N1c3Npb25zLiBNYW55IHN0dWRlbnRzIHdlcmUgY2FwdGl2YXRlZCBieSB0aGUgaUdFTSBjb25jZXB0IGFuZCBleHByZXNzZWQgaW50ZXJlc3QgaW4gcGFydGljaXBhdGluZyBkdXJpbmcgdGhlaXIgZnV0dXJlIHN0dWRpZXMuIFRoZXkgd2VyZSBwYXJ0aWN1bGFybHkgZmFzY2luYXRlZCBieSB0aGUgb3Bwb3J0dW5pdHkgdG8gZGV2ZWxvcCByZWFsIHJlc2VhcmNoIHByb2plY3RzLCB3b3JrIGluZGVwZW5kZW50bHkgaW4gdGhlIGxhYiwgbGVhcm4gZXh0ZW5zaXZlbHkgYWJvdXQgc3ludGhldGljIGJpb2xvZ3ksIGFuZCBpbXBsZW1lbnQgY3JlYXRpdmUgaWRlYXMgd2hpbGUgY29sbGFib3JhdGluZyB3aXRoIGFuIGludGVybmF0aW9uYWwgdGVhbS48L3A+ICAgICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cInRldXRvcnVmdFwiIGNsYXNzTmFtZT1cImVkdS1jeWNsZXRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgPEg0IGlkPVwidGV1cm9ydWZ0LWhlYWRpbmdcIiB0ZXh0PVwiRWR1Y2F0aW9uYWwgY2l0eSB0b3VyIGZvciB5b3VuZyBhbmQgb2xkXCIvPlxuICAgICAgICAgICAgICAgICAgICA8SDUgaWQ9XCJEZXIgVGV1dG8gcnVmdCFcIiB0ZXh0PVwiIFdoYXQgaXMgXHUyMDFDRGVyIFRldXRvIHJ1ZnQhXHUyMDFEIGFuZCB3aHkgd2UgcGFydGljaXBhdGVcIi8+ICAgICAgICAgICAgICAgXG48cD5cIkRlciBUZXV0byBydWZ0IVwiIGlzIGFuIG91dHJlYWNoIGV2ZW50IGxvY2F0ZWQgYWxsIG92ZXIgdGhlIGNpdHkgb2YgQmllbGVmZWxkIHdoZXJlIHZhcmlvdXMgbG9jYWwgY29tcGFuaWVzIGFuZCBpbnN0aXR1dGlvbnMgZW5nYWdlIHdpdGggdGhlIHB1YmxpYyB0byBpbmZvcm0gdGhlbSBhYm91dCB0aGVpciB3b3JrLiBTaW5jZSB3ZSB3YW50ZWQgdG8gcmFpc2UgYXdhcmVuZXNzIGZvciBjeXN0aWMgZmlicm9zaXMgYW5kIHByZXNlbnQgb3VyIGFwcHJvYWNoIHRvIGRldmVsb3BpbmcgYW4gb3B0aW1pemVkIGdlbmUgdGhlcmFweSB0byBjb21iYXQgdGhpcyBkaXNlYXNlLCBvdXIgcGFydGljaXBhdGlvbiBpbiB0aGUgXCJEZXIgVGV1dG8gcnVmdCFcIiBldmVudCBpbiBCaWVsZWZlbGQgd2FzIHRoZSBwZXJmZWN0IG9wcG9ydHVuaXR5IHRvIGRvIHNvLjwvcD4gICAgICAgICAgICAgICBcbjxINSBpZD1cIldoYXQgd2FzIG91ciBzdHJhdGVneT9cIiB0ZXh0PVwiV2hhdCBpcyBvdXIgc3RyYXRlZ3k/XCIvPlxuPHA+T3VyIGdvYWwgd2FzIHRvIGVkdWNhdGUgY2hpbGRyZW4gYWJvdXQgdGhlIGNoYWxsZW5nZXMgZmFjZWQgYnkgQ0YgcGF0aWVudHMsIGVzcGVjaWFsbHkgdGhlIG9uZXMgd2l0aCBsdW5nIHByb2JsZW1zLiBUaGUga25vd2xlZGdlIHdoaWNoIHdlIGdhaW5lZCBhdCB0aGUgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdjb21td29ya3Nob3AnLCAnL2NvbnRyaWJ1dGlvbicpfT4gU2NpZW5jZSBDb21tdW5pY2F0aW9uIFdvcmtzaG9wIDwvYT4gYXMgcGFydCBvZiB0aGUgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdiZmgtZXVyb3BlYW4tbWVldHVwJywgJy9jb250cmlidXRpb24nKX0+IEJGSCBNZWV0dXAgPC9hPiB3YXMgdGhlIG9wdGltYWwgYmFzaXMgdG8gcGxhbiBvdXIgb3V0cmVhY2ggdG8gdGhlIHB1YmxpYy4gV2UgZW5nYWdlZCB0aGUgY2hpbGRyZW4gd2l0aCBhY3Rpdml0aWVzIGxpa2UgY29sb3JpbmcgbHVuZyBpbWFnZXMgYW5kIGNvbmR1Y3RpbmcgZXhwZXJpbWVudHMgdG8gZXhwZXJpZW5jZSBhbmQgdW5kZXJzdGFuZCBsdW5nIHJlbGF0ZWQgc3ltcHRvbXMuICBcbk9uZSBzdWNoIGV4cGVyaW1lbnQgaW52b2x2ZWQgY3JlYXRpbmcgYSBsdW5nIG1vZGVsIGZyb20gYmFsbG9vbnMgYW5kIHN0cmF3cywgZGVtb25zdHJhdGluZyB0aGUgZGlmZmljdWx0eSBwYXRpZW50cyBoYXZlIGluIGJyZWF0aGluZyBieSBoYXZpbmcgdGhlIGNoaWxkcmVuIGJsb3cgaW50byB0aGUgc3RyYXdzLiBBZGRpdGlvbmFsbHksIHdlIHNldCB1cCBhIHRhbmsgd2l0aCBhIG1peHR1cmUgb2Ygc3RhcmNoIGFuZCB3YXRlciB0byBzaW11bGF0ZSBtdWN1cyBhbmQgcGxhY2VkIGEgYmFsbCBvbiB0b3AuIFRoZSBjaGlsZHJlbiB0cmllZCB0byBibG93IHRoZSBiYWxsIGFjcm9zcyB0aGUgc3VyZmFjZSwgaWxsdXN0cmF0aW5nIGhvdyBoYXJkIGl0IGlzIGZvciBhaXIgdG8gbW92ZSB0aHJvdWdoIG11Y3VzIGNvbXBhcmVkIHRvIHdhdGVyLCB3aGVyZSB0aGUgYmFsbCBtb3ZlZCBtdWNoIG1vcmUgZWFzaWx5LiBcblRoZSB2ZXJ5IGxpdHRsZSBvbmVzIGNvdWxkIHBhaW50IGNvbG9yaW5nIHBhZ2VzIHdoaWNoIHdlIGRlc2lnbmVkIGFuZCBwcmludGVkIGZvciB0aGVtLiBGb3IgdGhlIGFkdWx0cywgd2UgcHJvdmlkZWQgaW5mb3JtYXRpb24gYWJvdXQgb3VyIHByb2plY3QgYW5kIGRpc2N1c3NlZCB0aGUgaW1wbGljYXRpb25zIGFuZCBwb3RlbnRpYWwgb2YgZ2VuZSB0aGVyYXB5IGZvciBjeXN0aWMgZmlicm9zaXMuIFRoZXNlIGNvbnZlcnNhdGlvbnMgYXMgd2VsbCBhcyB0aGUgcmVzdWx0cyBvZiBvdXIgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdvdXItc3VydmV5cy1vbi1jeXN0aWMtZmlicm9zaXMtYW5kLWdlbmUtdGhlcmFweScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBzdXJ2ZXkgb24gQ0YgYW5kIGdlbmUgdGhlcmFweSA8L2E+IHdoaWNoIHdhcyBjb25kdWN0ZWQgZXZlbnRzIGxpa2UgdGhlc2UgbWFkZSBpdCBhYnVuZGFudGx5IGNsZWFyIHRoYXQgZGVncmVlcyBvZiBrbm93bGVkZ2Ugb24gdGhpcyB0b3BpYyB3aWRlbHkgdmFyeSB0aHJvdWdob3V0IHRoZSBwdWJsaWMgYW5kIHdlIHdlcmUgaGFwcHkgdG8gZmlsbCBpbiB0aGUgZXhpc3RpbmcgZ2FwcyBpbiBwZW9wbGUncyBrbm93bGVkZ2UgYW5kIGV4Y2hhbmdlIHBvaW50cyBvZiB2aWV3IG9uIGdlbmUgdGhlcmFweS4gIFxuTW9yZW92ZXIsIHdlIGNvbm5lY3RlZCB3aXRoIG90aGVyIGluc3RpdHV0aW9ucyBhbmQgcGFydGljaXBhbnRzIGF0IHRoZSBldmVudC4gV2Ugc2hhcmVkIG91ciBib290aCBhdCBCaWVsZWZlbGRcdTIwMTlzIFx1MjAxQ1NrdWxwdHVyZW5wYXJrXHUyMDFEIG9uIHRoZSBvdXRzaWRlIHdpdGggPGEgaHJlZj1cImh0dHBzOi8vYnRzLWV2LmRlL2JpZWxlZmVsZC9cIiB0aXRsZT1cImJ0U1wiID4gYnRTIDwvYT4sIHRoZSBsaWZlIHNjaWVuY2Ugc3R1ZGVudCBpbml0aWF0aXZlIGZyb20gQmllbGVmZWxkIFVuaXZlcnNpdHksIHdpdGggd2hvc2UgbWVtYmVycyB3ZSBoYWQgc3RpbXVsYXRpbmcgZGlzY3Vzc2lvbnMgYXMgd2VsbC4gV2Ugd2VyZSBtb3JlIHRoYW4gZGVsaWdodGVkIHdoZW4gdGhlIGNpdHkgb2YgQmllbGVmZWxkIGZlYXR1cmVkIHVzIG9uIHRoZWlyIEluc3RhZ3JhbSwgaGlnaGxpZ2h0aW5nIG91ciBwcmVzZW5jZSBkdXJpbmcgXCJEZXIgVGV1dG8gcnVmdCFcIi4gVGhpcyBjb2xsYWJvcmF0aW9uIGhlbHBlZCB1cyByZWFjaCBhIHdpZGVyIGF1ZGllbmNlIGFuZCByYWlzZSBhd2FyZW5lc3MgYWJvdXQgb3VyIHJlc2VhcmNoIGVmZm9ydHMuPC9wPlxuPGJyLz5cbnsvKiA8YSBocmVmPVwiaHR0cHM6Ly91bmliaWVsZWZlbGRkZS5zaGFyZXBvaW50LmNvbS9zaXRlcy9pR0VNMjAyNHRlYW1zL19sYXlvdXRzLzE1L3N0cmVhbS5hc3B4P2lkPSUyRnNpdGVzJTJGaUdFTTIwMjR0ZWFtcyUyRkZyZWlnZWdlYmVuZSUyMERva3VtZW50ZSUyRkdlbmVyYWwlMkZGb3RvcyUyQyUyMFZpZGVvcyUyMHVuZCUyMENvJTJGVGV1dG8lMjBydWZ0JTJGVmlkZW8lMjBJbnN0YSUyMFRldXRvJTIwUnVmdCUyRW1vdiZnYT0xJnJlZmVycmVyPVN0cmVhbVdlYkFwcCUyRVdlYiZyZWZlcnJlclNjZW5hcmlvPUFkZHJlc3NCYXJDb3BpZWQlMkV2aWV3JTJFZTRhNDNhNTUlMkRmZmYzJTJENGI0NCUyRGIwODElMkRhZDI2MzA2ZjkzZTBcIiB0aXRsZT1cInZpZGVvIFRldXRvIHJ1ZnRcIiA+IHdhdGNoIG1lPC9hPiBcbiAqL31cbiA8YnIvPlxuPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPEg1IGlkPVwiY29uY2x1c2lvblwiIHRleHQ9XCJXaGF0IGlzIG91ciBjb25jbHVzaW9uXCIvPlxuICAgICAgICA8cD5EZXNwaXRlIHRoZSBjaGFuZ2VhYmxlIHdlYXRoZXIsIHdlIGNvdWxkIGVkdWNhdGUgbWFueSBwZW9wbGUgb2YgQmllbGVmZWxkJ3MgY29tbXVuaXR5IGFib3V0IGN5c3RpYyBmaWJyb3Npcywgb3VyIHRoZXJhcGV1dGljIGFwcHJvYWNoIGFuZCBnZW5lIHRoZXJhcHkgaW4gZ2VuZXJhbCBhbmQgaGFkIHRoZSBvcHBvcnR1bml0eSB0byBpbXByb3ZlIG91ciBzY2llbmNlIGNvbW11bmljYXRpb24gZm9yIHRoZSBmdXR1cmUgYXMgd2VsbCBzbyBpdCB3YXMgYSBzdWNjZXNzZnVsIGV2ZW50ISA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICA8ZmlndXJlPlxuICAgICAgICA8aWZyYW1lIHRpdGxlPVwiQmllbGVmZWxkLUNlQmlUZWM6IFRldXRvIHJ1ZnQhICgyMDI0KSBbR2VybWFuXVwiIHdpZHRoPVwiNTYwXCIgaGVpZ2h0PVwiMzE1XCIgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy92aWRlb3MvZW1iZWQvNzA0OTljYWUtNDhhZS00NTFhLWE4ODktMTAyZWY1ZTZjY2VhXCIgZnJhbWVCb3JkZXI9XCIwXCIgYWxsb3dGdWxsU2NyZWVuPXt0cnVlfSBzYW5kYm94PVwiYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctc2NyaXB0cyBhbGxvdy1wb3B1cHMgYWxsb3ctZm9ybXNcIj48L2lmcmFtZT5cbiAgICAgICAgPGZpZ2NhcHRpb24+IDxiPkZpZ3VyZSAxLiA8L2I+IEluc3RhZ3JhbS1TdG9yeSBwb3N0ZWQgYnkgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vYmllbGVmZWxkamV0enQvXCI+PGk+QGJpZWxlZmVsZGpldHp0PC9pPjwvYT4gPC9maWdjYXB0aW9uPlxuICAgIDwvZmlndXJlPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4gICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZWRjYXRpb24tYW5kLW91dHJlYWNoL3RldXRvcnVmdC1leHBlcm1pbmV0LmpwZWdcIj48L2ltZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2VkY2F0aW9uLWFuZC1vdXRyZWFjaC90ZXV0b3J1ZnQtZ3J1cHBlLmpwZWdcIj48L2ltZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgPC9kaXY+XG5cblxuXG5cbiAgICAgICAgPGRpdiBpZD1cIm1pbnRcIiBjbGFzc05hbWU9XCJlZHUtY3ljbGV0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICA8SDQgaWQ9XCJtaW50LWhlYWRpbmdcIiB0ZXh0PVwiTUlOVCBTb21tZXJcIi8+XG4gICAgICAgICAgICAgICAgPEg1IGlkPVwid2hhdCBhbmQgd2h5IG1pbnQgc3VtbWVyXCIgdGV4dD1cIldoYXQgaXMgTUlOVCBTdW1tZXIgYW5kIHdoeSB3ZXJlIHdlIHBhcnRpY2lwYXRpbmc/XCIvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL21pbnRzb21tZXJsb2dvLnBuZ1wiIHN0eWxlPXt7d2lkdGg6XCIzMCVcIiwgaGVpZ2h0OlwiMjAlXCJ9fS8+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cdTIwMUNNSU5UIFN1bW1lciAyMDI0XHUyMDFEIGlzIGEgY29tcHJlaGVuc2l2ZSBwcm9ncmFtIGRlc2lnbmVkIHByaW1hcmlseSBmb3IgaGlnaCBzY2hvb2wgZ3JhZHVhdGVzIG9mIHRoZSBjbGFzcyBvZiAyMDI0LCB3aG8gYXJlIGNvbnNpZGVyaW5nIHB1cnN1aW5nIHN0dWRpZXMgaW4gU1RFTSBmaWVsZHMgKFNjaWVuY2UsIFRlY2hub2xvZ3ksIEVuZ2luZWVyaW5nLCBhbmQgTWF0aGVtYXRpY3MsIGluY2x1ZGluZyB0ZWFjaGluZyBkZWdyZWVzKS4gVGhlIHByb2dyYW0gaXMgcGVyZmVjdCBmb3IgdGhvc2Ugd2hvIGFyZSBzdGlsbCB1bmNlcnRhaW4gaWYgdGhleSB3YW50IHRvIHN0dWR5IGluIFNURU0gb3Igd2hpY2ggc3BlY2lmaWMgZGlzY2lwbGluZSBhbGlnbnMgYmVzdCB3aXRoIHRoZWlyIGludGVyZXN0cy48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5PdXIgcGFydGljaXBhdGlvbiBpbiA8YSBocmVmPVwiaHR0cHM6Ly93d3cudW5pLWJpZWxlZmVsZC5kZS9zdHVkaXVtL3N0dWRpZW5pbnRlcmVzc2llcnRlL21pbnQtc29tbWVyL1wiIHRpdGxlPVwiTWludCBTdW1tZXJcIiA+TUlOVCBTdW1tZXIgPC9hPiBvZmZlcmVkIHVzIHRoZSBjaGFuY2UgdG8gcmFpc2UgYXdhcmVuZXNzIG9mIGN5c3RpYyBmaWJyb3NpcyBhbmQgc2hvd2Nhc2Ugb3VyIGN1dHRpbmctZWRnZSBhcHByb2FjaCB0byBkZXZlbG9wIGFuIG9wdGltaXplZCBnZW5lIHRoZXJhcHkgdG8gY29tYmF0IHRoaXMgZGlzZWFzZS4gVGhyb3VnaCB0aGUgZXZlbnQgd2UgZW5nYWdlZCB3aXRoIHBvdGVudGlhbCBmdXR1cmUgc2NpZW50aXN0cyBhbmQgcmVzZWFyY2hlcnMsIGluZm9ybWluZyB0aGVtIGFib3V0IG91ciBwcm9qZWN0LCBpR0VNIGFuZCB0aGUgaW1wb3J0YW5jZSBvZiBzY2llbnRpZmljIHJlc2VhcmNoIGluIGFkdmFuY2luZyBtZWRpY2FsIHRyZWF0bWVudHMuIFRoaXMgcHJvZ3JhbSBub3Qgb25seSBhbGxvd3MgdXMgdG8gc2hhcmUgb3VyIG1pc3Npb24gYnV0IGFsc28gdG8gaW5zcGlyZSB0aGUgbmV4dCBnZW5lcmF0aW9uIG9mIFNURU0gc3R1ZGVudHMgYnkgaGlnaGxpZ2h0aW5nIHRoZSByZWFsLXdvcmxkIGltcGFjdCBvZiB0aGVpciBzdHVkaWVzLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8SDUgaWQ9XCJzdHJhdGVneSBzdW1tZXJcIiB0ZXh0PVwiV2hhdCB3YXMgb3VyIHN0cmF0ZWd5P1wiLz5cbiAgICAgICAgICAgICAgICAgICAgPHA+T3VyIG9iamVjdGl2ZSBhdCBNSU5UIFN1bW1lciB3YXMgdG8gaW5mb3JtIGF0dGVuZGVlcywgZXNwZWNpYWxseSBhc3BpcmluZyBTVEVNIHN0dWRlbnRzLCBhYm91dCB0aGUgdW5pcXVlIGNoYWxsZW5nZXMgZmFjZWQgYnkgY3lzdGljIGZpYnJvc2lzIChDRikgcGF0aWVudHMsIHdpdGggYSBwYXJ0aWN1bGFyIGZvY3VzIG9uIGx1bmctcmVsYXRlZCBjb21wbGljYXRpb25zLiBXZSBkcmV3IGhlYXZpbHkgb24gdGhlIGluc2lnaHRzIGdhaW5lZCBmcm9tIHRoZSBTY2llbmNlIENvbW11bmljYXRpb24gV29ya3Nob3AgYXQgdGhlIEJGSCBNZWV0dXAsIHdoaWNoIHByb3ZpZGVkIHVzIHdpdGggdGhlIHBlcmZlY3QgZnJhbWV3b3JrIHRvIG1ldGljdWxvdXNseSBwbGFuIG91ciBvdXRyZWFjaCBmb3IgdGhpcyBldmVudC4gVGhpcyBmb3VuZGF0aW9uIGFsbG93ZWQgdXMgdG8gY3JhZnQgZW5nYWdpbmcgYW5kIGVkdWNhdGlvbmFsIGFjdGl2aXRpZXMgdGhhdCBlZmZlY3RpdmVseSBjb252ZXllZCB0aGUgY29tcGxleGl0aWVzIG9mIENGIHRvIG91ciBhdWRpZW5jZSwgZW5zdXJpbmcgb3VyIG1lc3NhZ2Ugd2FzIGJvdGggaW1wYWN0ZnVsIGFuZCBhY2Nlc3NpYmxlLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPldlIHRvb2sgdGhlIG9wcG9ydHVuaXR5IHRvIGV4cGxhaW4gdGhlIGlHRU0gY29tcGV0aXRpb24gYW5kIG91ciBwcm9qZWN0IHRvIHBhcnRpY2lwYW50cy4gV2Ugc2hhcmVkIGhvdyBpR0VNIGlzIGEgZ2xvYmFsIGNvbXBldGl0aW9uIHRoYXQgYnJpbmdzIHRvZ2V0aGVyIHN0dWRlbnQgdGVhbXMgdG8gc29sdmUgcmVhbC13b3JsZCBwcm9ibGVtcyB1c2luZyBzeW50aGV0aWMgYmlvbG9neS4gV2UgZGlzY3Vzc2VkIGhvdyBvdXIgYXBwcm9hY2ggYWltcyB0byBjb3JyZWN0IHRoZSBnZW5ldGljIG11dGF0aW9uIHJlc3BvbnNpYmxlIGZvciBDRiwgcG90ZW50aWFsbHkgb2ZmZXJpbmcgYSBtb3JlIGVmZmVjdGl2ZSB0cmVhdG1lbnQuIEJ5IGVuZ2FnaW5nIHdpdGggYXR0ZW5kZWVzLCB3ZSB3ZXJlIGFibGUgdG8gaGlnaGxpZ2h0IHRoZSBzaWduaWZpY2FuY2Ugb2Ygb3VyIHJlc2VhcmNoIGFuZCB0aGUgaW1wYWN0IGl0IGNvdWxkIGhhdmUgb24gaW1wcm92aW5nIHRoZSBsaXZlcyBvZiB0aG9zZSBhZmZlY3RlZCBieSB0aGlzIGNoYWxsZW5naW5nIGNvbmRpdGlvbi4gVGhleSBnb3QgdGhlIG9wcG9ydHVuaXR5IHRvIGNvbnRyaWJ1dGUgdG8gb3VyIHByb2plY3QgYnkgcGFydGljaXBhdGluZyBpbiBvdXIgc3VydmV5LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPk92ZXIgdGhlIHRpbWUgb2YgdHdvIHdlZWtzLCB3ZSBlc3RhYmxpc2hlZCBtZWFuaW5nZnVsIGNvbm5lY3Rpb25zIHdpdGggcHJvZmVzc29ycywgc3R1ZGVudHMsIGFuZCBwYXJ0aWNpcGFudHMgYWNyb3NzIHZhcmlvdXMgU1RFTSBmaWVsZHMgZHVyaW5nIHRoZSBldmVudCwgbGlrZSB0aGUgc3R1ZGVudCBpbml0aWF0aXZlIGJ0UyBhbmQgdGhlIENhbXB1c2JyYXVlcmVpIEJpZWxlZmVsZC4gU2hhcmluZyBvdXIgcHJvamVjdCB3aXRoIHRoZSBsaWZlIHNjaWVuY2Ugc3R1ZGVudHMgd2FzIGhlbHBmdWwsIG1vdGl2YXRpbmcgYW5kIG9wZW5lZCB0aGUgZG9vciB0byBlbmdhZ2luZyBkaXNjdXNzaW9ucyB0aGF0IGVucmljaGVkIG91ciBwZXJzcGVjdGl2ZSBhbmQgZm9zdGVyZWQgY29sbGFib3JhdGlvbi4gVGhlc2UgaW50ZXJhY3Rpb25zIGFsbG93ZWQgdXMgdG8gY29ubmVjdCB3aXRoIGV4cGVydHMgYW5kIHN0dWRlbnRzIGZyb20gZGlmZmVyZW50IGRpc2NpcGxpbmVzLCBlbmhhbmNpbmcgb3VyIHVuZGVyc3RhbmRpbmcgb2YgaG93IG91ciBnZW5lIHRoZXJhcHkgcmVzZWFyY2ggZm9yIGN5c3RpYyBmaWJyb3NpcyBmaXRzIHdpdGhpbiB0aGUgYnJvYWRlciBzY2llbnRpZmljIGxhbmRzY2FwZS48L3A+XG4gICAgICAgICAgICAgICAgPEg1IGlkPVwiY29uY2x1c2lvbiBzdW1tZXJcIiB0ZXh0PVwiV2hhdCBpcyBvdXIgY29uY2x1c2lvbj9cIi8+XG4gICAgICAgICAgICAgICAgICAgIDxwPlRoZSBleHBlcmllbmNlIGFsbG93ZWQgdXMgdG8gcmVmaW5lIG91ciBzY2llbmNlIGNvbW11bmljYXRpb24gc2tpbGxzIGFuZCBjb25uZWN0IHdpdGggYSBicm9hZCByYW5nZSBvZiBTVEVNIHByb2Zlc3Npb25hbHMgYW5kIHN0dWRlbnRzLiBPdmVyYWxsLCB0aGUgZXZlbnQgd2FzIGEgdmFsdWFibGUgb3Bwb3J0dW5pdHkgZm9yIGJvdGggZWR1Y2F0aW9uIGFuZCBwcm9mZXNzaW9uYWwgZ3Jvd3RoLCBtYWtpbmcgaXQgYSByZXdhcmRpbmcgYW5kIGltcGFjdGZ1bCBleHBlcmllbmNlIGZvciBvdXIgdGVhbS4gPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn0iLCAiaW1wb3J0IHsgIEJ1dHRvbk9uZVdpdGhTY3JvbGwgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5pbXBvcnQgeyBINCwgSDUgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgTG9yZW1TaG9ydCB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0xvcmVtaXBzdW1cIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gSFBFbnRyZXByZW5ldXIoKXtcblxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9e3ttYXJnaW5Ub3A6IFwiNXZoXCIsIG1hcmdpbkJvdHRvbTogXCI1dmhcIn19PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlbnQtY3ljbGV0YWJcIiB0ZXh0PVwiT3ZlcnZpZXdcIiBvcGVuPVwiZW50LW92ZXJ2aWV3XCIgc2Nyb2xsSWQ9XCJlbnQtaGVhZGluZ1wiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlbnQtaW50ZXJ2aWV3XCIgdGV4dD1cIkludGVydmlld3Mgd2l0aCBGb3VuZGVyc1wiIG9wZW49XCJlbnQtaW50ZXJ2aWV3XCIgc2Nyb2xsSWQ9XCJlbnQtaW50ZXItaGVhZGluZ1wiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlbnQtaW50ZXJ2aWV3XCIgdGV4dD1cIk5leHQgU3RlcHNcIiBvcGVuPVwiZW50LW5leHRcIiBzY3JvbGxJZD1cImVudC1jb3Vyc2UtaGVhZGluZ1wiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBcblxuICAgICAgICA8ZGl2IGlkPVwiZW50LW92ZXJ2aWV3XCIgY2xhc3NOYW1lPVwiZW50LWludGVydmlld1wiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICA8SDQgaWQ9XCJlbnQtaGVhZGluZ1wiIHRleHQ9XCJFbnRyZXByZW5ldXJzaGlwIGFzIHBhcnQgb2YgYSBpbnRlZ3JhdGVkIGh1bWFuIHByYWN0aWNlIC0gYnV0IHdoeT9cIi8+XG4gICAgICAgICAgICA8cD5FbnRyZXByZW5ldXJzaGlwIGlzIG5vdCBvbmx5IGFuIGludGVyZXN0aW5nIHBvc3NpYmlsaXR5IGJ1dCBuZWNlc3NhcnkgdG8gdHVybiBvdXIgaWRlYXMgYW5kIHJlc3VsdHMgaW50byBhIHJlYWwgcHJvZHVjdCB0aGF0IGNhbiBoZWxwIHBlb3BsZS4gPC9wPlxuICAgICAgICAgICAgPHA+VGhhdCBpcyB3aHkgaW4gdGhpcyBzZWN0aW9uIHdlIGZvY3VzIG9uIHRoZSBhc3BlY3RzIG9mIGVudHJlcHJlbmV1cnNoaXAgdGhhdCBhcmUgY3J1Y2lhbCBmb3IgdGhlIHBvdGVudGlhbCBzdWNjZXNzZnVsIHJlYWxpc2F0aW9uIG9mIG91ciBwcm9qZWN0IHRvIGRldmVsb3AgbmV3IHRoZXJhcGllcyBmb3IgY3lzdGljIGZpYnJvc2lzLiBBIHBpdm90YWwgbW9tZW50IHdhcyBvdXIgaW50ZXJ2aWV3IHdpdGggTmljb2xlIEZyaWVkbGVpbiwgd2hpY2ggZ2F2ZSB1cyB2YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIHRoZSBjaGFsbGVuZ2VzIGFuZCBvcHBvcnR1bml0aWVzIGluIHRoZSBmaWVsZCBvZiBiaW9tZWRpY2FsIGlubm92YXRpb24uIFRoZSBkaXNjdXNzaW9ucyBpbiB0aGUgaW50ZXJ2aWV3IGVuY291cmFnZWQgdXMgdG8gbG9vayBtb3JlIGNsb3NlbHkgYXQgdGhlIHJlZ3VsYXRvcnkgcmVxdWlyZW1lbnRzLCB3aGljaCBpcyB3aHkgb25lIHRlYW0gbWVtYmVyIGNvbXBsZXRlZCBhIEd4UCBjb3Vyc2UgYW5kIHN1YnNlcXVlbnRseSB0cmFpbmVkIHRoZSB0ZWFtIGluIHRoaXMgYXJlYS4gSW4gYWRkaXRpb24sIHdlIGNvbmR1Y3RlZCBmdXJ0aGVyIGludGVydmlld3MgaW4gdGhlIGFyZWEgb2YgZW50cmVwcmVuZXVyc2hpcCB0byBnYWluIGEgYmV0dGVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHByYWN0aWNhbCBhc3BlY3RzIG9mIGJ1c2luZXNzIGRldmVsb3BtZW50LiBUaGVzZSBleHBlcmllbmNlcyBub3Qgb25seSBlbnJpY2hlZCB0aGUgc2NpZW50aWZpYyBkZXB0aCBvZiBvdXIgcHJvamVjdCwgYnV0IGFsc28gc2hhcnBlbmVkIG91ciBwZXJzcGVjdGl2ZSBvbiB0aGUgcHJhY3RpY2FsIGltcGxlbWVudGF0aW9uIGFuZCBtYXJrZXQgbGF1bmNoIG9mIG5ldyB0aGVyYXBpZXMuIFxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPEg0IGlkPVwiZW50LWhlYWRpbmdcIiB0ZXh0PVwiT3VyIEVudHJlcHJlbmV1cnNoaXBcIi8+XG4gICAgICAgICAgICA8TG9yZW1TaG9ydC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgaWQ9XCJlbnQtaW50ZXJ2aWV3XCIgY2xhc3NOYW1lPVwiZW50LWludGVydmlld1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgIDxINCBpZD1cImVudC1pbnRlci1oZWFkaW5nXCIgdGV4dD1cIlF1ZXN0aW9uIDE6IElkZWEgVmFsaWRhdGlvblwiLz5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB3ZSBhc2tlZCB0aGUgRm91bmRlcnNcIi8+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJhc2stcFwiPkhvdyBkaWQgeW91IHRlc3QgdGhlIG1hcmtldGFiaWxpdHkgb2YgeW91ciBzY2llbnRpZmljIGlkZWEgLSBob3cgZGlkIHlvdSBnZXQgYSBmaXJzdCBpbXByZXNzaW9uIHRoYXQgdGhlcmUgaXMgYSBuZWVkIGZvciB5b3VyIHByb2R1Y3Qgb3Igc2VydmljZT8gPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJXaGF0IHRoZSBGb3VuZGVycyBoYWQgdG8gc2F5IFwiLz5cbiAgICAgICAgICAgIDxwPjxiPlBsYXNtaWRGYWN0b3J5IChNYXJ0aW4gU2NobGVlZik8L2I+PC9wPlxuICAgICAgICAgICAgPHA+UGxhc21pZEZhY3RvcnkgdGVzdGVkIHRoZSBtYXJrZXRhYmlsaXR5IG9mIHRoZWlyIGlkZWEgdGhyb3VnaCBwYXJ0aWNpcGF0aW9uIGluIHNjaWVudGlmaWMgY29uZmVyZW5jZXMuIEVuZ2FnaW5nIHdpdGggb3RoZXIgc2NpZW50aXN0cyBhbmQgcHJlc2VudGluZyB0aGVpciBvd24gcmVzZWFyY2ggYWxsb3dlZCB0aGVtIHRvIGdhdWdlIHRoZSBpbnRlcmVzdCBhbmQgbmVlZHMgd2l0aGluIHRoZSBmaWVsZC4gRGlyZWN0IGZlZWRiYWNrIGZyb20gdGhlc2UgZXZlbnRzIGhlbHBlZCB0aGVtIGFzc2VzcyB3aGV0aGVyIHRoZWlyIHByb2R1Y3Qgd2FzIGFsaWduZWQgd2l0aCBtYXJrZXQgZGVtYW5kIGFuZCBpZiB0aGV5IG5lZWRlZCB0byBtb2RpZnkgb3IgYWNjZWxlcmF0ZSBjZXJ0YWluIGFzcGVjdHMgb2YgZGV2ZWxvcG1lbnQuICAgICBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPjxiPlJOaGFsZSAoQmVuamFtaW4gV2lua2VsamFubik8L2I+PC9wPlxuICAgICAgICAgICAgPHA+Uk5oYWxlIHZhbGlkYXRlZCB0aGVpciBpZGVhIGJ5IHNlZWtpbmcgZmVlZGJhY2sgZnJvbSBib3RoIHRoZSBzY2llbnRpZmljIGNvbW11bml0eSBhbmQgaW5kdXN0cnkgcHJvZmVzc2lvbmFscyBhdCBjb25mZXJlbmNlcyBhbmQgbmV0d29ya2luZyBldmVudHMuIFRoZXkgbm90aWNlZCBncm93aW5nIGludGVyZXN0IGluIFJOQSB0aGVyYXBldXRpY3MsIHBhcnRpY3VsYXJseSBmb3IgbHVuZyBkZWxpdmVyeS4gVGhlIGNoYWxsZW5nZXMgc3Vycm91bmRpbmcgZGVsaXZlcnkgc3lzdGVtcywgZXNwZWNpYWxseSBoaWdobGlnaHRlZCBkdXJpbmcgdGhlIENPVklELTE5IHBhbmRlbWljLCBjb25maXJtZWQgdGhhdCB0aGVyZSB3YXMgYSBzdHJvbmcgbWFya2V0IGRlbWFuZCBmb3IgdGhlaXIgdGVjaG5vbG9neSwgd2hpY2ggbW90aXZhdGVkIHRoZW0gdG8gbW92ZSBmb3J3YXJkIHdpdGggY29tbWVyY2lhbGl6YXRpb24uPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJMZWFybmluZ3MgYW5kIEltcGxpY2F0aW9ucyBmb3Igb3VyIHByb2plY3QgXCIvPlxuICAgICAgICAgICAgPHA+Rm9yIG91ciBwcm9qZWN0LCBhIGNvbmNyZXRlIG5leHQgc3RlcCB3b3VsZCBiZSB0byBhY3RpdmVseSBzZWVrIGZlZWRiYWNrIGZyb20gY3lzdGljIGZpYnJvc2lzIHJlc2VhcmNoIGNvbW11bml0aWVzIGFuZCBiaW90ZWNoIGNvbmZlcmVuY2VzLiBXZSBzaG91bGQgY29udGludWUgdG8gcHJlc2VudCBvdXIgUk5BLWJhc2VkIGdlbmUgdGhlcmFweSBhcHByb2FjaCB0byBleHBlcnRzIGluIGdlbmUgZWRpdGluZyBhbmQgZGVsaXZlcnkgc3lzdGVtcywgc3BlY2lmaWNhbGx5IGFza2luZyBmb3IgaW5wdXQgb24gb3VyIGRlbGl2ZXJ5IG1lY2hhbmlzbSB1c2luZyBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKS4gVGhpcyBlYXJseSBlbmdhZ2VtZW50IGNvdWxkIGhlbHAgaWRlbnRpZnkgd2hldGhlciBvdXIgYXBwcm9hY2ggYWRkcmVzc2VzIGEgcmVhbCB1bm1ldCBuZWVkIGluIGN5c3RpYyBmaWJyb3NpcyB0cmVhdG1lbnQgYW5kIHJlZmluZSBvdXIgcHJvZHVjdCB0byBiZXR0ZXIgbWVldCBjbGluaWNhbCBhbmQgcGF0aWVudCBuZWVkcy4gXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8SDQgaWQ9XCJlbnQtZXhwZXJ0LWhlYWRpbmdcIiB0ZXh0PVwiUXVlc3Rpb24gMjogUHJvb2Ytb2YtQ29uY2VwdFwiLz5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB3ZSBhc2tlZCB0aGUgRm91bmRlcnNcIi8+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJhc2stcFwiPkhvdyBkaWQgeW91IGRldmVsb3AgdGhlIGZpcnN0IHByb29mLW9mLWNvbmNlcHQgYmVmb3JlIHlvdSBoYWQgaW52ZXN0b3JzPyBEaWQgeW91IHdvcmsgd2l0aCB1bml2ZXJzaXRpZXMgb3IgcmVzZWFyY2ggaW5zdGl0dXRpb25zIHRvIGdldCBhY2Nlc3MgdG8gbGFib3JhdG9yaWVzIGFuZCBlcXVpcG1lbnQ/IDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB0aGUgRm91bmRlcnMgaGFkIHRvIHNheSBcIi8+XG4gICAgICAgICAgICA8cD48Yj5QbGFzbWlkRmFjdG9yeSAoTWFydGluIFNjaGxlZWYpPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlBsYXNtaWRGYWN0b3J5IHdhcyBhd2FyZSBvZiB0aGUgZGVtYW5kIGZvciBETkEgZWFybHkgb24sIGFzIHRoZSBmb3VuZGVycyBoYWQgYWxyZWFkeSBwcm9kdWNlZCBETkEgZm9yIGN1c3RvbWVycyBkdXJpbmcgdGhlaXIgcHJldmlvdXMgd29yay4gSW5pdGlhbGx5LCB0aGV5IGNvbGxhYm9yYXRlZCB3aXRoIGFjYWRlbWljIHBhcnRuZXJzIGFuZCBjdXN0b21lcnMgdG8gbWVldCB0aGUgZGVtYW5kIGZvciBwbGFzbWlkIEROQSwgd2hpY2ggaGVscGVkIHRoZW0gZXN0YWJsaXNoIGEgcHJvb2Ytb2YtY29uY2VwdC4gT3ZlciB0aW1lLCB0aGV5IHNoaWZ0ZWQgZnJvbSBwcmltYXJpbHkgd29ya2luZyB3aXRoIGFjYWRlbWljIGluc3RpdHV0aW9ucyB0byBjb2xsYWJvcmF0aW5nIG1vcmUgd2l0aCB0aGUgcmVzZWFyY2gtYmFzZWQgcGhhcm1hY2V1dGljYWwgaW5kdXN0cnksIHdoaWxlIG1haW50YWluaW5nIHRoZWlyIGNvbm5lY3Rpb25zIHdpdGggdW5pdmVyc2l0aWVzLiA8L3A+XG4gICAgICAgICAgICA8cD48Yj5STmhhbGUgKEJlbmphbWluIFdpbmtlbGphbm4pPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlJOaGFsZSBkZXZlbG9wZWQgdGhlaXIgcHJvb2Ytb2YtY29uY2VwdCB0aHJvdWdoIGNvbGxhYm9yYXRpb25zIHdpdGggdW5pdmVyc2l0aWVzLiBUaGV5IHN0YXJ0ZWQgd2l0aCBpbiB2aXRybyBjZWxsIGN1bHR1cmUgbW9kZWxzIGFuZCBsYXRlciBhZHZhbmNlZCB0byBtb3JlIGNvbXBsZXggc3lzdGVtcywgc3VjaCBhcyBhaXItbGlxdWlkIGludGVyZmFjZSBtb2RlbHMgYW5kIHByZWNpc2lvbi1jdXQgbHVuZyBzbGljZXMuIEFkZGl0aW9uYWxseSwgdGhleSBwZXJmb3JtZWQgYW4gaW4gdml2byBzdHVkeSBhbmQgaGFkIGFjY2VzcyB0byBodW1hbiBsdW5nIHRpc3N1ZSBzYW1wbGVzLCB3aGljaCBoZWxwZWQgdGhlbSB2YWxpZGF0ZSB0aGVpciB0ZWNobm9sb2d5IGluIGEgcmVsZXZhbnQgY2xpbmljYWwgY29udGV4dCBiZWZvcmUgc2Vla2luZyBpbnZlc3RvcnMuIDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiTGVhcm5pbmdzIGFuZCBJbXBsaWNhdGlvbnMgZm9yIG91ciBwcm9qZWN0IFwiLz5cbiAgICAgICAgICAgIDxwPkFzIHRoZSBpR0VNIFRlYW0gb2YgQmllbGVmZWxkIFVuaXZlcnNpdHksIHdlIGhhdmUgYWNjZXNzIHRvIGV4Y2VsbGVudCByZXNlYXJjaCBpbmZyYXN0cnVjdHVyZS4gQSBjb25jcmV0ZSBuZXh0IHN0ZXAgZm9yIHVzIGNvdWxkIGJlIGxldmVyYWdpbmcgdGhlIHVuaXZlcnNpdHkncyBjZWxsIGN1bHR1cmUgYW5kIGdlbmUgZWRpdGluZyBmYWNpbGl0aWVzIHRvIGRldmVsb3AgYW4gYWR2YW5jZWQgcHJvb2Ytb2YtY29uY2VwdC4gQWRkaXRpb25hbGx5LCBjb2xsYWJvcmF0aW5nIHdpdGggb3RoZXIgZGVwYXJ0bWVudHMgd2l0aGluIEJpZWxlZmVsZCBvciBwYXJ0bmVyIGluc3RpdHV0aW9ucyBjb3VsZCBoZWxwIHVzIHBlcmZvcm0gaW4gdml2byBzdHVkaWVzLiBUaGlzIHdvdWxkIGFsbG93IHVzIHRvIHZhbGlkYXRlIG91ciBsaXBpZCBuYW5vcGFydGljbGUgZGVsaXZlcnkgc3lzdGVtIGFuZCBwcmVzZW50IHN0cm9uZyBwcmVsaW1pbmFyeSBkYXRhIGZvciBmdXR1cmUgaW52ZXN0b3JzIG9yIHBhcnRuZXJzLiA8L3A+XG5cbiAgICAgICAgICAgIDxINCB0ZXh0PVwiUXVlc3Rpb24gMzogVHJhbnNpdGlvbiBmcm9tIFJlc2VhcmNoIHRvIENvbW1lcmNpYWxpemF0aW9uIFwiLz5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB3ZSBhc2tlZCB0aGUgRm91bmRlcnNcIi8+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJhc2stcFwiPldoYXQgd2VyZSB0aGUgYmlnZ2VzdCBjaGFsbGVuZ2VzIGluIHRoZSB0cmFuc2l0aW9uIGZyb20gZXhwbG9yaW5nIGEgc2NpZW50aWZpYyBpZGVhIHRvIGEgY29tbWVyY2lhbCBzdGFydC11cD8gTG9va2luZyBiYWNrLCBhcmUgdGhlcmUgY2VydGFpbiBzdGVwcyB5b3Ugd291bGQgaGF2ZSB0YWtlbiBlYXJsaWVyIG9yIGRpZmZlcmVudGx5PyA8L3A+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIldoYXQgdGhlIEZvdW5kZXJzIGhhZCB0byBzYXkgXCIvPlxuICAgICAgICAgICAgPHA+PGI+UGxhc21pZEZhY3RvcnkgKE1hcnRpbiBTY2hsZWVmKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5PbmUgb2YgdGhlIG1ham9yIGNoYWxsZW5nZXMgd2FzIGVuc3VyaW5nIHRoYXQgdGhlaXIgaWRlYSB3YXMgbWFya2V0YWJsZSwgd2hpY2ggaXMgbmV2ZXIgZW50aXJlbHkgY2xlYXIgYXQgdGhlIGJlZ2lubmluZy4gQW5vdGhlciBzaWduaWZpY2FudCBjaGFsbGVuZ2Ugd2FzIHNlY3VyaW5nIGNhcGl0YWwgZm9yIGRldmVsb3BtZW50LiBUaGV5IGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2Ygc3BlbmRpbmcgb25seSB3aGF0IHdhcyBhdmFpbGFibGUgYW5kIGhpZ2hsaWdodGVkIHRoZSByb2xlIG9mIHJlc2VhcmNoIGZ1bmRpbmcgcHJvZ3JhbXMgKEVVIG9yIG5hdGlvbmFsKSBpbiBzdXBwb3J0aW5nIGVhcmx5LXN0YWdlIGJpb3RlY2ggY29tcGFuaWVzLiBMb29raW5nIGJhY2ssIHRoZXkgbWlnaHQgbm90IGhhdmUgZG9uZSB0aGluZ3MgZGlmZmVyZW50bHkgYnV0IGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgY2FyZWZ1bCBmaW5hbmNpYWwgcGxhbm5pbmcgYW5kIG1ha2luZyBzdXJlIHRoZSBwcm9kdWN0IGhhcyBhIHBvdGVudGlhbCBtYXJrZXQuPC9wPlxuICAgICAgICAgICAgPHA+PGI+Uk5oYWxlIChCZW5qYW1pbiBXaW5rZWxqYW5uKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5Gb3IgUk5oYWxlLCB0aGUgYmlnZ2VzdCBjaGFsbGVuZ2Ugd2FzIHNlY3VyaW5nIHN1ZmZpY2llbnQgZnVuZGluZywgYXMgdHJhbnNpdGlvbmluZyBmcm9tIHVuaXZlcnNpdHktYmFzZWQgcmVzZWFyY2ggdG8gdGhlIHByaXZhdGUgc2VjdG9yIHJlcXVpcmVzIGEgc3RyYXRlZ2ljIGFwcHJvYWNoIHRvIGJyaWRnaW5nIHRoaXMgZ2FwLiBUaGV5IGFsc28gbWVudGlvbmVkIHRoYXQgZGV2ZWxvcGluZyBhIGNsZWFyIGJ1c2luZXNzIG1vZGVsIGVhcmxpZXIgb24gY291bGQgaGF2ZSBzcGVkIHVwIHRoZSBwcm9jZXNzLiBBbm90aGVyIGNoYWxsZW5nZSB3YXMgZm9ybWluZyBwYXJ0bmVyc2hpcHMgd2l0aCBpbmR1c3RyeSBhdCBhbiBlYXJsaWVyIHN0YWdlLCB3aGljaCBtaWdodCBoYXZlIGVhc2VkIGJvdGggdGhlIGZ1bmRpbmcgcHJvY2VzcyBhbmQgY29tbWVyY2lhbGl6YXRpb24gZWZmb3J0cy48L3A+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIkxlYXJuaW5ncyBhbmQgSW1wbGljYXRpb25zIGZvciBvdXIgcHJvamVjdCBcIi8+XG4gICAgICAgICAgICA8cD5Cb3RoIGZvdW5kZXJzIGVtcGhhc2l6ZWQgdGhlIGNoYWxsZW5nZSBvZiBzZWN1cmluZyBmdW5kaW5nIGFuZCBidWlsZGluZyBhIGNsZWFyIGJ1c2luZXNzIG1vZGVsLiBBdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSwgd2Ugc2hvdWxkIGNvbnNpZGVyIGV4cGxvcmluZyBwYXJ0bmVyc2hpcHMgd2l0aCBpbmR1c3RyeSBlYXJseSwgc3VjaCBhcyBiaW90ZWNoIGZpcm1zIG9yIHBoYXJtYWNldXRpY2FsIGNvbXBhbmllcy4gQSBjb25jcmV0ZSBuZXh0IHN0ZXAgY291bGQgYmUgaWRlbnRpZnlpbmcgcmVsZXZhbnQgZnVuZGluZyBwcm9ncmFtcyBsaWtlIEVYSVNUIG9yIEVVIGdyYW50cywgd2hpY2ggY291bGQgaGVscCBicmlkZ2UgdGhlIGdhcCBiZXR3ZWVuIG91ciB1bml2ZXJzaXR5IHJlc2VhcmNoIGFuZCBjb21tZXJjaWFsaXphdGlvbi4gRGV2ZWxvcGluZyBhIGJ1c2luZXNzIG1vZGVsIHRhaWxvcmVkIHRvIFJOQS1iYXNlZCB0aGVyYXBldXRpY3MgZm9yIGN5c3RpYyBmaWJyb3NpcyB3aWxsIGFsc28gYmUgY3JpdGljYWwgdG8gYXR0cmFjdCBpbnZlc3RvcnMuIDwvcD5cblxuXG4gICAgICAgICAgICA8SDQgdGV4dD1cIlF1ZXN0aW9uIDQ6IEZ1bmRpbmcgXCIvPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJXaGF0IHdlIGFza2VkIHRoZSBGb3VuZGVyc1wiLz5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImFzay1wXCI+V2hhdCBzb3VyY2VzIG9mIGZ1bmRpbmcgZGlkIHlvdSB1c2UgaW4gdGhlIGVhcmx5IHN0YWdlcyBvZiB5b3VyIGNvbXBhbnk/IFdlcmUgdGhlcmUgYW55IHNwZWNpYWwgZnVuZGluZyBwcm9ncmFtcyBvciBpbnZlc3RvcnMgdGhhdCBzcGVjaWFsaXplZCBpbiBiaW90ZWNobm9sb2d5IHN0YXJ0LXVwcz8gPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJXaGF0IHRoZSBGb3VuZGVycyBoYWQgdG8gc2F5IFwiLz5cbiAgICAgICAgICAgIDxwPjxiPlBsYXNtaWRGYWN0b3J5IChNYXJ0aW4gU2NobGVlZik8L2I+PC9wPlxuICAgICAgICAgICAgPHA+SW4gdGhlIGVhcmx5IHN0YWdlcywgZnVuZGluZyBwcm9ncmFtcyBmb3Igc3RhcnQtdXBzIGRpZCBub3QgZXhpc3QgYXMgdGhleSBkbyB0b2RheS4gUGxhc21pZEZhY3RvcnkgcmVsaWVkIG9uIHRyYWRpdGlvbmFsIHNvdXJjZXMgbGlrZSB0aGVpciBsb2NhbCBiYW5rIGFuZCBjcmVhdGl2ZSBzb2x1dGlvbnMgbGlrZSBwdXJjaGFzaW5nIHNlY29uZC1oYW5kIGVxdWlwbWVudCB0aHJvdWdoIHBsYXRmb3JtcyBsaWtlIGVCYXkuIFRoZWlyIGZpcnN0IGN1c3RvbWVycyBhbHNvIHBsYXllZCBhIGtleSByb2xlLCBhcyB0aGUgcmV2ZW51ZSBmcm9tIGluaXRpYWwgc2FsZXMgYWxsb3dlZCB0aGVtIHRvIHJlaW52ZXN0IGluIHRoZSBidXNpbmVzcyBhbmQgZnVydGhlciBpdHMgZ3Jvd3RoLjwvcD5cbiAgICAgICAgICAgIDxwPjxiPlJOaGFsZSAoQmVuamFtaW4gV2lua2VsamFubik8L2I+PC9wPlxuICAgICAgICAgICAgPHA+Uk5oYWxlIGluaXRpYWxseSByZWxpZWQgb24gcHVibGljIGZ1bmRpbmcgZnJvbSB1bml2ZXJzaXR5IGdyYW50cyBhbmQgZ292ZXJubWVudCBwcm9ncmFtcyBzdWNoIGFzIEdyb3dCaW8gYW5kIEVYSVNULCB3aGljaCBwcm92aWRlZCBjcnVjaWFsIHByZS1zZWVkIHN1cHBvcnQuIEFzIHRoZXkgdHJhbnNpdGlvbmVkIGludG8gYSBwcml2YXRlIGNvbXBhbnksIHRoZXkgc2VjdXJlZCBhZGRpdGlvbmFsIGZ1bmRpbmcgdGhyb3VnaCB0aGUgRXVyb3BlYW4gVW5pb25cdTIwMTlzIEVJQyBUcmFuc2l0aW9uIGdyYW50LiBUaGV5IGFsc28gYXR0cmFjdGVkIHZlbnR1cmUgY2FwaXRhbCBmcm9tIGZpcm1zIHNwZWNpYWxpemluZyBpbiBiaW90ZWNoLCBzdWNoIGFzIHRoZSBIaWdodGVjaC1Hclx1MDBGQ25kZXJmb25kcyBhbmQgaW50ZXJuYXRpb25hbCBpbnZlc3RvcnMgbGlrZSBLYXJtYSBGdW5kIGFuZCBXZWxsaW5ndG9uLCB3aG8gdW5kZXJzdG9vZCB0aGUgbG9uZyB0aW1lbGluZXMgYW5kIGhpZ2ggY29zdHMgYXNzb2NpYXRlZCB3aXRoIGJpb3RlY2ggZGV2ZWxvcG1lbnQuPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJMZWFybmluZ3MgYW5kIEltcGxpY2F0aW9ucyBmb3Igb3VyIHByb2plY3QgXCIvPlxuICAgICAgICAgICAgPHA+Qm90aCBmb3VuZGVycyBoaWdobGlnaHRlZCB0aGUgaW1wb3J0YW5jZSBvZiBzZWN1cmluZyBkaXZlcnNlIGZ1bmRpbmcgc291cmNlcyBlYXJseSBvbi4gQSBjb25jcmV0ZSBuZXh0IHN0ZXAgY291bGQgYmUgY29sbGFib3JhdGluZyB3aXRoIHRoZSB1bml2ZXJzaXR5XHUyMDE5cyBzdGFydHVwIHN1cHBvcnQgc2VydmljZXMgdG8gaWRlbnRpZnkgcG90ZW50aWFsIGludmVzdG9ycywgZXNwZWNpYWxseSB0aG9zZSB3aXRoIGJpb3RlY2ggZXhwZXJpZW5jZS4gQWRkaXRpb25hbGx5LCBleHBsb3Jpbmcgbm9uLXRyYWRpdGlvbmFsIHNvdXJjZXMgc3VjaCBhcyBpbmR1c3RyeS1zcG9uc29yZWQgcmVzZWFyY2ggY29sbGFib3JhdGlvbnMgY291bGQgcHJvdmlkZSBjcnVjaWFsIGluaXRpYWwgZnVuZGluZyB0byBzdXBwb3J0IHRoZSBkZXZlbG9wbWVudCBvZiBvdXIgY3lzdGljIGZpYnJvc2lzIGdlbmUgdGhlcmFweS4gPC9wPlxuXG4gICAgICAgICAgICA8SDQgdGV4dD1cIlF1ZXN0aW9uIDU6IFRlYW0gQnVpbGRpbmcgXCIvPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJXaGF0IHdlIGFza2VkIHRoZSBGb3VuZGVyc1wiLz5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImFzay1wXCI+V2hhdCBxdWFsaWZpY2F0aW9ucyBhbmQgc2tpbGxzIHdlcmUgcGFydGljdWxhcmx5IGltcG9ydGFudCB3aGVuIGJ1aWxkaW5nIHlvdXIgdGVhbT8gRGlkIHlvdSBicmluZyBpbiBleHBlcnRzIGZyb20gaW5kdXN0cnkgb3Igb3RoZXIgYXJlYXM/IDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB0aGUgRm91bmRlcnMgaGFkIHRvIHNheSBcIi8+XG4gICAgICAgICAgICA8cD48Yj5QbGFzbWlkRmFjdG9yeSAoTWFydGluIFNjaGxlZWYpPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPkZvciBQbGFzbWlkRmFjdG9yeSwgaG9uZXN0eSwgY29tbWl0bWVudCwgYW5kIGhhcmQgd29yayB3ZXJlIGNydWNpYWwuIFRoZSBpbml0aWFsIHRlYW0gY29uc2lzdGVkIG9mIGxhYiB0ZWNobmljaWFucywgYmlvY2hlbWlzdHMsIGFuZCBiaW9sb2dpc3RzLiBPdmVyIHRpbWUsIHRoZXkgZXhwYW5kZWQgdG8gaW5jbHVkZSBlbXBsb3llZXMgZnJvbSB2YXJpb3VzIGZpZWxkcywgc3VjaCBhcyBiaW90ZWNobm9sb2d5IGFuZCBldmVuIG5vbi1zY2llbnRpZmljIGFyZWFzIGxpa2UgYnVzaW5lc3MgYWRtaW5pc3RyYXRpb24gYW5kIG1hcmtldGluZy4gQnJpbmdpbmcgaW4gc29tZW9uZSB3aXRoIGluZHVzdHJ5IGV4cGVyaWVuY2Ugd2FzIHNlZW4gYXMgcGFydGljdWxhcmx5IHZhbHVhYmxlLCBhcyBpbmR1c3RyeSBvcGVyYXRlcyBkaWZmZXJlbnRseSBmcm9tIGFjYWRlbWljIGVudmlyb25tZW50cy4gPC9wPlxuICAgICAgICAgICAgPHA+PGI+Uk5oYWxlIChCZW5qYW1pbiBXaW5rZWxqYW5uKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5STmhhbGUgZW1waGFzaXplZCB0aGUgbmVlZCBmb3IgYSBiYWxhbmNlIGJldHdlZW4gdGVjaG5pY2FsIGV4cGVydGlzZSBhbmQgYnVzaW5lc3MgYWN1bWVuIHdoZW4gYnVpbGRpbmcgdGhlaXIgdGVhbS4gVGhleSBwcmlvcml0aXplZCBvcGVyYXRpb25hbCBhbGlnbm1lbnQgYW5kIHJlY3J1aXRlZCBpbmRpdmlkdWFscyBza2lsbGVkIGluIGJpb2xvZ2ljcyBtYW51ZmFjdHVyaW5nLCBpbiB2aXRybyBhbmQgaW4gdml2byBwZXJmb3JtYW5jZSwgYW5kIGJ1c2luZXNzIGRldmVsb3BtZW50LiBUaGV5IGFsc28gYnJvdWdodCBpbiBleHRlcm5hbCBleHBlcnRzLCBzdWNoIGFzIGEgcGF0ZW50IGF0dG9ybmV5LCByZWd1bGF0b3J5IGFkdmlzb3JzLCBhbmQgcHJlY2xpbmljYWwgc3BlY2lhbGlzdHMuIE1hbnkgb2YgdGhlc2UgY29ubmVjdGlvbnMgY2FtZSBmcm9tIG5ldHdvcmtpbmcgYW5kIHN0YXJ0dXAgYm9vdGNhbXBzLCB3aGljaCBwcm92aWRlZCB2YWx1YWJsZSByZXNvdXJjZXMgZm9yIGJ1aWxkaW5nIGEgd2VsbC1yb3VuZGVkIHRlYW0uIDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiTGVhcm5pbmdzIGFuZCBJbXBsaWNhdGlvbnMgZm9yIG91ciBwcm9qZWN0IFwiLz5cbiAgICAgICAgICAgIDxwPkJvdGggZm91bmRlcnMgc3RyZXNzZWQgdGhlIGltcG9ydGFuY2Ugb2YgY29tYmluaW5nIHRlY2huaWNhbCBleHBlcnRpc2Ugd2l0aCBidXNpbmVzcyBhY3VtZW4uIEF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LCB3ZSBzaG91bGQgZm9jdXMgb24gYnVpbGRpbmcgYSBkaXZlcnNlIHRlYW0gdGhhdCBpbmNsdWRlcyBub3Qgb25seSBzY2llbnRpc3RzIHNraWxsZWQgaW4gUk5BIHRoZXJhcGV1dGljcyBhbmQgZ2VuZSBlZGl0aW5nIGJ1dCBhbHNvIGluZGl2aWR1YWxzIHdpdGggZXhwZXJpZW5jZSBpbiBidXNpbmVzcyBkZXZlbG9wbWVudCBhbmQgcmVndWxhdG9yeSBhZmZhaXJzLiBBIGNvbmNyZXRlIG5leHQgc3RlcCBjb3VsZCBiZSByZWFjaGluZyBvdXQgdG8gdGhlIHVuaXZlcnNpdHlcdTIwMTlzIGJ1c2luZXNzIGFuZCBsZWdhbCBmYWN1bHRpZXMgdG8gYnJpbmcgaW4gZXhwZXJ0cyB3aG8gY2FuIGhlbHAgdXMgbmF2aWdhdGUgY29tbWVyY2lhbGl6YXRpb24gYW5kIHJlZ3VsYXRvcnkgcHJvY2Vzc2VzLiA8L3A+XG5cblxuICAgICAgICAgICAgPEg0IHRleHQ9XCJRdWVzdGlvbiA2OiBSZWd1bGF0b3J5IENoYWxsZW5nZXMgXCIvPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJXaGF0IHdlIGFza2VkIHRoZSBGb3VuZGVyc1wiLz5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImFzay1wXCI+V2hhdCByZWd1bGF0b3J5IGNoYWxsZW5nZXMgZGlkIHlvdSBmYWNlIGluIHlvdXIgc3RhcnQtdXAgcHJvY2VzcywgYW5kIGhvdyBkaWQgeW91IG92ZXJjb21lIHRoZW0/IFdoYXQgYWR2aWNlIHdvdWxkIHlvdSBnaXZlIHRvIG90aGVyIHN0YXJ0LXVwcyBpbiB0ZXJtcyBvZiBjb21wbGlhbmNlIHdpdGggcmVndWxhdGlvbnMgYW5kIGxhd3M/IDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB0aGUgRm91bmRlcnMgaGFkIHRvIHNheSBcIi8+XG4gICAgICAgICAgICA8cD48Yj5QbGFzbWlkRmFjdG9yeSAoTWFydGluIFNjaGxlZWYpPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlBsYXNtaWRGYWN0b3J5IGVtcGhhc2l6ZWQgdGhlIHN0cmljdCByZWd1bGF0aW9ucyBpbiB0aGUgYmlvdGVjaCBhbmQgcGhhcm1hY2V1dGljYWwgaW5kdXN0cmllcywgcGFydGljdWxhcmx5IGluIHRoZSBmaWVsZCBvZiBnZW5ldGljIGVuZ2luZWVyaW5nLiBUaGV5IGhpZ2hsaWdodGVkIHRoZSBpbXBvcnRhbmNlIG9mIGFkaGVyaW5nIHRvIGxhd3MgZnJvbSB0aGUgc3RhcnQuIFNpbmNlIHRoZSBmb3VuZGVycyBkaWRuXHUyMDE5dCBoYXZlIGV4dGVuc2l2ZSBleHBlcnRpc2UgaW4gcmVndWxhdG9yeSBjb21wbGlhbmNlLCB0aGV5IG92ZXJjYW1lIHRoaXMgY2hhbGxlbmdlIGJ5IGNvbGxhYm9yYXRpbmcgd2l0aCBpbnN0aXR1dGlvbnMgbGlrZSB1bml2ZXJzaXRpZXMgYW5kIHJlc2VhcmNoIGNlbnRlcnMsIHdoaWNoIHByb3ZpZGVkIHRoZSBuZWNlc3NhcnkgcmVndWxhdG9yeSBrbm93bGVkZ2UuPC9wPlxuICAgICAgICAgICAgPHA+PGI+Uk5oYWxlIChCZW5qYW1pbiBXaW5rZWxqYW5uKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5STmhhbGUgZmFjZWQgc2lnbmlmaWNhbnQgcmVndWxhdG9yeSBjaGFsbGVuZ2VzLCBwYXJ0aWN1bGFybHkgaW4gbWVldGluZyB0aGUgc3RyaWN0IHJlcXVpcmVtZW50cyBmb3IgY2xpbmljYWwgdGVzdGluZy4gVGhleSBuZWVkZWQgdG8gY29uZHVjdCBwcmVjbGluaWNhbCBzdHVkaWVzIHVuZGVyIEdvb2QgTGFib3JhdG9yeSBQcmFjdGljZSAoR0xQKSBjb25kaXRpb25zIGFuZCBlbnN1cmUgdGhlaXIgcHJvZHVjdCB3YXMgbWFudWZhY3R1cmVkIHVuZGVyIEdvb2QgTWFudWZhY3R1cmluZyBQcmFjdGljZSAoR01QKS4gVG8gbmF2aWdhdGUgdGhlc2UgcmVndWxhdGlvbnMsIHRoZXkgd29ya2VkIHdpdGggZXh0ZXJuYWwgYWR2aXNvcnMgYW5kIGNvbnRyYWN0IHJlc2VhcmNoL21hbnVmYWN0dXJpbmcgb3JnYW5pemF0aW9ucyAoQ1JPcyBhbmQgQ01PcykuIFRoZXkgcmVjb21tZW5kZWQgaW50ZWdyYXRpbmcgcmVndWxhdG9yeSBjb25zaWRlcmF0aW9ucyBlYXJseSBpbiB0aGUgZGV2ZWxvcG1lbnQgcHJvY2VzcyBhbmQgbWFpbnRhaW5pbmcgY2xvc2UgY29udGFjdCB3aXRoIHJlZ3VsYXRvcnkgZXhwZXJ0cyBhbmQgYXV0aG9yaXRpZXMgdG8gcHJldmVudCBkZWxheXMgYW5kIGVuc3VyZSBjb21wbGlhbmNlLjwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiTGVhcm5pbmdzIGFuZCBJbXBsaWNhdGlvbnMgZm9yIG91ciBwcm9qZWN0IFwiLz5cbiAgICAgICAgICAgIDxwPkJvdGggZm91bmRlcnMgaGlnaGxpZ2h0ZWQgdGhlIGNvbXBsZXhpdHkgb2YgcmVndWxhdG9yeSBjb21wbGlhbmNlLCBwYXJ0aWN1bGFybHkgaW4gYmlvdGVjaC4gRm9yIG91ciBwcm9qZWN0LCB3ZSBuZWVkIHRvIGludGVncmF0ZSByZWd1bGF0b3J5IGNvbnNpZGVyYXRpb25zIGVhcmx5LCBlc3BlY2lhbGx5IHJlZ2FyZGluZyBjbGluaWNhbCB0cmlhbHMgYW5kIHNhZmV0eSBzdGFuZGFyZHMgZm9yIGdlbmUgdGhlcmFwaWVzLiBBIGNvbmNyZXRlIHN0ZXAgd291bGQgYmUgdG8gY29uc3VsdCB3aXRoIGV4cGVydHMgaW4gR29vZCBNYW51ZmFjdHVyaW5nIFByYWN0aWNlIChHTVApIGFuZCBHb29kIExhYm9yYXRvcnkgUHJhY3RpY2UgKEdMUCksIGVuc3VyaW5nIHRoYXQgb3VyIGxpcGlkIG5hbm9wYXJ0aWNsZSBzeXN0ZW0gbWVldHMgdGhlIG5lY2Vzc2FyeSByZWd1bGF0aW9ucy4gQWRkaXRpb25hbGx5LCBlYXJseSBlbmdhZ2VtZW50IHdpdGggcmVndWxhdG9yeSBib2RpZXMgY291bGQgc21vb3RoIHRoZSBwYXRoIHRvIGV2ZW50dWFsIGNsaW5pY2FsIHRyaWFscy4gPC9wPlxuXG4gICAgICAgICAgICA8SDQgdGV4dD1cIlF1ZXN0aW9uIDc6IE1hcmtldCBFbnRyeSBhbmQgTmV0d29ya2luZyBcIi8+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIldoYXQgd2UgYXNrZWQgdGhlIEZvdW5kZXJzXCIvPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiYXNrLXBcIj5XaGF0IHJvbGUgZGlkIG5ldHdvcmtzIGFuZCBwYXJ0bmVyc2hpcHMgcGxheSB3aGVuIHlvdSBlbnRlcmVkIHRoZSBtYXJrZXQ/IEhvdyBkaWQgeW91IGFjcXVpcmUgeW91ciBmaXJzdCBjdXN0b21lcnMgb3IgcGFydG5lcnMsIGFuZCB3aGljaCBzdHJhdGVnaWVzIHdlcmUgcGFydGljdWxhcmx5IHN1Y2Nlc3NmdWw/IDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB0aGUgRm91bmRlcnMgaGFkIHRvIHNheSBcIi8+XG4gICAgICAgICAgICA8cD48Yj5QbGFzbWlkRmFjdG9yeSAoTWFydGluIFNjaGxlZWYpPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlBsYXNtaWRGYWN0b3J5J3Mgc3RyYXRlZ3kgd2FzIHNpbXBsZTogZGVtb25zdHJhdGUgc2NpZW50aWZpYyBleHBlcnRpc2UgdG8gYnVpbGQgdHJ1c3QuIFRoaXMgYXBwcm9hY2ggaGVscGVkIHRoZW0gZ2FpbiBjcmVkaWJpbGl0eSBhbmQgYXR0cmFjdCBjdXN0b21lcnMuIFRoZXkgZW1waGFzaXplZCBwYXRpZW5jZSwgbm90aW5nIHRoYXQgc3VjY2VzcyBjYW4gdGFrZSBhIGxvbmcgdGltZVx1MjAxNHNvbWV0aW1lcyB1cCB0byAxMCB5ZWFyc1x1MjAxNGJ1dCBwZXJzZXZlcmFuY2UgYW5kIG1haW50YWluaW5nIHN0cm9uZyByZWxhdGlvbnNoaXBzIHdpdGggcGFydG5lcnMgYW5kIGN1c3RvbWVycyB3ZXJlIGtleSB0byB0aGVpciBzdWNjZXNzLjwvcD5cbiAgICAgICAgICAgIDxwPjxiPlJOaGFsZSAoQmVuamFtaW4gV2lua2VsamFubik8L2I+PC9wPlxuICAgICAgICAgICAgPHA+TmV0d29ya3MgYW5kIHBhcnRuZXJzaGlwcyB3ZXJlIGNyaXRpY2FsIGZvciBSTmhhbGUncyBtYXJrZXQgZW50cnkuIFRoZXkgbGV2ZXJhZ2VkIGNvbm5lY3Rpb25zIGZyb20gdGhlaXIgdW5pdmVyc2l0eSBhZmZpbGlhdGlvbnMsIHN0YXJ0dXAgYm9vdGNhbXBzLCBhbmQgY29uZmVyZW5jZXMgdG8gYnVpbGQgcmVsYXRpb25zaGlwcyB3aXRoIGluZHVzdHJ5IGV4cGVydHMuIFRoZWlyIGZpcnN0IGN1c3RvbWVycyBhbmQgcGFydG5lcnMgd2VyZSBhY3F1aXJlZCB0aHJvdWdoIHRoZXNlIG5ldHdvcmtzLiBQYXJ0aWNpcGF0aW5nIGluIHN0YXJ0dXAgYWNjZWxlcmF0b3JzIGFuZCBwaXRjaCBldmVudHMgYWxsb3dlZCB0aGVtIHRvIHNob3djYXNlIHRoZWlyIGJ1c2luZXNzIG1vZGVsIGFuZCB0ZWNobm9sb2d5LCB3aGljaCBoZWxwZWQgc2VjdXJlIHBhcnRuZXJzaGlwcyBhbmQgYnVpbGQgY3JlZGliaWxpdHkgaW4gdGhlIFJOQSB0aGVyYXBldXRpY3MgZmllbGQuPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJMZWFybmluZ3MgYW5kIEltcGxpY2F0aW9ucyBmb3Igb3VyIHByb2plY3QgXCIvPlxuICAgICAgICAgICAgPHA+Qm90aCBmb3VuZGVycyBzdHJlc3NlZCB0aGUgaW1wb3J0YW5jZSBvZiBidWlsZGluZyBuZXR3b3JrcyBhbmQgcGFydG5lcnNoaXBzIGVhcmx5LiBGb3Igb3VyIHByb2plY3QsIHdlIHNob3VsZCBmb2N1cyBvbiBkZXZlbG9waW5nIHJlbGF0aW9uc2hpcHMgd2l0aCBpbmR1c3RyeSBleHBlcnRzIGFuZCBwb3RlbnRpYWwgcGFydG5lcnMgdGhyb3VnaCBjb25mZXJlbmNlcywgcGl0Y2ggZXZlbnRzLCBhbmQgYmlvdGVjaCBzdGFydHVwIHByb2dyYW1zLiBBIGNvbmNyZXRlIG5leHQgc3RlcCBjb3VsZCBiZSB0byBwYXJ0aWNpcGF0ZSBpbiBuZXR3b3JraW5nIGV2ZW50cyB3aGVyZSB3ZSBjYW4gcHJlc2VudCBvdXIgUk5BLWJhc2VkIHRoZXJhcHkgYW5kIGdhaW4gdmFsdWFibGUgY29udGFjdHMgaW4gdGhlIHBoYXJtYWNldXRpY2FsIGluZHVzdHJ5LiBUaGlzIGNvdWxkIGFsc28gaGVscCB1cyBpZGVudGlmeSBlYXJseSBjdXN0b21lcnMgb3Igc3RyYXRlZ2ljIHBhcnRuZXJzIHRvIGFjY2VsZXJhdGUgbWFya2V0IGVudHJ5LiA8L3A+XG5cblxuICAgICAgICAgICAgPEg0IHRleHQ9XCJRdWVzdGlvbiA4OiBJbnRlbGxlY3R1YWwgUHJvcGVydHkgKElQKSBcIi8+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIldoYXQgd2UgYXNrZWQgdGhlIEZvdW5kZXJzXCIvPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiYXNrLXBcIj5Ib3cgZGlkIHlvdSBzZWN1cmUgeW91ciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzPyBXaGF0IHN0ZXBzIHdlcmUgbmVjZXNzYXJ5IHRvIG9idGFpbiBwYXRlbnRzIG9yIGxpY2Vuc2VzPyA8L3A+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIldoYXQgdGhlIEZvdW5kZXJzIGhhZCB0byBzYXkgXCIvPlxuICAgICAgICAgICAgPHA+PGI+UGxhc21pZEZhY3RvcnkgKE1hcnRpbiBTY2hsZWVmKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5QbGFzbWlkRmFjdG9yeSBoaWdobGlnaHRlZCB0aGUgaW1wb3J0YW5jZSBvZiBrZWVwaW5nIGlkZWFzIGNvbmZpZGVudGlhbCBpbiB0aGUgZWFybHkgc3RhZ2VzIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gdGFraW5nIHRoZW0uIFRoZXkgZGlzY3Vzc2VkIHRocmVlIHN0cmF0ZWdpZXM6IHJlY29yZGluZyB0aGUgaWRlYSBhcyBhIGRlZWQgd2l0aCBhIG5vdGFyeSwgcmVnaXN0ZXJpbmcgaXQgYXMgYSB1dGlsaXR5IG1vZGVsIGZvciBsb3dlci1jb3N0IHByb3RlY3Rpb24sIGFuZCBldmVudHVhbGx5IHB1cnN1aW5nIGEgZnVsbCBwYXRlbnQsIGluaXRpYWxseSBmb2N1c2luZyBvbiBHZXJtYW55IGFuZCBwb3NzaWJseSBhIGZldyBvdGhlciBjb3VudHJpZXMuIEluIGxpY2Vuc2luZyBhZ3JlZW1lbnRzLCB0aGV5IGVuc3VyZWQgdGhhdCBmZWVzIHdlcmUgb25seSBkdWUgdG8gdGhlIHRlY2hub2xvZ3kgb3duZXIgb25jZSB0aGUgc3RhcnR1cCBlYXJuZWQgbW9uZXkgZnJvbSBpdC48L3A+XG4gICAgICAgICAgICA8cD48Yj5STmhhbGUgKEJlbmphbWluIFdpbmtlbGphbm4pPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlJOaGFsZSBzZWN1cmVkIHRoZWlyIGludGVsbGVjdHVhbCBwcm9wZXJ0eSB0aHJvdWdoIHVuaXZlcnNpdHkgbGljZW5zaW5nIGFuZCBzdHJhdGVnaWMgcGF0ZW50IGZpbGluZ3MuIEVhcmx5IHdvcmsgd2FzIHBhdGVudGVkIGJ5IHRoZSB1bml2ZXJzaXR5LCBhbmQgdGhleSBzZWN1cmVkIGV4Y2x1c2l2ZSByaWdodHMgdG8gdXNlIHRoZSB0ZWNobm9sb2d5IGZvciBjb21tZXJjaWFsaXphdGlvbiB0aHJvdWdoIGEgbGljZW5zaW5nIGFncmVlbWVudC4gRm9yIGxhdGVyIGRldmVsb3BtZW50cywgdGhleSB0b29rIGEgc3RyYXRlZ2ljIGFwcHJvYWNoLCBmaWxpbmcgcHJpb3JpdHkgcGF0ZW50cyB0byBwcm90ZWN0IG5vdmVsdHkgYW5kIGV4cGFuZGluZyBwYXRlbnQgY2xhaW1zIHdpdGhpbiB0aGUgMTItbW9udGggd2luZG93IHRvIGNvdmVyIGNvbW1lcmNpYWxseSByZWxldmFudCBhc3BlY3RzLiBUaGV5IGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgbmVnb3RpYXRpbmcgSVAgYWdyZWVtZW50cyBlYXJseSwgZXNwZWNpYWxseSB3aGVuIHdvcmtpbmcgd2l0aCB1bml2ZXJzaXRpZXMsIGFuZCBwbGFubmluZyBhIHJvYnVzdCBwYXRlbnQgc3RyYXRlZ3kuPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJMZWFybmluZ3MgYW5kIEltcGxpY2F0aW9ucyBmb3Igb3VyIHByb2plY3QgXCIvPlxuICAgICAgICAgICAgPHA+Qm90aCBmb3VuZGVycyBlbXBoYXNpemVkIHRoZSBpbXBvcnRhbmNlIG9mIHNlY3VyaW5nIElQIGVhcmx5LCBlc3BlY2lhbGx5IHdoZW4gd29ya2luZyB3aXRoIHVuaXZlcnNpdGllcyBvciBleHRlcm5hbCBwYXJ0bmVycy4gRm9yIG91ciBwcm9qZWN0LCB3ZSBzaG91bGQgZGV2ZWxvcCBhIGNsZWFyIHBhdGVudCBzdHJhdGVneSBmb3Igb3VyIFJOQS1iYXNlZCBjeXN0aWMgZmlicm9zaXMgdGhlcmFweS4gQSBjb25jcmV0ZSBuZXh0IHN0ZXAgd291bGQgYmUgdG8gY29uc3VsdCB3aXRoIElQIGV4cGVydHMgdG8gZW5zdXJlIG91ciB0ZWNobm9sb2d5IGlzIHdlbGwgcHJvdGVjdGVkLiBOZWdvdGlhdGluZyBlYXJseSBJUCBhZ3JlZW1lbnRzIHdpdGggdGhlIHVuaXZlcnNpdHkgb3IgZXh0ZXJuYWwgY29sbGFib3JhdG9ycyBpcyBjcnVjaWFsIHRvIHNhZmVndWFyZCBvdXIgaW5ub3ZhdGlvbnMgd2hpbGUgYWxsb3dpbmcgcm9vbSBmb3IgZnV0dXJlIGRldmVsb3BtZW50cy4gPC9wPlxuXG4gICAgICAgICAgICA8SDQgdGV4dD1cIlF1ZXN0aW9uIDk6IFBpdm90aW5nIFwiLz5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB3ZSBhc2tlZCB0aGUgRm91bmRlcnNcIi8+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJhc2stcFwiPldlcmUgdGhlcmUgbW9tZW50cyB3aGVuIHlvdSBoYWQgdG8gYWRhcHQgb3IgY29tcGxldGVseSBjaGFuZ2UgeW91ciBvcmlnaW5hbCBpZGVhPyBXaGF0IHdlcmUgdGhlIHRyaWdnZXJzLCBhbmQgaG93IGRpZCB5b3UgZGVhbCB3aXRoIHRoZW0/IDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB0aGUgRm91bmRlcnMgaGFkIHRvIHNheSBcIi8+XG4gICAgICAgICAgICA8cD48Yj5QbGFzbWlkRmFjdG9yeSAoTWFydGluIFNjaGxlZWYpPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlBsYXNtaWRGYWN0b3J5IGRpZCBub3QgZXhwZXJpZW5jZSBhIG1ham9yIHBpdm90IGluIHRoZWlyIGJ1c2luZXNzIG1vZGVsIGJ1dCBlbXBoYXNpemVkIHRoZSBpbXBvcnRhbmNlIG9mIGNvbnN0YW50IGRpYWxvZ3VlIHdpdGggY3VzdG9tZXJzLiBJbiBzb21lIGNhc2VzLCBjdXN0b21lcnMgZGlkIG5vdCBpbml0aWFsbHkgYWNjZXB0IHRoZWlyIGlkZWFzLCBidXQgcmF0aGVyIHRoYW4gZ2l2aW5nIHVwLCB0aGV5IHJlbWFpbmVkIHBhdGllbnQgYW5kIHJldmlzaXRlZCB0aGUgZGlzY3Vzc2lvbiB3aXRoIHJlZmVyZW5jZXMgZnJvbSBvdGhlciBzYXRpc2ZpZWQgY2xpZW50cyB0byBidWlsZCBjcmVkaWJpbGl0eS4gPC9wPlxuICAgICAgICAgICAgPHA+PGI+Uk5oYWxlIChCZW5qYW1pbiBXaW5rZWxqYW5uKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5STmhhbGUgaGFkIHRvIGFkYXB0IHRoZWlyIG9yaWdpbmFsIGlkZWEgc2V2ZXJhbCB0aW1lcy4gT25lIHNpZ25pZmljYW50IHBpdm90IHdhcyBzaGlmdGluZyBmcm9tIHByb3ZpZGluZyBhIHNlcnZpY2UgZm9yIGxpcGlkIG5hbm9wYXJ0aWNsZSBmb3JtdWxhdGlvbiB0byBkZXZlbG9waW5nIHRoZWlyIG93biBwcm9wcmlldGFyeSB0aGVyYXBldXRpYyBwcm9kdWN0IGZvciBzZXZlcmUgYXN0aG1hLiBGZWVkYmFjayBmcm9tIGludmVzdG9ycyBhbmQgcGFydGljaXBhdGlvbiBpbiBzdGFydHVwIGJvb3RjYW1wcyByZXZlYWxlZCBhIHN0cm9uZ2VyIG1hcmtldCBkZW1hbmQgZm9yIGEgcHJvZHVjdC1kcml2ZW4gYXBwcm9hY2ggd2l0aCBhIGNsZWFyIGV4aXQgc3RyYXRlZ3kuIFRoaXMgbGVkIHRoZW0gdG8gcmV2aXNlIHRoZWlyIGJ1c2luZXNzIG1vZGVsIHdoaWxlIHN0aWxsIGxldmVyYWdpbmcgdGhlaXIgY29yZSB0ZWNobm9sb2d5LjwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiTGVhcm5pbmdzIGFuZCBJbXBsaWNhdGlvbnMgZm9yIG91ciBwcm9qZWN0IFwiLz5cbiAgICAgICAgICAgIDxwPkJvdGggZm91bmRlcnMgZGlzY3Vzc2VkIHRoZSBpbXBvcnRhbmNlIG9mIHJlbWFpbmluZyBhZGFwdGFibGUgdG8gZmVlZGJhY2sgYW5kIG1hcmtldCBuZWVkcy4gRm9yIG91ciBwcm9qZWN0LCB3ZSBtdXN0IGJlIG9wZW4gdG8gbWFraW5nIHN0cmF0ZWdpYyBhZGp1c3RtZW50cyBiYXNlZCBvbiB0aGUgZmVlZGJhY2sgd2UgcmVjZWl2ZSBmcm9tIGNsaW5pY2FsIHRyaWFscywgaW52ZXN0b3JzLCBvciBwYXJ0bmVycy4gQSBjb25jcmV0ZSBuZXh0IHN0ZXAgd291bGQgYmUgdG8gZXN0YWJsaXNoIGEgZmxleGlibGUgYnVzaW5lc3MgcGxhbiB0aGF0IGFsbG93cyBmb3IgcGl2b3RzLCBzdWNoIGFzIGZvY3VzaW5nIG9uIHNwZWNpZmljIHN1YnR5cGVzIG9mIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cyBvciBhZGp1c3Rpbmcgb3VyIGxpcGlkIG5hbm9wYXJ0aWNsZSBkZWxpdmVyeSBzeXN0ZW0gdG8gbWVldCBldm9sdmluZyB0ZWNobm9sb2dpY2FsIG9yIHJlZ3VsYXRvcnkgcmVxdWlyZW1lbnRzLiA8L3A+XG5cbiAgICAgICAgICAgIDxINCB0ZXh0PVwiUXVlc3Rpb24gMTA6IExvbmctdGVybSBWaXNpb24gXCIvPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJXaGF0IHdlIGFza2VkIHRoZSBGb3VuZGVyc1wiLz5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImFzay1wXCI+RGlkIHlvdSBoYXZlIHNvbWV0aGluZyBsaWtlIGEgbG9uZy10ZXJtIHZpc2lvbiBmb3IgeW91ciBjb21wYW55IGFuZCwgaWYgc28sIGhvdyBkaWQgeW91IHJlY29uY2lsZSB0aGlzIHZpc2lvbiB3aXRoIHRoZSBzaG9ydC10ZXJtIGdvYWxzPyA8L3A+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIldoYXQgdGhlIEZvdW5kZXJzIGhhZCB0byBzYXkgXCIvPlxuICAgICAgICAgICAgPHA+PGI+UGxhc21pZEZhY3RvcnkgKE1hcnRpbiBTY2hsZWVmKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5QbGFzbWlkRmFjdG9yeSBoYWQgYSBsb25nLXRlcm0gdmlzaW9uIGZyb20gdGhlIGJlZ2lubmluZywgd2hpY2ggd2FzIHRvIHByb2R1Y2UgcGhhcm1hY2V1dGljYWwtZ3JhZGUgcGxhc21pZCBETkEgKEdNUCkuIEhvd2V2ZXIsIHRoZSBwcm9jZXNzIG9mIGJ1aWxkaW5nIGFuZCBjZXJ0aWZ5aW5nIGEgR01QIGZhY2lsaXR5IHdhcyBjb3N0bHkgYW5kIHRpbWUtY29uc3VtaW5nLiBUbyBtYW5hZ2Ugc2hvcnQtdGVybSBnb2FscywgdGhleSBkZXZlbG9wZWQgYW4gaW50ZXJtZWRpYXRlIHF1YWxpdHkgc3RhbmRhcmQgY2FsbGVkIFx1MjAxQ2hpZ2ggcXVhbGl0eSxcdTIwMUQgd2hpY2ggYWxsb3dlZCB0aGVtIHRvIHN1cHBseSBzdGFydGluZyBtYXRlcmlhbHMgZm9yIHBoYXJtYWNldXRpY2FsIHZlY3RvciBwcm9kdWN0aW9uLiBJdCB0b29rIHRoZW0gMjUgeWVhcnMgdG8gb3BlbiB0aGVpciBmaXJzdCBHTVAgZmFjaWxpdHksIGRlbW9uc3RyYXRpbmcgdGhlaXIgZm9jdXMgb24gbG9uZy10ZXJtIHBsYW5uaW5nIHdoaWxlIGJhbGFuY2luZyBpbW1lZGlhdGUgbWlsZXN0b25lcy48L3A+XG4gICAgICAgICAgICA8cD48Yj5STmhhbGUgKEJlbmphbWluIFdpbmtlbGphbm4pPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlJOaGFsZVx1MjAxOXMgbG9uZy10ZXJtIHZpc2lvbiB3YXMgdG8gZGV2ZWxvcCBSTkEtYmFzZWQgdGhlcmFwZXV0aWNzLCBwYXJ0aWN1bGFybHkgZm9yIHJlc3BpcmF0b3J5IGRpc2Vhc2VzLiBUaGV5IHJlY29uY2lsZWQgdGhpcyB2aXNpb24gd2l0aCBzaG9ydC10ZXJtIGdvYWxzIGJ5IGJyZWFraW5nIHRoZWlyIHZpc2lvbiBpbnRvIGFjdGlvbmFibGUgbWlsZXN0b25lcywgc3VjaCBhcyBkZXZlbG9waW5nIGEgbGVhZCBjYW5kaWRhdGUgZm9yIHNldmVyZSBhc3RobWEuIEFsb25nc2lkZSB0aGVpciBjb3JlIHRoZXJhcGV1dGljIGZvY3VzLCB0aGV5IG9mZmVyZWQgc21hbGwtc2NhbGUgbWFudWZhY3R1cmluZyBzZXJ2aWNlcyB0byBnZW5lcmF0ZSByZXZlbnVlIGFuZCBidWlsZCBjcmVkaWJpbGl0eS4gVGhpcyBkdWFsIGFwcHJvYWNoIGhlbHBlZCB0aGVtIG1haW50YWluIG1vbWVudHVtIHdoaWxlIHdvcmtpbmcgdG93YXJkcyB0aGVpciBsYXJnZXIgZ29hbCBvZiBlc3RhYmxpc2hpbmcgYSBwaXBlbGluZSBvZiBSTkEgdGhlcmFwZXV0aWNzLiA8L3A+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIkxlYXJuaW5ncyBhbmQgSW1wbGljYXRpb25zIGZvciBvdXIgcHJvamVjdCBcIi8+XG4gICAgICAgICAgICA8cD5Cb3RoIGZvdW5kZXJzIGhpZ2hsaWdodGVkIHRoZSBpbXBvcnRhbmNlIG9mIGFsaWduaW5nIHNob3J0LXRlcm0gZ29hbHMgd2l0aCBhIGxvbmctdGVybSB2aXNpb24uIEZvciBvdXIgcHJvamVjdCwgd2UgbXVzdCBlbnN1cmUgdGhhdCB3aGlsZSBmb2N1c2luZyBvbiBpbW1lZGlhdGUgbWlsZXN0b25lcywgc3VjaCBhcyBkZW1vbnN0cmF0aW5nIHRoZSBlZmZpY2FjeSBvZiBvdXIgUk5BLWJhc2VkIHRoZXJhcHksIHdlIG1haW50YWluIHNpZ2h0IG9mIG91ciBicm9hZGVyIGdvYWw6IHJldm9sdXRpb25pemluZyBjeXN0aWMgZmlicm9zaXMgdHJlYXRtZW50LiBBIGNvbmNyZXRlIG5leHQgc3RlcCB3b3VsZCBiZSB0byBicmVhayBkb3duIG91ciBsb25nLXRlcm0gdmlzaW9uIGludG8gYWN0aW9uYWJsZSBzaG9ydC10ZXJtIGdvYWxzLCBzdWNoIGFzIG9wdGltaXppbmcgb3VyIGRlbGl2ZXJ5IHN5c3RlbSBhbmQgc2VjdXJpbmcgcmVndWxhdG9yeSBhcHByb3ZhbHMsIHdoaWxlIGJ1aWxkaW5nIGEgc3VzdGFpbmFibGUgcGlwZWxpbmUgZm9yIGZ1dHVyZSBSTkEgdGhlcmFwZXV0aWNzLiA8L3A+ICAgXG4gICAgICAgIDwvZGl2PlxuXG5cblxuICAgICAgICA8ZGl2IGlkPVwiZW50LW5leHRcIiBjbGFzc05hbWU9XCJlbnQtaW50ZXJ2aWV3XCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgPEg0IGlkPVwiZW50LWNvdXJzZS1oZWFkaW5nXCIgdGV4dD1cIkdYUCBpbiB0aGUgY29udGV4dCBvZiBjbGluaWNhbCB0cmlhbHMgXCIvPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJSb2xlIG9mIEdYUCBpbiBTY2FsaW5nIGFuZCBQcm9vZi1vZi1Db25jZXB0XCIvPlxuICAgICAgICAgICAgPHA+VG8gdGFrZSBvdXIgUk5BLWJhc2VkIGdlbmUgdGhlcmFweSBmb3IgY3lzdGljIGZpYnJvc2lzIGNsb3NlciB0byBjbGluaWNhbCB0cmlhbHMgYW5kIHBvdGVudGlhbCBtYXJrZXQgZW50cnksIGludmVzdG9ycyBhbmQgcmVndWxhdG9yeSBhdXRob3JpdGllcyBuZWVkIFxuICAgICAgICAgICAgICAgIGNvbmZpZGVuY2UgaW4gdGhlIHF1YWxpdHkgYW5kIHJlbGlhYmlsaXR5IG9mIG91ciB3b3JrLiBXaGlsZSB0aGUgY3VycmVudCBpR0VNIHByb29mLW9mLWNvbmNlcHQgZGVtb25zdHJhdGVzIGZlYXNpYmlsaXR5LCBpbnZlc3RvcnMgdHlwaWNhbGx5IGV4cGVjdCBhIFxuICAgICAgICAgICAgICAgIG1vcmUgc29waGlzdGljYXRlZCB2YWxpZGF0aW9uLCBlc3BlY2lhbGx5IGluIDxiPkluLVZpdm8gbW9kZWxzPC9iPi4gR1hQIHdvdWxkIGJlIGZ1bmRhbWVudGFsIGluIGFjaGlldmluZyB0aGlzIG5leHQgc3RlcDogPC9wPlxuICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkdvb2QgTGFib3JhdG9yeSBQcmFjdGljZSAoR0xQKTwvYj4gd291bGQgZ3VpZGUgdGhlIGV4cGVyaW1lbnRhbCBzZXR1cCBpbiBhbmltYWwgbW9kZWxzLCBlbnN1cmluZyB0aGF0IHRoZSByZXN1bHRzIHdlIGdlbmVyYXRlIGFyZSByZXByb2R1Y2libGUgYW5kIG1lZXQgcmVndWxhdG9yeSBzdGFuZGFyZHMgZm9yIGRhdGEgaW50ZWdyaXR5IGFuZCBzYWZldHkuIFRoaXMgaXMgY3JpdGljYWwgZm9yIHByb2dyZXNzaW5nIHRvIHByZWNsaW5pY2FsIHRyaWFscy4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkdvb2QgTWFudWZhY3R1cmluZyBQcmFjdGljZSAoR01QKSA8L2I+IHdvdWxkIHBsYXkgYSBrZXkgcm9sZSBhcyB3ZSBsb29rIHRvIHNjYWxlIG91ciBwcm9kdWN0aW9uLiBOb3Qgb25seSB3b3VsZCB3ZSBuZWVkIHRvIHByb2R1Y2Ugb3VyIFJOQSBjb25zdHJ1Y3RzIGNvbnNpc3RlbnRseSwgYnV0IHdlIHdvdWxkIGFsc28gaGF2ZSB0byBkZW1vbnN0cmF0ZSB0aGF0IG91ciBtYW51ZmFjdHVyaW5nIHByb2Nlc3MgY2FuIGJlIHNjYWxlZCB3aGlsZSBtYWludGFpbmluZyBxdWFsaXR5IGFuZCBzYWZldHksIHdoaWNoIGlzIGVzc2VudGlhbCBmb3IgYXR0cmFjdGluZyBpbnZlc3RtZW50LiA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIkluc2lnaHRzIGZyb20gR1hQIFRyYWluaW5nXCIvPlxuICAgICAgICAgICAgPHA+T25lIG9mIG91ciB0ZWFtIG1lbWJlcnMgcmVjZW50bHkgY29tcGxldGVkIGFuIGludGVuc2l2ZSBHWFAgY291cnNlLCB3aGljaCByZWluZm9yY2VkIHRoZSBpbXBvcnRhbmNlIG9mIHN0YW5kYXJkIG9wZXJhdGluZyBwcm9jZWR1cmVzIChTT1BzKSBhbmQgcmlnb3JvdXMgZG9jdW1lbnRhdGlvbiB0aHJvdWdob3V0IHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzXHUyMDBCKEhQX0dYUCBjb3Vyc2UpLiBUaGlzIHRyYWluaW5nIGhhcyBwcmVwYXJlZCB1cyB0byBpbXBsZW1lbnQgcHJhY3RpY2VzIHN1Y2ggYXMgRmFpbHVyZSBNb2RlIGFuZCBFZmZlY3RzIEFuYWx5c2lzIChGTUVBKSwgYSByaXNrIGFzc2Vzc21lbnQgdGVjaG5pcXVlIHRoYXQgd2lsbCBoZWxwIGlkZW50aWZ5IHBvdGVudGlhbCBpc3N1ZXMgZWFybHkgaW4gdGhlIGRldmVsb3BtZW50IHBoYXNlLCBlbnN1cmluZyB3ZSBjYW4gcHJlZW1wdGl2ZWx5IG1pdGlnYXRlIHJpc2tzLiA8L3A+XG4gICAgICAgICAgICA8cD5BcyB3ZSBhaW0gdG8gbW92ZSB0b3dhcmRzIGNsaW5pY2FsIHRyaWFscywgR1hQIGVuc3VyZXMgdGhhdCBvdXIgcHJvZHVjdCBkZXZlbG9wbWVudCBwaXBlbGluZSBpcyBib3RoIGV0aGljYWwgYW5kIGNvbXBsaWFudCB3aXRoIGludGVybmF0aW9uYWwgc2FmZXR5IHN0YW5kYXJkcywgd2hpY2ggd2lsbCBiZSBrZXkgaW4gZGlzY3Vzc2lvbnMgd2l0aCBpbnZlc3RvcnMgYW5kIHJlZ3VsYXRvcnkgYm9kaWVzLiBCeSBlbWJlZGRpbmcgdGhlc2UgcHJpbmNpcGxlcyBlYXJseSwgd2Ugbm90IG9ubHkgZW5oYW5jZSB0aGUgcXVhbGl0eSBhbmQgcmVsaWFiaWxpdHkgb2Ygb3VyIGRhdGEgYnV0IGFsc28gbGF5IGEgZm91bmRhdGlvbiBmb3IgZnV0dXJlIGNsaW5pY2FsIGFwcGxpY2F0aW9ucy4gPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJOZXh0IFN0ZXBzXCIvPlxuICAgICAgICAgICAgPHA+QXMgd2UgbW92ZSBmb3J3YXJkLCBvdXIgdGVhbSBwbGFucyB0byBncmFkdWFsbHkgaW50ZWdyYXRlIEdYUCBzdGFuZGFyZHMgaW50byBvdXIgZGV2ZWxvcG1lbnQgcGlwZWxpbmUuIFRoZSBrbm93bGVkZ2UgZ2FpbmVkIGZyb20gdGhlIEdYUCBjb3Vyc2UsIGFsb25nIHdpdGggZXhwZXJ0IGNvbnN1bHRhdGlvbnMsIHByb3ZpZGVzIHVzIHdpdGggYSBiZXR0ZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgcmVndWxhdG9yeSBleHBlY3RhdGlvbnMgaW4gdGhlIGJpb3RlY2hub2xvZ3kgZmllbGQuIFdoaWxlIHdlIGFyZSBzdGlsbCBpbiB0aGUgZWFybHkgc3RhZ2VzIG9mIGFwcGx5aW5nIHRoZXNlIHN0YW5kYXJkcywgd2UgYWltIHRvIGFsaWduIG91ciBwcm9jZXNzZXMgd2l0aCBpbmR1c3RyeSByZXF1aXJlbWVudHMuIFRoaXMgd2lsbCBlbnN1cmUgdGhhdCwgYXMgd2UgcHJvZ3Jlc3MsIHdlIG1haW50YWluIGEgaGlnaCBsZXZlbCBvZiBxdWFsaXR5IGFuZCBjb21wbGlhbmNlLCBwYXJ0aWN1bGFybHkgYXMgd2Ugc2NhbGUgdXAgcHJvZHVjdGlvbiBhbmQgbW92ZSBjbG9zZXIgdG8gcG90ZW50aWFsIGNsaW5pY2FsIGFwcGxpY2F0aW9ucy4gPC9wPlxuICAgICAgICAgICAgPEg0IHRleHQ9XCJNYXJrZXQgRXZhbHVhdGlvblwiLz4gXG4gICAgICAgICAgICA8SDUgdGV4dD1cIjEuIFRhcmdldCBNYXJrZXQgRGVmaW5pdGlvbiBcIi8+XG4gICAgICAgICAgICA8cD48Yj5QYXRpZW50IFBvcHVsYXRpb246PC9iPiBDeXN0aWMgRmlicm9zaXMgKENGKSBpcyBhIHJhcmUgZ2VuZXRpYyBkaXNvcmRlciBhZmZlY3Rpbmcgb3ZlciA4MCwwMDAgaW5kaXZpZHVhbHMgd29ybGR3aWRlLCB3aXRoIGEgc2lnbmlmaWNhbnQgXG4gICAgICAgICAgICBjb25jZW50cmF0aW9uIGluIE5vcnRoIEFtZXJpY2EgYW5kIEV1cm9wZS4gQWJvdXQgOTAlIG9mIENGIHBhdGllbnRzIGhhdmUgYXQgbGVhc3Qgb25lIGNvcHkgb2YgdGhlIEY1MDhkZWwgbXV0YXRpb24sIHdoaWNoIG1ha2VzIHRoZW0gcG90ZW50aWFsIFxuICAgICAgICAgICAgY2FuZGlkYXRlcyBmb3IgdGhlcmFwaWVzIHRhcmdldGluZyB0aGlzIG11dGF0aW9uIFsxXSBbMl0uIDwvcD5cbiAgICAgICAgICAgIDxwPjxiPkdlb2dyYXBoaWNhbCBGb2N1czo8L2I+VGhlIGxhcmdlc3QgbWFya2V0cyBhcmUgaW4gTm9ydGggQW1lcmljYSBhbmQgRXVyb3BlLCB3aGVyZSBDRiBwcmV2YWxlbmNlIGlzIGhpZ2hlc3QsIGFuZCBhY2Nlc3MgdG8gYWR2YW5jZWQgdGhlcmFwaWVzIFxuICAgICAgICAgICAgbGlrZSBSTkEtYmFzZWQgdHJlYXRtZW50cyBpcyB3ZWxsLXN1cHBvcnRlZC4gVGhpcyB3b3VsZCBiZSB0aGUgcHJpbWFyeSBmb2N1cyBmb3Igb3VyIHRoZXJhcHksIHBhcnRpY3VsYXJseSBpbiBjb3VudHJpZXMgd2l0aCBlc3RhYmxpc2hlZCBDRiBcbiAgICAgICAgICAgIHRyZWF0bWVudCBpbmZyYXN0cnVjdHVyZXMgc3VjaCBhcyB0aGUgVS5TLiwgR2VybWFueSwgYW5kIHRoZSBVLksuIFszXS48L3A+XG4gICAgICAgICAgICA8cD48Yj5Vbm1ldCBOZWVkczogPC9iPkRlc3BpdGUgYWR2YW5jZW1lbnRzIGxpa2UgQ0ZUUiBtb2R1bGF0b3JzIChlLmcuLCBLYWZ0cmlvKSwgYXJvdW5kIDEwJSBvZiBwYXRpZW50cyBkbyBub3QgcmVzcG9uZCB0byBjdXJyZW50IHRyZWF0bWVudHMgYW5kIHJlbHkgb24gXG4gICAgICAgICAgICBzeW1wdG9tYXRpYyBjYXJlIFs0XS4gT3VyIFJOQS1iYXNlZCBnZW5lIHRoZXJhcHkgY291bGQgYWRkcmVzcyB0aGlzIHVubWV0IG5lZWQsIHNwZWNpZmljYWxseSB0YXJnZXRpbmcgdGhlIERlbHRhIEY1MDggbXV0YXRpb24gZm9yIHdoaWNoIG1hbnkgcGF0aWVudHMgaGF2ZSBcbiAgICAgICAgICAgIGxpbWl0ZWQgb3B0aW9ucy4gPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJNYXJrZXQgU2l6ZSBhbmQgR3Jvd3RoIFBvdGVudGlhbFwiLz5cbiAgICAgICAgICAgIDxwPjxiPk1hcmtldCBTaXplOiA8L2I+IFRoZSBnbG9iYWwgY3lzdGljIGZpYnJvc2lzIHRyZWF0bWVudCBtYXJrZXQgd2FzIHZhbHVlZCBhdCBVU0QgOS40MSBiaWxsaW9uIGluIDIwMjMgYW5kIGlzIGV4cGVjdGVkIHRvIGdyb3cgdG8gVVNEIDI5LjE5IGJpbGxpb24gYnkgXG4gICAgICAgICAgICAyMDMyLCB3aXRoIGEgY29tcG91bmQgYW5udWFsIGdyb3d0aCByYXRlIChDQUdSKSBvZiAxMy40JSBbNV0uIFRoaXMgZ3Jvd3RoIGlzIGRyaXZlbiBieSBhZHZhbmNlbWVudHMgaW4gZ2VuZSB0aGVyYXB5IGFuZCBpbmNyZWFzZWQgcmVzZWFyY2ggZnVuZGluZy4gR2VuZSBcbiAgICAgICAgICAgIHRoZXJhcHkgdGFyZ2V0aW5nIHRoZSBGNTA4ZGVsIG11dGF0aW9uLCB0aGUgbW9zdCBjb21tb24gQ0YgbXV0YXRpb24sIHByZXNlbnRzIGEgc2lnbmlmaWNhbnQgbWFya2V0IG9wcG9ydHVuaXR5IHdpdGhpbiB0aGlzIGxhcmdlciBDRiB0cmVhdG1lbnQgbWFya2V0WzZdLiAgPC9wPlxuICAgICAgICAgICAgPHA+PGI+R3Jvd3RoIERyaXZlcnM6PC9iPiBUaGUgaW5jcmVhc2UgaW4gQ0YgcGF0aWVudCBsaWZlc3BhbiBkdWUgdG8gaW1wcm92ZWQgdHJlYXRtZW50cywgYWxvbmdzaWRlIG9uZ29pbmcgaW5ub3ZhdGlvbiBpbiBSTkEtYmFzZWQgdGhlcmFwaWVzLCBvZmZlcnMgXG4gICAgICAgICAgICBzaWduaWZpY2FudCBncm93dGggcG90ZW50aWFsLiBUaGUgcmlzZSBpbiBnb3Zlcm5tZW50LWJhY2tlZCBpbml0aWF0aXZlcyBhbmQgbm9uLXByb2ZpdCBmdW5kaW5nIGZ1cnRoZXIgc3VwcG9ydHMgbWFya2V0IGV4cGFuc2lvbiBbN11bOF0uIDwvcD5cbiAgICAgICAgICAgIDxwPjxiPk9wcG9ydHVuaXR5IGZvciBSTkEtQmFzZWQgVGhlcmFwaWVzOjwvYj4gV2hpbGUgY3VycmVudCB0cmVhdG1lbnRzIGxpa2UgQ0ZUUiBtb2R1bGF0b3JzIHByb3ZpZGUgcmVsaWVmIGZvciBtYW55IHBhdGllbnRzLCBhcHByb3hpbWF0ZWx5IDEwJSBvZiBDRiBcbiAgICAgICAgICAgIHBhdGllbnRzIGRvIG5vdCBiZW5lZml0IGZyb20gdGhlc2UgdGhlcmFwaWVzIFs5XS4gT3VyIFJOQS1iYXNlZCB0aGVyYXB5IGhhcyB0aGUgcG90ZW50aWFsIHRvIGNhcHR1cmUgdGhpcyBzZWdtZW50IG9mIHRoZSBtYXJrZXQsIGFkZHJlc3NpbmcgYW4gdW5tZXQgXG4gICAgICAgICAgICBjbGluaWNhbCBuZWVkLjwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiMy4gQ29tcGV0aXRpdmUgTGFuZHNjYXBlIFwiLz5cbiAgICAgICAgICAgIDxwPjxiPkN1cnJlbnQgQ29tcGV0aXRvcnM6PC9iPlRoZSBjeXN0aWMgZmlicm9zaXMgdHJlYXRtZW50IHNwYWNlIGlzIGRvbWluYXRlZCBieSBwaGFybWFjZXV0aWNhbCBnaWFudHMgc3VjaCBhcyBWZXJ0ZXggUGhhcm1hY2V1dGljYWxzLCB3aGljaCBoYXMgZGV2ZWxvcGVkIFxuICAgICAgICAgICAgQ0ZUUiBtb2R1bGF0b3JzIGxpa2UgS2FmdHJpby9UcmlrYWZ0YS4gVGhlc2UgbW9kdWxhdG9ycyBhcmUgY3VycmVudGx5IHRoZSBnb2xkIHN0YW5kYXJkIGZvciB0cmVhdGluZyBDRiBwYXRpZW50cyB3aXRoIHRoZSBGNTA4ZGVsIG11dGF0aW9uIFsxMF0uIFxuICAgICAgICAgICAgT3RoZXIga2V5IHBsYXllcnMgaW4gdGhlIG1hcmtldCBpbmNsdWRlIE5vdmFydGlzLCBHaWxlYWQgU2NpZW5jZXMsIGFuZCBBYmJWaWUsIGFsbCBvZiB3aG9tIGFyZSBhY3RpdmUgaW4gQ0YgZHJ1ZyBkZXZlbG9wbWVudFsxMV0uPC9wPlxuICAgICAgICAgICAgPHA+PGI+R2VuZSBUaGVyYXB5IENvbXBldGl0b3JzOjwvYj5XaGlsZSBDRlRSIG1vZHVsYXRvcnMgaGF2ZSBiZWVuIGhpZ2hseSBzdWNjZXNzZnVsLCBzZXZlcmFsIGNvbXBhbmllcyBhcmUgZXhwbG9yaW5nIGdlbmUgdGhlcmFwaWVzIGFpbWVkIGF0IGFkZHJlc3NpbmcgdGhlIFxuICAgICAgICAgICAgcm9vdCBjYXVzZSBvZiBDRiBieSBjb3JyZWN0aW5nIG9yIHJlcGxhY2luZyBkZWZlY3RpdmUgQ0ZUUiBnZW5lcy4gRWFybHktc3RhZ2UgZ2VuZSB0aGVyYXB5IHRyaWFscyBoYXZlIGZhY2VkIGNoYWxsZW5nZXMsIGJ1dCBhZHZhbmNlbWVudHMgaW4gZGVsaXZlcnkgXG4gICAgICAgICAgICB0ZWNobm9sb2dpZXMgYW5kIENSSVNQUi1iYXNlZCB0aGVyYXBpZXMgYXJlIG9wZW5pbmcgbmV3IHBhdGh3YXlzWzEyXS48L3A+XG4gICAgICAgICAgICA8cD48Yj5PdXIgRGlmZmVyZW50aWF0aW9uOiA8L2I+IFVubGlrZSBleGlzdGluZyBDRlRSIG1vZHVsYXRvcnMgdGhhdCByZXF1aXJlIGxpZmVsb25nIGFkbWluaXN0cmF0aW9uLCBvdXIgUk5BLWJhc2VkIHRoZXJhcHkgYWltcyB0byBwcm92aWRlIGEgbW9yZSBcbiAgICAgICAgICAgIHBlcm1hbmVudCBzb2x1dGlvbiBieSBkaXJlY3RseSBhZGRyZXNzaW5nIHRoZSBnZW5ldGljIGNhdXNlIG9mIENGLCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHBhdGllbnRzIHdobyBkbyBub3QgcmVzcG9uZCB0byBjdXJyZW50IENGVFIgbW9kdWxhdG9ycy4gXG4gICAgICAgICAgICBUaGlzIGNvdWxkIHBvc2l0aW9uIHVzIGFzIGEgdW5pcXVlIHBsYXllciBpbiB0aGUgbWFya2V0LCB0YXJnZXRpbmcgYW4gdW5kZXJzZXJ2ZWQgcGF0aWVudCBncm91cC48L3A+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIjQuIEJhcnJpZXJzIHRvIEVudHJ5IFwiLz5cbiAgICAgICAgICAgIDxwPjxiPlJlZ3VsYXRvcnkgSHVyZGxlczo8L2I+T25lIG9mIHRoZSBiaWdnZXN0IGNoYWxsZW5nZXMgaW4gYnJpbmdpbmcgYSBnZW5lIHRoZXJhcHkgdG8gbWFya2V0IGlzIG5hdmlnYXRpbmcgdGhlIGNvbXBsZXggcmVndWxhdG9yeSBlbnZpcm9ubWVudC4gXG4gICAgICAgICAgICBDb21wbGlhbmNlIHdpdGggR29vZCBNYW51ZmFjdHVyaW5nIFByYWN0aWNlIChHTVApIGFuZCBHb29kIExhYm9yYXRvcnkgUHJhY3RpY2UgKEdMUCkgaXMgZXNzZW50aWFsIGZvciBvYnRhaW5pbmcgYXBwcm92YWxzIGZyb20gYm9kaWVzIGxpa2UgdGhlIEZEQSBhbmQgRU1BLiBcbiAgICAgICAgICAgIFNlY3VyaW5nIGFwcHJvdmFsIGZvciBSTkEtYmFzZWQgZ2VuZSB0aGVyYXBpZXMsIHBhcnRpY3VsYXJseSB0aG9zZSB0YXJnZXRpbmcgcmFyZSBkaXNlYXNlcyBsaWtlIGN5c3RpYyBmaWJyb3NpcywgY2FuIGludm9sdmUgbGVuZ3RoeSBhbmQgZXhwZW5zaXZlIGNsaW5pY2FsIFxuICAgICAgICAgICAgdHJpYWxzWzEzXVsxNF0uPC9wPlxuICAgICAgICAgICAgPHA+PGI+SGlnaCBSJkQgQ29zdHM6PC9iPiBEZXZlbG9waW5nIGdlbmUgdGhlcmFwaWVzIGludm9sdmVzIHNpZ25pZmljYW50IHVwZnJvbnQgY29zdHMsIGZyb20gcmVzZWFyY2ggYW5kIGRldmVsb3BtZW50IHRvIGNsaW5pY2FsIHRyaWFscy4gRm9yIGEgc21hbGwgXG4gICAgICAgICAgICBiaW90ZWNoIHN0YXJ0dXAsIHNlY3VyaW5nIHRoZSBuZWNlc3NhcnkgZnVuZGluZyBjYW4gYmUgYSBiYXJyaWVyLCBlc3BlY2lhbGx5IHdoZW4gY29tcGV0aW5nIGFnYWluc3QgZXN0YWJsaXNoZWQgcGhhcm1hY2V1dGljYWwgY29tcGFuaWVzIHdpdGggbGFyZ2VyIFImRCBcbiAgICAgICAgICAgIGJ1ZGdldHNbMTVdLjwvcD5cbiAgICAgICAgICAgIDxwPjxiPkRlbGl2ZXJ5IENoYWxsZW5nZXM6PC9iPiBFZmZlY3RpdmUgZGVsaXZlcnkgb2YgUk5BLWJhc2VkIHRoZXJhcGllcyB0byB0aGUgbHVuZ3MgcmVtYWlucyBhIHRlY2huaWNhbCBiYXJyaWVyLiBXaGlsZSBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSBzaG93IFxuICAgICAgICAgICAgcHJvbWlzZSwgb3B0aW1pemluZyB0aGUgZGVsaXZlcnkgbWV0aG9kIHRvIGVuc3VyZSBjb25zaXN0ZW50LCBzYWZlLCBhbmQgZWZmZWN0aXZlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgdGhlcmFweSBpbiBsdW5nIHRpc3N1ZXMgaXMgYSBjaGFsbGVuZ2UgdGhhdCBzdGlsbCBcbiAgICAgICAgICAgIG5lZWRzIHRvIGJlIGZ1bGx5IGFkZHJlc3NlZCBbMTZdLjwvcD5cbiAgICAgICAgICAgIDxwPjxiPk1hcmtldCBTYXR1cmF0aW9uIGFuZCBFbnRyZW5jaGVkIENvbXBldGl0b3JzOjwvYj4gVGhlIENGIHRyZWF0bWVudCBtYXJrZXQgaXMgYWxyZWFkeSBkb21pbmF0ZWQgYnkgZXN0YWJsaXNoZWQgcGxheWVycyBsaWtlIFZlcnRleCBQaGFybWFjZXV0aWNhbHMuIFxuICAgICAgICAgICAgR2FpbmluZyBhIGZvb3Rob2xkIGluIGEgbWFya2V0IHdoZXJlIENGVFIgbW9kdWxhdG9ycyBhcmUgdGhlIHN0YW5kYXJkIG9mIGNhcmUgd2lsbCByZXF1aXJlIGRlbW9uc3RyYXRpbmcgc2lnbmlmaWNhbnQgY2xpbmljYWwgYWR2YW50YWdlcywgcGFydGljdWxhcmx5IGZvciBcbiAgICAgICAgICAgIHBhdGllbnRzIG5vdCBzZXJ2ZWQgYnkgZXhpc3RpbmcgdHJlYXRtZW50c1sxN10uPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCI1LiBHby10by1NYXJrZXQgU3RyYXRlZ3lcIi8+XG4gICAgICAgICAgICA8cD48Yj5Jbml0aWFsIEZvY3VzIG9uIENsaW5pY2FsIFBhcnRuZXJzaGlwczo8L2I+IFRoZSBmaXJzdCBzdGVwIGluIGJyaW5naW5nIG91ciBSTkEtYmFzZWQgZ2VuZSB0aGVyYXB5IHRvIG1hcmtldCB3aWxsIGJlIHBhcnRuZXJpbmcgd2l0aCBhY2FkZW1pYyBcbiAgICAgICAgICAgIGluc3RpdHV0aW9ucyBhbmQgY2xpbmljYWwgcmVzZWFyY2ggY2VudGVycyB0byBjb25kdWN0IGluaXRpYWwgY2xpbmljYWwgdHJpYWxzLiBFc3RhYmxpc2hpbmcgY3JlZGliaWxpdHkgdGhyb3VnaCBjb2xsYWJvcmF0aW9ucyB3aXRoIGtleSBvcGluaW9uIGxlYWRlcnMgXG4gICAgICAgICAgICBpbiBjeXN0aWMgZmlicm9zaXMgdHJlYXRtZW50IHdpbGwgaGVscCBidWlsZCB0cnVzdCBhbmQgdmFsaWRhdGUgdGhlIGVmZmljYWN5IG9mIG91ciB0aGVyYXB5IFsxOF1bMTldLjwvcD5cbiAgICAgICAgICAgIDxwPjxiPkVhcmx5IEFkb3B0ZXJzOiA8L2I+T3VyIGZvY3VzIHdpbGwgYmUgb24gdGFyZ2V0aW5nIGVhcmx5IGFkb3B0ZXJzLCBzdWNoIGFzIHNwZWNpYWxpemVkIGN5c3RpYyBmaWJyb3NpcyBjbGluaWNzIGFuZCBob3NwaXRhbHMgdGhhdCBhcmUgZmFtaWxpYXIgXG4gICAgICAgICAgICB3aXRoIGN1dHRpbmctZWRnZSBnZW5lIHRoZXJhcGllcy4gVGhlc2UgaW5zdGl0dXRpb25zIGFyZSBtb3JlIGxpa2VseSB0byBhZG9wdCBub3ZlbCB0cmVhdG1lbnRzIGFuZCBwcm92aWRlIHVzIHdpdGggcmVhbC13b3JsZCBkYXRhIHRvIGZ1cnRoZXIgcmVmaW5lIG91ciBcbiAgICAgICAgICAgIHRoZXJhcHlbMjBdLjwvcD5cbiAgICAgICAgICAgIDxwPjxiPlBhcnRuZXJzaGlwcyB3aXRoIEJpb3RlY2ggYW5kIFBoYXJtYWNldXRpY2FsIENvbXBhbmllczo8L2I+IFBhcnRuZXJpbmcgd2l0aCBlc3RhYmxpc2hlZCBiaW90ZWNoIG9yIHBoYXJtYWNldXRpY2FsIGNvbXBhbmllcyBjb3VsZCBoZWxwIGFjY2VsZXJhdGUgXG4gICAgICAgICAgICBjb21tZXJjaWFsaXphdGlvbiBieSBwcm92aWRpbmcgYWNjZXNzIHRvIGRpc3RyaWJ1dGlvbiBjaGFubmVscywgcmVndWxhdG9yeSBleHBlcnRpc2UsIGFuZCBhZGRpdGlvbmFsIGZ1bmRpbmcuIExpY2Vuc2luZyBhZ3JlZW1lbnRzIG9yIGNvLWRldmVsb3BtZW50IFxuICAgICAgICAgICAgZGVhbHMgd2l0aCBjb21wYW5pZXMgc3BlY2lhbGl6aW5nIGluIGdlbmUgdGhlcmFweSBjb3VsZCBiZSBrZXkgdG8gc2NhbGluZyBwcm9kdWN0aW9uWzIxXS48L3A+XG4gICAgICAgICAgICA8cD48Yj5SZWd1bGF0b3J5IFN0cmF0ZWd5OjwvYj5OYXZpZ2F0aW5nIHRoZSByZWd1bGF0b3J5IGVudmlyb25tZW50IHdpbGwgYmUgYSBwcmlvcml0eSwgYW5kIGVhcmx5IGVuZ2FnZW1lbnQgd2l0aCB0aGUgRkRBLCBFTUEsIGFuZCBvdGhlciByZWd1bGF0b3J5IFxuICAgICAgICAgICAgYm9kaWVzIHdpbGwgaGVscCBlbnN1cmUgYSBzbW9vdGhlciBhcHByb3ZhbCBwcm9jZXNzLiBGb2N1c2luZyBvbiBvcnBoYW4gZHJ1ZyBkZXNpZ25hdGlvbiBvciBmYXN0LXRyYWNrIGFwcHJvdmFscyBmb3IgcmFyZSBkaXNlYXNlcyBsaWtlIGN5c3RpYyBmaWJyb3NpcyBcbiAgICAgICAgICAgIGNvdWxkIGV4cGVkaXRlIHRoZSByZWd1bGF0b3J5IHRpbWVsaW5lWzIyXS48L3A+XG4gICAgICAgICAgICA8cD48Yj5Mb25nLVRlcm0gVmlzaW9uOjwvYj4gQWZ0ZXIgaW5pdGlhbCBzdWNjZXNzIGluIHRyZWF0aW5nIGN5c3RpYyBmaWJyb3Npcywgb3VyIFJOQS1iYXNlZCB0aGVyYXB5IGNvdWxkIGJlIGV4cGFuZGVkIHRvIHRyZWF0IG90aGVyIGdlbmV0aWMgZGlzb3JkZXJzLiBcbiAgICAgICAgICAgIFRoZSBtb2R1bGFyIG5hdHVyZSBvZiBvdXIgdGVjaG5vbG9neSBhbGxvd3MgdXMgdG8gYWRhcHQgdGhlIHRoZXJhcHkgZm9yIG90aGVyIHJhcmUgZGlzZWFzZXMsIHByb3ZpZGluZyBhIGJyb2FkZXIgbWFya2V0IHBvdGVudGlhbCBpbiB0aGUgZnV0dXJlWzIzXS48L3A+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gICAgKVxufSIsICJpbXBvcnQgeyBCdXR0b25PbmUgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5pbXBvcnQgeyAgSDQgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGlvbiB9IGZyb20gXCIuLi8uLi8uLi91dGlscy91c2VOYXZpZ2F0aW9uXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBIUE91dHJlYWNoKCl7XG4gICAgY29uc3QgeyBnb1RvUGFnZXNBbmRPcGVuVGFiIH0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT17e21hcmdpblRvcDogXCI1dmhcIiwgbWFyZ2luQm90dG9tOiBcIjV2aFwifX0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJ1dHRvbk9uZSBvcGVuY2xhc3M9XCJvdXQtY3ljbGV0YWJcIiB0ZXh0PVwiT3ZlcnZpZXdcIiBvcGVuPVwib3V0LW92ZXJ2aWV3XCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgb3BlbmNsYXNzPVwib3V0LWN5Y2xldGFiXCIgdGV4dD1cIk1VS09tb3ZlXCIgb3Blbj1cIm11a29tb3ZlXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgb3BlbmNsYXNzPVwib3V0LWN5Y2xldGFiXCIgdGV4dD1cIldhZmZsZSBTYWxlXCIgb3Blbj1cIldhZmZsZSBzYWxlXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcblxuICAgICAgICA8ZGl2IGlkPVwib3V0LW92ZXJ2aWV3XCIgY2xhc3NOYW1lPVwib3V0LWN5Y2xldGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT5cbiAgICAgICAgICA8SDQgaWQ9XCJvdXQtd2h5LWhlYWRpbmdcIiB0ZXh0PVwiUHVibGljIGVuZ2FtZW50IGFzIHBhcnQgb2YgYSBpbnRlZ3JhdGVkIGh1bWFuIHByYWN0aWNlIC0gYnV0IHdoeT9cIi8+XG4gICAgICAgICAgPHA+V2hpbGUgbWFueSBvZiBvdXIgZWZmb3J0cyBpbiBzY2llbmNlIGNvbW11bmljYXRpb24gd2VyZSBlZHVjYXRpb25hbCwgd2UgYWxzbyByZWNvZ25pemVkIHRoZSBpbXBvcnRhbmNlIG9mIHB1YmxpYyBlbmdhZ2VtZW50IHRocm91Z2ggYWN0aXZpdGllcyBcbiAgICAgICAgICAgIHRoYXQgd2VyZSBub3QgZm9jdXNlZCBvbiBmb3JtYWwgZWR1Y2F0aW9uIGJ1dCByYXRoZXIgb24gcmFpc2luZyBhd2FyZW5lc3MuIEluaXRpYXRpdmVzIGxpa2UgTVVLT21vdmUgYW5kIG91ciB3YWZmbGUgc2FsZSB3ZXJlIGVzc2VudGlhbCBpbiBicmluZ2luZyBcbiAgICAgICAgICAgIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGludG8gcHVibGljIGZvY3VzIGFuZCBzaG93aW5nIGEgdmlzaWJsZSBjb21taXRtZW50IHRvIHRoZSBjYXVzZS48L3A+XG4gICAgICAgICAgPHA+UHVibGljIGVuZ2FuZWdtZW50IGFuZCBvdXRyZWFjaCBzZXJ2ZXMgYXMgYSByZW1pbmRlciB0aGF0IHNjaWVuY2UgZG9lcyBub3QgaGFwcGVuIGluIGlzb2xhdGlvbiAtIGl0IGlzIHJvb3RlZCBcbiAgICAgICAgICAgIGluIHJlYWwtd29ybGQgcHJvYmxlbXMgdGhhdCBpbXBhY3QgaW5kaXZpZHVhbHMgYW5kIGNvbW11bml0aWVzLiBFc3RhYmxpc2hpbmcgcHJlc2VuY2UgYWxsb3dzIGRpdmVydGluZyBpbnRlcmVzdCB0byBvdXIgcHJvamVjdCBhbmQgb3VyIGNhdXNlIHdoaWNoIGluIHR1cm4gXG4gICAgICAgICAgICBwYXZlcyB0aGUgd2F5IHRvIGVkY3VhdGUgaW50ZXJlc3RlZCBwZW9wbGUgYW5kIHRvIGxheSB0aGUgZ3JvdW5kd29yayBmb3IgYSBkZWVwZXIgY29ubmVjdGlvbiBiZXR3ZWVuIHVzIGFuZCBvdXIgcHJvamVjdCBhbmQgdGhlIGdlbmVyYWwgcHVibGljLiA8L3A+XG4gICAgICAgICAgICA8SDQgaWQ9XCJvdXQtaGVhZGluZ1wiIHRleHQ9XCJPdXIgcHVibGljIGVuZ2FnZW1lbnRcIi8+XG4gICAgICAgICAgICA8cD5PdXIgcHVibGljIGVuZ2FnZW1lbnQgc2VydmVkIGJvdGggYXMgYSBmb3JtIG9mIHNwcmVhZGluZyBhd2FyZW5lc3MgYW5kIHRvIGVzdGFibGlzaCBmaXJzdCBjb250YWN0cy4gQnkgaW52aXRpbmcgb3RoZXIgcGVvcGxlIGluIEJpZWxlZmVsZCB0byBqb2luIG91ciB0ZWFtIFxuICAgICAgICAgICAgZm9yIE1VS09tb3ZlLCB3ZSB3ZXJlIGFibGUgdG8gcmVhY2ggYSB3aWRlciBhdWRpZW5jZSBhbmQgZm9zdGVyIGNvbm5lY3Rpb25zIHRoYXQgZXh0ZW5kZWQgYmV5b25kIG91ciB1bml2ZXJzaXR5LjwvcD5cbiAgICAgICAgICAgIDxwPkluIGFkZGl0aW9uIHRvIG91ciBpbi1wZXJzb24gZXZlbnRzLCB3ZSB1c2VkIHNvY2lhbCBtZWRpYSBhcyBhIHRvb2wgdG8ga2VlcCB0aGUgY29tbXVuaXR5IGVuZ2FnZWQgYW5kIHVwZGF0ZWQuIFdlIHNoYXJlZCBvdXIgcHJvZ3Jlc3MgaW4gXG4gICAgICAgICAgICAgIE1VS09tb3ZlLCBwcm9tb3RlZCBvdXIgZXZlbnRzLCBhbmQgcG9zdGVkIGVkdWNhdGlvbmFsIGNvbnRlbnQgYWJvdXQgY3lzdGljIGZpYnJvc2lzIGFuZCBnZW5lIHRoZXJhcHkuIE91ciBzb2NpYWwgbWVkaWEgcHJlc2VuY2UgaGVscGVkIHVzIFxuICAgICAgICAgICAgICBzdGF5IGNvbm5lY3RlZCB3aXRoIGEgYnJvYWRlciBhdWRpZW5jZSwgZW5zdXJpbmcgdGhhdCBldmVuIHRob3NlIHdobyBjb3VsZCBub3QgYXR0ZW5kIG91ciBldmVudHMgY291bGQgc3RpbGwgZm9sbG93IGFsb25nIGFuZCBzdXBwb3J0IG91ciBtaXNzaW9uLjwvcD5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIFRocm91Z2ggdGhlc2UgZWZmb3J0cywgd2UgYWxzbyBtYWRlIHZhbHVhYmxlIGNvbm5lY3Rpb25zLCByZXN1bHRpbmcgaW4gYW4gaW50ZXJ2aWV3IHdpdGggdGhlIFwiTXVrbyBEaW5vXCIgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignZGlubycsICcvaHVtYW4tcHJhY3RpY2VzJyl9PlRob21hcyBNYWxlbmtlPC9hPi4gVGhpcyBoaWdobGlnaHRlZCB0aGUgcG93ZXIgXG4gICAgICAgICAgICAgIG9mIG9ubGluZSBwbGF0Zm9ybXMgaW4gZXhwYW5kaW5nIG91ciByZWFjaCBhbmQgZm9zdGVyaW5nIGNvbGxhYm9yYXRpb24gYmV5b25kIG91ciBpbW1lZGlhdGUgY29tbXVuaXR5LjwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGlkPVwiV2FmZmxlIHNhbGVcIiBjbGFzc05hbWU9XCJvdXQtY3ljbGV0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8SDQgdGV4dD1cIldhZmZsZSBTYWxlXCI+PC9IND5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxwPlRvIHN1cHBvcnQgb3VyIHJlc2VhcmNoIHByb2plY3QgYW5kIHJhaXNlIGZ1bmRzIGZvciBvdXIgaUdFTSB0ZWFtIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LCB3ZSBkZWNpZGVkIHRvIG9yZ2FuaXplIGEgd2FmZmxlIHNhbGUgaW4gdGhlIG1haW4gaGFsbCBvZiB0aGUgdW5pdmVyc2l0eS4gVGhpcyBpbml0aWF0aXZlIHdhcyBhaW1lZCBhdCByYWlzaW5nIGF3YXJlbmVzcyBhYm91dCBvdXIgcHJvamVjdCBhbmQgY29sbGVjdGluZyBmdW5kcyBmb3Igb3VyIHJlc2VhcmNoIGludG8gY3lzdGljIGZpYnJvc2lzLiA8L3A+XG4gICAgICAgICAgICA8cD5UaGUgc2FsZSB0b29rIHBsYWNlIGluIGN5c3RpYyBmaWJyb3NpcyBhd2FyZW5lc3MgbW9udGggTWF5IGluIHRoZSBHcmVhdCBIYWxsIG9mIG91ciBVbml2ZXJzaXR5LiBBcyBwZW9wbGUgcGFzc2VkIGJ5LCB3ZSBlbmdhZ2VkIHRoZW0gYnkgaW50cm9kdWNpbmcgb3VyIHJlc2VhcmNoIGdyb3VwIGFuZCBleHBsYWluaW5nIG91ciBwcm9qZWN0XHUyMDE5cyBvYmplY3RpdmVzLiBXZSBzaGFyZWQgaW5mb3JtYXRpb24gYWJvdXQgY3lzdGljIGZpYnJvc2lzIGFuZCB3aHkgd2UgYXJlIHJhaXNpbmcgbW9uZXkuIE91ciBnb2FsIHdhcyB0byBub3Qgb25seSBqdXN0IHRvIHNlbGwgd2FmZmxlcywgYnV0IGFsc28gdG8gZWR1Y2F0ZSB0aGUgdW5pdmVyc2l0eSBjb21tdW5pdHkgYWJvdXQgb3VyIHJlc2VhcmNoIGFuZCBpdHNcdTIwMTkgcG90ZW50aWFsIGltcGFjdC4gVGhlIHJlc3BvbnNlIGhhcyBiZWVuIG92ZXJ3aGVsbWluZ2x5IHBvc2l0aXZlLiBNYW55IHdlcmUgZ2VudWluZWx5IGludGVyZXN0ZWQgaW4gb3VyIHdvcmsgYW5kIGFza2VkIGZvciBtb3JlIGRldGFpbHMgYWJvdXQgb3VyIHJlc2VhcmNoIGFuZCB0aGUgZ29hbHMgb2Ygb3VyIHByb2plY3QuIFRoaXMgZW50aHVzaWFzbSBzdHJlbmd0aGVuZWQgb3VyIGNvbW1pdG1lbnQgdG8gdGhlIHByb2plY3QgYW5kIGhpZ2hsaWdodGVkIHRoZSBpbXBvcnRhbmNlIG9mIGNvbW11bml0eSBpbnZvbHZlbWVudCBpbiBzY2llbnRpZmljIHJlc2VhcmNoLiA8L3A+XG4gICAgICAgICAgICA8cD5UaGUgd2FmZmxlIHNhbGUgd2FzIGEgZ3JlYXQgc3VjY2VzcywgYm90aCBpbiB0ZXJtcyBvZiByYWlzaW5nIGZ1bmRzIGFuZCBpbmNyZWFzaW5nIGF3YXJlbmVzcyBhYm91dCBvdXIgd29yayB3aXRoaW4gdGhlIHVuaXZlcnNpdHkuIEl0IHdhcyBhIGNvbGxhYm9yYXRpdmUgZWZmb3J0IHRoYXQgYnJvdWdodCBvdXIgdGVhbSBjbG9zZXIgdG9nZXRoZXIgYW5kIGRlbW9uc3RyYXRlZCB0aGUgcG93ZXIgb2YgY29tbXVuaXR5IHN1cHBvcnQgaW4gYWR2YW5jaW5nIHNjaWVudGlmaWMgcmVzZWFyY2guIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPiBcbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZWRjYXRpb24tYW5kLW91dHJlYWNoL3NjcmVlbnNob3QtMjAyNC0wOS0yNS0yMDIwMDgucG5nXCIgc3R5bGU9e3tvYmplY3RGaXQ6IFwiY292ZXJcIiwgbWF4SGVpZ2h0OiBcIjUwJVwiLCB3aWR0aDogXCIxMDAlXCJ9fS8+IFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGlkPVwibXVrb21vdmVcIiBjbGFzc05hbWU9XCJvdXQtY3ljbGV0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgIDxINCBpZD1cImNmLW1vbnRoXCIgdGV4dD1cIkN5c3RpYyBmaWJyb3NpcyBhd2FyZW5lc3MgbW9udGhcIi8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZnVsbC1zbWFsbCBjb2wtM1wiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwibWF4NDAwXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL3BvLW11a29tb3ZlL3dpci1wbGFrYXQtbXVrb21vdmUuanBlZ1wiPjwvaW1nPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGgzPldoYXQgaXMgTVVLT21vdmU/PC9oMz5cbiAgICAgICAgICAgIDxwPkFzIHBhcnQgb2YgdGhlIGN5c3RpYyBmaWJyb3NpcyBhd2FyZW5lc3MgbW9udGggTWF5LCB3ZSB0b29rIHBhcnQgaW4gdGhpcyB5ZWFyJ3MgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm11a28uaW5mby9tdWtvbW92ZVwiPk1VS09tb3ZlPC9hPiBmcm9tIE1heSA4dGggdG8gTWF5XG4gICAgICAgICAgICAgIDEydGggdW5kZXIgdGhlIHRlYW0gbmFtZSBpR0VNIEJpZWxlZmVsZC4gTVVLT21vdmUgaXMgYSBwYXJ0aWNpcGF0b3J5IHNwb3J0cyBpbml0aWF0aXZlIG9yZ2FuaXplZCBieSBcbiAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm11a28uaW5mby9cIj4gTXVrb3Zpc3ppZG9zZSBlLlYuPC9hPiwgdGhlIEdlcm1hbiBDeXN0aWMgRmlicm9zaXMgQXNzb2NpYXRpb24sIGFpbWVkIGF0IHJhaXNpbmcgYXdhcmVuZXNzIGFuZCBmdW5kcyBcbiAgICAgICAgICAgICAgZm9yIGN5c3RpYyBmaWJyb3NpcyByZXNlYXJjaCBhbmQgc3VwcG9ydC4gVGhpcyBhbm51YWwgZXZlbnQgZW5jb3VyYWdlcyBpbmRpdmlkdWFscyBhbmQgdGVhbXMgdG8gXG4gICAgICAgICAgICAgIGVuZ2FnZSBpbiB2YXJpb3VzIHBoeXNpY2FsIGFjdGl2aXRpZXMsIHRyYWNrIHRoZWlyIG1vdmVtZW50LCBhbmQgc2hhcmUgdGhlaXIgZXhwZXJpZW5jZXMgb25saW5lLiAgPC9wPlxuICAgICAgICAgICAgICA8YnV0dG9uPlNwZW5kZW48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxici8+IFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGgzPldoeSBhbmQgaW4gd2hpY2ggd2F5cyB3ZXJlIHdlIGludmVzdGVkIGluIE1VS09tb3ZlPyA8L2gzPlxuICAgICAgICAgICAgPHA+V2hpbGUgTVVLT21vdmUgd2FzIG5vdCBhIHNjaWVudGlmaWMgb3IgZWR1Y2F0aW9uYWwgZXZlbnQsIGl0IHBsYXllZCBhbiBpbXBvcnRhbnQgcm9sZSBpbiBkZW1vbnN0cmF0aW5nIG91ciBwcmVzZW5jZSBpbiB0aGUgYnJvYWRlciBDRiBcbiAgICAgICAgICAgICAgY29tbXVuaXR5LjwvcD5cbiAgICAgICAgICA8cD5XZSBkaWQgbm90IHN0b3AgYXQgb3VyIHBhcnRpY2lwYXRpb24gaXRzZWxmIC0gd2Ugd2FudGVkIHRvIG1ha2Ugb3RoZXIgcGVvcGxlIGZyb20gb3VyIHVuaXZlcnNpdHkgYW5kIGNpdHkgXG4gICAgICAgICAgICBhd2FyZSBvZiB0aGUgZXZlbnQgYW5kIGNvbGxlY3Qgc3BvcnQgaG91cnMgZm9yIGN5c3RpYyBmaWJyb3NpcyB3aXRoIHRoZW0gYnkgaW52aXRpbmcgdGhlbSB0byBqb2luIG91ciB0ZWFtLiBcbiAgICAgICAgICAgIE91ciBzdXJ2ZXkgYWJvdXQgY3lzdGljIGZpYnJvc2lzIGF3YXJlbmVzcyBhbmQgb3VyIGRpc2N1c3Npb25zIHdpdGggPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignSW52V2VzdGhvZmYnLCAnL2h1bWFuLXByYWN0aWNlcz90YWI9Jyl9PkthdGhyaW4gV2VzdGhvZmY8L2E+LCB0aGUgaGVhZCBvZiBhIFxuICAgICAgICAgICAgcHJhY3RpY2UgZm9yIHBoeXNpb3RoZXJhcHkgaW4gR1x1MDBGQ3RlcnNsb2ggd2hvIGlzIGFsc28gdHJlYXRpbmcgeW91bmcgQ0YgcGF0aWVudHMsIHNob3dlZCB1cyBob3cgbGl0dGxlIGtub3duIFxuICAgICAgICAgICAgdGhpcyBpbGxuZXNzIHN0aWxsIGlzLiBFc3BlY2lhbGx5IHRoZSBpbnRlcnZpZXcgd2l0aCB0aGUgcGh5c2lvdGhlcmFwaXN0IG1hZGUgdXMgcmVhbGl6ZSBob3cgaW1wb3J0YW50IFxuICAgICAgICAgICAgZXhlcmNpc2UgaXMgZm9yIGV2ZXJ5b25lIGFuZCBob3cgaXQgYnJpbmdzIGEgY29tbXVuaXR5IHRvZ2V0aGVyIC0gd2Ugd2FudGVkIHRvIGVzdGFibGlzaCBNVUtPbW92ZSBpbiBcbiAgICAgICAgICAgIEJpZWxlZmVsZC4gVGhhdCBpcyB3aHkgd2UgcmVhbGx5IGdvdCB0aGUgcHVibGljaXR5IGdvaW5nIGJ5IHB1dHRpbmcgdXAgcG9zdGVycyBhbmQgZGlzdHJpYnV0aW5nIGZseWVycyBcbiAgICAgICAgICAgIGF0IHRoZSB1bml2ZXJzaXR5IGFuZCBpbiBvdXIgY2l0eSBhcyB5b3UgY2FuIHNlZSBpbiB0aGUgZm9sbG93aW5nIHBpY3R1cmUuIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmdWxsLXNtYWxsIGNvbC00XCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJtYXg0MDBcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZm9yLXdpa2ktdGV4dHMvcG8tbXVrb21vdmUvaW1nLTc4MjguanBlZ1wiPjwvaW1nPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxici8+IFxuICAgICAgICAgIDxwPldlIGFsc28gY2FsbGVkIGZvciBNVUtPbW92ZSBvbiBvdXIgc29jaWFscyBhbmQgc2V0IG91ciB0ZWFtIGEgZ29hbCBvZiBjb2xsZWN0aW5nIDI0MCBob3VycyBkb2luZyBzcG9ydHMgdG9nZXRoZXIsIFxuICAgICAgICAgICAgd2hpbGUgdGhlIGVudGlyZSBNVUtPbW92ZSBoYWQgYSBnb2FsIG9mIGNvbGxlY3RpbmcgMjQsMDAwIHNwb3J0IGhvdXJzLiBJbiBjb29wZXJhdGlvbiB3aXRoIG91ciB1bml2ZXJzaXR5J3MgXG4gICAgICAgICAgICBzcG9ydHMgZmFjaWxpdGllcywgdXNpbmcgdGhlaXIgPGEgaHJlZj1cImh0dHBzOi8vd3d3LnVuaS1iaWVsZWZlbGQuZGUvZWlucmljaHR1bmdlbi9ob2Noc2NodWxzcG9ydC96dXNhdHphbmdlYm90ZS9ob3ViaS9cIj5cdTIwMUNIT1VCSS1Ba3Rpdm1vYmlsXCI8L2E+IGFuZCBvdGhlciBlcXVpcG1lbnQsIHdlIG9yZ2FuaXplZCBhIHRlYW0gZXZlbnQgYXQgdGhlIHNwb3J0cyBcbiAgICAgICAgICAgIGdyb3VuZCBvZiBvdXIgdW5pdmVyc2l0eSBhdCB0aGUgYmVnaW4gb2YgTVVLT21vdmUuIEV2ZXJ5b25lIHdhcyB3YXJtbHkgaW52aXRlZCB0byBvdXIgZXZlbnQgb24gTWF5IDh0aCwgYW5kIFxuICAgICAgICAgICAgaXQgd2FzIGEgbG90IG9mIGZ1biB0byBwbGF5IHZhcmlvdXMgc3BvcnQgZ2FtZXMgdG9nZXRoZXIgb3V0c2lkZSBpbiB0aGUgc3VuIC0gY2hlY2sgb3V0IGluIHRoZSBmb2xsb3dpbmcgXG4gICAgICAgICAgICB2aWRlbyEgPC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxpZnJhbWUgdGl0bGU9XCJCaWVsZWZlbGQtQ2VCaVRlYzogTVVLT21vdmUgKDIwMjQpIFtFbmdsaXNoXVwiIHdpZHRoPVwiNTYwXCIgaGVpZ2h0PVwiMzE1XCIgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy92aWRlb3MvZW1iZWQvZGQzZTZlZmYtOTVmNS00N2Y0LWEwZmMtZjQxNmRiODhkZmU0P2F1dG9wbGF5PTFcIiBmcmFtZUJvcmRlcj1cIjBcIiBhbGxvd0Z1bGxTY3JlZW49e3RydWV9IHNhbmRib3g9XCJhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1zY3JpcHRzIGFsbG93LXBvcHVwcyBhbGxvdy1mb3Jtc1wiPjwvaWZyYW1lPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJyLz5cbiAgICAgICAgICA8aDM+V2hhdCBkaWQgd2UgYWNoaWV2ZT88L2gzPlxuICAgICAgICAgIDxwPldlIGFyZSBoYXBweSB0byBhbm5vdW5jZSB0aGF0IGJvdGggbW92ZW1lbnQgZ29hbHMgd2VyZSBzdXJwYXNzZWQ6IFRlYW0gaUdFTSBCaWVsZWZlbGQgd2FzIGFibGUgdG8gY29sbGVjdCAzNTggc3BvcnQgaG91cnMsIGFuZCBldmVyeW9uZSB3aG8gdG9vayBwYXJ0IGluIE1VS09tb3ZlIHRvZ2V0aGVyIGNvbGxlY3RlZCAzNiw1NDIgc3BvcnQgaG91cnMhICA8L3A+XG4gICAgICAgICAgPHA+VGhlIE1VS09tb3ZlIHdhcyB0aGVyZWZvcmUgYSBjb21wbGV0ZSBzdWNjZXNzLCBhbmQgd2UgdGFrZSBwcmlkZSBpbiBoYXZpbmcgY29udHJpYnV0ZWQgdG8gdGhlIGdvYWwgd2hpbGUgcmFpc2luZyBtb3JlIGF3YXJlbmVzcyBmb3IgY3lzdGljIGZpYnJvc2lzIGluIG91ciByZWdpb24gYW5kIEdlcm1hbnkgYXMgYSB3aG9sZS48L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59IiwgImltcG9ydCB7IEg0IH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEhQUGFydG5lcnNoaXBzKCl7XG5cbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8SDQgdGV4dD1cIkNGIFZlc3RzXCI+PC9IND5cbiAgICAgICAgICAgIDxwPkNGIFZlc3RzIFdvcmxkd2lkZSBpcyBhIGRlZGljYXRlZCBjaGFyaXR5IG9yZ2FuaXphdGlvbiBjb21taXR0ZWQgdG8gcHJvdmlkaW5nIGxpZmUtc2F2aW5nIHZlc3QgZXF1aXBtZW50IHRvIHRob3NlIGluIG5lZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlaXIgZmluYW5jaWFsIHNpdHVhdGlvbi4gQnV0IHRoZXkgY2FuJ3QgZG8gaXQgYWxvbmUgXHUyMDE0IHRoZXkgbmVlZCB5b3VyIHN1cHBvcnQuIEhlbHAgdXMgbWFrZSBhIGRpZmZlcmVuY2UhIEJ5IGRvbmF0aW5nIHRvIENGVldXLCB5b3UgY2FuIGRpcmVjdGx5IGltcGFjdCB0aGUgbGl2ZXMgb2YgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzLCBnaXZpbmcgdGhlbSB0aGUgY2hhbmNlIHRvIGJyZWF0aGUgZWFzaWVyIGFuZCBsaXZlIGZ1bGxlciBsaXZlcy4gRXZlcnkgY29udHJpYnV0aW9uIGNvdW50cy48L3A+XG4gICAgICAgICAgICA8cD48c3Ryb25nPkpvaW4gdXMgaW4gdGhlIGZpZ2h0IGFnYWluc3QgY3lzdGljIGZpYnJvc2lzLjwvc3Ryb25nPiA8YSBocmVmPVwiaHR0cHM6Ly9kb25vcmJveC5vcmcvaWdlbVwiPiBEb25hdGUgdG9kYXk8L2E+IGFuZCBoZWxwIHVzIGJyaW5nIGhvcGUsIG9uZSB2ZXN0IGF0IGEgdGltZSEgVG9nZXRoZXIsIHdlIGNhbiBjaGFuZ2UgbGl2ZXMuPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59IiwgImltcG9ydCB7IFNlY3Rpb24sIFN1YmVzY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgSFBDb2xsYWJzIH0gZnJvbSBcIi4vQ29sbGFib3JhdGlvbnNcIjtcbmltcG9ydCB7IEhQRWR1Y2F0aW9uIH0gZnJvbSBcIi4vRWR1Y2F0aW9uXCI7XG5pbXBvcnQgeyBIUEVudHJlcHJlbmV1ciB9IGZyb20gXCIuL0VudHJlcHJlbmV1cnNoaXBcIjtcbmltcG9ydCB7IEhQT3V0cmVhY2ggfSBmcm9tIFwiLi9PdXRyZWFjaFwiO1xuaW1wb3J0IHsgSFBQYXJ0bmVyc2hpcHMgfSBmcm9tIFwiLi9QYXJ0bmVyc2hpcHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEhQRnVydGhlckVuZ2FnZW1lbnQoKXtcblxuICAgIHJldHVybihcbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJGdXJ0aGVyIEVuZ2FnZW1lbnRcIiBpZD1cIkZ1cnRoZXIgRW5nYWdlbWVudFwiPlxuICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJFZHVjYXRpb25cIiBpZD1cIkZ1cnRoZXIgRW5nYWdlbWVudDFcIj5cbiAgICAgICAgICAgICAgICA8SFBFZHVjYXRpb24vPlxuICAgICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJQdWJsaWMgRW5nYWdlbWVudFwiIGlkPVwiRnVydGhlciBFbmdhZ2VtZW50MlwiPlxuICAgICAgICAgICAgICAgIDxIUE91dHJlYWNoLz5cbiAgICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiRW50cmVwcmVuZXVyc2hpcFwiIGlkPVwiRnVydGhlciBFbmdhZ2VtZW50M1wiPlxuICAgICAgICAgICAgICAgIDxIUEVudHJlcHJlbmV1ci8+XG4gICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkNvbGxhYm9yYXRpb25zXCIgaWQ9XCJGdXJ0aGVyIEVuZ2FnZW1lbnQ0XCI+XG4gICAgICAgICAgICAgICAgPEhQQ29sbGFicy8+XG4gICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIlBhcnRuZXJzaGlwc1wiIGlkPVwiRnVydGhlciBFbmdhZ2VtZW50NVwiPlxuICAgICAgICAgICAgICAgIDxIUFBhcnRuZXJzaGlwcy8+XG4gICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICApXG59IiwgImltcG9ydCB7IERvd25sb2FkTGluayB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gSFBTdXBwbGVtZW50KCl7XG5cbiAgICByZXR1cm4oXG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiU3VwcGxlbWVudGFyeSBNYXRlcmlhbFwiIGlkPVwiU3VwcGxlbWVudGFyeSBNYXRlcmlhbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxwPkNsaWNrIGhlcmUgdG8gc2VlIG91ciByYXcgZGF0YSBvZiBvdXIgc3VydmVyeXMuPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPERvd25sb2FkTGluayB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL3Jhdy1kYXRhLXN1cnZleXMucGRmXCIgIGZpbGVOYW1lPVwicmF3LWRhdGEtc3VydmV5cy5wZGZcIj48L0Rvd25sb2FkTGluaz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgKVxufSIsICJpbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIlxuXG5leHBvcnQgZnVuY3Rpb24gSFBBYnN0cmFjdCgpe1xuICAgIFxuICAgIHJldHVybihcbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJBYnN0cmFjdFwiIGlkPVwiQWJzdHJhY3RcIj5cbiAgICAgICAgICAgIDxwPkFzIHRoZSBpR0VNIEJpZWxlZmVsZC1DZUJpVGVjIHRlYW0sIG91ciBwcm9qZWN0IGFpbWVkIHRvIGRldmVsb3AgYSBnZW5lIHRoZXJhcHkgZm9yIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHdpdGggYSBodW1hbi1jZW50ZXJlZCBhcHByb2FjaC4gXG4gICAgICAgICAgICAgICAgRnJvbSB0aGUgYmVnaW5uaW5nLCB3ZSBlbmdhZ2VkIGV4dGVuc2l2ZWx5IHdpdGggQ0YgcGF0aWVudHMsIGNsaW5pY2lhbnMsIHJlZ3VsYXRvcnkgYm9kaWVzLCBhbmQgcmVzZWFyY2hlcnMgdG8gZW5zdXJlIHRoYXQgb3VyIHNvbHV0aW9uIFxuICAgICAgICAgICAgICAgIGFkZHJlc3NlZCByZWFsLXdvcmxkIG5lZWRzLiBXZSBlc3RhYmxpc2hlZCBjb250aW51b3VzIGZlZWRiYWNrIGxvb3BzIHRvIHJlZmluZSBhbmQgZXZvbHZlIG91ciBwcm9qZWN0IGF0IGV2ZXJ5IHN0YWdlLCBpbmNvcnBvcmF0aW5nIGluc2lnaHRzIFxuICAgICAgICAgICAgICAgIGZyb20gZGl2ZXJzZSBzdGFrZWhvbGRlcnMgdG8gY3JlYXRlIGEgcmVzcG9uc2libGUsIGltcGFjdGZ1bCwgYW5kIGV0aGljYWxseSBzb3VuZCB0aGVyYXB5LiBPdXIgbWlzc2lvbiB3YXMgbm90IGp1c3QgdG8gZGV2ZWxvcCBhIHRlY2huaWNhbCBcbiAgICAgICAgICAgICAgICBzb2x1dGlvbiBidXQgdG8gY3JlYXRlIG9uZSB0aGF0IGFsaWducyB3aXRoIHNvY2lldGFsIHZhbHVlcyBhbmQgcGF0aWVudCBleHBlY3RhdGlvbnMuIDwvcD5cbiAgICAgICAgICAgIDxwPk91ciBpbnRlZ3JhdGVkIEh1bWFuIFByYWN0aWNlcyBhcHByb2FjaCB3YXMgbm90IGp1c3QgYW4gYWRkaXRpb24gdG8gb3VyIHByb2plY3RcdTIwMTRpdCB3YXMgdGhlIGZvdW5kYXRpb24gb24gd2hpY2ggZXZlcnkgZGVjaXNpb24gd2FzIGJ1aWx0LiBCeSBhY3RpdmVseSBcbiAgICAgICAgICAgICAgICBlbmdhZ2luZyB3aXRoIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHBhdGllbnRzLCBoZWFsdGhjYXJlIHByb2Zlc3Npb25hbHMsIGFuZCByZWd1bGF0b3J5IGV4cGVydHMsIHdlIGVuc3VyZWQgdGhhdCB0aGVpciBmZWVkYmFjayBkaXJlY3RseSBzaGFwZWQgb3VyIFxuICAgICAgICAgICAgICAgIHByb2plY3QsIGZyb20gZGVzaWduIHRvIGltcGxlbWVudGF0aW9uLiBPdXIgcGF0aWVudC1jZW50ZXJlZCwgZ2xvYmFsbHkgZm9jdXNlZCBhcHByb2FjaCBub3Qgb25seSBhZGRyZXNzZXMgZGlzcGFyaXRpZXMgaW4gQ0YgdHJlYXRtZW50IGJ1dCBhbHNvIHNldHMgXG4gICAgICAgICAgICAgICAgYSBuZXcgc3RhbmRhcmQgZm9yIGFjY2Vzc2liaWxpdHkgYW5kIGV0aGljYWwgcmVmbGVjdGlvbi4gV2UgZXh0ZW5zaXZlbHkgZG9jdW1lbnRlZCBvdXIgbWV0aG9kb2xvZ2llcywgaW5jbHVkaW5nIENGIGNlbGwgY3VsdHVyZSBwcm90b2NvbHMgYW5kIHN0YWtlaG9sZGVyIFxuICAgICAgICAgICAgICAgIGVuZ2FnZW1lbnQgcHJvY2Vzc2VzLCB0byBlbXBvd2VyIGZ1dHVyZSB0ZWFtcyB0byBidWlsZCB1cG9uIG91ciBzdWNjZXNzLiBPdXIgdGhvdWdodGZ1bCBpbnRlZ3JhdGlvbiBvZiBkaXZlcnNlIHN0YWtlaG9sZGVyIGluc2lnaHRzLCBjb21iaW5lZCB3aXRoIGV4cGVydCBcbiAgICAgICAgICAgICAgICBndWlkYW5jZSBpbiByZWd1bGF0b3J5IGNvbXBsaWFuY2UsIG5hbm9wYXJ0aWNsZSByZXNlYXJjaCwgYW5kIGdlbmUgdGhlcmFweSwgZW5zdXJlcyB0aGF0IG91ciBwcm9qZWN0IGlzIHJlc3BvbnNpYmxlLCBzY2llbnRpZmljYWxseSBzb3VuZCwgYW5kIGdsb2JhbGx5IFxuICAgICAgICAgICAgICAgIGltcGFjdGZ1bC4gPC9wPlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgKVxufSIsICIvKiBcbi0gc2VpdHdcdTAwRTRydHMgXG4tIG1pdCBGYXJiZW4gdW5kIFRleHQgYW56ZWlnZW4gd296dSBkaWUgZ2VoXHUwMEY2cmVuIFxuLSBiZWkgc2hvdyBtb3JlIHVudGVuIGRydW50ZXIgVGFicyBcdTAwRjZmZm5lblxuLSB3ZW5uIG1hbiBhdWYgZGllIFBlcnNvbiBrbGlja3Qgc29sbCBlcyBJbmZvcyBcdTAwRkNiZXIgZGllIFBlcnNvbiBhbnplaWdlbiBcbi0ga2FubiBtbiBkaWUgS2FydGVuIG5hY2ggTGlua3MgdW5kIG5hY2ggcmVjaHRzIGF1c3dlaXRlbiB6YiBmXHUwMEZDciBNZWhyIGluZm9zIGZcdTAwRkNyIGRpZSBQZXJzb24/IFxuLSBGaWx0ZXIgbWl0IEhhbGJrcmVpc0RpbmcgYWxzIFRhYnN0ZXVlcnVuZyB8IEVpbnRlaWx1bmcgbmFjaCBCZXJlaWNoIChBY2FkZW1pYSwgSW5zdXN0cnksIC4uLiwgdW5kIGF1Y2ggbmFjaCBEZWxpdmVyeSB1bmQgTWVjaGFuaXNtKSBcbi0gRE5BIFN0cmFuZyBhbHMgVGltZWxpbmU/IFxuKi9cblxuXG4vKiAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgPGgzPk5hbWU8L2gzPlxuICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInQtdGFnIFRhZ1wiPlxuICAgICAgICAgICAgICAgIEJlcnVmXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5PcmlnaW5hbCBsYW5ndWFnZTogR2VybWFuPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPEJsb2NrUXVvdGVCIHRleHQ9XCJRdW90ZVwiIGNpdGU9XCIuXCI+PC9CbG9ja1F1b3RlQj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTNcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIm1pZGRsZSBzZWNocHJvXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIi8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aDQ+QWltIG9mIGNvbnRhY3Q8L2g0PlxuICAgICAgICAgICAgPHA+PC9wPlxuICAgICAgICAgICAgPGg0Pkluc2lnaHRzPC9oND5cbiAgICAgICAgICAgIDxwPjwvcD5cbiAgICAgICAgICAgIDxoND5DbGFyaWZpY2F0aW9uPC9oND5cbiAgICAgICAgICAgIDxwPjwvcD5cbiAgICAgICAgICAgIDxoND5JbXBsZW1lbnRhdGlvbjwvaDQ+XG4gICAgICAgICAgICA8cD48L3A+ICovXG5cblxuLypcbiAgPGg0PkFpbSBvZiBjb250YWN0PC9oND5cbiAgPHA+PC9wPlxuICA8aDQ+SW5zaWdodHM8L2g0PlxuICA8cD48L3A+XG4gIDxoND5DbGFyaWZpY2F0aW9uPC9oND5cbiAgPHA+PC9wPlxuICA8aDQ+SW1wbGVtZW50YXRpb248L2g0PlxuICA8cD48L3A+IFxuICAgICAgICAgICAgKi9cbmltcG9ydCB7IG9wZW5FbGVtZW50IH0gZnJvbSBcIi4uLy4uL3V0aWxzL29wZW5FbGVtZW50XCI7XG5pbXBvcnQgeyBIUE92ZXJ2aWV3IH0gZnJvbSBcIi4vT3ZlcndpZXZcIjtcbmltcG9ydCB7IEhQSW50cm9kdWN0aW9uIH0gZnJvbSBcIi4vSW50cm9kdWN0aW9uXCI7XG5pbXBvcnQgeyBIUEludGVncmF0ZWQgfSBmcm9tIFwiLi9JSFBcIjtcbmltcG9ydCB7IEhQRnVydGhlckVuZ2FnZW1lbnQgfSBmcm9tIFwiLi9GdXJ0aGVyIEVuZ2FnZW1lbnQvRnVydGhlckVuZ2FnZW1lbnRcIjtcbmltcG9ydCB7IEhQU3VwcGxlbWVudCB9IGZyb20gXCIuL0Z1cnRoZXIgRW5nYWdlbWVudC9TdXBNYXRlcmlhbFwiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi8uLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBIUEFic3RyYWN0IH0gZnJvbSBcIi4vSFAtYWJzdHJhY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEh1bWFuUHJhY3RpY2VzKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gIFxuICBcbiAgb3BlbkVsZW1lbnQoe2J1dHRvbkNsYXNzOiBcInRhYmJ1dHRvblwiLCBlbGVtZW50VG9PcGVuOiBcIkFsbFwiLCBjbGFzc1RvSGlkZTogXCJ0aW1lbGluZWNhcmR0YWJzXCIsIH0pOyBcblxuICByZXR1cm4gKCAgXG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgIDxIUEFic3RyYWN0Lz5cbiAgICAgIDxIUE92ZXJ2aWV3Lz5cbiAgICAgIDxIUEludHJvZHVjdGlvbi8+XG4gICAgICA8SFBJbnRlZ3JhdGVkLz5cbiAgICAgIDxIUEZ1cnRoZXJFbmdhZ2VtZW50Lz5cbiAgICAgIDxIUFN1cHBsZW1lbnQvPlxuICAgIDwvZGl2PlxuICAgIFxuICBcbiAgKTsgIFxufVxuXG5cbiIsICJpbXBvcnQgeyBjcmVhdGVTaWRlYmFyIH0gZnJvbSBcIi4uL3V0aWxzL2NyZWF0ZVNpZGViYXJcIjtcblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBIcFNpZGViYXIoKXtcbiAgICBsZXQgc2lkZWJhciA9IGNyZWF0ZVNpZGViYXIodGFicyk7IFxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICB7c2lkZWJhcn1cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG5jb25zdCB0YWJzID0gW1xuICAgIHt0YWI6IFwiQWJzdHJhY3RcIn0sIFxuICAgIHsgdGFiOiBcIk92ZXJ2aWV3XCIgfSxcbiAgICB7dGFiOiBcIkludHJvZHVjdGlvblwifSxcbiAgICB7dGFiOiBcIkludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VzXCIsIHN1YnRhYnM6IFtcIkZyYW1ld29ya1wiLCBcIlRpbWVsaW5lXCIsIFwiRmVlZGJhY2sgJiBJbXBsZW1lbnRhdGlvblwiLCBcIkNvbmNsdXNpb25cIl19LFxuICAgIHt0YWI6IFwiRnVydGhlciBFbmdhZ2VtZW50XCIsIHN1YnRhYnM6IFsgXCJFZHVjYXRpb25cIiwgXCJQdWJsaWMgRW5nYWdlbWVudFwiLCBcIkVudHJlcHJlbmV1cnNoaXBcIiwgXCJDb2xsYWJvcmF0aW9uc1wiLCBcIlBhcnRuZXJzaGlwc1wiXX0sXG4gICAge3RhYjogXCJTdXBwbGVtZW50YXJ5IE1hdGVyaWFsXCJ9LFxuICAgIC8vIHt0YWI6IFwiXCJ9LFxuICBdOyIsICJcbmltcG9ydCB7IEgyIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gSW1wcmVzc3VtKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxIMiBpZD1cImltcHJlc3N1bVwiIHRleHQ9XCJJbXByZXNzdW1cIi8+XG4gICAgICAgICAgPGhyIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPGgzPjxiPmlHRU0gVGVhbSBCaWVsZWZlbGQgQ2VCaVRlYyAyMDI0PC9iPjwvaDM+XG4gICAgICAgICAgICA8Yj5SZXNwb25zaWJsZSBmb3IgdGhlIGNvbnRlbnQgYWNjb3JkaW5nIHRvIFx1MDBBNyA1IFRNRyBhbmQgYWNjb3JkaW5nIHRvIFx1MDBBNyA1NSBBYnMuIDIgUlN0ViBHZXJtYW55OjwvYj48YnIgLz5cbiAgICAgICAgICAgIEpcdTAwRjZybiBLYWxpbm93c2tpPGJyIC8+XG4gICAgICAgICAgICBVbml2ZXJzaXRcdTAwRTR0c3N0cmFcdTAwREZlIDI1PGJyIC8+XG4gICAgICAgICAgICAzMzYxNSBCaWVsZWZlbGQ8YnIgLz5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPGI+Q29udGFjdDwvYj48YnIgLz5cbiAgICAgICAgICAgIEUtbWFpbDogdGVhbTIwMjRAaWdlbS1iaWVsZWZlbGQuZGU8YnIgLz5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPGI+U3VwZXJ2aXNvcnkgQXV0aG9yaXR5PC9iPjxiciAvPlxuICAgICAgICAgICAgQmllbGVmZWxkIFVuaXZlcnNpdHkgLSBDZW50ZXIgZm9yIEJpb3RlY2hub2xvZ3kgKENlQmlUZWMpXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj4gIFxuICAgICAgPC9kaXY+XG4gICAgPC8+XG4gICk7XG59XG4gICIsICJpbXBvcnQgeyBCYWNrVXAgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5pbXBvcnQgSDEsIHsgSDIgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFBhcnRuZXJzKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICA8ZGl2IGlkPVwic2lkZWJhcmJveFwiIGNsYXNzTmFtZT1cImNvbC0xICBkLWxnLWJsb2NrXCI+IDwvZGl2PlxuICAgICAgICA8YnIvPiBcbiAgICAgICAgPEgxICB0ZXh0PVwiQSBiaWcgdGhhbmsgeW91IHRvIGFsbCBvdXIgc3BvbnNvcnMgYW5kIHBhcnRuZXJzIVwiPjwvSDE+XG4gICAgICAgIDxici8+XG4gICAgICAgIDxici8+XG5cbiAgICAgICAgPGJyLz4gXG4gICAgICAgIHsvKiBHT0xEICovfVxuICAgICAgICA8SDIgaWQ9XCJnb2xkXCIgdGV4dD1cIlNwb25zb3IgY2F0ZWdvcnkgR29sZFwiLz5cbiAgICAgICAgPGJyLz4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPiBcbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lciBzcC1hXCIgaHJlZj1cImh0dHBzOi8vd3d3LnVuaS1iaWVsZWZlbGQuZGUvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLWFcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sb2dvcy10ZWFtL3VuaS1iaWVsZWZlbGQtZHVua2VsLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXIgc3AtYVwiIGhyZWY9XCJodHRwczovL3d3dy5jZWJpdGVjLnVuaS1iaWVsZWZlbGQuZGUvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLWFcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9jZWJpdGVjLWZhcmJlLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxici8+IFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnIvPiBcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNSBzcG9uc29yLXBvcnRyYWl0XCI+XG4gICAgICAgICAgICA8YSBocmVmPVwiaHR0cDovL3d3dy56ZWlzcy5kZS9uYXR1cndpc3NlbnNjaGFmdGVuXCI+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiemVpc3MtcG9ydHJhaXRcIiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGltZyBpZD1cInplaXNzLXBvcnRyYWl0LWxvZ29cIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy96ZWlzcy5wbmdcIj48L2ltZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgaWQ9XCJ6ZWlzcy10ZXh0XCIgY2xhc3NOYW1lPVwiY29sIHNwb25zb3ItdGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgPGg0PlpFSVNTIGlzdCBUZWNobm9sb2dpZS4gWkVJU1MgaXN0IE9wdGlrIHVuZCBJbm5vdmF0aW9uLjwvaDQ+XG4gICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgPHA+V2UgZGV2ZWxvcCwgbWFudWZhY3R1cmUgYW5kIHNlbGwgaGlnaGx5IGlubm92YXRpdmUgcHJvZHVjdHMgYW5kIHNvbHV0aW9ucyBmb3Igb3VyIGN1c3RvbWVycyBpbiBhIHdpZGUgcmFuZ2Ugb2YgYnVzaW5lc3MgYXJlYXMgLSBhbmQgaW4gZG9pbmcgc28sIHdlIHB1c2ggdGhlIGJvdW5kYXJpZXMgb2Ygd2hhdCBpcyBwb3NzaWJsZS4gQXMgYSBsZWFkaW5nIGdsb2JhbCB0ZWNobm9sb2d5IGNvbXBhbnkgd2l0aCBhIHN0cm9uZyBicmFuZCBhbmQgYSBwb3J0Zm9saW8gdGhhdCBpcyBnZWFyZWQgdG93YXJkcyBmdXR1cmUgZ3Jvd3RoIGFyZWFzIHN1Y2ggYXMgZGlnaXRhbGl6YXRpb24sIGhlYWx0aGNhcmUgYW5kIEluZHVzdHJ5IDQuMCwgd2UgYXJlIHNoYXBpbmcgdGhlIGZ1dHVyZSBmYXIgYmV5b25kIHRoZSBvcHRpY2FsIGFuZCBvcHRvZWxlY3Ryb25pYyBzZWN0b3IuIFpFSVNTJyBzdWNjZXNzIGFuZCB0aGUgY29udGludWVkIGV4cGFuc2lvbiBvZiBpdHMgdGVjaG5vbG9neSBhbmQgbWFya2V0IGxlYWRlcnNoaXAgYXJlIGJhc2VkIG9uIGl0cyBzdXN0YWluZWQgaGlnaCBsZXZlbCBvZiBpbnZlc3RtZW50IGluIHJlc2VhcmNoIGFuZCBkZXZlbG9wbWVudC4gRm91bmRlZCBpbiBKZW5hIGluIDE4NDYsIHRoZSBjb21wYW55IGlzIGhlYWRxdWFydGVyZWQgaW4gT2JlcmtvY2hlbiwgR2VybWFueS4gVGhlIHNvbGUgb3duZXIgb2YgdGhlIHBhcmVudCBjb21wYW55LCBDYXJsIFplaXNzIEFHLCBpcyB0aGUgQ2FybCBaZWlzcyBGb3VuZGF0aW9uLCBvbmUgb2YgdGhlIGxhcmdlc3QgR2VybWFuIGZvdW5kYXRpb25zIGZvciB0aGUgcHJvbW90aW9uIG9mIHNjaWVuY2UuPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnIvPiA8YnIvPiBcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBpZD1cImlkdC10ZXh0XCIgY2xhc3NOYW1lPVwiY29sIHNwb25zb3ItdGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgIDxoND5BY2NlbGVyYXRlIHRoZSBwYWNlIG9mIGdlbm9taWNzLiBXZSdsbCBoZWxwLjwvaDQ+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxwPiBGb3IgbW9yZSB0aGFuIDM1IHllYXJzLCBJbnRlZ3JhdGVkIEROQSBUZWNobm9sb2dpZXMgKElEVCkgIGhhcyBlbXBvd2VyZWQgZ2Vub21pY3MgbGFib3JhdG9yaWVzIHdpdGggYW4gb2xpZ29udWNsZW90aWRlIG1hbnVmYWN0dXJpbmcgcHJvY2VzcyB1bmxpa2UgYW55b25lIGVsc2UgaW4gdGhlIGluZHVzdHJ5LCBmZWF0dXJpbmcgdGhlIG1vc3QgYWR2YW5jZWQgc3ludGhlc2lzLCBtb2RpZmljYXRpb24sIHB1cmlmaWNhdGlvbiwgYW5kIHF1YWxpdHkgY29udHJvbCBjYXBhYmlsaXRpZXMgYXZhaWxhYmxlLiBJRFQgaGFzIHN1cHBvcnRlZCBpR0VNIHRlYW0gZm9yIG92ZXIgYSBkZWNhZGUgd2l0aCAyMGtiIG9mIGZyZWUgRE5BIHRvIGhlbHAgYWNjZWxlcmF0ZSB0aGVpciBpbnNwaXJpbmcgcHJvamVjdHMgZm9yIHRoZSBHcmFuZCBKYW1ib3JlZS4gU2luY2UgaXRzIGZvdW5kaW5nIGluIDE5ODcsIElEVCBoYXMgcHJvZ3Jlc3NlZCBmcm9tIGEgbGVhZGluZyBvbGlnbyBtYW51ZmFjdHVyZXIgdG8gYSBnZW5vbWljcyBzb2x1dGlvbnMgcHJvdmlkZXIgc3VwcG9ydGluZyBrZXkgYXBwbGljYXRpb24gYXJlYXMgc3VjaCBhcyBuZXh0IGdlbmVyYXRpb24gc2VxdWVuY2luZywgQ1JJU1BSIGdlbm9tZSBlZGl0aW5nLCBzeW50aGV0aWMgYmlvbG9neSwgZGlnaXRhbCBQQ1IsIGFuZCBSTkEgaW50ZXJmZXJlbmNlLiBJRFQgbWFudWZhY3R1cmVzIHByb2R1Y3RzIHVzZWQgYnkgc2NpZW50aXN0cyByZXNlYXJjaGluZyB0aGUgdG91Z2hlc3QgY2hhbGxlbmdlcyBmYWNpbmcgb3VyIHBsYW5ldCB0b2RheSBhcyB3ZWxsIGFzIG1hbnkgZm9ybXMgb2YgY2FuY2VyIGFuZCBtb3N0IGluaGVyaXRlZCBhbmQgaW5mZWN0aW91cyBkaXNlYXNlcy4gPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5pZHRkbmEuY29tL1wiIGlkPVwiaWR0LXBvcnRyYWl0XCIgY2xhc3NOYW1lPVwiY29sLTUgc3BvbnNvci1wb3J0cmFpdFwiPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxici8+IDxici8+IFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGlkPVwiaW50ZWdyYS1wb3J0cmFpdFwiIGNsYXNzTmFtZT1cImNvbC01IHNwb25zb3ItcG9ydHJhaXRcIj5cbiAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cuaW50ZWdyYS1iaW9zY2llbmNlcy5jb21cIj5cbiAgICAgICAgICAgIDxpbWcgaWQ9XCJpbnRlZ3JhLXBvcnRyYWl0LWxvZ29cIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9pbnRlZ3JhLWhpbnRlcmxlZ3QuanBlZ1wiPjwvaW1nPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGlkPVwiaW50ZWdyYS10ZXh0XCIgY2xhc3NOYW1lPVwiY29sIHNwb25zb3ItdGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgPGg0PiBZb3VyIFJlbGlhYmxlIFBhcnRuZXIgRm9yIFByb2R1Y3RpdmUgUGlwZXR0ZXMgPC9oND5cbiAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgIElOVEVHUkEgQmlvc2NpZW5jZXMgaXMgYVxuICAgICAgICAgICAgbGVhZGluZyBwcm92aWRlciBvZiBoaWdoLXF1YWxpdHkgbGFib3JhdG9yeSB0b29scyBhbmQgY29uc3VtYWJsZXMgZm9yXG4gICAgICAgICAgICBsaXF1aWQgaGFuZGxpbmcuIFRoZSBjb21wYW55IGlzIGNvbW1pdHRlZCB0byBjcmVhdGluZyBpbm5vdmF0aXZlXG4gICAgICAgICAgICBzb2x1dGlvbnMgd2hpY2ggZnVsZmlsIHRoZSBuZWVkcyBvZiBpdHMgY3VzdG9tZXJzIGluIHJlc2VhcmNoLCBkaWFnbm9zdGljc1xuICAgICAgICAgICAgYW5kIHF1YWxpdHkgY29udHJvbCB3aXRoaW4gdGhlIGxpZmUgc2NpZW5jZXMgbWFya2V0cyBhbmQgbWVkaWNhbCBzZWN0b3IuXG4gICAgICAgICAgICBJTlRFR1JBXHUyMDE5cyBlbmdpbmVlcmluZyBhbmQgcHJvZHVjdGlvbiB0ZWFtcyBpbiBaaXplcnMsIFN3aXR6ZXJsYW5kIGFuZFxuICAgICAgICAgICAgSHVkc29uLCBOSCwgVVNBLCBzdHJpdmUgdG8gZGV2ZWxvcCBhbmQgbWFudWZhY3R1cmUgaW5zdHJ1bWVudHMgYW5kXG4gICAgICAgICAgICBjb25zdW1hYmxlcyBvZiBvdXRzdGFuZGluZyBxdWFsaXR5LiBUb2RheSwgSU5URUdSQVx1MjAxOXMgaW5ub3ZhdGl2ZVxuICAgICAgICAgICAgbGFib3JhdG9yeSBwcm9kdWN0cyBhcmUgd2lkZWx5IHVzZWQgYWxsIGFyb3VuZCB0aGUgd29ybGQgd2hlcmUgdGhleSBoZWxwXG4gICAgICAgICAgICBzY2llbnRpc3RzIGFjY2VsZXJhdGUgc2NpZW50aWZpYyBkaXNjb3ZlcnkuIE91ciByZXZvbHV0aW9uYXJ5IGNvbmNlcHRcbiAgICAgICAgICAgIGNvbWJpbmVzIGlubm92YXRpdmUgcGlwZXR0aW5nIHdpdGggdGhlIG1vc3QgbW9kZXJuIHJvYm90aWNzLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz4gPGJyLz4gXG4gICAgICAgIHsvKiBTSUxWRVIgKi99XG4gICAgICAgIDxIMiB0ZXh0PVwiU3BvbnNvciBjYXRlZ29yeSBzaWx2ZXJcIiBpZD1cInNpbHZlclwiLz5cbiAgICAgICAgPGJyLz4gPGJyLz5cbiAgICAgICAgPGRpdiBpZD1cInByb2plY3QtcG9ydHJhaXRcIiBjbGFzc05hbWU9XCJzcG9uc29yLXBvcnRyYWl0XCIgc3R5bGU9e3twYWRkaW5nOiBcIjIwcHhcIn19PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cuenltb3Jlc2VhcmNoLmNvbS9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvenltby5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cuc3RlbWNlbGwuY29tL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9zdGVtY2VsbC1sb2dvLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cucGxhc21pZGZhY3RvcnkuY29tL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9wbGFzbWlkZmFjdG9yeS5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+IFxuICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy5kcndvbGZmZ3JvdXAuY29tL2VuL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9sb2dvLXdvbGZmLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly9zbmFwZ2VuZS5jb21cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvc25hcGdlbmUucG5nXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL2Jpby5ucncuZGUvXCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9iaW9ucnctbG9nby5wbmdcIi8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz4gPGJyLz4gXG4gICAgICAgIHsvKiBCUk9OWkUgKi99XG4gICAgICAgIDxIMiB0ZXh0PVwiU3BvbnNvciBjYXRlZ29yeSBicm9uemVcIiBpZD1cImJyb256ZVwiPjwvSDI+XG4gICAgICAgIDxici8+IDxici8+XG4gICAgICAgIDxkaXYgaWQ9XCJwcm9qZWN0LXBvcnRyYWl0XCIgY2xhc3NOYW1lPVwic3BvbnNvci1wb3J0cmFpdFwiIHN0eWxlPXt7cGFkZGluZzogXCIyMHB4XCJ9fT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LnByb21lZ2EuY29tXCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9wcm9tZWdhLWdlbGIucG5nXCIvPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cubWljcm9zeW50aC5jb21cIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL21pY3Jvc3ludGgtbG9nby5wbmdcIi8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cubmViLmNvbS9lbi9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvbmViLWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxici8+IDxici8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgaWQ9XCJwcm9qZWN0LXRleHRcIiBjbGFzc05hbWU9XCJjb2wgc3BvbnNvci10ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgPEgyIHRleHQ9XCJCRkggTWVldFVwIHNwb25zb3JzXCIgaWQ9XCJiZmgtc3BvbnNvcnNcIi8+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxwPjwvcD4gXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBpZD1cInByb2plY3QtcG9ydHJhaXRcIiBjbGFzc05hbWU9XCJjb2wtNSBzcG9uc29yLXBvcnRyYWl0XCIgc3R5bGU9e3twYWRkaW5nOiBcIjIwcHhcIn19PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy5naXAuY29tL2hvbWUvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2dpcC5wbmdcIiAvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cuamVuYWJpb3NjaWVuY2UuY29tL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9qYnMtZHVua2VsZ3J1ZW4tdGV4dC5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vdi1iaW8udmVudHVyZXMvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL3ZiaW8tbG9nby5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gXG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3Lm1uLW5ldC5jb20vXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL21uLWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy5maXotYmlvdGVjaC5kZS9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvZml6LWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+IFxuICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy5jZWxsc2lnbmFsLmNvbS9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY2VsbC1zaWduYWxpbmctdGVjaG5vbG9neS1sb2dvLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly9nYXNiLmRlL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9nYXNiLWxvZ28uanBnXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz4gPGJyLz4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgaWQ9XCJtZWV0dXAtcG9ydHJhaXRcIiBjbGFzc05hbWU9XCJjb2wtNSBzcG9uc29yLXBvcnRyYWl0XCIgc3R5bGU9e3twYWRkaW5nOiBcIjIwcHhcIn19PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LmFzaW1vdi5jb20vXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2FzaW1vdi1jb2xvcmZ1bC5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cudW5pLWJpZWxlZmVsZC5kZS9mYWt1bHRhZXRlbi90ZWNobmlzY2hlLWZha3VsdGFldC9hcmJlaXRzZ3J1cHBlbi9tdWx0aXNjYWxlLWJpb2VuZ2luZWVyaW5nL2NhbXB1c2JyYXVlcmVpL1wiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY2FtcHVzLWJyYXVlcmVpLnBuZ1wiLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL2FsZ2VuaXVtLmRlL2FsZ2VuaXVtL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9hbGdlbml1bS5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly8yMDI0LmlnZW0ud2lraS9ndS1mcmFua2Z1cnQvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xvZ29zLXRlYW0vb3RoZXItdGVhbXMvZ3UtZnJhbmtmdXJ0LWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly9idHMtZXYuZGUvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvYnRzLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+IFxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovLzIwMjQuaWdlbS53aWtpL2hhbWJ1cmcvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xvZ29zLXRlYW0vb3RoZXItdGVhbXMvaWdlbS1oYW1idXJnLWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy5zdHVkLXNjaWNvbS5kZS9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvc3R1ZHNjaWNvbS1sb2dvLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgXG4gICAgICAgICAgPGRpdiBpZD1cIm1lZXR1cC10ZXh0XCIgY2xhc3NOYW1lPVwiY29sIHNwb25zb3ItdGV4dC1yaWdodFwiIHN0eWxlPXt7dGV4dEFsaWduOiBcInJpZ2h0XCJ9fT5cbiAgICAgICAgICAgIDxIMiB0ZXh0PVwiYW5kIGNvbGxhYm9yYXRvcnMgXCIgaWQ9XCJiZmgtY29sbGFic1wiLz5cbiAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnIvPiA8YnIvPlxuICAgICAgICA8SDIgdGV4dD1cIk90aGVyIGNvbGxhYm9yYXRvcnNcIiBpZD1cIm90ZWhyc1wiLz5cbiAgICAgICAgPGJyLz4gPGJyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBpZD1cImlkdC10ZXh0XCIgY2xhc3NOYW1lPVwiY29sIHNwb25zb3ItdGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgIDxoND5DaGFuZ2luZyBDRiBsaXZlcyBhcm91bmQgdGhlIHdvcmxkLCBvbmUgdmVzdCBhdCBhIHRpbWUuPC9oND5cbiAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgPHA+QWZ0ZXIgYmVpbmcgY29udGFjdGVkIHVuZXhwZWN0ZWRseSBieSB0d28gcHJldmlvdXNseSB1bmtub3duIEN5c3RpYyBGaWJyb3NpcyBwYXRpZW50cyBpbiBDaGlsZSBhbmQgTGViYW5vbiBtb250aHMgYXBhcnQgaW4gZWFybHkgMjAyMCB0byByZXF1ZXN0IHRoZXJhcHkgdmVzdHMsIHRoZSBncmVhdCBuZWVkIGZvciB0aGlzIGVxdWlwbWVudCB0byBDRiBwYXRpZW50cyBhcm91bmQgdGhlIHdvcmxkIGJlY2FtZSBxdWlja2x5IGV2aWRlbnQuICBDRiBWZXN0cyBXb3JsZHdpZGUgd2FzIGVzdGFibGlzaGVkIGluIEp1bmUgMjAyMCB0byBtZWV0IHRoaXMgbmVlZC4gIFRoZSBtaXNzaW9uIG9mIENGIFZlc3RzIFdvcmxkd2lkZSBpcyB0byBkb25hdGUgbGlmZXNhdmluZyB0aGVyYXB5IHZlc3RzLCB3aXRoIGEgY29zdCBvZiBuZWFybHkgJDIwLDAwMCwgZm9yIHRob3NlIHdpdGggQ3lzdGljIEZpYnJvc2lzIG91dHNpZGUgb2YgdGhlIFVuaXRlZCBTdGF0ZXMuICBUaGUgbGlmZSBleHBlY3RhbmN5IG9mIENGIHBhdGllbnRzIG91dHNpZGUgdGhlIFUuUy4gY2FuIGJlIGFzIGxpbWl0ZWQgYXMgYXBwcm94aW1hdGVseSAyNCB5ZWFycyBvZiBhZ2UuICBUaGVzZSB0aGVyYXB5IHZlc3RzIG1lYW4gZXZlcnl0aGluZyB0byB0aGUgQ0YgcGF0aWVudCBhbmQgdGhlaXIgZmFtaWx5LiAgRnVydGhlciwgaW4gbW9zdCBDRiBjb21tdW5pdGllcyBpbiB0aGUgNTkgY291bnRyaWVzIHdoZXJlIENGIFZlc3RzIFdvcmxkd2lkZSBoYXMgZG9uYXRlZCBvdmVyIDMzMCB0aGVyYXB5IHZlc3RzLCBhY2Nlc3MgdG8gdGhlIG1vc3QgYmFzaWMgQ3lzdGljIEZpYnJvc2lzIG1lZGljYXRpb24gaXMgZWl0aGVyIGxpbWl0ZWQgb3Igbm9uLWV4aXN0ZW50LiAgSW4gdGhlc2UgY2FzZXMsIGEgdGhlcmFweSB2ZXN0IGRvbmF0ZWQgYnkgQ0YgVmVzdHMgV29ybGR3aWRlIGlzIHRoZSBvbmx5IGhvcGUgZm9yIGNvbWZvcnQgYW5kIGFuIGV4dGVuZGVkIGxpZmUuPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgaWQ9XCJcIiBjbGFzc05hbWU9XCJjb2wtNSBzcG9uc29yLXBvcnRyYWl0XCI+XG4gICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cuY2Z2d3cub3JnL1wiPlxuICAgICAgICAgICAgICA8aW1nIGlkPVwidmVzdHMtcG9ydHJhaXQtbG9nb1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2NmdmVzdHNsb2dvLnBuZ1wiPjwvaW1nPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz4gPGJyLz5cbiAgICAgICAgPGRpdiBpZD1cIm1lZXR1cC1wb3J0cmFpdFwiIGNsYXNzTmFtZT1cInNwb25zb3ItcG9ydHJhaXRcIiBzdHlsZT17e3BhZGRpbmc6IFwiMjBweFwifX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LmNhcmxyb3RoLmRlL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9yb3RoLmpwZ1wiLz5cbiAgICAgICAgICAgICAgPC9hPiBcbiAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cudW5pLWJpZWxlZmVsZC5kZS9mYWt1bHRhZXRlbi90ZWNobmlzY2hlLWZha3VsdGFldC9cIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL3RlY2hmYWsuanBnXCIvPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+ICBcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LnNhcnN0ZWR0LmNvbS9lbi9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvc2Fyc3RlZHQtbG9nby5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL2NvcmRlbnBoYXJtYS5jb20vXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY29yZGVuLXBoYXJtYS1sb2dvLnBuZ1wiLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICB7LyogbGVlciAqL31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cuY2Fwcmljb3JuLXNjaWVudGlmaWMuY29tL2VuXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY2Fwcmljb3JuLWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy50d2lzdGJpb3NjaWVuY2UuY29tL1wiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL3R3aXN0LWJpb3NjaWVuY2UtbG9nby5wbmdcIi8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIHsvKiBsZWVyICovfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxCYWNrVXAvPiBcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgIiwgImltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gU3VwcGxlbWVudGFyeSgpIHtcbiAgdXNlVGFiTmF2aWdhdGlvbigpO1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgIFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgIiwgImltcG9ydCB7IEJ1dHRvbk9uZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IFFhQm94LCBTcGVjaWFsUWFCb3ggfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Cb3hlc1wiO1xuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQgeyAgSDMgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgb3BlbkZyb21PdGhlclBhZ2UgfSBmcm9tIFwiLi4vdXRpbHMvb3BlbkZyb21PdGhlcnBBZ2VcIjtcbmV4cG9ydCBmdW5jdGlvbiBJbnRzKCkge1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgICBjb25zdCBjb2xsYXBzZUlkID0gcGFyYW1zLmdldCgnY29sbGFwc2VJZCcpO1xuICAgICAgICBjb25zdCB0YWJJZCA9IHBhcmFtcy5nZXQoJ3RhYicpO1xuXG4gICAgICAgIC8vIFNjcm9sbCB0byB0aGUgc2VjdGlvbiBzcGVjaWZpZWQgYnkgY29sbGFwc2VJZFxuICAgICAgICBpZiAoY29sbGFwc2VJZCkge1xuICAgICAgICAgICAgY29uc3QgY29sbGFwc2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29sbGFwc2VJZCk7XG4gICAgICAgICAgICBpZiAoY29sbGFwc2VFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGNvbGxhcHNlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIGNvbGxhcHNlRWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFBvc2l0aW9uID0gZWxlbWVudFRvcCAtIG9mZnNldDtcblxuICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2Nyb2xsUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wZW4gdGhlIHRhYiBzcGVjaWZpZWQgYnkgdGFiSWRcbiAgICAgICAgaWYgKHRhYklkKSB7XG4gICAgICAgICAgICBvcGVuRnJvbU90aGVyUGFnZSh0YWJJZCkoeyBjdXJyZW50VGFyZ2V0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJJZCkhIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2xvY2F0aW9uLnNlYXJjaF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG5cblxuICAgICAgICA8YnIvPlxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJjb2xcIiBpZD1cImp1bGlhSFwiPlxuICAgICAgICAgIDxoMyBpZD1cImp1bGlhXCI+SnVsaWE8L2gzPlxuICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidC10YWcgUGF0aWVudFwiPlxuICAgICAgICAgICAgICAgIFBhcmVudFxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+T3JpZ2luYWwgbGFuZ3VhZ2U6IEdlcm1hbjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbnRlcnZpZXctaW1nXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2p1bGlhLmpwZ1wiLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPEgzIGlkPVwianVsaWFub3Rlc1wiIHRleHQ9XCJOb3RlcyBmcm9tIHRoZSBpbnRlcnZpZXdcIi8+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJRdWVzdGlvblwiXG4gICAgICAgICAgICAgICAgICBhPVwiQW5zd2VyXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDxici8+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cImNvbFwiIGlkPVwibmljb2xlSFwiPlxuICAgICAgICA8aDMgaWQ9XCJuaWNvbGVcIj5OaWNvbGUgRnJpZWRsZWluPC9oMz5cbiAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInQtdGFnIEFjYWRlbWlhXCI+XG4gICAgICAgICAgICAgICAgQWNhZGVtaWFcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPk9yaWdpbmFsIGxhbmd1YWdlOiBHZXJtYW48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImludGVydmlldy1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPEgzIGlkPVwibmljb2xlbm90ZXNcIiB0ZXh0PVwiTm90ZXMgZnJvbSB0aGUgaW50ZXJ2aWV3XCIvPlxuICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiUXVlc3Rpb25cIlxuICAgICAgICAgICAgICAgICAgYT1cIkFuc3dlclwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8YnIvPlxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJjb2xcIiBpZD1cIm1hdHRpanNIXCI+XG4gICAgICAgICAgPGgzIGlkPVwibWF0dGlqc1wiPk1hdHRpanMgQnVsY2VhbjwvaDM+XG4gICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0LXRhZyBBY2FkZW1pYVwiPlxuICAgICAgICAgICAgICAgICAgQWNhZGVtaWFcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPk9yaWdpbmFsIGxhbmd1YWdlOiBFbmdsaXNoPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImludGVydmlldy1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvbWF0dGlqcy5qcGdcIi8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIkVyc3RlcyBJbnRlcnZpZXdcIiBvcGVuPVwibWF0dGlqc2ludjFcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiWndlaXRlcyBJbnRlcnZpZXdcIiBvcGVuPVwibWF0dGlqc2ludjJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGN5Y2xldGFiXCIgaWQ9XCJtYXR0aWpzaW52MVwiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICAgIDxIMyBpZD1cIm1hdHRpanNub3RlczFcIiB0ZXh0PVwiTm90ZXMgZnJvbSB0aGUgZmlyc3QgaW50ZXJ2aWV3XCIvPlxuICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiUXVlc3Rpb25cIlxuICAgICAgICAgICAgICAgICAgYT1cIkFuc3dlclwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgY3ljbGV0YWJcIiBpZD1cIm1hdHRpanNpbnYyXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICA8SDMgaWQ9XCJtYXR0aWpzbm90ZXMyXCIgIHRleHQ9XCJOb3RlcyBmcm9tIHRoZSBzZWNvbmQgaW50ZXJ2aWV3XCIvPlxuICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiUXVlc3Rpb25cIlxuICAgICAgICAgICAgICAgICAgYT1cIkFuc3dlclwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8YnIvPlxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJjb2xcIiBpZD1cIndlc3Rob2ZmSFwiPlxuICAgICAgICAgIDxoMyBpZD1cIndlc3Rob2ZmXCI+S2F0cmluIFdlc3Rob2ZmPC9oMz5cbiAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInQtdGFnIE1lZGljYWxcIj5cbiAgICAgICAgICAgICAgICBQaHlzaW90aGVyYXBpc3RcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPk9yaWdpbmFsIGxhbmd1YWdlOiBHZXJtYW48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0zXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImludGVydmlldy1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvaHAta2F0cmluLXBvcnRyYWl0LmpwZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGgzPk5vdGVzIGZyb20gdGhlIGludGVydmlldzwvaDM+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgIHsvKiA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJRdWVzdGlvblwiXG4gICAgICAgICAgICAgICAgICBhPVwiQW5zd2VyXCJcbiAgICAgICAgICAgICAgICAgIC8+ICovfVxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiRnJvbSB3aGF0IGFnZSBkbyB0aGUgcGF0aWVudHMgY29tZSB0byB5b3U/XCJcbiAgICAgICAgICAgICAgICAgIGE9XCJUaGUgcGF0aWVudHMgY29tZSB0byB1cyBhdCBhIHZlcnkgZWFybHkgYWdlLiBJdCBpcyBhbHdheXMgdmVyeSBkaWZmaWN1bHQsIGZvciB0aGUgcGFyZW50cyBpbiBwYXJ0aWN1bGFyLCB0byBkZWFsIHdpdGggdGhlIG5ldyBzaXR1YXRpb24uIEEgZGVmaW5pdGUgZGlhZ25vc2lzIGlzIG1hZGUgYWZ0ZXIgNiB3ZWVrcyBhdCB0aGUgbGF0ZXN0LiBPbmNlIHRoZSBkaWFnbm9zaXMgaGFzIGJlZW4gbWFkZSwgdGhlIHdob2xlIGZhbWlseSBpcyBnZW5ldGljYWxseSB0ZXN0ZWQsIGkuZS4gdGhlIHBhcmVudHMgYW5kIHNpYmxpbmdzLlwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiSG93IGxvbmcgZG8gdGhleSBzdGF5P1wiXG4gICAgICAgICAgICAgICAgICBhPVwiV2hlbiB0aGUgY2hpbGRyZW4gYXJlIGRpc2NoYXJnZWQgZnJvbSBob3NwaXRhbCwgdGhleSBhcmUgaW1tZWRpYXRlbHkgc2VudCBmb3IgcGh5c2lvdGhlcmFweS4gSG93ZXZlciwgdGhlcmFweSBvZnRlbiBzdGFydHMgaW4gaG9zcGl0YWwuIFRoZXNlIG9mdGVuIGFsc28gaGF2ZSBDRiBvdXRwYXRpZW50IGNsaW5pY3MsIHN1Y2ggYXMgdGhlIEJldGhlbCBDbGluaWMgaW4gQmllbGVmZWxkLlwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiSG93IG1hbnkgcGF0aWVudHMgZG8geW91IHRyZWF0P1wiXG4gICAgICAgICAgICAgICAgICBhPVwiV2UgY3VycmVudGx5IGhhdmUgOCBjaGlsZHJlbiB3aXRoIGN5c3RpYyBmaWJyb3NpcyBpbiBvdXIgbWVkaWNhbCBwcmFjdGljZSwgd2hpY2ggaXMgcXVpdGUgYSBsb3QuIEhvd2V2ZXIsIGlmIHlvdSBjb21wYXJlIHRoaXMgbnVtYmVyIHdpdGggb3RoZXIgZGlzZWFzZXMsIGl0IGlzIHJhdGhlciBhIHNtYWxsIG51bWJlci4gV2UgaGF2ZSBzbGlnaHRseSBtb3JlIGNoaWxkcmVuIHdpdGggY3lzdGljIGZpYnJvc2lzIGluIG91ciBwcmFjdGljZSBiZWNhdXNlIHdlIHNwZWNpYWxpemUgaW4gaXQsIGFtb25nIG90aGVyIGRpc2Vhc2VzLlwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFNwZWNpYWxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIldoYXQga2luZCBvZiBleGVyY2lzZXMgZG8geW91IGRvP1wiPlxuICAgICAgICAgICAgICAgICAgICA8cD5XZSBkbyBhIGxvdCBvZiBicmVhdGhpbmcgdGhlcmFweS4gSW4gYW55IGNhc2UsIGl0IGlzIGltcG9ydGFudCB0byBzYXkgdGhhdCB3ZSBoYXZlIGF0dGVuZGVkIHNwZWNpYWwgdHJhaW5pbmcgY291cnNlcyBmb3IgQ0YgdGhhdCBoYXZlIHNob3duIHVzIG5ldyB0ZWNobmlxdWVzLiBJbiBnZW5lcmFsLCB0aGUgc2FtZSB0aGluZ3MgYXJlIHRhdWdodCBpbiB0cmFpbmluZyBhcyAyNSB5ZWFycyBhZ28sIGJ1dCB1bmZvcnR1bmF0ZWx5IHRoaXMgZG9lc24ndCBoZWxwIENGIHBhdGllbnRzIGFzIHdlbGwgYXMgdGhlIG5ldyB0ZWNobmlxdWVzLiBUaGUgY3VycmVudCBnb2xkIHN0YW5kYXJkIGlzIGF1dG9nZW5vdXMgZHJhaW5hZ2UgYWNjb3JkaW5nIHRvIENoZXZhbGxpZXIuIFRoaXMgd29ya3MgdmVyeSB3ZWxsISBJbiBnZW5lcmFsLCB0aGUgbWFpbiBwcm9ibGVtIGlzIHRoZSBtdWN1cyB0aGF0IGNhbm5vdCBiZSByZW1vdmVkLiBXaXRoIGF1dG9nZW5vdXMgZHJhaW5hZ2UsIHRoZSBjaGVzdCBpcyBjb21wcmVzc2VkLCB3aGljaCBmb3JjZXMgdGhlIG11Y3VzIG91dC4gSXQncyBsaWtlIGNsZWFuaW5nIHRoZSBsdW5ncyBmcm9tIHRoZSBpbnNpZGUsIHdoaWNoIHdvcmtzIHJlYWxseSB3ZWxsLiBJdCBpcyBhbHNvIHZlcnkgaW1wb3J0YW50IHRvIGluaGFsZSwgd2hlcmVieSB0aGVyZSBhcmUgMyBkaWZmZXJlbnQgbGV2ZWxzIG9mIHNhbHQgY29udGVudCAoMC45JSwgMyUgb3IgNiUpLiBDaGlsZHJlbiB3aXRoIENGIGFsd2F5cyB1c2UgYXQgbGVhc3QgMyUgc2FsdCBjb250ZW50LjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+T3VyIGdlbmVyYWwgcm91dGluZSBpcyBhcyBmb2xsb3dzOiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgIDxvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT53ZXQgaW5oYWxhdGlvbiwgYXMgbW9pc3R1cmUgYmluZHMgbXVjdXM8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPmRyYWluYWdlIHRvIGdldCBtdWN1cyBvdXQgb2YgdGhlIGx1bmdzPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5hbnRpYmlvdGljcywgbm93IHRoZSBtZWRpY2F0aW9uIGNhbiB3b3JrIGJlc3QgYXMgdGhlIGx1bmdzIGFyZSBjbGVhbiBhbmQgZGlsYXRlZDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgPC9vbD5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5UaGVyZSBhcmUgYWxzbyBzby1jYWxsZWQgXHUyMDFDbWFnaWMgcG9pbnRzXHUyMDFELiBDb21wcmVzc2lvbiBvZiB0aGVzZSBwb2ludHMgbGVhZHMgdG8gdGhlIGJlc3QgcG9zc2libGUgdmVudGlsYXRpb24gb2YgdGhlIGx1bmdzLiBUaGVyZSBhcmUgc3BlY2lhbCBiZWx0cyBmb3IgY29tcHJlc3NpbmcgdGhlc2UgcG9pbnRzIHRoYXQgcGF0aWVudHMgY2FuIHdlYXIgYXQgaG9tZSB0byBoZWxwIHRoZW0gYnJlYXRoZSBiZXR0ZXIuIE9sZGVyIHBhdGllbnRzIHdlYXIgdGhlc2UgYmVsdHMgZHVyaW5nIHNwb3J0LjwvcD5cbiAgICAgICAgICAgICAgICAgIDwvU3BlY2lhbFFhQm94PlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiV2hlbiBkb2VzIGRyYWluYWdlIHN0YXJ0PyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIldlIHN0YXJ0IGRyYWluYWdlIGluIG5ld2Jvcm5zIHNvIHRoYXQgdGhlIG11Y3VzIGNhbm5vdCBzZXR0bGUgYXMgbXVjaC4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiQXJlIHRoZXJlIHNwZWNpYWwgZXhlcmNpc2VzIHRoYXQgY2FuIGFsc28gYmUgZG9uZSBhdCBob21lPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlllcywgdGhlIHBhcmVudHMgYXJlIGluc3RydWN0ZWQgdG8gZG8gdGhlIGV4ZXJjaXNlcyB3aGljaCB3ZSBhbHNvIGRvIGluIG91ciBwcmFjdGljZS5cIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkhvdyBvZnRlbiBkb2VzIHRoZSB0aGVyYXB5IHRha2UgcGxhY2U/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiVGhlcmFweSB1c3VhbGx5IHRha2VzIHBsYWNlIG9uY2UgYSB3ZWVrIG9yIGV2ZXJ5IHR3byB3ZWVrcy4gVGhhbmtzIHRvIGltcHJvdmVkIG1lZGljYXRpb24sIHRoZSBjaGlsZHJlbiBhZmZlY3RlZCBhcmUgbm93IGluIGEgbXVjaCBiZXR0ZXIgcG9zaXRpb24uIFRoZSB0aGVyYXB5IGhhcyBjaGFuZ2VkIGNvbnNpZGVyYWJseSBvdmVyIHRpbWUgYW5kIGhhcyBpbXByb3ZlZCBzaWduaWZpY2FudGx5LiBMZXNzIGFuZCBtb3JlIGZsdWlkIG11Y3VzIG1ha2VzIGl0IGVhc2llciB0byBjb3VnaCB1cCwgd2hpY2ggaW4gdHVybiBpbmNyZWFzZXMgdGhlIGNoaWxkcmVuJ3MgbGlmZSBleHBlY3RhbmN5LiBTcG9ydCBhbmQgZXhlcmNpc2UgcGxheSBhIGNlbnRyYWwgcm9sZSBpbiB0aGVyYXB5IGFuZCBzaG91bGQgYmUgZnVuLCBhcyB0aGV5IG11c3QgYmUgY2FycmllZCBvdXQgZm9yIGxpZmUuIEZyb20gdGhlIGFnZSBvZiA4IG9yIDksIGV4ZXJjaXNlIHN1Y2ggYXMgY3ljbGluZyB0byBzY2hvb2wgc2hvdWxkIGJlIHRoZSBub3JtLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIldoYXQgd291bGQgaGFwcGVuIGlmIG5vIHBoeXNpb3RoZXJhcHkgd2FzIHBlcmZvcm1lZD8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJJdCBpcyBkaWZmaWN1bHQgdG8gcHJlZGljdCBleGFjdGx5IHdoYXQgd291bGQgaGFwcGVuIGlmIHBoeXNpb3RoZXJhcHkgd2FzIG5vdCBjYXJyaWVkIG91dCwgYXMgdGhlcmUgaXMgbm8gY29tcGFyaXNvbiBncm91cC4gVGhlcmUgaXMgbm8gcmVhc29uIG5vdCB0byBkbyB0aGUgdGhlcmFweS4gSWYgY2hpbGRyZW4gZG8gbm90IHJlY2VpdmUgcGh5c2lvdGhlcmFweSBvdmVyIGEgbG9uZ2VyIHBlcmlvZCBvZiB0aW1lLCB0aGV5IG9mdGVuIGJlY29tZSBtb3JlIG11Y291c3kgYW5kIHRoZWlyIHZlbnRpbGF0aW9uIHdvcnNlbnMuIFNwZWNpZmljIHRoZXJhcHkgaXMgYWJzb2x1dGVseSBuZWNlc3NhcnkgYXQgdGhlIGxhdGVzdCBpbiB0aGUgZXZlbnQgb2YgYW4gaW5mZWN0aW9uLiAgXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiSG93IGRvIHlvdSBtZWFzdXJlIHN1Y2Nlc3MgKGluIHRlcm1zIG9mIGx1bmcgZnVuY3Rpb24gdGVzdCwgZXhlcmNpc2UsIGV0Yy4pPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlRoZSBzdWNjZXNzIG9mIHRoZSB0aGVyYXB5IGlzIG1lYXN1cmVkIHN1YmplY3RpdmVseSBieSBsaXN0ZW5pbmcgdG8gYW5kIGZlZWxpbmcgdGhlIGJyZWF0aGluZyBhbmQgYnkgb2JzZXJ2aW5nIHRoZSBjaGlsZHJlbidzIHNraW4uIEFuIGV4YWN0IGFuc3dlciB0byB0aGUgc3VjY2VzcyBtZWFzdXJlbWVudCBpcyBkaWZmaWN1bHQuIEEgd2VsbC12ZW50aWxhdGVkIGx1bmcgdm9sdW1lIGlzIGluZGljYXRlZCBieSBhIFx1MjAxQ2Z1bGwgYmFycmVsXHUyMDFELCB3aGlsZSB3aGVlemluZyBhbmQgdmlicmF0aW5nIGluZGljYXRlIHBvb3IgdmVudGlsYXRpb24uIFZlZ2V0YXRpdmUgc2lnbnMgc3VjaCBhcyBhIHdoaXRlIG1vdXRoLW5vc2UgdHJpYW5nbGUgaW5kaWNhdGUgYSBoaWdoIGxldmVsIG9mIHN0cmVzcy4gSW4gdGhlIGNsaW5pYywgbHVuZyBmdW5jdGlvbiB0ZXN0cywgQ08yIG1lYXN1cmVtZW50cyBhbmQgXHUyMDFDZmluZ2VyIGNsaXBcdTIwMUQgdGVzdHMgYXJlIHBlcmZvcm1lZC4gSG93ZXZlciwgY2hpbGRyZW4gY2FuIHNvbWV0aW1lcyB0cnkgdG8gaW5mbHVlbmNlIHRoZSB0ZXN0cywgc28gdGhlIHJlc3VsdHMgYXJlIG5vdCBhbHdheXMgcmVsaWFibGUuICBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkRvIHRoZSBleGVyY2lzZXMgYnJpbmcgcmVsaWVmIG9yIGFyZSB0aGV5IHByZXZlbnRhdGl2ZSBmb3IgZnVydGhlciBjb21wbGFpbnRzPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlRoZSBleGVyY2lzZXMgc2VydmUgYm90aCB0byByZWxpZXZlIGFjdXRlIGluZmVjdGlvbnMgYW5kIHRvIHByZXZlbnQgZnVydGhlciBjb21wbGFpbnRzLiBUaGUgZmV3ZXIgbHVuZyBpbmZlY3Rpb25zIHRoZXJlIGFyZSwgdGhlIGxvd2VyIHRoZSBsaWtlbGlob29kIG9mIGFkaGVzaW9ucyBvZiBtdWN1cy4gIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiQXJlIHRoZXJlIGFueSB0b29scyB0byBwZXJmb3JtIHRoZXJhcHk/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiRGV2aWNlcyBzdWNoIGFzIHRoZSBcdTIwMUNmbHV0dGVyXHUyMDFEIG9yIFx1MjAxQ2Nvcm5ldFx1MjAxRCBhcmUgdXNlZCB0byBzdXBwb3J0IGV4aGFsYXRpb24uIFRoZXNlIGRldmljZXMgbG9vayBsaWtlIGEgd2hpc3RsZSB3aXRoIGEgbWV0YWwgYmFsbCBpbnNpZGUuIFdoZW4gZXhoYWxpbmcsIHRoZSBiYWxsIG1vdmVzIGFuZCBjcmVhdGVzIHZpYnJhdGlvbnMgdGhhdCBsb29zZW4gdGhlIG11Y3VzIGluIHRoZSBsdW5ncy4gU3VjaCBkZXZpY2VzIHNob3VsZCBiZSB1c2VkIGJ5IGFsbCBjaGlsZHJlbiB3aXRoIGx1bmcgZGlzZWFzZXMuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiV2hhdCBjb21wbGFpbnRzIGRvIHBhdGllbnRzIGJyaW5nIHdpdGggdGhlbT8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJQYXRpZW50cyBvZnRlbiBoYXZlIGx1bmcgcHJvYmxlbXMsIGRyeSBsdW5nIG11Y29zYSBhbmQgcHJvYmxlbXMgd2l0aCB0aGUgcGFuY3JlYXMuIFRoZSBsYXR0ZXIgbGVhZHMgdG8gcG9vciBtZXRhYm9saXNtLCB3aGljaCBpcyB3aHkgdGhvc2UgYWZmZWN0ZWQgaGF2ZSB0byB0YWtlIGVuenltZSB0aGVyYXBldXRpY3MgYmVmb3JlIGVhdGluZy4gQ2hpbGRyZW4gb2Z0ZW4gaGF2ZSBncm93dGggZGlzb3JkZXJzIGR1ZSB0byBhIGxhY2sgb2YgZm9vZCwgd2hpY2ggaXMgd2h5IG51dHJpdGlvbmFsIGFkdmljZSBpcyBlc3NlbnRpYWwuIFNvbWUgY2hpbGRyZW4gYWxzbyBoYXZlIHByb2JsZW1zIHdpdGggZXhjZXNzaXZlIHBlcnNwaXJhdGlvbiwgYWx0aG91Z2ggdGhpcyBpcyBsZXNzIGNvbW1vbi4gIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiQXJlIHBhbmNyZWF0aWMgY29tcGxhaW50cyBhbHNvIHRyZWF0ZWQgYnkgcGh5c2lvdGhlcmFwaXN0cz8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJQYW5jcmVhdGljIGNvbXBsYWludHMgYXJlIHJhcmVseSB0cmVhdGVkIHdpdGggcGh5c2lvdGhlcmFweSwgdW5sZXNzIGl0IGlzIGFuIGluZmxhbW1hdGlvbi4gSW4gc3VjaCBjYXNlcywgdGhlIHBhdGllbnQgaXMgYWRtaXR0ZWQgdG8gYSBob3NwaXRhbC4gTWFzc2FnZSBvciB0YXBpbmcgdGhlIGludGVzdGluZXMgd2l0aCBraW5lc2lvbG9neSB0YXBlIGhlbHBzIHdpdGggY29uc3RpcGF0aW9uIGFuZCB3b3JrcyB2ZXJ5IHdlbGwuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiQXJlIHRoZXJlIGFueSBzcGVjaWFsIGh5Z2llbmUgZ3VpZGVsaW5lcyBmb3IgeW91IHdoZW4gd29ya2luZyB3aXRoIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cz8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJIeWdpZW5lIGd1aWRlbGluZXMgYXJlIHZlcnkgaW1wb3J0YW50IHdoZW4gd29ya2luZyB3aXRoIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cy4gQSBkaXN0aW5jdGlvbiBpcyBtYWRlIGJldHdlZW4gY2hpbGRyZW4gd2l0aCBhbmQgd2l0aG91dCBpbmZlY3Rpb25zIChQc2V1ZG9tb25hcykuIFJlZ3VsYXIgbmFzYWwgc3dhYnMgYXJlIHRha2VuIGFuZCBvbmx5IGNoaWxkcmVuIHdpdGggb3Igd2l0aG91dCBpbmZlY3Rpb25zIGFyZSB0cmVhdGVkIGluIHRoZSBwcmFjdGljZSBvbiBhbnkgZ2l2ZW4gZGF5LiBWZW50aWxhdGlvbiwgcGF0aWVudHMgd2VhcmluZyBtYXNrcyB3aGlsZSBpbmZlY3RlZCBhbmQgZGlzaW5mZWN0aW9uIG9mIHRoZSBmYWNpbGl0aWVzIGFyZSBlc3NlbnRpYWwuIENoaWxkcmVuIGluZmVjdGVkIHdpdGggbXVsdGktcmVzaXN0YW50IGdlcm1zIGFyZSBub3QgYWxsb3dlZCB0byBlbnRlciB0aGUgcHJhY3RpY2U7IGluIHN1Y2ggY2FzZXMsIHBoeXNpb3RoZXJhcGlzdHMgdmlzaXQgdGhlIHBhdGllbnRzJyBob21lcy4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJBcmUgdGhlIHNwZWNpZmljIGV4ZXJjaXNlcyBjdXN0b21pemVkPyBBbmQgaWYgc28sIGhvdyBkbyB5b3Uga25vdyB3aGljaCB0aGVyYXB5IGlzIHRoZSByaWdodCBvbmUgZm9yIHdoaWNoIHBhdGllbnQgKGJhc2VkIG9uIGxhYm9yYXRvcnkgdmFsdWVzLCB0ZXN0cywgZGlmZmVyZW50IG11dGF0aW9uIHBhdHRlcm5zLi4uKT8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJUaGUgZXhlcmNpc2VzIGFyZSBpbmRpdmlkdWFsbHkgYWRhcHRlZCB0byB0aGUgcGF0aWVudCdzIGN1cnJlbnQgc2l0dWF0aW9uLiBJbXBvcnRhbnQgY3JpdGVyaWEgYXJlIHRoZSByZW1vdmFsIG9mIG11Y3VzIGFuZCB2ZW50aWxhdGlvbiBvZiB0aGUgbHVuZ3MuIEVhY2ggdGhlcmFwaXN0IGhhcyB0aGVpciBvd24gYXBwcm9hY2ggYW5kIHByZWZlcnJlZCBleGVyY2lzZXMgYW5kIHRlY2huaXF1ZXMuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiRG8gcGF0aWVudHMgYWx3YXlzIGdvIHRvIHRoZSBzYW1lIHBoeXNpb3RoZXJhcGlzdD8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJJZiB0aGVyYXB5IGdvZXMgd2VsbCwgcGF0aWVudHMgc3RheSB3aXRoIHRoZSBzYW1lIHBoeXNpb3RoZXJhcGlzdC5cIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkhvdyBtYW55IHBoeXNpb3RoZXJhcGlzdHMgb2ZmZXIgbXVjby10aGVyYXB5PyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlRoZSBleGFjdCBudW1iZXIgb2YgcGh5c2lvdGhlcmFwaXN0cyBvZmZlcmluZyBjeXN0aWMgZmlicm9zaXMgdGhlcmFweSBpcyB1bmtub3duLiBIb3dldmVyLCB0aGVyZSBhcmUgc2V2ZXJhbCBjaGlsZCB0aGVyYXBpc3RzIGluIHRoZSByZWdpb24gcHJvdmlkaW5nIHRoaXMgdGhlcmFweS4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJIb3cgYXJlIHRoZSByZWxhdGl2ZXMgZWR1Y2F0ZWQ/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiRWR1Y2F0aW5nIHJlbGF0aXZlcyBvZnRlbiBiZWdpbnMgaW4gdGhlIG1hdGVybml0eSB3YXJkIHdpdGggYSBzd2VhdCB0ZXN0LiBBZmZlY3RlZCBjaGlsZHJlbiBhcmUgb2Z0ZW4gcmVjb2duaXphYmxlIGR1ZSB0byBwb29yIGZvb2QgaW50YWtlLiBJbiBHXHUwMEZDdGVyc2xvaCwgd2hlcmUgb3VyIG9mZmljZSBpcyBsb2NhdGVkLCBhbGwgY2hpbGRyZW4gYXJlIHNlbnQgdG8gQmV0aGVsLCB3aGVyZSB0aGV5IGltbWVkaWF0ZWx5IHJlY2VpdmUgQ0YgY2FyZS4gUGFyZW50cyBhcmUgb2Z0ZW4gdHJhdW1hdGl6ZWQsIGFzIHRoZSBjaGlsZHJlbiBhcmUgc2V2ZXJlbHkgaWxsIGRlc3BpdGUgb2Z0ZW4gYXBwZWFyaW5nIGhlYWx0aHkuXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJXaGF0IGFyZSB0aGUgbGltaXRhdGlvbnMgb2YgaW5kaXZpZHVhbCBtZWRpY2luZT8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJUaGUgZWZmZWN0aXZlbmVzcyBvZiBkcnVncyBjYW4gdmFyeSwgYW5kIHNvbWUgYXJlIG9ubHkgYXBwcm92ZWQgZnJvbSBhIGNlcnRhaW4gYWdlLiBCZXR0ZXIgbWVkaWNhdGlvbnMgY2FuIHNpZ25pZmljYW50bHkgZW5oYW5jZSB0aGUgcXVhbGl0eSBvZiBsaWZlIGFuZCBsaWZlIGV4cGVjdGFuY3kuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDxici8+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cImNvbFwiICBpZD1cImJlcmVuc0hcIj5cbiAgICAgICAgICA8aDMgaWQ9XCJiZXJlbnNcIj5Eci4gRXZhLU1hcmlhIEJlcmVuczwvaDM+XG4gICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0LXRhZyBBY2FkZW1pYVwiPlxuICAgICAgICAgICAgICAgIEV0aGljcyBDb21taXR0ZWUgb2YgQmllbGVmZWxkIFVuaXZlcnNpdHkgXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5PcmlnaW5hbCBsYW5ndWFnZTogR2VybWFuPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImludGVydmlldy1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvYmVyZW5zLmpwZ1wiLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGgzPk5vdGVzIGZyb20gdGhlIGludGVydmlldzwvaDM+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJRdWVzdGlvblwiXG4gICAgICAgICAgICAgICAgICBhPVwiQW5zd2VyXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+ICBcbiAgICAgICAgPGJyLz5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwiY29sXCIgaWQ9XCJ3aXNjaG1leWVySFwiPlxuICAgICAgICA8aDMgaWQ9XCJ3aXNjaG1leWVyXCI+UHJvZi4gRHIuIEVyaGFyZCBXaXNjaG1leWVyPC9oMz5cbiAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInQtdGFnIEFjYWRlbWlhXCI+XG4gICAgICAgICAgICAgIFJlc2VhcmNoIEdyb3VwIENlbGx1bGFyIE5ldXJvcGh5c2lvbG9neSwgQmllbGVmZWxkIFVuaXZlcnNpdHlcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPk9yaWdpbmFsIGxhbmd1YWdlOiBHZXJtYW48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImludGVydmlldy1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGgzPk5vdGVzIGZyb20gdGhlIGludGVydmlldzwvaDM+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJDYW4geW91IGVkdWNhdGUgdXMgYWJvdXQgeW91ciBhY2FkZW1pYyBjYXJlZXI/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiSSBkaWQgbXkgZG9jdG9yYXRlIDMwIHllYXJzIGFnbyBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSBhbmQgdGhlbiB3b3JrZWQgYXQgdGhlIE1heCBQbGFuY2sgSW5zdGl0dXRlIGluIEdcdTAwRjZ0dGluZ2VuIGEgbG90IHdpdGggdGhlIFBhdGNoLUNsYW1wIHAgdGVjaG5pcXVlLiBUb2RheSwgSVx1MjAxOW0gaGVhZCBvZiB0aGUgd29ya2luZyBncm91cCBDZWxsdWxhciBOZXVyb3BoeXNpb2xvZ3kgb2YgdGhlIG1lZGljaW5lIGZhY3VsdHkgb2YgQmllbGVmZWxkIFVuaXZlcnNpdHkuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiV2hhdCBuZXcgbWV0aG9kcyBhcmUgY3VycmVudGx5IGF2YWlsYWJsZSBpbiBlbGVjdHJvcGh5c2lvbG9naWNhbCByZXNlYXJjaD8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJPbmUgb2YgdGhlIGxhdGVzdCBtZXRob2RzIGlzIEUtY2lzIG1lYXN1cmVtZW50cy4gVGhlc2UgbWFrZSBpdCBwb3NzaWJsZSB0byBleGFtaW5lIGEgbW9ub2xheWVyIG9mIGNvbmZsdWVudCBjZWxscyBhbmQgdG8gbWVhc3VyZSB0aGUgbWVtYnJhbmUgcG90ZW50aWFsIGJvdGggYWJvdmUgYW5kIGJlbG93LiBUaGUgY2hhbmdlIGluIGNvbmR1Y3Rpdml0eSBjYW4gYmUgYW5hbHl6ZWQgZm9yIGluc3RhbmNlIGFzIGEgZnVuY3Rpb24gb2YgQ0ZUUiBleHByZXNzaW9uLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkhvdyBjYW4gd2UgcHJvY2VlZCB3aXRoIHRoZSBpbnZlc3RpZ2F0aW9uIG9mIENGVFIgaW4gZGlmZmVyZW50IGNlbGwgY3VsdHVyZXMgYnkgUGF0Y2gtQ2xhbXA/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiWW91IGNhbiBzdHVkeSBDRlRSIGV4cHJlc3Npb24gaW4gSEVLIGNlbGxzLCB3aGljaCBhbGxvd3MgZm9yIGEgbWVhc3VyYWJsZSBjaGFuZ2UgaW4gY2hsb3JpZGUgY29uZHVjdGFuY2UuIEkgYW0gbm90IHN1cmUgd2hldGhlciB3ZSB3aWxsIGJlIGFibGUgdG8gaW52ZXN0aWdhdGUgQ0ZUUiBzdWZmaWNpZW50bHkgaW4gZXBpdGhlbGlhbCBjZWxscyB3aGljaCB5b3Ugd2FudCB0byBjb2xsZWN0IGZyb20geW91ciBDRiBwYXRpZW50IGZyaWVuZCBhbmQgeW91ciB0ZWFtIG1lbWJlcnMuIFRoYXQgaXMgc29tZXRoaW5nIHdlIGhhdmUgdG8gdHJ5IG91dC4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJIb3cgY2hhbGxlbmdpbmcgaXMgdGhlIG1lYXN1cmVtZW50IG9mIENGVFIgY29uZHVjdGFuY2UgaW4gZXBpdGhlbGlhbCBjZWxscz8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJDRlRSIGluIGVwaXRoZWxpYWwgY2VsbHMgaGFzIHZlcnkgbG93IGNvbmR1Y3Rpdml0eSBpbiB0aGUgZmVtdG9hbXBlcmUgcmFuZ2UuIFRoZXJlZm9yZSwgZXh0cmVtZWx5IHNlbnNpdGl2ZSB0ZXN0aW5nIGlzIG5lY2Vzc2FyeSB0byBvYnRhaW4gbWVhbmluZ2Z1bCByZXN1bHRzLiAgXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJIb3cgY2hhbGxlbmdpbmcgaXMgdGhlIFBhdGNoLUNsYW1wIG1lYXN1cmVtZW50IG9mIENGVFIgY29uZHVjdGFuY2UgaW4gZXBpdGhlbGlhbCBjZWxscz8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJUaGUgcHJvamVjdCB3aWxsIGNvdWxkIHRha2UgYXQgbGVhc3Qgb25lIHllYXIsIGV2ZW4gZm9yIGV4cGVyaWVuY2VkIHJlc2VhcmNoZXJzLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIldoYXQgdGVjaG5pY2FsIGNoYWxsZW5nZXMgZG8gd2UgZmFjZSBpbiBpbXBsZW1lbnRpbmcgdGhlIFBhdGNoLUNsYW1wIG1lYXN1cmVtZW50cz8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJPbmUgb2YgdGhlIGJpZ2dlc3QgY2hhbGxlbmdlcyBpcyBtZWFzdXJpbmcgdGhlIGN1cnJlbnQgYWNyb3NzIHRoZSBlbnRpcmUgY2VsbCwgYXMgd2UgZG8gbm90IHdhbnQgdG8gY2Fycnkgb3V0IHNpbmdsZS1jaGFubmVsIG1lYXN1cmVtZW50cywgYnV0IHJhdGhlciByZWNvcmQgdGhlIGN1cnJlbnQgYWNyb3NzIGNlbGxzIHdpdGggYSBzdHJvbmdseSBleHByZXNzaW5nIHZlY3RvciBjYXJyeWluZyB0aGUgZ2VuZSBmb3IgdGhlIGlvbiBjaGFubmVsLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIldoYXQgcmVxdWlyZW1lbnRzIG11c3QgYmUgbWV0IGZvciBjdWx0aXZhdGlvbiBhbmQgdHJhbnNmZWN0aW9uIGJlZm9yZSB0aGUgUGF0Y2gtQ2xhbXAgbWVhc3VyZW1lbnQ/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiWW91IGhhdmUgdG8gY3VsdGl2YXRlIHRoZSBjZWxscyBvbiBwb2x5LWx5c2luZSBhbmQgbGFtaW5pbiBhbmQgdXNlIHJvdW5kIGNvdmVyc2xpcHMgb2YgMTAgbW0gZGlhbWV0ZXIgdG8gcHJlcGFyZSB0aGVtIGZvciBtZWFzdXJlbWVudC4gRm9yIGlkZW50aWZpY2F0aW9uIG9mIHBvc2l0aXZlIHRyYW5zZmVjdGFudHMsIHdlIHVzZSBHRlAgY28tdHJhbnNmZWN0ZWQgY2VsbHMgaW4gb3VyIHdvcmtpbmcgZ3JvdXAsIHlvdSBzaG91bGQgdGhpbmsgb2Ygc29tZXRoaW5nIGxpa2UgdGhhdCBhcyB3ZWxsLiBBIHRyYW5zZmVjdGlvbiByYXRlIG9mIDEwICUgaXMgc3VmZmljaWVudCB0byBnYWluIGVub3VnaCBjZWxscyBmb3IgdGhlIG1lYXN1cmVtZW50LiBZb3UgY2FuIHRoaW5rIG9mIG9wdGltaXppbmcgeW91ciB0cmFuc2ZlY3Rpb24gYnkgdXNpbmcgTGlwb2ZlY3RhbWluMjAwMCB0aGFuIExpcG9mZWN0YW1pbmUyMDAwLCB3aGljaCB3b3JrcyBnb29kIGZvciBvdXIgd29ya2luZyBncm91cC4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJXaG8gY291bGQgaGVscCB1cyB3aXRoIHRoZSBQYXRjaC1DbGFtcCBtZWFzdXJlbWVudHM/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiVGhlIFBhdGNoLUNsYW1wIGRldmljZXMgYXJlIGhlYXZpbHkgdXRpbGl6ZWQgaW4gb3VyIHdvcmtpbmcgZ3JvdXAsIHNvIHlvdSBwcm9iYWJseSBjYW5ub3QgcGVyZm9ybSBtZWFzdXJlbWVudHMgb24geW91ciBvd24uIEhvd2V2ZXIsIHBvc3Rkb2NzIGNvdWxkIHN1cHBvcnQgeW91IGZvciBzb21lIG1lYXN1cmVtZW50cy4gRHIuIE9saXZlciBEclx1MDBFNGdlciBpcyBhdmFpbGFibGUgYXMgYSBjb250YWN0IHBlcnNvbiBvZiBteSB3b3JraW5nIGdyb3VwLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHA+IFRlc3QgYXVzIGRlbSBXaWtpIDwvcD4gPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPGJyLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgICAiLCAiaW1wb3J0IHsgSHdhdmUgfSBmcm9tIFwiLi9IZWFkaW5nc1wiO1xuXG5pbnRlcmZhY2UgUHJvcHN7XG4gICAgdGl0bGU6IHN0cmluZyAsXG4gICAgdGl0bGUyPzogc3RyaW5nLFxuICAgIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlLFxuICAgIGlkOiBzdHJpbmdcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSGVhZGVyQm94KHtjaGlsZHJlbiwgdGl0bGUsIHRpdGxlMiwgaWR9OiBQcm9wcyApe1xuICB2YXIgdGk6IHN0cmluZyA9IFwiXCI7XG4gIGlmICh0aXRsZTIpIHtcbiAgICB0aSA9IHRpdGxlMjtcbiAgfVxuICAgIHJldHVybihcbiAgICAgICAgPD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBoZWFkZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBoZWFkZXItdGl0bGVcIiBpZD17aWR9PlxuICAgICAgICAgICAgICA8SHdhdmUgdGV4dD17dGl0bGV9PjwvSHdhdmU+XG4gICAgICAgICAgICAgIDxId2F2ZSB0ZXh0PXt0aX0+PC9Id2F2ZT5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiYXNlXCI+XG4gICAgICAgICAgICBcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApXG59IiwgImltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBBVFRIKCkge1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJBdHRyaWJ1dGlvbnNcIiBpZD1cImF0dGhlYWRcIj5cbiAgICAgIDwvSGVhZGVyQm94PlxuICAgICk7XG4gIH0iLCAiaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIENPTlRIKCkge1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJDb250cmlidXRpb25cIiBpZD1cImNvbmhlYWRcIj5cbiAgICAgICAgXG4gICAgICA8L0hlYWRlckJveD5cbiAgICApO1xuICB9IiwgImV4cG9ydCBmdW5jdGlvbiBERVNDSCgpIHtcblxuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggIHRpdGxlPVwiRGVzY3JpcHRpb25cIiBpZD1cImRlc2NoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiXG5cbmV4cG9ydCBmdW5jdGlvbiBIT01FSCgpIHsgXG5cbiAgXG4gIHJldHVybiAoXG4gICA8PjwvPlxuICAgICAgICBcbiAgICBcbiAgKTtcbn1cbiIsICJleHBvcnQgZnVuY3Rpb24gRVhQSCgpIHtcblxuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJFeHBlcmltZW50c1wiIGlkPVwiZXhoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIEhQSCgpIHtcblxuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJIdW1hblwiIHRpdGxlMj1cIlByYWN0aWNlc1wiIGlkPVwiaHBoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIElNUEgoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiXCIgaWQ9XCJpbXBoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIE5PVEVIKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIk5vdGVib29rXCIgaWQ9XCJub3RoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIFJFU0goKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiUmVzdWx0c1wiIGlkPVwicmVzaGVhZFwiPlxuICAgICAgXG4gICAgPC9IZWFkZXJCb3g+XG4gICk7XG59XG5cbmltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7IiwgImV4cG9ydCBmdW5jdGlvbiBTQUZFSCgpIHtcblxuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJCaW9zYWZldHlcIiBpZD1cInNhZmVoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIFRFQU1IKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIk91ciBUZWFtXCIgaWQ9XCJ0ZWFtaGVhZFwiPlxuICAgICAgXG4gICAgPC9IZWFkZXJCb3g+XG4gICk7XG59XG5cbmltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7IiwgImV4cG9ydCBmdW5jdGlvbiBTUE9OSCgpIHtcblxuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJTcG9uc29yc1wiIHRpdGxlMj1cIiYgUGFydG5lcnNcIiBpZD1cInNwaGVhZFwiPlxuICAgICAgXG4gICAgPC9IZWFkZXJCb3g+XG4gICk7XG59XG5cbmltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7IiwgImV4cG9ydCBmdW5jdGlvbiBFTkdIKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIkVuZ2luZWVyaW5nXCIgaWQ9XCJlbmdoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIFNVUEgoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiU3VwcGxlbWVudGFyeVwiIHRpdGxlMj1cIk1hdGVyaWFsXCIgaWQ9XCJzdXBoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiaW1wb3J0IHsgUGFydCB9IGZyb20gXCIuLi9kYXRhL3BhcnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBQYXJ0VGFibGUoe2RhdGEsIGNvbHN9OiB7ZGF0YTogQXJyYXk8UGFydD4sIGNvbHM6IEFycmF5PHN0cmluZz59KXtcbiAgICBsZXQgbGlzdDogSlNYLkVsZW1lbnRbXSAgPSBbXTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF0YS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgbGlzdC5wdXNoKFxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZD57ZGF0YVtpbmRleF0ucGFydG5hbWV9PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj17ZGF0YVtpbmRleF0udXJsfT57ZGF0YVtpbmRleF0ucmVnaXN0cnljb2RlfTwvYT48L3RkPlxuICAgICAgICAgICAgICAgIDx0ZD57ZGF0YVtpbmRleF0uZGVzY3JpcHRpb259PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+e2RhdGFbaW5kZXhdLmxlbmd0aH08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZD57ZGF0YVtpbmRleF0udHlwZX08L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgKVxuICAgIH1cbiAgICBsZXQgaGVhZHM6IEpTWC5FbGVtZW50W10gID0gW107IFxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjb2xzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBoZWFkcy5wdXNoKDx0ZD48Yj57Y29sc1tpbmRleF19PC9iPjwvdGQ+KVxuICAgIH1cbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1pbi13LWZ1bGwgb3ZlcmZsb3cteC1hdXRvXCI+XG4gICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtYmxvY2sgbWluLXctZnVsbCBweS00XCI+XG4gICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm92ZXJmbG93LWhpZGRlbiBwLTJcIj5cbiAgICAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT1cInRleHQtY2VudGVyIHBhcnR0YWJsZVwiPlxuICAgICAgICAgICAgIDx0aGVhZCBjbGFzc05hbWU9XCJiZy1kXCI+XG4gICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICB7aGVhZHN9XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICB7bGlzdH1cbiAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgPC9kaXY+XG4gICAgICAgPC9kaXY+XG4gICAgIDwvZGl2PlxuICAgPC9kaXY+XG4gICAgKVxufSIsICJpbXBvcnQgeyBMb3JlbU1lZGl1bSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0xvcmVtaXBzdW1cIjtcbmltcG9ydCB7IFNlY3Rpb24sIFN1YmVzY3Rpb24gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgUGFydFRhYmxlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvVGFibGVcIjtcbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgQmFzaWNQYXJ0cywgQ29tcG9zaXRlUGFydHMgIH0gZnJvbSBcIi4uL2RhdGEvcGFydHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFBhcnRzKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gIGxldCBoZWFkY29scyA9IFtcIlBhcnQgTmFtZVwiLCBcIlJlZ2lzdHJ5IENvZGVcIiwgXCJQYXJ0IERlc2NyaXB0aW9uXCIsIFwibGVuZ3RoIFticF1cIiwgXCJ0eXBlXCJdXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiSW50cm9kdWN0aW9uXCIgaWQ9XCJJbnRyb2R1Y3Rpb25cIj5cbiAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkRlc2NyaXB0aW9uXCIgaWQ9XCJJbnRyb2R1Y3Rpb24xXCI+XG4gICAgICAgICAgICA8TG9yZW1NZWRpdW0vPlxuICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkNoYXJhY3Rlcml6YXRpb25cIiBpZD1cIkludHJvZHVjdGlvbjJcIj5cbiAgICAgICAgICAgIDxMb3JlbU1lZGl1bS8+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiUHJvY2Vzc1wiIGlkPVwiUHJvY2Vzc1wiPlxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiRUNcIiBpZD1cIlByb2Nlc3MxXCI+XG4gICAgICAgICAgICA8TG9yZW1NZWRpdW0vPiBcbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJEZXNpZ24gYW5kIEJ1aWxkXCIgaWQ9XCJQcm9jZXNzMlwiPlxuICAgICAgICAgICAgPExvcmVtTWVkaXVtLz4gXG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiRXhwZXJpbWVudHNcIiBpZD1cIkV4cGVyaW1lbnRzXCI+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJDbG9uaW5nXCIgaWQ9XCJFeHBlcmltZW50czFcIj5cbiAgICAgICAgICAgIDxMb3JlbU1lZGl1bS8+IFxuICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIk5pa2FzZS1Bc3NheVwiIGlkPVwiRXhwZXJpbWVudHMyXCI+XG4gICAgICAgICAgICA8TG9yZW1NZWRpdW0vPiBcbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJBY3Rpdml0eSBFeHBlcmltZW50c1wiIGlkPVwiRXhwZXJpbWVudHMzXCI+XG4gICAgICAgICAgICA8TG9yZW1NZWRpdW0vPiBcbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJQYXJ0cyBDb2xsZWN0aW9uXCIgaWQ9XCJQYXJ0cyBDb2xsZWN0aW9uXCI+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJQbGFzbWlkc1wiIGlkPVwiUGFydHMgQ29sbGVjdGlvbjFcIj5cbiAgICAgICAgICAgIDxMb3JlbU1lZGl1bS8+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQmFzaWMgUGFydHNcIiBpZD1cIlBhcnRzIENvbGxlY3Rpb24yXCI+XG4gICAgICAgICAgICA8UGFydFRhYmxlIGNvbHM9e2hlYWRjb2xzfSBkYXRhPXtCYXNpY1BhcnRzfS8+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQ29tcG9zaXRlIFBhcnRzXCIgaWQ9XCJQYXJ0cyBDb2xsZWN0aW9uM1wiPlxuICAgICAgICAgIDxQYXJ0VGFibGUgY29scz17aGVhZGNvbHN9IGRhdGE9e0NvbXBvc2l0ZVBhcnRzfS8+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gICIsICJleHBvcnQgZnVuY3Rpb24gUEFSVEgoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiUGFydHNcIiBpZD1cInBhcmhlYWRcIj5cbiAgICAgIFxuICAgIDwvSGVhZGVyQm94PlxuICApO1xufVxuXG5pbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiOyIsICJpbXBvcnQgeyBINSB9IGZyb20gXCIuLi9IZWFkaW5nc1wiO1xuaW1wb3J0IFByZUN5c2UgZnJvbSBcIi4uL3ByZWN5c2VcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gQ2FsVGFicygpe1xuXG4gICAgbGV0IHRhYmxpc3Q6IEpTWC5FbGVtZW50W10gPSBbXTsgXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRhYnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIHRhYmxpc3QucHVzaChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FsLWVudHJ5XCIgaWQ9e3RhYnNbaW5kZXhdLmNzc25hbWV9IHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVudHJ5LWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD17cGFyc2VEYXRlRnJvbUNvZGUodGFic1tpbmRleF0uY3NzbmFtZSl9Lz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVudHJ5LWJvZHlcIj5cbiAgICAgICAgICAgICAgICAgICAge3RhYnNbaW5kZXhdLm5vZGV9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKVxuICAgICAgICBcbiAgICB9XG4gICAgcmV0dXJuIHRhYmxpc3Q7IFxufVxuXG5sZXQgdGFicyA9IFtcbiAgICB7ICAgXG4gICAgICAgIGNzc25hbWU6IFwiZmVicnVhcnkyN1wiLCBcbiAgICAgICAgbm9kZTogPD48aDE+VGVhbSBNZWV0aW5nPC9oMT5cblxuICAgICAgICA8aDI+T3JnYW5pc2F0aW9uPC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gZGlzY3Vzc2VkIGltcG9ydGFudCBkZWFkbGluZXMsIGluY2x1ZGluZyB0aGUgVGVhbSBNZW1iZXIgVGlja2V0IGR1ZSBvbiBBcHJpbCA1dGgsIHRoZSBUZWFtIEdyYW5kIEphbWJvcmVlIEZlZSBvbiBKdWx5IDMxc3QsIHRoZSBXaWtpIEZyZWV6ZSBvbiBPY3RvYmVyIDJuZCwgYW5kIHRoZSBwcmVzZW50YXRpb24gdmlkZW8gc3VibWlzc2lvbiBvbiBPY3RvYmVyIDl0aC4gRGVsaXZlcmFibGVzIHdlcmUgb3V0bGluZWQsIHdpdGggZWFjaCBtZW1iZXIgYXNzaWduaW5nIHRoZW1zZWx2ZXMgdG8gdGhyZWUgc3ViamVjdCBhcmVhcywgd2hpY2ggaW5jbHVkZSBhIHZpbGxhZ2UgcHJlc2VudGF0aW9uICgxNSBtaW51dGVzKSwgYSBqdWRnaW5nIHNlc3Npb24gKDMwIG1pbnV0ZXMpLCBhbmQgYSB0ZWFtIGJvb3RoLiBFc3NlbnRpYWwgZm9ybXMgc3VjaCBhcyB0aGUgcHJvamVjdCBzYWZldHkgZm9ybSwganVkZ2luZyBmb3JtLCBhbmQgYXR0cmlidXRpb24gZm9ybSB3ZXJlIGhpZ2hsaWdodGVkLCBhbG9uZyB3aXRoIHZpZGVvIHJlcXVpcmVtZW50cyBmb3IgYm90aCBwcmVzZW50YXRpb24gYW5kIHByb21vdGlvbi48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+UHVibGljIE91dHJlYWNoPC9oMj5cbiAgICAgICAgPHA+VGVhbXMgYXJlIHRvIGJlIGVzdGFibGlzaGVkIGZvciB2YXJpb3VzIHJlc3BvbnNpYmlsaXRpZXMsIGluY2x1ZGluZyBhIHB1YmxpYyBvdXRyZWFjaCB0ZWFtIHdpdGggYSBtaW5pbXVtIG9mIGZpdmUgbWVtYmVycyBmb2N1c2luZyBvbiBzb2NpYWwgbWVkaWEgYW5kIG5ldHdvcmtpbmcgd2l0aCBvdGhlciBpR0VNIHRlYW1zLiBTcGVjaWZpYyBwb3NpdGlvbnMgdG8gZmlsbCBpbmNsdWRlIGEgZGVhZGxpbmUgbWFuYWdlciBhbmQgdGVhbXMgZm9yIHNwb25zb3JpbmcsIHRoZW1lIGFyZWFzLCBhbmQgdGhlIEdyYW5kIEphbWJvcmVlIHByZXNlbnRhdGlvbnMuIEFkZGl0aW9uYWwgcmVzcG9uc2liaWxpdGllcyBpbmNsdWRlIG9yZ2FuaXppbmcgdGhlIHZpbGxhZ2UgYm9vdGgsIGRlc2lnbiB0ZWFtIHRhc2tzLCBhbmQgZW5zdXJpbmcgdGhlIGNvbXBsZXRpb24gb2Ygc2FmZXR5LCBqdWRnaW5nLCBhbmQgYXR0cmlidXRpb24gZm9ybXMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkphbWJvcmVlICYgTWVldFVwczwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIHBsYW5zIGEgdHJpcCB0byBQYXJpcyB2aWEgdHJhaW4sIHdoaWNoIHRha2VzIGFwcHJveGltYXRlbHkgNiBob3VycyBhbmQgMTUgbWludXRlcy4gVHJhdmVsIGNvc3RzIHdpbGwgYmUgY292ZXJlZCwgd2l0aCB0ZWFtIG1lbWJlcnMgb25seSBuZWVkaW5nIHRvIHBheSBmb3IgbWVhbHMuIFN1Z2dlc3RlZCB0cmF2ZWwgZGF0ZXMgYXJlIGZyb20gT2N0b2JlciAyMXN0IHRvIDMxc3QsIGNvaW5jaWRpbmcgd2l0aCB0aGUgaUdFTSBKYW1ib3JlZSBmcm9tIE9jdG9iZXIgMjNyZCB0byAyNnRoLCB3aXRoIGFjY29tbW9kYXRpb24gdG8gYmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0ZWFtIHByZWZlcmVuY2VzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5MaW5rcyAmIENvPC9oMj5cbiAgICAgICAgPHA+QSBwcmVzZW50YXRpb24gcmVnYXJkaW5nIGlHRU0gZ3VpZGVsaW5lcyB3aWxsIGJlIHByb3ZpZGVkIGJ5IFNpbmFuLjwvcD5cbiAgICAgICAgPC8+XG4gICAgfSwgXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcImZlYnJ1YXJ5MjlcIixcbiAgICAgICAgbm9kZTogPD48aDE+VGVhbSBNZWV0aW5nPC9oMT5cblxuICAgICAgICA8aDI+VXJnZW50PC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gZGlzY3Vzc2VkIHRoZSBzdHJ1Y3R1cmUgZm9yIHRvcGljIGlkZW50aWZpY2F0aW9uLCBjb25zaWRlcmluZyB3aGV0aGVyIHRvIHN0YXJ0IHdpdGggZ2VuZXJhbCBvciBzcGVjaWZpYyBhcmVhcy4gQW4gaWRlYSB3YXMgcHJvcG9zZWQgdG8gY3JlYXRlIHRocmVlIG9yIG1vcmUgdG9waWMgYXJlYXMgZm9yIGdyb3VwIGZvcm1hdGlvbiBiYXNlZCBvbiBwZXJzb25hbCBpbnRlcmVzdHMsIHdpdGggZWFjaCBtZW1iZXIgcHJlcGFyaW5nIGEgc2xpZGUgdG8gZmFjaWxpdGF0ZSBjbHVzdGVyaW5nIGlkZWFzLiBTaW5hbiB3aWxsIGNyZWF0ZSBhIHByZXNlbnRhdGlvbiB0byBiZSBjb21wbGV0ZWQgYnkgVGh1cnNkYXksIE1hcmNoIDd0aC48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+T3JnYW5pc2F0aW9uPC9oMj5cbiAgICAgICAgPHA+Rm9yIGZ1dHVyZSBjb21tdW5pY2F0aW9uLCB0ZWFtcyB3aWxsIHVzZSBhIGRlZGljYXRlZCBwbGF0Zm9ybSBzdGFydGluZyBNYXJjaCA1dGgsIHdoaWxlIFNsYWNrIHdpbGwgc2VydmUgZm9yIGluZm9ybWFsIG5ldHdvcmtpbmcuIFRoZSBuZWVkIGZvciBpbnRlcm5hbCBkZWFkbGluZXMgd2FzIGVtcGhhc2l6ZWQsIHN1Z2dlc3Rpbmcgb25lIHdlZWsgcHJpb3IgdG8gb2ZmaWNpYWwgZGVhZGxpbmVzLCBhbmQgZXZlcnlvbmUgaXMgZW5jb3VyYWdlZCB0byBtb25pdG9yIHRoZSBpR0VNIHdlYnNpdGUgZm9yIHVwZGF0ZXMuIFBvc3NpYmxlIGluaXRpYXRpdmVzIGluY2x1ZGUgb3JnYW5pemluZyBhIHN0aWNrZXIgYWxidW0sIG5ld3NsZXR0ZXIsIHBvc3RjYXJkIGNhbXBhaWduLCBhbmQgZXZlbiBhIE1pbmkgSmFtYm9yZWUgb3IgSnVuaW9yIEphbSBpbiBCaWVsZWZlbGQuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkRvY3VtZW50YXRpb248L2gyPlxuICAgICAgICA8cD5VdGlsaXppbmcgWm90ZXJvIGFzIGEgbGl0ZXJhdHVyZSBwbGF0Zm9ybSB3YXMgYWdyZWVkIHVwb24sIHdpdGggYXR0ZW50aW9uIG5lZWRlZCBvbiB0aGUgYWNjdXJhY3kgb2YgY2l0YXRpb25zLCBlc3BlY2lhbGx5IGZvciBvbGRlciBwdWJsaWNhdGlvbnMuIFRoZSBwcm9qZWN0IGRlc2NyaXB0aW9uIHNob3VsZCBiZSBjb25jaXNlLCBpbmNvcnBvcmF0aW5nIHJlbGV2YW50IGxpdGVyYXR1cmUgYW5kIGVuZ2FnaW5nIGNvbnRlbnQgZm9yIGp1ZGdlcywgd2l0aCBhIGZpbmFsIHZlcnNpb24gZHVlIGJ5IHRoZSBXaWtpIEZyZWV6ZSBhbmQgYSBwcmVsaW1pbmFyeSB2ZXJzaW9uIGJ5IEp1bmUgMjFzdC4gQWRkaXRpb25hbGx5LCBuZXcgcGFydHMgbXVzdCBiZSBjcmVhdGVkIGlmIHVuYXZhaWxhYmxlIGluIHRoZSBSZWdpc3RyeSwgZW5zdXJpbmcgY29tcGF0aWJpbGl0eSB3aXRoIHNwZWNpZmljIHJlc3RyaWN0aW9uIGVuenltZXMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlByb2plY3QgU29mdHdhcmU8L2gyPlxuICAgICAgICA8cD5EaXNjdXNzaW9uIGhpZ2hsaWdodGVkIHRoZSBwb3RlbnRpYWwgcmVsZXZhbmNlIG9mIHByb2plY3Qgc29mdHdhcmUgZGVwZW5kaW5nIG9uIHRoZSBmb2N1cywgd2l0aCBmdXJ0aGVyIGRldGFpbHMgYXZhaWxhYmxlIGluIHRoZSB1cGNvbWluZyBwcmVzZW50YXRpb24uIEF3YXJkcyB3ZXJlIG91dGxpbmVkLCBlbXBoYXNpemluZyB0aGF0IG1lZGFscyBkbyBub3QgcmVxdWlyZSBzcGVjaWFsIGF3YXJkcyBhbmQgZGVwZW5kIG9uIHByb2plY3Qgc3VjY2VzcyBhbmQgaHVtYW4gcHJhY3RpY2VzLiBUaGUgdGVhbSBhaW1zIGZvciB0aGUgR29sZCBtZWRhbCwgd2hpY2ggbmVjZXNzaXRhdGVzIHRocmVlIG1ham9yIGFjaGlldmVtZW50cyBhY3Jvc3MgdmFyaW91cyBjYXRlZ29yaWVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5UZWFtPC9oMj5cbiAgICAgICAgPHA+QSB0ZWFtLWJ1aWxkaW5nIHdlZWtlbmQgd2FzIHByb3Bvc2VkLCB3aXRoIGRldGFpbHMgb24gcHJpY2luZyBhbmQgYSBmaW5hbCB2b3RlIHRvIGJlIGNsYXJpZmllZCBieSBLYXRobGVlbiBhbmQgS2ltLiBUaGUgdGVhbSBhbHNvIGFncmVlZCB0byBhIGJvd2xpbmcgYWN0aXZpdHkgaW5zdGVhZCBvZiB0aGUgbWVldGluZyBvbiBNYXJjaCA1dGgsIHdpdGggZnVydGhlciBpbmZvcm1hdGlvbiB0byBiZSBzaGFyZWQgdmlhIFdoYXRzQXBwLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5UYXNrczwvaDI+XG4gICAgICAgIDxwPlNpbmFuIGlzIHRhc2tlZCB3aXRoIGNyZWF0aW5nIGEgcHJlc2VudGF0aW9uIHRvIG91dGxpbmUgdmFyaW91cyB0b3BpY3MgZm9yIHRoZSB0ZWFtLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5XaWtpPC9oMj5cbiAgICAgICAgPHA+VGhlIHdpa2kgd2lsbCBiZSBlc3NlbnRpYWwgZm9yIGRvY3VtZW50aW5nIHRoZSBwcm9qZWN0IGFuZCBwcmVzZW50aW5nIHJlc2VhcmNoLiBJdCB3aWxsIGluY2x1ZGUgc2VjdGlvbnMgZm9yIGNvbnRyaWJ1dGlvbnMgYW5kIG11c3Qgbm90IGFsdGVyIGlHRU0gbGlua3MuIEEgYmFzaWMgd2lraSB3aWxsIGJlIGVzdGFibGlzaGVkLCB3aXRoIGEgXHUyMDFDQ29sZCBXZWRuZXNkYXlcdTIwMUQgcGxhbm5lZCBmb3IgcmV2aWV3aW5nIHZpZGVvcyBhbmQgb3RoZXIgbWF0ZXJpYWxzIGJlZm9yZSB0aGUgV2lraSBGcmVlemUuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkxpbmtzICYgQ288L2gyPlxuICAgICAgICA8cD5TaW5hbiB3aWxsIGFsc28gcHJvdmlkZSBhIHByZXNlbnRhdGlvbiByZWdhcmRpbmcgaUdFTSBndWlkZWxpbmVzLjwvcD5cbiAgICAgICAgPC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwibWFyY2g3XCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8cD5UaGUgdGVhbSBkaXNjdXNzZWQgdGhlIGZvcm1hdGlvbiBvZiBzdWJ0ZWFtcywgZW1waGFzaXppbmcgdGhhdCBtb2RlcmF0aW9uIGFuZCBtYWluIHJlc3BvbnNpYmlsaXRpZXMgYXJlIHNoYXJlZCwgcmF0aGVyIHRoYW4gdW5pbGF0ZXJhbCBkZWNpc2lvbi1tYWtpbmcuIEEgZGVzaWduYXRlZCBwZXJzb24gd2lsbCBvdmVyc2VlIGFsbCBkZWFkbGluZXMgYW5kIGNoZWNrIHRoZW0gdHdvIHdlZWtzIGluIGFkdmFuY2UsIHdpdGggaW50ZXJuYWwgZGVhZGxpbmVzIG1hbmFnZWQgdGhyb3VnaCBhIGNhbGVuZGFyIG9uIE1pY3Jvc29mdCBUZWFtcywgd2hpY2ggd2lsbCBhbHNvIGluY2x1ZGUgYmlydGhkYXlzLiBTbWFsbCBncm91cCBicmFpbnN0b3JtaW5nIHNlc3Npb25zIGFpbWVkIHRvIGdlbmVyYXRlIDEtMyBjb25jcmV0ZSBwcm9qZWN0IGlkZWFzLCB3aXRoIHN1bW1hcmllcyByZWNvcmRlZCBmb3IgcmVmZXJlbmNlLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxwPkZvciBsaXRlcmF0dXJlIG1hbmFnZW1lbnQsIFpvdGVybyB3aWxsIGJlIHV0aWxpemVkIGZvciBvcmdhbml6aW5nIHB1YmxpY2F0aW9ucyBpbnRvIHN1YmZvbGRlcnMsIHJlcXVpcmluZyB0aGUgdXNlIG9mIERPSSBvciBJU0JOIGZvciBhdHRhY2htZW50cy4gVGhpcyB3aWxsIGVuc3VyZSBlYXN5IGFjY2VzcyBhbmQgcHJldmVudCBkdXBsaWNhdGUgZW50cmllcy4gTWljcm9zb2Z0IFRlYW1zIHdpbGwgYmUgc2V0IHVwIGZvciBjb21tdW5pY2F0aW9uLCB0cmFuc2ZlcnJpbmcgaW5mb3JtYXRpb24gZnJvbSBOb3Rpb24gdG8gZmFjaWxpdGF0ZSBjYWxlbmRhciBtYW5hZ2VtZW50LCBjaGF0LCBhbmQgZG9jdW1lbnQgdXBsb2Fkcy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+VGVhbTwvaDI+XG4gICAgICAgIDxwPlRoZSBib3dsaW5nIGV2ZW50IHdhcyBhIHN1Y2Nlc3MsIGFuZCBwaG90b3Mgd2VyZSB0YWtlbiBmb3IgcG90ZW50aWFsIGluY2x1c2lvbiBpbiBhIFwiUGhvdG8gQm9vay5cIiBUaGVyZSBpcyBhIHN1Z2dlc3Rpb24gdG8gbWFrZSB0aGlzIGEgbW9udGhseSB0ZWFtIGV2ZW50LCB3aXRoIGFuIHVwY29taW5nIGV4Y3Vyc2lvbiB3aGVyZSB0aGUgdGVhbSB3aWxsIHZvdGUgYmV0d2VlbiBUaGUgSGFndWUgb3IgSGFtYnVyZywgY29vcmRpbmF0ZWQgYnkgS2ltIGFuZCBLYXRobGVlbi48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SmFtYm9yZWUgJiBNZWV0VXBzPC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gaWRlbnRpZmllZCBtZW1iZXJzIHJlc3BvbnNpYmxlIGZvciBwbGFubmluZyB0aGUgUGFyaXMgZXhjdXJzaW9uIGFuZCBkaXNjdXNzZWQgcHJlcGFyaW5nIGEgZGV0YWlsZWQgZG9jdW1lbnQgY292ZXJpbmcgYWNjb21tb2RhdGlvbiBhbmQgdHJhaW4gdHJhdmVsLiBFbXBoYXNpcyB3YXMgcGxhY2VkIG9uIG1haW50YWluaW5nIHRlYW0gZHluYW1pY3MgZHVyaW5nIHRoaXMgcGxhbm5pbmcgcGhhc2UuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlB1YmxpYyBPdXRyZWFjaDwvaDI+XG4gICAgICAgIDxwPlRoZSBwdWJsaWMgb3V0cmVhY2ggdGVhbSwgY29uc2lzdGluZyBvZiBMeWRpYSwgQXNhbCwgUGhpbGlwLCBLYXlhLCBhbmQgVmVyYSwgd2lsbCBmb2N1cyBvbiBzb2NpYWwgbWVkaWEgYW5kIG5ldHdvcmtpbmcgaW5pdGlhdGl2ZXMuIFRoZXkgYXJlIHBsYW5uaW5nIGFjdGl2aXRpZXMgc3VjaCBhcyBwb3N0Y2FyZCBhbmQgc3RpY2tlciBjYW1wYWlnbnMgYW5kIGFpbSB0byBvcmdhbml6ZSBhIE1pbmkgSmFtYm9yZWUgaW52b2x2aW5nIGFwcHJveGltYXRlbHkgMjUgdGVhbXMgZnJvbSBhY3Jvc3MgRXVyb3BlLCBhbG9uZyB3aXRoIGNvbnRyaWJ1dGlvbnMgdG8gbG9jYWwgcmFkaW8vbmV3c3BhcGVyIGVmZm9ydHMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlNwb25zb3Jpbmc8L2gyPlxuICAgICAgICA8cD5UaGUgc3BvbnNvcmluZyB0ZWFtLCBtYWRlIHVwIG9mIFZpbmNlbnQsIEx5ZGlhLCBBbm5hLCBOYW5lLCBEYXlhbiwgYW5kIElzYWJlbGwsIHdpbGwgZGV2ZWxvcCBhbiBhcHBsaWNhdGlvbiBib29rbGV0IG91dGxpbmluZyB3aGF0IGlHRU0gZW50YWlscyBmb3IgcG90ZW50aWFsIHNwb25zb3JzLiBUaGVpciB0YXNrcyBpbmNsdWRlIG5lZ290aWF0aW5nIGNvbnRyYWN0IHRlcm1zIGFuZCBwcmljaW5nIGNhdGVnb3JpZXMsIHdpdGggYW4gZW1waGFzaXMgb24gc3RhcnRpbmcgdG8gY29udGFjdCBzcG9uc29ycyBpbW1lZGlhdGVseS48L3A+XG4gICAgICAgIDwvPlxuICAgIH0sIFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJtYXJjaDEyXCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8cD5CcmFpbnN0b3JtaW5nIHdpbGwgY29udGludWUgaW4gdGhlIHNhbWUgZ3JvdXBzLCB3aXRoIGVhY2ggZ3JvdXAgc2VsZWN0aW5nIHR3byB0b3BpY3MgdG8gcHJlc2VudCBhdCB0aGUgbmV4dCBtZWV0aW5nLiBBbnlvbmUgd2l0aG91dCBhY2Nlc3MgdG8gdGhlIG1lZXRpbmcgcm9vbSBzaG91bGQgZW1haWwgTHV0eiBXb2JiZSwgd2l0aCBKXHUwMEY2cm4gY29waWVkLCBmb3IgYXNzaXN0YW5jZS4gRGV2aWNlIGJvcnJvd2luZyBjYXJkcyBoYXZlIGJlZW4gZGlzdHJpYnV0ZWQsIGdyYW50aW5nIGFjY2VzcyB0byB0aGUgRGlnaXRhbCBMZWFybmluZyBMYWIsIGFuZCByZXF1ZXN0cyB0byB1c2UgZmFjaWxpdGllcyBsaWtlIHRoZSAzRCBwcmludGVyIHNob3VsZCBiZSBzZW50IHZpYSBlbWFpbC48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+VGVhbTwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGlzIHBsYW5uaW5nIGEgd2Vla2VuZCBpbiBUaGUgSGFndWUsIGZvY3VzaW5nIG9uIHdvcmtzaG9wIGNvbnRlbnQgYW5kIHRoZSBwb3NzaWJpbGl0eSBvZiBob3N0aW5nIGEgd29ya3Nob3AgdGhlbXNlbHZlcy4gQ29vcmRpbmF0aW9uIHdpdGggdGhlIExlaWRlbiBhbmQgRGVsZnQgdGVhbXMgZm9yIGEgbWVldC11cCBhbmQgYSB2aXNpdCB0byB0aGUgcmVzZWFyY2ggY2VudGVyIGlzIHVuZGVyd2F5LCB3aXRoIGRpc2N1c3Npb25zIG5lZWRlZCBvbiBwYXJ0aWNpcGFudCBudW1iZXJzLCBpbmNsdWRpbmcgc3VwZXJ2aXNvcnMgYW5kIFBJcy4gQWRkaXRpb25hbGx5LCBhIG1lbWUgY2hhbm5lbCB3aWxsIGJlIGNyZWF0ZWQgdG8gc2hhcmUgbGFiLXJlbGF0ZWQgaHVtb3IuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkphbWJvcmVlICYgTWVldFVwczwvaDI+XG4gICAgICAgIDxwPkEgcG9sbCB3aWxsIGJlIGRpc3RyaWJ1dGVkIHRvIGFzc2VzcyB0aGUgZmVhc2liaWxpdHkgb2YgdGhlIHBsYW5uZWQgdHJpcCB0byBQYXJpcyBmcm9tIE9jdG9iZXIgMjEgdG8gT2N0b2JlciAzMSwgYXNraW5nIGZvciBwYXJ0aWNpcGF0aW9uIGluIHRoZSBmdWxsIHRyaXAgb3IgcGFydCBvZiBpdC4gVGhlIHN1aXRhYmlsaXR5IG9mIEJpZWxlZmVsZCBmb3IgYSBtZWV0LXVwIHdpbGwgYmUgZXZhbHVhdGVkLCB3aXRoIGFzc2lzdGFuY2UgZnJvbSB0aGUgSGFtYnVyZy9GcmFua2Z1cnQgdGVhbXMgZm9yIHByb2dyYW0gYW5kIHNwZWFrZXIgb3JnYW5pemF0aW9uLiBKXHUwMEY2cm4gaGFzIGNvbnRhY3RzIGZvciBwb3RlbnRpYWwgc3BlYWtlcnMsIGFuZCB0aGUgbWVldC11cCBwbGFuIGlzIGluIGRldmVsb3BtZW50LCBwZW5kaW5nIG9mZmljaWFsIGFwcHJvdmFsLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5UYXNrczwvaDI+XG4gICAgICAgIDxwPkFsbCBtZWV0aW5nIG1pbnV0ZXMgd2lsbCBiZSBtZXJnZWQgaW50byBhIHNpbmdsZSBXb3JkIGRvY3VtZW50IGZvciBjbGFyaXR5LiBBIHRlYW0gb2YgYXQgbGVhc3QgdGhyZWUgKENocmlzdGlhbiwgTmFuZSwgYW5kIExpc2EpIGlzIHRhc2tlZCB3aXRoIHNldHRpbmcgdXAgdGhlIEF0dHJpYnV0aW9uIEZvcm0gdG8gZG9jdW1lbnQgY29udHJpYnV0aW9ucyBhbmQgZGVsaXZlcmFibGVzLiBBbGwgbWVtYmVycyBhcmUgZW5jb3VyYWdlZCB0byBtb25pdG9yIHRoZSBjYWxlbmRhciBjcmVhdGVkIGJ5IEthaSBhbmQgYWRkIGFueSBpbXBvcnRhbnQgZGF0ZXMgYW5kIGRlYWRsaW5lcy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+UHVibGljIE91dHJlYWNoPC9oMj5cbiAgICAgICAgPHA+QSB0b3VyIG9mIHRoZSBNYWtpbmcgTWVkaWEgTGFiIGlzIHNjaGVkdWxlZCBmb3IgVGh1cnNkYXksIE1hcmNoIDE0LCBhdCAxNzozMCwgd2l0aCBwb3RlbnRpYWwgY29sbGFib3JhdGlvbiB3aXRoIHRoZSBIYW1idXJnIGFuZCBGcmFua2Z1cnQgdGVhbXMgZm9yIGEgcm90YXRpbmctbG9jYXRpb24gbWVldC11cC4gQSB2b3RlIHdpbGwgYmUgaGVsZCByZWdhcmRpbmcgdGhlIG9yZ2FuaXphdGlvbiBvZiB0aGlzIHllYXIncyBtZWV0LXVwIGluIEJpZWxlZmVsZCwgYW5kIGEgcHJvZmVzc2lvbmFsIHRlYW0gcGhvdG8gaXMgcGxhbm5lZCwgd2l0aCBjb25zZW50IGFscmVhZHkgb2J0YWluZWQgZnJvbSBhbGwgcHJlc2VudCBtZW1iZXJzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5TcG9uc29yaW5nPC9oMj5cbiAgICAgICAgPHA+VXBjb21pbmcgZXZlbnRzIGluY2x1ZGUgdGhlIExhYlN1cHBseSBGYWlyIG9uIEFwcmlsIDI0IGFuZCBGYW1lTGFiLCB3aXRoIHByZWxpbWluYXJ5IHJvdW5kcyBvbiBBcHJpbCAxMSBhbmQgdGhlIGZpbmFscyBvbiBKdW5lIDEyIGluIEJpZWxlZmVsZC4gVGhlIEp1bmlvckphbSBpbiBNXHUwMEZDbnN0ZXIgaXMgaGlnaGxpZ2h0ZWQgYXMgYSBcIm1hbmRhdG9yeSBldmVudFwiIGZyb20gQXVndXN0IDE2IHRvIDE4LCBhbmQgcGxhbm5pbmcgZm9yIGF0dGVuZGFuY2UgYW5kIG9yZ2FuaXphdGlvbiBpcyBuZWVkZWQuIFRoZSBzcG9uc29yaW5nIHRlYW0gd2lsbCBtZWV0IHR3aWNlIGEgd2VlayBhcyBwbGFubmluZyBpcyBqdXN0IGJlZ2lubmluZy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+V2lraTwvaDI+XG4gICAgICAgIDxwPk1heGltaWxpYW4gZW1waGFzaXplZCB0aGUgbmVlZCBmb3IgZXhwZXJpZW5jZSB3aXRoIEhUTUwsIENTUywgYW5kIEphdmFTY3JpcHQgZm9yIGJ1aWxkaW5nIHRoZSBXaWtpIHBhZ2UsIGFuZCBoZSB3aWxsIG9yZ2FuaXplIGFuIGludHJvZHVjdG9yeSBjb3Vyc2UgdG8gZW5zdXJlIGV2ZXJ5b25lIGxlYXJucyB0aGUgYmFzaWNzIGJlZm9yZSB0aGUgV2lraSBGcmVlemUuIEhlIHdpbGwgYWxzbyBjb25maWd1cmUgc29mdHdhcmUgZm9yIGVycm9yIGRldGVjdGlvbiBhbmQgYXV0b2NvbXBsZXRlIGZ1bmN0aW9uYWxpdHksIGFuZCB3aWxsIGFkZHJlc3MgdGhlIHRpbWUgZGVsYXkgZm9yIFdpa2kgdXBkYXRlcy4gSW5zcGlyYXRpb24gY2FuIGJlIGRyYXduIGZyb20gcHJldmlvdXMgV2lraSBkZXNpZ25zLCB3aXRoIGEgZ29hbCB0byBlbmhhbmNlIGNvbXBldGl0aXZlbmVzcyBpbiB0aGUgaUdFTSBjb250ZXN0LjwvcD5cbiAgICAgICAgPC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwibWFyY2gxNFwiLCBcbiAgICAgICAgbm9kZTogPD48aDE+VGVhbSBNZWV0aW5nPC9oMT5cblxuICAgICAgICA8aDI+T3JnYW5pc2F0aW9uPC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gYnJhaW5zdG9ybWVkIHZhcmlvdXMgdG9waWNzIGZvciBwb3RlbnRpYWwgcHJvamVjdHMsIGluY2x1ZGluZyBDeXN0aWMgRmlicm9zaXMsIER1Y2hlbm5lIE11c2N1bGFyIER5c3Ryb3BoeSwgUmFwaWQgQW50aWdlbiBUZXN0LCBIdW50aW5ndG9uXHUyMDE5cyBEaXNlYXNlLCBQaGFnZSBUaGVyYXB5IGZvciB0aGUgR3V0LCBNYWduZXRpYyBNaWNyb3N3aW1tZXJzLCBhbmQgVG94aWMgQ3lhbm9iYWN0ZXJpYWwgQmxvb21zLiBFYWNoIHRlYW0gd2lsbCBwcmVwYXJlIGEgYnJpZWYgaW50cm9kdWN0aW9uIG9mIHRoZWlyIGFzc2lnbmVkIHRvcGljLCB3aXRoIGd1aWRlbGluZXMgZm9yIGEgMTAtMTUgbWludXRlIHByZXNlbnRhdGlvbiBjb3ZlcmluZyB0aGUgcHJvYmxlbSwgcHJvcG9zZWQgc29sdXRpb24sIGV4aXN0aW5nIHN0dWRpZXMsIGFuZCBwcm9qZWN0IGNoYWxsZW5nZXMuIFRoZSBnb2FsIGlzIHRvIGNvbXBsZXRlIHRoZSBwcm9qZWN0IG91dGxpbmUgYnkgTWFyY2ggMjEsIDIwMjQsIGluY29ycG9yYXRpbmcgdW5pdmVyc2l0eSByZXNvdXJjZXMgYW5kIG91dGxpbmluZyBwb3NzaWJsZSBzdWJwcm9qZWN0cy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+VGVhbTwvaDI+XG4gICAgICAgIDxwPlRoZSBhdmFpbGFiaWxpdHkgb2YgbGFiIGNvYXRzIHdhcyBjb25maXJtZWQgZm9yIGEgdW5pZm9ybSB0ZWFtIHBob3RvLCBlbnN1cmluZyBldmVyeW9uZSBpcyBwcmVwYXJlZCBmb3IgdGhlIG9jY2FzaW9uLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5KYW1ib3JlZSAmIE1lZXRVcHM8L2gyPlxuICAgICAgICA8cD5UaGUgcGxhbm5pbmcgZm9yIHRoZSBQYXJpcyB0cmlwIGlzIHVuZGVyd2F5LCB3aXRoIHRoZSB0ZWFtIG5hcnJvd2luZyBkb3duIGFjY29tbW9kYXRpb24gb3B0aW9ucy4gVGhyZWUgdG8gZm91ciBob3RlbCBjaG9pY2VzIHdpbGwgYmUgcHJlc2VudGVkIGluIHRoZSB1cGNvbWluZyBtZWV0aW5nIG9uIFR1ZXNkYXkuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJtYXJjaDE5XCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8cD5UaGUgdGVhbSBkaXNjdXNzZWQgdGhlIGltcGxlbWVudGF0aW9uIG9mIGEgcHJvdG9jb2wgc3RydWN0dXJlLCBlbXBoYXNpemluZyB0aGUgbmVlZCBmb3IgYW4gYWdlbmRhIHRvIGJlIGludHJvZHVjZWQgYWhlYWQgb2YgdGltZS4gUGFydGljaXBhbnRzIGNhbiBhZGQgdG9waWNzIHRvIGJlIGRpc2N1c3NlZCBpbiB0aGUgdXBjb21pbmcgbWVldGluZ3MgZGlyZWN0bHkgaW4gdGhlIG1pbnV0ZXMuIEFkZGl0aW9uYWxseSwgdG9waWMgcHJlc2VudGF0aW9ucyBhcmUgc2NoZWR1bGVkIGZvciBNYXJjaCAyNiwgYWltaW5nIHRvIGZvbGxvdyB0aGUgaUdFTSBwcmVzZW50YXRpb24gc3R5bGUgdG8gZWZmZWN0aXZlbHkgcGl0Y2ggaWRlYXMgYW5kIHByYWN0aWNlIGZvciBmdXR1cmUgcHJlc2VudGF0aW9ucy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SmFtYm9yZWUgJiBNZWV0VXBzPC9oMj5cbiAgICAgICAgPHA+S2F0aGxlZW4gcHJlc2VudGVkIGZvdXIgYWNjb21tb2RhdGlvbiBvcHRpb25zIGZvciB0aGUgUGFyaXMgdHJpcCwgd2hpY2ggaGF2ZSBiZWVuIHVwbG9hZGVkIHRvIFRlYW1zIGZvciByZXZpZXcuIE9wdGlvbnMgcmFuZ2UgZnJvbSBzZWxmLWNhdGVyaW5nIGFwYXJ0bWVudHMgdG8gYSBob3N0ZWwsIGVhY2ggdmFyeWluZyBpbiBjb3N0LCBhdG1vc3BoZXJlLCBhbmQgcHJveGltaXR5IHRvIHRoZSBldmVudCB2ZW51ZS4gQSBwb2xsIGZvciBhY2NvbW1vZGF0aW9uIHByZWZlcmVuY2VzIHdpbGwgY2xvc2Ugb24gTWFyY2ggMjEsIDIwMjQsIGF0IDYgcC5tLiBvbiBXaGF0c0FwcCwgYWZ0ZXIgd2hpY2ggYWRkaXRpb25hbCBib29raW5nIGRldGFpbHMgd2lsbCBiZSBwcm92aWRlZC48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+U3BvbnNvcmluZzwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGlzIGNvb3JkaW5hdGluZyBhdHRlbmRhbmNlIGFuZCBvcmdhbml6YXRpb24gZm9yIHRoZSBMYWItU3VwcGx5IEZhaXIgYW5kIG90aGVyIHJlbGF0ZWQgZXZlbnRzLiBUaGlzIGludGVybmFsIGNvb3JkaW5hdGlvbiBhaW1zIHRvIGVuc3VyZSBlZmZlY3RpdmUgcGFydGljaXBhdGlvbiBhbW9uZyBpbnRlcmVzdGVkIG1lbWJlcnMuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJtYXJjaDIxXCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5UZWFtPC9oMj5cbiAgICAgICAgPHA+VGhlIEhhbWJ1cmcgaUdFTSB0ZWFtIGlzIHNjaGVkdWxlZCBmb3IgYSByZXRyZWF0IGJ1dCBpcyBleHBlY3RlZCB0byBoYXZlIHRpbWUgYXZhaWxhYmxlIGZvciBhIG1lZXQtdXAgb24gRnJpZGF5LjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5KYW1ib3JlZSAmIE1lZXRVcHM8L2gyPlxuICAgICAgICA8cD5EdXJpbmcgdGhlIG1lZXRpbmcsIHRoZSB0ZWFtIGNvbmZpcm1lZCB0aGF0IHRoZSBBcGFydGhvdGVsIHdhcyB0aGUgcHJlZmVycmVkIGFjY29tbW9kYXRpb24gb3B0aW9uIGZvciB0aGUgUGFyaXMgdHJpcC4gSG93ZXZlciwgdGhlcmUgYXJlIGNoYWxsZW5nZXMgd2l0aCBib29raW5nLCBhcyBhY2NvbW1vZGF0aW9ucyBjYW5ub3QgYmUgcmVzZXJ2ZWQgdmlhIEJvb2tpbmcuY29tLCBhbmQgdGhlIGluZGl2aWR1YWwgYm9va2luZyBzaXRlcyBzaG93IGluc3VmZmljaWVudCBhdmFpbGFiaWxpdHkuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJtYXJjaDI3XCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8aDM+Rmlyc3QgUHJlc2VudGF0aW9uOiBSZWQgQmlvdGVjaG5vbG9neSAtIER1Y2hlbm5lIE11c2N1bGFyIER5c3Ryb3BoeTwvaDM+XG4gICAgICAgIDxwPkR1Y2hlbm5lIG11c2N1bGFyIGR5c3Ryb3BoeSBpcyBhIGdlbmV0aWMgZGlzZWFzZSBjaGFyYWN0ZXJpemVkIGJ5IG11c2NsZSB0aXNzdWUgcmVwbGFjZW1lbnQuIFNldmVyYWwgY3VyZSBhcHByb2FjaGVzIHdlcmUgZGlzY3Vzc2VkLCBpbmNsdWRpbmcgZXhvbiBza2lwcGluZyBhbmQgdXNpbmcgQUFWIHZlY3RvcnMsIGJ1dCBjdXJyZW50IHRyZWF0bWVudHMgYXJlIGxpbWl0ZWQuIFF1ZXN0aW9ucyByYWlzZWQgaW5jbHVkZWQgdGhlIGludGVncmF0aW9uIG9mIGxvbmcgRE5BIGludG8gY2VsbHMgYW5kIHBvdGVudGlhbCBjb21tdW5pdHkgZW5nYWdlbWVudCBzdHJhdGVnaWVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMz5TZWNvbmQgUHJlc2VudGF0aW9uOiBNYWduZXRpYyBNaWNyb3N3aW1tZXJzIGZvciBUYXJnZXRlZCBDYW5jZXIgVGhlcmFweTwvaDM+XG4gICAgICAgIDxwPlRoaXMgcHJlc2VudGF0aW9uIGZvY3VzZWQgb24gdXNpbmcgYmlvZGVncmFkYWJsZSBhbGdhZSBhcyBjYXJyaWVycyBmb3Igbm9uLWludmFzaXZlIGRydWcgZGVsaXZlcnkgdGFyZ2V0aW5nIG92YXJpYW4gY2FuY2VyLiBUaGUgbWV0aG9kIGludm9sdmVzIG1hZ25ldGl6aW5nIG1pY3Jvc3dpbW1lcnMgdG8gZW5oYW5jZSBtb2JpbGl0eSBhbmQgZGVsaXZlciBkcnVncyB0byBjYW5jZXIgY2VsbHMsIGVuc3VyaW5nIG1pbmltYWwgZGFtYWdlIHRvIGhlYWx0aHkgdGlzc3VlLiBRdWVzdGlvbnMgaW5jbHVkZWQgY29uY2VybnMgYWJvdXQgYmlvZGVncmFkYWJpbGl0eSB3aXRoIG1hZ25ldGljIHBhcnRpY2xlcyBhbmQgdGhlIGNoYWxsZW5nZXMgb2YgdGFyZ2V0aW5nIHNwZWNpZmljIGFyZWFzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMz5UaGlyZCBQcmVzZW50YXRpb246IEN5YW5vYmFjdGVyaWEgQmxvb20gUHJldmVudGlvbiB3aXRoIEFsZ2FlPC9oMz5cbiAgICAgICAgPHA+Q3lhbm9iYWN0ZXJpYSBibG9vbXMgcG9zZSBzaWduaWZpY2FudCBlY29sb2dpY2FsIHRocmVhdHMsIGFuZCBjdXJyZW50IGNvbnRyb2wgbWV0aG9kcyBhcmUgaW5hZGVxdWF0ZS4gVGhlIHByb3Bvc2VkIHNvbHV0aW9uIGludm9sdmVzIHVzaW5nIHBlcHRpZGVzIGZyb20gYWxnYWUgdG8gcHJldmVudCBibG9vbXMgd2hpbGUgcHJlc2VydmluZyBlY29zeXN0ZW1zLiBLZXkgcGF0aHdheXMgYW5kIHRhcmdldHMgd2VyZSBpZGVudGlmaWVkLCBlbXBoYXNpemluZyB0aGUgbmVlZCBmb3IgY29uc2VydmF0aW9uIGFuZCBiaW9kaXZlcnNpdHkuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgzPkZvdXJ0aCBQcmVzZW50YXRpb246IEN5c3RpYyBGaWJyb3NpczwvaDM+XG4gICAgICAgIDxwPkN5c3RpYyBmaWJyb3NpcyBhZmZlY3RzIGEgc2lnbmlmaWNhbnQgbnVtYmVyIG9mIGluZGl2aWR1YWxzIGFuZCBpcyBkaWFnbm9zZWQgdGhyb3VnaCBzd2VhdCB0ZXN0cyBhbmQgZ2VuZXRpYyBzY3JlZW5pbmcuIEN1cnJlbnQgdHJlYXRtZW50cyBmb2N1cyBvbiBtYW5hZ2luZyBzeW1wdG9tcywgYnV0IHRoZSBnb2FsIGlzIHRvIGRldmVsb3AgbG9uZy10ZXJtIGN1cmVzIGJ5IHRhcmdldGluZyB0aGUgZ2VuZXRpYyBiYXNpcyBvZiB0aGUgZGlzb3JkZXIuIFRoZSB0ZWFtIGlzIGNvbGxhYm9yYXRpbmcgd2l0aCB2YXJpb3VzIHNwZWNpYWxpc3RzIGFuZCBvcmdhbml6YXRpb25zIHRvIGRldmVsb3AgZWR1Y2F0aW9uYWwgbWF0ZXJpYWxzIGFuZCBvcHRpbWl6ZSB0cmVhdG1lbnQgc3RyYXRlZ2llcy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDM+RnVydGhlciBQcmVzZW50YXRpb25zPC9oMz5cbiAgICAgICAgPHA+RGlzY3Vzc2lvbnMgaW5jbHVkZWQgdGhlIHBvdGVudGlhbCBvZiBwaGFnZXMgYXMgYW4gYWx0ZXJuYXRpdmUgdG8gYW50aWJpb3RpY3MgYW5kIGZ1dHVyZSBwcmVzZW50YXRpb25zIG9uIHJlbGF0ZWQgdG9waWNzLjwvcD5cbiAgICAgICAgPC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwibWFyY2gyOVwiLCBcbiAgICAgICAgbm9kZTogPD48aDE+VGVhbSBNZWV0aW5nPC9oMT5cblxuICAgICAgICA8aDI+T3JnYW5pc2F0aW9uPC9oMj5cbiAgICAgICAgPGgzPlZvdGUgZm9yIFRvcGljPC9oMz5cbiAgICAgICAgPHA+RWFjaCBtZW1iZXIgd2FzIGFsbG93ZWQgb25lIHZvdGUgZm9yIGEgcHJvamVjdCB0b3BpYywgd2l0aCB0aGUgZmlyc3Qgdm90ZSBkdWUgYnkgbWlkbmlnaHQuIFRoZSB0b3AgdGhyZWUgcmVzdWx0cyB3ZXJlOiBNaWNyb3N3aW1tZXJzIHdpdGggNSB2b3RlcywgRHVjaGVubmUgTXVzY3VsYXIgRHlzdHJvcGh5IChETUQpIHdpdGggNCB2b3RlcywgYW5kIEN5c3RpYyBGaWJyb3NpcyAoQ0YpIGFsc28gd2l0aCA0IHZvdGVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMz5Ub3BpYyBQcmVzZW50YXRpb25zPC9oMz5cbiAgICAgICAgPHA+VGhlIHByZXNlbnRhdGlvbnMgd2VyZSBnZW5lcmFsbHkgd2VsbC1yZWNlaXZlZCwgdGhvdWdoIGltcHJvdmVtZW50cyBhcmUgc3RpbGwgbmVlZGVkLiBBIHNlbWluYXIgd2lsbCBwcm92aWRlIGEgYnJpZWYgb3ZlcnZpZXcgYW5kIGRpc2N1c3MgbGltaXRhdGlvbnMsIGNoYWxsZW5nZXMsIGFuZCB0aGUgcHJvcyBhbmQgY29ucyBvZiBlYWNoIHRvcGljLCB3aXRoIG1vcmUgZGV0YWlscyBhdmFpbGFibGUgaW4gdGhlIHByZXNlbnRhdGlvbnMgYW5kIG1lZXRpbmcgbWludXRlcyBmcm9tIE1hcmNoIDI2LjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5UZWFtPC9oMj5cbiAgICAgICAgPHA+QSByZW1pbmRlciBmb3IgdGhlIEhhbWJ1cmcgdGVhbTogRG9uJ3QgZm9yZ2V0IHlvdXIgdG93ZWwhPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJhcHJpbDJcIiwgXG4gICAgICAgIG5vZGU6IDw+PGgxPlRlYW0gTWVldGluZzwvaDE+XG5cbiAgICAgICAgPGgyPk9yZ2FuaXNhdGlvbjwvaDI+XG4gICAgICAgIDxoMz5Wb3RlIGZvciBUb3BpYzwvaDM+XG4gICAgICAgIDxwPkVhY2ggbWVtYmVyIGhhcyBvbmUgdm90ZSBmb3IgYSBwcm9qZWN0IHRvcGljLCB3aXRoIHRoZSBmaXJzdCB2b3RlIGR1ZSBieSBtaWRuaWdodC4gVGhlIHRvcCB0aHJlZSByZXN1bHRzIGZyb20gdGhlIHZvdGluZyB3ZXJlOiBNaWNyb3N3aW1tZXJzIHdpdGggNSB2b3RlcywgRHVjaGVubmUgTXVzY3VsYXIgRHlzdHJvcGh5IChETUQpIHdpdGggNCB2b3RlcywgYW5kIEN5c3RpYyBGaWJyb3NpcyAoQ0YpIGFsc28gd2l0aCA0IHZvdGVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMz5Ub3BpYyBQcmVzZW50YXRpb25zPC9oMz5cbiAgICAgICAgPHA+VGhlIHByZXNlbnRhdGlvbnMgd2VyZSBnZW5lcmFsbHkgd2VsbC1yZWNlaXZlZCwgdGhvdWdoIHRoZXJlIGlzIHN0aWxsIHJvb20gZm9yIGltcHJvdmVtZW50LiBBIHByZXNlbnRhdGlvbiBzZW1pbmFyIGlzIHBsYW5uZWQgdG8gcHJvdmlkZSBhbiBvdmVydmlldyBhbmQgZmFjaWxpdGF0ZSBkaXNjdXNzaW9ucyBvbiB0aGUgbGltaXRhdGlvbnMsIGNoYWxsZW5nZXMsIGFuZCBwcm9zIGFuZCBjb25zIG9mIGVhY2ggdG9waWMsIHdpdGggbW9yZSBkZXRhaWxzIGF2YWlsYWJsZSBpbiB0aGUgbWVldGluZyBtaW51dGVzIGZyb20gTWFyY2ggMjYuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlRlYW08L2gyPlxuICAgICAgICA8cD5SZW1pbmRlciBmb3IgdGhlIEhhbWJ1cmcgdGVhbTogRG9uXHUyMDE5dCBmb3JnZXQgeW91ciB0b3dlbCE8L3A+XG4gICAgICAgIFxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJhcHJpbDRcIiwgXG4gICAgICAgIG5vZGU6IDw+PGgxPlRlYW0gTWVldGluZzwvaDE+XG5cbiAgICAgICAgPGgyPlVyZ2VudDwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGhhcyBkZWNpZGVkIHRvIHB1cnN1ZSBhIHRoZXJhcHkgdG9waWMgaW5zdGVhZCBvZiBmb2N1c2luZyBvbiBjeWFub2JhY3RlcmlhLiBBbW9uZyB0aGUgb3B0aW9ucywgQ3lzdGljIEZpYnJvc2lzIChDRikgd2FzIHNlbGVjdGVkIG92ZXIgRHVjaGVubmUgTXVzY3VsYXIgRHlzdHJvcGh5IChETUQpLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5UZWFtPC9oMj5cbiAgICAgICAgPHA+QSByZW1pbmRlciBmb3IgdGhlIEhhbWJ1cmcgdHJpcDogRGVwYXJ0dXJlIGlzIHNjaGVkdWxlZCBmb3IgRnJpZGF5IGF0IDggQU0uPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlRhc2tzPC9oMj5cbiAgICAgICAgPHA+QWxsIG1lbWJlcnMgYXJlIHJlcXVpcmVkIHRvIHNhdmUgdGhlIHBhcGVycyB0aGV5IGhhdmUgcmVhZCBpbiBab3Rlcm8gZHVyaW5nIHRoZWlyIHNlbGYtc3R1ZHkgdGltZS48L3A+XG4gICAgICAgIDwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcImFwcmlsNlwiLCBcbiAgICAgICAgbm9kZTogPD48aDE+VGVhbSBNZWV0aW5nPC9oMT5cblxuICAgICAgICA8aDI+T3JnYW5pc2F0aW9uPC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gaXMgdGFza2VkIHdpdGggc2VhcmNoaW5nIFB1Yk1lZCBmb3IgcmV2aWV3cyBvbiBDeXN0aWMgRmlicm9zaXMgKENGKSBmcm9tIHRoZSBsYXN0IHR3byB5ZWFycyB0byBpZGVudGlmeSB1bmV4cGxvcmVkIHRoZXJhcGV1dGljIG5pY2hlcyBhbmQgZm9ybXVsYXRlIGNsZWFyIGdvYWxzLiBBIHN5c3RlbWljIGFwcHJvYWNoIHVzaW5nIEFBVi1iYXNlZCBzdHJhdGVnaWVzIGFuZCBvcmdhbi1zcGVjaWZpYyBhcHByb2FjaGVzIGlzIGJlaW5nIGNvbnNpZGVyZWQuIEFkZGl0aW9uYWxseSwgc3RyYXRlZ2llcyBmb3IgcmVhZGluZyBwYXBlcnMgaW5jbHVkZSBzdGFydGluZyB3aXRoIHRoZSByZXN1bHRzIHNlY3Rpb24gdG8gZGV0ZXJtaW5lIHRoZWlyIHZhbHVlIGJlZm9yZSBkZWx2aW5nIGludG8gdGhlIGRpc2N1c3Npb24uPC9wPlxuICAgICAgICA8cD5Qcm9qZWN0IGNvbmNlcHQgaWRlYXMgZGlzY3Vzc2VkIGluY2x1ZGUgZXBpZ2Vub21lIGVkaXRpbmcgd2l0aCBhIG1vZHVsYXIgdG9vbGtpdCBhbmQgdGhlIGFwcGxpY2F0aW9uIG9mIHNtYWxsZXIgQ2FzIHZhcmlhbnRzIHRvIGVuaGFuY2UgZGVsaXZlcnkgYW5kIGZhY2lsaXRhdGUgbnVjbGVhciBlbnRyeS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+UHVibGljIE91dHJlYWNoPC9oMj5cbiAgICAgICAgPHA+QSBzY3JlZW5pbmcgZXZlbnQgZm9yIHRoZSBtb3ZpZSBcIkZpdmUgRmVldCBBcGFydCxcIiB3aGljaCBmb2N1c2VzIG9uIEN5c3RpYyBGaWJyb3Npcywgd2lsbCBiZSBvcmdhbml6ZWQsIGFsb25nIHdpdGggcHJvdmlkaW5nIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gdG8gdGhlIGF1ZGllbmNlLiBQaGlsbGlwIHdpbGwgY29vcmRpbmF0ZSB3aXRoIHRoZSB1bml2ZXJzaXR5IGNpbmVtYSB0byBhcnJhbmdlIHRoZSBldmVudC48L3A+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGlzIGVuY291cmFnZWQgdG8gcGFydGljaXBhdGUgaW4gTVVLT21vdmUsIGEgQ3lzdGljIEZpYnJvc2lzIGF3YXJlbmVzcyBpbml0aWF0aXZlIGluIE1heSwgaW52b2x2aW5nIGEgc3BvcnQgZXZlbnQuIElzYWJlbGwgd2lsbCByZWdpc3RlciB0aGUgdGVhbSwgYW5kIHByb21vdGlvbmFsIGFjdGl2aXRpZXMgb24gc29jaWFsIG1lZGlhLCBpbmNsdWRpbmcgYSB1bmlxdWUgaGFzaHRhZywgd2lsbCBiZSBpbXBsZW1lbnRlZCB0byBpbmNyZWFzZSBhd2FyZW5lc3MgYW5kIHBhcnRpY2lwYXRpb24uPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPldldCBMYWI8L2gyPlxuICAgICAgICA8cD5TdWItdGVhbXMgYXJlIGV4cGVjdGVkIHRvIHByb3ZpZGUgdXBkYXRlcyBldmVyeSAzLTQgd2Vla3MgcmVnYXJkaW5nIGNlbGwgYWNxdWlzaXRpb24gZm9yIHRoZSBwcm9qZWN0LCB3aXRoIGEgZm9jdXMgb24gb2J0YWluaW5nIGhlYWx0aHkgYW5kIHBhdGllbnQtZGVyaXZlZCBjZWxsIGxpbmVzLiBWZXJhIGNvbmZpcm1lZCB0aGF0IHdpdGggYSBzYWZldHkgZm9ybSwgdGhlIHVzZSBvZiB0aGVpciBvd24gY2VsbHMgaXMgcG9zc2libGUuIFByZXBhcmF0aW9ucyBmb3IgdGhlIG5ldyBsYWIgaW5jbHVkZSBhc3Nlc3NpbmcgZXF1aXBtZW50IGFuZCBjcmVhdGluZyBhIHN0YWZmaW5nIHBsYW4gdG8gZW5zdXJlIGRhaWx5IGNvdmVyYWdlLjwvcD5cbiAgICAgICAgPHA+RWZmZWN0aXZlIGNvbW11bmljYXRpb24gYW5kIG9yZ2FuaXphdGlvbiBhcmUgZW1waGFzaXplZCBmb3IgbGFiIHdvcmssIHdpdGggcGxhbnMgdG8gZXN0YWJsaXNoIGEgc2hpZnQgc2NoZWR1bGUgZm9yIHRlYW0gbWVtYmVycy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+Q3JlYXRpdml0eTwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIG1lbWJlcnMgYXNzaWduZWQgdG8gcHJvbW90aW9uYWwgdGFza3MgaW5jbHVkZSBQaGlsaXAsIE1pY2hhZWwsIFZlcmEsIExpc2EsIExpbGlhbmEsIElzYWJlbGwsIGFuZCBBc2FsLiBUaGV5IHdpbGwgZm9jdXMgb24gZGV2ZWxvcGluZyBwcm9tb3Rpb25hbCBtYXRlcmlhbHMsIGluY2x1ZGluZyBmbHllcnMgYW5kIGxvZ28gZGVzaWduLCB0byBlbmhhbmNlIHRlYW0gdmlzaWJpbGl0eS48L3A+XG4gICAgICAgIDwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcImFwcmlsMTFcIiwgXG4gICAgICAgIG5vZGU6IDw+PGgxPlRlYW0gTWVldGluZzwvaDE+XG5cbiAgICAgICAgPGgyPk9yZ2FuaXNhdGlvbjwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGRpc2N1c3NlZCB2YXJpb3VzIHByb2plY3QgaWRlYXMgcmVsYXRlZCB0byBhY2Nlc3MgdG8gb29jeXRlcywgZW1waGFzaXppbmcgZ2VuZSBjb3JyZWN0aW9uIGFuZCBwb3RlbnRpYWwgc3RyYXRlZ2llcyBzdWNoIGFzIHVzaW5nIHRyYW5zcG9zYXNlIGZvciBnZW5vbWljIGludGVncmF0aW9uIHdpdGhvdXQgY3V0dGluZy4gS2V5IGNvbnNpZGVyYXRpb25zIGluY2x1ZGUgZXhwbG9yaW5nIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpIGZvciBsdW5nIGRlbGl2ZXJ5IGFuZCBhZGRyZXNzaW5nIHRoZSBwYWNrYWdpbmcgbGltaXRhdGlvbnMgb2YgQUFWLiBUaGUgdGVhbSBhaW1zIHRvIHJlYWQgbW9yZSBhYm91dCBDUklTUFIgYW5kIHJlbGV2YW50IGxpdGVyYXR1cmUsIGFuZCBwb3NzaWJseSBjb25zdWx0IGEgZ2VuZXRpYyBjb3Vuc2VsaW5nIGNlbnRlciBmb3IgZ3VpZGFuY2Ugb24gaW50ZXJ2ZW50aW9uIHN0cmF0ZWdpZXMuPC9wPlxuICAgICAgICA8cD5BIHByb29mIG9mIGNvbmNlcHQgZXhwZXJpbWVudCBpcyBlc3NlbnRpYWwgdG8gdmFsaWRhdGUgdGhlIHByb3Bvc2VkIGlkZWFzLCBpbmNsdWRpbmcgdGhlIHBvdGVudGlhbCB1c2Ugb2YgYSBtdWx0aS1vcmdhbiBjaGlwIGluIGNvbGxhYm9yYXRpb24gd2l0aCBhIHJlc2VhcmNoIGVudGl0eS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SHVtYW4gUHJhY3RpY2VzPC9oMj5cbiAgICAgICAgPHA+TWF4IHNoYXJlZCBpbnNpZ2h0cyBhYm91dCBlc3NlbnRpYWwgbWVkaWNhdGlvbnMgZm9yIEN5c3RpYyBGaWJyb3NpcyAoQ0YpLCBpbmNsdWRpbmcgaW5kaXZpZHVhbGl6ZWQgdHJlYXRtZW50cyBsaWtlIEtyZW9uIGFuZCBPcmthbWJpLiBLcmVvbiBhaWRzIGRpZ2VzdGlvbiBhbmQgaXMgYWRhcHRlZCBiYXNlZCBvbiBmYXQgY29udGVudCBpbiBtZWFscywgd2hpbGUgT3JrYW1iaSBpcyBhIHNpZ25pZmljYW50IG1lZGljYXRpb24gc3BlY2lmaWMgdG8gY2VydGFpbiBtdXRhdGlvbnMsIGFsdGhvdWdoIGl0IGNvbWVzIHdpdGggYSBoaWdoIGNvc3QuIFRoZSBkaXNjdXNzaW9uIGhpZ2hsaWdodGVkIHRoZSBpbXBvcnRhbmNlIG9mIGRpYWdub3NpcyBhZ2UgYW5kIHRhcmdldGVkIHRyZWF0bWVudHMsIGFuZCBzdWdnZXN0ZWQgY3JlYXRpbmcgaW5mb3JtYXRpb25hbCBtYXRlcmlhbHMgZm9yIGhlYWx0aGNhcmUgcHJvZmVzc2lvbmFscy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+Q3JlYXRpdml0eTwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIHJldmlld2VkIHRoZSBwcmVzZW50YXRpb24gb2YgdGhlIGNvbG9yIHNjaGVtZSBhbmQgZGlzY3Vzc2VkIHRlYW0gcGhvdG9zIGFzIHBhcnQgb2YgdGhlaXIgcHJvbW90aW9uYWwgZWZmb3J0cy48L3A+XG4gICAgICAgIDwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcImFwcmlsMTZcIiwgXG4gICAgICAgIG5vZGU6IDw+PGgxPlRlYW0gTWVldGluZzwvaDE+XG5cbiAgICAgICAgPGgyPkphbWJvcmVlICYgTWVldFVwczwvaDI+XG4gICAgICAgIDxwPlRoZSBCRkggTWVldC1VcCB3ZWJzaXRlIGlzIG5vdyBsaXZlLCBmZWF0dXJpbmcgZGV0YWlscyBvbiB0aGUgbG9jYXRpb24sIHByb2dyYW0sIHJlZ2lzdHJhdGlvbiwgYW5kIHByaWNpbmcuIFJlZ2lzdHJhdGlvbiBpcyBjdXJyZW50bHkgb3BlbiwgYW5kIGFsbCB0ZWFtIG1lbWJlcnMgYXJlIGVuY291cmFnZWQgdG8gc3VwcG9ydCB0aGUgSW5zdGFncmFtIGNoYW5uZWwuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPk1lY2hhbmlzbTwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGlzIGZvY3VzaW5nIG9uIFByaW1lIEVkaXRpbmcgYXMgdGhlIG1haW4gaWRlYSwgYnV0IGZ1cnRoZXIgZGV0YWlscyBuZWVkIHRvIGJlIGRldmVsb3BlZCB0byByZWZpbmUgdGhpcyBhcHByb2FjaC48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+RGVsaXZlcnk8L2gyPlxuICAgICAgICA8cD5WYXJpb3VzIGRlbGl2ZXJ5IG1ldGhvZHMgd2VyZSBicmFpbnN0b3JtZWQsIGluY2x1ZGluZyBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSwgd2hpY2ggYXJlIGNvbnNpZGVyZWQgYSB2aWFibGUgb3B0aW9uLCBhbHRob3VnaCB0aGV5IHJlcXVpcmUgbW9yZSBlbGFib3JhdGlvbi4gQWRlbm8tQXNzb2NpYXRlZCBWaXJ1cyAoQUFWKSBkZWxpdmVyeSBoYXMgbW9yZSBhdmFpbGFibGUgbGl0ZXJhdHVyZSwgZXNwZWNpYWxseSBmb3Igb29jeXRlcywgYnV0IHJlbWFpbnMgdW5kZXJleHBsb3JlZC4gRW51Y2xlYXRlZCBzcGVybSBjZWxscyB3ZXJlIGFsc28gZGlzY3Vzc2VkIGFzIGEgbm9uLWludmFzaXZlIGFwcHJvYWNoLCB3aXRoIHBvdGVudGlhbCBmb3IgdGFyZ2V0aW5nIG9vY3l0ZXMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlB1YmxpYyBPdXRyZWFjaDwvaDI+XG4gICAgICAgIDxwPkZvciBNdWtvTU9WRSwgcG9zdGVycyBoYXZlIGJlZW4gcHJlcGFyZWQgYW5kIHBob3RvcyB0YWtlbjsgSXNhYmVsbCBpcyBhcHBseWluZyBmb3IgcGVybWlzc2lvbiB0byBkaXNwbGF5IHRoZSBwb3N0ZXJzIGluIHRoZSBjaXR5IGZvciBhIGZlZSBvZiBcdTIwQUMxMiwgd2hpbGUgYWRkaXRpb25hbCBwb3N0ZXJzIHdpbGwgYmUgb3JkZXJlZC4gSG93ZXZlciwgaGFuZ2luZyBwb3N0ZXJzIGluIHRyYWlucyB3YXMgZGVlbWVkIHRvbyBleHBlbnNpdmUuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJhcHJpbDE4XCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5UZWFtPC9oMj5cbiAgICAgICAgPHA+QSByZW1pbmRlciB3YXMgaXNzdWVkIGZvciBldmVyeW9uZSB0byBjb21wbGV0ZSB0aGUgQXR0cmlidXRpb24gRm9ybSwgd2hpY2ggdHJhY2tzIGNvbnRyaWJ1dGlvbnMgYW5kIHBhcnRpY2lwYXRpb24uIFRoZSBkb2N1bWVudCBpcyBhdmFpbGFibGUgb24gVGVhbXMgdW5kZXIgR2VuZXJhbCAmZ3Q7IERvY3VtZW50cyAmZ3Q7IEV2ZXJ5dGhpbmcgaUdFTSAmZ3Q7IEF0dHJpYnV0aW9uLiBBZGRpdGlvbmFsbHksIHRoZSBpR0VNIERpc3RyaWJ1dGlvbiBLaXQgd2FzIG9wZW5lZCB0byBjaGVjayBhdmFpbGFibGUgbWF0ZXJpYWxzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5KYW1ib3JlZSAmIE1lZXRVcHM8L2gyPlxuICAgICAgICA8cD5QbGFucyBmb3IgdGhlIEV1cm9wZWFuIE1lZXQtVXAgaW5jbHVkZSBjcmVhdGluZyBhIGxpc3Qgb2Ygc25hY2tzIHdpdGggbmFtZXMsIGRhdGVzLCB0eXBlcywgYW5kIHF1YW50aXRpZXMgdG8gZW5zdXJlIGFkZXF1YXRlIHByZXBhcmF0aW9uLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5NZWNoYW5pc208L2gyPlxuICAgICAgICA8cD5GaW5kaW5ncyB3ZXJlIHByZXNlbnRlZCwgaGlnaGxpZ2h0aW5nIGEgcHJvb2Ygb2YgY29uY2VwdCB1c2luZyBhbiBleGlzdGluZyBwcmltZSBlZGl0aW5nIHN5c3RlbSB0byB0YXJnZXQgdGhlIGZpdmUgbW9zdCBjb21tb24gbXV0YXRpb25zIGluIGN5c3RpYyBmaWJyb3NpcyAoQ0YpLiBPcHRpbWl6YXRpb24gZWZmb3J0cyBpbnZvbHZlIGEgbW9kaWZpZWQgQ2FzMTJhIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgYW5kIGEgbmV3IGVuenltZSBjYWxsZWQgRmFuem9yLCB3aGljaCByZXF1aXJlcyBlbmdpbmVlcmluZyBmb3IgcHJlY2lzZSBjdXRzLiBBIGRlYmF0ZSBvbiB0YXJnZXRpbmcgb29jeXRlcyB2ZXJzdXMgbHVuZ3Mgd2FzIGhlbGQsIHdpdGggcGxhbnMgZm9yIHBhcmFsbGVsIHdvcmsgb24gYm90aCBhcHByb2FjaGVzIGFuZCBzdWdnZXN0aW9ucyBmb3IgZWZmaWNpZW50IGxhYiBjb25jZXB0IGRlc2lnbnMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkRlbGl2ZXJ5PC9oMj5cbiAgICAgICAgPHA+VHdvIG1haW4gZGVsaXZlcnkgcG9zc2liaWxpdGllcyB3ZXJlIGRpc2N1c3NlZDogYWVyb3NvbGl6aW5nIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpLCB3aGljaCBmYWNlIHN0YWJpbGl0eSBpc3N1ZXMgYW5kIGx1bmcgZGVmZW5zZSBtZWNoYW5pc21zLCBhbmQgaW50cmF2ZW5vdXMgZGVsaXZlcnksIHdoaWNoIG5lY2Vzc2l0YXRlcyByZWd1bGFyIGRvY3RvciB2aXNpdHMgZHVlIHRvIHRoZSBsaXZlciBhY3RpbmcgYXMgYSBmaWx0ZXIuIFJlc2VhcmNoIG9uIExOUCBwcm9kdWN0aW9uIGFuZCBjZWxsdWxhciB0YXJnZXRpbmcsIHBhcnRpY3VsYXJseSBvZiBiYXNhbCBjZWxscyBvciBlcnl0aHJvY3l0ZXMsIHdhcyBhbHNvIGhpZ2hsaWdodGVkLiBUaGUgZmVhc2liaWxpdHkgb2YgYSBtb2RlbCBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBkcnVnJ3MgZWZmaWNhY3kgaW4gcmVhY2hpbmcgdGhlIHRhcmdldCBjZWxscyB3YXMgY29uc2lkZXJlZCBhZHZhbnRhZ2VvdXMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlB1YmxpYyBPdXRyZWFjaDwvaDI+XG4gICAgICAgIDxwPkZvciB0aGUgTXVrb01PVkUgaW5pdGlhdGl2ZSwgcGxhbnMgdG8gaGFuZyBwb3N0ZXJzIGluIEJpZWxlZmVsZCBpbmNsdWRlIGNyZWF0aW5nIGEgbWFwIGZvciBkZXNpZ25hdGVkIHJlc3BvbnNpYmlsaXRpZXMgYW5kIGVuc3VyaW5nIHRoZXkgYXJlIHJlbW92ZWQgdGhlIGRheSBhZnRlciB0aGUgZXZlbnQuIEFkZGl0aW9uYWxseSwgYSBmbHllciBkaXN0cmlidXRpb24gcGxhbiB3YXMgcHJvcG9zZWQsIGludm9sdmluZyB0aHJlZSB0ZWFtIG1lbWJlcnMgcGVyIGRheSB0byBkaXN0cmlidXRlIGZseWVycyBpbiB0aGUgY2FmZXRlcmlhLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5TcG9uc29yaW5nPC9oMj5cbiAgICAgICAgPHA+QSB0YWJsZSB3YXMgY3JlYXRlZCB0byBvcmdhbml6ZSBwYXJ0aWNpcGF0aW9uIGZvciBib3RoIHRoZSBIYW5ub3ZlciBGYWlyIGFuZCB0aGUgTGFiLVN1cHBseSBGYWlyLCBlbnN1cmluZyBlZmZlY3RpdmUgcGxhbm5pbmcgYW5kIHJlc291cmNlIGFsbG9jYXRpb24uPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJhcHJpbDIzXCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5NZWNoYW5pc208L2gyPlxuICAgICAgICA8cD5UaGUgZm9jdXMgaXMgb24gcHJpbWUgZWRpdGluZyB1c2luZyBhIGZ1c2lvbiBwcm90ZWluIHRoYXQgY29tYmluZXMgQ2FzIGFuZCBSTkEgbW9sZWN1bGVzLCB3aXRoIHBsYW5zIHRvIHJlcGxhY2UgdGhlIENhcyBwcm90ZWluIHdpdGggdGhlIEZhbnpvciBwcm90ZWluLiBJdCBpcyBlc3NlbnRpYWwgdG8gZGV0ZXJtaW5lIHRoZSBleGFjdCB0YXJnZXQgYW5kIG9yZ2FuaXplIHRoZSBuZWNlc3Nhcnkgc2VxdWVuY2VzLCBwb3RlbnRpYWxseSByZXF1aXJpbmcgY2xvbmluZy4gQXR0ZW50aW9uIG11c3QgYmUgcGFpZCB0byB0aGUgZGV2ZWxvcG1lbnQgY3ljbGUsIGFzIHRoaXMgd2lsbCBiZSBzY3J1dGluaXplZCBieSBqdWRnZXMsIHBhcnRpY3VsYXJseSByZWdhcmRpbmcgdGhlIFdpa2kgcHJlc2VudGF0aW9uLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5EZWxpdmVyeTwvaDI+XG4gICAgICAgIDxwPkRpc2N1c3Npb25zIGhpZ2hsaWdodGVkIFJOQSBhcyB0aGUgY2FyZ28sIHdpdGggcG90ZW50aWFsIGNlbGwgdGFyZ2V0cyBpbmNsdWRpbmcgaW9ub2N5dGVzIGFuZCBjbHViIGNlbGxzLCBhcyBiYXNhbCBjZWxscyBhcmUgdG9vIGRlZXAtc2VhdGVkLiBOTEQxLCB3aGljaCBjb250YWlucyBQRUcgZm9yIHN0YWJpbGl0eSwgZmFjZXMgdHJhbnNwb3J0YXRpb24gY2hhbGxlbmdlcyBkdWUgdG8gaXRzIGxpbWl0ZWQgc2hlbGYgbGlmZS4gQWx0ZXJuYXRpdmUgZGVsaXZlcnkgbWV0aG9kcywgc3VjaCBhcyBDaGl0b3NhbiBMTlAgYW5kIEF0b21pYyBGb3JjZSBNaWNyb3Njb3B5LCBhcmUgYmVpbmcgZXhwbG9yZWQsIHdpdGggdGhlIGNvbXBhbnkgQUlSaW5oYWxlIG1lbnRpb25lZCBmb3IgY29sbGFib3JhdGlvbi48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SHVtYW4gUHJhY3RpY2VzPC9oMj5cbiAgICAgICAgPHA+SnVkZ2luZyBpbiBodW1hbiBwcmFjdGljZXMgd2lsbCBiZSByaWdvcm91czsgdHJhbnNwYXJlbmN5IGFuZCBkZXRhaWxlZCBkb2N1bWVudGF0aW9uIGFyZSBjcnVjaWFsIHRvIHdpbiBvdmVyIGp1ZGdlcy4gSW50ZXJ2aWV3cyBzaG91bGQgaW5jbHVkZSBhIGRpdmVyc2UgcmFuZ2Ugb2YgZXhwZXJ0cywgYW5kIHZpc3VhbCBkb2N1bWVudGF0aW9uLCBpbmNsdWRpbmcgcGhvdG9zLCBpcyBlc3NlbnRpYWwgdG8gc3VwcG9ydCB0aGUgbmFycmF0aXZlLiBBZGRpdGlvbmFsbHksIHRoZXJlIGlzIGEgbmVlZCB0byBnYXRoZXIgcmVzZWFyY2ggb24gaG93IG90aGVyIHRlYW1zIGFwcHJvYWNoIHZhcmlvdXMgc3ViLWFzcGVjdHMgb2YgdGhlaXIgcHJvamVjdHMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlB1YmxpYyBPdXRyZWFjaDwvaDI+XG4gICAgICAgIDxwPlJlc3RyaWN0aW9ucyBmb3IgTVVLT01vdmUgcG9zdGVycyBoYXZlIGJlZW4gZW1waGFzaXplZCwgd2l0aCBndWlkZWxpbmVzIHVwbG9hZGVkIGJ5IElzYSBmb3IgYWRoZXJlbmNlLiBQb3N0ZXJzIG11c3QgaW5jbHVkZSA0MCBzdGlja2VycyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciwgYW5kIHRoZXkgY2Fubm90IGJlIGRpc3BsYXllZCB3aXRob3V0IHRoZW0uPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlVyZ2VudDwvaDI+XG4gICAgICAgIDxwPkxpbGlhbmEgaXMgdGFza2VkIHdpdGggcmVhY2hpbmcgb3V0IHRvIGluZGl2aWR1YWxzIGZvciB2aWRlbyBjb250cmlidXRpb25zIHJlZ2FyZGluZyBnZW5lIHRoZXJhcHkgZm9yIHRoZSB1cGNvbWluZyBFdXJvcGVhbiBDb25mZXJlbmNlIG9mIEN5c3RpYyBGaWJyb3Npcywgc2NoZWR1bGVkIGZvciBKdW5lIDV0aCB0byA4dGggaW4gR2xhc2dvdy4gVGhlcmUgd2lsbCBiZSBhIHNwZWNpYWwgcHJpemUgZm9yIGVmZm9ydHMgaW4gaHVtYW4gcHJhY3RpY2VzLCBvdXRyZWFjaCwgYW5kIGVkdWNhdGlvbiwgaW5jbHVkaW5nIG9wcG9ydHVuaXRpZXMgZm9yIFwiZXBvc3RlcnNcIiBhbmQgY29ubmVjdGluZyB3aXRoIGV4cGVydHMuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJhcHJpbDI1XCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5VcmdlbnQ8L2gyPlxuICAgICAgICA8cD5UaGUgcHJvamVjdCBkZXNjcmlwdGlvbiBmb3IgdGhlIFByb21lZ2EgcHJvamVjdCBuZWVkcyB0byBiZSBjb21wbGV0ZWQgaW1tZWRpYXRlbHkuIEthaSB3aWxsIGRyYWZ0IHRoZSBkZXNjcmlwdGlvbiBhbmQgc2hhcmUgaXQgb24gVGVhbXMgZm9yIHRlYW0gbWVtYmVycyB0byByZXZpZXcgYW5kIHByb3ZpZGUgZmVlZGJhY2suPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPk9yZ2FuaXNhdGlvbjwvaDI+XG4gICAgICAgIDxwPlRoZSBwcmVzZW50YXRpb24gb24gTW9uZGF5IHdpbGwgYmUgcHJlcGFyZWQgYnkgS2ltLCBLYWksIFBoaWxsaXAsIGFuZCBBc2FsLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5NZWNoYW5pc208L2gyPlxuICAgICAgICA8cD5QbGFzbWlkIGFuZCBjb25zdHJ1Y3QgcGxhbm5pbmcgaXMgYW4gaW1tZWRpYXRlIHByaW9yaXR5LCB3aXRoIHRoZSB0ZWFtIHB1cnN1aW5nIHRocmVlIGFwcHJvYWNoZXM6IENhczksIENhczEyLCBhbmQgRmFuem9yLiBLZXkgY29tcG9uZW50cyBpbmNsdWRlIFJldmVyc2UgVHJhbnNjcmlwdGFzZSwgdGVtcGxhdGUgRE5BLCBhbmQgcGVnUk5BLCB3aGljaCBtdXN0IGJlIGNhcmVmdWxseSBkZXNpZ25lZCB0byBlbnN1cmUgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBjb25zdHJ1Y3RzLiBUaGUgRmFuem9yIHJlcXVpcmVzIG1vZGlmaWNhdGlvbiB0byBhY3QgYXMgYSBuaWNrYXNlLCBhbmQgdGhlIHRlYW0gd2lsbCB3b3JrIHRvIG9wdGltaXplIHRoZSBjb25zdHJ1Y3RzIHRvIGNyZWF0ZSBzbWFsbGVyLCBtb3JlIGVmZmVjdGl2ZSBkZXNpZ25zLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMz5Qcm9vZiBvZiBDb25jZXB0PC9oMz5cbiAgICAgICAgPHA+QSBwbGFzbWlkIHdpdGggYSBDTVYgcHJvbW90ZXIgd2lsbCBiZSBvcmRlcmVkIGFjY29yZGluZyB0byBndWlkZWxpbmVzIGluIGEgcmVsZXZhbnQgcGFwZXIsIGFuZCBhIFQ3IHByb21vdGVyIHdpbGwgYmUgdXNlZCBmb3IgbVJOQSBwcm9kdWN0aW9uLiBUZXN0aW5nIHdpbGwgaW52b2x2ZSBIRUMvSEVMQSBjZWxsIGxpbmVzIHRvIGV2YWx1YXRlIGV4cHJlc3Npb24sIHdpdGggYSBmb2N1cyBvbiBhIGNvbnRyb2wgY2VsbCBsaW5lIGxhY2tpbmcgdGhlIENGVFIgZ2VuZS4gVGhlIGNvbnN0cnVjdHMgd2lsbCBiZSBjaGFyYWN0ZXJpemVkIG92ZXIgdGltZSwgYW5kIGEgdHJhbnNmZWN0aW9uIG1hcmtlciB3aWxsIGJlIGluY2x1ZGVkIHRvIGFzc2VzcyByZXBhaXIgZnVuY3Rpb25hbGl0eS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDM+VGFzayBEaXN0cmlidXRpb248L2gzPlxuICAgICAgICA8cD5UZWFtIG1lbWJlcnMgYXJlIGFzc2lnbmVkIHRvIHZhcmlvdXMgdGFza3M6IGV2ZXJ5b25lIHdpbGwgcmV2aWV3IHRoZSBSRkMxMCBzdGFuZGFyZCwgd2hpbGUgdGhlIGV4cGVyaW1lbnRhbCB3b3JrZmxvdyB0ZWFtIHdpbGwgaW5jbHVkZSBLYWksIENocmlzdGlhbiwgYW5kIExpbGlhbmEuIE90aGVyIHRhc2tzIHdpbGwgZm9jdXMgb24gc2VxdWVuY2luZywgbGlua2VycywgYW5kIHJldmVyc2UgdHJhbnNjcmlwdGFzZSwgd2l0aCBsYWJvcmF0b3J5IHRhc2tzIHN1Y2ggYXMgcG91cmluZyBwbGF0ZXMgYW5kIG1ha2luZyBFLiBjb2xpIGNvbXBldGVudCBhbHNvIHByaW9yaXRpemVkLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5QdWJsaWMgT3V0cmVhY2g8L2gyPlxuICAgICAgICA8cD5UaGUgTXVrb01PVkUgaW5pdGlhdGl2ZSBpcyBwcm9ncmVzc2luZywgd2l0aCB0aGUgY2FmZXRlcmlhIGNvdmVyZWQgYW5kIDIxIHBvc3RlcnMgaHVuZyBhcm91bmQgdGhlIE9sZCBUb3duLiBSZW1haW5pbmcgcG9zdGVycyB3aWxsIGJlIGRpc3RyaWJ1dGVkIHNvb24uPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkJpb3NhZmV0eTwvaDI+XG4gICAgICAgIDxwPlNhZmV0eSBtZWNoYW5pc21zIGRpc2N1c3NlZCBpbmNsdWRlIGEgcHJvdGVpbiB0aGF0IGRlZ3JhZGVzIHRoZSBsaW5rZXIgdXNpbmcgYSByZXBvcnRlciBzeXN0ZW0gKFRvZWhvbGQgU3dpdGNoKSwgd2hpY2ggYWN0aXZhdGVzIG9ubHkgaW4gdGhlIHByZXNlbmNlIG9mIHRoZSBtUk5BIHRyYW5zY3JpcHQuIEFkZGl0aW9uYWxseSwgYSBOYSsgcmlib3N3aXRjaCB3aWxsIG1hc2sgdGhlIGd1aWRlIHNlcXVlbmNlIHVuZGVyIGxvdyBpb24gY29uZGl0aW9ucywgdW5mb2xkaW5nIG9ubHkgd2hlbiBzdWZmaWNpZW50IGlvbnMgYXJlIHByZXNlbnQuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJhcHJpbDMwXCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8cD5UaGUgU3RlZXJpbmcgQ29tbWl0dGVlIHByb3ZpZGVkIHBvc2l0aXZlIGZlZWRiYWNrIG9uIHRoZSBwcm9qZWN0LCBlbXBoYXNpemluZyBzaW1wbGljaXR5IGFuZCB0aGUgaW1wb3J0YW5jZSBvZiBzbWFsbCBzdWNjZXNzZXMuIFRoZXJlIHdhcyBkaXNjdXNzaW9uIGFib3V0IHRoZSB1c2Ugb2YgdGhlIFVzc2luZyBjaGFtYmVyIGFuZCBhIHByZWZlcmVuY2UgZm9yIHRoZSBwYXRjaC1jbGFtcCBtZXRob2QgZm9yIG1lYXN1cmluZyBpb24gY2hhbm5lbHMuIFRoZSBjb21taXR0ZWUgZW5jb3VyYWdlZCBtb3JlIGNvbGxhYm9yYXRpb24gd2l0aCB0aGUgbWVkaWNhbCBmYWN1bHR5IGFuZCBhY2tub3dsZWRnZWQgY29udHJpYnV0aW9ucyBmcm9tIFBoaWxpcCwgS2ltLCBhbmQgQ2hyaXN0aWFuLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5UZWFtPC9oMj5cbiAgICAgICAgPHA+S2F5YSBleHByZXNzZWQgY29uY2VybnMgYWJvdXQgbWlzc2luZyBtZWV0aW5ncyBhbmQgcHJvcG9zZWQgY2hhbmdlcyB0byB0aGUgbWVldGluZyBzdHJ1Y3R1cmUgdG8gaW1wcm92ZSBhdHRlbmRhbmNlLiBLYXRobGVlbiBoaWdobGlnaHRlZCB0aGUgbmVlZCBmb3IgcGVyc29uYWwgYWNjb3VudGFiaWxpdHksIHVyZ2luZyBldmVyeW9uZSB0byB0YWtlIG1vcmUgaW5pdGlhdGl2ZS4gVGhlIE1pcm8gYm9hcmQgd2FzIGRlbW9uc3RyYXRlZCBmb3IgdGFzayBhc3NpZ25tZW50cywgYW5kIGl0IHdhcyBzdWdnZXN0ZWQgdGhhdCBvbmUgcGVyc29uIGJlIHJlc3BvbnNpYmxlIGZvciBzdWItdGVhbXMgd2hpbGUgS2F5YSB3aWxsIGNvbXBpbGUgbWVldGluZyBtaW51dGVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5KYW1ib3JlZSAmIE1lZXRVcHM8L2gyPlxuICAgICAgICA8cD5DdXJyZW50bHksIGFyb3VuZCA3MCBwZW9wbGUgYXJlIHJlZ2lzdGVyZWQgZm9yIHRoZSBCRkggbWVldHVwIHdpdGggYWJvdXQgMTAgdGVhbXMgcGFydGljaXBhdGluZywgd2hpY2ggd2lsbCBhbHNvIGJlIHByb21vdGVkIG9uIExpbmtlZEluLiBBZGRpdGlvbmFsbHksIHRoZSBpR0VNIEVpbmRob3ZlbiBNZWV0dXAgaXMgc2NoZWR1bGVkIGZvciBPY3RvYmVyLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5NZWNoYW5pc208L2gyPlxuICAgICAgICA8cD5UaGUgY3VycmVudCBmb2N1cyBpbmNsdWRlcyBkaXNjdXNzaW9ucyBvbiBSTkEsIHBhcnRpY3VsYXJseSByaWJvc3dpdGNoZXMsIHdoaWxlIGNpcmN1bGFyIFJOQSB0b3BpY3MgYXJlIHBvc3Rwb25lZC4gVGhlcmUgaXMgYSBuZWVkIGZvciBhIGNvbXByZWhlbnNpdmUgY29uY2VwdCB0aGF0IG91dGxpbmVzIFByaW1lIEVkaXRpbmcgaW1wcm92ZW1lbnRzIGFuZCBleHBsb3JlcyB0aGUgYmluZGluZyBjYXBhYmlsaXRpZXMgb2YgdG9laG9sZCBzd2l0Y2hlcy4gVGhlIHRlYW0gcGxhbnMgdG8gcHJvZHVjZSBtUk5BIGZvciBkZWxpdmVyeSwgcGFja2FnaW5nIGl0IGludG8gTE5Qcywgd2l0aCBhIGRldGFpbGVkIG1STkEgcGF0aHdheSBlc3RhYmxpc2hlZCBmb3IgZWZmZWN0aXZlIGNlbGx1bGFyIGVudHJ5LjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMz5TcGVjaWZpY3Mgb24gQ29uc3RydWN0czwvaDM+XG4gICAgICAgIDxwPlBsYW5zIGludm9sdmUgdXNpbmcgNjAwIEZhbnpvciBhbmQgMTYwMCBSZXZlcnNlIFRyYW5zY3JpcHRhc2UgKFJUKSBmb3IgY29uc3RydWN0IG9wdGltaXphdGlvbi4gVGhlIENoaW1lcmEgc29mdHdhcmUgd2lsbCBiZSB1dGlsaXplZCB0byBhbmFseXplIGFtaW5vIGFjaWQgc2VxdWVuY2VzIGFuZCByZXZpZXcgbGlua2Vycywgd2hpbGUgUEFNIGFuZCBUQU0gc2VxdWVuY2VzIHdpbGwgYmUgcmVzZWFyY2hlZCBieSBLYXRobGVlbiBmb3IgZWZmZWN0aXZlIGN1dCBzaXRlcy4gVGVzdGluZyBmb3IgQ2FzIHByb3RlaW5zIHdpbGwgaW5jbHVkZSBkZXRlcm1pbmluZyB3aGljaCBDYXMxMiB0byB1c2UsIG11dGF0aW9uIGludGVncmF0aW9uLCBhbmQgY29uZHVjdGluZyBQQ1IgZm9yIG11dGF0aW9uIHRlc3RpbmcuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkh1bWFuIFByYWN0aWNlczwvaDI+XG4gICAgICAgIDxwPkxpbGlhbmEgcmVwb3J0ZWQgdGhhdCBtb3JlIGluZGl2aWR1YWxzIGFyZSBhdmFpbGFibGUgZm9yIGludGVydmlld3MsIHdpdGggc29tZSBwcmVmZXJyaW5nIFpvb20gZm9yIHZpZGVvIGludGVyYWN0aW9ucy4gVGhlIHRlYW0gaXMgZW5jb3VyYWdlZCB0byBtYWludGFpbiBmbGV4aWJpbGl0eSBpbiBjb25kdWN0aW5nIGludGVydmlld3MuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJtYXkyXCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5VcmdlbnQ8L2gyPlxuICAgICAgICA8cD5UaGUgcHJvamVjdCBuYW1lIG11c3QgYmUgZmluYWxpemVkIGJ5IE1heSA2dGguPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlRlYW08L2gyPlxuICAgICAgICA8cD5UZWFtIG9yZ2FuaXphdGlvbiBpcyBjcnVjaWFsOyBhbGwgbWVtYmVycyBzaG91bGQgYmVsb25nIHRvIGF0IGxlYXN0IHR3byBvciB0aHJlZSB0ZWFtcywgd2l0aCBhIGNsZWFyIGRlZmluaXRpb24gb2Ygc3BlY2lhbCBwcml6ZSBjYXRlZ29yaWVzLiBQdWJsaWMgT3V0cmVhY2ggYW5kIEh1bWFuIFByYWN0aWNlcyB3aWxsIGhhdmUgc2VwYXJhdGUgdGVhbXMsIGFuZCBpbmRpdmlkdWFsIHRlYW0gbWVldGluZ3Mgc2hvdWxkIGJlIG9yZ2FuaXplZCBieSBNYXkgN3RoIHRvIGRpc2N1c3MgcHJvZ3Jlc3MuIE1vbnRobHkgU3RlZXJpbmcgQ29tbWl0dGVlIG1lZXRpbmdzIHdpbGwgb2NjdXIsIHJlcXVpcmluZyBlYWNoIHRlYW0gdG8gcmVwb3J0IHVwZGF0ZXMgb24gYSBzaW5nbGUgc2xpZGUuPC9wPlxuICAgICAgICBcbiAgICAgICAgPHA+VGhlIGN1cnJlbnQgcHJvamVjdCBkaXJlY3Rpb24gaXMgcHJvbWlzaW5nLCBidXQgdGhlcmUncyBhIHJpc2sgb2YgYmVjb21pbmcgb3Zlcmx5IHRoZW9yZXRpY2FsLCBkZWxheWluZyBwcmFjdGljYWwgbGFiIHdvcmsuIFRoZSBnb2FsIGlzIHRvIHRyYW5zaXRpb24gZnJvbSB0aGVvcnkgdG8gcHJhY3RpY2UgcXVpY2tseSwgZm9jdXNpbmcgb24gZ2VuZXJhdGluZyBhIFByaW1lIEVkaXRpbmcgQ29tcGxleCAoUEVDKSBhbmQgZGVtb25zdHJhdGluZyBpdHMgZnVuY3Rpb25hbGl0eSBpbiBhIHN1aXRhYmxlIG1vZGVsIHN5c3RlbS4gQnkgYnJlYWtpbmcgZG93biBnb2FscyBpbnRvIG1hbmFnZWFibGUgc3RhZ2VzLCB0aGUgdGVhbSBjYW4gYWltIGZvciBnb2xkIHdoaWxlIGFsc28gZXhwbG9yaW5nIG9wcG9ydHVuaXRpZXMgZm9yIHNwZWNpYWwgcHJpemVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5NZWNoYW5pc208L2gyPlxuICAgICAgICA8cD5QaGlsaXAgd2lsbCBwcmVwYXJlIGEgc3VtbWFyeSBvZiB0aGUgY29uc3RydWN0cyBhbmQgcmVzb3VyY2VzLCBpbmNsdWRpbmcgYSBZb3VUdWJlIHZpZGVvIG9uIFByaW1lIEVkaXRpbmcgZXhwZXJpbWVudHMgYW5kIENoaW1lcmFYIGV4cGxvcmF0aW9uLiBRdWVzdGlvbnMgcmVnYXJkaW5nIHRoZSBleHBvcnRhYmlsaXR5IG9mIENoaW1lcmFYIGludG8gM0QgZm9ybWF0cyB3aWxsIGJlIGFkZHJlc3NlZC4gRmluYWxpemF0aW9uIG9mIHRoZSBCaW9kaXZlcnNpdHkgUHJlLURlbGl2ZXJhYmxlIGFuZCBwcm9jZWVkaW5nIHdpdGggcGxhc21pZCBvcmRlcnMgYXJlIG5leHQgc3RlcHMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkRlbGl2ZXJ5PC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gaXMgaW4gdGhlIGZpbmFsIHN0YWdlcyBvZiBjb21wbGV0aW5nIHRoZSBsb2dvLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5IdW1hbiBQcmFjdGljZXM8L2gyPlxuICAgICAgICA8cD5BbGwgZXh0ZXJuYWwgY29udGFjdHMgc2hvdWxkIGJlIGRvY3VtZW50ZWQgaW4gYSBXb3JkIGZpbGUgdW5kZXIgSHVtYW4gUHJhY3RpY2VzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5QdWJsaWMgT3V0cmVhY2g8L2gyPlxuICAgICAgICA8cD5UaGUgdW5pdmVyc2l0eSB3aWxsIHV0aWxpemUgc3BvcnRzIHNldHMgZm9yIE11a29tb3ZlLCBlbmNvdXJhZ2luZyBmYW1pbHkgYW5kIGZyaWVuZHMgdG8gcHJvbW90ZSB0aGUgaW5pdGlhdGl2ZS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+U3BvbnNvcmluZzwvaDI+XG4gICAgICAgIDxwPkFzc2lzdGFuY2UgaXMgdXJnZW50bHkgbmVlZGVkIGZvciBzcG9uc29yc2hpcCBlZmZvcnRzLjwvcD5cbiAgICAgICAgPC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwibWF5N1wiLCBcbiAgICAgICAgbm9kZTogPD48aDE+VGVhbSBNZWV0aW5nPC9oMT5cblxuICAgICAgICA8aDI+VXJnZW50PC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gaXMgY3VycmVudGx5IGJlaGluZCB0aGUgcGxhbm5lZCB0aW1lbGluZSBmb3IgdGhlIGxhYiBhY3Rpdml0aWVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8cD5UaGUgTWljcm9zeW50aCBhY2NvdW50IGhhcyBiZWVuIGFwcHJvdmVkIGFuZCB3aWxsIGJlIGZvcndhcmRlZCB0byB0aGUgU3BvbnNvcmluZyB0ZWFtLiBUaGVyZSB3aWxsIGJlIG5vIG1lZXRpbmcgdGhpcyBUaHVyc2RheS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+VGVhbTwvaDI+XG4gICAgICAgIDxwPlRoZSBoZWFkcyBvZiB0ZWFtcyBoYXZlIGJlZW4gZXN0YWJsaXNoZWQgYXMgZm9sbG93czogS2F0aGxlZW4gZm9yIFB1YmxpYyBPdXRyZWFjaCwgTGlsaWFuYSBmb3IgV2lraSwgVmVyYSBmb3IgRGVsaXZlcnksIFBoaWxpcCBmb3IgTWVjaGFuaXNtLCBhbmQgTWljaGFlbCBmb3IgRGVzaWduLiBTcG9uc29yaW5nIHN0aWxsIG5lZWRzIGEgbGVhZCwgcG9zc2libHkgSXNhYmVsbC48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SmFtYm9yZWUgJiBNZWV0VXBzPC9oMj5cbiAgICAgICAgPHA+Rm9yIHRoZSB1cGNvbWluZyBtZWV0LXVwLCBzZXZlcmFsIGl0ZW1zIGFyZSBzdGlsbCBuZWVkZWQ6IGEgc2NpZW50aWZpYyBwb3N0ZXIgKFBoaWxpcCwgS2ltLCBDaHJpc3RpYW4pLCBULXNoaXJ0cyAoRGVzaWduIHRlYW0pLCBhIHByZXNlbnRhdGlvbiAoUGhpbGlwLCBLYXlhKSwgc3RpY2tlcnMgKDMweDMwbW0sIERlc2lnbiB0ZWFtKSwgYSBwcm9qZWN0IHRpdGxlIChtYXggMTUgd29yZHMpLCBhbmQgYW4gYWJzdHJhY3QgKDE1MCB3b3JkcykuIEFkZGl0aW9uYWxseSwgYXNzaXN0YW5jZSBpcyByZXF1aXJlZCBmb3IgcGhvdG9ncmFwaHkgYXQgdGhlIEJGSCwgd2l0aCBNaWNoYWVsIGFjdGluZyBhcyB0aGUgY2FtZXJhbWFuIGFuZCBuZWVkaW5nIG1vcmUgc3VwcG9ydC48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+V2V0IExhYjwvaDI+XG4gICAgICAgIDxwPkRpc2N1c3Npb24gb24gY2VsbCBjdWx0dXJlIHJlc3BvbnNpYmlsaXRpZXMgaGlnaGxpZ2h0ZWQgdGhhdCBMaXNhIGFuZCBLYXRobGVlbiBoYXZlIGhhbmRzLW9uIGV4cGVyaWVuY2UsIHdoaWxlIG90aGVycyB3aWxsIHJlcXVpcmUgZ3VpZGFuY2UuIFR3byBncm91cHMgd2lsbCB3b3JrIHdpdGggSEVDIGFuZCBIRUxBLCB3aXRoIHNjaGVkdWxlZCBzZXNzaW9ucyBuZXh0IHdlZWsgZm9yIGZhbWlsaWFyaXphdGlvbiB3aXRoIEJlbmNobGluZy4gVGhlIHBvc3NpYmlsaXR5IG9mIHRoYXdpbmcgSEVMQSAmIEhFSyBjZWxscyBmb3IgcHJhY3RpY2Ugd2FzIGRpc2N1c3NlZCwgYWxvbmcgd2l0aCBzb3VyY2luZyBjZWxscyBmcm9tIEx1a2FzIGFuZCBITk8gZm9yIHRyYWluaW5nIHB1cnBvc2VzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5NZWNoYW5pc208L2gyPlxuICAgICAgICA8cD5BbiB1cGRhdGUgb24gcHVyY2hhc2VkIHNlcXVlbmNlcyB3YXMgc2hhcmVkLCBpbmRpY2F0aW5nIGRpZmZpY3VsdGllcyB3aXRoIEZhbnpvciBhbmQgcGxhbnMgdG8gb3JkZXIgQ2FzLTkgZW5kb251Y2xlYXNlIGFzIGEgYmFja3VwLiBDbGFyaWZpY2F0aW9uIGlzIG5lZWRlZCBvbiB3aGV0aGVyIHRvIHB1cmNoYXNlIHBsYXNtaWRzIHdpdGggb3Igd2l0aG91dCBhIHJlcG9ydGVyIHN5c3RlbSwgYXMgd2VsbCBhcyB0aGUgcG90ZW50aWFsIG9yZGVyaW5nIG9mIHJldmVyc2UgdHJhbnNjcmlwdGFzZS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SHVtYW4gUHJhY3RpY2VzPC9oMj5cbiAgICAgICAgPHA+UXVlc3Rpb25zIGZvciBhbiB1cGNvbWluZyBpbnRlcnZpZXcgd2l0aCBQcm9mLiBXZWJlciBhcmUgcHJlcGFyZWQsIHdpdGggdGhlIHBvc3NpYmlsaXR5IG9mIGFkZGluZyBtb3JlLiBUaGUgTWVjaGFuaXNtIHRlYW0gd2lsbCBjcmVhdGUgYWRkaXRpb25hbCBzbGlkZXMsIGFuZCBMaXNhIHdpbGwgaW5xdWlyZSBhYm91dCBib3Jyb3dpbmcgYSBjYW1lcmEgYW5kIHJlY29yZGluZyBkZXZpY2UgZm9yIHRoZSBpbnRlcnZpZXcuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlB1YmxpYyBPdXRyZWFjaDwvaDI+XG4gICAgICAgIDxwPkZvciBNdWtvTW92ZSwgTGlsaWFuYSB3aWxsIHByaW50IHRoZSBzdGFydGluZyBudW1iZXJzLCB3aGlsZSBLYWphIHdpbGwgc2hhcmUgdGhpcyBpbmZvcm1hdGlvbiBvbiBUZWFtcywgYW5kIEtheWEgd2lsbCBvYnRhaW4gc2FmZXR5IHBpbnMgZm9yIGF0dGFjaG1lbnQuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlNwb25zb3Jpbmc8L2gyPlxuICAgICAgICA8cD5BIG1lZXRpbmcgd2l0aCBWZXJlbmEgS3JcdTAwRTR1dG5lciBpcyBzY2hlZHVsZWQgZm9yIE1vbmRheSwgd2hlcmUgYSBkcmF3IHdpbGwgZGV0ZXJtaW5lIHRoZSBzcG9uc29yc2hpcCB3aW5uZXIsIHdpdGggTHlkaWEgc3VnZ2VzdGluZyBhIHRpbWUgb2YgNTozMCBQTS4gQWRkaXRpb25hbGx5LCBhIG1lZXRpbmcgd2l0aCBTdGVtY2VsbCB3aWxsIGZvbGxvdyB1cCBvbiB0aGUgcHJvdmlzaW9uIG9mIG1lZGl1bS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+Q3JlYXRpdml0eTwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGhhcyBjaG9zZW4gdGhlIG5hbWUgXCI8UHJlQ3lzZS8+XCIgYW5kIGlzIGRldmVsb3BpbmcgYSBsb2dvLCBlbXBoYXNpemluZyBzaW1wbGljaXR5IGFuZCBhdm9pZGluZyBvdmVybHkgZmluZSBkZXRhaWxzIG9yIHdoaW1zaWNhbCBpbWFnZXJ5LiBGZWVkYmFjayB3aWxsIGJlIGdhdGhlcmVkIG9uIHRoZSBwcm9wb3NlZCBsb2dvcyBhbmQgbmFtZS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+V2lraTwvaDI+XG4gICAgICAgIDxwPlRoZXJlIGlzIGEgbmVlZCBmb3IgdGVhbSBtZW1iZXJzIHRvIHdyaXRlIHRleHRzIGZvciB0aGUgd2lraSwgZm9jdXNpbmcgb24gdGFza3Mgb3V0bGluZWQgaW4gdGhlIFdpa2ksIEh1bWFuIFByYWN0aWNlcywgYW5kIERlc2lnbiBjaGFubmVscy4gVGhlIHRlYW0gc2hvdWxkIGFsc28gYWdyZWUgb24gYSBjaXRhdGlvbiBzdHlsZS48L3A+XG4gICAgICAgIDwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcIm1heTE0XCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8cD5UaGVyZSB3YXMgYSByZXBvcnQgcmVnYXJkaW5nIGEgRmFjZWJvb2sgcGFnZSBhdHRyaWJ1dGVkIHRvIEZyaWVkZXJpa2UgTGVobGUsIHByb21wdGluZyBhIGRpc2N1c3Npb24gb24gd2hldGhlciBpdCBpcyBnZW51aW5lIG9yIHNwYW0uIEFkZGl0aW9uYWxseSwgdGhlIHRlYW0gcmVjZWl2ZWQgY29uZ3JhdHVsYXRpb25zIG9uIHRoZSBzcG9uc29yc2hpcCBmcm9tIFByb21lZ2EgR21iSCwgd2l0aCB0aGUgbmV4dCBzdGVwcyBvdXRsaW5lZCBpbiB0aGUgY29tbXVuaWNhdGlvbi48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SmFtYm9yZWUgJiBNZWV0VXBzPC9oMj5cbiAgICAgICAgPHA+RGlzY3Vzc2lvbnMgYWJvdXQgdGhlIHVwY29taW5nIG1lZXQtdXAgaW5jbHVkZWQgcmVzcG9uc2liaWxpdGllcyBmb3IgaGFuZGxpbmcgbWlsayBhbHRlcm5hdGl2ZXMgYW5kIHN1Z2FyLiBUaGUgdGVhbSBpcyBhbHNvIGVuY291cmFnZWQgdG8gYXNrIGZyaWVuZHMgZm9yIGFzc2lzdGFuY2Ugd2l0aCBmaWxtaW5nIGR1cmluZyB0aGUgZXZlbnQuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPk1lY2hhbmlzbTwvaDI+XG4gICAgICAgIDxwPlRoZSBmaXJzdCBwbGFzbWlkcyBoYXZlIGJlZW4gb3JkZXJlZCwgaW5jbHVkaW5nIHBNSjMyNiAoRmFuem9yKSBhbmQgcENNVi1QRTIgKFN0YW5kYXJkIFByaW1lIEVkaXRpbmcpLiBSZW1haW5pbmcgdGFza3MgaW5jbHVkZSB0aGUgb3JkZXJpbmcgb2YgYSBzaG9ydGVuZWQgUlQgcGxhc21pZCwgcGVnUk5BIGFjY2VwdG9yIHBsYXNtaWQsIGFuZCBzY3JlZW5pbmcgcGxhc21pZC4gTWFsdGUgYW5kIEtheWEgYXJlIHdvcmtpbmcgb24gcGVnUk5BIGRlc2lnbiwgYW5kIHRoZXJlJ3MgYSBuZWVkIHRvIGV4cGxvcmUgdmFyaW91cyBwZWcgaW50ZWdyYXRpb25zIGludG8gdGhlIGFjY2VwdG9yIHBsYXNtaWQuPC9wPlxuICAgICAgICA8cD5QcmltZXIgZGVzaWduIGlzIGNoYWxsZW5naW5nIGR1ZSB0byBpbmV4cGVyaWVuY2UsIGJ1dCB0aGUgdGVhbSBhaW1zIHRvIG1lZXQgQmlvQnJpY2sgc3RhbmRhcmRzIG9uY2UgdGhlIHZlY3RvcnMgYXJlIGF2YWlsYWJsZS4gS2FpIGFuZCBDaHJpc3RpYW4gYXJlIHNlbGVjdGluZyBjYW5kaWRhdGVzIGZvciBGYW56b3IgbXV0YXRpb25zLCBhbmQgdGVzdGluZyBlZGl0aW5nIHZpYSBHRlAgaXMgcGxhbm5lZCwgcmVxdWlyaW5nIGFkYXB0YXRpb24gb2YgdGhlIHBsYXNtaWQgZm9yIHN0YWJsZSB0cmFuc2ZlY3Rpb24gaW50byBjZWxscy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SHVtYW4gUHJhY3RpY2VzPC9oMj5cbiAgICAgICAgPHA+RGV0YWlscyBmb3IgdGhlIGludGVydmlldyB3aXRoIFByb2YuIFdlYmVyIGFyZSB1bmRlciBkaXNjdXNzaW9uLCBpbmNsdWRpbmcgcHJlc2VudGF0aW9uIHJlc3BvbnNpYmlsaXRpZXMgYW5kIGxvZ2lzdGljYWwgYXJyYW5nZW1lbnRzLiBUaGVyZSBpcyBhbHNvIGEgbm90ZSBvbiBhIHBhdGllbnQgaW50ZXJ2aWV3IHJlcXVlc3QgaW52b2x2aW5nIGEgeW91bmcgY2hpbGQgd2l0aCBjeXN0aWMgZmlicm9zaXMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlNwb25zb3Jpbmc8L2gyPlxuICAgICAgICA8cD5BIG1lZXRpbmcgd2l0aCBTdGVtY2VsbCBpcyBwbGFubmVkIHdoZXJlIHRoZSB0ZWFtIG11c3QgZGVjaWRlIG9uIHRoZSB0eXBlcyBhbmQgcXVhbnRpdGllcyBvZiBtZWRpYSBuZWVkZWQgYXMgc29vbiBhcyBwb3NzaWJsZS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+V2lraTwvaDI+XG4gICAgICAgIDxwPlRoZSB3aWtpIGlzIGV4cGVjdGVkIHRvIGJlIG9ubGluZSBieSBNYXkgMjJuZC48L3A+XG4gICAgICAgIDwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcIlwiLCBcbiAgICAgICAgbm9kZTogPD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJcIiwgXG4gICAgICAgIG5vZGU6IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwiXCIsIFxuICAgICAgICBub2RlOiA8PjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcIlwiLCBcbiAgICAgICAgbm9kZTogPD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJcIiwgXG4gICAgICAgIG5vZGU6IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwiXCIsIFxuICAgICAgICBub2RlOiA8PjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcIlwiLCBcbiAgICAgICAgbm9kZTogPD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJcIiwgXG4gICAgICAgIG5vZGU6IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwiXCIsIFxuICAgICAgICBub2RlOiA8PjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcIlwiLCBcbiAgICAgICAgbm9kZTogPD48Lz5cbiAgICB9LFxuXG4gICAgXG5dXG5cblxuZnVuY3Rpb24gcGFyc2VEYXRlRnJvbUNvZGUoY29kZTogc3RyaW5nKTogc3RyaW5nICB7XG4gICAgY29uc3QgbW9udGhzOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge1xuICAgICAgICBqYW51YXJ5OiAxLFxuICAgICAgICBmZWJydWFyeTogMixcbiAgICAgICAgbWFyY2g6IDMsXG4gICAgICAgIGFwcmlsOiA0LFxuICAgICAgICBtYXk6IDUsXG4gICAgICAgIGp1bmU6IDYsXG4gICAgICAgIGp1bHk6IDcsXG4gICAgICAgIGF1Z3VzdDogOCxcbiAgICAgICAgc2VwdGVtYmVyOiA5LFxuICAgICAgICBvY3RvYmVyOiAxMCxcbiAgICAgICAgbm92ZW1iZXI6IDExLFxuICAgICAgICBkZWNlbWJlcjogMTJcbiAgICB9O1xuXG4gICAgLy8gUmVnZXggdG8gbWF0Y2ggdGhlIG1vbnRoIGFuZCBkYXkgKGUuZy4sIGZlYnJ1YXJ5MiwgbWFyY2g1LCBldGMuKVxuICAgIGNvbnN0IHJlZ2V4ID0gL14oW2EtekEtWl0rKShcXGR7MSwyfSkkLztcbiAgICBjb25zdCBtYXRjaCA9IGNvZGUudG9Mb3dlckNhc2UoKS5tYXRjaChyZWdleCk7XG5cbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgY29uc3QgbW9udGhTdHIgPSBtYXRjaFsxXTtcbiAgICAgICAgY29uc3QgZGF5ID0gcGFyc2VJbnQobWF0Y2hbMl0sIDEwKTtcblxuICAgICAgICBjb25zdCBtb250aCA9IG1vbnRoc1ttb250aFN0cl07XG4gICAgICAgIGlmIChtb250aCAmJiBkYXkgPiAwICYmIGRheSA8PSAzMSkge1xuICAgICAgICAgICAgY29uc3QgeWVhciA9IDIwMjQ7XG4gICAgICAgICAgICAvLyBGb3JtYXQgZGF5IGFuZCBtb250aCB3aXRoIGxlYWRpbmcgemVyb3NcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZERheSA9IGRheS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWRNb250aCA9IG1vbnRoLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICAgICAgICAgIHJldHVybiBgJHtmb3JtYXR0ZWREYXl9LiR7Zm9ybWF0dGVkTW9udGh9LiR7eWVhcn1gO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIFwiZXJyb3JcIjsgLy8gUmV0dXJuIG51bGwgaWYgdGhlIGNvZGUgaXMgaW52YWxpZFxufVxuXG4iLCAiaW1wb3J0IHsgQ2FsVGFicyB9IGZyb20gXCIuL2NhbC1jb250ZW50XCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIENhbGVuZGFyKCl7XG5sZXQgYXJyb3dzOiBKU1guRWxlbWVudFtdID0gQXJyb3dzKCk7IFxubGV0IHRhYnM6IEpTWC5FbGVtZW50W10gPSBDYWxUYWJzKCk7IFxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYWxcIj5cblxuICAgIHthcnJvd3N9XG4gXG5cbjx1bCBjbGFzc05hbWU9XCJ3ZWVrZGF5c1wiPlxuICA8bGk+TW88L2xpPlxuICA8bGk+VHU8L2xpPlxuICA8bGk+V2U8L2xpPlxuICA8bGk+VGg8L2xpPlxuICA8bGk+RnI8L2xpPlxuICA8bGk+U2E8L2xpPlxuICA8bGk+U3U8L2xpPlxuPC91bD5cbntGZWJydWFyfVxue01hcmNofVxue0FwcmlsfVxue01heX1cbntKdW5lfVxue0p1bHl9XG57QXVndXN0fVxue1NlcHRlbWJlcn1cbntPY3RvYmVyfVxuPGJyLz5cbnt0YWJzfVxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cblxuXG5mdW5jdGlvbiBBcnJvd3MoKXtcbiAgICBjb25zdCBtb250aHMgPSBbXCJGZWJydWFyeVwiLCBcIk1hcmNoXCIsIFwiQXByaWxcIiwgXCJNYXlcIiwgXCJKdW5lXCIsIFwiSnVseVwiLCBcIkF1Z3VzdFwiLCBcIlNlcHRlbWJlclwiLCBcIk9jdG9iZXJcIl1cbiAgICBsZXQgYXJyb3dzOiBKU1guRWxlbWVudFtdID0gW107XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1vbnRocy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgaWYgKGluZGV4ID09IDApIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBtb250aHNbaW5kZXhdID0gJHttb250aHNbaW5kZXhdfWAgKVxuICAgICAgICAgICAgYXJyb3dzLnB1c2goXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb250aCBoaWRlYWJsZVwiIGlkPXtgJHttb250aHNbaW5kZXhdfS1oZWFkYH0gc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT4gICAgICBcbiAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwibmV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e3N3aXRjaFRvKG1vbnRoc1tpbmRleCsxXSl9PjxkaXY+JiMxMDA5NTs8L2Rpdj48L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge21vbnRoc1tpbmRleF19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7Zm9udFNpemU6XCIxOHB4XCJ9fT4yMDI0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID09IChtb250aHMubGVuZ3RoIC0gMSkpIHtcbiAgICAgICAgICAgIGFycm93cy5wdXNoKFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9udGggaGlkZWFibGVcIiBpZD17YCR7bW9udGhzW2luZGV4XX0taGVhZGB9IHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT4gICAgICBcbiAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJwcmV2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtzd2l0Y2hUbyhtb250aHNbaW5kZXgtMV0pfT48ZGl2PiYjMTAwOTQ7PC9kaXY+PC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAge21vbnRoc1tpbmRleF19XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17e2ZvbnRTaXplOlwiMThweFwifX0+MjAyNDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgICBhcnJvd3MucHVzaChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vbnRoIGhpZGVhYmxlXCIgaWQ9e2Ake21vbnRoc1tpbmRleF19LWhlYWRgfSAgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PiAgICAgIFxuICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICA8c3BhbiA+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJwcmV2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtzd2l0Y2hUbyhtb250aHNbaW5kZXgtMV0pfT48ZGl2PiYjMTAwOTQ7PC9kaXY+PC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwibmV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17c3dpdGNoVG8obW9udGhzW2luZGV4KzFdKX0+PGRpdj4mIzEwMDk1OzwvZGl2PjwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHttb250aHNbaW5kZXhdfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3tmb250U2l6ZTpcIjE4cHhcIn19PjIwMjQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYXJyb3dzOyBcbn1cblxuZnVuY3Rpb24gc3dpdGNoVG8obW9udGg6IHN0cmluZyl7XG4gICAgY29uc29sZS5sb2coYENhbGxlZCBOZXh0IERhdGUgd2l0aCAke21vbnRofWApXG4gICAgY29uc3QgbmV4dGRhdGUgPSAoX2V2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcIm5leHREYXRlIG9wZW5cIilcbiAgICAgICAgbGV0IGVsZW1lbnRzVG9IaWRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImhpZGVhYmxlXCIpOyBcbiAgICAgICAgY29uc29sZS5sb2coZWxlbWVudHNUb0hpZGUpXG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBlbGVtZW50c1RvSGlkZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgXG4gICAgICAgICAgICAoZWxlbWVudHNUb0hpZGVbaW5kZXhdIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7ICBcbiAgICAgICAgfSBcbiAgICAgICAgXG4gICAgICAgIGNvbnNvbGUubG9nKFwibmV3IG1vbnRoIGlzOiBcIiArIG1vbnRoICsgXCIgYW5kIHdlIGFyZSBjYWxsaW5nIFwiICsgIGAke21vbnRofS1uYW1lYClcbiAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke21vbnRofS1kYXRlc2ApKSB7XG4gICAgICAgICAgICBsZXQgbmV3ZGF0ZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHttb250aH0tZGF0ZXNgKTtcbiAgICAgICAgICAgIChuZXdkYXRlcyBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRWxlbWVudCB3aXRoIGlkICR7bW9udGh9LWRhdGVzIGRvZXMgbm90IGV4aXN0YClcbiAgICAgICAgfVxuICAgICAgICBsZXQgbmV3QXJyb3dzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7bW9udGh9LWhlYWRgKTtcbiAgICAgICAgKG5ld0Fycm93cyBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICAgICAgY29uc29sZS5sb2cobmV3QXJyb3dzKVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5leHRkYXRlOyAgXG59XG5cbmZ1bmN0aW9uIHNob3dFbnRyeShlbnRyeTpzdHJpbmcpe1xuICAgIGNvbnN0IHNob3dlbnRyeSA9IChfZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgICAgIGxldCBlbGVtZW50c1RvSGlkZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJjYWwtZW50cnlcIik7IFxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZWxlbWVudHNUb0hpZGUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgIFxuICAgICAgICAgICAgKGVsZW1lbnRzVG9IaWRlW2luZGV4XSBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiOyAgXG4gICAgICAgIH0gXG4gICAgICAgIGxldCBlbnRyeUJsb2NrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZW50cnkpO1xuICAgICAgICAoZW50cnlCbG9jayBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICB9XG4gICAgcmV0dXJuIHNob3dlbnRyeTsgXG59XG5cbmNvbnN0IEZlYnJ1YXIgPSA8dWwgaWQ9XCJGZWJydWFyeS1kYXRlc1wiIGNsYXNzTmFtZT1cImRheXMgaGlkZWFibGVcIj4gIFxuPGxpPjwvbGk+XG48bGk+PC9saT5cbjxsaT48L2xpPlxuICA8bGk+MTwvbGk+XG4gIDxsaT4yPC9saT5cbiAgPGxpPjM8L2xpPlxuICA8bGk+NDwvbGk+XG4gIDxsaT41PC9saT5cbiAgPGxpPjY8L2xpPlxuICA8bGk+NzwvbGk+XG4gIDxsaT44PC9saT5cbiAgPGxpPjk8L2xpPlxuICA8bGk+MTA8L2xpPlxuICA8bGk+MTE8L2xpPlxuICA8bGk+MTI8L2xpPlxuICA8bGk+MTM8L2xpPlxuICA8bGk+MTQ8L2xpPlxuICA8bGk+MTU8L2xpPlxuICA8bGk+MTY8L2xpPlxuICA8bGk+MTc8L2xpPlxuICA8bGk+MTg8L2xpPlxuICA8bGk+MTk8L2xpPlxuICA8bGk+MjA8L2xpPlxuICA8bGk+MjE8L2xpPlxuICA8bGk+MjI8L2xpPlxuICA8bGk+MjM8L2xpPlxuICA8bGk+MjQ8L2xpPlxuICA8bGk+MjU8L2xpPlxuICA8bGk+MjY8L2xpPlxuICA8bGk+PGEgb25DbGljaz17c2hvd0VudHJ5KFwiZmVicnVhcnkyN1wiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+Mjc8L3NwYW4+PC9hPjwvbGk+XG4gIDxsaT4yODwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJmZWJydWFyeTI5XCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4yOTwvc3Bhbj48L2E+PC9saT5cblxuPC91bD5cbmNvbnN0IE1hcmNoID0gPHVsIGlkPVwiTWFyY2gtZGF0ZXNcIiBjbGFzc05hbWU9XCJkYXlzIGhpZGVhYmxlXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PiAgXG48bGk+PC9saT5cbjxsaT48L2xpPlxuPGxpPjwvbGk+XG48bGk+PC9saT5cbiAgPGxpPjE8L2xpPlxuICA8bGk+MjwvbGk+XG4gIDxsaT4zPC9saT5cbiAgPGxpPjQ8L2xpPlxuICA8bGk+NTwvbGk+XG4gIDxsaT42PC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcIm1hcmNoN1wiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+Nzwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjg8L2xpPlxuICA8bGk+OTwvbGk+XG4gIDxsaT4xMDwvbGk+XG4gIDxsaT4xMTwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJtYXJjaDEyXCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4xMjwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjEzPC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcIm1hcmNoMTRcIil9PjxzcGFuIGNsYXNzTmFtZT1cImFjdGl2ZVwiPjE0PC9zcGFuPjwvYT48L2xpPlxuICA8bGk+MTU8L2xpPlxuICA8bGk+MTY8L2xpPlxuICA8bGk+MTc8L2xpPlxuICA8bGk+MTg8L2xpPlxuICA8bGk+PGEgb25DbGljaz17c2hvd0VudHJ5KFwibWFyY2gxOVwiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+MTk8L3NwYW4+PC9hPjwvbGk+XG4gIDxsaT4yMDwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJtYXJjaDIxXCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4yMTwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjIyPC9saT5cbiAgPGxpPjIzPC9saT5cbiAgPGxpPjI0PC9saT5cbiAgPGxpPjI1PC9saT5cbiAgPGxpPjI2PC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcIm1hcmNoMjdcIil9PjxzcGFuIGNsYXNzTmFtZT1cImFjdGl2ZVwiPjI3PC9zcGFuPjwvYT48L2xpPlxuICA8bGk+Mjg8L2xpPlxuICA8bGk+PGEgb25DbGljaz17c2hvd0VudHJ5KFwibWFyY2gyOVwiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+Mjk8L3NwYW4+PC9hPjwvbGk+XG4gIDxsaT4zMDwvbGk+XG4gIDxsaT4zMTwvbGk+XG48L3VsPlxuY29uc3QgQXByaWwgPSA8dWwgaWQ9XCJBcHJpbC1kYXRlc1wiIGNsYXNzTmFtZT1cImRheXMgaGlkZWFibGVcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+ICBcbiAgPGxpPjE8L2xpPlxuICA8bGk+PGEgb25DbGljaz17c2hvd0VudHJ5KFwiYXByaWwyXCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4yPC9zcGFuPjwvYT48L2xpPlxuICA8bGk+MzwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJhcHJpbDRcIil9PjxzcGFuIGNsYXNzTmFtZT1cImFjdGl2ZVwiPjQ8L3NwYW4+PC9hPjwvbGk+XG4gIDxsaT41PC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcImFwcmlsNlwiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+Njwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjc8L2xpPlxuICA8bGk+ODwvbGk+XG4gIDxsaT45PC9saT5cbiAgPGxpPjEwPC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcImFwcmlsMTFcIil9PjxzcGFuIGNsYXNzTmFtZT1cImFjdGl2ZVwiPjExPC9zcGFuPjwvYT48L2xpPlxuICA8bGk+MTI8L2xpPlxuICA8bGk+MTM8L2xpPlxuICA8bGk+MTQ8L2xpPlxuICA8bGk+MTU8L2xpPlxuICA8bGk+PGEgb25DbGljaz17c2hvd0VudHJ5KFwiYXByaWwxNlwiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+MTY8L3NwYW4+PC9hPjwvbGk+XG4gIDxsaT4xNzwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJhcHJpbDE4XCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4xODwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjE5PC9saT5cbiAgPGxpPjIwPC9saT5cbiAgPGxpPjIxPC9saT5cbiAgPGxpPjIyPC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcImFwcmlsMjNcIil9PjxzcGFuIGNsYXNzTmFtZT1cImFjdGl2ZVwiPjIzPC9zcGFuPjwvYT48L2xpPlxuICA8bGk+MjQ8L2xpPlxuICA8bGk+PGEgb25DbGljaz17c2hvd0VudHJ5KFwiYXByaWwyNVwiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+MjU8L3NwYW4+PC9hPjwvbGk+XG4gIDxsaT4yNjwvbGk+XG4gIDxsaT4yNzwvbGk+XG4gIDxsaT4yODwvbGk+XG4gIDxsaT4yOTwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJhcHJpbDMwXCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4zMDwvc3Bhbj48L2E+PC9saT5cbjwvdWw+XG5jb25zdCBNYXkgPSA8dWwgaWQ9XCJNYXktZGF0ZXNcIiBjbGFzc05hbWU9XCJkYXlzIGhpZGVhYmxlXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PiAgXG48bGk+PC9saT5cbjxsaT48L2xpPlxuICA8bGk+MTwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJtYXkyXCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4yPC9zcGFuPjwvYT48L2xpPlxuICA8bGk+MzwvbGk+XG4gIDxsaT40PC9saT5cbiAgPGxpPjU8L2xpPlxuICA8bGk+NjwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJtYXk3XCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj43PC9zcGFuPjwvYT48L2xpPlxuICA8bGk+ODwvbGk+XG4gIDxsaT45PC9saT5cbiAgPGxpPjEwPC9saT5cbiAgPGxpPjExPC9saT5cbiAgPGxpPjEyPC9saT5cbiAgPGxpPjEzPC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcIm1heTE0XCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4xNDwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjE1PC9saT5cbiAgPGxpPjE2PC9saT5cbiAgPGxpPjE3PC9saT5cbiAgPGxpPjE4PC9saT5cbiAgPGxpPjE5PC9saT5cbiAgPGxpPjIwPC9saT5cbiAgPGxpPjIxPC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcIm1heTIyXCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4yMjwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjIzPC9saT5cbiAgPGxpPjI0PC9saT5cbiAgPGxpPjI1PC9saT5cbiAgPGxpPjI2PC9saT5cbiAgPGxpPjI3PC9saT5cbiAgPGxpPjI4PC9saT5cbiAgPGxpPjI5PC9saT5cbiAgPGxpPjMwPC9saT5cbiAgPGxpPjMxPC9saT5cbjwvdWw+XG5jb25zdCBKdW5lID0gPHVsIGlkPVwiSnVuZS1kYXRlc1wiIGNsYXNzTmFtZT1cImRheXMgaGlkZWFibGVcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+ICBcbjxsaT48L2xpPlxuPGxpPjwvbGk+XG48bGk+PC9saT5cbjxsaT48L2xpPlxuPGxpPjwvbGk+XG4gIDxsaT4xPC9saT5cbiAgPGxpPjI8L2xpPlxuICA8bGk+MzwvbGk+XG4gIDxsaT40PC9saT5cbiAgPGxpPjU8L2xpPlxuICA8bGk+NjwvbGk+XG4gIDxsaT43PC9saT5cbiAgPGxpPjg8L2xpPlxuICA8bGk+OTwvbGk+XG4gIDxsaT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4xMDwvc3Bhbj48L2xpPlxuICA8bGk+MTE8L2xpPlxuICA8bGk+MTI8L2xpPlxuICA8bGk+MTM8L2xpPlxuICA8bGk+MTQ8L2xpPlxuICA8bGk+MTU8L2xpPlxuICA8bGk+MTY8L2xpPlxuICA8bGk+MTc8L2xpPlxuICA8bGk+MTg8L2xpPlxuICA8bGk+MTk8L2xpPlxuICA8bGk+MjA8L2xpPlxuICA8bGk+MjE8L2xpPlxuICA8bGk+MjI8L2xpPlxuICA8bGk+MjM8L2xpPlxuICA8bGk+MjQ8L2xpPlxuICA8bGk+MjU8L2xpPlxuICA8bGk+MjY8L2xpPlxuICA8bGk+Mjc8L2xpPlxuICA8bGk+Mjg8L2xpPlxuICA8bGk+Mjk8L2xpPlxuICA8bGk+MzA8L2xpPlxuPC91bD5cbmNvbnN0IEp1bHkgPSA8dWwgaWQ9XCJKdWx5LWRhdGVzXCIgY2xhc3NOYW1lPVwiZGF5cyBoaWRlYWJsZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT4gIFxuICA8bGk+MTwvbGk+XG4gIDxsaT4yPC9saT5cbiAgPGxpPjM8L2xpPlxuICA8bGk+NDwvbGk+XG4gIDxsaT41PC9saT5cbiAgPGxpPjY8L2xpPlxuICA8bGk+NzwvbGk+XG4gIDxsaT44PC9saT5cbiAgPGxpPjk8L2xpPlxuICA8bGk+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+MTA8L3NwYW4+PC9saT5cbiAgPGxpPjExPC9saT5cbiAgPGxpPjEyPC9saT5cbiAgPGxpPjEzPC9saT5cbiAgPGxpPjE0PC9saT5cbiAgPGxpPjE1PC9saT5cbiAgPGxpPjE2PC9saT5cbiAgPGxpPjE3PC9saT5cbiAgPGxpPjE4PC9saT5cbiAgPGxpPjE5PC9saT5cbiAgPGxpPjIwPC9saT5cbiAgPGxpPjIxPC9saT5cbiAgPGxpPjIyPC9saT5cbiAgPGxpPjIzPC9saT5cbiAgPGxpPjI0PC9saT5cbiAgPGxpPjI1PC9saT5cbiAgPGxpPjI2PC9saT5cbiAgPGxpPjI3PC9saT5cbiAgPGxpPjI4PC9saT5cbiAgPGxpPjI5PC9saT5cbiAgPGxpPjMwPC9saT5cbiAgPGxpPjMxPC9saT5cbjwvdWw+XG5jb25zdCBBdWd1c3QgPSA8dWwgaWQ9XCJBdWd1c3QtZGF0ZXNcIiBjbGFzc05hbWU9XCJkYXlzIGhpZGVhYmxlXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PiAgXG48bGk+PC9saT5cbjxsaT48L2xpPlxuPGxpPjwvbGk+XG4gIDxsaT4xPC9saT5cbiAgPGxpPjI8L2xpPlxuICA8bGk+MzwvbGk+XG4gIDxsaT40PC9saT5cbiAgPGxpPjU8L2xpPlxuICA8bGk+NjwvbGk+XG4gIDxsaT43PC9saT5cbiAgPGxpPjg8L2xpPlxuICA8bGk+OTwvbGk+XG4gIDxsaT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4xMDwvc3Bhbj48L2xpPlxuICA8bGk+MTE8L2xpPlxuICA8bGk+MTI8L2xpPlxuICA8bGk+MTM8L2xpPlxuICA8bGk+MTQ8L2xpPlxuICA8bGk+MTU8L2xpPlxuICA8bGk+MTY8L2xpPlxuICA8bGk+MTc8L2xpPlxuICA8bGk+MTg8L2xpPlxuICA8bGk+MTk8L2xpPlxuICA8bGk+MjA8L2xpPlxuICA8bGk+MjE8L2xpPlxuICA8bGk+MjI8L2xpPlxuICA8bGk+MjM8L2xpPlxuICA8bGk+MjQ8L2xpPlxuICA8bGk+MjU8L2xpPlxuICA8bGk+MjY8L2xpPlxuICA8bGk+Mjc8L2xpPlxuICA8bGk+Mjg8L2xpPlxuICA8bGk+Mjk8L2xpPlxuICA8bGk+MzA8L2xpPlxuICA8bGk+MzE8L2xpPlxuPC91bD5cblxuY29uc3QgU2VwdGVtYmVyID0gPHVsIGlkPVwiU2VwdGVtYmVyLWRhdGVzXCIgY2xhc3NOYW1lPVwiZGF5cyBoaWRlYWJsZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT4gIFxuPGxpPjwvbGk+XG48bGk+PC9saT5cbjxsaT48L2xpPlxuPGxpPjwvbGk+XG48bGk+PC9saT5cbjxsaT48L2xpPlxuICA8bGk+MTwvbGk+XG4gIDxsaT4yPC9saT5cbiAgPGxpPjM8L2xpPlxuICA8bGk+NDwvbGk+XG4gIDxsaT41PC9saT5cbiAgPGxpPjY8L2xpPlxuICA8bGk+NzwvbGk+XG4gIDxsaT44PC9saT5cbiAgPGxpPjk8L2xpPlxuICA8bGk+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+MTA8L3NwYW4+PC9saT5cbiAgPGxpPjExPC9saT5cbiAgPGxpPjEyPC9saT5cbiAgPGxpPjEzPC9saT5cbiAgPGxpPjE0PC9saT5cbiAgPGxpPjE1PC9saT5cbiAgPGxpPjE2PC9saT5cbiAgPGxpPjE3PC9saT5cbiAgPGxpPjE4PC9saT5cbiAgPGxpPjE5PC9saT5cbiAgPGxpPjIwPC9saT5cbiAgPGxpPjIxPC9saT5cbiAgPGxpPjIyPC9saT5cbiAgPGxpPjIzPC9saT5cbiAgPGxpPjI0PC9saT5cbiAgPGxpPjI1PC9saT5cbiAgPGxpPjI2PC9saT5cbiAgPGxpPjI3PC9saT5cbiAgPGxpPjI4PC9saT5cbiAgPGxpPjI5PC9saT5cbiAgPGxpPjMwPC9saT5cbjwvdWw+XG5cbmNvbnN0IE9jdG9iZXIgPSA8dWwgaWQ9XCJPY3RvYmVyLWRhdGVzXCIgY2xhc3NOYW1lPVwiZGF5cyBoaWRlYWJsZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT4gIFxuPGxpPjwvbGk+XG4gIDxsaT4xPC9saT5cbiAgPGxpPjI8L2xpPlxuICA8bGk+MzwvbGk+XG4gIDxsaT40PC9saT5cbiAgPGxpPjU8L2xpPlxuICA8bGk+NjwvbGk+XG4gIDxsaT43PC9saT5cbiAgPGxpPjg8L2xpPlxuICA8bGk+OTwvbGk+XG4gIDxsaT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4xMDwvc3Bhbj48L2xpPlxuICA8bGk+MTE8L2xpPlxuICA8bGk+MTI8L2xpPlxuICA8bGk+MTM8L2xpPlxuICA8bGk+MTQ8L2xpPlxuICA8bGk+MTU8L2xpPlxuICA8bGk+MTY8L2xpPlxuICA8bGk+MTc8L2xpPlxuICA8bGk+MTg8L2xpPlxuICA8bGk+MTk8L2xpPlxuICA8bGk+MjA8L2xpPlxuICA8bGk+MjE8L2xpPlxuICA8bGk+MjI8L2xpPlxuICA8bGk+MjM8L2xpPlxuICA8bGk+MjQ8L2xpPlxuICA8bGk+MjU8L2xpPlxuICA8bGk+MjY8L2xpPlxuICA8bGk+Mjc8L2xpPlxuICA8bGk+Mjg8L2xpPlxuICA8bGk+Mjk8L2xpPlxuICA8bGk+MzA8L2xpPlxuICA8bGk+MzE8L2xpPlxuPC91bD5cblxuXG4iLCAiaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9DYWxlbmRhci9DYWxlbmRhclwiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFByb0Rlc2MoKSB7XG4gIHVzZVRhYk5hdmlnYXRpb24oKTtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPENhbGVuZGFyLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgIiwgImV4cG9ydCBmdW5jdGlvbiBQUk9ERVNDKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIlByb2plY3RcIiB0aXRsZTI9XCJEb2N1bWVudGF0aW9uXCIgaWQ9XCJkb2NoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiaW1wb3J0IHsgQmxvY2tRdW90ZUIgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9RdW90ZXNcIjtcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBKdWRnaW5nKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiT3ZlcnZpZXdcIiBpZD1cIk92ZXJ2aWV3XCI+XG4gICAgICAgICAgPEJsb2NrUXVvdGVCIHRleHQ9XCJKdWRnaW5nIGZvciBpR0VNIGlzIG9uZSBvZiB0aGUgaGlnaGxpZ2h0cyBvbiBteSBwcm9mZXNzaW9uYWwgY2FsZW5kYXJcdTIwMjZcIiBjaXRlPVwiRHIuIE5hbmN5IEJ1cmdlc3MsIERpcmVjdG9yIG9mIEp1ZGdpbmcgYXQgaUdFTSBIUVwiLz5cbiAgICAgICAgICA8cD5UaGUgaUdFTSBjb21wZXRpdGlvbiBjZWxlYnJhdGVzIGlubm92YXRpb24gaW4gc3ludGhldGljIGJpb2xvZ3ksIG9mZmVyaW5nIHRlYW1zIHRoZSBjaGFuY2UgdG8gY29tcGV0ZSBmb3IgYSByYW5nZSBvZiBhd2FyZHMgYmFzZWQgb24gdGhlaXIgYWNoaWV2ZW1lbnRzIGluIFxuICAgICAgICAgICAgdmFyaW91cyBjYXRlZ29yaWVzLiBKdWRnaW5nIGlzIGJhc2VkIG9uIGhvdyB3ZWxsIHRlYW1zIGludGVncmF0ZSBzY2llbnRpZmljIHJpZ29yIHdpdGggc29jaWV0YWwgaW1wYWN0LCBzYWZldHksIGFuZCBjcmVhdGl2aXR5LiBXZSBhaW0gdG8gY29tcGV0ZSBmb3IgXG4gICAgICAgICAgICBzZXZlcmFsIHByZXN0aWdpb3VzIGF3YXJkcywgaW5jbHVkaW5nIDxiPkJlc3QgSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXM8L2I+LCA8Yj5CaW9zYWZldHkgYW5kIFNlY3VyaXR5PC9iPiBBd2FyZCwgYW5kIDxiPkJlc3QgTmV3IEJhc2ljIFBhcnQ8L2I+LiBBZGRpdGlvbmFsbHksIHdlIHNlZWsgcmVjb2duaXRpb24gZm9yIG91ciA8Yj50aGVyYXBldXRpYyBwcm9qZWN0PC9iPiBhbmQgd2lsbCBzdHJpdmUgZm9yIGV4Y2VsbGVuY2UgaW4gYmVzdCB3aWtpLCBiZXN0IHByb21vdGlvbmFsIHZpZGVvLCBhbmQgdGhlIGlHRU1lcnMgcHJpemUuIDwvcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL290aGVyL3RoZXJhcGV1dGljLWF3YXJkLnN2Z1wiIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL290aGVyL2locC1hd2FyZC5zdmdcIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9vdGhlci9zYWZldHktYXdhcmQuc3ZnXCIgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3Mvb3RoZXIvYmFzaWMtcGFydC1hd2FyZC5zdmdcIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9vdGhlci93aWtpLWF3YXJkLnN2Z1wiIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJCZXN0IFRoZXJhcGV1dGljIFByb2plY3RcIiBpZD1cIkJlc3QgVGhlcmFwZXV0aWMgUHJvamVjdFwiPlxuICAgICAgICAgIDxwPk91ciBwcm9qZWN0IGlzIGEgZHVhbCB0aGVyYXBldXRpYyBhcHByb2FjaCB0YXJnZXRpbmcgY3lzdGljIGZpYnJvc2lzIChDRiksIHNwZWNpZmljYWxseSB0aGUgbW9zdCBjb21tb24gbXV0YXRpb24sIEY1MDhkZWwuIFdlIGFpbSB0byBkZXZlbG9wIGEgY3VyYXRpdmUgc29sdXRpb24gYnkgY29ycmVjdGluZyB0aGUgZ2VuZXRpYyBkZWZlY3QgdXNpbmcgUHJpbWUgRWRpdGluZyBUZWNobm9sb2d5IHdoaWxlIGVuaGFuY2luZyB0aGUgZm9sZGluZyBvZiB0aGUgQ0ZUUiBwcm90ZWluLiBBZGRpdGlvbmFsbHksIHdlIGRldmVsb3BlZCBhIExpcGlkIE5hbm9wYXJ0aWNsZSBmb3IgdGhlIGNlbGwtc3BlY2lmaWMgdGFyZ2V0aW5nIG9mIGx1bmcgZXBpdGhlbGlhbCBjZWxscy4gVGhpcyBwcm9qZWN0IGRpcmVjdGx5IGFkZHJlc3NlcyB0aGUgdW5tZXQgdGhlcmFwZXV0aWMgbmVlZHMgb2YgQ0YgcGF0aWVudHMsIHByb3ZpZGluZyBhIGxvbmctdGVybSBhbmQgcG90ZW50aWFsbHkgY3VyYXRpdmUgc29sdXRpb24uIDwvcD5cbiAgICAgICAgICA8aDQ+SGFzIHRoZSB0ZWFtIGNsZWFybHkgZGVmaW5lZCB0aGUgdGhlcmFwZXV0aWMgcHJvYmxlbSB0aGV5IGFyZSBhZGRyZXNzaW5nPyA8L2g0PlxuICAgICAgICAgIDxwPldlIGFyZSBhZGRyZXNzaW5nIEN5c3RpYyBGaWJyb3NpcyAoQ0YpLCBhIHNldmVyZSBnZW5ldGljIGRpc29yZGVyIGNhdXNlZCBieSBtdXRhdGlvbnMgaW4gdGhlIENGVFIgZ2VuZSwgcGFydGljdWxhcmx5IHRoZSBGNTA4ZGVsIG11dGF0aW9uLiBUaGlzIG11dGF0aW9uIGxlYWRzIHRvIHRoaWNrIG11Y3VzIGFjY3VtdWxhdGlvbiBpbiB2aXRhbCBvcmdhbnMsIGNhdXNpbmcgY2hyb25pYyBpbmZlY3Rpb25zIGFuZCBkYW1hZ2UsIHBhcnRpY3VsYXJseSBpbiB0aGUgbHVuZ3MuIE91ciBmb2N1cyBvbiB0aGUgRjUwOGRlbCBtdXRhdGlvbiwgd2hpY2ggYWZmZWN0cyBhcm91bmQgOTAgJSBvZiBDRiBwYXRpZW50cyBpbiBFdXJvcGUgYW5kIGJleW9uZCwgZW5zdXJlcyBvdXIgcHJvamVjdCB0YXJnZXRzIGEgd2VsbC1kZWZpbmVkIGFuZCB3aWRlc3ByZWFkIHRoZXJhcGV1dGljIG5lZWQuIDwvcD5cbiAgICAgICAgICA8aDQ+SG93IHdlbGwgaXMgdGhlIHRoZXJhcGV1dGljIG1lY2hhbmlzbSBvZiBhY3Rpb24gdW5kZXJzdG9vZCBhbmQgZGVtb25zdHJhdGVkPyA8L2g0PlxuICAgICAgICAgIDxwPk91ciBwcm9qZWN0IGVtcGxveXMgYSBkdWFsIGFwcHJvYWNoOiA8L3A+XG4gICAgICAgICAgPG9sPlxuICAgICAgICAgICAgPGxpPm9ycmVjdGluZyB0aGUgRjUwOGRlbCBtdXRhdGlvbiB1c2luZyBvdXIgUHJpbWUgRWRpdGluZyBUZWNobm9sb2d5XHRQcmltZUd1aWRlLCBhIHdlbGwgdW5kZXJzdG9vZCBnZW5lIGVkaXRpbmcgdG9vbCBkZXNpZ25lZCB0byByZXBhaXIgZGVmZWN0aXZlIGdlbmVzPC9saT5cbiAgICAgICAgICAgIDxsaT5kZWxpdmVyaW5nIG9mIG91ciBtUk5BIHRoZXJhcGV1dGljIHZpYSBzcGVjaWFsaXplZCBMaXBpZCBOYW5vcGFydGljbGVzIEFpckJ1ZGR5LCBlbnN1cmluZyBkaXJlY3QgYXBwbGljYXRpb24gaW4gbHVuZyBlcGl0aGVsaWFsIGNlbGxzPC9saT5cbiAgICAgICAgICA8L29sPlxuICAgICAgICAgIDxoND5IYXMgdGhlIHRlYW0gdmFsaWRhdGVkIHRoZSBlZmZlY3RpdmVuZXNzIG9mIHRoZWlyIHRoZXJhcGV1dGljIGFwcHJvYWNoPyA8L2g0PlxuICAgICAgICAgIDxwPldlIHRlc3RlZCB0aGUgdGhlcmFwZXV0aWMgZWZmaWNhY3kgPGk+aW4gdml0cm88L2k+IHVzaW5nIHBhdGllbnQtZGVyaXZlZCBwcmltYXJ5IGVwaXRoZWxpYWwgY2VsbHMgaW4gQWlyIExpcXVpZCBDdWx0dXJlIChBTEkpIGFuZCBBcGljYWwtT3V0IE9yZ2Fub2lkcyBjYXJyeWluZyB0aGUgRjUwOGRlbCBtdXRhdGlvbi4gVGhlc2UgY2VsbHMgd2VyZSB0cmVhdGVkIHdpdGggUHJlQ3lzZSB0byBhc3Nlc3MgdGhlIGdlbmV0aWMgY29ycmVjdGlvbiwgd2hpbGUgZG93bnN0cmVhbSBhcHBsaWNhdGlvbnMgd2lsbCB2YWxpZGF0ZSB0aGUgaW1wcm92ZWQgZm9sZGluZyBhbmQgZnVuY3Rpb24gb2YgdGhlIENGVFIgcHJvdGVpbi4gT3VyIGV4cGVyaW1lbnRhbCBkZXNpZ24gYWxsb3dzIHVzIHRvIGdhdGhlciBwcm9vZi1vZi1jb25jZXB0IGRhdGEsIGRlbW9uc3RyYXRpbmcgdGhlIHZpYWJpbGl0eSBvZiBib3RoIGdlbmUgY29ycmVjdGlvbiBhbmQgZWZmaWNpZW50IGRlbGl2ZXJ5LiA8L3A+XG4gICAgICAgICAgPGg0PkRvZXMgdGhlIHByb2plY3QgY29uc2lkZXIgb2ZmLXRhcmdldCBlZmZlY3RzIG9yIHVuaW50ZW5kZWQgY29uc2VxdWVuY2VzPzwvaDQ+XG4gICAgICAgICAgPHA+QnkgaW5jb3Jwb3JhdGluZyBGQU5aT1IsIGEgbmV3IGV1a2FyeW90aWMgUk5BLWJpbmRpbmcgRE5BLWVuZG9udWNsZWFzZXMsIHdlIGVuaGFuY2UgdGhlIHByZWNpc2lvbiBvZiBQcmltZSBFZGl0aW5nLiBTaXRlLWRpcmVjdGVkIG11dGFnZW5lc2lzIGVuYWJsZSBuaWNrYXNpZmljYXRpb24gb2Ygb3VyIENhc1ggYW5kIEZBTlpPUiBjYW5kaWRhdGVzLiBUaGlzIGVuYWJsZXMgdGhlIHVzYWdlIGFzIFByaW1lIEVkaXRvciwgd2hpbGUgZW5oYW5jaW5nIGVmZmljaWVuY3kgYW5kIGRlY3JlYXNpbmcgUEUgY29tcGxleCBzaXplLiBXZSBoYXZlIGRlc2lnbmVkIG91ciBzeXN0ZW0gdG8gbWluaW1pemUgdW5pbnRlbmRlZCBjb25zZXF1ZW5jZXMsIGVuc3VyaW5nIHRoYXQgb3VyIHRoZXJhcGV1dGljIGludGVydmVudGlvbiBpcyBzYWZlIGZvciBjbGluaWNhbCBhcHBsaWNhdGlvbi4gPC9wPlxuICAgICAgICAgIDxoND5XaGF0IHBvdGVudGlhbCBkb2VzIHRoZSBwcm9qZWN0IGhhdmUgZm9yIHJlYWwtd29ybGQgdGhlcmFwZXV0aWMgYXBwbGljYXRpb25zPyA8L2g0PlxuICAgICAgICAgIDxwPk91ciBkdWFsIGFwcHJvYWNoIGhhcyBzaWduaWZpY2FudCBwb3RlbnRpYWwgZm9yIHJlYWwtd29ybGQgdGhlcmFwZXV0aWMgYXBwbGljYXRpb25zLiBQcmVDeXNlIHByb3ZpZGVzIGEgY3VyYXRpdmUgZ2VuZXRpYyBzb2x1dGlvbiwgaW1wcm92ZSBpbW1lZGlhdGUgcGh5c2lvbG9naWNhbCBmdW5jdGlvbnMuIFRoZSBwcm9qZWN0IGFkZHJlc3NlcyBhIGNydWNpYWwgbmVlZCBpbiBDRiB0aGVyYXB5IGJ5IHRhcmdldGluZyBib3RoIHRoZSByb290IGdlbmV0aWMgY2F1c2UgYW5kIHRoZSByZXN1bHRpbmcgcHJvdGVpbiBkeXNmdW5jdGlvbiwgb2ZmZXJpbmcgYSBtb3JlIGNvbXByZWhlbnNpdmUgc29sdXRpb24gdGhhbiBjdXJyZW50IHRyZWF0bWVudHMuIDwvcD5cbiAgICAgICAgICA8aDQ+SG93IHdlbGwgZGlkIHRoZSB0ZWFtIGludGVncmF0ZSBzYWZldHkgaW50byB0aGVpciB0aGVyYXBldXRpYyBkZXNpZ24/IDwvaDQ+XG4gICAgICAgICAgPHA+U2FmZXR5IGlzIGEgcHJpb3JpdHkgaW4gb3VyIHByb2plY3QuIFRoZSB1c2Ugb2YgRkFOWk9SIGVuaGFuY2VzIHRoZSBzcGVjaWZpY2l0eSBvZiBvdXIgZ2VuZS1lZGl0aW5nIGFwcHJvYWNoLCByZWR1Y2luZyB0aGUgbGlrZWxpaG9vZCBvZiBvZmYtdGFyZ2V0IGdlbmUgbW9kaWZpY2F0aW9ucy4gQWRkaXRpb25hbGx5LCB3ZSBhcmUgY29tbWl0dGVkIHRvIHJpZ29yb3VzIDxpPmluIHZpdHJvPC9pPiB0ZXN0aW5nIGJlZm9yZSBhZHZhbmNpbmcgdG8gPGk+aW4gdml2bzwvaT4gbW9kZWxzLCBlbnN1cmluZyB0aGF0IG91ciB0aGVyYXBldXRpYyBpbnRlcnZlbnRpb25zIGRvIG5vdCBwb3NlIHJpc2tzIHRvIHBhdGllbnRzLiBGb3IgdGhpcywgd2UgZGV2ZWxvcGVkIGFuIENGLXNwZWNpZmljIGZsdW9yZXNjZW5jZS1iYXNlZCBSZXBvcnRlciBTeXN0ZW0gbWltaWNraW5nIHRoZSBDRi1zcGVjaWZpYyBnZW5vbWljIGFsdGVyYXRpb24uIDwvcD5cbiAgICAgICAgICA8aDQ+VG8gd2hhdCBleHRlbnQgaGFzIHRoZSB0ZWFtIGNvbnNpZGVyZWQgcGF0aWVudCBpbXBhY3Q/IDwvaDQ+XG4gICAgICAgICAgPHA+V2UgaGF2ZSBjbG9zZWx5IGFsaWduZWQgb3VyIHByb2plY3Qgd2l0aCBwYXRpZW50IG5lZWRzIGJ5IHRhcmdldGluZyB0aGUgRjUwOGRlbCBtdXRhdGlvbiwgd2hpY2ggYWZmZWN0cyBhIHNpZ25pZmljYW50IHBvcnRpb24gb2YgQ0YgcGF0aWVudHMgd29ybGR3aWRlLiBPdXIgdGhlcmFwZXV0aWMgc29sdXRpb24gYWltcyB0byBpbXByb3ZlIHF1YWxpdHkgb2YgbGlmZSBieSBhZGRyZXNzaW5nIHRoZSByb290IGNhdXNlIG9mIENGIGFuZCByZWR1Y2luZyB0aGUgYnVyZGVuIG9mIGxpZmVsb25nIHRyZWF0bWVudHMuIFdlIGFyZSBhbHNvIGluIGNvbnRhY3Qgd2l0aCBDRiBwYXRpZW50cyBhbmQgaGF2ZSBnYXRoZXJlZCBpbnNpZ2h0cyBmcm9tIGhlYWx0aGNhcmUgcHJvdmlkZXJzIHRvIGVuc3VyZSBvdXIgdGhlcmFweSBpcyBwYXRpZW50LWNlbnRyaWMuIFByZUN5c2Ugb2ZmZXJzIGEgbG9uZy10aW1lIHNvbHV0aW9uLCB3aGlsZSBiZWluZyBjb3N0LWVmZmljaWVudCBhbmQgZWFzeS10by11c2UuIDwvcD5cbiAgICAgICAgICA8cD5PdXIgaW5ub3ZhdGl2ZSB0aGVyYXBldXRpYyBwcm9qZWN0IGxldmVyYWdlcyB0aGUgcG93ZXIgb2YgZ2VuZSBlZGl0aW5nIGFuZCBwcm90ZWluIG1vZHVsYXRpb24gdG8gb2ZmZXIgYSBwb3RlbnRpYWxseSBjdXJhdGl2ZSBzb2x1dGlvbiBmb3IgQ3lzdGljIEZpYnJvc2lzLCBwYXJ0aWN1bGFybHkgZm9yIHRoZSBwcmV2YWxlbnQgRjUwOGRlbCBtdXRhdGlvbi4gV2l0aCBhIHdlbGwtdmFsaWRhdGVkIHNjaWVudGlmaWMgZm91bmRhdGlvbiwgY29tcHJlaGVuc2l2ZSBzYWZldHkgbWVhc3VyZXMsIGFuZCBhIHN0cm9uZyBmb2N1cyBvbiBwYXRpZW50IG5lZWRzLCB3ZSBiZWxpZXZlIG91ciBwcm9qZWN0IGV4ZW1wbGlmaWVzIHRoZSBxdWFsaXRpZXMgZGVzZXJ2aW5nIG9mIHRoZSA8Yj5CZXN0IFRoZXJhcGV1dGljIFByb2plY3QgQXdhcmQ8L2I+LiBPdXIgZHVhbCBhcHByb2FjaCBwcm92aWRlcyBhIHRlbXBsYXRlIGZvciBmdXR1cmUgZ2VuZXRpYyBkaXNlYXNlIHRyZWF0bWVudHMsIHBhdmluZyB0aGUgd2F5IGZvciBtb3JlIGVmZmVjdGl2ZSBhbmQgcGVyc29uYWxpemVkIG1lZGljYWwgc29sdXRpb25zLiA8L3A+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJCZXN0IEludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VcIiBpZD1cIkJlc3QgSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZVwiPlxuICAgICAgICAgIDxwPk91ciB0ZWFtXHUyMDE5cyBwcm9qZWN0IGF0IEJpZWxlZmVsZC1DZUJpVGVjIGludGVncmF0ZXMgSHVtYW4gUHJhY3RpY2VzIGludG8gZXZlcnkgYXNwZWN0IG9mIG91ciB3b3JrLCBlbnN1cmluZyB0aGF0IG91ciBzeW50aGV0aWMgYmlvbG9neSBpbm5vdmF0aW9uIGFsaWducyB3aXRoIHNvY2lldGFsIG5lZWRzLCBldGhpY2FsIGNvbnNpZGVyYXRpb25zLCBhbmQgZW52aXJvbm1lbnRhbCBzdXN0YWluYWJpbGl0eS4gQnkgcHJvYWN0aXZlbHkgZW5nYWdpbmcgd2l0aCBhIGJyb2FkIHJhbmdlIG9mIHN0YWtlaG9sZGVycywgaW5jbHVkaW5nIHNjaWVudGlzdHMsIHJlZ3VsYXRvcnkgYm9kaWVzLCBhbmQgY29tbXVuaXR5IGdyb3Vwcywgd2Ugc2hhcGVkIG91ciBwcm9qZWN0IHRvIGhhdmUgbWVhbmluZ2Z1bCBhbmQgcmVzcG9uc2libGUgaW1wYWN0cy4gT3VyIGNvbW1pdG1lbnQgdG8gdW5kZXJzdGFuZGluZyB0aGUgYnJvYWRlciBpbXBsaWNhdGlvbnMgb2Ygb3VyIHdvcmsgcG9zaXRpb25zIHVzIGFzIGEgc3Ryb25nIGNhbmRpZGF0ZSBmb3IgdGhlIDxiPkJlc3QgSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXMgQXdhcmQ8L2I+LiA8L3A+XG4gICAgICAgICAgPGg0PkludGVncmF0aW9uIG9mIEh1bWFuIFByYWN0aWNlcyA8L2g0PlxuICAgICAgICAgIDxwPldlIGFjdGl2ZWx5IGVuZ2FnZWQgd2l0aCBhIGRpdmVyc2UgYXJyYXkgb2Ygc3Rha2Vob2xkZXJzIHRocm91Z2hvdXQgb3VyIHByb2plY3QsIGZyb20gQ0YgcGF0aWVudHMgbGlrZSBNYXggQmVja21hbm5bTGlua10gdG8gY2xpbmljaWFucyBzdWNoIGFzIFByb2YuIERyLiBPbGFyaXUgW0xpbmtdLCBwaHlzaW90aGVyYXBpc3RzIGxpa2UgS2F0cmluIFdlc3Rob2ZmIFtMaW5rXSwgYW5kIGluZHVzdHJ5IGV4cGVydHMgaW5jbHVkaW5nIERyLiBCZW5qYW1pbiBXaW5rZWxqYW5uIFtMaW5rXSBhbmQgRHIuIEthdGhhcmluYSBLb2xvbmtvIFtMaW5rXS4gRWFjaCBvZiB0aGVzZSBjb2xsYWJvcmF0aW9ucyBkaXJlY3RseSBpbmZvcm1lZCBhbmQgc2hhcGVkIG91ciB0aGVyYXBldXRpYyBzb2x1dGlvbi4gTWF4IEJlY2ttYW5uXHUyMDE5cyBmaXJzdGhhbmQgZXhwZXJpZW5jZSBwcm92aWRlZCB1cyB3aXRoIGludmFsdWFibGUgaW5zaWdodHMgaW50byB0aGUgZGFpbHkgY2hhbGxlbmdlcyBvZiBsaXZpbmcgd2l0aCBDRiwgaGVscGluZyB1cyBhbGlnbiBvdXIgZ2VuZSB0aGVyYXB5IHdpdGggcGF0aWVudCBuZWVkcy4gQWRkaXRpb25hbGx5LCBjbGluaWNpYW5zIGFuZCBwaHlzaW90aGVyYXBpc3RzIGd1aWRlZCB1cyB0b3dhcmQgYSB0cmVhdG1lbnQgc3RyYXRlZ3kgdGhhdCBpcyBwcmFjdGljYWwsIGFjY2Vzc2libGUsIGFuZCBlZmZlY3RpdmUgZm9yIGRpZmZlcmVudCBwYXRpZW50IGRlbW9ncmFwaGljcy4gPC9wPlxuICAgICAgICAgIDxoND5JbnNwaXJhdGlvbiB0byBPdGhlcnMgPC9oND5cbiAgICAgICAgICA8cD5PdXIgcHJvamVjdCBzZXJ2ZXMgYXMgYSBtb2RlbCBmb3IgaG93IHN5bnRoZXRpYyBiaW9sb2d5IGNhbiBiZSBsZXZlcmFnZWQgdG8gbWVldCByZWFsLXdvcmxkIG5lZWRzIHdoaWxlIG1haW50YWluaW5nIGEgcGF0aWVudC1jZW50ZXJlZCBmb2N1cy4gQnkgaW50ZWdyYXRpbmcgZmVlZGJhY2sgZnJvbSBwYXRpZW50cyBhbmQgbWVkaWNhbCBwcm9mZXNzaW9uYWxzLCB3ZSBkZW1vbnN0cmF0ZSB0aGF0IGN1dHRpbmctZWRnZSBzY2llbmNlIGNhbiBjb2V4aXN0IHdpdGggZW1wYXRoeSBhbmQgcmVzcG9uc2liaWxpdHkuIE91ciBmb2N1cyBvbiBpbmNsdXNpdml0eSwgc2NhbGFiaWxpdHksIGFuZCBhZGRyZXNzaW5nIGdsb2JhbCBkaXNwYXJpdGllcyBpbiBDRiB0cmVhdG1lbnQgc2V0cyBhIHByZWNlZGVudCBmb3IgZnV0dXJlIGlHRU0gdGVhbXMgbG9va2luZyB0byBtYWtlIGEgbWVhbmluZ2Z1bCBpbXBhY3Qgb24gaGVhbHRoIGNoYWxsZW5nZXMuIDwvcD5cbiAgICAgICAgICA8aDQ+RG9jdW1lbnRhdGlvbiBmb3IgRnV0dXJlIFRlYW1zIDwvaDQ+XG4gICAgICAgICAgPHA+V2UgaGF2ZSBtZXRpY3Vsb3VzbHkgZG9jdW1lbnRlZCBldmVyeSBhc3BlY3Qgb2Ygb3VyIEh1bWFuIFByYWN0aWNlcyBpbnRlZ3JhdGlvbiwgcHJvdmlkaW5nIGZ1dHVyZSB0ZWFtcyB3aXRoIGEgY2xlYXIgcm9hZG1hcCBmb3IgaG93IHRvIGluY29ycG9yYXRlIHN0YWtlaG9sZGVyIGZlZWRiYWNrIGludG8gYSB0aGVyYXBldXRpYyBwcm9qZWN0LiBUaGlzIGluY2x1ZGVzIGRldGFpbGVkIGNhc2Ugc3R1ZGllcyBvbiBvdXIgaW50ZXJhY3Rpb25zIHdpdGggQ0YgcGF0aWVudHMsIG1lZGljYWwgcHJvZmVzc2lvbmFscywgYW5kIGluZHVzdHJ5IGV4cGVydHMsIGFsb25nIHdpdGggdGhlIGFkanVzdG1lbnRzIG1hZGUgdG8gb3VyIHByb2plY3QgYmFzZWQgb24gdGhlaXIgaW5wdXQuIE91ciB0aG9yb3VnaCBkb2N1bWVudGF0aW9uIGVuc3VyZXMgdGhhdCBvdGhlcnMgY2FuIGxlYXJuIGZyb20gb3VyIGFwcHJvYWNoIGFuZCBidWlsZCB1cG9uIG91ciBmaW5kaW5ncy4gPC9wPlxuICAgICAgICAgIDxoND5UaG91Z2h0ZnVsIEltcGxlbWVudGF0aW9uIDwvaDQ+XG4gICAgICAgICAgPHA+T3VyIHByb2plY3QgaGFzIGJlZW4gZGVlcGx5IGluZm9ybWVkIGJ5IGV0aGljYWwsIGVudmlyb25tZW50YWwsIGFuZCBzb2NpZXRhbCBjb25zaWRlcmF0aW9ucy4gRm9yIGV4YW1wbGUsIG91ciBjb25zdWx0YXRpb24gd2l0aCBQcm9mLiBEci4gT2xhcml1IGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgbWVudGFsIGhlYWx0aCBpbiBDRiBjYXJlLCBsZWFkaW5nIHVzIHRvIGluY29ycG9yYXRlIHBzeWNob3NvY2lhbCBlbGVtZW50cyBpbnRvIG91ciB0aGVyYXB5IGRlc2lnbi4gQWRkaXRpb25hbGx5LCB3ZSBhbGlnbmVkIG91ciBzb2x1dGlvbiB3aXRoIGdsb2JhbCBoZWFsdGhjYXJlIGRpc3Bhcml0aWVzLCBlbnN1cmluZyBvdXIgZ2VuZSB0aGVyYXB5IGNhbiBiZW5lZml0IHVuZGVycmVwcmVzZW50ZWQgcG9wdWxhdGlvbnMuIFRocm91Z2ggZW5nYWdlbWVudCB3aXRoIHJlZ3VsYXRvcnkgYm9kaWVzLCB3ZSBlbnN1cmVkIHRoYXQgb3VyIHByb2plY3QgY29tcGxpZXMgd2l0aCBhbGwgcmVsZXZhbnQgYmlvc2FmZXR5IGFuZCBsZWdhbCBzdGFuZGFyZHMuIDwvcD5cbiAgICAgICAgICA8aDQ+SW5jb3Jwb3JhdGlvbiBvZiBEaXZlcnNlIFN0YWtlaG9sZGVyIFZpZXdzIDwvaDQ+XG4gICAgICAgICAgPHA+V2UgZW5nYWdlZCB3aXRoIGEgYnJvYWQgcmFuZ2Ugb2Ygc3Rha2Vob2xkZXJzLCBpbmNsdWRpbmcgcGF0aWVudHMsIGhlYWx0aGNhcmUgcHJvdmlkZXJzLCByZXNlYXJjaGVycywgYW5kIHJlZ3VsYXRvcnkgZXhwZXJ0cywgZW5zdXJpbmcgdGhhdCBlYWNoIHBlcnNwZWN0aXZlIHBsYXllZCBhIHJvbGUgaW4gc2hhcGluZyB0aGUgZmluYWwgdGhlcmFwZXV0aWMgc29sdXRpb24uIEZvciBpbnN0YW5jZSwgZmVlZGJhY2sgZnJvbSBwaHlzaW90aGVyYXBpc3QgS2F0cmluIFdlc3Rob2ZmIGNvbmZpcm1lZCB0aGUgbmVjZXNzaXR5IG9mIGFuIGluaGFsYXRpb24tYmFzZWQgdGhlcmFweSB0aGF0IGlzIGVhc3kgZm9yIHlvdW5nZXIgcGF0aWVudHMgdG8gdXNlLiBDb2xsYWJvcmF0aW9ucyB3aXRoIGluZHVzdHJ5IGV4cGVydHMgbGlrZSBEci4gQmVuamFtaW4gV2lua2VsamFubiBlbmFibGVkIHVzIHRvIG9wdGltaXplIHRoZSB0ZWNobmljYWwgYXNwZWN0cyBvZiBvdXIgdHJlYXRtZW50IGZvciBzY2FsYWJpbGl0eSBhbmQgZW52aXJvbm1lbnRhbCBzdXN0YWluYWJpbGl0eS4gPC9wPlxuICAgICAgICAgIDxoND5DcmVhdGluZyBhIFJlc3BvbnNpYmxlIGFuZCBCZW5lZmljaWFsIFByb2plY3QgPC9oND5cbiAgICAgICAgICA8cD5PdXIgZ2VuZSB0aGVyYXB5IGZvciBDRiBhZGRyZXNzZXMgbm90IG9ubHkgdGhlIHNjaWVudGlmaWMgY2hhbGxlbmdlcyBidXQgYWxzbyB0aGUgc29jaWV0YWwgbmVlZCBmb3IgYWNjZXNzaWJsZSwgcGF0aWVudC1jZW50ZXJlZCBoZWFsdGhjYXJlIHNvbHV0aW9ucy4gQnkgaW5jb3Jwb3JhdGluZyBodW1hbiBwcmFjdGljZXMgYXQgZXZlcnkgc3RhZ2UsIHdlIGVuc3VyZWQgdGhhdCBvdXIgcHJvamVjdCBpcyBldGhpY2FsbHkgcmVzcG9uc2libGUgYW5kIGJlbmVmaWNpYWwgdG8gc29jaWV0eS4gVGhlIGZlZWRiYWNrIGZyb20gZGl2ZXJzZSBzdGFrZWhvbGRlcnMgaGVscGVkIHVzIHJlZmluZSBvdXIgYXBwcm9hY2gsIGVuc3VyaW5nIHRoYXQgdGhlIHNvbHV0aW9uIGlzIHN1c3RhaW5hYmxlLCBpbmNsdXNpdmUsIGFuZCBhZGRyZXNzZXMgdGhlIGdsb2JhbCBkaXNwYXJpdGllcyBpbiBDRiBjYXJlLiBUaGUgbG9uZy10ZXJtIHBvc2l0aXZlIGltcGFjdCBvbiB0aGUgQ0YgY29tbXVuaXR5XHUyMDE0Ym90aCBpbiB0ZXJtcyBvZiBoZWFsdGggb3V0Y29tZXMgYW5kIGFjY2Vzc2liaWxpdHlcdTIwMTRkZW1vbnN0cmF0ZXMgb3VyIHByb2plY3RcdTIwMTlzIGNvbW1pdG1lbnQgdG8gcmVzcG9uc2libGUgaW5ub3ZhdGlvbi4gPC9wPlxuICAgICAgICAgIDxwPk91ciBwcm9qZWN0IGV4ZW1wbGlmaWVzIHRoZSBzZWFtbGVzcyBpbnRlZ3JhdGlvbiBvZiBIdW1hbiBQcmFjdGljZXMgaW50byBldmVyeSBhc3BlY3Qgb2Ygc3ludGhldGljIGJpb2xvZ3kgcmVzZWFyY2guIFRocm91Z2ggY29sbGFib3JhdGlvbnMgd2l0aCBwYXRpZW50cywgaGVhbHRoY2FyZSBwcm9mZXNzaW9uYWxzLCBhbmQgZXhwZXJ0cyBhY3Jvc3MgZGlmZmVyZW50IGZpZWxkcywgd2UgaGF2ZSBkZXZlbG9wZWQgYSBnZW5lIHRoZXJhcHkgZm9yIGN5c3RpYyBmaWJyb3NpcyB0aGF0IGlzIHNjaWVudGlmaWNhbGx5IGlubm92YXRpdmUsIGV0aGljYWxseSBzb3VuZCwgYW5kIGRlZXBseSBhbGlnbmVkIHdpdGggdGhlIG5lZWRzIG9mIHRoZSBnbG9iYWwgQ0YgY29tbXVuaXR5LiBPdXIgY29tbWl0bWVudCB0byBpbmNsdXNpdml0eSwgZXRoaWNhbCByZWZsZWN0aW9uLCBhbmQgZW52aXJvbm1lbnRhbCBzdXN0YWluYWJpbGl0eSBtYWtlcyB1cyBhIHN0cm9uZyBjYW5kaWRhdGUgZm9yIHRoZSA8Yj5CZXN0IEludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VzIEF3YXJkPC9iPiwgc2hvd2Nhc2luZyBvdXIgZGVkaWNhdGlvbiB0byByZXNwb25zaWJsZSBhbmQgaW1wYWN0ZnVsIHN5bnRoZXRpYyBiaW9sb2d5LiA8L3A+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJTYWZldHkgJiBTZWN1cml0eVwiIGlkPVwiU2FmZXR5ICYgU2VjdXJpdHlcIj5cbiAgICAgICAgICA8cD5PdXIgcHJvamVjdCBmb2N1c2VzIG9uIGFkdmFuY2luZyBiaW9zYWZldHkgYW5kIGJpb3NlY3VyaXR5IGluIHN5bnRoZXRpYyBiaW9sb2d5IHRocm91Z2ggdGhlIGRldmVsb3BtZW50IGFuZCBpbXBsZW1lbnRhdGlvbiBvZiByb2J1c3Qgc2FmZXR5IG1lY2hhbmlzbXMuIEFzIHBhcnQgb2Ygb3VyIFByZUN5c2UgcHJvamVjdCwgYWltZWQgYXQgZGV2ZWxvcGluZyBhIHByaW1lLWVkaXRpbmcgY29tcGxleCB0byBjb3JyZWN0IHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIGN5c3RpYyBmaWJyb3NpcyAoQ0YpLCB3ZSBwbGFjZSBncmVhdCBlbXBoYXNpcyBvbiBzYWZldHkgYXQgZXZlcnkgc3RhZ2Ugb2YgcmVzZWFyY2guIFdpdGggYSBjb21taXRtZW50IHRvIHJlc3BvbnNpYmxlIGlubm92YXRpb24sIHdlIGhhdmUgZW5zdXJlZCB0aGF0IGFsbCBwaGFzZXMgb2Ygb3VyIHdvcmsgYWRoZXJlIHRvIHRoZSBoaWdoZXN0IHNhZmV0eSBzdGFuZGFyZHMsIGFpbWluZyB0byBtaW5pbWl6ZSBib3RoIGVudmlyb25tZW50YWwgYW5kIGh1bWFuIGhlYWx0aCByaXNrcy4gT3VyIGFwcHJvYWNoIGluY29ycG9yYXRlcyBub3ZlbCBjb250YWlubWVudCBzeXN0ZW1zLCByaWdvcm91cyB2YWxpZGF0aW9uIHByb2Nlc3NlcywgYW5kIGNhcmVmdWxseSBwbGFubmVkIGNoZWNrcG9pbnRzIGR1cmluZyBleHBlcmltZW50cyB0byBwdXNoIHRoZSBib3VuZGFyaWVzIG9mIGJpb3NhZmV0eSBpbiBzeW50aGV0aWMgYmlvbG9neS4gPC9wPlxuICAgICAgICAgIDxoND5Db250cmlidXRpb24gdG8gQmlvc2FmZXR5IGFuZCBCaW9zZWN1cml0eSA8L2g0PlxuICAgICAgICAgIDxwPldlIGRldmVsb3BlZCBhIGNvbXByZWhlbnNpdmUgYmlvc2FmZXR5IHBsYW4gdG8gbWluaW1pemUgcmlza3MgYXNzb2NpYXRlZCB3aXRoIG91ciBzeW50aGV0aWMgYmlvbG9neSBwcm9qZWN0LiBUaGlzIGluY2x1ZGVzIGJpb2NvbnRhaW5tZW50IG1lYXN1cmVzIGFuZCBwcm90b2NvbHMgdG8gcHJldmVudCB0aGUgYWNjaWRlbnRhbCByZWxlYXNlIG9mIGdlbmV0aWNhbGx5IG1vZGlmaWVkIG9yZ2FuaXNtcyAoR01PcykgaW50byB0aGUgZW52aXJvbm1lbnQuIEJ5IGludGVncmF0aW5nIGJvdGggcGh5c2ljYWwgYW5kIGdlbmV0aWMgc2FmZWd1YXJkcywgd2UgaGF2ZSBlbnN1cmVkIHRoYXQgb3VyIHByb2plY3QgY29udHJpYnV0ZXMgdG8gc2FmZXIgc3ludGhldGljIGJpb2xvZ3kgYXBwbGljYXRpb25zLiBGb3IgZXhhbXBsZSwgb3VyIGZpbmFsIGNvbnN0cnVjdCB3aWxsIGJlIHRlc3RlZCBpbiBwcmltYXJ5IGN1bHR1cmVzIG9mIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgZnJvbSBDRiBwYXRpZW50cyBhbmQgaGVhbHRoeSBpbmRpdmlkdWFscywgd2l0aCBjYXJlZnVsbHkgcGxhbm5lZCBjaGVja3BvaW50cyBmb3IgY29udGludW91cyBtb25pdG9yaW5nIGFuZCB0aW1lbHkgYWRqdXN0bWVudHMuIDwvcD5cbiAgICAgICAgICA8cD5BcyBwYXJ0IG9mIG91ciBjb21taXRtZW50IHRvIGFkdmFuY2luZyBzYWZlIGFuZCBldGhpY2FsIHByYWN0aWNlcyBpbiBzeW50aGV0aWMgYmlvbG9neSBhbmQgcGF0aWVudCBjYXJlLCB3ZSBoYXZlIG1hZGUgc2V2ZXJhbCBrZXkgY29udHJpYnV0aW9ucyB0byBzdXBwb3J0IG91ciBwcm9qZWN0IGFuZCB0aGUgd2lkZXIgY29tbXVuaXR5LiBGaXJzdGx5LCB3ZSBkZXZlbG9wZWQgYSA8Yj5xdWVzdGlvbm5haXJlIHRvIGV2YWx1YXRlIHRoZSBtZWRpY2FsIGhpc3Rvcnkgb2YgY3lzdGljIGZpYnJvc2lzIChDRikgcGF0aWVudHM8L2I+LCB3aGljaCBoYXMgYmVlbiBzcGVjaWZpY2FsbHkgYWRhcHRlZCBmb3IgdGhlIGNvbGxlY3Rpb24gb2YgcHJpbWFyeSBodW1hbiBuYXNhbCBlcGl0aGVsaWFsIGNlbGxzIChoTkVDcykuIFRoaXMgdG9vbCBlbnN1cmVzIHRoYXQgZXNzZW50aWFsIGhlYWx0aCBpbmZvcm1hdGlvbiBpcyBnYXRoZXJlZCBpbiBhIHN5c3RlbWF0aWMgYW5kIGV0aGljYWwgbWFubmVyLCBhaWRpbmcgdGhlIGFjY3VyYXRlIGNvbGxlY3Rpb24gb2Ygc2FtcGxlcyB3aGlsZSBzYWZlZ3VhcmRpbmcgcGF0aWVudCB3ZWxsLWJlaW5nLiAgPC9wPlxuICAgICAgICAgIDxwPlNlY29uZGx5LCB3ZSBjcmVhdGVkIDxiPkJlc3QgUHJhY3RpY2VzIGZvciBzYWZlIHByaW1hcnkgY3VsdHVyZSBoYW5kbGluZzwvYj4uIFRoaXMgZ3VpZGUgb3V0bGluZXMgdGhlIG5lY2Vzc2FyeSBzYWZldHkgcHJvdG9jb2xzIGZvciB3b3JraW5nIHdpdGggcHJpbWFyeSBjZWxsIGN1bHR1cmVzLCBlbnN1cmluZyB0aGF0IGFsbCBwcm9jZWR1cmVzIGFyZSBjb25kdWN0ZWQgd2l0aCBtaW5pbWFsIHJpc2sgb2YgY29udGFtaW5hdGlvbiBhbmQgZXhwb3N1cmUgdG8gaGFybWZ1bCBwYXRob2dlbnMuIFRoZXNlIHByYWN0aWNlcyBwcm9tb3RlIHNhZmV0eSBmb3IgYm90aCBsYWJvcmF0b3J5IHBlcnNvbm5lbCBhbmQgdGhlIGludGVncml0eSBvZiB0aGUgYmlvbG9naWNhbCBtYXRlcmlhbHMuPC9wPlxuICAgICAgICAgIDxwPkFkZGl0aW9uYWxseSwgd2UgZGV2ZWxvcGVkIGEgPGI+SHlnaWVuZSBDb25jZXB0IGZvciBJbW11bm9jb21wcm9taXNlZCBJbmRpdmlkdWFsczwvYj4gaW4gY29uc3VsdGF0aW9uIHdpdGggYSBDRiBwYXRpZW50LiBUaGlzIGNvbmNlcHQgYWRkcmVzc2VzIHRoZSBzcGVjaWZpYyBuZWVkcyBvZiBpbmRpdmlkdWFscyB3aXRoIHdlYWtlbmVkIGltbXVuZSBzeXN0ZW1zLCBzdWNoIGFzIHRob3NlIHdpdGggQ0YsIEhJViwgb3IgY2VydGFpbiBjYW5jZXJzLiBJdCBmb2N1c2VzIG9uIHJlZHVjaW5nIGhlYWx0aCByaXNrcyBpbiBoaWdoLWZvb3QtdHJhZmZpYyBwdWJsaWMgc3BhY2VzLCBlc3BlY2lhbGx5IHB1YmxpYyByZXN0cm9vbXMsIGJ5IGltcGxlbWVudGluZyB0YWlsb3JlZCBoeWdpZW5lIG1lYXN1cmVzLiBUaGVzZSBndWlkZWxpbmVzIGFpbSB0byBwcm90ZWN0IGltbXVub2NvbXByb21pc2VkIGluZGl2aWR1YWxzIGJ5IGNyZWF0aW5nIHNhZmVyIGVudmlyb25tZW50cyB3aXRoaW4gdW5pdmVyc2l0eSBzZXR0aW5ncyBhbmQgYmV5b25kLCBjb250cmlidXRpbmcgdG8gYnJvYWRlciBwdWJsaWMgaGVhbHRoIGluaXRpYXRpdmVzLiA8L3A+XG4gICAgICAgICAgPGg0PkNoYXJhY3Rlcml6YXRpb24gYW5kIFZhbGlkYXRpb24gPC9oND5cbiAgICAgICAgICA8cD5XZSByaWdvcm91c2x5IHRlc3RlZCB0aGUgc2FmZXR5IG1lY2hhbmlzbXMgYnVpbHQgaW50byBvdXIgcHJvamVjdCBsaWtlIHRoZSBkaXNydXB0aW9uIG9mIHRoZSBQQU0gc2VxdWVuY2UgYW5kIHBlZ1JOQSBkZXNpZ24uIFRoZXNlIG1lY2hhbmlzbXMgd2VyZSB2YWxpZGF0ZWQgdGhyb3VnaCBjb250cm9sbGVkIGV4cGVyaW1lbnRzLCBlbnN1cmluZyByZWxpYWJsZSBwZXJmb3JtYW5jZSB1bmRlciB2YXJpb3VzIGNvbmRpdGlvbnMuIEZ1cnRoZXJtb3JlLCB0byBlbnN1cmUgdGhlIHNhZmV0eSBhbmQgcHJlY2lzaW9uIG9mIG91ciByZXN1bHRzLCB3ZSBpbnRyb2R1Y2VkIGEgc2VyaWVzIG9mIGNhcmVmdWxseSBwbGFubmVkIGV4cGVyaW1lbnRhbCBtaWxlc3RvbmVzLiBUaGVzZSBhbGxvdyBmb3IgdGhlIGNvbnRpbnVvdXMgdmFsaWRhdGlvbiBvZiB0aGUgUHJpbWUgRWRpdGluZyBjb21wbGV4LCBhZGRyZXNzaW5nIHBvdGVudGlhbCBpc3N1ZXMgaW1tZWRpYXRlbHksIHdoaWNoIG1pbmltaXplcyByaXNrIGFuZCBpbXByb3ZlcyB0aGUgb3ZlcmFsbCBxdWFsaXR5IG9mIG91ciB3b3JrLiA8L3A+XG4gICAgICAgICAgPGg0PkJ1aWxkaW5nIG9uIEV4aXN0aW5nIEtub3dsZWRnZSA8L2g0PlxuICAgICAgICAgIDxwPk91ciB3b3JrIGJ1aWxkcyB1cG9uIGVzdGFibGlzaGVkIGJpb3NhZmV0eSBmcmFtZXdvcmtzLCBzcGVjaWZpY2FsbHkgaW1wcm92aW5nIGtub3duIGdlbmV0aWMgY29udGFpbm1lbnQgc3lzdGVtcy4gV2UgaW5jb3Jwb3JhdGVkIGxlc3NvbnMgZnJvbSBwcmV2aW91cyBpR0VNIHRlYW1zIGFuZCBhY2FkZW1pYyByZXNlYXJjaCB0byByZWZpbmUgdGhlc2UgdG9vbHMsIG1ha2luZyB0aGVtIG1vcmUgZWZmZWN0aXZlIGluIGNvbnRyb2xsaW5nIGdlbmUgZmxvdyBhbmQgcmVkdWNpbmcgdW5pbnRlbmRlZCBjb25zZXF1ZW5jZXMuIEJ5IGRyYXdpbmcgZnJvbSB0aGUgZXhpc3Rpbmcga25vd2xlZGdlIGJhc2UsIHdlIGVuc3VyZWQgb3VyIGJpb3NhZmV0eSBtZWNoYW5pc21zLCBzdWNoIGFzIHJpYm9zd2l0Y2ggYW5kIFBBTSBkaXNydXB0aW9uLCBhcmUgYm90aCBzY2FsYWJsZSBhbmQgcmVsaWFibGUsIHNpZ25pZmljYW50bHkgYWR2YW5jaW5nIGJpb3NhZmV0eSB0ZWNobm9sb2dpZXMuIDwvcD5cbiAgICAgICAgICA8aDQ+UmlzayBNYW5hZ2VtZW50IDwvaDQ+XG4gICAgICAgICAgPHA+RnJvbSB0aGUgb3V0c2V0LCB3ZSBjb25kdWN0ZWQgYSB0aG9yb3VnaCByaXNrIGFzc2Vzc21lbnQgdG8gaWRlbnRpZnkgcG90ZW50aWFsIGhhemFyZHMsIGluY2x1ZGluZyB0aG9zZSBhc3NvY2lhdGVkIHdpdGggaGFuZGxpbmcgR01PcyBhbmQgZ2VuZSB0cmFuc2Zlci4gSW4gcmVzcG9uc2UsIHdlIGltcGxlbWVudGVkIHN0cmluZ2VudCBsYWIgcHJvdG9jb2xzIGFuZCBiaW9jb250YWlubWVudCBzeXN0ZW1zIHRvIGVuc3VyZSB0aGUgc2FmZXR5IG9mIG91ciB0ZWFtIGFuZCB0aGUgc3Vycm91bmRpbmcgZW52aXJvbm1lbnQuIFRoaXMgcmlzayBtYW5hZ2VtZW50IGFwcHJvYWNoIGV4dGVuZHMgdGhyb3VnaG91dCB0aGUgbGlmZWN5Y2xlIG9mIHRoZSBwcm9qZWN0LCBmcm9tIHRoZSBkZXNpZ24gdG8gdGhlIGZpbmFsIHZhbGlkYXRpb24gc3RhZ2VzLiBXZSBhbHNvIGFkaGVyZWQgdG8gZ29vZCBsYWJvcmF0b3J5IHByYWN0aWNlcywgc3VjaCBhcyBzdGVyaWxpemF0aW9uIGFuZCBjb250cm9sbGVkIGFjY2Vzcywgd2hpY2ggZW5zdXJlcyBjb21wbGlhbmNlIHdpdGggYWxsIHJlbGV2YW50IGJpb3NhZmV0eSByZWd1bGF0aW9ucy4gPC9wPlxuICAgICAgICAgIDxoND5SZWFsLVdvcmxkIEFwcGxpY2F0aW9ucyA8L2g0PlxuICAgICAgICAgIDxwPldlIGRlc2lnbmVkIG91ciBwcm9qZWN0IHdpdGggcmVhbC13b3JsZCBiaW9zYWZldHkgY29uY2VybnMgaW4gbWluZCwgcGFydGljdWxhcmx5IHRoZSBwb3RlbnRpYWwgZW52aXJvbm1lbnRhbCBpbXBhY3Qgb2YgR01Pcy4gT3VyIGFwcHJvYWNoIGVuc3VyZXMgdGhhdCBvdXIgdGVjaG5vbG9neSBjYW4gYmUgc2FmZWx5IGFwcGxpZWQgb3V0c2lkZSB0aGUgbGFiLCB3aXRoIGJpb2NvbnRhaW5tZW50IHN0cmF0ZWdpZXMgdGhhdCBwcmV2ZW50IHVuaW50ZW5kZWQgcmVsZWFzZS4gRm9yIGluc3RhbmNlLCBieSBkZXNpZ25pbmcgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykgdGhhdCBzZWxlY3RpdmVseSBmdXNlIHdpdGggbHVuZyBlcGl0aGVsaWFsIGNlbGxzLCB3ZSByZWR1Y2UgdGhlIHJpc2sgb2YgdW53YW50ZWQgb2ZmLXRhcmdldCBpbnRlcmFjdGlvbnMuIEFkZGl0aW9uYWxseSwgd2UgY29uc2lkZXJlZCBkdWFsLXVzZSBjb25jZXJucywgZW5zdXJpbmcgb3VyIHRlY2hub2xvZ3kgY2Fubm90IGJlIGVhc2lseSBtaXNhcHByb3ByaWF0ZWQgZm9yIGhhcm1mdWwgcHVycG9zZXMsIG1ha2luZyBvdXIgcHJvamVjdCBhIG1vZGVsIGZvciByZXNwb25zaWJsZSBzeW50aGV0aWMgYmlvbG9neS4gPC9wPlxuICAgICAgICAgIDxoND5DaGVjay1JbnMgYW5kIGlHRU0gQ29tcGxpYW5jZSA8L2g0PlxuICAgICAgICAgIDxwPkluIGFsaWdubWVudCB3aXRoIGlHRU1cdTIwMTlzIGVtcGhhc2lzIG9uIGJpb3NhZmV0eSwgd2Ugc3VibWl0dGVkIENoZWNrLUlucyBmb3IgdGhlIGNvbXBvbmVudHMgYW5kIG9yZ2FuaXNtcyBub3QgY292ZXJlZCBieSB0aGUgaUdFTSBXaGl0ZSBsaXN0LiBUaGVzZSBmb3JtYWwgZXZhbHVhdGlvbnMgZW5zdXJlZCB0aGF0IGFsbCBhc3BlY3RzIG9mIG91ciBwcm9qZWN0IHdlcmUgdGhvcm91Z2hseSBhc3Nlc3NlZCBhbmQgYXBwcm92ZWQgYnkgdGhlIGlHRU0gU2FmZXR5IENvbW1pdHRlZS4gV2UgbWFpbnRhaW5lZCBhY3RpdmUgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBjb21taXR0ZWUgdG8gZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBhbGwgaUdFTSBzdGFuZGFyZHMsIHJlZmxlY3Rpbmcgb3VyIGRlZGljYXRpb24gdG8gYmlvc2FmZXR5IGFuZCBiaW9zZWN1cml0eS4gPC9wPlxuICAgICAgICAgIDxoND5MYWJvcmF0b3J5IGFuZCBTYWZldHkgUHJhY3RpY2VzIDwvaDQ+XG4gICAgICAgICAgPHA+QWxsIGV4cGVyaW1lbnRzIHdlcmUgY29uZHVjdGVkIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5IGluIFByb2YuIERyLiBLcmlzdGlhbiBNXHUwMEZDbGxlcidzIGxhYm9yYXRvcnksIGZvbGxvd2luZyBCU0wtMSAoYW5kIEJTTC0yIGlmIG5lZWRlZCkgc3RhbmRhcmQgb3BlcmF0aW5nIHByb2NlZHVyZXMuIFRoZSB0ZWFtIHBhcnRpY2lwYXRlZCBpbiBtYW5kYXRvcnkgc2FmZXR5IGJyaWVmaW5ncyBhbmQgYWRoZXJlZCB0byByaWdvcm91cyBzYWZldHkgbWVhc3VyZXMsIGluY2x1ZGluZyByZWd1bGF0aW9ucyBjb25jZXJuaW5nIGhhemFyZG91cyBzdWJzdGFuY2VzLCBnZW5ldGljIGVuZ2luZWVyaW5nLCBhbmQgdGhlIGhhbmRsaW5nIG9mIGJpb2xvZ2ljYWwgbWF0ZXJpYWxzLiBPdXIgbGFiIGFjdGl2aXRpZXMgd2VyZSBtZXRpY3Vsb3VzbHkgcGxhbm5lZCB0byBtaW5pbWl6ZSByaXNrIGFuZCBlbnN1cmUgZGF0YSBpbnRlZ3JpdHkuIDwvcD5cbiAgICAgICAgICA8cD5CeSBidWlsZGluZyBvbiBleGlzdGluZyBrbm93bGVkZ2UsIHJpZ29yb3VzbHkgdGVzdGluZyBvdXIgYmlvc2FmZXR5IG1lYXN1cmVzLCBhbmQgcHJvYWN0aXZlbHkgbWFuYWdpbmcgcmlza3MsIHdlIGhhdmUgZGV2ZWxvcGVkIGEgcHJvamVjdCB0aGF0IHNpZ25pZmljYW50bHkgY29udHJpYnV0ZXMgdG8gdGhlIGZpZWxkIG9mIGJpb3NhZmV0eSBhbmQgYmlvc2VjdXJpdHkuIE91ciBjb21wcmVoZW5zaXZlIGFwcHJvYWNoIGVuc3VyZXMgdGhhdCBvdXIgdGVjaG5vbG9neSBjYW4gYmUgc2FmZWx5IGFwcGxpZWQgaW4gcmVhbC13b3JsZCBzY2VuYXJpb3MsIGFuZCB3ZSBiZWxpZXZlIHRoaXMgc2V0cyBhIG5ldyBzdGFuZGFyZCBmb3IgcmVzcG9uc2libGUgc3ludGhldGljIGJpb2xvZ3kuIE91ciBlZmZvcnRzLCBwYXJ0aWN1bGFybHkgaW4gdGhlIGRldmVsb3BtZW50IG9mIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXggZm9yIENGIGFuZCB0aGUgYXNzb2NpYXRlZCBiaW9zYWZldHkgcHJvdG9jb2xzLCBtZXJpdCByZWNvZ25pdGlvbiBmb3IgdGhlIDxiPkJpb3NhZmV0eSBhbmQgU2VjdXJpdHkgQXdhcmQ8L2I+LiA8L3A+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJCZXN0IE5ldyBCYXNpYyBQYXJ0XCIgaWQ9XCJCZXN0IE5ldyBCYXNpYyBQYXJ0XCI+XG4gICAgICAgICAgPHA+T3VyIHByb2plY3QgZm9jdXNlcyBvbiBvcHRpbWl6aW5nIHByaW1lIGVkaXRpbmcgZm9yIHRoZSBjeXN0aWMgZmlicm9zaXMtY2F1c2luZyBDRlRSIEY1MDhkZWwgbXV0YXRpb24sIHdoaWNoIHJlcHJlc2VudHMgb25lIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGFwcGxpY2F0aW9ucyBmb3IgcHJpbWUgZWRpdGluZy4gUHJpbWUgZWRpdGluZyBpcyBhIHByZWNpc2UgYW5kIHNhZmUgZ2VuZSBlZGl0aW5nIHRlY2huaXF1ZSwgYnV0IGl0cyBlZmZpY2llbmN5IHZhcmllcyBncmVhdGx5IGRlcGVuZGluZyBvbiB0aGUgZ2Vub21pYyBsb2N1cy4gVGhyb3VnaCBvdXIgZGV2ZWxvcG1lbnQgb2YgYSBjb250ZXh0LXNwZWNpZmljIFByaW1lIEVkaXRvciBBY3Rpdml0eSBSZXBvcnRlciAoUEVBUikgc3lzdGVtLCB3ZSBoYXZlIHN1Y2Nlc3NmdWxseSBvcHRpbWl6ZWQgdGhpcyBhZHZhbmNlZCB0ZWNobm9sb2d5LCBwYXZpbmcgdGhlIHdheSBmb3IgbW9yZSBlZmZlY3RpdmUgZ2Vub21pYyB0YXJnZXRpbmcsIG5vdCBqdXN0IGZvciBjeXN0aWMgZmlicm9zaXMgYnV0IGZvciBmdXR1cmUgc3ludGhldGljIGJpb2xvZ3kgYXBwbGljYXRpb25zIGFzIHdlbGwuIDwvcD5cbiAgICAgICAgICA8aDQ+IEVuZ2luZWVyaW5nIGFuZCBUZXN0aW5nIGZvciBDb250ZXh0dWFsIFByZWNpc2lvbiA8L2g0PlxuICAgICAgICAgIDxwPlRoZSBjaGFsbGVuZ2VzIHBvc2VkIGJ5IGxvdyBlZGl0aW5nIGVmZmljaWVuY3kgYW5kIHRoZSBkaWZmaWN1bHR5IGluIGRpc3Rpbmd1aXNoaW5nIHN1Y2Nlc3NmdWwgZWRpdHMgZnJvbSBiYWNrZ3JvdW5kIG5vaXNlIGxlZCB1cyB0byBkZXNpZ24gYSBoaWdobHkgc2Vuc2l0aXZlIHJlcG9ydGVyIHN5c3RlbS4gQWZ0ZXIgYW4gaW5pdGlhbCB1bnN1Y2Nlc3NmdWwgYXR0ZW1wdCB1c2luZyBhIGZsdW9yZXNjZW50IHJlcG9ydGVyLCB3ZSBzaGlmdGVkIHRvIHRoZSBQRUFSIHN5c3RlbSBwcm92ZWQgdG8gYmUgbXVjaCBtb3JlIGFkYXB0YWJsZSBhbmQgcmVsZXZhbnQgdG8gb3VyIG5lZWRzLiA8L3A+XG4gICAgICAgICAgPGg0Pkl0ZXJhdGl2ZSBEZXZlbG9wbWVudCA8L2g0PlxuICAgICAgICAgIDxwPkluIG91ciBmaXJzdCBhdHRlbXB0LCB3ZSBleHBsb3JlZCBhIGZsdW9yZXNjZW5jZS1iYXNlZCByZXBvcnRlciB0aGF0IHRhcmdldGVkIEdGUC4gV2hpbGUgdGhpcyBoZWxwZWQgdXMgdmlzdWFsaXplIHByaW1lIGVkaXRpbmcgaW4gYWN0aW9uLCB3ZSBxdWlja2x5IHJlYWxpemVkIHRoYXQgdGhlIGRpc3RhbmNlIG9mIHRoZSBtdXRhdGlvbiBzaXRlIGZyb20gdGhlIFBBTSBzZXF1ZW5jZSBpbiB0aGUgQ0ZUUiBnZW5lIG1lYW50IHRoYXQgdGhpcyBzeXN0ZW0gd2Fzblx1MjAxOXQgc3VpdGFibGUgZm9yIG91ciBzcGVjaWZpYyBnZW5vbWljIHRhcmdldC4gV2UgdGhlbiBtb3ZlZCB0byB0aGUgUEVBUiBzeXN0ZW0sIHdoaWNoIHdhcyBtb3JlIGZsZXhpYmxlIGFuZCBzZW5zaXRpdmUsIGFzIGl0cyBlZGl0aW5nIGZhY3RvcnMgYWxpZ25lZCB3aXRoIHRob3NlIHJlcXVpcmVkIGZvciBnZW5vbWljIGNvbnRleHRzLiA8L3A+XG4gICAgICAgICAgPHA+VGhyb3VnaCBtdWx0aXBsZSBpdGVyYXRpb25zLCBpbmNsdWRpbmcgdGVzdHMgaW4gSEVLMjkzIGNlbGxzLCBlcGl0aGVsaWFsIGNlbGxzLCBhbmQgaHVtYW4tZGVyaXZlZCBwcmltYXJ5IGNlbGxzLCB3ZSByZWZpbmVkIG91ciBzeXN0ZW0uIE91ciBleHBlcmltZW50cyBwcm92ZWQgdGhlIHN1Y2Nlc3NmdWwgdXNlIG9mIHRoZSBQRUFSIHJlcG9ydGVyIGluIGRldGVjdGluZyBwcmltZSBlZGl0aW5nIGFjdGl2aXR5IGZvciBDRlRSIEY1MDhkZWwgd2l0aCBtaW5pbWFsIG5vaXNlLCBtYWtpbmcgaXQgaWRlYWwgZm9yIGRldGVjdGluZyBlZGl0cyBpbiBzcGVjaWZpYyBnZW5vbWljIGxvY2kgd2l0aCBoaWdoIHNlbnNpdGl2aXR5LiA8L3A+XG4gICAgICAgICAgPGg0Pk1vZHVsYXJpdHkgYW5kIEJyb2FkZXIgQXBwbGljYXRpb25zIDwvaDQ+XG4gICAgICAgICAgPHA+UmVjb2duaXppbmcgdGhlIGxpbWl0YXRpb25zIG9mIHRoZSBvcmlnaW5hbCBQRUFSIHBsYXNtaWQsIGVzcGVjaWFsbHkgaW4gdGVybXMgb2YgbW9kaWZpY2F0aW9uIGZsZXhpYmlsaXR5IGFuZCBjb21wYXRpYmlsaXR5IHdpdGggQmlvQnJpY2sgc3RhbmRhcmRzLCB3ZSBjcmVhdGVkIGEgbW9yZSBtb2R1bGFyIGFuZCBhY2Nlc3NpYmxlIHN5c3RlbS4gT3VyIG5ldyB2ZXJzaW9uIGluY2x1ZGVzIGFuIG9saWdvbnVjbGVvdGlkZS1iYXNlZCBnb2xkZW4gZ2F0ZSBjbG9uaW5nIHNpdGUsIGVuYWJsaW5nIHF1aWNrIG1vZGlmaWNhdGlvbiBhbmQgYnJvYWRlciBhcHBsaWNhdGlvbnMgdG8gb3RoZXIgZ2Vub21pYyB0YXJnZXRzIGFuZCBwcmltZSBlZGl0b3IgdmFyaWFudHMuIDwvcD5cbiAgICAgICAgICA8cD5PdXIgdXBkYXRlZCBQRUFSIHN5c3RlbSBpcyBub3cgY29tcGF0aWJsZSB3aXRoIFJGQ1sxMDAwXSBzdGFuZGFyZHMsIG9mZmVyaW5nIGZ1dHVyZSBpR0VNIHRlYW1zIGEgdmVyc2F0aWxlIHRvb2wgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBhIHdpZGUgcmFuZ2Ugb2YgZWRpdGluZyBzY2VuYXJpb3MuIFRoaXMgaXMgbm90IG9ubHkgYSBzaWduaWZpY2FudCBhZHZhbmNlbWVudCBmb3IgQ0ZUUi1yZWxhdGVkIHJlc2VhcmNoIGJ1dCBhbHNvIGZvciBhbnkgZ2VuZSBlZGl0aW5nIHByb2plY3QgcmVxdWlyaW5nIGhpZ2ggcHJlY2lzaW9uIGFuZCBzZW5zaXRpdml0eS4gPC9wPlxuICAgICAgICAgIDxoND5Db250cmlidXRpb24gdG8gdGhlIFN5bnRoZXRpYyBCaW9sb2d5IENvbW11bml0eSA8L2g0PlxuICAgICAgICAgIDxwPldlIGJlbGlldmUgb3VyIHBhcnQgY29udHJpYnV0ZXMgc2lnbmlmaWNhbnRseSB0byB0aGUgc3ludGhldGljIGJpb2xvZ3kgY29tbXVuaXR5IGJ5IHByb3ZpZGluZyBhbiBvcHRpbWl6ZWQgc3lzdGVtIHRoYXQgY2FuIGJlIGVhc2lseSBhZGFwdGVkIHRvIHZhcmlvdXMgZ2VuZSBlZGl0aW5nIGNvbnRleHRzLiBCeSBpbXByb3ZpbmcgdGhlIG1vZHVsYXJpdHkgYW5kIGVhc2Ugb2YgdXNlLCB3ZSBhcmUgY29uZmlkZW50IHRoYXQgdGhpcyBwYXJ0IHdpbGwgYmUgYSB2YWx1YWJsZSB0b29sIGZvciBmdXR1cmUgdGVhbXMgbG9va2luZyB0byBvcHRpbWl6ZSB0aGVpciBvd24gcHJpbWUgZWRpdGluZyBhcHByb2FjaGVzLiA8L3A+XG4gICAgICAgICAgPHA+T3VyIHdvcmsgaGFzIGRlbW9uc3RyYXRlZCB0aGF0IHByaW1lIGVkaXRpbmcgY2FuIGJlIG1hZGUgbW9yZSBlZmZpY2llbnQgYW5kIHJlbGlhYmxlLCBlc3BlY2lhbGx5IGluIGRpZmZpY3VsdC10by1lZGl0IHJlZ2lvbnMgbGlrZSBDRlRSLiBUaHJvdWdoIHJpZ29yb3VzIHRlc3RpbmcgYW5kIHZhbGlkYXRpb24sIHdlIGVuc3VyZWQgdGhhdCBvdXIgcGFydCBtZWV0cyBoaWdoIHN0YW5kYXJkcyBmb3IgYm90aCBleHBlcmltZW50YWwgcmVsaWFiaWxpdHkgYW5kIGNvbW11bml0eSB1dGlsaXR5LiBBcyBhIHJlc3VsdCwgd2UgcG9zaXRpb24gb3Vyc2VsdmVzIGFzIHN0cm9uZyBjYW5kaWRhdGVzIGZvciB0aGUgPGI+QmVzdCBOZXcgQmFzaWMgUGFydCBBd2FyZDwvYj4uPC9wPlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiQ29uY2x1c2lvblwiIGlkPVwiQ29uY2x1c2lvblwiPlxuICAgICAgICAgIDxwPkluIGNvbmNsdXNpb24sIG91ciBwcm9qZWN0IGV4ZW1wbGlmaWVzIHRoZSBiZXN0IG9mIHN5bnRoZXRpYyBiaW9sb2d5LCBjb21iaW5pbmcgY3V0dGluZy1lZGdlIHNjaWVuY2Ugd2l0aCBldGhpY2FsIHJlc3BvbnNpYmlsaXR5IGFuZCBhIGRlZXAgXG4gICAgICAgICAgICBjb21taXRtZW50IHRvIHNvY2lldGFsIGltcGFjdC4gQnkgaW50ZWdyYXRpbmcgaHVtYW4gcHJhY3RpY2VzIGludG8gZXZlcnkgc3RhZ2Ugb2Ygb3VyIHdvcmssIGVuc3VyaW5nIHRoZSBoaWdoZXN0IHN0YW5kYXJkcyBvZiBiaW9zYWZldHksIGFuZCBjb250cmlidXRpbmcgXG4gICAgICAgICAgICB2YWx1YWJsZSB0b29scyB0byB0aGUgY29tbXVuaXR5LCB3ZSBoYXZlIHNldCBhIG5ldyBzdGFuZGFyZCBmb3IgaW5ub3ZhdGlvbiBpbiB0aGUgZmllbGQuIE91ciB0aGVyYXBldXRpYyBhcHByb2FjaCBmb3IgY3lzdGljIGZpYnJvc2lzIGhhcyB0aGUgcG90ZW50aWFsIFxuICAgICAgICAgICAgdG8gcmV2b2x1dGlvbml6ZSB0cmVhdG1lbnQgZm9yIHRoaXMgbGlmZS10aHJlYXRlbmluZyBjb25kaXRpb24sIHdoaWxlIG91ciBjb250cmlidXRpb25zIHRvIGJpb3NhZmV0eSBhbmQgcGFydCBkZXZlbG9wbWVudCB3aWxsIGJlbmVmaXQgdGhlIGJyb2FkZXIgXG4gICAgICAgICAgICBzeW50aGV0aWMgYmlvbG9neSBlY29zeXN0ZW0uIFdlIGFyZSBjb25maWRlbnQgdGhhdCBvdXIgcHJvamVjdCBpcyBkZXNlcnZpbmcgb2YgcmVjb2duaXRpb24gaW4gbXVsdGlwbGUgYXdhcmQgY2F0ZWdvcmllcywgaW5jbHVkaW5nIDxiPkJlc3QgVGhlcmFwZXV0aWMgUHJvamVjdDwvYj4sIDxiPkJlc3QgSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXM8L2I+LCA8Yj5CaW9zYWZldHkgYW5kIFNlY3VyaXR5PC9iPiwgYW5kIDxiPkJlc3QgTmV3IEJhc2ljIFBhcnQ8L2I+LiBUaHJvdWdoIG91ciB3b3JrLCB3ZSBob3BlIHRvIGluc3BpcmUgZnV0dXJlIGlHRU0gdGVhbXMgdG8gcHVyc3VlIHNvbHV0aW9ucyB0aGF0IGFyZSBib3RoIHNjaWVudGlmaWNhbGx5IGV4Y2VsbGVudCBhbmQgc29jaWFsbHkgcmVzcG9uc2libGUuIDwvcD5cbiAgICAgICAgPC9TZWN0aW9uPlxuXG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4gICIsICJpbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gSlVER0VIKCkge1xuXG4gICAgcmV0dXJuIChcbiAgICAgIFxuICAgICAgPEhlYWRlckJveCB0aXRsZT1cIkp1ZGdpbmdcIiBpZD1cImp1Z2hlYWRcIj5cbiAgICAgICAgXG4gICAgICA8L0hlYWRlckJveD5cbiAgICApO1xuICB9IiwgIlxuaW1wb3J0IHsgQmx1ZUluZm9Cb3gsIEJ1bGJCb3gsIEluZm9Cb3gsIE5vdGVCb3gsIFFhQm94LCBXYXJuQm94IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQm94ZXNcIjtcbmltcG9ydCB7IEJGSE1vcmVCdXR0b24sIEJ1dHRvbk9uZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCBDb2xsYXBzaWJsZSBmcm9tIFwiLi4vY29tcG9uZW50cy9Db2xsYXBzaWJsZVwiO1xuaW1wb3J0IFBpZUNoYXJ0LCB7IEhvd09mdGVuVHJlYXRtZW50YXRpZW50cywgTW9yZUluZm9PblRoZXJhcHlCb3RoLCBPcGVuVG9HZW5lVGhlcmFweWF0aWVudHMgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9HcmFwaFwiO1xuaW1wb3J0IEgxLCB7IEgyLCBIMywgSGhpZ2hsaWdodCwgSGhvcHAsIEhzbW9rZSwgSHNwb2lsZXIsIEh3YXZlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IExvcmVtTWVkaXVtLCBMb3JlbVNob3J0IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvTG9yZW1pcHN1bVwiO1xuaW1wb3J0IFNpbXBsZVNsaWRlciBmcm9tIFwiLi4vY29tcG9uZW50cy9TbGlkZXJcIjtcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCYXIsIERvdWdobnV0LCBQb2xhckFyZWEgfSBmcm9tICdyZWFjdC1jaGFydGpzLTInO1xuaW1wb3J0IHsgQ2hhcnQgYXMgQ2hhcnRKUywgVG9vbHRpcCwgTGVnZW5kLCBCYXJFbGVtZW50LCBDYXRlZ29yeVNjYWxlLCBMaW5lYXJTY2FsZSwgVGl0bGUsIFJhZGlhbExpbmVhclNjYWxlIH0gZnJvbSAnY2hhcnQuanMnO1xuLyogaW1wb3J0IFByb3RlaW5WaWV3ZXIgZnJvbSAnLi4vY29tcG9uZW50cy9GYW56b3J2aWV3ZXIudHN4JzsgKi9cbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvbi50c3hcIjtcblxuXG5DaGFydEpTLnJlZ2lzdGVyKFxuICAgIENhdGVnb3J5U2NhbGUsXG4gICAgUmFkaWFsTGluZWFyU2NhbGUsXG4gICAgTGluZWFyU2NhbGUsXG4gICAgQmFyRWxlbWVudCxcbiAgICBUaXRsZSxcbiAgICBUb29sdGlwLFxuICAgIExlZ2VuZFxuICApO1xuICBcbmV4cG9ydCBmdW5jdGlvbiBFeGFtcGxlKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG5cbiAgICBcbnsvKiAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGgxPlByb3RlaW4gU3RydWN0dXJlIFZpZXdlcjwvaDE+XG4gICAgICAgICAgICA8UHJvdGVpblZpZXdlci8+XG4gICAgICAgICAgPC9kaXY+ICovfVxuICAgICAgIFxuICAgICAgPGgxPiBIZXJlIHlvdSBjYW4gc2VlIHdoYXQgd2UgY2FuIHVzZTwvaDE+XG4gICAgICA8aDI+Q29sbGFwaXNibGVzPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8ZGV0YWlscz5cbiAgICAgICAgICAgICAgICA8c3VtbWFyeT5FeHBhbmQgbWU8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgPExvcmVtTWVkaXVtPjwvTG9yZW1NZWRpdW0+XG4gICAgICAgICAgICA8L2RldGFpbHM+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiVGl0bGVcIiBpZD1cImNvbGxhcHNpYmxlXCI+IDxMb3JlbU1lZGl1bT48L0xvcmVtTWVkaXVtPjwvQ29sbGFwc2libGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8SG93T2Z0ZW5UcmVhdG1lbnRhdGllbnRzLz5cbiAgICAgICAgPE9wZW5Ub0dlbmVUaGVyYXB5YXRpZW50cy8+XG4gICAgICAgIDxNb3JlSW5mb09uVGhlcmFweUJvdGgvPlxuICAgICAgPC9kaXY+XG4gICAgPGgyPkJveGVzPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8SW5mb0JveCB0aXRsZT1cIkluZm9Cb3hcIiBpZD1cImJveGlkXCI+PExvcmVtU2hvcnQ+PC9Mb3JlbVNob3J0PjwvSW5mb0JveD5cbiAgICAgICAgICAgIDxCbHVlSW5mb0JveCB0aXRsZT1cIkJsdWVJbmZvQm94XCI+PExvcmVtU2hvcnQ+PC9Mb3JlbVNob3J0PjwvQmx1ZUluZm9Cb3g+XG4gICAgICAgICAgICA8Tm90ZUJveCB0aXRsZT1cIk5vdGVCb3hcIiBpZD1cIm5vdGVib3hcIj48TG9yZW1TaG9ydD48L0xvcmVtU2hvcnQ+PC9Ob3RlQm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxXYXJuQm94IHRpdGxlPVwiV2FybkJveFwiPjxMb3JlbVNob3J0PjwvTG9yZW1TaG9ydD48L1dhcm5Cb3g+XG4gICAgICAgICAgICA8QnVsYkJveCB0aXRsZT1cIkJ1bGJCb3hcIj48TG9yZW1TaG9ydD48L0xvcmVtU2hvcnQ+PC9CdWxiQm94PlxuICAgICAgICAgICAgPFFhQm94IFxuICAgICAgICAgICAgcT1cIkEgcXVlc3Rpb24gb3Igc2VudGVuY2UuXCIgXG4gICAgICAgICAgICBhPVwiQW4gYW5zd2VyIG9yIHNlbnRlbmNlXCIvPiBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxoMj5IZWFkaW5nczwvaDI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8SDEgdGV4dD1cIkgxXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgIDxIMiB0ZXh0PVwiSDJcIiBpZD1cInRleHRcIiAvPlxuICAgICAgICA8SDMgdGV4dD1cIkgzXCIgaWQ9XCJ0ZXh0XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxIc21va2UgdGV4dD1cIkhzbW9rZVwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICA8SGhvcHAgdGV4dD1cIkhob3BwXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgIDxIaGlnaGxpZ2h0PiBIaWdobGlnaHQ8L0hoaWdobGlnaHQ+ICAgICAgICAgICAgICBcbiAgICAgICAgPEhzcG9pbGVyPiAgSHNwb2lsZXIgPC9Ic3BvaWxlcj5cbiAgICAgICAgPEh3YXZlIHRleHQ9XCJId2F2ZVwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzTmFtZT1cInVuZGVybGluZS0tbWFnaWNhbFwiPlByZUN5c2U8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8aDI+QnV0dG9uczwvaDI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiVGhlIFB1YmxpY1wiIG9wZW49XCJwdWJzXCIgb3BlbmNsYXNzPVwic3ViY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCRkhNb3JlQnV0dG9uIGl0PVwiaWQgb2YgcGFydCB0byBiZSBvcGVuZWRcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJ0YWJsaW5rcyBQYXRpZW50IGhwLW1vcmUtYnV0dG9uXCIgPiBTb21ldGhpbmcgPC9idXR0b24+XG4gXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8aDI+R3JhcGhzPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8UGllQ2hhcnQ+PC9QaWVDaGFydD5cbiAgICAgICAgICAgIDxEb3VnaG51dENoYXJ0PjwvRG91Z2hudXRDaGFydD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8QmFyQ2hhcnRUd29TZXRzPjwvQmFyQ2hhcnRUd29TZXRzPlxuICAgICAgICAgICAgPEJhckNoYXJ0PjwvQmFyQ2hhcnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJhckNoYXJ0VmVydGljYWw+PC9CYXJDaGFydFZlcnRpY2FsPlxuICAgICAgICAgICAgPFBvbGFyQ2hhcnQ+PC9Qb2xhckNoYXJ0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGgyPkJveGVzPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJleGFtcGxlXCI+RXhlcmNpc2VzPC9oMz5cbiAgICAgICAgICAgIDxpPjxoNj5CeSBZb3VyIG5hbWU8L2g2PjwvaT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1leGVyY2lzZVwiPlxuICAgICAgICAgICAgICAgIDxwPiBBbGwgY29tcG9uZW50cyBzaG91bGQgYmUgaW4gdGhpcyBmaWxlLiBUaGUgZXh0cmEgY3NzIGhhcyB0byBiZSBwdXQgaW50byBleGFwbWxlLmNzcy4gVHVybiB0byBMaWxpYW5hIGlmIHlvdSBuZWVkIG9yIHdhbnQgYSBzY3NzIGZpbGUsIHRvby48L3A+XG4gICAgICAgICAgICAgICAgPHA+VGhlIGNvZGUgeW91IGNyZWF0ZSBzaG91bGQgYmUgaW4gdGhlIHJlc3BlY3RpdmUgY29sdW1ucyB3aGVyZSB0aGUgYXNzaWdubWVudHMgYXJlLCBpZiBub3Qgc3RhdGVkIG90aGVyd2lzZS4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPldyaXRlIGRvd24gaG93IHlvdSBkaWQgaXQgaW4gdGhlIGRvY3VtZW50YXRpb24tYm94IGFzIGEgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIG90aGVycy4gVXNlIHRoZSBEb2N1LUJvYyBjb21wb25lbnQgZm9yIHRoYXQuWW91IGhhdmUgdG8gYWRkIGl0IHRvIHlvdXIgYXhlcmNpc2UgYmxvY2sgbWFudWFsbHkuIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPERvY3VCb3g+XG4gICAgICAgICAgICAgICAgPHA+SSB3cm90ZSBhIHRleHQuPC9wPlxuICAgICAgICAgICAgPC9Eb2N1Qm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj48aDQ+TGlzdHM8L2g0PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj4gPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWVhc3ktdGFnXCI+RWFzeTwvZGl2PjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aT48aDY+QnkgPC9oNj48L2k+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZXhlcmNpc2VcIj5cbiAgICAgICAgICAgICAgICA8cD5hLiBDcmVhdGUgYSBudW1iZXJlZCBsaXN0IG9mIGZydWl0cy4gRml2ZSBpdGVtcyBhcmUgZW5vdWdoLiBVc2UgdGhlIEhUTUwgbGlzdCBlbGVtZW50LjwvcD4gXG4gICAgICAgICAgICAgICAgPHA+Yi4gQ3JlYXRlIGEgc2Vjb25kIGNvbHVtbiBuZXh0IHRvIHRoZSBvbmUgd2l0aCB0aGUgZnJ1aXQgbGlzdCB0aGF0IGNvbnRhaW5zIGEgYnV0dG9uLiA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoci8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PlBpY3R1cmU8L2g0PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZWFzeS10YWdcIj5FYXN5PC9kaXY+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpPjxoNj5CeSA8L2g2PjwvaT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1leGVyY2lzZVwiPlxuICAgICAgICAgICAgICAgIDxwPmEuIEluc2VydCBhIGNlbnRlcmVkIHBpY3R1cmUgb2YgU2luYW4gaGVyZS4gSXQgc2hvdWxkIGJlIGhhbGYgYXMgd2lkZSBhcyB0aGUgY29sdW1uIGFuZCBoYXZlIGEgZG90dGV0IGZyYW1lIGluIG91ciBwdXJwbGUuPC9wPlxuICAgICAgICAgICAgICAgIDxwPmIuIFdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgcGljdHVyZSwgaXQgc2hvdWxkIHR1cm4gYmxhY2sgYW5kIHdoaXRlLiA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoci8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PlBpY3R1cmUgU2xpZGVyPC9oND48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+PGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWVhc3ktdGFnXCI+RWFzeTwvZGl2PjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aT48aDY+QnkgPC9oNj48L2k+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZXhlcmNpc2VcIj48L2Rpdj5cbiAgICAgICAgICAgIDxwPiBBZGQgYSBkdW1teSBzcG9uc29yIHRvIHRoaXMgc2xpZGVyLjwvcD5cbiAgICAgICAgICAgIDxTaW1wbGVTbGlkZXI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL2J0cy1ldi5kZS9cIj5cbiAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvclwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2J0cy5wbmdcIi8+XG4gICAgICAgICAgICA8L2E+IFxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cudW5pLWJpZWxlZmVsZC5kZS9mYWt1bHRhZXRlbi90ZWNobmlzY2hlLWZha3VsdGFldC9hcmJlaXRzZ3J1cHBlbi9tdWx0aXNjYWxlLWJpb2VuZ2luZWVyaW5nL2NhbXB1c2JyYXVlcmVpL1wiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY2FtcHVzLWJyYXVlcmVpLWhpbnRlcmxlZ3QuanBlZ1wiLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cInd3dy5pZHRkbmEuY29tXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3JcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9pZHQtbG9nby5wbmdcIj48L2ltZz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LmNlYml0ZWMudW5pLWJpZWxlZmVsZC5kZS9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3JcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9jZWJpdGVjLWZhcmJlLnBuZ1wiLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L1NpbXBsZVNsaWRlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoci8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PkV4ZXJjaXNlIGJveDwvaDQ+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMVwiPjxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1tZWRpdW0tdGFnXCI+TWVkaXVtPC9kaXY+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpPjxoNj5CeSA8L2g2PjwvaT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1leGVyY2lzZVwiPlxuICAgICAgICAgICAgICAgIDxwPkNyZWF0ZSBhIGJveCB0aGF0IGRpZmZlcnMgaW4gbG9va3MgZnJvbSB0aGUgcmVzdCBvZiB0aGUgc2l0ZSBhbmQgZW1waGF6aXNlcyBpdCBjb250YWlucyBhbiBhc3NpZ25tZW50LiA8L3A+XG4gICAgICAgICAgICAgICAgPHA+QXJjaGlldmUgdGhpcyBlZmZlY3QgYnkgdXNpbmcgYmFja2dyb3VuZCwgc2hhZG93LCBib3JkZXIgYW5kL29yIG90aGVyIGNzcyBlZmZlY3RzIG9uIHRoZSBjbGFzcyBcImV4YW1wbGUtZXhlcmNpc2VcIi4gVGhlIGJveCBzaG91bGQgYmUgYWVzdGV0aWNhbGx5IHBsZWFzaW5nIHVubGlrZSB0aGUgZG9jdW1lbnRhdGlvbiBib3guIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj48aDQ+UERGPC9oND48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+PGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLW1lZGl1bS10YWdcIj5NZWRpdW08L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+PC9kaXY+XG4gICAgICAgICAgICA8cD5hLiBJbnNlcnQgYSBwZGYgdXNpbmcgb3VyIFBERiBjb21wb25lbnQuPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PiBTbWFydHBob25lIGNvbXBhdGliaWxpdHk8L2g0PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTEgXCI+PGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLW1lZGl1bS10YWdcIj5NZWRpdW08L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8cD4gQ3JlYXRlIGEgc2ltcGxlIGJveCB0aGF0IGhhcyBhIGRpZmZlcmVudCBiYWNrZ3JvdW5kIGNvbG9yIHdoZW4gdGhlIHdlYnNpdGUgaXMgdXNlZCBvbiBhIHNtYXJ0cGhvbmUgKHNjcmVlbiB3aWR0aCA3NjhweCBvciBzbWFsbGVyKS4gIDwvcD5cbiAgICAgICAgICAgIDxwPiBVc2UgQG1lZGlhIHJ1bGVzIGZvciB0aGF0LjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjxoND5Db2xsYXBzaWJsZTwvaDQ+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMSBcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtbWVkaXVtLXRhZ1wiPk1lZGl1bTwvZGl2PjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aT48aDY+QnkgPC9oNj48L2k+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxwPiBhLiBVc2Ugb3VyIENvbGxhcHNpYmxlIGNvbXBvbmVudCB0byBjcmVhdGUgYSBjb2xsYXBzaWJsZS48L3A+XG4gICAgICAgICAgICA8cD4gYi4gVGhlIGNvbGxhcHNpYmxlIHNob3VsZCBjb250YWluIHRocmVlIGNpcmNsZXMgd2l0aCBhIGZldyB3b3JkcyBpbiBhIHJvdyAob3VyIENpcmNsZSBjb21wb25lbnQpIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjxoND5IZWFkZXI8L2g0PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtYWR2YW5jZWQtdGFnXCI+QWR2YW5jZWQ8L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8cD5hLiBDcmVhdGUgYSBoZWFkZXIgZmlsZSBmb3IgdGhpcyBwYWdlLiBJdCBoYXMgdG8gYmUgdmlzaWJsZSBhbmQgdGhlcmVmb3JlIGJlIGFkZGVkIHRvIHBhZ2VzLnRzPC9wPlxuICAgICAgICAgICAgPHA+Yi4gQWRkIHRoaXMgcGFnZSB0byB0aGUgbmF2YmFyIHVuZGVyIFwiQ29udHJ1YnV0aW9uXCIuIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PkNoYXJ0IHdpdGggVmljdG9yeTwvaDQ+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMSBcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtYWR2YW5jZWQtdGFnXCI+QWR2YW5jZWQ8L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8cD5DcmVhdGUgYSBzaW1wbGUgYmFyIENoYXJ0IHdpdGggUmVhY3QtQ2hhcnRzLCB1c2luZyB0aGVpciA8YSBocmVmPVwiaHR0cHM6Ly9tdWkuY29tL3gvcmVhY3QtY2hhcnRzL1wiPiBkb2N1bWVudGF0aW9uPC9hPiAgYW5kIGR1bW15IGRhdGEgb2YgeW91ciBjaG9pY2UuIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PiBTaW1wbGUgUmVhY3QgQ29tcG9uZW50PC9oND48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xIFwiPjxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1hZHZhbmNlZC10YWdcIj5BZHZhbmNlZDwvZGl2PjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aT48aDY+QnkgPC9oNj48L2k+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxwPiBDcmVhdGUgYSByZWFjdCBjb21wb25lbnQgdGhhdCB0YWtlcyBIVE1MLCBhIGxpbmsgdG8gYSBwaWN0dXJlLCBhIG51bWJlciBhbmQgYSB3b3JkIGFzIGlucHV0IGFuZCByZXR1cm4gdGhlIGNvZGUgaW4gYSBib3ggd2l0aCB0aGUgd29yZCBhcyBhIGhlYWRlci4gVGhlIHBpY3R1cmUgYW5kIG90aGVyIGNvZGUgc2hvdWxkIGJlIGluIHR3byBjb2x1bW5zIG5leHQgdG8gZWFjaCBvdGhlciwgdW5kZXIgdGhlIGhlYWRlci4gVGhlIG51bWJlciBzaG91bGQgYmUgbXVsdGlwbGllZCBieSAyIGFuZCB0aGVuIHNob3duIHNvbWV3aGVyZSB3aXRoIHRoZSBvdGhlciBwYXJ0cy48L3A+XG4gICAgICAgICAgICA8cD4gU2VlIERvY3VCb3ggY29tcG9uZW50LiAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aHIvPiAgXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBleGVyY2lzZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj48aDQ+IDwvaDQ+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMSBcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZWFzeS10YWdcIj48L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8cD4gPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aHIvPiBcblxuICAgICAgICBcblxuXG4gICAgICA8Lz5cbiAgICApO1xuICB9XG5cblxuICBleHBvcnQgZnVuY3Rpb24gRG9jdUJveCh7Y2hpbGRyZW59OiB7Y2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICAgIHJldHVybihcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1kb2N1XCI+XG4gICAgICAgICAgICA8aDU+RG9jdW1lbnRhdGlvbjogPC9oNT5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC8+XG4gICAgKVxuICB9XG4gIFxuXG4gIGNvbnN0IEJhckNoYXJ0VHdvU2V0czogUmVhY3QuRkMgPSAoKSA9PiB7XG4gICAgY29uc3QgbGFiZWxzID0gWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknXTtcblxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIGxhYmVscyxcbiAgICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ0RhdGFzZXQgMScsXG4gICAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAgICAgMC4wMDQ4NTgwMDAwMDAwMDAwMDEsXG4gICAgICAgICAgICAgICAgMC4wMDA4ODU5OTk5OTk5OTk5OTk3LFxuICAgICAgICAgICAgICAgIDAuNzI2NDE3OTk5OTk5OTk3MixcbiAgICAgICAgICAgICAgICAwLjIzODQxNTk5OTk5OTk5OTUsXG4gICAgICAgICAgICAgICAgMC4wMDM3MDMsXG4gICAgICAgICAgICAgICAgMC4yMzg0MTU5OTk5OTk5OTk1LFxuICAgICAgICAgICAgICAgIDAuMDAzNzAzXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDI1NSwgOTksIDEzMiwgMC41KScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ0RhdGFzZXQgMicsXG4gICAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAgICAgMC4wMDQ4NTgwMDAwMDAwMDAwMDEsXG4gICAgICAgICAgICAgICAgMC4wMDA4ODU5OTk5OTk5OTk5OTk3LFxuICAgICAgICAgICAgICAgIDAuNzI2NDE3OTk5OTk5OTk3MixcbiAgICAgICAgICAgICAgICAwLjIzODQxNTk5OTk5OTk5OTUsXG4gICAgICAgICAgICAgICAgMC4wMDM3MDMsXG4gICAgICAgICAgICAgICAgMC4yMzg0MTU5OTk5OTk5OTk1LFxuICAgICAgICAgICAgICAgIDAuMDAzNzAzXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDUzLCAxNjIsIDIzNSwgMC41KScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgICAgcGx1Z2luczoge1xuICAgICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgICAgcG9zaXRpb246ICd0b3AnIGFzIGNvbnN0LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICB0ZXh0OiAnQmFyQ2hhcnRUd29TZXRzJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFyLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgQmFyQ2hhcnQ6IFJlYWN0LkZDID0gKCkgPT4ge1xuICAgIGNvbnN0IGxhYmVscyA9IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5J107XG5cbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICBsYWJlbHMsXG4gICAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdEYXRhc2V0IDEnLFxuICAgICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgICAgIDAuMDA0ODU4MDAwMDAwMDAwMDAxLFxuICAgICAgICAgICAgICAgIDAuMDAwODg1OTk5OTk5OTk5OTk5NyxcbiAgICAgICAgICAgICAgICAwLjcyNjQxNzk5OTk5OTk5NzIsXG4gICAgICAgICAgICAgICAgMC4yMzg0MTU5OTk5OTk5OTk1LFxuICAgICAgICAgICAgICAgIDAuMDAzNzAzLFxuICAgICAgICAgICAgICAgIDAuMjM4NDE1OTk5OTk5OTk5NSxcbiAgICAgICAgICAgICAgICAwLjAwMzcwM1xuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyNTUsIDk5LCAxMzIsIDAuNSknLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyBhcyBjb25zdCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJ0JhckNoYXJ0T25lU2V0JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFyLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgQmFyQ2hhcnRWZXJ0aWNhbDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gICAgY29uc3QgbGFiZWxzID0gWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknXTtcblxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIGxhYmVscyxcbiAgICAgICAgZGF0YXNldHM6IFt7XG4gICAgICAgICAgICBheGlzOiAneScsXG4gICAgICAgICAgICBsYWJlbDogJ015IEZpcnN0IERhdGFzZXQnLFxuICAgICAgICAgICAgZGF0YTogWzY1LCA1OSwgODAsIDgxLCA1NiwgNTUsIDQwXSxcbiAgICAgICAgICAgIGZpbGw6IGZhbHNlLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBbXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgMTU5LCA2NCwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgMjA1LCA4NiwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDU0LCAxNjIsIDIzNSwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDE1MywgMTAyLCAyNTUsIDAuMiknLFxuICAgICAgICAgICAgICAncmdiYSgyMDEsIDIwMywgMjA3LCAwLjIpJ1xuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBbXG4gICAgICAgICAgICAgICAgJ3JnYigyNTUsIDk5LCAxMzIpJyxcbiAgICAgICAgICAgICAgICAncmdiKDI1NSwgMTU5LCA2NCknLFxuICAgICAgICAgICAgICAgICdyZ2IoMjU1LCAyMDUsIDg2KScsXG4gICAgICAgICAgICAgICAgJ3JnYig3NSwgMTkyLCAxOTIpJyxcbiAgICAgICAgICAgICAgICAncmdiKDU0LCAxNjIsIDIzNSknLFxuICAgICAgICAgICAgICAgICdyZ2IoMTUzLCAxMDIsIDI1NSknLFxuICAgICAgICAgICAgICAgICdyZ2IoMjAxLCAyMDMsIDIwNyknXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxXG4gICAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIGluZGV4QXhpczogJ3knIGFzIGNvbnN0LFxuICAgICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgICBwbHVnaW5zOiB7XG4gICAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ3RvcCcgYXMgY29uc3QsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIHRleHQ6ICdWZXJ0aWNhbCBCYXIgQ2hhcnQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICBcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuXG4gIGNvbnN0IERvdWdobnV0Q2hhcnQ6IFJlYWN0LkZDID0gKCkgPT4ge1xuXG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgbGFiZWxzOiBbJ1JlZCcsICdCbHVlJywgJ1llbGxvdycsICdHcmVlbicsICdQdXJwbGUnLCAnT3JhbmdlJ10sXG4gIGRhdGFzZXRzOiBbXG4gICAge1xuICAgICAgbGFiZWw6ICcjIG9mIFZvdGVzJyxcbiAgICAgIGRhdGE6IFsxMiwgMTksIDMsIDUsIDIsIDNdLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBbXG4gICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMC4yKScsXG4gICAgICAgICdyZ2JhKDU0LCAxNjIsIDIzNSwgMC4yKScsXG4gICAgICAgICdyZ2JhKDI1NSwgMjA2LCA4NiwgMC4yKScsXG4gICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMC4yKScsXG4gICAgICAgICdyZ2JhKDE1MywgMTAyLCAyNTUsIDAuMiknLFxuICAgICAgICAncmdiYSgyNTUsIDE1OSwgNjQsIDAuMiknLFxuICAgICAgXSxcbiAgICAgIGJvcmRlckNvbG9yOiBbXG4gICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMSknLFxuICAgICAgICAncmdiYSg1NCwgMTYyLCAyMzUsIDEpJyxcbiAgICAgICAgJ3JnYmEoMjU1LCAyMDYsIDg2LCAxKScsXG4gICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMSknLFxuICAgICAgICAncmdiYSgxNTMsIDEwMiwgMjU1LCAxKScsXG4gICAgICAgICdyZ2JhKDI1NSwgMTU5LCA2NCwgMSknLFxuICAgICAgXSxcbiAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgIH0sXG4gIF0sXG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICAgIDxEb3VnaG51dCBkYXRhPXtkYXRhfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG5cbiAgY29uc3QgUG9sYXJDaGFydDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgbGFiZWxzOiBbJ1JlZCcsICdCbHVlJywgJ1llbGxvdycsICdHcmVlbicsICdQdXJwbGUnLCAnT3JhbmdlJ10sXG4gICAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICcjIG9mIFZvdGVzJyxcbiAgICAgICAgICAgIGRhdGE6IFsxMiwgMTksIDMsIDUsIDIsIDNdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBbXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMC41KScsXG4gICAgICAgICAgICAgICdyZ2JhKDU0LCAxNjIsIDIzNSwgMC41KScsXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgMjA2LCA4NiwgMC41KScsXG4gICAgICAgICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMC41KScsXG4gICAgICAgICAgICAgICdyZ2JhKDE1MywgMTAyLCAyNTUsIDAuNSknLFxuICAgICAgICAgICAgICAncmdiYSgyNTUsIDE1OSwgNjQsIDAuNSknLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuXG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgICAgICA8UG9sYXJBcmVhIGRhdGE9e2RhdGF9IC8+O1xuICAgICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9OyIsICJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7ICBOZXdIaWdobGlnaHQgfSBmcm9tIFwiLi4vdXRpbHMvSGlnaGxpZ2h0LWZ1bmN0aW9uc1wiO1xuaW1wb3J0IHsgb3BlblRoZW0gfSBmcm9tIFwiLi4vdXRpbHMvb3BlblRoZW1cIjtcbmltcG9ydCB7IEJhY2tVcCB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gRW5nU2lkZSgpe1xuICAgIGxldCBudW1zID0gW1wicmVwMVwiLCBcInJlcDJcIiwgXCJyZXAzXCIsIFwicmVwNFwiLCBcInJlcDVcIiwgXCJyZXA2XCIsIFwidHJmMVwiLCBcInRyZjJcIiwgXCJ0cmYzXCIsIFwidHJmNFwiLCBcInBlMVwiLCBcInBlMlwiLCBcInBlM1wiLCBcInBlZzFcIiwgXCJwZWcyXCIsIFwicGVnM1wiLCBcInBlZzRcIiwgXCJwZWc1XCIsXG4gICAgICAgICBcIm5pYzFcIiwgXCJuaWMyXCIsIFwibmljM1wiLCBcIm5pYzRcIiwgXCJuaWM1XCIsIFwibmljNlwiLFwiZGVsMVwiLCBcImRlbDJcIiwgXCJkZWwzXCIsIFwiZGVsNFwiLCBcImRlbDVcIl1cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xuICAgICAgfSwgW10pO1xuICAgICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgICAgIGZvcihsZXQgaWR4IGluIG51bXMpe1xuICAgICAgICAgICAgLyogY29uc29sZS5sb2coXCJXZSBhcmUgbG9va2luZyBhdCAnaXRlbScgPSBcIiArIG51bXNbaWR4XSkgKi9cbiAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IG51bXNbaWR4XTtcbiAgICAgICAgICAgICAgbGV0IGluZCA9IG51bXMuZmluZEluZGV4KChlKSA9PiBlID09IGl0ZW0pXG4gICAgICAgICAgICAgIC8qIGNvbnNvbGUubG9nKFwiaW5kIGlzOiBcIiArIGluZCkgKi9cbiAgICAgICAgICAgICAgbGV0IHN1YmRpID0gXCJzdWJ0aXRsZVwiICsgaW5kIFxuICAgICAgICAgICAgIC8qICBjb25zb2xlLmxvZyhcInN1YmRpIGlzOiBcIiArIHN1YmRpKVxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIndlIHVzZSBcIiArICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKT8uaWQgKyBcIiBhbmQgXCIgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzdWJkaSk/LmlkKSAqL1xuICAgICAgICAgICAgICBOZXdIaWdobGlnaHQoe2VsOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKSF9LCB7c3VidGl0bGU6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHN1YmRpKSF9KTtcbiAgICAgICAgICB9ICAgICAgIFxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiZnVuY3Rpb24gSGlnaGxpZ2h0Q2hlY2tcIilcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUubG9nKG51bXMpXG4gICAgXG4gICAgICBjb25zdCB7Z29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsfSA9IHVzZU5hdmlnYXRpb24oKTsgXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yIGQtbGctYmxvY2tcIiA+XG4gICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGlja3ktdG9wXCI+XG4gICAgICAgICAgICA8bmF2IGNsYXNzTmFtZT1cInNpZGViYXJcIiBpZD1cImVuZy1zaWRlYmFyXCI+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogXCJvdXItY3ljbGVcIiwgc2Nyb2xsVG9JZDogXCJvdXItY3ljbGUtaGVhZGVyXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LW91ci1jeWNsZVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtIGFjdGl2ZS1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5PdXIgQ3ljbGVzPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cIm91ci1jeWNsZVwiIGNsYXNzTmFtZT1cInNpZGVzdWJ0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwiYmxvY2tcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogXCJyZXBvcnRlclwiLCBzY3JvbGxUb0lkOiBcInJlcG9ydGVyLWhlYWRlclwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LXJlcG9ydGVyXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+UmVwb3J0ZXIgU3lzdGVtPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInJlcG9ydGVyXCIgY2xhc3NOYW1lPVwic2lkZXN1YnRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXJlcG9ydGVyXCIsIHNjcm9sbFRvSWQ6IFwicmVwMWhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUwXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXJlcG9ydGVyXCIsIHNjcm9sbFRvSWQ6IFwicmVwMmhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUxXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXJlcG9ydGVyXCIsIHNjcm9sbFRvSWQ6IFwicmVwM2hlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUyXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXJlcG9ydGVyXCIsIHNjcm9sbFRvSWQ6IFwicmVwNGhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUzXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXJlcG9ydGVyXCIsIHNjcm9sbFRvSWQ6IFwicmVwNWhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGU0XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXJlcG9ydGVyXCIsIHNjcm9sbFRvSWQ6IFwicmVwNmhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGU1XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+T3V0bG9vazwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPiBcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlblRoZW0oe2l0OiBcInRyYW5zZmVjdGlvblwiLCBzY3JvbGxUb0lkOiBcInRyYW5zZmVjdGlvbi1oZWFkZXJcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC10cmFuc2ZlY3Rpb25cIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5UcmFuc2ZlY3Rpb248L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwidHJhbnNmZWN0aW9uXCIgY2xhc3NOYW1lPVwic2lkZXN1YnRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXRyYW5zZmVjdGlvblwiLCBzY3JvbGxUb0lkOiBcInRyZjFoZWFkXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInN1YnRpdGxlNlwiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPkl0ZXJhdGlvbiAxPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcInRhYi10cmFuc2ZlY3Rpb25cIiwgc2Nyb2xsVG9JZDogXCJ0cmYyaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTdcIiBjbGFzc05hbWU9J3NpZGVpdGVtJz5JdGVyYXRpb24gMjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJ0YWItdHJhbnNmZWN0aW9uXCIsIHNjcm9sbFRvSWQ6IFwidHJmM2hlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGU4XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXRyYW5zZmVjdGlvblwiLCBzY3JvbGxUb0lkOiBcInRyZjRoZWFkXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInN1YnRpdGxlOVwiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPkl0ZXJhdGlvbiA0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+IFxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlblRoZW0oe2l0OiBcInBlLXN5c3RlbXNcIiwgc2Nyb2xsVG9JZDogXCJwZS1zeXN0ZW1zLWhlYWRlclwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LXBlLXN5c3RlbXNcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5QRSBTeXN0ZW1zPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInBlLXN5c3RlbXNcIiBjbGFzc05hbWU9XCJzaWRlc3VidGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJ0YWItcGUtc3lzdGVtc1wiLCBzY3JvbGxUb0lkOiBcInBlMWhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUxMFwiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPkl0ZXJhdGlvbiAxPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcInRhYi1wZS1zeXN0ZW1zXCIsIHNjcm9sbFRvSWQ6IFwicGUyaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTExXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXBlLXN5c3RlbXNcIiwgc2Nyb2xsVG9JZDogXCJwZTNoZWFkXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInN1YnRpdGxlMTJcIiBjbGFzc05hbWU9J3NpZGVpdGVtJz5PdXRsb29rPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuVGhlbSh7aXQ6IFwicGVncm5hXCIsIHNjcm9sbFRvSWQ6IFwicGVncm5hLWhlYWRlclwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LXBlZ3JuYVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5PnBlZ1JOQTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJwZWdybmFcIiBjbGFzc05hbWU9XCJzaWRlc3VidGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJ0YWItcGVncm5hXCIsIHNjcm9sbFRvSWQ6IFwicGVnMWhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUxM1wiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPkl0ZXJhdGlvbiAxPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcInRhYi1wZWdybmFcIiwgc2Nyb2xsVG9JZDogXCJwZWcyaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTE0XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXBlZ3JuYVwiLCBzY3JvbGxUb0lkOiBcInBlZzNoZWFkXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInN1YnRpdGxlMTVcIiBjbGFzc05hbWU9J3NpZGVpdGVtJz5JdGVyYXRpb24gMzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJ0YWItcGVncm5hXCIsIHNjcm9sbFRvSWQ6IFwicGVnNGhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUxNlwiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPkl0ZXJhdGlvbiA0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcInRhYi1wZWdybmFcIiwgc2Nyb2xsVG9JZDogXCJwZWc1aGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTE3XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogXCJuaWNrYXNlXCIsIHNjcm9sbFRvSWQ6IFwibmlja2FzZS1oZWFkZXJcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1uaWNrYXNlXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+Tmlja2FzZTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJuaWNrYXNlXCIgY2xhc3NOYW1lPVwic2lkZXN1YnRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLW5pY2thc2VcIiwgc2Nyb2xsVG9JZDogXCJuaWMxaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTE4XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLW5pY2thc2VcIiwgc2Nyb2xsVG9JZDogXCJuaWMyaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTE5XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLW5pY2thc2VcIiwgc2Nyb2xsVG9JZDogXCJuaWMzaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTIwXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLW5pY2thc2VcIiwgc2Nyb2xsVG9JZDogXCJuaWM0aGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTIxXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLW5pY2thc2VcIiwgc2Nyb2xsVG9JZDogXCJuaWM1aGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTIyXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLW5pY2thc2VcIiwgc2Nyb2xsVG9JZDogXCJuaWM2aGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTIzXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDY8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogXCJkZWxpdmVyeVwiLCBzY3JvbGxUb0lkOiBcImRlbGl2ZXJ5LWhlYWRlclwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LWRlbGl2ZXJ5XCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+RGVsaXZlcnk8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwiZGVsaXZlcnlcIiBjbGFzc05hbWU9XCJzaWRlc3VidGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJ0YWItZGVsaXZlcnlcIiwgc2Nyb2xsVG9JZDogXCJkZWwxaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTI0XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLWRlbGl2ZXJ5XCIsIHNjcm9sbFRvSWQ6IFwiZGVsMmhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUyNVwiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPkl0ZXJhdGlvbiAyPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcInRhYi1kZWxpdmVyeVwiLCBzY3JvbGxUb0lkOiBcImRlbDNoZWFkXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInN1YnRpdGxlMjZcIiBjbGFzc05hbWU9J3NpZGVpdGVtJz5JdGVyYXRpb24gMzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJ0YWItZGVsaXZlcnlcIiwgc2Nyb2xsVG9JZDogXCJkZWw0aGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTI3XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLWRlbGl2ZXJ5XCIsIHNjcm9sbFRvSWQ6IFwiZGVsNWhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUyOFwiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPk91dGxvb2s8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmF2PiAgIFxuICAgICAgICAgICAgPEJhY2tVcD48L0JhY2tVcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgKVxufVxuXG5cblxuXG5cbi8qIGZ1bmN0aW9uIFNpZGVJdGVtRW5nKHtoZXNoLCBudW19OntoZXNoOiBzdHJpbmc7IG51bTogbnVtYmVyfSl7XG4gICAgbGV0IHN1YmRpID0gXCJzdWJ0aXRsZVwiICsgbnVtXG4gICAgbGV0IG9wZW5tb3JlID0gc3RyaW5nVG9TbHVnKGhlc2gpIFxuICAgIGNvbnNvbGUubG9nKFwib3Blbm1vcmU6IFwiICsgb3Blbm1vcmUpXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogb3Blbm1vcmV9KX0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPXtzdWJkaX0gY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+e2hlc2h9PC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD17b3Blbm1vcmV9IGNsYXNzTmFtZT1cInNpZGVzdWJ0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk90aGVyPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PiAgIFxuICAgIClcbn1cbiAqL1xuXG5cbiIsICJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEhpZ2hsaWdodCB9IGZyb20gXCIuLi91dGlscy9IaWdobGlnaHQtZnVuY3Rpb25zXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBJbnRTaWRlYmFyKCl7XG4gICAgbGV0IG51bXMgPSBbIFwibWF4SFwiLCBcIm9sYXJpdUhcIiwgXCJqb3NodWFIXCIsIFwianVsaWFIXCIsIFwibmljb2xlSFwiLCBcIm1hdHRpanNIXCIsIFwid2VzdGhvZmZIXCIsIFwiYmVyZW5zSFwiLCBcIndpc2NobWV5ZXJIXCJdXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gICAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgIH0sIFtdKTtcbiAgICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgICAgICBmb3IobGV0IGlkeCBpbiBudW1zKXtcbiAgICAgICAgICAgIC8qIGNvbnNvbGUubG9nKFwiV2UgYXJlIGxvb2tpbmcgYXQgJ2l0ZW0nID0gXCIgKyBudW1zW2lkeF0pICovXG4gICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBudW1zW2lkeF07XG4gICAgICAgICAgICAgIGxldCBpbmQgPSBudW1zLmZpbmRJbmRleCgoZSkgPT4gZSA9PSBpdGVtKVxuICAgICAgICAgICAgIC8qICBjb25zb2xlLmxvZyhcImluZCBpczogXCIgKyBpbmQpICovXG4gICAgICAgICAgICAgIGxldCBzdWJkaSA9IFwic3VidGl0bGVcIiArIGluZCBcbiAgICAgICAgICAgICAgLyogY29uc29sZS5sb2coXCJzdWJkaSBpczogXCIgKyBzdWJkaSlcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJ3ZSB1c2UgXCIgKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbSk/LmlkICsgXCIgYW5kIFwiICsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3ViZGkpPy5pZCkgKi9cbiAgICAgICAgICAgICAgSGlnaGxpZ2h0KHtlbDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbSkhfSwge3N1YnRpdGxlOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzdWJkaSkhfSk7XG4gICAgICAgICAgfSAgICAgICBcbiAgICAgICAgICAvKiAgICAgKi9cbiAgICAgIH1cbiAgICAgIC8qIGNvbnNvbGUubG9nKG51bXMpICovXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yIGQtbm9uZSBkLWxnLWJsb2NrXCI+XG4gICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGlja3ktdG9wXCI+XG4gICAgICAgICAgICA8bmF2IGNsYXNzTmFtZT1cInNpZGViYXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZFNjcm9sbCh7IGl0OiBcInRhYi1tYXhcIiwgc2Nyb2xsVGFyZ2V0OiBcIm1heFwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZTBcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LW1heFwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5Pk1heDwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5BbmRTY3JvbGwoeyBpdDogXCJ0YWItb2xhcml1XCIsIHNjcm9sbFRhcmdldDogXCJvbGFyaXVcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGUxXCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1vbGFyaXVcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5PbGFyaXU8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQW5kU2Nyb2xsKHsgaXQ6IFwidGFiLWpvc2h1YVwiLCBzY3JvbGxUYXJnZXQ6IFwiam9zaHVhXCIgfSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInN1YnRpdGxlMlwiIGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXJlbnQtam9zaHVhXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+Sm9zaHVhPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZFNjcm9sbCh7IGl0OiBcInRhYi1qdWxpYVwiLCBzY3JvbGxUYXJnZXQ6IFwianVsaWFcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGUzXCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1qdWxpYVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5Pkp1bGlhPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZFNjcm9sbCh7IGl0OiBcInRhYi1uaWNvbGVcIiwgc2Nyb2xsVGFyZ2V0OiBcIm5pY29sZVwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZTRcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LW5pY29sZVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5ID4gTmljb2xlIDwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5BbmRTY3JvbGwoeyBpdDogXCJ0YWItbWF0dGlqc1wiLCBzY3JvbGxUYXJnZXQ6IFwibWF0dGlqc1wiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZTVcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LW1hdHRpanNcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5tYXR0aWpzPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZFNjcm9sbCh7IGl0OiBcInRhYi13ZXN0aG9mZlwiLCBzY3JvbGxUYXJnZXQ6IFwid2VzdGhvZmZcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGU2XCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC13ZXN0aG9mZlwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5PkthdHJpbjwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5BbmRTY3JvbGwoeyBpdDogXCJ0YWItYmVyZW5zXCIsIHNjcm9sbFRhcmdldDogXCJiZXJlbnNcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGU3XCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1iZXJlbnNcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5CZXJlbnM8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQW5kU2Nyb2xsKHsgaXQ6IFwidGFiLXdpc2NobWV5ZXJcIiwgc2Nyb2xsVGFyZ2V0OiBcIndpc2NobWV5ZXJcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGU4XCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC13aXNjaG1leWVyXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+V2lzY2htZXllcjwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5BbmRTY3JvbGwoeyBpdDogXCJ0YWItb2xhcml1XCIsIHNjcm9sbFRhcmdldDogXCJvbGFyaXVcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGU5XCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1vbGFyaXVcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5PbGFyaXU8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uYXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIClcbn1cblxuICAgXG5cbiAgZXhwb3J0IGZ1bmN0aW9uIG9wZW5BbmRTY3JvbGwoeyBpdCwgc2Nyb2xsVGFyZ2V0IH06IHsgaXQ6IHN0cmluZywgc2Nyb2xsVGFyZ2V0Pzogc3RyaW5nIH0pIHtcbiAgICBjb25zdCBnb3RvYW5kb3BlbiA9IChfZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgICAgIF9ldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBQcmV2ZW50IGRlZmF1bHQgYW5jaG9yIGJlaGF2aW9yXG5cbiAgICAgICAgY29uc29sZS5sb2coYG9wZW5BbmRTY3JvbGwgY2FsbGVkIHdpdGggaXQ6ICR7aXR9IGFuZCBzY3JvbGxUYXJnZXQ6ICR7c2Nyb2xsVGFyZ2V0fWApO1xuXG4gICAgICAgIC8vIEF0dGVtcHQgdG8gZmluZCB0aGUgZWxlbWVudHNcbiAgICAgICAgY29uc3Qgc3VidGFiRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0KTtcbiAgICAgICAgY29uc3QgcGFyZW50RWxlbWVudElkID0gXCJwYXJlbnQtXCIgKyBpdC5yZXBsYWNlKFwidGFiLVwiLCBcIlwiKTtcbiAgICAgICAgY29uc3QgcGFyZW50RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHBhcmVudEVsZW1lbnRJZCk7XG5cbiAgICAgICAgY29uc29sZS5sb2coYHN1YnRhYkVsZW1lbnQgd2l0aCBJRCAke2l0fTogYCwgc3VidGFiRWxlbWVudCk7XG4gICAgICAgIGNvbnNvbGUubG9nKGBwYXJlbnRFbGVtZW50IHdpdGggSUQgJHtwYXJlbnRFbGVtZW50SWR9OiBgLCBwYXJlbnRFbGVtZW50KTtcblxuICAgICAgICBpZiAoc3VidGFiRWxlbWVudCAmJiBwYXJlbnRFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkZvdW5kIHN1YnRhYkVsZW1lbnQgYW5kIHBhcmVudEVsZW1lbnQuXCIpO1xuICAgICAgICAgICAgLy8gU2hvdyB0aGUgc2VsZWN0ZWQgdGFiIGluIHRoZSBzaWRlYmFyIGFuZCBhZGQgYWN0aXZlIGNsYXNzXG4gICAgICAgICAgICBzdWJ0YWJFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gICAgICAgICAgICBwYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJhY3RpdmUtc2lkZWl0ZW1cIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBTdWJ0YWIgZWxlbWVudCBvciBwYXJlbnQgZWxlbWVudCBub3QgZm91bmQgZm9yIElEOiAke2l0fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgYSBzY3JvbGwgdGFyZ2V0IGlzIHByb3ZpZGVkLCBzY3JvbGwgdG8gdGhhdCBlbGVtZW50IG9uIHRoZSBwYWdlXG4gICAgICAgIGlmIChzY3JvbGxUYXJnZXQpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzY3JvbGxUYXJnZXQpO1xuICAgICAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgU2Nyb2xsaW5nIHRvIGVsZW1lbnQgd2l0aCBJRDogJHtzY3JvbGxUYXJnZXR9YCk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgZWxlbWVudCByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnRcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50UmVjdCA9IHRhcmdldEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGVsZW1lbnRSZWN0LnRvcCArIHdpbmRvdy5zY3JvbGxZO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWlkZGxlIG9mIHRoZSB2aWV3cG9ydFxuICAgICAgICAgICAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbE9mZnNldCA9IGVsZW1lbnRUb3AgLSAodmlld3BvcnRIZWlnaHQgLyA1IC0gdGFyZ2V0RWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyKTtcbiAgICAgICAgICAgICAgIC8qICBcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgRWxlbWVudCBUb3A6ICR7ZWxlbWVudFRvcH1gKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgVmlld3BvcnQgSGVpZ2h0OiAke3ZpZXdwb3J0SGVpZ2h0fWApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTY3JvbGwgT2Zmc2V0OiAke3Njcm9sbE9mZnNldH1gKTsgKi9cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNjcm9sbE9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCJcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgU2Nyb2xsIHRhcmdldCBlbGVtZW50IG5vdCBmb3VuZCBmb3IgSUQ6ICR7c2Nyb2xsVGFyZ2V0fWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBnb3RvYW5kb3Blbjtcbn1cblxuIiwgIlxuaW1wb3J0IHsgY3JlYXRlU2lkZWJhciB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVTaWRlYmFyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFNhZmV0eVNpZGViYXIoKXtcbiAgICBsZXQgc2lkZWJhciA9IGNyZWF0ZVNpZGViYXIodGFicyk7IFxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiAgZC1ub25lIGQtbGctYmxvY2tcIj5cbiAgICAgICAgICAge3NpZGViYXJ9XG4gICAgICAgIDwvZGl2PlxuICAgICl9XG5jb25zdCB0YWJzID0gW1xuICAgIHsgdGFiOiBcIlJvbGVcIiB9LFxuICAgIHsgdGFiOiBcIkNoZWNrLUluc1wifSxcbiAgICB7IHRhYjogXCJPdXIgTGFiXCIgfSxcbiAgICB7IHRhYjogXCJCaW9zYWZldHlcIiwgc3VidGFiczogW1wiTWVjaGFuaXNtXCIsIFwiRGVsaXZlcnlcIl0gfSxcbiAgICB7IHRhYjogXCJCaW9zZWN1cml0eVwiLCBzdWJ0YWJzOiBbXCJPdXIgUHJvamVjdFwiLCBcIlJpc2sgQXNzZXNzbWVudFwiLCBcIk1hbmFnaW5nIFJpc2tzXCJdIH0sXG4gICAgeyB0YWI6IFwiQmlvZXRoaWNzXCIsIHN1YnRhYnM6IFtcIkdlbmUgVGhlcmFweVwiLCBcIlByaW1hcnkgQ2VsbHNcIiwgXCJDb25zZW50IGFuZCBHdWlkZWxpbmVzXCJdIH0sXG4gIF07IiwgImV4cG9ydCBmdW5jdGlvbiBOb1NpZGViYXIoKXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTIgZC1ub25lIGQtbGctYmxvY2tcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufSIsICJpbXBvcnQgeyBCYWNrVXAgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5pbXBvcnQgeyBQREYgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9QZGZzXCI7XG5pbXBvcnQgeyBCbG9ja1F1b3RlQiB9IGZyb20gXCIuLi9jb21wb25lbnRzL1F1b3Rlc1wiO1xuaW1wb3J0IHsgU2VjdGlvbiwgU3ViZXNjdGlvbiB9IGZyb20gXCIuLi9jb21wb25lbnRzL3NlY3Rpb25zXCI7XG5pbXBvcnQgeyB1c2VUYWJOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzL1RhYk5hdmlnYXRpb25cIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gaWdlbUJpZWxlZmVsZCgpIHtcbiAgdXNlVGFiTmF2aWdhdGlvbigpO1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgPFNlY3Rpb24gdGl0bGU9XCJCaWVsZWZlbGQgVW5pdmVyc2l0eVwiIGlkPVwiQmllbGVmZWxkIFVuaXZlcnNpdHlcIj4gIFxuICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvdW5pdmVyc2l0eS9iaWVsZWZlbGQtMzM4MTg3MC5qcGdcIi8+XG4gICAgICA8L1NlY3Rpb24+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiSGlzdG9yeVwiIGlkPVwiSGlzdG9yeVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gXG4gICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvdW5pLWJpZWxlZmVsZC1kdW5rZWwucG5nXCIgc3R5bGU9e3t3aWR0aDpcIjQwJVwiLCBoZWlnaHQ6XCI2MCVcIn19Lz4gXG4gICA8L2Rpdj5cbiAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+IFxuICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9jZWJpdGVjLWxvZ28taGludGVybGVndC5wbmdcIiBzdHlsZT17e3dpZHRoOlwiMjAlXCIsIGhlaWdodDpcIjUwJVwiLCAgdHJhbnNmb3JtOiBcInNjYWxlKDEuNSlcIn19Lz5cbiAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgICAgICAgPGJyLz5cbiAgICAgICAgPHA+VGhlIGdsb3Jpb3VzIGhpc3Rvcnkgb2YgdGhlIGlHRU0gdGVhbSBCaWVsZWZlbGQgYmVnYW4gaW4gMjAxMCBhbmQgbWFya2VkIGl0cyBkZWJ1dCBvbiB0aGUgZ2xvYmFsIHN0YWdlIFxuICAgICAgICAgIG9mIHN5bnRoZXRpYyBiaW9sb2d5LiBTaW5jZSB0aGVuLCB0aGUgdGVhbXMgd2VyZSBjb21wb3NlZCBvZiBvdmVyIDE2MCBlbnRodXNpYXN0aWMgc3R1ZGVudHMgZnJvbSB2YXJpb3VzIGRpc2NpcGxpbmVzLCBpbmNsdWRpbmcgYmlvbG9neSwgY2hlbWlzdHJ5LCBhbmQgZW5naW5lZXJpbmcuPC9wPlxuICAgICAgICA8cD5UaGVpciBpbml0aWFsIHByb2plY3QgZm9jdXNlZCBvbiB0aGUgZGV2ZWxvcG1lbnQgb2YgYSBiaW9zZW5zb3IgZm9yIHRoZSBtZWFzdXJlbWVudCBvZiBzcGljaW5lc3MgaW4gZm9vZCwgd2hpY2ggcmVzdWx0ZWQgaW4gdGhlIHRlYW0gYmVpbmcgYXdhcmRlZCBhIGdvbGQgbWVkYWwgYXQgdGhlIGNvbXBldGl0aW9uLiBGb2xsb3dpbmcgdGhpcyBzdWNjZXNzZnVsIGRlYnV0LCB0aGUgdGVhbXMgY29udGludWVkIHRvIGV2b2x2ZSwgYm90aCBpbiBzaXplIGFuZCBleHBlcnRpc2UuICBcbiAgICAgICAgT3ZlciBtb3JlIHRoYW4gdGVuIHllYXJzLCB0aGUgaUdFTSBUZWFtIEJpZWxlZmVsZC1DZUJpVGVjIGVuZ2FnZWQgaW4gYSBtdWx0aXR1ZGUgb2YgcHJvamVjdHMsIGVhY2ggcHVzaGluZyB0aGUgYm91bmRhcmllcyBvZiBzeW50aGV0aWMgYmlvbG9neS4gVGhlIHRlYW1zIGVhcm5lZCAxMyBnb2xkIG1lZGFscyBhbmQgaGF2ZSBhY2hpZXZlZCBhIHJhbmtpbmcgd2l0aGluIHRoZSB0b3AgMTYgdGVhbXMgdHdpY2UgKDIwMTEsIDIwMTIpLiBPbmUgb2YgdGhlIG1vc3Qgbm90YWJsZSBhY2hpZXZlbWVudHMgd2FzIHJlYWNoZWQgaW4gMjAxMywgd2hlbiB0aGUgaUdFTSBUZWFtIEJpZWxlZmVsZCB3b24gdGhlIEV1cm9wZWFuIEphbWJvcmVlLCB3ZXJlIHRoZSBGaXJzdCBSdW5uZXIgVXAgYXQgdGhlIEdpYW50IEphbWJvcmVlIGFuZCBzZWN1cmVkIHNldmVyYWwgVHJhY2sgYW5kIFNwZWNpYWwgUHJpemVzLiBUaGVpciBwcm9qZWN0IFx1MjAxQ0Vjb2xlY3RyaWNpdHlcdTIwMUQgZm9jdXNlZCBvbiBjcmVhdGluZyBhIG1pY3JvYmlhbCBmdWVsIGNlbGwsIGJ5IHRyYW5zZm9ybWluZyBFLiBjb2xpIGludG8gYW4gZWxlY3Ryby1hY3RpdmUgYmFjdGVyaXVtIGFuZCBpbmNvcnBvcmF0aW5nIGl0IGludG8gYSBmdWVsIGNlbGwgdGhhdCBwcm92aWRlcyBhbiBlbnZpcm9ubWVudGFsbHkgZnJpZW5kbHkgYWx0ZXJuYXRpdmUgZm9yIGdlbmVyYXRpbmcgZWxlY3RyaWNpdHkuIFRoZWlyIGlubm92YXRpdmUgYXBwcm9hY2ggYW5kIGNhcmVmdWwgZXhlY3V0aW9uIGltcHJlc3NlZCB0aGUganVyeSBhbmQgc29saWRpZmllZCB0aGUgQmllbGVmZWxkIHRlYW0ncyByZXB1dGF0aW9uIGluIHRoZSBpR0VNIGNvbW11bml0eS4gSW4gYWNrbm93bGVkZ21lbnQgb2YgdGhlIHBpdm90YWwgcm9sZSBwbGF5ZWQgYnkgdGhlIENlbnRlciBmb3IgQmlvdGVjaG5vbG9neSAoQ2VCaVRlYykgaW4gdGhlIHRlYW1cdTIwMTlzIHN1Y2Nlc3Mgc2luY2UgdGhlIGJlZ2lubmluZywgdGhlIG5hbWUgb2YgdGhlIHRlYW0gd2FzIG9mZmljaWFsbHkgY2hhbmdlZCB0byBCaWVsZWZlbGQtQ2VCaVRlYyBpbiAyMDE0LiBUaGlzIGNoYW5nZSBoaWdobGlnaHRlZCB0aGUgY2xvc2UgY29sbGFib3JhdGlvbiBiZXR3ZWVuIHRoZSB0ZWFtIGFuZCB0aGUgcmVzZWFyY2ggY2VudGVyLCB0aGVyZWJ5IHVuZGVyc2NvcmluZyB0aGUgaW1wb3J0YW5jZSBvZiBpbnN0aXR1dGlvbmFsIHN1cHBvcnQgaW4gYWR2YW5jaW5nIHNjaWVudGlmaWMgcmVzZWFyY2ggYW5kIGVkdWNhdGlvbiByZWxhdGVkIHRvIHRoZSBpR0VNIGNvbXBldGl0aW9uLjwvcD5cbiAgICAgICAgPHA+SW4gcmVjZW50IHllYXJzLCB0aGUgdGVhbXMgY29udGludWVkIHRvIHB1cnN1ZSBpbm5vdmF0aXZlIGF2ZW51ZXMgb2YgZW5xdWlyeS4gVGhlaXIgcHJvamVjdHMgcmFuZ2VkIGZyb20gZGV2ZWxvcGluZyBiaW9sb2dpY2FsIHN5c3RlbXMgZm9yIG1lZGljYWwgYXBwbGljYXRpb25zIHRvIGNyZWF0aW5nIHN1c3RhaW5hYmxlIHNvbHV0aW9ucyBmb3IgaW5kdXN0cmlhbCBhbmQgZW52aXJvbm1lbnRhbCBjaGFsbGVuZ2VzLiBGb3IgaW5zdGFuY2UsIGluIDIwMTgsIHRoZSBwcm9qZWN0IFwibmFub0ZhY3RvcnlcIiBhaW1lZCB0byBzY2F2ZW5nZSBoZWF2eSBtZXRhbCBpb25zIHVzaW5nIG9wdGltaXplZCBFLiBjb2xpIGNlbGxzIHRvIGFjY3VtdWxhdGUgaGVhdnkgbWV0YWwgaW9ucyBpbnNpZGUgdGhlIGN5dG9wbGFzbSBhZGRyZXNzaW5nIHRoZSBpc3N1ZSBvZiBpbmNyZWFzaW5nIHNjYXJjaXR5IG9mIG1ldGFsIHJlc291cmNlcyBkdWUgdG8gZ2xvYmFsIGNvbnN1bXB0aW9uIG9mIGVsZWN0cm9uaWNzLiBcbiAgICAgICAgSW4gdGhlIHByZXZpb3VzIHllYXIsIHRoZSBpR0VNIHRlYW0gQmllbGVmZWxkLUNlQmlUZWMgZGV2ZWxvcGVkIGEgcGxhdGZvcm0gZm9yIGRpYWdub3NpcyBhbmQgdGhlcmFweSBvZiBicmFpbiB0dW1vcnMgY2FsbGVkIFwiQVNURVJJU0tcIi4gVGhlIHRlYW0gZm9jdXNpbmcgb24gYSBtb2R1bGFyIGdlbmV0aWMgc3lzdGVtIHRvIHRhcmdldCBnbGlvbWFzIGJ5IGRlc2lnbmluZyBtUk5BIG1vbGVjdWxlcyB0aGF0LCB1cG9uIGRldGVjdGlvbiBvZiBhIHR1bW9yLXNwZWNpZmljIG11dGF0aW9uIG9yIGFtcGxpZmljYXRpb24sIGxlYWQgdG8gdGhlIHRyYW5zbGF0aW9uIG9mIGEgdG94aWMgcHJvdGVpbiB0aGF0IHNlbGVjdGl2ZWx5IGtpbGxzIGNhbmNlciBjZWxscyB3aXRob3V0IGhhcm1pbmcgaGVhbHRoeSBjZWxscy4gVGhpcyBpbm5vdmF0aXZlIGFwcHJvYWNoIGlzIGEgcGVyZmVjdCBleGFtcGxlIG9mIGhvdyBzeW50aGV0aWMgYmlvbG9neSBjYW4gYmUgdXNlZCB0byBpbXByb3ZlIHRoZSBzcGVjaWZpY2l0eSBhbmQgZWZmaWNhY3kgb2YgbWVkaWNhbCB0cmVhdG1lbnRzLCBwcm92aWRpbmcgdmFsdWFibGUgdG9vbHMgdG8gdGhlIGlHRU0gY29tbXVuaXR5LjwvcD4gXG4gICAgICAgIDxwPkEgc2lnbmlmaWNhbnQgYXNwZWN0IG9mIGlHRU0gQmllbGVmZWxkLUNlQmlUZWNcdTIwMTlzIHN1Y2Nlc3MgaGFzIGJlZW4gdGhlaXIgZW1waGFzaXMgb24gY29sbGFib3JhdGlvbiBhbmQgY29tbXVuaXR5IGVuZ2FnZW1lbnQuIFRoZSB0ZWFtIHJlZ3VsYXJseSBjb2xsYWJvcmF0ZXMgd2l0aCBvdGhlciBpR0VNIHRlYW1zLCBpbnN0aXR1dGlvbnMsIGNvbXBhbmllcywgYW5kIHNjaWVudGlzdHMgc2hhcmluZyBrbm93bGVkZ2UgYW5kIHJlc291cmNlcy4gVGhleSBhbHNvIGVuZ2FnZSB3aXRoIHRoZSBsb2NhbCBjb21tdW5pdHkgdGhyb3VnaCBvdXRyZWFjaCBwcm9ncmFtcyBhbmQgd29ya3Nob3BzLiBoZSBoaXN0b3J5IG9mIGlHRU0gQmllbGVmZWxkIGlzIGEgc3Rvcnkgb2YgbW90aXZhdGlvbiwgZGVkaWNhdGlvbiwgYW5kIHNjaWVudGlmaWMgY3VyaW9zaXR5LiBGcm9tIHRoZWlyIGVhcmx5IGJlZ2lubmluZ3MgdG8gdGhlaXIgY3VycmVudCBlbmRlYXZvcnMsIHRoZSB0ZWFtIGhhcyBjb25zaXN0ZW50bHkgZGVtb25zdHJhdGVkIHRoZSBwb3dlciBvZiBzeW50aGV0aWMgYmlvbG9neSB0byB0YWNrbGUgY29tcGxleCBnbG9iYWwgY2hhbGxlbmdlcy4gQXMgdGhleSBjb250aW51ZSB0byBwYXJ0aWNpcGF0ZSBpbiB0aGUgaUdFTSBjb21wZXRpdGlvbiwgdGhleSByZW1haW4gdG8gZGVtb25zdHJhdGUgaW5ub3ZhdGlvbiBhbmQgY29sbGFib3JhdGlvbiB3aXRoaW4gdGhlIHNjaWVudGlmaWMgY29tbXVuaXR5LjwvcD5cbiAgICAgICAgXG4gICAgICAgIDwvU2VjdGlvbj5cblxuICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIlN0ZWVyaW5nIENvbW1pdHRlZVwiIGlkPVwiU3RlZXJpbmcgQ29tbWl0dGVlXCI+XG4gICAgICAgIDxCbG9ja1F1b3RlQiB0ZXh0PVwiaUdFTSBpcyB0aGUgYmlnZ2VzdCBvcHBvcnR1bml0eSBmb3IgeW91bmcgcmVzZWFyY2hlcnMgdG8gY3Jvc3MgdGhlaXIgb3duIGJvdW5kYXJpZXMuXCIgY2l0ZT1cIlByb2YuIERyLiBKXHUwMEY2cm4gS2FsaW5vd3NraSwgUHJpbmNpcGxlIEludmVzdGlnYXRvciBvZiBpR0VNIEJpZWxlZmVsZCBzaW5jZSAyMDEwXCIvPlxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiV2hhdCBpcyBhIFN0ZWVyaW5nIENvbW1pdHRlZT9cIiBpZD1cIlN0ZWVyaW5nIENvbW1pdHRlZTFcIj5cbiAgICAgICAgICAgICAgPHA+VGhlIFN0ZWVyaW5nIENvbW1pdHRlZSBwbGF5cyBhIGNlbnRyYWwgcm9sZSBpbiB0aGUgcmVzdW1wdGlvbiBhbmQgZnVydGhlciBkZXZlbG9wbWVudCBvZiBpR0VNIGFjdGl2aXRpZXMgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHkuIEFmdGVyIGEgcGF1c2UgaW4gMjAyMiBkdWUgdG8gZmluYW5jaWFsIGNvbnN0cmFpbnRzIGFuZCBjaGFuZ2VzIGluIHBhcnRpY2lwYXRpb24gY29uZGl0aW9ucywgdGhlIFN0ZWVyaW5nIENvbW1pdHRlZSB3YXMgZXN0YWJsaXNoZWQgdG8gZW5zdXJlIEJpZWxlZmVsZCdzIHN1c3RhaW5hYmxlIHBhcnRpY2lwYXRpb24gaW4gZnV0dXJlIGlHRU0gY29tcGV0aXRpb25zLjwvcD5cbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL3N0ZWVyaW5nLWNvbW1pdGVlLndlYnBcIiAvPlxuICAgICAgICAgICAgICA8cD5UaGUgU3RlZXJpbmcgQ29tbWl0dGVlIGNvbnNpc3RzIG9mIGZpdmUgcmVub3duZWQgc2NpZW50aXN0cyBmcm9tIHRoZSBGYWN1bHRpZXMgb2YgQmlvbG9neSBhbmQgVGVjaG5vbG9neTogRHIuIFBldHJhIEx1dHRlciwgUHJvZi4gRHIuIEpcdTAwRjZybiBLYWxpbm93c2tpLCBQcm9mLiBEci4gS3Jpc3RpYW4gTVx1MDBGQ2xsZXIsIFByb2YuIERyLiBLYXJzdGVuIE5pZWhhdXMsIGFuZCBQcm9mLiBEci4gSmVucyBTdG95ZS4gRWFjaCBvZiB0aGVzZSBleHBlcnRzIGJyaW5ncyBzcGVjaWZpYyBleHBlcnRpc2UgY3J1Y2lhbCBmb3IgdGhlIHN1Y2Nlc3NmdWwgZXhlY3V0aW9uIG9mIGlHRU0gcHJvamVjdHMuIFBldHJhIEx1dHRlciBoYXMgY29udHJpYnV0ZWQgdG8gbW9kZWxpbmcgaW4gcHJldmlvdXMgaUdFTSBwcm9qZWN0cywgd2hpbGUgSlx1MDBGNnJuIEthbGlub3dza2kgaGFzIGJlZW4gc2lnbmlmaWNhbnRseSBpbnZvbHZlZCBpbiBhbGwgcGFzdCBpR0VNIHByb2plY3RzLiBLcmlzdGlhbiBNXHUwMEZDbGxlciBoYXMgYmVlbiBhbiBleHBlcmllbmNlZCBzdXBwb3J0ZXIgb2YgdGhlIGlHRU0gY29tcGV0aXRpb25zIHNpbmNlIHRoZWlyIGluY2VwdGlvbiwgYW5kIEthcnN0ZW4gTmllaGF1cywgZm9ybWVyIGhlYWQgb2YgdGhlIFwiR2Vub21lLWJhc2VkIFN5c3RlbXMgQmlvbG9neVwiIG1hc3Rlclx1MjAxOXMgcHJvZ3JhbSwgYnJpbmdzIGV4dGVuc2l2ZSBrbm93bGVkZ2Ugb2YgdGhlIHNjaWVudGlmaWMgZm91bmRhdGlvbnMgb2YgdGhlIHByb2plY3RzLiBKZW5zIFN0b3llLCByZXByZXNlbnRpbmcgYmlvaW5mb3JtYXRpY3MgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHksIGNvbnRyaWJ1dGVzIGhpcyBleHBlcnRpc2UgaW4gdGhpcyBhcmVhLiA8L3A+XG4gICAgICAgICAgICAgIDxwPlRoZSBtYWluIGdvYWwgb2YgdGhlIFN0ZWVyaW5nIENvbW1pdHRlZSBpcyB0byBlbnN1cmUgdGhlIHN1Y2Nlc3NmdWwgaW1wbGVtZW50YXRpb24gb2YgZnV0dXJlIGlHRU0gcHJvamVjdHMuIFRoaXMgaW5jbHVkZXMgbm90IG9ubHkgYWNhZGVtaWMgc3VwcG9ydCBidXQgYWxzbyBvcmdhbml6YXRpb25hbCBsZWFkZXJzaGlwLCBzZWN1cmluZyBmdW5kaW5nLCBhbmQgcHJvdmlkaW5nIHRoZSBuZWNlc3NhcnkgaW5mcmFzdHJ1Y3R1cmUuIFRoZSBleHBlcnRzIGluIHRoZSBTdGVlcmluZyBDb21taXR0ZWUgYXJlIHNpZ25pZmljYW50bHkgaW52b2x2ZWQgaW4gdGhlIHN0cmF0ZWdpYyBkaXJlY3Rpb24gb2YgdGhlIHByb2plY3RzIGFuZCBvZmZlciBhIHBsYXRmb3JtIHdoZXJlIGlkZWFzLCByZXNvdXJjZXMsIGFuZCBrbm93bGVkZ2UgYXJlIHBvb2xlZCB0byBjb250aW51ZSBCaWVsZWZlbGQncyB0cmFkaXRpb24gb2Ygc3VjY2Vzc2Z1bCBpR0VNIHBhcnRpY2lwYXRpb24uIDwvcD5cbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e21hcmdpbkJvdHRvbTogXCIxcmVtXCJ9fT48UERGIGxpbms9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL2lnZW0tYnJvc2NodXJlLnBkZlwiIG5hbWU9XCJpZ2VtLWJyb3NjaHVyZS5wZGZcIiAvPjwvZGl2PlxuICAgICAgICAgICAgICA8cD5JbiBoZWxwaW5nIHRoZSBuZXcgaUdFTSBCaWVsZWZlbGQgdGVhbSBhZHZhbmNlIHRoZWlyIHByb2plY3QsIHRoZSBTdGVlcmluZyBDb21taXR0ZWUgcGxheWVkIGFuIGluZGlzcGVuc2FibGUgcm9sZSwgcGFydGljdWxhcmx5IGJ5IHByb21vdGluZyB0aGUgaUdFTSBwcmluY2lwbGUgb2YgXCJDb250cmlidXRpb25cIiBhbmQgZm9zdGVyaW5nIHRoZSBpbnRlcmRpc2NpcGxpbmFyeSBuYXR1cmUgb2YgdGhlIHByb2plY3QuIFRoZSBjb21taXR0ZWUgZW1waGFzaXplZCB0aGUgaW1wb3J0YW5jZSBvZiBjcmVhdGluZyB0b29scywgZGF0YSwgYW5kIG1ldGhvZHMgdGhhdCBjYW4gYmVuZWZpdCB0aGUgZ2xvYmFsIGlHRU0gY29tbXVuaXR5LiBUaGlzIG1pbmRzZXQgd2FzIHJlZmxlY3RlZCBpbiB0aGUgdGVhbVx1MjAxOXMgcHJvamVjdCBkZXNpZ24sIGVuc3VyaW5nIHRoYXQgdGhlaXIgd29yayBub3Qgb25seSBtZXQgbG9jYWwgZ29hbHMgYnV0IGFsc28gcHJvdmlkZWQgbWVhbmluZ2Z1bCBjb250cmlidXRpb25zIHRvIGZ1dHVyZSBwcm9qZWN0cy4gIDwvcD5cbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL3N0ZWVyaW5nLWNvbW1pdHRlZS0xLndlYnBcIi8+XG4gICAgICAgICAgICAgIDxwPk1vcmVvdmVyLCB0aGUgaW50ZXJkaXNjaXBsaW5hcnkgbmF0dXJlIG9mIHRoZSBpR0VNIHByb2plY3Qgd2FzIHN0cm9uZ2x5IGVuY291cmFnZWQgYnkgdGhlIFN0ZWVyaW5nIENvbW1pdHRlZS4gV2l0aCBtZW1iZXJzIGZyb20gdmFyaW91cyBzY2llbnRpZmljIGZpZWxkcywgdGhlIGNvbW1pdHRlZSBmYWNpbGl0YXRlZCBjb2xsYWJvcmF0aW9uIGJldHdlZW4gZGlzY2lwbGluZXMgc3VjaCBhcyBiaW9sb2d5LCBiaW9pbmZvcm1hdGljcywgYW5kIGJpb3RlY2hub2xvZ3kuIFRoaXMgaW50ZXJkaXNjaXBsaW5hcnkgYXBwcm9hY2ggYWxsb3dlZCB0aGUgdGVhbSB0byB0YWNrbGUgY29tcGxleCBjaGFsbGVuZ2VzIGZyb20gbXVsdGlwbGUgcGVyc3BlY3RpdmVzLCBpbnRlZ3JhdGluZyBjb21wdXRhdGlvbmFsIG1vZGVscyB3aXRoIGV4cGVyaW1lbnRhbCBiaW9sb2d5IHRvIGRyaXZlIGlubm92YXRpb24uIFRoaXMgZ3VpZGFuY2UgaGVscGVkIHRoZSBpR0VNIEJpZWxlZmVsZCB0ZWFtIGRldmVsb3AgYSBtb3JlIHJvYnVzdCBhbmQgaW1wYWN0ZnVsIHByb2plY3QsIGFsaWduaW5nIHdpdGggYm90aCB0aGUgc2NpZW50aWZpYyBnb2FscyBvZiB0aGUgY29tcGV0aXRpb24gYW5kIHRoZSBjb2xsYWJvcmF0aXZlIHNwaXJpdCBvZiB0aGUgaUdFTSBjb21tdW5pdHkuIDwvcD5cbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICB7LyogIDxTdWJlc2N0aW9uIHRpdGxlPVwiSlx1MDBGNnJuXCIgaWQ9XCJTdGVlcmluZyBDb21taXR0ZWUyXCI+XG4gICAgICAgICAgICA8TG9yZW1NZWRpdW0vPlxuICAgICAgICAgIDwvU3ViZXNjdGlvbj4gKi99XG4gICAgICAgIDwvU2VjdGlvbj5cblxuICAgICB7LyogICAgPFNlY3Rpb24gdGl0bGU9XCJPdXIgRnV0dXJlXCIgaWQ9XCJGdXR1cmVcIj5cbiAgICAgICAgICA8TG9yZW1NZWRpdW0vPlxuICAgICAgICA8L1NlY3Rpb24+ICovfVxuXG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4gICIsICJleHBvcnQgZnVuY3Rpb24gSUJJRSgpIHtcblxuICAgIHJldHVybiAoXG4gICAgICA8SGVhZGVyQm94IHRpdGxlPVwiaUdFTVwiIHRpdGxlMj1cIkJpZWxlZmVsZFwiIGlkPVwiaWJoZWFkXCI+XG4gICAgICAgIFxuICAgICAgPC9IZWFkZXJCb3g+XG4gICAgKTtcbiAgfVxuICBcbiAgaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiaW1wb3J0IEJpYnRleFBhcnNlciBmcm9tIFwiLi4vY29tcG9uZW50cy9tYWtlU291cmNlc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBNZXRob2RTb3VyY2VzKCl7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8QmlidGV4UGFyc2VyIGJpYnRleFNvdXJjZXM9e2JpYnRleFNvdXJjZXN9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbn1cblxuXG5jb25zdCBiaWJ0ZXhTb3VyY2VzID0gW1xuYFxuQGFydGljbGV7YXJ0aWNsZSxcblx0dGl0bGUgICAgICAgID0ge0RpZSBFbnR3aWNrbHVuZyBkZXIgUGF0Y2gtQ2xhbXAtVGVjaG5pa30sXG5cdGF1dGhvciAgICAgICA9IHtSb3RoLCBGLiBDLiwgTnVtYmVyZ2VyLCBNLiwgYW5kIERyYWd1aG4sIEEufSxcblx0eWVhciAgICAgICAgID0gMjAyMyxcblx0bW9udGggICAgICAgID0ge3t9fSxcblx0am91cm5hbCAgICAgID0ge1NwcmluZ2VyIGVCb29rc30sXG5cdHZvbHVtZSAgICAgICA9IHt7fX0sXG5cdHBhZ2VzICAgICAgICA9IHsxLS0xNH0sXG5cdGRvaSAgICAgICAgICA9IHsxMC4xMDA3Lzk3OC0zLTY2Mi02NjA1My05fVxufWAsXG5cbmBcbkBib29re2RhbGxhc19wYXRjaF8yMDIxLFxuXHR0aXRsZSAgICAgICAgPSB7UGF0Y2ggY2xhbXAgZWxlY3Ryb3BoeXNpb2xvZ3k6IG1ldGhvZHMgYW5kIHByb3RvY29sc30sXG5cdHNob3J0dGl0bGUgICA9IHtQYXRjaCBjbGFtcCBlbGVjdHJvcGh5c2lvbG9neX0sXG5cdHllYXIgICAgICAgICA9IDIwMjEsXG5cdHB1Ymxpc2hlciAgICA9IHtIdW1hbmEgUHJlc3N9LFxuXHRhZGRyZXNzICAgICAgPSB7TmV3IFlvcmt9LFxuXHRzZXJpZXMgICAgICAgPSB7TWV0aG9kcyBpbiBtb2xlY3VsYXIgYmlvbG9neX0sXG5cdG51bWJlciAgICAgICA9IDIxODgsXG5cdGlzYm4gICAgICAgICA9IHs5NzgtMS0wNy0xNjA4MTgtMH0sXG5cdGxhbmd1YWdlICAgICA9IHtlbn0sXG5cdGVkaXRvciAgICAgICA9IHtEYWxsYXMsIE1hcmsgYW5kIEJlbGwsIERhbWlhbn1cbn1cbiAgICBgLFxuICAgIGBcbkBhcnRpY2xle1BSSUVMMjAwNzM4OTMsXG5cdHRpdGxlICAgICAgICA9IHtcblx0XHRJb25pYyBSZXF1aXJlbWVudHMgZm9yIE1lbWJyYW5lLUdsYXNzIEFkaGVzaW9uIGFuZCBHaWdhIFNlYWwgRm9ybWF0aW9uIGluXG5cdFx0UGF0Y2gtQ2xhbXAgUmVjb3JkaW5nXG5cdH0sXG5cdGF1dGhvciAgICAgICA9IHtcblx0XHRBdmkgUHJpZWwgYW5kIFppdiBHaWwgYW5kIFZpbmNlbnQgVC4gTW95IGFuZCBLYXJsIEwuIE1hZ2xlYnkgYW5kIFNoYWkgRC5cblx0XHRTaWxiZXJiZXJnXG5cdH0sXG5cdHllYXIgICAgICAgICA9IDIwMDcsXG5cdGpvdXJuYWwgICAgICA9IHtCaW9waHlzaWNhbCBKb3VybmFsfSxcblx0dm9sdW1lICAgICAgID0gOTIsXG5cdG51bWJlciAgICAgICA9IDExLFxuXHRwYWdlcyAgICAgICAgPSB7Mzg5My0tMzkwMH0sXG5cdGRvaSAgICAgICAgICA9IHsxMC4xNTI5L2Jpb3BoeXNqLjEwNi4wOTkxMTl9LFxuXHRpc3NuICAgICAgICAgPSB7MDAwNi0zNDk1fSxcblx0dXJsICAgICAgICAgID0ge2h0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzAwMDYzNDk1MDc3MTE4OVh9LFxuXHRhYnN0cmFjdCAgICAgPSB7XG5cdFx0UGF0Y2gtY2xhbXAgcmVjb3JkaW5nIGhhcyByZXZvbHV0aW9uaXplZCB0aGUgc3R1ZHkgb2YgaW9uIGNoYW5uZWxzLFxuXHRcdHRyYW5zcG9ydGVycywgYW5kIHRoZSBlbGVjdHJpY2FsIGFjdGl2aXR5IG9mIHNtYWxsIGNlbGxzLiBWaXRhbCB0byB0aGlzXG5cdFx0bWV0aG9kIGlzIGZvcm1hdGlvbiBvZiBhIHRpZ2h0IHNlYWwgYmV0d2VlbiBnbGFzcyByZWNvcmRpbmcgcGlwZXR0ZSBhbmQgY2VsbFxuXHRcdG1lbWJyYW5lLiBUbyBiZXR0ZXIgdW5kZXJzdGFuZCBzZWFsIGZvcm1hdGlvbiBhbmQgaW1wcm92ZSBwcmFjdGljYWxcblx0XHRhcHBsaWNhdGlvbiBvZiB0aGlzIHRlY2huaXF1ZSwgd2UgZXhhbWluZSB0aGUgZWZmZWN0cyBvZiBkaXZhbGVudCBpb25zLFxuXHRcdHByb3RvbnMsIGlvbmljIHN0cmVuZ3RoLCBhbmQgbWVtYnJhbmUgcHJvdGVpbnMgb24gYWRoZXNpb24gb2YgbWVtYnJhbmUgdG9cblx0XHRnbGFzcyBhbmQgb24gc2VhbCByZXNpc3RhbmNlIHVzaW5nIGJvdGggcGF0Y2gtY2xhbXAgcmVjb3JkaW5nIGFuZCBhdG9taWNcblx0XHRmb3JjZSBtaWNyb3Njb3B5LiBXZSBmaW5kIHRoYXQgSCssIENhMissIGFuZCBNZzIrIGluY3JlYXNlIGFkaGVzaW9uIGZvcmNlXG5cdFx0YmV0d2VlbiBnbGFzcyBhbmQgbWVtYnJhbmUgKGxpcGlkIGFuZCBjZWxsdWxhciksIGRlY3JlYXNlIHRoZSB0aW1lIHJlcXVpcmVkXG5cdFx0dG8gZm9ybSBhIHRpZ2h0IHNlYWwsIGFuZCBpbmNyZWFzZSBzZWFsIHJlc2lzdGFuY2UuIEluIHRoZSBhYnNlbmNlIG9mIEgrXG5cdFx0KDEwXHUyMjEyMTBNKSBhbmQgZGl2YWxlbnQgY2F0aW9ucyAoPDEwXHUyMjEyOE0pLCBhZGhlc2lvbiBmb3JjZXMgYXJlIGdyZWF0bHkgcmVkdWNlZFxuXHRcdGFuZCB0aWdodCBzZWFscyBhcmUgbm90IGZvcm1lZC4gSCsgKDEwXHUyMjEyN00pIHByb21vdGVzIHNlYWwgZm9ybWF0aW9uIGluIHRoZVxuXHRcdGFic2VuY2Ugb2YgZGl2YWxlbnQgY2F0aW9ucy4gQSBwb3NpdGl2ZSBjb3JyZWxhdGlvbiBiZXR3ZWVuIGFkaGVzaW9uIGZvcmNlXG5cdFx0YW5kIHNlYWwgZm9ybWF0aW9uIGluZGljYXRlcyB0aGF0IGhpZ2ggcmVzaXN0YW5jZSBzZWFscyBhcmUgYXNzb2NpYXRlZCB3aXRoXG5cdFx0aW5jcmVhc2VkIGFkaGVzaW9uIGJldHdlZW4gbWVtYnJhbmUgYW5kIGdsYXNzLiBBIHNpbWlsYXIgaW9uaWMgZGVwZW5kZW5jZSBvZlxuXHRcdHRoZSBhZGhlc2lvbiBvZiBsaXBpZCBtZW1icmFuZXMgYW5kIGNlbGwgbWVtYnJhbmVzIHRvIGdsYXNzIGluZGljYXRlcyB0aGF0XG5cdFx0bGlwaWQgbWVtYnJhbmVzIHdpdGhvdXQgcHJvdGVpbnMgYXJlIHN1ZmZpY2llbnQgZm9yIHRoZSBhY3Rpb24gb2YgaW9ucyBvblxuXHRcdGFkaGVzaW9uLlxuXHR9XG59XG5gLFxuYFxuQGFydGljbGV7MTAuMzM4OS9mcGhhci4yMDE3LjAwMTk1LFxuXHR0aXRsZSAgICAgICAgPSB7XG5cdFx0RGV2ZWxvcG1lbnQgb2YgQXV0b21hdGVkIFBhdGNoIENsYW1wIFRlY2huaXF1ZSB0byBJbnZlc3RpZ2F0ZSBDRlRSIENobG9yaWRlXG5cdFx0Q2hhbm5lbCBGdW5jdGlvblxuXHR9LFxuXHRhdXRob3IgICAgICAgPSB7XG5cdFx0QmlsbGV0LCBBcm5hdWQgIGFuZCBGcm91eCwgTGlvbmVsICBhbmQgSGFucmFoYW4sIEpvaG4gVy4gIGFuZCBCZWNxLCBGcmVkZXJpY1xuXHR9LFxuXHR5ZWFyICAgICAgICAgPSAyMDE3LFxuXHRqb3VybmFsICAgICAgPSB7RnJvbnRpZXJzIGluIFBoYXJtYWNvbG9neX0sXG5cdHZvbHVtZSAgICAgICA9IDgsXG5cdGRvaSAgICAgICAgICA9IHsxMC4zMzg5L2ZwaGFyLjIwMTcuMDAxOTV9LFxuXHRpc3NuICAgICAgICAgPSB7MTY2My05ODEyfSxcblx0dXJsICAgICAgICAgID0ge1xuXHRcdGh0dHBzOi8vd3d3LmZyb250aWVyc2luLm9yZy9qb3VybmFscy9waGFybWFjb2xvZ3kvYXJ0aWNsZXMvMTAuMzM4OS9mcGhhci4yMDE3LjAwMTk1XG5cdH1cbn1cbmAsXG5gXG5AYXJ0aWNsZXtEdUJyaWRnZV9UYW5nX0hzaWFfTGVvbmdfTWlsbGVyX0NhbG9zXzE5ODcsXG5cdHRpdGxlICAgICAgICA9IHtcblx0XHRBbmFseXNpcyBvZiBtdXRhdGlvbiBpbiBodW1hbiBjZWxscyBieSB1c2luZyBhbiBFcHN0ZWluLUJhcnIgdmlydXMgc2h1dHRsZVxuXHRcdHN5c3RlbS5cblx0fSxcblx0YXV0aG9yICAgICAgID0ge1xuXHRcdER1QnJpZGdlLCBSIEIgYW5kIFRhbmcsIFAgYW5kIEhzaWEsIEggQyBhbmQgTGVvbmcsIFAgTSBhbmQgTWlsbGVyLCBKIEggYW5kXG5cdFx0Q2Fsb3MsIE0gUFxuXHR9LFxuXHR5ZWFyICAgICAgICAgPSAxOTg3LFxuXHRtb250aCAgICAgICAgPSBqYW4sXG5cdGpvdXJuYWwgICAgICA9IHtNb2xlY3VsYXIgYW5kIENlbGx1bGFyIEJpb2xvZ3l9LFxuXHR2b2x1bWUgICAgICAgPSA3LFxuXHRudW1iZXIgICAgICAgPSAxLFxuXHRwYWdlcyAgICAgICAgPSB7Mzc5XHUyMDEzMzg3fSxcblx0aXNzbiAgICAgICAgID0gezAyNzAtNzMwNn0sXG5cdGFic3RyYWN0bm90ZSA9IHtcblx0XHRXZSBkZXZlbG9wZWQgaGlnaGx5IHNlbnNpdGl2ZSBzaHV0dGxlIHZlY3RvciBzeXN0ZW1zIGZvciBkZXRlY3Rpb24gb2Zcblx0XHRtdXRhdGlvbnMgZm9ybWVkIGluIGh1bWFuIGNlbGxzIHVzaW5nIGF1dG9ub21vdXNseSByZXBsaWNhdGluZyBkZXJpdmF0aXZlcyBvZlxuXHRcdEVwc3RlaW4tQmFyciB2aXJ1cyAoRUJWKS4gRUJWIHZlY3RvcnMgY2FycnlpbmcgdGhlIGJhY3RlcmlhbCBsYWNJIGdlbmUgYXMgdGhlXG5cdFx0dGFyZ2V0IGZvciBtdXRhdGlvbiB3ZXJlIGVzdGFibGlzaGVkIGluIGh1bWFuIGNlbGxzIGFuZCBsYXRlciByZXR1cm5lZCB0b1xuXHRcdEVzY2hlcmljaGlhIGNvbGkgZm9yIHJhcGlkIGRldGVjdGlvbiBhbmQgYW5hbHlzaXMgb2YgbGFjSSBtdXRhdGlvbnMuIFRoZVxuXHRcdG1ham9yaXR5IG9mIHRoZSBjbG9uYWwgY2VsbCBsaW5lcyBjcmVhdGVkIGJ5IGVzdGFibGlzaG1lbnQgb2YgdGhlIGxhY0ktRUJWXG5cdFx0dmVjdG9yIHNob3cgc3BvbnRhbmVvdXMgTGFjSS0gZnJlcXVlbmNpZXMgb2YgbGVzcyB0aGFuIDEwKC01KSBhbmQgYXJlXG5cdFx0c3VpdGFibGUgZm9yIHN0dWRpZXMgb2YgaW5kdWNlZCBtdXRhdGlvbi4gVGhlIGFiaWxpdHkgdG8gaXNvbGF0ZSBjbG9uYWwgbGluZXNcblx0XHRyZXByZXNlbnRzIGEgbWFqb3IgYWR2YW50YWdlIG9mIHRoZSBFQlYgdmVjdG9ycyBvdmVyIHRyYW5zaWVudGx5IHJlcGxpY2F0aW5nXG5cdFx0c2h1dHRsZSB2ZWN0b3JzIChzdWNoIGFzIHRob3NlIGRlcml2ZWQgZnJvbSBzaW1pYW4gdmlydXMgNDApIGZvciB0aGUgc3R1ZHkgb2Zcblx0XHRtdXRhdGlvbi4gVGhlIEROQSBzZXF1ZW5jZSBjaGFuZ2VzIHdlcmUgZGV0ZXJtaW5lZCBmb3IgNjEgbGFjSSBtdXRhdGlvbnNcblx0XHRpbmR1Y2VkIGJ5IGV4cG9zdXJlIG9mIG9uZSBvZiB0aGUgY2VsbCBsaW5lcyB0byBOLW5pdHJvc28tTi1tZXRoeWx1cmVhLiBBXG5cdFx0dG90YWwgb2YgMzMgb2YgMzQgbGFjSSBub25zZW5zZSBtdXRhdGlvbnMgYW5kIDI2IG9mIDI3IG1pc3NlbnNlIG11dGF0aW9uc1xuXHRcdGludm9sdmUgRyBYIEMgdG8gQSBYIFQgdHJhbnNpdGlvbnMuIFRoZXNlIGRhdGEgcHJvdmlkZSBzdXBwb3J0IGZvciB0aGVcblx0XHRtdXRhdGlvbmFsIHRoZW9yeSBvZiBjYW5jZXIuXG5cdH1cbn1cbmAsXG5gXG5AYXJ0aWNsZXtRaW5fWmhhbmdfQ2xpZnRfSHVsdXJfWGlhbmdfUmVuX0xhaG5fMjAxMCxcblx0dGl0bGUgICAgICAgID0ge1xuXHRcdFN5c3RlbWF0aWMgQ29tcGFyaXNvbiBvZiBDb25zdGl0dXRpdmUgUHJvbW90ZXJzIGFuZCB0aGUgRG94eWN5Y2xpbmUtSW5kdWNpYmxlXG5cdFx0UHJvbW90ZXJcblx0fSxcblx0YXV0aG9yICAgICAgID0ge1xuXHRcdFFpbiwgSmFuZSBZdXhpYSBhbmQgWmhhbmcsIExpIGFuZCBDbGlmdCwgS2F5bGEgTC4gYW5kIEh1bHVyLCBJbWdlIGFuZCBYaWFuZyxcblx0XHRBbmR5IFBlbmcgYW5kIFJlbiwgQmluZy1aaG9uZyBhbmQgTGFobiwgQnJ1Y2UgVC5cblx0fSxcblx0eWVhciAgICAgICAgID0gMjAxMCxcblx0bW9udGggICAgICAgID0gbWF5LFxuXHRqb3VybmFsICAgICAgPSB7UExPUyBPTkV9LFxuXHRwdWJsaXNoZXIgICAgPSB7UHVibGljIExpYnJhcnkgb2YgU2NpZW5jZX0sXG5cdHZvbHVtZSAgICAgICA9IDUsXG5cdG51bWJlciAgICAgICA9IDUsXG5cdHBhZ2VzICAgICAgICA9IHtlMTA2MTF9LFxuXHRkb2kgICAgICAgICAgPSB7MTAuMTM3MS9qb3VybmFsLnBvbmUuMDAxMDYxMX0sXG5cdGlzc24gICAgICAgICA9IHsxOTMyLTYyMDN9LFxuXHRhYnN0cmFjdG5vdGUgPSB7XG5cdFx0Q29uc3RpdHV0aXZlIHByb21vdGVycyBhcmUgdXNlZCByb3V0aW5lbHkgdG8gZHJpdmUgZWN0b3BpYyBnZW5lIGV4cHJlc3Npb24uXG5cdFx0SGVyZSwgd2UgY2FycmllZCBvdXQgYSBzeXN0ZW1hdGljIGNvbXBhcmlzb24gb2YgZWlnaHQgY29tbW9ubHkgdXNlZFxuXHRcdGNvbnN0aXR1dGl2ZSBwcm9tb3RlcnMgKFNWNDAsIENNViwgVUJDLCBFRjFBLCBQR0sgYW5kIENBR0cgZm9yIG1hbW1hbGlhblxuXHRcdHN5c3RlbXMsIGFuZCBDT1BJQSBhbmQgQUNUNUMgZm9yIERyb3NvcGhpbGEgc3lzdGVtcykuIFdlIGFsc28gaW5jbHVkZWQgaW4gdGhlXG5cdFx0Y29tcGFyaXNvbiB0aGUgVFJFIHByb21vdGVyLCB3aGljaCBjYW4gYmUgYWN0aXZhdGVkIGJ5IHRoZSBydFRBXG5cdFx0dHJhbnNjcmlwdGlvbmFsIGFjdGl2YXRvciBpbiBhIGRveHljeWNsaW5lLWluZHVjaWJsZSBtYW5uZXIuIFRvIG1ha2Ugb3VyXG5cdFx0ZmluZGluZ3MgcmVwcmVzZW50YXRpdmUsIHdlIGNvbmR1Y3RlZCB0aGUgY29tcGFyaXNvbiBpbiBhIHZhcmlldHkgb2YgY2VsbFxuXHRcdHR5cGVzIGRlcml2ZWQgZnJvbSBzZXZlcmFsIHNwZWNpZXMuIFdlIGZvdW5kIHRoYXQgdGhlc2UgcHJvbW90ZXJzIHZhcnlcblx0XHRjb25zaWRlcmFibHkgZnJvbSBvbmUgYW5vdGhlciBpbiB0aGVpciBzdHJlbmd0aC4gTW9zdCBwcm9tb3RlcnMgaGF2ZSBmYWlybHlcblx0XHRjb25zaXN0ZW50IHN0cmVuZ3RocyBhY3Jvc3MgZGlmZmVyZW50IGNlbGwgdHlwZXMsIGJ1dCB0aGUgQ01WIHByb21vdGVyIGNhblxuXHRcdHZhcnkgY29uc2lkZXJhYmx5IGZyb20gY2VsbCB0eXBlIHRvIGNlbGwgdHlwZS4gQXQgbWF4aW1hbCBpbmR1Y3Rpb24sIHRoZSBUUkVcblx0XHRwcm9tb3RlciBpcyBjb21wYXJhYmxlIHRvIGEgc3Ryb25nIGNvbnN0aXR1dGl2ZSBwcm9tb3Rlci4gVGhlc2UgcmVzdWx0c1xuXHRcdHNob3VsZCBmYWNpbGl0YXRlIG1vcmUgcmF0aW9uYWwgY2hvaWNlcyBvZiBwcm9tb3RlcnMgaW4gZWN0b3BpYyBnZW5lXG5cdFx0ZXhwcmVzc2lvbiBzdHVkaWVzLlxuXHR9LFxuXHRsYW5ndWFnZSAgICAgPSB7ZW59XG59XG5gLFxuYFxuQGFydGljbGV7QlVMQ0FFTjIwMjQxMDE1NDQsXG50aXRsZSA9IHtQcmltZSBlZGl0aW5nIGZ1bmN0aW9uYWxseSBjb3JyZWN0cyBjeXN0aWMgZmlicm9zaXMtY2F1c2luZyBDRlRSIG11dGF0aW9ucyBpbiBodW1hbiBvcmdhbm9pZHMgYW5kIGFpcndheSBlcGl0aGVsaWFsIGNlbGxzfSxcbmpvdXJuYWwgPSB7Q2VsbCBSZXBvcnRzIE1lZGljaW5lfSxcbnZvbHVtZSA9IHs1fSxcbm51bWJlciA9IHs1fSxcbnBhZ2VzID0gezEwMTU0NH0sXG55ZWFyID0gezIwMjR9LFxuaXNzbiA9IHsyNjY2LTM3OTF9LFxuZG9pID0ge2h0dHBzOi8vZG9pLm9yZy8xMC4xMDE2L2oueGNybS4yMDI0LjEwMTU0NH0sXG51cmwgPSB7aHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMjY2NjM3OTEyNDAwMjM0OX0sXG5hdXRob3IgPSB7TWF0dGlqcyBCdWxjYWVuIGFuZCBQaFx1MDBFOWxpbmUgS29ydGxldmVuIGFuZCBSb25hbGQgQi4gTGl1IGFuZCBHaXVsaWEgTWF1bGUgYW5kIEVsaXNlIERyZWFubyBhbmQgTWFpcmVhZCBLZWxseSBhbmQgTWFyam9sZWluIE0uIEVuc2luY2sgYW5kIFNhbSBUaGllcmllIGFuZCBNYXhpbWUgU21pdHMgYW5kIE1hdHRlbyBDaWNpYW5pIGFuZCBBdXJlbGllIEhhdHRvbiBhbmQgQmVub2l0IENoZXZhbGllciBhbmQgQW5hYmVsYSBTLiBSYW1hbGhvIGFuZCBYYXZpZXIge0Nhc2FkZXZhbGwgaSBTb2x2YXN9IGFuZCBaZWdlciBEZWJ5c2VyIGFuZCBGcmFuXHUwMEU3b2lzIFZlcm1ldWxlbiBhbmQgUmlrIEdpanNiZXJzIGFuZCBJc2FiZWxsZSBTZXJtZXQtR2F1ZGVsdXMgYW5kIEFubmEgQ2VyZXNldG8gYW5kIE1hcmlhbm5lIFMuIENhcmxvbn0sXG5rZXl3b3JkcyA9IHtjeXN0aWMgZmlicm9zaXMsIHByaW1lIGVkaXRpbmcsIHBhdGllbnQtZGVyaXZlZCBvcmdhbm9pZHMsIGh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMsIGdlbmUgZWRpdGluZywgbWFjaGluZSBsZWFybmluZywgREVURU9SLCBDUklTUFJ9LFxuYWJzdHJhY3QgPSB7U3VtbWFyeVxuUHJpbWUgZWRpdGluZyBpcyBhIHJlY2VudCwgQ1JJU1BSLWRlcml2ZWQgZ2Vub21lIGVkaXRpbmcgdGVjaG5vbG9neSBjYXBhYmxlIG9mIGludHJvZHVjaW5nIHByZWNpc2UgbnVjbGVvdGlkZSBzdWJzdGl0dXRpb25zLCBpbnNlcnRpb25zLCBhbmQgZGVsZXRpb25zLiBIZXJlLCB3ZSBwcmVzZW50IHByaW1lIGVkaXRpbmcgYXBwcm9hY2hlcyB0byBjb3JyZWN0IEwyMjdSLSBhbmQgTjEzMDNLLUNGVFIsIHR3byBtdXRhdGlvbnMgdGhhdCBjYXVzZSBjeXN0aWMgZmlicm9zaXMgYW5kIGFyZSBub3QgZWxpZ2libGUgZm9yIGN1cnJlbnQgbWFya2V0LWFwcHJvdmVkIG1vZHVsYXRvciB0aGVyYXBpZXMuIFdlIHNob3cgdGhhdCwgdXBvbiBETkEgY29ycmVjdGlvbiBvZiB0aGUgQ0ZUUiBnZW5lLCB0aGUgY29tcGxleCBnbHljb3N5bGF0aW9uLCBsb2NhbGl6YXRpb24sIGFuZCwgbW9zdCBpbXBvcnRhbnRseSwgZnVuY3Rpb24gb2YgdGhlIENGVFIgcHJvdGVpbiBhcmUgcmVzdG9yZWQgaW4gSEVLMjkzVCBhbmQgMTZIQkUgY2VsbCBsaW5lcy4gVGhlc2UgZmluZGluZ3Mgd2VyZSBzdWJzZXF1ZW50bHkgdmFsaWRhdGVkIGluIHBhdGllbnQtZGVyaXZlZCByZWN0YWwgb3JnYW5vaWRzIGFuZCBodW1hbiBuYXNhbCBlcGl0aGVsaWFsIGNlbGxzLiBUaHJvdWdoIGFuYWx5c2lzIG9mIHByZWRpY3RlZCBhbmQgZXhwZXJpbWVudGFsbHkgaWRlbnRpZmllZCBjYW5kaWRhdGUgb2ZmLXRhcmdldCBzaXRlcyBpbiBwcmltYXJ5IHN0ZW0gY2VsbHMsIHdlIGNvbmZpcm0gcHJldmlvdXMgcmVwb3J0cyBvbiB0aGUgaGlnaCBwcmltZSBlZGl0b3IgKFBFKSBzcGVjaWZpY2l0eSBhbmQgaXRzIHBvdGVudGlhbCBmb3IgYSBjdXJhdGl2ZSBDRiBnZW5lIGVkaXRpbmcgdGhlcmFweS4gVG8gZmFjaWxpdGF0ZSBmdXR1cmUgc2NyZWVuaW5nIG9mIGdlbmV0aWMgc3RyYXRlZ2llcyBpbiBhIHRyYW5zbGF0aW9uYWwgQ0YgbW9kZWwsIGEgbWFjaGluZSBsZWFybmluZyBhbGdvcml0aG0gd2FzIGRldmVsb3BlZCBmb3IgZHluYW1pYyBxdWFudGlmaWNhdGlvbiBvZiBDRlRSIGZ1bmN0aW9uIGluIG9yZ2Fub2lkcyAoREVURUNUT1I6IFx1MjAxQ2RldGVjdGlvbiBvZiB0YXJnZXRlZCBlZGl0aW5nIG9mIENGVFIgaW4gb3JnYW5vaWRzXHUyMDFEKS59XG59XG5uZXc4LlxuQGFydGljbGV7RW5zaW5ja19EZWVlcnNtYWVja2VyX0hleWxlbl9SYW1hbGhvX0dpanNiZXJzX0Zhcixcblx0dGl0bGUgICAgICAgID0ge1xuXHRcdFBoZW5vdHlwaW5nIG9mIFJhcmUgQ0ZUUiBNdXRhdGlvbnMgUmV2ZWFscyBEaXN0aW5jdCBUcmFmZmlja2luZyBhbmRcblx0XHRGdW5jdGlvbmFsIERlZmVjdHNcblx0fSxcblx0YXV0aG9yICAgICAgID0ge1xuXHRcdEVuc2luY2ssIE1hcmpvbGVpbiBhbmQgRGUgS2VlcnNtYWVja2VyLCBMaWVzYmV0aCBhbmQgSGV5bGVuLCBMaXNlIGFuZFxuXHRcdFJhbWFsaG8sIEFuYWJlbGEgUy4gYW5kIEdpanNiZXJzLCBSaWsgYW5kIEZhcnJcdTAwRTksIFJpY2FyZCBhbmQgRGUgQm9lY2ssIEtyaXNcblx0XHRhbmQgQ2hyaXN0LCBGcmF1a2UgYW5kIERlYnlzZXIsIFplZ2VyIGFuZCBDYXJsb24sIE1hcmlhbm5lIFMuXG5cdH0sXG5cdHllYXIgICAgICAgICA9IDIwMjAsXG5cdG1vbnRoICAgICAgICA9IG1hcixcblx0am91cm5hbCAgICAgID0ge0NlbGxzfSxcblx0dm9sdW1lICAgICAgID0gOSxcblx0bnVtYmVyICAgICAgID0gMyxcblx0cGFnZXMgICAgICAgID0gNzU0LFxuXHRkb2kgICAgICAgICAgPSB7MTAuMzM5MC9jZWxsczkwMzA3NTR9LFxuXHRpc3NuICAgICAgICAgPSB7MjA3My00NDA5fSxcblx0YWJzdHJhY3Rub3RlID0ge1xuXHRcdEJhY2tncm91bmQuIFRoZSBtb3N0IGNvbW1vbiBDRlRSIG11dGF0aW9uLCBGNTA4ZGVsLCBwcmVzZW50cyB3aXRoIG11bHRpcGxlXG5cdFx0Y2VsbHVsYXIgZGVmZWN0cy4gSG93ZXZlciwgdGhlIHBvc3NpYmxlIG11bHRpcGxlIGRlZmVjdHMgY2F1c2VkIGJ5IG1hbnkgcmFyZXJcblx0XHRDRlRSIG11dGF0aW9ucyBhcmUgbm90IHdlbGwgc3R1ZGllZC4gV2UgaW52ZXN0aWdhdGVkIGZvdXIgcmFyZSBDRlRSIG11dGF0aW9uc1xuXHRcdEU2MEssIEc4NUUsIEU5MksgYW5kIEE0NTVFIGFnYWluc3Qgd2VsbC1jaGFyYWN0ZXJpemVkIG11dGF0aW9ucywgRjUwOGRlbCBhbmRcblx0XHRHNTUxRCwgYW5kIHRoZWlyIHJlc3BvbnNlcyB0byBjb3JyZWN0b3IgVlgtODA5IGFuZC9vciBwb3RlbnRpYXRvciBWWC03NzAuXG5cdFx0TWV0aG9kcy4gVXNpbmcgY29tcGxlbWVudGFyeSBhc3NheXMgaW4gSEVLMjkzVCBzdGFibGUgY2VsbCBsaW5lcywgd2Vcblx0XHRkZXRlcm1pbmVkIG1hdHVyYXRpb24gYnkgV2VzdGVybiBibG90dGluZywgdHJhZmZpY2tpbmcgYnkgZmxvdyBjeXRvbWV0cnlcblx0XHR1c2luZyBleHRyYWNlbGx1bGFyIDNIQS10YWdnZWQgQ0ZUUiwgYW5kIGZ1bmN0aW9uIGJ5IGhhbGlkZS1zZW5zaXRpdmUgWUZQXG5cdFx0cXVlbmNoaW5nLiBJbiB0aGUgZm9yc2tvbGluLWluZHVjZWQgc3dlbGxpbmcgYXNzYXkgaW4gaW50ZXN0aW5hbCBvcmdhbm9pZHMsXG5cdFx0d2UgdmFsaWRhdGVkIHRoZSBlZmZlY3Qgb2YgdGFnZ2VkIHZlcnN1cyBlbmRvZ2Vub3VzIENGVFIuIFJlc3VsdHMuIFRyZWF0bWVudFxuXHRcdHdpdGggVlgtODA5IHNpZ25pZmljYW50bHkgcmVzdG9yZWQgbWF0dXJhdGlvbiwgUE0gbG9jYWxpemF0aW9uIGFuZCBmdW5jdGlvblxuXHRcdG9mIGJvdGggRTYwSyBhbmQgRTkySy4gTWVjaGFuaXN0aWNhbGx5LCBWWC04MDkgbm90IG9ubHkgcmFpc2VkIHRoZSB0b3RhbFxuXHRcdGFtb3VudCBvZiBDRlRSLCBidXQgc2lnbmlmaWNhbnRseSBpbmNyZWFzZWQgdGhlIHRyYWZmaWMgZWZmaWNpZW5jeSwgd2hpY2ggd2FzXG5cdFx0bm90IHRoZSBjYXNlIGZvciBBNDU1RS4gRzg1RSB3YXMgcmVmcmFjdG9yeSB0byBWWC04MDkgYW5kIFZYLTc3MCB0cmVhdG1lbnQuXG5cdFx0Q29uY2x1c2lvbnMuIFNpbmNlIG5vIHNpbmdsZSBtb2RlbCBvciBhc3NheSBhbGxvd3MgZGVjaXBoZXJpbmcgYWxsIGRlZmVjdHMgYXRcblx0XHRvbmNlLCB3ZSBwcm9wb3NlIGEgY29tYmluYXRpb24gb2YgcGhlbm90eXBpYyBhc3NheXMgdG8gY29sbGVjdCByYXBpZCBhbmRcblx0XHRlYXJseSBpbnNpZ2h0cyBpbnRvIHRoZSBtdWx0aXBsZSBkZWZlY3RzIG9mIENGVFIgdmFyaWFudHMuXG5cdH0sXG5cdGxhbmd1YWdlICAgICA9IHtlbmd9XG59XG5gLFxuYFxuQG1pc2N7aWduYXRvdmEyMDIzLFxuICBhdXRob3IgICAgICAgPSB7Wm95YSBJZ25hdG92YX0sXG4gIHRpdGxlICAgICAgICA9IHtSZXNlYXJjaCBHcm91cCBJZ25hdG92YSBhdCB0aGUgSW5zdGl0dXRlIG9mIEJpb2NoZW1pc3RyeSBhbmQgTW9sZWN1bGFyIEJpb2xvZ3l9LFxuICB5ZWFyICAgICAgICAgPSB7MjAyM30sXG4gIGhvd3B1Ymxpc2hlZCA9IHtIYW1idXJnIFVuaXZlcnNpdHl9LFxuICBub3RlICAgICAgICAgPSB7QWNjZXNzZWQ6IDI4IFNlcHRlbWJlciAyMDI0fSxcbiAgaW5zdGl0dXRpb24gID0ge1VuaXZlcnNpdHkgb2YgSGFtYnVyZ30sXG59XG5cbmAsXG5gQGFydGljbGV7ZWhyaGFyZHRfdG93YXJkc18yMDA2LFxuXHR0aXRsZSAgICAgICAgPSB7VG93YXJkcyBhbiBpbiB2aXRybyBtb2RlbCBvZiBjeXN0aWMgZmlicm9zaXMgc21hbGwgYWlyd2F5IGVwaXRoZWxpdW06IGNoYXJhY3RlcmlzYXRpb24gb2YgdGhlIGh1bWFuIGJyb25jaGlhbCBlcGl0aGVsaWFsIGNlbGwgbGluZSB7Q0ZCRTQxb30tfSxcblx0c2hvcnR0aXRsZSAgID0ge1Rvd2FyZHMgYW4gaW4gdml0cm8gbW9kZWwgb2YgY3lzdGljIGZpYnJvc2lzIHNtYWxsIGFpcndheSBlcGl0aGVsaXVtfSxcblx0YXV0aG9yICAgICAgID0ge0VocmhhcmR0LCBDYXJzdGVuIGFuZCBDb2xsbm90LCBFdmEtTWFyaWEgYW5kIEJhbGRlcywgQ2hyaXN0aWFuZSBhbmQgQmVja2VyLCBVbHJpY2ggYW5kIExhdWUsIE1pY2hhZWwgYW5kIEtpbSwgS3dhbmctSmluIGFuZCBMZWhyLCBDbGF1cy1NaWNoYWVsfSxcblx0eWVhciAgICAgICAgID0gMjAwNixcblx0bW9udGggICAgICAgID0gbWFyLFxuXHRqb3VybmFsICAgICAgPSB7Q2VsbCBhbmQgVGlzc3VlIFJlc2VhcmNofSxcblx0dm9sdW1lICAgICAgID0gMzIzLFxuXHRudW1iZXIgICAgICAgPSAzLFxuXHRwYWdlcyAgICAgICAgPSB7NDA1LS00MTV9LFxuXHRkb2kgICAgICAgICAgPSB7MTAuMTAwNy9zMDA0NDEtMDA1LTAwNjItN30sXG5cdGlzc24gICAgICAgICA9IHswMzAyLTc2NlgsIDE0MzItMDg3OH0sXG5cdHVybCAgICAgICAgICA9IHtodHRwOi8vbGluay5zcHJpbmdlci5jb20vMTAuMTAwNy9zMDA0NDEtMDA1LTAwNjItN30sXG5cdHVybGRhdGUgICAgICA9IHsyMDI0LTA5LTA5fSxcblx0Y29weXJpZ2h0ICAgID0ge2h0dHA6Ly93d3cuc3ByaW5nZXIuY29tL3RkbX0sXG5cdGxhbmd1YWdlICAgICA9IHtlbn0sXG5cdGZpbGUgICAgICAgICA9IHtFaHJoYXJkdCBldCBhbC4gLSAyMDA2IC0gVG93YXJkcyBhbiBpbiB2aXRybyBtb2RlbCBvZiBjeXN0aWMgZmlicm9zaXMgc21hbGwucGRmOkNcXDpcXFxcVXNlcnNcXFxcSXNhYmVsbFxcXFxab3Rlcm9cXFxcc3RvcmFnZVxcXFxSWExNQ0UzVlxcXFxFaHJoYXJkdCBldCBhbC4gLSAyMDA2IC0gVG93YXJkcyBhbiBpbiB2aXRybyBtb2RlbCBvZiBjeXN0aWMgZmlicm9zaXMgc21hbGwucGRmOmFwcGxpY2F0aW9uL3BkZn1cbn1cbmBcbixcbmBcbkBib29re01lbm5lbGxhXzIwMjQsXG5cdHRpdGxlICAgICAgICA9IHtDaWxpYTogbWV0aG9kcyBhbmQgcHJvdG9jb2xzfSxcblx0eWVhciAgICAgICAgID0gMjAyNCxcbiAgICBhdXRob3IgICAgICAgPSB7TWVubmVsbGEsIFZpdG99LFxuXHRwdWJsaXNoZXIgICAgPSB7SHVtYW5hIFByZXNzfSxcblx0YWRkcmVzcyAgICAgID0ge05ldyBZb3JrLCBOWX0sXG5cdGlzYm4gICAgICAgICA9IHs5NzgtMS0wNy0xNjM1MDctMH0sXG5cdGFic3RyYWN0bm90ZSA9IHtcblx0XHRUaGlzIHZvbHVtZSBjb3ZlcnMgdGhlIGxhdGVzdCBhZHZhbmNlbWVudHMgaW4gdGhlIHN0dWR5IG9mIGNpbGlhcnlcblx0XHRjb21wbGV4aXR5LiBQcm90b2NvbHMgY292ZXIgZ2Vub21pYywgcHJvdGVvbWljLCBpbWFnaW5nLCBhbmQgZnVuY3Rpb25hbFxuXHRcdGFuYWx5c2lzIG9mIGRpZmZlcmVudCBjaWxpYXRlZCB0aXNzdWVzIGFuZCB0aGVpciB3aWRlIGFwcGxpY2FiaWxpdHkgaW4gY2lsaWFcblx0XHRiaW9sb2d5LiBDaGFwdGVycyBpbiB0aGlzIGJvb2sgcHJpbWFyaWx5IGZvY3VzIG9uIG1ldGhvZHMgdG8gc3R1ZHlcblx0XHRtdWx0aWNpbGlhdGVkIGNlbGxzLCBhbmQgZGlzY3VzcyB0b3BpY3Mgc3VjaCBhcyBTQVJTLUNvVi0yIGluZmVjdGlvbnMgb2Zcblx0XHRodW1hbiBwcmltYXJ5IG5hc2FsIG11bHRpY2lsaWF0ZWQgZXBpdGhlbGlhbCBjZWxsczsgZXhwYW5zaW9uIG1pY3Jvc2NvcHkgb2Zcblx0XHRjaWxpYXJ5IHByb3RlaW5zOyBsaXZlLWltYWdpbmcgY2VudHJpb2xlIGFtcGxpZmljYXRpb24gaW4gbW91c2UgYnJhaW5cblx0XHRtdWx0aWNpbGlhdGVkIGNlbGxzOyBiaW9waHlzaWNhbCBwcm9wZXJ0aWVzIG9mIGNpbGlhIG1vdGlsaXR5OyBhbmRcblx0XHRtdWNvY2lsaWFyeSB0cmFuc3BvcnQgZGV2aWNlIGNvbnN0cnVjdGlvbi4gV3JpdHRlbiBpbiB0aGUgaGlnaGx5IHN1Y2Nlc3NmdWxcblx0XHRNZXRob2RzIGluIE1vbGVjdWxhciBCaW9sb2d5IHNlcmllcyBmb3JtYXQsIGNoYXB0ZXJzIGluY2x1ZGUgaW50cm9kdWN0aW9ucyB0b1xuXHRcdHRoZWlyIHJlc3BlY3RpdmUgdG9waWNzLCBsaXN0cyBvZiB0aGUgbmVjZXNzYXJ5IG1hdGVyaWFscyBhbmQgcmVhZ2VudHMsXG5cdFx0c3RlcC1ieS1zdGVwLCByZWFkaWx5IHJlcHJvZHVjaWJsZSBsYWJvcmF0b3J5IHByb3RvY29scywgYW5kIHRpcHMgb25cblx0XHR0cm91Ymxlc2hvb3RpbmcgYW5kIGF2b2lkaW5nIGtub3duIHBpdGZhbGxzLiBDdXR0aW5nLWVkZ2UgYW5kIHRob3JvdWdoLFxuXHRcdENpbGlhOiBNZXRob2RzIGFuZCBQcm90b2NvbHMgaXMgYSB2YWx1YWJsZSByZXNvdXJjZSBmb3IgcmVzZWFyY2hlcnMgd2hvIGFyZVxuXHRcdGludGVyZXN0ZWQgaW4gbGVhcm5pbmcgbW9yZSBhYm91dCB0aGlzIGRldmVsb3BpbmcgZmllbGQuXG5cdH0sXG5cdGxhbmd1YWdlICAgICA9IHtlbmd9XG59XG5gXG5dIiwgImltcG9ydCB7IFNlY3Rpb24sIFN1YmVzY3Rpb24gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5pbXBvcnQge0g0fSBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IE1ldGhvZFNvdXJjZXMgZnJvbSBcIi4uL3NvdXJjZXMvbWV0aG9kcy1zb3VyY2VzXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIE1ldGhvZHMoKSB7XG4gIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24gKCk7XG4gIHVzZVRhYk5hdmlnYXRpb24oKTtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgIFxuICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIkludHJvZHVjdGlvblwiIGlkPVwiSW50cm9kdWN0aW9uXCI+XG4gICAgICAgICAgPHA+VGhpcyBzZWN0aW9uIGhpZ2hsaWdodHMgdGhlIGtleSBtYXRlcmlhbHMgYW5kIG1ldGhvZHMgcGl2b3RhbCB0byBhZHZhbmNpbmcgb3VyIHByb2plY3Qgd2l0aCB0aGUgcHJpbWFyeSBnb2FsIHRvIGRldmVsb3AgYW4gZWZmaWNpZW50IHByaW1lIGVkaXRpbmcgdGVjaG5vbG9neSB0byBjb3JyZWN0IHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIHRoZSBDRlRSIGdlbmUgYnkgdGhlIGRlbGl2ZXJ5IHRvIGx1bmcgZXBpdGhlbGlhbCBjZWxscyB1c2luZyBvcHRpbWl6ZWQgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykgdmlhIHB1bG1vbmFyeSBhZG1pbmlzdHJhdGlvbi4gV2UgdXRpbGl6ZWQgcGF0Y2ggY2xhbXAgZWxlY3Ryb3BoeXNpb2xvZ3kgdG8gcHJlY2lzZWx5IG1lYXN1cmUgaW9uIGNoYW5uZWwgYWN0aXZpdHksIHByb3ZpZGluZyBjcnVjaWFsIGluc2lnaHRzIGludG8gY2VsbHVsYXIgZnVuY3Rpb24gYW5kIHRoZSBpbXBhY3Qgb2YgZ2VuZXRpYyBtb2RpZmljYXRpb25zIG9uIENGVFIgcGVyZm9ybWFuY2UuIEFkZGl0aW9uYWxseSwgb3VyIGNlbGwgY3VsdHVyZSBtb2RlbHMgb2YgbHVuZyBlcGl0aGVsaWFsIGNlbGxzIGFsbG93ZWQgdXMgdG8gdGVzdCBib3RoIHRoZSBkZWxpdmVyeSBhbmQgZWZmaWNhY3kgb2Ygb3VyIGdlbmUtZWRpdGluZyBzeXN0ZW0gdW5kZXIgY29uZGl0aW9ucyB0aGF0IGNsb3NlbHkgbWltaWMgdGhlIDxpPmluIHZpdm88L2k+IGVudmlyb25tZW50LiBUbyBlbnN1cmUgdGhhdCBvdXIgTE5QcyB3ZXJlIGJvdGggZWZmZWN0aXZlIGFuZCBzYWZlLCB3ZSBwZXJmb3JtZWQgZXh0ZW5zaXZlIExOUCBjeXRvdG94aWNpdHkgYW5kIGNoYXJhY3Rlcml6YXRpb24gZXhwZXJpbWVudHMsIGV2YWx1YXRpbmcgdGhlaXIgYmlvY29tcGF0aWJpbGl0eSwgc3RhYmlsaXR5LCBhbmQgZWZmaWNpZW5jeSBpbiBkZWxpdmVyaW5nIHRoZSBlZGl0aW5nIHRlY2hub2xvZ3kuIEVhY2ggb2YgdGhlc2UgbWV0aG9kb2xvZ2llcyB3YXMgY2FyZWZ1bGx5IHNlbGVjdGVkIHRvIG9wdGltaXplIHRoZSBkZWxpdmVyeSBwcm9jZXNzIGFuZCBtYXhpbWl6ZSB0aGUgdGhlcmFwZXV0aWMgcG90ZW50aWFsIG9mIG91ciBhcHByb2FjaC48L3A+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJQYXRjaCBDbGFtcFwiIGlkPVwiUGF0Y2ggQ2xhbXBcIj5cbiAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIlBhdGNoIENsYW1wOiBBIEtleSBUb29sIGluIEVsZWN0cm9waHlzaW9sb2d5XCIgaWQ9XCJQYXRjaCBDbGFtcDFcIj5cbiAgICAgICAgICAgIDxwPlRoZSBwYXRjaCBjbGFtcCB0ZWNobmlxdWUgaXMgYSBoaWdobHkgc2Vuc2l0aXZlIG1ldGhvZCBmb3IgbWVhc3VyaW5nIGlvbmljIGN1cnJlbnRzIHRocm91Z2ggaW5kaXZpZHVhbCBpb24gY2hhbm5lbHMgaW4gY2VsbHMsIG1ha2luZyBpdCBhIGNvcm5lcnN0b25lIG9mIGVsZWN0cm9waHlzaW9sb2dpY2FsIHJlc2VhcmNoLiBJbml0aWFsbHkgZGV2ZWxvcGVkIGJ5IEVyd2luIE5laGVyIGFuZCBCZXJ0IFNha21hbm4gaW4gdGhlIDE5NzBzIFsxXSwgdGhpcyB0ZWNobmlxdWUgaGFzIGV2b2x2ZWQgaW50byB2YXJpb3VzIGNvbmZpZ3VyYXRpb25zLCBpbmNsdWRpbmcgdGhlIFdob2xlLUNlbGwgYW5kIFNpbmdsZS1DaGFubmVsIHJlY29yZGluZ3MgWzJdLCB3aGljaCBwcm92aWRlIGNyaXRpY2FsIGluc2lnaHRzIGludG8gdGhlIGZ1bmN0aW9uYWwgcHJvcGVydGllcyBvZiBpb24gY2hhbm5lbHMuIDwvcD5cbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJQcmluY2lwbGVzIG9mIHRoZSBwYXRjaCBjbGFtcCB0ZWNobmlxdWVcIiBpZD1cIlBhdGNoIENsYW1wMlwiPlxuICAgICAgICAgIDxwPlBhdGNoIGNsYW1wIHJlY29yZGluZyBpbnZvbHZlcyB0aGUgdXNlIG9mIGEgZ2xhc3MgbWljcm9waXBldHRlIHdoaWNoIGlzIG1hbnVmYWN0dXJlZCBmcm9tIGEgZ2xhc3MgY2FwaWxsYXJ5IHRocm91Z2ggdGhlIHVzZSBvZiBhIE1pY3JvcGlwZXR0ZSBQdWxsZXIuIFRoZSBtaWNyb3BpcGV0dGUgaXMgdGhlbiBmaWxsZWQgd2l0aCBhbiBlbGVjdHJvbHl0ZSBzb2x1dGlvbiwgd2hpY2ggaXMgc3Vic2VxdWVudGx5IGJyb3VnaHQgaW50byBjb250YWN0IHdpdGggdGhlIGNlbGwgbWVtYnJhbmUuIEJ5IGFwcGx5aW5nIGdlbnRsZSBzdWN0aW9uLCBhIGhpZ2gtcmVzaXN0YW5jZSBzZWFsIGNhbGxlZCBnaWdhIHNlYWwgaXMgZm9ybWVkIGJldHdlZW4gdGhlIHBpcGV0dGUgdGlwIGFuZCB0aGUgbWVtYnJhbmUgcGF0Y2guIFRoaXMgZW5hYmxlcyB0aGUgbWVhc3VyZW1lbnQgb2YgaW9uaWMgY3VycmVudHMgd2l0aCBtaW5pbWFsIG5vaXNlIGludGVyZmVyZW5jZSBbM10uIDxzdHJvbmc+V2hvbGUtQ2VsbCBDb25maWd1cmF0aW9uPC9zdHJvbmc+IHJlY29yZHMgY3VycmVudHMgZnJvbSB0aGUgZW50aXJlIGNlbGwgYnkgcnVwdHVyaW5nIHRoZSBtZW1icmFuZSBwYXRjaCwgYWNjZXNzaW5nIHRoZSBpbnRyYWNlbGx1bGFyIGVudmlyb25tZW50LCBhbmQgaXMgdXNlZnVsIGZvciBhbmFseXNpbmcgb3ZlcmFsbCBpb24gY2hhbm5lbCBhY3Rpdml0eSBhbmQgY2VsbHVsYXIgcmVzcG9uc2VzLiA8c3Ryb25nPlNpbmdsZS1DaGFubmVsIFJlY29yZGluZzwvc3Ryb25nPiBtZWFzdXJlcyBjdXJyZW50cyB0aHJvdWdoIGluZGl2aWR1YWwgaW9uIGNoYW5uZWxzIHdpdGhvdXQgcnVwdHVyaW5nIHRoZSBtZW1icmFuZSwgZW5hYmxpbmcgaGlnaC1yZXNvbHV0aW9uIHN0dWR5IG9mIGNoYW5uZWwgY29uZHVjdGFuY2UsIGdhdGluZywgYW5kIHNlbGVjdGl2aXR5IFsyXS48L3A+XG4gICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxpZnJhbWUgdGl0bGU9XCJCaWVsZWZlbGQtQ2VCaVRlYzogUGF0Y2ggQ2xhbXAgTWVhc3VyZW1lbnQgKDIwMjQpXCIgd2lkdGg9XCI1NjBcIiBoZWlnaHQ9XCIzMTVcIiBzcmM9XCJodHRwczovL3ZpZGVvLmlnZW0ub3JnL3ZpZGVvcy9lbWJlZC8wZDk0OGU1Ny01OTk3LTQzMGEtYTJkZi04MTViNzFhMmZjNjc/YXV0b3BsYXk9MVwiIGZyYW1lQm9yZGVyPVwiMFwiIGFsbG93RnVsbFNjcmVlbj17dHJ1ZX0gc2FuZGJveD1cImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctcG9wdXBzIGFsbG93LWZvcm1zXCI+PC9pZnJhbWU+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+RmlndXJlIDEuPC9iPiBNaWNyb3Njb3BpYyByZWNvcmRpbmcgb2YgbWljcm9waXBldHRlIHNlYWxpbmcgb2YgYSBIRUsyOTMgY2VsbCA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgPC9maWd1cmU+XG5cblxuICAgICAgICAgIDxwPlRoZSBzdWNjZXNzIG9mIHBhdGNoIGNsYW1wIGV4cGVyaW1lbnRzIGhlYXZpbHkgZGVwZW5kcyBvbiB0aGUgY29tcG9zaXRpb24gb2YgdGhlIHNvbHV0aW9ucyB1c2VkLiBUeXBpY2FsbHksIHR3byBtYWluIHR5cGVzIG9mIHNvbHV0aW9ucyBhcmUgZW1wbG95ZWQ6IFRoZSA8c3Ryb25nPlBpcGV0dGUgU29sdXRpb248L3N0cm9uZz4gaW4gdGhlIG1pY3JvcGlwZXR0ZSBtaW1pY3MgdGhlIGludHJhY2VsbHVsYXIgZW52aXJvbm1lbnRzLCB3aGlsZSB0aGUgPHN0cm9uZz5CYXRoIFNvbHV0aW9uPC9zdHJvbmc+IHN1cnJvdW5kcyB0aGUgY2VsbCBhbmQgdXN1YWxseSBjb250YWlucyBjb21wb25lbnRzIHRoYXQgcmVwbGljYXRlIHRoZSBleHRyYWNlbGx1bGFyIGVudmlyb25tZW50LiBCb3RoIHNvbHV0aW9ucyBhcmUgbWV0aWN1bG91c2x5IGRlc2lnbmVkIHRvIHJlZmxlY3QgdGhlIHBoeXNpb2xvZ2ljYWwgY29uZGl0aW9ucyB1bmRlciB3aGljaCB0aGUgY2VsbHMgb3BlcmF0ZSwgdGhlcmVieSBlbnN1cmluZyB0aGF0IHRoZSBtZWFzdXJlbWVudHMgYWNjdXJhdGVseSByZWZsZWN0IGlvbiBjaGFubmVsIGFjdGl2aXR5IGluIGEgbmF0dXJhbCBzZXR0aW5nIFsyXS48L3A+XG4gICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL21ldGgtcGF0Y2gtY2xhbXAvYmlsZC1tZXRoLXBhdGNoLWNsYW1wLnBuZ1wiIGFsdD1cIlBhdGNoIGNsYW1wIHNldHVwXCIvPlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIDIuPC9iPiBQYXRjaCBjbGFtcCBzZXR1cDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJBcHBsaWNhdGlvbiBpbiBDRlRSIGdlbmUgcHJpbWUgZWRpdGluZyB2YWxpZGF0aW9uXCIgaWQ9XCJQYXRjaCBDbGFtcDNcIj5cbiAgICAgICAgICAgIDxwPkluIG91ciBvbmdvaW5nIHJlc2VhcmNoIHByb2plY3QgZm9jdXNpbmcgb24gdGhlIHRyZWF0bWVudCBvZiBjeXN0aWMgZmlicm9zaXMsIG91ciBwYXRjaCBjbGFtcCBtZWFzdXJlbWVudHMsIHBlcmZvcm1lZCBpbiBjb2xsYWJvcmF0aW9uIHdpdGggRHIuIE9saXZlciBEclx1MDBFNGdlciBmcm9tIHRoZSBDZWxsdWxhciBOZXVyb3BoeXNpb2xvZ3kgd29ya2luZyBncm91cCBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSwgc2VydmUgYXMgYSBwb3dlcmZ1bCB2YWxpZGF0aW9uIHRvb2wgZm9yIHRoZSBhc3Nlc3NtZW50IG9mIHRoZSBmdW5jdGlvbmFsIGNvcnJlY3Rpb24gb2YgdGhlIENGVFIgZ2VuZSwgcGFydGljdWxhcmx5IHRoZSBjb21tb24gRjUwOGRlbCBtdXRhdGlvbiwgdmlhIHByaW1lIGVkaXRpbmcuIFRoZSBwYXRjaCBjbGFtcCB0ZWNobmlxdWUgY2FuIGJlIGVtcGxveWVkIGluIHRoaXMgY29udGV4dCB0byBtZWFzdXJlIHRoZSByZXN1bHRpbmcgY2hsb3JpZGUgaW9uIGNoYW5uZWwgYWN0aXZpdHkgd2hpY2ggaXMgYWx0ZXJlZCBieSB0aGUgbXV0YXRpb24gWzRdLiBXaG9sZS1DZWxsIHJlY29yZGluZ3Mgd2VyZSBwZXJmb3JtZWQgdG8gYXNzZXNzIHdoZXRoZXIgdGhlIGNvcnJlY3RlZCBDRlRSIGNoYW5uZWxzIGZ1bmN0aW9uIHNpbWlsYXJseSB0byB0aG9zZSBpbiBoZWFsdGh5IGNlbGxzLiBJZiB0aGUgY2hsb3JpZGUgaW9uIGN1cnJlbnRzIGluIHRoZSBlZGl0ZWQgY2VsbHMgYXBwcm9hY2ggbGV2ZWxzIG9mIGhlYWx0aHkgY2VsbHMsIHRoaXMgd291bGQgc3Ryb25nbHkgc3VnZ2VzdCBzdWNjZXNzZnVsIGdlbmUgZWRpdGluZyBhbmQgdmFsaWRhdGUgdGhlIGZ1bmN0aW9uYWxpdHkgb2Ygb3VyIHRoZXJhcGV1dGljIGFwcHJvYWNoLjwvcD5cbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDwvU2VjdGlvbj5cblxuICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIkNlbGwgQ3VsdHVyZVwiIGlkPVwiQ2VsbCBDdWx0dXJlXCI+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJIRUsyOTMgYW5kIEhFSzI5M1QgY2VsbCBsaW5lc1wiIGlkPVwiQ2VsbCBDdWx0dXJlMVwiPlxuICAgICAgICAgIDxwPkZvciB0ZXN0aW5nIG91ciBwcmltZSBlZGl0aW5nIGFwcHJvYWNoLCB3ZSBuZWVkZWQgYW4gZWFzeS10by1oYW5kbGUgY2VsbCBsaW5lIHdpdGggYSBtZWFzdXJhYmxlIGhpZ2ggZXhwcmVzc2lvbiBvZiBDRlRSIGFuZCB0aGUgQ0ZUUiBGNTA4ZGVsIG11dGF0aW9uLiBXaGVuIHRhbGtpbmcgdG8gTWF0dGlqcyBCdWxjYWVuIGZyb20gdGhlIExhYm9yYXRvcnkgb2YgTW9sZWN1bGFyIFZpcm9sb2d5IGFuZCBHZW5lIFRoZXJhcHkgYXQgS1UgTGV1dmVuLCBoZSByZWNvbW1lbmRlZCB0byB1c2UgSEVLMjkzVCBjZWxsIGxpbmVzIG92ZXJleHByZXNzaW5nIENGVFIgdGhleSBoYWQgdXNlZC4gSEVLMjkzIGNlbGxzIGFyZSBhIHZlcnkgY29tbW9uIGltbW9ydGFsaXplZCBodW1hbiBjZWxsIGxpbmUgZGVyaXZlZCBmcm9tIHRoZSBraWRuZXlzIG9mIGEgZmVtYWxlIGVtYnJ5by4gVGhleSBhcmUgcGFydGljdWxhcmx5IHN1aXRlZCB0byByZXNlYXJjaCBkdWUgdG8gdGhlaXIgY29udmVuaWVudCBoYW5kbGluZyBhbmQgdHJhbnNmZWN0aW9uIHByb3BlcnRpZXMuIEJhc2ljIEhFSzI5MyBjZWxscyB3ZXJlIHByb3ZpZGVkIHRvIHVzIGJ5IHRoZSBDZWxsdWxhciBhbmQgTW9sZWN1bGFyIEJpb3RlY2hub2xvZ3kgd29ya2luZyBncm91cCBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSBsZWQgYnkgUHJvZi4gRHIuIEtyaXN0aWFuIE1cdTAwRkNsbGVyLCB3aG8gaXMgYWxzbyBvbmUgb2YgdGhlIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3JzIG9mIG91ciB0ZWFtLiBIRUsyOTNUIGNlbGxzIGV4cHJlc3MgYW4gYWRkaXRpb25hbCB0c0ExNjA5IGFsbGVsZSBvZiB0aGUgU1Y0MCBsYXJnZSBULWFudGlnZW4sIGFsbG93aW5nIGZvciByZXBsaWNhdGlvbiBvZiB2ZWN0b3JzIGNvbnRhaW5pbmcgdGhlIFNWNDAgb3JpZ2luIG9mIHJlcGxpY2F0aW9uWzVdLiBCZXNpZGVzIHRoZSBuYXRpdmUgQ0ZUUiBnZW5lLCB3aGljaCBpcyBub3QgZXhwcmVzc2VkIGluIEhFSyBjZWxscywgdGhlIEhFSzI5M1QgY2VsbCBsaW5lcyB1c2VkIGluIExldXZlbiBjYXJyeSBhbm90aGVyIGNvcHkgb2YgdGhlIGdlbmUgZW1iZWRkZWQgaW4gYW4gZXhwcmVzc2lvbiBjYXNzZXR0ZS4gVGhlIGNhc3NldHRlIGluY2x1ZGVzIGEgQ01WIHByb21vdGVyLCB3aGljaCBpcyBhIHN0YW5kYXJkIHByb21vdGVyIHVzZWQgZm9yIGdlbmUgb3ZlcmV4cHJlc3Npb24gaW4gaHVtYW4gY2VsbHMgZGVyaXZlZCBmcm9tIHRoZSBodW1hbiBDeXRvbWVnYWxvdmlydXNbNl0sIGFzIHdlbGwgYXMgYSBwdXJvbXljaW4gcmVzaXN0YW5jZSBjby1leHByZXNzZWQgd2l0aCB0aGUgQ0ZUUiBhbGxvd2luZyBmb3IgY29udGludW91cyBzZWxlY3Rpb24gb2YgQ0ZUUiBleHByZXNzaW5nIGNlbGxzLiBUaGUgd2hvbGUgY29uc3RydWN0IHdhcyBzdGFibHkgaW5zZXJ0ZWQgaW50byB0aGUgZ2Vub21lIHVzaW5nIGxlbnRpdmlyYWwgdHJhbnNkdWN0aW9uWzddWzhdLiA8L3A+XG4gICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL21ldGgtdXNlZC1jZWxscy9taWtyb3Nrb3BpZS1oZWsyOTN0LnBuZ1wiIGFsdD1cIlBoYXNlIGNvbnRyYXN0IGltYWdlIG9mIEhFSzI5M1QgYXQgMjB4IG1hZ25pZmljYXRpb25cIi8+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+RmlndXJlIDMuPC9iPlBoYXNlIGNvbnRyYXN0IGltYWdlIG9mIEhFSzI5M1QgYXQgMjB4IG1hZ25pZmljYXRpb248L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQ0ZCRTQxby0gY2VsbCBsaW5lXCIgaWQ9XCJDZWxsIEN1bHR1cmUyXCI+XG4gICAgICAgICAgPHA+VGhlIENGQkU0MW8tIGNlbGwgbGluZSwgZGVyaXZlZCBmcm9tIGJyb25jaGlhbCBlcGl0aGVsaWFsIGNlbGxzIG9mIGEgb25lLXllYXItb2xkIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50LCBzZXJ2ZXMgYXMgYSB2aXRhbCBtb2RlbCBmb3Igc3R1ZHlpbmcgY3lzdGljIGZpYnJvc2lzLiBUaGVzZSBjZWxscyBjbG9zZWx5IG1pbWljIHRoZSBwaHlzaW9sb2dpY2FsIGVudmlyb25tZW50IG9mIHRoZSBhaXJ3YXkgZXBpdGhlbGl1bSwgYWxsb3dpbmcgZm9yIG1vcmUgYWNjdXJhdGUgc3R1ZGllcyBvbiBob3cgQ0ZUUiBtdXRhdGlvbnMgYWZmZWN0IGNlbGwgZnVuY3Rpb24gYW5kIHJlc3BvbnNlIHRvIHRyZWF0bWVudHMuIFRoZXkgd2VyZSBpbW1vcnRhbGl6ZWQgdGhyb3VnaCBjYWxjaXVtLXBob3NwaGF0ZS1tZWRpYXRlZCB0cmFuc2ZlY3Rpb24gdXNpbmcgYSByZXBsaWNhdGlvbi1kZWZlY3RpdmUgcFNWb3JpIHBsYXNtaWQgdGhhdCBjYXJyaWVzIHRoZSBzaW1pYW4gdmlydXMgNDAgbGFyZ2UgVC1hbnRpZ2VuIChTVjQwLUxUKS4gVGhlIHBsYXNtaWQncyBkZWZlY3RpdmUgb3JpZ2luIG9mIHJlcGxpY2F0aW9uIHByZXZlbnRzIHZpcmFsIHByb3BhZ2F0aW9uLCB0aHVzIHByZXNlcnZpbmcgZXNzZW50aWFsIHBoeXNpb2xvZ2ljYWwgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBjZWxscyB3aGlsZSBlbmFibGluZyB0aGVtIHRvIGRldmVsb3AgZGlmZmVyZW50aWF0ZWQgbW9ycGhvbG9naWVzLiBDRkJFNDFvLSBjZWxscyBhcmUgaG9tb3p5Z291cyBmb3IgdGhlIEY1MDhkZWwgQ0ZUUiBtdXRhdGlvbiBbOV0uIFdlIGFyZSBoYXBweSB3ZSBnb3QgdGhpcyBjZWxsIGxpbmUgd2l0aCBwZXJtaXNzaW9uIGZyb20gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignaWduYXRvdmEnLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Qcm9mLiBEci4gSWduYXRvdmE8L2E+LCB3aG8gaXMgbGVhZGVyIG9mIGEgd29ya2luZyBncm91cCBhdCB0aGUgSW5zdGl0dXRlIGZvciBCaW9jaGVtaXN0cnkgYW5kIE1vbGVjdWxhciBCaW9sb2d5IG9mIEhhbWJ1cmcgVW5pdmVyc2l0eSBhbmQgYW4gaUdFTSBzdXBwb3J0ZXIgc2luY2UgYSBsb25nIHRpbWUgWzEwXS4gPC9wPlxuICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgKGhORUNzKVwiIGlkPVwiQ2VsbCBDdWx0dXJlM1wiPlxuICAgICAgICAgIDxwPkh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgd2VyZSBvYnRhaW5lZCBieSBuYXNhbCBicnVzaGluZywgYSBtaW5pbWFsbHkgaW52YXNpdmUgbWV0aG9kLiBUaGVzZSBjZWxscyBmdW5jdGlvbi9hY3QgYXMgcHJpbWFyeSBjdWx0dXJlcy4gQ3VsdGl2YXRlZCBpbiBhaXItbGlxdWlkIGludGVyZmFjZSAoQUxJKSBjdWx0dXJlcyBhbmQgYXBpY2FsLW91dCBhaXJ3YXkgb3JnYW5vaWRzIChBT0FPKSwgdGhleSBzZXJ2ZSBhcyBhIHN1aXRhYmxlIG1vZGVsIHRvIHZpc3VhbGlzZSB0aGUgZnVuY3Rpb25hbCBlcGl0aGVsaXVtIG9mIHRoZSBhaXJ3YXlzIGluIGEgZGlmZmVyZW50aWF0ZWQgZm9ybS4gVGhlIDxpPmluIHZpdm88L2k+IGFzcGVjdHMgb2YgYW4gYWlyd2F5IGRpc2Vhc2UsIHN1Y2ggYXMgQ0YsIGNhbiBiZSBtb2RlbGxlZCB1c2luZyBkb25vcnMgd2l0aCB0aG9zZSBhaXJ3YXkgZGlzZWFzZXMgWzExXS4gVGhpcyBtb2RlbCBpcyB0aGVyZWZvcmUgcGFydGljdWxhcmx5IHN1aXRhYmxlIGZvciB0ZXN0aW5nIG91ciBwcmltZSBlZGl0aW5nIGNvbXBsZXguIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8aWZyYW1lIHRpdGxlPVwiQmllbGVmZWxkLUNlQmlUZWM6IEFMSSBjZWxsIGN1bHR1cmUgKDIwMjQpIFtFbmdsaXNoXVwiIHdpZHRoPVwiNTYwXCIgaGVpZ2h0PVwiMzE1XCIgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy92aWRlb3MvZW1iZWQvZmY1NTdmNWEtOTRiZS00NWU2LTkwY2EtMGFmZmExNDQyM2UzP2F1dG9wbGF5PTEmYW1wO211dGVkPTFcIiBmcmFtZUJvcmRlcj1cIjBcIiBhbGxvd0Z1bGxTY3JlZW49e3RydWV9IHNhbmRib3g9XCJhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1zY3JpcHRzIGFsbG93LXBvcHVwcyBhbGxvdy1mb3Jtc1wiPjwvaWZyYW1lPlxuICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+RmlndXJlIDQuIDwvYj4gQUxJIGN1bHR1cmVzIG9mIGhORUNzOiBUaGUgYWN0aXZlIGNpbGlhIGJlYXQgZnJlcXVlbmN5IG9mIGRpZmZlcmVudGlhdGVkIGh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgKGhORUNzKSBpbiBhaXItbGlxdWlkIGludGVyZmFjZSAoQUxJKSBjdWx0dXJlIGlzIHZpc2libGUuIFRoaXMgY2lsaWFyeSBtb3ZlbWVudCBpcyBjcnVjaWFsIGZvciBtdWNvY2lsaWFyeSB0cmFuc3BvcnQsIHdoaWNoIGNvbnRyaWJ1dGVzIHRvIHRoZSBjbGVhcmFuY2Ugb2YgcGFydGljbGVzIGFuZCBwYXRob2dlbnMgaW4gdGhlIHJlc3BpcmF0b3J5IHRyYWN0LiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgIDxpZnJhbWUgdGl0bGU9XCJCaWVsZWZlbGQtQ2VCaVRlYzogQU9BTyBjZWxsIGN1bHR1cmUgKDIwMjQpIFtFbmdsaXNoXVwiIHdpZHRoPVwiNTYwXCIgaGVpZ2h0PVwiMzE1XCIgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy92aWRlb3MvZW1iZWQvMDU4ZDgzY2YtYWIwOS00NzZlLTlhYjItMzBjZDExNGZiYzBjP2F1dG9wbGF5PTEmYW1wO211dGVkPTFcIiBmcmFtZUJvcmRlcj1cIjBcIiBhbGxvd0Z1bGxTY3JlZW49e3RydWV9IHNhbmRib3g9XCJhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1zY3JpcHRzIGFsbG93LXBvcHVwcyBhbGxvdy1mb3Jtc1wiPjwvaWZyYW1lPlxuICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiA8Yj5GaWd1cmUgNS4gPC9iPiBBcGljYWwtT3V0IEFpcndheSBPcmdhbm9pZCAoQU9BTykgY3VsdHVyZTogVmlzaWJsZSBhcGljYWwtb3V0IGFpcndheSBvcmdhbm9pZHMgaW4gYWN0aW9uLiBUaGVzZSAzRCBzdHJ1Y3R1cmVzLCB3aGljaCBtaW1pYyB0aGUgYWlyd2F5IGVwaXRoZWxpdW0sIGFsbG93IGRldGFpbGVkIHN0dWR5IG9mIGNlbGx1bGFyIHByb2Nlc3NlcyBzdWNoIGFzIG11Y29jaWxpYXJ5IHRyYW5zcG9ydCBhbmQgc2VjcmV0b3J5IGFjdGl2aXRpZXMsIGluIHdoaWNoIGNpbGlhIGFuZCB2ZXNpY2xlcyBwbGF5IGEga2V5IHJvbGUuICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICBcblxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiTE5Qc1wiIGlkPVwiTE5Qc1wiPlxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQ3l0b3RveGljaXR5IFRlc3RzXCIgaWQ9XCJDeXRvdG94aWNpdHkgVGVzdHNcIj5cbiAgICAgICAgICA8SDQgdGV4dD1cIkFzc2Vzc2luZyB0aGUgU2FmZXR5IG9mIE91ciBMTlBzIFwiPjwvSDQ+XG4gICAgICAgICAgICA8cD5FbnN1cmluZyB0aGUgc2FmZXR5IGFuZCB0aG9yb3VnaCBjaGFyYWN0ZXJpemF0aW9uIG9mIG91ciBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSB3YXMgYSBjZW50cmFsIHBhcnQgb2Ygb3VyIHByb2plY3QsIGFzIHRoZXNlIHBhcnRpY2xlcyBhcmUgaW50ZW5kZWQgZm9yIHVzZSBpbiBiaW9sb2dpY2FsIHN5c3RlbXMuIFdlIGltcGxlbWVudGVkIGEgY29tcHJlaGVuc2l2ZSByYW5nZSBvZiBhc3NheXMgYW5kIHRlY2huaXF1ZXMgdG8gYXNzZXNzIHRoZWlyIGJpb3NhZmV0eSBhbmQgcGh5c2ljYWwgcHJvcGVydGllcywgZW5zdXJpbmcgdGhlaXIgc3VpdGFiaWxpdHkgZm9yIGFwcGxpY2F0aW9ucyBzdWNoIGFzIGRydWcgZGVsaXZlcnkgYW5kIGdlbmUgdGhlcmFweS4gQmVsb3cgaXMgYW4gb3ZlcnZpZXcgb2YgdGhlIGtleSBzdGVwcyB3ZSB0b29rIGluIG91ciBhc3Nlc3NtZW50LjwvcD5cbiAgICAgICAgICA8SDQgdGV4dD1cIk1UVCBBc3NheVwiPjwvSDQ+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JvdyBhbGlnbi1pdGVtcy1jZW50ZXInPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvaW50ZWdyYXRlZC1odW1hbi1wcmFjdGljZXMvbXR0YXNzYXkud2VicFwiIGFsdD1cIlBDMVwiIHN0eWxlPXt7bWF4SGVpZ2h0OiBcIjIwMHB0XCJ9fS8+IFxuICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIDYuIDwvYj4gXG4gICAgICAgICAgICAgICAgICBNVFQgQXNzYXk6IGZvcm1hdGlvbiBvZiBwdXJwbGUgZm9ybWF6YW4gY3J5c3RhbHMgYnkgbGl2aW5nIGNlbGxzLlxuICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4gXG4gICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICA8cD5UbyBldmFsdWF0ZSB0aGUgY3l0b3RveGljaXR5IG9mIG91ciBMTlBzLCB3ZSBjb25kdWN0ZWQgYW4gTVRUIGFzc2F5LCB3aGljaCBtZWFzdXJlcyB0aGUgbWV0YWJvbGljIGFjdGl2aXR5IG9mIGNlbGxzLiBUaGlzIGFzc2F5IGlzIGJhc2VkIG9uIHRoZSBhYmlsaXR5IG9mIGxpdmluZyBjZWxscyB0byByZWR1Y2UgTVRULCBhIHllbGxvdyB0ZXRyYXpvbGl1bSBzYWx0LCBpbnRvIHB1cnBsZSBmb3JtYXphbiBjcnlzdGFscyB0aHJvdWdoIE5BRChQKUgtZGVwZW5kZW50IGVuenltZXMuIENlbGxzIHdlcmUgdHJlYXRlZCB3aXRoIHZhcmlvdXMgY29uY2VudHJhdGlvbnMgb2YgTE5QcywgYW5kIGFmdGVyIGRpc3NvbHZpbmcgdGhlIGZvcm1hemFuIGNyeXN0YWxzIHdpdGggRE1TTywgd2UgbWVhc3VyZWQgYWJzb3JiYW5jZS4gSGlnaGVyIGFic29yYmFuY2UgdmFsdWVzIGluZGljYXRlIGdyZWF0ZXIgY2VsbCB2aWFiaWxpdHkuIE91ciByZXN1bHRzIHNob3dlZCBubyBzaWduaWZpY2FudCByZWR1Y3Rpb24gaW4gY2VsbCB2aWFiaWxpdHkgYWNyb3NzIGFsbCBMTlAgY29uY2VudHJhdGlvbnMsIGRlbW9uc3RyYXRpbmcgdGhhdCB0aGUgTE5QcyBkaWQgbm90IGluZHVjZSBjeXRvdG94aWMgZWZmZWN0cy4gVGhpcyBmaW5kaW5nIGlzIGNydWNpYWwgZm9yIGVuc3VyaW5nIHRoYXQgdGhlIExOUHMgYXJlIHNhZmUgZm9yIGJpb2xvZ2ljYWwgdXNlLCBzdXBwb3J0aW5nIHRoZWlyIHBvdGVudGlhbCBpbiBjbGluaWNhbCBhcHBsaWNhdGlvbnMgc3VjaCBhcyBkcnVnIGRlbGl2ZXJ5IGFuZCBnZW5lIHRoZXJhcHkuIE92ZXJhbGwsIHRoZSBNVFQgYXNzYXkgcHJvdmlkZWQgc3Ryb25nIGV2aWRlbmNlIG9mIHRoZSBiaW9jb21wYXRpYmlsaXR5IG9mIG91ciBMTlBzLiA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICA8SDQgdGV4dD1cIlByb2xpZmVyYXRpb24gQXNzYXkgdG8gTW9uaXRvciBMb25nLVRlcm0gU2FmZXR5XCI+PC9IND5cbiAgICAgICAgICAgIDxwPkluIGFkZGl0aW9uIHRvIGFzc2Vzc2luZyBpbW1lZGlhdGUgY3l0b3RveGljaXR5LCB3ZSBhbHNvIGV2YWx1YXRlZCB0aGUgbG9uZy10ZXJtIHNhZmV0eSBvZiB0aGUgTE5QcyBieSBjb25kdWN0aW5nIGEgcHJvbGlmZXJhdGlvbiBhc3NheS4gVGhpcyBhc3NheSB0cmFja2VkIGNlbGwgZGl2aXNpb24gYW5kIGdyb3d0aCBvdmVyIHRpbWUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIExOUHMgaW1wYWN0ZWQgY2VsbHVsYXIgZnVuY3Rpb24uIE91ciByZXN1bHRzIHNob3dlZCB0aGF0IExOUC10cmVhdGVkIGNlbGxzIGhhZCBzaW1pbGFyIGdyb3d0aCByYXRlcyB0byB1bnRyZWF0ZWQgY29udHJvbHMsIGluZGljYXRpbmcgdGhhdCB0aGUgTE5QcyBkbyBub3QgaW50ZXJmZXJlIHdpdGggbm9ybWFsIGNlbGwgcHJvY2Vzc2VzLiBUaGlzIGZ1cnRoZXIgY29uZmlybXMgdGhlaXIgYmlvY29tcGF0aWJpbGl0eSBhbmQgc3VpdGFiaWxpdHkgZm9yIHVzZSBpbiBiaW9sb2dpY2FsIHN5c3RlbXMuPC9wPlxuICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkZsdW9yZXNjZW5jZS1BY3RpdmF0ZWQgQ2VsbCBTb3J0aW5nIChGQUNTKVwiIGlkPVwiRkFDU1wiPlxuICAgICAgICAgICAgPHA+VG8gYXNzZXNzIHRoZSB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSBvZiBvdXIgTE5Qcywgd2UgdXNlZCBmbHVvcmVzY2VuY2UtYWN0aXZhdGVkIGNlbGwgc29ydGluZyAoRkFDUykuIFRoaXMgbWV0aG9kIGludm9sdmVkIHRhZ2dpbmcgdGhlIExOUHMgd2l0aCBmbHVvcmVzY2VudCBtYXJrZXJzIGFuZCBtZWFzdXJpbmcgdGhlaXIgYWJpbGl0eSB0byBkZWxpdmVyIGdlbmV0aWMgbWF0ZXJpYWwgaW50byB0YXJnZXQgY2VsbHMuIEZBQ1MgcHJvdmlkZWQgcXVhbnRpdGF0aXZlIGluc2lnaHRzIGludG8gaG93IGVmZmVjdGl2ZWx5IHRoZSBMTlBzIHRyYW5zZmVjdGVkIGNlbGxzLCBoZWxwaW5nIHVzIG9wdGltaXplIHRoZWlyIGRlc2lnbiBmb3IgZ2VuZSB0aGVyYXB5IGFwcGxpY2F0aW9ucy4gPC9wPlxuICAgICAgICAgIDwvU3ViZXNjdGlvbj5cblxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiSW4tRGVwdGggQ2hhcmFjdGVyaXphdGlvbiBvZiBMTlBzXCIgaWQ9XCJJbi1EZXB0aCBDaGFyYWN0ZXJpemF0aW9uIG9mIExOUHNcIj5cbiAgICAgICAgICAgIDxINCB0ZXh0PVwiRHluYW1pYyBMaWdodCBTY2F0dGVyaW5nIChETFMpIGFuZCBaZXRhIFBvdGVudGlhbFwiPjwvSDQ+IFxuICAgICAgICAgICAgICA8cD5UaGUgaHlkcm9keW5hbWljIHJhZGl1cyAoXHVEODM1XHVEQzQ1XHVEODM1XHVEQzNCKSBvZiB0aGUgdmVzaWNsZXMgYW5kIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpIHdhcyBkZXRlcm1pbmVkIHRocm91Z2ggYW5nbGUtZGVwZW5kZW50IHBob3RvbiBjb3JyZWxhdGlvbiBzcGVjdHJvc2NvcHkgKFBDUykgYXQgXHVEODM1XHVEQzQ3PTIwXHUyMjE4Qy4gU2FtcGxlcyB3ZXJlIG1lYXN1cmVkIGluIE5NUiB0dWJlcyB1c2luZyBhIDNEIExTIFNwZWN0cm9tZXRlciBQcm8gKExTIEluc3RydW1lbnRzLCBGcmlib3VyZywgU3dpdHplcmxhbmQpLCB3aGljaCB3YXMgZXF1aXBwZWQgd2l0aCBhIEhlTmUgTGFzZXIgKDYzMi44IG5tLCAxMTQ1UDsgSkRTVSwgTWlscGl0YXMsIENBLCBVU0EpLCBhIGRlY2FsaW5lIGluZGV4LW1hdGNoaW5nIHZhdCwgYW4gYXV0b21hdGVkIGdvbmlvbWV0ZXIsIGFuZCB0d28gZGV0ZWN0b3JzLiBNZWFzdXJlbWVudHMgd2VyZSBwZXJmb3JtZWQgaW4gYSAzRCBjcm9zcy1tb2RlIHRvIGVsaW1pbmF0ZSBtdWx0aXBsZSBzY2F0dGVyaW5nIGVmZmVjdHMsIGNvdmVyaW5nIGEgc2NhdHRlcmluZyBhbmdsZSByYW5nZSBvZiAzMFx1MDBCMCB0byAxMjBcdTAwQjAgaW4gaW5jcmVtZW50cyBvZiAxMFx1MDBCMCwgd2l0aCBhIG1lYXN1cmluZyB0aW1lIG9mIHRocmVlIGludGVydmFscyBvZiAxMjAgcyBwZXIgYW5nbGUuVGhlIGF1dG9jb3JyZWxhdGlvbiBmdW5jdGlvbiBvZiB0aGUgc2NhdHRlcmVkIGxpZ2h0IGludGVuc2l0eSB3YXMgZ2VuZXJhdGVkIHVzaW5nIGEgbXVsdGlwbGUtXHUwM0M0IGRpZ2l0YWwgY29ycmVsYXRvciBhbmQgYW5hbHl6ZWQgdmlhIGludmVyc2UgTGFwbGFjZSB0cmFuc2Zvcm1hdGlvbiAoQ09OVElOKSB0byBkZXRlcm1pbmUgdGhlIG1lYW4gcmVsYXhhdGlvbiByYXRlIChcdTAzOTMpLiBGcm9tIHRoZXNlIGRhdGEsIHRoZSBoeWRyb2R5bmFtaWMgcmFkaXVzIChcdUQ4MzVcdURDNDVcdUQ4MzVcdURDM0IpIHdhcyBjYWxjdWxhdGVkIHVzaW5nIHRoZSBTdG9rZXNcdTIwMTNFaW5zdGVpbiBlcXVhdGlvbjogXG4gICAgICAgICAgICAgICAgXHVEODM1XHVEQzQ1XHVEODM1XHVEQzNCPVx1RDgzNVx1REM1OFx1RDgzNVx1REMzNVx1MjJDNVx1RDgzNVx1REM0Ny82XHVEODM1XHVERjBCXHVEODM1XHVERjAyXHVEODM1XHVEQzM3XHVEODM1XHVEQzQ3IHdoZXJlIFx1RDgzNVx1REM1OFx1RDgzNVx1REMzNSBpcyB0aGUgQm9sdHptYW5uIGNvbnN0YW50LCBUIGlzIHRoZSB0ZW1wZXJhdHVyZSwgXHUwM0I3IGlzIHRoZSBzb2x2ZW50IHZpc2Nvc2l0eSwgYW5kIERUXG4gIGlzIHRoZSB0cmFuc2xhdGlvbmFsIGRpZmZ1c2lvbiBjb2VmZmljaWVudC4gVGhlIHZhbHVlIG9mIFx1RDgzNVx1REMzN1x1RDgzNVx1REM0NyB3YXMgb2J0YWluZWQgZnJvbSB0aGUgc2xvcGUgb2YgdGhlIGxpbmVhciByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgcmVsYXhhdGlvbiByYXRlIChcdTAzOTMpIGFuZCBcbiAgdGhlIHNxdWFyZWQgbWFnbml0dWRlIG9mIHRoZSBzY2F0dGVyaW5nIHZlY3RvciAoXHVEODM1XHVEQzVFMikgYXMgZGVmaW5lZCBieTpcdTAzOTMgPVx1RDgzNVx1REMzN1x1RDgzNVx1REM0N1x1MjJDNVx1RDgzNVx1REM1RTJcdTAzOTMuXG4gVGhlIHZpc2Nvc2l0eSBvZiB3YXRlciB3YXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdGVtcGVyYXR1cmUgdG8gcHJvdmlkZSBhY2N1cmF0ZSBtZWFzdXJlbWVudHMgZm9yIHRoZSBnaXZlbiBjb25kaXRpb25zLlxuVG8gY29tcGxlbWVudCB0aGUgUENTIGFuYWx5c2lzLCBkeW5hbWljIGxpZ2h0IHNjYXR0ZXJpbmcgKERMUykgd2FzIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBzaXplIGRpc3RyaWJ1dGlvbiBhbmQgcG9seWRpc3BlcnNpdHkgaW5kZXggKFBESSkgb2YgdGhlIExOUHMuIERMUyBtZWFzdXJlbWVudHMgY29uZmlybWVkIHRoYXQgdGhlIExOUHMgaGFkIGEgY29uc2lzdGVudCBzaXplIGRpc3RyaWJ1dGlvbiB3aXRoIG1pbmltYWwgYWdncmVnYXRpb24sIHdoaWNoIGlzIGNydWNpYWwgZm9yIHRoZWlyIHN0YWJpbGl0eSBhbmQgZWZmZWN0aXZlbmVzcy4gRnVydGhlcm1vcmUsIHdlIGFzc2Vzc2VkIHRoZSB6ZXRhIHBvdGVudGlhbCBvZiB0aGUgTE5QcyB0byBldmFsdWF0ZSB0aGVpciBzdXJmYWNlIGNoYXJnZS4gQSBoaWdoIHpldGEgcG90ZW50aWFsIHZhbHVlIGluZGljYXRlZCB0aGF0IHRoZSBMTlBzIHdlcmUgc3RhYmxlIGluIHN1c3BlbnNpb24sIGEgbmVjZXNzYXJ5IGNvbmRpdGlvbiBmb3IgbWFpbnRhaW5pbmcgdGhlaXIgZnVuY3Rpb25hbGl0eSBpbiBiaW9sb2dpY2FsIGVudmlyb25tZW50cy5cbk92ZXJhbGwsIHRoZSBjb21iaW5hdGlvbiBvZiBQQ1MsIERMUywgYW5kIHpldGEgcG90ZW50aWFsIG1lYXN1cmVtZW50cyBwcm92aWRlZCBhIGNvbXByZWhlbnNpdmUgY2hhcmFjdGVyaXphdGlvbiBvZiB0aGUgTE5QcywgY29uZmlybWluZyB0aGVpciBoeWRyb2R5bmFtaWMgcHJvcGVydGllcywgc3RhYmlsaXR5LCBhbmQgc3VpdGFiaWxpdHkgZm9yIGRydWcgZGVsaXZlcnkgYXBwbGljYXRpb25zLiA8L3A+XG4gICAgICAgICAgICA8SDQgdGV4dD1cIlNFTSBhbmQgQ3J5by1FTSBmb3IgU3RydWN0dXJhbCBBbmFseXNpc1wiPjwvSDQ+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgIDxwPkZvciB0aGUgY3J5by10cmFuc21pc3Npb24gZWxlY3Ryb24gbWljcm9zY29weSAoQ3J5by1URU0pIGFuYWx5c2lzLCBzYW1wbGVzIHdlcmUgdml0cmlmaWVkIG9uIGhvbGV5IGNhcmJvbiBURU0gZ3JpZHMgKExhY2V5IENhcmJvbiBGaWxtIGNvYXRlZCwgMjAwIE1lc2g7IFNjaWVuY2UgU2VydmljZXMsIE1cdTAwRkNuY2hlbiwgR2VybWFueSkgdXNpbmcgYSBMZWljYSBibG90dGluZyBhbmQgcGx1bmdpbmcgZGV2aWNlIChMZWljYSBFTSBHUCwgTGVpY2EgTWlrcm9zeXN0ZW1lIFZlcnRyaWViIEdtYkgsIFdldHpsYXIsIEdlcm1hbnkpLiBUaGUgZ3JpZHMgd2VyZSByYXBpZGx5IHBsdW5nZWQgaW50byBsaXF1aWQgZXRoYW5lIGNvb2xlZCBieSBsaXF1aWQgbml0cm9nZW4gdG8gZW5zdXJlIHN1ZmZpY2llbnRseSBmYXN0IGNvb2xpbmcuIEFmdGVyIHZpdHJpZmljYXRpb24sIHRoZSBncmlkcyB3ZXJlIHRyYW5zZmVycmVkIHRvIGEgY3J5byB0cmFuc2ZlciBhbmQgdG9tb2dyYXBoeSBob2xkZXIgKEZpc2NoaW9uZSBNb2RlbCAyNTUwLCBFLkEuIEZpc2NoaW9uZSBJbnN0cnVtZW50cywgUGl0dHNidXJnaCwgVVNBKS5cblRFTSBpbWFnZXMgd2VyZSBhY3F1aXJlZCB1c2luZyBhIEpFT0wgSkVNLTIyMDBGUyBlbGVjdHJvbiBtaWNyb3Njb3BlIChKRU9MLCBGcmVpc2luZywgR2VybWFueSkgZXF1aXBwZWQgd2l0aCBhIGNvbGQgZmllbGQgZW1pc3Npb24gZWxlY3Ryb24gZ3VuLCBvcGVyYXRlZCBhdCBhbiBhY2NlbGVyYXRpb24gdm9sdGFnZSBvZiAyMDAga1YuIEFsbCBpbWFnZXMgd2VyZSBjYXB0dXJlZCBkaWdpdGFsbHkgdXNpbmcgYSBib3R0b20tbW91bnRlZCBjYW1lcmEgKEdhdGFuIE9uZVZpZXcsIEdhdGFuLCBQbGVhc2FudG9uLCBVU0EpIGFuZCBwcm9jZXNzZWQgd2l0aCBhIGRpZ2l0YWwgaW1hZ2luZyBwcm9jZXNzaW5nIHN5c3RlbSAoRGlnaXRhbCBNaWNyb2dyYXBoIEdNUyAzLCBHYXRhbiwgUGxlYXNhbnRvbiwgVVNBKS5cbkluIGFkZGl0aW9uIHRvIENyeW8tVEVNLCB3ZSBlbXBsb3llZCBzY2FubmluZyBlbGVjdHJvbiBtaWNyb3Njb3B5IChTRU0pIHRvIGZ1cnRoZXIgY2hhcmFjdGVyaXplIHRoZSBtb3JwaG9sb2d5IGFuZCBzdXJmYWNlIHN0cnVjdHVyZSBvZiB0aGUgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykuIFNFTSBwcm92aWRlZCBoaWdoLXJlc29sdXRpb24gaW1hZ2VzIHRoYXQgY29uZmlybWVkIHRoZSBzcGhlcmljYWwgc2hhcGUgYW5kIHVuaWZvcm1pdHkgb2YgdGhlIExOUHMuIENyeW8tZWxlY3Ryb24gbWljcm9zY29weSAoY3J5by1FTSkgd2FzIGFsc28gdXNlZCB0byBpbnZlc3RpZ2F0ZSB0aGUgaW50ZXJuYWwgc3RydWN0dXJlIG9mIHRoZSBMTlBzLCByZXZlYWxpbmcgdGhlIHByZXNlbmNlIG9mIGxpcGlkIGxheWVycyBhbmQgZW5jYXBzdWxhdGVkIG1hdGVyaWFscywgd2hpY2ggYXJlIGVzc2VudGlhbCBmb3IgdW5kZXJzdGFuZGluZyB0aGVpciBmdW5jdGlvbmFsaXR5IGluIGRydWcgZGVsaXZlcnkgYXBwbGljYXRpb25zLiA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L3BsYXNtYXRlbS53ZWJwXCIgYWx0PVwiUEMxXCIgc3R5bGU9e3ttYXhIZWlnaHQ6IFwiMjAwcHRcIn19Lz4gXG4gICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgNy4gPC9iPiBcbiAgICAgICAgICAgICAgICAgIFNhbXBsZSBwcmVwYXJhdGlvbiBmb3IgU0VNOiBzcHV0dGVyaW5nIGluIEFyZ29uIHBsYXNtYS5cbiAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgPC9maWd1cmU+IFxuICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgIFxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQ29uY2x1c2lvblwiIGlkPVwiQ29uY2x1c2lvblwiPlxuICAgICAgICAgIDxINCB0ZXh0PVwiSW1wb3J0YW5jZSBvZiBTYWZldHkgaW4gTE5QIERldmVsb3BtZW50XCI+PC9IND5cbiAgICAgICAgICAgIDxwPlRlc3RpbmcgdGhlIHNhZmV0eSBvZiBvdXIgTE5QcyB3YXMgYSBjcml0aWNhbCBzdGVwIGluIHRoZWlyIGRldmVsb3BtZW50LiBMTlBzIGFyZSBpbmNyZWFzaW5nbHkgYmVpbmcgdXNlZCBpbiBjdXR0aW5nLWVkZ2UgdGhlcmFwaWVzLCBzdWNoIGFzIG1STkEgdmFjY2luZXMgYW5kIHRhcmdldGVkIGRydWcgZGVsaXZlcnkgc3lzdGVtcy4gRm9yIHRoZXNlIHRlY2hub2xvZ2llcyB0byBiZSB2aWFibGUsIHRoZSBuYW5vcGFydGljbGVzIG11c3Qgbm90IGhhcm0gdGhlIGNlbGxzIHRoZXkgYXJlIGludGVuZGVkIHRvIGludGVyYWN0IHdpdGguIFRoZSBNVFQgYW5kIHByb2xpZmVyYXRpb24gYXNzYXlzIHByb3ZpZGVkIHJvYnVzdCBkYXRhLCBjb25maXJtaW5nIHRoZSBiaW9jb21wYXRpYmlsaXR5IG9mIG91ciBMTlBzIGFuZCByZWluZm9yY2luZyB0aGVpciBwb3RlbnRpYWwgZm9yIHNhZmUgdXNlIGluIGZ1cnRoZXIgcmVzZWFyY2ggYW5kIGNsaW5pY2FsIGFwcGxpY2F0aW9ucy4gPC9wPlxuICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgXG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJSZWZlcmVuY2VzXCIgaWQ9XCJSZWZlcmVuY2VzXCI+XG4gICAgICAgICA8TWV0aG9kU291cmNlcy8+XG4gICAgICAgIDwvU2VjdGlvbj5cblxuICAgICAgICBcblxuICAgICAgICBcbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgIiwgImV4cG9ydCBmdW5jdGlvbiBNRVRISCgpIHtcblxuICAgIHJldHVybiAoXG4gICAgICA8SGVhZGVyQm94IHRpdGxlPVwiTWF0ZXJpYWxzXCIgdGl0bGUyPVwiJiBNZXRob2RzXCIgaWQ9XCJtbWhlYWRcIj5cbiAgICAgICAgXG4gICAgICA8L0hlYWRlckJveD5cbiAgICApO1xuICB9XG4gIFxuICBpbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiOyIsICJpbXBvcnQgeyBjcmVhdGVTaWRlYmFyIH0gZnJvbSBcIi4uL3V0aWxzL2NyZWF0ZVNpZGViYXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIENvblNpZGViYXIoKXtcbiAgICBsZXQgc2lkZWJhciA9IGNyZWF0ZVNpZGViYXIodGFicyk7IFxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiAgZC1ub25lIGQtbGctYmxvY2tcIj5cbiAgICAgICAgICAge3NpZGViYXJ9XG4gICAgICAgIDwvZGl2PlxuICAgIClcbn1cblxuXG5jb25zdCB0YWJzID0gW1xuICAgIHsgdGFiOiBcIkJGSCBFdXJvcGVhbiBNZWV0VXBcIiwgc3VidGFiczogW1wiQWZ0ZXJ2aWRlb1wiLCBcIlRpbWVsaW5lXCIsIFwiQWJvdXRcIiwgXCJQb3N0ZXJzXCIsIFwiR3VpZGVsaW5lXCIsIFwiR2FsbGVyeVwiLCBcIkRvd25sb2Fkc1wiXX0sXG4gICAge3RhYjogXCJTYWZldHkgR3VpZGVsaW5lXCJ9LFxuICAgIHt0YWI6IFwiQ29sbGFib3JhdGlvbnNcIn0sXG4gICAge3RhYjogXCJQYXRpZW50IE1hdHRlcnNcIn0sXG4gICAge3RhYjogXCJXaWtpXCJ9XG4gIF07XG4iLCAiaW1wb3J0IHsgY3JlYXRlU2lkZWJhciB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVTaWRlYmFyXCI7XG5cblxuXG5leHBvcnQgZnVuY3Rpb24gaUdlbUJpZWxlZmVsZFNpZGViYXIoKXtcbiAgICBsZXQgc2lkZWJhciA9IGNyZWF0ZVNpZGViYXIodGFicyk7IFxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICB7c2lkZWJhcn1cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG5jb25zdCB0YWJzID0gW1xuICAgIHt0YWI6IFwiQmllbGVmZWxkIFVuaXZlcnNpdHlcIn0sXG4gICAgeyB0YWI6IFwiSGlzdG9yeVwifSxcbiAgICB7IHRhYjogXCJTdGVlcmluZyBDb21taXR0ZWVcIiwgc3VidGFiczogW1wiRnVuY3Rpb25cIiwgXCJKXHUwMEY2cm5cIl19LFxuICAgIHt0YWI6IFwiRnV0dXJlXCJ9XG4gIF07IiwgImltcG9ydCB7IGNyZWF0ZVNpZGViYXIgfSBmcm9tIFwiLi4vdXRpbHMvY3JlYXRlU2lkZWJhclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gSnVkU2lkZWJhcigpe1xuICAgIGxldCBzaWRlYmFyID0gY3JlYXRlU2lkZWJhcih0YWJzKTsgXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yICBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICB7c2lkZWJhcn1cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG5cbmNvbnN0IHRhYnMgPSBbXG4gICAge3RhYjogXCJCZXN0IFRoZXJhcGV1dGljIFByb2plY3RcIn0sXG4gICAge3RhYjogXCJCZXN0IEludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VcIn0sXG4gICAge3RhYjogXCJTYWZldHkgJiBTZWN1cml0eVwifSxcbiAgICB7dGFiOiBcIkJlc3QgTmV3IEJhc2ljIFBhcnRcIn0sXG4gICAge3RhYjogXCJDb25jbHVzaW9uXCJ9XG4gIF07XG4iLCAiaW1wb3J0IHsgY3JlYXRlU2lkZWJhciB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVTaWRlYmFyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBNZXRoU2lkZWJhcigpe1xuICAgIGxldCBzaWRlYmFyID0gY3JlYXRlU2lkZWJhcih0YWJzKTsgXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yIGQtbm9uZSBkLWxnLWJsb2NrXCI+XG4gICAgICAgICAgIHtzaWRlYmFyfVxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cblxuY29uc3QgdGFicyA9IFtcbiAgICB7IHRhYjogXCJJbnRyb2R1Y3Rpb25cIn0sXG4gICAgeyB0YWI6IFwiUGF0Y2ggQ2xhbXBcIiwgc3VidGFiczogW1wiQmFja2dyb3VuZFwiLCBcIlByaW5jaXBsZXNcIiwgXCJBcHBsaWNhdGlvblwiXX0sXG4gICAge3RhYjogXCJDZWxsIEN1bHR1cmVcIiwgc3VidGFiczogW1wiSEVLIENlbGxzXCIsIFwiQ0ZCRTQxby1cIiwgXCJoTkVDc1wiXX0sXG4gICAge3RhYjogXCJMTlBzXCJ9XG4gIF07XG4iLCAiaW1wb3J0IHsgY3JlYXRlU2lkZWJhciB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVTaWRlYmFyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBQYXJ0U2lkZWJhcigpe1xuICAgIGxldCBzaWRlYmFyID0gY3JlYXRlU2lkZWJhcih0YWJzKTsgXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yIGQtbm9uZSBkLWxnLWJsb2NrXCI+XG4gICAgICAgICAgIHtzaWRlYmFyfVxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cblxuY29uc3QgdGFicyA9IFtcbiAgICB7IHRhYjogXCJJbnRyb2R1Y3Rpb25cIiwgc3VidGFiczogW1wiRGVzY3JpcHRpb25cIiwgXCJDaGFyYWN0ZXJpemF0aW9uXCJdfSxcbiAgICB7IHRhYjogXCJQcm9jZXNzXCIsIHN1YnRhYnM6IFtcIkVDXCIsIFwiRGVzaWduIGFuZCBCdWlsZFwiXX0sXG4gICAge3RhYjogXCJFeHBlcmltZW50c1wiLCBzdWJ0YWJzOiBbXCJDbG9uaW5nXCIsIFwiTmlrYXNlLUFzc2F5XCIsIFwiQWN0aXZpdHkgRXhwZXJpbWVudHNcIl19LFxuICAgIHt0YWI6IFwiUGFydHMgQ29sbGVjdGlvblwiLCBzdWJ0YWJzOiBbXCJQbGFzbWlkc1wiLCBcIkJhc2ljIFBhcnRzXCIsIFwiQ29tcG9zaXRlIFBhcnRzXCJdfSxcbiAgXTtcbiIsICJcbmltcG9ydCB7IGNyZWF0ZVNpZGViYXIgfSBmcm9tIFwiLi4vdXRpbHMvY3JlYXRlU2lkZWJhclwiO1xuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIFJlc3VsdFNpZGViYXIoKXtcbiAgICBsZXQgc2lkZWJhciA9IGNyZWF0ZVNpZGViYXIodGFicyk7IFxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICB7c2lkZWJhcn1cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG5jb25zdCB0YWJzID0gW1xuICAgIHsgdGFiOiBcIkFic3RyYWN0XCIgLCBzdWJ0YWJzOiBbXCJJbnRyb2R1Y3Rpb25cIiwgXCJHb2FscyBhbmQgTWlsZXN0b25lc1wiXX0sXG4gICAge3RhYjogXCJFeHBlcmltZW50YWwgRGVzaWduXCIsIHN1YnRhYnM6IFtcIlByb29mIG9mIENvbmNlcHRcIiwgXCJQcmltZUd1aWRlXCIsIFwiTE5QIFN5bnRoZXNpc1wiLCBcIkNlbGxjdWx0dXJlXCIsIFwiRG93bnN0cmVhbSBBcHBsaWNhdGlvbnNcIl19LFxuICAgIC8vIHt0YWI6IFwiXCJ9LFxuICBdOyIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL2hvbWUvbGlsaS9Eb2N1bWVudHMvaUdlbS9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9ob21lL2xpbGkvRG9jdW1lbnRzL2lHZW0vYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzL3N0cmluZ1RvU2x1Zy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vaG9tZS9saWxpL0RvY3VtZW50cy9pR2VtL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlscy9zdHJpbmdUb1NsdWcudHNcIjtleHBvcnQgZnVuY3Rpb24gc3RyaW5nVG9TbHVnKHN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHNsdWcgPSBTdHJpbmcoc3RyaW5nKS50b0xvd2VyQ2FzZSgpO1xuICBzbHVnID0gc2x1Zy5yZXBsYWNlKC9bXmEtejAtOS1dL2csIFwiLVwiKTtcbiAgc2x1ZyA9IHNsdWcucmVwbGFjZSgvLSsvZywgXCItXCIpO1xuICAvLyByZW1vdmUgZGFzaGVzIGF0IHN0YXJ0IGFuZCBlbmRcbiAgY29uc3Qgc3RhcnQgPSBzbHVnLnNlYXJjaCgvW14tXS8pOyAvLyBmaW5kIGluZGV4IG9mIGZpcnN0IG5vbi1kYXNoXG4gIGNvbnN0IGVuZCA9IHNsdWcuc2VhcmNoKC8tKyQvKTsgLy8gZmluZCBpbmRleCBvZiBmaXJzdCBlbmQgZGFzaFxuICByZXR1cm4gc2x1Zy5zdWJzdHJpbmcoc3RhcnQsIGVuZCA9PT0gLTEgPyB1bmRlZmluZWQgOiBlbmQpO1xufVxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvaG9tZS9saWxpL0RvY3VtZW50cy9pR2VtL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlsc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL2hvbWUvbGlsaS9Eb2N1bWVudHMvaUdlbS9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHMvdXNlU2NyaXB0LnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9ob21lL2xpbGkvRG9jdW1lbnRzL2lHZW0vYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzL3VzZVNjcmlwdC50c1wiO2ltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNjcmlwdCh7dXJsfTp7dXJsOiBzdHJpbmd9KSB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG5cbiAgICBzY3JpcHQuc3JjID0gdXJsO1xuICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JpcHQpO1xuICAgIH1cbiAgfSwgW3VybF0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgdXNlU2NyaXB0O1xuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUFtVCxTQUFTLGNBQWMsZUFBZTtBQUN6VixPQUFPLFdBQVc7OztBQ0RsQixTQUFTLFdBQVcsUUFBUSxnQkFBZ0I7QUFhcEMsbUJBS1ksS0FKUixZQURKOzs7QUNiUixTQUFTLGFBQUFBLFlBQVcsVUFBQUMsU0FBUSxZQUFBQyxpQkFBZ0I7QUE4RXBDLHFCQUFBQyxXQU1ZLE9BQUFDLE1BZ0JBLFFBQUFDLGFBdEJaOzs7QUM5RVIsU0FBUyxhQUFBQyxZQUFXLFVBQUFDLFNBQVEsWUFBQUMsaUJBQWdCO0FBOERwQyxxQkFBQUMsV0FVWSxPQUFBQyxNQVlSLFFBQUFDLGFBdEJKOzs7QUM5RFIsU0FBUyxhQUFBQyxZQUFXLFVBQUFDLFNBQVEsWUFBQUMsaUJBQWdCO0FBNkVwQyxxQkFBQUMsV0FVWSxPQUFBQyxNQVZaLFFBQUFDLGFBQUE7OztBQzdFUixTQUFTLGFBQUFDLFlBQVcsVUFBQUMsU0FBUSxZQUFBQyxpQkFBZ0I7QUFrRHBDLHFCQUFBQyxXQVVZLE9BQUFDLE1BVlosUUFBQUMsYUFBQTs7O0FDbERSLFNBQVMsYUFBQUMsWUFBVyxZQUFBQyxpQkFBZ0I7QUFDcEMsU0FBUyxhQUFhLG1CQUFtQjs7O0FDRHpDLFNBQWdCLGVBQWUsWUFBWSxZQUFBQyxpQkFBZ0I7QUFRdkQsZ0JBQUFDLFlBQUE7QUFOSixJQUFNLGlCQUFpQixjQUFtQixJQUFJO0FBWXZDLElBQU0sYUFBYSxNQUFNLFdBQVcsY0FBYzs7O0FDRHhDLGdCQUFBQyxNQThFTCxRQUFBQyxhQTlFSztBQTJGVixTQUFTLEdBQUcsRUFBQyxNQUFNLEdBQUUsR0FBOEI7QUFDdEQsTUFBSTtBQUNKLE1BQUksSUFBSTtBQUNKLGFBQVM7QUFBQSxFQUNiLE9BQ0k7QUFDQSxhQUFTLGFBQWEsSUFBSTtBQUFBLEVBQzlCO0FBQ0EsU0FDSSxnQkFBQUMsS0FBQyxTQUNHLDBCQUFBQyxNQUFDLFFBQUcsV0FBVSxNQUFLLElBQUksUUFBUTtBQUFBO0FBQUEsSUFBRTtBQUFBLElBQUs7QUFBQSxLQUFDLEdBQzNDO0FBR1I7OztBQ3JIWSxnQkFBQUMsWUFBQTs7O0FDY1IscUJBQUFDLFdBSVEsT0FBQUMsTUFZUSxRQUFBQyxhQWhCaEI7OztBQ2ZKLFNBQVMsWUFBWTs7O0FDMkJyQixTQUFTLFdBQVcsSUFBWSxZQUFxQjtBQUNuRCxNQUFJLE9BQU8sV0FBVyxZQUFhO0FBRW5DLE1BQUksZUFBZSxTQUFTO0FBQzVCLE1BQUksU0FBUyxZQUFZO0FBRXpCLFVBQVEsSUFBSSxzQkFBc0IsRUFBRSxFQUFFO0FBR3RDLFFBQU0sVUFBVSxTQUFTLHVCQUF1QixZQUFZO0FBQzVELFFBQU0sY0FBYyxTQUFTLHVCQUF1QixpQkFBaUI7QUFDckUsUUFBTSxZQUFZLFNBQVMsdUJBQXVCLFVBQVU7QUFFNUQsV0FBUyxJQUFJLEdBQUcsSUFBSSxRQUFRLFFBQVEsS0FBSztBQUN2QyxJQUFDLFFBQVEsQ0FBQyxFQUFrQixNQUFNLFVBQVU7QUFDNUMsWUFBUSxJQUFJLGtCQUFrQixRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUU7QUFBQSxFQUMvQztBQUNBLFdBQVMsSUFBSSxHQUFHLElBQUksWUFBWSxRQUFRLEtBQUs7QUFDM0MsSUFBQyxZQUFZLENBQUMsRUFBa0IsTUFBTSxVQUFVO0FBQ2hELFlBQVEsSUFBSSx1QkFBdUIsWUFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFO0FBQUEsRUFDeEQ7QUFDQSxXQUFTLElBQUksR0FBRyxJQUFJLFVBQVUsUUFBUSxLQUFLO0FBQ3pDLElBQUMsVUFBVSxDQUFDLEVBQW1CLFVBQVUsT0FBTyxpQkFBaUI7QUFDakUsWUFBUSxJQUFJLHlDQUF5QyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUU7QUFBQSxFQUN4RTtBQUdBLFdBQVMsZUFBZSxFQUFFLEVBQUcsTUFBTSxVQUFVO0FBQzdDLFVBQVEsSUFBSSxnQkFBZ0IsRUFBRSxFQUFFO0FBQ2hDLFdBQVMsZUFBZSxNQUFNLEVBQUcsVUFBVSxJQUFJLGlCQUFpQjtBQUNoRSxVQUFRLElBQUkseUJBQXlCLE1BQU0sRUFBRTtBQUM3QyxXQUFTLGVBQWUsWUFBWSxFQUFHLE1BQU0sVUFBVTtBQUN2RCxVQUFRLElBQUksd0JBQXdCLFlBQVksRUFBRTtBQUdsRCxNQUFJLFlBQVk7QUFDZCxVQUFNLGtCQUFrQixTQUFTLGVBQWUsVUFBVTtBQUMxRCxRQUFJLGlCQUFpQjtBQUNqQixZQUFNLGFBQWEsZ0JBQWdCLHNCQUFzQixFQUFFLE1BQU0sT0FBTztBQUN4RSxZQUFNLFNBQVMsT0FBTyxjQUFjLElBQUksZ0JBQWdCLGVBQWU7QUFDdkUsWUFBTSxpQkFBaUIsYUFBYTtBQUVwQyxhQUFPLFNBQVM7QUFBQSxRQUNaLEtBQUs7QUFBQSxRQUNMLFVBQVU7QUFBQSxNQUNkLENBQUM7QUFBQSxJQUNMO0FBQUEsRUFDSjtBQVFBO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUNqQyxTQUFPLGlCQUFpQixZQUFZLENBQUMsVUFBVTtBQUM3QyxZQUFRLElBQUksMEJBQTBCO0FBQ3RDLFFBQUksTUFBTSxPQUFPO0FBQ2YsWUFBTSxNQUFNLE1BQU0sTUFBTTtBQUN4QixjQUFRLElBQUksa0JBQWtCLEdBQUcsRUFBRTtBQUNuQyxpQkFBVyxHQUFHO0FBR2QsY0FBUSxJQUFJLG9DQUFvQztBQUNoRCxZQUFNLG9CQUFvQixPQUFPLGNBQWM7QUFDL0MsYUFBTyxTQUFTLEVBQUUsS0FBSyxtQkFBbUIsVUFBVSxTQUFTLENBQUM7QUFBQSxJQUNoRSxPQUFPO0FBQ0wsY0FBUSxJQUFJLG1DQUFtQztBQUFBLElBQ2pEO0FBQUEsRUFDRixDQUFDO0FBQ0g7OztBQ3JHcVYsU0FBUyxlQUFBQyxvQkFBbUI7QUFHMVcsSUFBTSxnQkFBZ0IsTUFBTTtBQUMvQixRQUFNLFdBQVdDLGFBQVk7QUFFN0IsUUFBTSxFQUFFLGNBQWMsVUFBVSxJQUFJLFdBQVc7QUFJL0MsUUFBTSxzQkFBc0IsQ0FBQyxPQUFlLFNBQWlCO0FBR3pELGFBQVMsR0FBRyxJQUFJLFFBQVEsS0FBSyxFQUFFO0FBQUEsRUFFbkM7QUFDQSxRQUFNLDhCQUE4QixDQUFDLFlBQW9CLFNBQWlCO0FBR3RFLGFBQVMsR0FBRyxJQUFJLGVBQWUsVUFBVSxFQUFFO0FBQUEsRUFDL0M7QUFDQSxRQUFNLGdDQUFnQyxDQUFDLEVBQUUsTUFBTSxPQUFPLFdBQVcsTUFBNEQ7QUFHekgsUUFBSSxNQUFNLEdBQUcsSUFBSSxRQUFRLEtBQUs7QUFDOUIsUUFBSSxZQUFZO0FBQ1osYUFBTyxlQUFlLFVBQVU7QUFBQSxJQUNwQztBQUNBLGFBQVMsR0FBRztBQUFBLEVBQ2hCO0FBQ0EsUUFBTSx5QkFBeUIsQ0FBQyxFQUFFLE1BQU0sT0FBTyxVQUFVLFdBQVcsTUFBK0U7QUFHL0ksUUFBSSxNQUFNLEdBQUcsSUFBSSxRQUFRLEtBQUs7QUFDOUIsUUFBSSxVQUFVO0FBQ1YsYUFBTyxXQUFXLFFBQVE7QUFBQSxJQUM5QjtBQUNBLFFBQUksWUFBWTtBQUNaLGFBQU8sZUFBZSxVQUFVO0FBQUEsSUFDcEM7QUFDQSxhQUFTLEdBQUc7QUFBQSxFQUNoQjtBQUlBLFFBQU0sMkJBQTJCLENBQUMsRUFBRSxNQUFNLE9BQU8sV0FBVyxNQUEyRDtBQUNuSCxRQUFJLE1BQU0sR0FBRyxJQUFJLFFBQVEsS0FBSztBQUM5QixRQUFJLFlBQVk7QUFDWixhQUFPLGFBQWEsVUFBVTtBQUFBLElBQ2xDO0FBQ0EsYUFBUyxHQUFHO0FBQUEsRUFDaEI7QUFFQSxRQUFNLG9CQUFvQixDQUFDLFlBQW9CLFNBQWlCO0FBRTVELGFBQVMsR0FBRyxJQUFJLGFBQWEsVUFBVSxFQUFFO0FBQUEsRUFDN0M7QUFFQSxRQUFNLDhCQUE4QixNQUFNLENBQUMsRUFBRSxNQUFNLFdBQVcsTUFBNEM7QUFDdEcsaUJBQWEsSUFBSTtBQUNqQixRQUFJLE1BQU0sR0FBRyxJQUFJLGFBQWEsVUFBVTtBQUN4QyxhQUFTLEdBQUc7QUFFWixlQUFXLE1BQU07QUFDYixZQUFNLFVBQVUsU0FBUyxlQUFlLFVBQVU7QUFDbEQsVUFBSSxTQUFTO0FBQ1gsY0FBTSxpQkFBaUIsT0FBTztBQUM5QixjQUFNLGlCQUFpQixRQUFRLHNCQUFzQixFQUFFLE1BQU0sT0FBTztBQUNwRSxjQUFNLG1CQUFtQixpQkFBaUIsaUJBQWlCLElBQUksUUFBUSxlQUFlO0FBQ3RGLGVBQU8sU0FBUyxFQUFFLEtBQUssa0JBQWtCLFVBQVUsU0FBUyxDQUFDO0FBRzdELG1CQUFXLE1BQU07QUFDZix1QkFBYSxLQUFLO0FBQUEsUUFDcEIsR0FBRyxHQUFJO0FBQUEsTUFDVCxPQUFPO0FBRUwscUJBQWEsS0FBSztBQUFBLE1BQ3BCO0FBQUEsSUFDRixHQUFHLEdBQUc7QUFBQSxFQUNaO0FBR0EsU0FBTyxFQUFFLFdBQVcsNkJBQThCLG1CQUFtQixjQUFjLHFCQUFxQiwwQkFBMEIsd0JBQXdCLCtCQUErQiw0QkFBNEI7QUFDek47OztBRi9ETSxTQXVIRixZQUFBQyxXQXRISSxPQUFBQyxPQURGLFFBQUFDLGFBQUE7OztBR2JNLFNBQ3dCLE9BQUFDLE9BRHhCLFFBQUFDLGFBQUE7OztBQ0tSLHFCQUFBQyxXQUNFLE9BQUFDLE9BREYsUUFBQUMsY0FBQTs7O0FDYkosU0FBUyxhQUFBQyxrQkFBaUI7QUF5QnRCLHFCQUFBQyxXQUVJLE9BQUFDLE9BRkosUUFBQUMsY0FBQTs7O0FDZVEsZ0JBQUFDLE9BV2dCLFFBQUFDLGNBWGhCOzs7QUN2Q1osT0FBTyxZQUFZO0FBZ0JKLHFCQUFBQyxZQUFBLE9BQUFDLGFBQUE7OztBQ2pCMlQsSUFBTSxPQUFPLENBQUMsT0FBMEI7QUFDOVcsUUFBTSxjQUFjLEdBQUcsc0JBQXNCO0FBQzdDLFFBQU0sYUFBYSxZQUFZLE1BQU0sT0FBTztBQUM1QyxRQUFNLGlCQUFpQixPQUFPO0FBRzlCLFFBQU0saUJBQWlCLGNBQWMsaUJBQWlCLElBQUksR0FBRyxlQUFlO0FBRTVFLFNBQU8sU0FBUztBQUFBLElBQ1osS0FBSztBQUFBLElBQ0wsVUFBVTtBQUFBLEVBQ2QsQ0FBQztBQUNMOzs7QUMyQlksZ0JBQUFDLGFBQUE7QUF1REosSUFBTSxzQkFBaUQsQ0FBQyxFQUFFLFVBQVUsU0FBUyxNQUFNO0FBQ3ZGLFFBQU0sY0FBYyxNQUFNO0FBQ3RCLFVBQU0sZ0JBQWdCLFNBQVMsZUFBZSxRQUFRO0FBQ3RELFFBQUksZUFBZTtBQUNmLFdBQUssYUFBYTtBQUFBLElBQ3RCO0FBQUEsRUFDSjtBQUVBLFNBQ0ksZ0JBQUFDLE1BQUMsT0FBRSxTQUFTLGFBQ1AsVUFDTDtBQUVSOzs7QUNuR1EscUJBQUFDLFlBRVEsT0FBQUMsT0FlSSxRQUFBQyxjQWpCWjs7O0FDRkosU0E0QkEsWUFBQUMsWUF6QlEsT0FBQUMsT0FIUixRQUFBQyxjQUFBOzs7QUN3Q2UsZ0JBQUFDLGFBQUE7OztBQzNDVCxTQWdERixZQUFBQyxZQWhERSxPQUFBQyxPQWlERixRQUFBQyxjQWpERTs7O0FDRUUsU0FDSSxPQUFBQyxPQURKLFFBQUFDLGNBQUE7OztBQ0RFLFNBQTZCLE9BQUFDLE9BQTdCLFFBQUFDLGNBQUE7OztBQ0NSLHFCQUFBQyxZQUNBLE9BQUFDLE9BREEsUUFBQUMsY0FBQTs7O0FDUU0sZ0JBQUFDLE9BR0osUUFBQUMsY0FISTs7O0FDRkEsZ0JBQUFDLE9BQ0EsUUFBQUMsY0FEQTs7O0FDSEwscUJBQUFDLFlBSVMsT0FBQUMsT0FGUixRQUFBQyxjQUZEOzs7QUNEQSxxQkFBQUMsWUFFSyxPQUFBQyxhQUZMOzs7QUNQUCxTQUFTLFlBQVksU0FBUyxnQkFBZ0I7QUFDOUMsU0FBUyxLQUFLLFdBQVc7QUFDekIsT0FBT0MsWUFBVzs7O0FDQ1oscUJBQUFDLFlBQ0EsT0FBQUMsT0FJSSxRQUFBQyxjQUxKOzs7QUNITixTQUFTLGFBQUFDLFlBQVcsWUFBQUMsaUJBQWdCO0FBQ3BDLFNBQVMsZUFBQUMsb0JBQW1CO0FBNkJwQixxQkFBQUMsWUFJZ0IsT0FBQUMsT0FESixRQUFBQyxjQUhaOzs7QUNyQkksU0FBSyxPQUFBQyxPQUFMLFFBQUFDLGNBQUE7OztBQ1JaLE9BQU8sWUFBWTtBQUNuQixPQUFPQyxZQUFXO0FBbUdaLGdCQUFBQyxhQUFBO0FBM0ZOLElBQU0sY0FBYTtBQUFBLEVBQ2pCLEVBQUMsT0FBTyxPQUFPLE9BQU8sV0FBVTtBQUFBLEVBQ2hDLEVBQUMsT0FBTyxTQUFTLE9BQU8sUUFBTztBQUFBLEVBQy9CLEVBQUMsT0FBTyxRQUFRLE9BQU8sUUFBTztBQUFBLEVBQzlCLEVBQUMsT0FBTyxZQUFZLE9BQU8sYUFBWTtBQUFBLEVBQ3ZDLEVBQUMsT0FBTyxZQUFZLE9BQU8sa0JBQWlCO0FBQUEsRUFDNUMsRUFBQyxPQUFPLFFBQVEsT0FBTyxPQUFNO0FBQUEsRUFDN0IsRUFBQyxPQUFPLE9BQU8sT0FBTyxNQUFLO0FBRTdCO0FBR08sU0FBUyxxQkFBcUIsS0FBbUI7QUFDdEQsUUFBTSxPQUFPLFNBQVMsZUFBZSxNQUFNO0FBQzNDLE1BQUksTUFBTTtBQUNSLFNBQUssWUFBWTtBQUFBLEVBQ25CO0FBRUEsUUFBTSxxQkFBcUIsU0FBUyx1QkFBdUIsWUFBWTtBQUd2RSxXQUFTLElBQUksR0FBRyxJQUFJLG1CQUFtQixRQUFRLEtBQUs7QUFDbEQsVUFBTSxLQUFLLG1CQUFtQixDQUFDO0FBQy9CLGtCQUFjLElBQUksTUFBTTtBQUFBLEVBQzFCO0FBRUEsVUFBUSxJQUFJLE9BQU87QUFHbkIsV0FBUyxJQUFJLEdBQUcsSUFBSSxtQkFBbUIsUUFBUSxLQUFLO0FBQ2xELFVBQU0sS0FBSyxtQkFBbUIsQ0FBQztBQUMvQixRQUFJLGFBQWE7QUFFakIsZUFBVyxTQUFTLEtBQUs7QUFDdkIsY0FBUSxJQUFJLFVBQVUsTUFBTSxLQUFLLEVBQUU7QUFDbkMsVUFBSSxDQUFDLEdBQUcsVUFBVSxTQUFTLE1BQU0sS0FBSyxHQUFHO0FBQ3ZDLHFCQUFhO0FBQ2I7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUVBLFlBQVEsSUFBSSxlQUFlLFVBQVUsRUFBRTtBQUN2QyxRQUFJLFlBQVk7QUFDZCxpQkFBVyxJQUFJLE1BQU07QUFBQSxJQUN2QjtBQUFBLEVBQ0Y7QUFHQSxRQUFNLGdCQUFnQixTQUFTLHVCQUF1QixNQUFNO0FBQzVELE1BQUksY0FBYyxTQUFTLEtBQUssTUFBTTtBQUNwQyxZQUFRLElBQUksY0FBYyxNQUFNO0FBQ2hDLFNBQUssWUFBWTtBQUFBLEVBQ25CO0FBQ0Y7QUFhQSxTQUFTLFdBQVcsU0FBa0IsTUFBYztBQUNsRCxNQUFJLEdBQUcsTUFBTTtBQUNiLFNBQU8sUUFBUSxVQUFVLE1BQU0sR0FBRztBQUNsQyxTQUFPLEtBQUssTUFBTSxHQUFHO0FBQ3JCLE9BQUssSUFBSSxHQUFHLElBQUksS0FBSyxRQUFRLEtBQUs7QUFDaEMsUUFBSSxLQUFLLFFBQVEsS0FBSyxDQUFDLENBQUMsS0FBSyxJQUFJO0FBQUMsY0FBUSxhQUFhLE1BQU0sS0FBSyxDQUFDO0FBQUEsSUFBRTtBQUFBLEVBQ3ZFO0FBQ0Y7QUFFQSxTQUFTLGNBQWMsU0FBa0IsTUFBYztBQUNyRCxNQUFJLEdBQUcsTUFBTTtBQUNiLFNBQU8sUUFBUSxVQUFVLE1BQU0sR0FBRztBQUNsQyxTQUFPLEtBQUssTUFBTSxHQUFHO0FBQ3JCLE9BQUssSUFBSSxHQUFHLElBQUksS0FBSyxRQUFRLEtBQUs7QUFDaEMsV0FBTyxLQUFLLFFBQVEsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJO0FBQ2pDLFdBQUssT0FBTyxLQUFLLFFBQVEsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQUEsSUFDdEM7QUFBQSxFQUNGO0FBQ0EsVUFBUSxZQUFZLEtBQUssS0FBSyxHQUFHO0FBQ25DO0FBV0EsSUFBTSxhQUFOLGNBQXlCQyxPQUFNLFVBQVU7QUFBQSxFQUN2QyxRQUFRO0FBQUEsSUFDTixnQkFBZ0I7QUFBQSxFQUNsQjtBQUFBLEVBQ0EsZUFBZSxDQUFDLG1CQUF3QjtBQUV2QyxTQUFLO0FBQUEsTUFBUyxFQUFFLGVBQWU7QUFBQSxNQUFHLE1BQ2xDLFFBQVEsSUFBSSxvQkFBb0IsS0FBSyxNQUFNLGNBQWM7QUFBQSxJQUV4RDtBQUNDLHlCQUFxQixjQUFjO0FBQUEsRUFDdEM7QUFBQSxFQUNBLFNBQVM7QUFDUCxVQUFNLEVBQUUsZUFBZSxJQUFJLEtBQUs7QUFFaEMsV0FDRSxnQkFBQUM7QUFBQSxNQUFDO0FBQUE7QUFBQSxRQUNDLE9BQU87QUFBQSxRQUNQLFVBQVUsS0FBSztBQUFBLFFBQ2YsU0FBTztBQUFBLFFBQ1AsU0FBUztBQUFBLFFBQ1QsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQUEsUUFDN0IsV0FBVTtBQUFBLFFBQ1YsaUJBQWdCO0FBQUE7QUFBQSxJQUNsQjtBQUFBLEVBRUo7QUFDRjs7O0FDdEhnQixTQUVJLE9BQUFDLE9BRkosUUFBQUMsY0FBQTs7O0FDWEosZ0JBQUFDLGFBQUE7OztBQ1lhLHFCQUFBQyxZQUFBLE9BQUFDLE9BTVgsUUFBQUMsY0FOVzs7O0FDVHJCLFNBRUUsT0FBQUMsT0FGRixRQUFBQyxjQUFBOzs7QUNGWSxnQkFBQUMsT0FDQSxRQUFBQyxjQURBOzs7QVRjSixTQUNFLE9BQUFDLE9BREYsUUFBQUMsY0FBQTs7O0FVYkEsZ0JBQUFDLGFBQUE7OztBQ0lSLHFCQUFBQyxZQUNFLE9BQUFDLE9BREYsUUFBQUMsY0FBQTs7O0FDTkksU0FDRSxPQUFBQyxPQURGLFFBQUFDLGNBQUE7QUFhRCxTQUFTLE1BQU0sRUFBQyxHQUFHLEVBQUMsR0FBa0M7QUFDM0QsU0FDRyxnQkFBQUMsT0FBQyxTQUFJLFdBQVUsU0FDZDtBQUFBLG9CQUFBQyxNQUFDLFNBQUksV0FBVSxtQkFDYiwwQkFBQUEsTUFBQyxTQUFJLFdBQVUsT0FDZCxhQUNELEdBQ0Y7QUFBQSxJQUNBLGdCQUFBQSxNQUFDLFNBQUksV0FBVSxtQkFDYiwwQkFBQUEsTUFBQyxTQUFJLFdBQVUsT0FDZCxhQUNELEdBQ0Y7QUFBQSxLQUNEO0FBRUw7OztBQzNCa0IsU0F1RXFCLFlBQUFDLFlBdkVyQixPQUFBQyxPQWlHQSxRQUFBQyxjQWpHQTs7O0FDTGxCLFNBQVMsV0FBVztBQUVwQixTQUFTLFdBQVc7QUFDcEIsU0FBUyxTQUFTLFNBQVMsU0FBUyxRQUFPLFlBQVksWUFBWSxlQUFlLGFBQWEsT0FBTyx5QkFBeUI7QUFxRXpILGdCQUFBQyxhQUFBO0FBM0NOLFFBQVE7QUFBQSxFQUFTO0FBQUEsRUFBWTtBQUFBLEVBQVM7QUFBQSxFQUFRO0FBQUEsRUFDNUM7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBSzs7O0FDcEJnQixxQkFBQUMsWUFBQSxPQUFBQyxPQWUyWCxRQUFBQyxjQWYzWDtBQUpoQixJQUFNLGNBQTBDO0FBQUEsRUFDbkQ7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWMsQ0FBQyxnQkFBQUQsTUFBQUQsWUFBQSxFQUFFLHlFQUEyRCxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsd0hBQTBHLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSx3R0FBMEYsR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLG9KQUFzSSxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUseUdBQTJGLENBQUc7QUFBQSxFQUNoaEI7QUFBQSxFQUNBO0FBQUEsSUFDSSxNQUFNO0FBQUEsSUFDTixTQUFTO0FBQUEsSUFDVCxjQUFjLENBQUMsZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSxzRkFBd0UsR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLGdHQUFrRixHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsNkhBQStHLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSxpTUFBbUwsR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLGlMQUFtSyxDQUFHO0FBQUEsRUFDL29CO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsY0FBYyxDQUFDLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsNEZBQThFLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSwwTEFBNEssR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLDRGQUE4RSxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsZ0tBQWtKLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSx5R0FBMkYsQ0FBRztBQUFBLEVBQ3JtQjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWMsQ0FBQyxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLHlDQUEyQixHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsZ0lBQWtILEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSxvSkFBc0ksR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLDhGQUFnRixHQUFJLGdCQUFBRSxPQUFBRixZQUFBLEVBQUU7QUFBQTtBQUFBLE1BQUMsZ0JBQUFDLE1BQUMsT0FBRSx3QkFBVTtBQUFBLE1BQUk7QUFBQSxPQUFxRCxDQUFHO0FBQUEsRUFDMWQ7QUFBQSxFQUNBO0FBQUEsSUFDSSxNQUFNO0FBQUEsSUFDTixTQUFTO0FBQUEsSUFDVCxjQUFjLENBQUMsZ0JBQUFBLE1BQUFELFlBQUEsRUFBRSx5Q0FBMkIsR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLG9IQUFpRyxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsa05BQW9NLEdBQUksZ0JBQUFFLE9BQUFGLFlBQUEsRUFBRTtBQUFBO0FBQUEsTUFBNEcsZ0JBQUFDLE1BQUMsT0FBRSxzQ0FBd0I7QUFBQSxNQUFJO0FBQUEsTUFBRSxnQkFBQUEsTUFBQyxPQUFFLHFDQUF1QjtBQUFBLE1BQUk7QUFBQSxNQUFLLGdCQUFBQSxNQUFDLE9BQUUsb0NBQXNCO0FBQUEsTUFBSTtBQUFBLE9BQTRCLEdBQUksZ0JBQUFBLE1BQUFELFlBQUEsRUFBRSx1S0FBeUosQ0FBRztBQUFBLEVBQ2x2QjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWMsQ0FBQyxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLGdEQUFrQyxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsMEhBQTRHLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSxrRkFBb0UsR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLHdHQUEwRixHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsc0tBQXdKLENBQUc7QUFBQSxFQUNwZjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWMsQ0FBQyxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLHVEQUF5QyxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsd0hBQTBHLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSxxR0FBdUYsR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLHlGQUEyRSxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsaUZBQW1FLENBQUc7QUFBQSxFQUN4YTtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWMsQ0FBQyxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSx5SUFBMkgsR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLG9GQUFzRSxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsa0lBQW9ILEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSx1RkFBeUUsQ0FBRztBQUFBLEVBQzlhO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsY0FBYyxDQUFDLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsc0NBQXdCLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSw2R0FBK0YsR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLDRGQUE4RSxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsNkdBQStGLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSxzR0FBd0YsQ0FBRztBQUFBLEVBQzVhO0FBQ0o7OztBQ3VCMEQscUJBQUFHLFlBQTJELE9BQUFDLE9BQTNELFFBQUFDLGNBQUE7QUE5RG5ELElBQU0sV0FBb0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWdCN0M7QUFBQTtBQUFBLElBRUksTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLE1BQ047QUFBQSxRQUNJLE9BQU87QUFBQTtBQUFBLFFBQ1AsTUFBTSxDQUFDLHlFQUF3RSxnSEFBK0csa1VBQWlVLGdDQUErQix3Q0FBd0M7QUFBQSxNQUMxa0I7QUFBQSxNQUNBO0FBQUEsUUFDSSxPQUFPO0FBQUE7QUFBQSxRQUNQLE1BQU0sQ0FBQyxpRUFBZ0Usa0pBQWtKLG9UQUFvVCxnQ0FBZ0MsdUNBQXVDO0FBQUEsTUFDeGxCO0FBQUEsTUFDQTtBQUFBLFFBQ0ksT0FBTztBQUFBO0FBQUEsUUFDUCxNQUFNLENBQUMsaUVBQWlFLDhGQUE2RixtVEFBa1QsZ0NBQStCLHVDQUF1QztBQUFBLE1BQ2ppQjtBQUFBLE1BQ0E7QUFBQSxRQUNJLE9BQU87QUFBQTtBQUFBLFFBQ1AsTUFBTSxDQUFDLG1DQUFrQyxvSEFBbUgsc0pBQXFKLGdDQUErQiw0Q0FBNEM7QUFBQSxNQUNoWTtBQUFBLElBQ0o7QUFBQSxFQUNKO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTTtBQUFBO0FBQUEsSUFDTixTQUFTO0FBQUEsSUFDVCxjQUFjO0FBQUEsSUFDZCxVQUFVO0FBQUEsTUFDTjtBQUFBLFFBQ0ksT0FBTztBQUFBO0FBQUEsUUFDUCxNQUFNLENBQUMsMERBQXlELHVEQUFzRCwyREFBMEQsaUVBQWdFLDJDQUEyQztBQUFBLE1BQy9SO0FBQUEsTUFDQTtBQUFBLFFBQ0ksT0FBTztBQUFBO0FBQUEsUUFDUCxNQUFNLENBQUMsc0VBQXFFLHVEQUFzRCx3RkFBdUYsOERBQTZELG9HQUFtRyxzQkFBc0I7QUFBQSxNQUNuWjtBQUFBLElBQ0o7QUFBQSxFQUNKO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTTtBQUFBO0FBQUEsSUFDTixTQUFTO0FBQUEsSUFDVCxjQUFjO0FBQUEsSUFDZCxVQUFVO0FBQUEsTUFDTjtBQUFBLFFBQ0ksT0FBTztBQUFBO0FBQUEsUUFDUCxNQUFNLENBQUMsb0NBQW1DLGdCQUFBQSxPQUFBRixZQUFBLEVBQUU7QUFBQTtBQUFBLFVBQXlELGdCQUFBQyxNQUFDLE9BQUUsc0NBQXdCO0FBQUEsVUFBSTtBQUFBLFdBQVksR0FBSSxtSEFBa0gsd0dBQXVHLDRDQUE0QztBQUFBLE1BQzdaO0FBQUEsTUFDQTtBQUFBLFFBQ0ksT0FBTztBQUFBO0FBQUEsUUFDUCxNQUFNLENBQUMsbUNBQWtDLGdCQUFBQyxPQUFBRixZQUFBLEVBQUU7QUFBQTtBQUFBLFVBQXlELGdCQUFBQyxNQUFDLE9BQUUsc0NBQXdCO0FBQUEsVUFBSTtBQUFBLFdBQVksR0FBSSxrSEFBaUgsc0ZBQXFGLHVDQUF1QztBQUFBLE1BQ3BZO0FBQUEsSUFDSjtBQUFBLEVBQ0o7QUFBQSxFQUNBO0FBQUEsSUFDSSxNQUFNO0FBQUE7QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxNQUNOO0FBQUEsUUFDSSxPQUFPO0FBQUE7QUFBQSxRQUNQLE1BQU0sQ0FBQyx1R0FBc0csdUVBQXNFLHNGQUFxRixtREFBa0QsdUNBQXVDO0FBQUEsTUFDclc7QUFBQSxJQUVKO0FBQUEsRUFDSjtBQUNKOzs7QUNuRjBCLGdCQUFBRSxPQWlzQ1gsUUFBQUMsY0Fqc0NXOzs7QUNmMUIsU0FBZ0IsWUFBQUMsV0FBVSxhQUFBQyxrQkFBaUI7QUFDM0MsT0FBTyxpQkFBaUI7QUFnQ1IscUJBQUFDLFlBQ1csT0FBQUMsT0FEWCxRQUFBQyxjQUFBO0FBWmhCLFNBQVMsWUFBWSxPQUErQztBQUVoRSxNQUFJLFNBQVMsTUFBTSxTQUFTLEdBQUc7QUFFM0IsVUFBTSxpQkFBaUI7QUFDdkIsUUFBSSxlQUFlLEtBQUssS0FBSyxHQUFHO0FBQzVCLFlBQU0sTUFBTSxNQUFNLE1BQU0sY0FBYyxFQUFFLElBQUksT0FBSyxFQUFFLEtBQUssQ0FBQztBQUN6RCxZQUFNLFFBQVEsSUFBSSxDQUFDO0FBQ25CLFlBQU0sTUFBTSxJQUFJLENBQUM7QUFHakIsYUFDSSxnQkFBQUEsT0FBQUYsWUFBQSxFQUFFO0FBQUE7QUFBQSxRQUNTLGdCQUFBQyxNQUFDLFVBQUssVUFBUyxvQkFBb0IsaUJBQU07QUFBQSxRQUFPO0FBQUEsUUFBQyxnQkFBQUEsTUFBQyxVQUFLLFVBQVMsa0JBQWtCLGVBQUk7QUFBQSxTQUNqRztBQUFBLElBRVIsV0FBVyxlQUFlLEtBQUssS0FBSyxHQUFHO0FBRW5DLGFBQ0ksZ0JBQUFDLE9BQUFGLFlBQUEsRUFBRTtBQUFBO0FBQUEsUUFDSyxnQkFBQUMsTUFBQyxVQUFLLFVBQVMsb0JBQW9CLGlCQUFNO0FBQUEsU0FDaEQ7QUFBQSxJQUVSLE9BQU87QUFFSCxjQUFRLEtBQUssMkNBQTJDLEtBQUssMEJBQTBCO0FBQ3ZGLGFBQU87QUFBQSxJQUNYO0FBQUEsRUFDSixPQUFPO0FBQ0gsWUFBUSxLQUFLLDZCQUE2QjtBQUMxQyxXQUFPO0FBQUEsRUFDWDtBQUNKO0FBR08sSUFBTSxlQUE0QyxDQUFDLEVBQUUsZUFBQUUsZ0JBQWdCLFFBQU8sTUFBTTtBQUN2RixRQUFNLENBQUMsZUFBZSxnQkFBZ0IsSUFBSUwsVUFBcUIsQ0FBQyxDQUFDO0FBR2pFLEVBQUFDLFdBQVUsTUFBTTtBQUNkLFlBQVEsSUFBSSw0QkFBNEJJLGNBQWE7QUFFckQsUUFBSTtBQUNGLFlBQU0sYUFBeUIsQ0FBQztBQUNoQyxNQUFBQSxlQUFjLFFBQVEsQ0FBQyxXQUFXO0FBRWhDLGNBQU0sU0FBUyxZQUFZLE9BQU8sTUFBTTtBQUV4QyxtQkFBVyxLQUFLLEdBQUcsTUFBTTtBQUFBLE1BQzNCLENBQUM7QUFDRCx1QkFBaUIsVUFBVTtBQUFBLElBRTdCLFNBQVMsT0FBTztBQUVkLFlBQU0saUZBQWlGQSxjQUFhO0FBQUEsSUFDdEc7QUFBQSxFQUNGLEdBQUcsQ0FBQ0EsY0FBYSxDQUFDO0FBR2xCLFFBQU0sZ0JBQWdCLENBQUMsWUFBNEI7QUFDakQsWUFBUSxJQUFJLG1CQUFtQixPQUFPO0FBR3RDLFVBQU0saUJBQWlCLFFBQ2xCLFFBQVEsY0FBYyxHQUFHLEVBQ3pCLFFBQVEsVUFBVSxFQUFFLEVBQ3BCLEtBQUs7QUFFVixZQUFRLElBQUksMkJBQTJCLGNBQWM7QUFHckQsVUFBTSxhQUFhLGVBQWUsTUFBTSxHQUFHLEVBQUUsSUFBSSxZQUFVLE9BQU8sS0FBSyxDQUFDO0FBQ3hFLFlBQVEsSUFBSSxzQkFBc0IsVUFBVTtBQUc1QyxVQUFNLGFBQWE7QUFHbkIsVUFBTSxtQkFBbUIsV0FBVyxJQUFJLENBQUMsUUFBUSxVQUFVO0FBQ3ZELGNBQVEsSUFBSSxzQkFBc0IsUUFBUSxDQUFDLEtBQUssTUFBTTtBQUd0RCxZQUFNLENBQUMsTUFBTSxVQUFVLElBQUksT0FBTyxTQUFTLEdBQUcsSUFDMUMsT0FBTyxNQUFNLEdBQUcsRUFBRSxJQUFJLFVBQVEsS0FBSyxLQUFLLENBQUMsSUFDekMsQ0FBQyxJQUFJLE1BQU07QUFFZixjQUFRLElBQUksZUFBZSxJQUFJLG9CQUFvQixVQUFVLEdBQUc7QUFHaEUsWUFBTSxXQUFXLFdBQVcsTUFBTSxHQUFHLEVBQUUsSUFBSSxPQUFLLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxLQUFLLEdBQUc7QUFDcEUsY0FBUSxJQUFJLGlCQUFpQixVQUFVLE9BQU8sUUFBUSxHQUFHO0FBRXpELFlBQU0sZ0JBQWdCLEdBQUcsSUFBSSxLQUFLLFFBQVEsR0FBRyxLQUFLO0FBQ2xELGNBQVEsSUFBSSxvQkFBb0IsYUFBYSxHQUFHO0FBRWhELGFBQU87QUFBQSxJQUNYLENBQUM7QUFFRCxZQUFRLElBQUksMkNBQTJDLGdCQUFnQjtBQUd2RSxVQUFNLFNBQVMsaUJBQWlCLE1BQU0sR0FBRyxVQUFVLEVBQUUsS0FBSyxJQUFJLEtBQzlDLGlCQUFpQixTQUFTLGFBQWEsWUFBWTtBQUVuRSxZQUFRLElBQUksaUJBQWlCLE1BQU07QUFDbkMsV0FBTztBQUFBLEVBQ1g7QUFFRSxNQUFJLGVBQWU7QUFFbkIsTUFBSSxTQUFTO0FBQ1gsbUJBQWUsSUFBSSxPQUFPO0FBQUEsRUFDNUI7QUFHQSxRQUFNLGlCQUFpQixDQUFDLE9BQWlCLFVBQWtCO0FBSXpELFVBQU0saUJBQWlCLFFBQVE7QUFDL0IsVUFBTSxZQUFZLE1BQU0sVUFBVSxZQUFZO0FBQzlDLFVBQU0sWUFBWSxNQUFNO0FBR3hCLFlBQVEsV0FBVztBQUFBLE1BQ2pCLEtBQUs7QUFDSCxlQUNFLGdCQUFBRCxPQUFDLFFBQWUsUUFBTywyQkFBMEIsTUFBSyxtQkFBa0IsVUFBUyxtQkFBa0IsSUFBSSxRQUFRLGNBQWMsR0FBRyxZQUFZLElBR3pJO0FBQUEsd0JBQWMsVUFBVSxVQUFVLFVBQVUsVUFBVSxFQUFFO0FBQUEsVUFBRTtBQUFBLFVBQ3JELGdCQUFBQSxPQUFDLFVBQUssVUFBUyxlQUFlO0FBQUEsc0JBQVUsTUFBTSxRQUFRLFVBQVUsRUFBRSxFQUFFLFFBQVEsT0FBTyxHQUFHLEVBQUUsS0FBSztBQUFBLFlBQUU7QUFBQSxhQUFDO0FBQUEsVUFBTztBQUFBLFVBQ3ZHLGdCQUFBRCxNQUFDLE9BQUUsVUFBUyxvQkFBbUIsUUFBTyx1QkFBdUIsb0JBQVUsU0FBUTtBQUFBLFVBQUk7QUFBQSxVQUNuRixnQkFBQUEsTUFBQyxPQUFFLFVBQVMsZUFBYyxRQUFPLG9CQUFvQixvQkFBVSxRQUFPO0FBQUEsVUFDM0UsWUFBWSxVQUFVLEtBQUssS0FBSyxnQkFBQUEsTUFBQyxVQUFNLHNCQUFZLFVBQVUsS0FBSyxHQUFFO0FBQUEsVUFDcEUsVUFBVSxRQUNULGdCQUFBQyxPQUFDLFVBQUs7QUFBQTtBQUFBLFlBQU8sZ0JBQUFELE1BQUMsVUFBSyxVQUFTLHdCQUF1QixVQUFTLGFBQVksVUFBVSxVQUFVLE1BQU8sb0JBQVUsTUFBSztBQUFBLFlBQU87QUFBQSxhQUFFO0FBQUEsVUFFNUgsVUFBVSxPQUNULGdCQUFBQyxPQUFDLFVBQUs7QUFBQTtBQUFBLFlBQU0sZ0JBQUFBLE9BQUMsT0FBRSxXQUFVLE9BQU0sTUFBTSxtQkFBbUIsVUFBVSxHQUFHLElBQUk7QUFBQTtBQUFBLGNBQU0sVUFBVTtBQUFBLGVBQUk7QUFBQSxhQUFJO0FBQUEsYUFaNUYsS0FjVDtBQUFBLE1BR0osS0FBSztBQUNILGVBQ0UsZ0JBQUFBLE9BQUMsUUFBZSxRQUFPLGVBQWMsTUFBSyxtQkFBa0IsVUFBUyxtQkFBa0IsSUFBSSxRQUFRLGNBQWMsSUFFOUc7QUFBQSx3QkFBYyxVQUFVLFVBQVUsVUFBVSxVQUFVLEVBQUU7QUFBQSxVQUV4RCxVQUFVLFFBQ1QsZ0JBQUFBLE9BQUMsVUFBSyxVQUFTLGVBQWM7QUFBQTtBQUFBLFlBQU8sVUFBVSxNQUFNLFFBQVEsVUFBVSxFQUFFLEVBQUUsUUFBUSxPQUFPLEdBQUcsRUFBRSxLQUFLO0FBQUEsWUFBRTtBQUFBLGFBQUMsSUFDcEcsVUFBVSxZQUNaLGdCQUFBQSxPQUFDLFVBQUssVUFBUyxlQUFjO0FBQUE7QUFBQSxZQUFPLFVBQVUsVUFBVSxRQUFRLFVBQVUsRUFBRSxFQUFFLFFBQVEsT0FBTyxHQUFHLEVBQUUsS0FBSztBQUFBLFlBQUU7QUFBQSxhQUFDLElBRTFHLFFBQVEsS0FBSyx5Q0FBeUMsY0FBYyxFQUFFO0FBQUEsVUFHdkUsVUFBVSxhQUNULGdCQUFBQSxPQUFDLE9BQUUsVUFBUyxvQkFBbUIsUUFBTyx1QkFBc0I7QUFBQTtBQUFBLFlBQ25ELFVBQVU7QUFBQSxhQUNuQjtBQUFBLFVBR0QsVUFBVSxRQUNULGdCQUFBQSxPQUFDLFVBQUs7QUFBQTtBQUFBLFlBQ0csZ0JBQUFELE1BQUMsVUFBSyxVQUFTLHdCQUF1QixVQUFTLGFBQVksVUFBVSxVQUFVLE1BQ25GLG9CQUFVLE1BQ2I7QUFBQSxZQUFPO0FBQUEsYUFDVDtBQUFBLFVBRUQsVUFBVSxRQUNULGdCQUFBQyxPQUFDLFVBQUssVUFBUyxRQUFPO0FBQUE7QUFBQSxZQUFPLFVBQVU7QUFBQSxhQUFLO0FBQUEsYUExQnZDLEtBNkJUO0FBQUEsTUFHSixLQUFLO0FBQ0gsZUFDRSxnQkFBQUEsT0FBQyxRQUFlLFFBQU8sa0JBQWlCLE1BQUssbUJBQWtCLFVBQVMsbUJBQWtCLElBQUksUUFBUSxjQUFjLElBRWhIO0FBQUEsb0JBQVUsVUFBVSxVQUFVLFVBQVU7QUFBQSxVQUV6QyxVQUFVLFNBQ1QsZ0JBQUFBLE9BQUMsVUFBSyxVQUFTLGVBQWM7QUFBQTtBQUFBLFlBQVEsVUFBVSxNQUFNLFFBQVEsVUFBVSxFQUFFLEVBQUUsUUFBUSxPQUFPLEdBQUcsRUFBRSxLQUFLO0FBQUEsWUFBRTtBQUFBLGFBQUM7QUFBQSxVQUd4RyxVQUFVLGdCQUNULGdCQUFBQSxPQUFDLE9BQUUsVUFBUyxvQkFBbUIsUUFBTyx1QkFBc0I7QUFBQTtBQUFBLFlBQU8sVUFBVTtBQUFBLGFBQWE7QUFBQSxVQUczRixVQUFVLFFBQ1QsZ0JBQUFBLE9BQUMsVUFBSztBQUFBO0FBQUEsWUFBTyxnQkFBQUQsTUFBQyxVQUFLLFVBQVMsd0JBQXVCLFVBQVMsYUFBWSxVQUFVLFVBQVUsTUFBTyxvQkFBVSxNQUFLO0FBQUEsWUFBTztBQUFBLGFBQUU7QUFBQSxhQWJ0SCxLQWVUO0FBQUEsTUFJSixLQUFLO0FBQ0gsZUFDRSxnQkFBQUMsT0FBQyxRQUNDO0FBQUEsMEJBQUFELE1BQUMsVUFBTSx3QkFBYyxVQUFVLFVBQVUsRUFBRSxHQUFFO0FBQUEsVUFBTztBQUFBLFVBQ3BELGdCQUFBQSxNQUFDLFVBQU0sb0JBQVUsT0FBTTtBQUFBLFVBQU87QUFBQSxVQUFLLGdCQUFBQSxNQUFDLE9BQUcsb0JBQVUsV0FBVTtBQUFBLFVBQUk7QUFBQSxVQUMvRCxnQkFBQUEsTUFBQyxPQUFHLG9CQUFVLFFBQU87QUFBQSxVQUFJO0FBQUEsVUFBRyxVQUFVO0FBQUEsVUFBSztBQUFBLGFBSHBDLEtBSVQ7QUFBQSxNQUdKLEtBQUs7QUFDSCxlQUNFLGdCQUFBQyxPQUFDLFFBQ0M7QUFBQSwwQkFBQUQsTUFBQyxVQUFNLHdCQUFjLFVBQVUsVUFBVSxFQUFFLEdBQUU7QUFBQSxVQUFPO0FBQUEsVUFDcEQsZ0JBQUFBLE1BQUMsVUFBTSxvQkFBVSxPQUFNO0FBQUEsVUFBTztBQUFBLFVBQWUsVUFBVTtBQUFBLFVBQU87QUFBQSxVQUFHLFVBQVU7QUFBQSxVQUFLO0FBQUEsYUFGekUsS0FHVDtBQUFBLE1BR0o7QUFDRSxnQkFBUSxLQUFLLHVCQUF1QixTQUFTLEVBQUU7QUFDL0MsZUFBTyxnQkFBQUMsT0FBQyxRQUFlO0FBQUE7QUFBQSxVQUFxQjtBQUFBLGFBQTVCLEtBQXNDO0FBQUEsSUFDMUQ7QUFBQSxFQUNGO0FBRUEsU0FDRSxnQkFBQUQsTUFBQyxTQUNFLHdCQUFjLFdBQVcsSUFDeEIsZ0JBQUFBLE1BQUMsT0FBRSxxQ0FBdUIsSUFFMUIsZ0JBQUFBLE1BQUMsUUFDRSx3QkFBYyxJQUFJLENBQUMsT0FBTyxVQUFVLGVBQWUsT0FBTyxLQUFLLENBQUMsR0FDbkUsR0FFSjtBQUVKO0FBRUEsSUFBTyxzQkFBUTs7O0FDM1BMLGdCQUFBRyxhQUFBOzs7QUNxQk0sU0FBcUQsT0FBQUMsT0FBckQsUUFBQUMsY0FBQTtBQXFUZixJQUFJLG9CQUFtQjtBQUFBLEVBQ3BCO0FBQUEsSUFDSSxNQUFNLHFCQUFxQixTQUFTLENBQUMsQ0FBQztBQUFBLElBQ3RDLFlBQVk7QUFBQSxJQUNaLFNBQVM7QUFBQSxJQUNULE1BQU07QUFBQSxFQUVWO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTSxxQkFBcUIsU0FBUyxDQUFDLENBQUU7QUFBQSxJQUN2QyxZQUFZO0FBQUEsSUFDWixTQUFTO0FBQUEsRUFDYjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU0scUJBQXFCLFNBQVMsQ0FBQyxDQUFFO0FBQUEsSUFDdkMsWUFBWTtBQUFBLElBQ1osU0FBUztBQUFBLEVBQ2I7QUFBQSxFQUNBO0FBQUEsSUFDSSxNQUFNLHFCQUFxQixTQUFTLENBQUMsQ0FBRTtBQUFBLElBQ3ZDLFlBQVk7QUFBQSxJQUNaLFNBQVM7QUFBQSxFQUNiO0FBQ0o7QUFJQSxJQUFJLHVCQUF1QjtBQUFBLEVBQ3ZCO0FBQUEsSUFDSSxNQUFNLHdCQUF3QixZQUFZLENBQUMsQ0FBQztBQUFBLElBQzVDLFlBQVk7QUFBQSxJQUNaLFNBQVM7QUFBQSxJQUNULE1BQU07QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTSx3QkFBd0IsWUFBWSxDQUFDLENBQUM7QUFBQSxJQUM1QyxZQUFZO0FBQUEsSUFDWixTQUFTO0FBQUEsRUFDYjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU0sd0JBQXdCLFlBQVksQ0FBQyxDQUFDO0FBQUEsSUFDNUMsWUFBWTtBQUFBLElBQ1osU0FBUztBQUFBLEVBQ2I7QUFBQSxFQUNBO0FBQUEsSUFDSSxNQUFNLHdCQUF3QixZQUFZLENBQUMsQ0FBQztBQUFBLElBQzVDLFlBQVk7QUFBQSxJQUNaLFNBQVM7QUFBQSxFQUNiO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTSx3QkFBd0IsWUFBWSxDQUFDLENBQUM7QUFBQSxJQUM1QyxZQUFZO0FBQUEsSUFDWixTQUFTO0FBQUEsRUFDYjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU0sd0JBQXdCLFlBQVksQ0FBQyxDQUFDO0FBQUEsSUFDNUMsWUFBWTtBQUFBLElBQ1osU0FBUztBQUFBLEVBQ2I7QUFBQSxFQUNBO0FBQUEsSUFDSSxNQUFNLHdCQUF3QixZQUFZLENBQUMsQ0FBQztBQUFBLElBQzVDLFlBQVk7QUFBQSxJQUNaLFNBQVM7QUFBQSxFQUNiO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTSx3QkFBd0IsWUFBWSxDQUFDLENBQUU7QUFBQSxJQUM3QyxZQUFZO0FBQUEsSUFDWixTQUFTO0FBQUEsRUFDYjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU0sd0JBQXdCLFlBQVksQ0FBQyxDQUFFO0FBQUEsSUFDN0MsWUFBWTtBQUFBLElBQ1osU0FBUztBQUFBLEVBQ2I7QUFFSjtBQUtBLFNBQVMsd0JBQXdCLE1BQXVCO0FBQ3BELE1BQUksY0FBNkIsQ0FBQztBQUNsQyxXQUFTLFFBQVEsR0FBRyxRQUFRLEtBQUssYUFBYSxRQUFRLFNBQVM7QUFDdkQsZ0JBQVk7QUFBQSxNQUNSLGdCQUFBQyxNQUFDLFFBQWdCLGVBQUssYUFBYSxLQUFLLEtBQS9CLEtBQWlDO0FBQUEsSUFDOUM7QUFBQSxFQUNSO0FBQ0EsU0FDSSxnQkFBQUMsT0FBQyxTQUNHO0FBQUEsb0JBQUFELE1BQUMsTUFBRyxJQUFJLEdBQUcsS0FBSyxJQUFJLFFBQVEsTUFBTSxLQUFLLE1BQUs7QUFBQSxJQUM1QyxnQkFBQUMsT0FBQyxTQUFJLFdBQVUsT0FDWDtBQUFBLHNCQUFBRCxNQUFDLFNBQUksV0FBVSxTQUNYLDBCQUFBQSxNQUFDLFNBQUksV0FBVSx1QkFDWCwwQkFBQUEsTUFBQyxTQUFJLEtBQUssS0FBSyxTQUFTLFdBQVUsZUFBYSxHQUNuRCxHQUNKO0FBQUEsTUFDQSxnQkFBQUEsTUFBQyxTQUFJLFdBQVUsT0FDWCwwQkFBQUEsTUFBQyxRQUFJLHVCQUFZLEdBQ3JCO0FBQUEsT0FDSjtBQUFBLEtBR0o7QUFFUjtBQUdBLFNBQVMscUJBQXFCLE1BQW9CO0FBQzlDLE1BQUksY0FBOEIsQ0FBQztBQUNuQyxXQUFTLFFBQVEsR0FBRyxRQUFRLEtBQUssU0FBUyxRQUFRLFNBQVM7QUFDdkQsUUFBSSxXQUEyQixDQUFDO0FBQ2hDLGFBQVMsSUFBSSxHQUFHLElBQUksS0FBSyxTQUFTLEtBQUssRUFBRSxLQUFLLFFBQVEsS0FBSztBQUN2RCxlQUFTO0FBQUEsUUFDTCxnQkFBQUEsTUFBQyxRQUFZLGVBQUssU0FBUyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQS9CLENBQWlDO0FBQUEsTUFDOUM7QUFBQSxJQUVKO0FBQ0EsZ0JBQVk7QUFBQSxNQUNSLGdCQUFBQyxPQUFDLFNBQW9CLFdBQVUsUUFDM0I7QUFBQSx3QkFBQUQsTUFBQyxNQUFHLE1BQU0sS0FBSyxTQUFTLEtBQUssRUFBRSxPQUFNO0FBQUEsUUFDckMsZ0JBQUFBLE1BQUMsUUFBZ0Isc0JBQVIsS0FBaUI7QUFBQSxXQUZwQixRQUFNLEdBR2hCO0FBQUEsSUFDSjtBQUFBLEVBRUo7QUFDQSxTQUNJLGdCQUFBQyxPQUFDLFNBQ0c7QUFBQSxvQkFBQUQsTUFBQyxNQUFHLElBQUksR0FBRyxLQUFLLElBQUksUUFBUSxNQUFNLEtBQUssTUFBSztBQUFBLElBQzVDLGdCQUFBQyxPQUFDLFNBQUksV0FBVSxPQUNYO0FBQUEsc0JBQUFELE1BQUMsU0FBSSxXQUFVLFNBQ1gsMEJBQUFBLE1BQUMsU0FBSSxXQUFVLHVCQUNYLDBCQUFBQSxNQUFDLFNBQUksS0FBSyxLQUFLLFNBQVMsV0FBVSxlQUFhLEdBQ25ELEdBQ0o7QUFBQSxNQUNBLGdCQUFBQSxNQUFDLFNBQUksV0FBVSxPQUNWLGVBQUssY0FDVjtBQUFBLE9BQ0o7QUFBQSxJQUNBLGdCQUFBQSxNQUFDLFNBQUksV0FBVSxPQUNkLHVCQUNEO0FBQUEsS0FDSjtBQUVSOzs7QUM5ZEEsU0FBUyxhQUFBRSxhQUFXLFlBQUFDLGtCQUFnQjtBQXFFOUIscUJBQUFDLFlBQ0UsT0FBQUMsT0FZYyxRQUFBQyxjQWJoQjs7O0FDaEVFLGdCQUFBQyxhQUFBOzs7QUNIQSxnQkFBQUMsYUFBQTs7O0FDR0ssZ0JBQUFDLGFBQUE7QUFITixTQUFTLGNBQWMsRUFBQyxLQUFLLFVBQVUsSUFBRyxHQUErQztBQUM1RixRQUFNLEVBQUMseUJBQXdCLElBQUksY0FBYztBQUNqRCxTQUNJLGdCQUFBQSxNQUFDLFNBQUksMEJBQUFBLE1BQUMsT0FBRSxTQUFTLE1BQU0seUJBQXlCLEVBQUMsTUFBTSxJQUFJLE9BQU8sS0FBSyxZQUFZLFNBQVEsQ0FBQyxHQUFJLGVBQUksR0FBSTtBQUVoSDs7O0FDRlUsZ0JBQUFDLGFBQUE7OztBQ0FBLGdCQUFBQyxhQUFBOzs7QUNBQSxnQkFBQUMsYUFBQTs7O0FDQUEsZ0JBQUFDLGFBQUE7OztBQ0FBLGdCQUFBQyxhQUFBOzs7QUNBQSxnQkFBQUMsYUFBQTs7O0FDcUJKLHFCQUFBQyxZQUdJLE9BQUFDLE9BR1EsUUFBQUMsY0FOWjs7O0FDbkJGLHFCQUFBQyxZQUNFLE9BQUFDLE9BREYsUUFBQUMsY0FBQTs7O0FDR0UsZ0JBQUFDLE9BTUEsUUFBQUMsY0FOQTs7O0FDTUYscUJBQUFDLFlBRUssT0FBQUMsT0FHSCxRQUFBQyxjQUxGOzs7QUNDQSxxQkFBQUMsWUFHMkIsT0FBQUMsT0FEekIsUUFBQUMsY0FGRjs7O0FDVlksZ0JBQUFDLE9BQ0EsUUFBQUMsY0FEQTs7O0FDS0osZ0JBQUFDLE9BRUEsUUFBQUMsY0FGQTs7O0FDUEYsZ0JBQUFDLGFBQUE7QUFISyxTQUFSLHlCQUF5QztBQUM1QyxTQUNJLGdCQUFBQSxNQUFDLFNBQ0MsMEJBQUFBLE1BQUMsdUJBQWEsZUFBOEIsR0FDOUM7QUFFUjtBQUdBLElBQU0sZ0JBQWdCO0FBQUEsRUFDdEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXdCRztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWlCQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQW9CQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFxQko7OztBQ3pGVSxnQkFBQUMsYUFBQTtBQUhLLFNBQVIsMEJBQTBDO0FBQzdDLFNBQ0ksZ0JBQUFBLE1BQUMsU0FDQywwQkFBQUEsTUFBQyx1QkFBYSxlQUFlQyxnQkFBZSxHQUM5QztBQUVSO0FBR0EsSUFBTUEsaUJBQWdCO0FBQUEsRUFDbEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTBDSjs7O0FDakRVLGdCQUFBQyxhQUFBO0FBSEssU0FBUixzQkFBc0M7QUFDekMsU0FDSSxnQkFBQUEsTUFBQyxTQUNDLDBCQUFBQSxNQUFDLHVCQUFhLGVBQWVDLGdCQUFlLEdBQzlDO0FBRVI7QUFHQSxJQUFNQSxpQkFBZ0I7QUFBQSxFQUN0QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFnQkc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBaUJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWVIOzs7QUN0RVUsZ0JBQUFDLGFBQUE7QUFISyxTQUFSLGdCQUFnQztBQUNuQyxTQUNJLGdCQUFBQSxNQUFDLFNBQ0MsMEJBQUFBLE1BQUMsdUJBQWEsZUFBZUMsZ0JBQWUsR0FDOUM7QUFFUjtBQUdBLElBQU1BLGlCQUFnQjtBQUFBLEVBQ3RCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXNCRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFzQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFzQkY7OztBQ3pFVSxnQkFBQUMsYUFBQTtBQUhLLFNBQVIsb0JBQW9DO0FBQ3ZDLFNBQ0ksZ0JBQUFBLE1BQUMsU0FDQywwQkFBQUEsTUFBQyx1QkFBYSxlQUFlQyxnQkFBZSxHQUM5QztBQUVSO0FBR0EsSUFBTUEsaUJBQWdCO0FBQUEsRUFDbEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBc0JGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFxQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFzQkY7OztBQ2hFSSxTQW9OVyxZQUFBQyxZQW5FRCxPQUFBQyxPQWpKVixRQUFBQyxjQUFBO0FBSEosU0FBUyxtQkFBbUIsRUFBQyxLQUFLLEtBQUksR0FBOEI7QUFDbEUsUUFBTSxFQUFDLG9CQUFtQixJQUFJLGNBQWM7QUFDNUMsU0FDRSxnQkFBQUEsT0FBQyxPQUFFLFNBQVMsTUFBTSxvQkFBb0IsS0FBSyxFQUFFLEdBQUc7QUFBQTtBQUFBLElBQUU7QUFBQSxJQUFLO0FBQUEsS0FBQztBQUU1RDtBQUNBLFNBQVMsb0JBQW9CLEVBQUMsSUFBSSxNQUFNLEtBQUksR0FBMkM7QUFDckYsUUFBTSxFQUFDLGtCQUFpQixJQUFJLGNBQWM7QUFDMUMsU0FDRSxnQkFBQUEsT0FBQyxPQUFFLFNBQVMsTUFBTSxrQkFBa0IsSUFBSSxJQUFJLEdBQUc7QUFBQTtBQUFBLElBQUU7QUFBQSxJQUFLO0FBQUEsS0FBQztBQUUzRDtBQXFEQSxJQUFNLE9BQWtDO0FBQUEsRUFDdEMsYUFBYTtBQUFBLEVBQ2IsS0FBSztBQUFBLEVBQ0wsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsVUFBVTtBQUFBLEVBQ1YsU0FBUztBQUFBLEVBQ1QsT0FBTztBQUFBLEVBQ1AsU0FBUztBQUFBLEVBQ1QsUUFBTztBQUFBLEVBQ1AsUUFBUTtBQUFBLEVBQ1IsU0FBUztBQUFBLEVBQ1QsWUFBWTtBQUFBLEVBQ1osU0FBUztBQUFBLEVBQ1QsWUFBWTtBQUFBLEVBQ1osUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsYUFBYTtBQUFBLEVBQ2IsYUFBUTtBQUFBLEVBQ1IsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsTUFBSztBQUFBLEVBQ0wsV0FBVTtBQUFBLEVBQ1YsVUFBUztBQUFBLEVBQ1QsV0FBVTtBQUFBLEVBQ1YsV0FBVTtBQUFBLEVBQ1YsZ0JBQVU7QUFBQSxFQUNWLFNBQVE7QUFBQSxFQUNSLFFBQVE7QUFBQSxFQUNSLE9BQU07QUFBQSxFQUNOLFFBQU87QUFBQSxFQUNQLGVBQWU7QUFBQSxFQUNmLGdCQUFnQjtBQUFBLEVBQ2hCLE9BQU07QUFBQSxFQUNOLE9BQU87QUFBQSxFQUNQLE1BQU07QUFBQSxFQUNOLFVBQVU7QUFBQSxFQUNWLFVBQVM7QUFBQSxFQUNULE9BQU07QUFBQSxFQUNOLFVBQVU7QUFBQSxFQUNWLFVBQVU7QUFBQSxFQUNWLFVBQVU7QUFBQSxFQUNWLE9BQU87QUFFVDtBQXNCTyxJQUFNLGVBQTJDO0FBQUEsRUFDdEQ7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxVQUFVO0FBQUEsSUFDM0IsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsZUFBYztBQUFBLElBQ2QsY0FBYTtBQUFBLElBQ2IsT0FBTztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLE1BQUMsZ0JBQUFDLE1BQUMsT0FBRSx5WkFDZ1k7QUFBQSxNQUMzWSxnQkFBQUEsTUFBQyxPQUFFLDBCQUFBQSxNQUFDLFlBQU8sbU9BQXFOLEdBQVM7QUFBQSxNQUFNLGdCQUFBQSxNQUFDLE9BQUUsNjVEQUs2TTtBQUFBLElBQUk7QUFBQSxJQUNyYyxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxPQUFPO0FBQUEsSUFDeEIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsZUFBZTtBQUFBLElBQ2YsY0FBYztBQUFBLElBQ2QsT0FBTztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLE1BQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsUUFBc0gsZ0JBQUFELE1BQUMsWUFBTyw2QkFBZTtBQUFBLFFBQVM7QUFBQSxTQUE0RTtBQUFBLE1BQzdPLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLFFBQXFDLGdCQUFBRCxNQUFDLFlBQU8sb0NBQXNCO0FBQUEsUUFBUztBQUFBLFNBQStrQjtBQUFBLE1BQzlwQixnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxRQUEwQyxnQkFBQUQsTUFBQyxZQUFPLCtDQUFpQztBQUFBLFFBQVM7QUFBQSxTQUFpa0I7QUFBQSxNQUNocUIsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsUUFBaUQsZ0JBQUFELE1BQUMsWUFBTyxrQ0FBb0I7QUFBQSxRQUFTO0FBQUEsU0FBcWI7QUFBQSxNQUM5Z0IsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsUUFBaUYsZ0JBQUFELE1BQUMsWUFBTyw2QkFBZTtBQUFBLFFBQVM7QUFBQSxTQUEwYjtBQUFBLElBQzlpQjtBQUFBLElBQ0YsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssYUFBYTtBQUFBLElBQzlCLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWE7QUFBQSxJQUNiLGVBQWU7QUFBQSxJQUNmLE1BQU07QUFBQSxJQUNOLFNBQVMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHNsREFHd1osQ0FBSTtBQUFBLElBQ3phLFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLEtBQUs7QUFBQSxJQUN0QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxpbEJBRWdGLENBQUk7QUFBQSxJQUN0RyxVQUFVLENBQUMsZ0JBQUFDLE9BQUFDLFlBQUEsRUFBRTtBQUFBLHNCQUFBRixNQUFDLE9BQUUsK1JBRWhCO0FBQUEsTUFDRSxnQkFBQUEsTUFBQyxPQUFFLDhYQUlzRDtBQUFBLE1BQ3pELGdCQUFBQSxNQUFDLE9BQUUsb1dBS3NEO0FBQUEsTUFDekQsZ0JBQUFBLE1BQUMsT0FBRSxpN0NBTXFQO0FBQUEsT0FDMVAsQ0FBRztBQUFBLElBQ0gsZ0JBQWdCLENBQUMsZ0JBQUFDLE9BQUFDLFlBQUEsRUFBRTtBQUFBO0FBQUEsTUFBQyxnQkFBQUYsTUFBQyxPQUFFLHVQQUF5TztBQUFBLE1BQzlQLGdCQUFBQSxNQUFDLE9BQUUsZ2tCQUFrakI7QUFBQSxPQUFJLENBQUc7QUFBQSxJQUM5akIsMkJBQTJCO0FBQUEsSUFDM0IsV0FBVyxnQkFBQUMsT0FBQUMsWUFBQSxFQUFFO0FBQUEsc0JBQUFGLE1BQUMsU0FBTSxHQUFFLDJDQUEwQyxHQUFFLHNSQUFxUjtBQUFBLE1BQ3JWLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1REFBc0QsR0FBRSx5TEFBd0w7QUFBQSxNQUN6UCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOEJBQTZCLEdBQUUsdU5BQXNOO0FBQUEsTUFDOVAsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG1IQUFrSCxHQUFFLHdCQUF1QjtBQUFBLE1BQ3BKLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyQ0FBMEMsR0FBRSwrSEFBOEg7QUFBQSxNQUNuTCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0NBQXFDLEdBQUUsMFFBQW9RO0FBQUEsTUFDcFQsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlEQUF3RCxHQUFFLHlIQUF3SDtBQUFBLE1BQzNMLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyQ0FBMEMsR0FBRSx3RkFBa0Y7QUFBQSxNQUN2SSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNkRBQTRELEdBQUUsNkVBQTRFO0FBQUEsTUFDbkosZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG1DQUFrQyxHQUFFLDJJQUEwSTtBQUFBLE1BQ3ZMLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxxSEFBb0gsR0FBRSxzRkFBcUY7QUFBQSxNQUNwTixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUVBQWtFLEdBQUUseUJBQXdCO0FBQUEsTUFDckcsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdGQUF1RixHQUFFLHVLQUFzSztBQUFBLE1BQ3hRLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxxREFBb0QsR0FBRSx5UUFBd1E7QUFBQSxNQUN2VSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUseUVBQXdFLEdBQUUsMkZBQTBGO0FBQUEsTUFDN0ssZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGlEQUFnRCxHQUFFLHNOQUFxTjtBQUFBLE1BQ2hSLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxrSUFBaUksR0FBRSwyUEFBZ1A7QUFBQSxNQUM1WCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUZBQWtGLEdBQUUseVdBQXdXO0FBQUEsTUFDcmMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZEQUE0RCxHQUFFLDJLQUEwSztBQUFBLE1BQ2pQLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxnR0FBK0YsR0FBRSwrSEFBOEg7QUFBQSxNQUN4TyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUscUNBQW9DLEdBQUUsb0VBQW1FO0FBQUEsTUFDbEgsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZEQUE0RCxHQUFFLDJWQUEwVjtBQUFBLE1BQ2phLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1RkFBaUYsR0FBRSxxRkFBaUY7QUFBQSxNQUM3SyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsZ0RBQStDLEdBQUUsNEVBQTJFO0FBQUEsTUFDckksZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFFQUFvRSxHQUFFLDRDQUEyQztBQUFBLE1BQzFILGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwrREFBOEQsR0FBRSxpR0FBMkY7QUFBQSxNQUNwSyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsMkZBQTBGLEdBQUUsa0lBQWlJO0FBQUEsTUFDdE8sZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZEQUE0RCxHQUFFLHdFQUF1RTtBQUFBLE1BQzlJLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3REFBdUQsR0FBRSxxSEFBb0g7QUFBQSxNQUN0TCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0hBQW9ILEdBQUUsaVJBQWdSO0FBQUEsTUFDL1ksZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDRFQUEyRSxHQUFFLGdGQUErRTtBQUFBLE1BQ3JLLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxrR0FBaUcsR0FBRSw4RkFBNkY7QUFBQSxNQUN6TSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsZ0ZBQStFLEdBQUUsNFBBQTJQO0FBQUEsTUFDclYsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDBEQUF5RCxHQUFFLDhGQUE2RjtBQUFBLE1BQ2pLLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2RkFBNEYsR0FBRSxxSUFBb0k7QUFBQSxNQUMzTyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0dBQTJGLEdBQUUsMEVBQXlFO0FBQUEsTUFDL0ssZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG9FQUFtRSxHQUFFLGlEQUFnRDtBQUFBLE1BQzlILGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw0SEFBMkgsR0FBRSx1QkFBaUI7QUFBQSxNQUN2SixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsb0VBQW1FLEdBQUUsNkZBQTRGO0FBQUEsT0FDNUs7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQTtBQUFBLEVBRVY7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssVUFBVTtBQUFBLElBQzNCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLCtqQkFBc2lCLENBQUk7QUFBQSxJQUM1akIsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsbXJFQUd1c0IsQ0FBSTtBQUFBLElBQ3p0QixnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDhsQkFBd2tCLENBQUk7QUFBQSxJQUNobUIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1IsV0FBVSxnQkFBQUMsT0FBQUMsWUFBQSxFQUFFO0FBQUEsc0JBQUFGLE1BQUMsWUFBTyxPQUFNLHNFQUFrRSxPQUFNLE9BQU0sUUFBTyxPQUFNLEtBQUksNEVBQTJFLGFBQVksS0FBSSxpQkFBaUIsTUFBTSxTQUFRLDREQUEyRDtBQUFBLE1BQVMsZ0JBQUFBLE1BQUMsT0FBRSxtRUFBcUQ7QUFBQSxPQUFJO0FBQUEsRUFDclg7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssZUFBZTtBQUFBLElBQ2hDLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLElBQ2hCLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsWUFBWSxLQUFLLGFBQWE7QUFBQSxJQUM5QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFDZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxJQUNoQixNQUFNO0FBQUEsSUFDTixTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxPQUFPO0FBQUEsSUFDeEIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYyxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsbVlBQ3VMLENBQUk7QUFBQSxJQUM3TSxVQUFVO0FBQUEsTUFBQyxnQkFBQUEsTUFBQyxPQUFFLDZ2QkFHd0c7QUFBQSxNQUN0SCxnQkFBQUEsTUFBQyxPQUFFLG9tQkFFK0o7QUFBQSxJQUFJO0FBQUEsSUFDdEssZ0JBQWdCLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFDbEIsZ0JBQUFBLE9BQUMsUUFDQztBQUFBLHdCQUFBRCxNQUFDLFFBQUcsb09BQXNOO0FBQUEsUUFDMU4sZ0JBQUFBLE1BQUMsUUFBRywyT0FBNk47QUFBQSxRQUNqTyxnQkFBQUEsTUFBQyxRQUFHLDhZQUFnWTtBQUFBLFNBQ3RZO0FBQUEsTUFBSztBQUFBLE9BQ1AsQ0FBSTtBQUFBLElBQ0osU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssUUFBUTtBQUFBLElBQ3pCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxNQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLFFBQXFMLGdCQUFBRCxNQUFDLE9BQUUsTUFBSyx5QkFBeUIsZ0NBQWtCO0FBQUEsUUFBSTtBQUFBLFNBQWluQztBQUFBLE1BQzMyQztBQUFBLE1BQ0EsZ0JBQUFBLE1BQUMsT0FBRSxnbERBQTZqRDtBQUFBLE1BQ2hrRCxnQkFBQUEsTUFBQyxPQUFFLG1EQUFxQztBQUFBLE1BQ3hDLGdCQUFBQyxPQUFDLFFBQ0M7QUFBQSx3QkFBQUQsTUFBQyxRQUFHLGdHQUFrRjtBQUFBLFFBQ3RGLGdCQUFBQSxNQUFDLFFBQUcsaUdBQW1GO0FBQUEsUUFDdkYsZ0JBQUFBLE1BQUMsUUFBRyxrSEFBb0c7QUFBQSxRQUN4RyxnQkFBQUEsTUFBQyxRQUFHLHVHQUF5RjtBQUFBLFNBQy9GO0FBQUEsTUFFQSxnQkFBQUEsTUFBQyxPQUFFLG1EQUFxQztBQUFBLE1BQ3hDLGdCQUFBQyxPQUFDLFFBQ0M7QUFBQSx3QkFBQUQsTUFBQyxRQUFHLG9IQUFzRztBQUFBLFFBQzFHLGdCQUFBQSxNQUFDLFFBQUcsMklBQTZIO0FBQUEsUUFDakksZ0JBQUFBLE1BQUMsUUFBRyxzSUFBd0g7QUFBQSxRQUM1SCxnQkFBQUEsTUFBQyxRQUFHLDhJQUFnSTtBQUFBLFNBQ3RJO0FBQUEsSUFDQTtBQUFBLElBQ0EsZ0JBQWdCLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFBK1ksZ0JBQUFELE1BQUMsT0FBRSw4QkFBZ0I7QUFBQSxNQUFJO0FBQUEsT0FBNlosQ0FBSTtBQUFBLElBQzMxQixXQUFXLGdCQUFBQyxPQUFBQyxZQUFBLEVBQ1Q7QUFBQSxzQkFBQUYsTUFBQyxTQUFNLEdBQUUsbUpBQWtKLEdBQUUsMGxCQUF5bEI7QUFBQSxNQUN0dkIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdFQUF1RSxHQUFFLGlrQkFBc2pCO0FBQUEsTUFDeG9CLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxtRUFBa0UsR0FBRSw2b0JBQXduQjtBQUFBLE1BQ3JzQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUscUVBQW9FLEdBQUUscXRCQUEwc0I7QUFBQSxNQUN6eEIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG1IQUE2RyxHQUFFLCtjQUF5YztBQUFBLE1BQ2prQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0VBQXFFLEdBQUUsbWtCQUE2akI7QUFBQSxNQUM3b0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFHQUFvRyxHQUFFLGluQkFBc21CO0FBQUEsTUFDcnRCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1RUFBc0UsR0FBRSxvaUJBQXloQjtBQUFBLE1BQzFtQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsd0VBQXVFLEdBQUUsd2ZBQTZlO0FBQUEsTUFDL2pCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw0RUFBMkUsR0FBRSxxUUFBb1E7QUFBQSxNQUMxVixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsb0RBQW1ELEdBQUUsNlRBQTRUO0FBQUEsTUFDMVgsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFFQUFvRSxHQUFFLG1PQUFrTztBQUFBLE1BQ2pULGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxzRUFBcUUsR0FBRSxzVEFBMlM7QUFBQSxNQUMzWCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOEVBQTZFLEdBQUUsK2JBQW9iO0FBQUEsTUFDNWdCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxzRUFBcUUsR0FBRSxrYUFBa1o7QUFBQSxNQUNsZSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsa0RBQWlELEdBQUUsOGVBQTZlO0FBQUEsT0FDM2lCO0FBQUEsSUFDQSxnQkFBZ0I7QUFBQSxJQUNoQixzQkFBc0I7QUFBQSxJQUN0QixTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsZUFBYztBQUFBLElBQ2QsY0FBYztBQUFBLElBQ2QsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssVUFBVTtBQUFBLElBQzNCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLElBQ2hCLHNCQUFzQjtBQUFBLElBQ3RCLFNBQVMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHdvQkFBMG5CLENBQUk7QUFBQSxJQUMzb0IsUUFBUTtBQUFBLElBQ1IsV0FBVSxnQkFBQUMsT0FBQUMsWUFBQSxFQUNWO0FBQUEsc0JBQUFGLE1BQUMsU0FBTSxHQUFFLHFHQUFvRyxHQUFFLHVaQUFxWjtBQUFBLE1BQ3BnQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUscUNBQW9DLEdBQUUsc2NBQW9jO0FBQUEsTUFDbmYsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZCQUE0QixHQUFFLGlFQUErRDtBQUFBLE1BQ3RHLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw4REFBNkQsR0FBRSxnRkFBOEU7QUFBQSxNQUN0SixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsMENBQXlDLEdBQUUsNlNBQTJTO0FBQUEsTUFDL1YsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdEQUF1RCxHQUFFLHdMQUFpTDtBQUFBLE1BQ25QLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxnRkFBK0UsR0FBRSxnVUFBOFQ7QUFBQSxNQUN4WixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsa0ZBQWlGLEdBQUUsdUpBQXFKO0FBQUEsTUFDalAsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDJDQUEwQyxHQUFFLGtMQUFnTDtBQUFBLE1BQ3JPLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxnREFBK0MsR0FBRSx5T0FBdU87QUFBQSxNQUNqUyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsK0RBQThELEdBQUUseU5BQXVOO0FBQUEsTUFDaFMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG1GQUFrRixHQUFFLDRPQUEwTztBQUFBLE1BQ3ZVLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1SEFBc0gsR0FBRSw2S0FBMks7QUFBQSxNQUM1UyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0RBQXFELEdBQUUsd0ZBQXNGO0FBQUEsTUFDdEosZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGlEQUFnRCxHQUFFLCtGQUE2RjtBQUFBLE1BQ3hKLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxtQ0FBa0MsR0FBRSwwT0FBcU87QUFBQSxNQUNsUixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsb0RBQW1ELEdBQUUsbUtBQWlLO0FBQUEsT0FDL047QUFBQSxFQUNGO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFVBQVU7QUFBQSxJQUMzQixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFDZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxJQUNoQixTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsSUFDUixzQkFBc0I7QUFBQSxFQUN4QjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssVUFBVTtBQUFBLElBQzNCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLE1BQU07QUFBQSxJQUNOLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWTtBQUFBLElBQ1osS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsZUFBZTtBQUFBLElBQ2YsY0FBYztBQUFBLElBQ2QsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssU0FBUztBQUFBLElBQzFCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUEyUCxnQkFBQUQsTUFBQyxpQkFBYyxLQUFJLGNBQWEsVUFBUyxVQUFTLEtBQUksS0FBSTtBQUFBLE1BQUU7QUFBQSxPQUFpSixDQUFJO0FBQUEsSUFDOWQsVUFBVSxDQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLE1BQXVYLGdCQUFBRCxNQUFDLHNCQUFtQixLQUFJLE9BQU0sTUFBSyxhQUFZO0FBQUEsTUFBRTtBQUFBLE9BRUgsQ0FBSTtBQUFBLElBQ3ZiLGdCQUFnQixDQUFDLGdCQUFBQSxNQUFDLE9BQUUseWRBQXNjLENBQUk7QUFBQSxJQUM5ZCxXQUFXLGdCQUFBQyxPQUFBQyxZQUFBLEVBQ1Q7QUFBQSxzQkFBQUY7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BTzBkO0FBQUEsTUFDOWQsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFFUCxHQUFFO0FBQUE7QUFBQSxNQUt3bEI7QUFBQSxNQUM1bEIsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUN5YjtBQUFBLE1BQzdiLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBcVg7QUFBQSxNQUN6WCxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQXNiO0FBQUEsTUFDMWIsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUF3VztBQUFBLE1BQzVXLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBb2U7QUFBQSxNQUN4ZSxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BRWszQjtBQUFBLE1BQ3QzQixnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BRXFMO0FBQUEsTUFDekwsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUF5RztBQUFBLE1BQzdHLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBb0c7QUFBQSxNQUN4RyxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQXNFO0FBQUEsTUFDMUUsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZNQUF3TCxHQUFFLGdIQUF5RztBQUFBLE1BQzVTLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxnRkFBK0UsR0FBRSw4aUVBQXdoRTtBQUFBLE1BQ2xuRSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUJBQWtCLEdBQUUsb3VEQUE2dEQ7QUFBQSxNQUMxdkQsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG9MQUFtTCxHQUFFLDRyQ0FBMHJDO0FBQUEsTUFDeDNDLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1RUFBcUUsR0FBRSxlQUFhO0FBQUEsTUFDN0YsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDJRQUFnUSxHQUFFLDB3Q0FHM0U7QUFBQSxNQUNoTSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsb1hBQThWLEdBQUUscTZCQUNnTjtBQUFBLE1BQ3pqQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOFJBQWdSLEdBQUUsdWlGQUFrZ0Y7QUFBQSxNQUM3eEYsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDRTQUNtTSxHQUFFLHF5REFHZ0M7QUFBQSxNQUM5TyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOEZBQTZGLEdBQUUsdUlBQXFJO0FBQUEsTUFDN08sZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGlMQUFnTCxHQUFFLDRCQUEwQjtBQUFBLE1BQ3JOLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw0RkFBMEYsR0FBRSxxQkFBbUI7QUFBQSxPQUN2SDtBQUFBLElBQ0gsWUFBWSxnQkFBQUEsTUFBQywyQkFBd0I7QUFBQSxJQUNyQyxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsZUFBZTtBQUFBLElBQ2YsY0FBYztBQUFBLElBQ2QsT0FBTztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssT0FBTztBQUFBLElBQ3hCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLE1BQU07QUFBQSxJQUNOLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLE9BQU87QUFBQSxJQUN4QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFBb0MsZ0JBQUFELE1BQUMsc0JBQW1CLEtBQUksWUFBVyxNQUFLLE9BQU07QUFBQSxNQUFFO0FBQUEsTUFDN0IsZ0JBQUFBLE1BQUMsT0FBRSxNQUFLLDJCQUEyQixnQ0FBa0I7QUFBQSxNQUFJO0FBQUEsT0FDTCxDQUFJO0FBQUEsSUFDakksVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsbTBDQUk4TyxDQUFJO0FBQUEsSUFDaFEsZ0JBQWdCLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFDa0gsZ0JBQUFELE1BQUMsc0JBQW1CLEtBQUksVUFBUyxNQUFLLGNBQWE7QUFBQSxNQUFFO0FBQUEsT0FBRSxDQUFJO0FBQUEsSUFDak0sV0FBVyxnQkFBQUMsT0FBQUMsWUFBQSxFQUNUO0FBQUEsc0JBQUFGLE1BQUMsU0FBTSxHQUFFLHNGQUFxRixHQUFFLHNJQUEySDtBQUFBLE1BQzNOLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw0Q0FBMkMsR0FBRSx3QkFBa0I7QUFBQSxNQUN4RSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsMERBQXlELEdBQUUsaVNBQWdTO0FBQUEsTUFDcFcsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZEQUE0RCxHQUFFLG1JQUE2SDtBQUFBLE1BQ3BNLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3REFBdUQsR0FBRSxpWEFBc1c7QUFBQSxNQUN4YSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0VBQXFFLEdBQUUscVlBQStYO0FBQUEsTUFDL2MsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdFQUF1RSxHQUFFLDRUQUFpVDtBQUFBLE1BQ25ZLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxxREFBb0QsR0FBRSxrVkFBNlQ7QUFBQSxNQUM1WCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsK0dBQXlHLEdBQUUsd1JBQThQO0FBQUEsTUFDbFgsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlHQUFtRyxHQUFFLDBOQUErTTtBQUFBLE1BQzdULGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxxRkFBb0YsR0FBRSw4TEFBbUw7QUFBQSxNQUNsUixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNkRBQTRELEdBQUUsOE9BQW1PO0FBQUEsTUFDMVMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlFQUF3RSxHQUFFLG1OQUFrTjtBQUFBLE1BQ3JTLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxpRUFBZ0UsR0FBRSxnUEFBK087QUFBQSxNQUMxVCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUNBQWtDLEdBQUUsb1NBQW9SO0FBQUEsTUFDalUsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdDQUF1QyxHQUFFLGtQQUF1TztBQUFBLE1BQ3pSLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1RUFBc0UsR0FBRSxpSUFBMkg7QUFBQSxNQUM1TSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0RBQXFELEdBQUUsd0pBQTZJO0FBQUEsT0FDL007QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLE9BQU87QUFBQSxJQUN4QixLQUFLO0FBQUEsSUFDTCxVQUFVO0FBQUEsSUFDVixTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxxT0FBdU4sQ0FBSTtBQUFBLElBQzdPLFVBQVUsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHdWQUEwVSxDQUFJO0FBQUEsSUFDNVYsZ0JBQWdCO0FBQUEsSUFDaEIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1IsWUFBWSxnQkFBQUEsTUFBQyx1QkFBbUI7QUFBQSxFQUNsQztBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxRQUFRO0FBQUEsSUFDekIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFBcVAsZ0JBQUFELE1BQUMsc0JBQW1CLEtBQUksYUFBWSxNQUFLLGNBQVk7QUFBQSxNQUFFO0FBQUEsTUFBK0ksZ0JBQUFBLE1BQUMsdUJBQW9CLElBQUcsd0JBQXdCLE1BQUsscUJBQW1CLE1BQUssd0JBQXVCO0FBQUEsTUFBRTtBQUFBLE9BQStYLENBQUk7QUFBQSxJQUN4N0IsV0FBVyxnQkFBQUMsT0FBQUMsWUFBQSxFQUNUO0FBQUEsc0JBQUFGO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUFvSjtBQUFBLE1BQ3hKLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBa0M7QUFBQSxNQUN0QyxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQStIO0FBQUEsTUFDbkksZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUFzRDtBQUFBLE1BQzFELGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBNlU7QUFBQSxNQUNqVixnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQXdoQjtBQUFBLE1BQzVoQixnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQWtWO0FBQUEsTUFDdFYsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUFpSjtBQUFBLE1BQ3JKLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBMlE7QUFBQSxNQUMvUSxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQStSO0FBQUEsTUFDblMsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUEwTztBQUFBLE1BQzlPLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBcVE7QUFBQSxNQUN6USxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQThPO0FBQUEsTUFDbFAsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUErUTtBQUFBLE1BQ25SLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBcWdCO0FBQUEsTUFDemdCLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBa0s7QUFBQSxNQUN0SyxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQTJUO0FBQUEsTUFDL1QsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUEyUjtBQUFBLE1BQy9SLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBaVM7QUFBQSxNQUNyUyxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQWtXO0FBQUEsT0FDeFc7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxJQUNSLHNCQUFzQjtBQUFBLEVBQ3hCO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsWUFBWSxLQUFLLGdCQUFnQjtBQUFBLElBQ2pDLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGVBQWM7QUFBQSxJQUNkLGNBQWM7QUFBQSxJQUNkLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDBSQUE0USxDQUFJO0FBQUEsSUFDbFMsVUFBVTtBQUFBLE1BQUMsZ0JBQUFBLE1BQUMsT0FBRSw2WEFBK1c7QUFBQSxNQUMzWCxnQkFBQUEsTUFBQyxPQUFFLHNTQUF3UjtBQUFBLE1BQzNSLGdCQUFBQSxNQUFDLE9BQUUsNllBQStYO0FBQUEsSUFBSTtBQUFBLElBQ3hZLGdCQUFnQixDQUFDLGdCQUFBQSxNQUFDLE9BQUUsK2FBQWlhLENBQUk7QUFBQSxJQUN6YixTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxVQUFVO0FBQUEsSUFDM0IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYyxDQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLE1BQStCLGdCQUFBRCxNQUFDLHNCQUFtQixLQUFJLGVBQWMsTUFBSyxtQkFBa0I7QUFBQSxNQUFFO0FBQUEsT0FBZ1EsQ0FBSTtBQUFBLElBQ3BYLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLElBQ2hCLE1BQU0sQ0FBQyxnQkFBQUMsT0FBQyxRQUNOO0FBQUEsc0JBQUFBLE9BQUMsUUFDQztBQUFBLHdCQUFBRCxNQUFDLFlBQU8seUJBQWM7QUFBQSxRQUN0QixnQkFBQUEsTUFBQyxPQUFFLGc0Q0FBODFDO0FBQUEsU0FDbjJDO0FBQUEsTUFDQSxnQkFBQUMsT0FBQyxRQUNDO0FBQUEsd0JBQUFELE1BQUMsWUFBTyxvQ0FBNEI7QUFBQSxRQUNwQyxnQkFBQUEsTUFBQyxPQUFFLG9wQkFBNG5CO0FBQUEsU0FDam9CO0FBQUEsTUFDQSxnQkFBQUMsT0FBQyxRQUNDO0FBQUEsd0JBQUFELE1BQUMsWUFBTyx1QkFBWTtBQUFBLFFBQ3BCLGdCQUFBQSxNQUFDLE9BQUUsaWlCQUFtaEI7QUFBQSxTQUN4aEI7QUFBQSxNQUNBLGdCQUFBQyxPQUFDLFFBQ0M7QUFBQSx3QkFBQUQsTUFBQyxZQUFPLDJCQUFnQjtBQUFBLFFBQ3hCLGdCQUFBQSxNQUFDLE9BQUUsdWlCQUFvaEI7QUFBQSxTQUN6aEI7QUFBQSxPQUNGLENBQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULHNCQUFxQjtBQUFBLElBQ3JCLFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLE9BQU87QUFBQSxJQUN4QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFTO0FBQUEsSUFDVCxVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxpY0FDNEwsQ0FBSTtBQUFBLElBQ2xOLFVBQVUsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLG1xQkFFNk8sQ0FBSTtBQUFBLElBQy9QLGdCQUFnQixDQUFDLGdCQUFBQSxNQUFDLE9BQUUsbXBCQUUwRyxDQUFJO0FBQUEsSUFDbEksU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssWUFBWTtBQUFBLElBQzdCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLGVBQWU7QUFBQSxJQUNmLGNBQWM7QUFBQSxJQUNkLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUsrQyxnQkFBQUQsTUFBQyx1QkFBb0IsVUFBUyxVQUFTLDBCQUFBQSxNQUFDLFNBQUksZUFBQyxHQUFNO0FBQUEsTUFBc0I7QUFBQSxPQUczSCxDQUFJO0FBQUEsSUFDbkIsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVSxDQUFDLGdCQUFBQyxPQUFBQyxZQUFBLEVBQUU7QUFBQSxzQkFBQUQsT0FBQyxPQUFFO0FBQUE7QUFBQSxRQUc4QyxnQkFBQUQsTUFBQyx1QkFBb0IsVUFBUyxVQUFTLDBCQUFBQSxNQUFDLFNBQUksZUFBQyxHQUFNO0FBQUEsUUFBc0I7QUFBQSxTQUt2STtBQUFBLE1BQ0UsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsUUFFdUYsZ0JBQUFELE1BQUMsdUJBQW9CLFVBQVMsVUFBUywwQkFBQUEsTUFBQyxTQUFJLGVBQUMsR0FBTTtBQUFBLFFBQXNCO0FBQUEsU0FDcEY7QUFBQSxPQUNqRixDQUFHO0FBQUEsSUFDSCxnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLGdtQkFLaUYsQ0FBSTtBQUFBLElBQ3pHLDJCQUEyQjtBQUFBLElBQzNCLHNCQUFxQjtBQUFBLElBQ3JCLFlBQVksZ0JBQUFBLE1BQUMscUJBQWtCO0FBQUEsSUFDL0IsV0FBVyxnQkFBQUMsT0FBQUMsWUFBQSxFQUNUO0FBQUEsc0JBQUFGLE1BQUMsU0FBTSxHQUFFLGtEQUFpRCxHQUFFLGlSQUF3UTtBQUFBLE1BQ3BVLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw4RUFBNkUsR0FBRSwyUUFBMFE7QUFBQSxNQUNsVyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsZ0dBQStGLEdBQUUsMlRBQTBUO0FBQUEsTUFDcGEsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtFQUE4RSxHQUFFLGtLQUFpSztBQUFBLE1BQzFQLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyRkFBMEYsR0FBRSwrRUFBOEU7QUFBQSxNQUNuTCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0ZBQXFGLEdBQUUsa1FBQWlRO0FBQUEsTUFDalcsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHNHQUFxRyxHQUFFLHFlQUFvZTtBQUFBLE1BQ3BsQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsd0RBQXVELEdBQUUscVFBQWlRO0FBQUEsT0FFclU7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFFBQVE7QUFBQSxJQUN6QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsTUFBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxRQUE4QixnQkFBQUQsTUFBQyxPQUFFLE1BQUssMEJBQXlCLGdDQUFrQjtBQUFBLFFBQUk7QUFBQSxTQUdnQztBQUFBLE1BQ3ZJLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLFFBQW9FLGdCQUFBRCxNQUFDLE9BQUUsTUFBSyx3REFBdUQsOENBQ3BHO0FBQUEsUUFBSTtBQUFBLFNBQUM7QUFBQSxJQUFJO0FBQUEsSUFDM0MsVUFBVSxDQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLE1BRWlGLGdCQUFBRCxNQUFDLHNCQUFtQixLQUFJLFVBQVMsTUFBSyxvQkFBbUI7QUFBQSxNQUFFO0FBQUEsTUFBMkgsZ0JBQUFBLE1BQUMsc0JBQW1CLEtBQUksWUFBVyxNQUFLLE9BQU07QUFBQSxNQUFFO0FBQUEsT0FBOEosQ0FBSTtBQUFBLElBQ3ZlLGdCQUFnQixDQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLE1BR3VCLGdCQUFBRCxNQUFDLGlCQUFjLEtBQUksVUFBUyxVQUFTLFVBQVMsS0FBSSxLQUFJO0FBQUEsTUFBRTtBQUFBLE1BS04sZ0JBQUFBLE1BQUMsaUJBQWMsS0FBSSxVQUFTLFVBQVMsVUFBUyxLQUFJLEtBQUk7QUFBQSxNQUFFO0FBQUEsTUFFdkgsZ0JBQUFBLE1BQUMsaUJBQWMsS0FBSSxVQUFTLFVBQVMsVUFBUyxLQUFJLEtBQUk7QUFBQSxNQUFFO0FBQUEsTUFDcEUsZ0JBQUFBLE1BQUMsaUJBQWMsS0FBSSxVQUFTLFVBQVMsVUFBUyxLQUFJLEtBQUk7QUFBQSxNQUFFO0FBQUEsT0FRL0QsQ0FBSTtBQUFBLElBQ2Ysc0JBQXNCO0FBQUEsSUFDdEIsWUFBWSxnQkFBQUEsTUFBQywwQkFBdUI7QUFBQSxJQUNwQyxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsZUFBZTtBQUFBLElBQ2YsY0FBYztBQUFBLElBQ2QsT0FBTztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssUUFBUTtBQUFBLElBQ3pCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLGtRQUFvUCxDQUFJO0FBQUEsSUFDMVEsVUFBVTtBQUFBLE1BQUMsZ0JBQUFBLE1BQUMsT0FBRSxnSkFBa0k7QUFBQSxNQUM5SSxnQkFBQUMsT0FBQyxRQUNHO0FBQUEsd0JBQUFELE1BQUMsUUFBRyw2QkFBZTtBQUFBLFFBQ25CLGdCQUFBQSxNQUFDLFFBQUcsOEJBQWdCO0FBQUEsUUFDcEIsZ0JBQUFBLE1BQUMsUUFBRyx3REFBMEM7QUFBQSxRQUM5QyxnQkFBQUEsTUFBQyxRQUFHLHNEQUF3QztBQUFBLFNBQ2hEO0FBQUEsTUFDQSxnQkFBQUEsTUFBQyxPQUFFLG03QkFBcTZCO0FBQUEsSUFBSTtBQUFBLElBQzk2QixnQkFBZ0I7QUFBQSxNQUFDLGdCQUFBQSxNQUFDLE9BQUUsNkhBQStHO0FBQUEsTUFDakksZ0JBQUFDLE9BQUMsUUFDRztBQUFBLHdCQUFBRCxNQUFDLFFBQUcsMkZBQTZFO0FBQUEsUUFDakYsZ0JBQUFBLE1BQUMsUUFBRyw0SUFBOEg7QUFBQSxRQUNsSSxnQkFBQUEsTUFBQyxRQUFHLHlEQUEyQztBQUFBLFFBQy9DLGdCQUFBQSxNQUFDLFFBQUcsOEZBQWdGO0FBQUEsUUFDcEYsZ0JBQUFBLE1BQUMsUUFBRywrQ0FBaUM7QUFBQSxRQUNyQyxnQkFBQUEsTUFBQyxRQUFHLDRDQUE4QjtBQUFBLFNBQ3RDO0FBQUEsTUFDRixnQkFBQUEsTUFBQyxPQUFFLGlHQUFtRjtBQUFBLElBQ3RGO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxRQUFRO0FBQUEsSUFDekIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYyxDQUFDLGdCQUFBQSxNQUFDLE9BQUUseWdCQUFtZixDQUFJO0FBQUEsSUFDemdCLFVBQVU7QUFBQSxNQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLFFBQW9CLGdCQUFBRCxNQUFDLE9BQUUsTUFBSyw2QkFBNEIsMkJBQWE7QUFBQSxRQUFJO0FBQUEsU0FHcEI7QUFBQSxNQUNqRSxnQkFBQUMsT0FBQyxRQUNDO0FBQUEsd0JBQUFBLE9BQUMsUUFBRztBQUFBLDBCQUFBRCxNQUFDLFlBQU8sdUNBQXlCO0FBQUEsVUFBUztBQUFBLFdBQW9KO0FBQUEsUUFDbE0sZ0JBQUFDLE9BQUMsUUFBRztBQUFBLDBCQUFBRCxNQUFDLFlBQU8sNEJBQWM7QUFBQSxVQUFTO0FBQUEsV0FBNks7QUFBQSxRQUNoTixnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyxzQ0FBd0I7QUFBQSxVQUFTO0FBQUEsV0FBNEs7QUFBQSxRQUN6TixnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyxrQ0FBb0I7QUFBQSxVQUFTO0FBQUEsV0FBcUk7QUFBQSxRQUM5SyxnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyxxQ0FBdUI7QUFBQSxVQUFTO0FBQUEsV0FBK0c7QUFBQSxRQUMzSixnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyxvQ0FBc0I7QUFBQSxVQUFTO0FBQUEsV0FBdUc7QUFBQSxRQUNsSixnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTywwQ0FBNEI7QUFBQSxVQUFTO0FBQUEsV0FBMEg7QUFBQSxTQUM3SztBQUFBLElBQ0E7QUFBQSxJQUNGLGdCQUFnQixDQUFDLGdCQUFBQSxNQUFDLE9BQUUsKzZCQUM0WCxDQUFJO0FBQUEsSUFDcFosV0FBVyxnQkFBQUMsT0FBQUMsWUFBQSxFQUNYO0FBQUEsc0JBQUFGLE1BQUMsU0FBTSxHQUFFLDJGQUEwRixHQUFFLHdNQUFzTTtBQUFBLE1BQzNTLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxpRkFBZ0YsR0FBRSxpUUFBK1A7QUFBQSxNQUMxVixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNkdBQTRHLEdBQUUseVVBQXVVO0FBQUEsTUFDOWIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGtGQUFpRixHQUFFLDROQUEwTjtBQUFBLE1BQ3RULGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2RkFBNEYsR0FBRSxxVUFBbVU7QUFBQSxNQUMxYSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsd0VBQXVFLEdBQUUsMlVBQXlVO0FBQUEsTUFDM1osZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlIQUF3SCxHQUFFLG1PQUFpTztBQUFBLE9BQ3BXO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsSUFDUixzQkFBcUI7QUFBQSxFQUN2QjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxNQUFNO0FBQUEsSUFDdkIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsTUFBTTtBQUFBLElBQ04sVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssUUFBUTtBQUFBLElBQ3pCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDhoQkFDdU4sQ0FBSTtBQUFBLElBQzdPLFVBQVU7QUFBQSxNQUFDLGdCQUFBQSxNQUFDLE9BQUUsa0pBQW9JO0FBQUEsTUFDbEosZ0JBQUFDLE9BQUMsUUFDQztBQUFBLHdCQUFBRCxNQUFDLFFBQUcsd0ZBQTBFO0FBQUEsUUFDOUUsZ0JBQUFBLE1BQUMsUUFBRyxvRUFBc0Q7QUFBQSxRQUMxRCxnQkFBQUEsTUFBQyxRQUFHLGdKQUFrSTtBQUFBLFFBQ3RJLGdCQUFBQSxNQUFDLFFBQUcsaUlBQW1IO0FBQUEsU0FDekg7QUFBQSxJQUNBO0FBQUEsSUFDQSxnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLCtIQUE0RyxDQUFJO0FBQUEsSUFDcEksU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssUUFBUTtBQUFBLElBQ3pCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQTtBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1Isc0JBQXFCO0FBQUEsRUFDdkI7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssU0FBUztBQUFBLElBQzFCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHNQQUF3TyxDQUFJO0FBQUEsSUFDOVAsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsMjBDQUMyTCxDQUFJO0FBQUEsSUFDN00sZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSx3aUJBQTBoQixDQUFJO0FBQUEsSUFDbGpCLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsTUFBTTtBQUFBLElBQ04sWUFBWSxLQUFLLGNBQVc7QUFBQSxJQUM1QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixjQUFjO0FBQUEsSUFDZCxlQUFlO0FBQUEsSUFDZixPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxrZkFBdWQsQ0FBSTtBQUFBLElBQzdlLFVBQVU7QUFBQSxNQUFDLGdCQUFBQSxNQUFDLE9BQUUsNmpDQUNBO0FBQUEsTUFDWixnQkFBQUMsT0FBQyxRQUNDO0FBQUEsd0JBQUFELE1BQUMsUUFBRyx3RkFBMEU7QUFBQSxRQUM5RSxnQkFBQUEsTUFBQyxRQUFHLHlEQUEyQztBQUFBLFFBQy9DLGdCQUFBQSxNQUFDLFFBQUcsZ0ZBQWtFO0FBQUEsUUFDdEUsZ0JBQUFBLE1BQUMsUUFBRyx3RkFBMEU7QUFBQSxRQUM5RSxnQkFBQUEsTUFBQyxRQUFHLHVFQUF5RDtBQUFBLFNBQy9EO0FBQUEsSUFDRjtBQUFBLElBQ0EsZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxzcUJBQXdwQixDQUFJO0FBQUEsSUFDaHJCLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxJQUNSLGdCQUFnQjtBQUFBLElBQ2hCLDJCQUEyQjtBQUFBLEVBQzdCO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFdBQVc7QUFBQSxJQUM1QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFBMlEsZ0JBQUFELE1BQUMsc0JBQW1CLEtBQUksVUFBUyxNQUFLLG9CQUFrQjtBQUFBLE1BQUU7QUFBQSxPQUFvRyxDQUFJO0FBQUEsSUFDL2IsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUscW9CQUF1bkIsQ0FBSTtBQUFBLElBQ3pvQixnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHNiQUF3YSxDQUFJO0FBQUEsSUFDaGMsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssVUFBVTtBQUFBLElBQzNCLFVBQVU7QUFBQSxJQUNWLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUEwQixnQkFBQUQsTUFBQyxzQkFBbUIsS0FBSSxTQUFRLE1BQUssZ0JBQWM7QUFBQSxNQUFFO0FBQUEsT0FBZzNCLENBQUk7QUFBQSxJQUNyOUIsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsa1RBQW9TLENBQUk7QUFBQSxJQUN0VCxnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDJUQUE2UyxDQUFJO0FBQUEsSUFDclUsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssU0FBUztBQUFBLElBQzFCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLElBQ2hCLFNBQVM7QUFBQSxJQUNULFVBQVU7QUFBQSxJQUNWLFdBQVcsZ0JBQUFDLE9BQUFDLFlBQUEsRUFDVDtBQUFBLHNCQUFBRjtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBMmhCO0FBQUEsTUFDL2hCLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBeVg7QUFBQSxNQUM3WCxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQXlSO0FBQUEsTUFDN1IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDJGQUEwRixHQUFFLCtJQUE4STtBQUFBLE1BQ25QLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBbVA7QUFBQSxNQUN2UCxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQXNJO0FBQUEsTUFDMUksZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUEwRDtBQUFBLE1BQzlELGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBd0c7QUFBQSxNQUM1RyxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQTBOO0FBQUEsT0FDaE87QUFBQSxJQUNBLFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsWUFBWSxLQUFLLFVBQVU7QUFBQSxJQUMzQixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixNQUFNO0FBQUEsSUFDTixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxPQUFPO0FBQUEsSUFDUCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssWUFBWTtBQUFBLElBQzdCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUNpRSxnQkFBQUQsTUFBQyxPQUFFLE1BQUssdUJBQXNCLG9CQUFNO0FBQUEsTUFBSTtBQUFBLE9BTVEsQ0FBSTtBQUFBLElBQ3ZJLFVBQVU7QUFBQSxNQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLFFBTXdDLGdCQUFBRCxNQUFDLGlCQUFjLEtBQUksVUFBUyxVQUFTLFVBQVMsS0FBSSxLQUFJO0FBQUEsUUFBRTtBQUFBLFNBQUU7QUFBQSxNQUNoSCxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxRQUM4SSxnQkFBQUQsTUFBQyxpQkFBYyxLQUFJLFVBQVMsVUFBUyxVQUFTLEtBQUksS0FBSTtBQUFBLFFBQUU7QUFBQSxTQUUxRTtBQUFBLElBQUk7QUFBQSxJQUNuSSxnQkFBZ0I7QUFBQSxNQUNkLGdCQUFBQSxNQUFDLE9BQUUsNlpBRXdJO0FBQUEsSUFDN0k7QUFBQSxJQUNBLGdCQUFnQjtBQUFBLElBQ2hCLHNCQUFzQjtBQUFBLElBQ3RCLDJCQUEyQjtBQUFBLElBQzNCLFlBQVksZ0JBQUFBLE1BQUMsaUJBQWM7QUFBQSxJQUMzQixXQUFVLGdCQUFBQyxPQUFBQyxZQUFBLEVBQ1Y7QUFBQSxzQkFBQUYsTUFBQyxTQUFNLEdBQUUsd0hBQXVILEdBQUUsaVJBQStRO0FBQUEsTUFDalosZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG1KQUFrSixHQUFFLHFYQUFtWDtBQUFBLE1BQ2hoQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsa0dBQWlHLEdBQUUseVVBQXVVO0FBQUEsTUFDbmIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGdEQUErQyxHQUFFLHlOQUF1TjtBQUFBLE1BQ2pSLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxtR0FBa0csR0FBRSwyVUFBeVU7QUFBQSxNQUN0YixnQkFBQUEsTUFBQyxTQUFNLEdBQUUseUNBQXdDLEdBQUUsMEhBQXdIO0FBQUEsTUFDM0ssZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlEQUF3RCxHQUFFLHdIQUFzSDtBQUFBLE1BQ3pMLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxvRUFBbUUsR0FBRSx3TUFBc007QUFBQSxNQUNwUixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsK0dBQThHLEdBQUUsb09BQWtPO0FBQUEsTUFDM1YsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDREQUEyRCxHQUFFLHVMQUFxTDtBQUFBLE1BQzNQLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwwRkFBeUYsR0FBRSx1RUFBcUU7QUFBQSxNQUN6SyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsK0RBQThELEdBQUUsb0pBQWtKO0FBQUEsTUFDM04sZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDhFQUE2RSxHQUFFLG1NQUE0TDtBQUFBLE9BQ3BSO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxLQUFLO0FBQUEsSUFDdEIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssU0FBUztBQUFBLElBQzFCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDhsQkFDbEIsQ0FBSTtBQUFBLElBQ0osVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsK2pDQUM0YixDQUFJO0FBQUEsSUFDOWMsZ0JBQWU7QUFBQSxNQUFDLGdCQUFBQSxNQUFDLE9BQUUsK2tCQUN3QjtBQUFBLE1BQ3pDLGdCQUFBQyxPQUFDLFFBQ0M7QUFBQSx3QkFBQUEsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyxrQ0FBb0I7QUFBQSxVQUFTO0FBQUEsV0FBNEc7QUFBQSxRQUNySixnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyxxQ0FBdUI7QUFBQSxVQUFTO0FBQUEsV0FBNkk7QUFBQSxRQUN6TCxnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyx1Q0FBeUI7QUFBQSxVQUFTO0FBQUEsV0FBeUc7QUFBQSxRQUN2SixnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyx3Q0FBMEI7QUFBQSxVQUFTO0FBQUEsV0FBZ0Y7QUFBQSxRQUMvSCxnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyxpREFBbUM7QUFBQSxVQUFTO0FBQUEsV0FBcUg7QUFBQSxRQUM3SyxnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyxrQ0FBb0I7QUFBQSxVQUFTO0FBQUEsV0FBd0k7QUFBQSxTQUNuTDtBQUFBLElBQ0Y7QUFBQSxJQUNBLFdBQVUsZ0JBQUFDLE9BQUFDLFlBQUEsRUFDVjtBQUFBLHNCQUFBRixNQUFDLFNBQU0sR0FBRSx5TUFBd00sR0FBRSwrVEFBb1Q7QUFBQSxNQUN2Z0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDhKQUF3SixHQUFFLDhSQUF3UjtBQUFBLE1BQzNiLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1RUFBc0UsR0FBRSx1SUFBc0k7QUFBQSxNQUN2TixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOEVBQTZFLEdBQUUsa1FBQWlRO0FBQUEsTUFDelYsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFKQUFvSixHQUFFLDRPQUFzTztBQUFBLE1BQ3JZLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxrSEFBNEcsR0FBRSx1T0FBc087QUFBQSxNQUM3VixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsb0dBQW1HLEdBQUUscVFBQW9RO0FBQUEsTUFDbFgsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHNEQUFxRCxHQUFFLDRPQUE0TjtBQUFBLE1BQzVSLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3RUFBdUUsR0FBRSx1REFBc0Q7QUFBQSxNQUN4SSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNEdBQTJHLEdBQUUsNkhBQTRIO0FBQUEsTUFDbFAsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG9HQUFtRyxHQUFFLDZNQUE0TTtBQUFBLE1BQzFULGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw0RUFBMkUsR0FBRSxvVEFBeVM7QUFBQSxNQUMvWCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsaURBQWdELEdBQUUsb0RBQXlDO0FBQUEsT0FDcEc7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFNBQVM7QUFBQSxJQUMxQixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFhLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxDQUFJO0FBQUEsSUFDckIsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsQ0FBSTtBQUFBLElBQ2xCLGdCQUFnQixDQUFDLGdCQUFBQSxNQUFDLE9BQUUsQ0FBSTtBQUFBLElBQ3hCLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVTtBQUFBLElBQ1YsWUFBWSxLQUFLLFdBQVc7QUFBQSxJQUM1QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFhO0FBQUEsSUFDYixlQUFjO0FBQUEsSUFDZCxNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFBQyxnQkFBQUEsTUFBQyxPQUFFLHNRQUF3UDtBQUFBLE1BQ2hRLGdCQUFBQyxPQUFDLFFBQ0M7QUFBQSx3QkFBQUQsTUFBQyxRQUFHLDRDQUE4QjtBQUFBLFFBQ2xDLGdCQUFBQSxNQUFDLFFBQUcsMENBQTRCO0FBQUEsUUFDaEMsZ0JBQUFBLE1BQUMsUUFBRywrQ0FBaUM7QUFBQSxTQUN2QztBQUFBLE1BQ0EsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsUUFPZ0QsZ0JBQUFELE1BQUMsc0JBQW1CLEtBQUksYUFBWSxNQUFLLHFCQUFvQjtBQUFBLFFBQUU7QUFBQSxTQUM2UTtBQUFBLElBQUk7QUFBQSxJQUNyWSxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsSUFDUiwyQkFBMkI7QUFBQSxJQUMzQixzQkFBcUI7QUFBQSxFQUN2QjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssYUFBYTtBQUFBLElBQzlCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUNkLGVBQWU7QUFBQSxJQUNmLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUFxVSxnQkFBQUQsTUFBQyxzQkFBbUIsS0FBSSxZQUFXLE1BQUssT0FBTTtBQUFBLE1BQUU7QUFBQSxPQUFpQixDQUFJO0FBQUEsSUFDNVosVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUscXFCQUF1cEIsQ0FBSTtBQUFBLElBQ3pxQixnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHc2QkFBMDVCLENBQUk7QUFBQSxJQUNsN0IsVUFBVTtBQUFBLElBQ1YsV0FBVyxnQkFBQUMsT0FBQUMsWUFBQSxFQUNUO0FBQUEsc0JBQUFGLE1BQUMsU0FBTSxHQUFFLDBEQUF5RCxHQUFFLCtXQUE4VztBQUFBLE1BQ2xiLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxnRUFBK0QsR0FBRSxvV0FBbVc7QUFBQSxNQUM3YSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsb0RBQW1ELEdBQUUsa2pCQUFpakI7QUFBQSxNQUMvbUIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGdFQUErRCxHQUFFLGlYQUFnWDtBQUFBLE9BQzViO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYyxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsMlNBQTZSLENBQUk7QUFBQSxJQUNuVCxVQUFVLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxxaENBQ29mLENBQUk7QUFBQSxJQUN0Z0IsZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSx1b0JBQ3BCLENBQUk7QUFBQSxJQUNKLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxJQUNSLFdBQVUsZ0JBQUFDLE9BQUFDLFlBQUEsRUFDVjtBQUFBLHNCQUFBRixNQUFDLFNBQU0sR0FBRSxnRUFBK0QsR0FBRSx3QkFBc0I7QUFBQSxNQUNoRyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUseS9CQUF3L0IsR0FBRSxnR0FBK0Y7QUFBQSxNQUNsbUMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDREQUEyRCxHQUFFLGtHQUFpRztBQUFBLE1BQ3ZLLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxrRUFBaUUsR0FBRSw2SkFBNEo7QUFBQSxNQUN4TyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNEVBQWlFLEdBQUUsc0pBQXFKO0FBQUEsTUFDak8sZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDRCQUEyQixHQUFFLHNDQUFxQztBQUFBLE1BQzNFLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3SkFBdUosR0FBRSwyZkFBMGY7QUFBQSxNQUM1cEIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtHQUF5RyxHQUFFLGliQUFnYjtBQUFBLE1BQ3BpQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0RBQXFELEdBQUUsMmJBQTBiO0FBQUEsTUFDMWYsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHVGQUFzRixHQUFFLG9vQkFBa29CO0FBQUEsTUFDbnVCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2TkFBNE4sR0FBRSw2K0ZBQTIrRjtBQUFBLE1BQ2x0RyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsdUhBQXNILEdBQUUsdTFDQUFnMUM7QUFBQSxNQUNqOUMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZMQUE0TCxHQUFFLGczQ0FBODJDO0FBQUEsTUFDcmpELGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwwTEFBeUwsR0FBRSx5M0RBQXUzRDtBQUFBLE1BQzNqRSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUseWZBQXdmLEdBQUUsZzZCQUE4NUI7QUFBQSxNQUNqNkMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGdyQkFBK3FCLEdBQUUsMkdBQXlHO0FBQUEsTUFDbnlCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxlQUFjLEdBQUUsNmxEQUEybEQ7QUFBQSxNQUNwbkQsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG1KQUFrSixHQUFFLGdHQUE4RjtBQUFBLE9BQzNQO0FBQUEsRUFDRjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxXQUFRO0FBQUEsSUFDekIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYyxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsMGFBQXlaLENBQUk7QUFBQSxJQUMvYSxVQUFVLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxrbkJBQW9tQixDQUFJO0FBQUEsSUFDdG5CLGdCQUFnQixDQUFDLGdCQUFBQSxNQUFDLE9BQUUsK1ZBQTRVLENBQUk7QUFBQSxJQUNwVyxVQUFVO0FBQUEsSUFDVixTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxNQUFNO0FBQUEsSUFDdkIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsNGxFQUFva0UsQ0FBSTtBQUFBLElBQ3RsRSxnQkFBZ0I7QUFBQSxJQUNoQixTQUFTO0FBQUEsSUFDVCxVQUFVO0FBQUEsSUFDVixXQUFXLGdCQUFBQyxPQUFBQyxZQUFBLEVBQ1Q7QUFBQSxzQkFBQUYsTUFBQyxTQUFNLEdBQUUsZ0pBQStJLEdBQUUsc3pDQUFxekM7QUFBQSxNQUMvOEMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGtGQUFpRixHQUFFLGdoQkFBK2dCO0FBQUEsTUFDM21CLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyREFBMEQsR0FBRSwwMUJBQXMxQjtBQUFBLE1BQzM1QixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsdUNBQXNDLEdBQUUsbzJDQUE4MUM7QUFBQSxNQUMvNEMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGdEQUErQyxHQUFFLHl1QkFBd3VCO0FBQUEsTUFDbHlCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwwREFBeUQsR0FBRSwrU0FBOFM7QUFBQSxNQUNsWCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNERBQTJELEdBQUUsa2dDQUE0L0I7QUFBQSxNQUNsa0MsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZCQUE0QixHQUFFLGswQkFBNHpCO0FBQUEsTUFDbjJCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxxR0FBb0csR0FBRSx5dEJBQXd0QjtBQUFBLE1BQ3YwQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUVBQWtFLEdBQUUsaTdCQUFnN0I7QUFBQSxNQUM3L0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtHQUE4RyxHQUFFLHV5QkFBNHhCO0FBQUEsTUFDcjVCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw4RUFBNkUsR0FBRSxpaUNBQWdpQztBQUFBLE9BQzFuQztBQUFBLElBQ0EsUUFBUTtBQUFBLElBQ1Isc0JBQXNCO0FBQUEsRUFDeEI7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssVUFBVTtBQUFBLElBQzNCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUFxZSxnQkFBQUQsTUFBQyxPQUFFLE1BQUssNEdBQTRHLHNCQUFRO0FBQUEsTUFBSTtBQUFBLE9BQ3pTLENBQUk7QUFBQSxJQUNsVixVQUFVLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxtbkVBT3NLLENBQUk7QUFBQSxJQUN4TCxnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHM5Q0FJd00sQ0FBSTtBQUFBLElBQ2hPLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxJQUNSLFdBQVcsZ0JBQUFDLE9BQUFDLFlBQUEsRUFDWDtBQUFBLHNCQUFBRixNQUFDLFNBQU0sR0FBRSw0REFBaUQsR0FBRSxvZEFBK2I7QUFBQSxNQUMzZixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsaURBQWdELEdBQUUsNk5BQTROO0FBQUEsTUFDdlIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlFQUF3RSxHQUFFLDZZQUE0WTtBQUFBLE1BQy9kLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw4QkFBNkIsR0FBRSwyTkFBME47QUFBQSxNQUNsUSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsa0RBQWlELEdBQUUsZ2VBQStkO0FBQUEsTUFDM2hCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2Q0FBNEMsR0FBRSxzc0JBQXFzQjtBQUFBLE1BQzV2QixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsb0VBQW1FLEdBQUUsK1ZBQThWO0FBQUEsTUFDNWEsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFFQUFvRSxHQUFFLHFZQUFvWTtBQUFBLE1BQ25kLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxnRUFBK0QsR0FBRSwwYUFBeWE7QUFBQSxNQUNuZixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUVBQWtFLEdBQUUsMDFCQUF5MUI7QUFBQSxNQUN0NkIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDJDQUEwQyxHQUFFLHFXQUFvVztBQUFBLE1BQ3paLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwwREFBeUQsR0FBRSxvWEFBbVg7QUFBQSxNQUN2YixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0NBQXFDLEdBQUUsNk9BQTRPO0FBQUEsTUFDNVIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZCQUE0QixHQUFFLGlRQUFnUTtBQUFBLE1BQ3ZTLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyREFBMEQsR0FBRSxtU0FBa1M7QUFBQSxNQUN2VyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsa0VBQWlFLEdBQUUsd0tBQXVLO0FBQUEsTUFDblAsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGdGQUErRSxHQUFFLHdpQkFBdWlCO0FBQUEsTUFDam9CLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxzSUFBcUksR0FBRSx1aEJBQXNoQjtBQUFBLE1BQ3RxQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOEVBQTZFLEdBQUUsb1BBQW1QO0FBQUEsTUFDM1UsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFEQUFvRCxHQUFFLDRpQkFBMmlCO0FBQUEsT0FDMW1CO0FBQUEsSUFDQSxzQkFBcUI7QUFBQSxFQUN2QjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxRQUFRO0FBQUEsSUFDekIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBUztBQUFBLElBQ1QsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsZUFBZTtBQUFBLElBQ2YsY0FBYyxDQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLE1BQXdCLGdCQUFBRCxNQUFDLHNCQUFtQixLQUFJLFlBQVcsTUFBSyxPQUFNO0FBQUEsTUFBRTtBQUFBLE1BQUssZ0JBQUFBLE1BQUMsc0JBQW1CLEtBQUksUUFBTyxNQUFLLFVBQVM7QUFBQSxNQUFFO0FBQUEsTUFBd0csZ0JBQUFBLE1BQUMsc0JBQW1CLEtBQUksVUFBUyxNQUFLLFVBQVM7QUFBQSxNQUFFO0FBQUEsTUFBSyxnQkFBQUEsTUFBQyxzQkFBbUIsS0FBSSxTQUFRLE1BQUssU0FBUTtBQUFBLE1BQUU7QUFBQSxPQUNpYyxDQUFJO0FBQUEsSUFDaHlCLFVBQVUsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHl1RUFLME0sQ0FBSTtBQUFBLElBQzVOLGdCQUFnQixDQUFDLGdCQUFBQSxNQUFDLE9BQUUsZ3FDQUNpTCxDQUFJO0FBQUEsSUFDek0sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1IsV0FBVSxnQkFBQUMsT0FBQUMsWUFBQSxFQUNWO0FBQUEsc0JBQUFGLE1BQUMsU0FBTSxHQUFFLDBGQUF5RixHQUFFLHVmQUFxZjtBQUFBLE1BQ3psQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNkVBQTRFLEdBQUUsb2hCQUF3Z0I7QUFBQSxNQUMvbEIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG1FQUFrRSxHQUFFLDhkQUE0ZDtBQUFBLE1BQ3ppQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsK0VBQThFLEdBQUUsZ2VBQThkO0FBQUEsTUFDdmpCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxpSUFBZ0ksR0FBRSx1WEFBcVg7QUFBQSxNQUNoZ0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtGQUE4RixHQUFFLGdYQUE4VztBQUFBLE1BQ3ZkLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyRkFBMEYsR0FBRSxxVkFBbVY7QUFBQSxNQUN4YixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsd0ZBQXVGLEdBQUUsa1dBQWdXO0FBQUEsTUFDbGMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDJHQUEwRyxHQUFFLHNUQUFvVDtBQUFBLE1BQ3phLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3R0FBdUcsR0FBRSw2V0FBMlc7QUFBQSxNQUM3ZCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsaUZBQWdGLEdBQUUsc1lBQW9ZO0FBQUEsTUFDL2QsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdGQUF1RixHQUFFLG1iQUFpYjtBQUFBLE1BQ25oQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsaUVBQWdFLEdBQUUsd1lBQXNZO0FBQUEsTUFDamQsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDBHQUF5RyxHQUFFLGlaQUErWTtBQUFBLE1BQ25nQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsa0ZBQWlGLEdBQUUsbVpBQWlaO0FBQUEsTUFDN2UsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtDQUE4QyxHQUFFLGljQUErYjtBQUFBLE1BQ3hmLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxrRkFBaUYsR0FBRSxrZkFBZ2Y7QUFBQSxNQUM1a0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlFQUF3RSxHQUFFLDhnQkFBNGdCO0FBQUEsTUFDL2xCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxnSUFBK0gsR0FBRSwraUJBQTZpQjtBQUFBLE1BQ3ZyQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNkdBQTRHLEdBQUUsMmhCQUF5aEI7QUFBQSxNQUNocEIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtIQUE4SCxHQUFFLDhHQUE0RztBQUFBLE1BQ3JQLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2SEFBNEgsR0FBRSxxYkFBbWI7QUFBQSxPQUMxakI7QUFBQSxJQUNBLGdCQUFlO0FBQUEsRUFDakI7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssT0FBTztBQUFBLElBQ3hCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVM7QUFBQSxJQUNULE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLElBQ2hCLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxJQUNSLFdBQVUsZ0JBQUFDLE9BQUFDLFlBQUEsRUFDVjtBQUFBLHNCQUFBRixNQUFDLFNBQU0sR0FBRSwyQ0FBMEMsR0FBRSx5QkFBdUI7QUFBQSxNQUM1RSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsK0NBQThDLEdBQUUsMEdBQXdHO0FBQUEsTUFDakssZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDJNQUFxTSxHQUFFLG9DQUFrQztBQUFBLE1BQ2xQLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxzMUJBQWcxQixHQUFFLGNBQVk7QUFBQSxNQUN2MkIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdUQUF1VCxHQUFFLHFJQUFtSTtBQUFBLE1BQ3JjLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3SEFBa0gsR0FBRSxxQ0FBbUM7QUFBQSxNQUNoSyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUscU9BQStOLEdBQUUsK0JBQTZCO0FBQUEsTUFDdlEsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHNLQUFxSyxHQUFFLCtUQUE2VDtBQUFBLE1BQzdlLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2TkFBNE4sR0FBRSx3VUFBc1U7QUFBQSxNQUM3aUIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtTQUFvUyxHQUFFLHFaQUFtWjtBQUFBLE1BQ2xzQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc1FBQWdRLEdBQUUscU9BQThOO0FBQUEsTUFDemUsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHNPQUFnTyxHQUFFLG1FQUFpRTtBQUFBLE1BQzVTLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxtTUFBNkwsR0FBRSxpUUFBK1A7QUFBQSxNQUN2YyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0hBQWdILEdBQUUsK1BBQXdQO0FBQUEsTUFDblgsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG9LQUFtSyxHQUFFLDJMQUFvTDtBQUFBLE1BQ2xXLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx5SkFBOEksR0FBRSx3UEFBc1A7QUFBQSxNQUMvWSxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNGLEdBQUU7QUFBQTtBQUFBLE1BQXVMO0FBQUEsTUFDaE0sZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDRixHQUFFO0FBQUE7QUFBQSxNQUFvUDtBQUFBLE1BQzdQLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ0YsR0FBRTtBQUFBO0FBQUEsTUFBdU87QUFBQSxNQUNoUCxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNGLEdBQUU7QUFBQTtBQUFBLE1BQXVHO0FBQUEsT0FDaEg7QUFBQSxJQUNBLHNCQUFxQjtBQUFBLEVBQ3ZCO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFdBQVc7QUFBQSxJQUM1QixLQUFLO0FBQUEsSUFDTCxVQUFVO0FBQUEsSUFDVixTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFBdUMsZ0JBQUFELE1BQUMsT0FBRSxNQUFLLHlCQUF3QiwrQkFBaUI7QUFBQSxNQUFJO0FBQUEsT0FBdWQsQ0FBSTtBQUFBLElBQ3prQixVQUFVLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFBbU4sZ0JBQUFELE1BQUMsT0FBRSxNQUFLLDhDQUE4QyxtQkFBSztBQUFBLE1BQUk7QUFBQSxPQUt0RyxDQUFJO0FBQUEsSUFDOUwsZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSx1ZkFBeWUsQ0FBSTtBQUFBLElBQ2pnQixTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsSUFDUixXQUFVLGdCQUFBQyxPQUFBQyxZQUFBLEVBQ1Y7QUFBQSxzQkFBQUYsTUFBQyxTQUFNLEdBQUUsMEVBQXlFLEdBQUUsZ1BBQThPO0FBQUEsTUFDbFUsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDRGQUEyRixHQUFFLHFhQUFtYTtBQUFBLE1BQ3pnQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNkdBQTRHLEdBQUUsa1FBQWdRO0FBQUEsTUFDdlgsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDRHQUEyRyxHQUFFLDJHQUF5RztBQUFBLE1BQy9OLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwrRUFBOEUsR0FBRSx5S0FBdUs7QUFBQSxNQUNoUSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsZ0dBQStGLEdBQUUsNHNCQUEwc0I7QUFBQSxNQUNwekIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlFQUF3RSxHQUFFLDJGQUF5RjtBQUFBLE1BQzVLLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxzR0FBcUcsR0FBRSw2SkFBMko7QUFBQSxNQUMzUSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsZ0lBQStILEdBQUUseW5CQUF1bkI7QUFBQSxNQUNqd0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGtGQUFpRixHQUFFLGlQQUErTztBQUFBLE1BQzNVLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1RkFBc0YsR0FBRSxpSUFBK0g7QUFBQSxNQUNoTyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsK0VBQThFLEdBQUUsNk5BQTJOO0FBQUEsTUFDcFQsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDhGQUE2RixHQUFFLHVRQUFxUTtBQUFBLE1BQzdXLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx5RkFBd0YsR0FBRSx1UkFBcVI7QUFBQSxPQUN4WDtBQUFBLEVBQ0Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixVQUFVO0FBQUEsSUFDVixZQUFZLEtBQUssUUFBUTtBQUFBLElBQ3pCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDhjQUFnYyxDQUFJO0FBQUEsSUFDdGQsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsK2pCQUFpakIsQ0FBSTtBQUFBLElBQ25rQixnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLG9iQUFpYSxDQUFJO0FBQUEsSUFDemIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1Isc0JBQXNCO0FBQUEsSUFDdEIsMkJBQTJCO0FBQUEsRUFDN0I7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixVQUFVO0FBQUEsSUFDVixZQUFZLEtBQUssT0FBTztBQUFBLElBQ3hCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUF5QixnQkFBQUQsTUFBQyxzQkFBbUIsS0FBSSxTQUFRLE1BQUssZ0JBQWU7QUFBQSxNQUFFO0FBQUEsT0FDb1EsQ0FBSTtBQUFBLElBQ3pXLFVBQVUsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDROQUE4TSxDQUFJO0FBQUEsSUFDaE8sZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSw2UkFBK1EsQ0FBSTtBQUFBLElBQ3ZTLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSTtBQUFBLElBQ0osYUFBWTtBQUFBLElBQ1osWUFBWSxLQUFLLFVBQVU7QUFBQSxJQUMzQixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxpa0JBQThpQixDQUFJO0FBQUEsSUFDcGtCLFVBQVUsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHdxREFFMHBCLENBQUk7QUFBQSxJQUM1cUIsZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSwydENBRXFiLENBQUk7QUFBQSxJQUM3YyxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFFRjs7O0FDOTFEUSxTQUNNLE9BQUFHLE9BRE4sUUFBQUMsY0FBQTs7O0FDRkYsU0FDRSxPQUFBQyxPQURGLFFBQUFDLGNBQUE7OztBQ0VFLHFCQUFBQyxZQUNrYSxPQUFBQyxPQUFoYSxRQUFBQyxjQURGOzs7QUNJSSxTQXdHSixZQUFBQyxZQXhHSSxPQUFBQyxPQUtBLFFBQUFDLGNBTEE7OztBQ0lSLFNBRUksT0FBQUMsT0FGSixRQUFBQyxjQUFBOzs7QUNQRSxTQUNFLE9BQUFDLE9BREYsUUFBQUMsY0FBQTs7O0FDR0EsU0FDRSxPQUFBQyxPQURGLFFBQUFDLGNBQUE7OztBQ0FRLFNBQ0UsT0FBQUMsT0FERixRQUFBQyxjQUFBOzs7QUNBVixnQkFBQUMsT0EySEUsUUFBQUMsY0EzSEY7OztBQ1NZLGdCQUFBQyxPQUdkLFFBQUFDLGNBSGM7OztBQ1pKLFNBRVEsT0FBQUMsT0FGUixRQUFBQyxjQUFBOzs7QUNKRixnQkFBQUMsYUFBQTs7O0FDU0UsU0FFUSxPQUFBQyxPQUZSLFFBQUFDLGNBQUE7OztBQ0xKLFNBRVEsT0FBQUMsT0FGUixRQUFBQyxjQUFBOzs7QUNEQSxTQUVJLE9BQUFDLE9BRkosUUFBQUMsY0FBQTs7O0FDRkksZ0JBQUFDLE9BRUEsUUFBQUMsY0FGQTs7O0FDSUosU0FFUSxPQUFBQyxPQUZSLFFBQUFDLGNBQUE7OztBQ0hJLFNBRUksT0FBQUMsT0FGSixRQUFBQyxjQUFBOzs7QUNGSixTQUNJLE9BQUFDLE9BREosUUFBQUMsY0FBQTs7O0FDNkRKLFNBQ0UsT0FBQUMsT0FERixRQUFBQyxjQUFBOzs7QUMzREksZ0JBQUFDLGFBQUE7OztBQ0FKLHFCQUFBQyxZQUdJLE9BQUFDLE9BREEsUUFBQUMsY0FGSjs7O0FDQ0UscUJBQUFDLFlBQ0EsT0FBQUMsT0FXRSxRQUFBQyxjQVpGOzs7QUNIQSxxQkFBQUMsWUFFSSxPQUFBQyxPQUZKLFFBQUFDLGNBQUE7OztBQ0hOLFNBQVMsYUFBQUMsbUJBQWlCO0FBQzFCLFNBQVMsZUFBQUMsb0JBQW1CO0FBZ0N0QixxQkFBQUMsWUFHRSxPQUFBQyxPQUlNLFFBQUFDLGNBUFI7OztBQ3BCRSxxQkFBQUMsWUFJTSxPQUFBQyxPQURGLFFBQUFDLGNBSEo7OztBQ1ZGLGdCQUFBQyxhQUFBOzs7QUNBQSxnQkFBQUMsYUFBQTs7O0FDRkYsZ0JBQUFDLGNBQUE7OztBQ0dELHFCQUFBQyxZQUFBLE9BQUFDLGNBQUE7OztBQ0hDLGdCQUFBQyxjQUFBOzs7QUNBQSxnQkFBQUMsY0FBQTs7O0FDQUEsZ0JBQUFDLGNBQUE7OztBQ0FBLGdCQUFBQyxjQUFBOzs7QUNBQSxnQkFBQUMsY0FBQTs7O0FDQUEsZ0JBQUFDLGNBQUE7OztBQ0FBLGdCQUFBQyxjQUFBOzs7QUNBQSxnQkFBQUMsY0FBQTs7O0FDQUEsZ0JBQUFDLGNBQUE7OztBQ0FBLGdCQUFBQyxjQUFBOzs7QUNHUSxTQUNJLE9BQUFDLFFBREosUUFBQUMsY0FBQTs7O0FDS0osU0FFSSxPQUFBQyxRQUZKLFFBQUFDLGNBQUE7OztBQ1JKLGdCQUFBQyxjQUFBOzs7QUNNUSxTQWtCRSxZQUFBQyxZQWhCTSxPQUFBQyxRQUZSLFFBQUFDLGNBQUE7OztBQ0daLFNBQ0UsT0FBQUMsUUFERixRQUFBQyxjQUFBO0FBc0hBLFNBQVMsVUFBVSxPQUFhO0FBQzVCLFFBQU0sWUFBWSxDQUFDLFdBQXNEO0FBQ3JFLFFBQUksaUJBQWlCLFNBQVMsdUJBQXVCLFdBQVc7QUFDaEUsYUFBUyxRQUFRLEdBQUcsUUFBUSxlQUFlLFFBQVEsU0FBUztBQUV4RCxNQUFDLGVBQWUsS0FBSyxFQUFrQixNQUFNLFVBQVU7QUFBQSxJQUMzRDtBQUNBLFFBQUksYUFBYSxTQUFTLGVBQWUsS0FBSztBQUM5QyxJQUFDLFdBQTJCLE1BQU0sVUFBVTtBQUFBLEVBQ2hEO0FBQ0EsU0FBTztBQUNYO0FBRUEsSUFBTSxVQUFVLGdCQUFBQyxPQUFDLFFBQUcsSUFBRyxrQkFBaUIsV0FBVSxpQkFDbEQ7QUFBQSxrQkFBQUMsT0FBQyxRQUFHO0FBQUEsRUFDSixnQkFBQUEsT0FBQyxRQUFHO0FBQUEsRUFDSixnQkFBQUEsT0FBQyxRQUFHO0FBQUEsRUFDRixnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLFlBQVksR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxnQkFBRSxHQUFPLEdBQUk7QUFBQSxFQUMvRSxnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLFlBQVksR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxnQkFBRSxHQUFPLEdBQUk7QUFBQSxHQUVqRjtBQUNBLElBQU0sUUFBUSxnQkFBQUQsT0FBQyxRQUFHLElBQUcsZUFBYyxXQUFVLGlCQUFnQixPQUFPLEVBQUMsU0FBUyxPQUFNLEdBQ3BGO0FBQUEsa0JBQUFDLE9BQUMsUUFBRztBQUFBLEVBQ0osZ0JBQUFBLE9BQUMsUUFBRztBQUFBLEVBQ0osZ0JBQUFBLE9BQUMsUUFBRztBQUFBLEVBQ0osZ0JBQUFBLE9BQUMsUUFBRztBQUFBLEVBQ0YsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxRQUFRLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZUFBQyxHQUFPLEdBQUk7QUFBQSxFQUMxRSxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxTQUFTLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZ0JBQUUsR0FBTyxHQUFJO0FBQUEsRUFDNUUsZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxTQUFTLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZ0JBQUUsR0FBTyxHQUFJO0FBQUEsRUFDNUUsZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxTQUFTLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZ0JBQUUsR0FBTyxHQUFJO0FBQUEsRUFDNUUsZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxTQUFTLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZ0JBQUUsR0FBTyxHQUFJO0FBQUEsRUFDNUUsZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxTQUFTLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZ0JBQUUsR0FBTyxHQUFJO0FBQUEsRUFDNUUsZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxTQUFTLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZ0JBQUUsR0FBTyxHQUFJO0FBQUEsRUFDNUUsZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEdBQ1I7QUFDQSxJQUFNLFFBQVEsZ0JBQUFELE9BQUMsUUFBRyxJQUFHLGVBQWMsV0FBVSxpQkFBZ0IsT0FBTyxFQUFDLFNBQVMsT0FBTSxHQUNsRjtBQUFBLGtCQUFBQyxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxRQUFRLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZUFBQyxHQUFPLEdBQUk7QUFBQSxFQUMxRSxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsUUFBUSxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGVBQUMsR0FBTyxHQUFJO0FBQUEsRUFDMUUsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLFFBQVEsR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxlQUFDLEdBQU8sR0FBSTtBQUFBLEVBQzFFLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsU0FBUyxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGdCQUFFLEdBQU8sR0FBSTtBQUFBLEVBQzVFLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsU0FBUyxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGdCQUFFLEdBQU8sR0FBSTtBQUFBLEVBQzVFLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsU0FBUyxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGdCQUFFLEdBQU8sR0FBSTtBQUFBLEVBQzVFLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsU0FBUyxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGdCQUFFLEdBQU8sR0FBSTtBQUFBLEVBQzVFLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsU0FBUyxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGdCQUFFLEdBQU8sR0FBSTtBQUFBLEVBQzVFLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsU0FBUyxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGdCQUFFLEdBQU8sR0FBSTtBQUFBLEdBQzlFO0FBQ0EsSUFBTSxNQUFNLGdCQUFBRCxPQUFDLFFBQUcsSUFBRyxhQUFZLFdBQVUsaUJBQWdCLE9BQU8sRUFBQyxTQUFTLE9BQU0sR0FDaEY7QUFBQSxrQkFBQUMsT0FBQyxRQUFHO0FBQUEsRUFDSixnQkFBQUEsT0FBQyxRQUFHO0FBQUEsRUFDRixnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsTUFBTSxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGVBQUMsR0FBTyxHQUFJO0FBQUEsRUFDeEUsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLE1BQU0sR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxlQUFDLEdBQU8sR0FBSTtBQUFBLEVBQ3hFLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLE9BQU8sR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxnQkFBRSxHQUFPLEdBQUk7QUFBQSxFQUMxRSxnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLE9BQU8sR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxnQkFBRSxHQUFPLEdBQUk7QUFBQSxFQUMxRSxnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsR0FDUjs7O0FDalJRLGdCQUFBQyxjQUFBOzs7QUNMSixnQkFBQUMsY0FBQTs7O0FDSUUscUJBQUFDLFlBRUksT0FBQUMsUUFDQSxRQUFBQyxjQUhKOzs7QUNEQSxnQkFBQUMsY0FBQTs7O0FDR04sU0FBUyxPQUFBQyxNQUFLLFVBQVUsaUJBQWlCO0FBQ3pDLFNBQVMsU0FBU0MsVUFBUyxXQUFBQyxVQUFTLFVBQUFDLFNBQVEsY0FBQUMsYUFBWSxpQkFBQUMsZ0JBQWUsZUFBQUMsY0FBYSxTQUFBQyxRQUFPLHFCQUFBQywwQkFBeUI7QUFrQjlHLHFCQUFBQyxZQVFBLE9BQUFDLFFBSU0sUUFBQUMsY0FaTjtBQWJOQyxTQUFRO0FBQUEsRUFDSkM7QUFBQSxFQUNBQztBQUFBLEVBQ0FDO0FBQUEsRUFDQUM7QUFBQSxFQUNBQztBQUFBLEVBQ0FDO0FBQUEsRUFDQUM7QUFDRjs7O0FDdkJGLFNBQVMsYUFBQUMsbUJBQWlCO0FBZ0NkLGdCQUFBQyxRQU1nQixRQUFBQyxjQU5oQjs7O0FDaENaLFNBQVMsYUFBQUMsbUJBQWlCO0FBeUJkLGdCQUFBQyxRQUVBLFFBQUFDLGNBRkE7OztBQ2xCSixnQkFBQUMsY0FBQTs7O0FDTEEsZ0JBQUFDLGNBQUE7OztBQ1FGLHFCQUFBQyxZQUVHLE9BQUFDLFFBR0QsUUFBQUMsY0FMRjs7O0FDUEEsZ0JBQUFDLGNBQUE7OztBQ0VJLGdCQUFBQyxjQUFBOzs7QUNNSixxQkFBQUMsWUFHZ3NCLE9BQUFDLFFBQTVyQixRQUFBQyxjQUhKOzs7QUNSQSxnQkFBQUMsY0FBQTs7O0FDRUUsZ0JBQUFDLGNBQUE7OztBQ0VBLGdCQUFBQyxjQUFBOzs7QUNGQSxnQkFBQUMsY0FBQTs7O0FDQUEsZ0JBQUFDLGNBQUE7OztBQ0FBLGdCQUFBQyxjQUFBOzs7QUNHQSxnQkFBQUMsY0FBQTs7O0FDUmtWLFNBQVMsYUFBYSxRQUF3QjtBQUN0WSxNQUFJLE9BQU8sT0FBTyxNQUFNLEVBQUUsWUFBWTtBQUN0QyxTQUFPLEtBQUssUUFBUSxlQUFlLEdBQUc7QUFDdEMsU0FBTyxLQUFLLFFBQVEsT0FBTyxHQUFHO0FBRTlCLFFBQU0sUUFBUSxLQUFLLE9BQU8sTUFBTTtBQUNoQyxRQUFNLE1BQU0sS0FBSyxPQUFPLEtBQUs7QUFDN0IsU0FBTyxLQUFLLFVBQVUsT0FBTyxRQUFRLEtBQUssU0FBWSxHQUFHO0FBQzNEOzs7QUNSNlUsU0FBUyxhQUFBQyxtQkFBaUI7OztBOUlLdlcsSUFBTyxzQkFBUSxNQUFNO0FBQ25CLFFBQU0sTUFBTSxRQUFRLE9BQU8sUUFBUSxJQUFJLENBQUM7QUFFeEMsTUFBSSxDQUFDLElBQUksZ0JBQWdCO0FBQ3ZCLFVBQU0sSUFBSSxNQUFNLG9EQUFvRDtBQUFBLEVBQ3RFO0FBRUEsVUFBUSxJQUFJLG1CQUFtQixJQUFJLGNBQWMsRUFBRTtBQUduRCxRQUFNLFdBQVcsYUFBYSxJQUFJLGNBQWM7QUFFaEQsVUFBUSxJQUFJLG1CQUFtQixJQUFJLGNBQWM7QUFDakQsVUFBUSxJQUFJLGNBQWMsUUFBUTtBQUVsQyxTQUFPLGFBQWE7QUFBQSxJQUNsQixNQUFNLElBQUksYUFBYSxJQUFJLGNBQWMsQ0FBQztBQUFBLElBQzFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7QUFBQSxJQUNqQixPQUFPO0FBQUEsTUFDTCxRQUFRO0FBQUEsSUFDVjtBQUFBLElBQ0EsV0FBVztBQUFBLEVBQ2IsQ0FBQztBQUVIOyIsCiAgIm5hbWVzIjogWyJ1c2VFZmZlY3QiLCAidXNlUmVmIiwgInVzZVN0YXRlIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJ1c2VSZWYiLCAidXNlU3RhdGUiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAidXNlRWZmZWN0IiwgInVzZVJlZiIsICJ1c2VTdGF0ZSIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJ1c2VFZmZlY3QiLCAidXNlUmVmIiwgInVzZVN0YXRlIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJ1c2VTdGF0ZSIsICJ1c2VTdGF0ZSIsICJqc3giLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZU5hdmlnYXRlIiwgInVzZU5hdmlnYXRlIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJGcmFnbWVudCIsICJqc3giLCAianN4IiwgImpzeCIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgIlJlYWN0IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJ1c2VTdGF0ZSIsICJ1c2VMb2NhdGlvbiIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJSZWFjdCIsICJqc3giLCAiUmVhY3QiLCAianN4IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4cyIsICJqc3giLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgInVzZVN0YXRlIiwgInVzZUVmZmVjdCIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJiaWJ0ZXhTb3VyY2VzIiwgImpzeCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJ1c2VFZmZlY3QiLCAidXNlU3RhdGUiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeCIsICJiaWJ0ZXhTb3VyY2VzIiwgImpzeCIsICJiaWJ0ZXhTb3VyY2VzIiwgImpzeCIsICJiaWJ0ZXhTb3VyY2VzIiwgImpzeCIsICJiaWJ0ZXhTb3VyY2VzIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAidXNlRWZmZWN0IiwgInVzZUxvY2F0aW9uIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3giLCAianN4IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeHMiLCAianN4IiwgImpzeCIsICJqc3giLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgIkJhciIsICJDaGFydEpTIiwgIlRvb2x0aXAiLCAiTGVnZW5kIiwgIkJhckVsZW1lbnQiLCAiQ2F0ZWdvcnlTY2FsZSIsICJMaW5lYXJTY2FsZSIsICJUaXRsZSIsICJSYWRpYWxMaW5lYXJTY2FsZSIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJDaGFydEpTIiwgIkNhdGVnb3J5U2NhbGUiLCAiUmFkaWFsTGluZWFyU2NhbGUiLCAiTGluZWFyU2NhbGUiLCAiQmFyRWxlbWVudCIsICJUaXRsZSIsICJUb29sdGlwIiwgIkxlZ2VuZCIsICJ1c2VFZmZlY3QiLCAianN4IiwgImpzeHMiLCAidXNlRWZmZWN0IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3giLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeCIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAidXNlRWZmZWN0Il0KfQo= diff --git a/vite.config.js.timestamp-1727865681723-b4ff400bf9b0b.mjs b/vite.config.js.timestamp-1727865681723-b4ff400bf9b0b.mjs deleted file mode 100644 index fb3605f58b7b76ab96d2a060d92df7023a70d719..0000000000000000000000000000000000000000 --- a/vite.config.js.timestamp-1727865681723-b4ff400bf9b0b.mjs +++ /dev/null @@ -1,4002 +0,0 @@ -// vite.config.js -import { defineConfig, loadEnv } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/vite/dist/node/index.js"; -import react from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/@vitejs/plugin-react/dist/index.mjs"; - -// src/components/FadeIn.tsx -import { useEffect, useRef, useState } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { Fragment, jsx, jsxs } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Breathe.tsx -import { useEffect as useEffect2, useRef as useRef2, useState as useState2 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Problems.tsx -import { useEffect as useEffect3, useRef as useRef3, useState as useState3 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { Fragment as Fragment3, jsx as jsx3, jsxs as jsxs3 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/utils/TabNavigation.tsx -import { useEffect as useEffect4, useState as useState5 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { useNavigate, useLocation } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; - -// src/utils/LoadingContext.tsx -import { createContext, useContext, useState as useState4 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { jsx as jsx4 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -var LoadingContext = createContext(null); -var useLoading = () => useContext(LoadingContext); - -// src/components/Headings.tsx -import { jsx as jsx5, jsxs as jsxs4 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function H4({ text, id }) { - var idtext; - if (id) { - idtext = id; - } else { - idtext = stringToSlug(text); - } - return /* @__PURE__ */ jsx5("div", { children: /* @__PURE__ */ jsxs4("h4", { className: "h4", id: idtext, children: [ - " ", - text, - " " - ] }) }); -} - -// src/components/precyse.tsx -import { jsx as jsx6 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Home.tsx -import { Fragment as Fragment4, jsx as jsx7, jsxs as jsxs5 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Buttons.tsx -import { Link } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; - -// src/utils/openThem.ts -function updateTabs(it, scrollToId) { - if (typeof window === "undefined") return; - let contenttabid = "tab-" + it; - let parent = "parent-" + it; - console.log(`Updating tabs for: ${it}`); - const subtabs = document.getElementsByClassName("sidesubtab"); - const contenttabs = document.getElementsByClassName("enginneeringtab"); - const sideitems = document.getElementsByClassName("sideitem"); - for (let i = 0; i < subtabs.length; i++) { - subtabs[i].style.display = "none"; - console.log(`Hiding subtab: ${subtabs[i].id}`); - } - for (let i = 0; i < contenttabs.length; i++) { - contenttabs[i].style.display = "none"; - console.log(`Hiding content tab: ${contenttabs[i].id}`); - } - for (let i = 0; i < sideitems.length; i++) { - sideitems[i].classList.remove("active-sideitem"); - console.log(`Removing active class from side item: ${sideitems[i].id}`); - } - document.getElementById(it).style.display = "block"; - console.log(`Showing tab: ${it}`); - document.getElementById(parent).classList.add("active-sideitem"); - console.log(`Activating side item: ${parent}`); - document.getElementById(contenttabid).style.display = "block"; - console.log(`Showing content tab: ${contenttabid}`); - if (scrollToId) { - const collapseElement = document.getElementById(scrollToId); - if (collapseElement) { - const elementTop = collapseElement.getBoundingClientRect().top + window.pageYOffset; - const offset = window.innerHeight / 2 - collapseElement.offsetHeight / 2; - const scrollPosition = elementTop - offset; - window.scrollTo({ - top: scrollPosition, - behavior: "smooth" - }); - } - } -} -if (typeof window !== "undefined") { - window.addEventListener("popstate", (event) => { - console.log("Popstate event triggered"); - if (event.state) { - const tab = event.state.tab; - console.log(`Restoring tab: ${tab}`); - updateTabs(tab); - console.log("Scrolling to middle on popstate..."); - const midScrollPosition = window.innerHeight / 2; - window.scrollTo({ top: midScrollPosition, behavior: "smooth" }); - } else { - console.log("No state found in popstate event."); - } - }); -} - -// src/utils/useNavigation.ts -import { useNavigate as useNavigate2 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; -var useNavigation = () => { - const navigate = useNavigate2(); - const { setIsLoading, isLoading } = useLoading(); - const goToPagesAndOpenTab = (tabId, path) => { - navigate(`${path}?tab=${tabId}`); - }; - const goToTextsAndOpenCollapsible = (collapseId, path) => { - navigate(`${path}?collapseId=${collapseId}`); - }; - const goToPageWithTabAndCollapsible = ({ path, tabId, collapseId }) => { - let url = `${path}?tab=${tabId}`; - if (collapseId) { - url += `&collapseId=${collapseId}`; - } - navigate(url); - }; - const goToPageWithNestedTabs = ({ path, tabId, subTabId, collapseId }) => { - let url = `${path}?tab=${tabId}`; - if (subTabId) { - url += `&subTab=${subTabId}`; - } - if (collapseId) { - url += `&collapseId=${collapseId}`; - } - navigate(url); - }; - const goToPageWithTabAndScroll = ({ path, tabId, scrollToId }) => { - let url = `${path}?tab=${tabId}`; - if (scrollToId) { - url += `&scrollTo=${scrollToId}`; - } - navigate(url); - }; - const goToPageAndScroll = (scrollToId, path) => { - navigate(`${path}?scrollTo=${scrollToId}`); - }; - const changePageWithLoadingScreen = () => ({ path, scrollToId }) => { - setIsLoading(true); - let url = `${path}?changeTo=${scrollToId}`; - navigate(url); - setTimeout(() => { - const element = document.getElementById(scrollToId); - if (element) { - const viewportHeight = window.innerHeight; - const targetPosition = element.getBoundingClientRect().top + window.pageYOffset; - const scrollToPosition = targetPosition - viewportHeight / 2 + element.clientHeight / 2; - window.scrollTo({ top: scrollToPosition, behavior: "smooth" }); - setTimeout(() => { - setIsLoading(false); - }, 1e3); - } else { - setIsLoading(false); - } - }, 500); - }; - return { isLoading, changePageWithLoadingScreen, goToPageAndScroll, setIsLoading, goToPagesAndOpenTab, goToPageWithTabAndScroll, goToPageWithNestedTabs, goToPageWithTabAndCollapsible, goToTextsAndOpenCollapsible }; -}; - -// src/components/Buttons.tsx -import { Fragment as Fragment5, jsx as jsx8, jsxs as jsxs6 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/sections.tsx -import { jsx as jsx9, jsxs as jsxs7 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/team.tsx -import { Fragment as Fragment6, jsx as jsx10, jsxs as jsxs8 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/attributions.tsx -import { useEffect as useEffect5 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; - -// src/components/Quotes.tsx -import { jsx as jsx11, jsxs as jsxs9 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/attributions.tsx -import { Fragment as Fragment7, jsx as jsx12, jsxs as jsxs10 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Pdfs.tsx -import { Fragment as Fragment8, jsx as jsx13, jsxs as jsxs11 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/VerticalTimeline.tsx -import { jsx as jsx14, jsxs as jsxs12 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Slider.tsx -import Slider from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-slick/lib/index.js"; -import { Fragment as Fragment9, jsx as jsx15 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/utils/goto.ts -var goTo = (el) => { - const elementRect = el.getBoundingClientRect(); - const elementTop = elementRect.top + window.pageYOffset; - const viewportHeight = window.innerHeight; - const middlePosition = elementTop - (viewportHeight / 5 - el.offsetHeight / 2); - window.scrollTo({ - top: middlePosition, - behavior: "smooth" - }); -}; - -// src/components/ScrollLink.tsx -import { jsx as jsx16 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -var SupScrollLink = ({ label }) => { - let targetId = "desc-" + label; - const handleClick = () => { - const targetElement = document.getElementById(targetId); - if (targetElement) { - goTo(targetElement); - } - }; - return /* @__PURE__ */ jsx16("sup", { children: /* @__PURE__ */ jsx16("a", { onClick: handleClick, children: label }) }); -}; -var ScrollLinkWithChild = ({ targetId, children }) => { - const handleClick = () => { - const targetElement = document.getElementById(targetId); - if (targetElement) { - goTo(targetElement); - } - }; - return /* @__PURE__ */ jsx16("a", { onClick: handleClick, children }); -}; - -// src/components/BFH-Timeline.tsx -import { Fragment as Fragment10, jsx as jsx17, jsxs as jsxs13 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Photo-grid.tsx -import { jsx as jsx18 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/poster.tsx -import { Fragment as Fragment11, jsx as jsx19, jsxs as jsxs14 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/BFH/bfh-about.tsx -import { jsx as jsx20, jsxs as jsxs15 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/BFH/postergallery.tsx -import { Fragment as Fragment12, jsx as jsx21, jsxs as jsxs16 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/BFH/bfh.tsx -import { jsx as jsx22, jsxs as jsxs17 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/collabs.tsx -import { jsx as jsx23, jsxs as jsxs18 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/patient-contribution.tsx -import { Fragment as Fragment13, jsx as jsx24, jsxs as jsxs19 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/safety-contribution.tsx -import { Fragment as Fragment14, jsx as jsx25, jsxs as jsxs20 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/wiki-tabs.tsx -import { TabContext, TabList, TabPanel } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/@mui/lab/node/index.js"; -import { Box, Tab } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/@mui/material/node/index.js"; -import React3 from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; - -// src/contents/Contribution/Wiki/wiki-start.tsx -import { Fragment as Fragment15, jsx as jsx26, jsxs as jsxs21 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Collapsible.tsx -import { useEffect as useEffect6, useState as useState6 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { useLocation as useLocation2 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; -import { Fragment as Fragment16, jsx as jsx27, jsxs as jsxs22 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/wiki-sources.tsx -import { jsx as jsx28, jsxs as jsxs23 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Filter.tsx -import Select from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-select/dist/react-select.cjs.mjs"; -import React2 from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { jsx as jsx29 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -var wikioptions = [ - { value: "all", label: "Show all" }, - { value: "react", label: "React" }, - { value: "type", label: "Types" }, - { value: "property", label: "Properties" }, - { value: "pipeline", label: "GitLab Pipeline" }, - { value: "html", label: "HTML" }, - { value: "css", label: "CSS" } -]; -function filterMultiSelection(arr) { - const nono = document.getElementById("nono"); - if (nono) { - nono.className = "noshow"; - } - const filterableElements = document.getElementsByClassName("filterable"); - for (let i = 0; i < filterableElements.length; i++) { - const el = filterableElements[i]; - w3RemoveClass(el, "show"); - } - console.log("Begin"); - for (let i = 0; i < filterableElements.length; i++) { - const el = filterableElements[i]; - let shouldShow = true; - for (const entry of arr) { - console.log(`entry: ${entry.value}`); - if (!el.classList.contains(entry.value)) { - shouldShow = false; - break; - } - } - console.log(`shouldShow: ${shouldShow}`); - if (shouldShow) { - w3AddClass(el, "show"); - } - } - const shownElements = document.getElementsByClassName("show"); - if (shownElements.length < 1 && nono) { - console.log(shownElements.length); - nono.className = "show"; - } -} -function w3AddClass(element, name) { - var i, arr1, arr2; - arr1 = element.className.split(" "); - arr2 = name.split(" "); - for (i = 0; i < arr2.length; i++) { - if (arr1.indexOf(arr2[i]) == -1) { - element.className += " " + arr2[i]; - } - } -} -function w3RemoveClass(element, name) { - var i, arr1, arr2; - arr1 = element.className.split(" "); - arr2 = name.split(" "); - for (i = 0; i < arr2.length; i++) { - while (arr1.indexOf(arr2[i]) > -1) { - arr1.splice(arr1.indexOf(arr2[i]), 1); - } - } - element.className = arr1.join(" "); -} -var WikiAction = class extends React2.Component { - state = { - selectedOption: null - }; - handleChange = (selectedOption) => { - this.setState( - { selectedOption }, - () => console.log(`Option selected:`, this.state.selectedOption) - ); - filterMultiSelection(selectedOption); - }; - render() { - const { selectedOption } = this.state; - return /* @__PURE__ */ jsx29( - Select, - { - value: selectedOption, - onChange: this.handleChange, - isMulti: true, - options: wikioptions, - defaultValue: [wikioptions[0]], - className: "basic-multi-select", - classNamePrefix: "select" - } - ); - } -}; - -// src/contents/Contribution/Wiki/Filterables.tsx -import { jsx as jsx30, jsxs as jsxs24 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Code.tsx -import { jsx as jsx31 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/trouble-data.tsx -import { Fragment as Fragment17, jsx as jsx32, jsxs as jsxs25 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/troubleshooting.tsx -import { jsx as jsx33, jsxs as jsxs26 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/wiki-overview.tsx -import { jsx as jsx34, jsxs as jsxs27 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/wiki-tabs.tsx -import { jsx as jsx35, jsxs as jsxs28 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/Wiki/wiki.tsx -import { jsx as jsx36 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Contribution/contribution.tsx -import { Fragment as Fragment18, jsx as jsx37, jsxs as jsxs29 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Boxes.tsx -import { jsx as jsx38, jsxs as jsxs30 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function QaBox({ q, a }) { - return /* @__PURE__ */ jsxs30("div", { className: "qabox", children: [ - /* @__PURE__ */ jsx38("div", { className: "question-bubble", children: /* @__PURE__ */ jsx38("div", { className: "row", children: q }) }), - /* @__PURE__ */ jsx38("div", { className: "question-bubble", children: /* @__PURE__ */ jsx38("div", { className: "row", children: a }) }) - ] }); -} - -// src/components/Tabs.tsx -import { Fragment as Fragment19, jsx as jsx39, jsxs as jsxs31 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Graph.tsx -import { Pie } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-chartjs-2/dist/index.js"; -import { Bar } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-chartjs-2/dist/index.js"; -import { Chart as ChartJS, Tooltip, Legend, ArcElement, BarElement, CategoryScale, LinearScale, Title, RadialLinearScale } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/chart.js/dist/chart.js"; -import { jsx as jsx40 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -ChartJS.register( - ArcElement, - Tooltip, - Legend, - CategoryScale, - RadialLinearScale, - LinearScale, - BarElement, - Title -); - -// src/data/symptom-data.tsx -import { Fragment as Fragment20, jsx as jsx41, jsxs as jsxs32 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -var symptomdata = [ - { - name: "Pancreas", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/pancreas.svg", - introduction: [/* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Located behind the stomach in the back abdominal cavity ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "74" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Responsible for neutralizing stomach acid, production of hormones (like Insulin) and digestion enzymes ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "74" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Clogging caused by CF, so that products of the pancreatic gland can not be distributed ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "75" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Pancreatic insufficiency due to CF can lead to malnutrition ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "76" }), - ", digestive problems and abdominal pain ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "77" }), - ", CF-associated diabetes ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "78" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Treatment options include nutritional therapy and supplementation of pancreatic enzymes ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "79" }) - ] })] - }, - { - name: "Intestines", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/largeintestine.svg", - introduction: [/* @__PURE__ */ jsx41(Fragment20, { children: "Located in the abdominal cavity and extends from the stomach to the anus" }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Responsible for nutrient absorption, water reabsorption, and waste elimination ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "80" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "CF can cause blocking of the intestines, preventing the normal movement of food and absorption of nutrients ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "81" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Intestinal blockage due to CF can lead to malabsorption of nutrients, and conditions like meconium ileus in newborns or distal intestinal obstruction syndrome (DIOS) in adults ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "81" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Treatment options include the use of laxatives, enzyme supplementation, feeding tubes, and in severe cases, surgical intervention or intestinal transplantation ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "81" }) - ] })] - }, - { - name: "Liver", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/liver.svg", - introduction: [/* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Located directly below the diaphragm near the pancreatic gland and stomach ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "82" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Responsible for detoxification, bile production for enhancement of digestion, protein synthesis for blood clotting and immune functions, nutrient processing and storage ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "82" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "CF affects the normal secretion and function of bile- it becomes stickier ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "83" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Symptoms caused by CF include bruising, nose bleeds, Inflammation, more frequent chest infections, low body weight, liver cirrhosis, lethargy ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "83" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Treatment options include nutritional therapy, modulators, UDCA, liver transplantation ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "84" }) - ] })] - }, - { - name: "Sexual glands", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/glands.svg", - introduction: [/* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Located in pelvic area ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "85" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Responsible for production of sperm (male)/ production of oocytes and as site for embryo development (female) ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "86" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "CF causes thick mucus to block reproductive ducts (both), affects sperm transport (male) ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "87" }), - " and cervical mucus density (female) ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "88" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "This can lead in context of CF to reduced fertility or even infertility ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "87" }), - /* @__PURE__ */ jsx41(SupScrollLink, { label: "88" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - " ", - /* @__PURE__ */ jsx41("i", { children: " In vitro " }), - " fertilization can be an option for CF patients ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "89" }), - " " - ] })] - }, - { - name: "Lungs", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/lungs.svg", - introduction: [/* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Located in the ribcage ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "90" }) - ] }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Responsible for breathing \u2013 aspiration of life-giving oxygen and deposition of carbondioxide ", - /* @__PURE__ */ jsx41(SupScrollLink, { label: "90" }) - ] }), /* @__PURE__ */ jsx41(Fragment20, { children: "CF causes the thickening of mucus on top of the respiratory epithelium, serving as nutrition ground as for pathogens and impairing the movement of cilia so that the mucus can not be cart away [18]" }), /* @__PURE__ */ jsxs32(Fragment20, { children: [ - "Symptoms caused by CF include shortness of breath, persistent cough [19], lung infections (mainly caused by ", - /* @__PURE__ */ jsx41("i", { children: " Pseudomonas aeruginosa " }), - ", ", - /* @__PURE__ */ jsx41("i", { children: " Staphylococcus aureus " }), - " and ", - /* @__PURE__ */ jsx41("i", { children: " Burkholderia cepacia " }), - ") [20], bronchiectasis [21] " - ] }), /* @__PURE__ */ jsx41(Fragment20, { children: "Treatment options include respiratory physiotherapy (e.g. bronchiodilators), sports, inhalation, antibiotics against pathogens, lung transplantation [22]" })] - }, - { - name: "Skeletal System", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/bones.svg", - introduction: [/* @__PURE__ */ jsx41(Fragment20, { children: "Located throughout the entire body" }), /* @__PURE__ */ jsx41(Fragment20, { children: "Responsible for structuration of the body, protection of organs, mineral storage, blood cell production [23]" }), /* @__PURE__ */ jsx41(Fragment20, { children: "CF affects the skeletal system by reducing bone mineral density [24]" }), /* @__PURE__ */ jsx41(Fragment20, { children: "This can lead in context of CF to osteoporosis, spinal fractures, kyphosis, scoliosis [24]" }), /* @__PURE__ */ jsx41(Fragment20, { children: "Treatment options include uptake of biophosphonates to increase bone density, vitamin D for maintenance of calcium levels needed for mineralization [24]" })] - }, - { - name: "Skin", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/skin.svg", - introduction: [/* @__PURE__ */ jsx41(Fragment20, { children: "Located on the surface of the entire body" }), /* @__PURE__ */ jsx41(Fragment20, { children: "Responsible for barrier function, immunological defense, regulation of homeostasis, sensory functions [25]" }), /* @__PURE__ */ jsx41(Fragment20, { children: "CF affects CFTR channels of sweat glands, which leads to salt deposits on the skin [26]" }), /* @__PURE__ */ jsx41(Fragment20, { children: "This can lead in context of CF to skin irritation (rash or dermatitis) [26]" }), /* @__PURE__ */ jsx41(Fragment20, { children: "Prevention via drinking a lot and a rather salty diet possible [27]" })] - }, - { - name: "Nose", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/nose.svg", - introduction: [/* @__PURE__ */ jsx41(Fragment20, {}), /* @__PURE__ */ jsx41(Fragment20, { children: "Responsible for smell perception, breathing, filtration and cleaning, and serving as a resonance chamber for the voice [28]" }), /* @__PURE__ */ jsx41(Fragment20, { children: "CF affects thickness of nasal secretions, which cannot drain well [26]" }), /* @__PURE__ */ jsx41(Fragment20, { children: "This can lead in context of CF to nasal congestion, pressure headaches, sinusitis, inflammation of nasal polyps [26]" }), /* @__PURE__ */ jsx41(Fragment20, { children: "Therapy ranges from nasal sprays to surgical removal of nasal polyps [26]" })] - }, - { - name: "Brain", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/brain.svg", - introduction: [/* @__PURE__ */ jsx41(Fragment20, { children: "Located inside the skull" }), /* @__PURE__ */ jsx41(Fragment20, { children: "Responsible for cognitive functions, movement coordination, and control of vital functions [29]" }), /* @__PURE__ */ jsx41(Fragment20, { children: "CF affects mental health due to psychological stress and social isolation [30]" }), /* @__PURE__ */ jsx41(Fragment20, { children: "This can lead in context of CF to physical illnesses like depression and anxiety disorders [30]" }), /* @__PURE__ */ jsx41(Fragment20, { children: "Treatment options include psychotherapy, antidepressants, support groups and sports [31]" })] - } -]; - -// src/data/drug-data.tsx -import { Fragment as Fragment21, jsx as jsx42, jsxs as jsxs33 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -var drugdata = [ - // { - // name: "About", - // picture: "...", - // introduction: "", - // examples: [ - // { - // title: "", - // text: [""] - // }, - // { - // title: "", - // text: ["string"] - // }, - // ] - // }, - { - //gibt 4 Modulator Beispiele - name: "Modulators", - picture: "https://static.igem.wiki/teams/5247/scientific-figures/modulators.svg", - introduction: /* @__PURE__ */ jsxs33("a", { children: [ - "CFTR modulators represent a significant advancement in CF treatment since they are small molecules improving the function of the defective CFTR protein in a mutation-specific way, which helps restore chloride ion transport across cell membranes. Notable pharmaceutical agents include Trikafta\xAE, Symdeko\xAE, Orkambi\xAE and Kalydeco\xAE ", - /* @__PURE__ */ jsx42(SupScrollLink, { label: "74" }), - ". These medications have been demonstrated to significantly improve lung function and reduce pulmonary exacerbations. However, they are expensive and may cause side effects such as liver enzyme elevations and cataracts in pediatric patients ", - /* @__PURE__ */ jsx42(SupScrollLink, { label: "75" }), - ". Furthermore, they are not suitable for all CF patients since only mutations which produce a CFTR channel can be supported by CFTR modulators, not those mutations which lead to a missing CFTR channel (knock out) ", - /* @__PURE__ */ jsx42(SupScrollLink, { label: "74" }), - ", e.g. stop-mutations including p.Arg553Ter or p.Gly542Ter", - /* @__PURE__ */ jsx42(SupScrollLink, { label: "76" }), - ". " - ] }), - examples: [ - { - title: "Trikafta", - //quelle 4 - text: [/* @__PURE__ */ jsxs33("a", { children: [ - 'Active ingredient(s): Combination of elexacaftor/tezacaftor/ivacaftor","Indications: For CF patients aged 2 years and older with at least one F508del mutation = 85 % of CF patients","Mechanism: Elexacaftor and tezacaftor act as correctors on misfolded CFTR and permit delivery to the cell surface, thereby improving the channel density at the plasma membrane, while ivacaftor as a potentiator acts on CFTR channels that have reached the cell surface and increase the gating and conductance of ions ', - /* @__PURE__ */ jsx42(SupScrollLink, { label: "77" }), - '","Administration: Oral tablets' - ] }), "Approval: Approved by the EMA in 2020 "] - }, - { - title: "Symdeko", - //quelle 1 - text: ["Active ingredient(s): Combination of tezacaftor and ivacaftor", "Indications: For CF patients aged 6 years and older with specific mutations in combination with F508del or with two copies of F508del mutation", /* @__PURE__ */ jsxs33("a", { children: [ - "Mechanism: Tezacaftor acts as a corrector on misfolded CFTR and permit delivery to the cell surface, thereby improving the channel density at the plasma membrane, while ivacaftor as a potentiator acts on CFTR channels that have reached the cell surface and increase the gating and conductance of ions ", - /* @__PURE__ */ jsx42(SupScrollLink, { label: "77" }), - " " - ] }), "Administration: Oral tablets", "Approval: Approved by the EMA in 2018"] - }, - { - title: "Orkambi", - //quelle 6 - text: ["Active ingredient(s): Combination of lumacaftor and ivacaftor", "Indications: For CF patients aged 1 year and older with two copies of the F508del mutation", /* @__PURE__ */ jsxs33("a", { children: [ - "Mechanism: Lumacaftor acts as a corrector on misfolded CFTR and permit delivery to the cell surface, thereby improving the channel density at the plasma membrane, while ivacaftor as a potentiator act on CFTR channels that have reached the cell surface and increase the gating and conductance of ions ", - /* @__PURE__ */ jsx42(SupScrollLink, { label: "77" }) - ] }), "Administration: Oral tablets", "Approval: Approved by the EMA in 2015"] - }, - { - title: "Kalydeco", - //quelle 7 - text: ["Active ingredient(s): Ivacaftor", "Indications: For CF patients aged 4 months and older with a gating mutation in the CFTR gene (excluding F508del)", /* @__PURE__ */ jsxs33("a", { children: [ - "Mechanism: Ivacaftor as a potentiator acts on CFTR channels that have reached the cell surface and increase the gating and conductance of ions ", - /* @__PURE__ */ jsx42(SupScrollLink, { label: "77" }) - ] }), "Administration: Oral tablets", "Approval: Approved by the EMA in July 2012"] - } - ] - }, - { - name: "Mucolytics and inhalation", - //gibt 2 Inhalation Beispiele - picture: "https://static.igem.wiki/teams/5247/scientific-figures/mucolytics.svg", - introduction: /* @__PURE__ */ jsxs33("a", { children: [ - "Mucolytics help thin and loosen the mucus in the lungs, making it easier to cough up and clear the airways. These therapies are typically administered via wet or dry inhalation, providing direct delivery to the lungs. In the case of wet inhalation, the medication is inhaled as an aqueous solution and nebulized, while in the case of dry inhalation, the medication is inhaled as a powder. ", - /* @__PURE__ */ jsx42(SupScrollLink, { label: "74" }), - " Key Therapies include mannitol, Pulmozyme\xAE and hypertonic saline." - ] }), - examples: [ - { - title: "Pulmozyme", - //quelle 8 - text: ["Active ingredient(s): Dornase alfa as mucolytic enzyme", "Indications: For CF patients aged 5 years and older", "Mechanism: breaks up and thins mucus via DNase activity", "Administration: Inhalation via nebulizer, once or twice daily", "Approval: Approved by the FDA in 1993 [9]"] - }, - { - title: "Hypertonic saline", - //quelle 10 - text: ["Active ingredient(s): Osmotic agent sodium chloride (3%, 3.5%, 7%)", "Indications: For CF patients aged 6 years and older", "Mechanism: Draws water into the airways, hydrating the mucus and improving clearance", "Administration: Inhalation via nebulizer, used twice daily", "Approval: no official approval by EMA or FDA available, but widely used for several decades [11]", "Price: low-cost [11]"] - } - ] - }, - { - name: "Antibiotics", - //gibt 2 AB Beispiele - picture: "https://static.igem.wiki/teams/5247/scientific-figures/antibiotics.svg", - introduction: "Antibiotics are crucial for treating bacterial infections in CF patients since the mucus serves as an optimal environment for pathogens. A huge variety of antibiotics can be inhaled, oral, or intravenous, depending on the severity and kind of the infection [12]. Commercially available medications include TOBI\xAE and CAYSTON\xAE. A major problem associated with the application of antibiotics is the fact that long-term use can lead to antibiotic resistance and potential side effects like kidney damage and hearing loss [12].", - examples: [ - { - title: "TOBI", - //quelle 13 + Pseudo muss kursiv - text: ["Active ingredient(s): Tobramycin", /* @__PURE__ */ jsxs33(Fragment21, { children: [ - "Indications: For CF patients aged 6 years and older with ", - /* @__PURE__ */ jsx42("i", { children: " Pseudomonas aeruginosa " }), - " infections " - ] }), "Mechanism: Aminoglycoside antibiotic disrupts bacterial protein synthesis, leading to the death of the pathogen", "Administration: Inhalation of antibiotic via nebulizer, typically taken twice daily in 28-day cycles", "Approval: Approved by the EMA in 2011 [14]"] - }, - { - title: "CAYSTON", - //quelle 15 + Pseudo muss kursiv - text: ["Active ingredient(s): Aztreonam", /* @__PURE__ */ jsxs33(Fragment21, { children: [ - "Indications: For CF patients aged 6 years and older with ", - /* @__PURE__ */ jsx42("i", { children: " Pseudomonas aeruginosa " }), - " infections " - ] }), "Mechanism: Beta-Lactam antibiotic disrupts bacterial cell wall synthesis, leading to the death of the pathogen", "Administration: Inhalation via nebulizer, taken three times daily in 28-day cycles", "Approval: Approved by the EMA in 2009"] - } - ] - }, - { - name: "Digestive enzymes and diet", - //ein beispiel - picture: "https://static.igem.wiki/teams/5247/scientific-figures/diet.svg", - introduction: /* @__PURE__ */ jsxs33("a", { children: [ - " The digestive process is impaired in 80% of patients with cystic fibrosis (CF), as a result of pancreatic insufficiency, which in turn leads to difficulties in digesting food and absorbing nutrients. Enzyme supplements like Creon\xAE are therefore essential [16]. Moreover CF patients are also advised to eat a balanced and energy-rich diet, as the increased work of breathing and increased coughing, as well as infections, fever and diarrhoea, consume more energy than a healthy person. ", - /* @__PURE__ */ jsx42(SupScrollLink, { label: "74" }), - " It is also an option for patients to use nutritional supplements. Electrolyte preparations are also used in this context to compensate for the increased need for fluids and the required salts." - ] }), - examples: [ - { - title: "Creon", - //quelle 17 - text: ["Active ingredient(s): pancreatic enzymes (lipase, amylase, protease) for enzyme replacement therapy", "Indications: For CF patients with exocrine pancreatic insufficiency", "Mechanism: Provides digestive enzymes (lipase, protease, amylase) to aid digestion", "Administration: Oral capsules, taken with meals", "Approval: Approved by the FDA in 2009"] - } - ] - } -]; - -// src/components/Complex-svg.tsx -import { jsx as jsx43, jsxs as jsxs34 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/makeSources.tsx -import { useState as useState7, useEffect as useEffect7 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import bibtexParse from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/bibtex-parser-js/bibtexParse.js"; -import { Fragment as Fragment22, jsx as jsx44, jsxs as jsxs35 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function formatPages(pages) { - if (pages && pages.length > 0) { - const pageRangeRegex = /--|-|–|–/; - if (pageRangeRegex.test(pages)) { - const pag = pages.split(pageRangeRegex).map((p) => p.trim()); - const begin = pag[0]; - const end = pag[1]; - return /* @__PURE__ */ jsxs35(Fragment22, { children: [ - ",\xA0", - /* @__PURE__ */ jsx44("span", { property: "schema:pageBegin", children: begin }), - "-", - /* @__PURE__ */ jsx44("span", { property: "schema:pageEnd", children: end }) - ] }); - } else if (/^\d+(-\d+)?$/.test(pages)) { - return /* @__PURE__ */ jsxs35(Fragment22, { children: [ - ",\xA0", - /* @__PURE__ */ jsx44("span", { property: "schema:pageBegin", children: pages }) - ] }); - } else { - console.warn(`Non-numeric page information detected ('${pages}'). Treating as missing.`); - return null; - } - } else { - console.warn("Sorry, no page information."); - return null; - } -} -var BibtexParser = ({ bibtexSources: bibtexSources6, special }) => { - const [parsedEntries, setParsedEntries] = useState7([]); - useEffect7(() => { - console.log("Parsing BibTeX sources: ", bibtexSources6); - try { - const allEntries = []; - bibtexSources6.forEach((bibtex) => { - const parsed = bibtexParse.toJSON(bibtex); - allEntries.push(...parsed); - }); - setParsedEntries(allEntries); - } catch (error) { - console.error("Error parsing BibTeX: ", error); - alert("An error occurred while parsing the BibTeX entries. Please check the format." + bibtexSources6); - } - }, [bibtexSources6]); - const formatAuthors = (authors) => { - console.log("Original input:", authors); - const cleanedAuthors = authors.replace(/\s*and\s*/g, "|").replace(/\{|\}/g, "").trim(); - console.log("Cleaned authors string:", cleanedAuthors); - const authorList = cleanedAuthors.split("|").map((author) => author.trim()); - console.log("Split author list:", authorList); - const maxAuthors = 7; - const formattedAuthors = authorList.map((author, index) => { - console.log(`Processing author #${index + 1}:`, author); - const [last, firstNames] = author.includes(",") ? author.split(",").map((part) => part.trim()) : ["", author]; - console.log(`Last name: "${last}", First names: "${firstNames}"`); - const initials = firstNames.split(" ").map((n) => n[0] + ".").join(" "); - console.log(`Initials for "${firstNames}": "${initials}"`); - const formattedName = `${last}, ${initials}`.trim(); - console.log(`Formatted name: "${formattedName}"`); - return formattedName; - }); - console.log("Formatted authors before adding et al.:", formattedAuthors); - const output = formattedAuthors.slice(0, maxAuthors).join("; ") + (formattedAuthors.length > maxAuthors ? " et al." : ""); - console.log("Final output:", output); - return output; - }; - let specialthing = ""; - if (special) { - specialthing = `#${special}`; - } - const renderCitation = (entry, index) => { - const citationNumber = index + 1; - const entryType = entry.entryType.toLowerCase(); - const entryTags = entry.entryTags; - switch (entryType) { - case "article": - return /* @__PURE__ */ jsxs35("li", { typeof: "schema:ScholarlyArticle", role: "doc-biblioentry", property: "schema:citation", id: `desc-${citationNumber}${specialthing}`, children: [ - formatAuthors(entryTags.AUTHOR || entryTags.EDITOR || ""), - "\xA0", - /* @__PURE__ */ jsxs35("span", { property: "schema:name", children: [ - entryTags.TITLE.replace(/[?!.]/g, "").replace(/\n/g, " ").trim(), - "." - ] }), - "\xA0", - /* @__PURE__ */ jsx44("i", { property: "schema:publisher", typeof: "schema:Organization", children: entryTags.JOURNAL }), - "\xA0", - /* @__PURE__ */ jsx44("b", { property: "issueNumber", typeof: "PublicationIssue", children: entryTags.VOLUME }), - formatPages(entryTags.PAGES) && /* @__PURE__ */ jsx44("span", { children: formatPages(entryTags.PAGES) }), - entryTags.YEAR && /* @__PURE__ */ jsxs35("span", { children: [ - "\xA0(", - /* @__PURE__ */ jsx44("time", { property: "schema:datePublished", datatype: "xsd:gYear", dateTime: entryTags.YEAR, children: entryTags.YEAR }), - ")." - ] }), - entryTags.DOI && /* @__PURE__ */ jsxs35("span", { children: [ - "\xA0", - /* @__PURE__ */ jsxs35("a", { className: "doi", href: `https://doi.org/${entryTags.DOI}`, children: [ - "doi: ", - entryTags.DOI - ] }) - ] }) - ] }, index); - case "book": - return /* @__PURE__ */ jsxs35("li", { typeof: "schema:Book", role: "doc-biblioentry", property: "schema:citation", id: `desc-${citationNumber}`, children: [ - formatAuthors(entryTags.AUTHOR || entryTags.EDITOR || ""), - entryTags.TITLE ? /* @__PURE__ */ jsxs35("span", { property: "schema:name", children: [ - "\xA0", - entryTags.TITLE.replace(/[?!.]/g, "").replace(/\n/g, " ").trim(), - "." - ] }) : entryTags.BOOKTITLE ? /* @__PURE__ */ jsxs35("span", { property: "schema:name", children: [ - "\xA0", - entryTags.BOOKTITLE.replace(/[?!.]/g, "").replace(/\n/g, " ").trim(), - "." - ] }) : console.warn(`No title or booktitle found for entry ${citationNumber}`), - entryTags.PUBLISHER && /* @__PURE__ */ jsxs35("i", { property: "schema:publisher", typeof: "schema:Organization", children: [ - "\xA0", - entryTags.PUBLISHER - ] }), - entryTags.YEAR && /* @__PURE__ */ jsxs35("span", { children: [ - "\xA0(", - /* @__PURE__ */ jsx44("time", { property: "schema:datePublished", datatype: "xsd:gYear", dateTime: entryTags.YEAR, children: entryTags.YEAR }), - ")." - ] }), - entryTags.ISBN && /* @__PURE__ */ jsxs35("span", { property: "isbn", children: [ - "\xA0", - entryTags.ISBN - ] }) - ] }, index); - case "misc": - return /* @__PURE__ */ jsxs35("li", { typeof: "schema:WebPage", role: "doc-biblioentry", property: "schema:citation", id: `desc-${citationNumber}`, children: [ - entryTags.AUTHOR || entryTags.EDITOR || "", - entryTags.TITLE && /* @__PURE__ */ jsxs35("span", { property: "schema:name", children: [ - ".\xA0", - entryTags.TITLE.replace(/[?!.]/g, "").replace(/\n/g, " ").trim(), - "." - ] }), - entryTags.HOWPUBLISHED && /* @__PURE__ */ jsxs35("i", { property: "schema:publisher", typeof: "schema:Organization", children: [ - "\xA0", - entryTags.HOWPUBLISHED - ] }), - entryTags.YEAR && /* @__PURE__ */ jsxs35("span", { children: [ - "\xA0(", - /* @__PURE__ */ jsx44("time", { property: "schema:datePublished", datatype: "xsd:gYear", dateTime: entryTags.YEAR, children: entryTags.YEAR }), - ")." - ] }) - ] }, index); - case "inproceedings": - return /* @__PURE__ */ jsxs35("li", { children: [ - /* @__PURE__ */ jsx44("span", { children: formatAuthors(entryTags.AUTHOR || "") }), - "\xA0", - /* @__PURE__ */ jsx44("span", { children: entryTags.TITLE }), - ". In ", - /* @__PURE__ */ jsx44("i", { children: entryTags.BOOKTITLE }), - ",\xA0", - /* @__PURE__ */ jsx44("b", { children: entryTags.editor }), - ", ", - entryTags.YEAR, - "." - ] }, index); - case "phdthesis": - return /* @__PURE__ */ jsxs35("li", { children: [ - /* @__PURE__ */ jsx44("span", { children: formatAuthors(entryTags.AUTHOR || "") }), - "\xA0", - /* @__PURE__ */ jsx44("span", { children: entryTags.TITLE }), - ", PhD thesis, ", - entryTags.SCHOOL, - ", ", - entryTags.YEAR, - "." - ] }, index); - default: - console.warn(`Unknown entry type: ${entryType}`); - return /* @__PURE__ */ jsxs35("li", { children: [ - "Unknown entry type: ", - entryType - ] }, index); - } - }; - return /* @__PURE__ */ jsx44("div", { children: parsedEntries.length === 0 ? /* @__PURE__ */ jsx44("p", { children: "No citations available." }) : /* @__PURE__ */ jsx44("ol", { children: parsedEntries.map((entry, index) => renderCitation(entry, index)) }) }); -}; -var makeSources_default = BibtexParser; - -// src/sources/description-sources.tsx -import { jsx as jsx45 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/description.tsx -import { jsx as jsx46, jsxs as jsxs36 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -var medibuttonrowdata = [ - { - node: createDrugSteckbrief(drugdata[0]), - buttonname: "Modulators", - cssname: "Med-First", - main: true - }, - { - node: createDrugSteckbrief(drugdata[1]), - buttonname: "Mucolytics", - cssname: "Mucolytics" - }, - { - node: createDrugSteckbrief(drugdata[2]), - buttonname: "Antibiotics", - cssname: "Antibiotics" - }, - { - node: createDrugSteckbrief(drugdata[3]), - buttonname: "Enzymes", - cssname: "Enzymes" - } -]; -var symptombuttonrowdata = [ - { - node: createSymptomSteckbrief(symptomdata[0]), - buttonname: "Pancreas", - cssname: "Symp-First", - main: true - }, - { - node: createSymptomSteckbrief(symptomdata[1]), - buttonname: "Intestines", - cssname: "intestines" - }, - { - node: createSymptomSteckbrief(symptomdata[2]), - buttonname: "Liver", - cssname: "liver" - }, - { - node: createSymptomSteckbrief(symptomdata[3]), - buttonname: "Sexual glands", - cssname: "Sexual glands" - }, - { - node: createSymptomSteckbrief(symptomdata[4]), - buttonname: "Lungs", - cssname: "lungs" - }, - { - node: createSymptomSteckbrief(symptomdata[5]), - buttonname: "Skeletal System", - cssname: "Skeletal System" - }, - { - node: createSymptomSteckbrief(symptomdata[6]), - buttonname: "Skin", - cssname: "skin" - }, - { - node: createSymptomSteckbrief(symptomdata[7]), - buttonname: "Nasal mucosa", - cssname: "Nasal mucosa" - }, - { - node: createSymptomSteckbrief(symptomdata[8]), - buttonname: "Brain", - cssname: "brain" - } -]; -function createSymptomSteckbrief(data) { - let examplelist = []; - for (let index = 0; index < data.introduction.length; index++) { - examplelist.push( - /* @__PURE__ */ jsx46("li", { children: data.introduction[index] }, index) - ); - } - return /* @__PURE__ */ jsxs36("div", { children: [ - /* @__PURE__ */ jsx46(H4, { id: `${data.name}-btn`, text: data.name }), - /* @__PURE__ */ jsxs36("div", { className: "row", children: [ - /* @__PURE__ */ jsx46("div", { className: "col-2", children: /* @__PURE__ */ jsx46("div", { className: "symptom-img-wrapper", children: /* @__PURE__ */ jsx46("img", { src: data.picture, className: "symptom-img" }) }) }), - /* @__PURE__ */ jsx46("div", { className: "col", children: /* @__PURE__ */ jsx46("ul", { children: examplelist }) }) - ] }) - ] }); -} -function createDrugSteckbrief(data) { - let examplelist = []; - for (let index = 0; index < data.examples.length; index++) { - let absaetze = []; - for (let i = 0; i < data.examples[index].text.length; i++) { - absaetze.push( - /* @__PURE__ */ jsx46("li", { children: data.examples[index].text[i] }, i) - ); - } - examplelist.push( - /* @__PURE__ */ jsxs36("div", { className: "drug", children: [ - /* @__PURE__ */ jsx46(H4, { text: data.examples[index].title }), - /* @__PURE__ */ jsx46("ul", { children: absaetze }, index) - ] }, index + 500) - ); - } - return /* @__PURE__ */ jsxs36("div", { children: [ - /* @__PURE__ */ jsx46(H4, { id: `${data.name}-btn`, text: data.name }), - /* @__PURE__ */ jsxs36("div", { className: "row", children: [ - /* @__PURE__ */ jsx46("div", { className: "col-2", children: /* @__PURE__ */ jsx46("div", { className: "symptom-img-wrapper", children: /* @__PURE__ */ jsx46("img", { src: data.picture, className: "symptom-img" }) }) }), - /* @__PURE__ */ jsx46("div", { className: "col", children: data.introduction }) - ] }), - /* @__PURE__ */ jsx46("div", { className: "col", children: examplelist }) - ] }); -} - -// src/utils/createSidebar.tsx -import { useEffect as useEffect8, useState as useState8 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { Fragment as Fragment23, jsx as jsx47, jsxs as jsxs37 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/descS.tsx -import { jsx as jsx48 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Link.tsx -import { jsx as jsx49 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function TabScrollLink({ tab, scrollId, num }) { - const { goToPageWithTabAndScroll } = useNavigation(); - return /* @__PURE__ */ jsx49("sup", { children: /* @__PURE__ */ jsx49("a", { onClick: () => goToPageWithTabAndScroll({ path: "", tabId: tab, scrollToId: scrollId }), children: num }) }); -} - -// src/sources/eng-trf-sources.tsx -import { jsx as jsx50 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/eng-reporter-sources.tsx -import { jsx as jsx51 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/eng-pe-sources.tsx -import { jsx as jsx52 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/eng-peg-sources.tsx -import { jsx as jsx53 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/eng-nickases-sources.tsx -import { jsx as jsx54 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/eng-delivery-sources.tsx -import { jsx as jsx55 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/engineering.tsx -import { Fragment as Fragment24, jsx as jsx56, jsxs as jsxs38 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/experiments.tsx -import { Fragment as Fragment25, jsx as jsx57, jsxs as jsxs39 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/notebook.tsx -import { jsx as jsx58, jsxs as jsxs40 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Loremipsum.tsx -import { jsx as jsx59 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Figures.tsx -import { jsx as jsx60, jsxs as jsxs41 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/results.tsx -import { Fragment as Fragment26, jsx as jsx61, jsxs as jsxs42 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/safety.tsx -import { Fragment as Fragment27, jsx as jsx62, jsxs as jsxs43 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Overwiev.tsx -import { jsx as jsx63, jsxs as jsxs44 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Introduction.tsx -import { jsx as jsx64, jsxs as jsxs45 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/joshua-inv-sources.tsx -import { jsx as jsx65 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function JoshuaInterviewSources() { - return /* @__PURE__ */ jsx65("div", { children: /* @__PURE__ */ jsx65(makeSources_default, { bibtexSources }) }); -} -var bibtexSources = [ - ` - -@article{eins, - -title = {Prime editing functionally corrects cystic fibrosis-causing CFTR mutations in human organoids and airway epithelial cells}, - -journal = {Cell Reports Medicine}, - -volume = {5}, - -number = {5}, - -pages = {101544}, - -year = {2024}, - -issn = {2666-3791}, - -doi = {https://doi.org/10.1016/j.xcrm.2024.101544}, - -url = {https://www.sciencedirect.com/science/article/pii/S2666379124002349}, - -author = {Mattijs Bulcaen and Ph\xE9line Kortleven and Ronald B. Liu and Giulia Maule and Elise Dreano and Mairead Kelly and Marjolein M. Ensinck and Sam Thierie and Maxime Smits and Matteo Ciciani and Aurelie Hatton and Benoit Chevalier and Anabela S. Ramalho and Xavier {Casadevall i Solvas} and Zeger Debyser and Fran\xE7ois Vermeulen and Rik Gijsbers and Isabelle Sermet-Gaudelus and Anna Cereseto and Marianne S. Carlon}, - -}`, - ` -@article{zewi, - -author = {Teeratakulpisarn, Jamaree and Kosuwon, Pensri and Srinakarin, Jiraporn and Panthongviriyakul, Charnchai and Sutra, Sumitr}, - -year = {2006}, - -month = {11}, - -pages = {1756-61}, - -title = {Cystic fibrosis in three northeast Thai infants is CF really a rare disease in the Thai population?}, - -volume = {89}, - -journal = {Journal of the Medical Association of Thailand = Chotmaihet thangphaet} - -} `, - ` - -@article{drei, - -author = {Ahmed, Shakil and Cheok, Gary and Goh, AnneE and Han, Aye and Hong, SJ and Indawati, Wahyuni and Kabir, AR and Kabra, Sushil and Kamalaporn, Harutai and Kim, HyungYoung and Kunling, Shen and Lochindarat, Sorasak and Moslehi, MohammadAshkan and Nathan, AnnaMarie and Ng, Daniel and Phung, NguyenNg and Singh, V and Takase, Masato and Triasih, Rina and Dai, Zen-Kong}, - -year = {2020}, - -month = {01}, - -pages = {8}, - -title = {Cystic fibrosis in asia}, - -volume = {4}, - -journal = {Pediatric Respirology and Critical Care Medicine}, - -doi = {10.4103/prcm.prcm_5_20} - -} `, - ` - -@article{vier, - -author = {Bobbo, Khadijatabubakar and Ahmad, Umar and Chau, De-Ming and Nordin, Norshariza and Abdullah, Syahril}, - -year = {2023}, - -month = {05}, - -pages = {103685}, - -title = {A comprehensive review of Cystic Fibrosis in Africa and Asia}, - -volume = {30}, - -journal = {Saudi Journal of Biological Sciences}, - -doi = {10.1016/j.sjbs.2023.103685} - -} ` -]; - -// src/sources/mattij-inv-sources.tsx -import { jsx as jsx66 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function MattijsInterviewSources() { - return /* @__PURE__ */ jsx66("div", { children: /* @__PURE__ */ jsx66(makeSources_default, { bibtexSources: bibtexSources2 }) }); -} -var bibtexSources2 = [ - ` - @article{Bulcaen_Kortleven_Liu_Maule_Dreano_Kelly_Ensinck_Thierie_Smits_Ciciani_et, - title = { - Prime editing functionally corrects cystic fibrosis-causing CFTR mutations in - human organoids and airway epithelial cells - }, - author = { - Bulcaen, Mattijs and Kortleven, Ph\xE9line and Liu, Ronald B. and Maule, Giulia - and Dreano, Elise and Kelly, Mairead and Ensinck, Marjolein M. and Thierie, - Sam and Smits, Maxime and Ciciani, Matteo and Hatton, Aurelie and Chevalier, - Benoit and Ramalho, Anabela S. and Casadevall i Solvas, Xavier and Debyser, - Zeger and Vermeulen, Fran\xE7ois and Gijsbers, Rik and Sermet-Gaudelus, Isabelle - and Cereseto, Anna and Carlon, Marianne S. - }, - year = 2024, - month = may, - journal = {Cell Reports Medicine}, - pages = 101544, - doi = {10.1016/j.xcrm.2024.101544}, - issn = {2666-3791}, - abstractnote = { - Prime editing is a recent, CRISPR-derived genome editing technology capable - of introducing precise nucleotide substitutions, insertions, and deletions. - Here, we present prime editing approaches to correct L227R- and N1303K-CFTR, - two mutations that cause cystic fibrosis and are not eligible for current - market-approved modulator therapies. We show that, upon DNA correction of the - CFTR gene, the complex glycosylation, localization, and, most importantly, - function of the CFTR protein are restored in HEK293T and 16HBE cell lines. - These findings were subsequently validated in patient-derived rectal - organoids and human nasal epithelial cells. Through analysis of predicted and - experimentally identified candidate off-target sites in primary stem cells, - we confirm previous reports on the high prime editor (PE) specificity and its - potential for a curative CF gene editing therapy. To facilitate future - screening of genetic strategies in a translational CF model, a machine - learning algorithm was developed for dynamic quantification of CFTR function - in organoids (DETECTOR: \u201Cdetection of targeted editing of CFTR in - organoids\u201D). - } -} - - ` -]; - -// src/sources/liu-inv-sources.tsx -import { jsx as jsx67 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function LiuInterviewSources() { - return /* @__PURE__ */ jsx67("div", { children: /* @__PURE__ */ jsx67(makeSources_default, { bibtexSources: bibtexSources3 }) }); -} -var bibtexSources3 = [ - ` -@article{eins, -title = {Search-and-replace genome editing without double-strand breaks or donor DNA}, -volume = {576}, -rights = {2019 The Author(s), under exclusive licence to Springer Nature Limited}, -ISSN = {1476-4687}, -DOI = {10.1038/s41586-019-1711-4}, -abstractNote = {Most genetic variants that contribute to disease are challenging to correct efficiently and without excess byproducts. Here we describe prime editing, a versatile and precise genome editing method that directly writes new genetic information into a specified DNA site using a catalytically impaired Cas9 endonuclease fused to an engineered reverse transcriptase, programmed with a prime editing guide RNA (pegRNA) that both specifies the target site and encodes the desired edit. We performed more than 175 edits in human cells, including targeted insertions, deletions, and all 12 types of point mutation, without requiring double-strand breaks or donor DNA templates. We used prime editing in human cells to correct, efficiently and with few byproducts, the primary genetic causes of sickle cell disease and Tay\u2013Sachs disease; to install a protective transversion in PRNP; and to insert various tags and epitopes precisely into target loci. Four human cell lines and primary post-mitotic mouse cortical neurons support prime editing with varying efficiencies. Prime editing shows higher or similar efficiency and fewer byproducts than homology-directed repair, has complementary strengths and weaknesses compared to base editing, and induces much lower off-target editing than Cas9 nuclease at known Cas9 off-target sites. Prime editing substantially expands the scope and capabilities of genome editing, and in principle could correct up to 89% of known genetic variants associated with human diseases.}, -number = {7785}, -journal = {Nature}, -publisher = {Nature Publishing Group}, -author = {Anzalone, Andrew V. and Randolph, Peyton B. and Davis, Jessie R. and Sousa, Alexander A. and Koblan, Luke W. and Levy, Jonathan M. and Chen, Peter J. and Wilson, Christopher and Newby, Gregory A. and Raguram, Aditya and Liu, David R.}, -year = {2019}, -month = {dec}, -pages = {149\u2013157}, -language = {en} -}`, - ` - -@article{zwei, -title = {Phage-assisted evolution and protein engineering yield compact, efficient prime editors}, -volume = {186}, -ISSN = {0092-8674, 1097-4172}, -DOI = {10.1016/j.cell.2023.07.039}, -number = {18}, -journal = {Cell}, -publisher = {Elsevier}, -author = {Doman, Jordan L. and Pandey, Smriti and Neugebauer, Monica E. and An, Meirui and Davis, Jessie R. and Randolph, Peyton B. and McElroy, Amber and Gao, Xin D. and Raguram, Aditya and Richter, Michelle F. and Everette, Kelcee A. and Banskota, Samagya and Tian, Kathryn and Tao, Y. Allen and Tolar, Jakub and Osborn, Mark J. and Liu, David R.}, -year = {2023}, -month = {aug}, -pages = {3983-4002.e26}, -language = {English} -}`, - ` - -@article{drei, -title = {Phage-assisted continuous and non-continuous evolution}, -volume = {15}, -rights = {2020 The Author(s), under exclusive licence to Springer Nature Limited}, -ISSN = {1750-2799}, -DOI = {10.1038/s41596-020-00410-3}, -abstractNote = {Directed evolution, which applies the principles of Darwinian evolution to a laboratory setting, is a powerful strategy for generating biomolecules with diverse and tailored properties. This technique can be implemented in a highly efficient manner using continuous evolution, which enables the steps of directed evolution to proceed seamlessly over many successive generations with minimal researcher intervention. Phage-assisted continuous evolution (PACE) enables continuous directed evolution in bacteria by mapping the steps of Darwinian evolution onto the bacteriophage life cycle and allows directed evolution to occur on much faster timescales compared to conventional methods. This protocol provides detailed instructions on evolving proteins using PACE and phage-assisted non-continuous evolution (PANCE) and includes information on the preparation of selection phage and host cells, the assembly of a continuous flow apparatus and the performance and analysis of evolution experiments. This protocol can be performed in as little as 2 weeks to complete more than 100 rounds of evolution (complete cycles of mutation, selection and replication) in a single PACE experiment.}, -number = {12}, -journal = {Nature Protocols}, -publisher = {Nature Publishing Group}, -author = {Miller, Shannon M. and Wang, Tina and Liu, David R.}, -year = {2020}, -month = {dec}, -pages = {4101\u20134127}, -language = {en} -}`, - ` -@article{vier, -title = {Systematic optimization of prime editing for the efficient functional correction of CFTR F508del in human airway epithelial cells}, -rights = {2024 The Author(s)}, -ISSN = {2157-846X}, -DOI = {10.1038/s41551-024-01233-3}, -abstractNote = {Prime editing (PE) enables precise and versatile genome editing without requiring double-stranded DNA breaks. Here we describe the systematic optimization of PE systems to efficiently correct human cystic fibrosis (CF) transmembrane conductance regulator (CFTR) F508del, a three-nucleotide deletion that is the predominant cause of CF. By combining six efficiency optimizations for PE\u2014engineered PE guide RNAs, the PEmax architecture, the transient expression of a dominant-negative mismatch repair protein, strategic silent edits, PE6 variants and proximal \u2018dead\u2019 single-guide RNAs\u2014we increased correction efficiencies for CFTR F508del from less than 0.5% in HEK293T cells to 58% in immortalized bronchial epithelial cells (a 140-fold improvement) and to 25% in patient-derived airway epithelial cells. The optimizations also resulted in minimal off-target editing, in edit-to-indel ratios 3.5-fold greater than those achieved by nuclease-mediated homology-directed repair, and in the functional restoration of CFTR ion channels to over 50% of wild-type levels (similar to those achieved via combination treatment with elexacaftor, tezacaftor and ivacaftor) in primary airway cells. Our findings support the feasibility of a durable one-time treatment for CF.}, -journal = {Nature Biomedical Engineering}, -publisher = {Nature Publishing Group}, -author = {Sousa, Alexander A. and Hemez, Colin and Lei, Lei and Traore, Soumba and Kulhankova, Katarina and Newby, Gregory A. and Doman, Jordan L. and Oye, Keyede and Pandey, Smriti and Karp, Philip H. and McCray, Paul B. and Liu, David R.}, -year = {2024}, -month = {jul}, -pages = {1\u201315}, -language = {en} -}` -]; - -// src/sources/rnhale-sources.tsx -import { jsx as jsx68 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function RnhaleSources() { - return /* @__PURE__ */ jsx68("div", { children: /* @__PURE__ */ jsx68(makeSources_default, { bibtexSources: bibtexSources4 }) }); -} -var bibtexSources4 = [ - ` - -@article{article, - -author={Roth, F. C., Numberger, M., and Draguhn, A.}, - -year={2023}, - -month={}, - -pages={1-14}, - -title={Die Entwicklung der Patch-Clamp-Technik}, - -volume={}, - -journal={Springer eBooks}, - -doi={10.1007/978-3-662-66053-9_1} - -} - -`, - ` - -@article{article, - -author={Mete, V.}, - -year={2023}, - -month={ }, - -pages={ }, - -title={Entwicklung und Validierung neuer nicht-invasiver Diagnosesysteme f\xFCr Mucociliary Clearance Disorders (MCCD)}, - -volume={ }, - -journal={Dissertation, Westf\xE4lische Wilhelms-Universit\xE4t M\xFCnster}, - -doi={10.17879/98958441905} - -} - -`, - ` - -@article{article, - -author={Giaever, I. and Keese, C. }, - -year={1993}, - -month={ }, - -pages={591-592}, - -title={A morphological biosensor for mammalian cells}, - -volume={366}, - -journal={Nature}, - -doi={10.1038/366591a0} - -} -` -]; - -// src/sources/wimscheyer-sources.tsx -import { jsx as jsx69 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function WischmeyerSources() { - return /* @__PURE__ */ jsx69("div", { children: /* @__PURE__ */ jsx69(makeSources_default, { bibtexSources: bibtexSources5 }) }); -} -var bibtexSources5 = [ - ` - -@article{article, - -author={Roth, F. C., Numberger, M., and Draguhn, A.}, - -year={2023}, - -month={}, - -pages={1-14}, - -title={Die Entwicklung der Patch-Clamp-Technik}, - -volume={}, - -journal={Springer eBooks}, - -doi={10.1007/978-3-662-66053-9_1} - -} - -`, - ` - -@article{article, - -author={Mete, V.}, - -year={2023}, - -month={ }, - -pages={ }, - -title={Entwicklung und Validierung neuer nicht-invasiver Diagnosesysteme f\xFCr Mucociliary Clearance Disorders (MCCD)}, - -volume={ }, - -journal={Dissertation, Westf\xE4lische Wilhelms-Universit\xE4t M\xFCnster}, - -doi={10.17879/98958441905} - -} -`, - ` - -@article{article, - -author={Giaever, I. and Keese, C. }, - -year={1993}, - -month={ }, - -pages={591-592}, - -title={A morphological biosensor for mammalian cells}, - -volume={366}, - -journal={Nature}, - -doi={10.1038/366591a0} - -} - ` -]; - -// src/data/hptimelinedata.tsx -import { Fragment as Fragment28, jsx as jsx70, jsxs as jsxs46 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function HPLinktoOtherHPTab({ tab, text }) { - const { goToPagesAndOpenTab } = useNavigation(); - return /* @__PURE__ */ jsxs46("a", { onClick: () => goToPagesAndOpenTab(tab, ""), children: [ - " ", - text, - " " - ] }); -} -function HPgoToPageAndScroll({ id, text, path }) { - const { goToPageAndScroll } = useNavigation(); - return /* @__PURE__ */ jsxs46("a", { onClick: () => goToPageAndScroll(id, path), children: [ - " ", - text, - " " - ] }); -} -var pics = { - placeholder: "https://static.igem.wiki/teams/5247/placeholders/placehilderperson.jpeg", - max: "https://static.igem.wiki/teams/5247/photos/hp/hp-max-portrait.jpg", - kristian: "https://static.igem.wiki/teams/5247/photos/hp/kristian-interview.webp", - olariu: "https://static.igem.wiki/teams/5247/photos/hp/olariu-cristian.jpg", - westhoff: "https://static.igem.wiki/teams/5247/photos/hp/hp-katrin-portrait.jpg", - mattijs: "https://static.igem.wiki/teams/5247/photos/hp/mattijs.jpg", - julia: "https://static.igem.wiki/teams/5247/photos/hp/julia.jpg", - kolonko: "https://static.igem.wiki/teams/5247/photos/hp/kolonko-neu.jpg", - svenja: "https://static.igem.wiki/teams/5247/photos/hp/svenja-vinke.webp", - berens: "https://static.igem.wiki/teams/5247/photos/hp/berens.jpg", - draeger: "https://static.igem.wiki/teams/5247/photos/hp/oliver-draeger-patch-clamp.jpeg", - winkeljann: "https://static.igem.wiki/teams/5247/photos/hp/rnhale-winkeljann.jpg", - kuehnel: "https://static.igem.wiki/teams/5247/photos/hp/hp-philippk-hnel.jpeg ", - wischmeyer: "https://static.igem.wiki/teams/5247/photos/hp/wischmeyer-erhard.webp", - nicole: "https://static.igem.wiki/teams/5247/photos/hp/hp-friedlein-nicole.jpg", - joshua: "https://static.igem.wiki/teams/5247/photos/hp/joshua.jpg", - hammer: "https://static.igem.wiki/teams/5247/photos/hp/hp-hammer.webp", - johannfunke: "https://static.igem.wiki/teams/5247/photos/hp/hp-michaeljohannfunke.webp", - k\u00FChnel: "https://static.igem.wiki/teams/5247/photos/hp/hp-philippk-hnel.jpeg ", - moorlach: "https://static.igem.wiki/teams/5247/delivery/moorlach.webp ", - corden: "https://static.igem.wiki/teams/5247/delivery/corden-hp.webp", - marco: " https://static.igem.wiki/teams/5247/photos/hp/marco-raukic.webp ", - weber: "https://static.igem.wiki/teams/5247/delivery/weber.webp", - zoya: "https://static.igem.wiki/teams/5247/photos/hp/zoya-ignatova.webp", - kaihammer: "https://static.igem.wiki/teams/5247/photos/hp/interwiev-kai.jpeg", - nilshefe: "https://static.igem.wiki/teams/5247/photos/hp/nilshefe-hp.webp", - gxpexpert: "https://static.igem.wiki/teams/5247/photos/hp/gxpexpert.webp", - gxpcourse: "https://static.igem.wiki/teams/5247/photos/hp/kayagxpexpert.webp", - link\u00F6ping: "https://static.igem.wiki/teams/5247/photos/hp/liu2024-rund.webp", - biobank: "https://static.igem.wiki/teams/5247/photos/hp/biobank.webp", - bethel: "https://static.igem.wiki/teams/5247/photos/hp/logo-evangelisches-klinikum-bethel.webp", - saito: "https://static.igem.wiki/teams/5247/photos/hp/hp-makoto-saito.jpg", - physik: " https://static.igem.wiki/teams/5247/delivery/hp-uni-logo.webp", - hannovermesse: "https://static.igem.wiki/teams/5247/photos/hp/hannover-messe-svg.webp", - frankfurtmesse: "https://static.igem.wiki/teams/5247/photos/hp/achema.webp", - david: "https://static.igem.wiki/teams/5247/photos/hp/liu-talk.webp", - teuto: "https://static.igem.wiki/teams/5247/photos/edcation-and-outreach/teutoruft-experminet.jpeg", - mint: "https://static.igem.wiki/teams/5247/photos/hp/mintsommerlogo.png", - schueler: "https://static.igem.wiki/teams/5247/photos/edcation-and-outreach/schielerakademie-lisa-gruppe.jpg", - mukomove: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/po-mukomove/wir-plakat-mukomove.jpeg", - hakan: "https://static.igem.wiki/teams/5247/photos/hp/hakan.webp", - stemcell: "https://static.igem.wiki/teams/5247/photos/hp/stemcellquadrat.webp", - mukodino: "https://static.igem.wiki/teams/5247/photos/hp/mukodino.webp", - building: "https://static.igem.wiki/teams/5247/photos/hp/buildingtheteam.webp", - ideas: "https://static.igem.wiki/teams/5247/photos/hp/pitchingideas.webp", - labsupply: "https://static.igem.wiki/teams/5247/photos/hp/labsupply-info.webp", - hamburg: "https://static.igem.wiki/teams/5247/photos/hp/gruppenbild-hamburg.webp", - sriram: "https://static.igem.wiki/teams/5247/photos/sriram.svg" -}; -var timelinedata = [ - { - vorname: "Building the team", - nachnname: "", - pictureurl: pics["building"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Development of a multidisciplinary team structure", - interviewtabid: "recruiting", - cardtext: "", - quoteNachname: "Zimmermann, Intructor", - quoteVorname: "Sinan", - quote: "My first challenge was selecting the iGEM team. I focused on choosing candidates with strong technical skills and the ability to work well in an interdisciplinary setting, aiming to create a diverse team with complementary strengths.", - type: "meta", - summary: [ - /* @__PURE__ */ jsx70("p", { children: "Building a successful interdisciplinary team, like the one involved in this iGEM project, requires careful coordination and a shared vision for addressing complex scientific challenges. This team is an excellent example of how bringing together individuals from various academic backgrounds fosters innovation and facilitates problem-solving in the fields of synthetic biology and biotechnology." }), - /* @__PURE__ */ jsx70("p", { children: /* @__PURE__ */ jsx70("strong", { children: "The team members come from diverse fields of study, including Molecular Biotechnology, Bioinformatics, Molecular Cell Biology, Genome-Based System Biology, Interdisciplinary Biomedicine, and even Media Production." }) }), - /* @__PURE__ */ jsx70("p", { children: "This variety of expertise allows them to approach problems from multiple perspectives, ensuring that the project is well-rounded and capable of addressing both experimental and computational challenges. For instance, while the biotechnologists and molecular biologists focus on designing and conducting lab experiments, the bioinformaticians contribute crucial insights for data analysis and genome sequencing. The inclusion of a media production expert adds another layer to the team\u2019s capabilities, ensuring that science communication and project documentation are handled professionally, which is particularly important for presenting their work at conferences and competitions. The multidisciplinary structure of this team evolved naturally as they identified the project\u2019s needs and recruited members who could fill specific roles. Over time, this multidisciplinary structure has continued to develop as the team\u2019s project evolved. Roles became more defined as team members took on specific responsibilities, whether it was refining prime editing systems or crafting communication strategies for iGEM. The range of experience across the team, from younger students like Vincent Carl St\xF6ckl in the early stages of their academic careers to more advanced students in later semesters, allows for a blend of fresh perspectives and seasoned expertise. This balance helps ensure both the immediate success of the project and the continuity of its progress in the future. In summary, this interdisciplinary iGEM team demonstrates how a diverse group of individuals with specialized skills can come together to tackle a complex biological project. By combining their expertise in molecular biology, bioinformatics, cell biology, and media production, the team is able to execute their project holistically, ensuring that each aspect, from experimental design to public outreach, is handled with precision and creativity." }) - ], - months: "February" - }, - { - vorname: "Pitching ideas", - nachnname: "", - pictureurl: pics["ideas"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Getting Acquainted with Cystic Fibrosis", - interviewtabid: "firstpresi", - cardtext: "", - quoteNachname: "K\xF6hler, Teammember", - quoteVorname: "Vera", - quote: "Firstly, we discussed various project ideas, including the use of magnetic microswimmers for targeted medical applications, gene editing approaches for cystic fibrosis, treatments for muscular dystrophy and combating cyanobacteria with algae.", - type: "meta", - summary: [ - /* @__PURE__ */ jsxs46("p", { children: [ - "During our initial discussions about project ideas, the team explored several innovative concepts before honing in on ", - /* @__PURE__ */ jsx70("strong", { children: "cystic fibrosis" }), - ". Each project presented unique scientific challenges and potential impacts." - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "One idea involved the development of ", - /* @__PURE__ */ jsx70("strong", { children: "magnetic microswimmers" }), - " designed for targeted cancer therapy, particularly for ovarian cancer. The proposal aimed to overcome the limitations of traditional treatments, such as radiotherapy and cisplatin, which often damage healthy cells and result in numerous side effects. The microswimmers would be biodegradable algae-based vehicles, magnetically guided to deliver drugs directly to cancerous cells while minimizing damage to surrounding tissue. This approach offered a novel, non-invasive targeting mechanism, leveraging the potential of magnetic fields to direct the swimmers precisely to the affected areas." - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "Another compelling project was focused on ", - /* @__PURE__ */ jsx70("strong", { children: "Duchenne muscular dystrophy (DMD)" }), - ". This genetic disorder leads to muscle degeneration as muscle tissue is gradually replaced by fibrotic tissue. The team proposed several treatment approaches, including exon skipping and gene therapy using viral vectors. Key strategies included enhancing Cas protein efficiency through engineering, using liposomal vectors for gene delivery, and combining CRISPR technology with integrase fusion proteins. The team also discussed previous iGEM projects that had explored similar methodologies, emphasizing the need for specificity and efficacy in delivering therapeutic genes." - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "We also considered a project aimed at preventing ", - /* @__PURE__ */ jsx70("strong", { children: "cyanobacteria blooms" }), - " using peptides or proteins derived from algae. Cyanobacteria can produce harmful toxins that degrade water quality and threaten ecosystems. The proposed approach focused on utilizing natural algae to develop mechanisms that inhibit the growth of harmful cyanobacteria without disrupting the ecosystem. This project emphasized conservation and biodiversity while addressing a significant environmental issue linked to the climate crisis." - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "Throughout our discussions, we recognized that while each project had merit, the ", - /* @__PURE__ */ jsx70("strong", { children: "cystic fibrosis" }), - " initiative offered the most promise for a targeted approach to a well-defined problem. CF, affecting a substantial number of individuals, provided a clear opportunity for meaningful impact through gene therapy. The insights gained from our examination of other projects informed our approach to CF, allowing us to integrate knowledge from diverse fields and methodologies, ultimately shaping a comprehensive and innovative project direction." - ] }) - ], - months: "March" - }, - { - vorname: "Ideation in Hamburg", - nachnname: "", - pictureurl: pics["hamburg"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Brainstorming and selection of ideas and concepts at team weekend in Hamburg", - interviewtabid: "ideas", - cardtext: "", - quote: "Thanks to our in-depth research phase, we were able to gather many insightful ideas. The workshop was highly productive and moved us significantly forward, allowing us to gain a clear vision of our project by the end of the day.", - quoteVorname: "Kathleen", - quoteNachname: "Susat, Teammember", - type: "meta", - summary: [/* @__PURE__ */ jsx70("p", { children: "From April 5th to 7th, we embarked on an enriching excursion dedicated to project work and team building. Our primary goal was to engage in meaningful brainstorming sessions focused on our iGEM project and to explore human practices thoroughly. We kicked off our weekend with a series of discussions that emphasized the importance of considering the impact of our work on the world. Throughout our time in Hamburg, we dedicated several hours to reading relevant literature and research papers, both individually and in groups. This collaborative effort allowed us to deepen our understanding of existing projects and innovations in our field. We critically analyzed previous iGEM projects and explored who had worked on similar ideas, which helped us identify gaps in the research and potential avenues for our own project. Our discussions naturally flowed into brainstorming sessions where we reflected on the impacts we wanted to achieve. We explored essential questions: What effects do we aim to have on society? What activities can we plan to gather evidence about how our work will resonate with the community? How can we effectively engage with stakeholders and share our findings? In addition to structured brainstorming, we exchanged ideas informally during breaks and meals, fostering a creative atmosphere. By the end of the weekend, we had not only strengthened our team bonds but also clarified our vision for the project ahead. The insights gained from our discussions and readings laid a solid foundation for our future work, allowing us to approach our project with renewed focus and purpose." })], - months: "March" - }, - { - vorname: "Max", - nachnname: "Beckmann", - job: "Patient and Student", - affiliation: "Bielefeld University", - pictureurl: pics["max"], - tag: "Patient", - heading: "Gathering valuable insights from the patient\u2019s perspective", - interviewtabid: "maxfirst", - cardtext: "", - language: "de", - quoteNachname: "Beckmann, Patient", - quoteVorname: "Max", - quote: "A friend of mine with cystic fibrosis recently got a fungal infection that he can't get rid of. His situation really struck me; it showed how quickly a seemingly minor issue can worsen a person's life, especially for someone like us. It\u2019s a strong reminder of how fragile our health is and how fast things can change without warning.", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "When CF came up as a possible topic, we reached out to a teammate's friend Max in the hopes of getting insights into the needs of CF patients and current treatments to verify the need for further treatment options. Since he was much more enthusiastic and open for discussion than we dared to hope, we extended our exchanges into the realms of the reality of life for CF patients, possible progressions, organizations and doctors in our area and his personal perspectives and values. The interest in meeting him grew in the whole team and we invited him to one of our meetings. " })], - insights: [/* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70("p", { children: "His honest and open answers to us, mostly nothing more than strangers to him, were touching and let the seriousness of CF set in. Learning about the challenges he faced felt heavy, besides him being in relatively good health and having a good life quality for a CF patient." }), - /* @__PURE__ */ jsx70("p", { children: "Additional to the interpersonal effects of our discussion, Max gave us the reasons to continue with gene therapy approach while focusing on the lung: Modulators do not erase all symptoms. There is a keen interest for new treatments in the CF community. The the decreasing lung functionality it the most limiting. The immense impact of treatments on the life quality. " }), - /* @__PURE__ */ jsx70("p", { children: "We got new insights that motivated us to develop a new treatment, to treat the severe symptomes The need for a calorie rich diet and digestive problems. The frequency of checkups needed. How vastly different the progressions can be. The increased need for hygiene to prevent infections. The high price of medicines and induvial therapeutics. " }), - /* @__PURE__ */ jsx70("p", { children: `Afterwards, we reflected on the discussion and asked our team members what stuck with them: \u201CHow much attention has to be paid to everything in everyday life, I hadn't even thought about problems at the hairdresser.\u201D \u201CSimply that he was there and reported everything in such detail. From minute 1, I had permanent goosebumps because I was so moved by this story. I think it's great how he stands his ground in life, does what he wants to do and what defines him as a person. It didn't seem as if his life was determined by CF. I somehow expected it to be different, even if that sounds a bit silly.\u201D \u201CThe amount of medication and how expensive it is.\u201D "The statement that left the biggest impression for me was when Max was telling about a friend of his and fellow CF patient who caught a fungi infection which he now cannot get rid of anymore, showing how fast a seemingly little infection can change the life of a CF patient for the worse without any kind of warning.\u201D \u201CThe variance in the extent of the limitations of the disease in different patients, including how the disease differs in its severity, even in patients of the same age.\u201D \u201CHow positively and calmly Max deals with his illness but has also pointed out that he is lucky, and that other people are much worse off - how much you have to pay attention to little things that you wouldn't have expected as a healthy person.\u201D ` }) - ] })], - implementation: [/* @__PURE__ */ jsxs46(Fragment28, { children: [ - " ", - /* @__PURE__ */ jsx70("p", { children: "This most important aspect of this meeting was less an insight, but the fact Max helped us to put a face to an abstract idea. Many of our ideas to treat CF were interesting and adventurous but meeting him put a lot into perspective. " }), - /* @__PURE__ */ jsx70("p", { children: "Max played a significant role in shaping our project from the outset, particularly in guiding our focus on Integrated Human Practices [Link Best HP] and Safety & Security [Link Best Biosafety] as special prizes. Through our discussions, we recognized the importance of these aspects in developing the best possible cure. This collaborative effort led us to pivot our target from the pancreas to the lung and move away from a diagnostic approach. His contributions not only provided valuable insights but also fostered a strong personal investment in our project." }) - ] })], - pictureurl_implementation: "", - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "How and when were you first diagnosed? ", a: "When I was about one year old. My mother did not do any screenings or prenatal testing. I was in pain but as an infant you cannot say that, so I screamed a lot. Many doctors shrug that off in small children but after some time a sweat test was done at the children's clinic." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What do you think about diagnosing via sweat tests?", a: "I am a clear opponent of diagnosing via sweat tests, especially if it is used to rule out CF and people have atypical CF, because of which they do not get diagnosed because of that." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What symptoms do you have?", a: "Before taking modulators, I was underweight and did not feel hunger. I also had no sense of taste. Now, I have a healthy weight and still have respiratory symptoms such as very sticky mucus and digestive issues." }), - /* @__PURE__ */ jsx70(QaBox, { q: "You are taking individual meds, correct? They are individual in respect to the mutation, not the person, right?", a: "Yes, and yes, I am. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "What other medications are you taking? ", a: "Nasal spray, pancreatic enzymes, saline solution for inhalation and pantoprazole, used to reduce stomach acid production. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you know how exactly they work?", a: "Yes, I wrote a report on that during school. In the children's clinic they explained it like this: The CFTR channel is like a door and people with CF don\u2019t have that many doors and some of the doors are broken. The medication makes more doors that function." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What changed when you started taking the modulators? ", a: "Everything. Most of symptoms are minor now and I have a better lung function and quality of life. I even grew taller." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Did you formerly take other medication?", a: "I don\u2019t remember anything like that, but I also always had good medical care. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you experience any side effects from your medications?", a: "At first yes, a lot. Stomach cramps and difficulty breathing for example." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Is diabetes a concern of yours?", a: "Yes, it is common. I have to go to a diabetes checkup once a year. That happens together with all the other checkups like sonographies." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you know fellow patients that took part in clinical study for gene therapy or at least thought about doing so?", a: "I know no one that took part in one but definitely people who would like to do so." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you know other patients that would want to use gene therapy?", a: "Yes, most definitely." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Since your sweat is different, do you have trouble with your temperature regulation?", a: "No and I do not know any patients with an issue like that. But it still is uncomfortable in the summer, because the sweat is thick, and it can smell stronger, too." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How many hours a day are devoted to your illness?", a: "Good question, but wrong patient. I am blessed with good health while other people my age may have to be on a ventilator. I currently only have to inhale for 20 minutes every day, take my medication and be conscious about hygiene. I would say 30 minutes a day. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "That means you do not have many limitations due to CF, is that right?", a: "Yes. There are many things I am concerned about but often there is not a different way." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What are some of the limitations you do have?", a: "Of course, I am still concerned about my health and using public bathrooms for example. And I still do not go swimming in lakes and things like that. But all in all, I feel like I can live a very normal life. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "One concern is hygiene. Our university for example does not have toilet seats in most bathrooms. Do you think there should be?", a: "That does not concern healthy people, who are the majority. But specifically for CF-people? No, there are too few at the university. It would be more hygienic overall, though. A \u201CCF-toilet\u201D would be nice as a form of a disabled bathroom." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How was your childhood as a sick child and how did your parents act with you? ", a: "My mother is active in the Muko e.V. and has been for some time. My parents always lead by example about what to do and not to do and dealt with it in a good way. My mother was always very committed and involved in giving me good care. I always knew about my illness but felt it was not that bad, because I received good care and education about my illness." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What is a typical age for a diagnosis in your experience?", a: "Somewhere between the pregnancy and one year. It is obvious if the children do not gain weight and there are genetic screenings one can do prenatally or after birth. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "If a diagnosis is possible during pregnancy, do you know of any treatments during pregnancy?", a: "No, I think the youngest age for modulators is 3 years. But people can do genetic testing and counselling before pregnancy." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What does a high-fat diet entail?", a: "For me, it was a lot of oil and butter and high-calory drinks. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "What would happen if you stopped taking your medications?", a: "The first thing to happen would be heavy and dry coughing, because the mucus would not be removed properly anymore. Thus, bacteria would not be properly removed from the lungs anymore either and an infection would become more likely. And I would not be able to really process food anymore, so no nutrients, feeling weak and stomach problems. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Physical therapy is a part of your treatment \u2013 what exactly do you do there? ", a: "Breathing exercises and training my lung volume to keep it on the same level.\xA0" }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you have further wished for your therapy?", a: "Not really. I am very lucky and am free of heavy symptoms on most days. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Is that the norm or do you know people who do want new therapies?", a: "No, there is a need for new therapies. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are these people with different mutations or worse health? ", a: "I don\u2019t know, the progression is so individual, and infections can create big changes. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "A therapy for which organ would benefit most people that have worse health than you do?", a: "Probably the lung. The pancreas is important too, but stomach problems are usually less pressing than difficulty in breathing." }), - /* @__PURE__ */ jsx70(QaBox, { q: "You mentioned that doing sport is difficult with CF, why?", a: "Hygiene. In the lockers and the showers but also with the equipment." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you feel restricted in your free time activities?", a: "No, I always had good alternatives. For example, going swimming at an open-air swimming pool instead of a lake. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Would you have more freedom when you are better protected from Pseudomonas spcc. and other potential infections? ", a: "Definitely. That is a big increase in the quality of life and that is a win. It also changes the picture people have of the illness. Of course being protected by prevention is good already but effective therapies for infections increase the sense of freedom even more. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "You said you are afraid every time you must go for a swab, why is that? ", a: "I am afraid of getting an infection. That still could be a death sentence. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are rooms with air conditioning a problem due to the possible germs in the air conditioners? ", a: "No, there is usually enough movement. But humidifiers are bad because of the pond water. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "You mentioned going to the hairdresser is problematic. Could you elaborate? ", a: "There are many possible sources of ponding water and with that, infections. That and the hygiene aspect in general. I am visited by my hairdresser, and he only uses a specific spray bottle to wet my hair that I keep and dry thoroughly between uses." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are you the first person in your family that has CF? ", a: "Yes. But I suspect my father has a light or atypical form because he has suspicious mucus." }), - /* @__PURE__ */ jsx70(QaBox, { q: "With life expectancies looking better, do many patients want to have biological children?", a: "Not all but some. I think some would be interested in a therapy that can be done on the fertilized egg to have a healthy child. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you know the film \u201CFive feet apart\u201D? If so, what do think about it, is it accurate? ", a: "Yes. It does not paint a wrong picture; their progression is possible." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you think there has to be more effort concerning diagnostics?", a: "Early diagnosis is covered by the screenings." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Since you almost had to sue for your medication, do you know if there are any lawyers specializing in cases like this? ", a: "No, I don\u2019t. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are most of the other patients you know in good health like you?", a: "No. Another boy my age got a fungal infection and does not have long time left to live. " }) - ] }), - summary: "We reached out to Max, a friend of a teammate, to gain insights into the needs and experiences of CF patients. Our discussions revealed the challenges faced by CF patients, even those in relatively good health, and emphasized the ongoing need for new treatment options. Max's candid sharing of his experiences highlighted the limitations of current modulators, the importance of lung function, and the impact of treatments on quality of life. This meeting transformed our project perspective, urging us to prioritize safety and real-world benefits in our design. Ultimately, Max's influence led us to focus on lung-targeted gene therapy instead of a diagnostic approach, reinforcing our commitment to Integrated Human Practices.", - months: "April" - /*interview:<iframe title="Bielefeld-CeBiTec: Interview with Max Beckmann (2024) [English]" width="560" height="315" src="https://video.igem.org/videos/embed/16501867-a687-4205-949a-51ead876e109" frameborder="0" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups allow-forms"></iframe>,*/ - }, - { - vorname: "Visiting ", - nachnname: "the Hannover Messe", - pictureurl: pics["hannovermesse"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Industry", - heading: "Two teammembers visited the fair to talk with potential stakeholder and sponsors", - interviewtabid: "hannovermesse", - cardtext: "", - quote: "Visiting Hannover Messe was inspiring! We connected with industry leaders and discovered exciting innovations in synthetic biology that could shape our future projects.", - quoteNachname: "St\xF6ckl, Teammember", - quoteVorname: "Vincent", - summary: "Our team members Liliana Sanfilippo and Vincent St\xF6ckl had a productive visit to the Hannover Messe, focusing on synthetic biology and research advancements. They explored innovative technologies and networked with potential sponsors, gaining valuable insights to help enhance our project and drive future developments. The event was a great opportunity to connect with industry leaders and learn about cutting-edge solutions in the field.", - months: "April", - pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/hp/hannover.webp" - }, - { - title: "Prof. Dr.", - vorname: "Kristian", - nachnname: "M\xFCller", - job: "Research Group Cellular and Molecular Biotechnology", - affiliation: "Technical Faculty of Bielefeld University", - pictureurl: pics["kristian"], - tag: "Academia", - heading: "Discussion about the delivery method- AVV vs. LNPs and prime editing and gene therapy innovations", - interviewtabid: "kristian", - cardtext: "", - language: "de", - quoteNachname: " M\xFCller, Reasearch Expert for Gene Therapy ", - quoteVorname: "Prof. Dr. Kristiann", - quote: "AAVs have been widely used in gene therapy, but their scalability and immunogenicity pose challenges, particularly when re-dosing is required. In contrast, LNPs offer a promising alternative, with a higher packaging capacity and lower immunogenicity. While AAVs excel in targeted delivery, LNPs could become a more scalable and cost-effective solution for delivering gene-editing tools in the future.", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "The aim of our interview with Prof. Dr. Kristian M\xFCller was to gain expert insights into the potential of prime editing technology and its application in gene therapy, particularly for treating CF. We sought to understand how innovations in prime editing, combined with optimized delivery systems, could enhance therapeutic outcomes. Prof. M\xFCller\u2019s expertise in molecular biology and gene editing provided valuable perspectives on the opportunities and challenges in developing precise, efficient, and safe treatment strategies for genetic disorders." })], - insights: [/* @__PURE__ */ jsx70("p", { children: "During the interview, Prof. Dr. M\xFCller highlighted the growing importance of prime editing as a powerful tool for gene therapy. Unlike traditional CRISPR-Cas systems, which often result in double-strand DNA breaks, prime editing allows for precise single-strand cuts, minimizing off-target effects and enabling more specific genetic corrections. This technology opens up new possibilities for treating diseases with known mutations, such as cystic fibrosis. Prof. Dr. Kristian M\xFCller emphasized the critical role of delivery systems in the success of gene therapies, particularly in the context of CF treatment. Two primary delivery mechanisms were discussed: AAVs (Adeno-associated viruses) and LNPs (Lipid nanoparticles), each with distinct advantages and limitations. AAVs are a well-established vehicle in gene therapy, having been used successfully in various approved treatments. They are highly efficient at delivering genetic material to target cells, especially in well-characterized diseases like CF. One of their key strengths is their ability to precisely target specific tissues, making them particularly valuable for lung delivery in cystic fibrosis. However, AAVs come with notable challenges, primarily their limited packaging capacity (approximately 4.5 kilobases), which constrains the size of the genetic payload they can carry. Additionally, AAVs can elicit immune responses, particularly when multiple doses are required, posing a barrier to their long-term use. On the other hand, LNPs offer a scalable and re-dosable alternative. LNPs have the advantage of a larger packaging capacity, allowing them to carry more complex genetic instructions or larger gene-editing tools, such as prime editors. They are also easier and cheaper to produce on a large scale, making them an attractive option for widespread clinical applications. A significant benefit of LNPs is their lower immunogenicity, which reduces the risk of adverse immune reactions upon repeated dosing. However, LNPs currently face challenges in specific targeting compared to AAVs. AAVs have a higher precision in targeting specific tissues, while LNPs still need optimization for targeted delivery to areas like the lungs." })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "Prof. M\xFCller\u2019s insights directly inform the implementation of our iGEM project, where we aim to design novel prime editors that are small enough to be delivered efficiently, while also exploring LNPs[LINK Cycle Delivery] as a scalable and re-dosable alternative to AAVs. By tailoring our approach to address the specific challenges of CF, such as mucus penetration and lung cell targeting, we can enhance the precision and efficacy of gene therapy. These innovations have the potential to set new standards in the field and contribute to broader research on genetic disease treatment." })], - summary: "In our interview with Prof. Dr. Kristian M\xFCller, we explored the revolutionary potential of prime editing as a next-generation gene editing technology. Prof. M\xFCller highlighted the advantages of prime editing over traditional CRISPR-Cas systems, particularly its ability to make precise genetic modifications without double-strand breaks, thus reducing off-target effects. He emphasized the importance of optimizing delivery systems, such as AAV and LNPs, and discussed the ethical considerations and biosafety measures crucial for advancing gene therapy. The interview underscored the significance of cystic fibrosis as a model disease, given its prevalence and the potential for impactful treatments through targeted genetic corrections.", - months: "April", - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70("iframe", { title: "Bielefeld-CeBiTec: Interview M\xFCller AAV vs LNP (2024) [English]", width: "560", height: "315", src: "https://video.igem.org/videos/embed/0613b6b8-7755-4373-9d86-9910fe30781f", frameBorder: "0", allowFullScreen: true, sandbox: "allow-same-origin allow-scripts allow-popups allow-forms" }), - /* @__PURE__ */ jsx70("p", { children: "This interview was recorded on video at a later date." }) - ] }) - }, - { - vorname: "Looking for expertise", - nachnname: "", - pictureurl: pics["placeholder"], - tag: "Milestone", - heading: "Identifying key experts in cystic fibrosis and prime editing", - interviewtabid: "experts", - cardtext: "", - quote: "", - aimofcontact: "", - insights: "", - implementation: "", - type: "meta", - summary: "", - months: "April" - }, - { - vorname: "Visiting ", - nachnname: "the Labsupply in M\xFCnster", - pictureurl: pics["labsupply"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Industry", - heading: "Two team members connected with prospective stakeholders and sponsors.", - interviewtabid: "labsupply", - cardtext: "", - quote: "LabSupply in M\xFCnster was a fantastic opportunity to connect with passionate professionals and explore cutting-edge research tools. We're excited about the potential collaborations ahead!", - quoteNachname: "Sanfilippo, Teammember", - quoteVorname: "Liliana", - summary: "In April our team visited LabSupply in M\xFCnster, where we had the chance to connect with many welcoming and knowledgeable professionals in the lab equipment field. It was an excellent opportunity to explore the latest advancements in laboratory supplies and tools that can enhance our research.", - months: "April", - pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/hp/labsupply.webp" - }, - { - vorname: "Prof. Dr. Wolf-Michael Weber", - nachnname: "und Dr. J\xF6rg Gro\xDFe-Onnebrink", - job: "Professor ", - affiliation: "Univesity M\xFCnster", - pictureurl: pics["weber"], - tag: "Academia", - heading: "Feedback Session with Experts for Cystic Fibrosis Treatment", - interviewtabid: "weber", - cardtext: "", - language: "en", - quote: "This is also an innovative step that you have developed yourselves. That's the part that's really new and significant. A clever and exciting approach with great potential.", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "The aim of the interview was to gain expert insights on optimizing the delivery of CFTR-mRNA via lung-targeted lipid nanoparticles (LNPs) for cystic fibrosis (CF) treatment. Specifically, the goal was to explore potential cell targets, challenges in delivery mechanisms, and technical tools for assessing the effectiveness of mRNA therapies like the Ussing chamber system. " })], - insights: [ - /* @__PURE__ */ jsx70("p", { children: "The experts highlighted the potential of targeting ionocytes, given their key role in CFTR expression, but emphasized the difficulty in accessing them due to their basal position in the respiratory epithelium. While Prof. Weber found ionocytes to be an intriguing target, Dr. Gro\xDFe-Onnebrink pointed out that there is still limited understanding of their exact role in CF pathology. Both stressed the challenge of penetrating the mucus barrier in vivo, particularly when using air-liquid interface cultures, and underscored the importance of optimizing particle size to ensure effective delivery to the deeper regions of the lungs. Prof. Weber also emphasized the need to test whether the system can still transfect cells in the presence of mucus. " }), - /* @__PURE__ */ jsx70("p", { children: "It was suggested to use the Ussing chamber to assess the effectiveness of the delivery system and therapeutic mRNA, though they noted certain challenges with this technique. We also discussed alternatives like organoids, which offer only indirect measurements of CFTR function, and patch clamping, which, though more precise, is a more complex and expensive method. Additionally, Prof. Weber recommended exploring chitosan-based delivery systems due to their success in his previous work, suggesting they could be a safer alternative to PEG-lipid systems, which had shown issues with cytotoxicity. " }) - ], - implementation: [/* @__PURE__ */ jsxs46("p", { children: [ - "These insights helped refine our iGEM project in several key ways:", - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsx70("li", { children: "Cell Targeting: We decided to continue exploring ionocytes as a target but acknowledged the technical hurdles involved. We also expanded our focus to include multiple cell types to test different delivery systems. " }), - /* @__PURE__ */ jsx70("li", { children: "Delivery Systems: We began investigating chitosan-based nanoparticles as a safer alternative to PEG-lipid systems. The suggestion to optimize particle size and delivery for inhalation was also integrated into our design. " }), - /* @__PURE__ */ jsx70("li", { children: "Experimental Tools: Based on the discussion, we plan to use an Ussing chamber to measure overall CFTR function in different cell types but will also explore organoid-based approaches for preliminary testing. Additionally, we consulted the medical faculty on the possibility of using patch clamping for more detailed measurements of successful transfection and restored CFTR function. " }) - ] }), - "," - ] })], - summary: "The interview provided key insights into targeting ionocytes for CFTR-mRNA delivery, overcoming mucus barriers, and testing delivery effectiveness using Ussing chambers, organoids, and patch clamping, while also suggesting chitosan-based nanoparticles as a safer alternative to PEG-lipid systems.", - months: "may" - }, - { - title: "Dr.", - vorname: "Cristian-Gabriel", - nachnname: "Olariu", - job: "pediatrician", - affiliation: "OWL University Hospital", - pictureurl: pics["olariu"], - tag: "Medical Professional", - heading: "Discussion with a pediatrician and his former patient about treatment challenges and perspectives", - interviewtabid: "olariu", - cardtext: "", - language: "de", - quoteNachname: "Olariu, Clinical Physician and CF Expert", - quoteVorname: "Dr. Cristian-Gabriel", - quote: "For most families, it\u2019s a shock. Cystic fibrosis still has a strong association with being a life-threatening disease, despite the fact that we now have good treatments, and many patients can live healthy lives. The diagnosis puts a huge psychological strain on the family, especially when dealing with very young children.", - aimofcontact: "To gain a deeper insight into the path to diagnosis, we invited pediatrician Dr. Cristian-Gabriel Olariu from the University Department of Pediatrics and Adolescent Medicine to share his experiences with CF patients with us. We interviewed him because of his expertise in the effects of diagnosis on the patient and the family members, but also on daily life. Additionally, we want to close the gap and create a bridge between academic research and clinical applications. Therefore, Dr. Olariu gave us insights about the clinical perspectives on CF patients.", - insights: [ - /* @__PURE__ */ jsxs46("p", { children: [ - "We invited Max, our CF patient contact, to join Dr. Olariu in discussing the intersection of academic research, clinical application, and patient needs. Through our connection with ", - /* @__PURE__ */ jsx70("a", { href: "https://www.cfvww.org", children: "CF Vests Worldwide" }), - ", an organization dedicated to providing life-saving therapy vests to cystic fibrosis patients globally, we gained insights into the challenges faced by CF patients, particularly in regions like Thailand, where access to advanced treatments and medical devices is limited. The conversation highlighted the critical role of early diagnosis and intervention, as well as the quality-of-life challenges many patients endure due to conventional treatments that may not be effective for everyone. Innovative approaches, such as our SORT LNP (lipid nanoparticle) delivery system, present promising alternatives for CF therapy. This system, which allows for RNA encapsulation and administration via dry spray inhalation, could revolutionize treatment by targeting lung cells more effectively, particularly in resource-limited settings. Dr. Olariu underscored the need for psychological support and coordinated care for CF patients, emphasizing that novel therapies like LNP-based gene treatments have the potential to improve treatment efficacy and accessibility, ultimately reducing the lifelong burden of care for patients and their families. " - ] }), - , - /* @__PURE__ */ jsx70("p", { children: "We have considered the extent to which an early diagnosis is always an advantage, as some parents perceive an early diagnosis as an additional burden and would prefer to experience the first years of their child's life without constant medical intervention. Especially when there are cases in which patients only show a clear clinical picture at an advanced age. The psychological burden also lies with the children, who often experience medical trauma because they are involved in such intensive medical care from birth. Additionally, the treatment of cystic fibrosis is very expensive, and the costs are covered by health insurance companies to varying degrees. In some countries, such as the USA, Ukraine or Developing countries, many families cannot afford the necessary treatments. But Dr. Olariu also drew our attention to another problem in the treatment of cystic fibrosis. Infections, especially with bacteria such as Pseudomonas spcc., are difficult to treat and often lead to long hospital stays. Max, our patients\u2019 representative, who knows Dr. Olariu through his treatment, shared his experience with Pseudomonas spcc infections, illustrating the reality of an invisible danger that determines a patient's everyday life. Strict hygiene measures are required to prevent infections, such as wearing face masks in hospital and careful handling of potential sources of infection. The clinics where cystic fibrosis patients are treated work closely with a multidisciplinary team of doctors, psychologists, physiotherapists and nutritionists to ensure that patients receive holistic care. " }), - /* @__PURE__ */ jsx70("p", { children: "Pros of Early Diagnosis and Treatment" }), - /* @__PURE__ */ jsxs46("ol", { children: [ - /* @__PURE__ */ jsx70("li", { children: "Timely Intervention: Prevents severe organ damage and improves long-term outcomes." }), - /* @__PURE__ */ jsx70("li", { children: "Holistic Care: Involves a multidisciplinary team for comprehensive patient support." }), - /* @__PURE__ */ jsx70("li", { children: "Access to Innovations: Allows patients to benefit from advancements like nanoparticle drug delivery." }), - /* @__PURE__ */ jsx70("li", { children: "Family Support: Provides education and resources for effective management from the start." }) - ] }), - /* @__PURE__ */ jsx70("p", { children: "Cons of Early Diagnosis and Treatment" }), - /* @__PURE__ */ jsxs46("ol", { children: [ - /* @__PURE__ */ jsx70("li", { children: "Psychological Burden: May cause stress for parents and children due to constant medical interventions." }), - /* @__PURE__ */ jsx70("li", { children: "Cost Implications: Treatments can be expensive, with varying insurance coverage, leaving many families unable to afford care." }), - /* @__PURE__ */ jsx70("li", { children: "Infection Risks: Patients still face risks from infections like Pseudomonas spp., leading to potential hospitalizations." }), - /* @__PURE__ */ jsx70("li", { children: "Over-medicalization: Continuous focus on treatment can overwhelm families, affecting the quality of early childhood experiences." }) - ] }) - ], - implementation: [/* @__PURE__ */ jsxs46("p", { children: [ - "In summary, our project greatly benefited from the conversation with Dr. Olariu. His insights into the complexities of cystic fibrosis treatment, particularly the significance of early diagnosis, were invaluable and we considered early treatment methods. Max\u2019s personal experiences added a human perspective, illustrating the medical and psychological challenges he faces, including infections with ", - /* @__PURE__ */ jsx70("i", { children: "Pseudomonas spp." }), - " Dr. Olariu highlightend the importance of a multidisciplinary approach, involving not just medical professionals but also psychologists, physiotherapists, and nutritionists for holistic care. This discussion helped us appreciate the balance between timely interventions and the emotional burden on patients and their families, guiding us to develop a more empathetic understanding of living with cystic fibrosis." - ] })], - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "Could you please tell us about the journey that parents go through with their CF-sick children from the first visit to diagnosis and treatment?", a: "Since 2016, cystic fibrosis (CF) diagnosis has been part of newborn screening. This means that we receive many children right after birth whose screening results were abnormal. These children are then sent to us for further clarification. Not every child with an abnormal screening result is sick, so we perform a sweat test, and about one-third of the children are diagnosed with the disease. The advantage of early diagnosis is that we can intervene and start treatment early to prevent organ damage. However, there are also rare mutations where the course of the disease is difficult to predict." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What are the pros and cons of newborn screening for cystic fibrosis?", a: "From a medical point of view, it\u2019s beneficial that we can catch many of these cases early, allowing us to act swiftly. There are even medications for small babies, and early intervention can protect organs, preventing conditions that would require transplants later on. On the downside, because of the wide variety of genetic mutations, some cases we identify may not show significant symptoms until adulthood. This creates a dilemma, as we can\u2019t predict how their condition will progress, but we still start treatments early, which can be stressful for families." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Can you give us an example of how this stress impacts families?", a: "Yes, I\u2019ve been caring for a patient from birth who is now five years old and doing very well. However, from the beginning, she had to undergo physiotherapy, regular check-ups, and blood tests, even though she hasn\u2019t shown any major symptoms. Her mother once told me she wasn't sure if she would make the same decision again, as the early intervention caused a lot of stress. She wondered if she might have enjoyed the first year of her child\u2019s life more if things had been more relaxed. Now, at age five, nothing significant has changed in her condition, and they\u2019ve decided against starting modulator therapy for the time being." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do families typically react when a CF diagnosis is confirmed?", a: "For most families, it\u2019s a shock. Cystic fibrosis still has a strong association with being a life-threatening disease, despite the fact that we now have good treatments and many patients can live healthy lives. The diagnosis puts a huge psychological strain on the family, especially when dealing with very young children. The most important factor in managing this, aside from medical treatments, is the support from the medical team. It\u2019s critical to have a team that works well together, not just a single doctor calling all the shots. Families often need much more psychological and nutritional support early on than medical intervention, and this is where having a multidisciplinary team becomes essential." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What is the process for diagnosing and treating older patients who haven\u2019t been through newborn screening?", a: "Older patients who come to us with complaints may not have undergone newborn screening, so they are diagnosed based on their symptoms. These complaints can range from mild to severe and are often non-specific, like chronic cough or failure to thrive. When the cause of these symptoms isn\u2019t immediately clear, we do a sweat test. Once diagnosed, we can start treatment, which often involves working with a psychologist to help the family process the news." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do you support families during the initial shock of diagnosis?", a: "When the diagnosis is particularly difficult for families to process, we sometimes have the patients stay in the hospital for up to a week. This gives us time to meet with them daily, answer questions, and provide guidance. During the first consultation, families often fall into a state of shock, and no matter how carefully the doctor explains things, it\u2019s hard for them to absorb all the information. Meeting with them again over the following days helps, and we have specialists in hygiene, physiotherapy, and social counseling on the team to offer holistic support." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What happens if a child gets infected with Pseudomonas or another bacterial culture in the lungs?", a: "Pseudomonas is one of the most feared infections for CF patients. It\u2019s a common environmental bacterium that is difficult for CF patients to clear from their lungs. Once we detect it, we treat the patient with specific antibiotics, often through intravenous delivery over two weeks in the hospital. After the initial treatment, patients may continue with inhaled antibiotics for several months to prevent further infection. It\u2019s a very intensive process, taking a lot of time and energy, and even though we may get rid of the infection a few times, eventually the germ can become resistant and stay in the body." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are there any preventative measures to avoid Pseudomonas infection?", a: "Yes, there are hygiene measures. For example, CF patients always wear masks in the hospital to avoid infection from other patients. But it\u2019s difficult to avoid Pseudomonas entirely since it\u2019s found in stagnant water and other places in the environment. We advise patients to be cautious with water sources like sinks or ponds. However, we need to balance strict hygiene with quality of life, especially for children, as being overly strict can lead to obsessive-compulsive behaviors without necessarily reducing the risk of infection." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do some families resist the medical advice on preventing infections?", a: "On an emotional level, I feel that families who take calculated risks to improve their quality of life tend to cope better. Overprotection can lead to greater psychological stress. However, I don't have enough experience to say for sure whether those who don\u2019t protect themselves as strictly get infected earlier or suffer worse outcomes. It\u2019s also worth noting that new therapies are now available that help reduce infection risks, allowing for a bit more freedom, especially for children." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How often do patients need to be tested for infections like Pseudomonas?", a: "The official guideline is every two months, but realistically we aim for every 3-4 months. Regular testing is important because Pseudomonas can be present without symptoms. If too much time passes before detection, it becomes harder to remove the infection." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do you manage chronically infected patients?", a: "Patients who are chronically infected with Pseudomonas don't stay in the hospital indefinitely. They usually remain at home, inhaling antibiotics daily and taking physiotherapy to help clear mucus from their lungs. Intravenous antibiotic therapy is reserved for more severe cases or during clinical deterioration." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are chronically infected patients allowed to visit your practice?", a: "Yes, chronically infected patients are allowed to visit the practice. We try to schedule them at different times to avoid contact between infected and non-infected patients, and we often use separate rooms to minimize risk." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How often do children and adults need to have lung function tests?", a: "You can\u2019t conduct a good lung function test until the child is around five years old. After that, it becomes part of the routine check-up because it\u2019s non-invasive and provides a good indicator of lung health. We see children every three months, and I believe the protocol is the same for adults." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What do you think about support groups or health retreats for CF patients?", a: "Support groups are extremely important. Although we are a good medical team, advice from peers often resonates more with patients. We\u2019ve organized two parents' evenings recently, where parents can exchange experiences and support each other. Unfortunately, we can\u2019t invite the children themselves due to the risk of infection, but in rehabilitation settings, they can meet in germ-specific groups and benefit from shared experiences." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Is there a risk of antibiotic resistance with repeated treatments?", a: "Yes, resistance is a concern, especially with repeated antibiotic treatments. However, there\u2019s often a discrepancy between what we see in lab tests and the clinical outcomes. Even if a germ shows resistance on paper, many patients still respond well to treatment. We base our decisions more on clinical outcomes than lab results, changing antibiotics only if the patient\u2019s condition doesn\u2019t improve." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are there any side effects to the medications?", a: "Yes, all medications have potential side effects, though many of them are minor, like rashes or stomachaches. One serious side effect of some antibiotics is hearing damage, which can lead to lifelong hearing loss. This is why we closely monitor patients in the hospital when starting treatments. The newer therapies, like modulators, can cause liver stress, so we regularly check liver enzymes in the blood. However, severe side effects are rare, and the drugs are generally well tolerated." }) - ] }), - pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/hp/interview-olariu.svg", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/olario-abbildung1.svg", - summary: "We interviewed Dr. Cristian-Gabriel Olariu to gain insights into the diagnosis and treatment of cystic fibrosis (CF). He highlighted the importance of early diagnosis through newborn screening, which allows for timely intervention but can also be perceived as a burden by families, especially when symptoms may not manifest until later. Dr. Olariu emphasized the emotional and financial challenges families face, particularly regarding costly treatments and insurance variability. Patient contact Max shared his experiences with infections like Pseudomonas spp., which complicate care and necessitate a multidisciplinary approach involving medical professionals, psychologists, and nutritionists. Overall, the discussion underscored the need to balance medical interventions with the emotional well-being of patients and families, guiding us toward a more compassionate understanding of living with CF.", - months: "may" - }, - { - vorname: "Exploring new ideas", - nachnname: "x", - pictureurl: pics["placeholder"], - tag: "Milestone", - affiliation: "", - heading: "Further brainstorming on approaches", - interviewtabid: "brainstorming", - cardtext: "", - quote: "x", - quoteNachname: "x", - quoteVorname: "d", - aimofcontact: "d", - insights: "d", - implementation: "d", - type: "meta", - summary: "d", - months: "may" - }, - { - vorname: "Katrin", - nachnname: "Westhoff", - job: "Physiotherapist", - affiliation: "Independent", - pictureurl: pics["westhoff"], - tag: "Medical Professional", - heading: "Interview with a specialized physiotherapist regarding breathing therapy for cystic fibrosis patients", - interviewtabid: "westhoffinv", - cardtext: "", - language: "de", - quoteNachname: "Westhoff, Physiotherapist", - quoteVorname: "Katrin", - quote: "The more we know, the more opportunities we have.", - aimofcontact: "The objective of the contact was to gain in-depth insights into the treatment and care of children with CF. The therapist's expertise was intended to help develop a better understanding of the challenges and necessary measures in the treatment of this chronic disease. In addition, the aim was to ascertain how the therapy is implemented in everyday life and which specific approaches and methods are particularly effective.", - insights: "The interview yielded valuable insights into the regular implementation of the therapy, the use of aids and the adaptation of exercises to the individual needs of the patients. It was notable that the therapy has improved over the last years, considerably thanks to better medication and adapted exercises, with a concomitant increase in life expectancy for children affected by CF. Of particular interest was the emphasis on the importance of sport and exercise, which should not only be therapeutically effective, but also increase quality of life. ", - implementation: "The following statement by Katrin Westhoff had a particular impact on our project: \u2018The more we know, the more options we have\u2019. We learnt from the interview that the current medication is already helping many patients very well, but that there is still great potential for improvement. Successful gene therapy would significantly improve the quality of life of CF patients. We implemented the findings from this interview in our participation in MukoMove - we also actively took part in cystic fibrosis awareness month and learnt even more about the importance of physiotherapy.", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/katrin-westhoff-zoom.webp", - summary: [/* @__PURE__ */ jsx70("p", { children: "The objective of our discussion with a therapist was to gain a comprehensive understanding of the treatment and care of children with cystic fibrosis. The interview provided invaluable insights into the therapy's implementation, highlighting the significant advancements in medication and tailored exercises that have led to improved patient outcomes and increased life expectancy. A key takeaway was the emphasis on the role of sports and exercise, not just for therapeutic efficacy but also for enhancing overall quality of life. It let to our participation in the CF awarness month and the outreach project mukomove [Link mukomove]" })], - months: "May", - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "From what age do the patients come to you? How long do they stay? How many patients do you treat?", a: "The patients come to us at a very early age. A definite diagnosis is made after 6 weeks at the latest. Once diagnosed, the whole family is genetically tested, and children are sent for physiotherapy, often starting in the hospital. Currently, we have 8 children with CF in our practice, which is relatively small compared to other diseases. We have slightly more CF patients because we specialize in it." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What kind of exercises do you do?", a: "We do a lot of breathing therapy and have attended special training courses for CF that introduced new techniques. The current gold standard is autogenous drainage according to Chevallier, which effectively removes mucus. We follow a general routine: 1. wet inhalation to bind mucus, 2. drainage to expel mucus, and 3. antibiotics to work optimally on clean lungs. We also use special belts for compressing 'magic points' to enhance lung ventilation." }), - /* @__PURE__ */ jsx70(QaBox, { q: "When does drainage start?", a: "We start drainage in newborns to prevent mucus from settling." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are there special exercises that can also be done at home?", a: "Yes, parents are instructed on exercises that can also be performed at home." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How often does the therapy take place?", a: "Therapy usually occurs once a week or every two weeks. Thanks to improved medication, children are now better off. The therapy has evolved significantly, making it easier to cough up mucus and improving life expectancy. Exercise should be enjoyable and a part of daily life from the age of 8 or 9." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What would happen if no physiotherapy was performed?", a: "It\u2019s difficult to predict, but without therapy, children often become more mucousy, leading to worsened ventilation. Specific therapy is crucial, especially during infections." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do you measure success (in terms of lung function test, exercise, etc.)?", a: "Success is measured subjectively by listening to breathing and observing skin color. A well-ventilated lung shows a 'full barrel' appearance, while wheezing indicates poor ventilation. In clinics, lung function tests, CO2 measurements, and 'finger clip' tests are used, though results can be influenced by the child." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do the exercises bring relief or are they preventative for further complaints?", a: "The exercises serve both to relieve acute infections and to prevent further issues. Fewer lung infections reduce the likelihood of mucus adhesions." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are there any tools to perform therapy?", a: "Yes, devices like the 'flutter' or 'cornet' help with exhalation. They create vibrations that loosen mucus in the lungs and should be used by all children with lung diseases." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What complaints do patients bring with them?", a: "Patients typically have lung problems, dry lung mucosa, and pancreatic issues leading to poor metabolism, requiring enzyme therapy before meals. Some children experience growth disorders and less commonly, excessive perspiration." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are pancreatic complaints also treated by physiotherapists?", a: "Pancreatic complaints are rarely treated with physiotherapy, except in cases of inflammation, where patients may be admitted to the hospital. Techniques like massage or kinesiology tape can help with constipation." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are there any special hygiene guidelines for you when working with CF patients?", a: "Hygiene is crucial when treating CF patients. We separate children with and without infections (e.g., Pseudomonas) and enforce strict disinfection protocols. Only children with similar infection statuses are treated on the same day." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are the specific exercises customized? And if so, how do you know which therapy is the right one for which patient?", a: "Exercises are tailored to each patient's situation, focusing on mucus removal and lung ventilation. Each therapist may have their own preferred exercises and techniques." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do patients always go to the same physiotherapist?", a: "Yes, if therapy is effective, patients tend to remain with the same physiotherapist." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How many physiotherapists offer muco-therapy?", a: "The exact number is unknown, but several child therapists in the region provide CF therapy." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How are the relatives educated?", a: "Education often begins in the maternity ward with a sweat test. In G\xFCtersloh, all children are referred to Bethel for immediate CF care. Parents often experience trauma as children can be severely ill despite appearing healthy." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What are the limitations of individual medicine?", a: "Drug effectiveness can vary, and some are only approved from a certain age. Improved medications can significantly enhance quality of life and life expectancy." }) - ] }) - }, - { - title: "Dr.", - vorname: "Michaela", - nachnname: "Bienert", - job: " Scientific Sales Representative for Cell Culture Products", - affiliation: "Stemcell", - pictureurl: pics["stemcell"], - tag: "Industry", - heading: "Longstanding Support from Stemcell Expert in Cell Culture Media and Primary Cell Cultivation", - interviewtabid: "michaela", - cardtext: "", - language: "de", - quote: "x", - aimofcontact: "Our primary goal in reaching out to her was to gain insights into optimizing cell culture media, explore potential sponsorship opportunities for our project, and seek expert advice on handling primary cells in the lab.", - insights: "Throughout our multiple discussions, she offered detailed advice on selecting and optimizing cell culture media for our specific needs, while also connecting us with opportunities for sponsorship. Later in the project, she provided technical guidance on the cultivation and handling of primary cells, ensuring that we followed best practices for cell culture.", - implementation: "Based on her feedback, we refined our approach to cell culture media, enhancing our experimental workflows.Her technical support, as well as the support of Julia Watson helped us to establish our experiments in cellculture. Additionally, her advice was critical during the transition to primary cell culture, helping us secure the necessary resources and expertise for our experiments.", - summary: "We have had the privilege of collaborating with a dedicated expert from Stemcell Technologies, who has consistently supported iGEM Bielefeld. She provided valuable guidance on cell culture media, sponsorship opportunities, and later, practical advice for cultivating primary cells. Her contributions have been instrumental in advancing our project.", - months: "several times", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/daniela.webp" - }, - { - vorname: "Documenting progress", - nachnname: "", - pictureurl: pics["placeholder"], - tag: "Milestone", - heading: "Tracking progress in expert search and idea development", - interviewtabid: "progress", - cardtext: "", - quote: "", - aimofcontact: "", - insights: "", - implementation: "", - type: "meta", - summary: "", - months: "may" - }, - { - vorname: "MukoMove", - nachnname: "", - pictureurl: pics["mukomove"], - tag: "Outreach", - heading: "Moving together for health and hope, our participation in CF awarness month", - interviewtabid: "mukomovehp", - type: "meta", - cardtext: "", - quoteNachname: "Susat, Teammember", - quoteVorname: "Kathleen", - quote: "It was amazing to see how movement can bring people together. I had a great time.", - summary: [/* @__PURE__ */ jsx70("p", { children: "MUKOmove[LINK unten mukomove] is a sports initiative by Mukoviszidose e.V., the German Cystic Fibrosis Association, to raise awareness and funds for cystic fibrosis. Team iGEM Bielefeld participated from May 8th to May 12th, promoting the event at their university and city, encouraging others to join and collect sport hours. They organized a team event at their university, involving sports games to promote community engagement. Their efforts helped surpass their goal of 240 hours, with the team achieving 358 sport hours, while the entire event gathered over 36,000 sport hours. The initiative successfully raised awareness about cystic fibrosis and promoted physical activity as a means of community building." })], - months: "May" - }, - { - title: "M.Sc.", - vorname: "Jan-Phillipp", - nachnname: "Gerhards", - job: "Intern", - affiliation: " Harvard/ Boston Childrens Hospital", - pictureurl: "https://static.igem.wiki/teams/5247/photos/hp/hp-jpgerhards-potrats.webp", - tag: "Academia", - heading: "Discussion on optimizing our pegRNA Design to improve precision in prime editing", - interviewtabid: "JPpegRNA", - cardtext: "", - language: "de", - quoteNachname: "Lenger, Teammember", - quoteVorname: "Malte", - quote: "The interview proved to be invaluable in gaining an initial understanding of the principles of pegRNA design and optimisation, particularly in the context of silent edits.", - aimofcontact: "The aim of the contact was to engage in a discussion about prime editing and pegRNAs, as the Jan-Phillip Gerhards had used these technologies in his internship at the Boston Childrens Hospital. We sought to exchange ideas, gather insights, and explore potential improvements or strategies for our project, leveraging his experience with prime editing tools. His practical knowledge in this field was very valuable for refining our approach and ensuring we were aligned with the latest advancements and methodologies in prime editing. ", - insights: "During our discussion we gained valuable insights that had a significant impact on our project. One of the most important findings was the effectiveness of silent edits, which will enable us to make our PrimeGuide safer. Silent edits change the sequence of bases in the DNA in such a way that the resulting protein remains unchanged, because the genetic code is redundant. This means that different codons can code for the same amino acid. By making silent edits in addition to correcting the CFTR gene, we can prevent the pegRNA from rebinding. We have also learned that the length of the primer binding site (PBS) plays a crucial role in determining optimal results and that it is recommended to keep the PBS temperature close to 37\xB0C. Specifically, PBS lengths of 17nt (38.3\xB0C) and 16nt (36.4\xB0C) were found to be ideal options. For our planned set of 12 samples, it was recommended to use three different PBS lengths (differing by +/- 1nt from that close to 37\xB0C) in combination with four reverse transcriptase template (RTTs) to achieve the best result. Another important finding was the use of non-annotated regions with overhangs for cloning, which could give better results in our experiments. However, we also encountered concerns that circRNA, a covalently closed circular RNA molecule, might be sterically hindered by Cas9, which we need to investigate further. When discussing cloning overhangs, we learned that a base-pair length close to 60\xB0C is optimal. However, the use of a 15nt PBS was not recommended as it has a lower temperature range which could affect performance. Although we still need to confirm the oligonucleotide delivery time, these findings will help us to refine our cloning strategy, optimize PBS selection and improve our overall approach to primer editing, especially in terms of the pegRNA design.", - implementation: "We incorporated the lessons learned from our discussions on prime editing and silent editing directly into our project by refining our approach to gene editing. Based on feedback about the optimal length of primer binding sequences (PBS) and RTTs, we adjusted the design of our pegRNAs to ensure greater precision and efficiency in our experiments. In particular, we learned that using PBS lengths close to 37\xB0C melting temperatures (e.g. 16-17 nucleotides) increased stability, which led us to fine-tune these sequences for improved editing results. The concept of silent editing became an integral part of our safety strategy[Link Biosafety], allowing us to make changes to the DNA more precise. We also revised our cloning strategies by considering the appropriate overhang length, targeting a base pair length near the melting temperature of 60\xB0C to improve cloning efficiency. We also reassessed the practicality of ordering shorter PBS sequences, concluding that lengths shorter than 15 nt were less advantageous due to reduced efficiency. By integrating these findings, we optimised our experimental workflow and made informed decisions about the tools and methods for our prime editing experiments. ", - summary: "We engaged in a valuable discussion with Jan-Phillip Gerhards regarding prime editing and pegRNAs, leveraging his internship experience with these technologies. Key insights included the effectiveness of silent edits, which can enhance the safety of our PrimeGuide by modifying DNA sequences without altering the resultant protein, thereby preventing pegRNA rebinding. We also learned the importance of optimizing the primer binding site (PBS) length to achieve ideal temperatures close to 37\xB0C, recommending lengths of 16-17 nucleotides. Additionally, we discovered the potential benefits of using non-annotated regions with overhangs for cloning, while also recognizing concerns about circRNA steric hindrance by Cas9. These insights directly informed our project, allowing us to refine our pegRNA design and cloning strategies, ultimately enhancing the precision and efficiency of our gene editing approach.", - months: "May" - }, - { - vorname: "Mattijs", - nachnname: "Bulcaen", - job: "PhD Researcher at Laboratory for Molecular Virology & Gene Therapy", - affiliation: "KU Leuven", - pictureurl: pics["mattijs"], - tag: "Academia", - heading: "Discussion with a Prime Editing Expert on Similar Approaches for Different Mutations", - interviewtabid: "mattijsinv", - cardtext: "", - language: "en", - quoteNachname: "Bulcaen, CF Research Expert and Gene Therapy Specialist", - quoteVorname: "Mattijs", - quote: "[\u2026] Prime Editing system is more complex than the canonical CRISPR systems, with more variables that can influence success or failure.", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "Shortly after we decided to use prime editing as the gene editing method for our CF therapy, Mattijs Bulcaen from the Laboratory of Molecular Virology and Gene Therapy at KU Leuven and his colleagues published a paper directly related to our research ", - /* @__PURE__ */ jsx70(TabScrollLink, { tab: "mattijsinv", scrollId: "desc-1", num: "1" }), - ". In contrast to our approach, Bulcaen et al. 2024 targeted other, less common but drug-refractory CFTR-specific mutations (L227R- and N1303K).\u202F " - ] })], - insights: [/* @__PURE__ */ jsxs46("p", { children: [ - "The insights gained from this interview proved extremely valuable in shaping our subsequent mechanistic approaches. At that point in the project we were starting to design the components of our prime editor, but we were lacking a broader overview over the state of the field. Mattijs gave us this insight, mentioning techniques like PE3b systems, dsgRNAs and a talk given by ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "liu", text: "David Liu" }), - ", the principal investigator behind prime editing that helped us to consider further novel advancements in in Prime Editing and include them into our project. He discussed with us the difficulties that might await us when targeting the CFTR F508del deletion and mentioned that insertions of all the edits possible with prime editing are the hardest to make, the recognition of edits in the region might attract mismatch repair systems and the chromatin organization might negatively impact prime editing efficiency. Also, we learned a lot about how to design our pegRNAs, with important inputs being the 3\u2019 stem loop motif trevopreQ1 used by Mattijs in his publication and the suggestion to use prediction tools to evaluate sgRNA spacer cutting efficiency. We reviewed our approach of testing pegRNAs using the PEAR reporter system and Mattjis recommended to use HEK cell lines for screening because of their easy handling and naturally impaired mismatch repair system. " - ] })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "The inputs given by Mattijs directly impacted our design choices for multiple parts of the project. For the pegRNA design, we decided to use the same 3\u2019 motif as Mattijs had used and also, like he suggested, checked our spacer candidates for predicted cleavage efficiency. Also we used HEK cells for screening our pegRNAs. We looked further into PE systems that influence cellular mismatch repair (such as PE4) and tried to include these into our design." })], - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70( - QaBox, - { - q: "We have prepared some questions for you. The first question is: You mentioned that it was quite challenging to target the F508 delta mutation. Could you provide more detailed reasons for why this is the case or explain why this mutation is particularly difficult to target compared to others?", - a: "Yes, that's the million-dollar question. First of all, let me clarify: our group has never directly worked on that mutation because we immediately focused on the drug-refractory mutations, such as nonsense mutations where the protein is not formed, indel mutations, or severe missense mutations that do not respond to modulator therapies. Of course, we know several groups in the field who either work on gene editing or focus on cystic fibrosis (CF). We've heard from some of them who attempted to target the F508 delta mutation. For example, some collaborators really tried to design different guides but were unable to find anything above the detection limit. \n F508del is probably one of the most logical mutations to try to correct, not just for CF but for the entire gene-editing field. If you look at the frequencies of mutations that cause genetic diseases, the F508 delta mutation is by far the most common deletion mutation causing a severe disease. This is because CF, along with sickle cell disease, is one of the most common deadly inherited diseases, and it's overrepresented within CF. So, it makes sense that they would have been trying to target it from the beginning. \n Interestingly, if you read the Prime Editing paper by Anzalone, F508 delta is mentioned in the introduction in connection with CF. So, it's somewhat surprising that after all this time\u2014it's been almost five years now\u2014they haven't published or released anything on F508 delta. \n However, last weekend, there was an online seminar where David Liu gave a talk, and he showed some unpublished data indicating that they managed to achieve quite good Prime Editing efficiency on F508 delta. It's worth noting that David Liu rarely presents unpublished data unless the publication is either accepted or very close to acceptance. So, we all kind of expect that the paper will be published soon, perhaps within the next week or at least within a month. From what I saw, it appears they leveraged many of the approaches available today to enhance Prime Editing. \n Now, regarding your question about why this mutation is so difficult to target with Prime Editing, I can't provide an exact answer. However, I can list some potential difficulties associated with the mutation, and it\u2019s likely that F508 delta is challenging for several of these reasons. For instance, it could be related to the genomic region itself. Writing insertions can be more difficult; the easiest edits are single-point mutations, followed by deletions, and the most challenging are insertions. This difficulty arises because it involves writing a third strand and then relying on DNA damage repair mechanisms to fix it. \n It could also be that the region around the F508 delta mutation is challenging due to flap equilibration or that it attracts pathways such as mismatch repair that negatively impact Prime Editing. Additionally, the chromatin organization around that region could play a role. Over the past year, we\u2019ve gathered clues that chromatin organization significantly affects Prime Editing capability, while this is much less of an issue for Cas9 and base editors. \n Studying this is not straightforward; you would need to conduct experiments like ATAC-seq to determine the chromatin organization around the mutation and how it might interfere. I also noticed on a slide that dsgRNAs were mentioned, though David Liu didn't discuss them in his talk. After looking them up online, I found that this technique, published a few years ago by other researchers, is specifically designed to open up chromatin. It seems they use different guides, without the three-prime extension, to open up the chromatin, which could be one way to overcome the limitations in Prime Editing efficiency. \n There could be other factors as well, and it\u2019s often difficult to predict what will work and what won't. We have prediction tools for Prime Editing guides that work to some extent, but they are not as effective as the prediction tools available for regular CRISPR guide RNAs. This suggests that the Prime Editing system is more complex than the canonical CRISPR systems, with more variables that can influence success or failure. I hope this answers your question somewhat. " - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "That has already been very helpful, thank you for that. We'll consider this and might look into it a bit more. \n Perhaps we could quickly discuss which part of the prime editing complex you think plays the most significant role in making insertions much more challenging compared to deletions. Is it the reverse transcriptase or the RNA? ", - a: "I don't think it's primarily the reverse transcriptase that's the issue. People have shown that longer insertions are definitely possible. I believe the challenge lies in the process when your cell has to repair the new DNA strand, which is generated and exists as a three-stranded intermediate. We don\u2019t directly intervene in this process; it entirely depends on the cell and the DNA damage repair pathways active in those cells. Through expression of dominant negative DNA damage repair effectors, or by nicking the non-edited strand, the outcome can be steered to some extent. \n When you perform an insertion, the new strand must hybridize with the bottom strand, which remains intact. This creates a small loop that needs to be incorporated. At this point, the cell faces two options: it can either revert to the original state or incorporate the edit you\u2019re trying to introduce. In certain circumstances, perhaps due to how the new DNA strand folds or the sequence context of the region of interest, the cell might heavily favor reverting to the original state, resulting in the absence of the intended edit. \n This process is extremely difficult to predict, but there are several indications pointing in this direction. For example, in the case of point mutations, it has been shown that it\u2019s easier to convert a C to a G rather than the reverse, simply due to how these mismatches are recognized by the DNA damage repair mechanisms. This area is very complex, and I don\u2019t think anyone fully understands it yet. It\u2019s also difficult to study. \n I don't believe the rate of reverse transcription is the limiting factor here, although it could play a role for long or structured pegRNAs. You might have already come across this, but the PE6 generation of Prime Editors, which were released about half a year ago, involve engineered or evolved reverse transcriptases that are more processive and can more easily synthesize longer transcripts. \n Another factor that could play a role is the secondary structure of the guide RNA. Each prime editing guide RNA faces a common problem: it has a spacer that binds the bottom strand and a three-prime extension that binds the top strand. Since these two parts of the RNA bind complementary strands, they are also complementary to each other, meaning every prime editing guide has some tendency to bind itself. If the Gibbs free energy is too high, the guide RNA may fold in on itself, preventing it from binding to the prime editor, which then inhibits prime editing. \n Additionally, the three-prime extension itself can fold independently. I haven\u2019t specifically examined this for the F508 delta guides, but it is something that can be predicted. There are tools available that can predict the secondary structure of an RNA sequence, and if there\u2019s a significant hairpin structure, it might mean the three-prime extension remains closed, preventing the reverse transcriptase from using it as a template. The PE6 prime editors have been engineered to be more effective in such scenarios, being less affected by secondary structures and better able to read through them. " - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Yes, exactly, we noticed the same thing when predicting the secondary structure of our guide RNA. As you mentioned, the spacer and the binding site are complementary, so we end up with a really long complementary strand that binds to itself. We were also unsure whether it would open up or remain bound together.", - a: "I think the Liu lab mentioned in the PE6 paper a threshold for the free energy of the guide RNA structure. They suggest that every guide will behave differently, but there\u2019s often a more complex interaction at play than just a simple threshold. If the free energy is not too low, the guide RNA may still function efficiently and be incorporated into the prime editor, with everything remaining in equilibrium. However, if the free energy is too low, meaning high propensity for self-folding, it can cause problems. \n I also recently came across a paper from the group of Keith Joung, another prominent CRISPR scientist from the U.S., where they demonstrated that applying a heat shock to the guide RNA can help it refold. This is particularly relevant if you\u2019re using RNP or mRNA with synthetic guide RNA. They linked this specifically to the self-binding capacity of the guide RNA, suggesting that heat shock can mitigate the issues caused by self-binding. " - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "What would be the application? Would you administer the heat shock in vivo?", - a: "I believe they used it to engineer zebrafish embryos or something along those lines. It\u2019s quite specific, of course. If you plan to deliver your guide RNA through a viral vector or similar method for human therapy, the application would differ significantly. You obviously can't administer a heat shock to humans, so it really depends on the context of your application." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Okay, that's interesting. Given the time constraints, let's move on to the next question. Due to our limited resources, we are targeting a PE2 system, and we'd like to ask if you see any chances of success with this system. If so, how high do you think the chances of success are? We understand that the PE3 system, as shown in your paper, is much more advanced and performs significantly better. But given our situation, do you think our PE2 system could still be effective, or would you suggest that it only makes sense to use something like PE3?", - a: "PE2 can work, but it really depends on your application and the methods you have to assess the editing efficiency. If you can use NGS (Next-Generation Sequencing) for everything, you'll be able to detect edits even with PE2 systems. However, I would generally expect the efficiency to be low. Whenever possible, I would always recommend trying the PE3 system. Could you share what your specific application is, or is that confidential?" - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "So our goal is to eventually use it in vivo, but for now, we're focusing on trying to correct the mutation first in regular cell cultures and then later in primary cells.", - a: "Is your focus specifically on the F508 delta mutation? If so, we could potentially help you get you started, as we already have constructs and cells with that mutation. We would need to discuss the financial aspects, but we might be able to assist. However, are you fully committed to targeting F508, or are you also considering other diseases or mutations?" - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "The timeframe of the project, combined with the fact that we\u2019re all studying on the side, limits us to a certain scope. Since this is our first time tackling a project like this, it makes sense to stick to something more manageable. So, we're somewhat committed to focusing on F508 due to these constraints.", - a: "That's understandable. It can be really tough to juggle a project like this along with exams and studies, especially if you're also involved in competitions. But it's definitely worth the effort, even if you don't achieve huge results right away. The experience and learning, as well as the connections you make, are incredibly valuable. I'm a big supporter of such projects. So, what resources do you currently have? Do you already have cells with the F508 delta mutation, or...? " - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "We have one patient who is willing to provide us with cells, but we don't have them yet. ", - a: "It sounds like you're aware of the challenges, and I don't want to discourage you, but just to be realistic, working with primary cells and getting everything ready could be tricky, especially considering the competition is in October. Experiments in human cells can take time, especially if you need to do multiple iterations or clone constructs\u2014it could easily take a week or more per experiment. \n Regarding the cells we have, as mentioned in our paper, we screened all our guides on HEK cells with an integrated copy of the CFTR cDNA. HEK cells are easy to work with, but they don't naturally express CFTR, even though the gene is present in their genome. So, we introduced the mutation of interest into these cells, making it easier to screen. \n I'm not entirely sure if we can send over the cells due to ethical regulations, which can be complex and time-consuming to navigate. However, there's an alternative approach that might help you. Early on, we found that it's actually quite easy to screen guides using what we call a 'transient target'. In this method, you would transfect all your prime editing plasmids into HEK cells, along with a plasmid containing the CFTR cDNA with the mutation of interest. While this approach isn\u2019t as physiological as editing the chromosome directly, our side-by-side comparisons showed almost equal efficiencies between transient and chromosomal targets. It's much easier and faster than working with patient-derived cells. I can definitely send you the plasmid, which would save you a lot of time and effort. This method is much simpler and could be a practical solution for your project. " - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Our initial plan is to work with a reporter plasmid that expresses eGFP, where we've removed a splice site, until we have patient cells or cell lines with CFTR mutations. This will allow us to screen easily without needing to sequence everything. Do you maybe have any suggestions or advice on this approach? ", - a: "Is that the PEAR system? No, it\u2019s a different one, but we also have a similar system. The advantage of this approach is that you can very easily see if it works, and it\u2019s very sensitive\u2014much easier than extracting and sequencing DNA. The downside, however, is that\u2026 actually, I\u2019m not familiar with the 'flu PEAR system.' \n Actually, we use the exact same system in our lab. It\u2019s very useful for optimizing delivery strategies because it\u2019s easy to see results. The downside, of course, is that the guides you\u2019re using for that system aren\u2019t specific to the F508 delta mutation, right? So, these are scientific trade-offs. You could, for example, design a reporter that uses your F508 delta guide and also results in fluorescence, but you would need to design the reporter first. It\u2019s challenging to prove that it works because you might not have a perfect guide for F508 delta. \n It really depends on what you want to achieve. If your goal is to first check if you can successfully perform prime editing, then using the reporter is definitely a good first step." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "We will edit the plasmid, specifically the vector, so that we have almost the same pegRNA. The only difference will be downstream, behind the edit.", - a: "Is this approach based on a paper from the Netherlands, or is it something you came up with yourself? " - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Based on a paper. ", - a: "Yeah, that sounds like a very good way to start. Do you already have the reporter plasmid ready? " - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Yeah, we bought the reporter, and now we\u2019re making the necessary edits so we can use it. ", - a: "Okay, so do you also already have guides targeting F508 right now? " - } - ), - /* @__PURE__ */ jsx70(QaBox, { q: "We\u2019ve designed some guides, but we haven\u2019t tested them yet. That\u2019s one of our next steps. So, at the moment, we\u2019re just in the design phase, or we have already designed them, and...", a: "Yeah, okay, cool. Good luck with that! And I suppose you\u2019re starting off with HEK cells as well, right?" }), - /* @__PURE__ */ jsx70(QaBox, { q: "We have HEK and HeLa cells, but we haven't decided yet which ones we'll use.", a: "I would start off in HEK cells because, by total accident or coincidence, they are much easier to achieve prime editing in. This is because the MLH1 gene, which negatively impacts prime editing outcomes, is naturally disabled in these cells\u2014they don't produce the MLH1 protein. Of all cell lines available, HEK cells are the easiest to achieve editing with, so I would definitely recommend starting there. In terms of transfection, HEK cells are also very easily transfected. If I can offer another piece of advice, always include GFP controls\u2014plasmids that simply express GFP without requiring editing\u2014and use them to determine your transfection efficiency. It's crucial to have a very high transfection efficiency because you'll be working with a three-component system: your reporter, your prime editor, and your guides. All three plasmids need to be present in the same cell for the editing to occur, so you should aim for at least 70% transfection efficiency, preferably 80% or higher. I don't know what transfection method you're planning to use, but we've always used Lipofectamine 3000. It\u2019s expensive, but it works very well. However, if you're looking for more cost-effective options, we recently discovered two other transfection reagents, Jet Optimus and Jet Prime, which are much cheaper and also work quite well. That said, I would advise against starting with any of the cheaper transfection reagents; you really need to aim for high transfection efficiency. Always make sure to measure and report transfection efficiency for every experiment because if it's low, the experiment might not yield useful results. If you have the funds or resources, I would also recommend designing P3 or even P3b guides, as they might offer better efficiency. When it comes to designing P3b guides, if you're primarily focused on P2 right now, there are some specific considerations to keep in mind. I'll provide you with a site that can help with this, and I'll give you the link in just a moment. So, it's very advisable to check the Doench score. Do you know what it is?" }), - /* @__PURE__ */ jsx70(QaBox, { q: "No, not really.", a: "There are papers by John Doench, an American researcher, from quite a while ago that, in my opinion, are some of the best around. He developed a comprehensive scoring matrix specifically for regular Cas9 that can evaluate the quality of the spacer in your guide RNA. This is important because Cas9 tends to prefer certain sequences over others. For instance, a good spacer should have an appropriate GC content and should avoid hairpins that might cause it to fold in on itself, which would prevent it from functioning properly. You can use this matrix to give a score for the quality of a guide RNA. I\u2019m going to pull up an example here. The site from Synthego, a commercial provider of CRISPR reagents, allows you to check the quality of your guide. When you validate it, the site gives a score based on various factors, including off-target effects, although that might not be your primary concern at the moment. If you hover over a specific area, it will show you the Doench Score, which is crucial. Ideally, you want a guide with a good Doench Score. A good score starts at around 0.4, indicated by a green check mark for good efficiency. If the score is very low, it means that the guide likely has low CRISPR-Cas9 activity and may not be very efficient. When designing prime editing guides, RNA, we always check the spacer for a good Doench Score. If we are designing nicking guides for a PE3 or PE3b strategy, we also ensure that they have a good score. This is one of the easiest tools to check for that. Whenever possible, try using PE3. In some cases, PE3 performs better than PE2, though not always. PE3b might not always work either, but for many mutations, we have seen significant increases in editing efficiency by including the PE3 guide." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Okay, yeah, that was quite clear from your results; the diagram illustrated that very well. Are there more off-target effects when using PE3 since you have to make another cut?", a: "If you decide to use PE3, it's important to be aware that while it's not exactly an off-target issue, there is a risk of an undesired on-target outcome. The concern with regular PE3 is that both strands of DNA can be nicked simultaneously, which can lead to a staggered double-strand break. This can result in the formation of indels (insertions or deletions). In your case, this means that if the region around the F508 delta mutation is broken, the prime editor might not be able to repair it properly, leading to additional base pairs being removed or added, and thus, the sequence might be altered in an unintended way. The risk of on-target indels is definitely higher with PE3 compared to PE2. However, this risk is reduced when using PE3b, which employs sequential nicking. The PE3b nicking guides are designed to recognize the wild-type sequence, and they can only nick the opposite strand if the correction has already been made on the top strand. This sequential action helps to avoid the generation of indels. Introducing a second guide into the system also brings the possibility of off-target editing by that guide however, since only a Cas9 nickase is used, off-target indels should be limited." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Yes, okay, thank you. Do you have time left, or are we out of time?", a: " It's fine." }), - /* @__PURE__ */ jsx70(QaBox, { q: "We have more or less one last question. If it\u2019s not possible, that\u2019s completely fine. We just wanted to ask if you could possibly forward the contact details for the Ussing chamber setup in Paris that you mentioned in your email. Would that be possible?", a: "You can certainly try to contact them, but I actually know that there are quite good labs in Germany that work on similar things. \n One major drawback for you might be the time it takes to differentiate cells. If you harvest stem cells or basal cells from patients, they will have the CFTR gene, but they don\u2019t express it immediately. It takes about four weeks for them to differentiate and start producing the CFTR protein. Without this differentiation, you can't measure the currents, which could slow you down significantly. I'm not sure if you have that kind of time. \n If I can give you one piece of advice: it\u2019s less physiological, but it\u2019s still an accepted assay\u2014try it on organoids. We could actually perform both assays here. If you find guides that work really well, we could consider doing those tests here. Someone could come over, or we could do the experiments if they\u2019re not too expensive and have a good chance of working. I think we wouldn\u2019t mind adding the F508 delta mutation to our list of editable mutations. \n There\u2019s also the possibility that if the paper from the Liu Lab is published within the next month, you could just use the guide they provide, and you\u2019d have a guide that is known to work. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Yeah, so I think if our guides don\u2019t work as well as we hope, this could be an opportunity. We still want to explore optimization of the prime editing system, such as trying different reverse transcriptases or other methods. For now, we\u2019d like to try it on our own, but like you said, it\u2019s good to have this opportunity in case it doesn\u2019t work out.", a: "Yeah, I think working with patient cells is one thing, but just be aware that these models and assays typically take a lot of time\u2014easily half a year, and that\u2019s considered fast to get them up and running. Unless you're in a lab that already has experience with growing organoids, it could be very challenging to start from scratch. \n However, you can always try. The team in Paris that we know very well\u2014they are incredibly kind, world-class experts in what they do, but they are also under a lot of pressure. They use these technologies not only for research but also to diagnose patients. What the French team has managed to do is show that if a patient\u2019s cells respond to certain drugs, the government allows those drugs to be administered to the patient. You can imagine how important these experiments are, as they can directly impact patients' lives, which naturally takes the highest priority." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Yeah, we recognized that too. We talked with the CF team at the University Clinic in M\xFCnster and asked about using their Ussing chamber, but they are really overworked with it. That\u2019s why we reached out to you about it. But it\u2019s completely fine, as we mentioned before.", a: "I'm going to put it bluntly: Ussing chamber experiments, while they are highly regarded and provide valuable data, are a real pain to perform. They are incredibly time-consuming and have a very low throughput. A typical setup has four chambers, so you always need to do repeats. In the best-case scenario, you can test two conditions at a time. If you have a very experienced person, they might be able to run eight samples, but they would have to stay with the machine for four to five hours, maintaining constant attention. With multiple technicians, as is the case in France, you might manage to run 16 samples a day. On top of that, the cells need to be differentiated properly, and you have to know how to handle them correctly. The medium required is very expensive, and working with these cells is almost more of an art than a science. You have to know when the cells look 'happy' or not because you don't want to waste time on cells that aren't in good condition. I've run quite a few of these assays myself, and while they are great for CF work and provide results that are relevant to patient outcomes, they are technically challenging and very demanding. If you want a functional output to show that the CFTR protein is working again, I would recommend starting with one of the easier models, like organoids. We also have in our lab 16HBE cells with a YFP sensor. I don't know if you've heard or read about that. These cells express YFP, which is sensitive to halide ions, including chloride and iodide. When you add a buffer containing these ions to the cells, the YFP intensity quenches. This is something we typically use in our experiments. For wild-type cells, you see a rapid and dramatic quenching because CFTR allows these ions to enter the cells. In cells with the mutation, there\u2019s no quenching because the channel isn\u2019t working. While it\u2019s less relevant because these aren't patient cells, it\u2019s closer to reality. The 16HBE cell line is an airway epithelial line, and the expression of CFTR is endogenous, so it\u2019s not at the exaggerated levels you might see in more artificial models like HEK cells. Using the YFP assay could be a good alternative or a Plan B for getting a functional readout. This assay is medium to high throughput\u2014you can run entire 96-well plates in about half an hour. All you need for this is the cells and a plate reader that can measure fluorescence and inject the buffer. If you don\u2019t have a plate reader with an injection system, you can also manually add the buffer and quickly place the plate in the machine. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Yes, that sounds quite good. I think we\u2019ll definitely consider that as a method. \n If you have a little more time, I wanted to ask about the pegRNA. You stabilized it with a stem loop or some kind of motif in the paper, like the trevopreQ1. Did you test other motifs as well, or...? ", a: "Yeah, there was actually one published before the one from the Liu lab, but we tried that one\u2014I can't remember the exact name, maybe CSX4 or something like that. It didn\u2019t even make it into the main papers, just the supplementary material. The principle was similar, and according to the paper, it should have worked. I tested it on two or three guides, locations, or mutations, but it didn\u2019t work. However, the trevopreQ1 one definitely works. \n Also, something to note is that these motifs become more important when you move to primary cells, where you have fewer guides. In transfection experiments, where you\u2019re essentially flooding the cells with plasmids that transcribe large amounts of these guides, the protection of the three-prime end isn\u2019t as critical. But in primary cells, where there are more nucleases and you likely have less pegRNA due to your delivery method, this protection becomes more important. The paper does discuss the trevopreQ1 one and tMPK knot, but due to time constraints, we only tested one and didn\u2019t look into the other. \n I think the advantage of the one we included in the paper was that they also investigated whether it was necessary to include a linker between the motif\u2014like the trevopreQ1\u2014and the pegRNA with the three-prime extension. For the motif we chose, they found that the linker wasn\u2019t really necessary, whereas it was for the other one. To keep it simple, we chose the one without the need for a linker because, for many sites, the efficiencies were comparable. \n If we had infinite time and resources, it would definitely be worthwhile to test both motifs. The paper did show some examples where one motif was clearly better than the other. But no, we didn\u2019t have the time to explore that further. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Okay. Thank you. But like it's shown in the paper, it worked quite well. Right. Yeah. ", a: "There was definitely added value. When we moved to organoids, the effects of adding that motif were quite dramatic and very clear. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Yes, that was our last question. Thank you so much again for having me. We really appreciate the time you took for us, and also for your very detailed answers and your help.", a: "No problem. My pleasure." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Thank you so much. We will definitely keep you updated on how it goes. Thank you again! ", a: "It was a pleasure" }) - ] }), - references: /* @__PURE__ */ jsx70(MattijsInterviewSources, {}), - summary: "Our discussion with Mattijs Bulcaen from KU Leuven provided critical insights into the complexities of using prime editing for CF therapy. As we began designing our prime editor, Mattijs highlighted challenges specific to targeting the CFTR F508del deletion, including the influence of mismatch repair systems and chromatin organization on editing efficiency. He introduced us to advanced techniques, such as PE3b systems and dsgRNAs, and recommended using the 3\u2019 stem loop motif from his research to enhance our pegRNA design. Additionally, he advised utilizing HEK cell lines for screening due to their ease of handling and reduced mismatch repair activity. These insights directly influenced our design choices and helped refine our approach to developing an effective prime editing strategy.", - months: "june" - }, - { - vorname: "Integrate Insights", - nachnname: "", - pictureurl: pics["placeholder"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Getting Acquainted with Cystic Fibrosis", - interviewtabid: "inisghts", - cardtext: "", - quoteNachname: "K\xF6hler, Teammember", - quoteVorname: "Vera", - quote: "Firstly, we discussed various project ideas, including the use of magnetic microswimmers for targeted medical applications, gene editing approaches for cystic fibrosis, treatments for muscular dystrophy and combating cyanobacteria with algae.", - type: "meta", - summary: "", - months: "june" - }, - { - vorname: "'Der Teuto ruft'", - nachnname: "", - pictureurl: pics["teuto"], - tag: "Education", - heading: "Educational city tour for young and old", - interviewtabid: "teuto", - type: "meta", - cardtext: "", - quoteNachname: "Sahami Moghaddam, Teammember", - quoteVorname: "Asal", - quote: "I had a great time educating the kids about gene therapy and CF in a playful way, and there were some very interesting conversations with the parents.", - summary: [/* @__PURE__ */ jsx70("p", { children: '"Der Teuto ruft!"[LInk zu Teuto unten] is a community event in Bielefeld where iGEM Bielefeld participated to raise awareness about cystic fibrosis (CF) and gene therapy. They engaged children through interactive experiments, such as creating lung models and simulating mucus to help them understand the challenges faced by CF patients. Adults were informed about their gene therapy project and had meaningful discussions about the implications of CF treatment. Collaborating with other institutions like the life science student initiative btS, the team expanded their outreach. Despite changeable weather, the event was a success in educating the public and improving science communication.' })], - months: "June" - }, - { - vorname: "Julia", - nachnname: "", - job: "parent", - affiliation: "independent", - pictureurl: pics["julia"], - tag: "Patient", - heading: "Interview with a CF Parent about their experience and treatment needs", - interviewtabid: "julia", - cardtext: "", - language: "de", - quoteNachname: ", Mother of a CF patient", - quoteVorname: "Julia", - quote: "At first, our world fell apart. I still remember the conversation with the doctor. ", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "We learned from our discussion with ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "maxfirst", text: "Max" }), - " that CF has a profound impact on the whole family \u2013 not just the patient. In order to gain further insight into this subject, we sought to engage with the next of kin of CF patients. We were able to make contact with Julia through the self-help group of ", - /* @__PURE__ */ jsx70("a", { href: "https://www.muko.info/ ", children: "Mukviszidose e.V. " }), - " of which Max is a member. She subsequently reached out to us following Max's request for potential candidates for an interview with a patient group. She and her husband have a six-year-old daughter carrying the F508del mutation in the CFTR gene and a toddler without CF. " - ] })], - insights: [/* @__PURE__ */ jsx70("p", { children: " The interview with Julia shifted our focus to a new group of stakeholders: The patient\u2019s support systems. Most people do not get genetically tested before having children and due to that, many people could get in the position of having a loved one with CF. We considered the societal impacts, such as the rising health care costs, which Nicole Friedlein emphasized during our interview. She explained how the long-term nature of treatment, frequent hospital visits, and the need for specialized medications place a significant financial burden on both patients and the health care system. This insight shaped our understanding of the broader economic challenges faced by families and institutions involved in managing chronic illnesses. Meanwhile, Julia brought attention to the psychological impact, stressing the emotional strain that accompanies not only the illness itself but also the financial pressures. She also showed us more perspectives on parenting of children with CF, than we heard before, and told us about the way from the first diagnosis to growing accustomed to and living with a child with CF. Julia also confirmed that most children will have no issue using an inhalative therapy like we envision our gene therapy to be and shone light onto the comparatively very good situation for CF patients in Germany. " })], - implementation: [/* @__PURE__ */ jsxs46("p", { children: [ - " This interview helped us confirm the delivery method we planned to use as we were previously concerned how and if children would be able to use the inhalative therapy. Besides that, Julia gave us further insights into the emotional side of dealing with CF and we were able to discuss the situation for patients in Germany in comparison to other countries better in later ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "joshua", text: "interviews" }), - ". " - ] })], - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "Can you tell us a bit about your family? How old are your children and yourselves?", a: "I\u2019m 37, my husband is 44, and our daughter is six, turning seven soon. We also have a son who\u2019s about a year and a half." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Does your son also have cystic fibrosis?", a: "No, he doesn\u2019t." }), - /* @__PURE__ */ jsx70(QaBox, { q: "When was your daughter diagnosed with cystic fibrosis?", a: "Right after birth. She was transferred to a bigger hospital due to an intestinal blockage and had surgery. After about two to three weeks in intensive care, the cystic fibrosis diagnosis came through newborn screening. At that time, the results took longer to process than they do now." }), - /* @__PURE__ */ jsx70(QaBox, { q: "That intestinal issue can happen for many reasons, right?", a: "Yes, it was all new to us. The beginning was difficult, but things have gotten better since then, and we\u2019re very grateful." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How did you feel when you first heard the diagnosis?", a: "It felt like our world was falling apart. I still remember the moment\u2014it was like being in a movie. We were told in a separate room, and it felt overwhelming. One doctor even suggested we go home to think about it in peace, but all I could think about was returning to my child. It was a lot to take in, especially thinking about how we\u2019d tell our family." }), - /* @__PURE__ */ jsx70(QaBox, { q: "That sounds incredibly hard. How did you handle it as time passed?", a: "It was tough, but we were fortunate to have a doctor who really understood what we were going through, as he had a disabled child himself. He never scared us unnecessarily and guided us step by step, which made a big difference. We know many families who live in constant fear, but since those first months, we\u2019ve learned to manage the situation without being overwhelmed by fear." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Did any particular support help your family adjust to the diagnosis?", a: "Yes, the rehab program we attended was a huge help. It was a family-oriented program, so my husband could be there too, which was important since I manage most things day-to-day. It really helped our daughter realize she\u2019s not alone\u2014she met other kids with similar conditions, which was a huge comfort." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How did you explain the illness to your daughter?", a: "We try to give it as little attention as possible in daily life. She\u2019s been inhaling medication since she was eight weeks old, and it\u2019s just part of her routine now. Thankfully, she doesn\u2019t fight it or question it much, and her school and kindergarten haven\u2019t made a big deal of it either, which is what we wanted." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Does she ever ask about her illness compared to her younger brother, who doesn\u2019t have cystic fibrosis?", a: "She does sometimes ask why she\u2019s sick and he\u2019s not, but she\u2019s not upset by it. We\u2019ve made sure not to give her any special treatment because of her illness, which can be hard at times, but we want her to understand that her illness doesn\u2019t define her." }), - /* @__PURE__ */ jsx70(QaBox, { q: "That sounds like a good balance. What about medications\u2014did she start on any special treatments?", a: "Yes, she started on Orkambi at around three years old but had to stop briefly due to high liver values. Now she\u2019s on Kaftrio, which she started shortly before her sixth birthday, and it\u2019s been going well." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Did you face any issues with the health insurance for covering these medications?", a: "Fortunately, no. We have statutory health insurance, and they\u2019ve covered everything without any issues. We\u2019ve heard it can be more complicated for those with private insurance." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Have you ever had difficulties with access to medication?", a: "Yes, there have been times when we\u2019ve had to wait a few days for certain medications, like Kreon or antibiotics, especially in the winter. But we always plan ahead and keep a buffer, so we\u2019ve never been without what we need." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What would you say has been the most affected area for your daughter?", a: "Her intestines are the most affected. Before she started Kaftrio, she had fatty stools and frequent bowel movements, even with the right Kreon dosage. Since starting Kaftrio, this has improved significantly." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What kind of support would you have liked to receive earlier?", a: "We wish we had been given more information about available services early on. We found out about Mukoviszidose e.V. from another family, not from our doctor. It would have been helpful to know about these resources right from the start." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How about psychosocial support?", a: "Initially, we didn\u2019t have any psychological support\u2014our doctor took care of everything. Now, where we live, there are more resources, and we think it\u2019s a good thing. The rehab helped a lot in coming to terms with everything. We wish we had known about such services sooner." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Does your daughter do physiotherapy?", a: "Yes, once a week for about an hour. She\u2019s been going since she was discharged from the hospital, and she has a close bond with her physiotherapist. They\u2019ve been working together since she was a baby, and she goes by herself now." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Are there any restrictions for her in terms of physical activities?", a: "No, not really. She does dancing once a week, physiotherapy, and she\u2019s even done a swimming course without any problems." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do you handle communicating about her illness?", a: "We try not to make a big deal of it. When I looked for information, I found what we needed. There\u2019s nothing we\u2019ve really felt was missing." }) - ] }), - summary: "Julia's insights shifted our focus to the support systems surrounding CF patients. She highlighted the societal implications of CF, including rising healthcare costs due to the long-term nature of treatment and the financial burdens faced by families. Additionally, Julia emphasized the emotional strain that accompanies the illness, alongside the complexities of parenting a child with CF. Importantly, she affirmed that most children adapt well to inhalative therapies, reinforcing our planned delivery method for gene therapy. This interview enriched our understanding of the challenges faced by families and enabled us to better compare the experiences of CF patients in Germany to those in other countries.", - months: "june" - }, - { - title: "Prof. Dr.", - vorname: "David", - nachnname: "Liu", - job: " Richard Merkin Professor and director of the Merkin Institute of Transformative Technologies in Healthcare", - affiliation: "vice chair of the faculty at the Broad Institute of MIT and Harvard", - pictureurl: pics["david"], - tag: "Academia", - language: "en", - heading: "Influence of research by David Liu on our design decisions ", - interviewtabid: "liu", - cardtext: "", - quote: "X", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "David Liu is the principal investigator responsible for the development of the prime editing systems and his laboratory is actively working on improving prime editors, also for application in CFTR mutation F508del. " })], - insights: [ - /* @__PURE__ */ jsx70("p", { children: "The talk and papers from David Liu not only introduced advances for prime editors, but also included valuable data for us to decide on which method might work best for our project. Because of this we decided to use an advanced system based on the PE6c and PE4 systems, both of which were published by the laboratory of David Liu. " }), - /* @__PURE__ */ jsxs46("p", { children: [ - "As the principal investigator responsible for the development of the prime editing systems. The initial prime editing system was developed in his laboratory", - /* @__PURE__ */ jsx70(TabScrollLink, { tab: "liu", scrollId: "desc-1", num: "1" }), - "and since then a number of papers on this topic have been published under his supervision. The research conducted by David Liu and his laboratory was the inspiration for our gene editing approach and thus absolutely crucial in the development of PreCyse. Unfortunately, we were not able to talk to David Liu himself or one of his coworkers, but the impact of their publications can be seen in a big part of the mechanism engineering timeline. When speaking to", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "mattijsinv\n ", text: "Mattijs Bulcaen" }), - "in June, he mentioned that David Liu had recently given a talk on recent advances in the prime editing field at the online conference ", - /* @__PURE__ */ jsx70("a", { href: "https://www.genengnews.com/multimedia/the-state-of-crispr-and-gene-editing-2024/", children: "'The State of CRISPR and Gene Editing 2024'" }), - " hosted by Genetic Engineering & Biotechnology News. In his talk, David Liu presented both published as well as unpublished work. One of the most significant takeaways for us were the use of evolved improved and smaller reverse transcriptases in PE6 prime editing systems", - /* @__PURE__ */ jsx70(TabScrollLink, { tab: "liu", scrollId: "desc-2", num: "2" }), - ". We were also very interested in the protein evolution strategies used to create these new enzymes called PACE and PANCE (phage assisted (non-)continuous evolution ", - /* @__PURE__ */ jsx70(TabScrollLink, { tab: "liu", scrollId: "desc-3", num: "3" }), - " and the idea of using this system to optimize our planned new endonuclease domains for the prime editors. We eventually discarded this idea because of time constraints. Apart from that, David Liu presented results from his at this point unpublished paper about CFTR F508del correction using prime editing, which was especially interesting for us considering the goal of our project. When the paper was published on the 10th of July 2024 ", - /* @__PURE__ */ jsx70(TabScrollLink, { tab: "liu", scrollId: "desc-4", num: "4" }), - ", it actually supported some of our already made pegRNA design decisions, such as the choice of the targeted protospacer, the introduction of silent edits and the use of the trevopreQ1 stem loop. Additionally, it offered novel insights into prime editing systems suited for F508del correction, such as PE6, and optimized primer binding site as well as reverse transcriptase template lengths. " - ] }) - ], - implementation: "x", - summary: " David Liu, the principal investigator behind prime editing systems, has significantly contributed to the development of advanced gene editing techniques, including applications for the CFTR mutation F508del. His research provided valuable insights for our project, leading us to adopt a system based on the PE6c and PE4 prime editors. Although we couldn't directly engage with Liu or his team, the impact of his work is evident in our gene editing approach for PreCyse. Notably, Liu's recent talk at the 'State of CRISPR and Gene Editing 2024' conference highlighted advancements such as improved reverse transcriptases and their applications in prime editing. The publication of his findings on CFTR F508del correction in July 2024 further validated our design choices for pegRNA and offered new strategies for optimizing our approach.", - months: "June", - references: /* @__PURE__ */ jsx70(LiuInterviewSources, {}) - }, - { - vorname: "Nicole", - nachnname: "Friedlein", - job: "Research group on fundamental rights", - affiliation: "University Potsdam", - pictureurl: pics["nicole"], - tag: "Academia", - heading: "Discussion on how health insurance companies manage cystic fibrosis patients and gene therapy treatments", - interviewtabid: "nicole", - cardtext: "", - language: "de", - quote: "Public health insurance operates under an economic efficiency principle, meaning the most cost-effective treatments are preferred. But if gene therapies become the only treatment option for certain conditions, they will likely have to be included in the coverage, which could be a challenge for the system.", - aimofcontact: "The main objective of the contact was to learn from the discussion on issues related to cystic fibrosis (CF), gene therapy, health insurance processes and regulatory pathways. In particular, we wanted to understand the real-world challenges and technical aspects of gene editing, especially prime editing, as well as the complexities of approval and reimbursement of gene therapies for CF patients.", - insights: "The regulatory approval process, particularly by the European Medicines Agency (EMA) for advanced medical devices, has highlighted the bureaucratic hurdles that gene therapies must overcome. We learned that such therapies for cystic fibrosis have to navigate complex European and German regulatory systems. The discussion on the AMNOG process was crucial. We learnt that the additional benefit of a therapy is assessed for reimbursement by the statutory health insurance funds. We implemented this insight in our project by considering the long-term regulatory and economic effects as important milestones for therapy development. We also gained insight into how public and private health insurers may differ in their reimbursement of such therapies. Public insurers have stricter guidelines, while private insurers can be more flexible, but both require strict justification, especially for rare diseases such as cystic fibrosis. Information on newborn screening and genetic counselling covered by public health insurance was crucial to understanding how preventive measures for CF are managed. This underlines the importance of early intervention and diagnosis in our project. Atypical forms of CF, where health insurance companies do not cover treatment due to non-standardised test results, were identified as a key problem. This helped us to recognise the need for more adaptable insurance policies and clearer pathways for the treatment of atypical cases in our project plans. The debate about whether healthcare systems can afford the high costs of gene therapies highlighted an important issue in the current medical landscape. We have incorporated this insight into our project by discussing possible cost-effective alternatives and the need for thorough cost-benefit analysis in the development of treatments.", - implementation: [/* @__PURE__ */ jsxs46("p", { children: [ - "After the interview, we further tailored our project to focus on a simple delivery method to reduce the therapeutic effort. To gain an overview of the regulatory requirements and to better deliver the project, one of our team members attended a ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "gxpcourse", text: "GxP course" }), - " to ensure we met all the necessary standards. To deepen our knowledge of entrepreneurship, we conducted further interviews with start-ups and ", - /* @__PURE__ */ jsx70(HPgoToPageAndScroll, { id: "Further Engagement3H", path: "\\human-practices", text: "industrial companies" }), - ", which gave us important insights into practical implementation. These steps ensure that our project is not only based on scientific research, but also takes into account the practical, regulatory and social aspects that are crucial to bringing new CF therapies to the market. We are currently developing strategies to successfully implement our ideas and the project in the future." - ] })], - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70( - QaBox, - { - q: "To start with this interview. Do you have any questions about this project?", - a: "Are you writing a paper on this, or are you conducting actual laboratory research? Or is it primarily literature review? How does your work look?" - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "It\u2019s not just literature review, though we do start with that. We have a lot of lab work ahead of us. Ideally, we would have a finished construct to present at the end, maybe even a functional gene therapy, though that\u2019s quite ambitious and probably not possible in the short time frame. We\u2019re working on various gene-editing approaches and testing plasmids in HEK cells. We are also exploring Prime Editing and trying to improve its efficiency using different reverse transcriptase enzymes. So, it\u2019s a mix of lab work, literature research, and preparing for a presentation at a competition.", - a: "Are you writing a formal paper?" - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "We\u2019re not writing a formal text-based paper, but everything will be available on a website. We will document most of our work on the website, with sub-pages detailing lab work, interviews, and research.", - a: "What exactly is Prime Editing, and how does it differ from altering the germline? Where in the genome does this therapy act?" - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Our current plan is to deliver the therapy via a lipid nanoparticle system, which will be inhaled and go into the lungs. While cystic fibrosis (CF) affects all mucus membranes, the lungs are the most critical area, so we\u2019re focusing on that. The therapy will only target surface cells in the lungs, not the basal cells responsible for producing new lung cells.", - a: "Thank you for giving me insights into your project." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Do you know how cystic fibrosis (CF) approval works in terms of health insurance and regulatory processes?", - a: "The approval process for gene therapies is primarily done through the EMA (European Medicines Agency) under specific EU regulations for Advanced Medical Products, including gene therapies. There is also a national approval process in Germany for individualized treatments, but large-scale therapies must go through the EU process." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Can you share more about the approval and reimbursement processes for CF treatment?", - a: "The approval process is separate from reimbursement by public health insurance. CF is considered a rare disease if it affects fewer than five out of 10,000 people, and treatments for rare diseases often face special reimbursement challenges. If more than five out of 10,000 people are affected, the disease is relatively common, and approval and reimbursement go through a different procedure known as the AMNOG process. For more common diseases, an additional benefit (Zusatznutzen) must be demonstrated during the approval process." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Have you heard about issues with reimbursement from private insurance companies?", - a: "We\u2019ve heard that private insurance companies can make it difficult to get treatments reimbursed, especially experimental ones. One of our colleagues almost had to go to court to get his treatment reimbursed by his private insurer, which was quite expensive. Eventually, he switched to public insurance, but the situation was difficult." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Why did your colleague have issues with private insurance?", - a: "He was privately insured, but the treatment was very expensive, around \u20AC16,000 per month, and the insurance company was reluctant to cover it." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Do you need legal information for your project?", - a: "Both. We want to be well-informed to identify potential obstacles early on, such as legal restrictions or bans on altering certain chromosomes. Although we won\u2019t be running clinical trials, understanding the regulatory landscape is crucial for our future planning." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "How does genetic counseling and testing work for CF?", - a: "Genetic counseling and testing are usually covered by health insurance if there\u2019s a medical reason, such as a family history or suspicion that the parents might be carriers. However, if both parents are healthy and there\u2019s no family history of CF, insurance might not cover the tests." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Are there differences between public and private insurers for genetic tests?", - a: "Public insurance has different regulations than private insurance, but I\u2019m not entirely sure if that leads to different decisions regarding genetic testing. I can look into the public insurance regulations if that would be helpful." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Is newborn screening for CF covered by health insurance?", - a: "Yes, newborn screening is part of a set of health examinations for children and adolescents, regulated under \xA726 SGB V (Social Security Code). Since it\u2019s part of the regular screening process, it\u2019s covered by health insurance without additional requirements." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "How does public insurance handle CF treatment when a test comes back negative?", - a: "Public health insurance works with standardized guidelines, and if a test comes back negative, it may no longer meet the criteria for coverage. However, if a doctor reconfirms the diagnosis, the treatment should continue to be covered." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Is there no rule that says genetic diseases, once diagnosed, should remain covered since genetics don\u2019t change?", - a: "In theory, yes. But the guidelines are usually based on medical evidence at the time, and re-testing can sometimes lead to complications in terms of coverage if the result differs. However, with proper medical documentation, it should be possible to maintain coverage." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Have recent changes in gene therapy costs impacted public health insurance?", - a: "Not much has changed. It\u2019s a political and societal question\u2014how willing are we to finance these expensive therapies? Right now, public health insurance operates under an economic efficiency principle, meaning the most cost-effective treatments are preferred. But if gene therapies become the only treatment option for certain conditions, they will likely have to be included in the coverage, and it could be a challenge for the system. There are also ongoing price negotiations between insurers and manufacturers." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Do patents play a significant role in keeping gene therapy costs high?", - a: "Yes, patents certainly influence the price, but the production of gene therapies is inherently expensive due to the complex research and manufacturing process." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Would private supplemental insurance be an option for covering expensive gene therapies?", - a: "It\u2019s possible that private supplemental insurance could cover these therapies if public health insurance doesn\u2019t. However, this raises concerns about equity and accessibility. If public insurance doesn\u2019t cover it, the burden might fall on private insurance, which could create disparities in access to treatment." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Is gene therapy research driven more by biology or medicine?", - a: "It\u2019s definitely interdisciplinary. Both biologists and medical professionals contribute. For example, at our university, the medical and biology faculties collaborate closely. Biologists usually handle the research, while medical professionals focus more on clinical applications." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Do biologists or medical professionals develop gene therapies?", - a: "In terms of development, it\u2019s mainly biologists and biotechnologists. Medical professionals get involved primarily in clinical trials. Some doctors do research, but they\u2019re often needed in hospitals, so hands-on development is mostly handled by molecular biologists or biotechnologists." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Does research in genome medicine and gene therapies come from biology, medicine, or both?", - a: "It\u2019s mainly interdisciplinary. A lot of funding comes from industry, like BioNTech, or foundations like Mukoviszidose e.V., which funds research on cystic fibrosis. But in terms of practical research, it\u2019s usually biologists or biotechnologists. Without industry support, research can struggle due to a lack of funding, so having backing is essential." - } - ) - ] }), - summary: "Our discussion addressed the complexities of cystic fibrosis (CF) treatments, focusing on gene therapy and health insurance processes. We learned about the regulatory challenges gene therapies face, particularly regarding the European Medicines Agency (EMA) and the AMNOG process for reimbursement assessments. Public insurers impose stricter guidelines than private insurers, emphasizing the importance of early intervention in CF and the need for adaptable policies for atypical cases. We recognized the high costs associated with gene therapies and incorporated cost-benefit analysis into our project planning. Following the interview, we refined our approach to include straightforward delivery methods and attended a GxP course for regulatory compliance. Engaging with start-ups further informed our practical implementation strategies, ensuring our project aligns with both scientific and regulatory needs.", - months: "june", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/zoom-nicole.webp" - }, - { - vorname: "Visiting Achema ", - nachnname: "in Frankfurt", - pictureurl: pics["frankfurtmesse"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Industry", - heading: "Some of our team members attended the fair in Frankfurt to network with industry leaders", - interviewtabid: "frankfurtmesse", - cardtext: "", - quote: "Achema was a great experience. I got to meet a lot of interesting people and learn about their projects. It really motivated me for my own work.", - quoteNachname: "Wiesner, Teammember", - quoteVorname: "Lisa", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "At Achema 2024, we aimed to connect with industry leaders and innovators, to explore potential collaborations and gather insights on laboratory practices. Our goal was to enhance our understanding of cutting-edge technologies and resources in the life sciences sector." })], - insights: [ - /* @__PURE__ */ jsx70("p", { children: "During our time at Achema, we gained valuable insights into life sciences, with a strong focus on LNP production and lab best practices. Our discussions with experts, including Jutta from a life science company, provided us with innovative solutions and cutting-edge techniques. Her insights into current trends helped us better understand how to advance our project." }), - /* @__PURE__ */ jsx70("p", { children: "Through various expert interactions, we deepened our knowledge of LNP production, learning key manufacturing techniques essential for developing effective therapeutics. These insights allowed us to optimize our production methods, ensuring more efficient processes moving forward." }), - /* @__PURE__ */ jsx70("p", { children: "Understanding rigorous quality control processes was another key takeaway, enabling us to implement checks that will boost the reliability and safety of our therapeutics. These comprehensive insights have not only supported our current goals but also prepared us for future challenges, equipping us with the tools to navigate the complexities of research and therapeutic development." }) - ], - implementation: [/* @__PURE__ */ jsx70("p", { children: "Discussions with industry experts have provided invaluable insights into the production of LNPs[LINK LNPcycle], a crucial aspect of our project. We have identified innovative manufacturing techniques and quality control procedures that we can integrate into our processes. This knowledge not only supports our immediate objectives but also positions us to overcome future challenges in developing effective therapies." })], - summary: [/* @__PURE__ */ jsx70("p", { children: "During discussions with industry experts at Achema 2024, we gained valuable insights that will have a significant impact on our project and provide us with innovative manufacturing techniques and quality control procedures that we are now integrating into our workflows. These insights will help us to optimise our production processes to achieve more efficient and reliable results in therapeutic development. The new knowledge supports our current goals and prepares us for future challenges in the development of effective therapies" })], - months: "june", - pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/hp/achema1.webp", - pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/hp/achema2.webp", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/achema3.webp", - more_pictures: ["https://static.igem.wiki/teams/5247/photos/hp/achema4.webp,"] - }, - { - vorname: "Katrin", - nachnname: "Westhoff", - job: "physiotherapist", - affiliation: "Independent", - pictureurl: pics["westhoff"], - tag: "Medical Professional", - heading: "In-Depth Visit to Specialized Physiotherapist for CF Breathing Therapy", - interviewtabid: "westhoffvisit", - cardtext: "", - language: "de", - quote: "Children are the world's best \u201Cmucus hiders\u201D.", - aimofcontact: [/* @__PURE__ */ jsxs46("a", { children: [ - "During the last interview with ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "westhoffinv", text: "Katrin Westhoff" }), - ", she invited us to join a few physiotherapy sessions \u2013 not just as spectators but as participants. We gladly accepted and visited her in her practice. Over a few hours, we took part in four sessions with different children \u2013 not all of them CF patients. " - ] })], - insights: "During the sessions, we could ask Katrin as well as the respective parents and children questions. We learned that breathing therapy is also useful for other illnesses and that you can easily do some of the exercises yourself. Despite having cystic fibrosis, the children were better at the breathing exercises than we and Katrin were! The sessions take 30 to 60 minutes and include both manual therapy and playful elements to help engage the children. Most older children range from mildly unhappy to enthusiastic, but babies often cry during the treatments as it feels uncomfortable. This is often hard on the parents even though the treatment brings good results. A lot of children tend to hide that they have mucus sitting in their lungs by suppressing coughs. Especially with young children, it is important to stay on top of it and do regular breathing therapy even if it seems like it is currently not necessary. We also learned about the various informational material aimed at children to help explain therapies and symptoms to them and what accessories for breathing therapy there are. For example, a flutter is to train breathing out forcefully by breathing against a small weight and a binder can be worn at night to promote deep breathing. ", - implementation: "The most important thing was that both Katrin and the parents agreed that the children were able to inhale at an early age and that there were generally no physical problems with inhalation in general. This reinforced our decision to work towards delivery by inhalation. It was very interesting to see the different ways children deal with their exercises and hear about the progress they made. ", - text: [/* @__PURE__ */ jsxs46("ol", { children: [ - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Robin (>10)" }), - /* @__PURE__ */ jsx70("p", { children: "Robin will soon start 4th grade and takes modulators. Since taking them, many problems have subsided. No regular pneumonia with long hospital stays and the mucus comes out easier. Nevertheless, Robin still goes to physiotherapy regularly to do manual breathing therapy to get the mucus out. Katrin tells us how the mucus changes color the longer it stays in the lungs. The new mucus is white, and the older mucus gets yellow first and then gets darker with time until it reaches a black color. Nowadays, Robin rarely has dark mucus or clumps, but we can still hear the rustling as Katrin starts the autogenous drainage (Autogene Drainage) by pressing on Robin's chest. The goal is to get out the mucus deep in the lungs. To do that, Robin must repeat the routine \u2013 breathing in deeply, holding, breathing out \u2013 multiple times and then cough and spit the mucus out. Sometimes it works, but other times the mucus does not come out easily. While according to Katrin the autogenous drainage is the gold standard, they do other useful exercises, too. For example, pressing the Vojta points (which the children call \u201Cthe magic points\u201D) on the chest to activate a deep breathing reflex and get air into parts of the lungs that may not have been used previously. Or physical activity such as climbing a few steps on a climbing ladder and hanging on it to stretch the thorax muscles." }) - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Sam (<10) & Alex (<10)" }), - /* @__PURE__ */ jsx70("p", { children: "Sam and Alex are siblings and do not have CF but another affliction that causes a persistent cough. They come together with a parent twice a week and do hanging exercises from the ceiling, nasal showers with needleless syringes, and the \u201Cmagic points.\u201D Katrin also checks their lungs for mucus in a similar manner to autogenous drainage. We, too, tried to do the nasal shower, and being a grown-up really does not guarantee being able to do that properly! This highlighted that the children know all their exercises by heart at a young age. On request, their parent told us that the physiotherapy made a big difference for both of them." }) - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Toni (<5)" }), - /* @__PURE__ */ jsx70("p", { children: "Toni has a light version of CF and has been doing physiotherapy with Katrin since shortly after birth. In contrast to most children we met or talked about, Toni refuses medication. Modulators are a possibility, but them and 'everything stinky' is a no-go, even though inhaling would be very beneficial due to the mucus buildup. Most exercises result in crying and screaming, which is very exhausting for the child. Due to the light nature of Toni's variant, they are not in danger, but a permanent therapy would be very beneficial." }) - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Chrissi (>10)" }), - /* @__PURE__ */ jsx70("p", { children: "Chrissi takes modulators and will soon take a trip to a water park with some friends. Katrin teaches us that when the children do not breathe out properly, air stays in the lungs and causes hyperinflation \u2013 with which it is actually harder to float in water! After the manual drainage, Katrin gets all of us glasses with water and dish soap and straws. Blowing bubbles is a playful way to train how to properly breathe out by either trying to blow bubbles as long as possible or trying to make an existing bubble as big as possible!" }) - ] }) - ] })], - summary: "In the visit with Katrin Westhoff, we participated in physiotherapy sessions for children, including those with cystic fibrosis (CF). We observed that breathing therapy is beneficial for various illnesses and learned techniques that can be practiced at home. Sessions last 30 to 60 minutes, combining manual therapy with playful elements. While older children engaged well, infants often found the exercises uncomfortable. Importantly, both Katrin and parents noted that children could inhale without issues from an early age, reinforcing our focus on inhalation delivery methods for therapies.", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/besuch-westhoff/untitled-design.png", - months: "june" - }, - { - title: "Dr.", - vorname: "Marco", - nachnname: "Radukic", - job: "Postdoc at AG Cellular and Molecular Biotechnology", - affiliation: "University Bielefeld", - pictureurl: pics["marco"], - tag: "Academia", - heading: "Optimizing LNP Transfection: Insights into working with LNP Kits", - interviewtabid: "radukic", - language: "de", - cardtext: "", - quote: "After the interview with Dr Marco Radukic, we were able to produce LNPs for the first time.", - quoteNachname: "Wiesner, Teammember", - quoteVorname: "Lisa", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "The primary objective was to tackle challenges in LNP transfection related to manufacturing and cell transfection methods. The focus was on improving LNP formulation and application protocols to enhance gene delivery effectiveness, and on acquiring specialized expertise to optimize these processes. Dr. Radukic from Bielefeld University provided crucial insights for troubleshooting and protocol optimization to enhance LNP efficacy. " })], - insights: [/* @__PURE__ */ jsx70("p", { children: " Dr. Radukic told us that the efficiency of LNPs is significantly affected by lipid-to-nucleic acid ratios and that optimizing ratios like 22:1 versus 10:1 can improve transfection. pH adjustments and buffer composition (e.g., modifying sodium acetate solutions) are also crucial for LNP performance. Proper storage at 4 \xB0C, precise pipetting, and thorough mixing are essential to maintain LNP functionality. In addition, he suggested quality control measures such as fluorescence testing, zeta potential, and light scattering analyses help ensure our LNP is stable. Additionally, spray drying was evaluated for potential use in long-term LNP stabilization. " })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "Incorporating the insights Dr. Radukic and advice from recent consultations, we adjusted the lipid-to-nucleic acid ratio from 22:1 to 10:1 to enhance efficiency and modified the pH and concentration of sodium acetate solutions for better packaging. Storage conditions were strictly managed at 4 \xB0C, and pipetting/mixing techniques were refined to ensure quality consistency. Quality control was expanded to include fluorescence testing, zeta potential measurements, and light scattering, alongside cytotoxicity tests. These improvements not only address transfection challenges but also strengthen our foundation for future LNP applications. " })], - summary: "The aim of the contact was to address challenges in LNP transfection and improve formulation protocols for enhanced gene delivery. Dr. Radukic highlighted the importance of lipid-to-nucleic acid ratios, recommending adjustments like 10:1 for better transfection efficiency. He also emphasized optimizing pH and buffer composition, as well as strict storage and mixing practices. Additionally, quality control measures such as fluorescence testing and zeta potential analysis were suggested to ensure LNP stability. These insights were implemented into the project, improving transfection efficiency and paving the way for future LNP applications.", - months: "June" - }, - { - title: "Prof. Dr.", - vorname: "Erhard", - nachnname: "Wischmeyer", - job: "Research Group Cellular Neurophysiology", - affiliation: "University Bielefeld", - pictureurl: pics["wischmeyer"], - tag: "Academia", - heading: "Discussion on Techniques for Measuring CFTR Channel Functionality", - interviewtabid: "patchclamp", - cardtext: "", - language: "de", - quoteNachname: "Guckes, Teammember", - quoteVorname: "Isabell", - quote: "Initially we hadn't considered patch-clamp measurements in our set of downstream applications, but it\u2019s proven to be an exceptionally sensitive method for assessing CFTR conductance.", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "As part of our project, we aimed to demonstrate the functionality of the CFTR ion channel, after restoring it through our optimized Prime Editing, by using Patch-Clamp measurements. To ensure the optimal use of the Patch-Clamp and to gain an insight into electrophysiology, we asked experts from the medical faculty at Bielefeld University to critically examine our measurement planning. Prof. Dr. Erhard Wischmeyer, an experienced scientist in this field who has worked at the Max Planck Institute for Biophysical Chemistry in G\xF6ttingen, the development site of the Patch-Clamp technique", - /* @__PURE__ */ jsx70(ScrollLinkWithChild, { targetId: "desc-1", children: /* @__PURE__ */ jsx70("sup", { children: "1" }) }), - ", and currently leads the Cellular Neurophysiology working group at Bielefeld University, seemed to be an ideal interviewee. His knowledge and experience promised valuable insights and advice for conducting and optimizing our experiments. " - ] })], - pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/hp-patch-clamp/wischmeyer-interview.webp", - insights: [/* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsxs46("p", { children: [ - "Prof. Dr. Wischmeyer taught us about the workflow of the Patch-Clamp technique. He highlighted the need for specialized electrodes and glass pipettes that must form a smooth surface devoid of the extracellular matrix (ECM). Additionally, he pointed out that measuring CFTR conductivity with the Patch-Clamp technique poses a technical challenge due to the low currents involved", - /* @__PURE__ */ jsx70(ScrollLinkWithChild, { targetId: "desc-2", children: /* @__PURE__ */ jsx70("sup", { children: "2" }) }), - ". He recommended using expression vectors for overexpressing the CFTR gene in HEK cells instead of epithelial cells from a nasal swab to achieve better results. Since Patch-Clamp measurements require a very sensitive testing environment, even challenging for the most experienced scientists, Prof. Dr. Wischmeyer invited us to conduct the measurements together with members of his group." - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "In addition to the Patch-Clamp technique, Prof. Dr. Wischmeyer informed us about E-cis measurements as a current electrophysiological measurement method alongside the Patch-Clamp technique. This method allows the measurement of the membrane potential above and below a monolayer of confluent cells", - /* @__PURE__ */ jsx70(ScrollLinkWithChild, { targetId: "desc-3", children: /* @__PURE__ */ jsx70("sup", { children: "3" }) }), - ". Consequently, it enables precise measurement of conductivity dependent on CFTR expression. " - ] }) - ] })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "We decided to use HEK293T[Link] cells lines which do overexpress the correct CFTR and those which express CFTR with F508del mutation for the Patch-Clamp measurements[LINK Methodspatchclamp]. To conduct the Patch-Clamp experiments, we contacted the Cellular Neurophysiology group to perform the necessary measurements. It was a pleasure to work together with, who is working as a post-doc for the Cellular Neurophysiology working group at Bielefeld University. He taught us about the Patch-Clamp method and spent his valuable time supporting our project by guiding our Patch-Clamp measurements. " })], - pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/hp/bild-interssierte-wissenschaftler-oho.webp", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/bild-patch-clamp-isi-oliver.webp", - references: /* @__PURE__ */ jsx70(WischmeyerSources, {}), - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "Can you educate us about your academic career?", a: "I did my doctorate 30 years ago at Bielefeld University and then worked at the Max Planck Institute in G\xF6ttingen a lot with the patch-clamp technique. Today, I\u2019m head of the working group Cellular Neurophysiology of the medicine faculty of Bielefeld University." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What new methods are currently available in electrophysiological research?", a: "One of the latest methods is E-cis measurements. These make it possible to examine a monolayer of confluent cells and to measure the membrane potential both above and below. The change in conductivity can be analyzed for instance as a function of CFTR expression." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How can we proceed with the investigation of CFTR in different cell cultures by patch-clamp?", a: "You can study CFTR expression in HEK cells, which allows for a measurable change in chloride conductance. I am not sure whether we will be able to investigate CFTR sufficiently in epithelial cells which you want to collect from your CF patient friend and your team members. That is something we have to try out." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How challenging is the measurement of CFTR conductance in epithelial cells?", a: "CFTR in epithelial cells has very low conductivity in the femtoampere range. Therefore, extremely sensitive testing is necessary to obtain meaningful results." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How challenging is the patch-clamp measurement of CFTR conductance in epithelial cells?", a: "The project could take at least one year, even for experienced researchers." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What technical challenges do we face in implementing the patch-clamp measurements?", a: "One of the biggest challenges is measuring the current across the entire cell, as we do not want to carry out single-channel measurements, but rather record the current across cells with a strongly expressing vector carrying the gene for the ion channel." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What requirements must be met for cultivation and transfection before the patch-clamp measurement?", a: "You have to cultivate the cells on poly-lysine and laminin and use round coverslips of 10 mm diameter to prepare them for measurement. For identification of positive transfectants, we use GFP co-transfected cells in our working group, you should think of something like that as well. A transfection rate of 10 % is sufficient to gain enough cells for the measurement. You can think of optimizing your transfection by using Lipofectamine2000, which works well for our working group." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Who could help us with the patch-clamp measurements?", a: "The patch-clamp devices are heavily utilized in our working group, so you probably cannot perform measurements on your own. However, postdocs could support you for some measurements. Dr. Oliver Dr\xE4ger is available as a contact person of my working group." }) - ] }), - summary: "In summary, through the interview with Prof. Dr. Wischmeyer and the collaboration with his employee Dr. Oliver Dr\xE4ger, we gained valuable insights and optimized our approach to effectively investigate and measure the functionality of the CFTR ion channel, thereby determining the efficiency of our prime editing strategy.", - months: "june" - }, - { - vorname: "Joshua", - nachnname: "Bauder", - job: "parent and activist", - affiliation: "CF vests worldwide", - pictureurl: pics["joshua"], - tag: "Patient", - heading: "Interview with a CF Parent and Global Advocate on Worldwide Support and Perspectives", - interviewtabid: "joshua", - cardtext: "", - language: "en", - quote: "We\u2019ve had to sit by and watch people die, knowing that better treatment exists but is inaccessible. ", - aimofcontact: [ - /* @__PURE__ */ jsxs46("p", { children: [ - "We contacted the organization ", - /* @__PURE__ */ jsx70("a", { href: "https://www.cfvww.org/", children: "CF vests worldwide" }), - " with the aim to hear more diverse perspectives beyond Germany. After the founder Rod connected us with Joshua, Joshua was so kind to conduct an interview with us not only about the perspectives and stories he heard but also about his personal experiences with his daughter and living in a country where CF care is very hard to get. Joshua (from the USA) and his family live in Thailand where he and his wife run a children\u2019s home. Their daughter is the only child with CF." - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "It is possible to learn more about Joshua and his family though the ", - /* @__PURE__ */ jsx70("a", { href: "https://thebonnellfoundation.org/cf-vests-worldwide/", children: "podcast of the Bonnel foundation" }), - "." - ] }) - ], - insights: [/* @__PURE__ */ jsxs46("p", { children: [ - " Joshua showed us just how dire the situation is for CF patients is in some regions. It was shocking to hear there is only one doctor knowledgeable about CF in Thailand and that many doctors dismiss the possibility of CF due to racial bias and misinformation. Additionally, we confirmed how much the accessibility of care depends on the healthcare system, as we already touched on during the interview with ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "nicole", text: "Nicole Friedlein" }), - ",. On the parenting level, Joshua brought in many perspectives contrary to what we previously heard. In the interview with ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "maxfirst", text: "Max" }), - ",, we learned he vehemently avoids ponding water while Joshua\u2019s daughter is allowed to roam around with no such restrictions. Neither have chronic infections." - ] })], - implementation: [/* @__PURE__ */ jsxs46("p", { children: [ - "The interview with Josh made us realize we too needed to look at the reason why we chose F508del. Did we, too, fall for bias? Despite a change of target not being feasible anymore, we looked into it and traced back our steps that led to our decision. We did not find as much information about other mutations when first researching cystic fibrosis, especially in the context of prime editing. Mattijs Bulceans's paper on targeting the mutations L227R and N1303K ", - /* @__PURE__ */ jsx70(TabScrollLink, { tab: "joshua", scrollId: "desc-1", num: "1" }), - " was one of few papers. After explicitly searching for cystic fibrosis records for specific countries and regions, we uncovered a moderate number of papers examining CF in Asia and other regions we previously did not know much about. The very first article supported Joshua's hypotheses and painted a sad picture: Among other things, it describes the case of a four-month-old boy who was diagnosed with cystic fibrosis. Nothing unusual in itself, but the circumstances are depressing. Two of the three siblings born before him died within months of birth and had previously presented with symptoms of cystic fibrosis. He was the first to be diagnosed. A sweat test aimed at cystic fibrosis was not available at the hospital, so one was improvised. Later on, a genetic test revealed the presence of 508del. ", - /* @__PURE__ */ jsx70(TabScrollLink, { tab: "joshua", scrollId: "desc-2", num: "2" }), - " We found ourselves and our lack of knowledge in good company as we found papers as new as from 2020 (14 years after the previously mentioned paper) containing statements such as \u201Crecent reports suggest that CF does occur in Asia\u201D ", - /* @__PURE__ */ jsx70(TabScrollLink, { tab: "joshua", scrollId: "desc-3", num: "3" }), - ". Fortunately, there is a rising number of cystic fibrosis experts for Asia and other previously overlooked regions such as Africa. ", - /* @__PURE__ */ jsx70(TabScrollLink, { tab: "joshua", scrollId: "desc-4", num: "4" }), - " We chose to not only look at the scientific data but also into anecdotal evidence. To find the latter, we searched official and private websites and chatrooms for information and experiences of patients. In the end, we found narratives from most ethnic backgrounds about being dismissed and often misdiagnosed. Of course, this is not an occurrence unique to cystic fibrosis. Our conclusion is that yes, we did fall for bias. But regardless of ethnicity, 508del occurs and is overall the most prevalent mutation as was confirmed in our interview with CF expert Sriram .... This experience was uncomfortable as we felt the pressure to be thorough and deliver a perfect project. What would have been more devastating than realizing we made a wrong choice at the very core? We made the conscious decision to invest our resources into figuring out if we indeed made a mistake and we want to encourage other teams to do the same. iGem stands for innovation \u2013 but also for growth. Especially in the context of Integrated Human Practices, it is important to examine both the positive and the negative to create a project with a future. " - ] })], - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/joshua-zoom.webp", - references: /* @__PURE__ */ jsx70(JoshuaInterviewSources, {}), - summary: "Joshua, a CF parent living in Thailand, shared his experiences about the severe challenges of accessing CF care in regions like Southeast Asia. His story highlighted the racial bias and lack of medical knowledge about CF in these areas. This interview prompted the team to reflect on their focus on the F508del mutation, questioning if their research was biased towards more commonly studied mutations. After revisiting their research process, they found that the F508del mutation remains globally relevant, yet the experience reinforced the importance of addressing gaps in healthcare and research for underrepresented regions.", - months: "July" - }, - { - vorname: "Close the Loop", - nachnname: "", - pictureurl: pics["placeholder"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Getting Acquainted with Cystic Fibrosis", - interviewtabid: "loop", - cardtext: "", - quoteNachname: "K\xF6hler, Teammember", - quoteVorname: "Vera", - quote: "Firstly, we discussed various project ideas, including the use of magnetic microswimmers for targeted medical applications, gene editing approaches for cystic fibrosis, treatments for muscular dystrophy and combating cyanobacteria with algae.", - type: "meta", - summary: "", - months: "july" - }, - { - title: "Prof. Dr.", - vorname: "Stefan", - nachnname: "Hammer", - job: "Junior Professor of Organic Chemistry and Biocatalysis", - affiliation: "University Bielefeld", - pictureurl: pics["hammer"], - tag: "Academia", - heading: "Insights from the discussion on enzyme engineering", - interviewtabid: "hammer", - cardtext: "", - language: "de", - quote: "Implementing controls is crucial for the Nikase assay to prevent false positives and ensure the accuracy of your results.", - quoteNachname: "Hammer, Expert for Enzyme Engineering ", - quoteVorname: "Prof. Dr. Stefan", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "After we had developed a number of theroetic elaborations, feedback with corresponding expertise in the field of enzyme engineering was of exceptional importance to us. For this reason, we wanted to discuss our approaches with Prof. Dr. Hammer." })], - insights: [ - /* @__PURE__ */ jsx70("p", { children: "In our discussion with Prof. Dr. Hammer discussion with Prof. Dr. Hammer about different theoretical approaches we had developed:" }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsx70("li", { children: "PAM engineering" }), - /* @__PURE__ */ jsx70("li", { children: "Chimeric protein" }), - /* @__PURE__ */ jsx70("li", { children: "Phage-Assisted Continuous Evolution (PACE)" }), - /* @__PURE__ */ jsx70("li", { children: "Rational Design: Mutation of zinc-finger" }) - ] }), - /* @__PURE__ */ jsx70("p", { children: " We discussed whether a rational design, supported by structural simulations with AlphaFold 3, or the construction of a chimeric protein would be the superior approach. The possibility of using protein evolution via PACE or conventional methods was demonstrated, even if these approaches are very time-consuming. An important topic was the analysis of homologous mechanisms by sequence alignments to identify structural similarities in catalytic centers. In addition, we discussed the role of zinc finger domains and targeted mutations, such as substitution to alanine, in the function of optimization. It was also emphasized that mutations should be evaluated in enzymes with nickase activity, although the screening for this is very laborious. The reliability of AlphaFold predictions was evaluated positively despite the complexity of the enzymes. One promising approach could be the transfer of mutations to homologous proteins. " }) - ], - implementation: [ - /* @__PURE__ */ jsx70("p", { children: "We learned from the discussion that we need to take a rational approach and consider the following conclusions:" }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsx70("li", { children: "A rational approach could be the transfer of mutations to homologous proteins" }), - /* @__PURE__ */ jsx70("li", { children: "For rational design, structural simulation using AlphaFold 3 could be used to model and understand specific protein structures" }), - /* @__PURE__ */ jsx70("li", { children: "Homologous mechanisms & sequence alignments" }), - /* @__PURE__ */ jsx70("li", { children: "Analysis of structural similarities in catalytic centers by sequence comparisons" }), - /* @__PURE__ */ jsx70("li", { children: "Using Ala or Gly for substitution" }), - /* @__PURE__ */ jsx70("li", { children: "Development of a nickase assay" }) - ] }), - /* @__PURE__ */ jsx70("p", { children: "We developed our mutation candidates on this basis [link zum Cycle oder New Part ?]" }) - ], - summary: "In our discussion with Prof. Dr. Hammer, we explored several theoretical approaches in enzyme engineering, including PAM engineering, chimeric proteins, Phage-Assisted Continuous Evolution (PACE), and rational design involving zinc-finger mutations. We evaluated the potential of using structural simulations with AlphaFold 3 and the construction of chimeric proteins. The conversation highlighted the importance of analyzing homologous mechanisms through sequence alignments to identify structural similarities in catalytic centers. We also discussed targeted mutations, such as substitutions to alanine, and the development of a nickase assay. Overall, we concluded that transferring mutations to homologous proteins is a promising rational approach for optimizing enzyme function.", - months: "July" - }, - { - vorname: "Steffen Bira and", - nachnname: "Serra G\xFCrcan from Corden Pharma", - job: "Associate director", - affiliation: "Corden Pharma", - pictureurl: pics["corden"], - tag: "Industry", - heading: "Lipid Nanoparticles in Gene Therapy: perspectives from Corden Pharma ", - interviewtabid: "corden", - cardtext: "", - language: "en", - quote: "The stability of LNPs depends on the specific lipid and RNA components used, but ensuring the overall stability of a new formulation requires rigorous empirical testing under various conditions.", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "The primary aim of the communication with Steffen Bira and Serra G\xFCrcan from Corden Pharma was to explore the technical aspects and practical applications of Lipid Nanoparticles (LNPs) in advanced medical therapies, including gene therapy and inhalation treatments. The conversation focused on the possibility of using Corden Pharma\u2019s LNP starter kits, understanding the factors affecting the stability of LNPs, and exploring options for incorporating antibodies into LNPs to target specific cells. " })], - insights: [ - /* @__PURE__ */ jsxs46("p", { children: [ - "The discussion with ", - /* @__PURE__ */ jsx70("a", { href: "https://cordenpharma.com/", children: "Corden Pharma" }), - ", led by Steffen Bira and Serra G\xFCrcan, offered key insights into LNPs and their applications. While Corden Pharma hasn't extensively explored spray drying for LNPs, they recommended consulting specialists to evaluate its feasibility, especially concerning lipid stability during the process. Stability was highlighted as crucial for inhalation therapies, requiring thorough testing of entire LNP formulations, possibly aided by cryoprotectants and controlled temperatures. Corden Pharma's LNP starter kits are based on well-researched lipid combinations designed for stability and encapsulation efficiency, making them suitable for multiple experiments. They suggested that modifying lipid components, such as incorporating cholesterol derivatives, could enhance cellular uptake and overall efficacy. Additionally, they confirmed the possibility of incorporating antibodies into LNPs and emphasized the importance of considering intellectual property when selecting lipids for commercial use. They also showed openness to collaboration, including offering discounts in exchange for recognition in publications. The interaction with Corden Pharma provided several key insights:" - ] }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Spray Drying Feasibility:" }), - " Corden Pharma hasn\u2019t explored spray drying extensively; consultation with specialists is recommended for assessing feasibility and lipid stability." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "LNP Stability:" }), - " Stability of LNPs, particularly for inhalation therapies, needs empirical testing, considering shear forces and the potential use of cryoprotectants or temperature control." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Lipid Selection in Kits:" }), - " Starter kits use well-researched lipid combinations, tested for stability, encapsulation efficiency, and potency. They provide materials for multiple experimental batches." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Lipid Modifications:" }), - " Exploring alternative lipids (e.g., cholesterol derivatives) could enhance stability and cellular uptake, tailored to project needs." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Antibody Incorporation:" }), - " Antibodies can be incorporated into LNPs during preparation or afterward, depending on targeting requirements." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Intellectual Property:" }), - " IP considerations are crucial when selecting lipids for LNP formulations, as many lipids are patented." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Collaboration Opportunities:" }), - " Corden Pharma is open to offering discounts or forming partnerships, with recognition in publications or acknowledgments." - ] }) - ] }) - ], - implementation: [/* @__PURE__ */ jsx70("p", { children: "The insights from Corden Pharma had a major impact on our project, especially in selecting lipids critical for LNP stability and optimizing gene therapy applications. Initially, we used the Cayman kit, but it was suboptimal for delivering our Primeguide. After receiving feedback, we switched to Corden Pharma\u2019s kit #2, which includes advanced lipid components like cationic lipids that improve cellular uptake and enhance LNP stability. This shift has significantly boosted the efficiency and robustness of our formulations. Additionally, Corden Pharma's guidance on lipid modifications and antibody incorporation opened new possibilities for targeted therapies. These insights not only improved our technical approach but also paved the way for potential collaborations, offering cost benefits and increased scientific recognition. The feedback will continue to shape our testing process and improve therapeutic delivery. " })], - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "Is it possible to dry the LNPs designed by Corden Pharma, such as through spray drying?", a: "It has not been confirmed whether LNPs have been successfully dried using spray drying. Further investigation or consultation with a specialized company would be required to determine feasibility." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How is stability ensured in LNPs, particularly for use in inhalation therapy?", a: "The stability largely depends on the specific lipid and RNA components used in the formulation. While the stability of individual lipids can be assessed, the overall stability of a new LNP formulation requires empirical testing under various conditions." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How are lipid combinations selected for inclusion in the LNP starter kits, and what testing is conducted?", a: "Lipid combinations in the LNP starter kits are selected based on known interactions, particularly in formulations containing RNA. Testing is conducted to assess physical-chemical properties, encapsulation efficiency, and overall potency. The kits are designed to provide sufficient material for multiple experimental batches." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Is it advisable to modify the lipid components in an existing LNP formulation?", a: "It is generally advisable to consider alternative lipid components, as different lipids may offer improved stability or efficacy. However, the specific needs of the project will dictate whether changes are necessary." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Is it possible to incorporate antibodies into LNPs, and what is the recommended approach?", a: "Yes. Incorporation of antibodies into LNPs is possible. This can be achieved either during the initial preparation phase or by incubating antibodies with LNPs after their formation, depending on whether surface or internal localization of antibodies is desired. Reference to specific studies may provide further guidance." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What is Corden Pharma's position on projects involving gene therapy?", a: "Corden Pharma operates as a service provider, focusing on the manufacturing of active pharmaceutical ingredients (APIs) and excipients rather than developing therapeutic products. Consideration should be given to the intellectual property status of the lipids used in LNP formulations, particularly for commercial applications." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Is it possible to obtain a discount on LNP starter kits or establish a collaborative relationship with Corden Pharma?", a: "We would need to discuss this internally but generally we would be open to potential collaborations that could involve recognition in publications or other forms of acknowledgment, pending approval from relevant management." }) - ] }), - summary: "The primary goal of the communication with Steffen Bira and Serra G\xFCrcan from Corden Pharma was to explore the use of Lipid Nanoparticles (LNPs) in gene therapy and inhalation treatments. Corden Pharma recommended consulting specialists for assessing spray drying feasibility, while highlighting the importance of testing LNP stability under various conditions. Their LNP starter kits are optimized for stability and encapsulation efficiency, with potential for lipid modifications to enhance cellular uptake. They also confirmed that antibodies can be incorporated into LNPs and emphasized considering intellectual property when selecting lipids. Based on Corden Pharma\u2019s insights, we switched to their kit #2 for our project, hoping to improve the stability and efficiency of our LNP formulations. Their guidance also opened opportunities for targeted therapies and collaborations. This feedback will continue to enhance our testing and therapeutic approaches.", - months: "july", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/hp-corden-zoom.png" - }, - { - vorname: "'MINT Sommer'", - nachnname: "", - pictureurl: pics["mint"], - tag: "Education", - heading: "Innovative minds unite: iGEM's participation in 'MINT Sommer'", - interviewtabid: "minthptime", - type: "meta", - cardtext: "", - quoteNachname: "Lange, Teammember", - quoteVorname: "Kaya", - quote: "It was amazing to see how exciting the conversations were with future STEM scientists and to hear the fresh perspectives from young minds. The entire experience was both inspiring and energizing.", - summary: [/* @__PURE__ */ jsx70("p", { children: "MINT Sommer 2024 [Link Mint Sommer unten] is a program for high school graduates interested in STEM fields, and iGEM Bielefeld participated to raise awareness about CF and promote their gene therapy research. The team engaged future scientists, explaining the iGEM competition and their synthetic biology approach to address CF. Using insights from previous workshops, they designed interactive activities to make the complexities of CF accessible to attendees. Over two weeks, they formed meaningful connections with professors, students, and STEM professionals, enriching their research discussions. Overall, the event helped improve their science communication skills and fostered valuable professional growth." })], - months: "July" - }, - { - title: "Dr.", - vorname: "Svenja", - nachnname: "Vinke", - job: "PostDoc", - affiliation: "at Department of Genetics, Harvard Medical School, former iGEMer", - pictureurl: pics["svenja"], - tag: "Academia", - heading: "Insights on the Feasibility of PACE for Prime Editing Optimization", - interviewtabid: "svenja", - cardtext: "", - language: "de", - quote: "The Safety and Security Award at iGEM underscores commitment to responsible research and innovation, ensuring that the projects prioritize the well-being of people and the environment while advancing synthetic biology.", - quoteNachname: "Vinke ,Member of the Safety and Security Committee at iGEM HQ ", - quoteVorname: "Dr. Svenja", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "We contacted Svenja Vinke, a former iGEMer from Bielefeld and Member of the Safety and Security Committee at iGEM HQ , to get her insight and her opinion regarding the use of phage assisted continuous evoluWe contacted Svenja Vinke, a former iGEMer from Bielefeld, to get her insight and her opinion regarding the use of phage assisted continuous evolution (PACE, see engineering cycle 1[Link]) for our prime editing optimizations. Svenja works at the iGEM Safety and Security Committee. Additionally, she was part of the Biosafety and Security Award Team of Bielefeld University in 2016." })], - insights: [ - /* @__PURE__ */ jsx70("p", { children: "Svenja explained, that a PACE approach is not feasible to use for optimization of our nickase candidates because of several reasons:" }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsx70("li", { children: "Implementing a PACE system takes way too much time to use for our project." }), - /* @__PURE__ */ jsx70("li", { children: "Endonucleases might be too big to optimize using PACE." }), - /* @__PURE__ */ jsx70("li", { children: "Unspecific cutting or nicking in the bacterial genome kills the cells, which makes optimization of endonucleases very challenging." }), - /* @__PURE__ */ jsx70("li", { children: "Prime editing in E. coli cells is less effective compared to human cells, which might impair the evolution process." }) - ] }) - ], - implementation: [/* @__PURE__ */ jsx70("p", { children: "On the basis of Svenja\u2019s and other opinions on the topic, we decided not to try implementing a PACE system. " })], - summary: "We reached out to Svenja Vinke, a former iGEMer and Postdoc, to gain insights on using phage-assisted continuous evolution (PACE) for optimizing our prime editing. Svenja explained that a PACE approach is not feasible for our nickase candidates due to several reasons: it requires too much time, endonucleases are likely too large for optimization, unspecific cutting can kill bacterial cells, and prime editing is less effective in E. coli than in human cells. Based on Svenja's feedback and other expert opinions, we decided against implementing a PACE system for our project.", - months: "July" - }, - { - title: "Dr.", - vorname: "Eva-Maria", - nachnname: "Berens", - job: "Ethics Committee of Bielefeld University", - affiliation: "Bielefeld University", - pictureurl: pics["berens"], - tag: "Academia", - heading: "Bioethics: Best Practices for Handling Patient Data and Primary Cells", - /* Guidance from Ethics Committee on Best Practices for Patient Data and Primary Cells */ - interviewtabid: "berens", - cardtext: "", - language: "de", - quote: "The most important thing is a detailed letter of consent and a detailed privacy policy. This must explain to the patient as precisely as possible what happens to their cells and data, as well as the time span, which people are involved or have access to the cells and how.", - aimofcontact: "The aim of the interview was to get an answer to the question of whether we need an ethics vote for our project or not and to obtain guidelines for dealing with patient cells regarding ethical issues and data protection. ", - insights: "The discussion was very informative in terms of how we should approach this topic and focused primarily on the important factors that need to be considered when planning the handling of patient cells. These include which legal principles need to be observed, data protection, ethical considerations and, above all, detailed and specific information for the donor. It also made us look at the situation from many different angles and consider the risks of worst-case scenarios. Overall, this interview was very useful to us, and we were able to use the information we gained to develop a kind of guideline that allowed us to approach this sensitive topic, which was new to us, with a certain degree of confidence. ", - implementation: "Based on the knowledge we have gained, we have drawn up guidelines for our handling of the cells. We used this guide when handling the patient cells, to ensure they were handled in an ethically correct manner.", - summary: "This interview focused on the ethical and legal considerations of handling patient cells, we sought to determine whether our project required an ethics vote and to gather guidelines on data protection and patient consent. The expert emphasized the importance of providing patients with a detailed consent letter and privacy policy, clearly explaining how their cells and data will be used, who will have access, and the time span involved. This conversation helped us understand key legal and ethical principles, especially regarding transparency with donors. We used these insights to develop guidelines for handling patient cells, ensuring we approached this sensitive process with confidence and ethical care.", - months: "July", - pictureurl_interview: "https://static.igem.wiki/teams/5247/integrated-human-practices/interview-berens.webp" - }, - { - title: "M.Sc.", - vorname: "Mattijs", - nachnname: "Bulcaen", - job: "PhD Researcher at Laboratory for Molecular Virology & Gene Therapy", - affiliation: "KU Leuven", - pictureurl: pics["mattijs"], - tag: "Academia", - heading: "Visit Mattijs Bulcaen in Leuven and the Laboratory for Molecular Virology & Gene Therapy", - interviewtabid: "mattijsvisit", - cardtext: "", - language: "en", - quote: "It was impressive to meet him in person and realize how deeply knowledgeable he is on the subject; his insights were incredibly helpful.", - quoteNachname: "Mundt, Teammember", - quoteVorname: "Philip", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "After our first interview with Mattijs Bulcaen we stayed in contact via email and eventually visited him in Leuven at his laboratory. Here we wanted to gain further information about the CFTR F508del models and editing confirmation." })], - insights: [/* @__PURE__ */ jsx70("p", { children: "We spoke about approaches for testing CFTR F508del correction in models and methods of confirmation. In this context we talked about HEK293T cell lines[Link] established in his laboratory that stably overexpress CFTR wild-type and F508del. We also discussed how to handle these cell lines. He explained, that the CFTR is fused with a 3HA tag, that in wild-type CFTR would be exposed to the extracellular space and therefore can be used for immunohistochemical staining of the protein, showing correct protein processing and channelling. Also, this allows for a western blot to be made using 3HA antibodies. Functional recovery of CFTR can also be visualized using halide sensitive eYFP or organoid assay, the ladder Mattijs had established an automated readout. Furthermore, we talked about how to handle Sanger sequencing data to analyse edits and discussed the possibility to avoid the weaknesses of Sanger sequencing by using Nanopore sequencing instead. We asked about the applicability of patch clamp analysis in the context of CFTR and Mattijs said that, to his knowledge, it has not been used to test for successful editing in CFTR. Lastly Mattijs explained how he plans to deliver the prime editing complex to the patient, and we evaluated the advantages and disadvantages of delivery strategies, including our very own LNP approach." })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "When planning how to test and confirm editing by our own constructs, we were largely inspired by the information given to us by Mattijs. For example, we tested prime editing in the HEK293 cell lines we spoke about with Mattijs and used halide sensitive eYFP to check for CFTR function. Also, we tried differentiating wild-type and F508del cells using patch clamp. Unfortunately, a lot of the methods mentioned were not usable for us because of time constraints, but are still valuable for future projects and research built upon PreCyse. " })], - summary: "We visited Mattijs Bulcaen in Leuven to enhance our understanding of CFTR F508del models and editing confirmation. During the visit, we examined HEK293T cell lines that stably overexpress wild-type CFTR and the F508del variant. Mattijs demonstrated how to use a 3HA tag for visualizing protein processing and discussed methods for assessing CFTR functional recovery. We also compared Sanger and Nanopore sequencing techniques and evaluated delivery strategies for our prime editing complex. The insights from this visit guided our project, leading us to test prime editing in HEK293T cells using halide-sensitive eYFP. While some methods were not feasible due to time constraints, they laid the groundwork for future research in the PreCyse project.", - months: "july" - }, - { - vorname: "Collaborations", - nachnname: "iGEM Team Link\xF6ping ", - type: "meta", - pictureurl: pics["link\xF6ping"], - tag: "Other", - heading: "Cooperation to create a Lipid Delivery System Handbook", - interviewtabid: "handbook", - cardtext: "", - quoteVorname: "Kaya", - quoteNachname: "Lange", - quote: "We were genuinely excited when Link\xF6ping University approached us for collaboration. From the very beginning, their ideas resonated with us, and our shared enthusiasm laid a strong foundation for a productive partnership. We're happy to work together, also with the other teams, and explore new possibilities.", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "The initial contact for our collaboration came from the iGEM team 2024 of Link\xF6ping, Sweden, who approached us with a proposal to create a \u201CDelivery-Based Handbook\u201D[link Handbook]. Their goal was to reduce the steep learning curve associated with these technologies by sharing collective knowledge from multiple teams, including ours. We were excited to contribute and help future teams navigate these challenges more easily. The handbook would serve as a valuable tool. " })], - insights: [ - /* @__PURE__ */ jsx70("p", { children: "Throughout the collaboration, we gained significant insights, both scientific and collaborative. Initially, our meetings with the Link\xF6ping team and other participating teams - Patras, Radboud-University and TERMOSZ-Selye-HUN - were invaluable. These sessions allowed us to exchange ideas and learn how each team planned to use lipid-based delivery systems in their own projects. This mutual sharing of knowledge opened our eyes to new methodologies and potential applications of LNPs and liposomes. We also gained a deeper appreciation for the interdisciplinary nature of these systems. From the challenges of formulating stable particles to optimizing their efficiency in targeting cells, we realized the complexity of the field and how collaboration could help overcome many of these obstacles. By discussing our respective approaches, we were able to pool our expertise, which not only improved our understanding but also ensured that the handbook would be comprehensive and valuable for various iGEM teams, regardless of their specific project focus. In summary: " }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsx70("li", { children: "Learned different approaches to using LNPs and liposomes in iGEM projects." }), - /* @__PURE__ */ jsx70("li", { children: "Discovered new methods for optimizing LNPs." }), - /* @__PURE__ */ jsx70("li", { children: "Recognized challenges in particle stability and targeted delivery." }), - /* @__PURE__ */ jsx70("li", { children: "Gained appreciation for the interdisciplinary complexity of these systems." }), - /* @__PURE__ */ jsx70("li", { children: "Focused on documenting work to benefit future iGEM teams." }) - ] }) - ], - implementation: [/* @__PURE__ */ jsx70("p", { children: "The collaboration expanded our understanding of what's possible, inspiring us to consider new ideas for how we might integrate advanced techniques into our nanoparticle systems in future projects. The collaborative process also encouraged us to document our work more thoroughly, ensuring that future iGEM teams could benefit from both our successes and the challenges we encountered along the way. Beyond the technical improvements, the experience taught us the value of teamwork across borders and disciplines. Each team brought a unique perspective, and by working together, we were able to develop a resource that was far greater than the sum of its parts" })], - summary: "This collaboration with Link\xF6ping and the other iGEM teams was an incredibly enriching experience. Together, we developed a \u201CDelivery-Based Handbook\u201D[link Handbook] that will serve as a valuable resource for future teams working with LNPs and liposomes. The knowledge we gained not only enhanced our project but also strengthened our sense of community within iGEM. We are excited to present the handbook at the Grand Jamboree, where we will finally meet our collaborators in person and celebrate the culmination of our collective efforts. This partnership has shown us the immense power of collaboration, and we are proud to have been part of such a meaningful initiative.", - months: "several times", - pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/hp/linkoping-handbook-lnp.webp", - pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/hp/linkoping-cooperation-photo.png" - }, - { - title: "M.Sc.", - vorname: "Kai", - nachnname: "Sch\xFClke", - job: "PhD student Working group: Organic chemistry and biocatalysis\u202F ", - affiliation: "University of Bielefeld", - pictureurl: pics["kaihammer"], - tag: "Academia", - heading: "First insights of Enzym Engineering", - interviewtabid: "hammerkai", - language: "de", - cardtext: "", - quote: "It was fascinating to discuss enzyme engineering with a former iGEMer; the conversation sparked new ideas and perspectives.", - quoteNachname: "Michalek, Teammember", - quoteVorname: "Christian", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "When we realized that the creation of a nickase from the endonucleases in use was a desired outcome, it became necessary to talk to an expert in the field of enzyme engineering.\u202FOur first contact was Kai Sch\xFClke, a former iGEMer and PhD student under the guidance of ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "hammer", text: "Prof. Dr. Hammer" }), - ", who is the leader of the working group organic chemistry and bioanalytics at Bielefeld University." - ] })], - insights: [/* @__PURE__ */ jsx70("p", { children: "In the process of our interaction with Kai, we learned about the various methods employed in enzyme engineering. He demonstrated the complexity of this field of research and emphasized the importance of choosing the right approach. As a former iGEMer, Kai, inspired by his past experiences, is highly motivated and determined to develop an outstanding project. He pointed out that we cannot rely on classical methods such as directed evolution, but instead should use a rational approach to select mutation candidates. His insights and enthusiasm have encouraged us to think critically and pursue innovative solutions in our work. " })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "We incorporated Kai's insights into our project by shifting our approach to enzyme engineering. By focusing on a more targeted approach, we were able to refine our enzyme optimization process, ensuring that the modifications we made were based on informed, calculated decisions. This not only streamlined our research but also improved the chances of success by reducing the trial-and-error inherent in traditional methods. " })], - summary: "The team reached out to Kai Sch\xFClke, a former iGEM participant and enzyme engineering expert, for guidance on developing a nickase from the endonucleases in use. Kai emphasized the need for a rational, targeted approach rather than traditional methods like directed evolution. His insights helped the team refine their enzyme optimization process, making it more strategic and efficient. This shift reduced trial-and-error efforts and improved the chances of success, driving innovation in their project.", - months: "July" - }, - { - title: "M.Sc.", - vorname: "Nils", - nachnname: "Berelsmann", - job: "PhD Working group: Prof. Dr. Gabriele Fischer von Mollard ", - affiliation: "University of Bielefeld", - pictureurl: pics["nilshefe"], - language: "de", - tag: "Academia", - heading: "Adapting expression strategies for Fanzor nickases and exploring the potential of Pichia pastoris for SpuFz1 nickase variants ", - interviewtabid: "nberelsmann", - cardtext: "", - quote: "Selection for multiple plasmid integrations is the easiest way to optimize protein expression in the yeast strain", - quoteNachname: "Berelsmann, Specilist of yeast culturvation", - quoteVorname: "Nils", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "During our interview with ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "saito", text: "Makoto Saito" }), - " about fanzor[link fanzor], it became evident that the expression of our fanzor nickases in yeast is very promising. We then refined our expression strategy for the nickases and approached Nils Berelsmann, who is currently working on his PhD thesis with the yeast strain Pichia pastoris (SMD1163). This particular strain could be ideal for expressing the SpuFz1 nickase variants. Our main aim in contacting Nils was to gain insight and advice on yeast expression and he generously shared his expertise with us. Not only did he give us valuable advice, but he also provided us with the yeast strain itself, along with a corresponding expression vector for possible experiments. He also provided us with detailed protocols and the plasmid map of the vector and gave us practical tips on how to optimize the expression process. His support was invaluable in moving our work forward. " - ] })], - insights: [/* @__PURE__ */ jsx70("p", { children: "Pichia pastoris (SMD1163) is a promising option for expressing SpuFz1 nickase variants. Refining expression strategies based on expert insights is crucil for success. Nils provided practical tips on yeast expression, including optimizing growth conditions and fine-tuning induction protocols." })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "We adapted our expression strategy for Fanzor nickases in yeast by incorporating the Pichia pastoris strain (SMD1163) and the provided expression vector into our experiments. Following Nils' detailed protocols and plasmid map, we optimized key steps, enhancing expression efficiency and protein yield." })], - summary: "The team sought expert advice from Nils to optimize yeast expression for Fanzor nickases. Nils provided invaluable guidance on addressing potential challenges and troubleshooting the process. He supplied the Pichia pastoris (SMD1163) strain along with a suitable expression vector, crucial for expressing SpuFz1 nickase variants. Additionally, he shared detailed protocols for yeast transformation and growth optimization, enabling the team to replicate his methods effectively for their experiments.", - months: "July" - }, - { - title: "Dr.", - vorname: "Timm", - nachnname: "Weber", - job: "Staff Scientist, Project- and Quality Manager", - affiliation: "Central Biobank of the University of Bielefeld", - pictureurl: pics["biobank"], - tag: "Academia", - heading: "Discussed the processes involved in the storage, processing, and security of patient samples.", - interviewtabid: "timm", - cardtext: "", - quoteVorname: "Dr. Timm", - quoteNachname: "Weber, Scientist Project- and Quality Management Biobank", - quote: "A biobank is not just a collection of samples; it's a bridge between patient trust and scientific discovery, ensuring that valuable biological data is safeguarded while contributing to future research.", - aimofcontact: "Contact was established with Timm for the purpose of gaining deeper insights into the functioning of the biobank and of deepening our understanding of the processing of patient samples.", - insights: "We were provided with invaluable insights into the quality and project management of the biobank and storage of patient samples. It was of particular interest to note that Biobank OWL occupies a distinctive position in this context, insofar as a trustee is not a mandatory figure within its system and is therefore not provided for as a standard component. However, Biobank OWL has elected to integrate a trustee in order to enhance the security standards for the safeguarding of patient data. This illustrates the biobank's dedication to ensuring the optimal protection and security of sensitive patient data.", - implementation: "The insights gained have facilitated a deeper comprehension of the significance of quality management in the processing of patient samples. This understanding has been integrated into our project processes, thereby enhancing the accuracy and reliability of our procedures. ", - summary: "The interview focused on understanding the operations of the Biobank OWL, particularly in the areas of quality management and sample processing. Provided a detailed overview of biobank activities, including sample collection, storage conditions, and data protection measures", - text: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70("img", { src: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/bs-hp-biobank/biobank-fancy-roboter.jpeg" }), - ",", - /* @__PURE__ */ jsx70("p", { children: "The ASKION C-line\xAE hermetic storage (HS200) series offers efficient, automated solutions for low-temperature sample storage in biobanks and biorepositories. " }), - /* @__PURE__ */ jsx70("img", { src: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/bs-hp-biobank/biobank-christian-kathleen.jpeg" }), - ",", - /* @__PURE__ */ jsx70("p", { children: " During their tour of the biobank, Kathleen and Christian were given an insight into the advanced sample storage systems. " }), - ",", - /* @__PURE__ */ jsx70("img", { src: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/bs-hp-biobank/biobank-fl-ssig-stickstoff.jpeg" }), - ",", - /* @__PURE__ */ jsx70("p", { children: " Liquid nitrogen in action - extremely cold and indispensable for the deep-freeze storage of sensitive samples. " }), - ",", - /* @__PURE__ */ jsx70("img", { src: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/bs-hp-biobank/biobank-tank.jpeg" }), - ",", - /* @__PURE__ */ jsx70("p", { children: " Large liquid nitrogen tank for the safe storage of samples in the biobank. " }) - ] }), - language: "de", - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Can you briefly explain to us what exactly a biobank is and what its main tasks are?", - a: "A biobank is a specialized facility that collects, stores, and manages biological samples and associated data for research purposes. Each biobank is unique in its operations and functions. In Bielefeld and Lippe, the Biobank BOWL (Biobank OWL) is responsible for the storage of patient samples. The Data Integration Centre (DIZ) stores data pertaining to these samples. A trustee oversees the pseudonymisation of data, acting as an interface between BOWL and DIZ, ensuring that patient data cannot be directly linked to patient samples." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "What types of samples are collected in your biobank and for what research purposes are they used?", - a: "The biobank collects a wide variety of samples, including blood, stool, and soil. Samples may be gathered for specific research projects or for establishing a general repository under 'broad consent.' Researchers wishing to use these samples must apply to the 'use access committee,' which evaluates whether the requested samples and data can be released for their research." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "How large is your biobank? How many samples do you currently store and how many new samples are added on average?", - a: "The biobank is still in the process of establishing itself and has not yet reached its full sample capacity. However, it is anticipated to accumulate a significant number of samples in the near future, with several thousand samples expected to be analyzed in dedicated sessions." - } - ), - /* @__PURE__ */ jsx70(QaBox, { q: "What requirements and criteria must be met for a sample to be included in your biobank?", a: "Samples must be processed according to highly detailed protocols, and regular audits are conducted to ensure compliance with all standards." }), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Which other research institutions or biobanks do you cooperate with and what form does this cooperation take?", - a: "Biobank OWL has a second location in Lippe, in addition to Bielefeld. Collaborations exist with the DIZ, the Treuhand, and three university hospitals. It is anticipated that cooperation with other working groups will increase in the future." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "What specific storage conditions (e.g. temperature, humidity) must be observed for different sample types?", - a: "Samples are stored under various temperature conditions, including -20\xB0C, -80\xB0C, and -150\xB0C, along with the use of liquid nitrogen." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "How do you ensure that the samples remain stable and usable over longer periods of time?", - a: "Samples are stored in nitrogen for long-term stability." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "What encryption techniques or data protection measures are used in your biobank to prevent unauthorized access to patient data? Are there special regulations for the anonymisation of data and how is it ensured that patients cannot be traced?", - a: "Pseudonyms are created using specialized software such as CentraXX or REDcap to protect patient data." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "What rights do patients have in relation to their samples, and how are these rights safeguarded in your biobank?", - a: "Patients have the right to revoke their consent at any time, which can be done at the clinic or biobank. The trustee, acting as an intermediary, will notify BOWL and DIZ to destroy the corresponding samples or data." - } - ) - ] }), - months: "august" - }, - { - vorname: "'Sch\xFCler*innen Akademie'", - nachnname: "", - pictureurl: pics["schueler"], - tag: "Education", - heading: "Empowering students through synthetic biology", - interviewtabid: "schueler", - type: "meta", - cardtext: "", - quoteVorname: "Kaya", - quoteNachname: "Lange, Teamm", - quote: "It was wonderful to be part of the Student Academy and to experience how much we learned while teaching. Sharing our knowledge and seeing the students' enthusiasm was incredibly rewarding, even though we couldn't convey everything in just one session.", - summary: [/* @__PURE__ */ jsx70("p", { children: "The CeBiTec Student Academy[Link unten Sch\xFCler akademie] at Bielefeld University provides high school students with hands-on experience in biotechnology and molecular biology, supported by the Osthushenrich Foundation and Detmold district government. iGEM Bielefeld participated by guiding students through a nanopore sequencing experiment, teaching them about lab work, experiment preparation, and safety protocols. The team also presented their iGEM project, PreCyse, giving students insight into real-world research projects and synthetic biology. Many students were excited by the iGEM concept and expressed interest in joining during their future studies. Overall, the academy helped inspire students to explore STEM fields and gain practical scientific skills." })], - months: "August" - }, - { - vorname: "Present evidence", - nachnname: "", - pictureurl: pics["placeholder"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Brainstorming and selection of ideas and concepts", - interviewtabid: "evidence", - cardtext: "", - quote: "", - aimofcontact: "", - insights: "", - implementation: "", - type: "meta", - summary: "", - months: "august" - }, - { - vorname: "Benjamin", - title: "Dr.", - nachnname: "Winkeljann", - job: "Co-Founder and CEO at ", - affiliation: "RNhale", - pictureurl: pics["winkeljann"], - tag: "Industry", - heading: "Discussion on spray-drying and stability of lipid nanoparticles with RNhale", - interviewtabid: "rnhale", - cardtext: "", - language: "de", - quoteVorname: "Dr. Benjamin", - quoteNachname: "Winkeljann, Expert for LNPs und Ceo von RNhale", - quote: "Spray-drying LNPs is a groundbreaking approach that enhances stability and enables efficient pulmonary delivery of mRNA, paving the way for innovative therapies for conditions like cystic fibrosis.", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "As part of our development process of an innovative, effective pulmonary delivery of therapeutic mRNA to fight cystic fibrosis, we conducted an interview with Dr. Benjamin Winkeljann, who is the Co-Founder of ", - /* @__PURE__ */ jsx70("a", { href: "https://rnhale.com/", children: "RNhale" }), - ". Dr. Benjamin Winkeljann has a wealth of experience in the field of RNA therapeutics and nanotechnology. His background includes extensive research in the development of lipid-based delivery systems, focusing on optimizing stability and efficacy for therapeutic applications. Winkeljann\u2019s work is supported by cutting-edge research from academic institutions, including collaborations with Professor Olivia Merkel from the Ludwig-Maximilians-Universit\xE4t in Munich, Germany, since his doctoral thesis in her working group. The interview with Winkeljann promoted our project part, which aimed to utilize spray-dried LNPs for efficient delivery to the lung. By engaging with RNhale, we sought to understand the nuances of their nano-embedded microparticle technology and how it could enhance our delivery systems. " - ] })], - insights: [ - /* @__PURE__ */ jsxs46("p", { children: [ - "RNhale's technology leverages advanced spray drying techniques to stabilize and deliver RNA therapeutics. During our interview, Winkeljann detailed several crucial aspects. Firstly, the stability and shelf-life of spray-dried LNPs are remarkable. RNhale\u2019s siRNA formulations have maintained their integrity for up to 18 months at room temperature, and although specific data for mRNA is still pending, this suggests a promising shelf-life for mRNA formulations under similar conditions. The spray drying process itself involves mixing an ethanol phase containing lipids with an aqueous phase containing RNA. This mixture is then spray-dried, forming LNPs as tiny spherical particles. Key parameters for this process include maintaining an internal drying temperature of around 100 \xB0C and using excipients like lactose to preserve the nanoparticles' structure and function\u200B ", - /* @__PURE__ */ jsx70(TabScrollLink, { tab: "rnhale", scrollId: "desc-1", num: "1" }), - ". " - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - 'Ensuring the integrity and efficiency of the LNPs involves various methods, including gel electrophoresis, blotting, and functional readouts through transfection assays. After drying, the nanoparticles retain their spherical structure, which resembles that of "golf balls" under scanning electron microscopy (SEM)', - /* @__PURE__ */ jsx70(TabScrollLink, { tab: "rnhale", scrollId: "desc-1", num: "1" }), - ". Moreover, RNhale employs artificial intelligence to optimize LNP formulations and predict the best drying conditions, reducing the need for extensive wet lab work. This AI-driven approach enhances efficiency and reliability in developing therapeutic nanoparticles. " - ] }) - ], - implementation: [ - /* @__PURE__ */ jsx70("p", { children: "The interview with Dr. Benjamin Winkeljann from RNhale provided invaluable insights that will significantly enhance our project focused on mRNA delivery to the lungs using spray-dried LNPs. By seeking to integrate their proven techniques and innovative approach to spray-dry LNPs, we are optimistic about achieving superior stability, efficacy, and scalability in our therapeutic delivery systems. " }) - ], - pictureurl_aim: "https://static.igem.wiki/teams/5247/photos/hp/hp-rnhale-zoom.png", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/del-interview-rnhale/paper-overview.jpg", - pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/del-interview-rnhale/paper-sem.jpg", - references: /* @__PURE__ */ jsx70(RnhaleSources, {}), - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "Can you specify the shelf life for spray-dried LNPs? What storage conditions do you recommend to maximize stability?", a: "For small interfering RNA, we can guarantee a shelf life of 18 months at room temperature. However, there are no existing studies for mRNA, which tends to be more fragile. For optimal stability, we recommend storing LNPs in a cool, dry place, away from direct sunlight." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What technical requirements and equipment are necessary to successfully spray-dry LNPs using your nano-embedded-microparticle (NEM) technology?", a: "The spray-drying process for LNPs using our NEM technology involves several technical steps. Initially, a mixture of an ethanol phase containing lipids and another phase with RNA is prepared. This mixture is then subjected to a spray-drying process where droplets are sprayed into a drying tower. The liquid evaporates, leaving behind LNPs as small spherical particles." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How complicated is the protocol for producing spray-dried LNPs? Can you describe the protocol?", a: "The protocol, while detailed, is straightforward. It involves preparing the lipid and RNA mixture, followed by the spray-drying process where droplets are sprayed into a drying tower. As the liquid evaporates, the LNPs remain as small beads. This process is critical for ensuring the correct size and composition of the LNPs." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do LNPs appear after the drying process?", a: "After drying, LNPs resemble golf balls on a micron scale when observed under a scanning electron microscope (SEM). Their size distribution is analyzed through light scattering measurements, among other techniques." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do you ensure that the RNA cargo remains stable despite the heat during the drying process?", a: "We mitigate the impact of heat by optimizing the drying conditions. Chitosan and PEG can also influence stability. Without PEG, LNPs may agglomerate and become non-functional, but too much PEG can render them inert. Therefore, a balanced approach is necessary, though PEG has no significant impact on the drying process itself." }), - /* @__PURE__ */ jsx70(QaBox, { q: "At what temperature is the LNP dried?", a: "The internal temperature during the drying process is approximately 100 degrees Celsius, as noted in our publications." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Does each LNP formulation require individual testing?", a: "Yes, each LNP with a unique composition needs to be tested individually to ensure optimal stability and performance." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How can we test the efficiency of LNPs after the drying process?", a: "The efficiency can be tested through transfection studies. Additionally, the particles can be broken down to analyze the mRNA structure, although this is a more complex and time-consuming process." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Can you elaborate on how you use AI to customize LNPs? What exactly does the AI do, and how reliable is it?", a: "Our AI is used for screening, optimization, and the design of experiments, significantly reducing wet lab work. It also plays a role in developing new lipids, a process more closely associated with the work of Olivia Merkel." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What properties of LNPs could hinder the drying process?", a: "Theoretically, nothing should hinder the drying process if it is optimized for the specific cargo and target. Adjustments can always be made to accommodate different formulations." }), - /* @__PURE__ */ jsx70(QaBox, { q: "In your opinion, which LNPs are best suited for the drying process (SLNs, NLCs, etc.)?", a: "It depends on the specific application and composition of the LNPs." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What are the estimated costs for the entire drying process?", a: "The primary expenses are in raw materials and formulations, which are relatively expensive. The process itself can cost in the four-digit range." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Would you be willing to support us in our project? Would you dry our LNPs?", a: "The spray dryer requires 5 mL of a solution with 5% lipid solids and 0.02% RNA. We\u2019ve published recovery rates of 70%. You can send us the mRNA and LNP components to encapsulate and dry." }) - ] }), - summary: "The conversation focused on spray-drying LNPs, emphasizing the shelf life of RNA-based formulations, optimal storage conditions, and technical requirements for the drying process. Corden Pharma shared insights on the protocol, highlighting the need for testing each LNP formulation individually for stability. AI technology is used to optimize LNP formulations, and potential collaborations were discussed, including support for drying LNPs.", - months: "august" - }, - { - vorname: "Max", - nachnname: "Beckmann", - job: "Patient and Student", - affiliation: "University Bielefeld", - pictureurl: pics["max"], - tag: "Patient", - heading: "Consultation on University Hygiene Risks and Improvement for Hygiene Concept", - interviewtabid: "maxhygiene", - cardtext: "", - language: "de", - quoteNachname: "Beckmann, Patient", - quoteVorname: "Max", - quote: "It\u2019s important to keep my hygiene practices practical and effective, focusing on regular cleaning rather than excessive measures that may create more risks for invection.", - summary: [/* @__PURE__ */ jsx70("p", { children: "In the feedback on the hygiene concept, the author states that the number of toilets required can be reduced as only a marginal number of people will be present at the university. He praised the first four points of the concept as very good and well thought out. With regard to points five and six, he clarifies that no special hygiene items are required for the stay as long as the toilets are cleaned regularly and there is an additional service for the washbasins. He explains that the sources of danger can be significantly reduced by regular cleaning and the presence of toilet lids, which eliminates the need for special hygiene measures. He also argues that contactless facilities are not necessary as people wash or sanitise their hands after using the toilet anyway. Finally, he asks whether sources are needed for the hygiene concept and offers his help to create a revised version, which he would then like to review again before it is forwarded to Mr Johannfunke." })], - months: "August" - }, - { - title: "Dr.", - vorname: "Katharina", - nachnname: "Kolonko", - job: "Expert for nanocapsules", - affiliation: "Biologist", - pictureurl: pics["kolonko"], - tag: "Academia", - heading: "Optimizing our mRNA Delivery Systems", - interviewtabid: "kolonkofirst", - cardtext: "", - language: "de", - quoteVorname: " Dr. Katharina", - quoteNachname: "Kolonko, LNP Specialist with focus on chitosan and CF therapies ", - quote: "Wow, you\u2019re already further along than I was! That\u2019s a really good approach, especially since dry powder formulations can help with stability.", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "Our goal in reaching out to Dr. Katharina Kolonko, who earned her PhD working on chitosan-based nanoparticles for delivering nucleic acids to human respiratory cells in the context of cystic fibrosis, was to seek her advice on the design, stability, and application of nanoparticles. We wanted to learn from her experience with chitosan-capsaicin nanoparticles, especially the challenges she encountered, and apply her insights to improve our own project. Specifically, we aimed to better understand nanoparticle stability, transfection methods, and how to effectively design our experiments." })], - insights: [/* @__PURE__ */ jsx70("p", { children: "Dr. Kolonko provided us with valuable insights into working with nanoparticles, particularly emphasizing the advantages of nanocapsules. She highlighted that nanocapsules are more stable than nano-complexes, which is crucial for experiments involving complex environments and high shear forces. Additionally, her use of capsaicin wasn\u2019t aimed at improving transfection efficiency but was part of a broader strategy targeting specific channels. She also shared practical methods for measuring particle stability and cytotoxicity, giving us clear guidance on tools and techniques that we can apply to our project. Furthermore, Dr. Kolonko discussed the use of chitosan as a component in nanoparticle formulations. Chitosan, with its positive charge, can interact with mRNA, potentially enhancing the stability of the cargo. As an outlook, we plan to explore modifications using chitosan to improve the stability and performance of our mRNA delivery system. This approach may provide a more robust solution for optimizing nanoparticle formulations in future experiments. " })], - implementation: [ - /* @__PURE__ */ jsx70("p", { children: "We directly applied Katharina\u2019s insights to improve our nanoparticle design and testing methods. Her recommendations on using nano-capsules and OptiMEM as the transfection medium helped refine our experimental approach. She emphasized using a medium with fewer additives, like OptiMEM, and suggested removing antibiotics 24 hours before transfection to avoid interference, ensuring more controlled and effective conditions. We also explored new stability testing ideas, including nasal spray solutions and dry powder formulations. We incorporated her insights as follows: " }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Nano-Capsules Focus:" }), - " Based on Katharina\u2019s advice, we prioritized nano-capsules for their enhanced stability over nano-complexes." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Chitosan for Stability:" }), - " We're exploring chitosan to improve mRNA delivery system stability due to its positive charge, which binds mRNA to the nanoparticle surface." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "OptiMEM for Transfection:" }), - " OptiMEM is now our chosen transfection medium, with the suggestion to remove antibiotics 24 hours prior." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "MTT Test for Cytotoxicity:" }), - " We adopted the MTT test for cytotoxicity due to its simplicity and reliability." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Nasal Spray and Dry Powder Testing:" }), - " We are considering testing nanoparticle stability using nasal spray solutions and exploring dry powder formulations." - ] }), - /* @__PURE__ */ jsxs46("li", { children: [ - /* @__PURE__ */ jsx70("strong", { children: "Capsaicin Exclusion:" }), - " As capsaicin did not significantly impact transfection efficiency in Katharina\u2019s research, we decided not to include it in our project." - ] }) - ] }) - ], - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "How did you approach the design of Lipid Nanoparticles (LNPs)? What were the first steps you took at that time? Were you already familiar with LNPs, or was that a completely new experience for you?", a: "I started working with nanoparticles during my bachelor\u2019s thesis. I continued with nanoparticles into my master\u2019s thesis, working on a project related to cystic fibrosis. Initially, I worked with nano-complexes, but later switched to nano-capsules due to their stability, especially in cell culture media." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Since you\u2019re focused on stability and applying high shear forces, could you explain why nano-capsules are more stable than complexes in this context?", a: "Nano-capsules are generally more stable in cell culture media compared to nano-complexes, which often react with additives and proteins. However, I didn\u2019t explore shear forces much further. My main goal was to stabilize the particles in cell culture media for testing on cells." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What kind of cell culture medium did you use for these experiments?", a: "For transfection, we used Optimem as the medium, after removing antibiotics from the culture medium 24 hours prior to transfection." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How long did it take you to get to the point where you used nano-capsules?", a: "I only started working with nano-capsules towards the end of my PhD. I spent much of my time with nano-complexes, but when I visited a lab in Leeds, I shifted to nano-capsules. This transition happened quite late, just months before I finished my thesis." }), - /* @__PURE__ */ jsx70(QaBox, { q: "You mentioned capsaicin in your recent paper. Does it significantly affect transfection efficiency, and is it worth including in our experiments?", a: "No, capsaicin didn\u2019t affect transfection efficiency in our experiments. It was included to inhibit the Ina-channel as part of a dual strategy targeting both CFTR and Ina-channels, but it might not be necessary for your project." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Were there any critical components in the formulation of your nanoparticles that you couldn\u2019t do without?", a: "No, the main comparison was between nano-complexes and nano-capsules. Nano-complexes were inconsistent in size and stability, while nano-capsules were stable and smaller, which I believed would work better in later experiments." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Is there a way to check if the mRNA sticks to the outside of the nanoparticle or ends up inside?", a: "I believe the mRNA sticks to the outside. The process involved forming nano-capsules using lecithin and oil, and after the ethanol was evaporated, mRNA was added last. The mRNA likely adhered to the positively charged chitosan on the outside of the capsule." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you remember the ratio of mRNA to nano-capsule?", a: "I don\u2019t remember the exact ratio offhand, but it\u2019s documented in my dissertation. I optimized the amount of mRNA that needed to enter the cell for effective results, but didn\u2019t do extensive testing with nano-capsules." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Was determining the optimal amount of nanoparticles trial and error?", a: "Yes, definitely. It involved a lot of optimization." }), - /* @__PURE__ */ jsx70(QaBox, { q: "You used the MTT test for cytotoxicity. Would you recommend it for us, or are there better alternatives?", a: "Yes, the MTT test is simple and reliable. You just need to pipette accurately. We used it frequently, and it worked well." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How did you assess the stability of the nano-capsules? Did you use microscopy or another method?", a: "We used a device called a Zetasizer, which measures size, zeta potential, and polydispersity index (PDI). We used it to assess stability in cell culture medium over time, from half an hour to 24 hours." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you have any advice for our project or anything we might have missed?", a: "If you\u2019re planning to use a diffuser for nasal administration, you might want to test the stability of the nanoparticles in a saline solution or standard nasal spray solution. It could be useful to see how they behave in such a medium. Otherwise, it seems like you\u2019re well ahead of where I was!" }), - /* @__PURE__ */ jsx70(QaBox, { q: "Thank you so much for your time and insights!", a: "You\u2019re welcome! I\u2019m glad I could help." }) - ] }), - summary: "We identified several crucial insights to guide our project development. Nano-capsules were found to be more stable than nano-complexes, making them our preferred formulation choice. We will utilize chitosan to enhance mRNA stability due to its positive charge, while capsaicin was deemed irrelevant for our purposes. For transfection, we will use OptiMEM as the medium, removing antibiotics 24 hours prior to the procedure. We will assess stability with a Zetasizer and evaluate cytotoxicity using the MTT test. Additionally, we are exploring nasal spray and dry powder formulations to improve nanoparticle delivery. These insights will significantly shape our approach to optimizing mRNA delivery systems.", - months: "August" - }, - { - title: "Dr.", - vorname: "Oliver", - nachnname: "Dr\xE4ger", - job: "Bielefeld University", - affiliation: "Research Group Cellular Neurophysiology", - pictureurl: pics["draeger"], - tag: "Academia", - heading: "New approaches in electrophysiology and their application in our project ", - interviewtabid: "patchclamp", - cardtext: "", - language: "de", - quote: "", - aimofcontact: [/* @__PURE__ */ jsx70("p", {})], - insights: [/* @__PURE__ */ jsx70("p", {})], - implementation: [/* @__PURE__ */ jsx70("p", {})], - summary: "", - months: "August" - }, - { - vorname: "GxP course", - nachnname: "", - pictureurl: pics["gxpcourse"], - tag: "Industry", - heading: "Successful participation of a team member in a 5 day GxP course", - interviewtabid: "gxpcourse", - cardtext: "", - quote: "The GXP course was extremely useful as it provided us with important knowledge that supports our entire team in complying with quality standards. This knowledge will help us to organise our processes efficiently and in accordance with regulations in the future.", - quoteVorname: "Kaya", - quoteNachname: "Lange, Teammember", - type: "meta", - text: [ - /* @__PURE__ */ jsx70("p", { children: "I, Kaya, Team Member of iGEM Bielefeld 2024, recently participated in an intensive one-week GXP (Good Practice) training course, which was pivotal experience for both me and our project. The course covered essential regulatory frameworks, including" }), - /* @__PURE__ */ jsxs46("ul", { children: [ - /* @__PURE__ */ jsx70("li", { children: "Good Laboratory Practice (GLP)" }), - /* @__PURE__ */ jsx70("li", { children: "Good Clinical Practice (GCP)" }), - /* @__PURE__ */ jsx70("li", { children: "Good Manufacturing Practice (GMP)" }) - ] }), - /* @__PURE__ */ jsxs46("p", { children: [ - "which are all designed to ensure quality, safety, and compliance across every phase of scientific research and development. As the head of Integrated Human Practices, I found this training particularly valuable. It provided me with a deeper understanding of the rigorous standards that need to be maintained in research, especially concerning ethics, data integrity, and patient safety. I learned how to properly document research processes, ensure the reproducibility of results, and assess and mitigate risks, all while keeping the ethical considerations of our project at the forefront. I have acquired the ability to create standard operating procedures (SOPs) that guarantee the transparent and traceable documentation of each stage of the research process. This not only facilitates internal organisation but is also crucial for subsequent approvals and audits by regulatory authorities. It is of paramount importance to ensure the reproducibility of our experiments by maintaining accurate protocols and meticulously documenting all variables. This is of particular importance should the intention be to pursue clinical research at a later stage, as the reproducibility of experiments is a crucial factor in the validity of the results. I acquired knowledge of techniques for risk assessment, including Failure Mode and Effects Analysis (FMEA). This process enables the identification of potential risks in a project at an early stage, thus facilitating the development of strategies to minimise them. This approach allows us to identify and address potential sources of error before they lead to significant issues. This knowledge is crucial as we think about the future of our project, particularly if we aim to move our gene therapy approach for cystic fibrosis closer to clinical trials and real-world applications. My participation in the GXP training has equipped me with the necessary tools to potentially guide our team through the complex regulatory landscape, ensuring our work remains aligned with industry standards and ready for the next steps in development. One of the key speakers during the GXP course was ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "gxpexpert", text: "Dr. Marcus Berger" }), - ", whose expertise was invaluable to me and the entire team. After the course, I had the opportunity to ask Dr. Berger some questions, further deepening my understanding of the practical applications of GXP in research. The connection with Dr. Berger has been highly beneficial, as his insights helped shape key aspects of our project\u2019s development and compliance with industry standards. His guidance will continue to be a valuable resource for our team moving forward. Through this training, I feel better positioned to contribute to the team\u2019s efforts, ensuring our project adheres to global safety and ethical guidelines. This experience has strengthened our approach and set a solid foundation for future progress, ensuring that our research, public engagement, and potential clinical applications continue to meet the highest regulatory standards. " - ] }) - ], - summary: "Kaya, a member of the iGEM Bielefeld 2024 team, completed an intensive one-week GXP (Good Practice) training, which covered Good Laboratory Practice (GLP), Good Clinical Practice (GCP), and Good Manufacturing Practice (GMP). The training provided valuable insights into maintaining high standards of quality, safety, and ethics throughout the research process. Kaya learned crucial skills, such as documenting research processes for reproducibility, creating standard operating procedures (SOPs), and conducting risk assessments using techniques like Failure Mode and Effects Analysis (FMEA). This knowledge is essential for advancing their cystic fibrosis gene therapy project toward clinical trials and ensuring compliance with regulatory standards. Dr. Marcus Berger, a key speaker in the course, provided additional guidance, offering valuable insights that will continue to benefit the team.", - months: "august", - pictureurl_implementation: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/gxp/gxp-course-kaya.webp", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/gxp/gxp-course-group.webp" - }, - { - vorname: "Connect and Share", - nachnname: "", - pictureurl: pics["placeholder"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Brainstorming and selection of ideas and concepts", - interviewtabid: "connect", - cardtext: "", - quote: "", - aimofcontact: "", - insights: "", - implementation: "", - type: "meta", - summary: "", - months: "august" - }, - { - title: "", - vorname: "Michael", - nachnname: "Johannfunke", - job: "Representative body for severely disabled persons", - affiliation: "University Bielefeld", - pictureurl: pics["johannfunke"], - tag: "Academia", - heading: "Hygiene concept for students with disabilities and immunocompromised employees", - interviewtabid: "johannfunke", - cardtext: "", - quote: "The implementation of the hygiene concept is proving more difficult than expected due to the bureaucracy at the university. Nevertheless, the interview gave us a good insight into this labyrinth of regulations and we got started the prozess of implementation.", - quoteVorname: "Vera", - quoteNachname: "K\xF6hler, Teammember", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "We contacted the university because of the urgent need to address the issue of hygiene for students and staff, particularly those with immunocomprised students and staff. There was a need to develop an effective hygiene concept to ensure the health and safety of these people. We developed this concept in collaboration with ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "maxfirst", text: "Max" }), - ", our CF friend. " - ] })], - insights: [/* @__PURE__ */ jsx70("p", { children: "We learnt that our hygiene concept is very well-developed. But although a well-developed hygiene concept is already existing, strategic development and a step-by-step approach are needed. In particular, the step-by-step implementation was emphasized, like starting with equipping the toilets. Bureaucratic hurdles, such as the need to apply to the rectorate, were identified as a major challenge. In addition, it became clear that there is a great need for sanitary facilities and facilities for the disabled, especially due to the needs of students and staff with health problems. Interaction and networking with other universities was also considered valuable. " })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "The next phase of developing a new hygiene concept is to maintain contact with Mr. Johannfunke in order to continue to advance the hygiene concept in collaboration. The strategic approach entails the incremental implementation of measures, exemplified by the establishment of the inaugural toilet facility within the main building. It is of the utmost importance to ensure the uninterrupted implementation of the hygiene concept. In order to achieve this, it is essential to draw upon the existing plans and measures that have already been implemented in new buildings. We are working on advancing the plans at a higher level and are in regular dialogue with the Central contact point Barrier-free in order to overcome bureaucratic hurdles and actively promote the topic. Furthermore, it is necessary to intensify lobbying work in order to gain greater support for this issue at both the university and political levels. " })], - language: "de", - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "What do you think of our hygiene concept and our plan?", a: "This is a very acute problem. It particularly affects students with disabilities and immune-compromised staff, such as those with cancer or cystic fibrosis, who are forced to work from home. The problem is: Employees can work from home, but students cannot. There is a great need for hygiene measures, as contact must be avoided to minimise the risk of infection." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What are the challenges in implementing the hygiene concept?", a: "There is a lack of strategic development, although your hygiene concept is well developed. It is necessary to proceed in small steps, e.g. starting with a toilet in the main building. However, bureaucracy is a major obstacle. To be implemented, an application has to be submitted to the rectorate, and these processes are often lengthy and complicated." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What is the current situation at our university?", a: "While some progress has been made with the installation of additional toilets and disabled-friendly toilets in new buildings, there is as yet no overarching strategy in place to guide future developments. Furthermore, the lack of clarity regarding the mission statement and objectives leaves room for ambiguity. The duty of care that employers have towards employees is established, yet the situation is regulated differently with regards to students. The possibility of receiving compensation for disadvantages is open, but is frequently seen as inadequate." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What are the next steps in implementing the hygiene concept?", a: "It is essential that the concept be implemented in small, strategic steps. At the same time, it is vital that the rectorate and other decision-makers be consulted on a regular basis to ensure that this matter remains at the forefront of discussions. Furthermore, it is of great importance to engage in political lobbying to secure additional support for this issue." }) - ] }), - summary: "We got in touch because there was an acute hygiene problem for particularly vulnerable groups like immunocomprised persons at the university. We learnt from the exchange that despite a well-developed hygiene policy, strategic steps are still needed, especially to overcome bureaucratic hurdles. We have integrated these lessons into our project by focusing on continuous collaboration with the Central contact point Barrier-free and other decision-makers.", - months: "September" - }, - { - title: "Dr.", - vorname: "Sriram", - nachnname: "Vaidyanathan ", - job: "Principle investigator at Nationwide Children\u2019s Hospital and assistant professor Pediatric\u2019s at the Ohio State University College of Medicine ", - affiliation: "Nationwide Children\u2019s Hospital", - pictureurl: pics["sriram"], - tag: "Academia", - heading: "F508del mutation confirmed as the most common CFTR mutation worldwide, including Asia", - interviewtabid: "sriram", - language: "en", - cardtext: "", - quoteNachname: "Vaidyanathan, Innovative leader in pediatric research", - quoteVorname: "Dr. Sriram", - quote: "I think you're thinking about it the right way.[...] I would have talked to all of the exact people that you have already spoken with.", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "The objective of this contact was to gather further information about cystic fibrosis (CF) in Asia, with a particular focus on understanding potential data biases, identifying common mutations, exploring the available medications, and assessing the diagnostic practices in the region. " })], - insights: [/* @__PURE__ */ jsx70("p", { children: "The talk with Sriram revealed that, although cystic fibrosis (CF) is relatively uncommon in Asia compared to other disease like sickle cell disease, it nevertheless exhibits considerable genetic diversity. The identification of different mutations in the CFTR gene across the region has revealed that the F508del mutation is the most common, a finding that aligns with global patterns. However, in Asian populations, other rare mutations are also prevalent, which presents unique challenges in diagnosis and treatment. Additionally, it was found that environmental factors, such as air pollution, serve to exacerbate the symptoms of CF, particularly in densely populated regions, thereby further complicating the management of the disease. This emphasises the necessity for further research on CF that is specifically tailored to the needs of different regions, including improvements in diagnostic techniques and the development of treatments that are more closely aligned with the characteristics of the populations in question. " })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "The data were incorporated by confirming that the F508del mutation is not only the most common in Europe but also globally, including in Asia, highlighting a broader perspective and contributing to a significant horizon expansion in understanding the mutation's worldwide prevalence. This finding lends support to the idea that existing therapies targeting the F508del mutation will be effective for many patients worldwide, thereby providing a solid foundation for treatment. As a starting point, this is promising, but future efforts will focus on adapting therapies to address other, rarer mutations found in specific populations." })], - summary: "The contact provided valuable insights into cystic fibrosis (CF) in Asia and confirmed that the F508del mutation is the most common, as it is globally. However, the genetic diversity observed in Asia, together with the exacerbation of symptoms by environmental factors such as air pollution, highlights the need for more region-specific research. Future efforts will focus on refining treatments for rarer mutations and improving diagnostic accuracy in Asian populations.", - months: "September", - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "Should we explain our project a little bit in the beginning?", a: "That would be great." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Okay. As I wrote to you in the email, we are part of the Bielefeld-CeBiTec item team in Germany this year, and we have a project called Precyse, where we want to develop a platform for next-generation prime editing. With that, we aim to tackle CF mutations, starting with the F508del mutation. The complex should be adaptable for different mutations with minor changes. Essentially, we want to operate like Cas-based projects using prime editing tools but may transition to using a fanzor nickase in the future. Currently, we are working on a delivery system utilizing lipid nanoparticles to transport our complex into the lungs. These nanoparticles will be loaded with mRNA and designed for inhalation, similar to how asthma medications are delivered. Our goal is to advance personalized medicine and improve the standard of living for those affected by the disease, especially since a friend of one of our team members has cystic fibrosis and shares insights on the challenges faced by those with the condition.", a: "That's a very nice summary. I have a couple of clarifying questions. Are you undergraduates?" }), - /* @__PURE__ */ jsx70(QaBox, { q: "No, we are overgraduates at the University of Bielefeld.", a: "Oh, great! So, how are you optimizing prime editing, and who is helping you with this process?" }), - /* @__PURE__ */ jsx70(QaBox, { q: "We tried to reach out to Dr. Liu, but he hasn't responded yet.", a: "You should also contact Marianne Carlon in Leuven, Belgium. They didn't work on Delta F508, but Mattijs is a graduate student there and could be helpful." }), - /* @__PURE__ */ jsx70(QaBox, { q: "We\u2019ve already been in touch with Mattijs; he\u2019s been very nice.", a: "Perfect! You're reaching out to the right people. Are you aware of the Liu lab's Nature Biomedical Engineering paper that optimizes prime editing?" }), - /* @__PURE__ */ jsx70(QaBox, { q: "Yes, we are aware of it.", a: "Great! How can I help you further?" }), - /* @__PURE__ */ jsx70(QaBox, { q: "We have some questions about cystic fibrosis (CF) in Asia, specifically about its perceived rarity and its impact on diagnosis and research efforts.", a: "I can share some insights. While CF is often considered rare in Asia, it's essential to recognize that it affects various populations. In my lab, we analyze CF-causing mutations across different populations using data from Nomad, which focuses on genetic ancestry rather than self-identified race. CF is most prevalent in individuals of European origin, but it remains common across many populations worldwide, particularly in South Asia and other regions, although East Asia has lower prevalence rates." }), - /* @__PURE__ */ jsx70(QaBox, { q: "That\u2019s helpful. Can you explain how the perceived rarity of CF impacts diagnosis and research in Asia?", a: "The perception of CF as a 'white people disease' leads to underdiagnosis and fewer research efforts in Asian populations. For instance, in India, physicians are more familiar with conditions like sickle cell disease and thalassemia, leading to limited awareness of CF. Early diagnosis is challenging due to the lack of screening programs for CF, and currently, many regions are only beginning to implement sweat chloride testing." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Thank you! What mutations are more common in Asia?", a: "Delta F508 is still the most frequent variant across different populations, but its frequency decreases in non-European groups. While there are several other common variants, they do not respond to modulator therapeutics, which complicates treatment options. Focusing on Delta F508 is sensible, but you might face challenges in finding individuals with other variants due to the limited awareness and screening for CF in those populations." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Okay. But you would say that the other mutations are a bit under-researched, right?", a: "They are completely under-researched, right? Like I have not seen anybody work on L218X. I didn't even know L218X existed until I started looking into that group. And it seems like L218X, I've not seen it in any other population that frequently. So a lot of these variants seem to be unique. I don't know if they're completely unique to South Asians or if you go to Iran or something, whether you're going to start finding these people or whether if you go to Southeast Asia, then you're going to start finding some of these people, right? So we don't know that, but I think it will be really hard for you to find cells with these variants." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What do you believe, what steps should be done in the scientific community to ensure better representation of Asian populations, or in general, not only Western populations, in the genetic studies for cystic fibrosis?", a: "Ah, it's a very good question; it's also a question that doesn't have a very straightforward answer, right? In the sense that one, you know, you have to raise awareness and ensure that people are getting diagnosed, that's step number one, right. A lot of the numbers they showed you are based on prediction; they're not based on a registry in any country with some of these populations, right. India doesn't have a registry, China doesn't have a registry. There are efforts to make a registry, but you know it's a little hard to get started when you know if you go and argue that there are 6,000 children with CF that are being born in a year in India, and then the response that I've received before is well, there are about 60,000 kids dying of diarrhea, and you know so the priority from public health is often different. It's starting to change. So one focus would be diagnosis and raising awareness, and if you come across groups that are trying to improve their ability to diagnose then you try to help them, right. What's your other question in terms of treatment and research? I think being aware of it if you do end up finding samples that have some of these unique variants. Right then, trying to form a strategy around it is not bad; I've seen people identify variants of CF that are unique to different populations. I think even Marianne Carlon's group picked up variants that are unique to Belgium and then tried prime editing on that right, so those sort of strategies help quite a bit, right? And this is partially the reason you know I continue to focus on mutation-agnostic strategies; I've not really branched out into the Prime Editing world or the Base Editing world primarily because this seems to be a pretty challenging issue, but that said, you want as many shots at goal as possible. So, you know, if you're able to use prime editing to fix Delta 508, that still helps the most number of people with CF. And then maybe, you know, you could use that platform that's really well validated at that point, then go start targeting individual variants. The other idea with prime editing is that there's hope that you can probably at least try to replace one exon at a time. And that sort of makes things a little bit more manageable, right? So if you, you know, it's a little bit more, like if you have to target every single variant, then you're thinking about hundreds of different medical products. But if you're thinking of replacing every exon, that's 27, that's a countable number. And I would argue that you don't even have to do all 27. You start with the hotspots, right? You start with exon 11, you start with exon 12. But then as part of the conversation, I think we should just be thinking about exons that might be hotspots for variants in other populations and at least, you know, keeping them somewhere in the packing order so that as you go through the most frequent variants, right? And you're starting to develop strategies for the most frequent variants. Those are on the list so that we eventually get to them." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Yeah. Okay. And what do you think? Are there any healthcare challenges managing cystic fibrosis in Asian countries?", a: "Oh, absolutely. Right. I think, you know, if you're in a high-income country like Japan, I think, you know, the biggest challenge is awareness and getting diagnosed. If you're in low- and middle-income countries, right, then the challenge becomes access to drugs. So modulators are not available in most of Asia, or at least in the lower and middle-income countries in Asia, that's not available, like, it's not available for sale. Primarily, partly because they think that those people, like people at CF, don't exist in enough numbers in those countries. And partly because then it creates problems in terms of monetary, like factors, right. In terms of how much they charge for the modulators. Right. So those don't exist. I don't know, like they have access to pancreatic enzymes and things like that, but, you know, regular access to regular care is still a challenge. The base of physicians that are family with treating CF is only growing in some of those places at least from my personal experience but it\u2019s not by where we are. The children there are still mostly passing away when they are in their teenage years or early twenties. The sort of life span and life expectancy is no where close to what you would see in high-income countries. So, I think that is the biggest challenge, access to resources both, publicly and also from a private point." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Okay. And do you think that the environmental or like pollution is doing, like, I don't know how to say it correctly. So that there are like respiratory challenges because, yeah, right.", a: "Absolutely! Right. It's, you know, your exposure to pathogens is higher. Your exposure to pollution is significantly higher in a lot of these countries, right? Even China, which is, you know, much better off than a country like India still has a lot of pollution, right? And so, or I've never been to China, but at least that's what I read, right? But India, I grew up there and I can firsthand tell you that there's a lot of pollution there, right? And that I'm sure it affects it because it's been documented to affect people, just people without CF, right? On an average, it's supposed to like, the reports that I've seen are like, it takes a few years off of life expectancy for even people that have not been diagnosed with anything else, right? So I'm sure if there's a person with CF, then that's going to affect them even more negatively in places like India. And then I think that the exposure to pathogens might be slight, it might be higher and the lower down in the economic scale you go, the more, the exposure to pathogens are going to have, right? I think the third factor would also might be nutrition, right? Like, so if you have CF, you, you know, here, one way they were managing it was through high fat calorie rich diet and access to those sort of high fat calorie rich diets may not be that prevalent in some of these other places. And so that might become a factor." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Okay. And then one last question. So it's more a bit about you and your research. So what drew your attention to the issue of CF in Asia? So why did you start researching this topic?", a: "Oh, so that was a very okay. So the way it happened was I was at a conference and I was a postdoc at Stanford previously, as you know. So I was at a conference and I was, we were just, I think had a sort of a, you know, a dinner for everybody from our institution. And I was chatting with the nurse in the table and sitting in the table and so the San Francisco area has a lot of people from Asia. And so the nurse particularly said that they had a lot of children with CF who happened to originate in India, which really surprised me because that's not a disease that I'd heard growing up as being some, a common genetic disease there. Right. And so that kind of drew my attention. And then in subsequent conversations, when I spoke with physicians who are practicing in India, nobody said that they hadn't seen people with CF, right? Whenever I had the conversation, people would be like, oh yeah, I've seen a patient with CF or I know of somebody that has a child with CF, right? Which was surprising. And then when I went to India, I went to a hospital in my hometown and I was talking to the pulmonologist there. And he said he had 30 or 40 patients with CF in that, just that hospital. And that's, you know, it's not even, you know, it's probably one of the bigger cities in India, but I wouldn't even know if it's in the top 10 biggest cities in India. And this is not even the biggest center in that city necessarily. Right. So I was just really surprised. And he said he didn't have to really put in any effort to go seek out any people with CF. This was just in the people that walked into that hospital that got diagnosed with CF, right? So that kind of solidified the perception that perhaps it was underdiagnosed. And then the reason it happened was because the pandemic sort of forced most of us out of the lab. And so this ended up being something you can actually work on without going to lab." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Yeah, sounds really interesting the way you got there. at the beginning, you said you could tell us something, what came to you in mind when you heard about Project First, and you already prepared some slides. So I just want to ask if you maybe have something more to tell us that you haven't thought about yet, because the interview until now is highly interesting and I think we got a lot of new information until now. So maybe you have something. Maybe you have more interesting information for us.", a: "I think you guys covered a lot of what I had in mind, right? In terms of, I think if I were to start with prime editing and Delta 508, this is exactly the argument I would have made. I would have talked to all of the exact people that you have already spoken with, right? So I think that I don't have too much to add there. The only thing you could do is if you are looking at variants, right? Maybe I would try to come up with a plan for what variants you might go after, after Delta 508, right? And that could become part of your future research or something like that. Or if you can, I guess the one question I had for you is, so the correction of Delta 508 is sort of published, right? People have reported using lipid nanoparticles, at least to deliver base editing reagents, right? So how are you thinking about, like when you pitch the innovation in your project, how are you thinking about pitching your innovation? " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Okay. So I think, our idea was that we want to do like the, the prime editor is more efficient. Our idea is to use a smaller reverse transcript case and maybe when we will when the time is letting us do it, maybe not, we don't know if we will get in time there and everything will be ready. But in the Liu paper, I think was something about the La motive and some other stuff that we want to add to the prime editor so that it's even more efficient. And even then the idea of the LNP to spray dry because we thought then when there is not the that it has to be cool, like other medication, it's easier to bring it like to Asia or other places because they can just get the inhalator. ", a: "Right. So the one question I had for you on that is, have you looked at Daniel Siegwarts work on LNP? " }), - /* @__PURE__ */ jsx70(QaBox, { q: "No,not yet.", a: "Because they had a paper in science where they did intravenous delivery of lipid nanoparticles and they, they delivered a base editor. So when you present this, this might come up. So, you know, so I'm not saying you should change your strategy, but, you know, if you're trying to do a lot of work on lipid nanoparticles, you're going to have to do a lot of work on So you want to have thought about a response. And it's, it's a really interesting strategy. Um, trying to see if I can find it. Yeah. Here. It's a really interesting sort of nanoparticle strategy that they have presented. Uh, the nice thing is it is an IV delivery, which gets you to basal cells and they were able to get about 20% correction, right? So you could almost think of it as an alternative strategy. So if, you know, if you get the pushback or I don't know how you have to write to your proposal, but if the, the, the spray drying or the nebulization process is not going well for you, this might be something that you could propose as a backup because here they've shown that you can deliver lipid nanoparticles intravenously and they get to the basal cell population. Okay. And they get to, yeah. So that might be the only other direction I would point to as you're thinking about your delivery strategy. Right. Uh, the other innovation could be that if you can even optimize your prime editing to go a little bit beyond just Delta, if I wait, if you can show that you even replace the whole Exxon, you might have something that is a little bit more unique than what's out there. And then you don't have to even worry about delivery necessarily. " }), - /* @__PURE__ */ jsx70(QaBox, { q: "Okay. Thank you so much. We will look at the paper and we'll check it out. All right. Okay. Then, yeah. Thank you very much for the interview. ", a: "Yeah, that's perfectly fine. Good luck with your project. It's a really interesting project." }) - ] }), - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/sriram-interview.webp" - }, - { - title: "M.Sc.", - vorname: "Philipp", - nachnname: "K\xFChnel", - job: "PhD student in the Otorhinolaryngology working group at Bielefeld University", - affiliation: "Universit\xE4t Bielefeld", - pictureurl: pics["k\xFChnel"], - tag: "Academia", - heading: "Improvement of our culture protocols and experimental outcomes, particularly in maintaining ALI cultures", - interviewtabid: "pkuehnel", - cardtext: "", - quote: "Connecting with Philipp K\xFChnel, an expert in nasal cell cultivation, has been invaluable. His insights and expertise in ALI techniques have significantly enhanced our understanding and approach in this crucial area of research.", - quoteNachname: "Susat, Teammember ", - quoteVorname: "Kathleen", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "The aim of our contact with Philipp K\xFChnel, a PhD student from the Otorhinolaryngology working group of Bielefeld University, was to gain expertise in working with primary cultures, particularly focusing on air-liquid interface (ALI) cultures. Given his experience in this area, we sought his guidance to ensure that we were following best practices and to address any technical challenges we might encounter." })], - insights: [/* @__PURE__ */ jsx70("p", { children: "Through our discussions with Philipp, we gained valuable insights into the optimal conditions for cultivating primary cells and maintaining ALI cultures. He provided practical advice on troubleshooting of common issues, such as cell differentiation and culture stability, which were crucial for the success of our experiments. We also maintained close contact to exchange information about fungi that frequently contaminate ALI cultures. The expertise shared on combating these fungal contaminations was particularly valuable and greatly enhanced our understanding of effective prevention and treatment methods. " })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "We incorporated Philipp\u2019s advice by refining our culture protocols, particularly adjusting the conditions for ALI cultures to improve cell differentiation and overall culture health. This directly enhanced the reliability of our experimental results, ensuring that our work with primary cultures was both accurate and reproducible. " })], - language: "de", - summary: "The contact aimed to leverage Philipp\u2019s expertise in ALI cultures to improve our experimental protocols Gained insights into optimizing conditions for primary cell cultures and managing common challenges like fungal contamination", - months: "several times" - }, - { - title: "Prof. Dr.", - vorname: "Zoya", - nachnname: "Ingatova and Dr. Nikhil Bharti", - job: "Group Leader", - affiliation: "Institute of Biochemistry and Molecular Biology at Hamburg University", - pictureurl: pics["zoya"], - tag: "Academia", - heading: "Shaping the Future of Genetic Therapy: An interview with Prof. Dr. Zoya Ignatova", - interviewtabid: "ignatova", - cardtext: "", - quoteNachname: "Ingatova, CF Research Experts ", - quoteVorname: "Prof. Dr. Zoya", - quote: "Precision is key to minimizing side effects and ensuring the safety of your therapy.", - aimofcontact: "We conducted the interview with Prof. Dr. Zoya Ignatova and Dr. Nikhil Bharti from the Institute of Biochemistry and Molecular Biology at the University of Hamburg, seeking to deepen our understanding of their research on cystic fibrosis (CF) and explore additional CF mutations, as well as to learn more about cell culture techniques specific to CF research, since they send us the CFBE41o- cell line. Our aim was also to gather more information about their approaches in CF research, particularly their focus on treating genetic mutations like nonsense mutations, which are highly prevalent in CF.", - insights: [/* @__PURE__ */ jsx70("p", { children: 'We were struck by Ignatova\u2019s story about founding the iGEM team in Hamburg. Her passion for fostering creativity and innovation in science was inspiring. On a technical level, their advice on cell culture was incredibly practical and immediately useful. Dr. Nikhil Bharti explained how they handle CFBE41o- cells and ALI (air-liquid interface) cell culture. This advice directly addressed the challenges we\u2019ve faced in our own lab, giving us a method to improve our cell culture success rates. During our interview with Prof. Dr. Zoya Ignatova and Dr. Nikhil Bharti, their innovative approach to cystic fibrosis (CF) therapy, particularly "read-through" and tRNA-based therapies, stood out. "Read-through" therapies aim to bypass premature stop codons that prevent full protein production, offering a way to restore the function of critical proteins like CFTR in CF. This approach has the potential to treat a broad range of genetic diseases caused by similar mutations. The tRNA-based therapy is even more precise, targeting mRNA to correct faulty codons without altering the DNA, making it safer for long-term use. This flexibility, along with the ability to apply these therapies beyond CF, broadened our understanding of how such strategies can revolutionize treatments for genetic disorders.Ignatova highlighted, that using cell models closely resembling properties of the cell types targeted by our therapy is important for ensuring applicability of our approach to patient cells and its safety. A key focus throughout the discussion was safety. Prof. Ignatova emphasized the importance of ensuring that the therapies are highly specific, targeting only the defective codons while avoiding natural stop codons to prevent uncontrolled protein production. Moreover, their careful consideration of delivery systems further demonstrated their commitment to minimizing risks like toxicity in unintended organs. Their meticulous approach to safety has influenced how we think about developing and applying these therapies, making it clear that ensuring patient safety is as critical as achieving therapeutic success.' })], - implementation: "Prof. Ignatova's practical advice on cell culture had a transformative impact on our project. By adopting her method for CFBE41o- cells and improving our lab's sterilization protocols, we successfully established the cell line and significantly reduced the risk of contamination. In addition, her emphasis on safety in gene therapy guided us to review our Prime Editing construct and lipid nanoparticle (LNP) design. We focused on minimizing toxicity and off-target effects while ensuring precise targeting of lung tissues and the F508del mutation of the CFTR gene, making our approach safer and more efficient", - summary: "In our interview with Prof. Dr. Zoya Ignatova and Dr. Nikhil Bharti from the Institute of Biochemistry and Molecular Biology at the University of Hamburg, we aimed to deepen our understanding of their research on cystic fibrosis (CF) and explore additional mutations. Their innovative approaches, particularly tRNA-based therapies, aim to restore the function of proteins like CFTR by bypassing premature stop codons, presenting potential treatments for various genetic diseases. They highlighted the importance of precision in therapy to minimize side effects and enhance safety, emphasizing careful delivery systems to avoid toxicity. Prof. Ignatova's practical insights into cell culture techniques significantly improved our lab's success with CFBE41o- cells, guiding us to enhance sterilization protocols and refine our Prime Editing constructs. This transformative exchange underscored the critical balance between achieving therapeutic success and ensuring patient safety.", - language: "en", - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "We have heard you are passionate about iGEM. What inspired you to get involved, and what has your experience been like with the competition?", a: "My journey with iGEM began when I moved to Hamburg in 2014. Back then, Hamburg did not have its own iGEM team. Despite Hamburg lacking an iGEM presence, there were motivated students who were eager to establish a team. We started quite late with me as a principal instructor, around April, with the competition scheduled for October, so we had limited time. However, we managed to form a team and participate. Fortunately, we were successful in convincing the university administration to establish a steady support for the initiative, which ensured stable funding, including covering registration fees early on. This financial and logistical support gave the team the security to focus on their projects. Over the years, the Hamburg iGEM team has become a well-known and respected group at the university. It is a creative environment where students can push the boundaries of science through interesting and impactful projects. I moved on to other duties after several years of supervision, but I am proud to have played a role in its foundation. The university has recognized iGEM within the curriculum of Molecular Life Science, allowing students to earn credit points and have their work reflected on their transcripts. This acknowledgment further incentivizes students and ensures that their efforts are formally recognized." }), - /* @__PURE__ */ jsx70(QaBox, { q: "We have been having trouble with CFBE41o- cells not adhering well. Any advice?", a: "CFBE41o- cells can be tricky when it comes to adhesion, but you do not necessarily need to coat your cell culture vessels with fibronectin unless you are doing very specific studies, such as primary culture comparisons. For seeding, we simplify the process by skipping the PBS washing step. Instead, we seed the cells directly into DMEM supplemented with 10% fetal calf serum (FCS) and streptomycin. These cells may take a few days to recover and begin adhering properly, that usually works without requiring extra coatings." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do you manage fungal contamination in ALI cultures?", a: "Fungal contamination is one of the more frustrating challenges in cell culture because it is difficult to eliminate once it takes place. In cases of contamination, the best course of action is to shut down all ongoing cell culture work and clean everything thoroughly. You should start by running a sterilization cycle in your incubators, which ideally should reach around 180\xB0C. This should kill any fungal spores. If your incubators do not have that capability, you will need to autoclave everything and clean all surfaces and equipment multiple times with ethanol. It is crucial to remove all traces of contamination, as fungal spores can spread rapidly. The key is prevention through rigorous cleaning and maintenance protocols, and unfortunately, sometimes the only solution is to start fresh with new cultures after a full decontamination round." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What are you currently researching?", a: "Our primary research focus is on genetic diseases caused by nonsense mutations, also known as premature termination codons (PTCs). While cystic fibrosis (CF) is a major area of interest due to its high prevalence and the impact of specific mutations like the F508del, our research extends far beyond CF. We are targeting a broader category of genetic diseases that share a common feature\u2014early stop codons that lead to production of truncated proteins, which are non-functional. In CF, for instance, our main goal is to restore full-length CFTR protein production in primary patient-derived cells bearing various PTCs. One approach we are exploring is known as a 'read-through' therapy, which involves bypassing the premature stop codon so that the cell can continue producing the full protein. This strategy is applicable not only to CF but can be used in many other genetic disorders caused by nonsense mutations. Briefly, the read-through therapies we develop are tRNA-based therapeutic approaches, in which we design suppressor transfer RNAs (sup-tRNAs) to selectively target and read through PTCs, restoring the production of full-length disease protein without altering the natural termination codons. It is a highly specific and safe method, and because we are targeting mRNA rather than DNA, it allows for terminating the therapies by any unforeseen side effects." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What are your downstream validation methods?", a: "After we have developed a therapeutic approach, the first step is to validate whether it works at the protein level. First, we check whether the full-length protein is being produced. For CFTR, for example, we look at whether the protein is being correctly synthesized. We also conduct functional tests to ensure its functionality. For CFTR specifically, we test the activity of the ion channel by measuring ion flow through the cell membrane. Another test involves monitoring the height of the air-liquid interface (ALI) cultures, which reports on the ionic balance across the membrane. These functional tests are crucial for confirming that the therapy is not only leading to a production of the protein but is also restoring its function." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How often would patients need to undergo this therapy?", a: "Since our approach is designed to correct nonsense mutations during translation the therapy would need to be administered periodically. Based on our current understanding, we anticipate that patients might need treatment every three to four weeks, but this has to be determined in clinical settings." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How does your tRNA-based approach address safety issues?", a: "Safety is the top priority of our tRNA-based therapeutic approach. At molecular level, we ensure that the suppressor tRNAs we use are highly specific\u2014they are engineered to target only PTCs without affecting natural stop codons, which are essential for terminating the synthesis of every protein. In addition to the specificity, we address the immune response that can be triggered by any nucleic acids, including tRNA. Generally, tRNA has a lower immunogenicity than other molecules, such as mRNA, because of its partially double-stranded structure, which reduces the activation of the innate immune reaction. Another critical safety aspect is the safety of the delivery system. We need to ensure that the tRNA reaches the right type of cells without causing toxicity or accumulating in untargeted tissues like the liver, which is a common issue with many gene therapies. We are also working on optimizing our delivery methods. This precision is key to minimizing side effects and ensuring the safety of our therapy." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Why focus on CF research?", a: "Our involvement with CF research emerged somewhat by chance. Initially, we were deeply interested in understanding the variability in disease, specifically why individuals with the same genetic mutations show different symptoms or present different disease severity. Even siblings or twins with usually similar genetic makeup exhibit different disease outcomes. CF became a focus as we delved into the molecular mechanism of CFTR biosynthesis. However, our work is not confined to CF\u2014we are using the knowledge we gain from CF research and our expertise in protein synthesis and translation to develop treatments for other genetic diseases caused by nonsense mutations. The mechanisms behind these diseases are often similar, so the therapeutic strategies we are exploring can potentially be applied to a range of conditions." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What do you see as the biggest challenge in translating your research to real-world applications?", a: "Safety is the most critical hurdle in translating our research from the lab to clinical applications. Before any therapy can be considered for human use, we need to ensure that it is both safe and effective. In terms of efficacy, we have specific targets we need to meet for each disease. For CF, for example, you only need to restore about 10% of normal CFTR protein function to alleviate the symptoms. However, in other diseases, the therapeutic threshold is much higher, sometimes requiring near-complete protein restoration. Another significant challenge is the small number of patients affected by many rare genetic diseases, which requires regulation bodies to consider this and redefine conditions for clinical trials." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What are good preclinical models for CF research, in your view?", a: "Preclinical models are essential for testing the safety and efficacy of any new therapy. For CF research, one of the most reliable models is the patient-derived air-liquid interface (ALI) cultures, which replicate the lung environment and are mutation-specific. Primary cultures are available through the CF Foundation (USA) and allow researchers to test therapies in a context that closely mimics the human lung. While ALI cultures are excellent models, they are also challenging to grow and require about two months to be set up properly. For earlier-stage experiments, we often use simpler cell lines that are easier to handle. These lines allow us to perform studies at molecular level, such as testing how well a therapy restores protein production. While they do not fully represent the primary epithelial environment of the lungs, they are useful for initial validation steps before moving on to more complex models like ALI cultures." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What are your thoughts on using lipid nanoparticles (LNPs) versus other delivery systems, like AAV vectors?", a: "Lipid nanoparticles (LNPs) are a promising delivery system for many genetic therapies, but they have limitations. While LNPs can effectively target certain organs, such as the lungs and liver, they cannot cross the blood-brain barrier and thus unsuitable (for now) to target neuronal pathologies. For these conditions, adeno-associated viral (AAV) vectors may be more effective, as they exhibit an inherent ability to cross the blood-brain barrier. For CF specifically, we have used LNPs to deliver sup-tRNAs directly to the lungs. We teamed up with an US company that develops safe LNPs used also for vaccines. Delivery methods like intratracheal instillation\u2014where the LNPs are introduced into the trachea\u2014allow for targeting the lung tissue more directly, which is critical for treating CF." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do you view prime editing compared to other gene editing technologies?", a: "Prime editing is an exciting development in the field of gene editing, but it is important to recognize that no single approach is universally superior. Technologies like prime editing, CRISPR-Cas, and our own tRNA-based therapies each have their strengths and limitations. For instance, prime editing offers a highly precise method for correcting mutations directly at the DNA level, potentially providing a one-time, lifelong cure. However, our approach, which focuses on restoring mRNA translation, does not introduce permanent changes to the genome and unforeseen, also individuum-specific side effects, can be counteracted by immediate termination of the therapy. In turn, it requires continuous re-administration over time. Ultimately, the safety and efficacy of any approach must be carefully weighed. We are not yet at a point where we can definitively rank these technologies because the field is still evolving. Each approach has potential, and the choice of which to use will likely depend on the specific disease and mutation being targeted." }) - ] }), - months: "September", - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/for-wiki-texts/interview-ignatova/interview-ingatova.webp " - }, - { - vorname: "'MukoDino'", - nachnname: "Thomas Malenke ", - job: "Patient", - affiliation: "and CF Activist", - pictureurl: pics["mukodino"], - tag: "Patient", - heading: "Shaping CF Therapies: Lessons Learned from Patients' Real-World Experiences", - interviewtabid: "dino", - cardtext: "", - quote: "Living with cystic fibrosis has been a journey of perseverance and adaptation. Despite the challenges, I've learned that taking personal responsibility for my health, staying informed, and embracing the advancements in research can lead to a much-improved quality of life.", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "Our goal in reaching out to cystic fibrosis (CF) patients was to gain a firsthand understanding of their day-to-day experiences living with the condition. We aimed to explore how recent advancements in treatments have impacted their lives and transformed their approach to managing the disease. This initiative is vital for our project, as it helps us comprehend the significance of these treatments and their broader implications. A key aspect of our outreach was partnering with the ", - /* @__PURE__ */ jsx70("a", { href: "https://www.instagram.com/accounts/login/?next=https%3A%2F%2Fwww.instagram.com%2Fmukodino%2F&is_from_rle", children: "MukoDino" }), - "who has extensive reach within the CF community. This collaboration enabled us to distribute our survey widely among those affected, as we recognized that we could not conduct as many interviews as we could reach through the survey. We also sought to gather insights on research priorities and the future direction of CF therapies. " - ] })], - insights: [/* @__PURE__ */ jsx70("p", { children: "From talking with the CF patient, we gained some valuable insights that have shaped how we move forward with our project: Firstly, hearing about the day-to-day challenges with current CF treatments was eye-opening. It highlighted just how crucial it is for us to develop therapies that are not only effective but also make life easier for patients. We\u2019ve taken this to heart and are working to make our treatment process as efficient and user-friendly as possible. The patient also talked about the heavy toll that existing treatments can take, both in terms of time and physical strain. This feedback has pushed us to focus on streamlining our approach, especially with our prime editing and inhalation therapy. We want to cut down on the complexity and frequency of treatments, making things simpler and less burdensome for patients. We also learned about the ongoing need for more advanced therapies. The patient stressed the importance of continuing to push the boundaries with modulator therapies and gene editing. This has really driven us to prioritize our spray-dried lipid nanoparticles (LNPs) approach, which aims to deliver gene-editing tools straight to the lungs, tackling the root cause of CF. The discussion also gave us a clearer picture of the global disparities in CF care. It became evident that access to advanced treatments varies a lot around the world. This has made us think about how we can scale our therapy to be more accessible, even in places with fewer resources. The patient\u2019s personal experiences underscored the need for treatments that are tailored to individual needs. We\u2019re using this insight to make sure our therapy can be adapted to different genetic mutations and patient responses. Finally, their emphasis on enzyme development and gene therapy has influenced our research focus. We\u2019re now prioritizing these areas to ensure our work addresses both current needs and future possibilities in CF treatment. Overall, these insights have really helped us align our project with the real-world needs of CF patients, making sure that what we\u2019re developing is both practical and impactful. " })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "We incorporated the CF patient\u2019s insights into our project by making several key adjustments to better align with the real-world needs of CF patients. Understanding the challenges they face and the impact of current treatments helped us refine our approach significantly. Firstly, we focused on developing prime editing via inhalation therapy with spray-dried lipid nanoparticles (LNPs). This method directly targets genetic mutations in the lungs, addressing the patient\u2019s need for more effective and less invasive treatments. We\u2019re also fine-tuning the formulation and delivery of our LNPs to ensure they reach lung tissue efficiently while minimizing any discomfort. The feedback on global disparities in CF care highlighted the importance of creating a treatment that is not only effective but also affordable and accessible. We\u2019re considering how to scale our therapy to make it available in regions with limited access to advanced treatments. Additionally, the emphasis on the need for continued advancements in enzyme development and gene therapy has guided us to balance immediate therapeutic benefits with long-term research goals. This ensures that our project addresses both current needs and future possibilities in CF treatment. By integrating these insights, we aim to ensure our project not only advances scientific understanding but also meets the practical needs of CF patients, ultimately leading to more effective and accessible treatments. " })], - summary: "The aim of our outreach to cystic fibrosis (CF) patients was to gain insights into their daily experiences and how recent treatment advancements have affected their lives. Partnering with MukoDino allowed us to distribute a survey widely, as interviews were limited. Through discussions with patients, we learned about the challenges posed by current treatments, emphasizing the need for therapies that simplify management and reduce physical strain. This feedback has driven our focus on developing more efficient inhalation therapies using spray-dried lipid nanoparticles (LNPs) to deliver gene-editing tools directly to the lungs. We also recognized the global disparities in CF care, motivating us to consider scalability and accessibility for those in resource-limited regions. Patient insights underscored the importance of personalized treatments tailored to individual genetic mutations, prompting us to prioritize enzyme development and gene therapy in our research. Overall, these insights have shaped our project to align closely with the real-world needs of CF patients, aiming for impactful and accessible solutions.", - months: "September", - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "How did you come up with the name \u2018Muko-Dino\u2019?", a: "The name \u2018Muko-Dino\u2019 has a personal history. At a cystic fibrosis meeting, another patient joked that I, as a 58-year-old cystic fibrosis patient, was a \u2018Muko-Dino\u2019. The name alludes to my age, because in the past, cystic fibrosis patients had a much shorter life expectancy. So it was unusual for someone with the disease to still be so active at my age. The name stuck - initially as a joke, but I have since adopted it as a kind of nickname." }), - /* @__PURE__ */ jsx70(QaBox, { q: "When were you diagnosed with cystic fibrosis?", a: "I was diagnosed at the age of six after a sweat test. I had lost a lot of weight in the first year of my life and cystic fibrosis was already suspected, but it took a while before the diagnosis was actually confirmed." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What were your thoughts and those of your family after the diagnosis?", a: "My mum was naturally shocked. When you have a child, you are happy, and then to receive a diagnosis like this is a huge shock. For parents of cystic fibrosis patients, there is always a basic fear because the disease is life-threatening. Today, many parents hope that their child will live to be at least two years old so that they can receive modulators that can greatly improve the symptoms." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What mutation do you have?", a: "I have the Delta 508 mutation in duplicate, i.e. homozygous. This is the most common form of cystic fibrosis mutation and causes the typical symptoms associated with the disease, such as digestive and lung problems." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What were the first steps after the diagnosis?", a: "Back then, in the 1960s, there were hardly any specialised cystic fibrosis outpatient clinics. My paediatrician prescribed me Pankreon, an early enzyme preparation that was supposed to help me with digestion. Nowadays, the process is very different: A child is referred to a specialised outpatient clinic immediately after diagnosis, where they receive comprehensive care. This includes medical care, nutritional counselling, physiotherapy and support with socio-legal issues." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How has treatment changed over the years?", a: "The treatment of cystic fibrosis has improved dramatically over the last few decades. In the past, low-fat diets had to be followed, even with enzymes, which were not as effective as today's preparations. Back then, if you ate something fatty like chocolate or chips, you got diarrhoea. Nowadays, enzymes are much more effective and patients have hardly any dietary restrictions. As far as antibiotics are concerned, resistance is a big issue. That's why doctors change antibiotics regularly to prevent resistance from developing. Modulators have revolutionised the lives of many patients, even if they can trigger psychological side effects in some. But the alternative, frequent pneumonia, is much worse." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do you assess the progress made in cystic fibrosis research?", a: "The progress is absolutely remarkable. When I was born, the average life expectancy of a cystic fibrosis patient was one to five years. Today we are talking about over 60 years. This development is not only due to medical innovations, but also to better adherence on the part of patients, who follow their therapies more regularly and efficiently." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Is there anything you would like to see in the future of therapy?", a: "Personally, I am almost perfectly happy, as the current modulators have given me an enormously improved quality of life. My wish for the entire cystic fibrosis community is that gene therapy will be further developed. A treatment that addresses the genetic causes of the disease would be a huge breakthrough and it would be ideal if this could be achieved without serious side effects." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Which areas of research do you think should be strengthened?", a: "There are a few areas that I consider to be particularly important. On the one hand, enzymes should be further developed in order to work even better and further minimise side effects. Another major topic is bacteriophage research, which could help patients with multi-resistant germs. Modulators should also be further optimised and, of course, gene therapy must be driven forward in order to find a sustainable solution." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What role does personal responsibility play in cystic fibrosis?", a: "Personal responsibility is extremely important. Anyone living with cystic fibrosis has to deal intensively with their own disease and take responsibility for their health. This means regularly informing yourself about new treatment options and being disciplined about your own treatment. If you don't take care of yourself, you run the risk of not fully utilising the advances in medicine. The healthcare system gives you many options, but you have to actively utilise them. Luck definitely plays a role, but it is not enough on its own. I have been lucky in my medical history because I live in a country with good access to medical care and have been able to benefit from the modulators. But even the best luck doesn't help without initiative and commitment. You have to play an active role in making the most of the opportunities that life offers you." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What does your daily routine look like?", a: "My daily therapy takes about two to three hours. This includes taking enzymes and antibiotics as well as inhalations with saline solution and antibiotics. I also do regular autogenic drainage and stretching exercises to support my lungs. It is important to stick to this routine consistently, as even a few days without therapy can lead to inflammation." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What is the most important part of your daily routine?", a: "It's difficult to single out one part because all aspects work together. If I left out the enzymes, I would only be able to eat salad because my body wouldn't be able to absorb any nutrients. Without the modulators and antibiotics, I would quickly get pneumonia, which means I would have to take weeks off. So regularity is the key to staying healthy in the long term." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you do any sporting activities?", a: "Yes, I cycle to work every day and take the stairs to the eighth floor where I have my office. I don't do intensive sports like going to the gym, but I do exercise regularly in my everyday life, which is very important for my health." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you use physiotherapy?", a: "I do my own physiotherapy at home as I have learnt the techniques well over the years. I used to visit a physiotherapist regularly, but I no longer need to. Also, there are hardly any specialised physiotherapists for cystic fibrosis patients in my area." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Which organ affects you the most in your everyday life?", a: "Thanks to the modulators, none actually. But if I don't take the enzymes, I can't eat anything, which leads to rapid weight loss. Without the antibiotics and modulators, I would be more susceptible to infections and would quickly develop pneumonia, which would require weeks of recovery." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Have you or anyone close to you taken part in clinical trials?", a: "I personally have not participated in clinical trials, but I encourage other patients to do so, as trials are often the only way to test and develop new treatments." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What impact do advances in cystic fibrosis research have on patients' lives?", a: "Advances in cystic fibrosis research have had an enormous positive impact on patients' lives. In the past, life expectancy at diagnosis was often only a few years. Today, many patients can live into old age. The introduction of modulators that specifically stabilise the disease-causing proteins and improve their function has significantly improved patients' quality of life. Research has also contributed to patients being better informed about their disease and having effective therapies available, leading to better overall disease management." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do you assess the differences in the treatment and support of cystic fibrosis patients in Germany compared to other countries?", a: "In Europe, especially in Germany, we live at a very high medical level, even if there are challenges such as the shortage of specialists. The difference in prosperity in the USA is greater, but at the same time it is also a driver of innovation. Compared to countries as some third-world countries, where cystic fibrosis patients have to wait in hospitals for appointments between infectious patients, we are complaining at a high level here. There is always room for improvement, but overall we have a brilliant healthcare system." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Do you feel sufficiently informed by the available sources of information?", a: "Yes, the information situation is good. You can find sufficient information from organisations such as the CF Foundation, the CF Trust and Mukoviszidose e.V.. However, you have to get involved yourself and actively seek out the information." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Is there anything else you would like to tell us?", a: "It is important to understand that CF patients are very different, including in terms of their cultural and family background. In addition, surveys and questions should be reviewed in advance by patients or parents to ensure that they are understandable and do not contain unfortunate wording. If you need any help or anything, I would love to help you. Send me the link as soon as the website is ready and I'll give you feedback. I can also circulate the survey in the community. I'm always available if you have any further questions or need support." }) - ] }), - pictureurl_interview: "https://static.igem.wiki/teams/5247/photos/hp/zoom-mukodino.webp" - }, - { - title: "Dr. Kerstin Landwehr", - vorname: "Senior Physician for Pediatrics & Pneumology and", - nachnname: "Elena Wiesler", - job: "Psychologists in child & adolescent medicine ", - affiliation: "at Bethel Hospital in Bielefeld", - pictureurl: pics["bethel"], - tag: "Medical Professional", - heading: "Holistic Care for Cystic Fibrosis: Exploring the Psychological Impact and Role of Gene Therapy", - interviewtabid: "psychol", - cardtext: "", - language: "de", - quote: "Many families are confronted with extremely high therapy and treatment costs. These are often expensive and unavailable everywhere.", - quoteVorname: "Elena", - quoteNachname: "Wiesler, Phsychotherapist at hospital Bielefeld ", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "In previous interviews, ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "maxfirst", text: "Max" }), - " and ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "dino", text: "Thomas" }), - " shared how the psychological burden of living with cystic fibrosis weighs heavily on patients. Parents ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "joshua", text: "Joshua" }), - " and ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "julia", text: "Julia" }), - " also emphasized that mental health challenges are a major issue for both patients and their families. This prompted us to delve deeper into the psychological, social, and medical difficulties faced by cystic fibrosis (CF) patients and their support systems. A key goal was to understand how gene therapies are perceived and how they may affect the quality of life for CF patients. We aimed to gather insights from various perspectives\u2014patients, caregivers, and healthcare professionals\u2014to ensure our project aligns with their needs and addresses the most pressing challenges. Given the complexity of these psychological aspects, it was crucial for us to engage with psychologists to gain a professional, expert opinion. We visited the medical professionals at the klinikum bethel. Their input helped us better understand the mental health impacts of CF and the potential emotional adjustments required when integrating gene therapies into treatment plans. This guidance was invaluable in shaping our approach to developing a holistic solution that addresses not only the medical needs but also the emotional well-being of patients and their families. It informed our Integrated Health Program (IHP) strategy, emphasizing the importance of interpersonal relationships, effective communication, and community engagement, extending beyond purely scientific considerations. " - ] })], - insights: [/* @__PURE__ */ jsx70("p", { children: "Through our discussions, several valuable insights emerged that have significantly deepened our understanding of the challenges faced by CF patients and their families: CF patients and their families often endure immense psychological strain. Anxiety, depression, and frustration are common, exacerbated by the constant uncertainty about the disease\u2019s progression and the effectiveness of new treatments. The emotional toll is profound\u2014not just due to the physical burden of the illness, but also because of the hope and fear that come with emerging therapies. While new treatments bring promise, they also raise concerns about their potential success and the unknowns that accompany them. There\u2019s a strong sense of optimism regarding gene therapies, as they hold the potential to significantly improve both life expectancy and quality of life for CF patients. Many are eager to embrace these innovations, seeing them as a long-awaited breakthrough. However, this excitement is often mixed with concerns about side effects, the accessibility of these therapies, and their long-term effectiveness. The prospect of such treatments brings hope, but also a degree of scepticism, particularly around whether they will be accessible to all who need them. Psychological support, family counselling, and the involvement of patient communities are essential in helping patients and their families cope with the emotional and mental challenges of both the disease and its treatments. The strength of these support systems can make a profound difference in how well patients navigate the challenges of living with CF, particularly when adapting to new therapies. We also learned that while new therapies are exciting, their success often depends on their practicality. Treatments that are complex, invasive, or burdensome are less likely to be adopted, even if they promise significant benefits. Simplicity, ease of use, and reducing the treatment burden are critical factors in ensuring patients fully engage with and benefit from these therapies. These insights have shaped our approach, reinforcing the importance of considering both the psychological and practical aspects of new gene therapies, to better address the needs of CF patients and their families. " })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "These findings directly influenced several key areas of the project. We adapted the project to emphasise ease of use and minimal disruption to patients' daily lives. For example, we focused on developing a therapy delivery system that was as non-invasive as possible. Recognising the mental health challenges, we integrated our project with a simple therapeutic method to reduce the mental burden on patients. We have emphasised transparency in communicating the benefits, risks and expectations of gene therapy to ensure that patients have a realistic understanding of the potential outcomes. This includes working closely with patient organisations to disseminate clear and accurate information. We are actively engaging with CF patient communities and healthcare professionals to gather ongoing feedback and ensure that the project evolves based on real patient experiences and challenges. Therefore we used our survey to gather feedback from patients and their families. By integrating these insights, we aim to create a gene therapy project that addresses not only the medical needs, but also the emotional and practical concerns of CF patients and their families. " })], - summary: "Our project aims to address the psychological and medical challenges faced by cystic fibrosis (CF) patients and their families, particularly regarding gene therapies. We engaged with psychologists and gathered insights from patients and caregivers, revealing significant emotional strain and a mix of optimism and concern about new treatments. Key findings highlighted the importance of psychological support and the practicality of therapies in ensuring patient engagement. In response, we are developing a user-friendly therapy delivery system that minimizes disruption to daily life while emphasizing transparent communication about treatment risks and benefits. Our goal is to create a comprehensive gene therapy solution that meets the medical and emotional needs of CF patients.", - months: "September", - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "Which psychological challenges are particularly relevant for cystic fibrosis patients?", a: "Psychological problems are often a major issue for cystic fibrosis patients. Many patients experience anxiety and depression, and their parents are also often affected. This is exacerbated by the constant strain and stress associated with the disease. Special attention is therefore paid to psychological support during diagnosis and ongoing treatment. Regular screenings for anxiety and depression as well as the early involvement of parents in the treatment process are central components of care." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What significance do the new therapies have for cystic fibrosis patients?", a: "New therapies are \u2018game changers\u2019 for cystic fibrosis patients, as they significantly improve life expectancy and quality of life. In the past, cystic fibrosis was mainly a paediatric disease with a short life expectancy. Today, new therapies make it possible to significantly extend life expectancy and improve quality of life. Nevertheless, the disease persists, and patients still require comprehensive treatment. Improving quality of life through early and continuous therapy therefore remains of great importance." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How is psychological support integrated into regular treatment?", a: "Psychological support is an integral part of the treatment of cystic fibrosis. Care is taken to ensure that both patients and their families are supported at an early stage. This includes regular screenings for anxiety and depression, psycho-educational measures and, if necessary, further psychotherapeutic support. The team works on an interdisciplinary basis to ensure that all aspects of patient care are taken into account. If necessary, external help is also arranged." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How is co-operation between medical specialists and psychologists improved?", a: "The collaboration between medical specialists and psychologists is characterised by short communication channels and close cooperation. Specialists can exchange information quickly and make decisions together. This enables comprehensive and coordinated care for patients. Effective communication channels are already in place and this close co-operation is seen as very positive. Improvements could be achieved through additional time slots for dialogue or expanded resources." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do families react to the news of a serious diagnosis and how important is it that they receive support at an early stage?", a: "Families are often shocked at first when they receive the diagnosis. They first have to come to terms with it and process it. Initially, many don't ask for psychological support straight away, although that would be helpful. It would be good if they were informed about all available resources at an early stage, even if they don't want to make use of them straight away." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How does access to gene therapy affect the psychological distress of patients and families?", a: "Access to gene therapy can have a significant impact on psychological distress. When therapy is effective, families often see great progress and feel relieved. But if there is no suitable therapy, many are stuck with older, less effective treatments, which can lead to frustration and a sense of disadvantage. The difference in quality of life and outlook is huge." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do patients and families feel about gene therapy compared to traditional therapies?", a: "The willingness to participate in gene therapies is often high, especially if the existing therapies are not sufficient. There is a great openness to new approaches, even if they are new and possibly not yet fully tested. The hope for progress and improvement is strong, but there are also concerns and uncertainties about new therapies." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What psychological challenges can arise following the introduction of new therapies?", a: "New therapies not only bring relief, but also challenges. Patients and families have to adapt to a changed reality. Identity crises can occur, especially if the illness has been a big part of life for a long time. The process of adjustment and the possible feelings of alienation from the previous community can cause additional psychological stress." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How important is comprehensive information and psychological support in connection with gene therapies?", a: "It is extremely important that patients receive comprehensive information and psychological support. People should know what they can expect from the therapy and what adjustments might be necessary. Talking openly about possible disappointments and challenges can help them to cope better with the changes." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How does the role of support groups and patient organisations influence confidence in new therapies?", a: "Support groups and patient organisations are crucial for confidence in new therapies. If they are actively involved in research and provide transparent information, this strengthens patient confidence. The use of donations and the establishment of registries by such organisations creates trust and shows that there are serious efforts to improve the situation." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What are the challenges in adapting therapies to different genetic mutations?", a: "Adapting therapies to different genetic mutations is a major challenge. While there has been progress in the treatment of certain mutations such as Delta-F508, we are still at the beginning with others. In the long term, a modular gene therapy that is customised to the specific mutations would be ideal. It will take a lot of work to develop these therapies for all relevant mutations." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do families and patients deal with the rapid feedback on experimental therapies?", a: "If you realise that a therapy is not working as expected, this is communicated very quickly. The feedback system is quite effective: either there is cause for euphoria because everything is going well, or there is bad news. This quick feedback is also reassuring because it means you don't have to be in the dark for long. You are simply grateful when you know how the therapy is going, even if it is not having the desired effect." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How important is the community for cystic fibrosis sufferers?", a: "The cystic fibrosis community is incredibly strong and well connected. That's really impressive. Those affected often have no other point of contact than this community to exchange information. It's a reliable source of valid information, and that's worth its weight in gold. The community is honest and realistic - there is no sugarcoating, the information is direct and well documented." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What is the relationship between different specialist disciplines in the treatment of cystic fibrosis?", a: "In cystic fibrosis treatment, the specialist disciplines work together as equals. At congresses, all disciplines such as physios, doctors, psychologists and nutritionists are equally represented. Everyone takes each other seriously and there is a strong interest in developing each other further. This is really exciting because it shows that everyone is working together to provide the best care." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do families deal with the challenges of therapy and the financial aspects?", a: "Many families are confronted with extremely high therapy and treatment costs. There has been progress and many treatment options in Germany, but these are often expensive and not available everywhere. As a result, some families are forced to leave their home country in order to receive better medical care. This is an enormous burden and shows how unfair the distribution of resources is worldwide." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How is medical care for refugees organised?", a: "For refugees from countries such as Ukraine or other crisis areas, care is often a challenge. During emergency care, the children are treated as if they were German patients. But when the refugees have to return to their home countries, the therapy often ends, which is an enormous burden for the families. It is difficult for them to prepare for the future when their status is unclear, and they constantly live with the fear of being deported." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How much psychological stress is caused by therapies and their implementation?", a: "Therapies can be a major psychological burden, even if they have fundamentally positive effects. Regular inhalations, tablets and other treatments are often tedious and require a lot of discipline. Some patients find it extremely challenging to stick to a regular therapy schedule, especially if the therapy does not bring any immediately visible progress in the long term. It is important to be realistic about the burden of therapy, as it can have a major impact on daily life and well-being." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do patients react to new therapies and the associated challenges?", a: "Many patients are open to new therapies but implementing them can be a major challenge. If a new therapy doesn't work immediately at first or even has side effects, this can be demotivating. This is particularly difficult if you have been undergoing treatment for a long time and are hoping to make great progress. The path to a better condition is often arduous and not every therapy brings the desired improvement. Nevertheless, it is important to keep going and persevere with the therapy, even if there are hard times." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How much of the overall illness is psychological distress, in addition to the physical symptoms and distress from therapies?", a: "The psychological part of the burden is difficult to quantify, as it varies greatly from individual to individual and is influenced by many factors. The interaction between psychological stability and physical health is considerable, as psychological stress can impair self-care and thus physical health. At different stages of life, the psychological component can vary. For example, it can increase during puberty and young adulthood. The psychological component is therefore not small and varies depending on the individual situation and phase of life." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How is the visibility of the disease assessed through projects such as MukoMove or projects for children?", a: "The visibility of the disease through such projects can be helpful in raising awareness. With rare diseases such as cystic fibrosis, the disease often remains abstract if there are no people directly affected nearby. Educational projects such as MukoMove can help children develop a better understanding of the disease, even if the impact is limited if there are no direct points of reference. However, it can be helpful if patients themselves explain their disease in schools or classes, as this provides direct and personal insights." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What are important aspects of designing a gene therapy project so that it is viewed positively by cystic fibrosis patients?", a: "When designing a gene therapy project, care should be taken to minimise the practical hurdles. The therapy" }), - /* @__PURE__ */ jsx70(QaBox, { q: "What tips can be given to improve the accessibility and acceptance of projects or therapies in cystic fibrosis patients? ", a: "It is important to ensure the accessibility of projects and that they are practical to implement. The burden on patients should be minimised. This includes ensuring that the therapy is not only effective but also as pleasant as possible. In addition, communication about the progress of the therapy should be transparent and understandable to build trust and make it clear to patients how they can benefit from the new developments. " }) - ] }), - pictureurl_aim: "https://static.igem.wiki/teams/5247/integrated-human-practices/on-our-way-to-interview-psychologists.webp" - }, - { - title: "Dr.", - vorname: "Makoto", - nachnname: "Saito", - job: "Postdoc", - affiliation: "Broad Institute of MIT and Harvard", - pictureurl: pics["saito"], - tag: "Academia", - heading: "Insights and Recommendations from Interview on Protein Engineering", - interviewtabid: "saito", - cardtext: "", - language: "en", - quoteNachname: "Saito, Leading research expert of FANZOR ", - quoteVorname: "Dr. Makoto", - quote: "This project is actually a really hot, very important project at the absolute cutting edge of science. Honestly, I see researchers around the world working on developing smaller CRISPR-Cas-like prime editors. It shows that you guys are working on a really important problem.", - aimofcontact: "The aim of the interview was to gain deeper insights into the topic of protein engineering, especially with regard to Fanzor (SpuFz) and to get feedback on our existing approaches for possible nickases, as well as for the planned nickase assay. ", - insights: "The interview provided the iGEM team with valuable advice regarding their Prime Editing project and especially on their planned nickase assay. Dr Saito gave detailed feedback on technical challenges, especially with protein expression in E. coli, and suggested switching to yeast for better results. He also encouraged the team to plan carefully, given the project's complexity, and offered guidance on future experiments.\u202F ", - implementation: "We have adapted our planned nickase assay according to Dr Saito's advice and changed it accordingly to expression of the RNP complex using yeast.", - summary: "The interview aimed to gain insights into protein engineering, particularly regarding Fanzor (SpuFz), and to get feedback on potential nickases and a planned nickase assay. Dr. Saito provided valuable advice, suggesting the use of yeast for protein expression over E. coli due to technical challenges and encouraged careful planning. Based on his feedback, the iGEM team has adapted their nickase assay to express the RNP complex in yeast, aligning with Dr. Saito's recommendations.", - months: "august", - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "Are you familiar with iGEM, by the way?", a: "Of course, I know it." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Did you participate yourself at some point?", a: "Unfortunately, I didn't. I belong to an earlier generation. iGEM actually started relatively recently." }), - /* @__PURE__ */ jsx70(QaBox, { q: "We thought for the structure of the interview, we would start by giving you a brief overview of our project so far to familiarize you with it. Then, we\u2019ll move on to the questions. Is that okay?", a: "Yes, of course, please go ahead." }), - /* @__PURE__ */ jsx70(QaBox, { q: "We've been working on this project for more than half a year now. It began because one of our team members has a friend with cystic fibrosis. That got us interested in the topic. We started by investigating how gene editing technologies like CRISPR-Cas9 could be applied to cystic fibrosis. Then, we explored prime editing and considered if it could be used for this disease or adapted for other applications. Initially, we wondered if we could make prime editing more compact, especially since delivery is challenging due to its large complex size. We looked into various delivery methods, including AAVs (Adeno-Associated Viruses). Our first approach was to explore alternative nickases and possibly engineer new ones. That's how we came across your research \u2013 Fanzor. We also considered other candidates like CasX. Are you familiar with CasX?", a: "Yes, I am." }), - /* @__PURE__ */ jsx70(QaBox, { q: "We're also experimenting with changes to the editing complex itself. In addition, we aim to deliver the editing complex using nanoparticles. We chose to focus on the lungs, hoping that targeting this area would reduce the need for AAV viruses, making the delivery less immunogenic and not as limited by size.", a: "So, in this iGEM project, you're working on both reducing the size of the prime editor and developing nanoparticles for delivery?" }), - /* @__PURE__ */ jsx70(QaBox, { q: "Yes, that\u2019s the plan. Before we start with the main questions, how much time do you have? Is half an hour okay?", a: "No problem, half an hour is fine." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Great! Then, let\u2019s start with the first question. Our approach to modifying the endonuclease FANZOR started with understanding its mechanism. Could we go over this mechanism with you to ensure we understood it correctly?", a: "Of course, please go ahead." }), - /* @__PURE__ */ jsx70(QaBox, { q: "As we understand it, the FANZOR protein has different domains, including the RuvC and the NUC domain. The RuvC domain cuts the DNA after binding. Is that correct?", a: "Actually, we don't call this domain the NUC domain anymore. In the past, about eight years ago, researchers thought it was a nuclease domain, called the 'NUC' domain. However, now we know that this domain itself does not have catalytic activity. We call it the TNB domain, derived from the protein's ancestor, TNPB." }), - /* @__PURE__ */ jsx70(QaBox, { q: "I see. Thank you for clarifying. We also noticed that Cas9 has two catalytic domains, which allow for mutation of one or two of them to create a nickase, making single-strand cuts. Is this similar with Cas12 elements?", a: "It's a bit more complicated with Cas12. This project, in particular, is very advanced and involves understanding the nuances of these domains. The paper on Cas12 prime editing discusses how mutations can affect functionality. In FANZOR, you might be able to attempt similar mutations, though I haven't personally tried them." }), - /* @__PURE__ */ jsx70(QaBox, { q: "That aligns with our thinking. We recently looked at a paper describing the engineering of Cas12a into a nickase. Our approach involves investigating similar patterns in FANZOR. For example, we identified two key amino acids \u2014 glutamine and arginine \u2014 that appear to interact with the DNA.", a: "I agree that targeting specific domains is a potential approach. However, altering an enzyme to gain a new function is challenging. The Cas12a paper provides a path forward by showing how certain domains can be mutated to create nickases. Actually, this project is really important and at the forefront of science. Researchers worldwide are working on developing smaller CRISPR-Cas-like prime editors." }), - /* @__PURE__ */ jsx70(QaBox, { q: "That\u2019s awesome to hear, thank you for this feedback. We plan to test this concept. One of our ideas is to mutate specific amino acids in the TNB domain of FANZOR to see if it changes its functionality. We have ordered these different versions of FANZOR.", a: "That\u2019s a reasonable approach. However, be cautious. If the mutation destabilizes the protein, it might not be expressed correctly. But it's worth trying, as the outcome can vary depending on the mutation and the protein." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Yes, we are aware of that risk. We\u2019re also planning to use in vitro assays to test our candidates. We designed guide RNAs and will use gel electrophoresis to analyze the results, looking for nicking or double-strand cuts.", a: "Interesting. Are you planning to purify each candidate protein?" }), - /* @__PURE__ */ jsx70(QaBox, { q: "Yes, but we cannot use yeast, so we will try producing the proteins in E. coli and then purify them. We\u2019ll combine them with in vitro-transcribed omega RNA. Do you think that would work?", a: "It might not work with E. coli for FANZOR. In our experience, E. coli cannot produce the holoenzyme of FANZOR without its associated RNA. We initially tried E. coli but then switched to yeast, which allowed us to obtain functional protein-RNA complexes." }), - /* @__PURE__ */ jsx70(QaBox, { q: "That\u2019s valuable insight. Is the reason E. coli fails because it cannot properly form the protein-RNA complex?", a: "Possibly. The exact reason isn\u2019t clear, but we found that only in yeast, where the protein and RNA are co-expressed from their native loci, could we obtain a functional complex. We also tried replicating this setup in E. coli, but it didn't work." }), - /* @__PURE__ */ jsx70(QaBox, { q: "This is really helpful information. We will consider switching to yeast. Do you have any advice on how to quickly transition our approach from E. coli to yeast?", a: "You can certainly use yeast. It\u2019s not too difficult. You could order the plasmids from Addgene and start culturing yeast. Does your iGEM team have the ability to work with yeast?" }), - /* @__PURE__ */ jsx70(QaBox, { q: "Yes, we can. We've just never worked with yeast before because it seemed easier to use E. coli. But it\u2019s good to know that it\u2019s manageable.", a: "Yes, it is. We used a yeast strain called BCY123, which contains the galactose induction system. For protein induction in yeast, this system is necessary. If you use another yeast strain, make sure it has the capability for galactose induction." }), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Got it, we will consider using Gibson assembly. Once we clone our mutation candidates into your plasmid, we\u2019ll express the RNA-protein complex in yeast and purify it from there. Is that correct?", - a: "Yes, that's the right approach. The plasmid we used has an MBP-tag for purification, which works better than a His-tag. It avoids the high background that His-tags often introduce." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Thank you for this advice. We also have a question about the yeast strain you used, BCY123. Is it crucial to use this specific strain, or could we use an alternative as long as it supports galactose induction?", - a: "In theory, you can use any yeast strain that allows galactose induction. However, I recommend following the working protocol with BCY123 since it has already been proven to work. It\u2019s the safest way to ensure consistency in your experiments." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "Perfect, thank you very much for all your detailed answers! That would be it for the interview, it was a pleasure getting to know you!", - a: "Thank you! I\u2019ll be in Tokyo at RIKEN, one of the top science institutes in Japan. If you know any German students interested in coming to Japan, please let them know. We have various opportunities for internships or short stays." - } - ), - /* @__PURE__ */ jsx70( - QaBox, - { - q: "That\u2019s wonderful to hear. Thank you so much for your time and valuable insights.", - a: "My pleasure. I wish you the best of luck with your project. Feel free to reach out anytime. Goodbye!" - } - ) - ] }), - pictureurl_interview: "https://static.igem.wiki/teams/5247/integrated-human-practices/saito.webp" - }, - { - title: "Dr. rer. nat. ", - vorname: "Marcus", - nachnname: "Berger", - job: "GXP ", - affiliation: "Expert", - pictureurl: pics["gxpexpert"], - tag: "Industry", - language: "de", - heading: "Deep Dive into Good Practise, GxP ", - interviewtabid: "gxpexpert", - cardtext: "", - quoteNachname: "Berger, GxP Expert", - quoteVorname: "Dr. rer. nat. Marcus", - quote: "Minimum requirement: Acute toxicity study on animals - important for calculating the starting dose for humans. In addition, pharmacological studies, genotoxic studies and immunotoxic studies. In your case also chronic toxicity studies.", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "The aim of our contact with GxP expert ", - /* @__PURE__ */ jsx70("a", { href: "https://gxpexpert.de/", children: "Dr. Marcus Berger" }), - " was to gather insights and ask questions about how to proceed with the Precyse project, clarifying the next steps required for its continued development, particularly concerning regulatory strategy, quality management, and clinical development. GxP, which stands for \u2018Good Practice\u2019 guidelines, encompasses various regulations and standards intended to ensure quality and compliance in the development and manufacturing of pharmaceutical and biopharmaceutical products. " - ] })], - insights: [/* @__PURE__ */ jsxs46("p", { children: [ - "From the discussion with Dr. Berger expert, we gained several key insights into how to proceed with the Precyse project. First, it became clear that obtaining a Scientific Advice from the Paul-Ehrlich-Institut ", - /* @__PURE__ */ jsx70("a", { href: " https://www.pei.de/DE/home/home-node.html", children: "(PEI)" }), - "is essential to get qualified feedback on our development project and align our regulatory strategy. The expert emphasized the need to collect and document preclinical data, including acute and chronic toxicity studies, genotoxicity, immunotoxicity, and carcinogenicity studies, as well as conducting safety pharmacology and biodistribution studies to ensure a thorough understanding of the substance's mechanism of action. The expert also provided guidance on how to establish a GxP-compliant quality management system (QMS), stressing the importance of setting up a robust SOP system for manufacturing, preclinical, and clinical development. This system must adhere to ICH Q10 guidelines, ensuring that the quality control processes are in line with regulatory expectations. Furthermore, we learned about the critical initial steps for validating and verifying the manufacturing process, including defining the physical and chemical properties of the active substance and excipients, developing the pharmaceutical formulation, and identifying critical quality attributes (CQAs) and critical material attributes (CMAs). The ICH-GCP guidelines, which apply to all clinical trials, are essential for ensuring the integrity and safety of clinical development. These guidelines include E2A-E2F, which cover topics like clinical safety data management and adverse event reporting, E3 for clinical study reports, E5 for handling ethnic factors, and E9 for statistical principles. Additionally, E14 is crucial for managing cardiovascular risks, an especially important consideration for gene therapies, where monitoring for heart-related side effects is critical. Guidelines like E15 and E16 address biomarkers and pharmacogenomics, helping tailor clinical development to the specifics of the treatment being tested. Implementing these GCP requirements ensures compliance, patient safety, and data integrity throughout the trial process. In terms of process scale-up, the expert advised focusing on defining critical process parameters (CPPs) and ensuring that the process design and control strategies are well-understood before scaling production from the lab to a commercial scale. Additionally, we discussed the need to develop a control strategy, implement in-process controls, and ensure that process variability is continually monitored to support ongoing improvements. These insights clarified the immediate and future steps required to move Precyse forward, particularly in terms of regulatory submissions, quality management, and production scale-up. " - ] })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "We used the insights from the expert to outline the possible next steps for Precyse. This included planning the collection of necessary preclinical data, setting up a GxP-compliant QMS, and preparing for regulatory submission. We also began drafting a strategy for process validation and scaling up production, ensuring that we are aligned with both regulatory and operational requirements. This expert feedback helped us establish a clearer path for the continued development of Precyse. " })], - summary: "In our consultation with GxP expert Dr. Marcus Berger, we gained key insights to advance the Precyse project, focusing on regulatory strategy, quality management, and clinical development. He emphasized obtaining Scientific Advice from the Paul-Ehrlich-Institut (PEI) and collecting essential preclinical data, including toxicity and biodistribution studies. We also learned how to theoretically set up a GxP-compliant quality management system (QMS) following ICH Q10 guidelines and the importance of critical quality attributes (CQAs) in process validation. Dr. Berger provided guidance on scaling production and following ICH-GCP guidelines for clinical trials, especially for managing risks in gene therapies. This expert advice helped us plan the next steps for Precyse, including preclinical data collection, QMS setup, and production scale-up.", - months: "September", - interview: /* @__PURE__ */ jsxs46(Fragment28, { children: [ - /* @__PURE__ */ jsx70(QaBox, { q: "How do we define the regulatory strategy (e.g. IND/IMPD applications)?", a: "The regulatory strategy includes the planning of clinical and preclinical development in accordance with applicable regulations, such as CTR 536/2014 in Europe. Planning, conduct, documentation, and reporting applies to clinical trials." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What initial steps are necessary to prepare the submission to the competent authorities?", a: "Firstly, a Scientific Advice should be requested from the competent authority. This enables early feedback on the planned development of the substance, which helps to optimise the submission strategy. Scientific advice from authorities such as the Paul Ehrlich Institute ensures that the requirements are correctly understood and implemented. It is also necessary to think about how you want to develop the substance." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What preclinical data must be collected and documented in order to fulfil the authorisation requirements?", a: "Acute and chronic toxicity studies, genotoxicity and immunotoxicity studies, carcinogenicity studies, safety pharmacology and studies on biodistribution and the mechanism of action of the substance are required. Therefore, check the official website ICH." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Which authorities should we consult at an early stage in order to harmonise the regulatory requirements?", a: "In Germany, the Paul-Ehrlich-Institute is the central authority for drug development and authorisation." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do we start setting up a GxP-compliant quality management system (QMS)?", a: "The establishment of a QMS is based on the implementation of an SOP system for manufacturing, preclinical, and clinical development, based on the ICH Q10 guidelines." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What initial validation and verification steps are required for our manufacturing processes?", a: "The physico-chemical properties of active ingredients and excipients must be determined. This includes the definition of the pharmaceutical formulation, the manufacturing process and the starting materials as well as the definition of Quality Target Product Profiles, Critical Quality Attributes, and Critical Material Attributes. The next step is process design and understanding the critical process parameters and scale-up principles. Then develop a control strategy with specifications for active substance, excipient & finished drug product. After that establish an in-process control and think about process capability and continuous improvement. Therefore measure variability of the manufacturing process." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What measures are necessary to ensure documentation and traceability?", a: "A document control system must be implemented to ensure traceability and documentation." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What steps are necessary to scale up the production processes from laboratory to production scale?", a: "GMP experts should be consulted for detailed information on scaling. I can't help you with this point. The GMP lecturers are the right people to talk to." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do we develop an initial clinical development strategy to move from preclinical studies to first-in-human (FIH) studies?", a: "The minimum requirements include acute toxicity studies in animals to calculate the starting dose for humans. In addition, pharmacological studies, genotoxic studies and immunotoxic studies. In your case, also chronic toxicity studies. Design of a FIH study for dose escalation, including starting dose, sequential study design and stopping rules. Identification of the toxic limit and the so-called Recommended Start Dose for Phase 2. The guidelines on quality, non-clinical and clinical requirements for investigational advanced therapy medicinal products in clinical trials can be found at the European Medicines Agency (EMA)." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Which GCP requirements need to be implemented to support clinical development?", a: "The ICH-GCP guidelines apply to all clinical trials and include the E2A - E2F; E3; E5; E9; E15; E16 guidelines and E14, which is important for the management of cardiovascular risks, especially important for gene therapies, among others." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do we conduct a risk analysis to identify challenges in development and launch?", a: "Risk analyses should be conducted for pharmaceutical, preclinical, and clinical development to identify potential challenges." }), - /* @__PURE__ */ jsx70(QaBox, { q: "Which product safety and efficacy risks need to be prioritised and managed?", a: "Risks to be prioritised include the starting materials, critical process steps in manufacturing and the bulk product. It is essential to carry out proactive process validation and establish a change management system." }), - /* @__PURE__ */ jsx70(QaBox, { q: "What initial steps do we need to take to analyse the market and prepare for market access?", a: "A stakeholder analysis of the market participants and a comparison of the new therapy with the standard therapy are required. Physician networks should be identified and the pricing strategy defined, taking into account the GBA and the health insurance funds." }), - /* @__PURE__ */ jsx70(QaBox, { q: "How do we develop a strategy for the protection of intellectual property and patents?", a: "The strategy should include patent applications in the following order: First for the active ingredient and the formulation (product patent), then the manufacturing route as process patent and followed by indication as use patent. Finally, a utility model may also be useful." }) - ] }) - }, - { - vorname: "Physical ", - nachnname: "and Biophysical Chemistry ", - job: "Working group ", - affiliation: "University Bielefeld ", - language: "en", - pictureurl: pics["physik"], - tag: "Academia", - heading: "Performance of Experiments for LNP characterization ", - interviewtabid: "biophysik", - cardtext: "", - quote: "It was a great connection and a tremendous help in analyzing the LNP. They provided us with insights into some truly exciting methods.", - quoteNachname: "Baack, Teammember", - quoteVorname: "Anna", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "For our project, we collaborated closely with the Physical Chemistry workgroup to properly categorize our lipid nanoparticles (LNPs). We reached out to them to leverage their expertise and ensure that our characterization was thorough and precise. Marco, Uwe, and Yvonne were instrumental in this effort, not only advising us on appropriate characterization methods but also actively assisting us during the experimental process and data analysis. " })], - insights: [/* @__PURE__ */ jsx70("p", { children: "We employed several analytical techniques, including Transmission Electron Microscopy (TEM), Scanning Electron Microscopy (SEM), Dynamic Light Scattering (DLS), and zeta potential analysis. TEM and SEM allowed us to visualize the structural morphology of the LNPs, providing detailed images to understand their size and shape on the nanometer scale. DLS was used to measure the size distribution of the particles in solution, while the zeta potential analysis gave us insight into the surface charge, which is crucial for understanding stability in suspension. " })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "Thanks to the guidance and hands-on support of the Physical Chemistry team, we successfully completed these tests, gaining detailed insights into our LNPs that will be crucial for our project's further development. Their expertise not only streamlined the process but also ensured the reliability and accuracy of our results. Here a sneak peak of the results \u2013 take a look at the image of our SORT LNP taken via TEM. " })], - summary: "We collaborated with the Physical Chemistry workgroup to accurately characterize our lipid nanoparticles (LNPs). Their expertise, particularly from Marco, Uwe, and Yvonne, was invaluable in selecting and applying various analytical techniques, including Transmission Electron Microscopy (TEM), Scanning Electron Microscopy (SEM), Dynamic Light Scattering (DLS), and zeta potential analysis. This collaboration not only enhanced our understanding of the LNPs' size, shape, and stability but also ensured the reliability of our results. With their guidance, we successfully completed our tests, providing crucial insights for the project's advancement.", - months: "September", - pictureurl_interview: "https://static.igem.wiki/teams/5247/delivery/cryo-em.webp", - pictureurl_implementation: " https://static.igem.wiki/teams/5247/delivery/tem-sort-lnp1.webp" - }, - { - title: "M.Sc.", - vorname: "Hakan", - nachnname: "Soyt\xFCrk", - job: "PhD Student Faculty of Biology / Working Group", - affiliation: "University Bielefeld ", - language: "en", - pictureurl: pics["hakan"], - tag: "Academia", - heading: "Helping and conducting experiments with yeast cells", - interviewtabid: "hakan", - cardtext: "", - quote: "Just hand me over the strain and the vector, I will try to take care of the rest.", - aimofcontact: [/* @__PURE__ */ jsxs46("p", { children: [ - "After our interview with ", - /* @__PURE__ */ jsx70(HPLinktoOtherHPTab, { tab: "saito", text: "Makoto Saito" }), - "we learned, that he was not able to express the SpuFz1 protein in E. coli and recommended we used yeast to produce it. We were provided with a yeast expression strain and a suitable vector to clone the coding sequence into, but we lacked the necessary know-how and the facilities to transform yeast, select for positive transformants and cultivate the yeast. " - ] })], - insights: [/* @__PURE__ */ jsx70("p", { children: "Hakan generously agreed to carry out the transformation and prepare potential positive transformants for cultivation for us, leaving only the purification of the proteins from the supernatant for us to do. " })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "Hakan performed the transformation of a pPIC9K-n3SpuFz1 construct we created into Yeast. Unfortunately, the first attempt of transformation did not yield any positive clones. However, we value his spontaneous and extensive support as a great contribution to our project. " })], - summary: "We collaborated with the Physical Chemistry workgroup to accurately characterize our lipid nanoparticles (LNPs). Their expertise, particularly from Marco, Uwe, and Yvonne, was invaluable in selecting and applying various analytical techniques, including Transmission Electron Microscopy (TEM), Scanning Electron Microscopy (SEM), Dynamic Light Scattering (DLS), and zeta potential analysis. This collaboration not only enhanced our understanding of the LNPs' size, shape, and stability but also ensured the reliability of our results. With their guidance, we successfully completed our tests, providing crucial insights for the project's advancement.", - months: "September" - }, - { - title: "M.Sc.", - vorname: "Benjamin", - nachnname: "Moorlach", - job: "PhD student Working Group Patel 'Fermentation and Formulation of Biologicals and Chemicals'", - affiliation: "at FH Bielefeld", - pictureurl: pics["moorlach"], - tag: "Academia", - heading: "Gathering information about Chitosan coating for RNA protection", - interviewtabid: "moorlach", - cardtext: "", - language: "de", - quote: "Chitosan can stabilize RNA effectively, making it ideal for our formulations, but we must ensure the right charge ratio and particle size for successful LNP encapsulation.", - quoteNachname: "Moorlach, Expert for Chitosan coding", - quoteVorname: "Benjamin", - aimofcontact: [/* @__PURE__ */ jsx70("p", { children: "The aim of the contact with Benjamin Willem Moorlach, M.Sc., from the Department of Engineering and Mathematics, was to gain a deeper understanding of how Chitosan could be applied in lipid-based nanoparticles (LNPs) and to explore its potential role in our project. We had several questions focusing on the properties of Chitosan, its advantages and disadvantages, and how it could be integrated into LNPs. Benjamin Moorlach provided extensive insights into Chitosan\u2019s interactions with RNA, its behavior, and how we might leverage it for our formulations. " })], - insights: [/* @__PURE__ */ jsx70("p", { children: "From our discussion, we gained valuable insights into the unique properties of Chitosan, a cationic polymer with significant potential to stabilize RNA. Notably, Chitosan offers strong protection against RNases, making it highly beneficial for formulations like lipid-based nanoparticles (LNPs). Another key feature is its heat stability, withstanding temperatures up to 121\xB0C, which makes it suitable for processing methods such as spray drying. However, at higher concentrations (0.5% or more), Chitosan can become toxic, suffocating cells and displaying antimicrobial properties. While it differs from PEG and cannot serve as a direct alternative, Chitosan can be a valuable complement, especially in stabilizing RNA within LNPs. A critical point Benjamin emphasized is that Chitosan must be in an acidic environment, typically with a pH range of 4 to 6, to remain positively charged. This positive charge is essential for its effective interaction with RNA and successful integration into the LNP system. One of the most important attributes of Chitosan is its ability to form complexes with RNA, offering a high degree of protection, which is crucial for the stability of LNP formulations. This characteristic makes Chitosan particularly advantageous in enhancing RNA stability during processes like spray drying. However, incorporating Chitosan directly into the lipid shell of LNPs poses challenges due to its hydrophilic nature and incompatible charge ratios, which prevent its use as an external coating on LNPs. Instead, it is more suitable for forming stable RNA-Chitosan complexes that can be encapsulated within the LNP structure, ensuring improved stability and protection." })], - implementation: [/* @__PURE__ */ jsx70("p", { children: "We have integrated the information by primarily using Chitosan as an RNA stabilizer, rather than embedding it directly into the LNP lipid shell. Benjamin suggested forming Chitosan-RNA complexes first and then encapsulating them within LNPs to ensure the RNA remains stable and functional. For this, Chitosan with a low molecular weight (around 5 kDa) is ideal, as it helps produce smaller particles that can be efficiently encapsulated. Additionally, Benjamin recommended starting with small-scale tests (about 100 \xB5L) before moving to larger formulations. The ratio of RNA to Chitosan is key to creating negatively charged particles, and a 2:1 ratio should be maintained. We will verify successful encapsulation using microscopic analysis and gel electrophoresis. This knowledge has directly shaped our approach to using Chitosan. Our focus is now on forming stable RNA-Chitosan complexes, which can be encapsulated in LNPs. We\u2019ve also learned the importance of optimizing concentrations to prevent aggregation or toxicity while ensuring the particles stay within the desired nanometer range. Microscopy and electrophoresis will now be key methods in our protocol to confirm complete RNA encapsulation within the LNPs. " })], - summary: "In summary, the insights from Benjamin\u2019s expertise were crucial in shaping our understanding of how to integrate Chitosan into our LNP formulations. Chitosan\u2019s protective abilities for RNA, along with its heat stability, make it a valuable component in our project. However, its hydrophilic and cationic nature presents challenges for direct integration into LNP lipid shells, so we are focusing on its use as an encapsulation for the RNA. Benjamin\u2019s advice on concentrations, molecular weight, and complex formation gave us a clear path forward, which will be validated through experimental testing. ", - months: "september" - }, - { - vorname: "Grand Jambooree in Paris", - nachnname: "", - pictureurl: pics["placeholder"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Brainstorming and selection of ideas and concepts", - interviewtabid: "jamboree", - cardtext: "", - quote: "", - aimofcontact: "", - insights: "", - implementation: "", - type: "meta", - summary: "", - months: "october" - }, - { - vorname: "Carry It Forward", - nachnname: "", - pictureurl: pics["placeholder"], - job: "Team iGEM", - affiliation: "Bielfeld CeBiTec 2024", - tag: "Milestone", - heading: "Brainstorming and selection of ideas and concepts", - interviewtabid: "forward", - cardtext: "", - quote: "", - aimofcontact: "", - insights: "", - implementation: "", - type: "meta", - summary: "", - months: "october" - } -]; - -// src/components/HorizontalTimeline.tsx -import { jsx as jsx71, jsxs as jsxs47 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/HP-timeline.tsx -import { jsx as jsx72, jsxs as jsxs48 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Conclisuin.tsx -import { Fragment as Fragment29, jsx as jsx73, jsxs as jsxs49 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Feedback.tsx -import { Fragment as Fragment30, jsx as jsx74, jsxs as jsxs50 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/HP svgs/hp3.tsx -import { jsx as jsx75, jsxs as jsxs51 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/HP svgs/mendelows.tsx -import { jsx as jsx76, jsxs as jsxs52 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/HP svgs/stakeholder-management.tsx -import { jsx as jsx77, jsxs as jsxs53 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/HP svgs/swots.tsx -import { jsx as jsx78, jsxs as jsxs54 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/HP svgs/understanding.tsx -import { jsx as jsx79, jsxs as jsxs55 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/IHP.tsx -import { jsx as jsx80, jsxs as jsxs56 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/Collaborations.tsx -import { jsx as jsx81, jsxs as jsxs57 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/education-souces.tsx -import { jsx as jsx82 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/Education.tsx -import { jsx as jsx83, jsxs as jsxs58 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/Entrepreneurship.tsx -import { jsx as jsx84, jsxs as jsxs59 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/Outreach.tsx -import { jsx as jsx85, jsxs as jsxs60 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/Partnerships.tsx -import { jsx as jsx86, jsxs as jsxs61 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/FurtherEngagement.tsx -import { jsx as jsx87, jsxs as jsxs62 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/Further Engagement/SupMaterial.tsx -import { jsx as jsx88, jsxs as jsxs63 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/HP-abstract.tsx -import { jsx as jsx89, jsxs as jsxs64 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/Human Practices/human-practices.tsx -import { jsx as jsx90, jsxs as jsxs65 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/hpS.tsx -import { jsx as jsx91 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/impressum.tsx -import { Fragment as Fragment31, jsx as jsx92, jsxs as jsxs66 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/partners.tsx -import { Fragment as Fragment32, jsx as jsx93, jsxs as jsxs67 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/supplementary-material.tsx -import { Fragment as Fragment33, jsx as jsx94, jsxs as jsxs68 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/interviews.tsx -import { useEffect as useEffect9 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { useLocation as useLocation3 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-router-dom/dist/main.js"; -import { Fragment as Fragment34, jsx as jsx95, jsxs as jsxs69 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/HeaderBox.tsx -import { Fragment as Fragment35, jsx as jsx96, jsxs as jsxs70 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/attribution-h.tsx -import { jsx as jsx97 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/cont-h.tsx -import { jsx as jsx98 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/desc-h.tsx -import { jsx as jsx99 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/home-h.tsx -import { Fragment as Fragment36, jsx as jsx100 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/exp-h.tsx -import { jsx as jsx101 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/hp-h.tsx -import { jsx as jsx102 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/imp-h.tsx -import { jsx as jsx103 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/note-h.tsx -import { jsx as jsx104 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/res-h.tsx -import { jsx as jsx105 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/safe-h.tsx -import { jsx as jsx106 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/team-h.tsx -import { jsx as jsx107 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/spons-h.tsx -import { jsx as jsx108 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/eng-h.tsx -import { jsx as jsx109 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/sup-h.tsx -import { jsx as jsx110 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Table.tsx -import { jsx as jsx111, jsxs as jsxs71 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/parts.tsx -import { jsx as jsx112, jsxs as jsxs72 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/part-h.tsx -import { jsx as jsx113 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Calendar/cal-content.tsx -import { Fragment as Fragment37, jsx as jsx114, jsxs as jsxs73 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/components/Calendar/Calendar.tsx -import { jsx as jsx115, jsxs as jsxs74 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -function showEntry(entry) { - const showentry = (_event) => { - let elementsToHide = document.getElementsByClassName("cal-entry"); - for (let index = 0; index < elementsToHide.length; index++) { - elementsToHide[index].style.display = "none"; - } - let entryBlock = document.getElementById(entry); - entryBlock.style.display = "block"; - }; - return showentry; -} -var Februar = /* @__PURE__ */ jsxs74("ul", { id: "February-dates", className: "days hideable", children: [ - /* @__PURE__ */ jsx115("li", {}), - /* @__PURE__ */ jsx115("li", {}), - /* @__PURE__ */ jsx115("li", {}), - /* @__PURE__ */ jsx115("li", { children: "1" }), - /* @__PURE__ */ jsx115("li", { children: "2" }), - /* @__PURE__ */ jsx115("li", { children: "3" }), - /* @__PURE__ */ jsx115("li", { children: "4" }), - /* @__PURE__ */ jsx115("li", { children: "5" }), - /* @__PURE__ */ jsx115("li", { children: "6" }), - /* @__PURE__ */ jsx115("li", { children: "7" }), - /* @__PURE__ */ jsx115("li", { children: "8" }), - /* @__PURE__ */ jsx115("li", { children: "9" }), - /* @__PURE__ */ jsx115("li", { children: "10" }), - /* @__PURE__ */ jsx115("li", { children: "11" }), - /* @__PURE__ */ jsx115("li", { children: "12" }), - /* @__PURE__ */ jsx115("li", { children: "13" }), - /* @__PURE__ */ jsx115("li", { children: "14" }), - /* @__PURE__ */ jsx115("li", { children: "15" }), - /* @__PURE__ */ jsx115("li", { children: "16" }), - /* @__PURE__ */ jsx115("li", { children: "17" }), - /* @__PURE__ */ jsx115("li", { children: "18" }), - /* @__PURE__ */ jsx115("li", { children: "19" }), - /* @__PURE__ */ jsx115("li", { children: "20" }), - /* @__PURE__ */ jsx115("li", { children: "21" }), - /* @__PURE__ */ jsx115("li", { children: "22" }), - /* @__PURE__ */ jsx115("li", { children: "23" }), - /* @__PURE__ */ jsx115("li", { children: "24" }), - /* @__PURE__ */ jsx115("li", { children: "25" }), - /* @__PURE__ */ jsx115("li", { children: "26" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("february27"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "27" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "28" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("february29"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "29" }) }) }) -] }); -var March = /* @__PURE__ */ jsxs74("ul", { id: "March-dates", className: "days hideable", style: { display: "none" }, children: [ - /* @__PURE__ */ jsx115("li", {}), - /* @__PURE__ */ jsx115("li", {}), - /* @__PURE__ */ jsx115("li", {}), - /* @__PURE__ */ jsx115("li", {}), - /* @__PURE__ */ jsx115("li", { children: "1" }), - /* @__PURE__ */ jsx115("li", { children: "2" }), - /* @__PURE__ */ jsx115("li", { children: "3" }), - /* @__PURE__ */ jsx115("li", { children: "4" }), - /* @__PURE__ */ jsx115("li", { children: "5" }), - /* @__PURE__ */ jsx115("li", { children: "6" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("march7"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "7" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "8" }), - /* @__PURE__ */ jsx115("li", { children: "9" }), - /* @__PURE__ */ jsx115("li", { children: "10" }), - /* @__PURE__ */ jsx115("li", { children: "11" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("march12"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "12" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "13" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("march14"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "14" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "15" }), - /* @__PURE__ */ jsx115("li", { children: "16" }), - /* @__PURE__ */ jsx115("li", { children: "17" }), - /* @__PURE__ */ jsx115("li", { children: "18" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("march19"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "19" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "20" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("march21"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "21" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "22" }), - /* @__PURE__ */ jsx115("li", { children: "23" }), - /* @__PURE__ */ jsx115("li", { children: "24" }), - /* @__PURE__ */ jsx115("li", { children: "25" }), - /* @__PURE__ */ jsx115("li", { children: "26" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("march27"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "27" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "28" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("march29"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "29" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "30" }), - /* @__PURE__ */ jsx115("li", { children: "31" }) -] }); -var April = /* @__PURE__ */ jsxs74("ul", { id: "April-dates", className: "days hideable", style: { display: "none" }, children: [ - /* @__PURE__ */ jsx115("li", { children: "1" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("april2"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "2" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "3" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("april4"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "4" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "5" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("april6"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "6" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "7" }), - /* @__PURE__ */ jsx115("li", { children: "8" }), - /* @__PURE__ */ jsx115("li", { children: "9" }), - /* @__PURE__ */ jsx115("li", { children: "10" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("april11"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "11" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "12" }), - /* @__PURE__ */ jsx115("li", { children: "13" }), - /* @__PURE__ */ jsx115("li", { children: "14" }), - /* @__PURE__ */ jsx115("li", { children: "15" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("april16"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "16" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "17" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("april18"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "18" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "19" }), - /* @__PURE__ */ jsx115("li", { children: "20" }), - /* @__PURE__ */ jsx115("li", { children: "21" }), - /* @__PURE__ */ jsx115("li", { children: "22" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("april23"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "23" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "24" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("april25"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "25" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "26" }), - /* @__PURE__ */ jsx115("li", { children: "27" }), - /* @__PURE__ */ jsx115("li", { children: "28" }), - /* @__PURE__ */ jsx115("li", { children: "29" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("april30"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "30" }) }) }) -] }); -var May = /* @__PURE__ */ jsxs74("ul", { id: "May-dates", className: "days hideable", style: { display: "none" }, children: [ - /* @__PURE__ */ jsx115("li", {}), - /* @__PURE__ */ jsx115("li", {}), - /* @__PURE__ */ jsx115("li", { children: "1" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("may2"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "2" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "3" }), - /* @__PURE__ */ jsx115("li", { children: "4" }), - /* @__PURE__ */ jsx115("li", { children: "5" }), - /* @__PURE__ */ jsx115("li", { children: "6" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("may7"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "7" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "8" }), - /* @__PURE__ */ jsx115("li", { children: "9" }), - /* @__PURE__ */ jsx115("li", { children: "10" }), - /* @__PURE__ */ jsx115("li", { children: "11" }), - /* @__PURE__ */ jsx115("li", { children: "12" }), - /* @__PURE__ */ jsx115("li", { children: "13" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("may14"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "14" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "15" }), - /* @__PURE__ */ jsx115("li", { children: "16" }), - /* @__PURE__ */ jsx115("li", { children: "17" }), - /* @__PURE__ */ jsx115("li", { children: "18" }), - /* @__PURE__ */ jsx115("li", { children: "19" }), - /* @__PURE__ */ jsx115("li", { children: "20" }), - /* @__PURE__ */ jsx115("li", { children: "21" }), - /* @__PURE__ */ jsx115("li", { children: /* @__PURE__ */ jsx115("a", { onClick: showEntry("may22"), children: /* @__PURE__ */ jsx115("span", { className: "active", children: "22" }) }) }), - /* @__PURE__ */ jsx115("li", { children: "23" }), - /* @__PURE__ */ jsx115("li", { children: "24" }), - /* @__PURE__ */ jsx115("li", { children: "25" }), - /* @__PURE__ */ jsx115("li", { children: "26" }), - /* @__PURE__ */ jsx115("li", { children: "27" }), - /* @__PURE__ */ jsx115("li", { children: "28" }), - /* @__PURE__ */ jsx115("li", { children: "29" }), - /* @__PURE__ */ jsx115("li", { children: "30" }), - /* @__PURE__ */ jsx115("li", { children: "31" }) -] }); - -// src/contents/project-documentation.tsx -import { jsx as jsx116 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/prodesc-h.tsx -import { jsx as jsx117 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/judging.tsx -import { Fragment as Fragment38, jsx as jsx118, jsxs as jsxs75 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/judge-h.tsx -import { jsx as jsx119 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/example.tsx -import { Bar as Bar2, Doughnut, PolarArea } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react-chartjs-2/dist/index.js"; -import { Chart as ChartJS2, Tooltip as Tooltip2, Legend as Legend2, BarElement as BarElement2, CategoryScale as CategoryScale2, LinearScale as LinearScale2, Title as Title2, RadialLinearScale as RadialLinearScale2 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/chart.js/dist/chart.js"; -import { Fragment as Fragment39, jsx as jsx120, jsxs as jsxs76 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; -ChartJS2.register( - CategoryScale2, - RadialLinearScale2, - LinearScale2, - BarElement2, - Title2, - Tooltip2, - Legend2 -); - -// src/sidebars/engS.tsx -import { useEffect as useEffect10 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { jsx as jsx121, jsxs as jsxs77 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/intS.tsx -import { useEffect as useEffect11 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; -import { jsx as jsx122, jsxs as jsxs78 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/safeS.tsx -import { jsx as jsx123 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/none.tsx -import { jsx as jsx124 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/igem-bielefeld.tsx -import { Fragment as Fragment40, jsx as jsx125, jsxs as jsxs79 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/ibie-h.tsx -import { jsx as jsx126 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sources/methods-sources.tsx -import { jsx as jsx127 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/contents/methods.tsx -import { Fragment as Fragment41, jsx as jsx128, jsxs as jsxs80 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/headers/meth-h.tsx -import { jsx as jsx129 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/conS.tsx -import { jsx as jsx130 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/igbS.tsx -import { jsx as jsx131 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/jugS.tsx -import { jsx as jsx132 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/methS.tsx -import { jsx as jsx133 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/prtS.tsx -import { jsx as jsx134 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/sidebars/resS.tsx -import { jsx as jsx135 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/jsx-runtime.js"; - -// src/utils/stringToSlug.ts -function stringToSlug(string) { - let slug = String(string).toLowerCase(); - slug = slug.replace(/[^a-z0-9-]/g, "-"); - slug = slug.replace(/-+/g, "-"); - const start = slug.search(/[^-]/); - const end = slug.search(/-+$/); - return slug.substring(start, end === -1 ? void 0 : end); -} - -// src/utils/useScript.ts -import { useEffect as useEffect12 } from "file:///home/lili/Documents/iGem/bielefeld-cebitec/node_modules/react/index.js"; - -// vite.config.js -var vite_config_default = () => { - const env = loadEnv("dev", process.cwd()); - if (!env.VITE_TEAM_NAME) { - throw new Error("VITE_TEAM_NAME environment variable is not defined"); - } - console.log(`VITE_TEAM_NAME: ${env.VITE_TEAM_NAME}`); - const baseSlug = stringToSlug(env.VITE_TEAM_NAME); - console.log("VITE_TEAM_NAME:", env.VITE_TEAM_NAME); - console.log("Base Slug:", baseSlug); - return defineConfig({ - base: `/${stringToSlug(env.VITE_TEAM_NAME)}/`, - plugins: [react()], - build: { - outDir: "dist" - }, - publicDir: "pubpub" - }); -}; -export { - vite_config_default as default -}; -//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiLCAic3JjL2NvbXBvbmVudHMvRmFkZUluLnRzeCIsICJzcmMvY29tcG9uZW50cy9CcmVhdGhlLnRzeCIsICJzcmMvY29tcG9uZW50cy9Qcm9ibGVtcy50c3giLCAic3JjL3V0aWxzL1RhYk5hdmlnYXRpb24udHN4IiwgInNyYy91dGlscy9Mb2FkaW5nQ29udGV4dC50c3giLCAic3JjL2NvbXBvbmVudHMvSGVhZGluZ3MudHN4IiwgInNyYy9jb21wb25lbnRzL3ByZWN5c2UudHN4IiwgInNyYy9jb250ZW50cy9Ib21lLnRzeCIsICJzcmMvY29tcG9uZW50cy9CdXR0b25zLnRzeCIsICJzcmMvdXRpbHMvb3BlblRoZW0udHMiLCAic3JjL3V0aWxzL3VzZU5hdmlnYXRpb24udHMiLCAic3JjL2NvbXBvbmVudHMvc2VjdGlvbnMudHN4IiwgInNyYy9jb250ZW50cy90ZWFtLnRzeCIsICJzcmMvY29udGVudHMvYXR0cmlidXRpb25zLnRzeCIsICJzcmMvY29tcG9uZW50cy9RdW90ZXMudHN4IiwgInNyYy9jb21wb25lbnRzL1BkZnMudHN4IiwgInNyYy9jb21wb25lbnRzL1ZlcnRpY2FsVGltZWxpbmUudHN4IiwgInNyYy9jb21wb25lbnRzL1NsaWRlci50c3giLCAic3JjL3V0aWxzL2dvdG8udHMiLCAic3JjL2NvbXBvbmVudHMvU2Nyb2xsTGluay50c3giLCAic3JjL2NvbXBvbmVudHMvQkZILVRpbWVsaW5lLnRzeCIsICJzcmMvY29tcG9uZW50cy9QaG90by1ncmlkLnRzeCIsICJzcmMvY29tcG9uZW50cy9wb3N0ZXIudHN4IiwgInNyYy9jb250ZW50cy9Db250cmlidXRpb24vQkZIL2JmaC1hYm91dC50c3giLCAic3JjL2NvbnRlbnRzL0NvbnRyaWJ1dGlvbi9CRkgvcG9zdGVyZ2FsbGVyeS50c3giLCAic3JjL2NvbnRlbnRzL0NvbnRyaWJ1dGlvbi9CRkgvYmZoLnRzeCIsICJzcmMvY29udGVudHMvQ29udHJpYnV0aW9uL2NvbGxhYnMudHN4IiwgInNyYy9jb250ZW50cy9Db250cmlidXRpb24vcGF0aWVudC1jb250cmlidXRpb24udHN4IiwgInNyYy9jb250ZW50cy9Db250cmlidXRpb24vc2FmZXR5LWNvbnRyaWJ1dGlvbi50c3giLCAic3JjL2NvbnRlbnRzL0NvbnRyaWJ1dGlvbi9XaWtpL3dpa2ktdGFicy50c3giLCAic3JjL2NvbnRlbnRzL0NvbnRyaWJ1dGlvbi9XaWtpL3dpa2ktc3RhcnQudHN4IiwgInNyYy9jb21wb25lbnRzL0NvbGxhcHNpYmxlLnRzeCIsICJzcmMvY29udGVudHMvQ29udHJpYnV0aW9uL1dpa2kvd2lraS1zb3VyY2VzLnRzeCIsICJzcmMvY29tcG9uZW50cy9GaWx0ZXIudHN4IiwgInNyYy9jb250ZW50cy9Db250cmlidXRpb24vV2lraS9GaWx0ZXJhYmxlcy50c3giLCAic3JjL2NvbXBvbmVudHMvQ29kZS50c3giLCAic3JjL2NvbnRlbnRzL0NvbnRyaWJ1dGlvbi9XaWtpL3Ryb3VibGUtZGF0YS50c3giLCAic3JjL2NvbnRlbnRzL0NvbnRyaWJ1dGlvbi9XaWtpL3Ryb3VibGVzaG9vdGluZy50c3giLCAic3JjL2NvbnRlbnRzL0NvbnRyaWJ1dGlvbi9XaWtpL3dpa2ktb3ZlcnZpZXcudHN4IiwgInNyYy9jb250ZW50cy9Db250cmlidXRpb24vV2lraS93aWtpLnRzeCIsICJzcmMvY29udGVudHMvQ29udHJpYnV0aW9uL2NvbnRyaWJ1dGlvbi50c3giLCAic3JjL2NvbXBvbmVudHMvQm94ZXMudHN4IiwgInNyYy9jb21wb25lbnRzL1RhYnMudHN4IiwgInNyYy9jb21wb25lbnRzL0dyYXBoLnRzeCIsICJzcmMvZGF0YS9zeW1wdG9tLWRhdGEudHN4IiwgInNyYy9kYXRhL2RydWctZGF0YS50c3giLCAic3JjL2NvbXBvbmVudHMvQ29tcGxleC1zdmcudHN4IiwgInNyYy9jb21wb25lbnRzL21ha2VTb3VyY2VzLnRzeCIsICJzcmMvc291cmNlcy9kZXNjcmlwdGlvbi1zb3VyY2VzLnRzeCIsICJzcmMvY29udGVudHMvZGVzY3JpcHRpb24udHN4IiwgInNyYy91dGlscy9jcmVhdGVTaWRlYmFyLnRzeCIsICJzcmMvc2lkZWJhcnMvZGVzY1MudHN4IiwgInNyYy9jb21wb25lbnRzL0xpbmsudHN4IiwgInNyYy9zb3VyY2VzL2VuZy10cmYtc291cmNlcy50c3giLCAic3JjL3NvdXJjZXMvZW5nLXJlcG9ydGVyLXNvdXJjZXMudHN4IiwgInNyYy9zb3VyY2VzL2VuZy1wZS1zb3VyY2VzLnRzeCIsICJzcmMvc291cmNlcy9lbmctcGVnLXNvdXJjZXMudHN4IiwgInNyYy9zb3VyY2VzL2VuZy1uaWNrYXNlcy1zb3VyY2VzLnRzeCIsICJzcmMvc291cmNlcy9lbmctZGVsaXZlcnktc291cmNlcy50c3giLCAic3JjL2NvbnRlbnRzL2VuZ2luZWVyaW5nLnRzeCIsICJzcmMvY29udGVudHMvZXhwZXJpbWVudHMudHN4IiwgInNyYy9jb250ZW50cy9ub3RlYm9vay50c3giLCAic3JjL2NvbXBvbmVudHMvTG9yZW1pcHN1bS50c3giLCAic3JjL2NvbXBvbmVudHMvRmlndXJlcy50c3giLCAic3JjL2NvbnRlbnRzL3Jlc3VsdHMudHN4IiwgInNyYy9jb250ZW50cy9zYWZldHkudHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvT3ZlcndpZXYudHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvSW50cm9kdWN0aW9uLnRzeCIsICJzcmMvc291cmNlcy9qb3NodWEtaW52LXNvdXJjZXMudHN4IiwgInNyYy9zb3VyY2VzL21hdHRpai1pbnYtc291cmNlcy50c3giLCAic3JjL3NvdXJjZXMvbGl1LWludi1zb3VyY2VzLnRzeCIsICJzcmMvc291cmNlcy9ybmhhbGUtc291cmNlcy50c3giLCAic3JjL3NvdXJjZXMvd2ltc2NoZXllci1zb3VyY2VzLnRzeCIsICJzcmMvZGF0YS9ocHRpbWVsaW5lZGF0YS50c3giLCAic3JjL2NvbXBvbmVudHMvSG9yaXpvbnRhbFRpbWVsaW5lLnRzeCIsICJzcmMvY29tcG9uZW50cy9IUC10aW1lbGluZS50c3giLCAic3JjL2NvbnRlbnRzL0h1bWFuIFByYWN0aWNlcy9Db25jbGlzdWluLnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL0ZlZWRiYWNrLnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL0hQIHN2Z3MvaHAzLnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL0hQIHN2Z3MvbWVuZGVsb3dzLnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL0hQIHN2Z3Mvc3Rha2Vob2xkZXItbWFuYWdlbWVudC50c3giLCAic3JjL2NvbnRlbnRzL0h1bWFuIFByYWN0aWNlcy9IUCBzdmdzL3N3b3RzLnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL0hQIHN2Z3MvdW5kZXJzdGFuZGluZy50c3giLCAic3JjL2NvbnRlbnRzL0h1bWFuIFByYWN0aWNlcy9JSFAudHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvRnVydGhlciBFbmdhZ2VtZW50L0NvbGxhYm9yYXRpb25zLnRzeCIsICJzcmMvc291cmNlcy9lZHVjYXRpb24tc291Y2VzLnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL0Z1cnRoZXIgRW5nYWdlbWVudC9FZHVjYXRpb24udHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvRnVydGhlciBFbmdhZ2VtZW50L0VudHJlcHJlbmV1cnNoaXAudHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvRnVydGhlciBFbmdhZ2VtZW50L091dHJlYWNoLnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL0Z1cnRoZXIgRW5nYWdlbWVudC9QYXJ0bmVyc2hpcHMudHN4IiwgInNyYy9jb250ZW50cy9IdW1hbiBQcmFjdGljZXMvRnVydGhlciBFbmdhZ2VtZW50L0Z1cnRoZXJFbmdhZ2VtZW50LnRzeCIsICJzcmMvY29udGVudHMvSHVtYW4gUHJhY3RpY2VzL0Z1cnRoZXIgRW5nYWdlbWVudC9TdXBNYXRlcmlhbC50c3giLCAic3JjL2NvbnRlbnRzL0h1bWFuIFByYWN0aWNlcy9IUC1hYnN0cmFjdC50c3giLCAic3JjL2NvbnRlbnRzL0h1bWFuIFByYWN0aWNlcy9odW1hbi1wcmFjdGljZXMudHN4IiwgInNyYy9zaWRlYmFycy9ocFMudHN4IiwgInNyYy9jb250ZW50cy9pbXByZXNzdW0udHN4IiwgInNyYy9jb250ZW50cy9wYXJ0bmVycy50c3giLCAic3JjL2NvbnRlbnRzL3N1cHBsZW1lbnRhcnktbWF0ZXJpYWwudHN4IiwgInNyYy9jb250ZW50cy9pbnRlcnZpZXdzLnRzeCIsICJzcmMvY29tcG9uZW50cy9IZWFkZXJCb3gudHN4IiwgInNyYy9oZWFkZXJzL2F0dHJpYnV0aW9uLWgudHN4IiwgInNyYy9oZWFkZXJzL2NvbnQtaC50c3giLCAic3JjL2hlYWRlcnMvZGVzYy1oLnRzeCIsICJzcmMvaGVhZGVycy9ob21lLWgudHN4IiwgInNyYy9oZWFkZXJzL2V4cC1oLnRzeCIsICJzcmMvaGVhZGVycy9ocC1oLnRzeCIsICJzcmMvaGVhZGVycy9pbXAtaC50c3giLCAic3JjL2hlYWRlcnMvbm90ZS1oLnRzeCIsICJzcmMvaGVhZGVycy9yZXMtaC50c3giLCAic3JjL2hlYWRlcnMvc2FmZS1oLnRzeCIsICJzcmMvaGVhZGVycy90ZWFtLWgudHN4IiwgInNyYy9oZWFkZXJzL3Nwb25zLWgudHN4IiwgInNyYy9oZWFkZXJzL2VuZy1oLnRzeCIsICJzcmMvaGVhZGVycy9zdXAtaC50c3giLCAic3JjL2NvbXBvbmVudHMvVGFibGUudHN4IiwgInNyYy9jb250ZW50cy9wYXJ0cy50c3giLCAic3JjL2hlYWRlcnMvcGFydC1oLnRzeCIsICJzcmMvY29tcG9uZW50cy9DYWxlbmRhci9jYWwtY29udGVudC50c3giLCAic3JjL2NvbXBvbmVudHMvQ2FsZW5kYXIvQ2FsZW5kYXIudHN4IiwgInNyYy9jb250ZW50cy9wcm9qZWN0LWRvY3VtZW50YXRpb24udHN4IiwgInNyYy9oZWFkZXJzL3Byb2Rlc2MtaC50c3giLCAic3JjL2NvbnRlbnRzL2p1ZGdpbmcudHN4IiwgInNyYy9oZWFkZXJzL2p1ZGdlLWgudHN4IiwgInNyYy9jb250ZW50cy9leGFtcGxlLnRzeCIsICJzcmMvc2lkZWJhcnMvZW5nUy50c3giLCAic3JjL3NpZGViYXJzL2ludFMudHN4IiwgInNyYy9zaWRlYmFycy9zYWZlUy50c3giLCAic3JjL3NpZGViYXJzL25vbmUudHN4IiwgInNyYy9jb250ZW50cy9pZ2VtLWJpZWxlZmVsZC50c3giLCAic3JjL2hlYWRlcnMvaWJpZS1oLnRzeCIsICJzcmMvc291cmNlcy9tZXRob2RzLXNvdXJjZXMudHN4IiwgInNyYy9jb250ZW50cy9tZXRob2RzLnRzeCIsICJzcmMvaGVhZGVycy9tZXRoLWgudHN4IiwgInNyYy9zaWRlYmFycy9jb25TLnRzeCIsICJzcmMvc2lkZWJhcnMvaWdiUy50c3giLCAic3JjL3NpZGViYXJzL2p1Z1MudHN4IiwgInNyYy9zaWRlYmFycy9tZXRoUy50c3giLCAic3JjL3NpZGViYXJzL3BydFMudHN4IiwgInNyYy9zaWRlYmFycy9yZXNTLnRzeCIsICJzcmMvdXRpbHMvc3RyaW5nVG9TbHVnLnRzIiwgInNyYy91dGlscy91c2VTY3JpcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvaG9tZS9saWxpL0RvY3VtZW50cy9pR2VtL2JpZWxlZmVsZC1jZWJpdGVjXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvaG9tZS9saWxpL0RvY3VtZW50cy9pR2VtL2JpZWxlZmVsZC1jZWJpdGVjL3ZpdGUuY29uZmlnLmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9ob21lL2xpbGkvRG9jdW1lbnRzL2lHZW0vYmllbGVmZWxkLWNlYml0ZWMvdml0ZS5jb25maWcuanNcIjtpbXBvcnQgeyBkZWZpbmVDb25maWcsIGxvYWRFbnYgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHJlYWN0IGZyb20gXCJAdml0ZWpzL3BsdWdpbi1yZWFjdFwiO1xuaW1wb3J0IHsgc3RyaW5nVG9TbHVnIH0gZnJvbSBcIi4vc3JjL3V0aWxzXCI7XG5cbi8vIGh0dHBzOi8vdml0ZWpzLmRldi9jb25maWcvXG5leHBvcnQgZGVmYXVsdCAoKSA9PiB7XG4gIGNvbnN0IGVudiA9IGxvYWRFbnYoXCJkZXZcIiwgcHJvY2Vzcy5jd2QoKSk7XG4gICAgLy8gU2ljaGVyc3RlbGxlbiwgZGFzcyBkaWUgVW1nZWJ1bmdzdmFyaWFibGUgdm9yaGFuZGVuIGlzdFxuICBpZiAoIWVudi5WSVRFX1RFQU1fTkFNRSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlZJVEVfVEVBTV9OQU1FIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBkZWZpbmVkXCIpO1xuICB9XG4gIC8vIERlYnVnZ2luZy1Mb2csIHVtIGRlbiBXZXJ0IGRlciBVbWdlYnVuZ3N2YXJpYWJsZSB6dSBcdTAwRkNiZXJwclx1MDBGQ2ZlblxuICBjb25zb2xlLmxvZyhgVklURV9URUFNX05BTUU6ICR7ZW52LlZJVEVfVEVBTV9OQU1FfWApO1xuXG5cbiAgY29uc3QgYmFzZVNsdWcgPSBzdHJpbmdUb1NsdWcoZW52LlZJVEVfVEVBTV9OQU1FKTtcblxuICBjb25zb2xlLmxvZyhcIlZJVEVfVEVBTV9OQU1FOlwiLCBlbnYuVklURV9URUFNX05BTUUpOyAvLyBEZWJ1Z2dpbmctQXVzZ2FiZVxuICBjb25zb2xlLmxvZyhcIkJhc2UgU2x1ZzpcIiwgYmFzZVNsdWcpOyAvLyBEZWJ1Z2dpbmctQXVzZ2FiZVxuICBcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyh7XG4gICAgYmFzZTogYC8ke3N0cmluZ1RvU2x1ZyhlbnYuVklURV9URUFNX05BTUUpfS9gLFxuICAgIHBsdWdpbnM6IFtyZWFjdCgpXSxcbiAgICBidWlsZDoge1xuICAgICAgb3V0RGlyOiBcImRpc3RcIixcbiAgICB9LFxuICAgIHB1YmxpY0RpcjogJ3B1YnB1YicsXG4gIH0pO1xuICBcbn07XG4iLCAiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gRmFkZUluKHtmaWxlcGF0aCwgYmd9OntmaWxlcGF0aDogc3RyaW5nLCBiZzogc3RyaW5nfSl7XHJcbiAgICBjb25zdCBbaXNWaXNpYmxlLCBzZXRWaXNpYmxlXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZiA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb21SZWYuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgPD5cclxuICAgICAgICAgICAgPGRpdiBcclxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT0nY29sJ1xyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgJ2hlaWdodCc6ICcxMDB2aCd9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWZ9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6IGAke2lzVmlzaWJsZSA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17Ymd9PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW1nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6IGAke2lzVmlzaWJsZSA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz17ZmlsZXBhdGh9PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW1nPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgey8qIFNwYWNpbmcgQmxvY2sgKi99XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnIHN0eWxlPXt7ICdoZWlnaHQnOiAnOTV2aCcgfX0+PC9kaXY+XHJcbiAgICAgICAgPC8+XHJcbiAgICApO1xyXG59XHJcblxyXG4iLCAiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gQnJlYXRoZSgpe1xyXG4gICAgY29uc3QgW2lzVmlzaWJsZSwgc2V0VmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBkb21SZWYgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZShlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmLmN1cnJlbnQhKTtcclxuICAgIH0sIFtdKTtcclxuXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlMiwgc2V0VmlzaWJsZTJdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmMiA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlMihlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmMi5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTMsIHNldFZpc2libGUzXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjMgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTMoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjMuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG4gICAgXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlNCwgc2V0VmlzaWJsZTRdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmNCA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlNChlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmNC5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlNSwgc2V0VmlzaWJsZTVdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmNSA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlNShlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmNS5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlNiwgc2V0VmlzaWJsZTZdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmNiA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlNihlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmNi5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTcsIHNldFZpc2libGU3XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjcgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTcoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjcuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG4gICAgXHJcbiAgICBjb25zdCBbaXNWaXNpYmxlOCwgc2V0VmlzaWJsZThdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmOCA9IHVzZVJlZihudWxsKSE7XHJcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKGVudHJpZXMgPT4ge1xyXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaChlbnRyeSA9PiBzZXRWaXNpYmxlOChlbnRyeS5pc0ludGVyc2VjdGluZykpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIG9ic2VydmVyLm9ic2VydmUoZG9tUmVmOC5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgcmV0dXJuIChcclxuICAgICAgICA8PlxyXG4gICAgICAgICAgICB7LyogcHVycGxlICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2wnXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyAnaGVpZ2h0JzogJzcwMHZoJ319XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZn0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd6SW5kZXgnOiAnMScsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICczMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdvcGFjaXR5IDAuNnMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGUgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2JyZWF0aC90ZXh0bGVzcy9icmVhdGgtb25seS0xLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgICAgICAgICB7LyogU3BhY2luZyBCbG9jayAqL31cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJyBzdHlsZT17eyAnaGVpZ2h0JzogJzEwMHZoJyB9fT48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7ICdoZWlnaHQnOiAnMTAwdmgnfX0gcmVmPXtkb21SZWYyfT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PlRha2UgYSBtb21lbnQgdG88L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5kZWVwbHkgYnJlYXRoZSBpbi4uLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICczMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdzY2FsZSAyLjBzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2FsZSc6IGAke2lzVmlzaWJsZTIgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlMiA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9icmVhdGgvY2lyY2xlcy9wdXJwbGVjaXJjbGUud2VicFwiPjwvaW1nPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiBTcGFjaW5nIEJsb2NrICovfVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnIHN0eWxlPXt7ICdoZWlnaHQnOiAnOTV2aCcgfX0+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyAnaGVpZ2h0JzogJzEwMHZoJ319IHJlZj17ZG9tUmVmM30+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5hbmQgZGVlcGx5LjwvcD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PmJyZWF0aGUgb3V0Li4uPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzMwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ3NjYWxlIDIuMHMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjYWxlJzogYCR7aXNWaXNpYmxlMyA/ICcwJyA6ICcxJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUzID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2JyZWF0aC9jaXJjbGVzL3B1cnBsZWNpcmNsZS53ZWJwXCI+PC9pbWc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgey8qIFNwYWNpbmcgQmxvY2sgKi99XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCcgc3R5bGU9e3sgJ2hlaWdodCc6ICcxMDB2aCcgfX0+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PllvdSBmZWVsIDxzdHJvbmc+cmV2aXRhbGl6ZWQ8L3N0cm9uZz48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PllvdXIgYm9keSBhbmQgbWluZDwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydmb250U2l6ZScgOiAnMi41ZW0nfX0+YmVjb21lIDxzdHJvbmc+Z3JvdW5kZWQ8L3N0cm9uZz4uPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIHsvKiBTcGFjaW5nIEJsb2NrICovfVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnIHN0eWxlPXt7ICdoZWlnaHQnOiAnMTAwdmgnIH19PjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5Ob3cgZGVlcGx5IGJyZWF0aGUgaW48L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PmFuZCBob2xkIHlvdXIgYnJlYXRoLjwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7ICdoZWlnaHQnOiAnMTAwdmgnfX0gcmVmPXtkb21SZWY0fT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICczMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdzY2FsZSAyLjBzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2FsZSc6IGAke2lzVmlzaWJsZTQgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNCA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9icmVhdGgvY2lyY2xlcy9wdXJwbGVjaXJjbGUud2VicFwiPjwvaW1nPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgey8qIGJsYWNrICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3sgJ2hlaWdodCc6ICczMDB2aCd9fSAgcmVmPXtkb21SZWY1fT5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3pJbmRleCc6ICcxJywgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzMwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnb3BhY2l0eSc6IGAke2lzVmlzaWJsZTUgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9icmVhdGgvdGV4dGxlc3MvYnJlYXRoLW9ubHktMi53ZWJwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyAnaGVpZ2h0JzogJzEwMHZoJ319ICByZWY9e2RvbVJlZjZ9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzMwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNiA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9icmVhdGgvY2lyY2xlcy9kYXJrZXJwdXJwbGVjaXJjbGUud2VicFwiPjwvaW1nPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5CcmVhdGhpbmcgaXMgIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydmb250U2l6ZScgOiAnMi41ZW0nfX0+ZXNzZW50aWFsLjwvcD5cclxuICAgICAgICAgICAgICAgICAgey8qICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PkJyZWF0aGluZyBpcyBlc3NlbnRpYWwsIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydmb250U2l6ZScgOiAnMi41ZW0nfX0+YnV0IG1hbnkgcGVvcGxlIDwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydmb250U2l6ZScgOiAnMi41ZW0nfX0+c3RydWdnbGUgd2l0aCBpdC48L3A+ICovfVxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgJ2hlaWdodCc6ICcxMDB2aCd9fSAgcmVmPXtkb21SZWY3fT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICczMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2NhbGUnOiBgJHtpc1Zpc2libGU3ID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndmlzaWJpbGl0eSc6IGAke2lzVmlzaWJsZTcgPyAndmlzaWJsZScgOiAnaGlkZGVuJ31gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvYnJlYXRoL2NpcmNsZXMvZnVsbGJsYWNrY2lyY2xlLndlYnBcIj48L2ltZz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICB7LyogU3BhY2luZyBCbG9jayAqL31cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJyBzdHlsZT17eyAnaGVpZ2h0JzogJzEwMHZoJyB9fT48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydmb250U2l6ZScgOiAnMi41ZW0nfX0+VGhhdCBpcyB3aHkgd2UgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5wZXJzdWUgZ2VuZSB0aGVyYXB5IGZvciA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PjxiPmN5c3RpYyBmaWJyb3Npcy48L2I+PC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgey8qIGdyZXkgKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyAnaGVpZ2h0JzogJzIwMHZoJ319ICByZWY9e2RvbVJlZjh9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnekluZGV4JzogJzEnLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb3NpdGlvbic6ICdmaXhlZCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndG9wJzogJzIwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnMzB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2lkdGgnOiAnNjB2dycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzYwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyYW5zaXRpb24nOiAnb3BhY2l0eSAwLjZzIGVhc2Utb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlOCA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGU4ID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2JyZWF0aC90ZXh0bGVzcy9icmVhdGgtb25seS0zLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PlRvIGhlbHAgcmVzdG9yZSB0aGUgYWJpbGl0eSA8L3A+XHJcbiAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydmb250U2l6ZScgOiAnMi41ZW0nfX0+dG8gYnJlYXRoZSBmcmVlbHksIG9mZmVyaW5nPC9wPlxyXG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PjxiPmhvcGU8L2I+IHRvIHRob3NlIHdob3NlIGx1bmdzPC9wPlxyXG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9e3snZm9udFNpemUnIDogJzIuNWVtJ319PmNhbiBub3QgcHJvcGVybHkgZnVuY3Rpb248L3A+IHsvKiAgb24gdGhlaXIgb3duLiAqL31cclxuICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J2ZvbnRTaXplJyA6ICcyLjVlbSd9fT5vbiB0aGVpciBvd24uPC9wPiAgICAgICBcclxuICAgICAgICAgICAgICAgIHsvKiBTcGFjaW5nIEJsb2NrICovfVxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCcgc3R5bGU9e3sgJ2hlaWdodCc6ICcxMDB2aCcgfX0+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvPlxyXG4gICAgKTtcclxufVxyXG4iLCAiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gUHJvYmxlbXMoKXtcclxuICAgIGNvbnN0IFtpc1Zpc2libGUsIHNldFZpc2libGVdID0gdXNlU3RhdGUoZmFsc2UpO1xyXG4gICAgY29uc3QgZG9tUmVmID0gdXNlUmVmKG51bGwpITtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZW50cmllcyA9PiB7XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHNldFZpc2libGUoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZi5jdXJyZW50ISk7XHJcbiAgICB9LCBbXSk7XHJcblxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTIsIHNldFZpc2libGUyXSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjIgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTIoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjIuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIGNvbnN0IFtpc1Zpc2libGUzLCBzZXRWaXNpYmxlM10gPSB1c2VTdGF0ZShmYWxzZSk7XHJcbiAgICBjb25zdCBkb21SZWYzID0gdXNlUmVmKG51bGwpITtcclxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZW50cmllcyA9PiB7XHJcbiAgICAgICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHNldFZpc2libGUzKGVudHJ5LmlzSW50ZXJzZWN0aW5nKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZShkb21SZWYzLmN1cnJlbnQhKTtcclxuICAgIH0sIFtdKTtcclxuICAgIFxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTQsIHNldFZpc2libGU0XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjQgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTQoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjQuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIFxyXG4gICAgY29uc3QgW2lzVmlzaWJsZTUsIHNldFZpc2libGU1XSA9IHVzZVN0YXRlKGZhbHNlKTtcclxuICAgIGNvbnN0IGRvbVJlZjUgPSB1c2VSZWYobnVsbCkhO1xyXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBJbnRlcnNlY3Rpb25PYnNlcnZlcihlbnRyaWVzID0+IHtcclxuICAgICAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gc2V0VmlzaWJsZTUoZW50cnkuaXNJbnRlcnNlY3RpbmcpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICBvYnNlcnZlci5vYnNlcnZlKGRvbVJlZjUuY3VycmVudCEpO1xyXG4gICAgfSwgW10pO1xyXG5cclxuICAgIGNvbnN0IFRpdGxlMSA9IFwiQ3lzdGljIEZpYnJvc2lzXCI7XHJcbiAgICBjb25zdCBUaXRsZTIgPSBcIm1ha2VzIGxpZmUgYnJlYXRodGFraW5nXCI7XHJcbiAgICBjb25zdCBQcm9iMTEgPSBcIlRoaWNrIG11Y3VzIGJsb2NraW5nIGFpcndheSBhbmQgcHJldmVudHNcIlxyXG4gICAgY29uc3QgUHJvYjEyID0gXCJveHlnZW4gYWJzb3JwdGlvbiwgbGVhZGluZyB0byBicm9uY2hpYWxcIlxyXG4gICAgY29uc3QgUHJvYjEzID0gXCJvYnN0cnVjdGlvbnMsIG9yZ2FuIGZhaWx1ZSBhbiBkZWF0aFwiO1xyXG4gICAgY29uc3QgUHJvYjIxID0gXCJDaHJvbmljIGluZmxhbW1hdGlvbiBvY2N1cnMgcGVyaW9kaWNhbGx5XCI7XHJcbiAgICBjb25zdCBQcm9iMjIgPSBcImR1ZSB0byBhIGhpZ2ggdnVsbmVyYWJpbGl0eSBcIjtcclxuICAgIGNvbnN0IFByb2IyMyA9IFwidG8gYmFjdGVyaWFsIGFuZCB2aXJhbCBpbmZlY3Rpb25zXCI7XHJcbiAgICBjb25zdCBQcm9iMzEgPSBcIkhlaWdodGVuZWQgc2FmZXR5IGNvbnNpZGVyYXRpb25zIGFuZFwiO1xyXG4gICAgY29uc3QgUHJvYjMyID0gXCJlbW90aW9uYWwgc3RyZXNzIHByb21vdGUgZGVwcmVzc2lvblwiO1xyXG4gICAgY29uc3QgUHJvYjMzID0gXCJhbmQgcHN5Y2hvbG9naWNhbCBpc3N1ZXNcIjtcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAgIDw+XHJcbiAgICAgICAgICAgIHsvKiBPbmUgKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGUgPyAnMScgOiAnMCd9YCxcclxuICAgICAgICAgICAgICAgICAgICAndmlzaWJpbGl0eSc6IGAke2lzVmlzaWJsZSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWB9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWZ9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9wcm9ibGVtcy9jeWZpYi0xLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIHsvKiBUd28gKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGUyID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUyID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YH19XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZjJ9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9wcm9ibGVtcy9jeWZpYi0yLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydwb3NpdGlvbic6ICdmaXhlZCcsJ3RvcCc6ICcxN3ZoJywgJ3dpZHRoJzogJzgydncnLCAnekluZGV4JzogJzEnLCdsZWZ0JzogJzEwdncnLCdmb250U2l6ZSc6ICczdncnLCAnZm9udFdlaWdodCc6ICdib2xkJywgJ3RleHRBbGlnbic6ICdjZW50ZXInfX0+e1RpdGxlMX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnMjN2aCcsICd3aWR0aCc6ICc4MnZ3JywgJ3pJbmRleCc6ICcxJywnbGVmdCc6ICcxMHZ3JywnZm9udFNpemUnOiAnM3Z3JywgJ2ZvbnRXZWlnaHQnOiAnYm9sZCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntUaXRsZTJ9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J3Bvc2l0aW9uJzogJ2ZpeGVkJywndG9wJzogJzY1dmgnLCAnbGVmdCc6ICcyMHZ3JywgJ3pJbmRleCc6ICcxJywgJ3dpZHRoJzogJzMwdmgnLCAndGV4dEFsaWduJzogJ2NlbnRlcid9fT57UHJvYjExICsgXCIgXCIgKyBQcm9iMTIgKyBcIiBcIiArIFByb2IxM308L3A+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB7LyogVGhyZWUgKi99XHJcbiAgICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9J2NvbCdcclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7IFxyXG4gICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnMTAwdmgnLFxyXG4gICAgICAgICAgICAgICAgICAgICd0cmFuc2l0aW9uJzogJ29wYWNpdHkgMC42cyBlYXNlLW91dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgJ29wYWNpdHknOiBgJHtpc1Zpc2libGUzID8gJzEnIDogJzAnfWAsXHJcbiAgICAgICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiBgJHtpc1Zpc2libGUzID8gJ3Zpc2libGUnIDogJ2hpZGRlbid9YH19XHJcbiAgICAgICAgICAgICAgICByZWY9e2RvbVJlZjN9PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncG9zaXRpb24nOiAnZml4ZWQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcyMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsZWZ0JzogJzIwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzYwdncnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlaWdodCc6ICc2MHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9wcm9ibGVtcy9jeWZpYi0zLndlYnBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8L2ltZz5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydwb3NpdGlvbic6ICdmaXhlZCcsJ3RvcCc6ICcxN3ZoJywgJ3dpZHRoJzogJzgydncnLCAnekluZGV4JzogJzEnLCdsZWZ0JzogJzEwdncnLCdmb250U2l6ZSc6ICczdncnLCAnZm9udFdlaWdodCc6ICdib2xkJywgJ3RleHRBbGlnbic6ICdjZW50ZXInfX0+e1RpdGxlMX08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnMjN2aCcsICd3aWR0aCc6ICc4MnZ3JywgJ3pJbmRleCc6ICcxJywnbGVmdCc6ICcxMHZ3JywnZm9udFNpemUnOiAnM3Z3JywgJ2ZvbnRXZWlnaHQnOiAnYm9sZCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntUaXRsZTJ9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J3Bvc2l0aW9uJzogJ2ZpeGVkJywndG9wJzogJzY1dmgnLCAnbGVmdCc6ICcyMHZ3JywgJ3pJbmRleCc6ICcxJywgJ3dpZHRoJzogJzMwdmgnLCAndGV4dEFsaWduJzogJ2NlbnRlcid9fT57UHJvYjExICsgXCIgXCIgKyBQcm9iMTIgKyBcIiBcIiArIFByb2IxM308L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnNjV2aCcsICdsZWZ0JzogJzQwdncnLCAnekluZGV4JzogJzEnLCAnd2lkdGgnOiAnMzB2aCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntQcm9iMjEgKyBcIiBcIiArIFByb2IyMiArIFwiIFwiICsgUHJvYjIzfTwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIHsvKiBGb3VyICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2wnXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzEwMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdvcGFjaXR5IDAuNnMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlNCA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNCA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWB9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWY0fT5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICcyMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJvYmxlbXMvY3lmaWItNC53ZWJwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnMTd2aCcsICd3aWR0aCc6ICc4MnZ3JywnbGVmdCc6ICcxMHZ3JywgJ3pJbmRleCc6ICcxJywnZm9udFNpemUnOiAnM3Z3JywgJ2ZvbnRXZWlnaHQnOiAnYm9sZCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntUaXRsZTF9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J3Bvc2l0aW9uJzogJ2ZpeGVkJywndG9wJzogJzIzdmgnLCAnd2lkdGgnOiAnODJ2dycsJ2xlZnQnOiAnMTB2dycsICd6SW5kZXgnOiAnMScsJ2ZvbnRTaXplJzogJzN2dycsICdmb250V2VpZ2h0JzogJ2JvbGQnLCAndGV4dEFsaWduJzogJ2NlbnRlcid9fT57VGl0bGUyfTwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydwb3NpdGlvbic6ICdmaXhlZCcsJ3RvcCc6ICc2NXZoJywgJ2xlZnQnOiAnMjB2dycsICd6SW5kZXgnOiAnMScsICd3aWR0aCc6ICczMHZoJywgJ3RleHRBbGlnbic6ICdjZW50ZXInfX0+e1Byb2IxMSArIFwiIFwiICsgUHJvYjEyICsgXCIgXCIgKyBQcm9iMTN9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J3Bvc2l0aW9uJzogJ2ZpeGVkJywndG9wJzogJzY1dmgnLCAnbGVmdCc6ICc0MHZ3JywgJ3pJbmRleCc6ICcxJywgJ3dpZHRoJzogJzMwdmgnLCAndGV4dEFsaWduJzogJ2NlbnRlcid9fT57UHJvYjIxICsgXCIgXCIgKyBQcm9iMjIgKyBcIiBcIiArIFByb2IyM308L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnNjV2aCcsICdsZWZ0JzogJzYwdncnLCAnekluZGV4JzogJzEnLCAnd2lkdGgnOiAnMzB2aCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntQcm9iMzEgKyBcIiBcIiArIFByb2IzMiArIFwiIFwiICsgUHJvYjMzfTwvcD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIHsvKiBGaXZlICovfVxyXG4gICAgICAgICAgICA8ZGl2IFxyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdjb2wnXHJcbiAgICAgICAgICAgICAgICBzdHlsZT17eyBcclxuICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JzogJzEwMHZoJyxcclxuICAgICAgICAgICAgICAgICAgICAndHJhbnNpdGlvbic6ICdvcGFjaXR5IDAuNnMgZWFzZS1vdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICdvcGFjaXR5JzogYCR7aXNWaXNpYmxlNSA/ICcxJyA6ICcwJ31gLFxyXG4gICAgICAgICAgICAgICAgICAgICd2aXNpYmlsaXR5JzogYCR7aXNWaXNpYmxlNSA/ICd2aXNpYmxlJyA6ICdoaWRkZW4nfWB9fVxyXG4gICAgICAgICAgICAgICAgcmVmPXtkb21SZWY1fT5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bvc2l0aW9uJzogJ2ZpeGVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0b3AnOiAnMjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGVmdCc6ICcyMHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc6ICc2MHZ3JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdoZWlnaHQnOiAnNjB2aCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJvYmxlbXMvY3lmaWItNS53ZWJwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pbWc+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnMTd2aCcsICd3aWR0aCc6ICc4MnZ3JywnbGVmdCc6ICcxMHZ3JywgJ3pJbmRleCc6ICcxJywnZm9udFNpemUnOiAnM3Z3JywgJ2ZvbnRXZWlnaHQnOiAnYm9sZCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntUaXRsZTF9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J3Bvc2l0aW9uJzogJ2ZpeGVkJywndG9wJzogJzIzdmgnLCAnd2lkdGgnOiAnODJ2dycsICdsZWZ0JzogJzEwdncnLCAnekluZGV4JzogJzEnLCdmb250U2l6ZSc6ICczdncnLCAnZm9udFdlaWdodCc6ICdib2xkJywgJ3RleHRBbGlnbic6ICdjZW50ZXInfX0+e1RpdGxlMn08L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnNjV2aCcsICdsZWZ0JzogJzIwdncnLCAnekluZGV4JzogJzEnLCAnd2lkdGgnOiAnMzB2aCcsICd0ZXh0QWxpZ24nOiAnY2VudGVyJ319PntQcm9iMTEgKyBcIiBcIiArIFByb2IxMiArIFwiIFwiICsgUHJvYjEzfTwvcD5cclxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17eydwb3NpdGlvbic6ICdmaXhlZCcsJ3RvcCc6ICc2NXZoJywgJ2xlZnQnOiAnNDB2dycsICd6SW5kZXgnOiAnMScsICd3aWR0aCc6ICczMHZoJywgJ3RleHRBbGlnbic6ICdjZW50ZXInfX0+e1Byb2IyMSArIFwiIFwiICsgUHJvYjIyICsgXCIgXCIgKyBQcm9iMjN9PC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7J3Bvc2l0aW9uJzogJ2ZpeGVkJywndG9wJzogJzY1dmgnLCAnbGVmdCc6ICc2MHZ3JywgJ3pJbmRleCc6ICcxJywgJ3dpZHRoJzogJzMwdmgnLCAndGV4dEFsaWduJzogJ2NlbnRlcid9fT57UHJvYjMxICsgXCIgXCIgKyBQcm9iMzIgKyBcIiBcIiArIFByb2IzM308L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9e3sncG9zaXRpb24nOiAnZml4ZWQnLCd0b3AnOiAnODV2aCcsICdsZWZ0JzogJzM1dncnLCAnekluZGV4JzogJzEnfX0+PC9wPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBpZD1cInNjaWVuY3lcIj48L2Rpdj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvPlxyXG4gICAgKTtcclxufSIsICJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUsIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBvcGVuRnJvbU90aGVyUGFnZSB9IGZyb20gJy4vb3BlbkZyb21PdGhlcnBBZ2UnO1xuaW1wb3J0IHsgdXNlTG9hZGluZyB9IGZyb20gJy4vTG9hZGluZ0NvbnRleHQnO1xuXG4vLyBGdW5rdGlvbiwgdW0gZGVuIEhhdXB0dGFiIHp1IFx1MDBGNmZmbmVuXG5leHBvcnQgY29uc3Qgb3BlblRhYiA9ICh0YWJJZDogc3RyaW5nLCB0YWJDbGFzczogc3RyaW5nKSA9PiB7XG4gIGNvbnNvbGUubG9nKChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJJZCkgYXMgSFRNTEVsZW1lbnQpLmNsYXNzTGlzdFsxXSlcbiAgY29uc29sZS5sb2coYHRhYmNsYXNzIGlzICR7dGFiQ2xhc3N9YClcbiAgY29uc3QgdGFicyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUodGFiQ2xhc3MpO1xuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGFicy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAodGFic1tpbmRleF0gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgXG4gIH1cblxuICBjb25zdCBzZWxlY3RlZFRhYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYklkKTtcbiAgaWYgKHNlbGVjdGVkVGFiKSB7XG4gICAgc2VsZWN0ZWRUYWIuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gIH1cbn07XG5cbi8vIEZ1bmt0aW9uLCB1bSB2ZXJzY2hhY2h0ZWx0ZSBUYWJzIHp1IFx1MDBGNmZmbmVuXG5leHBvcnQgY29uc3Qgb3Blbk5lc3RlZFRhYiA9IChwYXJlbnRUYWJJZDogc3RyaW5nLCBjaGlsZFRhYklkOiBzdHJpbmcsIHBhcmVudENsYXNzOiBzdHJpbmcsIGNoaWxkQ2xhc3M6IHN0cmluZykgPT4ge1xuICBvcGVuVGFiKHBhcmVudFRhYklkLCBwYXJlbnRDbGFzcyk7XG5cbiAgY29uc3QgbmVzdGVkVGFicyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYCMke3BhcmVudFRhYklkfSAke2NoaWxkQ2xhc3N9YCk7XG4gIG5lc3RlZFRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgKHRhYiBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgfSk7XG5cbiAgY29uc3Qgc2VsZWN0ZWROZXN0ZWRUYWIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjaGlsZFRhYklkKTtcbiAgaWYgKHNlbGVjdGVkTmVzdGVkVGFiKSB7XG4gICAgc2VsZWN0ZWROZXN0ZWRUYWIuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gIH1cbn07XG5cbi8vIEZ1bmt0aW9uLCB1bSB6dSBlaW5lbSBiZXN0aW1tdGVuIEJlcmVpY2ggKHouQi4gQ29sbGFwc2UpIHp1IHNjcm9sbGVuXG5leHBvcnQgY29uc3QgaGFuZGxlU2Nyb2xsVG9Db2xsYXBzZSA9IChjb2xsYXBzZUlkOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgY29sbGFwc2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29sbGFwc2VJZCk7XG4gIGlmIChjb2xsYXBzZUVsZW1lbnQpIHtcbiAgICBjb25zdCBlbGVtZW50VG9wID0gY29sbGFwc2VFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgICBjb25zdCBvZmZzZXQgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLyAyIC0gY29sbGFwc2VFbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7XG4gICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSBlbGVtZW50VG9wIC0gb2Zmc2V0O1xuXG4gICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgIHRvcDogc2Nyb2xsUG9zaXRpb24sXG4gICAgICBiZWhhdmlvcjogJ3Ntb290aCcsXG4gICAgfSk7XG4gIH1cbn07XG5cbi8vIEN1c3RvbSBIb29rIHp1ciB6ZW50cmFsZW4gVGFiLU5hdmlnYXRpb25cbmV4cG9ydCBjb25zdCB1c2VUYWJOYXZpZ2F0aW9uID0gKCkgPT4ge1xuICBjb25zdCB7IHNldElzTG9hZGluZyB9ID0gdXNlTG9hZGluZygpOyAvLyAyLiBMYWRlenVzdGFuZCBoaWVyIHZlcndlbmRlbiBcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG4gIGNvbnN0IFthY3RpdmVUYWIsIHNldEFjdGl2ZVRhYl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2FjdGl2ZVN1YlRhYiwgc2V0QWN0aXZlU3ViVGFiXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBcblxuICAvLyBUYWItV2VjaHNlbCB1bmQgVVJMLVVwZGF0ZVxuICBjb25zdCBoYW5kbGVUYWJDaGFuZ2UgPSAodGFiSWQ6IHN0cmluZywgc3ViVGFiSWQ/OiBzdHJpbmcpID0+IHtcbiAgICBzZXRBY3RpdmVUYWIodGFiSWQpO1xuICAgIHNldEFjdGl2ZVN1YlRhYihzdWJUYWJJZCB8fCBudWxsKTtcblxuICAgIC8vIFVSTCBlbnRzcHJlY2hlbmQgYWt0dWFsaXNpZXJlblxuICAgIGxldCBuZXdVcmwgPSBgJHtsb2NhdGlvbi5wYXRobmFtZX0/dGFiPSR7dGFiSWR9YDtcbiAgICBpZiAoc3ViVGFiSWQpIHtcbiAgICAgIG5ld1VybCArPSBgJnN1YlRhYj0ke3N1YlRhYklkfWA7XG4gICAgfVxuICAgIG5hdmlnYXRlKG5ld1VybCwgeyByZXBsYWNlOiB0cnVlIH0pO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc29sZS5sb2coXCJVc2UgRWZmZWN0XCIpXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgIGNvbnN0IHRhYklkID0gcGFyYW1zLmdldCgndGFiJyk7XG4gICAgY29uc3Qgc3ViVGFiSWQgPSBwYXJhbXMuZ2V0KCdzdWJUYWInKTtcbiAgICBjb25zdCBjb2xsYXBzZUlkID0gcGFyYW1zLmdldCgnY29sbGFwc2VJZCcpO1xuICAgIGNvbnN0IHNjcm9sbFRvSWQgPSBwYXJhbXMuZ2V0KCdzY3JvbGxUbycpOyBcbiAgICBjb25zdCBjaGFuZ2VUbyA9IHBhcmFtcy5nZXQoJ2NoYW5nZVRvJyk7XG4gICAgXG4gICAgLy8gXHUwMEQ2ZmZuZSBIYXVwdC0gdW5kIGdnZi4gdmVyc2NoYWNodGVsdGVuIFRhYlxuICAgIGlmICh0YWJJZCkge1xuICAgICAgbGV0IHRhYiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYklkKTtcbiAgICAgIGxldCB0YWJDbGFzcyA9IHRhYiEuY2xhc3NOYW1lOyBcbiAgICAgIGlmIChzdWJUYWJJZCkge1xuICAgICAgICBsZXQgc3ViVGFiID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3ViVGFiSWQpO1xuICAgICAgICBsZXQgcGFyZW50Q2xhc3MgPSAoc3ViVGFiIGFzIEhUTUxFbGVtZW50KS5jbGFzc0xpc3RbMV07IFxuICAgICAgICBvcGVuTmVzdGVkVGFiKHRhYklkLCBzdWJUYWJJZCwgcGFyZW50Q2xhc3MsIHRhYkNsYXNzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9wZW5UYWIodGFiSWQsIHRhYkNsYXNzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTY3JvbGxlbiB6dSBlaW5lbSBiZXN0aW1tdGVuIENvbGxhcHNpYmxlLUVsZW1lbnRcbiAgICBpZiAoY29sbGFwc2VJZCkge1xuICAgICAgaGFuZGxlU2Nyb2xsVG9Db2xsYXBzZShjb2xsYXBzZUlkKTtcbiAgICB9XG5cbiAgICAvLyBUYWIgdm9uIGVpbmVyIGFuZGVyZW4gU2VpdGUgXHUwMEY2ZmZuZW4gKGZhbGxzIGRlZmluaWVydClcbiAgICBpZiAodGFiSWQpIHtcbiAgICAgIG9wZW5Gcm9tT3RoZXJQYWdlKHRhYklkKSh7IGN1cnJlbnRUYXJnZXQ6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYklkKSEgfSk7XG4gICAgfVxuXG4gICAgaWYgKHNjcm9sbFRvSWQpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzY3JvbGxUb0lkKTtcbiAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICAgICAgY29uc3QgdGFyZ2V0UG9zaXRpb24gPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgICAgICAgICBjb25zdCBzY3JvbGxUb1Bvc2l0aW9uID0gdGFyZ2V0UG9zaXRpb24gLSB2aWV3cG9ydEhlaWdodCAvIDUgKyBlbGVtZW50LmNsaWVudEhlaWdodCAvIDI7XG4gICAgICAgICAgd2luZG93LnNjcm9sbFRvKHsgdG9wOiBzY3JvbGxUb1Bvc2l0aW9uLCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KTtcbiAgICAgIH1cbiAgfVxuICBpZiAoY2hhbmdlVG8pIHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY2hhbmdlVG8pO1xuICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3QgdGFyZ2V0UG9zaXRpb24gPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsVG9Qb3NpdGlvbiA9IHRhcmdldFBvc2l0aW9uIC0gdmlld3BvcnRIZWlnaHQgLyAyICsgZWxlbWVudC5jbGllbnRIZWlnaHQgLyAyO1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHNjcm9sbFRvUG9zaXRpb24sIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xuICAgIH1cbn1cblxuICAgIHNldEFjdGl2ZVRhYih0YWJJZCk7XG4gICAgc2V0QWN0aXZlU3ViVGFiKHN1YlRhYklkIHx8IG51bGwpO1xuICB9LCBbbG9jYXRpb24uc2VhcmNoXSk7XG5cbiAgcmV0dXJuIHsgYWN0aXZlVGFiLCBhY3RpdmVTdWJUYWIsIGhhbmRsZVRhYkNoYW5nZSB9O1xufTtcblxuXG4iLCAiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5cbmNvbnN0IExvYWRpbmdDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxhbnk+KG51bGwpO1xuXG5leHBvcnQgY29uc3QgTG9hZGluZ1Byb3ZpZGVyID0gKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0pID0+IHtcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICByZXR1cm4gKFxuICAgIDxMb2FkaW5nQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17eyBpc0xvYWRpbmcsIHNldElzTG9hZGluZyB9fT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0xvYWRpbmdDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUxvYWRpbmcgPSAoKSA9PiB1c2VDb250ZXh0KExvYWRpbmdDb250ZXh0KTtcbiIsICJpbXBvcnQgeyBzdHJpbmdUb1NsdWcgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEhob3BwKHt0ZXh0LCBpZH06e3RleHQ6IHN0cmluZywgaWQ/OiBzdHJpbmd9KXtcbiAgICBjb25zdCBhcnI6IEpTWC5FbGVtZW50W10gID0gW107IFxuICAgIHZhciBpZHRleHQ6IHN0cmluZzsgXG4gICAgaWYgKGlkKSB7XG4gICAgICAgIGlkdGV4dCA9IGlkOyBcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgaWR0ZXh0ID0gc3RyaW5nVG9TbHVnKHRleHQpOyBcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXh0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHggPSB0ZXh0LmNoYXJBdChpKTsgXG4gICAgICAgIGFyci5wdXNoKDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt4fTwvc3Bhbj4pXG4gICAgfVxuICAgIHJldHVybihcbiAgICAgICAgPGgxIGlkPXtpZHRleHR9IGNsYXNzTmFtZT1cInBsYXlmdWxcIiBhcmlhLWxhYmVsPVwiV2FzaCB5b3VyIGhhbmRzXCI+XG4gICAgICAgICAgICB7YXJyfSAgICAgICAgXG4gICAgICAgIDwvaDE+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSHNtb2tlKHt0ZXh0LCBpZH06e3RleHQ6IHN0cmluZywgaWQ/OiBzdHJpbmd9KXtcbiAgICBjb25zdCBhcnI6IEpTWC5FbGVtZW50W10gID0gW107IFxuICAgIHZhciBpZHRleHQ6IHN0cmluZzsgXG4gICAgaWYgKGlkKSB7XG4gICAgICAgIGlkdGV4dCA9IGlkOyBcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgaWR0ZXh0ID0gc3RyaW5nVG9TbHVnKHRleHQpOyBcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0ZXh0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHggPSB0ZXh0LmNoYXJBdChpKTsgXG4gICAgICAgIGFyci5wdXNoKDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPnt4fTwvc3Bhbj4pXG4gICAgfVxuICAgIHJldHVybihcbiAgICAgICAgPGgxIGlkPXtpZHRleHR9IGNsYXNzTmFtZT1cInNtb2tlXCIgYXJpYS1sYWJlbD1cIldhc2ggeW91ciBoYW5kc1wiPlxuICAgICAgICAgICAge2Fycn0gICAgICAgIFxuICAgICAgICA8L2gxPlxuICAgIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEgxKHt0ZXh0LCBpZH06e3RleHQ6IHN0cmluZywgaWQ/OiBzdHJpbmd9KXtcbiAgICAvKiB2YXIgaWR0ZXh0OiBzdHJpbmc7IFxuICAgIGlmIChpZCkge1xuICAgICAgICBpZHRleHQgPSBpZDsgXG4gICAgfVxuICAgIGVsc2V7XG4gICAgICAgIGlkdGV4dCA9IHN0cmluZ1RvU2x1Zyh0ZXh0KTsgXG4gICAgfVxuICAgIHJldHVybihcbiAgICA8ZGl2IGlkPXtpZHRleHR9IGNsYXNzTmFtZT1cInJvdyBob25lXCI+XG4gICAgICAgIDxzdmcgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiPlxuICAgICAgICA8dGV4dCB4PVwiMCVcIiB5PVwiNjAlXCI+XG4gICAgICAgIHt0ZXh0fVxuICAgICAgICA8L3RleHQ+XG4gICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgKSAqL1xuICAgcmV0dXJuKFxuICAgIDxoMSBpZD17aWR9ID57dGV4dH08L2gxPlxuICAgKVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBIMih7dGV4dCwgaWR9Ont0ZXh0OiBzdHJpbmcsIGlkPzogc3RyaW5nfSl7XG4gICAgdmFyIGlkdGV4dDogc3RyaW5nOyBcbiAgICBpZiAoaWQpIHtcbiAgICAgICAgaWR0ZXh0ID0gaWQ7IFxuICAgIH1cbiAgICBlbHNle1xuICAgICAgICBpZHRleHQgPSBzdHJpbmdUb1NsdWcodGV4dCk7IFxuICAgIH1cbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaDItYm94XCI+XG4gICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwiaDJcIiBpZD17aWR0ZXh0fT57dGV4dH08L2gyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSDMoe3RleHQsIGlkfTp7dGV4dDogc3RyaW5nLCBpZD86IHN0cmluZ30pe1xuICAgIHZhciBpZHRleHQ6IHN0cmluZzsgXG4gICAgaWYgKGlkKSB7XG4gICAgICAgIGlkdGV4dCA9IGlkOyBcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgaWR0ZXh0ID0gc3RyaW5nVG9TbHVnKHRleHQpOyBcbiAgICB9XG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGgzICBjbGFzc05hbWU9XCJoM1wiIGlkPXtpZHRleHR9PiB7dGV4dH0gPC9oMz4gIFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgKVxufVxuZXhwb3J0IGZ1bmN0aW9uIFBoaWxpcEgzKHtjaGlsZHJlbiwgaWR9OntjaGlsZHJlbjogSlNYLkVsZW1lbnQgLCBpZDogc3RyaW5nfSl7XG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGgzICBjbGFzc05hbWU9XCJoM1wiIGlkPXtpZH0+IHtjaGlsZHJlbn0gPC9oMz4gIFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgKVxufVxuZXhwb3J0IGZ1bmN0aW9uIEg0KHt0ZXh0LCBpZH06e3RleHQ6IHN0cmluZywgaWQ/OiBzdHJpbmd9KXtcbiAgICB2YXIgaWR0ZXh0OiBzdHJpbmc7IFxuICAgIGlmIChpZCkge1xuICAgICAgICBpZHRleHQgPSBpZDsgXG4gICAgfVxuICAgIGVsc2V7XG4gICAgICAgIGlkdGV4dCA9IHN0cmluZ1RvU2x1Zyh0ZXh0KTsgXG4gICAgfVxuICAgIHJldHVybihcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJoNFwiIGlkPXtpZHRleHR9PiB7dGV4dH0gPC9oND4gIFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgKVxufVxuZXhwb3J0IGZ1bmN0aW9uIEg1KHt0ZXh0LCBpZH06e3RleHQ6IHN0cmluZywgaWQ/OiBzdHJpbmd9KXtcbiAgICB2YXIgaWR0ZXh0OiBzdHJpbmc7IFxuICAgIGlmIChpZCkge1xuICAgICAgICBpZHRleHQgPSBpZDsgXG4gICAgfVxuICAgIGVsc2V7XG4gICAgICAgIGlkdGV4dCA9IHN0cmluZ1RvU2x1Zyh0ZXh0KTsgXG4gICAgfVxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoNS1ib3hcIj5cbiAgICAgICAgICAgIDxoNSBjbGFzc05hbWU9XCJoNVwiIGlkPXtpZHRleHR9PiB7dGV4dH0gPC9oNT4gIFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgKVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBIaGlnaGxpZ2h0KHtjaGlsZHJlbn06e2NoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGV9KXtcbiAgICByZXR1cm4oXG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb250ZW50IHYyXCI+XG4gICAgICAgIDxwPntjaGlsZHJlbn08L3A+XG4gICAgPC9kaXY+XG4gICAgKVxufVxuZXhwb3J0IGZ1bmN0aW9uIEhzcG9pbGVyKHtjaGlsZHJlbn06e2NoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGV9KXtcbiAgICByZXR1cm4oXG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb250ZW50IHYzXCI+XG4gICAgICAgIDxwPntjaGlsZHJlbn08L3A+XG4gICAgPC9kaXY+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSHdhdmUoe3RleHQsIGlkfTp7dGV4dDogc3RyaW5nLCBpZD86IHN0cmluZ30pe1xuICAgIHZhciBpZHRleHQ6IHN0cmluZzsgXG4gICAgaWYgKGlkKSB7XG4gICAgICAgIGlkdGV4dCA9IGlkOyBcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgaWR0ZXh0ID0gc3RyaW5nVG9TbHVnKHRleHQpOyBcbiAgICB9XG4gICAgcmV0dXJuKFxuICAgICAgIC8qICA8c3ZnIGlkPXtpZHRleHR9IGNsYXNzTmFtZT1cImJpZ3RpdGxlXCIgdmlld0JveD1cIjAgMCAxMDAgMjBcIj5cbiAgICAgICAgPGRlZnM+XG4gICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9XCJncmFkaWVudFwiIHgxPVwiMFwiIHgyPVwiMFwiIHkxPVwiMFwiIHkyPVwiMVwiPlxuICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiNSVcIiBzdG9wQ29sb3I9XCIjODUwRjc4XCIvPlxuICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiOTUlXCIgc3RvcENvbG9yPVwiI0EwQTdGM1wiLz5cbiAgICAgICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgICAgICA8cGF0dGVybiBpZD1cIndhdmVcIiB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIxMjBcIiBoZWlnaHQ9XCIyMFwiIHBhdHRlcm5Vbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgICAgICA8cGF0aCBpZD1cIndhdmVQYXRoXCIgZD1cIk0tNDAgOSBRLTMwIDcgLTIwIDkgVDAgOSBUMjAgOSBUNDAgOSBUNjAgOSBUODAgOSBUMTAwIDkgVDEyMCA5IFYyMCBILTQwelwiIG1hc2s9XCJ1cmwoI21hc2spXCIgZmlsbD1cInVybCgjZ3JhZGllbnQpXCI+IFxuICAgICAgICAgICAgICAgIDxhbmltYXRlVHJhbnNmb3JtXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWU9XCJ0cmFuc2Zvcm1cIlxuICAgICAgICAgICAgICAgICAgICBiZWdpbj1cIjBzXCJcbiAgICAgICAgICAgICAgICAgICAgZHVyPVwiM3NcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwidHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgZnJvbT1cIjAsMFwiXG4gICAgICAgICAgICAgICAgICAgIHRvPVwiNDAsMFwiXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PVwiaW5kZWZpbml0ZVwiIC8+XG4gICAgICAgICAgICA8L3BhdGg+XG4gICAgICAgICAgICA8L3BhdHRlcm4+XG4gICAgICAgIDwvZGVmcz5cbiAgICAgICAgPHRleHQgdGV4dEFuY2hvcj1cIm1pZGRsZVwiIHg9XCI1MFwiIHk9XCIxNVwiIGZvbnRTaXplPVwiMTNcIiBmaWxsPVwid2hpdGVcIiAgZmlsbE9wYWNpdHk9XCIxXCI+e3RleHR9PC90ZXh0PlxuICAgICAgICA8dGV4dCB0ZXh0QW5jaG9yPVwibWlkZGxlXCIgeD1cIjUwXCIgeT1cIjE1XCIgZm9udFNpemU9XCIxM1wiIGZpbGw9XCJ1cmwoI3dhdmUpXCIgIGZpbGxPcGFjaXR5PVwiMC43XCI+e3RleHR9PC90ZXh0PlxuICAgICAgICA8dGV4dCB0ZXh0QW5jaG9yPVwibWlkZGxlXCIgeD1cIjUwXCIgeT1cIjE1XCIgZm9udFNpemU9XCIxM1wiIGZpbGw9XCJ1cmwoI2dyYWRpZW50KVwiIGZpbGxPcGFjaXR5PVwiMC45XCI+e3RleHR9PC90ZXh0PlxuICAgICAgICA8L3N2Zz4gKi9cbiAgICAgICAgPHN2ZyBpZD17aWR0ZXh0fSBjbGFzc05hbWU9XCJiaWd0aXRsZVwiIHZpZXdCb3g9XCIwIDAgMTAwIDIwXCI+XG4gICAgPGRlZnM+XG4gICAgICAgIDxsaW5lYXJHcmFkaWVudCBpZD1cImdyYWRpZW50XCIgeDE9XCIwXCIgeDI9XCIwXCIgeTE9XCIwXCIgeTI9XCIxXCI+XG4gICAgICAgICAgICA8c3RvcCBvZmZzZXQ9XCI1JVwiIHN0b3BDb2xvcj1cIiM4NTBGNzhcIiAvPlxuICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PVwiOTUlXCIgc3RvcENvbG9yPVwiI0EwQTdGM1wiIC8+XG4gICAgICAgIDwvbGluZWFyR3JhZGllbnQ+XG4gICAgICAgIDxwYXR0ZXJuIGlkPVwid2F2ZVwiIHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjEyMFwiIGhlaWdodD1cIjIwXCIgcGF0dGVyblVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgICAgIDxwYXRoIGlkPVwid2F2ZVBhdGhcIiBkPVwiTS00MCA5IFEtMzAgNyAtMjAgOSBUMCA5IFQyMCA5IFQ0MCA5IFQ2MCA5IFQ4MCA5IFQxMDAgOSBUMTIwIDkgVjIwIEgtNDB6XCIgZmlsbD1cInVybCgjZ3JhZGllbnQpXCI+XG4gICAgICAgICAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm1cbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlTmFtZT1cInRyYW5zZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgIGJlZ2luPVwiMHNcIlxuICAgICAgICAgICAgICAgICAgICBkdXI9XCIzc1wiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICBmcm9tPVwiMCwwXCJcbiAgICAgICAgICAgICAgICAgICAgdG89XCI0MCwwXCJcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCIgLz5cbiAgICAgICAgICAgIDwvcGF0aD5cbiAgICAgICAgPC9wYXR0ZXJuPlxuICAgIDwvZGVmcz5cbiAgICA8dGV4dCB0ZXh0QW5jaG9yPVwibWlkZGxlXCIgeD1cIjUwXCIgeT1cIjE1XCIgZm9udFNpemU9XCIxM1wiICBzdHJva2U9XCJ2YXIoLS1vdXJiZWlnZSlcIiBzdHJva2VXaWR0aD17XCIwLjJweFwifSAgZmlsbD1cInVybCgjZ3JhZGllbnQpXCI+e3RleHR9PC90ZXh0PlxuICAgIDx0ZXh0IHRleHRBbmNob3I9XCJtaWRkbGVcIiB4PVwiNTBcIiB5PVwiMTVcIiBmb250U2l6ZT1cIjEzXCIgZmlsbD1cInVybCgjd2F2ZSlcInN0cm9rZT1cInZhcigtLW91cmJlaWdlKVwiIHN0cm9rZVdpZHRoPXtcIjAuMnB4XCJ9ICAgZmlsbE9wYWNpdHk9XCIxXCI+e3RleHR9PC90ZXh0PlxuPC9zdmc+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSHBvcGFydCh7dGV4dCwgaWR9Ont0ZXh0OiBzdHJpbmcsIGlkPzogc3RyaW5nfSl7XG4gICAgdmFyIGlkdGV4dDogc3RyaW5nOyBcbiAgICBpZiAoaWQpIHtcbiAgICAgICAgaWR0ZXh0ID0gaWQ7IFxuICAgIH1cbiAgICBlbHNle1xuICAgICAgICBpZHRleHQgPSBzdHJpbmdUb1NsdWcodGV4dCk7IFxuICAgIH1cbnJldHVybihcbiAgICA8ZGl2IGlkPXtpZHRleHR9IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgIDxkaXYgY2xhc3NOYW1lPVwicmVsYXRpdmUgcG9wYXJ0LXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhYnNvbHV0ZSBwb3BhcnRcIj5cbiAgICAgICAgICAgIHt0ZXh0fVxuICAgICAgICA8L2Rpdj4gXG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSHNoYWRvbmUoe3RleHR9Ont0ZXh0OiBzdHJpbmd9KXtcbiAgICByZXR1cm4oXG4gICAgPGRpdiBjbGFzc05hbWU9XCJoMy1ib3hcIj5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwic3Ryb2tlIHNoYWRvdy1zdHJva2VcIj57dGV4dH08L3A+XG4gICAgPC9kaXY+XG4gICAgKVxufVxuZXhwb3J0IGRlZmF1bHQgSDE7IiwgImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFByZUN5c2UoKSB7XG4gICAgcmV0dXJuICg8c3BhbiBjbGFzc05hbWU9XCJ1bmRlcmxpbmUtLW1hZ2ljYWwgcHJlY3lzZVwiPiAgUHJlQ3lzZSA8L3NwYW4+XG4gICAgKX0iLCAiaW1wb3J0IHsgRmFkZUluIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvRmFkZUluXCI7XG5pbXBvcnQgeyBCcmVhdGhlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQnJlYXRoZVwiO1xuaW1wb3J0IHsgUHJvYmxlbXMgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Qcm9ibGVtc1wiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBINSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgUHJlQ3lzZSBmcm9tIFwiLi4vY29tcG9uZW50cy9wcmVjeXNlXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBIb21lKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gIGNvbnN0IHtnb1RvUGFnZUFuZFNjcm9sbH0gPSB1c2VOYXZpZ2F0aW9uKCk7IFxuLyogKi9cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgaGVhZGVyLWNvbnRhaW5lciBsYW5kaW5nLXBhZ2UtaGVhZGVyXCIgaWQ9XCJsYW5kaW5nLXBhZ2UtaGVhZGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaGVhZGVyL2JpbGQud2VicFwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgIDxoMz5BbmQgcHJlc2VudCBvdXIgbVJOQS1iYXNlZCA8Yj5nZW5lIHRoZXJhcHk8L2I+IGZvciA8Yj50YXJnZXRlZCBhbmQgc2FmZTwvYj4gcmVjb25zdGl0dXRpb24gb2YgQ0ZUUiB0byByZXN0b3JlIHRoZSBtdWNvY2lsaWFyeSBjbGVhcmFuY2Ugb2YgcGF0aWVudHMgd2l0aCA8Yj5DeXN0aWMgRmlicm9zaXM8L2I+LjwvaDM+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGhlYWRlci1jb250YWluZXIgbGFuZGluZy1wYWdlLWhlYWRlclwiIGlkPVwibGFuZGluZy1wYWdlLWhlYWRlci0yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGhlYWRlci1idXR0b24tcm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdj48SDUgdGV4dD1cIlRha2UgYSB0b3VyIHRocm91Z2ggb3VyIGhpZ2hsaWdodHM6XCIvPiAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAmIzg1OTQ7IDxhIGhyZWY9XCJkZXNjcmlwdGlvbj9zY3JvbGxUbz1BYnN0cmFjdFwiPldoYXQgaXMgPFByZUN5c2UvPj8gPC9hPiA8YnIvPiA8YnIvPiBcbiAgICAgICAgICAgICAgICAgICYjODU5NDsgPGEgaHJlZj1cImVuZ2luZWVyaW5nP3RhYj10YWItb3VyLWN5Y2xlJnNjcm9sbFRvPW91cmN5Y2xlXCI+V2hhdCBpcyBvdXIgc3RyYXRlZ3k/PC9hPiA8YnIvPiA8YnIvPlxuICAgICAgICAgICAgICAgICAgJiM4NTk0OyA8YSBocmVmPVwiZXhwZXJpbWVudHM/dGFiPWhlYWRpbmdcIj5Ib3cgZGlkIHdlIGRvIHRoaXM/PC9hPiA8YnIvPiA8YnIvPlxuICAgICAgICAgICAgICAgICAgJiM4NTk0OyA8YSBocmVmPVwicmVzdWx0cz9zY3JvbGxUbz1leHBlcmltZW50YWwtZGVzaWduXCI+V2hhdCBkaWQgd2UgYXJjaGlldmU/PC9hPiA8YnIvPiA8YnIvPlxuICAgICAgICAgICAgICAgICAgJiM4NTk0OyA8YSBocmVmPVwicGFydHM/c2Nyb2xsVG89UGFydHMgQ29sbGVjdGlvbjJcIj5XaGF0IHBhcnRzIGFyZSB3ZSBjb250cmlidXRpbmc/PC9hPiA8YnIvPiA8YnIvPlxuICAgICAgICAgICAgICAgICAgJiM4NTk0OyA8YSBocmVmPVwianVkZ2luZz9zY3JvbGxUbz1PdmVydmlld0hcIj5XaGF0IGFyZSBvdXIgc3BlY2lhbCBhd2FyZHM/PC9hPlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBoZWFkZXItYnV0dG9uLXJvd1wiPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwoXCJzY3JvbGxzdGFydFwiLCBcIlwiKX0+IDxiPlNDUk9MTDwvYj4gdG8gc2VlIGludHJvZHVjdG9yeSBhbmltYXRpb24uPC9idXR0b24+ICBcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxwPiBcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsKFwiQWJzdHJhY3RcIiwgXCIvZGVzY3JpcHRpb25cIil9ID4gPGI+Q0xJQ0s8L2I+IHRvIGdvIGRpcmVjdGx5IHRvIG91ciBQcm9qZWN0IERlc2NyaXB0aW9uLjwvYnV0dG9uPiBcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwoXCJzY2llbmN5XCIsIFwiXCIpfT4gPGI+SlVNUDwvYj4gc3RyYWlnaHQgdG8gdGhlIHNjaWVuY2UgcGFydCBvZiB0aGUgYW5pbWF0aW9uLjwvYnV0dG9uPiAgIFxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy1wYWdlL2xwLTIuc3ZnXCIvPiAgXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBidXR0b24teFwiPlxuICAgICAgICAgICAgICA8YnV0dG9uICBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZUFuZFNjcm9sbChcIkFwcHJvYWNoMkhcIiwgXCIvZGVzY3JpcHRpb25cIil9ID4gTHVuZy1TcGVjaWZpYyBMaXBpZCBOYW5vcGFydGljbGU8L2J1dHRvbj4gXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJ1dHRvbi14XCI+XG4gICAgICAgICAgICAgIDxidXR0b24gIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsKFwiQXBwcm9hY2gxSFwiLCBcIi9kZXNjcmlwdGlvblwiKX0gPiBOZXh0LUdlbmVyYXRpb24gUHJpbWUgRWRpdGluZyBUZWNobm9sb2d5XG4gICAgICAgICAgICAgIDwvYnV0dG9uPiBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuXG5cbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtdC00XCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiIGlkPVwiZXJzdGVjb2xcIj5cbiAgICAgICAgPGRpdiAgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIFxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sncG9zaXRpb24nOiAncmVsYXRpdmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAnekluZGV4JzogJzEnLCBcbiAgICAgICAgICAgICAgICAgICAgICAgJ3RvcCc6ICcxMHZoJyxcbiAgICAgICAgICAgICAgICAgICAgICAgJ2xlZnQnOiAnMHZ3JyxcbiAgICAgICAgICAgICAgICAgICAgICAgJ3NjYWxlJzogJzAuMjUnfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2Nyb2xsc3RhcnRcIj48L2Rpdj5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9pbmRpY2F0b3Iud2VicFwiPjwvaW1nPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgIFxuICAgICAgICAgIFxuICAgICAgICAgIDxCcmVhdGhlPjwvQnJlYXRoZT5cbiAgICAgICAgICBcbiAgICAgICAgICA8UHJvYmxlbXM+PC9Qcm9ibGVtcz5cbiAgICAgICAgICBcbiAgICAgICAgICB7LyogU3BhY2luZyBCbG9jayAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJyBzdHlsZT17eyAnaGVpZ2h0JzogJzE1MHZoJyB9fT48L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9naWZzLzIwMGstYW5pbS10cmFuc3BhcmVudC1iZy5naWZcIiBiZz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLTEtdGV4dC53ZWJwJz48L0ZhZGVJbj5cbiAgICAgICAgICBcbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy1wYWdlL2xwLTUtMi5zdmdcIiBiZz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy1wYWdlL2xwLTUtMi5zdmcnPjwvRmFkZUluPlxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nLXBhZ2UvbHAtNi0yLnN2Z1wiIGJnPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nLXBhZ2UvbHAtNi0yLnN2Zyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmctcGFnZS9scC03LTIuc3ZnXCIgYmc9J2h0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmctcGFnZS9scC03LTIuc3ZnJz48L0ZhZGVJbj5cbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy1wYWdlL2xwLTgtMi5zdmdcIiBiZz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy1wYWdlL2xwLTgtMi5zdmcnPjwvRmFkZUluPlxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nLXBhZ2UvbHAtOS0yLnN2Z1wiIGJnPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nLXBhZ2UvbHAtOS0yLnN2Zyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmctcGFnZS9scC0xMC5zdmdcIiBiZz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy1wYWdlL2xwLTEwLnN2Zyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmctcGFnZS9scC0xMS0yLnN2Z1wiIGJnPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nLXBhZ2UvbHAtMTEtMi5zdmcnPjwvRmFkZUluPlxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nLXBhZ2UvbHAtMTIud2VicFwiIGJnPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nLXBhZ2UvbHAtMTIud2VicCc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmctcGFnZS9scC0xMy0yLndlYnBcIiBiZz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy1wYWdlL2xwLTEzLTIud2VicCc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmctcGFnZS9scC0xNC53ZWJwXCIgYmc9J2h0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmctcGFnZS9scC0xNC53ZWJwJz48L0ZhZGVJbj5cbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy1wYWdlL2xwLTE1LndlYnBcIiBiZz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy1wYWdlL2xwLTE1LndlYnAnPjwvRmFkZUluPlxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nLXBhZ2UvbHAtMTYud2VicFwiIGJnPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nLXBhZ2UvbHAtMTYud2VicCc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmctcGFnZS9scC0xNy5zdmdcIiBiZz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy1wYWdlL2xwLTE3LnN2Zyc+PC9GYWRlSW4+XG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmctcGFnZS9scC0xOC0yLnN2Z1wiIGJnPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nLXBhZ2UvbHAtMTgtMi5zdmcnPjwvRmFkZUluPlxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nLXBhZ2UvbHAtMTktMi5zdmdcIiBiZz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy1wYWdlL2xwLTE5LTIuc3ZnJz48L0ZhZGVJbj5cblxuXG5cblxuXG5cbiAgICAgICAgIHsvKiBcbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9naWZzLzNrLWFuaW0tdHJhbnNwYXJlbnQtYmcuZ2lmXCIgYmc9J2h0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvYmFja2dyb3VuZHMvYmFja2dyb3VuZC0zLXRleHQud2VicCc+PC9GYWRlSW4+XG4gICAgICAgICAgXG4gICAgICAgICAgXG4gICAgICAgICAgPEZhZGVJbiAgZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL2dpZnMvdHJlYXRtZW50LTIuZ2lmXCIgYmc9Jyc+PC9GYWRlSW4+XG4gICAgICAgICAgXG5cbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9haXJidWRkeS5naWZcIiBiZz0nJz48L0ZhZGVJbj5cbiAgICAgICAgICA8QWlyYnVkZHlBbmltPjwvQWlyYnVkZHlBbmltPlxuICAgICAgICAgIFxuICAgICAgICAgIDxGYWRlSW4gZmlsZXBhdGg9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYW5kaW5nL3ByaW1lZ3VpZGUud2VicFwiIGJnPScnPjwvRmFkZUluPlxuICAgICAgICAgIDxQcmltZUd1aWRlQW5pbU9uZT48L1ByaW1lR3VpZGVBbmltT25lPlxuICAgICAgICAgIDxQcmltZUd1aWRlQW5pbVR3bz48L1ByaW1lR3VpZGVBbmltVHdvPlxuXG4gICAgICAgICAgPEZhZGVJbiBmaWxlcGF0aD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhbmRpbmcvcHJlY3lzZS5naWZcIiBiZz0nJz48L0ZhZGVJbj5cbiAgICAgICAgICA8RmFkZUluIGZpbGVwYXRoPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvbGFuZGluZy9naWZzL3Byb29mb2Zjb25jZXB0LmdpZlwiIGJnPScnPjwvRmFkZUluPiAqL31cbiAgICAgICAgICBcbiAgICAgICAgICB7LyogU3BhY2luZyBCbG9jayAqL31cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJyBzdHlsZT17eyAnaGVpZ2h0JzogJzEwMHZoJyB9fT48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj4gXG4gICAgPC9kaXY+IFxuICAgIDwvPlxuICApO1xufVxuIiwgImltcG9ydCB7IExpbmsgfSBmcm9tIFwicmVhY3Qtcm91dGVyLWRvbVwiO1xuaW1wb3J0IHsgb3BlbkZyb21PdGhlclBhZ2UgfSBmcm9tIFwiLi4vdXRpbHMvb3BlbkZyb21PdGhlcnBBZ2VcIjtcbmltcG9ydCB7IG9wZW5UaGVtIH0gZnJvbSBcIi4uL3V0aWxzL29wZW5UaGVtXCI7XG5pbXBvcnQgeyBvcGVuRWxlbWVudCB9IGZyb20gXCIuLi91dGlscy9vcGVuRWxlbWVudFwiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy91c2VOYXZpZ2F0aW9uXCI7XG5pbnRlcmZhY2UgVXJsQnV0dG9uUHJvcHN7XG4gICAgaHJlZjogc3RyaW5nLFxuICAgIGNoaWxkcmVuOiBzdHJpbmcsXG4gIH07XG4gIGludGVyZmFjZSBUYWJCdXR0b25Qcm9wc3tcbiAgICBjbGFzc3k/OiBzdHJpbmcsIFxuICAgIGNsb3Npbmc6IHN0cmluZywgXG4gICAgb3BlbnR5cGU6IHN0cmluZ1xuICAgIC8qIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlLCAgKi9cbiAgICAvKiBvbkNsaWNrOiAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB2b2lkLCAgKi9cbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgdHlwZTogc3RyaW5nXG4gIH1cblxuZXhwb3J0IGZ1bmN0aW9uIFZpbGxhZ2VidXR0b24oeyB0aXRsZSwgc291cmNlLCBwYWdlIH06IHsgdGl0bGU6IHN0cmluZzsgc291cmNlOiBzdHJpbmc7IHBhZ2U6c3RyaW5nfSkge1xuICByZXR1cm4gKFxuICAgICAgPExpbmsgY2xhc3NOYW1lPVwiYnRuIHZpbGxhZ2Utc3R5bGUtYnV0dG9uXCIgcm9sZT1cImJ1dHRvblwiIHRvPXtwYWdlfT5cbiAgICAgICAgPGltZyBzcmM9e3NvdXJjZX0gY2xhc3NOYW1lPVwiZC1ibG9jayBteC1hdXRvIG1iLTJcIiBhbHQ9XCJcIj48L2ltZz5cbiAgICAgICAgPGgzPnt0aXRsZX08L2gzPlxuICAgICAgPC9MaW5rPlxuICApXG59XG4gXG5leHBvcnQgZnVuY3Rpb24gVmlsbGJ1dHRvbnJvdygpe1xuICByZXR1cm4oXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsLXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgYm90dG9tLWJ1dHRvbnNcIj5cbiAgICAgICAgPFZpbGxhZ2VidXR0b24gcGFnZT1cIi9odW1hbi1wcmFjdGljZXM/dGFiPWhwLXF1b3RlXCIgc291cmNlPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2h1bWFucHJhY3RpY2VzLnBuZ1wiIHRpdGxlPVwiSHVtYW4gUHJhY3RpY2VcIj48L1ZpbGxhZ2VidXR0b24+XG4gICAgICAgIDxWaWxsYWdlYnV0dG9uIHBhZ2U9XCIvdGVhbT90YWI9bWVtYmVyc1wiIHNvdXJjZT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy90ZWFtLnBuZ1wiIHRpdGxlPVwiVGVhbVwiPjwvVmlsbGFnZWJ1dHRvbj5cbiAgICAgICAgPFZpbGxhZ2VidXR0b24gcGFnZT1cIi9leHBlcmltZW50cz90YWI9aGVhZGluZ1wiIHNvdXJjZT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9sYWIucG5nXCIgdGl0bGU9XCJFeHBlcmltZW50c1wiPjwvVmlsbGFnZWJ1dHRvbj5cbiAgICAgICAgPFZpbGxhZ2VidXR0b24gcGFnZT1cIi9kZXNjcmlwdGlvbj90YWI9b2JlbmluZGVzY3JpcHRpb25cIiBzb3VyY2U9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvZG5hLnBuZ1wiIHRpdGxlPVwiRGVzY3JpcHRpb25cIj48L1ZpbGxhZ2VidXR0b24+XG4gICAgICAgIDxWaWxsYWdlYnV0dG9uIHBhZ2U9XCIvZW5naW5lZXJpbmc/dGFiPXRhYi1vdXItY3ljbGUmc2Nyb2xsVG89b3VyY3ljbGVcIiBzb3VyY2U9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvZ2VuZXRpYy1lbmdpbmVlcmluZy5wbmdcIiB0aXRsZT1cIkVuZ2luZWVyaW5nXCI+PC9WaWxsYWdlYnV0dG9uPlxuICAgICAgICA8VmlsbGFnZWJ1dHRvbiBwYWdlPVwiL3NhZmV0eT90YWI9Um9sZVwiIHNvdXJjZT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9zYWZldHkucG5nXCIgdGl0bGU9XCJTYWZldHlcIj48L1ZpbGxhZ2VidXR0b24+XG4gICAgICAgIDxWaWxsYWdlYnV0dG9uIHBhZ2U9XCIvcmVzdWx0cz90YWI9QWJzdHJhY3RcIiBzb3VyY2U9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvcmVzdWx0cy5wbmdcIiB0aXRsZT1cIlJlc3VsdHNcIj48L1ZpbGxhZ2VidXR0b24+XG4gICAgICA8L2Rpdj4gIFxuICApXG59XG5cblxuZXhwb3J0IGNvbnN0IFVybEJ1dHRvbiA9ICh7IGhyZWYsIGNoaWxkcmVuIH06VXJsQnV0dG9uUHJvcHMpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPGEgaHJlZj17aHJlZn0gY2xhc3NOYW1lPVwidXJsLWJ1dHRvblwiPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2E+XG4gICAgKTtcbiAgfVxuXG5cblxuXG5leHBvcnQgY29uc3QgRG93bmxvYWRMaW5rID0gKHsgdXJsLCBmaWxlTmFtZSB9OiB7dXJsOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmd9KSA9PiB7XG5jb25zdCBoYW5kbGVEb3dubG9hZCA9ICgpID0+IHtcbiAgICBmZXRjaCh1cmwpXG4gICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5ibG9iKCkpXG4gICAgLnRoZW4oKGJsb2IpID0+IHtcbiAgICAgICAgY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobmV3IEJsb2IoW2Jsb2JdKSk7XG4gICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcbiAgICAgICAgbGluay5ocmVmID0gdXJsO1xuICAgICAgICBsaW5rLmRvd25sb2FkID0gZmlsZU5hbWUgfHwgXCJkb3dubG9hZGVkLWZpbGVcIjtcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsaW5rKTtcblxuICAgICAgICBsaW5rLmNsaWNrKCk7XG5cbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgICB9KVxuICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIGZldGNoaW5nIHRoZSBmaWxlOlwiLCBlcnJvcik7XG4gICAgfSk7XG59O1xucmV0dXJuIChcblxuICA8YSB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlRG93bmxvYWR9IGNsYXNzTmFtZT1cImRvd25sb2FkLWJ1dHRcIj5cbiAgICAgIDxzcGFuPkRvd25sb2FkPC9zcGFuPlxuICA8L2E+XG5cbik7XG59O1xuXG5leHBvcnQgY29uc3QgRG93bmxvYWRJbWFnZUJ1dHRvbiA9ICh7IHVybCwgZmlsZU5hbWUsIGNoaWxkcmVufToge3VybDogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nLCBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlfSkgPT4ge1xuICBjb25zdCBoYW5kbGVEb3dubG9hZCA9ICgpID0+IHtcbiAgICAgIGZldGNoKHVybClcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuYmxvYigpKVxuICAgICAgLnRoZW4oKGJsb2IpID0+IHtcbiAgICAgICAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbYmxvYl0pKTtcbiAgICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgICAgICAgbGluay5ocmVmID0gdXJsO1xuICAgICAgICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlTmFtZSB8fCBcImRvd25sb2FkZWQtZmlsZVwiO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGluayk7XG4gIFxuICAgICAgICAgIGxpbmsuY2xpY2soKTtcbiAgXG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgZmV0Y2hpbmcgdGhlIGZpbGU6XCIsIGVycm9yKTtcbiAgICAgIH0pO1xuICB9O1xuICBcbnJldHVybiAoXG5cbiAgICA8YSB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlRG93bmxvYWR9IGNsYXNzTmFtZT1cImRvd25sb2FkLWJ1dHQtaW1hZ2VcIj5cbiAgICAgICAge2NoaWxkcmVufVxuICAgIDwvYT5cblxuKTtcbn07XG5cblxuXG5leHBvcnQgZnVuY3Rpb24gVGFiQnV0dG9uUm93KHtkYXRhLCBjbGFzc3ksIG9wZW50eXBlLCBjbG9zaW5nfToge2RhdGE6IEFycmF5PFRhYkRhdGVuc2F0ej4sIGNsYXNzeT86IHN0cmluZywgb3BlbnR5cGU6IHN0cmluZywgY2xvc2luZzogc3RyaW5nfSl7XG4gIGxldCByb3dzOiBKU1guRWxlbWVudFtdICA9IFtdXG4gIGZvciAoIGxldCBpID0gMDsgIGkgPCBkYXRhLmxlbmd0aDsgaSsrICl7XG4gICAgaWYoY2xhc3N5KXtcbiAgICAgIHJvd3MucHVzaCg8VGFiQnV0dG9uIGNsYXNzeT17Y2xhc3N5fSB0eXBlPXtkYXRhW2ldLmNzc25hbWV9IG5hbWU9e2RhdGFbaV0uYnV0dG9ubmFtZX0gb3BlbnR5cGU9e29wZW50eXBlfSBjbG9zaW5nPXtjbG9zaW5nfS8+KVxuICAgIH1cbiAgICBlbHNle1xuICAgICAgcm93cy5wdXNoKDxUYWJCdXR0b24gdHlwZT17ZGF0YVtpXS5jc3NuYW1lfSBuYW1lPXtkYXRhW2ldLmJ1dHRvbm5hbWV9IG9wZW50eXBlPXtvcGVudHlwZX0gY2xvc2luZz17Y2xvc2luZ30vPilcbiAgICB9XG4gIH1cbiAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPVwiYWxpZ24taXRlbXMtY2VudGVyIG5vcm1hbC1idXR0b25zXCI+XG4gICAge3Jvd3N9XG4gIDwvZGl2PjsgXG59XG5cblxuXG5cbi8vIG5ldWVyIFxuZXhwb3J0IGZ1bmN0aW9uIFRhYkJ1dHRvbih7Y2xhc3N5LCBuYW1lLCBjbG9zaW5nLCBvcGVudHlwZSwgdHlwZX06VGFiQnV0dG9uUHJvcHMpe1xuICBpZiAoIWNsYXNzeSl7XG4gICAgY2xhc3N5ID0gXCJcIlxuICB9XG4gIGxldCBjbGFzc25hbWUgPSBcInRhYmJ1dHRvbiBcIiArIHR5cGUgKyBcIiBcIiArIGNsYXNzeTsgXG4gIHJldHVybihcbiAgICA8PlxuICAgIDxidXR0b24gY2xhc3NOYW1lPXtjbGFzc25hbWV9IG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiB0eXBlLCBjbGFzc1RvSGlkZTogb3BlbnR5cGUsIGNsYXNzVG9DbG9zZTogY2xvc2luZywgYnV0dG9uQ2xhc3M6IFwidGFiYnV0dG9uXCIgfSl9PiB7bmFtZX08L2J1dHRvbj5cbiAgICA8Lz5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gSFBNb3JlQnV0dG9uKHtuYW1lfToge25hbWU6IHN0cmluZ30pe1xuICBsZXQgYyA9IFwidGltZWxpbmVwZXJzb250YWJzXCJcbiAgcmV0dXJuKFxuICAgIDxidXR0b24gY2xhc3NOYW1lPVwidGFibGlua3MgaHAtbW9yZS1idXR0b25cIiBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogbmFtZSwgY2xhc3NUb0hpZGU6IGMsIGJ1dHRvbkNsYXNzOiBcInRhYmJ1dHRvblwifSl9PiBNb3JlPC9idXR0b24+XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJGSE1vcmVCdXR0b24oe2l0fToge2l0OiBzdHJpbmd9KXtcbiAgcmV0dXJuKFxuICAgIDxidXR0b24gY2xhc3NOYW1lPVwidGFibGlua3MgYmZoLW1vcmUtYnV0dG9uXCIgb25DbGljaz17ZXhwYW5kSXQoe2l0fSl9PiBNb3JlPC9idXR0b24+XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE5ld0hQTW9yZUJ1dHRvbih7dGFiLCBzY3JvbGx9OiB7dGFiOiBzdHJpbmcsIHNjcm9sbDogc3RyaW5nfSl7XG4gIGNvbnN0IHtnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpOyBcbiAgcmV0dXJuKFxuICAgIDxidXR0b24gY2xhc3NOYW1lPVwidGFibGlua3MgYmZoLW1vcmUtYnV0dG9uXCIgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogdGFiLCBzY3JvbGxUb0lkOiBzY3JvbGx9KX0+IE1vcmU8L2J1dHRvbj5cbiAgKVxufVxuXG5mdW5jdGlvbiBleHBhbmRJdCh7aXR9OiB7aXQ6IHN0cmluZ30pe1xuICBjb25zdCBvcGVuaXQgPSAgKF9ldmVudCA6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PntcbiAgICBjb25zb2xlLmxvZyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdCkpXG4gICAgY29uc29sZS5sb2coZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXQpIS5zdHlsZS5kaXNwbGF5KVxuICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdCkhLnN0eWxlLmRpc3BsYXkgPT09IFwiYmxvY2tcIil7XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdCkhLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICB9XG4gICAgZWxzZSBpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdCkhLnN0eWxlLmRpc3BsYXkgPT09IFwibm9uZVwiKXtcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0KSEuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9wZW5pdDsgXG59XG5cblxuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uVGhyZWUoKXtcbiAgcmV0dXJuKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94eS0zXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJ0bi1uZXcgYnRuLXRocmVlXCI+XG4gICAgICAgIDxzcGFuIHR5cGVvZj1cImJ1dHRvblwiIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcImFib3V0XCIsIGNsYXNzVG9IaWRlOiBcInRhYmNvbnRlbnRcIiwgYnV0dG9uQ2xhc3M6IFwidGFibGlua3NcIn0pfT5IT1ZFUiBNRTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25Ud28oKXtcbiAgcmV0dXJuKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94eS0yXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJ0bi1uZXcgYnRuLXR3b1wiPlxuICAgICAgICA8c3BhbiB0eXBlb2Y9XCJidXR0b25cIiBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogXCJhYm91dFwiLCBjbGFzc1RvSGlkZTogXCJ0YWJjb250ZW50XCIsIGJ1dHRvbkNsYXNzOiBcInRhYmxpbmtzXCJ9KX0+SE9WRVIgTUU8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uT25lKHt0ZXh0LCBvcGVuLCBvcGVuY2xhc3N9OiB7dGV4dDpzdHJpbmcsIG9wZW46c3RyaW5nLCBvcGVuY2xhc3M/OiBzdHJpbmd9KXtcbiAgY29uc3QgeyBnb1RvUGFnZXNBbmRPcGVuVGFiIH0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gIGlmIChvcGVuY2xhc3MpIHtcbiAgICByZXR1cm4oXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveHktMVwiPlxuICAgICAgICA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKG9wZW4sIFwiXCIpfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJidG4tbmV3IGJ0bi1vbmVcIj5cbiAgICAgICAge3RleHR9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICApXG4gICAgXG4gIH1cbiAgZWxzZXtcbiAgICByZXR1cm4oXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveHktMVwiPlxuICAgICAgICA8c3BhbiB0eXBlb2Y9XCJidXR0b25cIiBvbkNsaWNrPXtvcGVuRnJvbU90aGVyUGFnZShvcGVuKX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYnRuLW5ldyBidG4tb25lXCI+XG4gICAgICAgIHt0ZXh0fVxuICAgICAgICA8L2Rpdj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICApXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbk9uZVdpdGhTY3JvbGwoe3RleHQsIG9wZW4sIG9wZW5jbGFzcywgc2Nyb2xsSWR9OiB7dGV4dDpzdHJpbmcsIHNjcm9sbElkOiBzdHJpbmcsICBvcGVuOnN0cmluZywgb3BlbmNsYXNzPzogc3RyaW5nfSl7XG4gIGNvbnN0IHsgZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsIH0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gIGlmIChvcGVuY2xhc3MpIHtcbiAgICByZXR1cm4oXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveHktMVwiPlxuICAgICAgICA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoeyBwYXRoOiBcIlwiLCB0YWJJZDogb3Blbiwgc2Nyb2xsVG9JZDogc2Nyb2xsSWQgfSl9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJ0bi1uZXcgYnRuLW9uZVwiPlxuICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuICBlbHNle1xuICAgIHJldHVybihcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94eS0xXCI+XG4gICAgICAgIDxzcGFuIHR5cGVvZj1cImJ1dHRvblwiIG9uQ2xpY2s9e29wZW5Gcm9tT3RoZXJQYWdlKG9wZW4pfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJidG4tbmV3IGJ0bi1vbmVcIj5cbiAgICAgICAge3RleHR9XG4gICAgICAgIDwvZGl2Pjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25PbmVFbmdpbmVlcmluZyh7bGFiZWwsIG9wZW4sIHNjcm9sbFRvSWR9OiB7bGFiZWw6c3RyaW5nLCBvcGVuOnN0cmluZywgc2Nyb2xsVG9JZDogc3RyaW5nfSl7XG4gIHJldHVybihcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJveHktMVwiPlxuICAgICAgPHNwYW4gdHlwZW9mPVwiYnV0dG9uXCIgb25DbGljaz17b3BlblRoZW0oe2l0OiBvcGVuLCBzY3JvbGxUb0lkfSl9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJidG4tbmV3IGJ0bi1vbmVcIj5cbiAgICAgIHtsYWJlbH1cbiAgICAgIDwvZGl2Pjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25Gb3VyRmlsbCgpe1xuICByZXR1cm4oXG4gICAgPGEgdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImljb24gaWNvbi1maWxsXCI+PGkgY2xhc3NOYW1lPVwiZmEgZmEtaG9tZVwiPjwvaT48L2E+XG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbkZvdXJFbnRlcigpe1xuICByZXR1cm4oXG4gICAgPGEgdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImljb24gaWNvbi1lbnRlclwiPjxpIGNsYXNzTmFtZT1cImZhIGZhLWhvbWVcIj48L2k+PC9hPlxuICApXG59XG5leHBvcnQgZnVuY3Rpb24gQnV0dG9uRm91ckV4cGFuZCgpe1xuICByZXR1cm4oXG4gICAgPGEgdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImljb24gaWNvbi1leHBhbmRcIj48aSBjbGFzc05hbWU9XCJmYSBmYS1ob21lXCI+PC9pPjwvYT5cbiAgKVxufVxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbkZvdXJDb2xsYXBzZSgpe1xuICByZXR1cm4oXG4gICAgPGEgdHlwZT1cImJ1dHRvblwiICBjbGFzc05hbWU9XCJpY29uIGljb24tY29sbGFwc2VcIj48aSBjbGFzc05hbWU9XCJmYSBmYS1ob21lXCI+PC9pPjwvYT5cbiAgKVxufVxuZXhwb3J0IGZ1bmN0aW9uIEJ1dHRvbkZvdXJSb3RhdGUoKXtcbiAgcmV0dXJuKFxuICAgIDxhIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJpY29uIGljb24tcm90YXRlXCI+PGkgY2xhc3NOYW1lPVwiZmEgZmEtaG9tZVwiPjwvaT48L2E+XG4gIClcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gQmFja1VwKCl7XG4gIHJldHVybihcbiAgICA8PlxuICAgIDxici8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgaWQ9XCJlbmctYmFja3VwXCIgc3R5bGU9e3tkaXNwbGF5OiBcImZsZXhcIiwgYWxpZ25JdGVtczogXCJyaWdodFwifX0+XG4gICAgICAgICAgICA8YSBvbkNsaWNrPXsoKSA9PiBzY3JvbGxVcFdpdGhPZmZzZXQoKX0gY2xhc3NOYW1lPVwiYmFja3RvdG9wXCI+XG4gICAgICAgICAgICAgICAgQmFjayB0byBUb3AgJiM4NTkzO1xuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj4gIFxuICAgIDwvPlxuICApXG59XG5cbmZ1bmN0aW9uIHNjcm9sbFVwV2l0aE9mZnNldCgpIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgY29uc3Qgb2Zmc2V0ID0gd2luZG93LmlubmVySGVpZ2h0ICA7IC8vIDUwJSBkZXIgVmlld3BvcnQtSFx1MDBGNmhlXG4gICAgY29uc3QgdGFyZ2V0U2Nyb2xsUG9zaXRpb24gPSBNYXRoLm1heCgwLCAgb2Zmc2V0KTsgLy8gTmV1ZSBTY3JvbGwtUG9zaXRpb24sIGFiZXIgbmljaHQgdW50ZXIgMFxuXG4gICAgY29uc29sZS5sb2coYFNjcm9sbGluZyB1cCB0byBwb3NpdGlvbjogJHt0YXJnZXRTY3JvbGxQb3NpdGlvbn1gKTtcbiAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHRhcmdldFNjcm9sbFBvc2l0aW9uLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gIH1cbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gU2hvd1NvbHV0aW9uKHtlbGVtZW50fToge2VsZW1lbnQ6IHN0cmluZ30pe1xuXG4gIHJldHVybihcbiAgICA8YnV0dG9uIG9uQ2xpY2s9e2ZsaXAoZWxlbWVudCl9IGNsYXNzTmFtZT1cInF1aXotYnV0dG9uXCI+U2hvdyBzb2x1dGlvbjwvYnV0dG9uPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBIaWRlU29sdXRpb24oe2VsZW1lbnR9OiB7ZWxlbWVudDogc3RyaW5nfSl7XG4gIHJldHVybihcbiAgICA8YnV0dG9uIG9uQ2xpY2s9e2ZsaXBCYWNrKGVsZW1lbnQpfSBjbGFzc05hbWU9XCJxdWl6LWJ1dHRvblwiPlJldHVybiB0byBxdWVzdGlvbjwvYnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIGZsaXAoZWxlbWVudDogc3RyaW5nKXtcbiAgY29uc3QgZmxpcHAgPSAoX2V2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4ge1xuICAgIGxldCBlbGVtZW50VG9IaWRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJmcm9udC1cIitlbGVtZW50KTtcbiAgICAgICAgKGVsZW1lbnRUb0hpZGUgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICBsZXQgZWxlbWVudFRvRmluZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiYmFjay1cIitlbGVtZW50KTtcbiAgICAgIChlbGVtZW50VG9GaW5kIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuICB9XG4gIHJldHVybiBmbGlwcDsgXG59XG5cbmZ1bmN0aW9uIGZsaXBCYWNrKGVsZW1lbnQ6IHN0cmluZyl7XG4gIGNvbnN0IGZsaXBwYmFjayA9IChfZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgbGV0IGVsZW1lbnRUb0hpZGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImJhY2stXCIrZWxlbWVudCk7XG4gICAgICAgIChlbGVtZW50VG9IaWRlIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gICAgbGV0IGVsZW1lbnRUb0ZpbmQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImZyb250LVwiK2VsZW1lbnQpO1xuICAgICAgKGVsZW1lbnRUb0ZpbmQgYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gIH1cbiAgcmV0dXJuIGZsaXBwYmFjazsgIFxufVxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvaG9tZS9saWxpL0RvY3VtZW50cy9pR2VtL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlsc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL2hvbWUvbGlsaS9Eb2N1bWVudHMvaUdlbS9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHMvb3BlblRoZW0udHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL2hvbWUvbGlsaS9Eb2N1bWVudHMvaUdlbS9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHMvb3BlblRoZW0udHNcIjtleHBvcnQgZnVuY3Rpb24gb3BlblRoZW0oeyBpdCwgc2Nyb2xsVG9JZCB9OiB7IGl0OiBzdHJpbmc7IHNjcm9sbFRvSWQ/OiBzdHJpbmcgfSkge1xuICBjb25zdCBnb3RvYW5kb3BlbiA9IChfZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zb2xlLmxvZyhgT3BlbmluZyB0YWI6ICR7aXR9YCk7XG4gICAgICB1cGRhdGVUYWJzKGl0LCBzY3JvbGxUb0lkKTtcblxuICAgICAgLy8gVXBkYXRlIGRlciBVUkxcbiAgICAgIGNvbnN0IG5ld1VybCA9IGA/dGFiPSR7aXR9YDtcbiAgICAgIGNvbnNvbGUubG9nKGBVcGRhdGluZyBVUkwgdG86ICR7bmV3VXJsfWApO1xuICAgICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHsgdGFiOiBpdCB9LCAnJywgbmV3VXJsKTtcbiAgLyogICAgIGlmIChzY3JvbGxUb0lkICYmIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNjcm9sbFRvSWQpKSB7XG4gICAgICAgIGNvbnN0IHNjRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNjcm9sbFRvSWQpO1xuICAgICAgICBpZiAoc2NFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxQb3MgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLyAyIC0gc2NFbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7XG4gICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHNjcm9sbFBvcywgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgICB9XG4gICAgICB9ICovXG4gICAgICAvLyBTY3JvbGxlbiBpbiBkaWUgTWl0dGVcbiAgICAgLyogIGNvbnN0IG1pZFNjcm9sbFBvc2l0aW9uID0gd2luZG93LmlubmVySGVpZ2h0IC8gMjsgLy8gQmVyZWNobnVuZyBkZXIgTWl0dGUgZGVzIFZpZXdwb3J0c1xuICAgICAgY29uc29sZS5sb2coYFNjcm9sbGluZyB0byBtaWRkbGUgcG9zaXRpb246ICR7bWlkU2Nyb2xsUG9zaXRpb259YCk7ICovXG4gICAgIC8qICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IG1pZFNjcm9sbFBvc2l0aW9uLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7ICovXG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBnb3RvYW5kb3Blbjtcbn1cblxuZnVuY3Rpb24gdXBkYXRlVGFicyhpdDogc3RyaW5nLCBzY3JvbGxUb0lkPzogc3RyaW5nKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuXG4gIGxldCBjb250ZW50dGFiaWQgPSBcInRhYi1cIiArIGl0O1xuICBsZXQgcGFyZW50ID0gXCJwYXJlbnQtXCIgKyBpdDtcblxuICBjb25zb2xlLmxvZyhgVXBkYXRpbmcgdGFicyBmb3I6ICR7aXR9YCk7XG5cbiAgLy8gVmVyc3RlY2tlIGFsbGUgU3VidGFicyB1bmQgQ29udGVudC1UYWJzXG4gIGNvbnN0IHN1YnRhYnMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwic2lkZXN1YnRhYlwiKTtcbiAgY29uc3QgY29udGVudHRhYnMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiZW5naW5uZWVyaW5ndGFiXCIpO1xuICBjb25zdCBzaWRlaXRlbXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwic2lkZWl0ZW1cIik7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdWJ0YWJzLmxlbmd0aDsgaSsrKSB7XG4gICAgKHN1YnRhYnNbaV0gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICBjb25zb2xlLmxvZyhgSGlkaW5nIHN1YnRhYjogJHtzdWJ0YWJzW2ldLmlkfWApO1xuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29udGVudHRhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAoY29udGVudHRhYnNbaV0gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICBjb25zb2xlLmxvZyhgSGlkaW5nIGNvbnRlbnQgdGFiOiAke2NvbnRlbnR0YWJzW2ldLmlkfWApO1xuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc2lkZWl0ZW1zLmxlbmd0aDsgaSsrKSB7XG4gICAgKHNpZGVpdGVtc1tpXSBhcyBIVE1MRWxlbWVudCkhLmNsYXNzTGlzdC5yZW1vdmUoXCJhY3RpdmUtc2lkZWl0ZW1cIik7XG4gICAgY29uc29sZS5sb2coYFJlbW92aW5nIGFjdGl2ZSBjbGFzcyBmcm9tIHNpZGUgaXRlbTogJHtzaWRlaXRlbXNbaV0uaWR9YCk7XG4gIH1cblxuICAvLyBaZWlnZSBkZW4gYWt0dWVsbGVuIFRhYiB1bmQgbWFya2llcmUgZGFzIGVudHNwcmVjaGVuZGUgU2lkZWJhci1JdGVtXG4gIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0KSEuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgY29uc29sZS5sb2coYFNob3dpbmcgdGFiOiAke2l0fWApO1xuICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChwYXJlbnQpIS5jbGFzc0xpc3QuYWRkKFwiYWN0aXZlLXNpZGVpdGVtXCIpO1xuICBjb25zb2xlLmxvZyhgQWN0aXZhdGluZyBzaWRlIGl0ZW06ICR7cGFyZW50fWApO1xuICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250ZW50dGFiaWQpIS5zdHlsZS5kaXNwbGF5ID0gXCJibG9ja1wiO1xuICBjb25zb2xlLmxvZyhgU2hvd2luZyBjb250ZW50IHRhYjogJHtjb250ZW50dGFiaWR9YCk7XG5cbiAgLy8gU2Nyb2xsZSB6dSBkZXIgYW5nZWdlYmVuZW4gSUQsIGZhbGxzIHZvcmhhbmRlblxuICBpZiAoc2Nyb2xsVG9JZCkge1xuICAgIGNvbnN0IGNvbGxhcHNlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNjcm9sbFRvSWQpO1xuICAgIGlmIChjb2xsYXBzZUVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGNvbGxhcHNlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHdpbmRvdy5pbm5lckhlaWdodCAvIDIgLSBjb2xsYXBzZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3Qgc2Nyb2xsUG9zaXRpb24gPSBlbGVtZW50VG9wIC0gb2Zmc2V0O1xuXG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICB0b3A6IHNjcm9sbFBvc2l0aW9uLFxuICAgICAgICAgICAgYmVoYXZpb3I6ICdzbW9vdGgnLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4vKiAgIGlmIChzY3JvbGxUb0lkICYmIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHNjcm9sbFRvSWQpKSB7XG4gICAgY29uc3Qgc2NFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2Nyb2xsVG9JZCk7XG4gICAgaWYgKHNjRWxlbWVudCkge1xuICAgICAgICBjb25zdCBzY3JvbGxQb3MgPSB3aW5kb3cuaW5uZXJIZWlnaHQgLyAyIC0gc2NFbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7XG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogc2Nyb2xsUG9zLCBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgfVxuICB9ICovXG59XG5cbi8vIEZcdTAwRkNnZSBlaW5lbiBFdmVudCBMaXN0ZW5lciBmXHUwMEZDciBgcG9wc3RhdGVgIGhpbnp1XG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvcHN0YXRlJywgKGV2ZW50KSA9PiB7XG4gICAgY29uc29sZS5sb2coJ1BvcHN0YXRlIGV2ZW50IHRyaWdnZXJlZCcpO1xuICAgIGlmIChldmVudC5zdGF0ZSkge1xuICAgICAgY29uc3QgdGFiID0gZXZlbnQuc3RhdGUudGFiO1xuICAgICAgY29uc29sZS5sb2coYFJlc3RvcmluZyB0YWI6ICR7dGFifWApO1xuICAgICAgdXBkYXRlVGFicyh0YWIpO1xuICAgICAgXG4gICAgICAvLyBTY3JvbGxlbiBpbiBkaWUgTWl0dGUgYmVpbSBadXJcdTAwRkNja25hdmlnaWVyZW5cbiAgICAgIGNvbnNvbGUubG9nKFwiU2Nyb2xsaW5nIHRvIG1pZGRsZSBvbiBwb3BzdGF0ZS4uLlwiKTtcbiAgICAgIGNvbnN0IG1pZFNjcm9sbFBvc2l0aW9uID0gd2luZG93LmlubmVySGVpZ2h0IC8gMjtcbiAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogbWlkU2Nyb2xsUG9zaXRpb24sIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coXCJObyBzdGF0ZSBmb3VuZCBpbiBwb3BzdGF0ZSBldmVudC5cIik7XG4gICAgfVxuICB9KTtcbn1cbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL2hvbWUvbGlsaS9Eb2N1bWVudHMvaUdlbS9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9ob21lL2xpbGkvRG9jdW1lbnRzL2lHZW0vYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzL3VzZU5hdmlnYXRpb24udHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL2hvbWUvbGlsaS9Eb2N1bWVudHMvaUdlbS9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHMvdXNlTmF2aWdhdGlvbi50c1wiO2ltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSBcInJlYWN0LXJvdXRlci1kb21cIjtcbmltcG9ydCB7IHVzZUxvYWRpbmcgfSBmcm9tIFwiLi9Mb2FkaW5nQ29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgdXNlTmF2aWdhdGlvbiA9ICgpID0+IHtcbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG5cbiAgICBjb25zdCB7IHNldElzTG9hZGluZywgaXNMb2FkaW5nIH0gPSB1c2VMb2FkaW5nKCk7IC8vIDIuIExhZGV6dXN0YW5kIGhpZXIgdmVyd2VuZGVuXG5cblxuXG4gICAgY29uc3QgZ29Ub1BhZ2VzQW5kT3BlblRhYiA9ICh0YWJJZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgICBcbiAgICAgICAgXG4gICAgICAgIG5hdmlnYXRlKGAke3BhdGh9P3RhYj0ke3RhYklkfWApO1xuICAgICAgICBcbiAgICB9O1xuICAgIGNvbnN0IGdvVG9UZXh0c0FuZE9wZW5Db2xsYXBzaWJsZSA9IChjb2xsYXBzZUlkOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgPT4ge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICAgIG5hdmlnYXRlKGAke3BhdGh9P2NvbGxhcHNlSWQ9JHtjb2xsYXBzZUlkfWApO1xuICAgIH07XG4gICAgY29uc3QgZ29Ub1BhZ2VXaXRoVGFiQW5kQ29sbGFwc2libGUgPSAoeyBwYXRoLCB0YWJJZCwgY29sbGFwc2VJZCB9OiB7IHBhdGg6IHN0cmluZywgdGFiSWQ6IHN0cmluZywgY29sbGFwc2VJZD86IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgbGV0IHVybCA9IGAke3BhdGh9P3RhYj0ke3RhYklkfWA7XG4gICAgICAgIGlmIChjb2xsYXBzZUlkKSB7XG4gICAgICAgICAgICB1cmwgKz0gYCZjb2xsYXBzZUlkPSR7Y29sbGFwc2VJZH1gO1xuICAgICAgICB9XG4gICAgICAgIG5hdmlnYXRlKHVybCk7XG4gICAgfTtcbiAgICBjb25zdCBnb1RvUGFnZVdpdGhOZXN0ZWRUYWJzID0gKHsgcGF0aCwgdGFiSWQsIHN1YlRhYklkLCBjb2xsYXBzZUlkIH06IHsgcGF0aDogc3RyaW5nLCB0YWJJZDogc3RyaW5nLCBzdWJUYWJJZD86IHN0cmluZywgY29sbGFwc2VJZD86IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgbGV0IHVybCA9IGAke3BhdGh9P3RhYj0ke3RhYklkfWA7XG4gICAgICAgIGlmIChzdWJUYWJJZCkge1xuICAgICAgICAgICAgdXJsICs9IGAmc3ViVGFiPSR7c3ViVGFiSWR9YDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29sbGFwc2VJZCkge1xuICAgICAgICAgICAgdXJsICs9IGAmY29sbGFwc2VJZD0ke2NvbGxhcHNlSWR9YDtcbiAgICAgICAgfVxuICAgICAgICBuYXZpZ2F0ZSh1cmwpO1xuICAgIH07XG5cblxuXG4gICAgY29uc3QgZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsID0gKHsgcGF0aCwgdGFiSWQsIHNjcm9sbFRvSWQgfTogeyBwYXRoOiBzdHJpbmcsIHRhYklkOiBzdHJpbmcsIHNjcm9sbFRvSWQ6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIGxldCB1cmwgPSBgJHtwYXRofT90YWI9JHt0YWJJZH1gO1xuICAgICAgICBpZiAoc2Nyb2xsVG9JZCkge1xuICAgICAgICAgICAgdXJsICs9IGAmc2Nyb2xsVG89JHtzY3JvbGxUb0lkfWA7XG4gICAgICAgIH1cbiAgICAgICAgbmF2aWdhdGUodXJsKTtcbiAgICB9O1xuXG4gICAgY29uc3QgZ29Ub1BhZ2VBbmRTY3JvbGwgPSAoc2Nyb2xsVG9JZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgXG4gICAgICAgIG5hdmlnYXRlKGAke3BhdGh9P3Njcm9sbFRvPSR7c2Nyb2xsVG9JZH1gKTtcbiAgICB9O1xuXG4gICAgY29uc3QgY2hhbmdlUGFnZVdpdGhMb2FkaW5nU2NyZWVuID0gKCkgPT4gKHsgcGF0aCwgc2Nyb2xsVG9JZCB9OiB7IHBhdGg6IHN0cmluZywgc2Nyb2xsVG9JZDogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgICAgICBsZXQgdXJsID0gYCR7cGF0aH0/Y2hhbmdlVG89JHtzY3JvbGxUb0lkfWA7XG4gICAgICAgIG5hdmlnYXRlKHVybCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2Nyb2xsVG9JZCk7XG4gICAgICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0UG9zaXRpb24gPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIHdpbmRvdy5wYWdlWU9mZnNldDtcbiAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsVG9Qb3NpdGlvbiA9IHRhcmdldFBvc2l0aW9uIC0gdmlld3BvcnRIZWlnaHQgLyAyICsgZWxlbWVudC5jbGllbnRIZWlnaHQgLyAyO1xuICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IHNjcm9sbFRvUG9zaXRpb24sIGJlaGF2aW9yOiBcInNtb290aFwiIH0pO1xuICAgICAgXG4gICAgICAgICAgICAgIC8vIExhZGV6dXN0YW5kIG5hY2ggQWJzY2hsdXNzIGRlcyBTY3JvbGxlbnMgYmVlbmRlblxuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgICB9LCAxMDAwKTsgLy8gU2Nyb2xsemVpdCBhbHMgQmVpc3BpZWxcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIEZhbGxzIGRhcyBFbGVtZW50IG5pY2h0IGdlZnVuZGVuIHdpcmQsIExhZGV6dXN0YW5kIGJlZW5kZW5cbiAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LCA1MDApOyBcbiAgICB9O1xuXG4gICAgXG4gICAgcmV0dXJuIHsgaXNMb2FkaW5nLCBjaGFuZ2VQYWdlV2l0aExvYWRpbmdTY3JlZW4sICBnb1RvUGFnZUFuZFNjcm9sbCwgc2V0SXNMb2FkaW5nLCBnb1RvUGFnZXNBbmRPcGVuVGFiLCBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwsIGdvVG9QYWdlV2l0aE5lc3RlZFRhYnMsIGdvVG9QYWdlV2l0aFRhYkFuZENvbGxhcHNpYmxlLCBnb1RvVGV4dHNBbmRPcGVuQ29sbGFwc2libGUgfTtcbn07XG4iLCAiaW1wb3J0IHsgSDIsIEgzIH0gZnJvbSBcIi4vSGVhZGluZ3NcIlxuXG5cbmV4cG9ydCBmdW5jdGlvbiBTZWN0aW9uKHtpZCwgdGl0bGUsIGNoaWxkcmVufToge2lkOiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcsIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGV9KXtcbiAgICBsZXQgc2VjX2lkID0gYCR7aWR9SGBcbiAgICBsZXQgaGVhZGVyX2lkID0gaWRcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8c2VjdGlvbiBpZD17c2VjX2lkfSBjbGFzc05hbWU9XCJzZWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBpZD17aGVhZGVyX2lkfT48SDIgdGV4dD17dGl0bGV9Lz48L2Rpdj5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgIClcblxufVxuXG5leHBvcnQgZnVuY3Rpb24gU3ViZXNjdGlvbih7aWQsIHRpdGxlLCBjaGlsZHJlbn06IHtpZDogc3RyaW5nLCB0aXRsZTogc3RyaW5nLCBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlfSl7XG5cbiAgICByZXR1cm4oXG4gICAgICAgIDxzZWN0aW9uIGlkPXtpZH0+XG4gICAgICAgICAgICAgICAgPEgzIHRleHQ9e3RpdGxlfSBpZD17aWQgKyBcIkhcIn0+PC9IMz5cbiAgICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgIClcbn0iLCAiaW1wb3J0IHsgYWR2aXNvcnMsIGluc3RydWN0b3IsIHBpcywgU3RlY2ticmllZkludGVyZmFjZSwgdGVhbW1lbWJlcnMgfSBmcm9tIFwiLi4vZGF0YS9zdGVja2JyaWVmZVwiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBCYWNrVXAgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5pbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gVGVhbSgpIHtcbiAgdXNlVGFiTmF2aWdhdGlvbigpO1xuICBsZXQgdGVhbWJyaWVmZSA9IGNyZWF0ZVN0ZWNrYnJpZWZlKHRlYW1tZW1iZXJzKTsgXG4gIGxldCBhZHZpc29yYnJpZWZlID0gY3JlYXRlUGlTdGVja2JyaWVmZShhZHZpc29ycyk7IFxuICBsZXQgc2luYW4gPSBjcmVhdGVQaVN0ZWNrYnJpZWZlKGluc3RydWN0b3IpOyBcbiAgbGV0IHBpYnJpZWZlID0gY3JlYXRlUGlTdGVja2JyaWVmZShwaXMpXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxici8+XG5cbiAgICAgIDxici8+XG4gICAgICA8aWZyYW1lIHRpdGxlPVwiQmllbGVmZWxkLUNlQmlUZWM6IFNpdGNvbSBUZWFtIFByZXNlbnRhdGlvbiAoMjAyNCkgW0VuZ2xpc2hdXCIgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiNjAwcHhcIiBzcmM9XCJodHRwczovL3ZpZGVvLmlnZW0ub3JnL3ZpZGVvcy9lbWJlZC9lNDBkODlhMC0yNDYxLTQyMWMtYTc1Yy05MmIzYjIzOGUwZjhcIiBmcmFtZUJvcmRlcj1cIjBcIiBhbGxvd0Z1bGxTY3JlZW49e3RydWV9IHNhbmRib3g9XCJhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1zY3JpcHRzIGFsbG93LXBvcHVwcyBhbGxvdy1mb3Jtc1wiPjwvaWZyYW1lPlxuICAgICAgPFNlY3Rpb24gdGl0bGU9XCJNZW1iZXJzXCIgaWQ9XCJtZW1iZXJzXCI+XG4gICAgICB7dGVhbWJyaWVmZX1cbiAgICAgIDwvU2VjdGlvbj5cblxuICAgICAgPFNlY3Rpb24gdGl0bGU9XCJJbnN0cnVjdG9yXCIgaWQ9XCJpbnN0cnVjdG9yXCI+XG4gICAgICB7c2luYW59XG4gICAgICA8L1NlY3Rpb24+XG4gICAgICA8U2VjdGlvbiB0aXRsZT1cIkFkdmlzb3JzXCIgaWQ9XCJBZHZpc29yc1wiPlxuICAgICAge2Fkdmlzb3JicmllZmV9XG4gICAgICA8L1NlY3Rpb24+XG4gICAgICA8U2VjdGlvbiB0aXRsZT1cIlByaW5jaXBhbCBJbnZlc3RpZ2F0b3JzXCIgaWQ9XCJQSVNcIj5cbiAgICAgIHtwaWJyaWVmZX1cbiAgICAgIDwvU2VjdGlvbj5cbiAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL3RlYW0tcGhvdG9zL2dydXBwZS12LndlYnBcIiBhbHQ9XCJUZWFtIEJpZWxlZmVsZCBpbiBsYWIgY29hdHMgYW5kIFYtRm9ybWF0aW9uXCIvPlxuICAgICAgPEJhY2tVcC8+IFxuICAgIDwvPlxuICApO1xufVxuXG5cblxuZnVuY3Rpb24gY3JlYXRlU3RlY2ticmllZmUoZGF0YTogQXJyYXk8U3RlY2ticmllZkludGVyZmFjZT4pe1xuICBsZXQgYnJpZWZlOiBKU1guRWxlbWVudFtdICA9IFtdXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBkYXRhLmxlbmd0aDsgaW5kZXgrKykge1xuICAgIGxldCB0aGVuYW1lID0gXCJcIiArIGRhdGFbaW5kZXhdLnZvcm5hbWUgKyBkYXRhW2luZGV4XS5uYWNobmFtZTsgXG4gICAgLy8gQ29uZGl0aW9uYWwgaGVhZCBvZlxuICAgIHZhciBoZWFkb2YgPSA8PjwvPjsgXG4gICAgaWYoZGF0YVtpbmRleF0uaGVhZG9mKXtcbiAgICAgIHZhciBoZWFkb2YgPSA8PjxkaXYgY2xhc3NOYW1lPVwiXCI+IDxiPkhlYWQgb2Y6PC9iPiB7ZGF0YVtpbmRleF0uaGVhZG9mfSA8L2Rpdj4gPGJyLz48Lz47IFxuICAgIH1cbiAgICAvLyBKb2JzXG4gICAgdmFyIGpvYnMgPSBcIlwiOyBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFbaW5kZXhdLmlnZW1qb2IubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGRhdGFbaW5kZXhdLmlnZW1qb2IubGVuZ3RoICA9PSAxKSB7XG4gICAgICAgICAgam9icyArPSAgZGF0YVtpbmRleF0uaWdlbWpvYltpXVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGkgKyAxID09IGRhdGFbaW5kZXhdLmlnZW1qb2IubGVuZ3RoICkge1xuICAgICAgICAgIGpvYnMgKz0gXCIgYW5kIFwiICsgZGF0YVtpbmRleF0uaWdlbWpvYltpXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmKGkgKyAyID09IGRhdGFbaW5kZXhdLmlnZW1qb2IubGVuZ3RoKXtcbiAgICAgICAgICBqb2JzICs9ICBkYXRhW2luZGV4XS5pZ2Vtam9iW2ldXG4gICAgICAgICAgLy9jb25zb2xlLmxvZyhgYmVpIGkrMiBpc3QgZXMgJHtkYXRhW2luZGV4XS5ob2JiaWVzW2ldfWApXG4gICAgICAgIH1cbiAgICAgICAgZWxzZXtcbiAgICAgICAgICBqb2JzICs9ICBkYXRhW2luZGV4XS5pZ2Vtam9iW2ldICsgXCIsIFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIEZ1bmZhY3RzIFxuICAgIHZhciBmdW5mYWN0czogSlNYLkVsZW1lbnRbXSAgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFbaW5kZXhdLmZ1bmZhY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBmdW5mYWN0cy5wdXNoKDxsaSBrZXk9e2BmJHtpfWB9PiB7ZGF0YVtpbmRleF0uZnVuZmFjdHNbaV19IDwvbGk+KTsgXG4gICAgfVxuICAgIC8vIEhvYmJpZXNcbiAgICB2YXIgaG9iYnMgPSBcIlwiOyBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFbaW5kZXhdLmhvYmJpZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChpICsgMSA9PSBkYXRhW2luZGV4XS5ob2JiaWVzLmxlbmd0aCApIHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhgYmVpIGkrMSBpc3QgZXMgJHtkYXRhW2luZGV4XS5ob2JiaWVzW2ldfWApXG4gICAgICAgIGhvYmJzICs9IFwiIGFuZCBcIiArIGRhdGFbaW5kZXhdLmhvYmJpZXNbaV07XG4gICAgICB9XG4gICAgICBlbHNlIGlmKGkgKyAyID09IGRhdGFbaW5kZXhdLmhvYmJpZXMubGVuZ3RoKXtcbiAgICAgICAgaG9iYnMgKz0gIGRhdGFbaW5kZXhdLmhvYmJpZXNbaV1cbiAgICAgICAgLy9jb25zb2xlLmxvZyhgYmVpIGkrMiBpc3QgZXMgJHtkYXRhW2luZGV4XS5ob2JiaWVzW2ldfWApXG4gICAgICB9XG4gICAgICBlbHNle1xuICAgICAgICAvL2NvbnNvbGUubG9nKGBiZWkgJHtpfSBpc3QgZXMgJHtkYXRhW2luZGV4XS5ob2JiaWVzW2ldfWApXG4gICAgICAgIGhvYmJzICs9ICBkYXRhW2luZGV4XS5ob2JiaWVzW2ldICsgXCIsIFwiO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBXaHlpZ2VtXG4gICAgdmFyIHdoeTogSlNYLkVsZW1lbnRbXSAgPSBbXTsgXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhW2luZGV4XS53aHlpZ2VtLmxlbmd0aDsgaSsrKSB7XG4gICAgICB3aHkucHVzaCg8cD57ZGF0YVtpbmRleF0ud2h5aWdlbVtpXX08L3A+KTsgXG4gICAgfVxuICAgIC8vVGl0bGVcbiAgICBsZXQgdGl0bGUgPSBcIlwiOyBcbiAgICBpZiAoZGF0YVtpbmRleF0udGl0bGUpIHtcbiAgICAgIHRpdGxlID0gZGF0YVtpbmRleF0udGl0bGUhOyBcbiAgICB9XG4gICAgLy8gY2hhbGxlbmdlc1xuICAgIGxldCBjaGFsbHM6IEpTWC5FbGVtZW50W10gID0gW107ICBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFbaW5kZXhdLmJpZ2dlc3RjaGFsbGVuZ2UubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNoYWxscy5wdXNoKDxsaSBrZXk9e2BkJHtpfWB9PntkYXRhW2luZGV4XS5iaWdnZXN0Y2hhbGxlbmdlW2ldfTwvbGk+KTsgXG4gICAgfVxuICAgIC8vIGJlc3RwYXJ0c1xuICAgIGxldCBiZXN0czogSlNYLkVsZW1lbnRbXSAgPSBbXTsgIFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpbmRleF0uYmVzdHBhcnQubGVuZ3RoOyBpKyspIHtcbiAgICAgIGJlc3RzLnB1c2goPGxpIGtleT17YGUke2l9YH0+e2RhdGFbaW5kZXhdLmJlc3RwYXJ0W2ldfTwvbGk+KTsgXG4gICAgfVxuICAgIGxldCBmcm9udGJyaWVmY2xhc3MgPSBcImZyb250YnJpZWYgZnJvbnRicmllZlwiK3RoZW5hbWU7IFxuICAgIGxldCBiYWNrYnJpZWZjbGFzcyA9IFwiYmFja2JyaWVmIGJhY2ticmllZlwiK3RoZW5hbWU7XG5cbiAgICBsZXQgcGljdHVyZSA9IDxkaXYgY2xhc3NOYW1lPVwiY29sLTIgbG5wIGNlbnRlclwiPjxpbWcgc3JjPXtkYXRhW2luZGV4XS56d2VpdGZvdG99IHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fSBjbGFzc05hbWU9e1wiaW1nIHRlYW0taW1nIFwiK2JhY2ticmllZmNsYXNzfS8+PGltZyBzcmM9e2RhdGFbaW5kZXhdLmhhdXB0Zm90b30gY2xhc3NOYW1lPXtcImltZyB0ZWFtLWltZyBcIitmcm9udGJyaWVmY2xhc3N9PjwvaW1nPjwvZGl2PiBcbiAgICBsZXQgbmFtZXJvdyA9IDxkaXYgY2xhc3NOYW1lPVwicm93XCI+PGRpdiBjbGFzc05hbWU9XCJ0ZWFtLW5hbWVcIj4ge3RpdGxlfSB7ZGF0YVtpbmRleF0udm9ybmFtZX0ge2RhdGFbaW5kZXhdLm5hY2huYW1lfSA8c3BhbiBjbGFzc05hbWU9XCJwcm9ub3Vuc1wiPiAoe2RhdGFbaW5kZXhdLnByb25vdW5zfSkgPC9zcGFuPiA8L2Rpdj4gIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+IDxhIGhyZWY9e2RhdGFbaW5kZXhdLmxpbmtlZGludXJsfT4gPGltZyBjbGFzc05hbWU9XCJ0ZWFtLXNvY2lhbHNcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvbGlua2VkaW4ucG5nXCIgLz4gPC9hPjwvZGl2PiA8L2Rpdj47IFxuICAgIGxldCBmcm9udHBhcmFncmFwaCA9IDxkaXYgY2xhc3NOYW1lPXtcInJvdyBcIiArIGZyb250YnJpZWZjbGFzc30+IDxoNj5XaHkgSSB0b29rIHBhcnQgaW4gaUdFTTwvaDY+IHt3aHl9IDwvZGl2PiA7IFxuICAgIGxldCBmYWN0cyA9IDxkaXYgY2xhc3NOYW1lPXtmcm9udGJyaWVmY2xhc3N9PjxkaXYgY2xhc3NOYW1lPVwiXCI+IDxiPkFnZTo8L2I+IHtkYXRhW2luZGV4XS5hZ2V9IDwvZGl2PiA8YnIvPiB7aGVhZG9mfSA8ZGl2PiA8Yj5QYXJ0IG9mOjwvYj4ge2pvYnN9PC9kaXY+IDxici8+IDxkaXYgY2xhc3NOYW1lPVwiXCI+IDxiPk1ham9yOjwvYj4ge2RhdGFbaW5kZXhdLnN0dWRpZW5nYW5nfSA8L2Rpdj4gPGJyLz4gPGRpdiBjbGFzc05hbWU9XCJcIj4gPGI+U2NpZW50aWZpYyBpbnRlcmVzdHM6PC9iPiB7ZGF0YVtpbmRleF0uc2NpZW50aWZpY2ludGVyZXN0c30gPC9kaXY+IDwvZGl2PjsgXG4gICAgbGV0IGJhY2tidXR0b24gPSAgPGRpdiBjbGFzc05hbWU9e2JhY2ticmllZmNsYXNzfSBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+ICAgPGRpdiBjbGFzc05hbWU9XCJwYXJlbnQtYnV0dG9uXCI+PGJ1dHRvbiBvbkNsaWNrPXtmbGlwQmFjayh0aGVuYW1lKX0gY2xhc3NOYW1lPVwiZnJvbnRidXR0b25cIj5DbGljayBtZTwvYnV0dG9uPjwvZGl2PjwvZGl2PlxuICAgIGxldCBmdW5mYWN0bGlzdCA9IDxkaXYgY2xhc3NOYW1lPXtiYWNrYnJpZWZjbGFzc30gc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PjxiPkZ1bmZhY3RzOiA8L2I+PHVsPiB7ZnVuZmFjdHN9PC91bD48L2Rpdj5cbiAgICBsZXQgZmF2bXVzaWMgPSA8PjxoNj5GYXZvdXJpdGUgbGFiIG11c2ljOjwvaDY+PHA+e2RhdGFbaW5kZXhdLmZhdmxhYm11c2ljfTwvcD48Lz5cbiAgICBsZXQgaG9iYmllbGlzdCA9IDw+PGg2PkhvYmJpZXM6PC9oNj4gPHA+IHtob2Jic30gPC9wPjwvPlxuICAgIGxldCBiYWNrcGFyYWdyYXBoID0gPGRpdiBjbGFzc05hbWU9e1wicm93IFwiK2JhY2ticmllZmNsYXNzfSBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+e2Zhdm11c2ljfXtob2JiaWVsaXN0fTwvZGl2PiBcbiAgICBsZXQgcGFyYWdyYXBocyA9IDxkaXYgY2xhc3NOYW1lPVwic3RlY2tib2R5XCI+IHtmcm9udHBhcmFncmFwaH0ge2JhY2twYXJhZ3JhcGh9IDwvZGl2PlxuICAgIGxldCBmcm9udGJ1dHRvbiA9ICA8ZGl2IGNsYXNzTmFtZT17ZnJvbnRicmllZmNsYXNzfT4gPGRpdiBjbGFzc05hbWU9XCJwYXJlbnQtYnV0dG9uXCI+PGJ1dHRvbiBvbkNsaWNrPXtmbGlwKHRoZW5hbWUpfSBjbGFzc05hbWU9XCJmcm9udGJ1dHRvblwiPkNsaWNrIG1lPC9idXR0b24+PC9kaXY+PC9kaXY+XG4gICAgbGV0IGNoYWxsZW5nZXMgPSA8ZGl2PiA8aDY+V2hhdCB3ZXJlIHRoZSBiaWdnZXN0IGNoYWxsZW5nZXM/PC9oNj4gPHVsPiB7Y2hhbGxzfSA8L3VsPiA8L2Rpdj5cbiAgICBsZXQgYmVzdHBhcnQgPSA8ZGl2PiA8aDY+V2hhdCB3ZXJlIHRoZSBiZXN0IHBhcnRzPzwvaDY+IDx1bD4ge2Jlc3RzfSA8L3VsPjwvZGl2PiA7IFxuICAgIGxldCBkZXRhaWxzID0gPGRpdj4gPGJyLz4ge2NoYWxsZW5nZXN9IHtiZXN0cGFydH0gPC9kaXY+XG4gICAgbGV0IGhvbGUgPSBcbiAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBzdGVja2JyaWVmXCI+IHtwaWN0dXJlfSAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNVwiPiBcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+IHtuYW1lcm93fVxuICAgICAgICAgICAgICAgICAgPGhyLz4gIFxuICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgXG4gICAgICAgICAgICAgICAgICB7cGFyYWdyYXBoc30gICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC00IGJyaWVmZmFjdHNcIj5cbiAgICAgICAgICAgICAgICAgIDxici8+PGJyLz4gIHtmdW5mYWN0bGlzdH0ge2ZhY3RzfSBcbiAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPC9kaXY+IDxkaXYgY2xhc3NOYW1lPVwicm93IHN0ZWNrYnJpZWZidXR0b25yb3dcIiBzdHlsZT17e21hcmdpblRvcDogXCIxcmVtXCIsIG1hcmdpbkJvdHRvbTogXCIxcmVtXCJ9fT4gPGRpdiBjbGFzc05hbWU9XCJjb2wtMlwiPiB7ZnJvbnRidXR0b259IHtiYWNrYnV0dG9ufTwvZGl2PiAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj48ZGV0YWlscyBjbGFzc05hbWU9e2Zyb250YnJpZWZjbGFzc30gPjxzdW1tYXJ5PiA8Yj5QZXJzb25hbCBtb3RpdmF0aW9uIGFuZCBjaGFsbGVuZ2VzPC9iPiA8L3N1bW1hcnk+PGRpdj4ge2RldGFpbHN9PC9kaXY+PC9kZXRhaWxzPjwvZGl2PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgbGV0IHdob2xlID0gPGRpdiAgY2xhc3NOYW1lPXtcInN0ZWNrYnJpZWYtYm94XCJ9IGlkPXt0aGVuYW1lfT4ge2hvbGV9IDwvZGl2PjsgXG4gICAgYnJpZWZlLnB1c2god2hvbGUpOyBcbiAgfVxuICByZXR1cm4gYnJpZWZlOyBcbn1cblxuZnVuY3Rpb24gY3JlYXRlUGlTdGVja2JyaWVmZShkYXRhOiBBcnJheTxTdGVja2JyaWVmSW50ZXJmYWNlPil7XG4gIGxldCBicmllZmU6IEpTWC5FbGVtZW50W10gID0gW11cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGRhdGEubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgbGV0IHRoZW5hbWUgPSBcIlwiICsgZGF0YVtpbmRleF0udm9ybmFtZSArIGRhdGFbaW5kZXhdLm5hY2huYW1lOyBcbiAgICAvLyBDb25kaXRpb25hbCBoZWFkIG9mXG4gICAgdmFyIGhlYWRvZiA9IDw+PC8+OyBcbiAgICBpZihkYXRhW2luZGV4XS5oZWFkb2Ype1xuICAgICAgdmFyIGhlYWRvZiA9IDw+PGRpdiBjbGFzc05hbWU9XCJcIj4gPGI+aUdFTS1Kb2I6PC9iPiB7ZGF0YVtpbmRleF0uaGVhZG9mfSA8L2Rpdj4gPGJyLz48Lz47IFxuICAgIH1cbiAgICAvLyBKb2JzXG4gICAgdmFyIGpvYnMgPSBcIlwiOyBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFbaW5kZXhdLmlnZW1qb2IubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKGkgKyAxID09IGRhdGFbaW5kZXhdLmlnZW1qb2IubGVuZ3RoICkge1xuICAgICAgICAgIGpvYnMgKz0gXCIgYW5kIFwiICsgZGF0YVtpbmRleF0uaWdlbWpvYltpXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICAgIGpvYnMgKz0gIGRhdGFbaW5kZXhdLmlnZW1qb2JbaV0gKyBcIiwgXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gRnVuZmFjdHMgXG4gICAgdmFyIGZ1bmZhY3RzOiBKU1guRWxlbWVudFtdICA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpbmRleF0uZnVuZmFjdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZ1bmZhY3RzLnB1c2goPGxpIGtleT17YGEke2l9YH0+IHtkYXRhW2luZGV4XS5mdW5mYWN0c1tpXX0gPC9saT4pOyBcbiAgICB9XG4gICAgLy8gSG9iYmllc1xuICAgIHZhciBob2JicyA9IFwiXCI7IFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpbmRleF0uaG9iYmllcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGkgKyAxID09IGRhdGFbaW5kZXhdLmhvYmJpZXMubGVuZ3RoICkge1xuICAgICAgICBob2JicyArPSBcIiBhbmQgXCIgKyBkYXRhW2luZGV4XS5ob2JiaWVzW2ldO1xuICAgICAgfVxuICAgICAgZWxzZSBpZihpICsgMiA9PSBkYXRhW2luZGV4XS5ob2JiaWVzLmxlbmd0aCl7XG4gICAgICAgIGhvYmJzICs9ICBkYXRhW2luZGV4XS5ob2JiaWVzW2ldXG4gICAgICAgIC8vY29uc29sZS5sb2coYGJlaSBpKzIgaXN0IGVzICR7ZGF0YVtpbmRleF0uaG9iYmllc1tpXX1gKVxuICAgICAgfVxuICAgICAgZWxzZXtcbiAgICAgICAgaG9iYnMgKz0gIGRhdGFbaW5kZXhdLmhvYmJpZXNbaV0gKyBcIiwgXCI7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIFdoeWlnZW1cbiAgICB2YXIgd2h5OiBKU1guRWxlbWVudFtdICA9IFtdOyBcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFbaW5kZXhdLndoeWlnZW0ubGVuZ3RoOyBpKyspIHtcbiAgICAgIHdoeS5wdXNoKDxwPntkYXRhW2luZGV4XS53aHlpZ2VtW2ldfTwvcD4pOyBcbiAgICB9XG4gICAgLy9UaXRsZVxuICAgIGxldCB0aXRsZSA9IFwiXCI7IFxuICAgIGlmIChkYXRhW2luZGV4XS50aXRsZSkge1xuICAgICAgdGl0bGUgPSBkYXRhW2luZGV4XS50aXRsZSE7IFxuICAgIH1cbiAgICAvLyBjaGFsbGVuZ2VzXG4gICAgbGV0IGNoYWxsczogSlNYLkVsZW1lbnRbXSAgPSBbXTsgIFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpbmRleF0uYmlnZ2VzdGNoYWxsZW5nZS5sZW5ndGg7IGkrKykge1xuICAgICAgY2hhbGxzLnB1c2goPGxpIGtleT17YGIke2l9YH0+e2RhdGFbaW5kZXhdLmJpZ2dlc3RjaGFsbGVuZ2VbaV19PC9saT4pOyBcbiAgICB9XG4gICAgLy8gYmVzdHBhcnRzXG4gICAgbGV0IGJlc3RzOiBKU1guRWxlbWVudFtdICA9IFtdOyAgXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhW2luZGV4XS5iZXN0cGFydC5sZW5ndGg7IGkrKykge1xuICAgICAgYmVzdHMucHVzaCg8bGkga2V5PXtgYyR7aX1gfT57ZGF0YVtpbmRleF0uYmVzdHBhcnRbaV19PC9saT4pOyBcbiAgICB9XG4gICAgbGV0IGZyb250YnJpZWZjbGFzcyA9IFwiZnJvbnRicmllZiBmcm9udGJyaWVmXCIrdGhlbmFtZTsgXG4gICAgbGV0IGJhY2ticmllZmNsYXNzID0gXCJiYWNrYnJpZWYgYmFja2JyaWVmXCIrdGhlbmFtZTtcblxuICAgIGxldCBwaWN0dXJlID0gPGRpdiBjbGFzc05hbWU9XCJjb2wtMiBsbnAgY2VudGVyXCI+PGltZyBzcmM9e2RhdGFbaW5kZXhdLnp3ZWl0Zm90b30gc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19IGNsYXNzTmFtZT17XCJpbWcgdGVhbS1pbWcgXCIrYmFja2JyaWVmY2xhc3N9Lz48aW1nIHNyYz17ZGF0YVtpbmRleF0uaGF1cHRmb3RvfSBjbGFzc05hbWU9e1wiaW1nIHRlYW0taW1nIFwiK2Zyb250YnJpZWZjbGFzc30+PC9pbWc+PC9kaXY+IFxuICAgIGxldCBuYW1lcm93ID0gPGRpdiBjbGFzc05hbWU9XCJyb3dcIj48ZGl2IGNsYXNzTmFtZT1cInRlYW0tbmFtZVwiPiB7dGl0bGV9IHtkYXRhW2luZGV4XS52b3JuYW1lfSB7ZGF0YVtpbmRleF0ubmFjaG5hbWV9IDxzcGFuIGNsYXNzTmFtZT1cInByb25vdW5zXCI+ICh7ZGF0YVtpbmRleF0ucHJvbm91bnN9KSA8L3NwYW4+IDwvZGl2PiAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gPGEgaHJlZj17ZGF0YVtpbmRleF0ubGlua2VkaW51cmx9PiA8aW1nIGNsYXNzTmFtZT1cInRlYW0tc29jaWFsc1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9saW5rZWRpbi5wbmdcIiAvPiA8L2E+PC9kaXY+IDwvZGl2PjsgXG4gICAgbGV0IGZyb250cGFyYWdyYXBoID0gPGRpdiBjbGFzc05hbWU9e1wicm93IFwiICsgZnJvbnRicmllZmNsYXNzfT4gPGg2PldoeSBJIHRvb2sgcGFydCBpbiBpR0VNPC9oNj4ge3doeX0gPC9kaXY+IDsgXG4gICAgbGV0IGZhY3RzID0gPGRpdiBjbGFzc05hbWU9e2Zyb250YnJpZWZjbGFzc30+PGRpdiBjbGFzc05hbWU9XCJcIj4gPGI+QWdlOjwvYj4ge2RhdGFbaW5kZXhdLmFnZX0gPC9kaXY+IDxici8+IHtoZWFkb2Z9IDxkaXY+IDxiPkFmZmlsaWF0aW9uOjwvYj4ge2pvYnN9PC9kaXY+IDxici8+IDxkaXYgY2xhc3NOYW1lPVwiXCI+IDxiPlJlZ3VsYXIgSm9iOjwvYj4ge2RhdGFbaW5kZXhdLnN0dWRpZW5nYW5nfSA8L2Rpdj4gPGJyLz4gPGRpdiBjbGFzc05hbWU9XCJcIj4gPGI+U2NpZW50aWZpYyBpbnRlcmVzdHM6PC9iPiB7ZGF0YVtpbmRleF0uc2NpZW50aWZpY2ludGVyZXN0c30gPC9kaXY+IDwvZGl2PjsgXG4gICAgbGV0IGJhY2tidXR0b24gPSAgPGRpdiBjbGFzc05hbWU9e2JhY2ticmllZmNsYXNzfSBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+ICAgPGRpdiBjbGFzc05hbWU9XCJwYXJlbnQtYnV0dG9uXCI+PGJ1dHRvbiBvbkNsaWNrPXtmbGlwQmFjayh0aGVuYW1lKX0gY2xhc3NOYW1lPVwiZnJvbnRidXR0b25cIj5DbGljayBtZTwvYnV0dG9uPjwvZGl2PjwvZGl2PlxuICAgIGxldCBmdW5mYWN0bGlzdCA9IDxkaXYgY2xhc3NOYW1lPXtiYWNrYnJpZWZjbGFzc30gc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PjxiPkZ1bmZhY3RzOiA8L2I+PHVsPiB7ZnVuZmFjdHN9PC91bD48L2Rpdj5cbiAgICBsZXQgZmF2bXVzaWMgPSA8PjxoNj5GYXZvdXJpdGUgbGFiIG11c2ljOjwvaDY+PHA+e2RhdGFbaW5kZXhdLmZhdmxhYm11c2ljfTwvcD48Lz5cbiAgICBsZXQgaG9iYmllbGlzdCA9IDw+PGg2PkhvYmJpZXM6PC9oNj4gPHA+IHtob2Jic30gPC9wPjwvPlxuICAgIGxldCBiYWNrcGFyYWdyYXBoID0gPGRpdiBjbGFzc05hbWU9e1wicm93IFwiK2JhY2ticmllZmNsYXNzfSBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+e2Zhdm11c2ljfXtob2JiaWVsaXN0fTwvZGl2PiBcbiAgICBsZXQgcGFyYWdyYXBocyA9IDxkaXYgY2xhc3NOYW1lPVwic3RlY2tib2R5XCI+IHtmcm9udHBhcmFncmFwaH0ge2JhY2twYXJhZ3JhcGh9IDwvZGl2PlxuICAgIGxldCBmcm9udGJ1dHRvbiA9ICA8ZGl2IGNsYXNzTmFtZT17ZnJvbnRicmllZmNsYXNzfT4gPGRpdiBjbGFzc05hbWU9XCJwYXJlbnQtYnV0dG9uXCI+PGJ1dHRvbiBvbkNsaWNrPXtmbGlwKHRoZW5hbWUpfSBjbGFzc05hbWU9XCJmcm9udGJ1dHRvblwiPkNsaWNrIG1lPC9idXR0b24+PC9kaXY+PC9kaXY+XG4gICAgbGV0IGNoYWxsZW5nZXMgPSA8ZGl2PiA8aDY+V2hhdCB3ZXJlIHRoZSBiaWdnZXN0IGNoYWxsZW5nZXM/PC9oNj4gPHVsPiB7Y2hhbGxzfSA8L3VsPiA8L2Rpdj5cbiAgICBsZXQgYmVzdHBhcnQgPSA8ZGl2PiA8aDY+V2hhdCB3ZXJlIHRoZSBiZXN0IHBhcnRzPzwvaDY+IDx1bD4ge2Jlc3RzfSA8L3VsPjwvZGl2PiA7IFxuICAgIGxldCBkZXRhaWxzID0gPGRpdj4gPGJyLz4ge2NoYWxsZW5nZXN9IHtiZXN0cGFydH0gPC9kaXY+XG4gICAgbGV0IGhvbGUgPSBcbiAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBzdGVja2JyaWVmXCI+IHtwaWN0dXJlfSAgXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNVwiPiBcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+IHtuYW1lcm93fVxuICAgICAgICAgICAgICAgICAgPGhyLz4gIFxuICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgXG4gICAgICAgICAgICAgICAgICB7cGFyYWdyYXBoc30gICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC00IGJyaWVmZmFjdHNcIj5cbiAgICAgICAgICAgICAgICAgIDxici8+PGJyLz4gIHtmdW5mYWN0bGlzdH0ge2ZhY3RzfSBcbiAgICAgICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPC9kaXY+IDxkaXYgY2xhc3NOYW1lPVwicm93IHN0ZWNrYnJpZWZidXR0b25yb3dcIiBzdHlsZT17e21hcmdpblRvcDogXCIxcmVtXCIsIG1hcmdpbkJvdHRvbTogXCIxcmVtXCJ9fT4gPGRpdiBjbGFzc05hbWU9XCJjb2wtMlwiPiB7ZnJvbnRidXR0b259IHtiYWNrYnV0dG9ufTwvZGl2PiAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj48ZGV0YWlscyBjbGFzc05hbWU9e2Zyb250YnJpZWZjbGFzc30gPjxzdW1tYXJ5PiA8Yj5QZXJzb25hbCBtb3RpdmF0aW9uIGFuZCBjaGFsbGVuZ2VzPC9iPiA8L3N1bW1hcnk+PGRpdj4ge2RldGFpbHN9PC9kaXY+PC9kZXRhaWxzPjwvZGl2PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgbGV0IHdob2xlID0gPGRpdiAgY2xhc3NOYW1lPXtcInN0ZWNrYnJpZWYtYm94XCJ9IGlkPXt0aGVuYW1lfT4ge2hvbGV9IDwvZGl2PjsgXG4gICAgYnJpZWZlLnB1c2god2hvbGUpOyBcbiAgfVxuICByZXR1cm4gYnJpZWZlOyBcbn1cblxuXG5cbmZ1bmN0aW9uIGZsaXAoZWxlbWVudDogc3RyaW5nKXtcbiAgY29uc3QgZmxpcHAgPSAoX2V2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4ge1xuICAgIGxldCBlbGVtZW50c1RvSGlkZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJmcm9udGJyaWVmXCIrZWxlbWVudCk7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnRzVG9IaWRlLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIChlbGVtZW50c1RvSGlkZVtpXSBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgICAgfVxuICAgIGxldCBlbGVtZW50c1RvRmluZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJiYWNrYnJpZWZcIitlbGVtZW50KTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnRzVG9GaW5kLmxlbmd0aDsgaSsrKSB7XG4gICAgICAoZWxlbWVudHNUb0ZpbmRbaV0gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBmbGlwcDsgXG59XG5cbmZ1bmN0aW9uIGZsaXBCYWNrKGVsZW1lbnQ6IHN0cmluZyl7XG4gIGNvbnN0IGZsaXBwYmFjayA9IChfZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgbGV0IGVsZW1lbnRzVG9IaWRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImJhY2ticmllZlwiK2VsZW1lbnQpO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50c1RvSGlkZS5sZW5ndGg7IGkrKykge1xuICAgICAgICAoZWxlbWVudHNUb0hpZGVbaV0gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICAgIH1cbiAgICBsZXQgZWxlbWVudHNUb0ZpbmQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiZnJvbnRicmllZlwiK2VsZW1lbnQpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudHNUb0ZpbmQubGVuZ3RoOyBpKyspIHtcbiAgICAgIChlbGVtZW50c1RvRmluZFtpXSBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZsaXBwYmFjazsgIFxufSIsICJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEJhY2tVcCB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IEgyIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IEJsb2NrUXVvdGVCIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvUXVvdGVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBBdHRyaWJ1dGlvbnMoKSB7XG4gIGNvbnN0IHRlYW1JRCA9IGltcG9ydC5tZXRhLmVudi5WSVRFX1RFQU1fSUQ7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmdW5jdGlvbiBsaXN0ZW5Ub0lmcmFtZUhlaWdodChlOiBNZXNzYWdlRXZlbnQpIHtcbiAgICAgIGlmIChlLm9yaWdpbiA9PT0gXCJodHRwczovL3RlYW1zLmlnZW0ub3JnXCIpIHtcbiAgICAgICAgY29uc3QgeyB0eXBlLCBkYXRhIH0gPSBKU09OLnBhcnNlKGUuZGF0YSk7XG4gICAgICAgIGlmICh0eXBlID09PSBcImlnZW0tYXR0cmlidXRpb24tZm9ybVwiKSB7XG4gICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiaWdlbS1hdHRyaWJ1dGlvbi1mb3JtXCIpO1xuICAgICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBlbGVtZW50LnN0eWxlLmhlaWdodCA9IGAke2RhdGEgKyAxMDB9cHhgO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgbGlzdGVuVG9JZnJhbWVIZWlnaHQpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgbGlzdGVuVG9JZnJhbWVIZWlnaHQpO1xuICAgIH07XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBtdC00XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICA8SDIgdGV4dD1cIk9uZSBpR0VNIHByb2plY3QgLSBNaWxsaW9uIHBlb3BsZSBiZWhpbmRcIi8+XG4gICAgICAgICA8QmxvY2tRdW90ZUIgdGV4dD1cIldpdGggYSBsb3Qgb2YgcmVzcG9uc2liaWxpdHkgY29tZXMgYSBiaWdnZXIgd29ya2xvYWQgYW5kIGV2ZW4gbW9yZSBwZW9wbGUgd29ya2luZyB0b2dldGhlclwiIGNpdGU9XCJmb3JtZXIgaUdFTWVyXCIvPlxuICAgICAgICA8cD5XZSB3b3VsZCBsaWtlIHRvIHRoYW5rIGV2ZXJ5b25lIHdobyBzdXBwb3J0ZWQgb3VyIHRlYW0gYW5kIHByb3ZpZGVkIGFzc2lzdGFuY2UsIHJlc291cmNlcyBvciB1c2VmdWwgdGlwcyBpbiBvcmRlciB0byBmdWxmaWxsIG91ciBwcm9qZWN0LjwvcD5cbiAgICAgICAgPHA+VGhlIGZvbGxvd2luZyBvdmVydmlldyBsaXN0cyBhbGwgdGVhbSBtZW1iZXJzLCB3aG8gaGF2ZSBiZWVuIGluc3RydW1lbnRhbCBpbiBvdXIgaUdFTSBwcm9qZWN0LiBXZSBhcmUgcHJvdWQgb2Ygb3VyIHdvcmsgYW5kIGxvb2sgZm9yd2FyZCB0byB3aGF0IGF3YWl0cyB1cyBhZnRlciB0aGUgaUdFTSBjb21wZXRpdGlvbi48L3A+XG4gICAgICAgIDxwPldlIHdvdWxkIGxpa2UgdG8gdGhhbmsgb3VyIHByaW5jaXBhbCBpbnZlc3RpZ2F0b3JzLCBpbnN0cnVjdG9yIGFuZCBzdXBlcnZpc29ycyBmb3IgZ3VpZGluZyB1cyBhbG9uZyB0aGUgd2F5IGFuZCBoZWxwaW5nIHRvIHNoYXBlIG91ciBwcm9qZWN0LjwvcD5cbiAgICAgICAgPHA+V2UgY29udHJpYnV0ZWQgYWxsIGV4dGVybmFsIHBhcnRuZXJzIHRoYXQgaGF2ZSBpbmZsdWVuY2VkIHRoZSBwcm9qZWN0IGJlbG93LiBXZSB3b3VsZCBsaWtlIHRvIHRoYW5rIGFsbCBpR0VNIHRlYW1zLCBmb3JtZXIgaUdFTSB0ZWFtIG1lbWJlcnMgb2YgdGhlIHVuaXZlcnNpdHkgb2YgQmllbGVmZWxkIG9yIGV4dGVybmFsIHRlYW0gbWVtYmVycywgY29udHJhY3RvcnMsIHRlY2huaWNpYW5zLCBsYWJvcmF0b3J5IHN0dWRlbnRzLCBwb3N0LWRvY3MgYW5kIGNvbGxhYm9yYXRvcnMgZm9yIHRoZWlyIHN1cHBvcnQgaW4gYW55IGZvcm0uIDwvcD5cbiAgICAgICAgPHA+V2Ugd291bGQgYWxzbyBsaWtlIHRvIHRoYW5rIG91ciBzcG9uc29ycywgd2hvIGhhdmUgc3VwcG9ydGVkIHVzIHdpdGggdGhlaXIgZ2VuZXJvdXMgZG9uYXRpb25zLiBGaXJzdCBhbmQgZm9yZW1vc3QsIEJpZWxlZmVsZCBVbml2ZXJzaXR5LCBhbmQgcGFydGljdWxhcmx5IFByb2YuIERyLiBBbGZyZWQgUFx1MDBGQ2hsZXIsIHdobyByZXZpdmVkIGlHRU0gYW5kIGFsbG93cyB1cyB0byBwYXJ0aWNpcGF0ZSBpbiB0aGlzIHllYXIncyBjb21wZXRpdGlvbi4gQWRkaXRpb25hbGx5LCB3ZSBhcmUgdGhhbmtmdWwgZm9yIHRoZSBzdXBwb3J0IGFuZCBmZWVkYmFjayBvZiB0aGUgc3RlZXJpbmcgY29tbWl0dGVlLjwvcD5cbiAgICAgICAgPHA+SW4gYWRkaXRpb24gdG8gY29vcGVyYXRpb24gYW5kIGNvbGxhYm9yYXRpdmUgd29yaywgdGltZSBtYW5hZ2VtZW50IGZvY3VzZXMgb24gZWZmaWNpZW50IG9wZXJhdGlvbiBvZiBldmVyeSBpR0VNIHByb2plY3QuIFRoZSBmb2xsb3dpbmcgbGlzdCBvZiBvdXIgcHJvamVjdCB0aW1lbGluZSBzZXJ2ZXMgYXMgYW4gb3JpZW50YXRpb24gYW5kIGdpdmVzIGFuIG92ZXJ2aWV3IG9mIHRoZSB0ZW1wb3JhbCBzdGFnZ2VyaW5nIG9mIHRoZSBwcm9qZWN0LiBXZSB3b3VsZCBsaWtlIHRvIHRoYW5rIGFsbCBwYXJ0aWNpcGFudHMgZm9yIHRoZSBjb29yZGluYXRpb24gb2Ygb3VyIGFjdGl2aXRpZXM8L3A+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxici8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpZnJhbWVcbiAgICAgICAgc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19XG4gICAgICAgIGlkPVwiaWdlbS1hdHRyaWJ1dGlvbi1mb3JtXCJcbiAgICAgICAgc3JjPXtgaHR0cHM6Ly90ZWFtcy5pZ2VtLm9yZy93aWtpLyR7dGVhbUlEfS9hdHRyaWJ1dGlvbnNgfVxuICAgICAgLz5cbiAgICAgIDxCYWNrVXAvPiBcbiAgICA8Lz5cbiAgKTtcbn1cbiIsICJcblxuZXhwb3J0IGZ1bmN0aW9uIEJsb2NrUXVvdGUoe3RleHQsIGNpdGV9OiB7dGV4dDogc3RyaW5nOyBjaXRlOiBzdHJpbmd9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmxvY2txdW90ZS13cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrcXVvdGVcIj5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwiYmxvY2staDJcIj5cbiAgICAgICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICA8aDQgY2xhc3NOYW1lPVwiYmxvY2staDRcIj48ZW0+e2NpdGV9PC9lbT48L2g0PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBCbG9ja1F1b3RlQih7dGV4dCwgY2l0ZSwgaWR9OiB7dGV4dDogc3RyaW5nOyBjaXRlOiBzdHJpbmcsIGlkPzogc3RyaW5nfSl7XG4gICAgaWYgKGlkKXtcbiAgICAgICAgbGV0IGggPSBcIiNcIiArIHtpZH1cbiAgICAgICAgcmV0dXJuKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9ja3F1b3RlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrcXVvdGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJibG9jay1oMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3RleHR9XG4gICAgICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzc05hbWU9XCJibG9jay1oNFwiPjxlbT57Y2l0ZX08L2VtPiA8YSBocmVmPXtofT48c3VwPntpZH08L3N1cD48L2E+PC9oND5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApICBcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgcmV0dXJuKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJibG9ja3F1b3RlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJsb2NrcXVvdGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0ZXh0fVxuICAgICAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgICAgICA8aDQ+PGVtPntjaXRlfTwvZW0+PC9oND5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKVxuICAgIH1cbiAgICBcbn1cblxuXG4vKiA8c3Bhbj5XaW5zdG9uIENodXJjaGlsbDwvc3Bhbj5cbiAgPGJsb2NrcXVvdGU+XG4gICAgPHA+PGk+JmxkcXVvO1N1Y2Nlc3MgY29uc2lzdHMgb2YgZ29pbmcgZnJvbSBmYWlsdXJlIHRvIGZhaWx1cmUgd2l0aG91dCBsb3NzIG9mIGVudGh1c2lhc20uJnJkcXVvOyA8L2k+PC9wPlxuICA8L2Jsb2NrcXVvdGU+ICovIiwgImltcG9ydCB7IEJ1dHRvbk9uZSwgRG93bmxvYWRMaW5rIH0gZnJvbSBcIi4vQnV0dG9uc1wiXG5cblxuZXhwb3J0IGZ1bmN0aW9uIFBERih7bGluaywgbmFtZX06IHtsaW5rOiBzdHJpbmcsIG5hbWU6c3RyaW5nfSl7XG4gICAgcmV0dXJuKFxuICAgICAgICBcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpZnJhbWUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8aWZyYW1lIHNyYz17bGlua30gIHRpdGxlPVwidGl0bGVcIiBjbGFzc05hbWU9J29uZS1wZGYtbGluZSBzbWFsbC1pJz5cbiAgICAgICAgICAgIDwvaWZyYW1lPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgZG93bmxvYWQtY29sJz5cbiAgICAgICAgICAgIDxEb3dubG9hZExpbmsgdXJsPXtsaW5rfSBmaWxlTmFtZT17bmFtZX0gPjwvRG93bmxvYWRMaW5rPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICBcbiAgICApXG59XG5leHBvcnQgZnVuY3Rpb24gVHdvTGluZVBERih7bGluaywgbmFtZX06IHtsaW5rOiBzdHJpbmcsIG5hbWU6c3RyaW5nfSl7XG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgICAgPGlmcmFtZSBzcmM9e2xpbmt9IHdpZHRoPVwiMTAwJVwiIHRpdGxlPVwidGl0bGVcIiBjbGFzc05hbWU9J3R3by1wZGYtbGluZSBzbWFsbC1pJz5cbiAgICAgICAgICAgICAgICA8L2lmcmFtZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGRvd25sb2FkLWNvbCc+XG4gICAgICAgICAgICAgICAgPERvd25sb2FkTGluayB1cmw9e2xpbmt9IGZpbGVOYW1lPXtuYW1lfSA+PC9Eb3dubG9hZExpbms+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBCRkhwZGYoKXtcbiAgICByZXR1cm4oXG4gICAgPD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9e3ttYXJnaW5Ub3A6IFwiNXZoXCIsIG1hcmdpbkJvdHRvbTogXCI1dmhcIn19PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJGbHllcnNcIiBvcGVuPVwiZmx5ZXJzXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIlByZXNlbnRhdGlvbnNcIiBvcGVuPVwicHJlc2lzXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIkp1ZGdpbmcgRm9ybVwiIG9wZW49XCJmb3JtXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PiBcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgY3ljbGV0YWJcIiBpZD1cImZseWVyc1wiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCAgJz5cbiAgICAgICAgICAgICAgICA8VHdvTGluZVBERiBsaW5rPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL2JmaC1mbHllci1ldXJvcGVhbi1tZWV0dXAucGRmJyBuYW1lPVwiYmZoLWZseWVyLWV1cm9wZWFuLW1lZXR1cC5wZGZcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3NlcGVyYXRvci0yIGNvbC0yJz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sICAnPlxuICAgICAgICAgICAgICAgIDxUd29MaW5lUERGIGxpbms9J2h0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvcG9zdGJmaC1icm9zY2gtcmUtY29tcHJlc3NlZC5wZGYnIG5hbWU9XCJiZmgtbWVldC11cC1ndWlkZWxpbmUucGRmXCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBjeWNsZXRhYlwiIGlkPVwicHJlc2lzXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JvdyBhbGlnbi1pdGVtcy1jZW50ZXInPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICA8VHdvTGluZVBERiBsaW5rPSdodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL2JmaC1wcmVzZW50YXRpb24tYmllbGVmZWxkLnBkZicgbmFtZT1cImJmaC1mbHllci1ldXJvcGVhbi1tZWV0dXAucGRmXCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdzZXBlcmF0b3ItMiBjb2wtMic+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgIDxUd29MaW5lUERGIGxpbms9J2h0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvYmZoLXN0dWRpY29tLXByZXNlbnRhdGlvbi5wZGYnIG5hbWU9XCJiZmgtZmx5ZXItZXVyb3BlYW4tbWVldHVwLnBkZlwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbnsvKiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgIDxQREYgbGluaz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9iZmgtcG9zdGVyLWJpZWxlZmVsZC5wZGYnIG5hbWU9XCJiZmgtbWVldC11cC1ndWlkZWxpbmUucGRmXCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PiAqL31cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgY3ljbGV0YWJcIiBpZD1cImZvcm1cIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgXG4gICAgICAgIFxuICAgIDwvPlxuICAgIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEd1aWRlUERGKCl7XG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgIDxQREYgbGluaz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9iZmgtbWVldC11cC1ndWlkZWxpbmUucGRmJyBuYW1lPVwiYmZoLW1lZXQtdXAtZ3VpZGVsaW5lLnBkZlwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgIClcbn0iLCAiaW1wb3J0IHsgQkZITW9yZUJ1dHRvbiB9IGZyb20gXCIuL0J1dHRvbnNcIjtcblxuXG4gXG5cbmludGVyZmFjZSBJdGVtUHJvcHMge1xuICAgIHRleHQ/OiBzdHJpbmc7IFxuICAgIGhlYWRpbmc/OiBzdHJpbmc7IFxuICAgIHZvcm5hbWU/OiBzdHJpbmcsIFxuICAgIHZvcm5hbWUyPzogc3RyaW5nLCBcbiAgICBuYWNobmFtZT86IHN0cmluZyxcbiAgICBuYWNobmFtZTI/OiBzdHJpbmcsXG4gICAgZGF0ZTogc3RyaW5nICxcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAgIHRhZzogc3RyaW5nLCBcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIGNzc3RhZzogc3RyaW5nLFxuICAgIHVybDogc3RyaW5nLFxuICAgIHVybDI/OiBzdHJpbmdcbn1cbmludGVyZmFjZSBOb0J1dHRJdGVtUHJvcHMge1xuICAgIHRleHQ/OiBzdHJpbmc7IFxuICAgIGhlYWRpbmc/OiBzdHJpbmc7IFxuICAgIHZvcm5hbWU/OiBzdHJpbmcsIFxuICAgIHZvcm5hbWUyPzogc3RyaW5nLCBcbiAgICBuYWNobmFtZT86IHN0cmluZyxcbiAgICBuYWNobmFtZTI/OiBzdHJpbmcsXG4gICAgZGF0ZTogc3RyaW5nICxcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICAgIHRhZzogc3RyaW5nLCBcbiAgICBjb2xvcjogc3RyaW5nLFxuICAgIHVybDogc3RyaW5nLFxuICAgIHVybDI/OiBzdHJpbmdcbn1cblxuXG5cbmV4cG9ydCBjb25zdCBUaW1lbGluZUl0ZW1QaWMgID0gKHsgaGVhZGluZywgdGV4dCwgdm9ybmFtZSwgbmFjaG5hbWUsIGRhdGUsIHRhZywgY29sb3IsIGNoaWxkcmVuLCBjc3N0YWcsIHVybCB9Okl0ZW1Qcm9wcykgPT4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZWxpbmUtaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW0tY29udGVudFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGFnXCIgc3R5bGU9e3sgYmFja2dyb3VuZDogY29sb3IgfX0+XG4gICAgICAgICAgICAgICAge3RhZ31cbiAgICAgICAgICAgIDwvc3Bhbj4gXG4gICAgICAgICAgICA8dGltZT57ZGF0ZX08L3RpbWU+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmaWd1cmUgY2xhc3NOYW1lPVwic25pcDExMTMgcmVkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17dXJsfSBhbHQ9e25hY2huYW1lfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPnt2b3JuYW1lfSA8YnIvPiA8c3Bhbj57bmFjaG5hbWV9PC9zcGFuPjwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHRleHQtMS1iZmhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1PntoZWFkaW5nfTwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIlwiPnt0ZXh0fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPEJGSE1vcmVCdXR0b24gaXQ9e2Nzc3RhZ30+PC9CRkhNb3JlQnV0dG9uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY2lyY2xlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4pO1xuXG5leHBvcnQgY29uc3QgVGltZWxpbmVJdGVtVHdvUGljICA9ICh7IHVybCwgdXJsMiwgaGVhZGluZywgdGV4dCwgdm9ybmFtZSwgbmFjaG5hbWUsIHZvcm5hbWUyLCBuYWNobmFtZTIsIGRhdGUsIHRhZywgY29sb3IsIGNoaWxkcmVuLCBjc3N0YWcgfTpJdGVtUHJvcHMpID0+IChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lbGluZS1pdGVtLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRhZ1wiIHN0eWxlPXt7IGJhY2tncm91bmQ6IGNvbG9yIH19PlxuICAgICAgICAgICAgICAgIHt0YWd9XG4gICAgICAgICAgICA8L3NwYW4+IFxuICAgICAgICAgICAgPHRpbWU+e2RhdGV9PC90aW1lPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmlndXJlIGNsYXNzTmFtZT1cInNuaXAxMTEzIHJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e3VybH0gYWx0PXtuYWNobmFtZX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57dm9ybmFtZX0gPGJyLz4gPHNwYW4+e25hY2huYW1lfTwvc3Bhbj48L2gzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPiAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZSBjbGFzc05hbWU9XCJzbmlwMTExMyByZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXt1cmwyfSBhbHQ9e25hY2huYW1lMn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz57dm9ybmFtZTJ9IDxici8+IDxzcGFuPntuYWNobmFtZTJ9PC9zcGFuPjwvaDM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHRleHQtMS1iZmhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGg1PntoZWFkaW5nfTwvaDU+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIlwiPnt0ZXh0fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPEJGSE1vcmVCdXR0b24gaXQ9e2Nzc3RhZ30+PC9CRkhNb3JlQnV0dG9uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY2lyY2xlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4pO1xuXG5leHBvcnQgY29uc3QgVGltZWxpbmVJdGVtICA9ICh7IGRhdGUsIHRhZywgY29sb3IsIGNoaWxkcmVuLCBjc3N0YWcgfTpJdGVtUHJvcHMpID0+IChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lbGluZS1pdGVtLWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRhZ1wiIHN0eWxlPXt7IGJhY2tncm91bmQ6IGNvbG9yIH19PlxuICAgICAgICAgICAgICAgIHt0YWd9XG4gICAgICAgICAgICA8L3NwYW4+IFxuICAgICAgICAgICAgPHRpbWU+e2RhdGV9PC90aW1lPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8QkZITW9yZUJ1dHRvbiBpdD17Y3NzdGFnfT48L0JGSE1vcmVCdXR0b24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJjaXJjbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbik7XG5leHBvcnQgY29uc3QgTm9CdXR0VGltZWxpbmVJdGVtICA9ICh7IGRhdGUsIHRhZywgY29sb3IsIGNoaWxkcmVuIH06Tm9CdXR0SXRlbVByb3BzKSA9PiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ0aW1lbGluZS1pdGVtXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZWxpbmUtaXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0YWdcIiBzdHlsZT17eyBiYWNrZ3JvdW5kOiBjb2xvciB9fT5cbiAgICAgICAgICAgICAgICB7dGFnfVxuICAgICAgICAgICAgPC9zcGFuPiBcbiAgICAgICAgICAgIDx0aW1lPntkYXRlfTwvdGltZT5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiY2lyY2xlXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4pO1xuXG5leHBvcnQgY29uc3QgUGFuZWxUaW1lbGluZUl0ZW0gID0gKCkgPT4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZWxpbmUtaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW0tY29udGVudFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGFnXCIgc3R5bGU9e3sgYmFja2dyb3VuZDogXCJ2YXIoLS1saWdodGJsdWUpXCIgfX0+XG4gICAgICAgICAgICAgICAgVGFsa3NcbiAgICAgICAgICAgIDwvc3Bhbj4gXG4gICAgICAgICAgICA8dGltZT5QYW5lbCBEaXNjdXNzaW9uPC90aW1lPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIHBhbmVsLXRhbGstZ2FsbGVyeVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXJvdW5kLXBhbmVsXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy90cmFjaS5qcGdcIiBhbHQ9XCJwci1zYW1wbGUxXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbCBtaWRkbGVcIj5UYWNpIDxici8+IEhhZGRvY2s8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1yb3VuZC1wYW5lbFwiICBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL2FuaXRhLXNpZnVhbnRlcy5wbmdcIiBhbHQ9XCJwci1zYW1wbGUxXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbCBtaWRkbGVcIj5BbmEgPGJyLz4gU2lmdWVudGVzPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctcm91bmQtcGFuZWxcIiAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9vbGl2aWEucG5nXCIgYWx0PVwicHItc2FtcGxlMVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic21hbGwgbWlkZGxlXCI+T2xpdmlhIDxici8+IE1vem9sZXdza2E8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1yb3VuZC1wYW5lbFwiICAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9taWRkZW5kb3JmLmpwZWdcIiBhbHQ9XCJwci1zYW1wbGUxXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbCBtaWRkbGVcIj5MYXNzZSA8YnIvPiBNaWRkZW5kb3JmPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctcm91bmQtcGFuZWxcIiAgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9uZW1hbmphLmpwZ1wiIGFsdD1cInByLXNhbXBsZTFcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsIG1pZGRsZVwiPk5lbWFuamEgPGJyLz4gU3RpamVwb3ZpYzwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgPHNwYW4+UGFuZWwgRGlzY3Vzc2lvbjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhbmVsXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICA8cD5EdXJpbmcgdGhlIHBhbmVsIGRpc2N1c3Npb24sIHBhcnRpY2lwYW50cyBzaGFyZWQgdGhlaXIgZXhwZXJpZW5jZXMgd2l0aCBpR0VNIGFuZCBzeW50aGV0aWMgYmlvbG9neS4gTGVzbGllLCBhbiBhZHZpc29yIGZvciB0aGUgVW5pdmVyc2l0eSBvZiBXaW5kc29yJ3MgdGVhbSwgZGV0YWlsZWQgaGVyIHRyYW5zaXRpb24gZnJvbSB0ZWFtIG1lbWJlciB0byBhZHZpc29yIGFuZCBoZXIgcmVjZW50IGludm9sdmVtZW50IGluIHN5bnRoZXRpYyBiaW9sb2d5IG9yZ2FuaXphdGlvbnMuIEFubmEsIGEgZm9ybWVyIGlHRU0gcGFydGljaXBhbnQsIHNwb2tlIGFib3V0IGhlciBiYWNrZ3JvdW5kIGluIGRlc2lnbiBhbmQgaGVyIGN1cnJlbnQgcm9sZSBhcyBhIHNlbmlvciBjb250ZW50IHN0cmF0ZWdpc3QgYXQgRnJlZWxpdGljcywgZW1waGFzaXppbmcgaGVyIHBhc3Npb24gZm9yIHNjaWVuY2UgY29tbXVuaWNhdGlvbi4gVHJhY3kgcmVjb3VudGVkIGhlciBleHRlbnNpdmUgam91cm5leSB3aXRoaW4gaUdFTSwgc3RhcnRpbmcgYXMgYSB0ZWFtIGxlYWRlciBhdCBCb3N0b24gVW5pdmVyc2l0eSBhbmQgZXZlbnR1YWxseSBiZWNvbWluZyB0aGUgZGlyZWN0b3Igb2YgdGhlIGNvbXBldGl0aW9uIGF0IGlHRU0gaGVhZHF1YXJ0ZXJzLiBBZnRlciB0cmFuc2l0aW9uaW5nIHRvIEFzaW1vdiwgc2hlIGhpZ2hsaWdodGVkIGhlciBlZmZvcnRzIHRvIHN0cmVuZ3RoZW4gcGFydG5lcnNoaXBzIGJldHdlZW4gQXNpbW92IGFuZCBpR0VNLCBpbmNsdWRpbmcgbWFudWZhY3R1cmluZyBkaXN0cmlidXRpb24ga2l0cyBmb3IgcGFydGljaXBhdGluZyB0ZWFtcy4gVGhlIGRpc2N1c3Npb24gc2hvd2Nhc2VkIHRoZSBkaXZlcnNlIHBhdGhzIHRha2VuIGJ5IGluZGl2aWR1YWxzIGluIHRoZSBmaWVsZCBhbmQgdGhlaXIgb25nb2luZyBjb21taXRtZW50IHRvIGFkdmFuY2luZyBzeW50aGV0aWMgYmlvbG9neS48L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxCRkhNb3JlQnV0dG9uIGl0PVwicGFuZWxcIj48L0JGSE1vcmVCdXR0b24+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJjaXJjbGVcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbik7XG5cblxuXG5cbiIsICJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgU2xpZGVyIGZyb20gXCJyZWFjdC1zbGlja1wiO1xuXG5pbnRlcmZhY2UgU2xpZGVyUHJvcHMge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlOyBcbn1cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNpbXBsZVNsaWRlcih7Y2hpbGRyZW59OiBTbGlkZXJQcm9wcykge1xuICB2YXIgc2V0dGluZ3MgPSB7XG4gICAgZG90czogdHJ1ZSxcbiAgICBpbmZpbml0ZTogdHJ1ZSxcbiAgICBzbGlkZXNUb1Nob3c6IDEsXG4gICAgc2xpZGVzVG9TY3JvbGw6IDEsXG4gICAgYXV0b3BsYXk6IHRydWUsXG4gICAgc3BlZWQ6IDIwMDAsXG4gICAgYXV0b3BsYXlTcGVlZDogMjAwMCxcbiAgICBjc3NFYXNlOiBcImxpbmVhclwiLFxuICAgIHBhdXNlT25Ib3ZlcjogdHJ1ZSxcbiAgICBuZXh0QXJyb3c6IDw+PC8+LFxuICAgIHByZXZBcnJvdzogPD48Lz5cbiAgfTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInNsaWRlci1jb250YWluZXJcIj5cbiAgICAgICA8U2xpZGVyIHsuLi5zZXR0aW5nc30+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvU2xpZGVyPlxuICAgIDwvZGl2PlxuICAgXG4gICk7XG59IiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvaG9tZS9saWxpL0RvY3VtZW50cy9pR2VtL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlsc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL2hvbWUvbGlsaS9Eb2N1bWVudHMvaUdlbS9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHMvZ290by50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vaG9tZS9saWxpL0RvY3VtZW50cy9pR2VtL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlscy9nb3RvLnRzXCI7ZXhwb3J0IGNvbnN0IGdvVG8gPSAoZWw6IEhUTUxFbGVtZW50KTogdm9pZCA9PiB7XG4gICAgY29uc3QgZWxlbWVudFJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCBlbGVtZW50VG9wID0gZWxlbWVudFJlY3QudG9wICsgd2luZG93LnBhZ2VZT2Zmc2V0OyAvLyBBYnNvbHV0ZSBwb3NpdGlvbiBmcm9tIHRoZSB0b3Agb2YgdGhlIGRvY3VtZW50XG4gICAgY29uc3Qgdmlld3BvcnRIZWlnaHQgPSB3aW5kb3cuaW5uZXJIZWlnaHQ7XG5cbiAgICAvLyBDYWxjdWxhdGUgdGhlIHNjcm9sbCBwb3NpdGlvbiBzbyB0aGUgdG9wIG9mIHRoZSBlbGVtZW50IGlzIGNlbnRlcmVkIGluIHRoZSB2aWV3cG9ydFxuICAgIGNvbnN0IG1pZGRsZVBvc2l0aW9uID0gZWxlbWVudFRvcCAtICh2aWV3cG9ydEhlaWdodCAvIDUgLSBlbC5vZmZzZXRIZWlnaHQgLyAyKTtcblxuICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgIHRvcDogbWlkZGxlUG9zaXRpb24sXG4gICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJ1xuICAgIH0pO1xufTtcblxuXG4vKiBcbmV4cG9ydCBjb25zdCBnb1RvVGV4dHNBbmRPcGVuQ29sbGFwc2libGUgPSAoe2NvbGxhcHNlSWQsIHBhdGh9OiB7Y29sbGFwc2VJZDogc3RyaW5nLCBwYXRoOiBzdHJpbmd9KSA9PiB7XG4gICAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICAgIG5hdmlnYXRlKGAke3BhdGh9JHtjb2xsYXBzZUlkfWApO1xufTtcbmV4cG9ydCBjb25zdCBnb1RvUGFnZXNBbmRPcGVuVGFiID0gKHRhYklkOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoKTtcbiAgICBuYXZpZ2F0ZShgJHtwYXRofSR7dGFiSWR9YCk7XG59OyAqLyIsICIvKiBpbXBvcnQgeyBvcGVuVGhlbSB9IGZyb20gXCIuLi9jb250ZW50c1wiO1xuICovXG5pbXBvcnQgeyBnb1RvIH0gZnJvbSBcIi4uL3V0aWxzL2dvdG9cIjtcbmludGVyZmFjZSBTY3JvbGxMaW5rUHJvcHMge1xuICAgIHRhcmdldElkOiBzdHJpbmc7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG4gICAgb3BlblRoaXM/OiAgc3RyaW5nOyAgIC8qKF9ldmVudDogTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pID0+IHZvaWQ7ICovXG59XG5pbnRlcmZhY2UgU3VwU2Nyb2xsTGlua1Byb3BzIHtcbiAgICBsYWJlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgU2Nyb2xsTGluazogUmVhY3QuRkM8U2Nyb2xsTGlua1Byb3BzPiA9ICh7IHRhcmdldElkLCBsYWJlbCB9KSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnQgZGVmYXVsdCBhbmNob3IgYmVoYXZpb3JcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldElkKTtcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRSZWN0ID0gdGFyZ2V0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBlbGVtZW50UmVjdC50b3AgKyB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICAgICAgY29uc3Qgc2Nyb2xsT2Zmc2V0ID0gZWxlbWVudFRvcCAtICh2aWV3cG9ydEhlaWdodCAvIDUgLSB0YXJnZXRFbGVtZW50Lm9mZnNldEhlaWdodCAvIDIpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRWxlbWVudCBUb3A6ICR7ZWxlbWVudFRvcH1gKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBWaWV3cG9ydCBIZWlnaHQ6ICR7dmlld3BvcnRIZWlnaHR9YCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgU2Nyb2xsIE9mZnNldDogJHtzY3JvbGxPZmZzZXR9YCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgdG9wOiBzY3JvbGxPZmZzZXQsXG4gICAgICAgICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc29sZS5sb2coYFNjcm9sbGVkIHRvICR7dGFyZ2V0SWR9YClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEVsZW1lbnQgd2l0aCBJRCAke3RhcmdldElkfSBub3QgZm91bmQuYCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGEgY2xhc3NOYW1lPVwic2Nyb2xsbGlua1wiIGhyZWY9e2AjJHt0YXJnZXRJZH1gfSBvbkNsaWNrPXtoYW5kbGVDbGlja30+XG4gICAgICAgICAgICA8c3Bhbj57bGFiZWx9PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgKTtcbn07XG5cblxuZXhwb3J0IGNvbnN0IFN1cFNjcm9sbExpbmsgOiBSZWFjdC5GQzxTdXBTY3JvbGxMaW5rUHJvcHM+ID0gKHtsYWJlbCB9KSA9PiB7XG4gICAgbGV0IHRhcmdldElkID0gXCJkZXNjLVwiICsgbGFiZWxcbiAgICBjb25zdCBoYW5kbGVDbGljayA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldElkKTtcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGdvVG8odGFyZ2V0RWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICA8c3VwPjxhIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfT5cbiAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9hPlxuICAgICAgICA8L3N1cD4gXG4gICAgKTtcbn07XG4vKiBleHBvcnQgY29uc3QgU2Nyb2xsTGluazogUmVhY3QuRkM8U2Nyb2xsTGlua1Byb3BzPiA9ICh7IHRhcmdldElkLCBsYWJlbCB9KSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IC8vIFByZXZlbnQgZGVmYXVsdCBhbmNob3IgYmVoYXZpb3JcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhcmdldElkKTtcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGdvVG8odGFyZ2V0RWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGEgaHJlZj17YCMke3RhcmdldElkfWB9IG9uQ2xpY2s9e2hhbmRsZUNsaWNrfT5cbiAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9hPlxuICAgICk7XG59OyAqL1xuXG5cbi8qIGV4cG9ydCBjb25zdCBTY3JvbGxMaW5rU2lkZWJhcjogUmVhY3QuRkM8T3BlblNjcm9sbExpbmtXaXRoQ2hpbGRQcm9wcz4gPSAoeyB0YXJnZXRJZCwgY2hpbGRyZW4sIG9wZW5UaGlzfSkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFyZ2V0SWQpO1xuICAgICAgICBpZiAodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgZ29Ubyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICBvcGVuVGhlbSh7aXQ6IG9wZW5UaGlzfSk7IFxuICAgIH07XG4gICAgXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGEgb25DbGljaz17aGFuZGxlQ2xpY2t9PlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L2E+XG4gICAgKTtcbn07ICovXG5cbiBleHBvcnQgY29uc3QgU2Nyb2xsTGlua1dpdGhDaGlsZDogUmVhY3QuRkM8U2Nyb2xsTGlua1Byb3BzPiA9ICh7IHRhcmdldElkLCBjaGlsZHJlbiB9KSA9PiB7XG4gICAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7XG4gICAgICAgIGlmICh0YXJnZXRFbGVtZW50KSB7XG4gICAgICAgICAgICBnb1RvKHRhcmdldEVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxhIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfT5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9hPlxuICAgICk7XG59OyAiLCAiaW1wb3J0IHsgTm9CdXR0VGltZWxpbmVJdGVtLCBQYW5lbFRpbWVsaW5lSXRlbSwgVGltZWxpbmVJdGVtUGljLCBUaW1lbGluZUl0ZW1Ud29QaWMgfSBmcm9tIFwiLi9WZXJ0aWNhbFRpbWVsaW5lXCI7XG5pbXBvcnQgU2ltcGxlU2xpZGVyIGZyb20gXCIuL1NsaWRlclwiO1xuaW1wb3J0IHsgU2Nyb2xsTGluaywgU3VwU2Nyb2xsTGluayB9IGZyb20gXCIuL1Njcm9sbExpbmtcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEJGSFRpbWVsaW5lICgpIHtcbiAgICBjb25zdCB7Z29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uKCk7IFxuICAgIHJldHVybihcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZWxpbmUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3RpbWVsaW5lLWJlZ2luJyBpZD1cInRpbWVsaW5lSFwiPlxuICAgICAgICAgICAgICAgIEJlZ2luICYgT3BlbmluZ1xuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVBpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvcmFtLmpwZ1wiXG4gICAgICAgICAgICAgICAgZGF0ZT0nU2NpZW50aWZpYyBUYWxrIEkuJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RhbGtzJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1saWdodGJsdWUpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInRhbGtvbmVcIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJSYW1cIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwiU2hha2FyXCJcbiAgICAgICAgICAgICAgICBoZWFkaW5nPVwiQUktRHJpdmVuIEJyZWFrdGhyb3VnaHMgaW4gUGxhc21pZCBETkEgUHJvZHVjdGlvblwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIlJhbSBTaGFua2FyIGZyb20gUGxhc21pZCBGYWN0b3J5IGRlbHZlcyBpbnRvIHRoZSBpbnRlZ3JhdGlvbiBvZiBBSSBpbiBhZHZhbmNpbmcgcGxhc21pZCBETkEgdGVjaG5vbG9neSBmb3IgZ2VuZSB0aGVyYXB5LiBIaWdobGlnaHRpbmcgcmVhbC13b3JsZCBhcHBsaWNhdGlvbnMsIGhlIGRlbW9uc3RyYXRlcyBob3cgQUkgb3B0aW1pemVzIHBsYXNtaWQgcHVyaWZpY2F0aW9uLCBlbmhhbmNlcyBnZW5lIHZlY3RvciBzdGFiaWxpdHksIGFuZCBhY2NlbGVyYXRlcyBtUk5BIHByb2R1Y3Rpb24sIG9mZmVyaW5nIGEgZ2xpbXBzZSBpbnRvIHRoZSBmdXR1cmUgb2YgYmlvdGVjaCBpbm5vdmF0aW9ucy5cIlxuICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ0YWxrb25lXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+UmFtIFNoYW5rYXIsIGZyb20gUGxhc21pZCBGYWN0b3J5LCBnYXZlIGFuIGluc2lnaHRmdWwgdGFsayBhYm91dCB0aGUgaW50ZWdyYXRpb24gb2YgQUkgYW5kIGFkdmFuY2VkIGJpb3RlY2hub2xvZ3ksIHdpdGggYSBmb2N1cyBvbiBwbGFzbWlkIEROQSBwcm9kdWN0aW9uLiBIaXMgcHJlc2VudGF0aW9uIGhpZ2hsaWdodGVkIGhvdyBBSS1kcml2ZW4gaW5ub3ZhdGlvbnMgaGF2ZSB0cmFuc2Zvcm1lZCByZXNlYXJjaCBtZXRob2RvbG9naWVzIGluIGdlbmUgdGhlcmFweSwgcGxhc21pZCBtYW51ZmFjdHVyaW5nLCBhbmQgRE5BIHB1cmlmaWNhdGlvbi4gSGlzIHNwZWVjaCBzaG93Y2FzZWQgdGhlIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMgb2YgQUkgaW4gc3RyZWFtbGluaW5nIHdvcmtmbG93cywgbWFraW5nIGJpb3RlY2ggcHJvY2Vzc2VzIG1vcmUgZWZmaWNpZW50IGFuZCBzY2FsYWJsZS48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5TaGFua2FyIGJlZ2FuIGJ5IGlsbHVzdHJhdGluZyBob3cgc2NpZW50aWZpYyBhZHZhbmNlbWVudHMsIHN1Y2ggYXMgcG93ZXJlZCBmbGlnaHQgYW5kIEROQSByZXNlYXJjaCwgaGF2ZSByYXBpZGx5IHByb2dyZXNzZWQgd2l0aGluIGEgc2luZ2xlIGh1bWFuIGxpZmV0aW1lLiBIZSBjb25uZWN0ZWQgdGhpcyBjb25jZXB0IHRvIGJyZWFrdGhyb3VnaHMgaW4gcGxhc21pZCBETkEgdGVjaG5vbG9neSwgd2hlcmUgUGxhc21pZCBGYWN0b3J5XHUyMDE5cyB3b3JrIGhhcyBiZWVuIHBpdm90YWwgaW4gYWR2YW5jaW5nIGdlbmUgdGhlcmFweSBwcm9kdWN0cy4gQSBrZXkgdGFrZWF3YXkgd2FzIHRoZSBpbnRlZ3JhdGlvbiBvZiBBSSBpbiBvcHRpbWl6aW5nIHBsYXNtaWQgcHVyaWZpY2F0aW9uIHByb2Nlc3NlcywgZW5hYmxpbmcgdGhlIHByb2R1Y3Rpb24gb2YgaGlnaC1xdWFsaXR5IHBsYXNtaWRzIGFuZCBtaW5pIGNpcmNsZXMgZm9yIGNsaW5pY2FsIGFwcGxpY2F0aW9ucy4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hhbmthciBhbHNvIGludHJvZHVjZWQgcmVhbC13b3JsZCBleGFtcGxlcywgc3VjaCBhcyB0aGUgdXNlIG9mIEFJIGluIGVuaGFuY2luZyB0aGUgc3RhYmlsaXR5IGFuZCBxdWFsaXR5IG9mIGdlbmUgdmVjdG9ycyBhbmQgbVJOQSBwcm9kdWN0aW9uLiBIaXMgZGlzY3Vzc2lvbiBvZiBjb2xsYWJvcmF0aW9ucyBiZXR3ZWVuIGFjYWRlbWlhIGFuZCBpbmR1c3RyeSB1bmRlcnNjb3JlZCB0aGUgaW1wb3J0YW5jZSBvZiBuZXR3b3JraW5nIGFuZCBzaGFyZWQgaW5ub3ZhdGlvbiwgY29tcGFyaW5nIGl0IHRvIHRoZSBoaXN0b3JpYyBwYXJ0bmVyc2hpcCBiZXR3ZWVuIFN0YW5sZXkgQ29oZW4gYW5kIEhlcmJlcnQgQm95ZXIgdGhhdCByZXZvbHV0aW9uaXplZCByZWNvbWJpbmFudCBETkEgdGVjaG5vbG9neS4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRoZSB0YWxrIHByb3ZpZGVkIGF0dGVuZGVlcyB3aXRoIGEgZGVlcGVyIHVuZGVyc3RhbmRpbmcgb2YgaG93IEFJIGNhbiByZXZvbHV0aW9uaXplIGxhYiB3b3JrLCBwYXJ0aWN1bGFybHkgaW4gc2NhbGluZyB1cCBETkEgcHJvZHVjdGlvbiBmb3IgZ2VuZSB0aGVyYXBpZXMuIEJ5IGFwcGx5aW5nIHRoZXNlIGluc2lnaHRzLCBwYXJ0aWNpcGFudHMgbGVmdCB3aXRoIGlkZWFzIG9uIGhvdyB0byBsZXZlcmFnZSBBSSB0byBlbmhhbmNlIHRoZWlyIG93biByZXNlYXJjaCBwcm9qZWN0cywgcGFydGljdWxhcmx5IGluIGJpb3RlY2hub2xvZ3kgYW5kIGdlbmUgZWRpdGluZy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVBpYz5cblxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAva3Jpc3RpYW4uanBlZ1wiXG4gICAgICAgICAgICAgICAgdXJsMj1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvcmFtLmpwZ1wiXG4gICAgICAgICAgICAgICAgZGF0ZT0nU2NpZW50aWZpYyBUYWxrIEkuJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RhbGtzJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1saWdodGJsdWUpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInRhbGtvbmVrXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiS3Jpc3RpYW5cIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwiTVx1MDBGQ2xsZXJcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJHZW5lIFRoZXJhcHksIEFBVnMgYW5kIElubm92YXRpb25zIGluIFN5bnRoZXRpYyBCaW9sb2d5XCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiUHJvZi4gRHIuIEtyaXN0aWFuIE1cdTAwRkNsbGVyIGZyb20gQmllbGVmZWxkIFVuaXZlcnNpdHkgcmVmbGVjdHMgb24gaGlzIGxvbmctdGVybSBpbnZvbHZlbWVudCB3aXRoIHRoZSBpR0VNIGNvbXBldGl0aW9uLCBlbXBoYXNpemluZyBhZHZhbmNlbWVudHMgaW4gZ2VuZSB0aGVyYXB5LCBwYXJ0aWN1bGFybHkgdXNpbmcgYWRlbm8tYXNzb2NpYXRlZCB2aXJ1c2VzIChBQVZzKSBhcyB2aXJhbCB2ZWN0b3JzIGZvciBnZW5lIGRlbGl2ZXJ5LiBIZSBkaXNjdXNzZXMgaW5ub3ZhdGlvbnMgaW4gdmlydXMgcHJvZHVjdGlvbiBhbmQgdGFyZ2V0aW5nLCB3aGlsZSBhY2tub3dsZWRnaW5nIG9uZ29pbmcgY2hhbGxlbmdlcyBzdWNoIGFzIHByb2R1Y3QgcHVyaXR5LCBwcm9kdWN0aW9uIGVmZmljaWVuY3ksIGFuZCBzaWRlIGVmZmVjdHMuIEFkZGl0aW9uYWxseSwgaGUgYWRkcmVzc2VzIHJlY2VudCBkZXZlbG9wbWVudHMgaW4gbmFub3BvcmUgc2VxdWVuY2luZyBmb3IgcXVhbGl0eSBjb250cm9sIGFuZCB0aGUgdXNlIG9mIG5vbi1uYXR1cmFsIG51Y2xlb3RpZGVzIGFuZCBtZXRoeWxhdGlvbiB0byBpbXByb3ZlIHRoZXJhcGV1dGljIG91dGNvbWVzLlwiXG4gICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRhbGtvbmVrXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICA8cD5Qcm9mLiBEci4gS3Jpc3RpYW4gTVx1MDBGQ2xsZXIgZnJvbSBSZXNlYXJjaCBHcm91cCBDZWxsdWxhciBhbmQgTW9sZWN1bGFyIEJpb3RlY2hub2xvZ3kgYXQgdGhlIFRlY2huaWNhbCBGYWN1bHR5IG9mIEJpZWxlZmVsZCBVbml2ZXJzaXR5LCBkZWxpdmVyZWQgYW4gaW5zaWdodGZ1bCBwcmVzZW50YXRpb24gb24gdGhlIGludGVncmF0aW9uIG9mIEFJIGFuZCBhZHZhbmNlZCBiaW90ZWNobm9sb2d5LCBmb2N1c2luZyBvbiB0aGUgcHJvZHVjdGlvbiBhbmQgcmVmaW5lbWVudCBvZiBBQVYgdmVjdG9ycy4gVGhlIHByZXNlbnRhdGlvbiBoaWdobGlnaHRlZCBob3cgQUktZHJpdmVuIGlubm92YXRpb25zIGFyZSB0cmFuc2Zvcm1pbmcgcmVzZWFyY2ggbWV0aG9kb2xvZ2llcywgZXNwZWNpYWxseSBpbiBhcmVhcyBzdWNoIGFzIEFBViBwcm9kdWN0aW9uLCBnZW5ldGljIHRhcmdldGluZywgYW5kIHF1YWxpdHkgY29udHJvbC4gUHJvZi4gRHIuIE1cdTAwRkNsbGVyIHNob3djYXNlZCBwcmFjdGljYWwgYXBwbGljYXRpb25zIG9mIEFJIGluIG9wdGltaXppbmcgdGhlc2UgYmlvdGVjaG5vbG9naWNhbCBwcm9jZXNzZXMsIG1ha2luZyB0aGVtIG1vcmUgZWZmaWNpZW50LCBzY2FsYWJsZSwgYW5kIHByZWNpc2UsIHBhcnRpY3VsYXJseSBpbiB0aGVyYXBldXRpYyBhcHBsaWNhdGlvbnMuPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5UaGUgc3BlYWtlciBiZWdhbiBieSBkcmF3aW5nIHBhcmFsbGVscyBiZXR3ZWVuIHRlY2hub2xvZ2ljYWwgYWR2YW5jZW1lbnRzIGluIGZpZWxkcyBsaWtlIHNwYWNlIGV4cGxvcmF0aW9uIGFuZCBicmVha3Rocm91Z2hzIGluIGdlbmV0aWMgcmVzZWFyY2gsIGVtcGhhc2l6aW5nIHRoZSByYXBpZCBwcm9ncmVzc2lvbiB3aXRoaW4gYSBzaG9ydCBzcGFuIG9mIHRpbWUuIFRoaXMgY29udGV4dCBzZXQgdGhlIHN0YWdlIGZvciBkaXNjdXNzaW5nIHJlY2VudCBkZXZlbG9wbWVudHMgaW4gQUFWIHRlY2hub2xvZ3ksIHdoZXJlIHRoZSBhcHBsaWNhdGlvbiBvZiBBSSBoYXMgYmVlbiBwaXZvdGFsLiBBIGtleSB0YWtlYXdheSB3YXMgaG93IEFJIGlzIGJlaW5nIHVzZWQgdG8gZW5oYW5jZSB0aGUgc3RhYmlsaXR5IG9mIHZpcmFsIHZlY3RvcnMgYW5kIG9wdGltaXplIGdlbmUgZGVsaXZlcnksIGFsbG93aW5nIGZvciB0aGUgcHJvZHVjdGlvbiBvZiBoaWdoLXF1YWxpdHkgQUFWIHZlY3RvcnMgd2l0aCBpbXByb3ZlZCBwcmVjaXNpb24uIFJlYWwtd29ybGQgZXhhbXBsZXMsIHN1Y2ggYXMgdGhlIHVzZSBvZiBBSSB0byBtb25pdG9yIGdlbmV0aWMgcHVyaXR5IGR1cmluZyBuYW5vcG9yZSBzZXF1ZW5jaW5nIGFuZCB0byBzdHJlYW1saW5lIHBsYXNtaWQgZW5naW5lZXJpbmcgcHJvY2Vzc2VzLCBzaG93Y2FzZWQgdGhlIHRhbmdpYmxlIGltcGFjdCBvZiB0aGVzZSB0ZWNobm9sb2dpZXMgb24gdGhlcmFwZXV0aWMgcmVzZWFyY2guIFRoZSBkaXNjdXNzaW9uIGFsc28gaGlnaGxpZ2h0ZWQgdGhlIGltcG9ydGFuY2Ugb2YgY29sbGFib3JhdGlvbnMgYmV0d2VlbiBhY2FkZW1pYSBhbmQgaW5kdXN0cnksIGRyYXdpbmcgcGFyYWxsZWxzIHRvIHRoZSBoaXN0b3JpYyBwYXJ0bmVyc2hpcCB0aGF0IHNwYXJrZWQgdGhlIHJlY29tYmluYW50IEROQSByZXZvbHV0aW9uLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHByZXNlbnRhdGlvbiBwcm92aWRlZCBhdHRlbmRlZXMgd2l0aCBhIGRlZXBlciB1bmRlcnN0YW5kaW5nIG9mIGhvdyBBSSBjYW4gc2lnbmlmaWNhbnRseSBlbmhhbmNlIGxhYiB3b3JrLCBwYXJ0aWN1bGFybHkgaW4gc2NhbGluZyB1cCBBQVYgcHJvZHVjdGlvbiBhbmQgZW5zdXJpbmcgdGhlIHF1YWxpdHkgb2YgdGhlcmFwZXV0aWMgdmVjdG9ycy4gUGFydGljaXBhbnRzIGxlZnQgd2l0aCB2YWx1YWJsZSBpbnNpZ2h0cyBvbiBsZXZlcmFnaW5nIEFJIGFuZCBhZHZhbmNlZCB0ZWNobm9sb2dpZXMgdG8gZHJpdmUgdGhlaXIgb3duIHJlc2VhcmNoIHByb2plY3RzIGZvcndhcmQsIGVzcGVjaWFsbHkgaW4gZmllbGRzIGxpa2UgZ2VuZSB0aGVyYXB5LCBwbGFzbWlkIGVuZ2luZWVyaW5nLCBhbmQgc3ludGhldGljIGJpb2xvZ3kuPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVBpYz5cblxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL2NocmlzdGlhbi1rb2xsYW5kLnBuZ1wiXG4gICAgICAgICAgICAgICAgZGF0ZT0nSG93IHRvIFdpa2knXG4gICAgICAgICAgICAgICAgdGFnPSdXb3Jrc2hvcCBTZXNzaW9uIEkuJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS10ZXh0LXByaW1hcnkpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cIndpa2l3b3Jrc2hvcFwiXG4gICAgICAgICAgICAgICAgdm9ybmFtZT1cIkNocmlzdGlhblwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJLb2xsYW5kXCJcbiAgICAgICAgICAgICAgICBoZWFkaW5nPVwiQnVpbGRpbmcgUHJvZmVzc2lvbmFsIFdlYnNpdGVzOiBBIFdvcmtzaG9wIG9uIEhUTUwgYW5kIENTUyBFc3NlbnRpYWxzXCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiTGVhcm5pbmcgdGhlIGJhc2ljcyBvZiBXaWtpIGNvZGluZyBhbmQgZGVzaWduLiBJbiB0aGlzIHdvcmtzaG9wLCB0aGUgcGFydGljaXBhbnRzIGdlaW5lZCBleHBlcnRpc2UgdG8gZWxldmF0ZSB0aGVpciB0ZWFtcyB3aWtpLlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJ3aWtpd29ya3Nob3BcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2UgcGFydGljaXBhdGVkIGluIGFuIGludGVuc2l2ZSB3b3Jrc2hvcCBvbiBIVE1MIGFuZCBDU1MgbWFkZSBieSBhIGZvcm1lciBpR0VNIHBhcnRpY2lwYW50IG9mIHRlYW0gR1UtRnJhbmtmdXJ0IDIwMjMgYW5kIGhlYWQgb2Ygd2lraSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hyaXN0aWFuIEtvbGxhbmQuIEFsbCBwYXJ0aWNpcGFudHMgZ2FpbiBhbiBvdmVydmlldyBvZiB0aGUgZXNzZW50aWFscyBmb3IgYnVpbGRpbmcgd2Vic2l0ZXMuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBzZXNzaW9uIGJlZ2FuIHdpdGggYW4gaW50cm9kdWN0aW9uIHRvIGNvbG9yIHRoZW9yeSB0b29scyBzdWNoIGFzIFJlYWx0aW1lIENvbG9ycyBhbmQgQUkgQ29sb3JzLCBlbXBoYXNpemluZyB0aGVpciByb2xlIGluIGNyZWF0aW5nIHZpc3VhbGx5IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGVhbGluZyBkZXNpZ25zLiBUeXBvZ3JhcGh5IHdhcyBhIGtleSBmb2N1cywgY2xhcmlmeWluZyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHR5cGVmYWNlIChlLmcuLCBGdXR1cmEpIGFuZCBmb250IHZhcmlhdGlvbnMgKGUuZy4sIEZ1dHVyYSBDb25kZW5zZWQpLCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgaG93IGZvbnQgd2VpZ2h0cyBhbmQgc2l6ZXMgaW1wYWN0IHJlYWRhYmlsaXR5IGFuZCBkZXNpZ24gaGllcmFyY2h5LiBQcmFjdGljYWwgZ3VpZGVsaW5lcywgaW5jbHVkaW5nIHRoZSB1c2FnZSBvZiBkaWZmZXJlbnQgdHlwZXMgb2YgdW5pdHMgc3VjaCBhcyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQWCBvciBSRU0gZm9yIGZvbnQgc2l6aW5nIGFuZCB1bmRlcnN0YW5kaW5nIHNwYWNpbmcgZm9yIGFuIGVmZmVjdGl2ZSBsYXlvdXQsIHdlcmUgZ2l2ZW4uIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgV2UgZGVsdmVkIGludG8gSFRNTCdzIHN0cnVjdHVyZSBmb3Igd2ViIGNvbnRlbnQsIGxlYXJuaW5nIHNlbWFudGljIHRhZ3MgZm9yIGVmZmVjdGl2ZWx5IG9yZ2FuaXppbmcgaW5mb3JtYXRpb24uIENTUyBwcmluY2lwbGVzIHdlcmUgZXhwbG9yZWQgbmV4dCwgXG4gICAgICAgICAgICAgICAgICAgICAgICBkZW1vbnN0cmF0aW5nIGhvdyBzdHlsZXMgY2FzY2FkZSBmcm9tIHBhcmVudCB0byBjaGlsZCBlbGVtZW50cywgd2hpY2ggYXJlIGNydWNpYWwgZm9yIGNvbnNpc3RlbnQgZGVzaWduIGFjcm9zcyBhIHdlYnBhZ2UuIFxuICAgICAgICAgICAgICAgICAgICAgICAgQSBzaWduaWZpY2FudCBwYXJ0IG9mIHRoZSB3b3Jrc2hvcCBpbnZvbHZlZCBoYW5kcy1vbiBjb2RpbmcgaW4gVmlzdWFsIFN0dWRpbyBDb2RlLCB3aGVyZSB3ZSByZXBsaWNhdGVkIGEgcHJlLWRlc2lnbmVkIHdlYnBhZ2UgdXNpbmcgdGhlIEhUTUwgYW5kIENTUyBcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlY2huaXF1ZXMgbGVhcm5lZC4gVGhpcyBleGVyY2lzZSBlcXVpcHBlZCB0aGUgYXR0ZW5kaW5nIGlHRU0gdGVhbXMgd2l0aCBwcmFjdGljYWwgc2tpbGxzIHRvIGNyZWF0ZSBhbmQgc3R5bGUgdGhlaXIgb3duIHByb2plY3Qgd2Vic2l0ZXMgYW5kIGVtcGhhc2l6ZWQgXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGUgaW1wb3J0YW5jZSBvZiBjb21wb25lbnQtYmFzZWQgZGVzaWduIGFuZCBlZmZlY3RpdmUgY29udGVudCBvcmdhbml6YXRpb24uIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBCeSB0aGUgZW5kIG9mIHRoZSB3b3Jrc2hvcCwgdGhlIGF0dGVuZGVlcyB3ZXJlIGluc3BpcmVkIHRvIHB1cnN1ZSBjcmVhdGluZyB0aGVpciBvd24gd2lraXMsIGxldmVyYWdpbmcgQUktYmFzZWQgdG9vbHMgbGlrZSBmb3IgaW5pdGlhbCBkZXNpZ25zIGFuZCBpbWFnZXJ5LiBcbiAgICAgICAgICAgICAgICAgICAgICAgIE92ZXJhbGwsIHdlIGxlZnQgd2l0aCBhIHNvbGlkIGZvdW5kYXRpb24gaW4gd2ViIGRldmVsb3BtZW50IGFuZCB3ZXJlIHByZXBhcmVkIHRvIGJ1aWxkIHByb2Zlc3Npb25hbCBhbmQgZnVuY3Rpb25hbCB3ZWJzaXRlcyBmb3IgdGhlaXIgaUdFTSBwcm9qZWN0cy4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW1QaWM+XG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVBpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvdHJhY2kuanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdIb3cgdG8gU3luQmlvJ1xuICAgICAgICAgICAgICAgIHRhZz0nV29ya3Nob3AgU2Vzc2lvbiBJLidcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tdGV4dC1wcmltYXJ5KSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJzeW53b3Jrc2hvcFwiXG4gICAgICAgICAgICAgICAgdm9ybmFtZT1cIlRyYWNpXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZT1cIkhhZGRvY2tcIlxuICAgICAgICAgICAgICAgIHRleHQ9XCJEZXNpZ24gZ2VuZXRpYyBjb25zdHJ1Y3RzIGFuZCByZS13cml0ZSB0aGUgZ2Vub21pYyBjb2RlLCBhbmQgcGxhbiBleHBlcmltZW50cyB1c2luZyBBSS4gTGVhcm4gaG93IHRvIGVmZmVjdGl2ZWx5IGJ1aWxkIGdlbmV0aWMgY2lyY3VpdCBzeXN0ZW1zIGZvciBpbXBsZW1lbnRhdGlvbiBpbiB5b3VyIGlHRU0gcHJvamVjdC5cIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJIb3cgdG8gU3ludGhldGljIEJpb2xvZ3k/IC0gSW50cm9kdWNpbmcgS2VybmVsIFNvZnR3YXJlLiBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3lud29ya3Nob3BcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDY+U2V0dGluZzwvaDY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBrZXJuZWwgd29ya3Nob3Agd2FzIGdpdmVuIGJ5IFRyYWNpIEhhZGRvY2ssIERpcmVjdG9yIG9mIENvbW11bml0eSBhdCA8YSBocmVmPVwiaHR0cHM6Ly93d3cuYXNpbW92LmNvbS9cIj5BU0lNT1YgQm9zdG9uPC9hPi4gU2hlIGludHJvZHVjZWQgdGhlIEtlcm5lbCBzb2Z0d2FyZSBhbmQgc2hvd2VkIHVzIGhvdyB0byBcbiAgICAgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudCBBSS1iYXNlZCB0b29scyBpbiBvdXIgc3ludGhldGljIGJpb2xvZ3kgcHJvamVjdC4gVGhlIHByb2dyYW0gY2FuIGJlIHVzZWQgdG8gZ3JhcGhpY2FsbHkgZGlzcGxheSBwbGFzbWlkcy4gQnkgdXBsb2FkaW5nIHBhcnRzIGluIGFuIFxuICAgICAgICAgICAgICAgICAgICAgICAgaUdFTS1yZWxhdGVkIGRhdGFiYXNlLCBzYWZldHkgY29uc2lkZXJhdGlvbnMgYW5kIHJlZ2lzdHJ5IGVudHJpZXMgY2FuIGJlIGNoZWNrZWQgYXV0b21hdGljYWxseS4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90cmFjeS1hdC1rZXJuZWwtc2VtaW5hci9rZXJuZWwtMS53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90cmFjeS1hdC1rZXJuZWwtc2VtaW5hci9rZXJuZWwtMi53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxiPlRyYWN5IGV4cGxhaW5zIHRoZSBcdTIwMUNtYXJzaG1hbGxvdyBtYWRuZXNzXHUyMDFEIHRvIHVzLiA8L2I+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDY+V2hhdCBkaWQgd2UgbGVhcm4/PC9oNj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlIGxlYXJuZWQgdGhlIGJhc2ljcyBvZiBrZXJuZWxzIGluIG9yZGVyIHRvIGRlc2lnbiBwbGFzbWlkcyBieSB1bmRlcnN0YW5kaW5nIGdlbmVyYWwgcGxhc21pZCBjb25zdHJ1Y3Rpb24gYW5kIHByb2JsZW0gc29sdmluZyB0aHJvdWdoIGRpZmZlcmVudCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9uaW5nIHN0cmF0ZWdpZXMuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZ1cnRoZXJtb3JlLCBLZXJuZWwgaGFzIGFuIEFJLWFzc2lzdGVkIHNlYXJjaCBmdW5jdGlvbiB0aGF0IGNhbiBiZSB1c2VkIGZvciBwbGFzbWlkIHJlcHJlc2VudGF0aW9uLCBlLmcuIHRvIGZpbmQgYSBzcGVjaWZpYyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9tb3RlciBiYXNlZCBvbiBjZXJ0YWluIHJlcXVpcmVtZW50cy4gVHJhY2kgc2hvd2VkIHVzIHByYWN0aWNhbCBleGVyY2lzZXMgZm9yIGZpcnN0aGFuZCBhcHBsaWNhdGlvbi4gRmlyc3QsIHdlIHdlcmUgYXNrZWQgdG8gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjcmVhdGUgYSBwbGFzbWlkIGZvbGxvd2VkIGJ5IGEgc2xpZ2h0bHkgdHJpY2tpZXIgdGFzazogV2Ugc2hvdWxkIGNsZWFuIHRoZSB3b3JsZCBvZiBtYWpvciBtYXJzaG1hbGxvdyBjb250YW1pbmF0aW9uIGJ5IGRldmVsb3BpbmcgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBwbGFzbWlkLiAgSW4gc21hbGwgZ3JvdXBzIHdlIGRpc2N1c3NlZCB3aGljaCBjb21wb25lbnRzIHRoZSBwbGFzbWlkIG5lZWRlZC4gVHJhY3kgZ2F2ZSB1cyBzb21lIGluZm9ybWF0aW9uIHdpdGggd2hpY2ggd2UgcXVpY2tseSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVudGlmaWVkIGNydWNpYWwgY29tcG9uZW50cyBvZiB0aGUgcGxhc21pZCBhbmQgdGhlbiBkZXNpZ25lZCBpdC4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5JbiB0aGUgZW5kLCBlYWNoIGdyb3VwIHByZXNlbnRlZCB0aGVpciBzb2x1dGlvbi4gVGhlIGZ1bm5pZXN0IGFuZCBtb3N0IGNyZWF0aXZlIGFwcHJvYWNoZXMgd2VyZSBjZWxlYnJhdGVkLiA8L3A+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVBpYz5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtVHdvUGljXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9qdWxpYW4tZ2lwLmpwZ1wiXG4gICAgICAgICAgICAgICAgdXJsMj1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvdmlrdG9yaWEuanBnXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lMj1cIldpa3RvcmlhXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiSnVsaWFuXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZT1cIkJvcmJlY2tcIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lMj1cIlBhbGthXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdIb3cgdG8gdXNlIEFJIGFzIGEgc2NpZW50aXN0J1xuICAgICAgICAgICAgICAgIHRhZz0nV29ya3Nob3AgU2Vzc2lvbiBJLidcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tdGV4dC1wcmltYXJ5KSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJhaXdvcmtzaG9wXCJcbiAgICAgICAgICAgICAgICBoZWFkaW5nPVwiTW9kZXJuIHByb2JsZW1zIHJlcXVpcmUgbW9kZXJuIHNvbHV0aW9uc1wiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkNvbXB1dGF0aW9uYWwgdGVjaG5vbG9naWVzIGFyZSBnZXR0aW5nIG1vcmUgaW4gdGhlIGZvY3VzIG9mIHNjaWVudGlmaWMgcmVzZWFyY2guIEludGVncmF0aW9uIG9mIGdlbmVyYXRpdmUgS0kgbGlrZSBHZW5BSSBieXBhc3MgbGltaXRhdGlvbnMgYW5kIG9mZmVycyBwb3RlbnRpYWwgcmlza3MgLSBsZWFybiBob3cgdG8gaW1wbGVtZW50IEFydGlmaWNpYWwgSW50ZWxsaWdlbmNlLlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiYWl3b3Jrc2hvcFwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyB3b3Jrc2hvcCBob3N0ZWQgYnkgeHluYS5iaW8gd2FzIGRlc2lnbmVkIHRvIGludHJvZHVjZSByZXNlYXJjaGVycyB0byB0aGUgaW50ZWdyYXRpb24gb2YgQUkgaW50byBzY2llbnRpZmljIHdvcmtmbG93cy4gV2lrdG9yaWEgUGFsYWsgYW5kIFxuICAgICAgICAgICAgICAgICAgICAgICAgSnVsaWFuIEJvcmJlY2ssIGJvdGggZXhwZXJ0cyBpbiBNb2xlY3VsYXIgQmlvbG9neSwgQmlvY2hlbWlzdHJ5LCBhbmQgQmlvaW5mb3JtYXRpY3MsIGxlZCB0aGUgd29ya3Nob3AsIGZvY3VzaW5nIG9uIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMgb2YgQUkgXG4gICAgICAgICAgICAgICAgICAgICAgICBpbiBiaW9zY2llbmNlcy4gVGhlIHNlc3Npb24gcHJvdmlkZWQgYXR0ZW5kZWVzIHdpdGggaGFuZHMtb24gZXhwZXJpZW5jZSBhbmQgYSBwbGF0Zm9ybSBmb3IgZXhwbG9yaW5nIGhvdyBBSSBjYW4gYWRkcmVzcyByZXNlYXJjaCBpbmVmZmljaWVuY2llcyBcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBvcGVuIG5ldyBvcHBvcnR1bml0aWVzIGZvciBpbm5vdmF0aW9uLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBUaGUgd29ya3Nob3Agd2FzIHN0cnVjdHVyZWQgYXJvdW5kIHR3byBtYWluIGNvbXBvbmVudHM6IHRoZW9yZXRpY2FsIGluc2lnaHRzIGFuZCBhIHByYWN0aWNhbCBncm91cCBleGVyY2lzZS4gSW4gdGhlIHRoZW9yeSBwb3J0aW9uLCB3ZSBnYWluZWQgYSBkZWVwZXIgXG4gICAgICAgICAgICAgICAgICAgICAgICB1bmRlcnN0YW5kaW5nIG9mIEFJIGFwcGxpY2F0aW9ucywgaW5jbHVkaW5nIG5ldXJvLXN5bWJvbGljIEFJIGFuZCBpdHMgcm9sZSBpbiBlbmhhbmNpbmcgcmVzZWFyY2ggbWV0aG9kb2xvZ2llcy4gVGhlIGluc3RydWN0b3JzIHNoYXJlZCB0aGVpciBleHBlcmllbmNlcyBcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldmVsb3BpbmcgQUkgdG9vbHMgbGlrZSB0aG9zZSBhdCB4eW5hLmJpbywgb2ZmZXJpbmcgcGFydGljaXBhbnRzIHZhbHVhYmxlIGtub3dsZWRnZSBvbiB0aGUgQUkgZGV2ZWxvcG1lbnQgcHJvY2Vzcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkR1cmluZyB0aGUgZ3JvdXAgd29yaywgd2UgYnJhaW5zdG9ybWVkIGlkZWFzIGZvciBBSSB0b29scyB0aGF0IGNvdWxkIHNpbXBsaWZ5IGxhYiB3b3JrIGZvciBzY2llbnRpc3RzLiBUaGlzIGFjdGl2aXR5IG5vdCBvbmx5IGZvc3RlcmVkIGNyZWF0aXZlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaW5raW5nIGJ1dCBhbHNvIGVuY291cmFnZWQgY29sbGFib3JhdGlvbiwgYXMgd2UgZGlzY3Vzc2VkIHBvdGVudGlhbCBBSSBzb2x1dGlvbnMgdGhhdCBjb3VsZCBzdHJlYW1saW5lIHRhc2tzIGxpa2UgZGF0YSBhbmFseXNpcyBhbmQgZXhwZXJpbWVudGFsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2lnbi4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCeSB0aGUgZW5kIG9mIHRoZSB3b3Jrc2hvcCwgcGFydGljaXBhbnRzIHdhbGtlZCBhd2F5IHdpdGggcHJhY3RpY2FsIGluc2lnaHRzIGFuZCBhY3Rpb25hYmxlIHNraWxscy4gV2UgZmVsdCBlcXVpcHBlZCB0byBzdGFydCBpbXBsZW1lbnRpbmcgQUkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc29sdXRpb25zIGluIG91ciBvd24gcmVzZWFyY2ggcHJvamVjdHMsIGlkZW50aWZ5aW5nIHNwZWNpZmljIGFyZWFzIHdoZXJlIEFJIGNvdWxkIGltcHJvdmUgZWZmaWNpZW5jeSBhbmQgcHJvZHVjdGl2aXR5IGluIHRoZSBsYWIuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVR3b1BpYz5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtUGljXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9rYXJsYS13YWduZXIuanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdTY2llbnRpZmljIFRhbGsgSUkuJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RhbGtzJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1saWdodGJsdWUpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInRhbGt0d29cIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJLYXJsYVwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJXYWduZXJcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJPcHRpbWl6YXRpb24gb2YgYSBES1Igb2YgYSBUZXJ0aWFyeSBBbGNvaG9sIHRocm91Z2ggUHJvdGVpbiBFbmdpbmVlcmluZ1wiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkthcmxhIFdhZ25lciBzaGFyZXMgZ3JvdW5kYnJlYWtpbmcgc3RyYXRlZ2llcyBpbiBvcHRpbWl6aW5nIGR5bmFtaWMga2luZXRpYyByZXNvbHV0aW9uIChES1IpIG9mIHRlcnRpYXJ5IGFsY29ob2xzIHVzaW5nIHByb3RlaW4gZW5naW5lZXJpbmcuIERpc2NvdmVyIGhvdyBlbnp5bWUgY2F0YWx5c2lzIGRyaXZlcyBzdXN0YWluYWJsZSBhZHZhbmNlbWVudHMgaW4gdGhlIHN5bnRoZXNpcyBvZiBjaGlyYWwgY29tcG91bmRzIGZvciBwaGFybWFjZXV0aWNhbHMgYW5kIG90aGVyIGluZHVzdHJpZXMuXCJcbiAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwidGFsa3R3b1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEthcmxhIFdhZ25lciwgYSBQaEQgcmVzZWFyY2hlciBhdCB0aGUgPGI+SU9DQiBvZiB0aGUgVW5pdmVyc2l0eSBvZiBCaWVsZWZlbGQ8L2I+IHdpdGggYSBiYWNrZ3JvdW5kIGluIG9yZ2FuaWMgY2hlbWlzdHJ5IGFuZCBiaW90ZWNobm9sb2d5LiBEdXJpbmcgdGhlIHdvcmtzaG9wLCBLYXJsYSBkaXNjdXNzZWQgaGVyIHJlc2VhcmNoIG9uIG9wdGltaXppbmcgdGhlIGR5bmFtaWMga2luZXRpYyByZXNvbHV0aW9uIChES1IpIG9mIHRlcnRpYXJ5IGFsY29ob2xzIHVzaW5nIHByb3RlaW4gZW5naW5lZXJpbmcuIEhlciB3b3JrIGZvY3VzZXMgb24gc3VzdGFpbmFibGUgY2hlbWlzdHJ5IHByYWN0aWNlcywgcGFydGljdWxhcmx5IGJ5IHVzaW5nIGVuenltZXMgaW4gYmlvY2F0YWx5c2lzLCBhbGlnbmluZyB3aXRoIHRoZSBwcmluY2lwbGVzIG9mIHN1c3RhaW5hYmxlIGNoZW1pc3RyeS4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZXIgcHJlc2VudGF0aW9uIGNlbnRlcmVkIGFyb3VuZCBoZXIgcmVzZWFyY2ggb24gdGhlIHN5bnRoZXNpcyBvZiBjaGlyYWwgdGVydGlhcnkgYWxjb2hvbHMsIHdoaWNoIGFyZSB2YWx1YWJsZSBpbiB0aGUgcHJvZHVjdGlvbiBvZiBwaGFybWFjZXV0aWNhbHMsIGZyYWdyYW5jZXMsIGFuZCBmbGF2b3VyaW5nIGFnZW50cy4gU2hlIGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgY2hpcmFsaXR5IGluIHBoYXJtYWNldXRpY2Fscywgbm90aW5nIGhvdyBkaWZmZXJlbnQgZW5hbnRpb21lcnMgb2YgYSBtb2xlY3VsZSBjYW4gaGF2ZSBkcmFzdGljYWxseSBkaWZmZXJlbnQgZWZmZWN0cywgc3VjaCBhcyB0aGUgY2FzZSBvZiBUaGFsaWRvbWlkZS4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVBpYz5cbiAgICAgICAgICAgICAgICA8Tm9CdXR0VGltZWxpbmVJdGVtXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIlxuICAgICAgICAgICAgICAgIGRhdGU9J1RlYW0gcHJvamVjdCBwcmVzZW50YXRpb25zJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RlYW0gcHJlc2VudGF0aW9ucydcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tYWNjZW50LXByaW1hcnknXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8aDU+VGVhbSBwcm9qZWN0IHByZXNlbnRhdGlvbnM8L2g1PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBiZmgtc2xpZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxTaW1wbGVTbGlkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90ZWFtLXByZXNlbnRhdGlvbnMvYW55Y29udi1jb20tZHNjZjc0MjgtZW5oYW5jZWQtbnIud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3RlYW0tcHJlc2VudGF0aW9ucy9hbnljb252LWNvbS1kc2NmNzQzMC1lbmhhbmNlZC1uci53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvdGVhbS1wcmVzZW50YXRpb25zL2FueWNvbnYtY29tLWRzY2Y3NDg1LWVuaGFuY2VkLW5yLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90ZWFtLXByZXNlbnRhdGlvbnMvYW55Y29udi1jb20tZHNjZjc0OTgtZW5oYW5jZWQtbnIud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3RlYW0tcHJlc2VudGF0aW9ucy9hbnljb252LWNvbS1kc2NmNzUwNi1lbmhhbmNlZC1uci53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvdGVhbS1wcmVzZW50YXRpb25zL2FueWNvbnYtY29tLWRzY2Y3NTI0LWVuaGFuY2VkLW5yLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90ZWFtLXByZXNlbnRhdGlvbnMvYW55Y29udi1jb20tZHNjZjc1MzItZW5oYW5jZWQtbnIud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3RlYW0tcHJlc2VudGF0aW9ucy9hbnljb252LWNvbS1kc2NmNzU0OC1lbmhhbmNlZC1uci53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L1NpbXBsZVNsaWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4gXG4gICAgICAgICAgICAgICAgPC9Ob0J1dHRUaW1lbGluZUl0ZW0+XG4gICAgICAgICAgICAgICAgPE5vQnV0dFRpbWVsaW5lSXRlbVxuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BsYWNlaG9sZGVycy9wbGFjZWhpbGRlcnBlcnNvbi5qcGVnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdQb3N0ZXIgRXhoaWJpdGlvbiBCb290aCdcbiAgICAgICAgICAgICAgICB0YWc9ICdUZWFtIHByZXNlbnRhdGlvbnMnXG4gICAgICAgICAgICAgICAgY29sb3I9J3ZhcigtLWFjY2VudC1wcmltYXJ5KSdcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxoNT5Qb3N0ZXIgRXhoaWJpdGlvbiBCb290aDwvaDU+XG4gICAgICAgICAgICAgICAgICAgPHA+IFZpc2l0IHRoZSA8U2Nyb2xsTGluayBsYWJlbD1cIlZpcnR1YWwgUG9zdGVyIEV4aGliaXRpb25cIiB0YXJnZXRJZD1cIkJGSCBFdXJvcGVhbiBNZWV0VXA0SFwiIC8+ITwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgYmZoLXNsaWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8U2ltcGxlU2xpZGVyPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZXhoaWJpdGlvbi9wb3N0ZXJleGhpYml0aW9uLXBsYXNtaWQtZmFjdG9yeS53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZXhoaWJpdGlvbi9wb3N0ZXJleGhpYml0aW9uLWZyYW5rZnVydC53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZXhoaWJpdGlvbi9wb3N0ZXJleGhpYml0aW9uLXp5bW8ud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1haXItdmlldy53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZXhoaWJpdGlvbi9wb3N0ZXJleGhpYml0aW9uLWJpb2dsaW1tZXIud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1laW5kaG92ZW4ud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1lbmRvc2Vuc2UtanVkZ2Uud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1pc2FiZWxsLWVya2wtcnQud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1qb2Vybi53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZXhoaWJpdGlvbi9wb3N0ZXJleGhpYml0aW9uLW1hcmJpcmcud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1vbmNvLWJpb3RpY2Eud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi1yZWZpYmEud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2V4aGliaXRpb24vcG9zdGVyZXhoaWJpdGlvbi10ZWRkeS53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIlwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvZXhoaWJpdGlvbi9wb3N0ZXJleGhpYml0aW9uLXp5bW8tZ3J1cHBlLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvU2ltcGxlU2xpZGVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPiBcbiAgICAgICAgICAgICAgICA8L05vQnV0dFRpbWVsaW5lSXRlbT5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtUGljXG4gICAgICAgICAgICAgICAgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9zdmFuamEtdmlua2UuanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdIb3cgdG8gd29yayBzYWZlJ1xuICAgICAgICAgICAgICAgIHRhZz0nV29ya3Nob3AgU2Vzc2lvbiBJSS4nXG4gICAgICAgICAgICAgICAgY29sb3I9J3ZhcigtLXRleHQtcHJpbWFyeSknXG4gICAgICAgICAgICAgICAgY3NzdGFnPVwic2FmZXdvcmtzaG9wXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiU3ZlbmphXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZT1cIlZpbmtlXCJcbiAgICAgICAgICAgICAgICBoZWFkaW5nPVwiQWJvdXQgRHVhbC11c2UgYW5kIEJpb3NhZmV0eVwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIk5vdmVsIHRlY2hub2xvZ2llcyBvcGVuZWQgcG9zc2liaWxpdGllcyBhbmQgcmlza3MuIExlYXJuIGhvdyB5b3UgaW1wbGVtZW50IFNhZmV0eSBhbmQgU2VjdXJpdHkgU3RyYXRlZ2llcyB3aXRoaW4geW91ciBwcm9qZWN0IGFuZCB0aGluayBtb3JlIHJlc3BvbnNpYmxlIGluIHRlcm1zIG9mIER1YWwgVXNlLlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2FmZXdvcmtzaG9wXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGJpb3NhZmV0eSB3b3Jrc2hvcCB3YXMgaGVsZCBieSBTdmVuamEgVmlua2UuIEFzIGEgcG9zdGRvY3RvcmFsIHJlc2VhcmNoZXIgc3BlY2lhbGl6aW5nIGluIHN5bnRoZXRpYyBiaW9sb2d5IGF0IHRoZSBDaHVyY2ggTGFiLCBIYXJ2YXJkIE1lZGljYWwgU2Nob29sLiBTdmVuamEgd29ya3Mgb24gdGhlIGlHRU0gU2FmZXR5IGFuZCBTZWN1cml0eSBDb21taXR0ZWUuIEFkZGl0aW9uYWxseSwgc2hlIHdhcyBwYXJ0IG9mIHRoZSBCaW9zYWZldHkgYW5kIFNlY3VyaXR5IEF3YXJkIFRlYW0gb2YgQmllbGVmZWxkIFVuaXZlcnNpdHkgaW4gMjAxNi4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZpcnN0IGFuZCBmb3JlbW9zdCwgc2hlIHN0YXJ0ZWQgdGhlIHdvcmtzaG9wIGJ5IG91dGxpbmluZyB0aGUga2V5IGNvbmNlcHRzIG9mIGJpb3NhZmV0eSBhbmQgYmlvc2VjdXJpdHksIGVtcGhhc2l6aW5nIGhvdyBpbXBvcnRhbnQgbGFib3JhdG9yeSBzYWZldHkgaXMuICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3Mtcy13b3Jrc2hvcC9iaW9zYWZldHktc2VtaW5hci1iZmgud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcy1zLXdvcmtzaG9wL3RlaWwtMi1iZmgtYmlvc2FmZXR5LndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5TaGUgYWxzbyBleHBsYWluZWQgd2hpY2ggc2FmZXR5IGFzcGVjdHMgd2Ugc2hvdWxkIGNvbnNpZGVyIGZvciBvdXIgcHJvamVjdDogIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+IDxiPkR1YWwgdXNlOjwvYj4gUmVmZXJzIHRvIHRlY2hub2xvZ3kgb3IgcmVzZWFyY2ggdGhhdCBjYW4gYmUgdXNlZCBmb3IgYm90aCBiZW5lZmljaWFsIGFuZCBoYXJtZnVsIHB1cnBvc2VzLiBGb3IgZXhhbXBsZSwgQUkgZGVzaWduZWQgZm9yIG1lZGljYWwgZGlhZ25vc2lzIGNvdWxkIGFsc28gYmUgbWlzdXNlZCBmb3IgaGFybWZ1bCBzdXJ2ZWlsbGFuY2UuIE1hbmFnaW5nIGR1YWwtdXNlIHJpc2tzIGludm9sdmVzIGNhcmVmdWwgY29uc2lkZXJhdGlvbiBvZiBib3RoIHRoZSBwb3NpdGl2ZSBhcHBsaWNhdGlvbnMgYW5kIHRoZSBwb3RlbnRpYWwgZm9yIG1pc3VzZS4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+IDxiPkJ1aWx0LUluIFNhZmV0eSBMZXZlbHM6PC9iPiAgICAgIFRoaXMgY29uY2VwdCBpbnZvbHZlcyBkZXNpZ25pbmcgc3lzdGVtcyB3aXRoIG11bHRpcGxlIGxheWVycyBvZiBzYWZldHkgdG8gcHJldmVudCBmYWlsdXJlIG9yIG1pbmltaXplIGhhcm0uIEluIHRlY2hub2xvZ3kgYW5kIGVuZ2luZWVyaW5nLCBidWlsdC1pbiBzYWZldHkgbGV2ZWxzIGVuc3VyZSB0aGF0IGV2ZW4gaWYgb25lIGxheWVyIGZhaWxzLCBvdGhlcnMgcmVtYWluIGludGFjdCB0byBtYWludGFpbiBzYWZlIG9wZXJhdGlvbi4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+ICA8Yj5TYWZlLWJ5LURlc2lnbjogPC9iPiAgU2FmZS1ieS1EZXNpZ24gZW1waGFzaXplcyBpbnRlZ3JhdGluZyBzYWZldHkgY29uc2lkZXJhdGlvbnMgaW50byB0aGUgZWFybGllc3Qgc3RhZ2VzIG9mIHByb2R1Y3Qgb3Igc3lzdGVtIGRldmVsb3BtZW50LiBCeSBhbnRpY2lwYXRpbmcgcmlza3MgYW5kIGhhemFyZHMgZnJvbSB0aGUgc3RhcnQsIHRoaXMgYXBwcm9hY2ggcHJvYWN0aXZlbHkgbWluaW1pemVzIGRhbmdlcnMgYmVmb3JlIHRoZXkgYmVjb21lIGlzc3VlcywgbGVhZGluZyB0byBzYWZlciBvdXRjb21lcy4gIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRmluYWxseSwgZWFjaCB0ZWFtIGdhdmUgYnJpZWYgcHJlc2VudGF0aW9ucyBvZiB0aGVpciBwcm9qZWN0cyBhbmQgZW5nYWdlZCBpbiBhIGdyb3VwIGRpc2N1c3Npb24gb24gcG90ZW50aWFsIHNlY3VyaXR5IHJpc2tzIGFuZCBnZW5lcmFsIHNlY3VyaXR5IGNvbnNpZGVyYXRpb25zLiBUb2dldGhlciwgd2UgYnJhaW5zdG9ybWVkIGFuZCBpZGVudGlmaWVkIHNwZWNpZmljIGFzcGVjdHMgb2YgZWFjaCBwcm9qZWN0IHRoYXQgY291bGQgcHJlc2VudCBwb3RlbnRpYWwgcmlza3MuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbSBTdmVuamFcdTIwMTlzIHNlbWluYXIsIHdlIGxlYXJuZWQgd2hpY2ggc2FmZXR5LXJlbGV2YW50IGFzcGVjdHMgYXJlIHBhcnRpY3VsYXJseSBpbXBvcnRhbnQsIGFzIHdlbGwgYXMgdGhlIGltcG9ydGFuY2Ugb2YgZXhhbWluaW5nIGEgcHJvamVjdCBmcm9tIGRpZmZlcmVudCBwZXJzcGVjdGl2ZXMgdG8gaWRlbnRpZnkgYW5kIG1pbmltaXplIHBvdGVudGlhbCByaXNrcyByZWxhdGVkIHRvIGxhYiB3b3JrIGFuZCB0aGUgZW52aXJvbm1lbnQuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW1QaWM+XG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVR3b1BpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvanVsaWEtai1sYWlub3dza2kuanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdIb3cgdG8gQ29tbXVuaWNhdGUgU2NpZW5jZSdcbiAgICAgICAgICAgICAgICB1cmwyPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zcGVha2Vycy9tYWxtZW5kaWVyLnBuZ1wiXG4gICAgICAgICAgICAgICAgdGFnPSdXb3Jrc2hvcCBTZXNzaW9uIElJLidcbiAgICAgICAgICAgICAgICB2b3JuYW1lMj1cIkNhcm9saW5cIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJKdWxpYVwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJLYWxpbm93c2tpXCJcbiAgICAgICAgICAgICAgICBuYWNobmFtZTI9XCJNYWxtZW5kaWVyXCJcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tdGV4dC1wcmltYXJ5KSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJjb21td29ya3Nob3BcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJFZmZlY3RpdmUgU2NpZW5jZSBDb21tdW5pY2F0aW9uOiBTdHJhdGVnaWVzIGZvciBTdWNjZXNzXCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiRXhwZXJpZW5jZSBob3cgc2NpZW5jZSBjb21tdW5pY2F0aW9uIGNvdWxkIGJlLiBMZWFybiBjcmVhdGl2ZSBhbmQgZnVubnkgd2F5cyB0byBjb21tdW5pY2F0ZSBkaWZmaWN1bHQgdG9waWNzLiBUaGluayBvdXRzaWRlIHRoZSBib3ggYW5kIHRyYWluIHlvdXIgc2tpbGxzLiBcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGJyPjwvYnI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJjb21td29ya3Nob3BcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnI+PC9icj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNj5TZXR0aW5nPC9oNj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyB3b3Jrc2hvcCB3YXMgb2ZmZXJlZCB0byB1cyBieSBTdHVkU2NpQ29tIGFzIHBhcnQgb2YgdGhlIEJGSCBNZWV0LXVwIHByb2dyYW0gYXQgQmllbGVmZWxkIFVuaXZlcnNpdHkuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3LnN0dWQtc2NpY29tLmRlL1wiPiBTdHVkU2NpQ29tPC9hPiBpcyBhbiBpbml0aWF0aXZlIGZvciBzY2llbmNlIGNvbW11bmljYXRpb24gYnkgc3R1ZGVudHMgZm9yIHN0dWRlbnRzIGluIEdlcm1hbnkuIFxuICAgICAgICAgICAgICAgICAgICAgICAgVGhleSBoZWxkIHRoaXMgd29ya3Nob3AgZm9yIHVzIGZvciB0aGUgdmVyeSBcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0IHRpbWUgYW5kIHdlIGFyZSBnbGFkIHRoYXQgd2Ugd2VyZSBhYmxlIHRvIG9mZmVyIHRoZSB1cHJpc2luZyBTdHVkU2NpQ29tIHRlYW0gYSBwbGF0Zm9ybSB0byB0cnkgb3V0IHRoaXMga2luZCBvZiBvdXRyZWFjaC4gSW4gYWRkaXRpb24sIFxuICAgICAgICAgICAgICAgICAgICAgICAgd2Ugd2VyZSBhYmxlIHRvIGdhaW4ga25vd2xlZGdlIGFib3V0IHByb3BlciBzY2llbmNlIGNvbW11bmljYXRpb24gXHUyMDEzIGEgY2xlYXIgd2luLXdpbiBzaXR1YXRpb24gZm9yIGFsbCBvZiB1cyFcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgU2NpZW5jZSBjb21tdW5pY2F0aW9uIGlzIGRlZmluZWQgYXMgdGhlIHByYWN0aWNlIG9mIGluZm9ybWluZywgZWR1Y2F0aW5nLCBhbmQgcmFpc2luZyBhd2FyZW5lc3MgYWJvdXQgc2NpZW5jZS1yZWxhdGVkIHRvcGljcyBhbW9uZyB0aGUgZ2VuZXJhbCBwdWJsaWMgXG4gICAgICAgICAgICAgICAgICAgICAgICBvciBzcGVjaWZpYyBhdWRpZW5jZXMuIEl0IGludm9sdmVzIHZhcmlvdXMgbWV0aG9kcyBzdWNoIGFzIHdyaXRpbmcgYXJ0aWNsZXMsIGdpdmluZyBwcmVzZW50YXRpb25zLCB1c2luZyBzb2NpYWwgbWVkaWEsIGFuZCBlbmdhZ2luZyBpbiBwdWJsaWMgZGlzY3Vzc2lvbnMgXG4gICAgICAgICAgICAgICAgICAgICAgICB0byBtYWtlIHNjaWVudGlmaWMga25vd2xlZGdlIGFjY2Vzc2libGUgYW5kIHVuZGVyc3RhbmRhYmxlPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxXCIvPi4gXG4gICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNj5XaGF0IGRpZCB3ZSBsZWFybj88L2g2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBKdWxpYSBLYWxpbm93c2tpLCBQaEQgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHkgYW5kIEZvcmVpZ24gTWluaXN0ZXIgb2YgU3R1ZFNjaUNvbSwgdG9nZXRoZXIgd2l0aCBDYXJvbGluIE1hbG1lbmRpZXIsIFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWVyIHBoeXNpY3Mgc3R1ZGVudCBhbmQgbm93IG9yZ2FuaXplciBpbiB0aGUgU3R1ZFNjaUNvbSB0ZWFtLCBpbnRyb2R1Y2VkIHVzIHRvIHRoZSB0aGVvcmllcyBhbmQgIHByYWN0aWNlIFxuICAgICAgICAgICAgICAgICAgICAgICAgb2YgZGlmZmVyZW50IHR5cGVzIG9mIHNjaWVuY2UgY29tbXVuaWNhdGlvbiBhbmQgaG93IHRvIGRldmVsb3AgYSBjb21tdW5pY2F0aW9uIHN0cmF0ZWd5LiBcbiAgICAgICAgICAgICAgICAgICAgICAgIEluIGRldGFpbCwgd2Ugd2VyZSB0YXVnaHQgdG8gYXNrIG91cnNlbHZlcyBzZXZlcmFsIHF1ZXN0aW9ucyB0byBkZWZpbmUgb3VyIHRvcGljLCB0aGUgbWVkaXVtIG9mIFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tbXVuaWNhdGlvbiwgYXMgd2VsbCBhcyB0aGUgY2hhcmFjdGVyaXphdGlvbiBvZiBvdXIgdGFyZ2V0IGdyb3VwIGFuZCB0aGUgcGxhbm5lZCBhY2hpZXZlbWVudCB3aXRoIG91ciBcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjaWVuY2UgY29tbXVuaWNhdGlvbi4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9vdGhlci92b3J0cmFnLXNjaWNvbS1iZmgtc2NyZWVuc2hvdC5qcGdcIj48L2ltZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBrZXkgbWVzc2FnZSBmb3IgdXMgd2FzIHRvIHBsYW4gdGhlIHNjaWVuY2UgY29tbXVuaWNhdGlvbiBiZWZvcmUgd2UgZGl2ZSBpbiBhbmQgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldCBhdWRpZW5jZSBnZXRzIHRoZSBtZXNzYWdlIHdlIHdhbnQgdG8gc2VuZC4gIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNj5JbXBsZW1lbnRhdGlvbjwvaDY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFmdGVyd2FyZHMsIHRoZSBhdHRlbmRpbmcgaUdFTSB0ZWFtcyB0YWxrZWQgYWJvdXQgdGhlaXIgc2NpZW5jZSBjb21tdW5pY2F0aW9uIHBsYW5zIGFuZCBob3cgdGhleSBjb3VsZCBpbXByb3ZlIHRoZW0gXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2luZyB0aGUgc2tpbGxzIGxlYXJuZWQgaW4gdGhpcyB3b3Jrc2hvcC4gT3VyIHRlYW0gcmV2aXNlZCB0aGVpciBwbGFucyBmb3IgZXhwbGFpbmluZyBnZW5lIGVkaXRpbmcgdG8gXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbiBhbmQgc3RhcnRlZCBkZXZlbG9waW5nIGV4cGVyaW1lbnRzIHRvIGhlbHAgdGhlbSBiZXR0ZXIgdW5kZXJzdGFuZCBjeXN0aWMgZmlicm9zaXMsIHdoaWNoIHdlIFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJlc2VudGVkIGxhdGVyIG9udG8gdGhlIHB1YmxpYyBhdCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKFwidGV1dG9ydWZ0XCIsIFwiaHVtYW4tcHJhY3RpY2VzXCIpfT5cdTIwMUNEZXIgVGV1dG8gcnVmdCFcdTIwMUQ8L2E+LCBhbiBldmVudCBpbiBCaWVsZWZlbGQgdG8gY29ubmVjdCB0aGUgbG9jYWwgXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3B1bGF0aW9uIHdpdGggcmVnaW9uYWwgY29tcGFuaWVzIGFuZCBpbnN0aXR1dGVzIHRvIGluZm9ybSB0aGVtIGFib3V0IHRoZWlyIHdvcmsgLSBpbmNsdWRpbmcgb3VyIGlHRU0gdGVhbSEgXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDY+UmVmZXJlbmNlczwvaDY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8b2w+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qPCEtLSBDaXRhdGlvbiBudW0gMS0tPiAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRmlzY2hob2ZmLCBCLjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7VGhlIHNjaWVuY2VzIG9mIHNjaWVuY2UgY29tbXVuaWNhdGlvbi4gPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IFByb2NlZWRpbmdzIG9mIHRoZSBOYXRpb25hbCBBY2FkZW15IG9mIFNjaWVuY2VzPC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAxMTA8L2I+LCZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gMTQwMzM8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj4xNDAzOTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMTNcIj4yMDEzPC90aW1lPikuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTA3My9wbmFzLjEyMTMyNzMxMTBcIj4gZG9pOiAxMC4xMDczL3BuYXMuMTIxMzI3MzExMDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9vbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICBcbiAgICAgICAgICAgICAgICA8L1RpbWVsaW5lSXRlbVR3b1BpYz5cbiAgICAgICAgICAgICAgICA8VGltZWxpbmVJdGVtUGljXG4gICAgICAgICAgICAgICAgZGF0ZT0nSG93IHRvIFBpdGNoIFlvdXIgUHJvamVjdCdcbiAgICAgICAgICAgICAgICB0YWc9J1dvcmtzaG9wIFNlc3Npb24gSUkuJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS10ZXh0LXByaW1hcnkpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInBpdGNoXCJcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL21hZGVsZWluZS1tdXNzZ251Zy5qcGdcIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJNYWRlbGVpbmVcIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwiTXVzc2dudWdcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkltYWdlIHlvdSBoYXZlIG9ubHkgdGhyZWUgbWludXRlcyB3aXRoIHlvdXIgYm9zcyB0byBzZWxsIHlvdXIgaWRlYS4uLiBcbiAgICAgICAgICAgICAgICBBZnRlciBvdXIgd29ya3Nob3AgeW91IGxlYXJuZWQgdGVjaG5pcXVlcyB0byBzZWxsIGV2ZXJ5IHBlbiBhbmQgZXZlbiBtb3JlIHRvIGV2ZXJ5IGJvc3Mgb24gdGhlIHBsYW5ldC4gICAgICAgXG4gICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgID4gXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cInBpdGNoXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICA8cD5UaGUgXCJQZXJmZWN0IFByb2plY3QgUGl0Y2hcIiB3b3Jrc2hvcCB3YXMgcGFydCBvZiB0aGUgc2Vjb25kIHBoYXNlIG9mIHdvcmtzaG9wcyBkdXJpbmcgdGhlIGluYXVndXJhbCBCRkggbWVldC11cCwgaG9zdGVkIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LiBJdCB3YXMgbGVkIGJ5IE1hZGVsZWluZSBNdXNzZ251ZywgYSBzdGFydHVwIGNvbnN1bHRhbnQgYXQgdGhlIEdvZXRoZSBVbml2ZXJzaXR5J3MgZW50cmVwcmVuZXVyc2hpcCBjZW50ZXIgaW4gRnJhbmtmdXJ0LCBHZXJtYW55LiBNYWRlbGVpbmUgc3R1ZGllZCBJbnRlcm5hdGlvbmFsIE1hbmFnZW1lbnQgYW5kIFRvdXJpc20gYW5kIGhhcyBleHRlbnNpdmUgZXhwZXJpZW5jZSwgaW5jbHVkaW5nIHNldmVyYWwgeWVhcnMgYXQgdGhlIHNjYWxlLXVwIGNvbXBhbnkgTGltZWhvbWUuIEN1cnJlbnRseSwgc2hlIGFsc28gd29ya3MgYXMgYSBmcmVlbGFuY2UgY29uc3VsdGFudCBzcGVjaWFsaXppbmcgaW4gb25saW5lIG1hcmtldGluZywgc29jaWFsIG1lZGlhLCBhbmQgc3VwcG9ydGluZyBpbmRpdmlkdWFscyBpbiBiZWNvbWluZyBzZWxmLWVtcGxveWVkLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlRoZSB3b3Jrc2hvcCBmb2N1c2VkIG9uIHRoZSBlc3NlbnRpYWwgc2tpbGxzIGFuZCBzdHJhdGVnaWVzIGZvciBkZWxpdmVyaW5nIGFuIGVmZmVjdGl2ZSBwcm9qZWN0IHBpdGNoLCBjb3ZlcmluZyB0aGUgZm9sbG93aW5nIGtleSBhcmVhczogPC9wPlxuICAgICAgICAgICAgICAgICAgICA8b2w+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+ICAgIENyYWZ0aW5nIGNvbXBlbGxpbmcgbmFycmF0aXZlcyB0byBwcmVzZW50IGNvbXBsZXggaWRlYXMgY2xlYXJseSBhbmQgZW5nYWdpbmdseSwgZW5zdXJpbmcgdGhleSByZW1haW4gbWVtb3JhYmxlIGZvciB0aGUgYXVkaWVuY2UuIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+ICAgIFN0cnVjdHVyaW5nIGFuZCBvcmdhbml6aW5nIHBpdGNoZXMgdG8gaGlnaGxpZ2h0IGNyaXRpY2FsIGVsZW1lbnRzIHN1Y2ggYXMgaW5ub3ZhdGlvbiwgbWFya2V0IHBvdGVudGlhbCwgYW5kIHRlYW0gc3RyZW5ndGhzLCB0aHVzIGNvbW11bmljYXRpbmcgeW91ciBtZXNzYWdlIGVmZmVjdGl2ZWx5LiA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPiAgICBUYWlsb3JpbmcgcGl0Y2hlcyB0byByZXNvbmF0ZSB3aXRoIGRpZmZlcmVudCB0YXJnZXQgYXVkaWVuY2VzLCBpbmNsdWRpbmcgaW52ZXN0b3JzIGFuZCBjb2xsYWJvcmF0b3JzLCBtYWtpbmcgdGhlbSBhZGFwdGFibGUgYW5kIGltcGFjdGZ1bC4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4gICAgQnVpbGRpbmcgY29uZmlkZW5jZSBhbmQgbWFzdGVyaW5nIHBlcnN1YXNpdmUgdGVjaG5pcXVlcyB0byBjb252aW5jaW5nbHkgY29tbXVuaWNhdGUgdGhlIHZhbHVlIG9mIHlvdXIgcHJvamVjdC4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4gICAgVXRpbGl6aW5nIGNyZWF0aXZlIGFuZCB2aXN1YWxseSBhcHBlYWxpbmcgcGl0Y2ggbWF0ZXJpYWxzLCB3aXRoIGEgZm9jdXMgb24gaW50ZWdyYXRpbmcgdmlzdWFscyBhbmQgZGF0YSBlZmZlY3RpdmVseSB0byBlbmhhbmNlIHRoZSBwcmVzZW50YXRpb24uIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDwvb2w+XG4gICAgICAgICAgICAgICAgICAgIDxwPk1hZGVsZWluZSBNdXNzZ251ZyBkZWxpdmVyZWQgdGhlc2UgaW5zaWdodHMgdGhyb3VnaCBhIGJhbGFuY2VkIG1peCBvZiBwcmVzZW50YXRpb24gYW5kIGludGVyYWN0aXZlIGRpc2N1c3Npb25zLiBTaGUgcHJvdmlkZWQgcmVhbC13b3JsZCBleGFtcGxlcyBhbmQgZW5nYWdlZCB0aGUgYXVkaWVuY2UgYnkgcHJvbXB0aW5nIHRoZW0gdG8gcmVmbGVjdCBvbiBzcGVjaWZpYyB0ZWNobmlxdWVzLCBpbWFnZXMsIGFuZCBzdHlsaXN0aWMgY2hvaWNlcy4gRm9yIGluc3RhbmNlLCBzaGUgZGVtb25zdHJhdGVkIHRoZSBzdHJhdGVnaWMgdXNlIG9mIG51bWJlcnMgYW5kIGljb25zIG9uIHNsaWRlcywgZGlzY3Vzc2luZyBob3cgdGhlaXIgc2l6ZSBhbmQgcGxhY2VtZW50IGNhbiBpbmZsdWVuY2UgdGhlIHZpZXdlclx1MjAxOXMgcGVyY2VwdGlvbi4gQnkgc2hvd2luZyBkaWZmZXJlbnQgc2xpZGUgY29uc3RlbGxhdGlvbnMsIHNoZSBlbmNvdXJhZ2VkIHRoZSBhdWRpZW5jZSB0byBkaXNjdXNzIHRoZWlyIHZpc3VhbCBpbXBhY3QuIFRoZSB3b3Jrc2hvcCBjb25jbHVkZWQgd2l0aCBhIGZvY3VzIG9uIHRoZSBpbXBvcnRhbmNlIG9mIG5ldHdvcmtpbmcuIEFjY29yZGluZyB0byBNdXNzZ251Zywga25vd2luZyB3aG9tIHRvIGFwcHJvYWNoIGFuZCBob3cgdG8gZW5nYWdlIHdpdGggdGhlbSBpcyBrZXlcdTIwMTR0aGlzLCBzaGUgZW1waGFzaXplZCwgaXMgdGhlIGVzc2VuY2Ugb2Ygc3VjY2Vzc2Z1bCBwaXRjaGluZy4gPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5XZSBpbW1lZGlhdGVseSBwdXQgd2hhdCB3ZSBsZWFybmVkIGludG8gcHJhY3RpY2UgaW4gdmFyaW91cyBhcmVhcywgc3VjaCBhczogPC9wPlxuICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+TWVldC11cCBNXHUwMEZDbnN0ZXIgUHJlc2VudGF0aW9uOjwvYj4gICAgV2UgYWRvcHRlZCBhIGZyZXNoLCBpbm5vdmF0aXZlIGFwcHJvYWNoIHdoZW4gcHJlcGFyaW5nIGZvciB0aGUgTVx1MDBGQ25zdGVyIG1lZXQtdXAsIGludGVncmF0aW5nIG1hbnkgb2YgdGhlIHRlY2huaXF1ZXMgZnJvbSB0aGUgd29ya3Nob3AuIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+Q29ycmVzcG9uZGVuY2Ugd2l0aCBQb3RlbnRpYWwgUGFydG5lcnMgYW5kIFNwb25zb3JzOiA8L2I+ICAgIE91ciBjb21tdW5pY2F0aW9uIGJlY2FtZSBtb3JlIHRhcmdldGVkIGFuZCBlZmZlY3RpdmUsIGFsbG93aW5nIHVzIHRvIGJ1aWxkIHN0cm9uZ2VyIGNvbm5lY3Rpb25zIHdpdGggcG90ZW50aWFsIHBhcnRuZXJzIGFuZCBzcG9uc29ycy4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5JbXByb3ZlZCBTdGVlcmluZyBDb21taXR0ZWUgQ29tbXVuaWNhdGlvbjo8L2I+ICAgIFdlIGFsc28gc2F3IGEgbm90aWNlYWJsZSBpbXByb3ZlbWVudCBpbiBvdXIgaW50ZXJhY3Rpb25zIHdpdGggdGhlIHN0ZWVyaW5nIGNvbW1pdHRlZSwgdXNpbmcgY2xlYXJlciBhbmQgbW9yZSBwZXJzdWFzaXZlIG1lc3NhZ2luZy4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgPHA+SW4gZXNzZW5jZSwgdGhlIHdvcmtzaG9wIG5vdCBvbmx5IGVuaGFuY2VkIG91ciBwaXRjaGluZyBza2lsbHMgYnV0IGFsc28gc2lnbmlmaWNhbnRseSBpbXByb3ZlZCBvdXIgb3ZlcmFsbCBjb21tdW5pY2F0aW9uIHN0cmF0ZWdpZXMsIGVuYWJsaW5nIHVzIHRvIHByZXNlbnQgb3VyIGlkZWFzIHdpdGggZ3JlYXRlciBjb25maWRlbmNlIGFuZCBpbXBhY3QuIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgICAgIDwvVGltZWxpbmVJdGVtUGljPlxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL21pY2hhZWwuanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdIb3cgdG8gTXVsdGkgTWVkaWEnXG4gICAgICAgICAgICAgICAgdGFnPSdXb3Jrc2hvcCBTZXNzaW9uIElJLidcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tdGV4dC1wcmltYXJ5KSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJtdWx0aW1lZGlhXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiTWljaGFlbFwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJHclx1MDBGNm5pbmdcIlxuICAgICAgICAgICAgICAgIGhlYWRpbmc9XCJNYXN0ZXJpbmcgRmlsbW1ha2luZzogRnJvbSBCYXNpY3MgdG8gaUdFTSBWaWRlbyBQcm9kdWN0aW9uXCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiTGVhcm4gdGhlIGJhc2ljcyBvZiBmaWxtbWFraW5nIGFuZCB2aWRlbyBwcm9kdWN0aW9uLiBcbiAgICAgICAgICAgICAgICBMb29rIGJlaGluZCB0aGUgc2NlbmVzIGFuZCBnZXQgaW4gdG91Y2ggd2l0aCBwcm9mZXNzaW9uYWxzLiBcbiAgICAgICAgICAgICAgICBUcmFpbiB5b3VyIHNraWxscyB0byBkaXJlY3QgaUdFTS1yZWxhdGVkIHZpZGVvcyBhbmQgbW92aWVzLlwiXG4gICAgICAgICAgICAgICAgPiBcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwibXVsdGltZWRpYVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk1pY2hhZWwgR3JcdTAwRjZuaW5nLCB3aG8gaGFzIG1hbnkgeWVhcnMgb2YgZXhwZXJpZW5jZSBpbiBhIHJhbmdlIG9mIG11bHRpbWVkaWEgZGlzY2lwbGluZXMsIGluY2x1ZGluZyAzRCBhbmltYXRpb24sIHZpZGVvIGFuZCBjaW5lbWF0b2dyYXBoeSwgZmlsbSBhbmQgYXVkaW8gcHJvZHVjdGlvbiwgcG9zdC1wcm9kdWN0aW9uLCB2b2ljZW92ZXIgYW5kIG1lZGlhIGRlc2lnbiwgaGVsZCB0aGUgcHJhY3RpY2FsIHdvcmtzaG9wIG9uIG11bHRpbWVkaWEuIEZpcnN0bHksIHRoZSBzaWduaWZpY2FuY2Ugb2YgdGhlIFByb21vdGlvbiBWaWRlbyB3YXMgZWx1Y2lkYXRlZCwgYW5kIHRoZSBwYXJhbW91bnQgaW1wb3J0YW5jZSBvZiB0aGUgZ2VuZXJhbCBleHRlcm5hbCByZXByZXNlbnRhdGlvbiB3YXMgY2xhcmlmaWVkLiBRdWVzdGlvbnMgYW5kIHRyaWNrcyBwcm92aWRlZCB0aGUgcGFydGljaXBhbnRzIGEgYmFzaXMgZm9yIGZpbmRpbmcgaWRlYXMgZm9yIHRoZWlyIHZpZGVvcywgd2hpY2ggd2VyZSBjb21iaW5lZCB3aXRoIHN0b3J5IGFuZCBtb29kIGJvYXJkcyBhbmQgdGhlIHJlYXNvbmFibGUgdXNlIG9mIEFJLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3dvcmtzaG9wLW11bHRpbWVkaWEtZXhwb3N1cmUtdHJpYW5nbGUud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+QSB3aWRlLXJhbmdpbmcgb3ZlcnZpZXcgb2YgdmFyaW91cyBjYW1lcmEgc2hvdHMsIGxpZ2h0aW5nIHRlY2huaXF1ZXMgYW5kIHRyYW5zaXRpb25zIHdhcyBwcmVzZW50ZWQgdG8gdGhlIHBhcnRpY2lwYW50cywgZXF1aXBwaW5nIHRoZW0gd2l0aCBhIHVzZWZ1bCB0b29sa2l0IGZvciB0aGUgcHJvZHVjdGlvbiBvZiBjaW5lbWF0b2dyYXBoaWMgdmlkZW9zLiBJbGx1c3RyYXRpdmUgZ3JhcGhpY3MsIHN1Y2ggYXMgdGhlIEV4cG9zdXJlIFRyaWFuZ2xlLCBoZWxwZWQgdGhlbSB0byBleHBlcmltZW50IHdpdGggcHJvZmVzc2lvbmFsIGNhbWVyYSBzZXR0aW5ncyBvbiB0aGVpciBtb2JpbGUgcGhvbmVzLiBUaHJvdWdoIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB2b2ljZSB3YXJtLXVwIGV4ZXJjaXNlcywgdGhlIHdvcmtzaG9wIHBhcnRpY2lwYW50cyB3ZXJlIGFibGUgdG8gZ2FpbiBpbnNpZ2h0cyBpbnRvIHRoZSBwcmVwYXJhdGlvbiBvZiB2b2ljZS1vdmVycy4gQW4gaW50cm9kdWN0aW9uIHRvIHZhcmlvdXMgbWljcm9waG9uZXMgYW5kIGF1ZGlvIGVkaXRpbmcgc29mdHdhcmUgZW5hYmxlZCB0aGVtIHRvIGxlYXJuIGhvdyB2b2ljZSByZWNvcmRpbmcgaXMgY29udmVydGVkIHRvIHN0dWRpbyBxdWFsaXR5LjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBwYXJ0aWNpcGFudHMgd2VyZSBhYmxlIHRvIGdhaW4gdmFsdWFibGUgcHJhY3RpY2FsIGluc2lnaHRzIGludG8gdGhlIHdvcmxkIG9mIG11bHRpbWVkaWEgYW5kIHRodXMgcHJlcGFyZSB0aGVtc2VsdmVzIHRvIHByb2R1Y2UgYnJlYXRodGFraW5nIHZpZGVvcy4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvd29ya3Nob3AtbXVsdGltZWRpYTIud2VicFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgICAgIDwvVGltZWxpbmVJdGVtUGljPlxuICAgICAgICAgICAgICAgIDxQYW5lbFRpbWVsaW5lSXRlbT48L1BhbmVsVGltZWxpbmVJdGVtPlxuIFxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL21pZGRlbmRvcmYuanBlZ1wiXG4gICAgICAgICAgICAgICAgZGF0ZT0naUdFTWVyIFRlZCBUYWxrcydcbiAgICAgICAgICAgICAgICB0YWc9ICdUYWxrcycgXG4gICAgICAgICAgICAgICAgY29sb3I9J3ZhcigtLWxpZ2h0Ymx1ZSknXG4gICAgICAgICAgICAgICAgaGVhZGluZz1cIlNlY3JldHMgdG8gYXdhcmQtd2lubmluZyBiaW9pbmZvcm1hdGljcyB0b29sc1wiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHIsIHNlZCBkaWFtIG5vbnVteSBlaXJtb2QgdGVtcG9yIGludmlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0IGFjY3VzYW0gZXRcIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJMYXNzZVwiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJNaWRkZW5kb3JmXCJcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJ0ZWR0YWxrMVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwidGVkdGFsazFcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5MYXNzZVx1MjAxOXMgVGVkIHRhbGsgd2FzIGFsbCBhYm91dCBob3cgdG8gY3JlYXRlIGdvb2QgYmlvaW5mb3JtYXRpY3Mgc29mdHdhcmUuIEhlIGhpbXNlbGYgd2FzIHBhcnQgb2YgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRyeSBsYWIgaW4gaUdFTSBNXHUwMEZDbnN0ZXJcdTIwMTlzIFRlYW0gdGhhdCB3b24gdGhlIGJlc3Qgc29mdHdhcmUgc3BlY2lhbCBwcml6ZSBpbiAyMDIyLiBUaGUgdG9vbCB0aGV5IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQgYWxsb3dlZCB1c2VycyB0byBnZW5lcmF0ZSBrbm9ja291dCBjYW5kaWRhdGVzIGZvciBhbiBvcmdhbmlzbSBvZiB0aGVpciBjaG9pY2UgdGhhdCB3b3VsZCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWFkIHRvIHJlZGlyZWN0aW9uIG9mIG1ldGFib2xpYyBmbHV4IHRvIGEgcmVhY3Rpb24gY2hvc2VuIGJ5IHRoZSB1c2VyLiBXZSBsZWFybmVkIHRoYXQgdGhlIG1vc3QgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1wb3J0YW50IGF0dHJpYnV0ZXMgZm9yIGEgc3VjY2Vzc2Z1bCBiaW9pbmZvcm1hdGljcyBzb2Z0d2FyZSBhcmU6IDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+VXNlZnVsbmVzcyA8L2I+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+QWNjZXNzaWJpbGl0eTwvYj48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5CdWlsZCB1cG9uIGV4aXN0aW5nIHN0YW5kYXJkcyAgPC9iPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VG8gZW5zdXJlIHVzZWZ1bG5lc3MsIHRoZSBzb2Z0d2FyZSBzaG91bGQgYmUgZ2VuZXJhbGl6ZWQgYW5kIG5vdCBvbmx5IHVzYWJsZSBpbiB0aGUgY29udGV4dCBvZiBvbmVcdTIwMTlzIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG93biBwcm9qZWN0LiBBbHNvLCBhbGwgc3RlcHMgdGhhdCBjYW4gYmUgYXV0b21hdGVkIHNob3VsZCBiZSBhdXRvbWF0ZWQuIEFjY2Vzc2liaWxpdHksIExhc3NlIHNhaWQsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVzIGZvciB0aGUgc29mdHdhcmUgdG8gYmUgZWFzeSB0byBpbnN0YWxsLCBlYXN5IHRvIHVzZSBhbmQgd2VsbCBkb2N1bWVudGVkLiAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+QXMgYSBmdW5ueSwgYnV0IGFsc28gdmVyeSBmaXR0aW5nIGFuZWNkb3RlLCBMYXNzZSB0b2xkIHVzIGFib3V0IHRoZSBIVSB0ZXN0LiBGb3IgdGVzdGluZyB0aGVpciBvd24gdG9vbCBmb3IgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eSwgaGUgZ2F2ZSBhIGJpb2luZm9ybWF0aWNhbGx5IHVuZXhwZXJpZW5jZWQsIDxiPmg8L2I+dW5nb3ZlciA8Yj51PC9iPm5kZXJncmFkdWF0ZSBzdHVkZW50IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGhpbmcgYnV0IHRoZSBzb2Z0d2FyZSB3aXRoIHRoZSBwcm92aWRlZCBkb2N1bWVudGF0aW9uLiBJZiB0aGUgc3R1ZGVudCBjYW4gdXNlIHRoZSB0b29sIGluIGEgcmVhc29uYWJsZSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbW91bnQgdGltZSwgdGhhdCB3b3VsZCBtYWtlIGl0IGFjY2Vzc2libGUgZW5vdWdoIGZvciBldmVyeW9uZS4gRnVydGhlcm1vcmUsIExhc3NlIGFsc28gcmVjb21tZW5kZWQgbWFraW5nIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgY29tbWFuZCBsaW5lIHRvb2wgZm9yIGJldHRlciBhdmFpbGFiaWxpdHkgb3ZlciB0aW1lIGFuZCBpbnRlZ3JhdGlvbiBpbnRvIG90aGVyIHdvcmtmbG93cy4gTGFzdGx5LCB0aGUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc29mdHdhcmUgc2hvdWxkIHVzZSBzdGFuZGFyZCBkYXRhIGZpbGVzIGxpa2UgQ1NWLCBGYXN0YSBldGMuIGFuZCBiZSB3cml0dGVuIGluIGNvbW1vbmx5IHVzZWQgcHJvZ3JhbW1pbmcgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZ3VhZ2VzIGxpa2UgUHl0aG9uLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5PdmVyYWxsLCBMYXNzZSBnYXZlIGEgZ3JlYXQgaW5zaWdodCBpbnRvIHRoZSBwcm9wZXJ0aWVzIG9mIGEgc3BlY2lhbCBwcmljZSB3aW5uaW5nIHNvZnR3YXJlIHRvb2wgYW5kIHZlcnkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJhY3RpY2FsbHkgZXhwbGFpbmVkIGhvdyB0aGVzZSBjYW4gYmUgdGVzdGVkIGFuZCBhY2hpZXZlZCwgaW5mb3JtYXRpb24gdGhhdCBpcyBpbnZhbHVhYmxlIGZvciB1cyB3aGVuIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0aW5nIG91ciBvd24gYmlvaW5mb3JtYXRpY3MgdG9vbC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgICAgIDwvVGltZWxpbmVJdGVtUGljPlxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL21lcmVsdmFuZGVuYm9zY2guanBnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdpR0VNZXIgVGVkIFRhbGtzJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RhbGtzJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1saWdodGJsdWUpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInRlZHRhbGsyXCJcbiAgICAgICAgICAgICAgICB2b3JuYW1lPVwiTWVyZWxcIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwidmFuIGRlciBCb3NjaFwiXG4gICAgICAgICAgICAgICAgaGVhZGluZz1cIkhvdyB0byBDcmVhdGUgdGhlIFBlcmZlY3QgUGFydCBDaGFyYWN0ZXJpemF0aW9uXCJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiRGlzY292ZXIgdGhlIHNlY3JldHMgdG8gd2lubmluZyBpR0VNJ3MgQ29tcG9zaXRlIGFuZCBOZXcgQmFzaWMgUGFydCBhd2FyZHMgd2l0aCBpbnNpZ2h0cyBmcm9tIE1lcmVsIHZhbiBkZW4gQm9zY2guIExlYXJuIGhvdyB0byBkZXNpZ24gc2ltcGxlIHlldCBpbXBhY3RmdWwgZXhwZXJpbWVudHMsIGVtcGhhc2l6ZSBpbm5vdmF0aW9uLCBhbmQgZWZmZWN0aXZlbHkgc2hvd2Nhc2UgeW91ciBwYXJ0J3MgcG90ZW50aWFsLlwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInRlZHRhbGsyXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+TWVyZWwgcHJvdmlkZWQgdXMgd2l0aCBzdHJhdGVnaWVzIGJhc2VkIG9uIGhlciBjRUxQcm8gcHJvamVjdCBhdCBUVSBFaW5kaG92ZW4gb24gaG93IHRvIGFwcHJvYWNoIHdpbm5pbmcgdGhlIHNwZWNpYWwgYXdhcmRzIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBDb21wb3NpdGUgUGFydCBhbmQgTmV3IEJhc2ljIFBhcnQuIEhlciB0ZWFtIHdvbiB0aGUgPGEgaHJlZj1cImh0dHBzOi8vMjAyMy5pZ2VtLndpa2kvdHUtZWluZGhvdmVuL2F3YXJkc1wiPkNvbXBvc2l0ZSBQYXJ0IFByaXplIGFuZCB0aGUgVGhlcmFwZXV0aWMgUHJpemU8L2E+IGF0IHRoZSAyMDIzIGlHRU0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGV0aXRpb24uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIEFmdGVyIHByZXNlbnRpbmcgaGVyIHRlYW0ncyBwcm9qZWN0LCBNZXJlbCBpbnNwaXJlZCB1cyB3aXRoIHdheXMgd2UgY291bGQgYWxzbyBhY2hpZXZlIHRoaXMgYXdhcmQuIFdlIGxlYXJuZWQgZGlmZmVyZW50IGNvbnNpZGVyYXRpb25zIHRvIG1ha2UsIHdoZW4gaXQgY29tZXMgdG8gcGFydCBjaGFyYWN0ZXJpemF0aW9uOiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+SG93IHRvIGVtcGhhc2l6ZSB0aGUgaW5ub3ZhdGl2ZW5lc3Mgb2YgdGhlIHByb2plY3Q8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Ib3cgdG8gaGlnaGxpZ2h0IHRoZSBwYXJ0cyBwb3RlbnRpYWwgYmVuZWZpdHMgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+SG93IHRvIGRpc2N1c3Mgd2hldGhlciB0aGVzZSBwYXJ0cyBjb3VsZCBiZSBhcHBsaWVkIHRvIG90aGVyIHByb2plY3RzPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIE1hbnkgcHJvamVjdHMgZmFpbCBiZWNhdXNlIHRoZSBleHBlcmltZW50cyBjb25kdWN0ZWQgYXJlIHRvbyBjb21wbGV4LiBUaGVyZWZvcmUsIE1lcmVsIGVuY291cmFnZWQgdXMgdG8gaW5pdGlhbGx5IGNhcnJ5IG91dCBzaW1wbGVyIGV4cGVyaW1lbnRzIGZvciBvdXIgcHJvamVjdHMsIGxpa2UgcEggc2Vuc2l0aXZpdHkgYW5kIHRlbXBlcmF0dXJlIHJlc3BvbnNlLiBPcGVuaW5nIHRoZSBtaW5kc2V0IGZvciBvdGhlciBtYXliZSBtb3JlIHByYWdtYXRpYyBleHBlcmltZW50cyBjb3VsZCBjaGFuZ2UgdGhlIGZvY3VzIG9mIHRoZSBwcm9qZWN0IGFuZCBkcml2ZSB0aGUgZW5naW5lZXJpbmcgY3ljbGUuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3RlZC10YWxrLWNwL3RlZC10YWxrLWNwLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBBZGRpdGlvbmFsbHksIHNoZSBzaG93ZWQgdXMgd2hhdCBhIHBlcmZlY3Qgc3VibWlzc2lvbiBmb3IgTmV3IEJhc2ljIFBhcnQgb3IgQ29tcG9zaXRlIFBhcnQgbG9va3MgbGlrZS4gVGhlIEJlc3QgUGFydCBSZWdpc3RyeSBkZW1vbnN0cmF0ZXMgZ3JlYXQgc2lnbmlmaWNhbmNlIGFuZCBzaG91bGQgYmUgZmlsbGVkIHdpdGggZGlmZmVyZW50IHJlc3VsdHMgYW5kIHJlcHJlc2VudGF0aXZlIGFuYWx5c2VzIHRvIGNoYXJhY3Rlcml6ZSB0aGUgcGFydHMuIENvbmR1Y3RpbmcgZXhwZXJpbWVudHMgZm9yIGNoYXJhY3Rlcml6YXRpb24gYW5kIGdvb2QgZG9jdW1lbnRhdGlvbiBhcmUganVzdCB0d28gYXNwZWN0cy4gVGhlIG1vc3QgY3J1Y2lhbCBwYXJ0IGlzIHRoZSBkZW1vbnN0cmF0aW9uIG9mIHRoZSBwYXJ0XHUyMDE5cyBmdW5jdGlvbnMgYXMgaW50ZW5kZWQuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBXZSBsZWFybmVkIHdoYXQgZWZmZWN0aXZlIHN0cmF0ZWdpZXMgZm9yIHRoZSBzcGVjaWFsIGF3YXJkcyBDb21wb3NpdGUgUGFydCBhbmQgTmV3IEJhc2ljIFBhcnQgbWlnaHQgbG9vayBsaWtlLCBhbmQgd2VyZSBwcm92aWRlZCB3aXRoIG1hbnkgaGVscGZ1bCB0aXBzIGFuZCB0cmlja3Mgb24gaG93IHNpbXBsZSBleHBlcmltZW50cyBmb3IgY2hhcmFjdGVyaXphdGlvbiBjb3VsZCBiZSBkZXNpZ25lZC4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW1QaWM+XG4gICAgICAgICAgICAgICAgPFRpbWVsaW5lSXRlbVBpY1xuICAgICAgICAgICAgICAgIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc3BlYWtlcnMvdmFzcXVldC5qcGdcIlxuICAgICAgICAgICAgICAgIGRhdGU9J0ZpcnN0IFNjaWVuY2UgU2xhbSdcbiAgICAgICAgICAgICAgICB0YWc9ICdUYWxrcydcbiAgICAgICAgICAgICAgICBjb2xvcj0ndmFyKC0tbGlnaHRibHVlKSdcbiAgICAgICAgICAgICAgICBjc3N0YWc9XCJzbGFtMVwiXG4gICAgICAgICAgICAgICAgaGVhZGluZz1cIkNoYXRHUFQgYW5kIExhcmdlIExhbmd1YWdlIE1vZGVsc1wiXG4gICAgICAgICAgICAgICAgbmFjaG5hbWU9XCJWYXF1ZXRcIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJKb25hc1wiXG4gICAgICAgICAgICAgICAgdGV4dD1cIkF0IHRoaXMgeWVhcidzIEJGSCBNZWV0dXAsIGV4cGVyaWVuY2VkIHNsYW1tZXJzIGFuZCBGYW1lTGFiIHBhcnRpY2lwYW50cyB3ZXJlIG9uY2UgYWdhaW4gYWJsZSB0byB0YWtlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHRoZSBzdGFnZSBhbmQgcHJlc2VudCB0aGVpciBzY2llbnRpZmljIHRvcGljIGFzIHNpbXBseSBhcyBwb3NzaWJsZSBpbiA1IG1pbnV0ZXMuIFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic2xhbTFcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgIDxwPldpdGggSm9uYXMgVmFxdWV0LCBhIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2VhcmNoIGFzc29jaWF0ZSBvZiB0aGUgRVUgcHJvamVjdCA8YSBocmVmPVwiaHR0cHM6Ly93YXRlcmZ1dHVyZXMuZXUvcHJvamVjdC9cIj5FUkMgV2F0ZXJmdXR1cmVzPC9hPiwgdGhlIGF1ZGllbmNlIGV4cGxvcmVkIExhcmdlIExhbmd1YWdlIE1vZGVscyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoTExNcykgc3VjaCBhcyBDaGF0R1BULiBUaGUgc3BlYWtlciBodW1vcm91c2x5IGVuZ2FnZWQgdGhlIGNyb3dkLCBhc2tpbmcgd2hvIGhhZCB1c2VkIHN1Y2ggbW9kZWxzLCBhbmQgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVhcmx5IGFsbCBoYW5kcyB3ZXJlIHJhaXNlZCBpbiByZXNwb25zZS4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHNwZWFrZXIgaW50cm9kdWNlZCBDaGF0R1BULCBhIFwiR2VuZXJhdGl2ZSBQcmUtdHJhaW5lZCBUcmFuc2Zvcm1lcixcIiB1c2luZyBhbiBpbnRlcmFjdGl2ZSBleHBlcmltZW50IHdoZXJlIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBhdWRpZW5jZSBwcmVkaWN0ZWQgdGhlIG5leHQgd29yZHMgaW4gc2VudGVuY2VzLCBzaG93aW5nIGhvdyB0aGUgbW9kZWwgd29ya3Mgd2l0aCBwcmUtdHJhaW5lZCBkYXRhIGFuZCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjdWxhdGVzIHRleHQgY29udGludWF0aW9ucy4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2hpbGUgaXQgaXMgZmFpciB0byBzYXkgdGhhdCBDaGF0R1BUIGlzIGEgcG93ZXJmdWwgYW5kIGhlbHBmdWwgdG9vbCwgaXQgaXMgaW1wb3J0YW50IHRvIGZvY3VzIG9uIHRoZSBwb3RlbnRpYWwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFuZ2VycyBhbmQgY2hhbGxlbmdlcyBpdCBicmluZ3MsIHdoaWNoIEpvbmFzIHN1bW1hcml6ZXMgaW4gdGhyZWUga2V5IGZhY3RvcnMgaW4gaGlzIHRhbGs6IDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+UGxhZ2lhcmlzbSBSaXNrczo8L2I+IFRoZSBzcGVha2VyIGRlbW9uc3RyYXRlZCBob3cgZWFzeSBpdCBpcyB0byB1bmludGVudGlvbmFsbHkgcmVwbGljYXRlIGV4aXN0aW5nIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtzLCB1c2luZyBhIEhhcnJ5IFBvdHRlciBleGFtcGxlIHRvIGlsbHVzdHJhdGUgcGxhZ2lhcmlzbSByaXNrcyBpbiBjcmVhdGl2ZSB3cml0aW5nLjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkhhbGx1Y2luYXRpb25zOjwvYj4gTGFuZ3VhZ2UgbW9kZWxzIGNhbiBnZW5lcmF0ZSBwbGF1c2libGUgYnV0IGluY29ycmVjdCBpbmZvcm1hdGlvbiwgZXhlbXBsaWZpZWQgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnkgYSBmaWN0aXRpb3VzIENWIHdpdGggaW52ZW50ZWQgZ3JhZGVzLCBoaWdobGlnaHRpbmcgcmlza3MgaW4gYWNhZGVtaWMgYW5kIHByb2Zlc3Npb25hbCB1c2UuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+TGFjayBvZiBPcGluaW9uIEZvcm1hdGlvbjo8L2I+IENoYXRHUFQgZG9lcyBub3QgZm9ybSByZWFsIG9waW5pb25zLCBsZWFkaW5nIHRvIGluY29uc2lzdGVudCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbnN3ZXJzIHdoZW4gYXNrZWQgZm9yIHByZWZlcmVuY2VzLjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+QWx0aG91Z2ggbGFyZ2UgbGFuZ3VhZ2UgbW9kZWxzIChMTE1zKSBhcmUgdHJhaW5lZCB3aXRoIGV4dGVuc2l2ZSBjb2xsZWN0aW9uIG9mIHRleHRzIG9yIHNwb2tlbiBsYW5ndWFnZSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhleSBvZnRlbiBmYWlsIGluIHRoZSBhY2N1cmFjeSByZXF1aXJlZCBmb3Igc2NpZW50aWZpYyB0b3BpY3MuIFNvdXJjZXMgYXJlIHNlZW1pbmdseSBjb25qdXJlZCBvdXQgb2YgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpbiBhaXIgYW5kIGNsYWltcyB2YW5pc2ggaW50byB0aGluIGFpciBiZWNhdXNlIHRoZWlyIGFuc3dlcnMgYXJlIGJhc2VkIG9uIHN0YXRpc3RpY2FsIHByb2JhYmlsaXRpZXMsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlYWRpbmcgdG8gY29uZnVzaW9uLCBlc3BlY2lhbGx5IGZvciBuaWNoZSBxdWVzdGlvbnMuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkpvbmFzIGVuZGVkIGhpcyB0YWxrIGJ5IGdpdmluZyB0aGUgYXVkaWVuY2UgZm9vZCBmb3IgdGhvdWdodC4gSGUgcmVtaW5kZWQgZXZlcnlvbmUgd2hvIGhhZCBlYWdlcmx5IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlZCB0aGVpciBoYW5kcyBhdCB0aGUgYmVnaW5uaW5nIHRvIGFsd2F5cyBkb3VibGUtY2hlY2sgQ2hhdEdQVCdzIGluZm9ybWF0aW9uLCBlc3BlY2lhbGx5IGluIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjYWRlbWljIGFuZCBwcm9mZXNzaW9uYWwgc2V0dGluZ3MuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPldpdGggaGlzIGludGVyYWN0aXZlIGFuZCBodW1vcm91cyBhcHByb2FjaCwgSm9uYXMgdHVybmVkIHRoZSBjb21wbGV4IHdvcmxkIG9mIExMTXMgaW50byBhbiBlbmdhZ2luZyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgYWNjZXNzaWJsZSBhZHZlbnR1cmUsIG9mZmVyaW5nIGRlZXAgaW5zaWdodHMgaW50byB0aGUgd29ya2luZ3MgYW5kIGlkaW9zeW5jcmFzaWVzIG9mIHRoaXMgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFzY2luYXRpbmcgdGVjaG5vbG9neS4gPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgICAgIDwvVGltZWxpbmVJdGVtUGljPlxuICAgICAgICAgICAgICAgIDxUaW1lbGluZUl0ZW1QaWNcbiAgICAgICAgICAgICAgICB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NwZWFrZXJzL25pa2xhcy1ibG9lYmF1bS5qcGVnXCJcbiAgICAgICAgICAgICAgICBkYXRlPSdTZWNvbmQgU2NpZW5jZSBTbGFtJ1xuICAgICAgICAgICAgICAgIHRhZz0gJ1RhbGtzJ1xuICAgICAgICAgICAgICAgIGNvbG9yPSd2YXIoLS1saWdodGJsdWUpJ1xuICAgICAgICAgICAgICAgIGNzc3RhZz1cInNsYW0yXCJcbiAgICAgICAgICAgICAgICBoZWFkaW5nPVwiTWljcm9hbGdhZSBmb3IgU3VzdGFpbmFibGUgRm9vZCBQcm9kdWN0aW9uIFwiXG4gICAgICAgICAgICAgICAgdGV4dD1cIk5pa2xhcywgYSBiaW90ZWNobm9sb2dpc3QgYW5kIFBoRCBzdHVkZW50IGF0IHRoZSBGYWN1bHR5IG9mIEVuZ2luZWVyaW5nIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LCB1c2VkIGhpcyBleHBlcmllbmNlIGZyb20gcHJldmlvdXMgc2NpZW5jZSBzbGFtcyBhbmQgaGlzIHBhcnRpY2lwYXRpb24gaW4gYSBwcmV2aW91cyBpR0VNIGNvbXBldGl0aW9uIHRvIHByZXNlbnQgbWljcm9hbGdhZSBpbiBhIG5ldyBsaWdodC5cIlxuICAgICAgICAgICAgICAgIHZvcm5hbWU9XCJOaWtsYXNcIlxuICAgICAgICAgICAgICAgIG5hY2huYW1lPVwiQmxvZWJhdW1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInNsYW0yXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2l0aCBpbnNpZ2h0cyBpbnRvIGhpcyBjdXJyZW50IHJlc2VhcmNoLCBOaWtsYXMgaW50cm9kdWNlZCB0aGUgYXVkaWVuY2UgdG8gdGhlIGlubm92YXRpdmUgdXNlcyBvZiBjaGxvcmVsbGEgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHN1c3RhaW5hYmxlIGZvb2QgcHJvZHVjdGlvbi4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHN0YXIgb2YgdGhlIHNob3cgd2FzIHRoZSBzbWFsbGVzdCB2ZWdldGFibGUgaW4gdGhlIHdvcmxkIENobG9yZWxsYSBpcyB0aW55ICg0IHRvIDEyIG1pY3JvbnMpIGJ1dCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ5IHJpY2ggaW4gbnV0cmllbnRzOiA0NS02NSUgcHJvdGVpbiwgMTAtMjAlIGZhdCwgMTAtMjAlIGNhcmJvaHlkcmF0ZXMsIDUlIGZpYmVyIGFuZCB2YXJpb3VzIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpdGFtaW5zIGFuZCBtaW5lcmFscywgaW5jbHVkaW5nIHZpdGFtaW4gQjEyLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5OaWNob2xhcyBwcmVzZW50ZWQgdHdvIHByb2R1Y3Rpb24gbWV0aG9kczogPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5vcGVuIHBvbmQgc3lzdGVtczo8L2I+dGhlc2UgdXRpbGl6ZSBsaWdodCwgQ09cdTIwODIgYW5kIHdhdGVyIGZvciBwaG90b3N5bnRoZXNpcywgYnV0IGhhdmUgdGhlIHByb2JsZW0gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIGF2YWlsYWJpbGl0eSBvZiBsaWdodCBhbmQgd2F0ZXIuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+YmlvcmVhY3RvcnM6PC9iPm1vZGVybiwgY29udHJvbGxlZCwgc3RlcmlsZSBlbnZpcm9ubWVudHMgdGhhdCB1dGlsaXplIHN1Z2FyIGFzIGFuIGVuZXJneSBzb3VyY2UsIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25pZmljYW50bHkgaW5jcmVhc2UgcHJvZHVjdGl2aXR5IGFuZCByZWR1Y2Ugd2F0ZXIgY29uc3VtcHRpb24uPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5CaW9yZWFjdG9ycyBhcmUgdXAgdG8gMTAwIHRpbWVzIG1vcmUgcHJvZHVjdGl2ZSBhbmQgdXNlIDEwMCB0aW1lcyBsZXNzIHdhdGVyIHRoYW4gY29udmVudGlvbmFsIG1ldGhvZHMuIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvdW5kcyBwZXJmZWN0LCByaWdodD8gQnV0IE5pY2hvbGFzIGhhZCB0byBidXJzdCB0aGUgYnViYmxlIGFuZCBtYWtlIGl0IGNsZWFyIHRoYXQgdGhlIHRlY2hub2xvZ3kgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RpbGwgbmVlZHMgdG8gYmUgZGV2ZWxvcGVkIGZ1cnRoZXIuICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5JbiB0ZXJtcyBvZiBzdXN0YWluYWJpbGl0eSwgTmljaG9sYXMgaGFkIHRvIGVtcGhhc2l6ZSB0aGF0IHRoZSB3aG9sZSBwcm9jZXNzIG9mIG1pY3JvYWxnYWUgcHJvZHVjdGlvbiBuZWVkcyBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBiZSBxdWVzdGlvbmVkLiBIZSBub3RlZCB0aGF0IHRoZSBjdXJyZW50IGNhcmJvbiBmb290cHJpbnQgY2FsY3VsYXRpb25zIGZvciBiaW9yZWFjdG9ycyBhcmUgb3V0ZGF0ZWQuIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1dCBmZWFyIG5vdCwgb3VyIGJyYXZlIGJpb3RlY2hub2xvZ2lzdCBpcyBvbiBhIG1pc3Npb24gdG8gYnJpbmcgdGhlc2UgZmlndXJlcyB1cCB0byBkYXRlIHdpdGggaGlzIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VuZGJyZWFraW5nIHJlc2VhcmNoISA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgY3VyaW91cyBhdWRpZW5jZSBhc2tlZCBxdWVzdGlvbnMgYWJvdXQgc2NhbGFiaWxpdHksIGNvc3RzIGFuZCBzdXN0YWluYWJsZSBzdWdhciBzb3VyY2VzLiBBbHdheXMgdXAgZm9yIGEgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbGxlbmdlLCBOaWNob2xhcyBleHBsYWluZWQgdGhhdCB0aGUgY3VycmVudCBoaWdoIGNvc3RzIGNvdWxkIGJlIGFkZHJlc3NlZCBieSBpbXByb3ZpbmcgdGhlIHByb2R1Y3Rpdml0eSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiB0aGUgYmlvcmVhY3RvcnMhIEhvd2V2ZXIsIGhlIGFsc28gZW1waGFzaXplZCB0aGF0IGZ1cnRoZXIgcmVzZWFyY2ggaXMgbmVlZGVkIHRvIGZpbmQgYSBzdXN0YWluYWJsZSBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2Ugb2Ygc3VnYXIuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkluIGhpcyBncmFuZCBmaW5hbGUsIE5pY2hvbGFzIHByZXNlbnRlZCB0aHJlZSB3aXNlIGluc2lnaHRzOiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPmJpb3RlY2hub2xvZ3k8L2I+IGdvZXMgZmFyIGJleW9uZCBtZWRpY2luZSBhbmQgb3BlbnMgdGhlIGRvb3JzIGZvciBzdXN0YWluYWJsZSBmb29kIHByb2R1Y3Rpb24uPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+c3VzdGFpbmFiaWxpdHkgPC9iPiBhc3Nlc3NtZW50cyBtdXN0IGNvbnNpZGVyIHRoZSBlbnRpcmUgcHJvZHVjdGlvbiBwcm9jZXNzIC0gbm8gZGV0YWlsIHNob3VsZCBiZSBvdmVybG9va2VkITwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPmNobG9yZWxsYTwvYj4sIHRoZSB0aW55LCBudXRyaWVudC1yaWNoIG1pY3JvYWxnYWUsIGhhcyB0aGUgcG90ZW50aWFsIHRvIGJlIGEgaGVybyBpbiBvdXIgZnV0dXJlIGRpZXQuIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+TmljaG9sYXMgY2FwdGl2YXRlZCB0aGUgYXVkaWVuY2Ugd2l0aCBoaXMgdml2aWQgYW5kIGV5ZS1vcGVuaW5nIHByZXNlbnRhdGlvbi4gSGUgZ3VpZGVkIHRoZW0gdGhyb3VnaCB0aGUgZmFzY2luYXRpbmcgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHNvbWV0aW1lcyB0dXJidWxlbnQgd29ybGQgb2YgbWljcm9hbGdhZSBwcm9kdWN0aW9uLCBoaWdobGlnaHRpbmcgdGhlIGNoYWxsZW5nZXMgYW5kIG9wcG9ydHVuaXRpZXMgb2YgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyB0ZWNobm9sb2d5LiBUaGUgYXVkaWVuY2Ugd2FzIG5vdCBvbmx5IGluZm9ybWVkIGJ1dCBhbHNvIGVudGVydGFpbmVkIGFuZCByZWFkeSB0byBlbWJyYWNlIHRoZSBmdXR1cmUgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Ygc3VzdGFpbmFibGUgbnV0cml0aW9uIHdpdGggY2hsb3JlbGxhIGFzIHRoZWlyIGxpdHRsZSBncmVlbiBoZXJvLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAgXG4gICAgICAgICAgICAgICAgPC9UaW1lbGluZUl0ZW1QaWM+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3RpbWVsaW5lLWVuZCc+XG4gICAgICAgICAgICAgICAgICAgIEF3YXJkIENlcmVtb255XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPC8+XG4gICAgICAgIClcbiAgICBcbn0iLCAiLyogICovXG5cbmNvbnN0IGltYWdlcyA9IFtcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvYmFkZ2VzLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9qb2Vybi5qcGVnXCIsICB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2NoZWtpbi5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc2luYW4uanBlZ1wiLCAgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wYXJ0eS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvb3JnYXRlYW0uanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2hhbGwuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2J5ZTEuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3VuaS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvdGFsa2luZy5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAva3Jpc3RpYW4uanBlZ1wiLCAgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9hZmZlLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9tYXJnYnVyZy5qcGVnXCIsICB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2RpZXR6LmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC93YWdlbmluZ2VuLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9hYWNoZW4uanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3Bvc3RlcmV4aGliaXRpb24tcmVmaWJhLmpwZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NvY2lhbGl6aW5nMTcuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2JhZGdlcy5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcG9zdGVyZXhoaWJpdGlvbi10ZWRkeS5qcGdcIiwgIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyLCB0YWJzOiBcIlwifSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvY2hla2luLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTIsIHRhYnM6IFwiXCJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9zaW5hbi5qcGVnXCIsICB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMiwgdGFiczogXCJcIn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3NvY2lhbGl6aW5nMTEuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3RlYW1waG90b3M2LmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90ZWFtcGhvdG9zLmpwZWdcIiwgd2lkdGg6IDMyMCwgaGVpZ2h0OiAyMTJ9LFxuICB7c3JjOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC90ZWFtcGhvdG9zNS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyfSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvc29jaWFsaXppbmcxOS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyfSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcG9zdGVyZXhoaWJpdGlvbi1pc2FiZWxsLWVya2wtcnQuanBnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyfSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvai1ybjMuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2hhbGwuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2FiZW5kLXNwaWtlYmFsbDUuanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMn0sXG4gIHtzcmM6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2FiZW5kLWludGVyc3NpZXJ0ZS5qcGVnXCIsIHdpZHRoOiAzMjAsIGhlaWdodDogMjEyfSxcbiAge3NyYzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvb3JnYXRlYW0uanBlZ1wiLCB3aWR0aDogMzIwLCBoZWlnaHQ6IDIxMn0sXG5dXG5cblxuXG5cblxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBCRkhHYWxsZXJ5KCl7XG4gIGxldCByb3dzOiBKU1guRWxlbWVudFtdICA9IFtdXG4gIGZvciAoIGxldCBpID0gMDsgIGkgPCBpbWFnZXMubGVuZ3RoOyBpKysgKXtcbiAgICByb3dzLnB1c2goPGRpdj48aW1nIHNyYz17aW1hZ2VzW2ldLnNyY30vPjwvZGl2PikgXG4gIH1cbiAgICByZXR1cm4oIFxuICAgICAgICA8ZGl2IGlkPVwiZ2FsbGVyeVwiPlxuICAgICAgICAgIHtyb3dzfVxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cbiIsICJleHBvcnQgZnVuY3Rpb24gUG9zdGVyKHtwb3N0ZXJuYW1lLCB1cmx9Ontwb3N0ZXJuYW1lOiBzdHJpbmcsIHVybDogc3RyaW5nfSl7XG4gICAgcmV0dXJuKFxuICAgICAgICA8YSB0eXBlb2Y9XCJidXR0b25cIiBvbkNsaWNrPXtyZVNpemUoe25hbWU6IHBvc3Rlcm5hbWV9KX0+XG4gICAgICAgICAgPGltZyBpZD17cG9zdGVybmFtZX0gY2xhc3NOYW1lPVwicGljdHVyZS1mcmFtZSBub3JtXCIgc3JjPXt1cmx9IGFsdD17cG9zdGVybmFtZX0gLz5cbiAgICAgICAgPC9hPlxuICAgIClcbn1cbmV4cG9ydCBmdW5jdGlvbiBDZXJ0aWZpY2F0ZSh7cG9zdGVybmFtZSwgdXJsfTp7cG9zdGVybmFtZTogc3RyaW5nLCB1cmw6IHN0cmluZ30pe1xuICByZXR1cm4oXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8YSB0eXBlb2Y9XCJidXR0b25cIiBvbkNsaWNrPXtyZVNpemUyKHtuYW1lOiBwb3N0ZXJuYW1lfSl9PlxuICAgICAgICAgIDxpbWcgaWQ9e3Bvc3Rlcm5hbWV9IGNsYXNzTmFtZT1cImNlcnQtZnJhbWUgbm9ybVwiIHNyYz17dXJsfSBhbHQ9e3Bvc3Rlcm5hbWV9IC8+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICApXG59XG5cbmZ1bmN0aW9uIHJlU2l6ZSh7bmFtZX06e25hbWU6IHN0cmluZ30pe1xuICAgIGNvbnN0IHJlc2l6ZSA9ICAoX2V2ZW50IDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pID0+e1xuICAgICAgdmFyIGltZzsgXG4gICAgICBpbWcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChuYW1lKTtcbiAgICAgIGlmIChpbWchLmNsYXNzTmFtZSA9PT0gXCJwaWN0dXJlLWZyYW1lIG5vcm1cIil7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiPT09IHBpY3R1cmUtZnJhbWUgbm9ybVwiKVxuICAgICAgICBpbWchLmNsYXNzTmFtZSA9IGltZyEuY2xhc3NOYW1lLnJlcGxhY2UoXCJwaWN0dXJlLWZyYW1lIG5vcm1cIiwgXCJmdWxsLXNjcmVlbi13aWR0aFwiKTtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGltZyEuY2xhc3NOYW1lID09PSBcImZ1bGwtc2NyZWVuLXdpZHRoXCIpe1xuICAgICAgICBjb25zb2xlLmxvZyhcIj09PSBmdWxsLXNjcmVlbi13aWR0aFwiKVxuICAgICAgICBpbWchLmNsYXNzTmFtZSA9IGltZyEuY2xhc3NOYW1lLnJlcGxhY2UoXCJmdWxsLXNjcmVlbi13aWR0aFwiLCBcInBpY3R1cmUtZnJhbWUgbm9ybVwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc2l6ZTsgXG59XG5mdW5jdGlvbiByZVNpemUyKHtuYW1lfTp7bmFtZTogc3RyaW5nfSl7XG4gIGNvbnN0IHJlc2l6ZSA9ICAoX2V2ZW50IDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pID0+e1xuICAgIHZhciBpbWc7IFxuICAgIGltZyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG5hbWUpO1xuICAgIGlmIChpbWchLmNsYXNzTmFtZSA9PT0gXCJjZXJ0LWZyYW1lIG5vcm1cIil7XG4gICAgICBjb25zb2xlLmxvZyhcIj09PSBjZXJ0LWZyYW1lIG5vcm1cIilcbiAgICAgIGltZyEuY2xhc3NOYW1lID0gaW1nIS5jbGFzc05hbWUucmVwbGFjZShcImNlcnQtZnJhbWUgbm9ybVwiLCBcImZ1bGwtc2NyZWVuLXdpZHRoXCIpO1xuICAgIH1cbiAgICBlbHNlIGlmIChpbWchLmNsYXNzTmFtZSA9PT0gXCJmdWxsLXNjcmVlbi13aWR0aFwiKXtcbiAgICAgIGNvbnNvbGUubG9nKFwiPT09IGZ1bGwtc2NyZWVuLXdpZHRoXCIpXG4gICAgICBpbWchLmNsYXNzTmFtZSA9IGltZyEuY2xhc3NOYW1lLnJlcGxhY2UoXCJmdWxsLXNjcmVlbi13aWR0aFwiLCBcImNlcnQtZnJhbWUgbm9ybVwiKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc2l6ZTsgXG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFBvc3RlclJvdyh7cG9zdGVybmFtZTEsIHBvc3Rlcm5hbWUyLCB1cmwxLCB1cmwyfTp7cG9zdGVybmFtZTE6IHN0cmluZywgdXJsMTogc3RyaW5nLCBwb3N0ZXJuYW1lMjogc3RyaW5nLCB1cmwyOiBzdHJpbmd9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDw+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxQb3N0ZXIgdXJsPXt1cmwxfSBwb3N0ZXJuYW1lPXtwb3N0ZXJuYW1lMX0gLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8UG9zdGVyIHVybD17dXJsMn0gcG9zdGVybmFtZT17cG9zdGVybmFtZTJ9IC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxici8+XG4gICAgICAgIDwvPlxuICAgIClcbn0iLCAiaW1wb3J0IHsgQ2VydGlmaWNhdGUgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9wb3N0ZXJcIjtcbmltcG9ydCB7ICBINCwgSDUgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgQmxvY2tRdW90ZUIgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9RdW90ZXNcIjtcblxuY29uc3QgaGFrZW4gPSA8c3BhbiBjbGFzc05hbWU9XCJiZmgtaGFrZW5cIj4gPGJpZz4mI3gyNzEzOzwvYmlnPiA8L3NwYW4+OyBcbiAgXG5cbmV4cG9ydCBmdW5jdGlvbiBBYm91dCgpe1xuICByZXR1cm4oXG4gICAgPGRpdj5cblxuICAgICAgPEJsb2NrUXVvdGVCIHRleHQ9XCJUaGlzIHdhcyB0aGUgYmVzdCBtZWV0IHVwIGV2ZXIgaW4gdGhlIGhpc3Rvcnkgb2YgaUdFTS4gVGhhbmsgeW91IHNvIG11Y2ghXCIgY2l0ZT1cIk5lbWFuamEgU3RpamVwb3ZpY1wiPjwvQmxvY2tRdW90ZUI+XG4gICAgICA8SDQgaWQ9XCJcIiB0ZXh0PVwiSW50cm9kdWN0aW9uXCIvPlxuICAgICAgPHA+VGhpcyB5ZWFyLCB3ZSBob3N0ZWQgdGhlIGZpcnN0IEJGSCBFdXJvcGVhbiBNZWV0LVVwIGV2ZXIuIE92ZXIgdGhlIGNvdXJzZSBvZiB0aHJlZSBmdWxsIGRheXMsIHdlIGVtYmFya2VkIG9uIGEgam91cm5leSB3aGVyZSBtaW5kcyBtZXQgYW5kIGlkZWFzIGlnbml0ZWQuIE91ciBtaXNzaW9uOiA8L3A+XG4gICAgICA8cCBjbGFzc05hbWU9XCJiZmgtbW90dG9cIj48Yj5JZ25pdGUuIElubm92YXRlLiBJbnNwaXJlLjwvYj48L3A+XG4gICAgICA8cD5UaGlzIGV2ZW50IHdhcyBkZXNpZ25lZCB0byB1bml0ZSB0aGUgYnJpZ2h0ZXN0IG1pbmRzIGZyb20gYWNyb3NzIEV1cm9wZSBhbmQgYmV5b25kLCBwcm92aWRpbmcgYSBwbGF0Zm9ybSBmb3Igc2hhcmluZyBncm91bmRicmVha2luZyBpZGVhcyBhbmQgZm9zdGVyaW5nIGludGVybmF0aW9uYWwgY29ubmVjdGlvbnMgZHVyaW5nIHRoZSBlYXJseSBzdGFnZXMgb2YgdGhlIGlHRU0gY29tcGV0aXRpb24uIDwvcD5cbiAgICAgIDxINCB0ZXh0PVwiQWJvdXQgT3VyIENvb3BlcmF0aW9uXCIvPlxuICAgICAgPHA+IFRoZSBjb29wZXJhdGlvbiBiZXR3ZWVuIEJpZWxlZmVsZCwgRnJhbmtmdXJ0LCBhbmQgSGFtYnVyZyBpcyByb290ZWQgaW4gdGhlIGZyaWVuZHNoaXBzIGFuZCBuZXR3b3JrcyBmb3JtZWQgZHVyaW5nIHRoZSBpR0VNIGNvbXBldGl0aW9uIDIwMjMuIE91ciBtaXNzaW9uIGlzIHRvIHByb21vdGUgZnV0dXJlIHByb2plY3RzIGFuZCBicmluZyB0ZWFtcyB0b2dldGhlci4gQnkgYWx0ZXJuYXRpbmcgdGhlIGxvY2F0aW9uIG9mIHRoZSBCRkggRXVyb3BlYW4gTWVldC1VcCBlYWNoIHllYXIsIHdlIGFpbSB0byBwcm92aWRlIGRpdmVyc2UgbmV0d29ya2luZyBvcHBvcnR1bml0aWVzIGFuZCBmb3N0ZXIgYSBzdHJvbmcgc2Vuc2Ugb2YgY29tbXVuaXR5IGFtb25nIGlHRU0gcGFydGljaXBhbnRzLiA8L3A+XG4gICAgICA8SDQgdGV4dD1cIkhlYWQgb2YgQkZIIENvbW1pdHRlZVwiLz5cbiAgICAgIDxINCB0ZXh0PVwiV2hhdCBXZXJlIE91ciBHb2Fscz9cIi8+IFxuICAgICAgPHVsIGNsYXNzTmFtZT1cImhha2VuLWxpc3RlXCI+XG4gICAgICAgIDxsaT4ge2hha2VufSBVbml0ZSBpR0VNIHRlYW1zIGZyb20gYWNyb3NzIEV1cm9wZSBhbmQgZm9zdGVyIGEgc2Vuc2Ugb2YgY29tbXVuaXR5IGFuZCBjb2xsYWJvcmF0aW9uLiA8L2xpPlxuICAgICAgICA8bGk+IHtoYWtlbn0gUHJvdmlkZSBhIHBsYXRmb3JtIGZvciB0ZWFtcyB0byBwcmVzZW50IHRoZWlyIHByb2plY3RzIGFuZCByZWNlaXZlIHZhbHVhYmxlIGZlZWRiYWNrLiA8L2xpPlxuICAgICAgICA8bGk+IHtoYWtlbn0gT2ZmZXIgb3Bwb3J0dW5pdGllcyBmb3IgcGFydGljaXBhbnRzIHRvIGJ1aWxkIHRoZWlyIHNjaWVudGlmaWMgYW5kIHNvZnQgc2tpbGxzIHRocm91Z2ggd29ya3Nob3BzIGFuZCBwcmVzZW50YXRpb25zLiA8L2xpPlxuICAgICAgICA8bGk+IHtoYWtlbn0gRW5jb3VyYWdlIG5ldHdvcmtpbmcgYW5kIHNvY2lhbGl6aW5nIGFtb25nIGlHRU0gdGVhbXMgdG8gYnVpbGQgbGFzdGluZyByZWxhdGlvbnNoaXBzIGFuZCBleHBhbmQgc2NpZW50aWZpYyBuZXR3b3Jrcy4gPC9saT5cbiAgICAgICAgPGxpPiB7aGFrZW59IEVsYWJvcmF0ZSB0aGVpciB0ZWFtIHByb2plY3RzIGFuZCByZWZsZWN0IHRoZWlyIGRlY2lzaW9ucyBpbiBlYXJseSBzdGFnZSBvZiB0aW1lIGluIGNvb3BlcmF0aW9uIHdpdGggaUdFTSBhbHVtbmkgYW5kIHNjaWVudGlzdCBmcm9tIGFsbCBhcm91bmQgdGhlIGdsb2JlIDwvbGk+XG4gICAgICA8L3VsPlxuICAgICAgPEg0IHRleHQ9XCJXaGF0IERpZCB0aGUgUGFydGljaXBhbnRzIExlYXJuP1wiLz5cbiAgICAgIDx1bCBjbGFzc05hbWU9XCJoYWtlbi1saXN0ZVwiPlxuICAgICAgICA8bGk+IHtoYWtlbn0gR2FpbmVkIGluc2lnaHRzIGludG8gY3VycmVudCByZXNlYXJjaCBmcm9tIEJpZWxlZmVsZCBVbml2ZXJzaXR5IGFuZCBuZWFyYnkgaW5zdGl0dXRpb25zIHRocm91Z2ggU2NpZW50aWZpYyBUYWxrcy4gPC9saT5cbiAgICAgICAgPGxpPiB7aGFrZW59IExlYXJuZWQgZnJvbSBvdmVyIDEwIG5hdGlvbmFsIGFuZCBpbnRlcm5hdGlvbmFsIHNwZWFrZXJzIGFuZCBleHBlcnRzIGZyb20gaW5kdXN0cnksIGFjYWRlbWlhLCBhbmQgdGhlIGlHRU0gY29tbXVuaXR5PC9saT5cbiAgICAgICAgPGxpPiB7aGFrZW59IFBhcnRpY2lwYXRlZCBpbiBoYW5kcy1vbiBXb3Jrc2hvcCBTZXNzaW9ucyBsZWQgYnkgbGVhZGluZyBleHBlcnRzLCB3aGljaCBjb250cmlidXRlZCB0byB0aGUgZGV2ZWxvcG1lbnQgb2YgdGhlIG5leHQgZ2VuZXJhdGlvbiBvZiBhbWJpdGlvdXMgcmVzZWFyY2hlcnM8L2xpPlxuICAgICAgICA8bGk+IHtoYWtlbn0gRW5nYWdlZCBpbiBQYW5lbCBEaXNjdXNzaW9ucyB0byBwdXp6bGUgb3ZlciBpZGVhcywgaW1wcmVzc2lvbnMsIGFuZCB0aGUgcG90ZW50aWFsIG9mIG11bHRpcGxlIHByb2plY3RzLCBmb3N0ZXJpbmcgY29sbGFib3JhdGlvbiBhbmQgbmV0d29ya2luZzwvbGk+XG4gICAgICA8L3VsPlxuICAgICAgPEg0IHRleHQ9XCJTdGlja2VyIENvbGxlY3Rpb24gQWxidW06IENvbm5lY3QgYW5kIENvbGxlY3QhXCIvPlxuICAgICAgPHA+V2UgYXJlIGV4Y2l0ZWQgdG8gaW50cm9kdWNlIHRoZSBmaXJzdCBvZmZpY2lhbCBCRkggaUdFTSBTdGlja2VyIENvbGxlY3Rpb24gQWxidW0gb2YgMjAyNCEgT3ZlciB0aGUgcGFzdCBmZXcgeWVhcnMsIGlHRU0gdGVhbXMgZnJvbSBhcm91bmQgdGhlIHdvcmxkIGhhdmUgc3RhcnRlZCBleGNoYW5naW5nIGZ1bm55IG1lbWVzLCBsb2dvcywgbWFzY290cywgYW5kIGNvbnRhY3QgaW5mb3JtYXRpb24gdmlhIHN0aWNrZXJzLiBSZWNvZ25pemluZyB0aGlzIGNyZWF0aXZlIHRyZW5kLCB3ZSd2ZSBlc3RhYmxpc2hlZCB0aGUgZmlyc3QtZXZlciBpR0VNIFRlYW1zIFN0aWNrZXIgQWxidW0gdG8gZW5oYW5jZSBzb2NpYWwgbmV0d29ya2luZyBhbW9uZyBwYXJ0aWNpcGFudHMgZHVyaW5nIHRoZSBHcmFuZCBKYW1ib3JlZSBhbmQgYmV5b25kLiA8L3A+XG4gICAgICA8cD5EbyB5b3Ugd2FudCB0byBqb2luIHRoZSBiaWdnZXN0IHNvY2lhbCBuZXR3b3JraW5nIGV2ZW50LCBjb2xsZWN0IGFsbCBzdGlja2VycywgYW5kIHdpbiBzcGVjaWFsIHByaXplcz8gU2lnbiB1cCBhbmQgZ2V0IHJlYWR5IHRvIGNhdGNoICdlbSBhbGwhIFRvIHBhcnRpY2lwYXRlLCBzdWJtaXQgeW91ciBwcm9qZWN0IHRpdGxlIGFuZCBhYnN0cmFjdCwgYW5kIGRlc2lnbiBhIHVuaXF1ZSBzdGlja2VyIHRoYXQgcmVwcmVzZW50cyB5b3VyIHRlYW0uIFRoZXNlIHN0aWNrZXJzIHdpbGwgYmUgZXhjaGFuZ2VkIGF0IHRoZSBHcmFuZCBKYW1ib3JlZSBpbiBQYXJpcy4gT25jZSB5b3UndmUgY29sbGVjdGVkIGFsbCB0aGUgc3RpY2tlcnMgZnJvbSBwYXJ0aWNpcGF0aW5nIHRlYW1zLCBzZW5kIGEgcGljdHVyZSBvZiB5b3VyIGNvbXBsZXRlZCBhbGJ1bSB0byB0aGUgaUdFTSBCaWVsZWZlbGQgaGVhZHF1YXJ0ZXJzIGZvciBhIGNoYW5jZSB0byB3aW4gc3BlY2lhbCBwcml6ZXMuIDwvcD5cbiAgICAgIDxwPiBUaGlzIGFsYnVtIGlzbid0IGp1c3QgZm9yIHRoZSBHcmFuZCBKYW1ib3JlZSBcdTIwMTMgeW91IGNhbiBhbHNvIGNvbGxlY3Qgc3RpY2tlcnMgZnJvbSBub24tcGFydGljaXBhdGluZyB0ZWFtcyBvbiB0aGUgYmFja3NpZGUgb2YgdGhlIGFsYnVtLiBMZXQncyBjb25uZWN0LCBzaGFyZSwgYW5kIG1ha2UgbWVtb3JpZXMgdG9nZXRoZXIhIDwvcD5cbiAgICAgIDxINCB0ZXh0PVwiQXdhcmRzIGFuZCBXaW5uZXJzIG9mIHRoZSBCRkggQ29tcGV0aXRpb24gXCIvPlxuICAgICAgPHA+VGhlIGV2ZW50IGN1bG1pbmF0ZWQgaW4gYW4gQXdhcmRzIENlcmVtb255IGNlbGVicmF0aW5nIGV4Y2VsbGVuY2UgaW4gY3JlYXRpdml0eSwgdGVhbXdvcmssIGFuZCBpbm5vdmF0aW9uLiBPdXIganVkZ2VzLCB1c2luZyB0aGVpciBleHBlcmllbmNlIGZyb20gcGFzdCBpR0VNIHllYXJzLCBldmFsdWF0ZWQgdGhlIHRlYW1zJyBwZXJmb3JtYW5jZXMuIFRoZSBoZWFydGZlbHQgd2lubmVyLCByZWNvZ25pemVkIGZvciB0aGVpciBvdXRzdGFuZGluZyBjb250cmlidXRpb24gYW5kIHNwaXJpdCwgd2FzIHRoZSB0ZWFtIHRoYXQgdHJ1bHkgZW1ib2RpZWQgdGhlIHZhbHVlcyBvZiB0aGUgaUdFTSBjb21tdW5pdHkuIDwvcD5cbiAgICAgIDxINSB0ZXh0PVwiQmVzdCBQcmVzZW50YXRpb25cIi8+XG4gICAgICB7LyogaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2ZpcnN0LXBsYWNlLnN2ZyAqL31cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic21hbGwtcm93IHdpbm5lcnNcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMVwiPlxuICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwid2lubmVyLWltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9maXJzdC1wbGFjZS5zdmcgXCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIndpbm5lclwiPmlHRU0gQWFjaGVuPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGFrZW4tbGlzdGVcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJ0cm9waHlcIj48c3Bhbj5Ucm9waHk8L3NwYW4+PC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJjZXJ0aWZpY2F0ZVwiPjxzcGFuPiBDZXJ0aWZpY2F0ZTwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cInRpY2tldHNcIj4gPHNwYW4+MiBUaWNrZXRzIGZvciBTeW5CaW8gUmVhY3RvciBDb25mZXJlbmNlIHByb3ZpZGVkIGJ5IEdBU0I8L3NwYW4+PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbC1yb3cgd2lubmVyc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+XG4gICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJ3aW5uZXItaW1nXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL3NlY29uZC1wbGFjZS5zdmcgXCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIndpbm5lclwiPmlHRU0gTWFyYnVyZzwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImhha2VuLWxpc3RlXCI+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwiY2VydGlmaWNhdGVcIj48c3Bhbj4gQ2VydGlmaWNhdGU8L3NwYW4+PC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJtb25leVwiPiA8c3Bhbj4kNTAwIFVTRCBwcm92aWRlZCBieSBaeW1vIFJlc2VhcmNoPC9zcGFuPjwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwic21hbGwtcm93IHdpbm5lcnNcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMVwiPlxuICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwid2lubmVyLWltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy90aGlyZC1wbGFjZS5zdmcgXCIvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIndpbm5lclwiPmlHRU0gR1UtRnJhbmtmdXJ0PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiaGFrZW4tbGlzdGVcIj5cbiAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJjZXJ0aWZpY2F0ZVwiPjxzcGFuPiBDZXJ0aWZpY2F0ZTwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cIm1vbmV5XCI+IDxzcGFuPiQyNTAgVVNEIHByb3ZpZGVkIGJ5IEplbmEgQmlvc2NpZW5jZTwvc3Bhbj48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8YnIvPlxuICAgICAgPEg1IHRleHQ9XCJCZXN0IFBvc3RlciBFeGhpYml0aW9uIEJvb3RoXCIvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJzbWFsbC1yb3cgd2lubmVyc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+XG4gICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJ3aW5uZXItaW1nXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2ZpcnN0LXBsYWNlLnN2ZyBcIi8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC00XCI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwid2lubmVyXCI+aUdFTSBGcmVpYnVyZyA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJoYWtlbi1saXN0ZVwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cInRyb3BoeVwiPjxzcGFuPlRyb3BoeTwvc3Bhbj48L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cImNlcnRpZmljYXRlXCI+PHNwYW4+IENlcnRpZmljYXRlPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwidGlja2V0c1wiPiA8c3Bhbj4yIFRpY2tldHMgZm9yIFN5bkJpbyBSZWFjdG9yIENvbmZlcmVuY2UgcHJvdmlkZWQgYnkgR0FTQjwvc3Bhbj48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsLXJvdyB3aW5uZXJzXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj5cbiAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIndpbm5lci1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvc2Vjb25kLXBsYWNlLnN2ZyBcIi8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC00XCI+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwid2lubmVyXCI+aUdFTSBHVS1GcmFua2Z1cnQ8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJoYWtlbi1saXN0ZVwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cImNlcnRpZmljYXRlXCI+PHNwYW4+IENlcnRpZmljYXRlPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwia2l0XCI+IDxzcGFuPlBsYXNtaWQgSXNvbGF0aW9uIEtpdHMgcHJvdmlkZWQgYnkgTWFjaGVyeSBOYWdlbDwvc3Bhbj48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsLXJvdyB3aW5uZXJzXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj5cbiAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIndpbm5lci1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvdGhpcmQtcGxhY2Uuc3ZnIFwiLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTRcIj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ3aW5uZXJcIj5pR0VNIFdhZ2VuaW5nZW5VUiA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJoYWtlbi1saXN0ZVwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT1cImNlcnRpZmljYXRlXCI+PHNwYW4+IENlcnRpZmljYXRlPC9zcGFuPjwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwia2l0XCI+PHNwYW4+TWluaS1DaXJjbGUgcHJvdmlkZWQgYnkgUGxhc21pZEZhY3Rvcnk8L3NwYW4+PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICA8Q2VydGlmaWNhdGUgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9jZXJ0cy9iZmgtYmVzdC1ib290aC1icm9uemUtd2FnZW5pbmdlbi5wbmdcIiBwb3N0ZXJuYW1lPVwiYm9vdGhicm9uemVcIiAvPlxuICAgICAgICAgIDxDZXJ0aWZpY2F0ZSB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL2NlcnRzL2JmaC1iZXN0LWJvb3RoLXNpbHZlci1mcmFua2Z1cnQucG5nXCIgcG9zdGVybmFtZT1cImJvb3Roc2lsdmVyXCIgLz5cbiAgICAgICAgICA8Q2VydGlmaWNhdGUgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9jZXJ0cy9iZmgtYmVzdC1ib290aC1nb2xkLWZyZWlidXJnLnBuZ1wiIHBvc3Rlcm5hbWU9XCJib290aGdvbGRcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8YnIvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICA8Q2VydGlmaWNhdGUgdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9jZXJ0cy9iZmgtYmVzdC1wcmVzaS1icm9uemUtZnJhbmtmdXJ0LnBuZ1wiIHBvc3Rlcm5hbWU9XCJwcmVzaWJyb256ZVwiIC8+XG4gICAgICAgICAgPENlcnRpZmljYXRlIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvY2VydHMvYmZoLWJlc3QtcHJlc2ktc2lsdmVyLW1hcmdidXJnLnBuZ1wiIHBvc3Rlcm5hbWU9XCJwcmVzaXNpbHZlclwiIC8+XG4gICAgICAgICAgPENlcnRpZmljYXRlIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvY2VydHMvYmZoLWJlc3QtcHJlc2ktZ29sZC1hYWNoZW4ucG5nXCIgcG9zdGVybmFtZT1cInByZXNpZ29sZFwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxINCB0ZXh0PVwiV2hhdCBkaWQgd2UgbGVhcm4gYXMgb3JnYW5pemVycyBmb3IgdGhlIG5leHQgZmV3IHllYXJzP1wiLz5cbiAgICAgIDxoMz5Hb29kIHBsYW5uaW5nIGlzIGtleTwvaDM+XG4gICAgICA8cD5TdGFydGluZyBlYXJseSwgY2xlYXJseSBkaXN0cmlidXRpbmcgdGFza3MsIGFuZCBzdGF5aW5nIG9yZ2FuaXplZCBcdTIwMTMgdGhhdCBhdm9pZHMgY2hhb3MuIFdlIGNhbiBub3cgc3RydWN0dXJlLCBjb29yZGluYXRlLCBhbmQgbWFuYWdlIHRoZSBuZXh0IG1lZXQtdXAgaW4gRnJhbmtmdXJ0IG1vcmUgZWZmaWNpZW50bHkgYW5kIGFoZWFkIG9mIHRpbWUuIDwvcD5cbiAgICAgIDxoMz5Db21tdW5pY2F0aW9uIGlzIGV2ZXJ5dGhpbmc8L2gzPlxuICAgICAgPHA+UmVndWxhciB0ZWFtIGNvbW11bmljYXRpb24gYW5kIGNsZWFyIGFncmVlbWVudHMgYXJlIGVzc2VudGlhbCB0byBrZWVwIGV2ZXJ5b25lIG9uIHRoZSBzYW1lIHBhZ2UuIFdlXHUyMDE5dmUgcmVhbGl6ZWQganVzdCBob3cgaW1wb3J0YW50IHNvY2lhbGl6aW5nIGFuZCBuZXR3b3JraW5nIHJlYWxseSBhcmUgd2l0aGluIHRoZSBpR0VNIGNvbW11bml0eS4gPC9wPlxuICAgICAgPGgzPlN0YXkgZmxleGlibGUgPC9oMz5cbiAgICAgIDxwPlNwb250YW5lb3VzIGNoYW5nZXMgaGFwcGVuIFx1MjAxMyBiYWNrdXAgcGxhbnMgYW5kIHF1aWNrIGRlY2lzaW9ucyBhcmUgYSBtdXN0LiBXaXRoIG91ciBwbGF0Zm9ybSwgd2Ugd2VyZSBhYmxlIHRvIGJldHRlciBjb25uZWN0IHRoZSB0ZWFtcy4gPC9wPlxuICAgICAgPGgzPkZvY3VzIG9uIHRoZSBwYXJ0aWNpcGFudHMgPC9oMz5cbiAgICAgIDxwPlVuZGVyc3RhbmRpbmcgcGFydGljaXBhbnRzJyBuZWVkcyBhbmQgb2ZmZXJpbmcgYSBkaXZlcnNlIHByb2dyYW0gdGhhdCByZXNvbmF0ZXMuIFdlIG5vdyBrbm93IGhvdyBtdWNoIGZ1biB0aGUgZXhjaGFuZ2Ugb24gYm90aCBzY2llbnRpZmljIGFuZCBwZXJzb25hbCBsZXZlbHMgY2FuIGJlLiA8L3A+XG4gICAgICA8aDM+RmVlZGJhY2sgbWFrZXMgaXQgYmV0dGVyIDwvaDM+XG4gICAgICA8cD5HYXRoZXJpbmcgZmVlZGJhY2sgYWZ0ZXIgdGhlIGV2ZW50IGFuZCBsZWFybmluZyBmcm9tIGl0IHRvIG1ha2UgdGhlIG5leHQgb25lIGV2ZW4gYmV0dGVyLiBUaGlzIHdpbGwgbWFrZSB0aGUgMjAyNSBtZWV0LXVwIGluIEZyYW5rZnVydCBldmVuIGJpZ2dlciBhbmQgYmV0dGVyISBUaGFuayB5b3UhIDwvcD5cblxuICAgICAgPEg0IHRleHQ9XCJGZWVkYmFjayBmb3Igb3VyIEV2ZW50XCIvPlxuXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBmZWVkYmFja2JmaFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBiLWxnXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxoNT5TdHJlbmd0aHM8L2g1PlxuICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICA8bGk+V2VsbCBvcmdhbmlzZWQgPC9saT5cbiAgICAgICAgICAgICAgPGxpPkhlbHBmdWwgZmVlZGJhY2sgZnJvbSBqdWRnZXM8L2xpPlxuICAgICAgICAgICAgICA8bGk+VGhlIGRpdmVyc2l0eSBvZiB0aGUgcHJvZ3JhbSBwb2ludHM8L2xpPlxuICAgICAgICAgICAgICA8bGk+VGhlIHZpYmUgYW5kIHRoZSBhdG1vc3BoZXJlPC9saT5cbiAgICAgICAgICAgICAgPGxpPkluZHVzdHJ5IHdhcyBwcmVzZW50PC9saT5cbiAgICAgICAgICAgICAgPGxpPkEgZnJpZW5kbHkgYW5kIGhlbHBmdWwgdGVhbTwvbGk+XG4gICAgICAgICAgICAgIDxsaT5WZXJ5IHByb2Zlc3Npb25hbCBtb2RlcmF0aW9uPC9saT5cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBiLWxvXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxoNT5XZWFrbmVzc2VzPC9oNT5cbiAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgPGxpPlRpbWUgbWFuYWdlbWVudDwvbGk+XG4gICAgICAgICAgICAgIDxsaT5BIGxpdHRsZSBsb25nZXIgdGltZSBidWZmZXIgYmV0d2VlbiBkaWZmZXJlbnQgcHJvZ3JhbSBwYXJ0czwvbGk+XG4gICAgICAgICAgICAgIDxsaT5KdWRnaW5nIHNlc3Npb24gYW5kIHdvcmtzaG9wcyB3ZXJlIHRha2luZyB1cCB3YXkgbW9yZSB0aW1lIHRoYW4gZXhwZWN0ZWQgZHVlIHRvIHNwZWFrZXJzIG5vdCBjYXJpbmcgYWJvdXQgdGhlIHRpbWU8L2xpPlxuICAgICAgICAgICAgICA8bGk+T25seSBvbmUgcGFuZWwgZGlzY3Vzc2lvbjwvbGk+XG4gICAgICAgICAgICAgIDxsaT5NYWJleSB0aGluayBhYm91dCBzaG9ydGVuaW5nIHRoZSBwcm9ncmFtIHBlciBkYXkgYSBsaXR0bGU8L2xpPlxuICAgICAgICAgICAgICA8bGk+Tm8gdGltZSBmb3IgdGhlIExhYiBPbHltcGljczwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG5cbiAgICAgIDxINCB0ZXh0PVwiQWNrbm93bGVkZ21lbnRzXCIvPlxuICAgICAgPHA+VGhlIEJGSCBDb21taXR0ZWUgZXh0ZW5kcyBoZWFydGZlbHQgdGhhbmtzIHRvOiA8L3A+XG4gICAgICA8dWw+XG4gICAgICAgIDxsaT5UaGUgPGI+aUdFTSBUZWFtIG9mIHRoZSBVbml2ZXJzaXR5IG9mIEJpZWxlZmVsZCA8L2I+Zm9yIHRoZWlyIGludmFsdWFibGUgc3VwcG9ydCBpbiBvcmdhbml6aW5nIGFuZCBleGVjdXRpbmcgdGhpcyBldmVudC4gPC9saT5cbiAgICAgICAgPGxpPkFsbCB0aGUgc3BlYWtlcnMsIHdvcmtzaG9wIGxlYWRlcnMsIGFuZCBwYXJ0aWNpcGFudHMgd2hvIGNvbnRyaWJ1dGVkIHRvIG1ha2luZyB0aGlzIE1lZXQtVXAgYSBzdWNjZXNzLiA8L2xpPlxuICAgICAgICA8bGk+ICAgIFRoZSBpR0VNIHRlYW1zIGZvciB0aGVpciBlbmdhZ2VtZW50LCBzY2llbnRpZmljIGV4Y2VsbGVuY2UsIGFuZCBmb3IgbWFraW5nIHRoZSBldmVudCBhbiB1bmZvcmdldHRhYmxlIGV4cGVyaWVuY2UuIDwvbGk+XG4gICAgICAgIDxsaT5PdXIgU3BvbnNvcnMgYW5kIENvbGxhYm9yYXRvcnM8L2xpPlxuICAgICAgPC91bD5cbiAgICAgIDxINCB0ZXh0PVwiTG9va2luZyBGb3J3YXJkIHRvIDIwMjUgXCIvPlxuICAgICAgPHA+aW4gMjAyNSwgd2Ugd2lsbCB3ZWxjb21lIGFsbCBFdXJvcGVhbiBpR0VNIHRlYW1zIHRvIG91ciBsb3ZlbHkgdW5pdmVyc2l0eSBpbiBGcmFua2Z1cnQgQ2l0eS4gVGhpcyBNZWV0LVVwIHdpbGwgcHJlcGFyZSB5b3UgZm9yIHRoZSBHcmFuZCBKYW1ib3JlZSBpbiBQYXJpcy4gQWZ0ZXIgZXN0YWJsaXNoZWQgYSBicmFuZCBhbmQgYSBwbGF0Zm9ybSwgd2UgYXJlIGV4Y2l0ZWQgdG8gYW5ub3VuY2Ugb3VyIHBsYW5zIGZvciB0aGUgZnV0dXJlOiA8L3A+XG4gICAgICA8dWw+XG4gICAgICAgIDxsaT4gICAgPGI+RXhwYW5zaW9uPC9iPjogV2UgYXJlIGFscmVhZHkgcGxhbm5pbmcgdGhlIG5leHQsIGV2ZW4gbGFyZ2VyIGV2ZW50IGF0IHRoZSBVbml2ZXJzaXR5IG9mIEZyYW5rZnVydCBpbiAyMDI1LiBUaGlzIE1lZXQtVXAgd2lsbCBiZSBzaWduaWZpY2FudGx5IGJpZ2dlciBhbmQgbW9yZSBpbnRlcm5hdGlvbmFsLiA8L2xpPlxuICAgICAgICA8bGk+ICAgIDxiPlByZXBhcmF0aW9uIGFuZCBFdmFsdWF0aW9uPC9iPjogV2l0aCBtb3JlIHByZXBhcmF0aW9uIHRpbWUgYW5kIGludGVuc2l2ZSBldmFsdWF0aW9uIG9mIG91ciBmaXJzdCBldmVudCdzIHN1Y2Nlc3MsIHdlIGFpbSB0byBicmluZyBCRkggdG8gRnJhbmtmdXJ0LCBtYWtpbmcgaXQgYW4gZXZlbnQgbm90IHRvIGJlIG1pc3NlZC4gPC9saT5cbiAgICAgICAgPGxpPiAgICA8Yj5Db2xsYWJvcmF0aW9uIGJldHdlZW4gb3RoZXIgTWVldC1VcCBvcmdhbml6ZXJzPC9iPjogQnkgc3VwcG9ydGluZyBvdGhlciBpR0VNIHRlYW1zIHBsYW5uaW5nIHRvIG9yZ2FuaXplIG1lZXQgdXAgaW4gZGlmZmVyZW50IGxvY2F0aW9ucyBhcm91bmQgdGhlIGdsb2JlLCB3ZSBmb3N0ZXJpbmcgdG8gZW5oYW5jZSB0aGUgcG90ZW50aWFsIGFuZCBzdXBwb3J0IG9yZ2FuaXphdGlvbiB3aXRoIG91ciBleHBlcmllbmNlcy4gPC9saT5cbiAgICAgIDwvdWw+XG4gICAgICA8SDQgdGV4dD1cIkNvbmNsdXNpb25cIi8+XG4gICAgICA8cD5UaGUgQkZIIEV1cm9wZWFuIE1lZXQtVXAgMjAyNCB3YXMgYSByZXNvdW5kaW5nIHN1Y2Nlc3MsIHVuaXRpbmcgb3ZlciAyMCB0ZWFtcyBhbmQgMTUwIHBhcnRpY2lwYW50cyBpbiBhIGNlbGVicmF0aW9uIG9mIHNjaWVuY2UsIGlubm92YXRpb24sIGFuZCBjb2xsYWJvcmF0aW9uLiBBcyB3ZSBsb29rIGZvcndhcmQgdG8gZnV0dXJlIGV2ZW50cywgd2UgcmVtYWluIGNvbW1pdHRlZCB0byBvdXIgbWlzc2lvbiBvZiBpZ25pdGluZywgaW5ub3ZhdGluZywgYW5kIGluc3BpcmluZyB0aGUgbmV4dCBnZW5lcmF0aW9uIG9mIHNjaWVudGlzdHMuIEhlcmUncyB0byBtYW55IG1vcmUgZ3JlYXQgbW9tZW50cyBhbmQgYW4gdW5mb3JnZXR0YWJsZSB0aW1lIGZvciBldmVyeSBwYXJ0aWNpcGFudCBcdTIwMTMgY2hlZXJzISA8L3A+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInNtYWxsLXJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCByaWdodFwiPlxuICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL2JmaGV1cm9wZWFubWVldHVwLm1vYmlyaXNlc2l0ZS5jb20vcGFnZTYuaHRtbFwiPjxidXR0b24gY2xhc3NOYW1lPVwidGFibGlua3MgYmZoLW1vcmUtYnV0dG9uIE1lZGljYWxcIj5WaXNpdCB0aGUgV2Vic2l0ZTwvYnV0dG9uPjwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vYmZoX2V1cm9tZWV0L1wiPjxidXR0b24gY2xhc3NOYW1lPVwibGVmdC1idXR0b24gdGFibGlua3MgYmZoLW1vcmUtYnV0dG9uIE1lZGljYWxcIiA+U3RheSBpbiBUb3VjaDwvYnV0dG9uPjwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG4iLCAiXG5pbXBvcnQgeyBQb3N0ZXJSb3csIFBvc3RlciB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL3Bvc3RlclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gUG9zdGVyR2FsbGVyeSgpe1xuICAgIHJldHVybihcbiAgICAgIDw+XG4gICAgICA8UG9zdGVyUm93XG4gICAgICBwb3N0ZXJuYW1lMT1cImJpZWxlZmVsZFwiXG4gICAgICBwb3N0ZXJuYW1lMj1cImhlbHNpbmtpXCJcbiAgICAgIHVybDE9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3Bvc3RlcnMtYW5kLXN0dWZmL2JmaC1wb3N0ZXItYmllbGVmZWxkLTEucG5nXCJcbiAgICAgIHVybDI9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3Bvc3RlcnMtYW5kLXN0dWZmL2JmaC1wb3N0ZXItaGVsc2lua2kucG5nXCJcbiAgICAgIC8+XG4gICAgICA8UG9zdGVyUm93XG4gICAgICBwb3N0ZXJuYW1lMT1cImRyZXNkZW5cIlxuICAgICAgcG9zdGVybmFtZTI9XCJkdHVcIlxuICAgICAgdXJsMT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcG9zdGVycy1hbmQtc3R1ZmYvYmZoLXBvc3Rlci1kcmVzZGVuLnBuZ1wiXG4gICAgICB1cmwyPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wb3N0ZXJzLWFuZC1zdHVmZi9iZmgtcG9zdGVyLWR0dS5wbmdcIlxuICAgICAgLz5cbiAgICAgIDxQb3N0ZXJSb3dcbiAgICAgIHBvc3Rlcm5hbWUxPVwiZWluZGhvdmVuXCJcbiAgICAgIHBvc3Rlcm5hbWUyPVwiZnJlaWJ1cmdcIlxuICAgICAgdXJsMT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcG9zdGVycy1hbmQtc3R1ZmYvYmZoLXBvc3Rlci1laW5kaG92ZW4ucG5nXCJcbiAgICAgIHVybDI9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3Bvc3RlcnMtYW5kLXN0dWZmL2JmaC1wb3N0ZXItZnJlaWJ1cmcucG5nXCJcbiAgICAgIC8+XG4gICAgICA8UG9zdGVyUm93XG4gICAgICBwb3N0ZXJuYW1lMT1cImxldXZlblwiXG4gICAgICBwb3N0ZXJuYW1lMj1cInN5bmJpb1wiXG4gICAgICB1cmwxPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wb3N0ZXJzLWFuZC1zdHVmZi9iZmgtcG9zdGVyLWxldXZlbi5wbmdcIlxuICAgICAgdXJsMj1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcG9zdGVycy1hbmQtc3R1ZmYvYmZoLXBvc3Rlci1zeW5iaW8tY29tcHJlc3NlZC53ZWJwXCJcbiAgICAgIC8+XG4gICAgICA8UG9zdGVyUm93XG4gICAgICBwb3N0ZXJuYW1lMT1cImhhbWJ1cmdcIlxuICAgICAgcG9zdGVybmFtZTI9XCJhYWNoZW5cIlxuICAgICAgdXJsMT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9tZWV0dXAvcG9zdGVycy1hbmQtc3R1ZmYvYmZoLXBvc3Rlci1oYW1idXJnLnBuZ1wiXG4gICAgICB1cmwyPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wb3N0ZXJzLWFuZC1zdHVmZi9iZmgtcG9zdGVyLWFhY2hlbi5wbmdcIlxuICAgICAgLz5cbiAgICAgICA8UG9zdGVyUm93XG4gICAgICBwb3N0ZXJuYW1lMT1cIndhZ2VuaW5nZW5cIlxuICAgICAgcG9zdGVybmFtZTI9XCJoYW5ub3ZlclwiXG4gICAgICB1cmwxPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL21lZXR1cC9wb3N0ZXJzLWFuZC1zdHVmZi9iZmgtcG9zdGVyLXdhZ2VuaW5nZW4ucG5nXCJcbiAgICAgIHVybDI9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3Bvc3RlcnMtYW5kLXN0dWZmL2JmaC1wb3N0ZXItaGFubm92ZXIucG5nXCJcbiAgICAgIC8+XG4gICAgICA8UG9zdGVyIHBvc3Rlcm5hbWU9XCJzdG9ja2hvbG1cIiB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvbWVldHVwL3Bvc3RlcnMtYW5kLXN0dWZmL2JkaC1wb3N0ZXItc3RvY2tob2xtLnBuZ1wiLz5cbiAgXG4gICAgIFxuICAgICAgPC8+XG4gICAgKVxuICB9IiwgImltcG9ydCB7IEJGSFRpbWVsaW5lIH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvQkZILVRpbWVsaW5lXCI7XG5pbXBvcnQgQkZIcGRmIGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL1BkZnNcIjtcbmltcG9ydCBCRkhHYWxsZXJ5IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL1Bob3RvLWdyaWRcIjtcbmltcG9ydCB7IFNlY3Rpb24sIFN1YmVzY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgQWJvdXQgfSBmcm9tIFwiLi9iZmgtYWJvdXRcIjtcbmltcG9ydCB7IFBvc3RlckdhbGxlcnkgfSBmcm9tIFwiLi9wb3N0ZXJnYWxsZXJ5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBNZWV0VVAoKXtcblxuICAgIHJldHVybihcbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJCRkggRXVyb3BlYW4gTWVldFVwXCIgaWQ9XCJCRkggRXVyb3BlYW4gTWVldFVwXCI+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJBZnRlcnZpZGVvXCIgaWQ9XCJCRkggRXVyb3BlYW4gTWVldFVwMVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiZy12aWRlby1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxpZnJhbWUgdGl0bGU9XCJCaWVsZWZlbGQtQ2VCaVRlYzogTWVldFVwICgyMDI0KSBbRW5nbGlzaF1cIiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCI3MDBweFwiIHNyYz1cImh0dHBzOi8vdmlkZW8uaWdlbS5vcmcvdmlkZW9zL2VtYmVkLzMwYjhhNmUwLTJiNGEtNDYxOC04ODY3LTRlYjhlNmE1MjkzNlwiIGZyYW1lQm9yZGVyPVwiMFwiIGFsbG93RnVsbFNjcmVlbj17dHJ1ZX0gc2FuZGJveD1cImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctcG9wdXBzIGFsbG93LWZvcm1zXCI+PC9pZnJhbWU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiXCIgLyogc3R5bGU9e3sgcGFkZGluZ1RvcDogXCI1dndcIn19ICovPlxuICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIlRpbWVsaW5lXCIgaWQ9XCJCRkggRXVyb3BlYW4gTWVldFVwMlwiPlxuICAgICAgICAgIDxCRkhUaW1lbGluZS8+XG4gICAgICAgIDwvU3ViZXNjdGlvbj4gXG4gICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQWJvdXRcIiBpZD1cIkJGSCBFdXJvcGVhbiBNZWV0VXAzXCI+XG4gICAgICAgICAgPEFib3V0Lz5cbiAgICAgICAgPC9TdWJlc2N0aW9uPiBcbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJWaXJ0dWFsIFBvc3RlciBFeGhpYml0aW9uXCIgaWQ9XCJCRkggRXVyb3BlYW4gTWVldFVwNFwiPlxuICAgICAgICAgIDxQb3N0ZXJHYWxsZXJ5Lz5cbiAgICAgICAgPC9TdWJlc2N0aW9uPiBcbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJHYWxsZXJ5XCIgaWQ9XCJCRkggRXVyb3BlYW4gTWVldFVwNlwiPlxuICAgICAgICAgIDxCRkhHYWxsZXJ5Lz5cbiAgICAgICAgPC9TdWJlc2N0aW9uPiBcbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJEb3dubG9hZHNcIiBpZD1cIkJGSCBFdXJvcGVhbiBNZWV0VXA3XCI+XG4gICAgICAgICAgPEJGSHBkZi8+XG4gICAgICAgIDwvU3ViZXNjdGlvbj4gXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9TZWN0aW9uPlxuICAgIClcbn1cbiIsICJpbXBvcnQgeyBINCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyBQREYgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9QZGZzXCI7XG5pbXBvcnQgeyBTdWJlc2N0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gQ29sbGFiQ29udHJpYnV0aW9uKCl7XG4gICAgY29uc3Qge2dvVG9QYWdlc0FuZE9wZW5UYWJ9ID0gdXNlTmF2aWdhdGlvbigpOyBcbiAgICBcbiAgICByZXR1cm4oXG4gICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQ29sbGFib3JhdGlvbnNcIiBpZD1cIk91ciBDb2xsYWJvcmF0aW9uczJcIj5cbiAgICAgICAgICAgIDxINCBpZD1cIkhhbmRib29rLWhlYWRpbmdcIiB0ZXh0PVwiSGFuYm9vayBmb3IgZG93bmxvYWRcIi8+XG4gICAgICAgICAgICA8cD5Eb3dubG9hZCBvdXIgTE5QIEhhbmJvb2sgdGhhdCB3YXMgY3JlYXRlZCBpbiA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdjb2xsczIwMjQnLCAnL2h1bWFuLXByYWN0aWNlcycpfT5jb29wZXJhdGlvbjwvYT4gIHdpdGggdGhlIHRlYW0gPGEgaHJlZj1cImh0dHBzOi8vMjAyNC5pZ2VtLndpa2kvbGlua29waW5nL1wiPkxpbmtcdTAwRjZwaW5nPC9hPi48L3A+XG4gICAgICAgICAgICA8UERGIGxpbms9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL2xpcG9zb21lcy1oYW5kYm9vay5wZGZcIiBuYW1lPVwibGlwb3NvbWVzLWhhbmRib29rLnBkZlwiLz5cbiAgICAgICAgPC9TdWJlc2N0aW9uPlxuXG4gICAgKVxufSIsICJcbmltcG9ydCB7IFR3b0xpbmVQREYgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9QZGZzXCI7XG5pbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gUGF0aWVudENvbnRyaWJ1dGlvbigpe1xuXG4gICAgcmV0dXJuKFxuICAgICAgIDw+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiUGF0aWVudCBNYXR0ZXJzXCIgaWQ9XCJQYXRpZW50IE1hdHRlcnNcIiA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sICAnPlxuICAgICAgICAgICAgICAgIDxUd29MaW5lUERGIGxpbms9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL3BhdGllbnRlbmVpbndpbGxpZ3VuZy1tdXN0ZXJ2b3JsYWdlLWlnZW0tMi5wZGZcIiBuYW1lPVwicGF0aWVudGVuZWlud2lsbGlndW5nLW11c3RlcnZvcmxhZ2UtaWdlbS0yLnBkZlwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nc2VwZXJhdG9yLTIgY29sLTInPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wgICc+XG4gICAgICAgICAgICAgICAgPFR3b0xpbmVQREYgICBsaW5rPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9maW5hbC1oeWdpZW5lLWNvbmNlcHQucGRmXCIgbmFtZT1cImZpbmFsLWh5Z2llbmUtY29uY2VwdC5wZGZcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TZWN0aW9uPlxuXG4gICAgPC8+XG5cbiAgICApXG59IiwgImltcG9ydCB7IFBERiB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL1BkZnNcIjtcbmltcG9ydCB7IFN1YmVzY3Rpb24gfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgUGF0aWVudENvbnRyaWJ1dGlvbiB9IGZyb20gXCIuL3BhdGllbnQtY29udHJpYnV0aW9uXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFNhZmV0eUNvbnRyaWJ1dGlvbigpe1xuXG4gICAgcmV0dXJuKFxuICAgICAgIDw+XG4gICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQmlvc2FmZXR5ICYgU2VjdXJpdHkgXCIgaWQ9XCJPdXIgQ29udHJpYnV0aW9uczFcIiA+XG4gICAgICAgICAgICA8UERGIGxpbms9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL3ByaW1hcnktY3VsdHVyZS1ndWlkZWxpbmUucGRmXCIgbmFtZT1cInByaW1hcnktY3VsdHVyZS1ndWlkZWxpbmUucGRmXCIvPlxuICAgICAgICAgICAgPFBhdGllbnRDb250cmlidXRpb24vPlxuICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgPC8+XG5cbiAgICApXG59IiwgImltcG9ydCB7IFRhYkNvbnRleHQsIFRhYkxpc3QsIFRhYlBhbmVsIH0gZnJvbSBcIkBtdWkvbGFiXCI7XG5pbXBvcnQgeyBCb3gsIFRhYiB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdGFydGVkIH0gZnJvbSBcIi4vd2lraS1zdGFydFwiO1xuaW1wb3J0IHsgU291cmNlcyB9IGZyb20gXCIuL3dpa2ktc291cmNlc1wiO1xuaW1wb3J0IHsgVHJvdWJsZXNob290aW5nIH0gZnJvbSBcIi4vdHJvdWJsZXNob290aW5nXCI7XG5pbXBvcnQgeyBXaWtpT3ZlcnZpZXcgfSBmcm9tIFwiLi93aWtpLW92ZXJ2aWV3XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBXaWtpVGFicygpIHtcbiAgICBjb25zdCBbdmFsdWUsIHNldFZhbHVlXSA9IFJlYWN0LnVzZVN0YXRlKCcxJyk7XG4gIFxuICAgIGNvbnN0IGhhbmRsZUNoYW5nZSA9IChfZXZlbnQ6IFJlYWN0LlN5bnRoZXRpY0V2ZW50LCBuZXdWYWx1ZTogc3RyaW5nKSA9PiB7XG4gICAgICBzZXRWYWx1ZShuZXdWYWx1ZSk7XG4gICAgfTtcbiAgXG4gICAgcmV0dXJuIChcbiAgICAgIDxCb3ggc3g9e3sgd2lkdGg6ICcxMDAlJywgdHlwb2dyYXBoeTogJ2JvZHkxJyB9fT5cbiAgICAgICAgPFRhYkNvbnRleHQgdmFsdWU9e3ZhbHVlfT5cbiAgICAgICAgICA8Qm94IHN4PXt7IGJvcmRlckJvdHRvbTogMSwgYm9yZGVyQ29sb3I6ICdkaXZpZGVyJyB9fT5cbiAgICAgICAgICAgIDxUYWJMaXN0IG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9IGFyaWEtbGFiZWw9XCJsYWIgQVBJIHRhYnMgZXhhbXBsZVwiPlxuICAgICAgICAgICAgICA8VGFiIGxhYmVsPVwiT3ZlcnZpZXdcIiB2YWx1ZT1cIjFcIiAvPlxuICAgICAgICAgICAgICA8VGFiIGxhYmVsPVwiR2V0dGluZyBzdGFydGVkXCIgdmFsdWU9XCI2XCIgLz5cbiAgICAgICAgICAgICAgPFRhYiBsYWJlbD1cIlRyb3VibGVzaG9vdGluZ1wiIHZhbHVlPVwiMlwiIC8+XG4gICAgICAgICAgICAgIDxUYWIgbGFiZWw9XCJDb21wb25lbnRzXCIgdmFsdWU9XCIzXCIgLz5cbiAgICAgICAgICAgICAgPFRhYiBsYWJlbD1cIkRvd25sb2Fkc1wiIHZhbHVlPVwiNFwiIC8+XG4gICAgICAgICAgICAgIDxUYWIgbGFiZWw9XCJSZXNvdXJjZXNcIiB2YWx1ZT1cIjVcIiAvPlxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgIDwvVGFiTGlzdD5cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgICA8VGFiUGFuZWwgdmFsdWU9XCIxXCI+IDxXaWtpT3ZlcnZpZXcvPiAgPC9UYWJQYW5lbD5cbiAgICAgICAgICA8VGFiUGFuZWwgdmFsdWU9XCI2XCI+IDxTdGFydGVkLz4gIDwvVGFiUGFuZWw+XG4gICAgICAgICAgPFRhYlBhbmVsIHZhbHVlPVwiMlwiPiA8VHJvdWJsZXNob290aW5nLz4gPC9UYWJQYW5lbD5cbiAgICAgICAgICA8VGFiUGFuZWwgdmFsdWU9XCIzXCI+ICA8L1RhYlBhbmVsPlxuICAgICAgICAgIDxUYWJQYW5lbCB2YWx1ZT1cIjRcIj4gICA8L1RhYlBhbmVsPlxuICAgICAgICAgIDxUYWJQYW5lbCB2YWx1ZT1cIjVcIj4gIDxTb3VyY2VzLz4gPC9UYWJQYW5lbD5cbiAgICAgICAgPC9UYWJDb250ZXh0PlxuICAgICAgPC9Cb3g+XG4gICAgKTtcbiAgfVxuICAiLCAiZXhwb3J0IGZ1bmN0aW9uIFN0YXJ0ZWQoKXtcblxuICAgIHJldHVybihcbiAgICAgIDw+XG4gICAgICA8aDM+RGlmZmVyZW5jZXMgYmV0d2VlbiBSZWFjdCBhbmQgcGxhaW4gSFRNTDwvaDM+XG4gICAgICA8cD5UaGVzZSBjYW4gbGVhZCB0byBjb25mdXNpbmcgZXJyb3JzIGlmIHlvdSBhcmUgdXNlZCB0byBIVE1MLjwvcD5cbiAgICAgIDx0YWJsZT5cbiAgICAgICAgPHRoZWFkPlxuICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgIDx0aD48L3RoPlxuICAgICAgICAgICAgPHRoPlBsYWluIEhUTUw8L3RoPlxuICAgICAgICAgICAgPHRoPlVzaW5nIFJlYWN0PC90aD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICA8L3RoZWFkPlxuICAgICAgICA8dGJvZHk+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGg+IDxjb2RlPiZsdDt0YWdzJmd0OyA8L2NvZGU+IDwvdGg+XG4gICAgICAgICAgPHRoPiBcbiAgICAgICAgICAgIDxwPiBNb3N0IHRhZ3MgaGF2ZSB0byBiZSBvcGVuZWQgYW5kIGNsb3NlZCwgYnV0IHNvbWUgY2FuIGJlIG9ubHkgb3BlbmVkLiA8L3A+IFxuICAgICAgICAgICAgPHA+IGUuZy4gaW1nLCBiciwgLi4uIDxjb2RlPiAmbHQ7aW1nIHNyYzpcInNvbWVzb3VyY2VcIiBhbHQ9XCJhbHRcIiZndDsgPC9jb2RlPiA8L3A+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGg+XG4gICAgICAgICAgICA8cD4gRXZlcnkgdGFnIGhhcyB0byBiZSBjbG9zZWQuICA8L3A+XG4gICAgICAgICAgICA8cD4gZS5nLiBpbWcsIGJyLCAuLi4gXG4gICAgICAgICAgICAgIDxjb2RlPiAmbHQ7aW1nIHNyYzpcInNvbWVzb3VyY2VcIiBhbHQ9XCJhbHRcIi8mZ3Q7PC9jb2RlPiBvciBcbiAgICAgICAgICAgICAgPGNvZGU+ICZsdDtpbWcgc3JjOlwic29tZXNvdXJjZVwiIGFsdD1cImFsdFwiJmd0OyAmbHQ7L2ltZyZndDsgPC9jb2RlPiAgPC9wPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGg+QXR0cmlidXRlIE5hbWVzPC90aD5cbiAgICAgICAgICA8dGg+XG4gICAgICAgICAgICA8cD4gR2xvYmFsIGF0dHJpYnV0ZSBuYW1lcyBhcmUgYWx3YXlzIHdyaXR0ZW4gaW4gbG93ZXJjYXNlIGFuZCB0d28gd29yZHMgYXJlIGZ1c2VkIGludG8gb25lIGJ5IFwiLVwiLiA8L3A+XG4gICAgICAgICAgICA8cD4gRS5nLiBcImNsYXNzXCIsIFwiY2hhcnNldFwiLCAuLi48L3A+XG4gICAgICAgICAgICA8cD4gVGhpcyBpcyBhbHNvIHRoZSBjYXNlIHdoZW4gdXNpbmcgdGhlIHN5bGUtYXR0cmlidXRlLiA8L3A+XG4gICAgICAgICAgICA8cD4gRS5nLiA8Y29kZT5zdHlsZT1cImNvbG9yOmJsdWU7IHRleHQtYWxpZ246Y2VudGVyXCI8L2NvZGU+PC9wPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoPiBcbiAgICAgICAgICAgIDxwPkdsb2JhbCBhdHRyaWJ1dGUgbmFtZXMgYXJlIGdlbmVyYWxseSB3cml0dGVuIGluIGxvd2VyY2FzZSBidXQgdXNlIHRoZSBjYW1lbCBjYXNlIGlmIHR3byB3b3JkcyBoYXZlIHRvIGJlIGZ1c2VkLiBTb21lIGF0dHJ1YnV0ZXMgaGF2ZSBzbGlnaHRseSBkaWZmZXJlbnQgbmFtZXMuPC9wPlxuICAgICAgICAgICAgPHA+RS5nLiBcImNsYXNzTmFtZVwiLCBcImNoYXJTZXRcIiwgLi4uPC9wPlxuICAgICAgICAgICAgPHA+IFRoaXMgaXMgYWxzbyB0aGUgY2FzZSB3aGVuIHVzaW5nIHRoZSBzdHlsZS1hdHRyaWJ1dGUuPC9wPlxuICAgICAgICAgICAgPHA+IEUuZy4gPGNvZGU+c3R5bGU9JiMxMjM7JiMxMjM7dmVjdG9yRWZmZWN0OiAmcXVvdDtub24tc2NhbGluZy1zdHJva2UmcXVvdDsmIzEyNTsmIzEyNTs8L2NvZGU+PC9wPlxuICAgICAgICAgICAgPHA+VGhpcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgY3NzIGZpbGUhPC9wPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGg+U3R5bGUgYXR0cmlidXRlPC90aD5cbiAgICAgICAgICA8dGg+XG4gICAgICAgICAgICA8cD4gc3R5bGU9XCI8dmFyPmF0dHJpYnV0ZTwvdmFyPjogPHZhcj52YWx1ZTwvdmFyPjsgPHZhcj5hdHRyaWJ1dGU8L3Zhcj46IDx2YXI+dmFsdWU8L3Zhcj5cIiA8L3A+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGg+XG4gICAgICAgICAgICA8cD4gc3R5bGU9JiMxMjM7JiMxMjM7PHZhcj5hdHRyaWJ1dGU8L3Zhcj46IFwiPHZhcj52YWx1ZTwvdmFyPlwiLCA8dmFyPmF0dHJpYnV0ZTwvdmFyPjogXCI8dmFyPnZhbHVlPC92YXI+XCIgJiMxMjU7JiMxMjU7PC9wPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIDwvdGJvZHk+XG4gICAgICA8L3RhYmxlPlxuICAgICAgPGgzPkdvb2QgdG8ga25vd3M8L2gzPlxuICAgICAgPC8+XG4gICAgKVxuICB9XG4gICIsICJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmludGVyZmFjZSBJUHJvcHMge1xuICBvcGVuPzogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgdGl0bGU6IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbn1cblxuXG4gIFxuICBleHBvcnQgY29uc3QgQ29sbGFwc2libGU6IFJlYWN0LkZDPElQcm9wcz4gPSAoeyBvcGVuID0gZmFsc2UsIGNoaWxkcmVuLCB0aXRsZSwgaWQgfSkgPT4ge1xuICAgIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShvcGVuKTtcbiAgICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgY3VycmVudCBVUkwgaGFzIHRoZSBzcGVjaWZpYyBjb2xsYXBzZSBJRFxuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCk7XG4gICAgICAgIGNvbnN0IGNvbGxhcHNlSWQgPSBwYXJhbXMuZ2V0KCdjb2xsYXBzZUlkJyk7XG5cbiAgICAgICAgaWYgKGNvbGxhcHNlSWQgPT09IGlkKSB7XG4gICAgICAgICAgICBzZXRJc09wZW4odHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9LCBbbG9jYXRpb24uc2VhcmNoLCBpZF0pO1xuXG4gICAgY29uc3QgaGFuZGxlRmlsdGVyT3BlbmluZyA9ICgpID0+IHtcbiAgICAgICAgc2V0SXNPcGVuKChwcmV2KSA9PiAhcHJldik7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8ZGl2IGlkPXtpZH0gY2xhc3NOYW1lPVwiY29sbGFwc2UtY2FyZCBiZy1kYlwiPlxuICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDYgY2xhc3NOYW1lPVwiZm9udC13ZWlnaHQtYm9sZCBjb2xsYXBzaWJsZS1hXCI+e3RpdGxlfTwvaDY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG5cIiBvbkNsaWNrPXtoYW5kbGVGaWx0ZXJPcGVuaW5nfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IWlzT3BlbiA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9J3VwZG93bicgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2FuZ2xlLXNtYWxsLWRvd24ucG5nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT0ndXBkb3duJyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvYW5nbGUtc21hbGwtdXAzMnB4LnBuZ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e2lzT3BlbiAmJiA8ZGl2IGNsYXNzTmFtZT1cInAtM1wiPjxociBjbGFzc05hbWU9J2NvbGxhcHNpYmxlLWhyJyAvPntjaGlsZHJlbn08L2Rpdj59PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC8+XG4gICAgKTtcbn07XG5cbiAgZXhwb3J0IGNvbnN0IENvbGxhcHNpYmxlVHdvOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHsgb3BlbiwgY2hpbGRyZW4sIHRpdGxlIH0pID0+IHtcbiAgICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUob3Blbik7XG4gIFxuICAgIGNvbnN0IGhhbmRsZUZpbHRlck9wZW5pbmcgPSAoKSA9PiB7XG4gICAgICBzZXRJc09wZW4oKHByZXYpID0+ICFwcmV2KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICA8c2VjdGlvbiBpZD17dGl0bGV9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbGxhcHNlLWNhcmRcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgPGgzIGNsYXNzTmFtZT1cImZvbnQtd2VpZ2h0LWJvbGQgY29sbGFwc2libGUtYVwiPnt0aXRsZX08L2gzPlxuICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzc05hbWU9XCJidG5cIiBvbkNsaWNrPXtoYW5kbGVGaWx0ZXJPcGVuaW5nfT5cbiAgICAgICAgICAgICAgICB7IWlzT3BlbiA/IChcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT0ndXBkb3duJyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvYW5nbGUtc21hbGwtZG93bi5wbmdcIiAvPlxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9J3VwZG93bicgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVzaWduL2ljb25zL2FuZ2xlLXNtYWxsLXVwMzJweC5wbmdcIiAvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gIFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiXCI+XG4gICAgICAgICAgICA8ZGl2Pntpc09wZW4gJiYgPGRpdiBjbGFzc05hbWU9XCJwLTNcIj4gPGhyIGNsYXNzTmFtZT0nY29sbGFwc2libGUtaHInLz4ge2NoaWxkcmVufTwvZGl2Pn08L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG4gIFxuICBcbiAgZXhwb3J0IGRlZmF1bHQgQ29sbGFwc2libGU7XG5cbiAgZXhwb3J0IGNvbnN0IENvbGxhcHNpYmxlSW5mb0JveDogUmVhY3QuRkM8SVByb3BzPiA9ICh7IG9wZW4sIGNoaWxkcmVuLCB0aXRsZSB9KSA9PiB7XG4gICAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKG9wZW4pO1xuICBcbiAgICBjb25zdCBoYW5kbGVGaWx0ZXJPcGVuaW5nID0gKCkgPT4ge1xuICAgICAgc2V0SXNPcGVuKChwcmV2KSA9PiAhcHJldik7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbGxhcHNlLWNhcmQgYmctaW5mb1wiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgICA8aDYgY2xhc3NOYW1lPVwiZm9udC13ZWlnaHQtYm9sZCBjb2xsYXBzaWJsZS1hXCI+e3RpdGxlfTwvaDY+XG4gICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzTmFtZT1cImJ0blwiIG9uQ2xpY2s9e2hhbmRsZUZpbHRlck9wZW5pbmd9PlxuICAgICAgICAgICAgICAgIHshaXNPcGVuID8gKFxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPSd1cGRvd24nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Rlc2lnbi9pY29ucy9hbmdsZS1zbWFsbC1kb3duLnBuZ1wiIC8+XG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT0ndXBkb3duJyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZXNpZ24vaWNvbnMvYW5nbGUtc21hbGwtdXAzMnB4LnBuZ1wiIC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5cbiAgICAgICAgICAgIDxkaXY+e2lzT3BlbiAmJiA8ZGl2IGNsYXNzTmFtZT1cInAtM1wiPiA8aHIgY2xhc3NOYW1lPSdjb2xsYXBzaWJsZS1ocicvPiB7Y2hpbGRyZW59PC9kaXY+fTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgIiwgImltcG9ydCBDb2xsYXBzaWJsZSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9Db2xsYXBzaWJsZVwiO1xuXG5leHBvcnQgIGZ1bmN0aW9uIFNvdXJjZXMoKXtcbiAgICByZXR1cm4oXG4gICAgICA8ZGl2PlxuICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJ3aWtpLWljb25zXCIgdGl0bGU9XCJJbWFnZXMgYW5kIEljb25zXCIgPlxuICAgICAgICBNb3N0IHRlYW1zIG5lZWQgYSBsb3Qgb2YgcGljdHVyZXMsIGNvbXBvbmVudHMsIGljb25zIGFuZCBhbGlrZS4gVGhleSBjYW4gYmUgZGlmZmljdWx0IHRvIGZpbmQsIGVzcGVjaWFsbHkgZnJlZSBhbmQgb3BlbiBzb3VyY2Ugb25lcy5cbiAgICAgICAgXG4gICAgICAgICAgPHVsPlxuICAgICAgICAgICAgPGxpPiA8YSBocmVmPVwiaHR0cHM6Ly9iaW9pY29ucy5jb20vXCI+IGh0dHBzOi8vYmlvaWNvbnMuY29tLzwvYT4gPC9saT5cbiAgICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vdG9nb3R2LmRiY2xzLmpwL2VuL3BpY3MuaHRtbFwiID4gaHR0cHM6Ly90b2dvdHYuZGJjbHMuanAvZW4vcGljcy5odG1sIDwvYT4gPC9saT5cbiAgICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vc21hcnQuc2Vydmllci5jb20vXCIgPmh0dHBzOi8vc21hcnQuc2Vydmllci5jb20vPC9hPiA8L2xpPlxuICAgICAgICAgICAgPGxpPiA8YSBocmVmPVwiaHR0cHM6Ly9vcGVuY2xpcGFydC5vcmcvXCIgPiBodHRwczovL29wZW5jbGlwYXJ0Lm9yZy88L2E+IDwvbGk+XG4gICAgICAgICAgICA8bGk+IDxhIGhyZWY9XCJodHRwczovL2NvbW1vbnMud2lraW1lZGlhLm9yZy93aWtpL0NhdGVnb3J5OlNWR19maWxlc1wiID5odHRwczovL2NvbW1vbnMud2lraW1lZGlhLm9yZy93aWtpL0NhdGVnb3J5OlNWR19maWxlczwvYT4gPC9saT5cbiAgICAgICAgICAgIDxsaT4gPGEgaHJlZj1cImh0dHBzOi8vd3d3LmZsYXRpY29uLmNvbS9cIj5odHRwczovL3d3dy5mbGF0aWNvbi5jb20vPC9hPiA8L2xpPlxuICAgICAgICAgICAgPGxpPiA8YSBocmVmPVwiaHR0cHM6Ly9iaW9sb2dpY2FsaWNvbnMuY29tL2VuXCI+aHR0cHM6Ly9iaW9sb2dpY2FsaWNvbnMuY29tL2VuPC9hPiA8L2xpPlxuICAgICAgICAgICAgPGxpPiA8YSBocmVmPVwiaHR0cHM6Ly93d3cuc3ZncmVwby5jb20vXCI+aHR0cHM6Ly93d3cuc3ZncmVwby5jb20vPC9hPiA8L2xpPlxuICAgICAgICAgICAgPGxpPiA8YSBocmVmPVwiaHR0cHM6Ly93d3cuaHVtYW5iaW9tZWRpYS5vcmcvXCI+aHR0cHM6Ly93d3cuaHVtYW5iaW9tZWRpYS5vcmcvPC9hPiA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gIFxuICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJ3aWtpLWNvbG9yc1wiIHRpdGxlPVwiQ29sb3Vyc1wiID5cbiAgICAgICAgICBOZWVkIGEgc2xpZ2h0bHkgbGlnaHRlciB2ZXJzaW9uIG9mIG9uZSBvZiB5b3VyIGNvbG9ycyBvciBhIG1peCBvZiB0d28gY29sb3Vycz8gXG4gICAgICAgICAgPHVsPlxuICAgICAgICAgICAgPGxpPjxhIGhyZWY9XCJodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2NvbG9ycy9jb2xvcnNfbWl4ZXIuYXNwXCI+IGh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vY29sb3JzL2NvbG9yc19taXhlci5hc3A8L2E+PC9saT5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJ3aWtpLXRvb2xzXCIgdGl0bGU9XCJDb2RpbmcgVG9vbHNcIj5cbiAgICAgICAgICBHZW5lcmF0b3JzXG4gICAgICAgICAgPHVsPlxuICAgICAgICAgICAgPGxpPjxhIGhyZWY9XCJodHRwczovL3d3dy5jc3Nwb3J0YWwuY29tL1wiPmh0dHBzOi8vd3d3LmNzc3BvcnRhbC5jb20vPC9hPjwvbGk+XG4gICAgICAgICAgICA8bGk+PGEgaHJlZj1cImh0dHBzOi8vaHRtbGNzcy50b29scy9cIj5odHRwczovL2h0bWxjc3MudG9vbHMvPC9hPjwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgXG4gICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIndpa2ktcGxhY2Vob2xkZXJcIiB0aXRsZT1cIlBsYWNlaG9sZGVyc1wiPlxuICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgIDxsaT48YSBocmVmPVwiaHR0cHM6Ly93d3cubG9yZW1pcHN1bS5kZS9cIj5odHRwczovL3d3dy5sb3JlbWlwc3VtLmRlLzwvYT48L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvQ29sbGFwc2libGU+XG4gIFxuICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJ3aWtpLXN2Z3NcIiB0aXRsZT1cIlNWR3NcIj5cbiAgICAgICAgICA8dWw+XG4gICAgICAgICAgICA8bGk+PGEgaHJlZj1cImh0dHBzOi8vc3VwZXJkZXNpZ25lci5jby90b29scy9zdmctYmFja2dyb3VuZHNcIj5odHRwczovL3N1cGVyZGVzaWduZXIuY28vdG9vbHMvc3ZnLWJhY2tncm91bmRzPC9hPjwvbGk+XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgXG4gICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIndpa2ktYWNjZXNzaWJpbGl0eVwiIHRpdGxlPVwiQWNjZXNzaWJpbGl0eVwiPlxuICAgICAgICA8dWw+XG4gICAgICAgICAgPGxpPjxhIGhyZWY9XCJodHRwczovL3NjaGVtYS5vcmdcIj5odHRwczovL3NjaGVtYS5vcmc8L2E+PC9saT5cbiAgICAgICAgPC91bD5cbiAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgIDwvZGl2PlxuICBcbiAgICApXG4gIH0gIiwgIlxuaW1wb3J0IFNlbGVjdCBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuXG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIHZhbHVlOiBzdHJpbmcsXG4gIGxhYmVsOiBzdHJpbmdcbn1cbmNvbnN0IHdpa2lvcHRpb25zID1bXG4gIHt2YWx1ZTogXCJhbGxcIiwgbGFiZWw6IFwiU2hvdyBhbGxcIn0sXG4gIHt2YWx1ZTogXCJyZWFjdFwiLCBsYWJlbDogXCJSZWFjdFwifSxcbiAge3ZhbHVlOiBcInR5cGVcIiwgbGFiZWw6IFwiVHlwZXNcIn0sXG4gIHt2YWx1ZTogXCJwcm9wZXJ0eVwiLCBsYWJlbDogXCJQcm9wZXJ0aWVzXCJ9LFxuICB7dmFsdWU6IFwicGlwZWxpbmVcIiwgbGFiZWw6IFwiR2l0TGFiIFBpcGVsaW5lXCJ9LFxuICB7dmFsdWU6IFwiaHRtbFwiLCBsYWJlbDogXCJIVE1MXCJ9LFxuICB7dmFsdWU6IFwiY3NzXCIsIGxhYmVsOiBcIkNTU1wifSxcbiAgXG5dXG5cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlck11bHRpU2VsZWN0aW9uKGFycjogQXJyYXk8UHJvcHM+KSB7XG4gIGNvbnN0IG5vbm8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIm5vbm9cIik7XG4gIGlmIChub25vKSB7XG4gICAgbm9uby5jbGFzc05hbWUgPSBcIm5vc2hvd1wiO1xuICB9XG5cbiAgY29uc3QgZmlsdGVyYWJsZUVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImZpbHRlcmFibGVcIik7XG5cbiAgLy8gUmVtb3ZlIFwic2hvd1wiIGNsYXNzIGZyb20gYWxsIGVsZW1lbnRzXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsdGVyYWJsZUVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgZWwgPSBmaWx0ZXJhYmxlRWxlbWVudHNbaV07XG4gICAgdzNSZW1vdmVDbGFzcyhlbCwgXCJzaG93XCIpO1xuICB9XG5cbiAgY29uc29sZS5sb2coXCJCZWdpblwiKTtcblxuICAvLyBBcHBseSBmaWx0ZXIgY3JpdGVyaWFcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBmaWx0ZXJhYmxlRWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBlbCA9IGZpbHRlcmFibGVFbGVtZW50c1tpXTtcbiAgICBsZXQgc2hvdWxkU2hvdyA9IHRydWU7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGFycikge1xuICAgICAgY29uc29sZS5sb2coYGVudHJ5OiAke2VudHJ5LnZhbHVlfWApO1xuICAgICAgaWYgKCFlbC5jbGFzc0xpc3QuY29udGFpbnMoZW50cnkudmFsdWUpKSB7XG4gICAgICAgIHNob3VsZFNob3cgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coYHNob3VsZFNob3c6ICR7c2hvdWxkU2hvd31gKTtcbiAgICBpZiAoc2hvdWxkU2hvdykge1xuICAgICAgdzNBZGRDbGFzcyhlbCwgXCJzaG93XCIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGlmIGFueSBlbGVtZW50IGlzIHNob3duXG4gIGNvbnN0IHNob3duRWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwic2hvd1wiKTtcbiAgaWYgKHNob3duRWxlbWVudHMubGVuZ3RoIDwgMSAmJiBub25vKSB7XG4gICAgY29uc29sZS5sb2coc2hvd25FbGVtZW50cy5sZW5ndGgpO1xuICAgIG5vbm8uY2xhc3NOYW1lID0gXCJzaG93XCI7XG4gIH1cbn1cblxuLyogZnVuY3Rpb24gZmlsdGVyU2VsZWN0aW9uKGxhYmVsOiBzdHJpbmcpIHtcbiAgdmFyIHgsIGk7XG4gIHggPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiZmlsdGVyYWJsZVwiKTtcbiAgaWYgKGxhYmVsID09IFwiYWxsXCIpIGxhYmVsID0gXCJcIjtcbiAgZm9yIChpID0gMDsgaSA8IHgubGVuZ3RoOyBpKyspIHtcbiAgICBsZXQgZWwgPSB4W2ldOyBcbiAgICB3M1JlbW92ZUNsYXNzKGVsLCBcInNob3dcIik7XG4gICAgaWYgKHhbaV0uY2xhc3NOYW1lLmluZGV4T2YobGFiZWwpID4gLTEpIHczQWRkQ2xhc3MoeFtpXSwgXCJzaG93XCIpO1xuICB9XG59ICovXG4gIFxuZnVuY3Rpb24gdzNBZGRDbGFzcyhlbGVtZW50OiBFbGVtZW50LCBuYW1lOiBzdHJpbmcpIHtcbiAgdmFyIGksIGFycjEsIGFycjI7XG4gIGFycjEgPSBlbGVtZW50LmNsYXNzTmFtZS5zcGxpdChcIiBcIik7XG4gIGFycjIgPSBuYW1lLnNwbGl0KFwiIFwiKTtcbiAgZm9yIChpID0gMDsgaSA8IGFycjIubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoYXJyMS5pbmRleE9mKGFycjJbaV0pID09IC0xKSB7ZWxlbWVudC5jbGFzc05hbWUgKz0gXCIgXCIgKyBhcnIyW2ldO31cbiAgfVxufVxuXG5mdW5jdGlvbiB3M1JlbW92ZUNsYXNzKGVsZW1lbnQ6IEVsZW1lbnQsIG5hbWU6IHN0cmluZykge1xuICB2YXIgaSwgYXJyMSwgYXJyMjtcbiAgYXJyMSA9IGVsZW1lbnQuY2xhc3NOYW1lLnNwbGl0KFwiIFwiKTtcbiAgYXJyMiA9IG5hbWUuc3BsaXQoXCIgXCIpO1xuICBmb3IgKGkgPSAwOyBpIDwgYXJyMi5sZW5ndGg7IGkrKykge1xuICAgIHdoaWxlIChhcnIxLmluZGV4T2YoYXJyMltpXSkgPiAtMSkge1xuICAgICAgYXJyMS5zcGxpY2UoYXJyMS5pbmRleE9mKGFycjJbaV0pLCAxKTsgICAgIFxuICAgIH1cbiAgfVxuICBlbGVtZW50LmNsYXNzTmFtZSA9IGFycjEuam9pbihcIiBcIik7XG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFdpa2lTZWxlY3Rvcigpe1xuICByZXR1cm4oXG4gICAgPGRpdj5cbiAgICAgIDxXaWtpQWN0aW9uPjwvV2lraUFjdGlvbj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5jbGFzcyBXaWtpQWN0aW9uIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGUgPSB7XG4gICAgc2VsZWN0ZWRPcHRpb246IG51bGwsXG4gIH07XG4gIGhhbmRsZUNoYW5nZSA9IChzZWxlY3RlZE9wdGlvbjogYW55KSA9PiB7XG4gIFx0XG4gIFx0dGhpcy5zZXRTdGF0ZSh7IHNlbGVjdGVkT3B0aW9uIH0sICgpID0+XG4gIFx0Y29uc29sZS5sb2coYE9wdGlvbiBzZWxlY3RlZDpgLCB0aGlzLnN0YXRlLnNlbGVjdGVkT3B0aW9uKVxuICAgXHRcbiAgICApO1xuICAgIFx0ZmlsdGVyTXVsdGlTZWxlY3Rpb24oc2VsZWN0ZWRPcHRpb24pXG4gIH07XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IHNlbGVjdGVkT3B0aW9uIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTZWxlY3RcbiAgICAgICAgdmFsdWU9e3NlbGVjdGVkT3B0aW9ufVxuICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVDaGFuZ2V9XG4gICAgICAgIGlzTXVsdGlcbiAgICAgICAgb3B0aW9ucz17d2lraW9wdGlvbnN9XG4gICAgICAgIGRlZmF1bHRWYWx1ZT17W3dpa2lvcHRpb25zWzBdXX1cbiAgICAgICAgY2xhc3NOYW1lPVwiYmFzaWMtbXVsdGktc2VsZWN0XCJcbiAgICAgICAgY2xhc3NOYW1lUHJlZml4PVwic2VsZWN0XCJcbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufVxuXG4vKiBUeXBlICcoc2VsZWN0ZWRPcHRpb246IFByb3BzIHwgbnVsbCkgPT4gdm9pZCcgaXMgbm90IGFzc2lnbmFibGUgdG8gdHlwZSAnKG5ld1ZhbHVlOiBNdWx0aVZhbHVlPHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgfSB8IG51bGw+LCBhY3Rpb25NZXRhOiBBY3Rpb25NZXRhPHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgfSB8IG51bGw+KSA9PiB2b2lkJy5cbiAgVHlwZXMgb2YgcGFyYW1ldGVycyAnc2VsZWN0ZWRPcHRpb24nIGFuZCAnbmV3VmFsdWUnIGFyZSBpbmNvbXBhdGlibGUuXG4gICAgVHlwZSAncmVhZG9ubHkgKHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IHN0cmluZzsgfSB8IG51bGwpW10nIGlzIG1pc3NpbmcgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIGZyb20gdHlwZSAnUHJvcHMnOiB2YWx1ZSwgbGFiZWwgKi9cbiAgICAvKiBjb25zdCBocG9wdGlvbnMgPVtcbiAgICAgIHt2YWx1ZTogXCJhbGxcIiwgbGFiZWw6IFwiQWxsXCJ9LFxuICAgICAge3ZhbHVlOiBcIkFjYWRlbWlhXCIsIGxhYmVsOiBcIkFjYWRlbWlhXCJ9LFxuICAgICAge3ZhbHVlOiBcIlBhdGllbnRQYXRpZW50XCIsIGxhYmVsOiBcIlBhdGllbnRcIn0sXG4gICAgICB7dmFsdWU6IFwiTWVkaWNhbFwiLCBsYWJlbDogXCJNZWRpY2FsIFByb2Zlc3Npb25hbFwifSxcbiAgICAgIHt2YWx1ZTogXCJwcm9wZXJ0eVwiLCBsYWJlbDogXCJQcm9wZXJ0aWVzXCJ9LFxuICAgICAge3ZhbHVlOiBcInBpcGVsaW5lXCIsIGxhYmVsOiBcIkdpdExhYiBQaXBlbGluZVwifSxcbiAgICAgIHt2YWx1ZTogXCJodG1sXCIsIGxhYmVsOiBcIkhUTUxcIn0sXG4gICAgICB7dmFsdWU6IFwiY3NzXCIsIGxhYmVsOiBcIkNTU1wifSxcbiAgICAgIFxuICAgIF1cblxuICAgIGV4cG9ydCBmdW5jdGlvbiBIUFNlbGVjdG9yKCl7XG4gICAgICByZXR1cm4oXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPEhQQWN0aW9uPjwvSFBBY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKVxuICAgIH1cblxuXG5cbiAgICBjbGFzcyBIUEFjdGlvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gICAgICBzdGF0ZSA9IHtcbiAgICAgICAgc2VsZWN0ZWRPcHRpb246IG51bGwsXG4gICAgICB9O1xuICAgICAgaGFuZGxlQ2hhbmdlID0gKHNlbGVjdGVkT3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZE9wdGlvbiB9LCAoKSA9PlxuICAgICAgICBjb25zb2xlLmxvZyhgT3B0aW9uIHNlbGVjdGVkOmAsIHRoaXMuc3RhdGUuc2VsZWN0ZWRPcHRpb24pXG4gICAgICAgICBcbiAgICAgICAgKTtcbiAgICAgICAgICBmaWx0ZXJNdWx0aVNlbGVjdGlvbihzZWxlY3RlZE9wdGlvbilcbiAgICAgIH07XG4gICAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0ZWRPcHRpb24gfSA9IHRoaXMuc3RhdGU7XG4gICAgXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgdmFsdWU9e3NlbGVjdGVkT3B0aW9ufVxuICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgaXNNdWx0aVxuICAgICAgICAgICAgb3B0aW9ucz17aHBvcHRpb25zfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtbaHBvcHRpb25zWzBdXX1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImJhc2ljLW11bHRpLXNlbGVjdFwiXG4gICAgICAgICAgICBjbGFzc05hbWVQcmVmaXg9XCJzZWxlY3RcIlxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSAqLyIsICJpbXBvcnQgQ29sbGFwc2libGUgZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvQ29sbGFwc2libGVcIjtcbmltcG9ydCB7IEg1IH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IFRyb3VibGVzaG9vdCB9IGZyb20gXCIuL3Ryb3VibGUtZGF0YVwiO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBGaWx0ZXJhYmxlcyhkYXRhOiBBcnJheTxUcm91Ymxlc2hvb3Q+KXtcbiAgICBsZXQgY291bnQgPSAyOyBcbiAgICBsZXQgcmVzdWx0czogSlNYLkVsZW1lbnRbXSAgPSBbXTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF0YS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgbGV0IHRhZ3MgPSBcIlwiXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVtpbmRleF0udGFncy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgdGFncyArPSBkYXRhW2luZGV4XS50YWdzW2ldICsgXCIgXCI7IFxuICAgICAgICB9XG4gICAgICAgIHJlc3VsdHMucHVzaChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgZmlsdGVyYWJsZSBhbGwgJHt0YWdzfWB9IGlkPXtgd2lraS10cm91YmxlLSR7Y291bnR9YH0+XG4gICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIHRpdGxlPXtkYXRhW2luZGV4XS50aXRsZX0gaWQ9e2B3aWtpLXRyb3VibGUtJHtjb3VudH0tY29sbGFwc2libGVgfT5cbiAgICAgICAgICAgICAgICAgICAge2RhdGFbaW5kZXhdLnRleHR9XG4gICAgICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiRXhhbXBsZVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtkYXRhW2luZGV4XS5leGFtcGxlY2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiU29sdXRpb25cIi8+XG4gICAgICAgICAgICAgICAgICAgIHtkYXRhW2luZGV4XS5zb2x1dGlvbmNoaWxkcmVufVxuICAgICAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKVxuICAgICAgICBjb3VudCArKzsgXG4gICAgfVxuICAgIHJldHVybiByZXN1bHRzOyBcbn1cblxuIiwgImV4cG9ydCBmdW5jdGlvbiBDb2RlKHtjaGlsZHJlbn06e2NoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGV9ICl7XG5cbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29kZXNuaXBwZXRcIj5cbiAgICAgICAgICAgIDxjb2RlPlxuICAgICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICAgIDwvY29kZT5cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufSIsICJpbXBvcnQgeyBDb2RlIH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvQ29kZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyb3VibGVzaG9vdHtcbiAgICB0YWdzOiBBcnJheTxTZWFyY2hjcml0ZXJpYT47IFxuICAgIHRpdGxlOiBzdHJpbmc7IFxuICAgIGV4YW1wbGVjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlOyBcbiAgICBzb2x1dGlvbmNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7IFxuICAgIHRleHQ/OiBSZWFjdC5SZWFjdE5vZGU7IFxufVxuXG50eXBlIFNlYXJjaGNyaXRlcmlhID0gXCJodG1sXCIgfCBcInNjcmlwdFwiIHwgXCJjc3NcIiB8IFwicmVhY3RcIiAgfCBcInR5cGVcIiB8IFwicHJvcGVydGllc1wiIHwgXCJwaXBlbGluZVwiIHwgXCJtb2R1bGVcIiB8IFwiYnJvd3NlclwiIHwgXCJjb25zb2xlXCIgfFwib3ZlcmxvYWRcIiA7IFxuXG5leHBvcnQgY29uc3QgdHJvdWJsZWRhdGE6IEFycmF5PFRyb3VibGVzaG9vdD4gPSBbXG4gICAge1xuICAgICAgICB0YWdzOiBbXCJyZWFjdFwiLCBcInR5cGVcIl0sXG4gICAgICAgIHRpdGxlOiBcIlR5cGUgWCBpcyBub3QgYXNzaWduYWJsZSB0byB0eXBlIFkuXCIsXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD48Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcInBpcGVsaW5lXCJdLFxuICAgICAgICB0aXRsZTogXCJUaGUgcGlwZWxpbmUgcGFzc2VkIGJ1dCB0aGUgV2lraSBpcyBub3QgdmlzaWJsZSB1bmRlciB0aGUgdXJsXCIsXG4gICAgICAgIHRleHQ6IDw+PHA+VGhpcyBlcnJvciBjb3VsZCBiZSBhIHJlc3VsdCBvZiBhIHdyb25nIGJhc2UgdXJsIGluIHRoZSB2aXRlLmNvbmZpZy5qcyBmaWxlLjwvcD5cbiAgICAgICAgPHA+RS5nLiBpZiB5b3Ugc3dpdGNoZWQgZnJvbSBwbGFpbiBIVE1MIHRvIHRoZSByZWFjdCBmcmFtZXdvcmsuIDwvcD48Lz4sXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD48Q29kZT5cbiAgICAgICAgPHA+cmV0dXJuIGRlZmluZUNvbmZpZygmIzEyMzs8L3A+XG4gICAgICAgIDxwPmJhc2U6IGAvYCw8L3A+XG4gICAgICAgIDxwPi4uLjwvcD5cbiAgICAgIDwvQ29kZT48Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PHA+Q2hhbmdlIHRoZSBiYXNlIHVybCB0byByZWZsZWN0IHRoZSBjb3JyZWN0IHRlYW0gdXJsLjwvcD5cbiAgICAgICAgPENvZGU+XG4gICAgICAgICAgPHA+cmV0dXJuIGRlZmluZUNvbmZpZygmIzEyMzs8L3A+XG4gICAgICAgICAgPHA+YmFzZTogYC8kJiMxMjM7c3RyaW5nVG9TbHVnKGVudi5WSVRFX1RFQU1fTkFNRSkmIzEyNTsvYCw8L3A+XG4gICAgICAgICAgPHA+Li4uPC9wPlxuICAgICAgICA8L0NvZGU+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcImNvbnNvbGVcIl0sXG4gICAgICAgIHRpdGxlOiBcIk5TX0VSUk9SX0NPUlJVUFRFRF9DT05URU5UIGVycm9yIGluIGNvbnNvbGVcIixcbiAgICAgICAgdGV4dDogPD48cD4gJnJhcnI7IFNlZSBhbHNvIFwiVGhlIHBpcGVsaW5lIHBhc3NlZCBidXQgdGhlIFdpa2kgaXMgbm90IHZpc2libGUgdW5kZXIgdGhlIHVybFwiIGFzIHRoZXNlIGVycm9ycyBjYW4gYmUgY29ubmVjdGVkLjwvcD5cbiAgICAgICAgPHA+IFRoaXMgZXJyb3IgZm9yIGNzcyBhbmQganMgZmlsZXMgY2FuIGJlIHRoZSByZXN1bHQgb2Ygd3JvbmcgPGI+cm9sbHVwT3B0aW9uczwvYj4gaW4gZm9yIHRoZSBidWlsZCwgdG8gYmUgc3BlY2lmaWMgd3JvbmcgPGI+b3V0cHV0PC9iPiBhbmQgPGI+YXNzZXRGaWxlTmFtZXM8L2I+IG9wdGlvbnMgYW5kIHBvc3NpYmx5IHdyb25nL2VtcHR5IDxiPmNzczwvYj4gb3B0aW9ucyBpbiB5b3VyIHZpdGUuY29uZmlnLmpzLiA8L3A+XG4gICAgICAgIDwvPixcbiAgICAgICAgZXhhbXBsZWNoaWxkcmVuOiA8PjxwPkluIG91ciBjYXNlLCB3ZSBoYWQgdGhlIGZvbGxvd2luZyBjb2RlIG9uIG91ciB2aXRlLmNvbmZpZy5qczwvcD5cbiAgICAgICAgPENvZGU+XG4gICAgICAgIDxwPmJ1aWxkOiAmIzEyMzsgPC9wPlxuICAgICAgPHA+b3V0RGlyOiBcImRpc3RcIiw8L3A+XG4gICAgICA8cD5yb2xsdXBPcHRpb25zOiAmIzEyMzs8L3A+XG4gICAgICAgIDxwPm91dHB1dDogJiMxMjM7PC9wPlxuICAgICAgICAgIDxwPiBhc3NldEZpbGVOYW1lczogYGFzc2V0cy9bZXh0XS9bbmFtZV0tW2hhc2hdLltleHRdYDwvcD5cbiAgICAgICAgPHA+JiMxMjU7ICYjMTI1OyAmIzEyNTsgLCA8L3A+XG4gICAgICAgIDwvQ29kZT5cbiAgICAgICAgPHA+IE91ciA8Yj5jc3M8L2I+IG9wdGlvbnMgd2VyZSBlbXB0eSwgd2hpY2ggY291bGQgYWxzbyBoYXZlIHBsYXllZCBhIGZhY3RvciBmb3IgdGhlIGNzcyBmaWxlcy48L3A+XG4gICAgICAgIDxDb2RlPlxuICAgICAgICA8cD5jc3M6ICYjMTIzOzwvcD5cbiAgICAgIDxwPnByZXByb2Nlc3Nvck9wdGlvbnM6ICYjMTIzOzwvcD5cbiAgICAgICAgPHA+Y3NzOiAmIzEyMzs8L3A+XG4gICAgICAgICAgPHA+ICAvL2phdmFzY3JpcHRFbmFibGVkOiB0cnVlLCAvLyBFbmFibGUgSmF2YVNjcmlwdCBpbiBDU1MgKHVzZWZ1bCBmb3IgY2VydGFpbiBDU1MgcHJlcHJvY2Vzc29yIHBsdWdpbnMpPC9wPlxuICAgICAgIDxwPiAmIzEyNTsgJiMxMjU7ICYjMTI1Oyw8L3A+ICBcbiAgICAgICAgPC9Db2RlPjwvPixcbiAgICAgICAgc29sdXRpb25jaGlsZHJlbjogPD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGFnczogW1wiYnJvd3NlclwiLCBcImNvbnNvbGVcIl0sXG4gICAgICAgIHRpdGxlOiBcIkJsb2NrZWQgZHVlIHRvIE1JTUUgdHlwZSAoXHUyMDFDdGV4dC9odG1sXHUyMDFEKSBtaXNtYXRjaCAoWC1Db250ZW50LVR5cGUtT3B0aW9uczogbm9zbmlmZikgKEZpcmVmb3gpXCIsXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD48cD4gJnJhcnI7IFNlZSBhbHNvIFwiUmVmdXNlZCB0byBhcHBseSBzdHlsZSBmcm9tICZsdDsmbHQ7Y3NzIGZpbGUmZ3Q7Jmd0OyBiZWNhdXNlIGl0cyBNSU1FIHR5cGUgKCd0ZXh0L2h0bWwnKSBpcyBub3QgYSBzdXBwb3J0ZWQgc3R5bGVzaGVldCBNSU1FIHR5cGUsIHN0cmljdCBNSU1FIGNoZWNraW5nIGlzIGVuYWJsZWQgKEVkZ2UpXCI8L3A+XG4gICAgICAgIDwvPixcbiAgICAgICAgc29sdXRpb25jaGlsZHJlbjogPD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGFnczogW1wiY29uc29sZVwiLCBcImJyb3dzZXJcIl0sXG4gICAgICAgIHRpdGxlOiBcIlJlZnVzZWQgdG8gYXBwbHkgc3R5bGUgZnJvbSA8PGNzcyBmaWxlPj4gYmVjYXVzZSBpdHMgTUlNRSB0eXBlICgndGV4dC9odG1sJykgaXMgbm90IGEgc3VwcG9ydGVkIHN0eWxlc2hlZXQgTUlNRSB0eXBlLCBzdHJpY3QgTUlNRSBjaGVja2luZyBpcyBlbmFibGVkIChFZGdlKVwiLFxuICAgICAgICBleGFtcGxlY2hpbGRyZW46IDw+PHA+ICZyYXJyOyBTZWUgYWxzbyBcIkJsb2NrZWQgZHVlIHRvIE1JTUUgdHlwZSAoXHUyMDFDdGV4dC9odG1sXHUyMDFEKSBtaXNtYXRjaCAoWC1Db250ZW50LVR5cGUtT3B0aW9uczogbm9zbmlmZikgKEZpcmVmb3gpXCI8L3A+IDwvPixcbiAgICAgICAgc29sdXRpb25jaGlsZHJlbjogPD48cD5UaGlzIGVycm9yIGNvdWxkIDwvcD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGFnczogW1wicmVhY3RcIiwgXCJ0eXBlXCJdLFxuICAgICAgICB0aXRsZTogXCJUeXBlICd1bmRlZmluZWQnIGNhbm5vdCBiZSB1c2VkIGFzIGFuIGluZGV4IHR5cGVcIixcbiAgICAgICAgZXhhbXBsZWNoaWxkcmVuOiA8PjwvPixcbiAgICAgICAgc29sdXRpb25jaGlsZHJlbjogPD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGFnczogW1wicmVhY3RcIiwgXCJvdmVybG9hZFwiXSxcbiAgICAgICAgdGl0bGU6IFwiTm8gb3ZlcmxvYWQgbWF0Y2hlcyB0aGlzIGNhbGwuXCIsXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD48Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcInJlYWN0XCIsIFwibW9kdWxlXCJdLFxuICAgICAgICB0aXRsZTogXCJNb2R1bGUgWiBoYXMgYWxyZWFkeSBleHBvcnRlZCBhIG1lbWJlciBuYW1lZCBBLiBDb25zaWRlciBleHBsaWNpdGx5IHJlLWV4cG9ydGluZyB0byByZXNvbHZlIHRoZSBhbWJpZ3VpdHkuXCIsXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD5pbmRleC50c3g6IFxuICAgICAgICA8cCBjbGFzc05hbWU9XCJwcm9ibGVtLWVycm9yXCI+IE1vZHVsZSBcIi4vQmZoLnRzeFwiIGhhcyBhbHJlYWR5IGV4cG9ydGVkIGEgbWVtYmVyIG5hbWVkICdMYWJUYWJzJy4gQ29uc2lkZXIgZXhwbGljaXRseSByZS1leHBvcnRpbmcgdG8gcmVzb2x2ZSB0aGUgYW1iaWd1aXR5LjwvcD5cbiAgICAgICAgPC8+LFxuICAgICAgICBzb2x1dGlvbmNoaWxkcmVuOiA8PjxwPlNpbXBseSByZW5hbWUgdGhlIGZ1bmN0aW9uIGluIG9uZSBvZiB0aGUgbW9kdWxlcyBvciBjb25zaWRlciBtYWtpbmcgaXQgYSBjb21wb25lbnQgaWYgeW91IHBsYW4gb24gdXNpbmcgaXQgZnJlcXVlbnRseS4gIFxuICAgICAgPC9wPjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICB0YWdzOiBbXCJwaXBlbGluZVwiXSxcbiAgICAgICAgdGl0bGU6IFwiZXJyb3IgVFM2MTMzOiAnZXZlbnQnIGlzIGRlY2xhcmVkIGJ1dCBpdHMgdmFsdWUgaXMgbmV2ZXIgcmVhZC5cIixcbiAgICAgICAgZXhhbXBsZWNoaWxkcmVuOiA8Pkhvcml6b250YWxUaW1lbGluZS50c3g6IFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRlcm1pbmFsLWJveFwiPlxuICAgICAgICAgICQgeWFybiBidWlsZFxuICAgICAgICAgIDxwPnlhcm4gcnVuIHYxLjIyLjE5PC9wPlxuICAgICAgICAgIDxwPiQgdHNjICYmIHZpdGUgYnVpbGQ8L3A+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGVybWluYWwtZXJyb3JcIj5zcmMvY29tcG9uZW50cy9Ib3Jpem9udGFsVGltZWxpbmUudHN4KDY3LDIzKTogZXJyb3IgVFM2MTMzOiAnZXZlbnQnIGlzIGRlY2xhcmVkIGJ1dCBpdHMgdmFsdWUgaXMgbmV2ZXIgcmVhZC5cbiAgICAgICAgICBlcnJvciBDb21tYW5kIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAyLjwvcD5cbiAgICAgICAgICA8cD5pbmZvIFZpc2l0IGh0dHBzOi8veWFybnBrZy5jb20vZW4vZG9jcy9jbGkvcnVuIGZvciBkb2N1bWVudGF0aW9uIGFib3V0IHRoaXMgY29tbWFuZC48L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwPmluPC9wPlxuICAgICAgICA8Q29kZT5cbiAgICAgICAgY29uc3Qgb3BlblBvcCA9ICAoZXZlbnQgOiBSZWFjdC5Nb3VzZUV2ZW50Jmx0O0hUTUxCdXR0b25FbGVtZW50LCBNb3VzZUV2ZW50Jmd0OykgPSZndDsge31cbiAgICAgICAgPC9Db2RlPjwvPixcbiAgICAgICAgc29sdXRpb25jaGlsZHJlbjogPD48cD5DaGFuZ2UgdG86IDwvcD5cbiAgICAgICAgPENvZGU+XG4gICAgICAgIGNvbnN0IG9wZW5Qb3AgPSAgKF9ldmVudCA6IFJlYWN0Lk1vdXNlRXZlbnQmbHQ7SFRNTEJ1dHRvbkVsZW1lbnQsIE1vdXNlRXZlbnQmZ3Q7KSA9Jmd0OyB7fVxuICAgICAgICA8L0NvZGU+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcImh0bWxcIl0sXG4gICAgICAgIHRpdGxlOiBcIlVuZXhwZWN0ZWQgdG9rZW4uIERpZCB5b3UgbWVhbiBgeyc+J31gIG9yIGAmZ3Q7YD9cXFwiIGlkPVxcXCJ3aWtpLXRyb3VibGUtMTZcIixcbiAgICAgICAgZXhhbXBsZWNoaWxkcmVuOiA8PjwvPixcbiAgICAgICAgc29sdXRpb25jaGlsZHJlbjogPD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGFnczogW1wicmVhY3RcIiwgXCJ0eXBlXCJdLFxuICAgICAgICB0aXRsZTogXCJUeXBlICd4IHwgdW5kZWZpbmVkJyBpcyBub3QgYXNzaWduYWJsZSB0byB0eXBlICd4J1wiLFxuICAgICAgICBleGFtcGxlY2hpbGRyZW46IDw+PC8+LFxuICAgICAgICBzb2x1dGlvbmNoaWxkcmVuOiA8PjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICB0YWdzOiBbXCJyZWFjdFwiLCBcInR5cGVcIiwgXCJwcm9wZXJ0aWVzXCJdLFxuICAgICAgICB0aXRsZTogXCJUeXBlIFggaXMgbWlzc2luZyB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgZnJvbSB0eXBlIFk6IGEsIGIsIGNcIixcbiAgICAgICAgZXhhbXBsZWNoaWxkcmVuOiA8PjxwIGNsYXNzTmFtZT1cInByb2JsZW0tZXJyb3JcIj5cbiAgICAgICAgVHlwZSAnJiMxMjM7IGRhdGU6IHN0cmluZzsgdGV4dDogc3RyaW5nOyAmIzEyNTsnIGlzIG1pc3NpbmcgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzIGZyb20gdHlwZSAnVGV4dEV2ZW50UHJvcHMnOiBtYXJrZXIsIGNhcmRcbiAgICAgICAgPC9wPlxuICAgICAgICA8cD5JbiByZWZlcmVuY2Ugb2YgdGhlIGludGVyZmFjZSBUZXh0RXZlbnRQcm9wczo8L3A+XG4gICAgICAgIDxDb2RlPlxuICAgICAgICA8cD5pbnRlcmZhY2UgVGV4dEV2ZW50UHJvcHMgJiMxMjM7IDwvcD5cbiAgICAgICAgPHA+ZGF0ZTogc3RyaW5nOyA8L3A+XG4gICAgICAgIDxwPnRleHQ6IHN0cmluZzsgPC9wPlxuICAgICAgICA8cD5tYXJrZXI6IFJlYWN0LlJlYWN0Tm9kZTsgPC9wPlxuICAgICAgICA8cD5pZDogc3RyaW5nOyA8L3A+XG4gICAgICAgIDxwPmNhcmQ6IEZ1bmN0aW9uOyA8L3A+XG4gICAgICAgICYjMTI1O1xuICAgICAgICA8L0NvZGU+XG4gICAgICAgIDxwPkZvciB0aGUgY29kZTo8L3A+XG4gICAgICAgIDxDb2RlPlxuICAgICAgICAgIDxwPiAmbHQ7VGV4dEV2ZW50IDwvcD5cbiAgICAgICAgICA8cD4gaWQ9XCIwNVwiPC9wPlxuICAgICAgICAgIDxwPiBkYXRlPVwiMTQtMDYtMjAyNFwiPC9wPlxuICAgICAgICAgIDxwPiB0ZXh0PVwiVGVzdCB0ZXN0XCI8L3A+XG4gICAgICAgICAgPHA+IC8mZ3Q7PC9wPlxuICAgICAgICA8L0NvZGU+PC8+LFxuICAgICAgICBzb2x1dGlvbmNoaWxkcmVuOiA8PlxuICAgICAgICA8aDY+U29sdXRpb25zPC9oNj5cbiAgICAgICAgPHA+T25lIHNvbHV0aW9uIGNvdWxkIGJlIGdldHRpbmcgcmlkIG9mIHRoZSBwcm9wZXJ0aWVzIHlvdSBkbyBub3QgbmVlZCBldmVyeXdoZXJlIGFuZCBjcmVhdGUgbmV3IHByb3BlcnR5IGludGVyZmFjZXMgZm9yIGFsbCBjYXNlcy48L3A+XG4gICAgICAgIDxwPklmIHlvdSB3YW50IHRvIHN0aWNrIHRvIG1vcmUgZ2VuZXJhbCBJbnRlcmZhY2VzLCB5b3UgY2FuIG1ha2UgcHJvcGVydGllcyBvcHRpb25hbDo8L3A+XG4gICAgICAgIDxDb2RlPlxuICAgICAgICA8cD5pbnRlcmZhY2UgVGV4dEV2ZW50UHJvcHMgJiMxMjM7IDwvcD5cbiAgICAgICAgPHA+ZGF0ZTogc3RyaW5nOyA8L3A+XG4gICAgICAgIDxwPnRleHQ6IHN0cmluZzsgPC9wPlxuICAgICAgICA8cD5tYXJrZXI/OiBSZWFjdC5SZWFjdE5vZGU7IDwvcD5cbiAgICAgICAgPHA+aWQ6IHN0cmluZzsgPC9wPlxuICAgICAgICA8cD5jYXJkPzogRnVuY3Rpb247IDwvcD5cbiAgICAgICAgJiMxMjU7XG4gICAgICAgIDwvQ29kZT5cbiAgICAgICAgPHA+UmVtZW1iZXIgdGhhdCB0aGlzIGNhbiBsZWFkIHRvIGRpZmZlcmVudCByZXR1cm4gY2FzZXMgZm9yIHlvdXIgZnVuY3Rpb25zLjwvcD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGFnczogW1wicmVhY3RcIiwgXCJ0eXBlXCIsIFwicHJvcGVydGllc1wiXSxcbiAgICAgICAgdGl0bGU6IFwiUHJvcGVydHkgeCBkb2VzIG5vdCBleGlzdCBvbiB0eXBlIFkuXCIsXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD48Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcInJlYWN0XCIsIFwidHlwZVwiLCBcInByb3BlcnRpZXNcIl0sXG4gICAgICAgIHRpdGxlOiBcIlByb3BlcnR5IHggaXMgbWlzc2luZyBpbiB0eXBlIHkgYnV0IHJlcXVpcmVkIGluIHR5cGUgei5cIixcbiAgICAgICAgZXhhbXBsZWNoaWxkcmVuOiA8PjxwIGNsYXNzTmFtZT1cInByb2JsZW0tZXJyb3JcIj4gQXJndW1lbnQgb2YgdHlwZSAnJiMxMjM7IFt4OiBzdHJpbmddOiBhbnk7ICYjMTI1OycgaXMgbm90IGFzc2lnbmFibGUgdG8gcGFyYW1ldGVyIG9mIHR5cGUgJyYjMTIzOyBjbGFzc05hbWVzOiBzdHJpbmdbXTsgJiMxMjU7Jy5cbiAgICAgICAgUHJvcGVydHkgJ2NsYXNzTmFtZXMnIGlzIG1pc3NpbmcgaW4gdHlwZSAnJiMxMjM7IFt4OiBzdHJpbmddOiBhbnk7ICYjMTI1OycgYnV0IHJlcXVpcmVkIGluIHR5cGUgJyYjMTIzOyBjbGFzc05hbWVzOiBzdHJpbmdbXTsgJiMxMjU7Jy48L3A+XG4gICAgICAgIDxwPiBmb3IgPC9wPlxuICAgICAgICA8Q29kZT5jbGFzc05hbWU9JiMxMjM7am9pbkNsYXNzTmFtZXMoJiMxMjM7WyYjMzk7dGV4dC1ldmVudCYjMzk7LCBjbGFzc05hbWVdJiMxMjU7KSYjMTI1OyA8L0NvZGU+XG4gICAgICAgIDwvPixcbiAgICAgICAgc29sdXRpb25jaGlsZHJlbjogPD48cD5JbiB0aGlzIGV4YW1wbGUsIHRoZSBwcm9ibGVtIHdhcyB0aGF0IHRoZSBwcm9wZXJ0eSBcImNsYXNzTmFtZXNcIiB3YXMgbm90IGV4cGxpY2l0bHkgbmFtZWQuPC9wPlxuICAgICAgICA8cD5DaGFuZ2luZyBpdCB0byA8L3A+XG4gICAgICAgICAgPENvZGU+Y2xhc3NOYW1lPSYjMTIzO2pvaW5DbGFzc05hbWVzKCYjMTIzOzxiPmNsYXNzTmFtZXM6PC9iPlsmIzM5O3RleHQtZXZlbnQgJiMzOTssIGNsYXNzTmFtZV0mIzEyNTspJiMxMjU7PC9Db2RlPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGFnczogW1wiY3NzXCJdLFxuICAgICAgICB0aXRsZTogXCJJIGFkZGVkIGNzcyBzdHlsZXMgYnV0IHRoZXkgZG8gbm90IHNob3dcIixcbiAgICAgICAgZXhhbXBsZWNoaWxkcmVuOiA8PjxwPlRoZSBjb2xvciBpcyBub3Qgc2hvd2luZyBvbiBob3Zlci48L3A+XG4gICAgICAgIDxDb2RlPi5uYXYtbGluazpob3ZlciAmIzEyMztcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZGFya3B1cnBsZSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWVsbG93KSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAmIzEyNTs8L0NvZGU+PC8+LFxuICAgICAgICBzb2x1dGlvbmNoaWxkcmVuOiA8PjxwPlN0eWxlcyBub3Qgc2hvd2luZyBpcyBvZnRlbiBhIGNhc2Ugb2YgYSBkaWZmZXJlbnQgc3R5bGUgb3ZlcnJpZGluZyB5b3VyIHN0eWxlLiBTb21lIHN0eWxlcyBhcmUgcHJlIGRlZmluZWQgYnkgYm9vdHN0cmFwIG9yIG90aGVyIHBhY2thZ2VzIHlvdSBtYXkgdXNlLiA8L3A+XG4gICAgICAgIDxwPiBJZiBhbiBleHRlcm5hbCBwYWNrYWdlIGlzIG92ZXJyaWRpbmcgeW91ciBzdHlsZSwgeW91IG5lZWQgdG8gYWRkIHRoZSA8Yj4haW1wb3J0YW50PC9iPiB0YWcgdG8geW91ciBzdHlsZS4gPC9wPlxuICAgICAgICA8cD4gSWYgb25lIG9mIHlvdXIgb3duIHN0eWxlcyBpcyBvdmVycmlkaW5nIHRoZSBuZXcgc3R5bGUsIHlvdSBjYW4gY2hhbmdlIHlvdXIgb2xkIHN0eWxlIG9yIGRlZmluZSBhIG5ldywgbW9yZSBzcGVjaWZpYyBzdHlsZSBjYXNlLiBFLmcuIGJ5IHVzaW5nIGEgbW9yZSBzcGVjaWZpYyBjc3MgcGF0aC4gQnV0IHlvdSBtYXkgc3RpbGwgbmVlZCB0byBhZGQgdGhlIDxiPiFpbXBvcnRhbnQ8L2I+IHRhZy4gPC9wPlxuICAgICAgICA8Q29kZT4gLm5hdi1saW5rOmhvdmVyICYjMTIzO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1kYXJrcHVycGxlKSA8Yj4haW1wb3J0YW50PC9iPjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15ZWxsb3cpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICYjMTI1O1xuICAgICAgICAgIDwvQ29kZT48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGFnczogW1wiY3NzXCIsIFwic2NyaXB0XCJdLFxuICAgICAgICB0aXRsZTogXCIoc3VidGFic1tpXSBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFxcXCJ4XFxcIjsgaXMgbm90IHdvcmtpbmcuXCIsXG4gICAgICAgIGV4YW1wbGVjaGlsZHJlbjogPD48Lz4sXG4gICAgICAgIHNvbHV0aW9uY2hpbGRyZW46IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHRhZ3M6IFtcInJlYWN0XCIsIFwic2NyaXB0XCJdLFxuICAgICAgICB0aXRsZTogXCJQcm9wZXJ0eSAnc3R5bGUnIGRvZXMgbm90IGV4aXN0IG9uIHR5cGUgJ0VsZW1lbnQnLlwiLFxuICAgICAgICBleGFtcGxlY2hpbGRyZW46IDw+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cInByb2JsZW0tZXJyb3JcIj5cbiAgICAgICAgICAgIFByb3BlcnR5ICdzdHlsZScgZG9lcyBub3QgZXhpc3Qgb24gdHlwZSAnRWxlbWVudCcuXG4gICAgICAgIDwvcD5cbiAgICAgICAgPHA+Zm9yIHRoZSBDb2RlOiA8L3A+XG4gICAgICAgIDxDb2RlPlxuICAgICAgICBjb25zdCBzdWJ0YWJzICYjeDNEOyBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCZxdW90O3NpZGVzdWJ0YWImcXVvdDspO1xuXG4gICAgICAgIGZvciAobGV0IGkgJiN4M0Q7IDA7IGkgJmx0OyBzdWJ0YWJzLmxlbmd0aDsgaSsrKSAmIzEyMztcbiAgICAgICAgICAgIChzdWJ0YWJzW2ldKS5zdHlsZS5kaXNwbGF5ICYjeDNEOyAmcXVvdDtub25lJnF1b3Q7O1xuICAgICAgICAgICAgY29uc29sZS5sb2coXFwmI3g2MDtIaWRpbmcgc3VidGFiOiAkJiMxMjM7c3VidGFic1tpXS5pZCYjMTI1O1xcJiN4NjA7KTtcbiAgICAgICAgICAgICYjMTI1O1xuICAgICAgICA8L0NvZGU+XG4gICAgICAgIDwvPixcbiAgICAgICAgc29sdXRpb25jaGlsZHJlbjogPD48Lz5cbiAgICB9LFxuXG5cbiAgICBdIiwgIlxuaW1wb3J0IHsgV2lraVNlbGVjdG9yIH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvRmlsdGVyXCI7XG5pbXBvcnQgeyBGaWx0ZXJhYmxlcyB9IGZyb20gXCIuL0ZpbHRlcmFibGVzXCI7XG5pbXBvcnQgeyB0cm91YmxlZGF0YSB9IGZyb20gXCIuL3Ryb3VibGUtZGF0YVwiO1xuZXhwb3J0IGZ1bmN0aW9uIFRyb3VibGVzaG9vdGluZygpe1xuICBsZXQgaXRlbXMgPSBGaWx0ZXJhYmxlcyh0cm91YmxlZGF0YSlcbiAgcmV0dXJuKFxuICAgIDxkaXY+XG4gICAgICBQbGVhc2Ugc2VsZWN0IHdoYXQgeW91IHdhbnQgdG8gdHJvdWJsZXNob290IGZvci4gXG4gICAgICA8V2lraVNlbGVjdG9yPjwvV2lraVNlbGVjdG9yPlxuICAgICAgPGRpdiBpZD1cIm5vbm9cIiBjbGFzc05hbWU9XCJub3Nob3dcIj5cbiAgICAgICAgVGhpcyBjb21iaW5hdGlvbiByZXR1cm5zIG5vIGluc3RhbmNlcy4gXG4gICAgICA8L2Rpdj5cbiAgICAgIHtpdGVtc31cblxuXG5cblxuXG5cblxuXG5cbiAgICA8L2Rpdj5cbiAgKVxufSBcbiIsICJcbmV4cG9ydCBmdW5jdGlvbiBXaWtpT3ZlcnZpZXcoKXtcblxuICAgIHJldHVybihcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8cD5UbyBoZWxwIHRlYW1zIGdldCBzdGFydGVkLCB3ZSB3cm90ZSBkb3duIHdoYXQgd2Ugd2lzaGVkIHdlIHdvdWxkIGhhdmUgZWFzaWx5IGZvdW5kIHdoaWxlIGJ1aWxkaW5nIG91ciB3aWtpIHdpdGggUmVhY3QuPC9wPlxuICAgICAgICAgICAgICAgIDxwPjxiPkdldHRpbmcgc3RhcnRldDwvYj4gZXhwbGFpbnMgc29tZSBiYXNpY3MgdGhhdCBhcmUgaW1wb3J0YW50IHRvIGtub3cuIFRoaXMgZXNwZWNpYWxseSBjb25jZXJucyB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiB1c2luZyBwbGFpbiBIVE1MIGFuZCBSZWFjdCwgYnV0IHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIHdpa2ksIHRvby4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPjxiPlRyb3VibGVzaG9vdGluZzwvYj4gaXMgYW4gaXRlcmFjdGl2ZSBzZWFyY2ggZm9yIHByb2JsZW1zIHRoYXQgbWF5IGFyaXNlIGFuZCBob3cgd2Ugc29sdmVkIHRoZW0uICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+PGI+Q29tcG9uZW50czwvYj4gY29udGFpbnMgc29tZSBjb21wb25lbnRzIHdlIHVzZWQgdGhhdCB3ZSBmb3VuZCB2ZXJ5IGhlbHBmdWwuIE1hbnkgcGFja2FnZXMgdGhhdCBvZmZlciBjb21wb25lbnRzIHN1Y2ggYXMgdGltZWxpbmVzIHdlcmUgbm90IGV4YWN0bHkgd2hhdCB3ZSB3ZXJlIGxvb2tpbmcgZm9yIG9yIGRpZCBub3Qgd29yayB3aXRoIG91ciBwYWNrYWdlcy4gVGhlIHNvbHV0aW9uIHdhcyB0byBjcmVhdGUgb3VyIG93biBjb21wb25lbnRzLiA8L3A+XG4gICAgICAgICAgICAgICAgPHA+PGI+RG93bmxvYWRzPC9iPiBjb250YWlucyBzdmdzIHdlIGNyZWF0ZWQgLSBub3QgYWxsIG9mIHRoZW0gd2Ugd2VyZSBhYmxlIHRvIHVzZS4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPjxiPlJlc291cmNlczwvYj4gY29udGFpbnMgbGlua3MgenUgaGVscGZ1bCBleHRlcm5hbC4gPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59IiwgImltcG9ydCB7IFNlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgV2lraVRhYnMgfSBmcm9tIFwiLi93aWtpLXRhYnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFdpa2kgICgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJXaWtpIERldmVsb3BlbWVudFwiIGlkPVwiT3VyIENvbnRyaWJ1dGlvbnMzXCI+XG4gICAgICAgICAgICA8V2lraVRhYnM+PC9XaWtpVGFicz4gXG4gICAgICAgICA8L1NlY3Rpb24+XG4gICAgKTtcbiAgfVxuICAiLCAiaW1wb3J0IHsgR3VpZGVQREYgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9QZGZzXCI7XG5pbXBvcnQgeyBTZWN0aW9uLCBTdWJlc2N0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIjtcbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgTWVldFVQIH0gZnJvbSBcIi4vQkZIL2JmaFwiO1xuaW1wb3J0IHsgQ29sbGFiQ29udHJpYnV0aW9uIH0gZnJvbSBcIi4vY29sbGFic1wiO1xuaW1wb3J0IHsgU2FmZXR5Q29udHJpYnV0aW9uIH0gZnJvbSBcIi4vc2FmZXR5LWNvbnRyaWJ1dGlvblwiO1xuaW1wb3J0IHsgV2lraSB9IGZyb20gXCIuL1dpa2kvd2lraVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gQ29udHJpYnV0aW9uKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTZWN0aW9uIHRpdGxlPVwiQWJzdHJhY3RcIiBpZD1cIkFic3RyYWN0XCI+XG4gICAgICAgIDxwPlRoZSBCRkggRXVyb3BlYW4gTWVldC1VcCBzaG93Y2FzZWQgc2lnbmlmaWNhbnQgY29udHJpYnV0aW9ucyB0byB0aGUgaUdFTSBjb21tdW5pdHkgdGhyb3VnaCBleHRlbnNpdmUgY29sbGFib3JhdGlvbnMgYW5kIGlubm92YXRpdmUgYWR2YW5jZW1lbnRzLiBPdXIga2V5IGNvbnRyaWJ1dGlvbnMgaW5jbHVkZSB0aGUgZGV2ZWxvcG1lbnQgb2YgdGhlIEJGSCBHdWlkZWxpbmUgaW4gcGFydG5lcnNoaXAgd2l0aCBpR0VNIHRlYW1zIEhhbWJ1cmcgYW5kIEZyYW5rZnVydCwgcHJvdmlkaW5nIGEgYmx1ZXByaW50IGZvciBmdXR1cmUgTWVldCBVcHMsIGFuZCBhIGNvbGxhYm9yYXRpdmUgdmlkZW8gcG9kY2FzdCB3aXRoIGlHRU0gTVx1MDBGQ25zdGVyLCBvZmZlcmluZyBpbnNpZ2h0cyBpbnRvIHRlYW0gZ3Jvd3RoLiA8L3A+XG4gICAgICAgIDxwPkFkZGl0aW9uYWxseSwgd2UgY29udHJpYnV0ZWQgdG8gdGhlIExOUCBIYW5kYm9vayB3aXRoIHRlYW1zIGZyb20gTGlua29waW5nLCBQYXRyYXMsIFJhZGJvdWQgVW5pdmVyc2l0eSwgYW5kIFRFUk1PU1otU2VseWUtSFVOLCBhZHZhbmNpbmcgbGlwaWQtYmFzZWQgZGVsaXZlcnkgc3lzdGVtcyBmb3IgdGhlcmFwZXV0aWMgdXNlLiA8L3A+XG4gICAgICAgIDxwPk9uIHRoZSBzY2llbnRpZmljIGZyb250LCB3ZSBkZXZlbG9wZWQgcHJhY3RpY2FsIHRvb2xzIGxpa2UgYSBjb2xsZWN0aW9uIG9mIG9wdGltaXplZCBwcm90b2NvbHMsIHRoZSBQcmVDTCByZXBvcnRlciBzeXN0ZW0gZm9yIFByaW1lIEVkaXRpbmcsIGFuZCB0aGUgaW5ub3ZhdGl2ZSBQcmltZUd1aWRlIFByaW1lIEVkaXRpbmcgdGVjaG5vbG9neSwgZW5oYW5jaW5nIHJlc2VhcmNoIGVmZmljaWVuY3kgYW5kIHByZWNpc2lvbi4gT3VyIEFpckJ1ZGR5IGxpcGlkIG5hbm9wYXJ0aWNsZSBzeXN0ZW0gcmVwcmVzZW50cyBhIGJyZWFrdGhyb3VnaCBpbiBnZW5lIHRoZXJhcHksIG9mZmVyaW5nIGEgc2FmZXIgYW5kIG1vcmUgZWZmZWN0aXZlIG1ldGhvZCBmb3IgbHVuZy1zcGVjaWZpYyBSTkEgYW5kIEROQSBkZWxpdmVyeS4gVGhlc2UgY29sbGFib3JhdGlvbnMgYW5kIGlubm92YXRpb25zIHdpbGwgaGF2ZSBhIGxhc3RpbmcgaW1wYWN0LCBzdXBwb3J0aW5nIGZ1dHVyZSBpR0VNIHRlYW1zIGFuZCBkcml2aW5nIGZvcndhcmQgc3ludGhldGljIGJpb2xvZ3kgcmVzZWFyY2guIDwvcD5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICAgIDxNZWV0VVAvPlxuXG4gICAgICA8U2VjdGlvbiB0aXRsZT1cIk91ciBDb2xsYWJvcmF0aW9uc1wiIGlkPVwiT3VyIENvbGxhYm9yYXRpb25zXCI+XG4gICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiR3VpZGVsaW5lXCIgaWQ9XCJPdXIgQ29sbGFib3JhdGlvbnMxXCI+XG4gICAgICAgICAgICA8R3VpZGVQREYvPlxuICAgICAgICA8L1N1YmVzY3Rpb24+IFxuICAgICAgICA8Q29sbGFiQ29udHJpYnV0aW9uLz5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICAgIFxuICAgICAgPFNlY3Rpb24gdGl0bGU9XCJPdXIgQ29udHJpYnV0aW9uc1wiIGlkPVwiT3VyIENvbnRyaWJ1dGlvbnNcIj5cbiAgICAgICAgICA8U2FmZXR5Q29udHJpYnV0aW9uLz5cbiAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIlBhcnRzXCIgaWQ9XCJPdXIgQ29udHJpYnV0aW9uczJcIj5cbiAgICAgICAgICAgICAgLi4uXG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgIDxXaWtpLz5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICAgIDxTZWN0aW9uIHRpdGxlPVwiQ29uY2x1c2lvblwiIGlkPVwiQ29uY2x1c2lvblwiPlxuICAgICAgICA8cD5UaHJvdWdob3V0IHRoZSBCRkggRXVyb3BlYW4gTWVldC1VcCwgd2UgYWN0aXZlbHkgZW5nYWdlZCBpbiBtZWFuaW5nZnVsIGNvbGxhYm9yYXRpb25zIGFuZCBtYWRlIHNpZ25pZmljYW50IGNvbnRyaWJ1dGlvbnMgdG8gdGhlIGlHRU0gY29tbXVuaXR5LiBJbiBwYXJ0bmVyc2hpcCB3aXRoIGlHRU0gdGVhbXMgSGFtYnVyZyBhbmQgRnJhbmtmdXJ0LCB3ZSBkZXZlbG9wZWQgdGhlIEJGSCBHdWlkZWxpbmUsIGEgY29tcHJlaGVuc2l2ZSByZXNvdXJjZSBkZXNpZ25lZCB0byBoZWxwIGZ1dHVyZSB0ZWFtcyBzdWNjZXNzZnVsbHkgb3JnYW5pemUgTWVldCBVcHMuIE91ciBjb2xsYWJvcmF0aW9uIHdpdGggaUdFTSBNXHUwMEZDbnN0ZXIgcmVzdWx0ZWQgaW4gYSB2aWRlbyBwb2RjYXN0IHRoYXQgcmVmbGVjdHMgb24gdGhlIGdyb3d0aCBhbmQgcHJvZ3Jlc3Mgb2YgcGFydGljaXBhdGluZyB0ZWFtcywgcHJvdmlkaW5nIHZhbHVhYmxlIGluc2lnaHRzIGZvciBmdXR1cmUgY29tcGV0aXRpb25zLiAgPC9wPlxuICAgICAgICA8cD5BZGRpdGlvbmFsbHksIHdlIHdvcmtlZCBhbG9uZ3NpZGUgdGVhbXMgZnJvbSBMaW5rb3BpbmcsIFBhdHJhcywgUmFkYm91ZCBVbml2ZXJzaXR5LCBhbmQgVEVSTU9TWi1TZWx5ZS1IVU4gdG8gY29udHJpYnV0ZSB0byB0aGUgTE5QIEhhbmRib29rLCBhZHZhbmNpbmcga25vd2xlZGdlIGluIGxpcGlkLWJhc2VkIGRlbGl2ZXJ5IHN5c3RlbXMgZm9yIHRoZXJhcGV1dGljIGFwcGxpY2F0aW9ucy4gIDwvcD5cbiAgICAgICAgPHA+T24gdGhlIHNjaWVudGlmaWMgZnJvbnQsIHdlIGNyZWF0ZWQgYSBjb2xsZWN0aW9uIG9mIHByb3RvY29scywgdGhlIFByZUNMIHJlcG9ydGVyIHN5c3RlbSwgYW5kIHRoZSBpbm5vdmF0aXZlIFByaW1lR3VpZGUgUHJpbWUgRWRpdGluZyB0ZWNobm9sb2d5LCBhbGwgb2Ygd2hpY2ggYWltIHRvIGVuaGFuY2UgcmVzZWFyY2ggZWZmaWNpZW5jeSBhbmQgcHJlY2lzaW9uLiBPdXIgQWlyQnVkZHkgbmFub3BhcnRpY2xlIHN5c3RlbSBmb3IgbHVuZy1zcGVjaWZpYyBkZWxpdmVyeSBmdXJ0aGVyIGV4ZW1wbGlmaWVzIG91ciBjb21taXRtZW50IHRvIGFkdmFuY2luZyBnZW5lIHRoZXJhcHkgc29sdXRpb25zLiBUaGVzZSBjb2xsYWJvcmF0aW9ucyBhbmQgY29udHJpYnV0aW9ucyBub3Qgb25seSBlbnJpY2hlZCB0aGUgZXZlbnQgYnV0IHdpbGwgY29udGludWUgdG8gaGF2ZSBhIGxhc3RpbmcgaW1wYWN0IG9uIGZ1dHVyZSBpR0VNIHRlYW1zIGFuZCBzeW50aGV0aWMgYmlvbG9neSByZXNlYXJjaC4gPC9wPlxuICAgICAgPC9TZWN0aW9uPlxuXG4gICAgICBcblxuICAgIFxuICAgICAgXG4gICAgPC8+XG4gICk7XG59XG5cblxuXG5cblxuXG5cblxuXG5cbiIsICJcblxuZXhwb3J0IGZ1bmN0aW9uIEJ1bGJCb3goe3RpdGxlLCBjaGlsZHJlbn06e3RpdGxlOiBzdHJpbmcsIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGV9KXtcbiAgICByZXR1cm4oXG4gICAgICAgIDxhc2lkZSBjbGFzc05hbWU9XCJoaW50LWNvbnRhaW5lciB0aXBcIj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJoaW50LWNvbnRhaW5lci10aXRsZVwiPlxuICAgICAgICAgICAge3RpdGxlfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInYtY2FyZC10ZXh0XCI+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUWFCb3goe3EsIGF9OntxOiBzdHJpbmcsIGE6IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICByZXR1cm4oXG4gICAgIDxkaXYgY2xhc3NOYW1lPVwicWFib3hcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicXVlc3Rpb24tYnViYmxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIHtxfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJxdWVzdGlvbi1idWJibGVcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAge2F9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgIDwvZGl2PlxuICApXG59XG5leHBvcnQgZnVuY3Rpb24gU3BlY2lhbFFhQm94KHtxLCBjaGlsZHJlbn06e3E6IHN0cmluZywgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICByZXR1cm4oXG4gICAgIDxkaXYgY2xhc3NOYW1lPVwicWFib3hcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicXVlc3Rpb24tYnViYmxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIHtxfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJxdWVzdGlvbi1idWJibGVcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICA8L2Rpdj5cbiAgKVxufVxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIEluZm9Cb3goe3RpdGxlLCBjaGlsZHJlbiwgaWR9Ont0aXRsZTogc3RyaW5nLCBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlLCBpZDogc3RyaW5nfSl7XG4gICAgcmV0dXJuKFxuICAgICAgICA8YXNpZGUgY2xhc3NOYW1lPVwiaGludC1jb250YWluZXIgaW5mb1wiIGlkPXtpZH0+XG4gICAgICAgICAgPHAgY2xhc3NOYW1lPVwiaGludC1jb250YWluZXItdGl0bGVcIj5cbiAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ2LWNhcmQtdGV4dFwiPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9hc2lkZT5cbiAgICApXG59XG5leHBvcnQgZnVuY3Rpb24gV2FybkJveCh7dGl0bGUsIGNoaWxkcmVufTp7dGl0bGU6IHN0cmluZywgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICAgIHJldHVybihcbiAgICAgICAgPGFzaWRlIGNsYXNzTmFtZT1cImhpbnQtY29udGFpbmVyIHdhcm5pbmdcIj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJoaW50LWNvbnRhaW5lci10aXRsZVwiPlxuICAgICAgICAgICAge3RpdGxlfVxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInYtY2FyZC10ZXh0XCI+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYXNpZGU+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gQmx1ZUluZm9Cb3goe3RpdGxlLCBjaGlsZHJlbn06e3RpdGxlOiBzdHJpbmcsIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGV9KXtcbiAgcmV0dXJuKFxuICAgICAgPGFzaWRlIGNsYXNzTmFtZT1cImhpbnQtY29udGFpbmVyIGRhbmdlclwiPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJoaW50LWNvbnRhaW5lci10aXRsZVwiPlxuICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInYtY2FyZC10ZXh0XCI+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9hc2lkZT5cbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTm90ZUJveCh7dGl0bGUsIGNoaWxkcmVuLCBpZH06e3RpdGxlOiBzdHJpbmcsIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUsIGlkOiBzdHJpbmd9KXtcbiAgcmV0dXJuKFxuICAgICAgPGFzaWRlIGNsYXNzTmFtZT1cImhpbnQtY29udGFpbmVyIG5vdGVcIiBpZD17aWR9PlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJoaW50LWNvbnRhaW5lci10aXRsZVwiPlxuICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInYtY2FyZC10ZXh0XCI+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9hc2lkZT5cbiAgKVxufSIsICIvLyBUaGUgbWFpbiB0YWIgaGFzIHRvIGJlIGdpdmVuIGRpc3BsYXk6IGJsb2NrOyB2aWEgaWQgY3NzIG9yIGJlIGdpdmVuIHRoZSBpZCBcIkZpcnN0XCJcbmV4cG9ydCBmdW5jdGlvbiBCdXR0b25Sb3dUYWJzKHtkYXRhLCBjbGF9OiB7ZGF0YTogQXJyYXk8VGFiRGF0ZW5zYXR6PiwgY2xhOiBzdHJpbmd9KSB7XG4gICAgbGV0IHJvd3M6IEpTWC5FbGVtZW50W10gID0gW11cbiAgICBmb3IgKCBsZXQgaSA9IDA7ICBpIDwgZGF0YS5sZW5ndGg7IGkrKyApe1xuICAgICAgaWYoZGF0YVtpXS5tYWluID09IHRydWUpe1xuICAgICAgICByb3dzLnB1c2goPGRpdiBpZD17ZGF0YVtpXS5jc3NuYW1lfSBjbGFzc05hbWU9e2NsYX0gc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT5cbiAgICAgICAgICB7ZGF0YVtpXS5ub2RlfVxuICAgICAgICA8L2Rpdj4pXG4gICAgICB9XG4gICAgICBlbHNle1xuICAgICAgICByb3dzLnB1c2goPGRpdiBpZD17ZGF0YVtpXS5jc3NuYW1lfSBjbGFzc05hbWU9e2NsYX0gc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgIHtkYXRhW2ldLm5vZGV9XG4gICAgICAgIDwvZGl2PilcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJvd3M7IFxuICB9XG4gIFxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmxvY2tRdW90ZUIgfSBmcm9tIFwiLi9RdW90ZXNcIjtcbmltcG9ydCB7IFRpbWVsaW5lRGF0ZW5wdW5rdCB9IGZyb20gXCIuLi9kYXRhL2hwdGltZWxpbmVkYXRhXCI7XG5pbXBvcnQgQ29sbGFwc2libGUgZnJvbSBcIi4vQ29sbGFwc2libGVcIjtcbmltcG9ydCB7IHN0cmluZ1RvU2x1ZyB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG4vKiBpbXBvcnQgeyBzdHJpbmdUb1NsdWcgfSBmcm9tIFwiLi4vdXRpbHNcIjsgKi9cbiAgXG4gIGV4cG9ydCBmdW5jdGlvbiBCRkhTdHlsZVRhYnMoe2RhdGEsIGNsYX06IHtkYXRhOiBBcnJheTxUaW1lbGluZURhdGVucHVua3Q+LCBjbGE6IHN0cmluZ30pIHtcbiAgICBsZXQgcm93czogSlNYLkVsZW1lbnRbXSAgPSBbXVxuICAgIGZvciAoIGxldCBpID0gMDsgIGkgPCBkYXRhLmxlbmd0aDsgaSsrICl7XG4gICAgICB2YXIgcHJvYmxlbTogQm9vbGVhbiA9IGZhbHNlOyBcbiAgICAgIHZhciBwcm9ibGVtX2Rlc2M6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgICAgIC8qIExhbmd1YWdlICovXG4gICAgICB2YXIgbGFuZzsgXG4gICAgICBpZihkYXRhW2ldLmxhbmd1YWdlID09PSBcImVuXCIpe1xuICAgICAgICBsYW5nID0gXCJPcmlnaW5hbCBsYW5ndWFnZTogRW5nbGlzaFwiXG4gICAgICB9XG4gICAgICBlbHNlIGlmKGRhdGFbaV0ubGFuZ3VhZ2UgPT09IFwiZGVcIil7XG4gICAgICAgIGxhbmcgPSBcIk9yaWdpbmFsIGxhbmd1YWdlOiBHZXJtYW5cIlxuICAgICAgfVxuICAgICAgZWxzZXtcbiAgICAgICAgbGFuZyA9IFwiXCJcbiAgICAgIH1cbi8qICAgICAgIGVsc2UgaWYoZGF0YVtpXS50eXBlICE9IFwibWV0YVwiKXtcbiAgICAgICAgcHJvYmxlbSA9IHRydWU7XG4gICAgICAgIHByb2JsZW1fZGVzYy5wdXNoKFwiaW50ZXJ2aWV3IGxhbmd1YWdlXCIpOyBcbiAgICAgIH0gKi9cbiAgICAgIFxuICAgICAgLyogRXhwZXJ0IG9uICAqL1xuICAgICAgbGV0IGV4cGVydCA9IFwiXCI7IFxuICAgICAgaWYgKGRhdGFbaV0uZXhwZXJ0b24pIHtcbiAgICAgICAgZXhwZXJ0ID0gYEV4cGVydCBvbiAke2RhdGFbaV0uZXhwZXJ0b259YDsgXG4gICAgICB9XG5cbiAgICAgIC8qIEFpbS9Hb2FsICovXG4gICAgICB2YXIgZ29hbGhlYWRpbmc6IHN0cmluZyA9IFwiXCI7IFxuICAgICAgaWYoZGF0YVtpXS50eXBlID09PSBcIm1ldGFcIil7XG4gICAgICAgIGdvYWxoZWFkaW5nID0gXCJHb2Fsc1wiOyBcbiAgICAgIH1cbiAgICAgIGVsc2V7XG4gICAgICAgIGdvYWxoZWFkaW5nID0gXCJBaW0gb2YgY29udGFjdFwiXG4gICAgICB9XG5cbiAgICAgIC8qIFF1b3RhdGlvbiAqL1xuICAgICAgdmFyIHF1b3RlZDogc3RyaW5nID0gXCJcIjsgXG4gICAgICBpZihkYXRhW2ldLnF1b3RlICE9IFwiXCIpe1xuICAgICAgICBpZihkYXRhW2ldLnF1b3RlTmFjaG5hbWUgJiYgZGF0YVtpXS5xdW90ZVZvcm5hbWUpe1xuICAgICAgICAgIHF1b3RlZCA9IGRhdGFbaV0ucXVvdGVWb3JuYW1lICsgXCIgXCIgKyBkYXRhW2ldLnF1b3RlTmFjaG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZXtcbiAgICAgICAgICBxdW90ZWQgPSBkYXRhW2ldLnZvcm5hbWUgKyBcIiBcIiArIGRhdGFbaV0ubmFjaG5uYW1lOyBcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAvKiAgZWxzZXtcbiAgICAgICAgcHJvYmxlbSA9IHRydWU7XG4gICAgICAgIHByb2JsZW1fZGVzYy5wdXNoKFwicXVvdGUgbWlzc2luZ1wiKTsgXG4gICAgICB9ICovXG4gICAgICAgIGxldCBpbnZfaW1nOiBSZWFjdC5SZWFjdE5vZGUgPSA8PjwvPjtcbiAgICAgICAgbGV0IGltcF9pbWc6IFJlYWN0LlJlYWN0Tm9kZSA9IDw+PC8+O1xuICAgICAgICBsZXQgYWltX2ltZzogUmVhY3QuUmVhY3ROb2RlID0gPD48Lz47XG4gICAgICBcbiAgICAgICAgLy8gUmVzdGxpY2hlIExvZ2lrIGRlciBTY2hsZWlmZS4uLlxuICAgICAgICAvLyBCaWxkenV3ZWlzdW5nZW4gYmFzaWVyZW5kIGF1ZiBkZW4gRGF0ZW5cbiAgICAgICAgaWYgKGRhdGFbaV0ucGljdHVyZXVybF9pbnRlcnZpZXcpIHtcbiAgICAgICAgICAgaW52X2ltZyA9IDxkaXYgY2xhc3NOYW1lPVwiaHRpLWJveFwiPlxuICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17ZGF0YVtpXS5waWN0dXJldXJsX2ludGVydmlld30gY2xhc3NOYW1lPVwiaHAtdGltZWxpbmUtaW1nIGh0aS1yaWdodFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGFbaV0ucGljdHVyZXVybF9pbXBsZW1lbnRhdGlvbikge1xuICAgICAgICAgICBpbXBfaW1nID0gPGRpdiBjbGFzc05hbWU9XCJodGktYm94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtkYXRhW2ldLnBpY3R1cmV1cmxfaW1wbGVtZW50YXRpb259IGNsYXNzTmFtZT1cImhwLXRpbWVsaW5lLWltZyBodGktcmlnaHRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+O1xuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhW2ldLnBpY3R1cmV1cmxfYWltKSB7XG4gICAgICAgICAgIGFpbV9pbWcgPSA8ZGl2IGNsYXNzTmFtZT1cImh0aS1ib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e2RhdGFbaV0ucGljdHVyZXVybF9haW19IGNsYXNzTmFtZT1cImhwLXRpbWVsaW5lLWltZyBodGktbGVmdFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj47XG4gICAgICAgIH1cbiAgICAgIC8qIHRleHRwYXJ0cyAqL1xuICAgICAgbGV0IGFpTTogSlNYLkVsZW1lbnQgPSA8PjwvPlxuICAgICAgaWYoZGF0YVtpXS5haW1vZmNvbnRhY3Qpe1xuICAgICAgICBhaU0gPSA8PlxuICAgICAgICA8aDQ+e2dvYWxoZWFkaW5nfTwvaDQ+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXhib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJocC10aW1lbGluZS1wXCI+e2RhdGFbaV0uYWltb2Zjb250YWN0fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB7YWltX2ltZ31cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8Lz5cbiAgICAgIH1cblxuICAgICAgbGV0IGluc2lnaFQ6IEpTWC5FbGVtZW50ID0gPD48Lz5cbiAgICAgIGlmKGRhdGFbaV0uaW5zaWdodHMpe1xuICAgICAgICBpbnNpZ2hUID0gPD5cbiAgICAgICAgIDxoND5JbnNpZ2h0czwvaDQ+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXhib3hcIj5cbiAgICAgICAgICAgICAgICAgICAge2ludl9pbWd9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImhwLXRpbWVsaW5lLXBcIj57ZGF0YVtpXS5pbnNpZ2h0c308L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC8+XG4gICAgICB9XG4gICAgXG4gICAgICBsZXQgaW1QOiBKU1guRWxlbWVudCA9IDw+PC8+XG4gICAgaWYoZGF0YVtpXS5pbXBsZW1lbnRhdGlvbil7XG4gICAgIGltUCA9IDw+XG4gICAgIDxoND5JbXBsZW1lbnRhdGlvbjwvaDQ+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXhib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJocC10aW1lbGluZS1wXCI+e2RhdGFbaV0uaW1wbGVtZW50YXRpb259PC9wPlxuICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIHtpbXBfaW1nfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgPC8+XG4gICAgfVxuXG4gICAgICBcbiAgICAgXG4gICAgIC8qICBpZihkYXRhW2ldLmFpbW9mY29udGFjdCA9PT0gXCJcIil7XG4gICAgICAgIHByb2JsZW0gPSB0cnVlO1xuICAgICAgICBwcm9ibGVtX2Rlc2MucHVzaChcIiBcIiArIGdvYWxoZWFkaW5nICsgXCIgbWlzc2luZ1wiKTsgXG4gICAgICB9XG4gICAgICBpZihkYXRhW2ldLmluc2lnaHRzID09PSBcIlwiKXtcbiAgICAgICAgcHJvYmxlbSA9IHRydWU7XG4gICAgICAgIHByb2JsZW1fZGVzYy5wdXNoKFwiIGluc2lnaHRzIG1pc3NpbmdcIik7IFxuICAgICAgfVxuICAgICAgaWYoZGF0YVtpXS5pbXBsZW1lbnRhdGlvbiA9PT0gXCJcIil7XG4gICAgICAgIHByb2JsZW0gPSB0cnVlO1xuICAgICAgICBwcm9ibGVtX2Rlc2MucHVzaChcIiBpbXBsZW1lbnRhdGlvbiBtaXNzaW5nXCIpOyBcbiAgICAgIH0gKi9cbiAgICAgIC8qIENsYXJpZmljYXRpb24gKi9cbiAgICAgIHZhciBjbGFyaTogUmVhY3QuUmVhY3ROb2RlID0gPD48Lz5cbiAgICAgIGlmKGRhdGFbaV0uY2xhcmlmaWNhdGlvbil7XG4gICAgICAgIGNsYXJpID0gPD5cbiAgICAgICAgICAgICAgICAgIDxoND5DbGFyaWZpY2F0aW9uPC9oND5cbiAgICAgICAgICAgICAgICAgIDxwPntkYXRhW2ldLmNsYXJpZmljYXRpb259PC9wPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgfVxuICAgICAgLyogT3RoZXIgd2FybmluZ3MgKi9cbiAgICAgIGlmKGRhdGFbaV0uaW50ZXJ2aWV3dGFiaWQgPT09IFwiXCIpe1xuICAgICAgICBwcm9ibGVtID0gdHJ1ZTtcbiAgICAgICAgcHJvYmxlbV9kZXNjLnB1c2goXCIgaW50ZXJ2aWV3dGFiaWQgbWlzc2luZ1wiKTsgXG4gICAgICB9XG4gICAgIC8qICBpZihkYXRhW2ldLmNhcmR0ZXh0ID09PSBcIlwiKXtcbiAgICAgICAgcHJvYmxlbSA9IHRydWU7XG4gICAgICAgIHByb2JsZW1fZGVzYy5wdXNoKFwiIGNhcmR0ZXh0IG1pc3NpbmdcIik7IFxuICAgICAgfSAqL1xuICAgICAgLyogaWYoZGF0YVtpXS50eXBlICE9PSBcIm1ldGFcIil7XG4gICAgICAgIGlmKGRhdGFbaV0uYWZmaWxpYXRpb24gPT09IHVuZGVmaW5lZCB8fCBkYXRhW2ldLmFmZmlsaWF0aW9uID09PSBcIlwiKXtcbiAgICAgICAgICBwcm9ibGVtID0gdHJ1ZTtcbiAgICAgICAgICBwcm9ibGVtX2Rlc2MucHVzaChcIiBhZmZpbGlhdGlvbiBtaXNzaW5nXCIpOyBcbiAgICAgICAgfVxuICAgICAgICBpZihkYXRhW2ldLmpvYiA9PT0gdW5kZWZpbmVkIHx8IGRhdGFbaV0uam9iID09PSBcIlwiKXtcbiAgICAgICAgICBwcm9ibGVtID0gdHJ1ZTtcbiAgICAgICAgICBwcm9ibGVtX2Rlc2MucHVzaChcIiBqb2IgbWlzc2luZ1wiICk7IFxuICAgICAgICB9XG4gICAgICB9ICovXG4gICAgIC8qICBpZihkYXRhW2ldLnR5cGUgPT09IFwibWV0YVwiKXtcbiAgICAgICAgaWYoZGF0YVtpXS5xdW90ZVZvcm5hbWUgPT09IHVuZGVmaW5lZCB8fCBkYXRhW2ldLnF1b3RlVm9ybmFtZSA9PT0gXCJcIil7XG4gICAgICAgICAgcHJvYmxlbSA9IHRydWU7XG4gICAgICAgICAgcHJvYmxlbV9kZXNjLnB1c2goXCIgd2hvIGlzIHRoZSBxdW90ZSBmcm9tP1wiICk7IFxuICAgICAgICB9XG4gICAgICB9ICovXG5cbiAgICAgIC8qIFJlZmVyZW5jZXMgKi9cbiAgICAgIHZhciByZWZzOiBSZWFjdC5SZWFjdE5vZGUgPSA8PjwvPjtcbiAgICAgIGlmIChkYXRhW2ldLnJlZmVyZW5jZXMpIHtcbiAgICAgICAgcmVmcyA9IDw+IDxoND5SZWZlcmVuY2VzIDwvaDQ+IHtkYXRhW2ldLnJlZmVyZW5jZXN9PC8+IFxuICAgICAgfVxuICAgICAgXG4gICAgICAvKiBGdXJ0aGVyIHBpY3R1cmVzICovXG4vKiAgICAgICB2YXIgaW52X2ltZzogUmVhY3QuUmVhY3ROb2RlID0gPD48Lz47XG4gICAgICBpZiAoZGF0YVtpXS5waWN0dXJldXJsX2ludGVydmlldykge1xuICAgICAgICBjb25zb2xlLmluZm8oXCJiZWZvcmU6IGludl9pbWcgaXM6IFwiICsgaW52X2ltZylcbiAgICAgICAgY29uc29sZS5pbmZvKGRhdGFbaV0udm9ybmFtZSArIFwiIGhhcyBwaWN0dXJldXJsX2ludGVydmlld1wiKVxuICAgICAgICBpbnZfaW1nID0gIDw+ICA8ZGl2IGNsYXNzTmFtZT1cImh0aS1ib3hcIj4gPGltZyBpZD17YCR7ZGF0YVtpXS52b3JuYW1lfS1pbnYtaW1nYH0gc3JjPXtkYXRhW2ldLnBpY3R1cmV1cmxfaW50ZXJ2aWV3fSBjbGFzc05hbWU9XCJocC10aW1lbGluZS1pbWcgaHRpLXJpZ2h0XCIvPiA8L2Rpdj4gPGRpdiBjbGFzc05hbWU9XCJodGktYWJzdGFuZFwiLz4gPC8+XG4gICAgICAgIGNvbnNvbGUuaW5mbyhcImFmdGVyOiBpbnZfaW1nIGlzOiBcIiArIGludl9pbWcpXG4gICAgICB9XG4gICAgICB2YXIgaW1wX2ltZzogUmVhY3QuUmVhY3ROb2RlID0gPD48Lz47XG4gICAgICBpZiAoZGF0YVtpXS5waWN0dXJldXJsX2ltcGxlbWVudGF0aW9uKSB7XG4gICAgICAgIGNvbnNvbGUuaW5mbyhkYXRhW2ldLnZvcm5hbWUgKyBcIiBoYXMgcGljdHVyZXVybF9pbXBsZW1lbnRhdGlvblwiKVxuICAgICAgICBjb25zb2xlLmluZm8oXCJiZWZvcmU6IGltcF9pbWcgaXM6IFwiIClcbiAgICAgICAgY29uc29sZS5pbmZvKGltcF9pbWcpXG4gICAgICAgIGltcF9pbWcgPSAgIDw+IDxkaXYgIGNsYXNzTmFtZT1cImh0aS1hYnN0YW5kXCIvPjxkaXYgY2xhc3NOYW1lPVwiaHRpLWJveFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAgaWQ9e2Ake2RhdGFbaV0udm9ybmFtZX0taW1wLWltZ2B9IHNyYz17ZGF0YVtpXS5waWN0dXJldXJsX2ltcGxlbWVudGF0aW9ufSBjbGFzc05hbWU9XCJocC10aW1lbGluZS1pbWcgaHRpLXJpZ2h0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgY29uc29sZS5pbmZvKFwiYWZ0ZXI6IGltcF9pbWcgaXM6IFwiIClcbiAgICAgICAgY29uc29sZS5pbmZvKGltcF9pbWcpXG4gICAgICB9XG4gICAgICB2YXIgYWltX2ltZzogUmVhY3QuUmVhY3ROb2RlID0gPD48Lz47XG4gICAgICBpZiAoZGF0YVtpXS5waWN0dXJldXJsX2FpbSkge1xuICAgICAgICBjb25zb2xlLmluZm8oZGF0YVtpXS52b3JuYW1lICsgXCIgaGFzIHBpY3R1cmV1cmxfYWltXCIpXG4gICAgICAgIGNvbnNvbGUuaW5mbyhcImJlZm9yZTogYWltX2ltZyBpczogXCIgKVxuICAgICAgICBjb25zb2xlLmluZm8oYWltX2ltZylcbiAgICAgICAgYWltX2ltZyA9ICA8PiA8ZGl2IGNsYXNzTmFtZT1cImh0aS1hYnN0YW5kXCIvPiA8ZGl2IGNsYXNzTmFtZT1cImh0aS1ib3hcIj5cbiAgICAgICAgPGltZyAgaWQ9e2Ake2RhdGFbaV0udm9ybmFtZX0tYWltLWltZ2B9IHNyYz17ZGF0YVtpXS5waWN0dXJldXJsX2FpbX0gY2xhc3NOYW1lPVwiaHAtdGltZWxpbmUtaW1nIGh0aS1sZWZ0XCIvPiBcbiAgICAgICAgPC9kaXY+PC8+XG4gICAgICAgIGNvbnNvbGUuaW5mbyhcImFmdGVyOiBhaW1faW1nIGlzOiBcIiApXG4gICAgICAgIGNvbnNvbGUuaW5mbyhhaW1faW1nKVxuICAgICAgfSAqL1xuICAgICBcbiAgICAgIGxldCBpbnQgPSA8PjwvPjsgXG4gICAgICBsZXQgaW50X2lkID0gc3RyaW5nVG9TbHVnKGAke2RhdGFbaV0udm9ybmFtZX0taW52LWNvbGxhcHNpYmxlYClcbiAgICAgIGlmIChkYXRhW2ldLmludGVydmlldykge1xuICAgICAgICBcbiAgICAgICAgICBpbnQgPSA8ZGl2IGNsYXNzTmFtZT1cImhwLWNvbGxhcHNcIj48Q29sbGFwc2libGUgdGl0bGU9XCJSZWFkIGZ1bGwgSW50ZXJ2aWV3IGhlcmVcIiBpZD17aW50X2lkfT5cbiAgICAgICAgICB7ZGF0YVtpXS5pbnRlcnZpZXd9XG4gICAgICAgIDwvQ29sbGFwc2libGU+PC9kaXY+XG4gICAgICB9XG4gICAgXG4gICAgICBsZXQgbW9yZXBpY3M6IEpTWC5FbGVtZW50W10gPSBbXTtcbiAgICAgIGxldCBvbGRwaWNzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgLyogaWYoZGF0YVtpXS5tb3JlX3BpY3R1cmVzKXsgKi9cbiAgICAgICAgaWYgKCFkYXRhW2ldLmFpbW9mY29udGFjdCAmJiBkYXRhW2ldLnBpY3R1cmV1cmxfYWltKSB7XG4gICAgICAgICAgb2xkcGljcy5wdXNoKGRhdGFbaV0ucGljdHVyZXVybF9haW0hKVxuICAgICAgICB9XG4gICAgICAgIGlmICghZGF0YVtpXS5pbnNpZ2h0cyAmJiBkYXRhW2ldLnBpY3R1cmV1cmxfaW50ZXJ2aWV3KSB7XG4gICAgICAgICAgb2xkcGljcy5wdXNoKGRhdGFbaV0ucGljdHVyZXVybF9pbnRlcnZpZXchKVxuICAgICAgICB9XG4gICAgICAgIGlmICghZGF0YVtpXS5pbXBsZW1lbnRhdGlvbiAmJiBkYXRhW2ldLnBpY3R1cmV1cmxfaW1wbGVtZW50YXRpb24pIHtcbiAgICAgICAgICBvbGRwaWNzLnB1c2goZGF0YVtpXS5waWN0dXJldXJsX2ltcGxlbWVudGF0aW9uISlcbiAgICAgICAgfVxuICAgICAgICBsZXQgbmV3bGlzdCA9IG9sZHBpY3MuY29uY2F0KGRhdGFbaV0ubW9yZV9waWN0dXJlcyEpOyBcbiAgICAgICAgZm9yIChsZXQgaW5kID0gMDsgaW5kIDwgKG5ld2xpc3QubGVuZ3RoIC0gMSk7IGluZCArPSAyKSB7XG4gICAgICAgICAgY29uc29sZS5pbmZvKGRhdGFbaV0udm9ybmFtZSlcbiAgICAgICAgICBjb25zb2xlLmluZm8oaW5kICsgbmV3bGlzdFtpbmRdKVxuICAgICAgICAgIGNvbnNvbGUuaW5mbyhpbmQrMSArIG5ld2xpc3RbaW5kKzFdKVxuICAgICAgICAgIG1vcmVwaWNzLnB1c2goXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e25ld2xpc3RbaW5kXX0vPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e25ld2xpc3RbaW5kKzFdfS8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICBcbiAgICAgLyogIH0gKi9cblxuICAgICAgbGV0IG5vZGUgPSA8PlxuICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgICA8aDMgaWQ9e2Ake2RhdGFbaV0uaW50ZXJ2aWV3dGFiaWR9LWhlYWRpbmdgfT57ZGF0YVtpXS50aXRsZX0ge2RhdGFbaV0udm9ybmFtZX0ge2RhdGFbaV0ubmFjaG5uYW1lfTwvaDM+XG4gICAgICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNlwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtcInQtdGFnIFwiICsgZGF0YVtpXS50YWd9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7ZGF0YVtpXS5qb2J9IC0ge2RhdGFbaV0uYWZmaWxpYXRpb259XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiIHN0eWxlPXt7cGFkZGluZzogXCI1cHhcIn19PntleHBlcnR9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgc3R5bGU9e3t3aWR0aDogXCIyMCVcIiwgZmxleDogXCIxIDAgMCVcIiwgcGFkZGluZzogXCI1cHhcIn19PntsYW5nfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1zdHJldGNoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGQtZmxleCBmbGV4LWNvbHVtblwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGZsZXgtZ3Jvdy0xIG1pdHRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGg0IHN0eWxlPXt7cGFkZGluZ1RvcDogXCI1MHB4XCJ9fT5TdW1tYXJ5OjwvaDQ+XG4gICAgICAgICAgICAgICAgICAgICAgPHA+e2RhdGFbaV0uc3VtbWFyeX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgdW50ZW5cIiBzdHlsZT17e2ZvbnRTaXplOiBcImxhcmdlXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgU2VlIGhvdyB0aGlzIGluZmx1ZW5jZWQgb3VyIHByb2plY3QgYXQgXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJtaWRkbGUgc2VjaHBybyBpbWctZmx1aWRcIiBzcmM9e2RhdGFbaV0ucGljdHVyZXVybH0gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgey8qICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17e3BhZGRpbmdUb3A6IFwiNTBweFwiLCBmb250U2l6ZTogXCJsYXJnZVwifX0+U3VtbWFyeTo8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPntkYXRhW2ldLnN1bW1hcnl9PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtM1wiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwibWlkZGxlIHNlY2hwcm9cIiBzcmM9e2RhdGFbaV0ucGljdHVyZXVybH0vPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PiAqL31cbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAge2FpTX1cblxuICAgICAgICAgICAgICAgICAge2luc2lnaFR9XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIHtjbGFyaX1cblxuICAgICAgICAgICAgICAgICAge2ltUH1cbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8QmxvY2tRdW90ZUIgdGV4dD17ZGF0YVtpXS5xdW90ZSF9IGNpdGU9e3F1b3RlZH0+PC9CbG9ja1F1b3RlQj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICB7ZGF0YVtpXS50ZXh0fVxuICAgICAgICAgICAgICAgICAge21vcmVwaWNzfVxuICAgICAgICAgICAgICAgICAge2ludH1cbiAgICAgICAgICAgICAgICAgIHtyZWZzfVxuICAgICAgICAgICAgPC8+XG4gICAgICBpZihwcm9ibGVtKXtcbiAgICAgICAgcm93cy5wdXNoKFxuICAgICAgICAgIDxkaXYgaWQ9e2RhdGFbaV0uaW50ZXJ2aWV3dGFiaWR9IGNsYXNzTmFtZT17Y2xhfSBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IFwiYmxhY2tcIiwgY29sb3I6IFwid2hpdGVcIn19PlxuICAgICAgICAgICAgICA8aDE+UFJPQkxFTSB3aXRoIHtkYXRhW2ldLnZvcm5hbWV9IHtkYXRhW2ldLm5hY2hubmFtZX08L2gxPlxuICAgICAgICAgICAgICA8cD4gYmVjYXVzZSBvZjogPC9wPlxuICAgICAgICAgICAgIHtwcm9ibGVtX2Rlc2N9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGVsc2V7XG4gICAgICAgIGlmIChkYXRhW2ldLmludGVydmlld3RhYmlkID09PSBcInRpbWVsaW5lXCIpe1xuICAgICAgICAgIHJvd3MucHVzaChcbiAgICAgICAgICAgIDxkaXYgaWQ9e2RhdGFbaV0uaW50ZXJ2aWV3dGFiaWR9IGNsYXNzTmFtZT17YCR7Y2xhfSB0aW1lbGluZXRhYiBiZy1kYmB9IHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICAgICAge25vZGV9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgZWxzZXtcbiAgICAgICAgcm93cy5wdXNoKFxuICAgICAgICAgIDxkaXYgaWQ9e2RhdGFbaV0uaW50ZXJ2aWV3dGFiaWR9IGNsYXNzTmFtZT17YCR7Y2xhfSB0aW1lbGluZXRhYiBiZy1kYmB9PlxuICAgICAgICAgICAgICB7bm9kZX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICB9XG4gICAgcmV0dXJuIHJvd3M7IFxuICB9XG4gIFxuICAvKiBJbnRlcnZpZXcgKi9cbiBcbiAgZXhwb3J0IGZ1bmN0aW9uIE9MREJGSFN0eWxlVGFicyh7ZGF0YSwgY2xhfToge2RhdGE6IEFycmF5PE5vZGVEYXRlbnNhdHo+LCBjbGE6IHN0cmluZ30pIHtcbiAgICBsZXQgcm93czogSlNYLkVsZW1lbnRbXSAgPSBbXVxuICAgIGZvciAoIGxldCBpID0gMDsgIGkgPCBkYXRhLmxlbmd0aDsgaSsrICl7XG4gICAgICBpZiAoZGF0YVtpXS5jc3NuYW1lID09IFwidGltZWxpbmVcIil7XG4gICAgICAgIHJvd3MucHVzaChcbiAgICAgICAgICA8ZGl2IGlkPXtkYXRhW2ldLmNzc25hbWV9IGNsYXNzTmFtZT17Y2xhfSBzdHlsZT17e2Rpc3BsYXk6IFwiYmxvY2tcIn19PlxuICAgICAgICAgICAgICB7ZGF0YVtpXS5ub2RlfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApXG4gICAgICB9XG4gICAgICBlbHNle1xuICAgICAgcm93cy5wdXNoKFxuICAgICAgICA8ZGl2IGlkPXtkYXRhW2ldLmNzc25hbWV9IGNsYXNzTmFtZT17Y2xhfT5cbiAgICAgICAgICAgIHtkYXRhW2ldLm5vZGV9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcm93czsgXG4gIH1cbiIsICJpbXBvcnQgeyBQaWUgfSBmcm9tICdyZWFjdC1jaGFydGpzLTInO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJhciB9IGZyb20gJ3JlYWN0LWNoYXJ0anMtMic7XG5pbXBvcnQgeyBDaGFydCBhcyBDaGFydEpTLCBUb29sdGlwLCBMZWdlbmQsQXJjRWxlbWVudCwgQmFyRWxlbWVudCwgQ2F0ZWdvcnlTY2FsZSwgTGluZWFyU2NhbGUsIFRpdGxlLCBSYWRpYWxMaW5lYXJTY2FsZSB9IGZyb20gJ2NoYXJ0LmpzJztcblxuY29uc3QgYmFja2dyb3VuZGNvbG9yc2NhbGUgPSBbXG4gICAgICAgICAgJ3JnYmEoMTMzLCAxNSwgMTIwLCAwLjIpJyxcbiAgICAgICAgICAncmdiYSgxNjAsIDE2NywgMjQzLCAwLjIpJyxcbiAgICAgICAgICAncmdiYSgyNDUsIDEyNSwgMzQsIDAuMiknLFxuICAgICAgICAgICdyZ2JhKDI0NCwgMjA0LCAzMCwgMC4yKScsXG4gICAgICAgICAgJ3JnYmEoMTMwLCAxNDksIDE2NCwgMC4yKScsXG4gICAgICAgICAgJ3JnYmEoMCwgMTAxLCA0OCwgMC4yKScsXG4gICAgICAgICAgJ3JiZ2EoMTg0LCA5MSwgMjA5LCAwLjIpJyxcbiAgICAgICAgICAncmJnYSg1MCwgMzUsIDQ0LCAwLjInXG5dXG5cblxuXG5jb25zdCBib3JkZXJjb2xvcnNjYWxlID0gW1xuICAgICAgICAgICAgJ3JnYmEoMTMzLCAxNSwgMTIwLCAxKScsXG4gICAgICAgICAgICAgICdyZ2JhKDE2MCwgMTY3LCAyNDMsIDEpJyxcbiAgICAgICAgICAgICAgJ3JnYmEoMjQ1LCAxMjUsIDM0LCAxKScsXG4gICAgICAgICAgICAgICdyZ2JhKDI0NCwgMjA0LCAzMCwgMSknLFxuICAgICAgICAgICAgICAncmdiYSgxMzAsIDE0OSwgMTY0LCAxKScsXG4gICAgICAgICAgICAgICdyZ2JhKDAsIDEwMSwgNDgsIDEpJyxcbiAgICAgICAgICAgICAgJ3JiZ2EoMTg0LCA5MSwgMjA5LCAxKScsXG4gICAgICAgICAgICAgICdyYmdhKDUwLCAzNSwgNDQsIDEnXG5dXG4gXG5DaGFydEpTLnJlZ2lzdGVyKEFyY0VsZW1lbnQsIFRvb2x0aXAsIExlZ2VuZCwgQ2F0ZWdvcnlTY2FsZSxcbiAgUmFkaWFsTGluZWFyU2NhbGUsXG4gIExpbmVhclNjYWxlLFxuICBCYXJFbGVtZW50LFxuICBUaXRsZSk7XG5cbmNvbnN0IFBpZUNoYXJ0OiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICBsYWJlbHM6IFsnaW5kZWwnLCAnaW5zZXJ0aW9uJywgJ2RlbGV0aW9uJywgJ3N1YnN0aXR1dGlvbicsICdvdGhlciddLFxuICAgIGRhdGFzZXRzOiBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnUGVyY2VudGFnZScsXG4gICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAwLjAwNDg1ODAwMDAwMDAwMDAwMSxcbiAgICAgICAgICAwLjAwMDg4NTk5OTk5OTk5OTk5OTcsXG4gICAgICAgICAgMC43MjY0MTc5OTk5OTk5OTcyLFxuICAgICAgICAgIDAuMjM4NDE1OTk5OTk5OTk5NSxcbiAgICAgICAgICAwLjAwMzcwM1xuICAgICAgICBdLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgcGx1Z2luczoge1xuICAgICAgbGVnZW5kOiB7XG4gICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgIHBvc2l0aW9uOiAnYm90dG9tJyBhcyBjb25zdCwgLy8gUHV0cyBsYWJlbHMgYmVsb3cgdGhlIGNoYXJ0XG4gICAgICAgIGxhYmVsczoge1xuICAgICAgICAgIGJveFdpZHRoOiAyMCwgLy8gQ29udHJvbHMgdGhlIHNpemUgb2YgdGhlIGNvbG9yIGJveCBuZXh0IHRvIHRoZSBsYWJlbHNcbiAgICAgICAgICBwYWRkaW5nOiAxNSwgICAvLyBBZGRzIHNvbWUgcGFkZGluZyBiZXR3ZWVuIGxhYmVscyBhbmQgdGhlIGNoYXJ0XG4gICAgICAgICAgdXNlUG9pbnRTdHlsZTogdHJ1ZSwgXG4gICAgICB9LFxuICAgIH0sXG4gICB9LFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwaWUtY2hhcnQtY29udGFpbmVyLXNtYWxsXCI+XG4gICAgICA8UGllIGRhdGE9e2RhdGF9IG9wdGlvbnM9e29wdGlvbnN9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cblxuXG5leHBvcnQgY29uc3QgT3BlblRvR2VuZVRoZXJhcHlhdGllbnRzOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICBsYWJlbHM6IFsnWWVzJywgJ01heWJlJywgJ05vJ10sXG4gICAgZGF0YXNldHM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdQZXJjZW50YWdlJyxcbiAgICAgICAgZGF0YTogW1xuICAgICAgICAgIDc4LjcyLCBcbiAgICAgICAgICAxOS44NixcbiAgICAgICAgICAxLjQyXG4gICAgICAgIF0sXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgIHBsdWdpbnM6IHtcbiAgICAgIHRpdGxlOiB7XG4gICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgIHRleHQ6ICdXb3VsZCB5b3UgYmUgb3BlbiB0byBnZW5lIHRoZXJhcHkgaWYgaXQgY291bGQgc2lnbmlmaWNhbnRseSBpbXByb3ZlIHlvdXIgc3ltcHRvbXM/JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwicGllLWNoYXJ0LWNvbnRhaW5lci1zbWFsbFwiPlxuICAgICAgPFBpZSBkYXRhPXtkYXRhfSBvcHRpb25zPXtvcHRpb25zfSAvPlxuICAgICAgPC9kaXY+XG4gICk7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBNb3N0U3RyZXNzZnVsRm9yUmVsYXRpdmVhdGllbnRzOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICBsYWJlbHM6IFsnRW1vdGlvbmFsIFN0cmVzcycsICdQaHlzaWFjYWwgU3ltcHRvbXMnLCAnRmluYW5jaWFsIEJ1cmRlbicsICdTb2NpYWwgUmVzdHJpY3Rpb25zJywgJ090aGVyJ10sXG4gICAgZGF0YXNldHM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdQZXJjZW50YWdlJyxcbiAgICAgICAgZGF0YTogW1xuICAgICAgICAgIDM2Ljc5LFxuICAgICAgICAgIDMyLjc4LFxuICAgICAgICAgIDExLjM3LFxuICAgICAgICAgIDE3LjczLFxuICAgICAgICAgIDEuMzRcbiAgICAgICAgXSxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgIHBsdWdpbnM6IHtcbiAgICAgIHRpdGxlOiB7XG4gICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgIHRleHQ6ICdXaGljaCBhc3BlY3RzIG9mIHRoZSBkaXNlYXNlIGFyZSBtb3N0IHN0cmVzc2Z1bCBmb3IgeW91IG9yIHlvdXIgcmVsYXRpdmU/JyxcbiAgICAgIH0sXG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwaWUtY2hhcnQtY29udGFpbmVyLW90aGVyXCI+XG4gICAgICA8UGllIGRhdGE9e2RhdGF9IG9wdGlvbnM9e29wdGlvbnN9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBXaG9BZmZlY3RlZGF0aWVudHM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBkYXRhID0ge1xuICAgIGxhYmVsczogWydJIGFtIGFmZmVjdGVkJywgJ0EgUmVsYXRpdmUgaXMgYWZmZWN0ZWQnXSxcbiAgICBkYXRhc2V0czogW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ1BlcmNlbnRhZ2UnLFxuICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgNDMuMjQsXG4gICAgICAgICAgNTYuNzZcbiAgICAgICAgXSxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgIHBsdWdpbnM6IHtcbiAgICAgIHRpdGxlOiB7XG4gICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgIHRleHQ6IFtcbiAgICAgICAgICAnQXJlIHlvdSBhZmZlY3RlZCBieSBjeXN0aWMgZmlicm9zaXMgeW91cnNlbGYgJywgJ29yIGFyZSB5b3UgcmVsYXRlZCB0byBzb21lb25lIHdpdGggY3lzdGljIGZpYnJvc2lzPydcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwaWUtY2hhcnQtY29udGFpbmVyLXNtYWxsXCI+XG4gICAgICA8UGllIGRhdGE9e2RhdGF9IG9wdGlvbnM9e29wdGlvbnN9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBEb1lvdVdhbnRNb3JlSW5mb2F0aWVudHM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBkYXRhID0ge1xuICAgIGxhYmVsczogWydZZXMnLCAnTm8nXSxcbiAgICBkYXRhc2V0czogW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ1BlcmNlbnRhZ2UnLFxuICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgOTMuNDgsXG4gICAgICAgICAgNi41MlxuICAgICAgICBdLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyY29sb3JzY2FsZSxcbiAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICB9LFxuICAgIF0sXG4gIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcbiAgICB0aXRsZToge1xuICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgIHRleHQ6ICdXb3VsZCB5b3UgbGlrZSB0byBzZWUgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgc3ViamVjdCBvZiBnZW5lIHRoZXJhcHk/JyxcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwaWUtY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICA8UGllIGRhdGE9e2RhdGF9IG9wdGlvbnM9e29wdGlvbnN9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBIb3dPZnRlblRyZWF0bWVudGF0aWVudHM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBsYWJlbHMgPSBbJ1JhcmVseScsICdNb250aGx5JywgJ1dlZWtseScsICdTZXZlcmFsIHRpbWVzIHBlciB3ZWVrJywgJ0RhaWx5J107XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogXCJcIixcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAgIDYuNDksXG4gICAgICAgICAgICAgIDYuNDksXG4gICAgICAgICAgICAgIDE1LjU5LFxuICAgICAgICAgICAgICA5LjczLFxuICAgICAgICAgICAgICA2Mi43XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgZGlzcGxheTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgIHRleHQ6ICdIb3cgb2Z0ZW4gZG8geW91IG9yIHlvdXIgcmVsYXRpdmUgbmVlZCBtZWRpY2FsIHRyZWF0bWVudCBvciB0aGVyYXB5PycsXG4gICAgICAgIH0sXG4gICAgICAgIHNjYWxlczoge1xuICAgICAgICAgIHk6IHtcbiAgICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICAgIHRleHQ6ICclJywgLy8gVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSB5LWF4aXNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeToge1xuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJyUnLCAvLyBUaGlzIGlzIHRoZSBsYWJlbCBmb3IgdGhlIHktYXhpc1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFdoYXRDb2Nlcm5zQWJvdXRHZW5lVGhlcmFweWF0aWVudHM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBsYWJlbHMgPSBbJ01vIGNvbmNlcm5zJywgJ0V0aGljYWwgcXVlc3Rpb25zJywgJ0xvbmctdGVybSBlZmZlY3RzJywgJ1NhZmV0eSBhbmQgc2lkZSBlZmZlY3RzJywgJ0Nvc3QgYW5kIGFjY2Vzc2liaWxpdHknXTtcblxuICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFiZWxzLFxuICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgICAgMC41NCxcbiAgICAgICAgICAgICAgMTAuMTgsXG4gICAgICAgICAgICAgIDU5LjQ2LFxuICAgICAgICAgICAgICA1OS40NixcbiAgICAgICAgICAgICAgMzIuNDNcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgdGV4dDogJ1doYXQgY29uY2VybnMgZG8geW91IGhhdmUgYWJvdXQgZ2VuZSB0aGVyYXB5PycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHk6IHtcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIHRleHQ6ICclJywgLy8gVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSB5LWF4aXNcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBIb3dNdWNoRG9lc0l0QWZmZWN0WW91YXRpZW50czogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGxhYmVscyA9IFsnMScsICcyJywgJzMnLCAnNCcsICc1J107XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAgIDQuMzIsXG4gICAgICAgICAgICAgIDEyLjQzLFxuICAgICAgICAgICAgICA0Mi4xNixcbiAgICAgICAgICAgICAgMzIuOTcsXG4gICAgICAgICAgICAgIDguMTFcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgdGV4dDogW1wiSG93IG11Y2ggZG9lcyBjeXN0aWMgZmlicm9zaXMgYWZmZWN0IHlvdXIgb3IgeW91ciByZWxhdGl2ZSdzIFwiLCBcImRhaWx5IGxpZmU/ICgxID0gTm90IGF0IGFsbCwgNSA9IFZlcnkgbXVjaClcIl1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeToge1xuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJyUnLCAvLyBUaGlzIGlzIHRoZSBsYWJlbCBmb3IgdGhlIHktYXhpc1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuXG5leHBvcnQgY29uc3QgV2hpY2hUaGVyYXB5RG9Zb3VVc2VhdGllbnRzOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgbGFiZWxzID0gWydQc3ljaG9sb2dpY2FsIHRoZXJhcHknLCAnUGh5c2ljYWwgdGhlcmFweScsICdOdXRyaXRpb25hbCB0aGVyYXB5JywgJ01lZGljYXRpb24gdGhlcmFweScsICdJbmhhbGF0aW9uIHRoZXJhcHknLCAnT3RoZXJzJ107XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAgIDUuOTQsXG4gICAgICAgICAgICAgIDI2LjMyLFxuICAgICAgICAgICAgICAxMC41MyxcbiAgICAgICAgICAgICAgMjkuMixcbiAgICAgICAgICAgICAgMjYuODMsXG4gICAgICAgICAgICAgIDEuMTlcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgdGV4dDogJ1doaWNoIGZvcm0ocykgb2YgdGhlcmFweSBkbyB5b3Ugb3IgeW91ciByZWxhdGl2ZSB1c2U/JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeToge1xuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJyUnLCAvLyBUaGlzIGlzIHRoZSBsYWJlbCBmb3IgdGhlIHktYXhpc1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFdoaWNoU3ltcHRvbXNhdGllbnRzOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgbGFiZWxzID0gWydPdGhlcicsICdIZWFkYWNoZScsIFwiRGVsYXllZCBHcm93dGhcIiwgJ1VuZGVyd2VpZ2h0JywgJ0ZyZXF1ZW50IGx1bmcgaW5mZWN0aW9ucycsICdNdXNjbGUgdHJlbW9ycy93ZWFrbmVzcycsICdjb25zdGlwYXRpb24nLCAnQWJkb21pbmFsIHBhaW4nLCAnQ2hyb25pYyBjb3VnaCcgXTtcblxuICBjb25zdCBkYXRhID0ge1xuICAgICAgbGFiZWxzLFxuICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRhdGE6IFtcbiAgICAgICAgICAgICAgNC45OSxcbiAgICAgICAgICAgICAgNi45OCxcbiAgICAgICAgICAgICAgNi4yMyxcbiAgICAgICAgICAgICAgMTMuNDcsIFxuICAgICAgICAgICAgICAxMy43MixcbiAgICAgICAgICAgICAgMi4wLFxuICAgICAgICAgICAgICAxMC40NyxcbiAgICAgICAgICAgICAgMjMuMTksXG4gICAgICAgICAgICAgIDE4Ljk1XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgZGlzcGxheTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgIHRleHQ6ICdXaGljaCBzeW1wdG9tcyBkbyB5b3Ugb3IgeW91ciByZWxhdGl2ZSBoYXZlIG1vc3QgZnJlcXVlbnRseT8nLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNjYWxlczoge1xuICAgICAgICB5OiB7XG4gICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICB0ZXh0OiAnJScsIC8vIFRoaXMgaXMgdGhlIGxhYmVsIGZvciB0aGUgeS1heGlzXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFyLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgPEJhciBvcHRpb25zPXtvcHRpb25zfSBkYXRhPXtkYXRhfSAvPlxuICAgICAgPC9kaXY+XG4gICk7XG59O1xuXG5cbmV4cG9ydCBjb25zdCBCYXNpY1Bvc2l0aW9uYXRpZW50czogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGxhYmVscyA9IFsnMScsICcyJywgJzMnLCAnNCcsICc1J107XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgICBsYWJlbHMsXG4gICAgICBkYXRhc2V0czogW1xuICAgICAgICB7XG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgICAyLjE0LFxuICAgICAgICAgICAgICA1LjE3LFxuICAgICAgICAgICAgICAyNy4xNCxcbiAgICAgICAgICAgICAgMzAuMDAsXG4gICAgICAgICAgICAgIDM1LjAwXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgZGlzcGxheTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgIHRleHQ6IFsnV2hhdCBpcyB5b3VyIGJhc2ljIHBvc2l0aW9uIG9uIGdlbmUgdGhlcmFweT8nLCcgKDE9VmVyeSBuZWdhdGl2ZSwgNT1WZXJ5IHBvc2l0aXZlKSddXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHk6IHtcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIHRleHQ6ICclJywgLy8gVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSB5LWF4aXNcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBBZ2VEaWFnbm9zaXNhdGllbnRzOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgbGFiZWxzID0gWyc+MjAnLCAnMTAtMjAnLCAnMS0xMCcsICdmaXJzdCBtb250aHMnLCAnZmlyc3Qgd2VlaycsICdOZXdib3JuIFNjcmVlbmluZycsICdCZWZvcmUgYmlydGgnXTtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAzLjgzLFxuICAgICAgICAgICAgMi43MyxcbiAgICAgICAgICAgIDI2LjIzLFxuICAgICAgICAgICAgMjEuODYsXG4gICAgICAgICAgICAxOC4wMyxcbiAgICAgICAgICAgIDI2LjIzLFxuICAgICAgICAgICAgMS4wOVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyY29sb3JzY2FsZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICB0ZXh0OiAnQXQgd2hhdCBhZ2Ugd2VyZSB5b3Ugb3IgeW91ciByZWxhdGl2ZSBkaWFnbm9zZWQgd2l0aCBjeXN0aWMgZmlicm9zaXM/JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBzY2FsZXM6IHtcbiAgICAgICAgeToge1xuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJyUnLCAvLyBUaGlzIGlzIHRoZSBsYWJlbCBmb3IgdGhlIHktYXhpc1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IEhlYWRyb2ZHZW5lVGhlcmFweVBhdGllbnRzOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICBsYWJlbHM6IFsnWWVzJywgJ05vJ10sXG4gICAgZGF0YXNldHM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdQZXJjZW50YWdlJyxcbiAgICAgICAgZGF0YTogW1xuICAgICAgICAgIDc2Ljc2LFxuICAgICAgICAgIDIzLjI0XG4gICAgICAgIF0sXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgIHBsdWdpbnM6IHtcbiAgICAgIHRpdGxlOiB7XG4gICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgIHRleHQ6ICdIYXZlIHlvdSBldmVyIGhlYXJkIG9mIGdlbmUgdGhlcmFweT8nLFxuICAgICAgfSxcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBpZS1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxQaWUgZGF0YT17ZGF0YX0gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IE1vcmVJbmZvT25UaGVyYXB5Qm90aDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGxhYmVscyA9IFsnWWVzJywgJ05vJ107XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0FmZmVjdGVkJyxcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICA5My40OCxcbiAgICAgICAgICAgIDYuNTJcbiAgICAgICAgICAgICBcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDEzMywgMTUsIDEyMCwgMC4yKScsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogJ3JnYmEoMTMzLCAxNSwgMTIwLCAxJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnVW5hZmZlY3RlZCcsXG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgOTIuMDAsXG4gICAgICAgICAgICA4LjAwXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgxNjAsIDE2NywgMjQzLCAwLjIpJyxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiAncmdiYSgxNjAsIDE2NywgMjQzLCAxKScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBwb3NpdGlvbjogJ3RvcCcgYXMgY29uc3QsXG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICB0ZXh0OiAnV291bGQgeW91IGxpa2UgdG8gc2VlIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIHN1YmplY3Qgb2YgZ2VuZSB0aGVyYXB5PycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHk6IHtcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIHRleHQ6ICclJywgLy8gVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSB5LWF4aXNcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cblxuZXhwb3J0IGNvbnN0IEhlYXJkT2ZDRlB1YmxpYzogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgbGFiZWxzOiBbJ1llcycsICdObyddLFxuICAgIGRhdGFzZXRzOiBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnUGVyY2VudGFnZScsXG4gICAgICAgIGRhdGE6IFtcbiAgICAgICAgICA4Mi44OSxcbiAgICAgICAgICAxNy4xMVxuICAgICAgICBdLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgcGx1Z2luczoge1xuICAgICAgdGl0bGU6IHtcbiAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgdGV4dDogJ0hhdmUgeW91IGhlYXJkIG9mIGN5c3RpYyBmaWJyb3Npcz8nLFxuICAgICAgfSxcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBpZS1jaGFydC1jb250YWluZXItc21hbGxcIj5cbiAgICAgIDxQaWUgZGF0YT17ZGF0YX0gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuXG5leHBvcnQgY29uc3QgSGVhZE9mR2VuZVRoZXJhcHlQdWJsaWM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBkYXRhID0ge1xuICAgIGxhYmVsczogWydZZXMnLCAnTm8nXSxcbiAgICBkYXRhc2V0czogW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ1BlcmNlbnRhZ2UnLFxuICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgNjcuNTgsXG4gICAgICAgICAgMzIuNDJcbiAgICAgICAgXSxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgIHBsdWdpbnM6IHtcbiAgICAgIHRpdGxlOiB7XG4gICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgIHRleHQ6ICdIYXZlIHlvdSBldmVyIGhlYXJkIG9mIGdlbmUgdGhlcmFweT8nLFxuICAgICAgfSxcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBpZS1jaGFydC1jb250YWluZXJcIj5cbiAgICAgIDxQaWUgZGF0YT17ZGF0YX0gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuXG5leHBvcnQgY29uc3QgSG93RGlkWW91TGVhcm5QdWJsaWM6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBsYWJlbHMgPSBbJ0kgYW0gYWZmZWN0ZWQnLCAnRmFtaWx5L0ZyaWVuZHMnLCAnU2Nob29sL1VuaXZlcnNpdHknLCAnTWVkaWEnLCAnSGVhbHRoY2FyZSBwcm92aWRlcicsICdPdGhlciddO1xuXG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgICBsYWJlbHMsXG4gICAgICBkYXRhc2V0czogW1xuICAgICAgICB7XG4gICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgMS4yMyxcbiAgICAgICAgICAgIDI1LjE1LFxuICAgICAgICAgICAgMjAuODYsXG4gICAgICAgICAgICA0NC4xNyxcbiAgICAgICAgICAgIDMuNjgsXG4gICAgICAgICAgICA0LjkxXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgZGlzcGxheTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgIHRleHQ6ICdIb3cgZGlkIHlvdSBtYWlubHkgbGVhcm4gYWJvdXQgY3lzdGljIGZpYnJvc2lzPyAnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHNjYWxlczoge1xuICAgICAgICB4OiB7XG4gICAgICAgICAgYmVnaW5BdFplcm86IHRydWUsXG4gICAgICAgICAgYmFyUGVyY2VudGFnZTogMC41LCAvLyBTY2htYWxlciBtYWNoZW4sIDAuNSA9IDUwJSBkZXIgS2F0ZWdvcmllLUJyZWl0ZVxuICAgICAgICAgIGNhdGVnb3J5UGVyY2VudGFnZTogMC41LCAvLyBQbGF0eiBwcm8gS2F0ZWdvcmllIHNjaG1hbGVyIG1hY2hlblxuICAgICAgICB9LFxuICAgICAgICB5OiB7XG4gICAgICAgICAgYmVnaW5BdFplcm86IHRydWUsXG4gICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICB0ZXh0OiAnJScsIC8vIFRoaXMgaXMgdGhlIGxhYmVsIGZvciB0aGUgeS1heGlzXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFyLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgPEJhciBvcHRpb25zPXtvcHRpb25zfSBkYXRhPXtkYXRhfSAvPlxuICAgICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgSG93V2VsbERvWW91VW5kZXJzdGFuZEdGUHVibGljOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICBsYWJlbHM6IFsnRXh0cmVtZWx5IHdlbGwnLCAnU29tZXdoYXQgd2VsbCcsICdOb3Qgc28gd2VsbCcsICdOb3QgYXQgYWxsJ10sXG4gICAgZGF0YXNldHM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdQZXJjZW50YWdlJyxcbiAgICAgICAgZGF0YTogW1xuICAgICAgICAgIDE5LjM4LFxuICAgICAgICAgIDI0LjgxLFxuICAgICAgICAgIDQ0Ljk2LFxuICAgICAgICAgIDEwLjg1XG4gICAgICAgIF0sXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyY29sb3JzY2FsZSxcbiAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICB9LFxuICAgIF0sXG4gIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcbiAgICBwbHVnaW5zOiB7XG4gICAgICB0aXRsZToge1xuICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICB0ZXh0OiAnSG93IHdlbGwgZG8geW91IHVuZGVyc3RhbmQgd2hhdCBnZW5lIHRoZXJhcHkgaXM/JyxcbiAgICAgIH0sXG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwaWUtY2hhcnQtY29udGFpbmVyLXNtYWxsXCI+XG4gICAgICA8UGllIGRhdGE9e2RhdGF9IG9wdGlvbnM9e29wdGlvbnN9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBIb3dXZWxsSW5mb3JtZWRBYm91dENGUHVibGljOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgZGF0YSA9IHtcbiAgICBsYWJlbHM6IFsnRXh0cmVtZWx5IHdlbGwnLCAnU29tZXdoYXQgd2VsbCcsICdOb3Qgc28gd2VsbCcsICdOb3QgYXQgYWxsJ10sXG4gICAgZGF0YXNldHM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdQZXJjZW50YWdlJyxcbiAgICAgICAgZGF0YTogW1xuICAgICAgICAgIDYuMzcsXG4gICAgICAgICAgMjEuNjYsXG4gICAgICAgICAgNTguNjAsXG4gICAgICAgICAgMTMuMzhcbiAgICAgICAgXSxcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgIG1haW50YWluQXNwZWN0UmF0aW86IGZhbHNlLFxuICAgICAgcGx1Z2luczogeyB0aXRsZToge1xuICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICB0ZXh0OiAnSG93IHdlbGwgaW5mb3JtZWQgYXJlIHlvdSBhYm91dCBjeXN0aWMgZmlicm9zaXM/JyxcbiAgICAgIH0sXG4gICAgfVxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJwaWUtY2hhcnQtY29udGFpbmVyLW90aGVyXCI+XG4gICAgICA8UGllIGRhdGE9e2RhdGF9IG9wdGlvbnM9e29wdGlvbnN9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBXaGF0Q291bGRHZW5lVGhlcmFweU1lYW5Gb3JNZWRpY2luZVB1YmxpYzogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgbGFiZWxzOiBbJ01ham9yIGFkdmFuY2VzIGluIHRoZSB0cmVhdG1lbnQgb2YgZGlzZWFzZXMnLCAnU29tZSBwcm9ncmVzcywgYnV0IGFsc28gcmlza3MnLCAnTW9yZSByaXNrcyB0aGFuIGJlbmVmaXRzJywgJ05vIG9waW5pb24nXSxcbiAgICBkYXRhc2V0czogW1xuICAgICAge1xuICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgNDkuNTksXG4gICAgICAgICAgNDcuOTcsXG4gICAgICAgICAgMS42MyxcbiAgICAgICAgICAwLjgxXG4gICAgICAgIF0sXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyY29sb3JzY2FsZSxcbiAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICB9LFxuICAgIF0sXG4gIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICBtYWludGFpbkFzcGVjdFJhdGlvOiBmYWxzZSxcbiAgICBwbHVnaW5zOiB7dGl0bGU6IHtcbiAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICB0ZXh0OiAnV2hhdCBkbyB5b3UgdGhpbmsgZ2VuZSB0aGVyYXB5IGNvdWxkIG1lYW4gZm9yIG1lZGljaW5lPycsXG4gICAgfSx9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBpZS1jaGFydC1jb250YWluZXItb3RoZXJcIj5cbiAgICAgIDxQaWUgZGF0YT17ZGF0YX0gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuXG5leHBvcnQgY29uc3QgV2hhdE1lYXN1cmVzUHVibGljOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgbGFiZWxzID0gWydNZWRpYScsICdTY2hvb2xzIGFuZCBDb21tdW5pdGllcycsIFwiRG9jdG9yc1wiLCAnQ2hhcml0aWVzIGFuZCBGaW5kcmFpc2VycycsICdPbmxpbmUgUGxhdGZvcm1zIGFuZCBGb3J1bXMnLCAnQ29vcGVyYXRpb25zIHdpdGggQ29tcGFuaWVzJywgJ1NjaG9vbCBMZXNzb25zJywgJ0RvY3VtZW50YXJpZXMgYW5kIFNob3J0IEZpbG1zJ107XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0dlbmVyYWwgU3VydmV5JyxcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAyMi44NyxcbiAgICAgICAgICAgIDEzLjIwLFxuICAgICAgICAgICAgMTMuNjksXG4gICAgICAgICAgICA3LjA5LFxuICAgICAgICAgICAgMTIuNzIsXG4gICAgICAgICAgICA2LjYwLFxuICAgICAgICAgICAgOS44MixcbiAgICAgICAgICAgIDE0LjAxXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kY29sb3JzY2FsZSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBib3JkZXJjb2xvcnNjYWxlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgZGlzcGxheTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgIHRleHQ6ICdXaGF0IG1lYXN1cmVzIGRvIHlvdSB0aGluayBjb3VsZCBiZSB0YWtlbiB0byByYWlzZSBhd2FyZW5lc3Mgb2YgY3lzdGljIGZpYnJvc2lzPycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHk6IHtcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIHRleHQ6ICclJywgLy8gVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSB5LWF4aXNcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cblxuZXhwb3J0IGNvbnN0IFdvdWxkWW91RG9HZW5lVGhlcmFweVB1YmxpYzogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRhdGEgPSB7XG4gICAgbGFiZWxzOiBbJ1llcycsICdObycsICdNYXliZSddLFxuICAgIGRhdGFzZXRzOiBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnR2VuZXJhbCBTdXJ2ZXknLFxuICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgODUuMjIsXG4gICAgICAgICAgMTMuMDQsXG4gICAgICAgICAgMS43NFxuICAgICAgICBdLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgbWFpbnRhaW5Bc3BlY3RSYXRpbzogZmFsc2UsXG4gICAgcGx1Z2luczoge1xuICAgICAgdGl0bGU6IHtcbiAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgdGV4dDogJ1dvdWxkIHlvdSBvcHQgZm9yIGdlbmUgdGhlcmFweSB5b3Vyc2VsZj8nLFxuICAgICAgfSxcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInBpZS1jaGFydC1jb250YWluZXItb3RoZXJcIj5cbiAgICAgIDxQaWUgZGF0YT17ZGF0YX0gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgICAgIDwvZGl2PlxuICApO1xufTtcblxuXG5leHBvcnQgY29uc3QgV2hhdENvY2VybnNBYm91dEdlbmVUaGVyYXB5UHVibGljOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgbGFiZWxzID0gWydObyBjb25jZXJucycsICdFdGhpY2FsIHF1ZXN0aW9ucycsICdMb25nLXRlcm0gZWZmZWN0cycsICdTYWZldHkgYW5kIHNpZGUgZWZmZWN0cycsICdDb3N0IGFuZCBhY2Nlc3NpYmlsaXR5J107XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0dlbmVyYWwgU3VydmV5JyxcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICA0LjU3LFxuICAgICAgICAgICAgMTQuNjEsXG4gICAgICAgICAgICAyNy44NSxcbiAgICAgICAgICAgIDI4Ljc3LFxuICAgICAgICAgICAgMjQuMjBcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRjb2xvcnNjYWxlLFxuICAgICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlcmNvbG9yc2NhbGUsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgcGx1Z2luczoge1xuICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICBkaXNwbGF5OiBmYWxzZVxuICAgICAgICB9LFxuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgdGV4dDogJ1doYXQgY29uY2VybnMgZG8geW91IGhhdmUgYWJvdXQgZ2VuZSB0aGVyYXB5PycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHk6IHtcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIHRleHQ6ICclJywgLy8gVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSB5LWF4aXNcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBXaGF0Rm9ybU1vcmVJbmZvUHVibGljOiBSZWFjdC5GQyA9ICgpID0+IHtcbiAgY29uc3QgbGFiZWxzID0gWydJbmZvcm1hdGlvbnMgYnJvY2h1cmVzJywgJ1dlYnNpdGVzIGFuZCBvbmxpbmUgcmVzb3VyY2VzJywgJ1RWIGRvY3VtZW50YXJpZXMgYW5kIHByb2dyYW1zJywgJ0xlY3R1cmVzIGFuZCBzZW1pbmFycycsICdTY2hvb2wgYW5kIHVuaXZlcnNpdHkgY291cnNlcyAnLCAnQ29uc3VsdGF0aW9ucyB3aXRoIGRvY3RvcnMgYW5kIHNwZWNpYWxpc3RzJywgJ1NvY2lhbCBtZWRpYSBhbmQgb25saW5lIGNvbW11bml0aWVzJywgJ090aGVyJ107XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICAgIGxhYmVscyxcbiAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0dlbmVyYWwgU3VydmV5JyxcbiAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAxNS43NCxcbiAgICAgICAgICAgIDE2LjYzLFxuICAgICAgICAgICAgMjIuNjIsXG4gICAgICAgICAgICAxLjc3LFxuICAgICAgICAgICAgMTMuMzAsXG4gICAgICAgICAgICAxMy45NyxcbiAgICAgICAgICAgIDE1Ljk2LFxuICAgICAgICAgICAgMFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZGNvbG9yc2NhbGUsXG4gICAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyY29sb3JzY2FsZSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICBwbHVnaW5zOiB7XG4gICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgIGRpc3BsYXk6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICB0ZXh0OiAnSW4gd2hhdCBmb3JtIHdvdWxkIHlvdSBsaWtlIHRvIHNlZSBtb3JlIGluZm9ybWF0aW9uPycsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2NhbGVzOiB7XG4gICAgICAgIHk6IHtcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIHRleHQ6ICclJywgLy8gVGhpcyBpcyB0aGUgbGFiZWwgZm9yIHRoZSB5LWF4aXNcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFBpZUNoYXJ0O1xuIiwgImltcG9ydCB7IFN1cFNjcm9sbExpbmsgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9TY3JvbGxMaW5rXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ltcHRvbURhdGVuc2F0eiB7IFxuICAgIG5hbWU6IHN0cmluZzsgIFxuICAgIHBpY3R1cmU6IHN0cmluZzsgXG4gICAgaW50cm9kdWN0aW9uOiBBcnJheTxzdHJpbmc+IHwgQXJyYXk8UmVhY3QuUmVhY3ROb2RlPjtcbn1cblxuLy9CaWxkZXIrUXVlbGxlbiBtXHUwMEZDc3NlbiBub2NoIGFuZ2VwYXNzdCB3ZXJkZW5cbi8vZGEga29tbWVuIGpldHp0IGZvbGdlbmRlIE9yZ2FuZTogUGFuY3JlYXMsIEludGVzdGluZXMsIExpdmVyLCBTZXh1YWwgZ2xhbmRzLCBMdW5ncywgU2tlbGV0YWwgU3lzdGVtLCBTa2luLCBOb3NlLCBCcmFpbi9NZW50YWwgSGVhbHRoIFxuZXhwb3J0IGNvbnN0IHN5bXB0b21kYXRhOiAoQXJyYXk8U3ltcHRvbURhdGVuc2F0ej4pICA9IFtcbiAgICB7XG4gICAgICAgIG5hbWU6IFwiUGFuY3JlYXNcIixcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvcGFuY3JlYXMuc3ZnXCIsXG4gICAgICAgIGludHJvZHVjdGlvbjogWzw+TG9jYXRlZCBiZWhpbmQgdGhlIHN0b21hY2ggaW4gdGhlIGJhY2sgYWJkb21pbmFsIGNhdml0eSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjc0XCIvPjwvPiw8PlJlc3BvbnNpYmxlIGZvciBuZXV0cmFsaXppbmcgc3RvbWFjaCBhY2lkLCBwcm9kdWN0aW9uIG9mIGhvcm1vbmVzIChsaWtlIEluc3VsaW4pIGFuZCBkaWdlc3Rpb24gZW56eW1lcyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjc0XCIvPjwvPiw8PkNsb2dnaW5nIGNhdXNlZCBieSBDRiwgc28gdGhhdCBwcm9kdWN0cyBvZiB0aGUgcGFuY3JlYXRpYyBnbGFuZCBjYW4gbm90IGJlIGRpc3RyaWJ1dGVkIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNzVcIi8+PC8+LDw+UGFuY3JlYXRpYyBpbnN1ZmZpY2llbmN5IGR1ZSB0byBDRiBjYW4gbGVhZCB0byBtYWxudXRyaXRpb24gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI3NlwiLz4sIGRpZ2VzdGl2ZSBwcm9ibGVtcyBhbmQgYWJkb21pbmFsIHBhaW4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI3N1wiLz4sIENGLWFzc29jaWF0ZWQgZGlhYmV0ZXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI3OFwiLz48Lz4sPD5UcmVhdG1lbnQgb3B0aW9ucyBpbmNsdWRlIG51dHJpdGlvbmFsIHRoZXJhcHkgYW5kIHN1cHBsZW1lbnRhdGlvbiBvZiBwYW5jcmVhdGljIGVuenltZXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI3OVwiLz48Lz5dXG4gICAgfSxcbiAgICB7IFxuICAgICAgICBuYW1lOiBcIkludGVzdGluZXNcIiwgXG4gICAgICAgIHBpY3R1cmU6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc2NpZW50aWZpYy1maWd1cmVzL2xhcmdlaW50ZXN0aW5lLnN2Z1wiLFxuICAgICAgICBpbnRyb2R1Y3Rpb246IFs8PkxvY2F0ZWQgaW4gdGhlIGFiZG9taW5hbCBjYXZpdHkgYW5kIGV4dGVuZHMgZnJvbSB0aGUgc3RvbWFjaCB0byB0aGUgYW51czwvPiw8PlJlc3BvbnNpYmxlIGZvciBudXRyaWVudCBhYnNvcnB0aW9uLCB3YXRlciByZWFic29ycHRpb24sIGFuZCB3YXN0ZSBlbGltaW5hdGlvbiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjgwXCIvPjwvPiw8PkNGIGNhbiBjYXVzZSBibG9ja2luZyBvZiB0aGUgaW50ZXN0aW5lcywgcHJldmVudGluZyB0aGUgbm9ybWFsIG1vdmVtZW50IG9mIGZvb2QgYW5kIGFic29ycHRpb24gb2YgbnV0cmllbnRzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiODFcIi8+PC8+LDw+SW50ZXN0aW5hbCBibG9ja2FnZSBkdWUgdG8gQ0YgY2FuIGxlYWQgdG8gbWFsYWJzb3JwdGlvbiBvZiBudXRyaWVudHMsIGFuZCBjb25kaXRpb25zIGxpa2UgbWVjb25pdW0gaWxldXMgaW4gbmV3Ym9ybnMgb3IgZGlzdGFsIGludGVzdGluYWwgb2JzdHJ1Y3Rpb24gc3luZHJvbWUgKERJT1MpIGluIGFkdWx0cyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjgxXCIvPjwvPiw8PlRyZWF0bWVudCBvcHRpb25zIGluY2x1ZGUgdGhlIHVzZSBvZiBsYXhhdGl2ZXMsIGVuenltZSBzdXBwbGVtZW50YXRpb24sIGZlZWRpbmcgdHViZXMsIGFuZCBpbiBzZXZlcmUgY2FzZXMsIHN1cmdpY2FsIGludGVydmVudGlvbiBvciBpbnRlc3RpbmFsIHRyYW5zcGxhbnRhdGlvbiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjgxXCIvPjwvPl1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogXCJMaXZlclwiLCBcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvbGl2ZXIuc3ZnXCIsXG4gICAgICAgIGludHJvZHVjdGlvbjogWzw+TG9jYXRlZCBkaXJlY3RseSBiZWxvdyB0aGUgZGlhcGhyYWdtIG5lYXIgdGhlIHBhbmNyZWF0aWMgZ2xhbmQgYW5kIHN0b21hY2ggPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI4MlwiLz48Lz4sPD5SZXNwb25zaWJsZSBmb3IgZGV0b3hpZmljYXRpb24sIGJpbGUgcHJvZHVjdGlvbiBmb3IgZW5oYW5jZW1lbnQgb2YgZGlnZXN0aW9uLCBwcm90ZWluIHN5bnRoZXNpcyBmb3IgYmxvb2QgY2xvdHRpbmcgYW5kIGltbXVuZSBmdW5jdGlvbnMsIG51dHJpZW50IHByb2Nlc3NpbmcgYW5kIHN0b3JhZ2UgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI4MlwiLz48Lz4sPD5DRiBhZmZlY3RzIHRoZSBub3JtYWwgc2VjcmV0aW9uIGFuZCBmdW5jdGlvbiBvZiBiaWxlLSBpdCBiZWNvbWVzIHN0aWNraWVyIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiODNcIi8+PC8+LDw+U3ltcHRvbXMgY2F1c2VkIGJ5IENGIGluY2x1ZGUgYnJ1aXNpbmcsIG5vc2UgYmxlZWRzLCBJbmZsYW1tYXRpb24sIG1vcmUgZnJlcXVlbnQgY2hlc3QgaW5mZWN0aW9ucywgbG93IGJvZHkgd2VpZ2h0LCBsaXZlciBjaXJyaG9zaXMsIGxldGhhcmd5IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiODNcIi8+PC8+LDw+VHJlYXRtZW50IG9wdGlvbnMgaW5jbHVkZSBudXRyaXRpb25hbCB0aGVyYXB5LCBtb2R1bGF0b3JzLCBVRENBLCBsaXZlciB0cmFuc3BsYW50YXRpb24gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI4NFwiLz48Lz5dXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6IFwiU2V4dWFsIGdsYW5kc1wiLFxuICAgICAgICBwaWN0dXJlOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3NjaWVudGlmaWMtZmlndXJlcy9nbGFuZHMuc3ZnXCIsXG4gICAgICAgIGludHJvZHVjdGlvbjogWzw+TG9jYXRlZCBpbiBwZWx2aWMgYXJlYSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjg1XCIvPjwvPiw8PlJlc3BvbnNpYmxlIGZvciBwcm9kdWN0aW9uIG9mIHNwZXJtIChtYWxlKS8gcHJvZHVjdGlvbiBvZiBvb2N5dGVzIGFuZCBhcyBzaXRlIGZvciBlbWJyeW8gZGV2ZWxvcG1lbnQgKGZlbWFsZSkgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI4NlwiLz48Lz4sPD5DRiBjYXVzZXMgdGhpY2sgbXVjdXMgdG8gYmxvY2sgcmVwcm9kdWN0aXZlIGR1Y3RzIChib3RoKSwgYWZmZWN0cyBzcGVybSB0cmFuc3BvcnQgKG1hbGUpIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiODdcIi8+IGFuZCBjZXJ2aWNhbCBtdWN1cyBkZW5zaXR5IChmZW1hbGUpIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiODhcIi8+PC8+LDw+VGhpcyBjYW4gbGVhZCBpbiBjb250ZXh0IG9mIENGIHRvIHJlZHVjZWQgZmVydGlsaXR5IG9yIGV2ZW4gaW5mZXJ0aWxpdHkgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI4N1wiLz48U3VwU2Nyb2xsTGluayBsYWJlbD1cIjg4XCIvPjwvPiw8PiA8aT4gSW4gdml0cm8gPC9pPiBmZXJ0aWxpemF0aW9uIGNhbiBiZSBhbiBvcHRpb24gZm9yIENGIHBhdGllbnRzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiODlcIi8+IDwvPl1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgbmFtZTogXCJMdW5nc1wiLCBcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvbHVuZ3Muc3ZnXCIsXG4gICAgICAgIGludHJvZHVjdGlvbjogWzw+TG9jYXRlZCBpbiB0aGUgcmliY2FnZSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjkwXCIvPjwvPiw8PlJlc3BvbnNpYmxlIGZvciBicmVhdGhpbmcgXHUyMDEzIGFzcGlyYXRpb24gb2YgbGlmZS1naXZpbmcgb3h5Z2VuIGFuZCBkZXBvc2l0aW9uIG9mIGNhcmJvbmRpb3hpZGUgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI5MFwiLz48Lz4sPD5DRiBjYXVzZXMgdGhlIHRoaWNrZW5pbmcgb2YgbXVjdXMgb24gdG9wIG9mIHRoZSByZXNwaXJhdG9yeSBlcGl0aGVsaXVtLCBzZXJ2aW5nIGFzIG51dHJpdGlvbiBncm91bmQgYXMgZm9yIHBhdGhvZ2VucyBhbmQgaW1wYWlyaW5nIHRoZSBtb3ZlbWVudCBvZiBjaWxpYSBzbyB0aGF0IHRoZSBtdWN1cyBjYW4gbm90IGJlIGNhcnQgYXdheSBbMThdPC8+LDw+U3ltcHRvbXMgY2F1c2VkIGJ5IENGIGluY2x1ZGUgc2hvcnRuZXNzIG9mIGJyZWF0aCwgcGVyc2lzdGVudCBjb3VnaCBbMTldLCBsdW5nIGluZmVjdGlvbnMgKG1haW5seSBjYXVzZWQgYnkgPGk+IFBzZXVkb21vbmFzIGFlcnVnaW5vc2EgPC9pPiwgPGk+IFN0YXBoeWxvY29jY3VzIGF1cmV1cyA8L2k+IGFuZCA8aT4gQnVya2hvbGRlcmlhIGNlcGFjaWEgPC9pPikgWzIwXSwgYnJvbmNoaWVjdGFzaXMgWzIxXSA8Lz4sPD5UcmVhdG1lbnQgb3B0aW9ucyBpbmNsdWRlIHJlc3BpcmF0b3J5IHBoeXNpb3RoZXJhcHkgKGUuZy4gYnJvbmNoaW9kaWxhdG9ycyksIHNwb3J0cywgaW5oYWxhdGlvbiwgYW50aWJpb3RpY3MgYWdhaW5zdCBwYXRob2dlbnMsIGx1bmcgdHJhbnNwbGFudGF0aW9uIFsyMl08Lz5dXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6IFwiU2tlbGV0YWwgU3lzdGVtXCIsXG4gICAgICAgIHBpY3R1cmU6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc2NpZW50aWZpYy1maWd1cmVzL2JvbmVzLnN2Z1wiLFxuICAgICAgICBpbnRyb2R1Y3Rpb246IFs8PkxvY2F0ZWQgdGhyb3VnaG91dCB0aGUgZW50aXJlIGJvZHk8Lz4sPD5SZXNwb25zaWJsZSBmb3Igc3RydWN0dXJhdGlvbiBvZiB0aGUgYm9keSwgcHJvdGVjdGlvbiBvZiBvcmdhbnMsIG1pbmVyYWwgc3RvcmFnZSwgYmxvb2QgY2VsbCBwcm9kdWN0aW9uIFsyM108Lz4sPD5DRiBhZmZlY3RzIHRoZSBza2VsZXRhbCBzeXN0ZW0gYnkgcmVkdWNpbmcgYm9uZSBtaW5lcmFsIGRlbnNpdHkgWzI0XTwvPiw8PlRoaXMgY2FuIGxlYWQgaW4gY29udGV4dCBvZiBDRiB0byBvc3Rlb3Bvcm9zaXMsIHNwaW5hbCBmcmFjdHVyZXMsIGt5cGhvc2lzLCBzY29saW9zaXMgWzI0XTwvPiw8PlRyZWF0bWVudCBvcHRpb25zIGluY2x1ZGUgdXB0YWtlIG9mIGJpb3Bob3NwaG9uYXRlcyB0byBpbmNyZWFzZSBib25lIGRlbnNpdHksIHZpdGFtaW4gRCBmb3IgbWFpbnRlbmFuY2Ugb2YgY2FsY2l1bSBsZXZlbHMgbmVlZGVkIGZvciBtaW5lcmFsaXphdGlvbiBbMjRdPC8+XVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiBcIlNraW5cIixcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvc2tpbi5zdmdcIixcbiAgICAgICAgaW50cm9kdWN0aW9uOiBbPD5Mb2NhdGVkIG9uIHRoZSBzdXJmYWNlIG9mIHRoZSBlbnRpcmUgYm9keTwvPiw8PlJlc3BvbnNpYmxlIGZvciBiYXJyaWVyIGZ1bmN0aW9uLCBpbW11bm9sb2dpY2FsIGRlZmVuc2UsIHJlZ3VsYXRpb24gb2YgaG9tZW9zdGFzaXMsIHNlbnNvcnkgZnVuY3Rpb25zIFsyNV08Lz4sPD5DRiBhZmZlY3RzIENGVFIgY2hhbm5lbHMgb2Ygc3dlYXQgZ2xhbmRzLCB3aGljaCBsZWFkcyB0byBzYWx0IGRlcG9zaXRzIG9uIHRoZSBza2luIFsyNl08Lz4sPD5UaGlzIGNhbiBsZWFkIGluIGNvbnRleHQgb2YgQ0YgdG8gc2tpbiBpcnJpdGF0aW9uIChyYXNoIG9yIGRlcm1hdGl0aXMpIFsyNl08Lz4sPD5QcmV2ZW50aW9uIHZpYSBkcmlua2luZyBhIGxvdCBhbmQgYSByYXRoZXIgc2FsdHkgZGlldCBwb3NzaWJsZSBbMjddPC8+XVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiBcIk5vc2VcIixcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvbm9zZS5zdmdcIixcbiAgICAgICAgaW50cm9kdWN0aW9uOiBbPD48Lz4sPD5SZXNwb25zaWJsZSBmb3Igc21lbGwgcGVyY2VwdGlvbiwgYnJlYXRoaW5nLCBmaWx0cmF0aW9uIGFuZCBjbGVhbmluZywgYW5kIHNlcnZpbmcgYXMgYSByZXNvbmFuY2UgY2hhbWJlciBmb3IgdGhlIHZvaWNlIFsyOF08Lz4sPD5DRiBhZmZlY3RzIHRoaWNrbmVzcyBvZiBuYXNhbCBzZWNyZXRpb25zLCB3aGljaCBjYW5ub3QgZHJhaW4gd2VsbCBbMjZdPC8+LDw+VGhpcyBjYW4gbGVhZCBpbiBjb250ZXh0IG9mIENGIHRvIG5hc2FsIGNvbmdlc3Rpb24sIHByZXNzdXJlIGhlYWRhY2hlcywgc2ludXNpdGlzLCBpbmZsYW1tYXRpb24gb2YgbmFzYWwgcG9seXBzIFsyNl08Lz4sPD5UaGVyYXB5IHJhbmdlcyBmcm9tIG5hc2FsIHNwcmF5cyB0byBzdXJnaWNhbCByZW1vdmFsIG9mIG5hc2FsIHBvbHlwcyBbMjZdPC8+XVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiBcIkJyYWluXCIsXG4gICAgICAgIHBpY3R1cmU6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc2NpZW50aWZpYy1maWd1cmVzL2JyYWluLnN2Z1wiLFxuICAgICAgICBpbnRyb2R1Y3Rpb246IFs8PkxvY2F0ZWQgaW5zaWRlIHRoZSBza3VsbDwvPiw8PlJlc3BvbnNpYmxlIGZvciBjb2duaXRpdmUgZnVuY3Rpb25zLCBtb3ZlbWVudCBjb29yZGluYXRpb24sIGFuZCBjb250cm9sIG9mIHZpdGFsIGZ1bmN0aW9ucyBbMjldPC8+LDw+Q0YgYWZmZWN0cyBtZW50YWwgaGVhbHRoIGR1ZSB0byBwc3ljaG9sb2dpY2FsIHN0cmVzcyBhbmQgc29jaWFsIGlzb2xhdGlvbiBbMzBdPC8+LDw+VGhpcyBjYW4gbGVhZCBpbiBjb250ZXh0IG9mIENGIHRvIHBoeXNpY2FsIGlsbG5lc3NlcyBsaWtlIGRlcHJlc3Npb24gYW5kIGFueGlldHkgZGlzb3JkZXJzIFszMF08Lz4sPD5UcmVhdG1lbnQgb3B0aW9ucyBpbmNsdWRlIHBzeWNob3RoZXJhcHksIGFudGlkZXByZXNzYW50cywgc3VwcG9ydCBncm91cHMgYW5kIHNwb3J0cyBbMzFdPC8+XVxuICAgIH1cbl0iLCAiaW1wb3J0IHsgU3VwU2Nyb2xsTGluayB9IGZyb20gXCIuLi9jb21wb25lbnRzL1Njcm9sbExpbmtcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEcnVnRGF0ZW5zYXR6IHtcbiAgICBuYW1lOiBzdHJpbmc7ICBcbiAgICBwaWN0dXJlOiBzdHJpbmc7IFxuICAgIGludHJvZHVjdGlvbjogc3RyaW5nIHwgUmVhY3QuUmVhY3ROb2RlO1xuICAgIGV4YW1wbGVzOiBBcnJheTxleGFtcGxlPjsgXG5cblxufVxuXG5cbmludGVyZmFjZSBleGFtcGxle1xuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgdGV4dDogQXJyYXk8c3RyaW5nPiB8IEFycmF5PFJlYWN0LlJlYWN0Tm9kZT47IFxufVxuIFxuZXhwb3J0IGNvbnN0IGRydWdkYXRhOiAoQXJyYXk8RHJ1Z0RhdGVuc2F0ej4pICA9IFtcbi8vICAgIHtcbi8vICAgICAgICBuYW1lOiBcIkFib3V0XCIsXG4vLyAgICAgICAgcGljdHVyZTogXCIuLi5cIixcbi8vICAgICAgICBpbnRyb2R1Y3Rpb246IFwiXCIsXG4vLyAgICAgICAgZXhhbXBsZXM6IFtcbi8vICAgICAgICAgICAge1xuLy8gICAgICAgICAgICAgICAgdGl0bGU6IFwiXCIsXG4vLyAgICAgICAgICAgICAgICB0ZXh0OiBbXCJcIl1cbi8vICAgICAgICAgICAgfSxcbi8vICAgICAgICAgICAge1xuLy8gICAgICAgICAgICAgICAgdGl0bGU6IFwiXCIsXG4vLyAgICAgICAgICAgICAgICB0ZXh0OiBbXCJzdHJpbmdcIl1cbi8vICAgICAgICAgICAgfSxcbi8vICAgICAgICBdXG4vLyAgICB9LFxuICAgIHtcbiAgICAgICAgLy9naWJ0IDQgTW9kdWxhdG9yIEJlaXNwaWVsZVxuICAgICAgICBuYW1lOiBcIk1vZHVsYXRvcnNcIixcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvbW9kdWxhdG9ycy5zdmdcIixcbiAgICAgICAgaW50cm9kdWN0aW9uOiA8YT5DRlRSIG1vZHVsYXRvcnMgcmVwcmVzZW50IGEgc2lnbmlmaWNhbnQgYWR2YW5jZW1lbnQgaW4gQ0YgdHJlYXRtZW50IHNpbmNlIHRoZXkgYXJlIHNtYWxsIG1vbGVjdWxlcyBpbXByb3ZpbmcgdGhlIGZ1bmN0aW9uIG9mIHRoZSBkZWZlY3RpdmUgQ0ZUUiBwcm90ZWluIGluIGEgbXV0YXRpb24tc3BlY2lmaWMgd2F5LCB3aGljaCBoZWxwcyByZXN0b3JlIGNobG9yaWRlIGlvbiB0cmFuc3BvcnQgYWNyb3NzIGNlbGwgbWVtYnJhbmVzLiBOb3RhYmxlIHBoYXJtYWNldXRpY2FsIGFnZW50cyBpbmNsdWRlIFRyaWthZnRhXHUwMEFFLCBTeW1kZWtvXHUwMEFFLCBPcmthbWJpXHUwMEFFIGFuZCBLYWx5ZGVjb1x1MDBBRSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjc0XCIvPi4gVGhlc2UgbWVkaWNhdGlvbnMgaGF2ZSBiZWVuIGRlbW9uc3RyYXRlZCB0byBzaWduaWZpY2FudGx5IGltcHJvdmUgbHVuZyBmdW5jdGlvbiBhbmQgcmVkdWNlIHB1bG1vbmFyeSBleGFjZXJiYXRpb25zLiBIb3dldmVyLCB0aGV5IGFyZSBleHBlbnNpdmUgYW5kIG1heSBjYXVzZSBzaWRlIGVmZmVjdHMgc3VjaCBhcyBsaXZlciBlbnp5bWUgZWxldmF0aW9ucyBhbmQgY2F0YXJhY3RzIGluIHBlZGlhdHJpYyBwYXRpZW50cyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjc1XCIvPi4gRnVydGhlcm1vcmUsIHRoZXkgYXJlIG5vdCBzdWl0YWJsZSBmb3IgYWxsIENGIHBhdGllbnRzIHNpbmNlIG9ubHkgbXV0YXRpb25zIHdoaWNoIHByb2R1Y2UgYSBDRlRSIGNoYW5uZWwgY2FuIGJlIHN1cHBvcnRlZCBieSBDRlRSIG1vZHVsYXRvcnMsIG5vdCB0aG9zZSBtdXRhdGlvbnMgd2hpY2ggbGVhZCB0byBhIG1pc3NpbmcgQ0ZUUiBjaGFubmVsIChrbm9jayBvdXQpIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNzRcIi8+LCBlLmcuIHN0b3AtbXV0YXRpb25zIGluY2x1ZGluZyBwLkFyZzU1M1RlciBvciBwLkdseTU0MlRlcjxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNzZcIi8+LiA8L2E+LFxuICAgICAgICBleGFtcGxlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlRyaWthZnRhXCIsIC8vcXVlbGxlIDRcbiAgICAgICAgICAgICAgICB0ZXh0OiBbPGE+QWN0aXZlIGluZ3JlZGllbnQocyk6IENvbWJpbmF0aW9uIG9mIGVsZXhhY2FmdG9yL3RlemFjYWZ0b3IvaXZhY2FmdG9yXCIsXCJJbmRpY2F0aW9uczogRm9yIENGIHBhdGllbnRzIGFnZWQgMiB5ZWFycyBhbmQgb2xkZXIgd2l0aCBhdCBsZWFzdCBvbmUgRjUwOGRlbCBtdXRhdGlvbiA9IDg1ICUgb2YgQ0YgcGF0aWVudHNcIixcIk1lY2hhbmlzbTogRWxleGFjYWZ0b3IgYW5kIHRlemFjYWZ0b3IgYWN0IGFzIGNvcnJlY3RvcnMgb24gbWlzZm9sZGVkIENGVFIgYW5kIHBlcm1pdCBkZWxpdmVyeSB0byB0aGUgY2VsbCBzdXJmYWNlLCB0aGVyZWJ5IGltcHJvdmluZyB0aGUgY2hhbm5lbCBkZW5zaXR5IGF0IHRoZSBwbGFzbWEgbWVtYnJhbmUsIHdoaWxlIGl2YWNhZnRvciBhcyBhIHBvdGVudGlhdG9yIGFjdHMgb24gQ0ZUUiBjaGFubmVscyB0aGF0IGhhdmUgcmVhY2hlZCB0aGUgY2VsbCBzdXJmYWNlIGFuZCBpbmNyZWFzZSB0aGUgZ2F0aW5nIGFuZCBjb25kdWN0YW5jZSBvZiBpb25zIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNzdcIi8+XCIsXCJBZG1pbmlzdHJhdGlvbjogT3JhbCB0YWJsZXRzPC9hPixcIkFwcHJvdmFsOiBBcHByb3ZlZCBieSB0aGUgRU1BIGluIDIwMjAgXCJdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlN5bWRla29cIiwgLy9xdWVsbGUgMVxuICAgICAgICAgICAgICAgIHRleHQ6IFtcIkFjdGl2ZSBpbmdyZWRpZW50KHMpOiBDb21iaW5hdGlvbiBvZiB0ZXphY2FmdG9yIGFuZCBpdmFjYWZ0b3JcIixcIkluZGljYXRpb25zOiBGb3IgQ0YgcGF0aWVudHMgYWdlZCA2IHllYXJzIGFuZCBvbGRlciB3aXRoIHNwZWNpZmljIG11dGF0aW9ucyBpbiBjb21iaW5hdGlvbiB3aXRoIEY1MDhkZWwgb3Igd2l0aCB0d28gY29waWVzIG9mIEY1MDhkZWwgbXV0YXRpb25cIiwgPGE+TWVjaGFuaXNtOiBUZXphY2FmdG9yIGFjdHMgYXMgYSBjb3JyZWN0b3Igb24gbWlzZm9sZGVkIENGVFIgYW5kIHBlcm1pdCBkZWxpdmVyeSB0byB0aGUgY2VsbCBzdXJmYWNlLCB0aGVyZWJ5IGltcHJvdmluZyB0aGUgY2hhbm5lbCBkZW5zaXR5IGF0IHRoZSBwbGFzbWEgbWVtYnJhbmUsIHdoaWxlIGl2YWNhZnRvciBhcyBhIHBvdGVudGlhdG9yIGFjdHMgb24gQ0ZUUiBjaGFubmVscyB0aGF0IGhhdmUgcmVhY2hlZCB0aGUgY2VsbCBzdXJmYWNlIGFuZCBpbmNyZWFzZSB0aGUgZ2F0aW5nIGFuZCBjb25kdWN0YW5jZSBvZiBpb25zIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNzdcIi8+IDwvYT4sIFwiQWRtaW5pc3RyYXRpb246IE9yYWwgdGFibGV0c1wiLCBcIkFwcHJvdmFsOiBBcHByb3ZlZCBieSB0aGUgRU1BIGluIDIwMThcIl1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiT3JrYW1iaVwiLCAvL3F1ZWxsZSA2XG4gICAgICAgICAgICAgICAgdGV4dDogW1wiQWN0aXZlIGluZ3JlZGllbnQocyk6IENvbWJpbmF0aW9uIG9mIGx1bWFjYWZ0b3IgYW5kIGl2YWNhZnRvclwiLCBcIkluZGljYXRpb25zOiBGb3IgQ0YgcGF0aWVudHMgYWdlZCAxIHllYXIgYW5kIG9sZGVyIHdpdGggdHdvIGNvcGllcyBvZiB0aGUgRjUwOGRlbCBtdXRhdGlvblwiLDxhPk1lY2hhbmlzbTogTHVtYWNhZnRvciBhY3RzIGFzIGEgY29ycmVjdG9yIG9uIG1pc2ZvbGRlZCBDRlRSIGFuZCBwZXJtaXQgZGVsaXZlcnkgdG8gdGhlIGNlbGwgc3VyZmFjZSwgdGhlcmVieSBpbXByb3ZpbmcgdGhlIGNoYW5uZWwgZGVuc2l0eSBhdCB0aGUgcGxhc21hIG1lbWJyYW5lLCB3aGlsZSBpdmFjYWZ0b3IgYXMgYSBwb3RlbnRpYXRvciBhY3Qgb24gQ0ZUUiBjaGFubmVscyB0aGF0IGhhdmUgcmVhY2hlZCB0aGUgY2VsbCBzdXJmYWNlIGFuZCBpbmNyZWFzZSB0aGUgZ2F0aW5nIGFuZCBjb25kdWN0YW5jZSBvZiBpb25zIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNzdcIi8+PC9hPixcIkFkbWluaXN0cmF0aW9uOiBPcmFsIHRhYmxldHNcIixcIkFwcHJvdmFsOiBBcHByb3ZlZCBieSB0aGUgRU1BIGluIDIwMTVcIl1cbiAgICAgICAgICAgIH0sICBcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJLYWx5ZGVjb1wiLCAvL3F1ZWxsZSA3XG4gICAgICAgICAgICAgICAgdGV4dDogW1wiQWN0aXZlIGluZ3JlZGllbnQocyk6IEl2YWNhZnRvclwiLFwiSW5kaWNhdGlvbnM6IEZvciBDRiBwYXRpZW50cyBhZ2VkIDQgbW9udGhzIGFuZCBvbGRlciB3aXRoIGEgZ2F0aW5nIG11dGF0aW9uIGluIHRoZSBDRlRSIGdlbmUgKGV4Y2x1ZGluZyBGNTA4ZGVsKVwiLDxhPk1lY2hhbmlzbTogSXZhY2FmdG9yIGFzIGEgcG90ZW50aWF0b3IgYWN0cyBvbiBDRlRSIGNoYW5uZWxzIHRoYXQgaGF2ZSByZWFjaGVkIHRoZSBjZWxsIHN1cmZhY2UgYW5kIGluY3JlYXNlIHRoZSBnYXRpbmcgYW5kIGNvbmR1Y3RhbmNlIG9mIGlvbnMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI3N1wiLz48L2E+LFwiQWRtaW5pc3RyYXRpb246IE9yYWwgdGFibGV0c1wiLFwiQXBwcm92YWw6IEFwcHJvdmVkIGJ5IHRoZSBFTUEgaW4gSnVseSAyMDEyXCJdXG4gICAgICAgICAgICB9LCBcbiAgICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgICBuYW1lOiBcIk11Y29seXRpY3MgYW5kIGluaGFsYXRpb25cIiwgLy9naWJ0IDIgSW5oYWxhdGlvbiBCZWlzcGllbGVcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvbXVjb2x5dGljcy5zdmdcIixcbiAgICAgICAgaW50cm9kdWN0aW9uOiA8YT5NdWNvbHl0aWNzIGhlbHAgdGhpbiBhbmQgbG9vc2VuIHRoZSBtdWN1cyBpbiB0aGUgbHVuZ3MsIG1ha2luZyBpdCBlYXNpZXIgdG8gY291Z2ggdXAgYW5kIGNsZWFyIHRoZSBhaXJ3YXlzLiBUaGVzZSB0aGVyYXBpZXMgYXJlIHR5cGljYWxseSBhZG1pbmlzdGVyZWQgdmlhIHdldCBvciBkcnkgaW5oYWxhdGlvbiwgcHJvdmlkaW5nIGRpcmVjdCBkZWxpdmVyeSB0byB0aGUgbHVuZ3MuIEluIHRoZSBjYXNlIG9mIHdldCBpbmhhbGF0aW9uLCB0aGUgbWVkaWNhdGlvbiBpcyBpbmhhbGVkIGFzIGFuIGFxdWVvdXMgc29sdXRpb24gYW5kIG5lYnVsaXplZCwgd2hpbGUgaW4gdGhlIGNhc2Ugb2YgZHJ5IGluaGFsYXRpb24sIHRoZSBtZWRpY2F0aW9uIGlzIGluaGFsZWQgYXMgYSBwb3dkZXIuIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNzRcIi8+IEtleSBUaGVyYXBpZXMgaW5jbHVkZSBtYW5uaXRvbCwgUHVsbW96eW1lXHUwMEFFIGFuZCBoeXBlcnRvbmljIHNhbGluZS48L2E+LFxuICAgICAgICBleGFtcGxlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBcIlB1bG1venltZVwiLCAvL3F1ZWxsZSA4XG4gICAgICAgICAgICAgICAgdGV4dDogW1wiQWN0aXZlIGluZ3JlZGllbnQocyk6IERvcm5hc2UgYWxmYSBhcyBtdWNvbHl0aWMgZW56eW1lXCIsXCJJbmRpY2F0aW9uczogRm9yIENGIHBhdGllbnRzIGFnZWQgNSB5ZWFycyBhbmQgb2xkZXJcIixcIk1lY2hhbmlzbTogYnJlYWtzIHVwIGFuZCB0aGlucyBtdWN1cyB2aWEgRE5hc2UgYWN0aXZpdHlcIixcIkFkbWluaXN0cmF0aW9uOiBJbmhhbGF0aW9uIHZpYSBuZWJ1bGl6ZXIsIG9uY2Ugb3IgdHdpY2UgZGFpbHlcIixcIkFwcHJvdmFsOiBBcHByb3ZlZCBieSB0aGUgRkRBIGluIDE5OTMgWzldXCJdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBcIkh5cGVydG9uaWMgc2FsaW5lXCIsLy9xdWVsbGUgMTBcbiAgICAgICAgICAgICAgICB0ZXh0OiBbXCJBY3RpdmUgaW5ncmVkaWVudChzKTogT3Ntb3RpYyBhZ2VudCBzb2RpdW0gY2hsb3JpZGUgKDMlLCAzLjUlLCA3JSlcIixcIkluZGljYXRpb25zOiBGb3IgQ0YgcGF0aWVudHMgYWdlZCA2IHllYXJzIGFuZCBvbGRlclwiLFwiTWVjaGFuaXNtOiBEcmF3cyB3YXRlciBpbnRvIHRoZSBhaXJ3YXlzLCBoeWRyYXRpbmcgdGhlIG11Y3VzIGFuZCBpbXByb3ZpbmcgY2xlYXJhbmNlXCIsXCJBZG1pbmlzdHJhdGlvbjogSW5oYWxhdGlvbiB2aWEgbmVidWxpemVyLCB1c2VkIHR3aWNlIGRhaWx5XCIsXCJBcHByb3ZhbDogbm8gb2ZmaWNpYWwgYXBwcm92YWwgYnkgRU1BIG9yIEZEQSBhdmFpbGFibGUsIGJ1dCB3aWRlbHkgdXNlZCBmb3Igc2V2ZXJhbCBkZWNhZGVzIFsxMV1cIixcIlByaWNlOiBsb3ctY29zdCBbMTFdXCJdXG4gICAgICAgICAgICB9LFxuICAgICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6IFwiQW50aWJpb3RpY3NcIiwgLy9naWJ0IDIgQUIgQmVpc3BpZWxlIFxuICAgICAgICBwaWN0dXJlOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3NjaWVudGlmaWMtZmlndXJlcy9hbnRpYmlvdGljcy5zdmdcIixcbiAgICAgICAgaW50cm9kdWN0aW9uOiBcIkFudGliaW90aWNzIGFyZSBjcnVjaWFsIGZvciB0cmVhdGluZyBiYWN0ZXJpYWwgaW5mZWN0aW9ucyBpbiBDRiBwYXRpZW50cyBzaW5jZSB0aGUgbXVjdXMgc2VydmVzIGFzIGFuIG9wdGltYWwgZW52aXJvbm1lbnQgZm9yIHBhdGhvZ2Vucy4gQSBodWdlIHZhcmlldHkgb2YgYW50aWJpb3RpY3MgY2FuIGJlIGluaGFsZWQsIG9yYWwsIG9yIGludHJhdmVub3VzLCBkZXBlbmRpbmcgb24gdGhlIHNldmVyaXR5IGFuZCBraW5kIG9mIHRoZSBpbmZlY3Rpb24gWzEyXS4gQ29tbWVyY2lhbGx5IGF2YWlsYWJsZSBtZWRpY2F0aW9ucyBpbmNsdWRlIFRPQklcdTAwQUUgYW5kIENBWVNUT05cdTAwQUUuIEEgbWFqb3IgcHJvYmxlbSBhc3NvY2lhdGVkIHdpdGggdGhlIGFwcGxpY2F0aW9uIG9mIGFudGliaW90aWNzIGlzIHRoZSBmYWN0IHRoYXQgbG9uZy10ZXJtIHVzZSBjYW4gbGVhZCB0byBhbnRpYmlvdGljIHJlc2lzdGFuY2UgYW5kIHBvdGVudGlhbCBzaWRlIGVmZmVjdHMgbGlrZSBraWRuZXkgZGFtYWdlIGFuZCBoZWFyaW5nIGxvc3MgWzEyXS5cIixcbiAgICAgICAgZXhhbXBsZXM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJUT0JJXCIsIC8vcXVlbGxlIDEzICsgUHNldWRvIG11c3Mga3Vyc2l2XG4gICAgICAgICAgICAgICAgdGV4dDogW1wiQWN0aXZlIGluZ3JlZGllbnQocyk6IFRvYnJhbXljaW5cIiw8PkluZGljYXRpb25zOiBGb3IgQ0YgcGF0aWVudHMgYWdlZCA2IHllYXJzIGFuZCBvbGRlciB3aXRoIDxpPiBQc2V1ZG9tb25hcyBhZXJ1Z2lub3NhIDwvaT4gaW5mZWN0aW9ucyA8Lz4sXCJNZWNoYW5pc206IEFtaW5vZ2x5Y29zaWRlIGFudGliaW90aWMgZGlzcnVwdHMgYmFjdGVyaWFsIHByb3RlaW4gc3ludGhlc2lzLCBsZWFkaW5nIHRvIHRoZSBkZWF0aCBvZiB0aGUgcGF0aG9nZW5cIixcIkFkbWluaXN0cmF0aW9uOiBJbmhhbGF0aW9uIG9mIGFudGliaW90aWMgdmlhIG5lYnVsaXplciwgdHlwaWNhbGx5IHRha2VuIHR3aWNlIGRhaWx5IGluIDI4LWRheSBjeWNsZXNcIixcIkFwcHJvdmFsOiBBcHByb3ZlZCBieSB0aGUgRU1BIGluIDIwMTEgWzE0XVwiXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogXCJDQVlTVE9OXCIsIC8vcXVlbGxlIDE1ICsgUHNldWRvIG11c3Mga3Vyc2l2XG4gICAgICAgICAgICAgICAgdGV4dDogW1wiQWN0aXZlIGluZ3JlZGllbnQocyk6IEF6dHJlb25hbVwiLDw+SW5kaWNhdGlvbnM6IEZvciBDRiBwYXRpZW50cyBhZ2VkIDYgeWVhcnMgYW5kIG9sZGVyIHdpdGggPGk+IFBzZXVkb21vbmFzIGFlcnVnaW5vc2EgPC9pPiBpbmZlY3Rpb25zIDwvPixcIk1lY2hhbmlzbTogQmV0YS1MYWN0YW0gYW50aWJpb3RpYyBkaXNydXB0cyBiYWN0ZXJpYWwgY2VsbCB3YWxsIHN5bnRoZXNpcywgbGVhZGluZyB0byB0aGUgZGVhdGggb2YgdGhlIHBhdGhvZ2VuXCIsXCJBZG1pbmlzdHJhdGlvbjogSW5oYWxhdGlvbiB2aWEgbmVidWxpemVyLCB0YWtlbiB0aHJlZSB0aW1lcyBkYWlseSBpbiAyOC1kYXkgY3ljbGVzXCIsXCJBcHByb3ZhbDogQXBwcm92ZWQgYnkgdGhlIEVNQSBpbiAyMDA5XCJdXG4gICAgICAgICAgICB9LFxuICAgICAgICBdXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5hbWU6IFwiRGlnZXN0aXZlIGVuenltZXMgYW5kIGRpZXRcIiwgLy9laW4gYmVpc3BpZWxcbiAgICAgICAgcGljdHVyZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvZGlldC5zdmdcIixcbiAgICAgICAgaW50cm9kdWN0aW9uOiA8YT4gVGhlIGRpZ2VzdGl2ZSBwcm9jZXNzIGlzIGltcGFpcmVkIGluIDgwJSBvZiBwYXRpZW50cyB3aXRoIGN5c3RpYyBmaWJyb3NpcyAoQ0YpLCBhcyBhIHJlc3VsdCBvZiBwYW5jcmVhdGljIGluc3VmZmljaWVuY3ksIHdoaWNoIGluIHR1cm4gbGVhZHMgdG8gZGlmZmljdWx0aWVzIGluIGRpZ2VzdGluZyBmb29kIGFuZCBhYnNvcmJpbmcgbnV0cmllbnRzLiBFbnp5bWUgc3VwcGxlbWVudHMgbGlrZSBDcmVvblx1MDBBRSBhcmUgdGhlcmVmb3JlIGVzc2VudGlhbCBbMTZdLiBNb3Jlb3ZlciBDRiBwYXRpZW50cyBhcmUgYWxzbyBhZHZpc2VkIHRvIGVhdCBhIGJhbGFuY2VkIGFuZCBlbmVyZ3ktcmljaCBkaWV0LCBhcyB0aGUgaW5jcmVhc2VkIHdvcmsgb2YgYnJlYXRoaW5nIGFuZCBpbmNyZWFzZWQgY291Z2hpbmcsIGFzIHdlbGwgYXMgaW5mZWN0aW9ucywgZmV2ZXIgYW5kIGRpYXJyaG9lYSwgY29uc3VtZSBtb3JlIGVuZXJneSB0aGFuIGEgaGVhbHRoeSBwZXJzb24uIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNzRcIi8+IEl0IGlzIGFsc28gYW4gb3B0aW9uIGZvciBwYXRpZW50cyB0byB1c2UgbnV0cml0aW9uYWwgc3VwcGxlbWVudHMuIEVsZWN0cm9seXRlIHByZXBhcmF0aW9ucyBhcmUgYWxzbyB1c2VkIGluIHRoaXMgY29udGV4dCB0byBjb21wZW5zYXRlIGZvciB0aGUgaW5jcmVhc2VkIG5lZWQgZm9yIGZsdWlkcyBhbmQgdGhlIHJlcXVpcmVkIHNhbHRzLjwvYT4sXG4gICAgICAgIGV4YW1wbGVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6IFwiQ3Jlb25cIiwgLy9xdWVsbGUgMTdcbiAgICAgICAgICAgICAgICB0ZXh0OiBbXCJBY3RpdmUgaW5ncmVkaWVudChzKTogcGFuY3JlYXRpYyBlbnp5bWVzIChsaXBhc2UsIGFteWxhc2UsIHByb3RlYXNlKSBmb3IgZW56eW1lIHJlcGxhY2VtZW50IHRoZXJhcHlcIixcIkluZGljYXRpb25zOiBGb3IgQ0YgcGF0aWVudHMgd2l0aCBleG9jcmluZSBwYW5jcmVhdGljIGluc3VmZmljaWVuY3lcIixcIk1lY2hhbmlzbTogUHJvdmlkZXMgZGlnZXN0aXZlIGVuenltZXMgKGxpcGFzZSwgcHJvdGVhc2UsIGFteWxhc2UpIHRvIGFpZCBkaWdlc3Rpb25cIixcIkFkbWluaXN0cmF0aW9uOiBPcmFsIGNhcHN1bGVzLCB0YWtlbiB3aXRoIG1lYWxzXCIsXCJBcHByb3ZhbDogQXBwcm92ZWQgYnkgdGhlIEZEQSBpbiAyMDA5XCJdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXG4gICAgICAgIF1cbiAgICB9XG5dIiwgImltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAgU1ZHKCl7XG4gICAgY29uc3QgeyBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwgLyogLCBnb1RvVGV4dHNBbmRPcGVuQ29sbGFwc2libGUgKi8gfSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgICByZXR1cm4oXG4gICAgICAgIDxzdmdcbiAgICAgICAgICAgdmlld0JveD1cIjAgMCAxMDAwIDUwMFwiXG4gICAgICAgICAgIG92ZXJmbG93PVwiaGlkZGVuXCJcbiAgICAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgICAgIGlkPVwic3ZnMzY3XCJcbiAgICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9XCI5LjU5NTU1MjRcIlxuICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgIDxkZWZzXG4gICAgICAgICAgICAgaWQ9XCJkZWZzMVwiPjxjbGlwUGF0aFxuICAgICAgICAgICAgICAgaWQ9XCJjbGlwMFwiPjxyZWN0XG4gICAgICAgICAgICAgICAgIHg9XCItMTUzN1wiXG4gICAgICAgICAgICAgICAgIHk9XCI2NDY3XCJcbiAgICAgICAgICAgICAgICAgd2lkdGg9XCIxOTY1OFwiXG4gICAgICAgICAgICAgICAgIGhlaWdodD1cIjY1MjBcIlxuICAgICAgICAgICAgICAgICBpZD1cInJlY3QxXCIgLz48L2NsaXBQYXRoPjwvZGVmcz48Z1xuICAgICAgICAgICAgIGNsaXBQYXRoPVwidXJsKCNjbGlwMClcIlxuICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjA1OTM4ODA3LDAsMCwwLjA1OTM4ODA3LC0xMTIuNDUwMTgsLTM4NC4wNjI2NSlcIlxuICAgICAgICAgICAgIGlkPVwiZzM2N1wiPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyOTY1LjgzLDgzODcuNzMgYyAxNDQuMywyMjQuMTkgMjg4LjU5LDQ0OC4zNyAzMDUuNjYsNTY5LjggMTcuMDcsMTIxLjQzIC05My4wOCwxNDAuMSAtMjAzLjI0LDE1OC43OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjRjYzFlXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNzMuMzMzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM1NDUuMDEsODQ5MC4zIGMgMjk4LjY5LDQ2NC4wNSA1OTcuMzgsOTI4LjExIDYzMi43MSwxMTc5LjQ2IDM1LjMzLDI1MS4zNiAtMTkyLjY5LDI5MC4wMSAtNDIwLjcxLDMyOC42NlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjRjYzFlXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNzMuMzMzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDI0MjkuMjgsNzA5My45NyBjIC05MC4zNiwxMDguODEgLTI4MS4yMSwtOC4wNiAtMzYyLjE2LDk2LjczIC04MC45NCwxMDQuOCAtNzkuOTgsMjIwLjQgLTIzLjY1LDMzMS41MyA0MC4yNCw3OS40IC0xODMuMzIsNDkuOTUgLTkuNzIsMjAxLjQ5IDE2My4xNywxNDIuNDQgLTk0LjgyLDIxNy4xIC0xMDUuNTgsMzA0LjMxIC0xMC43Nyw4Ny4yIDQ0LjU3LDEyOS4yIDQwLjk3LDIxOC45MSAtMy42LDg5LjcyIC04OS45MiwyMzkuMDMgLTYyLjU2LDMxOS4zOSAyNy4zNiw4MC4zNiA4Mi4wMiw4OC40NyAxNjAuMTcsMTc3LjU5IDc4LjE0LDg5LjEyIDIyMy42MSw0MDkuNzYgMzA4LjcxLDM1Ny4xMiA4NS4xMSwtNTIuNjQgNDkuNDksLTIwNC43MSAxNjMuNjUsLTI1Mi4yOSAxMTQuMTYsLTQ3LjU4IDIxMC40MSwtMTQxLjYxIDM1OS4xOSwtMTExLjI5IDE3Ny40NywzNi4xNiA0NDMuNTMsODcuNyA1NDkuNyw0OS4yNSAxMDYuMTgsLTM4LjQ1IDE2Mi4yLC0xNDYuNzYgMjQ5LjQ4LC0yMDEuODQgODcuMjksLTU1LjA5IDIwMC44NiwtOTMuMzEgMjc0LjI1LC0xMjguNjcgNzMuMzksLTM1LjM1IDk3LjIzLC0yNi4zIDE2Ni4wOSwtODMuNDggNjguODUsLTU3LjE3IDIwNy45OCwtMTc4LjUxIDI0Ny4wMywtMjU5LjU3IDM5LjA2LC04MS4wNiAxNi4xNywtMTY0LjE2IC0xMi43MSwtMjI2Ljc4IC0yOC44NywtNjIuNjMgLTU3LjAxLC0xODUuMTYgLTExMS43NiwtMjI2LjIyIC01NC43NSwtNDEuMDYgLTEyNC41MywtMy44IC0yMTYuNzMsLTIwLjEzIC05Mi4yMSwtMTYuMzMgLTk4LjMxLC04MC4zNiAtMzM2LjUsLTc3Ljg1IC05My4yNywwLjk5IC00Ni4yMiwxOTcuMDEgLTIyMy4xNSw3Ny41MSAtMjQ5LjgsLTE2OC43MiAtNTQuOTUsLTI0MC4yOCAtOTIuOTYsLTMxNS4wNCAtMzguMDEsLTc0Ljc2IC05Mi43OCwtODQuNTggLTEzNS4xLC0xMzMuNTIgLTQyLjMyLC00OC45NSAtNjQuNDgsLTEzMi4zNCAtMTE4LjgyLC0xNjAuMTQgLTU0LjM0LC0yNy44MSAtMTM3LjQyLDkuOTggLTIwNy4yMSwtNi42OCAtNjkuNzgsLTE2LjY2IC0yMjAuNTUsLTUwLjEzIC0zMDAuODEsLTc4LjI1IC01My42NCwtMzUuMzcgLTQ1LjQ5LC0xNjMuODMgLTE4MC43NCwtOTAuNDQgLTgxLjQxLDQ0LjE4IDMyLjU5LDE2Ny4wMSAtMTkuMDgsMjM4LjM2IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNiYjk5MDlcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyODIyLjU0LDc1OTkuODYgYyAtMjUuOTYsLTguMTUgLTg0LjAxLC01LjgxIC0xMDEuNDksMjUuNDIgLTE3LjQ4LDMxLjI0IC0xNC44NywxMTUuNjkgLTMuMzcsMTYyIDExLjUsNDYuMzEgNTYuODMsODQuMTQgNzIuMzcsMTE1Ljg2IDE1LjU0LDMxLjcxIDMxLjc1LDU2LjM1IDIwLjg3LDc0LjQyIC0xMC44OCwxOC4wNiAtNTIuNjcsMzQuMzcgLTg2LjE0LDMzLjk3IC0zMy40NiwtMC40IC03OC42NCwtMzcuMzQgLTExNC42NiwtMzYuMzggLTM2LjAyLDAuOTYgLTY0LjE3LDM3LjcgLTEwMS40Nyw0Mi4xMiAtMzcuMjksNC40MSAtOTIuMzksLTMwLjg1IC0xMjIuMywtMTUuNjEgLTI5LjkxLDE1LjIzIC0zMC4xLDg4LjU2IC01Ny4xNSwxMDcuMDIgLTI3LjA0LDE4LjQ3IC04My42MywtMjIuNTcgLTEwNS4xMywzLjc3IC0yMS41LDI2LjM0IC0zLjMsMTI2LjEyIC0yMy44OCwxNTQuMjggLTIwLjU5LDI4LjE3IDEuNTYsMzkuNDggMTUuNjMsNjEuNDIgMTQuMDcsMjEuOTQgMzcuMDcsOTcuODkgNjguNzcsNzAuMjMgMzEuNjksLTI3LjY2IC0xNS42LC04Mi4zNyAtNS42NSwtMTA3LjQyIDkuOTUsLTI1LjA1IDQwLjQzLC0xOS45MSA2NS4zNiwtNDIuODcgMjQuOTMsLTIyLjk2IDQ3LjkzLC04Ny4zOSA4NC4yNCwtOTQuODggMzYuMzEsLTcuNSAxMzMuNjQsNDkuODggMTMzLjY0LDQ5Ljg4IDQ3LjQsMTcuMDggMTE0LjM3LDM5LjkzIDE1MC43OSw1Mi41NyAzNi40MSwxMi42NSA0NS42OCwzOC42IDY3LjcsMjMuMyAyMi4wMSwtMTUuMyAzNi43MiwtOTQuNDYgNjQuMzcsLTExNS4wOSAyNy42NSwtMjAuNjQgOTAuODMsMTEuNjEgMTAxLjUxLC04LjczIDEwLjY4LC0yMC4zNCAtNTkuMDQsLTcxLjggLTM3LjQzLC0xMTMuMzMgMjEuNjIsLTQxLjUyIDY0LjM5LC0zMy42IDkyLjI1LC00MC42MiAyNy44NiwtNy4wMSA1MC40OSwxOC44OCA3NC45LC0xLjQ3IDI0LjQxLC0yMC4zNCA0My43LC0xMDEuNTEgNzEuNTcsLTEyMC41OCAyNy44NywtMTkuMDcgNzYuMDcsNDAuMzYgOTUuNjcsNi4xNyAxOS42LC0zNC4xOCAtOC4zMSwtNzQuMjEgLTQ4Ljg3LC05MS45NyAtNDAuNTYsLTE3Ljc3IC0xNDEuNTMsNS4yNSAtMTk0LjUsLTE0LjYgLTUyLjk4LC0xOS44NSAtOTMuNzQsLTc0LjY5IC0xMjMuMzQsLTEwNC41IC0yOS42LC0yOS44MiAtMjguMywtNjYuMjIgLTU0LjI2LC03NC4zOCB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjYjA5MDA4XCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjM1My45Miw4OTUwLjY0IGMgLTI3LjU5LC0zNi40MSA3MS4xLC04OS42NiA4OS4yNiwtMTI5LjEzIDE4LjE2LC0zOS40NyAxMy42OSwtNzEuNDEgMTkuNzEsLTEwNy42NyA2LjAyLC0zNi4yNyAtNDIuMSwtODguNzQgMTYuNDEsLTEwOS45MyA1OC41LC0yMS4yIDExMC4zLDM1LjI1IDE1MS4xOSwyMS44OCA0MC44OSwtMTMuMzcgNTYuNTcsLTg4LjM3IDk0LjE2LC0xMDIuMTIgMzcuNTgsLTEzLjc0IDExMS44MywzIDEzMS4zMywxOS42NiAxOS41LDE2LjY3IDQuNjIsNTAuNzUgLTE0LjMyLDgwLjM0IC0xOC45MywyOS41OSAtNjIuOTQsNzUuNzYgLTk5LjI5LDk3LjE4IC0zNi4zNSwyMS40MiAtOTQuMjYsMTYuMDUgLTExOC44LDMxLjM1IC0yNC41NCwxNS4zIC00LjQ5LDM3LjQgLTI4LjQ1LDYwLjQ1IC0yMy45NSwyMy4wNSAtMTE4LjkyLDU5IC0xNDcuNDMsODMuMjUgLTI4LjUxLDI0LjI1IC02Ny44Niw4OC45MyAtOTMuNzcsNTQuNzQgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2IwOTAwOFwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM5MDMsODEzMi40MyBjIC0zOC43OCw3LjEyIC04Mi41MiwzNi44OSAtMTE2LjYsMzAuNTEgLTM0LjA4LC02LjM4IC04Mi4yLC00Ny42NSAtODcuODgsLTY4LjggLTUuNjgsLTIxLjE1IC0xLjIyLC02MS4yNiA1My44MiwtNTguMSA1NS4wMywzLjE2IDkzLjAzLC0yOC4zNyAxMzQuODIsLTUxLjc1IDQxLjgsLTIzLjM4IDgyLjg0LC04Ny4yMSAxMTUuOTMsLTg4LjU0IDMzLjA4LC0xLjMyIDU3LjI4LDU5LjcxIDgyLjU5LDgwLjU5IDI1LjMxLDIwLjg3IDUyLjI2LDE3LjI1IDY5LjI5LDQ0LjY2IDE3LjAyLDI3LjQyIDEzLjI5LDkzLjQ2IDMyLjg3LDExOS44NCAxOS41OCwyNi4zOCA3OC4wNCwxOS4yNyA4NC41OSwzOC40NiA2LjU2LDE5LjE4IC0xOS44NSw1NC44MSAtNDUuMjQsNzYuNjUgLTI1LjQsMjEuODMgLTgwLjkzLDQ4LjEzIC0xMDcuMTQsNTQuMzYgLTI2LjIsNi4yMiAtNDEuNjcsMi40NiAtNTAuMSwtMTcuMDEgLTguNDIsLTE5LjQ4IDguMDUsLTcxIC0wLjQ0LC05OS44NiAtOC40OSwtMjguODUgLTIyLjczLC02My4wOSAtNTAuNDgsLTczLjI2IC0yNy43NSwtMTAuMTcgLTc3LjI2LDUuMTIgLTExNi4wMywxMi4yNSB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjYjA5MDA4XCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzMxNC40MSw4NDc4LjUyIGMgLTQzLjE2LC02LjM3IC0xMDEuNjIsLTg4LjczIC0xMzcuMDYsLTU4LjcxIC0zMy4xMSwyOC4wNiA1NS40Nyw5MC4zIDQyLjAxLDEyMC4xMiAtMTMuNDYsMjkuODIgLTkyLjM4LDM5LjQ2IC0xMjIuNzQsNTguNzkgLTMwLjM2LDE5LjM0IC03Mi43NSwzMy43NCAtNTkuNDEsNTcuMjQgMTMuMzMsMjMuNDkgODYuMTUsNjcuNTcgMTM5LjQ0LDgzLjc0IDUzLjI5LDE2LjE3IDExNi4yOCwxNy45OSAxODAuMjksMTMuMjggNjQuMDEsLTQuNzEgMTUyLjkyLDAuMDEgMjAzLjc3LC00MS41NCA1MC44NCwtNDEuNTYgMjcuOTMsLTE5OS40MSAxMDEuMzEsLTIwNy44MSA3My4zOCwtOC40MSAyMzMuMjEsLTgwLjcxIDIwNC4yMywtMTI1LjIgLTI4Ljk4LC00NC40OCAtMTg1LjQzLDI0LjUzIC0yNDUuMzYsLTAuNTIgLTU5LjkzLC0yNS4wNCAtMTMzLjQ5LDYzLjMzIC0xODQuNTcsODAuMSAtNTEuMDgsMTYuNzcgLTc4Ljc1LDI2Ljg3IC0xMjEuOTEsMjAuNTEgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2IwOTAwOFwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoN1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM3NzEuOTksNzc4NS42NCBjIC0xNS43NSwzLjU2IC00MS41OCwzMy42NCAtMzcuOTMsNDQuNTMgMy42NSwxMC45IDQ0LjA3LDI0LjM5IDU5LjgzLDIwLjgzIDE1Ljc1LC0zLjU2IDM4Ljg4LC0zMS42OCAzNC42OSwtNDIuMTggLTQuMTksLTEwLjQ5IC00MC44MywtMjYuNzQgLTU2LjU5LC0yMy4xOCB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjYjA5MDA4XCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzM4NS44Nyw4MDM2LjcyIGMgLTI2LjUsMjkuOTcgLTQ5LjI5LDI2Ljg0IC01MC45Miw0NC43NCAtMS42MywxNy45IDE0LjUxLDUwLjQ0IDQxLjE1LDYyLjY2IDI2LjY0LDEyLjIyIDg5LjIyLDE0LjY4IDExOC42OSwxMC42NSAyOS40OCwtNC4wMyA0OS4zMSwtMTguNDkgNTguMTYsLTM0LjgzIDguODUsLTE2LjMzIC05LjA4LC0zNC42NSAtNS4wNiwtNjMuMTYgNC4wMiwtMjguNTEgMjguNDYsLTgxLjc5IDI5LjE3LC0xMDcuODkgMC43MSwtMjYuMSAtMTEuMDQsLTQwLjgyIC0yNC44OSwtNDguNjkgLTEzLjg1LC03Ljg4IC0zMC4wNCwtMjEuMzkgLTU4LjIxLDEuNDQgLTI4LjE2LDIyLjgzIC04MS41OSwxMDUuMSAtMTA4LjA5LDEzNS4wOCB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjYjA5MDA4XCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzA3NS4zMyw3MzY1LjMgYyAtMjMuODksMTUuMTUgLTEyLjQ1LDc3LjcgLTM5LjU3LDk1LjcyIC0yNy4xMiwxOC4wMSAtMTAzLjcsMS4yMSAtMTIzLjE2LDEyLjM3IC0xOS40NywxMS4xNSAtMjEuOTcsNDMuMTIgNi4zOSw1NC41OCAyOC4zNywxMS40NyAxMjEuODMsLTEgMTYzLjgyLDE0LjIgNDEuOTksMTUuMiA1Ni41MSw2OC40MyA4OC4xMSw3Ny4wMyAzMS41OSw4LjYgOTMuMDMsMS41MSAxMDEuNDgsLTI1LjQyIDguNDYsLTI2Ljk0IC0zNS4xOSwtOTguOTIgLTUwLjc0LC0xMzYuMiAtMTUuNTQsLTM3LjI4IC0xOC4xNSwtNzIuMDkgLTQyLjU0LC04Ny40NyAtMjQuMzksLTE1LjM4IC03OS45LC0xOS45NiAtMTAzLjc5LC00LjgxIHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNiMDkwMDhcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNDMzNi4zOSwxMDYyMyBjIC0yMy42LC05IC01Ni40NCwtOCAtODUuNzgsLTEuOCAtNDYuOTQsOS44IC0xMDUuMTMsNjggLTE2Ni4xMSw4OSAtNjAuOTgsMjEuMSAtMTU3Ljc5LC0wLjggLTE5OS43NywzNy4zIC00MS45OCwzOC4yIC0xMTAuMywxNDUuMSAtNTIuMTEsMTkxLjcgMTQuODQsMTEuOSA4OC4zMywtMTA1LjUgMTMxLjk3LC0xMTAuMiA0My42NCwtNC43IDY1Ljk2LDEwLjUgMTI5Ljg2LDgxLjkgNjMuOTEsNzEuMyA5OS43Miw0Mi4zIDEzOS42NSw0Ny4xIDM5LjkyLDQuNyA3My43MywtNy43IDk5Ljg4LC0xOC43IDI2LjE2LC0xMC45IDU4LjI2LC0zMC41IDU3LjA0LC00NyA1LjM0LC0zMy4zIC02MC4xOSwtMTIuMSAtNjQuMzQsLTUyLjMgLTQuMTUsLTQwLjIgNTIuMTQsLTE1Mi40IDM5LjQ2LC0xODguOSAtNC43NSwtMTMuNyAtMTUuNTksLTIyLjcgLTI5Ljc1LC0yOC4xIHogbSAyMTYuMDUsLTkwNy4xMiBjIDQ2LjM3LDE4LjAzIDk4LjAzLDQzLjA4IDEyNS4xMyw1Ni40OSA0My4zNiwyMS40NiA0Ny4yOCwyOC4yIDYzLjcyLDUxLjQyIDE2LjQ0LDIzLjIyIDI2LjIxLDQzLjU5IDM0LjkyLDg3LjkyIDguNzIsNDQuMzIgMjQuNDcsMTM1Ljc5IDE3LjM5LDE3Ny45OSAtNy4wOCw0Mi4zIC0yOS4wMywzNC44IC02NC43LDQ1LjEgLTM1LjY3LDEwLjQgLTIwLjIsNzYuMSAyLjc4LDExNi45IDIyLjk4LDQwLjggODguMDksMTM5LjQgMTM1LjEsMTI3LjkgNDcsLTExLjQgLTE1LjAzLC0xMTEuMyA3LjMsLTEzNS43IDIyLjM0LC0yNC40IDkxLjk0LC0yOC4zIDEyNi43MywtMTAuNyAzNC43OCwxNy42IDY2LDc0LjkgODEuOTgsMTE2LjEgMTUuOTgsNDEuMyAtNTAuNjEsMTE2LjEgMTMuODksMTMxLjQgNDEuMDksOS43IDQ5LjY2LDc5IDYyLjUxLDExMC4xIDEyLjg0LDMxLjEgMTUuNjcsMzcuOCAxNC41Niw3Ni4yIC0wLjg1LDI5LjQgNzMuMjcsNTEuNyA2OC44Myw3OS4xIC00LjQ0LDI3LjMgLTMyLjQ0LDYxLjkgLTk1LjQ5LDg1IC02My4wNiwyMy4xIC00Mi41LDE1MS43IC00NS4wNCwyMTcuMyAtMi41Myw2NS42IDMwLjY1LDEyNi41IDI5Ljg2LDE3Ni4yIC0wLjgsNDkuOCAtNTEuNDgsNzkuMSAtMzQuNjIsMTIyLjQgNi42NCwyNC40IDUwLjA3LDI1IDcwLjg1LDU0LjcgMjAuNzksMjkuNyA0Mi44OCw4NC4yIDUzLjg5LDEyMy41IDExLjAxLDM5LjMgMy45Nyw4Ny4yIDEyLjE4LDExMi4yIDguMjEsMjUuMSA0Mi43LDQyIDgxLjgxLDY3LjQgMzEuMTIsNDUuOCA3Mi41NCwxNDcuNyAxMDQuOTEsMjA3LjQgMzIuMzcsNTkuNyAtMzAuODEsMTM5LjMgNjUuNDgsMTY2LjcgOTYuMjgsMjcuMyA4Mi4wMSw0Mi4yIDg5LjY4LDcyLjkgNy42NywzMC43IC0xLjAyLDkwLjMgLTQzLjY4LDExMS4zIC00Mi42NiwyMSAtMTQ5LjgxLC00LjMgLTIxMi4yOSwxNC44IC02Mi40NywxOS4yIC0xMDkuOSwxMTIuMiAtMTYyLjU2LDk5LjkgLTUyLjY3LC0xMi4zIC03My4zOSwtMjM1LjMgLTE1My40NCwtMTczLjYgLTgwLjA0LDYxLjggLTIyNS41NCw3MC4zIC0yMzYuMjgsNS41IC00NC44MSwtMjcwLjcgLTEzNi42OSwtNjcuMSAtMTU3Ljk5LC0xLjYgLTMyLjU4LDEwMC4xIC0xNzAuNjcsNzkuOCAtMjM5LjA2LDExNS4xIC02OC40LDM1LjIgLTExNi4yMiwxMDAuNCAtMTcxLjMsOTYuNCAtNTUuMDgsLTQgLTEyOS4zOCwtMjAwLjYgLTE1OS4xOCwtMTIwLjQgLTMwLjYxLDgyLjMgLTcxLjksNTQuOCAtMTI0Ljk1LDYxLjcgLTc3LjMyLDAuMyAtOC4wOSwxMDMuMSAtMTc5Ljc5LDYwLjMgLTEzNC45MSwtMzMuNiAyNC45NSwtMTM2LjIgLTc5LjY1LC0xMzcgLTEwNC42LC0wLjggLTEwMi4yMSwtNTguMSAtMTIxLjI0LC0xMDggLTE5LjAzLC00OS45IDQ4LjE3LC0xNTYuOSA3LjA1LC0xOTEuMSAtNDEuMTMsLTM0LjIgLTIwOS4wMiwxNi4xIC0yNTMuODIsLTE0IC00NC44LC0zMC4yIDAuOTEsLTEzMC42IC0xNC45OSwtMTY3LjEgLTE1LjkxLC0zNi40IC01MS45LC02Mi4zIC04MC40MSwtNTEuNyAtMjguNTEsMTAuNiAtMjQuMSw4OS4yIC05MC42NiwxMTUuNSAtNjYuNTYsMjYuMyAtMjQzLjk0LDY2LjYgLTMwOC43Myw0Mi40IC02NC43OCwtMjQuMSAxNTAuNzYsLTIxNi40IC03OS45NywtMTg3LjUgLTE2Ny44MiwyMS4xIC0xMDEuMTMsLTE0OS42IC0xODAuNTMsLTEyMy43IC03OS40MSwyNS45IC04NS4yLC01Mi4zIC0xMzguOTIsLTgyLjIgLTUzLjcyLC0yOS45IC0xNTAuNDUsLTU4LjMgLTE4My40MSwtOTcuMiAtMzIuOTYsLTM5IDI5Ljk5LC0xMjIuMyAtMTQuMzcsLTEzNi42IC01OC44NywtMTguOSAtMTAwLjc4LC01MCAtMTQxLjE4LC05NS43IC00MC40LC00NS43IC0xMy4yOCwtMTcxLjQgLTEwMS4yNCwtMTc4LjIgLTg3Ljk1LC02LjkgLTU4LjY3LC0xNDUuNiAtMzkuNTQsLTE5NC4zIDE5LjEzLC00OC43IDgzLjI1LC05NC41IDE1NC4zMSwtOTguMSA3MS4wNiwtMy41IDIwOC44OSwxMTEuNCAyNzIuMDYsNzYuNiA2My4xNywtMzQuNyAxMDcuNDYsLTIxNyAxMDYuOTgsLTI4NS4zIC0wLjQ5LC02OC4zIC04Ny4yOCwtNzEgLTEwOS44OCwtMTI0LjUgLTIyLjYsLTUzLjQgLTQzLjYsLTE0Ny43IC0yNS43MiwtMTk2IDE3Ljg3LC00OC4zIDg2LjQzLC00NS43IDEzMi45NywtOTMuNyA0Ni41MywtNDguMSAtNi4zOCwtNDUuNCA1LjE2LC0xMzEuNTggMTEuNTMsLTg2LjE1IDg3LjQ2LC03My4xMyAxMjMuMjgsLTk4LjggMzUuODIsLTI1LjY2IDU5Ljk5LC0xMy4wNiA5MS42MywtNTUuMTkgMzEuNjUsLTQyLjEzIDE5Ljg3LC00MS4zNiA2My4xLC00OS44NiA0My4yMiwtOC41IDE2Ny4wNywxLjM5IDE5Ni4yNSwtMS4xNCAyOS4xNywtMi41MyA4MC4zMSwtODUuNSAxMTkuNTQsLTgwLjkxIDM5LjIzLDQuNTkgNzkuODYsMzkuNjIgMTA4LjcxLDI5LjMyIDI4Ljg1LC0xMC4zIDI5LjI5LC03Ny44NyA2NS41MiwtNjkuNjkgMzYuMjIsOC4xOCA3My4zLDcwLjY4IDExMS4xOSw1Ny4wMSAzNy44OSwtMTMuNjYgNjAuNjIsLTY1LjI4IDEwMC42NywtODAuMjEgNDAuMDUsLTE0LjkzIDU1LjI2LC00Ljg5IDEzOS42MywtOS4zNyA4NC4zNywtNC40OSA1NC44MSw5Mi41IDk0LjE4LDkzLjA1IDM5LjM4LDAuNTYgLTEuNTMsLTc4LjI4IDI2LjA5LC04OC45OCAyNy42MiwtMTAuNyAxMDEuNzUsLTM1LjU5IDEzOS42NCwyNC43NyAzNy44OSw2MC4zNSAtMjEuMTIsNzEuNDUgMjEuMDQsMTI4IDQyLjE2LDU2LjU0IDE2Ni42Niw4NS41IDE5OC44OCwxMDAuOTggMzIuMjIsMTUuNDcgOS4yNCwtNzYuNTcgNjcuMTEsLTk1Ljk5IDU3Ljg3LC0xOS40MyAyMTkuMywtOC44OSAyODAuMSwtMjAuNTkgNjAuODEsLTExLjY5IDM3Ljg2LC01NC4yMSA4NC43MiwtNDkuNTggMTcuNTgsMS43MyA0My41LDEwLjAyIDcxLjMyLDIwLjg0IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNmNGNjMWVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDExXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzk1NC41LDEwNzIyLjEgYyAtMjIuMDcsLTMuNiAtMzYuMzQsLTMzLjYgLTEyLjY0LC03MC40IDIzLjcsLTM2LjkgOTAuOTQsLTExNi4yIDE1NC44NCwtMTUwLjcgNjMuOSwtMzQuNSAxNjcuODgsLTE3LjIgMjI4LjU2LC01Ni4zIDYwLjY4LC0zOS4xIDg3LjYyLC0xMTQuMiAxMzUuNTIsLTE3OC41IDQ3LjksLTY0LjIgMTExLjIxLC0xNjcuOCAxNTEuODcsLTIwNy4yIDQwLjY2LC0zOS40IDkyLjQzLC02NC40NCA5Mi4wNywtMjkuMyAtMC4zNSwzNS4xIC03MC41NywxNzEuMiAtOTQuMjEsMjM5LjkgLTIzLjY0LDY4LjggLTI0LjU5LDEyNC43IC00Ny42NCwxNzIuNyAtMjMuMDUsNDggLTU1LjIxLDEwMCAtOTAuNjUsMTE1LjUgLTM1LjQ1LDE1LjQgLTEwNC4yMiwtMzEuNyAtMTIyLjAxLC0yMi44IC0xNy43OCw5IDQ1LjIzLDYyLjMgMTUuMjksNzYuNSAtMjkuOTQsMTQuMyAtMTQ2LjM4LC0xLjIgLTE5NC45Miw5LjEgLTQ4LjUzLDEwLjMgLTU5LjgyLDM3IC05Ni4yNyw1Mi45IC0zNi40NiwxNS45IC05Ny43NCw1Mi4yIC0xMTkuODEsNDguNiB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQyODAuODUsMTExMjIuMSBjIC0yNS4wOSwtMjEuNiAtNTguNjQsLTI4IC05OC40NywtMTguNSAtMzkuODQsOS42IC0xMTYuMiw0NS45IC0xNDAuNTMsNzUuOCAtMjQuMzIsMjkuOSAtMjAuMzksMTAxLjEgLTUuNDMsMTAzLjYgMTQuOTYsMi41IDU5LjU4LC03NC44IDk1LjE4LC04OC41IDM1LjYsLTEzLjcgODQuODcsLTAuMyAxMTguNDIsNi4yIDMzLjU1LDYuNCA3Ny40Nyw0Ni4zIDgyLjksMzIuNSA1LjQyLC0xMy44IC0yNi45OCwtODkuNSAtNTIuMDcsLTExMS4xIHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjkzNy45NCwxMDQ2NCBjIDIwLjUxLC0xMy44IDMxLjc4LC00NC42IDI5LjEyLC03NC4yIC0yLjY1LC0yOS42IC0xNi4wOSwtODkuNCAtNDUuMDUsLTEwMy4zIC0yOC45NiwtMTMuOSAtMTAwLjk2LDAuNyAtMTI4LjY5LDIwIC0yNy43MywxOS4zIC00Ni4xNCw2OC4zIC0zNy42OSw5NiA4LjQ1LDI3LjYgNTguMjYsNTguOSA4OC4zNiw2OS45IDMwLjEsMTEgNzMuNDQsNS40IDkzLjk1LC04LjQgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzOTU4LjExLDExNTU5LjQgYyAxOS4xNCwtMS43IC0xOC40LC04Ny44IC0zNy4yNiwtMTEwLjMgLTE4Ljg2LC0yMi41IC00Ni41NCwtMTguMyAtNzUuODksLTI0LjcgLTI5LjM0LC02LjUgLTc0LjUyLDUuOSAtMTAwLjE4LC0xNC4yIC0yNS42NywtMjAuMSAtMzEuOTEsLTg5LjcgLTUzLjc4LC0xMDYuNyAtMjEuODcsLTE3IC02Mi4wMiwtMTAuOSAtNzcuNDQsNC44IC0xNS40MiwxNS44IC0yMi45NCw2NC45IC0xNS4wOSw4OS44IDcuODUsMjQuOSAzOCw0NC4zIDYyLjE4LDU5LjYgMjQuMTgsMTUuNCA1OC42NywzMi4zIDgyLjksMzIuNiAyNC4yMywwLjMgMjcuMTUsLTQxLjQgNjIuNDcsLTMwLjkgMzUuMzIsMTAuNSAxMzIuOTUsMTAxLjcgMTUyLjA5LDEwMCB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM5MzIuMDUsMTIxMDAuNiBjIC0yMy4wNiwtMjYuNCAtNTUuNDgsLTIyLjQgLTc5Ljk2LDcuMiAtMjQuNDgsMjkuNiAtNzEuMjUsMTM0IC02Ni45MSwxNzAuNCA0LjM0LDM2LjUgNTguNzcsNTAuMSA5Mi45OCw0OC4xIDM0LjIxLC0yIDEwMy43NCwtMjMuNSAxMTIuMjksLTYwIDguNTQsLTM2LjUgLTM1LjM0LC0xMzkuMyAtNTguNCwtMTY1LjcgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSA1MjE5LjQ2LDExNzg4LjQgYyAtMjMuOTUsLTkuNCAtOTcuNTEsLTguNyAtMTM3LjcxLDQ2LjIgLTQwLjIxLDU0LjkgLTk4LjU1LDIyOC4xIC0xMDMuNTMsMjgzLjMgLTQuOTgsNTUuMyA0OC45Miw1Ny4yIDczLjY1LDQ4LjIgMjQuNzIsLTguOSA1OS4yNSwtNjQuMSA3NC42OCwtMTAxLjggMTUuNDMsLTM3LjYgMS4zOSwtOTUuMiAxNy44OCwtMTI0LjEgMTYuNDgsLTI4LjkgNjguNTEsLTIzLjkgODEuMDIsLTQ5LjIgMTIuNTEsLTI1LjMgMTcuOTYsLTkzLjIgLTUuOTksLTEwMi42IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzc5Mi43MSwxMDQ2Ny4yIGMgLTI0Ljc1LC0xMy45IC01Ni42MiwtMjguOSAtODcuODcsNS44IC0zMS4yNiwzNC43IC04Mi42NSwxNDIuMSAtOTkuNjgsMjAyLjYgLTE3LjAyLDYwLjQgLTIxLjI4LDE0MS45IC0yLjQ1LDE2MC4yIDE4LjgzLDE4LjMgNzkuMzIsLTI2LjggMTE1LjQ0LC01MC40IDM2LjEyLC0yMy42IDc4LjcyLC01MyAxMDEuMjYsLTkxLjIgMjIuNTMsLTM4LjEgMzkuMzksLTEwMC4zIDMzLjkzLC0xMzcuNyAtNS40NiwtMzcuNCAtMzUuODgsLTc1LjQgLTYwLjYzLC04OS4zIHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNDc1NC4xNiwxMTYzNS4zIGMgMzMuNjcsLTE5LjUgMTMxLjk1LC0xMDEgMTM2LjYxLC0xNDIuOCA0LjY3LC00MS44IC03OC43LC0xMDMuMSAtMTA4LjYyLC0xMDguMSAtMjkuOTIsLTUgLTQyLjk0LDY4LjggLTcwLjg4LDc3LjkgLTI3Ljk0LDkuMiAtOTMsLTQ3LjQgLTk2Ljc2LC0yMi44IC0zLjc2LDI0LjUgNTAuNDksMTM2LjQgNzQuMiwxNzAuMSAyMy43MiwzMy42IDMxLjc3LDQ1LjIgNjUuNDUsMjUuNyB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxOVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDI3NzUuMjEsMTE1NTguMyBjIDEzLjA3LC00MS45IDc5Ljc3LC0xMzkuMSAxMTcuMjgsLTE3MC41IDM3LjUyLC0zMS40IDY0Ljg0LC0yNC4xIDEwNy44MiwtMTguMSA0Mi45OCw2IDExMi4xOSwzMC42IDE1MC4wNiw1My45IDM3Ljg2LDIzLjIgOTAuMDcsNjUuNSA3Ny4xNCw4NS43IC0xMi45MywyMC4xIC0xMDYuNywxMC45IC0xNTQuNzEsMzQuOSAtNDguMDEsMjMuOSAtOTAuMjIsOTMgLTEzMy4zNSwxMDguOCAtNDMuMTMsMTUuOCAtOTguNzgsMS41IC0xMjUuNDMsLTE0IC0yNi42NSwtMTUuNSAtNTEuODksLTM4LjkgLTM4LjgxLC04MC43IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzQ2Ni41MSwxMDc3Mi4yIGMgMTguNzMsMS41IDQzLjQ0LC01OS4zIDI5LjksLTg5IC0xMy41NCwtMjkuNiAtODMuMTEsLTY2LjIgLTExMS4xMSwtODguOSAtMjgsLTIyLjcgLTU2LjY4LC02MC45IC01Ni44OCwtNDcuNSAtMC4yMSwxMy4zIDMyLjM1LDkwLjcgNTUuNjUsMTI3LjYgMjMuMywzNi44IDYzLjcyLDk2LjMgODIuNDQsOTcuOCB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDMzMDguNDgsMTEyMTQuMiBjIC0zNy44NSwxLjggLTk2Ljg4LDY1LjggLTk3LjY3LDEwNC4xIC0wLjgsMzguMiA2OS4wNSw3MCA5Mi44OCwxMjUuMiAyMy44Miw1NS4yIDkwLjU3LDEyMiA1MC4wNiwyMDYgLTQwLjUyLDgzLjkgLTE4Ni40MywyMjQuNyAtMjkzLjE3LDI5Ny44IC0xMDYuNzQsNzMgLTMwNS4yLDE0MC4zIC0zNDcuMjcsMTQwLjYgLTQyLjA3LDAuMyA1MS42OCwtMTA4LjEgOTQuODYsLTEzOSA0My4xOCwtMzAuOSA4MS41NSwtNDEgMTY0LjIxLC00Ni4zIDgyLjY2LC01LjMgMjI5LjkyLC0yNS42IDMzMS43MiwxNC40IDEwMS44MSw0MCAyNDcuNTQsMTQzLjMgMjc5LjExLDIyNS40IDMxLjU3LDgyIC03MC42NywyMDEuNCAtODkuNjksMjY2LjkgLTE5LjAyLDY1LjYgLTIzLjk4LDg0LjYgLTI0LjQ0LDEyNi40IC0wLjQ1LDQxLjggNDMuMzQsODQuMSAyMS42OSwxMjQuMyAtMjEuNjUsNDAuMiAtNjkuNDIsMTAyIC0xNTEuNTgsMTE2LjcgLTgyLjE2LDE0LjggLTMxNC45OSwtNTIuNyAtMzQxLjM4LC0yOC4yIC0yNi40LDI0LjQgMTA4LjY4LDE0NC4zIDE4My4wMSwxNzUuMSA3NC4zMywzMC45IDE4NS40Niw1MS40IDI2Mi45NiwxMCA3Ny40OSwtNDEuMyAxNjYuNTcsLTE3Ni4zIDIwMi4wMiwtMjU4LjEgMzUuNDYsLTgxLjcgNDUuODMsLTE2MS42IDEwLjcsLTIzMi40IC0zNS4xMiwtNzAuOSAtMTM4LjQ5LC0xNTEuNyAtMjIxLjQ0LC0xOTIuNyAtODIuOTYsLTQxIC0xOTcuMDYsLTUzLjkgLTI3Ni4yNywtNTMuMSAtNzkuMiwwLjggLTE0NS4zLDUzLjggLTE5OC45NSw1Ny45IC01My42NSw0LjEgLTExNi4wMiwtNjEuNSAtMTIyLjk0LC0zMy4yIC02LjkzLDI4LjMgNDMuNzEsMTY2LjYgODEuMzcsMjAzLjIgMzcuNjcsMzYuNiA2Mi45NCw2NC4xIDE0NC42LDE2LjUgODEuNjYsLTQ3LjcgMjc1LjgyLC0xNzQuNiAzNDUuMzYsLTMwMi42IDY5LjU0LC0xMjcuOSA5My40MywtMzYxLjkgNzEuODgsLTQ2NS4yIC0yMS41NSwtMTAzLjMgLTE1OS44OCwtMTE2LjUgLTIwMS4xOCwtMTU0LjUgLTQxLjMsLTM4LjEgLTc2LjMxLC00NS4xIC00Ni42LC03My43IDI5LjcsLTI4LjYgMTU3Ljg5LC04MS41IDIyNC44MSwtOTguMSA2Ni45MSwtMTYuNSAxMzMuNjgsLTExLjMgMTc2LjY4LC0xLjEgNDMuMDEsMTAuMiA3MC4yMywyNC4yIDgxLjM1LDYyLjEgMTEuMTIsMzggLTM3LjY4LDk2IC0xNC42MSwxNjUuNSAyMy4wOCw2OS41IDkxLjg5LDE2Ny45IDE1My4wNiwyNTEuNSA2MS4xOCw4My42IDE0NC43OSwyMDYuMiAyMTMuOTgsMjUwLjEgNjkuMTksNDQgMTMyLjUzLDM0LjQgMjAxLjE2LDEzLjYgNjguNjMsLTIwLjkgMTMzLjM1LC04NS4zIDIxMC42MiwtMTM4LjkgNzcuMjcsLTUzLjYgMjAyLjE2LC0xMjMuNyAyNTIuOTksLTE4Mi43IDUwLjg0LC01OC45IDcwLjUxLC0xMTMuMyA1Mi4wMSwtMTcwLjkgLTE4LjUxLC01Ny42IC0xMzIuMjIsLTE2Ny43IC0xNjMuMDIsLTE3NC44IC0zMC44LC03LjEgLTQyLjg4LDc3LjIgLTIxLjc4LDEzMi40IDIxLjEsNTUuMyAxMjMuMjcsMTMwLjcgMTQ4LjM3LDE5OS4zIDI1LjEsNjguNiAtMC4yMywxNDUuOSAyLjIzLDIxMi40IDIuNDYsNjYuNCAtMTkuNjUsMTQ4LjMgMTIuNTEsMTg2LjEgMzIuMTUsMzcuOSAxMzYuOTksNTMgMTgwLjQzLDQwLjcgNDMuNDQsLTEyLjMgNzEuOTcsLTg5LjMgODAuMjIsLTExNC42IDguMjUsLTI1LjMgMjUuNTksLTU4LjcgLTMwLjcsLTM3LjIgLTU2LjMsMjEuNSAtMjE5LjksMTQxLjEgLTMwNy4wNywxNjYuNSAtODcuMTcsMjUuMyAtMTQyLjc0LDIzLjcgLTIxNS45NSwtMTQuMyAtNzMuMjIsLTM4IC0xNzYuMTcsLTEyMiAtMjIzLjMyLC0yMTMuNiAtNDcuMTYsLTkxLjUgLTQzLjExLC0yMzAuMSAtNTkuNiwtMzM1LjYgLTE2LjQ5LC0xMDUuNSAtNDguNDUsLTIwMy42IC0zOS4zMywtMjk3LjQgOS4xMiwtOTMuOCA3MS4yMiwtMTgzLjUgOTQuMDUsLTI2NS4yIDIyLjg0LC04MS43IDEwMS4zMiwtMTcyLjYgMTE3LjEzLC0xOTUuN1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTkuNTgzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDg5LjA1NzgsMTAzLjEyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjkzMDgzMiwtMC4zNjU0NDcsLTAuMzY1NDQ3LDAuOTMwODMyLDM0NzcuNjEsMTE2OTQuMSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgODkuMDU3OCwxMDMuMTJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsMzMwMy42OSwxMTc4Mi42KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM0NzYuNiwxMTg5NS4xIC0yLjgyLDY1LjFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNTUuOTU0LDc0LjkzMzJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsMzIzOC4wMSwxMTkyNi40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxOTMuMDI1LDQ3LjU0NFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiwzNDE0LjEzLDEyMTAwLjgpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE5My4wMjUsNDcuNTQ0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjkzMDgzMiwtMC4zNjU0NDcsLTAuMzY1NDQ3LDAuOTMwODMyLDMxMzkuNjEsMTIwNTgpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDI0My42NjIsMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiwzMjc3LjA2LDEyMjc4LjEpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDIwOC4zODMsMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiwyOTg3LjE0LDEyMTU0LjgpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzExOC4wMSwxMjM5OC4yIC0xNjQuNTgsLTE3OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMjkzMS42NywxMjE3MyAyNzY3LjEsMTE5OTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDI5NDguODIsMTI0NDcuNCAtMTcuMTMsLTE4OS45XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyOTA4LjYzLDEyMTE1LjggLTE3LjEzLC0xOTBcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA5LjUyNzIsMTU1Ljk2N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjkzMDgzMiwwLjM2NTQ0NywwLjM2NTQ0NywtMC45MzA4MzIsMjg2NC42LDEyMzEzLjkpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDkuNTI3MiwxNTUuOTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuOTMwODMyLDAuMzY1NDQ3LDAuMzY1NDQ3LC0wLjkzMDgzMiwyOTcyLjQ2LDEyMDY1LjMpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDExNC43NjYsMTY4LjMwNVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjkzMDgzMiwwLjM2NTQ0NywwLjM2NTQ0NywtMC45MzA4MzIsMjg2OC4zOCwxMjIzMS42KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzN1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMTQuNzY2LDE2OC4zMDVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC45MzA4MzIsMC4zNjU0NDcsMC4zNjU0NDcsLTAuOTMwODMyLDMxMzkuNDEsMTIwNDYuNClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzMDk5LDEyMzE2LjUgODUuNjgsMzMuNlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjk1Ni40NCwxMjI2MC41IDg1LjY3LDMzLjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg0MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA4Ni42NTg5LDEwMy4zNDhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC45MzA4MzIsMC4zNjU0NDcsMC4zNjU0NDcsLTAuOTMwODMyLDMxMzguNjQsMTIyMDUpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDQxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDk0Ljg4OTQsMTA2Ljc0NFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjkzMDgzMiwwLjM2NTQ0NywwLjM2NTQ0NywtMC45MzA4MzIsMzMxMS40NywxMjA5OC4yKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg0MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA3OS44NTI5LDQxLjc0OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjkzMDgzMiwwLjM2NTQ0NywwLjM2NTQ0NywtMC45MzA4MzIsMzMzOC43OCwxMjIzMy4xKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg0M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA2OS42MzUzLDQwLjUwNDRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC45MzA4MzIsMC4zNjU0NDcsMC4zNjU0NDcsLTAuOTMwODMyLDM0OTAuMDYsMTIyMjEuMilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNDRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNDguNzI5MSwzOS44MjgxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuOTMwODMyLDAuMzY1NDQ3LDAuMzY1NDQ3LC0wLjkzMDgzMiwzNjEzLjAxLDEyNTMwLjYpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDQ1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDQ4LjIwMTUsMzQuODIxMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjkzMDgzMiwwLjM2NTQ0NywwLjM2NTQ0NywtMC45MzA4MzIsMzQ5Ny4zNSwxMjU3MC45KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg0NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM1NjkuMjUsMTIzNDEuOCAtMjQuMywtMjcuM1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDQ3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzYwNC4wOCwxMjM5MC41IC05LjEsLTEzLjhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg0OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA0MS45ODg3LDE4LjM0NzhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC45MzA4MzIsMC4zNjU0NDcsMC4zNjU0NDcsLTAuOTMwODMyLDM1OTcuODksMTI2NzEuOSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNDlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNDQuNzIzNiwxNS45NzY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuOTMwODMyLDAuMzY1NDQ3LDAuMzY1NDQ3LC0wLjkzMDgzMiwzNDkyLjQxLDEyNjcwLjIpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDUwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDU2LjkwMyw3LjA0NDYyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuOTMwODMyLDAuMzY1NDQ3LDAuMzY1NDQ3LC0wLjkzMDgzMiwzMzk3LjM0LDEyNzU2LjMpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDUxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDc1LjExNzksOC4yOTk0NFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjkzMDgzMiwwLjM2NTQ0NywwLjM2NTQ0NywtMC45MzA4MzIsMzUwNi4xNiwxMjc4My43KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg1MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDMzMjYuNjgsMTI4NjAuNCAxMjkuMiw3MC40XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNTNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzMTM1Ljc2LDEyNzYzLjMgMTQwLjQyLDY5LjRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg1NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM0MzEuNywxMTUyNy45IC0xMDcuODYsLTYzLjFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg1NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDM0NjkuNCwxMTUxMiAtMTA3Ljk0LC0xMTUuNlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDU2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzU3NC45MSwxMTUxOS41IC0yMi4wNiwtMTc4LjRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg1N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNzQuOTU2LDE0LjAzNjVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsMzg5OC45OSwxMTQ5Mi41KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg1OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxOTguNDY2LDEyMy42NzlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsMzk3NC45NSwxMTU5NS45KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg1OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA2MS4wMjQsMTg1LjM0N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiw0MDE0LjU2LDExNjk1LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDYwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE0LjMxNywyMjAuODMxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjkzMDgzMiwtMC4zNjU0NDcsLTAuMzY1NDQ3LDAuOTMwODMyLDQwNjEuNzgsMTE3OTQuNClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNjFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSA0MTYxLjM3LDExOTMwIC0yMi44NiwxNzAuOVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDYyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDI4LjEyMzYsMTI0LjYxM1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiw0NDgxLjQyLDEyMDQ2LjkpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDYzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDI4LjEyMzYsMTI0LjYxM1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiw0NTg5LjAxLDExODg2LjkpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDY0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNDYzMy42MSwxMjA1NS42IC0zNC4yMywxNzEuNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDY1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNDY2Ni4yMywxMTgxOS45IC0yMy4wOCwxNjIuOVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDY2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNDgxNC43LDExOTkyLjEgMjkuMSwxMDkuM1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDY3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNDc2Mi42OSwxMjE1Mi4yIDM3LjUzLC0yMzAuNlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDY4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDMuNDk2NjksMTk1Ljk1M1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiw0OTcxLjMyLDEyMDEwLjgpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDY5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNTAxOC4yNiwxMjA1Ny4xIC04Ni40OSwtMTI3LjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg3MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQ4OTYuMzQsMTE4NjguNiAtMTA1Ljg5LC0xNTUuOFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDcxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNDYyOS40MywxMTQxMC4yIC0yNS4zOSwtMTQ0LjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg3MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQzNzcuMjQsMTEyNjAuMSAtMTQ0LjEsLTEyNS41XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNzNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgOTIuOTcxNyw2NS44NjgzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjkzMDgzMiwtMC4zNjU0NDcsLTAuMzY1NDQ3LDAuOTMwODMyLDQyODguNTYsMTEzMjcpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDc0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gNDU3OC43MywxMTQ0Mi41IC0xNTEuMjQsLTEzNy4xXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNzVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSA0NjQ5LjczLDExNjE4LjIgLTEwMi40NSwtMTAzLjRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg3NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMTYuOTg5LDE1LjE1OTZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsNDI2Ny43NSwxMTAxNS4yKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg3N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA3Ny4xOTcsNzAuMjE5MlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzA4MzIsLTAuMzY1NDQ3LC0wLjM2NTQ0NywwLjkzMDgzMiw0NzQ3LjM0LDEyMDQ3LjEpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDc4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDk3LjU1NzksODIuMjEzOFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjkzMDgzMiwwLjM2NTQ0NywwLjM2NTQ0NywtMC45MzA4MzIsNDc2NS42NSwxMTU4MylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoNzlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNzIuNjQ3NiwxNy44NTEyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuOTMwODMyLDAuMzY1NDQ3LDAuMzY1NDQ3LC0wLjkzMDgzMiw0NjUxLjE2LDExNjkwLjEpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDgwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDUyLjgwOSwyMC43ODA1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjkzMDgzMiwtMC4zNjU0NDcsLTAuMzY1NDQ3LDAuOTMwODMyLDQ4NTQuMTcsMTE3MDYuNilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoODFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSA0NzExLjg1LDExNDk1LjIgMzAuNzgsMTgyLjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg4MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQ3NjIuNjksMTIxNTIuMiAtMS4wNCwtMjQzLjFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg4M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA5LjcwNTQ4LDIwNi4xMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuOTMwODMyLC0wLjM2NTQ0NywtMC4zNjU0NDcsMC45MzA4MzIsNDE3Mi4zOSwxMTU0NS45KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg4NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQxODkuNywxMTY4MS45IC0xOC42OCwxNzUuOFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDg1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMzM0NS4yMiwxMTY1MS44IC02LjUzLC0yNi45XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoODZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzMzI5LjcyLDExNTcwLjkgLTYuNTMsLTI2LjlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg4N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDQ0NjYsMTEyMTQuNCBWIDEwOTY5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoODhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSA0NTY1LDExMjMyLjQgViAxMDk4N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDg5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gNDY2NCwxMTI1MS40IFYgMTEwMDZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg5MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDQ3NjIsMTEyNTkuNCBWIDExMDE0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoOTFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSA0MzY4LDExMjAyLjQgViAxMDk1N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDkyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMzQ3NSwxMTIxNi40IFYgMTA5NzFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg5M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDM1NzQsMTEyMzQuNCBWIDEwOTg5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoOTRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAzNjczLDExMjUyLjQgViAxMTAwN1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDk1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMzc3MSwxMTI2MC40IFYgMTEwMTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg5NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDMzNzcsMTEyMDQuNCBWIDEwOTU5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoOTdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCw0MTY2LDExMjE2LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDk4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDI0NS4zNTEsMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLC0xLC0xLDAsNDA2NywxMTIzNC40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGg5OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDM5NjksMTEyNTIuNClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTAwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDI0NS4zNTEsMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLC0xLC0xLDAsMzg3MCwxMTI2MC40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMDFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ1LjM1MSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAsLTEsLTEsMCw0MjY1LDExMjA0LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEwMlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDQzMTgsMTEyMDMgYyAxOTUuMDcsMC4yIDI5NC43NSw1OC43IDQ5NCw1OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTkuNTgzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEwM1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDMzMjcsMTEyMDUgYyAxOTUuMDcsMC4yIDI5NC43NSw1Ny43IDQ5NCw1OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTkuNTgzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEwNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDQ5NCw1OC4wMDAxIEMgMjk4LjkyOCw1Ny44MjQ2IDE5OS4yNDgsMC4yNzE3MTcgMCwwXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1OS41ODMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDM4MjAsMTEyNjMpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEwNVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMzkuNDkzLDE1Ny43MVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjc1NTk1MiwtMC42NTQ2MjcsLTAuNjU0NjI3LC0wLjc1NTk1Miw0MTEyLjUyLDc5NDEuMjIpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEwNlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMjMzMTQ0LC0wLjk3MjQ0MiwtMC45NzI0NDIsMC4yMzMxNDQsNDQyMi42OCw3ODY3LjE1KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMDdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTIwLjk5NywxNzMuMDg1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuNzU1OTUyLC0wLjY1NDYyNywtMC42NTQ2MjcsLTAuNzU1OTUyLDQyMjUuMzQsNzkyMy41NSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTA4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDExNy45MiwxNzkuMzQ0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuNzU1OTUyLC0wLjY1NDYyNywtMC42NTQ2MjcsLTAuNzU1OTUyLDQzMjMuMDksNzg5Ny45MSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTA5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDExNC4wNDEsMTYwLjIyNVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwzMjU4LDc3ODkuMjMpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDExMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyMDguMzAyLDU2LjQ4NDdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC43NTU5NTIsLTAuNjU0NjI3LC0wLjY1NDYyNywtMC43NTU5NTIsMzM1MS44OSw3ODczLjg1KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMTFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTY2LjIxOCwxNDYuODg3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuNzU1OTUyLC0wLjY1NDYyNywtMC42NTQ2MjcsLTAuNzU1OTUyLDM5MDMuODUsNzk0Ny43NilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTEyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE3MS44Myw4Ny4zNzQ5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuNzU1OTUyLC0wLjY1NDYyNywtMC42NTQ2MjcsLTAuNzU1OTUyLDM0NzcuNjUsNzkxMC4xMSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTEzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE1Ni40MTcsMTEwLjI5OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjc1NTk1MiwtMC42NTQ2MjcsLTAuNjU0NjI3LC0wLjc1NTk1MiwzNTg2Ljc4LDc5MjYuMzIpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDExNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNjUuMjg0LDEzMS4zNTZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC43NTU5NTIsLTAuNjU0NjI3LC0wLjY1NDYyNywtMC43NTU5NTIsMzY4NC40Miw3OTM5LjM4KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMTVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTU1LjMsMTQzLjE5OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjc1NTk1MiwtMC42NTQ2MjcsLTAuNjU0NjI3LC0wLjc1NTk1MiwzNzk3Ljg1LDc5MzIuOTcpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDExNlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNTMuMDgyLDEzOS45MzlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC43NTU5NTIsLTAuNjU0NjI3LC0wLjY1NDYyNywtMC43NTU5NTIsNDAwNC40NSw3OTU1LjQ0KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMTdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzMjAwLjQxLDc3ODEuMjUgYyAxMzguMDMsMTY0LjEzIDEwNzUuMTMsMzA5LjIgMTMzNS44NywtMTMuOTZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU5LjU4MzNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMThcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAyOTEzLjY5LDkwNDcuNDYgMjc1Ni4yLDg5NjUuNDNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMTlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyOTc2Ljk4LDg5NDguMTEgLTE3Mi42NCwtNzAuMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMjBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzMDI3LjQ1LDg4NDUuMjYgLTE2OC4xLC02MS4wMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEyMVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDMwNDYuODksODY5NS44MiAtMTgwLjEsMTAuMTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMjJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyODg4LjQ3LDg1NjguNzIgLTkyLjgxLDk3Ljk1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTIzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE1OC4zOTcsMS45OTUwMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC40ODM2MzcsMC44NzUyNjksMC44NzUyNjksMC40ODM2MzcsMjc3NS4yNSw4NTEyLjYpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEyNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDI2NjEuODEsODQ1Ni42NyAtNzUuMzksMTIzLjMxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTI1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjU2NS41NSw4NDAyLjY2IC03OC4wMSwxMTcuODlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMjZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyNDkxLjg3LDgzNDkuNTcgLTkzLjYxLDk3LjQyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTI3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjQyOS42NCw4MjY1LjE0IC0xMTUuNDcsOTEuNjlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMjhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyMzcyLjMyLDgxODguNzYgLTExOC42Nyw3Ny44MVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEyOVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDIzMTQuNjMsODEwNC4wNyAtMTI1LjE1LDU1LjM1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTMwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjI3NS4xLDgwMzMuMTIgLTExNi40MiwyNS40MVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEzMVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDIyNzQuMDYsNzk1My4zMSAtMTI5Ljg2LC0zLjc0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTMyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjI4NC4wMSw3ODY5LjEzIC0xMTcuMzUsLTMwLjM4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTMzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjMxMy4wMyw3NzkzLjA5IC0xMTIuMzEsLTUzLjg2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTM0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEzLjEyNDIsMTIzLjkzMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjQ4MzYzNywtMC44NzUyNjksLTAuODc1MjY5LC0wLjQ4MzYzNywyMzU0LjI5LDc3MTcuNTUpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEzNVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyOC45OTA4LDExMy4wNTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC40ODM2MzcsLTAuODc1MjY5LC0wLjg3NTI2OSwtMC40ODM2MzcsMjQwMi40LDc2NDMuMzMpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEzNlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA1Ni4yOTQyLDExMS40NzdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC40ODM2MzcsLTAuODc1MjY5LC0wLjg3NTI2OSwtMC40ODM2MzcsMjQ2OS44LDc1OTAuODEpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDEzN1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA3Ni42NjU4LDc1LjI0NjRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMC40ODM2MzcsLTAuODc1MjY5LC0wLjg3NTI2OSwtMC40ODM2MzcsMjU0Mi4zNCw3NTQ1LjY0KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMzhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTAxLjY0NCw1NC4yNTU4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuNDgzNjM3LC0wLjg3NTI2OSwtMC44NzUyNjksLTAuNDgzNjM3LDI2MzMuMDUsNzUzMi42KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxMzlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTQwLjYyNSw0My41OTExXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuNDgzNjM3LC0wLjg3NTI2OSwtMC44NzUyNjksLTAuNDgzNjM3LDI3MjAuNTcsNzUzOS4zOSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTQwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE1Ny43OTYsMjMuNDI0MVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjQ4MzYzNywtMC44NzUyNjksLTAuODc1MjY5LC0wLjQ4MzYzNywyODA2LjM0LDc1NjIuNSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTQxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE2MS4xNzMsMTUuNzU2NlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgwLjQ4MzYzNywtMC44NzUyNjksLTAuODc1MjY5LC0wLjQ4MzYzNywyOTAwLjAzLDc1ODkuNjEpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE0MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDI5ODEuMjgsNzYzNC41MSA5OC45NiwtMTYwLjlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNDNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAzMDcxLjQyLDc2ODQuMDMgOTguOTYsLTE2MC45MVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE0NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDMxNTAuNzEsNzczOS4zOSAxMjUuODIsLTE5Ny42NlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE0NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEyODUuNTMsMTEyNi40NCBDIDExNTcuNTksMTE0OC4yOSA5MjUuNTg5LDExNzIuNiA4NDkuMzQxLDEwNDkuODIgNzczLjA5NCw5MjcuMDQzIDg3OS43NCw1NzUuNTk3IDgyOC4wNDcsMzg5Ljc1NCA3NzkuNDY1LDIxNS4wOTcgNjIxLjQ0MywtMjMuNjAzMSAzNTguMDM0LDEuODgyNzggMjM5Ljk5NiwxMy4zMDM2IC0zOC41MDUxLC01Ljg1MTUxIDQuNDYzMTYsNzY0LjAyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1OS41ODMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjQ4MzYzNywwLjg3NTI2OSwwLjg3NTI2OSwwLjQ4MzYzNywyNTI5LjE4LDc0MDEuNzgpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE0NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDI4NzEuMjQsOTA4NSBjIC0xNTkuMjMsMjA3LjA0IC00LjIsOTAxLjUyIDQyMS4zOSw5MjYuNiA2NjIuNjcsMzkgMTI2NS4wMyw2NDAuMiAxMDc0LjcxLDg2My40XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1OS41ODMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTQ3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDM3ODAuMywzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1NVwiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSwwLDAsMSw3MDI4LjgsNzQxMy41KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNDhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSA2OTQ3LjE1LDExODMwLjUgSCA1Mjc0LjVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTQ5XCIgLz5cbiAgICAgICAgICAgICAgIHsvKiBuU3B1RnoxICovfVxuICAgICAgICAgICAgICAgIDxhPlxuICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCInQWN1bWluIFBybycsICdBY3VtaW4gUHJvX01TRm9udFNlcnZpY2UnLCBzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9XCI0MDBcIlxuICAgICAgICAgICAgICAgZm9udFNpemU9XCI0NDBweFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNzA3NC4xLDExOTk2KVwiXG4gICAgICAgICAgICAgICBpZD1cInRleHQxNDlcIj5uU3B1RnoxPC90ZXh0PlxuICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE0ODUuNDIsMTI3OS4xOVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsNjI4NS45MiwxMDI0NS41KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNTBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSA4MjQyLjIsMTEwMTEuNSBIIDQ2NTAuNVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNTFcIiAvPlxuICAgICAgICAgICAgICAgey8qIHBlZ1JOQSBzY2FmZm9sZCovfVxuICAgICAgICAgICAgICAgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHt0YWJJZDogJ3RhYi1wZWdybmEnLCBwYXRoOiAnL2VuZ2luZWVyaW5nJywgc2Nyb2xsVG9JZDogXCJwZWdSTkFcIn0pfT5cbiAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBmb250RmFtaWx5PVwiJ0FjdW1pbiBQcm8nLCAnQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlJywgc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICBmb250V2VpZ2h0PVwiNDAwXCJcbiAgICAgICAgICAgICAgIGZvbnRTaXplPVwiNDQwcHhcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDY0MDguNTgsMTAyNjYpXCJcbiAgICAgICAgICAgICAgIGlkPVwidGV4dDE1MVwiPnBlZ1JOQTwvdGV4dD48dGV4dFxuICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIidBY3VtaW4gUHJvJywgJ0FjdW1pbiBQcm9fTVNGb250U2VydmljZScsIHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgZm9udFdlaWdodD1cIjQwMFwiXG4gICAgICAgICAgICAgICBmb250U2l6ZT1cIjQ0MHB4XCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4MTU1LjUyLDEwMjY2KVwiXG4gICAgICAgICAgICAgICBpZD1cInRleHQxNTJcIj5zY2FmZm9sZDwvdGV4dD5cbiAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTcxNC44LDgzODEuOTggYyAxNDEsMjE5LjE5IDI4Mi4xLDQzOC4zOCAyOTguOCw1NTcuMSAxNi43LDExOC43MyAtOTEsMTM2Ljk5IC0xOTguNywxNTUuMjRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y0Y2MxZVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjczLjMzMzNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE1MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExOTgyLjcsNzg5NC45MiBjIDM2MS42LDU2MS43OSA3MjMuMiwxMTIzLjU5IDc2NS45LDE0MjcuODkgNDIuOCwzMDQuMjkgLTIzMy4yLDM1MS4wOSAtNTA5LjMsMzk3Ljg4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNGNjMWVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI3My4zMzMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNTNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMDA0NS40LDc3OTguNTEgYyAwLjIsMTQxLjQ0IC0yMjEuMTksMTczLjg5IC0yMTYuMjUsMzA2LjIyIDQuOTQsMTMyLjMyIDc5LjcxLDIyMC41IDE5NC4xNSwyNjkuNzggODEuNywzNS4yIC0xMDguODIsMTU1Ljc1IDEyMS42LDE2MC45NyAyMTYuNSw0LjkxIDY2LjIsMjI3LjQ2IDExMy43LDMwMS4zMyA0Ny42LDczLjg4IDExNyw3MC42OSAxNzEuNywxNDEuOSA1NC43LDcxLjIxIDg0LDI0MS4xNyAxNTYuNSwyODUuMzcgNzIuNSw0NC4xOSAxMTkuNiwxNS40MiAyMzYuNywzMy44MiAxMTcuMSwxOC40IDQzNC4yLDE3MS41MiA0NjUuOCw3Ni41OSAzMS43LC05NC45MyAtOTMsLTE4OC45MyAtMzUuOCwtMjk4LjU4IDU3LjIsLTEwOS42NSA3MC45LC0yNDMuNSAyMDQuNiwtMzE1LjQ5IDE1OS40LC04NS44OCAzOTYuOCwtMjE2LjY4IDQ1My43LC0zMTQuMiA1Ni45LC05Ny41MyAzMC42LC0yMTYuNTkgNjIuNCwtMzE0LjggMzEuNywtOTguMiA5NC41LC0yMDAuMjkgMTI4LjIsLTI3NC40NCAzMy43LC03NC4xNiA1Ny44LC04Mi40NyA3NC4xLC0xNzAuNDggMTYuMywtODguMDEgNDUuNCwtMjcwLjMgMjMuNSwtMzU3LjU3IC0yMS45LC04Ny4yNiAtOTIuNywtMTM2LjQzIC0xNTUsLTE2Ni4wNCAtNjIuMywtMjkuNjEgLTE2Mi40LC0xMDUuNyAtMjMwLjcsLTEwMi4xNyAtNjguMywzLjUzIC05OC4xLDc2LjgzIC0xNzkuNCwxMjMuMzQgLTgxLjIsNDYuNSAtMTI2LjksMS4yMyAtMzA4LjMsMTU1LjcgLTcxLDYwLjQ4IDkwLjcsMTgwLjkxIC0xMjEuNywyMDIuNDMgLTI5OS45LDMwLjM5IC0xOTYuMSwtMTQ5LjM1IC0yNzMuMiwtMTgyLjQzIC03NywtMzMuMDcgLTEyNS40LC01LjU0IC0xODkuMiwtMTYuMDMgLTYzLjksLTEwLjQ5IC0xMzQuMywtNjAuMzUgLTE5My44LC00Ni45IC01OS42LDEzLjQ0IC05OS4yLDk1LjY3IC0xNjMuNSwxMjcuNTYgLTY0LjIsMzEuOSAtMjAxLjUsMTAyLjc0IC0yODEuMSwxMzIuNTQgLTYzLjksNy4xOSAtMTM5Ljg2LC05Ni42OSAtMTk2Ljc0LDQ2LjI4IC0zNC4yNCw4Ni4wNyAxMzEuOTQsMTA3LjQxIDEzOC4wNCwxOTUuMyB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjYmI5OTA5XCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNTRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMDY3MS40LDc5MzUuMjEgYyAtMjUuMiwxMC4zNiAtNjguMyw0OS4zNCAtNjEuNyw4NC41MiA2LjYsMzUuMTggNjIuNyw5OC4zNyAxMDEuMSwxMjYuNTggMzguNSwyOC4yIDk3LjYsMjguMjMgMTI5LjgsNDIuNjMgMzIuMywxNC40MSA2MC41LDIyLjk2IDYzLjcsNDMuOCAzLjIsMjAuODQgLTE4LjQsNjAuMTMgLTQ0LjQsODEuMjUgLTI1LjksMjEuMTIgLTg0LjMsMjEuNjkgLTExMS40LDQ1LjQ5IC0yNywyMy44IC0yNS4xLDcwLjA1IC01MC45LDk3LjMzIC0yNS44LDI3LjI3IC05MC43LDM1LjQ4IC0xMDMuOSw2Ni4zMyAtMTMuMywzMC44NiAzMy42LDg3LjI5IDI0LjYsMTE4LjggLTguOSwzMS41IC03OC43LDM2LjIxIC03OC4zLDcwLjIyIDAuMywzNCA3OC4yLDk4Ljk3IDgwLjQsMTMzLjc5IDIuMywzNC44MSAyNi41LDI5LjMxIDUxLjQsMzcuMTYgMjQuOCw3Ljg0IDkxLjEsNTEuNDQgOTcuOCw5LjkgNi42LC00MS41NCAtNjQuOCwtNTMuMjggLTczLjIsLTc4Ljg5IC04LjQsLTI1LjYxIDE4LjMsLTQxLjE4IDIyLjgsLTc0Ljc4IDQuNCwtMzMuNiAtMTkuMiwtOTcuODEgMy45LC0xMjYuODIgMjMuMSwtMjkuMDIgMTM0LjYsLTQ3LjI3IDEzNC42LC00Ny4yNyA0Ny4zLC0xNy4yNCAxMTMuNCwtNDIuNTggMTQ5LjUsLTU2LjE5IDM2LC0xMy42IDU5LjgsMC4zOSA2Ni45LC0yNS40NiA3LjEsLTI1Ljg0IC0zMi4zLC05Ni4wNiAtMjQuMywtMTI5LjYyIDgsLTMzLjU2IDc3LjIsLTQ5LjI1IDcyLjQsLTcxLjcxIC00LjgsLTIyLjQ2IC05MS4zLC0xNy4zMyAtMTAxLjMsLTYzLjA3IC0xMCwtNDUuNzMgMjcuOSwtNjcuMDUgNDQuOCwtOTAuMjggMTYuOSwtMjMuMjMgNTAuOSwtMTcuODMgNTYuNiwtNDkuMDkgNS43LC0zMS4yNiAtMzEuNCwtMTA1Ljk1IC0yMi4yLC0xMzguNDQgOS4yLC0zMi41IDg0LjIsLTE3LjcyIDc3LjQsLTU2LjUzIC02LjgsLTM4LjgxIC01My45LC01MS42OCAtOTYuNCwtMzkuMzQgLTQyLjYsMTIuMzMgLTEwNS40LDk0LjY2IC0xNTguOCwxMTMuMzQgLTUzLjQsMTguNjggLTExOS44LDIuNjcgLTE2MS42LC0xLjI3IC00MS45LC0zLjk1IC02NC4yLC0zMi43NCAtODkuMywtMjIuMzggelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2IwOTAwOFwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTU1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTExNzYuNSw5MjcyLjc3IGMgLTQ0LjUsLTEwLjMgLTIuOCwtMTE0LjQgLTE0LjIsLTE1Ni4zNCAtMTEuMywtNDEuOTQgLTM1LjIsLTYzLjYxIC01My44LC05NS4zMiAtMTguNiwtMzEuNzEgLTg5LjEsLTQxLjE5IC01Ny44LC05NC45NCAzMS40LC01My43NCAxMDcuMywtNDMuNTYgMTMwLjIsLTgwLjAxIDIyLjgsLTM2LjQ2IC0xMy4yLC0xMDQuMTEgNi45LC0xMzguNzMgMjAsLTM0LjYyIDg3LjgsLTY5LjMyIDExMy40LC02OS4wMSAyNS43LDAuMzEgMzYuMSwzNi4wMiA0MC41LDcwLjg3IDQuNCwzNC44NSAwLjIsOTguNSAtMTQsMTM4LjIzIC0xNC4yLDM5LjczIC02Mi4xLDcyLjY5IC03MS4yLDEwMC4xNiAtOSwyNy40NyAyMC41LDMxLjYgMTYuOSw2NC42NCAtMy43LDMzLjA1IC01My42LDEyMS40NyAtNjAsMTU4LjM1IC02LjMsMzYuODggNC45LDExMS43NyAtMzYuOSwxMDIuMSB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjYjA5MDA4XCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNTZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTg0Mi4zLDc2NTIuMzIgYyAtMjUuMywzMC4zIC0zOS44LDgxLjE4IC03MC4xLDk4LjEgLTMwLjIsMTYuOTMgLTkzLjYsMTYuMDUgLTExMS41LDMuNDQgLTE3LjksLTEyLjYgLTQwLjIsLTQ2LjI3IDQuMSwtNzkuMDkgNDQuMywtMzIuODIgNTMuMywtODEuMzcgNzAuNCwtMTI2LjA5IDE3LjIsLTQ0LjcyIDcuOCwtMTIwLjAzIDMyLjQsLTE0Mi4yMyAyNC41LC0yMi4yMSA4Mi4yLDkuMTcgMTE1LDkgMzIuOCwtMC4xOCA1MS4yLC0yMC4yMiA4MS44LC0xMC4wNyAzMC43LDEwLjE2IDcwLjEsNjMuMjYgMTAyLDcwLjk5IDMxLjksNy43MiA3Mi4zLC0zNS4xNyA4OS42LC0yNC42NCAxNy4zLDEwLjU0IDE5LjksNTQuODEgMTQuNCw4Ny44NSAtNS42LDMzLjAzIC0zMS40LDg4Ljc5IC00Ny41LDExMC4zNiAtMTYuMiwyMS41NiAtMzAuNSwyOC41OCAtNDkuNCwxOS4wMiAtMTguOSwtOS41NyAtMzkuMywtNTkuNjggLTY0LjMsLTc2LjQxIC0yNSwtMTYuNzMgLTU3LjgsLTMzLjkxIC04NS43LC0yMy45NSAtMjcuOCw5Ljk2IC01Niw1My40MiAtODEuMiw4My43MiB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjYjA5MDA4XCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNTdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTYxMS44LDgyOTUuMDYgYyAtMzcuMiwyMi43NSAtMTM0LjgsLTMuMDcgLTE0Mi44LDQyLjY4IC03LjUsNDIuNzYgMTAwLjQsMzMuODQgMTA5LjIsNjUuMzYgOC43LDMxLjUyIC00NS43LDg5LjQ2IC01Ni43LDEyMy43NiAtMTAuOSwzNC4yOSAtMzQuMiw3Mi41IC04LjksODIgMjUuMiw5LjUxIDEwOS40LC0zLjI4IDE2MC43LC0yNC45OCA1MS4zLC0yMS43MSAxMDAuOCwtNjAuNjUgMTQ3LC0xMDUuMjYgNDYuMSwtNDQuNjEgMTE3LjQsLTk3LjkxIDEyOS45LC0xNjIuMzkgMTIuNCwtNjQuNDggLTEwNi4zLC0xNzEuMDQgLTU1LjMsLTIyNC40OSA1MSwtNTMuNDUgMTI3LjQsLTIxMS4zNCA3Ni43LC0yMjYuOTUgLTUwLjgsLTE1LjYgLTEyNi43LDEzNy41OSAtMTg4LjgsMTU2Ljc0IC02Mi4xLDE5LjE0IC02MiwxMzQuMTIgLTkwLjUsMTc5LjcxIC0yOC41LDQ1LjU5IC00My4yLDcxLjA3IC04MC41LDkzLjgyIHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNiMDkwMDhcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE1OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExNTE5LjYsNzQ2OS44NyBjIC05LjksMTIuODIgLTEwLjQsNTIuNDYgLTAuNyw1OC40OSA5LjgsNi4wMyA0OS41LC05LjUgNTkuMywtMjIuMzIgOS44LC0xMi44MiA5LjYsLTQ5LjIyIC0wLjMsLTU0LjYgLTEwLC01LjM5IC00OC41LDUuNjEgLTU4LjMsMTguNDMgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2IwOTAwOFwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTU5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTEzODMuOCw3OTA5Ljk4IGMgLTEuMiwzOS45OSAtMjAuNyw1Mi4xOCAtMTAuNSw2Ni45NyAxMC4yLDE0LjggNDMuNSwyOS40NSA3MS44LDIxLjc3IDI4LjMsLTcuNjcgNzcuOSwtNDUuODUgOTcuOSwtNjcuODIgMjAuMSwtMjEuOTcgMjYuMSwtNDUuNzkgMjIuNCwtNjQgLTMuNywtMTguMjEgLTI5LjIsLTIwLjggLTQ0LjMsLTQ1LjI3IC0xNS4yLC0yNC40NyAtMzAuNSwtODEuMDQgLTQ2LjcsLTEwMS41NCAtMTYuMiwtMjAuNSAtMzQuNiwtMjQuMjggLTUwLjMsLTIxLjQ2IC0xNS43LDIuODIgLTM2LjgsMi44MSAtNDMuOCwzOC4zOCAtNywzNS41NyA0LjYsMTMyLjk3IDMuNSwxNzIuOTcgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2IwOTAwOFwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTYwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTA3MTUuMyw3NTkzLjE3IGMgLTguNiwyNi45NCA0MC4yLDY3LjY1IDMwLjksOTguODYgLTkuMywzMS4yIC03OC45LDY3LjM0IC04Ni43LDg4LjM3IC03LjgsMjEuMDMgMTAuOCw0Ny4xOSAzOS45LDM3LjgzIDI5LjEsLTkuMzYgOTIuOSwtNzguOCAxMzQuOSwtOTQuMDEgNDIsLTE1LjIxIDg3LjIsMTYuMzcgMTE3LDIuNzQgMjkuOCwtMTMuNjMgNzIuNCwtNTguNDEgNjEuNywtODQuNTEgLTEwLjgsLTI2LjExIC05MC40LC01My40NCAtMTI2LjIsLTcyLjExIC0zNS44LC0xOC42OCAtNjAuMSwtNDMuNzUgLTg4LjcsLTM5Ljk0IC0yOC42LDMuOCAtNzQuMSwzNS44MyAtODIuOCw2Mi43NyB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjYjA5MDA4XCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNjFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMjk3Mi4yLDkxMzQuNzIgYyAtNDguNywtOC42MyAtNDYuOSw2Mi41MSAtMTI1LjcsOTQuMjcgLTc4LjksMzEuNzYgLTI2Ny4yLDYzLjIzIC0zNDcuNSw5Ni4zMSAtODAuMywzMy4wNyAtODEuNSw2OS40NCAtMTM0LjEsMTAyLjEyIC01Mi43LDMyLjY5IC0xNDYuMyw0OS4xNyAtMTgxLjYsOTMuOTggLTM1LjMsNDQuODEgLTE4LjUsMTI0IC0zMC4zLDE3NC44NyAtMTEuOCw1MC44NiAtOC44LDEwMi41MSAtNDAuNywxMzAuMzQgLTMyLDI3Ljg0IC0xMDcuMywyMy43NyAtMTUwLjgsMzYuNjYgLTQzLjQsMTIuOSAtNC43LDEzNS43OCAtMTEwLDQwLjc0IC0zMS43LC0yOC42NiAtOTMuNSwtMTMuNzMgLTEzMC40LDQ4Ljg4IC0zNi42LDIyLjQgNjguOSwtMTEuNjkgLTI0LjQsMTA1LjkxIC0yOS45LDQzLjQgLTEwNi40LC0yMi42IC0xOTUuNiw3Ny40IC02NC41LDUxLjYgMTU0LjQsMTgxLjggOTcuOCwyNjguOCAtMjEsNjQuNSAtMTgxLDU4LjMgLTE2NywxMTguMiAxNCw1OS44IDE4OS4zLDE3My4zIDI1MS4xLDI0MS4yIDYxLjgsNjcuOSA2Mi4zLDEwMS4xIDExOS42LDE2Ni4xIDU3LjMsNjUgMTc4LjksMTQ2LjQgMjI0LjEsMjI0IDQ1LjIsNzcuNyA1NywxODYuMyA0Ni45LDI0MS44IC0xMC4yLDU1LjUgLTEwOC4yLDQ5LjggLTEwOCw5MS4xIDAuMiw0MS4zIDgxLjYsOTUuNiAxMDkuMSwxNTYuNSAyNy41LDYwLjkgMTguMiwxNTYuMyA1NS45LDIwOC45IDM3LjcsNTIuNyAxNzAuNywtNDMuNCAxNzAuMiwxMDcuMSAtMC40LDE1MC41IDIwOC43LC0yNiAyNDIuNywzOC4xIDM0LjEsNjQuMSAtMTgyLjcsMjI5LjkgLTM4LjQsMzQ2LjUgOTkuOSw4MC44IDQ3LjUsMTIuNSAxMjQuNiw0MC4yIDc3LjEsMjcuNyAyMzYuNiwxMTAuMSAzMzguMSwxMjYuMyAxMDEuNiwxNi4yIDE2MC4zLC0zNS44IDIyMC43LC03Ny4xIDU3LjgsLTM5LjUgNTguMSwzMyAxMjYuMiwxNS43IDY4LjEsLTE3LjQgMzQ1LC04LjYgMjgyLjMsLTExOS43IC02Mi43LC0xMTEuMiAtMTYzLjEsLTc4LjIgLTE0Ny45LC0xNDguNiA4LjMsLTM4LjMgNzgsLTEzLjMgMTkxLjUsLTgyLjQgNjIuNSwtMzguMSAtMzcuNywtNzkuMyAyMTguMSwtNzcuMSAxMzMuNCwtMTMuOCA1OC41LDY1LjQgMTkxLjUsODIuNCA2MC43LDE2LjggNzQuNSwtNzcuNyAxODYuMSwtNjMuOCA4OC4yLC0zLjEgMTUuMiw0NC42IDIyMC44LDcxLjggNDcuOCwxNS41IDQ3LjgsLTMzLjcgOTMsLTI0IDQ1LjMsOS44IDExNi42LDY2LjUgMTc4LjIsODIuNSA2MS42LDE1LjkgMjgsLTE1NC40IDE1MS42LC0xNDguOSAxMjMuNiw1LjUgMTU0LjQsLTE1LjkgMjE1LjEsLTQ0LjEgNjAuNiwtMjguMiAxMjQuOSwtNDYuNyAxNDguOSwtMTI1LjMgMjQsLTc4LjcgLTExMS42LC0yODguNCAtNC45LC0zNDYuNSA2NS43LC0zNS44IC01MS41LC0xMjYuMyAyNi42LC0xNzIuOCA0MS43LC0yNC45IDcwLjQsMTQ3LjQgMTg4LjgsMTAxIDExOC40LC00Ni4zIDEwOS45LC0xNDguNiAxNjUuMywtMjc4IDU1LjQsLTEyOS40IDExOC45LC05MC41IDE2Ny4xLC0xNDcuNCA0OC4zLC01Ni45IC00OS43LC0xNjMgLTc0LjQsLTI0MiAtMjQuNywtNzkgLTMzLC0xNTYuNyAtNzMuNywtMjMyLjEgLTQwLjgsLTc1LjMgLTEwNC44LC0xNTMuMiAtMTcxLC0yMTkuOSAtNjYuMywtNjYuNyAtMTM3LjgsLTE1OS41IC0yMjYuNSwtMTgwLjQgLTg4LjYsLTIxIC0yMzcuMyw1Ny4xIC0zMDUuNSw1NC44IC02OC4yLC0yLjIgLTQ1LjIsLTcxLjUgLTEwMy42LC02OC41IC01OC41LDMgLTE0OSwzMS41IC0xOTQuMiwyMS4yIC00NS4yLC0xMC4yIC0zNy43LC02OC40IC02MC44LC0xMDMuNCAtMjMsLTM1IC00NC40LC02OS44MSAtNzcuNSwtMTA2LjYxIC0zMy4xLC0zNi44MSAtMTAwLjIsLTY0Ljc2IC0xMzcuNSwtOTMuODMgLTM3LjMsLTI5LjA3IC01Mi4yLC02MS4yMiAtODYuNSwtODAuNTkgLTM0LjIsLTE5LjM4IC04MC40LC0yMS4zOSAtMTE5LjEsLTM1LjY1IC0zOC43LC0xNC4yNSAtODIuMSwzLjE2IC0xMTcuMiwtMTMuMjMgLTM1LC0xNi40IC0zMS45LC0xMDYuODEgLTkyLjksLTg1LjE1IC02MC45LDIxLjY2IC0xNTEuOSwxNDkuNTQgLTI0MC4xLDE3NC4zNiAtODguMiwyNC44MSAtMjkxLDYxLjU0IC0yODkuMSwtMjUuNDUgNy40LC0zNTAuMzMgLTEyNy41LC0xMTEuNjIgLTIwNC4yLC0xNDUuNzUgLTc2LjcsLTM0LjEyIC0yMjYuNiwtMjUuMTQgLTI1NS45LC01OSAtMjkuMywtMzMuODYgLTM5LjksLTEwMC40NCAtOS42LC0xNDguMjIgMzAuMywtNDcuNzkgMjAyLjMsLTkwLjQgMTkxLjUsLTEzOC41IDIuNSwtNzIuMTMgLTExOC4xLC0xMzcuNDMgLTE2Ni44LC0xNDYuMDYgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2Y0Y2MxZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTYyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTI2NjQuOCwxMDA5NC4zIGMgMzEuMSwzLjUgODMuNCwzMC45IDEyNy43LDI2LjUgNDQuMywtNC40IDExNS4yLC02MSAxMzguMywtNTMgMjMsNy45IDAsMTAwLjcgMCwxMDAuNyAwLDI5LjEgMjMsNjQuNSAwLDc0LjIgLTIzLjEsOS43IC0xMDAuMiwtMTQuMiAtMTM4LjMsLTE1LjkgLTM4LjEsLTEuOCAtNjUuNiwxNS45IC05MC40LDUuMyAtMjQuOCwtMTAuNiAtNDIuNiwtNDYuOCAtNTguNSwtNjguOSAtMTYsLTIyLjEgLTQwLjgsLTUzIC0zNy4zLC02My42IDMuNiwtMTAuNiAyNy41LC04LjkgNTguNSwtNS4zIHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE2M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEzMDI0LjgsMTI0NDguMSBjIDQuMSwtMjAuNCA0MC44LC01Ny43IDUzLjEsLTEwMS44IDEyLjIsLTQ0LjEgLTIuOCwtMTA4LjYgMjAuNCwtMTYyLjkgMjMuMSwtNTQuMyA3Mi43LC0xMTYgMTE4LjIsLTE2Mi44IDQ1LjYsLTQ2LjkgMTA3LjQsLTk1LjcgMTU1LC0xMTguMSA0Ny42LC0yMi40IDkzLjgsLTI4LjUgMTMwLjUsLTE2LjMgMzYuNywxMi4yIDk0LjUsNTQuMyA4OS43LDg5LjYgLTQuNywzNS4zIC03MS4zLDEwMC40IC0xMTguMiwxMjIuMSAtNDYuOSwyMS43IC0xMzYsLTE0LjkgLTE2My4yLDguMiAtMjcuMiwyMyAyNS4yLDgxLjQgMCwxMzAuMyAtMjUuMSw0OC44IC0xMDguMSwxMjQuMiAtMTUwLjksMTYyLjggLTQyLjgsMzguNyAtODQuMyw2Mi41IC0xMDYsNjkuMyAtMjEuOCw2LjcgLTMyLjYsMCAtMjguNiwtMjAuNCB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNjRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzc5Mi40LDExOTQ0LjUgYyAtMTUuMSwtMTIuNCAtNTUuOSwtMjguNCAtNTMuMywtNDcuOCAyLjcsLTE5LjUgNDAsLTMxIDY5LjIsLTY5LjEgMjkuMywtMzggODAuOCwtMTE3LjcgMTA2LjUsLTE1OS4zIDI1LjcsLTQxLjYgMTguNiwtNzQuMyA0Ny45LC05MC4yIDI5LjMsLTE2IDEyMC43LC0xNi44IDEyNy44LC01LjMgNy4xLDExLjUgLTYyLjEsNDMuMyAtODUuMiw3NC4zIC0yMy4xLDMxIC01Ni44LDg0LjEgLTUzLjIsMTExLjUgMy41LDI3LjQgNzUuNCwyMyA3NC41LDUzLjEgLTAuOSwzMC4xIC00NywxMDAuOSAtNzkuOCwxMjcuNCAtMzIuOSwyNi42IC05MC42LDMxLjkgLTExNy4yLDMxLjkgLTI2LjYsMCAtMjIuMiwtMTQuMiAtMzcuMiwtMjYuNSB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNjVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzA0Ny43LDEwNjU3LjkgYyAtMzYuNCwtOCAtMTM2LjUsLTYuMiAtMTU5LjYsLTM3LjMgLTIzLC0zMSAyLjcsLTEyMS41IDIxLjMsLTE0OS4xIDE4LjYsLTI3LjUgNjMuOCw4IDkwLjQsLTE1LjkgMjYuNiwtMjQgNTUuOSwtODUuMiA2OS4yLC0xMjcuOCAxMy4yLC00Mi42IC01LjQsLTk5LjQgMTAuNiwtMTI3LjggMTUuOSwtMjguNCA1My4yLC00OS43IDg1LjEsLTQyLjYgMzEuOSw3LjEgODIuNCw1OS40IDEwNi40LDg1LjIgMjMuOSwyNS43IDQ1LjIsMzYuNCAzNy4yLDY5LjIgLTgsMzIuOCAtNTkuNCwxMjEuNiAtODUuMSwxMjcuOCAtMjUuNyw2LjIgLTQxLjcsLTkwLjUgLTY5LjEsLTkwLjUgLTI3LjUsMCAtODkuNiw1Ni44IC05NS44LDkwLjUgLTYuMiwzMy43IDUwLjUsNzMuNyA1OC41LDExMS44IDgsMzguMiAxLjgsOTguNSAtMTAuNiwxMTcuMiAtMTIuNCwxOC42IC0yMi4yLC0yLjcgLTU4LjUsLTEwLjcgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTY2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTI4NDYuMSwxMTIyNi44IGMgMjQuOSwtMzEuOSA2NC44LC01NC4xIDYzLjksLTk1LjggLTAuOSwtNDEuNyAtNTAuNiwtMTQ1LjUgLTY5LjIsLTE1NC40IC0xOC42LC04LjggLTIzLDc4LjEgLTQyLjYsMTAxLjIgLTE5LjUsMjMgLTY3LjMsOS43IC03NC40LDM3LjIgLTcuMSwyNy41IDQ3LDkzLjIgMzEuOSwxMjcuOCAtMTUuMSwzNC42IC0xMDAuMiw0NS4yIC0xMjIuNCw3OS44IC0yMi4yLDM0LjYgLTEyLjQsODEuNiAtMTAuNiwxMjcuOCAxLjcsNDYuMSA3LjksMTEwLjkgMjEuMiwxNDkgMTMuMywzOC4yIDMyLjksOTkuNCA1OC42LDc5LjkgMjUuNywtMTkuNiA4NiwtMTM3LjYgOTUuNywtMTk3IDkuOCwtNTkuNCAtNDYuMSwtMTE2LjIgLTM3LjIsLTE1OS43IDguOSwtNDMuNSA2MC4zLC02My45IDg1LjEsLTk1LjggelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTY3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTQ5NTcuMSwxMTUzMC4yIGMgLTM2LjMsOS43IC0xNDIuNywtNDAuOCAtMTk2LjgsLTMxLjkgLTU0LjEsOC44IC0xMjAuNiw5My45IC0xMjcuNyw4NS4xIC03LjEsLTguOSA0OS43LC0xMDYuNCA4NS4xLC0xMzguMyAzNS41LC0zMS45IDEwOS4xLC0yMS4zIDEyNy43LC01My4yIDE4LjYsLTMxLjkgLTMxLC05OC4zIC0xNiwtMTM4LjIgMTUuMSwtMzkuOSA3Ni4zLC02OS4xIDEwNi40LC0xMDEgMzAuMiwtMzEuOSA0OC44LC01NC4xIDc0LjUsLTkwLjQgMjUuNywtMzYuNCA1MS40LC0xMDQuNiA3OS44LC0xMjcuNiAyOC40LC0yMy4xIDg1LjEsLTI0LjggOTAuNSwtMTAuNyA1LjMsMTQuMiAtMzguMiw1NSAtNTguNiw5NS43IC0yMC40LDQwLjggLTQ3LDExMC44IC02My44LDE0OC45IC0xNi45LDM4LjEgLTM4LjEsNTUuOCAtMzcuMiw3OS44IDAuOCwyMy45IDQ5LjYsMzEuOSA0Mi41LDYzLjggLTcuMSwzMS45IC02Ni41LDkxLjMgLTg1LjEsMTI3LjYgLTE4LjYsMzYuMyAxNS4xLDgwLjYgLTIxLjMsOTAuNCB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZWVjMzBjXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNjhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxNTQ0Ni44LDExMjQ4LjEgYyAtMTcuNywtMzcuMiAtNjkuMiwtMTE2LjEgLTkwLjUsLTE3NS41IC0yMS4zLC01OS40IC0yOC40LC0xMzEuMiAtMzcuMywtMTgwLjggLTguOSwtNDkuNiAtMjguNCwtODUuMSAtMTYsLTExNyAxMi40LC0zMS45IDg3LjksLTI4LjMgOTAuNiwtNzQuNCAyLjYsLTQ2LjEgLTcxLjksLTE1Ni45IC03NC42LC0yMDIuMSAtMi43LC00NS4yIDIzLjEsLTg2LjggNTguNiwtNjkuMSAzNS41LDE3LjcgMTIzLjQsMTE2LjEgMTU0LjQsMTc1LjUgMzEuMSw1OS4zIDQzLjUsMTI3LjYgMzIsMTgwLjggLTExLjYsNTMuMSAtODIuNiw3OCAtMTAxLjIsMTM4LjIgLTE4LjcsNjAuMyAtMTMuMywxNzIgLTEwLjcsMjIzLjQgMi43LDUxLjQgMTEuNiw4NC4yIDI2LjcsODUgMTUuMSwwLjkgNDcuOSwtODAuNiA2My45LC03OS43IDE1LjksMC45IDQ1LjIsNjEuMSAzMS45LDg1LjEgLTEzLjMsMjMuOSAtOTEuNCw1Ny42IC0xMTEuOCw1OC41IC0yMC40LDAuOCAxLjgsLTEwLjcgLTE2LC00Ny45IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE2OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE0NTM3LDEwNzc0LjUgYyAtMjAuMywtMzEuOSAtODYuOCwtNTkuNCAtMTIyLjIsLTYzLjggLTM1LjQsLTQuNSAtNzMuNSwxNC4xIC05MC4zLDM3LjIgLTE2LjgsMjMgLTI4LjMsNzAuOSAtMTAuNiwxMDEgMTcuNywzMC4xIDc5LjcsNzAuOSAxMTYuOSw3OS44IDM3LjIsOC44IDg5LjQsMCAxMDYuMiwtMjYuNiAxNi44LC0yNi42IDIwLjQsLTk1LjcgMCwtMTI3LjYgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTcwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTIxMDYuMywxMDg2NC45IGMgLTI3LjUsMjEuMyAtNzEuOCwtMzAuMSAtNjkuMiwtNDcuOSAyLjcsLTE3LjcgNjQuOCwtMjQuOCA4NS4xLC01OC41IDIwLjQsLTMzLjcgOCwtMTI2LjggMzcuMywtMTQzLjYgMjkuMywtMTYuOSAxMDIuOSw0My40IDEzOC4zLDQyLjUgMzUuNSwtMC45IDUwLjYsLTMwLjEgNzQuNSwtNDcuOSAyNCwtMTcuNyA0Ni4xLC01Ny42IDY5LjIsLTU4LjUgMjMuMSwtMC45IDg3LjgsMjguNCA2OS4yLDUzLjIgLTE4LjYsMjQuOSAtMTI5LjUsODEuNiAtMTgwLjksOTUuOCAtNTEuNSwxNC4yIC04OS42LC0zOC4xIC0xMjcuNywtMTAuNiAtMzguMiwyNy40IC02OC4zLDE1NC4yIC05NS44LDE3NS41IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNlZWMzMGNcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE3MVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExOTE1LjEsMTA1ODguNiBjIDExLjUsLTIxLjMgMTkuNSwtOTguNSA1LjMsLTEyNy43IC0xNC4xLC0yOS4zIC02Ny4zLC01NC4xIC05MC4zLC00Ny45IC0yMyw2LjIgLTUxLjMsNTUuOCAtNDcuOCw4NS4xIDMuNSwyOS4zIDQ3LjgsNzYuMyA2OS4xLDkwLjUgMjEuMiwxNC4yIDUyLjIsMjEuMyA2My43LDAgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2VlYzMwY1wiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTcyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTM3NjAuMiw5ODc2LjcyIGMgLTEyNS45LC05NC4wMiAtMjUxLjgsLTE4OC4wNCAtMzU1LjUsLTI0Ni4xNiAtMTAzLjcsLTU4LjEzIC0yMTIsLTY2LjEgLTI2Ni43LC0xMDIuNTcgLTU0LjcsLTM2LjQ3IC0yOC41LC0xMDMuNzEgLTYxLjYsLTExNi4yNSAtMzMsLTEyLjUzIC0xMTAuNSwxMi41NCAtMTM2LjcsNDEuMDMgLTI2LjIsMjguNDkgLTE3LjEsNzUuMjIgLTIwLjUsMTI5LjkyIC0zLjQsNTQuNyA2LjgsMTU2LjEzIDAsMTk4LjMgLTYuOSw0Mi4xNyAtMS4yLDQ1LjU5IC00MS4xLDU0LjcgLTM5LjgsOS4xMiAtMTQ4LjEsMTIuNTQgLTE5OC4zLDAgLTUwLjEsLTEyLjUzIC03NS4yLC00Mi4xNiAtMTAyLjUsLTc1LjIxIC0yNy40LC0zMy4wNSAtMzguOCwtMTEwLjU1IC02MS42LC0xMjMuMDkgLTIyLjgsLTEyLjUzIC01OC4xLDEyLjU0IC03NS4yLDQ3Ljg3IC0xNy4xLDM1LjMzIC0zOS45LDE0MS4zMiAtMjcuMywxNjQuMTEgMTIuNSwyMi43OSA2Mi42LC0xLjE0IDEwMi41LC0yNy4zNSAzOS45LC0yNi4yMiA4Ni42LC0xMjYuNSAxMzYuOCwtMTI5LjkyIDUwLjEsLTMuNDIgMTE5LjcsNjEuNTQgMTY0LjEsMTA5LjQgNDQuNCw0Ny44NyA3MS44LDExOS42NyAxMDIuNiwxNzcuNzkgMzAuNyw1OC4xMSAzMywxNTAuNDEgODIsMTcwLjkxIDQ5LDIwLjYgMTM0LjUsLTIzLjkgMjEyLC00Ny44IDc3LjUsLTI0IDE5Mi42LC00OSAyNTMsLTk1LjggNjAuNCwtNDYuNjggOTUuNywtMTEyLjc4IDEwOS40LC0xODQuNTggMTMuNywtNzEuOCAtMTQuOCwtMTU4LjQxIC0yNy4zLC0yNDYuMTcgLTEyLjYsLTg3Ljc1IC00Ni44LC0yMDguNTUgLTQ3LjksLTI4MC4zNSAtMS4xLC03MS44IC0yLjMsLTE0OS4yOSA0MSwtMTUwLjQzIDQzLjMsLTEuMTQgMTUwLjUsMTAzLjcgMjE4LjgsMTQzLjU5IDY4LjQsMzkuODkgMTM1LjcsODQuMzQgMTkxLjUsOTUuNzMgNTUuOCwxMS40IDExMS43LC01Ni45OCAxNDMuNiwtMjcuMzUgMzEuOSwyOS42MyAzNy42LDE1Ny4yNyA0Ny45LDIwNS4xNCAxMC4yLDQ3Ljg2IDE4LjIsNzIuOTQgMTMuNiw4Mi4wNSAtNC41LDkuMTIgLTM2LjQsLTcxLjggLTQxLC0yNy4zNSAtNC42LDQ0LjQ1IC0xMS40LDIwOS43IDEzLjcsMjk0LjAzIDI1LjEsODQuMzMgOTAsMTYyLjk5IDEzNi43LDIxMS45OSA0Ni44LDQ5IDgzLjIsNjguNCAxNDMuNiw4MiA2MC40LDEzLjcgMTU1LDExLjQgMjE4LjksMCA2My44LC0xMS40IDExNy4zLC0zOS44IDE2NC4xLC02OC4zIDQ2LjcsLTI4LjUgNzEuOCwtOTIuNCAxMTYuMiwtMTAyLjYgNDQuNSwtMTAuMyAxMTQsNDkgMTUwLjQsNDEgMzYuNSwtOCA5My41LC04Ni41OSA2OC40LC04OC44NyAtMjUsLTIuMjggLTE0Mi40LDgzLjE3IC0yMTguOCw3NS4xNyAtNzYuMywtNy45IC0xOTMuNywtNDUuNSAtMjM5LjMsLTEyMy4wNCAtNDUuNiwtNzcuNDkgLTEzLjcsLTI3My41MSAtMzQuMiwtMzQxLjg5IC0yMC41LC02OC4zOCAtNTAuMiwtNjcuMjQgLTg4LjksLTY4LjM4IC0zOC43LC0xLjE0IC05MS4yLDUxLjI4IC0xNDMuNiw2MS41NCAtNTIuNCwxMC4yNiAtMTI2LjUsLTI3LjM1IC0xNzAuOSwwIC00NC41LDI3LjM1IC02Ni4xLDg1LjQ3IC05NS44LDE2NC4xMSAtMjkuNiw3OC42MyAtMzMsMjUyLjk2IC04MiwzMDcuNjYgLTQ5LDU0LjcgLTE0OS4zLDM5LjkgLTIxMiwyMC42IC02Mi43LC0xOS40IC0xMjMuMSwtODguOTQgLTE2NC4xLC0xMzYuOCAtNDEsLTQ3Ljg3IC02OS41LC03Ny41IC04Mi4xLC0xNTAuNDMgLTEyLjUsLTcyLjk0IDE4LjMsLTIwMS43MiA2LjksLTI4Ny4yIC0xMS40LC04NS40NyAtMjUuMSwtMTY1LjI1IC03NS4zLC0yMjUuNjUgLTUwLjEsLTYwLjQgLTE4Ni45LC03Mi45MyAtMjI1LjYsLTEzNi43NSAtMzguOCwtNjMuODIgMTAuMywtMTc1LjUxIC02LjgsLTI0Ni4xNyAtMTcuMSwtNzAuNjYgLTMzLjEsLTEzMS4wNiAtOTUuOCwtMTc3Ljc4IC02Mi43LC00Ni43MyAtMTkxLjQsLTgyLjA2IC0yODAuMywtMTAyLjU3IC04OC45LC0yMC41MiAtMTc2LjcsLTMuNDIgLTI1MywtMjAuNTIgLTc2LjQsLTE3LjA5IC0xNjcuNiwtNTUuODQgLTIwNS4yLC04Mi4wNSAtMzcuNiwtMjYuMjEgLTM2LjQsLTU2Ljk4IC0yMC41LC03NS4yMiAxNiwtMTguMjMgNzUuMiwtMTcuMDkgMTE2LjMsLTM0LjE5IDQxLC0xNy4wOSA5MS4xLC0xOC4yMyAxMjkuOSwtNjguMzggMzguNywtNTAuMTQgODMuMiwtMTQzLjU5IDEwMi41LC0yMzIuNDggMTkuNCwtODguOSA2LjksLTIyOS4wNyAxMy43LC0zMDAuODcgNi45LC03MS44IDIyLjgsLTkyLjMxIDI3LjQsLTEyOS45MiA0LjUsLTM3LjYxIDI1LC01OC4xMiAwLC05NS43MyAtMjUuMSwtMzcuNjEgLTkyLjMsLTg3Ljc1IC0xNTAuNSwtMTI5LjkyIC01OC4xLC00Mi4xNyAtMTQ0LjcsLTEwMC4yOSAtMTk4LjMsLTEyMy4wOCAtNTMuNSwtMjIuOCAtNjYuMiwtMy41MyAtMTIzLC0xMy42OCAtNTYuOSwtMTAuMTUgLTE2MCwtNjAuOCAtMjE4LC00Ny4yMSAtNTgsMTMuNTkgLTEyMi4yLDYxLjQxIC0xMjkuOSwxMjguNzUgLTcuOCw2Ny4zMyAtMjQuNywxODEuNjMgMTIuOCwyNjcuMTkgMzcuNSw4NS41NiAxNTcuMywxODUuNzcgMjEyLDI0Ni4xNyA1NC43LDYwLjQgNjkuNSw3OS43NyAxMTYuMiwxMTYuMjQgNDYuNywzNi40NyAxMDAuMyw4NC4zNCAxNjQuMSwxMDIuNTcgNjMuOSwxOC4yMyAxNDkuMyw5LjEyIDIxOC44LDYuODQgNjkuNiwtMi4yOCAxNDMuNiwtNTQuNzEgMTk4LjMsLTIwLjUyIDU0LjcsMzQuMTkgMTAyLjYsMTQxLjMyIDEzMCwyMjUuNjUgMjcuMyw4NC4zNCA0MSwyMDAuNTggMzQuMiwyODAuMzYgLTYuOSw3OS43NyAtOS4yLDEzMS4wNiAtNzUuMywxOTguMyAtNjYuMSw2Ny4yNCAtMjM1LjksMTU3LjI3IC0zMjEuMywyMDUuMTMgLTg1LjUsNDcuODcgLTE5My44LDY4LjM4IC0xOTEuNSw4Mi4wNiAyLjMsMTMuNjcgMTQzLjYsMTMuNjcgMjA1LjEsMCA2MS42LC0xMy42OCA5NS44LC02Ny4yNCAxNjQuMSwtODIuMDYgNjguNCwtMTQuODEgMTc2LjcsLTMwLjc3IDI0Ni4yLC02LjgzIDY5LjUsMjMuOTMgMTM5LDk4LjAxIDE3MSwxNTAuNDMgMzEuOSw1Mi40MiAzOS44LDEyMy4wOCAyMC41LDE2NC4xMSAtMTkuNCw0MS4wMyAtMTE1LjEsMjEuNjUgLTEzNi44LDgyLjA1IC0yMS42LDYwLjQgMi4zLDE5MS40NyA2LjgsMjgwLjM2IDQuNiw4OC44OSAxOS40LDE1OC40MSAyMC42LDI1MyAxLjEsOTQuNiA0LjUsMjQyLjcgLTEzLjcsMzE0LjUgLTE4LjIsNzEuOCAtNjYuMSw3Ni40IC05NS43LDExNi4zIC0yOS43LDM5LjkgLTY3LjMsOTUuNyAtODIuMSwxMjMuMSAtMTQuOCwyNy4zIC0xOS40LDE4LjIgLTYuOCw0MSAxMi41LDIyLjggNzAuNiwzOC43IDgyLDk1LjcgMTEuNCw1NyAtMjguNSwxNzcuOCAtMTMuNywyNDYuMiAxNC45LDY4LjQgLTEwLjMsMTQ0LjEgMTAyLjYsMTY0LjFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU5LjU4MzNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNzNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMzEuOTEyMywyOTUuMTg4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzNjc1LDk4MTcuMTkpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE3NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyMS4yNzUsMTgwLjgzNlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSwwLDAsMSwxMzczMS4zLDkyNzcpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE3NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyMS4yNzUsMzA1LjgyNlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzU1Niw5NzUwLjgzKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxNzZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzU5MCw5MTc5IHYgMjEyLjc1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTc3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDY2LjQ4NCwxNTkuNTYxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzMzM4LDk2MDQuNTYpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE3OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA2Ni40ODQsMTU2LjkwMlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzQyMCw5MzkwLjkpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE3OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyMDcuNDMsOTAuNDE4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzMTc0LDk0OTIuNDIpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE4MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNDcuMTUxLDU4LjQyMDJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTM0MDcsOTM4NC40MilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTgxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEyMi4zMywyLjY1OTQyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzMDQzLDk1MjQuNjYpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE4MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEzMzkwLDk1MzUgMTU1LjYsNi40OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE4M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyOTIwLDk1MjIgMTE0LjQsNTguNTFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxODRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzA2MSw5NTk3IDEwOSw3MC40N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE4NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyOTIwLDk2NzEgaCAxMDEuMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE4NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMDcuNTE0LDcuNzQ2NTZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTMwNzIsOTY3Mi43NSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTg3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTI5MDMsOTgzMCAxMzkuMiwxMjYuNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE4OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEzMDY4LDk5ODcgMTAyLjQsMTMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTg5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTMyMDMsOTk0NiA0NS4zLDMwLjVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxOTBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzI4MiwxMDAwMSA1NS44LDUyLjhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxOTFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzE4Niw5NzEzIDEzNS42LDExNi45M1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE5MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEzMzYwLDk4NjcgMTQ4LjksMTE3LjAxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTkzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE1NS41NzIsMTA4LjQ5NVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjQ3MSw5OTIwLjUpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE5NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyMDcuMjYxLDgwLjI5NjhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI1MjcsOTY2MC4zKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxOTVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTUxLjU4MywxNjQuODhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTIzNjQsOTk4Ni44OClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMTk2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDUzLjE4NzIsMjEwLjA4OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjQwOSwxMDA1OS4xKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgxOTdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNDIuMjE2OCwxMDcuNzg2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyMzY3LDk5MDQuNzkpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE5OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA2Ni40ODQsMTI0LjYxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyNDczLDk3OTcuNjEpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDE5OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMzMuNTM3LDIxMi4yODdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI2NjMsMTAwNDguMylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjAwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDM3LjQ4MDUsMTExLjMxM1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjYxMiw5OTQ3LjMxKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMDFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzAzNSwxMDIxNiA5NS43LDEyNVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIwMlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEzMTg5LDkzOTggNzkuNCw4My4zNlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIwM1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEzMzY4LjUsOTU4MC4xMiAxMzI5MCw5NTAzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjA0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTM0NzUsOTMxOCAxMDEuOSw3My43OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIwNVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEzNTk2LDk0MzQgNTUuOCwxMTcuMDFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMDZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTExLjY5Myw1My4xODcyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzODMwLDk0NDQuMTkpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIwN1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNjIuMjIxLDE2Mi4yMjFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTM3MzEsMTAwMTEuMilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjA4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE1OS41NjEsMTQ4LjkyNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzk0MSw5ODE2LjkyKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMDlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjQ0LjY2MSwxNTYuNTIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzNjIwLDk4NDguNTIpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIxMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyMDcuNDMsMTg2LjE1NVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzg5NCw5NjY4LjE2KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMTFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxNDE3NSw5NjY4IDgyLjQsMjA0Ljc3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjEyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTQyODIsOTkyMSAxMDEuMSwyNzEuM1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIxM1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE0NTIyLDk1NTEgMjIuNiwyOTcuODVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMTRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxNDU0OCw5OTIxIDMxLjcsMjcxLjNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMTVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMzkuODkwMiwyMjAuNzI2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0xLDAsMCwxLDE0NzgxLjksMTAxNDEpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIxNlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE0NjQzLDk3MzIgMTE2LjIsMTg5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjE3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTQ3NzYsOTk0NiA2Ny44LDEzMS45XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjE4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTQ2MzYsOTY2OCAxNjQuOSwxNTQuMjRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMTlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxNDgzMiw5ODU5IDE4MC44LDIwNC44XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjIwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTUwMjQsOTc5MSAxMTAuNywxOTYuNzlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMjFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgOTUuNzM2OCwxMzIuOTY4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDE0ODcyLDEwMTg0KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMjJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxNDY0NSw5ODY5IDE4OC44LDQ3Ljg3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjIzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDIxNS40MDgsNjkuOTAzMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSwwLDAsMSwxNDA3OS40LDk0MTIpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIyNFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyMDQuNzcsMTExLjY5M1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMzU3Nyw5NjMzLjY5KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMjVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMzI1Mi4zLDkzNjEuODIgMTMyMzksOTI5OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIyNlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEzMTI1LDkwMTUgMTAxLjQsMTIzLjM5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjI3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTM0MDQsOTIzNCA4Mi40LDE3Ny40MlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIyOFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEzNTI5LjUsOTY5Mi43IDEzNDg3LDk0NDVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMjlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzIwMyw5MDY3IGggNDIuNlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIzMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA0MS4yMiwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0xLDAsMCwxLDEzMjkwLjIsOTA2NylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjMxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEyOC45NzksODkuMTcwN1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjk3NSw5MDA0LjE3KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMzJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTIyLjMzLDk4LjM5NjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTMxMzgsODg4Ny40KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMzNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTE0LjM1MiwxOTIuODAzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyNzY5LDkwNzQuOClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjM0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEzNS42MjcsMTkzLjk5N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjg5OSw4ODQ1KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMzVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNTguMTg3LDI1MS4yNjhcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI3MzUsOTA4OS4yNylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjM2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDM0LjU3MTcsMTc1Ljc3M1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSwwLDAsMSwxMjg0MC42LDg2MTApXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIzN1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMjYuMzIsMjAzLjM1OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjU0NSw5MDg1LjM2KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyMzhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTM2Ljk1NywxOTYuNzkyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyNTg4LDkwNzQuNzkpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDIzOVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMzYuOTU3LDIzOC4yMzZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI3MzQsODg1Ny4yNClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjQwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEzMS42MzgsMjI5Ljk5M1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjY5NCw4ODQyLjk5KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNDFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMjYzMi42LDkwMjYuNjcgMTI1NTMsODgxNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI0MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyNDM1LDg0ODUgOTMuNCwyNzAuNjlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNDNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNTMuMTg3MiwyMzEuMzY0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyNTE2LDkwOTAuMzYpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI0NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA0NS4yMDksMjE5LjQ3OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSwwLDAsMSwxMjYyNi4yLDg1ODcpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI0NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyNjEyLDgzODggMTExLDI1MC42N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI0NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEyODU5LjQsODkyOC4zOSAxMjc1Myw4NzA1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjQ3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTI0NTIsODQzNiAxODQuMiwyMzAuMzRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNDhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMjY3Miw4NzEwIDE3Mi45LDIzNS40OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI0OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEzMDUzLDg3OTAuMDcgMTI5MjAsODU3MlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI1MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyNzY5LDgzMTQgMTMwLjMsMjEwLjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjUxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMTMxMDMuMyw4NTcyLjI0IDEyOTY1LDg0MThcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNTJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMjgwNiw3OTY4IDExNC40LDIxMy41NlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI1M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEzMDkyLjMsODQ2My40MSAxMjk0NCw4MjA4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjU0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTI3NDIsNzg1OSA1My4yLDIxMC4wOVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI1NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEyODAyLDc3OTAgOTEuNywxOTEuOTZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNTZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMjkxMCw4MDEyIDkwLjQsMTY5LjYzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjU3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTI4NDAsNzY0NCA3OS44LDE5Ni43OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI1OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA1MC41Mjc4LDMwOC4yODJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTI1NzYsODEyOS4yOClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjU5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDk3LjczMTUsMjU0LjUzOFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSwwLDAsMSwxMjczNS43LDc0OTQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI2MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA3Ny4xMjEzLDMzMi40MTlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTIzODYsODA0NS40MilcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjYxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDcwLjQ3MjksMzAxLjkxMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSwwLDAsMSwxMjU0MS41LDczNjcpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI2MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA3NC40NjE4LDI1Ni42NTJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTIyNTMsNzkyNC42NSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjYzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDMuNjA4OTJlLTQsMzE0LjAxMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjM0Myw3NjE1LjAxKVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNjRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgODUuNzExNiwzMS44MzAzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzODgwLDEwMDg3LjgpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI2NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA4OS4yMzI4LDQzLjM1MjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTM5OTcsMTAwMzcuNClcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjY2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTQwNDIsOTg5MyA1My41LDYzLjI5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjY3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEwMC43NDcsOC43NzkwN1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjkyMSw5NTE4Ljc4KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNjhcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNzQuNDYxOCwyNTYuNjUyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyMTU0LDc4NDAuNjUpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI2OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyMS4yNzUsMjA4LjI0NlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjIzMiw3NDkzLjI1KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNzBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMjE1Ny45LDc0NDAuMjkgMTIxMjYsNzI2MFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI3MVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA4My4wNDMxLDEyMy43OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMjA1MSw3Njg4Ljc4KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyNzJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTIxLjA5NiwxOC42MTU1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEyMDAwLDc0OTIuNjIpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI3M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDE0MzMwLDExMDYwLjQgViAxMDgxNVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI3NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDE0NDI5LDExMDc3LjQgViAxMDgzMlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI3NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDE0NTI4LDExMDk2LjQgViAxMDg1MVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI3NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDE0NjI3LDExMTA0LjQgViAxMDg1OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI3N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDE0MjMyLDExMDQ4LjQgViAxMDgwM1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI3OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDE1MDIxLDExMDYwLjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI3OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDE0OTIzLDExMDc3LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI4MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDE0ODI0LDExMDk2LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI4MVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDE0NzI1LDExMTA0LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI4MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDE1MTIwLDExMDQ4LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI4M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEzMzM5LDExMDYxLjQgViAxMDgxNlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI4NFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEzNDM4LDExMDc5LjQgViAxMDgzNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI4NVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEzNTM3LDExMDk3LjQgViAxMDg1MlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI4NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEzNjM1LDExMTA2LjQgViAxMDg2MVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI4N1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEzMjQxLDExMDQ5LjQgViAxMDgwNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI4OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDE0MDMwLDExMDYxLjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI4OVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDEzOTMyLDExMDc5LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI5MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDEzODMzLDExMDk3LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI5MVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDEzNzM0LDExMTA2LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI5MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyNDUuMzUxLDMuNjA4OTJlLTRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMCwtMSwtMSwwLDE0MTI5LDExMDQ5LjQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI5M1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE0MTgyLDExMDQ4IGMgMTk1LjEsMC4yIDI5NC44LDU4LjcgNDk0LDU5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1OS41ODMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjk0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gNDk1LDU4Ljk5OTggQyAyOTkuNTM0LDU4LjgyMTIgMTk5LjY1MSwwLjI3NjQgMCwwXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1OS41ODMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDE0Njc1LDExMTA3KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyOTVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzE5MSwxMTA1MCBjIDE5NS4xLDAuMiAyOTQuOCw1Ny43IDQ5NCw1OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjZjU3ZDIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTkuNTgzM1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDI5NlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDQ5NCw1OC4wMDAxIEMgMjk4LjkyOCw1Ny44MjQ2IDE5OS4yNDgsMC4yNzE3MTcgMCwwXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1OS41ODMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEzNjg0LDExMTA4KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgyOTdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMzc2MC4xLDk4ODAuOTQgYyAxODcuMywxNTUuNDYgMTAyLjIsMzQ4LjA2IC01NC4yLDM5MS41NiAtMTU2LjMsNDMuNSAtNjAzLjMsLTIzIC04ODMuNywtMTMwLjUgQyAxMjU0MS43LDEwMDM0LjYgMTE2ODYsOTU5Ni4wOSAxMTY3OSw5MTIyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1OS41ODMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjk4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEzOS40OTMsMTU3LjcxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDExODYzLjUsNzIzNy44MylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMjk5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDI0NS4zNTEsMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC45MzAzMDgsLTAuMzY2NzgxLC0wLjM2Njc4MSwwLjkzMDMwOCwxMTk4MC44LDY5NDEuMjgpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMwMFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxMjAuOTk3LDE3My4wODVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMTAyNjUyLC0wLjk5NDcxNywtMC45OTQ3MTcsMC4xMDI2NTIsMTE5MTMuOCw3MTM1LjI3KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMDFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTE3LjkyLDE3OS4zNDRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMTAyNjUyLC0wLjk5NDcxNywtMC45OTQ3MTcsMC4xMDI2NTIsMTE5NDguOCw3MDQwLjUpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMwMlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAyMTQuMTg1LDE4Ljg1MDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMTAyNjUyLC0wLjk5NDcxNywtMC45OTQ3MTcsMC4xMDI2NTIsMTEyNDguNiw3ODUwLjI5KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMDNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMjA4LjMwMiw1Ni40ODQ3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDExMzcyLjEsNzgyMi4yNylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzA0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE2Ni4yMTgsMTQ2Ljg4N1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC4xMDI2NTIsLTAuOTk0NzE3LC0wLjk5NDcxNywwLjEwMjY1MiwxMTc0OS4yLDc0MTIuNTIpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMwNVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNzEuODMsODcuMzc0OVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC4xMDI2NTIsLTAuOTk0NzE3LC0wLjk5NDcxNywwLjEwMjY1MiwxMTQ3My45LDc3NDAuMDQpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMwNlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNTYuNDE3LDExMC4yOThcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMTAyNjUyLC0wLjk5NDcxNywtMC45OTQ3MTcsMC4xMDI2NTIsMTE1NDkuOCw3NjU5Ljk0KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMDdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTY1LjI4NCwxMzEuMzU2XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDExNjE2LjUsNzU4Ny40NSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzA4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE1NS4zLDE0My4xOThcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMTAyNjUyLC0wLjk5NDcxNywtMC45OTQ3MTcsMC4xMDI2NTIsMTE2NzYuMyw3NDkwLjg2KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMDlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTUzLjA4MiwxMzkuOTM5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDExODEzLjIsNzMzNC41MSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzEwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTEyMDkuMyw3ODkzLjI0IGMgMjEzLjcsLTE4LjkzIDg3MCwtNzAzLjM2IDc1NC44LC0xMTAyLjNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2Y1N2QyMlwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU5LjU4MzNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMTFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTY3Ni42LDkwOTcuMjUgLTE3Ni4xLDIyLjU3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzEyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTE2NzEuOSw4OTc5LjU1IC0xODEuOCw0MS4wMlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMxM1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExNjU0LjYsODg2Ni4yOSAtMTcyLjgsNDUuODlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMTRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTU4NS4yLDg3MzIuNTEgLTE0MiwxMTEuMTZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMTVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTM4Mi42LDg3MTguNiAtMjAuMywxMzMuNDFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMTZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTU4LjM5NywxLjk5NTAxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuMTAyNjUyLDAuOTk0NzE3LDAuOTk0NzE3LC0wLjEwMjY1MiwxMTI1Ny42LDg3MzcuMTcpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMxN1wiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExMTMyLjUsODc1Ni4wMiA4LjUsMTQ0LjI4XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzE4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTEwMjIuNyw4NzY2LjYzIDMuMiwxNDEuMzNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMTlcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMDkzMS45LDg3NjUuMTIgLTIxLjMsMTMzLjQyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzIwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTA4MzIuNiw4NzMxLjMyIC00Mi41LDE0MS4yXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzIxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTA3NDEuOSw4NzAxLjM1IC01MywxMzEuNjNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMjJcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMDY0Ni4yLDg2NjQuNzUgLTcxLjEsMTE2LjlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMjNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMDU3My4yLDg2MjkuMDcgLTgxLDg3LjMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzI0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTA1MjYuOCw4NTY0LjE0IC0xMDguNyw3MS4wN1wiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMyNVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEwNDg2LjksODQ4OS4zNSAtMTEzLjcsNDIuMDZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMjZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMDQ2Ny4zLDg0MTAuMzUgLTEyMi45LDE5LjlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMjdcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTMuMTI0MiwxMjMuOTMxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDEwNDU4LjEsODMyNC43NylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzI4XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDI4Ljk5MDgsMTEzLjA1NFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC4xMDI2NTIsLTAuOTk0NzE3LC0wLjk5NDcxNywwLjEwMjY1MiwxMDQ1NS4yLDgyMzYuMzcpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMyOVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCA1Ni4yOTQyLDExMS40NzdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMTAyNjUyLC0wLjk5NDcxNywtMC45OTQ3MTcsMC4xMDI2NTIsMTA0ODAuNiw4MTU0Ljc4KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMzBcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNzYuNjY1OCw3NS4yNDY0XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDEwNTE0LjMsODA3Ni4yNylcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzMxXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDEwMS42NDQsNTQuMjU1OFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC4xMDI2NTIsLTAuOTk0NzE3LC0wLjk5NDcxNywwLjEwMjY1MiwxMDU4MS40LDgwMTMuNzgpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMzMlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAxNDAuNjI1LDQzLjU5MTFcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTAuMTAyNjUyLC0wLjk5NDcxNywtMC45OTQ3MTcsMC4xMDI2NTIsMTA2NTcuMSw3OTY5LjM4KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMzNcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgMTU3Ljc5NiwyMy40MjQxXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0wLjEwMjY1MiwtMC45OTQ3MTcsLTAuOTk0NzE3LDAuMTAyNjUyLDEwNzQwLjcsNzkzOS4zOSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzM0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDE2MS4xNzMsMTUuNzU2NlwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMC4xMDI2NTIsLTAuOTk0NzE3LC0wLjk5NDcxNywwLjEwMjY1MiwxMDgzMy4xLDc5MDguMTYpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMzNVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDEwOTI1LjQsNzg5OC42MyAtMTAuNiwtMTg4LjZcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiI2M5NWIwOVwiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjUwLjQxNjdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzMzZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMTAyNy43LDc4ODcuODIgLTEwLjYsLTE4OC42XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNjOTViMDlcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1MC40MTY3XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzM3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTExMjQuNCw3ODg4IC05LjUsLTIzNC4xMVwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjYzk1YjA5XCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTAuNDE2N1wiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMzOFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDEyODUuNTMsMTEyNi40NCBDIDExNTcuNTksMTE0OC4yOSA5MjUuNTg5LDExNzIuNiA4NDkuMzQxLDEwNDkuODIgNzczLjA5NCw5MjcuMDQzIDg3OS43NCw1NzUuNTk3IDgyOC4wNDcsMzg5Ljc1NCA3NzkuNDY1LDIxNS4wOTcgNjIxLjQ0MywtMjMuNjAzMSAzNTguMDM0LDEuODgyNzggMjM5Ljk5NiwxMy4zMDM2IC0zOC41MDUxLC01Ljg1MTUxIDQuNDYzMTYsNzY0LjAyXCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiNmNTdkMjJcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1OS41ODMzXCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDAuMTAyNjUyLDAuOTk0NzE3LDAuOTk0NzE3LC0wLjEwMjY1MiwxMDQyMS40LDc5NjUuNjgpXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDMzOVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExODQ2LjUsODkxNS45NSBjIC0yMS4xLC03Ljk2IC0yMS43LC0zNy44OCAtNDYuNCwtNDAuOCAtMTYuMSwtMTguMTkgLTI2LjIsLTYzLjQgLTUwLjMsLTY4LjM0IC0yNC4xLC00Ljk0IC02OCwxOS41OSAtOTQuMiwzOC43IC0yNi4yLDE5LjExIC01OC4yLDQ4LjcgLTYyLjksNzUuOTQgLTQuOCwyNy4yNCA2NC40LDQ0LjI2IDM0LjUsODcuNDggLTMwLDQzLjIyIDIuOCw1Ny43NiA1OC41LDU4LjY4IDU1LjcsMC45MiA1Mi41LDc4LjcgNTUuNSwxMDIuNTQgMywyMy44NSAtMTMuNSw0Mi44IDE4LDg1LjU0IDMxLjYsNDIuNzMgLTIyLjUsNjUuNzggLTUyLjQsNzYuODkgLTMwLDExLjExIC02NC45LC0yNSAtMTI3LjQsLTEwLjI1IC0zMi40LC0xMy43MSAtMzguOCwtNTguOTggLTY2LjQsLTUzLjkzIC0yNy41LDUuMDYgLTkxLjgsMzkuOTUgLTk4LjcsODQuMjMgLTYuOSw0NC4yOCAtODcuOCw1OS4yNyAtMTA4LjgsOTguMzggLTIxLjEsMzkuMTEgLTE5LDk3LjM5IC0xNy42LDEzNi4yNiAxLjUsMzguODcgLTguMSw3MC45OSAyNi40LDk2Ljk3IDIxLjksMTYuNTUgMTQuOSwzNC41MSAzMi41LDU2LjE1IDE3LjUsMjEuNjUgLTQuNiw3OS4zMiA3Mi45LDczLjcgNzcuNSwtNS42MSA3OC41LDk2LjQxIDEwNy40LDExMi4zNiAyOSwxNS45NiAzNC4zLC0xNi43MiA1MywtMjEuNjMgMTguNywtNC45MiAyOS4yLDI1Ljg5IDUyLjgsMjUuMjUgMjMuNiwtMC42NCA0Ni45LC02OS4wOSA3My41LC04MS40OCAyNi42LC0xMi4zOSA2NC44LDUuMzEgODUuOSw3LjEyIDIxLjIsMS44MiAyNi4xLDUuMDMgNDAuOSwzLjc2IDE0LjksLTEuMjcgMzEuNSwtMTcuMzMgNDUuOCwtMjEuOTggMTQuMywtNC42NCAzMC41LDEyLjc4IDQ1LjcsNS45NyAxNS4yLC02LjggMjUuMSwtMzEuNzIgNDUuNSwtNDYuOCAyMC41LC0xNS4wOCAyNi42LC00My43NyA0MC4yLC01NC4yOCAxMy43LC0xMC41MiAtNzguMSwtMzAuNTEgMS4yLC02OC41MyAxNC4zLC0yLjM1IDM4LjMsMTguNTEgNzAuOCwxNi45NSAzMi41LC0xLjU3IDEwNi4yLC00LjggMTI0LjIsLTI2LjMzIDE3LjksLTIxLjU0IDYyLjgsLTYwLjA1IC0xNi43LC0xMDIuODkgLTE3LjYsLTkuNDUgLTQ3LjEsLTIyLjYxIC0xNS4zLC0yNS45NCAzMS44LC0zLjMzIDQzLjcsMjAuMDEgNTcuNywzLjIzIDE0LC0xNi43OCAxMy4yLC03Ny4zMSAyNi4zLC0xMDMuOTEgMTMuMSwtMjYuNiAyNS40LC0zMS41OSA1Mi40LC01NS42OSAyNi45LC0yNC4xMSA4NC4xLC01Mi45MyAxMDkuNCwtODguOTMgMjUuMywtMzUuOTkgMS43LC04MC4yNSAtMTkuNiwtOTUuMTkgLTEwMS41LC03MS4xMiAtMzEuNSwtNjQuOTggLTUxLjMsLTk3LjU4IC0xOS44LC0zMi42IDM4LjYsLTQyLjk1IC02Ny42LC05OC4wMyAtMTA2LjIsLTU1LjA4IC0xMTAuNSwzMy4xNyAtMTM3LjMsMjAuMjYgLTI2LjgsLTEyLjkyIDEzLjksLTc1Ljg5IC0yMy40LC05Ny43NCAtNDcuNywtMjcuOTkgLTk3LjYsNzQuNTcgLTExNS4yLDMzLjU0IC0xMi44LC0yOS43NCAtNDguMSwtNy43NiAtNzksLTMyLjcgLTMwLjksLTI0Ljk1IC01OS4zLDEuMDEgLTgwLjUsLTYuOTUgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2UzYmEwYlwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzQwXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTE4MzAuNCw5MjA2LjQ1IGMgOC4xLDE1LjYgOC40LDU2LjM4IDE5LjYsNTUuODUgMTEuMSwtMC41MiA0My45LC00MC4yNiA0Ny4zLC01OSAzLjMsLTE4Ljc0IC0xNC44LC0zNy4xIC0yNy4zLC01My40NCAtMTIuNCwtMTYuMzQgLTI5LjksLTI5LjMgLTQ3LjcsLTQ0LjYxIC0xNy44LC0xNS4zMiAtNDguOSwtNDguNzYgLTU5LC00Ny4yOCAtMTAuMSwxLjQ4IC03LjcsMzcuNzMgLTEuNCw1Ni4xOCA2LjMsMTguNDYgMjgsMzkuMTYgMzkuNCw1NC41NSAxMS41LDE1LjM4IDIwLjksMjIuODMgMjkuMSwzNy43NSB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZGJiMzBiXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNDFcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxMjA3OC43LDk1NzIuODMgYyAtMTIuNiwtNy4yNCAtMzIuNSwtMjQuOTQgLTU3LjEsLTI3Ljc5IC0yNC42LC0yLjg1IC02NSw0LjQ1IC05MC42LDEwLjY5IC0yNS41LDYuMjQgLTY1LjIsMTMuNiAtNjIuOCwyNi43NyAyLjQsMTMuMTcgNTUuMyw0MC4xNiA3Ny41LDUyLjI0IDIyLjEsMTIuMDggMzYuNywyMy4yNyA1NS4zLDIwLjIzIDE4LjUsLTMuMDUgNDAsLTI3LjQgNTYuMSwtMzguNDggMTYsLTExLjA4IDM2LjMsLTIwLjc1IDM5LjksLTI4LjAyIDMuNiwtNy4yOCAtNS43LC04LjQgLTE4LjMsLTE1LjY0IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNkYmIzMGJcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM0MlwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDExNjgyLjgsOTYxMC4xNyBjIDEzLjQsLTIzLjggLTMsLTYxLjEyIC0xNS44LC04MC4wNCAtMTIuOCwtMTguOTIgLTQxLjEsLTI1Ljc5IC02MS4xLC0zMy40OSAtMTkuOSwtNy43MSAtNDIuNCwtNS4zIC01OC44LC0xMi43NCAtMTYuNCwtNy40NSAtMjEuNSwtMjguNCAtMzkuNSwtMzEuOTQgLTE3LjksLTMuNTQgLTUyLDEuMTcgLTY3LjksMTAuNjggLTE2LDkuNTIgLTI4LjksMzAuNzQgLTI3LjcsNDYuNDEgMS4zLDE1LjY2IDIxLjMsMzkuMzMgMzUuMiw0Ny41NyAxMy45LDguMjYgMzMuOSwtMi44OCA0OC4zLDEuOTIgMTQuNCw0LjgxIDI1LjcsMjEuNjQgMzguMywyNi45IDEyLjUsNS4yNyAyOC40LC05Ljg5IDM3LjEsNC43IDguOCwxNC41OCAtMy41LDg2LjE1IDE1LjQsODIuOCAxOSwtMy4zNSA4MywtMzguOTcgOTYuNSwtNjIuNzcgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2RiYjMwYlwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzQzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTEzNDAuOSw5NjEzLjU3IGMgMTIuNCwtNS41OSAzMC44LC0yMi41NSA1Mi4zLC0xNC45OCAyMS41LDcuNTYgNjMuNSw0NC42NyA3Ni44LDYwLjM5IDEzLjIsMTUuNzIgMTEuMSwzMi4zOSAyLjYsMzMuOTUgLTguNSwxLjU2IC0zMy4xLC0yMS4yMyAtNTMuNiwtMjQuNiAtMjAuNiwtMy4zNyAtNTIuOCwxMC40MiAtNjkuNSw0LjM4IC0xNi43LC02LjA0IC0yOS4yLC0zMC44IC0zMC44LC00MC42MSAtMS43LC05LjgxIDkuOCwtMTIuOTUgMjIuMiwtMTguNTMgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2RiYjMwYlwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzQ0XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTYzMTYuNCw3MzM4LjQ1IGMgOS4yLDQ3LjkgLTE1NSwtNDUuMDMgLTIwMi43LC00NS4wMyAtNDcuNiwwIC01MSwxOS44NyAtODMuNCw0NS4wMyAtMzIuNSwyNS4xNyAtNzEuNSw4Ni41NCAtMTExLjMsMTA1Ljk3IC0zOS43LDE5LjQzIC05Ny41LC0yMC45NyAtMTI3LjEsMTAuNiAtMjkuNiwzMS41NyAtMTIsMTMwLjQ3IC01MC40LDE3OC44MiAtMzguNCw0OC4zNSAtMTM2LjIsNjAuOTMgLTE4MC4xLDExMS4yNyAtNDMuOSw1MC4zNCAtNTIuNSwxMjcuNiAtODMuNSwxOTAuNzQgLTMwLjksNjMuMTUgLTc5LjIsMTM4LjQzIC0xMDEuOSwxODguMSAtMjIuOCw0OS42NyAtMzMuNiw2OC42NiAtMzQuNSwxMDkuOTQgLTAuOSw0MS4yOSAtNC4yLDk5LjM1IDI5LjIsMTM3Ljc2IDMzLjMsMzguNDIgMTIyLjcsNTMuODcgMTcwLjgsOTIuNzMgNDguMiwzOC44NSA3Ny4xLDEwOS4wNiAxMTcuOSwxNDAuNDEgNDAuOSwzMS4zNCA3Ny41LDI0LjcyIDEyNy4yLDQ3LjY4IDQ5LjYsMjIuOTYgMTIwLDc0Ljg5IDE3MC44LDkwLjA4IDUwLjksMTUuMTggNjcuMSwtODkuMjYgMTM0LjQsMS4wNCA2Ny4zLDkwLjI5IDE1Ni41LDQzLjA2IDE5OC4xLDg3LjcgNDEuNiw0NC42NSAyMC4zLDEzMi45MSA1MS43LDE4MC4xNSAzMS4zLDQ3LjI1IDEwMC44LDU4LjA3IDEzNi40LDEwMy4zMiAzNS41LDQ1LjI2IDMwLjIsMTY5LjU1IDc2LjgsMTY4LjIzIDYyLjUsLTEuNzcgMTQzLjMsLTE1OC43MyAyMDIuNywtMTc4LjgyIDU5LjQsLTIwLjA5IDExNC41LDYyLjI1IDE1My42LDU4LjI4IDM5LjEsLTMuOTcgMzkuMywtNTMuNDMgODAuOCwtODIuMTMgNDEuNSwtMjguNyAxMjQuMywtNDMuMDUgMTY4LjIsLTkwLjA3IDQ0LC00Ny4wMiA2My42LC0xMzEuOCA5NS40LC0xOTIuMDcgMzEuOCwtNjAuMjcgNS41LC0xMTUuNDYgOTUuNCwtMTY5LjU1IDg5LjgsLTU0LjA5IDEwMy4zLDcxLjc1IDE1Ny42LDExLjkyIDU0LjMsLTU5LjgzIDEzNS41LC0yNzIuNjUgMTY4LjIsLTM3MC44OSAzMi43LC05OC4yNCAtNS43LC0xNjQuOTIgMjcuOCwtMjE4LjU2IDMzLjYsLTUzLjY1IDEzOC45LC00MC40IDE3My41LC0xMDMuMzIgMzQuNywtNjIuOTIgMTIuMiwtMTUwLjc5IDM0LjUsLTI3NC4yIDIyLjMsLTEyMy40MSA2NC45LC0zNTguMDkgOTkuMywtNDY2LjI2IDM0LjUsLTEwOC4xOCA5Ni4xLC0xMDAuMDEgMTA3LjMsLTE4Mi44IDExLjMsLTgyLjc5IC0zMS4xLC0yMzAuNzEgLTM5LjcsLTMxMy45NCAtOC42LC04My4yMyA1Mi43LC0xNDYuMzcgLTExLjksLTE4NS40NCAtNjQuNywtMzkuMDggLTMyMi40LC03NS43MyAtMzc2LjIsLTQ5LjAxIC01My45LDI2LjcxIC01NSwxMjUuMTcgNTMsMjA5LjI5IDEwNy45LDg0LjExIC0xNzYuMiwxMzUuMTEgLTEyMC42LDI0Ny43IDU1LjcsMTEyLjU5IC0zNDcuNCwtMTQ3LjkyIC01MjMuMiwtNDkuMDEgLTE3NS43LDk4LjkgLTEyNC45LC03Mi40NCAtMjIxLjIsLTQ5LjAxIC0yODEuMiw2OC40NCAtMjc2LjQsLTI3LjgyIC0zNjkuNSwtMTcuMjIgLTkzLjIsMTAuNiAtMTE1LjUsNDkuNjcgLTE4OS40LDgwLjggLTc0LDMxLjEzIC0yMDIsLTE1LjYyIC0yNTQuMywxMDUuOTcgLTQ4LDExMS41IDIyNi40LDIxMC4xNyAyNTAuMywzMzMuOCB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZmFlOTllXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNDVcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAxNjI2Mi40LDgyMTAuNDEgYyAxOS43LC00My44NiAtNzcsLTEwMC43NiAtMTIzLjQsLTExNS4zNCAtNDYuNCwtMTQuNTggLTExNC44LDQuNjQgLTE1NS4yLDI3Ljg0IC00MC41LDIzLjIgLTc0LjMsODAuODcgLTg3LjYsMTExLjM2IC0xMy4zLDMwLjQ5IC0yLjcsNjIuOTcgOCw3MS41OCAxMC42LDguNjIgMjEuMiw0LjY0IDU1LjcsLTE5Ljg4IDM0LjUsLTI0LjUzIDEwMC44LC0xMTQuNjcgMTUxLjIsLTEyNy4yNyA1MC41LC0xMi41OSAxMzYsODUuODQgMTUxLjMsNTEuNzEgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2Y0Y2MxZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzQ2XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTcwNTcuMiw4NDA4Ljk5IGMgLTIxLjIsMC42NiAtMTAyLjYsLTIwLjUyIC0xMjMuMiwtNjMuNTQgLTIwLjUsLTQzLjAyIC0xMy45LC0xMTMuMTcgMCwtMTk0LjU3IDEzLjksLTgxLjQxIDU3LjcsLTI0OC44NSA4My41LC0yOTMuODUgMjUuOCwtNDUuMDEgNTkuNiwtMy45NyA3MS41LDIzLjgyIDExLjksMjcuOCAzLjMsMTAxLjI2IDAsMTQyLjk2IC0zLjMsNDEuNjkgLTMyLjQsODAuMDggLTE5LjgsMTA3LjIxIDEyLjUsMjcuMTMgNjQuOSw0NSA5NS4zLDU1LjU5IDMwLjUsMTAuNTkgNDMuNywxMC45MiA4Ny41LDcuOTQgNDMuNywtMi45NyAxNjMuOSwtNzguNDkgMTc0LjgsLTI1LjgxIDE5LjIsOTIuNDMgLTIwMC43LDgxLjA4IC0yNTguMyw5Ny4yOSAtNTcuNiwxNi4yMiAtNjkuNSwtMTIuNTcgLTg3LjQsMCAtMTcuOSwxMi41OCAtMTUuMyw1Mi4yOSAtMTkuOSw3NS40NSAtNC42LDIzLjE2IDE3LjIsNjYuODQgLTQsNjcuNTEgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2Y0Y2MxZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzQ3XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTY5NzcuNCw3MTkzLjEgYyAtNi42LC01MS42MyA2NS42LC0xOTAuNDUgMTYsLTIxNi40MiAtMzAuMiwtMTUuNzYgLTk0LjksODMuMDYgLTEyNy40LDE0MC45NyAtMzIuNiw1Ny45MSAtNzEuNywxNTguMTcgLTY3LjcsMjA2LjQ5IDQsNDguMzEgNTkuNyw1Ni4yNSA5MS41LDgzLjM5IDMxLjksMjcuMTMgNjIuNCw4MS40IDk5LjYsNzkuNDIgMzcuMSwtMS45OSAxMTguOCwtNjEuNTUgMTIzLjQsLTkxLjMzIDQuNiwtMjkuNzkgLTczLC01My42MSAtOTUuNiwtODcuMzcgLTIyLjUsLTMzLjc1IC0zMy4xLC02My41MyAtMzkuOCwtMTE1LjE1IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNmNGNjMWVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM0OFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE3NDM4LjMsNzgzMi42NyBjIC0yMi42LDcuOTQgLTExMS40LDEuMzIgLTEzOS4zLC0xNS44OCAtMjcuOCwtMTcuMiAtMzYuNCwtNjQuODQgLTI3LjgsLTg3LjMzIDguNiwtMjIuNSA1MSwtMjcuNzkgNzkuNiwtNDcuNjQgMjguNSwtMTkuODQgNTkuNiwtNTIuOTIgOTEuNCwtNzEuNDUgMzEuOSwtMTguNTIgNjMuNywtMzEuMDkgOTkuNSwtMzkuNjkgMzUuOCwtOC42IDg1LjUsLTMuMzEgMTE1LjMsLTExLjkxIDI5LjksLTguNiA0OS4xLC0xNy41NCA2My43LC0zOS43IDE0LjUsLTIyLjE2IC0zMS45LC0xMDguNSAyMy44LC05My4yOCA1NS43LDE1LjIxIDkuMywxMjEuNCAxMiwxNjAuNzYgMi42LDM5LjM3IC0yLDUzLjU5IDMuOSw3NS40MyA2LDIxLjgzIDM3LjgsMzguMzcgMzEuOSw1NS41NyAtNiwxNy4yIC0yOS4yLDUxLjYgLTY3LjcsNDcuNjMgLTM4LjQsLTMuOTcgLTEyMC45LC01My45MiAtMTYzLC03MS40NSAtNDIuMSwtMTcuNTMgLTY4LjMsLTQ2LjMxIC04OS41LC0zMy43NCAtMjEuMiwxMi41NyAtMzIuMiw4MC4zOCAtMzcuOCwxMDkuMTYgLTUuNywyOC43OCAyNi41LDU1LjU4IDQsNjMuNTIgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2Y0Y2MxZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzQ5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMTcyNDgsNzAyMi41OCBjIDAsLTIwLjUgLTM1LjcsLTI5Ljc1IC01NS42LC0yMy44IC0xOS45LDUuOTUgLTQzLDI4LjQzIC02My42LDU5LjUxIC0yMC41LDMxLjA4IC02My41LDk3Ljg2IC01OS41LDEyNi45NiAzLjksMjkuMDkgNTguMiw0NS42MiA4My40LDQ3LjYxIDI1LjEsMS45OCA2MC45LC0xNy4xOSA2Ny41LC0zNS43MSA2LjYsLTE4LjUxIC0zMi40LC00Ni4yOSAtMjcuOCwtNzUuMzggNC42LC0yOS4xIDU1LjYsLTc4LjY5IDU1LjYsLTk5LjE5IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNmNGNjMWVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM1MFwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDE2NDc3LjEsODkzNy4xOCBjIDEzLjIsLTM5LjY2IDgyLjYsLTE0MC44MiA5MS4yLC0xOTAuNCA4LjYsLTQ5LjU5IC00MS43LC03OC4wMSAtMzkuNywtMTA3LjEgMiwtMjkuMDkgMjMuOCwtNjMuNDcgNTEuNiwtNjcuNDQgMjcuNywtMy45NyA4NS44LDQyLjMxIDExNC45LDQzLjY0IDI5LjEsMS4zMiA0NC45LC01Mi4yMyA1OS41LC0zNS43MSAxNC41LDE2LjUzIDQ4LjgsMTAxLjgyIDI3LjcsMTM0Ljg3IC0yMS4xLDMzLjA2IC0xMjIuOSwyMS4xNiAtMTU0LjYsNjMuNDcgLTMxLjcsNDIuMzIgLTEyLjUsMTU2LjAzIC0zNS43LDE5MC40MSAtMjMuMSwzNC4zOCAtODMuOSwyMS44MSAtMTAzLDE1Ljg2IC0xOS4yLC01Ljk1IC0yNS4xLC03LjkzIC0xMS45LC00Ny42IHpcIlxuICAgICAgICAgICAgICAgZmlsbD1cIiNmNGNjMWVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM1MVwiIC8+XG4gICAgICAgICAgICAgICB7LyogTUxIMWRuICovfVxuICAgICAgICAgICAgICAgPGE+XG4gICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIidBY3VtaW4gUHJvJywgJ0FjdW1pbiBQcm9fTVNGb250U2VydmljZScsIHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgZm9udFdlaWdodD1cIjQwMFwiXG4gICAgICAgICAgICAgICBmb250U2l6ZT1cIjQ0MHB4XCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNTkzMy43LDk5NzEpXCJcbiAgICAgICAgICAgICAgIGlkPVwidGV4dDM1MVwiPk1MSDFkbjwvdGV4dD5cbiAgICAgICAgICAgICAgIDwvYT5cblxuICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDAsMCAzLjYwODkyZS00LDY4Ny45OTdcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDE2NzQwLjUsOTUzMi41KVwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNTJcIiAvPlxuICAgICAgICAgICAgICAgey8qIExhKDEtMTk0KSAqL31cbiAgICAgICAgICAgICAgIDxhPlxuICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCInQWN1bWluIFBybycsICdBY3VtaW4gUHJvX01TRm9udFNlcnZpY2UnLCBzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9XCI0MDBcIlxuICAgICAgICAgICAgICAgZm9udFNpemU9XCI0NDBweFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNzkxOC4zNiw5NTAyKVwiXG4gICAgICAgICAgICAgICBpZD1cInRleHQzNTJcIj5MYSgxPC90ZXh0Pjx0ZXh0XG4gICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBmb250RmFtaWx5PVwiJ0FjdW1pbiBQcm8nLCAnQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlJywgc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICBmb250V2VpZ2h0PVwiNDAwXCJcbiAgICAgICAgICAgICAgIGZvbnRTaXplPVwiNDQwcHhcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDg3MTAuMjMsOTUwMilcIlxuICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MzUzXCI+LTwvdGV4dD48dGV4dFxuICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIidBY3VtaW4gUHJvJywgJ0FjdW1pbiBQcm9fTVNGb250U2VydmljZScsIHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgZm9udFdlaWdodD1cIjQwMFwiXG4gICAgICAgICAgICAgICBmb250U2l6ZT1cIjQ0MHB4XCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg4ODczLjMsOTUwMilcIlxuICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MzU0XCI+MTk0KTwvdGV4dD5cbiAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAxMDU0Myw3NDQ3LjUgSCA5Njg1LjVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzU0XCIgLz5cbiAgICAgICAgICAgICAgIHsvKiBQRTZjIHJldmVyc2UgdHJhbnNjcmlwdGFzZSAqL31cbiAgICAgICAgICAgICAgIDxhPlxuICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCInQWN1bWluIFBybycsICdBY3VtaW4gUHJvX01TRm9udFNlcnZpY2UnLCBzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9XCI0MDBcIlxuICAgICAgICAgICAgICAgZm9udFNpemU9XCI0NDBweFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNzExNy4wNyw3MzM2KVwiXG4gICAgICAgICAgICAgICBpZD1cInRleHQzNTVcIj5QRTZjIHJldmVyc2UgPC90ZXh0Pjx0ZXh0XG4gICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBmb250RmFtaWx5PVwiJ0FjdW1pbiBQcm8nLCAnQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlJywgc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICBmb250V2VpZ2h0PVwiNDAwXCJcbiAgICAgICAgICAgICAgIGZvbnRTaXplPVwiNDQwcHhcIlxuICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDcxMzkuNDMsNzg2NClcIlxuICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MzU2XCI+dHJhbnNjcmlwdGFzZTwvdGV4dD5cbiAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgODA2LjI2NywzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1NVwiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSwwLDAsMSwxMDQ5MC44LDg1MDkuNSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzU2XCIgLz5cbiAgICAgICAgICAgICAgIHsvKiBQQ1MvUlRUICovfVxuICAgICAgICAgICAgICAgPGE+XG4gICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIidBY3VtaW4gUHJvJywgJ0FjdW1pbiBQcm9fTVNGb250U2VydmljZScsIHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgZm9udFdlaWdodD1cIjQwMFwiXG4gICAgICAgICAgICAgICBmb250U2l6ZT1cIjQ0MHB4XCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg3ODAyLjU5LDg2NjcpXCJcbiAgICAgICAgICAgICAgIGlkPVwidGV4dDM1N1wiPlBDUy9SVFQ8L3RleHQ+XG4gICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDQzMjQuMDIsMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsMTQzMzAuNSwxMDE1Ni41KVwiXG4gICAgICAgICAgICAgICBpZD1cInBlZ1JOQXNjYWZmb2xkXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDIwNDYuNzksMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsMTE5MzMuMyw5MzQzLjUpXCJcbiAgICAgICAgICAgICAgIGlkPVwiTGFsaW5lXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMTM1ODQsMTE4MjAuNSBIIDExNzkwLjVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzMyMjMyY1wiXG4gICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjU1XCJcbiAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiOFwiXG4gICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzU5XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIk0gMCwwIDM5MzQuODQsMy42MDg5MmUtNFwiXG4gICAgICAgICAgICAgICBzdHJva2U9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiNTVcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCI4XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEsMCwwLDEsMTM3MDguMywxMTAxMS41KVwiXG4gICAgICAgICAgICAgICBpZD1cInNwYWNlcmxpbmVcIiAvPlxuICAgICAgICAgICAgICAgey8qIFNwYWNlciAqL31cbiAgICAgICAgICAgICAgIDxhPlxuICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJjXCJcbiAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCInQWN1bWluIFBybycsICdBY3VtaW4gUHJvX01TRm9udFNlcnZpY2UnLCBzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9XCI0MDBcIlxuICAgICAgICAgICAgICAgZm9udFNpemU9XCI0NDBweFwiXG4gICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoODI4My44MSwxMTE2NilcIlxuICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MzYwXCI+U3BhY2VyPC90ZXh0PlxuICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgey8qIG5QbG1DYXNYICovfVxuICAgICAgICAgICAgICAgPGE+XG4gICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIidBY3VtaW4gUHJvJywgJ0FjdW1pbiBQcm9fTVNGb250U2VydmljZScsIHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgZm9udFdlaWdodD1cIjQwMFwiXG4gICAgICAgICAgICAgICBmb250U2l6ZT1cIjQ0MHB4XCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg5NjczLjUsMTE5NzApXCJcbiAgICAgICAgICAgICAgIGlkPVwidGV4dDM2MVwiPm5QbG1DYXNYPC90ZXh0PlxuICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJNIDc3MjMuNDQsODUxNC41IEggMjgwOC41XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1NVwiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIGlkPVwicGF0aDM2MVwiIC8+PHBhdGhcbiAgICAgICAgICAgICAgIGQ9XCJtIDMyMTguNzIsOTAwMi42NiBjIC00Ljc2LC0yMi4xIDIwLjEzLC0zOC43MyA5LjE5LC02MS4xMiA2LjU4LC0yMy40IDM5LjE1LC01Ni4zNCAzMC4yNywtNzkuMjYgLTguODcsLTIyLjkzIC01My4yNywtNDYuNiAtODMuNTEsLTU4LjMgLTMwLjI0LC0xMS42OSAtNzIuNDUsLTIyLjYgLTk3LjkyLC0xMS44NiAtMjUuNDcsMTAuNzUgLTIuMzYsNzguMTYgLTU0LjkxLDc2LjM0IC01Mi41NiwtMS44MiAtNDcuMDIsMzMuNjcgLTE3LjY3LDgxIDI5LjM1LDQ3LjMzIC0zNy43OSw4Ni43MSAtNTYuMjEsMTAyLjE1IC0xOC40MiwxNS40NCAtNDMuMzIsMTEuNzggLTYyLjE5LDYxLjQ0IC0xOC44Niw0OS42NyAtNjcuNSwxNi42NyAtOTMuMDUsLTIuNTMgLTI1LjU1LC0xOS4xOSAtMTQuMDgsLTY4LjA5IC02MC4yNywtMTEyLjY0IC02LjA1LC0zNC43NCAyOC41NywtNjQuNTkgOS40MywtODUuMDEgLTE5LjE0LC0yMC40MiAtODMuMjksLTU1LjY2IC0xMjQuMjYsLTM3LjQ5IC00MC45NywxOC4xNiAtOTcuMzMsLTQxLjc1IC0xNDEuNjEsLTM4LjMgLTQ0LjI4LDMuNDUgLTkyLjE5LDM2LjcgLTEyNC4wOSw1OC45NiAtMzEuOSwyMi4yNyAtNjQuMSwzMS41NiAtNjcuMzEsNzQuNjEgLTIuMDQsMjcuNDEgLTIwLjk1LDMxLjIyIC0yOS42NCw1Ny43MSAtOC43LDI2LjQ5IC02OS4xNiwzOS4xMSAtMjIuNTMsMTAxLjIyIDQ2LjYzLDYyLjExIC0zOC42MywxMTguMTUgLTM2LjM3LDE1MS4xNCAyLjI1LDMyLjk5IDMyLjYsMTkuNzcgNDYuODUsMzIuODQgMTQuMjUsMTMuMDcgLTUuOTksMzguNTUgNy4zMyw1OC4wNyAxMy4zMSwxOS41MiA4My40OSwyLjEgMTA4LjI5LDE3Ljc0IDI0LjgsMTUuNjUgMzAuNTksNTcuMzcgNDAuNSw3Ni4xMyA5LjkxLDE4Ljc2IDkuODYsMjQuNjIgMTguOTcsMzYuNDMgOS4xLDExLjgxIDMxLjYxLDE3LjEgNDMuMjMsMjYuNTkgMTEuNjMsOS40OSA1Ljc3LDMyLjU3IDE5LjcyLDQxLjY4IDEzLjk0LDkuMSA0MC4yMiwzLjg5IDYzLjk4LDEyLjk1IDIzLjc2LDkuMDYgNTEuMTYsLTEuMzYgNjcuMzksNC40MyAxNi4yMyw1LjggLTE2LjU4LC04Mi4xNiA1OC4yNywtMzYuMDcgOS43MiwxMC43NiA1LjE1LDQyLjIxIDI0LjA0LDY4LjY5IDE4LjksMjYuNDkgNjEuNTIsODYuNzggODkuMzMsOTAuMiAyNy44MSwzLjQyIDg0LjUsMjAuMzggNzcuNTIsLTY5LjY3IC0xLjU1LC0xOS44OCAtNi40NCwtNTEuODIgMTMuNTUsLTI2Ljg4IDE5Ljk5LDI0LjkzIDYuNzksNDcuNTQgMjguNDgsNTAuMjMgMjEuNjgsMi43IDcyLjE2LC0zMC43MSAxMDEuNjIsLTM0LjA4IDI5LjQ3LC0zLjM2IDQwLjMxLDQuMjcgNzUuMTgsMTMuOTIgMzQuODYsOS42NCA5MC4wNSw0Mi4xNiAxMzMuOTksNDMuOTMgNDMuOTQsMS43NyA2OC40LC00MiA2OS40MywtNjguMDIgNC45MiwtMTIzLjgyIDM3LjYyLC02MS42MiA1NC4zMiwtOTUuOTIgMTYuNzEsLTM0LjI5IDU3LjA0LDkuMjggNDUuOTEsLTEwOS44MyAtMTEuMTMsLTExOS4xMSAtODcuNywtNzUuMDMgLTkxLjMyLC0xMDQuNTQgLTMuNjMsLTI5LjUxIDcxLjM1LC0yOS4zNCA2OS41NSwtNzIuNTQgLTIuMzEsLTU1LjMzIC0xMTUuNTUsLTQxLjc5IC05MC41OCwtNzguOCAxOC4xLC0yNi44MyAtMTkuNDYsLTQ0LjYgLTE1LjE5LC04NC4wOCA0LjI2LC0zOS40OCAtMzIuOTYsLTQ5LjM3IC0zNy43MSwtNzEuNDYgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2UzYmEwYlwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzYyXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjk2NS42Niw5MTQ2LjI0IGMgLTguNzQsMTUuMjYgLTQyLjg0LDM3LjYxIC0zNi4zNyw0Ni43IDYuNDgsOS4wOSA1Ny42NCwxNS4xNiA3NS4yMSw3Ljg0IDE3LjU3LC03LjMzIDIzLjIzLC0zMi40NSAzMC4yMiwtNTEuNzkgNi45OCwtMTkuMzUgOC40MywtNDEuMDQgMTEuNjksLTY0LjI5IDMuMjYsLTIzLjI1IDE0LjU0LC02Ny41NCA3Ljg0LC03NS4yIC02LjY5LC03LjY3IC0zNS45MiwxMy45IC00OC4wMSwyOS4yMSAtMTIuMDksMTUuMzIgLTE3Ljc3LDQ0Ljc2IC0yNC41NCw2Mi42OCAtNi43NiwxNy45MiAtNy45MSwyOS45MSAtMTYuMDQsNDQuODUgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2RiYjMwYlwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzYzXCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjc5MS44Niw5NTUzLjI4IGMgLTAuNzEsLTE0LjQ4IDMuNDEsLTQwLjggLTcuNTEsLTYzLjAzIC0xMC45MSwtMjIuMjQgLTM4LjksLTUyLjI3IC01Ny45OCwtNzAuNCAtMTkuMDksLTE4LjEyIC00Ni43NiwtNDcuNTQgLTU2LjUyLC0zOC4zNyAtOS43NSw5LjE3IC0zLjg0LDY4LjI3IC0yLjAzLDkzLjQxIDEuODIsMjUuMTQgMC4zMSw0My40OCAxMi45MSw1Ny40NSAxMi42LDEzLjk3IDQ0LjczLDE4LjkgNjIuNzEsMjYuMzcgMTcuOTgsNy40NiAzNy4xMSwxOS4zMyA0NS4xOCwxOC40MyA4LjA3LC0wLjkgMy45NSwtOS4zOCAzLjI0LC0yMy44NiB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZGJiMzBiXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNjRcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwibSAyNTQ2LjI4LDkyNDAuNTIgYyAyNy4yOSwtMS41NyA0OS44LC0zNS41NiA1OC43OSwtNTYuNTYgOC45OCwtMjEuMDEgLTAuNTUsLTQ4LjUxIC00Ljg4LC02OS40OSAtNC4zMywtMjAuOTggLTE4LjUzLC0zOC41OSAtMjEuMTMsLTU2LjM5IC0yLjYsLTE3LjgxIDEyLjI0LC0zMy40OCA1LjUzLC01MC40NSAtNi43LC0xNi45NyAtMjkuMTMsLTQzLjEzIC00NS43NSwtNTEuMzggLTE2LjYzLC04LjI1IC00MS40OSwtNy42NyAtNTMuOTgsMS44NiAtMTIuNSw5LjUzIC0yMS42LDM5LjEzIC0yMS4wMSw1NS4yOSAwLjU5LDE2LjE3IDIwLjc2LDI2Ljk1IDI0LjUzLDQxLjY5IDMuNzcsMTQuNzMgLTQuMywzMy4zIC0xLjkzLDQ2LjcyIDIuMzcsMTMuNDIgMjMuNjgsMTguNTIgMTYuMTUsMzMuNzggLTcuNTIsMTUuMjYgLTc0LjM2LDQzLjY2IC02MS4yOSw1Ny43NyAxMy4wNiwxNC4xMiA3Ny42Nyw0OC43MiAxMDQuOTcsNDcuMTYgelwiXG4gICAgICAgICAgICAgICBmaWxsPVwiI2RiYjMwYlwiXG4gICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzY1XCIgLz48cGF0aFxuICAgICAgICAgICAgICAgZD1cIm0gMjM1OC40Nyw4OTU0LjgzIGMgMTEuNDIsNy40MiAzNS42MywxMy43MSA0MC45LDM1LjkgNS4yNywyMi4xOCAtMy4yMiw3Ny41NiAtOS4yOCw5Ny4yIC02LjA3LDE5LjY0IC0yMS4yLDI2LjkyIC0yNy4xMSwyMC42MSAtNS45LC02LjMgLTAuMDcsLTM5LjM2IC04LjM0LC01OC40NCAtOC4yNywtMTkuMDggLTM3LjMsLTM4LjcxIC00MS4yNiwtNTYuMDQgLTMuOTcsLTE3LjMyIDEwLjExLC00MS4yMiAxNy40NywtNDcuOTEgNy4zNiwtNi42OSAxNi4yLDEuMjUgMjcuNjIsOC42OCB6XCJcbiAgICAgICAgICAgICAgIGZpbGw9XCIjZGJiMzBiXCJcbiAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICBpZD1cInBhdGgzNjZcIiAvPjxwYXRoXG4gICAgICAgICAgICAgICBkPVwiTSAwLDAgNDgwNy4wOSwzLjYwODkyZS00XCJcbiAgICAgICAgICAgICAgIHN0cm9rZT1cIiMzMjIzMmNcIlxuICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg9XCI1NVwiXG4gICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjhcIlxuICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSwwLDAsMSw3ODQ5LjU5LDkzNDMuNSlcIlxuICAgICAgICAgICAgICAgaWQ9XCJwYXRoMzY3XCIgLz48L2c+PC9zdmc+XG4gICAgICAgIFxuKTtcblxuICAgIFxufSIsICJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGJpYnRleFBhcnNlIGZyb20gJ2JpYnRleC1wYXJzZXItanMnO1xuXG5pbnRlcmZhY2UgQmliRW50cnkge1xuICBFTlRSWVRZUEU6IHN0cmluZztcbiAgVElUTEU/OiBzdHJpbmc7XG4gIEFVVEhPUj86IHN0cmluZztcbiAgam91cm5hbD86IHN0cmluZztcbiAgdm9sdW1lPzogc3RyaW5nO1xuICBwYWdlcz86IHN0cmluZztcbiAgeWVhcj86IHN0cmluZztcbiAgZG9pPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmludGVyZmFjZSBCaWJ0ZXhQYXJzZXJQcm9wcyB7XG4gIGJpYnRleFNvdXJjZXM6IHN0cmluZ1tdOyAvLyBBY2NlcHQgYW4gYXJyYXkgb2YgQmliVGVYIHN0cmluZ3NcbiAgc3BlY2lhbD86IHN0cmluZ1xufVxuXG5cbmZ1bmN0aW9uIGZvcm1hdFBhZ2VzKHBhZ2VzOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBKU1guRWxlbWVudCB8IG51bGwge1xuICAgIC8vIENoZWNrIGlmIHBhZ2VzIGlzIHByb3ZpZGVkIGFuZCBpcyBhIG5vbi1lbXB0eSBzdHJpbmdcbiAgICBpZiAocGFnZXMgJiYgcGFnZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAvLyBDaGVjayBmb3IgY29tbW9uIHBhZ2UgcmFuZ2Ugc2VwYXJhdG9yc1xuICAgICAgICBjb25zdCBwYWdlUmFuZ2VSZWdleCA9IC8tLXwtfFx1MjAxM3xcdTAwRTJcdTIwQUNcdTIwMUMvOyAvLyBSZWdFeCB0byBtYXRjaCB2YXJpb3VzIGRhc2ggdHlwZXNcbiAgICAgICAgaWYgKHBhZ2VSYW5nZVJlZ2V4LnRlc3QocGFnZXMpKSB7XG4gICAgICAgICAgICBjb25zdCBwYWcgPSBwYWdlcy5zcGxpdChwYWdlUmFuZ2VSZWdleCkubWFwKHAgPT4gcC50cmltKCkpO1xuICAgICAgICAgICAgY29uc3QgYmVnaW4gPSBwYWdbMF07XG4gICAgICAgICAgICBjb25zdCBlbmQgPSBwYWdbMV07XG5cbiAgICAgICAgICAgIC8vIFJldHVybiBmb3JtYXR0ZWQgSlNYXG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICwmbmJzcDs8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj57YmVnaW59PC9zcGFuPi08c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlRW5kXCI+e2VuZH08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKC9eXFxkKygtXFxkKyk/JC8udGVzdChwYWdlcykpIHtcbiAgICAgICAgICAgIC8vIElmIHBhZ2VzIGlzIGEgc2luZ2xlIG51bWVyaWMgcmFuZ2UsIHJldHVybiBpdCBkaXJlY3RseVxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICwmbmJzcDs8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj57cGFnZXN9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEhhbmRsZSBub24tbnVtZXJpYyBwYWdlIGluZm9cbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgTm9uLW51bWVyaWMgcGFnZSBpbmZvcm1hdGlvbiBkZXRlY3RlZCAoJyR7cGFnZXN9JykuIFRyZWF0aW5nIGFzIG1pc3NpbmcuYCk7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDsgLy8gUmV0dXJuIG51bGwgaWYgaW52YWxpZFxuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKFwiU29ycnksIG5vIHBhZ2UgaW5mb3JtYXRpb24uXCIpO1xuICAgICAgICByZXR1cm4gbnVsbDsgLy8gUmV0dXJuIG51bGwgaWYgbm8gcGFnZSBpbmZvXG4gICAgfVxufVxuXG5cbmV4cG9ydCBjb25zdCBCaWJ0ZXhQYXJzZXI6IFJlYWN0LkZDPEJpYnRleFBhcnNlclByb3BzPiA9ICh7IGJpYnRleFNvdXJjZXMgLCBzcGVjaWFsfSkgPT4ge1xuICBjb25zdCBbcGFyc2VkRW50cmllcywgc2V0UGFyc2VkRW50cmllc10gPSB1c2VTdGF0ZTxCaWJFbnRyeVtdPihbXSk7XG5cbiAgLy8gUGFyc2UgQmliVGVYIG9uIGNvbXBvbmVudCBtb3VudCBvciB3aGVuIHNvdXJjZXMgY2hhbmdlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc29sZS5sb2coXCJQYXJzaW5nIEJpYlRlWCBzb3VyY2VzOiBcIiwgYmlidGV4U291cmNlcyk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgYWxsRW50cmllczogQmliRW50cnlbXSA9IFtdO1xuICAgICAgYmlidGV4U291cmNlcy5mb3JFYWNoKChiaWJ0ZXgpID0+IHtcbiAgICAgICAvLyBjb25zb2xlLmxvZyhgUGFyc2luZyBCaWJUZVggZW50cnkgIyR7aW5kZXggKyAxfTogYCwgYmlidGV4KTtcbiAgICAgICAgY29uc3QgcGFyc2VkID0gYmlidGV4UGFyc2UudG9KU09OKGJpYnRleCk7XG4gICAgICAgLy8gY29uc29sZS5sb2coYFBhcnNlZCBlbnRyeTogYCwgcGFyc2VkKTtcbiAgICAgICAgYWxsRW50cmllcy5wdXNoKC4uLnBhcnNlZCk7XG4gICAgICB9KTtcbiAgICAgIHNldFBhcnNlZEVudHJpZXMoYWxsRW50cmllcyk7XG4gICAgICAvL2NvbnNvbGUubG9nKFwiQWxsIHBhcnNlZCBlbnRyaWVzOiBcIiwgYWxsRW50cmllcyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIHBhcnNpbmcgQmliVGVYOiBcIiwgZXJyb3IpO1xuICAgICAgYWxlcnQoXCJBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwYXJzaW5nIHRoZSBCaWJUZVggZW50cmllcy4gUGxlYXNlIGNoZWNrIHRoZSBmb3JtYXQuXCIgKyBiaWJ0ZXhTb3VyY2VzKTtcbiAgICB9XG4gIH0sIFtiaWJ0ZXhTb3VyY2VzXSk7XG5cbiAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlbmRlciBBVVRIT1JTXG4gIGNvbnN0IGZvcm1hdEF1dGhvcnMgPSAoYXV0aG9yczogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBjb25zb2xlLmxvZyhcIk9yaWdpbmFsIGlucHV0OlwiLCBhdXRob3JzKTtcblxuICAgIC8vIEJlcmVpbmlnZW4gZGVzIEVpbmdhYmVzdHJpbmdzIHVuZCBFcnNldHplbiB2b24gXCJhbmRcIiBkdXJjaCBcInxcIlxuICAgIGNvbnN0IGNsZWFuZWRBdXRob3JzID0gYXV0aG9yc1xuICAgICAgICAucmVwbGFjZSgvXFxzKmFuZFxccyovZywgXCJ8XCIpIC8vIFwiYW5kXCIgZHVyY2ggXCJ8XCIgZXJzZXR6ZW5cbiAgICAgICAgLnJlcGxhY2UoL1xce3xcXH0vZywgXCJcIikgICAgICAvLyBnZXNjaHdlaWZ0ZSBLbGFtbWVybiBlbnRmZXJuZW5cbiAgICAgICAgLnRyaW0oKTtcbiAgICBcbiAgICBjb25zb2xlLmxvZyhcIkNsZWFuZWQgYXV0aG9ycyBzdHJpbmc6XCIsIGNsZWFuZWRBdXRob3JzKTtcblxuICAgIC8vIEF1dG9yZW4gaW4gZWluIEFycmF5IGF1ZnRlaWxlblxuICAgIGNvbnN0IGF1dGhvckxpc3QgPSBjbGVhbmVkQXV0aG9ycy5zcGxpdChcInxcIikubWFwKGF1dGhvciA9PiBhdXRob3IudHJpbSgpKTtcbiAgICBjb25zb2xlLmxvZyhcIlNwbGl0IGF1dGhvciBsaXN0OlwiLCBhdXRob3JMaXN0KTtcblxuICAgIC8vIE1heGltYWxlIEFuemFobCBkZXIgYW56dXplaWdlbmRlbiBBdXRvcmVuXG4gICAgY29uc3QgbWF4QXV0aG9ycyA9IDc7XG5cbiAgICAvLyBGb3JtYXRpZXJlIGplZGVuIEF1dG9yXG4gICAgY29uc3QgZm9ybWF0dGVkQXV0aG9ycyA9IGF1dGhvckxpc3QubWFwKChhdXRob3IsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBQcm9jZXNzaW5nIGF1dGhvciAjJHtpbmRleCArIDF9OmAsIGF1dGhvcik7XG5cbiAgICAgICAgLy8gTmFjaG5hbWUgdW5kIFZvcm5hbWVuIGF1ZnRlaWxlblxuICAgICAgICBjb25zdCBbbGFzdCwgZmlyc3ROYW1lc10gPSBhdXRob3IuaW5jbHVkZXMoXCIsXCIpID8gXG4gICAgICAgICAgICBhdXRob3Iuc3BsaXQoXCIsXCIpLm1hcChwYXJ0ID0+IHBhcnQudHJpbSgpKSA6XG4gICAgICAgICAgICBbJycsIGF1dGhvcl07IC8vIFdlbm4ga2VpbiBLb21tYSB2b3JoYW5kZW4gaXN0LCB3aXJkIGRlciBnZXNhbXRlIE5hbWUgYWxzIFZvcm5hbWUgYmVoYW5kZWx0XG5cbiAgICAgICAgY29uc29sZS5sb2coYExhc3QgbmFtZTogXCIke2xhc3R9XCIsIEZpcnN0IG5hbWVzOiBcIiR7Zmlyc3ROYW1lc31cImApO1xuXG4gICAgICAgIC8vIEluaXRpYWxlbiBmXHUwMEZDciBWb3JuYW1lbiBlcnN0ZWxsZW5cbiAgICAgICAgY29uc3QgaW5pdGlhbHMgPSBmaXJzdE5hbWVzLnNwbGl0KCcgJykubWFwKG4gPT4gblswXSArICcuJykuam9pbignICcpOyBcbiAgICAgICAgY29uc29sZS5sb2coYEluaXRpYWxzIGZvciBcIiR7Zmlyc3ROYW1lc31cIjogXCIke2luaXRpYWxzfVwiYCk7XG5cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkTmFtZSA9IGAke2xhc3R9LCAke2luaXRpYWxzfWAudHJpbSgpOyAvLyBSXHUwMEZDY2tnYWJlIGRlcyBmb3JtYXRpZXJ0ZW4gTmFtZW5zXG4gICAgICAgIGNvbnNvbGUubG9nKGBGb3JtYXR0ZWQgbmFtZTogXCIke2Zvcm1hdHRlZE5hbWV9XCJgKTtcblxuICAgICAgICByZXR1cm4gZm9ybWF0dGVkTmFtZTtcbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKFwiRm9ybWF0dGVkIGF1dGhvcnMgYmVmb3JlIGFkZGluZyBldCBhbC46XCIsIGZvcm1hdHRlZEF1dGhvcnMpO1xuXG4gICAgLy8gS29tYmluaWVyZSBkaWUgZm9ybWF0aWVydGVuIEF1dG9yZW4gbWl0IGtvcnJla3RlciBJbnRlcnB1bmt0aW9uXG4gICAgY29uc3Qgb3V0cHV0ID0gZm9ybWF0dGVkQXV0aG9ycy5zbGljZSgwLCBtYXhBdXRob3JzKS5qb2luKCc7ICcpICsgXG4gICAgICAgICAgICAgICAgICAgKGZvcm1hdHRlZEF1dGhvcnMubGVuZ3RoID4gbWF4QXV0aG9ycyA/ICcgZXQgYWwuJyA6ICcnKTtcbiAgICBcbiAgICBjb25zb2xlLmxvZyhcIkZpbmFsIG91dHB1dDpcIiwgb3V0cHV0KTtcbiAgICByZXR1cm4gb3V0cHV0O1xufTtcblxuICBsZXQgc3BlY2lhbHRoaW5nID0gXCJcIjtcblxuICBpZiAoc3BlY2lhbCkge1xuICAgIHNwZWNpYWx0aGluZyA9IGAjJHtzcGVjaWFsfWA7IFxuICB9XG5cbiAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlbmRlciBpbmRpdmlkdWFsIGNpdGF0aW9ucyBiYXNlZCBvbiB0aGVpciB0eXBlXG4gIGNvbnN0IHJlbmRlckNpdGF0aW9uID0gKGVudHJ5OiBCaWJFbnRyeSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgLy8gY29uc29sZS5sb2coYFJlbmRlcmluZyBjaXRhdGlvbiBmb3IgZW50cnkgIyR7aW5kZXggKyAxfTogYCwgZW50cnkpO1xuICAgIFxuICAgIC8vIFVzZSB0aGUgaW5kZXggYXMgY2l0YXRpb24gbnVtYmVyXG4gICAgY29uc3QgY2l0YXRpb25OdW1iZXIgPSBpbmRleCArIDE7IFxuICAgIGNvbnN0IGVudHJ5VHlwZSA9IGVudHJ5LmVudHJ5VHlwZS50b0xvd2VyQ2FzZSgpOyAvLyBDb252ZXJ0IHRvIGxvd2VyY2FzZSBmb3IgY29uc2lzdGVudCBjb21wYXJpc29uXG4gICAgY29uc3QgZW50cnlUYWdzID0gZW50cnkuZW50cnlUYWdzOyAvLyBBZGp1c3QgYmFzZWQgb24geW91ciBkYXRhIHN0cnVjdHVyZVxuICAgLy8gY29uc29sZS5sb2coXCJFbnRyeSBUYWdzOiBcIiwgZW50cnlUYWdzKTtcblxuICAgIHN3aXRjaCAoZW50cnlUeXBlKSB7XG4gICAgICBjYXNlIFwiYXJ0aWNsZVwiOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxsaSBrZXk9e2luZGV4fSB0eXBlb2Y9XCJzY2hlbWE6U2Nob2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPXtgZGVzYy0ke2NpdGF0aW9uTnVtYmVyfSR7c3BlY2lhbHRoaW5nfWB9PlxuICAgICAgICAgICAgey8qIENpdGF0aW9uIG51bWJlciBhcyBjb21tZW50ICovfVxuICAgICAgICAgICAgey8qPCEtLSBDaXRhdGlvbiBudW0gJHtjaXRhdGlvbk51bWJlcn0gLS0+ICovfVxuICAgICAgICAgICAge2Zvcm1hdEF1dGhvcnMoZW50cnlUYWdzLkFVVEhPUiB8fCBlbnRyeVRhZ3MuRURJVE9SIHx8IFwiXCIpfVxuICAgICAgICAgICAgJm5ic3A7PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPntlbnRyeVRhZ3MuVElUTEUucmVwbGFjZSgvWz8hLl0vZywgJycpLnJlcGxhY2UoL1xcbi9nLCAnICcpLnRyaW0oKX0uPC9zcGFuPlxuICAgICAgICAgICAgJm5ic3A7PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPntlbnRyeVRhZ3MuSk9VUk5BTH08L2k+XG4gICAgICAgICAgICAmbmJzcDs8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPntlbnRyeVRhZ3MuVk9MVU1FfTwvYj5cbiAgICAgICAgICAgIHtmb3JtYXRQYWdlcyhlbnRyeVRhZ3MuUEFHRVMpICYmIDxzcGFuPntmb3JtYXRQYWdlcyhlbnRyeVRhZ3MuUEFHRVMpfTwvc3Bhbj59XG4gICAgICAgICAgICB7ZW50cnlUYWdzLllFQVIgJiYgKFxuICAgICAgICAgICAgICA8c3Bhbj4mbmJzcDsoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9e2VudHJ5VGFncy5ZRUFSfT57ZW50cnlUYWdzLllFQVJ9PC90aW1lPikuPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHtlbnRyeVRhZ3MuRE9JICYmIChcbiAgICAgICAgICAgICAgPHNwYW4+Jm5ic3A7PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj17YGh0dHBzOi8vZG9pLm9yZy8ke2VudHJ5VGFncy5ET0l9YH0+ZG9pOiB7ZW50cnlUYWdzLkRPSX08L2E+PC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICApO1xuXG4gICAgICBjYXNlIFwiYm9va1wiOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxsaSBrZXk9e2luZGV4fSB0eXBlb2Y9XCJzY2hlbWE6Qm9va1wiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPXtgZGVzYy0ke2NpdGF0aW9uTnVtYmVyfWB9PlxuICAgICAgICAgICAgey8qIFJlbmRlciBhdXRob3JzICovfVxuICAgICAgICAgICAge2Zvcm1hdEF1dGhvcnMoZW50cnlUYWdzLkFVVEhPUiB8fCBlbnRyeVRhZ3MuRURJVE9SIHx8IFwiXCIpfVxuICAgICAgICAgICAgey8qIFJlbmRlciB0aXRsZSBvciBib29rdGl0bGUgKi99XG4gICAgICAgICAgICB7ZW50cnlUYWdzLlRJVExFID8gKFxuICAgICAgICAgICAgICA8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7e2VudHJ5VGFncy5USVRMRS5yZXBsYWNlKC9bPyEuXS9nLCAnJykucmVwbGFjZSgvXFxuL2csICcgJykudHJpbSgpfS48L3NwYW4+XG4gICAgICAgICAgICApIDogZW50cnlUYWdzLkJPT0tUSVRMRSA/IChcbiAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO3tlbnRyeVRhZ3MuQk9PS1RJVExFLnJlcGxhY2UoL1s/IS5dL2csICcnKS5yZXBsYWNlKC9cXG4vZywgJyAnKS50cmltKCl9Ljwvc3Bhbj5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihgTm8gdGl0bGUgb3IgYm9va3RpdGxlIGZvdW5kIGZvciBlbnRyeSAke2NpdGF0aW9uTnVtYmVyfWApXG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgey8qIFJlbmRlciBwdWJsaXNoZXIgKi99XG4gICAgICAgICAgICB7ZW50cnlUYWdzLlBVQkxJU0hFUiAmJiAoXG4gICAgICAgICAgICAgIDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj5cbiAgICAgICAgICAgICAgICAmbmJzcDt7ZW50cnlUYWdzLlBVQkxJU0hFUn1cbiAgICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHsvKiBSZW5kZXIgeWVhciAqL31cbiAgICAgICAgICAgIHtlbnRyeVRhZ3MuWUVBUiAmJiAoXG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICZuYnNwOyg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT17ZW50cnlUYWdzLllFQVJ9PlxuICAgICAgICAgICAgICAgICAge2VudHJ5VGFncy5ZRUFSfVxuICAgICAgICAgICAgICAgIDwvdGltZT4pLlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2VudHJ5VGFncy5JU0JOICYmIChcbiAgICAgICAgICAgICAgPHNwYW4gcHJvcGVydHk9XCJpc2JuXCI+Jm5ic3A7e2VudHJ5VGFncy5JU0JOfTwvc3Bhbj5cbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2xpPlxuICAgICAgICApO1xuXG4gICAgICBjYXNlIFwibWlzY1wiOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxsaSBrZXk9e2luZGV4fSB0eXBlb2Y9XCJzY2hlbWE6V2ViUGFnZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPXtgZGVzYy0ke2NpdGF0aW9uTnVtYmVyfWB9PlxuICAgICAgICAgICAgey8qIFJlbmRlciBhdXRob3JzICovfVxuICAgICAgICAgICAgeyhlbnRyeVRhZ3MuQVVUSE9SIHx8IGVudHJ5VGFncy5FRElUT1IgfHwgXCJcIil9XG4gICAgICAgICAgICB7LyogUmVuZGVyIHRpdGxlICovfVxuICAgICAgICAgICAge2VudHJ5VGFncy5USVRMRSAmJiAoXG4gICAgICAgICAgICAgIDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4uJm5ic3A7e2VudHJ5VGFncy5USVRMRS5yZXBsYWNlKC9bPyEuXS9nLCAnJykucmVwbGFjZSgvXFxuL2csICcgJykudHJpbSgpfS48L3NwYW4+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgey8qIFJlbmRlciBob3dwdWJsaXNoZWQgKi99XG4gICAgICAgICAgICB7ZW50cnlUYWdzLkhPV1BVQkxJU0hFRCAmJiAoXG4gICAgICAgICAgICAgIDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4mbmJzcDt7ZW50cnlUYWdzLkhPV1BVQkxJU0hFRH08L2k+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgey8qIFJlbmRlciB5ZWFyICovfVxuICAgICAgICAgICAge2VudHJ5VGFncy5ZRUFSICYmIChcbiAgICAgICAgICAgICAgPHNwYW4+Jm5ic3A7KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPXtlbnRyeVRhZ3MuWUVBUn0+e2VudHJ5VGFncy5ZRUFSfTwvdGltZT4pLjwvc3Bhbj5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKTtcblxuICAgICAgLy8gSGFuZGxlIGFkZGl0aW9uYWwgZW50cnkgdHlwZXMgaGVyZVxuICAgICAgY2FzZSBcImlucHJvY2VlZGluZ3NcIjpcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8bGkga2V5PXtpbmRleH0+XG4gICAgICAgICAgICA8c3Bhbj57Zm9ybWF0QXV0aG9ycyhlbnRyeVRhZ3MuQVVUSE9SIHx8IFwiXCIpfTwvc3Bhbj4mbmJzcDtcbiAgICAgICAgICAgIDxzcGFuPntlbnRyeVRhZ3MuVElUTEV9PC9zcGFuPi4gSW4gPGk+e2VudHJ5VGFncy5CT09LVElUTEV9PC9pPiwmbmJzcDtcbiAgICAgICAgICAgIDxiPntlbnRyeVRhZ3MuZWRpdG9yfTwvYj4sIHtlbnRyeVRhZ3MuWUVBUn0uXG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKTtcblxuICAgICAgY2FzZSBcInBoZHRoZXNpc1wiOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxsaSBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIDxzcGFuPntmb3JtYXRBdXRob3JzKGVudHJ5VGFncy5BVVRIT1IgfHwgXCJcIil9PC9zcGFuPiZuYnNwO1xuICAgICAgICAgICAgPHNwYW4+e2VudHJ5VGFncy5USVRMRX08L3NwYW4+LCBQaEQgdGhlc2lzLCB7ZW50cnlUYWdzLlNDSE9PTH0sIHtlbnRyeVRhZ3MuWUVBUn0uXG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgY29uc29sZS53YXJuKGBVbmtub3duIGVudHJ5IHR5cGU6ICR7ZW50cnlUeXBlfWApO1xuICAgICAgICByZXR1cm4gPGxpIGtleT17aW5kZXh9PlVua25vd24gZW50cnkgdHlwZToge2VudHJ5VHlwZX08L2xpPjtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAge3BhcnNlZEVudHJpZXMubGVuZ3RoID09PSAwID8gKFxuICAgICAgICA8cD5ObyBjaXRhdGlvbnMgYXZhaWxhYmxlLjwvcD5cbiAgICAgICkgOiAoXG4gICAgICAgIDxvbD5cbiAgICAgICAgICB7cGFyc2VkRW50cmllcy5tYXAoKGVudHJ5LCBpbmRleCkgPT4gcmVuZGVyQ2l0YXRpb24oZW50cnksIGluZGV4KSl9XG4gICAgICAgIDwvb2w+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgQmlidGV4UGFyc2VyO1xuIiwgImltcG9ydCBCaWJ0ZXhQYXJzZXIgZnJvbSBcIi4uL2NvbXBvbmVudHMvbWFrZVNvdXJjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRGVzY1NvdXJjZXMoKXtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCaWJ0ZXhQYXJzZXIgYmlidGV4U291cmNlcz17YmlidGV4U291cmNlc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApXG59XG5cblxuY29uc3QgYmlidGV4U291cmNlcyA9IFtcbiAgYEBhcnRpY2xle2FydGljbGUsICAgXG4gICAgYXV0aG9yPXtSb2RyaWd1ZXMsIFJvYmVydGEgYW5kIEdhYmV0dGEsIENhcm1lbiBTLiBhbmQgUGVkcm8sIEthcmxhIFAuIGFuZCBWYWxkZXRhcm8sIEZhYmlvYW5kIEZlcm5hbmRlcywgTWFyaWEgSS4gTS4gYW5kIE1hZ2FsaFx1MDBFM2VzLCBQYXRyXHUwMEVEY2lhIEsuIFIuIGFuZCBKYW51XHUwMEUxcmlvLCBKb3NcdTAwRTkgTi4sIE1hY2llbCwgTFx1MDBFOWEgTS4gWi59LCAgIFxuICAgIHllYXI9ezIwMDh9LCAgIFxuICAgIHBhZ2VzPXs0NzUtNDg0fSwgICBcbiAgICB0aXRsZT17Q3lzdGljIGZpYnJvc2lzIGFuZCBuZW9uYXRhbCBzY3JlZW5pbmd9LCAgIFxuICAgIHZvbHVtZT17MjR9LCAgIFxuICAgIGpvdXJuYWw9e0NhZGVybm9zIGRlIFNhXHUwMEZBZGUgUFx1MDBGQWJsaWNhfSwgICBcbiAgICBkb2k9ezEwLjE1OTAvUzAxMDItMzExWDIwMDgwMDE2MDAwMDJ9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle2FydGljbGUsICAgXG4gICAgYXV0aG9yPXtGYXJyZWxsLCBQaGlsaXAgTS4gYW5kIFJvY2ssIE1pY2hhZWwgSi4gYW5kIEJha2VyLCBNZWkgVy59LCAgIFxuICAgIHllYXI9ezIwMjB9LCAgIFxuICAgIHBhZ2VzPXs0MDF9LCAgIFxuICAgIHRpdGxlPXtUaGUgSW1wYWN0IG9mIHRoZSBDRlRSIEdlbmUgRGlzY292ZXJ5IG9uIEN5c3RpYyBGaWJyb3NpcyBEaWFnbm9zaXMsIENvdW5zZWxpbmcsIGFuZCBQcmV2ZW50aXZlIFRoZXJhcHl9LCAgIFxuICAgIHZvbHVtZT17MTEoNCl9LCAgIFxuICAgIGpvdXJuYWw9e0dlbmVzfSwgICBcbiAgICBkb2k9ezEwLjMzOTAvZ2VuZXMxMTA0MDQwMX0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7YXJ0aWNsZSwgICBcbiAgICBhdXRob3I9e0x1a2FjcywgR2VyZ2VseSBMLiBhbmQgVmVya21hbiwgQS4gUy59LCAgIFxuICAgIHllYXI9ezIwMTJ9LCAgIFxuICAgIHBhZ2VzPXs4MS05MX0sICAgXG4gICAgdGl0bGU9eyBDRlRSOiBmb2xkaW5nLCBtaXNmb2xkaW5nIGFuZCBjb3JyZWN0aW5nIHRoZSBcdTAzOTRGNTA4IGNvbmZvcm1hdGlvbmFsIGRlZmVjdH0sICAgXG4gICAgdm9sdW1lPXsxOCgyKX0sICAgXG4gICAgam91cm5hbD17VHJlbmRzIGluIG1vbGVjdWxhciBtZWRpY2luZX0sICAgXG4gICAgZG9pPXsxMC4xMDE2L2oubW9sbWVkLjIwMTEuMTAuMDAzfSAgIFxuICB9YCwgICBcbiAgXG4gIGBAbWlzY3tFQ0ZTMjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17RXVyb3BlYW4gQ3lzdGljIEZpYnJvc2lzIFNvY2lldHl9LCAgIFxuICAgIHRpdGxlPXsyMDIyIEhpZ2hsaWdodCBSZXBvcnQ6IEN5c3RpYyBGaWJyb3NpcyBpbiBFdXJvcGUsIEZhY3RzIGFuZCBGaWd1cmVzfSwgICBcbiAgICB5ZWFyPXsyMDIyfSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3LmVjZnMuZXUvc2l0ZXMvZGVmYXVsdC9maWxlcy8yNDA2MTlfUFJfSGlnaGxpZ2h0cyUyMFJlcG9ydF9wYWdlLnBkZn0sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAyNy4gU2VwdGVtYmVyIDIwMjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle2FydGljbGUsICAgXG4gICAgYXV0aG9yPXtCb2JhZGlsbGEsIEouIEwuIGFuZCBNYWNrZSBKciwgTS4gYW5kIEZpbmUsIEouIFAuIGFuZCBGYXJyZWxsLCBQLiBNLn0sICAgXG4gICAgeWVhcj17MjAwMn0sICAgXG4gICAgcGFnZXM9ezU3NS02MDZ9LCAgIFxuICAgIHRpdGxlPXtDeXN0aWMgZmlicm9zaXM6IEEgd29ybGR3aWRlIGFuYWx5c2lzIG9mIENGVFIgbXV0YXRpb25zIC0gY29ycmVsYXRpb24gd2l0aCBpbmNpZGVuY2UgZGF0YSBhbmQgYXBwbGljYXRpb24gdG8gc2NyZWVuaW5nfSwgICBcbiAgICB2b2x1bWU9ezE5KDYpfSwgICBcbiAgICBqb3VybmFsPXtIdW1hbiBNdXRhdGlvbn0sICAgXG4gICAgZG9pPXsxMC4xMDAyL2h1bXUuMTAwNDF9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xlezEwLjMzODkvZnBoYXIuMjAxOS4wMTY2MiwgICBcbiAgICBhdXRob3I9e0xvcGVzLVBhY2hlY28sIE1pcXVcdTAwRTlpYXN9LCAgIFxuICAgIHRpdGxlPXtDRlRSIE1vZHVsYXRvcnM6IFRoZSBDaGFuZ2luZyBGYWNlIG9mIEN5c3RpYyBGaWJyb3NpcyBpbiB0aGUgRXJhIG9mIFByZWNpc2lvbiBNZWRpY2luZX0sICAgXG4gICAgam91cm5hbD17RnJvbnRpZXJzIGluIFBoYXJtYWNvbG9neX0sICAgXG4gICAgdm9sdW1lPXsxMH0sICAgXG4gICAgeWVhcj17MjAyMH0sICAgXG4gICAgZG9pPXsxMC4zMzg5L2ZwaGFyLjIwMTkuMDE2NjJ9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cuZnJvbnRpZXJzaW4ub3JnL2FydGljbGVzLzEwLjMzODkvZnBoYXIuMjAxOS4wMTY2Mn0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7YXJlbmEyMDI0aW50ZXJuZXQsICAgXG4gICAgYXV0aG9yPXtDbGluaWNhbCBUcmlhbHMgQXJlbmF9LCAgIFxuICAgIHRpdGxlPXtDeXN0aWMgZmlicm9zaXM6IGdsb2JhbCBjbGluaWNhbCB0cmlhbHMgbGFuZHNjYXBlIGFuZCB0cmVhdG1lbnRzfSwgICBcbiAgICB5ZWFyPXsyMDI0fSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3LmNsaW5pY2FsdHJpYWxzYXJlbmEuY29tL3Nwb25zb3JlZC9jeXN0aWMtZmlicm9zaXMtZ2xvYmFsLWNsaW5pY2FsLXRyaWFscy1sYW5kc2NhcGUtYW5kLXRyZWF0bWVudHMvfSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDIzLiBTZXB0ZW1iZXIgMjAyNH0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7TVNEbWFudWFsMjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17U2F3aWNraSwgR30sICAgXG4gICAgdGl0bGU9e011a292aXN6aWRvc2UgKHp5c3Rpc2NoZSBGaWJyb3NlLCBDRil9LCAgIFxuICAgIHllYXI9ezIwMjN9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cubXNkbWFudWFscy5jb20vZGUtZGUvaGVpbS9nZXN1bmRoZWl0c3Byb2JsZW1lLXZvbi1raW5kZXJuL211a292aXN6aWRvc2UvbXVrb3Zpc3ppZG9zZS16eXN0aXNjaGUtZmlicm9zZS1jZn0sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAyMy4gU2VwdGVtYmVyIDIwMjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBtaXNje3BhdGllbnQyMDI0aW50ZXJuZXQsICAgXG4gICAgYXV0aG9yPXtCdXJraGFydCwgTS4gYW5kICBOXHUwMEU0aHJsaWNoLCBMLn0sICAgXG4gICAgdGl0bGU9e1phaGxlbiwgRGF0ZW4gdW5kIEZha3RlbiBmXHUwMEZDciBQYXRpZW50ZW4gdW5kIEFuZ2VoXHUwMEY2cmlnZX0sICAgXG4gICAgeWVhcj17MjAyMn0sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy5tdWtvLmluZm8vZmlsZWFkbWluL3VzZXJfdXBsb2FkL3dhc193aXJfdHVuL3JlZ2lzdGVyL2JlcmljaHRzYmFlbmRlL3BhdGllbnRlbmJlcmljaHRzYmFuZC5wZGZ9LCAgIFxuICAgIG5vdGU9e1p1Z3JpZmYgYW0gMjMuIFNlcHRlbWJlciAyMDI0fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAbWlzY3tNdWtvODIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e011a292aXN6aWRvc2UgZS5WfSwgICBcbiAgICB0aXRsZT17V2FzIGlzdCBNdWtvdmlzemlkb3NlLyBDeXN0aXNjaGUgRmlicm9zZSAoQ0YpP30sICAgXG4gICAgeWVhcj17MjAyNH0sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy5tdWtvLmluZm8vbXVrb3Zpc3ppZG9zZS91ZWJlci1kaWUtZXJrcmFua3VuZ30sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAyMy4gU2VwdGVtYmVyIDIwMjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle0VsYm9ybjIwMTYsICAgXG4gICAgdGl0bGU9e0N5c3RpYyBmaWJyb3Npc30sICAgXG4gICAgdm9sdW1lPXszODh9LCAgIFxuICAgIElTU049ezAxNDAtNjczNn0sICAgXG4gICAgdXJsPXtodHRwOi8vZHguZG9pLm9yZy8xMC4xMDE2L3MwMTQwLTY3MzYoMTYpMDA1NzYtNn0sICAgXG4gICAgRE9JPXsxMC4xMDE2L3MwMTQwLTY3MzYoMTYpMDA1NzYtNn0sICAgXG4gICAgbnVtYmVyPXsxMDA1OX0sICAgXG4gICAgam91cm5hbD17VGhlIExhbmNldH0sICAgXG4gICAgcHVibGlzaGVyPXtFbHNldmllciBCVn0sICAgXG4gICAgYXV0aG9yPXtFbGJvcm4sIEogU3R1YXJ0fSwgICBcbiAgICB5ZWFyPXsyMDE2fSwgICBcbiAgICBtb250aD17bm92fSwgICBcbiAgICBwYWdlcz17MjUxOS0yNTMxfSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYm9va3syMDAxLCAgIFxuICAgIHRpdGxlPXtDeXN0aXNjaGUgRmlicm9zZX0sXG4gICAgYXV0aG9yPXtSZWluaGFyZHQsIEQuIGFuZCBHXHUwMEY2dHosIE0uIGFuZCBLcmFlbWVyLCBSLiBhbmQgU2NoXHUwMEY2bmksIE0ufSwgICBcbiAgICBJU0JOPXs5NzgzNjQyNTY3OTY0fSwgICBcbiAgICB1cmw9e2h0dHA6Ly9keC5kb2kub3JnLzEwLjEwMDcvOTc4LTMtNjQyLTU2Nzk2LTR9LCAgIFxuICAgIERPST17MTAuMTAwNy85NzgtMy02NDItNTY3OTYtNH0sICAgXG4gICAgcHVibGlzaGVyPXtTcHJpbmdlciBCZXJsaW4gSGVpZGVsYmVyZ30sICAgXG4gICAgeWVhcj17MjAwMX0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7YmlvbTQwMjA0OTgsICAgXG4gICAgYXV0aG9yPXtXYW5nLCBYaWFvZG9uZyBSb2JlcnQgYW5kIExpLCBDaGVuZ2xvbmd9LCAgIFxuICAgIHRpdGxlPXtEZWNvZGluZyBGNTA4ZGVsIE1pc2ZvbGRpbmcgaW4gQ3lzdGljIEZpYnJvc2lzfSwgICBcbiAgICBqb3VybmFsPXtCaW9tb2xlY3VsZXN9LCAgIFxuICAgIHZvbHVtZT17NH0sICAgXG4gICAgeWVhcj17MjAxNH0sICAgXG4gICAgbnVtYmVyPXsyfSwgICBcbiAgICBwYWdlcz17NDk4LS01MDl9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cubWRwaS5jb20vMjIxOC0yNzNYLzQvMi80OTh9LCAgIFxuICAgIFB1Yk1lZElEPXsyNDk3MDIyN30sICAgXG4gICAgSVNTTj17MjIxOC0yNzNYfSwgICBcbiAgICBET0k9ezEwLjMzOTAvYmlvbTQwMjA0OTh9ICAgXG4gIH1gLCAgIFxuICAvKiAxNCAqL1xuICBgQGFydGljbGV7UFVDSEVMTEUyMDAyMTE1LCAgIFxuICAgIHRpdGxlPXtBaXJ3YXkgbXVjdXMgaW4gY3lzdGljIGZpYnJvc2lzfSwgICBcbiAgICBqb3VybmFsPXtQYWVkaWF0cmljIFJlc3BpcmF0b3J5IFJldmlld3N9LCAgIFxuICAgIHZvbHVtZT17M30sICAgXG4gICAgbnVtYmVyPXsyfSwgICBcbiAgICBwYWdlcz17MTE1LTExOX0sICAgXG4gICAgeWVhcj17MjAwMn0sICAgXG4gICAgaXNzbj17MTUyNi0wNTQyfSwgICBcbiAgICBkb2k9e2h0dHBzOi8vZG9pLm9yZy8xMC4xMDE2L1MxNTI2LTA1NTAoMDIpMDAwMDUtN30sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MxNTI2MDU1MDAyMDAwMDU3fSwgICBcbiAgICBhdXRob3I9e1B1Y2hlbGxlLCBFZGl0aCBhbmQgQmFqb2xldCwgT2RpbGUgYW5kIEFiXHUwMEU5bHksIE1pY2hlbH0sICAgXG4gICAga2V5d29yZHM9e2N5c3RpYyBmaWJyb3NpcywgYWlyd2F5IG11Y3VzLCBhaXJ3YXkgc3VyZmFjZSBsaXF1aWQsIHJoZW9sb2d5LCBtdWNvY2lsaWFyeSBjbGVhcmFuY2UsIG11Y3VzIGNvdWdoIHRyYW5zcG9ydH0gICBcbiAgfWAsICAgLyogMTUgKi9cbiAgYEBhcnRpY2xle0FuemFsb25lMjAxOSxcbiAgYXV0aG9yICAgID0ge0FuemFsb25lLCBBbmRyZXcgYW5kIFJhbmRvbHBoLCBQZXl0b24gYW5kIERhdmlzLCBKZXNzaWUgYW5kIFNvdXNhLCBBeWFsdXIgYW5kIEtvYmxhbiwgTHVrZSBhbmQgTGV2eSwgSm9uYXRoYW4gYW5kIENoZW4sIFBhdHJpY2sgYW5kIFdpbHNvbiwgQ2hhcmxvdHRlIGFuZCBOZXdieSwgR3JlZyBhbmQgUmFndXJhbSwgQWRpdHlhIGFuZCBMaXUsIERhdmlkfSxcbiAgdGl0bGUgICAgID0ge1NlYXJjaC1hbmQtcmVwbGFjZSBnZW5vbWUgZWRpdGluZyB3aXRob3V0IGRvdWJsZS1zdHJhbmQgYnJlYWtzIG9yIGRvbm9yIEROQX0sXG4gIGpvdXJuYWwgICA9IHtOYXR1cmV9LFxuICB2b2x1bWUgICAgPSB7NTc2fSxcbiAgcGFnZXMgICAgID0gezE0OS0tMTU3fSxcbiAgeWVhciAgICAgID0gezIwMTl9LFxuICBkb2kgICAgICAgPSB7MTAuMTAzOC9zNDE1ODYtMDE5LTE3MTEtNH1cbn1cbmAsLyogMTYgKi9cbmBAYXJ0aWNsZXtEb21hbjIwMjMsXG4gIGF1dGhvciAgICA9IHtEb21hbiwgSmFjb2IgYW5kIFBhbmRleSwgU2lkZGhhcnRoIGFuZCBOZXVnZWJhdWVyLCBNYXJpYSBhbmQgQW4sIE1laXFpIGFuZCBEYXZpcywgSmVzc2llIGFuZCBSYW5kb2xwaCwgUGV5dG9uIGFuZCBNY0Vscm95LCBBbmRyZXcgYW5kIEdhbywgWGlhb3h1IGFuZCBSYWd1cmFtLCBBZGl0eWEgYW5kIFJpY2h0ZXIsIE1hcmt1cyBhbmQgRXZlcmV0dGUsIEtlYXRvbiBhbmQgQmFuc2tvdGEsIFNhcm9qIGFuZCBUaWFuLCBLYW5ncnVpIGFuZCBUYW8sIFl1aGFuZyBhbmQgVG9sYXIsIEpha3ViIGFuZCBPc2Jvcm4sIE1hdHRoZXcgYW5kIExpdSwgRGF2aWR9LFxuICB0aXRsZSAgICAgPSB7UGhhZ2UtYXNzaXN0ZWQgZXZvbHV0aW9uIGFuZCBwcm90ZWluIGVuZ2luZWVyaW5nIHlpZWxkIGNvbXBhY3QsIGVmZmljaWVudCBwcmltZSBlZGl0b3JzfSxcbiAgam91cm5hbCAgID0ge0NlbGx9LFxuICB2b2x1bWUgICAgPSB7MTg2fSxcbiAgcGFnZXMgICAgID0gezM5ODMtLTQwMDIuZTI2fSxcbiAgeWVhciAgICAgID0gezIwMjN9LFxuICBkb2kgICAgICAgPSB7MTAuMTAxNi9qLmNlbGwuMjAyMy4wNy4wMzl9XG59XG5gXG4sXG5gQGFydGljbGV7R2Fkc2J5MjAwNiwgXG5cbiAgdGl0bGU9e1RoZSBBQkMgcHJvdGVpbiB0dXJuZWQgY2hsb3JpZGUgY2hhbm5lbCB3aG9zZSBmYWlsdXJlIGNhdXNlcyBjeXN0aWMgZmlicm9zaXN9LCBcblxuICBhdXRob3I9e0dhZHNieSwgRGF2aWQgQy4gYW5kIFZlcmdhbmksIFBhb2xhIGFuZCBDc2FuXHUwMEUxZHksIEx7XFwnYX1zemx7XFwnb319LCBcblxuICBqb3VybmFsPXtOYXR1cmV9LCBcblxuICB2b2x1bWU9ezQ0MH0sIFxuXG4gIG51bWJlcj17NzA4M30sIFxuXG4gIHBhZ2VzPXs0NzctLTQ4M30sIFxuXG4gIHllYXI9ezIwMDZ9LCBcblxuICBwdWJsaXNoZXI9e05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSwgXG5cbiAgZG9pPXsxMC4xMDM4L25hdHVyZTA0NzEyfSBcblxufSBgLFxuXG5gQGFydGljbGV7SHdhbmcyMDEzLCBcblxuICB0aXRsZT17VGhlIENGVFIgaW9uIGNoYW5uZWw6IGdhdGluZywgcmVndWxhdGlvbiwgYW5kIGFuaW9uIHBlcm1lYXRpb259LCBcblxuICBhdXRob3I9e0h3YW5nLCBUenloLUNoYW5nIGFuZCBLaXJrLCBLZXZpbiBMLn0sIFxuXG4gIGpvdXJuYWw9e0NvbGQgU3ByaW5nIEhhcmJvciBQZXJzcGVjdGl2ZXMgaW4gTWVkaWNpbmV9LCBcblxuICB2b2x1bWU9ezN9LCBcblxuICBudW1iZXI9ezF9LCBcblxuICBwYWdlcz17YTAwOTQ5OH0sIFxuXG4gIHllYXI9ezIwMTN9LCBcblxuICBwdWJsaXNoZXI9e0NvbGQgU3ByaW5nIEhhcmJvciBMYWJvcmF0b3J5IFByZXNzfSwgXG5cbiAgZG9pPXsxMC4xMTAxL2NzaHBlcnNwZWN0LmEwMDk0OTh9IFxuXG59IGAsXG4gYEBhcnRpY2xle1Jpb3JkYW4yMDA4LCBcblxuICB0aXRsZT17Q0ZUUiBmdW5jdGlvbiBhbmQgcHJvc3BlY3RzIGZvciB0aGVyYXB5fSwgXG5cbiAgYXV0aG9yPXtSaW9yZGFuLCBKb2huIFIufSwgXG5cbiAgam91cm5hbD17QW5udWFsIFJldmlldyBvZiBCaW9jaGVtaXN0cnl9LCBcblxuICB2b2x1bWU9ezc3fSwgXG5cbiAgcGFnZXM9ezcwMS0tNzI2fSwgXG5cbiAgeWVhcj17MjAwOH0sIFxuXG4gIHB1Ymxpc2hlcj17QW5udWFsIFJldmlld3N9LCBcblxuICBkb2k9ezEwLjExNDYvYW5udXJldi5iaW9jaGVtLjc1LjEwMzAwNC4xNDI1MzJ9IFxuXG59IGAsXG5cbmBAYXJ0aWNsZXtTaGVwcGFyZDE5OTksIFxuXG4gIHRpdGxlPXtTdHJ1Y3R1cmUgYW5kIGZ1bmN0aW9uIG9mIHRoZSBDRlRSIGNobG9yaWRlIGNoYW5uZWx9LCBcblxuICBhdXRob3I9e1NoZXBwYXJkLCBEYXZpZCBOLiBhbmQgV2Vsc2gsIE1pY2hhZWwgSi59LCBcblxuICBqb3VybmFsPXtQaHlzaW9sb2dpY2FsIFJldmlld3N9LCBcblxuICB2b2x1bWU9ezc5fSwgXG5cbiAgbnVtYmVyPXsxIFN1cHBsfSwgXG5cbiAgcGFnZXM9e1MyMy0tUzQ1fSwgXG5cbiAgeWVhcj17MTk5OX0sIFxuXG4gIHB1Ymxpc2hlcj17QW1lcmljYW4gUGh5c2lvbG9naWNhbCBTb2NpZXR5fSwgXG5cbiAgZG9pPXsxMC4xMTUyL3BoeXNyZXYuMTk5OS43OS4xLlMyM30gXG5cbn0gYCxcbiBgIEBhcnRpY2xle0NoZW4yMDA4LCBcblxuICB0aXRsZT17Q0ZUUiBhY3RpdmF0aW9uIGJ5IHBob3NwaG9yeWxhdGlvbn0sIFxuXG4gIGF1dGhvcj17Q2hlbiwgSmVuZy1IYXVyIGFuZCBDaGFuZywgWHVlLUJhb30sIFxuXG4gIGpvdXJuYWw9e0pvdXJuYWwgb2YgQmlvbWVkaWNhbCBTY2llbmNlfSwgXG5cbiAgdm9sdW1lPXsxNX0sIFxuXG4gIG51bWJlcj17Nn0sIFxuXG4gIHBhZ2VzPXs2NTktLTY3Mn0sIFxuXG4gIHllYXI9ezIwMDh9LCBcblxuICBwdWJsaXNoZXI9e1NwcmluZ2VyfSwgXG5cbiAgZG9pPXsxMC4xMDA3L3MxMTM3My0wMDgtOTI2MC00fSBcblxufSBgLFxuXG5gQGFydGljbGV7YXJ0aWNsZSwgXG5cbmF1dGhvcj17THVrYWNzLCBHZXJnZWx5IEwuOyBWZXJrbWFuLCBBLiBTLn0sIFxuXG55ZWFyPXsyMDEyfSwgXG5cbm1vbnRoPXsyfSwgXG5cbnBhZ2VzPXs4MS05MX0sIFxuXG50aXRsZT17IENGVFI6IGZvbGRpbmcsIG1pc2ZvbGRpbmcgYW5kIGNvcnJlY3RpbmcgdGhlIFx1MDM5NEY1MDggY29uZm9ybWF0aW9uYWwgZGVmZWN0fSwgXG5cbnZvbHVtZT17MTgoMil9LCBcblxuam91cm5hbD17VHJlbmRzIGluIG1vbGVjdWxhciBtZWRpY2luZX0sIFxuXG5kb2k9ezEwLjEwMTYvai5tb2xtZWQuMjAxMS4xMC4wMDN9IFxuXG59IGAsXG5gQGFydGljbGV7YXJ0aWNsZSwgXG5cbmF1dGhvcj17RmFycmVsbCwgUGhpbGlwIE0uOyBSb2NrLCBNaWNoYWVsIEouOyBCYWtlciwgTWVpIFcufSwgXG5cbnllYXI9ezIwMjB9LCBcblxubW9udGg9ezA0fSwgXG5cbnBhZ2VzPXs0MDF9LCBcblxudGl0bGU9e1RoZSBJbXBhY3Qgb2YgdGhlIENGVFIgR2VuZSBEaXNjb3Zlcnkgb24gQ3lzdGljIEZpYnJvc2lzIERpYWdub3NpcywgQ291bnNlbGluZywgYW5kIFByZXZlbnRpdmUgVGhlcmFweX0sIFxuXG52b2x1bWU9ezExKDQpfSwgXG5cbmpvdXJuYWw9e0dlbmVzfSwgXG5cbmRvaT17MTAuMzM5MC9nZW5lczExMDQwNDAxfSBcblxufSBgLFxuXG5gQGFydGljbGV7YXJ0aWNsZSwgXG5cbmF1dGhvcj17Um9kcmlndWVzLCBSb2JlcnRhOyBHYWJldHRhLCBDYXJtZW4gUy47IFBlZHJvLCBLYXJsYSBQLjsgVmFsZGV0YXJvLCBGYWJpbzsgRmVybmFuZGVzLCBNYXJpYSBJLiBNLjsgTWFnYWxoXHUwMEUzZXMsIFBhdHJcdTAwRURjaWEgSy4gUi47IEphbnVcdTAwRTFyaW8sIEpvc1x1MDBFOSBOLiwgTWFjaWVsLCBMXHUwMEU5YSBNLiBaLn0sIFxuXG55ZWFyPXsyMDA4fSwgXG5cbm1vbnRoPXsgfSwgXG5cbnBhZ2VzPXs0NzUtNDg0fSwgXG5cbnRpdGxlPXtDeXN0aWMgZmlicm9zaXMgYW5kIG5lb25hdGFsIHNjcmVlbmluZ30sIFxuXG52b2x1bWU9ezI0fSwgXG5cbmpvdXJuYWw9e0NhZGVybm9zIGRlIFNhXHUwMEZBZGUgUFx1MDBGQWJsaWNhfSwgXG5cbmRvaT17MTAuMTU5MC9TMDEwMi0zMTFYMjAwODAwMTYwMDAwMn0gXG5cbn0gYCxcblxuYEBhcnRpY2xle2FydGljbGUsIFxuXG5hdXRob3I9e0FtaWNvLCBHaXVsaWE7IEJyYW5kYXMsIENoaWFyYTsgTW9yYW4sIE9zY2FyOyBCYXJvbmksIERlYm9yYX0sIFxuXG55ZWFyPXsyMDE5fSwgXG5cbm1vbnRoPXsxfSwgXG5cbnBhZ2VzPXs1NDYzfSwgXG5cbnRpdGxlPXtVbnJhdmVsbGluZyB0aGUgUmVnaW9ucyBvZiBNdXRhbnQgRjUwOGRlbC1DRlRSIE1vcmUgU3VzY2VwdGlibGUgdG8gdGhlIEFjdGlvbiBvZiBGb3VyIEN5c3RpYyBGaWJyb3NpcyBDb3JyZWN0b3JzfSwgXG5cbnZvbHVtZT17MjAoMjEpfSwgXG5cbmpvdXJuYWw9e0ludGVybmF0aW9uYWwgSm91cm5hbCBvZiBNb2xlY3VsYXIgU2NpZW5jZXN9LCBcblxuZG9pPXsxMC4zMzkwL2lqbXMyMDIxNTQ2M30gXG5cbn0gYCxcblxuYEBib29re0JyYXVuMjAyMkJhc2lzbGVocmJ1Y2gsIFxuXG5pc2JuID0gezk3ODM0Mzc0MTE0NDF9LCBcblxubGFuZ3VhZ2UgPSB7ZGV9LCBcblxubnVtcGFnZXMgPSB7MTIwOH0sIFxuXG50aXRsZSA9IHtCYXNpc2xlaHJidWNoIElubmVyZSBNZWRpemlufSwgXG5cbnVybCA9IHtodHRwczovL2Jvb2tzLmdvb2dsZS5jb20vYm9va3MvYWJvdXQvQmFzaXNsZWhyYnVjaF9Jbm5lcmVfTWVkaXppbi5odG1sP2hsPSZpZD1CUzh0endFQUNBQUp9LCBcblxuYXV0aG9yID0ge0JyYXVuLCBKXHUwMEY2cmcgYW5kIE1cdTAwRkNsbGVyLVdpZWxhbmQsIERpcmt9LCBcblxuZGF0ZSA9IHsyMDIyLTA5LTIwfSwgXG5cbnllYXIgPSB7MjAyMn0sIFxuXG5tb250aCA9IHs5fSwgXG5cbmRheSA9IHsyMH0sIFxuXG59IGAsXG5cbi8qIDI3ICovXG4gIGBAYXJ0aWNsZXtXZW5rXzIwMTAsICAgXG4gICAgdGl0bGU9e0N5c3RpYyBGaWJyb3NpcyBQcmVzZW50aW5nIFdpdGggRGVybWF0aXRpc30sICAgXG4gICAgdm9sdW1lPXsxNDZ9LCAgIFxuICAgIElTU049ezAwMDMtOTg3WH0sICAgXG4gICAgdXJsPXtodHRwOi8vZHguZG9pLm9yZy8xMC4xMDAxL2FyY2hkZXJtYXRvbC4yMDA5LjM2MX0sICAgXG4gICAgRE9JPXsxMC4xMDAxL2FyY2hkZXJtYXRvbC4yMDA5LjM2MX0sICAgXG4gICAgbnVtYmVyPXsyfSwgICBcbiAgICBqb3VybmFsPXtBcmNoaXZlcyBvZiBEZXJtYXRvbG9neX0sICAgXG4gICAgcHVibGlzaGVyPXtBbWVyaWNhbiBNZWRpY2FsIEFzc29jaWF0aW9uIChBTUEpfSwgICBcbiAgICBhdXRob3I9e1dlbmssIEt1cnQgUy4gYW5kIEhpZ2dpbnMsIEtyaXN0ZW4gQi4gYW5kIEdyZWVyLCBLZW5uZXRoIEUufSwgICBcbiAgICB5ZWFyPXsyMDEwfSwgICBcbiAgICBtb250aD17ZmVifSAgIFxuICB9YCwgICBcblxuXG4gIC8qIDI4ICovXG4gIGBAbWlzY3ttdWtvbGVpdGxpbmllbjIwMjRpbnRlcm5ldCwgXG4gICBhdXRob3IgICAgICAgPSB7TS4gU3Rlcm4sIEguIEVsbGVtdW50ZXIsIEIuIFBhbG0sIEguLUcuIFBvc3NlbHQsIEMuIFNtYWN6bnl9LCBcbiAgIHRpdGxlICAgICAgICA9IHtNdWtvdmlzemlkb3NlIChDeXN0aXNjaGUgRmlicm9zZSk6IEVyblx1MDBFNGhydW5nIHVuZCBleG9rcmluZSBQYW5rcmVhc2luc3VmZml6aWVuen0sIFxuICAgeWVhciAgICAgICAgID0gezIwMTF9LCBcbiAgIHVybCAgICAgICAgICA9IHtodHRwczovL3d3dy5tdWtvLmluZm8vZmlsZWFkbWluL3VzZXJfdXBsb2FkL3dhc193aXJfdHVuL2xlaXRsaW5pZW4vTExfUzFfbXVrb3Zpc3ppZG9zZV9lcm5hZWhydW5nX2V4b2tyaW5lX3BhbmtyZWFzaW5zdWZmaXppZW56LnBkZlx1MjAwQn0sIFxuICAgbm90ZSAgICAgICAgID0ge1p1Z3JpZmYgYW0gMjUuIFNlcHRlbWJlciAyMDI0fSBcbiB9IGAsXG5cbiBgIFxuXG5AbWlzY3tDRkY0MjAyNGludGVybmV0LCBcbiAgIGF1dGhvciAgICAgICA9IHtDeXN0aWMgRmlicm9zaXMgRm91bmRhdGlvbn0sIFxuICAgdGl0bGUgICAgICAgID0ge1RoZSBEaWdlc3RpdmUgVHJhY3R9LCBcbiAgIHllYXIgICAgICAgICA9IHsyMDI0fSwgXG4gICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cuY2ZmLm9yZy9tYW5hZ2luZy1jZi9kaWdlc3RpdmUtdHJhY3RcdTIwMEJ9LCBcbiAgIG5vdGUgICAgICAgICA9IHtadWdyaWZmIGFtIDI1LiBTZXB0ZW1iZXIgMjAyNH0gXG4gfSBgLFxuICBgIFxuXG5AYXJ0aWNsZXtQb3pvMjAyMCwgXG5cbiB0aXRsZSA9IHtDeXN0aWMgZmlicm9zaXMtcmVsYXRlZCBkaWFiZXRlczogVGhlIHVubWV0IG5lZWR9LCBcblxuIHZvbHVtZSA9IHsxMX0sIFxuXG4gSVNTTiA9IHsxOTQ4LTkzNTh9LCBcblxuIHVybCA9IHtodHRwOi8vZHguZG9pLm9yZy8xMC40MjM5L3dqZC52MTEuaTYuMjEzfSwgXG5cbiBET0kgPSB7MTAuNDIzOS93amQudjExLmk2LjIxM30sIFxuXG4gbnVtYmVyID0gezZ9LCBcblxuIGpvdXJuYWwgPSB7V29ybGQgSm91cm5hbCBvZiBEaWFiZXRlc30sIFxuXG4gcHVibGlzaGVyID0ge0JhaXNoaWRlbmcgUHVibGlzaGluZyBHcm91cCBJbmMufSwgXG5cbiBhdXRob3IgPSB7UG96bywgTGVvbmFyZG8gYW5kIEJlbGxvLCBGYXRpbWFoIGFuZCBNZW5kZXosIFlhbWVseSBhbmQgU3VyYW5pLCBTYWxpbX0sIFxuXG4geWVhciA9IHsyMDIwfSwgXG5cbiBtb250aCA9IGp1biwgXG5cbiBwYWdlcyA9IHsyMTNcdTIwMTMyMTd9IFxuXG59XHRgLFxuICBgQG1pc2N7TXVrbzcyMDI0aW50ZXJuZXQsIFxuICAgYXV0aG9yICAgICAgID0ge011a292aXN6aWRvc2UgZS5WLn0sIFxuICAgdGl0bGUgICAgICAgID0ge1RoZXJhcGllIGRlciBNdWtvdmlzemlkb3NlfSwgXG4gICB5ZWFyICAgICAgICAgPSB7MjAxN30sIFxuICAgdXJsICAgICAgICAgID0ge2h0dHBzOi8vd3d3Lm11a28uaW5mby9tdWtvdmlzemlkb3NlL3RoZXJhcGllLWRlci1tdWtvdmlzemlkb3NlI2MxNTcxXHUyMDBCfSwgXG4gICBub3RlICAgICAgICAgPSB7WnVncmlmZiBhbSAyNS4gU2VwdGVtYmVyIDIwMjR9IFxuIH0gIGAsXG5cbmBAbWlzY3tpbnRlc3RpbmUyMDI0aW50ZXJuZXQsIFxuICAgYXV0aG9yICAgICAgID0ge0luc3RpdHV0ZSBmb3IgUXVhbGl0eSBhbmQgRWZmaWNpZW5jeSBpbiBIZWFsdGggQ2FyZSAoSVFXaUcpfSwgXG4gICB0aXRsZSAgICAgICAgPSB7SW4gYnJpZWY6IEhvdyBkb2VzIHRoZSBpbnRlc3RpbmUgd29yaz99LCBcbiAgIHllYXIgICAgICAgICA9IHsyMDIxfSwgXG4gICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cubmNiaS5ubG0ubmloLmdvdi9ib29rcy9OQksyNzkzMDNcdTIwMEJ9LCBcbiAgIG5vdGUgICAgICAgICA9IHtadWdyaWZmIGFtIDI1LiBTZXB0ZW1iZXIgMjAyNH0gXG4gfSAgYCxcbiAgIGBAYXJ0aWNsZXtEZUxpc2xlMjAxMywgXG5cbiB0aXRsZSA9IHtUaGUgQ3lzdGljIEZpYnJvc2lzIEludGVzdGluZX0sIFxuXG4gdm9sdW1lID0gezN9LCBcblxuIElTU04gPSB7MjE1Ny0xNDIyfSwgXG5cbiB1cmwgPSB7aHR0cDovL2R4LmRvaS5vcmcvMTAuMTEwMS9jc2hwZXJzcGVjdC5hMDA5NzUzfSwgXG5cbiBET0kgPSB7MTAuMTEwMS9jc2hwZXJzcGVjdC5hMDA5NzUzfSwgXG5cbiBudW1iZXIgPSB7OX0sIFxuXG4gam91cm5hbCA9IHtDb2xkIFNwcmluZyBIYXJib3IgUGVyc3BlY3RpdmVzIGluIE1lZGljaW5lfSwgXG5cbiBwdWJsaXNoZXIgPSB7Q29sZCBTcHJpbmcgSGFyYm9yIExhYm9yYXRvcnl9LCBcblxuIGF1dGhvciA9IHtEZSBMaXNsZSwgUi4gQy4gYW5kIEJvcm93aXR6LCBELn0sIFxuXG4geWVhciA9IHsyMDEzfSwgXG5cbiBtb250aCA9IGp1biwgXG5cbiBwYWdlcyA9IHthMDA5NzUzXHUyMDEzYTAwOTc1M30gXG5cbn0gYCxcbiBgQG1pc2N7R2VzdW5kMjAyNGludGVybmV0LCBcbiAgIGF1dGhvciAgICAgICA9IHtHRVNVTkRoZWl0LkdWLkFUfSwgXG4gICB0aXRsZSAgICAgICAgPSB7TGViZXI6IEF1ZmJhdSB1bmQgRnVua3Rpb259LCBcbiAgIHllYXIgICAgICAgICA9IHsyMDI0fSwgXG4gICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cuZ2VzdW5kaGVpdC5ndi5hdC9rcmFua2hlaXRlbi9sZWJlci9mdW5rdGlvbi5odG1sXHUyMDBCfSwgXG4gICBub3RlICAgICAgICAgPSB7WnVncmlmZiBhbSAyNS4gU2VwdGVtYmVyIDIwMjR9IFxuIH0gYCxcblxuIGBAbWlzY3tDRlQyMjAyNGludGVybmV0LCBcbiAgIGF1dGhvciAgICAgICA9IHtDeXN0aWMgRmlicm9zaXMgVHJ1c3R9LCBcbiAgIHRpdGxlICAgICAgICA9IHtIb3cgZG9lcyBjeXN0aWMgZmlicm9zaXMgYWZmZWN0IHRoZSBib2R5P30sIFxuICAgeWVhciAgICAgICAgID0gezIwMjR9LCBcbiAgIHVybCAgICAgICAgICA9IHtodHRwczovL3d3dy5jeXN0aWNmaWJyb3Npcy5vcmcudWsvd2hhdC1pcy1jeXN0aWMtZmlicm9zaXMvaG93LWRvZXMtY3lzdGljLWZpYnJvc2lzLWFmZmVjdC10aGUtYm9keVx1MjAwQn0sIFxuICAgbm90ZSAgICAgICAgID0ge1p1Z3JpZmYgYW0gMjUuIFNlcHRlbWJlciAyMDI0fSBcbiB9ICBgLFxuXG4gYEBtaXNje0xpdmVyMjAyNGludGVybmV0LCBcbiAgIGF1dGhvciAgICAgICA9IHtCZXRhcHVkaSwgQi4sIEFsZWVtLCBBLiwgS290aGFkaWEsIEpQLn0sIFxuICAgdGl0bGUgICAgICAgID0ge0N5c3RpYyBGaWJyb3NpcyBhbmQgTGl2ZXIgRGlzZWFzZX0sIFxuICAgeWVhciAgICAgICAgID0gezIwMjR9LCBcbiAgIHVybCAgICAgICAgICA9IHtodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L2Jvb2tzL05CSzU1NjA4Ni9cdTIwMEJ9LCBcbiAgIG5vdGUgICAgICAgICA9IHtadWdyaWZmIGFtIDI1LiBTZXB0ZW1iZXIgMjAyNH0gXG4gfSAgYCxcbmBAYm9va3tuZXR0ZXIyMDE4YXRsYXMsIFxuXG4gdGl0bGU9e0F0bGFzIG9mIEh1bWFuIEFuYXRvbXl9LCBcblxuIGF1dGhvcj17TmV0dGVyLCBGcmFuayBILn0sIFxuXG4geWVhcj17MjAxOH0sIFxuXG4gZWRpdGlvbj17N3RofSwgXG5cbiBwdWJsaXNoZXI9e0Vsc2V2aWVyfSBcblxufSBgLFxuYEBib29re3RvcnRvcmEyMDE2cHJpbmNpcGxlcywgXG5cbiB0aXRsZT17UHJpbmNpcGxlcyBvZiBBbmF0b215IGFuZCBQaHlzaW9sb2d5fSwgXG5cbiBhdXRob3I9e1RvcnRvcmEsIEdlcmFyZCBKLiBhbmQgRGVycmlja3NvbiwgQnJ5YW4gSC59LCBcblxuIHllYXI9ezIwMTZ9LCBcblxuIGVkaXRpb249ezE1dGh9LCBcblxuIHB1Ymxpc2hlcj17V2lsZXl9IFxuXG59IGAsXG5gQGFydGljbGV7RG9kZ2VfMTk5NSwgXG5cbnRpdGxlPXtNYWxlIGZlcnRpbGl0eSBpbiBjeXN0aWMgZmlicm9zaXN9LCBcblxudm9sdW1lPXszNDZ9LCBcblxuSVNTTj17MDE0MC02NzM2fSwgXG5cbnVybD17aHR0cDovL2R4LmRvaS5vcmcvMTAuMTAxNi9zMDE0MC02NzM2KDk1KTkxNDMxLTV9LCBcblxuRE9JPXsxMC4xMDE2L3MwMTQwLTY3MzYoOTUpOTE0MzEtNX0sIFxuXG5udW1iZXI9ezg5NzV9LCBcblxuam91cm5hbD17VGhlIExhbmNldH0sIFxuXG5wdWJsaXNoZXI9e0Vsc2V2aWVyIEJWfSwgXG5cbmF1dGhvcj17RG9kZ2UsIEouQS59LCBcblxueWVhcj17MTk5NX0sIFxuXG5tb250aD1zZXAsIFxuXG5wYWdlcz17NTg3XHUyMDEzNTg4fSBcblxufSBgLFxuYEBhcnRpY2xle0RhdmlzXzIwMDYsIHRpdGxlPXtDeXN0aWMgRmlicm9zaXMgU2luY2UgMTkzOH0sIHZvbHVtZT17MTczfSwgSVNTTj17MTUzNS00OTcwfSwgdXJsPXtodHRwOi8vZHguZG9pLm9yZy8xMC4xMTY0L3JjY20uMjAwNTA1LTg0MG9lfSwgRE9JPXsxMC4xMTY0L3JjY20uMjAwNTA1LTg0MG9lfSwgbnVtYmVyPXs1fSwgam91cm5hbD17QW1lcmljYW4gSm91cm5hbCBvZiBSZXNwaXJhdG9yeSBhbmQgQ3JpdGljYWwgQ2FyZSBNZWRpY2luZX0sIHB1Ymxpc2hlcj17QW1lcmljYW4gVGhvcmFjaWMgU29jaWV0eX0sIGF1dGhvcj17RGF2aXMsIFBhbWVsYSBCLn0sIHllYXI9ezIwMDZ9LCBtb250aD1tYXIsIHBhZ2VzPXs0NzVcdTIwMTM0ODJ9IH0gYCxcbmBAbWlzY3tDRlQyMDI0aW50ZXJuZXQsIFxuICAgYXV0aG9yICAgICAgID0ge0N5c3RpYyBGaWJyb3NpcyBUcnVzdH0sIFxuICAgdGl0bGUgICAgICAgID0ge0ZlcnRpbGl0eSBhbmQgY3lzdGljIGZpYnJvc2lzfSwgXG4gICB5ZWFyICAgICAgICAgPSB7MjAyNH0sIFxuICAgdXJsICAgICAgICAgID0ge2h0dHBzOi8vd3d3LmN5c3RpY2ZpYnJvc2lzLm9yZy51ay93aGF0LWlzLWN5c3RpYy1maWJyb3Npcy9ob3ctZG9lcy1jeXN0aWMtZmlicm9zaXMtYWZmZWN0LXRoZS1ib2R5L3N5bXB0b21zLW9mLWN5c3RpYy1maWJyb3Npcy9mZXJ0aWxpdHkgXHUyMDBCfSwgXG4gICBub3RlICAgICAgICAgPSB7WnVncmlmZiBhbSAyNS4gU2VwdGVtYmVyIDIwMjR9IFxuIH0gYCxcbiAgYEBtaXNje1NHVzIwMjRpbnRlcm5ldCwgXG4gICBhdXRob3IgICAgICAgPSB7U3RpZnR1bmcgR2VzdW5kaGVpdCBXaXNzZW59LCBcbiAgIHRpdGxlICAgICAgICA9IHtXaWUgZnVua3Rpb25pZXJ0IGRpZSBMdW5nZT99LCBcbiAgIHllYXIgICAgICAgICA9IHsyMDIzfSwgXG4gICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cuc3RpZnR1bmctZ2VzdW5kaGVpdHN3aXNzZW4uZGUvZ2VzdW5kZXMtbGViZW4va29lcnBlci13aXNzZW4vd2llLWZ1bmt0aW9uaWVydC1kaWUtbHVuZ2VcdTIwMEJ9LCBcbiAgIG5vdGUgICAgICAgICA9IHtadWdyaWZmIGFtIDI1LiBTZXB0ZW1iZXIgMjAyNH0gXG4gfSAgYCxcbiAgIGBAbWlzY3tDRlNvdXJjZTIwMjRpbnRlcm5ldCwgXG4gICBhdXRob3IgICAgICAgPSB7Q0YgU291cmNlfSwgXG4gICB0aXRsZSAgICAgICAgPSB7QWJuZWhtZW5kZSBMdW5nZW5mdW5rdGlvbiBhbHMgTGVpdHN5bXB0b20gYmVpIENGfSwgXG4gICB5ZWFyICAgICAgICAgPSB7MjAyM30sIFxuICAgdXJsICAgICAgICAgID0ge2h0dHA6Ly93d3cuY2Zzb3VyY2UuYXQvZGUvY3lzdGlzY2hlLWZpYnJvc2Uvc3ltcHRvbWUvbHVuZ2VcdTIwMEJ9LCBcbiAgIG5vdGUgICAgICAgICA9IHtadWdyaWZmIGFtIDI1LiBTZXB0ZW1iZXIgMjAyNH0gXG4gfSBgLFxuICBgQG1pc2N7Q0ZGMzIwMjRpbnRlcm5ldCwgXG4gICBhdXRob3IgICAgICAgPSB7Q3lzdGljIEZpYnJvc2lzIEZvdW5kYXRpb259LCBcbiAgIHRpdGxlICAgICAgICA9IHtBYm91dCBDeXN0aWMgRmlicm9zaXN9LCBcbiAgIHllYXIgICAgICAgICA9IHsyMDI0fSwgXG4gICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cuY2ZmLm9yZy9pbnRyby1jZi9hYm91dC1jeXN0aWMtZmlicm9zaXNcdTIwMEJ9LCBcbiAgIG5vdGUgICAgICAgICA9IHtadWdyaWZmIGFtIDI1LiBTZXB0ZW1iZXIgMjAyNH0gXG4gfSBgLFxuICBgQGFydGljbGV7Um93ZTIwMDUsIFxuXG4gdGl0bGUgPSB7Q3lzdGljIEZpYnJvc2lzfSwgXG5cbiB2b2x1bWUgPSB7MzUyfSwgXG5cbiBJU1NOID0gezE1MzMtNDQwNn0sIFxuXG4gdXJsID0ge2h0dHA6Ly9keC5kb2kub3JnLzEwLjEwNTYvTkVKTXJhMDQzMTg0fSwgXG5cbiBET0kgPSB7MTAuMTA1Ni9uZWptcmEwNDMxODR9LCBcblxuIG51bWJlciA9IHsxOX0sIFxuXG4gam91cm5hbCA9IHtOZXcgRW5nbGFuZCBKb3VybmFsIG9mIE1lZGljaW5lfSwgXG5cbiBwdWJsaXNoZXIgPSB7TWFzc2FjaHVzZXR0cyBNZWRpY2FsIFNvY2lldHl9LCBcblxuIGF1dGhvciA9IHtSb3dlLCBTdGV2ZW4gTS4gYW5kIE1pbGxlciwgU3RhY2V5IGFuZCBTb3JzY2hlciwgRXJpYyBKLn0sIFxuXG4geWVhciA9IHsyMDA1fSwgXG5cbiBtb250aCA9IG1heSwgXG5cbiBwYWdlcyA9IHsxOTkyXHUyMDEzMjAwMX0gXG5cbn0gYCxcbmBAYXJ0aWNsZXtPX1N1bGxpdmFuXzIwMDksIHRpdGxlPXtDeXN0aWMgZmlicm9zaXN9LCB2b2x1bWU9ezM3M30sIElTU049ezAxNDAtNjczNn0sIHVybD17aHR0cDovL2R4LmRvaS5vcmcvMTAuMTAxNi9zMDE0MC02NzM2KDA5KTYwMzI3LTV9LCBET0k9ezEwLjEwMTYvczAxNDAtNjczNigwOSk2MDMyNy01fSwgbnVtYmVyPXs5Njc4fSwgam91cm5hbD17VGhlIExhbmNldH0sIHB1Ymxpc2hlcj17RWxzZXZpZXIgQlZ9LCBhdXRob3I9e09cdTIwMTlTdWxsaXZhbiwgQnJpYW4gUCBhbmQgRnJlZWRtYW4sIFN0ZXZlbiBEfSwgeWVhcj17MjAwOX0sIG1vbnRoPW1heSwgcGFnZXM9ezE4OTFcdTIwMTMxOTA0fSB9IGAsXG5gQG1pc2N7TXVrbzYyMDI0aW50ZXJuZXQsIFxuICAgYXV0aG9yICAgICAgID0ge0x1bmdlbiBJbmZvcm1hdGlvbnNkaWVuc3R9LCBcbiAgIHRpdGxlICAgICAgICA9IHtNdWtvdmlzemlkb3NlOiBNZWRpa2FtZW50ZSB1bmQgQmVoYW5kbHVuZ30sIFxuICAgeWVhciAgICAgICAgID0gezIwMjN9LCBcbiAgIHVybCAgICAgICAgICA9IHtodHRwczovL3d3dy5sdW5nZW5pbmZvcm1hdGlvbnNkaWVuc3QuZGUva3JhbmtoZWl0ZW4vbXVrb3Zpc3ppZG9zZS90aGVyYXBpZVx1MjAwQn0sIFxuICAgbm90ZSAgICAgICAgID0ge1p1Z3JpZmYgYW0gMjUuIFNlcHRlbWJlciAyMDI0fSBcbiB9IGAsXG4gIGBAYXJ0aWNsZXtEYWhkdWxfMjAxMiwgdGl0bGU9e0EgVW5pZmllZCBBbmF0b215IE9udG9sb2d5IG9mIHRoZSBWZXJ0ZWJyYXRlIFNrZWxldGFsIFN5c3RlbX0sIHZvbHVtZT17N30sIElTU049ezE5MzItNjIwM30sIHVybD17aHR0cDovL2R4LmRvaS5vcmcvMTAuMTM3MS9qb3VybmFsLnBvbmUuMDA1MTA3MH0sIERPST17MTAuMTM3MS9qb3VybmFsLnBvbmUuMDA1MTA3MH0sIG51bWJlcj17MTJ9LCBqb3VybmFsPXtQTG9TIE9ORX0sIHB1Ymxpc2hlcj17UHVibGljIExpYnJhcnkgb2YgU2NpZW5jZSAoUExvUyl9LCBhdXRob3I9e0RhaGR1bCwgV2FzaWxhIE0uIGFuZCBCYWxob2ZmLCBKYW1lcyBQLiBhbmQgQmxhY2tidXJuLCBEYXZpZCBDLiBhbmQgRGllaGwsIEFsZXhhbmRlciBELiBhbmQgSGFlbmRlbCwgTWVsaXNzYSBBLiBhbmQgSGFsbCwgQnJpYW4gSy4gYW5kIExhcHAsIEhpbG1hciBhbmQgTHVuZGJlcmcsIEpvaG4gRy4gYW5kIE11bmdhbGwsIENocmlzdG9waGVyIEouIGFuZCBSaW5nd2FsZCwgTWFydGluIGFuZCBTZWdlcmRlbGwsIEVyaWsgYW5kIFZhbiBTbHlrZSwgQ2VyaSBFLiBhbmQgVmlja2FyeW91cywgTWF0dGhldyBLLiBhbmQgV2VzdGVyZmllbGQsIE1vbnRlIGFuZCBNYWJlZSwgUGF1bGEgTS59LCBlZGl0b3I9e1JvYmluc29uLVJlY2hhdmksIE1hcmN9LCB5ZWFyPXsyMDEyfSwgbW9udGg9ZGVjLCBwYWdlcz17ZTUxMDcwfSB9IGAsXG4gIGBAYm9va3tMYW1icmVjaHRzXzIwMjMsIHRpdGxlPXtNdXNjdWxvc2tlbGV0YWwgQWJub3JtYWxpdGllcyBDYXVzZWQgYnkgQ3lzdGljIEZpYnJvc2lzfSwgSVNCTj17OTc4MTgwMzU2MjczNX0sIElTU049ezI2MzEtODI2MX0sIHVybD17aHR0cDovL2R4LmRvaS5vcmcvMTAuNTc3Mi9pbnRlY2hvcGVuLjEwNDU5MX0sIERPST17MTAuNTc3Mi9pbnRlY2hvcGVuLjEwNDU5MX0sIGJvb2t0aXRsZT17QWR2YW5jZXMgaW4gU2tlbGV0YWwgTXVzY2xlIEhlYWx0aCBhbmQgRGlzZWFzZX0sIHB1Ymxpc2hlcj17SW50ZWNoT3Blbn0sIGF1dGhvcj17TGFtYnJlY2h0cywgTWFya30sIHllYXI9ezIwMjN9LCBtb250aD1tYXIgfSBgLFxuICBgQG1pc2N7QW5hdG9teTIwMjRpbnRlcm5ldCwgXG4gICBhdXRob3IgICAgICAgPSB7WW91c2VmLCBILiwgQWxoYWpqLCBNLiwgRmFrb3lhIEFPLCBldCBhbC59LCBcbiAgIHRpdGxlICAgICAgICA9IHtBbmF0b215LCBTa2luIChJbnRlZ3VtZW50KSwgRXBpZGVybWlzfSwgXG4gICB5ZWFyICAgICAgICAgPSB7MjAyNH0sIFxuICAgdXJsICAgICAgICAgID0ge2h0dHBzOi8vd3d3Lm5jYmkubmxtLm5paC5nb3YvYm9va3MvTkJLNDcwNDY0L30sIFxuICAgbm90ZSAgICAgICAgID0ge1p1Z3JpZmYgYW0gMjUuIFNlcHRlbWJlcjIwMjR9IFxuIH0gIGAsXG4gICBgQGFydGljbGV7REFFMTkzMTcyLCBcblxuYXV0aG9yID0ge05hZWhyaWcsIFN1c2FubmUgYW5kIENoYW8sIENoby1NaW5nIGFuZCBOYWVocmxpY2gsIEx1dHp9LCBcblxudGl0bGUgPSB7e0N5c3RpYyBGaWJyb3Npc319LCBcblxuam91cm5hbCA9IHtEZXV0c2NoZXMgXHUwMEM0cnp0ZWJsYXR0IEludGVybmF0aW9uYWx9LCBcblxudm9sdW1lID0gezExNH0sIFxuXG5udW1iZXIgPSB7MzMtMzR9LCBcblxucGFnZXMgPSB7NTY0LTU3NH0sIFxuXG5kb2kgPSB7MTAuMzIzOC9hcnp0ZWJsLjIwMTcuMDU2NH0sIFxuXG55ZWFyID0gezIwMTd9LCBcblxuYWJzdHJhY3QgPSB7QmFja2dyb3VuZDogVW5pdmVyc2FsIHNjcmVlbmluZyBvZiBuZXdib3JuIGJhYmllcyBmb3IgY3lzdGljIGZpYnJvc2lzIHdhcyBsYXVuY2hlZCBpbiBHZXJtYW55IG9uIDEgU2VwdGVtYmVyIDIwMTYuIEhlcmUgd2UgcHJlc2VudCB1cC10by1kYXRlIGluZm9ybWF0aW9uIG9uIHRoZSBkaWFnbm9zaXMsIHRyZWF0bWVudCwgYW5kIHByb2dub3NpcyBvZiB0aGlzIGRpc2Vhc2UuTWV0aG9kczogVGhpcyBhcnRpY2xlIGlzIGJhc2VkIG9uIHJlbGV2YW50IHB1YmxpY2F0aW9ucyByZXRyaWV2ZWQgYnkgYSBzZWxlY3RpdmUgc2VhcmNoIGluIFB1Yk1lZCwgYWxvbmcgd2l0aCBndWlkZWxpbmVzIGZyb20gR2VybWFueSBhbmQgYWJyb2FkIGFuZCBzeXN0ZW1hdGljIHJldmlld3MuUmVzdWx0czogQ3lzdGljIGZpYnJvc2lzIGlzIGNhdXNlZCBieSBhIGdlbmUgbXV0YXRpb24gbGVhZGluZyB0byBkeXNmdW5jdGlvbiBvZiB0aGUgY3lzdGljIGZpYnJvc2lzIHRyYW5zbWVtYnJhbmUgY29uZHVjdGFuY2UgcmVndWxhdG9yIChDRlRSKSBwcm90ZWluLiBJdCBhZmZlY3RzIG11bHRpcGxlIG9yZ2FuIHN5c3RlbXNcdTIwMTR0aGUgbHVuZ3MsIHBhbmNyZWFzLCB1cHBlciBhaXJ3YXlzLCBsaXZlciwgaW50ZXN0aW5lLCBhbmQgcmVwcm9kdWN0aXZlIG9yZ2Fuc1x1MjAxNHRvIHZhcnlpbmcgZGVncmVlcy4gSXRzIGluY2lkZW5jZSBhbW9uZyBuZXdib3JuIGJhYmllcyBpbiBHZXJtYW55IGlzIGJldHdlZW4gMSBpbiAzMzAwIGFuZCAxIGluIDQ4MDAuIEl0cyBkaWFnbm9zaXMgcmVxdWlyZXMgYm90aCBjbGluaWNhbCBldmlkZW5jZSAocG9zaXRpdmUgbmV3Ym9ybiBzY3JlZW5pbmcsIHNpYmxpbmdbc10gd2l0aCBjeXN0aWMgZmlicm9zaXMsIGNsaW5pY2FsIHNpZ25zKSBhbmQgdGhlIGRlbW9uc3RyYXRpb24gb2YgQ0ZUUiBkeXNmdW5jdGlvbiBieSBhbiBlbGV2YXRlZCBjaGxvcmlkZSBjb25jZW50cmF0aW9uIGluIHN3ZWF0LCBhbmQvb3IgdHdvIGRpc2Vhc2UtY2F1c2luZyBtdXRhdGlvbnMsIGFuZC9vciBhYm5vcm1hbCBlbGVjdHJvcGh5c2lvbG9naWNhbCBmaW5kaW5ncyAobmFzYWwgcG90ZW50aWFsIGRpZmZlcmVuY2UgbWVhc3VyZW1lbnQsIGludGVzdGluYWwgc2hvcnQtY2lyY3VpdCBjdXJyZW50IG1lYXN1cmVtZW50KS4gUGF0aWVudHMgc2hvdWxkIGJlIGNhcmVkIGZvciBieSBzcGVjaWFsaXplZCBjeXN0aWMgZmlicm9zaXMgY2VudGVycyBpbiBjbG9zZSBjb29wZXJhdGlvbiB3aXRoIHRoZWlyIHByaW1hcnkgY2FyZSBwaHlzaWNpYW5zLiBUaGUgbWVkaWFuIGxpZmUgc3BhbiBvZiBwYXRpZW50cyB3aXRoIHRoaXMgZGlzZWFzZSBoYXMgcmlzZW4gc3RlYWRpbHkgdG8gdGhlIGN1cnJlbnQgdmFsdWUgb2YgNDAgeWVhcnMuIEFzaWRlIGZyb20gc3ltcHRvbWF0aWMgdHJlYXRtZW50LCB0aGUgZmlyc3QgbXV0YXRpb24tc3BlY2lmaWMgdHJlYXRtZW50cyBoYXZlIHJlY2VudGx5IGJlY29tZSBhdmFpbGFibGUuQ29uY2x1c2lvbjogRWFybHkgZGlhZ25vc2lzIGFuZCBvcHRpbWl6ZWQgdHJlYXRtZW50IHByb2xvbmcgdGhlIGxpdmVzIG9mIHBlcnNvbnMgd2l0aCBjeXN0aWMgZmlicm9zaXMgYW5kIGltcHJvdmUgdGhlaXIgcXVhbGl0eSBvZiBsaWZlLiBDYXVzYWxseSBkaXJlY3RlZCB0cmVhdG1lbnQgZm9yIGFsbCBwYXRpZW50cyBhbmQgdGhlaXIgZWZmZWN0cyBvbiB0aGUgY291cnNlIG9mIGRpc2Vhc2UgYXJlIG5vdyBjZW50cmFsIGlzc3VlcyBmb3IgZnVydGhlciByZXNlYXJjaC59LCBcblxuVVJMID0ge2h0dHBzOi8vd3d3LmFlcnp0ZWJsYXR0LmRlL2ludC9hcnRpY2xlLmFzcD9pZD0xOTMxNzJ9LCBcblxuZXByaW50ID0ge2h0dHBzOi8vd3d3LmFlcnp0ZWJsYXR0LmRlL3BkZi5hc3A/aWQ9MTkzMTcyfSBcblxufSBgLFxuXG5cblxuXG5cblxuICBcbiAvKiA1MyAqL1xuICBgQGJvb2t7c29ib3R0YV9hbmF0b21pZSwgICBcbiAgICB0aXRsZT17QXRsYXMgZGVyIEFuYXRvbWllIEJhbmQgM30sICAgXG4gICAgYXV0aG9yPXtTb2JvdHRhLCBKb2hhbm5lcyBhbmQgUGF1bHNlbiwgRnJpZWRyaWNoIGFuZCBXYXNjaGtlLCBKZW5zfSwgICBcbiAgICB5ZWFyPXsyMDE3fSwgICBcbiAgICBwdWJsaXNoZXI9e1VyYmFuIFxcJiBGaXNjaGVyfSwgICBcbiAgICBlZGl0aW9uPXsyNC4gQXVmbGFnZX0sICAgXG4gICAgaXNibj17OTc4MzQzNzA5ODE4NX0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7UmVzcDIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e1RoZSBSZXNwaXJhdG9yeSBTeXN0ZW19LCAgIFxuICAgIHRpdGxlPXtOYXNlOiBEZWZpbml0aW9uLCBBbmF0b21pZSB1bmQgRnVua3Rpb259LCAgIFxuICAgIHllYXI9ezIwMTd9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cudGhlcmVzcGlyYXRvcnlzeXN0ZW0uY29tL2RlL25vc2UvfSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDI1LiBTZXB0ZW1iZXIgMjAyNH0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7R3V0YTIwMjEsICAgXG4gICAgdGl0bGU9e0dsb2JhbCBCdXJkZW4gb2YgQW54aWV0eSBhbmQgRGVwcmVzc2lvbiBhbW9uZyBDeXN0aWMgRmlicm9zaXMgUGF0aWVudDogU3lzdGVtYXRpYyBSZXZpZXcgYW5kIE1ldGEtQW5hbHlzaXN9LCAgIFxuICAgIHZvbHVtZT17MjAyMX0sICAgXG4gICAgSVNTTj17MjM1Ni02OTgxfSwgICBcbiAgICB1cmw9e2h0dHA6Ly9keC5kb2kub3JnLzEwLjExNTUvMjAyMS82NzA4ODY1fSwgICBcbiAgICBET0k9ezEwLjExNTUvMjAyMS82NzA4ODY1fSwgICBcbiAgICBqb3VybmFsPXtJbnRlcm5hdGlvbmFsIEpvdXJuYWwgb2YgQ2hyb25pYyBEaXNlYXNlc30sICAgXG4gICAgcHVibGlzaGVyPXtIaW5kYXdpIExpbWl0ZWR9LCAgIFxuICAgIGF1dGhvcj17R3V0YSwgTWlzdGlyZSBUZXNob21lIGFuZCBUZWthbGlnbiwgVGl3YWJ3b3JrIGFuZCBBd29rZSwgTmVmc3UgYW5kIEZpdGUsIFJvYmVyYSBPbGFuYSBhbmQgRGVuZGlyLCBHZXRhaHVuIGFuZCBMZW5qZWJvLCBUc2VnYXllIExvbGFzb30sICAgXG4gICAgZWRpdG9yPXtSYW8sIEtvc2FnaSBTLiBKYWdhbm5hdGhhfSwgICBcbiAgICB5ZWFyPXsyMDIxfSwgICBcbiAgICBtb250aD17anVsfSwgICBcbiAgICBwYWdlcz17MS05fSAgIFxuICB9YCwgICBcbiAgLyogNTYgKi9cbiAgYEBhcnRpY2xle0ZhcnJlbGwyMDE3LCAgIFxuICAgIHRpdGxlPXtEaWFnbm9zaXMgb2YgQ3lzdGljIEZpYnJvc2lzOiBDb25zZW5zdXMgR3VpZGVsaW5lcyBmcm9tIHRoZSBDeXN0aWMgRmlicm9zaXMgRm91bmRhdGlvbn0sICAgXG4gICAgYXV0aG9yPXtGYXJyZWxsLCBQaGlsaXAgTS4gYW5kIFdoaXRlLCBUaG9tYXMgQi4gYW5kIFJlbiwgQ2Fyb2wgTC4gYW5kIEhlbXBzdGVhZCwgU2FyYWggRS4gYW5kIEFjY3Vyc28sIEZyYW5rIGFuZCBEZXJpY2hzLCBOaWNvIGFuZCBIb3dlbnN0aW5lLCBNYXJnYXJldCBTLiBhbmQgTWNDb2xsZXksIFN1c2FubmEgQS4gYW5kIFJvY2ssIE1pY2hhZWwgSi4gYW5kIFJvc2VuZmVsZCwgTWFyZ2FyZXQgYW5kIENhbXBiZWxsLCBQZXRlciBXLn0sICAgXG4gICAgam91cm5hbD17Sm91cm5hbCBvZiBQZWRpYXRyaWNzfSwgICBcbiAgICB2b2x1bWU9ezE4MVN9LCAgIFxuICAgIHBhZ2VzPXs0LS0xNX0sICAgXG4gICAgeWVhcj17MjAxN30sICAgXG4gICAgcHVibGlzaGVyPXtFbHNldmllcn0sICAgXG4gICAgZG9pPXsxMC4xMDE2L2ouanBlZHMuMjAxNi4wOS4wNjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle0Nhc3RlbGxhbmkyMDA4LCAgIFxuICAgIHRpdGxlPXtDb25zZW5zdXMgb24gdGhlIHVzZSBhbmQgaW50ZXJwcmV0YXRpb24gb2YgY3lzdGljIGZpYnJvc2lzIG11dGF0aW9uIGFuYWx5c2lzIGluIGNsaW5pY2FsIHByYWN0aWNlfSwgICBcbiAgICBhdXRob3I9e0Nhc3RlbGxhbmksIENhcmxvIGFuZCBDdXBwZW5zLCBILiBhbmQgTWFjZWsgSnIsIE1pbGFuIGFuZCBDYXNzaW1hbiwgSmVhbi1NYXJpZSBhbmQgS2VyZW0sIEVpdGFuIGFuZCBEdXJpZSwgUGV0ZXIgYW5kIFR1bGxpcywgRWxpemFiZXRoIGFuZCBBc3NhZWwsIEIuIE0uIGFuZCBCb21iaWVyaSwgQ3Jpc3RpbmEgYW5kIEJyb3duLCBBbWFuZGEgYW5kIG90aGVyc30sICAgXG4gICAgam91cm5hbD17Sm91cm5hbCBvZiBDeXN0aWMgRmlicm9zaXN9LCAgIFxuICAgIHZvbHVtZT17N30sICAgXG4gICAgbnVtYmVyPXszfSwgICBcbiAgICBwYWdlcz17MTc5LS0xOTZ9LCAgIFxuICAgIHllYXI9ezIwMDh9LCAgIFxuICAgIHB1Ymxpc2hlcj17RWxzZXZpZXJ9LCAgIFxuICAgIGRvaT17MTAuMTAxNi9qLmpjZi4yMDA4LjAzLjAwOX0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7Q29tZWF1MjAwNCwgICBcbiAgICB0aXRsZT17UG9wdWxhdGlvbi1iYXNlZCBuZXdib3JuIHNjcmVlbmluZyBmb3IgZ2VuZXRpYyBkaXNvcmRlcnM6IHRoZSBNYXNzYWNodXNldHRzIG1vZGVsfSwgICBcbiAgICBhdXRob3I9e0NvbWVhdSwgQXVkcmV5IE0uIGFuZCBMYXJzb24sIENoYWQgYW5kIEVhdG9uLCBSb2JlcnQgQi59LCAgIFxuICAgIGpvdXJuYWw9e1BlZGlhdHJpY3N9LCAgIFxuICAgIHZvbHVtZT17MTE0fSwgICBcbiAgICBudW1iZXI9ezV9LCAgIFxuICAgIHBhZ2VzPXsxMzcwLS0xMzc1fSwgICBcbiAgICB5ZWFyPXsyMDA0fSwgICBcbiAgICBwdWJsaXNoZXI9e0FtZXJpY2FuIEFjYWRlbXkgb2YgUGVkaWF0cmljc30sICAgXG4gICAgZG9pPXsxMC4xNTQyL3BlZHMuMjAwNC0wNzEwfSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXtTb3V0aGVybjIwMDksICAgXG4gICAgdGl0bGU9e05ld2Jvcm4gc2NyZWVuaW5nIGZvciBjeXN0aWMgZmlicm9zaXN9LCAgIFxuICAgIGF1dGhvcj17U291dGhlcm4sIEtldmluIFcuIGFuZCBNXHUwMEU5cmVsbGUsIE1hcmlla2UgTS4gRS4gYW5kIERhbmtlcnQtUm9lbHNlLCBKZWFubmV0dGUgRS4gYW5kIE5hZ2Vsa2Vya2UsIE5pY299LCAgIFxuICAgIGpvdXJuYWw9e0NvY2hyYW5lIERhdGFiYXNlIG9mIFN5c3RlbWF0aWMgUmV2aWV3c30sICAgXG4gICAgdm9sdW1lPXsxfSwgICBcbiAgICBwYWdlcz17Q0QwMDE0MDJ9LCAgIFxuICAgIHllYXI9ezIwMDl9LCAgIFxuICAgIHB1Ymxpc2hlcj17Sm9obiBXaWxleSBcXCYgU29uc30sICAgXG4gICAgZG9pPXsxMC4xMDAyLzE0NjUxODU4LkNEMDAxNDAyLnB1YjJ9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle0N1dHRpbmcyMDE1LCAgIFxuICAgIHRpdGxlPXtDeXN0aWMgZmlicm9zaXMgZ2VuZXRpY3M6IGZyb20gbW9sZWN1bGFyIHVuZGVyc3RhbmRpbmcgdG8gY2xpbmljYWwgYXBwbGljYXRpb259LCAgIFxuICAgIGF1dGhvcj17Q3V0dGluZywgR2FycnkgUi59LCAgIFxuICAgIGpvdXJuYWw9e05hdHVyZSBSZXZpZXdzIEdlbmV0aWNzfSwgICBcbiAgICB2b2x1bWU9ezE2fSwgICBcbiAgICBwYWdlcz17NDUtLTU2fSwgICBcbiAgICB5ZWFyPXsyMDE1fSwgICBcbiAgICBwdWJsaXNoZXI9e05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSwgICBcbiAgICBkb2k9ezEwLjEwMzgvbnJnMzg0OX0gICBcbiAgfWAsICAgXG4gIC8qIDYxICovXG4gIGBAYXJ0aWNsZXtDcm9zc2xleTE5NzksICAgXG4gICAgdGl0bGU9e0RyaWVkLWJsb29kIHNwb3Qgc2NyZWVuaW5nIGZvciBjeXN0aWMgZmlicm9zaXMgaW4gdGhlIG5ld2Jvcm59LCAgIFxuICAgIGF1dGhvcj17Q3Jvc3NsZXksIEpvaG4gUi4gYW5kIEVsbGlvdHQsIFJvYmVydCBCLiBhbmQgU21pdGgsIFBhdHJpY2lhIEEufSwgICBcbiAgICBqb3VybmFsPXtUaGUgTGFuY2V0fSwgICBcbiAgICB2b2x1bWU9ezF9LCAgIFxuICAgIG51bWJlcj17ODEyNn0sICAgXG4gICAgcGFnZXM9ezQ3Mi0tNDc0fSwgICBcbiAgICB5ZWFyPXsxOTc5fSwgICBcbiAgICBwdWJsaXNoZXI9e0Vsc2V2aWVyfSwgICBcbiAgICBkb2k9ezEwLjEwMTYvUzAxNDAtNjczNig3OSk5MTc1Ny05fSAgIFxuICB9YCwgICBcbmBAYm9va3tQYXJhY2NoaW5pMjAxMWlkLCBcblxuIHRpdGxlID0gXCJDeXN0aWMgZmlicm9zaXMgbmV3Ym9ybiBzY3JlZW5pbmc6IERpc3RyaWJ1dGlvbiBvZiBibG9vZCBcblxuIGltbXVub3JlYWN0aXZlIHRyeXBzaW5vZ2VuIGNvbmNlbnRyYXRpb25zIGluIGh5cGVydHJ5cHNpbmVtaWMgXG5cbiBuZW9uYXRlc1wiLCBcblxuIGJvb2t0aXRsZSA9IFwie0pJTUR9IFJlcG9ydHNcIiwgXG5cbiBhdXRob3IgPSBcIlBhcmFjY2hpbmksIFZhbGVudGluYSBhbmQgU2VpYSwgTWFudWVsYSBhbmQgUmFpbW9uZGksIFNhcmEgYW5kIFxuXG4gQ29zdGFudGlubywgTHVjeSBhbmQgQ2FwYXNzbywgUGF0cml6aWEgYW5kIFBvcmNhcm8sIEx1aWdpIGFuZCBcblxuIENvbG9tYm8sIENhcmxhIGFuZCBDb3ZpZWxsbywgRG9tZW5pY28gQSBhbmQgTWFyaWFuaSwgVGl6aWFuYSBhbmQgXG5cbiBNYW56b25pLCBFbWFudWVsYSBhbmQgU2FuZ2lvdmFubmksIE1vbmljYSBhbmQgQ29yYmV0dGEsIENhcmxvXCIsIFxuXG4gcHVibGlzaGVyID0gXCJTcHJpbmdlciBCZXJsaW4gSGVpZGVsYmVyZ1wiLCBcblxuIHBhZ2VzID0gXCIxNy0tMjNcIiwgXG5cbiBzZXJpZXMgPSBcIkpJTUQgcmVwb3J0c1wiLCBcblxuIHllYXIgPSAyMDExLCBcblxuIGFkZHJlc3MgPSBcIkJlcmxpbiwgSGVpZGVsYmVyZ1wiIFxuXG59IGAsXG5gQGFydGljbGV7c291dGhlcm4yMDA3c3VydmV5LCBcblxuIHRpdGxlPXtBIHN1cnZleSBvZiBuZXdib3JuIHNjcmVlbmluZyBmb3IgY3lzdGljIGZpYnJvc2lzIGluIEV1cm9wZX0sIFxuXG4gYXV0aG9yPXtTb3V0aGVybiwgS2V2aW4gVyBhbmQgTXVuY2ssIEFubmUgYW5kIFBvbGxpdHQsIFJvZG5leSBhbmQgVHJhdmVydCwgR2VvcmdlcyBhbmQgWmFub2xsYSwgTHVpc2EgYW5kIERhbmtlcnQtUm9lbHNlLCBKZWFubmV0dGUgYW5kIENhc3RlbGxhbmksIENhcmxvIGFuZCBFQ0ZTIENGIE5lb25hdGFsIFNjcmVlbmluZyBXb3JraW5nIEdyb3VwIGFuZCBvdGhlcnN9LCBcblxuIGpvdXJuYWw9e0pvdXJuYWwgb2YgQ3lzdGljIEZpYnJvc2lzfSwgXG5cbiB2b2x1bWU9ezZ9LCBcblxuIG51bWJlcj17MX0sIFxuXG4gcGFnZXM9ezU3LS02NX0sIFxuXG4geWVhcj17MjAwN30sIFxuXG4gcHVibGlzaGVyPXtFbHNldmllcn0gXG5cbn0gYCxcbiAvKiA2NCkqL1xuIGBAQVJUSUNMRXtNaXNocmEyMDA4LWlhLCBcblxuIHRpdGxlID0gXCJEaWFnbm9zaXMgb2YgY3lzdGljIGZpYnJvc2lzIGJ5IHN3ZWF0IHRlc3Rpbmc6IGFnZS1zcGVjaWZpYyBcblxuIHJlZmVyZW5jZSBpbnRlcnZhbHNcIiwgXG5cbiBhdXRob3IgPSBcIk1pc2hyYSwgQXZhbnRpa2EgYW5kIEdyZWF2ZXMsIFJvbmRhIGFuZCBTbWl0aCwgS2F0aGVyaW5lIGFuZCBcblxuIENhcmxpbiwgSm9obiBCIGFuZCBXb290dG9uLCBBbmRyZXcgYW5kIFN0aXJsaW5nLCBSb2IgYW5kIE1hc3NpZSwgXG5cbiBKb2huXCIsIFxuXG4gYWJzdHJhY3QgPSBcIk9CSkVDVElWRTogVG8gZGV2ZWxvcCByZWZlcmVuY2UgaW50ZXJ2YWxzIChSSXMpIGZvciBzd2VhdCBcblxuIGNobG9yaWRlIGFuZCBzb2RpdW0gaW4gaGVhbHRoeSBjaGlsZHJlbiwgYWRvbGVzY2VudHMsIGFuZCBcblxuIGFkdWx0cy4gU1RVRFkgREVTSUdOOiBIZWFsdGh5LCB1bnJlbGF0ZWQgc3ViamVjdHMgYWdlZCBmcm9tIDUgdG8gXG5cbiA+NTAgeWVhcnMgYW5kIHN1YmplY3RzIHdobyB3ZXJlIHBhbmNyZWF0aWMgaW5zdWZmaWNpZW50IHdpdGggXG5cbiBjeXN0aWMgZmlicm9zaXMgKENGKSB3ZXJlIHJlY3J1aXRlZC4gU3dlYXQgY29sbGVjdGlvbiB3YXMgXG5cbiBwZXJmb3JtZWQgb24gYWxsIHN1YmplY3RzIHdpdGggdGhlIFdlc2NvciBNYWNyb2R1Y3Qgc3lzdGVtLiBcblxuIFN3ZWF0IGVsZWN0cm9seXRlcyB3ZXJlIGFuYWx5emVkIHdpdGggZGlyZWN0IGlvbiBzZWxlY3RpdmUgXG5cbiBlbGVjdHJvZGVzLiBEZWx0YUY1MDggbXV0YXRpb24gYW5hbHlzaXMgd2FzIHBlcmZvcm1lZCBvbiB0aGUgXG5cbiBoZWFsdGh5IHN1YmplY3RzID4vPTE1IHllYXJzIG9sZC4gUkVTVUxUUzogQSB0b3RhbCBvZiAyODIgXG5cbiBoZWFsdGh5IGFuZCA0MCBzdWJqZWN0cyB3aXRoIENGIHdlcmUgaW5jbHVkZWQgZm9yIGFuYWx5c2lzLiBcblxuIFRoZXJlIHdhcyBubyBvdmVybGFwIG9mIHN3ZWF0IGNobG9yaWRlIGJldHdlZW4gdGhlIGdyb3VwIHdpdGggQ0YgXG5cbiBhbmQgdGhlIGdyb3VwIHdpdGhvdXQgQ0YsIGJ1dCB0aGVyZSB3YXMgc29tZSBvdmVybGFwIG9mIHN3ZWF0IFxuXG4gc29kaXVtLiBTd2VhdCBjaGxvcmlkZSBpbmNyZWFzZWQgd2l0aCBhZ2UsIHdpdGggdGhlIHJhdGUgb2YgXG5cbiBpbmNyZWFzZSBzbG93aW5nIHByb2dyZXNzaXZlbHkgdG8gemVybyBhZnRlciB0aGUgYWdlIG9mIDE5IFxuXG4geWVhcnMuIFRoZSBlc3RpbWF0ZWQgbWVkaWFuICg5NVxcJSBSSSkgZm9yIHN3ZWF0IGNobG9yaWRlIHdlcmU6IDUgXG5cbiB0byA5IHllYXJzLCAxMyBtbW9sL0wgKDEtMzkgbW1vbC9MKTsgMTAgdG8gMTQgeWVhcnMsIDE4bW1vbC9MIFxuXG4gKDMtNDcgbW1vbC9MKTsgMTUgdG8gMTkgeWVhcnMsIDIwIG1tb2wvTCAoMy01MW1tb2wvTCk7IGFuZCAyMCsgXG5cbiB5ZWFycyAyMyBtbW9sL0wgKDUtNTZtbW9sL0wpLiBDT05DTFVTSU9OUzogV2UgaGF2ZSBzdWNjZXNzZnVsbHkgXG5cbiBkZXZlbG9wZWQgdGhlIGFnZS1yZWxhdGVkIFJJIGZvciBzd2VhdCBlbGVjdHJvbHl0ZXMsIHdoaWNoIHdpbGwgXG5cbiBiZSB1c2VmdWwgZm9yIGNsaW5pY2lhbnMgaW50ZXJwcmV0aW5nIHN3ZWF0IHRlc3QgcmVzdWx0cyBmcm9tIFxuXG4gY2hpbGRyZW4sIGFkb2xlc2NlbnRzLCBhbmQgYWR1bHRzLlwiLCBcblxuIGpvdXJuYWwgPSBcIkouIFBlZGlhdHIuXCIsIFxuXG4gcHVibGlzaGVyID0gXCJFbHNldmllciBCVlwiLCBcblxuIHZvbHVtZSA9IDE1MywgXG5cbiBudW1iZXIgPSA2LCBcblxuIHBhZ2VzID0gXCI3NTgtLTc2M1wiLCBcblxuIG1vbnRoID0gZGVjLCBcblxuIHllYXIgPSAyMDA4LCBcblxuIGxhbmd1YWdlID0gXCJlblwiIFxuXG59IGAsXG5cbmBcbkBtaXNje2Vmd2Vmd2UsXG5hdXRob3IgPSB7Q3lzdGljIEZpYnJvc2lzIEZvdW5kYXRpb259LFxudGl0bGUgPSB7TmV3Ym9ybiBTY3JlZW5pbmcgZm9yIENGfSwgXG51cmwgPSB7aHR0cHM6Ly93d3cuY2ZmLm9yZy9pbnRyby1jZi9uZXdib3JuLXNjcmVlbmluZy1jZn0sIFxubm90ZSA9IHtBY2Nlc3NlZCBvbiAwMi4gT2N0b2JlciAyMDI0fVxufVxuYCxcblxuXG5cblxuXG4gIC8qIDY2ICovXG4gIGBAYm9va3tIZWd5aTIwMTYsICAgXG4gICAgYXV0aG9yPXtIZWd5aSwgUFx1MDBFOXRlciBhbmQgV2lsc2NoYW5za2ksIE1pY2hhZWwgYW5kIE11YWxsZW0sIFNobXVlbCBhbmQgTHVrYWNzLCBHZXJnZWx5IEwuIGFuZCBTYWhpbi1UXHUwMEYzdGgsIE1pa2xcdTAwRjNzIGFuZCBVYywgQWxpeWUgYW5kIEdyYXksIE1pY2hhZWwgQS4gYW5kIFJha29uY3pheSwgWm9sdFx1MDBFMW4gYW5kIE1hbFx1MDBFOXRoLCBKXHUwMEYzenNlZn0sICAgXG4gICAgZWRpdG9yPXtOaWxpdXMsIEJlcm5kIGFuZCBkZSBUb21iZSwgUGlldGVyIGFuZCBHdWRlcm1hbm4sIFRob21hcyBhbmQgSmFobiwgUmVpbmhhcmQgYW5kIExpbGwsIFJvbGFuZCBhbmQgUGV0ZXJzZW4sIE9sZSBILn0sICAgXG4gICAgdGl0bGU9e0NGVFI6IEEgTmV3IEhvcml6b24gaW4gdGhlIFBhdGhvbWVjaGFuaXNtIGFuZCBUcmVhdG1lbnQgb2YgUGFuY3JlYXRpdGlzfSwgICBcbiAgICBib29rVGl0bGU9e1Jldmlld3Mgb2YgUGh5c2lvbG9neSwgQmlvY2hlbWlzdHJ5IGFuZCBQaGFybWFjb2xvZ3kgVm9sLiAxNzB9LCAgIFxuICAgIHllYXI9ezIwMTZ9LCAgIFxuICAgIHB1Ymxpc2hlcj17U3ByaW5nZXIgSW50ZXJuYXRpb25hbCBQdWJsaXNoaW5nfSwgICBcbiAgICBhZGRyZXNzPXtDaGFtfSwgICBcbiAgICBwYWdlcz17MzctLTY2fSwgICBcbiAgICBpc2JuPXs5NzgtMy0zMTktMzE0OTItMX0sICAgXG4gICAgZG9pPXsxMC4xMDA3LzExMl8yMDE1XzUwMDJ9LCAgIFxuICAgIHVybD17aHR0cHM6Ly9kb2kub3JnLzEwLjEwMDcvMTEyXzIwMTVfNTAwMn0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7ZmFycmVsbDIwMjBpbXBhY3QsICAgXG4gICAgdGl0bGU9e1RoZSBpbXBhY3Qgb2YgdGhlIENGVFIgZ2VuZSBkaXNjb3Zlcnkgb24gY3lzdGljIGZpYnJvc2lzIGRpYWdub3NpcywgY291bnNlbGluZywgYW5kIHByZXZlbnRpdmUgdGhlcmFweX0sICAgXG4gICAgYXV0aG9yPXtGYXJyZWxsLCBQaGlsaXAgTSBhbmQgUm9jaywgTWljaGFlbCBKIGFuZCBCYWtlciwgTWVpIFd9LCAgIFxuICAgIGpvdXJuYWw9e0dlbmVzfSwgICBcbiAgICB2b2x1bWU9ezExfSwgICBcbiAgICBudW1iZXI9ezR9LCAgIFxuICAgIHBhZ2VzPXs0MDF9LCAgIFxuICAgIHllYXI9ezIwMjB9LCAgIFxuICAgIHB1Ymxpc2hlcj17TURQSX0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7Rmx1bWUyMDA5LCAgIFxuICAgIHRpdGxlPXtDeXN0aWMgZmlicm9zaXMgcHVsbW9uYXJ5IGd1aWRlbGluZXM6IGFpcndheSBjbGVhcmFuY2UgdGhlcmFwaWVzfSwgICBcbiAgICBhdXRob3I9e0ZsdW1lLCBQYXRyaWNrIEEuIGFuZCBSb2JpbnNvbiwgS2FyZW4gQS4gYW5kIE8nU3VsbGl2YW4sIEJyaWFuIFAgYW5kIEZpbmRlciwgSm9uIEQgYW5kIFZlbmRlciwgUm9iaW4gTCBhbmQgV2lsbGV5LUNvdXJhbmQsIERvbm5hIEIgYW5kIFdoaXRlLCBUaG9tYXMgQiBhbmQgTWFyc2hhbGwsIEJydWNlIEMufSwgICBcbiAgICBqb3VybmFsPXtSZXNwaXJhdG9yeSBDYXJlfSwgICBcbiAgICB2b2x1bWU9ezU0fSwgICBcbiAgICBudW1iZXI9ezR9LCAgIFxuICAgIHBhZ2VzPXs1MjItLTUzN30sICAgXG4gICAgeWVhcj17MjAwOX0sICAgXG4gICAgcHVibGlzaGVyPXtSZXNwaXJhdG9yeSBDYXJlfSwgICBcbiAgICBkb2k9ezEwLjQxODcvYWFyYzA1NTV9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle1JFSVNNQU4xOTg4NjMyLCAgIFxuICAgIHRpdGxlPXtSb2xlIG9mIGNvbnZlbnRpb25hbCBwaHlzaW90aGVyYXB5IGluIGN5c3RpYyBmaWJyb3Npc30sICAgXG4gICAgam91cm5hbD17VGhlIEpvdXJuYWwgb2YgUGVkaWF0cmljc30sICAgXG4gICAgdm9sdW1lPXsxMTN9LCAgIFxuICAgIG51bWJlcj17NH0sICAgXG4gICAgcGFnZXM9ezYzMi02MzZ9LCAgIFxuICAgIHllYXI9ezE5ODh9LCAgIFxuICAgIGlzc249ezAwMjItMzQ3Nn0sICAgXG4gICAgZG9pPXtodHRwczovL2RvaS5vcmcvMTAuMTAxNi9TMDAyMi0zNDc2KDg4KTgwMzcwLTZ9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMDAyMjM0NzY4ODgwMzcwNn0sICAgXG4gICAgYXV0aG9yPXtSZWlzbWFuLCBKb2huIEouIGFuZCBSaXZpbmd0b24tTGF3LCBCZXR0eSBhbmQgQ29yZXksIE1hcnkgYW5kIE1hcmNvdHRlLCBKYWNxdWVzIGFuZCBXYW5uYW1ha2VyLCBFbGVhbm9yIGFuZCBIYXJjb3VydCwgRGF3biBhbmQgTGV2aXNvbiwgSGVucnl9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle1dhaW53cmlnaHQyMDE1LCAgIFxuICAgIHRpdGxlPXtMdW1hY2FmdG9yLWl2YWNhZnRvciBpbiBwYXRpZW50cyB3aXRoIGN5c3RpYyBmaWJyb3NpcyBob21venlnb3VzIGZvciBQaGU1MDhkZWwgQ0ZUUn0sICAgXG4gICAgYXV0aG9yPXtXYWlud3JpZ2h0LCBDbGFpcmUgRSBhbmQgRWxib3JuLCBKIFN0dWFydCBhbmQgUmFtc2V5LCBCb25uaWUgVyBhbmQgTWFyaWdvd2RhLCBHaXJpc2ggYW5kIEh1YW5nLCBYaW54aW4gYW5kIENpcG9sbGksIE1hcmNvIGFuZCBDb2xvbWJvLCBDYXJsbyBhbmQgRGF2aWVzLCBKYW5lIEMgYW5kIERlIEJvZWNrLCBLcmlzIGFuZCBGbHVtZSwgUGF0cmljayBBIGFuZCBvdGhlcnN9LCAgIFxuICAgIGpvdXJuYWw9e05ldyBFbmdsYW5kIEpvdXJuYWwgb2YgTWVkaWNpbmV9LCAgIFxuICAgIHZvbHVtZT17MzczfSwgICBcbiAgICBudW1iZXI9ezN9LCAgIFxuICAgIHBhZ2VzPXsyMjAtLTIzMX0sICAgXG4gICAgeWVhcj17MjAxNX0sICAgXG4gICAgcHVibGlzaGVyPXtNYXNzYWNodXNldHRzIE1lZGljYWwgU29jaWV0eX0sICAgXG4gICAgZG9pPXsxMC4xMDU2L05FSk1vYTE0MDk1NDd9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle0dlbGxlcjY1OCwgICBcbiAgICBhdXRob3I9e0dlbGxlciwgRGF2aWQgRX0sICAgXG4gICAgdGl0bGU9e0Flcm9zb2wgQW50aWJpb3RpY3MgaW4gQ3lzdGljIEZpYnJvc2lzfSwgICBcbiAgICB2b2x1bWU9ezU0fSwgICBcbiAgICBudW1iZXI9ezV9LCAgIFxuICAgIHBhZ2VzPXs2NTgtLTY3MH0sICAgXG4gICAgeWVhcj17MjAwOX0sICAgXG4gICAgcHVibGlzaGVyPXtSZXNwaXJhdG9yeSBDYXJlfSwgICBcbiAgICBpc3NuPXswMDIwLTEzMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly9yYy5yY2pvdXJuYWwuY29tL2NvbnRlbnQvNTQvNS82NTh9LCAgIFxuICAgIGVwcmludD17aHR0cHM6Ly9yYy5yY2pvdXJuYWwuY29tL2NvbnRlbnQvNTQvNS82NTguZnVsbC5wZGZ9LCAgIFxuICAgIGpvdXJuYWw9e1Jlc3BpcmF0b3J5IENhcmV9ICAgXG4gIH1gLFxuICBgQEFSVElDTEV7R3VvMjAyMi1jaCwgICBcbiAgICB0aXRsZT17V29ybGR3aWRlIHJhdGVzIG9mIGRpYWdub3NpcyBhbmQgZWZmZWN0aXZlIHRyZWF0bWVudCBmb3IgY3lzdGljIGZpYnJvc2lzfSwgICBcbiAgICBhdXRob3I9e0d1bywgSm9uYXRoYW4gYW5kIEdhcnJhdHQsIEFubmEgYW5kIEhpbGwsIEFuZHJld30sICAgXG4gICAgam91cm5hbD17Sm91cm5hbCBvZiBDeXN0aWMgRmlicm9zaXN9LCAgIFxuICAgIHZvbHVtZT17MjF9LCAgIFxuICAgIG51bWJlcj17M30sICAgXG4gICAgcGFnZXM9ezQ1Ni0tNDYyfSwgICBcbiAgICB5ZWFyPXsyMDIyfSwgICBcbiAgICBtb250aD17bWF5fSwgICBcbiAgICBkb2k9ezEwLjEwMTYvai5qY2YuMjAyMS4xMi4wMDF9LCAgIFxuICAgIGtleXdvcmRzPXtDRlRSIG1vZHVsYXRvciwgQ3lzdGljIGZpYnJvc2lzLCBFcGlkZW1pb2xvZ3ksIEl2YWNhZnRvci90ZXphY2FmdG9yL2VsZXhhY2FmdG9yfSwgICBcbiAgICBwdWJsaXNoZXI9e0Vsc2V2aWVyIEJWfSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXtHcmllc2VuYmFjaDIwMTMsICAgXG4gICAgdGl0bGU9e0dlbmUgdGhlcmFweSBwcm9ncmVzcyBhbmQgcHJvc3BlY3RzOiBjeXN0aWMgZmlicm9zaXN9LCAgIFxuICAgIGF1dGhvcj17R3JpZXNlbmJhY2gsIFV0YSBhbmQgQWx0b24sIEVyaWMgV0ZXfSwgICBcbiAgICBqb3VybmFsPXtHZW5lIFRoZXJhcHl9LCAgIFxuICAgIHZvbHVtZT17MjB9LCAgIFxuICAgIG51bWJlcj17Nn0sICAgXG4gICAgcGFnZXM9ezY0MS0tNjQ5fSwgICBcbiAgICB5ZWFyPXsyMDEzfSwgICBcbiAgICBwdWJsaXNoZXI9e05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSwgICBcbiAgICBkb2k9ezEwLjEwMzgvZ3QuMjAxMy4yMH0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7TXVrbzUyMDI0aW50ZXJuZXQsICAgXG4gICAgYXV0aG9yPXtNdWtvdmlzemlkb3NlIGUuVn0sICAgXG4gICAgdGl0bGU9e1RoZXJhcGllIGRlciBNdWtvdmlzemlkb3NlfSwgICBcbiAgICB5ZWFyPXsyMDI0fSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3Lm11a28uaW5mby9tdWtvdmlzemlkb3NlL3RoZXJhcGllLWRlci1tdWtvdmlzemlkb3NlfSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDA3LiBBdWd1c3QgMjAyNH0gICBcbiAgfWAsICAgXG4gIC8qIDc1ICovXG4gIGBAYXJ0aWNsZXtqaWEyMDIzY3lzdGljLCAgIFxuICAgIGF1dGhvcj17SmlhLCBTaGlqaW5nIGFuZCBUYXlsb3ItQ291c2FyLCBKZW5uaWZlciBMLn0sICAgXG4gICAgdGl0bGU9e0N5c3RpYyBGaWJyb3NpcyBNb2R1bGF0b3IgVGhlcmFwaWVzfSwgICBcbiAgICBqb3VybmFsPXtBbm51YWwgUmV2aWV3IG9mIE1lZGljaW5lfSwgICBcbiAgICB2b2x1bWU9ezc0fSwgICBcbiAgICBwYWdlcz17NDEzLTQyNn0sICAgXG4gICAgeWVhcj17MjAyM30sICAgXG4gICAgZG9pPXsxMC4xMTQ2L2FubnVyZXYtbWVkLTA0MjkyMS0wMjE0NDd9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cuYW5udWFscmV2aWV3cy5vcmcvY29udGVudC9qb3VybmFscy8xMC4xMTQ2L2FubnVyZXYtbWVkLTA0MjkyMS0wMjE0NDd9LCAgIFxuICAgIHB1Ymxpc2hlcj17QW5udWFsIFJldmlld3N9LCAgIFxuICAgIGlzc249ezE1NDUtMzI2WH0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7VHVtbWxlcjIwMTYsICAgXG4gICAgYXV0aG9yPXtUXHUwMEZDbW1sZXIsIEIufSwgICBcbiAgICB0aXRsZT17VGhlcmFwaWUgZGVyIE11a292aXN6aWRvc2UgbWl0IENGVFItTW9kdWxhdG9yZW59LCAgIFxuICAgIGpvdXJuYWw9e1BuZXVtb2xvZ2llfSwgICBcbiAgICB2b2x1bWU9ezcwfSwgICBcbiAgICBudW1iZXI9ezN9LCAgIFxuICAgIHBhZ2VzPXszMDEtMzEzfSwgICBcbiAgICB5ZWFyPXsyMDE2fSwgICBcbiAgICBkb2k9ezEwLjEwNTUvcy0wMDQyLTEwMDYwN30sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy50aGllbWUtY29ubmVjdC5jb20vcHJvZHVjdHMvZWpvdXJuYWxzL3BkZi8xMC4xMDU1L3MtMDA0Mi0xMDA2MDcucGRmfSwgICBcbiAgICBwdWJsaXNoZXI9e0dlb3JnIFRoaWVtZSBWZXJsYWcgS0d9LCAgIFxuICAgIGlzc249ezA5MzQtODM4N30gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7TXVrbzQyMDI0aW50ZXJuZXQsICAgXG4gICAgYXV0aG9yPXtNdWtvdmlzemlkb3NlIGUuVn0sICAgXG4gICAgdGl0bGU9e0thZnRyaW8gKFRyaWthZnRhKSAtIFRyaXBsZS1UaGVyYXBpZSBmXHUwMEZDciBNdWtvdmlzemlkb3NlIChDRil9LCAgIFxuICAgIHllYXI9ezIwMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cubXVrby5pbmZvL211a292aXN6aWRvc2UvdGhlcmFwaWUtZGVyLW11a292aXN6aWRvc2Uva2FmdHJpby10cmlrYWZ0YX0sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAwNy4gQXVndXN0IDIwMjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBhcnRpY2xle3JvZGEyMDIybmV3LCAgIFxuICAgIGF1dGhvcj17Um9kYSwgSnVsaWFuYSBhbmQgUGludG8tU2lsdmEsIENhdGFyaW5hIGFuZCBTaWx2YSwgSXJpcyBBLiBJLiBhbmQgTWFpYSwgQ2FybGEgYW5kIEFsbWVpZGEsIFN1c2FuYSBhbmQgRmVycmVpcmEsIFJpY2FyZG8gYW5kIE9saXZlaXJhLCBHdWlvbWFyfSwgICBcbiAgICB0aXRsZT17TmV3IGRydWdzIGluIGN5c3RpYyBmaWJyb3Npczogd2hhdCBoYXMgY2hhbmdlZCBpbiB0aGUgbGFzdCBkZWNhZGU/fSwgICBcbiAgICBqb3VybmFsPXtUaGVyYXBldXRpYyBBZHZhbmNlcyBpbiBDaHJvbmljIERpc2Vhc2V9LCAgIFxuICAgIHZvbHVtZT17MTN9LCAgIFxuICAgIHBhZ2VzPXsyMDQwNjIyMzIyMTA5ODEzNn0sICAgXG4gICAgeWVhcj17MjAyMn0sICAgXG4gICAgZG9pPXsxMC4xMTc3LzIwNDA2MjIzMjIxMDk4MTM2fSwgICBcbiAgICBwbWlkPXszNTYyMDE4OH0sICAgXG4gICAgcG1jPXtQTUM5MTI4MDUyfSwgICBcbiAgICBpc3NuPXsyMDQwLTYyMjN9LCAgIFxuICAgIG5vdGU9e2VDb2xsZWN0aW9uIDIwMjJ9LCAgIFxuICAgIHB1Ymxpc2hlcj17U0FHRSBQdWJsaWNhdGlvbnN9LCAgIFxuICAgIHVybD17aHR0cHM6Ly9kb2kub3JnLzEwLjExNzcvMjA0MDYyMjMyMjEwOTgxMzZ9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBtaXNje011a28zMjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17TXVrb3Zpc3ppZG9zZSBlLlZ9LCAgIFxuICAgIHRpdGxlPXtPcmthbWJpIC0gQ0ZUUi1Nb2R1bGF0b3IgYmVpIHp3ZWkgRjUwOGRlbC1NdXRhdGlvbmVufSwgICBcbiAgICB5ZWFyPXsyMDI0fSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3Lm11a28uaW5mby9tdWtvdmlzemlkb3NlL3RoZXJhcGllLWRlci1tdWtvdmlzemlkb3NlL29ya2FtYml9LCAgIFxuICAgIG5vdGU9e1p1Z3JpZmYgYW0gMDcuIEF1Z3VzdCAyMDI0fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAbWlzY3tNdWtvMjIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e011a292aXN6aWRvc2UgZS5WfSwgICBcbiAgICB0aXRsZT17S2FseWRlY28gKEl2YWZhY3RvcikgLSBDRlRSLU1vZHVsYXRvciBiZWkgR2F0aW5nLU11dGF0aW9uZW59LCAgIFxuICAgIHllYXI9ezIwMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cubXVrby5pbmZvL211a292aXN6aWRvc2UvdGhlcmFwaWUtZGVyLW11a292aXN6aWRvc2Uva2FseWRlY299LCAgIFxuICAgIG5vdGU9e1p1Z3JpZmYgYW0gMDcuIEF1Z3VzdCAyMDI0fSAgIFxuICB9YCwgICBcbiAgLyogODEgKi9cbiAgYEBtaXNje1B1bG1vMjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17UHVsbW9ueXplIGRvcm5hc2UgYWxmYSBJbmhhbGF0aW9uIFNvbHV0aW9ufSwgICBcbiAgICB0aXRsZT17V2hhdCBpcyBQdWxtb255emU/fSwgICBcbiAgICB5ZWFyPXsyMDE5fSwgICBcbiAgICB1cmw9e2h0dHBzOi8vd3d3LnB1bG1venltZS5nbG9iYWwvaG9tZS5odG1sfSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDA3LiBBdWd1c3QgMjAyNH0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7cHVsbW96eW1lX2FwcHJvdmFsX0NERVIsICAgXG4gICAgYXV0aG9yPXtDZW50ZXIgZm9yIERydWcgRXZhbHVhdGlvbiBhbmQgUmVzZWFyY2ggKENERVIpfSwgICBcbiAgICB0aXRsZT17Q0RFUiBMaXN0IG9mIExpY2Vuc2VkIEJpb2xvZ2ljYWwgUHJvZHVjdHMgd2l0aCBSZWZlcmVuY2UgUHJvZHVjdCBFeGNsdXNpdml0eSBhbmQgQmlvc2ltaWxhcml0eSBvciBJbnRlcmNoYW5nZWFiaWxpdHkgRXZhbHVhdGlvbnN9LCAgIFxuICAgIHllYXI9ezIwMTl9LCAgIFxuICAgIHVybD17ZmlsZTovLy9tbnQvZGF0YS9DREVSJTIwTGlzdCUyMG9mJTIwTGljZW5zZWQlMjBCaW9sb2dpY2FsJTIwUHJvZHVjdHMlMjA0LTI0LTIwMTlfLnBkZn0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7Q0ZGMjIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e0N5c3RpYyBGaWJyb3NpcyBGb3VuZGF0aW9ufSwgICBcbiAgICB0aXRsZT17TXVjdXMgVGhpbm5lcnN9LCAgIFxuICAgIHllYXI9ezIwMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cuY2ZmLm9yZy9tYW5hZ2luZy1jZi9tdWN1cy10aGlubmVyc30sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAwNy4gQXVndXN0IDIwMjR9ICAgXG4gIH1gLCAgIFxuICAvKiA4NCAqL1xuICBgQGFydGljbGV7VGVybGl6emkyMDIxLCAgIFxuICAgIHRpdGxlPXtIeXBlcnRvbmljIHNhbGluZSBpbiBwZW9wbGUgd2l0aCBjeXN0aWMgZmlicm9zaXM6IHJldmlldyBvZiBjb21wYXJhdGl2ZSBzdHVkaWVzIGFuZCBjbGluaWNhbCBwcmFjdGljZX0sICAgXG4gICAgYXV0aG9yPXtUZXJsaXp6aSwgVmFsZXJpYSBhbmQgTWFzaSwgRWxlb25vcmEgYW5kIEZyYW5jYWxhbmNpLCBNYXJjbyBhbmQgQnJhZ2dpb24sIENoaWFyYX0sICAgXG4gICAgam91cm5hbD17SXRhbGlhbiBKb3VybmFsIG9mIFBlZGlhdHJpY3N9LCAgIFxuICAgIHZvbHVtZT17NDd9LCAgIFxuICAgIG51bWJlcj17MX0sICAgXG4gICAgcGFnZXM9ezE2OH0sICAgXG4gICAgeWVhcj17MjAyMX0sICAgXG4gICAgcHVibGlzaGVyPXtTcHJpbmdlcn0sICAgXG4gICAgZG9pPXsxMC4xMTg2L3MxMzA1Mi0wMjEtMDExMTctMX0sICAgXG4gICAgdXJsPXtodHRwczovL2lqcG9ubGluZS5iaW9tZWRjZW50cmFsLmNvbS9hcnRpY2xlcy8xMC4xMTg2L3MxMzA1Mi0wMjEtMDExMTctMX0gICBcbiAgfWAsICAgXG4gIFxuICBgQG1pc2N7Q0ZGMTIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e0N5c3RpYyBGaWJyb3NpcyBGb3VuZGF0aW9ufSwgICBcbiAgICB0aXRsZT17QW50aWJpb3RpY3N9LCAgIFxuICAgIHllYXI9ezIwMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cuY2ZmLm9yZy9tYW5hZ2luZy1jZi9hbnRpYmlvdGljc30sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAwNy4gQXVndXN0IDIwMjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBtaXNje1RPQkkyMDI0aW50ZXJuZXQsICAgXG4gICAgYXV0aG9yPXtUT0JJXHUwMEFFIFBvZGhhbGVyXHUwMEFFfSwgICBcbiAgICB0aXRsZT17VE9CSVx1MDBBRSBQb2RoYWxlclx1MDBBRX0sICAgXG4gICAgeWVhcj17MjAyNH0sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy50b2JpcG9kaGFsZXIuY29tL30sICAgXG4gICAgbm90ZT17WnVncmlmZiBhbSAwNy4gQXVndXN0IDIwMjR9ICAgXG4gIH1gLCAgIFxuICBcbiAgYEBtaXNje0VNQTIyMDI0aW50ZXJuZXQsICAgXG4gICAgYXV0aG9yPXtFdXJvcGVhbiBNZWRpY2luZXMgQWdlbmN5fSwgICBcbiAgICB0aXRsZT17VG9iaSBQb2RoYWxlcn0sICAgXG4gICAgeWVhcj17MjAyNH0sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy5lbWEuZXVyb3BhLmV1L2VuL21lZGljaW5lcy9odW1hbi9FUEFSL3RvYmktcG9kaGFsZXJ9LCAgIFxuICAgIG5vdGU9e1p1Z3JpZmYgYW0gMDcuIEF1Z3VzdCAyMDI0fSAgIFxuICB9YCwgICBcbiAgXG4gIGBAbWlzY3tFTUExMjAyNGludGVybmV0LCAgIFxuICAgIGF1dGhvcj17RXVyb3BlYW4gTWVkaWNpbmVzIEFnZW5jeX0sICAgXG4gICAgdGl0bGU9e0NheXN0b259LCAgIFxuICAgIHllYXI9ezIwMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cuZW1hLmV1cm9wYS5ldS9lbi9tZWRpY2luZXMvaHVtYW4vRVBBUi9jYXlzdG9ufSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDA3LiBBdWd1c3QgMjAyNH0gICBcbiAgfWAsICAgXG4gIC8qIDg5ICovXG4gIGBAbWlzY3tNdWtvMTIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e011a292aXN6aWRvc2UgZS5WfSwgICBcbiAgICB0aXRsZT17VGhlcmFwaWUgZGVyIEJhdWNoc3BlaWNoZWxkclx1MDBGQ3NlbmZlaGxmdW5rdGlvbiAoUGFua3JlYXNpbnN1ZmZpemllbnopOiBFbnp5bXN1YnN0aXR1dGlvbn0sICAgXG4gICAgeWVhcj17MjAyNH0sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy5tdWtvLmluZm8vbWl0d2lya2VuL2FyYmVpdHNrcmVpc2UtdW5kLWFyYmVpdHNnZW1laW5zY2hhZnRlbi9hay1lcm5hZWhydW5nL2VybmFlaHJ1bmdzdGhlcmFwaWUtYmVpLW11a292aXN6aWRvc2UvcGFua3JlYXNpbnN1ZmZpemllbnotdW5kLWVuenltc3Vic3RpdHV0aW9ufSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDA3LiBBdWd1c3QgMjAyNH0gICBcbiAgfWAsICAgXG4gIC8qIDkwICovXG4gIGBAbWlzY3tDUkVPTjIwMjRpbnRlcm5ldCwgICBcbiAgICBhdXRob3I9e0NSRU9OXHUwMEFFIChwYW5jcmVsaXBhc2UpfSwgICBcbiAgICB0aXRsZT17QWJvdXQgQ1JFT05cdTAwQUV9LCAgIFxuICAgIHllYXI9ezIwMjR9LCAgIFxuICAgIHVybD17aHR0cHM6Ly93d3cuY3Jlb25oY3AuY29tL2Fib3V0LWNyZW9ufSwgICBcbiAgICBub3RlPXtadWdyaWZmIGFtIDA3LiBBdWd1c3QgMjAyNH0gICBcbiAgfWAsICAgXG4gIC8qIG9yaWdpbmFsIDkxIGlzdCAxNSAqL1xuXG5gQG1pc2N7QnJvYWRJbnN0aXR1dGUyMDI0LFxuICBhdXRob3IgICAgICAgPSB7QnJvYWQgSW5zdGl0dXRlIG9mIE1JVCBhbmQgSGFydmFyZH0sXG4gIHRpdGxlICAgICAgICA9IHtSZXNlYXJjaGVycyBlbmdpbmVlciBpbiB2aXZvIGRlbGl2ZXJ5IHN5c3RlbSBmb3IgcHJpbWUgZWRpdGluZywgcGFydGlhbGx5IHJlc3RvcmluZyB2aXNpb24gaW4gbWljZX0sXG4gIHB1Ymxpc2hlciAgICA9IHtQaHlzLm9yZ30sXG4gIHllYXIgICAgICAgICA9IHsyMDI0fSxcbn1cbmAsXG5gQGFydGljbGV7QmFkb25fT2hfS2ltX0xlZV8yMDI0LCB0aXRsZT17UmVjZW50IGFwcGxpY2F0aW9uIG9mIENSSVNQUi1DYXMxMiBhbmQgT01FR0Egc3lzdGVtIGZvciBnZW5vbWUgZWRpdGluZ30sIHZvbHVtZT17MzJ9LCBJU1NOPXsxNTI1LTAwMTYsIDE1MjUtMDAyNH0sIERPST17MTAuMTAxNi9qLnltdGhlLjIwMjMuMTEuMDEzfSwgbnVtYmVyPXsxfSwgam91cm5hbD17TW9sZWN1bGFyIFRoZXJhcHl9LCBwdWJsaXNoZXI9e0Vsc2V2aWVyfSwgYXV0aG9yPXtCYWRvbiwgSXNhYmVsIFdlbiBhbmQgT2gsIFllb3Vuc3VuIGFuZCBLaW0sIEhvLUpvb25nIGFuZCBMZWUsIFNldW5nIEh3YW59LCB5ZWFyPXsyMDI0fSwgbW9udGg9amFuLCBwYWdlcz17MzJcdTIwMTM0M30sIGxhbmd1YWdlPXtFbmdsaXNofSB9XHUyMDJGYCxcblxuXG4vKiA5NCAqL1xuICBgQGFydGljbGV7U2FpdG9fWHVfRmF1cmVfTWFndWlyZV9LYW5uYW5fQWx0YWUtVHJhbl9Wb19EZXNpbW9uZV9NYWNyYWVfWmhhbmdfMjAyMywgICBcbiAgICB0aXRsZT17RmFuem9yIGlzIGEgZXVrYXJ5b3RpYyBwcm9ncmFtbWFibGUgUk5BLWd1aWRlZCBlbmRvbnVjbGVhc2V9LCAgIFxuICAgIHZvbHVtZT17NjIwfSwgICBcbiAgICByaWdodHM9ezIwMjMgVGhlIEF1dGhvcihzKX0sICAgXG4gICAgSVNTTj17MTQ3Ni00Njg3fSwgICBcbiAgICBET0k9ezEwLjEwMzgvczQxNTg2LTAyMy0wNjM1Ni0yfSwgICBcbiAgICBudW1iZXI9ezc5NzR9LCAgIFxuICAgIGpvdXJuYWw9e05hdHVyZX0sICAgXG4gICAgcHVibGlzaGVyPXtOYXR1cmUgUHVibGlzaGluZyBHcm91cH0sICAgXG4gICAgYXV0aG9yPXtTYWl0bywgTWFrb3RvIGFuZCBYdSwgUGVpeXUgYW5kIEZhdXJlLCBHdWlsaGVtIGFuZCBNYWd1aXJlLCBTYW1hbnRoYSBhbmQgS2FubmFuLCBTb3VteWEgYW5kIEFsdGFlLVRyYW4sIEhhbiBhbmQgVm8sIFNhbSBhbmQgRGVzaW1vbmUsIEFuQW4gYW5kIE1hY3JhZSwgUmhpYW5ub24gSy4gYW5kIFpoYW5nLCBGZW5nfSwgICBcbiAgICB5ZWFyPXsyMDIzfSwgICBcbiAgICBtb250aD17YXVnfSwgICBcbiAgICBwYWdlcz17NjYwLTY2OH0sICAgXG4gICAgbGFuZ3VhZ2U9e2VufSAgIFxuICB9YCwgICBcbiAgXG4gIGBAYXJ0aWNsZXtMaXVfT3Jsb3ZhX09ha2VzX01hX1NwaW5uZXJfQmFuZXlfQ2h1Y2tfVGFuX0tub3R0XywgICBcbiAgICB0aXRsZT17Q2FzWCBlbnp5bWVzIGNvbXByaXNlIGEgZGlzdGluY3QgZmFtaWx5IG9mIFJOQS1ndWlkZWQgZ2Vub21lIGVkaXRvcnN9LCAgIFxuICAgIHZvbHVtZT17NTY2fSwgICBcbiAgICByaWdodHM9ezIwMTkgVGhlIEF1dGhvcihzKSwgdW5kZXIgZXhjbHVzaXZlIGxpY2VuY2UgdG8gU3ByaW5nZXIgTmF0dXJlIExpbWl0ZWR9LCAgIFxuICAgIElTU049ezE0NzYtNDY4N30sICAgXG4gICAgRE9JPXsxMC4xMDM4L3M0MTU4Ni0wMTktMDkwOC14fSwgICBcbiAgICBudW1iZXI9ezc3NDN9LCAgIFxuICAgIGpvdXJuYWw9e05hdHVyZX0sICAgXG4gICAgcHVibGlzaGVyPXtOYXR1cmUgUHVibGlzaGluZyBHcm91cH0sICAgXG4gICAgYXV0aG9yPXtMaXUsIEp1bi1KaWUgYW5kIE9ybG92YSwgTmF0YWxpYSBhbmQgT2FrZXMsIEJlbmphbWluIEwuIGFuZCBNYSwgRW5ibyBhbmQgU3Bpbm5lciwgSGFubmFoIEIuIGFuZCBCYW5leSwgS2F0aGVyaW5lIEwuIE0uIGFuZCBDaHVjaywgSm9uYXRoYW4gYW5kIFRhbiwgRGFuIGFuZCBLbm90dCwgR2F2aW4gSi4gYW5kIEhhcnJpbmd0b24sIEx1Y2FzIEIuIGFuZCBBbC1TaGF5ZWIsIEJhc2VtIGFuZCBXYWduZXIsIEFsZXhhbmRlciBhbmQgQnJcdTAwRjZ0em1hbm4sIEp1bGlhbiBhbmQgU3RhYWhsLCBCcmV0dCBULiBhbmQgVGF5bG9yLCBLaWFuIEwuIGFuZCBEZXNtYXJhaXMsIEpvaG4gYW5kIE5vZ2FsZXMsIEV2YSBhbmQgRG91ZG5hLCBKZW5uaWZlciBBLn0sICAgXG4gICAgeWVhcj17MjAxOX0sICAgXG4gICAgbW9udGg9e2ZlYn0sICAgXG4gICAgcGFnZXM9ezIxOC0yMjN9LCAgIFxuICAgIGxhbmd1YWdlPXtlbn0gICBcbiAgfWAsICAgXG4gIFxuICBgQGFydGljbGV7RG9tYW5fUGFuZGV5X05ldWdlYmF1ZXJfQW5fRGF2aXNfUmFuZG9scGhfTWNFbHJveV9HYW9fUmFndXJhLFxuXHR0aXRsZSAgICAgICAgPSB7UGhhZ2UtYXNzaXN0ZWQgZXZvbHV0aW9uIGFuZCBwcm90ZWluIGVuZ2luZWVyaW5nIHlpZWxkIGNvbXBhY3QsIGVmZmljaWVudCBwcmltZSBlZGl0b3JzfSxcblx0YXV0aG9yICAgICAgID0ge0RvbWFuLCBKLiBMLiBhbmQgUGFuZGV5LCBTLiBhbmQgTmV1Z2ViYXVlciwgTS4gRS4gYW5kIEFuLCBNZWlydWkgYW5kIERhdmlzLCBKZXNzaWUgUi4gYW5kIFJhbmRvbHBoLCBQZXl0b24gQi4gYW5kIE1jRWxyb3ksIEFtYmVyIGFuZCBHYW8sIFhpbiBELiBhbmQgUmFndXJhbSwgQWRpdHlhIGFuZCBSaWNodGVyLCBNaWNoZWxsZSBGLiBhbmQgRXZlcmV0dGUsIEtlbGNlZSBBLiBhbmQgQmFuc2tvdGEsIFNhbWFneWEgYW5kIFRpYW4sIEthdGhyeW4gYW5kIFRhbywgWS4gQWxsZW4gYW5kIFRvbGFyLCBKYWt1YiBhbmQgT3Nib3JuLCBNYXJrIEouIGFuZCBMaXUsIERhdmlkIFIufSxcblx0eWVhciAgICAgICAgID0gMjAyMyxcblx0am91cm5hbCAgICAgID0ge0NlbGx9LFxuXHRwdWJsaXNoZXIgICAgPSB7RWxzZXZpZXJ9LFxuXHR2b2x1bWUgICAgICAgPSAxODYsXG5cdG51bWJlciAgICAgICA9IDE4LFxuXHRwYWdlcyAgICAgICAgPSB7Mzk4My0tNDAwMn0sXG5cdGRvaSAgICAgICAgICA9IHsxMC4xMDE2L2ouY2VsbC4yMDIzLjA3LjAzOX0sXG5cdGxhbmd1YWdlICAgICA9IHtFbmdsaXNofVxufVxuYCwgICBcbiAgXG4gIGBAYXJ0aWNsZXtJV0FXQUtJMjAwNjcwOSwgICBcbiAgICB0aXRsZT17QW5hbHlzaXMgb2YgdGhlIFhCUDEgc3BsaWNpbmcgbWVjaGFuaXNtIHVzaW5nIGVuZG9wbGFzbWljIHJldGljdWx1bSBzdHJlc3MtaW5kaWNhdG9yc30sICAgXG4gICAgam91cm5hbD17QmlvY2hlbWljYWwgYW5kIEJpb3BoeXNpY2FsIFJlc2VhcmNoIENvbW11bmljYXRpb25zfSwgICBcbiAgICB2b2x1bWU9ezM1MH0sICAgXG4gICAgbnVtYmVyPXszfSwgICBcbiAgICBwYWdlcz17NzA5LTcxNX0sICAgXG4gICAgeWVhcj17MjAwNn0sICAgXG4gICAgSVNTTj17MDAwNi0yOTFYfSwgICBcbiAgICBET0k9e2h0dHBzOi8vZG9pLm9yZy8xMC4xMDE2L2ouYmJyYy4yMDA2LjA5LjEwMH0sICAgXG4gICAgdXJsPXtodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMDA2MjkxWDA2MDIxNTUzfSwgICBcbiAgICBhdXRob3I9e0l3YXdha2ksIFRha2FvIGFuZCBBa2FpLCBSeW9rb30sICAgXG4gICAga2V5d29yZHM9e0VSIHN0cmVzcywgSVJFMSwgU3BsaWNpbmcsIFVuZm9sZGVkIHByb3RlaW4gcmVzcG9uc2UsIFhCUDF9ICAgXG4gIH1gLCAgIFxuICAgICAgIFxuXG5cbiAgICBcblxuXSIsICJpbXBvcnQgeyBJbmZvQm94IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQm94ZXNcIjtcbmltcG9ydCB7IFRhYkJ1dHRvblJvdyB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCBDb2xsYXBzaWJsZSBmcm9tIFwiLi4vY29tcG9uZW50cy9Db2xsYXBzaWJsZVwiO1xuaW1wb3J0IHsgU3VwU2Nyb2xsTGluayB9IGZyb20gXCIuLi9jb21wb25lbnRzL1Njcm9sbExpbmtcIjtcbmltcG9ydCB7IEg0fSBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgQnV0dG9uUm93VGFicyB9IGZyb20gXCIuLi9jb21wb25lbnRzL1RhYnNcIjtcbmltcG9ydCBQaWVDaGFydCBmcm9tIFwiLi4vY29tcG9uZW50cy9HcmFwaFwiO1xuaW1wb3J0IFByZUN5c2UgZnJvbSBcIi4uL2NvbXBvbmVudHMvcHJlY3lzZVwiO1xuXG5cbmltcG9ydCB7IFNlY3Rpb24sIFN1YmVzY3Rpb24gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgc3ltcHRvbWRhdGEsIFN5bXB0b21EYXRlbnNhdHogfSBmcm9tIFwiLi4vZGF0YS9zeW1wdG9tLWRhdGFcIjtcbmltcG9ydCB7IGRydWdkYXRhLCBEcnVnRGF0ZW5zYXR6IH0gZnJvbSBcIi4uL2RhdGEvZHJ1Zy1kYXRhXCI7XG5pbXBvcnQgeyB1c2VUYWJOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzL1RhYk5hdmlnYXRpb25cIjtcbmltcG9ydCBQcmltZUVkaXRpbmdDb21wbGV4IGZyb20gXCIuLi9jb21wb25lbnRzL0NvbXBsZXgtc3ZnXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgRGVzY1NvdXJjZXMgZnJvbSBcIi4uL3NvdXJjZXMvZGVzY3JpcHRpb24tc291cmNlc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gRGVzY3JpcHRpb24oKSB7IFxuICAgIHVzZVRhYk5hdmlnYXRpb24oKTtcbiAgICBjb25zdCB7Z29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gICAgY29uc3Qge2dvVG9QYWdlQW5kU2Nyb2xsfSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IG10LTRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiQWJzdHJhY3RcIiBpZD1cIkFic3RyYWN0XCI+XG4gICAgICAgICAgICAgICAgPHAgaWQ9XCJvYmVuaW5kZXNjcmlwdGlvblwiPldlIGFyZSBwcm91ZCB0byBwcmVzZW50IDxQcmVDeXNlLz4sIGEgbmV4dC1nZW5lcmF0aW9uIFByaW1lIEVkaXRpbmcgdGVjaG5vbG9neSwgYXMgaW5ub3ZhdGl2ZSBnZW5lIHRoZXJhcHkgYXBwcm9hY2ggZm9yIGN5c3RpYyBmaWJyb3NpcyBcbiAgICAgICAgICAgICAgICBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSBtb3N0IGNvbW1vbiBtdXRhdGlvbiA8Yj5GNTA4ZGVsPC9iPiBvZiB0aGUgQ0ZUUiBnZW5lLiBDeXN0aWMgZmlicm9zaXMgaXMgYSBzZXZlcmUgZGlzb3JkZXIgdGhhdCBwcmltYXJpbHkgYWZmZWN0cyB0aGUgbHVuZ3MgXG4gICAgICAgICAgICAgICAgYW5kIGZvciB3aGljaCBvbmx5IHNob3J0LXRlcm0gc3ltcHRvbWF0aWMgdHJlYXRtZW50cyBleGlzdC4gUHJlQ3lzZSBhaW1zIHRvIHByb3ZpZGUgbG9uZy10ZXJtIHJlbGllZiBieSBkZWxpdmVyaW5nIGEgc21hbGwgZ2VuZXRpYyBwYXlsb2FkIHdpdGggc3BlZWQgXG4gICAgICAgICAgICAgICAgYW5kIHByZWNpc2lvbi4gT3VyIGFwcHJvYWNoIGludGVncmF0ZXMgPGI+UHJpbWVHdWlkZTwvYj4sIGEgaGlnaGx5IG9wdGltaXplZCBQcmltZSBFZGl0aW5nIHN5c3RlbSwgd2l0aCA8Yj5BaXJCdWRkeTwvYj4sIGEgbm92ZWwgbGlwaWQgbmFub3BhcnRpY2xlIFxuICAgICAgICAgICAgICAgIChMTlApIGRlbGl2ZXJ5IHBsYXRmb3JtLiBUaGUgPGI+U09SVCBMTlBzPC9iPiB1c2VkIGluIEFpckJ1ZGR5IGFyZSBvcHRpbWl6ZWQgZm9yIHB1bG1vbmFyeSBkZWxpdmVyeSwgb2ZmZXJpbmcgcHJlY2lzZSBvcmdhbiB0YXJnZXRpbmcgYW5kIHN0cnVjdHVyYWwgXG4gICAgICAgICAgICAgICAgc3RhYmlsaXR5IHRocm91Z2hvdXQgdGhlIGluaGFsYXRpb24gcHJvY2Vzcy4gU21hbGwgcGF5bG9hZCBzaXplIGlzIGtleSBmb3IgZWZmZWN0aXZlIGRlbGl2ZXJ5IGFuZCBjb21wYXRpYmlsaXR5IHdpdGggdmlyYWwgdmVjdG9ycywgd2hpY2ggaGF2ZSBhIFxuICAgICAgICAgICAgICAgIGxpbWl0ZWQgY2FwYWNpdHkuIFByaW1lR3VpZGUgZW1ib2RpZXMgdGhpcyB2aXNpb24gYnkgdXRpbGl6aW5nIGEgc21hbGxlciwgbW9yZSBlZmZpY2llbnQgZWRpdGluZyBjb21wbGV4LiBDdXJyZW50IHRyZWF0bWVudHMgb2Z0ZW4gcmVxdWlyZSBkYWlseSBcbiAgICAgICAgICAgICAgICBhZG1pbmlzdHJhdGlvbiB3aGVyZWFzIFByZUN5c2UgaXMgY3VycmVudGx5IGRldmVsb3BlZCBhcyBhIG1vbnRobHkgYXBwbGllZCB0aGVyYXB5LiBJbiBhZGRpdGlvbiwgUHJpbWUgRWRpdGluZyBob2xkcyB0aGUgcHJvbWlzZSB0byBvZmZlciBhIGNhdXNhbCBjdXJlLCBcbiAgICAgICAgICAgICAgICB3aGVuIG11dGF0aW9ucyBhcmUgY29ycmVjdGVkIGluIHN0ZW0gY2VsbHMuIE91ciBhcHByb2FjaCBhaW1zIHRvIHJlZHVjZSBtZWRpY2F0aW9uIGZyZXF1ZW5jeSB3aGlsZSBpbXByb3ZpbmcgcGF0aWVudCBvdXRjb21lcy4gXG4gICAgICAgICAgICAgICAgQnkgbG93ZXJpbmcgY29zdHMgYW5kIGltcHJvdmluZyBhY2Nlc3NpYmlsaXR5LCBQcmVDeXNlIGFzcGlyZXMgdG8gb2ZmZXIgYW4gYWR2YW5jZWQgYW5kIHVzZXItZnJpZW5kbHkgY3VyZSBmb3IgY3lzdGljIGZpYnJvc2lzLjwvcD5cbiAgICAgICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiT3VyIE1vdGl2YXRpb25cIiBpZD1cIk91ciBNb3RpdmF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5PdXIgcHJvamVjdCBzdGFydGVkIHdpdGggYSBwZXJzb25hbCBzdG9yeS4gUmF0aGVyIHRoYW4gYmVpbmcgZHJpdmVuIHB1cmVseSBieSBhY2FkZW1pYyBjdXJpb3NpdHksIG91ciBtb3RpdmF0aW9uIGNhbWUgZnJvbSBzb21lb25lIGNsb3NlIHRvIG9uZSBvZiBvdXIgdGVhbSBtZW1iZXJzIFx1MjAxNCBNYXggQmVja21hbm4sIGEgZnJpZW5kIHdobyBoYXMgbGl2ZWQgd2l0aCBDeXN0aWMgRmlicm9zaXMgKENGKSBzaW5jZSBoaXMgYmlydGguIFNwZWNpZmljYWxseSwgaGUgY2FycmllcyB0aGUgRjUwOGRlbCBtdXRhdGlvbiwgdGhlIG1vc3QgY29tbW9uIGdlbmV0aWMgY2F1c2Ugb2YgdGhlIGRpc2Vhc2UuIFNlZWluZyB0aGUgaW1wYWN0IG9mIENGIG9uIGhpcyBkYWlseSBsaWZlXHUyMDE0ZnJlcXVlbnQgdHJlYXRtZW50cyBhbmQgcGh5c2ljYWwgc3RyYWluXHUyMDE0bWFkZSB1cyByZWFsaXplIGhvdyBtdWNoIG1vcmUgY2FuIGJlIGRvbmUgdG8gaW1wcm92ZSB0aGUgbGl2ZXMgb2YgdGhvc2UgYWZmZWN0ZWQsIHdoaWNoIGluc3BpcmVkIHVzIHRvIHB1cnN1ZSB0aGlzIHByb2plY3QuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkFzIHdlIGV4cGxvcmVkIEN5c3RpYyBGaWJyb3NpcyBmdXJ0aGVyLCB3ZSB3ZXJlIHN0cnVjayBieSBob3cgd2lkZXNwcmVhZCBpdCBpcywgYmVpbmcgdGhlIG1vc3QgY29tbW9uIGdlbmV0aWMgZGlzb3JkZXIgaW4gR2VybWFueS4gQXBwcm94aW1hdGVseSA3MCUgb2YgdGhvc2Ugd2l0aCBDRiBhcmUgc3BlY2lmaWNhbGx5IGFmZmVjdGVkIGJ5IHRoZSBGNTA4ZGVsIG11dGF0aW9uIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMVwiLz4gLiBUaGlzIG11dGF0aW9uIGlzIHRoZSBtb3N0IHByZXZhbGVudCBhbmQgd2VsbC1zdHVkaWVkIG9mIHRoZSB0aG91c2FuZHMgb2YgZ2VuZXRpYyB2YXJpYXRpb25zIHRoYXQgY2F1c2UgQ0YsIG1ha2luZyBpdCBhbiBpbXBvcnRhbnQgZm9jdXMgb2YgcmVzZWFyY2ggYW5kIGludGVydmVudGlvbi4gSW4gZmFjdCwgYWJvdXQgOTAlIG9mIEV1cm9wZWFucyBhbmQgaW5kaXZpZHVhbHMgb2YgRXVyb3BlYW4gZGVzY2VudCB3aXRoIENGIGhhdmUgYXQgbGVhc3Qgb25lIEY1MDhkZWwgYWxsZWxlIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMlwiLz48c3VwPiw8L3N1cD48U3VwU2Nyb2xsTGluayBsYWJlbD1cIjNcIi8+LiBUaGlzIHdpZGVzcHJlYWQgcHJldmFsZW5jZSBoaWdobGlnaHRlZCB0aGUgc2lnbmlmaWNhbmNlIG9mIG91ciBwcm9qZWN0XHUyMDE0bm90IGp1c3QgZm9yIG91ciBmcmllbmQsIGJ1dCBmb3IgdGhlIHRob3VzYW5kcyBvZiBvdGhlcnMgYWZmZWN0ZWQgYnkgdGhpcyBtdXRhdGlvbiBhY3Jvc3MgRXVyb3BlIGFuZCBiZXlvbmQuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3Mvb3RoZXIvbWF4LWJpbGQud2VicFwiLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cD5CeSBmb2N1c2luZyBvbiB0aGUgRjUwOGRlbCBtdXRhdGlvbiwgd2UgYWxzbyBob3BlIHRvIGNvbnRyaWJ1dGUgdmFsdWFibGUgaW5zaWdodHMgdG8gdGhlIGdsb2JhbCBjeXN0aWMgZmlicm9zaXMgY29tbXVuaXR5LiBBbHRob3VnaCB0aGlzIG11dGF0aW9uIGlzIG1vc3QgY29tbW9uIGluIEV1cm9wZWFuIHBvcHVsYXRpb25zLCBpdCBpcyBhbHNvIGZvdW5kIGluIG90aGVyIHJlZ2lvbnMgYXJvdW5kIHRoZSB3b3JsZCA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjRcIi8+PHN1cD4sPC9zdXA+PFN1cFNjcm9sbExpbmsgbGFiZWw9XCI1XCIvPi4gT3VyIHJlc2VhcmNoIGNvdWxkIHRodXMgaGVscCBpbmZvcm0gdHJlYXRtZW50IHN0cmF0ZWdpZXMgYW5kIGhlYWx0aCBwb2xpY2llcyBvbiBhbiBpbnRlcm5hdGlvbmFsIHNjYWxlLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPldpdGggc2V2ZXJhbCB0ZWFtIG1lbWJlcnMgZm9jdXNpbmcgdGhlaXIgc3R1ZGllcyBvbiBiaW9tZWRpY2FsIGZpZWxkcywgd2UgYmVnYW4gYnkgZXhhbWluaW5nIHRoZSBjdXJyZW50IGxhbmRzY2FwZSBvZiBDRiB0cmVhdG1lbnRzLiBJdCBxdWlja2x5IGJlY2FtZSBjbGVhciB0aGF0LCBkZXNwaXRlIHJlY2VudCBwcm9ncmVzcywgdGhlcmUgaXMgc3RpbGwgbm8gY3VyZS4gTW9zdCB0aGVyYXBpZXMsIHN1Y2ggYXMgQ0ZUUiBtb2R1bGF0b3JzLCBmb2N1cyBvbiBtYW5hZ2luZyBzeW1wdG9tcyBhbmQgaW1wcm92aW5nIGx1bmcgZnVuY3Rpb24gcmF0aGVyIHRoYW4gYWRkcmVzc2luZyB0aGUgdW5kZXJseWluZyBjYXVzZSBvZiB0aGUgZGlzZWFzZSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjZcIi8+IC4gVGhpcyByZWFsaXphdGlvbiBsZWQgdXMgdG8gZXhwbG9yZSBnZW5lLWVkaXRpbmcgdGVjaG5vbG9naWVzLCB0aHVzIGxlYWRpbmcgdXMgdG8gUHJpbWUgRWRpdGluZ1x1MjAxNGEgbmV4dCBnZW5lcmF0aW9uIGdlbmUgZWRpdGluZyBtZXRob2RcdTIwMTRjYXB0dXJlZCBvdXIgYXR0ZW50aW9uLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPldoaWxlIFByaW1lIEVkaXRpbmcgaG9sZHMgZ3JlYXQgcHJvbWlzZSwgd2UgZm91bmQgdGhhdCBpdHMgYXBwbGljYXRpb24gZm9yIGN5c3RpYyBmaWJyb3NpcywgcGFydGljdWxhcmx5IHRoZSBGNTA4ZGVsIG11dGF0aW9uLCBoYWQgbm90IGJlZW4gZnVsbHkgZXhwbG9yZWQuIFJlY29nbml6aW5nIHRoaXMgZ2FwIGluIHRoZSByZXNlYXJjaCBpbnNwaXJlZCB1cyB0byB0YWtlIG9uIHRoZSBjaGFsbGVuZ2Ugb2Ygb3B0aW1pemluZyBQcmltZSBFZGl0aW5nIGZvciB0aGlzIHNwZWNpZmljIG11dGF0aW9uLiBPdXIgbWlzc2lvbiBiZWNhbWUgY2xlYXI6IHdlIHdhbnQgdG8gY29udHJpYnV0ZSB0byB0aGUgZGV2ZWxvcG1lbnQgb2YgYSBwb3RlbnRpYWwgdGhlcmFwZXV0aWMgYXBwcm9hY2ggZm9yIGN5c3RpYyBmaWJyb3Npcywgc3BlY2lmaWNhbGx5IHRhcmdldGluZyB0aGUgRjUwOGRlbCBtdXRhdGlvbiB3aXRoIHByaW1lIGVkaXRpbmcsIGFuZCBicmluZyB1cyBjbG9zZXIgdG8gYSBsb25nLXRlcm0gc29sdXRpb24gZm9yIHBhdGllbnRzLiA8L3A+XG4gICAgICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIkN5c3RpYyBGaWJyb3Npc1wiIGlkPVwiQ3lzdGljIEZpYnJvc2lzXCI+XG4gICAgICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJPdmVydmlld1wiIGlkPVwiQ3lzdGljIEZpYnJvc2lzMVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgZGF0YS1hb3M9XCJ6b29tLXktb3V0XCIgPkN5c3RpYyBGaWJyb3NpcyAoQ0YpIGlzIGEgY29tbW9uIGxpZmUtbGltaXRpbmcgZ2VuZXRpYyBkaXNvcmRlciwgcGFydGljdWxhcmx5IGFmZmVjdGluZyB0aGUgQ2F1Y2FzaWFuIHBvcHVsYXRpb24sIHdpdGggYXBwcm94aW1hdGVseSA8Yj4xNjIsNDAwIHBlb3BsZSB3b3JsZHdpZGU8L2I+IGxpdmluZyB3aXRoIHRoZSBjb25kaXRpb24gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI3XCIvPiAuIFN0YXRpc3RpY2FsbHksIGFib3V0IDxiPm9uZSBpbiBldmVyeSAzLDMwMDwvYj4gd2hpdGUgbmV3Ym9ybnMgaXMgYm9ybiB3aXRoIENGIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiOFwiLz4gLiBBbmQgYWNjb3JkaW5nIHRvIHRoZSBHZXJtYW4gQ3lzdGljIEZpYnJvc2lzIFJlZ2lzdHJ5LCB0aGUgYXZlcmFnZSBsaWZlIGV4cGVjdGFuY3kgZm9yIGNoaWxkcmVuIGJvcm4gd2l0aCBDRiBpbiAyMDIxIHdhcyBhcm91bmQgNTcgeWVhcnMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI5XCIvPiAsIGhpZ2hsaWdodGluZyB0aGUgc2V2ZXJlIGFuZCBsaWZlLXNob3J0ZW5pbmcgbmF0dXJlIG9mIHRoZSBkaXNlYXNlLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIG1vZGVybiB1bmRlcnN0YW5kaW5nIG9mIENGIGRhdGVzIGJhY2sgdG8gMTkyMiB3aGVuIERyLiBEb3JvdGh5IEFuZGVyc2VuLCBhIHBlZGlhdHJpYyBzcGVjaWFsaXN0LCBmaXJzdCBkZXNjcmliZWQgdGhlIGRpc2Vhc2UgYW5kIGNvaW5lZCB0aGUgdGVybSBcIkN5c3RpYyBGaWJyb3Npc1wiIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTBcIi8+IC4gSW4gR2VybWFueSwgaXQgaXMgY29tbW9ubHkga25vd24gYXMgXCJNdWtvdmlzemlkb3NlLFwiIGRlcml2ZWQgZnJvbSB0aGUgTGF0aW4gd29yZHMgbWVhbmluZyBcIm11Y3VzXCIgYW5kIFwidmlzY291c1wiIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTBcIi8+ICwgZW1waGFzaXppbmcgdGhlIGNoYXJhY3RlcmlzdGljIHRoaWNrLCBzdGlja3kgbXVjdXMgdGhhdCBkZWZpbmVzIHRoZSBjb25kaXRpb24gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxMVwiLz48c3VwPiw8L3N1cD48U3VwU2Nyb2xsTGluayBsYWJlbD1cIjEyXCIvPi4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkdlbmV0aWMgcmVzZWFyY2ggaGFzIGlkZW50aWZpZWQgb3ZlciAxLDcwMCBtdXRhdGlvbnMgaW4gdGhlIENGVFIgKEN5c3RpYyBGaWJyb3NpcyBUcmFuc21lbWJyYW5lIENvbmR1Y3RhbmNlIFJlZ3VsYXRvcikgZ2VuZSwgd2l0aCB0aGUgXHUyMjA2RjUwOCBtdXRhdGlvbiBiZWluZyB0aGUgbW9zdCBjb21tb24sIGFmZmVjdGluZyBhYm91dCA3MCUgb2YgQ0YgcGF0aWVudHMuIFRoaXMgbXV0YXRpb24gcHJldmVudHMgdGhlIHByb3BlciBmb2xkaW5nIG9mIHRoZSBDRlRSIHByb3RlaW4sIHNpZ25pZmljYW50bHkgaW1wYWlyaW5nIGl0cyBmdW5jdGlvbiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjEzXCIvPiAuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgQ0ZUUiBwcm90ZWluIHJlZ3VsYXRlcyB0aGUgZmxvdyBvZiBjaGxvcmlkZSBpb25zIGFjcm9zcyB0aGUgbWVtYnJhbmVzIG9mIGNlbGxzIGluIHRoZSBsdW5ncywgZGlnZXN0aXZlIHN5c3RlbSwgYW5kIG90aGVyIG9yZ2Fucy4gVGhpcyBpb24gZmxvdyBpcyBlc3NlbnRpYWwgZm9yIGRyYXdpbmcgd2F0ZXIgaW50byBzdXJyb3VuZGluZyB0aXNzdWVzLCB3aGljaCBoZWxwcyBtYWludGFpbiB0aGUgcHJvcGVyIGh5ZHJhdGlvbiBhbmQgY29uc2lzdGVuY3kgb2YgbXVjdXMuIEluIHBhdGllbnRzIHdpdGggQ0YsIHRoZSBkaXNydXB0aW9uIG9mIHRoaXMgcHJvY2VzcyBwcmV2ZW50cyBzdWZmaWNpZW50IHdhdGVyIGZyb20gZW50ZXJpbmcgdGhlIG11Y3VzLCBtYWtpbmcgaXQgYWJub3JtYWxseSB0aGljayBhbmQgc3RpY2t5LiBUaGUgYWNjdW11bGF0aW9uIG9mIHRoaXMgbXVjdXMgbGVhZHMgdG8gYW4gb2JzdHJ1Y3Rpb24gb2YgYWlyd2F5cyBhbmQgZGlnZXN0aXZlIGR1Y3RzLCByZXN1bHRpbmcgaW4gY2hyb25pYyBsdW5nIGluZmVjdGlvbnMsIGluZmxhbW1hdGlvbiwgaW1wYWlyZWQgZGlnZXN0aW9uLCBhbmQgbWFsbnV0cml0aW9uPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxNFwiLz4gLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXNldHRlY29udGFpbmVyXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wcm9qZWN0LWRlc2NyaXB0aW9uL2x1bmctZXBoaXRlbC1iaW9yZW5kZXIucG5nXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSAxOiA8L2I+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEx1bmcgZXBoaXRlbGl1bSBvZiBodW1hbiB3aXRoIGNvcnJlY3QgQ0ZUUiBleHByZXNzaW9uIChsZWZ0KSBhbmQgQ3lzdGljIEZpYnJvc2lzIChyaWdodClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwiY2xhc3Nlcy1tdXRhdGlvbnMtY29sbGFwc2libGVcIiB0aXRsZT1cIkRpZmZlcmVudCBjbGFzc2VzIG9mIG11dGF0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBtdXRhdGlvbnMgY2FuIGJlIGRpdmlkZWQgaW50byA8dT5zaXggY2xhc3NlczwvdT4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxNVwiLz4gOjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj5DbGFzcyBJPC9iPiBtdXRhdGlvbnMgcHJldmVudCB0aGUgc3ludGhlc2lzIG9mIENGVFIgcHJvdGVpbnMgYWx0b2dldGhlciwgbWVhbmluZyBubyBjaGFubmVscyBhcmUgcHJvZHVjZWQuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxiPkNsYXNzIEk8L2I+IG11dGF0aW9ucywgd2hpY2ggaW5jbHVkZSB0aGUgY29tbW9uIEY1MDhkZWwgbXV0YXRpb24gKHJlc3BvbnNpYmxlIGZvciBhYm91dCA4NSUgb2YgY2FzZXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxNlwiLz4gLCBkaXNydXB0IHRoZSBtYXR1cmF0aW9uIHByb2Nlc3Mgb2YgdGhlIHByb3RlaW4uIEFzIGEgcmVzdWx0LCB0aGUgZGVmZWN0aXZlIGNoYW5uZWxzIGFyZSBxdWlja2x5IGRlZ3JhZGVkIGJ5IHRoZSBjZWxsLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj5DbGFzcyBJPC9iPiBtdXRhdGlvbnMsIGtub3duIGFzIFx1MjAxQ2dhdGluZ1x1MjAxRCBtdXRhdGlvbnMsIHJlZHVjZSB0aGUgbGlrZWxpaG9vZCB0aGF0IHRoZSBDRlRSIGNoYW5uZWwgd2lsbCBvcGVuIGNvcnJlY3RseSwgaW1wYWlyaW5nIGl0cyBmdW5jdGlvbi48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGI+Q2xhc3MgSVYsIFY8L2I+IGFuZCA8Yj5WSTwvYj4gbXV0YXRpb25zIGFyZSByYXJlLiBUaGVzZSBtdXRhdGlvbnMgcmVzdWx0IGluIHRoZSBwcm9kdWN0aW9uIG9mIHVuc3RhYmxlIG9yIGluZWZmaWNpZW50IENGVFIgcHJvdGVpbnMsIHdoaWNoIGRvIG5vdCBmdW5jdGlvbiBhZGVxdWF0ZWx5IGFuZCBhcmUgcHJvZHVjZWQgaW4gaW5zdWZmaWNpZW50IG51bWJlcnMuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHByZXZhbGVuY2Ugb2YgQ0YgdmFyaWVzIGdsb2JhbGx5LCB3aXRoIGhpZ2hlciBjb25jZW50cmF0aW9ucyBvZiBjYXNlcyBpbiBFdXJvcGUsIE5vcnRoIEFtZXJpY2EsIGFuZCBwYXJ0cyBvZiBPY2VhbmlhLiBUaGlzIGdlb2dyYXBoaWMgdmFyaWF0aW9uIHVuZGVyc2NvcmVzIHRoZSBuZWVkIGZvciByZWdpb25hbGx5IHRhaWxvcmVkIGhlYWx0aGNhcmUgc29sdXRpb25zLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FzZXR0ZWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2NoYXJ0cy1tYXBzL2NmcGVyMTAtMDAwLnBuZ1wiPjwvaW1nPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5DRiBpcyBvZnRlbiBkaWFnbm9zZWQgZWFybHkgdGhyb3VnaCBuZXdib3JuIHNjcmVlbmluZyBwcm9ncmFtcywgd2hpY2ggZGV0ZWN0IGVsZXZhdGVkIGxldmVscyBvZiBpbW11bm9yZWFjdGl2ZSB0cnlwc2lub2dlbiAoSVJUKS4gQSBwb3NpdGl2ZSByZXN1bHQgdHlwaWNhbGx5IGxlYWRzIHRvIGEgc3dlYXQgdGVzdCwgdGhlIGdvbGQgc3RhbmRhcmQgZm9yIGRpYWdub3NpbmcgQ0YsIHdoaWNoIG1lYXN1cmVzIHRoZSBjb25jZW50cmF0aW9uIG9mIGNobG9yaWRlIGluIHN3ZWF0LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+QWx0aG91Z2ggdGhlcmUgaXMgY3VycmVudGx5IG5vIGN1cmUgZm9yIENGLCBwYXRpZW50cyBtdXN0IG1hbmFnZSB0aGUgZGlzZWFzZSB0aHJvdWdob3V0IHRoZWlyIGxpdmVzLCByZWx5aW5nIG9uIHRyZWF0bWVudHMgdGhhdCBhbGxldmlhdGUgc3ltcHRvbXMgYnV0IGRvIG5vdCBhZGRyZXNzIHRoZSByb290IGNhdXNlLiBUaGlzIGxpZmVsb25nIG1hbmFnZW1lbnQgaW1wb3NlcyBzaWduaWZpY2FudCBmaW5hbmNpYWwgYnVyZGVucyBvbiBhZmZlY3RlZCBmYW1pbGllcyBhbmQgaGVhbHRoY2FyZSBzeXN0ZW1zLCBwYXJ0aWN1bGFybHkgaW4gcmVnaW9ucyB3aXRoIGEgaGlnaCBwcmV2YWxlbmNlIG9mIENGIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTVcIi8+IC4gSW4gcmVjZW50IHllYXJzLCA8Yj5DRlRSIG1vZHVsYXRvcnM8L2I+LCB3aGljaCB0YXJnZXQgdGhlIHVuZGVybHlpbmcgZ2VuZXRpYyBkZWZlY3QsIGhhdmUgb2ZmZXJlZCBuZXcgaG9wZSBmb3IgbWFueSBwYXRpZW50cy4gPC9wPlxuICAgICAgICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIlRoZSBDRlRSIFByb3RlaW5cIiBpZD1cIkN5c3RpYyBGaWJyb3NpczJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHA+VGhlIENGVFIgKEN5c3RpYyBGaWJyb3NpcyBUcmFuc21lbWJyYW5lIENvbmR1Y3RhbmNlIFJlZ3VsYXRvcikgcHJvdGVpbiBpcyBhbiBpb24gY2hhbm5lbCB0aGF0IGZhY2lsaXRhdGVzIHRoZSBtb3ZlbWVudCBvZiBjaGxvcmlkZSBpb25zIGFjcm9zcyBlcGl0aGVsaWFsIGNlbGwgbWVtYnJhbmVzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTdcIi8+IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMThcIi8+IC4gVGhpcyBtb3ZlbWVudCBpcyBlc3NlbnRpYWwgZm9yIGNvbnRyb2xsaW5nIHRoZSBmbG93IG9mIHdhdGVyIGluIHRpc3N1ZXMgc3VjaCBhcyB0aGUgbHVuZ3MgYW5kIGludGVzdGluZXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxOVwiLz4gLiBUaGlzIGluY3JlYXNlIGluIGlvbiBjb25jZW50cmF0aW9uIGluIHRoZSBleHRyYWNlbGx1bGFyIHNwYWNlIGRyYXdzIHdhdGVyIG91dCBvZiB0aGUgY2VsbHMgYW5kIGludG8gdGhlIHN1cnJvdW5kaW5nIG11Y3VzIG9yIGZsdWlkLCBlbnN1cmluZyBpdCBzdGF5cyB0aGluIGFuZCBtb2JpbGUgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyMFwiLz4gLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+VGhlIEN5c3RpYyBGaWJyb3NpcyBUcmFuc21lbWJyYW5lIENvbmR1Y3RhbmNlIFJlZ3VsYXRvciAoQ0ZUUikgcHJvdGVpbiBpcyBhIHNwZWNpYWxpemVkIHByb3RlaW4gdGhhdCBwbGF5cyBhIGNydWNpYWwgcm9sZSBpbiBtYWludGFpbmluZyB0aGUgYmFsYW5jZSBvZiBpb25zIGFuZCB3YXRlciBvbiB0aGUgc3VyZmFjZSBvZiBjZXJ0YWluIGNlbGxzLCBwYXJ0aWN1bGFybHkgaW4gdGhlIGx1bmdzLCBwYW5jcmVhcywgYW5kIG90aGVyIG9yZ2FucyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE4XCIvPiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjIxXCIvPiAuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJTdHJ1Y3R1cmUgb2YgQ0ZUUlwiIGlkPVwic3RydWN0dXJlLWNmdHJcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+Q0ZUUiBpcyBhIGxhcmdlIHByb3RlaW4gZW1iZWRkZWQgaW4gdGhlIGNlbGwgbWVtYnJhbmUuIEl0IGJlbG9uZ3MgdG8gYSBmYW1pbHkgb2YgcHJvdGVpbnMga25vd24gYXMgQUJDIHRyYW5zcG9ydGVycyAoQVRQLUJpbmRpbmcgQ2Fzc2V0dGUgdHJhbnNwb3J0ZXJzKSwgd2hpY2ggdHlwaWNhbGx5IG1vdmUgbW9sZWN1bGVzIGFjcm9zcyBjZWxsIG1lbWJyYW5lcyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE3XCIvPiAuIENGVFIsIGhvd2V2ZXIsIGlzIHVuaXF1ZSBiZWNhdXNlIGl0IGZ1bmN0aW9ucyBhcyBhbiBpb24gY2hhbm5lbCByYXRoZXIgdGhhbiBhIHRyYW5zcG9ydGVyIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMThcIi8+IC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHByb3RlaW4gY29uc2lzdHMgb2Ygc2V2ZXJhbCBpbXBvcnRhbnQgcmVnaW9uczogPC9wPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+VHdvIHRyYW5zbWVtYnJhbmUgZG9tYWlucyAoVE1Ecyk8L2I+OiBUaGVzZSBzcGFuIHRoZSBjZWxsIG1lbWJyYW5lIGFuZCBjcmVhdGUgdGhlIGNoYW5uZWwgdGhyb3VnaCB3aGljaCBpb25zIGNhbiBmbG93IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjBcIi8+IC48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Ud28gbnVjbGVvdGlkZS1iaW5kaW5nIGRvbWFpbnMgKE5CRHMpPC9iPjogTG9jYXRlZCBvbiB0aGUgY3l0b3BsYXNtaWMgc2lkZSBvZiB0aGUgbWVtYnJhbmUsIHRoZXNlIGRvbWFpbnMgYmluZCBhbmQgaHlkcm9seXplIEFUUCAoYWRlbm9zaW5lIHRyaXBob3NwaGF0ZSkuIEFUUCBiaW5kaW5nIGFuZCBoeWRyb2x5c2lzIHJlZ3VsYXRlIHRoZSBvcGVuaW5nIGFuZCBjbG9zaW5nIG9mIHRoZSBjaGxvcmlkZSBjaGFubmVsIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTdcIi8+ICA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjIxXCIvPiAuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+UmVndWxhdG9yeSAoUikgZG9tYWluPC9iPjogVGhpcyBkb21haW4gaXMgdW5pcXVlIHRvIENGVFIgYW5kIGNvbnRyb2xzIHRoZSBhY3Rpdml0eSBvZiB0aGUgcHJvdGVpbi4gSXQgcmVxdWlyZXMgcGhvc3Bob3J5bGF0aW9uIGJ5IHByb3RlaW4ga2luYXNlIEEgKFBLQSkgdG8gYWN0aXZhdGUgdGhlIGlvbiBjaGFubmVsIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMThcIi8+IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTlcIi8+IC48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWd1cmUtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZ2lmLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIkNGVFItZ2lmXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZmFuem9yL2NmdHItd3QuZ2lmXCI+PC9pbWc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiA8Yj5BbmltYXRpb24gMTo8L2I+IE1vZGVsIG9mIGEgZnVuY3Rpb25hbCBDRlRSIEVuenltZS48L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkZ1bmN0aW9uIG9mIENGVFJcIiBpZD1cImZ1bmN0aW9uLWNmdHJcIiAvPiAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5DRlRSIGZ1bmN0aW9ucyBwcmltYXJpbHkgYXMgYSBjaGxvcmlkZSBpb24gY2hhbm5lbC4gSXQgaXMgcmVzcG9uc2libGUgZm9yIHRyYW5zcG9ydGluZyBjaGxvcmlkZSBpb25zIChDbFx1MjA3QikgYWNyb3NzIGVwaXRoZWxpYWwgY2VsbCBtZW1icmFuZXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxN1wiLz4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyMFwiLz4gLiBIZXJlJ3MgaG93IGl0IHdvcmtzOjwvcD4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8b2w+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPlJlZ3VsYXRpb24gYnkgcGhvc3Bob3J5bGF0aW9uPC9iPjogVGhlIFIgZG9tYWluIG11c3QgZmlyc3QgYmUgcGhvc3Bob3J5bGF0ZWQgYnkgUEtBIHRvIGFsbG93IGNoYW5uZWwgYWN0aXZhdGlvbi4gVGhpcyBwaG9zcGhvcnlsYXRpb24gaXMgb2Z0ZW4gdHJpZ2dlcmVkIGJ5IGN5Y2xpYyBBTVAgKGNBTVApLCBhIHNpZ25hbGluZyBtb2xlY3VsZSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjIxXCIvPiAuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+T3BlbmluZyB0aGUgY2hhbm5lbDwvYj46IE9uY2UgdGhlIFIgZG9tYWluIGlzIHBob3NwaG9yeWxhdGVkLCBBVFAgYmluZHMgdG8gdGhlIE5CRHMsIGNhdXNpbmcgY29uZm9ybWF0aW9uYWwgY2hhbmdlcyB0aGF0IG9wZW4gdGhlIGNobG9yaWRlIGNoYW5uZWwgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxOFwiLz4gLjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkNobG9yaWRlIHRyYW5zcG9ydDwvYj46IFdpdGggdGhlIGNoYW5uZWwgb3BlbiwgY2hsb3JpZGUgaW9ucyBtb3ZlIGZyb20gaW5zaWRlIHRoZSBjZWxsIHRvIHRoZSBvdXRzaWRlLiBUaGlzIG1vdmVtZW50IG9mIGNobG9yaWRlIGhlbHBzIGRyYXcgd2F0ZXIgb3V0IG9mIHRoZSBjZWxsLCB0aGlubmluZyBtdWN1cyBhbmQgbWFpbnRhaW5pbmcgcHJvcGVyIGh5ZHJhdGlvbiBvZiB0aGUgZXBpdGhlbGlhbCBzdXJmYWNlcyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE5XCIvPiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjIwXCIvPiAuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+Q2xvc2luZyB0aGUgY2hhbm5lbDwvYj46IEh5ZHJvbHlzaXMgb2YgQVRQIGNhdXNlcyB0aGUgY2hhbm5lbCB0byBjbG9zZSBhZnRlciBhIGNlcnRhaW4gcGVyaW9kLCB0aWdodGx5IHJlZ3VsYXRpbmcgY2hsb3JpZGUgdHJhbnNwb3J0IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTdcIi8+IC48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9vbD4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5DRlRSIHBsYXlzIGEgY3JpdGljYWwgcm9sZSBpbiBtYWludGFpbmluZyB0aGUgZmx1aWQgYmFsYW5jZSBvbiB0aGUgc3VyZmFjZXMgb2YgdGlzc3VlcyBzdWNoIGFzIHRoZSBhaXJ3YXlzLCBkaWdlc3RpdmUgdHJhY3QgYW5kIHN3ZWF0IGdsYW5kcy4gQnkgYWxsb3dpbmcgY2hsb3JpZGUgaW9ucyB0byBmbG93IG91dCBvZiB0aGUgY2VsbHMsIENGVFIgZW5zdXJlcyB0aGF0IHdhdGVyIGZvbGxvd3MsIHByZXZlbnRpbmcgdGhlIGFjY3VtdWxhdGlvbiBvZiB0aGljaywgc3RpY2t5IG11Y3VzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTlcIi8+IC48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQ0ZUUiBpbiBDeXN0aWMgRmlicm9zaXNcIiBpZD1cIkNGVFItaW4tY2Z0clwiIC8+ICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+SW4gdGhlIGx1bmdzLCB0aGlzIHdhdGVyIG1vdmVtZW50IGlzIGNydWNpYWwgZm9yIG1haW50YWluaW5nIGEgdGhpbiwgc2xpcHBlcnkgbGF5ZXIgb2YgbXVjdXMgdGhhdCBjYW4gdHJhcCBhbmQgcmVtb3ZlIHBhcnRpY2xlcyBsaWtlIGR1c3QgYW5kIGJhY3RlcmlhLiBUaGUgbXVjdXMgaXMgdGhlbiBtb3ZlZCBvdXQgb2YgdGhlIGx1bmdzIGJ5IHRoZSBhY3Rpb24gb2YgY2lsaWEsIHRpbnkgaGFpci1saWtlIHN0cnVjdHVyZXMgb24gdGhlIHN1cmZhY2Ugb2YgZXBpdGhlbGlhbCBjZWxscy4gV2hlbiB0aGUgQ0ZUUiBwcm90ZWluIGlzIGRlZmVjdGl2ZSwgYXMgaW4gY3lzdGljIGZpYnJvc2lzLCBjaGxvcmlkZSBjYW5ub3QgcHJvcGVybHkgZXhpdCB0aGUgY2VsbHMuIFRoaXMgZGlzcnVwdHMgdGhlIG9zbW90aWMgZ3JhZGllbnQsIHByZXZlbnRpbmcgd2F0ZXIgZnJvbSBlbnRlcmluZyB0aGUgbXVjdXMuIEFzIGEgcmVzdWx0LCB0aGUgbXVjdXMgYmVjb21lcyB0aGljayBhbmQgc3RpY2t5LCBtYWtpbmcgaXQgZGlmZmljdWx0IHRvIGNsZWFyIGFuZCBjcmVhdGluZyBhbiBpZGVhbCBlbnZpcm9ubWVudCBmb3IgYmFjdGVyaWFsIGluZmVjdGlvbnMsIHdoaWNoIGxlYWRzIHRvIGNocm9uaWMgaW5mbGFtbWF0aW9uIGFuZCBsdW5nIGRhbWFnZSBvdmVyIHRpbWUuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+SW4gdGhlIGludGVzdGluZXMsIENGVFIgcmVndWxhdGVzIGZsdWlkIHNlY3JldGlvbiBpbnRvIHRoZSBkaWdlc3RpdmUgdHJhY3QsIHdoaWNoIGlzIHZpdGFsIGZvciB0aGUgbm9ybWFsIG1vdmVtZW50IG9mIGRpZ2VzdGl2ZSBjb250ZW50cy4gV2l0aG91dCBwcm9wZXIgQ0ZUUiBmdW5jdGlvbiwgd2F0ZXIgbW92ZW1lbnQgaXMgcmVkdWNlZCwgbGVhZGluZyB0byB0aGlja2VuZWQgZGlnZXN0aXZlIGZsdWlkcywgYmxvY2thZ2VzLCBhbmQgaW1wYWlyZWQgbnV0cmllbnQgYWJzb3JwdGlvbi4gVGhpcyBjb250cmlidXRlcyB0byBtYWxudXRyaXRpb24gYW5kIG90aGVyIGRpZ2VzdGl2ZSBjb21wbGljYXRpb25zIGluIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cy4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+QnkgY29ycmVjdGluZyB0aGUgZ2VuZXRpYyBtdXRhdGlvbnMgdGhhdCBsZWFkIHRvIENGVFIgbWFsZnVuY3Rpb24sIHN1Y2ggYXMgdGhlIFx1MjIwNkY1MDggbXV0YXRpb24sIHdlIGFpbSB0byByZXN0b3JlIHRoZSBwcm9wZXIgYmFsYW5jZSBvZiBjaGxvcmlkZSBhbmQgd2F0ZXIgbW92ZW1lbnQsIHdoaWNoIGlzIGNydWNpYWwgZm9yIHByZXZlbnRpbmcgdGhlIGJ1aWxkdXAgb2YgbXVjdXMgYW5kIGVuc3VyaW5nIG5vcm1hbCBmdW5jdGlvbiBpbiBib3RoIHRoZSByZXNwaXJhdG9yeSBhbmQgZGlnZXN0aXZlIHN5c3RlbXMuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkY1MDhkZWxcIiBpZD1cIkN5c3RpYyBGaWJyb3NpczNcIj5cbiAgICAgICAgICAgICAgICAgICAgPHA+TW9yZSB0aGFuIDEsMDAwIG11dGF0aW9ucyBpbiB0aGUgQ0ZUUiBnZW5lIGFyZSByZXNwb25zaWJsZSBmb3IgdGhlIGRldmVsb3BtZW50IG9mIGN5c3RpYyBmaWJyb3Npcy4gVGhlIG1vc3QgY29tbW9uIHZhcmlhbnQgaXMgdGhlIEY1MDhkZWwgbXV0YXRpb24sIGZvdW5kIGluIGFwcHJveGltYXRlbHkgNzAlIG9mIGFmZmVjdGVkIGluZGl2aWR1YWxzIG9mIENhdWNhc2lhbiBkZXNjZW50IGluIENhbmFkYSwgTm9ydGhlcm4gRXVyb3BlLCBhbmQgdGhlIFVuaXRlZCBTdGF0ZXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyMlwiLz4gLiBJdCBpcyBlc3RpbWF0ZWQgdGhhdCBhcm91bmQgOTAlIG9mIHBlb3BsZSB3aXRoIGN5c3RpYyBmaWJyb3NpcyBpbiBFdXJvcGUgYW5kIHRob3NlIG9mIEV1cm9wZWFuIGhlcml0YWdlIGNhcnJ5IGF0IGxlYXN0IG9uZSBGNTA4ZGVsIGFsbGVsZSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjIzXCIvPjxzdXA+LDwvc3VwPjxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjRcIi8+LiBSZXNlYXJjaCBzdWdnZXN0cyB0aGF0IHRoaXMgbXV0YXRpb24gb3JpZ2luYXRlZCBpbiBXZXN0ZXJuIEV1cm9wZSBhdCBsZWFzdCA1LDAwMCB5ZWFycyBhZ28gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyM1wiLz4gLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+VGhlIEY1MDhkZWwgbXV0YXRpb24gaW52b2x2ZXMgdGhlIGRlbGV0aW9uIG9mIHRocmVlIG51Y2xlb3RpZGVzLCBcIkNUVCxcIiBhdCBwb3NpdGlvbiA1MDgsIHdoaWNoIHJlbW92ZXMgYSBwaGVueWxhbGFuaW5lIHJlc2lkdWUgd2l0aG91dCBjYXVzaW5nIGEgZnJhbWVzaGlmdC4gVGhpcyBkZWxldGlvbiBpbXBhaXJzIHRoZSBraW5ldGljIGFuZCB0aGVybW9keW5hbWljIGZvbGRpbmcgb2YgdGhlIE5CRDEgZG9tYWluIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjRcIi8+IC4gQXMgYSByZXN1bHQsIHRoZSBDRlRSIHByb3RlaW4gbm90IG9ubHkgbWlzZm9sZHMgYnV0IGFsc28gZXhwZXJpZW5jZXMgZGVmZWN0cyBpbiB0cmFmZmlja2luZyBhbmQgcHJlbWF0dXJlIGRlZ3JhZGF0aW9uLCBsZWFkaW5nIHRvIGEgcmVkdWN0aW9uIGluIGl0cyBzdXJmYWNlIGV4cHJlc3Npb24gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyNVwiLz4gLiBUaGlzIHNwZWNpZmljIG11dGF0aW9uIGlzIHBhcnRpY3VsYXJseSBzZXZlcmUgYmVjYXVzZSBpdCBhZmZlY3RzIGJvdGggdGhlIHByb2R1Y3Rpb24gYW5kIGZ1bmN0aW9uIG9mIENGVFIsIHJlc3VsdGluZyBpbiBhIG1vcmUgYWdncmVzc2l2ZSBkaXNlYXNlIGNvdXJzZS4gQ29uc2VxdWVudGx5LCBwYXRpZW50cyB3aXRoIHRoZSBGNTA4ZGVsIG11dGF0aW9uIG1heSByZXNwb25kIGJldHRlciB0byBDRlRSIG1vZHVsYXRvcnMsIHdoaWNoIHRhcmdldCB0aGVzZSBzcGVjaWZpYyBkZWZlY3RzIGluIHByb3RlaW4gZm9sZGluZyBhbmQgZnVuY3Rpb24uPC9wPlxuICAgICAgICAgICAgICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJzdGF0aXN0aWNhbC1kaXN0cmlidXRpb24tY29sbGFwc2libGVcIiB0aXRsZT1cIlN0YXRpc3RpY2FsIGRpc3RyaWJ1dGlvbiBvZiBGNTA4ZGVsIG11dGF0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+SW4gMjAyMywgYSBjb21wcmVoZW5zaXZlIGFuYWx5c2lzIHdhcyBjb25kdWN0ZWQgdG8gYXNzZXNzIHRoZSBkaXN0cmlidXRpb24gb2YgbXV0YXRpb25zIGluIHRoZSBDRlRSIGdlbmUgYXNzb2NpYXRlZCB3aXRoIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHdvcmxkd2lkZS4gRGF0YSB3YXMgc291cmNlZCBmcm9tIHR3byByZXB1dGFibGUgZGF0YWJhc2VzOiB0aGUgPGEgaHJlZj1cImh0dHBzOi8vY2Z0ci5pdXJjLm1vbnRwLmluc2VybS5mci9jZ2ktYmluL3ZhcmlhbnRfbGlzdC5jZ2lcIiB0aXRsZT1cIkNGVFItZGF0YWJhc2UtMVwiID5DRlRSIE11dGF0aW9uIERhdGFiYXNlPC9hPiBhbmQgdGhlIDxhIGhyZWY9XCJodHRwczovL2NmdHIyLm9yZy9tdXRhdGlvbnNfaGlzdG9yeVwiIHRpdGxlPVwiQ0ZUUi1kYXRhYmFzZS0yXCIgPkNGVFIyIERhdGFiYXNlPC9hPi4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHJlc3VsdHMgaW5kaWNhdGUgdGhlIGZvbGxvd2luZyBkaXN0cmlidXRpb24gb2YgQ0ZUUiBtdXRhdGlvbiB0eXBlcyBhbmQgdGhlaXIgZnJlcXVlbmNpZXMgaW4gcGVyY2VudDogPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5JbnNlcnRpb25zIChpbnMpPC9iPjogMC4wMDA4OCU8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkRlbGV0aW9ucyAoZGVsKTwvYj46IDcyLjY0JTwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+U3Vic3RpdHV0aW9ucyAoc3Vicyk8L2I+OiAyMy44NCU8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkluc2VydGlvbnMvRGVsZXRpb25zIChpbmRlbCk8L2I+OiAwLDAwNDg1JTwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+T3RoZXIgbXV0YXRpb25zPC9iPjogMCwwMDM3MCU8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBpZUNoYXJ0IC8+IHsvKiBSZW5kZXIgdGhlIFBpZUNoYXJ0IGNvbXBvbmVudCAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgICAgIDwvQ29sbGFwc2libGU+ICBcbiAgICAgICAgICAgICAgICAgICAgPHA+T3ZlcmFsbCwgdGhlIHN0YXRpc3RpY2FsIGRpc3RyaWJ1dGlvbiBvZiBDRlRSIG11dGF0aW9ucyByZXZlYWxzIHNpZ25pZmljYW50IHZhcmlhdGlvbnMgaW4gbXV0YXRpb24gdHlwZXMgYW5kIHRoZWlyIGZyZXF1ZW5jaWVzIHdvcmxkd2lkZSwgd2l0aCBkZWxldGlvbnMgKDcyLjY0JSkgYmVpbmcgdGhlIG1vc3QgY29tbW9uIG11dGF0aW9uIHR5cGUuIFRoaXMgdW5kZXJzY29yZXMgdGhlIG5lZWQgZm9yIGNvbnRpbnVlZCByZXNlYXJjaCBhbmQgbW9uaXRvcmluZyBvZiB0aGVzZSBnZW5ldGljIHZhcmlhdGlvbnMgdG8gaW1wcm92ZSBwYXRpZW50IGNhcmUgYW5kIHRyZWF0bWVudCBzdHJhdGVnaWVzLiBDRiBub3Qgb25seSBhZmZlY3RzIHRoZSBkaXJlY3RseSBhZmZlY3RlZCBvcmdhbnMsIGJ1dCBhbHNvIG1hbnkgb3RoZXIgYXJlYXMgb2YgdGhlIGJvZHkgdGhhdCBhcmUgaW5kaXJlY3RseSBhZmZlY3RlZCBieSB0aGUgZXh0ZW50IG9mIHRoZSBkaXNlYXNlLCBlLmcuIHRocm91Z2ggdGhlIGNvbmRpdGlvbiBvZiBkaXNlYXNlZCBvcmdhbnMuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIlN5bXB0b21zXCIgaWQ9XCJDeXN0aWMgRmlicm9zaXM0XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwPlNpbmNlIHRoZSBDRlRSIGdlbmUgaXMgZXhwcmVzc2VkIGluIG5lYXJseSBhbGwgdGlzc3VlcyBvZiB0aGUgaHVtYW4gYm9keSwgY3lzdGljIGZpYnJvc2lzIGFmZmVjdHMgYXMgYSBtZXRhYm9saWMgZGlzZWFzZSBhIHdpZGUgcmFuZ2Ugb2Ygdml0YWwgb3JnYW5zLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwic3ltcHRvbXMtY29sbGFwc2libGVcIiB0aXRsZT1cIkhvdyB0aGUgc3ltcHRvbXMgYWZmZWN0IGRpZmZlcmVudCBwYXJ0cyBvZiB0aGUgYm9keVwiID5cbiAgICAgICAgICAgICAgICAgICAgPFRhYkJ1dHRvblJvdyBkYXRhPXtzeW1wdG9tYnV0dG9ucm93ZGF0YX0gb3BlbnR5cGU9XCJtZWRpdGFic1wiIGNsb3Npbmc9XCJcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25Sb3dUYWJzIGRhdGE9e3N5bXB0b21idXR0b25yb3dkYXRhfSBjbGE9XCJtZWRpdGFic1wiLz4gXG4gICAgICAgICAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiRGlhZ25vc2lzXCIgaWQ9XCJDeXN0aWMgRmlicm9zaXM1XCI+XG4gICAgICAgICAgICAgICAgICAgIDxwPldpdGggQ3lzdGljIEZpYnJvc2lzIGJlaW5nIGEgaGVyZWRpdGFyeSBkaXNlYXNlLCB0aGUgZGlhZ25vc3RpYyBtZXRob2RzIGhhdmUgZXZvbHZlZCBzaWduaWZpY2FudGx5IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNTZcIi8+IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNTdcIi8+IC4gRWFybHkgZGlhZ25vc2lzIGlzIGNydWNpYWwsIGFzIGl0IGFsbG93cyBmb3IgdGltZWx5IGludGVydmVudGlvbnMgdGhhdCBjYW4gaW1wcm92ZSB0aGUgcXVhbGl0eSBvZiBsaWZlIGFuZCBsb25nZXZpdHkgZm9yIENGIHBhdGllbnRzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNTZcIi8+PHN1cD4sPC9zdXA+PFN1cFNjcm9sbExpbmsgbGFiZWw9XCI1OFwiLz4uIFdpdGggYWR2YW5jZW1lbnRzIGluIHNjcmVlbmluZyBhbmQgZGlhZ25vc3RpYyB0b29scywgbWFueSBpbmRpdmlkdWFscyBhcmUgZGlhZ25vc2VkIHNob3J0bHkgYWZ0ZXIgYmlydGgsIGVuYWJsaW5nIGVhcmx5IG1hbmFnZW1lbnQgb2YgdGhlIGRpc2Vhc2UgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI1NlwiLz4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2MVwiLz4gLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+Q3lzdGljIGZpYnJvc2lzIGNhbiBiZSBkaWFnbm9zZWQgdGhyb3VnaCBhIHZhcmlldHkgb2YgbWV0aG9kcywgb2Z0ZW4gc3RhcnRpbmcgaW4gaW5mYW5jeSBvciBldmVuIGJlZm9yZSBiaXJ0aCA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjU2XCIvPiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjYwXCIvPiAuIFRoZSBtb3N0IGNvbW1vbiBkaWFnbm9zdGljIHRlc3QgaXMgdGhlIG5ld2Jvcm4gc2NyZWVuaW5nLCB3aGljaCBpbnZvbHZlcyBhIGJsb29kIHRlc3QgdGhhdCBjaGVja3MgZm9yIGVsZXZhdGVkIGxldmVscyBvZiBhIHByb3RlaW4gY2FsbGVkIGltbXVub3JlYWN0aXZlIHRyeXBzaW5vZ2VuIChJUlQpIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNTlcIi8+IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjFcIi8+IC4gRWxldmF0ZWQgSVJUIGxldmVscyBjYW4gaW5kaWNhdGUgcG90ZW50aWFsIENGLCBwcm9tcHRpbmcgZnVydGhlciB0ZXN0aW5nIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjFcIi8+IC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJuZXdib3JuLXNjcmVlbmluZy1jb2xsYXBzaWJsZVwiIHRpdGxlPVwiTmV3Ym9ybiBzY3JlZW5pbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk5ld2Jvcm4gc2NyZWVuaW5nIGZvciBDeXN0aWMgRmlicm9zaXMgKENGKSBoYXMgYmVlbiBhIG1ham9yIGFkdmFuY2VtZW50IGluIGVhcmx5IGRldGVjdGlvbiBhbmQgbWFuYWdlbWVudCwgbGVhZGluZyB0byBzaWduaWZpY2FudGx5IGltcHJvdmVkIHBhdGllbnQgb3V0Y29tZXMuIFRoaXMgcHJhY3RpY2UsIHdoaWNoIHN0YXJ0ZWQgaW4gdGhlIGxhdGUgMTk2MHMsIGJlY2FtZSBtb3JlIHdpZGVzcHJlYWQgaW4gdGhlIDE5NzBzLiBUaGUgc2NyZWVuaW5nIHR5cGljYWxseSBpbnZvbHZlcyBhIGJsb29kIHRlc3Qgd2l0aGluIHRoZSBmaXJzdCBmZXcgZGF5cyBvZiBsaWZlLCBtZWFzdXJpbmcgaW1tdW5vcmVhY3RpdmUgdHJ5cHNpbm9nZW4gKElSVCksIGEgbWFya2VyIHRoYXQgaXMgZWxldmF0ZWQgaW4gbmV3Ym9ybnMgd2l0aCBDRi4gRWxldmF0ZWQgSVJUIGxldmVscyBwcm9tcHQgZnVydGhlciBnZW5ldGljIHRlc3RpbmcgdG8gaWRlbnRpZnkgQ0ZUUiBtdXRhdGlvbnMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2MlwiLz4gLiBJZiBtdXRhdGlvbnMgYXJlIGZvdW5kLCBhIHN3ZWF0IGNobG9yaWRlIHRlc3QgaXMgb2Z0ZW4gY29uZHVjdGVkIHRvIGNvbmZpcm0gdGhlIGRpYWdub3Npcy4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+TWFueSBjb3VudHJpZXMsIGluY2x1ZGluZyB0aGUgVW5pdGVkIFN0YXRlcywgQ2FuYWRhLCB0aGUgVW5pdGVkIEtpbmdkb20sIEF1c3RyYWxpYSwgYW5kIHNldmVyYWwgRXVyb3BlYW4gbmF0aW9ucywgaGF2ZSBpbXBsZW1lbnRlZCBuZXdib3JuIHNjcmVlbmluZyBwcm9ncmFtcyBmb3IgQ0YuIEhvd2V2ZXIsIGEgc3VydmV5IG9mIENGIHNjcmVlbmluZyBpbiBFdXJvcGUgcmV2ZWFsZWQgdGhhdCB0aGUgaW1wbGVtZW50YXRpb24gb2Ygc3VjaCBwcm9ncmFtcyB2YXJpZXMgd2lkZWx5LCB3aXRoIHNvbWUgY291bnRyaWVzIGFkb3B0aW5nIG1vcmUgY29tcHJlaGVuc2l2ZSBwcm90b2NvbHMgdGhhbiBvdGhlcnMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2M1wiLz4gLiBFYXJseSBkaWFnbm9zaXMgdGhyb3VnaCBzY3JlZW5pbmcgb2ZmZXJzIHNpZ25pZmljYW50IGJlbmVmaXRzLCBzdWNoIGFzIGltcHJvdmVkIGdyb3d0aCwgYmV0dGVyIGx1bmcgZnVuY3Rpb24sIGFuZCBvdmVyYWxsIGVuaGFuY2VkIGhlYWx0aCBvdXRjb21lcyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjY0XCIvPiAuIFRoZSBkaXNjb3Zlcnkgb2YgdGhlIENGVFIgZ2VuZSBoYXMgZnVydGhlciByZWZpbmVkIGRpYWdub3N0aWMgdGVjaG5pcXVlcyBhbmQgdW5kZXJzY29yZWQgdGhlIGNydWNpYWwgcm9sZSBvZiBuZXdib3JuIHNjcmVlbmluZyBpbiB0aGUgZWFybHkgZGV0ZWN0aW9uIGFuZCBtYW5hZ2VtZW50IG9mIENGLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5UZWNobm9sb2dpY2FsIGFkdmFuY2VtZW50cyBhbmQgaW1wcm92ZWQgbWVkaWNhbCBwcm9jZWR1cmVzIGhhdmUgZ3JlYXRseSB0cmFuc2Zvcm1lZCB0aGUgZGlhZ25vc2lzIG9mIGN5c3RpYyBmaWJyb3Npcy4gV2hpbGUgbmV3Ym9ybiBzY3JlZW5pbmcgaGFzIHJldm9sdXRpb25pemVkIGVhcmx5IGRldGVjdGlvbiBhbmQgdHJlYXRtZW50LCB0cmFkaXRpb25hbCBtZXRob2RzIHN1Y2ggYXMgdGhlIHN3ZWF0IHRlc3QgYW5kIHN5bXB0b20gb2JzZXJ2YXRpb24gY29udGludWUgdG8gcGxheSBhIHZpdGFsIHJvbGUsIHBhcnRpY3VsYXJseSBpbiByZWdpb25zIHdoZXJlIHNjcmVlbmluZyBwcm9ncmFtcyBhcmUgbm90IHlldCB3aWRlbHkgYXZhaWxhYmxlLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICAgICAgICAgICAgPHA+QW5vdGhlciB3aWRlbHkgdXNlZCBtZXRob2QgaXMgdGhlIHN3ZWF0IHRlc3QsIHdoaWNoIG1lYXN1cmVzIHRoZSBjb25jZW50cmF0aW9uIG9mIGNobG9yaWRlIGluIGEgcGVyc29uJ3Mgc3dlYXQuIENGIHBhdGllbnRzIHR5cGljYWxseSBoYXZlIGhpZ2hlci10aGFuLW5vcm1hbCBjaGxvcmlkZSBsZXZlbHMgZHVlIHRvIGRlZmVjdGl2ZSBDRlRSIHByb3RlaW4gZnVuY3Rpb24gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2NVwiLz4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2NlwiLz4gLiBXaGlsZSB0aGUgc3dlYXQgdGVzdCBpcyBub24taW52YXNpdmUgYW5kIHJlbGlhYmxlIGZvciBpbmRpY2F0aW5nIENGLCBpdCBpcyBsaW1pdGVkIGluIHNjb3BlLiBGb3IgZGVmaW5pdGl2ZSBkaWFnbm9zaXMgYW5kIHRvIGd1aWRlIHNwZWNpZmljIHRyZWF0bWVudHMsIGEgZ2VuZXRpYyBhbmFseXNpcyBpcyB1c3VhbGx5IHJlcXVpcmVkIHRvIGlkZW50aWZ5IHRoZSBleGFjdCBDRlRSIG11dGF0aW9uLCBzdWNoIGFzIHRoZSBGNTA4ZGVsIG11dGF0aW9uIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjVcIi8+IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjZcIi8+IC48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cInN3ZWF0LXRlc3QtY29sbGFwc2libGVcIiB0aXRsZT1cIlN3ZWF0IHRlc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRyYWRpdGlvbmFsbHksIEN5c3RpYyBGaWJyb3NpcyAoQ0YpIGhhcyBiZWVuIGRpYWdub3NlZCB1c2luZyB0aGUgc3dlYXQgdGVzdCwgd2hpY2ggbWVhc3VyZXMgY2hsb3JpZGUgbGV2ZWxzIGluIHN3ZWF0LiBBIGNobG9yaWRlIGxldmVsIGJlbG93IDQwIG1tb2wvTCAobWlsbGltb2xlcyBvZiBjaGxvcmlkZSBwZXIgbGl0cmUgb2Ygc3dlYXQpIGlzIGNvbnNpZGVyZWQgbm9ybWFsIGFuZCB1bmxpa2VseSB0byBpbmRpY2F0ZSBDRi4gTGV2ZWxzIGJldHdlZW4gNDAgYW5kIDYwIG1tb2wvTCByZXF1aXJlIGZ1cnRoZXIgaW52ZXN0aWdhdGlvbiwgd2hpbGUgbGV2ZWxzIGFib3ZlIDYwIG1tb2wvTCBzdHJvbmdseSBzdWdnZXN0IHRoZSBwcmVzZW5jZSBvZiBDRiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjY1XCIvPiAuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhpcyBxdWljayBhbmQgcGFpbmxlc3MgdGVzdCBoYXMgYmVlbiB0aGUgZ29sZCBzdGFuZGFyZCBmb3IgQ0YgZGlhZ25vc2lzIGZvciBtYW55IHllYXJzLiBEZXNwaXRlIGl0cyBhY2N1cmFjeSwgdGhlIHN3ZWF0IHRlc3QgcmVxdWlyZXMgc3BlY2lhbGl6ZWQgbGFiIHBlcnNvbm5lbCBhbmQgY2FuIGJlIGRpZmZpY3VsdCB0byBwZXJmb3JtIG9uIG5ld2Jvcm5zLiBXaGlsZSBkaWFnbm9zaW5nIENGIGJhc2VkIG9uIHN5bXB0b21zIGNhbiBiZSB1c2VmdWwsIGl0IGlzIG5vdCBhbHdheXMgcmVsaWFibGUsIHBhcnRpY3VsYXJseSBpbiBtaWxkIG9yIGF0eXBpY2FsIGNhc2VzLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJUcmVhdG1lbnRcIiBpZD1cIkN5c3RpYyBGaWJyb3NpczZcIj5cbiAgICAgICAgICAgICAgICAgICAgPHA+Q3VycmVudCBDeXN0aWMgZmlicm9zaXMgdHJlYXRtZW50cyBmb2N1cyBvbiBtYW5hZ2luZyBzeW1wdG9tcywgc2xvd2luZyBkaXNlYXNlIHByb2dyZXNzaW9uLCBhbmQgaW1wcm92aW5nIHF1YWxpdHkgb2YgbGlmZSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjY2XCIvPiAuIFNpbmNlIHRoZXJlIGlzIHN0aWxsIG5vIGN1cmUgZm9yIENGLCB0cmVhdG1lbnQgaXMgdHlwaWNhbGx5IGxpZmVsb25nIGFuZCBpbnZvbHZlcyBtdWx0aXBsZSBhcHByb2FjaGVzLCBpbmNsdWRpbmcgbWVkaWNhdGlvbnMsIHBoeXNpY2FsIHRoZXJhcHksIGFuZCBkaWV0YXJ5IGFkanVzdG1lbnRzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjZcIi8+IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjdcIi8+IC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5UaGUgcHJpbWFyeSBnb2FsIG9mIENGIHRyZWF0bWVudCBpcyB0byBjbGVhciB0aGUgdGhpY2sgbXVjdXMgZnJvbSB0aGUgbHVuZ3MgdG8gcHJldmVudCBpbmZlY3Rpb25zIGFuZCBpbXByb3ZlIGJyZWF0aGluZyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjY4XCIvPiAuIEFpcndheSBjbGVhcmFuY2UgdGVjaG5pcXVlcywgc3VjaCBhcyBjaGVzdCBwaHlzaW90aGVyYXB5LCBhcmUgb2Z0ZW4gdXNlZCBhbG9uZ3NpZGUgaW5oYWxlZCBtZWRpY2F0aW9ucywgbGlrZSBicm9uY2hvZGlsYXRvcnMgYW5kIG11Y29seXRpY3MsIHRvIHRoaW4gdGhlIG11Y3VzIGFuZCBvcGVuIHRoZSBhaXJ3YXlzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjlcIi8+IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNzBcIi8+IC4gQW50aWJpb3RpY3MgYXJlIGZyZXF1ZW50bHkgcHJlc2NyaWJlZCB0byB0cmVhdCBvciBwcmV2ZW50IGx1bmcgaW5mZWN0aW9ucyBjYXVzZWQgYnkgdHJhcHBlZCBiYWN0ZXJpYSBpbiB0aGUgYWlyd2F5cyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjcxXCIvPiAuPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5PbmUgb2YgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgYWR2YW5jZXMgaW4gQ0YgdHJlYXRtZW50IGhhcyBiZWVuIHRoZSBkZXZlbG9wbWVudCBvZiBDRlRSIG1vZHVsYXRvcnMsIHdoaWNoIHRhcmdldCB0aGUgdW5kZXJseWluZyBwcm90ZWluIGR5c2Z1bmN0aW9uIGNhdXNlZCBieSBtdXRhdGlvbnMgaW4gdGhlIENGVFIgZ2VuZSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjcwXCIvPiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjcyXCIvPiAuIFRoZXNlIGRydWdzLCBzdWNoIGFzIGl2YWNhZnRvciwgbHVtYWNhZnRvciwgYW5kIGVsZXhhY2FmdG9yLCB3b3JrIGJ5IGltcHJvdmluZyB0aGUgZnVuY3Rpb24gb2YgdGhlIGRlZmVjdGl2ZSBDRlRSIHByb3RlaW4sIHBhcnRpY3VsYXJseSBpbiBwYXRpZW50cyB3aXRoIHNwZWNpZmljIG11dGF0aW9ucyBsaWtlIEY1MDhkZWwgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyM1wiLz4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyNFwiLz4gLiBXaGlsZSBDRlRSIG1vZHVsYXRvcnMgY2FuIGRyYW1hdGljYWxseSBpbXByb3ZlIGx1bmcgZnVuY3Rpb24gYW5kIG92ZXJhbGwgaGVhbHRoIGluIG1hbnkgcGF0aWVudHMsIHRoZXkgYXJlIG5vdCBlZmZlY3RpdmUgZm9yIGFsbCBDRlRSIG11dGF0aW9ucyBhbmQgb2Z0ZW4gYXJlIHZlcnkgZXhwZW5zaXZlIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNzNcIi8+IC48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPkRpZ2VzdGl2ZSBlbnp5bWUgc3VwcGxlbWVudHMgYXJlIGVzc2VudGlhbCBmb3IgQ0YgcGF0aWVudHMgd2hvIHN1ZmZlciBmcm9tIHBhbmNyZWF0aWMgaW5zdWZmaWNpZW5jeSwgaGVscGluZyB0aGVtIHRvIGFic29yYiBudXRyaWVudHMgZnJvbSBmb29kIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNjhcIi8+IC4gQWRkaXRpb25hbGx5LCBoaWdoLWNhbG9yaWUgZGlldHMgYW5kIHZpdGFtaW5zIGFyZSByZWNvbW1lbmRlZCB0byBzdXBwb3J0IGdyb3d0aCBhbmQgbWFpbnRhaW4gYm9keSB3ZWlnaHQgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2OFwiLz4gLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+QWx0aG91Z2ggY3VycmVudCB0cmVhdG1lbnRzIGNhbiBzaWduaWZpY2FudGx5IGltcHJvdmUgcXVhbGl0eSBvZiBsaWZlIGFuZCBsaWZlIGV4cGVjdGFuY3ksIG1hbmFnaW5nIENGIHJlbWFpbnMgYSBkYWlseSBjaGFsbGVuZ2UgZm9yIHBhdGllbnRzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNzBcIi8+IC4gQ29udGludWVkIHJlc2VhcmNoIGludG8gZ2VuZSB0aGVyYXB5IGFuZCBvdGhlciBpbm5vdmF0aXZlIHRyZWF0bWVudHMgb2ZmZXJzIGhvcGUgZm9yIG1vcmUgcGVybWFuZW50IHNvbHV0aW9ucyBpbiB0aGUgZnV0dXJlIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNzNcIi8+IC48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cImRydWdzLWNvbGxhcHNpYmxlXCIgdGl0bGU9XCJEaWZmZXJlbnQgdHlwZXMgb2YgZHJ1Z3NcIiA+XG4gICAgICAgICAgICAgICAgICAgIDxUYWJCdXR0b25Sb3cgZGF0YT17bWVkaWJ1dHRvbnJvd2RhdGF9IG9wZW50eXBlPVwic3ltcHRhYnNcIiBjbG9zaW5nPVwiXCIvPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uUm93VGFicyBkYXRhPXttZWRpYnV0dG9ucm93ZGF0YX0gY2xhPVwic3ltcHRhYnNcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQ0YgdHJlYXRtZW50IHdpdGggZ2VuZSB0aGVyYXB5XCI+PC9IND5cbiAgICAgICAgICAgICAgICAgICAgPHA+V2hpbGUgbWVudGlvbmVkIG1lZGljYXRpb25zIGhhdmUgaW1wcm92ZWQgdGhlIHF1YWxpdHkgb2YgbGlmZSBmb3IgbnVtZXJvdXMgQ0YgcGF0aWVudHMsIHRoZXkgb25seSBtYW5hZ2Ugc3ltcHRvbXMgcmF0aGVyIHRoYW4gY3VyZSB0aGUgZGlzZWFzZS4gTW9yZW92ZXIsIG1vc3Qgb2YgdGhlbSBhcmUgZXhwZW5zaXZlIGFuZCBub3Qgd29ybGQtd2lkZSBhY2Nlc3NpYmxlLiBPdXIgcmVzZWFyY2ggaXMgZm9jdXNlZCBvbiB0aGUgZGV2ZWxvcG1lbnQgb2YgYSBnZW5lIHRoZXJhcHkgdGhhdCB0YXJnZXRzIHRoZSB1bmRlcmx5aW5nIGNhdXNlIG9mIENGIGJ5IGNvcnJlY3RpbmcgdGhlIGRlZmVjdGl2ZSBDRlRSIGdlbmUuIDxQcmVDeXNlLz4gYWltcyB0byBoYWx0IGRpc2Vhc2UgcHJvZ3Jlc3Npb24gYW5kIHJlZHVjZSB0aGUgdHJlYXRtZW50IGJ1cmRlbiBmb3IgcGF0aWVudHMuPC9wPlxuICAgICAgICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiT3VyIEFwcHJvYWNoXCIgaWQ9XCJBcHByb2FjaFwiPlxuICAgICAgICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiTWVjaGFuaXNtXCIgaWQ9XCJBcHByb2FjaDFcIj5cbiAgICAgICAgICAgICAgICA8cD5UaGUgZGV2ZWxvcG1lbnQgb2YgYW4gaW1wcm92ZWQgUHJpbWUgRWRpdGluZyBjb21wbGV4IGhvbGRzIGdyZWF0IHByb21pc2UgZm9yIGFkdmFuY2luZyBnZW5lIGVkaXRpbmcgdGVjaG5vbG9naWVzLiBPdXIgZW5oYW5jZWQgc3lzdGVtLCBQcmltZSBHdWlkZSwgYWRkcmVzc2VzIGtleSBsaW1pdGF0aW9ucyBvZiBjb252ZW50aW9uYWwgUHJpbWUgRWRpdGluZyBieSBmb2N1c2luZyBvbiBmb3VyIG1haW4gYXJlYXM6IGVkaXRpbmcgZWZmaWNpZW5jeSwgcHJlY2lzaW9uLCBzaXplLCBhbmQgc2FmZXR5LiBQcmltZSBHdWlkZSBoYXMgYmVlbiBkZXNpZ25lZCB0byB0YXJnZXQgdGhlIFx1MDM5NEY1MDggbXV0YXRpb24gaW4gY3lzdGljIGZpYnJvc2lzIHdpdGggaGlnaCBhY2N1cmFjeSwgd2hpbGUgbWluaW1pemluZyBvZmYtdGFyZ2V0IGVmZmVjdHMuIEJ5IG9wdGltaXppbmcgdGhlIHBlZ1JOQSwgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlLCBhbmQgbmlja2FzZSBjb21wb25lbnRzLCB3ZSBhaW0gdG8gZGVsaXZlciBwcmVjaXNlIGFuZCBlZmZpY2llbnQgZ2VuZXRpYyBtb2RpZmljYXRpb25zLjwvcD5cbiAgICAgICAgICAgICAgICA8SW5mb0JveCB0aXRsZT1cIlByaW1lIEVkaXRpbmdcIiBpZD1cInByaW1lLWVkaXRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRldGFpbHM+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5QcmltZSBlZGl0aW5nIGlzIGEgbmV3IG1ldGhvZCBvZiBnZW5lIGVkaXRpbmcgYmFzZWQgb24gYW4gUk5BLVByb3RlaW4gY29tcGxleC4gSXQgd2FzIGRldmVsb3BlZCBieSBhIGdyb3VwIG9mIHJlc2VhcmNoZXJzIHJldm9sdmluZyBhcm91bmQgUHJvZmVzc29yIERhdmlkIExpdSBmcm9tIEhhcnZhcmQgVW5pdmVyc2l0eSBpbiAyMDE5LjxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTVcIi8+IDwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPjxiPkhvdyBkb2VzIFByaW1lIEVkaXRpbmcgd29yaz88L2I+PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+UHJpbWUgRWRpdGluZyBidWlsZHMgb24gdGhlIHdlbGwta25vd24gQ1JJU1BSIHRlY2hub2xvZ3ksIG9mZmVyaW5nIGEgbW9yZSBwcmVjaXNlIGFuZCBjb250cm9sbGVkIGFwcHJvYWNoIHRvIEROQSBtb2RpZmljYXRpb24uIFRyYWRpdGlvbmFsIENSSVNQUi1DYXM5IG1ldGhvZHMgdHlwaWNhbGx5IGludm9sdmUgY3JlYXRpbmcgZG91YmxlLXN0cmFuZCBicmVha3MgaW4gRE5BLCB3aGljaCBjYW4gYmUgcmVwYWlyZWQgYnkgdGhlIGNlbGwgaW4gd2F5cyB0aGF0IG1pZ2h0IGludHJvZHVjZSB1bmludGVuZGVkIG11dGF0aW9ucy4gUHJpbWUgRWRpdGluZywgYnkgY29udHJhc3QsIGNpcmN1bXZlbnRzIHRoaXMgaXNzdWUgYnkgdXNpbmcgYSBtb3JlIHJlZmluZWQgbWV0aG9kIHRoYXQgYXZvaWRzIGRvdWJsZSBzdHJhbmQgYnJlYWtzIGFsdG9nZXRoZXIgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI5MVwiLz4gLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkF0IHRoZSBoZWFydCBvZiBQcmltZSBFZGl0aW5nIGlzIGEgZnVzaW9uIHByb3RlaW4sIHdoaWNoIGNvbWJpbmVzIHR3byBrZXkgY29tcG9uZW50czogYSBtb2RpZmllZCBDYXM5IGVuenltZSwga25vd24gYXMgYSBcIm5pY2thc2UsXCIgYW5kIGEgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIGVuenltZS4gVGhlIG5pY2thc2UgaXMgcmVzcG9uc2libGUgZm9yIG1ha2luZyBhIHNpbmdsZSBzdHJhbmQgY3V0IGluIHRoZSBETkEsIHVubGlrZSB0aGUgdHJhZGl0aW9uYWwgQ2FzOSwgd2hpY2ggY3V0cyBib3RoIHN0cmFuZHMuIFRoaXMgc2luZ2xlIHN0cmFuZCBjdXQgbWluaW1pemVzIHRoZSByaXNrIG9mIHVuaW50ZW5kZWQgbXV0YXRpb25zIG9yIGxhcmdlLXNjYWxlIEROQSBkYW1hZ2UuIFRoZSByZXZlcnNlIHRyYW5zY3JpcHRhc2UgYXR0YWNoZWQgdG8gdGhlIG5pY2thc2UgdGhlbiBtb2RpZmllcyB0aGUgRE5BIGF0IHRoZSB0YXJnZXRlZCBzaXRlIGJ5IGluY29ycG9yYXRpbmcgbmV3IGdlbmV0aWMgaW5mb3JtYXRpb24uPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VG8gZ3VpZGUgdGhpcyBwcm9jZXNzLCBQcmltZSBFZGl0aW5nIHVzZXMgYSBzcGVjaWFsaXplZCBSTkEgbW9sZWN1bGUga25vd24gYXMgcHJpbWUgZWRpdGluZyBndWlkZSBSTkEgKHBlZ1JOQSkuIFRoaXMgcGVnUk5BIHNlcnZlcyB0d28gZnVuY3Rpb25zOiBpdCBkaXJlY3RzIHRoZSBDYXM5IG5pY2thc2UgdG8gdGhlIHNwZWNpZmljIGxvY2F0aW9uIG9uIHRoZSBnZW5vbWUsIGFuZCBpdCBjYXJyaWVzIGEgdGVtcGxhdGUgZm9yIHRoZSBkZXNpcmVkIEROQSBtb2RpZmljYXRpb24uIE5vdywgbGV0XHUyMDE5cyBnbyB0aHJvdWdoIHRoZSBwcm9jZXNzIGluIG1vcmUgZGV0YWlsLCByZWZlcmVuY2luZyB0aGUgaW1hZ2UgYWJvdmUuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9sPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5ETkEgTmlja2luZzwvYj46IEluIHRoZSBmaXJzdCBzdGVwICh0b3AgbGVmdCBpbiB0aGUgaW1hZ2UpLCB0aGUgQ2FzOSBuaWNrYXNlLCBndWlkZWQgYnkgdGhlIHBlZ1JOQSwgYmluZHMgdG8gdGhlIHRhcmdldCBnZW5vbWljIEROQSBhbmQgY3JlYXRlcyBhIHNpbmdsZS1zdHJhbmQgYnJlYWssIG9yIFwibmljayxcIiBhdCB0aGUgcHJlY2lzZSBsb2NhdGlvbi4gVGhpcyBpcyBhIGtleSBkaWZmZXJlbmNlIGZyb20gc3RhbmRhcmQgQ1JJU1BSLCB3aGVyZSBib3RoIEROQSBzdHJhbmRzIGFyZSBjdXQsIGluY3JlYXNpbmcgdGhlIHJpc2sgb2YgdW53YW50ZWQgbXV0YXRpb25zLjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPlByaW1lciBCaW5kaW5nIGFuZCBSZXZlcnNlIFRyYW5zY3JpcHRpb248L2I+OiBPbmNlIHRoZSBETkEgaXMgbmlja2VkLCB0aGUgcHJpbWVyIGJpbmRpbmcgc2l0ZSAoUEJTKSBvbiB0aGUgcGVnUk5BIGh5YnJpZGl6ZXMgd2l0aCB0aGUgZXhwb3NlZCBzaW5nbGUtc3RyYW5kZWQgRE5BLCBhcyBzaG93biBpbiB0aGUgbWlkZGxlIG9mIHRoZSBpbWFnZS4gVGhpcyBhbGlnbm1lbnQgYWxsb3dzIHRoZSByZXZlcnNlIHRyYW5zY3JpcHRhc2UgKFJUKSBlbnp5bWUsIGFsc28gZnVzZWQgdG8gdGhlIG5pY2thc2UsIHRvIGJlZ2luIGNvcHlpbmcgdGhlIGVkaXQgaW50byB0aGUgdGFyZ2V0IEROQS4gVGhlIHJldmVyc2UgdHJhbnNjcmlwdGFzZSB1c2VzIHRoZSB0ZW1wbGF0ZSBlbmNvZGVkIHdpdGhpbiB0aGUgcGVnUk5BIHRvIGNyZWF0ZSBhIGNvbXBsZW1lbnRhcnkgRE5BIHNlcXVlbmNlIChkZXBpY3RlZCBhcyB0aGUgbmV3IHNlcXVlbmNlIGluIHRoZSBpbWFnZSksIGVuc3VyaW5nIHRoZSBjb3JyZWN0ZWQgZ2VuZXRpYyBzZXF1ZW5jZSBpcyBhY2N1cmF0ZWx5IGluc2VydGVkIGludG8gdGhlIGdlbm9tZS48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5GbGFwIEZvcm1hdGlvbiBhbmQgRXF1aWxpYnJhdGlvbjwvYj46IFRoZSBwcm9jZXNzIGNvbnRpbnVlcyBhcyB0aGUgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIGNvcGllcyB0aGUgbmV3IGdlbmV0aWMgc2VxdWVuY2UgaW50byB0aGUgRE5BIHN0cmFuZCwgY3JlYXRpbmcgd2hhdCBpcyBjYWxsZWQgYSBcIjMnIGZsYXBcIiAoYXMgc2hvd24gaW4gdGhlIGJvdHRvbSBwYXJ0IG9mIHRoZSBpbWFnZSkuIFRoaXMgZmxhcCBjb250YWlucyB0aGUgbmV3bHkgZWRpdGVkIHNlcXVlbmNlLiBBdCB0aGlzIHBvaW50LCB0aGVyZSBpcyBhbiBlcXVpbGlicmF0aW9uIGJldHdlZW4gdGhlIG5ldyBmbGFwICh3aGljaCBlbmNvZGVzIHRoZSBpbnRlbmRlZCBlZGl0KSBhbmQgdGhlIHVuZWRpdGVkIDUnIGZsYXAsIHdoaWNoIHN0aWxsIGNvbnRhaW5zIHRoZSBvcmlnaW5hbCwgdW5tb2RpZmllZCBETkEgc2VxdWVuY2UuIFRoZSBjZWxsJ3MgbmF0dXJhbCBtZWNoYW5pc21zIHR5cGljYWxseSBkZWdyYWRlIHRoZSB1bmVkaXRlZCA1JyBmbGFwLCBmYXZvcmluZyB0aGUgaW50ZWdyYXRpb24gb2YgdGhlIDMnIGZsYXAgZW5jb2RpbmcgdGhlIGVkaXQuPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+RmxhcCBSZXNvbHV0aW9uIGFuZCBGaW5hbCBFZGl0aW5nPC9iPjogSW4gc29tZSBjYXNlcywgYW4gYWRkaXRpb25hbCBuaWNrIChzZWVuIGluIHRoZSBQRTMvUEU1IHN5c3RlbXMgaW4gdGhlIGltYWdlKSBpcyBpbnRyb2R1Y2VkIGluIHRoZSBub24tdGFyZ2V0IEROQSBzdHJhbmQgdG8gcHJvbW90ZSByZXBhaXIgYW5kIGZhdm9yIHRoZSBpbmNvcnBvcmF0aW9uIG9mIHRoZSBlZGl0LiBUaGlzIHN0ZXAgaW5jcmVhc2VzIHRoZSBlZmZpY2llbmN5IG9mIFByaW1lIEVkaXRpbmcgYnkgZW5zdXJpbmcgdGhhdCB0aGUgbmV3bHkgZWRpdGVkIHN0cmFuZCBpcyBwcmVmZXJlbnRpYWxseSB1c2VkIGR1cmluZyB0aGUgY2VsbCdzIEROQSByZXBhaXIgcHJvY2Vzcy4gVGhlIG1pc21hdGNoIHJlcGFpciAoTU1SKSBzeXN0ZW0gb2YgdGhlIGNlbGwgYWxzbyBwbGF5cyBhIHJvbGUgaW4gZGV0ZXJtaW5pbmcgd2hldGhlciB0aGUgZWRpdCBpcyByZXRhaW5lZCBvciByZXZlcnRlZCB0byB0aGUgb3JpZ2luYWwgc2VxdWVuY2UuIEZvciBzeXN0ZW1zIGxpa2UgUEU0IGFuZCBQRTUsIGluaGliaXRpb24gb2YgdGhlIG1pc21hdGNoIHJlcGFpciBzeXN0ZW0gKGUuZy4sIGJ5IE1MSDFkbikgZnVydGhlciBwcm9tb3RlcyB0aGUgaW50ZWdyYXRpb24gb2YgdGhlIGRlc2lyZWQgZWRpdC48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5GaW5hbCBvdXRjb21lPC9iPjogT25jZSB0aGUgdW5lZGl0ZWQgZmxhcCBpcyBkZWdyYWRlZCBhbmQgdGhlIG5ldyBzZXF1ZW5jZSBpcyBpbnRlZ3JhdGVkLCB0aGUgY2VsbCBjb21wbGV0ZXMgdGhlIHJlcGFpciwgYW5kIHRoZSBlZGl0IGJlY29tZXMgcGVybWFuZW50bHkgaW5jb3Jwb3JhdGVkIGludG8gdGhlIEROQS4gQXMgc2hvd24gaW4gdGhlIGRpYWdyYW0sIHRoZSByZXN1bHQgaXMgYSBzdWNjZXNzZnVsIGdlbmV0aWMgbW9kaWZpY2F0aW9uLCB3aGVyZSB0aGUgbmV3LCBjb3JyZWN0ZWQgc2VxdWVuY2UgcmVwbGFjZXMgdGhlIG9yaWdpbmFsIGZhdWx0eSBzZXF1ZW5jZS48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9vbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiZ2lmLXdyYXBwZXJcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wcm9qZWN0LWRlc2NyaXB0aW9uL3ByaW1lLWVkaXRpbmctYW5pbWF0aW9uLTEwZnBzLmdpZlwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSA0OiA8L2I+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbGx1c3RyYXRpb24gb2YgdGhlIFByaW1lIEVkaXRpbmcgcHJvY2VzcyBhbmQgaXRzIHBvc3NpYmxlIG91dGNvbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk92ZXJhbGwsIHRoZXJlIGFyZSBtYW55IGRpZmZlcmVudCBQcmltZSBFZGl0aW5nIHN5c3RlbXMgd2l0aCBhIHZhcmlldHkgb2YgY29tcG9uZW50cyBhbmQgY29tcGxleGl0eSwgc3RhcnRpbmcgZnJvbSBQRTIgdXAgdG8gUEU3LiBQb3NzaWJsZSBlZGl0cyBjb3VsZCBpbnRlZ3JhdGUgc3Vic3RpdHV0aW9ucywgaW5zZXJ0cyBhbmQgZGVsZXRpb25zIGluIHRoZSByYW5nZSBvZiBvbmUgYmFzZSB1cCB0byBodW5kcmVkcyBvZiBudWNsZW90aWRlcywgd2l0aCBncmFkdWFsbHkgZGVjcmVhc2luZyBlZGl0aW5nIGVmZmljaWVuY3kuIFRoZXJlZm9yZSBQcmltZSBFZGl0aW5nIHRlY2hub2xvZ3kgYWxsb3dzIHRhcmdldGVkIG1vZGlmaWNhdGlvbnMgb2Ygc3BlY2lmaWMgZ2VuZXMuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9kZXRhaWxzPlxuICAgICAgICAgICAgICAgIDwvSW5mb0JveD4gXG4gICAgICAgICAgICAgICAgPHA+SG93ZXZlciwgdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleCBpcyByZWxhdGl2ZWx5IGxhcmdlLCBwb3NpbmcgY2hhbGxlbmdlcyBmb3IgdGhlcmFwZXV0aWMgZGVsaXZlcnk8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjNcIi8+LiBBZGRpdGlvbmFsbHksIFByaW1lIEVkaXRpbmcgaGFzIGJlZW4gc2hvd24gdG8gYmUgcmVsYXRpdmVseSBpbmVmZmljaWVudCBpbiB0ZXJtcyBvZiBnZW5lIGVkaXRpbmcgcmF0ZXMsIHdoaWNoIGNvdWxkIGxpbWl0IGl0cyB0aGVyYXBldXRpYyB1dGlsaXR5PFN1cFNjcm9sbExpbmsgbGFiZWw9XCI0XCIvPi4gT3VyIHByb2plY3QgYWltcyB0byBlbmhhbmNlIHRoZSBQcmltZSBFZGl0aW5nIGFwcHJvYWNoIGJ5IG1pbmlhdHVyaXppbmcgaXRzIGNvbXBvbmVudHMgYW5kIGVuaGFuY2luZyBpdHMgZWZmaWNpZW5jeSwgYXMgd2VsbCBhcyBwcmVjaXNpb24uIDwvcD5cbiAgICAgICAgICAgICAgICA8cD5BcyBzaG93biBpbiB0aGUgaW1hZ2UsIHdlIGRldmVsb3BlZCB0d28gcG90ZW50aWFsIGNvbmZpZ3VyYXRpb25zIGZvciBQcmltZSBHdWlkZSwgZWFjaCB1c2luZyBhIGRpZmZlcmVudCBuaWNrYXNlOiBvbmUgYmFzZWQgb24gdGhlIEZhbnpvciAoblNwdUZ6MSkgbmlja2FzZSBhbmQgdGhlIG90aGVyIG9uIGEgQ2FzWCAoblBsbUNhc1gpIG5pY2thc2UuIEJvdGggY29uZmlndXJhdGlvbnMgYXJlIGRlc2lnbmVkIHRvIGltcHJvdmUgdGhlIHByZWNpc2lvbiBhbmQgc3RhYmlsaXR5IG9mIHRoZSBQcmltZSBFZGl0aW5nIHN5c3RlbS4gVGhlIHBlZ1JOQSBzY2FmZm9sZCwgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIChQRTZjKSwgYW5kIHByaW1lciBiaW5kaW5nIHNpdGUgKFBCUy9SVFQpIHdvcmsgdG9nZXRoZXIgaW4gYm90aCBzeXN0ZW1zIHRvIGludHJvZHVjZSBwcmVjaXNlIGVkaXRzLCB3aXRoIHRoZSBMYSgxLTE5MykgZW5oYW5jaW5nIHN0YWJpbGl0eSBhbmQgZnVuY3Rpb24uPC9wPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZ1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Byb2plY3QtZGVzY3JpcHRpb24vcHJpbWVndWlkZS5wbmdcIi8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImltZy1yaWdodCBpbWctaGFsZiBjb2xcIj48UHJpbWVFZGl0aW5nQ29tcGxleC8+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPHA+VG8gZGV2ZWxvcCBvdXIgaW5ub3ZhdGl2ZSBQcmltZSBFZGl0aW5nIHN5c3RlbSwgUHJpbWUgR3VpZGUsIHdlIHdvcmtlZCBjbG9zZWx5IHdpdGggc2V2ZXJhbCBsZWFkaW5nIGV4cGVydHMgaW4gdGhlIGZpZWxkLiBBbW9uZyB0aGVtIHdlcmUgTWF0dGlqcyBCdWxjYWVuLCBNYWthdG8gU2FpdG8sIERyLiBIYW1tZXIsIEphbi1QaGlsbGlwcCBHZXJoYXJkIGFuZCBQcm9mLiBLcmlzdGlhbiBNXHUwMEZDbGxlciwgd2hvc2UgaW5zaWdodHMgaGVscGVkIGd1aWRlIG91ciBkZWNpc2lvbnMuIFByaW1lIEd1aWRlIGlzIGEgaGlnaGx5IHNwZWNpYWxpemVkIFByaW1lIEVkaXRpbmcgY29tcGxleCwgZGVzaWduZWQgdG8gdGFyZ2V0IHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIGN5c3RpYyBmaWJyb3NpcyB3aXRoIHByZWNpc2lvbiBhbmQgZWZmaWNpZW5jeS4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPk91ciBQcmltZSBHdWlkZSBzeXN0ZW0gY29uc2lzdHMgb2YgY2FyZWZ1bGx5IHNlbGVjdGVkIGNvbXBvbmVudHMsIGVhY2ggb3B0aW1pemVkIGZvciBpdHMgcm9sZS4gRm9yIHRoZSBuaWNrYXNlLCB3ZSBjaG9zZSBiZXR3ZWVuIFNwdUZ6MSBhbmQgQ2FzWCBuaWNrYXNlcyBkdWUgdG8gdGhlaXIgc21hbGxlciBzaXplIGFuZCBzdHJ1Y3R1cmFsIGFkdmFudGFnZXMsIHdoaWNoIHN1Z2dlc3QgaW5jcmVhc2VkIHN0YWJpbGl0eSBmb3IgdGhlIHBlZ1JOQSB3aXRoaW4gdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleC4gU21hbGxlciBuaWNrYXNlcyBhbHNvIHByb3ZpZGUgYmVuZWZpdHMgaW4gdGVybXMgb2Ygb3ZlcmFsbCBlZmZpY2llbmN5IGFuZCBlYXNlIG9mIGRlbGl2ZXJ5LCBhbGlnbmluZyB3aXRoIHRoZSBjb21wYWN0IGRlc2lnbiB3ZSBhaW1lZCBmb3IuPC9wPlxuICAgICAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cImZhbnpvcmNhcy1jb2xsYXBzaWJsZVwiIHRpdGxlPVwiQWR2YW50YWdlcyBvZiBGYW56b3IvUGxtQ2FzWCBvdmVyIENhczlcIj4gXG4gICAgICAgICAgICAgICAgICAgIDxwPkZyb20gdGhlIHN0YXJ0IG9mIG91ciBwcm9qZWN0IHdlIGhhdmUgYmVlbiBleGFtaW5pbmcgdGhlIGVzdGFibGlzaGVkIFByaW1lIEVkaXRpbmcgY29tcGxleCwga25vd24gZm9yIGl0cyBlZmZlY3RpdmVuZXNzIGJ1dCBhbHNvIGZvciBzZXZlcmFsIGxpbWl0YXRpb25zLCBpbmNsdWRpbmcgaXRzIHJlbGF0aXZlbHkgbGFyZ2Ugc2l6ZSBhbmQgc3RydWN0dXJhbCB2dWxuZXJhYmlsaXRpZXMuIEEga2V5IGNvbXBvbmVudCBvZiB0aGlzIGNvbXBsZXggaXMgdGhlIENhczkgbmlja2FzZSwgYW4gZW56eW1lIHRoYXQgc2VsZWN0aXZlbHkgY3V0cyBvbmUgb2YgdGhlIHR3byBETkEgc3RyYW5kcyBhdCBhIHByZWNpc2UgbG9jYXRpb24uIFRoaXMgbmlja2FzZSB3YXMgb3JpZ2luYWxseSBlbmdpbmVlcmVkIGJ5IGludHJvZHVjaW5nIG11dGF0aW9ucyBpbnRvIHRoZSBDYXM5IGVuZG9udWNsZWFzZSwgd2hpY2ggdHlwaWNhbGx5IGN1dHMgYm90aCBETkEgc3RyYW5kcy4gQnkgZGlzYWJsaW5nIG9uZSBvZiB0aGUgdHdvIGFjdGl2ZSBzaXRlcywgdGhlIENhczkgbmlja2FzZSB3YXMgZGVzaWduZWQgdG8gbmljayBvbmx5IG9uZSBzdHJhbmQsIGEgZnVuY3Rpb24gZXNzZW50aWFsIHRvIHRoZSBzdWNjZXNzIG9mIHRoZSBQcmltZSBFZGl0aW5nIHByb2Nlc3MgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI5MlwiLz4gLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPk91ciBhaW0gd2FzIHRvIGltcHJvdmUgdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleCwgbm90IG9ubHkgYnkgcmVkdWNpbmcgaXRzIHNpemUgYnV0IGFsc28gYnkgZW5oYW5jaW5nIGl0cyBzdGFiaWxpdHkuIFRvIGFjaGlldmUgdGhpcywgd2Ugc291Z2h0IGFsdGVybmF0aXZlIGVuZG9udWNsZWFzZXMgdGhhdCBhcmUgc21hbGxlciBhbmQgcG9zc2VzcyBvdGhlciBkZXNpcmFibGUgcHJvcGVydGllcy4gT3VyIHN0cmF0ZWd5IGludm9sdmVkIGlkZW50aWZ5aW5nIGVuZG9udWNsZWFzZXMgd2l0aCBzdWl0YWJsZSBjaGFyYWN0ZXJpc3RpY3MgYW5kIHRoZW4gZGV2ZWxvcGluZyBtZXRob2RzIHRvIG11dGF0ZSB0aGVtIGludG8gbmlja2FzZXMsIGFsbG93aW5nIHRoZW0gdG8gc2VsZWN0aXZlbHkgY3V0IGEgc2luZ2xlIEROQSBzdHJhbmQuIENhc1ggYW5kIEZhbnpvciBlbWVyZ2VkIGFzIHByb21pc2luZyBjYW5kaWRhdGVzLCBvZmZlcmluZyBzdHJ1Y3R1cmFsIGFkdmFudGFnZXMgYmV5b25kIHRoZWlyIHNtYWxsZXIgc2l6ZS4gPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5JbiBDYXM5LWJhc2VkIHN5c3RlbXMsIHRoZSBzcGFjZXIgcmVnaW9uIG9mIHRoZSBndWlkZSBSTkEgKGdSTkEpXHUyMDE0dGhlIHBhcnQgdGhhdCBiaW5kcyB0byB0aGUgdGFyZ2V0IEROQVx1MjAxNGlzIGxvY2F0ZWQgYXQgdGhlIDUnIGVuZCBvZiB0aGUgUk5BLXByb3RlaW4gY29tcGxleC4gSG93ZXZlciwgaW4gQ2FzWCBhbmQgRmFuem9yLCB0aGUgc3BhY2VyIGlzIHBvc2l0aW9uZWQgYXQgdGhlIDMnIGVuZDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiOTNcIi8+ICA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjk0XCIvPiAuIFRoaXMgcmV2ZXJzYWwgb2ZmZXJzIHNldmVyYWwgYmVuZWZpdHM6IHRoZSAzJyBlbmQgb2YgdGhlIFJOQSBpcyB0eXBpY2FsbHkgbW9yZSBzdXNjZXB0aWJsZSB0byBkZWdyYWRhdGlvbiBieSBSTmFzZXMsIHdoaWNoIGNhbiBjb21wcm9taXNlIHRoZSBzdGFiaWxpdHkgYW5kIGVmZmVjdGl2ZW5lc3Mgb2YgdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleC4gSW4gQ2FzWCBhbmQgRmFuem9yLCBob3dldmVyLCB0aGUgM1x1MjAxOSB0ZXJtaW51cyBpcyBwb3NpdGlvbmVkIGF0IHRoZSBzcGFjZXIgZW5jbG9zZWQgYnkgdGhlIHByb3RlaW4sIHBvdGVudGlhbGx5IHByb3RlY3RpbmcgZnJvbSBSTmFzZSBkZWdyYWRhdGlvbi4gIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+QWRkaXRpb25hbGx5LCB0aGlzIHJldmVyc2VkIGFyY2hpdGVjdHVyZSBhbHRlcnMgdGhlIHBvc2l0aW9uaW5nIG9mIHRoZSByZXZlcnNlIHRyYW5zY3JpcHRpb24gdGVtcGxhdGUgKFJUVCkgYW5kIHByaW1lciBiaW5kaW5nIHNpdGUgKFBCUykgb24gdGhlIHBlZ1JOQS4gSW4gQ2FzOS1iYXNlZCBzeXN0ZW1zLCB0aGUgUlRUIGlzIGxvY2F0ZWQgYXQgdGhlIDMnIGVuZCBvZiB0aGUgcGVnUk5BLCB3aGljaCBsZWF2ZXMgaXQgbW9yZSBleHBvc2VkIGFuZCBpbmNyZWFzZXMgdGhlIHJpc2sgb2YgcmV2ZXJzZSB0cmFuc2NyaXB0aW9uIGNvbnRpbnVpbmcgcGFzdCB0aGUgaW50ZW5kZWQgc3RvcCBwb2ludC4gVGhpcyBcInNjYWZmb2xkIHJlYWQtdGhyb3VnaFwiIGVmZmVjdCBjYW4gcmVzdWx0IGluIHRoZSBzeW50aGVzaXMgb2YgdW5pbnRlbmRlZCBETkEgc2VxdWVuY2VzLCBsZWFkaW5nIHRvIHVuZGVzaXJlZCBtdXRhdGlvbnMgb3IgZ2Vub21pYyBhbHRlcmF0aW9ucyBhdCB0aGUgdGFyZ2V0IHNpdGU8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjk1XCIvPiAsIHBvdGVudGlhbGx5IGNvbXByb21pc2luZyB0aGUgc2FmZXR5IG9mIHRoZSBQcmltZSBFZGl0aW5nIHByb2Nlc3MuIEluIENhc1ggYW5kIEZhbnpvciBzeXN0ZW1zLCBob3dldmVyLCB0aGUgUlRUIGlzIHBvc2l0aW9uZWQgYXQgdGhlIDUnIGVuZCBvZiB0aGUgcGVnUk5BLCB3aGlsZSB0aGUgc3BhY2VyIGlzIGxvY2F0ZWQgbmVhciB0aGUgMycgZW5kIGFuZCBpcyBjbG9zZWx5IGJvdW5kIHRvIHRoZSBwcm90ZWluLiBUaGlzIHJldmVyc2VkIGxheW91dCBoZWxwcyBlbnN1cmUgdGhhdCByZXZlcnNlIHRyYW5zY3JpcHRpb24gc3RvcHMgcHJlY2lzZWx5IGF0IHRoZSBlbmQgb2YgdGhlIFJUVCBzZXF1ZW5jZSwgc2lnbmlmaWNhbnRseSByZWR1Y2luZyB0aGUgcmlzayBvZiB1bmludGVuZGVkIGV4dGVuc2lvbnMgYW5kIGltcHJvdmluZyB0aGUgcHJlY2lzaW9uIGFuZCByZWxpYWJpbGl0eSBvZiB0aGUgZWRpdGluZyBwcm9jZXNzLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+QnkgaW5jb3Jwb3JhdGluZyB0aGVzZSBzbWFsbGVyLCBtb3JlIHN0YWJsZSBuaWNrYXNlcyBpbnRvIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXgsIHdlIGFpbSB0byByZWR1Y2UgaXRzIG92ZXJhbGwgc2l6ZSB3aGlsZSBtYWludGFpbmluZyBvciBldmVuIGVuaGFuY2luZyBpdHMgZnVuY3Rpb25hbGl0eSBhbmQgcmVsaWFiaWxpdHkuIDwvcD5cbiAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgICAgIDxwPkluIHRlcm1zIG9mIHRoZSBwZWdSTkEsIHdlIG9wdGVkIGZvciBhIHBlZ1JOQSwgaW5jbHVkaW5nIGEgMTYtYmFzZSBwcmltZXIgYmluZGluZyBzaXRlIChQQlMpIGFuZCBhIDMwLWJhc2UgcmV2ZXJzZSB0cmFuc2NyaXB0aW9uIHRlbXBsYXRlIChSVFQpLCB3aXRoIG5vIHNpbGVudCBlZGl0cyBhbmQgYSBzdHJ1Y3R1cmFsIG1vdGlmLCB0aGUgdGV2b3ByZVExLiBBZnRlciBleHRlbnNpdmUgc2NyZWVuaW5nIHVzaW5nIGEgcmVwb3J0ZXIgc3lzdGVtLCB0aGlzIHBlZ1JOQSBkZW1vbnN0cmF0ZWQgdGhlIGhpZ2hlc3QgcGVyZm9ybWFuY2UsIGxlYWRpbmcgdXMgdG8gc2VsZWN0IGl0IGFzIHRoZSBiZXN0IGNhbmRpZGF0ZSBmb3IgZnVydGhlciBkZXZlbG9wbWVudC4gV2hpbGUgb3RoZXIgcGVnUk5BcyBhbHNvIHNob3dlZCBwcm9taXNlLCBwZWdSTkFfUEVBUl8wNSB3YXMgdWx0aW1hdGVseSBjaG9zZW4gZm9yIGl0cyBzdXBlcmlvciByZXN1bHRzIGluIG91ciB0ZXN0aW5nLjwvcD5cbiAgICAgICAgICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJwZWdSTkEtZ2VuYXUtY29sbGFwc2libGVcIiB0aXRsZT1cIk9wdGltaXphdGlvbiBvZiB0aGUgcGVnUk5BXCI+IFxuICAgICAgICAgICAgICAgICAgICA8cD48Yj5TdGFiaWxpdHkgaW1wcm92ZW1lbnQ6IHRldm9wcmVRMSBleHRlbnNpb248L2I+PC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5UaGUgcGVnUk5BIHdhcyBzcGVjaWZpY2FsbHkgb3B0aW1pemVkIHRvIGVuaGFuY2UgaXRzIHN0YWJpbGl0eSBpbiB0aGUgY2VsbHVsYXIgZW52aXJvbm1lbnQuIFRvIGFjaGlldmUgdGhpcywgYSBzdHJ1Y3R1cmFsIG1vdGlmIGtub3duIGFzIHRldm9wcmVRMSB3YXMgYWRkZWQgdG8gdGhlIGJhc2ljIHBlZ1JOQSBzdHJ1Y3R1cmUuIFRoaXMgbW90aWYgd2FzIHNlbGVjdGVkIGJhc2VkIG9uIGl0cyBrbm93biBhYmlsaXR5IHRvIGltcHJvdmUgUk5BIHN0YWJpbGl0eSBieSBwcmV2ZW50aW5nIGRlZ3JhZGF0aW9uLiBCeSBpbnRlZ3JhdGluZyB0ZXZvcHJlUTEsIHRoZSBnb2FsIHdhcyB0byBleHRlbmQgdGhlIGhhbGYtbGlmZSBvZiB0aGUgcGVnUk5BLCBhbGxvd2luZyBpdCB0byByZW1haW4gZnVuY3Rpb25hbCBpbiBjZWxscyBmb3IgYSBsb25nZXIgZHVyYXRpb24sIHRodXMgaW1wcm92aW5nIHRoZSBsaWtlbGlob29kIG9mIHN1Y2Nlc3NmdWwgZ2VuZSBlZGl0cy4gVGhpcyBzdGFiaWxpemluZyBhZGRpdGlvbiB3YXMgcGFydGljdWxhcmx5IHZhbHVhYmxlIGluIHRoZSBjb250ZXh0IG9mIENGVFIgZ2VuZSBlZGl0aW5nLCB3aGVyZSBoaWdoZXIgUk5BIHN0YWJpbGl0eSBjb3VsZCBsZWFkIHRvIGJldHRlciBlZGl0aW5nIG91dGNvbWVzLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+PGI+UHJlY2lzaW9uIGVuaGFuY2VtZW50OiBTcGFjZXIgc2VsZWN0aW9uPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+QSBtYWpvciBmb2N1cyBkdXJpbmcgdGhlIG9wdGltaXphdGlvbiBvZiB0aGUgcGVnUk5BIHdhcyB0aGUgY2FyZWZ1bCBkZXNpZ24gb2YgdGhlIHNwYWNlciBzZXF1ZW5jZSwgd2hpY2ggcGxheXMgYSBjcnVjaWFsIHJvbGUgaW4gZ3VpZGluZyB0aGUgZWRpdGluZyBjb21wbGV4IHRvIHRoZSBjb3JyZWN0IGdlbm9taWMgbG9jYXRpb24uIE11bHRpcGxlIHNwYWNlciBzZXF1ZW5jZXMgd2VyZSBkZXNpZ25lZCBhbmQgdGVzdGVkIHZpYSBhIHNvZnR3YXJlLCB3aXRoIHRoZSBhaW0gb2YgbWluaW1pemluZyBvZmYtdGFyZ2V0IGVmZmVjdHMgdGhhdCBjYW4gbGVhZCB0byB1bmludGVuZGVkIGdlbmV0aWMgY2hhbmdlcy4gVGhyb3VnaCBleHBlcnQgY29uc3VsdGF0aW9ucyBhbmQgdGhlb3JldGljYWwgbW9kZWxpbmcsIGEgcmF0aW9uYWwgZGVzaWduIHN0cmF0ZWd5IHdhcyBlbXBsb3llZCB0byBzZWxlY3QgYSBzcGFjZXIgc2VxdWVuY2UgdGhhdCB3b3VsZCBlbmhhbmNlIHRoZSBwcmVjaXNpb24gb2YgdGhlIGVkaXRpbmcgcHJvY2Vzcy4gVGhpcyBwcmVjaXNpb24gaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgZm9yIHRoZXJhcGV1dGljIGFwcGxpY2F0aW9ucywgc3VjaCBhcyBpbiBDRlRSIGdlbmUgZWRpdGluZywgd2hlcmUgdW5pbnRlbmRlZCBlZGl0cyBjb3VsZCBoYXZlIGhhcm1mdWwgY29uc2VxdWVuY2VzLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+PGI+SW1wcm92aW5nIEVkaXRpbmcgRWZmaWNpZW5jeTogUEJTIGFuZCBSVFQgbGVuZ3RoIGFkanVzdG1lbnRzIHdpdGggU2lsZW50IEVkaXRzPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+VG8gbWF4aW1pemUgZWRpdGluZyBlZmZpY2llbmN5LCB2YXJpb3VzIGNvbWJpbmF0aW9ucyBvZiBwcmltZXIgYmluZGluZyBzaXRlIChQQlMpIGFuZCByZXZlcnNlIHRyYW5zY3JpcHRhc2UgdGVtcGxhdGUgKFJUVCkgbGVuZ3RocyB3ZXJlIGV2YWx1YXRlZC4gVGhlIFJUVCwgd2hpY2ggcHJvdmlkZXMgdGhlIHRlbXBsYXRlIGZvciB0aGUgZGVzaXJlZCBnZW5ldGljIGNoYW5nZSwgd2FzIGNhcmVmdWxseSBvcHRpbWl6ZWQsIGluY2x1ZGluZyB0aGUgaW50cm9kdWN0aW9uIG9mIHNpbGVudCBlZGl0c1x1MjAxNGNoYW5nZXMgaW4gdGhlIFJUVCB0aGF0IGRvIG5vdCBhbHRlciB0aGUgcHJvdGVpbiBzZXF1ZW5jZSBidXQgY2FuIGltcHJvdmUgdGhlIGVkaXRpbmcgcHJvY2Vzcy4gQm90aCBzaG9ydGVuZWQgYW5kIGV4dGVuZGVkIHZlcnNpb25zIG9mIHRoZSBQQlMgYW5kIFJUVCB3ZXJlIHRlc3RlZCBpbiBjb21iaW5hdGlvbnMgd2l0aCBlYWNoIG90aGVyLCB3aXRoIGFuZCB3aXRob3V0IHRoZXNlIHNpbGVudCBlZGl0cywgdG8gaWRlbnRpZnkgdGhlIG9wdGltYWwgY29uZmlndXJhdGlvbiB0aGF0IHdvdWxkIHJlc3VsdCBpbiB0aGUgaGlnaGVzdCBlZGl0aW5nIGVmZmljaWVuY3kuIFRoaXMgc3RlcC1ieS1zdGVwIHNjcmVlbmluZyBwcm9jZXNzIGFsbG93ZWQgZm9yIHRoZSBzZWxlY3Rpb24gb2YgdGhlIG1vc3QgZWZmaWNpZW50IHBlZ1JOQSBmb3IgdGFyZ2V0aW5nIHRoZSBDRlRSIGdlbmUsIGVuc3VyaW5nIHRoYXQgdGhlIHN5c3RlbSBjb3VsZCBhY2hpZXZlIGhpZ2ggbGV2ZWxzIG9mIHN1Y2Nlc3NmdWwgZWRpdHMgd2l0aCBtaW5pbWFsIHVuaW50ZW5kZWQgY29uc2VxdWVuY2VzLjwvcD5cbiAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgICAgIDxwPkZvciB0aGUgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlLCB3ZSBzZWxlY3RlZCB0aGUgUDZDIHZhcmlhbnQsIHdoaWNoIGhhcyBzaG93biB0byBwcm92aWRlIHRoZSBiZXN0IGVkaXRpbmcgZWZmaWNpZW5jeSBhbmQgYSBtb3JlIGNvbXBhY3Qgc3RydWN0dXJlIGNvbXBhcmVkIHRvIGFsdGVybmF0aXZlcy4gSXRzIGFkdmFuY2VkIGRldmVsb3BtZW50IHN0YWdlIGFuZCBhYmlsaXR5IHRvIG9mZmVyIGhpZ2ggcHJlY2lzaW9uIGFuZCBlZGl0aW5nIHBlcmZvcm1hbmNlIG1hZGUgaXQgdGhlIGlkZWFsIGNob2ljZSBmb3IgUHJpbWUgR3VpZGUuIDwvcD5cbiAgICAgICAgICAgICAgICA8cD5Ub2dldGhlciwgdGhlc2UgY29tcG9uZW50cyBmb3JtIGEgaGlnaGx5IG9wdGltaXplZCBQcmltZSBFZGl0aW5nIHN5c3RlbSB0aGF0IGJhbGFuY2VzIHNpemUsIHN0YWJpbGl0eSwgYW5kIGVmZmljaWVuY3kuIE91ciBhaW0gd2l0aCBQcmltZSBHdWlkZSBpcyB0byBjcmVhdGUgYSByb2J1c3QgYW5kIHByZWNpc2Ugc29sdXRpb24gZm9yIGNvcnJlY3RpbmcgdGhlIEY1MDhkZWwgbXV0YXRpb24gaW4gY3lzdGljIGZpYnJvc2lzLCBidWlsZGluZyBvbiB0aGUgZ3VpZGFuY2UgZnJvbSBvdXIgZXhwZXJ0IGNvbGxhYm9yYXRvcnMgYW5kIGV4dGVuc2l2ZSB0ZXN0aW5nIG9mIGVhY2ggaW5kaXZpZHVhbCBjb21wb25lbnQuPC9wPlxuICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiT3VyIFByZUN5c2UgY2Fzc2V0dGVcIiBpZD1cIlByZUN5c2UtY2Fzc2V0dGVcIi8+IFxuICAgICAgICAgICAgICAgIDxwPldlIGhhdmUgZGV2ZWxvcGVkIG91ciBQcmltZUd1aWRlLCBhbiBvcHRpbWl6ZWQgdmVyc2lvbiBvZiB0aGUgUHJpbWUgRWRpdGluZyBzeXN0ZW0sIGRlc2lnbmVkIHRvIGVuaGFuY2UgZWRpdGluZyBlZmZpY2llbmN5LCBwcmVjaXNpb24sIGFuZCB2ZXJzYXRpbGl0eS4gQXMgcGFydCBvZiBvdXIgY29udGludWVkIGVmZm9ydHMgdG8gaW1wcm92ZSBhbmQgc3RyZWFtbGluZSB0aGUgUHJpbWUgRWRpdGluZyB3b3JrZmxvdywgd2UgaW50cm9kdWNlIHRvIHlvdSB0aGUgUHJlQ3lzZS1DYXNzZXR0ZVx1MjAxNGEgdW5pdmVyc2FsIHBsYXNtaWQgYmFja2JvbmUgc3BlY2lmaWNhbGx5IHRhaWxvcmVkIGZvciBhbnkgUHJpbWUgRWRpdGluZyBzeXN0ZW0uPC9wPlxuICAgICAgICAgICAgICAgIDxwPlRoZSBQcmVDeXNlLUNhc3NldHRlIGlzIGVuZ2luZWVyZWQgdG8gcHJvdmlkZSBtYXhpbXVtIGZsZXhpYmlsaXR5IGZvciB0aGUgY29uc3RydWN0aW9uIG9mIHRoZSBQcmltZSBFZGl0aW5nIHN5c3RlbXMuIEl0IGluY2x1ZGVzIEJzYUkgdW5kIFNhcEkgY2xvbmluZyBzaXRlcywgYWxsb3dpbmcgZWFzeSBpbnNlcnRpb24gYW5kIGV4Y2hhbmdlIG9mIGVzc2VudGlhbCBjb21wb25lbnRzIGxpa2UgYSBuaWNrYXNlIGFuZCByZXZlcnNlIHRyYW5zY3JpcHRhc2UsIGZ1bmRhbWVudGFsIGZvciBQcmltZSBFZGl0aW5nLiBBZGRpdGlvbmFsbHksIGl0IGluY29ycG9yYXRlcyBhIGNsb25pbmcgc2l0ZSBmb3IgdGhlIGd1aWRlIFJOQSwgZW5zdXJpbmcgc2VhbWxlc3MgaW50ZWdyYXRpb24gYW5kIGFkYXB0YXRpb24gdG8gdmFyaW91cyB0YXJnZXQgc2VxdWVuY2VzLjwvcD5cbiAgICAgICAgICAgICAgICA8cD5Nb3Jlb3ZlciwgdGhlIFByZUN5c2UtQ2Fzc2V0dGUgY29udGFpbnMgc2V2ZXJhbCBhZHZhbmNlZCBmZWF0dXJlcyBkZXNpZ25lZCB0byBlbmhhbmNlIHN5c3RlbSBwZXJmb3JtYW5jZS4gVGhlIGFyY2hpdGVjdHVyZSBvZiB0aGlzIGNhc3NldHRlIGlzIGJhc2VkIG9uIGEgY29tYmluYXRpb24gb2YgdGhlIFBFNCBhbmQgUEU3IHN5c3RlbXMsIHByb3ZpZGluZyB0aGUgcHJlc2VuY2Ugb2YgdGhlIExBIG1vdGlmIGFuZCBNTEgxZG4uIFRodXMgYWxsb3dpbmcgYW4gaW5jcmVhc2VkIGZ1bmN0aW9uYWxpdHkgYW5kIGVkaXRpbmcgZWZmaWNpZW5jeSwgd2hpbGUgdGhlIENNViBhbmQgVDcgcHJvbW90ZXJzIGVuc3VyZSBoaWdoIGV4cHJlc3Npb24gbGV2ZWxzIGFjcm9zcyBkaWZmZXJlbnQgc3lzdGVtcy4gVGhlc2UgZmVhdHVyZXMgbWFrZSB0aGUgY2Fzc2V0dGUgdW5pdmVyc2FsbHkgYXBwbGljYWJsZSB0byBhIHdpZGUgcmFuZ2Ugb2YgUHJpbWUgRWRpdGluZyBjb250ZXh0cywgZW5hYmxpbmcgdXNlcnMgdG8gZWZmb3J0bGVzc2x5IGNsb25lIHRoZWlyIGRlc2lyZWQgY29tcG9uZW50c1x1MjAxNG5pY2thc2UsIHJldmVyc2UgdHJhbnNjcmlwdGFzZSwgYW5kIGd1aWRlIFJOQVx1MjAxNHdpdGhvdXQgdGhlIG5lZWQgZm9yIGNvbXBsZXggbW9kaWZpY2F0aW9ucy48L3A+XG4gICAgICAgICAgICAgICAgPHA+V2l0aCB0aGlzIFByZUN5c2UtQ2Fzc2V0dGUsIHJlc2VhcmNoZXJzIGNhbiBlYXNpbHkgc2V0IHVwIGFuZCB0ZXN0IHRoZWlyIFByaW1lIEVkaXRpbmcgc3lzdGVtcywgYnlwYXNzaW5nIG11Y2ggb2YgdGhlIGxhYm9yaW91cyBjbG9uaW5nIHdvcmsgdHJhZGl0aW9uYWxseSBhc3NvY2lhdGVkIHdpdGggdGhlc2Ugc2V0dXBzLiBUaGUgY2Fzc2V0dGUgcHJvdmlkZXMgYW4gZWZmaWNpZW50IGFuZCB2ZXJzYXRpbGUgcGxhdGZvcm0gZm9yIGV4cGVyaW1lbnRpbmcgd2l0aCBhbmQgcmVmaW5pbmcgUHJpbWUgRWRpdGluZyBhcHBsaWNhdGlvbnMsIGZvcm1pbmcgdGhlIGlkZWFsIGJhY2tib25lIGZvciBQcmltZUd1aWRlIGFuZCBiZXlvbmQuPC9wPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZmFuem9yL2thc3NldHRlbWVjaC53ZWJwXCIvPiBcbiAgICAgICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJEZWxpdmVyeVwiIGlkPVwiQXBwcm9hY2gyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvc29ydC1sbnAtb2huZS1iZXNjaHJpZnR1bmcud2VicFwiLz4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPldlIG9wdGltaXplZCBMTlBzIGFzIGEgcm9idXN0IGRlbGl2ZXJ5IHN5c3RlbSB0byB0cmFuc3BvcnQgbGFyZ2VyIHRoZXJhcGV1dGljIGNhcmdvLCBzdWNoIGFzIFByaW1lIEVkaXRpbmcgbVJOQSwgdG8gbHVuZyBlcGl0aGVsaWFsIGNlbGxzIHZpYSBpbmhhbGF0aW9uLiBMTlBzIHdlcmUgY2hvc2VuIG92ZXIgb3RoZXIgZGVsaXZlcnkgc3lzdGVtcywgbGlrZSBBZGVuby1hc3NvY2lhdGVkIHZpcnVzZXMgKEFBVnMpLCBkdWUgdG8gdGhlaXIgc3VwZXJpb3IgY2FyZ28gY2FwYWNpdHkgYW5kIHJlZHVjZWQgaW1tdW5vZ2VuaWNpdHkuIE91ciBnb2FsIHdhcyB0byBjcmVhdGUgYSBzcHJheS1kcmllZCBsdW5nLXNwZWNpZmljIExOUCBuYW1lZDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvYWlyYnVkZHkud2VicFwiIHN0eWxlPXt7bWF4SGVpZ2h0OiBcIjgwcHRcIn19Lz4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+Y2FwYWJsZSBvZiBlZmZpY2llbnRseSBkZWxpdmVyaW5nIG9mIG91ciBQcmltZSBFZGl0aW5nIGNvbXBvbmVudHMsIHJlZmVycmVkIHRvIGFzIFByaW1lR3VpZGUsIHRvIGx1bmcgdGlzc3VlcyB0aHJvdWdoIGluaGFsYXRpb24uIFRoaXMgYXBwcm9hY2ggaXMgZGVzaWduZWQgdG8gYWR2YW5jZSBwcmVjaXNpb24gbWVkaWNpbmUgYnkgZW5zdXJpbmcgdGFyZ2V0ZWQgZGVsaXZlcnkgd2l0aCBtaW5pbWFsIG9mZi10YXJnZXQgZWZmZWN0cy48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIkNvbDFcIiBvcGVuPXtmYWxzZX0gdGl0bGU9XCJMTlBzIGV4cGxhaW5lZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTE5QcyBhbmQgdGhlaXIgaW1wYWN0IG9uIG1vZGVybiBtZWRpY2luZVwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxOUHMgYXJlIGFuIGFkdmFuY2VkIGRlbGl2ZXJ5IHN5c3RlbSBkZXNpZ25lZCB0byB0cmFuc3BvcnQgdGhlcmFwZXV0aWMgbW9sZWN1bGVzIGxpa2UgUk5BLCBETkEgb3IgcHJvdGVpbnMgaW50byB0aGUgY2VsbHMuIFRoZXNlIG5hbm9wYXJ0aWNsZXMgYXJlIHRpbnkgc3BoZXJlcyBtYWRlIG9mIGxpcGlkcyB0aGF0IGZvcm0gYSBwcm90ZWN0aXZlIHNoZWxsIGFyb3VuZCB0aGUgY2FyZ28uIFRoZSBzaXplIG9mIExOcyB0eXBpY2FsbHkgcmFuZ2VzIGZyb20gNTAgdG8gMjAwIG5tIGluIGRpYW1ldGVyLCBtYWtpbmcgdGhlbSBpbmNyZWRpYmx5IHNtYWxsIC0gYWJvdXQgMSwwMDAgdGltZXMgdGhpbm5lciB0aGFuIGEgaHVtYW4gaGFpciA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjFcIi8+IC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk92ZXJhbGwsIExOUHMgcmVwcmVzZW50IGEgc2lnbmlmaWNhbnQgYWR2YW5jZW1lbnQgaW4gZHJ1ZyBkZWxpdmVyeSB0ZWNobm9sb2d5LiBMTlBzIG9mZmVyIGV4Y2VwdGlvbmFsbHkgaGlnaCBkcnVnLWxvYWRpbmcgY2FwYWNpdGllcywgbWFraW5nIHRoZW0gaGlnaGx5IGVmZmVjdGl2ZSBmb3IgZGVsaXZlcmluZyBzdWJzdGFudGlhbCBhbW91bnRzIG9mIHRoZXJhcGV1dGljIGFnZW50cyBpbiBhIHNpbmdsZSBkb3NlLiBUaGVpciBhZHZhbmNlZCBkZXNpZ24gYWxsb3dzIGZvciB0aGUgZW5jYXBzdWxhdGlvbiBvZiBhIGxhcmdlIHBheWxvYWQsIHdoaWNoIGVuaGFuY2VzIHRoZSBlZmZpY2FjeSBvZiB0cmVhdG1lbnRzIGFuZCByZWR1Y2VzIHRoZSBmcmVxdWVuY3kgb2YgYWRtaW5pc3RyYXRpb24gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIzXCIvPiAuIEJ5IGVuY2Fwc3VsYXRpbmcgYW5kIHByb3RlY3RpbmcgdGhlcmFwZXV0aWMgYWdlbnRzIGxpa2UgbVJOQSwgTE5QcyBlbmhhbmNlIHRoZSBzdGFiaWxpdHksIHRhcmdldGVkIGRlbGl2ZXJ5LCBhbmQgZWZmZWN0aXZlbmVzcyBvZiB0cmVhdG1lbnRzLiBUaGVpciBhYmlsaXR5IHRvIGJlIHRhaWxvcmVkIGZvciBzcGVjaWZpYyBkZWxpdmVyeSBuZWVkcywgc3VjaCBhcyB0YXJnZXRpbmcgcGFydGljdWxhciBvcmdhbnMgb3Igb3ZlcmNvbWluZyBwaHlzaW9sb2dpY2FsIGJhcnJpZXJzLCBtYWtlcyB0aGVtIGEgcG93ZXJmdWwgdG9vbCBpbiBtb2Rlcm4gbWVkaWNpbmUgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI5XCIvPiAuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJQcm90ZWN0aW9uIG9mIGNhcmdvXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8cD4gVGhlIHByaW1hcnkgZnVuY3Rpb24gb2YgTE5QcyBpcyB0byBzaGllbGQgdGhlIHRoZXJhcGV1dGljIGFnZW50cyB0aGV5IGNhcnJ5LCBzdWNoIGFzIG1STkEsIGZyb20gZGVncmFkYXRpb24gYW5kIGZhY2lsaXRhdGUgdGhlaXIgZGVsaXZlcnkgaW50byBjZWxscy4gbVJOQSBpcyBhIGNyaXRpY2FsIGNvbXBvbmVudCBpbiBtYW55IG1vZGVybiB2YWNjaW5lcyBhbmQgdGhlcmFwaWVzLCBidXQgaXQgaXMgaGlnaGx5IHN1c2NlcHRpYmxlIHRvIGJyZWFraW5nIGRvd24gYmVmb3JlIGl0IGNhbiByZWFjaCBpdHMgdGFyZ2V0IHdpdGhpbiBjZWxscy4gTE5QcyBhZGRyZXNzIHRoaXMgY2hhbGxlbmdlIGJ5IGVuY2Fwc3VsYXRpbmcgdGhlIG1STkEsIHRodXMgcHJvdGVjdGluZyBpdCBmcm9tIGhhcm1mdWwgZW56eW1lcywgbGlrZSBSTmFzZXMgYW5kIGVudmlyb25tZW50YWwgY29uZGl0aW9ucyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjJcIi8+IC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZWxpdmVyeSBhc3N1cmFuY2VcIiBpZD1cInRleHRcIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5MTlBzIGNvbWUgaW4gdmFyaW91cyB0eXBlcyB0YWlsb3JlZCBmb3IgZGlmZmVyZW50IHRoZXJhcGV1dGljIG5lZWRzLiBTb2xpZCBMaXBpZCBOYW5vcGFydGljbGVzIChTTE5zKSBhbmQgTmFub3N0cnVjdHVyZWQgTGlwaWQgQ2FycmllcnMgKE5MQ3MpIGVuaGFuY2UgZHJ1ZyBzdGFiaWxpdHkgYW5kIHNvbHViaWxpdHksIHdoaWxlIExpcG9zb21lcywgd2l0aCB0aGVpciBiaWxheWVyIHN0cnVjdHVyZSwgYXJlIHZlcnNhdGlsZSBmb3IgZW5jYXBzdWxhdGluZyBib3RoIGh5ZHJvcGhpbGljIGFuZCBoeWRyb3Bob2JpYyBkcnVncy4gQ2F0aW9uaWMgTE5QcyBhcmUgaWRlYWwgZm9yIGdlbmUgZGVsaXZlcnkgZHVlIHRvIHRoZWlyIHBvc2l0aXZlIGNoYXJnZSwgd2hlcmVhcyBhbmlvbmljIGFuZCBuZXV0cmFsIExOUHMgb2ZmZXIgcmVkdWNlZCBpbnRlcmFjdGlvbiBhbmQgbG93ZXIgdG94aWNpdHksIHJlc3BlY3RpdmVseSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjNcIi8+IC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRvIGVuaGFuY2UgdGhlaXIgZWZmZWN0aXZlbmVzcywgTE5QcyBhcmUgZGVzaWduZWQgd2l0aCBzcGVjaWZpYyBjb21wb25lbnRzLiBGb3IgaW5zdGFuY2UsIHRoZSBOZWJ1bGl6ZWQgTHVuZyBEZWxpdmVyeSAxIChOTEQxKSBuYW5vcGFydGljbGUsIGEgcGFydGljdWxhciB0eXBlIG9mIExOUCwgaW5jbHVkZXMgYSBjb21iaW5hdGlvbiBvZiBsaXBpZHMgYW5kIHBvbHltZXJzIHRoYXQgc3RhYmlsaXplIHRoZSBtUk5BIGFuZCBhbGxvdyBpdCB0byBiZSBkZWxpdmVyZWQgZWZmaWNpZW50bHkuIFRoaXMgZm9ybXVsYXRpb24gaW5jbHVkZXMgc21hbGwgbGlwaWQgcGFydGljbGVzIHRoYXQgZW5jYXBzdWxhdGUgdGhlIG1STkEgYW5kIGNhbiBtYWludGFpbiBzdGFiaWxpdHkgZm9yIHNldmVyYWwgZGF5cyB1bmRlciBwcm9wZXIgc3RvcmFnZSBjb25kaXRpb25zIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMlwiLz4gLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlNpemUgaW1wYWN0IG9mIHB1bG1vbmFyeSBMTlBzXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICBJbiB0aGUgY29udGV4dCBvZiBwdWxtb25hcnkgZGVsaXZlcnksIHdoZXJlIHRoZSBnb2FsIGlzIHRvIHRhcmdldCB0aGUgbHVuZ3MsIHRoZSBzaXplIGFuZCBwcm9wZXJ0aWVzIG9mIHRoZSBMTlBzIGFyZSBjcnVjaWFsLiBQYXJ0aWNsZXMgc21hbGxlciB0aGFuIDIgbWljcm9tZXRlcnMgYXJlIHBhcnRpY3VsYXJseSBlZmZlY3RpdmUgZm9yIHJlYWNoaW5nIHRoZSBhbHZlb2xhciByZWdpb25zIG9mIHRoZSBsdW5ncyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjExXCIvPiAuIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiUm9sZSBvZiBzdXJmYWNlIG1vZGlmaWNhdGlvbnMgaW4gdGFyZ2V0aW5nXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JvdyBhbGlnbi1pdGVtcy1jZW50ZXInPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL2Fycy5lbHMtY2RuLmNvbS9jb250ZW50L2ltYWdlLzEtczIuMC1TMTc3MzIyNDcyNDAwMjE1Ni1ncjNfbHJnLmpwZ1wiIGFsdD1cIkF1Zm5haG1lIExOUFwiIHN0eWxlPXt7bWF4SGVpZ2h0OiBcIjIwMHB0XCJ9fS8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZS4gPC9iPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW5kb3NvbWFsIGVzY2FwZSB2cyBkZWdyYWRhdGlvbiBvZiBMTlAgY2FyZ28gYXQgZW5kb2N5dG9zaXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI0XCIvPiAuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxOUHMgYXJlIHBpdm90YWwgbm90IG9ubHkgZm9yIHNoaWVsZGluZyBtUk5BIGJ1dCBhbHNvIGZvciBlbnN1cmluZyBpdHMgZWZmaWNpZW50IGRlbGl2ZXJ5IGludG8gdGFyZ2V0IGNlbGxzLiBUaGV5IGZhY2lsaXRhdGUgY2VsbHVsYXIgdXB0YWtlIHRocm91Z2ggZW5kb2N5dG9zaXMsIHdoZXJlIHRoZSBjZWxsIG1lbWJyYW5lIGVuZ3VsZnMgdGhlIG5hbm9wYXJ0aWNsZS4gTE5QcyBhcmUgYWNjbGFpbWVkIGZvciB0aGVpciBoaWdoIGRydWctbG9hZGluZyBjYXBhY2l0aWVzLCB3aGljaCBncmVhdGx5IGVuaGFuY2UgdGhlaXIgdGhlcmFwZXV0aWMgZWZmZWN0aXZlbmVzcy4gSG93ZXZlciwgdGhlIHN1Y2Nlc3Mgb2YgdGhpcyBkZWxpdmVyeSBoaW5nZXMgb24gZWZmZWN0aXZlIGVuZG9zb21hbCBlc2NhcGUuIElkZWFsbHksIExOUHMgcmVsZWFzZSB0aGVpciBtUk5BIHBheWxvYWQgaW50byB0aGUgY3l0b3BsYXNtIGFmdGVyIGVzY2FwaW5nIGZyb20gZW5kb3NvbWVzLiBJZiB0aGlzIGVzY2FwZSBwcm9jZXNzIGlzIGluZWZmaWNpZW50LCB0aGUgbVJOQSBjYW4gYmUgZGVncmFkZWQgYnkgbHlzb3NvbWVzLCB3aGljaCBwb3NlcyBhIHNpZ25pZmljYW50IGNoYWxsZW5nZSBmb3IgbVJOQSB2YWNjaW5lcyBhbmQgdGhlcmFwaWVzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNFwiLz4gLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+QSBjcnVjaWFsIGFkdmFuY2VtZW50IGluIExOUCB0ZWNobm9sb2d5IGludm9sdmVzIHRoZSB1c2Ugb2YgcEgtc2Vuc2l0aXZlIGNhdGlvbml6YWJsZSBsaXBpZHMuIFRoZXNlIGxpcGlkcyByZW1haW4gbmV1dHJhbCBhdCBwaHlzaW9sb2dpY2FsIHBIIGJ1dCBiZWNvbWUgY2F0aW9uaWMgaW4gdGhlIGFjaWRpYyBlbnZpcm9ubWVudCBvZiBlbmRvc29tZXMuIFRoaXMgc2hpZnQgaW4gY2hhcmdlIGhlbHBzIGRpc3NvY2lhdGUgdGhlIG5hbm9wYXJ0aWNsZXMgYW5kIGRpc3J1cHQgdGhlIGVuZG9zb21hbCBtZW1icmFuZSwgZW5oYW5jaW5nIHRoZSBsaWtlbGlob29kIG9mIHN1Y2Nlc3NmdWwgZW5kb3NvbWFsIGVzY2FwZSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjVcIi8+IC4gPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk1vcmVvdmVyLCB0aGUgc3VyZmFjZSBvZiBMTlBzIGNhbiBiZSBjdXN0b21pemVkIHRvIGltcHJvdmUgdGFyZ2V0aW5nLiBGb3IgaW5zdGFuY2UsIGluY29ycG9yYXRpbmcgc3BlY2lmaWMgbGlwaWRzIG9yIG1vZGlmeWluZyB0aGUgc3VyZmFjZSB3aXRoIGNoYXJnZWQgZ3JvdXBzIGNhbiBkaXJlY3QgdGhlIGRlbGl2ZXJ5IG9mIG1STkEgdG8gdGFyZ2V0ZWQgb3JnYW5zIGxpa2UgdGhlIGx1bmdzIG9yIHNwbGVlbiA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjZcIi8+IC4gQWRkaXRpb25hbGx5LCBMTlBzIGNhbiBiZSBlbmdpbmVlcmVkIHdpdGggdGFyZ2V0aW5nIGxpZ2FuZHMgb3IgYW50aWJvZGllcyB0byBwcmVjaXNlbHkgZGlyZWN0IHRoZWlyIHBheWxvYWQgdG8gc3BlY2lmaWMgY2VsbCB0eXBlcywgZnVydGhlciBlbmhhbmNpbmcgdGhlaXIgdGhlcmFwZXV0aWMgZWZmaWNhY3kgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI3XCIvPiAuIEFub3RoZXIgYXBwcm9hY2ggY2FuIGJlIGNoaXRvc2FuLWJhc2VkIG5hbm9wYXJ0aWNsZXMgaGF2ZSBiZWVuIGV4cGxvcmVkIGZvciB0aGVpciBhYmlsaXR5IHRvIGFkaGVyZSB0byBtdWN1cyBhbmQgZW5oYW5jZSBkcnVnIGRlbGl2ZXJ5IHRocm91Z2ggdGhlIHJlc3BpcmF0b3J5IHRyYWN0LiBUaGVzZSBuYW5vcGFydGljbGVzIGNhbiBwZW5ldHJhdGUgdGhyb3VnaCB0aGUgbXVjdXMgbGF5ZXIgdG8gcmVhY2ggdGhlIGx1bmcgdGlzc3VlcyBtb3JlIGVmZmVjdGl2ZWx5IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiOFwiLz4gLiBUaGlzIHZlcnNhdGlsaXR5IGluIGRlc2lnbiBpcyBlc3NlbnRpYWwgZm9yIG9wdGltaXppbmcgdGhlIGRlbGl2ZXJ5IGFuZCBlZmZlY3RpdmVuZXNzIG9mIExOUC1iYXNlZCB0aGVyYXBpZXMuPC9wPlxuICAgICAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJDb2wyXCIgb3Blbj17ZmFsc2V9IHRpdGxlPVwiQ2hhbGxlbmdlcyBvZiB3b3JraW5nIHdpdGggTE5Qc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk1haW50YWluaW5nIHRoZSBzdGFiaWxpdHkgb2YgTE5QcyB0aHJvdWdob3V0IGZvcm11bGF0aW9uLCBzdG9yYWdlLCBhbmQgZGVsaXZlcnkgaXMgY3JpdGljYWwsIGFzIGZhY3RvcnMgbGlrZSB0ZW1wZXJhdHVyZSBjaGFuZ2VzLCBwSCBzaGlmdHMsIG9yIG1lY2hhbmljYWwgc3RyZXNzIGNhbiBhZmZlY3QgdGhlaXIgaW50ZWdyaXR5IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMVwiLz4gIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMlwiLz4gLiBFcXVhbGx5IGltcG9ydGFudCBpcyBlbnN1cmluZyBlZmZpY2llbnQgZW5jYXBzdWxhdGlvbiBvZiB0aGUgZ2VuZXRpYyBtYXRlcmlhbCwgYXMgYW55IGluZWZmaWNpZW5jeSBjYW4gbGVhZCB0byBkZWdyYWRhdGlvbiBvZiB0aGUgdGhlcmFwZXV0aWMgY2FyZ28gb3IgaW5hZGVxdWF0ZSBkZWxpdmVyeSB0byB0aGUgdGFyZ2V0IGNlbGxzLiBPbmNlIGluc2lkZSB0aGUgYm9keSwgTE5QcyBmYWNlIHRoZSBjaGFsbGVuZ2Ugb2YgY2VsbHVsYXIgdXB0YWtlIGFuZCBzdWNjZXNzZnVsIGVuZG9zb21hbCBlc2NhcGUgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIzXCIvPiAgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI0XCIvPiAuIElmIHRoZXkgY2Fubm90IGVzY2FwZSB0aGUgZW5kb3NvbWUgYWZ0ZXIgZW50ZXJpbmcgdGhlIGNlbGxzLCB0aGVyZSBpcyBhIHJpc2sgdGhhdCB0aGUgZ2VuZXRpYyBtYXRlcmlhbCB3aWxsIGJlIGRlZ3JhZGVkIGluIHRoZSBseXNvc29tZXMsIGxpbWl0aW5nIHRoZSBlZmZpY2FjeSBvZiB0aGUgdHJlYXRtZW50LiBJbiBhZGRpdGlvbiwgdGhlIGZvcm11bGF0aW9uIG11c3QgbWluaW1pemUgaW1tdW5vZ2VuaWNpdHkgYW5kIHRveGljaXR5LCBwYXJ0aWN1bGFybHkgd2l0aCByZXBlYXRlZCBkb3NpbmcsIHdoaWNoIGlzIG9mdGVuIG5lY2Vzc2FyeSBmb3IgY2hyb25pYyBkaXNlYXNlcyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjJcIi8+ICA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjNcIi8+IC4gQWNoaWV2aW5nIHRoaXMgc2Vuc2l0aXZlIGJhbGFuY2UgaXMgY3J1Y2lhbCBmb3IgbWF4aW1pemluZyB0aGUgdGhlcmFwZXV0aWMgcG90ZW50aWFsIG9mIExOUHMgaW4gZ2VuZSBkZWxpdmVyeS48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2hpbGUgdGhlc2UgYXJlIGdlbmVyYWwgZGlmZmljdWx0aWVzIGluIHRoZSB1c2Ugb2YgTE5QcyBmb3IgZ2VuZSB0aGVyYXB5LCBmdXJ0aGVyIGNoYWxsZW5nZXMgYXJpc2Ugd2hlbiBhZG1pbmlzdGVyaW5nIHRoZSBMTlBzIHZpYSBpbmhhbGF0aW9uIGludG8gdGhlIGx1bmdzLCBkdWUgdG8gdGhlIHVuaXF1ZSBlbnZpcm9ubWVudCBhbmQgYW5hdG9teSBvZiB0aGUgcmVzcGlyYXRvcnkgc3lzdGVtLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJDaGFsbGVuZ2VzIG9mIGluaGFsYXRlZCBsdW5nLXNwZWNpZmljIExOUHNcIiBpZD1cImNoYWxsMlwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZXNlIGNoYWxsZW5nZXMgcmFuZ2UgZnJvbSBmb3JtdWxhdGlvbiBhbmQgcGFydGljbGUgc2l6ZSB0byBvdmVyY29taW5nIGJpb2xvZ2ljYWwgYmFycmllcnMgYW5kIG1haW50YWluaW5nIGNvbnNpc3RlbnQgZG9zaW5nLCBhbGwgb2Ygd2hpY2ggaW1wYWN0IHRoZSBvdmVyYWxsIGVmZmljYWN5IG9mIHRoZSB0aGVyYXB5LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+V2hlbiB0cmFuc2Zvcm1pbmcgTE5QIGZvcm11bGF0aW9ucyBpbnRvIGluaGFsYWJsZSBwYXJ0aWNsZXMsIGV2ZW4gZ3JlYXRlciBhdHRlbnRpb24gbXVzdCBiZSBwYWlkIHRvIHN0YWJpbGl0eSB0aGFuIGlzIGFscmVhZHkgdGhlIGNhc2UuIER1cmluZyBwcm9jZXNzZXMgbGlrZSBuZWJ1bGl6YXRpb24gb3Igc3ByYXktZHJ5aW5nLCBMTlBzIGFyZSBleHBvc2VkIHRvIHN0cm9uZyA8c3Ryb25nPm1lY2hhbmljYWwgc3RyZXNzPC9zdHJvbmc+IHN1Y2ggYXMgc2hlYXIgZm9yY2VzIGR1cmluZyBhZXJvc29saXphdGlvbiB0aGF0IGNhbiBkYW1hZ2UgdGhlIExOUCBhbmQgdGh1cyB0aGVpciBhYmlsaXR5IHRvIHByb3RlY3QgYW5kIGRlbGl2ZXIgZ2VuZXRpYyBtYXRlcmlhbCBlZmZlY3RpdmVseSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjVcIi8+IC4gRW5zdXJpbmcgdGhhdCB0aGUgTE5QcyBtYWludGFpbiB0aGVpciBzdHJ1Y3R1cmUgdGhyb3VnaG91dCB0aGlzIHRyYW5zZm9ybWF0aW9uIHdoaWxlIHJlbWFpbmluZyBzdWl0YWJsZSBmb3IgYWVyb3NvbCBkZWxpdmVyeSBpcyBjcml0aWNhbCB0byB0aGUgc3VjY2VzcyBvZiB0aGUgdGhlcmFweS48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIDxzdHJvbmc+c2l6ZTwvc3Ryb25nPiBvZiB0aGUgbmFub3BhcnRpY2xlcyBpcyBhbm90aGVyIGltcG9ydGFudCBmYWN0b3IuIEZvciBzdWNjZXNzZnVsIGx1bmcgZGVsaXZlcnksIExOUHMgc2hvdWxkIGJlIHNtYWxsZXIgdGhhbiAyIFx1MDBCNW0gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI2XCIvPiAuIElmIHRoZSBwYXJ0aWNsZXMgYXJlIHRvbyBsYXJnZSwgdGhlcmUgaXMgYSByaXNrIHRoYXQgdGhleSB3aWxsIGdldCBzdHVjayBpbiB0aGUgdXBwZXIgYWlyd2F5cyBub3QgYWJsZSB0byByZWFjaCB0aGUgdGFyZ2V0IGNlbGxzOyBpZiB0aGV5IGFyZSB0b28gc21hbGwsIHRoZXkgbWF5IGJlIGV4aGFsZWQgYmVmb3JlIHJlYWNoaW5nIHRoZSBkZWVwZXIgbHVuZyB0aXNzdWUuIFRoZSByaWdodCBwYXJ0aWNsZSBzaXplIGlzIGNydWNpYWwgZm9yIHRoZSBMTlBzIHRvIHJlYWNoIHRoZSBhbHZlb2xpLCB3aGVyZSB0aGV5IGNhbiBwcm92aWRlIHRoZSBncmVhdGVzdCB0aGVyYXBldXRpYyBpbXBhY3QuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkFub3RoZXIgbWFqb3IgY2hhbGxlbmdlIGlzIG92ZXJjb21pbmcgdGhlIGx1bmdzJyBuYXR1cmFsIDxzdHJvbmc+cHJvdGVjdGl2ZSBiYXJyaWVyczwvc3Ryb25nPi4gVGhlIGFpcndheXMgYXJlIGxpbmVkIHdpdGggbXVjdXMgYW5kIHN1cmZhY3RhbnRzLCB3aGljaCBoZWxwIHRvIGRlZmVuZCBhZ2FpbnN0IHBhdGhvZ2VucywgYnV0IGFsc28gbWFrZSBpdCBkaWZmaWN1bHQgZm9yIExOUHMgdG8gYmUgdHJhbnNwb3J0ZWQuIEluIGRpc2Vhc2VzIHN1Y2ggYXMgY3lzdGljIGZpYnJvc2lzLCB0aGUgdGhpY2tlbmVkIG11Y3VzIHByZXNlbnRzIGFuIGV2ZW4gZ3JlYXRlciBvYnN0YWNsZSwgbWFraW5nIGl0IG1vcmUgZGlmZmljdWx0IGZvciB0aGUgTE5QcyB0byByZWFjaCB0aGUgdGFyZ2V0IGNlbGxzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNVwiLz4gLiBUaGUgZGV2ZWxvcG1lbnQgb2YgTE5QcyB0aGF0IGNhbiBwZW5ldHJhdGUgdGhlc2UgYmFycmllcnMgaXMgZXNzZW50aWFsIGZvciB0aGUgc3VjY2VzcyBvZiBnZW5lIHRoZXJhcHkuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5GaW5hbGx5LCBpbmhhbGVkIGFkbWluaXN0cmF0aW9uIGxlYWRzIHRvIGZsdWN0dWF0aW9ucyBpbiB0aGUgY29uc2lzdGVuY3kgb2YgdGhlIDxzdHJvbmc+ZG9zYWdlPC9zdHJvbmc+LiBVbmxpa2UgaW50cmF2ZW5vdXMgYWRtaW5pc3RyYXRpb24sIHdoZXJlIGRvc2luZyBjYW4gYmUgc3RyaWN0bHkgY29udHJvbGxlZCwgdGhlIHJlc3VsdHMgb2YgaW5oYWxhdGlvbiBhcmUgaW5mbHVlbmNlZCBieSBmYWN0b3JzIHN1Y2ggYXMgdGhlIHBhdGllbnQncyBicmVhdGhpbmcgcGF0dGVybiwgbHVuZyBjYXBhY2l0eSBhbmQgaW5oYWxhdGlvbiB0ZWNobmlxdWUuIFRoZXNlIHZhcmlhYmxlcyBjYW4gYWZmZWN0IGhvdyBtdWNoIG9mIHRoZSBMTlAgZm9ybXVsYXRpb24gYWN0dWFsbHkgcmVhY2hlcyB0aGUgbHVuZ3MsIGNvbXBsaWNhdGluZyBlZmZvcnRzIHRvIG1haW50YWluIGEgY29uc2lzdGVudCB0aGVyYXBldXRpYyBkb3NlIG92ZXIgdGltZSwgd2hpY2ggaXMgYSByZWFzb25hYmxlIHByaWNlIHRvIHBheSB3aGVuIHlvdSBjb25zaWRlciB0aGF0IGluaGFsYXRpb24gaXMgYSBub24taW52YXNpdmUgZm9ybSBvZiB0aGVyYXB5IGNvbXBhcmVkIHRvIHN5c3RlbWljIHRoZXJhcHkgdmlhIGluamVjdGlvbnMgaW50byB0aGUgYmxvb2RzdHJlYW08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+QWxsIHRoZXNlIGNoYWxsZW5nZXMgY29tcGxpY2F0ZSB0aGUgd29yayB3aXRoIExOUHMgYW5kIHByZXNlbnQgc2NpZW50aXN0cyB3aXRoIGEgZ3JlYXQgY2hhbGxlbmdlLCB3aGljaCBtYWtlcyB3b3JraW5nIHdpdGggTE5QcyBldmVuIG1vcmUgaW1wb3J0YW50IHRvIGZpbmQgc29sdXRpb25zLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImFpcmJ1ZGR5LWhvb2tcIiBjbGFzc05hbWU9J3JvdyBhbGlnbi1pdGVtcy1jZW50ZXInPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+VG8gb3B0aW1pemUgQWlyQnVkZHkgZm9yIHB1bG1vbmFyeSBkZWxpdmVyeSwgd2UgY29sbGFib3JhdGVkIGV4dGVuc2l2ZWx5IHdpdGggc2V2ZXJhbCBleHBlcnRzLCBpbmNsdWRpbmcgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignd2ViZXInLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Qcm9mLiBXZWJlciwgRHIuIEdyb1x1MDBERmUtT25uZWJyaW5rPC9hPiBhbmQgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigna29sb25rb2ZpcnN0JywgJy9odW1hbi1wcmFjdGljZXMnKX0+RHIuIEtvbG9ua288L2E+IGFzIG1lZGljYWwgZXhwZXJ0cywgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigna3Jpc3RpYW4nLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Qcm9mLiBEci4gTVx1MDBGQ2xsZXI8L2E+LCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdyYWR1a2ljJywgJy9odW1hbi1wcmFjdGljZXMnKX0+RHIuIFJhZHVraWM8L2E+LCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdtb29ybGFjaCcsICcvaHVtYW4tcHJhY3RpY2VzJyl9PkJlbmphbWluIE1vb3JsYWNoPC9hPiBhbmQgdGhlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2Jpb3BoeXNpaycsICcvaHVtYW4tcHJhY3RpY2VzJyl9PlBoeXNpY2FsIGFuZCBCaW9waHlzaWNhbCBDaGVtaXN0cnkgd29ya2luZyBncm91cDwvYT4gYXMgYWNhZGVtaWMgZXhwZXJ0cyBmb3JtIEJpZWxlZmVsZCBVbml2ZXJzaXR5IGFuZCBGSCBCaWVsZWZlbGQgYXMgd2VsbCBhcyA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdjb3JkZW4nLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Db3JkZW4gUGhhcm1hPC9hPiBhbmQgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigncm5oYWxlJywgJy9odW1hbi1wcmFjdGljZXMnKX0+Uk5oYWxlPC9hPiBhcyBpbmR1c3RyaWFsIGV4cGVydHMuIFRocm91Z2hvdXQgdGhlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2RlbGl2ZXJ5IGhlYWQnLCAnL2VuZ2luZWVyaW5nJyl9PmRldmVsb3BtZW50IHByb2Nlc3M8L2E+LCB3ZSB0ZXN0ZWQgdHdvIGNvbW1lcmNpYWxseSBhdmFpbGFibGUga2l0czogdGhlIDxzdHJvbmc+Q2F5bWFuIENoZW1pY2FsIExOUCBFeHBsb3JhdGlvbiBLaXQgKExOUC0xMDIpPC9zdHJvbmc+IGFuZCB0aGUgPHN0cm9uZz5Db3JkZW4gUGhhcm1hIExOUCBTdGFydGVyIEtpdCAjMjwvc3Ryb25nPi4gV2hpbGUgdGhlIENheW1hbiBraXQgZGVtb25zdHJhdGVkIGxpbWl0ZWQgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3ksIHRoZSBDb3JkZW4gUGhhcm1hIGZvcm11bGF0aW9uIHNpZ25pZmljYW50bHkgZW5oYW5jZWQgY2VsbHVsYXIgdXB0YWtlIGluIGx1bmcgdGlzc3Vlcy4gQnVpbGRpbmcgb24gdGhpcywgd2UgaW50ZWdyYXRlZCB0aGUgPHN0cm9uZz5TT1JUIExOUDwvc3Ryb25nPiBtZXRob2QgYmFzZWQgb24gV2FuZydzIHJlc2VhcmNoIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMVwiLz4gLCBtYWtpbmcgb3VyIG5hbm9wYXJ0aWNsZXMgbHVuZy1zcGVjaWZpYy4gQWRkaXRpb25hbGx5LCB3ZSBlbXBsb3llZCB0aGUgPHN0cm9uZz5zcHJheS1kcnlpbmcgdGVjaG5pcXVlPC9zdHJvbmc+IGluIGNvb3BlcmF0aW9uIHdpdGggUk5oYWxlIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMlwiLz4gIHRvIGltcHJvdmUgdGhlIHN0YWJpbGl0eSBvZiBvdXIgTE5QLCBlbnN1cmluZyB0aGF0IGl0IHdpdGhzdGFuZHMgdGhlIGluaGFsYXRpb24gcHJvY2VzcyB3aXRob3V0IGRlZ3JhZGF0aW9uLiBUaGlzIHN0YWJpbGl0eSBpcyBjcnVjaWFsIGZvciB0aGUgZWZmaWNpZW50IGRlbGl2ZXJ5IG9mIG1STkEgaW50byBsdW5nIGVwaXRoZWxpYWwgY2VsbHMsIHdoZXJlIFByaW1lR3VpZGUgY2FuIGVmZmVjdGl2ZWx5IHBlcmZvcm0gZ2Vub21lIGVkaXRpbmcuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9iaWctcGxhbi1pbmhhbGF0aW9uLXRlaWwtZGVsLndlYnBcIi8+ICBcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgPHA+VG8gZXZhbHVhdGUgdGhlIDxzdHJvbmc+ZGVsaXZlcnkgZWZmaWNpZW5jeTwvc3Ryb25nPiwgd2UgdHJhbnNmZWN0ZWQgSEVLMjkyIGFuZCBDRkJFNDFvLSBjZWxscyB1c2luZyBmbHVvcmVzY2VudCBjYXJnbyBhbmQgcXVhbnRpZmllZCB0aGUgcmVzdWx0cyB0aHJvdWdoIEZBQ1MgYW5hbHlzaXMuIFdlIGFsc28gZW5zdXJlZCB0aGF0IEFpckJ1ZGR5IG1lZXRzIHRoZSBuZWNlc3Nhcnkgc3RhbmRhcmRzIGZvciBzYWZldHkgYW5kIGVmZmljYWN5IHNpbmNlIHdlIGNvbmR1Y3RlZCBleHRlbnNpdmUgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdJbi1EZXB0aCBDaGFyYWN0ZXJpemF0aW9uIG9mIExOUHNIJywgJy9tYXRlcmlhbHMtbWV0aG9kcycpfT4gY2hhcmFjdGVyaXphdGlvbiBvZiB0aGUgTE5QcyA8L2E+dXNpbmcgdGVjaG5pcXVlcyBzdWNoIGFzIFpldGEgcG90ZW50aWFsIGFuYWx5c2lzLCBEeW5hbWljIExpZ2h0IFNjYXR0ZXJpbmcgKERMUyksIFNjYW5uaW5nIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFNFTSksIGFuZCBDcnlvZ2VuaWMgRWxlY3Ryb24gTWljcm9zY29weSAoY3J5by1FTSkuIFRoZXNlIG1ldGhvZHMgY29uZmlybWVkIHRoZSB1bmlmb3JtaXR5LCBzdGFiaWxpdHksIGFuZCBvcHRpbWFsIHNpemUgZGlzdHJpYnV0aW9uIG9mIHRoZSBuYW5vcGFydGljbGVzLiBGdXJ0aGVybW9yZSwgPHN0cm9uZz5jeXRvdG94aWNpdHkgYXNzZXNzbWVudHM8L3N0cm9uZz4gaW5jbHVkaW5nIE1UVCBhbmQgcHJvbGlmZXJhdGlvbiBhc3NheXMgZGVtb25zdHJhdGVkIHRoYXQgb3VyIExOUHMgYXJlIGJpb2NvbXBhdGlibGUgYW5kIGRvIG5vdCBpbXBlZGUgY2VsbCBncm93dGggb3IgZnVuY3Rpb24gYnkgdGhlIGluY29ycG9yYXRpb24gb2YgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignaXQ0JywgJy9lbmdpbmVlcmluZycpfT5QRUc8L2E+IGFuZCBvdGhlciBhbWJpdmFsZW50IGNvbXBvbmVudHMuIFRoZXNlIGZpbmRpbmdzIHJlaW5mb3JjZSBBaXJCdWRkeSdzIHBvdGVudGlhbCBhcyBhIHNhZmUgYW5kIGVmZmVjdGl2ZSB0b29sIGZvciBwdWxtb25hcnkgZGVsaXZlcnksIHdpdGggYnJvYWQgaW1wbGljYXRpb25zIGZvciBnZW5lIHRoZXJhcGllcyB0YXJnZXRpbmcgbHVuZyBkaXNlYXNlcy48L3A+XG4gICAgICAgICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIk91ciBBY2hpZXZlbWVudFwiIGlkPVwiT3VyIEFjaGlldmVtZW50XCI+XG4gICAgICAgICAgICAgICAgPHA+V2UgaGF2ZSBzdWNjZXNzZnVsbHkgZGVtb25zdHJhdGVkIGEgPGI+cHJvb2Ygb2YgY29uY2VwdDwvYj4gZm9yIG91ciBnZW5lIHRoZXJhcHkgYXBwcm9hY2ggdGFyZ2V0aW5nIGN5c3RpYyBmaWJyb3Npcy4gSW4gaW5pdGlhbCBleHBlcmltZW50cywgSEVLIGNlbGxzIGNhcnJ5aW5nIGEgMy1iYXNlIGRlbGV0aW9uIGFuYWxvZ291cyB0byB0aGUgPGk+RjUwOGRlbDwvaT4gbXV0YXRpb24gd2VyZSB0cmFuc2ZlY3RlZCB3aXRoIG91ciBwcmltZSBlZGl0aW5nIGNvbXBsZXguIFRoZSByZXN1bHRzIG1ldCBvdXIgZXhwZWN0YXRpb25zLCBjb25maXJtaW5nIHRoZSB2aWFiaWxpdHkgb2Ygb3VyIGFwcHJvYWNoIGZvciBwcmVjaXNlIGdlbmUgY29ycmVjdGlvbi4gQmFzZWQgb24gdGhlc2UgZmluZGluZ3MsIHdlIG9wdGltaXplZCB0aGUgcHJpbWUgZWRpdGluZyBjb21wbGV4LCBsZWFkaW5nIHRvIHRoZSBjcmVhdGlvbiBvZiA8aT5QcmltZUd1aWRlPC9pPiwgYSBtb3JlIGNvbXBhY3QgYW5kIGVmZmljaWVudCBlZGl0aW5nIHRvb2wuIDwvcD5cbiAgICAgICAgICAgICAgICA8cD5DZW50cmFsIHRvIG91ciA8Yj5kZWxpdmVyeSBzeXN0ZW08L2I+IGlzIDxiPkFpckJ1ZGR5PC9iPiwgYSBsdW5nLXNwZWNpZmljIGxpcGlkIG5hbm9wYXJ0aWNsZSBkZXNpZ25lZCB0byBzdGFiaWxpemUgYW5kIHByb3RlY3QgdGhlIHByaW1lIGVkaXRpbmcgY29tcGxleCBkdXJpbmcgdHJhbnNwb3J0IHRvIGx1bmcgaW9ub2N5dGVzLiA8aT5BaXJCdWRkeTwvaT4gZW5zdXJlcyB0aGF0IHRoZSBwcm90ZWluIGNvbXBsZXggaXMgZGVsaXZlcmVkIHNwZWNpZmljYWxseSB0byBsdW5nIGNlbGxzLCBlbmhhbmNpbmcgdGhlIGVmZmljaWVuY3kgb2YgdGhlIGdlbmUtZWRpdGluZyBwcm9jZXNzLiBCeSBtb2RpZnlpbmcgdGhlIGxpcGlkIG5hbm9wYXJ0aWNsZSB3aXRoIHByb3RlY3RpdmUgZmVhdHVyZXMsIHdlIGFjaGlldmVkIGluY3JlYXNlZCBzdGFiaWxpdHksIGVuc3VyaW5nIGVmZmVjdGl2ZSBkZWxpdmVyeSB0byB0aGUgdGFyZ2V0IGNlbGxzLiA8L3A+XG4gICAgICAgICAgICAgICAgPHA+V2UgZnVydGhlciBvcHRpbWl6ZWQgdGhlIHByaW1lIGVkaXRpbmcgZnVzaW9uIHByb3RlaW4sIDxiPlByaW1lR3VpZGU8L2I+LCB0byBzdHJlYW1saW5lIGl0cyBjb21wb25lbnRzLCByZXN1bHRpbmcgaW4gYSBzbWFsbGVyIGFuZCBtb3JlIGVmZmljaWVudCBwcmltZSBlZGl0aW5nIGNvbXBsZXguIFRoaXMgaW1wcm92ZW1lbnQgc2lnbmlmaWNhbnRseSBlbmhhbmNlcyB0aGUgcHJlY2lzaW9uIG9mIHRoZSBnZW5lIGVkaXRpbmcgcHJvY2VzcywgcmVkdWNpbmcgb2ZmLXRhcmdldCBlZmZlY3RzIGFuZCBpbmNyZWFzaW5nIHRoZSBvdmVyYWxsIHN1Y2Nlc3Mgb2YgbXV0YXRpb24gY29ycmVjdGlvbi4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPkluIHN1YnNlcXVlbnQgZXhwZXJpbWVudHMsIDxiPkhFSyBjZWxsczwvYj4gY2FycnlpbmcgdGhlIENGVFIgPGk+RjUwOGRlbDwvaT4gbXV0YXRpb24gd2VyZSBzdWNjZXNzZnVsbHkgPGI+dHJhbnNmZWN0ZWQ8L2I+IHdpdGggdGhlIG9wdGltaXplZCBwcmltZSBlZGl0aW5nIGNvbXBsZXguIE91ciByZXN1bHRzIGluZGljYXRlZCBzdWNjZXNzZnVsIGNvcnJlY3Rpb24gb2YgdGhlIG11dGF0aW9uLCBjb25maXJtaW5nIHRoZSBwb3RlbnRpYWwgb2Ygb3VyIGFwcHJvYWNoIGZvciB0cmVhdGluZyBjeXN0aWMgZmlicm9zaXMuIDwvcD5cbiAgICAgICAgICAgICAgICA8cD5BZGRpdGlvbmFsbHksIHdlIGV4cGxvcmVkIDxiPmRvd25zdHJlYW0gYXBwbGljYXRpb25zPC9iPi4gUHJpbWFyeSBjZWxsIGN1bHR1cmVzIHdlcmUgdHJlYXRlZCB3aXRoIGxpcGlkIG5hbm9wYXJ0aWNsZXMgdG8gaW50cm9kdWNlIGEgcmVwb3J0ZXIgUk5BLiBXZSBhbHNvIGVzdGFibGlzaGVkIDJEIGN1bHR1cmVzIHRyYW5zZmVjdGVkIHdpdGggWUZQLCBhIHNvZGl1bS1zZW5zaXRpdmUgcmVwb3J0ZXIgcHJvdGVpbiwgdG8gYXNzZXNzIGlvbiBjaGFubmVsIGZ1bmN0aW9uYWxpdHkuIEZpbmFsbHksIGluIENGVFItZGVmaWNpZW50IG9yZ2Fub2lkcywgb3VyIHN5c3RlbSBmYWNpbGl0YXRlZCByZXBhaXIgb2YgdGhlIENGVFIgY2hhbm5lbCwgZXZpZGVuY2VkIGJ5IGFuIGluY3JlYXNlIGluIG9yZ2Fub2lkIHZvbHVtZSB1cG9uIHRyZWF0bWVudC4gVGhpcyBzdWdnZXN0cyBzdWNjZXNzZnVsIGZ1bmN0aW9uYWwgcmVzdG9yYXRpb24gb2YgQ0ZUUiBhY3Rpdml0eS4gPC9wPlxuICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJPdXIgVmlzaW9uXCIgaWQ9XCJPdXIgVmlzaW9uXCI+XG4gICAgICAgICAgICAgICAgPHA+QXQgPGI+UHJlQ3lzZTwvYj4sIHdlIGVudmlzaW9uIGEgZnV0dXJlIHdoZXJlIGdlbmUgdGhlcmFweSBmb3IgY3lzdGljIGZpYnJvc2lzIChDRikgaXMgYXMgc2ltcGxlIGFuZCB1c2VyLWZyaWVuZGx5IGFzIHVzaW5nIGFuIGluaGFsZXIuIE91ciBnb2FsIGlzIHRvIGRldmVsb3AgYSBmdWxseSBpbnRlZ3JhdGVkIFByaW1lIEVkaXRpbmcgc3lzdGVtLCA8Yj5QcmltZUd1aWRlPC9iPiwgZGVsaXZlcmVkIHZpYSBhIGN1dHRpbmctZWRnZSBsaXBpZCBuYW5vcGFydGljbGUgKExOUCkgcGxhdGZvcm0sIDxiPkFpckJ1ZGR5PC9iPi4gVGhlIHRoZXJhcHkgd291bGQgYWxsb3cgcGF0aWVudHMgdG8gaW5oYWxlIHRoZSB0aGVyYXBldXRpYyBjb21wbGV4LCB0YXJnZXRpbmcgdGhlIHVuZGVybHlpbmcgZ2VuZXRpYyBtdXRhdGlvbiB0aGF0IGNhdXNlcyBDRlx1MjAxNHNwZWNpZmljYWxseSwgdGhlIEY1MDhkZWwgbXV0YXRpb24gaW4gdGhlIENGVFIgZ2VuZS4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPlRoZSBjb3JlIG9mIG91ciB2aXNpb24gaXMgdG8gY3JlYXRlIGEgaGlnaGx5IGVmZmljaWVudCBhbmQgc2FmZSBQcmltZSBFZGl0aW5nIGNvbXBsZXgsIHJlZmVycmVkIHRvIGFzIFByaW1lIEd1aWRlLCB0aGF0IGlzIGRlbGl2ZXJlZCBkaXJlY3RseSBpbnRvIGx1bmcgZXBpdGhlbGlhbCBjZWxscy4gVGhpcyBjb21wbGV4IHdpbGwgYmUgcGFja2FnZWQgYXMgbVJOQSBpbnRvIExOUHMsIHdpdGggYW4gb3B0aW1hbCByYXRpbyBvZiB0aGUgUHJpbWUgRWRpdGluZyBjb21wb25lbnRzIGFuZCBpdHMgZ3VpZGUgUk5BIChwZWdSTkEpLiBPbmNlIGluc2lkZSB0aGUgY2VsbCwgdGhlIG1STkEgd2lsbCBiZSB0cmFuc2xhdGVkLCBmb3JtaW5nIHRoZSBhY3RpdmUgUHJpbWUgRWRpdGluZyBjb21wbGV4LCB3aGljaCB0aGVuIHRyYW5zbG9jYXRlcyBpbnRvIHRoZSBudWNsZXVzIHVzaW5nIG51Y2xlYXIgbG9jYWxpemF0aW9uIHNlcXVlbmNlcy4gVGhlcmUsIHRoZSBjb21wbGV4IHdpbGwgcHJlY2lzZWx5IGVkaXQgdGhlIGdlbm9tZSB0byBjb3JyZWN0IHRoZSBGNTA4ZGVsIG11dGF0aW9uLiA8L3A+XG4gICAgICAgICAgICAgICAgPHA+VG8gZW5zdXJlIHNhZmV0eSwgd2UgYXJlIHdvcmtpbmcgb24gZGV2ZWxvcGluZyBhIHJvYnVzdCBtZWNoYW5pc20gdGhhdCByZWd1bGF0ZXMgdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleCBhdCB0aGUgbVJOQSBsZXZlbC4gT25lIGNvbmNlcHQgd2UgYXJlIGV4cGxvcmluZyBpcyB1c2luZyB0aGUgWEJQMSBpbnRyb248U3VwU2Nyb2xsTGluayBsYWJlbD1cIjk2XCIvPiAsIHdoaWNoIHJlc3BvbmRzIHRvIGNlbGx1bGFyIHN0cmVzcyBzaWduYWxzLiBBZGRpdGlvbmFsbHksIGluIHRoZSBmdXR1cmUsIHdlIGFpbSB0byBkZXZlbG9wIG1vcmUgbXV0YXRpb24tc3BlY2lmaWMgY29udHJvbCBtZWNoYW5pc21zLCBzdWNoIGFzIFJOQSByaWJvc3dpdGNoZXMgdGhhdCBhY3RpdmF0ZSB0aGUgZWRpdGluZyBjb21wbGV4IG9ubHkgaW4gdGhlIHByZXNlbmNlIG9mIHRoZSB0YXJnZXQgbXV0YXRpb24sIG9mZmVyaW5nIGFuIGV2ZW4gZ3JlYXRlciBsZXZlbCBvZiBwcmVjaXNpb24gYW5kIHNhZmV0eS4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPlRoZSBsb25nLXRlcm0gdmlzaW9uIGZvciBQcmVDeXNlIGlzIHRvIHByb3ZpZGUgYSBnZW5lIHRoZXJhcHkgdGhhdCBjYW4gYmUgYWRtaW5pc3RlcmVkIHRocm91Z2ggaW5oYWxhdGlvbiwgbXVjaCBsaWtlIGFuIGFzdGhtYSBzcHJheS4gVGhlIHBhdGllbnQgd291bGQgc2ltcGx5IGluaGFsZSB0aGUgTE5Qcywgd2hpY2ggdGhlbiBkZWxpdmVyIHRoZSB0aGVyYXBldXRpYyBtUk5BIHRvIHRoZSBsdW5ncy4gVGhpcyBhcHByb2FjaCBvZmZlcnMgYSB1c2VyLWZyaWVuZGx5IGFuZCBtaW5pbWFsbHkgaW52YXNpdmUgdHJlYXRtZW50IHRoYXQgY291bGQgc3VwcHJlc3MgdGhlIHN5bXB0b21zIG9mIENGIGZvciBzZXZlcmFsIG1vbnRocy4gQnkgY29ycmVjdGluZyB0aGUgbXV0YXRpb24gaW4gdGhlIHRvcCBsYXllcnMgb2YgbHVuZyBlcGl0aGVsaWFsIGNlbGxzLCB3aGVyZSBtdWN1cyBidWlsZHVwIGlzIG1vc3QgcHJvYmxlbWF0aWMsIHdlIGNvdWxkIG9mZmVyIHJlbGllZiBmcm9tIHN5bXB0b21zIG92ZXIgYW4gZXh0ZW5kZWQgcGVyaW9kLiBIb3dldmVyLCBzaW5jZSB0aGVzZSBlcGl0aGVsaWFsIGNlbGxzIG5hdHVyYWxseSByZWdlbmVyYXRlIG92ZXIgdGltZSwgdGhlIHRoZXJhcHkgd291bGQgbmVlZCB0byBiZSByZWFwcGxpZWQgcGVyaW9kaWNhbGx5LCBsaWtlbHkgZXZlcnkgZmV3IG1vbnRocywgYmFsYW5jaW5nIGxvbmctbGFzdGluZyBlZmZlY3RzIHdpdGggdGhlIG5lZWQgZm9yIG9jY2FzaW9uYWwgcmUtYWRtaW5pc3RyYXRpb24uIDwvcD5cbiAgICAgICAgICAgICAgICA8cD5VbHRpbWF0ZWx5LCBvdXIgdmlzaW9uIGlzIHRvIGNyZWF0ZSBhIHRoZXJhcGV1dGljIGFwcHJvYWNoIHRoYXQgbm90IG9ubHkgb2ZmZXJzIGEgY3VyZSB0aGF0IGlzIHNhZmUgYW5kIGVmZmljaWVudCBidXQgYWxzbyBtYXhpbWl6ZXMgY29udmVuaWVuY2UgZm9yIHRoZSBwYXRpZW50LiBXaXRoIGFuIGVhc3ktdG8tdXNlIGluaGFsZXIsIHBhdGllbnRzIGNvdWxkIGFkbWluaXN0ZXIgdGhlaXIgdHJlYXRtZW50IHdpdGggbWluaW1hbCBkaXNydXB0aW9uIHRvIHRoZWlyIGRhaWx5IGxpdmVzLCBpbmhhbGluZyB0aGUgZ2VuZSB0aGVyYXB5IGluIGp1c3QgYSBmZXcgYnJlYXRocywgbGVhdmluZyB0aGUgcmVzdCBvZiB0aGUgcHJvY2VzcyB0byB0aGUgc2NpZW5jZSB3ZSd2ZSBidWlsdCBpbnRvIFByZUN5c2UuIEJ5IHJlZHVjaW5nIHRoZSBmcmVxdWVuY3kgb2YgYWRtaW5pc3RyYXRpb24gYW5kIHNpbXBsaWZ5aW5nIHRoZSBkZWxpdmVyeSBtZXRob2QsIHdlIGFpbSB0byBtYWtlIGdlbmUgdGhlcmFweSBmb3IgY3lzdGljIGZpYnJvc2lzIGJvdGggYWNjZXNzaWJsZSBhbmQgcHJhY3RpY2FsIGZvciBwYXRpZW50cyBhcm91bmQgdGhlIHdvcmxkLiA8L3A+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXNldHRlY29udGFpbmVyXCIgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9iaWctcGxhbi1pbmhhbGF0aW9uLWRlbC1tZWNoLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIDQ6IDwvYj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWxsdXN0cmF0aW9uIG9mIG91ciBwYXRoIGZyb20gZmluYWwgcHJvZHVjdCB0byBwcmltZSBlZGl0aW5nIGluIGx1bmcgZXBpdGhlbGlhbCBjZWxsc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiUmVmZXJlbmNlc1wiIGlkPVwiUmVmZXJlbmNlc1wiPlxuICAgICAgICAgICAgICAgPERlc2NTb3VyY2VzLz5cbiAgICAgICAgICAgIDwvU2VjdGlvbj5cblxuXG4gICAgXG5cbiAgICAgICAgICAgIFxuXG5cbiAgICAgICAgPC9kaXY+ICBcbiAgICAgIDwvZGl2PiAgICBcbiAgKTtcbn1cblxuIGxldCBtZWRpYnV0dG9ucm93ZGF0YSA9W1xuICAgIHtcbiAgICAgICAgbm9kZTogY3JlYXRlRHJ1Z1N0ZWNrYnJpZWYoZHJ1Z2RhdGFbMF0pLCBcbiAgICAgICAgYnV0dG9ubmFtZTogXCJNb2R1bGF0b3JzXCIsIFxuICAgICAgICBjc3NuYW1lOiBcIk1lZC1GaXJzdFwiLFxuICAgICAgICBtYWluOiB0cnVlXG4gICAgICAgIFxuICAgIH0sXG4gICAgeyAgIFxuICAgICAgICBub2RlOiBjcmVhdGVEcnVnU3RlY2ticmllZihkcnVnZGF0YVsxXSApLFxuICAgICAgICBidXR0b25uYW1lOiBcIk11Y29seXRpY3NcIiwgXG4gICAgICAgIGNzc25hbWU6IFwiTXVjb2x5dGljc1wiXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5vZGU6IGNyZWF0ZURydWdTdGVja2JyaWVmKGRydWdkYXRhWzJdICksXG4gICAgICAgIGJ1dHRvbm5hbWU6IFwiQW50aWJpb3RpY3NcIiwgXG4gICAgICAgIGNzc25hbWU6IFwiQW50aWJpb3RpY3NcIlxuICAgIH0sXG4gICAge1xuICAgICAgICBub2RlOiBjcmVhdGVEcnVnU3RlY2ticmllZihkcnVnZGF0YVszXSApLFxuICAgICAgICBidXR0b25uYW1lOiBcIkVuenltZXNcIiwgXG4gICAgICAgIGNzc25hbWU6IFwiRW56eW1lc1wiXG4gICAgfSxcbl1cblxuXG5cbmxldCBzeW1wdG9tYnV0dG9ucm93ZGF0YSA9IFtcbiAgICB7XG4gICAgICAgIG5vZGU6IGNyZWF0ZVN5bXB0b21TdGVja2JyaWVmKHN5bXB0b21kYXRhWzBdKSwgXG4gICAgICAgIGJ1dHRvbm5hbWU6IFwiUGFuY3JlYXNcIiwgXG4gICAgICAgIGNzc25hbWU6IFwiU3ltcC1GaXJzdFwiLFxuICAgICAgICBtYWluOiB0cnVlXG4gICAgfSxcbiAgICB7ICAgXG4gICAgICAgIG5vZGU6IGNyZWF0ZVN5bXB0b21TdGVja2JyaWVmKHN5bXB0b21kYXRhWzFdKSwgXG4gICAgICAgIGJ1dHRvbm5hbWU6IFwiSW50ZXN0aW5lc1wiLCBcbiAgICAgICAgY3NzbmFtZTogXCJpbnRlc3RpbmVzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgbm9kZTogY3JlYXRlU3ltcHRvbVN0ZWNrYnJpZWYoc3ltcHRvbWRhdGFbMl0pLCBcbiAgICAgICAgYnV0dG9ubmFtZTogXCJMaXZlclwiLCBcbiAgICAgICAgY3NzbmFtZTogXCJsaXZlclwiXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5vZGU6IGNyZWF0ZVN5bXB0b21TdGVja2JyaWVmKHN5bXB0b21kYXRhWzNdKSwgXG4gICAgICAgIGJ1dHRvbm5hbWU6IFwiU2V4dWFsIGdsYW5kc1wiLCBcbiAgICAgICAgY3NzbmFtZTogXCJTZXh1YWwgZ2xhbmRzXCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgbm9kZTogY3JlYXRlU3ltcHRvbVN0ZWNrYnJpZWYoc3ltcHRvbWRhdGFbNF0pLCBcbiAgICAgICAgYnV0dG9ubmFtZTogXCJMdW5nc1wiLCBcbiAgICAgICAgY3NzbmFtZTogXCJsdW5nc1wiXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5vZGU6IGNyZWF0ZVN5bXB0b21TdGVja2JyaWVmKHN5bXB0b21kYXRhWzVdKSwgXG4gICAgICAgIGJ1dHRvbm5hbWU6IFwiU2tlbGV0YWwgU3lzdGVtXCIsIFxuICAgICAgICBjc3NuYW1lOiBcIlNrZWxldGFsIFN5c3RlbVwiXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5vZGU6IGNyZWF0ZVN5bXB0b21TdGVja2JyaWVmKHN5bXB0b21kYXRhWzZdKSwgXG4gICAgICAgIGJ1dHRvbm5hbWU6IFwiU2tpblwiLCBcbiAgICAgICAgY3NzbmFtZTogXCJza2luXCJcbiAgICB9LFxuICAgIHtcbiAgICAgICAgbm9kZTogY3JlYXRlU3ltcHRvbVN0ZWNrYnJpZWYoc3ltcHRvbWRhdGFbN10gKSwgXG4gICAgICAgIGJ1dHRvbm5hbWU6IFwiTmFzYWwgbXVjb3NhXCIsIFxuICAgICAgICBjc3NuYW1lOiBcIk5hc2FsIG11Y29zYVwiXG4gICAgfSxcbiAgICB7XG4gICAgICAgIG5vZGU6IGNyZWF0ZVN5bXB0b21TdGVja2JyaWVmKHN5bXB0b21kYXRhWzhdICksIFxuICAgICAgICBidXR0b25uYW1lOiBcIkJyYWluXCIsIFxuICAgICAgICBjc3NuYW1lOiBcImJyYWluXCJcbiAgICB9LFxuXG5dXG5cblxuXG5cbmZ1bmN0aW9uIGNyZWF0ZVN5bXB0b21TdGVja2JyaWVmKGRhdGE6IFN5bXB0b21EYXRlbnNhdHope1xuICAgIGxldCBleGFtcGxlbGlzdDogSlNYLkVsZW1lbnRbXSA9IFtdOyBcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF0YS5pbnRyb2R1Y3Rpb24ubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgICBleGFtcGxlbGlzdC5wdXNoKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e2luZGV4fT57ZGF0YS5pbnRyb2R1Y3Rpb25baW5kZXhdfTwvbGk+XG4gICAgICAgICAgICApXG4gICAgfVxuICAgIHJldHVybihcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxINCBpZD17YCR7ZGF0YS5uYW1lfS1idG5gfSB0ZXh0PXtkYXRhLm5hbWV9Lz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInN5bXB0b20taW1nLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtkYXRhLnBpY3R1cmV9IGNsYXNzTmFtZT1cInN5bXB0b20taW1nXCIvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8dWw+e2V4YW1wbGVsaXN0fTwvdWw+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgIClcbn1cblxuXG5mdW5jdGlvbiBjcmVhdGVEcnVnU3RlY2ticmllZihkYXRhOiBEcnVnRGF0ZW5zYXR6KXtcbiAgICBsZXQgZXhhbXBsZWxpc3Q6IEpTWC5FbGVtZW50W10gID0gW107IFxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBkYXRhLmV4YW1wbGVzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBsZXQgYWJzYWV0emU6IEpTWC5FbGVtZW50W10gID0gW11cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhLmV4YW1wbGVzW2luZGV4XS50ZXh0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBhYnNhZXR6ZS5wdXNoKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e2l9PntkYXRhLmV4YW1wbGVzW2luZGV4XS50ZXh0W2ldfTwvbGk+XG4gICAgICAgICAgICApXG4gICAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBleGFtcGxlbGlzdC5wdXNoKFxuICAgICAgICAgICAgPGRpdiBrZXk9e2luZGV4KzUwMH0gY2xhc3NOYW1lPVwiZHJ1Z1wiPlxuICAgICAgICAgICAgICAgIDxINCB0ZXh0PXtkYXRhLmV4YW1wbGVzW2luZGV4XS50aXRsZX0vPlxuICAgICAgICAgICAgICAgIDx1bCBrZXk9e2luZGV4fT57YWJzYWV0emV9PC91bD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApXG4gICAgICAgIFxuICAgIH1cbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8SDQgaWQ9e2Ake2RhdGEubmFtZX0tYnRuYH0gdGV4dD17ZGF0YS5uYW1lfS8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzeW1wdG9tLWltZy13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17ZGF0YS5waWN0dXJlfSBjbGFzc05hbWU9XCJzeW1wdG9tLWltZ1wiLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAge2RhdGEuaW50cm9kdWN0aW9ufVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAge2V4YW1wbGVsaXN0fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIClcbn0iLCAiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU2Nyb2xsTGluayB9IGZyb20gXCIuLi9jb21wb25lbnRzL1Njcm9sbExpbmtcIjtcbmltcG9ydCB7IEhpZ2hsaWdodCwgTmV3SGlnaGxpZ2h0IH0gZnJvbSBcIi4vSGlnaGxpZ2h0LWZ1bmN0aW9uc1wiO1xuaW1wb3J0IHsgQmFja1VwIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQnV0dG9uc1wiO1xuXG4vLyBGdW5rdGlvbiB6dXIgRXJzdGVsbHVuZyBkZXIgU2lkZWJhclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNpZGViYXIodGFiczogQXJyYXk8eyB0YWI6IHN0cmluZzsgc3VidGFicz86IEFycmF5PHN0cmluZz4gfT4pIHtcbiAgICBjb25zdCB7IG51bXNCaWcsIG51bXNTdWIgfSA9IGRlcml2ZVRhYnNEYXRhKHRhYnMpO1xuICAgIGNvbnNvbGUubG9nKHsgbnVtc0JpZywgbnVtc1N1YiB9KVxuICAgIGNvbnN0IFtvcGVuVGFiLCBzZXRPcGVuVGFiXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICAgIFxuICAgICAgICAgICBcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgICBudW1zQmlnLmZvckVhY2goKGl0ZW0sIGluZCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKTtcbiAgICAgICAgICBjb25zdCBzdWJ0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgc3VidGl0bGUke2luZH1gKTtcbiAgICAgICAgICBpZiAoZWxlbWVudCAmJiBzdWJ0aXRsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIEhpZ2hsaWdodCh7IGVsOiBlbGVtZW50IH0sIHsgc3VidGl0bGU6IHN1YnRpdGxlRWxlbWVudCB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICBcbiAgICAgICAgbnVtc1N1Yi5mb3JFYWNoKChpdGVtLCBpbmQpID0+IHtcbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbSk7XG4gICAgICAgICAgY29uc3Qgc3VidGl0bGVFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYG5ld3N1YnRpdGxlJHtpbmR9YCk7XG4gICAgICAgICAgaWYgKGVsZW1lbnQgJiYgc3VidGl0bGVFbGVtZW50KSB7XG4gICAgICAgICAgICBOZXdIaWdobGlnaHQoeyBlbDogZWxlbWVudCB9LCB7IHN1YnRpdGxlOiBzdWJ0aXRsZUVsZW1lbnQgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG4gIFxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgaGFuZGxlU2Nyb2xsKTtcbiAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInNjcm9sbFwiLCBoYW5kbGVTY3JvbGwpO1xuICAgIH0sIFtudW1zQmlnLCBudW1zU3ViLCBvcGVuVGFiXSk7XG5cbiAgICBjb25zdCBzY3JvbGxpbmcgPSAodGFiOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWIpO1xuICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhgU2Nyb2xsaW5nIHRvIGVsZW1lbnQgd2l0aCBJRDogJHt0YWJ9YCk7XG4gICAgICAgIFxuICAgICAgICAvLyBHZXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlbGVtZW50IHJlbGF0aXZlIHRvIHRoZSBkb2N1bWVudFxuICAgICAgICBjb25zdCBlbGVtZW50UmVjdCA9IHRhcmdldEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRUb3AgPSBlbGVtZW50UmVjdC50b3AgKyB3aW5kb3cuc2Nyb2xsWTtcbiAgICAgICAgXG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWlkZGxlIG9mIHRoZSB2aWV3cG9ydFxuICAgICAgICBjb25zdCB2aWV3cG9ydEhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsT2Zmc2V0ID0gZWxlbWVudFRvcCAtICh2aWV3cG9ydEhlaWdodCAvIDUgLSB0YXJnZXRFbGVtZW50Lm9mZnNldEhlaWdodCAvIDIpO1xuICAgICAgIC8qICBcbiAgICAgICAgY29uc29sZS5sb2coYEVsZW1lbnQgVG9wOiAke2VsZW1lbnRUb3B9YCk7XG4gICAgICAgIGNvbnNvbGUubG9nKGBWaWV3cG9ydCBIZWlnaHQ6ICR7dmlld3BvcnRIZWlnaHR9YCk7XG4gICAgICAgIGNvbnNvbGUubG9nKGBTY3JvbGwgT2Zmc2V0OiAke3Njcm9sbE9mZnNldH1gKTsgKi9cbiAgICAgICAgXG4gICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICB0b3A6IHNjcm9sbE9mZnNldCxcbiAgICAgICAgICAgIGJlaGF2aW9yOiBcInNtb290aFwiXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGBTY3JvbGwgdGFyZ2V0IGVsZW1lbnQgbm90IGZvdW5kIGZvciBJRDogJHt0YWJ9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgdG9nZ2xlVGFiID0gKHRhYjogc3RyaW5nKSA9PiB7XG4gICAgICBzZXRPcGVuVGFiKG9wZW5UYWIgPT09IHRhYiA/IG51bGwgOiB0YWIpO1xuICAgICAvLyBjb25zb2xlLmxvZyhgU3RhdHVzIG9mIHRhYiAke3RhYn0gaXMgJHtvcGVuVGFifWApXG4gICAgIHNjcm9sbGluZyh0YWIpXG4gICAgfTtcblxuICAgIGxldCBzdWJ0aXRsZW51bWJlciA9IDA7IFxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8YnIgLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGlja3ktdG9wXCI+XG4gICAgICAgICAgPG5hdiBjbGFzc05hbWU9XCJzaWRlYmFyXCI+XG4gICAgICAgICAgICB7dGFicy5tYXAoKHRhYiwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGFiSWQgPSBgdGFiLSR7dGFiLnRhYn1gO1xuICAgICAgICAgICAgICBjb25zdCBwYXJlbnRJZCA9IGBwYXJlbnQtJHt0YWIudGFifWA7XG4gICAgICAgICAgICAgIGNvbnN0IHN1YnRpdGxlSWQgPSBgc3VidGl0bGUke2luZGV4fWA7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxkaXYga2V5PXtpbmRleH0+XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD17c3VidGl0bGVJZH0gY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD17cGFyZW50SWR9IGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGBDbGlja2VkIG9uIFRhYiAke3RhYi50YWJ9IHdpdGggdGFiLW5hbWUgdGFiLSR7dGFiLnRhYn0gYW5kIHBhcmVudCBwYXJlbnQtJHt0YWIudGFifWApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZVRhYih0YWIudGFiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDbG9zZSBvdGhlciB0YWJzIHdoZW4gYSBuZXcgdGFiIGlzIG9wZW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYnMuZm9yRWFjaCgodCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHQudGFiICE9PSB0YWIudGFiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGB0YWItJHt0LnRhYn1gKSEuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgcGFyZW50LSR7dC50YWJ9YCkhLmNsYXNzTGlzdC5yZW1vdmUoXCJhY3RpdmUtc2lkZWl0ZW1cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2hvdyBvciBoaWRlIHRoZSBzZWxlY3RlZCB0YWJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJJZCkhLnN0eWxlLmRpc3BsYXkgPSBvcGVuVGFiID09PSB0YWIudGFiID8gXCJibG9ja1wiIDogXCJub25lXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocGFyZW50SWQpIS5jbGFzc0xpc3QudG9nZ2xlKFwiYWN0aXZlLXNpZGVpdGVtXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT57dGFiLnRhYn08L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dGFiLnN1YnRhYnMgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPXt0YWJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzaWRlc3VidGFiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiBvcGVuVGFiID09PSB0YWIudGFiID8gXCJibG9ja1wiIDogXCJub25lXCIgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt0YWIuc3VidGFicy5tYXAoKHN1YnRhYiwgc3ViSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3ViVGFiSWQgPSBgbmV3c3VidGl0bGUke3N1YnRpdGxlbnVtYmVyfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogIGNvbnNvbGUubG9nKGBPbGQgc3VidGl0bGVudW1iZXIgaXMgJHtzdWJ0aXRsZW51bWJlcn1gKSAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJ0aXRsZW51bWJlciA9IHN1YnRpdGxlbnVtYmVyICsgMTsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGBOZXcgc3VidGl0bGVudW1iZXIgaXMgJHtzdWJ0aXRsZW51bWJlcn1gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKGBNYWRlIHN1YnRhYiBuZXdzdWJ0aXRsZSR7c3VidGl0bGVudW1iZXJ9IHRoYXQgd2lsbCBsaW5rIHRvICR7dGFiLnRhYn0ke3N1YkluZGV4ICsxIH1IYCkgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17c3VidGl0bGVudW1iZXJ9IGlkPXtzdWJUYWJJZH0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2Nyb2xsTGluayBsYWJlbD17c3VidGFifSB0YXJnZXRJZD17YCR7dGFiLnRhYn0ke3N1YkluZGV4ICsxIH1IYH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICBcbiAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvbmF2PlxuICAgICAgICAgIDxCYWNrVXAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cblxuXG4gIGZ1bmN0aW9uIGRlcml2ZVRhYnNEYXRhKHRhYnM6IEFycmF5PHsgdGFiOiBzdHJpbmc7IHN1YnRhYnM/OiBBcnJheTxzdHJpbmc+IH0+KSB7XG4gICAgY29uc3QgbnVtc0JpZzogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBudW1zU3ViOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgdGFicy5mb3JFYWNoKHRhYiA9PiB7XG4gICAgICAgIGxldCBjb3VudCA9IDE7ICBcbiAgICAgICAgbnVtc0JpZy5wdXNoKGAke3RhYi50YWJ9SGApOyAvLyB6LkIuIFJvbGVILCBDaGVja3NIXG4gICAgICAgIGlmICh0YWIuc3VidGFicykge1xuICAgICAgICAgICAgdGFiLnN1YnRhYnMuZm9yRWFjaCgoX2luZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coaW5kZXgpXG4gICAgICAgICAgICAgICAgbnVtc1N1Yi5wdXNoKGAke3RhYi50YWJ9JHtjb3VudH1gKTsgLy8gei5CLiBSb2xlMUgsIFJvbGUySFxuICAgICAgICAgICAgICAgIGNvdW50ICs9IDE7IFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB7IG51bXNCaWcsIG51bXNTdWIgfTtcbn1cblxuXG4iLCAiaW1wb3J0IHsgY3JlYXRlU2lkZWJhciB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVTaWRlYmFyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBEZXNjU2lkZWJhcigpe1xuICAgIGxldCBzaWRlYmFyID0gY3JlYXRlU2lkZWJhcih0YWJzKTsgXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yICBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICB7c2lkZWJhcn1cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG5cbmNvbnN0IHRhYnMgPSBbXG4gICAgeyB0YWI6IFwiQWJzdHJhY3RcIiB9LFxuICAgIHt0YWI6IFwiT3VyIE1vdGl2YXRpb25cIn0sXG4gICAgeyB0YWI6IFwiQ3lzdGljIEZpYnJvc2lzXCIsIHN1YnRhYnM6IFtcIk92ZXJ2aWV3XCIsIFwiVGhlIENGVFIgUHJvdGVpblwiLCBcIkY1MDhkZWxcIiwgXCJTeW1wdG9tc1wiLCBcIkRpYWdub3Npc1wiLCBcIlRyZWF0bWVudFwiXX0sXG4gICAge3RhYjogXCJBcHByb2FjaFwiLCBzdWJ0YWJzOiBbXCJNZWNoYW5pc21cIiwgXCJEZWxpdmVyeVwiXX0sXG4gICAge3RhYjogXCJPdXIgVmlzaW9uXCJ9LFxuICAgIHt0YWI6IFwiUmVmZXJlbmNlc1wifVxuICBdO1xuIiwgImltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHNcIlxuXG5leHBvcnQgZnVuY3Rpb24gVGFiU2Nyb2xsTGluayh7dGFiLCBzY3JvbGxJZCwgbnVtfTp7dGFiOiBzdHJpbmcsIHNjcm9sbElkOiBzdHJpbmcsIG51bTogc3RyaW5nfSl7XG4gICAgY29uc3Qge2dvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbH0gPSB1c2VOYXZpZ2F0aW9uKCk7IFxuICAgIHJldHVybihcbiAgICAgICAgPHN1cD48YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiB0YWIsIHNjcm9sbFRvSWQ6IHNjcm9sbElkfSl9PntudW19PC9hPjwvc3VwPlxuICAgIClcbn0iLCAiaW1wb3J0IEJpYnRleFBhcnNlciBmcm9tIFwiLi4vY29tcG9uZW50cy9tYWtlU291cmNlc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBFbmdUcmZzb3VyY2VzKCl7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8QmlidGV4UGFyc2VyIGJpYnRleFNvdXJjZXM9e2JpYnRleFNvdXJjZXN9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbn1cblxuXG5jb25zdCBiaWJ0ZXhTb3VyY2VzID0gW1xuICBgQGFydGljbGV7R3JhaGFtX1NtaWxleV9SdXNzZWxsX05haXJuXzE5NzcsXG4gICAgdGl0bGUgICAgICAgID0ge0NoYXJhY3RlcmlzdGljcyBvZiBhIEh1bWFuIENlbGwgTGluZSBUcmFuc2Zvcm1lZCBieSBETkEgZnJvbSBIdW1hbiBBZGVub3ZpcnVzIFR5cGUgNX0sXG4gICAgYXV0aG9yICAgICAgID0ge0dyYWhhbSwgRi4gTC4gYW5kIFNtaWxleSwgSi4gYW5kIFJ1c3NlbGwsIFcuIEMuIGFuZCBOYWlybiwgUi59LFxuICAgIHllYXIgICAgICAgICA9IDE5NzcsXG4gICAgam91cm5hbCAgICAgID0ge0pvdXJuYWwgb2YgR2VuZXJhbCBWaXJvbG9neX0sXG4gICAgcHVibGlzaGVyICAgID0ge01pY3JvYmlvbG9neSBTb2NpZXR5LH0sXG4gICAgdm9sdW1lICAgICAgID0gMzYsXG4gICAgbnVtYmVyICAgICAgID0gMSxcbiAgICBwYWdlcyAgICAgICAgPSB7NTlcdTIwMTM3Mn0sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwOTkvMDAyMi0xMzE3LTM2LTEtNTl9LFxuICAgIGlzc24gICAgICAgICA9IHsxNDY1LTIwOTl9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtTVU1NQVJZIEh1bWFuIGVtYnJ5b25pYyBraWRuZXkgY2VsbHMgaGF2ZSBiZWVuIHRyYW5zZm9ybWVkIGJ5IGV4cG9zaW5nIGNlbGxzIHRvIHNoZWFyZWQgZnJhZ21lbnRzIG9mIGFkZW5vdmlydXMgdHlwZSA1IEROQS4gVGhlIHRyYW5zZm9ybWVkIGNlbGxzIChkZXNpZ25hdGVkIDI5MyBjZWxscykgZXhoaWJpdGVkIG1hbnkgb2YgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0cmFuc2Zvcm1hdGlvbiBpbmNsdWRpbmcgdGhlIGVsYWJvcmF0aW9uIG9mIGEgdmlydXMtc3BlY2lmaWMgdHVtb3VyIGFudGlnZW4uIEFuYWx5c2lzIG9mIHRoZSBwb2x5cGVwdGlkZXMgc3ludGhlc2l6ZWQgaW4gdGhlIDI5MyBjZWxscyBieSBsYWJlbGxpbmcgd2l0aCAzNVMtbWV0aGlvbmluZSBhbmQgU0RTIFBBR0Ugc2hvd2VkIGEgdmFyaWFibGUgcGF0dGVybiBvZiBzeW50aGVzaXMsIGRpZmZlcmVudCBpbiBhIG51bWJlciBvZiByZXNwZWN0cyBmcm9tIHRoYXQgc2VlbiBpbiBvdGhlciBodW1hbiBjZWxscy4gT24gbGFiZWxsaW5nIHRoZSBzdXJmYWNlIG9mIGNlbGxzIGJ5IGxhY3RvcGVyb3hpZGFzZSBjYXRhbHlzZWQgcmFkaW8taW9kaW5hdGlvbiwgdGhlIGFic2VuY2Ugb2YgYSBsYWJlbGxlZCBwb2x5cGVwdGlkZSBhbmFsb2dvdXMgdG8gdGhlIDI1MCBLIChMRVRTKSBnbHljb3Byb3RlaW4gd2FzIG5vdGVkLiBIeWJyaWRpemF0aW9uIG9mIGxhYmVsbGVkIGNlbGx1bGFyIFJOQSB3aXRoIHJlc3RyaWN0aW9uIGZyYWdtZW50cyBvZiBhZGVub3ZpcnVzIHR5cGUgNSBETkEgaW5kaWNhdGVkIHRyYW5zY3JpcHRpb24gb2YgYSBwb3J0aW9uIG9mIHRoZSBhZGVub3ZpcnVzIGdlbm9tZSBhdCB0aGUgY29udmVudGlvbmFsIGxlZnQgaGFuZCBlbmQufVxuICB9YCxcbiAgYEBhcnRpY2xle1NpbW9uLFxuICAgIHRpdGxlICAgICAgICA9IHtQRUFSLCBhIGZsZXhpYmxlIGZsdW9yZXNjZW50IHJlcG9ydGVyIGZvciB0aGUgaWRlbnRpZmljYXRpb24gYW5kIGVucmljaG1lbnQgb2Ygc3VjY2Vzc2Z1bGx5IHByaW1lIGVkaXRlZCBjZWxsc30sXG4gICAgYXV0aG9yICAgICAgID0ge1NpbW9uLCBEb3JvdHR5YSBBbm5hIGFuZCBUXHUwMEUxbGFzLCBBbmRyXHUwMEUxcyBhbmQgS3VsY3NcdTAwRTFyLCBQXHUwMEU5dGVyIElzdHZcdTAwRTFuIGFuZCBCaWN6XHUwMEYzaywgWnN1enNhbm5hIGFuZCBLcmF1c3osIFNhcmFoIExhdXJhIGFuZCBWXHUwMEUxcmFkeSwgR3lcdTAwRjZyZ3kgYW5kIFdlbGtlciwgRXJ2aW59LFxuICAgIHllYXIgICAgICAgICA9IDIwMjIsXG4gICAgbW9udGggICAgICAgID0gZmViLFxuICAgIGpvdXJuYWwgICAgICA9IHtlTGlmZX0sXG4gICAgcHVibGlzaGVyICAgID0ge2VMaWZlIFNjaWVuY2VzIFB1YmxpY2F0aW9ucywgTHRkfSxcbiAgICB2b2x1bWUgICAgICAgPSAxMSxcbiAgICBwYWdlcyAgICAgICAgPSB7ZTY5NTA0fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuNzU1NC9lTGlmZS42OTUwNH0sXG4gICAgaXNzbiAgICAgICAgID0gezIwNTAtMDg0WH0sXG4gICAgYWJzdHJhY3Rub3RlID0ge1ByaW1lIGVkaXRpbmcgaXMgYSByZWNlbnRseSBkZXZlbG9wZWQgQ1JJU1BSL0NhczkgYmFzZWQgZ2VuZSBlbmdpbmVlcmluZyB0b29sIHRoYXQgYWxsb3dzIHRoZSBpbnRyb2R1Y3Rpb24gb2Ygc2hvcnQgaW5zZXJ0aW9ucywgZGVsZXRpb25zLCBhbmQgc3Vic3RpdHV0aW9ucyBpbnRvIHRoZSBnZW5vbWUuIEhvd2V2ZXIsIHRoZSBlZmZpY2llbmN5IG9mIHByaW1lIGVkaXRpbmcsIHdoaWNoIHR5cGljYWxseSBhY2hpZXZlcyBlZGl0aW5nIHJhdGVzIG9mIGFyb3VuZCAxMCVcdTIwMTMzMCUsIGhhcyBub3QgbWF0Y2hlZCBpdHMgdmVyc2F0aWxpdHkuIEhlcmUsIHdlIGludHJvZHVjZSB0aGUgcHJpbWUgZWRpdG9yIGFjdGl2aXR5IHJlcG9ydGVyIChQRUFSKSwgYSBzZW5zaXRpdmUgZmx1b3Jlc2NlbnQgdG9vbCBmb3IgaWRlbnRpZnlpbmcgc2luZ2xlIGNlbGxzIHdpdGggcHJpbWUgZWRpdGluZyBhY3Rpdml0eS4gUEVBUiBoYXMgbm8gYmFja2dyb3VuZCBmbHVvcmVzY2VuY2UgYW5kIHNwZWNpZmljYWxseSBpbmRpY2F0ZXMgcHJpbWUgZWRpdGluZyBldmVudHMuIEl0cyBkZXNpZ24gcHJvdmlkZXMgYXBwYXJlbnRseSB1bmxpbWl0ZWQgZmxleGliaWxpdHkgZm9yIHNlcXVlbmNlIHZhcmlhdGlvbiBhbG9uZyB0aGUgZW50aXJlIGxlbmd0aCBvZiB0aGUgc3BhY2VyIHNlcXVlbmNlLCBtYWtpbmcgaXQgdW5pcXVlbHkgc3VpdGVkIGZvciBzeXN0ZW1hdGljIGludmVzdGlnYXRpb24gb2Ygc2VxdWVuY2UgZmVhdHVyZXMgdGhhdCBpbmZsdWVuY2UgcHJpbWUgZWRpdGluZyBhY3Rpdml0eS4gVGhlIHVzZSBvZiBQRUFSIGFzIGFuIGVucmljaG1lbnQgbWFya2VyIGZvciBwcmltZSBlZGl0aW5nIGNhbiBpbmNyZWFzZSB0aGUgZWRpdGVkIHBvcHVsYXRpb24gYnkgdXAgdG8gODQlLCB0aHVzIHNpZ25pZmljYW50bHkgaW1wcm92aW5nIHRoZSBhcHBsaWNhYmlsaXR5IG9mIHByaW1lIGVkaXRpbmcgZm9yIGJhc2ljIHJlc2VhcmNoIGFuZCBiaW90ZWNobm9sb2dpY2FsIGFwcGxpY2F0aW9ucy59LFxuICAgIGVkaXRvciAgICAgICA9IHtMYXBpbmFpdGUsIEF1ZHJvbmUgYW5kIFN0YWluaWVyLCBEaWRpZXIgWVIgYW5kIEhhbWlsdG9uLCBKZW5uaWZlciBSfVxuICB9YCxcbiAgYEBhcnRpY2xle0FuemFsb25lX1JhbmRvbHBoX0RhdmlzX1NvdXNhX0tvYmxhbl9MZXZ5X0NoZW5fV2lsc29uX05ld2J5X1JhZ3VyYW1fMjAxOSxcbiAgICB0aXRsZSAgICAgICAgPSB7U2VhcmNoLWFuZC1yZXBsYWNlIGdlbm9tZSBlZGl0aW5nIHdpdGhvdXQgZG91YmxlLXN0cmFuZCBicmVha3Mgb3IgZG9ub3IgRE5BfSxcbiAgICBhdXRob3IgICAgICAgPSB7QW56YWxvbmUsIEFuZHJldyBWLiBhbmQgUmFuZG9scGgsIFBleXRvbiBCLiBhbmQgRGF2aXMsIEplc3NpZSBSLiBhbmQgU291c2EsIEFsZXhhbmRlciBBLiBhbmQgS29ibGFuLCBMdWtlIFcuIGFuZCBMZXZ5LCBKb25hdGhhbiBNLiBhbmQgQ2hlbiwgUGV0ZXIgSi4gYW5kIFdpbHNvbiwgQ2hyaXN0b3BoZXIgYW5kIE5ld2J5LCBHcmVnb3J5IEEuIGFuZCBSYWd1cmFtLCBBZGl0eWEgYW5kIExpdSwgRGF2aWQgUi59LFxuICAgIHllYXIgICAgICAgICA9IDIwMTksXG4gICAgbW9udGggICAgICAgID0gZGVjLFxuICAgIGpvdXJuYWwgICAgICA9IHtOYXR1cmV9LFxuICAgIHB1Ymxpc2hlciAgICA9IHtOYXR1cmUgUHVibGlzaGluZyBHcm91cH0sXG4gICAgdm9sdW1lICAgICAgID0gNTc2LFxuICAgIG51bWJlciAgICAgICA9IDc3ODUsXG4gICAgcGFnZXMgICAgICAgID0gezE0OVx1MjAxMzE1N30sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwMzgvczQxNTg2LTAxOS0xNzExLTR9LFxuICAgIGlzc24gICAgICAgICA9IHsxNDc2LTQ2ODd9LFxuICAgIHJpZ2h0cyAgICAgICA9IHsyMDE5IFRoZSBBdXRob3IocyksIHVuZGVyIGV4Y2x1c2l2ZSBsaWNlbmNlIHRvIFNwcmluZ2VyIE5hdHVyZSBMaW1pdGVkfSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7TW9zdCBnZW5ldGljIHZhcmlhbnRzIHRoYXQgY29udHJpYnV0ZSB0byBkaXNlYXNlMSBhcmUgY2hhbGxlbmdpbmcgdG8gY29ycmVjdCBlZmZpY2llbnRseSBhbmQgd2l0aG91dCBleGNlc3MgYnlwcm9kdWN0czJcdTIwMTM1LiBIZXJlIHdlIGRlc2NyaWJlIHByaW1lIGVkaXRpbmcsIGEgdmVyc2F0aWxlIGFuZCBwcmVjaXNlIGdlbm9tZSBlZGl0aW5nIG1ldGhvZCB0aGF0IGRpcmVjdGx5IHdyaXRlcyBuZXcgZ2VuZXRpYyBpbmZvcm1hdGlvbiBpbnRvIGEgc3BlY2lmaWVkIEROQSBzaXRlIHVzaW5nIGEgY2F0YWx5dGljYWxseSBpbXBhaXJlZCBDYXM5IGVuZG9udWNsZWFzZSBmdXNlZCB0byBhbiBlbmdpbmVlcmVkIHJldmVyc2UgdHJhbnNjcmlwdGFzZSwgcHJvZ3JhbW1lZCB3aXRoIGEgcHJpbWUgZWRpdGluZyBndWlkZSBSTkEgKHBlZ1JOQSkgdGhhdCBib3RoIHNwZWNpZmllcyB0aGUgdGFyZ2V0IHNpdGUgYW5kIGVuY29kZXMgdGhlIGRlc2lyZWQgZWRpdC4gV2UgcGVyZm9ybWVkIG1vcmUgdGhhbiAxNzUgZWRpdHMgaW4gaHVtYW4gY2VsbHMsIGluY2x1ZGluZyB0YXJnZXRlZCBpbnNlcnRpb25zLCBkZWxldGlvbnMsIGFuZCBhbGwgMTIgdHlwZXMgb2YgcG9pbnQgbXV0YXRpb24sIHdpdGhvdXQgcmVxdWlyaW5nIGRvdWJsZS1zdHJhbmQgYnJlYWtzIG9yIGRvbm9yIEROQSB0ZW1wbGF0ZXMuIFdlIHVzZWQgcHJpbWUgZWRpdGluZyBpbiBodW1hbiBjZWxscyB0byBjb3JyZWN0LCBlZmZpY2llbnRseSBhbmQgd2l0aCBmZXcgYnlwcm9kdWN0cywgdGhlIHByaW1hcnkgZ2VuZXRpYyBjYXVzZXMgb2Ygc2lja2xlIGNlbGwgZGlzZWFzZSAocmVxdWlyaW5nIGEgdHJhbnN2ZXJzaW9uIGluIEhCQikgYW5kIFRheVx1MjAxM1NhY2hzIGRpc2Vhc2UgKHJlcXVpcmluZyBhIGRlbGV0aW9uIGluIEhFWEEpOyB0byBpbnN0YWxsIGEgcHJvdGVjdGl2ZSB0cmFuc3ZlcnNpb24gaW4gUFJOUDsgYW5kIHRvIGluc2VydCB2YXJpb3VzIHRhZ3MgYW5kIGVwaXRvcGVzIHByZWNpc2VseSBpbnRvIHRhcmdldCBsb2NpLiBGb3VyIGh1bWFuIGNlbGwgbGluZXMgYW5kIHByaW1hcnkgcG9zdC1taXRvdGljIG1vdXNlIGNvcnRpY2FsIG5ldXJvbnMgc3VwcG9ydCBwcmltZSBlZGl0aW5nIHdpdGggdmFyeWluZyBlZmZpY2llbmNpZXMuIFByaW1lIGVkaXRpbmcgc2hvd3MgaGlnaGVyIG9yIHNpbWlsYXIgZWZmaWNpZW5jeSBhbmQgZmV3ZXIgYnlwcm9kdWN0cyB0aGFuIGhvbW9sb2d5LWRpcmVjdGVkIHJlcGFpciwgaGFzIGNvbXBsZW1lbnRhcnkgc3RyZW5ndGhzIGFuZCB3ZWFrbmVzc2VzIGNvbXBhcmVkIHRvIGJhc2UgZWRpdGluZywgYW5kIGluZHVjZXMgbXVjaCBsb3dlciBvZmYtdGFyZ2V0IGVkaXRpbmcgdGhhbiBDYXM5IG51Y2xlYXNlIGF0IGtub3duIENhczkgb2ZmLXRhcmdldCBzaXRlcy4gUHJpbWUgZWRpdGluZyBzdWJzdGFudGlhbGx5IGV4cGFuZHMgdGhlIHNjb3BlIGFuZCBjYXBhYmlsaXRpZXMgb2YgZ2Vub21lIGVkaXRpbmcsIGFuZCBpbiBwcmluY2lwbGUgY291bGQgY29ycmVjdCB1cCB0byA4OSUgb2Yga25vd24gZ2VuZXRpYyB2YXJpYW50cyBhc3NvY2lhdGVkIHdpdGggaHVtYW4gZGlzZWFzZXMufSxcbiAgICBsYW5ndWFnZSAgICAgPSB7ZW59XG4gIH1gXG5dIiwgImltcG9ydCBCaWJ0ZXhQYXJzZXIgZnJvbSBcIi4uL2NvbXBvbmVudHMvbWFrZVNvdXJjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRW5nUmVwc291cmNlcygpe1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPEJpYnRleFBhcnNlciBiaWJ0ZXhTb3VyY2VzPXtiaWJ0ZXhTb3VyY2VzfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG59XG5cblxuY29uc3QgYmlidGV4U291cmNlcyA9IFtcbmBcbkBhcnRpY2xle0hlaW1fUHJhc2hlcl9Uc2llbl8xOTk0LFxuXHR0aXRsZSAgICAgICAgPSB7V2F2ZWxlbmd0aCBtdXRhdGlvbnMgYW5kIHBvc3R0cmFuc2xhdGlvbmFsIGF1dG94aWRhdGlvbiBvZiBncmVlbiBmbHVvcmVzY2VudCBwcm90ZWluLn0sXG5cdGF1dGhvciAgICAgICA9IHtIZWltLCBSIGFuZCBQcmFzaGVyLCBEIEMgYW5kIFRzaWVuLCBSIFl9LFxuXHR5ZWFyICAgICAgICAgPSAxOTk0LFxuXHRtb250aCAgICAgICAgPSBkZWMsXG5cdGpvdXJuYWwgICAgICA9IHtQcm9jZWVkaW5ncyBvZiB0aGUgTmF0aW9uYWwgQWNhZGVteSBvZiBTY2llbmNlc30sXG5cdHB1Ymxpc2hlciAgICA9IHtQcm9jZWVkaW5ncyBvZiB0aGUgTmF0aW9uYWwgQWNhZGVteSBvZiBTY2llbmNlc30sXG5cdHZvbHVtZSAgICAgICA9IDkxLFxuXHRudW1iZXIgICAgICAgPSAyNixcblx0cGFnZXMgICAgICAgID0gezEyNTAxXHUyMDEzMTI1MDR9LFxuXHRkb2kgICAgICAgICAgPSB7MTAuMTA3My9wbmFzLjkxLjI2LjEyNTAxfSxcblx0YWJzdHJhY3Rub3RlID0ge1RoZSBncmVlbiBmbHVvcmVzY2VudCBwcm90ZWluIChHRlApIG9mIHRoZSBqZWxseWZpc2ggQWVxdW9yZWEgdmljdG9yaWEgaXMgYW4gdW51c3VhbCBwcm90ZWluIHdpdGggc3Ryb25nIHZpc2libGUgYWJzb3JiYW5jZSBhbmQgZmx1b3Jlc2NlbmNlIGZyb20gYSBwLWh5ZHJveHliZW56eWxpZGVuZS1pbWlkYXpvbGlkaW5vbmUgY2hyb21vcGhvcmUsIHdoaWNoIGlzIGdlbmVyYXRlZCBieSBjeWNsaXphdGlvbiBhbmQgb3hpZGF0aW9uIG9mIHRoZSBwcm90ZWluXHUyMDE5cyBvd24gU2VyLVR5ci1HbHkgc2VxdWVuY2UgYXQgcG9zaXRpb25zIDY1LTY3LiBDbG9uaW5nIG9mIHRoZSBjRE5BIGFuZCBoZXRlcm9sb2dvdXMgZXhwcmVzc2lvbiBvZiBmbHVvcmVzY2VudCBwcm90ZWluIGluIGEgd2lkZSB2YXJpZXR5IG9mIG9yZ2FuaXNtcyBpbmRpY2F0ZSB0aGF0IHRoaXMgdW5pcXVlIHBvc3R0cmFuc2xhdGlvbmFsIG1vZGlmaWNhdGlvbiBtdXN0IGJlIGVpdGhlciBzcG9udGFuZW91cyBvciBkZXBlbmRlbnQgb25seSBvbiB1YmlxdWl0b3VzIGVuenltZXMgYW5kIHJlYWN0YW50cy4gV2UgcmVwb3J0IHRoYXQgZm9ybWF0aW9uIG9mIHRoZSBmaW5hbCBmbHVvcm9waG9yZSByZXF1aXJlcyBtb2xlY3VsYXIgb3h5Z2VuIGFuZCBwcm9jZWVkcyB3aXRoIGEgdGltZSBjb25zdGFudCAoYXBwcm94aW1hdGVseSA0IGhyIGF0IDIyIGRlZ3JlZXMgQyBhbmQgYXRtb3NwaGVyaWMgcE8yKSBpbmRlcGVuZGVudCBvZiBkaWx1dGlvbiwgaW1wbHlpbmcgdGhhdCB0aGUgb3hpZGF0aW9uIGRvZXMgbm90IHJlcXVpcmUgZW56eW1lcyBvciBjb2ZhY3RvcnMuIEdGUCB3YXMgbXV0YWdlbml6ZWQgYW5kIHNjcmVlbmVkIGZvciB2YXJpYW50cyB3aXRoIGFsdGVyZWQgc3BlY3RyYS4gVGhlIG1vc3Qgc3RyaWtpbmcgbXV0YW50IGZsdW9yZXNjZWQgYmx1ZSBhbmQgY29udGFpbmVkIGhpc3RpZGluZSBpbiBwbGFjZSBvZiBUeXItNjYuIFRoZSBhdmFpbGFiaWxpdHkgb2YgdHdvIHZpc2libHkgZGlzdGluY3QgY29sb3JzIHNob3VsZCBzaWduaWZpY2FudGx5IGV4dGVuZCB0aGUgdXNlZnVsbmVzcyBvZiBHRlAgaW4gbW9sZWN1bGFyIGFuZCBjZWxsIGJpb2xvZ3kgYnkgZW5hYmxpbmcgaW4gdml2byB2aXN1YWxpemF0aW9uIG9mIGRpZmZlcmVudGlhbCBnZW5lIGV4cHJlc3Npb24gYW5kIHByb3RlaW4gbG9jYWxpemF0aW9uIGFuZCBtZWFzdXJlbWVudCBvZiBwcm90ZWluIGFzc29jaWF0aW9uIGJ5IGZsdW9yZXNjZW5jZSByZXNvbmFuY2UgZW5lcmd5IHRyYW5zZmVyLn1cbn1cbmAsYFxuICBAYXJ0aWNsZXtTaW1vbixcbiAgICB0aXRsZSAgICAgICAgPSB7UEVBUiwgYSBmbGV4aWJsZSBmbHVvcmVzY2VudCByZXBvcnRlciBmb3IgdGhlIGlkZW50aWZpY2F0aW9uIGFuZCBlbnJpY2htZW50IG9mIHN1Y2Nlc3NmdWxseSBwcmltZSBlZGl0ZWQgY2VsbHN9LFxuICAgIGF1dGhvciAgICAgICA9IHtTaW1vbiwgRG9yb3R0eWEgQW5uYSBhbmQgVFx1MDBFMWxhcywgQW5kclx1MDBFMXMgYW5kIEt1bGNzXHUwMEUxciwgUFx1MDBFOXRlciBJc3R2XHUwMEUxbiBhbmQgQmljelx1MDBGM2ssIFpzdXpzYW5uYSBhbmQgS3JhdXN6LCBTYXJhaCBMYXVyYSBhbmQgVlx1MDBFMXJhZHksIEd5XHUwMEY2cmd5IGFuZCBXZWxrZXIsIEVydmlufSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDIyLFxuICAgIG1vbnRoICAgICAgICA9IGZlYixcbiAgICBqb3VybmFsICAgICAgPSB7ZUxpZmV9LFxuICAgIHB1Ymxpc2hlciAgICA9IHtlTGlmZSBTY2llbmNlcyBQdWJsaWNhdGlvbnMsIEx0ZH0sXG4gICAgdm9sdW1lICAgICAgID0gMTEsXG4gICAgcGFnZXMgICAgICAgID0ge2U2OTUwNH0sXG4gICAgZG9pICAgICAgICAgID0gezEwLjc1NTQvZUxpZmUuNjk1MDR9LFxuICAgIGlzc24gICAgICAgICA9IHsyMDUwLTA4NFh9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtQcmltZSBlZGl0aW5nIGlzIGEgcmVjZW50bHkgZGV2ZWxvcGVkIENSSVNQUi9DYXM5IGJhc2VkIGdlbmUgZW5naW5lZXJpbmcgdG9vbCB0aGF0IGFsbG93cyB0aGUgaW50cm9kdWN0aW9uIG9mIHNob3J0IGluc2VydGlvbnMsIGRlbGV0aW9ucywgYW5kIHN1YnN0aXR1dGlvbnMgaW50byB0aGUgZ2Vub21lLiBIb3dldmVyLCB0aGUgZWZmaWNpZW5jeSBvZiBwcmltZSBlZGl0aW5nLCB3aGljaCB0eXBpY2FsbHkgYWNoaWV2ZXMgZWRpdGluZyByYXRlcyBvZiBhcm91bmQgMTAlXHUyMDEzMzAlLCBoYXMgbm90IG1hdGNoZWQgaXRzIHZlcnNhdGlsaXR5LiBIZXJlLCB3ZSBpbnRyb2R1Y2UgdGhlIHByaW1lIGVkaXRvciBhY3Rpdml0eSByZXBvcnRlciAoUEVBUiksIGEgc2Vuc2l0aXZlIGZsdW9yZXNjZW50IHRvb2wgZm9yIGlkZW50aWZ5aW5nIHNpbmdsZSBjZWxscyB3aXRoIHByaW1lIGVkaXRpbmcgYWN0aXZpdHkuIFBFQVIgaGFzIG5vIGJhY2tncm91bmQgZmx1b3Jlc2NlbmNlIGFuZCBzcGVjaWZpY2FsbHkgaW5kaWNhdGVzIHByaW1lIGVkaXRpbmcgZXZlbnRzLiBJdHMgZGVzaWduIHByb3ZpZGVzIGFwcGFyZW50bHkgdW5saW1pdGVkIGZsZXhpYmlsaXR5IGZvciBzZXF1ZW5jZSB2YXJpYXRpb24gYWxvbmcgdGhlIGVudGlyZSBsZW5ndGggb2YgdGhlIHNwYWNlciBzZXF1ZW5jZSwgbWFraW5nIGl0IHVuaXF1ZWx5IHN1aXRlZCBmb3Igc3lzdGVtYXRpYyBpbnZlc3RpZ2F0aW9uIG9mIHNlcXVlbmNlIGZlYXR1cmVzIHRoYXQgaW5mbHVlbmNlIHByaW1lIGVkaXRpbmcgYWN0aXZpdHkuIFRoZSB1c2Ugb2YgUEVBUiBhcyBhbiBlbnJpY2htZW50IG1hcmtlciBmb3IgcHJpbWUgZWRpdGluZyBjYW4gaW5jcmVhc2UgdGhlIGVkaXRlZCBwb3B1bGF0aW9uIGJ5IHVwIHRvIDg0JSwgdGh1cyBzaWduaWZpY2FudGx5IGltcHJvdmluZyB0aGUgYXBwbGljYWJpbGl0eSBvZiBwcmltZSBlZGl0aW5nIGZvciBiYXNpYyByZXNlYXJjaCBhbmQgYmlvdGVjaG5vbG9naWNhbCBhcHBsaWNhdGlvbnMufSxcbiAgICBlZGl0b3IgICAgICAgPSB7TGFwaW5haXRlLCBBdWRyb25lIGFuZCBTdGFpbmllciwgRGlkaWVyIFlSIGFuZCBIYW1pbHRvbiwgSmVubmlmZXIgUn1cbiAgfVxuYFxuXSIsICJpbXBvcnQgQmlidGV4UGFyc2VyIGZyb20gXCIuLi9jb21wb25lbnRzL21ha2VTb3VyY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEVuZ1BFc3lzdGVtcygpe1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPEJpYnRleFBhcnNlciBiaWJ0ZXhTb3VyY2VzPXtiaWJ0ZXhTb3VyY2VzfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG59XG5cblxuY29uc3QgYmlidGV4U291cmNlcyA9IFtcbiAgYEBhcnRpY2xle0FuemFsb25lX1JhbmRvbHBoX0RhdmlzX1NvdXNhX0tvYmxhbl9MZXZ5X0NoZW5fV2lsc29uX05ld2J5X1JhZ3VyYW1fMjAxOSxcbiAgICB0aXRsZSAgICAgICAgPSB7U2VhcmNoLWFuZC1yZXBsYWNlIGdlbm9tZSBlZGl0aW5nIHdpdGhvdXQgZG91YmxlLXN0cmFuZCBicmVha3Mgb3IgZG9ub3IgRE5BfSxcbiAgICBhdXRob3IgICAgICAgPSB7QW56YWxvbmUsIEFuZHJldyBWLiBhbmQgUmFuZG9scGgsIFBleXRvbiBCLiBhbmQgRGF2aXMsIEplc3NpZSBSLiBhbmQgU291c2EsIEFsZXhhbmRlciBBLiBhbmQgS29ibGFuLCBMdWtlIFcuIGFuZCBMZXZ5LCBKb25hdGhhbiBNLiBhbmQgQ2hlbiwgUGV0ZXIgSi4gYW5kIFdpbHNvbiwgQ2hyaXN0b3BoZXIgYW5kIE5ld2J5LCBHcmVnb3J5IEEuIGFuZCBSYWd1cmFtLCBBZGl0eWEgYW5kIExpdSwgRGF2aWQgUi59LFxuICAgIHllYXIgICAgICAgICA9IDIwMTksXG4gICAgbW9udGggICAgICAgID0gZGVjLFxuICAgIGpvdXJuYWwgICAgICA9IHtOYXR1cmV9LFxuICAgIHB1Ymxpc2hlciAgICA9IHtOYXR1cmUgUHVibGlzaGluZyBHcm91cH0sXG4gICAgdm9sdW1lICAgICAgID0gNTc2LFxuICAgIG51bWJlciAgICAgICA9IDc3ODUsXG4gICAgcGFnZXMgICAgICAgID0gezE0OVx1MjAxMzE1N30sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwMzgvczQxNTg2LTAxOS0xNzExLTR9LFxuICAgIGlzc24gICAgICAgICA9IHsxNDc2LTQ2ODd9LFxuICAgIHJpZ2h0cyAgICAgICA9IHsyMDE5IFRoZSBBdXRob3IocyksIHVuZGVyIGV4Y2x1c2l2ZSBsaWNlbmNlIHRvIFNwcmluZ2VyIE5hdHVyZSBMaW1pdGVkfSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7TW9zdCBnZW5ldGljIHZhcmlhbnRzIHRoYXQgY29udHJpYnV0ZSB0byBkaXNlYXNlMSBhcmUgY2hhbGxlbmdpbmcgdG8gY29ycmVjdCBlZmZpY2llbnRseSBhbmQgd2l0aG91dCBleGNlc3MgYnlwcm9kdWN0czJcdTIwMTM1LiBIZXJlIHdlIGRlc2NyaWJlIHByaW1lIGVkaXRpbmcsIGEgdmVyc2F0aWxlIGFuZCBwcmVjaXNlIGdlbm9tZSBlZGl0aW5nIG1ldGhvZCB0aGF0IGRpcmVjdGx5IHdyaXRlcyBuZXcgZ2VuZXRpYyBpbmZvcm1hdGlvbiBpbnRvIGEgc3BlY2lmaWVkIEROQSBzaXRlIHVzaW5nIGEgY2F0YWx5dGljYWxseSBpbXBhaXJlZCBDYXM5IGVuZG9udWNsZWFzZSBmdXNlZCB0byBhbiBlbmdpbmVlcmVkIHJldmVyc2UgdHJhbnNjcmlwdGFzZSwgcHJvZ3JhbW1lZCB3aXRoIGEgcHJpbWUgZWRpdGluZyBndWlkZSBSTkEgKHBlZ1JOQSkgdGhhdCBib3RoIHNwZWNpZmllcyB0aGUgdGFyZ2V0IHNpdGUgYW5kIGVuY29kZXMgdGhlIGRlc2lyZWQgZWRpdC4gV2UgcGVyZm9ybWVkIG1vcmUgdGhhbiAxNzUgZWRpdHMgaW4gaHVtYW4gY2VsbHMsIGluY2x1ZGluZyB0YXJnZXRlZCBpbnNlcnRpb25zLCBkZWxldGlvbnMsIGFuZCBhbGwgMTIgdHlwZXMgb2YgcG9pbnQgbXV0YXRpb24sIHdpdGhvdXQgcmVxdWlyaW5nIGRvdWJsZS1zdHJhbmQgYnJlYWtzIG9yIGRvbm9yIEROQSB0ZW1wbGF0ZXMuIFdlIHVzZWQgcHJpbWUgZWRpdGluZyBpbiBodW1hbiBjZWxscyB0byBjb3JyZWN0LCBlZmZpY2llbnRseSBhbmQgd2l0aCBmZXcgYnlwcm9kdWN0cywgdGhlIHByaW1hcnkgZ2VuZXRpYyBjYXVzZXMgb2Ygc2lja2xlIGNlbGwgZGlzZWFzZSAocmVxdWlyaW5nIGEgdHJhbnN2ZXJzaW9uIGluIEhCQikgYW5kIFRheVx1MjAxM1NhY2hzIGRpc2Vhc2UgKHJlcXVpcmluZyBhIGRlbGV0aW9uIGluIEhFWEEpOyB0byBpbnN0YWxsIGEgcHJvdGVjdGl2ZSB0cmFuc3ZlcnNpb24gaW4gUFJOUDsgYW5kIHRvIGluc2VydCB2YXJpb3VzIHRhZ3MgYW5kIGVwaXRvcGVzIHByZWNpc2VseSBpbnRvIHRhcmdldCBsb2NpLiBGb3VyIGh1bWFuIGNlbGwgbGluZXMgYW5kIHByaW1hcnkgcG9zdC1taXRvdGljIG1vdXNlIGNvcnRpY2FsIG5ldXJvbnMgc3VwcG9ydCBwcmltZSBlZGl0aW5nIHdpdGggdmFyeWluZyBlZmZpY2llbmNpZXMuIFByaW1lIGVkaXRpbmcgc2hvd3MgaGlnaGVyIG9yIHNpbWlsYXIgZWZmaWNpZW5jeSBhbmQgZmV3ZXIgYnlwcm9kdWN0cyB0aGFuIGhvbW9sb2d5LWRpcmVjdGVkIHJlcGFpciwgaGFzIGNvbXBsZW1lbnRhcnkgc3RyZW5ndGhzIGFuZCB3ZWFrbmVzc2VzIGNvbXBhcmVkIHRvIGJhc2UgZWRpdGluZywgYW5kIGluZHVjZXMgbXVjaCBsb3dlciBvZmYtdGFyZ2V0IGVkaXRpbmcgdGhhbiBDYXM5IG51Y2xlYXNlIGF0IGtub3duIENhczkgb2ZmLXRhcmdldCBzaXRlcy4gUHJpbWUgZWRpdGluZyBzdWJzdGFudGlhbGx5IGV4cGFuZHMgdGhlIHNjb3BlIGFuZCBjYXBhYmlsaXRpZXMgb2YgZ2Vub21lIGVkaXRpbmcsIGFuZCBpbiBwcmluY2lwbGUgY291bGQgY29ycmVjdCB1cCB0byA4OSUgb2Yga25vd24gZ2VuZXRpYyB2YXJpYW50cyBhc3NvY2lhdGVkIHdpdGggaHVtYW4gZGlzZWFzZXMufSxcbiAgICBsYW5ndWFnZSAgICAgPSB7ZW59XG4gIH1gLFxuICBgQGFydGljbGV7SmluZWtfQ2h5bGluc2tpX0ZvbmZhcmFfSGF1ZXJfRG91ZG5hX0NoYXJwZW50aWVyXzIwMTIsXG4gICAgdGl0bGUgICAgICAgID0ge0EgcHJvZ3JhbW1hYmxlIGR1YWwgUk5BLWd1aWRlZCBETkEgZW5kb251Y2xlYXNlIGluIGFkYXB0aXZlIGJhY3RlcmlhbCBpbW11bml0eX0sXG4gICAgYXV0aG9yICAgICAgID0ge0ppbmVrLCBNYXJ0aW4gYW5kIENoeWxpbnNraSwgS3J6eXN6dG9mIGFuZCBGb25mYXJhLCBJbmVzIGFuZCBIYXVlciwgTWljaGFlbCBhbmQgRG91ZG5hLCBKZW5uaWZlciBBLiBhbmQgQ2hhcnBlbnRpZXIsIEVtbWFudWVsbGV9LFxuICAgIHllYXIgICAgICAgICA9IDIwMTIsXG4gICAgbW9udGggICAgICAgID0gYXVnLFxuICAgIGpvdXJuYWwgICAgICA9IHtTY2llbmNlfSxcbiAgICB2b2x1bWUgICAgICAgPSAzMzcsXG4gICAgbnVtYmVyICAgICAgID0gNjA5NixcbiAgICBwYWdlcyAgICAgICAgPSB7ODE2XHUyMDEzODIxfSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTEyNi9zY2llbmNlLjEyMjU4Mjl9LFxuICAgIGlzc24gICAgICAgICA9IHswMDM2LTgwNzV9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtDUklTUFIvQ2FzIHN5c3RlbXMgcHJvdmlkZSBiYWN0ZXJpYSBhbmQgYXJjaGFlYSB3aXRoIGFkYXB0aXZlIGltbXVuaXR5IGFnYWluc3QgdmlydXNlcyBhbmQgcGxhc21pZHMgYnkgdXNpbmcgY3JSTkFzIHRvIGd1aWRlIHRoZSBzaWxlbmNpbmcgb2YgaW52YWRpbmcgbnVjbGVpYyBhY2lkcy4gV2Ugc2hvdyBoZXJlIHRoYXQgaW4gYSBzdWJzZXQgb2YgdGhlc2Ugc3lzdGVtcywgdGhlIG1hdHVyZSBjclJOQSBiYXNlLXBhaXJlZCB0byB0cmFucy1hY3RpdmF0aW5nIHRyYWNyUk5BIGZvcm1zIGEgdHdvLVJOQSBzdHJ1Y3R1cmUgdGhhdCBkaXJlY3RzIHRoZSBDUklTUFItYXNzb2NpYXRlZCBwcm90ZWluIENhczkgdG8gaW50cm9kdWNlIGRvdWJsZS1zdHJhbmRlZCAoZHMpIGJyZWFrcyBpbiB0YXJnZXQgRE5BLiBBdCBzaXRlcyBjb21wbGVtZW50YXJ5IHRvIHRoZSBjclJOQS1ndWlkZSBzZXF1ZW5jZSwgdGhlIENhczkgSE5IIG51Y2xlYXNlIGRvbWFpbiBjbGVhdmVzIHRoZSBjb21wbGVtZW50YXJ5IHN0cmFuZCB3aGlsZSB0aGUgQ2FzOSBSdXZDLWxpa2UgZG9tYWluIGNsZWF2ZXMgdGhlIG5vbi1jb21wbGVtZW50YXJ5IHN0cmFuZC4gVGhlIGR1YWwtdHJhY3JSTkE6Y3JSTkEsIHdoZW4gZW5naW5lZXJlZCBhcyBhIHNpbmdsZSBSTkEgY2hpbWVyYSwgYWxzbyBkaXJlY3RzIHNlcXVlbmNlLXNwZWNpZmljIENhczkgZHNETkEgY2xlYXZhZ2UuIE91ciBzdHVkeSByZXZlYWxzIGEgZmFtaWx5IG9mIGVuZG9udWNsZWFzZXMgdGhhdCB1c2UgZHVhbC1STkFzIGZvciBzaXRlLXNwZWNpZmljIEROQSBjbGVhdmFnZSBhbmQgaGlnaGxpZ2h0cyB0aGUgcG90ZW50aWFsIHRvIGV4cGxvaXQgdGhlIHN5c3RlbSBmb3IgUk5BLXByb2dyYW1tYWJsZSBnZW5vbWUgZWRpdGluZy4sIEEgdHdvLVJOQSBzdHJ1Y3R1cmUgZGlyZWN0cyBhbiBlbmRvbnVjbGVhc2UgdG8gY2xlYXZlIHRhcmdldCBETkEufVxuICB9YCxcbiAgYEBhcnRpY2xle0dhb19SYXZlbmRyYW5fTWlra2Vsc2VuX0hhbGRydXBfQ2FpX0RpbmdfUGFsdWRhbl9UaG9tc2VuX01pa2tlbHNlbl9CYWtfMjAyMixcbiAgICB0aXRsZSAgICAgICAgPSB7QSB0cnVuY2F0ZWQgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIGVuaGFuY2VzIHByaW1lIGVkaXRpbmcgYnkgc3BsaXQgQUFWIHZlY3RvcnN9LFxuICAgIGF1dGhvciAgICAgICA9IHtHYW8sIFpvbmdsaWFuZyBhbmQgUmF2ZW5kcmFuLCBTdWphbiBhbmQgTWlra2Vsc2VuLCBOYW5uYSBTLiBhbmQgSGFsZHJ1cCwgSmFrb2IgYW5kIENhaSwgSHVpcWlhbmcgYW5kIERpbmcsIFhpYW5nbmluZyBhbmQgUGFsdWRhbiwgU1x1MDBGOHJlbiBSLiBhbmQgVGhvbXNlbiwgTWFydGluIEsuIGFuZCBNaWtrZWxzZW4sIEphY29iIEdpZWhtIGFuZCBCYWssIFJhc211cyBPLn0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMixcbiAgICBtb250aCAgICAgICAgPSBzZXAsXG4gICAgam91cm5hbCAgICAgID0ge01vbGVjdWxhciBUaGVyYXB5fSxcbiAgICBwdWJsaXNoZXIgICAgPSB7RWxzZXZpZXJ9LFxuICAgIHZvbHVtZSAgICAgICA9IDMwLFxuICAgIG51bWJlciAgICAgICA9IDksXG4gICAgcGFnZXMgICAgICAgID0gezI5NDJcdTIwMTMyOTUxfSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAxNi9qLnltdGhlLjIwMjIuMDcuMDAxfSxcbiAgICBpc3NuICAgICAgICAgPSB7MTUyNS0wMDE2LCAxNTI1LTAwMjR9LFxuICAgIGxhbmd1YWdlICAgICA9IHtFbmdsaXNofVxuICB9YCxcbiAgYEBhcnRpY2xle0NoZW5fSHVzc21hbm5fWWFuX0tuaXBwaW5nX1JhdmlzYW5rYXJfQ2hlbl9DaGVuX05lbHNvbl9OZXdieV9TYWhpbl8yMDIxLFxuICAgIHRpdGxlICAgICAgICA9IHtFbmhhbmNlZCBwcmltZSBlZGl0aW5nIHN5c3RlbXMgYnkgbWFuaXB1bGF0aW5nIGNlbGx1bGFyIGRldGVybWluYW50cyBvZiBlZGl0aW5nIG91dGNvbWVzfSxcbiAgICBhdXRob3IgICAgICAgPSB7Q2hlbiwgUGV0ZXIgSi4gYW5kIEh1c3NtYW5uLCBKZWZmcmV5IEEuIGFuZCBZYW4sIEp1biBhbmQgS25pcHBpbmcsIEZyaWVkZXJpa2UgYW5kIFJhdmlzYW5rYXIsIFB1cm5pbWEgYW5kIENoZW4sIFBpbi1GYW5nIGFuZCBDaGVuLCBDaWRpIGFuZCBOZWxzb24sIEphbWVzIFcuIGFuZCBOZXdieSwgR3JlZ29yeSBBLiBhbmQgU2FoaW4sIE11c3RhZmEgYW5kIE9zYm9ybiwgTWFyayBKLiBhbmQgV2Vpc3NtYW4sIEpvbmF0aGFuIFMuIGFuZCBBZGFtc29uLCBCcml0dCBhbmQgTGl1LCBEYXZpZCBSLn0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMSxcbiAgICBtb250aCAgICAgICAgPSBvY3QsXG4gICAgam91cm5hbCAgICAgID0ge0NlbGx9LFxuICAgIHZvbHVtZSAgICAgICA9IDE4NCxcbiAgICBudW1iZXIgICAgICAgPSAyMixcbiAgICBwYWdlcyAgICAgICAgPSB7NTYzNS0tNTY1Mn0sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwMTYvai5jZWxsLjIwMjEuMDkuMDE4fSxcbiAgICBpc3NuICAgICAgICAgPSB7MDA5Mi04Njc0fSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7V2hpbGUgcHJpbWUgZWRpdGluZyBlbmFibGVzIHByZWNpc2Ugc2VxdWVuY2UgY2hhbmdlcyBpbiBETkEsIGNlbGx1bGFyIGRldGVybWluYW50cyBvZiBwcmltZSBlZGl0aW5nIHJlbWFpbiBwb29ybHkgdW5kZXJzdG9vZC4gVXNpbmcgcG9vbGVkIENSSVNQUmkgc2NyZWVucywgd2UgZGlzY292ZXJlZCB0aGF0IEROQSBtaXNtYXRjaCByZXBhaXIgKE1NUikgaW1wZWRlcyBwcmltZSBlZGl0aW5nIGFuZCBwcm9tb3RlcyB1bmRlc2lyZWQgaW5kZWwgYnlwcm9kdWN0cy4gV2UgZGV2ZWxvcGVkIFBFNCBhbmQgUEU1IHByaW1lIGVkaXRpbmcgc3lzdGVtcyBpbiB3aGljaCB0cmFuc2llbnQgZXhwcmVzc2lvbiBvZiBhbiBlbmdpbmVlcmVkIE1NUi1pbmhpYml0aW5nIHByb3RlaW4gZW5oYW5jZXMgdGhlIGVmZmljaWVuY3kgb2Ygc3Vic3RpdHV0aW9uLCBzbWFsbCBpbnNlcnRpb24sIGFuZCBzbWFsbCBkZWxldGlvbiBwcmltZSBlZGl0cyBieSBhbiBhdmVyYWdlIDcuNy1mb2xkIGFuZCAyLjAtZm9sZCBjb21wYXJlZCB0byBQRTIgYW5kIFBFMyBzeXN0ZW1zLCByZXNwZWN0aXZlbHksIHdoaWxlIGltcHJvdmluZyBlZGl0L2luZGVsIHJhdGlvcyBieSAzLjQtZm9sZCBpbiBNTVItcHJvZmljaWVudCBjZWxsIHR5cGVzLiBTdHJhdGVnaWMgaW5zdGFsbGF0aW9uIG9mIHNpbGVudCBtdXRhdGlvbnMgbmVhciB0aGUgaW50ZW5kZWQgZWRpdCBjYW4gZW5oYW5jZSBwcmltZSBlZGl0aW5nIG91dGNvbWVzIGJ5IGV2YWRpbmcgTU1SLiBQcmltZSBlZGl0b3IgcHJvdGVpbiBvcHRpbWl6YXRpb24gcmVzdWx0ZWQgaW4gYSBQRW1heCBhcmNoaXRlY3R1cmUgdGhhdCBlbmhhbmNlcyBlZGl0aW5nIGVmZmljYWN5IGJ5IDIuOC1mb2xkIG9uIGF2ZXJhZ2UgaW4gSGVMYSBjZWxscy4gVGhlc2UgZmluZGluZ3MgZW5yaWNoIG91ciB1bmRlcnN0YW5kaW5nIG9mIHByaW1lIGVkaXRpbmcgYW5kIGVzdGFibGlzaCBwcmltZSBlZGl0aW5nIHN5c3RlbXMgdGhhdCBzaG93IHN1YnN0YW50aWFsIGltcHJvdmVtZW50IGFjcm9zcyAxOTEgZWRpdHMgaW4gc2V2ZW4gbWFtbWFsaWFuIGNlbGwgdHlwZXMufVxuICB9YCxcbiAgYEBhcnRpY2xle1RvbWVyX0J1ZXJtZXllcl9OZ3V5ZW5fTGlza2F5XzIwMDIsXG4gICAgdGl0bGUgICAgICAgID0ge0NvbnRyaWJ1dGlvbiBvZiBIdW1hbiBNbGgxIGFuZCBQbXMyIEFUUGFzZSBBY3Rpdml0aWVzIHRvIEROQSBNaXNtYXRjaCBSZXBhaXJ9LFxuICAgIGF1dGhvciAgICAgICA9IHtUb21lciwgR3V5IGFuZCBCdWVybWV5ZXIsIEFuZHJldyBCLiBhbmQgTmd1eWVuLCBNZWdhbiBNLiBhbmQgTGlza2F5LCBSLiBNaWNoYWVsfSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDAyLFxuICAgIG1vbnRoICAgICAgICA9IGp1bixcbiAgICBqb3VybmFsICAgICAgPSB7Sm91cm5hbCBvZiBCaW9sb2dpY2FsIENoZW1pc3RyeX0sXG4gICAgdm9sdW1lICAgICAgID0gMjc3LFxuICAgIG51bWJlciAgICAgICA9IDI0LFxuICAgIHBhZ2VzICAgICAgICA9IHsyMTgwMVx1MjAxMzIxODA5fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTA3NC9qYmMuTTExMTM0MjIwMH0sXG4gICAgaXNzbiAgICAgICAgID0gezAwMjEtOTI1OH0sXG4gICAgYWJzdHJhY3Rub3RlID0ge011dExcdTAzQjEsIGEgaGV0ZXJvZGltZXIgY29tcG9zZWQgb2YgTWxoMSBhbmQgUG1zMiwgaXMgdGhlIG1ham9yIE11dEwgYWN0aXZpdHkgaW4gbWFtbWFsaWFuIEROQSBtaXNtYXRjaCByZXBhaXIuIEhpZ2hseSBjb25zZXJ2ZWQgbW90aWZzIGluIHRoZSBOIHRlcm1pbmkgb2YgYm90aCBzdWJ1bml0cyBwcmVkaWN0IHRoYXQgdGhlIHByb3RlaW4gaXMgYW4gQVRQYXNlLiBUbyBzdHVkeSB0aGUgc2lnbmlmaWNhbmNlIG9mIHRoZXNlIG1vdGlmcyB0byBtaXNtYXRjaCByZXBhaXIsIHdlIGhhdmUgZXhwcmVzc2VkIGluIGluc2VjdCBjZWxscyB3aWxkIHR5cGUgaHVtYW4gTXV0TFx1MDNCMSBhbmQgZm9ybXMgYWx0ZXJlZCBpbiBjb25zZXJ2ZWQgZ2x1dGFtaWMgYWNpZCByZXNpZHVlcywgcHJlZGljdGVkIHRvIGNhdGFseXplIEFUUCBoeWRyb2x5c2lzIG9mIE1saDEsIFBtczIsIG9yIGJvdGguIFVzaW5nIGFuIGluIHZpdHJvIGFzc2F5LCB3ZSBzaG93ZWQgdGhhdCBNdXRMXHUwM0IxIHByb3RlaW5zIGFsdGVyZWQgaW4gZWl0aGVyIGdsdXRhbWljIGFjaWQgcmVzaWR1ZSB3ZXJlIGVhY2ggcGFydGlhbGx5IGRlZmVjdGl2ZSBpbiBtaXNtYXRjaCByZXBhaXIsIHdoZXJlYXMgdGhlIGRvdWJsZSBtdXRhbnQgc2hvd2VkIG5vIGRldGVjdGFibGUgbWlzbWF0Y2ggcmVwYWlyLiBOZWl0aGVyIHN0cmFuZCBzcGVjaWZpY2l0eSBub3IgZGlyZWN0aW9uYWxpdHkgb2YgcmVwYWlyIHdhcyBhZmZlY3RlZCBpbiB0aGUgc2luZ2xlIG11dGFudCBwcm90ZWlucy4gTGltaXRlZCBwcm90ZW9seXNpcyBzdHVkaWVzIG9mIE11dExcdTAzQjEgZGVtb25zdHJhdGVkIHRoYXQgYm90aCBNbGgxIGFuZCBQbXMyIE4tdGVybWluYWwgZG9tYWlucyB1bmRlcmdvIEFUUC1pbmR1Y2VkIGNvbmZvcm1hdGlvbmFsIGNoYW5nZXMsIGJ1dCB0aGUgZXh0ZW50IG9mIHRoZSBjb25mb3JtYXRpb25hbCBjaGFuZ2UgZm9yIE1saDEgd2FzIG1vcmUgYXBwYXJlbnQgdGhhbiBmb3IgUG1zMi4gRnVydGhlcm1vcmUsIE1saDEgd2FzIHByb3RlY3RlZCBhdCBsb3dlciBBVFAgY29uY2VudHJhdGlvbnMgdGhhbiBQbXMyLCBzdWdnZXN0aW5nIE1saDEgYmluZHMgQVRQIHdpdGggaGlnaGVyIGFmZmluaXR5LiBUaGVzZSBmaW5kaW5ncyBpbXBseSB0aGF0IEFUUCBoeWRyb2x5c2lzIGlzIHJlcXVpcmVkIGZvciBNdXRMXHUwM0IxIGFjdGl2aXR5IGluIG1pc21hdGNoIHJlcGFpciBhbmQgdGhhdCB0aGlzIGFjdGl2aXR5IGlzIGFzc29jaWF0ZWQgd2l0aCBkaWZmZXJlbnRpYWwgY29uZm9ybWF0aW9uYWwgY2hhbmdlcyBpbiBNbGgxIGFuZCBQbXMyLn1cbiAgfWAsXG4gIGBAYXJ0aWNsZXtXdV9Db3JiZXR0X0JlcmxhbmRfMjAwOSxcbiAgICB0aXRsZSAgICAgICAgPSB7VGhlIEludHJhY2VsbHVsYXIgTW9iaWxpdHkgb2YgTnVjbGVhciBJbXBvcnQgUmVjZXB0b3JzIGFuZCBOTFMgQ2FyZ29lc30sXG4gICAgYXV0aG9yICAgICAgID0ge1d1LCBKaWFucm9uZyBhbmQgQ29yYmV0dCwgQW5pdGEgSC4gYW5kIEJlcmxhbmQsIEtlaXRoIE0ufSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDA5LFxuICAgIG1vbnRoICAgICAgICA9IG1heSxcbiAgICBqb3VybmFsICAgICAgPSB7QmlvcGh5c2ljYWwgSm91cm5hbH0sXG4gICAgdm9sdW1lICAgICAgID0gOTYsXG4gICAgbnVtYmVyICAgICAgID0gOSxcbiAgICBwYWdlcyAgICAgICAgPSB7Mzg0MFx1MjAxMzM4NDl9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDE2L2ouYnBqLjIwMDkuMDEuMDUwfSxcbiAgICBpc3NuICAgICAgICAgPSB7MDAwNi0zNDk1fSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7V2UgaGF2ZSBpbnZlc3RpZ2F0ZWQgY2xhc3NpY2FsIG51Y2xlYXIgbG9jYWxpemF0aW9uIHNlcXVlbmNlIChOTFMpIG1lZGlhdGVkIHByb3RlaW4gdHJhZmZpY2tpbmcgYnkgbWVhc3VyaW5nIGJpb21vbGVjdWxhciBkeW5hbWljcyB3aXRoaW4gbGl2aW5nIGNlbGxzIHVzaW5nIHR3by1waG90b24gZmx1b3Jlc2NlbmNlIGNvcnJlbGF0aW9uIHNwZWN0cm9zY29weS4gQnkgZGlyZWN0bHkgb2JzZXJ2aW5nIHRoZSBiZWhhdmlvciBvZiBzcGVjaWZpYyBtb2xlY3VsZXMgaW4gdGhlaXIgbmF0aXZlIGNlbGx1bGFyIGVudmlyb25tZW50LCBpdCBpcyBwb3NzaWJsZSB0byB1bmNvdmVyIGZ1bmN0aW9uYWwgZGV0YWlscyB0aGF0IGFyZSBub3QgYXBwYXJlbnQgZnJvbSB0cmFkaXRpb25hbCBiaW9jaGVtaWNhbCBpbnZlc3RpZ2F0aW9ucyBvciBmdW5jdGlvbmFsIGFzc2F5cy4gV2Ugc2hvdyB0aGF0IHRoZSBpbnRyYWNlbGx1bGFyIG1vYmlsaXR5IG9mIE5MUyBjYXJnb2VzIGFuZCB0aGVpciBpbXBvcnQgcmVjZXB0b3IgcHJvdGVpbnMsIGthcnlvcGhlcmluLVx1MDNCMSBhbmQga2FyeW9waGVyaW4tXHUwM0IyLCBjYW4gYmUgcm9idXN0bHkgbWVhc3VyZWQgYW5kIHRoYXQgcXVhbnRpdGF0aXZlIGNvbXBhcmlzb24gb2YgaW50cmFjZWxsdWxhciBkaWZmdXNpb24gY29lZmZpY2llbnRzIHByb3ZpZGVzIG5ldyBpbnNpZ2h0cyBpbnRvIG51Y2xlYXIgdHJhbnNwb3J0IG1lY2hhbmlzbXMuIEltcG9ydCBjYXJnbyBjb21wbGV4ZXMgYXJlIGFzc2VtYmxlZCB0aHJvdWdob3V0IHRoZSBjeXRvcGxhc20sIGFuZCB0aGVpciBkaWZmdXNpb24gaXMgc2xvd2VyIHRoYW4gcHJlZGljdGVkIGJ5IG1vbGVjdWxhciB3ZWlnaHQgZHVlIHRvIHNwZWNpZmljIGludGVyYWN0aW9ucy4gQW5hbHlzaXMgb2YgTkxTIGNhcmdvIGRpZmZ1c2lvbiBpbiB0aGUgY3l0b3BsYXNtIGluZGljYXRlcyB0aGF0IHRoZXNlIGludGVyYWN0aW9ucyBhcmUgbGlrZWx5IGRpc3J1cHRlZCBieSBOTFMgY2FyZ28gYmluZGluZy4gT3VyIHJlc3VsdHMgc3VnZ2VzdCB0aGF0IGRlbGl2ZXJ5IG9mIGltcG9ydCByZWNlcHRvcnMgYW5kIE5MUyBjYXJnb2VzIHRvIG51Y2xlYXIgcG9yZXMgbWF5IGNvbXBsZW1lbnQgc2VsZWN0aXZlIHRyYW5zbG9jYXRpb24gdGhyb3VnaCB0aGUgcG9yZXMgYXMgYSBmdW5jdGlvbmFsIG1lY2hhbmlzbSBmb3IgcmVndWxhdGluZyB0cmFuc3BvcnQgb2YgcHJvdGVpbnMgaW50byB0aGUgbnVjbGV1cy59XG4gIH1gLFxuICBgQGFydGljbGV7RGFuZ19MZWVfMTk4OCxcbiAgICB0aXRsZSAgICAgICAgPSB7SWRlbnRpZmljYXRpb24gb2YgdGhlIGh1bWFuIGMtbXljIHByb3RlaW4gbnVjbGVhciB0cmFuc2xvY2F0aW9uIHNpZ25hbH0sXG4gICAgYXV0aG9yICAgICAgID0ge0RhbmcsIEMuVi4gYW5kIExlZSwgVy5NLkYufSxcbiAgICB5ZWFyICAgICAgICAgPSAxOTg4LFxuICAgIGpvdXJuYWwgICAgICA9IHtNb2xlY3VsYXIgYW5kIENlbGx1bGFyIEJpb2xvZ3l9LFxuICAgIHZvbHVtZSAgICAgICA9IDgsXG4gICAgbnVtYmVyICAgICAgID0gMTAsXG4gICAgcGFnZXMgICAgICAgID0gezQwNDhcdTIwMTM0MDU0fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTEyOC9NQ0IuOC4xMC40MDQ4fVxuICB9YCxcbiAgYEBhcnRpY2xle1NwZW5jZXJfWmhhbmdfMjAxNyxcbiAgICB0aXRsZSAgICAgICAgPSB7RGVlcCBtdXRhdGlvbmFsIHNjYW5uaW5nIG9mIFMuIHB5b2dlbmVzIENhczkgcmV2ZWFscyBpbXBvcnRhbnQgZnVuY3Rpb25hbCBkb21haW5zfSxcbiAgICBhdXRob3IgICAgICAgPSB7U3BlbmNlciwgSi5NLiBhbmQgWmhhbmcsIFgufSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDE3LFxuICAgIGpvdXJuYWwgICAgICA9IHtTY2llbnRpZmljIFJlcG9ydHN9LFxuICAgIHZvbHVtZSAgICAgICA9IDcsXG4gICAgbnVtYmVyICAgICAgID0gMSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAzOC9zNDE1OTgtMDE3LTE3MDgxLXl9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtSTkEtZ3VpZGVkIGVuZG9udWNsZWFzZXMgKFJHRU5zKSBoYXZlIGludmlnb3JhdGVkIHRoZSBmaWVsZCBvZiBzaXRlLXNwZWNpZmljIG51Y2xlYXNlcy4gVGhlIHN1Y2Nlc3Mgb2YgU3RyZXB0b2NvY2N1cyBweW9nZW5lcyBDYXM5IChTcENhczkpIGhhcyBsZWQgdG8gdGhlIGRpc2NvdmVyeSBvZiBzZXZlcmFsIG90aGVyIENSSVNQUi1Bc3NvY2lhdGVkIFJHRU5zLiBBcyBtb3JlIFJHRU5zIGJlY29tZSBhdmFpbGFibGUsIGl0IHdpbGwgYmUgbmVjZXNzYXJ5IHRvIHJlZmluZSB0aGVpciBhY3Rpdml0eSBiZWZvcmUgdGhleSBjYW4gYmUgdHJhbnNsYXRlZCBpbnRvIHRoZSBjbGluaWMuIFdpdGggdGhpcyBpbiBtaW5kLCB3ZSBzb3VnaHQgdG8gZGVtb25zdHJhdGUgaG93IGRlZXAgbXV0YXRpb25hbCBzY2FubmluZyAoRE1TKSBjb3VsZCBwcm92aWRlIGRldGFpbHMgYWJvdXQgaW1wb3J0YW50IGZ1bmN0aW9uYWwgcmVnaW9ucyBpbiBTcENhczkgYW5kIHNwZWVkIGVuZ2luZWVyaW5nIGVmZm9ydHMuIENvbnNlcXVlbnRseSwgd2UgZGV2ZWxvcGVkIGEgbnVjbGVhc2Ugc2NyZWVuaW5nIHBsYXRmb3JtIHdoaWNoIGNvdWxkIGRpc3Rpbmd1aXNoIGFjdGl2ZSBDYXM5IG11dGFudHMuIFdlIHNjcmVlbmVkIGEgbGlicmFyeSBvZiAxLjkgXHUwMEQ3IDEwNyB3aXRoIG92ZXIgODUwMCBwb3NzaWJsZSBub24tc3lub255bW91cyBtdXRhdGlvbnMgYW5kIGluZmVycmVkIHRoZSBlZmZlY3RzIG9mIGVhY2ggbXV0YXRpb24gdXNpbmcgRE1TLiBXZSBkZW1vbnN0cmF0ZSB0aGF0IHRoZSBSdXZDIGFuZCBITkggZG9tYWlucyBhcmUgdGhlIGxlYXN0IHRvbGVyYW50IHJlZ2lvbnMgdG8gbXV0YXRpb24uIEluIGNvbnRyYXN0LCB0aGUgUmVjMiBhbmQgUEkgZG9tYWlucyB0b2xlcmF0ZSBtdXRhdGlvbiBiZXR0ZXIgdGhhbiBvdGhlciByZWdpb25zLiBUaGUgbXV0YXRpb24gaW5mb3JtYXRpb24gZGVmaW5lZCBpbiB0aGlzIHdvcmsgcHJvdmlkZXMgYSBmb3VuZGF0aW9uIGZvciBmdXJ0aGVyIFNwQ2FzOSBlbmdpbmVlcmluZy4gVG9nZXRoZXIsIG91ciByZXN1bHRzIGRlbW9uc3RyYXRlIGhvdyBETVMgY2FuIGJlIGEgcG93ZXJmdWwgdG9vbCB0byB1bmNvdmVyIGZlYXR1cmVzIGltcG9ydGFudCB0byBSR0VOIGZ1bmN0aW9uLiBBcHBsaWNhdGlvbiBvZiB0aGlzIGFwcHJvYWNoIHRvIGVtZXJnaW5nIFJHRU5zIHNob3VsZCBlbmhhbmNlIHRoZWlyIGVuZ2luZWVyaW5nIGFuZCBvcHRpbWl6YXRpb24gZm9yIHRoZXJhcGV1dGljIGFuZCBvdGhlciBhcHBsaWNhdGlvbnMuIFx1MDBBOSAyMDE3IFRoZSBBdXRob3IocykufVxuICB9YCxcbiAgYEBhcnRpY2xle0RvbWFuX1BhbmRleV9OZXVnZWJhdWVyX0FuX0RhdmlzX1JhbmRvbHBoX01jRWxyb3lfR2FvX1JhZ3VyYW1fUmljaHRlcl8yMDIzLFxuICAgIHRpdGxlICAgICAgICA9IHtQaGFnZS1hc3Npc3RlZCBldm9sdXRpb24gYW5kIHByb3RlaW4gZW5naW5lZXJpbmcgeWllbGQgY29tcGFjdCwgZWZmaWNpZW50IHByaW1lIGVkaXRvcnN9LFxuICAgIGF1dGhvciAgICAgICA9IHtEb21hbiwgSm9yZGFuIEwuIGFuZCBQYW5kZXksIFNtcml0aSBhbmQgTmV1Z2ViYXVlciwgTW9uaWNhIEUuIGFuZCBBbiwgTWVpcnVpIGFuZCBEYXZpcywgSmVzc2llIFIuIGFuZCBSYW5kb2xwaCwgUGV5dG9uIEIuIGFuZCBNY0Vscm95LCBBbWJlciBhbmQgR2FvLCBYaW4gRC4gYW5kIFJhZ3VyYW0sIEFkaXR5YSBhbmQgUmljaHRlciwgTWljaGVsbGUgRi4gYW5kIEV2ZXJldHRlLCBLZWxjZWUgQS4gYW5kIEJhbnNrb3RhLCBTYW1hZ3lhIGFuZCBUaWFuLCBLYXRocnluIGFuZCBUYW8sIFkuIEFsbGVuIGFuZCBUb2xhciwgSmFrdWIgYW5kIE9zYm9ybiwgTWFyayBKLiBhbmQgTGl1LCBEYXZpZCBSLn0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMyxcbiAgICBtb250aCAgICAgICAgPSBhdWcsXG4gICAgam91cm5hbCAgICAgID0ge0NlbGx9LFxuICAgIHB1Ymxpc2hlciAgICA9IHtFbHNldmllcn0sXG4gICAgdm9sdW1lICAgICAgID0gMTg2LFxuICAgIG51bWJlciAgICAgICA9IDE4LFxuICAgIHBhZ2VzICAgICAgICA9IHszOTgzLS00MDAyfSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAxNi9qLmNlbGwuMjAyMy4wNy4wMzl9LFxuICAgIGlzc24gICAgICAgICA9IHswMDkyLTg2NzQsIDEwOTctNDE3Mn0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge0VuZ2xpc2h9XG4gIH1gLFxuICBgQGFydGljbGV7U291c2FfSGVtZXpfTGVpX1RyYW9yZV9LdWxoYW5rb3ZhX05ld2J5X0RvbWFuX095ZV9QYW5kZXlfS2FycF8yMDI0LFxuICAgIHRpdGxlICAgICAgICA9IHtTeXN0ZW1hdGljIG9wdGltaXphdGlvbiBvZiBwcmltZSBlZGl0aW5nIGZvciB0aGUgZWZmaWNpZW50IGZ1bmN0aW9uYWwgY29ycmVjdGlvbiBvZiBDRlRSIEY1MDhkZWwgaW4gaHVtYW4gYWlyd2F5IGVwaXRoZWxpYWwgY2VsbHN9LFxuICAgIGF1dGhvciAgICAgICA9IHtTb3VzYSwgQWxleGFuZGVyIEEuIGFuZCBIZW1leiwgQ29saW4gYW5kIExlaSwgTGVpIGFuZCBUcmFvcmUsIFNvdW1iYSBhbmQgS3VsaGFua292YSwgS2F0YXJpbmEgYW5kIE5ld2J5LCBHcmVnb3J5IEEuIGFuZCBEb21hbiwgSm9yZGFuIEwuIGFuZCBPeWUsIEtleWVkZSBhbmQgUGFuZGV5LCBTbXJpdGkgYW5kIEthcnAsIFBoaWxpcCBILiBhbmQgTWNDcmF5LCBQYXVsIEIuIGFuZCBMaXUsIERhdmlkIFIufSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDI0LFxuICAgIG1vbnRoICAgICAgICA9IGp1bCxcbiAgICBqb3VybmFsICAgICAgPSB7TmF0dXJlIEJpb21lZGljYWwgRW5naW5lZXJpbmd9LFxuICAgIHB1Ymxpc2hlciAgICA9IHtOYXR1cmUgUHVibGlzaGluZyBHcm91cH0sXG4gICAgcGFnZXMgICAgICAgID0gezFcdTIwMTMxNX0sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwMzgvczQxNTUxLTAyNC0wMTIzMy0zfSxcbiAgICBpc3NuICAgICAgICAgPSB7MjE1Ny04NDZYfSxcbiAgICByaWdodHMgICAgICAgPSB7MjAyNCBUaGUgQXV0aG9yKHMpfSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7UHJpbWUgZWRpdGluZyAoUEUpIGVuYWJsZXMgcHJlY2lzZSBhbmQgdmVyc2F0aWxlIGdlbm9tZSBlZGl0aW5nIHdpdGhvdXQgcmVxdWlyaW5nIGRvdWJsZS1zdHJhbmRlZCBETkEgYnJlYWtzLiBIZXJlIHdlIGRlc2NyaWJlIHRoZSBzeXN0ZW1hdGljIG9wdGltaXphdGlvbiBvZiBQRSBzeXN0ZW1zIHRvIGVmZmljaWVudGx5IGNvcnJlY3QgaHVtYW4gY3lzdGljIGZpYnJvc2lzIChDRikgdHJhbnNtZW1icmFuZSBjb25kdWN0YW5jZSByZWd1bGF0b3IgKENGVFIpIEY1MDhkZWwsIGEgdGhyZWUtbnVjbGVvdGlkZSBkZWxldGlvbiB0aGF0IGlzIHRoZSBwcmVkb21pbmFudCBjYXVzZSBvZiBDRi4gQnkgY29tYmluaW5nIHNpeCBlZmZpY2llbmN5IG9wdGltaXphdGlvbnMgZm9yIFBFXHUyMDE0ZW5naW5lZXJlZCBQRSBndWlkZSBSTkFzLCB0aGUgUEVtYXggYXJjaGl0ZWN0dXJlLCB0aGUgdHJhbnNpZW50IGV4cHJlc3Npb24gb2YgYSBkb21pbmFudC1uZWdhdGl2ZSBtaXNtYXRjaCByZXBhaXIgcHJvdGVpbiwgc3RyYXRlZ2ljIHNpbGVudCBlZGl0cywgUEU2IHZhcmlhbnRzIGFuZCBwcm94aW1hbCBcdTIwMThkZWFkXHUyMDE5IHNpbmdsZS1ndWlkZSBSTkFzXHUyMDE0d2UgaW5jcmVhc2VkIGNvcnJlY3Rpb24gZWZmaWNpZW5jaWVzIGZvciBDRlRSIEY1MDhkZWwgZnJvbSBsZXNzIHRoYW4gMC41JSBpbiBIRUsyOTNUIGNlbGxzIHRvIDU4JSBpbiBpbW1vcnRhbGl6ZWQgYnJvbmNoaWFsIGVwaXRoZWxpYWwgY2VsbHMgKGEgMTQwLWZvbGQgaW1wcm92ZW1lbnQpIGFuZCB0byAyNSUgaW4gcGF0aWVudC1kZXJpdmVkIGFpcndheSBlcGl0aGVsaWFsIGNlbGxzLiBUaGUgb3B0aW1pemF0aW9ucyBhbHNvIHJlc3VsdGVkIGluIG1pbmltYWwgb2ZmLXRhcmdldCBlZGl0aW5nLCBpbiBlZGl0LXRvLWluZGVsIHJhdGlvcyAzLjUtZm9sZCBncmVhdGVyIHRoYW4gdGhvc2UgYWNoaWV2ZWQgYnkgbnVjbGVhc2UtbWVkaWF0ZWQgaG9tb2xvZ3ktZGlyZWN0ZWQgcmVwYWlyLCBhbmQgaW4gdGhlIGZ1bmN0aW9uYWwgcmVzdG9yYXRpb24gb2YgQ0ZUUiBpb24gY2hhbm5lbHMgdG8gb3ZlciA1MCUgb2Ygd2lsZC10eXBlIGxldmVscyAoc2ltaWxhciB0byB0aG9zZSBhY2hpZXZlZCB2aWEgY29tYmluYXRpb24gdHJlYXRtZW50IHdpdGggZWxleGFjYWZ0b3IsIHRlemFjYWZ0b3IgYW5kIGl2YWNhZnRvcikgaW4gcHJpbWFyeSBhaXJ3YXkgY2VsbHMuIE91ciBmaW5kaW5ncyBzdXBwb3J0IHRoZSBmZWFzaWJpbGl0eSBvZiBhIGR1cmFibGUgb25lLXRpbWUgdHJlYXRtZW50IGZvciBDRi59LFxuICAgIGxhbmd1YWdlICAgICA9IHtlbn1cbiAgfWAsXG4gIGBAYXJ0aWNsZXtZYW5fT3lsZXItQ2FzdHJpbGxvX1JhdmlzYW5rYXJfV2FyZF9MZXZlc3F1ZV9KaW5nX1NpbXBzb25fWmhhb19MaV9ZYW5fMjAyNCxcbiAgICB0aXRsZSAgICAgICAgPSB7SW1wcm92aW5nIHByaW1lIGVkaXRpbmcgd2l0aCBhbiBlbmRvZ2Vub3VzIHNtYWxsIFJOQS1iaW5kaW5nIHByb3RlaW59LFxuICAgIGF1dGhvciAgICAgICA9IHtZYW4sIEp1biBhbmQgT3lsZXItQ2FzdHJpbGxvLCBQYXVsIGFuZCBSYXZpc2Fua2FyLCBQdXJuaW1hIGFuZCBXYXJkLCBDYXJsIEMuIGFuZCBMZXZlc3F1ZSwgU1x1MDBFOWJhc3RpZW4gYW5kIEppbmcsIFlhbmd3b2RlIGFuZCBTaW1wc29uLCBEYW5ueSBhbmQgWmhhbywgQW5xaSBhbmQgTGksIEh1aSBhbmQgWWFuLCBXZWloYW8gYW5kIEdvdWR5LCBMYWluZSBhbmQgU2NobWlkdCwgUmFsZiBhbmQgU29sbGV5LCBTYWJyaW5hIEMuIGFuZCBHaWxiZXJ0LCBMdWtlIEEuIGFuZCBDaGFuLCBNaWNoZWxsZSBNLiBhbmQgQmF1ZXIsIERhbmllbCBFLiBhbmQgTWFyc29uLCBBbGV4YW5kZXIgYW5kIFBhcnNvbnMsIExhbmNlIFIuIGFuZCBBZGFtc29uLCBCcml0dH0sXG4gICAgeWVhciAgICAgICAgID0gMjAyNCxcbiAgICBtb250aCAgICAgICAgPSBhcHIsXG4gICAgam91cm5hbCAgICAgID0ge05hdHVyZX0sXG4gICAgdm9sdW1lICAgICAgID0gNjI4LFxuICAgIG51bWJlciAgICAgICA9IDgwMDgsXG4gICAgcGFnZXMgICAgICAgID0gezYzOVx1MjAxMzY0N30sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwMzgvczQxNTg2LTAyNC0wNzI1OS02fSxcbiAgICBpc3NuICAgICAgICAgPSB7MDAyOC0wODM2LCAxNDc2LTQ2ODd9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtBYnN0cmFjdCAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpbWUgZWRpdGluZyBlbmFibGVzIHRoZSBwcmVjaXNlIG1vZGlmaWNhdGlvbiBvZiBnZW5vbWVzIHRocm91Z2ggcmV2ZXJzZSB0cmFuc2NyaXB0aW9uIG9mIHRlbXBsYXRlIHNlcXVlbmNlcyBhcHBlbmRlZCB0byB0aGUgM1x1MjAzMiBlbmRzIG9mIENSSVNQUlx1MjAxM0NhcyBndWlkZSBSTkFzICAgICAgICAgICAgICAxICAgICAgICAgICAgICAuIFRvIGlkZW50aWZ5IGNlbGx1bGFyIGRldGVybWluYW50cyBvZiBwcmltZSBlZGl0aW5nLCB3ZSBkZXZlbG9wZWQgc2NhbGFibGUgcHJpbWUgZWRpdGluZyByZXBvcnRlcnMgYW5kIHBlcmZvcm1lZCBnZW5vbWUtc2NhbGUgQ1JJU1BSLWludGVyZmVyZW5jZSBzY3JlZW5zLiBGcm9tIHRoZXNlIHNjcmVlbnMsIGEgc2luZ2xlIGZhY3RvciBlbWVyZ2VkIGFzIHRoZSBzdHJvbmdlc3QgbWVkaWF0b3Igb2YgcHJpbWUgZWRpdGluZzogdGhlIHNtYWxsIFJOQS1iaW5kaW5nIGV4b251Y2xlYXNlIHByb3RlY3Rpb24gZmFjdG9yIExhLiBGdXJ0aGVyIGludmVzdGlnYXRpb24gcmV2ZWFsZWQgdGhhdCBMYSBwcm9tb3RlcyBwcmltZSBlZGl0aW5nIGFjcm9zcyBhcHByb2FjaGVzIChQRTIsIFBFMywgUEU0IGFuZCBQRTUpLCBlZGl0IHR5cGVzIChzdWJzdGl0dXRpb25zLCBpbnNlcnRpb25zIGFuZCBkZWxldGlvbnMpLCBlbmRvZ2Vub3VzIGxvY2kgYW5kIGNlbGwgdHlwZXMgYnV0IGhhcyBubyBjb25zaXN0ZW50IGVmZmVjdCBvbiBnZW5vbWUtZWRpdGluZyBhcHByb2FjaGVzIHRoYXQgcmVseSBvbiBzdGFuZGFyZCwgdW5leHRlbmRlZCBndWlkZSBSTkFzLiBQcmV2aW91cyB3b3JrIGhhcyBzaG93biB0aGF0IExhIGJpbmRzIHBvbHl1cmlkaW5lIHRyYWN0cyBhdCB0aGUgM1x1MjAzMiBlbmRzIG9mIFJOQSBwb2x5bWVyYXNlXHUyMDA5SUlJIHRyYW5zY3JpcHRzICAgICAgICAgICAgICAyICAgICAgICAgICAgICAuIFdlIGZvdW5kIHRoYXQgTGEgZnVuY3Rpb25hbGx5IGludGVyYWN0cyB3aXRoIHRoZSAzXHUyMDMyIGVuZHMgb2YgcG9seXVyaWR5bGF0ZWQgcHJpbWUgZWRpdGluZyBndWlkZSBSTkFzIChwZWdSTkFzKS4gR3VpZGVkIGJ5IHRoZXNlIHJlc3VsdHMsIHdlIGRldmVsb3BlZCBhIHByaW1lIGVkaXRvciBwcm90ZWluIChQRTcpIGZ1c2VkIHRvIHRoZSBSTkEtYmluZGluZywgTi10ZXJtaW5hbCBkb21haW4gb2YgTGEuIFRoaXMgZWRpdG9yIGltcHJvdmVkIHByaW1lIGVkaXRpbmcgd2l0aCBleHByZXNzZWQgcGVnUk5BcyBhbmQgZW5naW5lZXJlZCBwZWdSTkFzIChlcGVnUk5BcyksIGFzIHdlbGwgYXMgd2l0aCBzeW50aGV0aWMgcGVnUk5BcyBvcHRpbWl6ZWQgZm9yIExhIGJpbmRpbmcuIFRvZ2V0aGVyLCBvdXIgcmVzdWx0cyBwcm92aWRlIGtleSBpbnNpZ2h0cyBpbnRvIGhvdyBwcmltZSBlZGl0aW5nIGNvbXBvbmVudHMgaW50ZXJhY3Qgd2l0aCB0aGUgY2VsbHVsYXIgZW52aXJvbm1lbnQgYW5kIHN1Z2dlc3QgZ2VuZXJhbCBzdHJhdGVnaWVzIGZvciBzdGFiaWxpemluZyBleG9nZW5vdXMgc21hbGwgUk5BcyB0aGVyZWluLn0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9YCxcbiAgYEBhcnRpY2xle1NpbW9uLFxuICAgIHRpdGxlICAgICAgICA9IHtQRUFSLCBhIGZsZXhpYmxlIGZsdW9yZXNjZW50IHJlcG9ydGVyIGZvciB0aGUgaWRlbnRpZmljYXRpb24gYW5kIGVucmljaG1lbnQgb2Ygc3VjY2Vzc2Z1bGx5IHByaW1lIGVkaXRlZCBjZWxsc30sXG4gICAgYXV0aG9yICAgICAgID0ge1NpbW9uLCBEb3JvdHR5YSBBbm5hIGFuZCBUXHUwMEUxbGFzLCBBbmRyXHUwMEUxcyBhbmQgS3VsY3NcdTAwRTFyLCBQXHUwMEU5dGVyIElzdHZcdTAwRTFuIGFuZCBCaWN6XHUwMEYzaywgWnN1enNhbm5hIGFuZCBLcmF1c3osIFNhcmFoIExhdXJhIGFuZCBWXHUwMEUxcmFkeSwgR3lcdTAwRjZyZ3kgYW5kIFdlbGtlciwgRXJ2aW59LFxuICAgIHllYXIgICAgICAgICA9IDIwMjIsXG4gICAgbW9udGggICAgICAgID0gZmViLFxuICAgIGpvdXJuYWwgICAgICA9IHtlTGlmZX0sXG4gICAgcHVibGlzaGVyICAgID0ge2VMaWZlIFNjaWVuY2VzIFB1YmxpY2F0aW9ucywgTHRkfSxcbiAgICB2b2x1bWUgICAgICAgPSAxMSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuNzU1NC9lTGlmZS42OTUwNH0sXG4gICAgaXNzbiAgICAgICAgID0gezIwNTAtMDg0WH0sXG4gICAgYWJzdHJhY3Rub3RlID0ge1ByaW1lIGVkaXRpbmcgaXMgYSByZWNlbnRseSBkZXZlbG9wZWQgQ1JJU1BSL0NhczkgYmFzZWQgZ2VuZSBlbmdpbmVlcmluZyB0b29sIHRoYXQgYWxsb3dzIHRoZSBpbnRyb2R1Y3Rpb24gb2Ygc2hvcnQgaW5zZXJ0aW9ucywgZGVsZXRpb25zLCBhbmQgc3Vic3RpdHV0aW9ucyBpbnRvIHRoZSBnZW5vbWUuIEhvd2V2ZXIsIHRoZSBlZmZpY2llbmN5IG9mIHByaW1lIGVkaXRpbmcsIHdoaWNoIHR5cGljYWxseSBhY2hpZXZlcyBlZGl0aW5nIHJhdGVzIG9mIGFyb3VuZCAxMCVcdTIwMTMzMCUsIGhhcyBub3QgbWF0Y2hlZCBpdHMgdmVyc2F0aWxpdHkuIEhlcmUsIHdlIGludHJvZHVjZSB0aGUgcHJpbWUgZWRpdG9yIGFjdGl2aXR5IHJlcG9ydGVyIChQRUFSKSwgYSBzZW5zaXRpdmUgZmx1b3Jlc2NlbnQgdG9vbCBmb3IgaWRlbnRpZnlpbmcgc2luZ2xlIGNlbGxzIHdpdGggcHJpbWUgZWRpdGluZyBhY3Rpdml0eS4gUEVBUiBoYXMgbm8gYmFja2dyb3VuZCBmbHVvcmVzY2VuY2UgYW5kIHNwZWNpZmljYWxseSBpbmRpY2F0ZXMgcHJpbWUgZWRpdGluZyBldmVudHMuIEl0cyBkZXNpZ24gcHJvdmlkZXMgYXBwYXJlbnRseSB1bmxpbWl0ZWQgZmxleGliaWxpdHkgZm9yIHNlcXVlbmNlIHZhcmlhdGlvbiBhbG9uZyB0aGUgZW50aXJlIGxlbmd0aCBvZiB0aGUgc3BhY2VyIHNlcXVlbmNlLCBtYWtpbmcgaXQgdW5pcXVlbHkgc3VpdGVkIGZvciBzeXN0ZW1hdGljIGludmVzdGlnYXRpb24gb2Ygc2VxdWVuY2UgZmVhdHVyZXMgdGhhdCBpbmZsdWVuY2UgcHJpbWUgZWRpdGluZyBhY3Rpdml0eS4gVGhlIHVzZSBvZiBQRUFSIGFzIGFuIGVucmljaG1lbnQgbWFya2VyIGZvciBwcmltZSBlZGl0aW5nIGNhbiBpbmNyZWFzZSB0aGUgZWRpdGVkIHBvcHVsYXRpb24gYnkgdXAgdG8gODQlLCB0aHVzIHNpZ25pZmljYW50bHkgaW1wcm92aW5nIHRoZSBhcHBsaWNhYmlsaXR5IG9mIHByaW1lIGVkaXRpbmcgZm9yIGJhc2ljIHJlc2VhcmNoIGFuZCBiaW90ZWNobm9sb2dpY2FsIGFwcGxpY2F0aW9ucy59LFxuICAgIGVkaXRvciAgICAgICA9IHtMYXBpbmFpdGUsIEF1ZHJvbmUgYW5kIFN0YWluaWVyLCBEaWRpZXIgWVIgYW5kIEhhbWlsdG9uLCBKZW5uaWZlciBSfVxuICB9YFxuXSIsICJpbXBvcnQgQmlidGV4UGFyc2VyIGZyb20gXCIuLi9jb21wb25lbnRzL21ha2VTb3VyY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEVuZ1BlZ3NvdXJjZXMoKXtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCaWJ0ZXhQYXJzZXIgYmlidGV4U291cmNlcz17YmlidGV4U291cmNlc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xufVxuXG5cbmNvbnN0IGJpYnRleFNvdXJjZXMgPSBbXG5gXG4gIEBhcnRpY2xle0Nob3dfQ2hlbl9TaGVuX0NoZW5fMjAyMSxcbiAgICB0aXRsZSAgICAgICAgPSB7QSB3ZWIgdG9vbCBmb3IgdGhlIGRlc2lnbiBvZiBwcmltZS1lZGl0aW5nIGd1aWRlIFJOQXN9LFxuICAgIGF1dGhvciAgICAgICA9IHtDaG93LCBSeWFuIEQuIGFuZCBDaGVuLCBKZW5uaWZlciBTLiBhbmQgU2hlbiwgSm9oYW5uYSBhbmQgQ2hlbiwgU2lkaX0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMSxcbiAgICBtb250aCAgICAgICAgPSBmZWIsXG4gICAgam91cm5hbCAgICAgID0ge05hdHVyZSBCaW9tZWRpY2FsIEVuZ2luZWVyaW5nfSxcbiAgICBwdWJsaXNoZXIgICAgPSB7TmF0dXJlIFB1Ymxpc2hpbmcgR3JvdXB9LFxuICAgIHZvbHVtZSAgICAgICA9IDUsXG4gICAgbnVtYmVyICAgICAgID0gMixcbiAgICBwYWdlcyAgICAgICAgPSB7MTkwXHUyMDEzMTk0fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAzOC9zNDE1NTEtMDIwLTAwNjIyLTh9LFxuICAgIGlzc24gICAgICAgICA9IHsyMTU3LTg0Nlh9LFxuICAgIHJpZ2h0cyAgICAgICA9IHsyMDIwIFRoZSBBdXRob3IocyksIHVuZGVyIGV4Y2x1c2l2ZSBsaWNlbmNlIHRvIFNwcmluZ2VyIE5hdHVyZSBMaW1pdGVkfSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7UHJpbWUgZWRpdGluZyBlbmFibGVzIGRpdmVyc2UgZ2Vub21pYyBhbHRlcmF0aW9ucyB0byBiZSB3cml0dGVuIGludG8gdGFyZ2V0IHNpdGVzIHdpdGhvdXQgcmVxdWlyaW5nIGRvdWJsZS1zdHJhbmQgYnJlYWtzIG9yIGRvbm9yIHRlbXBsYXRlcy4gVGhlIGRlc2lnbiBvZiBwcmltZS1lZGl0aW5nIGd1aWRlIFJOQXMgKHBlZ1JOQXMpLCB3aGljaCBtdXN0IGJlIGN1c3RvbWl6ZWQgZm9yIGVhY2ggZWRpdCwgY2FuIGhvd2V2ZXIgYmUgY29tcGxleCBhbmQgdGltZSBjb25zdW1pbmcuIENvbXBhcmVkIHdpdGggc2luZ2xlIGd1aWRlIFJOQXMgKHNnUk5BcyksIHBlZ1JOQXMgaGF2ZSBhbiBhZGRpdGlvbmFsIDNcdTIwMzIgZXh0ZW5zaW9uIGNvbXBvc2VkIG9mIGEgcHJpbWVyIGJpbmRpbmcgc2l0ZSBhbmQgYSByZXZlcnNlLXRyYW5zY3JpcHRpb24gdGVtcGxhdGUuIEhlcmUgd2UgcmVwb3J0IGEgd2ViIHRvb2wsIHdoaWNoIHdlIG5hbWVkIHBlZ0ZpbmRlciAoaHR0cDovL3BlZ2ZpbmRlci5zaWRpY2hlbmxhYi5vcmcpLCBmb3IgdGhlIHJhcGlkIGRlc2lnbiBvZiBwZWdSTkFzIGZyb20gcmVmZXJlbmNlIGFuZCBlZGl0ZWQgRE5BIHNlcXVlbmNlcy4gcGVnRmluZGVyIGNhbiBpbmNvcnBvcmF0ZSBzZ1JOQSBvbi10YXJnZXQgYW5kIG9mZi10YXJnZXQgc2NvcmluZyBwcmVkaWN0aW9ucyBpbnRvIGl0cyByYW5raW5nIHN5c3RlbSwgYW5kIG5vbWluYXRlcyBzZWNvbmRhcnkgbmlja2luZyBzZ1JOQXMgZm9yIGluY3JlYXNpbmcgZWRpdGluZyBlZmZpY2llbmN5LiBDUklTUFItYXNzb2NpYXRlZCBwcm90ZWluIDkgdmFyaWFudHMgd2l0aCBleHBhbmRlZCB0YXJnZXRpbmcgcmFuZ2VzIGFyZSBhbHNvIHN1cHBvcnRlZC4gVG8gZmFjaWxpdGF0ZSBkb3duc3RyZWFtIGV4cGVyaW1lbnRhdGlvbiwgcGVnRmluZGVyIHByb2R1Y2VzIGEgY29tcHJlaGVuc2l2ZSB0YWJsZSBvZiBjYW5kaWRhdGUgcGVnUk5BcywgYWxvbmcgd2l0aCBvbGlnb251Y2xlb3RpZGUgc2VxdWVuY2VzIGZvciBjbG9uaW5nLn0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9XG5gLGBcbiAgQGFydGljbGV7QW56YWxvbmVfUmFuZG9scGhfRGF2aXNfU291c2FfS29ibGFuX0xldnlfQ2hlbl9XaWxzb25fTmV3YnlfUmFndXJhbV8yMDE5LFxuICAgIHRpdGxlICAgICAgICA9IHtTZWFyY2gtYW5kLXJlcGxhY2UgZ2Vub21lIGVkaXRpbmcgd2l0aG91dCBkb3VibGUtc3RyYW5kIGJyZWFrcyBvciBkb25vciBETkF9LFxuICAgIGF1dGhvciAgICAgICA9IHtBbnphbG9uZSwgQW5kcmV3IFYuIGFuZCBSYW5kb2xwaCwgUGV5dG9uIEIuIGFuZCBEYXZpcywgSmVzc2llIFIuIGFuZCBTb3VzYSwgQWxleGFuZGVyIEEuIGFuZCBLb2JsYW4sIEx1a2UgVy4gYW5kIExldnksIEpvbmF0aGFuIE0uIGFuZCBDaGVuLCBQZXRlciBKLiBhbmQgV2lsc29uLCBDaHJpc3RvcGhlciBhbmQgTmV3YnksIEdyZWdvcnkgQS4gYW5kIFJhZ3VyYW0sIEFkaXR5YSBhbmQgTGl1LCBEYXZpZCBSLn0sXG4gICAgeWVhciAgICAgICAgID0gMjAxOSxcbiAgICBtb250aCAgICAgICAgPSBkZWMsXG4gICAgam91cm5hbCAgICAgID0ge05hdHVyZX0sXG4gICAgcHVibGlzaGVyICAgID0ge05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSxcbiAgICB2b2x1bWUgICAgICAgPSA1NzYsXG4gICAgbnVtYmVyICAgICAgID0gNzc4NSxcbiAgICBwYWdlcyAgICAgICAgPSB7MTQ5XHUyMDEzMTU3fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAzOC9zNDE1ODYtMDE5LTE3MTEtNH0sXG4gICAgaXNzbiAgICAgICAgID0gezE0NzYtNDY4N30sXG4gICAgcmlnaHRzICAgICAgID0gezIwMTkgVGhlIEF1dGhvcihzKSwgdW5kZXIgZXhjbHVzaXZlIGxpY2VuY2UgdG8gU3ByaW5nZXIgTmF0dXJlIExpbWl0ZWR9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtNb3N0IGdlbmV0aWMgdmFyaWFudHMgdGhhdCBjb250cmlidXRlIHRvIGRpc2Vhc2UxIGFyZSBjaGFsbGVuZ2luZyB0byBjb3JyZWN0IGVmZmljaWVudGx5IGFuZCB3aXRob3V0IGV4Y2VzcyBieXByb2R1Y3RzMlx1MjAxMzUuIEhlcmUgd2UgZGVzY3JpYmUgcHJpbWUgZWRpdGluZywgYSB2ZXJzYXRpbGUgYW5kIHByZWNpc2UgZ2Vub21lIGVkaXRpbmcgbWV0aG9kIHRoYXQgZGlyZWN0bHkgd3JpdGVzIG5ldyBnZW5ldGljIGluZm9ybWF0aW9uIGludG8gYSBzcGVjaWZpZWQgRE5BIHNpdGUgdXNpbmcgYSBjYXRhbHl0aWNhbGx5IGltcGFpcmVkIENhczkgZW5kb251Y2xlYXNlIGZ1c2VkIHRvIGFuIGVuZ2luZWVyZWQgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlLCBwcm9ncmFtbWVkIHdpdGggYSBwcmltZSBlZGl0aW5nIGd1aWRlIFJOQSAocGVnUk5BKSB0aGF0IGJvdGggc3BlY2lmaWVzIHRoZSB0YXJnZXQgc2l0ZSBhbmQgZW5jb2RlcyB0aGUgZGVzaXJlZCBlZGl0LiBXZSBwZXJmb3JtZWQgbW9yZSB0aGFuIDE3NSBlZGl0cyBpbiBodW1hbiBjZWxscywgaW5jbHVkaW5nIHRhcmdldGVkIGluc2VydGlvbnMsIGRlbGV0aW9ucywgYW5kIGFsbCAxMiB0eXBlcyBvZiBwb2ludCBtdXRhdGlvbiwgd2l0aG91dCByZXF1aXJpbmcgZG91YmxlLXN0cmFuZCBicmVha3Mgb3IgZG9ub3IgRE5BIHRlbXBsYXRlcy4gV2UgdXNlZCBwcmltZSBlZGl0aW5nIGluIGh1bWFuIGNlbGxzIHRvIGNvcnJlY3QsIGVmZmljaWVudGx5IGFuZCB3aXRoIGZldyBieXByb2R1Y3RzLCB0aGUgcHJpbWFyeSBnZW5ldGljIGNhdXNlcyBvZiBzaWNrbGUgY2VsbCBkaXNlYXNlIChyZXF1aXJpbmcgYSB0cmFuc3ZlcnNpb24gaW4gSEJCKSBhbmQgVGF5XHUyMDEzU2FjaHMgZGlzZWFzZSAocmVxdWlyaW5nIGEgZGVsZXRpb24gaW4gSEVYQSk7IHRvIGluc3RhbGwgYSBwcm90ZWN0aXZlIHRyYW5zdmVyc2lvbiBpbiBQUk5QOyBhbmQgdG8gaW5zZXJ0IHZhcmlvdXMgdGFncyBhbmQgZXBpdG9wZXMgcHJlY2lzZWx5IGludG8gdGFyZ2V0IGxvY2kuIEZvdXIgaHVtYW4gY2VsbCBsaW5lcyBhbmQgcHJpbWFyeSBwb3N0LW1pdG90aWMgbW91c2UgY29ydGljYWwgbmV1cm9ucyBzdXBwb3J0IHByaW1lIGVkaXRpbmcgd2l0aCB2YXJ5aW5nIGVmZmljaWVuY2llcy4gUHJpbWUgZWRpdGluZyBzaG93cyBoaWdoZXIgb3Igc2ltaWxhciBlZmZpY2llbmN5IGFuZCBmZXdlciBieXByb2R1Y3RzIHRoYW4gaG9tb2xvZ3ktZGlyZWN0ZWQgcmVwYWlyLCBoYXMgY29tcGxlbWVudGFyeSBzdHJlbmd0aHMgYW5kIHdlYWtuZXNzZXMgY29tcGFyZWQgdG8gYmFzZSBlZGl0aW5nLCBhbmQgaW5kdWNlcyBtdWNoIGxvd2VyIG9mZi10YXJnZXQgZWRpdGluZyB0aGFuIENhczkgbnVjbGVhc2UgYXQga25vd24gQ2FzOSBvZmYtdGFyZ2V0IHNpdGVzLiBQcmltZSBlZGl0aW5nIHN1YnN0YW50aWFsbHkgZXhwYW5kcyB0aGUgc2NvcGUgYW5kIGNhcGFiaWxpdGllcyBvZiBnZW5vbWUgZWRpdGluZywgYW5kIGluIHByaW5jaXBsZSBjb3VsZCBjb3JyZWN0IHVwIHRvIDg5JSBvZiBrbm93biBnZW5ldGljIHZhcmlhbnRzIGFzc29jaWF0ZWQgd2l0aCBodW1hbiBkaXNlYXNlcy59LFxuICAgIGxhbmd1YWdlICAgICA9IHtlbn1cbiAgfVxuYCxgXG5AbWlzY3tEb21hbjIwMjQsXG5cdHRpdGxlICAgICAgICA9IHtQcmltZSBFZGl0aW5nIFdlYmluYXJ9LFxuXHRhdXRob3IgICAgICAgPSB7Sm9yZGFuIERvbWFufSxcblx0eWVhciAgICAgICAgID0gMjAyNCxcblx0dXJsICAgICAgICAgID0ge2h0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9MFpfenR2a3ZLVUF9LFxuXHRub3RlICAgICAgICAgPSB7QWNjZXNzZWQ6IE1heSAyMDI0fSxcblx0aG93cHVibGlzaGVkID0ge1lvdVR1YmV9XG59XG5gLGBcbiAgQGFydGljbGV7R2FsaWV0dGFfSGFnZ2llX1ZlcmttYW5fMjAwMSxcbiAgICB0aXRsZSAgICAgICAgPSB7R3JlZW4gZmx1b3Jlc2NlbnQgcHJvdGVpbi1iYXNlZCBoYWxpZGUgaW5kaWNhdG9ycyB3aXRoIGltcHJvdmVkIGNobG9yaWRlIGFuZCBpb2RpZGUgYWZmaW5pdGllc30sXG4gICAgYXV0aG9yICAgICAgID0ge0dhbGlldHRhLCBMdWlzIEouViBhbmQgSGFnZ2llLCBQZXRlciBNIGFuZCBWZXJrbWFuLCBBLnN9LFxuICAgIHllYXIgICAgICAgICA9IDIwMDEsXG4gICAgam91cm5hbCAgICAgID0ge0ZFQlMgTGV0dGVyc30sXG4gICAgdm9sdW1lICAgICAgID0gNDk5LFxuICAgIG51bWJlciAgICAgICA9IDMsXG4gICAgcGFnZXMgICAgICAgID0gezIyMFx1MjAxMzIyNH0sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwMTYvUzAwMTQtNTc5MygwMSkwMjU2MS0zfSxcbiAgICBpc3NuICAgICAgICAgPSB7MTg3My0zNDY4fSxcbiAgICByaWdodHMgICAgICAgPSB7RkVCUyBMZXR0ZXJzIDQ5OSAoMjAwMSkgMTg3My0zNDY4IFx1MDBBOSAyMDE1IEZlZGVyYXRpb24gb2YgRXVyb3BlYW4gQmlvY2hlbWljYWwgU29jaWV0aWVzfSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7VGhlIGdyZWVuIGZsdW9yZXNjZW50IHByb3RlaW4gWUZQLUgxNDhRIGlzIHNlbnNpdGl2ZSB0byBoYWxpZGVzIGJ5IGEgbWVjaGFuaXNtIGludm9sdmluZyBoYWxpZGUgYmluZGluZyBhbmQgYSBzaGlmdCBpbiBwSyBhLiBIb3dldmVyLCBhIGxpbWl0YXRpb24gb2YgWUZQLUgxNDhRIGlzIGl0cyBsb3cgaGFsaWRlIHNlbnNpdGl2aXR5LCB3aXRoIEsgZD4xMDAgbU0gZm9yIENsXHUyMjEyLiBJbmRpY2F0b3JzIHdpdGggaW1wcm92ZWQgc2Vuc2l0aXZpdGllcyBhcmUgbmVlZGVkIGZvciBjZWxsIHRyYW5zcG9ydCBzdHVkaWVzLCBwYXJ0aWN1bGFybHkgaW4gZHJ1ZyBkaXNjb3ZlcnkgYnkgaGlnaC10aHJvdWdocHV0IHNjcmVlbmluZywgYW5kIGZvciBtZWFzdXJlbWVudCBvZiBDbFx1MjIxMiBjb25jZW50cmF0aW9uIGluIHN1YmNlbGx1bGFyIG9yZ2FuZWxsZXMuIFlGUC1IMTQ4USBsaWJyYXJpZXMgd2VyZSBnZW5lcmF0ZWQgaW4gd2hpY2ggcGFpcnMgb2YgcmVzaWR1ZXMgaW4gdGhlIHZpY2luaXR5IG9mIHRoZSBoYWxpZGUgYmluZGluZyBzaXRlIHdlcmUgcmFuZG9tbHkgbXV0YXRlZC4gQW4gYXV0b21hdGVkIHByb2NlZHVyZSB3YXMgZGV2ZWxvcGVkIHRvIHNjcmVlbiBiYWN0ZXJpYWwgY29sb25pZXMgZm9yIGltcHJvdmVkIGhhbGlkZSBzZW5zaXRpdml0eS4gQW5hbHlzaXMgb2YgMTUzNiBjbG9uZXMgcmV2ZWFsZWQgaW1wcm92ZWQgYW5pb24gc2Vuc2l0aXZpdGllcyB3aXRoIEsgZCBkb3duIHRvIDIgbU0gZm9yIElcdTIyMTIgKEkxNTJMKSwgNDAgbU0gZm9yIENsXHUyMjEyIChWMTYzUyksIGFuZCAxMCBtTSBmb3IgTk8zIFx1MjIxMiAoSTE1MkwpLiBUaGUgYW5pb24tc2Vuc2l0aXZlIG1lY2hhbmlzbSBvZiB0aGVzZSBpbmRpY2F0b3JzIHdhcyBlc3RhYmxpc2hlZCBhbmQgdGhlaXIgdXRpbGl0eSBpbiBjZWxscyB3YXMgZGVtb25zdHJhdGVkIHVzaW5nIHRyYW5zZmVjdGVkIGNlbGxzIGV4cHJlc3NpbmcgdGhlIGN5c3RpYyBmaWJyb3NpcyB0cmFuc21lbWJyYW5lIGNvbmR1Y3RhbmNlIHJlZ3VsYXRvciBjaGxvcmlkZSBjaGFubmVsLn0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9XG5gLGBcbiAgQGFydGljbGV7QnVsY2Flbl9Lb3J0bGV2ZW5fTGl1X01hdWxlX0RyZWFub19LZWxseV9FbnNpbmNrX1RoaWVyaWVfU21pdHNfQ2ljaWFuaV8yMDI0LFxuICAgIHRpdGxlICAgICAgICA9IHtQcmltZSBlZGl0aW5nIGZ1bmN0aW9uYWxseSBjb3JyZWN0cyBjeXN0aWMgZmlicm9zaXMtY2F1c2luZyBDRlRSIG11dGF0aW9ucyBpbiBodW1hbiBvcmdhbm9pZHMgYW5kIGFpcndheSBlcGl0aGVsaWFsIGNlbGxzfSxcbiAgICBhdXRob3IgICAgICAgPSB7QnVsY2FlbiwgTWF0dGlqcyBhbmQgS29ydGxldmVuLCBQaFx1MDBFOWxpbmUgYW5kIExpdSwgUm9uYWxkIEIuIGFuZCBNYXVsZSwgR2l1bGlhIGFuZCBEcmVhbm8sIEVsaXNlIGFuZCBLZWxseSwgTWFpcmVhZCBhbmQgRW5zaW5jaywgTWFyam9sZWluIE0uIGFuZCBUaGllcmllLCBTYW0gYW5kIFNtaXRzLCBNYXhpbWUgYW5kIENpY2lhbmksIE1hdHRlbyBhbmQgSGF0dG9uLCBBdXJlbGllIGFuZCBDaGV2YWxpZXIsIEJlbm9pdCBhbmQgUmFtYWxobywgQW5hYmVsYSBTLiBhbmQgQ2FzYWRldmFsbCBpIFNvbHZhcywgWGF2aWVyIGFuZCBEZWJ5c2VyLCBaZWdlciBhbmQgVmVybWV1bGVuLCBGcmFuXHUwMEU3b2lzIGFuZCBHaWpzYmVycywgUmlrIGFuZCBTZXJtZXQtR2F1ZGVsdXMsIElzYWJlbGxlIGFuZCBDZXJlc2V0bywgQW5uYSBhbmQgQ2FybG9uLCBNYXJpYW5uZSBTLn0sXG4gICAgeWVhciAgICAgICAgID0gMjAyNCxcbiAgICBtb250aCAgICAgICAgPSBtYXksXG4gICAgam91cm5hbCAgICAgID0ge0NlbGwgUmVwb3J0cyBNZWRpY2luZX0sXG4gICAgcGFnZXMgICAgICAgID0gMTAxNTQ0LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDE2L2oueGNybS4yMDI0LjEwMTU0NH0sXG4gICAgaXNzbiAgICAgICAgID0gezI2NjYtMzc5MX0sXG4gICAgYWJzdHJhY3Rub3RlID0ge1ByaW1lIGVkaXRpbmcgaXMgYSByZWNlbnQsIENSSVNQUi1kZXJpdmVkIGdlbm9tZSBlZGl0aW5nIHRlY2hub2xvZ3kgY2FwYWJsZSBvZiBpbnRyb2R1Y2luZyBwcmVjaXNlIG51Y2xlb3RpZGUgc3Vic3RpdHV0aW9ucywgaW5zZXJ0aW9ucywgYW5kIGRlbGV0aW9ucy4gSGVyZSwgd2UgcHJlc2VudCBwcmltZSBlZGl0aW5nIGFwcHJvYWNoZXMgdG8gY29ycmVjdCBMMjI3Ui0gYW5kIE4xMzAzSy1DRlRSLCB0d28gbXV0YXRpb25zIHRoYXQgY2F1c2UgY3lzdGljIGZpYnJvc2lzIGFuZCBhcmUgbm90IGVsaWdpYmxlIGZvciBjdXJyZW50IG1hcmtldC1hcHByb3ZlZCBtb2R1bGF0b3IgdGhlcmFwaWVzLiBXZSBzaG93IHRoYXQsIHVwb24gRE5BIGNvcnJlY3Rpb24gb2YgdGhlIENGVFIgZ2VuZSwgdGhlIGNvbXBsZXggZ2x5Y29zeWxhdGlvbiwgbG9jYWxpemF0aW9uLCBhbmQsIG1vc3QgaW1wb3J0YW50bHksIGZ1bmN0aW9uIG9mIHRoZSBDRlRSIHByb3RlaW4gYXJlIHJlc3RvcmVkIGluIEhFSzI5M1QgYW5kIDE2SEJFIGNlbGwgbGluZXMuIFRoZXNlIGZpbmRpbmdzIHdlcmUgc3Vic2VxdWVudGx5IHZhbGlkYXRlZCBpbiBwYXRpZW50LWRlcml2ZWQgcmVjdGFsIG9yZ2Fub2lkcyBhbmQgaHVtYW4gbmFzYWwgZXBpdGhlbGlhbCBjZWxscy4gVGhyb3VnaCBhbmFseXNpcyBvZiBwcmVkaWN0ZWQgYW5kIGV4cGVyaW1lbnRhbGx5IGlkZW50aWZpZWQgY2FuZGlkYXRlIG9mZi10YXJnZXQgc2l0ZXMgaW4gcHJpbWFyeSBzdGVtIGNlbGxzLCB3ZSBjb25maXJtIHByZXZpb3VzIHJlcG9ydHMgb24gdGhlIGhpZ2ggcHJpbWUgZWRpdG9yIChQRSkgc3BlY2lmaWNpdHkgYW5kIGl0cyBwb3RlbnRpYWwgZm9yIGEgY3VyYXRpdmUgQ0YgZ2VuZSBlZGl0aW5nIHRoZXJhcHkuIFRvIGZhY2lsaXRhdGUgZnV0dXJlIHNjcmVlbmluZyBvZiBnZW5ldGljIHN0cmF0ZWdpZXMgaW4gYSB0cmFuc2xhdGlvbmFsIENGIG1vZGVsLCBhIG1hY2hpbmUgbGVhcm5pbmcgYWxnb3JpdGhtIHdhcyBkZXZlbG9wZWQgZm9yIGR5bmFtaWMgcXVhbnRpZmljYXRpb24gb2YgQ0ZUUiBmdW5jdGlvbiBpbiBvcmdhbm9pZHMgKERFVEVDVE9SOiBcdTIwMUNkZXRlY3Rpb24gb2YgdGFyZ2V0ZWQgZWRpdGluZyBvZiBDRlRSIGluIG9yZ2Fub2lkc1x1MjAxRCkufVxuICB9XG5gLGBcbiAgQGFydGljbGV7UmVuel9WYWxkaXZpYS1GcmFuY2lhX1NlbmRvZWxfMjAyMCxcbiAgICB0aXRsZSAgICAgICAgPSB7U29tZSBsaWtlIGl0IHRyYW5zbGF0ZWQ6IHNtYWxsIE9SRnMgaW4gdGhlIDVcdTIwMzJVVFJ9LFxuICAgIGF1dGhvciAgICAgICA9IHtSZW56LCBQZXRlciBGLiBhbmQgVmFsZGl2aWEtRnJhbmNpYSwgRmFiaW9sYSBhbmQgU2VuZG9lbCwgQXRhbWFufSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDIwLFxuICAgIG1vbnRoICAgICAgICA9IG5vdixcbiAgICBqb3VybmFsICAgICAgPSB7RXhwZXJpbWVudGFsIENlbGwgUmVzZWFyY2h9LFxuICAgIHZvbHVtZSAgICAgICA9IDM5NixcbiAgICBudW1iZXIgICAgICAgPSAxLFxuICAgIHBhZ2VzICAgICAgICA9IDExMjIyOSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAxNi9qLnlleGNyLjIwMjAuMTEyMjI5fSxcbiAgICBpc3NuICAgICAgICAgPSB7MDAxNC00ODI3fSxcbiAgICBhYnN0cmFjdG5vdGUgPSB7VGhlIDVcdTIwMzIgdW50cmFuc2xhdGVkIHJlZ2lvbiAoNVx1MjAzMlVUUikgaXMgY3JpdGljYWwgaW4gZGV0ZXJtaW5pbmcgcG9zdC10cmFuc2NyaXB0aW9uYWwgY29udHJvbCwgd2hpY2ggaXMgcGFydGx5IG1lZGlhdGVkIGJ5IHNob3J0IHVwc3RyZWFtIG9wZW4gcmVhZGluZyBmcmFtZXMgKHVPUkZzKSBwcmVzZW50IGluIGhhbGYgb2YgbWFtbWFsaWFuIHRyYW5zY3JpcHRzLiB1T1JGcyBhcmUgZ2VuZXJhbGx5IGNvbnNpZGVyZWQgdG8gcHJvdmlkZSBmdW5jdGlvbmFsbHkgaW1wb3J0YW50IHJlcHJlc3Npb24gb2YgdGhlIG1haW4tT1JGIGJ5IGVuZ2FnaW5nIGluaXRpYXRpbmcgcmlib3NvbWVzLCBidXQgdW5kZXIgc3BlY2lmaWMgZW52aXJvbm1lbnRhbCBjb25kaXRpb25zIHN1Y2ggYXMgY2VsbHVsYXIgc3RyZXNzLCB1T1JGcyBjYW4gYmVjb21lIGVzc2VudGlhbCB0byBhY3RpdmF0ZSB0aGUgdHJhbnNsYXRpb24gb2YgdGhlIG1haW4gY29kaW5nIHNlcXVlbmNlLiBJbiBhZGRpdGlvbiwgYSBncm93aW5nIG51bWJlciBvZiB1T1JGLWVuY29kZWQgYmlvYWN0aXZlIG1pY3JvcHJvdGVpbnMgaGF2ZSBiZWVuIGRlc2NyaWJlZCwgd2hpY2ggaGF2ZSB0aGUgcG90ZW50aWFsIHRvIHNpZ25pZmljYW50bHkgaW5jcmVhc2UgY2VsbHVsYXIgcHJvdGVpbiBkaXZlcnNpdHkuIEhlcmUgd2UgcmV2aWV3IHRoZSBkaXZlcnNlIGNlbGx1bGFyIGNvbnRleHRzIGluIHdoaWNoIHVPUkZzIHBsYXkgYSBjcml0aWNhbCByb2xlIGFuZCBkaXNjdXNzIHRoZSBtb2xlY3VsYXIgbWVjaGFuaXNtcyB1bmRlcmx5aW5nIHRoZWlyIGZ1bmN0aW9uIGFuZCByZWd1bGF0aW9uLiBUaGUgcHJvZ3Jlc3Mgb3ZlciB0aGUgbGFzdCBkZWNhZGVzIGluIGRpc3NlY3RpbmcgdU9SRiBmdW5jdGlvbiBzdWdnZXN0cyB0aGF0IHRoZSA1XHUyMDMyVVRSIHJlbWFpbnMgYW4gZXhjaXRpbmcgZnJvbnRpZXIgdG93YXJkcyB1bmRlcnN0YW5kaW5nIGhvdyB0aGUgY2VsbHVsYXIgcHJvdGVvbWUgaXMgc2hhcGVkIGluIGhlYWx0aCBhbmQgZGlzZWFzZS59XG4gIH1cbmAsYFxuICBAYXJ0aWNsZXtMaWFuZ19IZV9aaGFvX1podV9IdV9MaXVfR2FvX0xpdV9aaGFuZ19RaXVfMjAyNCxcbiAgICB0aXRsZSAgICAgICAgPSB7UHJpbWUgZWRpdGluZyB1c2luZyBDUklTUFItQ2FzMTJhIGFuZCBjaXJjdWxhciBSTkFzIGluIGh1bWFuIGNlbGxzfSxcbiAgICBhdXRob3IgICAgICAgPSB7TGlhbmcsIFJvbmdob25nIGFuZCBIZSwgWml4aW4gYW5kIFpoYW8sIEtldmluIFRpYW5tZW5nIGFuZCBaaHUsIEhhb2NoZW5nIGFuZCBIdSwgSmlhY2hlbmcgYW5kIExpdSwgR3VhbndlbiBhbmQgR2FvLCBRaWFuZyBhbmQgTGl1LCBNZWl5YW4gYW5kIFpoYW5nLCBSdWkgYW5kIFFpdSwgSmluLUxvbmcgYW5kIEdhbywgQ2FpeGlhfSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDI0LFxuICAgIG1vbnRoICAgICAgICA9IGphbixcbiAgICBqb3VybmFsICAgICAgPSB7TmF0dXJlIEJpb3RlY2hub2xvZ3l9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDM4L3M0MTU4Ny0wMjMtMDIwOTUteH0sXG4gICAgaXNzbiAgICAgICAgID0gezEwODctMDE1NiwgMTU0Ni0xNjk2fSxcbiAgICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cubmF0dXJlLmNvbS9hcnRpY2xlcy9zNDE1ODctMDIzLTAyMDk1LXh9LFxuICAgIGxhbmd1YWdlICAgICA9IHtlbn1cbiAgfVxuYFxuXSIsICJpbXBvcnQgQmlidGV4UGFyc2VyIGZyb20gXCIuLi9jb21wb25lbnRzL21ha2VTb3VyY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEVuZ05pY2tzb3VyY2VzKCl7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8QmlidGV4UGFyc2VyIGJpYnRleFNvdXJjZXM9e2JpYnRleFNvdXJjZXN9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbn1cblxuXG5jb25zdCBiaWJ0ZXhTb3VyY2VzID0gW1xuICBgXG4gIEBhcnRpY2xle1NhaXRvX1h1X0ZhdXJlX01hZ3VpcmVfS2FubmFuX0FsdGFlLVRyYW5fVm9fRGVzaW1vbmVfTWFjcmFlX1poYW5nXzIwMjMsXG4gICAgdGl0bGUgICAgICAgID0ge0ZhbnpvciBpcyBhIGV1a2FyeW90aWMgcHJvZ3JhbW1hYmxlIFJOQS1ndWlkZWQgZW5kb251Y2xlYXNlfSxcbiAgICBhdXRob3IgICAgICAgPSB7U2FpdG8sIE1ha290byBhbmQgWHUsIFBlaXl1IGFuZCBGYXVyZSwgR3VpbGhlbSBhbmQgTWFndWlyZSwgU2FtYW50aGEgYW5kIEthbm5hbiwgU291bXlhIGFuZCBBbHRhZS1UcmFuLCBIYW4gYW5kIFZvLCBTYW0gYW5kIERlc2ltb25lLCBBbkFuIGFuZCBNYWNyYWUsIFJoaWFubm9uIEsuIGFuZCBaaGFuZywgRmVuZ30sXG4gICAgeWVhciAgICAgICAgID0gMjAyMyxcbiAgICBtb250aCAgICAgICAgPSBhdWcsXG4gICAgam91cm5hbCAgICAgID0ge05hdHVyZX0sXG4gICAgcHVibGlzaGVyICAgID0ge05hdHVyZSBQdWJsaXNoaW5nIEdyb3VwfSxcbiAgICB2b2x1bWUgICAgICAgPSA2MjAsXG4gICAgbnVtYmVyICAgICAgID0gNzk3NCxcbiAgICBwYWdlcyAgICAgICAgPSB7NjYwXHUyMDEzNjY4fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAzOC9zNDE1ODYtMDIzLTA2MzU2LTJ9LFxuICAgIGlzc24gICAgICAgICA9IHsxNDc2LTQ2ODd9LFxuICAgIHJpZ2h0cyAgICAgICA9IHsyMDIzIFRoZSBBdXRob3Iocyl9LFxuICAgIGFic3RyYWN0bm90ZSA9IHtSTkEtZ3VpZGVkIHN5c3RlbXMsIHdoaWNoIHVzZSBjb21wbGVtZW50YXJpdHkgYmV0d2VlbiBhIGd1aWRlIFJOQSBhbmQgdGFyZ2V0IG51Y2xlaWMgYWNpZCBzZXF1ZW5jZXMgZm9yIHJlY29nbml0aW9uIG9mIGdlbmV0aWMgZWxlbWVudHMsIGhhdmUgYSBjZW50cmFsIHJvbGUgaW4gYmlvbG9naWNhbCBwcm9jZXNzZXMgaW4gYm90aCBwcm9rYXJ5b3RlcyBhbmQgZXVrYXJ5b3Rlcy4gRm9yIGV4YW1wbGUsIHRoZSBwcm9rYXJ5b3RpYyBDUklTUFJcdTIwMTNDYXMgc3lzdGVtcyBwcm92aWRlIGFkYXB0aXZlIGltbXVuaXR5IGZvciBiYWN0ZXJpYSBhbmQgYXJjaGFlYSBhZ2FpbnN0IGZvcmVpZ24gZ2VuZXRpYyBlbGVtZW50cy4gQ2FzIGVmZmVjdG9ycyBzdWNoIGFzIENhczkgYW5kIENhczEyIHBlcmZvcm0gZ3VpZGUtUk5BLWRlcGVuZGVudCBETkEgY2xlYXZhZ2UxLiBBbHRob3VnaCBhIGZldyBldWthcnlvdGljIFJOQS1ndWlkZWQgc3lzdGVtcyBoYXZlIGJlZW4gc3R1ZGllZCwgaW5jbHVkaW5nIFJOQSBpbnRlcmZlcmVuY2UyIGFuZCByaWJvc29tYWwgUk5BIG1vZGlmaWNhdGlvbjMsIGl0IHJlbWFpbnMgdW5jbGVhciB3aGV0aGVyIGV1a2FyeW90ZXMgaGF2ZSBSTkEtZ3VpZGVkIGVuZG9udWNsZWFzZXMuIFJlY2VudGx5LCBhIG5ldyBjbGFzcyBvZiBwcm9rYXJ5b3RpYyBSTkEtZ3VpZGVkIHN5c3RlbXMgKHRlcm1lZCBPTUVHQSkgd2FzIHJlcG9ydGVkNCw1LiBUaGUgT01FR0EgZWZmZWN0b3IgVG5wQiBpcyB0aGUgcHV0YXRpdmUgYW5jZXN0b3Igb2YgQ2FzMTIgYW5kIGhhcyBSTkEtZ3VpZGVkIGVuZG9udWNsZWFzZSBhY3Rpdml0eTQsNi4gVG5wQiBtYXkgYWxzbyBiZSB0aGUgYW5jZXN0b3Igb2YgdGhlIGV1a2FyeW90aWMgdHJhbnNwb3Nvbi1lbmNvZGVkIEZhbnpvciAoRnopIHByb3RlaW5zNCw3LCByYWlzaW5nIHRoZSBwb3NzaWJpbGl0eSB0aGF0IGV1a2FyeW90ZXMgYXJlIGFsc28gZXF1aXBwZWQgd2l0aCBDUklTUFJcdTIwMTNDYXMgb3IgT01FR0EtbGlrZSBwcm9ncmFtbWFibGUgUk5BLWd1aWRlZCBlbmRvbnVjbGVhc2VzLiBIZXJlIHdlIHJlcG9ydCB0aGUgYmlvY2hlbWljYWwgY2hhcmFjdGVyaXphdGlvbiBvZiBGeiwgc2hvd2luZyB0aGF0IGl0IGlzIGFuIFJOQS1ndWlkZWQgRE5BIGVuZG9udWNsZWFzZS4gV2UgYWxzbyBzaG93IHRoYXQgRnogY2FuIGJlIHJlcHJvZ3JhbW1lZCBmb3IgaHVtYW4gZ2Vub21lIGVuZ2luZWVyaW5nIGFwcGxpY2F0aW9ucy4gRmluYWxseSwgd2UgcmVzb2x2ZSB0aGUgc3RydWN0dXJlIG9mIFNwaXplbGxvbXljZXMgcHVuY3RhdHVzIEZ6IGF0IDIuN1x1MjAwOVx1MDBDNSB1c2luZyBjcnlvZ2VuaWMgZWxlY3Ryb24gbWljcm9zY29weSwgc2hvd2luZyB0aGUgY29uc2VydmF0aW9uIG9mIGNvcmUgcmVnaW9ucyBhbW9uZyBGeiwgVG5wQiBhbmQgQ2FzMTIsIGRlc3BpdGUgZGl2ZXJzZSBjb2duYXRlIFJOQSBzdHJ1Y3R1cmVzLiBPdXIgcmVzdWx0cyBzaG93IHRoYXQgRnogaXMgYSBldWthcnlvdGljIE9NRUdBIHN5c3RlbSwgZGVtb25zdHJhdGluZyB0aGF0IFJOQS1ndWlkZWQgZW5kb251Y2xlYXNlcyBhcmUgcHJlc2VudCBpbiBhbGwgdGhyZWUgZG9tYWlucyBvZiBsaWZlLn0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9XG4gIGAsYFxuICBAYXJ0aWNsZXtpam1zMjUwMzE2MjIsXG4gICAgdGl0bGUgICAgICAgID0ge0FuIEVmZmljaWVudCBFeHByZXNzaW9uIGFuZCBQdXJpZmljYXRpb24gUHJvdG9jb2wgZm9yIFNwQ2FzOSBOdWNsZWFzZSBhbmQgRXZhbHVhdGlvbiBvZiBEaWZmZXJlbnQgRGVsaXZlcnkgTWV0aG9kcyBvZiBSaWJvbnVjbGVvcHJvdGVpbn0sXG4gICAgYXV0aG9yICAgICAgID0ge0V2bWVub3YsIEtvbnN0YW50aW4gYW5kIFB1c3RvZ2Fyb3YsIE5pa29sYXkgYW5kIFBhbnRlbGVldiwgRG1pdHJpIGFuZCBTYWZpbiwgQXJ0dXIgYW5kIEFsa2FsYWV2YSwgRWxlbmF9LFxuICAgIHllYXIgICAgICAgICA9IDIwMjQsXG4gICAgam91cm5hbCAgICAgID0ge0ludGVybmF0aW9uYWwgSm91cm5hbCBvZiBNb2xlY3VsYXIgU2NpZW5jZXN9LFxuICAgIHZvbHVtZSAgICAgICA9IDI1LFxuICAgIG51bWJlciAgICAgICA9IDMsXG4gICAgZG9pICAgICAgICAgID0gezEwLjMzOTAvaWptczI1MDMxNjIyfSxcbiAgICBpc3NuICAgICAgICAgPSB7MTQyMi0wMDY3fSxcbiAgICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cubWRwaS5jb20vMTQyMi0wMDY3LzI1LzMvMTYyMn0sXG4gICAgYXJ0aWNsZS1udW1iZXIgPSAxNjIyLFxuICAgIHB1Ym1lZGlkICAgICA9IDM4MzM4ODk4LFxuICAgIGFic3RyYWN0ICAgICA9IHtUaGUgQ2x1c3RlcmVkIFJlZ3VsYXJseSBJbnRlcnNwYWNlZCBTaG9ydCBQYWxpbmRyb21pYyBSZXBlYXRzIChDUklTUFIpLUNhczkgc3lzdGVtIGlzIGEgcmV2b2x1dGlvbmFyeSB0b29sIGZvciBwcmVjaXNlIGdlbm9tZSBlZGl0aW5nIGFjcm9zcyB2YXJpb3VzIGNlbGwgdHlwZXMuIFJpYm9udWNsZW9wcm90ZWlucyAoUk5QcyksIGVuY29tcGFzc2luZyB0aGUgQ2FzOSBwcm90ZWluIGFuZCBndWlkZSBSTkEgKGdSTkEpLCBoYXZlIGVtZXJnZWQgYXMgYSBwcm9taXNpbmcgdGVjaG5pcXVlIGR1ZSB0byB0aGVpciBpbmNyZWFzZWQgc3BlY2lmaWNpdHkgYW5kIHJlZHVjZWQgb2ZmLXRhcmdldCBlZmZlY3RzLiBUaGlzIG1ldGhvZCBlbGltaW5hdGVzIHRoZSBuZWVkIGZvciBwbGFzbWlkIEROQSBpbnRyb2R1Y3Rpb24sIHRoZXJlYnkgcHJldmVudGluZyBwb3RlbnRpYWwgaW50ZWdyYXRpb24gb2YgZm9yZWlnbiBETkEgaW50byB0aGUgdGFyZ2V0IGNlbGwgZ2Vub21lLiBHaXZlbiB0aGUgcmVxdWlyZW1lbnQgZm9yIGxhcmdlIHF1YW50aXRpZXMgb2YgaGlnaGx5IHB1cmlmaWVkIHByb3RlaW4gaW4gdmFyaW91cyBDYXM5IHN0dWRpZXMsIHdlIHByZXNlbnQgYW4gZWZmaWNpZW50IGFuZCBzaW1wbGUgbWV0aG9kIGZvciB0aGUgcHJlcGFyYXRpb24gb2YgcmVjb21iaW5hbnQgU3RyZXB0b2NvY2N1cyBweW9nZW5lcyBDYXM5IChTcENhczkpIHByb3RlaW4uIFRoaXMgbWV0aG9kIGxldmVyYWdlcyB0aGUgU21hbGwgVWJpcXVpdGluIExpa2UgTW9kaWZpZXIoU1VNTykgdGFnIHN5c3RlbSwgd2hpY2ggaW5jbHVkZXMgbWV0YWwtYWZmaW5pdHkgY2hyb21hdG9ncmFwaHkgZm9sbG93ZWQgYnkgYW5pb24tZXhjaGFuZ2UgY2hyb21hdG9ncmFwaHkgcHVyaWZpY2F0aW9uLiBGdXJ0aGVybW9yZSwgd2UgY29tcGFyZSB0d28gbWV0aG9kcyBvZiBDUklTUFItQ2FzOSBzeXN0ZW0gZGVsaXZlcnkgaW50byBjZWxsczogdHJhbnNmZWN0aW9uIHdpdGggcGxhc21pZCBETkEgZW5jb2RpbmcgdGhlIENSSVNQUi1DYXM5IHN5c3RlbSBhbmQgUk5QIHRyYW5zZmVjdGlvbiB3aXRoIHRoZSBDYXM5LWdSTkEgY29tcGxleC4gV2UgZXN0aW1hdGUgdGhlIGVmZmljaWVuY3kgb2YgZ2Vub21pYyBlZGl0aW5nIGFuZCBwcm90ZWluIGxpZmVzcGFuIHBvc3QtdHJhbnNmZWN0aW9uLiBJbnRyaWd1aW5nbHksIHdlIGZvdW5kIHRoYXQgUk5QIHRyZWF0bWVudCBvZiBjZWxscywgZXZlbiBpbiB0aGUgYWJzZW5jZSBvZiBhIHRyYW5zZmVjdGlvbiBzeXN0ZW0sIGlzIGEgcmVsYXRpdmVseSBlZmZpY2llbnQgbWV0aG9kIGZvciBSTlAgZGVsaXZlcnkgaW50byBjZWxsIGN1bHR1cmUuIFRoaXMgZGlzY292ZXJ5IGlzIHBhcnRpY3VsYXJseSBwcm9taXNpbmcgYXMgaXQgY2FuIHNpZ25pZmljYW50bHkgcmVkdWNlIGN5dG90b3hpY2l0eSwgd2hpY2ggaXMgY3J1Y2lhbCBmb3IgY2VydGFpbiBjZWxsIGN1bHR1cmVzIHN1Y2ggYXMgaW5kdWNlZCBwbHVyaXBvdGVudCBzdGVtIGNlbGxzIChpUFNDcykufVxuICB9XG4gIGAsYFxuICBAYXJ0aWNsZXtIaWxsYXJ5MjAyM1JldmlldyxcbiAgICB0aXRsZSAgICAgICAgPSB7QSBSZXZpZXcgb24gdGhlIE1lY2hhbmlzbSBhbmQgQXBwbGljYXRpb25zIG9mIENSSVNQUi9DYXM5L0NhczEyL0NhczEzL0NhczE0IFByb3RlaW5zIFV0aWxpemVkIGZvciBHZW5vbWUgRW5naW5lZXJpbmd9LFxuICAgIGF1dGhvciAgICAgICA9IHtIaWxsYXJ5LCBWLiBFLiBhbmQgQ2Vhc2FyLCBTLiBBLn0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMyxcbiAgICBqb3VybmFsICAgICAgPSB7TW9sZWN1bGFyIEJpb3RlY2hub2xvZ3l9LFxuICAgIHZvbHVtZSAgICAgICA9IDY1LFxuICAgIHBhZ2VzICAgICAgICA9IHszMTEtLTMyNX0sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwMDcvczEyMDMzLTAyMi0wMDU2Ny0wfVxuICB9XG4gIGAsYFxuICBAYXJ0aWNsZXsxMC4zMzg5L2ZnZWVkLjIwMjQuMTQ3MTcyMCxcbiAgICB0aXRsZSAgICAgICAgPSB7VXNlIG9mIHBhaXJlZCBDYXM5LU5HIG5pY2thc2UgYW5kIHRydW5jYXRlZCBzZ1JOQXMgZm9yIHNpbmdsZS1udWNsZW90aWRlIG1pY3JvYmlhbCBnZW5vbWUgZWRpdGluZ30sXG4gICAgYXV0aG9yICAgICAgID0ge0plb25nLCBTb25nIEhlZSAgYW5kIExlZSwgSG8gSm91bmcgIGFuZCBMZWUsIFNhbmcgSnVufSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDI0LFxuICAgIGpvdXJuYWwgICAgICA9IHtGcm9udGllcnMgaW4gR2Vub21lIEVkaXRpbmd9LFxuICAgIHZvbHVtZSAgICAgICA9IDYsXG4gICAgZG9pICAgICAgICAgID0gezEwLjMzODkvZmdlZWQuMjAyNC4xNDcxNzIwfSxcbiAgICBpc3NuICAgICAgICAgPSB7MjY3My0zNDM5fSxcbiAgICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cuZnJvbnRpZXJzaW4ub3JnL2pvdXJuYWxzL2dlbm9tZS1lZGl0aW5nL2FydGljbGVzLzEwLjMzODkvZmdlZWQuMjAyNC4xNDcxNzIwfSxcbiAgICBhYnN0cmFjdCAgICAgPSB7PHA+VGhlIHBhaXJlZCBuaWNrYXNlcyBhcHByb2FjaCwgd2hpY2ggdXRpbGl6ZXMgY2x1c3RlcmVkIHJlZ3VsYXJseSBpbnRlcnNwYWNlZCBzaG9ydCBwYWxpbmRyb21pYyByZXBlYXRzIChDUklTUFIpLUNSSVNQUi1hc3NvY2lhdGVkIHByb3RlaW5zIChDYXMpIG5pY2thc2UgYW5kIGR1YWwgZ3VpZGUgUk5BLCBoYXMgdGhlIGFkdmFudGFnZSBvZiByZWR1Y2luZyBvZmYtdGFyZ2V0IGVmZmVjdHMgYnkgYmVpbmcgYWJsZSB0byBkb3VibGUgdGhlIHRhcmdldCBzZXF1ZW5jZS4gSW4gdGhpcyBzdHVkeSwgb3VyIHJlc2VhcmNoIHV0aWxpemVkIHRoZSBDYXM5LU5HIG5pY2thc2UgdmFyaWFudCB0byBtaW5pbWl6ZSBQQU0gc2VxdWVuY2UgY29uc3RyYWludHMsIGVuYWJsaW5nIHRoZSBnZW5lcmF0aW9uIG9mIHBhaXJlZCBuaWNrcyBhdCBkZXNpcmVkIGdlbm9taWMgbG9jaS4gV2UgcGVyZm9ybWVkIGEgc3lzdGVtYXRpYyBpbnZlc3RpZ2F0aW9uIGludG8gdGhlIGZvcm1hdGlvbiBzaXRlcyBmb3IgZG91YmxlIG5pY2tzIGFuZCB0aGUgZGVzaWduIG9mIGRvbm9yIEROQSB3aXRoaW4gYSBiYWN0ZXJpYWwgbW9kZWwgc3lzdGVtLiBBbHRob3VnaCB3ZSBzdWNjZXNzZnVsbHkgaWRlbnRpZmllZCB0aGUgY29uZGl0aW9ucyBuZWNlc3NhcnkgZm9yIHRoZSBlZmZlY3RpdmUgZm9ybWF0aW9uIG9mIGRvdWJsZSBuaWNrcyA8aXRhbGljPmluIHZpdm88L2l0YWxpYz4sIGFjaGlldmluZyBzaW5nbGUtbnVjbGVvdGlkZSBsZXZlbCBlZGl0aW5nIGRpcmVjdGx5IGF0IHRoZSB0YXJnZXQgc2l0ZXMgaW4gdGhlIGdlbm9tZSBwcm92ZWQgY2hhbGxlbmdpbmcuIE5vbmV0aGVsZXNzLCBvdXIgZXhwZXJpbWVudHMgcmV2ZWFsZWQgdGhhdCBlZmZpY2llbnQgZWRpdGluZyBhdCB0aGUgc2luZ2xlLW51Y2xlb3RpZGUgbGV2ZWwgd2FzIGFjaGlldmFibGUgb24gdGFyZ2V0IEROQSBzZXF1ZW5jZXMgdGhhdCBhcmUgaHlicmlkaXplZCB3aXRoIDVcdTIwMzItZW5kLXRydW5jYXRlZCBkdWFsIHNpbmdsZS1ndWlkZSBSTkFzIChzZ1JOQXMpLiBPdXIgZmluZGluZ3MgY29udHJpYnV0ZSB0byBhIGRlZXBlciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBwYWlyZWQgbmlja2FzZXMgYXBwcm9hY2gsIG9mZmVyaW5nIGEgc2luZ2xlLW1pc21hdGNoIGludG9sZXJhbmNlIGRlc2lnbiBzdHJhdGVneSBmb3IgYWNjdXJhdGUgbnVjbGVvdGlkZSBlZGl0aW5nLiBUaGlzIHN0cmF0ZWd5IG5vdCBvbmx5IGVuaGFuY2VzIHRoZSBwcmVjaXNpb24gb2YgZ2Vub21lIGVkaXRpbmcgYnV0IGFsc28gbWFya3MgYSBzaWduaWZpY2FudCBzdGVwIGZvcndhcmQgaW4gdGhlIGRldmVsb3BtZW50IG9mIG5pY2thc2UtZGVyaXZlZCBnZW5vbWUgZWRpdGluZyB0ZWNobm9sb2dpZXMuPC9wPn1cbiAgfVxuICBgLGBcbiAgQGFydGljbGV7QmFkb24yMDI0Q1JJU1BSLFxuXHR0aXRsZSAgICAgICAgPSB7UmVjZW50IGFwcGxpY2F0aW9uIG9mIENSSVNQUi1DYXMxMiBhbmQgT01FR0Egc3lzdGVtIGZvciBnZW5vbWUgZWRpdGluZ30sXG5cdGF1dGhvciAgICAgICA9IHtCYWRvbiwgSXNhYmVsIFdlbiBhbmQgT2gsIFllb25zdW4gYW5kIEtpbSwgSG8tSm9vbmcgYW5kIExlZSwgU2V1bmcgSHdhbn0sXG5cdHllYXIgICAgICAgICA9IDIwMjQsXG5cdG1vbnRoICAgICAgICA9IHtKYW51YXJ5fSxcblx0am91cm5hbCAgICAgID0ge01vbGVjdWxhciBUaGVyYXB5fSxcblx0dm9sdW1lICAgICAgID0gMzIsXG5cdG51bWJlciAgICAgICA9IDEsXG5cdHBhZ2VzICAgICAgICA9IHszMi0tNDN9LFxuXHRkb2kgICAgICAgICAgPSB7MTAuMTAxNi9qLnltdGhlLjIwMjMuMTEuMDEzfSxcblx0dXJsICAgICAgICAgID0ge2h0dHBzOi8vd3d3LmNlbGwuY29tL21vbGVjdWxhci10aGVyYXB5L2Z1bGx0ZXh0L1MxNTI1LTAwMTYoMjMpMDAxMTMtMn1cbiAgfVxuICBgLGBcbiAgQGFydGljbGV7S2ltMjAyNE5pY2tpbmcsXG5cdHRpdGxlICAgICAgICA9IHtVdGlsaXphdGlvbiBvZiBuaWNraW5nIHByb3BlcnRpZXMgb2YgQ1JJU1BSLUNhczEyYSBlZmZlY3RvciBmb3IgZ2Vub21lIGVkaXRpbmd9LFxuXHRhdXRob3IgICAgICAgPSB7S2ltLCBDaGFuIEh5b3VuZyBhbmQgTGVlLCBXaS1qYWUgYW5kIE9oLCBZZW9uc3VuIGFuZCBMZWUsIFlvdW5namVvbiBhbmQgTGVlLCBIeW9taW4gSy4gYW5kIFNlb25nLCBKdW5nIEJhZSBhbmQgTGltLCBLeXVuZy1TZW9iIGFuZCBQYXJrLCBTYW5nIEplIGFuZCBIdWgsIEphZS1Xb24gYW5kIEtpbSwgWW91bmctSHl1biBhbmQgS2ltLCBLeW91bmcgTWkgYW5kIEh1ciwgSnVuaG8gSy4gYW5kIExlZSwgU2V1bmcgSHdhbn0sXG5cdHllYXIgICAgICAgICA9IDIwMjQsXG5cdG1vbnRoICAgICAgICA9IHtGZWJydWFyeX0sXG5cdGpvdXJuYWwgICAgICA9IHtTY2llbnRpZmljIFJlcG9ydHN9LFxuXHR2b2x1bWUgICAgICAgPSAxNCxcblx0cGFnZXMgICAgICAgID0gMzM1Mixcblx0ZG9pICAgICAgICAgID0gezEwLjEwMzgvczQxNTk4LTAyNC01MzY0OC0yfSxcblx0aXNzbiAgICAgICAgID0gezIwNDUtMjMyMn0sXG5cdHVybCAgICAgICAgICA9IHtodHRwczovL3d3dy5uY2JpLm5sbS5uaWguZ292L3BtYy9hcnRpY2xlcy9QTUMxMDg1ODE5NX0sXG5cdHBtaWQgICAgICAgICA9IDM4MzM2OTc3LFxuXHRwbWNpZCAgICAgICAgPSB7UE1DMTA4NTgxOTV9XG4gIH1cbiAgYFxuXSIsICJpbXBvcnQgQmlidGV4UGFyc2VyIGZyb20gXCIuLi9jb21wb25lbnRzL21ha2VTb3VyY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEVuZ0RlbHNvdXJjZXMoKXtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCaWJ0ZXhQYXJzZXIgYmlidGV4U291cmNlcz17YmlidGV4U291cmNlc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xufVxuXG5cbmNvbnN0IGJpYnRleFNvdXJjZXMgPSBbXG4gIGBcbiAgQGFydGljbGV7VEFIQTIwMjIzNDUsXG4gICAgdGl0bGUgICAgICAgID0ge0RlbGl2ZXJ5IG9mIENSSVNQUi1DYXMgdG9vbHMgZm9yIGluIHZpdm8gZ2Vub21lIGVkaXRpbmcgdGhlcmFweTogVHJlbmRzIGFuZCBjaGFsbGVuZ2VzfSxcbiAgICBhdXRob3IgICAgICAgPSB7RW1hbiBBLiBUYWhhIGFuZCBKb3NlcGggTGVlIGFuZCBBa2l0c3UgSG90dGF9LFxuICAgIHllYXIgICAgICAgICA9IDIwMjIsXG4gICAgam91cm5hbCAgICAgID0ge0pvdXJuYWwgb2YgQ29udHJvbGxlZCBSZWxlYXNlfSxcbiAgICB2b2x1bWUgICAgICAgPSAzNDIsXG4gICAgcGFnZXMgICAgICAgID0gezM0NS0tMzYxfSxcbiAgICBkb2kgICAgICAgICAgPSB7aHR0cHM6Ly9kb2kub3JnLzEwLjEwMTYvai5qY29ucmVsLjIwMjIuMDEuMDEzfSxcbiAgICBpc3NuICAgICAgICAgPSB7MDE2OC0zNjU5fSxcbiAgICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMDE2ODM2NTkyMjAwMDI3WH0sXG4gICAga2V5d29yZHMgICAgID0ge0NSSVNQUi1DYXMsIERlbGl2ZXJ5LCBBQVYsIFZpcnVzLWxpa2UgcGFydGljbGUsIExpcGlkIG5hbm9wYXJ0aWNsZSwgR2VuZSB0aGVyYXB5fSxcbiAgICBhYnN0cmFjdCAgICAgPSB7VGhlIGRpc2NvdmVyeSBvZiBjbHVzdGVyZWQgcmVndWxhcmx5IGludGVyc3BhY2VkIHNob3J0IHBhbGluZHJvbWljIHJlcGVhdHMgKENSSVNQUikgZ2Vub21lIGVkaXRpbmcgdGVjaG5vbG9neSBvcGVuZWQgdGhlIGRvb3IgdG8gcHJvdmlkZSBhIHZlcnNhdGlsZSBhcHByb2FjaCBmb3IgdHJlYXRpbmcgbXVsdGlwbGUgZGlzZWFzZXMuIFByb21pc2luZyByZXN1bHRzIGhhdmUgYmVlbiBzaG93biBpbiBudW1lcm91cyBwcmUtY2xpbmljYWwgc3R1ZGllcyBhbmQgY2xpbmljYWwgdHJpYWxzLiBIb3dldmVyLCBhIHNhZmUgYW5kIGVmZmVjdGl2ZSBtZXRob2QgdG8gZGVsaXZlciBnZW5vbWUtZWRpdGluZyBjb21wb25lbnRzIGlzIHN0aWxsIGEga2V5IGNoYWxsZW5nZSBmb3IgaW4gdml2byBnZW5vbWUgZWRpdGluZyB0aGVyYXB5LiBBZGVuby1hc3NvY2lhdGVkIHZpcnVzIChBQVYpIGlzIG9uZSBvZiB0aGUgbW9zdCBjb21tb25seSB1c2VkIHZlY3RvciBzeXN0ZW1zIHRvIGRhdGUsIGJ1dCBpbW11bm9nZW5pY2l0eSBhZ2FpbnN0IGNhcHNpZCwgbGl2ZXIgdG94aWNpdHkgYXQgaGlnaCBkb3NlLCBhbmQgcG90ZW50aWFsIGdlbm90b3hpY2l0eSBjYXVzZWQgYnkgb2ZmLXRhcmdldCBtdXRhZ2VuZXNpcyBhbmQgZ2Vub21pYyBpbnRlZ3JhdGlvbiByZW1haW4gdW5zb2x2ZWQuIFJlY2VudGx5IGRldmVsb3BlZCB0cmFuc2llbnQgZGVsaXZlcnkgc3lzdGVtcywgc3VjaCBhcyB2aXJ1cy1saWtlIHBhcnRpY2xlIChWTFApIGFuZCBsaXBpZCBuYW5vcGFydGljbGUgKExOUCksIG1heSBzb2x2ZSBzb21lIG9mIHRoZSBpc3N1ZXMuIFRoaXMgcmV2aWV3IHN1bW1hcml6ZXMgZXhpc3RpbmcgaW4gdml2byBkZWxpdmVyeSBzeXN0ZW1zIGFuZCBwb3NzaWJsZSBzb2x1dGlvbnMgdG8gb3ZlcmNvbWUgdGhlaXIgbGltaXRhdGlvbnMuIEFsc28sIHdlIGhpZ2hsaWdodCB0aGUgb25nb2luZyBjbGluaWNhbCB0cmlhbHMgZm9yIGluIHZpdm8gZ2Vub21lIGVkaXRpbmcgdGhlcmFweSBhbmQgcmVjZW50bHkgZGV2ZWxvcGVkIGdlbm9tZSBlZGl0aW5nIHRvb2xzIGZvciB0aGVpciBwb3RlbnRpYWwgYXBwbGljYXRpb25zLn1cbiAgfVxuICBgLGBcbiAgQGFydGljbGV7dmVybWFfbGFuZHNjYXBlXzIwMjMsXG4gICAgdGl0bGUgICAgICAgID0ge1RoZSBsYW5kc2NhcGUgZm9yIGxpcGlkLW5hbm9wYXJ0aWNsZS1iYXNlZCBnZW5vbWljIG1lZGljaW5lc30sXG4gICAgYXV0aG9yICAgICAgID0ge1Zlcm1hLCBNYWx2aWthIGFuZCBPemVyLCBJbXJhbiBhbmQgWGllLCBXZW4gYW5kIEdhbGxhZ2hlciwgUnlhbiBhbmQgVGVpeGVpcmEsIEFsZXhhbmRyYSBhbmQgQ2hveSwgTWljaGFlbH0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMyxcbiAgICBtb250aCAgICAgICAgPSBtYXksXG4gICAgam91cm5hbCAgICAgID0ge05hdHVyZSBSZXZpZXdzIERydWcgRGlzY292ZXJ5fSxcbiAgICB2b2x1bWUgICAgICAgPSAyMixcbiAgICBudW1iZXIgICAgICAgPSA1LFxuICAgIHBhZ2VzICAgICAgICA9IHszNDktLTM1MH0sXG4gICAgZG9pICAgICAgICAgID0gezEwLjEwMzgvZDQxNTczLTAyMy0wMDAwMi0yfSxcbiAgICBpc3NuICAgICAgICAgPSB7MTQ3NC0xNzc2LCAxNDc0LTE3ODR9LFxuICAgIHVybCAgICAgICAgICA9IHtodHRwczovL3d3dy5uYXR1cmUuY29tL2FydGljbGVzL2Q0MTU3My0wMjMtMDAwMDItMn0sXG4gICAgdXJsZGF0ZSAgICAgID0gezIwMjQtMDktMTZ9LFxuICAgIGNvcHlyaWdodCAgICA9IHtodHRwczovL3d3dy5zcHJpbmdlcm5hdHVyZS5jb20vZ3AvcmVzZWFyY2hlcnMvdGV4dC1hbmQtZGF0YS1taW5pbmd9LFxuICAgIGxhbmd1YWdlICAgICA9IHtlbn0sXG4gICAgZmlsZSAgICAgICAgID0ge1Zlcm1hIGV0IGFsLiAtIDIwMjMgLSBUaGUgbGFuZHNjYXBlIGZvciBsaXBpZC1uYW5vcGFydGljbGUtYmFzZWQgZ2Vub21pYy5wZGY6Q1xcOlxcXFxVc2Vyc1xcXFxJc2FiZWxsXFxcXFpvdGVyb1xcXFxzdG9yYWdlXFxcXFpFU1BXN0pKXFxcXFZlcm1hIGV0IGFsLiAtIDIwMjMgLSBUaGUgbGFuZHNjYXBlIGZvciBsaXBpZC1uYW5vcGFydGljbGUtYmFzZWQgZ2Vub21pYy5wZGY6YXBwbGljYXRpb24vcGRmfVxuICB9XG4gIGAsYFxuICBAYXJ0aWNsZXt0YWhhX2RlbGl2ZXJ5XzIwMjIsXG4gICAgdGl0bGUgICAgICAgID0ge0RlbGl2ZXJ5IG9mIHtDUklTUFJ9LXtDYXN9IHRvb2xzIGZvciBpbiB2aXZvIGdlbm9tZSBlZGl0aW5nIHRoZXJhcHk6IHtUcmVuZHN9IGFuZCBjaGFsbGVuZ2VzfSxcbiAgICBzaG9ydHRpdGxlICAgPSB7RGVsaXZlcnkgb2Yge0NSSVNQUn0te0Nhc30gdG9vbHMgZm9yIGluIHZpdm8gZ2Vub21lIGVkaXRpbmcgdGhlcmFweX0sXG4gICAgYXV0aG9yICAgICAgID0ge1RhaGEsIEVtYW4gQS4gYW5kIExlZSwgSm9zZXBoIGFuZCBIb3R0YSwgQWtpdHN1fSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDIyLFxuICAgIG1vbnRoICAgICAgICA9IGZlYixcbiAgICBqb3VybmFsICAgICAgPSB7Sm91cm5hbCBvZiBDb250cm9sbGVkIFJlbGVhc2V9LFxuICAgIHZvbHVtZSAgICAgICA9IDM0MixcbiAgICBwYWdlcyAgICAgICAgPSB7MzQ1LS0zNjF9LFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDE2L2ouamNvbnJlbC4yMDIyLjAxLjAxM30sXG4gICAgaXNzbiAgICAgICAgID0gezAxNjgzNjU5fSxcbiAgICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly9saW5raW5naHViLmVsc2V2aWVyLmNvbS9yZXRyaWV2ZS9waWkvUzAxNjgzNjU5MjIwMDAyN1h9LFxuICAgIHVybGRhdGUgICAgICA9IHsyMDI0LTA5LTE2fSxcbiAgICBhYnN0cmFjdCAgICAgPSB7VGhlIGRpc2NvdmVyeSBvZiBjbHVzdGVyZWQgcmVndWxhcmx5IGludGVyc3BhY2VkIHNob3J0IHBhbGluZHJvbWljIHJlcGVhdHMgKENSSVNQUikgZ2Vub21lIGVkaXRpbmcgdGVjaG5vbG9neSBvcGVuZWQgdGhlIGRvb3IgdG8gcHJvdmlkZSBhIHZlcnNhdGlsZSBhcHByb2FjaCBmb3IgdHJlYXRpbmcgbXVsdGlwbGUgZGlzZWFzZXMuIFByb21pc2luZyByZXN1bHRzIGhhdmUgYmVlbiBzaG93biBpbiBudW1lcm91cyBwcmUtY2xpbmljYWwgc3R1ZGllcyBhbmQgY2xpbmljYWwgdHJpYWxzLiBIb3dldmVyLCBhIHNhZmUgYW5kIGVmZmVjdGl2ZSBtZXRob2QgdG8gZGVsaXZlciBnZW5vbWUtZWRpdGluZyBjb21wb25lbnRzIGlzIHN0aWxsIGEga2V5IGNoYWxsZW5nZSBmb3IgaW4gdml2byBnZW5vbWUgZWRpdGluZyB0aGVyYXB5LiBBZGVuby1hc3NvY2lhdGVkIHZpcnVzIChBQVYpIGlzIG9uZSBvZiB0aGUgbW9zdCBjb21tb25seSB1c2VkIHZlY3RvciBzeXN0ZW1zIHRvIGRhdGUsIGJ1dCBpbW11bm9nZW5pY2l0eSBhZ2FpbnN0IGNhcHNpZCwgbGl2ZXIgdG94aWNpdHkgYXQgaGlnaCBkb3NlLCBhbmQgcG90ZW50aWFsIGdlbm90b3hpY2l0eSBjYXVzZWQgYnkgb2ZmLXRhcmdldCBtdXRhZ2VuZXNpcyBhbmQgZ2Vub21pYyBpbnRlZ3JhdGlvbiByZW1haW4gdW5zb2x2ZWQuIFJlY2VudGx5IGRldmVsb3BlZCB0cmFuc2llbnQgZGVsaXZlcnkgc3lzdGVtcywgc3VjaCBhcyB2aXJ1cy1saWtlIHBhcnRpY2xlIChWTFApIGFuZCBsaXBpZCBuYW5vcGFydGljbGUgKExOUCksIG1heSBzb2x2ZSBzb21lIG9mIHRoZSBpc3N1ZXMuIFRoaXMgcmV2aWV3IHN1bW1hcml6ZXMgZXhpc3RpbmcgaW4gdml2byBkZWxpdmVyeSBzeXN0ZW1zIGFuZCBwb3NzaWJsZSBzb2x1dGlvbnMgdG8gb3ZlcmNvbWUgdGhlaXIgbGltaXRhdGlvbnMuIEFsc28sIHdlIGhpZ2hsaWdodCB0aGUgb25nb2luZyBjbGluaWNhbCB0cmlhbHMgZm9yIGluIHZpdm8gZ2Vub21lIGVkaXRpbmcgdGhlcmFweSBhbmQgcmVjZW50bHkgZGV2ZWxvcGVkIGdlbm9tZSBlZGl0aW5nIHRvb2xzIGZvciB0aGVpciBwb3RlbnRpYWwgYXBwbGljYXRpb25zLn0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9XG4gIGAsYFxuICBAbWFudWFse2NheW1hbl9jaGVtaWNhbF9saXBpZGxhdW5jaF9wcm90b2NvbCxcbiAgICB0aXRsZSAgICAgICAgPSB7TGlwaWRMYXVuY2hcdTIxMjIgTE5QLTEwMiBFeHBsb3JhdGlvbiBLaXQgUHJvdG9jb2x9LFxuICAgIGF1dGhvciAgICAgICA9IHt7Q2F5bWFuIENoZW1pY2FsfX0sXG4gICAgeWVhciAgICAgICAgID0gMjAyNCxcbiAgICB1cmwgICAgICAgICAgPSB7aHR0cHM6Ly9jZG4uY2F5bWFuY2hlbS5jb20vY2RuL2luc2VydC8zNTQyNS5wZGZ9LFxuICAgIG5vdGUgICAgICAgICA9IHtBY2Nlc3NlZDogMjAyNC0wOS0xNn1cbiAgfVxuICBgLGBcbiAgQG1pc2N7Y29yZGVuX3BoYXJtYV9sbnBfMjAyNCxcbiAgICB0aXRsZSAgICAgICAgPSB7TE5QIEZvcm11bGF0aW9uIGFuZCBNYW51ZmFjdHVyaW5nfSxcbiAgICBhdXRob3IgICAgICAgPSB7e0NvcmRlbiBQaGFybWF9fSxcbiAgICB5ZWFyICAgICAgICAgPSAyMDI0LFxuICAgIHVybCAgICAgICAgICA9IHtodHRwczovL2NvcmRlbnBoYXJtYS5jb20vd2hhdC15b3UtbmVlZC9kcnVnLXByb2R1Y3RzL3N1cHBvcnQtc2VydmljZXMvbG5wLWZvcm11bGF0aW9uLW1hbnVmYWN0dXJpbmcvfSxcbiAgICBub3RlICAgICAgICAgPSB7QWNjZXNzZWQ6IDIwMjQtMDktMTh9XG4gIH1cbiAgYCxgXG4gIEBhcnRpY2xle3dlaV9sdW5nXzIwMjMsXG4gICAgdGl0bGUgICAgICAgID0ge0x1bmcge1NPUlR9IHtMTlBzfSBlbmFibGUgcHJlY2lzZSBob21vbG9neS1kaXJlY3RlZCByZXBhaXIgbWVkaWF0ZWQge0NSSVNQUn0ve0Nhc30gZ2Vub21lIGNvcnJlY3Rpb24gaW4gY3lzdGljIGZpYnJvc2lzIG1vZGVsc30sXG4gICAgYXV0aG9yICAgICAgID0ge1dlaSwgVHVvIGFuZCBTdW4sIFllaHVpIGFuZCBDaGVuZywgUWlhbmcgYW5kIENoYXR0ZXJqZWUsIFN1bWFudGEgYW5kIFRyYXlsb3IsIFphY2hhcnkgYW5kIEpvaG5zb24sIExpbmRzYXkgVC4gYW5kIENvcXVlbGluLCBNZWxpc3NhIEwuIGFuZCBXYW5nLCBKaWFsdSBhbmQgVG9ycmVzLCBNaWNoYWVsIEouIGFuZCBMaWFuLCBYaXpoZW4gYW5kIFdhbmcsIFh1IGFuZCBYaWFvLCBZdWZlbiBhbmQgSG9kZ2VzLCBDcmFpZyBBLiBhbmQgU2llZ3dhcnQsIERhbmllbCBKLn0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMyxcbiAgICBtb250aCAgICAgICAgPSBub3YsXG4gICAgam91cm5hbCAgICAgID0ge05hdHVyZSBDb21tdW5pY2F0aW9uc30sXG4gICAgdm9sdW1lICAgICAgID0gMTQsXG4gICAgbnVtYmVyICAgICAgID0gMSxcbiAgICBwYWdlcyAgICAgICAgPSA3MzIyLFxuICAgIGRvaSAgICAgICAgICA9IHsxMC4xMDM4L3M0MTQ2Ny0wMjMtNDI5NDgtMn0sXG4gICAgaXNzbiAgICAgICAgID0gezIwNDEtMTcyM30sXG4gICAgdXJsICAgICAgICAgID0ge2h0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxNDY3LTAyMy00Mjk0OC0yfSxcbiAgICB1cmxkYXRlICAgICAgPSB7MjAyNC0wNC0xNn0sXG4gICAgY29weXJpZ2h0ICAgID0gezIwMjMgVGhlIEF1dGhvcihzKX0sXG4gICAgbm90ZSAgICAgICAgID0ge1B1Ymxpc2hlcjogTmF0dXJlIFB1Ymxpc2hpbmcgR3JvdXB9LFxuICAgIGFic3RyYWN0ICAgICA9IHtBcHByb3hpbWF0ZWx5IDEwXFwlIG9mIEN5c3RpYyBGaWJyb3NpcyAoQ0YpIHBhdGllbnRzLCBwYXJ0aWN1bGFybHkgdGhvc2Ugd2l0aCBDRiB0cmFuc21lbWJyYW5lIGNvbmR1Y3RhbmNlIHJlZ3VsYXRvciAoQ0ZUUikgZ2VuZSBub25zZW5zZSBtdXRhdGlvbnMsIGxhY2sgZWZmZWN0aXZlIHRyZWF0bWVudHMuIFRoZSBwb3RlbnRpYWwgb2YgZ2VuZSBjb3JyZWN0aW9uIHRoZXJhcHkgdGhyb3VnaCBkZWxpdmVyeSBvZiB0aGUgQ1JJU1BSL0NhcyBzeXN0ZW0gdG8gQ0YtcmVsZXZhbnQgb3JnYW5zL2NlbGxzIGlzIGhpbmRlcmVkIGJ5IHRoZSBsYWNrIG9mIGVmZmljaWVudCBnZW5vbWUgZWRpdG9yIGRlbGl2ZXJ5IGNhcnJpZXJzLiBIZXJlaW4sIHdlIHJlcG9ydCBpbXByb3ZlZCBMdW5nIFNlbGVjdGl2ZSBPcmdhbiBUYXJnZXRpbmcgTGlwaWQgTmFub3BhcnRpY2xlcyAoU09SVCBMTlBzKSBmb3IgZWZmaWNpZW50IGRlbGl2ZXJ5IG9mIENhczkgbVJOQSwgc2dSTkEsIGFuZCBkb25vciBzc0ROQSB0ZW1wbGF0ZXMsIGVuYWJsaW5nIHByZWNpc2UgaG9tb2xvZ3ktZGlyZWN0ZWQgcmVwYWlyLW1lZGlhdGVkIGdlbmUgY29ycmVjdGlvbiBpbiBDRiBtb2RlbHMuIE9wdGltaXplZCBMdW5nIFNPUlQgTE5QcyBkZWxpdmVyIG1STkEgdG8gbHVuZyBiYXNhbCBjZWxscyBpbiBBaTkgcmVwb3J0ZXIgbWljZS4gU09SVCBMTlAgdHJlYXRtZW50IHN1Y2Nlc3NmdWxseSBjb3JyZWN0ZWQgdGhlIENGVFIgbXV0YXRpb25zIGluIGhvbW96eWdvdXMgRzU0MlggbWljZSBhbmQgaW4gcGF0aWVudC1kZXJpdmVkIGh1bWFuIGJyb25jaGlhbCBlcGl0aGVsaWFsIGNlbGxzIHdpdGggaG9tb3p5Z291cyBGNTA4ZGVsIG11dGF0aW9ucywgbGVhZGluZyB0byB0aGUgcmVzdG9yYXRpb24gb2YgQ0ZUUiBwcm90ZWluIGV4cHJlc3Npb24gYW5kIGNobG9yaWRlIHRyYW5zcG9ydCBmdW5jdGlvbi4gVGhpcyBwcm9vZi1vZi1jb25jZXB0IHN0dWR5IHdpbGwgY29udHJpYnV0ZSB0byBhY2NlbGVyYXRpbmcgdGhlIGNsaW5pY2FsIGRldmVsb3BtZW50IG9mIG1STkEgTE5QcyBmb3IgQ0YgdHJlYXRtZW50IHRocm91Z2ggQ1JJU1BSL0NhcyBnZW5lIGNvcnJlY3Rpb24ufSxcbiAgICBsYW5ndWFnZSAgICAgPSB7ZW59LFxuICAgIGtleXdvcmRzICAgICA9IHtCaW9tZWRpY2FsIGVuZ2luZWVyaW5nLCBDUklTUFItQ2FzOSBnZW5vbWUgZWRpdGluZywgR2VuZSBkZWxpdmVyeX1cbiAgfVxuICBgLGBcbiAgQGFydGljbGV7SUJSQUhJTTIwMjIyMTUsXG4gICAgdGl0bGUgICAgICAgID0ge1BvbHlldGh5bGVuZSBnbHljb2wgKFBFRyk6IFRoZSBuYXR1cmUsIGltbXVub2dlbmljaXR5LCBhbmQgcm9sZSBpbiB0aGUgaHlwZXJzZW5zaXRpdml0eSBvZiBQRUd5bGF0ZWQgcHJvZHVjdHN9LFxuICAgIGF1dGhvciAgICAgICA9IHtNb2hhbWVkIElicmFoaW0gYW5kIEVzbGFtIFJhbWFkYW4gYW5kIE5laGFsIEUuIEVsc2FkZWsgYW5kIFNoZXJpZiBFLiBFbWFtIGFuZCBUYXJvIFNoaW1penUgYW5kIEhpZGVub3JpIEFuZG8gYW5kIFl1IElzaGltYSBhbmQgT21hciBIZWxteSBFbGdhcmh5IGFuZCBIYXRlbSBBLiBTYXJoYW4gYW5kIEFtYWwgSy4gSHVzc2VpbiBhbmQgVGF0c3VoaXJvIElzaGlkYX0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMixcbiAgICBqb3VybmFsICAgICAgPSB7Sm91cm5hbCBvZiBDb250cm9sbGVkIFJlbGVhc2V9LFxuICAgIHZvbHVtZSAgICAgICA9IDM1MSxcbiAgICBwYWdlcyAgICAgICAgPSB7MjE1LS0yMzB9LFxuICAgIGRvaSAgICAgICAgICA9IHtodHRwczovL2RvaS5vcmcvMTAuMTAxNi9qLmpjb25yZWwuMjAyMi4wOS4wMzF9LFxuICAgIGlzc24gICAgICAgICA9IHswMTY4LTM2NTl9LFxuICAgIHVybCAgICAgICAgICA9IHtodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMTY4MzY1OTIyMDA2MjY1fSxcbiAgICBrZXl3b3JkcyAgICAgPSB7UG9seWV0aHlsZW5lIGdseWNvbCAoUEVHKSwgYW50aS1QRUcgYW50aWJvZGllcywgSHlwZXJzZW5zaXRpdml0eSwgQ09WSUQtMTkgbVJOQSB2YWNjaW5lcywgY29tcGxlbWVudCBhY3RpdmF0aW9uLXJlbGF0ZWQgcHNldWRvYWxsZXJneSAoQ0FSUEEpfSxcbiAgICBhYnN0cmFjdCAgICAgPSB7UG9seWV0aHlsZW5lIGdseWNvbCAoUEVHKSBpcyBhIHZlcnNhdGlsZSBwb2x5bWVyIHRoYXQgaXMgd2lkZWx5IHVzZWQgYXMgYW4gYWRkaXRpdmUgaW4gZm9vZHMgYW5kIGNvc21ldGljcywgYW5kIGFzIGEgY2FycmllciBpbiBQRUd5bGF0ZWQgdGhlcmFwZXV0aWNzLiBFdmVuIHRob3VnaCBQRUcgaXMgdGhvdWdodCB0byBiZSBsZXNzIGltbXVub2dlbmljLCBvciBwZXJoYXBzIGV2ZW4gbm9uLWltbXVub2dlbmljLCB3aXRoIGEgdmFyaWV0eSBvZiBwaHlzaWNvY2hlbWljYWwgcHJvcGVydGllcywgdGhlcmUgaXMgbW91bnRpbmcgZXZpZGVuY2UgdGhhdCBQRUcgY2F1c2VzIGltbXVub2dlbmljIHJlc3BvbnNlcyB3aGVuIGNvbmp1Z2F0ZWQgd2l0aCBvdGhlciBtYXRlcmlhbHMgc3VjaCBhcyBwcm90ZWlucyBhbmQgbmFub2NhcnJpZXJzLiBVbmRlciB0aGVzZSBjb25kaXRpb25zLCBQRUcgd2l0aCBvdGhlciBtYXRlcmlhbHMgY2FuIHJlc3VsdCBpbiB0aGUgcHJvZHVjdGlvbiBvZiBhbnRpLVBFRyBhbnRpYm9kaWVzIGFmdGVyIGFkbWluaXN0cmF0aW9uLiBUaGUgYW50aWJvZGllcyB0aGF0IGFyZSBpbmR1Y2VkIHNlZW0gdG8gaGF2ZSBhIGRlbGV0ZXJpb3VzIGltcGFjdCBvbiB0aGUgdGhlcmFwZXV0aWMgZWZmaWNhY3kgb2Ygc3Vic2VxdWVudGx5IGFkbWluaXN0ZXJlZCBQRUd5bGF0ZWQgZm9ybXVsYXRpb25zLiBJbiBhZGRpdGlvbiwgaHlwZXJzZW5zaXRpdml0eSB0byBQRUd5bGF0ZWQgZm9ybXVsYXRpb25zIGNvdWxkIGJlIGEgc2lnbmlmaWNhbnQgYmFycmllciB0byB0aGUgdXRpbGl0eSBvZiBQRUd5bGF0ZWQgcHJvZHVjdHMuIFNldmVyYWwgcmVwb3J0cyBoYXZlIGxpbmtlZCB0aGUgcHJlc2VuY2Ugb2YgYW50aS1QRUcgYW50aWJvZGllcyB0byBpbmNpZGVuY2VzIG9mIGNvbXBsZW1lbnQgYWN0aXZhdGlvbi1yZWxhdGVkIHBzZXVkb2FsbGVyZ3kgKENBUlBBKSBmb2xsb3dpbmcgdGhlIGFkbWluaXN0cmF0aW9uIG9mIFBFR3lsYXRlZCBmb3JtdWxhdGlvbnMuIFRoZSB1c2Ugb2YgQ09WSUQtMTkgbVJOQSB2YWNjaW5lcywgd2hpY2ggYXJlIGNvbXBvc2VkIG1haW5seSBvZiBQRUd5bGF0ZWQgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcyksIGhhcyByZWNlbnRseSBnYWluZWQgd2lkZSBhY2NlcHRhbmNlLCBhbHRob3VnaCBtYW55IGNhc2VzIG9mIHBvc3QtdmFjY2luYXRpb24gaHlwZXJzZW5zaXRpdml0eSBoYXZlIGJlZW4gZG9jdW1lbnRlZC4gVGhlcmVmb3JlLCBvdXIgcmV2aWV3IGZvY3VzZXMgbm90IG9ubHkgb24gdGhlIGltcG9ydGFuY2Ugb2YgUEVHcyBhbmQgaXRzIGdyZWF0IHJvbGUgaW4gaW1wcm92aW5nIHRoZSB0aGVyYXBldXRpYyBlZmZpY2FjeSBvZiB2YXJpb3VzIG1lZGljYXRpb25zLCBidXQgYWxzbyBvbiB0aGUgaHlwZXJzZW5zaXRpdml0eSByZWFjdGlvbnMgYXR0cmlidXRlZCB0byB0aGUgdXNlIG9mIFBFR3lsYXRlZCBwcm9kdWN0cyB0aGF0IGluY2x1ZGUgUEVHLWJhc2VkIG1STkEgQ09WSUQtMTkgdmFjY2luZXMufVxuICB9XG4gIGAsYFxuICBAYXJ0aWNsZXtaSU1NRVJNQU5OMjAyMjEzNyxcbiAgICB0aXRsZSAgICAgICAgPSB7U3ByYXkgZHJ5aW5nIHNpUk5BLWxpcGlkIG5hbm9wYXJ0aWNsZXMgZm9yIGRyeSBwb3dkZXIgcHVsbW9uYXJ5IGRlbGl2ZXJ5fSxcbiAgICBhdXRob3IgICAgICAgPSB7Q2hyaXN0b3BoIE0uIFppbW1lcm1hbm4gYW5kIERvbWl6aWEgQmFsZGFzc2kgYW5kIEthcmVuIENoYW4gYW5kIE5hdGhhbiBCLlAuIEFkYW1zIGFuZCBBbGluYSBOZXVtYW5uIGFuZCBEaWFuYSBMZWlkeSBQb3JyYXMtR29uemFsZXogYW5kIFhpbiBXZWkgYW5kIE5pa29sYXVzIEtuZWlkaW5nZXIgYW5kIE1pcmNlYSBHYWJyaWVsIFN0b2xlcml1IGFuZCBHZXJhbGQgQnVyZ3N0YWxsZXIgYW5kIERvbWluaWsgV2l0emlnbWFubiBhbmQgUGFvbGEgTHVjaWFuaSBhbmQgT2xpdmlhIE0uIE1lcmtlbH0sXG4gICAgeWVhciAgICAgICAgID0gMjAyMixcbiAgICBqb3VybmFsICAgICAgPSB7Sm91cm5hbCBvZiBDb250cm9sbGVkIFJlbGVhc2V9LFxuICAgIHZvbHVtZSAgICAgICA9IDM1MSxcbiAgICBwYWdlcyAgICAgICAgPSB7MTM3LS0xNTB9LFxuICAgIGRvaSAgICAgICAgICA9IHtodHRwczovL2RvaS5vcmcvMTAuMTAxNi9qLmpjb25yZWwuMjAyMi4wOS4wMjF9LFxuICAgIGlzc24gICAgICAgICA9IHswMTY4LTM2NTl9LFxuICAgIHVybCAgICAgICAgICA9IHtodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MwMTY4MzY1OTIyMDA2MTM3fSxcbiAgICBrZXl3b3JkcyAgICAgPSB7TGlwaWQgbmFub3BhcnRpY2xlcywgTE5QLCBPbnBhdHRyb1x1MDBBRSwgUk5BIHRoZXJhcGV1dGljcywgc2lSTkEgZGVsaXZlcnksIFNwcmF5IGRyeWluZywgUHVsbW9uYXJ5IGRlbGl2ZXJ5LCBSZXNwaXJhdG9yeSBkaXNlYXNlcywgSHVtYW4gcHJlY2lzaW9uLWN1dCBsdW5nIHNsaWNlcywgRm9ybXVsYXRpb24gc2NyZWVuaW5nfSxcbiAgICBhYnN0cmFjdCAgICAgPSB7V2hpbGUgYWxsIHRoZSBzaVJOQSBkcnVncyBvbiB0aGUgbWFya2V0IHRhcmdldCB0aGUgbGl2ZXIsIHRoZSBsdW5ncyBvZmZlciBhIHZhcmlldHkgb2YgY3VycmVudGx5IHVuZHJ1Z2dhYmxlIHRhcmdldHMgd2hpY2ggY291bGQgcG90ZW50aWFsbHkgYmUgdHJlYXRlZCB3aXRoIFJOQSB0aGVyYXBldXRpY3MuIEhlbmNlLCBsb2NhbCwgcHVsbW9uYXJ5IGRlbGl2ZXJ5IG9mIFJOQSBuYW5vcGFydGljbGVzIGNvdWxkIGZpbmFsbHkgZW5hYmxlIGRlbGl2ZXJ5IGJleW9uZCB0aGUgbGl2ZXIuIFRoZSBhZG1pbmlzdHJhdGlvbiBvZiBSTkEgZHJ1Z3MgdmlhIGRyeSBwb3dkZXIgaW5oYWxlcnMgb2ZmZXJzIG1hbnkgYWR2YW50YWdlcyByZWxhdGVkIHRvIHBoeXNpY2FsLCBjaGVtaWNhbCBhbmQgbWljcm9iaWFsIHN0YWJpbGl0eSBvZiBSTkEgYW5kIG5hbm9zdXNwZW5zaW9ucy4gVGhlIHByZXNlbnQgc3R1ZHkgd2FzIHRoZXJlZm9yZSBkZXNpZ25lZCB0byB0ZXN0IHRoZSBmZWFzaWJpbGl0eSBvZiBlbmdpbmVlcmluZyBzcHJheSBkcmllZCBsaXBpZCBuYW5vcGFydGljbGUgKExOUCkgcG93ZGVycy4gU3ByYXkgZHJ5aW5nIHdhcyBwZXJmb3JtZWQgdXNpbmcgNSUgbGFjdG9zZSBzb2x1dGlvbiAobS9WKSwgYW5kIHRoZSB0YXJnZXRzIHdlcmUgc2V0IHRvIG9idGFpbiBuYW5vcGFydGljbGUgc2l6ZXMgYWZ0ZXIgcmVkaXNwZXJzaW9uIG9mIHNwcmF5LWRyaWVkIHBvd2RlcnMgYXJvdW5kIDE1MFx1MjAyRm5tLCBhIHJlc2lkdWFsIG1vaXN0dXJlIGxldmVsIGJlbG93IDUlLCBhbmQgUk5BIGxvc3MgYmVsb3cgMTUlIGF0IG1haW50YWluZWQgUk5BIGJpb2FjdGl2aXR5LiBUaGUgTE5QcyBjb25zaXN0ZWQgb2YgYW4gaW9uaXphYmxlIGNhdGlvbmljIGxpcGlkIHdoaWNoIGlzIGEgc3VsZnVyLWNvbnRhaW5pbmcgYW5hbG9nIG9mIERMaW4tTUMzLURNQSwgYSBoZWxwZXIgbGlwaWQsIGNob2xlc3Rlcm9sLCBhbmQgUEVHLURNRyBlbmNhcHN1bGF0aW5nIHNpUk5BLiBQcmlvciB0byB0aGUgc3ByYXkgZHJ5aW5nLCB0aGUgbGF0dGVyIHByb2Nlc3Mgd2FzIHNpbXVsYXRlZCB3aXRoIGEgbm92ZWwgZHVhbCBlbWlzc2lvbiBmbHVvcmVzY2VuY2Ugc3BlY3Ryb3Njb3B5IG1ldGhvZCB0byBwcmVzZWxlY3QgdGhlIGhpZ2hlc3QgcG9zc2libGUgZHJ5aW5nIHRlbXBlcmF0dXJlIGFuZCBleGNpcGllbnQgc29sdXRpb24gbWFpbnRhaW5pbmcgTE5QIGludGVncml0eSBhbmQgc3RhYmlsaXR5LiBUaHJvdWdoIGNoYXJhY3Rlcml6YXRpb24gb2YgcGh5c2ljb2NoZW1pY2FsIGFuZCBhZXJvZHluYW1pYyBwcm9wZXJ0aWVzIG9mIHRoZSBzcHJheSBkcmllZCBwb3dkZXJzLCBhZG1pbmlzdHJhdGlvbiBjcml0ZXJpYSBmb3IgZGVsaXZlcnkgdG8gdGhlIGxvd2VyIHJlc3BpcmF0b3J5IHRyYWN0IHdlcmUgZnVsZmlsbGVkLiBTcHJheSBkcmllZCBMTlBzIHBlbmV0cmF0ZWQgdGhlIGx1bmcgbXVjdXMgbGF5ZXIgYW5kIG1haW50YWluZWQgYmlvYWN0aXZpdHkgZm9yID45MCUgcHJvdGVpbiBkb3ducmVndWxhdGlvbiB3aXRoIGEgY29uZmlybWVkIHNhZmV0eSBwcm9maWxlIGluIGEgbHVuZyBhZGVub2NhcmNpbm9tYSBjZWxsIGxpbmUuIEFkZGl0aW9uYWxseSwgdGhlIHNwcmF5IGRyaWVkIExOUHMgc3VjY2Vzc2Z1bGx5IGFjaGlldmVkIHVwIHRvIDUwJSBnZW5lIHNpbGVuY2luZyBvZiB0aGUgaG91c2Uga2VlcGluZyBnZW5lIEdBUERIIGluIGV4IHZpdm8gaHVtYW4gcHJlY2lzaW9uLWN1dCBsdW5nIHNsaWNlcyBhdCB3aXRob3V0IGluY3JlYXNpbmcgY3l0b2tpbmUgbGV2ZWxzLiBUaGlzIHN0dWR5IHZlcmlmaWVzIHRoZSBzdWNjZXNzZnVsIHNwcmF5IGRyeWluZyBwcm9jZWR1cmUgb2YgTE5QLXNpUk5BIHN5c3RlbXMgbWFpbnRhaW5pbmcgdGhlaXIgaW50ZWdyaXR5IGFuZCBtZWRpYXRpbmcgc3Ryb25nIGdlbmUgc2lsZW5jaW5nIGVmZmljaWVuY3kgb24gbVJOQSBhbmQgcHJvdGVpbiBsZXZlbHMgYm90aCBpbiB2aXRybyBhbmQgZXggdml2by4gVGhlIHN1Y2Nlc3NmdWwgc3ByYXkgZHJ5aW5nIHByb2NlZHVyZSBvZiBMTlAtc2lSTkEgZm9ybXVsYXRpb25zIGluIDUlIGxhY3Rvc2Ugc29sdXRpb24gY3JlYXRlcyBhIG5vdmVsIHNpUk5BLWJhc2VkIHRoZXJhcHkgb3B0aW9uIHRvIHRhcmdldCByZXNwaXJhdG9yeSBkaXNlYXNlcyBzdWNoIGFzIGx1bmcgY2FuY2VyLCBhc3RobWEsIENPUEQsIGN5c3RpYyBmaWJyb3NpcyBhbmQgdmlyYWwgaW5mZWN0aW9ucy59XG4gIH1cbiAgYCxgXG4gIEBhcnRpY2xle2ppYW5nX2NvbWJpbmF0b3JpYWxfMjAyNCxcbiAgICB0aXRsZSAgICAgICAgPSB7Q29tYmluYXRvcmlhbCBkZXZlbG9wbWVudCBvZiBuZWJ1bGl6ZWQge21STkF9IGRlbGl2ZXJ5IGZvcm11bGF0aW9ucyBmb3IgdGhlIGx1bmdzfSxcbiAgICBhdXRob3IgICAgICAgPSB7SmlhbmcsIEFsbGVuIFkuIGFuZCBXaXR0ZW4sIEphY29iIGFuZCBSYWppLCBJZHJpcyBPLiBhbmQgRXdlamUsIEZleWlzYXlvIGFuZCBNYWNJc2FhYywgQ29yaW5hIGFuZCBNZW5nLCBTYWJyaW5hIGFuZCBPbGFkaW1lamksIEZhdm91ciBBLiBhbmQgSHUsIFlpem9uZyBhbmQgTWFuYW4sIFJhaml0aCBTLiBhbmQgTGFuZ2VyLCBSb2JlcnQgYW5kIEFuZGVyc29uLCBEYW5pZWwgRy59LFxuICAgIHllYXIgICAgICAgICA9IDIwMjQsXG4gICAgbW9udGggICAgICAgID0gbWFyLFxuICAgIGpvdXJuYWwgICAgICA9IHtOYXR1cmUgTmFub3RlY2hub2xvZ3l9LFxuICAgIHZvbHVtZSAgICAgICA9IDE5LFxuICAgIG51bWJlciAgICAgICA9IDMsXG4gICAgcGFnZXMgICAgICAgID0gezM2NC0tMzc1fSxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTAzOC9zNDE1NjUtMDIzLTAxNTQ4LTN9LFxuICAgIGlzc24gICAgICAgICA9IHsxNzQ4LTMzODcsIDE3NDgtMzM5NX0sXG4gICAgdXJsICAgICAgICAgID0ge2h0dHBzOi8vd3d3Lm5hdHVyZS5jb20vYXJ0aWNsZXMvczQxNTY1LTAyMy0wMTU0OC0zfSxcbiAgICB1cmxkYXRlICAgICAgPSB7MjAyNC0wOS0xMH0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9XG4gIGAsYFxuICBAYXJ0aWNsZXt2aWxhLWdvbnphbGV6X3ZpdHJvXzIwMjQsXG4gICAgdGl0bGUgICAgICAgID0ge0luIHZpdHJvIHBsYXRmb3JtIHRvIG1vZGVsIHRoZSBmdW5jdGlvbiBvZiBpb25vY3l0ZXMgaW4gdGhlIGh1bWFuIGFpcndheSBlcGl0aGVsaXVtfSxcbiAgICBhdXRob3IgICAgICAgPSB7VmlsXHUwMEUwLUdvbnpcdTAwRTFsZXosIE1hcnRhIGFuZCBQaW50ZSwgTGFldGl0aWEgYW5kIEZyYWRpcXVlLCBSaWNhcmRvIGFuZCBDYXVzYSwgRXJpa2EgYW5kIEtvb2wsIEhlbGVlbiBhbmQgUm9kcmF0LCBNYXl1cmVlIGFuZCBNb3JlbGwsIENhcm9sYSBNYXJpYSBhbmQgQWwtVGhhbmksIE1haGEgYW5kIFBvcnRlciwgTGluc2V5IGFuZCBHdW8sIFdlbnJ1aSBhbmQgTWFlc2hpbWEsIFJ1aGluYSBhbmQgSGFydCwgU3RlcGhlbiBMLiBhbmQgTWNDYXVnaGFuLCBGcmFuayBhbmQgR3JhbmF0YSwgQWxlc3NhbmRyYSBhbmQgU2hlcHBhcmQsIERhdmlkIE4uIGFuZCBGbG90bywgUi4gQW5kcmVzIGFuZCBSYXdsaW5zLCBFbW1hIEwuIGFuZCBDaWN1dGEsIFBpZXRybyBhbmQgVmFsbGllciwgTHVkb3ZpY30sXG4gICAgeWVhciAgICAgICAgID0gMjAyNCxcbiAgICBtb250aCAgICAgICAgPSBhcHIsXG4gICAgam91cm5hbCAgICAgID0ge1Jlc3BpcmF0b3J5IFJlc2VhcmNofSxcbiAgICB2b2x1bWUgICAgICAgPSAyNSxcbiAgICBudW1iZXIgICAgICAgPSAxLFxuICAgIHBhZ2VzICAgICAgICA9IDE4MCxcbiAgICBkb2kgICAgICAgICAgPSB7MTAuMTE4Ni9zMTI5MzEtMDI0LTAyODAwLTd9LFxuICAgIGlzc24gICAgICAgICA9IHsxNDY1LTk5M1h9LFxuICAgIHVybCAgICAgICAgICA9IHtodHRwczovL3Jlc3BpcmF0b3J5LXJlc2VhcmNoLmJpb21lZGNlbnRyYWwuY29tL2FydGljbGVzLzEwLjExODYvczEyOTMxLTAyNC0wMjgwMC03fSxcbiAgICB1cmxkYXRlICAgICAgPSB7MjAyNC0wOS0xMH0sXG4gICAgYWJzdHJhY3QgICAgID0ge1xuICAgICAgQmFja2dyb3VuZFx1MjAwMiBQdWxtb25hcnkgaW9ub2N5dGVzIGhhdmUgYmVlbiBpZGVudGlmaWVkIGluIHRoZSBhaXJ3YXkgZXBpdGhlbGl1bSBhcyBhIHNtYWxsIHBvcHVsYXRpb24gb2YgaW9uIHRyYW5zcG9ydGluZyBjZWxscyBleHByZXNzaW5nIGhpZ2ggbGV2ZWxzIG9mIENGVFIgKGN5c3RpYyBmaWJyb3NpcyB0cmFuc21lbWJyYW5lIGNvbmR1Y3RhbmNlIHJlZ3VsYXRvciksIHRoZSBnZW5lIG11dGF0ZWQgaW4gY3lzdGljIGZpYnJvc2lzLiBCeSBwcm92aWRpbmcgYW4gaW5maW5pdGUgc291cmNlIG9mIGFpcndheSBlcGl0aGVsaWFsIGNlbGxzIChBRUNzKSwgdGhlIHVzZSBvZiBodW1hbiBpbmR1Y2VkIHBsdXJpcG90ZW50IHN0ZW0gY2VsbHMgKGhpUFNDcykgY291bGQgb3ZlcmNvbWUgc29tZSBjaGFsbGVuZ2VzIG9mIHN0dWR5aW5nIGlvbm9jeXRlcy4gSG93ZXZlciwgdGhlIHByb2R1Y3Rpb24gb2YgQUVDIGVwaXRoZWxpYSBjb250YWluaW5nIGlvbm9jeXRlcyBmcm9tIGhpUFNDcyBoYXMgcHJvdmVuIGRpZmZpY3VsdC4gSGVyZSwgd2UgcHJlc2VudCBhIHBsYXRmb3JtIHRvIHByb2R1Y2UgaGlQU0NkZXJpdmVkIEFFQ3MgKGhpUFNDLUFFQ3MpIGluY2x1ZGluZyBpb25vY3l0ZXMgYW5kIGludmVzdGlnYXRlIHRoZWlyIHJvbGUgaW4gdGhlIGFpcndheSBlcGl0aGVsaXVtLlxuICBcbiAgICAgIE1ldGhvZHNcdTIwMDIgaGlQU0NzIHdlcmUgZGlmZmVyZW50aWF0ZWQgaW50byBsdW5nIHByb2dlbml0b3JzLCB3aGljaCB3ZXJlIGV4cGFuZGVkIGFzIDNEIG9yZ2Fub2lkcyBhbmQgbWF0dXJlZCBieSBhaXItbGlxdWlkIGludGVyZmFjZSBjdWx0dXJlIGFzIHBvbGFyaXNlZCBoaVBTQy1BRUMgZXBpdGhlbGlhLiBVc2luZyBDUklTUFIvQ2FzOSB0ZWNobm9sb2d5LCB3ZSBnZW5lcmF0ZWQgYSBoaVBTQ3Mga25vY2tvdXQgKEtPKSBmb3IgRk9YSTEsIGEgdHJhbnNjcmlwdGlvbiBmYWN0b3IgdGhhdCBpcyBlc3NlbnRpYWwgZm9yIGlvbm9jeXRlIHNwZWNpZmljYXRpb24uIERpZmZlcmVuY2VzIGJldHdlZW4gRk9YSTEgS08gaGlQU0MtQUVDcyBhbmQgdGhlaXIgd2lsZC10eXBlIChXVCkgaXNvZ2VuaWMgY29udHJvbHMgd2VyZSBpbnZlc3RpZ2F0ZWQgYnkgYXNzZXNzaW5nIGdlbmUgYW5kIHByb3RlaW4gZXhwcmVzc2lvbiwgZXBpdGhlbGlhbCBjb21wb3NpdGlvbiwgY2lsaWEgY292ZXJhZ2UgYW5kIG1vdGlsaXR5LCBwSCBhbmQgdHJhbnNlcGl0aGVsaWFsIGJhcnJpZXIgcHJvcGVydGllcy5cbiAgXG4gICAgICBSZXN1bHRzXHUyMDAyIE1hdHVyZSBoaVBTQy1BRUMgZXBpdGhlbGlhIGNvbnRhaW5lZCBiYXNhbCBjZWxscywgc2VjcmV0b3J5IGNlbGxzLCBjaWxpYXRlZCBjZWxscyB3aXRoIG1vdGlsZSBjaWxpYSwgcHVsbW9uYXJ5IG5ldXJvZW5kb2NyaW5lIGNlbGxzIChQTkVDcykgYW5kIGlvbm9jeXRlcy4gVGhlcmUgd2FzIG5vIGRpZmZlcmVuY2UgYmV0d2VlbiBGT1hJMSBXVCBhbmQgS08gaGlQU0NzIGluIHRlcm1zIG9mIHRoZWlyIGNhcGFjaXR5IHRvIGRpZmZlcmVudGlhdGUgaW50byBhaXJ3YXkgcHJvZ2VuaXRvcnMuIEhvd2V2ZXIsIEZPWEkxIEtPIGxlZCB0byBtYXR1cmUgaGlQU0MtQUVDIGVwaXRoZWxpYSB3aXRob3V0IGlvbm9jeXRlcyB3aXRoIHJlZHVjZWQgY2FwYWNpdHkgdG8gcHJvZHVjZSBjaWxpYXRlZCBjZWxscy5cbiAgXG4gICAgICBDb25jbHVzaW9uXHUyMDAyIE91ciByZXN1bHRzIHN1Z2dlc3QgdGhhdCBpb25vY3l0ZXMgY291bGQgaGF2ZSByb2xlIGJleW9uZCB0cmFuc2VwaXRoZWxpYWwgaW9uIHRyYW5zcG9ydCBieSByZWd1bGF0aW5nIGVwaXRoZWxpYWwgcHJvcGVydGllcyBhbmQgaG9tZW9zdGFzaXMgaW4gdGhlIGFpcndheSBlcGl0aGVsaXVtLlxuICAgIH0sXG4gICAgbGFuZ3VhZ2UgICAgID0ge2VufVxuICB9XG4gIGBcbl0iLCAiXG5pbXBvcnQgeyBCdXR0b25PbmVFbmdpbmVlcmluZyB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IG9wZW5FbGVtZW50IH0gZnJvbSBcIi4uL3V0aWxzL29wZW5FbGVtZW50XCI7XG5pbXBvcnQgeyBIMiwgSDMsIEg0LCBINSwgUGhpbGlwSDMgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBDb2xsYXBzaWJsZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0NvbGxhcHNpYmxlXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQgeyBUYWJTY3JvbGxMaW5rIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvTGlua1wiO1xuaW1wb3J0IHsgSW5mb0JveCB9IGZyb20gXCIuLi9jb21wb25lbnRzL0JveGVzXCI7XG5pbXBvcnQgeyBEb3dubG9hZExpbmsgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5pbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIjtcbmltcG9ydCBFbmdUcmZzb3VyY2VzIGZyb20gXCIuLi9zb3VyY2VzL2VuZy10cmYtc291cmNlc1wiO1xuaW1wb3J0IEVuZ1JlcHNvdXJjZXMgZnJvbSBcIi4uL3NvdXJjZXMvZW5nLXJlcG9ydGVyLXNvdXJjZXNcIjtcbmltcG9ydCBFbmdQRXN5c3RlbXMgZnJvbSBcIi4uL3NvdXJjZXMvZW5nLXBlLXNvdXJjZXNcIjtcbmltcG9ydCBFbmdQZWdzb3VyY2VzIGZyb20gXCIuLi9zb3VyY2VzL2VuZy1wZWctc291cmNlc1wiO1xuaW1wb3J0IEVuZ05pY2tzb3VyY2VzIGZyb20gXCIuLi9zb3VyY2VzL2VuZy1uaWNrYXNlcy1zb3VyY2VzXCI7XG5pbXBvcnQgRW5nRGVsc291cmNlcyBmcm9tIFwiLi4vc291cmNlcy9lbmctZGVsaXZlcnktc291cmNlc1wiO1xuaW1wb3J0IHsgVHdvTGluZVBERiwgUERGIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvUGRmc1wiO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBFbmdpbmVlcmluZygpIHtcbiAgIHVzZVRhYk5hdmlnYXRpb24oKTtcbiAgIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24gKCk7XG4gICBjb25zdCB7Z29Ub1BhZ2VBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpO1xuICAgY29uc3Qge2dvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbH0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IG10LTRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxici8+IDxici8+IDxici8+IFxuICAgICAgICAgICAgPGRpdiBpZD1cInRhYi1vdXItY3ljbGVcIiBjbGFzc05hbWU9XCJlbmdpbm5lZXJpbmd0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwiYmxvY2tcIn19PlxuICAgICAgICAgICAgICAgPHNlY3Rpb24gPiA8YnIgaWQ9XCJvYmVuZW5naW5lZXJpbmdcIi8+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVuZy1ib3ggYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPEgyIHRleHQ9XCJPdXIgY3ljbGVcIiBpZD1cIm91ci1jeWNsZS1oZWFkZXJcIj48L0gyPlxuICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBJbiB0aGUgY291cnNlIG9mIG91ciBwcm9qZWN0LCBpbm5vdmF0aXZlIHRob3VnaHRzIHdlcmUgdGFrZW4gdXAsIHJlamVjdGVkLCBlbGFib3JhdGVkLCBkaXNjdXNzZWQgYW5kIHRlc3RlZC4gT24gdGhpcyBwYWdlIHdlIHByZXNlbnQgYSBzZWxlY3Rpb24gb2YgaWRlYXMgdGhhdCBvY2N1cGllZCB1cyB0aGUgbW9zdCBpbiB0aGUgbGFzdCBtb250aC4gT3VyIHRyYWlucyBvZiB0aG91Z2h0IGFyZSByZXByZXNlbnRlZCBpbiBmb3JtIG9mIGl0ZXJhdGlvbnMgb2YgZW5naW5lZXJpbmcgY3ljbGVzLiBFYWNoIGVuZ2luZWVyaW5nIGN5Y2xlIGlzIGNvbXByaXNlZCBvZiBmb3VyIHN0ZXBzOlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+RGVzaWduPC9iPjogSW4gdGhpcyBzdGVwIHRoZSBtb3RpdmF0aW9uIG9yIHByb2JsZW0sIHRoYXQgdGhlIGluZGl2aWR1YWwgaXRlcmF0aW9uIGFkZHJlc3NlcywgaXMgbWVudGlvbmVkLiBBIHRoZW9yZXRpY2FsIGFwcHJvYWNoIGFkZHJlc3NpbmcgdGhlIG1vdGl2YXRpb24gaXMgZXhwbGFpbmVkLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkJ1aWxkPC9iPjogVGhlIHByYWN0aWNhbCBleGFtaW5hdGlvbiBvZiB0aGUgdGhlb3JldGljYWwgcGxhbiBkZXNjcmliZWQgaW4gdGhlIGRlc2lnbiBzZWN0aW9uIGlzIGV4ZWN1dGVkLCBlLiBnLiBieSBwbGFubmluZyBhbiBleHBlcmltZW50LCBieSBjcmVhdGluZyBhIGNvbnN0cnVjdCBpbiBzaWxpY28sIGJ5IGNsb25pbmcuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+VGVzdDwvYj46IFRoZSBpbml0aWFsIGRlc2lnbiBpcyB0ZXN0ZWQsIGVpdGhlciBieSBjb25kdWN0aW5nIGFuIGV4cGVyaW1lbnQsIHRlc3RpbmcgYSBkZXNpZ24gaW4gc2lsaWNvLCBlLiBnLiBieSBtb2RlbGluZywgcmVmdXRpbmcgaWRlYXMgYmFzZWQgb24gbmV3IGlucHV0IG9yIGJhY2tncm91bmQgcmVzZWFyY2ggb3IgZGlzY3Vzc2luZyBhcHByb2FjaGVzIHdpdGggYW4gZXhwZXJ0LiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5MZWFybjwvYj46IEluIHRoaXMgbGFzdCBzZWN0aW9uLCB0ZXN0IHJlc3VsdHMgYXJlIGRpc2N1c3NlZCBhbmQgaW5zaWdodHMgZ2FpbmVkIGluIHRlc3RpbmcgdGhlIGRlc2lnbiBhcmUgZm9ybXVsYXRlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBidXR0b24tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyaWdodFwiPjxCdXR0b25PbmVFbmdpbmVlcmluZyBsYWJlbD1cIk5leHRcIiBvcGVuPVwicmVwb3J0ZXJcIiBzY3JvbGxUb0lkPVwicmVwb3J0ZXItaGVhZGVyXCIvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVuZ2lubmVlcmluZ3RhYlwiIGlkPVwidGFiLXJlcG9ydGVyXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgPHNlY3Rpb24gaWQ9XCJyZXBvcnRlciBzZWNcIiA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVuZy1ib3ggYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPEgyIGlkPVwicmVwb3J0ZXItaGVhZGVyXCIgdGV4dD1cIlByaW1lIEVkaXRpbmcgUmVwb3J0ZXJcIj48L0gyPlxuICAgICAgICAgICAgICAgICAgICAgPHA+UHJpbWUgZWRpdGluZyBpcyBhIGlzIGEgdmVyeSBwcmVjaXNlIGFuZCBzYWZlIG1ldGhvZC4gSG93ZXZlciwgZGVwZW5kaW5nIG9uIHRoZSBnZW5vbWljIGxvY3VzIHRhcmdldGVkLCB0aGUgZWRpdGluZyBlZmZpY2llbmN5IGNhbiBiZSB2ZXJ5IGxvdy4gVGhlIGN5c3RpYyBmaWJyb3NpcyBjYXVzaW5nIENGVFIgRjUwOGRlbCBtdXRhdGlvbiBpcywgYXMgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignbWF0dGlqc2ludicsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBNYXR0aWpzIEJ1bGNhZW4gPC9hPiAgc3RhdGVkIGluIG91ciBpbnRlcnZpZXcsIG9uZSBvZiwgaWYgbm90IHRoZSBtb3N0IG9idmlvdXMgYXBwbGljYXRpb24gb2YgcHJpbWUgZWRpdGluZywgY29uc2lkZXJpbmcgdGhlIGxhcmdlIGFtb3VudCBvZiBwZW9wbGUgYWZmZWN0ZWQuIFRoZSBsYWNrIG9mIHB1YmxpY2F0aW9ucyBhZGRyZXNzaW5nIENGVFIgdGFyZ2V0IGltcGxpZWQsIHRoYXQgdGhlIG11dGF0aW9uIG1pZ2h0IGJlIHBhcnRpY3VsYXJseSBoYXJkIHRvIGVkaXQuIEF0IGxvdyBlZGl0aW5nIGVmZmljaWVuY3ksIHN1Y2Nlc3NmdWwgZWRpdHMgYXJlIGhhcmQsIGlmIG5vdCBpbXBvc3NpYmxlIHRvIGRpc3Rpbmd1aXNoIGZyb20gdGhlIGJhY2tncm91bmQgbm9pc2UgdXNpbmcgY29udmVudGlvbmFsIG1ldGhvZHMgbGlrZSBzYW5nZXIgc2VxdWVuY2luZyBvciBxUENSLiBBcyBhIGJhc2lzIHRvIGVmZmVjdGl2ZWx5IHRlc3Qgb3VyIGFwcHJvYWNoIGFuZCBzY3JlZW4gZm9yIHdvcmtpbmcgcGVnUk5Bcywgd2UgbmVlZGVkIGEgaGlnaGx5IHNlbnNpdGl2ZSBtZXRob2Qgb2YgZGV0ZWN0aW9uIHdpdGggYXMgbGl0dGxlIG5vaXNlIGFzIHBvc3NpYmxlIHRvIG9wdGltaXplIG91ciBwcmltZSBlZGl0aW5nIGFwcHJvYWNoIGZvciBnZW5vbWljIENGVFIgdGFyZ2V0aW5nLjwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cInJlcDFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwiQSBGbHVvcmVzY2VuY2UgUmVwb3J0ZXJcIiBpZD1cInJlcDFoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBXZSByZWFzb25lZCB0aGF0IHRoZSBlYXNpZXN0IHdheSBvZiBkZXRlY3RpbmcgRE5BIGNoYW5nZXMgaW4gYSBjZWxsIHdvdWxkIGJlIGZsdW9yZXNjZW5jZS4gT3VyIGluaXRpYWwgaWRlYSB3YXMgdG8gY3JlYXRlIHBlZ1JOQXMgdGFyZ2V0aW5nIHRoZSBjb2Rpbmcgc2VxdWVuY2Ugb2YgYSBmbHVvcmVzY2VudCBwcm90ZWluLCB0aGF0IHdvdWxkIGludHJvZHVjZSBhIG11dGF0aW9uIHJlc3VsdGluZyBpbiBhIGRpZmZlcmVudCBlbWlzc2lvbiwgZ2l2aW5nIGVhc2lseSBkZXRlY3RhYmxlIGZlZWRiYWNrIG9mIGNvcnJlY3QgZWRpdGluZy4gVGhlIG9yaWdpbmFsIEFlcXVvcmVhIHZpY3RvcmlhIEdGUCBwcm90ZWluIGRpZmZlcnMgZnJvbSBhdkdGUChZNjZXKSwgZW1pdHRpbmcgbGlnaHQgaW4gYSB3YXZlbGVuZ3RoIG9mIGFyb3VuZCA1MDkgbm0gKGN5YW4pLCBhbmQgYXZHRlAoWTY2SCksIGVtaXR0aW5nIGxpZ2h0IGluIGEgd2F2ZWxlbmd0aCBvZiBhcm91bmQgNDQ4IG5tIChibHVlKSBieSBvbmx5IG9uZSBhbWlubyBhY2lkIHN1YnN0aXR1dGlvbiBlYWNoLjxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1yZXBvcnRlclwiIG51bT1cIjFcIiBzY3JvbGxJZD1cImRlc2MtMVwiLz4gUHJpbWUgZWRpdGluZyBjb3VsZCB0aGVyZWZvcmUgYmUgdmlzdWFsaXplZCBieSBmYWNpbGl0YXRpbmcgdGhlc2Ugc3Vic3RpdHV0aW9ucyB3aXRoIGEgcHJpbWUgZWRpdG9yLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwiYnVpbGQtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gdGhpcyBlbmQsIHRoZSB3aWxkLXR5cGUgYW5kIGVkaXRlZCB2ZXJzaW9ucyBvZiB0aGUgYXZHRlAgd2VyZSBwdXQgaW4gY29udHJhc3QgYW5kIHdlIHN0YXJ0ZWQgc2VhcmNoaW5nIGZvciBwb3RlbnRpYWwgcGVnUk5BcyBmb3IgZWRpdGluZyBvbmUgaW50byB0aGUgb3RoZXIuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9yZXAtaXQxLnN2Z1wiIGFsdD1cIklsbHVzdHJhdGlvbiBvZiBmbHVvcmVzY2VuY2Ugd2F2ZWxlbmd0aCBjaGFuZ2UgcmVwb3J0ZXJcIi8+ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSAxOiBJbGx1c3RyYXRpb24gb2YgYSByZXBvcnRlciBzeXN0ZW0gYmFzZWQgb24gdGhlIGludHJvZHVjdGlvbiBvZiBhIHNpbmdsZSBhbWlubyBhY2lkIHN1YnN0aXR1dGlvbiBpbnRvIEdGUCBwbGFzbWlkcyB0cmFuc2Zvcm1lZCBpbnRvIEhFSzI5MyBjZWxscyBjaGFuZ2luZyB0aGUgZW1pc3Npb24gc3BlY3RydW0gaW4gYSBkZXRlY3RhYmxlIHdheS48L2I+IDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXN0LWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoZW4gdHJ5aW5nIHRvIGZpbmQgcHJvdG9zcGFjZXJzIGZvciBDYXM5IGFuZCBvdGhlciBwb3NzaWJsZSBuaWNrYXNlczxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ25pY2thc2UnLCAnL2VuZ2luZWVyaW5nJyl9PiBuaWNrYXNlcyA8L2E+ICwgd2Ugbm90aWNlZCwgdGhhdCB0aGUgbG9jdXMgb2YgdGhlIG11dGF0aW9ucyBpcyB0b28gZmFyIGF3YXkgZnJvbSBhbnkgU3B1RnoxIFRBTSBzZXF1ZW5jZXMuIEFkZGl0aW9uYWxseSwgdGhlIGFwcGxpY2FiaWxpdHkgb2YgaW5zaWdodHMgZ2FpbmVkIHRocm91Z2ggcGVnUk5BIG9wdGltaXphdGlvbiBpbiB0aGlzIGxvY3VzIHRvIENGVFIgZWRpdGluZyB3b3VsZCBhbHNvIGJlIHZlcnkgbGltaXRlZCBkdWUgdG8gdGhlIHZhc3QgZGlmZmVyZW5jZXMgaW4gdGhlIHNlcXVlbmNlIG9mIHByb3Rvc3BhY2VyW2xpbmtdIGFuZCBzdXJyb3VuZGluZyBnZW5vbWljIHJlZ2lvbi4gQWRkaXRpb25hbGx5LCB3ZSBsZWFybmVkIGZyb20gb3VyIGludGVydmlldyB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ21hdHRpanNpbnYnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gTWF0dGlqcyBCdWxjYWVuIDwvYT4gdGhhdCB0aGUgdHlwZSBvZiBlZGl0IChpbnNlcnRpb24sIHN1YnN0aXR1dGlvbiBvciBkZWxldGlvbikgc2lnbmlmaWNhbnRseSBpbXBhY3RzIGVkaXRpbmcgZWZmaWNpZW5jeS4gQSBtdXRhdGlvbiBjaGFuZ2luZyBHRlAgdG8gQkZQIHdvdWxkIGhhdmUgdG8gYmUgYSBzdWJzdGl0dXRpb24gaW5zdGVhZCBvZiB0aGUgdGhyZWUtbnVjbGVvdGlkZSBpbnNlcnRpb24gbmVlZGVkIHRvIGNvcnJlY3QgQ0ZUUiBGNTA4ZGVsLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwibGVhcm4taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbSBvdXIgb2JzZXJ2YXRpb25zIHdlIGxlYXJuZWQgdGhhdCBhIHJlcG9ydGVyIHN5c3RlbSBpcyBvbmx5IG9mIHVzZSwgaWYgaXQgY2FuIHJlYWxseSBtaW1pYyB0aGUgZ2Vub21pYyB0YXJnZXQgb2YgY2hvaWNlLiBUaGUgYWRqdXN0bWVudHMgdG8gYmUgbWFkZSB0byBjcmVhdGUgYSBwZWdSTkEgdGFyZ2V0aW5nIHRoZSBnZW5vbWljIHRhcmdldCBmcm9tIGEgcGVnUk5BIHRhcmdldGluZyB0aGUgcmVwb3J0ZXIgc2hvdWxkIGJlIGFzIG1pbm9yIGFzIHBvc3NpYmxlLiBUaGlzIGluY2x1ZGVzIGEgc2ltaWxhciBzcGFjZXIgYW5kIGEgc2ltaWxhciBlZGl0IHRvIGJlIG1hZGUuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJyZXAyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIlByb29mIG9mIENvbmNlcHQgZm9yIFBFQVJcIiBpZD1cInJlcDJoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBBZnRlciBleHRlbnNpdmUgcmVzZWFyY2ggd2UgY2FtZSBhY3Jvc3MgdGhlIHByaW1lIGVkaXRvciBhY3Rpdml0eSByZXBvcnRlciAoUEVBUikgY3JlYXRlZCBieSBTaW1vbiBldCBhbC4gKDIwMjIpPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXJlcG9ydGVyXCIgbnVtPVwiMlwiIHNjcm9sbElkPVwiZGVzYy0yXCIvPiwgd2hpY2ggaXMgdGhlIHRlbXBsYXRlIG91ciBtb2RpZmllZCByZXBvcnRlciBwbGFzbWlkIGlzIGJhc2VkIG9uLiBUaGUgUEVBUiBwbGFzbWlkIGNvbnRhaW5zIGFuIGVHRlAgY29kaW5nIHNlcXVlbmNlIHdpdGggYW4gaW50cm9uIGRlcml2ZWQgZnJvbSB0aGUgbW91c2UgVmltIGdlbmUuIElmIHRoZSBpbnRyb24gaXMgcmVtb3ZlZCBkdXJpbmcgUk5BIHNwbGljaW5nLCB0aGUgdHdvIGV4b25zIGZvcm0gYSBjb250aW51b3VzIG9wZW4gcmVhZGluZyBmcmFtZS4gQnkgbXV0YXRpbmcgdGhlIDVcdTIwMTkgc3BsaWNpbmcgc2lnbmFsLCBhIHRhcmdldCBpcyBjcmVhdGVkIHdoaWNoLCB1cG9uIGNvcnJlY3QgZWRpdGluZywgbGVhZHMgdG8gYSBnYWluLW9mLWZ1bmN0aW9uLiBUaGUgcmVzdWx0aW5nIGZsdW9yZXNjZW5jZSBjYW4gYmUgaW1hZ2VkIHVzaW5nIGNvbmZvY2FsIG1pY3Jvc2NvcHkgb3IgcXVhbnRpZmllZCBieSBtZWFucyBvZiBmbHVvcmVzY2VuY2UgYWN0aXZhdGVkIGNlbGwgc29ydGluZyAoRkFDUykuIE5vdGFibHksIHRoZSBhcmVhIGRvd25zdHJlYW0gb2YgdGhlIDVcdTIwMTkgc3BsaWNlIHNpZ25hbCBpcyBpbnRyb25pYywgYW5kIHRodXMgY2FuIGJlIGVkaXRlZCB3aXRob3V0IGFueSBpbXBhY3Qgb24gdGhlIGNvZGluZyBzZXF1ZW5jZS4gQWRkaXRpb25hbGx5LCBTaW1vbiBldCBhbC4gc2hvd2VkLCB0aGF0IFx1MjAxQ2VmZmljaWVuY3kgb2YgcHJpbWUgZWRpdGluZyB0byBtb2RpZnkgUEVBUiBwbGFzbWlkcyBpcyBnb3Zlcm5lZCBieSB0aGUgc2FtZSBmYWN0b3JzIGFzIHByaW1lIGVkaXRpbmcgaW4gZ2Vub21pYyBjb250ZXh0XHUyMDFELiBXZSByZWFzb25lZCB0aGF0IHRoaXMgc3lzdGVtIG1pZ2h0IGJlIGZsZXhpYmxlLCBhbmQgc2Vuc2l0aXZlIGVub3VnaCB0byBidWlsZCBvdXIgb3B0aW1pemF0aW9ucyBzdHJhdGVnaWVzIHVwb24uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJidWlsZC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBTaW5jZSBub25lIG9mIHVzIGhhZCBhbnkgZXhwZXJpZW5jZSBpbiBwcmltZSBlZGl0aW5nIGJlZm9yZSBvdXIgcHJvamVjdCwgd2Ugd2FudGVkIHRvIHRlc3Qgd2hldGhlciB3ZSBjYW4gZmFjaWxpdGF0ZSBwcmltZSBlZGl0aW5nIGluIHRoZSBmaXJzdCBwbGFjZS4gVG8gZG8gdGhpcyBhbmQgYWxzbyBhc3Nlc3MgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIFBFQVIgc3lzdGVtLCB3ZSBzZXQgdXAgYSBwcm9vZiBvZiBjb25jZXB0IHVzaW5nIHRoZSBQRUFSIDJpbjEgc3lzdGVtLiBUaGlzIHBsYXNtaWQgaW5jbHVkZXMgbm90IG9ubHkgdGhlIGVHRlAgd2l0aCBhbmQgaW50cm9uIGFuZCBkaXNydXB0ZWQgNVx1MjAxOSBzcGxpY2Ugc2l0ZSwgYnV0IGFsc28gYSBwZWdSTkEgZXhwcmVzc2lvbiBjYXNzZXR0ZS4gVGhlIHBlZ1JOQSBpcyBkZXNpZ25lZCBpbiBhIHdheSB0aGF0LCBpbiBjb21iaW5hdGlvbiB3aXRoIGEgcHJpbWUgZWRpdGluZyBwcm90ZWluIGNvbXBsZXgsIGNvcnJlY3RzIHRoZSBkaXNydXB0ZWQgc3BsaWNpbmcgc2lnbmFsLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXN0LWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoZSBleHBlcmltZW50LCB3ZSB0cmFuc2ZlY3RlZCBIRUsyOTMgY2VsbHMgKGFzIHJlY29tbWVuZGVkIGJ5IDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ21hdHRpanNpbnYnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gTWF0dGlqcyBCdWxjYWVuIDwvYT4pIHdpdGggdGhlIHBDTVYtUEUyIHByaW1lIGVkaXRvcltsaW5rIFBFIHN5c3RlbXNdIHBsYXNtaWQgYW5kIHRoZSBwREFTMTI0ODlfUEVBUi1HRlBfMmluMV8yLjAgbWVudGlvbmVkIGFib3ZlLiBPdXIgZmlyc3QgcHJvb2Ygb2YgY29uY2VwdCBzdWNjZWVkZWQgYXMgd2UgY291bGQgc2VlIGZsdW9yZXNjZW50IGNlbGxzIDcyIGggYWZ0ZXIgdHJhbnNmZWN0aW9uLiBJbiBjb250cmFzdCwgbmVnYXRpdmUgY29udHJvbHMgd2l0aCBvbmx5IG9uZSBvZiB0aGUgcGxhc21pZHMgdHJhbnNmZWN0ZWQgZGlkIG5vdCBzaG93IGFueSBmbHVvcmVzY2VuY2UuIEhvd2V2ZXIsIHRoZSB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSBpbiBvdXIgaW5pdGlhbCB0ZXN0IHJ1bnMgd2FzIHF1aXRlIGxvdywgYXMgaW5kaWNhdGVkIGJ5IGEgdGVjaG5pY2FsIHBvc2l0aXZlIGNvbnRyb2wuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9yZXAtaXQyLnN2Z1wiIGFsdD1cIklsbHVzdHJhdGlvbiBvZiB0aGUgcHJvb2Ygb2YgY29uY2VwdCB1c2luZyB0aGUgUEVBUjJpbjEgc3lzdGVtXCIvPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj48Yj5GaWd1cmUgMjo8L2I+IElsbHVzdHJhdGlvbiBvZiB0aGUgcHJvb2Ygb2YgY29uY2VwdCBleHBlcmltZW50LiBIRUsyOTMgY2VsbHMgdHJhbnNpZW50bHkgdHJhbnNmb3JtZWQgd2l0aCB0aGUgcERhczEyMTg5X1BFQVItR0ZQXzJpbjFfMi4wIHBsYXNtaWQgb24gdGhlIGxlZnQgc2lkZSBzaG93IGZsdW9yZXNjZW5jZSBhZnRlciB0cmFuc2Zvcm1hdGlvbiB3aXRoIGEgcHJpbWUgZWRpdG9yIGV4cHJlc3Npb24gcGxhc21pZC48L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcHJvdmVkLCB0aGF0IG5vdCBvbmx5IHdlIHdlcmUgYWJsZSB0byB1c2UgcHJpbWUgZWRpdGluZyBpbiBvdXIgbW9kZWwsIGJ1dCBhbHNvIHRoYXQgdGhlIFBFQVIgcmVwb3J0ZXIgc3lzdGVtIGNhbiByZXBvcnQgc3VjY2Vzc2Z1bCBwcmltZSBlZGl0aW5nLiBUaG91Z2ggdGhpcyB3YXMgYSB2ZXJ5IHByb21pc2luZyBzdGFydCwgZnVydGhlciBzdGVwcyBoYWQgdG8gYmUgdGFrZW4gdG8gZW5hYmxlIGNvbnRleHQgc3BlY2lmaWMgdGVzdGluZyBvZiBwcmltZSBlZGl0aW5nLiBGaXJzdGx5LCB0aGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgaGFkIHRvIGJlIGltcHJvdmVkIChzZWUgVHJhbnNmZWN0aW9uIE9wdGltaXphdGlvbltsaW5rXSkuIFNlY29uZGx5LCB0aGUgcmVwb3J0ZXIgaGFkIHRvIGJlIG1vZGlmaWVkIGluIGEgd2F5IHRoYXQgcmVzZW1ibGVzIHRoZSBnZW5vbWljIENGVFIgdGFyZ2V0LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwicmVwM1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJDb250ZXh0dWFsaXphdGlvbiBvZiBQRUFSXCIgaWQ9XCJyZXAzaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJkZXNpZ24taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIG9yaWdpbmFsIFBFQVIgcGxhc21pZCBwREFTMTIxMjRfUEVBUi1HRlAtcHJlZWRpdGVkIHRoYXQgd2UgYm91Z2h0IGZyb20gQWRkR2VuZSByZXByZXNlbnRzLCBhcyB0aGUgbmFtZSBzdWdnZXN0cywgaG93IHRoZSByZXBvcnRlciBzaG91bGQgbG9vayBsaWtlIGFmdGVyIHN1Y2Nlc3NmdWwgZWRpdGluZyBhbmQgY2FuIHRodXMgYmUgdXNlZCBhcyBhIHBvc2l0aXZlIGNvbnRyb2wgYW5kIGZvciBub3JtYWxpemF0aW9uLiBUbyBhbHRlciB0aGUgUEVBUiBwbGFzbWlkIHNvIHRoYXQgaXQgbWltaWNzIHRoZSBtdXRhdGVkIGdlbm9taWMgQ0ZUUiB0YXJnZXQsIHdlIGZpcnN0IGFuYWx5emVkIHRoZSByZWdpb24gc3Vycm91bmRpbmcgQ0ZUUiBGNTA4ZGVsIG11dGF0aW9uLiBBcyB0aGUgbXV0YXRpb24gaXMgYSB0aHJlZSBiYXNlIHBhaXIgZGVsZXRpb24sIHdlIGludHJvZHVjZWQgdGhlIHZlcnkgc2FtZSBhdCB0aGUgNVx1MjAxOSBzcGxpY2luZyBzaWduYWwuIEZvciB0aGlzIG1vZGlmaWNhdGlvbiB0byByZWxpYWJseSBkaXNydXB0IGludHJvbiBzcGxpY2luZyBhbmQgdGh1cyBlR0ZQIGV4cHJlc3Npb24sIHdlIGVmZmVjdGl2ZWx5IHJlbW92ZWQgdGhlIEdUIGJhc2VzIG9mIHRoZSBpbnRyb25pYyA1XHUyMDE5IHNwbGljZSBkb25vciBzaXRlIGFzIHdlbGwgYXMgdGhlIHByZWNlZGluZywgZXhvbmljIEcgYmFzZSBvZiB0aGUgNVx1MjAxOSBmbGFua2luZyBzZXF1ZW5jZS4gU2Vjb25kbHksIHdlIHJlcGxhY2VkIHRoZSBpbnRyb25pYyByZWdpb24gZG93bnN0cmVhbSBvZiB0aGUgZm91ciBiYXNlIHBhaXIgM1x1MjAxOSBmbGFua2luZyByZWdpb24gd2l0aCB0aGUgcmVzcGVjdGl2ZSBzZXF1ZW5jZSBmcm9tIHRoZSBDRlRSIGxvY3VzLiBUaGlzIDI3IGJwIHN1YnN0aXR1dGUgaW5jbHVkZWQgYSBQQU0gc2VxdWVuY2UsIGFuIGVudGlyZSBzcGFjZXIgYXMgd2VsbCBhcyBmb3VyIGFkZGl0aW9uYWwgYmFzZSBwYWlycyBpbiBiZXR3ZWVuIHByZXNlbnQgaW4gdGhlIG9yaWdpbmFsIGdlbmUgc2VxdWVuY2UuIExhc3RseSwgd2UgaW50cm9kdWNlZCBzaWxlbnQgbXV0YXRpb25zIHVwc3RyZWFtIG9mIHRoZSA1XHUyMDE5IGZsYW5raW5nIHNlcXVlbmNlIHRoYXQgbG93ZXJlZCB0aGUgR0MgY29udGVudC4gVGhpcyB3YXMgdG8gbWltaWMgdGhlIEFULXJpY2ggcmVnaW9uIHByZWNlZGluZyB0aGUgRjUwOGRlbCBtdXRhdGlvbiBpbiB0aGUgQ0ZUUiBnZW5lLiBUaGlzIHJldmVhbHMgb25lIG9mIHRoZSBuZWNlc3Nhcnkgc2hvcnRjb21pbmdzIG9mIHRoaXMgcmVwb3J0ZXI6IEVkaXRzIHVwc3RyZWFtIG9mIHRoZSA1XHUyMDE5IGRvbm9yIHNpdGUgYXJlIGhlYXZpbHkgcmVzdHJpY3RlZCBieSB0aGUgZUdGUCBjb2Rpbmcgc2VxdWVuY2UuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9yZXAtaXQzX3N0cmF0ZWd5LnN2Z1wiIGFsdD1cIk1vZGlmaWNhdGlvbiBzdHJhdGVneSBmb3IgY3JlYXRpb24gb2YgdGhlIHBQRUFSX0NGVFIgcGxhc21pZFwiLz4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIDM6PC9iPiBJbGx1c3RyYXRpb24gb2YgdGhlIG1vZGlmaWNhdGlvbiBzdHJhdGVneSBmb3IgdGhlIHBQRUFSX0NGVFIgcmVwb3J0ZXIuIFRoZSBwREFTMTIxMjRfUEVBUi1HRlAtcHJlZWRpdGVkIHBsYXNtaWQgd2FzIG1vZGlmaWVkIGJ5IGludHJvZHVjaW5nIGEgMyBicCBkZWxldGlvbiByZXNlbWJsaW5nIHRoZSBGNTA4ZGVsIG11dGF0aW9uLCBpbnNlcnRpbmcgYSAyNyBicCBzZXF1ZW5jZSBmcm9tIHRoZSBnZW5vbWljIENGVFIgdGFyZ2V0IGluY2x1ZGluZyBQQU0gYW5kIHByb3Rvc3BhY2VyIHNlcXVlbmNlIGFzIHdlbGwgYXMgbWFraW5nIHNpbGVudCBlZGl0cyB0byBhY2NvdW50IGZvciB0aGUgQVQtcmljaCByZWdpb24gdXBzdHJlYW0gb2YgdGhlIG11dGF0aW9uLjwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwiYnVpbGQtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UgY29uc3RydWN0ZWQgdGhlIHJlcG9ydGVyIHN5c3RlbSBieSBmaXJzdCBhbmFseXppbmcgdGhlIG9yaWdpbmFsIHBsYXNtaWQgdG8gaWRlbnRpZnkgYXBwcm9wcmlhdGUgcmVzdHJpY3Rpb24gc2l0ZXMuIFdlIHRoZW4gZGlnZXN0ZWQgdGhlIHBsYXNtaWQgYmFja2JvbmUgYW5kIGNsb25lZCBpbiBhIGdlbmUgc3ludGhlc2lzIGZyYWdtZW50IG9yZGVyZWQgYXQgSURUIGNvbnRhaW5pbmcgdGhlIGVkaXRzIHZpYSBHaWJzb24gQXNzZW1ibHkgY2xvbmluZy4gVGhlIGNvcnJlY3QgY2xvbmluZyB3YXMgdmFsaWRhdGVkIGZpcnN0IGJ5IGNvbG9ueSBQQ1IgYW5kIHRoZW4gYnkgc2VxdWVuY2luZyB0aGUgcmVnaW9ucyBvZiB0aGUgcGxhc21pZCBjb250YWluaW5nIHRoZSBjbG9uaW5nIHNpdGVzIGFuZCBvdXIgbW9kaWZpY2F0aW9ucy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGVzdC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBXZSBldmFsdWF0ZWQgdGhlIGZ1bmN0aW9uYWxpdHkgb2Ygb3VyIHJlcG9ydGVyIHN5c3RlbSBieSBjby10cmFuc2ZlY3Rpbmcgb3VyIHJlcG9ydGVyIGNvbnN0cnVjdCB3aXRoIGEgcENNVi1QRTIgcHJpbWUgZWRpdG9yIHBsYXNtaWQgYXMgd2VsbCBhcyBhIHBsYXNtaWQgZXhwcmVzc2luZyBwZWdSTkEgdGhhdCB0YXJnZXRlZCBvdXIgcmVwb3J0ZXIgKHNlZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdwZWdybmEnLCAnL2VuZ2luZWVyaW5nJyl9PiBwZWdSTkEgZW5naW5lZXJpbmcgY3ljbGUgPC9hPikgaW50byBIRUsyOTMgY2VsbHMuIEFmdGVyIDcyIGggd2Ugc2F3IGEgc2lnbmlmaWNhbnQgbnVtYmVyIG9mIGNlbGxzIHNob3dpbmcgZmx1b3Jlc2NlbmNlLiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkaXRpb25hbGx5LCBmb3IgcG9zaXRpdmUgY29udHJvbHMgd2UgdHJhbnNmZWN0ZWQgYSB0ZWNobmljYWwgY29udHJvbCBwbGFzbWlkIGFzIHdlbGwgdGhlIHVubW9kaWZpZWQgcERBUzEyMTI0X1BFQVItR0ZQLXByZWVkaXRlZCBwbGFzbWlkLCB3aGljaCBjb3VsZCBiZSB1c2VkIHRvIGRldGVybWluZSB0aGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgYXMgd2VsbCBhcyBub3JtYWxpemUgdGhlIGVkaXRpbmcgZWZmaWNpZW5jeS4gQXMgbmVnYXRpdmUgY29udHJvbHMsIG91ciBtb2RpZmllZCBwbGFzbWlkLCBwQ01WLVBFMiBhbmQgdGhlIHBlZ1JOQSBwbGFzbWlkIHdlcmUgdHJhbnNmZWN0ZWQuIFRoZSBwb3NpdGl2ZSBjb250cm9scyBzaG93ZWQgZmx1b3Jlc2NlbmNlLCB3aGlsZSB0aGUgbmVnYXRpdmUgY29udHJvbCBkaWQgbm90LiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL3JlcC1pdDMuc3ZnXCIgYWx0PVwiSWxsdXN0cmF0aW9uIG9mIHBlZ1JOQSB0ZXN0aW5nIHVzaW5nIHRoZSBwUEVBUl9DRlRSIHN5c3RlbVwiLz4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIDQ6PC9iPiBJbGx1c3RyYXRpb24gb2YgdGhlIHBlZ1JOQSB0ZXN0aW5nIHVzaW5nIHRoZSBwUEVBUl9DRlRSIHN5c3RlbS4gSEVLMjkzIGNlbGxzIHRyYW5zaWVudGx5IHRyYW5zZm9ybWVkIHdpdGggdGhlIHBQRUFSX0NGVFIgcGxhc21pZCAoaW4gdGhlIG1pZGRsZSkgc2hvdyBmbHVvcmVzY2VuY2UgYWZ0ZXIgdHJhbnNmb3JtYXRpb24gd2l0aCBhIHByaW1lIGVkaXRvciBhbmQgYSByZXBvcnRlci1zcGVjaWZpYyBwZWdSTkEgZXhwcmVzc2lvbiBwbGFzbWlkLiBUaGUgcERBUzEyMTI0X1BFQVItR0ZQLXByZWVkaXRlZCBpcyB1c2VkIGFzIGFuIGludGVybmFsIHBvc2l0aXZlIGNvbnRyb2wgYW5kIGZvciBub3JtYWxpemF0aW9uLjwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwibGVhcm4taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgT3VyIHJlc3VsdHMgZGVtb25zdHJhdGUgdGhyZWUgdGhpbmdzOiBGaXJzdGx5LCB0aGUgb3JpZ2luYWwgcERBUzEyMTI0X1BFQVItR0ZQLXByZWVkaXRlZCBwbGFzbWlkIGxlYWRzIHRvIHVuZGlzcnVwdGVkIGV4cHJlc3Npb24gb2YgZUdGUCBpbiB0aGUgdHJhbnNmZWN0ZWQgY2VsbHMuIFNlY29uZGx5LCB0aGUgbW9kaWZpY2F0aW9ucyB0aGF0IHdlIG1hZGUgdG8gY3JlYXRlIG91ciBvd24sIGNvbnRleHQgc3BlY2lmaWMgUEVBUiBwbGFzbWlkIHByZXZlbnRlZCBwcm9wZXIgZXhwcmVzc2lvbiBvZiBlR0ZQIGluIHRyYW5zZmVjdGVkLCB1bmVkaXRlZCBjZWxscyBhcyBwbGFubmVkIGFuZCBub3RhYmx5IHdpdGggbm8gYXBwYXJlbnQgbm9pc2UuIFRoZSBsYXN0IGFuZCBtb3N0IGltcG9ydGFudCBpbnNpZ2h0IGdhaW5lZCB3YXMsIHRoYXQgZWRpdGluZyBvZiB0aGUgcmVwb3J0ZXIgcGxhc21pZCB1c2luZyByZXNwZWN0aXZlIHBlZ1JOQXMgc3VjY2Vzc2Z1bGx5IHJlc3RvcmVzIGVHRlAgZXhwcmVzc2lvbiwgcHJvdmluZyB0aGF0IG91ciByZXBvcnRlciB3b3JrcyBhcyBpbnRlbmRlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+VGhpcyBhY2hpZXZlbWVudCBmb3JtZWQgYSBjb252ZW5pZW50IGJhc2lzIGZvciB0aGUgZm9sbG93aW5nIG9wdGltaXphdGlvbiBvZiBwcmltZSBlZGl0aW5nIGluIHRoZSBDRlRSIEY1MDhkZWwgbG9jdXMgZm9yIHVzIGFzIHdlbGwgYXMgb3RoZXIgcmVzZWFyY2ggZ3JvdXBzLjwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cInJlcDRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwiQXBwbGljYXRpb24gaW4gZXBpdGhlbGlhbCBDZWxsc1wiIGlkPVwicmVwNGhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwiZGVzaWduLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsdGhvdWdoIHdlIGNvdWxkIHNob3cgdGhhdCBvdXIgUEVBUiByZXBvcnRlciBwbGFzbWlkIHdvcmtzIGluIGEgSEVLIGNlbGwgbW9kZWwsIGFjY29yZGluZyB0byA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdpZ25hdG92YScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBQcm9mLkRyLiBab3lhIElnbmF0b3ZhIDwvYT4gaW5zaWdodHMgZ2FpbmVkIGhlcmUgbWlnaHQgc3RpbGwgbm90IGVudGlyZWx5IHRyYW5zZmVyIHRvIGNlbGxzIGFjdGl2ZWx5IGV4cHJlc3NpbmcgQ0ZUUi4gQXMgcmVjb21tZW5kZWQsIHdlIGFwcGxpZWQgb3VyIHJlcG9ydGVyIHRvIGEgc3lzdGVtIGNsb3NlciB0byBhIHRoZXJhcGV1dGljIHRhcmdldCBDRkJFNDFvLVtsaW5rXS4gVGhlIGNlbGxzIGFyZSBkZXJpdmVkIGZyb20gYnJvbmNoaWFsIGVwaXRoZWxpYWwgY2VsbHMgb2YgYSBjeXN0aWMgZmlicm9zaXMgcGF0aWVudCBhbmQgYXJlIGhvbW96eWdvdXMgZm9yIENGVFIgRjUwOGRlbC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvciBleHBlcmltZW50aW5nIGluIENGQkU0MW8tIGNlbGxzLCB0aGUgc2FtZSByZXBvcnRlciBjb25zdHJ1Y3Qgd2FzIHVzZWQgYXMgZm9yIHRoZSBIRUsyOTMgdGVzdC4gSG93ZXZlciwgd2UgdXNlZCBhIGRpZmZlcmVudCBwcmltZSBlZGl0b3IgKHBDTVYtUEU2Yywgc2VlIHByaW1lIGVkaXRpbmcgc3lzdGVtcyBlbmdpbmVlcmluZyBjeWNsZTxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3BlLXN5c3RlbXMnLCAnL2VuZ2luZWVyaW5nJyl9PiBwcmltZSBlZGl0aW5nIHN5c3RlbXMgY2lyY2xlIDwvYT4pLCBhbmQgb25seSBwZWdSTkFzIHdlcmUgdXNlZCwgdGhhdCBwcm92ZWQgdGhlIG1vc3QgZWZmaWNpZW50IGluIHByZWNlZGluZyBleHBlcmltZW50cyAoc2VlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3BlZ3JuYScsICcvZW5naW5lZXJpbmcnKX0+IHBlZ1JOQSBlbmdpbmVlcmluZyBjeWNsZSA8L2E+KS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGVzdC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBTaW1pbGFyIHRvIHRoZSBwcmV2aW91cyBjeWNsZSwgd2UgZXZhbHVhdGVkIHRoZSBmdW5jdGlvbmFsaXR5IG9mIG91ciByZXBvcnRlciBzeXN0ZW0gYnkgY28tdHJhbnNmZWN0aW5nIG91ciByZXBvcnRlciBjb25zdHJ1Y3Qgd2l0aCBhIHBDTVYtUEU2YyBwcmltZSBlZGl0b3IgcGxhc21pZCBhcyB3ZWxsIGFzIGEgcGxhc21pZCBleHByZXNzaW5nIHBlZ1JOQSB0aGF0IHRhcmdldGVkIG91ciByZXBvcnRlciB0aGlzIHRpbWUgaW50byBDRkJFNDFvLSBjZWxscy4gQWZ0ZXIgNzIgaCB3ZSBzYXcgYSBzaWduaWZpY2FudCBudW1iZXIgb2YgY2VsbHMgc2hvd2luZyBmbHVvcmVzY2VuY2UuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBMaWtlIHdpdGggdGhlIGV4cGVyaW1lbnRzIGluIEhFSyBjZWxscywgd2UgdHJhbnNmZWN0ZWQgYSB0ZWNobmljYWwgY29udHJvbCBwbGFzbWlkIGFzIHdlbGwgdGhlIHVubW9kaWZpZWQgcERBUzEyMTI0X1BFQVItR0ZQLXByZWVkaXRlZCBwbGFzbWlkIGFzIHBvc2l0aXZlIGNvbnRyb2xzIGFuZCBvdXIgbW9kaWZpZWQgcGxhc21pZCwgcENNVi1QRTZjIGFuZCB0aGUgcGVnUk5BIHBsYXNtaWQgaW5kaXZpZHVhbGx5IGFzIG5lZ2F0aXZlIGNvbnRyb2xzLiBBZ2FpbiwgdGhlIHBvc2l0aXZlIGNvbnRyb2xzIHNob3dlZCBzb2xpZCBmbHVvcmVzY2VuY2UsIHdoaWxlIHRoZSBuZWdhdGl2ZSBjb250cm9sIGRpZCBub3QuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZW5naW5lZXJpbmctY3ljbGUvcmVwLWl0NS5zdmdcIiBhbHQ9XCJJbGx1c3RyYXRpb24gb2YgYXBwbHlpbmcgdGhlIHBQRUFSX0NGVFIgc3lzdGVtIHRvIGx1bmcgZXBpdGhlbGlhbCBjZWxsIGxpbmVzXCIvPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj48Yj5GaWd1cmUgNTo8L2I+IElsbHVzdHJhdGlvbiBvZiB0aGUgcGVnUk5BIHRlc3RpbmcgdXNpbmcgdGhlIHBQRUFSX0NGVFIgc3lzdGVtLiBDRkJFNDFvLSBjZWxscyB0cmFuc2llbnRseSB0cmFuc2Zvcm1lZCB3aXRoIHRoZSBwUEVBUl9DRlRSIHBsYXNtaWQgKGluIHRoZSBtaWRkbGUpIHNob3cgZmx1b3Jlc2NlbmNlIGFmdGVyIHRyYW5zZm9ybWF0aW9uIHdpdGggYSBwcmltZSBlZGl0b3IgYW5kIGEgcmVwb3J0ZXItc3BlY2lmaWMgcGVnUk5BIGV4cHJlc3Npb24gcGxhc21pZC4gVGhlIHBEQVMxMjEyNF9QRUFSLUdGUC1wcmVlZGl0ZWQgaXMgdXNlZCBhcyBhbiBpbnRlcm5hbCBwb3NpdGl2ZSBjb250cm9sIGFuZCBmb3Igbm9ybWFsaXphdGlvbi48L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgZXhwZXJpbWVudCBjb25maXJtcyB0aGF0IG91ciByZXBvcnRlciBjYW4gbm90IG9ubHkgYmUgdXNlZCBpbiBjZWxsIGxpbmVzIGRpc3RhbnRseSByZWxhdGVkIHRvIHBhdGllbnQgY2VsbHMgb2YgaW50ZXJlc3QsIGluIG91ciBjYXNlIEhFSzIwMyBjZWxscywgYnV0IGFsc28gd29ya3MgaW4gY2VsbHMgYWN0aXZlbHkgZXhwcmVzc2luZyBDRlRSIGFuZCBjYXJyeWluZyB0aGUgbXV0YXRpb24uIFRoZSByZXBvcnRlciBzdGlsbCBzaG93ZWQgbm8gbm9pc2UuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJyZXA1XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIkFwcGxpY2F0aW9uIGluIFByaW1hcnkgQ2VsbHNcIiBpZD1cInJlcDVoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgbW9kZWwgY2xvc2VzdCB0byBhcHBsaWNhdGlvbiBpbiBhY3R1YWwgcGF0aWVudCBjZWxscyBhcmUgaHVtYW4gZGVyaXZlZCBwcmltYXJ5IGNlbGxzLiBGb3Igb3VyIGxhc3QgdGVzdCBvZiBvdXIgbW9kaWZpZWQgUEVBUiByZXBvcnRlciwgd2UgdGh1cyBjaG9zZSB0byB1c2UgaHVtYW4gbmFzYWwgZXBpdGhlbGlhbCBjZWxsc1tsaW5rXSBkZXJpdmVkIGZyb20gbWVtYmVycyBvZiBvdXIgdGVhbS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvciB0ZXN0aW5nIG91ciByZXBvcnRlciBpbiB0aGUgaHVtYW4gbmFzYWwgZXBpdGhlbGlhbCBjZWxscywgdGhlIHNhbWUgY29uc3RydWN0cyBoYXZlIGJlZW4gdXNlZCBhcyBpbiB0aGUgcHJldmlvdXMgaXRlcmF0aW9uIHdpdGggQ0ZCRTQxby0gY2VsbHMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRlc3QtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGV4cGVyaW1lbnRhbCBzZXR1cCBmb3IgdGhpcyBleHBlcmltZW50IHdhcyBhIHNjYWxlZCBkb3duIHZlcnNpb24gb2YgdGhlIHByZXZpb3VzIGN5Y2xlIHdpdGggdGhlIG9ubHkgYWx0ZXJlZCB2YXJpYWJsZSBiZWluZyB0aGUgY2VsbHMgdHJhbnNmZWN0ZWQuIEluIHRoaXMgY2FzZSwgd2UgZGlkIG5vdCBvYnNlcnZlIGFueSBmbHVvcmVzY2VuY2UsIG5laXRoZXIgaW4gdGhlIHRlc3RlZCBjZWxscywgbm9yIHRoZSB0ZWNobmljYWwgb3IgcERBUzEyMTI0X1BFQVItR0ZQLXByZWVkaXRlZCBwb3NpdGl2ZSBjb250cm9scy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoaXMgbGFzdCBleHBlcmltZW50LCB0aGUgbmVnYXRpdmUgdGVjaG5pY2FsIHBvc2l0aXZlIGNvbnRyb2wgaW1wbGllcyBhIGZhaWxlZCB0cmFuc2ZlY3Rpb24gb2YgdGhlIGNlbGxzLiBUaHVzLCB0aGlzIGF0dGVtcHQgZGlkIG5vdCBhbGxvdyB0byBkcmF3IGFueSBjb25jbHVzaW9uIHJlZ2FyZGluZyB0aGUgZnVuY3Rpb24gb2Ygb3VyIHJlcG9ydGVyIGluIHByaW1hcnkgY2VsbHMuIFRoZSBleHBlcmltZW50IGlzIHRvIGJlIHJlcGVhdGVkIGluIHRoZSBmdXR1cmUuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJyZXA2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIk91dGxvb2tcIiBpZD1cInJlcDZoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBPdXIgQ0ZUUiBjb250ZXh0dWFsaXplZCBQRUFSIHJlcG9ydGVyIHByb3ZlZCB0byBjb25zaXN0ZW50bHkgYWxsb3cgZGV0ZWN0aW9uIG9mIHByaW1lIGVkaXRpbmcgd2l0aG91dCBub3RhYmxlIG5vaXNlLCBsYXlpbmcgdGhlIGZvdW5kYXRpb24gZm9yIG9wdGltaXphdGlvbiBvZiBleGlzdGluZyBhbmQgdGVzdGluZyBvZiBuZXcgcHJpbWUgZWRpdGluZyBzeXN0ZW1zLiBBbHRob3VnaCB2ZXJ5IHZlcnNhdGlsZSBpbiB0aGUgY29udGV4dCBvZiB0YXJnZXRpbmcgQ0ZUUiBGNTA4ZGVsIHdpdGggdGhlIHNwYWNlciBvZiBvdXIgY2hvaWNlW2xpbmtdLCBhIHdpZGVyIGFwcGxpY2FiaWxpdHkgdG8gb3RoZXIgZ2Vub21pYyB0YXJnZXRzIGFuZCBvdGhlciBwb3NzaWJsZSBwcmltZSBlZGl0b3IgdmFyaWFudHMgd29ya2luZyBkaWZmZXJlbnRseSB0aGFuIENhczktYmFzZWQgc3lzdGVtcyB3b3VsZCBiZSBmYXZvcmFibGUuIEluIHRoZSBvcmlnaW5hbCBQRUFSIHBsYXNtaWQgaG93ZXZlciwgbW9kaWZpY2F0aW9uIG9mIHZhcmlhYmxlIHJlZ2lvbiBpcyBxdWl0ZSBpbXByYWN0aWNhbC4gQWxzbywgYXMgYSBwYXJ0IHRoZSBlR0ZQIGlzIFJDRlsxMDAwXSBidXQgbm90IFJDRlsxMF0gQmlvQnJpY2sgc3RhbmRhcmQgY29uZm9ybSBhbmQgaGFyZGx5IGNvbXBhdGlibGUgd2l0aCBvdGhlciBwYXJ0cyBsaWtlIG91ciBQcmVDeXNlIGNhc3NldHRlW2xpbmtdLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIHdoeSwgYXMgYW4gb3V0bG9vayBhbmQgY29udHJpYnV0aW9uIGZvciBmdXR1cmUgaUdFTSB0ZWFtcywgd2UgYWltIHRvIGNyZWF0ZSBhIG1vcmUgbW9kdWxhciBhbmQgY29tcGF0aWJsZSBwYXJ0IHNpbWlsYXIgdG8gb3VyIFByZUN5c2UgQ2FzZXR0ZS4gRm9yIHRoaXMgd2UgbWFkZSB1c2Ugb2YgdGhlIGV4cGVyaWVuY2UgZ2FpbmVkIHdoZW4gY2xvbmluZyBwZWdSTkFzLiBBbiBvbGlnb251Y2xlb3RpZGUtYmFzZWQgZ29sZGVuIGdhdGUgY2xvbmluZyBzaXRlIGluIHRoZSByZWdpb24gb2YgaW50ZXJlc3Qgc3Vycm91bmRpbmcgdGhlIDVcdTIwMTkgc3BsaWNlIGRvbm9yIHNpdGUgYWxsb3dzIGZvciBjaGVhcCBhbmQgY29udmVuaWVudCBtb2RpZmljYXRpb24gb2YgdGhlIHNlcXVlbmNlLiBUaGUgYXJlYSBiZXR3ZWVuIHRoZSBUeXBlSUlTIHJlc3RyaWN0aW9uIHNpdGVzIGlzIGRlc2lnbmVkIGFzIGEgZHJvcG91dCBjYXNzZXR0ZSBjb2RpbmcgZm9yIGEgZmx1b3Jlc2NlbmNlIG1hcmtlciBleHByZXNzZWQgaW4gRS4gY29saSwgdGhhdCBlbmFibGVzIHJhcGlkIHNjcmVlbmluZyBmb3IgdHJhbnNmb3JtYW50cyBjb250YWluaW5nIGNvcnJlY3RseSBkaWdlc3RlZCBwbGFzbWlkIGJhY2tib25lcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJidWlsZC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGVzdC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPiAqL31cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJSZWZlcmVuY2VzXCIgaWQ9XCJyZWZlcmVuY2VzXCI+XG4gICAgICAgICAgICAgICAgICAgICA8RW5nUmVwc291cmNlcy8+XG4gICAgICAgICAgICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWZ0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiUHJldmlvdXNcIiBvcGVuPVwib3VyLWN5Y2xlXCIgc2Nyb2xsVG9JZD1cIm91ci1jeWNsZS1oZWFkZXJcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJpZ2h0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiTmV4dFwiIG9wZW49XCJ0cmFuc2ZlY3Rpb25cIiBzY3JvbGxUb0lkPVwidHJhbnNmZWN0aW9uLWhlYWRlclwiLz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBpZD1cInRhYi10cmFuc2ZlY3Rpb25cIiBjbGFzc05hbWU9XCJlbmdpbm5lZXJpbmd0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICA8c2VjdGlvbiAgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbmctYm94IGJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxIMiBpZD1cInRyYW5zZmVjdGlvbi1oZWFkZXJcIiB0ZXh0PVwiT3B0aW1pemF0aW9uIG9mIFRyYW5zZmVjdGlvblwiPjwvSDI+XG4gICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRvIHRlc3QgcHJpbWUgZWRpdG9ycywgYSByZWxpYWJsZSBtb2RlbCBzeXN0ZW0gaXMgcmVxdWlyZWQuIEhFSzI5MyBjZWxscyBhcmUgYSBodW1hbiBkZXJpdmVkIGNlbGwgbGluZSBhbmQgd2lkZWx5IHVzZWQgaW4gYSB2YXJpZXR5IG9mIGZpZWxkcyBpbiBiaW9sb2d5PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXRyYW5zZmVjdGlvblwiIG51bT1cIjFcIiBzY3JvbGxJZD1cImRlc2MtMVwiLz4uIEFwYXJ0IGZyb20gZWFzeSBoYW5kbGluZyBhbmQgY29tcGFyYXRpdmVseSBlYXN5IHRyYW5zZmVjdGlvbiwgdGhleSBoYXZlLCBhcyB3ZSBmb3VuZCBvdXQgaW4gb3VyIGV4Y2hhbmdlIHdpdGggIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ21hdHRpanNpbnYnLCAnL2h1bWFuLXByYWN0aWNlcycpfT5NYXR0aWpzIEJ1bGNhZW48L2E+LCBvbmUgYWR2YW50YWdlIG92ZXIgb3RoZXIgbW9kZWxzOiBUaGV5IGFyZSBuYXR1cmFsbHkgaW1wYWlyZWQgaW4gRE5BIHJlcGFpciBtZWNoYW5pc21zIGFuZCB0aGVyZWZvcmUgZWFzaWVyIHRvIGVkaXQuIFRvIHByb3Blcmx5IGNvbXBhcmUgZWRpdGluZyBlZmZpY2llbmNpZXMsIGEgaGlnaCB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSBpcyBvZiB1dG1vc3QgaW1wb3J0YW5jZS4gVGhpcyBlbmdpbmVlcmluZyBjeWNsZSBmb2N1c2VzIG9uIG91ciB3b3JrIGluIHNpbXVsYXRpbmcgcHJpbWUgZWRpdGluZyB1c2luZyB0aGUgUEVBUiByZXBvcnRlciBzeXN0ZW08VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItdHJhbnNmZWN0aW9uXCIgbnVtPVwiMlwiIHNjcm9sbElkPVwiZGVzYy0yXCIvPiBhbmQgb3B0aW1pemluZyB0cmFuc2ZlY3Rpb24gcHJvdG9jb2xzLlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwidHJmMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJUZXN0IG9mIExpcG9mZWN0YW1pbmUgMjAwMFwiIGlkPVwidHJmMWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVmb3JlIHRlc3RpbmcgYW55IG9mIG91ciBtZWNoYW5pc3RpYyBhcHByb2FjaGVzLCB3ZSBoYWQgdG8gZXhhbWluZSB3aGV0aGVyIHdlIGNhbiBmYWNpbGl0YXRlIGFuZCBkZXRlY3QgcHJpbWUgZWRpdGluZyBpbiB0aGUgZmlyc3QgcGxhY2UuIER1cmluZyBvdXIgcmVzZWFyY2ggd2UgZXZlbnR1YWxseSBzdHVtYmxlZCB1cG9uIHRoZSBQRUFSIHJlcG9ydGVyIHN5c3RlbSAoc2VlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3BlZ3JuYScsICcvZW5naW5lZXJpbmcnKX0+IHBlZ1JOQSBlbmdpbmVlcmluZyBjeWNsZSA8L2E+KSkuIFRoZSBQRUFSIDJpbjEgcGxhc21pZCByZXBvcnRlciBpbmNsdWRlcyBhIEdGUCB0aGF0IGlzIHRvIGJlIGVkaXRlZCBmb3Igc2Vuc2l0aXZlIHByaW1lIGVkaXRpbmcgZGV0ZWN0aW9uLCBhbmQgYSBwZWdSTkEgZXhwcmVzc2lvbiBjYXNzZXR0ZSB3aXRoIGEgcGVnUk5BIHRhcmdldGluZyB0aGUgcGxhc21pZCBpdHNlbGYuIEhhdmluZyBmb3VuZCBhIHN5c3RlbSBjYXBhYmxlIG9mIGRldGVjdGluZyBldmVuIHNtYWxsLXNjYWxlIHByaW1lIGVkaXRpbmcsIHRoZSBuZXh0IHN0ZXAgd2FzIHRvIGZpbmQgdHJhbnNmZWN0aW9uIGNvbmRpdGlvbnMgdGhhdCB3b3VsZCB3b3JrLiBJbiB0aGUgbGl0ZXJhdHVyZSwgTGlwb2ZlY3RhbWluZSBpcyBkZXNjcmliZWQgYXMgYSBjb21tb24gdHJhbnNmZWN0aW9uIGFnZW50LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2ZlY3Rpb24gd2l0aCBMaXBvZmVjdGFtaW5lIDIwMDAgd2FzIHBlcmZvcm1lZCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIEFuemFsb25lIHByb3RvY29sLiBIb3dldmVyLCB0aGUgcmVzdWx0IHdhcyBjaGFyYWN0ZXJpemVkIGJ5IGluc3VmZmljaWVudCB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuemFsb25lIGV0IGFsLiAyMDE5PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXRyYW5zZmVjdGlvblwiIG51bT1cIjNcIiBzY3JvbGxJZD1cImRlc2MtM1wiLz4gZGVzY3JpYmUgYSB0cmFuc2ZlY3Rpb24gb2YgcHJpbWUtZWRpdGluZyBjb21wbGV4ZXMgd2l0aCBMaXBvZmVjdGFtaW5lIDIwMDAuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2ZlY3Rpb24gd2l0aCBMaXBvZmVjdGFtaW5lIDIwMDAgd2FzIHBlcmZvcm1lZCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIEFuemFsb25lIHByb3RvY29sLiBIb3dldmVyLCB0aGUgcmVzdWx0IHdhcyBjaGFyYWN0ZXJpemVkIGJ5IGluc3VmZmljaWVudCB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBsb3cgZWZmaWNpZW5jeSBvZiBMaXBvZmVjdGFtaW5lIDIwMDAgaW5kaWNhdGVzIHRoYXQgdGhlIHByb2R1Y3QgaXMgbm90IG9wdGltYWxseSBzdWl0ZWQgdG8gdGhlIHNwZWNpZmljIGNvbmRpdGlvbnMgdW5kZXIgY29uc2lkZXJhdGlvbi4gSW4gY29udHJhc3QsIExpcG9mZWN0YW1pbmUgMzAwMCBpcyBkZXNjcmliZWQgaW4gdGhlIGxpdGVyYXR1cmUgYXMgcG90ZW50aWFsbHkgbW9yZSBlZmZpY2llbnQuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cInRyZjJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwiSW5pdGlhbCBUZXN0IHdpdGggTGlwb2ZlY3RhbWluZSAzMDAwXCIgaWQ9XCJ0cmYyaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBsaWdodCBvZiB0aGUgYWZvcmVtZW50aW9uZWQgZmluZGluZ3MsIHRoZSBkZWNpc2lvbiB3YXMgdGFrZW4gdG8gdGVzdCBMaXBvZmVjdGFtaW5lIDMwMDAsIGdpdmVuIGl0cyByZXB1dGF0aW9uIGZvciBncmVhdGVyIGVmZmljaWVuY3kuIEEgbmV3IHRlc3QgZGVzaWduIHdhcyBkZXZpc2VkLCB1dGlsaXppbmcgTGlwb2ZlY3RhbWluZSAzMDAwIHdpdGggYW4gZXF1aXZhbGVudCBxdWFudGl0eSBvZiBETkEgYW5kIG1vZGlmaWVkIHRyYW5zZmVjdGlvbiBjb25kaXRpb25zLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBlc3RhYmxpc2hlZCBwcm90b2NvbCwgdGhlIHJlY29tbWVuZGVkIHJhdGlvIG9mIDEgXHUwMEI1ZyBETkEgdG8gMiBcdTAwQjVsIExpcG9mZWN0YW1pbmUgMzAwMCwgYXMgcHJvdmlkZWQgYnkgVGhlcm1vRmlzaGVyLCB3YXMgdG8gYmUgZW1wbG95ZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBvYmplY3RpdmUgb2YgdGhlIGV4cGVyaW1lbnQgd2FzIHRvIGVuaGFuY2UgdGhlIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5IG9mIExpcG9mZWN0YW1pbmUgMzAwMC4gVGhlIHRyYW5zZmVjdGlvbiBwcm90b2NvbCB3YXMgY29uZHVjdGVkIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgbWFudWZhY3R1cmVyJ3MgaW5zdHJ1Y3Rpb25zICgxIFx1MDBCNWcgRE5BLCAyIFx1MDBCNWwgTGlwb2ZlY3RhbWluZSAzMDAwIHJlYWdlbnQpLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgb3V0Y29tZSByZXZlYWxlZCB0aGF0IGRlc3BpdGUgdGhlIG1vZGlmaWNhdGlvbiwgdGhlIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5IHJlbWFpbmVkIGluYWRlcXVhdGUsIGFsdGhvdWdoIGEgbWFyZ2luYWwgaW1wcm92ZW1lbnQgd2FzIGRpc2Nlcm5pYmxlLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgQWx0aG91Z2ggYSBzd2l0Y2ggdG8gTGlwb2ZlY3RhbWluZSAzMDAwIHJlc3VsdGVkIGluIGEgbWFyZ2luYWwgaW1wcm92ZW1lbnQsIHRoZSBlZmZpY2llbmN5IGZlbGwgc2hvcnQgb2YgZXhwZWN0YXRpb25zLiBUaGlzIGluZGljYXRlcyB0aGF0IGZ1cnRoZXIgb3B0aW1pemF0aW9uIGlzIHJlcXVpcmVkIGluIHRlcm1zIG9mIHRoZSBhbW91bnQgb2YgTGlwb2ZlY3RhbWluZSBhbmQgRE5BLCBhcyB3ZWxsIGFzIHRoZSBtZWRpdW0gdXNlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cInRyZjNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwiT3B0aW1pemF0aW9uIG9mIEROQSBhbmQgTGlwb2ZlY3RhbWluZSBWb2x1bWVzXCIgaWQ9XCJ0cmYzaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBJbiBvcmRlciB0byBvcHRpbWl6ZSB0aGUgdHJhbnNmZWN0aW9uIHByb2Nlc3MsIGEgbmV3IG9wdGltaXphdGlvbiB0ZXN0IHdhcyBkZXNpZ25lZCwgd2hpY2ggaW5jb3Jwb3JhdGVkIGEgdmFyaWFibGUgZGVzaWduIHdpdGggcmVnYXJkIHRvIHRoZSBxdWFudGl0eSBvZiBMaXBvZmVjdGFtaW5lIDMwMDAgYW5kIEROQS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBwcm90b2NvbCBlbnRhaWxlZCB0aGUgdXRpbGl6YXRpb24gb2YgdmFyeWluZyBjb25jZW50cmF0aW9ucyBvZiBMaXBvZmVjdGFtaW5lIDMwMDAsIHNwZWNpZmljYWxseSAxIFx1MDBCNWwgYW5kIDEuNSBcdTAwQjVsLCB3aXRoIGEgRE5BIHF1YW50aXR5IG9mIDEgXHUwMEI1ZyBvciAwLjUgXHUwMEI1Zy4gSW4gdGhpcyBwaGFzZSwgd2UgZGV2ZWxvcGVkIHRoZSB0cmFuc2ZlY3Rpb24gbWV0aG9kIHdpdGggY2FsY2l1bSBjaGxvcmlkZSAoQ2FDbDIpIGFzIGFuIGFsdGVybmF0aXZlIHRvIGNvbnZlbnRpb25hbCBsaXBvZmVjdGFtaW5lIHRyYW5zZmVjdGlvbi4gVGhlIGFpbSB3YXMgdG8gdGVzdCB3aGV0aGVyIHRoaXMgbW9yZSBjb3N0LWVmZmVjdGl2ZSBtZXRob2Qgb2ZmZXJzIGNvbXBhcmFibGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kuIFRocmVlIGRpZmZlcmVudCBETkEgY29uY2VudHJhdGlvbnMgd2VyZSB1c2VkIHRvIGludmVzdGlnYXRlIHRoZSBlZmZlY3Qgb24gdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+ICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBUbyBlbmhhbmNlIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LCBvcHRpbWl6YXRpb24gdGVzdHMgd2VyZSBjb25kdWN0ZWQsIGluIHdoaWNoIHRoZSBxdWFudGl0aWVzIG9mIExpcG9mZWN0YW1pbmUgYW5kIEROQSB3ZXJlIHZhcmllZC4gVGhlIG9iamVjdGl2ZSBvZiB0aGlzIGl0ZXJhdGlvbiB3YXMgdG8gZmluZCB0aGUgb3B0aW1hbCByYXRpbyBvZiBMaXBvZmVjdGFtaW5lIDMwMDAgdG8gRE5BLiBUbyB0aGlzIGVuZCwgMSBcdTAwQjVsIGFuZCAxLjUgXHUwMEI1bCBvZiBMaXBvZmVjdGFtaW5lIDMwMDAgYXQgYSBETkEgY29uY2VudHJhdGlvbiBvZiBlaXRoZXIgMSBcdTAwQjVnIG9yIDAuNSBcdTAwQjVnIHdlcmUgY29tcGFyZWQgd2l0aCBlYWNoIG90aGVyLiBJbiB0aGUgbmV4dCBzdGVwLCB0aGUgdGVzdHMgd2VyZSBjYXJyaWVkIG91dCB3aXRoIHRoZSBkaWZmZXJlbnQgRE5BIGNvbmNlbnRyYXRpb25zIHVzaW5nIHRoZSBDYUNsMiB0cmFuc2ZlY3Rpb24gbWV0aG9kLiBUaGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY2llcyB3ZXJlIGNvbXBhcmVkIHdpdGggdGhvc2UgZnJvbSB0aGUgTGlwb2ZlY3RhbWluZSB0cmFuc2ZlY3Rpb24gdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG5ldyBtZXRob2QgcmVwcmVzZW50cyBhbiBpbXByb3ZlbWVudC4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBUaGUgZXhwZXJpbWVudCBkZW1vbnN0cmF0ZWQgdGhhdCBhIHF1YW50aXR5IG9mIDEgXHUwMEI1bCBMaXBvZmVjdGFtaW5lIDMwMDAgd2FzIHN1ZmZpY2llbnQgZm9yIHN1Y2Nlc3NmdWwgdHJhbnNmZWN0aW9uLCBhbmQgdGhhdCBpbmNyZWFzaW5nIHRoZSBxdWFudGl0eSBkb2VzIG5vdCByZXN1bHQgaW4gYSBub3RhYmxlIGRpZmZlcmVuY2UuIEFkZGl0aW9uYWxseSwgdGhlIGZpbmRpbmdzIGluZGljYXRlZCB0aGF0IGFuIGFtb3VudCBvZiAxIFx1MDBCNWcgRE5BIGV4aGliaXRlZCBhIGhpZ2hlciBlZmZpY2llbmN5IHRoYW4gYW4gYW1vdW50IG9mIDAuNSBcdTAwQjVnIEROQS4gSXQgY2FuIGJlIHJlYXNvbmVkIHRoYXQgYWRkaXRpb25hbCBmYWN0b3JzIG1heSBoYXZlIGNvbnRyaWJ1dGVkIHRvIHRoZSBwcmV2aW91c2x5IG9ic2VydmVkIGRlY2xpbmUgaW4gdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kuIE9uZSBwb3RlbnRpYWwgZXhwbGFuYXRpb24gaXMgdGhhdCB0aGUgY2VsbHMgbWF5IGhhdmUgYmVlbiBpbiBhbiBleGNlc3NpdmVseSBoaWdoIHBhc3NhZ2UgbGV2ZWwuIEl0IGJlY2FtZSBjbGVhciBmcm9tIHRoZSB0ZXN0cyB0aGF0IENhQ2wyIHRyYW5zZmVjdGlvbiBkaWQgbm90IGRlbGl2ZXIgYmV0dGVyIHJlc3VsdHMgdGhhbiBMaXBvZmVjdGFtaW5lIHRyYW5zZmVjdGlvbi4gT24gdGhlIGNvbnRyYXJ5LCB0aGUgZWZmaWNpZW5jeSB3YXMgc2lnbmlmaWNhbnRseSBsb3dlciwgYWx0aG91Z2ggdGhlIG1ldGhvZCBpcyBsZXNzIGV4cGVuc2l2ZS4gVGhpcyBsZWQgdG8gdGhlIHJlYWxpc2F0aW9uIHRoYXQgdGhlIENhQ2wyIHRlY2huaXF1ZSBpbiB0aGlzIGZvcm0gd2FzIG5vdCBhIHN1aXRhYmxlIGFsdGVybmF0aXZlIGZvciBvdXIgc3BlY2lmaWMgcmVxdWlyZW1lbnRzLiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSXQgY2FuIGJlIHJlYXNvbmFibHkgZGVkdWNlZCB0aGF0IHRoZSBhZm9yZW1lbnRpb25lZCBmYWN0b3JzIG1heSBoYXZlIGNvbnRyaWJ1dGVkIHRvIHRoZSBvYnNlcnZlZCBkZWNsaW5lIGluIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwidHJmNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJWYWxpZGF0aW9uIG9mIG9wdGltaXplZCBQcm90b2NvbFwiIGlkPVwidHJmNGhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHJlc3VsdHMgb2J0YWluZWQgd2VyZSB1c2VkIHRvIGRldmVsb3AgYW4gb3B0aW1pemVkIHByb3RvY29sIHRoYXQgdGFrZXMgaW50byBhY2NvdW50IGJvdGggdGhlIGNvbmNlbnRyYXRpb24gb2YgTGlwb2ZlY3RhbWluZSBhbmQgdGhlIGFtb3VudCBvZiBETkEuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBzdWJzZXF1ZW50IHJlc2VhcmNoLCBhIEROQSBxdWFudGl0eSBvZiAxIFx1MDBCNWcgYW5kIGEgZGVmaW5lZCBxdWFudGl0eSBvZiAxIFx1MDBCNWwgb2YgTGlwb2ZlY3RhbWluZSAzMDAwIHdpbGwgYmUgdXRpbGl6ZWQuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvbGxvd2luZyBhIHNlcmllcyBvZiBvcHRpbWl6YXRpb25zLCB0aGUgcHJvb2Ygb2YgY29uY2VwdCB3YXMgY29uZHVjdGVkIG9uY2UgbW9yZSB0byBjb25maXJtIHRoZSBlZmZpY2FjeSBvZiB0aGUgb3B0aW1pemVkIHByb3RvY29sLiBUaGUgb2JqZWN0aXZlIHdhcyB0byBwZXJmb3JtIHRoZSB0cmFuc2ZlY3Rpb24gd2l0aCB0aGUgZmluYWwsIG9wdGltaXplZCBwcm90b2NvbC4gVGhpcyBwcm90b2NvbCBpbnZvbHZlZCB0aGUgdXRpbGl6YXRpb24gb2YgMSBcdTAwQjVsIExpcG9mZWN0YW1pbmUgMzAwMCwgMSBcdTAwQjVnIEROQSwgMiBcdTAwQjVsIFJlYWdlbnQgMzAwMCBhbmQgT3B0aS1NRU0gYXMgYSBtZWRpdW0uIFRoZSBvdXRjb21lcyB3ZXJlIGVuY291cmFnaW5nLCBhcyB0aGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgd2FzIG1hcmtlZGx5IGVuaGFuY2VkLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHV0aWxpemF0aW9uIG9mIGFuIG9wdGltaXplZCBxdWFudGl0eSBvZiAxIFx1MDBCNWwgTGlwb2ZlY3RhbWluZSAzMDAwLCBhIGRlZmluZWQgcXVhbnRpdHkgb2YgRE5BIGFuZCB0aGUgc3VpdGFibGUgT3B0aS1NRU0gbWVkaXVtIHJlc3VsdGVkIGluIGEgbm90YWJsZSBlbmhhbmNlbWVudCBpbiB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeS4gVGhpcyBzdWJzdGFudGlhdGVzIHRoZSBhc3NlcnRpb24gdGhhdCB0aGUgYWZvcmVtZW50aW9uZWQgY29uZGl0aW9ucyBjb25zdGl0dXRlIGFuIG9wdGltYWwgZm91bmRhdGlvbiBmb3IgdGhlIHRyYW5zZmVjdGlvbiBvZiBIRUsgY2VsbHMgd2l0aCB0aGUgcHJpbWUgZWRpdGluZyBjb21wbGV4LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIlJlZmVyZW5jZXNcIiBpZD1cInJlZmVyZW5jZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxFbmdUcmZzb3VyY2VzLz5cbiAgICAgICAgICAgICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZnRcIj48QnV0dG9uT25lRW5naW5lZXJpbmcgbGFiZWw9XCJQcmV2aW91c1wiIG9wZW49XCJyZXBvcnRlclwiIHNjcm9sbFRvSWQ9XCJyZXBvcnRlci1oZWFkZXJcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJpZ2h0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiTmV4dFwiIG9wZW49XCJwZS1zeXN0ZW1zXCIgc2Nyb2xsVG9JZD1cInBlLXN5c3RlbXMtaGVhZGVyXCIvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8ZGl2IGlkPVwidGFiLXBlLXN5c3RlbXNcIiBjbGFzc05hbWU9XCJlbmdpbm5lZXJpbmd0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICA8c2VjdGlvbiBpZD1cIlBFIFN5c3RlbXMgc2VjXCIgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbmctYm94IGJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxIMiBpZD1cInBlLXN5c3RlbXMtaGVhZGVyXCIgdGV4dD1cIlByaW1lIEVkaXRpbmcgU3lzdGVtc1wiPjwvSDI+XG4gICAgICAgICAgICAgICAgICAgICA8cD5EaWZmZXJlbnQgdmVyc2lvbnMgb2YgdGhlIG9yaWdpbmFsIHByaW1lIGVkaXRpbmcgc3lzdGVtIGhhdmUgYmVlbiBkZXZlbG9wZWQgc2luY2UgaXRzIGluaXRpYWwgaW50cm9kdWN0aW9uLiBEZWNpZGluZyBvbiB3aGF0IHN5c3RlbSB0byB1c2UgZm9yIHRoZSBhcHBsaWNhdGlvbiBpbiB0aGVyYXBldXRpYyBodW1hbiBnZW5lIGVkaXRpbmcsIGVzcGVjaWFsbHkgY29uY2VybmluZyB0aGUgY29ycmVjdGlvbiBvZiBGNTA4ZGVsLCB3YXMgdGhlIGdvYWwgb2YgdGhpcyBlbmdpbmVlcmluZyBjeWNsZS48L3A+XG4gICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFNpbmNlIHdlIGFpbSB0byBkZXZlbG9wIGEgdGhlcmFweSBkZWxpdmVyZWQgdG8gdGhlIGh1bWFuIGJvZHksIHdlIHdhbnRlZCB0byBvYnRhaW4gaGlnaCBlZGl0aW5nIGVmZmljaWVuY3kgd2hpbGUgcmlza2luZyBhcyBsaXR0bGUgb2ZmLXRhcmdldHMgYXMgcG9zc2libGUgYW5kIGFsc28gcmVkdWNpbmcgdGhlIHNpemUgZm9yIGltcHJvdmVkIHBhY2thYmlsaXR5LlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPEluZm9Cb3ggdGl0bGU9XCJFeGlzdGluZyBQcmltZSBFZGl0aW5nIFN5c3RlbXNcIiBpZD1cImN1cnJlbnQtcGUtc3lzdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRldGFpbHM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JvdyBhbGlnbi1pdGVtcy1jZW50ZXInPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPlBFMTwvYj48VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGUtc3lzdGVtc1wiIG51bT1cIjFcIiBzY3JvbGxJZD1cImRlc2MtMVwiLz4sIHRoZSBmaXJzdCB2ZXJzaW9uIG9mIHRoZSBQcmltZSBFZGl0b3IgZmVhdHVyZXMgYSBDYXM5KEg4NDBBKSwgYSBTdHJlcHRvY29jY3VzIHB5b2dlbmVzIENhczkgKFNwQ2FzOSwgaGVyZWFmdGVyIGp1c3QgcmVmZXJyZWQgdG8gYXMgQ2FzOSkgbXV0YW50IHRoYXQgb25seSBjdXRzIHRoZSBub24tdGFyZ2V0IHN0cmFuZCBvZiB0aGUgRE5BIHRlbXBsYXRlPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlLXN5c3RlbXNcIiBudW09XCIyXCIgc2Nyb2xsSWQ9XCJkZXNjLTJcIi8+LCBhbmQgYSB3aWxkdHlwZSByZXZlcnNlIHRyYW5zY3JpcHRhc2UgZnJvbSB0aGUgTW9sb25leSBNdXJpbmUgTGV1a2FlbWlhIFZpcnVzIChNLU1MViBSVCkgY29ubmVjdGVkIGJ5IGEgc2VyaW5lIGFuZCBnbHljaW5lIHJpY2ggZmxleGlibGUgbGlua2VyLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5QRTI8L2I+PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlLXN5c3RlbXNcIiBudW09XCIxXCIgc2Nyb2xsSWQ9XCJkZXNjLTFcIi8+IGltcHJvdmVzIG9uIHRoaXMgY29uY2VwdCBieSBpbmNvcnBvcmF0aW5nIGFuIGltcHJvdmVkIFJUIHdpdGggZml2ZSBtdXRhdGlvbnMgaW1wcm92aW5nIGFmZmluaXR5IHRvIHRoZSB0ZW1wbGF0ZSBSTkEsIGVuenltZSBwcm9jZXNzaXZpdHkgYW5kIHRoZXJtb3N0YWJpbGl0eSAoRDIwME4vTDYwM1cvVDMzMFAvVDMwNksvVzMxM0YpLiBUaGlzIHZlcnNpb24gb2YgdGhlIHByaW1lIGVkaXRvciBzaG93ZWQgdmFyeWluZyBpbXByb3ZlbWVudCBvZiBlZGl0aW5nIGVmZmljaWVuY3kgb3ZlciBhbGwgdGVzdGVkIGxvY2kgYW5kIGVkaXRzIHdpdGggbm8gYXBwYXJlbnQgZG93bnNpZGVzLiBCdWlsZGluZyBvbiB0aGUgUEUyIHN5c3RlbSwgYSBzbWFsbGVyIHZlcnNpb24gb2YgdGhlIE0tTUxWIFJUIHdhcyBpbnRyb2R1Y2VkIGJ5IEdhbyBldCBhbC4gKDIwMjIpPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlLXN5c3RlbXNcIiBudW09XCIzXCIgc2Nyb2xsSWQ9XCJkZXNjLTNcIi8+LiBUaGUgUlQgd2FzIHRydW5jYXRlZCBieSA2MjEgYnAgdGhyb3VnaCBkZWxldGlvbiBvZiB0aGUgUk5hc2VIIGRvbWFpbiwgd2hpY2ggb3JpZ2luYWxseSBkZWdyYWRlcyB0aGUgUk5BIHRlbXBsYXRlLCBidXQgaXMgbm90IG5lZWRlZCBmb3IgcHJpbWUgZWRpdGluZy4gVGhlIGNvZG9uIG9wdGltaXplZCB2ZXJzaW9uIG9mIHRoaXMgdHJ1bmNhdGVkIFJUIHByaW1lIGVkaXRvciAoaW4gbGl0ZXJhdHVyZSB1c3VhbGx5IGNhbGxlZCBQRTJcdTIyMDZSTmFzZUgpIHdhcyBuYW1lZCA8Yj5QRTxzdXA+Q088L3N1cD4tTWluaTwvYj4gaW4gdGhlIHBhcGVyIGFuZCB3aWxsIGJlIGFkZHJlc3NlZCBhcyBzdWNoIGhlcmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wtNCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9wZTItb3Blbi5zdmdcIiBhbHQ9XCJQRTIgUHJpbWUgRWRpdG9yXCIvPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj48Yj5GaWd1cmUgMTogSWxsdXN0cmF0aW9uIG9mIFBFMiBQcmltZSBFZGl0b3I8L2I+IDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgPGI+UEUzPC9iPjxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZS1zeXN0ZW1zXCIgbnVtPVwiMVwiIHNjcm9sbElkPVwiZGVzYy0xXCIvPiBzeXN0ZW0sIGRlc2NyaWJlZCBpbiB0aGUgc2FtZSBwYXBlciBhcyBQRTEgYW5kIFBFMiwgaW50cm9kdWNlcyB0aGUgdXNlIG9mIGEgc2Vjb25kIHNpbmdsZSBndWlkZSBSTkEgYmVzaWRlcyB0aGUgcGVnUk5BIHdoaWNoIGxlYWRzIHRvIGEgbmljayBpbiB0aGUgc3RyYW5kIG9wcG9zaXRlIHRvIHRoZSBlZGl0ZWQgc3RyYW5kLiBUaGlzIGlzIHN1cHBvc2VkIHRvIGltcHJvdmUgaW50ZWdyYXRpb24gb2YgZWRpdHMgYnkgZGlyZWN0aW5nIGNlbGx1bGFyIEROQSByZXBhaXIgc3lzdGVtcyB0byB1c2UgdGhlIGVkaXRlZCBzdHJhbmQgYXMgYSB0ZW1wbGF0ZSBmb3IgcmVzb2x2aW5nIGJhc2UgbWlzbWF0Y2hlcy4gTmlja3MgcG9zaXRpb25lZCAzXHUyMDE4IG9mIHRoZSBlZGl0IGFib3V0IDQwXHUyMDEzOTAgYmFzZSBwYWlycyBmcm9tIHRoZSBwZWdSTkEtaW5kdWNlZCBuaWNrIHdlcmUgYWJsZSB0byBmdXJ0aGVyIGluY3JlYXNlIGVkaXRpbmcgZWZmaWNpZW5jaWVzIGFib3V0IHRocmVlZm9sZCB3aGVuIGNvbXBhcmVkIHRvIFBFMiwgYnV0IHdpdGggYSBoaWdoZXIgcmFuZ2Ugb2Ygb24tdGFyZ2V0IGluZGVscyAgLCBtZWFuaW5nIHJhbmRvbSBJbnNlcnRpb25zIGFuZC9vciBEZWxldGlvbnMgdGhhdCBhcHBlYXIgYWZ0ZXIgZmF1bHR5IHJlcGFpciBvZiBkb3VibGUgc3RyYW5kIGJyZWFrcyBpbiB0aGUgRE5BLiBQRTNiLCB3aGVyZSB0aGUgcHJvdG9zcGFjZXIgZm9yIHRoZSBuaWNraW5nIHNnUk5BIGxpZXMgd2l0aGluIHRoZSBlZGl0ZWQgcmVnaW9ucywgZGVjcmVhc2VkIHRoZSBpbmRlbCByYXRlIGdyZWF0bHkgY29tcGFyZWQgdG8gUEUzLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sLTQnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9wZTMtb3Blbi5zdmdcIiBhbHQ9XCJQRTMgUHJpbWUgRWRpdG9yXCIvPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JvdyBhbGlnbi1pdGVtcy1jZW50ZXInPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPlBFNDwvYj4gYW5kIDxiPlBFNTwvYj48VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGUtc3lzdGVtc1wiIG51bT1cIjRcIiBzY3JvbGxJZD1cImRlc2MtNFwiLz4gZXhwYW5kIHRoZSBQRTIgYW5kIFBFMyBzeXN0ZW1zLCByZXNwZWN0aXZlbHksIGJ5IGNvLWV4cHJlc3NpbmcgYSBkb21pbmFudCBuZWdhdGl2ZSBNTEgxIHByb3RlaW4gKE1MSDEoXHUwMzk0NzU0XHUyMDEzNzU2KSwgaGVyZWFmdGVyIHJlZmVycmVkIHRvIGFzIE1MSDFkbikuIFRoZSBNTEgxIHByb3RlaW4gcGxheXMgYSBjcnVjaWFsIHJvbGUgaW4gdGhlIG1pc21hdGNoIHJlcGFpciAoTU1SKSBtZWNoYW5pc20gb2YgdGhlIGh1bWFuIGNlbGw8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGUtc3lzdGVtc1wiIG51bT1cIjVcIiBzY3JvbGxJZD1cImRlc2MtNVwiLz4gYnkgcmVjcnVpdGluZyBvdGhlciByZXBhaXIgcHJvdGVpbnMgYW5kIGZhY2lsaXRhdGluZyBjYXRhbHl0aWMgZnVuY3Rpb24uIFRoZSBtdXRhbnQgc3RpbGwgcmVjcnVpdHMgb3RoZXIgZmFjdG9ycyBidXQgaXMgaW1wYWlyZWQgaW4gaXRzIGVuZG9udWNsZWFzZSBmdW5jdGlvbiwgZGlzcnVwdGluZyBmdW5jdGlvbiBvZiB0aGUgZW50aXJlIHJlcGFpciBtZWNoYW5pc20uIFRoaXMgbGVhZHMgdG8gYW4gYXZlcmFnZSA3LjctZm9sZCBhbmQgMi4wLWZvbGQgaW5jcmVhc2UgaW4gZWRpdGluZyBlZmZpY2llbmN5LCByZXNwZWN0aXZlbHksIGNvbXBhcmVkIHRvIFBFMiBhbmQgUEUzLiBUaGlzIGlzIHBvc3NpYmx5IGR1ZSB0byBzbG93ZXIgcmVwYWlyIG9mIG1pc21hdGNoZXMgYW5kIHRodXMgbW9yZSB0aW1lIGZvciB0aGUgcHJvdGVpbnMgZW5jb2RlZCBieSBMSUcxIGFuZCBGRU4xIGdlbmVzIHRvIGV4Y2lzZSB0aGUgbm9uLWVkaXRlZCA1XHUyMDE5IGZsYXAgYW5kIGxpZ2F0ZSB0aGUgbmljayBpbiB0aGUgZWRpdGVkIHN0cmFuZC4gQWRkaXRpb25hbGx5LCBNTEgxZG4gY28tZXhwcmVzc2lvbiBzbGlnaHRseSByZWR1Y2VkIG9uLXRhcmdldCBpbmRlbHMgYXMgd2VsbCBhcyB1bmludGVuZGVkIGVkaXRpbmcgb3V0Y29tZXMgaW4gUEUzIHN5c3RlbXMgYW5kIGRpZCBub3QgbGVhZCB0byBoaWdoZXIgb2ZmLXRhcmdldCBpbmRlbCByYXRlcyBvciBvdmVyYWxsIG11dGF0aW9uIHJhdGVzLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaXRoIDxiPlBFbWF4PC9iPjxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZS1zeXN0ZW1zXCIgbnVtPVwiNFwiIHNjcm9sbElkPVwiZGVzYy00XCIvPiwgdGhlIHN0cnVjdHVyZSBvZiBQRTIgaXMgZnVydGhlciBlbmhhbmNlZCBieSB1c2luZyBodW1hbiBjb2Rvbi1vcHRpbWl6ZWQgUlQsIGEgbmV3IGxpbmtlciBjb250YWluaW5nIGEgYmlwYXJ0aXRlIFNWNDAgbnVjbGVhciBsb2NhbGl6YXRpb24gc2VxdWVuY2UgKE5MUyk8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGUtc3lzdGVtc1wiIG51bT1cIjZcIiBzY3JvbGxJZD1cImRlc2MtNlwiLz4sIGFuIGFkZGl0aW9uYWwgQy10ZXJtaW5hbCBjLU15YyBOTFM8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGUtc3lzdGVtc1wiIG51bT1cIjdcIiBzY3JvbGxJZD1cImRlc2MtN1wiLz4gYW5kIFIyMjFLIE4zOTRLIG11dGF0aW9ucyBpbiBTcENhczkgcHJldmlvdXNseSBzaG93biB0byBpbXByb3ZlIENhczkgbnVjbGVhc2UgYWN0aXZpdHk8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGUtc3lzdGVtc1wiIG51bT1cIjhcIiBzY3JvbGxJZD1cImRlc2MtOFwiLz4uIFRoZXNlIGNoYW5nZXMgbGVkIHRvIG1vZGVyYXRlIGltcHJvdmVtZW50cyBpbiBlZGl0aW5nIGVmZmljaWVuY3kgY29tcGFyZWQgdG8gcHJldmlvdXMgZWRpdG9yIGFyY2hpdGVjdHVyZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wtNCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL3BlNC1vcGVuLW5ldy5zdmdcIiBhbHQ9XCJQRTQgUHJpbWUgRWRpdG9yXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9wZTUtb3Blbi1uZXcuc3ZnXCIgYWx0PVwiUEU1IFByaW1lIEVkaXRvclwiLz4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5QRTY8L2I+PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlLXN5c3RlbXNcIiBudW09XCI5XCIgc2Nyb2xsSWQ9XCJkZXNjLTlcIi8+IHdhcyBtYWRlIGJ5IGltcHJvdmluZyB0aGUgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIGRvbWFpbiBvZiB0aGUgcHJpbWUgZWRpdG9yIHVzaW5nIFBoYWdlLUFzc2lzdGVkIENvbnRpbnVvdXMgRXZvbHV0aW9uIChQQUNFKS4gTXVsdGlwbGUgUlQgbXV0YW50cyAoUEU2YS1kKSwgZGVyaXZlZCBmcm9tIFJUcyBvZiBFc2NoZXJpY2hpYSBjb2xpIEVjNDggcmV0cm9uLCBTY2hpem9zYWNjaGFyb215Y2VzIHBvbWJlIFRmMSByZXRyb3RyYW5zcG9zb24gYW5kIE1vbG9uZXkgTXVyaW5lIExldWthZW1pYSBWaXJ1cywgICB3ZXJlIGlkZW50aWZpZWQgdG8gaW5jcmVhc2UgZWRpdGluZyBlZmZpY2llbmN5IG92ZXIgYW5kL29yIHdlcmUgc21hbGxlciB0aGFuIHRoZSBNLU1MViBSVCB1c2VkIGluIHByZXZpb3VzIFBFIHN5c3RlbXMuIEVzcGVjaWFsbHkgPGI+UEU2YzwvYj4gKGV2b2x2ZWQgVGYxIFJUKSBhbmQgPGI+UEU2ZDwvYj4gKGV2b2x2ZWQgTS1NTFYgUlQpIHNob3dlZCBzaWduaWZpY2FudGx5IGhpZ2hlciBlZGl0aW5nIGVmZmljaWVuY2llcyB0aGFuIGV2ZW4gUEVtYXggZGVwZW5kaW5nIG9uIHRoZSB0YXJnZXRlZCBsb2NpLCB3aXRoIFBFNmQgc2hvd2luZyBiZW5lZml0cyBlc3BlY2lhbGx5IGluIGxvY2kgZm9ybWluZyBtb3JlIGNvbXBsZXggc2Vjb25kYXJ5IHN0cnVjdHVyZXMuIFJlY2VudCBhZHZhbmNlbWVudHMgaW4gcHJpbWUgZWRpdGluZyB0YXJnZXRpbmcgdGhlIENGVFIgRjUwOFx1MDM5NCBtdXRhdGlvbiBzaG93ZWQgdGhhdCBQRTZjIHdhcyB0aGUgbW9zdCBwcm9taXNpbmcgZm9yIGVkaXRpbmcgaW4gdGhpcyBsb2NpPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlLXN5c3RlbXNcIiBudW09XCIxMFwiIHNjcm9sbElkPVwiZGVzYy0xMFwiLz4uIEltcHJvdmVtZW50cyBvZiBuQ2FzOSBvbiB0aGUgb3RoZXIgaGFuZCAoUEU2ZS1nKSB3ZXJlIG9ubHkgbWFyZ2luYWwgYW5kIGhpZ2hseSBzaXRlIHNwZWNpZmljLiBBbGwgUEU2IHN5c3RlbXMgdXNlIG5pY2tpbmcgZ1JOQXMgKFBFMykgYnkgZGVmYXVsdCwgYnV0IGRvIG5vdCBjby1leHByZXNzIE1MSDFkbi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbC00Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZW5naW5lZXJpbmctY3ljbGUvcGU2Yy1vcGVuLnN2Z1wiIGFsdD1cIlBFNmMgUHJpbWUgRWRpdG9yXCIvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+UEU3PC9iPjxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZS1zeXN0ZW1zXCIgbnVtPVwiMTFcIiBzY3JvbGxJZD1cImRlc2MtMTFcIi8+IGFkZHMgYW4gYWRkaXRpb25hbCBSTkEgYmluZGluZyBkb21haW4gdG8gdGhlIFByaW1lIEVkaXRvci4gVGhlIGRvbWFpbiBpcyBkZXJpdmVkIGZyb20gdGhlIExhIFByb3RlaW4gKExhKDEtMTk0KSksIGFuIGVuZG9nZW5vdXMgZXVrYXJ5b3RpYyBwcm90ZWluIGludm9sdmVkIFJOQSBtZXRhYm9saXNtIGFuZCBrbm93biBmb3IgaXRzIHJvbGUgaW4gYmluZGluZyBwb2x5dXJpZGluZSAocG9seVUpIHRhaWxzIGF0IHRoZSAzXHUyMDE5IGVuZHMgb2YgbmFzY2VudCB0cmFuc2NyaXB0cywgdGh1cyBwcm90ZWN0aW5nIHRoZW0gZnJvbSBleG9udWNsZWFzZSBhY3Rpdml0eS4gUEU3IHNob3dlZCBjb25zaWRlcmFibGUgaW1wcm92ZW1lbnRzIG92ZXIgUEVtYXggYXQgZGlmZmVyZW50IGxvY2kgYW5kIGRpZmZlcmVudCB0eXBlcyBvZiBlZGl0cyB3aGVuIHVzZWQgd2l0aCB0aGUgUEUyIHN0cmF0ZWd5IChubyBuaWNraW5nIGdSTkFzLCBubyBNTEgxZG4gY28tZXhwcmVzc2lvbikuIE5vdGFibHksIFBFNyBkaWQgcGVyZm9ybSB3b3JzZSB3aGVuIHVzZWQgd2l0aCBlbmdpbmVlcmVkIHBlZ1JOQXMgdGhhbiB3aXRoIHJlZ3VsYXIgb25lcyAoc2VlIHBlZ1JOQSBkZXNpZ24pLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sLTQnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9wZTctb3Blbi5zdmdcIiBhbHQ9XCJQRTcgUHJpbWUgRWRpdG9yXCIvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2RldGFpbHM+XG4gICAgICAgICAgICAgICAgICAgICA8L0luZm9Cb3g+IFxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwicGUxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8UGhpbGlwSDMgaWQ9XCJwZTFoZWFkXCI+PHNwYW4+UEUyIGFuZCBQRTxzdXA+Q088L3N1cD4tTWluaTwvc3Bhbj48L1BoaWxpcEgzPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEZvciBvdXIgaW5pdGlhbCBhcHByb2FjaCwgd2Ugd2FudGVkIHRvIHN0YXJ0IGZyb20gdGhlIGJlZ2lubmluZyBhbmQgdXNlIHRoZSBQRTIgcHJpbWUgZWRpdGluZyBzeXN0ZW0uIFNpbmNlIG91ciBnb2FsIG9mIHN0cmlwcGluZyB0aGUgc2l6ZSBvZiB0aGUgcHJpbWUgZWRpdG9yIHdhcyBhIGJpZyBmYWN0b3IgZnJvbSB0aGUgYmVnaW5uaW5nLCB3ZSBkaWQgYSByZXNlYXJjaGVkIGludG8gdGhhdCBkaXJlY3Rpb24gYW5kIGZvdW5kIGEgdHJ1bmNhdGVkIHZlcnNpb24gb2YgTS1NTFYgUlQsIFBFPHN1cD5DTzwvc3VwPi1NaW5pLiBXZSB0aGVuIG9yZGVyZWQgdGhlIHBsYXNtaWRzIGZvciBib3RoIFBFMiBhbmQgUEU8c3VwPkNPPC9zdXA+LU1pbmkuIFNpbmNlIHRoZSBQRTxzdXA+Q088L3N1cD4tTWluaSBwbGFzbWlkIGhhZCBhIGRpZmZlcmVudCBwcm9tb3RvciB0aGFuIHBDTVYtUEUyLCB3ZSBkZWNpZGVkIHRvIGNsb25lIHRoZSBQRTxzdXA+Q088L3N1cD4tTWluaSBSVCBpbnRvIHRoZSBwQ01WLVBFMiB2ZWN0b3IgdG8gYWxsb3cgZm9yIGRpcmVjdCBjb21wYXJpc29uLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UgZGVzaWduZWQgcHJpbWVycyBmb3IgdGhlIGFtcGxpZmljYXRpb24gb2YgUEU8c3VwPkNPPC9zdXA+LU1pbmkgUlQgYW5kIGNsb25lZCBpdCBpbnRvIHBDTVYtUEUyIHZpYSBkb3VibGUgZGlnZXN0aW9uIGFuZCBHaWJzb24gYXNzZW1ibHkuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGNvbXBhcmUgdGhlIHByaW1lIGVkaXRpbmcgcGVyZm9ybWFuY2VzIG9mIE0tTUxWIFJUIChQRTIpIGFuZCBQRTxzdXA+Q088L3N1cD4tTWluaSBSVCwgYm90aCB3ZXJlIHRlc3RlZCB1c2luZyBhIDJpbjEgcHJpbWUgZWRpdGluZyByZXBvcnRlciBwbGFzbWlkIHN5c3RlbTxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZS1zeXN0ZW1zXCIgbnVtPVwiMTJcIiBzY3JvbGxJZD1cImRlc2MtMTJcIi8+IChzZWUgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtzY3JvbGxUb0lkOiAnUHJvb2Ygb2YgQ29uY2VwdCcsIHBhdGg6ICcvZW5naW5lZXJpbmcnLCB0YWJJZDogJ3RhYi10cmFuc2ZlY3Rpb24nIH0pfT5Qcm9vZiBvZiBDb25jZXB0PC9hPikgaW4gSEVLMjkzIGNlbGxzLiBDb250cmFyeSB0byB0aGUgZmluZGluZ3Mgb2YgR2FvIGV0IGFsLiwgaGVyZSB0aGUgUEU8c3VwPkNPPC9zdXA+LU1pbmkgcHJpbWUgZWRpdG9yIHBlcmZvcm1lZCBhIGxvdCB3b3JzZSB0aGFuIHRoZSBQRTIgcHJpbWUgZWRpdG9yLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgU2luY2Ugd2Uga25ldywgdGhhdCBmb3IgYSBzdWNjZXNzZnVsIHRoZXJhcHkgdGFyZ2V0aW5nIHRoZSBGNTA4ZGVsIG11dGF0aW9uIGEgdmVyeSBoaWdoIHByaW1lIGVkaXRpbmcgZWZmaWNpZW5jeSB3YXMgb2YgdXRtb3N0IGltcG9ydGFuY2UsIHdlIGRlY2lkZWQgYWdhaW5zdCB1c2luZyBQRTxzdXA+Q088L3N1cD4tTWluaSBhcyB0aGUgYmFzaXMgZm9yIG91ciBhcHByb2FjaCBhbmQgdGhhdCB3ZSBoYXZlIHRvIGxvb2sgZm9yIG90aGVyIGFsdGVybmF0aXZlcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cInBlMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJQRTZjXCIgaWQ9XCJwZTJoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIER1cmluZyBvdXIgaW5pdGlhbCB0YWxrIHdpdGggPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignbWF0dGlqc2ludicsICcvaHVtYW4tcHJhY3RpY2VzJyl9Pk1hdHRpanMgQnVsY2FlbjwvYT4sIGhlIHJlY29tbWVuZGVkIGEgdGFsayBvZiA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdsaXUnLCAnL2h1bWFuLXByYWN0aWNlcycpfT5EYXZpZCBMaXU8L2E+IGF0IGFuIG9ubGluZSBjb25mZXJlbmNlLCB3aGVyZSBoZSBwcmVzZW50ZWQgdW5wdWJsaXNoZWQgZGF0YSBhYm91dCBoaXMgbGFib3JhdG9yeSB3b3JraW5nIG9uIHByaW1lIGVkaXRpbmcgZm9yIEY1MDhkZWwgY29ycmVjdGlvbi4gV2UgaW52ZXN0aWdhdGVkIGl0IGFuZCB0aHJvdWdoIHRoaXMgY2FtZSBhY3Jvc3MgdGhlIFBFNiBnZW5lcmF0aW9uIG9mIHByaW1lIGVkaXRvcnMuIFNlZWluZyB0aGF0IHRoZSBMaXUgTGFib3JhdG9yeSBldmVudHVhbGx5IGRlY2lkZWQgb24gdXNpbmcgdGhlIFBFNmMgc3lzdGVtLCB3ZSBhZG9wdGVkIHRoZSBmaW5kaW5ncy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlIGdvdCB0aGUgcGxhc21pZCBjYXJyeWluZyB0aGUgUEU2YyBwcmltZSBlZGl0b3IuIEV4Y2VwdCBmb3IgdGhlIFJUIGFuZCBhIGZldyBpbXByb3ZpbmcgbXV0YXRpb25zIGluIHRoZSBDYXM5IGVuenltZSwgaXQgaGFzIHRoZSBzYW1lIGFyY2hpdGVjdHVyZSBhcyBQRTIsIHdoaWNoIG1hZGUgY29tcGFyaXNvbiBxdWl0ZSBlYXN5LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBXZSB0ZXN0ZWQgUEU2YyBhZ2FpbnN0IFBFMiB1c2luZyB0aGUgc2FtZSByZXBvcnRlciBzeXN0ZW0gYXMgbWVudGlvbmVkIGFib3ZlIGZvciBQRTxzdXA+Q088L3N1cD4tTWluaS4gUEU2YywgYXMgZXhwZWN0ZWQgZnJvbSB0aGUgbGl0ZXJhdHVyZSwgcHJvdmVkIHdheSBtb3JlIGVmZmljaWVudCBpbiBwcmltZSBlZGl0aW5nLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGRhdGEgZnJvbSBsaXRlcmF0dXJlIGFzIHdlbGwgYXMgb3VyIG93biBleHBlcmltZW50cyBjb25maXJtZWQgdGhhdCBQRTZjIGFyY2hpdGVjdHVyZSBpcyBzdXBlcmlvciB0byBQRTIgZXZlbiB3aXRob3V0IHVzaW5nIG5pY2tpbmcgZ1JOQXMgdGhhdCBoZWxwIHN1cHByZXNzIG1pc21hdGNoIHJlcGFpci4gVGhpcyBsZWQgdXMgdG8gdGhlIGRlY2lzaW9uIHRvIHVzZSB0aGUgUEU2YyByZXZlcnNlIHRyYW5zY3JpcHRhc2UgYW5kIHBhcnRzIG9mIHRoZSBvdmVyYWxsIGFyY2hpdGVjdHVyZSBmb3Igb3VyIHN1YnNlcXVlbnQgdGVzdHMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJwZTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwiUHJlQ3lzZSBDYXNldHRlXCIgaWQ9XCJwZTNoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cInRleHRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoZSBsYXRlciBzdGFnZXMgb2Ygb3VyIHByb2plY3QsIHRoZSBMaXUgbGFib3JhdG9yeSBwdWJsaXNoZWQgdGhlaXIgb3duIGZpbmRpbmdzIHJlZ2FyZGluZyBDRlRSIEY1MDhkZWwgdGFyZ2V0aW5nIHdpdGggcHJpbWUgZWRpdGluZzxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZS1zeXN0ZW1zXCIgbnVtPVwiMTBcIiBzY3JvbGxJZD1cImRlc2MtMTBcIi8+LiBUaGUgZGF0YSBzaG93ZWQgdGhhdCB0aGUgZWRpdGluZyBlZmZpY2llbmN5IG9mIFBFMiBiYXNlZCBzeXN0ZW1zLCBldmVuIHdoZW4gdXNpbmcgUEU2YyByZXZlcnNlIHRyYW5zY3JpcHRhc2UsIG1pZ2h0IG5vdCBiZSBzdWZmaWNpZW50IGZvciBhcHBsaWNhdGlvbiBpbiBhIHRoZXJhcHkuIEFsc28sIHRoZSBwbGFzbWlkcyBvZiBjdXJyZW50IHByaW1lIGVkaXRvcnMgZGlkIG5vdCBpbmNsdWRlIHJlc3RyaWN0aW9uIHNpdGVzIHRoYXQgd291bGQgaGF2ZSBhbGxvd2VkIHJlcGxhY2luZyBjb21wb25lbnRzIGxpa2UgdGhlIG5pY2thc2UgdG8gdGVzdCBhbHRlcm5hdGl2ZXMuIFRoaXMgaXMgd2h5LCBpbiBhIGNoZXJyeS1waWNraW5nIG1hbm5lciwgd2UgY29tYmluZWQgdGhlIFBFNmMgYXJjaGl0ZWN0dXJlIHByaW1lIGVkaXRvciB3aXRoIHRoZSBtb3N0IHByb21pc2luZyBhc3BlY3RzIG9mIG90aGVyIHByaW1lIGVkaXRvcnMsIGNyZWF0aW5nIHRoZSBQcmVDeXNlIGNhc3NldHRlLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBPdXIgZGVjaXNpb24gb24gd2hhdCBjb21wb25lbnRzIG9mIGV4aXN0aW5nIHByaW1lIGVkaXRvcnMgd2Ugd2FudGVkIHRvIHVzZSB3YXMgbWFpbmx5IGRyaXZlbiBieSB0d28gZmFjdG9yczogZWZmaWNpZW5jeSBhbmQgcHJlY2lzaW9uLiBJbiBwcmltZSBlZGl0aW5nLCB0aGVzZSB0d28gYXJlIG9mdGVuIG9wcG9zaW5nIGZvcmNlcywgd2hpY2ggbWVhbnMgYWR2YW5jZW1lbnRzIGltcHJvdmluZyBlZmZpY2llbmN5IG9mdGVuIGFsc28gaW5jcmVhc2UgdGhlIHJpc2sgb2Ygb2ZmLXRhcmdldHMgbXV0YXRpb25zIGFuZCBvbi10YXJnZXQgdW5kZXNpcmVkIGVkaXRpbmcuIEZvciB0aGlzIHJlYXNvbiwgd2UgZGVjaWRlZCBhZ2FpbnN0IHVzaW5nIG5pY2tpbmcgZ1JOQXMuIEFsdGhvdWdoIHRoZXkgaGF2ZSBiZWVuIHByb3ZlbiB0byByZWxpYWJseSBpbXByb3ZlIGVkaXRpbmcgZWZmaWNpZW5jeSwgdGhleSBpbmNyZWFzZSB0aGUgcmlzayBhbmQgcG9zc2libGUgc2NvcGUgb2Ygb2ZmLXRhcmdldCBjbGVhdmFnZSBhbmQgbXV0YXRpb25zLiBBZGRpdGlvbmFsbHksIGlmIDxiPlBFM2I8L2I+IGlzIG5vdCBhcHBsaWNhYmxlLCB0aGVyZSBpcyBhIGNoYW5jZSBmb3IgZG91YmxlIHN0cmFuZCBicmVha3MgdG8gb2NjdXIsIHdoaWNoIGRpbWluaXNoZXMgdGhlIHNhZmV0eSBhZHZhbnRhZ2Ugb2YgcHJpbWUgZWRpdGluZyBvdmVyIG90aGVyIGNvbW1vbiBDUklTUFItYmFzZWQgbWV0aG9kcy4gQ28tZXhwcmVzc2lvbiBvZiBNTEgxZG4gY2FuIGltcHJvdmUgZWRpdGluZyBlZmZpY2llbmN5IGluIHRoZSBzYW1lIHdheSBhcyBuaWNraW5nIGdSTkFzIGRvLCBieSBoZWxwaW5nIHRvIGV2YWRlIG9mIHRoZSBjZWxsdWxhciBtaXNtYXRjaCByZXBhaXIgbWVjaGFuaXNtcy4gVGhlIHVzZSBvZiBNTEgxZG4gaXMgZXNwZWNpYWxseSBpbXBhY3RmdWwsIHdoZW4gbmlja2luZyBnUk5BcyBhcmUgbm90IHVzZWQsIHdoaWNoIGlzIHBlcmZlY3QgaW4gb3VyIGNhc2UuIFJlY2VudGx5LCB0aGUgTGEgcG9seShVKS1iaW5kaW5nIG1vdGlmIGhhcyBiZWVuIHNob3duIHRvIGVuaGFuY2UgcHJpbWUgZWRpdGluZyBlZmZpY2llbmN5LCBwcmVzdW1hYmx5IHRocm91Z2ggcHJvdGVjdGlvbiBvZiB0aGUgM1x1MjAxOSBwb2x5KFUpIHRhaWwgb2YgdGhlIHBlZ1JOQSBmcm9tIFJOYXNlcy4gVGhlIG1vdGlmIGlzIGFsc28gY29tcGFyYXRpdmVseSBzbWFsbCwgd2hpY2ggYWxpZ25zIHdpdGggdGhlIG92ZXJhbGwgZ29hbCB0byBjcmVhdGUgYSBjb21wYWN0IHByaW1lIGVkaXRpbmcgdG9vbC4gVGhpcyBpcyB3aHkgUHJlQ3lzZSBDYXNldHRlcyBoYXZlIGJlZW4gZGVzaWduZWQgdG8gaW5jbHVkZSB0aGUgTGEgUk5BIGJpbmRpbmcgbW90aWYgZnVzaW9uIGFuZCB0aGUgZG9taW5hbnQgbmVnYXRpdmUgTUxIMSBwcm90ZWluLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIFByZUN5c2UgY2Fzc2V0dGUgY29tZXMgaW4gdGhyZWUgdmVyc2lvbnM6IFByZUN5c2VBLCB0aGUgbW9zdCBiYXNpYyB2ZXJzaW9uLCBjb21wcmlzZXMgb2YgYSBUNyBwcm9tb3RlciBhbmQgYW4gb3BlbiByZWFkaW5nIGZyYW1lLCB3aGljaCBpbmNsdWRlcyBOTFMgYW5kIG9uZSB0eXBlSUlTIHJlc3RyaWN0aW9uIGVuenltZSBjbG9uaW5nIHNpdGUgZm9yIGEgbmlja2FzZSBhbmQgYSByZXZlcnNlIHRyYW5zY3JpcHRhc2UgZWFjaC4gRm9yIHBvc3NpYmxlIGZ1dHVyZSBhZGRpdGlvbnMgbGlrZSBlLiBnLiBzZWxlY3Rpb24gbWFya2VycywgYSBCYW1ISSByZXN0cmljdGlvbiBzaXRlIGF0IHRoZSBlbmQgb2YgdGhlIGNvZGluZyBzZXF1ZW5jZSBhbGxvd3MgZm9yIGVhc3kgaW4tZnJhbWUgR2lic29uIGNsb25pbmcuIEJ1aWxkaW5nIG9uIHRoaXMgYmFzaXMsIFByZUN5c2VCIGV4cGFuZHMgUHJlQ3lzZUEgYnkgdGhlIExhIFBvbHkoVSktYmluZGluZyBtb3RpZi4gUHJlQ3lzZUMgYWRkaXRpb25hbGx5IGludHJvZHVjZXMgdGhlIGNvLWV4cHJlc3NlZCBNTEgxZG4uIFRoZSBjYXNzZXR0ZXMgd2VyZSBvcmRlcmVkIGluIHRocmVlIGluZGl2aWR1YWwgcGFydHMgdG8gYmUgcHV0IHRvZ2V0aGVyIHdpdGggYSBwQ01WLVBFNmMgYmFja2JvbmUgdmlhIEdpYnNvbiBDbG9uaW5nIGluIGRpZmZlcmVudCBjb25maWd1cmF0aW9ucyB0byBjcmVhdGUgdGhlIHRocmVlIHZhcmlhbnRzLiBJbiB0aGUgcGxhc21pZCB0aGUgY2Fzc2V0dGUgaXMgZXhwcmVzc2VkIHVuZGVyIGEgQ01WIHByb21vdGVyIGFuZCBmb2xsb3dlZCBieSBhIHBvbHlhZGVueWxhdGlvbiBzaWduYWwuIFRoZSBQcmVDeXNlIENhc2V0dGVzIHRoZW1zZWx2ZXMgY2FuIGJlIHVzZWQgYXMgYSBCaW9CcmljayBSRkNbMTBdIHN0YW5kYXJkIGNvbXBhdGlibGUgY29tcG9zaXRlIHBhcnQgY2FuIHRodXMgYmUgZnJlZWx5IGNvbWJpbmVkIHdpdGggb3RoZXIgcGFydHMuIFRoZSBuaWNrYXNlIGFuZCBSVCBzbG90cyBjYW4gYmUgdXNlZCBmb3IgaW5zZXJ0aW5nIGFueSBiYXNpYyBvciBjb21wb3NpdGUgcGFydCBjb21wYXRpYmxlIHdpdGggdGhlIFR5cGUgSUlTIFJDRlsxMDAwXSBzdGFuZGFyZCBmb3IgZnVzaW9uIHByb3RlaW5zLiBUaGUgUHJlQ3lzZSBDYXNldHRlIGlzIG1lYW50IHRvIGJlIGEgY29udHJpYnV0aW9uIHRvIHRoZSBpR0VNIGNvbW11bml0eSBhbmQgYSBiYXNlIGZvciBvdGhlciB0ZWFtcyB0byBqb2luIHVzIGFuZCByZXNlYXJjaGVycyBhcm91bmQgdGhlIHdvcmxkIHRvIGlubm92YXRlIGluIHRoZSBleGNpdGluZyBmaWVsZCBvZiBwcmltZSBlZGl0aW5nLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXNldHRlY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNhc2V0dGVib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUHJlQ3lzZUFcIiBpZD1cIlBDQVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZW5naW5lZXJpbmctY3ljbGUvcHJlY3lzZWEtY2FzZXR0ZS5zdmdcIiBhbHQ9XCJpbWFnZSAxXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXNldHRlYm94XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlByZUN5c2VCXCIgaWQ9XCJQQ0JcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL3ByZWN5c2ViLWNhc2V0dGUuc3ZnXCIgYWx0PVwiaW1hZ2UgMlwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FzZXR0ZWJveFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJQcmVDeXNlQ1wiIGlkPVwiUENDXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9wcmVjeXNlYy1jYXNldHRlLnN2Z1wiIGFsdD1cImltYWdlIDNcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHsvKiA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwgZGl2IGNsYXNzTmFtZT0nY29sIGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlByZUN5c2VBXCIgaWQ9XCJQcmVDeXNlQVwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZW5naW5lZXJpbmctY3ljbGUvcHJlY3lzZWEtY2FzZXR0ZS5zdmdcIiBhbHQ9XCJQcmVDeXNlQSBtb2R1bGFyIFBFIGNhc2V0dGVcIiBzdHlsZT17e2hlaWdodDogXCI4MHB0XCIsIHdpZHRoOiBcImF1dG9cIn19Lz4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sIGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlByZUN5c2VCXCIgaWQ9XCJQcmVDeXNlQlwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZW5naW5lZXJpbmctY3ljbGUvcHJlY3lzZWItY2FzZXR0ZS5zdmdcIiBhbHQ9XCJQcmVDeXNlQiBtb2R1bGFyIFBFIGNhc2V0dGVyXCIgc3R5bGU9e3toZWlnaHQ6IFwiODBwdFwiLCB3aWR0aDogXCJhdXRvXCJ9fS8+ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlByZUN5c2VDXCIgaWQ9XCJQcmVDeXNlQ1wiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZW5naW5lZXJpbmctY3ljbGUvcHJlY3lzZWMtY2FzZXR0ZS5zdmdcIiBhbHQ9XCJQcmVDeXNlQyBtb2R1bGFyIFBFIGNhc2V0dGVcIiBzdHlsZT17e2hlaWdodDogXCI4MHB0XCIsIHdpZHRoOiBcImF1dG9cIn19Lz4gIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICovfVxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIlJlZmVyZW5jZXNcIiBpZD1cInJlZmVyZW5jZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxFbmdQRXN5c3RlbXMvPlxuICAgICAgICAgICAgICAgICAgPC9TZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVmdFwiPjxCdXR0b25PbmVFbmdpbmVlcmluZyBsYWJlbD1cIlByZXZpb3VzXCIgb3Blbj1cInRyYW5zZmVjdGlvblwiIHNjcm9sbFRvSWQ9XCJ0cmFuc2ZlY3Rpb24taGVhZGVyXCIvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBidXR0b24tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyaWdodFwiPjxCdXR0b25PbmVFbmdpbmVlcmluZyBsYWJlbD1cIk5leHRcIiBvcGVuPVwicGVncm5hXCIgc2Nyb2xsVG9JZD1cInBlZ3JuYS1oZWFkZXJcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZW5naW5uZWVyaW5ndGFiXCIgaWQ9XCJ0YWItcGVncm5hXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgPHNlY3Rpb24gaWQ9XCJwZWdSTkEgc2VjXCIgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbmctYm94IGJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxIMiBpZD1cInBlZ3JuYS1oZWFkZXJcIiB0ZXh0PVwicGVnUk5BXCI+PC9IMj5cbiAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdwZWdybmEnLCAnL2VuZ2luZWVyaW5nJyl9PiBwZWdSTkEgPC9hPiBpcyBvZiBwYXJhbW91bnQgaW1wb3J0YW5jZSBmb3IgZnVuY3Rpb24gYW5kIGVmZmljaWVuY3kgb2YgcHJpbWUgZWRpdG9ycywgYXMgaXQgcGxheXMgYSByb2xlIGluIGV2ZXJ5IHN0ZXAgb2YgdGhlIHByaW1lIGVkaXRpbmcgbWVjaGFuaXNtLiBJdCBpcyB0aGVyZWZvcmUgZXF1YWxseSBpbXBvcnRhbnQgdG8gb3B0aW1pemUgdGhlIHBlZ1JOQSB0aGFuIGl0IGlzIHRvIGhhdmUgYW4gb3B0aW1pemVkIHByaW1lIGVkaXRvci4gSGVuY2UgdGhpcyBlbmdpbmVlcmluZyBjeWNsZSBleHBsYWlucyBvdXIgcHJvY2VzcyBvZiBvcHRpbWl6aW5nIHRoZSBwZWdSTkFzIGZvciBvdXIgZ2Vub21pYyB0YXJnZXQsIENGVFIgRjUwOGRlbC4gR2l2ZW4gdGhhdCBkaWZmZXJlbnQgYXJlYXMgb2YgdGhlIHBlZ1JOQSBoYXZlIGRpZmZlcmVudCBmdW5jdGlvbmFsaXRpZXMsIHRoZSBmb2xsb3dpbmcgaXRlcmF0aW9uIGN5Y2xlcyB3aWxsIGRlbW9uc3RyYXRlIGhvdyBpbXByb3ZlbWVudHMgYW5kIG9wdGltaXphdGlvbnMgaGF2ZSBiZWVuIG1hZGUgdG8gdGhlc2UgdmFyaW91cyBmdW5jdGlvbmFsIGRvbWFpbnMgaW4gcmVsYXRpb24gdG8gdGhlIENGVFIgY29udGV4dC4gVGhpcyB3YXMgYWNoaWV2ZWQgdGhyb3VnaCByZXNlYXJjaCwgdGhlIGNvcnJlc3BvbmRlbmNlIHdpdGggb2YgZXhwZXJ0cyBhbmQgZXhwZXJpbWVudHMuPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwicGVnMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJJbml0aWFsIHBlZ1JOQSBEZXNpZ24gYW5kIFNpbGVudCBFZGl0c1wiIGlkPVwicGVnMWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBmaXJzdCBpdGVyYXRpb24gb2Ygb3VyIGVuZ2luZWVyaW5nIGN5Y2xlLCB3ZSBkZXNpZ25lZCBvdXIgZmlyc3Qgc2V0IG9mIHBlZ1JOQXMgdGFyZ2V0aW5nIHRoZSBtb2RpZmllZCBQRUFSIHJlcG9ydGVyW2xpbmtdLiAgZm9jdXNlZCBvbiB0aGUgaW5jb3Jwb3JhdGlvbiBvZiBzaWxlbnQgZWRpdHMgaW50byB0aGUgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIHRlbXBsYXRlLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBGb2xsb3dpbmcgYW4gaW50ZXJ2aWV3IHdpdGggPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignSlBwZWdSTkEnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gSmFuLVBoaWxsaXBwIEdlcmhhcmRzIDwvYT4sIHdlIGNhbWUgYWNyb3NzIHRoZSBjb25jZXB0IG9mIHNpbGVudCBlZGl0cy4gU2lsZW50IGVkaXRzIHJlZmVyIHRvIHNpbmdsZS1iYXNlIGFsdGVyYXRpb25zIG9mIHRoZSBudWNsZW90aWRlIHNlcXVlbmNlIHRoYXQgZG8gbm90IGNoYW5nZSB0aGUgZW5jb2RlZCBhbWlubyBhY2lkLiBKYW4tUGhpbGxpcHAgcG9pbnRlZCBvdXQgdGhhdCBpbnRyb2R1Y2luZyBzaWxlbnQgZWRpdHMgaW4gYWRkaXRpb24gdG8gdGhlIGludGVuZGVkIGVkaXQgb2ZmZXJzIHR3byBtYWpvciBhZHZhbnRhZ2VzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBGaXJzdGx5LCBzaWxlbnQgZWRpdHMgY2FuIGluY3JlYXNlIHRoZSBsaWtlbGlob29kIG9mIGZsYXAgaW5jb3Jwb3JhdGlvbiBkdXJpbmcgdGhlIHByaW1lIGVkaXRpbmcgcHJvY2VzcywgZXNwZWNpYWxseSBpbiB0aGUgY29udGV4dCBvZiBNTVIgKE1pc21hdGNoIFJlcGFpcikgaW4gdGhlIGNlbGwuIFdpdGhvdXQgc2lsZW50IGVkaXRzLCB0aGUgY2VsbCBpcyBtb3JlIGxpa2VseSB0byBkZXRlY3QgdGhlIG1pc21hdGNoZXMgdGhhdCBvbmx5IG9jY3VyIGF0IHRoZSBkZXNpcmVkIG11dGF0aW9uIHNpdGUsIGxlYWRpbmcgdG8gYSBoaWdoZXIgY2hhbmNlIG9mIHRoZSB3aWxkLXR5cGUgZmxhcCBiZWluZyByZWluc2VydGVkLiBCeSBpbnRyb2R1Y2luZyBzaWxlbnQgZWRpdHMsIG11bHRpcGxlIG1pc21hdGNoZXMgYXJlIHByZXNlbnQgd2hpY2ggdGhpcyBpbmNyZWFzZXMgdGhlIHByb2JhYmlsaXR5IG9mIHRoZSBzeW50aGVzaXplZCBmbGFwIGJlaW5nIGluY29ycG9yYXRlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgU2Vjb25kbHksIHNpbGVudCBlZGl0cyBjYW4gcHJldmVudCByZS1iaW5kaW5nIG9mIHRoZSBwcmltZSBlZGl0aW5nIGNvbXBsZXggdG8gdGhlIHRhcmdldCByZWdpb24gYWZ0ZXIgc3VjY2Vzc2Z1bCBlZGl0aW5nLiBUaGlzIGlzIGJlIGFjaGlldmVkIGJ5IGludHJvZHVjaW5nIHNpbGVudCBlZGl0cyB0byB0aGUgcmVnaW9ucyBtYWtpbmcgdXAgUEFNIHNlcXVlbmNlIGFuZC9vciBwcm90b3NwYWNlci4gUEFNIG9yIHByb3Rvc3BhY2VyIGRpc3J1cHRpb24gbWFrZSB0aGUgZWRpdGluZyBwcm9jZXNzIG1vcmUgc2VjdXJlLiBUaGlzIGlzIGJlY2F1c2UgaXQgcmVkdWNlcyB0aGUgbGlrZWxpaG9vZCBvZiBlZGl0aW5nIHRoZSB0YXJnZXQgcmVnaW9uIHJlcGVhdGVkbHksIHdoaWNoIHdvdWxkIGluY3JlYXNlIHRoZSBwcm9iYWJpbGl0eSBvZiBvbi10YXJnZXQgdW5kZXNpcmVkIGVkaXRpbmcgb3V0Y29tZXMuIEhlIHN1Z2dlc3RlZCB0aGF0IHN3YXBwaW5nIGN5dG9zaW5lIG9yIGd1YW5pbmUgYmFzZXMgZm9yIHRoZXNlIHNpbGVudCBlZGl0cyBjYW4gYmUgcGFydGljdWxhcmx5IGVmZmVjdGl2ZSBpbiBpbXByb3ZpbmcgcHJpbWUgZWRpdGluZyBlZmZpY2llbmN5LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwiYnVpbGQtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgV2UgZGVzaWduZWQgc2V2ZXJhbCBwZWdSTkFzLCBib3RoIHdpdGggYW5kIHdpdGhvdXQgc2lsZW50IGVkaXRzLiBUbyBhc3Npc3Qgd2l0aCB0aGlzLCB3ZSB1c2VkIHRoZSBwZWdGaW5kZXIgc29mdHdhcmU8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGVncm5hXCIgbnVtPVwiMVwiIHNjcm9sbElkPVwiZGVzYy0xXCIvPiwgd2hpY2ggZ2VuZXJhdGVkIHBvc3NpYmxlIHZhcmlhdGlvbnMgb2YgcGVnUk5BcyBiYXNlZCBvbiB0aGUgc2VxdWVuY2Ugb2YgdGhlIHJlcG9ydGVyIHBsYXNtaWQuIFdlIHNlbGVjdGVkIHRoZSBvcHRpbWFsIHBlZ1JOQSBhcyBzdWdnZXN0ZWQgYnkgdGhlIHNvZnR3YXJlLCBhbmQgdGhlbiB0ZXN0ZWQgaXQgaW4gdHdvIGZvcm1zOiBvbmUgdW5tb2RpZmllZCBhbmQgb25lIHdpdGggc2lsZW50IGVkaXRzLiBGb3IgdGhlIHVubW9kaWZpZWQgdmFyaWFudCwgd2UgaW5jbHVkZWQgYSBzaW5nbGUgc2lsZW50IGVkaXQgdGhhdCBpbnRyb2R1Y2VkIGEgUEFNIGRpc3J1cHQgaW4gdGVybXMgb2Ygb3VyIGJpb3NhZmV0eSBtZWFzdXJlcy4gRm9yIHRoZSBtb2RpZmllZCB2YXJpYW50LCB3ZSBpbnRyb2R1Y2VkIHRocmVlIHNpbGVudCBlZGl0cyBpbiB0b3RhbCwgYWRkaW5nIHR3byBtb3JlIHRvIHRoZSBpbml0aWFsIGVkaXQuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBPbmNlIHdlIGhhZCBkZXNpZ25lZCB0aGVzZSB2YXJpYW50cywgd2Ugb3JkZXJlZCB0aGVtIGluIHRoZWlyIGluZGl2aWR1YWwgY29tcG9uZW50cyBhbmQgY2xvbmVkIHRoZW0gaW50byBhIHBVNi1wZWctR0ctYWNjZXB0b3IgYmFja2JvbmUgdXNpbmcgR29sZGVuIEdhdGUgY2xvbmluZyBhY2NvcmRpbmcgdG8gdGhlIHByb3RvY29sIGZyb20gQW56YWxvbmUgZXQgYWwuIDIwMTk8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGVncm5hXCIgbnVtPVwiMlwiIHNjcm9sbElkPVwiZGVzYy0yXCIvPi4gV2UgdGhlbiBzY3JlZW5lZCB0aGUgYXNzZW1ibGVkIHBlZ1JOQXMgdG8gZW5zdXJlIHRoYXQgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50cyBoYWQgdGhlIGNvcnJlY3Qgb3JpZW50YXRpb24gYW5kIHRoZW4gY2xvbmVkIHRoZW0gaW50byB0aGUgcFU2LUdHLXBlZ1JOQS1hY2NlcHRvciBwbGFzbWlkIHNvIHRoYXQgdGhleSB3ZXJlIHJlYWR5IHRvIGJlIHRlc3RlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGVzdC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGVzZSB0d28gdmFyaWFudHMgd2VyZSB0aGVuIHRlc3RlZCBhZ2FpbnN0IGVhY2ggb3RoZXIgdXNpbmcgb3VyIHJlcG9ydGVyIHBsYXNtaWQgc3lzdGVtW2xpbmtdIGFuZCBhIFBFMiA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdwZS1zeXN0ZW1zJywgJy9lbmdpbmVlcmluZycpfT4gcHJpbWUgZWRpdG9yPC9hPi4gVGhlIHRlc3Qgb2YgdGhlIHBlZ1JOQXMgd2FzIGNvbmR1Y3RlZCBieSBjby10cmFuc2ZlY3RpbmcgdGhlIHJlcG9ydGVyIHN5c3RlbSwgdGhlIHBlZ1JOQSBwbGFzbWlkcyBhbmQgdGhlIFBFMiBwbGFzbWlkcyBpbnRvIEhFSzI5MyBjZWxscy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSByZXN1bHRzIHNob3dlZCB0aGF0IHRoZSBlZGl0aW5nIGVmZmljaWVuY3kgb2YgdGhlIHZhcmlhbnQgd2l0aG91dCBzaWxlbnQgZWRpdHMgd2FzIHN1cGVyaW9yIHRvIHRoZSB2YXJpYW50IHdpdGggc2lsZW50IGVkaXRzLCB3aGljaCBjb25zaWRlcmluZyBvdXIgaW5wdXQgd2FzIG5vdCBleHBlY3RlZC4gQnV0IGFzIHdlIGhhdmUgbGVhcm5lZCBpbiB0aGUgaW50ZXJ2aWV3IHdpdGggSmFuLVBoaWxsaXBwIEdlcmhhcmQsIHRoZXNlIHNpbGVudCBlZGl0cyBhcmUgZXNwZWNpYWxseSBlZmZlY3RpdmUgaW4gYXZvaWRpbmcgbWlzbWF0Y2ggcmVwYWlyIChNTVIpIGluc2lkZSBodW1hbiBjZWxscy4gRm9ybSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdtYXR0aWpzaW52JywgJy9odW1hbi1wcmFjdGljZXMnKX0+IE1hdHRpanMgQnVsY2FlbiA8L2E+IHdlIGxlYXJuZWQsIHRoYXQgSEVLMjkzIGNlbGxzIGFyZSBkZWZpY2llbnQgaW4gdGhpcyB2ZXJ5IG1lY2hhbmlzbS4gRnJvbSB0aGlzIHdlIGRlZHVjZWQgdGhhdCB3ZSBoYWQgdG8gdGVzdCB0aGUgc2lsZW50IGVkaXRzIGluIGx1bmcgZXBoaXRhbCBjZWxscyB0byBnZXQgYSB2YWxpZCByZXN1bHQuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJwZWcyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIlNjcmVlbmluZyBvZiBwZWdSTkEgdmFyaWFudHNcIiBpZD1cInBlZzJoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBJbiB0aGlzIHNlY29uZCBpdGVyYXRpb24sIHdlIGZvY3VzZWQgb24gZnVydGhlciBvcHRpbWl6aW5nIG91ciBwZWdSTkEgYnkgaW5jb3Jwb3JhdGluZyBhIHN0ZW0gbG9vcCBhbmQgZXhwZXJpbWVudGluZyB3aXRoIGRpZmZlcmVudCBsZW5ndGhzIG9mIHRoZSBQQlMgKFByaW1lciBCaW5kaW5nIFNpdGUpIGFuZCBSVFQgKFJldmVyc2UgVHJhbnNjcmlwdGFzZSBUZW1wbGF0ZSkuIFRoZXNlIG1vZGlmaWNhdGlvbnMgd2VyZSBpbnNwaXJlZCBieSBhIGNvbWJpbmF0aW9uIG9mIGxpdGVyYXR1cmUgcmVzZWFyY2ggYW5kIGV4cGVydCBpbnRlcnZpZXdzLiBBZnRlciBldmFsdWF0aW5nIHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgcGVnUk5BcyB1c2luZyBGQUNTLCB3ZSBzZWxlY3RlZCB0aGUgdGhyZWUgbW9zdCBlZmZlY3RpdmUgY2FuZGlkYXRlcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJkZXNpZ24taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFzZWQgb24gbGl0ZXJhdHVyZSByZXZpZXdzIGFuZCBvdXIgaW50ZXJ2aWV3IHdpdGggPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignbWF0dGlqc2ludicsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBNYXR0aWpzIEJ1bGNhZW4gPC9hPiwgd2UgZGVjaWRlZCB0byBtb2RpZnkgb3VyIHBlZ1JOQSBieSBhZGRpbmcgYSBzdGVtIGxvb3AgdG8gZW5oYW5jZSBpdHMgc3RhYmlsaXR5LiBTcGVjaWZpY2FsbHksIE1hdHRpanMgcmVjb21tZW5kZWQgdXNpbmcgdGhlIHRldm9wcmVRMSBzdGVtIGxvb3AsIGEgc21hbGwgc3RydWN0dXJhbCBtb3RpZiB0aGF0IGluY3JlYXNlcyB0aGUgcGVnUk5BJ3MgcmVzaXN0YW5jZSB0byBSTmFzZXMuIFRoaXMgc3RlbSBsb29wIHdhcyBhZGRlZCB0byB0aGUgMycgZW5kIG9mIHRoZSBwZWdSTkEsIHBvc2l0aW9uZWQgYWZ0ZXIgdGhlIFBCUy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkaXRpb25hbGx5LCBkdXJpbmcgYSB3ZWJpbmFyIHdpdGggQi4gU2MuIEpvcmRhbiBEb21hbjxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZWdybmFcIiBudW09XCIzXCIgc2Nyb2xsSWQ9XCJkZXNjLTNcIi8+LCB3ZSBsZWFybmVkIHRoYXQgaXQgaXMgaW1wb3J0YW50IHRvIHRlc3QgdmFyaW91cyBsZW5ndGhzIG9mIFBCUyBhbmQgUlRULCBhcyB0aGVyZSBpcyBubyB1bml2ZXJzYWxseSBvcHRpbWFsIGxlbmd0aCBmb3IgYWxsIGFwcGxpY2F0aW9ucy4gSW5zdGVhZCwgdGhlIGlkZWFsIGxlbmd0aHMgYXJlIGFwcGxpY2F0aW9uIHNwZWNpZmljLiBGb2xsb3dpbmcgdGhpcyBhZHZpY2UsIHdlIGRlc2lnbmVkIHNpeCBkaWZmZXJlbnQgcGVnUk5BIHZhcmlhbnRzIHdpdGggY29tYmluYXRpb25zIG9mIHR3byBkaWZmZXJlbnQgUEJTIGxlbmd0aHMgKDE2IGFuZCAxNyBudWNsZW90aWRlcykgYW5kIHRocmVlIGRpZmZlcmVudCBSVFQgbGVuZ3RocyAoMjcsIDMwLCBhbmQgMzMgbnVjbGVvdGlkZXMpLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBXZSBjaG9zZSB0aGUgUEJTIGxlbmd0aHMgb2YgMTYgYW5kIDE3IG51Y2xlb3RpZGVzIGJhc2VkIG9uIGFuIGVhcmxpZXIgcmVjb21tZW5kYXRpb24gZnJvbSBKYW4tUGhpbGxpcHAgR2VyaGFyZCwgd2hvIGVtcGhhc2lzZWQgdGhhdCB0aGUgYW5uZWFsaW5nIHRlbXBlcmF0dXJlIG9mIHRoZSBQQlMgc2hvdWxkIG1hdGNoIHRoZSBlbnZpcm9ubWVudGFsIGNvbmRpdGlvbnMgcmVsZXZhbnQgdG8gdGhlIGludGVuZGVkIGFwcGxpY2F0aW9uLiBJbiBvdXIgY2FzZSwgc2luY2Ugd2UgYXJlIGV4cGxvcmluZyBhIHBvdGVudGlhbCB0aGVyYXBldXRpYyBhcHByb2FjaCwgaXQgaXMgaW1wb3J0YW50IHRoYXQgdGhlIGFubmVhbGluZyB0ZW1wZXJhdHVyZSBvZiB0aGUgUEJTIGlzIGNsb3NlIHRvIHRoZSBib2R5IHRlbXBlcmF0dXJlIG9mIDM3IFx1MDBCMEMsIHdoaWNoIGlzIHRoZSBjYXNlIGZvciB0aGVzZSBsZW5ndGhzLiBUaGUgUlRUIGxlbmd0aHMgd2VyZSBzZWxlY3RlZCBiYXNlZCBvbiBzdWdnZXN0aW9ucyBmcm9tIHRoZSBwZWdGaW5kZXIgc29mdHdhcmUuIEFzIHdpdGggb3VyIHByZXZpb3VzIGluc2lnaHRzLCB3ZSBkZXNpZ25lZCBhbGwgc2l4IHZhcmlhbnRzIGJvdGggd2l0aCBhbmQgd2l0aG91dCBzaWxlbnQgZWRpdHMgZm9yIGEgd2lkZXIgY29tcGFyaXNvbiBvZiB0aGUgc2lsZW50IGVkaXRzLCBtYWtpbmcgaXQgMTIgdmFyaWFudHMgaW4gdG90YWwuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJidWlsZC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBPbmNlIHdlIGhhZCBkZXNpZ25lZCB0aGVzZSB2YXJpYW50cywgd2Ugb3JkZXJlZCB0aGVtIGluIHRoZWlyIGluZGl2aWR1YWwgY29tcG9uZW50cyBhbmQgY2xvbmVkIHRoZW0gdG9nZXRoZXIgdXNpbmcgR29sZGVuIEdhdGUgY2xvbmluZy4gVGhpcyB3YXMgYSBtdWNoIG1vcmUgcmVzb3VyY2UtZWZmaWNpZW50IGFuZCBzdXN0YWluYWJsZSBvcHRpb24sIGFzIG9ubHkgdGhlIFBCUyBhbmQvb3IgUlRUIGxlbmd0aHMgZGlmZmVyZWQuIFRodXMsIHRoZXJlIHdhcyBhIGNvbnN0YW50IHBlZ1JOQSBwYXJ0LCBjb25zaXN0aW5nIG9mIHNwYWNlciBhbmQgc2NhZmZvbGQsIGFuZCBhIHZhcmlhYmxlIHBhcnQsIGNvbnNpc3Rpbmcgb2YgUEJTLCBSVFQgYW5kIHN0ZW0gbG9vcC4gV2UgdGhlbiBjbG9uZWQgdGhlc2UgdmFyaWFudHMgaW50byB0aGUgcFU2LUdHLXBlZ1JOQS1hY2NlcHRvciBwbGFzbWlkIGFuZCBjb25maXJtZWQgdGhlIGNvcnJlY3Qgb3JpZW50YXRpb24gYW5kIHN1Y2Nlc3NmdWwgY2xvbmluZyBvZiBhbGwgY29uc3RydWN0cyB0aHJvdWdoIHNjcmVlbmluZy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGVzdC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBXZSB0ZXN0ZWQgdGhlc2UgdHdlbHZlIHBlZ1JOQSB2YXJpYW50cyBhZ2FpbnN0IGVhY2ggb3RoZXIgYW5kIHRoZSB0d28gcHJldmlvdXMgdmFyaWFudHMgd2l0aG91dCB0aGUgdHJldm9wcmVRMSBzdGVtIGxvb3AsIGFnYWluIHdpdGhpbiB0aGUgUEUyIHN5c3RlbSwgdXNpbmcgb3VyIHJlcG9ydGVyIHN5c3RlbSwgdG8gYXNzZXNzIHRoZWlyIGVkaXRpbmcgZWZmaWNpZW5jeS4gVGhlIGV4cGVyaW1lbnRhbCBzZXR1cCB3YXMgc2ltaWxhciB0byB0aGUgY3ljbGUgYmVmb3JlLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwibGVhcm4taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbSB0aGlzIHJvdW5kIG9mIHRlc3RpbmcsIHdlIGZvdW5kIG91dCB0aGF0IG91ciBlbmdpbmVlcmVkIHBlZ1JOQSB2YXJpYW50cyBwZWdSTkEwNCwgMDUsIDA3IGFuZCAwOCBleGhpYml0ZWQgdGhlIGhpZ2hlc3QgbGV2ZWxzIG9mIGVmZmljaWVuY3kgYW5kIHN0YWJpbGl0eSwgd2hpbGUgdGhlIHBlZ1JOQTEyIHNob3dlZCB0aGUgbG93ZXN0IGxldmVsIG9mIGVkaXRpbmcgZWZmaWNpZW5jeS4gVGhlcmVmb3JlLCB3ZSByZWFzb25lZCB0byBnbyB3aXRoIHRoZXNlIGZvdXIgcGVnUk5BIHZhcmlhbnRzIGFzIHdlbGwgYXMgcGVnUk5BMTIgYXMgYSBuZWdhdGl2ZSBleGFtcGxlIGZvciBmb2xsb3ctdXAgZXhwZXJpbWVudHMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJwZWczXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIkFwcGxpY2F0aW9uIGx1bmcgZXBpdGhlbGlhbCBjZWxsIGxpbmVzXCIgaWQ9XCJwZWczaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSEVLIGNlbGxzIGFyZSBhbiBlYXN5IHRvIGhhbmRsZSBhbmQgZWFzeSB0byBlZGl0IGNlbGwgbW9kZWwuIEhvd2V2ZXIsIHRoZXkgYXJlIG5vdCBwYXJ0aWN1bGFybHkgc2ltaWxhciB0byB0aGUgY2VsbHMgdGhhdCB3b3VsZCBhY3R1YWxseSBiZSB1c2VmdWwgdGFyZ2V0cyBmb3IgYSBnZW5lIHRoZXJhcHkuIEluIG91ciBjb250ZXh0LCB0d28ga2V5IGRpZmZlcmVuY2VzIGFyZSBlc3BlY2lhbGx5IGdyYXZlOiBIRUsgY2VsbHMsIGFzIG1lbnRpb25lZCBhYm92ZSwgYXJlIGltcGFpcmVkIGluIG1pc21hdGNoIHJlcGFpciwgbWFraW5nIHRoZW0gZWFzaWVyIHRvIGVkaXQsIGFuZCB0aGV5IGRvIG5vdCBuYXR1cmFsbHkgZXhwcmVzcyBDRlRSLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBJbiB0aGlzIHRoaXJkIGl0ZXJhdGlvbiwgd2Ugd2FudGVkIHRvIGludmVzdGlnYXRlZSB0aGUgYXBwbGljYWJpbGl0eSBvZiBhIHBlZ1JOQSBvcHRpbWl6ZWQgaW4gYSBtb2RlbCBjbG9zZXIgdG8gdGhlcmFwZXV0aWMgYXBwbGljYXRpb24uIEluIG91ciBjYXNlIHdlIHVzZWQgaW4gQ0ZCRTQxby0gZXBpdGhlbGlhbCBjZWxscyBsaW5lc1tsaW5rXSBob21venlnb3VzIGZvciB0aGUgQ0ZUUiBGNTA4ZGVsIG11dGF0aW9uLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJCdWlsZFwiIGlkPVwiYnVpbGQtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yIHRoaXMgdGVzdCwgd2UgdXNlZCBvbmUgb2YgdGhlIHBlZ1JOQXMgKHBlZ1JOQTA0KSB0aGF0IHNob3dlZCB0aGUgaGlnaGVzdCBlZmZpY2llbmNpZXMgaW4gcHJldmlvdXMgb3B0aW1pemF0aW9uIHN0ZXBzLiBTaW5jZSB3ZSBleHBlY3RlZCBvbmx5IGxvdyBlZGl0aW5nIGVmZmljaWVuY2llcyBjb21wYXJlZCB0byBIRUsgY2VsbHMgZm9yIHJlYXNvbnMgbWVudGlvbmVkIGFib3ZlLCB3ZSB1c2VkIHRoZSBQRTZjIHByaW1lIGVkaXRvcltsaW5rXS4gSXQgaGFkIHByb3ZlbiB0byBiZSBtb3N0IGVmZmVjdGl2ZSBpbiBIRUsgY2VsbHMgaW4gb3VyIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3BlLXN5c3RlbXMnLCAnL2VuZ2luZWVyaW5nJyl9PiBwZSBzeXN0ZW1zIGVuZ2luZWVyaW5nIGN5Y2xlIDwvYT4gYW5kIHNob3VsZCBlbnN1cmUgZGV0ZWN0YWJpbGl0eSBvZiBwb3NzaWJsZSBlZGl0aW5nLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXN0LWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlIGNvLXRyYW5zZmVjdGVkIHRoZSBDRkJFNDFvLSB3aXRoIG91ciBtb2RpZmllZCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdyZXBvcnRlcicsICcvZW5naW5lZXJpbmcnKX0+IHJlcG9ydGVyIHN5c3RlbSA8L2E+LCB0aGUgcGxhc21pZCBleHByZXNzaW5nIHBlZ1JOQTA0IGFzIHdlbGwgYXMgcENNVi1QRTZjLiBBcyBhIHJlc3VsdCwgd2Ugb2JzZXJ2ZWQgZmx1b3Jlc2NlbmNlLCBpbmRpY2F0aW5nIHN1Y2Nlc3NmdWwgZWRpdGluZyBvZiB0aGUgcmVwb3J0ZXIgcGxhc21pZC4gVGhlIG5lZ2F0aXZlIGNvbnRyb2xzIHRyYW5zZmVjdGVkIHdpdGggb25seSBvbmUgb2YgdGhlIHBsYXNtaWRzIGVhY2ggc2hvd2VkIG5vIGZsdW9yZXNjZW5jZSwgcm91dGluZyBvdXQgb3RoZXIgZmFjdG9ycy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoYW5rcyB0byB0aGlzIGV4cGVyaW1lbnQgd2Uga25ldywgdGhhdCBvdXIgcGVnUk5BcyB3b3JrIG5vdCBvbmx5IGluIEhFSywgYnV0IGFsc28gaW4gZXBpdGhlbGlhbCBjZWxscyB0aGF0IGV4cHJlc3MgQ0ZUUiBGNTA4ZGVsLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwicGVnNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJBcHBsaWNhdGlvbiB0byBnZW5vbWljIENGVFIgdGFyZ2V0aW5nXCIgaWQ9XCJwZWc0aGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gdGhpcyBmb3VydGggaXRlcmF0aW9uLCB3ZSBhaW1lZCB0byB0cmFuc2ZlciBvdXIgZmluZGluZ3MgaW4gb3B0aW1pemluZyB0aGUgcGVnUk5BcywgZ2VuZXJhdGVkIGluIHByZXZpb3VzIGl0ZXJhdGlvbnMsIHRvIHRoZSBnZW5vbWljIENGVFIgY29udGV4dC4gVG8gdGhpcyBlbmQgd2UgbW9kaWZpZWQgb3VyIHBlZ1JOQXMgdG8gYmUgdXNlZCBpbiB0aGUgQ0ZUUiBnZW5lIGVkaXRpbmcgcHJvY2Vzcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJkZXNpZ24taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVXNpbmcgdGhlIHBlZ0ZpbmRlciBzb2Z0d2FyZSBhbmQgb3VyIGFjcXVpcmVkIGV4cGVydGlzZSBpbiBjcmVhdGluZyBwZWdSTkFzLCB3ZSBkZXNpZ25lZCB0aGUgbmV3IHZhcmlhbnRzIHNwZWNpZmljYWxseSB0YWlsb3JlZCB0byB0aGUgZ2Vub21pYyBDRlRSIHJlZ2lvbi4gVGhlc2UgcGVnUk5BcyBpbmNsdWRlZCB0aGUgc2FtZSBjb21iaW5hdGlvbnMgb2YgUEJTIGFuZCBSVFQgbGVuZ3RocyBhcyB0aGUgb25lcyB3ZSBjcmVhdGVkIGZvciBvdXIgcmVwb3J0ZXIgcGxhc21pZC4gTm90YWJseSwgc2NhZmZvbGQsIHNwYWNlciwgUEJTIGFuZCBhIHBhcnQgb2YgdGhlIFJUVCBkaWQgbm90IGhhdmUgdG8gYmUgY2hhbmdlZCBmcm9tIHRoZSByZXBvcnRlciB0YXJnZXRpbmcgdG8gZ2Vub21lIHRhcmdldGluZyBwZWdSTkFzLiBPZiB0aGUgY3JlYXRlZCBwZWdSTkFzLCB3ZSB3YW50ZWQgdG8gZm9jdXMgb24gdGVzdGluZyB0aGUgbW9zdCBlZmZlY3RpdmUgZm91ciB2YXJpYW50cyBmb3VuZCBpbiB0aGUgcHJldmlvdXMgY3ljbGVzIGFuZCBhbHNvIGEgdmFyaWFudCBkZXNpZ25hdGVkIGNvbXBhcmF0aXZlbHkgaW5lZmZlY3RpdmUgdG8gdGVzdCBmb3IgY29uc2lzdGVuY3kgb2Ygb3VyIHJlcG9ydGVyIHN5c3RlbS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBuZXdseSBkZXNpZ25lZCBwZWdSTkFzIHdlcmUgb3JkZXJlZCBhcyBzZXBhcmF0ZSBjb21wb25lbnRzLCBpZGVudGljYWwgdG8gdGhlIHByb2Nlc3MgdXNlZCBmb3IgdGhlIHBlZ1JOQXMgdGFyZ2V0aW5nIHRoZSByZXBvcnRlciBzeXN0ZW0uIEVhY2ggUk5BIGhhZCBib3RoIGEgY29uc3RhbnQgYW5kIHZhcmlhYmxlIHJlZ2lvbiwgd2hpY2ggd2UgYXNzZW1ibGVkIHVzaW5nIEdvbGRlbiBHYXRlIGNsb25pbmcuIEFmdGVyd2FyZHMgd2UgY29uZmlybWVkIHRoZSBjb3JyZWN0bmVzcyBhbmQgY29tcGxldGVuZXNzIG9mIHRoZSBjbG9uaW5nIGludG8gdGhlIHBVNi1wZWctR0ctYWNjZXB0b3IgcGxhc21pZCB0aHJvdWdoIGNvbG9ueSBQQ1Igc2NyZWVuaW5nLiBVbmZvcnR1bmF0ZWx5IHRvIHRoaXMgcG9pbnQsIHdlIHdlcmUgbm90IGFibGUgdG8gcHJvZHVjZSBwb3NpdGl2ZSBjbG9uZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlRlc3RcIiBpZD1cInRlc3QtaGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIG5leHQgc3RlcCBpcyB0byB0ZXN0IHRoZSBjb3JyZWN0aW9uIG9mIENGVFIgRjUwOGRlbCB1c2luZyB0aGVzZSBwZWdSTkFzIGluIHRoZSBDRkJFNDFvLSBlcGl0aGVsaWFsIGNlbGxzLiBBZGRpdGlvbmFsbHksIHdlIGFsc28gd2FudCB0byB0ZXN0IHRoZSBwZWdSTkFzIGluIHByaW1hcnkgY2VsbHMgZGVyaXZlZCBmcm9tIGZyaWVuZCBvZiB0aGUgdGVhbSBhbmQgY3lzdGljIGZpYnJvc2lzIHBhdGllbnQgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignbWF4Zmlyc3QnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gTWF4IDwvYT4sIHRlc3Rpbmcgd2hldGhlciBvdXIgYXBwcm9hY2hlcyBhcmUgYXBwbGljYWJsZSBub3Qgb25seSBpbiBtb2RlbCBzeXN0ZW1zLCBidXQgYWxzbyB3b3JrIGluIHBhdGllbnQgY2VsbHMuIFRvIHZhbGlkYXRlIHRoZSBlZGl0aW5nIGVmZmljaWVuY3kgb2Ygb3VyIGRlc2lnbmVkIHBlZ1JOQXMgd2VyZSBnb2luZyB0byBjby10cmFuc2ZlY3QgYSBwbGFzbWlkIGNhcnJ5aW5nIGFuIGVZRlAgdmFyaWFudCB3aGljaCBpcyBzZW5zaXRpdmUgdG8gY2hsb3JpZGUgYW5kIGlvZGlkZSBpb24gY29uY2VudHJhdGlvbnM8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItcGVncm5hXCIgbnVtPVwiNFwiIHNjcm9sbElkPVwiZGVzYy00XCIvPjxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1wZWdybmFcIiBudW09XCI1XCIgc2Nyb2xsSWQ9XCJkZXNjLTVcIi8+LiBUaGUgaW50ZW5zaXR5IG9mIHRoZSBmbHVvcmVzY2VuY2UgY29ycmVsYXRlcyB3aXRoIHRoZXNlIGlvbiBjb25jZW50cmF0aW9ucywgd2hpY2ggaW4gdHVybiByZWZsZWN0cyB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgQ0ZUUiBjaGFubmVsLiBUaGlzIGVuYWJsZXMgdXMgdG8gZXZhbHVhdGUgdGhlIGVkaXRpbmcgZWZmaWNpZW5jeSBvZiB0aGUgZGlmZmVyZW50IHBlZ1JOQSB2YXJpYW50cyBvbiBhIHBoZW5vdHlwaWMgbGV2ZWwuIEFmdGVyIDcyIGhvdXJzLCB3ZSBhcmUgZ29pbmcgdG8gcGVyZm9ybSBhIGZpbmFsIGFuYWx5c2lzIHVzaW5nIEZBQ1MgdG8gcXVhbnRpZnkgdGhlIHJlc3VsdHMgYW5kIGRldGVybWluZSB0aGUgZWRpdGluZyBlZmZpY2llbmN5IG9mIGVhY2ggcGVnUk5BLiBTZWNvbmRseSwgd2Ugd2FudGVkIHRvIGRldGVjdCB0aGUgZWRpdGluZyBvbiBhIGdlbm9taWMgbGV2ZWwgYnkgZmFjaWxpdGF0aW5nIGEgcVBDUiB3aXRoIGEgcHJpbWVyIHNwZWNpZmljIG9ubHkgdG8gdGhlIGNvcnJlY3RlZCBGNTA4ZGVsIGxvY3VzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwibGVhcm4taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgV2l0aCB0aGlzIGV4cGVyaW1lbnQgd2UgaG9wZSB0byBhY2hpZXZlIHR3byB0aGluZ3M6IEZpcnN0bHksIHdlIHdhbnQgdG8gZXhhbWluZSB3aGV0aGVyIG9wdGltaXphdGlvbnMgb2YgcGVnUk5BcyBkZXNpZ25lZCBmb3Igb3VyIHJlcG9ydGVyIHN5c3RlbSBhY3R1YWxseSB0cmFuc2ZlciB0byB0aGUgZ2Vub21pYyBDRlRSIHRhcmdldGluZy4gU2Vjb25kbHkgYW5kIG1vc3QgaW1wb3J0YW50bHksIHdlIHdhbnQgdG8gZmluZCBvdXQgd2hldGhlciB3ZSBhY3R1YWxseSBjcmVhdGVkIGFuIGVmZmVjdGl2ZSBnZW5lIGVkaXRpbmcgc3RyYXRlZ3kgZm9yIHRoZSBnZW5vbWljIGNvbnRleHQgb2YgQ0ZUUiwgdGhlcmVieSBwcm92aWRpbmcgYSBmb3VuZGF0aW9uIGZvciBhIGZ1dHVyZSBnZW5lIHRoZXJhcHkgd2l0aCBoaWdoIGVmZmljaWVuY3kgYW5kIHByZWNpc2lvbiB3aGVuIHVzZWQgd2l0aCB0aGUgcmlnaHQgcHJpbWUgZWRpdG9yLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwicGVnNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJPdXRsb29rXCIgaWQ9XCJwZWc1aGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gdGhpcyBmaW5hbCBpdGVyYXRpb24sIHdlIGZvY3VzIG9uIHRoZSBvdXRsb29rIGZvciBmdXR1cmUgbW9kaWZpY2F0aW9ucyBhbmQgb3B0aW1pemF0aW9ucyBvZiBvdXIgcGVnUk5BIGRlc2lnbi4gVGhlc2UgY29uY2VwdHMgYXJlIG1lYW50IHRvIGZ1cnRoZXIgaW1wcm92ZSBib3RoIHRoZSBzdGFiaWxpdHkgYW5kIGVkaXRpbmcgZWZmaWNpZW5jeSB0aHJvdWdoIGFkZGl0aW9uYWwgcmVzZWFyY2ggYW5kIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBuZXcgZGVzaWduIHN0cmF0ZWdpZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwiZGVzaWduLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEFzIHdlIGNvbnRpbnVlZCB0byByZWZpbmUgb3VyIGFwcHJvYWNoLCBmdXJ0aGVyIGxpdGVyYXR1cmUgcmVzZWFyY2ggd2FzIGNvbmR1Y3RlZCwgYW5kIG5ldyBkZXNpZ24gaWRlYXMgY29uc2lkZXJlZC4gVGhlIG92ZXJhcmNoaW5nIGdvYWwgcmVtYWluZWQgdG8gZW5oYW5jZSBib3RoIHRoZSBzdGFiaWxpdHkgYW5kIGVkaXRpbmcgZWZmaWNpZW5jeSBvZiB0aGUgcGVnUk5Bcy4gT25lIGNvbmNlcHQgd2UgYXJlIGFscmVhZHkgZXhwbG9yaW5nIGludm9sdmVzIHRoZSBpbmNvcnBvcmF0aW9uIG9mIDNcdTIwMTkgYW5kIDVcdTIwMTkgVVRScyAoVW50cmFuc2xhdGVkIFJlZ2lvbnMpPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlZ3JuYVwiIG51bT1cIjZcIiBzY3JvbGxJZD1cImRlc2MtNlwiLz4uIFRoZXNlIGVsZW1lbnRzLCB0eXBpY2FsbHkgZm91bmQgaW4gbVJOQSwgY291bGQgYmUgYWRkZWQgdG8gdGhlIHBlZ1JOQSB0byBpbmNyZWFzZSBpdHMgc3RhYmlsaXR5LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD4gICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEFub3RoZXIgcHJvbWlzaW5nIGlkZWEgaXMgdGhlIHVzZSBvZiBjaXJjdWxhciBSTkEgKGNpcmNSTkEpPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLXBlZ3JuYVwiIG51bT1cIjdcIiBzY3JvbGxJZD1cImRlc2MtN1wiLz4sIHdoaWNoIGNvdWxkIHByb3ZpZGUgYWRkaXRpb25hbCBzdGFiaWxpdHkgYnkgbWFpbnRhaW5pbmcgdGhlIGNsb3NlZC1sb29wIHN0cnVjdHVyZSBvZiB0aGUgcGVnUk5BLiBUaGlzIHdvdWxkIHByZXZlbnQgZGVncmFkYXRpb24gYW5kIGluY3JlYXNlIHRoZSBsb25nZXZpdHkgb2YgdGhlIHBlZ1JOQSBpbiB0aGUgY2VsbC4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZGl0aW9uYWxseSwgZnVydGhlciBudWNsZW90aWRlIG1vZGlmaWNhdGlvbnMgY291bGQgYmUgZXhwbG9yZWQsIHN1Y2ggYXMgZXhwZXJpbWVudGluZyB3aXRoIGFsdGVybmF0aXZlIHNpbGVudCBlZGl0cyB0byBzZWUgaWYgdGhpcyBsZWFkcyB0byBpbXByb3ZlZCBlZGl0aW5nIGVmZmljaWVuY3kuIFdlIGFsc28gbnVjbGVvdGlkZSBzdWJzdGl0dXRpb25zIGluIHRoZSBzY2FmZm9sZCByZWdpb24gdG8gZW5oYW5jZSBSTkEtYmluZGluZyBhZmZpbml0eSB0byB0aGUgcHJvdGVpbiBjb21wbGV4IGNvdWxkIGJlIG9mIHVzZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIGltcGxlbWVudCB0aGVzZSBuZXcgZGVzaWduIGZlYXR1cmVzLCB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnRzLCBzdWNoIGFzIFVUUnMsIHdvdWxkIG5lZWQgdG8gYmUgY2xvbmVkIGludG8gdGhlIGV4aXN0aW5nIHBlZ1JOQXMuIElmIHdlIHB1cnN1ZSBhbHRlcm5hdGl2ZSBzaWxlbnQgZWRpdHMsIHRoZSBwZWdSTkEgc2VxdWVuY2VzIHdvdWxkIG5lZWQgdG8gYmUgcmVkZXNpZ25lZCwgb3JkZXJlZCwgYW5kIHJlLWNsb25lZC4gVGhlIGNpcmN1bGFyIFJOQSB3b3VsZCBhbHNvIHJlcXVpcmUgYSBuZXcgYXNzZW1ibHkgbWV0aG9kIHRvIGFjaGlldmUgdGhlIGRlc2lyZWQgc3RydWN0dXJlLiBIb3dldmVyLCB0aGUgZnVuZGFtZW50YWwgd29ya2Zsb3cgd291bGQgcmVtYWluIGNvbnNpc3RlbnQgd2l0aCB0aGUgcHJvY2Vzc2VzIHVzZWQgaW4gcHJldmlvdXMgaXRlcmF0aW9ucy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGVzdC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUbyBtYWludGFpbiBjb25zaXN0ZW5jeSBhbmQgY29tcGFyYWJpbGl0eSwgdGhlIHNhbWUgdGVzdGluZyBwcm90b2NvbHMgdXNlZCBmb3IgdGhlIHByZXZpb3VzIHBlZ1JOQSBzY3JlZW5pbmcgd291bGQgYmUgYXBwbGllZC4gVGhpcyBpbmNsdWRlcyBjby10cmFuc2ZlY3Rpb24gaW4gdGhlIGFwcHJvcHJpYXRlIGNlbGwgbGluZXMsIGZsdW9yZXNjZW5jZS1iYXNlZCByZWFkb3V0cyBmb3IgZWRpdGluZyBlZmZpY2llbmN5LCBhbmQgRkFDUyBhbmFseXNpcy4gQnkga2VlcGluZyB0aGUgZXhwZXJpbWVudGFsIGNvbmRpdGlvbnMgdGhlIHNhbWUsIHdlIGNhbiBlbnN1cmUgdGhhdCB0aGUgZWZmZWN0cyBvZiB0aGUgbmV3IG1vZGlmaWNhdGlvbnMgY2FuIGJlIGFjY3VyYXRlbHkgYXNzZXNzZWQgYW5kIGNvbXBhcmVkIHRvIHByZXZpb3VzIHJlc3VsdHMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJsZWFybi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9tIHRoZXNlIHRlc3RzLCB3ZSB3b3VsZCBhaW0gdG8gZGVyaXZlIG5ldyBpbnNpZ2h0cyBub3Qgb25seSBzcGVjaWZpYyB0byBvdXIgcGFydGljdWxhciBjb250ZXh0IGJ1dCBhbHNvIGZvciBwZWdSTkEgZGVzaWduIGFzIGEgd2hvbGUuIFRoZXNlIGZ1dHVyZSBtb2RpZmljYXRpb25zIGNvdWxkIGFsc28geWllbGQgdmFsdWFibGUgaW5mb3JtYXRpb24gb24gaG93IHRvIGZ1cnRoZXIgaW1wcm92ZSB0aGUgb3ZlcmFsbCBlZmZpY2llbmN5IGFuZCBzdGFiaWxpdHkgb2YgcGVnUk5BcywgY29udHJpYnV0aW5nIHRvIHRoZSBicm9hZGVyIGZpZWxkIG9mIGdlbmUgZWRpdGluZy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJSZWZlcmVuY2VzXCIgaWQ9XCJyZWZlcmVuY2VzXCI+XG4gICAgICAgICAgICAgICAgICAgICA8RW5nUGVnc291cmNlcy8+XG4gICAgICAgICAgICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWZ0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiUHJldmlvdXNcIiBvcGVuPVwicGUtc3lzdGVtc1wiIHNjcm9sbFRvSWQ9XCJwZS1zeXN0ZW1zLWhlYWRlclwiLz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgYnV0dG9uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmlnaHRcIj48QnV0dG9uT25lRW5naW5lZXJpbmcgbGFiZWw9XCJOZXh0XCIgb3Blbj1cIm5pY2thc2VcIiBzY3JvbGxUb0lkPVwibmlja2FzZS1oZWFkZXJcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVuZ2lubmVlcmluZ3RhYlwiIGlkPVwidGFiLW5pY2thc2VcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICA8c2VjdGlvbiBpZD1cIk5pY2thc2Ugc2VjXCIgPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJlbmctYm94IGJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxIMiBpZD1cIm5pY2thc2UtaGVhZGVyXCIgdGV4dD1cIkFsdGVybmF0aXZlIE5pY2thc2VzXCI+PC9IMj5cbiAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBDYXM5IG5pY2thc2UgaXMgdGhlIGtleSBjb21wb25lbnQgb2YgbW9zdCBjdXJyZW50IHByaW1lIGVkaXRpbmcgc3lzdGVtLiBJdCBpcyBuZWVkZWQgZm9yIGxvY2FsaXppbmcgdGhlIGdlbm9taWMgdGFyZ2V0IGFuZCBjdXR0aW5nIGEgc2luZ2xlIEROQSBzdHJhbmQuIFRoZSBjb21wbGV4J3Mgc2l6ZSBhbmQgUk5BIHN0YWJpbGl0eSBpc3N1ZXMgbGltaXQgaXRzIGVmZmljaWVuY3kuIFRvIG92ZXJjb21lIHRoZXNlIGNoYWxsZW5nZXMsIHdlIGV4cGxvcmVkIHNtYWxsZXIgZW5kb251Y2xlYXNlcyBsaWtlIENhc1ggYW5kIEZhbnpvciwgd2hpY2ggbm90IG9ubHkgcmVkdWNlIHRoZSBzaXplIG9mIHRoZSBjb21wbGV4IGJ1dCBhbHNvIG9mZmVyIHN0cnVjdHVyYWwgYWR2YW50YWdlcyBzdWNoIGFzIGEgcmV2ZXJzZWQgZ3VpZGUgUk5BIGFyY2hpdGVjdHVyZS4gV2UgdGhlb3JpemUgdGhhdCB0aGlzIHVuaXF1ZSBjb25maWd1cmF0aW9uIHByb3RlY3RzIHRoZSBSTkEgZnJvbSBkZWdyYWRhdGlvbiBhbmQgaW1wcm92ZXMgZWRpdGluZyBwcmVjaXNpb24gYnkgcmVkdWNpbmcgdGhlIHJpc2sgb2YgdW53YW50ZWQgZ2Vub21pYyBhbHRlcmF0aW9ucyBieSBzY2FmZm9sZCByZWFkdGhyb3VnaCwgbWFraW5nIENhc1ggYW5kIFNwdUZ6MSBwcm9taXNpbmcgYWx0ZXJuYXRpdmVzIHRvIENhczktYmFzZWQgc3lzdGVtcyBmb3IgcHJpbWUgZWRpdGluZy48L3A+XG4gICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Zhbnpvci9tb3ZpZTQtZXpnaWYtY29tLXZpZGVvLXRvLWdpZi1jb252ZXJ0ZXIuZ2lmXCI+PC9pbWc+XG4gICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2Zhbnpvci9tb3ZpZTUtZXpnaWYtY29tLXZpZGVvLXRvLWdpZi1jb252ZXJ0ZXItMi5naWZcIj48L2ltZz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cIm5pYzFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwiU3B1RnoxIFppbmsgRmluZ2VyIE11dGF0aW9uIFwiIGlkPVwibmljMWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwidGV4dFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gb3VyIHF1ZXN0IHRvIGlkZW50aWZ5IHNtYWxsZXIgZW5kb251Y2xlYXNlcyBzdWl0YWJsZSBmb3IgY3JlYXRpbmcgbmlja2FzZXMsIHdlIGZvY3VzZWQgb24gYSBuZXdseSBjaGFyYWN0ZXJpemVkIGZhbWlseSBvZiBldWthcnlvdGljIGVuZG9udWNsZWFzZXMga25vd24gYXMgRmFuem9yIHByb3RlaW5zIGZpcnN0IGRlc2NyaWJlZCBpbiBKdW5lIDIwMjM8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItbmlja2FzZVwiIG51bT1cIjFcIiBzY3JvbGxJZD1cImRlc2MtMVwiLz4sIHdpdGggU3B1RnoxIChGaWcuIDEpIGJlaW5nIGEgc3RhbmRvdXQgY2FuZGlkYXRlIGR1ZSB0byBpdHMgc21hbGxlciBzaXplIGNvbXBhcmVkIHRvIENhczkgKFNwdUZ6MSBjb25zaXN0cyBvZiA2MzggYW1pbm8gYWNpZHM8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItbmlja2FzZVwiIG51bT1cIjFcIiBzY3JvbGxJZD1cImRlc2MtMVwiLz4sIHdoZXJlYXMgQ2FzOSBoYXMgYSBzaXplIG9mIDEzNjggYW1pbm8gYWNpZHM8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItbmlja2FzZVwiIG51bT1cIjJcIiBzY3JvbGxJZD1cImRlc2MtMlwiLz4pLiBXZSBzZWxlY3RlZCBTcHVGejEgbm90IG9ubHkgYmVjYXVzZSBvZiBpdHMgc21hbGxlciBzaXplLCBidXQgYWxzbyBkdWUgdG8gc3RydWN0dXJhbCBhZHZhbnRhZ2VzLCBzdWNoIGFzIHRoZSByZXZlcnNlZCBwb3NpdGlvbmluZyBvZiB0aGUgc3BhY2VyLCB3aGljaCBwcm92aWRlcyBiZXR0ZXIgcHJvdGVjdGlvbiBmcm9tIFJOYXNlIGRlZ3JhZGF0aW9uIGFuZCBpbXByb3ZlcyBlZGl0aW5nIHByZWNpc2lvbi5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIENhczkgZW5kb251Y2xlYXNlIGNvbnRhaW5zIHR3byBhY3RpdmUgZG9tYWlucywgZWFjaCByZXNwb25zaWJsZSBmb3IgY3V0dGluZyBvbmUgb2YgdGhlIHR3byBETkEgc3RyYW5kcy4gQ2FzOSB1c2VzIHRoZSBSdXZDIGFuZCBITkggZG9tYWlucywgd2l0aCBlYWNoIGRvbWFpbiBtYWtpbmcgYSBjdXQgb24gYSBkaWZmZXJlbnQgc3RyYW5kIG9mIHRoZSB0YXJnZXQgRE5BPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLW5pY2thc2VcIiBudW09XCIzXCIgc2Nyb2xsSWQ9XCJkZXNjLTNcIi8+LiBUbyBjcmVhdGUgYSBuaWNrYXNlIGZyb20gQ2FzOSwgc2NpZW50aXN0cyBkZWFjdGl2YXRlIG9uZSBvZiB0aGVzZSBhY3RpdmUgZG9tYWlucywgdHlwaWNhbGx5IHRoZSBITkggZG9tYWluLCBzbyB0aGF0IHRoZSBlbnp5bWUgb25seSBjdXRzIG9uZSBzdHJhbmQgaW5zdGVhZCBvZiBib3RoLCBwcm9kdWNpbmcgYSBzaW5nbGUtc3RyYW5kIGJyZWFrIHJhdGhlciB0aGFuIGEgZG91YmxlLXN0cmFuZCBicmVhazxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1uaWNrYXNlXCIgbnVtPVwiNFwiIHNjcm9sbElkPVwiZGVzYy00XCIvPi5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFzZWQgb24gdGhlIGZ1bmN0aW9uIG9mIHRoaXMgcHJvdG90eXBpY2FsIENhczkgbmlja2FzZSwgd2UgYXNzdW1lZCB0aGF0IFNwdUZ6MSB3b3VsZCBvcGVyYXRlIHNpbWlsYXJseSwgd2l0aCB0d28gYWN0aXZlIGNlbnRlcnNcdTIwMTRSdXZDIGFuZCBUTkJcdTIwMTRlYWNoIGN1dHRpbmcgb25lIEROQSBzdHJhbmQuIEZvbGxvd2luZyB0aGlzIGxvZ2ljLCB3ZSBoeXBvdGhlc2l6ZWQgdGhhdCBieSBkZWFjdGl2YXRpbmcgdGhlIFROQiBkb21haW4sIHdoaWNoIGNvbnRhaW5zIGEgemluYyBmaW5nZXIgbW90aWYgKEZpZy4gMikgY3J1Y2lhbCBmb3IgRE5BIGNvb3JkaW5hdGlvbiwgd2UgY291bGQgY29udmVydCBTcHVGejEgaW50byBhIG5pY2thc2UuIFRvIHRlc3QgdGhpcywgd2UgYWltZWQgdG8gcmVwbGFjZSB0aGUgY3lzdGVpbmUgcmVzaWR1ZXMgaW52b2x2ZWQgaW4gemluYyBpb24gY29vcmRpbmF0aW9uIHdpdGhpbiB0aGUgVE5CIGRvbWFpbiB3aXRoIGFsYW5pbmUsIHRoZXJlYnkgaW1wYWlyaW5nIGl0cyBETkEtYmluZGluZyBhYmlsaXR5IGFuZCBwcm9kdWNpbmcgYSBTcHVGejEgbmlja2FzZSB0aGF0IGN1dHMgb25seSBvbmUgc3RyYW5kLiBBdCB0aGF0IHRpbWUsIHdlIGJlbGlldmVkIGJvdGggZG9tYWlucyBpbiBTcHVGejEgd2VyZSBkaXJlY3RseSByZXNwb25zaWJsZSBmb3IgRE5BIGNsZWF2YWdlLCBhbmQgb3VyIHN0cmF0ZWd5IHdhcyBiYXNlZCBvbiB0aGlzIGFzc3VtcHRpb24uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBVc2luZyB0aGUgcHJvdGVpbiB2aXN1YWxpemF0aW9uIHNvZnR3YXJlIENoaW1lcmFYLCB3ZSBjYXJlZnVsbHkgZXhhbWluZWQgdGhlIHN0cnVjdHVyZSBvZiBTcHVGejEgdG8gaWRlbnRpZnkgdGhlIGtleSBjeXN0ZWluZSByZXNpZHVlcyByZXNwb25zaWJsZSBmb3IgY29vcmRpbmF0aW5nIHRoZSB6aW5jIGlvbi4gV2l0aCB0aGlzIGluc2lnaHQsIHdlIGRlc2lnbmVkIG91ciBuaWNrYXNlIGNhbmRpZGF0ZXMgYnkgbW9kaWZ5aW5nIHRoZSB3aWxkLXR5cGUgc2VxdWVuY2UsIHNwZWNpZmljYWxseSBzdWJzdGl0dXRpbmcgdGhlc2UgY3lzdGVpbmVzIHdpdGggYWxhbmluZSwgdG8gZGlzcnVwdCB0aGUgemluYyBpb24gY29vcmRpbmF0aW9uIGFuZCBwb3RlbnRpYWxseSBhbHRlciB0aGUgcHJvdGVpbidzIGZ1bmN0aW9uLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBGaXJzdCwgd2UgZGlzY3Vzc2VkIG91ciBhcHByb2FjaCB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2hhbW1lcmthaScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBLYWkgU2NoXHUwMEZDbGtlIDwvYT4sIGEgUGhEIHN0dWRlbnQgZnJvbSB0aGUgSGFtbWVyIEdyb3VwIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LCB3aGljaCBzcGVjaWFsaXplcyBpbiBlbnp5bWUgZW5naW5lZXJpbmcuIEhlIGNvbmZpcm1lZCB0aGF0IG91ciBwbGFuIHRvIGZvY3VzIG9uIHNwZWNpZmljIG11dGF0aW9uIGNhbmRpZGF0ZXMgd2FzIGFwcHJvcHJpYXRlIGdpdmVuIHRoZSBjb25zdHJhaW50cyBvZiBvdXIgcHJvamVjdC4gSGUgZW1waGFzaXplZCB0aGF0IHdlIGxhY2tlZCB0aGUgdGltZSBhbmQgcmVzb3VyY2VzIHRvIGNvbmR1Y3QgbGFyZ2Utc2NhbGUsIHF1YW50aXRhdGl2ZSBzdHVkaWVzIG9uIGEgd2lkZSByYW5nZSBvZiBtdXRhdGlvbnMuIEluc3RlYWQsIGhlIHN1cHBvcnRlZCBvdXIgZGVjaXNpb24gdG8gdGFyZ2V0IHNwZWNpZmljIGNhbmRpZGF0ZXMgdGhhdCBjb3VsZCBiZSB0aG9yb3VnaGx5IHRlc3RlZCB3aXRoaW4gdGhlIHNjb3BlIG9mIG91ciBwcm9qZWN0LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRpdGlvbmFsbHksIHdlIGNhcmVmdWxseSBjb25zaWRlcmVkIHRoZSBwb3RlbnRpYWwgZWZmZWN0aXZlbmVzcyBvZiBvdXIgbW9kaWZpZWQgU3B1RnoxIG5pY2thc2UgaW4gYSBQcmltZSBFZGl0aW5nIHNjZW5hcmlvLCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIGN5c3RpYyBmaWJyb3Npcy4gRHVyaW5nIHRoaXMgZGV0YWlsZWQgYW5hbHlzaXMsIHdlIGlkZW50aWZpZWQgYSBjcml0aWNhbCBjaGFsbGVuZ2U6IHRoZSBUQU0gc2VxdWVuY2UgcmVxdWlyZWQgZm9yIFNwdUZ6MSBiaW5kaW5nIHdhcyBsb2NhdGVkIHRvbyBmYXIgZnJvbSB0aGUgdGFyZ2V0IG11dGF0aW9uIHNpdGUuIFRoaXMgZGlzdGFuY2UgY291bGQgbGltaXQgdGhlIGVmZmljaWVuY3kgb2YgdGhlIFByaW1lIEVkaXRvciwgcmFpc2luZyBjb25jZXJucyBhYm91dCBpdHMgb3ZlcmFsbCBlZmZlY3RpdmVuZXNzIGZvciB0aGlzIHBhcnRpY3VsYXIgbXV0YXRpb24uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SW5mb0JveCB0aXRsZT1cIlRBTSBzZXF1ZW5jZXNcIiBpZD1cImN1cnJlbnQtcGUtc3lzdGVtc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRldGFpbHM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEEgVEFNIHNlcXVlbmNlIGlzIHRoZSBlcXVpdmFsZW50IHRvIGEgUEFNIHNlcXVlbmNlIGZvciBPTUVHQSBzeXN0ZW1zLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBIDxiPlRBTSBzZXF1ZW5jZTwvYj4gKFRhcmdldGVkIEFjdGl2aXR5IE1vZGlmaWNhdGlvbiBzZXF1ZW5jZSkgaXMgYSBzaG9ydCBETkEgc2VxdWVuY2UsIHR5cGljYWxseSBvbmx5IGEgZmV3IGJhc2VzIGxvbmcsIHRoYXQgcHJvdmlkZXMgYSBiaW5kaW5nIHNpdGUgZm9yIHRoZSBuaWNrYXNlIHdpdGhpbiB0aGUgUHJpbWUgRWRpdGluZyBjb21wbGV4LiBUaGlzIHNlcXVlbmNlIGlzIGNydWNpYWwgYmVjYXVzZSBpdCBhbGxvd3MgdGhlIG5pY2thc2UgdG8gYmluZCB0byB0aGUgRE5BIGFuZCBtYWtlIGEgcHJlY2lzZSBzaW5nbGUtc3RyYW5kIGN1dC4gRm9yIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXggdG8gY29ycmVjdCBhIG11dGF0aW9uIGF0IGEgc3BlY2lmaWMgbG9jYXRpb24gZ3VpZGVkIGJ5IHRoZSBwZWdSTkEsIGEgVEFNIHNlcXVlbmNlIG11c3QgYmUgbG9jYXRlZCBuZWFyIHRoYXQgdGFyZ2V0IHNpdGUuIFdoaWxlIHRoZSBwZWdSTkEgZGlyZWN0cyB0aGUgZWRpdGluZyBtYWNoaW5lcnkgdG8gdGhlIHJlZ2lvbiB3aGVyZSB0aGUgY29ycmVjdGlvbiB3aWxsIG9jY3VyLCB0aGUgVEFNIHNlcXVlbmNlIGVuYWJsZXMgdGhlIG5pY2thc2UgdG8gcGh5c2ljYWxseSBpbnRlcmFjdCB3aXRoIHRoZSBETkEgYW5kIGluaXRpYXRlIHRoZSBjdXQuIFRoZXJlZm9yZSwgYm90aCB0aGUgcGVnUk5BIGFuZCB0aGUgVEFNIHNlcXVlbmNlIGFyZSBlc3NlbnRpYWwgZm9yIGVmZmljaWVudCBhbmQgYWNjdXJhdGUgZWRpdGluZzogdGhlIHBlZ1JOQSBzcGVjaWZpZXMgdGhlIHNpdGUgb2YgdGhlIGNvcnJlY3Rpb24sIGFuZCB0aGUgVEFNIHNlcXVlbmNlIGZhY2lsaXRhdGVzIHRoZSBuaWNrYXNlJ3MgYmluZGluZyBhbmQgYWN0aW9uLiBGb3IgaW5zdGFuY2UsIFNwdUZ6MSByZWNvZ25pemVzIHRoZSBUQU0gc2VxdWVuY2UgPGI+NSctQ0FUQS0zJzwvYj4sIGFuZCBDYXNYIGJpbmRzIHRvIDxiPjUnLVRUQ04tMyc8L2I+LiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGV0YWlscz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5mb0JveD4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJ0ZXh0XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICBUaHJvdWdoIHRoaXMgaXRlcmF0aW9uLCB3ZSBsZWFybmVkIHRoYXQgdGFyZ2V0ZWQgbXV0YWdlbmVzaXMgaXMgYSBwcm9taXNpbmcgYXBwcm9hY2ggZm9yIGdlbmVyYXRpbmcgb3VyIG11dGFudCBuaWNrYXNlcy4gV2UgYWxzbyByZWNvZ25pemVkIHRoZSBpbXBvcnRhbmNlIG9mIGNhcmVmdWxseSBzZWxlY3RpbmcgdGhlIGFwcHJvcHJpYXRlIFBBTSBvciBUQU0gc2VxdWVuY2VzIGZvciBvdXIgY2hvc2VuIGVuZG9udWNsZWFzZXMuIFNwZWNpZmljYWxseSwgd2UgcmVhbGl6ZWQgdGhhdCB0aGUgVEFNIHNlcXVlbmNlIGZvciBTcHVGejEgbWlnaHQgYmUgdG9vIGZhciBmcm9tIG91ciB0YXJnZXQgbXV0YXRpb24sIHByb21wdGluZyB1cyB0byBleHBsb3JlIG90aGVyIGVuZG9udWNsZWFzZXMgd2l0aGluIHRoZSBGYW56b3IgZmFtaWx5IHRoYXQgY291bGQgc2VydmUgYXMgYmV0dGVyIGNhbmRpZGF0ZXMgZm9yIG5pY2thc2UgZGV2ZWxvcG1lbnQuIEFkZGl0aW9uYWxseSwgdGhpcyBwcm9jZXNzIGhpZ2hsaWdodGVkIHRoZSBjcml0aWNhbCByb2xlIG9mIGV4cGVydCBjb25zdWx0YXRpb24gaW4gcmVmaW5pbmcgb3VyIHN0cmF0ZWdpZXMgYW5kIGVuc3VyaW5nIHRoZSBmZWFzaWJpbGl0eSBvZiBvdXIgYXBwcm9hY2guXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9zcHVmei13dC0zZC1tb2RlbC53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgMTo8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTY2hlbWF0aWMgaWxsdXN0cmF0aW9uIG9mIFNwdUZ6MSAoUERCIGNvZGU6IDhHS0gpIHZpc3VhbGl6ZWQgaW4gQ2hpbWVyYVggXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL3NwdWZ6LXd0LTNkLW1vZGVsLXppbmMtZmluZ2VyLndlYnBcIiBzdHlsZT17e2hlaWdodDpcIjcwJVwiLCB3aWR0aDpcIjgwJVwifX0vPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgMjo8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZSB1cCBvZiB0aGUgemluYyBmaW5nZXIgbW90aWYgb2YgU3B1RnoxIChQREIgY29kZTogOEdLSCkgdmlzdWFsaXplZCBpbiBDaGltZXJhWCAtIGluIHRoZSBtaWRkbGUgb2YgdGhlIGltYWdlIHRoZSB6aW5jIGlvbiBvZiB0aGUgbW90aWYgY2FuIGJlIHNlZW4sIHdoaWNoIGlzIGNvb3JkaW5hdGVkIGJ5IDQgc3Vycm91bmRpbmcgY3lzdGVpbmUgcmVzaWR1ZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cIm5pYzJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwiRnVzaW9uIFByb3RlaW4gZnJvbSBHdEZ6MSAmIFNwdUZ6MVwiIGlkPVwibmljMmhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwiZGVzaWduLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIG91ciBvbmdvaW5nIGV4cGxvcmF0aW9uIG9mIEZhbnpvciBwcm90ZWlucywgd2UgaWRlbnRpZmllZCBhbm90aGVyIHBvdGVudGlhbCBjYW5kaWRhdGUsIEd0RnoxLCB3aGljaCBoYWQgYSBzdWl0YWJsZSBUQU0gc2VxdWVuY2UgZm9yIG91ciB0YXJnZXQgYXBwbGljYXRpb24gb2YgY29ycmVjdGluZyB0aGUgRjUwOGRlbCBtdXRhdGlvbiBpbiBjeXN0aWMgZmlicm9zaXMuIEhvd2V2ZXIsIEd0RnoxIHNob3dlZCBsb3cgY3V0dGluZyBlZmZpY2llbmN5IGluIHRoZSB0ZXN0cyByZXBvcnRlZCBpbiB0aGUgbGl0ZXJhdHVyZTxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1uaWNrYXNlXCIgbnVtPVwiMVwiIHNjcm9sbElkPVwiZGVzYy0xXCIvPi4gVG8gYWRkcmVzcyB0aGlzLCB3ZSBkZXZpc2VkIGEgc3RyYXRlZ3kgdG8gY29tYmluZSB0aGUgZmF2b3JhYmxlIFRBTS1iaW5kaW5nIHByb3BlcnRpZXMgb2YgR3RGejEgd2l0aCB0aGUgaGlnaGVyIGN1dHRpbmcgZWZmaWNpZW5jeSBvZiBTcHVGejEuIFNwZWNpZmljYWxseSwgd2UgcGxhbm5lZCB0byBlbmdpbmVlciBhIGZ1c2lvbiBwcm90ZWluIGJ5IHJlcGxhY2luZyB0aGUgVEFNLWJpbmRpbmcgZG9tYWluIG9mIFNwdUZ6MSB3aXRoIHRoYXQgb2YgR3RGejEuIFRoaXMgYXBwcm9hY2ggYWltcyB0byBjcmVhdGUgYW4gZW5kb251Y2xlYXNlIHRoYXQgcmV0YWlucyB0aGUgc3Ryb25nIFRBTS1iaW5kaW5nIGFiaWxpdHkgb2YgR3RGejEgd2hpbGUgdXRpbGl6aW5nIHRoZSByb2J1c3QgY3V0dGluZyBlZmZpY2llbmN5IG9mIFNwdUZ6MSwgb3B0aW1pemluZyBpdCBmb3Igb3VyIFByaW1lIEVkaXRpbmcgYXBwbGljYXRpb24uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEdpdmVuIHRoYXQgd2Ugd2VyZSBzd2FwcGluZyBlbnRpcmUgZG9tYWlucyByYXRoZXIgdGhhbiBqdXN0IHNpbmdsZSBhbWlubyBhY2lkcywgd2UgcmVhbGl6ZWQgdGhhdCB0aGUgZnVzaW9uIHByb3RlaW4gbWlnaHQgbm90IHJldGFpbiB0aGUgaWRlYWwgVEFNLWJpbmRpbmcgZWZmaWNpZW5jeSBvciBjdXR0aW5nIGVmZmljaWVuY3kgb2YgdGhlIG9yaWdpbmFsIHByb3RlaW5zLiBPdXIgc3RyYXRlZ3kgd2FzIHRvIGNyZWF0ZSBhIGZ1c2lvbiBwcm90ZWluIHRoYXQgY291bGQgYmluZCB0byB0aGUgVEFNIHNpdGUgYW5kIHBlcmZvcm0gRE5BIGN1dHRpbmcgdG8gYSBjZXJ0YWluIGV4dGVudCwgYWxiZWl0IHdlYWtseS4gV2UgcGxhbm5lZCB0byB1c2UgZGlyZWN0ZWQgZXZvbHV0aW9uIHRlY2huaXF1ZXMsIHN1Y2ggYXMgUGhhZ2UgQXNzaXN0ZWQgQ29udGludW91cyBFdm9sdXRpb24gKFBBQ0UpLCB0byBlbmhhbmNlIHRoZXNlIGZ1bmN0aW9uYWxpdGllcyBvdmVyIHRpbWUuIFRoaXMgYXBwcm9hY2ggcmVsaWVzIG9uIGhhdmluZyBhIHN0YXJ0aW5nIHBvaW50IHdpdGggc29tZSBkZWdyZWUgb2YgdGhlIGRlc2lyZWQgYWN0aXZpdHksIHdoaWNoIGNhbiB0aGVuIGJlIGluY3JlbWVudGFsbHkgaW1wcm92ZWQgdGhyb3VnaCBldm9sdXRpb24uXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJidWlsZC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgYnVpbGQgcGhhc2UgaW52b2x2ZWQgZGVzaWduaW5nIHRoaXMgZnVzaW9uIHByb3RlaW4gYnkgaW50ZWdyYXRpbmcgdGhlIFRBTS1iaW5kaW5nIHJlZ2lvbiBmcm9tIEd0RnoxIGludG8gdGhlIFNwdUZ6MSBwcm90ZWluIHN0cnVjdHVyZS4gV2UgZW5naW5lZXJlZCB0aGUgc2VxdWVuY2UgdG8gaW5jbHVkZSB0aGlzIGh5YnJpZCBjb25maWd1cmF0aW9uLCBpbnRlbmRpbmcgdG8gdGVzdCBpdHMgZnVuY3Rpb25hbGl0eSBhcyBhIG5pY2thc2UgYWZ0ZXIgaW50cm9kdWNpbmcgdGhlIHppbmMgZmluZ2VyIG11dGF0aW9uLCB3aGljaCB3ZSBoYWQgaHlwb3RoZXNpemVkIHdvdWxkIGluYWN0aXZhdGUgb25lIG9mIHRoZSBETkEtY3V0dGluZyBkb21haW5zLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXN0LWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIHZhbGlkYXRlIG91ciBhcHByb2FjaCwgd2UgY29uZHVjdGVkIHR3byBrZXkgaW50ZXJ2aWV3cy4gRmlyc3QsIHdlIGNvbnN1bHRlZCB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2hhbW1lcicsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBQcm9mLiBEci4gSGFtbWVyIDwvYT4gZnJvbSBCaWVsZWZlbGQgVW5pdmVyc2l0eSwgd2hvIGhpZ2hsaWdodGVkIHRoZSBwb3NzaWJpbGl0eSB0aGF0IHRoZSB6aW5jIGZpbmdlciBkb21haW4gbWlnaHQgYmUgc3RydWN0dXJhbGx5IHNpZ25pZmljYW50IGFuZCBjYXV0aW9uZWQgdGhhdCBtdXRhdGluZyBpdCBjb3VsZCBkZXN0YWJpbGl6ZSB0aGUgcHJvdGVpbi4gSGUgcmVjb21tZW5kZWQgdGhhdCB3ZSBleHBsb3JlIHdoZXRoZXIgdGhlcmUgd2VyZSBhbnkga25vd24gZW56eW1lcyB3aXRoIHNpbWlsYXIgbWVjaGFuaXNtcyB3aGVyZSBhbmFsb2dvdXMgbXV0YXRpb25zIGhhZCBzdWNjZXNzZnVsbHkgY29udmVydGVkIGVuZG9udWNsZWFzZXMgaW50byBuaWNrYXNlcy4gVGhpcyBhcHByb2FjaCwgaGUgc3VnZ2VzdGVkLCBtaWdodCBvZmZlciBhIG1vcmUgcmVsaWFibGUgcGF0aHdheS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgTmV4dCwgd2Ugc3Bva2Ugd2l0aCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdzdmVuamEnLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gU3ZlbmphIEZpbmtlIDwvYT4sIGEgUG9zdGRvY3RvcmFsIEZlbGxvdyBhdCB0aGUgSGFydmFyZCBJbnN0aXR1dGUgYW5kIGFuIGV4cGVydCBpbiBkaXJlY3RlZCBlbnp5bWUgZXZvbHV0aW9uLCBpbmNsdWRpbmcgUEFDRS4gV2UgcmVhY2hlZCBvdXQgdG8gaGVyIHNwZWNpZmljYWxseSBiZWNhdXNlIHdlIGFudGljaXBhdGVkIHRoYXQgb3VyIGZ1c2lvbiBwcm90ZWluIG1pZ2h0IHJlcXVpcmUgb3B0aW1pemF0aW9uIHRvIGFjaGlldmUgc3Ryb25nIFRBTS1iaW5kaW5nIGFuZCBjdXR0aW5nIGVmZmljaWVuY3kuIFN2ZW5qYSBpbmZvcm1lZCB1cyB0aGF0IHdoaWxlIFBBQ0UgY291bGQgdGhlb3JldGljYWxseSBvcHRpbWl6ZSBvdXIgZnVzaW9uIHByb3RlaW4sIHRoZSBwcm9jZXNzIHdhcyB0b28gY29tcGxleCBhbmQgdGltZS1jb25zdW1pbmcgZm9yIHRoZSBzY29wZSBvZiBvdXIgcHJvamVjdC4gQXMgYSByZXN1bHQsIHdlIGRlY2lkZWQgdG8gcmVjb25zaWRlciB0aGlzIG1ldGhvZCBhbmQgbG9vayBmb3Igc2ltcGxlciwgbW9yZSBmZWFzaWJsZSBhbHRlcm5hdGl2ZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkxlYXJuXCIgaWQ9XCJsZWFybi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBGcm9tIHRoaXMgaXRlcmF0aW9uLCB3ZSBsZWFybmVkIHNldmVyYWwgaW1wb3J0YW50IGxlc3NvbnMuIEZpcnN0LCB3ZSBkZWNpZGVkIHRvIGFiYW5kb24gdGhlIGZ1c2lvbiBwcm90ZWluIGFwcHJvYWNoLiBGZWVkYmFjayBmcm9tIFN2ZW5qYVx1MjAxOXMgaW50ZXJ2aWV3IGhpZ2hsaWdodGVkIHRoYXQgdGhpcyBzdHJhdGVneSB3YXMgdG9vIGNvbXBsZXgsIHRpbWUtY29uc3VtaW5nLCBhbmQgaW52b2x2ZWQgc2lnbmlmaWNhbnQgdW5jZXJ0YWludHkgcmVnYXJkaW5nIGl0cyBlZmZlY3RpdmVuZXNzLiBHaXZlbiB0aGUgbG9uZyB0ZXN0aW5nIHRpbWVzIGFuZCB0aGUgaW5oZXJlbnQgcmlza3MsIHdlIGNvbmNsdWRlZCB0aGF0IHRoaXMgYXBwcm9hY2ggd2FzIG5vdCB2aWFibGUgd2l0aGluIG91ciBwcm9qZWN0XHUyMDE5cyBjb25zdHJhaW50cy4gSW5pdGlhbGx5LCB3ZSBjb25zaWRlcmVkIG1vdmluZyBhd2F5IGZyb20gU3B1RnoxIGR1ZSB0byB0aGUgVEFNIHNlcXVlbmNlIGJlaW5nIHRvbyBmYXIgZnJvbSB0aGUgXHUwMzk0RjUwOCBtdXRhdGlvbi4gSG93ZXZlciwgd2l0aCBvbmdvaW5nIGltcHJvdmVtZW50cyBpbiByZXZlcnNlIHRyYW5zY3JpcHRhc2VzIHdpdGhpbiBQcmltZSBFZGl0aW5nIHN5c3RlbXMsIHdoaWNoIGFsbG93IGZvciBncmVhdGVyIGRpc3RhbmNlcyBiZXR3ZWVuIHRoZSBtdXRhdGlvbiBzaXRlIGFuZCB0aGUgVEFNIHNlcXVlbmNlLCB3ZSByZWZvY3VzZWQgb3VyIGVmZm9ydHMgb24gU3B1RnoxLCBjb25zaWRlcmluZyBpdCBhIHZpYWJsZSBjYW5kaWRhdGUgZm9yIGZ1cnRoZXIgZGV2ZWxvcG1lbnQuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlY29uZGx5LCB3ZSByZWFsaXplZCB0aGUgaW1wb3J0YW5jZSBvZiB2ZXJpZnlpbmcgd2hldGhlciB0aGUgemluYyBmaW5nZXIgbXV0YXRpb24gd2UgcHJvcG9zZWQgaXMgc3RydWN0dXJhbGx5IGZlYXNpYmxlIGFuZCB3aGV0aGVyIGl0IG1pZ2h0IGNvbXByb21pc2UgcHJvdGVpbiBzdGFiaWxpdHkuIFRoaXMgaW5zaWdodCBmdXJ0aGVyIGVtcGhhc2l6ZWQgdGhlIG5lZWQgdG8gY2FyZWZ1bGx5IGFzc2VzcyBvdXIgZGVzaWduIGNob2ljZXMgYmVmb3JlIHByb2NlZWRpbmcgdG8gZXh0ZW5zaXZlIHRlc3RpbmcuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJNb2RlbGluZyBvZiBNdXRhbnQgU3RydWN0dXJhbCBJbnRlZ3JpdHlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwibmljM1wiIGlkPVwibmljM2hlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRlc2lnblwiIGlkPVwiZGVzaWduLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoZSBwcmV2aW91cyBpdGVyYXRpb24sIHdlIGNvbnN1bHRlZCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdoYW1tZXInLCAnL2h1bWFuLXByYWN0aWNlcycpfT4gUHJvZi4gRHIuIEhhbW1lciA8L2E+LCB3aG8gc3VnZ2VzdGVkIHRoYXQgdGhlIHppbmMgZmluZ2VyIGRvbWFpbiBpbiB0aGUgU3B1RnoxIHByb3RlaW4gbWlnaHQgcGxheSBhIGNyaXRpY2FsIHN0cnVjdHVyYWwgcm9sZS4gQmFzZWQgb24gdGhpcyBmZWVkYmFjaywgdGhlIGdvYWwgb2YgdGhpcyBpdGVyYXRpb24gd2FzIHRvIGludmVzdGlnYXRlIHdoZXRoZXIgbXV0YXRpbmcgdGhlIHppbmMgZmluZ2VyIHdvdWxkIGRlc3RhYmlsaXplIHRoZSBwcm90ZWluIGFuZCBjb21wcm9taXNlIGl0cyBmdW5jdGlvbi4gU3BlY2lmaWNhbGx5LCB3ZSBhaW1lZCB0byBkZXRlcm1pbmUgaWYgYWx0ZXJpbmcgdGhpcyBkb21haW4gd291bGQgc3RpbGwgYmUgYSB2aWFibGUgc3RyYXRlZ3kgZm9yIGdlbmVyYXRpbmcgYSBTcHVGejEtYmFzZWQgbmlja2FzZSB3aXRob3V0IGxvc2luZyBzdHJ1Y3R1cmFsIGludGVncml0eS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQnVpbGRcIiBpZD1cImJ1aWxkLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEJlZm9yZSwgd2UgaWRlbnRpZmllZCB0aGUgc3BlY2lmaWMgYW1pbm8gYWNpZHMgcmVzcG9uc2libGUgZm9yIGNvb3JkaW5hdGluZyB0aGUgemluYyBpb24gd2l0aGluIHRoZSB6aW5jIGZpbmdlciBkb21haW4uIFVzaW5nIHRoZSBzb2Z0d2FyZSBHZW5laW91cywgd2UgcHJvY2VlZGVkIHRvIGRlc2lnbiBETkEgc2VxdWVuY2VzIGJ5IHN1YnN0aXR1dGluZyB0aGVzZSBrZXkgYW1pbm8gYWNpZHMgd2l0aCBvbmVzIHRoYXQgd291bGQgaW1wYWlyIHRoZWlyIGFiaWxpdHkgdG8gY29vcmRpbmF0ZSB0aGUgemluYyBpb24uIFRoZXNlIGRlc2lnbmVkIHNlcXVlbmNlcyBjb3JyZXNwb25kZWQgdG8gb3VyIHBvdGVudGlhbCBtdXRhdGlvbiBjYW5kaWRhdGVzLCB3aGljaCB3ZSBwcmVwYXJlZCBmb3IgZnVydGhlciBzdHJ1Y3R1cmFsIGFuYWx5c2lzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXN0LWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlIHVzZWQgQWxwaGFGb2xkIHRvIG1vZGVsIHRoZSAzRCBzdHJ1Y3R1cmVzIG9mIG91ciB6aW5jIGZpbmdlciBtdXRhdGlvbiBjYW5kaWRhdGVzLiBBZnRlciBnZW5lcmF0aW5nIHRoZXNlIG1vZGVscywgd2UgdXNlZCBDaGltZXJhWCB0byBwZXJmb3JtIGEgc3RydWN0dXJhbCBvdmVybGF5IGNvbXBhcmlzb24gYmV0d2VlbiB0aGUgbmF0aXZlIFNwdUZ6MSBwcm90ZWluIGFuZCB0aGUgbXV0YXRlZCB2ZXJzaW9ucyAoRmlnLiBYKS4gVGhpcyBjb21wYXJpc29uIHJldmVhbGVkIHNpZ25pZmljYW50IGRpZmZlcmVuY2VzLCBwYXJ0aWN1bGFybHkgaW4gdGhlIFROQiBkb21haW4sIGluZGljYXRpbmcgdGhhdCB0aGUgemluYyBmaW5nZXIgcGxheXMgYSBjcnVjaWFsIHN0cnVjdHVyYWwgcm9sZSAoRmlnLiAzKS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIEZyb20gdGhpcyBhbmFseXNpcywgd2UgY29uY2x1ZGVkIHRoYXQgdGhlIHppbmMgZmluZ2VyIG11dGF0aW9uIGlzIG5vdCBhIHN1aXRhYmxlIGNhbmRpZGF0ZSBmb3IgZ2VuZXJhdGluZyBhIG5pY2thc2UsIGFzIGFsdGVyaW5nIHRoaXMgZG9tYWluIHdvdWxkIGxpa2VseSBjb21wcm9taXNlIHRoZSBzdHJ1Y3R1cmFsIGludGVncml0eSBvZiBTcHVGejEuIFByb2YuIEhhbW1lciBzdWdnZXN0ZWQgdGhhdCBpbnN0ZWFkIG9mIGZvY3VzaW5nIG9uIFNwdUZ6MSwgd2UgZXhwbG9yZSBvdGhlciBlbmRvbnVjbGVhc2VzIHdpdGggc2ltaWxhciBtZWNoYW5pc21zLiBIaXMgcmVjb21tZW5kYXRpb24gd2FzIHRvIGlkZW50aWZ5IGVuZG9udWNsZWFzZXMgdGhhdCBhcmUgc3RydWN0dXJhbGx5IGNvbXBhcmFibGUgdG8gU3B1RnoxIGFuZCBhbmFseXplIHRoZSBzdHJhdGVnaWVzIHVzZWQgdG8gY29udmVydCB0aGVzZSBpbnRvIG5pY2thc2VzLiBXZSB3b3VsZCB0aGVuIGFwcGx5IHRoZXNlIHNhbWUgc3RyYXRlZ2llcyB0byBvdXIgc2VsZWN0ZWQgZW5kb251Y2xlYXNlcywgYWRhcHRpbmcgdGhlbSBmb3Igb3VyIHB1cnBvc2VzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZW5naW5lZXJpbmctY3ljbGUvc3B1Znotd3QtdnMtemYtbmlrYXNlLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSAxOjwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cnVjdHVyYWwgb3ZlcmxheSBvZiB3aWxkdHlwZSBTcHVGejEgKGNvbG9yOiBMaWxhYykgKFBEQiBjb2RlOiA4R0tIKSBhbmQgbW9kZWxlZCB6aW5jLWZpbmdlciBtdXRhdGlvbiBjYW5kaWRhdGUgKGNvbG9yOiBvcmFuZ2UpIHZpc3VhbGl6ZWQgaW4gQ2hpbWVyYVggXHUyMDEzIHRoZSB5ZWxsb3cgY2lyY2xlIHNob3dzIHRoZSBsb2NhdGlvbiBvZiB0aGUgemluYy1maW5nZXIuIEEgc3RydWN0dXJhbCBkZXZpYXRpb24gb2YgYm90aCBwcm90ZWlucyBsb2NhbGx5IGlzIGV2aWRlbnQuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL3NwdWZ6LXd0LXZzLXpmLW5pa2FzZS16aW5jLWZpbmdlci53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgMjo8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZS11cCBvZiB0aGUgemluYyBmaW5nZXIgbW90aWYgb2YgdGhlIHN0cnVjdHVyYWwgb3ZlcmxheSAtIHRoZSB6aW5jIGZpbmdlciBhcHBlYXJzIHRvIGJlIHN0cnVjdHVyYWxseSBzaWduaWZpY2FudDogdGhlcmUgYXJlIHN0cm9uZyBzdHJ1Y3R1cmFsIGRpZmZlcmVuY2VzIGxvY2FsbHlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cIm5pYzRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwibkNhczEyIGFuYWxvZyBNdXRhdGlvbnNcIiBpZD1cIm5pYzRoZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJEZXNpZ25cIiBpZD1cImRlc2lnbi1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBBZnRlciBjb25jbHVkaW5nIHRoYXQgdGhlIHppbmMgZmluZ2VyIG11dGF0aW9uIGFwcHJvYWNoIHdhcyBub3Qgc3VpdGFibGUgZm9yIGNvbnZlcnRpbmcgU3B1RnoxIGludG8gYSBuaWNrYXNlLCB3ZSByZXZpc2l0ZWQgb3VyIHVuZGVyc3RhbmRpbmcgb2YgaXRzIGN1dHRpbmcgbWVjaGFuaXNtLiBJbml0aWFsbHksIHdlIGJlbGlldmVkIHRoYXQgU3B1RnoxLCBzaW1pbGFyIHRvIENhczksIGNvbnRhaW5lZCB0d28gYWN0aXZlIGNlbnRlcnMgdGhhdCBlYWNoIGN1dCBvbmUgb2YgdGhlIEROQSBzdHJhbmRzLCBhbmQgdGhhdCBieSBkZWFjdGl2YXRpbmcgb25lIG9mIHRoZXNlIGNlbnRlcnMsIHdlIGNvdWxkIGdlbmVyYXRlIGEgbmlja2FzZSB0aGF0IG9ubHkgY3V0cyBvbmUgc3RyYW5kLiBIb3dldmVyLCB0aHJvdWdoIGZ1cnRoZXIgcmVzZWFyY2gsIHdlIGRpc2NvdmVyZWQgdGhhdCB0aGlzIGFzc3VtcHRpb24gd2FzIGluY29ycmVjdC4gU3B1RnoxIGFjdHVhbGx5IGZ1bmN0aW9ucyB3aXRoIGEgZGlmZmVyZW50IGN1dHRpbmcgbWVjaGFuaXNtOiB0aGUgUnV2QyBkb21haW4gaXMgcmVzcG9uc2libGUgZm9yIGN1dHRpbmcgdGhlIG5vbi10YXJnZXQgc3RyYW5kLCB3aGlsZSB0aGUgVE5CIGRvbWFpbiBkb2VzIG5vdCBkaXJlY3RseSBjdXQgdGhlIEROQS4gSW5zdGVhZCwgaXQgYXNzaXN0cyB0aGUgcHJvY2VzcyBieSBndWlkaW5nIHRoZSB0YXJnZXQgc3RyYW5kIGludG8gdGhlIFJ1dkMgZG9tYWluIGZvciBzZXF1ZW50aWFsIGNsZWF2YWdlPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLW5pY2thc2VcIiBudW09XCI1XCIgc2Nyb2xsSWQ9XCJkZXNjLTVcIi8+LiBUaGlzIGRpc2NvdmVyeSBzaGlmdGVkIG91ciBmb2N1cyBmcm9tIHNpbXBseSBkZWFjdGl2YXRpbmcgYW4gYWN0aXZlIHNpdGUgdG8gYmV0dGVyIHVuZGVyc3RhbmRpbmcgaG93IHRoZSBzZXF1ZW50aWFsIGNsZWF2YWdlIHdvcmtzIGluIG9yZGVyIHRvIGluZm9ybSBmdXR1cmUgbXV0YXRpb24gc3RyYXRlZ2llcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gYWRkaXRpb24gdG8gdGhlc2UgaW5zaWdodHMsIHdlIG5vdGljZWQgYSBzaWduaWZpY2FudCBwaHlsb2dlbmV0aWMgcmVsYXRpb25zaGlwIGJldHdlZW4gRmFuem9yIGVuZG9udWNsZWFzZXMsIGxpa2UgU3B1RnoxLCBhbmQgQ2FzMTIgZW5kb251Y2xlYXNlczxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1uaWNrYXNlXCIgbnVtPVwiMVwiIHNjcm9sbElkPVwiZGVzYy0xXCIvPi4gVGhpcyBjb25uZWN0aW9uIHdhcyBjcnVjaWFsLCBhcyBDYXMxMiBwcm90ZWlucyBoYXZlIGEgc2ltaWxhciBjdXR0aW5nIG1lY2hhbmlzbSB0byBGYW56b3IgcHJvdGVpbnMsIHV0aWxpemluZyBhIHNpbmdsZSBhY3RpdmUgc2l0ZSBmb3IgY2xlYXZhZ2Ugd2hpbGUgY29vcmRpbmF0aW5nIGJvdGggRE5BIHN0cmFuZHMuIE1vcmUgaW1wb3J0YW50bHksIHdlIGlkZW50aWZpZWQgYSBwcmVjZWRlbnQgaW4gdGhlIGxpdGVyYXR1cmUgd2hlcmUgYSBDYXMxMmEgZW5kb251Y2xlYXNlIHdhcyBzdWNjZXNzZnVsbHkgY29udmVydGVkIGludG8gYSBuaWNrYXNlIGJ5IHN1YnN0aXR1dGluZyBhIHNpbmdsZSBhbWlubyBhY2lkIGluIHRoZSBUTkIgZG9tYWluPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLW5pY2thc2VcIiBudW09XCI2XCIgc2Nyb2xsSWQ9XCJkZXNjLTZcIi8+IChGaWcuIFgxIGFuZCBYMikuIFRoaXMgcHJvdmlkZWQgdXMgd2l0aCBhIGNsZWFyIG1vZGVsIHN0cmF0ZWd5IHRvIGZvbGxvdywgYXMgdGhpcyB0YXJnZXRlZCBtdXRhdGlvbiBhbGxvd2VkIHRoZSBlbmRvbnVjbGVhc2UgdG8gc2VsZWN0aXZlbHkgY3V0IG9ubHkgb25lIEROQSBzdHJhbmQsIGVmZmVjdGl2ZWx5IGNvbnZlcnRpbmcgaXQgaW50byBhIG5pY2thc2UuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhc2VkIG9uIHRoZXNlIGZpbmRpbmdzLCB0d28ga2V5IGRlY2lzaW9ucyBlbWVyZ2VkLiBGaXJzdCwgcmVjb2duaXppbmcgdGhlIHN0cnVjdHVyYWwgYW5kIG1lY2hhbmlzdGljIHNpbWlsYXJpdGllcyBiZXR3ZWVuIEZhbnpvciBhbmQgQ2FzMTIgZW5kb251Y2xlYXNlcywgd2UgZGVjaWRlZCB0byBleHBsb3JlIENhc1hcdTIwMTRhIHNtYWxsZXIgQ2FzMTItcmVsYXRlZCBlbmRvbnVjbGVhc2VcdTIwMTRhcyBhbiBhZGRpdGlvbmFsIGNhbmRpZGF0ZSBpbiBvdXIgcHJvamVjdC4gQ2FzWCBzaGFyZXMgbWFueSBvZiB0aGUgYWR2YW50YWdlcyBvZiBTcHVGejEsIHN1Y2ggYXMgYSBtb3JlIGNvbXBhY3Qgc3RydWN0dXJlIGNvbXBhcmVkIHRvIENhczksIG1ha2luZyBpdCBpZGVhbCBmb3IgYXBwbGljYXRpb25zIHJlcXVpcmluZyBzbWFsbGVyIGVkaXRpbmcgc3lzdGVtcy4gU2Vjb25kbHksIHdlIHJlc29sdmVkIHRvIGFkYXB0IHRoZSBtdXRhdGlvbiBzdHJhdGVneSB1c2VkIHRvIGNvbnZlcnQgQ2FzMTJhIGludG8gYSBuaWNrYXNlIGZvciBib3RoIENhc1ggYW5kIFNwdUZ6MS4gQnkgYXBwbHlpbmcgdGhlc2UgbGVhcm5pbmdzLCB3ZSBhaW1lZCB0byBnZW5lcmF0ZSBlZmZlY3RpdmUgbmlja2FzZXMgZnJvbSB0aGVzZSBlbmRvbnVjbGVhc2VzIHRvIGZ1cnRoZXIgb3B0aW1pemUgdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJbmZvQm94IHRpdGxlPVwiVGhlIHJhdGlvbmFsZSBiZWhpbmQgZGVzaWduaW5nIFNwdUZ6MSBhbmQgQ2FzWCBOaWNrYXNlc1wiIGlkPVwiaG93LXRvLWNyZWF0ZS1uaWNrYXNlcy1vbmxpbmUtZmFzdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRldGFpbHM+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBtdXRhdGlvbiBzdHJhdGVneSBhaW1lZCB0byBjb252ZXJ0IHRoZSBlbmRvbnVjbGVhc2VzIFNwdUZ6MSBhbmQgQ2FzWCBpbnRvIG5pY2thc2VzIGJ5IHRhcmdldGluZyBzcGVjaWZpYyBwb3NpdGl2ZWx5IGNoYXJnZWQgYW1pbm8gYWNpZHMsIHNpbWlsYXIgdG8gUjEyMjYgaW4gbXV0YXRlZCB0byBjcmVhdGUgYSBBc0NhczEyYSBuaWNrYXNlLCB0byBkaXNydXB0IHRoZWlyIGRvdWJsZS1zdHJhbmQgY2xlYXZhZ2UgZnVuY3Rpb24gd2hpbGUgcmV0YWluaW5nIHNpbmdsZS1zdHJhbmQgY3V0dGluZyBjYXBhYmlsaXR5LlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbiBvdXIgcHJvamVjdCwgd2Ugc2V0IG91dCB0byBlbmdpbmVlciB0aGUgZW5kb251Y2xlYXNlcyBTcHVGejEgYW5kIENhc1ggaW50byBuaWNrYXNlcywgYSBwcm9jZXNzIHRoYXQgcmVxdWlyZWQgYSBtb3JlIHRhcmdldGVkIGFwcHJvYWNoIHRoYW4gcmFuZG9tIG11dGFnZW5lc2lzIGR1ZSB0byB0aGUgdGltZSBhbmQgZmluYW5jaWFsIGNvbnN0cmFpbnRzIG9mIG91ciBwcm9qZWN0LiBSYW5kb20gbXV0YWdlbmVzaXMsIHdoaWxlIGEgcG9zc2libGUgc3RyYXRlZ3ksIHdvdWxkIGhhdmUgcmVxdWlyZWQgYW4gZXh0ZW5zaXZlIHNjb3BlLCBtYWtpbmcgaXQgZGlmZmljdWx0IHRvIGFjaGlldmUgbWVhbmluZ2Z1bCByZXN1bHRzIHdpdGhpbiBvdXIgdGltZWZyYW1lLiBBcyBhIHJlc3VsdCwgd2UgYWltZWQgdG8gaWRlbnRpZnkgc3BlY2lmaWMgbXV0YXRpb25hbCBjYW5kaWRhdGVzIHRoYXQgd291bGQgYWxsb3cgZm9yIGEgbW9yZSBmb2N1c2VkIGFuZCBlZmZpY2llbnQgYXBwcm9hY2guXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgIFx0ICAgICAgICAgT25lIHN0cmF0ZWd5IHdlIGV4cGxvcmVkIHdhcyBmaW5kaW5nIGFuIGVuZG9udWNsZWFzZSB3aXRoIHN0cnVjdHVyYWwgYW5kIG1lY2hhbmlzdGljIHNpbWlsYXJpdGllcyB0byBTcHVGejEgYW5kIENhc1gsIGZvciB3aGljaCBhIHN1Y2Nlc3NmdWwgcHJlY2VkZW50IGV4aXN0ZWQgaW4gY29udmVydGluZyBhbiBlbmRvbnVjbGVhc2UgaW50byBhIG5pY2thc2UuIEFmdGVyIHN0dWR5aW5nIHRoZSBwaHlsb2dlbmV0aWMgcmVsYXRpb25zaGlwcyBvZiBTcHVGejEgYW5kIENhc1gsIHdlIGlkZW50aWZpZWQgQXNDYXMxMmEsIGFuIGVuZG9udWNsZWFzZSB3aXRoIGEgc2ltaWxhciBzZXF1ZW50aWFsIEROQSBjbGVhdmFnZSBtZWNoYW5pc20uIEltcG9ydGFudGx5LCB0aGVyZSB3YXMgYWxyZWFkeSBhIGtub3duIGV4YW1wbGUgd2hlcmUgQXNDYXMxMmEgaGFkIGJlZW4gZW5naW5lZXJlZCBpbnRvIGEgbmlja2FzZSB0aHJvdWdoIGEgc2luZ2xlIG11dGF0aW9uXHUyMDE0c3BlY2lmaWNhbGx5LCB0aGUgbXV0YXRpb24gb2YgYXJnaW5pbmUgMTIyNi4gVGhpcyBwcm92aWRlZCBhIHN0cm9uZyBmb3VuZGF0aW9uIGZvciB1cyB0byBkZXZlbG9wIGEgc2ltaWxhciBzdHJhdGVneSBmb3IgU3B1RnoxIGFuZCBDYXNYLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZSBoeXBvdGhlc2l6ZWQgdGhhdCB0aGUgcm9sZSBvZiBhcmdpbmluZSAxMjI2IGluIHRoZSBzZXF1ZW50aWFsIGNsZWF2YWdlIG1lY2hhbmlzbSBvZiBBc0NhczEyYSB3YXMgdG8gY29vcmRpbmF0ZSB0aGUgRE5BIHN0cmFuZHMgZHVyaW5nIHRoZSBjdXR0aW5nIHByb2Nlc3MuIEFzQ2FzMTJhIHBlcmZvcm1zIGEgc2VxdWVudGlhbCBjdXQsIHdoZXJlIHRoZSBSdXZDIGRvbWFpbiBmaXJzdCBjbGVhdmVzIHRoZSBub24tdGFyZ2V0IHN0cmFuZCwgYW5kIHRoZSBUTkIgKE5VQykgZG9tYWluIGhlbHBzIGd1aWRlIHRoZSB0YXJnZXQgc3RyYW5kIGludG8gdGhlIFJ1dkMgZG9tYWluIGZvciBjbGVhdmFnZSAoRmlnLiBYNykuIFdlIHN1c3BlY3RlZCB0aGF0IGFyZ2luaW5lIDEyMjYgY291bGQgcGxheSBhIGtleSByb2xlIGluIHRoaXMgcHJvY2VzcyBieSBjb29yZGluYXRpbmcgdGhlIEROQSBkdWUgdG8gaXRzIGxvbmcsIHBvc2l0aXZlbHkgY2hhcmdlZCBzaWRlIGNoYWluLiBJZiByZW1vdmluZyBvciBtdXRhdGluZyB0aGlzIGFyZ2luaW5lIGRpc3J1cHRzIHRoZSBzZXF1ZW50aWFsIGN1dCwgaXQgd291bGQgc3VnZ2VzdCB0aGF0IHRoZSBhcmdpbmluZSBoZWxwcyBndWlkZSB0aGUgc2Vjb25kIHN0cmFuZCBpbnRvIHRoZSBSdXZDIGRvbWFpbi5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RydWN0dXJhbGx5LCB3ZSBvYnNlcnZlZCB0aGF0IGFyZ2luaW5lIDEyMjYgcHJvdHJ1ZGVzIGZyb20gdGhlIE5VQyBkb21haW4gb2YgQXNDYXMxMmEgYW5kIGlzIG9yaWVudGVkIHRvd2FyZCB0aGUgUnV2QyBkb21haW4gKEZpZy4gWDgpLiBUaGlzIHBvc2l0aW9uaW5nIGxlZCB1cyB0byBoeXBvdGhlc2l6ZSB0aGF0IHRoZSBhcmdpbmluZSBoZWxwcyBjb29yZGluYXRlIHRoZSBETkEgc3RyYW5kIGFzIGl0IG1vdmVzIGludG8gdGhlIFJ1dkMgZG9tYWluIGZvciBjdXR0aW5nLiBCYXNlZCBvbiB0aGlzIG9ic2VydmF0aW9uLCB3ZSBzcGVjdWxhdGVkIHRoYXQgdGhlIG11dGF0aW9uIG9mIGFyZ2luaW5lIDEyMjYgZGlzcnVwdHMgdGhpcyBjb29yZGluYXRpb24sIHByZXZlbnRpbmcgdGhlIGZ1bGwgZG91YmxlLXN0cmFuZCBjdXQgYW5kIGVmZmVjdGl2ZWx5IGNvbnZlcnRpbmcgQXNDYXMxMmEgaW50byBhIG5pY2thc2UuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlIHRoZW4gYXBwbGllZCB0aGlzIHN0cnVjdHVyYWwgaW5zaWdodCB0byBTcHVGejEgYW5kIENhc1gsIHNlYXJjaGluZyBmb3IgcG9zaXRpdmVseSBjaGFyZ2VkIGFtaW5vIGFjaWRzIHdpdGggbG9uZyBzaWRlIGNoYWlucywgc2ltaWxhciB0byBhcmdpbmluZSAxMjI2LCB0aGF0IHdlcmUgcG9zaXRpb25lZCBhdCB0aGUgaW50ZXJmYWNlIGJldHdlZW4gdGhlIE5VQyBhbmQgUnV2QyBkb21haW5zLiBXZSBzcGVjaWZpY2FsbHkgbG9va2VkIGZvciBhbWlubyBhY2lkcyB0aGF0IHByb3RydWRlZCBmcm9tIHRoZSBOVUMgZG9tYWluIGFuZCBvcmllbnRlZCB0b3dhcmQgdGhlIFJ1dkMgZG9tYWluLCBtaXJyb3JpbmcgdGhlIHN0cnVjdHVyYWwgcm9sZSBvZiBhcmdpbmluZSAxMjI2IGluIEFzQ2FzMTJhLiBUaGVzZSBhbWlubyBhY2lkcyBiZWNhbWUgb3VyIG11dGF0aW9uYWwgdGFyZ2V0cywgYWxsb3dpbmcgdXMgdG8gZGVzaWduIGEgc3RyYXRlZ3kgdG8gY29udmVydCBTcHVGejEgYW5kIENhc1ggaW50byBuaWNrYXNlcyBieSBkaXNydXB0aW5nIHRoZWlyIGFiaWxpdHkgdG8gbWFrZSBkb3VibGUtc3RyYW5kIGN1dHMsIHdoaWxlIHByZXNlcnZpbmcgdGhlaXIgZnVuY3Rpb25hbGl0eSBmb3Igc2luZ2xlLXN0cmFuZCBjdXRzLiBUaGUgYW1pbm8gYWNpZHMgd2UgaWRlbnRpZmllZCBpbiBTcHVGejEgYXJlIHRoZSA1NjR0aCBhbmQgdGhlIDU2OHRoIGFyZ2luaW5lIGxvY2F0ZWQgaW4gaXRzIE5VQyBkb21haW4uIEZvciBDYXNYIHdlIGlkZW50aWZpZWQgdGhlIDkwNHRoIGFyZ2luaW5lIGFzIGEgcHJvbWlzaW5nIGNhbmRpZGF0ZS5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGV0YWlscz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5mb0JveD4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJidWlsZC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBXZSBzdHJ1Y3R1cmFsbHkgYW5hbHl6ZWQgQ2FzWCBhbmQgU3B1RnoxLCBhcyB3ZWxsIGFzIHRoZSBrbm93biBBc0NhczEyYSBuaWNrYXNlLCB1c2luZyBDaGltZXJhLiBPdXIgb2JqZWN0aXZlIHdhcyB0byB1bmRlcnN0YW5kIHdoeSB0aGUgc3BlY2lmaWMgYW1pbm8gYWNpZCBzdWJzdGl0dXRpb24gY29udmVydGVkIEFzQ2FzMTJhIGludG8gYSBuaWNrYXNlLiBXZSB0aGVuIGlkZW50aWZpZWQgYW5hbG9nb3VzIGFtaW5vIGFjaWRzIGluIFNwdUZ6MSAoRmlnLiBYMyBhbmQgRmlnLiBYNCkgYW5kIENhc1ggKEZpZy4gWDUgYW5kIEZpZy4gWDYpIHRoYXQgbWlnaHQgcGxheSBhIHNpbWlsYXIgcm9sZSwgYWxsb3dpbmcgdXMgdG8gZGVzaWduIG5ldyBtdXRhdGlvbiBjYW5kaWRhdGVzIGZvciBvdXIgcHJvamVjdC4gQWZ0ZXIgZGVzaWduaW5nIHRoZXNlIG5ldyBtdXRhdGlvbiBjYW5kaWRhdGVzLCB3ZSBtb2RlbGVkIHRoZW0gdXNpbmcgQWxwaGFGb2xkIHRvIHByZWRpY3QgdGhlaXIgM0Qgc3RydWN0dXJlcyBhbmQgYXNzZXNzIHRoZWlyIHBvdGVudGlhbCBlZmZlY3RpdmVuZXNzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUZXN0XCIgaWQ9XCJ0ZXN0LWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRvIHZhbGlkYXRlIG91ciBhcHByb2FjaCwgd2UgY29uZHVjdGVkIGFuIGludGVydmlldyB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3NhaXRvJywgJy9odW1hbi1wcmFjdGljZXMnKX0+IE1ha290byBTYWl0byA8L2E+LCB0aGUgbGVhZCBhdXRob3Igb2YgdGhlIG1haW4gRmFuem9yIHBhcGVyLiBHaXZlbiBoaXMgZXhwZXJ0aXNlLCB0aGVyZSB3YXMgbm8gYmV0dGVyIHBlcnNvbiB0byBjb25zdWx0IG9uIHRoaXMgdG9waWMuIFdlIHByZXNlbnRlZCBvdXIgcHJvamVjdCBhbmQgb3VyIHN0cmF0ZWd5IGZvciBjcmVhdGluZyBuaWNrYXNlcywgYW5kIGhlIGZvdW5kIG91ciBhcHByb2FjaCB0byBiZSB2ZXJ5IHBsYXVzaWJsZS4gSGUgY29uZmlybWVkIHRoYXQgdGhlIHppbmMgZmluZ2VyIG11dGF0aW9uIGlzIGxpa2VseSBzdHJ1Y3R1cmFsbHkgY3JpdGljYWwgYW5kIGFncmVlZCB0aGF0IG91ciBuZXcgc3RyYXRlZ3ksIGJhc2VkIG9uIHRoZSBwcmVjZWRlbnQgd2l0aCBBc0NhczEyYSwgd2FzIG1vcmUgcHJvbWlzaW5nLiBUaGlzIGNvbnZlcnNhdGlvbiBnYXZlIHVzIGNvbmZpZGVuY2UgdGhhdCB3ZSB3ZXJlIG9uIGEgZ29vZCB0cmFjay5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTGVhcm5cIiBpZD1cImxlYXJuLWhlYWRcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyb20gdGhpcyBpdGVyYXRpb24sIHdlIGdhaW5lZCBzZXZlcmFsIGtleSBpbnNpZ2h0cy4gRmlyc3QsIG91ciBpbml0aWFsIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGN1dHRpbmcgbWVjaGFuaXNtIHVzZWQgYnkgU3B1RnoxXHUyMDE0YmFzZWQgb24gdGhlIGFzc3VtcHRpb24gdGhhdCBpdCBjb250YWluZWQgdHdvIGFjdGl2ZSBjZW50ZXJzLCBsaWtlIENhczksIGVhY2ggY3V0dGluZyBhIEROQSBzdHJhbmRcdTIwMTR3YXMgaW5jb3JyZWN0LiBXZSBkaXNjb3ZlcmVkIHRoYXQgU3B1RnoxIG9wZXJhdGVzIGRpZmZlcmVudGx5LCB3aXRoIHRoZSBSdXZDIGRvbWFpbiBjdXR0aW5nIHRoZSBub24tdGFyZ2V0IHN0cmFuZCBhbmQgdGhlIFROQiBkb21haW4gYXNzaXN0aW5nIGJ5IGd1aWRpbmcgdGhlIHRhcmdldCBzdHJhbmQgaW50byB0aGUgUnV2QyBkb21haW4gZm9yIHNlcXVlbnRpYWwgY2xlYXZhZ2UuIFRoaXMgc2hpZnQgaW4gdW5kZXJzdGFuZGluZyBhbGxvd2VkIHVzIHRvIHJlZmluZSBvdXIgYXBwcm9hY2gsIG1vdmluZyBhd2F5IGZyb20gZGVhY3RpdmF0aW5nIGFuIGFjdGl2ZSBzaXRlIHRvIGZvY3VzaW5nIG9uIHRoZSBzZXF1ZW50aWFsIGN1dHRpbmcgbWVjaGFuaXNtLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRpdGlvbmFsbHksIHdlIGZvdW5kIHRoYXQgRmFuem9yIGVuZG9udWNsZWFzZXMsIGxpa2UgU3B1RnoxLCBzaGFyZSBhIHNpZ25pZmljYW50IHBoeWxvZ2VuZXRpYyByZWxhdGlvbnNoaXAgd2l0aCBDYXMxMiBlbmRvbnVjbGVhc2VzLCB3aGljaCBoYXZlIGEgc2ltaWxhciBzaW5nbGUtc2l0ZSBjdXR0aW5nIG1lY2hhbmlzbS4gVGhpcyBjb25uZWN0aW9uLCBhbG9uZyB3aXRoIHRoZSBwcmVjZWRlbnQgb2YgY29udmVydGluZyBDYXMxMmEgaW50byBhIG5pY2thc2UgdGhyb3VnaCB0aGUgc3Vic3RpdHV0aW9uIG9mIGEgc2luZ2xlIGFtaW5vIGFjaWQgaW4gdGhlIFROQiBkb21haW4sIHByb3ZpZGVkIHVzIHdpdGggYSBjbGVhciBzdHJhdGVneSBmb3IgY29udmVydGluZyBTcHVGejEgYW5kIENhc1ggaW50byBuaWNrYXNlcy4gVGhlIHNpbWlsYXJpdHkgaW4gY3V0dGluZyBtZWNoYW5pc21zIGJldHdlZW4gRmFuem9yIGFuZCBDYXMxMiBwcm90ZWlucyByZWluZm9yY2VkIHRoZSB2aWFiaWxpdHkgb2YgdGhpcyBhcHByb2FjaC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpdGVyYXRpb24gbGVkIHVzIHRvIGluY29ycG9yYXRlIENhc1gsIGEgc21hbGxlciBDYXMxMi1yZWxhdGVkIGVuZG9udWNsZWFzZSwgaW50byBvdXIgcHJvamVjdC4gQ2FzWCBvZmZlcnMgdGhlIHNhbWUgYWR2YW50YWdlcyBhcyBTcHVGejEsIHN1Y2ggYXMgYSBjb21wYWN0IHN0cnVjdHVyZSwgbWFraW5nIGl0IGlkZWFsIGZvciBhcHBsaWNhdGlvbnMgdGhhdCByZXF1aXJlIHNtYWxsZXIgZWRpdGluZyBzeXN0ZW1zLiBBZGRpdGlvbmFsbHksIHdlIGFkYXB0ZWQgdGhlIG11dGF0aW9uIHN0cmF0ZWd5IHVzZWQgdG8gY29udmVydCBDYXMxMmEgaW50byBhIG5pY2thc2UgZm9yIGJvdGggQ2FzWCBhbmQgU3B1RnoxLCBndWlkaW5nIG91ciBmdXR1cmUgd29yayBpbiBvcHRpbWl6aW5nIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXguXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9jYXMxMi1uaWthc2Uud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIDE6PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NoZW1hdGljIHJlcHJlc2VudGF0aW9uIG9mIENhczEyYSAoUERCIGNvZGU6IDhTRkgpIHZpc3VhbGl6ZWQgaW4gQ2hpbWVyYVggLSB0aGUgeWVsbG93IGNpcmNsZSBoaWdobGlnaHRzIHRoZSBwb3NpdGlvbiBvZiBhcmdpbmluZSAoUikgKDEyMjZ0aCBhbWlubyBhY2lkIGluIHRoZSBwcmltYXJ5IHN0cnVjdHVyZSkgd2hpY2gsIHdoZW4gcmVwbGFjZWQgYnkgYW4gYWxhbmluZSAoQSksIGNvbnZlcnRzIHRoZSBDYXMxMmEgZW5kb251Y2xlYXNlIGludG8gYW4gbkNhczEyYSBuaWNrYXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL2NhczEyLW5pa2FzZS1jbG9zZS11cC53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgMjo8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZS11cCBvZiBQbG1DYXNYIChQREIgY29kZTogN1dBWikgLSBhcmdpbmluZSAoUikgKDEyMjZ0aCBhbWlubyBhY2lkIGluIHRoZSBwcmltYXJ5IHN0cnVjdHVyZSkgaXMgY29sb3JlZCBwdXJwbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL2Nhc3gtbmlrYXNlLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSAzOjwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjaGVtYXRpYyByZXByZXNlbnRhdGlvbiBvZiBQbG1DYXNYIChQREIgY29kZTogN1dBWikgaW4gQ2hpbWVyYVggLSB0aGUgeWVsbG93IGNpcmNsZSBoaWdobGlnaHRzIHRoZSBwb3NpdGlvbiBvZiBhcmdpbmluZSAoUikgKDkwNHRoIGFtaW5vIGFjaWQgaW4gdGhlIHByaW1hcnkgc3RydWN0dXJlKSBhbmQgZ2x1dGFtaW5lIChRKSAoOTA3dGggYW1pbm8gYWNpZCBpbiB0aGUgcHJpbWFyeSBzdHJ1Y3R1cmUpLCB3aGljaCwgd2hlbiByZXBsYWNlZCBieSBhbiBhbGFuaW5lIChBKSwgY29udmVydCB0aGUgZW5kb251Y2xlYXNlIGludG8gYSBuaWNrYXNlLCBhY2NvcmRpbmcgdG8gb3VyIGh5cG90aGVzaXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZW5naW5lZXJpbmctY3ljbGUvY2FzeC1uaWthc2UtY2xvc2UtdXAud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIDQ6PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2UtdXAgb2YgUGxtQ2FzWCAoUERCIGNvZGU6IDdXQVopIC0gYXJnaW5pbmUgKFIpICg5MDR0aCBhbWlubyBhY2lkIGluIHRoZSBwcmltYXJ5IHN0cnVjdHVyZSkgYW5kIGdsdXRhbWluZSAoUSkgKDkwN3RoIGFtaW5vIGFjaWQgaW4gdGhlIHByaW1hcnkgc3RydWN0dXJlKSBhcmUgcHVycGxlIGluIGNvbG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9lbmdpbmVlcmluZy1jeWNsZS9zcHVmei1uaWthc2Uud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIDU6PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2NoZW1hdGljIHJlcHJlc2VudGF0aW9uIG9mIFNwdUZ6MSAoUERCIGNvZGU6IDhHS0gpIGluIENoaW1lcmFYIC0gdGhlIHllbGxvdyBjaXJjbGUgaGlnaGxpZ2h0cyB0aGUgcG9zaXRpb24gb2YgdGhlIHR3byBhcmdpbmluZXMgKFIpICg1NjR0aCBhbmQgNTY4dGggYW1pbm8gYWNpZCBpbiB0aGUgcHJpbWFyeSBzdHJ1Y3R1cmUpLCB3aGljaCwgd2hlbiByZXBsYWNlZCBieSBhbiBhbGFuaW5lIChBKSwgdHJhbnNmb3JtIHRoZSBlbmRvbnVjbGVhc2UgaW50byBhIG5pY2thc2UgYWNjb3JkaW5nIHRvIG91ciBoeXBvdGhlc2lzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL3NwdWZ6LW5pa2FzZS1jbG9zZS11cC53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgNjo8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZS11cCBvZiBTcHVGejEgKFBEQiBjb2RlOiA4R0tIKSAtIHRoZSB0d28gYXJnaW5pbmVzIChSKSAoNTY0dGggYW5kIDU2OHRoIGFtaW5vIGFjaWQgaW4gdGhlIHByaW1hcnkgc3RydWN0dXJlKSBhcmUgcHVycGxlIGluIGNvbG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZW5naW5lZXJpbmctY3ljbGUvYXNjYXMxMmEtbnVjLWRvbWFpbi53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL2FzY2FzMTJhLW51Yy1kb21haW4tY2xvc2UtdXAud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgNzo8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBc0NhczEyYSAoUERCIGNvZGU6IDhTRkgpIHZpc3VhbGl6ZWQgaW4gQ2hpbWVyYVguIFRoZSBOVUMgZG9tYWluIChUTkIpIGlzIGNvbG9yZWQgcHVycGxlIGFuZCBpcyBhdHRhY2hlZCB0byB0aGUgUnV2QyBkb21haW4uIFRoZSBETkEgc3RyYW5kIGlzIGNvbG9yZWQgb3JhbmdlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIDg6PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2UtdXAgb2YgTlVDIGRvbWFpbiAoY29sb3JlZCBwdXJwbGUpIG9mIEFzQ2FzMTJhKFBEQiBjb2RlOiA4U0ZIKSAtIHRoZSBhcmdpbmluZXMgKFIpICgxMjI2dGggYW1pbm8gYWNpZCBpbiB0aGUgcHJpbWFyeSBzdHJ1Y3R1cmUpIGlzIGNvbG9yZWQgeWVsbG93LiBJdHMgcG9zaXRpdmVseSBjaGFyZ2VkIHNpZGUgY2hhaW4gaXMgb3JpZW50ZWQgdG93YXJkcyB0aGUgUnV2QyBkb21haW4sIGFzIHdlbGwgYXMgdGhlIEROQSBzdHJhbmQgZml4YXRlZCBpbiB0aGUgUnV2QyBkb21haW4uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuXG4gICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cIm5pYzVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwiT25nb2luZzogSW4gVml0cm8gQ2xlYXZhZ2UgQXNzYXlzXCIgaWQ9XCJuaWM1aGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJkZXNpZ24taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSW4gdGhpcyBpdGVyYXRpb24sIG91ciBmb2N1cyBzaGlmdGVkIHRvIHRlc3Rpbmcgd2hldGhlciBvdXIgbXV0YXRpb24gY2FuZGlkYXRlcyBoYWQgc3VjY2Vzc2Z1bGx5IGNvbnZlcnRlZCB0aGUgZW5kb251Y2xlYXNlcyBpbnRvIGZ1bmN0aW9uYWwgbmlja2FzZXMuIFRvIGRvIHRoaXMsIHdlIGFkYXB0ZWQgYW4gZXhpc3RpbmcgYXNzYXkgdGhhdCBoYWQgYmVlbiBvcmlnaW5hbGx5IGRlc2lnbmVkIHRvIGRldGVybWluZSB3aGV0aGVyIG11dGF0ZWQgZW5kb251Y2xlYXNlcyBleGhpYml0ZWQgbmlja2FzZSBhY3Rpdml0eTxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1uaWNrYXNlXCIgbnVtPVwiMVwiIHNjcm9sbElkPVwiZGVzYy0xXCIvPi4gV2UgdGFpbG9yZWQgdGhpcyBhc3NheSB0byBmaXQgb3VyIHNwZWNpZmljIG5lZWRzLCBhbGxvd2luZyB1cyB0byBhY2N1cmF0ZWx5IGFzc2VzcyB0aGUgcHJvcGVydGllcyBvZiBvdXIgbXV0YXRlZCBwcm90ZWlucyBpbiB0aGUgbGFiLiBUaGUga2V5IHF1ZXN0aW9uIHdhcyB3aGV0aGVyIHRoZSBtdXRhdGlvbnMgaGFkIHJlbmRlcmVkIHRoZSBwcm90ZWlucyBkeXNmdW5jdGlvbmFsLCBsZWZ0IHRoZW0gYXMgZW5kb251Y2xlYXNlcywgb3Igc3VjY2Vzc2Z1bGx5IGNvbnZlcnRlZCB0aGVtIGludG8gbmlja2FzZXMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJidWlsZC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBXZSBzdGFydGVkIG9mZiBieSBhbXBsaWZpY2F0aW9uIG9mIG91ciBuaWNrYXNlIGNhbmRpZGF0ZXMsIG9yZGVyZWQgYXMgZ2VuZSBzeW50aGVzZXMsIHRvIGFkZCByZXN0cmljdGlvbiBzaXRlcy4gV2UgdGhlbiBmYWNpbGl0YXRlZCByZXN0cmljdGlvbiBjbG9uaW5nIG9mIHRoZSBhbXBsaWZpY2F0ZXMgaW50byBhbiBFLiBjb2xpIHByb3RlaW4gZXhwcmVzc2lvbiB2ZWN0b3IgcHJvdmlkZWQgYnkgdGhlIGxhYm9yYXRvcnkgb2Ygb3IgUEkgS3Jpc3RpYW4gTVx1MDBGQ2xsZXIuIFdlIHN1YnNlcXVlbnRseSB0cmFuc2Zvcm1lZCBFLiBjb2xpIHdpdGggdGhlIGdlbmUgZnJhZ21lbnRzIG9mIG91ciBuaWNrYXNlIGNhbmRpZGF0ZXMgZm9yIENhc1ggYW5kIFNwdUZ6LiBIb3dldmVyLCB0aGUgdHJhbnNmb3JtYW50IGNlbGxzIGRpZCBub3QgZ3JvdywgbGVhZGluZyB1cyB0byBzdXNwZWN0IHRoYXQgdGhlIHBsYXNtaWQgYmFja2JvbmUgd2UgcmVjZWl2ZWQgbWF5YmUgaW1wYWlyZWQgaW4gc29tZSB3YXkuIEdpdmVuIHRoZSB0aW1lbGluZSwgd2Ugd2VyZSBub3QgYWJsZSB0byBjb21wbGV0ZSB0aGUgdGVzdGluZyBvZiBvdXIgbmlja2FzZSBjYW5kaWRhdGVzLiBPdXIgY3VycmVudCBzdGVwcyBpbnZvbHZlIHRyb3VibGVzaG9vdGluZyByZWdhcmRpbmcgdGhlIHJlc3RyaWN0aW9uIGNsb25pbmcgYW5kIGNvbnRpbnVpbmcgd2l0aCBwcm90ZWluIGV4cHJlc3Npb24gYW5kIHB1cmlmaWNhdGlvbiBvbmNlIHRoZSBpc3N1ZSBpcyByZXNvbHZlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiVGVzdFwiIGlkPVwidGVzdC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgbmV4dCBwaGFzZSBvZiBvdXIgcGxhbiwgb25jZSB3ZSBvdmVyY29tZSB0aGUgY3VycmVudCBpc3N1ZXMgd2l0aCBjbG9uaW5nIGFuZCBzdWNjZXNzZnVsbHkgb3ZlcmV4cHJlc3Mgb3VyIG5pY2thc2UgY2FuZGlkYXRlcywgd291bGQgaW52b2x2ZSBjb25kdWN0aW5nIGFuIGluIHZpdHJvIHBsYXNtaWQgY2xlYXZhZ2UgYXNzYXkgKEZpZy5YKS4gSW4gdGhpcyBhc3NheSwgdGhlIHB1cmlmaWVkIG5pY2thc2VzIHdvdWxkIGJlIGNvbWJpbmVkIHdpdGggdGhlaXIgcmVzcGVjdGl2ZSBndWlkZSBSTkFzIGFuZCBhIHN1cGVyY29pbGVkIHRlc3QgcGxhc21pZC4gVGhlIGd1aWRlIFJOQXMgd291bGQgZGlyZWN0IHRoZSBuaWNrYXNlcyB0byB0aGUgdGFyZ2V0IHNlcXVlbmNlIG9uIHRoZSBwbGFzbWlkLiBEZXBlbmRpbmcgb24gdGhlIHJlc3VsdHMsIHRoZSBwbGFzbWlkIHdvdWxkIHJlbWFpbiBzdXBlcmNvaWxlZCBpZiB1bnRvdWNoZWQsIGJlY29tZSByZWxheGVkIGlmIG5pY2tlZCwgb3IgYmUgbGluZWFyaXplZCBpZiBjdXQgYnkgYW4gZW5kb251Y2xlYXNlLiBUbyBhbmFseXplIHRoZXNlIG91dGNvbWVzLCB3ZSB3b3VsZCBwZXJmb3JtIGdlbCBlbGVjdHJvcGhvcmVzaXMsIHdoZXJlIHRoZSBkaWZmZXJlbnQgY29uZm9ybWF0aW9ucyBvZiB0aGUgcGxhc21pZCAoc3VwZXJjb2lsZWQsIHJlbGF4ZWQsIG9yIGxpbmVhcml6ZWQpIHdvdWxkIG1pZ3JhdGUgZGlmZmVyZW50bHkgdGhyb3VnaCB0aGUgZ2VsLiBTdXBlcmNvaWxlZCBwbGFzbWlkcyB3b3VsZCBtaWdyYXRlIHRoZSBmdXJ0aGVzdCwgcmVsYXhlZCBwbGFzbWlkcyB3b3VsZCBtb3ZlIHRoZSBzbG93ZXN0LCBhbmQgbGluZWFyaXplZCBwbGFzbWlkcyB3b3VsZCBmYWxsIGJldHdlZW4gdGhlc2UgdHdvLiBBcyBjb250cm9scywgd2Ugd291bGQgaGF2ZSB1c2VkIHRoZSBwbGFzbWlkIGluIGl0cyB1bmN1dCBmb3JtLCBuaWNrZWQgYnkgbkNhczkgYW5kIGRpZ2VzdGVkIHVzaW5nIGEgcmVzdHJpY3Rpb24gZW56eW1lLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJMZWFyblwiIGlkPVwibGVhcm4taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgd2UgY291bGQgaGF2ZSBwcm9jZWVkZWQgd2l0aCB0aGUgbmlja2FzZSBhc3NheXMsIHRoZSByZWFkb3V0IHdvdWxkIGFsbG93IHVzIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSB0ZXN0ZWQgcHJvdGVpbnMgZnVuY3Rpb24gYXMgbmlja2FzZXMsIGVuZG9udWNsZWFzZXMsIG9yIHJlbWFpbiBpbmFjdGl2ZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2VuZ2luZWVyaW5nLWN5Y2xlL25pY2thc2UtYXNzYXkud2VicFwiIHN0eWxlPXt7aGVpZ2h0OlwiNzUlXCIsIHdpZHRoOlwiNzUlXCJ9fS8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSAxOjwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZW9yZXRpY2FsIGdlbCBlbGVjdHJvcGhvcmVzaXMgcmVzdWx0cyBmb3Igb3VyIG5pY2thc2UgYXNzYXkuIExhbmVzIDEgYW5kIDggcmVwcmVzZW50IG1vbGVjdWxhciB3ZWlnaHQgbGFkZGVycywgd2hpY2ggcHJvdmlkZSBzaXplIG1hcmtlcnMgZm9yIHRoZSBwbGFzbWlkIGZyYWdtZW50cy4gTGFuZSAyIGNvbnRhaW5zIHRoZSB1bnRyZWF0ZWQgcmVwb3J0ZXIgcGxhc21pZCwgd2hpY2ggcmVtYWlucyBzdXBlcmNvaWxlZCBhbmQgdHJhdmVscyB0aGUgZmFydGhlc3QgdGhyb3VnaCB0aGUgZ2VsLiBMYW5lIDMgc2VydmVzIGFzIGEgcG9zaXRpdmUgY29udHJvbCwgY29udGFpbmluZyBuQ2FzOSwgZ1JOQSwgYW5kIHRoZSByZXBvcnRlciBwbGFzbWlkLiBUaGUgbkNhczkgbmlja2FzZSBuaWNrcyB0aGUgcGxhc21pZCwgcmVsYXhpbmcgaXRzIHN0cnVjdHVyZSwgYW5kIGFzIGEgcmVzdWx0LCB0aGUgcmVsYXhlZCBjaXJjdWxhciBwbGFzbWlkIG1vdmVzIHNsb3dlciB0aGFuIHRoZSBzdXBlcmNvaWxlZCBmb3JtLiBMYW5lIDQgYWN0cyBhcyBhIG5lZ2F0aXZlIGNvbnRyb2wsIGNvbnRhaW5pbmcgYSByZXN0cmljdGlvbiBlbnp5bWUgYW5kIHRoZSByZXBvcnRlciBwbGFzbWlkLiBUaGUgZW56eW1lIGZ1bGx5IGN1dHMgdGhlIHBsYXNtaWQsIGxpbmVhcml6aW5nIGl0LCBhbmQgdGhpcyBsaW5lYXIgZm9ybSBtb3ZlcyBzbG93ZXIgdGhhbiB0aGUgc3VwZXJjb2lsZWQgcGxhc21pZCBidXQgZmFzdGVyIHRoYW4gdGhlIHJlbGF4ZWQgY2lyY3VsYXIgZm9ybS4gTGFuZSA1IGluY2x1ZGVzIENhc1ggYW5kIHRoZSByZXBvcnRlciBwbGFzbWlkIHdpdGhvdXQgZ1JOQSwgbWVhbmluZyBubyBjbGVhdmFnZSBvY2N1cnMsIGxlYXZpbmcgdGhlIHBsYXNtaWQgaW4gaXRzIHN1cGVyY29pbGVkIHN0YXRlLCB3aGljaCBtaWdyYXRlcyBzaW1pbGFybHkgdG8gdGhlIHVudHJlYXRlZCBwbGFzbWlkIGluIGxhbmUgMi4gTGFuZSA2IGNvbnRhaW5zIENhc1gsIGdSTkEsIGFuZCB0aGUgcmVwb3J0ZXIgcGxhc21pZCwgcmVzdWx0aW5nIGluIGZ1bGwgY2xlYXZhZ2UgYW5kIHBsYXNtaWQgbGluZWFyaXphdGlvbiwgY2F1c2luZyBpdCB0byBtaWdyYXRlIHNpbWlsYXJseSB0byB0aGUgbGluZWFyIHBsYXNtaWQgaW4gbGFuZSA0LiBGaW5hbGx5LCBsYW5lIDcgaW5jbHVkZXMgb3VyIG5pY2thc2UgY2FuZGlkYXRlIChlaXRoZXIgQ2FzWCBvciBTcHVGejEpLCBnUk5BLCBhbmQgdGhlIHJlcG9ydGVyIHBsYXNtaWQuIElkZWFsbHksIHRoZSBjYW5kaWRhdGUgd291bGQgbmljayB0aGUgcGxhc21pZCwgcmVzdWx0aW5nIGluIGEgcmVsYXhlZCBjaXJjdWxhciBmb3JtIHRoYXQgbW92ZXMgc2ltaWxhcmx5IHRvIHRoZSBuaWNrZWQgcGxhc21pZCBpbiBsYW5lIDMuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJuaWM2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIk9uZ29pbmc6IFNwdUZ6MSBleHByZXNzaW9uIGluIFllYXN0XCIgaWQ9XCJuaWM2aGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiRGVzaWduXCIgaWQ9XCJkZXNpZ24taGVhZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgV2hlbiB0YWxraW5nIHRvIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3NhaXRvJywgJy9odW1hbi1wcmFjdGljZXMnKX0+IE1ha290byBTYWl0byA8L2E+LCBoZSB0b2xkIHVzIHRoYXQgZXhwcmVzc2luZyBTcHVGejEgaW4gRS4gY29saSBkaWQgbm90IHdvcmsgZm9yIGhpbS4gSGUgYWR2aXNlZCB1cyB0byBpbnN0ZWFkIGVzdGFibGlzaCBhIHllYXN0IGV4cHJlc3Npb24gc3lzdGVtLiBTaW5jZSBub25lIG9mIHVzIGhhZCBhbnkgZXhwZXJpZW5jZSB3aXRoIHVzaW5nIHllYXN0IGZvciBwcm90ZWluIHByb2R1Y3Rpb24sIHdlIHJlYWNoZWQgb3V0IHRvIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ25iZXJlbHNtYW5uJywgJy9odW1hbi1wcmFjdGljZXMnKX0+IE5pbHMgQmVyZWxzbWFubiA8L2E+IGF0IHRoZSBmYWN1bHR5IG9mIGNoZW1pc3RyeSBhdCBvdXIgdW5pdmVyc2l0eS4gSGUgd2FzIGFibGUgdG8gcHJvdmlkZSB1cyB3aXRoIGEgeWVhc3QgZXhwcmVzc2lvbiBzdHJhaW4gYXMgd2VsbCBhcyB0aGUgY29ycmVzcG9uZGluZyBleHByZXNzaW9uIHZlY3Rvci4gQmVjYXVzZSB3ZSB3ZXJlIHN0cm9uZ2x5IHJlc3RyaWN0ZWQgYnkgdGltZSBhdCB0aGF0IHBvaW50LCB3ZSB0aGVuIGFza2VkIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2hha2FuJywgJy9odW1hbi1wcmFjdGljZXMnKX0+IEhha2FuIFNveXRcdTAwRkNyayA8L2E+IGZyb20gdGhlIGJpb2xvZ2ljYWwgZmFjdWx0eSBmb3IgaGVscCBhbmQgaGUgb2ZmZXJlZCB0byBmYWNpbGl0YXRlIHRyYW5zZm9ybWF0aW9uIGFuZCBzZWxlY3Rpb24gb2YgcG9zaXRpdmUgWWVhc3QgdHJhbnNmb3JtYW50cyBmb3IgdXMuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkJ1aWxkXCIgaWQ9XCJidWlsZC1oZWFkXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgd29ya2Zsb3cgZm9yIGNsb25pbmcgU3B1RnoxIGFtcGxpZmljYXRlcyBpbnRvIHRoZSBwUElDOUsgeWVhc3QgdmVjdG9yIHdhcyBzaW1pbGFyIHRvIHRoZSBjbG9uaW5nIGludG8gdGhlIEUuIGNvbGkgZXhwcmVzc2lvbiB2ZWN0b3IuIEFmdGVyIG11bHRpcGxlIGF0dGVtcHRzIG9mIHRyYW5zZm9ybWF0aW9ucyBhbmQgY29sb255IFBDUnMgd2UgZm91bmQgcG9zaXRpdmUgY2xvbmVzIGZvciB0d28gb2YgdGhlIG5pY2thc2UgdmFyaWFudHMuIEhha2FuIHRyYW5zZm9ybWVkIHRoZW0gaW50byB0aGUgeWVhc3Qgc3RyYWluIGZvciB1cywgYnV0IG5vIGNvbG9uaWVzIGZvcm1lZCwgaW5kaWNhdGluZyB1bnN1Y2Nlc3NmdWwgdHJhbnNmb3JtYXRpb24uIER1ZSB0byB0aW1lIGNvbnN0cmFpbnRzLCB3ZSB3ZXJlIG5vdCBhYmxlIHRvIHJlcGVhdCB0aGUgY2xvbmluZy4gSG93ZXZlciwgdGVzdGluZyBvdXIgU3B1RnoxIGFuZCBhbHNvIENhc1ggbmlja2FzZSBjYW5kaWRhdGVzIGFuZCBldmVudHVhbGx5IHVzaW5nIHRoZW0gZm9yIHByaW1lIGVkaXRpbmcuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgYWxpZ24taXRlbXMtY2VudGVyJz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPFR3b0xpbmVQREYgbGluaz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9jbG9uaW5nLXN0cmF0ZWd5LXNwdWZ6MS5wZGYnIG5hbWU9XCJjbG9uaW5nLXN0cmF0ZWd5LXNwdWZ6MS5wZGZcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdzZXBlcmF0b3ItMiBjb2wtMic+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPFR3b0xpbmVQREYgbGluaz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9jbG9uaW5nLXN0cmF0ZWd5LXBsbWNhc3gucGRmJyBuYW1lPVwiY2xvbmluZy1zdHJhdGVneS1wbG1jYXN4LnBkZlwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxQREYgbGluaz0naHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9jbG9uaW5nLXN0cmF0ZWd5LWNhczkucGRmJyBuYW1lPVwiY2xvbmluZy1zdHJhdGVneS1jYXM5LnBkZidcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIlJlZmVyZW5jZXNcIiBpZD1cInJlZmVyZW5jZXNcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxFbmdOaWNrc291cmNlcy8+XG4gICAgICAgICAgICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZWZ0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiUHJldmlvdXNcIiBvcGVuPVwicGVncm5hXCIgc2Nyb2xsVG9JZD1cInBlZ3JuYS1oZWFkZXJcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGJ1dHRvbi1sZWZ0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJpZ2h0XCI+PEJ1dHRvbk9uZUVuZ2luZWVyaW5nIGxhYmVsPVwiTmV4dFwiIG9wZW49XCJkZWxpdmVyeVwiIHNjcm9sbFRvSWQ9XCJkZWxpdmVyeS1oZWFkZXJcIi8+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZW5naW5uZWVyaW5ndGFiXCIgaWQ9XCJ0YWItZGVsaXZlcnlcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICA8c2VjdGlvbiBpZD1cIkRlbGl2ZXJ5IHNlY1wiID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZW5nLWJveCBib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8SDIgaWQ9XCJkZWxpdmVyeS1oZWFkZXJcIiB0ZXh0PVwiRGVsaXZlcnlcIj48L0gyPlxuICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIGRlc2lnbiBwYXRoIG9mIG91ciBsaXBpZCBuYW5vcGFydGljbGUgKExOUCkgZm9yIG1STkEgZGVsaXZlcnkgdW5kZXJ3ZW50IG11bHRpcGxlIGN5Y2xlcyBvZiByZXNlYXJjaCBhbmQgZGlzY3Vzc2lvbiwgbWFya2VkIGJ5IGltcG9ydGFudCBkZWNpc2lvbiBwb2ludHMgYW5kIGxlYXJuaW5ncyBhbG9uZyB0aGUgd2F5LiBCeSBvbmdvaW5nIGZ1cnRoZXIgaW1wcm92ZW1lbnQsIHdlIGRlc2lnbmVkIG91ciBsdW5ncy1zcGVjaWZpYyBMTlAgY2FsbGVkIEFpckJ1ZGR5IHdpdGggaW1wcm92ZWQgc3RhYmlsaXR5IGFzcGVjdHMsIGJlY29taW5nIG1vcmUgcHJlY2lzZSBpbiB0aGUgZGVsaXZlcnkgb2Ygb3VyIHRoZXJhcGV1dGljIGNhcmdvIExOUCBieSBMTlAuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvYWlyYnVkZHkud2VicFwiIHN0eWxlPXt7bWF4SGVpZ2h0OiBcIjgwcHRcIn19Lz4gIFxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveFwiID5cbiAgICAgICAgICAgICAgICAgICAgIDxwIGlkPVwiZGVsMVwiPlxuICAgICAgICAgICAgICAgICAgICAgPEgzIHRleHQ9XCJJdGVyYXRpb24gMSAtIEFWVnMgdnMgTE5Qc1wiIGlkPVwiZGVsMWhlYWRcIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPkluaXRpYWxseSwgdGhpcyBwcm9qZWN0IHBhcnQgc3RhcnRlZCB3aXRoIGEgZGlzY3Vzc2lvbiB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2tyaXN0aWFuJywgJy9odW1hbi1wcmFjdGljZXMnKX0+IFByb2YuIERyLiBLcmlzaXRhbiBNXHUwMEZDbGxlcjwvYT4sIFBJIG9mIG91ciB0ZWFtIHdpdGggZXhwZXJ0aXNlIGluIEFkZW5vLWFzc29jaWF0ZWQgdmlydXNlcyAoQUFWcyksIGZvY3VzaW5nIG9uIHdoZXRoZXIgdG8gcHVyc3VlIExOUHMgb3IgQUFWcyBmb3IgbVJOQSBkZWxpdmVyeS4gVGhlIGRlY2lkaW5nIGZhY3RvciBsZWFuZWQgdG93YXJkcyBMTlBzLCBhcyB0aGV5IG9mZmVyZWQgYSBzaWduaWZpY2FudCBhZHZhbnRhZ2VzIGluY2x1ZGluZyBsZXNzIGltbXVub2dlbmljIHBvdGVudGlhbDxUYWJTY3JvbGxMaW5rIHRhYj1cInRhYi1kZWxpdmVyeVwiIG51bT1cIjFcIiBzY3JvbGxJZD1cImRlc2MtMVwiLz4gYW5kIGJpZ2dlciBsb2FkaW5nIGNhcGFjaXR5PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiMlwiIHNjcm9sbElkPVwiZGVzYy0yXCIvPi4gTE5QcyBsb2FkaW5nIGNhcGFjaXR5IGRlcGVuZHMgb24gdmFyaW91cyBmYWN0b3JzLCBidXQgaW4gZ2VuZXJhbCB0aGV5IG9mZmVyIGEgYmlnZ2VyIGNhcmdvIHNpemUgY29tcGFyZWQgdG8gNC43IGtiIGZvciBBVlZzPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiM1wiIHNjcm9sbElkPVwiZGVzYy0zXCIvPi4gVGhpcyBhbGxvd3MgdGhlIGRlbGl2ZXJ5IG9mIGJpZ2dlciBtUk5BIGNvbnN0cnVjdHMgY29tcGFyZWQgdG8gQUFWcywgd2hpY2ggaXMgbmVlZGVkIGZvciBvdXIgUHJpbWUgRWRpdGluZyBjb25zdHJ1Y3QuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignd2ViZXInLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Qcm9mLiBXb2xmLU1pY2hhZWwgV2ViZXIgYW5kIERyLiBKXHUwMEY2cmcgR3JvXHUwMERGZS1Pbm5lYnJpbms8L2E+IGZyb20gdGhlIFVLTSBpbiBNXHUwMEZDbnN0ZXIgd2VyZSBvdXIgZmlyc3QgcG9pbnQgb2YgY29udGFjdCBmb3IgdGhlIGRldmVsb3BtZW50IG9mIG91ciBMTlAgZm9yIENGVFIgdHJlYXRtZW50LiBNb3Jlb3ZlciwgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigncmFkdWtpYycsICcvaHVtYW4tcHJhY3RpY2VzJyl9PkRyLiBNYXJjbyBSYWR1a2ljIDwvYT5mb3JtIEJpZWxlZmVsZCBVbml2ZXJzaXR5IHByb3ZpZGVkIHVzIHdpdGggYSB2ZXJ5IHVzZWZ1bCBjYXJnbywgbmFtZWx5IG1pbmljaXJjbGUgRE5BIGNhcnJ5aW5nIHRoZSBFWUZQIGdlbmUgZnJvbSA8YSBocmVmPVwiaHR0cHM6Ly93d3cucGxhc21pZGZhY3RvcnkuY29tL2N1c3RvbS1kbmEvbWluaWNpcmNsZS1kbmEvXCIgdGl0bGU9XCJQbGFzbWlkRmFjdG9yeVwiID5QbGFzbWlkRmFjdG9yeTwvYT4gYXMgYSBwb3NpdGl2ZSBjb250cm9sIGZvciBvdXIgZXhwZXJpbWVudHMuIEhlIGFsc28gaGVscGVkIHVzIGVzdGFibGlzaCBwcm90b2NvbHMgZm9yIExOUCBzeW50aGVzaXMgYW5kIExOUCB0cmFuc2ZlY3Rpb24gaW4gb3VyIGxhYi48L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJkZWwyXCI+XG4gICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIkludGVyYXRpb24gMiAtIENheW1hbiBMTlBcIiBpZD1cImRlbDJoZWFkXCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICBJbiB0aGUgZmlyc3QgZXhwZXJpbWVudGFsIHBoYXNlLCBMTlBzIGZyb20gPHN0cm9uZz5DYXltYW4gQ2hlbWljYWwgTE5QIEV4cGxvcmF0aW9uIEtpdCAoTE5QLTEwMik8L3N0cm9uZz4gY29uc2lzdGluZyBvZiBTTS0xMDIsIDEsMi1EU1BDLCBjaG9sZXN0ZXJvbCwgYW5kIERNRy1QRUcoMjAwMCk8VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItZGVsaXZlcnlcIiBudW09XCI0XCIgc2Nyb2xsSWQ9XCJkZXNjLTRcIi8+IHdlcmUgdGVzdGVkIHdpdGggbVJOQSBlbmNvZGluZyBmbHVvcmVzY2VudCBwcm90ZWluIHRvIGV2YWx1YXRlIHRoZWlyIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LiBIb3dldmVyLCB0aGUgcmVzdWx0cyBzaG93ZWQgbG93IHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LCBhbmQgdGhlIHBhcnRpY2xlcyBkaWQgbm90IHNob3cgc3BlY2lmaWNpdHkgZm9yIHRoZSBsdW5ncywgd2hpY2ggd2FzIGEgY3JpdGljYWwgcmVxdWlyZW1lbnQgZm9yIHRoZSBwcm9qZWN0LiBUaGlzIGxlZCB0aGUgdGVhbSB0byByZWNvbnNpZGVyIHRoZSBjaG9pY2Ugb2YgdGhlIExOUC5cbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvY2F5bWFuLWxucC1mcmVpZ2VzdGVsbHQud2VicFwiIGFsdD1cIkNheW1hbiBMTlBcIi8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIDEuPC9iPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgU2NoZW1hdGljIHZpZXcgb2YgTE5QLTEwMiBmcm9tIENheW1hbiBDaGVtaWNhbFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJib3hcIiA+XG4gICAgICAgICAgICAgICAgICAgICA8cCBpZD1cImRlbDNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxIMyB0ZXh0PVwiSW50ZXJhdGlvbiAzIC0gQ29yZGVuIExOUFwiIGlkPVwiZGVsM2hlYWRcIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIEluIHRoZSBuZXh0IHBoYXNlLCB3ZSBjaG9zZSB0byB1c2UgYSBuZXcgTE5QIGZvcm11bGF0aW9uLCBuYW1lbHkgdGhlIDxzdHJvbmc+TE5QIFN0YXJ0ZXIgS2l0ICMyPC9zdHJvbmc+PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiNVwiIHNjcm9sbElkPVwiZGVzYy01XCIvPiBvZiA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdjb3JkZW4nLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Db3JkZW4gUGhhcm1hPC9hPiwgYmVjYXVzZSBpdCBvZmZlcmVkIHNldmVyYWwgYWR2YW50YWdlcyBvdmVyIHRoZSBpbml0aWFsIG9wdGlvbi4gVGhlIGtleSBiZW5lZml0IG9mIHRoaXMgbmV3IExOUCBsaWVzIGluIHRoZSB1c2Ugb2YgRE9UQVAsIGEgY2F0aW9uaWMgbGlwaWQgdGhhdCBlbmhhbmNlcyBpbnRlcmFjdGlvbiB3aXRoIG5lZ2F0aXZlbHkgY2hhcmdlZCBjZWxsIG1lbWJyYW5lcyBpbiB0aGUgbHVuZ3MsIGltcHJvdmluZyBjZWxsdWxhciB1cHRha2UgZWZmaWNpZW5jeS4gV2hpbGUgU00tMTAyIGluIHRoZSBDYXltYW4gTE5QLTEwMiBpcyBlZmZlY3RpdmUgZm9yIHN5c3RlbWljIGRlbGl2ZXJ5LCBpdCBsYWNrcyB0aGUgc2FtZSBzcGVjaWZpY2l0eSBmb3IgbHVuZyB0aXNzdWUuIEFkZGl0aW9uYWxseSwgQ29yZGVuIFBoYXJtYVx1MjAxOXMgcGxhbnQtYmFzZWQgQm90YW5pQ2hvbFx1MDBBRSBwcmV2ZW50cyBhbmltYWwtc291cmNlZCBjb250YW1pbmF0aW9uIGFuZCBoZWxwcyBhZGRyZXNzIHRoZSBnbG9iYWwgbGlwaWQgc2hvcnRhZ2UgZm9yIHZhY2NpbmUgcHJvZHVjdGlvbi4gbVBFRy0yMDAwLURTUEUgcHJvdmlkZXMgc3VwZXJpb3Igc3RhYmlsaXR5IGFuZCByZWR1Y2VzIGltbXVuZSBzeXN0ZW0gYWN0aXZhdGlvbiBvdmVyIHRpbWUsIG1ha2luZyBpdCBwYXJ0aWN1bGFybHkgc3VpdGFibGUgZm9yIHB1bG1vbmFyeSBkZWxpdmVyeS4gIFRoaXMgbWFkZSB0aGUgbmV3IGZvcm11bGF0aW9uIGEgYmV0dGVyIGNob2ljZSBmb3Igc2FmZWx5IGFuZCBlZmZlY3RpdmVseSB0YXJnZXRpbmcgbHVuZyB0aXNzdWUsIGVzcGVjaWFsbHkgaW4gZGVsaXZlcmluZyB0aGVyYXBpZXMgZm9yIENGVFItcmVsYXRlZCBkaXNlYXNlcy4gRHVyaW5nIHRoaXMgdGltZSwgdGhlIHRlYW0gZW5jb3VudGVyZWQgYSBwYXBlciBvbiBjYXBzYWljaW4tY2hpdG9zYW4gbmFub3BhcnRpY2xlcywgd2hpY2ggZXhwbG9yZWQgaXRzIHVzZSBpbiB0YXJnZXRlZCBkZWxpdmVyeSBhbmQgaGlnaGVyIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LiBIb3dldmVyLCBhZnRlciBmdXJ0aGVyIGludmVzdGlnYXRpb24gYW5kIGNvbnN1bHRhdGlvbiBvZiA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdrb2xvbmtvZmlyc3QnLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Eci4gS2F0aGFyaW5hIEtvbG9ua288L2E+LCBpdCB3YXMgZGV0ZXJtaW5lZCB0aGF0IGNhcHNhaWNpbiB3YXMgbm90IHN1aXRhYmxlIGZvciBvdXIgcGxhbm5lZCBwdWxtb25hcnkgYXBwbGljYXRpb24uIFxuICAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9jb3JkZW4tbG5wLWZyZWlnZXN0ZWxsdC53ZWJwXCIgYWx0PVwiQ29yZGVuIExOUFwiLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgMi48L2I+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICBTY2hlbWF0aWMgdmlldyBvZiBMTlAgIzIgZnJvbSBDb3JkZW4gUGhhcm1hIHdpdGggRE9UQVAgYXMgY2F0aW9uaWMgbGlwaWQsIERTUEMgYXMgcGhvc3Bob2xpcGlkIGFuZCBtUEVHLTIwMC1EU1BFIGFzIFBFRyBsaXBpZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJkZWw0XCI+XG4gICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIkludGVyYXRpb24gNCAtIFNwcmF5LWRyaWVkIFNPUlQgTE5QIGNhbGxlZCBBaXJidWRkeVwiIGlkPVwiZGVsNGhlYWRcIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgIFRoZSBuZXh0IGRlc2lnbiBpdGVyYXRpb24gaW5jb3Jwb3JhdGVkIHRoZSBpbnNpZ2h0cyBmcm9tIFdhbmcncyBMTlAgd29yayBmb3IgYnVpbGRpbmcgdXBvbiBTT1JUIHByaW5jaXBsZXMgdG8gbWFrZSB0aGUgbmFub3BhcnRpY2xlcyBsdW5nLXNwZWNpZmljPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiNlwiIHNjcm9sbElkPVwiZGVzYy02XCIvPi4gVGhlIG1haW4gY29tcG9uZW50cyBpbmNsdWRlIERNRy1QRUcgMjAwMCwgY2hvbGVzdGVyb2wsIERPUEUgYW5kIERPVEFQIGFzIHBob3NwaG9saXBpZHMgYW5kIGNhdGlvbmljIGxpcGlkcyBzdWNoIGFzIDRBMy1TQzguIEluIG91ciBMTlAgZGV2ZWxvcG1lbnQsIHdlIGNhcmVmdWxseSBjb25zaWRlcmVkIHRoZSB1c2Ugb2YgUEVHLiBXaGlsZSBQRUcgY2FuIGltcHJvdmUgc3RhYmlsaXR5LCBpdCBjYW4gYWxzbyByZWR1Y2UgY2VsbHVsYXIgdXB0YWtlIGFuZCBpbmR1Y2UgaW1tdW5lIHJlc3BvbnNlcywgbmVjZXNzaXRhdGluZyBhIGJhbGFuY2VkIGFwcHJvYWNoIHRvIGl0cyBpbmNsdXNpb248VGFiU2Nyb2xsTGluayB0YWI9XCJ0YWItZGVsaXZlcnlcIiBudW09XCI3XCIgc2Nyb2xsSWQ9XCJkZXNjLTdcIi8+LlxuICAgICAgICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwiQ29sMVwiIG9wZW49e2ZhbHNlfSB0aXRsZT1cIkFtYml2YWxlbmNlIG9mIFBFRyBhbmQgb3VyIGltcGxlbWVudGF0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiV2hhdCBpcyBQRUcgYW5kIHdoeSBpcyBpdCBpbXBvcnRhbnQgZm9yIExOUHM/XCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICBQb2x5ZXRoeWxlbmUgZ2x5Y29sIChQRUcpIGlzIGFuIGVzc2VudGlhbCBjb21wb25lbnQgaW4gdGhlIGZvcm11bGF0aW9uIG9mIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpLCB3aGljaCBhcmUgd2lkZWx5IHVzZWQgaW4gZHJ1ZyBkZWxpdmVyeSBzeXN0ZW1zLCBwYXJ0aWN1bGFybHkgZm9yIG1STkEtYmFzZWQgdGhlcmFwaWVzIGxpa2UgdmFjY2luZXMuIFBFRy1saXBpZHMgYXJlIGh5YnJpZCBtb2xlY3VsZXMgY29uc2lzdGluZyBvZiBhIGh5ZHJvcGhpbGljIFBFRyBjaGFpbiBhdHRhY2hlZCB0byBhIGh5ZHJvcGhvYmljIGxpcGlkIGFuY2hvci4gVGhpcyB1bmlxdWUgc3RydWN0dXJlIGVuYWJsZXMgUEVHLWxpcGlkcyB0byBpbnRlcmFjdCBlZmZlY3RpdmVseSB3aXRoIGJvdGggYXF1ZW91cyBlbnZpcm9ubWVudHMgYW5kIGxpcGlkIHN0cnVjdHVyZXMsIHN1Y2ggYXMgY2VsbCBtZW1icmFuZXMgYW5kIGxpcGlkIG5hbm9wYXJ0aWNsZXMgdGhlbXNlbHZlcy4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5QRUd5bGF0aW9uXHUyMDE0YXR0YWNoaW5nIFBFRyB0byBsaXBpZHNcdTIwMTRwcm92aWRlcyBudW1lcm91cyBiZW5lZml0cy4gSXQgaW5jcmVhc2VzIHRoZSBzdGFiaWxpdHkgb2YgTE5QcyBieSBmb3JtaW5nIGEgcHJvdGVjdGl2ZSBvdXRlciBsYXllciwgcHJldmVudGluZyBhZ2dyZWdhdGlvbiwgZXh0ZW5kaW5nIGNpcmN1bGF0aW9uIHRpbWUgaW4gdGhlIGJsb29kc3RyZWFtLCBhbmQgcmVkdWNpbmcgaW1tdW5lIHN5c3RlbSBkZXRlY3Rpb24uIFRoZXNlIGFkdmFudGFnZXMgYXJlIGNyaXRpY2FsIGluIGVuc3VyaW5nIHRoYXQgdGhlIExOUHMgcmVhY2ggdGhlaXIgdGFyZ2V0IGNlbGxzIGFuZCBkZWxpdmVyIHRoZSB0aGVyYXBldXRpYyBwYXlsb2FkIGVmZmVjdGl2ZWx5LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIldoeSBpcyBQRUcgcmVsZXZhbnQgZm9yIExOUHMgaW4gbVJOQSBkZWxpdmVyeT9cIiBpZD1cInRleHRcIiAvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIFBFRyBpbXByb3ZlcyB0aGUgcGhhcm1hY29raW5ldGljcyBvZiBMTlBzIGJ5IGV4dGVuZGluZyB0aGVpciBzeXN0ZW1pYyBjaXJjdWxhdGlvbiB0aW1lLCB3aGljaCBpcyBjcnVjaWFsIGZvciB0aGVyYXBpZXMgbGlrZSBtUk5BIHZhY2NpbmVzLCB3aGVyZSB0aGUgbmFub3BhcnRpY2xlcyBtdXN0IHJlbWFpbiBpbiB0aGUgYmxvb2RzdHJlYW0gbG9uZyBlbm91Z2ggdG8gcmVhY2ggdGhlaXIgdGFyZ2V0IGNlbGxzLiBBZGRpdGlvbmFsbHksIFBFRy1saXBpZHMgY2FuIHJlZHVjZSB0aGUgc2l6ZSBvZiBMTlBzLCBlbmhhbmNpbmcgdGhlaXIgYWJpbGl0eSB0byBwZW5ldHJhdGUgY2VsbCBtZW1icmFuZXMgYW5kIGRlbGl2ZXIgdGhlIHRoZXJhcGV1dGljIG1hdGVyaWFsIGVmZmljaWVudGx5LiBIb3dldmVyLCBhIGJhbGFuY2UgbXVzdCBiZSBzdHJ1Y2suIEluY3JlYXNpbmcgUEVHIGNvbnRlbnQgY2FuIGxlYWQgdG8gc21hbGxlciwgbW9yZSBzdGFibGUgcGFydGljbGVzLCBidXQgaXQgbWF5IGFsc28gcmVkdWNlIGludHJhY2VsbHVsYXIgZGVsaXZlcnkgYW5kIHByb3RlaW4gZXhwcmVzc2lvbi4gVGhlcmVmb3JlLCB3aGlsZSBQRUcgYm9vc3RzIGNpcmN1bGF0aW9uIGFuZCBzdGFiaWxpdHksIHRvbyBtdWNoIGNhbiBoaW5kZXIgdGhlcmFwZXV0aWMgZWZmZWN0aXZlbmVzcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQ3l0b3RveGljaXR5IGFuZCBtUEVHLTIwMDAtRFNQRVwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgT25lIGNoYWxsZW5nZSB3aXRoIFBFR3lsYXRpb24gaXMgdGhlIHBvdGVudGlhbCBmb3IgaW1tdW5lIHJlc3BvbnNlcywgc3VjaCBhcyB0aGUgPGk+YWNjZWxlcmF0ZWQgYmxvb2QgY2xlYXJhbmNlPC9pPiAoQUJDKSBwaGVub21lbm9uLCB3aGVyZSByZXBlYXRlZCBleHBvc3VyZSB0byBQRUd5bGF0ZWQgcGFydGljbGVzIGxlYWRzIHRvIGZhc3RlciBjbGVhcmFuY2UgYnkgdGhlIGltbXVuZSBzeXN0ZW0uIFRoZXJlIGFyZSBhbHNvIHJpc2tzIG9mIGh5cGVyc2Vuc2l0aXZpdHkgcmVhY3Rpb25zIGxpa2UgPGk+Y29tcGxlbWVudCBhY3RpdmF0aW9uLXJlbGF0ZWQgcHNldWRvYWxsZXJneTwvaT4gKENBUlBBKS4gVGh1cywgc2VsZWN0aW5nIHRoZSByaWdodCBQRUctbGlwaWQgdHlwZSBpcyBlc3NlbnRpYWwgdG8gbWl0aWdhdGUgdGhlc2Ugcmlza3MuXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5XZSBjb2xsYWJvcmF0ZWQgd2l0aCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdjb3JkZW4nLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Db3JkZW4gUGhhcm1hPC9hPiwgYSBzcGVjaWFsaXN0IGluIExOUCB0ZWNobm9sb2dpZXMsIHRvIGFkZHJlc3MgdGhlc2UgY29uY2VybnMuIEJhc2VkIG9uIHRoZWlyIHJlY29tbWVuZGF0aW9ucywgd2Ugb3B0ZWQgZm9yIDxzdHJvbmc+bVBFRy0yMDAwLURTUEU8L3N0cm9uZz4gYXMgb3VyIFBFRy1saXBpZCBvZiBjaG9pY2UuIFRoaXMgdmFyaWFudCBtaW5pbWl6ZXMgY3l0b3RveGljaXR5IHdoaWxlIHByb3ZpZGluZyBleGNlbGxlbnQgc3RhYmlsaXR5IGFuZCBjaXJjdWxhdGlvbiB0aW1lLiBJdCBoYXMgYWxzbyBwcm92ZW4gZWZmZWN0aXZlIGluIHJlZHVjaW5nIGltbXVuZS1yZWxhdGVkIHNpZGUgZWZmZWN0cyB3aGlsZSBwcmVzZXJ2aW5nIHRoZSBpbnRlZ3JpdHkgYW5kIHBlcmZvcm1hbmNlIG9mIG91ciBuYW5vcGFydGljbGVzLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkRNRy1QRUcyMDAwIHZzIG1QRUctMjAwMC1EU1BFXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICBXaGlsZSBtUEVHLTIwMDAtRFNQRSBoYXMgdHJhZGl0aW9uYWxseSBiZWVuIHVzZWQgZm9yIHN0YWJpbGl6aW5nIExOUHMgYW5kIGVuaGFuY2luZyBkZWxpdmVyeSBlZmZpY2llbmN5LCB3ZSBkZWNpZGVkIHRvIGluY29ycG9yYXRlIERNRy1QRUcyMDAwIGludG8gb3VyIFNPUlQgTE5QLWJhc2VkIEFpckJ1ZGR5IGR1ZSB0byBpdHMgc3VwZXJpb3IgcHJvcGVydGllcy4gRE1HLVBFRzIwMDAgb2ZmZXJzIGJldHRlciBiaW9kZWdyYWRhYmlsaXR5IGFuZCBlbmhhbmNlZCBzdGFiaWxpdHkgaW4gcHVsbW9uYXJ5IGFwcGxpY2F0aW9ucy4gVW5saWtlIG1QRUctMjAwMC1EU1BFLCB3aGljaCB0ZW5kcyB0byBhY2N1bXVsYXRlIGluIHRoZSBib2R5IGFuZCBtYXkgbGVhZCB0byBpbW11bmUgYWN0aXZhdGlvbiBvdmVyIHRpbWUsIERNRy1QRUcyMDAwIGlzIGtub3duIGZvciBpdHMgZmFzdGVyIGNsZWFyYW5jZSBhbmQgcmVkdWNlZCBwb3RlbnRpYWwgZm9yIGxvbmctdGVybSB0b3hpY2l0eS4gRm9yIGx1bmctc3BlY2lmaWMgZGVsaXZlcnksIHdoZXJlIHN0YWJpbGl0eSBhbmQgc2FmZXR5IGFyZSBjcml0aWNhbCwgRE1HLVBFRzIwMDAgZW5zdXJlcyB0aGF0IHRoZSBuYW5vcGFydGljbGVzIHJlbWFpbiBzdGFibGUgbG9uZyBlbm91Z2ggdG8gZGVsaXZlciB0aGUgdGhlcmFwZXV0aWMgbWF0ZXJpYWwgZWZmZWN0aXZlbHksIGJ1dCBhbHNvIGRlZ3JhZGUgYXQgYSByYXRlIHRoYXQgbWluaW1pemVzIHVud2FudGVkIGltbXVuZSByZXNwb25zZXMuIFRoaXMgbWFrZXMgRE1HLVBFRzIwMDAgYSBtb3JlIHN1aXRhYmxlIGNob2ljZSBmb3IgdGhlcmFwaWVzIHRhcmdldGluZyBDRlRSLXJlbGF0ZWQgZGlzZWFzZXMsIHdoZXJlIHByZWNpc2UgYW5kIHNhZmUgZGVsaXZlcnkgdG8gdGhlIGx1bmdzIGlzIGVzc2VudGlhbCBmb3IgdHJlYXRtZW50IHN1Y2Nlc3MuIFxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+RGV0YWlscyBhYm91dCB0aGUgYmlvc2FmZXR5IGFzcGVjdHMgb2Ygb3VyIExOUCBjYW4gYmUgcmVhZCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZUFuZFNjcm9sbCAoJ3NvcnQtbG5wLWFuZC1jeXRvdG94aWNpdHknLCAnL3NhZmV0eScpfT4gaGVyZSA8L2E+LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQ29uY2x1c2lvblwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgV2UgdXNlIERNRy1QRUcyMDAwIGluIG91ciBTT1JUIExOUC1iYXNlZCBBaXJCdWRkeSBiZWNhdXNlIG9mIGl0cyBzdXBlcmlvciBiaW9kZWdyYWRhYmlsaXR5LCBlbmhhbmNlZCBzdGFiaWxpdHksIGFuZCByZWR1Y2VkIHJpc2sgb2YgaW1tdW5lIHN5c3RlbSBhY3RpdmF0aW9uLiBCeSBidWlsZGluZyBvbiBpbnNpZ2h0cyBmcm9tIGV4cGVydHMgYW5kIGluY29ycG9yYXRpbmcgcHJpbmNpcGxlcyBmcm9tIFdhbmdcdTIwMTlzIExOUCB3b3JrLCB3ZVx1MjAxOXZlIHRhaWxvcmVkIG91ciBuYW5vcGFydGljbGVzIGZvciBsdW5nLXNwZWNpZmljIGRlbGl2ZXJ5LiBUaGlzIGNob2ljZSBlbnN1cmVzIHRoYXQgb3VyIGZvcm11bGF0aW9ucyByZW1haW4gc3RhYmxlIGxvbmcgZW5vdWdoIHRvIGRlbGl2ZXIgdGhlIHRoZXJhcGV1dGljIHBheWxvYWQgZWZmZWN0aXZlbHkgd2hpbGUgbWluaW1pemluZyBwb3RlbnRpYWwgbG9uZy10ZXJtIHRveGljaXR5LiBUaGlzIGJhbGFuY2UgaXMgY3J1Y2lhbCBmb3IgcHVsbW9uYXJ5IGFwcGxpY2F0aW9ucywgd2hlcmUgRE1HLVBFRzIwMDAgb3V0cGVyZm9ybXMgYWx0ZXJuYXRpdmVzIGxpa2UgbVBFRy0yMDAwLURTUEUsIG1ha2luZyBpdCB0aGUgaWRlYWwgY2hvaWNlIGZvciB0cmVhdGluZyBDRlRSLXJlbGF0ZWQgbHVuZyBkaXNlYXNlcy4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgICAgICAgICAgPHA+RE1HLVBFRzIwMDAgb2YgdGhlIFNPUlQgTE5QIG9mZmVycyBiZXR0ZXIgYmlvZGVncmFkYWJpbGl0eSBhbmQgZW5oYW5jZWQgc3RhYmlsaXR5IGluIHB1bG1vbmFyeSBhcHBsaWNhdGlvbnMgLSBpdCBpcyBrbm93biBmb3IgaXRzIGZhc3RlciBjbGVhcmFuY2UgYW5kIHJlZHVjZWQgcG90ZW50aWFsIGZvciBsb25nLXRlcm0gdG94aWNpdHkuIFRvIGVuc3VyZSB3ZSBhZGRyZXNzZWQgdGhpcyBpc3N1ZSwgY3l0b3RveGljaXR5IHRlc3RzIHdlcmUgcGVyZm9ybWVkIGluIGFkZGl0aW9uIHRvIHRoZSBkZXRlcm1pbmF0aW9uIG9mIHBoeXNpY2FsIHByb3BlcnRpZXMgaW4gY29vcGVyYXRpb24gd2l0aCB0aGUgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignYmlvcGh5c2lrJywgJy9odW1hbi1wcmFjdGljZXMnKX0+UGh5c2ljYWwgYW5kIEJpb3BoeXNpY2FsIENoZW1pc3RyeSB3b3JraW5nIGdyb3VwIG9mIEJpZWxlZmVsZCBVbml2ZXJzaXR5PC9hPiB0byBjaGFyYWN0ZXJpemUgdGhlIExOUHMuIE1vcmUgZGV0YWlscyBhYm91dCB0aGUgY29tcG9zaXRpb24gb2YgdGhlIFNPUlQgTE5QcyBhbmQgZnVuY3Rpb24gb2YgdGhlIGNvbXBvbmVudHMgY2FuIGJlIHJlYWQgYmVsb3cuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9zb3J0LWxucC1mcmVpZ2VzdGVsbHQud2VicFwiIGFsdD1cIkFpckJ1dWR5XCIvPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSAzLjwvYj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFNjaGVtYXRpYyB2aWV3IG9mIG91ciBsdW5nLXNwZWNpZmljIFNPUlQgTE5QIGNhbGxlZCBBaXJCdWRkeS5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICAgICA8Q29sbGFwc2libGUgaWQ9XCJDb2wyXCIgb3Blbj17ZmFsc2V9IHRpdGxlPVwiQ29tcG9zaXRpb24gb2Ygb3VyIFNPUlQgTE5QIGNhbGxlZCBBaXJidWRkeSAvLyBMTlAgSGFuZGJvb2sgQ29vcGVyYXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiQ29tcG9uZW50cyBvZiBBaXJCdWRkeVwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJJb25pemFibGUgTGlwaWRcIiBpZD1cInRleHRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+VGhlIHByaW1hcnkgaW5ncmVkaWVudCwgNEEzLVNDOCBvciBNQzMsIGFyZSBpb25pemFibGUgY2F0aW9uaWMgbGlwaWRzIHRoYXQgZm9ybXMgdGhlIGNvcmUgb2YgdGhlIExOUC4gSW9uaXphYmxlIGNhdGlvbmljIGxpcGlkcyBiZWNvbWUgcG9zaXRpdmVseSBjaGFyZ2VkIGluIGFjaWRpYyBlbnZpcm9ubWVudHMsIHN1Y2ggYXMgd2hlbiBhIHBIIGNoYW5nZSBvY2N1cnMgZm9yIGV4YW1wbGUgaW4gYWNpZGljIGJ1ZmZlcnMgb3IgaW4gdGhlIGVuZG9zb21lLiBUaGlzIGFsbG93cyB0aGVtIHRvIGJpbmQgdG8gbmVnYXRpdmVseSBjaGFyZ2VkIG51Y2xlaWMgYWNpZHMgYW5kIGZvcm0gcHJvdGVjdGl2ZSBjYXBzdWxlcyBhcm91bmQgaXQuIEluIHRoZSBlbmRvc29tZSB0aGVzZSBsaXBpZHMgZmFjaWxpdGF0ZSBlbmRvc29tYWwgZXNjYXBlIHRocm91Z2ggZWxlY3Ryb3N0YXRpYyBpbnRlcmFjdGlvbnMgYmV0d2VlbiB0aGUgTE5QcyBhbmQgdGhlIGVuZG9zb21hbCBvciBjZWxsdWxhciBtZW1icmFuZXMuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJIZWxwZXIgTGlwaWRzXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5ET1RBUCAoRGlvbGVveWx0cmltZXRoeWwtYW1tb25pdW0gcHJvcGFuZSkgaXMgYSBjYXRpb25pYyBsaXBpZCB0aGF0IG1ha2VzIHVwIDUwICUgb2YgdGhlIHRvdGFsIG1vbGFyIGxpcGlkIHJhdGlvLiBJdCBwbGF5cyBhIGNydWNpYWwgcm9sZSBpbiBiaW5kaW5nIHRvIHRoZSBuZWdhdGl2ZWx5IGNoYXJnZWQgc3VyZmFjZSBvZiBsdW5nIGVwaXRoZWxpYWwgY2VsbHMuIFRoaXMgZW5oYW5jZXMgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgYW5kIGhlbHBzIG1ha2UgdGhlIExOUCBmb3JtdWxhdGlvbiBtb3JlIGx1bmctc3BlY2lmaWMsIGltcHJvdmluZyB0YXJnZXRlZCBkZWxpdmVyeS4gVGhlIG5ldXRyYWwgaGVscGVyIGxpcGlkIERPUEUgKERpb2xlb3lscGhvc3BoYXRpZHlsZXRoYW5vbGFtaW5lKSBlbmhhbmNlcyBlbmRvc29tYWwgZXNjYXBlIGJ5IGZ1c2luZyB3aXRoIHRoZSBlbmRvc29tYWwgbWVtYnJhbmUgYW5kIGltcHJvdmVzIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LjwvcD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlN0ZXJvbFwiIGlkPVwidGV4dFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5DaG9sZXN0ZXJvbCwgaXMgYW4gaW1wb3J0YW50IGNhdGlvbmljIGxpcGlkLCBwcm92aWRpbmcgc3RydWN0dXJhbCBzdGFiaWxpdHksIGZsdWlkaXR5IGFuZCBwZXJtZWFiaWxpdHkgdG8gdGhlIExOUHMsIHRoZXJlYnkgaW1wcm92aW5nIHRoZWlyIG92ZXJhbGwgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUEVHeWxhdGVkIExpcGlkc1wiIGlkPVwidGV4dFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5ETUctUEVHIChEaW15cmlzdG95bGdseWNlcmluLXBvbHlldGh5bGVuZWdseWNvbCkgaXMgYW4gaW1wb3J0YW50IGNvbXBvbmVudCBieSBpbXByb3ZpbmcgdGhlIExOUCBzdGFiaWxpdHkgYW5kIHByZXZlbnRpbmcgYWdncmVnYXRpb24gb2YgdGhlIExOUHMuICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlByb2R1Y3Rpb24gTWV0aG9kc1wiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJMTlAgQXNzZW1ibHlcIiBpZD1cInRleHRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk91ciBMTlAgY2FuIGJlIGZvcm11bGF0ZWQgdXNpbmcgdmFyaW91cyBtZXRob2RzIGRlcGVuZGluZyBvbiB0aGUgc2NhbGUgb2YgcHJvZHVjdGlvbiwgaW5jbHVkaW5nIHBpcGV0dGUgbWl4aW5nLCB2b3J0ZXggbWl4aW5nLCBvciBtaWNyb2ZsdWlkaWMgbWl4aW5nLiBGb3IgY2FyZ28gcHJvdGVjdGlvbiB0aGUgbVJOQSBjYW4gYmUgbWl4ZWQgd2l0aCBjaGl0b3NhbiBmb3Igc3RhYmlsaXR5IGltcHJvdmVtZW50IGJlZm9yZSBhZGRpbmcgd2l0aCB0aGUgTE5QIGNvbXBvbmVudHMuIEFmdGVyIG1peGluZyB0aGUgbGlwaWRzIHdpdGggbVJOQSBpbiBjYXJlZnVsbHkgY29udHJvbGxlZCByYXRpb3MsIHRoZSBtaXh0dXJlIGlzIHR5cGljYWxseSBkaWFseXplZCB0byByZW1vdmUgb3JnYW5pYyBzb2x2ZW50cyBsaWtlIGV0aGFub2wgYW5kIGNpdHJhdGUgYnVmZmVyLiBUaGUgY2hvaWNlIG9mIGxpcGlkIGNvbXBvc2l0aW9uIGFuZCBwcmVwYXJhdGlvbiBtZXRob2QgaW5mbHVlbmNlcyB0aGUgdGlzc3VlLXRhcmdldGluZyBjYXBhYmlsaXRpZXMgb2YgdGhlIExOUHMsIGFsbG93aW5nIGZvciBzZWxlY3RpdmUgZGVsaXZlcnkgdG8gb3JnYW5zIGxpa2UgdGhlIGxpdmVyLCBsdW5ncywgb3Igc3BsZWVuLiBGb3IgbW9yZSBkZXRhaWxlZCBpbmZvcm1hdGlvbiBvbiBmb3JtdWxhdGlvbiBtZXRob2RzIGFuZCBsaXBpZCBzZWxlY3Rpb24sIHJlZmVyIHRvIG91ciBMTlAgSGFuZGJvb2sgZGVpZ25lZCBpbiA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZUFuZFNjcm9sbCAoJ2hhbmRib29rJywgJy9odW1hbi1wcmFjdGljZXMnKX0+IGNvb3BlcmF0aW9uIHdpdGggaUdFTSBUZWFtIExpbmtcdTAwRjZwaW5nIDwvYT4gYW5kIG90aGVycy48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+Q2xpY2sgdGhpcyBCdXR0b24gdG8gZ2FpbiB0aGUgTE5QIEhhbmRib29rPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPERvd25sb2FkTGluayB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTM4Ny9saXBvc29tZXMtaGFuZGJvb2sucGRmXCIgZmlsZU5hbWU9XCJsaXBvc29tZXMtaGFuZGJvb2sucGRmXCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlNwcmF5IGRyeWluZyBQcm9jZWR1cmVcIiBpZD1cInRleHRcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkJ5IGNvbWJpbmluZyB0aGVzZSBjb21wb25lbnRzIHdpdGggdGhlIHNwcmF5IGRyeWluZyBtZXRob2QgZnJvbSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZUFuZFNjcm9sbCAoJ3JuaGFsZScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBSTmhhbGUgPC9hPiB3ZSBvZmZlciBhIHZlcnNhdGlsZSBhbmQgZWZmaWNpZW50IG1ldGhvZCBmb3IgZGVsaXZlcmluZyBtUk5BIHRoZXJhcGV1dGljcyB0byB0aGUgbHVuZywgcGF2aW5nIHRoZSB3YXkgZm9yIGdlbmUgdGhlcmFweSwgZXNwZWNpYWxseSBvdXIgUHJpbWUgR3VpZGUuIFRoZSBlZmZlY3RpdmUgZGVsaXZlcnkgb2YgdGhlIHByaW1lIGVkaXRpbmcgY29tcGxleCBpcyBhIGNydWNpYWwgcG9pbnQgaW4gb3VyIHByb2plY3QuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiU3RvcmFnZVwiIGlkPVwidGV4dFwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgZmluYWwgTE5QIHNvbHV0aW9uIGNhbiBiZSBzdG9yZWQgYXQgNCBcdTAwQjBDIGZvciBhIGZldyBkYXlzLiBJdCBpcyByZWNvbW1lbmRlZCB0byB1c2UgdGhlIGZvcm11bGF0ZWQgTE5QcyBhcyBzb29uIGFzIHBvc3NpYmxlIHRvIG1haW50YWluIGNvbnNpc3RlbnQgcmVzdWx0cy4gU3RvcmFnZSBhdCBSVCBpcyBub3QgcmVjb21tZW5kZWQuIFN0b3JhZ2UgYXQgZnJlZXppbmcgdGVtcGVyYXR1cmVzIGlzIGFsc28gbm90IHJlY29tbWVuZGVkIHVubGVzcyBvcHRpbWl6ZWQgY3J5b3Byb3RlY3RhbnRzIGFyZSB1c2VkLjwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBmaW5hbCBpbm5vdmF0aW9uIGZvciBvdXIgTE5QIHRvIGJlY29tZSA8c3Ryb25nPkFpckJ1ZGR5PC9zdHJvbmc+IGNhbWUgdGhyb3VnaCBjb25zdWx0YXRpb24gd2l0aCBCZW5qYW1pbiBXaW5rZWxqYW5uIGZyb20gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigncm5oYWxlJywgJy9odW1hbi1wcmFjdGljZXMnKX0+IFJOaGFsZTwvYT4sIHdoZXJlIHRoZSB1c2Ugb2Ygc3ByYXktZHJ5aW5nIHRlY2huaXF1ZXMgd2FzIGRpc2N1c3NlZC4gU3ByYXktZHJ5aW5nIHRoZSBMTlBzLCBpbnN0ZWFkIG9mIHVzaW5nIHRyYWRpdGlvbmFsIG1ldGhvZHMsIGhlbHBzIGltcHJvdmUgc3RhYmlsaXR5IGFuZCBlY28tZnJpZW5kbGluZXNzIG9mIHRoZSBwcm9kdWN0PFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiOFwiIHNjcm9sbElkPVwiZGVzYy04XCIvPi4gVW5mb3J0dW5hdGVseSwgd2Ugd2VyZSBub3QgaW4gdGltZSBmb3Igb3VyIHNhbXBsZXMgdG8gYmUgZGVsaXZlcmVkIHRvIFJOaGFsZSBmb3Igc3ByYXktZHJ5aW5nIGJlZm9yZSB0aGUgd2lraSBmcmVlemUsIGJ1dCB3ZSBoYXZlIGFscmVhZHkgc2NoZWR1bGVkIHRoZSB0cmFuc2Zlci4gSW5zdGVhZCwgdGhlIGRpc2N1c3Npb24gd2l0aCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdtb29ybGFjaCcsICcvaHVtYW4tcHJhY3RpY2VzJyl9PkJlbmphbWluIE1vb3JsYWNoPC9hPiwgY2hpdG9zYW4gZXhwZXJ0IHdvcmtpbmcgYXQgRkggQmllbGVmZWxkLCBwcm92aWRlZCBuZXcgaWRlYXMgZm9yIGltcHJvdmVtZW50IGJ5IDxzdHJvbmc+Y29tcGxleGluZyB0aGUgbVJOQSB3aXRoIGNoaXRvc2FuPC9zdHJvbmc+IHRvIGltcHJvdmUgdGhlIHN0YWJpbGl0eSBvZiB0aGUgY2FyZ28gZHVyaW5nIHNwcmF5IGRyeWluZyBhbmQgbmVidWxpemF0aW9uLiBUaGUgcG9zaXRpdmUgZWZmZWN0IG9mIFJOQSBjaGl0b3NhbiBjb21wbGV4aW5nIGZvciBvcGltaXplZCBMTlAgZGVsaXZlcnkgY291bGQgYmUgY29uZmltZWQgaW4gb3VyIGxhYi4gSW4gY29uY2x1c2lvbiwgd2UgY3JlYXRlZCBhIHN0YWJsZSBMTlAgZm9yIGVmZmljaWVudCBkZWxpdmVyeSBvZiBtUk5BIHRoZXJhcGV1dGljcyB0byB0aGUgbHVuZ3Mgc2luY2UgdGhlIHN1Y2Nlc3NmdWwgZGVsaXZlcnkgb2YgdGhlIHByaW1lIGVkaXRpbmcgY29tcGxleCB2aWEgaW5oYWxhdGlvbiBpcyBrZXkgdG8gb3VyIHByb2plY3QuICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvYmlnLXBsYW4taW5oYWxhdGlvbi10ZWlsLWRlbC53ZWJwXCIgYWx0PVwiRmxvdyBERUxcIi8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIDQuIDwvYj4gXG4gICAgICAgICAgICAgICAgICAgICAgICBBcHBsaWNhdGlvbiBzdGF0ZWd5IC0gQWlyQnVkZHkgaXMgaW5oYWxlZCBieSB0aGUgcGF0aWVudCwgZW5hYmxpbmcgdXB0YWtlIG9mIFByaW1lR3VpZGUgaW4gbHVuZyBlcGl0aGVsaWFsIGNlbGxzIHZpYSBlbmRvY3l0b3Npcy4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+IFxuXG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHAgaWQ9XCJkZWw1XCI+XG4gICAgICAgICAgICAgICAgICAgICA8SDMgdGV4dD1cIk91dGxvb2tcIiBpZD1cImRlbDVoZWFkXCIgLz4gXG4gICAgICAgICAgICAgICAgICAgICBVbHRpbWF0ZWx5LCB0aHJvdWdoIGNvbnRpbnVvdXMgY3ljbGVzIG9mIGV4cGVyaW1lbnRhdGlvbiwgZmVlZGJhY2ssIGFuZCBvcHRpbWl6YXRpb24sIGEgTE5QIGZvcm11bGF0aW9uIGNhbGxlZCBBaXJCdWRkeSB3YXMgZGVzaWduZWQgdXNpbmcgU09SVCBMTlBzIGFuZCBhIHNwcmF5LWRyeWluZyBwcm9jZXNzLCBhY2hpZXZpbmcgbHVuZyBzcGVjaWZpY2l0eSBhbmQgaW1wcm92ZWQgc2FmZXR5LiBXZSBhbHNvIHdhbnQgdG8gc3RhdGUgdGhhdCBmb3Igb3VyIExOUCBpcyBmdXJ0aGVyIHJvb20gZm9yIGltcHJvdmVtZW50LiBJbnRlbnNpdmUgcmVzZWFyY2ggbGVkIHVzIHRvIHRoZSByZWFsaXphdGlvbiB0aGF0LCBhbW9uZyBvdGhlciBtb2RpZmljYXRpb25zLCA8c3Ryb25nPmFudGlib2R5IGNvbmp1Z2F0aW9uPC9zdHJvbmc+IGFzIGEgc3VyZmFjZSBtb2RpZmljYXRpb24gb2Ygb3VyIExOUCBmb3IgY2VsbCB0eXBlLXNwZWNpZmljIGFkbWluaXN0cmF0aW9uLCBtb3JlIHNwZWNpZmljYWxseSBjbHViIGNlbGxzPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiOVwiIHNjcm9sbElkPVwiZGVzYy05XCIvPiBhbmQgaW9ub2N5dGVzPFRhYlNjcm9sbExpbmsgdGFiPVwidGFiLWRlbGl2ZXJ5XCIgbnVtPVwiMTBcIiBzY3JvbGxJZD1cImRlc2MtMTBcIi8+IGFzIG1vc3QgQ0ZUUi1leHByZXNzaW5nIGx1bmcgZXBpdGhlbGlhbCBjZWxscywgd291bGQgcm91bmQgb2ZmIG91ciBtb3N0IGltcG9ydGFudCBhc3BlY3Qgb2YgcHJlY2lzaW9uLiBcbiAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJSZWZlcmVuY2VzXCIgaWQ9XCJyZWZlcmVuY2VzXCI+XG4gICAgICAgICAgICAgICAgICAgICA8RW5nRGVsc291cmNlcy8+XG4gICAgICAgICAgICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxlZnRcIj48QnV0dG9uT25lRW5naW5lZXJpbmcgbGFiZWw9XCJQcmV2aW91c1wiIG9wZW49XCJuaWNrYXNlXCIgc2Nyb2xsVG9JZD1cIm5pY2thc2UtaGVhZGVyXCIvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBidXR0b24tbGVmdFwiPlxuICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgXG4gICAgICAgICAgPC9kaXY+XG4gIFxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH0gXG5cbiAgXG5cbmV4cG9ydCBmdW5jdGlvbiBFbmdpbmVlcmluZ0N5Y2xlVGFiKCl7XG4gICAgcmV0dXJuKFxuIDxzdmcgY2xhc3NOYW1lPVwicm90YXRlLWxpbmVhci1pbmZpbml0ZVwiXG4gICAgd2lkdGg9XCIxMDAlXCJcbiAgICBoZWlnaHQ9XCIxMDAlXCJcbiAgICB2aWV3Qm94PVwiMCAwIDEzMyAxMzNcIlxuICAgIGlkPVwic3ZnMjVcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgIDxkZWZzXG4gICAgICBpZD1cImRlZnMxXCI+XG4gICAgIDwvZGVmcz5cbiAgIDxnXG4gICAgICBpZD1cIkxheWVyXzJcIlxuICAgICAgZGF0YS1uYW1lPVwiTGF5ZXIgMlwiXG4gICAgICBzdHlsZT17e3N0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19PlxuICAgICA8Z1xuICAgICAgICBpZD1cIlBsYXNtaWRcIlxuICAgICAgICBzdHlsZT17e3N0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19PlxuICAgICAgIDxnXG4gICAgICAgICAgaWQ9XCJnMjVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg3LjUwMDk3OCwzLjA1MDQ4OTgpXCI+XG4gICAgICAgICAgICA8YSAgdHlwZW9mPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwic3ZnLWJ1dHRvblwiIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcImRlc2lnbmluZ1wiLCBjbGFzc1RvSGlkZTogXCJjeWNsZXRhYlwifSl9PlxuICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImNscy03XCJcbiAgICAgICAgICAgIGQ9XCJtIDQyLjA1LDExNS41OSBjIDI3Ljc3LDkuMTkgNTcuODMsLTQuNzkgNjkuNzYsLTMyLjIzXCJcbiAgICAgICAgICAgICBpZD1cInBhdGgyMlwiXG4gICAgICAgICAgICBzdHlsZT17e3N0cm9rZTpcIiNmNGNjMWVcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCJ9fSAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgIDwvZz5cbiAgICAgICA8Z1xuICAgICAgICAgIGlkPVwiZzI2XCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOC4wMDE5Njk5LDIuODQxODIyMylcIlxuICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX0+ICBcbiAgICAgICAgIDxwb2x5Z29uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtMTNcIlxuICAgICAgICAgICAgcG9pbnRzPVwiMTEyLjA3LDgzLjM2IDExMC45NCw3Ni4yNyAxMTcuNjUsNzguODQgXCJcbiAgICAgICAgICAgICBpZD1cInBvbHlnb24yNVwiXG4gICAgICAgICAgICBzdHlsZT17e2ZpbGw6XCIjODUwZjc4XCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgyLjk4MDYyNTksMCwwLDIuOTgwNjI1OSwtMjI1LjQzNzIyLC0xNTYuNDUxMjMpXCIgLz5cbiAgICAgICAgICAgIDxhICB0eXBlb2Y9XCJidXR0b25cIiBjbGFzc05hbWU9XCJzdmctYnV0dG9uXCIgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwibGVhcm5pbmdcIiwgY2xhc3NUb0hpZGU6IFwiY3ljbGV0YWJcIn0pfT5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNscy0xMlwiXG4gICAgICAgICAgICAgIGQ9XCJNIDExNCw3OC41NSBDIDEyMy40NSw1MC44NiAxMTAsMjAuNzUgODIuNjYsOC42XCJcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMjVcIlxuICAgICAgICAgICAgICBzdHlsZT17e3N0cm9rZVdpZHRoOlwiMTVcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCIsc3Ryb2tlOlwiIzg1MGY3OFwiLHN0cm9rZU9wYWNpdHk6XCIxXCJ9fSAvPiBcbiAgICAgICAgICAgXG4gICAgICAgICA8dGV4dFxuICAgICAgICAgICAgc3R5bGU9e3tmb250U2l6ZTpcIjE3LjMzMzNweFwiLGxpbmVIZWlnaHQ6XCIwXCIsZm9udEZhbWlseTpcIkFyaWFsXCIsZmlsbDpcInZhcigtLW9mZmJsYWNrKVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIm5vbmVcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlTGluZWNhcDpcInJvdW5kXCIsc3Ryb2tlTGluZWpvaW46XCJyb3VuZFwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgICAgICAgaWQ9XCJ0ZXh0MzFcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDUuNjkwMjE5NCwtMC4xMTU1MTg4MylcIj48dGV4dFBhdGhcbiAgICAgICAgICAgICB4bGlua0hyZWY9XCIjcGF0aDI1XCJcbiAgICAgICAgICAgICAgaWQ9XCJ0ZXh0UGF0aDMzXCI+TGVhcm48dHNwYW5cbiAgICAgICAgICBpZD1cInRzcGFuMzFcIiAvPjwvdGV4dFBhdGg+PC90ZXh0PiAgPC9hPlxuICAgICAgIDwvZz5cbiAgICAgICA8Z1xuICAgICAgICAgIGlkPVwiZzI3XCJcbiAgICAgICAgICBzdHlsZT17e3N0cm9rZVdpZHRoOlwiNlwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIn19XG4gICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDguMDAxOTY5OSwyLjg0MTgyMjMpXCI+XG4gICAgICAgICA8cG9seWdvblxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xzLTEwXCJcbiAgICAgICAgICAgICBwb2ludHM9XCI2Mi41Myw3LjEyIDYzLjQ3LDAgNjkuMTcsNC4zNyBcIlxuICAgICAgICAgICAgaWQ9XCJwb2x5Z29uMjNcIlxuICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgyLjc3MTIyNjMsMC41ODE0NzU0OCwtMC41ODE0NzU0OCwyLjc3MTIyNjMsLTk2LjU4NzgyOCwtMzkuNzQ4MDcxKVwiXG4gICAgICAgICAgICBzdHlsZT17e2ZpbGw6XCIjYTBhN2YzXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteD1cIjMuNjE3Mzc1MVwiXG4gICAgICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9XCI1LjE5Nzg4NTJcIiAvPlxuICAgICAgICAgICAgPGEgIHR5cGVvZj1cImJ1dHRvblwiIGNsYXNzTmFtZT1cInN2Zy1idXR0b25cIiBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogXCJ0ZXN0aW5nXCIsIGNsYXNzVG9IaWRlOiBcImN5Y2xldGFiXCJ9KX0+XG4gICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xzLTlcIlxuICAgICAgICAgICAgZD1cIk0gNzguNTk5MTExLDcuNTQ2ODI2NCBDIDQzLjgyMDM0NiwtMi42MTc3NTg4IDEzLjk1Njc0NiwxNC4yODYwNDYgNC4yMTA2MjgxLDQ2LjM2ODc0OVwiXG4gICAgICAgICAgICBpZD1cInBhdGgyM1wiXG4gICAgICAgICAgICBzdHlsZT17e3N0cm9rZTpcIiNhMGE3ZjNcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCJ9fSAvPlxuICAgICAgICAgPHRleHRcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgc3R5bGU9e3tmb250U2l6ZTpcIjE3LjMzMzNweFwiLGxpbmVIZWlnaHQ6XCIwXCIsZm9udEZhbWlseTpcIkFyaWFsXCIsZmlsbDpcInZhcigtLW9mZmJsYWNrKVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIm5vbmVcIixzdHJva2VXaWR0aDpcIjZcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgICAgICBpZD1cInRleHQyOFwiXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC4wMzAyMzUwNiwtNS45NjAyMzM2KVwiPjx0ZXh0UGF0aFxuICAgICAgICAgICAgeGxpbmtIcmVmPVwiI3BhdGgyM1wiXG4gICAgICAgICAgICAgaWQ9XCJ0ZXh0UGF0aDI4XCI+VGVzdDwvdGV4dFBhdGg+PC90ZXh0PiA8L2E+XG4gICAgICAgPC9nPlxuICAgICAgIDxnXG4gICAgICAgICAgaWQ9XCJnMjhcIlxuICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwifX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOC4wMDE5Njk5LDIuODQxODIyMylcIj5cbiAgICAgICAgIDxwb2x5Z29uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJjbHMtMTNcIlxuICAgICAgICAgICAgcG9pbnRzPVwiMTE3LjY1LDc4Ljg0IDExMi4wNyw4My4zNiAxMTAuOTQsNzYuMjcgXCJcbiAgICAgICAgICAgICBpZD1cInBvbHlnb24yNS02XCJcbiAgICAgICAgICAgIHN0eWxlPXt7ZmlsbDpcIiNmNTdkMjJcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2VXaWR0aDpcIjZcIixzdHJva2VEYXNoYXJyYXk6XCJub25lXCJ9fVxuICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0yLjk2NTAzMTQsMC4zMDQ0OTg5MywtMC4zMDQ0OTg5MywtMi45NjUwMzE0LDM2NC44NDA2NywyNDkuMjgyNDkpXCIgLz5cbiAgICAgICAgICAgIDxhICB0eXBlb2Y9XCJidXR0b25cIiBjbGFzc05hbWU9XCJzdmctYnV0dG9uXCIgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwiYnVpbGRpbmdcIiwgY2xhc3NUb0hpZGU6IFwiY3ljbGV0YWJcIn0pfT5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2xzLTExXCJcbiAgICAgICAgICAgIGQ9XCJNIDIuNjY1OTc1Myw1MC45NTM1MDUgQyAtMi4wOTU2Njk0LDcyLjcyNzkxNSAxMC45MzY4NjYsMTAyLjk0MjczIDM2LjY1NjIzNCwxMTMuNjI4MzRcIlxuICAgICAgICAgICAgIGlkPVwicGF0aDI0XCJcbiAgICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCIxNVwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2U6XCIjZjU3ZDIyXCIsc3Ryb2tlT3BhY2l0eTpcIjFcIn19IC8+XG4gICAgICAgICA8dGV4dFxuICAgICAgICAgICAgXG4gICAgICAgICAgICBzdHlsZT17e2ZvbnRTaXplOlwiMTcuMzMzM3B4XCIsbGluZUhlaWdodDpcIjBcIixmb250RmFtaWx5OlwiQXJpYWxcIixmaWxsOlwidmFyKC0tb2ZmYmxhY2spXCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlOlwibm9uZVwiLHN0cm9rZVdpZHRoOlwiMTVcIixzdHJva2VMaW5lY2FwOlwicm91bmRcIixzdHJva2VMaW5lam9pbjpcInJvdW5kXCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLHN0cm9rZU9wYWNpdHk6XCIxXCIscGFpbnRPcmRlcjpcImZpbGwgbWFya2VycyBzdHJva2VcIn19XG4gICAgICAgICAgICBpZD1cInRleHQzMlwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTUuNzExMDMxNSwxLjc0NTMyNDMpXCI+PHRleHRQYXRoXG4gICAgICAgICAgICAgeGxpbmtIcmVmPVwiI3BhdGgyNFwiXG4gICAgICAgICAgICAgIGlkPVwidGV4dFBhdGgzMlwiPkJ1aWxkPHRzcGFuXG4gICAgaWQ9XCJ0c3BhbjMyXCIgLz48L3RleHRQYXRoPjwvdGV4dD4gPC9hPlxuICAgICAgIDwvZz5cbiAgICAgICA8cG9seWdvblxuICAgICAgICAgIGNsYXNzTmFtZT1cImNscy04XCJcbiAgICAgICAgICBwb2ludHM9XCIzNy4yMiwxMTMuNzQgNDQuMywxMTIuNTYgNDEuNzgsMTE5LjI4IFwiXG4gICAgICAgICAgaWQ9XCJwb2x5Z29uMjJcIlxuICAgICAgICAgIHN0eWxlPXt7c3Ryb2tlV2lkdGg6XCI2XCIsc3Ryb2tlRGFzaGFycmF5Olwibm9uZVwiLGZpbGw6XCIjZjRjYzFlXCIsZmlsbE9wYWNpdHk6XCIxXCJ9fVxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgyLjgyNDg1ODgsMCwwLDIuODI0ODU4OCwtNjcuNzk3NzgxLC0yMDcuOTY5NzcpXCIgLz5cbiAgICAgICAgICA8YSAgdHlwZW9mPVwiYnV0dG9uXCIgY2xhc3NOYW1lPVwic3ZnLWJ1dHRvblwiIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcImRlc2lnbmluZ1wiLCBjbGFzc1RvSGlkZTogXCJjeWNsZXRhYlwifSl9PlxuICAgICAgIDx0ZXh0XG4gICAgICAgICAgXG4gICAgICAgICAgc3R5bGU9e3tmb250U2l6ZTpcIjE3LjMzMzNweFwiLGxpbmVIZWlnaHQ6XCIwXCIsZm9udEZhbWlseTpcIkFyaWFsXCIsZmlsbDpcInZhcigtLW9mZmJsYWNrKVwiLGZpbGxPcGFjaXR5OlwiMVwiLHN0cm9rZTpcIm5vbmVcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlTGluZWNhcDpcInJvdW5kXCIsc3Ryb2tlTGluZWpvaW46XCJyb3VuZFwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixzdHJva2VPcGFjaXR5OlwiMVwiLHBhaW50T3JkZXI6XCJmaWxsIG1hcmtlcnMgc3Ryb2tlXCJ9fVxuICAgICAgICAgIGlkPVwidGV4dDI5XCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOC40MDUyOTIxLDguODU1MzMzNClcIj48dGV4dFBhdGhcbiAgICAgICAgICB4bGlua0hyZWY9XCIjcGF0aDIyXCJcbiAgICAgICAgICBpZD1cInRleHRQYXRoMzRcIj5EZXNpZ248dHNwYW5cbiAgICAgICAgICBpZD1cInRzcGFuMjlcIiAvPjwvdGV4dFBhdGg+PC90ZXh0PiA8L2E+XG4gICAgIDwvZz5cbiAgIDwvZz5cbiAgIDxhICB0eXBlb2Y9XCJidXR0b25cIiBjbGFzc05hbWU9XCJzdmctYnV0dG9uXCIgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwib3ZlcnZpZXdcIiwgY2xhc3NUb0hpZGU6IFwiY3ljbGV0YWJcIn0pfT5cbiAgIDxjaXJjbGVcbiAgICAgc3R5bGU9e3tvcGFjaXR5OlwiMC44NVwiLGZpbGw6XCIjZTJkYWQ3XCIsZmlsbE9wYWNpdHk6XCIxXCIsc3Ryb2tlV2lkdGg6XCIxNVwiLHN0cm9rZUxpbmVjYXA6XCJyb3VuZFwiLHN0cm9rZUxpbmVqb2luOlwicm91bmRcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgaWQ9XCJwYXRoMVwiXG4gICAgIGN4PVwiNjcuOTE2MjE0XCJcbiAgICAgY3k9XCI2My4yMTQwMDVcIlxuICAgICByPVwiMjBcIiAvPlxuICA8dGV4dFxuICAgICBzdHlsZT17e2ZvbnRTaXplOlwiOHB4XCIsbGluZUhlaWdodDpcIjBcIixmb250RmFtaWx5OlwiQXJpYWxcIixvcGFjaXR5OlwiMC44NVwiLGZpbGw6XCJ2YXIoLS1vZmZibGFjaylcIixmaWxsT3BhY2l0eTpcIjFcIixzdHJva2VXaWR0aDpcIjE1XCIsc3Ryb2tlTGluZWNhcDpcInJvdW5kXCIsc3Ryb2tlTGluZWpvaW46XCJyb3VuZFwiLHN0cm9rZURhc2hhcnJheTpcIm5vbmVcIixwYWludE9yZGVyOlwiZmlsbCBtYXJrZXJzIHN0cm9rZVwifX1cbiAgICAgeD1cIjUwLjkyOTgyNVwiXG4gICAgIHk9XCI2Ni42NzY2NzRcIlxuICAgICBpZD1cInRleHQxXCI+XG4gICAgICA8dHNwYW5cbiAgICAgICBpZD1cInRzcGFuMVwiXG4gICAgICAgeD1cIjUwLjkyOTgyNVwiXG4gICAgICAgeT1cIjY2LjY3NjY3NFwiXG4gICAgICAgc3R5bGU9e3tmb250U2l6ZTpcIjhweFwifX0+T3ZlcnZpZXc8L3RzcGFuPjwvdGV4dD4gXG4gICAgICAgPC9hPlxuXG4gPC9zdmc+XG4gXG4gICAgKVxuIH1cblxuXG4iLCAiXG5pbXBvcnQgeyBIMiB9IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyB1c2VUYWJOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzL1RhYk5hdmlnYXRpb25cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEV4cGVyaW1lbnRzKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxIMiBpZD1cImhlYWRpbmdcIiB0ZXh0PVwiSGVhZGluZ1wiID48L0gyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgbXQtNFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1sZy04XCI+XG4gICAgICAgICAgXG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L2Rpdj5cbiAgICA8Lz5cbiAgKTtcbn1cbiIsICJcblxuaW1wb3J0IHsgRG93bmxvYWRJbWFnZUJ1dHRvbiB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCBIMiBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBOb3RlYm9vaygpIHtcbiAgdXNlVGFiTmF2aWdhdGlvbigpO1xuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICA8SDIgdGV4dD1cIkxhYiBKb3VybmFscyBhbmQgUHJvdG9jb2wgY29sbGVjdGlvblwiLz4gXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImVuZy1ib3ggYm94XCIgPlxuICAgICAgICAgICAgICAgICAgICAgPHA+SGVyZSB5b3UgY2FuIGhhdmUgYSBkZXRhaWxlZCBsb29rIGF0IG91ciBsYWIgd29yayAtIGp1c3Qga2xpY2sgdGhlIGZyb250IHBhZ2VzIG9mIHRoZSBMYWIgSm91cm5hbHMgYW5kIFByb3RvY29sIENvbGxlY3Rpb24gdG8gZG93bmxvYWQgdGhlbSEgXG4gICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgIDxwPjwvcD4gICAgICAgICAgICBcbiAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cnPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxEb3dubG9hZEltYWdlQnV0dG9uIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvbGFib3JhdG9yeS1ub3RlYm9vay0xLXByb29mLW9mLWNvbmNlcHQtZm9yLXBlLnBkZlwiIGZpbGVOYW1lPVwibGFib3JhdG9yeS1ub3RlYm9vay0xLXByb29mLW9mLWNvbmNlcHQtZm9yLXBlLnBkZlwiPlxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYWItam91cm5hbHMvdGl0ZWxzZWl0ZS1sYWItYm9vay0xLXByb29mLW9mLWNvbmNlcHQtcGUud2VicFwiIHN0eWxlPXt7aGVpZ2h0OiBcIjc1JVwiLCB3aWR0aDogXCJhdXRvXCJ9fS8+XG4gICAgICAgICAgPC9Eb3dubG9hZEltYWdlQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8RG93bmxvYWRJbWFnZUJ1dHRvbiB1cmw9XCJcIiBmaWxlTmFtZT1cIlwiPlxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYWItam91cm5hbHMvdGl0ZWxzZWl0ZS1sYWItYm9vay0yLWVuZ2luZWVyaW5nLXBlLndlYnBcIiBzdHlsZT17e2hlaWdodDogXCI3NSVcIiwgd2lkdGg6IFwiYXV0b1wifX0vPlxuICAgICAgICAgICAgPC9Eb3dubG9hZEltYWdlQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxEb3dubG9hZEltYWdlQnV0dG9uIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvbGFiLWJvb2stMy1wcmltYXJ5LWN1bHR1cmVzLnBkZlwiIGZpbGVOYW1lPVwibGFiLWJvb2stMy1wcmltYXJ5LWN1bHR1cmVzLnBkZlwiPlxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYWItam91cm5hbHMvdGl0ZWxzZWl0ZS1sYWItYm9vay0zLXByaW1hcnktY2VsbC1jdWx0dXJlLndlYnBcIiBzdHlsZT17e2hlaWdodDogXCI3NSVcIiwgd2lkdGg6IFwiYXV0b1wifX0vPlxuICAgICAgICAgICAgPC9Eb3dubG9hZEltYWdlQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPERvd25sb2FkSW1hZ2VCdXR0b24gdXJsPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGRmcy9sYWItYm9vay00LWxucC1kZXNpZ24tYWlyYnVkZHkucGRmXCIgZmlsZU5hbWU9XCJsYWItYm9vay00LWxucC1kZXNpZ24tYWlyYnVkZHkucGRmXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhYi1qb3VybmFscy90aXRlbHNlaXRlLWxhYi1ib29rLTQtbG5wLndlYnBcIiBzdHlsZT17e2hlaWdodDogXCI3NSVcIiwgd2lkdGg6IFwiYXV0b1wifX0vPlxuICAgICAgICAgICAgPC9Eb3dubG9hZEltYWdlQnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxEb3dubG9hZEltYWdlQnV0dG9uIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvbGFiLWJvb2stNS1kb3duc3RyZWFtLWV4cGVyaW1lbnRzLnBkZlwiIGZpbGVOYW1lPVwibGFiLWJvb2stNS1kb3duc3RyZWFtLWV4cGVyaW1lbnRzLnBkZlwiPlxuICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sYWItam91cm5hbHMvdGl0ZWxzZWl0ZS1sYWItYm9vay01LWRvd25zdHJlYW0ud2VicFwiIHN0eWxlPXt7aGVpZ2h0OiBcIjc1JVwiLCB3aWR0aDogXCJhdXRvXCJ9fS8+XG4gICAgICAgICAgICA8L0Rvd25sb2FkSW1hZ2VCdXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8RG93bmxvYWRJbWFnZUJ1dHRvbiB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL3Byb3RvY29sLWNvbGxlY3Rpb24taWdlbS0yMDI0LnBkZlwiIGZpbGVOYW1lPVwicHJvdG9jb2wtY29sbGVjdGlvbi1pZ2VtLTIwMjQucGRmXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xhYi1qb3VybmFscy90aXRlbHNlaXRlLWxhYi1ib29rLXNvcC53ZWJwXCIgc3R5bGU9e3toZWlnaHQ6IFwiNzUlXCIsIHdpZHRoOiBcImF1dG9cIn19Lz5cbiAgICAgICAgICAgIDwvRG93bmxvYWRJbWFnZUJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICApO1xufVxuIiwgImV4cG9ydCBmdW5jdGlvbiBMb3JlbU1lZGl1bSgpe1xuICAgIHJldHVybihcbiAgICAgICAgPHAgY2xhc3NOYW1lPVwibG9yZW1cIj5cbiAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZXRldHVyIHNhZGlwc2NpbmcgZWxpdHIsIHNlZCBkaWFtIG5vbnVteSBlaXJtb2QgdGVtcG9yIGludmlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXV5YW0gZXJhdCwgc2VkIGRpYW0gdm9sdXB0dWEuIEF0IHZlcm8gZW9zIGV0IGFjY3VzYW0gZXQganVzdG8gZHVvIGRvbG9yZXMgZXQgZWEgcmVidW0uIFN0ZXQgY2xpdGEga2FzZCBndWJlcmdyZW4sIG5vIHNlYSB0YWtpbWF0YSBzYW5jdHVzIGVzdCBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldC4gTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3MgZXQgYWNjdXNhbSBldCBqdXN0byBkdW8gZG9sb3JlcyBldCBlYSByZWJ1bS4gU3RldCBjbGl0YSBrYXNkIGd1YmVyZ3Jlbiwgbm8gc2VhIHRha2ltYXRhIHNhbmN0dXMgZXN0IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LiBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyLCBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1eWFtIGVyYXQsIHNlZCBkaWFtIHZvbHVwdHVhLiBBdCB2ZXJvIGVvcyBldCBhY2N1c2FtIGV0IGp1c3RvIGR1byBkb2xvcmVzIGV0IGVhIHJlYnVtLiBTdGV0IGNsaXRhIGthc2QgZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQuICAgXG5cbkR1aXMgYXV0ZW0gdmVsIGV1bSBpcml1cmUgZG9sb3IgaW4gaGVuZHJlcml0IGluIHZ1bHB1dGF0ZSB2ZWxpdCBlc3NlIG1vbGVzdGllIGNvbnNlcXVhdCwgdmVsIGlsbHVtIGRvbG9yZSBldSBmZXVnaWF0IG51bGxhIGZhY2lsaXNpcyBhdCB2ZXJvIGVyb3MgZXQgYWNjdW1zYW4gZXQgaXVzdG8gb2RpbyBkaWduaXNzaW0gcXVpIGJsYW5kaXQgcHJhZXNlbnQgbHVwdGF0dW0genpyaWwgZGVsZW5pdCBhdWd1ZSBkdWlzIGRvbG9yZSB0ZSBmZXVnYWl0IG51bGxhIGZhY2lsaXNpLiBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dWVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRpYW0gbm9udW1teSBuaWJoIGV1aXNtb2QgdGluY2lkdW50IHV0IGxhb3JlZXQgZG9sb3JlIG1hZ25hIGFsaXF1YW0gZXJhdCB2b2x1dHBhdC4gICBcblxuVXQgd2lzaSBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaSB0YXRpb24gdWxsYW1jb3JwZXIgc3VzY2lwaXQgbG9ib3J0aXMgbmlzbCB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LiBEdWlzIGF1dGVtIHZlbCBldW0gaXJpdXJlIGRvbG9yIGluIGhlbmRyZXJpdCBpbiB2dWxwdXRhdGUgdmVsaXQgZXNzZSBtb2xlc3RpZSBjb25zZXF1YXQsIHZlbCBpbGx1bSBkb2xvcmUgZXUgZmV1Z2lhdCBudWxsYSBmYWNpbGlzaXMgYXQgdmVybyBlcm9zIGV0IGFjY3Vtc2FuIGV0IGl1c3RvIG9kaW8gZGlnbmlzc2ltIHF1aSBibGFuZGl0IHByYWVzZW50IGx1cHRhdHVtIHp6cmlsIGRlbGVuaXQgYXVndWUgZHVpcyBkb2xvcmUgdGUgZmV1Z2FpdCBudWxsYSBmYWNpbGlzaS4gICBcblxuTmFtIGxpYmVyIHRlbXBvciBjdW0gc29sdXRhIG5vYmlzIGVsZWlmZW5kIG9wdGlvbiBjb25ndWUgbmloaWwgaW1wZXJkaWV0IGRvbWluZyBpZCBxdW9kIG1hemltIHBsYWNlcmF0IGZhY2VyXG48L3A+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTG9yZW1TaG9ydCgpe1xuICAgIHJldHVybihcbiAgICAgICAgPHAgY2xhc3NOYW1lPVwibG9yZW1cIj5cbiAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNldGV0dXIgc2FkaXBzY2luZyBlbGl0ciwgc2VkIGRpYW0gbm9udW15IGVpcm1vZCB0ZW1wb3IgaW52aWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdXlhbSBlcmF0LCBzZWQgZGlhbSB2b2x1cHR1YS4gQXQgdmVybyBlb3MgZXQgYWNjdXNhbSBldCBqdXN0byBkdW8gZG9sb3JlcyBldCBlYSByZWJ1bS4gU3RldCBjbGl0YSBrYXNkIGd1YmVyZ3Jlbiwgbm8gc2VhIHRha2ltYXRhIHNhbmN0dXMgZXN0IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LiBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2V0ZXR1ciBzYWRpcHNjaW5nIGVsaXRyLCBzZWQgZGlhbSBub251bXkgZWlybW9kIHRlbXBvciBpbnZpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1eWFtIGVyYXQsIHNlZCBkaWFtIHZvbHVwdHVhLiBBdCB2ZXJvIGVvcyBldCBhY2N1c2FtIGV0IGp1c3RvIGR1byBkb2xvcmVzIGV0IGVhIHJlYnVtLiBTdGV0IGNsaXRhIGthc2QgZ3ViZXJncmVuLCBubyBzZWEgdGFraW1hdGEgc2FuY3R1cyBlc3QgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQuXG4gICAgICAgIDwvcD5cbiAgICApXG59IiwgImludGVyZmFjZSBGaWd1cmVQcm9wc3tcbiAgICBwaWMxOiBzdHJpbmcsIFxuICAgIHBpYzI6IHN0cmluZywgXG4gICAgcGljMz86IHN0cmluZywgXG4gICAgcGljND86IHN0cmluZywgXG4gICAgcGljNT86IHN0cmluZywgXG4gICAgcGljNj86IHN0cmluZywgXG4gICAgZGVzY3JpcHRpb246IFJlYWN0LlJlYWN0Tm9kZSB8IHN0cmluZywgXG4gICAgbnVtOiBzdHJpbmcgfG51bWJlcjsgXG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFRocmVlVmVydGljYWwoe2Rlc2NyaXB0aW9uLCBudW0sIHBpYzEsIHBpYzIsIHBpYzN9OkZpZ3VyZVByb3BzKXtcblxuICAgIHJldHVybihcbiAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxpbWcgc3JjPXtwaWMxfS8+XG4gICAgICAgICAgICA8aW1nIHNyYz17cGljMn0vPlxuICAgICAgICAgICAgPGltZyBzcmM9e3BpYzN9Lz5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSB7bnVtfS48L2I+IDxzcGFuPntkZXNjcmlwdGlvbn08L3NwYW4+PC9maWdjYXB0aW9uPlxuICAgICAgICA8L2ZpZ3VyZT5cbiAgICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUd29WZXJ0aWNhbCh7ZGVzY3JpcHRpb24sIG51bSwgcGljMSwgcGljMn06RmlndXJlUHJvcHMpe1xuXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgPGltZyBzcmM9e3BpYzF9Lz5cbiAgICAgICAgICAgIDxpbWcgc3JjPXtwaWMyfS8+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj48Yj5GaWd1cmUge251bX0uPC9iPiA8c3Bhbj57ZGVzY3JpcHRpb259PC9zcGFuPjwvZmlnY2FwdGlvbj5cbiAgICAgICAgPC9maWd1cmU+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gVHdvSG9yaXpvbnRhbCh7ZGVzY3JpcHRpb24sIG51bSwgcGljMSwgcGljMn06RmlndXJlUHJvcHMpe1xuXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e3BpYzF9Lz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17cGljMn0vPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj48Yj5GaWd1cmUge251bX0uPC9iPiA8c3Bhbj57ZGVzY3JpcHRpb259PC9zcGFuPjwvZmlnY2FwdGlvbj5cbiAgICAgICAgPC9maWd1cmU+XG4gICAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gVGhyZWVIb3Jpem9udGFsKHtkZXNjcmlwdGlvbiwgbnVtLCBwaWMxLCBwaWMyLCBwaWMzfTpGaWd1cmVQcm9wcyl7XG5cbiAgICByZXR1cm4oXG4gICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz17cGljMX0vPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPXtwaWMyfS8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e3BpYzN9Lz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHtudW19LjwvYj4gPHNwYW4+e2Rlc2NyaXB0aW9ufTwvc3Bhbj48L2ZpZ2NhcHRpb24+XG4gICAgICAgIDwvZmlndXJlPlxuICAgIClcbn1cblxuIiwgIlxuaW1wb3J0IHsgIEg0IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IExvcmVtTWVkaXVtIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvTG9yZW1pcHN1bVwiO1xuaW1wb3J0IHsgU2VjdGlvbiwgU3ViZXNjdGlvbiB9IGZyb20gXCIuLi9jb21wb25lbnRzL3NlY3Rpb25zXCI7XG5pbXBvcnQgeyB1c2VUYWJOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzL1RhYk5hdmlnYXRpb25cIjtcbmltcG9ydCB7IEg1IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IERvd25sb2FkTGluayB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IFRocmVlVmVydGljYWwsIFR3b0hvcml6b250YWwsIFR3b1ZlcnRpY2FsIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvRmlndXJlc1wiO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBSZXN1bHRzKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24gKCk7XG4gIGNvbnN0IHtnb1RvUGFnZUFuZFNjcm9sbH0gPSB1c2VOYXZpZ2F0aW9uKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPFNlY3Rpb24gdGl0bGU9XCJBYnN0cmFjdFwiIGlkPVwiQWJzdHJhY3RcIj5cbiAgICAgICAgIDxMb3JlbU1lZGl1bS8+XG4gICAgICA8L1NlY3Rpb24+XG4gICAgICA8U2VjdGlvbiB0aXRsZT1cIkV4cGVyaW1lbnRhbCBEZXNpZ25cIiBpZD1cIkV4cERlc1wiPlxuICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJQcm9vZiBvZiBDb25jZXB0XCIgaWQ9XCJSZXN1bHRzMVwiPlxuICAgICAgPGg0PmFjYy4gdG8gRGF2aWQgTGl1IChBbnphbG9uZSBldCBhbC4gMjAxOSk8L2g0PlxuICAgICAgICAgIDxINCB0ZXh0PVwiUHJvb2Ytb2YtY29uY2VwdFwiLz5cbiAgICAgICAgICA8SDUgdGV4dD1cIldvcmtmbG93XCIvPlxuICAgICAgICAgIDxwPlRoZSBwcmVwYXJlZCBwREFTMTIxMjQtcHJlZWRpdGVkIHBsYXNtaWQgc2VydmVzIGFzIGEgcG9zaXRpdmUgY29udHJvbCB0byB2YWxpZGF0ZSB0aGUgc3VjY2VzcyBvZiB0aGUgZXhwZXJpbWVudC4gQSB0ZWNobmljYWwgY29udHJvbCB3aXRoIHRoZSBwWk1COTM4IHBsYXNtaWQgY29uZmlybXMgc3VjY2Vzc2Z1bCB0cmFuc2ZlY3Rpb24gb2YgdGhlIGNlbGxzLiBJbiB0aGUgbWFpbiBwYXJ0IG9mIHRoZSBleHBlcmltZW50LCBwREFTMTI0ODktMmluMSBhbmQgcENNVi1QRTIgYXJlIGNvLXRyYW5zZmVjdGVkLiBTdWNjZXNzZnVsIHRyYW5zZmVjdGlvbiBpcyB2aXN1YWxpc2VkIGJ5IEdGUCBzaWduYWxzLjwvcD4gXG4gICAgICAgICAgPEg1IHRleHQ9XCJDb25jbHVzaW9uXCIvPlxuICAgICAgICAgIDxwPlRoZSBtaWNyb3Njb3B5IGRhdGEgdmFsaWRhdGVzIG91ciBwcm9vZiBvZiBjb25jZXB0LiBDb21wYXJlZCB0byBvdXIgaW50ZXJuYWwgcG9zaXRpdmUgY29udHJvbCwgcERBUzEyMTI0LXByZWVkaXRlZCAoc2VlIEZpZ3VyZSAxKSwgbGVzcyBjZWxscyBjby10cmFuc2ZlY3RlZCB3aXRoIHBEQVMxMjQ4OSBhbmQgcENNVi1QRTIgKHNlZSBGaWd1cmUgMSkgc2hvd2VkIGZsdW9yZXNjZW5jZS4gQ29udHJhcnkgdG8gb3VyIGV4cGVjdGF0aW9ucywgdGhlIHRlY2huaWNhbCB0cmFuc2ZlY3Rpb24gY29udHJvbCB3aXRoIHBaTUI5Mzggc2hvd2VkIGxvd2VyIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LiBBbGwgbmVnYXRpdmUgY29udHJvbHMgc2hvd2VkIG5vIGZsdW9yZXNjZW5jZS48L3A+XG4gICAgICAgICAgPFRocmVlVmVydGljYWxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uPVwiTWljcm9zY29weSBvZiBIRUsyOTMgNzJoIHBvc3QgdHJhbnNmZWN0aW9uIHdpdGggbGlwb2ZlY3RhbWluZSAyMDAwLiBUcmFuc2ZlY3Rpb24gd2l0aCB0ZWNobmljYWwgcG9zaXRpdmUgY29udHJvbCBwWk1COTM4LCBpbnRlcm5hbCBwb3NpdGl2ZSBjb250cm9sIHBEQVMxMjEyNC1wcmVlZGl0ZWQsIGNvLXRyYW5zZmVjdGlvbiBvZiBwREFTMTI0ODkgd2l0aCBwQ01WLVBFMiwgTlRDLCBQRTIgYXMgY29udHJvbCBhbmQgcERBUzEyNDg5IGFzIGNvbnRyb2wuIEFsbCBjb250cm9scyBhcmUgbmVnYXRpdmUgYW5kIGJvdGggcG9zaXR2ZSBjb250cm9scyBhcyB3ZWxsIGFzIHBEQVMxMjQ4OStwQ01WLVBFMiBzaG93IGZsdW9yZXNjZW5jZSBzaWduYWxzLlwiXG4gICAgICAgICAgICBudW09ezF9XG4gICAgICAgICAgICBwaWMxPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2ZhY3MtcmVzdWx0cy1tZWNoYW5pc20vYmlsZDEtMS5wbmdcIlxuICAgICAgICAgICAgcGljMj1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mYWNzLXJlc3VsdHMtbWVjaGFuaXNtL2JpbGQxLTIucG5nXCJcbiAgICAgICAgICAgIHBpYzM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZmFjcy1yZXN1bHRzLW1lY2hhbmlzbS9iaWxkMS0zLnBuZ1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8SDQgdGV4dD1cIlRyYW5zZmVjdGlvbiBvcHRpbWl6YXRpb25cIi8+XG4gICAgICAgICAgPEg1IHRleHQ9XCJXb3JrZmxvd1wiLz5cbiAgICAgICAgICA8cD5UbyBvcHRpbWlzZSB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSwgZGlmZmVyZW50IGRpbHV0aW9ucyBhbmQgY29uY2VudHJhdGlvbnMgb2YgRE5BIHdlcmUgdXNlZCB0byBmaW5kIHRoZSBiZXN0IHRyYW5zZmVjdGlvbiBjb25kaXRpb25zLjwvcD4gXG4gICAgICAgICAgPEg1IHRleHQ9XCJDb25jbHVzaW9uXCIvPlxuICAgICAgICAgIDxwPkFsbCA0IGRpZmZlcmVudCB0cmFuc2ZlY3Rpb24gY29uZGl0aW9ucyB3ZXJlIGRvbmUgd2l0aCBwWk1COTM4IGFuZCBzaG93ZWQgZ29vZCByZXN1bHRzLCBidXQgYmVzdCByZXN1bHQgd2VyZSBkb25lIHdoZW4gbGlwb2ZlY3RhbWluZSAyMDAwIHdhcyBkaWx1dGVkIDE6MTAgYW5kIDEwMDAgbmcgRE5BIHdhcyB0cmFuc2ZlY3RlZC48L3A+IFxuICAgICAgICAgIDxUd29WZXJ0aWNhbFxuICAgICAgICAgICAgZGVzY3JpcHRpb249XCJNaWNyb3Njb3B5IG9mIEhFSzI5MyA3MmggcG9zdCB0cmFuc2ZlY3Rpb24gd2l0aCBsaXBvZmVjdGFtaW4gMjAwMC4gVHJhbnNmZWN0aW9uIHdpdGggMToxMCBvciAxOjI1IGRpbHV0ZWQgbGlwb2ZlY3RhbWluZSBhbmQgODAwIG5nIG9yIDEwMDAgbmcgb2Ygb3V0IHRlY2huaWNhbCBwb3NpdGl2ZSBjb250cm9sIHBaTUI5MzguXCJcbiAgICAgICAgICAgIG51bT17Mn1cbiAgICAgICAgICAgIHBpYzE9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZmFjcy1yZXN1bHRzLW1lY2hhbmlzbS9iaWxkMi0xLnBuZ1wiXG4gICAgICAgICAgICBwaWMyPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2ZhY3MtcmVzdWx0cy1tZWNoYW5pc20vYmlsZDItMi5wbmdcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEg1IHRleHQ9XCJXb3JrZmxvd1wiLz5cbiAgICAgICAgICA8cD5UcmFuc2ZlY3Rpb24gd2l0aCBMaXBvZmVjdGFtaW5lIDMwMDAgd2FzIHBlcmZvcm1lZCBiZWNhdXNlIG9mIHRoZSBwcm9iYWJseSBiZXR0ZXIgcGVyZm9ybWFuY2UgYW5kIHRyYW5zZmVjdGlvbiByYXRlLiBUaGUgcHJlcGFyZWQgcERBUzEyMTI0LXByZWVkaXRlZCBwbGFzbWlkIHNlcnZlcyBhcyBhIHBvc2l0aXZlIGNvbnRyb2wgdG8gdmFsaWRhdGUgdGhlIHN1Y2Nlc3Mgb2YgdGhlIGV4cGVyaW1lbnQuIEEgdGVjaG5pY2FsIGNvbnRyb2wgd2l0aCB0aGUgcFpNQjkzOCBwbGFzbWlkIGNvbmZpcm1lZCBzdWNjZXNzZnVsIHRyYW5zZmVjdGlvbiBvZiB0aGUgY2VsbHMgYXMgYmVmb3JlLiBJbiB0aGUgbWFpbiBwYXJ0IG9mIHRoZSBleHBlcmltZW50LCBwREFTMTI0ODktMmluMSBhbmQgcENNVi1QRTIgd2VyZSBjby10cmFuc2ZlY3RlZC4gU3VjY2Vzc2Z1bCB0cmFuc2ZlY3Rpb24gYW5kIHByaW1lIGVkaXRpbmcgd2FzIGRldGVjdGVkIGJ5IEdGUCBzaWduYWxzLjwvcD4gXG4gICAgICAgICAgPEg1IHRleHQ9XCJDb25jbHVzaW9uXCIvPlxuICAgICAgICAgIDxwPkludGVybmFsIGNvbnRyb2wgYW5kIHRlY2huaWNhbCBjb250cm9sIHNob3dlZCBoaWdoZXIgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgdGhlbiBpbiBwcmV2aW91cyBleHBlcmltZW50cywgdGhlcmVmb3JlIHRyYW5zZmVjdGlvbiB3aXRoIGxpcG9mZWN0YW1pbmUgMzAwMCBzZWVtcyB0byBiZSBtb3JlIGVmZmljaWVudCB0aGFuIHRyYW5zZmVjdGlvbiB3aXRoIGxpcG9mZWN0YW1pbmUgMjAwMC4gVGhlIGZsdW9yZXNjZW5jZSBvZiBwREFTMTIxODkrcENNVi1QRTIgd2FzIHN0aWxsIHF1aXRlIGxvdy4gQWxsIG5lZ2F0aXZlICBjb250cm9scyBhcmUgc2hvd2VkIG5vIGZsdW9yZXNjZW5jZS48L3A+XG4gICAgICAgICAgPFRocmVlVmVydGljYWxcbiAgICAgICAgICBkZXNjcmlwdGlvbj1cIk1pY3Jvc2NvcHkgb2YgSEVLMjkzIDcyaCBwb3N0IHRyYW5zZmVjdGlvbiB3aXRoIGxpcG9mZWN0YW1pbmUgMjAwMC4gVHJhbnNmZWN0aW9uIHdpdGggdGVjaG5pY2FsIHBvc2l0aXZlIGNvbnRyb2wgcFpNQjkzOCwgaW50ZXJuYWwgcG9zaXRpdmUgY29udHJvbCBwREFTMTIxMjQtcHJlZWRpdGVkLCBjby10cmFuc2ZlY3Rpb24gb2YgcERBUzEyNDg5IHdpdGggcENNVi1QRTIsIE5UQywgUEUyIGFzIGNvbnRyb2wgYW5kIHBEQVMxMjQ4OSBhcyBjb250cm9sLiBBbGwgY29udHJvbHMgYXJlIG5lZ2F0aXZlIGFuZCBib3RoIHBvc2l0dmUgY29udHJvbHMgYXMgd2VsbCBhcyBwREFTMTI0ODkrcENNVi1QRTIgc2hvdyBmbHVvcmVzY2VuY2Ugc2lnbmFscy5cIlxuICAgICAgICAgIG51bT17M31cbiAgICAgICAgICBwaWMxPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2ZhY3MtcmVzdWx0cy1tZWNoYW5pc20vYmlsZDMtMS5wbmdcIlxuICAgICAgICAgIHBpYzI9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZmFjcy1yZXN1bHRzLW1lY2hhbmlzbS9iaWxkMy0yLnBuZ1wiXG4gICAgICAgICAgcGljMz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mYWNzLXJlc3VsdHMtbWVjaGFuaXNtL2JpbGQzLTMucG5nXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxINSB0ZXh0PVwiV29ya2Zsb3dcIi8+XG4gICAgICAgICAgPHA+QWdhaW4gYSBwcmVsaW1pbmFyeSB0ZXN0IHdpdGggdGhlIHRlY2huaWNhbCBwb3NpdGl2ZSBjb250cm9sIHdhcyBjb25kdWN0ZWQgcG90ZW50aWFsbHkgb3B0aW1pemUgb3VyIHRyYW5zZmVjdGlvbiBwcm90b2NvbCBhbmQgdG8gdHJhaW4gdGhlIGhhbmRsaW5nLjwvcD4gXG4gICAgICAgICAgPEg1IHRleHQ9XCJDb25jbHVzaW9uXCIvPlxuICAgICAgICAgIDxwPlRoZSByZXN1bHRzIG9mIHRoZSB0ZXN0IHdlcmUgbm90IGFzIGdvb2QgYXMgZXhwZWN0ZWQuIE5lYXJseSBubyB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSB3YXMgdmlzaWJsZS4gVGhpcyBjb3VsZCBiZSBkdWUgdG8gdG9vIG9sZCBIRUsyOTMgY2VsbHM8L3A+IFxuICAgICAgICAgIDxUd29WZXJ0aWNhbFxuICAgICAgICAgICAgZGVzY3JpcHRpb249XCJNaWNyb3Njb3B5IG9mIEhFSzI5MyA3MmggcG9zdCB0cmFuc2ZlY3Rpb24gd2l0aCBsaXBvZmVjdGFpbmUgMzAwMC4gVHJhbnNmZWN0aW9uIG9mIDUwMCBuZyBvciAxMDAwIG5nIG9mIG91ciB0ZWNobmljYWwgcG9zaXRpdmUgY29udHJvbCBwWk1COTM4IHdpdGggMSBcdTAwQjVsIG9yIDEuNSBcdTAwQjVsIG9mIGxpcG9mZWN0YW1pbmUgMzAwMC5cIlxuICAgICAgICAgICAgbnVtPXs0fVxuICAgICAgICAgICAgcGljMT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mYWNzLXJlc3VsdHMtbWVjaGFuaXNtL2JpbGQ0LTEucG5nXCJcbiAgICAgICAgICAgIHBpYzI9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZmFjcy1yZXN1bHRzLW1lY2hhbmlzbS9iaWxkNC0yLnBuZ1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8SDUgdGV4dD1cIldvcmtmbG93XCIvPlxuICAgICAgICAgIDxwPkhFSyBjZWxscyB3ZXJlIHRoYXdlZCBhbmQgYW5vdGhlciBwcmVsaW1hcnkgdGVzdCB3YXMgY29uZHVjdGVkLiBJbiB0aGlzIHRlc3QgdHdvIGRpZmZlcmVudCB0cmFuc2ZlY3Rpb24gYWdlbnRzIHdlcmUgdXNlZCAoTGlwb2ZlY3RhbWluZSAzMDAwICYgQ2FDbDIpIHRvIGNoZWNrIHdoaWNoIG9uZSBpcyBiZXR0ZXIgc3VpdGVkIGZvciBvdXIgZXhwZXJpbWVudHMuIFRoZSBsaXRlcmF0dXJlIHVzZXMgbGlwb2ZlY3RhbWluZSAzMDAwIGJ1dCBDYUNsMiB0cmFuc2ZlY3Rpb24gaXMgbXVjaCBjaGVhcGVyLjwvcD4gXG4gICAgICAgICAgPEg1IHRleHQ9XCJDb25jbHVzaW9uXCIvPlxuICAgICAgICAgIDxwPkJvdGggdHJhbnNmZWN0aW9ucyBhcmUgd29ya2luZyBvdXQgd2VsbCBidXQgdGhlIGVmZmljaWVuY3kgb2YgdGhlIGxpcG9mZWN0YW1pbmUgdHJhbnNmZWN0aW9uIHdhcyBtdWNoIGhpZ2hlci48L3A+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWd1cmUtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mYWNzLXJlc3VsdHMtbWVjaGFuaXNtL2JpbGQ1LnBuZ1wiIHN0eWxlPXt7aGVpZ2h0OiBcIjEwJVwiLCB3aWR0aDogXCJhdXRvXCJ9fS8+XG4gICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiA8Yj5GaWd1cmUgNS48L2I+TWljcm9zY29weSBvZiBIRUsyOTMgNzJoIHBvc3QgdHJhbnNmZWN0aW9uIHdpdGggbGlwb2ZlY3RhbWluZSAzMDAwIHdpdGggMTAwMCBuZyBvciAxNTAwIG5nIHRlY2huaWNhbCBwb3NpdGl2ZSBjb250cm9sIHBaTUI5MzguIEJvdGggdHJhbnNmZWN0aW9ucyBzaG93IGZsdW9yZXNjZW5jZSBzaWduYWxzLjwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgPC9kaXY+ICAgICAgICAgIFxuICAgICAgICAgIDxUd29WZXJ0aWNhbFxuICAgICAgICAgICAgZGVzY3JpcHRpb249XCJNaWNyb3Njb3B5IG9mIEhFSzI5MyA3MmggcG9zdCB0cmFuc2ZlY3Rpb24gd2l0aCBDYUNsMiB3aXRoIDUwMCBuZywgMTAwMCBuZyBvciAxNTAwIG5nIHBaTUI5MzguIEFsbCB0cmFuc2ZlY3Rpb25zIHNob3cgZmx1b3Jlc2NlbmNlIHNpZ25hbHMuXCJcbiAgICAgICAgICAgIG51bT17Nn1cbiAgICAgICAgICAgIHBpYzE9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZmFjcy1yZXN1bHRzLW1lY2hhbmlzbS9iaWxkNi0xLnBuZ1wiXG4gICAgICAgICAgICBwaWMyPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2ZhY3MtcmVzdWx0cy1tZWNoYW5pc20vYmlsZDYtMi5wbmdcIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEg1IHRleHQ9XCJXb3JrZmxvd1wiLz5cbiAgICAgICAgICA8cD5PbmUgbGFzdCB0aW1lIHRoZSB0cmFuc2ZlY3Rpb24gb2YgcERBUzEyMTg5K3BDTVYtUEUyIHdhcyBjb25kdWN0ZWQuIEFsdGhvdWdoIG91ciBwcm9vZi1vZi1jb25jZXB0IGFscmVhZHkgc2hvd2VkIHN1Y2Nlc3NmdWwgZWRpdGluZyB0aGUgZmlyc3QgdGltZSwgd2UgcmVwZWF0ZWQgdGhlIGV4cGVyaW1lbnQgdG8gZ2V0IGJldHRlciB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeS48L3A+IFxuICAgICAgICAgIDxINSB0ZXh0PVwiQ29uY2x1c2lvblwiLz5cbiAgICAgICAgICA8cD5UaGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgd2FzIG11Y2ggYmV0dGVyLiBPdXIgcHJvb2Ytb2YtY29uY2VwdCB3YXMgd29ya2luZyBjb3JyZWN0bHkuIFRoZSByZXBvcnRlciBzeXN0ZW0gcERBUzEyMTg5IG9ubHkgbGVkIHRvIHByb2R1Y3Rpb24gb2YgYSBmbHVvcmVzY2VudCBzaWduYWwgd2hlbiBjbyB0cmFuc2ZlY3RlZCB3aXRoIGEgcHJpbWUgZWRpdGluZyBjb21wbGV4IGFzIHBDTVYtUEUyLjwvcD4gXG4gICAgICAgICAgPFR3b1ZlcnRpY2FsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbj1cIk1pY3Jvc2NvcHkgb2YgSEVLMjkzIDcyaCBwb3N0IHRyYW5zZmVjdGlvbiB3aXRoIGxpcG9mZWN0YW1pbmUgMjAwMC4gVHJhbnNmZWN0aW9uIHdpdGggdGVjaG5pY2FsIHBvc2l0aXZlIGNvbnRyb2wgcFpNQjkzOCwgaW50ZXJuYWwgcG9zaXRpdmUgY29udHJvbCBwREFTMTIxMjQtcHJlZWRpdGVkLCBjby10cmFuc2ZlY3Rpb24gb2YgcERBUzEyNDg5IHdpdGggcENNVi1QRTIsIE5UQywgUEUyIGFzIGNvbnRyb2wgYW5kIHBEQVMxMjQ4OSBhcyBjb250cm9sLiBBbGwgY29udHJvbHMgYXJlIG5lZ2F0aXZlIGFuZCBib3RoIHBvc2l0dmUgY29udHJvbHMgYXMgd2VsbCBhcyBwREFTMTI0ODkrcENNVi1QRTIgc2hvdyBmbHVvcmVzY2VuY2Ugc2lnbmFscy5cIlxuICAgICAgICAgICAgbnVtPXs3fVxuICAgICAgICAgICAgcGljMT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mYWNzLXJlc3VsdHMtbWVjaGFuaXNtL2JpbGQ3LTEucG5nXCJcbiAgICAgICAgICAgIHBpYzI9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZmFjcy1yZXN1bHRzLW1lY2hhbmlzbS9iaWxkNy0yLnBuZ1wiXG4gICAgICAgICAgLz5cbiAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiTWVjaGFuaXNtXCIgaWQ9XCJSZXN1bHRzMlwiPlxuICAgICAgICAgIDxINCB0ZXh0PVwiSW5pdGlhbCB0ZXN0aW5nIG9mIHBlZ1JOQXMgYW5kIEV2YWx1YXRpb24gb2Ygc2lsZW50IGVkaXRzXCIvPlxuICAgICAgICAgIDxINSB0ZXh0PVwiV29ya2Zsb3dcIi8+XG4gICAgICAgICAgPHA+V2l0aCB0aGlzIGV4cGVyaW1lbnQgd2Ugd2FudGVkIHRvIGNvbXBhcmUgdGhlIGVmZmljaWVuY3kgb2YgcGVnUk5BcyB3aXRoIGFuZCB3aXRob3V0IHNpbGVudCBlZGl0cy48L3A+IFxuICAgICAgICAgIDxINSB0ZXh0PVwiQ29uY2x1c2lvblwiLz5cbiAgICAgICAgICA8cD5UaGUgRkFDUyBhbmFseXNpcyBzaG93cyB0aGF0IHBlZ1JOQSB3aXRob3V0IHNpbGVudCBlZGl0cyAocGVnUk5BMSkgaGFkIGEgMi4wNSB0aW1lcyBoaWdoZXIgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgdGhhbiBwZWdSTkEgd2l0aCBzaWxlbnQgZWRpdHMgKHBlZ1JOQTIpLjwvcD4gICAgICAgICBcbiAgICAgICAgICA8VHdvSG9yaXpvbnRhbCBcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uPVwiRkFDUyBhbmFseXNpcyBvZiBwZWdSTkFzIHdpdGggYW5kIHdpdGhvdXQgc2lsZW50IGVkaXRzLlwiXG4gICAgICAgICAgICBudW09ezh9XG4gICAgICAgICAgICBwaWMxPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2ZhY3MtcmVzdWx0cy1tZWNoYW5pc20vc2Utbm9zZS5wbmdcIlxuICAgICAgICAgICAgcGljMj1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mYWNzLXJlc3VsdHMtbWVjaGFuaXNtL2JpbGQ4LnBuZ1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8SDQgdGV4dD1cIlNjcmVlbmluZyBvZiBwZWdSTkEgdmFyaWFuY2VzXCIvPlxuICAgICAgICAgIDxINSB0ZXh0PVwiV29ya2Zsb3dcIi8+XG4gICAgICAgICAgPHA+Q290cmFuc2ZlY3Rpb24gb2YgcFBFQVJfQ0ZUUiBhbmQgUEUyIGFuZCBhbHNvIDEgb2YgdGhlIDE0IHBlZ1JOQXMgdG8gY29tcGFyZSB0aGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgb2YgYWxsIG9mIG91ciBkZXNpZ25lZCBwZWdSTkFzLjwvcD4gXG4gICAgICAgICAgPEg1IHRleHQ9XCJDb25jbHVzaW9uXCIvPlxuICAgICAgICAgIDxwPlRoZSBwZWdSTkFzIGxlYWQgdG8gZGlmZmVyaW5nIGFtb3VudHMgb2YgY2VsbHMgc2hvd2luZyBmbHVvcmVzY2VuY2UsIHdoaWNoLCBhc3N1bWluZyBjb21wYXJhYmxlIHRyYW5zZmVjdGlvbiBlZmZpY2llbmNpZXMsIGluZGljYXRlcyB2YXJ5aW5nIHByaW1lIGVkaXRpbmcgZWZmaWNpZW5jeS4gVGhlIHBlZ1JOQTcgc2hvd2VkIHRoZSBoaWdoZXN0IHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5IChzZWUgRmlndXJlIDkpLjwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZ3VyZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2ZhY3MtcmVzdWx0cy1tZWNoYW5pc20vYmlsZDkucG5nXCIgc3R5bGU9e3toZWlnaHQ6IFwiMTAlXCIsIHdpZHRoOiBcImF1dG9cIn19Lz5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IDxiPkZpZ3VyZSA5LjwvYj5GQUNTIHJlc3VsdHMgb2YgYWxsIHNjcmVlbmVkIHBlZ1JOQXM8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxINCB0ZXh0PVwiQXBwbGljYXRpb24gbHVuZyBlcGl0aGVsaWFsIGNlbGwgbGluZXNcIi8+XG4gICAgICAgICAgPEg1IHRleHQ9XCJXb3JrZmxvd1wiLz5cbiAgICAgICAgICA8cD5XZSB0cmllZCB0byB0cmFuc2ZlY3QgQ0ZCRTQxby0gY2VsbHMgd2l0aCBwREFTMTIxMjQtcHJlZWRpdGVkLCBvdXIgaW50ZXJuYWwgcG9zaXRpdmUgY29udHJvbCwgdG8gY2hlY2sgaWYgYSB0cmFuc2ZlY3Rpb24gb2YgdGhpcyBjZWxsIGxpbmUgaXMgcG9zc2libGUuIEZ1cnRoZXJtb3JlIHdlIHRyaWVkIHRvIGNvIHRyYW5zZmVjdCB0aGUgQ0ZCRTQxby0gd2l0aCBwUEVBUl9DRlRSLCBQRTZjIGFuZCBwZWdSTkE0LjwvcD4gXG4gICAgICAgICAgPEg1IHRleHQ9XCJDb25jbHVzaW9uXCIvPlxuICAgICAgICAgIDxwPlRyYW5zZmVjdGlvbiBvZiBDRkJFNDFvLSB3aXRoIHBEQVMxMjEyNC1wcmVlZGl0ZWQgd2FzIHN1Y2Nlc3NmdWwgKHNlZSBGaWd1cmUgMTApLiBBZnRlciAyNCBob3VycyBhIHN1Y2Nlc3NmdWwgY28gdHJhbnNmZWN0aW9uIG9mIHBQRUFSX0NGVFIgd2l0aCBQRTZjIGFuZCBwZWdSTkE0IHdhcyB2aXNpYmxlLCBhbHRob3VnaCB0aGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgd2FzIHJlYWxseSBiYWQgKHNlZSBGaWd1cmUgMTApLjwvcD5cbiAgICAgICAgICA8VHdvVmVydGljYWxcbiAgICAgICAgICAgZGVzY3JpcHRpb249XCJNaWNyb3Njb3B5IHJlc3VsdHMgYWZ0ZXIgMjRoIG9yIDQ4aC4gVHJhbnNmZWN0aW9uIG9mIHBEQVMxMjEyNC1wcmVlZGl0ZWQgd2l0aCBsaXBvZmVjdGFtaW5lIDMwMDAgd2FzIHN1Y2Nlc3NmdWxseSBkb25lIGluIENGQkU0MW8tIGNlbGwgbGluZSBhbmQgdmlzaWJsZSBhZnRlciA0OGguIENGQkU0MW8tIGNlbGwgbGluZSB3YXMgdHJhbnNmZWN0ZWQgd2l0aCBwREFTLUlEVCB3aXRoIExpcG9mZWN0YW1pbmUgMzAwMCBhbmQgYWZ0ZXJ3YXJkcyB3aXRoIExOUHMgaW5jbHVkaW5nIFBFNmMgYW5kIHBlZ1JOQTQgYW5kIHdhcyBhZnRlciAyNGggZmx1b3Jlc2NlbmNlIHZpc2libGUuXCJcbiAgICAgICAgICAgbnVtPXsxMH1cbiAgICAgICAgICAgcGljMT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mYWNzLXJlc3VsdHMtbWVjaGFuaXNtL2JpbGQxMC0xLnBuZ1wiXG4gICAgICAgICAgIHBpYzI9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZmFjcy1yZXN1bHRzLW1lY2hhbmlzbS9iaWxkMTAtMi5wbmdcIlxuICAgICAgICAgICAvPlxuICAgICAgICAgIDxINCB0ZXh0PVwiQ29tcGFyaXNvbiBvZiBwcmltZSBlZGl0aW5nIGNvbXBsZXhlcyBQRTIgYW5kIFBFX0NPLU1pbmlcIi8+XG4gICAgICAgICAgPEg1IHRleHQ9XCJXb3JrZmxvd1wiLz5cbiAgICAgICAgICA8cD5wQ01WLVBFMiB3YXMgY28gdHJhbnNmZWN0ZWQgd2l0aCBwREFTMTI0ODkgYW5kIHBDTVYtUEVfQ08tTWluaSB3YXMgY28gdHJhbnNmZWN0ZWQgd2l0aCBwREFTMTI0ODkgaW4gSEVLMjkzIGNlbGwgbGluZS48L3A+IFxuICAgICAgICAgIDxINSB0ZXh0PVwiQ29uY2x1c2lvblwiLz5cbiAgICAgICAgICA8cD5UaGUgRkFDUyByZXN1bHRzIHNob3cgdGhhdCB0cmFuc2ZlY3Rpb24gd2l0aCBwQ01WLVBFMiBhcyB0aGUgcHJpbWUgZWRpdGluZyBjb21wbGV4IGhhZCBlZGl0aW5nIGVmZmljaWVuY3kgb2YgNTIuOTAlIHdoZW4gbm9ybWFsaXplZCBvbiBwREFTMTIxMjQtcHJlZWRpdGVkLiBXaGVuIHBDTVYtUEVfQ08tTWluaSB3YXMgdXNlZCBhcyBhIHByaW1lIGVkaXRpbmcgY29tcGxleCBpdCBoYWQgYSB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSBvZiAyLjU0JSAoc2VlIEZpZ3VyZSAxMSwgMTIpLjwvcD5cbiAgICAgICAgICA8VHdvVmVydGljYWxcbiAgICAgICAgICAgZGVzY3JpcHRpb249XCJNaWNyb3Njb3B5IG9mIEhFSyA3MmggcG9zdCB0cmFuc2ZlY3Rpb24gd2l0aCBsaXBvZmVjdGFtaW5lIDMwMDAuIENvLXRyYW5zZmVjdGlvbiBvZiBwREFTMTI0ODkgd2l0aCBwQ01WLVBFMiBvciBwREFTMTI0ODkgd2l0aCBMVi1QRV9DTy1NaW5pLiBCb3RoIHNob3cgZmx1b3Jlc2NlbmNlIHNpZ25hbHMuXCJcbiAgICAgICAgICAgbnVtPXsxMX1cbiAgICAgICAgICAgcGljMT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mYWNzLXJlc3VsdHMtbWVjaGFuaXNtL2JpbGQxMS0xLnBuZ1wiXG4gICAgICAgICAgIHBpYzI9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZmFjcy1yZXN1bHRzLW1lY2hhbmlzbS9iaWxkMTEtMi5wbmdcIlxuICAgICAgICAgICAvPlxuICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZ3VyZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2ZhY3MtcmVzdWx0cy1tZWNoYW5pc20vcGUyLXBlLWNvLnBuZ1wiIHN0eWxlPXt7aGVpZ2h0OiBcIjEwJVwiLCB3aWR0aDogXCJhdXRvXCJ9fS8+XG4gICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiA8Yj5GaWd1cmUgMTI8L2I+RkFDUyBhbmFseXNpcyB0byBjb21wYXJlIHByaW1lIGVkaXRpbmcgY29tcGxleGVzIFBFMiBhbmQgUEVfQ08tTWluaTwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPEg1IHRleHQ9XCJXb3JrZmxvd1wiLz5cbiAgICAgICAgICA8cD5XZSBjb21wYXJlZCB0aGUgMyBkaWZmZXJlbnQgUHJpbWUgRWRpdGluZyBjb21wbGV4ZXMgKHBDTVYtUEUyLCBwQ01WLVBFMl9DTy1NaW5pICYgcENNVi1QRTZjKSB0byBjaGVjayB3aGljaCBvbmUgaGFzIHRoZSBiZXN0IHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LjwvcD4gXG4gICAgICAgICAgPEg1IHRleHQ9XCJDb25jbHVzaW9uXCIvPlxuICAgICAgICAgIDxwPlRoZSBGQUNTIG1lYXN1cmVtZW50IHNob3dzIHRoZSBmbHVvcmVzY2VuY2UgcmF0ZSBjZWxscyBjby10cmFuc2ZlY3RlZCB3aXRoIHBEQVMxMjQ4OSBhbmQgcENNVi1QRTZjIGFzIGEgcHJpbWUgZWRpdGluZyBjb21wbGV4LiBUaGUgZWRpdGluZyBlZmZpY2llbmN5IG9mZiBQRTZjIHdhcyBieSBmYXIgdGhlIGhpZ2hlc3QgKDgxLjg4JSkgKHNlZSBGaWd1cmUgMTMsIDE0KS4gVGhlIGVmZmljaWVuY3kgd2FzIDEuNTUgaGlnaGVyIHRoYW4gdGhlIGVmZmljaWVuY3kgd2hlbiBwQ01WLVBFMiB3YXMgdXNlZCBhcyBwcmltZSBlZGl0aW5nIGNvbXBsZXggKHNlZSBGaWd1cmUgMTMpLjwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZ3VyZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2ZhY3MtcmVzdWx0cy1tZWNoYW5pc20vYmlsZDEzLnBuZ1wiIHN0eWxlPXt7aGVpZ2h0OiBcIjEwJVwiLCB3aWR0aDogXCJhdXRvXCJ9fS8+XG4gICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiA8Yj5GaWd1cmUgMTM8L2I+TWljcm9zY29weSBvZiBIRUsyOTMgNzJoIHBvc3QgdHJhbnNmZWN0aW9uIHdpdGggbGlwb2ZlY3RhbWluZSAzMDAwIGFuZCBjbyB0cmFuc2ZlY3Rpb24gd2l0aCBwQ01WLVBFNmMgYW5kIHBEQVMxMjQ4OS48L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxUd29Ib3Jpem9udGFsXG4gICAgICAgICAgZGVzY3JpcHRpb249XCJGQUNTIHJlc3VsdHMgZm9yIGV2YWx1YXRpb24gb2YgUEU2YyBwZXJmb3JtYW5jZS5cIlxuICAgICAgICAgIG51bT17MTR9XG4gICAgICAgICAgcGljMT1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mYWNzLXJlc3VsdHMtbWVjaGFuaXNtL3BlMi1wZS1jby1wZTZjLnBuZ1wiXG4gICAgICAgICAgcGljMj1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mYWNzLXJlc3VsdHMtbWVjaGFuaXNtL2JpbGQxMi5wbmdcIlxuICAgICAgICAgIC8+IFxuICAgICAgPC9TdWJlc2N0aW9uID5cbiAgICAgIDxTdWJlc2N0aW9uICB0aXRsZT1cIkRlbGl2ZXJ5XCIgaWQ9XCJSZXN1bHRzM1wiPlxuICAgICAgPEg0IHRleHQ9XCJSTkEgU3ludGhlc2lzXCIvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvcmVzdWx0cy9ybmEtZ2VsLWZpbmFsLnBuZ1wiLz5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICA8Yj5GaWd1cmUgMS4gPC9iPlxuICAgICAgICAgICAgICBHZWwgb2YgRGVuYXR1cmluZyBSTkEgR2VsIEVsZWN0cm9waG9yZXNpcyBmb3IgbVJOQSBzeW50aGVzaXplZCBmcm9tIHBjRE5BIDMuMSBlWUZQIGluZGljYXRpbmcgc3VjY2Vzc2Z1bCBSTkEgc3ludGhlc2lzLiBMYW5lIDE6IExvdyBSYW5nZSBSaWJvIFJ1bGVyLCBMYW5lIDI6IEZMdWMgQ29udHJvbCBUZW1wbGF0ZSwgTGFuZSAzOiBOZWdhdGl2ZSBDb250cm9sLCBMYW5lIDQtOSBtUk5BIGZyb20gcGNETkEgMy4xIGVZRlAuXG4gICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxwPldlIGJlZ2FuIGJ5IHN5bnRoZXNpemluZyBtUk5BIDxpPmluIHZpdHJvPC9pPiB1c2luZyBhIHBsYXNtaWQgd2l0aCBhIGVZRlAgcmVwb3J0ZXIgZnJvbSBBZGRnZW5lIChwY0ROQSAzLjEgZVlGUCkgYmVmb3JlIHByb2NlZWRpbmcgd2l0aCB0aGUgc3ludGhlc2lzIG9mIG91ciBhcHByb3hpbWF0ZWx5IDYwMDAgYnAgcHJpbWUgZWRpdGluZyBSTkEuIFRoaXMgd2FzIGRvbmUgdG8gdGVzdCB0aGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgYW5kIGNvbXBhdGliaWxpdHkgb2Ygb3VyIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpLiBUaGUgc3ludGhlc2lzIHdhcyBzdWNjZXNzZnVsLCB5aWVsZGluZyBhbiBhdmVyYWdlIG9mIDE0MDAgbmcvXHUwMEI1bCBvZiBwdXJpZmllZCBtUk5BIGZyb20gMSBcdTAwQjVnIG9mIHBsYXNtaWQgRE5BIGRldGVybWluZWQgYnkgTmFub2Ryb3AgbWVhc3VyZW1lbnQgKGRhdGEgbm90IHNob3duKS4gVGhlIHNpemUgYW5kIGludGVncml0eSBvZiB0aGUgc3ludGhlc2l6ZWQgUk5BIHdlcmUgY29uZmlybWVkIHVzaW5nIGEgZGVuYXR1cmluZyBSTkEgZ2VsLCB3aGVyZSB3ZSBleHBlY3RlZCB0byBzZWUgYSBwcm9kdWN0IG9mIDkwMCBudWNsZW90aWRlcy4gQXMgYW50aWNpcGF0ZWQsIGEgc3Ryb25nIGFuZCBwcm9taW5lbnQgYmFuZCBjb3JyZXNwb25kaW5nIHRvIHRoaXMgc2l6ZSB3YXMgb2JzZXJ2ZWQgKEZpZ3VyZSBYKS4gVGhpcyBtUk5BIHdhcyBzdWJzZXF1ZW50bHkgdXNlZCBpbiBmdXJ0aGVyIExOUCBmb3JtdWxhdGlvbnMgd2l0aCBSTkEuPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPEg0IHRleHQ9XCJDYXltYW4gTE5QXCIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPHA+TmV4dCwgd2UgZm9ybXVsYXRlZCB0aGUgTE5QcyB1c2luZyB0aGUgQ2F5bWFuIExpcGlkTGF1bmNoXHUyMTIyIExOUC0xMDIgRXhwbG9yYXRpb24gS2l0IGFmdGVyIHRoZSBtYW51ZmFjdHVyZXJzIHByb3RvY29sLiBUaGUgaW5pdGlhbCBhc3NlbWJseSBhdHRlbXB0IHdhcyB1bnN1Y2Nlc3NmdWwsIGFzIG5vIGNsb3VkeSwgYmx1aXNoIHNvbHV0aW9uIGZvcm1lZCBhZnRlciBtaXhpbmcgdGhlIGxpcGlkcy4gQWRkaXRpb25hbGx5LCB0cmFuc2ZlY3Rpb24gb2YgSEVLMjkzIGNlbGxzIHdpdGggTE5QcyBjb250YWluaW5nIG51Y2xlaWMgYWNpZHMgZGlkIG5vdCBwcm9kdWNlIGFueSBmbHVvcmVzY2VuY2UuIEFmdGVyIGNvbnN1bHRpbmcgd2l0aCBleHBlcnQgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigncmFkdWtpYycsICcvaHVtYW4tcHJhY3RpY2VzJyl9PkRyLiBNYXJjbyBSYWR1a2ljPC9hPiBhbmQgYWRqdXN0aW5nIG91ciBMTlAgZm9ybXVsYXRpb24gYW5kIHRyYW5zZmVjdGlvbiBwcm90b2NvbHMsIHNwZWNpZmljYWxseSBieSBwcmUtYWNpZGlmeWluZyB0aGUgT3B0aU1FTSBtZWRpdW0sIHdlIHdlcmUgYWJsZSB0byBzdWNjZXNzZnVsbHkgYXNzZW1ibGUgYW5kIHRyYW5zZmVjdCB0aGUgTE5Qcy4gV2UgYWxzbyBnb3QgZnJvbSBoaW0gTWluaWNpcmNsZSBETkEgZnJvbSA8YSBocmVmPVwiaHR0cHM6Ly93d3cucGxhc21pZGZhY3RvcnkuY29tL2N1c3RvbS1kbmEvbWluaWNpcmNsZS1kbmEvXCIgdGl0bGU9XCJQbGFzbWlkRmFjdG9yeVwiID5QbGFzbWlkRmFjdG9yeTwvYT4gYXMgYSBzbWFsbCBwbGFzbWlkIGNhcnJ5aW5nIGFuIGVZRlAgZ2VuZSBhbmQgZWFzeSB0byB0cmFuc2Zvcm0sIGJ5IHRoYXQgc2VydmluZyBhcyBhIHBvc2l0aXZlIGNvbnRyb2wgaW4gb3VyIGV4cGVyaW1lbnRzLiBVcG9uIHBpcGV0dGluZyB0aGUgY29tcG9uZW50cyB0b2dldGhlciwgdGhlIHNvbHV0aW9uIGltbWVkaWF0ZWx5IHR1cm5lZCBjbG91ZHkgYW5kIGJsdWlzaCwgaW5kaWNhdGluZyBzdWNjZXNzZnVsIExOUCBmb3JtYXRpb24gKEZpZ3VyZSBYKS48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9yZXN1bHRzL2NheW1hbmxucGJsdWUud2VicFwiLz5cbiAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgWC4gPC9iPlxuICAgICAgICAgICAgICAgICAgQ2F5bWFuIExOUCBGb3JtYXRpb24gaW5kaWNhdGVkIGJ5IGJsdWUgY29sb3IgYW5kIHR1cmJpZGl0eS4gTWluaSBETkEgPSBNaW5pY2lyY2xlIEROQSBmcm9tIFBsYXNtaWRGYWN0b3J5LlxuICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxINSB0ZXh0PVwiVHJhbnNmZWN0aW9uXCIvPlxuICAgICAgICAgICAgPHA+VG8gZXZhbHVhdGUgdGhlIGVmZmljaWVuY3kgb2YgdHJhbnNmZWN0aW9uLCB3ZSBwZXJmb3JtZWQgZmx1b3Jlc2NlbmNlIG1pY3Jvc2NvcHkgKExlaWNhIERNSTYwMDAgQiBhdCAyMHggbWFnbmlmaWNhdGlvbikgb24gSEVLMjkzIGNlbGxzIHRyYW5zZmVjdGVkIHdpdGggTE5QLWZvcm11bGF0ZWQgRE5BIGFuZCBtUk5BIG9mIHBjRE5BIDMuMSBlWUZQLCBNaW5pY2lyY2xlIEROQSBhcyB0ZWNobmljYWwgcG9zaXRpdmUgY29udHJvbCBhbmQgTE5QIHdpdGhvdXQgY2FyZ28uPC9wPlxuICAgICAgICAgICAgPHA+MjQgaCwgNDggaCBhbmQgNzIgaCBwb3N0LXRyYW5zZmVjdGlvbiwgd2Ugb2JzZXJ2ZWQgaW4gdGhlIGNvbmRpdGlvbnMgd2l0aCBMaXBvZmVjdGFtaW5lIGFsb25lLCBvciBjb21iaW5lZCB3aXRoIEROQSBvciBSTkEsIG5vIGZsdW9yZXNjZW5jZSwgaW5kaWNhdGluZyB1bnN1Y2Nlc3NmdWwgdHJhbnNmZWN0aW9uLiBTaW1pbGFybHksIG5vIGZsdW9yZXNjZW5jZSB3YXMgc2VlbiBpbiBjZWxscyB0cmVhdGVkIHdpdGggTE5QcyBhbG9uZSBvciBpbiBjb21iaW5hdGlvbiB3aXRoIEROQSBvciBSTkEuIFdoZW4gTE5QcyB3ZXJlIGNvbWJpbmVkIHdpdGggTWluaWNpcmNsZSBETkEsIGNsZWFyIGZsdW9yZXNjZW5jZSB3YXMgb2JzZXJ2ZWQsIGluZGljYXRpbmcgc3VjY2Vzc2Z1bCB0cmFuc2ZlY3Rpb24gYW5kIGV4cHJlc3Npb24gb2Ygb3VyIGVZRlAgcmVwb3J0ZXIgdW5kZXIgdGhpcyBjb25kaXRpb24gKGZpZ3VyZSBYKS4gSG93ZXZlciwgYSBzdHJvbmcgYmFja2dyb3VuZCBmbHVvcmVzY2VuY2UgZnJvbSB0aGUgT3B0aU1FTSBtZWRpdW0gd2FzIG9ic2VydmVkLCBjb21wbGljYXRpbmcgdGhlIGFuYWx5c2lzLjwvcD5cbiAgICAgICAgICAgIDxwPk92ZXJhbGwsIGFtb25nIGFsbCB0aGUgdGVzdGVkIGNvbmRpdGlvbnMsIHRoZSBMTlAgZm9ybXVsYXRpb24gd2l0aCBNaW5pY2lyY2xlIEROQSB3YXMgdGhlIG9ubHkgY29tYmluYXRpb24gdGhhdCByZXN1bHRlZCBpbiBub3RpY2VhYmxlIGZsdW9yZXNjZW5jZSwgc3VnZ2VzdGluZyBpdCB0byBiZSB0aGUgbW9zdCBlZmZlY3RpdmUgdHJhbnNmZWN0aW9uIG1ldGhvZCBmb3IgSEVLMjkzIGNlbGxzIGluIHRoaXMgZXhwZXJpbWVudC48L3A+XG4gICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICA8aW1nIHNyYz1cIkluc2VydCBVUkwgaGVyZVwiLz5cbiAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgPGI+RmlndXJlIFguIDwvYj5cbiAgICAgICAgICAgICAgICBGaWd1cmUgWCBGbHVvcmVzY2VuY2UgbWljcm9zY29waWMgaW1hZ2VzIG9mIHRyYW5zZmVjdGVkIEhFSzI5MyBjZWxscyBhdCAyMHggbWFnbmlmaWNhdGlvbiBhZnRlciA3MiBoIHBvc3QtdHJhbnNmZWN0aW9uIHdpdGggZGlmZmVyZW50IENheW1hbiBMTlAgZm9ybXVsYXRpb25zIHJlY29yZGVkIHdpdGggTGVpY2EgRE1JNjAwMCBCLlxuICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICA8SDUgdGV4dD1cIlNFTVwiLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxwPlNjYW5uaW5nIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFNFTSkgKFBoZW5vbSBQcm9YLCBUaGVybW8gRmlzaGVyKSB3YXMgZW1wbG95ZWQgYnkgdXMgdG8gZXhhbWluZSB0aGUgbW9ycGhvbG9neSBhbmQgc3VyZmFjZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgQ2F5bWFuIExOUHMuIFRoZSBTRU0gaW1hZ2VzIHJldmVhbGVkIHRoYXQgdGhlIExOUHMgZGlzcGxheWVkIGEgZ2VuZXJhbGx5IHNwaGVyaWNhbCBtb3JwaG9sb2d5IHdpdGggYSByZWxhdGl2ZWx5IHNtb290aCBzdXJmYWNlIChGaWd1cmUgWCkuIFRoZSBhdmVyYWdlIHBhcnRpY2xlIHNpemUgd2FzIGFwcHJveGltYXRlbHkgMjAwIG5tLiBIb3dldmVyLCBhIGhldGVyb2dlbmVvdXMgZGlzdHJpYnV0aW9uIG9mIHBhcnRpY2xlIHNpemVzIHdhcyBvYnNlcnZlZCwgd2l0aCBzb21lIGxhcmdlciwgcm91bmQgc3RydWN0dXJlcyBwcmVzZW50LiBUaGVzZSBsYXJnZXIgc3RydWN0dXJlcyBjb3VsZCBwb3RlbnRpYWxseSBpbmRpY2F0ZSBhZ2dyZWdhdGVkIExOUHMuPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvcmVzdWx0cy9zY3JlZW5zaG90LTIwMjQtMTAtMDEtMjAwNjI5LnBuZ1wiIGFsdD1cIkNheVJFTVwiIHN0eWxlPXt7bWF4SGVpZ2h0OiBcIjIwMHB0XCJ9fS8+IFxuICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIFguPC9iPlxuICAgICAgICAgICAgICAgICAgU0VNIGltYWdlIG9mIENheW1hbiBMTlBzICgxMCwwMDB4IG1hZ25pZmljYXRpb24pIHdpdGggVG9wb2dyYXBoeSBtb2RlLiAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHA+V2hpbGUgbWFueSBwYXJ0aWNsZXMgcmV0YWluZWQgdGhlaXIgc3RydWN0dXJhbCBpbnRlZ3JpdHksIHRoZSBwcmVzZW5jZSBvZiB0aGVzZSBhZ2dyZWdhdGVzIHN1Z2dlc3RzIHRoYXQsIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucywgdGhlIExOUHMgbWF5IHRlbmQgdG8gY2x1c3Rlci4gSXQgaXMgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCBmb3IgU0VNIGFuYWx5c2lzLCB0aGUgc2FtcGxlcyB3ZXJlIGRyaWVkIGFuZCBvYnNlcnZlZCB1bmRlciB2YWN1dW0sIHdoaWNoIHByb2JhYmx5IGhhdmUgYWZmZWN0ZWQgdGhlIHN0cnVjdHVyZSBhbmQgc2hhcGUgb2YgdGhlIExOUHMuIFRoaXMgcHJlcGFyYXRpb24gcHJvY2VzcyBjYW4gaW50cm9kdWNlIGFydGlmYWN0cyB0aGF0IHdvdWxkIG5vdCB0eXBpY2FsbHkgYmUgcHJlc2VudCBpbiBzb2x1dGlvbiBhbmQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgd2hlbiBpbnRlcnByZXRpbmcgdGhlIHJlc3VsdHMuIEFkZGl0aW9uYWxseSwgdGhlIGNvbnRyYXN0IHVuZGVyIHZhY3V1bSBjb25kaXRpb25zIHdhcyB0b28gbG93IHRvIHJlbGlhYmx5IGRpc3Rpbmd1aXNoIHRoZSBMTlBzIHdpdGggc3VmZmljaWVudCBkZXRhaWwuIEl0IHByb3ZpZGVkIGEgdXNlZnVsIGluaXRpYWwgZ2xpbXBzZSBpbnRvIHRoZSB3b3JsZCBvZiBuYW5vcGFydGljbGVzLiBGdXJ0aGVyIGNvbXBsZW1lbnRhcnkgdGVjaG5pcXVlcyB3aWxsIGJlIG5lZWRlZCBmb3IgYSBtb3JlIGFjY3VyYXRlIGFuZCBkZXRhaWxlZCBjaGFyYWN0ZXJpemF0aW9uLjwvcD5cbiAgICAgICAgICA8SDQgdGV4dD1cIkNvcmRlbiBMTlBcIi8+XG4gICAgICAgICAgPEg1IHRleHQ9XCJUcmFuc2ZlY3Rpb25cIi8+XG4gICAgICAgICAgPHA+Rmx1b3Jlc2NlbmNlIG1pY3Jvc2NvcHkgd2l0aCB0aGUgTGVpY2EgRE1JNjAwMCBCIG1pY3Jvc2NvcGUgYXQgMjB4IG1hZ25pZmljYXRpb24gd2FzICBieSB1cyBvbiBIRUsyOTMgY2VsbHMgdHJhbnNmZWN0ZWQgd2l0aCBMTlBzIGNvbnRhaW5pbmcgcGNETkEgMy4xIGVZRlAgRE5BIGFuZCBtUk5BLiBNaW5pY2lyY2xlIEROQSBzZXJ2ZWQgYXMgdGhlIHBvc2l0aXZlIGNvbnRyb2wsIHdoaWxlIExOUHMgd2l0aG91dCBjYXJnbyBhY3RlZCBhcyB0aGUgbmVnYXRpdmUgY29udHJvbC4gQ2VsbHMgd2VyZSBpbWFnZWQgYXQgMjQgaCwgNDggaCwgYW5kIDcyIGggcG9zdC10cmFuc2ZlY3Rpb24uPC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L3Jlc3VsdHMvd2hhdHNhcHAtaW1hZ2UtMjAyNC0wOS0yNC1hdC0xMi01Ny01OS5qcGVnXCIvPlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDxiPkZpZ3VyZSBYLiA8L2I+XG4gICAgICAgICAgICAgIFR1cmJpZGl0eSBhZnRlciBjb21wb25lbnRzIG9mIHRoZSBDb3JkZW4gTE5QIGhhdmUgYmVlbiBwaXBldHRlZCB0b2dldGhlciBpbmRpY2F0ZXMgcGFydGljbGUgZm9ybWF0aW9uLiAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxwPkR1cmluZyB0aGUgcHJlcGFyYXRpb24gb2YgdGhlIExOUHMsIHRoZSBzb2x1dGlvbiBiZWNhbWUgdHVyYmlkIGFuZCBibHVpc2gsIGluZGljYXRpbmcgc3VjY2Vzc2Z1bCBuYW5vcGFydGljbGUgZm9ybWF0aW9uIChGaWd1cmUgWCkuIFRoaXMgd2FzIGZ1cnRoZXIgY29uZmlybWVkIGJ5IGNyeW8tRU0gYW5hbHlzaXMsIHdoaWNoIHJldmVhbGVkIHRoZSBwcmVzZW5jZSBvZiB3ZWxsLWZvcm1lZCBMTlBzLiBEZXNwaXRlIHRoZSBzdWNjZXNzZnVsIGZvcm1hdGlvbiBvZiBMTlBzLCBubyBkZXRlY3RhYmxlIGZsdW9yZXNjZW5jZSB3YXMgb2JzZXJ2ZWQgaW4gdGhlIGNlbGxzIHRyZWF0ZWQgd2l0aCBMTlBzIGNvbnRhaW5pbmcgcGNETkEgMy4xIGVZRlAgRE5BIG9yIG1STkEgYXQgYW55IG9mIHRoZSBtZWFzdXJlZCB0aW1lIHBvaW50cywgaW5kaWNhdGluZyB0aGF0IHRyYW5zZmVjdGlvbiBkaWQgbm90IG9jY3VyIHVuZGVyIHRoZXNlIGNvbmRpdGlvbnMuPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cD5RdWFudGl0YXRpdmVseSwgbm9uZSBvZiB0aGUgTE5QLXRyZWF0ZWQgc2FtcGxlcyBzaG93ZWQgc2lnbmlmaWNhbnQgZmx1b3Jlc2NlbmNlLCBpbmRpY2F0aW5nIGEgZmFpbHVyZSBpbiB0cmFuc2ZlY3Rpb24uIFRoZSBsYWNrIG9mIGZsdW9yZXNjZW5jZSBpbiBhbGwgZXhwZXJpbWVudGFsIGdyb3VwcywgZXhjZXB0IHRoZSBwb3NpdGl2ZSBjb250cm9sLCBzdWdnZXN0cyBlaXRoZXIgaW5zdWZmaWNpZW50IHVwdGFrZSBvZiB0aGUgTE5QcyBieSB0aGUgY2VsbHMgb3IgYSBmYWlsdXJlIGluIGV4cHJlc3Npb24gb2YgdGhlIFlGUCByZXBvcnRlci4gPC9wPlxuICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICA8aW1nIHNyYz1cIkluc2VydCBVUkwgaGVyZVwiLz5cbiAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgPGI+RmlndXJlIFguIDwvYj5cbiAgICAgICAgICAgICAgICBGbHVvcmVzY2VuY2UgbWljcm9zY29waWMgaW1hZ2VzIG9mIHRyYW5zZmVjdGVkIEhFSzI5MyBjZWxscyBhdCAyMHggbWFnbmlmaWNhdGlvbiBhZnRlciA0OCBoIHBvc3QtdHJhbnNmZWN0aW9uIHdpdGggZGlmZmVyZW50IENvcmRlbiBMTlAgZm9ybXVsYXRpb25zIHJlY29yZGVkIHdpdGggTGVpY2EgRE1JNjAwMCBCLlxuICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgIDxINSB0ZXh0PVwiQ3J5by1FTVwiLz5cbiAgICAgICAgPHA+Q3J5by1FTSAoY3J5b2dlbmljIGVsZWN0cm9uIG1pY3Jvc2NvcHkpIGFzIGEgZm9ybSBvZiB0cmFuc21pc3Npb24gZWxlY3Ryb24gbWljcm9zY29weSAoVEVNKSB3YXMgcGVyZm9ybWVkIGJ5IHVzIHVzaW5nIGEgSkVPTCBKRU0tMjIwMEZTIGVsZWN0cm9uIG1pY3Jvc2NvcGUgKEpFT0wsIEZyZWlzaW5nLCBHZXJtYW55KSBvcGVyYXRpbmcgYXQgMjAwa1YsIGVxdWlwcGVkIHdpdGggYSBjb2xkIGZpZWxkIGVtaXNzaW9uIGVsZWN0cm9uIGd1bi4gVGhlIHNhbXBsZSBwcmVwYXJhdGlvbiBhbmQgaW1hZ2luZyB3ZXJlIGNhcnJpZWQgb3V0IGF0IGNyeW9nZW5pYyB0ZW1wZXJhdHVyZXMsIHdoaWNoIGFsbG93ZWQgZm9yIHRoZSB2aXN1YWxpemF0aW9uIG9mIExOUHMgaW4gdGhlaXIgbmF0aXZlIGh5ZHJhdGVkIHN0YXRlLjwvcD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvcmVzdWx0cy9jb3JkZW4tbG5wLmpwZ1wiLz5cbiAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgPGI+RmlndXJlIFguIDwvYj5cbiAgICAgICAgICAgICAgICBDcnlvLUVNIGltYWdlIG9mIENvcmRlbiBMTlBzLlxuICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPHA+VGhlIGltYWdlcyByZXZlYWwgdGhlIHByZXNlbmNlIG9mIHNwaGVyaWNhbCBMTlAgc3RydWN0dXJlcyB3aXRoIGFuIGFwcHJveGltYXRlIHNpemUgb2YgMTAwIG5tIChGaWd1cmUgWCkuIFRoZSBMTlBzIGFwcGVhciB3ZWxsLWZvcm1lZCwgd2l0aCB1bmlmb3JtIG1vcnBob2xvZ3ksIGluZGljYXRpbmcgc3VjY2Vzc2Z1bCBuYW5vcGFydGljbGUgZm9ybWF0aW9uLiBJbiBhZGRpdGlvbiB0byBpbmRpdmlkdWFsIHBhcnRpY2xlcywgc29tZSBsYXJnZXIsIHJvdW5kIHN0cnVjdHVyZXMgd2VyZSBhbHNvIG9ic2VydmVkLCB3aGljaCBjb3VsZCByZXByZXNlbnQgYWdncmVnYXRlZCBMTlBzLiBUaGVzZSBhZ2dyZWdhdGlvbnMgYXJlIGEgY29tbW9uIHBoZW5vbWVub24gaW4gTE5QIHN5c3RlbXMgYW5kIGNvdWxkIGJlIGF0dHJpYnV0ZWQgdG8gaW50ZXJhY3Rpb25zIGJldHdlZW4gcGFydGljbGVzIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9ucy48L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cD5XaGlsZSBDcnlvLUVNIHByb3ZpZGVzIHZhbHVhYmxlIGluc2lnaHRzIGludG8gdGhlIG1vcnBob2xvZ3kgYW5kIHNpemUgZGlzdHJpYnV0aW9uIG9mIHRoZSBMTlBzLCB0aGVyZSBhcmUgc29tZSBsaW1pdGF0aW9ucyB0byB0aGlzIHRlY2huaXF1ZS4gVGhlIGltYWdpbmcgcHJvY2VzcyBpbnZvbHZlcyBjcnlvZ2VuaWMgZnJlZXppbmcgYW5kIGV4cG9zdXJlIHRvIGhpZ2gtZW5lcmd5IGVsZWN0cm9uIGJlYW1zLCB3aGljaCBjYW4gcG90ZW50aWFsbHkgaW5kdWNlIG1pbm9yIHN0cnVjdHVyYWwgYXJ0aWZhY3RzLiBGdXJ0aGVybW9yZSwgdGhlIHRoaW5uZXNzIG9mIHRoZSBzYW1wbGUgbWF5IGxpbWl0IGNvbnRyYXN0LCBtYWtpbmcgaXQgZGlmZmljdWx0IHRvIGZ1bGx5IGRpc3Rpbmd1aXNoIGJldHdlZW4gZGlmZmVyZW50IExOUCBwb3B1bGF0aW9ucyBvciB0aGVpciBpbnRlcm5hbCBzdHJ1Y3R1cmVzLiBEZXNwaXRlIHRoZXNlIGxpbWl0YXRpb25zLCBDcnlvLUVNIHN0aWxsIG9mZmVycyBhIGhpZ2gtcmVzb2x1dGlvbiB2aWV3IG9mIHRoZSBMTlBzIGluIHRoZWlyIG5lYXItbmF0aXZlIHN0YXRlLCBwcm92aWRpbmcgZXNzZW50aWFsIGluZm9ybWF0aW9uIGFib3V0IHRoZWlyIHNpemUgYW5kIHNoYXBlLjwvcD5cbiAgICAgICAgPEg0IHRleHQ9XCJTb3J0IExOUFwiLz5cbiAgICAgICAgPEg1IHRleHQ9XCJUcmFuc2ZlY3Rpb25cIi8+XG4gICAgICAgICAgPHA+VGV4dCA6RDwvcD5cbiAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiSW5zZXJ0IFVSTCBoZXJlXCIvPlxuICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgWC4gPC9iPlxuICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uIGhlcmVcbiAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgIDxINSB0ZXh0PVwiRkFDU1wiLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8cD5XZSBwZXJmb3JtZWQgRkFDUyBhbmFseXNpcyA3MiBoIHBvc3QtdHJhbnNmZWN0aW9uIHRvIGV2YWx1YXRlIHRoZSB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSBvZiB0aGUgU09SVCBMTlAgaW4gSEVLMjkzLiBUaGUgcmVsYXRpdmUgcGVyY2VudGFnZSBvZiBmbHVvcmVzY2VudCBjZWxscyB3YXMgZGV0ZXJtaW5lZCBieSBtZWFzdXJpbmcgdGhlIHBlcmNlbnRhZ2Ugb2YgRklUQy1BKyBjZWxscywgZm9sbG93ZWQgYnkgbm9ybWFsaXphdGlvbiB0byB0aGUgbmVnYXRpdmUgY29udHJvbCBhbmQgZm9sZCBjaGFuZ2UgY2FsY3VsYXRpb24uPC9wPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9yZXN1bHRzL3NvcnRsbnAtZmFjcy5wbmdcIiBhbHQ9XCJTT1JURkFDU1wiIHN0eWxlPXt7bWF4SGVpZ2h0OiBcIjIwMHB0XCJ9fS8+IFxuICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgWC4gPC9iPlxuICAgICAgICAgICAgICAgICBQZXJjZW50YWdlIG9mIGZsdW9yZXNjZW50IGNlbGxzIChGSVRDLUErKSBwZXJmb3JtZWQgNzIgaCBwb3N0LXRyYW5zZmVjdGlvbiBvZiBTT1JUIExOUCBpbiBIRUsyOTMuIE1lYW4gKy8tIFNFTSBmb3Igbj0zLiBGb3Igc3RhdGlzdGljcyBvbmUtd2F5IEFOT1ZBIHdhcyBwZXJmb3JtZWQuIFxuICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxwPlRoZSBTT1JUIExOUC10cmFuc2ZlY3RlZCBzYW1wbGUgY2FycnlpbmcgTWluaWNpcmNsZSBETkEgZXhoaWJpdGVkIGEgc2lnbmlmaWNhbnQgaW5jcmVhc2UgaW4gZmx1b3Jlc2NlbmNlIGNvbXBhcmVkIHRvIHRoZSBsaXBvZmVjdGFtaW5lIHRyYW5zZmVjdGlvbiBvZiBNaW5pY2lyY2xlIEROQSwgd2l0aCBhcHByb3hpbWF0ZWx5IDE0IHRpbWVzIG1vcmUgZmx1b3Jlc2NlbnQgY2VsbHMgY29tcGFyZWQgdG8gdGhlIGxpcG9mZWN0YW1pbmUtdHJhbnNmZWN0ZWQgc2FtcGxlIChGaWd1cmUgYSkuIFRoaXMgc3Vic3RhbnRpYWwgZGlmZmVyZW5jZSBpbmRpY2F0ZXMgdGhhdCB0aGUgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgd2l0aCBMTlBzIGlzIG1hcmtlZGx5IGhpZ2hlciB0aGFuIHdpdGggbGlwb2ZlY3RhbWluZSwgZGVtb25zdHJhdGluZyB0aGUgc3VwZXJpb3IgcGVyZm9ybWFuY2Ugb2Ygb3VyIExOUCBmb3JtdWxhdGlvbiBpbiBkZWxpdmVyaW5nIG51Y2xlaWMgYWNpZHMgdG8gSEVLIGNlbGxzLjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxINSB0ZXh0PVwiWmV0YSBQb3RlbnRpYWxcIi8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8cD5XZSBtZWFzdXJlZCBib3RoIHRoZSBwYXJ0aWNsZSBzaXplIGRpc3RyaWJ1dGlvbiBhbmQgdGhlIFpldGEgcG90ZW50aWFsIHVzaW5nIHRoZSBOYW5vdHJhY2sgV2F2ZSBJSS4gV2UgY291bGQgYXNzdW1lIHRoYXQgdGhlIHBhcnRpY2xlcyBleGhpYml0IGEgcG9sYXJpemVkIFpldGEgcG90ZW50aWFsLCB3aGljaCBpcyBzdWZmaWNpZW50IHRvIHByb3ZpZGUgZWxlY3Ryb3N0YXRpYyBzdGFiaWxpemF0aW9uLCB0aGVyZWJ5IHByZXZlbnRpbmcgYWdncmVnYXRpb24gYW5kIG1haW50YWluaW5nIHBhcnRpY2xlIHN0YWJpbGl0eS4gRm9yIGVmZmVjdGl2ZSB0YXJnZXRpbmcgb2YgbHVuZyBjZWxscyB3aGljaCBoYXZlIG5lZ2F0aXZlbHkgY2hhcmdlZCBzdXJmYWNlcywgYSBuZWdhdGl2ZSBwb2xhcml0eSBpcyBkZXNpcmFibGUgbWVhbmluZyB0aGUgTE5QIGlzIHBvc2l0aXZlbHkgY2hhcmdlZCwgc28gdGhlcmUgY2FuIGJlIGVsZWN0cm9zdGF0aWMgYXR0cmFjdGlvbiB0byBsdW5nIGVwaXRoZWxpYWwgY2VsbHMuIFdlIHdlcmUgYWJsZSB0byBzaG93IHRoYXQgb3VyIFNPUlQgTE5QIGhhcyB0aGVzZSBwcm9wZXJ0aWVzIHJlZ2FyZGxlc3Mgb2YgdGhlIGxvYWQuIEZ1cnRoZXJtb3JlIHdlIGNvdWxkIDxhIGhyZWY9XCJodHRwczovL2NoZW0ubGlicmV0ZXh0cy5vcmcvQm9va3NoZWx2ZXMvQW5hbHl0aWNhbF9DaGVtaXN0cnkvUGh5c2ljYWxfTWV0aG9kc19pbl9DaGVtaXN0cnlfYW5kX05hbm9fU2NpZW5jZV8oQmFycm9uKS8wMiUzQV9QaHlzaWNhbF9hbmRfVGhlcm1hbF9BbmFseXNpcy8yLjA1JTNBX1pldGFfUG90ZW50aWFsX0FuYWx5c2lzXCIgdGl0bGU9XCJTdGFiWmV0YVwiID5kZXRlcm1pbmUgdGhlIHN0YWJpbGl0eSB2aWEgdGhlIFpldGEgcG90ZW50aWFsPC9hPi4gSW4gZGV0YWlsIHRoZSBtZWFuIG9mIHRoZSBaZXRhIHBvdGVudGlhbCBsYXlzIGF0IDE2LjIgbVYgZm9yIHRoZSBTT1JUIExOUCB3aXRoIE1pbmljaXJjbGUgRE5BIGFzIGNhcmdvLCBpbmRpY2F0aW5nIGluY2lwaWVudCBzdGFiaWxpdHksIGF0IDU5LjQ1IG1WIGZvciB0aGUgU09SVCBMTlAgd2l0aCBwY0ROQSAzLjEgZVlGUCBhcyBjYXJnbywgaW5kaWNhdGluZyBnb29kIHN0YWJpbGl0eSBhbmQgYXQgODguMjIgbVYgZm9yIHRoZSBTT1JUIExOUCB3aXRob3V0IGNhcmdvIGluZGljYXRpbmcgZXhjZWxsZW50IHN0YWJpbGl0eSAoRmlndXJlIHopLiBUaGUgZ29vZCBzdGFiaWxpdHkgb2YgdGhlIFNPUlQgTE5QIHdpdGggcGNETkEgMy4xIGVZRlAgaXMgY3J1Y2lhbCBmb3Igb3VyIHB1cnBvc2VzLCBhcyBpdCBlbnN1cmVzIGVmZmVjdGl2ZSBkZWxpdmVyeSBhbmQgcGVyZm9ybWFuY2UuIEluIGNvbnRyYXN0LCB0aGUgc3RhYmlsaXR5IG9mIHRoZSBMTlBzIHdpdGggTWluaWNpcmNsZSBETkEgY2FuIGJlIGNvbnNpZGVyZWQgc2Vjb25kYXJ5LCBhcyBpdCBwcmltYXJpbHkgc2VydmVzIGFzIGEgcG9zaXRpdmUgdHJhbnNmZWN0aW9uIGNvbnRyb2wgYW5kIGlzIG5vdCBjZW50cmFsIHRvIG91ciBtYWluIG9iamVjdGl2ZXMuPC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9yZXN1bHRzL3NvcnQtemV0YS53ZWJwXCIvPlxuICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSBYLiA8L2I+XG4gICAgICAgICAgICAgICAgICAgIFpldGEgcG90ZW50aWFsIG9mIFNPUlQgTE5QIHdpdGggZGlmZmVyZW50IGNhcmdvcyBtZWFzdXJlZCB3aXRoIE5hbm90cmFjayBXYXZlIElJIGluZGljYXRpbmcgdmFyeWluZyBkZWdyZWVzIG9mIHN0YWJpbGl0eSBidXQgbW9zdCBpbXBvcnRhbnQgZ29vZCBzdGFiaWxpdHkgZm9yIHRoZSBTT1JUIExOUCBsb2FkZWQgd2l0aCBwY0ROQSAzLjEgZVlGUCAoTE5QIEROQSkuIE1lYW4gKy8tIFNFTSBmb3Igbj01LiBGb3Igc3RhdGlzdGljcyBvbmUtd2F5IEFOT1ZBIHdhcyBwZXJmb3JtZWQuICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvcmVzdWx0cy9zY3JlZW5zaG90LTIwMjQtMTAtMDEtMjA0OTM4LnBuZ1wiLz5cbiAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgPGI+RmlndXJlIFguIDwvYj5cbiAgICAgICAgICAgICAgICBTaXplIGRpc3RyaWJ1dGlvbiBmb3IgdGhlIFNPUlQgTE5QIHdpdGggZGlmZmVyZW50IGNhcmdvcyB3ZWlnaHRlZCBieSBzY2F0dGVyaW5nIGludGVuc2l0eSBtZWFzdXJlZCB3aXRoIE5hbm90cmFjayBXYXZlIElJLlxuICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPHA+VGhlIHNpemUgZGlzdHJpYnV0aW9uIGZvciBhbGwgdGhyZWUgc2FtcGxlcyBzaG93cyBhIHByZWRvbWluYW50bHkgbW9ub21vZGFsLCB5ZXQgYnJvYWQsIGRpc3RyaWJ1dGlvbiB3aXRoIGRpYW1ldGVycyByYW5naW5nIGJldHdlZW4gNTAgbm0gYW5kIDcwMCBubSwgd2l0aCB0aGUgcGVhayBvZiB0aGUgZGlzdHJpYnV0aW9uIGx5aW5nIGJldHdlZW4gMTUwIG5tIGFuZCAyMDAgbm0gKEZpZ3VyZSBkKS4gU09SVCBMTlBzIHdpdGhvdXQgRE5BIGV4aGliaXRlZCBsYXJnZXIgcmFkaWksIHdpdGggYSBwZWFrIGFyb3VuZCAzMDAgbm0uIFRoZSBTT1JUIExOUCBjb250YWluaW5nIE1pbmljaXJjbGUgRE5BIHN1Z2dlc3RzIHRoZSBwcmVzZW5jZSBvZiBsYXJnZXIgYWdncmVnYXRlcyB3aXRoIGRpYW1ldGVycyBleGNlZWRpbmcgMSBcdTAwQjVtLiBUaGUgbGlrZWx5IHJlYXNvbiBmb3IgdGhpcyB2YXJpYWJsZSBwYXJ0aWNsZSBzaXplIGRpc3RyaWJ1dGlvbiwgZGVzcGl0ZSBsb2FkaW5nIHdpdGggZGlmZmVyZW50IHR5cGVzIG9mIEROQSwgY291bGQgYmUgYXR0cmlidXRlZCB0byB0aGUgbWFudWZhY3R1cmluZyBtZXRob2QuIFNpbmNlIHRoZSBMTlBzIHdlcmUgbm90IHByb2R1Y2VkIHVzaW5nIGFuIGV4dHJ1ZGVyIGJ1dCByYXRoZXIgdmlhIGRpYWx5c2lzLCB0aGlzIGlzIGhpZ2hseSBwbGF1c2libGUuPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxINSB0ZXh0PVwiQ3J5by1FTVwiLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICA8cD5DcnlvLUVNIGFuYWx5c2lzIHdhcyBhbHNvIHBlcmZvcm1lZCBvZiBTT1JUIExOUHMgYnkgdXMgd2l0aCB0aGUgc2FtZSBKRU9MIEpFTS0yMjAwRlMgbWljcm9zY29wZSBhdCAyMDBrViwgYWxsb3dpbmcgdmlzdWFsaXphdGlvbiBvZiBMTlBzIGluIHRoZWlyIG5hdGl2ZSBoeWRyYXRlZCBzdGF0ZS4gVGhlIGltYWdlcyBzaG93IHNwaGVyaWNhbCBMTlAgc3RydWN0dXJlcyBhcm91bmQgMTAwIG5tLCB3aXRoIHNvbWUgbGFyZ2VyIGFnZ3JlZ2F0ZXMgYWxzbyBwcmVzZW50IChkYXRhIG5vdCBzaG93bikuIFRoZXNlIGFnZ3JlZ2F0ZXMgbGlrZWx5IHJlc3VsdCBmcm9tIGludGVyYWN0aW9ucyBiZXR3ZWVuIHBhcnRpY2xlcyBkdWUgdG8gdGhlIG5vbi1leHRydXNpb24tYmFzZWQgcHJlcGFyYXRpb24gbWV0aG9kLCB3aGljaCBtYXkgZXhwbGFpbiB0aGUgdmFyaWFiaWxpdHkgaW4gcGFydGljbGUgc2l6ZS4gQWRkaXRpb25hbGx5LCBwYXJ0aWNsZXMgcG90ZW50aWFsbHkgcmVwcmVzZW50aW5nIGRpZmZlcmVudCBMTlAgcG9wdWxhdGlvbnMgb3Igb3ZlcmxhcHBlZCBzdHJ1Y3R1cmVzIHdpdGggbG93IGNvbnRyYXN0IHdlcmUgb2JzZXJ2ZWQgKEZpZ3VyZSBYKS4gVGhlIGxvdyBzYW1wbGUgY29uY2VudHJhdGlvbiBsaWtlbHkgY29udHJpYnV0ZWQgdG8gdGhlIGxpbWl0ZWQgbnVtYmVyIG9mIHZpc2libGUgcGFydGljbGVzLjwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L3Jlc3VsdHMvc29ydGNyeW9lbS5wbmdcIi8+XG4gICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIFguIDwvYj5cbiAgICAgICAgICAgICAgICAgICAgICBDcnlvLUVNIGltYWdlIG9mIFNPUlQgTE5Qcy4gVGhlIGRpZmZlcmVudCBjb2xvcmVkIG91dGxpbmVzIGluZGljYXRlIGRpZmZlcmVudCBzaXplIHBvcHVsYXRpb25zIG9mIExOUHMuXG4gICAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPHA+T3ZlcmFsbCwgd2hpbGUgdGhlIENyeW8tRU0gZGF0YSBjb25maXJtIHRoZSBwcmVzZW5jZSBhbmQgZ2VuZXJhbCBtb3JwaG9sb2d5IG9mIExOUHMgdGhhdCBhbHNvIGZhbGwgd2l0aGluIHRoZSBkaWFtZXRlciByYW5nZSBzcGVjaWZpZWQgYnkgV2FuZyBldCBhbC4gZm9yIFNPUlQgTE5QcyBhdCBzbWFsbGVyIHRoYW4gMjAwIG5tIFtsaW5rXS4gVGhlIHZhcmlhYmlsaXR5IGluIHNpemUgYW5kIHRoZSBwcmVzZW5jZSBvZiBhZ2dyZWdhdGVzIGhpZ2hsaWdodCBwb3RlbnRpYWwgYXJlYXMgZm9yIG9wdGltaXphdGlvbiwgc3VjaCBhcyByZWZpbmluZyBzYW1wbGUgY29uY2VudHJhdGlvbiBhbmQgcHJlcGFyYXRpb24gbWV0aG9kcyB0byBhY2hpZXZlIG1vcmUgY29uc2lzdGVudCBwYXJ0aWNsZSBmb3JtYXRpb24uPC9wPlxuICAgICAgICAgICAgICA8SDUgdGV4dD1cIkRMU1wiLz5cbiAgICAgICAgICA8cD5XZSB1c2VkIER5bmFtaWMgTGlnaHQgU2NhdHRlcmluZyAoRExTKSB0byBhc3Nlc3MgdGhlIHNpemUgZGlzdHJpYnV0aW9uIG9mIG91ciBTT1JUIExOUHMgYnkgbWVhc3VyaW5nIHRoZSBmbHVjdHVhdGlvbnMgaW4gc2NhdHRlcmVkIGxpZ2h0IGR1ZSB0byBwYXJ0aWNsZSBtb3Rpb24uIFRoZSBoeWRyb2R5bmFtaWMgZGlhbWV0ZXIgd2FzIGNhbGN1bGF0ZWQgdXNpbmcgdGhlIFN0b2tlcy1FaW5zdGVpbiBlcXVhdGlvbiwgY29uc2lkZXJpbmcgdGhlIGRpZmZ1c2lvbiBjb2VmZmljaWVudCwgdGVtcGVyYXR1cmUsIGFuZCB2aXNjb3NpdHkgb2YgdGhlIG1lZGl1bS48L3A+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9yZXN1bHRzL3NvcnQtZGxzLndlYnBcIi8+XG4gICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIFguIDwvYj5cbiAgICAgICAgICAgICAgICAgICAgUmVzdWx0cyBmb3IgaHlkcm9keW5hbWljIHJhZGl1cyBkZXRlcm1pbmF0aW9uIGJ5IERMUyBNZWFzdXJlbWVudHMgZm9yIG91ciBTT1JUIExOUCwgaW5kaWNhdGluZyBhIHJhZGl1cyBvZiBhcHByb3hpbWF0ZWx5IDEwMCBubS5cbiAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPHA+VGhlIHJlc3VsdHMgc2hvd2VkIGEgaHlkcm9keW5hbWljIGRpYW1ldGVyIG9mIFNPUlQgTE5QcyB5aWVsZGluZyBhbiBhdmVyYWdlIHJhZGl1cyBvZiBhcHByb3hpbWF0ZWx5IDEwMCBubSAoRmlndXJlIFgpLiBUaGVzZSBmaW5kaW5ncyBhcmUgY29uc2lzdGVudCB3aXRoIG91ciBwcmV2aW91cyBhcHBsaWVkIHNpemUgZGV0ZXJtaW5hdGlvbiBtZXRob2RzLCBzdWNoIGFzIFpldGEgcG90ZW50aWFsIGFuZCBDcnlvLUVNLCB3aGljaCBhbHNvIGluZGljYXRlZCBzaW1pbGFyIHBhcnRpY2xlIGRpbWVuc2lvbnMgaW4gYXBwcm9wcmlhdGUgcmFuZ2UgZm9yIG91ciByZXNlYXJjaCBhbmQgbWVkaWNhbCBhcHBsaWNhdGlvbnMuPC9wPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxINSB0ZXh0PVwiTVRUIEFzc2F5XCIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9mYW56b3Ivc29ydC1tdHQud2VicFwiLz5cbiAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIFguIDwvYj5cbiAgICAgICAgICAgICAgICAgIE1UVCBBc3NheSBvZiBMTlBzIGZyb20gYWxsIGl0ZXJhdGlvbnMgcGVyZm9ybWVkIG9uIEhFSzI5MyBpbmNsdWRpbmcgVHJpdG9uIGFzIG5lZ2F0aXZlIGNvbnRyb2wgYW5kIHVudHJlYXRlZCBjZWxscyBhcyBwb3NpdGl2ZSBjb250cm9sLiBNZWFuICsvLSBTRU0gZm9yIG49Ni4gRm9yIHN0YXRpc3RpY3Mgb25lLXdheSBBTk9WQSB3YXMgcGVyZm9ybWVkLiAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgey8qIDxwPkluIG9yZGVyIHRvIGV2YWx1YXRlIHRoZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZUFuZFNjcm9sbCAoJ0Jpb3NhZmV0eTInLCAnL3NhZmV0eScpfT5iaW9zYWZldHk8L2E+IG9mIG91ciBsdW5nLXNwZWNpZmljIExOUHMsIHBhcnRpY3VsYXJseSBjb25jZXJuaW5nIHRoZSBjaG9pY2Ugb2YgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYih7Y29sbGFwc2VJZDogJ0NvbDEnLCBwYXRoOiAnL2VuZ2luZWVyaW5nJywgdGFiSWQ6ICdkZWxpdmVyeScgfSl9PlBFRzwvYT4gLSBrbm93biB0byBjYXVzZSBjeXRvdG94aWNpdHkgaXNzdWVzIC0gd2UgcGVyZm9ybWVkIE1UVCBhc3NheXMgdXNpbmcgSEVLMjkzIGNlbGxzIHdpdGggdmFyaW91cyBMTlAgZm9ybXVsYXRpb25zLiBUaGUgcmVzdWx0cyBkZW1vbnN0cmF0ZWQgdGhhdCB0aGUgQ2F5bWFuIExOUCBhY2hpZXZlZCA3NC45MCUgdmlhYmlsaXR5IGFuZCBTT1JUIExOUCBzaG93ZWQgNzUuMDElIHZpYWJpbGl0eSwgZXhoaWJpdGluZyBsb3dlciBjeXRvdG94aWNpdHkgZHVlIHRvIHRoZSBpbmNsdXNpb24gb2YgRE1HLVBFRywgYSBsZXNzIGN5dG90b3hpYyBQRUcgdmFyaWFudCBjb21wYXJlZCB0byBtUEVHLTIwMDAtRFNQRSwgd2hpY2ggcmVzdWx0ZWQgaW4gNjYuNjklIHZpYWJpbGl0eSBpbiB0aGUgQ29yZGVuIExOUCAoRmlndXJlIHQpLiBUaGVzZSBmaW5kaW5ncyBwcm92ZSB3ZSBtYWRlIHRoZSBiZXN0IGRlY2lzaW9uIGJ5IGNob29zaW5nIHRoZSBTT1JUIExOUCBhcyB0aGUgbGVhc3QgY3l0b3RveGljIExOUHMuPC9wPiAqL31cbiAgICAgICAgICAgICAgICA8cD5JbiBvcmRlciB0byBldmFsdWF0ZSB0aGUgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdCaW9zYWZldHkyJywgJy9zYWZldHknKX0+Ymlvc2FmZXR5PC9hPiBvZiBvdXIgbHVuZy1zcGVjaWZpYyBMTlBzLCBwYXJ0aWN1bGFybHkgY29uY2VybmluZyB0aGUgY2hvaWNlIG9mIFBFRyAtIGtub3duIHRvIGNhdXNlIGN5dG90b3hpY2l0eSBpc3N1ZXMgLSB3ZSBwZXJmb3JtZWQgTVRUIGFzc2F5cyB1c2luZyBIRUsyOTMgY2VsbHMgd2l0aCB2YXJpb3VzIExOUCBmb3JtdWxhdGlvbnMuIFRoZSByZXN1bHRzIGRlbW9uc3RyYXRlZCB0aGF0IHRoZSBDYXltYW4gTE5QIGFjaGlldmVkIDc0LjkwJSB2aWFiaWxpdHkgYW5kIFNPUlQgTE5QIHNob3dlZCA3NS4wMSUgdmlhYmlsaXR5LCBleGhpYml0aW5nIGxvd2VyIGN5dG90b3hpY2l0eSBkdWUgdG8gdGhlIGluY2x1c2lvbiBvZiBETUctUEVHLCBhIGxlc3MgY3l0b3RveGljIFBFRyB2YXJpYW50IGNvbXBhcmVkIHRvIG1QRUctMjAwMC1EU1BFLCB3aGljaCByZXN1bHRlZCBpbiA2Ni42OSUgdmlhYmlsaXR5IGluIHRoZSBDb3JkZW4gTE5QIChGaWd1cmUgdCkuIFRoZXNlIGZpbmRpbmdzIHByb3ZlIHdlIG1hZGUgdGhlIGJlc3QgZGVjaXNpb24gYnkgY2hvb3NpbmcgdGhlIFNPUlQgTE5QIGFzIHRoZSBsZWFzdCBjeXRvdG94aWMgTE5Qcy48L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICA8L1N1YmVzY3Rpb24gPlxuICAgICAgPFN1YmVzY3Rpb24gIHRpdGxlPVwiUHJlQ3lzZVwiIGlkPVwiUmVzdWx0czRcIj5cbiAgICAgICAgICA8SDQgdGV4dD1cIkdvYWxzXCIvPlxuICAgICAgICAgIDxwPnRleHQ8L3A+IFxuICAgICAgICAgIDxINCB0ZXh0PVwiV29ya2Zsb3dcIi8+XG4gICAgICAgICAgPHA+dGV4dDwvcD4gXG4gICAgICAgICAgPEg0IHRleHQ9XCJDb25jbHVzaW9uXCIvPlxuICAgICAgICAgIDxwPnRleHQ8L3A+IFxuICAgICAgPC9TdWJlc2N0aW9uID5cbiAgICAgIDxTdWJlc2N0aW9uICB0aXRsZT1cIlBhdGNoIENsYW1wXCIgaWQ9XCJSZXN1bHRzNVwiPlxuICAgICAgICAgIDxwPlRvIHZhbGlkYXRlIG91ciBnZW5lIGVkaXRpbmcgYXBwcm9hY2ggYnkgcHJpbWUgZWRpdGluZyBvZiBDRlRSIEY1MDhkZWwgZGVsaXZlcmVkIHRvIGx1bmcgY2VsbHMgdmlhIFNPUlQgTE5Qcywgd2UgcGxhbm5lZCB0byB1c2UgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdQYXRjaCBDbGFtcCcsICcvbWF0ZXJpYWxzLW1ldGhvZHMnKX0+UGF0Y2ggQ2xhbXA8L2E+IGFzIGEgZG93bnN0cmVhbSBtZXRob2QuIE91ciBnb2FsIHdhcyB0byBkZXRlY3QgdGhlIHJlc3RvcmVkIGNvbmR1Y3RhbmNlIG9mIHRoZSByZXBhaXJlZCBDRlRSIGJ5IHRoaXMgZWxlY3Ryb3BoeXNpb2xvZ2ljYWwgbWV0aG9kLiBUaGlzIHdhcyBtYWRlIHBvc3NpYmxlIHRocm91Z2ggdGhlIGFzc2lzdGFuY2Ugb2YgdGhlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3BhdGNoY2xhbXAnLCAnL2h1bWFuLXByYWN0aWNlcycpfT5DZWxsdWxhciBOZXVyb3BoeXNpb2xvZ3kgcmVzZWFyY2ggZ3JvdXA8L2E+IGF0IG91ciB1bml2ZXJzaXR5LjwvcD5cbiAgICAgICAgICA8SDQgdGV4dD1cIkluaXRpYWwgTWVhc3VyZW1lbnRzXCIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JvdyBhbGlnbi1pdGVtcy1jZW50ZXInPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL3Jlc3VsdHMvcGF0Y2hjbGFtcC9wYzEud2VicFwiIGFsdD1cIlBDMVwiIHN0eWxlPXt7bWF4SGVpZ2h0OiBcIjMwMHB0XCJ9fS8+IFxuICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIDEuIDwvYj4gXG4gICAgICAgICAgICAgICAgICBDdXJyZW50IGRlbnNpdHkgb2YgSEVLMjkzLCBIRUsyOTNUIENGVFIgV1QgYW5kIEhFSzI5M1QgQ0ZUUiBGNTA4ZGVsIHNob3dpbmcgc2lnbmlmaWNhbnQgZGlmZmVyZW5jZXMgb2YgYm90aCBIRUsyOTNUIGNlbGwgbGluZXMgY29tcGFyZWQgdG8gSEVLMjkzIGJ1dCBubyBzaWduaWZpY2FudCBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZW0uIEZvciBzdGF0aXN0aWNzIG9uZS13YXkgQU5PVkEgd2FzIHBlcmZvcm1lZC5cbiAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgPC9maWd1cmU+IFxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgPHA+SW4gb3VyIGZpcnN0IHNldCBvZiBleHBlcmltZW50cywgd2UgbWVhc3VyZWQgY3VycmVudCBkZW5zaXR5IGluIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnQ2VsbCBDdWx0dXJlJywgJy9tYXRlcmlhbHMtbWV0aG9kcycpfT5IRUsyOTNUIENGVFIgd2lsZC10eXBlIChXVCkgYW5kIEhFSzI5M1QgRjUwOGRlbDwvYT4gY2VsbCBsaW5lcywgY29tcGFyaW5nIHRoZW0gd2l0aCByZWd1bGFyIEhFSzI5My4gVGhlIHJlc3VsdHMgZGVtb25zdHJhdGVkIHNpZ25pZmljYW50IGRpZmZlcmVuY2VzIGluIGNobG9yaWRlIGlvbiBjb25kdWN0YW5jZSwgd2l0aCB0aGUgQ0ZUUi1leHByZXNzaW5nIGNlbGwgbGluZXMgc2hvd2luZyBlbmhhbmNlZCBjb25kdWN0aXZpdHkgY29tcGFyZWQgdG8gSEVLMjkzIChGaWd1cmUgMSkuIEhvd2V2ZXIsIGEgZHJhd2JhY2sgd2FzIHRoYXQgd2UgZGlkIG5vdCBvYnNlcnZlIGFueSBzaWduaWZpY2FudCBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBIRUsyOTNUIENGVFIgV1QgYW5kIEY1MDhkZWwgY2VsbCBsaW5lLiBUaGlzIHdhcyB1bmV4cGVjdGVkLCBhcyB0aGUgRjUwOGRlbCBtdXRhdGlvbiB0eXBpY2FsbHkgbGVhZHMgdG8gYSBrbm9ja2Rvd24gb2YgdGhlIENGVFIgcHJvdGVpbiwgaW1wYWlyaW5nIGNobG9yaWRlIGlvbiB0cmFuc3BvcnQgdGhyb3VnaCB0aGUgQ0ZUUiBjaGFubmVsLjwvcD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxINCB0ZXh0PVwiRnVydGhlciBWYWxpZGF0aW9uIGFuZCBDaGFsbGVuZ2VzXCIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JvdyBhbGlnbi1pdGVtcy1jZW50ZXInPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgIDxwPkluIGxpZ2h0IG9mIHRoZXNlIHJlc3VsdHMsIHdlIGltcHJvdmVkIG91ciBleHBlcmltZW50YWwgc2V0dXAgYW5kIHBlcmZvcm1lZCBhZGRpdGlvbmFsIHZhbGlkYXRpb24gZXhwZXJpbWVudHMuIFVuZm9ydHVuYXRlbHksIHRoZSByZXBlYXRlZCBtZWFzdXJlbWVudHMgeWllbGRlZCBzaW1pbGFyIG91dGNvbWVzLCBjb25maXJtaW5nIHRoZSBhYnNlbmNlIG9mIGEgc2lnbmlmaWNhbnQgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28gQ0ZUUi1leHByZXNzaW5nIGNlbGwgbGluZXMgKEZpZ3VyZSAyKS4gVGhpcyBmaW5kaW5nIGxlZCB1cyB0byBjb25zdWx0IHdpdGggdGhlIHJlc2VhcmNoIGdyb3VwIGF0IDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ21hdHRpanN2aXNpdCcsICcvaHVtYW4tcHJhY3RpY2VzJyl9PktVIExldXZlbjwvYT4sIHdobyBlc3RhYmxpc2hlZCB0aGVzZSBjZWxscyBsaW5lcy4gQWx0aG91Z2ggdGhleSBoYWQgbm90IGNvbmR1Y3RlZCBzaW1pbGFyIFBhdGNoIENhbXAgbWVhc3VyZW1lbnRzLCB0aGV5IHN1Z2dlc3RlZCBhbiBhbHRlcm5hdGl2ZSBhcHByb2FjaCB1c2luZyBVc3NpbmcgQ2hhbWJlciBtZWFzdXJlbWVudHMuIFRoaXMgdGVjaG5pcXVlLCB1bmxpa2UgUGF0Y2ggQ2FtcCwgZG9lcyBub3QgcmVseSBvbiBzaW5nbGUtY2VsbCBtZWFzdXJlbWVudHMgYnV0IHJhdGhlciBleGFtaW5lcyB0aGUgaW9uIGN1cnJlbnRzIGFjcm9zcyB0aGUgZW50aXJlIGNlbGwgbW9ub2xheWVyLCB3aGljaCBtYXkgcHJvdmlkZSBhIG1vcmUgY29tcHJlaGVuc2l2ZSB2aWV3IG9mIENGVFIgZnVuY3Rpb25hbGl0eS48L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL3Jlc3VsdHMvcGF0Y2hjbGFtcC9wYzIud2VicFwiIGFsdD1cIlBDMVwiIHN0eWxlPXt7bWF4SGVpZ2h0OiBcIjMwMHB0XCJ9fS8+IFxuICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIDIuIDwvYj4gXG4gICAgICAgICAgICAgICAgICBSZXBlYXRlZCB2YWxpZGF0aW9uIG9mIGN1cnJlbnQgZGVuc2l0eSBtZWFzdXJlbWVudHMgaW4gSEVLMjkzVCBDRlRSIFdUIGFuZCBIRUsyOTNUIENGVFItRjUwOGRlbCwgc2hvd2luZyBjb25zaXN0ZW50IHJlc3VsdHMgd2l0aCB0aGUgaW5pdGlhbCBleHBlcmltZW50LiBGb3Igc3RhdGlzdGljcyBvbmUtd2F5IEFOT1lBIHdhcyBwZXJmb3JtZWQuXG4gICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgIDwvZmlndXJlPiBcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxINCB0ZXh0PVwiTmV4dCBTdGVwc1wiLz5cbiAgICAgICAgICAgIDxwPkZvbGxvd2luZyB0aGUgcmVjb21tZW5kYXRpb25zIGZyb20gS1UgTGV1dmVuLCB3ZSBoYXZlIGFsc28gdGFrZW4gc3RlcHMgdG8gZXhwYW5kIG91ciBleHBlcmltZW50YWwgYXBwcm9hY2guIFRvIGZ1cnRoZXIgaW52ZXN0aWdhdGUgdGhlIENGVFIgZnVuY3Rpb25hbGl0eSwgd2UgaGF2ZSBvcmRlcmVkIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnQ2VsbCBDdWx0dXJlJywgJy9tYXRlcmlhbHMtbWV0aG9kcycpfT5DRkJFNDFvLTwvYT4gYXMgYSBuZXcgY2VsbCBsaW5lIGZyb20gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignaWduYXRvdmEnLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Qcm9mLiBEci4gSWduYXRvdmE8L2E+IGluIEhhbWJ1cmcuIE91ciBnb2FsIGlzIHRvIHVzZSB0aGVzZSBwYXRpZW50LWRlcml2ZWQgY2VsbHMgdG8gbWVhc3VyZSBpb24gY3VycmVudHMgYW5kIGZ1cnRoZXIgZWx1Y2lkYXRlIHRoZSBpbXBhY3Qgb2YgdGhlIG11dGF0aW9uIG9uIGNobG9yaWRlIGNvbmR1Y3RhbmNlLiBUaGlzIHdpbGwgbm90IG9ubHkgcHJvdmlkZSBhIG1vcmUgY2xpbmljYWxseSByZWxldmFudCBtb2RlbCBidXQgbWF5IGFsc28geWllbGQgbW9yZSBkaXN0aW5jdCByZXN1bHRzIGluIGNvbXBhcmlzb24gdG8gdGhlIHByZXZpb3VzIGV4cGVyaW1lbnRzIHdpdGggdGhlIGVuZ2luZWVyZWQgSEVLMjkzVCBjZWxscy48L3A+XG4gICAgICA8L1N1YmVzY3Rpb24gPlxuICAgICAgPC9TZWN0aW9uPlxuICAgICAgPFNlY3Rpb24gdGl0bGU9XCJTdXBwbGVtZW50YXJ5IE1hdGVyaWFsXCIgaWQ9XCJTdXBwbGVtZW50YXJ5IE1hdGVyaWFsXCI+ICAgIFxuICAgICAgPHA+U3VwcGxlbWVudGFyeSBNYXRlcmlhbCBmb3IgUGF0Y2ggQ2xhbXA8L3A+XG4gICAgICA8cD48RG93bmxvYWRMaW5rIHVybD1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvcmF3LWRhdGEtcGF0Y2gtY2xhbXAucGRmXCIgZmlsZU5hbWU9XCJyYXctZGF0YS1wYXRjaC1jbGFtcC5wZGZcIiAvPjwvcD5cbiAgICAgIDxwPlN1cHBsZW1lbnRhcnkgTWF0ZXJpYWwgZm9yIERlbGl2ZXJ5PC9wPlxuICAgICAgPERvd25sb2FkTGluayB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL3Jhdy1kYXRhLXBhdGNoLWNsYW1wLnBkZlwiIGZpbGVOYW1lPVwicmF3LWRhdGEtcGF0Y2gtY2xhbXAucGRmXCIgLz5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICA8Lz5cbiAgKTtcbn1cblxuIiwgIlxuaW1wb3J0IHsgSDQsIEg1IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IExvcmVtTWVkaXVtIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvTG9yZW1pcHN1bVwiO1xuaW1wb3J0IFByZUN5c2UgZnJvbSBcIi4uL2NvbXBvbmVudHMvcHJlY3lzZVwiO1xuaW1wb3J0IHsgU3VwU2Nyb2xsTGluayB9IGZyb20gXCIuLi9jb21wb25lbnRzL1Njcm9sbExpbmtcIjsgXG5pbXBvcnQgeyBTZWN0aW9uLCBTdWJlc2N0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIjtcbmltcG9ydCBDb2xsYXBzaWJsZSBmcm9tIFwiLi4vY29tcG9uZW50cy9Db2xsYXBzaWJsZVwiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG4vLyBtZXNzYWdlIGZvciB0ZXN0IGNvbW1pdC5cblxuXG5leHBvcnQgY29uc3QgU2FmZXR5OiBSZWFjdC5GQyA9ICgpID0+e1xuICBjb25zdCB7Z29Ub1BhZ2VBbmRTY3JvbGwsIGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCwgZ29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gIFxuICBcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPFNlY3Rpb24gdGl0bGU9XCJSb2xlIGluIGlHRU1cIiBpZD1cIlJvbGVcIj5cbiAgICAgIDxwPlxuICAgICAgICBBcyBwYXJ0IG9mIG91ciBwcm9qZWN0IDxQcmVDeXNlLz4gdG8gZGV2ZWxvcCBhIHByaW1lLWVkaXRpbmcgY29tcGxleCB0byBjb3JyZWN0IHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIGN5c3RpYyBmaWJyb3Npcywgd2UgcGxhY2UgZ3JlYXQgZW1waGFzaXMgb24gc2FmZXR5IGF0IGFsbCBzdGFnZXMgb2YgcmVzZWFyY2guIE91ciBmaW5hbCBjb25zdHJ1Y3Qgd2lsbCBiZSB0ZXN0ZWQgaW4gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdDZWxsIEN1bHR1cmUzSCcsICcvbWF0ZXJpYWxzLW1ldGhvZHMnKX0+IHByaW1hcnkgY3VsdHVyZXMgb2YgbmFzYWwgZXBpdGhlbGlhbCBjZWxscyA8L2E+ICAgb2J0YWluZWQgZnJvbSBuYXNhbCBzd2FicywgaXNvbGF0ZWQgZnJvbSBib3RoIHBhdGllbnRzIGFuZCBoZWFsdGh5IGluZGl2aWR1YWxzLiBUbyBndWFyYW50ZWUgc2FmZXR5IGFuZCBlbnN1cmUgdGhlIGhpZ2hlc3QgbGV2ZWwgb2YgcHJlY2lzaW9uIGFuZCByZWxpYWJpbGl0eSBvZiBvdXIgcmVzdWx0cywgd2UgaGF2ZSBpbnRyb2R1Y2VkIGEgc2VyaWVzIG9mIGNhcmVmdWxseSBwbGFubmVkIGNoZWNrcG9pbnRzIGR1cmluZyB0aGUgZXhwZXJpbWVudHMuIFRoZXNlIG1pbGVzdG9uZXMgYWxsb3cgZm9yIGNvbnRpbnVvdXMgbW9uaXRvcmluZywgdGltZWx5IGFkanVzdG1lbnRzIGFuZCB2YWxpZGF0aW9uIGF0IGVhY2ggY3JpdGljYWwgc3RhZ2UuIFRoaXMgZW5zdXJlcyB0aGF0IHBvdGVudGlhbCBpc3N1ZXMgYXJlIGlkZW50aWZpZWQgYW5kIGFkZHJlc3NlZCBpbW1lZGlhdGVseSwgbWluaW1pemluZyByaXNrIGFuZCBpbXByb3ZpbmcgdGhlIG92ZXJhbGwgcXVhbGl0eSBvZiB0aGUgZXhwZXJpbWVudGFsIHJlc3VsdHMuXG4gICAgICAgIDwvcD5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICAgIFxuICAgICAgPFNlY3Rpb24gdGl0bGU9XCJCaW9zYWZldHlcIiBpZD1cIkJpb3NhZmV0eVwiPlxuICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIlNhZmV0eSBhc3BlY3RzIG9mIG91ciBQcmltZUd1aWRlXCIgaWQ9XCJCaW9zYWZldHkxXCI+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgVGhlIGJpb3NhZmV0eSBvZiBvdXIgUHJpbWUgRWRpdGluZyBjb21wbGV4IGhhcyBiZWVuIGEgdG9wIHByaW9yaXR5IHRocm91Z2hvdXQgdGhlIGVudGlyZSBkZXZlbG9wbWVudCBwcm9jZXNzLiBXZSBoYXZlIHRoZXJlZm9yZSB0cmllZCB0byBvcHRpbWlzZSBhbGwgcGFydHMgdGhhdCBpbmZsdWVuY2UgdGhlIGJpb3NlY3VyaXR5IG9mIG91ciBzeXN0ZW0gYXMgbXVjaCBhcyBwb3NzaWJsZS4gVG8gZW5zdXJlIG1heGltdW0gYmlvc2VjdXJpdHksIHdlIGhhdmUgY3JlYXRlZCBhbmQgdGVzdGVkIG1hbnkgZGVzaWducywgYXMgd2VsbCBhcyBleHRlbnNpdmVseSByZXNlYXJjaGVkIGFsdGVybmF0aXZlcyBhbmQvb3IgYWRkaXRpb25hbCBlbGVtZW50cyB0aGF0IGNvbnRyaWJ1dGUgdG8gYmlvc2VjdXJpdHkuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxINCB0ZXh0PVwiUEFNIGRpc3J1cHRcIiA+PC9IND5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICBBIGtleSBzYWZldHkgbWVjaGFuaXNtIGluY29ycG9yYXRlZCBpbiBvdXIgZGVzaWduIG9mIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXggaXMgdGhlIGRpc3J1cHRpb24gb2YgdGhlIFBBTSBzZXF1ZW5jZSBbTGluayBQQU0gdGV4dF0uIEZvciB0aGUgbmlja2FzZSBlbnp5bWUgdG8gZnVuY3Rpb24gcHJvcGVybHksIGl0IG11c3QgYmluZCBkaXJlY3RseSB0byB0aGUgRE5BIHN0cmFuZCwgYSBwcm9jZXNzIHRoYXQgaXMgZmFjaWxpdGF0ZWQgYnkgdGhlIHByZXNlbmNlIG9mIGEgc3BlY2lmaWMgc2VxdWVuY2UgY2FsbGVkIHRoZSBQQU0gKFByb3Rvc3BhY2VyIEFkamFjZW50IE1vdGlmKS4gVGhpcyBjcml0aWNhbCBpbnRlcmFjdGlvbiBvY2N1cnMgdGhyb3VnaCB0aGUgcmVjb2duaXRpb24gb2YgdGhlIFBBTSBzZXF1ZW5jZSBieSB0aGUgbmlja2FzZSBpdHNlbGYuIFRvIGFjaGlldmUgUEFNIGRpc3J1cHRpb24sIHRoZSBwZWdSTkEgKHByaW1lIGVkaXRpbmcgZ3VpZGUgUk5BKSBbTGluayBwZWdSTkFdIGlzIHNwZWNpZmljYWxseSBkZXNpZ25lZCBpbiBhIHdheSBzbyB0aGF0IHRoZSBQQU0gc2VxdWVuY2UgaXMgc2l0dWF0ZWQgd2l0aGluIHRoZSByZXZlcnNlIHRyYW5zY3JpcHRpb24gdGVtcGxhdGUgKFJUVCkgb2YgdGhlIHBlZ1JOQS4gQnkgaW50cm9kdWNpbmcgYSBzaWxlbnQgbXV0YXRpb24gd2l0aGluIHRoZSBSVCB0ZW1wbGF0ZSBpbnRvIHRoZSBQQU0gc2VxdWVuY2UuIFRoZXJlZm9yZSB0aGUgUEFNIHNlcXVlbmNlIGlzIGVmZmVjdGl2ZWx5IGVsaW1pbmF0ZWQgYWZ0ZXIgdGhlIGdlbmUgZWRpdGluZyBwcm9jZXNzIGlzIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxXCIvPi4gQXMgYSByZXN1bHQgb2YgdGhhdCwgdGhlIFBBTSBzZXF1ZW5jZSBpcyBubyBsb25nZXIgcHJlc2VudCBvbiB0aGUgRE5BIHN0cmFuZCwgcHJldmVudGluZyB0aGUgbmlja2FzZSBmcm9tIGJpbmRpbmcgYWdhaW4gYXQgdGhlIHNhbWUgbG9jYXRpb24uIFRoaXMgcmVkdWN0aW9uIGluIHJlcGVhdGVkIG9yIHVuZGVzaXJlZCBiaW5kaW5nIG9mIHRoZSBuaWNrYXNlIGVuaGFuY2VzIHRoZSBzYWZldHkgb2Ygb3VyIHByaW1lIGVkaXRpbmcgY29tcGxleCwgbWluaW1pemluZyB0aGUgcmlzayBvZiB1bmludGVuZGVkIGVkaXRzIG9yIG9mZi10YXJnZXQgZWZmZWN0cyBpbiBzdWJzZXF1ZW50IHN0ZXBzLiBVbHRpbWF0ZWx5LCB0aGlzIGZlYXR1cmUgY29udHJpYnV0ZXMgdmVyeSBtdWNoIHRvIHRoZSBvdmVyYWxsIHNhZmV0eSBhbmQgcmVsaWFiaWxpdHkgb2YgdGhlIHByaW1lIGVkaXRpbmcgcHJvY2Vzcy5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPEg0IHRleHQ9XCJwZWdSTkEgZGVzaWduIC0gU3BhY2VyXCI+PC9IND5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICBCaW9zYWZldHkgaXMgYWxzbyBndWFyYW50ZWVkIGJ5IHRoZSBjYXJlZnVsIHNlbGVjdGlvbiBvZiB0aGUgc3BhY2VyLCB3aGljaCBwbGF5cyBhIGNyaXRpY2FsIHJvbGUgaW4gZ3VpZGluZyB0aGUgY29tcGxleCB0byBpdHMgaW50ZW5kZWQgdGFyZ2V0IHNpdGUgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyXCIvPi4gVG8gZW5zdXJlIGJvdGggcHJlY2lzaW9uIGFuZCBzYWZldHksIHdlIG1ldGljdWxvdXNseSBjaG9zZSBhbmQgcmlnb3JvdXNseSBjaGVja2VkIHRoZSBzcGFjZXIgdXNpbmcgdGhlIDxhIGhyZWY9XCJodHRwczovL3d3dy5zeW50aGVnby5jb20vcHJvZHVjdHMvYmlvaW5mb3JtYXRpY3MvY3Jpc3ByLWRlc2lnbi10b29sXCI+Q1JJU1BpY2sgc29mdHdhcmU8L2E+PFN1cFNjcm9sbExpbmsgbGFiZWw9XCIzXCIvPi4gVGhpcyBhbGxvd2VkIHVzIHRvIGV2YWx1YXRlIHdoZXRoZXIgb3VyIFNwYWNlciB3b3VsZCBiZSBsaWtlbHkgdG8gdGFyZ2V0IG90aGVyIHJlZ2lvbnMgdGhhbiBvdXIgdGFyZ2V0IHNpdGUgYW5kIHRoZXJlZm9yZSBhbGxvd2luZyB1cyB0byBhbmFseXNlIGFuZCBwcmVkaWN0IHBvdGVudGlhbCBvZmYtdGFyZ2V0IGVmZmVjdHMsIGVuc3VyaW5nIHRoYXQgZXJyb25lb3VzIGVkaXRzIGFyZSBtaW5pbWlzZWQuIEJ5IG9wdGltaXNpbmcgdGhlIHNwYWNlciBzZWxlY3Rpb24sIHdlIGhhdmUgbm90IG9ubHkgc2lnbmlmaWNhbnRseSBlbmhhbmNlZCB0aGUgb3ZlcmFsbCBlZGl0aW5nIGVmZmljaWVuY3ksIHN0cmlraW5nIGEgYmFsYW5jZSBiZXR3ZWVuIHByZWNpc2lvbiBhbmQgcGVyZm9ybWFuY2UsIGJ1dCBlc3BlY2lhbGx5IGVuc3VyZWQgdGhlIHV0bW9zdCBhY2N1cmFjeSBpbiBkaXJlY3RpbmcgdGhlIFByaW1lIEVkaXRvciwgZnVydGhlciBjb250cmlidXRpbmcgdG8gdGhlIHNhZmV0eSBvZiB0aGUgZWRpdGluZyBwcm9jZXNzLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZ3VyZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Jpb3NhZmV0eS93aWtpL2JpbGQucG5nXCIgc3R5bGU9e3toZWlnaHQ6IFwiMTAlXCIsIHdpZHRoOlwiYXV0b1wifX0vPlxuICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+RmlndXJlIDU8L2I+SWxsdXN0cmF0aW9uIG9mIHRoZSBpbnRyb2R1Y3Rpb24gb2Ygc2lsZW50IG11dGF0aW9ucyBsZWFkaW5nIHRvIHRoZSBQQU0gZGlzcnVwdC4gPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8SDQgdGV4dD1cIlJpYm9zd2l0Y2hcIj48L0g0PlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFJpYm9zd2l0Y2hlcyBhcmUgc2VnbWVudHMgb2YgYW4gUk5BIHN0cmFuZCB0aGF0IGJpbmQgdG8gc21hbGwgbW9sZWN1bGVzLCBjYXVzaW5nIHRoZW0gdG8gY2hhbmdlIHRoZWlyIHNlY29uZGFyeSBzdHJ1Y3R1cmUgYnkgZm9ybWluZyBoYWlycGluIHN0cnVjdHVyZXMuIFRoaXMgcHJvY2VzcyByZWd1bGF0ZXMgZ2VuZSBleHByZXNzaW9uIGF0IHRoZSB0cmFuc2xhdGlvbiBsZXZlbCBieSBwcmV2ZW50aW5nIHJpYm9zb21lcyBmcm9tIGJpbmRpbmcgYXQgdGhlIFJCUyBhbmQgdHJhbnNsYXRpbmcgdGhlIGNvZGluZyByZWdpb24gb24gdGhlIFJOQSBzdHJhbmQuIDBGb3Igb3VyIHByb2plY3Qgd2UgYWxzbyBjb25zaWRlcmVkIGFuIGlvbi1zZW5zaXRpdmUgcmlib3N3aXRjaCwgc3BlY2lmaWNhbGx5IGRlcGVuZGVudCBvbiBzb2RpdW0gaW9ucyAoTmFcdTIwN0EpLCBhcyBhIHJlZ3VsYXRvcnkgbWVjaGFuaXNtLiBUaGUgc2Vjb25kYXJ5IHN0cnVjdHVyZSBvZiB0aGlzIHJpYm9zd2l0Y2ggcHJldmVudHMgdGhlIGJpbmRpbmcgb2Ygcmlib3NvbWVzIHRvIHRoZSByaWJvc29tZSBiaW5kaW5nIHNpdGUgKFJCUykgdW5kZXIgbm9ybWFsIGNvbmRpdGlvbnMsIHRodXMgaW5oaWJpdGluZyB0aGUgdHJhbnNsYXRpb24gb2YgdGhlIHN1YnNlcXVlbnQgbVJOQS4gV2hlbiBzb2RpdW0gaW9ucyBiaW5kIHRvIHRoZSByaWJvc3dpdGNoLCBhIHN0cnVjdHVyYWwgY2hhbmdlIG9jY3VycywgZXhwb3NpbmcgdGhlIFJCUywgd2hpY2ggYWxsb3dzIGZvciB0aGUgdHJhbnNsYXRpb24gb2YgdGhlIG1STkEgYW5kIHRoZSBwcm9kdWN0aW9uIG9mIG91ciBmdXNpb24gcHJvdGVpbiB3aGljaCBpcyB0aGUgbWFpbiBjb21wb25lbnQgb2Ygb3VyIHByaW1lIGVkaXRpbmcgc3lzdGVtIGFuZCB0aGVyZWZvcmUgb2YgZW5vcm1vdXMgaW1wb3J0YW5jZSBmb3IgaXQgdG8gd29yayA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjRcIi8+LiBJbiB0aGUgY29udGV4dCBvZiB0aGUgQ0ZUUiBtdXRhdGlvbiBhbmQgaXRzIGVmZmVjdHMgb24gdGhlIGNlbGwsIHRoZSBlbGV2YXRlZCBOYVx1MjA3QSBsZXZlbHMgcGxheSBhIGNydWNpYWwgcm9sZS4gRHVlIHRvIHRoZSBkeXNmdW5jdGlvbmFsIENGVFIgY2hhbm5lbCwgd2hpY2ggZmFpbHMgdG8gcHJvcGVybHkgZnVuY3Rpb24gYXMgYSBjaGxvcmlkZSBjaGFubmVsLCB0aGUgRU5hQyBjaGFubmVsIChlcGl0aGVsaWFsIHNvZGl1bSBjaGFubmVsKSBiZWNvbWVzIHVwcmVndWxhdGVkLiBUaGlzIHVwcmVndWxhdGlvbiByZXN1bHRzIGluIGFuIGluY3JlYXNlZCB0cmFuc3BvcnQgb2Ygc29kaXVtIGlvbnMgaW50byB0aGUgY2VsbCwgbGVhZGluZyB0byBhIGhpZ2hlciBpbnRyYWNlbGx1bGFyIHNvZGl1bSBjb25jZW50cmF0aW9uLiBUaGlzIGVsZXZhdGVkIE5hXHUyMDdBIGNvbmNlbnRyYXRpb24gY3JlYXRlcyBhIHNwZWNpZmljIGlvbmljIGVudmlyb25tZW50IHRoYXQgY291bGQgcG90ZW50aWFsbHkgYmUgdXRpbGl6ZWQgdG8gcmVndWxhdGUgb3VyIFByaW1lLUVkaXRpbmcgY29tcGxleCBpbiBhIHRhcmdldGVkIG1hbm5lci4gR2l2ZW4gdGhlc2Ugc3BlY2lmaWMgaW9uaWMgY2hhbmdlcyBpbiB0aGUgY2VsbCwgd2UgY291bGQgaGF2ZSBhIGRpc2Vhc2Utc3BlY2lmaWMgcmVndWxhdGlvbiBvZiBvdXIgUHJpbWUtRWRpdGluZyBzeXN0ZW0gYmFzZWQgb24gdGhlIGlvbmljIHNpdHVhdGlvbiB0eXBpY2FsIG9mIHRoaXMgY29uZGl0aW9uLiBIb3dldmVyLCBkZXNwaXRlIHRoZSBpbml0aWFsIHByb21pc2Ugb2YgdGhpcyBhcHByb2FjaCwgYWZ0ZXIgZnVydGhlciByZXNlYXJjaCwgd2UgY29uY2x1ZGVkIHRoYXQgdGhlIHJpYm9zd2l0Y2gsIGV2ZW4gY29uc2lkZXJpbmcgdGhlIGlvbiBsZXZlbHMgd2l0aGluIGVwaXRoZWxpYWwgY2VsbHMsIGlzIG92ZXJhbGwgdG9vIG5vbnNwZWNpZmljIGFuZCB0aGVyZWZvcmUgdG9vIHVucmVsaWFibGUgYXMgYSByZWd1bGF0b3J5IG1lY2hhbmlzbS4gQWx0aG91Z2ggdGhlIGlvbiBsZXZlbHMgaW4gQ0ZUUiBjZWxscyBhcmUgbXVjaCBsb3dlciwgdGhlcmUgYXJlIHN0aWxsIGxvdyBjb25jZW50cmF0aW9ucyBvZiBzb2RpdW0gaW9ucywgd2hpY2ggY2FuIGxlYWQgdG8gdGhlIHJpYm9zd2l0Y2ggbm90IGJlaW5nIGNvbXBsZXRlbHkgc3dpdGNoZWQgb2ZmLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZ3VyZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Jpb3NhZmV0eS93aWtpL2JpbGQtMi5wbmdcIiBzdHlsZT17e2hlaWdodDogXCIxMCVcIiwgd2lkdGg6IFwiYXV0b1wifX0vPlxuICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+RmlndXJlIDY8L2I+SWxsdXN0cmF0aW9uIG9mIHRoZSBtZWNoYW5pc20gb2YgYWN0aW9uIG9mIHRoZSByaWJvc3dpdGNoLiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIEFzIGEgZnVydGhlciBhcHByb2FjaCB0byBkZXZlbG9waW5nIGFsdGVybmF0aXZlIHJpYm9zd2l0Y2ggdmFyaWFudHMsIHdlIGNvbnNpZGVyZWQgdGhlIHBvc3NpYmlsaXR5IG9mIGFuIFJOQS1yZWd1bGF0ZWQgcmlib3N3aXRjaCB0YXJnZXRpbmcgdGhlIGRlZmVjdGl2ZSBtUk5BIHNlcXVlbmNlIG9mIHRoZSBnZW5ldGljYWxseSBkZWZlY3RpdmUgQ0ZUUiBnZW5lLiBUaGUgYmFzaWMgaWRlYSBiZWhpbmQgdGhpcyBjb25jZXB0IHdhcyB0aGF0IHRoZSByaWJvc3dpdGNoIHNwZWNpZmljYWxseSBiaW5kcyB0byBhIHJlZ2lvbiBvbiB0aGUgQ0ZUUiBtUk5BIGNvbnRhaW5pbmcgdGhlIEY1MDhcdTAzOTQgbXV0YXRpb24uIFRoaXMgYmluZGluZyBzaG91bGQgaW5kdWNlIGEgc3RydWN0dXJhbCBjaGFuZ2UgaW4gdGhlIHJpYm9zd2l0Y2ggb24gb3VyIHByaW1lIGVkaXRpbmcgY29tcGxleFx1MjAxOXMgbVJOQSB0aGF0IHVsdGltYXRlbHkgbGVhZHMgdG8gZXhwb3N1cmUgb2YgdGhlIFJCUyB0byBhbGxvdyB0cmFuc2xhdGlvbiBvZiB0aGUgZG93bnN0cmVhbSBzZXF1ZW5jZS4gVGhpcyBtZWNoYW5pc20gd291bGQgYmUgZGVzaWduZWQgdG8gcmVhY3Qgc3BlY2lmaWNhbGx5IHRvIHRoZSBkZWZlY3RpdmUgQ0ZUUiBtUk5BIGFuZCBvbmx5IGNhdXNlIGEgY2hhbmdlIGluIHRoZSBzZWNvbmRhcnkgc3RydWN0dXJlIGluIHRoZSBwcmVzZW5jZSBvZiB0aGUgc3BlY2lmaWMgbXV0YXRpb24uIFRoZSByaWJvc3dpdGNoIGNvdWxkIHRodXMgZW5zdXJlIHNlbGVjdGl2ZSBhbmQgZGlzZWFzZS1zcGVjaWZpYyBhY3RpdmF0aW9uIG9mIG91ciBwcmltZSBlZGl0aW5nIGNvbXBsZXgsIHdoaWNoIHdvdWxkIGJlIG9mIHBhcnRpY3VsYXIgaW50ZXJlc3QgaW4gdGhlIGNvbnRleHQgb2YgZ2VuZXRpYyBkaXNlYXNlcyBzdWNoIGFzIGN5c3RpYyBmaWJyb3Npcy4gSG93ZXZlciwgd2UgZGlkIG5vdCBwdXJzdWUgdGhpcyBhcHByb2FjaCBhbnkgZnVydGhlci4gQSBtYWpvciByZWFzb24gZm9yIHRoaXMgd2FzIHRoZSBsYWNrIG9mIHN1ZmZpY2llbnQgbGl0ZXJhdHVyZSBwcm92aWRpbmcgYSBzb3VuZCBzY2llbnRpZmljIGJhc2lzIGZvciB0aGlzIHNwZWNpZmljIGFwcGxpY2F0aW9uIG9mIGEgcmlib3N3aXRjaC4gSW5cbiAgICAgICAgICBhZGRpdGlvbiwgb3VyIHJlc2VhcmNoIHN0ZWVyZWQgdXMgaW4gYSBkaWZmZXJlbnQgZGlyZWN0aW9uLCBwYXJ0aWN1bGFybHkgd2l0aCByZWdhcmQgdG8gdGhlIGFsdGVybmF0aXZlIG1lY2hhbmlzbSBpbnZvbHZpbmcgdGhlIFhCUDEgaW50cm9uIHRvIHJlZ3VsYXRlIHRoZSBwcmltZSBlZGl0aW5nIHN5c3RlbS4gVGhpcyBhbHRlcm5hdGl2ZSBzZWVtZWQgbW9yZSBwcm9taXNpbmcgYW5kIHdhcyBiYXNlZCBvbiBhbiBlc3RhYmxpc2hlZCByZWd1bGF0b3J5IG1lY2hhbmlzbSB0aGF0IGlzIHRyaWdnZXJlZCBieSBjZWxsdWxhciBzdHJlc3MgYW5kIHNwZWNpZmljYWxseSByZXNwb25kcyB0byBtaXNmb2xkaW5nIHByb2Nlc3Nlcy5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPEg0IHRleHQ9XCJYQlAxIEludHJvblwiPjwvSDQ+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICBBZnRlciBleHRlbnNpdmUgcmVzZWFyY2gsIHdlIGRpc2NvdmVyZWQgYSByZWd1bGF0b3J5IHN5c3RlbSBpbiBldWthcnlvdGljIGNlbGxzLCB0aGUgWEJQMSBtZWNoYW5pc20uIFRoZSBhY3RpdmF0aW9uIG9mIFhCUDEgaXMgYW4gaW1wb3J0YW50IG1lY2hhbmlzbSB0aGF0IG9jY3VycyBhcyBwYXJ0IG9mIHRoZSBVbmZvbGRlZCBQcm90ZWluIFJlc3BvbnNlIChVUFIpLCBhIGNlbGx1bGFyIHN0cmVzcyByZXNwb25zZSB0cmlnZ2VyZWQgYnkgdGhlIGFjY3VtdWxhdGlvbiBvZiBtaXNmb2xkZWQgcHJvdGVpbnMgaW4gdGhlIGVuZG9wbGFzbWljIHJldGljdWx1bSAoRVIpLiBUaGUgRVIgaXMgYSBrZXkgY2VsbHVsYXIgY29tcG9uZW50IHJlc3BvbnNpYmxlIGZvciBwcm90ZWluIGZvbGRpbmcgYW5kIHRyYW5zcG9ydC4gV2hlbiBtYW55IG1pc2ZvbGRlZCBwcm90ZWlucyBhY2N1bXVsYXRlIGluIHRoZSBFUiwgYSBzcGVjaWZpYyByZWd1bGF0b3J5IG1lY2hhbmlzbSBpcyBhY3RpdmF0ZWQgdG8gcmVkdWNlIHRoZSBzdHJlc3Mgb24gdGhlIEVSLiBYQlAxIGFjdGl2YXRpb24gaXMgY29udHJvbGxlZCBieSBhIHByb3RlaW4gY2FsbGVkIElSRTFcdTAzQjEsIHdoaWNoIGlzIGVtYmVkZGVkIGluIHRoZSBFUiBtZW1icmFuZS4gSVJFMVx1MDNCMSBhY3RzIGFzIGEgc2Vuc29yIGZvciBwcm90ZWluIG1pc2ZvbGRpbmcgc3RyZXNzIGluIHRoZSBFUi4gT25jZSBJUkUxXHUwM0IxIGRldGVjdHMgbWlzZm9sZGVkIHByb3RlaW5zLCBpdCBkaW1lcml6ZXMgYW5kIGJlY29tZXMgYWN0aXZhdGVkIHRocm91Z2ggYXV0b3Bob3NwaG9yeWxhdGlvbi4gVGhpcyBhY3RpdmF0aW9uIHN3aXRjaGVzIG9uIHRoZSBlbmRvcmlib251Y2xlYXNlIGFjdGl2aXR5IG9mIElSRTFcdTAzQjEsIHdoaWNoIGlzIGEgY3J1Y2lhbCBzdGVwIGluIHRoZSBhY3RpdmF0aW9uIG9mIFhCUDEuIFRoZSBtUk5BIGZvciBYQlAxIGlzIGNvbnRpbnVvdXNseSB0cmFuc2NyaWJlZCBpbiB0aGUgbnVjbGV1cyBhbmQgdHJhbnNwb3J0ZWQgdG8gdGhlIGN5dG9wbGFzbSwgd2hlcmUgaXQgY29udGFpbnMgYW4gaW50cm9uIHRoYXQgaXMgbm90IG5vcm1hbGx5IHNwbGljZWQgb3V0LiBUaGlzIGludHJvbiBjb250YWlucyBhIHN0b3AgY29kb24sIHByZXZlbnRpbmcgdGhlIHRyYW5zbGF0aW9uIG9mIGEgZnVuY3Rpb25hbCBYQlAxIHByb3RlaW4uIEhvd2V2ZXIsIHdoZW4gRVIgc3RyZXNzIGFjdGl2YXRlcyBJUkUxXHUwM0IxLCB0aGUgZW5kb3JpYm9udWNsZWFzZSBkb21haW4gb2YgSVJFMVx1MDNCMSBzcGxpY2VzIHRoaXMgaW50cm9uIG91dCBvZiB0aGUgWEJQMSBtUk5BLiBUaGlzIGlzIGFuIHVuY29udmVudGlvbmFsIHNwbGljaW5nIGV2ZW50LCBhcyBpdCBvY2N1cnMgaW4gdGhlIGN5dG9wbGFzbSByYXRoZXIgdGhhbiBpbiB0aGUgbnVjbGV1cy4gT25jZSB0aGUgaW50cm9uIGlzIHJlbW92ZWQsIHRoZSBzcGxpY2VkIFhCUDEgbVJOQSBjYW4gYmUgdHJhbnNsYXRlZCBpbnRvIGEgZnVuY3Rpb25hbCBYQlAxIHByb3RlaW4uIFRoaXMgYWN0aXZhdGVkIFhCUDEgYWN0cyBhcyBhIHRyYW5zY3JpcHRpb24gZmFjdG9yLCB0dXJuaW5nIG9uIGdlbmVzIHRoYXQgaW5jcmVhc2UgdGhlIHByb3RlaW4tZm9sZGluZyBjYXBhY2l0eSBvZiB0aGUgRVIgYW5kIHByb21vdGUgdGhlIGRlZ3JhZGF0aW9uIG9mIG1pc2ZvbGRlZCBwcm90ZWlucy4gSW4gdGhpcyB3YXksIFhCUDEgaGVscHMgdGhlIGNlbGwgY29wZSB3aXRoIEVSIHN0cmVzcyBhbmQgcmVzdG9yZSBiYWxhbmNlIGluIHRoZSBwcm90ZWluLWZvbGRpbmcgcHJvY2Vzcy4gVGh1cywgdGhpcyBtZWNoYW5pc20gb3JpZ2luYWxseSBmdW5jdGlvbnMgd2l0aGluIHRoZSBjZWxsIGluIHRoZSBjb250ZXh0IG9mIEVSIHN0cmVzcyB0byBtYWludGFpbiBFUiBmdW5jdGlvbiB3aGVuIHByb3RlaW4gZm9sZGluZyBpcyBkaXNydXB0ZWQuIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiNVwiLz48U3VwU2Nyb2xsTGluayBsYWJlbD1cIjZcIi8+IE91ciBpZGVhIHdhcyB0aGVyZWZvcmUgdG8gaW50ZWdyYXRlIHRoaXMgaW50cm9uIGludG8gdGhlIG1STkEgZW5jb2Rpbmcgb3VyIHByaW1lLWVkaXRpbmcgY29tcGxleCBhbmQgdGh1cyB1c2UgdGhpcyBtZWNoYW5pc20gdG8gZW5zdXJlIHRoYXQgYSBmdW5jdGlvbmFsIHByaW1lIGVkaXRvciBpcyBvbmx5IHN5bnRoZXNpemVkIHdoZW4gdGhlcmUgaXMgYSBoaWdoIGFjY3VtdWxhdGlvbiBvZiBtaXNmb2xkZWQgcHJvdGVpbnMgaW4gdGhlIGNlbGwgKHNpbWlsYXIgdG8gRjUwOGRlbCkuIFRoaXMgd291bGQgdGhlcmVmb3JlIHJlcHJlc2VudCBhbiBvcHRpbWFsIHNhZmV0eSBhc3BlY3QsIGFzIG91ciBmdXNpb24gcHJvdGVpbiwgd2hpY2ggaXMgZXNzZW50aWFsIGZvciBwcmltZSBlZGl0aW5nLCBjYW5ub3QgYmUgZnVsbHkgc3ludGhlc2lzZWQgYXMgbG9uZyBhcyB0aGUgZ2VuZXRpYyBkZWZlY3QgaXMgbm90IHByZXNlbnQgaW4gdGhlIGNlbGwuIEFjY29yZGluZ2x5LCB0aGlzIHByb3ZpZGVzIHRoZSBzZWN1cml0eSB0aGF0IG5vIGhlYWx0aHkgY2VsbHMsIGFzIHdlbGwgYXMgY29ycmVjdGx5IGVkaXRlZCBjZWxscywgY2Fubm90IGJlIGVkaXRlZCwgd2hpY2ggaXMgYW4gZW5vcm1vdXMgY29udHJpYnV0aW9uIHRvIGJpb3NhZmV0eS4gSG93ZXZlciwgdGhlcmUgd2FzIHRvbyBtdWNoIHVuY2VydGFpbnR5IGFib3V0IHRoZSBleHRlbnQgdG8gd2hpY2ggb3RoZXIgZmFjdG9ycywgc3VjaCBhcyBtaXNmb2xkZWQgcHJvdGVpbnMgdGhhdCBhcmUgbm90IGFzc29jaWF0ZWQgd2l0aCB0aGUgQ0ZUUiBwcm90ZWluLCBwbGF5IGEgcm9sZSBpbiB0aGlzIG1lY2hhbmlzbS4gQW5kIHNpbmNlIHdlIGNvdWxkIG5vdCBhbmQgZGlkIG5vdCB3YW50IHRvIHRha2UgdGhlIHJpc2sgb2Ygc3VjaCBmYWN0b3JzIGluaXRpYXRpbmcgdGhlIHN5c3RlbSwgd2UgZGVjaWRlZCBhZ2FpbnN0IHVzaW5nIGl0LiBUbyBjbGFyaWZ5IHRoaXMgdW5rbm93biBjb3JyZWxhdGlvbiwgd2UgaGF2ZSBjb25zaWRlcmVkIGEgZnV0dXJlIGV4cGVyaW1lbnQgaW4gd2hpY2ggd2Ugd2FudCB0byBzd2l0Y2ggdGhpcyBpbnRyb24gaW4gZnJvbnQgb2YgYSBmbHVvcmVzY2VudCBtYXJrZXIgYW5kIGV4cHJlc3MgaXQgaW4gY2VsbHMgd2l0aCBkZWZlY3RpdmUgQ0ZUUiBpbiBvcmRlciB0byBjb25maXJtL2ludmVzdGlnYXRlIHRoZSBkZXBlbmRlbmNlIG9mIGludHJvbiBzcGxpY2luZyBhbmQgdGhlIHByZXNlbmNlIG9mIENGVFIgRjUwOGRlbC5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJTYWZldHkgYXNwZWN0cyBvZiBvdXIgQWlyYnVkZHlcIiBpZD1cIkJpb3NhZmV0eTJcIj5cbiAgICAgICAgICA8SDQgdGV4dD1cIlNPUlQgTE5QIGFuZCBDeXRvdG94aWNpdHlcIj48L0g0PlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFdlIGhhdmUgY2FyZWZ1bGx5IGNvbnNpZGVyZWQgdGhlIGJpb3NhZmV0eSBhc3BlY3RzIG9mIG91ciBkZWxpdmVyeSBzeXN0ZW0sIHN0YXJ0aW5nIHdpdGggdGhlIGRlY2lzaW9uIGJldHdlZW4gQWRlbm8tYXNzb2NpYXRlZCB2aXJ1c2VzIChBQVYpIG9yIExOUHMgYXMgZGVsaXZlcnkgc3lzdGVtcy4gT3VyIGNvbXBhcmlzb24gcmV2ZWFsZWQgdGhhdCB0aGUgYmlvY29tcGF0aWJpbGl0eSBhbmQgc2FmZXR5IG9mIExOUHMgYXJlIHBhcmFtb3VudCBmb3Igb3VyIGFwcHJvYWNoLiBUaGF0IGlzIHdoeSB3ZSBjaG9zZSBzZWxlY3RpdmUgb3JnYW4tdGFyZ2V0aW5nIChTT1JUKSBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSBbTGluayBMTlAgdGV4dF0gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCI3XCIvPiBpbiB0aGUgY29udGV4dCBvZiB0YXJnZXRlZCBwdWxtb25hcnkgbVJOQSBkZWxpdmVyeS4gT25lIG9mIG91ciBwcmltYXJ5IGNvbmNlcm5zIHdpdGggdGhlIExOUCB3YXMgdGhlIHBvdGVudGlhbCBjeXRvdG94aWNpdHkgb2YgcG9seWV0aHlsZW5lIGdseWNvbCAoUEVHKSwgYSBjb21tb24gc3RhYmlsaXppbmcgYWdlbnQgaW4gTE5QIGZvcm11bGF0aW9ucy4gQXdhcmUgb2YgdGhlIGltbXVuZSByZXNwb25zZXMgUEVHIGNhbiB0cmlnZ2VyLCBwb3RlbnRpYWxseSBsZWFkaW5nIHRvIGN5dG90b3hpY2l0eSA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjhcIi8+LCB3ZSBhaW1lZCBhdCBvcHRpbWl6aW5nIGl0cyBjb25jZW50cmF0aW9uIGluIG91ciBTT1JUIExOUHMgdG8gbWluaW1pemUgc3VjaCByZWFjdGlvbnMgd2hpbGUgbWFpbnRhaW5pbmcgdGhlcmFwZXV0aWMgZWZmaWNhY3kuIEJ5IHRoZSB1c2Ugb2YgbG93IG1vbGVjdWxhciB3ZWlnaHQgUEVHLCB3ZSBhZGRyZXNzZWQgdGhpcyBwcm9ibGVtLiBUbyB0ZXN0IHdlYXRoZXIgb3VyIGFwcHJvYWNoIHN1Y2NlZWRlZCwgd2UgY29uZHVjdGVkIE1UVCBhbmQgcHJvbGlmZXJhdGlvbiBhc3NheXMgdG8gZW5zdXJlIHRoYXQgb3VyIExOUCBwb3NlZCBubyBjeXRvdG94aWNpdHkgcmlza3MuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxINCB0ZXh0PVwiUHJlY2lzaW9uIG9mIG91ciBTT1JUIExOUFwiPjwvSDQ+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgVG8gZnVydGhlciBpbXByb3ZlIHNhZmV0eSwgd2UgZm9jdXNlZCBvbiByZWR1Y2luZyBvZmYtdGFyZ2V0IGVmZmVjdHMuIEJ5IGluY29ycG9yYXRpbmcgc3BlY2lmaWMgU09SVCBtb2xlY3VsZXMsIHN1Y2ggYXMgcGVybWFuZW50bHkgY2F0aW9uaWMgbGlwaWRzIGxpa2UgRE9UQVAgW0xpbmsgTE5QIGRlc2lnbl0sIHdlIGVuc3VyZWQgdGhhdCB0aGUgbmFub3BhcnRpY2xlcyBhcmUgc3lzdGVtYXRpY2FsbHkgZGlyZWN0ZWQgdG8gdGhlIGx1bmdzLiBUaGlzIHByZWNpc2UgdGFyZ2V0aW5nIGlzIHBhcnRpY3VsYXJseSBiZW5lZmljaWFsIGZvciByZXNwaXJhdG9yeSBkaXNlYXNlcywgYXMgaXQgZW5oYW5jZXMgdGhlcmFwZXV0aWMgZWZmZWN0aXZlbmVzcyB3aGlsZSBsaW1pdGluZyB0aGUgaW1wYWN0IG9uIG5vbi10YXJnZXQgb3JnYW5zLiBPdXIgb3V0bG9vayBvZiBhbnRpYm9keSBjb25qdWdhdGlvbiBhcyBzdXJmYWNlIG1vZGlmaWNhdGlvbiBvZiBvdXIgTE5QIGZvciBjZWxsIHR5cGUtc3BlY2lmaWMgZGVsaXZlcnksIG1vcmUgZXhhY3RseSBjbHViIGNlbGxzIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiOVwiLz4gYW5kIGlvbm9jeXRlcyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjEwXCIvPiBhcyBDRlRSLWV4cHJlc3NpbmcgbHVuZyBlcGl0aGVsaWFsIGNlbGxzLCB3b3VsZCByb3VuZCBvZmYgdGhpcyBhc3BlY3QuXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIEluIHN1bW1hcnksIG91ciBkZXNpZ24gc3RyYXRlZ3kgZW1waGFzaXplcyBib3RoIHNhZmV0eSBhbmQgZWZmaWNhY3kuIFRoZSBjYXJlZnVsIG9wdGltaXphdGlvbiBvZiBjb21wb25lbnRzIGxpa2UgUEVHIDIwMDAgYW5kIHRoZSB1c2Ugb2YgdGFyZ2V0ZWQgZGVsaXZlcnkgbW9sZWN1bGVzIGFsbG93IFNPUlQgTE5QcyB0byBkZWxpdmVyIHRoZXJhcGV1dGljIGFnZW50cyBkaXJlY3RseSB0byB0aGUgbHVuZ3MsIHJlZHVjaW5nIHN5c3RlbWljIGV4cG9zdXJlIGFuZCBtaW5pbWl6aW5nIHNpZGUgZWZmZWN0cy4gVGhpcyB0YXJnZXRlZCBhcHByb2FjaCBlbnN1cmVzIG1vcmUgZWZmZWN0aXZlIHRyZWF0bWVudHMsIGVzcGVjaWFsbHkgZm9yIGNvbmRpdGlvbnMgcmVxdWlyaW5nIGxvY2FsaXplZCBpbnRlcnZlbnRpb24uXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICA8L1NlY3Rpb24+XG4gICAgICA8U2VjdGlvbiB0aXRsZT1cIkJpb3NlY3VyaXR5XCIgaWQ9XCJCaW9zZWN1cml0eVwiPlxuICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkFib3V0IE91ciBQcm9qZWN0XCIgaWQ9XCJCaW9zZWN1cml0eTFcIj5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICBPdXIgcHJvamVjdCBmb2N1c2VzIG9uIHRoZSBnZW5ldGljIGRpc2Vhc2UgY3lzdGljIGZpYnJvc2lzLCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHRoZSBEZWx0YS01MDggbXV0YXRpb24uIFRoZSBhaW0gaXMgdG8gY29ycmVjdCB0aGlzIG11dGF0aW9uIHVzaW5nIFByaW1lIEVkaXRpbmcsIGEgcHJlY2lzZSBnZW5vbWUtZWRpdGluZyB0ZWNobmlxdWUuIFdlIGhhdmUgZXhwbG9yZWQgZGlmZmVyZW50IHN0cmF0ZWdpZXMgdG8gb3B0aW1pemUgdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleCBmb3IgdGhpcyBzcGVjaWZpYyBhcHBsaWNhdGlvbi4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXggY29uc2lzdHMgb2YgYSBuaWNrYXNlLCBhIHJldmVyc2UgdHJhbnNjcmlwdGFzZSwgYSBwZWdSTkEuIFRoZSBwZWdSTkEgZ3VpZGVzIHRoZSBlZGl0aW5nIHByb2Nlc3MgYnkgZGlyZWN0aW5nIHRoZSBjb21wbGV4IHRvIHRoZSB0YXJnZXQgRE5BIHNlcXVlbmNlLCBhbGxvd2luZyBmb3IgcHJlY2lzZSBnZW5ldGljIG1vZGlmaWNhdGlvbnMuIEZvciB0YXJnZXRlZCBkZWxpdmVyeSwgd2Ugc2VsZWN0ZWQgTE5QcyB0byBpbnRyb2R1Y2UgdGhlIG1STkEgZW5jb2RpbmcgdGhlIFByaW1lIEVkaXRpbmcgY29tcG9uZW50cyBzcGVjaWZpY2FsbHkgaW50byBsdW5nIGVwaXRoZWxpYWwgY2VsbHMsIHdoZXJlIHRoZSBDRlRSIHByb3RlaW4gaXMgaGlnaGx5IGV4cHJlc3NlZC4gQWRkaXRpb25hbGx5LCB3ZSBpbnZlc3RpZ2F0ZWQgYWx0ZXJuYXRpdmVzIHRvIHRoZSBjb252ZW50aW9uYWwgQ2FzOSBuaWNrYXNlLCBzdWNoIGFzIHRoZSBzbWFsbGVyIENhc1ggYW5kIEZhbnpvciwgYWltaW5nIHRvIHJlZHVjZSB0aGUgb3ZlcmFsbCBzaXplIG9mIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXguIEluIG91ciBvcHRpbWl6YXRpb24gZWZmb3J0cywgd2UgYWxzbyBleHBsb3JlZCBzbWFsbGVyIHJldmVyc2UgdHJhbnNjcmlwdGFzZXMgdG8gZW5oYW5jZSB0aGUgZWZmaWNpZW5jeSBvZiB0aGUgc3lzdGVtIGluIGh1bWFuIGNlbGxzLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgRnVydGhlcm1vcmUsIHdlIGhhdmUgZGV2ZWxvcGVkIGEgbW9kdWxhciBwbGFzbWlkIHRoYXQgY29udGFpbnMgdGhlIGJhY2tib25lIG9mIG91ciBQcmltZSBFZGl0aW5nIGNvbXBsZXguIFRoZSBpbmRpdmlkdWFsIGNvbXBvbmVudHMgY2FuIGJlIGNsb25lZCBpbmRpdmlkdWFsbHkgaW50byB0aGUgYmFja2JvbmUuIFRoaXMgcGxhc21pZCBhbGxvd3MgdXMgdG8gZWl0aGVyIGRlbGl2ZXIgdGhlIGNvbnN0cnVjdCBkaXJlY3RseSBpbnRvIHRhcmdldCBjZWxscyBvciB0cmFuc2NyaWJlIHRoZSBwbGFzbWlkIGludG8gUk5BLCBlbmFibGluZyB0aGUgZGVsaXZlcnkgb2YgdGhlIFByaW1lIEVkaXRpbmcgY29tcGxleCBpbiB0aGUgZm9ybSBvZiBtUk5BLiBUaGUgbW9kdWxhcml0eSBvZiB0aGUgcGxhc21pZCBpcyBhIGtleSBmZWF0dXJlOyBzcGVjaWZpYyByZXN0cmljdGlvbiBzaXRlcyBhcmUgaW5jbHVkZWQgdG8gZmFjaWxpdGF0ZSB0aGUgZWFzeSBleGNoYW5nZSBvZiB0aGUgY29tcGxleCdzIGNvbXBvbmVudHMuIFRoaXMgZGVzaWduIG1ha2VzIGl0IHN0cmFpZ2h0Zm9yd2FyZCB0byBhZGFwdCB0aGUgUHJpbWUgRWRpdGluZyBjb21wbGV4IGZvciB2YXJpb3VzIHVzZSBjYXNlcyBhbmQgdGhlcmFwZXV0aWMgcmVxdWlyZW1lbnRzLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgV2UgaGF2ZSBpbnZlc3RpZ2F0ZWQgc2FmZXR5IG1lY2hhbmlzbXMgdG8gY29udHJvbCB0aGUgcHJpbWUtZWRpdGluZyBjb21wbGV4LCBpbmNsdWRpbmcgYSByaWJvc3dpdGNoIHRoYXQgcmVzcG9uZHMgdG8gc29kaXVtIGlvbiBjb25jZW50cmF0aW9ucywgYnV0IGhhdmUgZGlzY2FyZGVkIGl0IGR1ZSB0byBzdXNwZWN0ZWQgaW5zdWZmaWNpZW50IHNlbnNpdGl2aXR5LiBXZSBhcmUgY3VycmVudGx5IGludmVzdGlnYXRpbmcgdGhlIHVzZSBvZiB0aGUgRVIgc3RyZXNzIHJlc3BvbnNlIHRvIGFjdGl2YXRlIHRoZSBwcmltZSBlZGl0aW5nIGNvbXBsZXggb25seSBpbiBjZWxscyB3aXRoIGhpZ2ggRVIgc3RyZXNzLCBhcyBpcyB0eXBpY2FsIGZvciBjeXN0aWMgZmlicm9zaXMuIEZ1cnRoZXIgZGV0YWlscyBjYW4gYmUgZm91bmQgaW4gdGhlIEJpb3NhZmV0eSBzZWN0aW9uLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJBc3Nlc3NpbmcgUHJvamVjdCBSaXNrc1wiIGlkPVwiQmlvc2VjdXJpdHkyXCI+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgR2l2ZW4gdGhlIHNlbnNpdGl2ZSBuYXR1cmUgb2YgZ2Vub21lIGVkaXRpbmcsIG91ciBwcm9qZWN0IHByZXNlbnRzIHNwZWNpZmljIGJpb3NlY3VyaXR5IGNvbmNlcm5zIHRoYXQgbmVlZCB0byBiZSBhc3Nlc3NlZCBhbmQgbWl0aWdhdGVkLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICA8c3Ryb25nPkR1YWwtVXNlIFBvdGVudGlhbDo8L3N0cm9uZz4gT25lIG9mIHRoZSBtYWluIGJpb3NlY3VyaXR5IHJpc2tzIGlzIHRoZSBwb3RlbnRpYWwgZm9yIGR1YWwtdXNlIG9mIHRoZSBQcmltZSBFZGl0aW5nIHRlY2hub2xvZ3kuIFRoZSBzeXN0ZW0gd2UgYXJlIGRldmVsb3BpbmcsIHdoaWxlIGludGVuZGVkIGZvciB0aGVyYXBldXRpYyB1c2UsIGNvdWxkIGJlIG1pc3VzZWQgdG8gdGFyZ2V0IG90aGVyIGdlbmVzIG9yIGdlbm9tZXMgZm9yIG1hbGljaW91cyBwdXJwb3Nlcy4gPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxMVwiLz4gVGhpcyBpbmNsdWRlcyB0aGUgcG9zc2liaWxpdHkgb2Ygd2VhcG9uaXppbmcgdGhlIHRlY2hub2xvZ3kgdG8gaW5kdWNlIGhhcm1mdWwgZ2VuZXRpYyBjaGFuZ2VzIGluIGNyb3BzLCBhbmltYWxzLCBvciBldmVuIGh1bWFucy4gVGhlIG1vZHVsYXIgZGVzaWduIG9mIG91ciBwbGFzbWlkIHN5c3RlbSwgYWx0aG91Z2ggaW50ZW5kZWQgdG8gZmFjaWxpdGF0ZSBvcHRpbWl6YXRpb24sIGNvdWxkIGJlIGV4cGxvaXRlZCB0byBleGNoYW5nZSBjb21wb25lbnRzIGZvciBoYXJtZnVsIGFwcGxpY2F0aW9ucywgdGhlcmVieSBpbmNyZWFzaW5nIHRoZSByaXNrIG9mIG1pc3VzZS4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPHN0cm9uZz5VbmludGVuZGVuZCBEaXNzZW1pbmF0aW9uOjwvc3Ryb25nPiBTaW5jZSBvdXIgYXBwcm9hY2ggdXNlcyBtUk5BIGRlbGl2ZXJlZCB2aWEgTE5QcywgdGhlcmUgaXMgYSByaXNrIG9mIHVuaW50ZW5kZWQgZGlzc2VtaW5hdGlvbiBpbnRvIHRoZSBlbnZpcm9ubWVudC4gSWYgdGhlIExOUHMgYXJlIG5vdCBhZGVxdWF0ZWx5IGNvbnRhaW5lZCBvciBkaXNwb3NlZCBvZiwgdGhlcmUgaXMgYSBwb3NzaWJpbGl0eSB0aGF0IHRoZXkgY291bGQgYmUgYWJzb3JiZWQgYnkgbm9uLXRhcmdldCBvcmdhbmlzbXMsIHBvdGVudGlhbGx5IGxlYWRpbmcgdG8gb2ZmLXRhcmdldCBnZW5ldGljIG1vZGlmaWNhdGlvbnMuPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxMlwiLz4gSW4gYWRkaXRpb24sIHRoZSBtUk5BIGl0c2VsZiBjb3VsZCB0aGVvcmV0aWNhbGx5IGJlIHRyYW5zZmVycmVkIGJldHdlZW4gY2VsbHMsIGVzcGVjaWFsbHkgaWYgdGFrZW4gdXAgYnkgdW5pbnRlbmRlZCBob3N0cywgcmFpc2luZyBjb25jZXJucyBhYm91dCB1bmludGVudGlvbmFsIHNwcmVhZCBpbiB0aGUgZW52aXJvbm1lbnQuIFxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgIDxzdHJvbmc+VW5hdXRob3JpemVkIEFjY2Vzczo8L3N0cm9uZz4gVGhlIGdlbmV0aWMgY29uc3RydWN0cyBhbmQgdGhlIGRldGFpbGVkIG1ldGhvZG9sb2d5IG9mIG91ciBQcmltZSBFZGl0aW5nIHN5c3RlbSBtdXN0IGJlIHNlY3VyZWx5IHN0b3JlZCBhbmQgcHJvdGVjdGVkLjxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMTNcIi8+IElmIHVuYXV0aG9yaXplZCBpbmRpdmlkdWFscyB3ZXJlIHRvIGdhaW4gYWNjZXNzIHRvIHRoZSBwbGFzbWlkcywgTE5QIGZvcm11bGF0aW9ucywgb3IgZWRpdGluZyBwcm90b2NvbHMsIHRoZXJlIGlzIGEgcmlzayBvZiB0aGUgdGVjaG5vbG9neSBiZWluZyByZXBsaWNhdGVkIG9yIGFkYXB0ZWQgZm9yIHVuaW50ZW5kZWQsIHBvdGVudGlhbGx5IGhhcm1mdWwgdXNlcy4gVGhpcyBoaWdobGlnaHRzIHRoZSBpbXBvcnRhbmNlIG9mIHByb3BlciBiaW9zZWN1cml0eSBwcm90b2NvbHMgaW4gYm90aCBwaHlzaWNhbCBhbmQgZGlnaXRhbCBzdG9yYWdlIG9mIG91ciBwcm9qZWN0IG1hdGVyaWFscy4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPHN0cm9uZz5TeW50aGV0aWMgQmlvbG9neSBhbmQgaW5mb3JtYXRpb24gU2hhcmluZzo8L3N0cm9uZz4gVGhlIGVhc2Ugb2Ygc3ludGhlc2l6aW5nIGdlbmV0aWMgbWF0ZXJpYWwgbWVhbnMgdGhhdCBvdXIgcHJvamVjdCBpbmZvcm1hdGlvbiBjb3VsZCBwb3RlbnRpYWxseSBiZSB1c2VkIHRvIG9yZGVyIHNpbWlsYXIgY29uc3RydWN0cyBmcm9tIGNvbW1lcmNpYWwgc3ludGhlc2lzIHByb3ZpZGVycy48U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE0XCIvPiBXaGlsZSB0aGVzZSBwcm92aWRlcnMgZm9sbG93IGJpb3NlY3VyaXR5IGd1aWRlbGluZXMsIHRoZSBpbmNyZWFzaW5nIGFjY2Vzc2liaWxpdHkgb2Ygc3ludGhldGljIGJpb2xvZ3kgcmFpc2VzIHRoZSBjb25jZXJuIG9mIG91ciBQcmltZSBFZGl0aW5nIHN5c3RlbSBiZWluZyByZXByb2R1Y2VkIG9yIG1vZGlmaWVkIHdpdGhvdXQgb3VyIGtub3dsZWRnZS4gVGhpcyBpbmNsdWRlcyBwb3RlbnRpYWwgYXR0ZW1wdHMgdG8gYnlwYXNzIHNhZmV0eSBtZWNoYW5pc21zIG9yIGNyZWF0ZSB2YXJpYW50cyB0aGF0IGV2YWRlIGN1cnJlbnQgcmVndWxhdG9yeSBmcmFtZXdvcmtzLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICA8c3Ryb25nPlB1YmxpYyBQZXJjZXB0aW9uIGFuZCBNaXNjb21tdW5pY2F0aW9uOjwvc3Ryb25nPiBUaGVyZSBpcyBhIGJpb3NlY3VyaXR5IHJpc2sgaW4gaG93IG91ciBwcm9qZWN0J3MgdGVjaG5vbG9neSBpcyBjb21tdW5pY2F0ZWQgdG8gdGhlIHB1YmxpYy48U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE1XCIvPiBNaXNjb21tdW5pY2F0aW9uIG9yIG1pc3VuZGVyc3RhbmRpbmcgb2YgdGhlIHByb2plY3RcdTIwMTlzIGludGVudCBhbmQgY2FwYWJpbGl0aWVzIGNvdWxkIGxlYWQgdG8gbWlzaW5mb3JtYXRpb24sIGZlYXIsIG9yIGV2ZW4gYXR0ZW1wdHMgdG8gcmVwbGljYXRlIHRoZSB0ZWNobm9sb2d5IG91dHNpZGUgb2YgY29udHJvbGxlZCBhbmQgcmVndWxhdGVkIGVudmlyb25tZW50cy4gVGhpcyBjb3VsZCB1bmRlcm1pbmUgcHVibGljIHRydXN0IGluIGxlZ2l0aW1hdGUgdGhlcmFwZXV0aWMgdXNlcyBvZiBnZW5vbWUtZWRpdGluZyB0ZWNobm9sb2dpZXMgYW5kIHBvdGVudGlhbGx5IGZhY2lsaXRhdGUgbWlzdXNlLiAgXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiTWFuYWdpbmcgUmlza3NcIiBpZD1cIkJpb3NlY3VyaXR5M1wiPlxuICAgICAgICAgIDxINSB0ZXh0PVwiRHVhbC1Vc2UgUG90ZW50aWFsXCI+PC9INT5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICBUbyBtaXRpZ2F0ZSB0aGUgcmlzayBvZiBkdWFsLXVzZSwgd2hlcmUgb3VyIFByaW1lIEVkaXRpbmcgdGVjaG5vbG9neSBjb3VsZCBiZSBleHBsb2l0ZWQgZm9yIHVuaW50ZW5kZWQgYW5kIHBvdGVudGlhbGx5IGhhcm1mdWwgcHVycG9zZXMsIHdlIGhhdmUgaW1wbGVtZW50ZWQgc2V2ZXJhbCBzdHJhdGVnaWVzLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgRmlyc3RseSwgd2Ugc3RyaWN0bHkgY29udHJvbCBhY2Nlc3MgdG8gYWxsIG91ciBwcm9qZWN0IGRhdGEsIGluY2x1ZGluZyBnZW5ldGljIHNlcXVlbmNlcywgcGxhc21pZCBkZXNpZ25zLCBhbmQgcHJvdG9jb2xzLiBBY2Nlc3MgaXMgbGltaXRlZCB0byBhdXRob3JpemVkIHRlYW0gbWVtYmVycyBhbmQgY29sbGFib3JhdG9ycyB3aG8gZm9sbG93IHN0cmljdCBiaW9zZWN1cml0eSBndWlkZWxpbmVzLiBGdXJ0aGVyIGVsYWJvcmF0aW9uIG9uIHRoZXNlIGFjY2VzcyBjb250cm9scyB3aWxsIGJlIHByb3ZpZGVkIGluIHRoZSBcIlVuYXV0aG9yaXplZCBBY2Nlc3NcIiBzZWN0aW9uLlxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICBTZWNvbmRseSwgd2UgaW50ZW5kIHRvIGluY29ycG9yYXRlIGEgc2FmZXR5IG1lY2hhbmlzbSBpbnRvIG91ciBQcmltZSBFZGl0aW5nIGNvbXBsZXggdGhhdCBzaWduaWZpY2FudGx5IGxpbWl0cyBpdHMgcG90ZW50aWFsIG1pc3VzZS4gQnkgdXRpbGl6aW5nIHRoZSBFUiBzdHJlc3MgcmVzcG9uc2UgcGF0aHdheSwgd2Ugd291bGQgZGVzaWduIG91ciB0aGVyYXBldXRpYyBtUk5BIHRvIHVuZGVyZ28gdW5jb252ZW50aW9uYWwgc3BsaWNpbmcgb25seSBpbiBjZWxscyBleHBlcmllbmNpbmcgaGlnaCBsZXZlbHMgb2YgcHJvdGVpbiBzdHJlc3MuIE9ubHkgdGhpcyB1bmNvbnZlbnRpb25hbCBzcGxpY2luZyB3b3VsZCBjb252ZXJ0IHRoZSBtUk5BIGludG8gYSBmb3JtIHRoYXQgY2FuIGJlIHRyYW5zbGF0ZWQgaW50byB0aGUgZmluYWwgUEUgY29tcGxleC4gVGhpcyBtZWNoYW5pc20gZW5zdXJlcyB0aGF0IHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXggYmVjb21lcyBhY3RpdmUgcHJpbWFyaWx5IGluIGNlbGxzIHVuZGVyIHN1Y2ggc3RyZXNzIGNvbmRpdGlvbnMuIFdoaWxlIHRoaXMgZG9lcyBub3QgZXhjbHVzaXZlbHkgbGltaXQgdGhlIGNvbXBsZXggdG8gY3lzdGljIGZpYnJvc2lzLWFmZmVjdGVkIGNlbGxzLCBpdCBjb25zaWRlcmFibHkgbmFycm93cyB0aGUgcmFuZ2Ugb2YgY2VsbHMgd2hlcmUgYWN0aXZhdGlvbiBjYW4gb2NjdXIsIHRodXMgcHJldmVudGluZyBhcmJpdHJhcnkgYXBwbGljYXRpb24gb2YgdGhlIGVkaXRpbmcgc3lzdGVtIGFuZCByZWR1Y2luZyB0aGUgcmlzayBvZiB0YXJnZXRpbmcgdW5pbnRlbmRlZCBjZWxscy4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFRvZ2V0aGVyLCB0aGVzZSBtZWFzdXJlcyBwcm92aWRlIGEgbGF5ZXIgb2YgcHJvdGVjdGlvbiBhZ2FpbnN0IGR1YWwtdXNlIHJpc2tzLCBtYWtpbmcgaXQgbW9yZSBkaWZmaWN1bHQgZm9yIHRoZSB0ZWNobm9sb2d5IHRvIGJlIGVtcGxveWVkIG91dHNpZGUgb2YgaXRzIGludGVuZGVkIHRoZXJhcGV1dGljIGNvbnRleHQuICBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIlVuaXRlbmRlZCBEaXNzZW1pbmF0aW9uXCI+PC9INT5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgVG8gbWluaW1pemUgdGhlIHJpc2sgb2Ygb3VyIGNvbnN0cnVjdCBiZWluZyBpbmFkdmVydGVudGx5IHJlbGVhc2VkIGludG8gdGhlIGVudmlyb25tZW50LCB3ZSBhZGhlcmUgdG8gc3RyaWN0IHN0YW5kYXJkIG9wZXJhdGluZyBwcm9jZWR1cmVzIChTT1BzKSBpbiB0aGUgbGFib3JhdG9yeS4gVGhlc2UgU09QcyBhcmUgZGVzaWduZWQgdG8gZW5zdXJlIHRoYXQgYWxsIHNhZmV0eSBzdGFuZGFyZHMgYXJlIG1haW50YWluZWQsIHBhcnRpY3VsYXJseSB3aGVuIGhhbmRsaW5nIExOUHMpIGFuZCBnZW5ldGljIG1hdGVyaWFscy4gVGhpcyBpbmNsdWRlcyByaWdvcm91cyBwcm90b2NvbHMgZm9yIHN0b3JhZ2UsIGRpc3Bvc2FsLCBhbmQgZGVjb250YW1pbmF0aW9uLCByZWR1Y2luZyB0aGUgY2hhbmNlIG9mIGFjY2lkZW50YWwgZGlzc2VtaW5hdGlvbiBvZiB0aGUgbWF0ZXJpYWxzIHdlIHdvcmsgd2l0aC4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIEluIGFkZGl0aW9uIHRvIG91ciBsYWJvcmF0b3J5IHByYWN0aWNlcywgd2UgaGF2ZSBmb3JtdWxhdGVkIG91ciBMTlBzIHdpdGggc3BlY2lmaWMgY2hlbWljYWwgY29tcG9uZW50cyB0aGF0IGVuYWJsZSB0aGVtIHRvIHNlbGVjdGl2ZWx5IGZ1c2Ugd2l0aCBsdW5nIGVwaXRoZWxpYWwgY2VsbHMsIHN1Y2ggYXMgaW9ub2N5dGVzIGFuZCBjbHViIGNlbGxzLCB3aGljaCBleHByZXNzIENGVFIuIFRoaXMgc2VsZWN0aXZlIGZ1c2lvbiBlbnN1cmVzIHRoYXQgZXZlbiBpZiB0aGUgTE5QcyB3ZXJlIHRvIGFjY2lkZW50YWxseSBlbnRlciB0aGUgZW52aXJvbm1lbnQsIHRoZXkgd291bGQgb25seSBpbnRlcmFjdCB3aXRoIHRoZSBpbnRlbmRlZCBjZWxscy4gVGhpcyBhcHByb2FjaCBzaWduaWZpY2FudGx5IGVuaGFuY2VzIHRoZSBzcGVjaWZpY2l0eSBvZiB0aGUgTE5QcyBhbmQgcHJvdmlkZXMgYW4gYWRkaXRpb25hbCBsYXllciBvZiBjb250YWlubWVudCwgdGhlcmVieSByZWR1Y2luZyB0aGUgcmlzayBvZiB1bmludGVuZGVkIGRpc3NlbWluYXRpb24gb3IgZW52aXJvbm1lbnRhbCBjb250YW1pbmF0aW9uLiAgXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIExvb2tpbmcgYWhlYWQsIHdlIHBsYW4gdG8gZnVydGhlciBlbmhhbmNlIHRoZSBzcGVjaWZpY2l0eSBvZiBvdXIgTE5QcyBieSBpbmNvcnBvcmF0aW5nIGFudGlib2RpZXMgb24gdGhlaXIgc3VyZmFjZS4gVGhlc2UgYW50aWJvZGllcyB3b3VsZCBiZSBlbmdpbmVlcmVkIHRvIGJpbmQgZXhjbHVzaXZlbHkgdG8gc3VyZmFjZSBwcm90ZWlucyBwcmVzZW50IG9uIENGVFItZXhwcmVzc2luZyBsdW5nIGVwaXRoZWxpYWwgY2VsbHMsIGFkZGluZyBhbiBleHRyYSBsYXllciBvZiBjb250cm9sLiBXaGlsZSB0aGlzIGFudGlib2R5LWJhc2VkIHRhcmdldGluZyBoYXMgbm90IHlldCBiZWVuIGltcGxlbWVudGVkLCBpdCByZXByZXNlbnRzIGEgY3J1Y2lhbCBuZXh0IHN0ZXAgaW4gb3VyIGRldmVsb3BtZW50IHByb2Nlc3MsIHJlaW5mb3JjaW5nIG91ciBjb21taXRtZW50IHRvIGJpb3NlY3VyaXR5IGJ5IGxpbWl0aW5nIHRoZSBwb3RlbnRpYWwgZm9yIHVuaW50ZW5kZWQgZGlzc2VtaW5hdGlvbi4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFRvZ2V0aGVyLCB0aGVzZSBwcmFjdGljZXMgYW5kIGRlc2lnbiBzdHJhdGVnaWVzIGhlbHAgdG8gZW5zdXJlIHRoYXQgdGhlIHJpc2sgb2Ygb3VyIGNvbnN0cnVjdHMgaW5hZHZlcnRlbnRseSBhZmZlY3Rpbmcgbm9uLXRhcmdldCBvcmdhbmlzbXMgb3IgZW52aXJvbm1lbnRzIGlzIG1pbmltaXplZC4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJVbmF1dGhvcml6ZWQgQWNjZXNzXCI+PC9INT5cbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgVG8gcHJldmVudCB1bmF1dGhvcml6ZWQgYWNjZXNzIHRvIG91ciBnZW5ldGljIHNlcXVlbmNlcywgcGxhc21pZCBjb25zdHJ1Y3RzLCBhbmQgb3RoZXIgc2Vuc2l0aXZlIGluZm9ybWF0aW9uLCB3ZSBoYXZlIGltcGxlbWVudGVkIHN0cmljdCBpbnRlcm5hbCBiaW9zZWN1cml0eSBwb2xpY2llcy4gVGhlc2UgcG9saWNpZXMgZW5zdXJlIHRoYXQgd2UgY2FyZWZ1bGx5IG1hbmFnZSB3aGljaCBtYXRlcmlhbHMgZXhpc3QgaW4gcGh5c2ljYWwgZm9ybSBhbmQgdGhlaXIgZXhhY3Qgc3RvcmFnZSBsb2NhdGlvbnMuIFxuICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICBJbiB0ZXJtcyBvZiBkaWdpdGFsIHNlY3VyaXR5LCB3ZSBzdHJpY3RseSByZWd1bGF0ZSBhY2Nlc3MgdG8gb3VyIGRhdGEgc3RvcmFnZSBzeXN0ZW1zIHRocm91Z2ggYSBjb21iaW5hdGlvbiBvZiBtZWFzdXJlcy4gV2UgdXNlIGEgc2VjdXJlLCBwYXNzd29yZC1wcm90ZWN0ZWQgY2xvdWQgc3lzdGVtLCBlbnN1cmluZyBvbmx5IGF1dGhvcml6ZWQgdGVhbSBtZW1iZXJzIGNhbiBhY2Nlc3Mgc2Vuc2l0aXZlIHByb2plY3QgaW5mb3JtYXRpb24uIEFjY2VzcyB0byB0aGUgbGFiIGlzIGxpbWl0ZWQgdG8gdGVhbSBtZW1iZXJzIHdpdGggaW50ZXJuYWwga2V5cywgYW5kIG91ciBzZXJ2ZXIgc2VjdXJpdHkgaW5jbHVkZXMgc3RyaW5nZW50IGFjY2VzcyByaWdodHMgbWFuYWdlbWVudCwgYWxsb3dpbmcgb25seSBhcHByb3ZlZCBpbmRpdmlkdWFscyB0byB2aWV3LCBtb2RpZnksIG9yIHNoYXJlIHRoZSBkYXRhLiBUaGVzZSBzYWZlZ3VhcmRzIGVuc3VyZSB0aGF0IHByb2plY3QgaW5mb3JtYXRpb24gcmVtYWlucyBwcm90ZWN0ZWQgYWdhaW5zdCB1bmF1dGhvcml6ZWQgYWNjZXNzLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgRnVydGhlcm1vcmUsIHdlIGVuc3VyZSB0aGF0IGFueSBzZW5zaXRpdmUgZGF0YSBnZW5lcmF0ZWQgZHVyaW5nIG91ciBwcm9qZWN0IGlzIG9ubHkgcHVibGlzaGVkIGluIHRoZSBzdXBwbGVtZW50YXJ5IG1hdGVyaWFscyBzZWN0aW9uLCB3aGljaCBpcyBhY2Nlc3NpYmxlIGV4Y2x1c2l2ZWx5IHRvIHRob3NlIHdpdGggYW4gb2ZmaWNpYWwgaUdFTSBhY2NvdW50LiBCeSB0YWtpbmcgdGhpcyBhcHByb2FjaCwgd2UgY2FuIGxpbWl0IHRoZSBhdmFpbGFiaWxpdHkgb2Ygc2Vuc2l0aXZlIGluZm9ybWF0aW9uIGFuZCByZWR1Y2UgdGhlIHJpc2sgb2YgaXQgYmVpbmcgbWlzdXNlZC4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJTeW50aGV0aWMgQmlvbG9neSBhbmQgSW5mb3JtYXRpb24gU2hhcmluZ1wiPjwvSDU+XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIE1hbmFnaW5nIHRoZSByaXNrcyBhc3NvY2lhdGVkIHdpdGggc3ludGhldGljIGJpb2xvZ3kgYW5kIGluZm9ybWF0aW9uIHNoYXJpbmcgaXMgYSBjb21wbGV4IGNoYWxsZW5nZS4gTWFueSBvZiB0aGUgc3RyYXRlZ2llcyB3ZSB1c2UgdG8gYWRkcmVzcyBvdGhlciByaXNrcywgc3VjaCBhcyBcIlVuYXV0aG9yaXplZCBBY2Nlc3NcIiBhbmQgXCJEdWFsLVVzZSBQb3RlbnRpYWwsXCIgYXJlIGVxdWFsbHkgcmVsZXZhbnQgaW4gdGhpcyBjb250ZXh0LiBGb3IgaW5zdGFuY2UsIG91ciBzdHJpY3QgY29udHJvbCBvdmVyIGFjY2VzcyB0byBzZW5zaXRpdmUgaW5mb3JtYXRpb24gYW5kIG91ciBzYWZldHkgbWVjaGFuaXNtcyBib3RoIGhlbHAgbWl0aWdhdGUgdGhlIHJpc2tzIHBvc2VkIGJ5IHRoZSBhY2Nlc3NpYmlsaXR5IG9mIHN5bnRoZXRpYyBiaW9sb2d5IHRvb2xzLiBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgSG93ZXZlciwgaXQgaXMgaW1wb3J0YW50IHRvIGFja25vd2xlZGdlIHRoYXQgdGhpcyByaXNrIGlzIGluaGVyZW50IHRvIHRoZSBmaWVsZCBvZiBzeW50aGV0aWMgYmlvbG9neS4gVGhlIGVhc2Ugb2Ygb2J0YWluaW5nIGluZm9ybWF0aW9uIGFuZCwgd2l0aCB0aGUgcmlnaHQgZXhwZXJ0aXNlLCBjb21iaW5pbmcgdmFyaW91cyBjb21wb25lbnRzIHRvIGNyZWF0ZSBwb3dlcmZ1bCBhbmQgcG90ZW50aWFsbHkgaGF6YXJkb3VzIHRvb2xzIGlzIGEgZnVuZGFtZW50YWwgY29uY2Vybi4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFRvIGFkZHJlc3MgdGhpcywgd2UgYWRoZXJlIHN0cmljdGx5IHRvIGFsbCBwb2xpY2llcyBhbmQgcmVndWxhdGlvbnMgc2V0IGZvcnRoIGJ5IGlHRU0sIG91ciB1bml2ZXJzaXR5LCB0aGUgR2VybWFuIGdvdmVybm1lbnQsIGFuZCB0aGUgRXVyb3BlYW4gVW5pb24uIEJ5IGFsaWduaW5nIG91ciBwcmFjdGljZXMgd2l0aCBleGlzdGluZyByZWd1bGF0aW9ucyBvbiBzeW50aGV0aWMgYmlvbG9neSwgd2UgYWltIHRvIGNvbmR1Y3Qgb3VyIHdvcmsgcmVzcG9uc2libHkgYW5kIHJlZHVjZSB0aGUgcmlza3MgYXNzb2NpYXRlZCB3aXRoIHRoZSBmaWVsZC4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJQdWJsaWMgUGVyY2VwdGlvbiBhbmQgTWlzY29tbXVuaWNhdGlvblwiPjwvSDU+XG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIE9uZSBvZiB0aGUgY2hhbGxlbmdlcyBpbiBzY2llbnRpZmljIHJlc2VhcmNoLCBlc3BlY2lhbGx5IGluIGZpZWxkcyBsaWtlIHN5bnRoZXRpYyBiaW9sb2d5LCBpcyB0aGF0IGFkdmFuY2VtZW50cyBjYW4gb2Z0ZW4gb3V0cGFjZSBwdWJsaWMgdW5kZXJzdGFuZGluZyBhbmQgZGlzY291cnNlLiBUaGlzIGNhbiBsZWFkIHRvIGNvbmZ1c2lvbiwgZmVhciwgb3IgbWlzdHJ1c3QgaWYgdGhlIHJlc2VhcmNoIGlzIG5vdCBjb21tdW5pY2F0ZWQgZWZmZWN0aXZlbHkuIFRvIGFkZHJlc3MgdGhpcyBpc3N1ZSwgd2UgYmVsaWV2ZSB0aGF0IHNjaWVudGlmaWMgcHJvZ3Jlc3Mgc2hvdWxkIG9jY3VyIGluIGNvbnN0YW50IGRpYWxvZ3VlIHdpdGggdGhlIHB1YmxpYy4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgIFdlIGhhdmUgYWRvcHRlZCBhIHN0cm9uZyBIdW1hbiBQcmFjdGljZXMgYXBwcm9hY2ggdG8gZW5zdXJlIHRyYW5zcGFyZW5jeSBhbmQgZm9zdGVyIHB1YmxpYyBlbmdhZ2VtZW50LiBPdXIgZWZmb3J0cyBpbmNsdWRlIGluaXRpYXRpdmVzIGxpa2UgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsICh7c2Nyb2xsVG9JZDogJ2NmLW1vbnRoJywgcGF0aDogJy9odW1hbi1wcmFjdGljZXMnLCB0YWJJZDogJ211a29tb3ZlJyB9KX0+IE1VS09tb3ZlIDwvYT4gIGFuZCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwgKHtzY3JvbGxUb0lkOiAnRGVyIFRldXRvIHJ1ZnQhJywgcGF0aDogJy9odW1hbi1wcmFjdGljZXMnLCB0YWJJZDogJ3RldXRvcnVmdCcgfSl9PiBcIkRlciBUZXV0byBydWZ0IVwiIDwvYT4gICwgd2hlcmUgd2UgaGF2ZSB3b3JrZWQgZGlyZWN0bHkgd2l0aCBzdHVkZW50cywgZWR1Y2F0aW9uYWwgaW5zdGl0dXRpb25zLCBhbmQgcHVibGljIG9yZ2FuaXphdGlvbnMuIFRocm91Z2ggdGhlc2UgaW5pdGlhdGl2ZXMsIHdlIGFpbSB0byBleHBsYWluIG91ciBwcm9qZWN0LCBkaXNjdXNzIGl0cyBpbXBsaWNhdGlvbnMsIGFuZCBhbnN3ZXIgYW55IHF1ZXN0aW9ucywgdGh1cyBtYWludGFpbmluZyBhbiBvcGVuIGxpbmUgb2YgY29tbXVuaWNhdGlvbi4gQnkgY29sbGFib3JhdGluZyB3aXRoIGEgdmFyaWV0eSBvZiBwdWJsaWMgZW50aXRpZXMsIGluY2x1ZGluZyBwYXRpZW50IGFzc29jaWF0aW9ucywgZWR1Y2F0aW9uYWwgcHJvZ3JhbXMsIGFuZCBjb21tdW5pdHkgZ3JvdXBzLCB3ZSBlbnN1cmUgdGhhdCBvdXIgcmVzZWFyY2ggcmVtYWlucyBhY2Nlc3NpYmxlIGFuZCB1bmRlcnN0YW5kYWJsZSB0byBhIGJyb2FkZXIgYXVkaWVuY2UuICBcbiAgICAgICAgICA8L3A+XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgVGhpcyBwcm9hY3RpdmUgYXBwcm9hY2ggaGVscHMgdXMgYWRkcmVzcyBwb3RlbnRpYWwgY29uY2VybnMsIGRlbXlzdGlmeSBvdXIgcmVzZWFyY2gsIGFuZCBjb250cmlidXRlIHRvIGEgbW9yZSBpbmZvcm1lZCBwdWJsaWMgcGVyY2VwdGlvbiBvZiBzeW50aGV0aWMgYmlvbG9neS4gXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgIDxTZWN0aW9uIHRpdGxlPVwiQmlvZXRoaWNzXCIgaWQ9XCJCaW9ldGhpY3NcIj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIEJpb2V0aGljcyBpcyBhbiBpbnRlcmRpc2NpcGxpbmFyeSBmaWVsZCBvZiByZXNlYXJjaCB0aGF0IGFkZHJlc3NlcyBldGhpY2FsIGlzc3VlcyBwZXJ0YWluaW5nIHRvIHRoZSBsaWZlIHNjaWVuY2VzIGFuZCBtZWRpY2FsIHJlc2VhcmNoLiBJdCBwbGF5cyBhIHBpdm90YWwgcm9sZSBpbiBjb250ZW1wb3JhcnkgcmVzZWFyY2gsIHBhcnRpY3VsYXJseSBpbiBwcm9qZWN0cyB0aGF0IGVtcGxveSBodW1hbiBzYW1wbGVzIG9yIGRhdGEuIFRoaXMgaXMgZHVlIHRvIHRoZSBmYWN0IHRoYXQgaW4gdGhlc2UgY2FzZXMsIHRoZSBwcm90ZWN0aW9uIG9mIHRoZSByaWdodHMgYW5kIGRpZ25pdHkgb2YgdGhlIHBlb3BsZSBpbnZvbHZlZCBpcyBvZiB0aGUgdXRtb3N0IGltcG9ydGFuY2UgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxNlwiLz4uIEluIG9yZGVyIHRvIGFzY2VydGFpbiB0aGUgbmVjZXNzaXR5IGZvciBhbiBldGhpY3MgYXBwbGljYXRpb24sIGFuIGludGVydmlldyB3YXMgY29uZHVjdGVkIHdpdGggPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignYmVyZW5zJywgJy9odW1hbi1wcmFjdGljZXMnKX0+RXZhLU1hcmlhIEJlcmVuczwvYT4sIHRoZSBzY2llbnRpZmljIGRpcmVjdG9yIG9mIHRoZSBvZmZpY2Ugb2YgdGhlIEV0aGljcyBDb21taXR0ZWUgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHksIGFzIHBhcnQgb2YgdGhlIGN1cnJlbnQgcmVzZWFyY2ggcHJvamVjdC4gRm9sbG93aW5nIGEgY29tcHJlaGVuc2l2ZSByZXZpZXcsIGl0IHdhcyBjb25jbHVkZWQgdGhhdCBhbiBldGhpY3MgYXBwbGljYXRpb24gd2FzIG5vdCBuZWNlc3NhcnkgZm9yIHRoZSBzcGVjaWZpYyByZXNlYXJjaCBwcm9qZWN0LiBOZXZlcnRoZWxlc3MsIGEgY29tcHJlaGVuc2l2ZSBwYXRpZW50IGNvbnNlbnQgZm9ybSB3YXMgZGV2ZWxvcGVkIGluIGNvbmp1bmN0aW9uIHdpdGggRXZhLU1hcmlhIEJlcmVucyB0byBndWFyYW50ZWUgdGhhdCB0aGUgZG9ub3JzIG9mIHRoZWlyIHNhbXBsZXMgYXJlIGFkZXF1YXRlbHkgaW5mb3JtZWQgYW5kIHByb3ZpZGUgdGhlaXIgY29uc2VudCBvZiB0aGVpciBvd24gdm9saXRpb24uIFRoZSBkb2N1bWVudCBndWFyYW50ZWVzIHRoYXQgYWxsIHBlcnRpbmVudCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgc2FtcGxlIGNvbGxlY3Rpb24sIHV0aWxpc2F0aW9uIGFuZCBzdG9yYWdlIGlzIHByb3ZpZGVkIGluIGFuIGludGVsbGlnaWJsZSBmb3JtYXQuIEZ1cnRoZXJtb3JlLCBhbiBpbnRlcnZpZXcgd2FzIGNvbmR1Y3RlZCB3aXRoIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3RpbW0nLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Eci4gVGltbSBXZWJlcjwvYT4sIGEgcmVwcmVzZW50YXRpdmUgb2YgdGhlIGJpb2JhbmssIHRvIGRpc2N1c3MgdGhlIHRvcGljIG9mIGJpb2V0aGljcyBpbiBncmVhdGVyIGRlcHRoLiBEdXJpbmcgdGhlIGNvdXJzZSBvZiB0aGUgaW50ZXJ2aWV3cywgdGhlIGV0aGljYWwgYXNwZWN0cyBvZiBzYW1wbGUgc3RvcmFnZSBhbmQgdXRpbGlzYXRpb24gd2l0aGluIHRoZSBiaW9iYW5rIHdlcmUgZGlzY3Vzc2VkIGluIGRldGFpbC4gUGFydGljdWxhciBhdHRlbnRpb24gd2FzIHBhaWQgdG8gdGhlIHJlc3BvbnNpYmxlIGhhbmRsaW5nIGFuZCBwcm90ZWN0aW9uIG9mIHRoZSByaWdodHMgb2YgdGhlIHRlc3Qgc3ViamVjdHMuIFRoZSBkaXNjdXNzaW9uIG9mIGJpb2V0aGljcyBpbiBib3RoIGludGVydmlld3MgZW1waGFzaXNlcyB0aGUgcmVsZXZhbmNlIG9mIGV0aGljYWwgcHJpbmNpcGxlcyBmb3IgcmVzZWFyY2ggYW5kIGVuc3VyZXMgdGhhdCBpdCBpcyBjb25kdWN0ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBoaWdoZXN0IGV0aGljYWwgc3RhbmRhcmRzLlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkdlbmUgVGhlcmFweVwiIGlkPVwiQmlvZXRoaWNzMVwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgVGhlIHBvdGVudGlhbCBvZiBnZW5lIHRoZXJhcHkgdG8gdHJlYXQgZ2VuZXRpYyBkaXNlYXNlcyBpcyBwcm9taXNpbmcsIGJ1dCBpdCBpcyBhbHNvIGFzc29jaWF0ZWQgd2l0aCBzaWduaWZpY2FudCBldGhpY2FsIGlzc3Vlcy4gT25lIG9mIHRoZSBwcmluY2lwYWwgY2hhbGxlbmdlcyBpcyBlbnN1cmluZyB0aGUgc2FmZXR5IG9mIHRoZSBwcm9jZWR1cmUgYW5kIHRoZSBwb3RlbnRpYWwgZm9yIHVuZm9yZXNlZW4gbG9uZy10ZXJtIGNvbnNlcXVlbmNlcy4gU3VjaCBjb25zZXF1ZW5jZXMgbWF5IG9ubHkgYmVjb21lIGFwcGFyZW50IHllYXJzIGFmdGVyIHRoZSBnZW5ldGljIGludGVydmVudGlvbiBoYXMgdGFrZW4gcGxhY2UuIFRoZSBtb2RpZmljYXRpb24gb2YgdGhlIGdlcm1saW5lLCB3aGljaCBhZmZlY3RzIG5vdCBvbmx5IHRoZSBpbmRpdmlkdWFsIGJ1dCBhbHNvIGZ1dHVyZSBnZW5lcmF0aW9ucywgaXMgYSBwYXJ0aWN1bGFybHkgc2Vuc2l0aXZlIGlzc3VlLiBUaGlzIGdpdmVzIHJpc2UgdG8gdGhlIHF1ZXN0aW9uIG9mIHRoZSBleHRlbnQgdG8gd2hpY2ggdGhlIGRlY2lzaW9ucyBtYWRlIHRvZGF5IHdpbGwgaW5mbHVlbmNlIGZ1dHVyZSBnZW5lcmF0aW9ucyB3aXRob3V0IHRoZWlyIGNvbnNlbnQsIHRoZXJlYnkgamVvcGFyZGlzaW5nIGludGVyZ2VuZXJhdGlvbmFsIGp1c3RpY2UgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxN1wiLz4uIEFub3RoZXIgZXRoaWNhbCBpc3N1ZSBpcyB0aGUgcG90ZW50aWFsIGZvciBtaXN1c2UgZm9yIGV1Z2VuaWMgcHVycG9zZXMuIFdoaWxlIHRoZSBjdXJyZW50IGZvY3VzIGlzIG9uIGNvbWJhdGluZyBkaXNlYXNlLCBmdXR1cmUgYXBwbGljYXRpb25zIGNvdWxkIGJlIGFpbWVkIGF0ICdvcHRpbWlzaW5nJyBodW1hbiB0cmFpdHMsIHdoaWNoIGNvdWxkIHJlc3VsdCBpbiBhIHdvcnNlbmluZyBvZiBzb2NpYWwgaW5lcXVhbGl0aWVzLiBBY2Nlc3MgdG8gZ2VuZSB0aGVyYXB5IGlzIGFsc28gYSBzaWduaWZpY2FudCBpc3N1ZS4gSGlnaCBjb3N0cyBjb3VsZCBsaW1pdCBhY2Nlc3MgdG8gd2VhbHRoeSBwb3B1bGF0aW9uIGdyb3Vwcywgd2hpY2ggd291bGQgcmVpbmZvcmNlIGV4aXN0aW5nIGluZXF1YWxpdGllcyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjE4XCIvPi4gVGhlIGlzc3VlIG9mIGluZm9ybWVkIGNvbnNlbnQgaXMgYWxzbyBhIGtleSBhc3BlY3QuIE1hbnkgcGF0aWVudHMgZG8gbm90IGhhdmUgdGhlIG5lY2Vzc2FyeSBrbm93bGVkZ2UgdG8gZnVsbHkgdW5kZXJzdGFuZCB0aGUgY29tcGxleCByaXNrcywgd2hpY2ggcmFpc2VzIGV0aGljYWwgcXVlc3Rpb25zIGFib3V0IHRoZWlyIGRlY2lzaW9uLW1ha2luZyBjYXBhY2l0eS4gT3ZlcmFsbCwgdGhlIGRlYmF0ZSBhcm91bmQgZ2VuZSB0aGVyYXB5IGhpZ2hsaWdodHMgdGhhdCBldGhpY2FsIGNvbnNpZGVyYXRpb25zIHN1Y2ggYXMgc2FmZXR5LCBqdXN0aWNlIGFuZCBwYXRpZW50IHJpZ2h0cyBuZWVkIHRvIGJlIGNvbnNpZGVyZWQgYWxvbmdzaWRlIHNjaWVudGlmaWMgcHJvZ3Jlc3MgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIxOVwiLz4uICBcbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJQcmltYXJ5IENlbGxzXCIgaWQ9XCJCaW9ldGhpY3MyXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxINCB0ZXh0PVwiSW50cm9kdWN0aW9uIG9mIHByaW1hcnkgY3VsdHVyZXNcIj48L0g0PlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICBBIHByaW1hcnkgY3VsdHVyZSBpcyBkZWZpbmVkIGFzIGEgY2VsbCBjdWx0dXJlIHRoYXQgaXMgaXNvbGF0ZWQgZGlyZWN0bHkgZnJvbSB0aGUgdGlzc3VlIG9mIGFuIG9yZ2FuaXNtLiBJbiBvdXIgY2FzZSwgdGhlIG9yZ2FuaXNtIGlzIGh1bWFuLiBUaGUgY2VsbHMgYXJlIHRoZW4gY3VsdGl2YXRlZCBpbiBhIGNvbnRyb2xsZWQgZW52aXJvbm1lbnQsIG5hbWVseSBhbiBTMiBsYWJvcmF0b3J5IDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjBcIi8+LiBQcmltYXJ5IGN1bHR1cmVzIGFyZSBhIGZ1bmRhbWVudGFsIGJpb21lZGljYWwgcmVzZWFyY2ggdG9vbCwgd2lkZWx5IHJlZ2FyZGVkIGFzIGluZGlzcGVuc2FibGUgZHVlIHRvIHRoZWlyIGNhcGFjaXR5IGZvciByZWFsaXN0aWMgbW9kZWxsaW5nIG9mIGNvbXBsZXggY2VsbCBpbnRlcmFjdGlvbnMuIFByaW1hcnkgY2VsbHMgYXJlIGRlcml2ZWQgZGlyZWN0bHkgZnJvbSB0aGUgdGlzc3VlIG9mIGFuIG9yZ2FuaXNtIGFuZCwgYXMgYSBjb25zZXF1ZW5jZSwgdGhleSBlc3NlbnRpYWxseSByZXRhaW4gdGhlaXIgb3JpZ2luYWwgcHJvcGVydGllcy4gQ29uc2VxdWVudGx5LCB0aGV5IG1pcnJvciB0aGUgYXV0aGVudGljIGNvbmRpdGlvbnMgb2YgdGhlIHRhcmdldCB0aXNzdWUsIHdoaWNoIGlzIHZpdGFsIGZvciBhY2N1cmF0ZWx5IGFzc2Vzc2luZyB0aGUgaW1wYWN0IG9mIGEgdGhlcmFwZXV0aWMgYWdlbnQuIEluIGNvbnRyYXN0LCBIRUsgY2VsbHMgcmVwcmVzZW50IHRyYW5zZm9ybWVkIGNlbGwgbGluZXMgdGhhdCBleGhpYml0IHBoeXNpb2xvZ2ljYWwgcHJvcGVydGllcyBkaXN0aW5jdCBmcm9tIHRob3NlIG9mIHRhcmdldCBjZWxscyBpbiB0aGUgaHVtYW4gYm9keS4gVGhlIGVmZmVjdCBvZiBhIHRoZXJhcGV1dGljIGFnZW50IGlzIHR5cGljYWxseSBsaW1pdGVkIHRvIGEgc3BlY2lmaWMgY2VsbCB0eXBlLiBUaGUgaW52ZXN0aWdhdGlvbiBvZiBjZWxsLXNwZWNpZmljIGVmZmVjdHMgYW5kIHJlYWN0aW9ucyBvZiBhbiBhY3RpdmUgc3Vic3RhbmNlIGlzIGZlYXNpYmxlIHdpdGggdGhlIHVzZSBvZiBwcmltYXJ5IGNlbGxzLCBhcyB0aGVzZSBwb3NzZXNzIHRoZSBmdW5jdGlvbmFsIGNoYXJhY3RlcmlzdGljcyBpbmhlcmVudCB0byB0aGUgY2VsbCB0eXBlIHVuZGVyIGNvbnNpZGVyYXRpb24uIEFsdGhvdWdoIEhFSyBjZWxscyBhcmUgcmVsYXRpdmVseSBzdHJhaWdodGZvcndhcmQgdG8gY3VsdGl2YXRlLCB0aGV5IGFyZSBsZXNzIHJlcHJlc2VudGF0aXZlIG9mIGEgbnVtYmVyIG9mIHRpc3N1ZSB0eXBlcyBhbmQgbWF5IGFjdGl2YXRlIG90aGVyIHNpZ25hbGxpbmcgcGF0aHdheXMuIFRoZSBhdXRoZW50aWNpdHkgb2YgdGhlIHJlY2VwdG9ycyBhbmQgc2lnbmFsbGluZyBwYXRod2F5cyBpcyBndWFyYW50ZWVkLCBhcyBwcmltYXJ5IGNlbGxzIHNob3cgdGhlIG5hdHVyYWwgZXhwcmVzc2lvbiBvZiByZWNlcHRvcnMsIGlvbiBjaGFubmVscyBhbmQgb3RoZXIgY2VsbHVsYXIgbWVjaGFuaXNtcy4gSEVLIGNlbGxzIGFyZSBvZnRlbiBnZW5ldGljYWxseSBtb2RpZmllZCB0byBleHByZXNzIHNwZWNpZmljIHJlY2VwdG9ycywgd2hpY2ggY2FuIGJlIHVzZWZ1bCBmb3Igc2ltcGxlIHRlc3Qgc3lzdGVtcy4gSG93ZXZlciwgdGhpcyBkb2VzIG5vdCByZWZsZWN0IHRoZSBjb21wbGV4IGVudmlyb25tZW50IG9mIGEgcmVhbCB0aXNzdWUuIEdpdmVuIHRoZSBzZW5zaXRpdml0eSBvZiBwcmltYXJ5IGN1bHR1cmVzIHRvIGVudmlyb25tZW50YWwgaW5mbHVlbmNlcywgdGh1cyByZXN1bHRpbmcgaW4gaGlnaGVyIHJpc2sgb2YgYSBjb250YW1pbmF0aW9uLCBpdCBpcyBpbXBlcmF0aXZlIHRoYXQgcmVzZWFyY2hlcnMgZW1wbG95IHNwZWNpYWwgc2FmZXR5IG1lYXN1cmVzIHRvIGVuc3VyZSB0aGUgc2FmZXR5IG9mIHRoZW1zZWx2ZXMgYW5kIHRoZSBpbnRlZ3JpdHkgb2YgdGhlIGNlbGxzLiBQcmltYXJ5IGN1bHR1cmVzIGFyZSBlbXBsb3llZCBleHRlbnNpdmVseSBpbiB0aGUgZGV2ZWxvcG1lbnQgb2YgdmFjY2luZXMsIGNhbmNlciByZXNlYXJjaCBhbmQgdGhlIGludmVzdGlnYXRpb24gb2YgYmFzaWMgY2VsbCBwcm9jZXNzZXMuIFxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPEg0IHRleHQ9XCJFdGhpY3MgaW4gd29yayB3aXRoIHByaW1hcnkgY3VsdHVyZXNcIj48L0g0PlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgVGhlIHRlcm0gJ2V0aGljcycgaXMgdXNlZCB0byBkZXNjcmliZSB0aGUgZXhhbWluYXRpb24gb2YgbW9yYWwgcHJpbmNpcGxlcyB0aGF0IGRldGVybWluZSB0aGUgYmVoYXZpb3VyIG9mIGluZGl2aWR1YWxzIG9yIGdyb3VwcyA8U3VwU2Nyb2xsTGluayBsYWJlbD1cIjIxXCIvPi4gSW4gYSBzY2llbnRpZmljIGNvbnRleHQsIHRoZSB0ZXJtICdldGhpY3MnIGVuY29tcGFzc2VzIHRoZSBleGFtaW5hdGlvbiBvZiB0aGUgbW9yYWwganVzdGlmaWFiaWxpdHkgb2YgYWN0aW9ucyBhbmQgZGVjaXNpb25zLCBwYXJ0aWN1bGFybHkgd2l0aCByZWdhcmQgdG8gdGhlIHdlbGZhcmUgb2YgbGl2aW5nIGJlaW5ncyBhbmQgdGhlIHJlc3BvbnNpYmxlIHVzZSBvZiByZXNvdXJjZXMgPFN1cFNjcm9sbExpbmsgbGFiZWw9XCIyMlwiLz4uIFRoZSBpc29sYXRpb24gb2YgcHJpbWFyeSBjZWxscyBmcm9tIGxpdmluZyBvcmdhbmlzbXMgcmFpc2VzIGV0aGljYWwgcXVlc3Rpb25zLCBwYXJ0aWN1bGFybHkgaW4gdGhlIGNhc2Ugb2YgaHVtYW4gb3IgYW5pbWFsIHRpc3N1ZS4gSW4gdGhlIGNvbnRleHQgb2YgcmVzZWFyY2ggd2l0aCBhbmltYWwgcHJpbWFyeSBjZWxscywgY2FyZWZ1bCBjb25zaWRlcmF0aW9uIG11c3QgYmUgZ2l2ZW4gdG8gdGhlIG5lZWQgZm9yIGFuaW1hbCBzdWZmZXJpbmcgYW5kIHRoZSBwb3RlbnRpYWwgYmVuZWZpdHMgb2YgdGhlIHJlc2VhcmNoIDxTdXBTY3JvbGxMaW5rIGxhYmVsPVwiMjNcIi8+LiBBbiBldGhpY2FsIGRpbGVtbWEgZnJlcXVlbnRseSBhcmlzZXMgZnJvbSB0aGUgZmFjdCB0aGF0IHByaW1hcnkgY2VsbHMgb2ZmZXIgdGhlIG1vc3QgbWVhbmluZ2Z1bCBkYXRhIGZyb20gYSBiaW9sb2dpY2FsIHN0YW5kcG9pbnQsIHlldCB0aGVpciBwcm9kdWN0aW9uIGlzIGFzc29jaWF0ZWQgd2l0aCBjaGFsbGVuZ2VzLiBJbiB0aGlzIGNvbnRleHQsIHRoZSBuZWNlc3NpdHkgb2YgcHJpbWFyeSBjZWxsIGN1bHR1cmVzIGlzIGNhbGxlZCBpbnRvIHF1ZXN0aW9uLCBhbmQgdGhlIHByb21vdGlvbiBvZiBhbHRlcm5hdGl2ZSBtZXRob2RzLCBzdWNoIGFzIGFydGlmaWNpYWxseSBwcm9kdWNlZCB0aXNzdWVzIG9yIG9yZ2Fub2lkcywgaXMgYWR2b2NhdGVkIHdoZXJlIGZlYXNpYmxlLiBJdCBpcyBvZiBjcnVjaWFsIGltcG9ydGFuY2UgdG8gZW1waGFzaXplIHRoZSBuZWNlc3NpdHkgb2YgZXRoaWNhbCByZXNwb25zaWJpbGl0eSBpbiB0aGUgY29sbGVjdGlvbiBvZiBwcmltYXJ5IGN1bHR1cmVzLiBJdCBpcyBvZiB0aGUgdXRtb3N0IGltcG9ydGFuY2UgdGhhdCB0aGUgcHJvY2VkdXJlIGlzIGNhcnJpZWQgb3V0IHdpdGggY29uc2lkZXJhdGlvbiBmb3IgdGhlIHJpZ2h0cywgYW5kIHBhcnRpY3VsYXJseSB0aGUgd2VsbC1iZWluZyBvZiB0aGUgZG9ub3IuIFRoZSByZW1vdmFsIG9mIGNlbGxzIG9yIHRpc3N1ZSBtdXN0IGJlIG1lZGljYWxseSBqdXN0aWZpYWJsZSBhbmQsIG1vcmVvdmVyLCBldGhpY2FsbHkganVzdGlmaWFibGUgaW4gZXZlcnkgY2FzZS4gVG8gdGhpcyBlbmQsIHRoZSBwb3RlbnRpYWwgZm9yIHJlc2VhcmNoIHVzZSBhbmQgdGhlIHBvc3NpYmxlIHJpc2tzIGFuZCBidXJkZW5zIGZvciB0aGUgZG9ub3IgbXVzdCBiZSB3ZWlnaGVkIGFnYWluc3QgZWFjaCBvdGhlciB0byBlbnN1cmUgY2FyZWZ1bCBjb25zaWRlcmF0aW9uLiBIb3dldmVyLCBpdCBpcyBhbHNvIHBhcnRpY3VsYXJseSBpbXBvcnRhbnQgdG8gZW5zdXJlIHRoYXQgdGhlIGRvbm9yIGlzIGludm9sdmVkIGluIHRoZSBlbnRpcmUgcHJvY2VzcyBhbmQgaXMgYWJsZSB0byBtYWtlIGFuIGluZm9ybWVkIGRlY2lzaW9uLiBUaGUgcHVycG9zZSBvZiB0aGUgcmVzZWFyY2gsIHRoZSB1c2Ugb2YgdGhlIGNlbGxzIGFuZCBwb3NzaWJsZSBjb25zZXF1ZW5jZXMgbXVzdCBhbHNvIGJlIG1hZGUgdHJhbnNwYXJlbnQgYXQgYWxsIHRpbWVzLiBcbiAgICAgICAgICAgICAgICBUaGUgb2J0YWluaW5nIG9mIGluZm9ybWVkIGNvbnNlbnQgcmVwcmVzZW50cyBhIGZ1bmRhbWVudGFsIGFzcGVjdCBvZiBldGhpY2FsIHByYWN0aWNlIGluIHRoZSBjb2xsZWN0aW9uIG9mIHByaW1hcnkgY2VsbHMuIFRoaXMgcHJvY2VzcyBtdXN0IGVuY29tcGFzcyBub3Qgb25seSBhIGZvcm1hbCBjb25zZW50IHByb2NlZHVyZSwgYnV0IGFsc28gdGhlIHByb3Zpc2lvbiBvZiBjb21wcmVoZW5zaXZlIGluZm9ybWF0aW9uIHRvIGRvbm9ycyByZWdhcmRpbmcgdGhlIGNvbGxlY3Rpb24sIHV0aWxpc2F0aW9uIGFuZCBwcm9zcGVjdGl2ZSBmdXR1cmUgYXBwbGljYXRpb25zIG9mIHRoZSBjZWxscy4gVGhlIGFjdCBvZiBjb25zZW50IG11c3QgYmUgZ2l2ZW4gZnJlZWx5IGFuZCB3aXRob3V0IHVuZHVlIGluZmx1ZW5jZSwgYW5kIGRvbm9ycyBtdXN0IGJlIGZ1bGx5IGF3YXJlIG9mIHRoZSBjb25zZXF1ZW5jZXMgb2YgdGhlaXIgcGFydGljaXBhdGlvbi4gRnVydGhlcm1vcmUsIGRvbm9ycyBtdXN0IGJlIGdyYW50ZWQgdGhlIHJpZ2h0IHRvIHJldm9rZSB0aGVpciBjb25zZW50IGF0IGFueSB0aW1lIHdpdGhvdXQgY29uc2VxdWVuY2UuIFByaW9yIHRvIHRoZSBjb2xsZWN0aW9uIG9mIGNlbGxzLCBhIGNvbXByZWhlbnNpdmUgZGlzY3Vzc2lvbiBpcyBoZWxkIHdpdGggdGhlIGRvbm9yLCBkdXJpbmcgd2hpY2ggYWxsIHBlcnRpbmVudCBkZXRhaWxzIGFyZSBlbHVjaWRhdGVkIGFuZCBhbnkgcXVlcmllcyBvciBjb25jZXJucyB0aGV5IG1heSBoYXZlLCBhcmUgYWRkcmVzc2VkLiBUaGlzIGd1YXJhbnRlZXMgdGhhdCB0aGUgZG9ub3IgaXMgYWRlcXVhdGVseSBpbmZvcm1lZCBhbmQgaXMgdGh1cyBhYmxlIHRvIG1ha2UgYW4gYXV0b25vbW91cyBkZWNpc2lvbiBiYXNlZCBvbiBhIGNvbXByZWhlbnNpdmUgdW5kZXJzdGFuZGluZyBvZiB0aGUgcHJvY2VkdXJlLiBcbiAgICAgICAgICAgICAgICBUaGUgcHJvdGVjdGlvbiBvZiBwcml2YWN5IGFuZCBjb25maWRlbnRpYWxpdHkgaXMgb2YgcGFyYW1vdW50IGltcG9ydGFuY2Ugd2hlbiB3b3JraW5nIHdpdGggcHJpbWFyeSBjdWx0dXJlcy4gR2l2ZW4gdGhhdCBwcmltYXJ5IGN1bHR1cmVzIGFyZSBwcmVkb21pbmFudGx5IGh1bWFuIHRpc3N1ZSwgdGhleSBjb250YWluIGdlbmV0aWMgaW5mb3JtYXRpb24gYW5kIG90aGVyIHBlcnNvbmFsIGRhdGEgdGhhdCBpcyBzZW5zaXRpdmUgYW5kIGRlc2VydmluZyBvZiBwcm90ZWN0aW9uLiBJdCBpcyB0aGVyZWZvcmUgb2YgZ3JlYXQgaW1wb3J0YW5jZSB0aGF0IHRoZSBkYXRhIGlzIGFub255bWl6ZWQgYW5kIGtlcHQgc3RyaWN0bHkgY29uZmlkZW50aWFsIGluIG9yZGVyIHRvIHByb3RlY3QgdGhlIGlkZW50aXR5IG9mIHRoZSBkb25vci4gXG4gICAgICAgICAgICAgICAgRXZlcnkgcGVyc29uIHdobyBoYXMgYWNjZXNzIHRvIHRoZSBkYXRhIG9yIHNhbXBsZXMgbXVzdCBiZSBvYmxpZ2VkIHRvIGNvbXBseSB3aXRoIGNvbmZpZGVudGlhbGl0eSBzdGFuZGFyZHMuIEl0IG11c3QgYmUgZW5zdXJlZCB0aGF0IGFsbCBsZWdhbCByZXF1aXJlbWVudHMgZm9yIGRhdGEgcHJvdGVjdGlvbiBhcmUgbWV0LCBpbmNsdWRpbmcgY29tcGxpYW5jZSB3aXRoIGRhdGEgcHJvdGVjdGlvbiBsYXdzIHN1Y2ggYXMgdGhlIDxhIGhyZWY9XCJodHRwczovL2dkcHItaW5mby5ldS9cIj5HRFBSPC9hPiBpbiB0aGUgRVUuIFxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPEg0IHRleHQ9XCJTYWZldHkgYXNwZWN0cyB3aGVuIHdvcmtpbmcgd2l0aCBwcmltYXJ5IGN1bHR1cmVzIFwiPjwvSDQ+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgIFdoZW4gd29ya2luZyB3aXRoIHByaW1hcnkgY3VsdHVyZXMsIHRoZXJlIGlzIGEgcmlzayB0aGF0IHRoZSBjZWxscyBtYXkgYmUgcG90ZW50aWFsbHkgaW5mZWN0aW91cyBzYW1wbGVzIG9yIGNvbnRhbWluYXRlZC4gVGhlcmVmb3JlLCBpdCBpcyBvZiB0aGUgdXRtb3N0IGltcG9ydGFuY2UgdG8gYWRoZXJlIHRvIHN0cmljdCBiaW9sb2dpY2FsIHNhZmV0eSBtZWFzdXJlcyBpbiBvcmRlciB0byBtaW5pbWl6ZSB0aGUgcmlzayBvZiBleHBvc3VyZSB0byBkYW5nZXJvdXMgcGF0aG9nZW5zLiBUaGlzIGluY2x1ZGVzIHRoZSB1c2Ugb2YgcGVyc29uYWwgcHJvdGVjdGl2ZSBlcXVpcG1lbnQsIHdvcmtpbmcgaW4gYSBiaW9zYWZldHkgY2FiaW5ldCBhbmQgYWRoZXJpbmcgdG8gZGVjb250YW1pbmF0aW9uIHByb3RvY29scy5cbiAgICAgICAgICAgIFRoZSBvdmVyYXJjaGluZyBvYmplY3RpdmUgaXMgdGhlIHNhZmVndWFyZGluZyBvZiBsYWJvcmF0b3J5IHN0YWZmLiBUaGlzIGlzIGFjaGlldmVkIHRocm91Z2ggdGhlIHV0aWxpemF0aW9uIG9mIHBlcnNvbmFsIHByb3RlY3RpdmUgZXF1aXBtZW50LCBlbmNvbXBhc3NpbmcgZ2xvdmVzLCBsYWIgY29hdHMgYW5kIHNhZmV0eSBnb2dnbGVzLCBpbiBhZGRpdGlvbiB0byB0aGUgcHJvdmlzaW9uIG9mIHRyYWluaW5nIGluIHBlcnRpbmVudCBzYWZldHkgcHJvdG9jb2xzLiBcbiAgICAgICAgICAgIEluIG9yZGVyIHRvIHByZXZlbnQgdGhlIHJlbGVhc2Ugb2YgcG90ZW50aWFsbHkgaGF6YXJkb3VzIG1hdGVyaWFsLCBpdCBpcyBpbXBlcmF0aXZlIHRoYXQgYmlvbG9naWNhbCB3YXN0ZSBpcyBkaXNwb3NlZCBvZiBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGVzdGFibGlzaGVkIHJlZ3VsYXRvcnkgZnJhbWV3b3JrLiBUaGUgd2FzdGUgaXMgc3ViamVjdGVkIHRvIHJpZ29yb3VzIHN0ZXJpbGlzYXRpb24gYnkgYXV0b2NsYXZpbmcgYW5kIHN1YnNlcXVlbnRseSByZW5kZXJlZCBzYWZlIGZvciBkaXNwb3NhbCBpbiB0aGUgZGVzaWduYXRlZCBhbmQgbGFiZWxsZWQgY29udGFpbmVycy4gXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8SDQgdGV4dD1cIlJlZ3VsYXRvcnkgZnJhbWV3b3JrXCI+PC9IND5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgVGhlIGZpZWxkIG9mIHByaW1hcnkgY3VsdHVyZSByZXNlYXJjaCBpcyBzdWJqZWN0IHRvIGEgcGxldGhvcmEgb2YgbGVnYWwgcmVndWxhdGlvbnMgYW5kIGd1aWRlbGluZXMgYXQgYm90aCB0aGUgbmF0aW9uYWwgYW5kIGludGVybmF0aW9uYWwgbGV2ZWxzLiBUaGVzZSByZWd1bGF0aW9ucyBkaWN0YXRlIHRoZSBtYW5uZXIgaW4gd2hpY2ggcHJpbWFyeSBjdWx0dXJlcyBtYXkgYmUgb2J0YWluZWQsIHVzZWQsIGFuZCBkaXNwb3NlZCBvZi4gVGhleSBlbmNvbXBhc3MgcmVndWxhdGlvbnMgcGVydGFpbmluZyB0byB0aGUgcHJvdGVjdGlvbiBvZiBkb25vcnMsIHRoZSBzZWN1cmUgaGFuZGxpbmcgb2YgYmlvbG9naWNhbCBtYXRlcmlhbCwgYW5kIHRoZSBldGhpY2FsIHJlc3BvbnNpYmlsaXR5IHRvd2FyZHMgdGhlIGNlbGxzIGFuZCB0aGVpciBvcmlnaW4uIEl0IGlzIG9mIHBhcmFtb3VudCBpbXBvcnRhbmNlIHRoYXQgYWxsIGxhYm9yYXRvcnkgcHJhY3RpY2VzIGFsaWduIHdpdGggdGhlc2UgcmVndWxhdGlvbnMuIFxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQ29uc2VudCBhbmQgR3VpZGVsaW5lc1wiIGlkPVwiQmlvZXRoaWNzM1wiPlxuICAgICAgICAgIDxMb3JlbU1lZGl1bS8+XG4gICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICAgIDxTZWN0aW9uIHRpdGxlPVwiQ2hlY2stSW5zXCIgaWQ9XCJDaGVjay1JbnNcIj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgaUdFTSBwbGFjZXMgZ3JlYXQgZW1waGFzaXMgb24gYmlvc2FmZXR5LCBlbnN1cmluZyB0aGF0IGFsbCBwcm9qZWN0cyBhZGhlcmUgdG8gc3RyaWN0IHNhZmV0eSBzdGFuZGFyZHMuIE9uZSBvZiB0aGVzZSBtZWFzdXJlcyBpcyB0aGUgaUdFTSBXaGl0ZSBMaXN0LCB3aGljaCBpbmNsdWRlcyBvcmdhbmlzbXMgYW5kIHBhcnRzIHRoYXQgYXJlIHByZS1hcHByb3ZlZCBmb3IgdXNlIGJhc2VkIG9uIHRoZWlyIHNhZmV0eSBwcm9maWxlLiBBbnkgY29tcG9uZW50cyBvciBvcmdhbmlzbXMgbm90IGNvdmVyZWQgYnkgdGhpcyBXaGl0ZSBMaXN0IG11c3QgYmUgc3VibWl0dGVkIGFzICdDaGVjay1JbnMnIHRvIHRoZSBpR0VNIFNhZmV0eSBDb21taXR0ZWUgZm9yIGFwcHJvdmFsLiBDaGVjay1JbnMgYXJlIGZvcm1hbCBzYWZldHkgZXZhbHVhdGlvbnMgdGhhdCBhbGxvdyB0aGUgY29tbWl0dGVlIHRvIGFzc2VzcyB0aGUgcG90ZW50aWFsIHJpc2tzIGFuZCBlbnN1cmUgcHJvcGVyIGNvbnRhaW5tZW50IGFuZCBoYW5kbGluZyBwcm9jZWR1cmVzIGFyZSBpbiBwbGFjZS4gQWx0aG91Z2ggd2UgdXNlZCBzb21lIHBhcnRzIGFuZCBvcmdhbmlzbXMgdGhhdCB3ZXJlIG5vdCBpbmNsdWRlZCBvbiB0aGUgV2hpdGUgTGlzdCwgdGhlc2Ugd2VyZSBhc3Nlc3NlZCBhcyBjcml0aWNhbCBmb3Igb3VyIHByb2plY3QgYW5kIHN1Ym1pdHRlZCBhcyBDaGVjay1JbnMgdG8gdGhlIGlHRU0gU2FmZXR5IENvbW1pdHRlZS4gRnVydGhlcm1vcmUsIHdlIHdlcmUgaW4gYWN0aXZlIGV4Y2hhbmdlIHdpdGggdGhlIGNvbW1pdHRlZSB0aHJvdWdob3V0IHRoZSBwcm9jZXNzLiBUaGUgQ2hlY2stSW5zIHByb3ZpZGUgYSBjbGVhciBwaWN0dXJlIG9mIHRoZSBiaW9zYWZldHkgYXNwZWN0cyBvZiBvdXIgcHJvamVjdCwgcmVmbGVjdGluZyBvdXIgY29tbWl0bWVudCB0byBzYWZldHkgYW5kIGNvbXBsaWFuY2Ugd2l0aCBpR0VNIHN0YW5kYXJkcy5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgV2UgYWRoZXJlIHRvIGdvb2QgbGFib3JhdG9yeSBwcmFjdGljZXMgYnkgZW5zdXJpbmcgcHJvcGVyIGhhbmRsaW5nIG9mIG1hdGVyaWFscywgZWZmZWN0aXZlIGVtZXJnZW5jeSBwcm9jZWR1cmVzLCBhbmQgY29ycmVjdCB3YXN0ZSBkaXNwb3NhbCBtZXRob2RzLiBUaGlzIGNvbW1pdG1lbnQgZ3VhcmFudGVlcyBhIHNhZmUgYW5kIGNvbXBsaWFudCByZXNlYXJjaCBlbnZpcm9ubWVudC4gT3VyIHByb2plY3QsIHdoaWNoIGludm9sdmVkIGEgd2lkZSByYW5nZSBvZiB0ZWNobmlxdWVzIHdhcyBjb25kdWN0ZWQgaW4gc3RyaWN0IGNvbXBsaWFuY2Ugd2l0aCBzYWZldHkgcmVndWxhdGlvbnMuIEFsbCBleHBlcmltZW50cyB3ZXJlIGNhcnJpZWQgb3V0IGluIFByb2YuIERyLiBLcmlzdGlhbiBNXHUwMEZDbGxlclx1MjAxOXMgbGFib3JhdG9yeSBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSwgZm9sbG93aW5nIEJTTC0xIHN0YW5kYXJkIG9wZXJhdGluZyBwcm9jZWR1cmVzLiBQcm9wZXJseSBlcXVpcHBlZCBmYWNpbGl0aWVzIGFyZSBjcnVjaWFsIHRvIHByZXZlbnQgY29udGFtaW5hdGlvbiwgZXhwb3N1cmUsIG9yIGFjY2lkZW50YWwgcmVsZWFzZSBvZiBtb2RpZmllZCBvcmdhbmlzbXMsIGVuc3VyaW5nIHRoZSBoaWdoZXN0IGxldmVsIG9mIHNhZmV0eSBpbiBvdXIgbGFib3JhdG9yaWVzLiAgXG4gICAgICAgICAgICBCZWZvcmUgY29tbWVuY2luZyBsYWJvcmF0b3J5IHdvcmssIGFsbCBwYXJ0aWNpcGFudHMgd2VyZSByZXF1aXJlZCB0byBhdHRlbmQgYSBtYW5kYXRvcnkgc2FmZXR5IGJyaWVmaW5nLiBJbiBjb21wbGlhbmNlIHdpdGggR2VybWFuIHJlZ3VsYXRpb25zLCBlYWNoIHRlYW0gbWVtYmVyJ3MgcGFydGljaXBhdGlvbiBoYWQgdG8gYmUgY29uZmlybWVkIHdpdGggYSBwZXJzb25hbCBzaWduYXR1cmUuIFRoZSBicmllZmluZywgY29uZHVjdGVkIGJ5IFByb2YuIERyLiBLcmlzdGlhbiBNXHUwMEZDbGxlciBtdXN0IGJlIHJlbmV3ZWQgYW5udWFsbHkgaW4gYWNjb3JkYW5jZSB3aXRoIFx1MDBBNzEyIEFyYlNjaEcuIEl0IGNvdmVyZWQgdGhlIGZvbGxvd2luZyBhcmVhczogXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgPGxpPkdlbmVyYWwgbGFib3JhdG9yeSBzYWZldHk8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5SZWd1bGF0aW9ucyByZWdhcmRpbmcgaGF6YXJkb3VzIGFuZCB0b3hpYyBzdWJzdGFuY2VzPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+UmVndWxhdGlvbnMgY29uY2VybmluZyBiaW9sb2dpY2FsIG1hdGVyaWFsczwvbGk+XG4gICAgICAgICAgICAgICAgPGxpPlJlZ3VsYXRpb25zIG9uIGdlbmV0aWMgZW5naW5lZXJpbmc8L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICBJbiBhZGRpdGlvbiB0byB0aGUgZ2VuZXJhbCBzYWZldHkgYnJpZWZpbmcsIHNwZWNpZmljIGluc3RydWN0aW9ucyBmb3IgdGhlIHNhZmUgb3BlcmF0aW9uIG9mIGVhY2ggZGV2aWNlIHdlcmUgcHJvdmlkZWQuIFRoZSBTYWZldHkgYW5kIFNlY3VyaXR5IE9mZmljZXIgd2l0aGluIHRoZSBsYWJvcmF0b3J5IGhpZ2hsaWdodGVkIHRoZSBwb3RlbnRpYWwgaGF6YXJkcyBhbmQgbmVjZXNzYXJ5IHByZWNhdXRpb25hcnkgbWVhc3VyZXMuIFdlIGhhdmUgZm9jdXNlZCBvbiBwbGFubmluZyBvdXIgbGFib3JhdG9yeSBhY3Rpdml0aWVzIHRvIG1pbmltaXplIHJpc2sgZm9yIHNhZmVyIHByYWN0aWNlcy4gVGhpcyBlbnN1cmVzIG5vdCBvbmx5IHRoZSBzYWZlIGFuZCBwcm9wZXIgdXNlIG9mIGVxdWlwbWVudCBidXQgYWxzbyB0aGUgZ2VuZXJhdGlvbiBvZiByZWxpYWJsZSBkYXRhLiBUbyBtZWV0IGFsbCBzYWZldHkgcmVxdWlyZW1lbnRzLCBhZGRpdGlvbmFsIHNhZmV0eSBwcm90b2NvbHMgaGF2ZSBiZWVuIHB1dCBpbiBwbGFjZSBmb3IgYWxsIHRhcmdldGVkIGFyZWFzIG9mIHRoZSBsYWJvcmF0b3J5IGVxdWlwbWVudC4gXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8SDQgdGV4dD1cIkxhYm9yYXRvcnkgYW5kIHNhZmV0eSBwcmFjdGljZXNcIj48L0g0PlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICBBcyBwYXJ0IG9mIG91ciBwcm9qZWN0IHRvIGRldmVsb3AgYSBwcmltZS1lZGl0aW5nIGNvbXBsZXggdG8gY29ycmVjdCB0aGUgRjUwOGRlbCBtdXRhdGlvbiBpbiBjeXN0aWMgZmlicm9zaXMsIHdlIHBsYWNlIGdyZWF0IGVtcGhhc2lzIG9uIHNhZmV0eSBhdCBhbGwgc3RhZ2VzIG9mIHJlc2VhcmNoLiBPdXIgZmluYWwgY29uc3RydWN0IHdpbGwgYmUgdGVzdGVkIGluIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnQ2VsbCBDdWx0dXJlM0gnLCAnL21hdGVyaWFscy1tZXRob2RzJyl9PiBwcmltYXJ5IGN1bHR1cmVzIG9mIGVwaXRoZWxpYWwgY2VsbHMgPC9hPiBvYnRhaW5lZCBmcm9tIG5hc2FsIHN3YWJzLCBpc29sYXRlZCBmcm9tIGJvdGggcGF0aWVudHMgYW5kIGhlYWx0aHkgaW5kaXZpZHVhbHMuIFRvIGd1YXJhbnRlZSBzYWZldHkgYW5kIGVuc3VyZSB0aGUgaGlnaGVzdCBsZXZlbCBvZiBwcmVjaXNpb24gYW5kIHJlbGlhYmlsaXR5IG9mIG91ciByZXN1bHRzLCB3ZSBoYXZlIGludHJvZHVjZWQgYSBzZXJpZXMgb2YgY2FyZWZ1bGx5IHBsYW5uZWQgY2hlY2twb2ludHMgZHVyaW5nIHRoZSBleHBlcmltZW50cy4gVGhlc2UgbWlsZXN0b25lcyBhbGxvdyBmb3IgY29udGludW91cyBtb25pdG9yaW5nLCB0aW1lbHkgYWRqdXN0bWVudHMgYW5kIHZhbGlkYXRpb24gYXQgZWFjaCBjcml0aWNhbCBzdGFnZS4gVGhpcyBlbnN1cmVzIHRoYXQgcG90ZW50aWFsIGlzc3VlcyBhcmUgaWRlbnRpZmllZCBhbmQgYWRkcmVzc2VkIGltbWVkaWF0ZWx5LCBtaW5pbWl6aW5nIHJpc2sgYW5kIGltcHJvdmluZyB0aGUgb3ZlcmFsbCBxdWFsaXR5IG9mIHRoZSBleHBlcmltZW50YWwgcmVzdWx0cy4gW2xpbmsgenUgZGVuIEV4cGVyaW1lbnRlbl0gLiBpR0VNIHBsYWNlcyBncmVhdCBlbXBoYXNpcyBvbiBiaW9zYWZldHksIGVuc3VyaW5nIHRoYXQgYWxsIHByb2plY3RzIGFkaGVyZSB0byBzdHJpY3Qgc2FmZXR5IHN0YW5kYXJkcy4gT25lIG9mIHRoZXNlIG1lYXN1cmVzIGlzIHRoZSBpR0VNIFdoaXRlIExpc3QsIHdoaWNoIGluY2x1ZGVzIG9yZ2FuaXNtcyBhbmQgcGFydHMgdGhhdCBhcmUgcHJlLWFwcHJvdmVkIGZvciB1c2UgYmFzZWQgb24gdGhlaXIgc2FmZXR5IHByb2ZpbGUuIEFueSBjb21wb25lbnRzIG9yIG9yZ2FuaXNtcyBub3QgY292ZXJlZCBieSB0aGlzIFdoaXRlIExpc3QgbXVzdCBiZSBzdWJtaXR0ZWQgYXMgJ0NoZWNrLUlucycgdG8gdGhlIGlHRU0gU2FmZXR5IENvbW1pdHRlZSBmb3IgYXBwcm92YWwuIENoZWNrLUlucyBhcmUgZm9ybWFsIHNhZmV0eSBldmFsdWF0aW9ucyB0aGF0IGFsbG93IHRoZSBjb21taXR0ZWUgdG8gYXNzZXNzIHRoZSBwb3RlbnRpYWwgcmlza3MgYW5kIGVuc3VyZSBwcm9wZXIgY29udGFpbm1lbnQgYW5kIGhhbmRsaW5nIHByb2NlZHVyZXMgYXJlIGluIHBsYWNlLiBBbHRob3VnaCB3ZSB1c2VkIHNvbWUgcGFydHMgYW5kIG9yZ2FuaXNtcyB0aGF0IHdlcmUgbm90IGluY2x1ZGVkIG9uIHRoZSBXaGl0ZSBMaXN0LCB0aGVzZSB3ZXJlIGFzc2Vzc2VkIGFzIGNyaXRpY2FsIGZvciBvdXIgcHJvamVjdCBhbmQgc3VibWl0dGVkIGFzIENoZWNrLUlucyB0byB0aGUgaUdFTSBTYWZldHkgQ29tbWl0dGVlLiBGdXJ0aGVybW9yZSwgd2Ugd2VyZSBpbiBhY3RpdmUgZXhjaGFuZ2Ugd2l0aCB0aGUgY29tbWl0dGVlIHRocm91Z2hvdXQgdGhlIHByb2Nlc3MuIFRoZSBDaGVjay1pbnMgcHJvdmlkZSBhIGNsZWFyIHBpY3R1cmUgb2YgdGhlIGJpb3NhZmV0eSBhc3BlY3RzIG9mIG91ciBwcm9qZWN0LCByZWZsZWN0aW5nIG91ciBjb21taXRtZW50IHRvIHNhZmV0eSBhbmQgY29tcGxpYW5jZSB3aXRoIGlHRU0gc3RhbmRhcmRzLiBcbiAgICAgICAgICAgIFRoZSBtYWluIHNhZmV0eSBtZWFzdXJlcyB3ZSBoYXZlIGltcGxlbWVudGVkIGluY2x1ZGU6XG4gICAgICAgICAgICA8L3A+IFxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICA8c3Ryb25nPkNvbXBsaWFuY2Ugd2l0aCBTMSBjb25kaXRpb25zOjwvc3Ryb25nPiBXb3JraW5nIGluIFMxIGxhYm9yYXRvcmllcyBlbnN1cmVzIHRoYXQgb25seSBvcmdhbmlzbXMgaW4gdGhlIGxvd2VzdCByaXNrIGdyb3VwIGFyZSB1c2VkLCBtaW5pbWl6aW5nIHRoZSByaXNrIHRvIGh1bWFucyBhbmQgdGhlIGVudmlyb25tZW50LiBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPHN0cm9uZz5TdGVyaWxlIHdvcmtpbmcgcHJhY3RpY2VzOjwvc3Ryb25nPiBUbyBhdm9pZCBjb250YW1pbmF0aW9uLCB3ZSBoYXZlIGltcGxlbWVudGVkIHN0cmljdCBoeWdpZW5lIG1lYXN1cmVzLCBpbmNsdWRpbmcgdGhlIGRpc2luZmVjdGlvbiBvZiB3b3JrIHN1cmZhY2VzIGFuZCB0aGUgY29ycmVjdCBkaXNwb3NhbCBvZiBiaW9sb2dpY2FsIHdhc3RlLiBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPHN0cm9uZz5Db250cm9sbGVkIGFjY2Vzczo8L3N0cm9uZz4gQWNjZXNzIHRvIGxhYm9yYXRvcmllcyB3YXMgc3RyaWN0bHkgcmVndWxhdGVkIHRvIGVuc3VyZSB0aGF0IG9ubHkgdHJhaW5lZCBwZXJzb25uZWwgd29ya2VkIHdpdGggdGhlIGdlbmV0aWNhbGx5IG1vZGlmaWVkIG9yZ2FuaXNtcyBhbmQgY2VsbCBsaW5lcy4gXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgIDxzdHJvbmc+RG9jdW1lbnRhdGlvbjo8L3N0cm9uZz4gQWxsIHdvcmsgc3RlcHMsIG1hdGVyaWFscyB1c2VkIGFuZCBjZWxsIGxpbmVzIHdlcmUgY2FyZWZ1bGx5IGRvY3VtZW50ZWQgdG8gZW5zdXJlIHRyYWNlYWJpbGl0eSBhbmQgc2FmZXR5LiBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPHN0cm9uZz5TYWZlIGhhbmRsaW5nIG9mIGNlbGwgbGluZXM6PC9zdHJvbmc+IFRoZSBjZWxsIGxpbmVzIHVzZWQgZm9yIGV4cGVyaW1lbnRzIHdlcmUgaGFuZGxlZCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIGFwcGxpY2FibGUgc2FmZXR5IHJlZ3VsYXRpb25zLiBUaGlzIGluY2x1ZGVkIHJlZ3VsYXIgY2hlY2tzIGZvciBjb250YW1pbmF0aW9uIGFuZCB0aGUgc2FmZSBzdG9yYWdlIGFuZCBkaXNwb3NhbCBvZiBjZWxsIGN1bHR1cmVzLiBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIkNoZWNrcGVrXCIgb3Blbj17ZmFsc2V9IHRpdGxlPVwiQ2hlY2staW4gZm9yIHRoZSBQcmltZS1FZGl0aW5nIEtvbXBsZXggXCI+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPlJldmVyc2UgdHJhbnNjcmlwdGFzZTo8L3N0cm9uZz4gUmV2ZXJzZSB0cmFuc2NyaXB0YXNlIHBsYXlzIGEgY2VudHJhbCByb2xlIGluIHByaW1lIGVkaXRpbmcgYnkgc3BlY2lmaWNhbGx5IGluc2VydGluZyB0aGUgY29ycmVjdGlvbiBhcyBETkEgYXQgdGhlIGluc2VydGVkIG5pY2sgdXNpbmcgYW4gUk5BIHRlbXBsYXRlIHByb3ZpZGVkIGJ5IHBlZ1JOQS4gVGhlIGNvcnJlY3Rpb24gb2YgdGhlIGNvbXBsZW1lbnRhcnkgRE5BIHN0cmFuZCB0aGVuIHRha2VzIHBsYWNlIHZpYSB0aGUgbmF0dXJhbCBjZWxsIHJlcGFpciBtZWNoYW5pc21zLiAgVGhpcyBlbnN1cmVzIGFuIGV4YWN0IGNvcnJlY3Rpb24gb2YgdGhlIHRhcmdldCBzZXF1ZW5jZS4gV2UgY2hlY2tlZCB0aGUgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIHRvIGVuc3VyZSBpdCBjb3VsZCBwZXJmb3JtIHByZWNpc2UgZ2Vub21lIGVkaXRpbmcgd2l0aG91dCBpbnRyb2R1Y2luZyB1bmludGVuZGVkIG11dGF0aW9ucy4gVGhpcyB3YXMgaW1wb3J0YW50IHRvIG1pbmltaXplIHRoZSByaXNrIG9mIG9mZi10YXJnZXQgZWZmZWN0cyB0aGF0IGNvdWxkIGxlYWQgdG8gdW5leHBlY3RlZCBvciBoYXJtZnVsIGNvbnNlcXVlbmNlcy5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz5wZWdSTkEgKFByaW1lIEVkaXRpbmcgR3VpZGUgUk5BKTo8L3N0cm9uZz4gVGhlIHBlZ1JOQSBpcyBhIG11bHRpZnVuY3Rpb25hbCBSTkEgbW9sZWN1bGUgdGhhdCBmdWxmaWxzIHR3byBlc3NlbnRpYWwgdGFza3MuIEZpcnN0bHksIGl0IHNlcnZlcyBhcyBhIHN0YW5kYXJkIGd1aWRlIFJOQSAoZ1JOQSkgdGhhdCBiaW5kcyBzcGVjaWZpY2FsbHkgdG8gdGhlIHRhcmdldCBETkEgYW5kIHRodXMgbWFya3MgdGhlIHNpdGUgb2YgZWRpdGluZy4gU2Vjb25kbHksIGl0IGNvbnRhaW5zIGFuIFJOQSB0ZW1wbGF0ZSB0aGF0IGVuY29kZXMgdGhlIGRlc2lyZWQgRE5BIG1vZGlmaWNhdGlvbi4gVGhpcyBlbmFibGVzIHRoZSBwcmVjaXNlIGludGVncmF0aW9uIG9mIHRoZSBnZW5ldGljIG1vZGlmaWNhdGlvbnMgYXQgdGhlIHRhcmdldCBzaXRlLiBXZSBldmFsdWF0ZWQgcGVnUk5BIGZvciBpdHMgYWJpbGl0eSB0byBzcGVjaWZpY2FsbHkgdGFyZ2V0IGFuZCBtb2RpZmllZCB0aGUgaW50ZW5kZWQgRE5BIHNlcXVlbmNlLiBFbnN1cmluZyBpdHMgc3BlY2lmaWNpdHkgd2FzIGNydWNpYWwgdG8gYXZvaWQgdGhlIHBvdGVudGlhbCBkaXNydXB0aW9uIG9mIG90aGVyIGdlbmVzLlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPk5pY2thc2UgbkNhczksIENhc1gsIEZhbnpvciAoU3B1RnoxKTo8L3N0cm9uZz4gVGhlc2UgbW9kaWZpZWQgbnVjbGVhc2VzIGFyZSBkZXNpZ25lZCB0byBjdXQgb25seSBvbmUgc3RyYW5kIG9mIEROQS4gVGhpcyBsZWFkcyB0byBjb250cm9sbGVkIGFuZCBwcmVjaXNlIGVkaXRpbmcgb2YgdGhlIGdlbm9tZSwgYXMgY3V0dGluZyBvbmx5IG9uZSBzdHJhbmQgbWluaW1pemVzIHRoZSByaXNrIG9mIHVud2FudGVkIGRvdWJsZS1zdHJhbmQgYnJlYWtzLiBDYXNYIGFuZCBGYW56b3Igb2ZmZXIgc21hbGxlciBhbHRlcm5hdGl2ZXMgdG8gQ2FzOSwgd2hpY2ggaXMgcGFydGljdWxhcmx5IGFkdmFudGFnZW91cyBmb3IgdXNlIGluIGNlbGxzIG9yIG9yZ2FuaXNtcyB3aGVyZSBzcGFjZSBhbmQgZWZmaWNpZW5jeSByZXF1aXJlbWVudHMgaW4gdGVybXMgb2YgdGhlIHRyYW5zcG9ydCBzeXN0ZW0gYXJlIGFuIGlzc3VlLiBGYW56b3IsIGJlaW5nIGEgbmV3bHkgaW50cm9kdWNlZCBlbmRvbnVjbGVhc2UsIHdhcyBwYXJ0aWN1bGFybHkgc2NydXRpbml6ZWQgaW4gb3VyIHByb2plY3QgdG8gZW5zdXJlIGl0cyBzYWZldHkgYW5kIGVmZmVjdGl2ZW5lc3MgaW4gZGlmZmVyZW50IGNlbGx1bGFyIGNvbnRleHRzLiBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICBUaGlzIHByaW1lLWVkaXRpbmcgY29tcGxleCB0aHVzIHJlcHJlc2VudHMgYSBwcmVjaXNlIGFuZCBlZmZpY2llbnQgbWV0aG9kIGZvciBnZW5lIGVkaXRpbmcuIEJ5IGNvbWJpbmluZyB0aGVzZSBjb21wb25lbnRzLCBnZW5ldGljIG1vZGlmaWNhdGlvbnMgY2FuIGJlIHBlcmZvcm1lZCB3aXRoIG1pbmltYWwgc2lkZSBlZmZlY3RzXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIkNoZWNrY2xvbmluZ1wiIG9wZW49e2ZhbHNlfSB0aXRsZT1cIkNoZWNrLWluIGZvciBDbG9uaW5nXCI+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICBGb3Igb3VyICBjbG9uaW5nIGV4cGVyaW1lbnRzIGFuZCB0aGUgZGV2ZWxvcG1lbnQgb2Ygb3VyIHByaW1lIGVkaXRpbmcgY29tcGxleGVzLCB3ZSBoYXZlIGFtcGxpZmllZCB2YXJpb3VzIHBsYXNtaWRzIGluIDxpPkUuIGNvbGk8L2k+IEstMTIgc3RyYWlucyAoREg1XHUwM0IxLDEwLUJldGEpLiBXaGVuIHdvcmtpbmcgd2l0aCBtaWNyb2JpYWwgc3RyYWlucyBzdWNoIGFzIDxpPkUuIGNvbGk8L2k+IEstMTIgc3RyYWlucywgaXQncyBpbXBvcnRhbnQgdG8gY29uc2lkZXIgcG90ZW50aWFsIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCB0aGVpciB1c2UsIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIGdlbmVyYWxseSByZWdhcmRlZCBhcyBzYWZlIGluIGxhYm9yYXRvcnkgc2V0dGluZ3MuIEFsbCBleHBlcmltZW50cyB3ZXJlIHBlcmZvcm1lZCB1bmRlciBzdHJpY3QgUzEgY29uZGl0aW9ucywgZm9sbG93aW5nIGFsbCByZWxldmFudCBzYWZldHkgcHJvdG9jb2xzLiBCZWxvdyB5b3Ugd2lsbCBmaW5kIGFuIG92ZXJ2aWV3IG9mIHRoZSA8aT5FLiBjb2xpPC9pPiBLLTEyIHN0cmFpbnMgZm9yIG91ciBjbG9uaW5nIGV4cGVyaW1lbnRzLCBzdWJtaXR0ZWQgYnkgdXMgYXMgYSBjaGVjay1JbiBhbmQgdGhlIHNwZWNpZmljIHNhZmV0eSBtZWFzdXJlczpcbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz48aT5FLiBjb2xpIEstMTI8L2k+IHN0cmFpbnMgKERINVx1MDNCMSwgMTAtQmV0YSk6PC9zdHJvbmc+IEFsdGhvdWdoIHRoZXNlIHN0cmFpbnMgYXJlIG5vbi1wYXRob2dlbmljIGFuZCBoYXZlIGJlZW4gbW9kaWZpZWQgdG8gbWluaW1pemUgdGhlIHJpc2sgb2Ygc3ByZWFkaW5nIGFudGliaW90aWMgcmVzaXN0YW5jZSwgdGhlcmUgcmVtYWlucyBhIGxvdyByaXNrIG9mIGhvcml6b250YWwgZ2VuZSB0cmFuc2Zlciwgd2hlcmUgZ2VuZXRpYyBtYXRlcmlhbCBjb3VsZCBiZSB0cmFuc2ZlcnJlZCB0byBvdGhlciBtaWNyb29yZ2FuaXNtcywgcG90ZW50aWFsbHkgbGVhZGluZyB0byB0aGUgc3ByZWFkIG9mIHJlc2lzdGFuY2UgZ2VuZXMgb3Igb3RoZXIgdHJhaXRzLiBJZiBhY2NpZGVudGFsbHkgcmVsZWFzZWQgaW50byB0aGUgZW52aXJvbm1lbnQsIDxpPkUuIGNvbGk8L2k+IEstMTIgc3RyYWlucyBjb3VsZCBwb3RlbnRpYWxseSBpbnRlcmFjdCB3aXRoIG5hdGl2ZSBtaWNyb2JpYWwgY29tbXVuaXRpZXMuIFdoaWxlIHRoZXkgYXJlIHR5cGljYWxseSBvdXRjb21wZXRlZCBpbiBuYXR1cmFsIGVudmlyb25tZW50cywgdGhlcmUncyBhIHJlbW90ZSBwb3NzaWJpbGl0eSBvZiBlY29sb2dpY2FsIGRpc3J1cHRpb24sIHBhcnRpY3VsYXJseSBpbiBtaWNyb2Vudmlyb25tZW50cyB3aGVyZSB0aGV5IGNvdWxkIGZpbmQgYSBuaWNoZS5XaGlsZSB0aGVzZSBzdHJhaW5zIGFyZSBub24tdmlydWxlbnQsIHRoZXkgc3RpbGwgcG9zZSBhIG1pbmltYWwgcmlzayB0byBodW1hbnMsIHBhcnRpY3VsYXJseSBpbW11bm9jb21wcm9taXNlZCBpbmRpdmlkdWFscywgdGhyb3VnaCBhY2NpZGVudGFsIGluZ2VzdGlvbiBvciBpbmhhbGF0aW9uIGluIGEgbGFib3JhdG9yeSBzZXR0aW5nLiBcbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgV2Ugc3VibWl0dGVkICB0aGUgeWVhc3Qgc3RyYWluIDxpPlBpY2hpYSBwYXN0b3JpczwvaT4gKFNNRDExNjMpIGZvciB0aGUgcHJvdGVpbiBleHByZXNzaW9uIG9mIEZhbnpvci5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz48aT5QaWNoaWEgcGFzdG9yaXM8L2k+IChTTUQxMTYzKTo8L3N0cm9uZz4gPGk+UGljaGlhIHBhc3RvcmlzPC9pPiAoU01EMTE2MykgaXMgYSB3aWRlbHkgdXNlZCB5ZWFzdCBzdHJhaW4gZm9yIHRoZSBleHByZXNzaW9uIG9mIHJlY29tYmluYW50IHByb3RlaW5zLiBJdCBpcyBjaGFyYWN0ZXJpemVkIGJ5IGEgbWV0aGFub2wtaW5kdWNpYmxlIGV4cHJlc3Npb24gc3lzdGVtIChBT1gxIHByb21vdGVyKSBhbmQgaGlnaCBjZWxsIGdyb3d0aCByYXRlcywgd2hpY2ggbWFrZXMgaXQgaWRlYWwgZm9yIGluZHVzdHJpYWwgYXBwbGljYXRpb25zLiBUaGUgc3RyYWluIGNhbiBiZSBlYXNpbHkgZ2VuZXRpY2FsbHkgbWFuaXB1bGF0ZWQgYW5kIGNhbiBwZXJmb3JtIHBvc3QtdHJhbnNsYXRpb25hbCBtb2RpZmljYXRpb25zLCB3aGljaCBzdXBwb3J0cyBjb3JyZWN0IHByb3RlaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgICAgICAgV2hlbiB3b3JraW5nIHdpdGggPGk+UGljaGlhIHBhc3RvcmlzPC9pPiAoU01EMTE2MyksIHZhcmlvdXMgc2FmZXR5LXJlbGV2YW50IGFzcGVjdHMgbXVzdCBiZSBvYnNlcnZlZC4gQWx0aG91Z2ggdGhlIG9yZ2FuaXNtIGlzIGNvbnNpZGVyZWQgbm9uLXBhdGhvZ2VuaWMgYW5kIGJpb2xvZ2ljYWxseSBzYWZlIChTMSksIHNraW4gY29udGFjdCBhbmQgYWVyb3NvbCBmb3JtYXRpb24gc2hvdWxkIGJlIGF2b2lkZWQgdG8gbWluaW1pemUgdGhlIHJpc2sgb2YgaW5mZWN0aW9uIG9yIGFsbGVyZ2ljIHJlYWN0aW9ucy4gV2hlbiB1c2luZyBnZW5ldGljYWxseSBtb2RpZmllZCBzdHJhaW5zLCBpdCBpcyBpbXBvcnRhbnQgdG8gZm9sbG93IHRoZSByZWxldmFudCBHTU8gZ3VpZGVsaW5lcyB0byBwcmV2ZW50IHVuY29udHJvbGxlZCByZWxlYXNlLiBJbiBhZGRpdGlvbiwgaGFuZGxpbmcgY2hlbWljYWxzIHN1Y2ggYXMgbWV0aGFub2wgcmVxdWlyZXMgc3BlY2lhbCBwcmVjYXV0aW9ucyBhcyB0aGV5IGFyZSB0b3hpYyBhbmQgaGlnaGx5IGZsYW1tYWJsZS4gVGhlIGRpc3Bvc2FsIG9mIGNlbGwgY3VsdHVyZXMgYW5kIHdhc3RlIG11c3QgYWxzbyBiZSBjYXJyaWVkIG91dCBpbiBhY2NvcmRhbmNlIHdpdGggYmlvc2FmZXR5IHJlZ3VsYXRpb25zLCBlc3BlY2lhbGx5IGluIHRoZSBjYXNlIG9mIGdlbmV0aWNhbGx5IG1vZGlmaWVkIG9yZ2FuaXNtcy4gXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIkNoZWNrY2VsbExpbmVzXCIgb3Blbj17ZmFsc2V9IHRpdGxlPVwiQ2hlY2staW4gZm9yIFRlc3RpbmcgaW4gY2VsbCBsaW5lc1wiPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgSW4gb3VyIHByb2plY3QsIHdlIHBhaWQgYXR0ZW50aW9uIHRvIHNhZmV0eSBhdCBldmVyeSBzdGVwLCBlc3BlY2lhbGx5IHdoZW4gd29ya2luZyB3aXRoIHNwZWNpZmljIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnY2VsbC1jdWx0dXJlJywgJy9tYXRlcmlhbHMtbWV0aG9kcycpfT4gY2VsbCBsaW5lcyA8L2E+IC4gQWxsIGV4cGVyaW1lbnRzIHdlcmUgcGVyZm9ybWVkIHVuZGVyIHN0cmljdCBTMSBjb25kaXRpb25zLCBmb2xsb3dpbmcgYWxsIHJlbGV2YW50IHNhZmV0eSBwcm90b2NvbHMuIEdpdmVuIHRoZSBzZW5zaXRpdml0eSBvZiB0aGUgaHVtYW4gY2VsbCBsaW5lcyB3ZSB1c2VkLCB3ZSBwbGFjZWQgZ3JlYXQgZW1waGFzaXMgb24gY29udHJvbGxlZCBhbmQgd2VsbC1kZXNpZ25lZCB3b3JrZmxvd3MuIEFsbCB0cmFuc2ZlY3Rpb25zIHdlcmUgcGVyZm9ybWVkIGluIG91ciBvd24gdHJhbnNmZWN0aW9uIGxhYm9yYXRvcnkgdG8gZW5zdXJlIGEgaGlnaCBsZXZlbCBvZiBzYWZldHkgYW5kIGNvbXBsaWFuY2UuICBCZWxvdyB5b3Ugd2lsbCBmaW5kIGFuIG92ZXJ2aWV3IG9mIHRoZSBjZWxsIGxpbmVzIHN1Ym1pdHRlZCBieSB1cyBhcyBhIGNoZWNraW4gYW5kIHRoZSBzcGVjaWZpYyBzYWZldHkgbWVhc3VyZXM6XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIDxzdHJvbmc+SEVLMjkzIGNlbGwgbGluZTogPC9zdHJvbmc+SEVLIDI5MyAoSHVtYW4gRW1icnlvbmljIEtpZG5leSAyOTMpIGNlbGxzIGFyZSBhbiBpbW1vcnRhbCBjZWxsIGxpbmUgb3JpZ2luYWxseSBkZXJpdmVkIGZyb20gdGhlIGtpZG5leSBjZWxscyBvZiBhIGh1bWFuIGVtYnJ5by4gVGhleSBhcmUgY2hhcmFjdGVyaXplZCBieSB0aGVpciBmYXN0IGRpdmlzaW9uIHJhdGUgYW5kIGhpZ2ggdHJhbnNmZWN0aW9uIGVmZmljaWVuY3ksIHdoaWNoIG1ha2VzIHRoZW0gYSBwb3B1bGFyIG1vZGVsIGluIGJpb21lZGljYWwgcmVzZWFyY2guIEZvciBvdXIgc3R1ZGllcywgdGhlIGJhc2ljIEhFSzI5MyBjZWxscyB3ZXJlIHByb3ZpZGVkIHRvIHVzIGJ5IHRoZSBDZWxsdWxhciBhbmQgTW9sZWN1bGFyIEJpb3RlY2hub2xvZ3kgR3JvdXAgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHksIGhlYWRlZCBieSBQcm9mLiBEci4gS3Jpc3RpYW4gTVx1MDBGQ2xsZXIuIFByb2YuIERyLiBNXHUwMEZDbGxlciBpcyBhbHNvIG9uZSBvZiB0aGUgUHJpbmNpcGFsIEludmVzdGlnYXRvcnMgb2Ygb3VyIHRlYW0uIFdlIHVzZSB0aGlzIGNlbGwgbGluZSBpbiBvdXIgcHJvb2Ytb2YtY29uY2VwdCBzdHVkaWVzIGFuZCBmb3IgdGVzdGluZyB0aGUgUHJpbWUgRWRpdGluZyBHdWlkZSBwZWdSTkEgKHBlZ1JOQSkgdG8gZXZhbHVhdGUgdGhlIGVmZmljaWVuY3kgYW5kIGZ1bmN0aW9uYWxpdHkgb2Ygb3VyIGNvbnN0cnVjdHMuIFxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPkhFSzI5M1QtM0hBLUNGVFIgY2VsbCBsaW5lOiA8L3N0cm9uZz5UaGUgSEVLMjkzVC0zSEEtQ0ZUUiBjZWxsIGxpbmUgaXMgYmFzZWQgb24gSEVLMjkzVCBjZWxscyBleHByZXNzaW5nIGFuIGFkZGl0aW9uYWwgdHNBMTYwOSBhbGxlbGUgb2YgdGhlIFNWNDAgbGFyZ2UgVCBhbnRpZ2VuLiBUaGlzIGFsbGVsZSBlbmFibGVzIHRoZSByZXBsaWNhdGlvbiBvZiB2ZWN0b3JzIGNvbnRhaW5pbmcgdGhlIFNWNDAgb3JpZ2luIG9mIHJlcGxpY2F0aW9uLiBJbiBhZGRpdGlvbiB0byB0aGUgbmF0aXZlIENGVFIgZ2VuZSwgd2hpY2ggaXMgbm90IGV4cHJlc3NlZCBpbiBIRUsgY2VsbHMsIHRoZSBIRUsyOTNULTNIQS1DRlRSIGNlbGwgbGluZSBjYXJyaWVzIGFub3RoZXIgY29weSBvZiB0aGUgQ0ZUUiBnZW5lIGVtYmVkZGVkIGluIGFuIGV4cHJlc3Npb24gY2Fzc2V0dGUuIFRoaXMgY2Fzc2V0dGUgY29udGFpbnMgYSBDTVYgcHJvbW90ZXIsIHdoaWNoIGlzIGRlcml2ZWQgZnJvbSB0aGUgaHVtYW4gY3l0b21lZ2Fsb3ZpcnVzIGFuZCBpcyBmcmVxdWVudGx5IHVzZWQgZm9yIHRoZSBvdmVyZXhwcmVzc2lvbiBvZiBnZW5lcyBpbiBodW1hbiBjZWxscy4gSW4gYWRkaXRpb24sIHRoZSBjYXNzZXR0ZSBjb250YWlucyBhIHB1cm9teWNpbiByZXNpc3RhbmNlIGdlbmUgdGhhdCBpcyBjby1leHByZXNzZWQgd2l0aCBDRlRSLCBhbGxvd2luZyBjb250aW51b3VzIHNlbGVjdGlvbiBvZiBDRlRSLWV4cHJlc3NpbmcgY2VsbHMuIFxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8c3Ryb25nPkhFSzI5M1QtM0hBLUY1MDhkZWwtQ0ZUUiBjZWxsIGxpbmU6PC9zdHJvbmc+IFRoZSBIRUsyOTNULTNIQS1GNTA4ZGVsLUNGVFIgY2VsbCBsaW5lIGlzIGEgbW9kaWZpZWQgSEVLMjkzVCBjZWxsIGxpbmUgdGhhdCBjYXJyaWVzIHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIHRoZSBDRlRSIGdlbmUsIHdoaWNoIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgbW9zdCBjb21tb24gbXV0YXRpb24gaW4gY3lzdGljIGZpYnJvc2lzLiBUaGlzIG11dGF0aW9uIGxlYWRzIHRvIGEgZGVmZWN0aXZlIENGVFIgcHJvdGVpbiB0aGF0IGltcGFpcnMgdGhlIG5vcm1hbCBmdW5jdGlvbiBvZiB0aGUgY2hsb3JpZGUgY2hhbm5lbC4gVGhlIGNlbGwgbGluZSBpcyB0aGVyZWZvcmUgaWRlYWwgZm9yIHN0dWR5aW5nIHRoZSBlZmZlY3RzIG9mIHRoaXMgbXV0YXRpb24gYW5kIGZvciBldmFsdWF0aW5nIHBvdGVudGlhbCB0aGVyYXBpZXMgZm9yIGN5c3RpYyBmaWJyb3Npcy4gXG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIDxzdHJvbmc+Q0ZCRTQxby0gY2VsbCBsaW5lOjwvc3Ryb25nPiBUaGUgQ0ZCRTQxby0gY2VsbCBsaW5lLCBkZXJpdmVkIGZyb20gdGhlIGJyb25jaGlhbCBlcGl0aGVsaWFsIGNlbGxzIG9mIGEgY3lzdGljIGZpYnJvc2lzIHBhdGllbnQsIGlzIGhvbW96eWdvdXMgZm9yIHRoZSBGNTA4ZGVsLUNGVFIgbXV0YXRpb24gYW5kIHdhcyBlc3NlbnRpYWwgZm9yIG91ciBjeXN0aWMgZmlicm9zaXMgcmVzZWFyY2guIEEgcmVkdWNlZCBDRlRSIGV4cHJlc3Npb24gbGV2ZWwgaXMgcHJlc2VudC4gVGhlIGNlbGwgbGluZSBjYXJyaWVzIHRoZSBDRlRSIGRlZmVjdCBhbmQgY2FuIHRoZXJlZm9yZSByZXByZXNlbnQgYSBwYXRpZW50IHdpdGggQ0YuIFRoZSBjZWxsIGxpbmUgaXMgdXNlZCB0byB0ZXN0IG91ciBtZWNoYW5pc20uIFRoZXNlIGNlbGxzIHdlcmUgaW1tb3J0YWxpemVkIHdpdGggYSByZXBsaWNhdGlvbi1kZWZlY3RpdmUgcGxhc21pZCB0aGF0IHJldGFpbnMgdGhlaXIgcGh5c2lvbG9naWNhbCBwcm9wZXJ0aWVzLlxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgIFdoZW4gd29ya2luZyB3aXRoIHRoZSBIRUsyOTNUIGFuZCBDRkJFNDFvLSBjZWxsIGxpbmVzLCBpdFx1MjAxOXMgaW1wb3J0YW50IHRvIGNvbnNpZGVyIHRoZSBtaW5pbWFsIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCB0aGVpciB1c2UuIFdoaWxlIG5vdCBoYXJtZnVsIG9uIHRoZWlyIG93biwgdGhlIGdlbmV0aWMgbW9kaWZpY2F0aW9ucyBpbiBIRUsyOTNUIGNlbGxzIHJlcXVpcmUgY2FyZWZ1bCBoYW5kbGluZyB0byBwcmV2ZW50IGFjY2lkZW50YWwgcmVsZWFzZSBvciBleHBvc3VyZS4gVGhlc2UgY2VsbHMsIGVuZ2luZWVyZWQgdG8gb3ZlcmV4cHJlc3MgQ0ZUUiwgaW5jbHVkaW5nIHRoZSBGNTA4ZGVsIG11dGF0aW9uLCBuZWNlc3NpdGF0ZSBzdHJpY3Qgc2FmZXR5IG1lYXN1cmVzIGxpa2UgcmVndWxhciBtb25pdG9yaW5nIGFuZCBwcm9wZXIgd2FzdGUgZGlzcG9zYWwgdG8gY29tcGx5IHdpdGggUzEgbGFib3JhdG9yeSBzdGFuZGFyZHMuIFNpbWlsYXJseSwgQ0ZCRTQxby0gY2VsbHMsIGR1ZSB0byB0aGVpciBnZW5ldGljIG1vZGlmaWNhdGlvbnMgYW5kIGRpc2Vhc2UgcmVsZXZhbmNlLCByZXF1aXJlIGNhcmVmdWwgaGFuZGxpbmcgdG8gYXZvaWQgY3Jvc3MtY29udGFtaW5hdGlvbiBhbmQgZW5zdXJlIGJpb3NhZmV0eS5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgPHN0cm9uZz5IdW1hbiBuYXNhbCBlcGl0aGVsaWFsIGNlbGxzIChoTkVDcyk6PC9zdHJvbmc+IEh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgKGhORUNzKSB3ZXJlIGhhcnZlc3RlZCB1c2luZyBhIG5hc2FsIGJydXNoLCBhIG1pbmltYWxseSBpbnZhc2l2ZSBwcm9jZWR1cmUsIGFuZCBjdWx0dXJlZCBpbiBhaXItbGlxdWlkIGludGVyZmFjZSAoQUxJKSBjdWx0dXJlcyB0byBtb2RlbCB0aGUgYWlyd2F5IGVwaXRoZWxpdW0uIEh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgKGhORUNzKSB3ZXJlIG9idGFpbmVkIHVzaW5nIGEgbmFzYWwgYnJ1c2gsIGEgbWluaW1hbGx5IGludmFzaXZlIHRlY2huaXF1ZSwgYW5kIHRoZW4gY3VsdHVyZWQgaW4gYWlyLWxpcXVpZCBpbnRlcmZhY2UgKEFMSSkgY3VsdHVyZXMgdG8gbW9kZWwgdGhlIGFpcndheSBlcGl0aGVsaXVtLiBVc2luZyB0aGVzZSBwcmltYXJ5IGN1bHR1cmVzLCBkZXJpdmVkIGZyb20gZG9ub3JzIHdpdGggYWlyd2F5IGRpc2Vhc2VzIHN1Y2ggYXMgY3lzdGljIGZpYnJvc2lzLCB3ZSB3ZXJlIGFibGUgdG8gc2ltdWxhdGUgdGhlIGluIHZpdm8gY29uZGl0aW9ucyBvZiBzdWNoIGRpc2Vhc2VzLiAgXG4gICAgICAgICAgICAgIER1ZSB0byB0aGUgc2Vuc2l0aXZlIG5hdHVyZSBvZiB0aGVzZSBwcmltYXJ5IGh1bWFuIGNlbGxzLCB3ZSBwZXJmb3JtZWQgYWxsIGV4cGVyaW1lbnRzIHdpdGggaE5FQ3MgaW4gb3VyIFMyIGxhYm9yYXRvcnksIHdoZXJlIGluY3JlYXNlZCBzYWZldHkgcHJlY2F1dGlvbnMgd2VyZSB0YWtlbi4gVGhpcyBpbmNsdWRlZCBzdHJpY3Qgc2FmZXR5IGNvbnRyb2xzLCBzYWZlIGhhbmRsaW5nIG9mIHNhbXBsZXMgYW5kIHByb3BlciBkaXNwb3NhbCBvZiBtYXRlcmlhbHMgYWZ0ZXIgdGVzdGluZy4gSW4gcGFydGljdWxhciwgdGhlIGhORUNzIHVuZGVyd2VudCBISEggKFRyaXBsZSBIOiBISVYsIEhDViBhbmQgSEJWKSB0ZXN0aW5nIHRvIGVuc3VyZSB0aGF0IG5vIGNvbnRhbWluYXRpb24gb2NjdXJyZWQgZHVyaW5nIHNhbXBsZSBjb2xsZWN0aW9uIG9yIGV4cGVyaW1lbnRhdGlvbi4gVGhlc2UgdGVzdHMgaW5jbHVkZWQgc3RlcmlsaXR5IHRlc3RpbmcsIHZpYWJpbGl0eSBhc3Nlc3NtZW50cyBhbmQgY29udGFtaW5hdGlvbiB0ZXN0aW5nIHRvIGVuc3VyZSB0aGUgc2FmZXR5IGFuZCBpbnRlZ3JpdHkgb2YgYm90aCB0aGUgc2FtcGxlcyBhbmQgdGhlIGxhYm9yYXRvcnkgZW52aXJvbm1lbnQuIEFmdGVyIGEgbmVnYXRpdmUgSEhIIHRlc3QsIHRoZSBwcmltYXJ5IGN1bHR1cmVzIGNhbiBiZSB0cmVhdGVkIGFzIFMxLiBJbiBhZGRpdGlvbiwgdGhlIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgd2VyZSBoYW5kbGVkIHdpdGggdGhlIHV0bW9zdCBjYXJlIGR1cmluZyBjb2xsZWN0aW9uLCBlbnN1cmluZyB0aGF0IGFsbCBwcm9jZWR1cmVzIHdlcmUgcGVyZm9ybWVkIHVuZGVyIHN0ZXJpbGUgY29uZGl0aW9ucyB0byBhdm9pZCBhbnkgcmlzayBvZiBjb250YW1pbmF0aW9uRm9yIHRoaXMgcHVycG9zZSwgdGhlIGludGVuc2l2ZSBleGFtaW5hdGlvbiBvZiBldGhpY2FsIHF1ZXN0aW9ucyB3YXMgZnVuZGFtZW50YWwgYW5kIGEgY29uc3RhbnQgY29tcGFuaW9uIG9mIG91ciBwcm9qZWN0LiBUaGUgbnVtZXJvdXMgcmVzdWx0cyBmcm9tIHRoZSBpbnRlcnZpZXdzIGluIHRoZSBhcmVhcyBvZjogRXRoaWNzLCBzdG9yYWdlIGFuZCB0cmFpbmluZyBpbiB0aGUgaGFuZGxpbmcgb2Ygc2FtcGxlcyBoYXZlIGJlZW4gc3VtbWFyaXplZCBpbiBhIGd1aWRlbGluZSBmb3IgcGF0aWVudCBjb25zZW50IGZvciBHZXJtYW55IGFuZCBhcmUgaW50ZW5kZWQgdG8gcHJvdmlkZSBpR0VNIHRlYW1zIHdpdGggdGhlIHNjb3BlLCBjcml0aWNhbCBleGFtaW5hdGlvbiBhbmQgb2JzZXJ2YW5jZSBvZiBpR0VNIHJ1bGVzLCBpbnRlcm5hdGlvbmFsIGFuZCBuYXRpb25hbCBndWlkZWxpbmVzLlx1MjAyRiBcbiAgICAgICAgICAgICAgPC9wPiBcbiAgICAgICAgICAgIDwvQ29sbGFwc2libGU+XG5cbiAgICAgICAgICAgIDxDb2xsYXBzaWJsZSBpZD1cIkNoZWNrRGVsaXZlcnlcIiBvcGVuPXtmYWxzZX0gdGl0bGU9XCJDaGVjay1pbiBmb3IgRGVsaXZlcnlcIj5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIE91ciBmaW5pc2hlZCBjb25zdHJ1Y3QgaXMgZGVzaWduZWQgdG8gYmUgZGVsaXZlcmVkIGludG8gdGhlIGx1bmcgdmlhIGFuIGluaGFsZXIgdXNpbmcgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykuIFRvIGJlIG1vcmUgc3BlemlmaWMgYSBzZWxlY3RpdmUgb3JnYW4tdGFyZ2V0aW5nIChTT1JUKS0gTE5QcyB3ZXJlIGRldmVsb3BlZCB0byBkZWxpdmVyIG1STkEgc3BlY2lmaWNhbGx5IHRvIHRoZSBsdW5nLCB3aXRoIHNwZWNpYWwgbWVhc3VyZXMgdGFrZW4gdG8gaW5jcmVhc2UgYmlvY29tcGF0aWJpbGl0eSBhbmQgc2FmZXR5LiBTaW5jZSB0aGUgTE5QIGNvbXBvc2l0aW9uIGlzIHZlcnkgc3BlY2lmaWMgYW5kIGFsc28gZGlmZmVycyBmcm9tIG90aGVyIGZvcm11bGFzLCB3ZSBzdWJtaXR0ZWQgdGhlIExOUCBhcyBhIGNoZWNraW46XG4gICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIDxzdHJvbmc+TE5QOjwvc3Ryb25nPiBUaGVzZSBMTlBzIGFyZSB0aGVuIHRha2VuIHVwIGJ5IGVwaXRoZWxpYWwgY2VsbHMgdGhyb3VnaCBlbmRvY3l0b3NpcywgcmVsZWFzaW5nIHRoZSBjb25zdHJ1Y3QgaW50byB0aGUgY3l0b3NvbC4gV2UgY2FyZWZ1bGx5IGV2YWx1YXRlZCB0aGUgcG90ZW50aWFsIHJpc2tzLCBpbmNsdWRpbmcgdW5pbnRlbmRlZCBpbW11bmUgcmVzcG9uc2VzIGFuZCB0aGUgbmVlZCBmb3IgcHJlY2lzZSBkb3NpbmcgdG8gbWluaW1pemUgc2lkZSBlZmZlY3RzLiBJbiBhZGRpdGlvbiwgd2UgaGF2ZSBjb25kdWN0ZWQgYW4gaW4tZGVwdGggYW5hbHlzaXMgb2YgdGhlIGR1YWwtdXNlIHBvdGVudGlhbCBvZiBvdXIgdGVjaG5vbG9neS4gRHVhbC11c2UgcmVmZXJzIHRvIHRoZSBwb3NzaWJpbGl0eSB0aGF0IHNjaWVudGlmaWMgYWR2YW5jZXMgY2FuIGJlIHVzZWQgZm9yIGJvdGggY2l2aWxpYW4gYW5kIG1pbGl0YXJ5IHB1cnBvc2VzLiBUaGVyZWZvcmUsIHdlIGhhdmUgaW1wbGVtZW50ZWQgc3RyaWN0IHNhZmV0eSBwcm90b2NvbHMgYW5kIGV0aGljYWwgZ3VpZGVsaW5lcyB0byBlbnN1cmUgdGhhdCBvdXIgdGVjaG5vbG9neSBpcyB1c2VkIGV4Y2x1c2l2ZWx5IGZvciBwZWFjZWZ1bCBhbmQgdGhlcmFwZXV0aWMgYXBwbGljYXRpb25zLiBcbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L1NlY3Rpb24+XG4gICAgICA8U2VjdGlvbiB0aXRsZT1cIk91ciBMYWJcIiBpZD1cIk91ciBMYWJcIj5cbiAgICAgICAgPHA+XG4gICAgICAgIEFzIHBhcnQgb2Ygb3VyIGxhYm9yYXRvcnkgYWN0aXZpdGllcyBmb3Igb3VyIDxQcmVDeXNlLz4gcHJvamVjdCwgd2Ugd29ya2VkIGluIHZhcmlvdXMgbGFib3JhdG9yaWVzLiBGb3IgZ2VuZXJhbCBsYWIgd29yayBhbmQgY2xvbmluZyBleHBlcmltZW50cywgeW91IGNhbiBmaW5kIHNvbWUgcGljdHVyZXMgb2Ygb3VyIGxhYm9yYXRvcmllcyBiZWxvdzogIFxuICAgICAgICA8L3A+XG4gICAgICAgIDxINCB0ZXh0PVwiT3VyIENsb25pbmcgTGFiXCI+PC9IND5cbiAgICAgICAgPHA+XG4gICAgICAgIE91ciBDbG9uaW5nLWxhYm9yYXRvcnkgaXMgZGl2aWRlZCBpbnRvIGRpZmZlcmVudCB3b3JrIGFyZWFzIHRvIGVuc3VyZSB0aGF0IHRoZSBleHBlcmltZW50cyBydW4gc21vb3RobHkgYW5kIGVmZmljaWVudGx5LiBUaGVzZSBpbmNsdWRlIHRoZSBnZWwgc3RhdGlvbiwgdGhlIFBDUiBzdGF0aW9uLCB0aGUgdHJhbnNmb3JtYXRpb24gc2VjdGlvbiBhbmQgdGhlIG1lYXN1cmVtZW50IGFyZWEuIEVhY2ggYXJlYSBpcyBzcGVjaWFsbHkgZXF1aXBwZWQgZm9yIHRoZSByZXNwZWN0aXZlIG1ldGhvZCwgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGV4cGVyaW1lbnRzIHdlcmUgY2FycmllZCBvdXQgZXhjbHVzaXZlbHkgaW4gdGhlIGRlc2lnbmF0ZWQgc3RhdGlvbnMuIEluIHRoaXMgd2F5LCB3ZSBlbnN1cmUgdGhhdCBvdXIgd29yayBpcyBjYXJyaWVkIG91dCB1bmRlciBvcHRpbWFsIGNvbmRpdGlvbnMgYW5kIHdpdGggdGhlIGdyZWF0ZXN0IHBvc3NpYmxlIHByZWNpc2lvbi4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlndXJlLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvYmlvc2FmZXR5L2tvbGxhZ2UvbmV3L2ltZy0yMDQxLmpwZWdcIiBzdHlsZT17e2hlaWdodDogXCIxMCVcIiwgd2lkdGg6XCJhdXRvXCJ9fS8+XG4gICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiA8Yj5GaWd1cmUgMTwvYj4gUGhvdG8tZ2FsbGVyeSBvZiBsYWJvcmF0b3J5LiBBOiBLZXkgbG9jay4gQjogS2V5LWxvY2tlZCBkb29yLiBDOiBBbGFybSBwbGFuLiBEOiBFbWVyZ2VueSBidXR0b24gZm9yIGVsZWN0cmlvdGlvbiBzdG9wLiBFOiBFbWVyZ2VuY3kgdGVsZXBob25lLiBGOiBGaXJzdCBhaWQga2l0LCBjYXJkaWFjIGRlZmlicmlsbGF0b24gYW5kIGVtZXJnZW5jeSBleGl0IGFuZCBmaXJlIGFsYXJtIHBsYW4uIEc6IFdhc2ggYmluIHdpdGggZW1lcmdlbmN5IGV5ZSB3YXNoLiBIOiBFbWVyZ2VuY3kgc2hvd2VyLiBJOiBMb2NrYWJsZSBjYWJpbmV0cyBmb3IgY2hlbWljYWwgc3RvcmFnZS4gPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZ3VyZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Jpb3NhZmV0eS9rb2xsYWdlL25ldy9pbWctMjAzNy5qcGVnXCIgc3R5bGU9e3toZWlnaHQ6IFwiMTAlXCIsIHdpZHRoOiBcImF1dG9cIn19Lz5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IDxiPkZpZ3VyZSAyPC9iPiBQaG90by1nYWxsZXJ5IG9mIFMxIGxhYm9yYXRvcnkuIEE6IEF1dG9jbGF2ZS4gQjogUmVmcmlnZXJhdG9yIHdpdGggY2hlbWljYWxzLiBDOiBXZWlnaGluZyByb29tIHdpdGggY2hlbWljYWwgc3RvcmFnZS4gRDogQ2xlYW4gYmVuY2ggd29yayBzcGFjZSB3aXRoIHZvcnRleCwgcGlwZXR0ZXMsIGhlYXQgYmxvY2sgYW5kIGJlbmNoIHRvcCBjZW50cmlmdWdlLiBFOiBwSCBlbGVjdHJvZGUgaW4gZnVtZSBob29kLiBGOiBJY2UgbWFjaGluZS4gRzogRmlyZSBkaXN0aW5ndWlzaGVyIGFuZCBTMSB3YXN0ZS4gSDogRnVtZSBob29kIHdpdGggbGlxdWlkIHdhc3RlLjwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvcD5cbiAgICAgICAgPEg0IHRleHQ9XCJPdXIgQ2VsbCBDdWx0dXJlIExhYiBcIj48L0g0PlxuICAgICAgICA8cD5cbiAgICAgICAgSW4gb3VyIGNlbGwgY3VsdHVyZSBsYWJvcmF0b3J5LCB3ZSB3b3JrIHVuZGVyIHN0ZXJpbGUgY29uZGl0aW9ucyB0byBlbnN1cmUgb3B0aW1hbCBncm93dGggY29uZGl0aW9ucyBmb3IgaHVtYW4gY2VsbCBsaW5lcy4gQW1vbmcgb3RoZXIgdGhpbmdzLCB3ZSBjYXJyeSBvdXQgdHJhbnNmZWN0aW9ucyBpbiBvcmRlciB0byBpbnRyb2R1Y2UgZ2VuZXRpYyBtYXRlcmlhbCBpbnRvIGNlbGxzIGFuZCBpbnZlc3RpZ2F0ZSB0aGVpciBiZWhhdmlvci4gU3RyaWN0IHByb3RvY29scyBhbmQgc3RhdGUtb2YtdGhlLWFydCB0ZWNobm9sb2d5IGVuc3VyZSB0aGUgcHJlY2lzaW9uIGFuZCByZXByb2R1Y2liaWxpdHkgb2Ygb3VyIGV4cGVyaW1lbnRzLiBcbiAgICAgICAgPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZ3VyZS13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Jpb3NhZmV0eS9rb2xsYWdlL25ldy9pbWctMjA0MC5qcGVnXCIgc3R5bGU9e3toZWlnaHQ6IFwiMTAlXCIsIHdpZHRoOiBcImF1dG9cIn19Lz5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+IDxiPkZpZ3VyZSAzPC9iPiBQaG90by1nYWxsZXJ5IG9mIGxhYm9yYXRvcnkgYW5kIGNoZW1pY2FsIHN0b3JhZ2UuIEE6IFNhZmV0eSBjYWJpbmV0cy4gQjogSW5jdWJhdG9yLiBDOiBTYWZldHkgY2FiaW5ldC48L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8cD5cbiAgICAgICAgSW4gb3VyIFMyIGxhYm9yYXRvcnksIHRoZSBoYXJ2ZXN0ZWQgbmFzYWwgZXBpdGhlbGlhbCBjZWxscyB0aGF0IHNlcnZlIGFzIHByaW1hcnkgY3VsdHVyZXMgdW5kZXJnbyBhIGNvbXByZWhlbnNpdmUgSEhIIHRlc3QgdG8gZW5zdXJlIHRoZWlyIHNhZmV0eSBhbmQgc3VpdGFiaWxpdHkgZm9yIGZ1cnRoZXIgZXhwZXJpbWVudHMuIFRoaXMgdGVzdCBpcyBjcnVjaWFsIHRvIGVuc3VyZSB0aGF0IHdlIGNhbiBzdWJzZXF1ZW50bHkgd29yayBzYWZlbHkgd2l0aCB0aGVzZSBjZWxscyBpbiB0aGUgUzEgcmFuZ2Ugd2l0aG91dCB0aGUgcmlzayBvZiBjb250YW1pbmF0aW9uIG9yIHVud2FudGVkIHJlbGVhc2Ugb2YgYmlvbG9naWNhbCBtYXRlcmlhbC4gXG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWd1cmUtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9iaW9zYWZldHkva29sbGFnZS9uZXcvaW1nLTIwNDIuanBlZ1wiIHN0eWxlPXt7aGVpZ2h0OiBcIjEwJVwifX0vPlxuICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+RmlndXJlIDQ8L2I+UGhvdG8tZ2FsbGVyeSBvZiBTMiBsYWJvcmF0b3J5LiBBOiBEb29yIG9mIFMyIGxhYiB3aXRoIFMyIHNpZ24uIEI6IEVtZXJnZW5jeSBzaG93ZXIgYW5kIGZpcmUgZGlzdGluZ3Vpc2hlci4gQzogQ2xlYW4gYmVuY2ggd2l0aCBjZW50cmlmdWdlLiBEOiBJbmN1YmF0b3IuIEU6IFNhZmV0eSBjYWJpbmV0LiBGOiBFbWVyZ2VueSB0ZWxlcGhvbmUuIEc6IFMyIGxhYiBjb2F0IHdpdGggUzIgc2lnbi4gSDogTWljcm9zY29wZS4gSTogQXV0b2NsYXZlLiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9TZWN0aW9uPlxuICAgICBcbiAgICAgIDxTZWN0aW9uIHRpdGxlPVwiUmVmZXJlbmNlc1wiIGlkPVwiUmVmZXJlbmNlc1wiPlxuICAgICAgPG9sPnsvKjwhLS0gQ2l0YXRpb24gbnVtIDEtLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0xXCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IENsb2FyZWMtVW5nLCBGLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEJlYXVsaWV1LCBKLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFN1dGhhbmFudGhhbiwgQS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBMZWhuZXJ0eiwgQi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTYXV2YWdlYXUsIEcuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gU2hlcHBhcmQsIEguIE0uPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gS25hcHAsIEQuIEouIEguIEYuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtcbk5lYXItcGVyZmVjdCBwcmVjaXNlIG9uLXRhcmdldCBlZGl0aW5nIG9mIGh1bWFuIGhlbWF0b3BvaWV0aWMgc3RlbSBhbmRcbnByb2dlbml0b3IgY2VsbHNcbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IGVMaWZlPC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAxMiw8L2I+XG5cdCZuYnNwOyg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDI0XCI+MjAyNDwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjc1NTQvZUxpZmUuOTEyODhcIj4gZG9pOiAxMC43NTU0L2VMaWZlLjkxMjg4PC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMi0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTJcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gTmVsc29uLCBKLiBXLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFJhbmRvbHBoLCBQLiBCLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFNoZW4sIFMuIFAuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRXZlcmV0dGUsIEsuIEEuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQ2hlbiwgUC4gSi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBBbnphbG9uZSwgQS4gVi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBBbiwgTS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBldCBhbC48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO0VuZ2luZWVyZWQgcGVnUk5BcyBpbXByb3ZlIHByaW1lIGVkaXRpbmcgZWZmaWNpZW5jeTwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IE5hdHVyZSBCaW90ZWNobm9sb2d5PC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiA0MDwvYj5cblx0LCZuYnNwOzxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiA0MDI8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj40MTA8L3NwYW4+Jm5ic3A7XG5cdCg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDIyXCI+MjAyMjwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjEwMzgvczQxNTg3LTAyMS0wMTAzOS03XCI+IGRvaTogMTAuMTAzOC9zNDE1ODctMDIxLTAxMDM5LTc8L2E+XG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSAzLS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtM1wiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBEb2VuY2gsIEouIEcuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRnVzaSwgTi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTdWxsZW5kZXIsIE0uPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gSGVnZGUsIE0uPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gVmFpbWJlcmcsIEUuIFcuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRG9ub3ZhbiwgSy4gRi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTbWl0aCwgSS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBldCBhbC48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO1xuT3B0aW1pemVkIHNnUk5BIGRlc2lnbiB0byBtYXhpbWl6ZSBhY3Rpdml0eSBhbmQgbWluaW1pemUgb2ZmLXRhcmdldCBlZmZlY3RzXG5vZiBDUklTUFItQ2FzOVxuPC9zcGFuPi4gXG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gTmF0dXJlIEJpb3RlY2hub2xvZ3k8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDM0PC9iPlxuXHQsJm5ic3A7PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+IDE4NDwvc3Bhbj4tPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUVuZFwiPjE5MTwvc3Bhbj4mbmJzcDtcblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMTZcIj4yMDE2PC90aW1lPikuXG5cdDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTAzOC9uYnQuMzQzN1wiPiBkb2k6IDEwLjEwMzgvbmJ0LjM0Mzc8L2E+XG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSA0LS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtNFwiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBXaGl0ZSwgTi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTYWRlZXNoa3VtYXIsIEguPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gU3VuLCBBLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFN1ZGFyc2FuLCBOLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEJyZWFrZXIsIFIuIFIuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtcbk5hKyByaWJvc3dpdGNoZXMgcmVndWxhdGUgZ2VuZXMgZm9yIGRpdmVyc2UgcGh5c2lvbG9naWNhbCBwcm9jZXNzZXMgaW5cbmJhY3RlcmlhXG48L3NwYW4+LiBcblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBOYXR1cmUgQ2hlbWljYWwgQmlvbG9neTwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMTg8L2I+XG5cdCwmbmJzcDs8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gODc4PC9zcGFuPi08c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlRW5kXCI+ODg1PC9zcGFuPiZuYnNwO1xuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAyMlwiPjIwMjI8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDM4L3M0MTU4OS0wMjItMDEwODYtNFwiPiBkb2k6IDEwLjEwMzgvczQxNTg5LTAyMi0wMTA4Ni00PC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gNS0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTVcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gSXdhd2FraSwgVC48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBBa2FpLCBSLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7XG5BbmFseXNpcyBvZiB0aGUgWEJQMSBzcGxpY2luZyBtZWNoYW5pc20gdXNpbmcgZW5kb3BsYXNtaWMgcmV0aWN1bHVtXG5zdHJlc3MtaW5kaWNhdG9yc1xuPC9zcGFuPi4gXG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gQmlvY2hlbWljYWwgYW5kIEJpb3BoeXNpY2FsIFJlc2VhcmNoIENvbW11bmljYXRpb25zPC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAzNTA8L2I+XG5cdCwmbmJzcDs8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gNzA5PC9zcGFuPi08c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlRW5kXCI+NzE1PC9zcGFuPiZuYnNwO1xuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAwNlwiPjIwMDY8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDE2L2ouYmJyYy4yMDA2LjA5LjEwMFwiPiBkb2k6IDEwLjEwMTYvai5iYnJjLjIwMDYuMDkuMTAwPC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gNi0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTZcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gWmhhbmcsIFkuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gTGluLCBTLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFlhbywgSi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBDYWksIFcuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQ2hlbiwgSC48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBBaWVya2VuLCBBLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFdhbmcsIFouPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gZXQgYWwuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtcblhCUDEgc3BsaWNpbmcgY29udHJpYnV0ZXMgdG8gZW5kb3BsYXNtaWMgcmV0aWN1bHVtIHN0cmVzcy1pbmR1Y2VkIGh1bWFuIGlzbGV0XG5hbXlsb2lkIHBvbHlwZXB0aWRlIHVwLXJlZ3VsYXRpb25cbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IEdlbmVzICYgRGlzZWFzZXM8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDExPC9iPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4xMDExNDg8L3NwYW4+Jm5ic3A7XG5cdCg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDIzXCI+MjAyMzwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjEwMTYvai5nZW5kaXMuMjAyMy4xMDExNDhcIj4gZG9pOiAxMC4xMDE2L2ouZ2VuZGlzLjIwMjMuMTAxMTQ4PC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gNy0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTdcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gV2VpLCBULjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFN1biwgWS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBDaGVuZywgUS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBDaGF0dGVyamVlLCBTLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFRyYXlsb3IsIFouPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gSm9obnNvbiwgTC4gVC48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBDb3F1ZWxpbiwgTS4gTC48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBldCBhbC48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO1xuTHVuZyBTT1JUIExOUHMgZW5hYmxlIHByZWNpc2UgaG9tb2xvZ3ktZGlyZWN0ZWQgcmVwYWlyIG1lZGlhdGVkXG5DUklTUFIvQ2FzIGdlbm9tZSBjb3JyZWN0aW9uIGluIGN5c3RpYyBmaWJyb3NpcyBtb2RlbHNcbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IE5hdHVyZSBDb21tdW5pY2F0aW9uczwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMTQsPC9iPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4mbmJzcDs3MzIyPC9zcGFuPiZuYnNwO1xuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAyM1wiPjIwMjM8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMDM4L3M0MTQ2Ny0wMjMtNDI5NDgtMlwiPiBkb2k6IDEwLjEwMzgvczQxNDY3LTAyMy00Mjk0OC0yPC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gOC0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLThcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gSWJyYWhpbSwgTS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBSYW1hZGFuLCBFLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEVsc2FkZWssIE4uIEUuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRW1hbSwgUy4gRS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTaGltaXp1LCBULjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEFuZG8sIEguPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gSXNoaW1hLCBZLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IGV0IGFsLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7XG5Qb2x5ZXRoeWxlbmUgZ2x5Y29sIChQRUcpOiBUaGUgbmF0dXJlLCBpbW11bm9nZW5pY2l0eSwgYW5kIHJvbGUgaW4gdGhlXG5oeXBlcnNlbnNpdGl2aXR5IG9mIFBFR3lsYXRlZCBwcm9kdWN0c1xuPC9zcGFuPi4gXG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gSm91cm5hbCBvZiBDb250cm9sbGVkIFJlbGVhc2U8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDM1MTwvYj5cblx0LCZuYnNwOzxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiAyMTU8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj4yMzA8L3NwYW4+Jm5ic3A7XG5cdCg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDIyXCI+MjAyMjwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnL2h0dHBzOi8vZG9pLm9yZy8xMC4xMDE2L2ouamNvbnJlbC4yMDIyLjA5LjAzMVwiPiBkb2k6IGh0dHBzOi8vZG9pLm9yZy8xMC4xMDE2L2ouamNvbnJlbC4yMDIyLjA5LjAzMTwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDktLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy05XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEppYW5nLCBBLiBZLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFdpdHRlbiwgSi48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBSYWppLCBJLiBPLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEV3ZWplLCBGLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IE1hY0lzYWFjLCBDLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IE1lbmcsIFMuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gT2xhZGltZWppLCBGLiBBLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IGV0IGFsLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7XG5Db21iaW5hdG9yaWFsIGRldmVsb3BtZW50IG9mIG5lYnVsaXplZCBtUk5BIGRlbGl2ZXJ5IGZvcm11bGF0aW9ucyBmb3IgdGhlXG5sdW5nc1xuPC9zcGFuPi4gXG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gTmF0dXJlIE5hbm90ZWNobm9sb2d5PC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAxOTwvYj5cblx0LCZuYnNwOzxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiAzNjQ8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj4zNzU8L3NwYW4+Jm5ic3A7XG5cdCg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDI0XCI+MjAyNDwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjEwMzgvczQxNTY1LTAyMy0wMTU0OC0zXCI+IGRvaTogMTAuMTAzOC9zNDE1NjUtMDIzLTAxNTQ4LTM8L2E+XG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSAxMC0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTEwXCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFZpbFx1MDBFMC1Hb256XHUwMEUxbGV6LCBNLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFBpbnRlLCBMLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEZyYWRpcXVlLCBSLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IENhdXNhLCBFLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEtvb2wsIEguPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gUm9kcmF0LCBNLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IE1vcmVsbCwgQy4gTS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBldCBhbC48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO1xuSW4gdml0cm8gcGxhdGZvcm0gdG8gbW9kZWwgdGhlIGZ1bmN0aW9uIG9mIGlvbm9jeXRlcyBpbiB0aGUgaHVtYW4gYWlyd2F5XG5lcGl0aGVsaXVtXG48L3NwYW4+LiBcblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBSZXNwaXJhdG9yeSBSZXNlYXJjaDwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gMjU8L2I+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiZuYnNwOzE4MDwvc3Bhbj4mbmJzcDtcblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMjRcIj4yMDI0PC90aW1lPikuXG5cdDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTE4Ni9zMTI5MzEtMDI0LTAyODAwLTdcIj4gZG9pOiAxMC4xMTg2L3MxMjkzMS0wMjQtMDI4MDAtNzwvYT5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDExLS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpCb29rXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTExXCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFBhcmlzLCBLLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7R2Vub21lIEVkaXRpbmcgYW5kIEJpb2xvZ2ljYWwgV2VhcG9uczogQXNzZXNzaW5nIHRoZSBSaXNrIG9mIE1pc3VzZS48L3NwYW4+XG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4mbmJzcDtTcHJpbmdlciBOYXR1cmUgU3dpdHplcmxhbmQgQUc8L2k+XG5cdCZuYnNwOyg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIjIwMjNcIj4yMDIzPC90aW1lPikuXG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSAxMi0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTEyXCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFdpY2tpc2VyLCBKLiBLLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7XG5UaGUgZGVtb2NyYXRpemF0aW9uIG9mIGJpb2xvZ3k6IGhvdyBDUklTUFIgYW5kIHN5bnRoZXRpYyBiaW9sb2d5IHVzaGVyIGluIG5ld1xuYmlvc2VjdXJpdHkgdGhyZWF0c1xuPC9zcGFuPi4gXG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gRGVmZW5zZSBIb3Jpem9uczwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gODU8L2I+XG5cdCwmbmJzcDs8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gMTwvc3Bhbj4tPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUVuZFwiPjE2PC9zcGFuPiZuYnNwO1xuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAyMFwiPjIwMjA8L3RpbWU+KS5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDEzLS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpTY29sYXJseUFydGljbGVcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMTNcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQ29oZW4sIEouPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gRGVzYWksIFQuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtcblNlY3VyaXR5IGltcGxpY2F0aW9ucyBvZiBDUklTUFItZW5hYmxlZCBnZW5vbWUgZWRpdGluZzogTmV3IHdlYXBvbnMgb2YgbWFzc1xuZGlzcnVwdGlvbj9cbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IEpvdXJuYWwgb2YgQmlvZXRoaWNhbCBJbnF1aXJ5PC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAxNjwvYj5cblx0LCZuYnNwOzxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiAyMTk8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj4yMjg8L3NwYW4+Jm5ic3A7XG5cdCg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDE5XCI+MjAxOTwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjEwMDcvczExNjczLTAxOS0wOTkxNC01XCI+IGRvaTogMTAuMTAwNy9zMTE2NzMtMDE5LTA5OTE0LTU8L2E+XG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSAxNC0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTE0XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IERvdWRuYSwgSi4gQS48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBDaGFycGVudGllciwgRS48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO1xuVGhlIHJpc2Ugb2Ygc3ludGhldGljIGJpb2xvZ3k6IE5ldyBiaW9zZWN1cml0eSByaXNrcyBhbmQgcmVndWxhdG9yeVxuY2hhbGxlbmdlc1xuPC9zcGFuPi4gXG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gTmF0dXJlIFJldmlld3MgR2VuZXRpY3M8L2k+XG5cdDxiIHByb3BlcnR5PVwiaXNzdWVOdW1iZXJcIiB0eXBlb2Y9XCJQdWJsaWNhdGlvbklzc3VlXCI+IDIxPC9iPlxuXHQsJm5ic3A7PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+IDE0NDwvc3Bhbj4tPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUVuZFwiPjE1Njwvc3Bhbj4mbmJzcDtcblx0KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiIDIwMjBcIj4yMDIwPC90aW1lPikuXG5cdDxhIGNsYXNzTmFtZT1cImRvaVwiIGhyZWY9XCJodHRwczovL2RvaS5vcmcvMTAuMTAzOC9zNDE1NzYtMDE5LTAxODItN1wiPiBkb2k6IDEwLjEwMzgvczQxNTc2LTAxOS0wMTgyLTc8L2E+XG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSAxNS0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTE1XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFNod2FydHosIE0uPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQ29ua2xpbiwgQi48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO1xuUHVibGljIHBlcmNlcHRpb24gb2YgQ1JJU1BSIGFuZCBnZW5vbWUgZWRpdGluZzogTWlzY29uY2VwdGlvbnMgYW5kIG1lZGlhXG5wb3J0cmF5YWxcbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IEpvdXJuYWwgb2YgU2NpZW5jZSBDb21tdW5pY2F0aW9uPC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAxOCw8L2I+XG5cdCZuYnNwOyg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDE5XCI+MjAxOTwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjIyMzIzLzIuMTgwNDAyMDJcIj4gZG9pOiAxMC4yMjMyMy8yLjE4MDQwMjAyPC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMTYtLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOkJvb2tcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMTZcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gQ2hhZHdpY2ssIFIuIEYuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtFbmN5Y2xvcGVkaWEgb2YgYXBwbGllZCBldGhpY3MuPC9zcGFuPlxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+Jm5ic3A7QWNhZGVtaWMgUHJlc3M8L2k+XG5cdCZuYnNwOyg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIjIwMTJcIj4yMDEyPC90aW1lPikuXG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSAxNy0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6U2NvbGFybHlBcnRpY2xlXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTE3XCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFJ1YmVpcywgRy48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBTdGVnZXIsIEYuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtSaXNrcyBhbmQgYmVuZWZpdHMgb2YgaHVtYW4gZ2VybWxpbmUgZ2Vub21lIGVkaXRpbmc6IEFuIGV0aGljYWwgYW5hbHlzaXM8L3NwYW4+LiBcblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiBBc2lhbiBCaW9ldGhpY3MgUmV2aWV3PC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAxMDwvYj5cblx0LCZuYnNwOzxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VCZWdpblwiPiAxMzM8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj4xNDE8L3NwYW4+Jm5ic3A7XG5cdCg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDE4XCI+MjAxODwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjEwMDcvczQxNjQ5LTAxOC0wMDU2LXhcIj4gZG9pOiAxMC4xMDA3L3M0MTY0OS0wMTgtMDA1Ni14PC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMTgtLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0xOFwiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBBbnNhaCwgRS4gTy48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO1xuRXRoaWNhbCBDaGFsbGVuZ2VzIGFuZCBDb250cm92ZXJzaWVzIGluIHRoZSBQcmFjdGljZSBhbmQgQWR2YW5jZW1lbnQgb2YgR2VuZVxuVGhlcmFweVxuPC9zcGFuPi4gXG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4gQWR2YW5jZXMgaW4gQ2VsbCBhbmQgR2VuZSBUaGVyYXB5PC9pPlxuXHQ8YiBwcm9wZXJ0eT1cImlzc3VlTnVtYmVyXCIgdHlwZW9mPVwiUHVibGljYXRpb25Jc3N1ZVwiPiAyMDIyPC9iPlxuXHQsJm5ic3A7PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUJlZ2luXCI+IDE8L3NwYW4+LTxzcGFuIHByb3BlcnR5PVwic2NoZW1hOnBhZ2VFbmRcIj41PC9zcGFuPiZuYnNwO1xuXHQoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIgMjAyMlwiPjIwMjI8L3RpbWU+KS5cblx0PGEgY2xhc3NOYW1lPVwiZG9pXCIgaHJlZj1cImh0dHBzOi8vZG9pLm9yZy8xMC4xMTU1LzIwMjIvMTAxNTk5NlwiPiBkb2k6IDEwLjExNTUvMjAyMi8xMDE1OTk2PC9hPlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMTktLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOkJvb2tcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMTlcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gUHVnaCwgSi48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO0F1dG9ub215LCBSYXRpb25hbGl0eSwgYW5kIENvbnRlbXBvcmFyeSBCaW9ldGhpY3MuPC9zcGFuPlxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+Jm5ic3A7T3hmb3JkIFVuaXZlcnNpdHkgUHJlc3NPeGZvcmQ8L2k+XG5cdCZuYnNwOyg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIjIwMjBcIj4yMDIwPC90aW1lPikuXG48L2xpPlxuXG57Lyo8IS0tIENpdGF0aW9uIG51bSAyMC0tPiAqL31cbjxsaSB0eXBlb2Y9XCJzY2hlbWE6Qm9va1wiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0yMFwiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBHc3RyYXVudGhhbGVyLCBHLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IExpbmRsLCBULjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7QWxsZ2VtZWluZSBBc3Bla3RlIGRlciBQcmltXHUwMEU0cmt1bHR1ci48L3NwYW4+XG5cdDxpIHByb3BlcnR5PVwic2NoZW1hOnB1Ymxpc2hlclwiIHR5cGVvZj1cInNjaGVtYTpPcmdhbml6YXRpb25cIj4mbmJzcDtTcHJpbmdlcjwvaT5cblx0Jm5ic3A7KDx0aW1lIHByb3BlcnR5PVwic2NoZW1hOmRhdGVQdWJsaXNoZWRcIiBkYXRhdHlwZT1cInhzZDpnWWVhclwiIGRhdGVUaW1lPVwiMjAxM1wiPjIwMTM8L3RpbWU+KS5cbjwvbGk+XG5cbnsvKjwhLS0gQ2l0YXRpb24gbnVtIDIxLS0+ICovfVxuPGxpIHR5cGVvZj1cInNjaGVtYTpCb29rXCIgcm9sZT1cImRvYy1iaWJsaW9lbnRyeVwiIHByb3BlcnR5PVwic2NoZW1hOmNpdGF0aW9uXCIgaWQ9XCJkZXNjLTIxXCI+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOmF1dGhvclwiIHR5cGVvZj1cInNjaGVtYTpQZXJzb25cIj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFRoaWVsZSwgRi48L3NwYW4+XG5cdDwvc3Bhbj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6bmFtZVwiPiZuYnNwO0ludGVybmF0aW9uYWwgRW5jeWNsb3BlZGlhIG9mIHRoZSBTb2NpYWwgJiBCZWhhdmlvcmFsIFNjaWVuY2VzLjwvc3Bhbj5cblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiZuYnNwO0Vsc2V2aWVyPC9pPlxuXHQmbmJzcDsoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIyMDAxXCI+MjAwMTwvdGltZT4pLlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMjItLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOkJvb2tcIiByb2xlPVwiZG9jLWJpYmxpb2VudHJ5XCIgcHJvcGVydHk9XCJzY2hlbWE6Y2l0YXRpb25cIiBpZD1cImRlc2MtMjJcIj5cblx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6YXV0aG9yXCIgdHlwZW9mPVwic2NoZW1hOlBlcnNvblwiPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gR2V0aG1hbm4sIEMuPC9zcGFuPlxuXHQ8L3NwYW4+XG5cdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOm5hbWVcIj4mbmJzcDtSZXNlYXJjaDogRXRoaWNhbCBBc3BlY3RzIG9mIExvbmctdGVybSBSZXNwb25zaWJpbGl0aWVzLjwvc3Bhbj5cblx0PGkgcHJvcGVydHk9XCJzY2hlbWE6cHVibGlzaGVyXCIgdHlwZW9mPVwic2NoZW1hOk9yZ2FuaXphdGlvblwiPiZuYnNwO0Vsc2V2aWVyPC9pPlxuXHQmbmJzcDsoPHRpbWUgcHJvcGVydHk9XCJzY2hlbWE6ZGF0ZVB1Ymxpc2hlZFwiIGRhdGF0eXBlPVwieHNkOmdZZWFyXCIgZGF0ZVRpbWU9XCIyMDAxXCI+MjAwMTwvdGltZT4pLlxuPC9saT5cblxuey8qPCEtLSBDaXRhdGlvbiBudW0gMjMtLT4gKi99XG48bGkgdHlwZW9mPVwic2NoZW1hOlNjb2xhcmx5QXJ0aWNsZVwiIHJvbGU9XCJkb2MtYmlibGlvZW50cnlcIiBwcm9wZXJ0eT1cInNjaGVtYTpjaXRhdGlvblwiIGlkPVwiZGVzYy0yM1wiPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTphdXRob3JcIiB0eXBlb2Y9XCJzY2hlbWE6UGVyc29uXCI+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBLaWFuaSwgQS4gSy48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBQaGVieSwgRC48L3NwYW4+XG5cdFx0PHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6TmFtZVwiPiBIZW5laGFuLCBHLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IEJyb3duLCBSLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IFNpZXZpbmcsIFAuPC9zcGFuPlxuXHRcdDxzcGFuIHByb3BlcnR5PVwic2NoZW1hOk5hbWVcIj4gU3lrb3JhLCBQLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IE1hcmtzLCBSLjwvc3Bhbj5cblx0XHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpOYW1lXCI+IGV0IGFsLjwvc3Bhbj5cblx0PC9zcGFuPlxuXHQ8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpuYW1lXCI+Jm5ic3A7RXRoaWNhbCBjb25zaWRlcmF0aW9ucyByZWdhcmRpbmcgYW5pbWFsIGV4cGVyaW1lbnRhdGlvbjwvc3Bhbj4uIFxuXHQ8aSBwcm9wZXJ0eT1cInNjaGVtYTpwdWJsaXNoZXJcIiB0eXBlb2Y9XCJzY2hlbWE6T3JnYW5pemF0aW9uXCI+IEpvdXJuYWwgb2YgUHJldmVudGl2ZSBNZWRpY2luZSBhbmQgSHlnaWVuZTwvaT5cblx0PGIgcHJvcGVydHk9XCJpc3N1ZU51bWJlclwiIHR5cGVvZj1cIlB1YmxpY2F0aW9uSXNzdWVcIj4gNjM8L2I+XG5cdCwmbmJzcDs8c3BhbiBwcm9wZXJ0eT1cInNjaGVtYTpwYWdlQmVnaW5cIj4gRTI1NTwvc3Bhbj4tPHNwYW4gcHJvcGVydHk9XCJzY2hlbWE6cGFnZUVuZFwiPkUyNjY8L3NwYW4+Jm5ic3A7XG5cdCg8dGltZSBwcm9wZXJ0eT1cInNjaGVtYTpkYXRlUHVibGlzaGVkXCIgZGF0YXR5cGU9XCJ4c2Q6Z1llYXJcIiBkYXRlVGltZT1cIiAyMDIyXCI+MjAyMjwvdGltZT4pLlxuXHQ8YSBjbGFzc05hbWU9XCJkb2lcIiBocmVmPVwiaHR0cHM6Ly9kb2kub3JnLzEwLjE1MTY3LzI0MjEtNDI0OC9qcG1oMjAyMi42My4yUzMuMjc2OFwiPiBkb2k6IDEwLjE1MTY3LzI0MjEtNDI0OC9qcG1oMjAyMi42My4yUzMuMjc2ODwvYT5cbjwvbGk+XG5cbjwvb2w+XG4gICAgICA8L1NlY3Rpb24+XG4gICAgPC8+XG4gICk7XG59XG4iLCAiaW1wb3J0IHsgQmxvY2tRdW90ZUIgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9RdW90ZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEhQT3ZlcnZpZXcoKXtcblxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGlkPVwiT3ZlcnZpZXdIXCI+XG4gICAgICAgICAgICAgICAgPGgyIGlkPVwiT3ZlcnZpZXdcIj48L2gyPlxuICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwiaHAtcXVvdGVcIj48QmxvY2tRdW90ZUJcbiAgICAgICAgICAgICAgICB0ZXh0PVwiSHVtYW4gUHJhY3RpY2VzIGlzIHRoZSBzdHVkeSBvZiBob3cgeW91ciB3b3JrIGFmZmVjdHMgdGhlIHdvcmxkLCBhbmQgaG93IHRoZSB3b3JsZCBhZmZlY3RzIHlvdXIgd29yay5cIlxuICAgICAgICAgICAgICAgIGNpdGU9XCItIFBldGVyIENhcnIsIERpcmVjdG9yIG9mIEp1ZGdpbmdcIlxuICAgICAgICAgICAgICAgIC8+IDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9vdmVydmlldy1maW5hbC0yLXNtYWxsLndlYnBcIiBhbHQ9XCJTdGFrZWhvbGRlciBPdmVydmlld1wiPjwvaW1nPlxuXG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgIClcbn0iLCAiaW1wb3J0IHsgQnV0dG9uT25lIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvQnV0dG9uc1wiO1xuaW1wb3J0IHsgSDUgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IFByZUN5c2UgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvcHJlY3lzZVwiO1xuaW1wb3J0IHsgIEJsb2NrUXVvdGVCIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvUXVvdGVzXCI7XG5pbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gSFBJbnRyb2R1Y3Rpb24oKXtcbiAgICBjb25zdCB7Z29Ub1BhZ2VBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpOyBcbiAgICByZXR1cm4oXG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiSW50cm9kdWN0aW9uXCIgaWQ9XCJJbnRyb2R1Y3Rpb25cIj5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiLSBDb25uZWN0aW5nIG91ciBwcm9qZWN0IHRvIHJlYWwgbGlmZVwiLz5cbiAgICAgICAgICAgIDxCbG9ja1F1b3RlQiB0ZXh0PVwiU2NpZW5jZSBhbmQgZXZlcnlkYXkgbGlmZSBjYW5ub3QgYW5kIHNob3VsZCBub3QgYmUgc2VwYXJhdGVkLlwiIGNpdGU9XCJSb3NhbGluZCBGcmFua2xpblwiLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPXt7bWFyZ2luVG9wOiBcIjV2aFwiLCBtYXJnaW5Cb3R0b206IFwiMXZoXCJ9fT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPEJ1dHRvbk9uZSBvcGVuY2xhc3M9XCJpbnRyby1jeWNsZXRhYlwiIHRleHQ9XCJPdXIgVW5kZXJzdGFuZGluZyBvZiBIUFwiIG9wZW49XCJ1bmRlcnN0YW5kaW5nXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uT25lIG9wZW5jbGFzcz1cImludHJvLWN5Y2xldGFiXCIgdGV4dD1cIk91ciBNaXNzaW9uICYgVmlzaW9uXCIgb3Blbj1cIm1pc3Npb25cIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgb3BlbmNsYXNzPVwiaW50cm8tY3ljbGV0YWJcIiB0ZXh0PVwiT3VyIEFwcHJvYWNoXCIgb3Blbj1cImFwcHJvYWNoXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uT25lIG9wZW5jbGFzcz1cImludHJvLWN5Y2xldGFiXCIgdGV4dD1cIk91ciBUYXJnZXQgR3JvdXBzXCIgb3Blbj1cInRhcmdldHNcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGludHJvLWN5Y2xldGFiXCIgaWQ9XCJ1bmRlcnN0YW5kaW5nXCIgc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT5cbiAgICAgICAgICAgICAgICAgPHA+VGhpcyB5ZWFyLCB3ZSBhdCBpR0VNIEJpZWxlZmVsZC1DZUJpVGVjIGhhdmUgY29uc2Npb3VzbHkgY2hvc2VuIGEgPGI+aHVtYW4tY2VudGVyZWQgcHJvamVjdCBkZXNpZ248L2I+LiBBdCB0aGUgaGVhcnQgb2Ygb3VyIGlHRU0gcHJvamVjdCBpcyBcbiAgICAgICAgICAgICAgICAgICAgb25lIGtleSBwaWxsYXI6IDxiPkh1bWFuIFByYWN0aWNlPC9iPi4gT3VyIGdvYWwgaXMgdG8gdW5kZXJzdGFuZCB0aGUgaW1wYWN0IG9mIG91ciBwcm9qZWN0IG9uIHNvY2lldHksIHRoZSBzY2llbnRpZmljIGNvbW11bml0eSBhbmQgdGhlIHdvcmxkIFxuICAgICAgICAgICAgICAgICAgICBhcyB3aG9sZS4gVGhpcyBpcyBub3QganVzdCBhYm91dCB0aGUgdGVjaG5pY2FsIGVmZmVjdGl2ZW5lc3Mgb2Ygb3VyIHBhcnRzLCBidXQgYWxzbyBhYm91dCBob3cgdGhlIHNvbHV0aW9uIGlzIGVtYnJhY2VkIGluIGV2ZXJ5ZGF5IFxuICAgICAgICAgICAgICAgICAgICBwcmFjdGljZSwgYW5kIHRoZSBwb3RlbnRpYWwgbG9uZy10ZXJtIGltcGFjdCBpdCBjb3VsZCBoYXZlIGZvciBjeXN0aWMgZmlicm9zaXMgcGF0aWVudHMgYW5kIHRoZWlyIGZhbWlsaWVzIGFsbCBvdmVyIHRoZSB3b3JsZC5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPldpdGggb3VyIGh1bWFuLWNlbnRlcmVkIGFwcHJvYWNoLCB3ZSBhaW0gdG8gYWRkcmVzcyBmdW5kYW1lbnRhbCBpR0VNIEh1bWFuIFByYWN0aWNlIHF1ZXN0aW9ucyBhbmQgYmV5b25kOlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHAgc3R5bGU9e3t0ZXh0QWxpZ246IFwiY2VudGVyXCJ9fT4gPGI+SG93IGRvZXMgb3VyIHByb2plY3QgYWZmZWN0IHRoZSB3b3JsZCBhcm91bmQgdXM/PC9iPjwvcD5cbiAgICAgICAgICAgIDxwIHN0eWxlPXt7dGV4dEFsaWduOiBcImNlbnRlclwifX0+IDxiPkhvdyBkb2VzIHRoZSB3b3JsZCBhcm91bmQgdXMgaW5mbHVlbmNlIG91ciBwcm9qZWN0PyAgICAgICAgICAgIDwvYj48L3A+XG4gICAgICAgICAgICA8cD5Gcm9tIHRoZSB2ZXJ5IGJlZ2lubmluZywgaXQgd2FzIG91ciBwcmlvcml0eSB0byBpZGVudGlmeSB2YXJpb3VzIHN0YWtlaG9sZGVycyBhbmQgbWVldCBwZW9wbGUgYWZmZWN0ZWQgYnkgY3lzdGljIGZpYnJvc2lzIGVhcmx5IG9uIHRvIDxiPmFjdGl2ZWx5IGludm9sdmU8L2I+IHRoZW0gdGhyb3VnaG91dCB0aGUgcGxhbm5pbmcgYW5kIGRldmVsb3BtZW50IHByb2Nlc3MuIFRoaXMgY29sbGFib3JhdGl2ZSBhcHByb2FjaCBhbGxvd2VkIHVzIHRvIGVuc3VyZSB0aGF0IG91ciBwcm9qZWN0IFxuICAgICAgICAgICAgICAgIGFkZHJlc3NlcyByZWFsIG5lZWRzIGFuZCBjb250cmlidXRlcyB0byBzb2x1dGlvbnMgZm9yIGFzIG1hbnkgZGlmZmVyZW50IHBlb3BsZSBhcyBwb3NzaWJsZS4gV2l0aG91dCB0aGUgY3JpdGljYWwgYWR2aWNlLCB2YXJpZWQgcGVyc3BlY3RpdmVzIFxuICAgICAgICAgICAgICAgIGFuZCBpbnB1dCBmcm9tIG91ciBzdGFrZWhvbGRlcnMsIGl0IHdvdWxkIGhhdmUgYmVlbiBpbXBvc3NpYmxlIHRvIGlkZW50aWZ5IGFuZCByZWZsZWN0IG9uIGFsbCBhc3BlY3RzIG9mIG91ciBwcm9qZWN0LiBXZSBtYWRlIGV2ZXJ5IFxuICAgICAgICAgICAgICAgIGVmZm9ydCB0byA8Yj5kZWVwbHkgdW5kZXJzdGFuZDwvYj4gdGhlaXIgdmFsdWVzIGFuZCBiYWNrZ3JvdW5kcywgYWxsb3dpbmcgdXMgdG8gaW50ZWdyYXRlIHRoZWlyIGZlZWRiYWNrIGludG8gb3VyIHNvbHV0aW9ucy5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgaW50cm8tY3ljbGV0YWJcIiBpZD1cIm1pc3Npb25cIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgPHA+V2UgdmlldyBIdW1hbiBQcmFjdGljZSBhcyBhbiBvcHBvcnR1bml0eSB0byA8Yj5nbyBiZXlvbmQgcHJhY3RpY2FsIGxhYiB3b3JrIGFuZCB0cmFkaXRpb25hbCBzY2llbmNlPC9iPiBhbmQgdG8gbGVhcm4gYWJvdXQgXG4gICAgICAgICAgICAgICAgICAgIHRoZSBuZWVkcyBvZiBwZW9wbGUgYWZmZWN0ZWQgYnkgY3lzdGljIGZpYnJvc2lzLiBJdFx1MjAxOXMgYSBjaGFuY2UgZm9yIHVzIHRvIGNyZWF0aXZlbHkgZW5nYWdlIHdpdGggZGlmZmVyZW50IGFzcGVjdHMgb2Ygb3VyIHByb2plY3QgXG4gICAgICAgICAgICAgICAgICAgIHdoaWxlIGRldmVsb3BpbmcgYW4gYXdhcmVuZXNzIG9mIHRoZSByZXNwb25zaWJpbGl0aWVzIHRoYXQgY29tZSB3aXRoIGl0LiBcbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgQXMgcGFydCBvZiBvdXIgPFByZUN5c2UvPiBwcm9qZWN0LCB3ZSBwZXJmb3JtZWQgaW50ZW5zaXZlIGJyYWluc3Rvcm1pbmcgc2Vzc2lvbnMgYW5kIGV4cGVydCBjb25zdWx0YXRpb25zLiBXZSBjb25kdWN0ZWQgY29tcHJlaGVuc2l2ZSAgXG4gICAgICAgICAgICAgICAgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwoXCJvdXItc3VydmV5cy1vbi1jeXN0aWMtZmlicm9zaXMtYW5kLWdlbmUtdGhlcmFweVwiLCBcIi9odW1hbi1wcmFjdGljZXNcIil9PnN1cnZleXM8L2E+IGFtb25nIHRoZSBwdWJsaWMgYW5kIHBlb3BsZSB3aXRoIGN5c3RpYyBmaWJyb3NpcyBhbmQgdGhlaXIgcmVsYXRpdmVzLiBXZSBmb2N1c2VkIG9uIGNyaXRpY2FsIGFzcGVjdHMgc3VjaCBhcyB0aGUgPGI+bmVlZHMgb2Ygb3VyIFxuICAgICAgICAgICAgICAgIHRhcmdldCBncm91cHMsIHNhZmV0eSwgZXRoaWNzLCBkZXNpZ24sIGltcGxlbWVudGF0aW9uLCBhbmQgYnVzaW5lc3M8L2I+IFx1MjAxNCBlYWNoIGd1aWRlZCBieSB0aGUgY29yZSB2YWx1ZXMgb2Ygb3VyIHRlYW0uIEJhc2VkIG9uIHRoZXNlIGludGVyYWN0aW9ucyBcbiAgICAgICAgICAgICAgICBhbmQgdGhlIHJlY29tbWVuZGF0aW9ucyBvZiB0aGUgSHVtYW4gUHJhY3RpY2UgY29tbWl0dGVlLCB3ZSBoYXZlIGRldmVsb3BlZCBhbiBvcHRpbWFsIHN0cmF0ZWd5IGZvciBvdXIgcHJvamVjdCwgZW5zdXJpbmcgdGhhdCBvdXIgd29yayBpcyBub3QgXG4gICAgICAgICAgICAgICAgb25seSBpbm5vdmF0aXZlIGJ1dCBhbHNvIG1pbmRmdWwgb2YgaXRzIGJyb2FkZXIgaW1wYWN0IG9uIHNvY2lldHkuXG4gICAgICAgICAgICAgICAgey8qICAqL31cbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgaW50cm8tY3ljbGV0YWJcIiBpZD1cImFwcHJvYWNoXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgIDxwPkl0IHdhcyBpbXBvcnRhbnQgdG8gdXMgYXMgYSB0ZWFtIHRvIG5vdCBvbmx5IG9mZmVyIHRlY2huaWNhbCBzb2x1dGlvbnMsIGJ1dCB0byBzaG93IHRoYXQgb3VyIHByb2plY3QgY2FuIGNvbnRyaWJ1dGUgdG8gdGhlIGxhcmdlciBjb250ZXh0IG9mIG9uZ29pbmcgaW5pdGlhdGl2ZXMgYW5kIG1vdmVtZW50cyB0byBvcHRpbWl6ZSBoZWFsdGggY2FyZS4gV2Ugd2FudGVkIHRvIHJlYWxseSB1bmRlcnN0YW5kIHRoZSBmZWVkYmFjayBhbmQgaW5zaWdodHMgb2YgdGhlIHN0YWtlaG9sZGVycyB0byBnYWluIGEgYmV0dGVyIHVuZGVyc3RhbmRpbmcgb2YgaG93IG91ciBwcm9qZWN0IGZpdHMgaW50byB0aGUgb3ZlcmFsbCBwaWN0dXJlIG9mIGxpdmluZyB3aXRoIGN5c3RpYyBmaWJyb3NpcywgdGhlIGN1cnJlbnQgc3RhdGUgb2YgcmVzZWFyY2ggYW5kIGhvdyBpdCBjYW4gYmUgdXNlZCB0byByZWR1Y2UgdGhlIGhlYWx0aCBjYXJlIGdhcC5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+T3VyIHN0cmF0ZWd5IGluY2x1ZGVzOjwvcD5cbiAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgPGxpPklkZW50aWZ5aW5nIGtleSB0YXJnZXQgZ3JvdXBzPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+RXN0YWJsaXNoaW5nIG1lYW5pbmdmdWwgYW5kIGxhc3RpbmcgY29tbXVuaWNhdGlvbiB3aXRoIHN0YWtlaG9sZGVyczwvbGk+XG4gICAgICAgICAgICAgICAgPGxpPkVmZmVjdGl2ZWx5IGVuZ2FnaW5nIHdpdGggdGhlIGRpdmVyc2UgYmFja2dyb3VuZHMgb2YgdGhvc2UgaW52b2x2ZWQ8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5VbmRlcnN0YW5kIHRoZSBldGhpY2FsLCBzb2NpYWwgYW5kIHNjaWVudGlmaWMgdmFsdWVzIHRoYXQgaW5zcGlyZWQgb3VyIHByb2plY3Q8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5JbnRlZ3JhdGluZyBmZWVkYmFjayBhbmQgYWRhcHRpbmcgb3VyIGFwcHJvYWNoIHRvIGFsaWduIHdpdGggc3Rha2Vob2xkZXIgZ29hbHM8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5EZXNpZ25pbmcgYW5kIGluY29ycG9yYXRpbmcgcmVwcmVzZW50YXRpdmUgc3VydmV5czwvbGk+XG4gICAgICAgICAgICAgICAgPGxpPlJlZmxlY3Qgb24gaG93IHRoZXNlIHZhbHVlcyBoYXZlIGJlZW4gaW5jb3Jwb3JhdGVkIGludG8gb3VyIHByb2plY3Q8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgPHA+V2l0aCB0aGlzIGFwcHJvYWNoIGFuZCB0aGUgc3VwcG9ydCBvZiBvdXIgc3Rha2Vob2xkZXJzLCBvdXIgdWx0aW1hdGUgZ29hbHMgYXJlIHRvOjwvcD5cbiAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgPGxpPkltcHJvdmUgY2FyZSBmb3IgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+T3B0aW1pemUgdGhlIGF2YWlsYWJpbGl0eSBvZiBlc3NlbnRpYWwgbWVkaWNhdGlvbnM8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgaW50cm8tY3ljbGV0YWJcIiBpZD1cInRhcmdldHNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgPHA+T3VyIHRhcmdldCBncm91cHMgYXJlIGNvbXBvc2VkIG9mIDxiPmFjYWRlbWljIGFuZCBjbGluaWNhbCBleHBlcnRzPC9iPiB0byBidWlsZCBhIGJyaWRnZSBiZXR3ZWVuIHJlc2VhcmNoIGFuZCBwcmFjdGljYWwgYXBwbGljYXRpb24uIFxuICAgICAgICAgICAgICAgICAgICBJbiBhZGRpdGlvbiwgZW5nYWdpbmcgd2l0aCBDRiA8Yj5wYXRpZW50czwvYj4gYWNyb3NzIGRpZmZlcmVudCBhZ2UgZ3JvdXBzIGFuZCBjb3VudHJpZXMgYW5kIHRoZWlyIHJlbGF0aXZlcyBsZWFkcyB0byBhbiBhd2FyZW5lc3Mgb2YgXG4gICAgICAgICAgICAgICAgICAgIHRoZSBzcGVjaWFsIG5lZWRzIGFuZCBkZW1hbmRzIG9mIG91ciBwcm9qZWN0IGFuZCB0byBhbiB1bmRlcnN0YW5kaW5nIG9mIHRoZSBsaW1pdGF0aW9ucyBhbmQgY2hhbGxlbmdlcyBpbiBldmVyeWRheSBDRiBsaWZlLiBUaGUgXG4gICAgICAgICAgICAgICAgICAgIGludGVncmF0aW9uIG9mIHJlZ3VsYXRvcnkgZXRoaWNzIHNlcnZlcyB0byBldmFsdWF0ZSBob3cgb3VyIHByb2plY3QgbWlnaHQgYmUgaW1wbGVtZW50ZWQgaW4gR2VybWFuIGFuZCBpbnRlcm5hdGlvbmFsIDxiPmdvdmVybm1lbnQ8L2I+IFxuICAgICAgICAgICAgICAgICAgICByZWd1bGF0aW9ucyBmb3IgZ2VuZSB0aGVyYXBldXRpY3MuIFRoZSBleGNoYW5nZSB3aXRoIDxiPmNvbXBhbmllczwvYj4gY29udHJpYnV0ZXMgdG8gdW5kZXJzdGFuZGluZyB0aGUgY2hhbmNlcyBhbmQgY2hhbGxlbmdlcyBpbiBidXNpbmVzcyBvZiBcbiAgICAgICAgICAgICAgICAgICAgZXN0YWJsaXNoaW5nIGEgc3RhcnQtdXAgYW5kIHdoYXQgaXQgdGFrZXMgdG8gZ2V0IG91ciBpZGVhIG9uIHRoZSBtYXJrZXQgZm9yIHJlYWwgbGlmZSBhcHBsaWNhdGlvbi4gVGhlIGNvbnRpbnVvdXMgZXhjaGFuZ2UgYmV0d2VlbiB0aGUgXG4gICAgICAgICAgICAgICAgICAgIGRpZmZlcmVudCBncm91cHMgY29udHJpYnV0ZXMgc2lnbmlmaWNhbnRseSB0byB0aGUgc3VjY2Vzc2Z1bCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgcHJvamVjdC4gRmlyc3QtaGFuZCBpbmZvcm1hdGlvbiBmcm9tIG91ciB0YXJnZXQgZ3JvdXBzIFxuICAgICAgICAgICAgICAgICAgICBhbmQgdGhlIG1hdGNoaW5nIGFuZCBtZXJnaW5nIG9mIHRoZSBpbmZvcm1hdGlvbiBpcyB0aGVyZWZvcmUgZXNzZW50aWFsIGZvciBkZWZpbmluZyBhbmQgYWNoaWV2aW5nIG91ciBnb2Fscy5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgKVxufSIsICJpbXBvcnQgQmlidGV4UGFyc2VyIGZyb20gXCIuLi9jb21wb25lbnRzL21ha2VTb3VyY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEpvc2h1YUludGVydmlld1NvdXJjZXMoKXtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCaWJ0ZXhQYXJzZXIgYmlidGV4U291cmNlcz17YmlidGV4U291cmNlc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xufVxuXG5cbmNvbnN0IGJpYnRleFNvdXJjZXMgPSBbXG5gIFxuXG5AYXJ0aWNsZXtlaW5zLCBcblxudGl0bGUgPSB7UHJpbWUgZWRpdGluZyBmdW5jdGlvbmFsbHkgY29ycmVjdHMgY3lzdGljIGZpYnJvc2lzLWNhdXNpbmcgQ0ZUUiBtdXRhdGlvbnMgaW4gaHVtYW4gb3JnYW5vaWRzIGFuZCBhaXJ3YXkgZXBpdGhlbGlhbCBjZWxsc30sIFxuXG5qb3VybmFsID0ge0NlbGwgUmVwb3J0cyBNZWRpY2luZX0sIFxuXG52b2x1bWUgPSB7NX0sIFxuXG5udW1iZXIgPSB7NX0sIFxuXG5wYWdlcyA9IHsxMDE1NDR9LCBcblxueWVhciA9IHsyMDI0fSwgXG5cbmlzc24gPSB7MjY2Ni0zNzkxfSwgXG5cbmRvaSA9IHtodHRwczovL2RvaS5vcmcvMTAuMTAxNi9qLnhjcm0uMjAyNC4xMDE1NDR9LCBcblxudXJsID0ge2h0dHBzOi8vd3d3LnNjaWVuY2VkaXJlY3QuY29tL3NjaWVuY2UvYXJ0aWNsZS9waWkvUzI2NjYzNzkxMjQwMDIzNDl9LCBcblxuYXV0aG9yID0ge01hdHRpanMgQnVsY2FlbiBhbmQgUGhcdTAwRTlsaW5lIEtvcnRsZXZlbiBhbmQgUm9uYWxkIEIuIExpdSBhbmQgR2l1bGlhIE1hdWxlIGFuZCBFbGlzZSBEcmVhbm8gYW5kIE1haXJlYWQgS2VsbHkgYW5kIE1hcmpvbGVpbiBNLiBFbnNpbmNrIGFuZCBTYW0gVGhpZXJpZSBhbmQgTWF4aW1lIFNtaXRzIGFuZCBNYXR0ZW8gQ2ljaWFuaSBhbmQgQXVyZWxpZSBIYXR0b24gYW5kIEJlbm9pdCBDaGV2YWxpZXIgYW5kIEFuYWJlbGEgUy4gUmFtYWxobyBhbmQgWGF2aWVyIHtDYXNhZGV2YWxsIGkgU29sdmFzfSBhbmQgWmVnZXIgRGVieXNlciBhbmQgRnJhblx1MDBFN29pcyBWZXJtZXVsZW4gYW5kIFJpayBHaWpzYmVycyBhbmQgSXNhYmVsbGUgU2VybWV0LUdhdWRlbHVzIGFuZCBBbm5hIENlcmVzZXRvIGFuZCBNYXJpYW5uZSBTLiBDYXJsb259LFxuXG59YCxgXG5AYXJ0aWNsZXt6ZXdpLCBcblxuYXV0aG9yID0ge1RlZXJhdGFrdWxwaXNhcm4sIEphbWFyZWUgYW5kIEtvc3V3b24sIFBlbnNyaSBhbmQgU3JpbmFrYXJpbiwgSmlyYXBvcm4gYW5kIFBhbnRob25ndmlyaXlha3VsLCBDaGFybmNoYWkgYW5kIFN1dHJhLCBTdW1pdHJ9LCBcblxueWVhciA9IHsyMDA2fSwgXG5cbm1vbnRoID0gezExfSwgXG5cbnBhZ2VzID0gezE3NTYtNjF9LCBcblxudGl0bGUgPSB7Q3lzdGljIGZpYnJvc2lzIGluIHRocmVlIG5vcnRoZWFzdCBUaGFpIGluZmFudHMgaXMgQ0YgcmVhbGx5IGEgcmFyZSBkaXNlYXNlIGluIHRoZSBUaGFpIHBvcHVsYXRpb24/fSwgXG5cbnZvbHVtZSA9IHs4OX0sIFxuXG5qb3VybmFsID0ge0pvdXJuYWwgb2YgdGhlIE1lZGljYWwgQXNzb2NpYXRpb24gb2YgVGhhaWxhbmQgPSBDaG90bWFpaGV0IHRoYW5ncGhhZXR9IFxuXG59IGAsYFxuXG5AYXJ0aWNsZXtkcmVpLCBcblxuYXV0aG9yID0ge0FobWVkLCBTaGFraWwgYW5kIENoZW9rLCBHYXJ5IGFuZCBHb2gsIEFubmVFIGFuZCBIYW4sIEF5ZSBhbmQgSG9uZywgU0ogYW5kIEluZGF3YXRpLCBXYWh5dW5pIGFuZCBLYWJpciwgQVIgYW5kIEthYnJhLCBTdXNoaWwgYW5kIEthbWFsYXBvcm4sIEhhcnV0YWkgYW5kIEtpbSwgSHl1bmdZb3VuZyBhbmQgS3VubGluZywgU2hlbiBhbmQgTG9jaGluZGFyYXQsIFNvcmFzYWsgYW5kIE1vc2xlaGksIE1vaGFtbWFkQXNoa2FuIGFuZCBOYXRoYW4sIEFubmFNYXJpZSBhbmQgTmcsIERhbmllbCBhbmQgUGh1bmcsIE5ndXllbk5nIGFuZCBTaW5naCwgViBhbmQgVGFrYXNlLCBNYXNhdG8gYW5kIFRyaWFzaWgsIFJpbmEgYW5kIERhaSwgWmVuLUtvbmd9LCBcblxueWVhciA9IHsyMDIwfSwgXG5cbm1vbnRoID0gezAxfSwgXG5cbnBhZ2VzID0gezh9LCBcblxudGl0bGUgPSB7Q3lzdGljIGZpYnJvc2lzIGluIGFzaWF9LCBcblxudm9sdW1lID0gezR9LCBcblxuam91cm5hbCA9IHtQZWRpYXRyaWMgUmVzcGlyb2xvZ3kgYW5kIENyaXRpY2FsIENhcmUgTWVkaWNpbmV9LCBcblxuZG9pID0gezEwLjQxMDMvcHJjbS5wcmNtXzVfMjB9IFxuXG59IGAsYFxuXG5AYXJ0aWNsZXt2aWVyLCBcblxuYXV0aG9yID0ge0JvYmJvLCBLaGFkaWphdGFidWJha2FyIGFuZCBBaG1hZCwgVW1hciBhbmQgQ2hhdSwgRGUtTWluZyBhbmQgTm9yZGluLCBOb3JzaGFyaXphIGFuZCBBYmR1bGxhaCwgU3lhaHJpbH0sIFxuXG55ZWFyID0gezIwMjN9LCBcblxubW9udGggPSB7MDV9LCBcblxucGFnZXMgPSB7MTAzNjg1fSwgXG5cbnRpdGxlID0ge0EgY29tcHJlaGVuc2l2ZSByZXZpZXcgb2YgQ3lzdGljIEZpYnJvc2lzIGluIEFmcmljYSBhbmQgQXNpYX0sIFxuXG52b2x1bWUgPSB7MzB9LCBcblxuam91cm5hbCA9IHtTYXVkaSBKb3VybmFsIG9mIEJpb2xvZ2ljYWwgU2NpZW5jZXN9LCBcblxuZG9pID0gezEwLjEwMTYvai5zamJzLjIwMjMuMTAzNjg1fSBcblxufSBgXG5dIiwgImltcG9ydCBCaWJ0ZXhQYXJzZXIgZnJvbSBcIi4uL2NvbXBvbmVudHMvbWFrZVNvdXJjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gTWF0dGlqc0ludGVydmlld1NvdXJjZXMoKXtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCaWJ0ZXhQYXJzZXIgYmlidGV4U291cmNlcz17YmlidGV4U291cmNlc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xufVxuXG5cbmNvbnN0IGJpYnRleFNvdXJjZXMgPSBbXG4gICAgYFxuICAgIEBhcnRpY2xle0J1bGNhZW5fS29ydGxldmVuX0xpdV9NYXVsZV9EcmVhbm9fS2VsbHlfRW5zaW5ja19UaGllcmllX1NtaXRzX0NpY2lhbmlfZXQsXG5cdHRpdGxlICAgICAgICA9IHtcblx0XHRQcmltZSBlZGl0aW5nIGZ1bmN0aW9uYWxseSBjb3JyZWN0cyBjeXN0aWMgZmlicm9zaXMtY2F1c2luZyBDRlRSIG11dGF0aW9ucyBpblxuXHRcdGh1bWFuIG9yZ2Fub2lkcyBhbmQgYWlyd2F5IGVwaXRoZWxpYWwgY2VsbHNcblx0fSxcblx0YXV0aG9yICAgICAgID0ge1xuXHRcdEJ1bGNhZW4sIE1hdHRpanMgYW5kIEtvcnRsZXZlbiwgUGhcdTAwRTlsaW5lIGFuZCBMaXUsIFJvbmFsZCBCLiBhbmQgTWF1bGUsIEdpdWxpYVxuXHRcdGFuZCBEcmVhbm8sIEVsaXNlIGFuZCBLZWxseSwgTWFpcmVhZCBhbmQgRW5zaW5jaywgTWFyam9sZWluIE0uIGFuZCBUaGllcmllLFxuXHRcdFNhbSBhbmQgU21pdHMsIE1heGltZSBhbmQgQ2ljaWFuaSwgTWF0dGVvIGFuZCBIYXR0b24sIEF1cmVsaWUgYW5kIENoZXZhbGllcixcblx0XHRCZW5vaXQgYW5kIFJhbWFsaG8sIEFuYWJlbGEgUy4gYW5kIENhc2FkZXZhbGwgaSBTb2x2YXMsIFhhdmllciBhbmQgRGVieXNlcixcblx0XHRaZWdlciBhbmQgVmVybWV1bGVuLCBGcmFuXHUwMEU3b2lzIGFuZCBHaWpzYmVycywgUmlrIGFuZCBTZXJtZXQtR2F1ZGVsdXMsIElzYWJlbGxlXG5cdFx0YW5kIENlcmVzZXRvLCBBbm5hIGFuZCBDYXJsb24sIE1hcmlhbm5lIFMuXG5cdH0sXG5cdHllYXIgICAgICAgICA9IDIwMjQsXG5cdG1vbnRoICAgICAgICA9IG1heSxcblx0am91cm5hbCAgICAgID0ge0NlbGwgUmVwb3J0cyBNZWRpY2luZX0sXG5cdHBhZ2VzICAgICAgICA9IDEwMTU0NCxcblx0ZG9pICAgICAgICAgID0gezEwLjEwMTYvai54Y3JtLjIwMjQuMTAxNTQ0fSxcblx0aXNzbiAgICAgICAgID0gezI2NjYtMzc5MX0sXG5cdGFic3RyYWN0bm90ZSA9IHtcblx0XHRQcmltZSBlZGl0aW5nIGlzIGEgcmVjZW50LCBDUklTUFItZGVyaXZlZCBnZW5vbWUgZWRpdGluZyB0ZWNobm9sb2d5IGNhcGFibGVcblx0XHRvZiBpbnRyb2R1Y2luZyBwcmVjaXNlIG51Y2xlb3RpZGUgc3Vic3RpdHV0aW9ucywgaW5zZXJ0aW9ucywgYW5kIGRlbGV0aW9ucy5cblx0XHRIZXJlLCB3ZSBwcmVzZW50IHByaW1lIGVkaXRpbmcgYXBwcm9hY2hlcyB0byBjb3JyZWN0IEwyMjdSLSBhbmQgTjEzMDNLLUNGVFIsXG5cdFx0dHdvIG11dGF0aW9ucyB0aGF0IGNhdXNlIGN5c3RpYyBmaWJyb3NpcyBhbmQgYXJlIG5vdCBlbGlnaWJsZSBmb3IgY3VycmVudFxuXHRcdG1hcmtldC1hcHByb3ZlZCBtb2R1bGF0b3IgdGhlcmFwaWVzLiBXZSBzaG93IHRoYXQsIHVwb24gRE5BIGNvcnJlY3Rpb24gb2YgdGhlXG5cdFx0Q0ZUUiBnZW5lLCB0aGUgY29tcGxleCBnbHljb3N5bGF0aW9uLCBsb2NhbGl6YXRpb24sIGFuZCwgbW9zdCBpbXBvcnRhbnRseSxcblx0XHRmdW5jdGlvbiBvZiB0aGUgQ0ZUUiBwcm90ZWluIGFyZSByZXN0b3JlZCBpbiBIRUsyOTNUIGFuZCAxNkhCRSBjZWxsIGxpbmVzLlxuXHRcdFRoZXNlIGZpbmRpbmdzIHdlcmUgc3Vic2VxdWVudGx5IHZhbGlkYXRlZCBpbiBwYXRpZW50LWRlcml2ZWQgcmVjdGFsXG5cdFx0b3JnYW5vaWRzIGFuZCBodW1hbiBuYXNhbCBlcGl0aGVsaWFsIGNlbGxzLiBUaHJvdWdoIGFuYWx5c2lzIG9mIHByZWRpY3RlZCBhbmRcblx0XHRleHBlcmltZW50YWxseSBpZGVudGlmaWVkIGNhbmRpZGF0ZSBvZmYtdGFyZ2V0IHNpdGVzIGluIHByaW1hcnkgc3RlbSBjZWxscyxcblx0XHR3ZSBjb25maXJtIHByZXZpb3VzIHJlcG9ydHMgb24gdGhlIGhpZ2ggcHJpbWUgZWRpdG9yIChQRSkgc3BlY2lmaWNpdHkgYW5kIGl0c1xuXHRcdHBvdGVudGlhbCBmb3IgYSBjdXJhdGl2ZSBDRiBnZW5lIGVkaXRpbmcgdGhlcmFweS4gVG8gZmFjaWxpdGF0ZSBmdXR1cmVcblx0XHRzY3JlZW5pbmcgb2YgZ2VuZXRpYyBzdHJhdGVnaWVzIGluIGEgdHJhbnNsYXRpb25hbCBDRiBtb2RlbCwgYSBtYWNoaW5lXG5cdFx0bGVhcm5pbmcgYWxnb3JpdGhtIHdhcyBkZXZlbG9wZWQgZm9yIGR5bmFtaWMgcXVhbnRpZmljYXRpb24gb2YgQ0ZUUiBmdW5jdGlvblxuXHRcdGluIG9yZ2Fub2lkcyAoREVURUNUT1I6IFx1MjAxQ2RldGVjdGlvbiBvZiB0YXJnZXRlZCBlZGl0aW5nIG9mIENGVFIgaW5cblx0XHRvcmdhbm9pZHNcdTIwMUQpLlxuXHR9XG59XG5cbiAgICBgXG5cbl0iLCAiaW1wb3J0IEJpYnRleFBhcnNlciBmcm9tIFwiLi4vY29tcG9uZW50cy9tYWtlU291cmNlc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBMaXVJbnRlcnZpZXdTb3VyY2VzKCl7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8QmlidGV4UGFyc2VyIGJpYnRleFNvdXJjZXM9e2JpYnRleFNvdXJjZXN9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbn1cblxuXG5jb25zdCBiaWJ0ZXhTb3VyY2VzID0gW1xuYCBcbkBhcnRpY2xle2VpbnMsXG50aXRsZSA9IHtTZWFyY2gtYW5kLXJlcGxhY2UgZ2Vub21lIGVkaXRpbmcgd2l0aG91dCBkb3VibGUtc3RyYW5kIGJyZWFrcyBvciBkb25vciBETkF9LCBcbnZvbHVtZSA9IHs1NzZ9LCBcbnJpZ2h0cyA9IHsyMDE5IFRoZSBBdXRob3IocyksIHVuZGVyIGV4Y2x1c2l2ZSBsaWNlbmNlIHRvIFNwcmluZ2VyIE5hdHVyZSBMaW1pdGVkfSwgXG5JU1NOID0gezE0NzYtNDY4N30sIFxuRE9JID0gezEwLjEwMzgvczQxNTg2LTAxOS0xNzExLTR9LCBcbmFic3RyYWN0Tm90ZSA9IHtNb3N0IGdlbmV0aWMgdmFyaWFudHMgdGhhdCBjb250cmlidXRlIHRvIGRpc2Vhc2UgYXJlIGNoYWxsZW5naW5nIHRvIGNvcnJlY3QgZWZmaWNpZW50bHkgYW5kIHdpdGhvdXQgZXhjZXNzIGJ5cHJvZHVjdHMuIEhlcmUgd2UgZGVzY3JpYmUgcHJpbWUgZWRpdGluZywgYSB2ZXJzYXRpbGUgYW5kIHByZWNpc2UgZ2Vub21lIGVkaXRpbmcgbWV0aG9kIHRoYXQgZGlyZWN0bHkgd3JpdGVzIG5ldyBnZW5ldGljIGluZm9ybWF0aW9uIGludG8gYSBzcGVjaWZpZWQgRE5BIHNpdGUgdXNpbmcgYSBjYXRhbHl0aWNhbGx5IGltcGFpcmVkIENhczkgZW5kb251Y2xlYXNlIGZ1c2VkIHRvIGFuIGVuZ2luZWVyZWQgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlLCBwcm9ncmFtbWVkIHdpdGggYSBwcmltZSBlZGl0aW5nIGd1aWRlIFJOQSAocGVnUk5BKSB0aGF0IGJvdGggc3BlY2lmaWVzIHRoZSB0YXJnZXQgc2l0ZSBhbmQgZW5jb2RlcyB0aGUgZGVzaXJlZCBlZGl0LiBXZSBwZXJmb3JtZWQgbW9yZSB0aGFuIDE3NSBlZGl0cyBpbiBodW1hbiBjZWxscywgaW5jbHVkaW5nIHRhcmdldGVkIGluc2VydGlvbnMsIGRlbGV0aW9ucywgYW5kIGFsbCAxMiB0eXBlcyBvZiBwb2ludCBtdXRhdGlvbiwgd2l0aG91dCByZXF1aXJpbmcgZG91YmxlLXN0cmFuZCBicmVha3Mgb3IgZG9ub3IgRE5BIHRlbXBsYXRlcy4gV2UgdXNlZCBwcmltZSBlZGl0aW5nIGluIGh1bWFuIGNlbGxzIHRvIGNvcnJlY3QsIGVmZmljaWVudGx5IGFuZCB3aXRoIGZldyBieXByb2R1Y3RzLCB0aGUgcHJpbWFyeSBnZW5ldGljIGNhdXNlcyBvZiBzaWNrbGUgY2VsbCBkaXNlYXNlIGFuZCBUYXlcdTIwMTNTYWNocyBkaXNlYXNlOyB0byBpbnN0YWxsIGEgcHJvdGVjdGl2ZSB0cmFuc3ZlcnNpb24gaW4gUFJOUDsgYW5kIHRvIGluc2VydCB2YXJpb3VzIHRhZ3MgYW5kIGVwaXRvcGVzIHByZWNpc2VseSBpbnRvIHRhcmdldCBsb2NpLiBGb3VyIGh1bWFuIGNlbGwgbGluZXMgYW5kIHByaW1hcnkgcG9zdC1taXRvdGljIG1vdXNlIGNvcnRpY2FsIG5ldXJvbnMgc3VwcG9ydCBwcmltZSBlZGl0aW5nIHdpdGggdmFyeWluZyBlZmZpY2llbmNpZXMuIFByaW1lIGVkaXRpbmcgc2hvd3MgaGlnaGVyIG9yIHNpbWlsYXIgZWZmaWNpZW5jeSBhbmQgZmV3ZXIgYnlwcm9kdWN0cyB0aGFuIGhvbW9sb2d5LWRpcmVjdGVkIHJlcGFpciwgaGFzIGNvbXBsZW1lbnRhcnkgc3RyZW5ndGhzIGFuZCB3ZWFrbmVzc2VzIGNvbXBhcmVkIHRvIGJhc2UgZWRpdGluZywgYW5kIGluZHVjZXMgbXVjaCBsb3dlciBvZmYtdGFyZ2V0IGVkaXRpbmcgdGhhbiBDYXM5IG51Y2xlYXNlIGF0IGtub3duIENhczkgb2ZmLXRhcmdldCBzaXRlcy4gUHJpbWUgZWRpdGluZyBzdWJzdGFudGlhbGx5IGV4cGFuZHMgdGhlIHNjb3BlIGFuZCBjYXBhYmlsaXRpZXMgb2YgZ2Vub21lIGVkaXRpbmcsIGFuZCBpbiBwcmluY2lwbGUgY291bGQgY29ycmVjdCB1cCB0byA4OSUgb2Yga25vd24gZ2VuZXRpYyB2YXJpYW50cyBhc3NvY2lhdGVkIHdpdGggaHVtYW4gZGlzZWFzZXMufSwgXG5udW1iZXIgPSB7Nzc4NX0sIFxuam91cm5hbCA9IHtOYXR1cmV9LCBcbnB1Ymxpc2hlciA9IHtOYXR1cmUgUHVibGlzaGluZyBHcm91cH0sIFxuYXV0aG9yID0ge0FuemFsb25lLCBBbmRyZXcgVi4gYW5kIFJhbmRvbHBoLCBQZXl0b24gQi4gYW5kIERhdmlzLCBKZXNzaWUgUi4gYW5kIFNvdXNhLCBBbGV4YW5kZXIgQS4gYW5kIEtvYmxhbiwgTHVrZSBXLiBhbmQgTGV2eSwgSm9uYXRoYW4gTS4gYW5kIENoZW4sIFBldGVyIEouIGFuZCBXaWxzb24sIENocmlzdG9waGVyIGFuZCBOZXdieSwgR3JlZ29yeSBBLiBhbmQgUmFndXJhbSwgQWRpdHlhIGFuZCBMaXUsIERhdmlkIFIufSwgXG55ZWFyID0gezIwMTl9LCBcbm1vbnRoID0ge2RlY30sIFxucGFnZXMgPSB7MTQ5XHUyMDEzMTU3fSwgXG5sYW5ndWFnZSA9IHtlbn1cbn1gLGBcblxuQGFydGljbGV7endlaSxcbnRpdGxlID0ge1BoYWdlLWFzc2lzdGVkIGV2b2x1dGlvbiBhbmQgcHJvdGVpbiBlbmdpbmVlcmluZyB5aWVsZCBjb21wYWN0LCBlZmZpY2llbnQgcHJpbWUgZWRpdG9yc30sIFxudm9sdW1lID0gezE4Nn0sIFxuSVNTTiA9IHswMDkyLTg2NzQsIDEwOTctNDE3Mn0sIFxuRE9JID0gezEwLjEwMTYvai5jZWxsLjIwMjMuMDcuMDM5fSwgXG5udW1iZXIgPSB7MTh9LCBcbmpvdXJuYWwgPSB7Q2VsbH0sIFxucHVibGlzaGVyID0ge0Vsc2V2aWVyfSwgXG5hdXRob3IgPSB7RG9tYW4sIEpvcmRhbiBMLiBhbmQgUGFuZGV5LCBTbXJpdGkgYW5kIE5ldWdlYmF1ZXIsIE1vbmljYSBFLiBhbmQgQW4sIE1laXJ1aSBhbmQgRGF2aXMsIEplc3NpZSBSLiBhbmQgUmFuZG9scGgsIFBleXRvbiBCLiBhbmQgTWNFbHJveSwgQW1iZXIgYW5kIEdhbywgWGluIEQuIGFuZCBSYWd1cmFtLCBBZGl0eWEgYW5kIFJpY2h0ZXIsIE1pY2hlbGxlIEYuIGFuZCBFdmVyZXR0ZSwgS2VsY2VlIEEuIGFuZCBCYW5za290YSwgU2FtYWd5YSBhbmQgVGlhbiwgS2F0aHJ5biBhbmQgVGFvLCBZLiBBbGxlbiBhbmQgVG9sYXIsIEpha3ViIGFuZCBPc2Jvcm4sIE1hcmsgSi4gYW5kIExpdSwgRGF2aWQgUi59LCBcbnllYXIgPSB7MjAyM30sIFxubW9udGggPSB7YXVnfSwgXG5wYWdlcyA9IHszOTgzLTQwMDIuZTI2fSwgXG5sYW5ndWFnZSA9IHtFbmdsaXNofVxufWAsYFxuXG5AYXJ0aWNsZXtkcmVpLCBcbnRpdGxlID0ge1BoYWdlLWFzc2lzdGVkIGNvbnRpbnVvdXMgYW5kIG5vbi1jb250aW51b3VzIGV2b2x1dGlvbn0sIFxudm9sdW1lID0gezE1fSwgXG5yaWdodHMgPSB7MjAyMCBUaGUgQXV0aG9yKHMpLCB1bmRlciBleGNsdXNpdmUgbGljZW5jZSB0byBTcHJpbmdlciBOYXR1cmUgTGltaXRlZH0sIFxuSVNTTiA9IHsxNzUwLTI3OTl9LCBcbkRPSSA9IHsxMC4xMDM4L3M0MTU5Ni0wMjAtMDA0MTAtM30sIFxuYWJzdHJhY3ROb3RlID0ge0RpcmVjdGVkIGV2b2x1dGlvbiwgd2hpY2ggYXBwbGllcyB0aGUgcHJpbmNpcGxlcyBvZiBEYXJ3aW5pYW4gZXZvbHV0aW9uIHRvIGEgbGFib3JhdG9yeSBzZXR0aW5nLCBpcyBhIHBvd2VyZnVsIHN0cmF0ZWd5IGZvciBnZW5lcmF0aW5nIGJpb21vbGVjdWxlcyB3aXRoIGRpdmVyc2UgYW5kIHRhaWxvcmVkIHByb3BlcnRpZXMuIFRoaXMgdGVjaG5pcXVlIGNhbiBiZSBpbXBsZW1lbnRlZCBpbiBhIGhpZ2hseSBlZmZpY2llbnQgbWFubmVyIHVzaW5nIGNvbnRpbnVvdXMgZXZvbHV0aW9uLCB3aGljaCBlbmFibGVzIHRoZSBzdGVwcyBvZiBkaXJlY3RlZCBldm9sdXRpb24gdG8gcHJvY2VlZCBzZWFtbGVzc2x5IG92ZXIgbWFueSBzdWNjZXNzaXZlIGdlbmVyYXRpb25zIHdpdGggbWluaW1hbCByZXNlYXJjaGVyIGludGVydmVudGlvbi4gUGhhZ2UtYXNzaXN0ZWQgY29udGludW91cyBldm9sdXRpb24gKFBBQ0UpIGVuYWJsZXMgY29udGludW91cyBkaXJlY3RlZCBldm9sdXRpb24gaW4gYmFjdGVyaWEgYnkgbWFwcGluZyB0aGUgc3RlcHMgb2YgRGFyd2luaWFuIGV2b2x1dGlvbiBvbnRvIHRoZSBiYWN0ZXJpb3BoYWdlIGxpZmUgY3ljbGUgYW5kIGFsbG93cyBkaXJlY3RlZCBldm9sdXRpb24gdG8gb2NjdXIgb24gbXVjaCBmYXN0ZXIgdGltZXNjYWxlcyBjb21wYXJlZCB0byBjb252ZW50aW9uYWwgbWV0aG9kcy4gVGhpcyBwcm90b2NvbCBwcm92aWRlcyBkZXRhaWxlZCBpbnN0cnVjdGlvbnMgb24gZXZvbHZpbmcgcHJvdGVpbnMgdXNpbmcgUEFDRSBhbmQgcGhhZ2UtYXNzaXN0ZWQgbm9uLWNvbnRpbnVvdXMgZXZvbHV0aW9uIChQQU5DRSkgYW5kIGluY2x1ZGVzIGluZm9ybWF0aW9uIG9uIHRoZSBwcmVwYXJhdGlvbiBvZiBzZWxlY3Rpb24gcGhhZ2UgYW5kIGhvc3QgY2VsbHMsIHRoZSBhc3NlbWJseSBvZiBhIGNvbnRpbnVvdXMgZmxvdyBhcHBhcmF0dXMgYW5kIHRoZSBwZXJmb3JtYW5jZSBhbmQgYW5hbHlzaXMgb2YgZXZvbHV0aW9uIGV4cGVyaW1lbnRzLiBUaGlzIHByb3RvY29sIGNhbiBiZSBwZXJmb3JtZWQgaW4gYXMgbGl0dGxlIGFzIDIgd2Vla3MgdG8gY29tcGxldGUgbW9yZSB0aGFuIDEwMCByb3VuZHMgb2YgZXZvbHV0aW9uIChjb21wbGV0ZSBjeWNsZXMgb2YgbXV0YXRpb24sIHNlbGVjdGlvbiBhbmQgcmVwbGljYXRpb24pIGluIGEgc2luZ2xlIFBBQ0UgZXhwZXJpbWVudC59LCBcbm51bWJlciA9IHsxMn0sIFxuam91cm5hbCA9IHtOYXR1cmUgUHJvdG9jb2xzfSwgXG5wdWJsaXNoZXIgPSB7TmF0dXJlIFB1Ymxpc2hpbmcgR3JvdXB9LCBcbmF1dGhvciA9IHtNaWxsZXIsIFNoYW5ub24gTS4gYW5kIFdhbmcsIFRpbmEgYW5kIExpdSwgRGF2aWQgUi59LCBcbnllYXIgPSB7MjAyMH0sIFxubW9udGggPSB7ZGVjfSwgXG5wYWdlcyA9IHs0MTAxXHUyMDEzNDEyN30sIFxubGFuZ3VhZ2UgPSB7ZW59XG59YCxgXG5AYXJ0aWNsZXt2aWVyLCBcbnRpdGxlID0ge1N5c3RlbWF0aWMgb3B0aW1pemF0aW9uIG9mIHByaW1lIGVkaXRpbmcgZm9yIHRoZSBlZmZpY2llbnQgZnVuY3Rpb25hbCBjb3JyZWN0aW9uIG9mIENGVFIgRjUwOGRlbCBpbiBodW1hbiBhaXJ3YXkgZXBpdGhlbGlhbCBjZWxsc30sIFxucmlnaHRzID0gezIwMjQgVGhlIEF1dGhvcihzKX0sIFxuSVNTTiA9IHsyMTU3LTg0Nlh9LCBcbkRPSSA9IHsxMC4xMDM4L3M0MTU1MS0wMjQtMDEyMzMtM30sIFxuYWJzdHJhY3ROb3RlID0ge1ByaW1lIGVkaXRpbmcgKFBFKSBlbmFibGVzIHByZWNpc2UgYW5kIHZlcnNhdGlsZSBnZW5vbWUgZWRpdGluZyB3aXRob3V0IHJlcXVpcmluZyBkb3VibGUtc3RyYW5kZWQgRE5BIGJyZWFrcy4gSGVyZSB3ZSBkZXNjcmliZSB0aGUgc3lzdGVtYXRpYyBvcHRpbWl6YXRpb24gb2YgUEUgc3lzdGVtcyB0byBlZmZpY2llbnRseSBjb3JyZWN0IGh1bWFuIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHRyYW5zbWVtYnJhbmUgY29uZHVjdGFuY2UgcmVndWxhdG9yIChDRlRSKSBGNTA4ZGVsLCBhIHRocmVlLW51Y2xlb3RpZGUgZGVsZXRpb24gdGhhdCBpcyB0aGUgcHJlZG9taW5hbnQgY2F1c2Ugb2YgQ0YuIEJ5IGNvbWJpbmluZyBzaXggZWZmaWNpZW5jeSBvcHRpbWl6YXRpb25zIGZvciBQRVx1MjAxNGVuZ2luZWVyZWQgUEUgZ3VpZGUgUk5BcywgdGhlIFBFbWF4IGFyY2hpdGVjdHVyZSwgdGhlIHRyYW5zaWVudCBleHByZXNzaW9uIG9mIGEgZG9taW5hbnQtbmVnYXRpdmUgbWlzbWF0Y2ggcmVwYWlyIHByb3RlaW4sIHN0cmF0ZWdpYyBzaWxlbnQgZWRpdHMsIFBFNiB2YXJpYW50cyBhbmQgcHJveGltYWwgXHUyMDE4ZGVhZFx1MjAxOSBzaW5nbGUtZ3VpZGUgUk5Bc1x1MjAxNHdlIGluY3JlYXNlZCBjb3JyZWN0aW9uIGVmZmljaWVuY2llcyBmb3IgQ0ZUUiBGNTA4ZGVsIGZyb20gbGVzcyB0aGFuIDAuNSUgaW4gSEVLMjkzVCBjZWxscyB0byA1OCUgaW4gaW1tb3J0YWxpemVkIGJyb25jaGlhbCBlcGl0aGVsaWFsIGNlbGxzIChhIDE0MC1mb2xkIGltcHJvdmVtZW50KSBhbmQgdG8gMjUlIGluIHBhdGllbnQtZGVyaXZlZCBhaXJ3YXkgZXBpdGhlbGlhbCBjZWxscy4gVGhlIG9wdGltaXphdGlvbnMgYWxzbyByZXN1bHRlZCBpbiBtaW5pbWFsIG9mZi10YXJnZXQgZWRpdGluZywgaW4gZWRpdC10by1pbmRlbCByYXRpb3MgMy41LWZvbGQgZ3JlYXRlciB0aGFuIHRob3NlIGFjaGlldmVkIGJ5IG51Y2xlYXNlLW1lZGlhdGVkIGhvbW9sb2d5LWRpcmVjdGVkIHJlcGFpciwgYW5kIGluIHRoZSBmdW5jdGlvbmFsIHJlc3RvcmF0aW9uIG9mIENGVFIgaW9uIGNoYW5uZWxzIHRvIG92ZXIgNTAlIG9mIHdpbGQtdHlwZSBsZXZlbHMgKHNpbWlsYXIgdG8gdGhvc2UgYWNoaWV2ZWQgdmlhIGNvbWJpbmF0aW9uIHRyZWF0bWVudCB3aXRoIGVsZXhhY2FmdG9yLCB0ZXphY2FmdG9yIGFuZCBpdmFjYWZ0b3IpIGluIHByaW1hcnkgYWlyd2F5IGNlbGxzLiBPdXIgZmluZGluZ3Mgc3VwcG9ydCB0aGUgZmVhc2liaWxpdHkgb2YgYSBkdXJhYmxlIG9uZS10aW1lIHRyZWF0bWVudCBmb3IgQ0YufSwgXG5qb3VybmFsID0ge05hdHVyZSBCaW9tZWRpY2FsIEVuZ2luZWVyaW5nfSwgXG5wdWJsaXNoZXIgPSB7TmF0dXJlIFB1Ymxpc2hpbmcgR3JvdXB9LCBcbmF1dGhvciA9IHtTb3VzYSwgQWxleGFuZGVyIEEuIGFuZCBIZW1leiwgQ29saW4gYW5kIExlaSwgTGVpIGFuZCBUcmFvcmUsIFNvdW1iYSBhbmQgS3VsaGFua292YSwgS2F0YXJpbmEgYW5kIE5ld2J5LCBHcmVnb3J5IEEuIGFuZCBEb21hbiwgSm9yZGFuIEwuIGFuZCBPeWUsIEtleWVkZSBhbmQgUGFuZGV5LCBTbXJpdGkgYW5kIEthcnAsIFBoaWxpcCBILiBhbmQgTWNDcmF5LCBQYXVsIEIuIGFuZCBMaXUsIERhdmlkIFIufSwgXG55ZWFyID0gezIwMjR9LCBcbm1vbnRoID0ge2p1bH0sIFxucGFnZXMgPSB7MVx1MjAxMzE1fSwgXG5sYW5ndWFnZSA9IHtlbn1cbn1gXG5dIiwgImltcG9ydCBCaWJ0ZXhQYXJzZXIgZnJvbSBcIi4uL2NvbXBvbmVudHMvbWFrZVNvdXJjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm5oYWxlU291cmNlcygpe1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPEJpYnRleFBhcnNlciBiaWJ0ZXhTb3VyY2VzPXtiaWJ0ZXhTb3VyY2VzfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG59XG5cblxuY29uc3QgYmlidGV4U291cmNlcyA9IFtcbmBcbiBcbkBhcnRpY2xle2FydGljbGUsIFxuXG5hdXRob3I9e1JvdGgsIEYuIEMuLCBOdW1iZXJnZXIsIE0uLCBhbmQgRHJhZ3VobiwgQS59LCBcblxueWVhcj17MjAyM30sIFxuXG5tb250aD17fSwgXG5cbnBhZ2VzPXsxLTE0fSwgXG5cbnRpdGxlPXtEaWUgRW50d2lja2x1bmcgZGVyIFBhdGNoLUNsYW1wLVRlY2huaWt9LCBcblxudm9sdW1lPXt9LCBcblxuam91cm5hbD17U3ByaW5nZXIgZUJvb2tzfSwgXG5cbmRvaT17MTAuMTAwNy85NzgtMy02NjItNjYwNTMtOV8xfSBcblxufSBcblxuYCxgIFxuXG5AYXJ0aWNsZXthcnRpY2xlLCBcblxuYXV0aG9yPXtNZXRlLCBWLn0sIFxuXG55ZWFyPXsyMDIzfSwgXG5cbm1vbnRoPXsgfSwgXG5cbnBhZ2VzPXsgfSwgXG5cbnRpdGxlPXtFbnR3aWNrbHVuZyB1bmQgVmFsaWRpZXJ1bmcgbmV1ZXIgbmljaHQtaW52YXNpdmVyIERpYWdub3Nlc3lzdGVtZSBmXHUwMEZDciBNdWNvY2lsaWFyeSBDbGVhcmFuY2UgRGlzb3JkZXJzIChNQ0NEKX0sIFxuXG52b2x1bWU9eyB9LCBcblxuam91cm5hbD17RGlzc2VydGF0aW9uLCBXZXN0Zlx1MDBFNGxpc2NoZSBXaWxoZWxtcy1Vbml2ZXJzaXRcdTAwRTR0IE1cdTAwRkNuc3Rlcn0sIFxuXG5kb2k9ezEwLjE3ODc5Lzk4OTU4NDQxOTA1fSBcblxufSBcblxuYCxgXG5cbkBhcnRpY2xle2FydGljbGUsIFxuXG5hdXRob3I9e0dpYWV2ZXIsIEkuIGFuZCBLZWVzZSwgQy4gfSwgXG5cbnllYXI9ezE5OTN9LCBcblxubW9udGg9eyB9LCBcblxucGFnZXM9ezU5MS01OTJ9LCBcblxudGl0bGU9e0EgbW9ycGhvbG9naWNhbCBiaW9zZW5zb3IgZm9yIG1hbW1hbGlhbiBjZWxsc30sIFxuXG52b2x1bWU9ezM2Nn0sIFxuXG5qb3VybmFsPXtOYXR1cmV9LCBcblxuZG9pPXsxMC4xMDM4LzM2NjU5MWEwfSBcblxufSBcbmBcbl0iLCAiaW1wb3J0IEJpYnRleFBhcnNlciBmcm9tIFwiLi4vY29tcG9uZW50cy9tYWtlU291cmNlc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBXaXNjaG1leWVyU291cmNlcygpe1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPEJpYnRleFBhcnNlciBiaWJ0ZXhTb3VyY2VzPXtiaWJ0ZXhTb3VyY2VzfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG59XG5cblxuY29uc3QgYmlidGV4U291cmNlcyA9IFtcbiAgICBgXG4gICAgIFxuQGFydGljbGV7YXJ0aWNsZSwgXG5cbmF1dGhvcj17Um90aCwgRi4gQy4sIE51bWJlcmdlciwgTS4sIGFuZCBEcmFndWhuLCBBLn0sIFxuXG55ZWFyPXsyMDIzfSwgXG5cbm1vbnRoPXt9LCBcblxucGFnZXM9ezEtMTR9LCBcblxudGl0bGU9e0RpZSBFbnR3aWNrbHVuZyBkZXIgUGF0Y2gtQ2xhbXAtVGVjaG5pa30sIFxuXG52b2x1bWU9e30sIFxuXG5qb3VybmFsPXtTcHJpbmdlciBlQm9va3N9LCBcblxuZG9pPXsxMC4xMDA3Lzk3OC0zLTY2Mi02NjA1My05XzF9IFxuXG59IFxuXG5gLGBcblxuQGFydGljbGV7YXJ0aWNsZSwgXG5cbmF1dGhvcj17TWV0ZSwgVi59LCBcblxueWVhcj17MjAyM30sIFxuXG5tb250aD17IH0sIFxuXG5wYWdlcz17IH0sIFxuXG50aXRsZT17RW50d2lja2x1bmcgdW5kIFZhbGlkaWVydW5nIG5ldWVyIG5pY2h0LWludmFzaXZlciBEaWFnbm9zZXN5c3RlbWUgZlx1MDBGQ3IgTXVjb2NpbGlhcnkgQ2xlYXJhbmNlIERpc29yZGVycyAoTUNDRCl9LCBcblxudm9sdW1lPXsgfSwgXG5cbmpvdXJuYWw9e0Rpc3NlcnRhdGlvbiwgV2VzdGZcdTAwRTRsaXNjaGUgV2lsaGVsbXMtVW5pdmVyc2l0XHUwMEU0dCBNXHUwMEZDbnN0ZXJ9LCBcblxuZG9pPXsxMC4xNzg3OS85ODk1ODQ0MTkwNX0gXG5cbn0gXG5gLGBcblxuQGFydGljbGV7YXJ0aWNsZSwgXG5cbmF1dGhvcj17R2lhZXZlciwgSS4gYW5kIEtlZXNlLCBDLiB9LCBcblxueWVhcj17MTk5M30sIFxuXG5tb250aD17IH0sIFxuXG5wYWdlcz17NTkxLTU5Mn0sIFxuXG50aXRsZT17QSBtb3JwaG9sb2dpY2FsIGJpb3NlbnNvciBmb3IgbWFtbWFsaWFuIGNlbGxzfSwgXG5cbnZvbHVtZT17MzY2fSwgXG5cbmpvdXJuYWw9e05hdHVyZX0sIFxuXG5kb2k9ezEwLjEwMzgvMzY2NTkxYTB9IFxuXG59IFxuICAgIGBcbl0iLCAiaW1wb3J0IHsgUWFCb3ggfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Cb3hlc1wiO1xuaW1wb3J0IHsgVGFiU2Nyb2xsTGluayB9IGZyb20gXCIuLi9jb21wb25lbnRzL0xpbmtcIjtcbmltcG9ydCB7IFNjcm9sbExpbmtXaXRoQ2hpbGQgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9TY3JvbGxMaW5rXCI7XG5pbXBvcnQgSm9zaHVhSW50ZXJ2aWV3U291cmNlcyBmcm9tIFwiLi4vc291cmNlcy9qb3NodWEtaW52LXNvdXJjZXNcIjtcbmltcG9ydCBNYXR0aWpzSW50ZXJ2aWV3U291cmNlcyBmcm9tIFwiLi4vc291cmNlcy9tYXR0aWotaW52LXNvdXJjZXNcIjtcbmltcG9ydCBMaXVJbnRlcnZpZXdTb3VyY2VzIGZyb20gXCIuLi9zb3VyY2VzL2xpdS1pbnYtc291cmNlc1wiO1xuaW1wb3J0IFJuaGFsZVNvdXJjZXMgZnJvbSBcIi4uL3NvdXJjZXMvcm5oYWxlLXNvdXJjZXNcIjtcbmltcG9ydCBXaXNjaG1leWVyU291cmNlcyBmcm9tIFwiLi4vc291cmNlcy93aW1zY2hleWVyLXNvdXJjZXNcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuZnVuY3Rpb24gSFBMaW5rdG9PdGhlckhQVGFiKHt0YWIsIHRleHR9Ont0YWI6IHN0cmluZywgdGV4dDogc3RyaW5nfSl7XG4gIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24oKTsgXG4gIHJldHVybihcbiAgICA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKHRhYiwgXCJcIil9PiB7dGV4dH0gPC9hPlxuICApXG59XG5mdW5jdGlvbiBIUGdvVG9QYWdlQW5kU2Nyb2xsKHtpZCwgdGV4dCwgcGF0aH06e2lkOiBzdHJpbmcsIHRleHQ6IHN0cmluZywgcGF0aDogc3RyaW5nfSl7XG4gIGNvbnN0IHtnb1RvUGFnZUFuZFNjcm9sbH0gPSB1c2VOYXZpZ2F0aW9uKCk7IFxuICByZXR1cm4oXG4gICAgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwoaWQsIHBhdGgpfT4ge3RleHR9IDwvYT5cbiAgKVxufVxuXG4vKmZ1bmN0aW9uIEhQZ29Ub1BhZ2VBbmRPcGVuVGFiKHtpZCwgdGV4dCwgcGF0aH06e2lkOiBzdHJpbmcsIHRleHQ6IHN0cmluZywgcGF0aDogc3RyaW5nfSl7XG4gIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24oKTsgXG4gIHJldHVybihcbiAgICA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKGlkLCBwYXRoKX0+IHt0ZXh0fSA8L2E+XG4gIClcbn1cbmZ1bmN0aW9uIEhQZ29Ub1BhZ2VBbmRPcGVuVGFiQW5kU2Nyb2xsKHt0YWIsIHRleHQsIHBhdGgsIHNjcm9sbElkfTp7dGFiOiBzdHJpbmcsIHRleHQ6IHN0cmluZywgcGF0aDogc3RyaW5nLCBzY3JvbGxJZDogc3RyaW5nfSl7XG4gIGNvbnN0IHtnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpOyBcbiAgcmV0dXJuKFxuICAgIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7dGFiSWQ6IHRhYiwgcGF0aDogcGF0aCwgc2Nyb2xsVG9JZDogc2Nyb2xsSWR9KX0+IHt0ZXh0fSA8L2E+XG4gIClcbn0qL1xuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVsaW5lRGF0ZW5wdW5rdCB7XG4gIHRpdGxlPzogc3RyaW5nOyAvKiBQcm9mLiAsIERyLiwgLi4uICovXG4gIHZvcm5hbWU6IHN0cmluZzsgXG4gIG5hY2hubmFtZTogc3RyaW5nOyBcbiAgcGljdHVyZXVybDogc3RyaW5nOyBcbiAgdGFnOiBTdGFrZWhvbGRlclRhZzsgXG4gIGhlYWRpbmc6IHN0cmluZzsgXG4gIGludGVydmlld3RhYmlkOiBzdHJpbmc7IFxuICB0eXBlPzogVHlwZVRhZzsgLyogbnVyIGZhbGxzIGVzIGVpbiBtZXRhIHRhZyBpc3QgICovXG4gIGFmZmlsaWF0aW9uPzogc3RyaW5nOyBcbiAgam9iPzogc3RyaW5nOyBcbiAgY2FyZHRleHQ6IHN0cmluZzsgXG4gIGxhbmd1YWdlPzogTGFuZ3VhZ2U7IFxuICBxdW90ZT86IHN0cmluZzsgXG4gIHF1b3RlVm9ybmFtZT86IHN0cmluZzsgLyogV2VubiBkaWUgcXVvdGUgbmljaHQgdm9uIGRlciBQZXJzb24gaXN0IFx1MDBGQ2JlciBkaWUgZGVyIFRleHQgaXN0ICAqL1xuICBxdW90ZU5hY2huYW1lPzogc3RyaW5nOyBcbiAgYWltb2Zjb250YWN0Pzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB8IEFycmF5PFJlYWN0LlJlYWN0Tm9kZT47IC8qIFNvYmFsZCBaaXRpZXJ1bmdlbiBkcmluIHNpbmQgb2RlciBMaW5rcyBtdXNzIGVzIEhUTUwgQ29kZSBzZWluLCBhbnNvbnN0ZW4gZ2VoZW4gc3RyaW5ncyAqL1xuICBpbnNpZ2h0cz86IHN0cmluZyB8IEFycmF5PHN0cmluZz4gfCBBcnJheTxSZWFjdC5SZWFjdE5vZGU+OyAvKiBTb2JhbGQgWml0aWVydW5nZW4gZHJpbiBzaW5kIG9kZXIgTGlua3MgbXVzcyBlcyBIVE1MIENvZGUgc2VpbiwgYW5zb25zdGVuIGdlaGVuIHN0cmluZ3MgKi9cbiAgY2xhcmlmaWNhdGlvbj86IHN0cmluZyB8IEFycmF5PHN0cmluZz4gfCBBcnJheTxSZWFjdC5SZWFjdE5vZGU+OyAvKiBTb2JhbGQgWml0aWVydW5nZW4gZHJpbiBzaW5kIG9kZXIgTGlua3MgbXVzcyBlcyBIVE1MIENvZGUgc2VpbiwgYW5zb25zdGVuIGdlaGVuIHN0cmluZ3MgKi9cbiAgaW1wbGVtZW50YXRpb24/OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IHwgQXJyYXk8UmVhY3QuUmVhY3ROb2RlPjsgLyogU29iYWxkIFppdGllcnVuZ2VuIGRyaW4gc2luZCBvZGVyIExpbmtzIG11c3MgZXMgSFRNTCBDb2RlIHNlaW4sIGFuc29uc3RlbiBnZWhlbiBzdHJpbmdzICovXG4gIHBpY3R1cmV1cmxfaW50ZXJ2aWV3Pzogc3RyaW5nOyAgLyogUGljdHVyZSB0aGF0IGdvZXMgaW50byB0aGUgcGFyYWdyYXBoIFwiSW5zaWdodHNcIiAgKi9cbiAgcGljdHVyZXVybF9haW0/OiBzdHJpbmc7ICAvKiBQaWN0dXJlIHRoYXQgZ29lcyBpbnRvIHRoZSBwYXJhZ3JhcGggXCJBaW0gb2YgY29udGFjdFwiICAqL1xuICBwaWN0dXJldXJsX2ltcGxlbWVudGF0aW9uPzogc3RyaW5nOyAgLyogUGljdHVyZSB0aGF0IGdvZXMgaW50byB0aGUgcGFyYWdyYXBoIFwiSW1wbGVtZW50YXRpb25cIiAgKi9cbiAgbW9yZV9waWN0dXJlcz86IEFycmF5PHN0cmluZz4gO1xuICByZWZlcmVuY2VzPzogUmVhY3QuUmVhY3ROb2RlOyAgLyogTXVzcyBIVE1MIENvZGUgc2VpbiAtIExpbGlhbmEgZXJzdGVsbHQgZGVuIGF1cyBCaWIgZGF0ZWllbiAqL1xuICBpbnRlcnZpZXc/OiBSZWFjdC5SZWFjdE5vZGU7IFxuICB0ZXh0Pzogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB8IEFycmF5PFJlYWN0LlJlYWN0Tm9kZT4gfFJlYWN0LlJlYWN0Tm9kZSA7IC8qIEV4dHJhIFRleHQgKi9cbiAgZXhwZXJ0b24/OiBzdHJpbmc7ICBcbiAgc3VtbWFyeTogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB8IEFycmF5PFJlYWN0LlJlYWN0Tm9kZT47IC8qIFNvYmFsZCBaaXRpZXJ1bmdlbiBkcmluIHNpbmQgb2RlciBMaW5rcyBtdXNzIGVzIEhUTUwgQ29kZSBzZWluLCBhbnNvbnN0ZW4gZ2VoZW4gc3RyaW5ncyAqLyBcbiAgbW9udGhzOiBzdHJpbmcsIFxufVxuXG50eXBlIFN0YWtlaG9sZGVyVGFnID0gJ0luZHVzdHJ5JyB8ICdBY2FkZW1pYScgfCAnUGF0aWVudCcgfCAnTWVkaWNhbCBQcm9mZXNzaW9uYWwnIHwgJ01pbGVzdG9uZScgfCAnRWR1Y2F0aW9uJ3wgJ091dHJlYWNoJ3wgJ090aGVyJzsgXG50eXBlIFR5cGVUYWcgPSAnbWV0YScgfCAna2F5YScgOyBcbnR5cGUgTGFuZ3VhZ2UgPSAnZW4nIHwgJ2RlJzsgXG5cbiBcblxuY29uc3QgcGljczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgcGxhY2Vob2xkZXI6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIixcbiAgbWF4OiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1tYXgtcG9ydHJhaXQuanBnXCIsXG4gIGtyaXN0aWFuOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9rcmlzdGlhbi1pbnRlcnZpZXcud2VicFwiLFxuICBvbGFyaXU6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL29sYXJpdS1jcmlzdGlhbi5qcGdcIixcbiAgd2VzdGhvZmY6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2hwLWthdHJpbi1wb3J0cmFpdC5qcGdcIixcbiAgbWF0dGlqczogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvbWF0dGlqcy5qcGdcIixcbiAganVsaWE6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2p1bGlhLmpwZ1wiLFxuICBrb2xvbmtvOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9rb2xvbmtvLW5ldS5qcGdcIixcbiAgc3ZlbmphOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL3N2ZW5qYS12aW5rZS53ZWJwXCIsXG4gIGJlcmVuczogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvYmVyZW5zLmpwZ1wiLFxuICBkcmFlZ2VyOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9vbGl2ZXItZHJhZWdlci1wYXRjaC1jbGFtcC5qcGVnXCIsXG4gIHdpbmtlbGphbm46IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL3JuaGFsZS13aW5rZWxqYW5uLmpwZ1wiLFxuICBrdWVobmVsOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1waGlsaXBway1obmVsLmpwZWcgXCIsXG4gIHdpc2NobWV5ZXI6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL3dpc2NobWV5ZXItZXJoYXJkLndlYnBcIixcbiAgbmljb2xlOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1mcmllZGxlaW4tbmljb2xlLmpwZ1wiLFxuICBqb3NodWE6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2pvc2h1YS5qcGdcIixcbiAgaGFtbWVyOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1oYW1tZXIud2VicFwiLFxuICBqb2hhbm5mdW5rZTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvaHAtbWljaGFlbGpvaGFubmZ1bmtlLndlYnBcIixcbiAga1x1MDBGQ2huZWw6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2hwLXBoaWxpcHBrLWhuZWwuanBlZyBcIixcbiAgbW9vcmxhY2g6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZGVsaXZlcnkvbW9vcmxhY2gud2VicCBcIixcbiAgY29yZGVuOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L2NvcmRlbi1ocC53ZWJwXCIsXG4gIG1hcmNvOiBcIiBodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvbWFyY28tcmF1a2ljLndlYnAgXCIsXG4gIHdlYmVyOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L3dlYmVyLndlYnBcIixcbiAgem95YTpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC96b3lhLWlnbmF0b3ZhLndlYnBcIixcbiAga2FpaGFtbWVyOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2ludGVyd2lldi1rYWkuanBlZ1wiLCBcbiAgbmlsc2hlZmU6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvbmlsc2hlZmUtaHAud2VicFwiLFxuICBneHBleHBlcnQ6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvZ3hwZXhwZXJ0LndlYnBcIixcbiAgZ3hwY291cnNlOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2theWFneHBleHBlcnQud2VicFwiLFxuICBsaW5rXHUwMEY2cGluZzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9saXUyMDI0LXJ1bmQud2VicFwiLFxuICBiaW9iYW5rOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2Jpb2Jhbmsud2VicFwiLFxuICBiZXRoZWw6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2xvZ28tZXZhbmdlbGlzY2hlcy1rbGluaWt1bS1iZXRoZWwud2VicFwiLFxuICBzYWl0bzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9ocC1tYWtvdG8tc2FpdG8uanBnXCIsXG4gIHBoeXNpazpcIiBodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9kZWxpdmVyeS9ocC11bmktbG9nby53ZWJwXCIsXG4gIGhhbm5vdmVybWVzc2U6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2hhbm5vdmVyLW1lc3NlLXN2Zy53ZWJwXCIsXG4gIGZyYW5rZnVydG1lc3NlOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9hY2hlbWEud2VicFwiLFxuICBkYXZpZDpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9saXUtdGFsay53ZWJwXCIsXG4gIHRldXRvOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9lZGNhdGlvbi1hbmQtb3V0cmVhY2gvdGV1dG9ydWZ0LWV4cGVybWluZXQuanBlZ1wiLFxuICBtaW50OiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9taW50c29tbWVybG9nby5wbmdcIixcbiAgc2NodWVsZXI6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2VkY2F0aW9uLWFuZC1vdXRyZWFjaC9zY2hpZWxlcmFrYWRlbWllLWxpc2EtZ3J1cHBlLmpwZ1wiLFxuICBtdWtvbW92ZTpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mb3Itd2lraS10ZXh0cy9wby1tdWtvbW92ZS93aXItcGxha2F0LW11a29tb3ZlLmpwZWdcIixcbiAgaGFrYW46XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvaGFrYW4ud2VicFwiLFxuICBzdGVtY2VsbDogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvc3RlbWNlbGxxdWFkcmF0LndlYnBcIixcbiAgbXVrb2Rpbm86IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL211a29kaW5vLndlYnBcIixcbiAgYnVpbGRpbmc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2J1aWxkaW5ndGhldGVhbS53ZWJwXCIsXG4gIGlkZWFzOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9waXRjaGluZ2lkZWFzLndlYnBcIixcbiAgbGFic3VwcGx5OiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9sYWJzdXBwbHktaW5mby53ZWJwXCIsXG4gIGhhbWJ1cmc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2dydXBwZW5iaWxkLWhhbWJ1cmcud2VicFwiLFxuICBzcmlyYW06IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL3NyaXJhbS5zdmdcIixcbiAgXG59O1xuXG4vKiB7XG4gICAgdm9ybmFtZTogXCJcIixcbiAgICBuYWNobm5hbWU6IFwiXCIsICBcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIHRhZzogXCJcIixcbiAgICBoZWFkaW5nOiBcIlwiLFxuICAgIGludGVydmlld3RhYmlkOiBcIlwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcIlwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgfSAqL1xuXG5cbiAgICAvKiBXSUNIVElHIVxuICAgICAgRmVobGVuZGUgSW5mb3MgZWluZmFjaCBsZWVyIGxhc3NlbiB1bmQga2VpbmUgRHVtbXktVGV4dGUgZWluZlx1MDBGQ2dlbiEgXG4gICAgKi9cblxuZXhwb3J0IGNvbnN0IHRpbWVsaW5lZGF0YTogQXJyYXk8VGltZWxpbmVEYXRlbnB1bmt0PiAgPSBbXG4gIHtcbiAgICB2b3JuYW1lOiBcIkJ1aWxkaW5nIHRoZSB0ZWFtXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2J1aWxkaW5nJ10sXG4gICAgam9iOiBcIlRlYW0gaUdFTVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkJpZWxmZWxkIENlQmlUZWMgMjAyNFwiLFxuICAgIHRhZzogXCJNaWxlc3RvbmVcIixcbiAgICBoZWFkaW5nOiBcIkRldmVsb3BtZW50IG9mIGEgbXVsdGlkaXNjaXBsaW5hcnkgdGVhbSBzdHJ1Y3R1cmVcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJyZWNydWl0aW5nXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGVOYWNobmFtZTpcIlppbW1lcm1hbm4sIEludHJ1Y3RvclwiLFxuICAgIHF1b3RlVm9ybmFtZTpcIlNpbmFuXCIsXG4gICAgcXVvdGU6IFwiTXkgZmlyc3QgY2hhbGxlbmdlIHdhcyBzZWxlY3RpbmcgdGhlIGlHRU0gdGVhbS4gSSBmb2N1c2VkIG9uIGNob29zaW5nIGNhbmRpZGF0ZXMgd2l0aCBzdHJvbmcgdGVjaG5pY2FsIHNraWxscyBhbmQgdGhlIGFiaWxpdHkgdG8gd29yayB3ZWxsIGluIGFuIGludGVyZGlzY2lwbGluYXJ5IHNldHRpbmcsIGFpbWluZyB0byBjcmVhdGUgYSBkaXZlcnNlIHRlYW0gd2l0aCBjb21wbGVtZW50YXJ5IHN0cmVuZ3Rocy5cIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBzdW1tYXJ5OiBbPHA+XG4gICAgICBCdWlsZGluZyBhIHN1Y2Nlc3NmdWwgaW50ZXJkaXNjaXBsaW5hcnkgdGVhbSwgbGlrZSB0aGUgb25lIGludm9sdmVkIGluIHRoaXMgaUdFTSBwcm9qZWN0LCByZXF1aXJlcyBjYXJlZnVsIGNvb3JkaW5hdGlvbiBhbmQgYSBzaGFyZWQgdmlzaW9uIGZvciBhZGRyZXNzaW5nIGNvbXBsZXggc2NpZW50aWZpYyBjaGFsbGVuZ2VzLiBUaGlzIHRlYW0gaXMgYW4gZXhjZWxsZW50IGV4YW1wbGUgb2YgaG93IGJyaW5naW5nIHRvZ2V0aGVyIGluZGl2aWR1YWxzIGZyb20gdmFyaW91cyBhY2FkZW1pYyBiYWNrZ3JvdW5kcyBmb3N0ZXJzIGlubm92YXRpb24gYW5kIGZhY2lsaXRhdGVzIHByb2JsZW0tc29sdmluZyBpbiB0aGUgZmllbGRzIG9mIHN5bnRoZXRpYyBiaW9sb2d5IGFuZCBiaW90ZWNobm9sb2d5LjwvcD4sXG4gICAgICA8cD48c3Ryb25nPlRoZSB0ZWFtIG1lbWJlcnMgY29tZSBmcm9tIGRpdmVyc2UgZmllbGRzIG9mIHN0dWR5LCBpbmNsdWRpbmcgTW9sZWN1bGFyIEJpb3RlY2hub2xvZ3ksIEJpb2luZm9ybWF0aWNzLCBNb2xlY3VsYXIgQ2VsbCBCaW9sb2d5LCBHZW5vbWUtQmFzZWQgU3lzdGVtIEJpb2xvZ3ksIEludGVyZGlzY2lwbGluYXJ5IEJpb21lZGljaW5lLCBhbmQgZXZlbiBNZWRpYSBQcm9kdWN0aW9uLjwvc3Ryb25nPjwvcD4sIDxwPlRoaXMgdmFyaWV0eSBvZiBleHBlcnRpc2UgYWxsb3dzIHRoZW0gdG8gYXBwcm9hY2ggcHJvYmxlbXMgZnJvbSBtdWx0aXBsZSBwZXJzcGVjdGl2ZXMsIGVuc3VyaW5nIHRoYXQgdGhlIHByb2plY3QgaXMgd2VsbC1yb3VuZGVkIGFuZCBjYXBhYmxlIG9mIGFkZHJlc3NpbmcgYm90aCBcbiAgICAgIGV4cGVyaW1lbnRhbCBhbmQgY29tcHV0YXRpb25hbCBjaGFsbGVuZ2VzLiBGb3IgaW5zdGFuY2UsIHdoaWxlIHRoZSBiaW90ZWNobm9sb2dpc3RzIGFuZCBtb2xlY3VsYXIgYmlvbG9naXN0cyBmb2N1cyBvbiBkZXNpZ25pbmcgYW5kIGNvbmR1Y3RpbmcgbGFiIGV4cGVyaW1lbnRzLCB0aGUgYmlvaW5mb3JtYXRpY2lhbnMgY29udHJpYnV0ZSBjcnVjaWFsIGluc2lnaHRzIGZvciBkYXRhIGFuYWx5c2lzIGFuZCBnZW5vbWUgc2VxdWVuY2luZy4gVGhlIGluY2x1c2lvbiBvZiBhIG1lZGlhIHByb2R1Y3Rpb24gZXhwZXJ0IGFkZHMgYW5vdGhlciBsYXllciB0byB0aGUgdGVhbVx1MjAxOXMgY2FwYWJpbGl0aWVzLCBlbnN1cmluZyB0aGF0IHNjaWVuY2UgY29tbXVuaWNhdGlvbiBhbmQgXG4gICAgICBwcm9qZWN0IGRvY3VtZW50YXRpb24gYXJlIGhhbmRsZWQgcHJvZmVzc2lvbmFsbHksIHdoaWNoIGlzIHBhcnRpY3VsYXJseSBpbXBvcnRhbnQgZm9yIHByZXNlbnRpbmcgdGhlaXIgd29yayBhdCBjb25mZXJlbmNlcyBhbmQgY29tcGV0aXRpb25zLlxuICAgICAgVGhlIG11bHRpZGlzY2lwbGluYXJ5IHN0cnVjdHVyZSBvZiB0aGlzIHRlYW0gZXZvbHZlZCBuYXR1cmFsbHkgYXMgdGhleSBpZGVudGlmaWVkIHRoZSBwcm9qZWN0XHUyMDE5cyBuZWVkcyBhbmQgcmVjcnVpdGVkIG1lbWJlcnMgd2hvIGNvdWxkIGZpbGwgc3BlY2lmaWMgcm9sZXMuIE92ZXIgdGltZSwgdGhpcyBtdWx0aWRpc2NpcGxpbmFyeSBzdHJ1Y3R1cmUgaGFzIGNvbnRpbnVlZCB0byBkZXZlbG9wIGFzIHRoZSB0ZWFtXHUyMDE5cyBwcm9qZWN0IGV2b2x2ZWQuIFJvbGVzIGJlY2FtZSBtb3JlIGRlZmluZWQgYXMgdGVhbSBtZW1iZXJzIHRvb2sgb24gc3BlY2lmaWMgcmVzcG9uc2liaWxpdGllcywgd2hldGhlciBpdCB3YXMgcmVmaW5pbmcgcHJpbWUgZWRpdGluZyBzeXN0ZW1zIG9yIGNyYWZ0aW5nIFxuICAgICAgY29tbXVuaWNhdGlvbiBzdHJhdGVnaWVzIGZvciBpR0VNLiBUaGUgcmFuZ2Ugb2YgZXhwZXJpZW5jZSBhY3Jvc3MgdGhlIHRlYW0sIGZyb20geW91bmdlciBzdHVkZW50cyBsaWtlIFZpbmNlbnQgQ2FybCBTdFx1MDBGNmNrbCBpbiB0aGUgZWFybHkgc3RhZ2VzIG9mIHRoZWlyIGFjYWRlbWljIGNhcmVlcnMgdG8gbW9yZSBhZHZhbmNlZCBzdHVkZW50cyBpbiBsYXRlciBzZW1lc3RlcnMsIGFsbG93cyBmb3IgYSBibGVuZCBvZiBmcmVzaCBwZXJzcGVjdGl2ZXMgYW5kIHNlYXNvbmVkIGV4cGVydGlzZS4gVGhpcyBiYWxhbmNlIGhlbHBzIGVuc3VyZSBib3RoIHRoZSBpbW1lZGlhdGUgc3VjY2VzcyBvZiB0aGUgcHJvamVjdCBhbmQgdGhlIGNvbnRpbnVpdHkgb2YgaXRzIHByb2dyZXNzIGluIHRoZSBmdXR1cmUuXG4gICAgICBJbiBzdW1tYXJ5LCB0aGlzIGludGVyZGlzY2lwbGluYXJ5IGlHRU0gdGVhbSBkZW1vbnN0cmF0ZXMgaG93IGEgZGl2ZXJzZSBncm91cCBvZiBpbmRpdmlkdWFscyB3aXRoIHNwZWNpYWxpemVkIHNraWxscyBjYW4gY29tZSB0b2dldGhlciB0byB0YWNrbGUgYSBjb21wbGV4IGJpb2xvZ2ljYWwgcHJvamVjdC4gQnkgY29tYmluaW5nIHRoZWlyIGV4cGVydGlzZSBpbiBtb2xlY3VsYXIgYmlvbG9neSwgYmlvaW5mb3JtYXRpY3MsIGNlbGwgYmlvbG9neSwgYW5kIG1lZGlhIHByb2R1Y3Rpb24sIHRoZSB0ZWFtIGlzIGFibGUgdG8gZXhlY3V0ZSB0aGVpciBwcm9qZWN0IGhvbGlzdGljYWxseSwgZW5zdXJpbmcgdGhhdCBlYWNoIGFzcGVjdCwgZnJvbSBleHBlcmltZW50YWwgZGVzaWduIHRvIHB1YmxpYyBvdXRyZWFjaCwgaXMgaGFuZGxlZCB3aXRoIHByZWNpc2lvbiBhbmQgY3JlYXRpdml0eS48L3A+XSxcbiAgICBtb250aHM6IFwiRmVicnVhcnlcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJQaXRjaGluZyBpZGVhc1wiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydpZGVhcyddLFxuICAgIGpvYjogXCJUZWFtIGlHRU1cIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaWVsZmVsZCBDZUJpVGVjIDIwMjRcIixcbiAgICB0YWc6IFwiTWlsZXN0b25lXCIsXG4gICAgaGVhZGluZzogXCJHZXR0aW5nIEFjcXVhaW50ZWQgd2l0aCBDeXN0aWMgRmlicm9zaXNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJmaXJzdHByZXNpXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJLXHUwMEY2aGxlciwgVGVhbW1lbWJlclwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJWZXJhXCIsXG4gICAgcXVvdGU6IFwiRmlyc3RseSwgd2UgZGlzY3Vzc2VkIHZhcmlvdXMgcHJvamVjdCBpZGVhcywgaW5jbHVkaW5nIHRoZSB1c2Ugb2YgbWFnbmV0aWMgbWljcm9zd2ltbWVycyBmb3IgdGFyZ2V0ZWQgbWVkaWNhbCBhcHBsaWNhdGlvbnMsIGdlbmUgZWRpdGluZyBhcHByb2FjaGVzIGZvciBjeXN0aWMgZmlicm9zaXMsIHRyZWF0bWVudHMgZm9yIG11c2N1bGFyIGR5c3Ryb3BoeSBhbmQgY29tYmF0aW5nIGN5YW5vYmFjdGVyaWEgd2l0aCBhbGdhZS5cIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBzdW1tYXJ5OiBbPHA+RHVyaW5nIG91ciBpbml0aWFsIGRpc2N1c3Npb25zIGFib3V0IHByb2plY3QgaWRlYXMsIHRoZSB0ZWFtIGV4cGxvcmVkIHNldmVyYWwgaW5ub3ZhdGl2ZSBjb25jZXB0cyBiZWZvcmUgaG9uaW5nIGluIG9uIDxzdHJvbmc+Y3lzdGljIGZpYnJvc2lzPC9zdHJvbmc+LiBFYWNoIHByb2plY3QgcHJlc2VudGVkIHVuaXF1ZSBzY2llbnRpZmljIGNoYWxsZW5nZXMgYW5kIHBvdGVudGlhbCBpbXBhY3RzLjwvcD4sXG4gICAgICA8cD5PbmUgaWRlYSBpbnZvbHZlZCB0aGUgZGV2ZWxvcG1lbnQgb2YgPHN0cm9uZz5tYWduZXRpYyBtaWNyb3N3aW1tZXJzPC9zdHJvbmc+IGRlc2lnbmVkIGZvciB0YXJnZXRlZCBjYW5jZXIgdGhlcmFweSwgcGFydGljdWxhcmx5IGZvciBvdmFyaWFuIGNhbmNlci4gVGhlIHByb3Bvc2FsIGFpbWVkIHRvIG92ZXJjb21lIHRoZSBsaW1pdGF0aW9ucyBvZiB0cmFkaXRpb25hbCB0cmVhdG1lbnRzLCBzdWNoIGFzIHJhZGlvdGhlcmFweSBhbmQgY2lzcGxhdGluLCB3aGljaCBvZnRlbiBkYW1hZ2UgaGVhbHRoeSBjZWxscyBhbmQgcmVzdWx0IGluIG51bWVyb3VzIHNpZGUgZWZmZWN0cy4gVGhlIG1pY3Jvc3dpbW1lcnMgd291bGQgYmUgYmlvZGVncmFkYWJsZSBhbGdhZS1iYXNlZCB2ZWhpY2xlcywgbWFnbmV0aWNhbGx5IGd1aWRlZCB0byBkZWxpdmVyIGRydWdzIGRpcmVjdGx5IHRvIGNhbmNlcm91cyBjZWxscyB3aGlsZSBtaW5pbWl6aW5nIGRhbWFnZSB0byBzdXJyb3VuZGluZyB0aXNzdWUuIFRoaXMgYXBwcm9hY2ggb2ZmZXJlZCBhIG5vdmVsLCBub24taW52YXNpdmUgdGFyZ2V0aW5nIG1lY2hhbmlzbSwgbGV2ZXJhZ2luZyB0aGUgcG90ZW50aWFsIG9mIG1hZ25ldGljIGZpZWxkcyB0byBkaXJlY3QgdGhlIHN3aW1tZXJzIHByZWNpc2VseSB0byB0aGUgYWZmZWN0ZWQgYXJlYXMuPC9wPixcbiAgICAgIDxwPkFub3RoZXIgY29tcGVsbGluZyBwcm9qZWN0IHdhcyBmb2N1c2VkIG9uIDxzdHJvbmc+RHVjaGVubmUgbXVzY3VsYXIgZHlzdHJvcGh5IChETUQpPC9zdHJvbmc+LiBUaGlzIGdlbmV0aWMgZGlzb3JkZXIgbGVhZHMgdG8gbXVzY2xlIGRlZ2VuZXJhdGlvbiBhcyBtdXNjbGUgdGlzc3VlIGlzIGdyYWR1YWxseSByZXBsYWNlZCBieSBmaWJyb3RpYyB0aXNzdWUuIFRoZSB0ZWFtIHByb3Bvc2VkIHNldmVyYWwgdHJlYXRtZW50IGFwcHJvYWNoZXMsIGluY2x1ZGluZyBleG9uIHNraXBwaW5nIGFuZCBnZW5lIHRoZXJhcHkgdXNpbmcgdmlyYWwgdmVjdG9ycy4gS2V5IHN0cmF0ZWdpZXMgaW5jbHVkZWQgZW5oYW5jaW5nIENhcyBwcm90ZWluIGVmZmljaWVuY3kgdGhyb3VnaCBlbmdpbmVlcmluZywgdXNpbmcgbGlwb3NvbWFsIHZlY3RvcnMgZm9yIGdlbmUgZGVsaXZlcnksIGFuZCBjb21iaW5pbmcgQ1JJU1BSIHRlY2hub2xvZ3kgd2l0aCBpbnRlZ3Jhc2UgZnVzaW9uIHByb3RlaW5zLiBUaGUgdGVhbSBhbHNvIGRpc2N1c3NlZCBwcmV2aW91cyBpR0VNIHByb2plY3RzIHRoYXQgaGFkIGV4cGxvcmVkIHNpbWlsYXIgbWV0aG9kb2xvZ2llcywgZW1waGFzaXppbmcgdGhlIG5lZWQgZm9yIHNwZWNpZmljaXR5IGFuZCBlZmZpY2FjeSBpbiBkZWxpdmVyaW5nIHRoZXJhcGV1dGljIGdlbmVzLjwvcD4sXG4gICAgICA8cD5XZSBhbHNvIGNvbnNpZGVyZWQgYSBwcm9qZWN0IGFpbWVkIGF0IHByZXZlbnRpbmcgPHN0cm9uZz5jeWFub2JhY3RlcmlhIGJsb29tczwvc3Ryb25nPiB1c2luZyBwZXB0aWRlcyBvciBwcm90ZWlucyBkZXJpdmVkIGZyb20gYWxnYWUuIEN5YW5vYmFjdGVyaWEgY2FuIHByb2R1Y2UgaGFybWZ1bCB0b3hpbnMgdGhhdCBkZWdyYWRlIHdhdGVyIHF1YWxpdHkgYW5kIHRocmVhdGVuIGVjb3N5c3RlbXMuIFRoZSBwcm9wb3NlZCBhcHByb2FjaCBmb2N1c2VkIG9uIHV0aWxpemluZyBuYXR1cmFsIGFsZ2FlIHRvIGRldmVsb3AgbWVjaGFuaXNtcyB0aGF0IGluaGliaXQgdGhlIGdyb3d0aCBvZiBoYXJtZnVsIGN5YW5vYmFjdGVyaWEgd2l0aG91dCBkaXNydXB0aW5nIHRoZSBlY29zeXN0ZW0uIFRoaXMgcHJvamVjdCBlbXBoYXNpemVkIGNvbnNlcnZhdGlvbiBhbmQgYmlvZGl2ZXJzaXR5IHdoaWxlIGFkZHJlc3NpbmcgYSBzaWduaWZpY2FudCBlbnZpcm9ubWVudGFsIGlzc3VlIGxpbmtlZCB0byB0aGUgY2xpbWF0ZSBjcmlzaXMuPC9wPixcbiAgICAgIDxwPlRocm91Z2hvdXQgb3VyIGRpc2N1c3Npb25zLCB3ZSByZWNvZ25pemVkIHRoYXQgd2hpbGUgZWFjaCBwcm9qZWN0IGhhZCBtZXJpdCwgdGhlIDxzdHJvbmc+Y3lzdGljIGZpYnJvc2lzPC9zdHJvbmc+IGluaXRpYXRpdmUgb2ZmZXJlZCB0aGUgbW9zdCBwcm9taXNlIGZvciBhIHRhcmdldGVkIGFwcHJvYWNoIHRvIGEgd2VsbC1kZWZpbmVkIHByb2JsZW0uIENGLCBhZmZlY3RpbmcgYSBzdWJzdGFudGlhbCBudW1iZXIgb2YgaW5kaXZpZHVhbHMsIHByb3ZpZGVkIGEgY2xlYXIgb3Bwb3J0dW5pdHkgZm9yIG1lYW5pbmdmdWwgaW1wYWN0IHRocm91Z2ggZ2VuZSB0aGVyYXB5LiBUaGUgaW5zaWdodHMgZ2FpbmVkIGZyb20gb3VyIGV4YW1pbmF0aW9uIG9mIG90aGVyIHByb2plY3RzIGluZm9ybWVkIG91ciBhcHByb2FjaCB0byBDRiwgYWxsb3dpbmcgdXMgdG8gaW50ZWdyYXRlIGtub3dsZWRnZSBmcm9tIGRpdmVyc2UgZmllbGRzIGFuZCBtZXRob2RvbG9naWVzLCB1bHRpbWF0ZWx5IHNoYXBpbmcgYSBjb21wcmVoZW5zaXZlIGFuZCBpbm5vdmF0aXZlIHByb2plY3QgZGlyZWN0aW9uLjwvcD5cbiAgICAgIF0sXG4gICAgbW9udGhzOiBcIk1hcmNoXCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiSWRlYXRpb24gaW4gSGFtYnVyZ1wiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydoYW1idXJnJ10sXG4gICAgam9iOiBcIlRlYW0gaUdFTVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkJpZWxmZWxkIENlQmlUZWMgMjAyNFwiLFxuICAgIHRhZzogXCJNaWxlc3RvbmVcIixcbiAgICBoZWFkaW5nOiBcIkJyYWluc3Rvcm1pbmcgYW5kIHNlbGVjdGlvbiBvZiBpZGVhcyBhbmQgY29uY2VwdHMgYXQgdGVhbSB3ZWVrZW5kIGluIEhhbWJ1cmdcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJpZGVhc1wiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIlRoYW5rcyB0byBvdXIgaW4tZGVwdGggcmVzZWFyY2ggcGhhc2UsIHdlIHdlcmUgYWJsZSB0byBnYXRoZXIgbWFueSBpbnNpZ2h0ZnVsIGlkZWFzLiBUaGUgd29ya3Nob3Agd2FzIGhpZ2hseSBwcm9kdWN0aXZlIGFuZCBtb3ZlZCB1cyBzaWduaWZpY2FudGx5IGZvcndhcmQsIGFsbG93aW5nIHVzIHRvIGdhaW4gYSBjbGVhciB2aXNpb24gb2Ygb3VyIHByb2plY3QgYnkgdGhlIGVuZCBvZiB0aGUgZGF5LlwiLFxuICAgIHF1b3RlVm9ybmFtZTpcIkthdGhsZWVuXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJTdXNhdCwgVGVhbW1lbWJlclwiLFxuICAgIHR5cGU6IFwibWV0YVwiLFxuICAgIHN1bW1hcnk6IFs8cD5Gcm9tIEFwcmlsIDV0aCB0byA3dGgsIHdlIGVtYmFya2VkIG9uIGFuIGVucmljaGluZyBleGN1cnNpb24gZGVkaWNhdGVkIHRvIHByb2plY3Qgd29yayBhbmQgdGVhbSBidWlsZGluZy4gT3VyIHByaW1hcnkgZ29hbCB3YXMgdG8gZW5nYWdlIGluIG1lYW5pbmdmdWwgYnJhaW5zdG9ybWluZyBzZXNzaW9ucyBmb2N1c2VkIG9uIG91ciBpR0VNIHByb2plY3QgYW5kIHRvIGV4cGxvcmUgaHVtYW4gcHJhY3RpY2VzIHRob3JvdWdobHkuIFdlIGtpY2tlZCBvZmYgb3VyIHdlZWtlbmQgd2l0aCBhIHNlcmllcyBvZiBkaXNjdXNzaW9ucyB0aGF0IGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgY29uc2lkZXJpbmcgdGhlIGltcGFjdCBvZiBvdXIgd29yayBvbiB0aGUgd29ybGQuXG4gICAgICBUaHJvdWdob3V0IG91ciB0aW1lIGluIEhhbWJ1cmcsIHdlIGRlZGljYXRlZCBzZXZlcmFsIGhvdXJzIHRvIHJlYWRpbmcgcmVsZXZhbnQgbGl0ZXJhdHVyZSBhbmQgcmVzZWFyY2ggcGFwZXJzLCBib3RoIGluZGl2aWR1YWxseSBhbmQgaW4gZ3JvdXBzLiBUaGlzIGNvbGxhYm9yYXRpdmUgZWZmb3J0IGFsbG93ZWQgdXMgdG8gZGVlcGVuIG91ciB1bmRlcnN0YW5kaW5nIG9mIGV4aXN0aW5nIHByb2plY3RzIGFuZCBpbm5vdmF0aW9ucyBpbiBvdXIgZmllbGQuIFdlIGNyaXRpY2FsbHkgYW5hbHl6ZWQgcHJldmlvdXMgaUdFTSBwcm9qZWN0cyBhbmQgZXhwbG9yZWQgd2hvIGhhZCB3b3JrZWQgb24gc2ltaWxhciBpZGVhcywgd2hpY2ggaGVscGVkIHVzIGlkZW50aWZ5IGdhcHMgaW4gdGhlIHJlc2VhcmNoIGFuZCBwb3RlbnRpYWwgYXZlbnVlcyBmb3Igb3VyIG93biBwcm9qZWN0LlxuICAgICAgT3VyIGRpc2N1c3Npb25zIG5hdHVyYWxseSBmbG93ZWQgaW50byBicmFpbnN0b3JtaW5nIHNlc3Npb25zIHdoZXJlIHdlIHJlZmxlY3RlZCBvbiB0aGUgaW1wYWN0cyB3ZSB3YW50ZWQgdG8gYWNoaWV2ZS4gV2UgZXhwbG9yZWQgZXNzZW50aWFsIHF1ZXN0aW9uczogV2hhdCBlZmZlY3RzIGRvIHdlIGFpbSB0byBoYXZlIG9uIHNvY2lldHk/IFdoYXQgYWN0aXZpdGllcyBjYW4gd2UgcGxhbiB0byBnYXRoZXIgZXZpZGVuY2UgYWJvdXQgaG93IG91ciB3b3JrIHdpbGwgcmVzb25hdGUgd2l0aCB0aGUgY29tbXVuaXR5PyBIb3cgY2FuIHdlIGVmZmVjdGl2ZWx5IGVuZ2FnZSB3aXRoIHN0YWtlaG9sZGVycyBhbmQgc2hhcmUgb3VyIGZpbmRpbmdzP1xuICAgICAgSW4gYWRkaXRpb24gdG8gc3RydWN0dXJlZCBicmFpbnN0b3JtaW5nLCB3ZSBleGNoYW5nZWQgaWRlYXMgaW5mb3JtYWxseSBkdXJpbmcgYnJlYWtzIGFuZCBtZWFscywgZm9zdGVyaW5nIGEgY3JlYXRpdmUgYXRtb3NwaGVyZS4gQnkgdGhlIGVuZCBvZiB0aGUgd2Vla2VuZCwgd2UgaGFkIG5vdCBvbmx5IHN0cmVuZ3RoZW5lZCBvdXIgdGVhbSBib25kcyBidXQgYWxzbyBjbGFyaWZpZWQgb3VyIHZpc2lvbiBmb3IgdGhlIHByb2plY3QgYWhlYWQuIFRoZSBpbnNpZ2h0cyBnYWluZWQgZnJvbSBvdXIgZGlzY3Vzc2lvbnMgYW5kIHJlYWRpbmdzIGxhaWQgYSBzb2xpZCBmb3VuZGF0aW9uIGZvciBvdXIgZnV0dXJlIHdvcmssIGFsbG93aW5nIHVzIHRvIGFwcHJvYWNoIG91ciBwcm9qZWN0IHdpdGggcmVuZXdlZCBmb2N1cyBhbmQgcHVycG9zZS48L3A+XSxcbiAgICBtb250aHM6IFwiTWFyY2hcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJNYXhcIixcbiAgICBuYWNobm5hbWU6IFwiQmVja21hbm5cIixcbiAgICBqb2I6IFwiUGF0aWVudCBhbmQgU3R1ZGVudFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkJpZWxlZmVsZCBVbml2ZXJzaXR5XCIsXG4gICAgcGljdHVyZXVybDogcGljc1snbWF4J10sXG4gICAgdGFnOiBcIlBhdGllbnRcIixcbiAgICBoZWFkaW5nOiBcIkdhdGhlcmluZyB2YWx1YWJsZSBpbnNpZ2h0cyBmcm9tIHRoZSBwYXRpZW50XHUyMDE5cyBwZXJzcGVjdGl2ZVwiLFxuICAgIGludGVydmlld3RhYmlkOiBcIm1heGZpcnN0XCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZU5hY2huYW1lOlwiQmVja21hbm4sIFBhdGllbnRcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiTWF4XCIsXG4gICAgcXVvdGU6IFwiQSBmcmllbmQgb2YgbWluZSB3aXRoIGN5c3RpYyBmaWJyb3NpcyByZWNlbnRseSBnb3QgYSBmdW5nYWwgaW5mZWN0aW9uIHRoYXQgaGUgY2FuJ3QgZ2V0IHJpZCBvZi4gSGlzIHNpdHVhdGlvbiByZWFsbHkgc3RydWNrIG1lOyBpdCBzaG93ZWQgaG93IHF1aWNrbHkgYSBzZWVtaW5nbHkgbWlub3IgaXNzdWUgY2FuIHdvcnNlbiBhIHBlcnNvbidzIGxpZmUsIGVzcGVjaWFsbHkgZm9yIHNvbWVvbmUgbGlrZSB1cy4gSXRcdTIwMTlzIGEgc3Ryb25nIHJlbWluZGVyIG9mIGhvdyBmcmFnaWxlIG91ciBoZWFsdGggaXMgYW5kIGhvdyBmYXN0IHRoaW5ncyBjYW4gY2hhbmdlIHdpdGhvdXQgd2FybmluZy5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5XaGVuIENGIGNhbWUgdXAgYXMgYSBwb3NzaWJsZSB0b3BpYywgd2UgcmVhY2hlZCBvdXQgdG8gYSB0ZWFtbWF0ZSdzIGZyaWVuZCBNYXggaW4gdGhlIGhvcGVzIG9mIGdldHRpbmcgaW5zaWdodHMgaW50byB0aGUgbmVlZHMgb2YgQ0YgcGF0aWVudHMgYW5kIGN1cnJlbnQgdHJlYXRtZW50cyB0byB2ZXJpZnkgdGhlIG5lZWQgZm9yIGZ1cnRoZXIgdHJlYXRtZW50IG9wdGlvbnMuXG4gICAgICBTaW5jZSBoZSB3YXMgbXVjaCBtb3JlIGVudGh1c2lhc3RpYyBhbmQgb3BlbiBmb3IgZGlzY3Vzc2lvbiB0aGFuIHdlIGRhcmVkIHRvIGhvcGUsIHdlIGV4dGVuZGVkIG91ciBleGNoYW5nZXMgaW50byB0aGUgcmVhbG1zIG9mIHRoZSByZWFsaXR5IG9mIGxpZmUgZm9yIENGIHBhdGllbnRzLCBwb3NzaWJsZSBwcm9ncmVzc2lvbnMsIG9yZ2FuaXphdGlvbnMgYW5kIGRvY3RvcnMgaW4gb3VyIGFyZWEgYW5kIGhpcyBwZXJzb25hbCBwZXJzcGVjdGl2ZXMgYW5kIHZhbHVlcy5cbiAgICAgIFRoZSBpbnRlcmVzdCBpbiBtZWV0aW5nIGhpbSBncmV3IGluIHRoZSB3aG9sZSB0ZWFtIGFuZCB3ZSBpbnZpdGVkIGhpbSB0byBvbmUgb2Ygb3VyIG1lZXRpbmdzLiAgIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPD48cD5IaXMgaG9uZXN0IGFuZCBvcGVuIGFuc3dlcnMgdG8gdXMsIG1vc3RseSBub3RoaW5nIG1vcmUgdGhhbiBzdHJhbmdlcnMgdG8gaGltLCB3ZXJlIHRvdWNoaW5nIGFuZCBsZXQgdGhlIHNlcmlvdXNuZXNzIG9mIENGIHNldCBpbi5cbiAgICAgIExlYXJuaW5nIGFib3V0IHRoZSBjaGFsbGVuZ2VzIGhlIGZhY2VkIGZlbHQgaGVhdnksIGJlc2lkZXMgaGltIGJlaW5nIGluIHJlbGF0aXZlbHkgZ29vZCBoZWFsdGggYW5kIGhhdmluZyBhIGdvb2QgbGlmZSBxdWFsaXR5IGZvciBhIENGIHBhdGllbnQuXG4gICAgPC9wPlxuICAgICAgPHA+QWRkaXRpb25hbCB0byB0aGUgaW50ZXJwZXJzb25hbCBlZmZlY3RzIG9mIG91ciBkaXNjdXNzaW9uLCBNYXggZ2F2ZSB1cyB0aGUgcmVhc29ucyB0byBjb250aW51ZSB3aXRoIGdlbmUgdGhlcmFweSBhcHByb2FjaCB3aGlsZSBmb2N1c2luZyBvbiB0aGUgbHVuZzpcbiAgICAgICAgTW9kdWxhdG9ycyBkbyBub3QgZXJhc2UgYWxsIHN5bXB0b21zLlxuICAgICAgICBUaGVyZSBpcyBhIGtlZW4gaW50ZXJlc3QgZm9yIG5ldyB0cmVhdG1lbnRzIGluIHRoZSBDRiBjb21tdW5pdHkuXG4gICAgICAgIFRoZSB0aGUgZGVjcmVhc2luZyBsdW5nIGZ1bmN0aW9uYWxpdHkgaXQgdGhlIG1vc3QgbGltaXRpbmcuXG4gICAgICAgIFRoZSBpbW1lbnNlIGltcGFjdCBvZiB0cmVhdG1lbnRzIG9uIHRoZSBsaWZlIHF1YWxpdHkuICA8L3A+XG4gICAgICA8cD5XZSBnb3QgbmV3IGluc2lnaHRzIHRoYXQgbW90aXZhdGVkIHVzIHRvIGRldmVsb3AgYSBuZXcgdHJlYXRtZW50LCB0byB0cmVhdCB0aGUgc2V2ZXJlIHN5bXB0b21lc1xuICAgICAgICBUaGUgbmVlZCBmb3IgYSBjYWxvcmllIHJpY2ggZGlldCBhbmQgZGlnZXN0aXZlIHByb2JsZW1zLlxuICAgICAgICBUaGUgZnJlcXVlbmN5IG9mIGNoZWNrdXBzIG5lZWRlZC5cbiAgICAgICAgSG93IHZhc3RseSBkaWZmZXJlbnQgdGhlIHByb2dyZXNzaW9ucyBjYW4gYmUuXG4gICAgICAgIFRoZSBpbmNyZWFzZWQgbmVlZCBmb3IgaHlnaWVuZSB0byBwcmV2ZW50IGluZmVjdGlvbnMuXG4gICAgICAgIFRoZSBoaWdoIHByaWNlIG9mIG1lZGljaW5lcyBhbmQgaW5kdXZpYWwgdGhlcmFwZXV0aWNzLiA8L3A+XG4gICAgICA8cD5BZnRlcndhcmRzLCB3ZSByZWZsZWN0ZWQgb24gdGhlIGRpc2N1c3Npb24gYW5kIGFza2VkIG91ciB0ZWFtIG1lbWJlcnMgd2hhdCBzdHVjayB3aXRoIHRoZW06XG4gICAgICAgIFx1MjAxQ0hvdyBtdWNoIGF0dGVudGlvbiBoYXMgdG8gYmUgcGFpZCB0byBldmVyeXRoaW5nIGluIGV2ZXJ5ZGF5IGxpZmUsIEkgaGFkbid0IGV2ZW4gdGhvdWdodCBhYm91dCBwcm9ibGVtcyBhdCB0aGUgaGFpcmRyZXNzZXIuXHUyMDFEXG4gICAgICAgIFx1MjAxQ1NpbXBseSB0aGF0IGhlIHdhcyB0aGVyZSBhbmQgcmVwb3J0ZWQgZXZlcnl0aGluZyBpbiBzdWNoIGRldGFpbC4gRnJvbSBtaW51dGUgMSwgSSBoYWQgcGVybWFuZW50IGdvb3NlYnVtcHMgYmVjYXVzZSBJIHdhcyBzbyBtb3ZlZCBieSB0aGlzIHN0b3J5LiBJIHRoaW5rIGl0J3MgZ3JlYXQgaG93IGhlIHN0YW5kcyBoaXMgZ3JvdW5kIGluIGxpZmUsIGRvZXMgd2hhdCBoZSB3YW50cyB0byBkbyBhbmQgd2hhdCBkZWZpbmVzIGhpbSBhcyBhIHBlcnNvbi4gSXQgZGlkbid0IHNlZW0gYXMgaWYgaGlzIGxpZmUgd2FzIGRldGVybWluZWQgYnkgQ0YuIEkgc29tZWhvdyBleHBlY3RlZCBpdCB0byBiZSBkaWZmZXJlbnQsIGV2ZW4gaWYgdGhhdCBzb3VuZHMgYSBiaXQgc2lsbHkuXHUyMDFEXG4gICAgICAgIFx1MjAxQ1RoZSBhbW91bnQgb2YgbWVkaWNhdGlvbiBhbmQgaG93IGV4cGVuc2l2ZSBpdCBpcy5cdTIwMURcbiAgICAgICAgXCJUaGUgc3RhdGVtZW50IHRoYXQgbGVmdCB0aGUgYmlnZ2VzdCBpbXByZXNzaW9uIGZvciBtZSB3YXMgd2hlbiBNYXggd2FzIHRlbGxpbmcgYWJvdXQgYSBmcmllbmQgb2YgaGlzIGFuZCBmZWxsb3cgQ0YgcGF0aWVudCB3aG8gY2F1Z2h0IGEgZnVuZ2kgaW5mZWN0aW9uIHdoaWNoIGhlIG5vdyBjYW5ub3QgZ2V0IHJpZCBvZiBhbnltb3JlLCBzaG93aW5nIGhvdyBmYXN0IGEgc2VlbWluZ2x5IGxpdHRsZSBpbmZlY3Rpb24gY2FuIGNoYW5nZSB0aGUgbGlmZSBvZiBhIENGIHBhdGllbnQgZm9yIHRoZSB3b3JzZSB3aXRob3V0IGFueSBraW5kIG9mIHdhcm5pbmcuXHUyMDFEXG4gICAgICAgIFx1MjAxQ1RoZSB2YXJpYW5jZSBpbiB0aGUgZXh0ZW50IG9mIHRoZSBsaW1pdGF0aW9ucyBvZiB0aGUgZGlzZWFzZSBpbiBkaWZmZXJlbnQgcGF0aWVudHMsIGluY2x1ZGluZyBob3cgdGhlIGRpc2Vhc2UgZGlmZmVycyBpbiBpdHMgc2V2ZXJpdHksIGV2ZW4gaW4gcGF0aWVudHMgb2YgdGhlIHNhbWUgYWdlLlx1MjAxRFxuICAgICAgICBcdTIwMUNIb3cgcG9zaXRpdmVseSBhbmQgY2FsbWx5IE1heCBkZWFscyB3aXRoIGhpcyBpbGxuZXNzIGJ1dCBoYXMgYWxzbyBwb2ludGVkIG91dCB0aGF0IGhlIGlzIGx1Y2t5LCBhbmQgdGhhdCBvdGhlciBwZW9wbGUgYXJlIG11Y2ggd29yc2Ugb2ZmIC0gaG93IG11Y2ggeW91IGhhdmUgdG8gcGF5IGF0dGVudGlvbiB0byBsaXR0bGUgdGhpbmdzIHRoYXQgeW91IHdvdWxkbid0IGhhdmUgZXhwZWN0ZWQgYXMgYSBoZWFsdGh5IHBlcnNvbi5cdTIwMUQgPC9wPlxuICAgIDwvPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8PiA8cD5UaGlzIG1vc3QgaW1wb3J0YW50IGFzcGVjdCBvZiB0aGlzIG1lZXRpbmcgd2FzIGxlc3MgYW4gaW5zaWdodCwgYnV0IHRoZSBmYWN0IE1heCBoZWxwZWQgdXMgdG8gcHV0IGEgZmFjZSB0byBhbiBhYnN0cmFjdCBpZGVhLiBNYW55IG9mIG91ciBpZGVhcyB0byB0cmVhdCBDRiB3ZXJlIGludGVyZXN0aW5nIGFuZCBhZHZlbnR1cm91cyBidXQgbWVldGluZyBoaW0gcHV0IGEgbG90IGludG8gcGVyc3BlY3RpdmUuIDwvcD5cbiAgICAgIDxwPk1heCBwbGF5ZWQgYSBzaWduaWZpY2FudCByb2xlIGluIHNoYXBpbmcgb3VyIHByb2plY3QgZnJvbSB0aGUgb3V0c2V0LCBwYXJ0aWN1bGFybHkgaW4gZ3VpZGluZyBvdXIgZm9jdXMgb24gSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXMgW0xpbmsgQmVzdCBIUF0gYW5kIFNhZmV0eSAmIFNlY3VyaXR5IFtMaW5rIEJlc3QgQmlvc2FmZXR5XSBhcyBzcGVjaWFsIHByaXplcy4gVGhyb3VnaCBvdXIgZGlzY3Vzc2lvbnMsIHdlIHJlY29nbml6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgdGhlc2UgYXNwZWN0cyBpbiBkZXZlbG9waW5nIHRoZSBiZXN0IHBvc3NpYmxlIGN1cmUuIFRoaXMgY29sbGFib3JhdGl2ZSBlZmZvcnQgbGVkIHVzIHRvIHBpdm90IG91ciB0YXJnZXQgZnJvbSB0aGUgcGFuY3JlYXMgdG8gdGhlIGx1bmcgYW5kIG1vdmUgYXdheSBmcm9tIGEgZGlhZ25vc3RpYyBhcHByb2FjaC4gSGlzIGNvbnRyaWJ1dGlvbnMgbm90IG9ubHkgcHJvdmlkZWQgdmFsdWFibGUgaW5zaWdodHMgYnV0IGFsc28gZm9zdGVyZWQgYSBzdHJvbmcgcGVyc29uYWwgaW52ZXN0bWVudCBpbiBvdXIgcHJvamVjdC48L3A+PC8+XSxcbiAgICBwaWN0dXJldXJsX2ltcGxlbWVudGF0aW9uOiBcIlwiLFxuICAgIGludGVydmlldzogPD48UWFCb3ggcT1cIkhvdyBhbmQgd2hlbiB3ZXJlIHlvdSBmaXJzdCBkaWFnbm9zZWQ/IFwiIGE9XCJXaGVuIEkgd2FzIGFib3V0IG9uZSB5ZWFyIG9sZC4gTXkgbW90aGVyIGRpZCBub3QgZG8gYW55IHNjcmVlbmluZ3Mgb3IgcHJlbmF0YWwgdGVzdGluZy4gSSB3YXMgaW4gcGFpbiBidXQgYXMgYW4gaW5mYW50IHlvdSBjYW5ub3Qgc2F5IHRoYXQsIHNvIEkgc2NyZWFtZWQgYSBsb3QuIE1hbnkgZG9jdG9ycyBzaHJ1ZyB0aGF0IG9mZiBpbiBzbWFsbCBjaGlsZHJlbiBidXQgYWZ0ZXIgc29tZSB0aW1lIGEgc3dlYXQgdGVzdCB3YXMgZG9uZSBhdCB0aGUgY2hpbGRyZW4ncyBjbGluaWMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBkbyB5b3UgdGhpbmsgYWJvdXQgZGlhZ25vc2luZyB2aWEgc3dlYXQgdGVzdHM/XCIgYT1cIkkgYW0gYSBjbGVhciBvcHBvbmVudCBvZiBkaWFnbm9zaW5nIHZpYSBzd2VhdCB0ZXN0cywgZXNwZWNpYWxseSBpZiBpdCBpcyB1c2VkIHRvIHJ1bGUgb3V0IENGIGFuZCBwZW9wbGUgaGF2ZSBhdHlwaWNhbCBDRiwgYmVjYXVzZSBvZiB3aGljaCB0aGV5IGRvIG5vdCBnZXQgZGlhZ25vc2VkIGJlY2F1c2Ugb2YgdGhhdC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IHN5bXB0b21zIGRvIHlvdSBoYXZlP1wiIGE9XCJCZWZvcmUgdGFraW5nIG1vZHVsYXRvcnMsIEkgd2FzIHVuZGVyd2VpZ2h0IGFuZCBkaWQgbm90IGZlZWwgaHVuZ2VyLiBJIGFsc28gaGFkIG5vIHNlbnNlIG9mIHRhc3RlLiBOb3csIEkgaGF2ZSBhIGhlYWx0aHkgd2VpZ2h0IGFuZCBzdGlsbCBoYXZlIHJlc3BpcmF0b3J5IHN5bXB0b21zIHN1Y2ggYXMgdmVyeSBzdGlja3kgbXVjdXMgYW5kIGRpZ2VzdGl2ZSBpc3N1ZXMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiWW91IGFyZSB0YWtpbmcgaW5kaXZpZHVhbCBtZWRzLCBjb3JyZWN0PyBUaGV5IGFyZSBpbmRpdmlkdWFsIGluIHJlc3BlY3QgdG8gdGhlIG11dGF0aW9uLCBub3QgdGhlIHBlcnNvbiwgcmlnaHQ/XCIgYT1cIlllcywgYW5kIHllcywgSSBhbS4gXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBvdGhlciBtZWRpY2F0aW9ucyBhcmUgeW91IHRha2luZz8gXCIgYT1cIk5hc2FsIHNwcmF5LCBwYW5jcmVhdGljIGVuenltZXMsIHNhbGluZSBzb2x1dGlvbiBmb3IgaW5oYWxhdGlvbiBhbmQgcGFudG9wcmF6b2xlLCB1c2VkIHRvIHJlZHVjZSBzdG9tYWNoIGFjaWQgcHJvZHVjdGlvbi4gIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRvIHlvdSBrbm93IGhvdyBleGFjdGx5IHRoZXkgd29yaz9cIiBhPVwiWWVzLCBJIHdyb3RlIGEgcmVwb3J0IG9uIHRoYXQgZHVyaW5nIHNjaG9vbC4gSW4gdGhlIGNoaWxkcmVuJ3MgY2xpbmljIHRoZXkgZXhwbGFpbmVkIGl0IGxpa2UgdGhpczogVGhlIENGVFIgY2hhbm5lbCBpcyBsaWtlIGEgZG9vciBhbmQgcGVvcGxlIHdpdGggQ0YgZG9uXHUyMDE5dCBoYXZlIHRoYXQgbWFueSBkb29ycyBhbmQgc29tZSBvZiB0aGUgZG9vcnMgYXJlIGJyb2tlbi4gVGhlIG1lZGljYXRpb24gbWFrZXMgbW9yZSBkb29ycyB0aGF0IGZ1bmN0aW9uLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgY2hhbmdlZCB3aGVuIHlvdSBzdGFydGVkIHRha2luZyB0aGUgbW9kdWxhdG9ycz8gXCIgYT1cIkV2ZXJ5dGhpbmcuIE1vc3Qgb2Ygc3ltcHRvbXMgYXJlIG1pbm9yIG5vdyBhbmQgSSBoYXZlIGEgYmV0dGVyIGx1bmcgZnVuY3Rpb24gYW5kIHF1YWxpdHkgb2YgbGlmZS4gSSBldmVuIGdyZXcgdGFsbGVyLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRpZCB5b3UgZm9ybWVybHkgdGFrZSBvdGhlciBtZWRpY2F0aW9uP1wiIGE9XCJJIGRvblx1MjAxOXQgcmVtZW1iZXIgYW55dGhpbmcgbGlrZSB0aGF0LCBidXQgSSBhbHNvIGFsd2F5cyBoYWQgZ29vZCBtZWRpY2FsIGNhcmUuICBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJEbyB5b3UgZXhwZXJpZW5jZSBhbnkgc2lkZSBlZmZlY3RzIGZyb20geW91ciBtZWRpY2F0aW9ucz9cIiBhPVwiQXQgZmlyc3QgeWVzLCBhIGxvdC4gU3RvbWFjaCBjcmFtcHMgYW5kIGRpZmZpY3VsdHkgYnJlYXRoaW5nIGZvciBleGFtcGxlLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIklzIGRpYWJldGVzIGEgY29uY2VybiBvZiB5b3Vycz9cIiBhPVwiWWVzLCBpdCBpcyBjb21tb24uIEkgaGF2ZSB0byBnbyB0byBhIGRpYWJldGVzIGNoZWNrdXAgb25jZSBhIHllYXIuIFRoYXQgaGFwcGVucyB0b2dldGhlciB3aXRoIGFsbCB0aGUgb3RoZXIgY2hlY2t1cHMgbGlrZSBzb25vZ3JhcGhpZXMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRG8geW91IGtub3cgZmVsbG93IHBhdGllbnRzIHRoYXQgdG9vayBwYXJ0IGluIGNsaW5pY2FsIHN0dWR5IGZvciBnZW5lIHRoZXJhcHkgb3IgYXQgbGVhc3QgdGhvdWdodCBhYm91dCBkb2luZyBzbz9cIiBhPVwiSSBrbm93IG5vIG9uZSB0aGF0IHRvb2sgcGFydCBpbiBvbmUgYnV0IGRlZmluaXRlbHkgcGVvcGxlIHdobyB3b3VsZCBsaWtlIHRvIGRvIHNvLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRvIHlvdSBrbm93IG90aGVyIHBhdGllbnRzIHRoYXQgd291bGQgd2FudCB0byB1c2UgZ2VuZSB0aGVyYXB5P1wiIGE9XCJZZXMsIG1vc3QgZGVmaW5pdGVseS5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJTaW5jZSB5b3VyIHN3ZWF0IGlzIGRpZmZlcmVudCwgZG8geW91IGhhdmUgdHJvdWJsZSB3aXRoIHlvdXIgdGVtcGVyYXR1cmUgcmVndWxhdGlvbj9cIiBhPVwiTm8gYW5kIEkgZG8gbm90IGtub3cgYW55IHBhdGllbnRzIHdpdGggYW4gaXNzdWUgbGlrZSB0aGF0LiBCdXQgaXQgc3RpbGwgaXMgdW5jb21mb3J0YWJsZSBpbiB0aGUgc3VtbWVyLCBiZWNhdXNlIHRoZSBzd2VhdCBpcyB0aGljaywgYW5kIGl0IGNhbiBzbWVsbCBzdHJvbmdlciwgdG9vLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBtYW55IGhvdXJzIGEgZGF5IGFyZSBkZXZvdGVkIHRvIHlvdXIgaWxsbmVzcz9cIiBhPVwiR29vZCBxdWVzdGlvbiwgYnV0IHdyb25nIHBhdGllbnQuIEkgYW0gYmxlc3NlZCB3aXRoIGdvb2QgaGVhbHRoIHdoaWxlIG90aGVyIHBlb3BsZSBteSBhZ2UgbWF5IGhhdmUgdG8gYmUgb24gYSB2ZW50aWxhdG9yLiBJIGN1cnJlbnRseSBvbmx5IGhhdmUgdG8gaW5oYWxlIGZvciAyMCBtaW51dGVzIGV2ZXJ5IGRheSwgdGFrZSBteSBtZWRpY2F0aW9uIGFuZCBiZSBjb25zY2lvdXMgYWJvdXQgaHlnaWVuZS4gSSB3b3VsZCBzYXkgMzAgbWludXRlcyBhIGRheS4gXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiVGhhdCBtZWFucyB5b3UgZG8gbm90IGhhdmUgbWFueSBsaW1pdGF0aW9ucyBkdWUgdG8gQ0YsIGlzIHRoYXQgcmlnaHQ/XCIgYT1cIlllcy4gVGhlcmUgYXJlIG1hbnkgdGhpbmdzIEkgYW0gY29uY2VybmVkIGFib3V0IGJ1dCBvZnRlbiB0aGVyZSBpcyBub3QgYSBkaWZmZXJlbnQgd2F5LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgYXJlIHNvbWUgb2YgdGhlIGxpbWl0YXRpb25zIHlvdSBkbyBoYXZlP1wiIGE9XCJPZiBjb3Vyc2UsIEkgYW0gc3RpbGwgY29uY2VybmVkIGFib3V0IG15IGhlYWx0aCBhbmQgdXNpbmcgcHVibGljIGJhdGhyb29tcyBmb3IgZXhhbXBsZS4gQW5kIEkgc3RpbGwgZG8gbm90IGdvIHN3aW1taW5nIGluIGxha2VzIGFuZCB0aGluZ3MgbGlrZSB0aGF0LiBCdXQgYWxsIGluIGFsbCwgSSBmZWVsIGxpa2UgSSBjYW4gbGl2ZSBhIHZlcnkgbm9ybWFsIGxpZmUuICBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJPbmUgY29uY2VybiBpcyBoeWdpZW5lLiBPdXIgdW5pdmVyc2l0eSBmb3IgZXhhbXBsZSBkb2VzIG5vdCBoYXZlIHRvaWxldCBzZWF0cyBpbiBtb3N0IGJhdGhyb29tcy4gRG8geW91IHRoaW5rIHRoZXJlIHNob3VsZCBiZT9cIiBhPVwiVGhhdCBkb2VzIG5vdCBjb25jZXJuIGhlYWx0aHkgcGVvcGxlLCB3aG8gYXJlIHRoZSBtYWpvcml0eS4gQnV0IHNwZWNpZmljYWxseSBmb3IgQ0YtcGVvcGxlPyBObywgdGhlcmUgYXJlIHRvbyBmZXcgYXQgdGhlIHVuaXZlcnNpdHkuIEl0IHdvdWxkIGJlIG1vcmUgaHlnaWVuaWMgb3ZlcmFsbCwgdGhvdWdoLiBBIFx1MjAxQ0NGLXRvaWxldFx1MjAxRCB3b3VsZCBiZSBuaWNlIGFzIGEgZm9ybSBvZiBhIGRpc2FibGVkIGJhdGhyb29tLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyB3YXMgeW91ciBjaGlsZGhvb2QgYXMgYSBzaWNrIGNoaWxkIGFuZCBob3cgZGlkIHlvdXIgcGFyZW50cyBhY3Qgd2l0aCB5b3U/ICBcIiBhPVwiTXkgbW90aGVyIGlzIGFjdGl2ZSBpbiB0aGUgTXVrbyBlLlYuIGFuZCBoYXMgYmVlbiBmb3Igc29tZSB0aW1lLiBNeSBwYXJlbnRzIGFsd2F5cyBsZWFkIGJ5IGV4YW1wbGUgYWJvdXQgd2hhdCB0byBkbyBhbmQgbm90IHRvIGRvIGFuZCBkZWFsdCB3aXRoIGl0IGluIGEgZ29vZCB3YXkuIE15IG1vdGhlciB3YXMgYWx3YXlzIHZlcnkgY29tbWl0dGVkIGFuZCBpbnZvbHZlZCBpbiBnaXZpbmcgbWUgZ29vZCBjYXJlLiBJIGFsd2F5cyBrbmV3IGFib3V0IG15IGlsbG5lc3MgYnV0IGZlbHQgaXQgd2FzIG5vdCB0aGF0IGJhZCwgYmVjYXVzZSBJIHJlY2VpdmVkIGdvb2QgY2FyZSBhbmQgZWR1Y2F0aW9uIGFib3V0IG15IGlsbG5lc3MuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBpcyBhIHR5cGljYWwgYWdlIGZvciBhIGRpYWdub3NpcyBpbiB5b3VyIGV4cGVyaWVuY2U/XCIgYT1cIlNvbWV3aGVyZSBiZXR3ZWVuIHRoZSBwcmVnbmFuY3kgYW5kIG9uZSB5ZWFyLiBJdCBpcyBvYnZpb3VzIGlmIHRoZSBjaGlsZHJlbiBkbyBub3QgZ2FpbiB3ZWlnaHQgYW5kIHRoZXJlIGFyZSBnZW5ldGljIHNjcmVlbmluZ3Mgb25lIGNhbiBkbyBwcmVuYXRhbGx5IG9yIGFmdGVyIGJpcnRoLiAgXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSWYgYSBkaWFnbm9zaXMgaXMgcG9zc2libGUgZHVyaW5nIHByZWduYW5jeSwgZG8geW91IGtub3cgb2YgYW55IHRyZWF0bWVudHMgZHVyaW5nIHByZWduYW5jeT9cIiBhPVwiTm8sIEkgdGhpbmsgdGhlIHlvdW5nZXN0IGFnZSBmb3IgbW9kdWxhdG9ycyBpcyAzIHllYXJzLiBCdXQgcGVvcGxlIGNhbiBkbyBnZW5ldGljIHRlc3RpbmcgYW5kIGNvdW5zZWxsaW5nIGJlZm9yZSBwcmVnbmFuY3kuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBkb2VzIGEgaGlnaC1mYXQgZGlldCBlbnRhaWw/XCIgYT1cIkZvciBtZSwgaXQgd2FzIGEgbG90IG9mIG9pbCBhbmQgYnV0dGVyIGFuZCBoaWdoLWNhbG9yeSBkcmlua3MuICBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IHdvdWxkIGhhcHBlbiBpZiB5b3Ugc3RvcHBlZCB0YWtpbmcgeW91ciBtZWRpY2F0aW9ucz9cIiBhPVwiVGhlIGZpcnN0IHRoaW5nIHRvIGhhcHBlbiB3b3VsZCBiZSBoZWF2eSBhbmQgZHJ5IGNvdWdoaW5nLCBiZWNhdXNlIHRoZSBtdWN1cyB3b3VsZCBub3QgYmUgcmVtb3ZlZCBwcm9wZXJseSBhbnltb3JlLiBUaHVzLCBiYWN0ZXJpYSB3b3VsZCBub3QgYmUgcHJvcGVybHkgcmVtb3ZlZCBmcm9tIHRoZSBsdW5ncyBhbnltb3JlIGVpdGhlciBhbmQgYW4gaW5mZWN0aW9uIHdvdWxkIGJlY29tZSBtb3JlIGxpa2VseS4gQW5kIEkgd291bGQgbm90IGJlIGFibGUgdG8gcmVhbGx5IHByb2Nlc3MgZm9vZCBhbnltb3JlLCBzbyBubyBudXRyaWVudHMsIGZlZWxpbmcgd2VhayBhbmQgc3RvbWFjaCBwcm9ibGVtcy4gIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIlBoeXNpY2FsIHRoZXJhcHkgaXMgYSBwYXJ0IG9mIHlvdXIgdHJlYXRtZW50IFx1MjAxMyB3aGF0IGV4YWN0bHkgZG8geW91IGRvIHRoZXJlPyAgXCIgYT1cIkJyZWF0aGluZyBleGVyY2lzZXMgYW5kIHRyYWluaW5nIG15IGx1bmcgdm9sdW1lIHRvIGtlZXAgaXQgb24gdGhlIHNhbWUgbGV2ZWwuXHUwMEEwXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRG8geW91IGhhdmUgZnVydGhlciB3aXNoZWQgZm9yIHlvdXIgdGhlcmFweT9cIiBhPVwiTm90IHJlYWxseS4gSSBhbSB2ZXJ5IGx1Y2t5IGFuZCBhbSBmcmVlIG9mIGhlYXZ5IHN5bXB0b21zIG9uIG1vc3QgZGF5cy4gXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSXMgdGhhdCB0aGUgbm9ybSBvciBkbyB5b3Uga25vdyBwZW9wbGUgd2hvIGRvIHdhbnQgbmV3IHRoZXJhcGllcz9cIiBhPVwiTm8sIHRoZXJlIGlzIGEgbmVlZCBmb3IgbmV3IHRoZXJhcGllcy4gIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkFyZSB0aGVzZSBwZW9wbGUgd2l0aCBkaWZmZXJlbnQgbXV0YXRpb25zIG9yIHdvcnNlIGhlYWx0aD8gXCIgYT1cIkkgZG9uXHUyMDE5dCBrbm93LCB0aGUgcHJvZ3Jlc3Npb24gaXMgc28gaW5kaXZpZHVhbCwgYW5kIGluZmVjdGlvbnMgY2FuIGNyZWF0ZSBiaWcgY2hhbmdlcy4gIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkEgdGhlcmFweSBmb3Igd2hpY2ggb3JnYW4gd291bGQgYmVuZWZpdCBtb3N0IHBlb3BsZSB0aGF0IGhhdmUgd29yc2UgaGVhbHRoIHRoYW4geW91IGRvP1wiIGE9XCJQcm9iYWJseSB0aGUgbHVuZy4gVGhlIHBhbmNyZWFzIGlzIGltcG9ydGFudCB0b28sIGJ1dCBzdG9tYWNoIHByb2JsZW1zIGFyZSB1c3VhbGx5IGxlc3MgcHJlc3NpbmcgdGhhbiBkaWZmaWN1bHR5IGluIGJyZWF0aGluZy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJZb3UgbWVudGlvbmVkIHRoYXQgZG9pbmcgc3BvcnQgaXMgZGlmZmljdWx0IHdpdGggQ0YsIHdoeT9cIiBhPVwiSHlnaWVuZS4gSW4gdGhlIGxvY2tlcnMgYW5kIHRoZSBzaG93ZXJzIGJ1dCBhbHNvIHdpdGggdGhlIGVxdWlwbWVudC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJEbyB5b3UgZmVlbCByZXN0cmljdGVkIGluIHlvdXIgZnJlZSB0aW1lIGFjdGl2aXRpZXM/XCIgYT1cIk5vLCBJIGFsd2F5cyBoYWQgZ29vZCBhbHRlcm5hdGl2ZXMuIEZvciBleGFtcGxlLCBnb2luZyBzd2ltbWluZyBhdCBhbiBvcGVuLWFpciBzd2ltbWluZyBwb29sIGluc3RlYWQgb2YgYSBsYWtlLiAgXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV291bGQgeW91IGhhdmUgbW9yZSBmcmVlZG9tIHdoZW4geW91IGFyZSBiZXR0ZXIgcHJvdGVjdGVkIGZyb20gUHNldWRvbW9uYXMgc3BjYy4gYW5kIG90aGVyIHBvdGVudGlhbCBpbmZlY3Rpb25zPyAgXCJhPVwiRGVmaW5pdGVseS4gVGhhdCBpcyBhIGJpZyBpbmNyZWFzZSBpbiB0aGUgcXVhbGl0eSBvZiBsaWZlIGFuZCB0aGF0IGlzIGEgd2luLiBJdCBhbHNvIGNoYW5nZXMgdGhlIHBpY3R1cmUgcGVvcGxlIGhhdmUgb2YgdGhlIGlsbG5lc3MuIE9mIGNvdXJzZSBiZWluZyBwcm90ZWN0ZWQgYnkgcHJldmVudGlvbiBpcyBnb29kIGFscmVhZHkgYnV0IGVmZmVjdGl2ZSB0aGVyYXBpZXMgZm9yIGluZmVjdGlvbnMgaW5jcmVhc2UgdGhlIHNlbnNlIG9mIGZyZWVkb20gZXZlbiBtb3JlLiBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJZb3Ugc2FpZCB5b3UgYXJlIGFmcmFpZCBldmVyeSB0aW1lIHlvdSBtdXN0IGdvIGZvciBhIHN3YWIsIHdoeSBpcyB0aGF0PyBcIiBhPVwiSSBhbSBhZnJhaWQgb2YgZ2V0dGluZyBhbiBpbmZlY3Rpb24uIFRoYXQgc3RpbGwgY291bGQgYmUgYSBkZWF0aCBzZW50ZW5jZS4gIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkFyZSByb29tcyB3aXRoIGFpciBjb25kaXRpb25pbmcgYSBwcm9ibGVtIGR1ZSB0byB0aGUgcG9zc2libGUgZ2VybXMgaW4gdGhlIGFpciBjb25kaXRpb25lcnM/ICBcIiBhPVwiTm8sIHRoZXJlIGlzIHVzdWFsbHkgZW5vdWdoIG1vdmVtZW50LiBCdXQgaHVtaWRpZmllcnMgYXJlIGJhZCBiZWNhdXNlIG9mIHRoZSBwb25kIHdhdGVyLiAgXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiWW91IG1lbnRpb25lZCBnb2luZyB0byB0aGUgaGFpcmRyZXNzZXIgaXMgcHJvYmxlbWF0aWMuIENvdWxkIHlvdSBlbGFib3JhdGU/IFwiIGE9XCJUaGVyZSBhcmUgbWFueSBwb3NzaWJsZSBzb3VyY2VzIG9mIHBvbmRpbmcgd2F0ZXIgYW5kIHdpdGggdGhhdCwgaW5mZWN0aW9ucy4gVGhhdCBhbmQgdGhlIGh5Z2llbmUgYXNwZWN0IGluIGdlbmVyYWwuIEkgYW0gdmlzaXRlZCBieSBteSBoYWlyZHJlc3NlciwgYW5kIGhlIG9ubHkgdXNlcyBhIHNwZWNpZmljIHNwcmF5IGJvdHRsZSB0byB3ZXQgbXkgaGFpciB0aGF0IEkga2VlcCBhbmQgZHJ5IHRob3JvdWdobHkgYmV0d2VlbiB1c2VzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkFyZSB5b3UgdGhlIGZpcnN0IHBlcnNvbiBpbiB5b3VyIGZhbWlseSB0aGF0IGhhcyBDRj8gIFwiIGE9XCJZZXMuIEJ1dCBJIHN1c3BlY3QgbXkgZmF0aGVyIGhhcyBhIGxpZ2h0IG9yIGF0eXBpY2FsIGZvcm0gYmVjYXVzZSBoZSBoYXMgc3VzcGljaW91cyBtdWN1cy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaXRoIGxpZmUgZXhwZWN0YW5jaWVzIGxvb2tpbmcgYmV0dGVyLCBkbyBtYW55IHBhdGllbnRzIHdhbnQgdG8gaGF2ZSBiaW9sb2dpY2FsIGNoaWxkcmVuP1wiIGE9XCJOb3QgYWxsIGJ1dCBzb21lLiBJIHRoaW5rIHNvbWUgd291bGQgYmUgaW50ZXJlc3RlZCBpbiBhIHRoZXJhcHkgdGhhdCBjYW4gYmUgZG9uZSBvbiB0aGUgZmVydGlsaXplZCBlZ2cgdG8gaGF2ZSBhIGhlYWx0aHkgY2hpbGQuICBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJEbyB5b3Uga25vdyB0aGUgZmlsbSBcdTIwMUNGaXZlIGZlZXQgYXBhcnRcdTIwMUQ/IElmIHNvLCB3aGF0IGRvIHRoaW5rIGFib3V0IGl0LCBpcyBpdCBhY2N1cmF0ZT8gIFwiIGE9XCJZZXMuIEl0IGRvZXMgbm90IHBhaW50IGEgd3JvbmcgcGljdHVyZTsgdGhlaXIgcHJvZ3Jlc3Npb24gaXMgcG9zc2libGUuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRG8geW91IHRoaW5rIHRoZXJlIGhhcyB0byBiZSBtb3JlIGVmZm9ydCBjb25jZXJuaW5nIGRpYWdub3N0aWNzP1wiIGE9XCJFYXJseSBkaWFnbm9zaXMgaXMgY292ZXJlZCBieSB0aGUgc2NyZWVuaW5ncy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJTaW5jZSB5b3UgYWxtb3N0IGhhZCB0byBzdWUgZm9yIHlvdXIgbWVkaWNhdGlvbiwgZG8geW91IGtub3cgaWYgdGhlcmUgYXJlIGFueSBsYXd5ZXJzIHNwZWNpYWxpemluZyBpbiBjYXNlcyBsaWtlIHRoaXM/ICBcIiBhPVwiTm8sIEkgZG9uXHUyMDE5dC4gIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkFyZSBtb3N0IG9mIHRoZSBvdGhlciBwYXRpZW50cyB5b3Uga25vdyBpbiBnb29kIGhlYWx0aCBsaWtlIHlvdT9cIiBhPVwiTm8uIEFub3RoZXIgYm95IG15IGFnZSBnb3QgYSBmdW5nYWwgaW5mZWN0aW9uIGFuZCBkb2VzIG5vdCBoYXZlIGxvbmcgdGltZSBsZWZ0IHRvIGxpdmUuICBcIiAvPlxuICAgIDwvPixcbiAgICBzdW1tYXJ5OiBcIldlIHJlYWNoZWQgb3V0IHRvIE1heCwgYSBmcmllbmQgb2YgYSB0ZWFtbWF0ZSwgdG8gZ2FpbiBpbnNpZ2h0cyBpbnRvIHRoZSBuZWVkcyBhbmQgZXhwZXJpZW5jZXMgb2YgQ0YgcGF0aWVudHMuIE91ciBkaXNjdXNzaW9ucyByZXZlYWxlZCB0aGUgY2hhbGxlbmdlcyBmYWNlZCBieSBDRiBwYXRpZW50cywgZXZlbiB0aG9zZSBpbiByZWxhdGl2ZWx5IGdvb2QgaGVhbHRoLCBhbmQgZW1waGFzaXplZCB0aGUgb25nb2luZyBuZWVkIGZvciBuZXcgdHJlYXRtZW50IG9wdGlvbnMuIE1heCdzIGNhbmRpZCBzaGFyaW5nIG9mIGhpcyBleHBlcmllbmNlcyBoaWdobGlnaHRlZCB0aGUgbGltaXRhdGlvbnMgb2YgY3VycmVudCBtb2R1bGF0b3JzLCB0aGUgaW1wb3J0YW5jZSBvZiBsdW5nIGZ1bmN0aW9uLCBhbmQgdGhlIGltcGFjdCBvZiB0cmVhdG1lbnRzIG9uIHF1YWxpdHkgb2YgbGlmZS4gVGhpcyBtZWV0aW5nIHRyYW5zZm9ybWVkIG91ciBwcm9qZWN0IHBlcnNwZWN0aXZlLCB1cmdpbmcgdXMgdG8gcHJpb3JpdGl6ZSBzYWZldHkgYW5kIHJlYWwtd29ybGQgYmVuZWZpdHMgaW4gb3VyIGRlc2lnbi4gVWx0aW1hdGVseSwgTWF4J3MgaW5mbHVlbmNlIGxlZCB1cyB0byBmb2N1cyBvbiBsdW5nLXRhcmdldGVkIGdlbmUgdGhlcmFweSBpbnN0ZWFkIG9mIGEgZGlhZ25vc3RpYyBhcHByb2FjaCwgcmVpbmZvcmNpbmcgb3VyIGNvbW1pdG1lbnQgdG8gSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXMuXCIsXG4gICAgbW9udGhzOiBcIkFwcmlsXCIsXG4gICAgLyppbnRlcnZpZXc6PGlmcmFtZSB0aXRsZT1cIkJpZWxlZmVsZC1DZUJpVGVjOiBJbnRlcnZpZXcgd2l0aCBNYXggQmVja21hbm4gKDIwMjQpIFtFbmdsaXNoXVwiIHdpZHRoPVwiNTYwXCIgaGVpZ2h0PVwiMzE1XCIgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy92aWRlb3MvZW1iZWQvMTY1MDE4NjctYTY4Ny00MjA1LTk0OWEtNTFlYWQ4NzZlMTA5XCIgZnJhbWVib3JkZXI9XCIwXCIgYWxsb3dmdWxsc2NyZWVuPVwiXCIgc2FuZGJveD1cImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctcG9wdXBzIGFsbG93LWZvcm1zXCI+PC9pZnJhbWU+LCovXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIlZpc2l0aW5nIFwiLFxuICAgIG5hY2hubmFtZTogXCJ0aGUgSGFubm92ZXIgTWVzc2VcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydoYW5ub3Zlcm1lc3NlJ10sXG4gICAgam9iOiBcIlRlYW0gaUdFTVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkJpZWxmZWxkIENlQmlUZWMgMjAyNFwiLFxuICAgIHRhZzogXCJJbmR1c3RyeVwiLFxuICAgIGhlYWRpbmc6IFwiVHdvIHRlYW1tZW1iZXJzIHZpc2l0ZWQgdGhlIGZhaXIgdG8gdGFsayB3aXRoIHBvdGVudGlhbCBzdGFrZWhvbGRlciBhbmQgc3BvbnNvcnNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJoYW5ub3Zlcm1lc3NlXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwiVmlzaXRpbmcgSGFubm92ZXIgTWVzc2Ugd2FzIGluc3BpcmluZyEgV2UgY29ubmVjdGVkIHdpdGggaW5kdXN0cnkgbGVhZGVycyBhbmQgZGlzY292ZXJlZCBleGNpdGluZyBpbm5vdmF0aW9ucyBpbiBzeW50aGV0aWMgYmlvbG9neSB0aGF0IGNvdWxkIHNoYXBlIG91ciBmdXR1cmUgcHJvamVjdHMuXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJTdFx1MDBGNmNrbCwgVGVhbW1lbWJlclwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJWaW5jZW50XCIsXG4gICAgc3VtbWFyeTogXCJPdXIgdGVhbSBtZW1iZXJzIExpbGlhbmEgU2FuZmlsaXBwbyBhbmQgVmluY2VudCBTdFx1MDBGNmNrbCBoYWQgYSBwcm9kdWN0aXZlIHZpc2l0IHRvIHRoZSBIYW5ub3ZlciBNZXNzZSwgZm9jdXNpbmcgb24gc3ludGhldGljIGJpb2xvZ3kgYW5kIHJlc2VhcmNoIGFkdmFuY2VtZW50cy4gVGhleSBleHBsb3JlZCBpbm5vdmF0aXZlIHRlY2hub2xvZ2llcyBhbmQgbmV0d29ya2VkIHdpdGggcG90ZW50aWFsIHNwb25zb3JzLCBnYWluaW5nIHZhbHVhYmxlIGluc2lnaHRzIHRvIGhlbHAgZW5oYW5jZSBvdXIgcHJvamVjdCBhbmQgZHJpdmUgZnV0dXJlIGRldmVsb3BtZW50cy4gVGhlIGV2ZW50IHdhcyBhIGdyZWF0IG9wcG9ydHVuaXR5IHRvIGNvbm5lY3Qgd2l0aCBpbmR1c3RyeSBsZWFkZXJzIGFuZCBsZWFybiBhYm91dCBjdXR0aW5nLWVkZ2Ugc29sdXRpb25zIGluIHRoZSBmaWVsZC5cIixcbiAgICBtb250aHM6IFwiQXByaWxcIixcbiAgICBwaWN0dXJldXJsX2ltcGxlbWVudGF0aW9uOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9oYW5ub3Zlci53ZWJwXCIsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJQcm9mLiBEci5cIixcbiAgICB2b3JuYW1lOiBcIktyaXN0aWFuXCIsXG4gICAgbmFjaG5uYW1lOiBcIk1cdTAwRkNsbGVyXCIsXG4gICAgam9iOiBcIlJlc2VhcmNoIEdyb3VwIENlbGx1bGFyIGFuZCBNb2xlY3VsYXIgQmlvdGVjaG5vbG9neVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlRlY2huaWNhbCBGYWN1bHR5IG9mIEJpZWxlZmVsZCBVbml2ZXJzaXR5XCIsXG4gICAgcGljdHVyZXVybDogcGljc1sna3Jpc3RpYW4nXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIkRpc2N1c3Npb24gYWJvdXQgdGhlIGRlbGl2ZXJ5IG1ldGhvZC0gQVZWIHZzLiBMTlBzIGFuZCBwcmltZSBlZGl0aW5nIGFuZCBnZW5lIHRoZXJhcHkgaW5ub3ZhdGlvbnNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJrcmlzdGlhblwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCIgTVx1MDBGQ2xsZXIsIFJlYXNlYXJjaCBFeHBlcnQgZm9yIEdlbmUgVGhlcmFweSBcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiUHJvZi4gRHIuIEtyaXN0aWFublwiLFxuICAgIHF1b3RlOiBcIkFBVnMgaGF2ZSBiZWVuIHdpZGVseSB1c2VkIGluIGdlbmUgdGhlcmFweSwgYnV0IHRoZWlyIHNjYWxhYmlsaXR5IGFuZCBpbW11bm9nZW5pY2l0eSBwb3NlIGNoYWxsZW5nZXMsIHBhcnRpY3VsYXJseSB3aGVuIHJlLWRvc2luZyBpcyByZXF1aXJlZC4gSW4gY29udHJhc3QsIExOUHMgb2ZmZXIgYSBwcm9taXNpbmcgYWx0ZXJuYXRpdmUsIHdpdGggYSBoaWdoZXIgcGFja2FnaW5nIGNhcGFjaXR5IGFuZCBsb3dlciBpbW11bm9nZW5pY2l0eS4gV2hpbGUgQUFWcyBleGNlbCBpbiB0YXJnZXRlZCBkZWxpdmVyeSwgTE5QcyBjb3VsZCBiZWNvbWUgYSBtb3JlIHNjYWxhYmxlIGFuZCBjb3N0LWVmZmVjdGl2ZSBzb2x1dGlvbiBmb3IgZGVsaXZlcmluZyBnZW5lLWVkaXRpbmcgdG9vbHMgaW4gdGhlIGZ1dHVyZS5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5UaGUgYWltIG9mIG91ciBpbnRlcnZpZXcgd2l0aCBQcm9mLiBEci4gS3Jpc3RpYW4gTVx1MDBGQ2xsZXIgd2FzIHRvIGdhaW4gZXhwZXJ0IGluc2lnaHRzIGludG8gdGhlIHBvdGVudGlhbCBvZiBwcmltZSBlZGl0aW5nIHRlY2hub2xvZ3kgYW5kIGl0cyBhcHBsaWNhdGlvbiBpbiBnZW5lIHRoZXJhcHksIHBhcnRpY3VsYXJseSBmb3IgdHJlYXRpbmcgQ0YuIFdlIHNvdWdodCB0byB1bmRlcnN0YW5kIGhvdyBpbm5vdmF0aW9ucyBpbiBwcmltZSBlZGl0aW5nLCBjb21iaW5lZCB3aXRoIG9wdGltaXplZCBkZWxpdmVyeSBzeXN0ZW1zLCBjb3VsZCBlbmhhbmNlIHRoZXJhcGV1dGljIG91dGNvbWVzLiBQcm9mLiBNXHUwMEZDbGxlclx1MjAxOXMgZXhwZXJ0aXNlIGluIG1vbGVjdWxhciBiaW9sb2d5IGFuZCBnZW5lIGVkaXRpbmcgcHJvdmlkZWQgdmFsdWFibGUgcGVyc3BlY3RpdmVzIG9uIHRoZSBvcHBvcnR1bml0aWVzIGFuZCBjaGFsbGVuZ2VzIGluIGRldmVsb3BpbmcgcHJlY2lzZSwgZWZmaWNpZW50LCBhbmQgc2FmZSB0cmVhdG1lbnQgc3RyYXRlZ2llcyBmb3IgZ2VuZXRpYyBkaXNvcmRlcnMuPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD5EdXJpbmcgdGhlIGludGVydmlldywgUHJvZi4gRHIuIE1cdTAwRkNsbGVyIGhpZ2hsaWdodGVkIHRoZSBncm93aW5nIGltcG9ydGFuY2Ugb2YgcHJpbWUgZWRpdGluZyBhcyBhIHBvd2VyZnVsIHRvb2wgZm9yIGdlbmUgdGhlcmFweS4gVW5saWtlIHRyYWRpdGlvbmFsIENSSVNQUi1DYXMgc3lzdGVtcywgd2hpY2ggb2Z0ZW4gcmVzdWx0IGluIGRvdWJsZS1zdHJhbmQgRE5BIGJyZWFrcywgcHJpbWUgZWRpdGluZyBhbGxvd3MgZm9yIHByZWNpc2Ugc2luZ2xlLXN0cmFuZCBjdXRzLCBtaW5pbWl6aW5nIG9mZi10YXJnZXQgZWZmZWN0cyBhbmQgZW5hYmxpbmcgbW9yZSBzcGVjaWZpYyBnZW5ldGljIGNvcnJlY3Rpb25zLiBUaGlzIHRlY2hub2xvZ3kgb3BlbnMgdXAgbmV3IHBvc3NpYmlsaXRpZXMgZm9yIHRyZWF0aW5nIGRpc2Vhc2VzIHdpdGgga25vd24gbXV0YXRpb25zLCBzdWNoIGFzIGN5c3RpYyBmaWJyb3Npcy4gXG4gICAgICBQcm9mLiBEci4gS3Jpc3RpYW4gTVx1MDBGQ2xsZXIgZW1waGFzaXplZCB0aGUgY3JpdGljYWwgcm9sZSBvZiBkZWxpdmVyeSBzeXN0ZW1zIGluIHRoZSBzdWNjZXNzIG9mIGdlbmUgdGhlcmFwaWVzLCBwYXJ0aWN1bGFybHkgaW4gdGhlIGNvbnRleHQgb2YgQ0YgdHJlYXRtZW50LiBUd28gcHJpbWFyeSBkZWxpdmVyeSBtZWNoYW5pc21zIHdlcmUgZGlzY3Vzc2VkOiBBQVZzIChBZGVuby1hc3NvY2lhdGVkIHZpcnVzZXMpIGFuZCBMTlBzIChMaXBpZCBuYW5vcGFydGljbGVzKSwgZWFjaCB3aXRoIGRpc3RpbmN0IGFkdmFudGFnZXMgYW5kIGxpbWl0YXRpb25zLlxuICAgICAgQUFWcyBhcmUgYSB3ZWxsLWVzdGFibGlzaGVkIHZlaGljbGUgaW4gZ2VuZSB0aGVyYXB5LCBoYXZpbmcgYmVlbiB1c2VkIHN1Y2Nlc3NmdWxseSBpbiB2YXJpb3VzIGFwcHJvdmVkIHRyZWF0bWVudHMuIFRoZXkgYXJlIGhpZ2hseSBlZmZpY2llbnQgYXQgZGVsaXZlcmluZyBnZW5ldGljIG1hdGVyaWFsIHRvIHRhcmdldCBjZWxscywgZXNwZWNpYWxseSBpbiB3ZWxsLWNoYXJhY3Rlcml6ZWQgZGlzZWFzZXMgbGlrZSBDRi4gT25lIG9mIHRoZWlyIGtleSBzdHJlbmd0aHMgaXMgdGhlaXIgYWJpbGl0eSB0byBwcmVjaXNlbHkgdGFyZ2V0IHNwZWNpZmljIHRpc3N1ZXMsIG1ha2luZyB0aGVtIHBhcnRpY3VsYXJseSB2YWx1YWJsZSBmb3IgbHVuZyBkZWxpdmVyeSBpbiBjeXN0aWMgZmlicm9zaXMuIEhvd2V2ZXIsIEFBVnMgY29tZSB3aXRoIG5vdGFibGUgY2hhbGxlbmdlcywgcHJpbWFyaWx5IHRoZWlyIGxpbWl0ZWQgcGFja2FnaW5nIGNhcGFjaXR5IChhcHByb3hpbWF0ZWx5IDQuNSBraWxvYmFzZXMpLCB3aGljaCBjb25zdHJhaW5zIHRoZSBzaXplIG9mIHRoZSBnZW5ldGljIHBheWxvYWQgdGhleSBjYW4gY2FycnkuIEFkZGl0aW9uYWxseSwgQUFWcyBjYW4gZWxpY2l0IGltbXVuZSByZXNwb25zZXMsIHBhcnRpY3VsYXJseSB3aGVuIG11bHRpcGxlIGRvc2VzIGFyZSByZXF1aXJlZCwgcG9zaW5nIGEgYmFycmllciB0byB0aGVpciBsb25nLXRlcm0gdXNlLlxuICAgICAgT24gdGhlIG90aGVyIGhhbmQsIExOUHMgb2ZmZXIgYSBzY2FsYWJsZSBhbmQgcmUtZG9zYWJsZSBhbHRlcm5hdGl2ZS4gTE5QcyBoYXZlIHRoZSBhZHZhbnRhZ2Ugb2YgYSBsYXJnZXIgcGFja2FnaW5nIGNhcGFjaXR5LCBhbGxvd2luZyB0aGVtIHRvIGNhcnJ5IG1vcmUgY29tcGxleCBnZW5ldGljIGluc3RydWN0aW9ucyBvciBsYXJnZXIgZ2VuZS1lZGl0aW5nIHRvb2xzLCBzdWNoIGFzIHByaW1lIGVkaXRvcnMuIFRoZXkgYXJlIGFsc28gZWFzaWVyIGFuZCBjaGVhcGVyIHRvIHByb2R1Y2Ugb24gYSBsYXJnZSBzY2FsZSwgbWFraW5nIHRoZW0gYW4gYXR0cmFjdGl2ZSBvcHRpb24gZm9yIHdpZGVzcHJlYWQgY2xpbmljYWwgYXBwbGljYXRpb25zLiBBIHNpZ25pZmljYW50IGJlbmVmaXQgb2YgTE5QcyBpcyB0aGVpciBsb3dlciBpbW11bm9nZW5pY2l0eSwgd2hpY2ggcmVkdWNlcyB0aGUgcmlzayBvZiBhZHZlcnNlIGltbXVuZSByZWFjdGlvbnMgdXBvbiByZXBlYXRlZCBkb3NpbmcuIEhvd2V2ZXIsIExOUHMgY3VycmVudGx5IGZhY2UgY2hhbGxlbmdlcyBpbiBzcGVjaWZpYyB0YXJnZXRpbmcgY29tcGFyZWQgdG8gQUFWcy4gQUFWcyBoYXZlIGEgaGlnaGVyIHByZWNpc2lvbiBpbiB0YXJnZXRpbmcgc3BlY2lmaWMgdGlzc3Vlcywgd2hpbGUgTE5QcyBzdGlsbCBuZWVkIG9wdGltaXphdGlvbiBmb3IgdGFyZ2V0ZWQgZGVsaXZlcnkgdG8gYXJlYXMgbGlrZSB0aGUgbHVuZ3MuPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5Qcm9mLiBNXHUwMEZDbGxlclx1MjAxOXMgaW5zaWdodHMgZGlyZWN0bHkgaW5mb3JtIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBvdXIgaUdFTSBwcm9qZWN0LCB3aGVyZSB3ZSBhaW0gdG8gZGVzaWduIG5vdmVsIHByaW1lIGVkaXRvcnMgdGhhdCBhcmUgc21hbGwgZW5vdWdoIHRvIGJlIGRlbGl2ZXJlZCBlZmZpY2llbnRseSwgd2hpbGUgYWxzbyBleHBsb3JpbmcgTE5Qc1tMSU5LIEN5Y2xlIERlbGl2ZXJ5XSBhcyBhIHNjYWxhYmxlIGFuZCByZS1kb3NhYmxlIGFsdGVybmF0aXZlIHRvIEFBVnMuIEJ5IHRhaWxvcmluZyBvdXIgYXBwcm9hY2ggdG8gYWRkcmVzcyB0aGUgc3BlY2lmaWMgY2hhbGxlbmdlcyBvZiBDRiwgc3VjaCBhcyBtdWN1cyBwZW5ldHJhdGlvbiBhbmQgbHVuZyBjZWxsIHRhcmdldGluZywgd2UgY2FuIGVuaGFuY2UgdGhlIHByZWNpc2lvbiBhbmQgZWZmaWNhY3kgb2YgZ2VuZSB0aGVyYXB5LiBUaGVzZSBpbm5vdmF0aW9ucyBoYXZlIHRoZSBwb3RlbnRpYWwgdG8gc2V0IG5ldyBzdGFuZGFyZHMgaW4gdGhlIGZpZWxkIGFuZCBjb250cmlidXRlIHRvIGJyb2FkZXIgcmVzZWFyY2ggb24gZ2VuZXRpYyBkaXNlYXNlIHRyZWF0bWVudC48L3A+XSxcbiAgICBzdW1tYXJ5OiBcIkluIG91ciBpbnRlcnZpZXcgd2l0aCBQcm9mLiBEci4gS3Jpc3RpYW4gTVx1MDBGQ2xsZXIsIHdlIGV4cGxvcmVkIHRoZSByZXZvbHV0aW9uYXJ5IHBvdGVudGlhbCBvZiBwcmltZSBlZGl0aW5nIGFzIGEgbmV4dC1nZW5lcmF0aW9uIGdlbmUgZWRpdGluZyB0ZWNobm9sb2d5LiBQcm9mLiBNXHUwMEZDbGxlciBoaWdobGlnaHRlZCB0aGUgYWR2YW50YWdlcyBvZiBwcmltZSBlZGl0aW5nIG92ZXIgdHJhZGl0aW9uYWwgQ1JJU1BSLUNhcyBzeXN0ZW1zLCBwYXJ0aWN1bGFybHkgaXRzIGFiaWxpdHkgdG8gbWFrZSBwcmVjaXNlIGdlbmV0aWMgbW9kaWZpY2F0aW9ucyB3aXRob3V0IGRvdWJsZS1zdHJhbmQgYnJlYWtzLCB0aHVzIHJlZHVjaW5nIG9mZi10YXJnZXQgZWZmZWN0cy4gSGUgZW1waGFzaXplZCB0aGUgaW1wb3J0YW5jZSBvZiBvcHRpbWl6aW5nIGRlbGl2ZXJ5IHN5c3RlbXMsIHN1Y2ggYXMgQUFWIGFuZCBMTlBzLCBhbmQgZGlzY3Vzc2VkIHRoZSBldGhpY2FsIGNvbnNpZGVyYXRpb25zIGFuZCBiaW9zYWZldHkgbWVhc3VyZXMgY3J1Y2lhbCBmb3IgYWR2YW5jaW5nIGdlbmUgdGhlcmFweS4gVGhlIGludGVydmlldyB1bmRlcnNjb3JlZCB0aGUgc2lnbmlmaWNhbmNlIG9mIGN5c3RpYyBmaWJyb3NpcyBhcyBhIG1vZGVsIGRpc2Vhc2UsIGdpdmVuIGl0cyBwcmV2YWxlbmNlIGFuZCB0aGUgcG90ZW50aWFsIGZvciBpbXBhY3RmdWwgdHJlYXRtZW50cyB0aHJvdWdoIHRhcmdldGVkIGdlbmV0aWMgY29ycmVjdGlvbnMuXCIsXG4gICAgbW9udGhzOiBcIkFwcmlsXCIsXG4gICAgaW50ZXJ2aWV3Ojw+PGlmcmFtZSB0aXRsZT1cIkJpZWxlZmVsZC1DZUJpVGVjOiBJbnRlcnZpZXcgTVx1MDBGQ2xsZXIgQUFWIHZzIExOUCAoMjAyNCkgW0VuZ2xpc2hdXCIgd2lkdGg9XCI1NjBcIiBoZWlnaHQ9XCIzMTVcIiBzcmM9XCJodHRwczovL3ZpZGVvLmlnZW0ub3JnL3ZpZGVvcy9lbWJlZC8wNjEzYjZiOC03NzU1LTQzNzMtOWQ4Ni05OTEwZmUzMDc4MWZcIiBmcmFtZUJvcmRlcj1cIjBcIiBhbGxvd0Z1bGxTY3JlZW49e3RydWV9IHNhbmRib3g9XCJhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1zY3JpcHRzIGFsbG93LXBvcHVwcyBhbGxvdy1mb3Jtc1wiPjwvaWZyYW1lPjxwPlRoaXMgaW50ZXJ2aWV3IHdhcyByZWNvcmRlZCBvbiB2aWRlbyBhdCBhIGxhdGVyIGRhdGUuPC9wPjwvPixcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiTG9va2luZyBmb3IgZXhwZXJ0aXNlXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3BsYWNlaG9sZGVyJ10sXG4gICAgdGFnOiBcIk1pbGVzdG9uZVwiLFxuICAgIGhlYWRpbmc6IFwiSWRlbnRpZnlpbmcga2V5IGV4cGVydHMgaW4gY3lzdGljIGZpYnJvc2lzIGFuZCBwcmltZSBlZGl0aW5nXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiZXhwZXJ0c1wiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBzdW1tYXJ5OiBcIlwiLFxuICAgIG1vbnRoczogXCJBcHJpbFwiXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIlZpc2l0aW5nIFwiLFxuICAgIG5hY2hubmFtZTogXCJ0aGUgTGFic3VwcGx5IGluIE1cdTAwRkNuc3RlclwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2xhYnN1cHBseSddLFxuICAgIGpvYjogXCJUZWFtIGlHRU1cIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaWVsZmVsZCBDZUJpVGVjIDIwMjRcIixcbiAgICB0YWc6IFwiSW5kdXN0cnlcIixcbiAgICBoZWFkaW5nOiBcIlR3byB0ZWFtIG1lbWJlcnMgY29ubmVjdGVkIHdpdGggcHJvc3BlY3RpdmUgc3Rha2Vob2xkZXJzIGFuZCBzcG9uc29ycy5cIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJsYWJzdXBwbHlcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJMYWJTdXBwbHkgaW4gTVx1MDBGQ25zdGVyIHdhcyBhIGZhbnRhc3RpYyBvcHBvcnR1bml0eSB0byBjb25uZWN0IHdpdGggcGFzc2lvbmF0ZSBwcm9mZXNzaW9uYWxzIGFuZCBleHBsb3JlIGN1dHRpbmctZWRnZSByZXNlYXJjaCB0b29scy4gV2UncmUgZXhjaXRlZCBhYm91dCB0aGUgcG90ZW50aWFsIGNvbGxhYm9yYXRpb25zIGFoZWFkIVwiLFxuICAgIHF1b3RlTmFjaG5hbWU6IFwiU2FuZmlsaXBwbywgVGVhbW1lbWJlclwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJMaWxpYW5hXCIsXG4gICAgc3VtbWFyeTogXCJJbiBBcHJpbCBvdXIgdGVhbSB2aXNpdGVkIExhYlN1cHBseSBpbiBNXHUwMEZDbnN0ZXIsIHdoZXJlIHdlIGhhZCB0aGUgY2hhbmNlIHRvIGNvbm5lY3Qgd2l0aCBtYW55IHdlbGNvbWluZyBhbmQga25vd2xlZGdlYWJsZSBwcm9mZXNzaW9uYWxzIGluIHRoZSBsYWIgZXF1aXBtZW50IGZpZWxkLiBJdCB3YXMgYW4gZXhjZWxsZW50IG9wcG9ydHVuaXR5IHRvIGV4cGxvcmUgdGhlIGxhdGVzdCBhZHZhbmNlbWVudHMgaW4gbGFib3JhdG9yeSBzdXBwbGllcyBhbmQgdG9vbHMgdGhhdCBjYW4gZW5oYW5jZSBvdXIgcmVzZWFyY2guXCIsXG4gICAgbW9udGhzOiBcIkFwcmlsXCIsXG4gICAgcGljdHVyZXVybF9haW06IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2xhYnN1cHBseS53ZWJwXCIsXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIlByb2YuIERyLiBXb2xmLU1pY2hhZWwgV2ViZXJcIixcbiAgICBuYWNobm5hbWU6IFwidW5kIERyLiBKXHUwMEY2cmcgR3JvXHUwMERGZS1Pbm5lYnJpbmtcIixcbiAgICBqb2I6IFwiUHJvZmVzc29yIFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlVuaXZlc2l0eSBNXHUwMEZDbnN0ZXJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWyd3ZWJlciddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiRmVlZGJhY2sgU2Vzc2lvbiB3aXRoIEV4cGVydHMgZm9yIEN5c3RpYyBGaWJyb3NpcyBUcmVhdG1lbnRcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJ3ZWJlclwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgcXVvdGU6IFwiVGhpcyBpcyBhbHNvIGFuIGlubm92YXRpdmUgc3RlcCB0aGF0IHlvdSBoYXZlIGRldmVsb3BlZCB5b3Vyc2VsdmVzLiBUaGF0J3MgdGhlIHBhcnQgdGhhdCdzIHJlYWxseSBuZXcgYW5kIHNpZ25pZmljYW50LiBBIGNsZXZlciBhbmQgZXhjaXRpbmcgYXBwcm9hY2ggd2l0aCBncmVhdCBwb3RlbnRpYWwuXCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+VGhlIGFpbSBvZiB0aGUgaW50ZXJ2aWV3IHdhcyB0byBnYWluIGV4cGVydCBpbnNpZ2h0cyBvbiBvcHRpbWl6aW5nIHRoZSBkZWxpdmVyeSBvZiBDRlRSLW1STkEgdmlhIGx1bmctdGFyZ2V0ZWQgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykgZm9yIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHRyZWF0bWVudC5cbiAgICAgIFNwZWNpZmljYWxseSwgdGhlIGdvYWwgd2FzIHRvIGV4cGxvcmUgcG90ZW50aWFsIGNlbGwgdGFyZ2V0cywgY2hhbGxlbmdlcyBpbiBkZWxpdmVyeSBtZWNoYW5pc21zLCBhbmQgdGVjaG5pY2FsIHRvb2xzIGZvciBhc3Nlc3NpbmcgdGhlIGVmZmVjdGl2ZW5lc3Mgb2YgbVJOQSB0aGVyYXBpZXMgbGlrZSB0aGUgVXNzaW5nIGNoYW1iZXIgc3lzdGVtLiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPlRoZSBleHBlcnRzIGhpZ2hsaWdodGVkIHRoZSBwb3RlbnRpYWwgb2YgdGFyZ2V0aW5nIGlvbm9jeXRlcywgZ2l2ZW4gdGhlaXIga2V5IHJvbGUgaW4gQ0ZUUiBleHByZXNzaW9uLCBidXQgZW1waGFzaXplZCB0aGUgZGlmZmljdWx0eSBpbiBhY2Nlc3NpbmcgdGhlbSBkdWUgdG8gdGhlaXIgYmFzYWwgcG9zaXRpb24gaW4gdGhlIHJlc3BpcmF0b3J5IGVwaXRoZWxpdW0uXG4gICAgICBXaGlsZSBQcm9mLiBXZWJlciBmb3VuZCBpb25vY3l0ZXMgdG8gYmUgYW4gaW50cmlndWluZyB0YXJnZXQsIERyLiBHcm9cdTAwREZlLU9ubmVicmluayBwb2ludGVkIG91dCB0aGF0IHRoZXJlIGlzIHN0aWxsIGxpbWl0ZWQgdW5kZXJzdGFuZGluZyBvZiB0aGVpciBleGFjdCByb2xlIGluIENGIHBhdGhvbG9neS4gQm90aCBzdHJlc3NlZCB0aGUgY2hhbGxlbmdlIG9mIHBlbmV0cmF0aW5nIHRoZVxuICAgICAgbXVjdXMgYmFycmllciBpbiB2aXZvLCBwYXJ0aWN1bGFybHkgd2hlbiB1c2luZyBhaXItbGlxdWlkIGludGVyZmFjZSBjdWx0dXJlcywgYW5kIHVuZGVyc2NvcmVkIHRoZSBpbXBvcnRhbmNlIG9mIG9wdGltaXppbmcgcGFydGljbGUgc2l6ZSB0byBlbnN1cmUgZWZmZWN0aXZlIGRlbGl2ZXJ5IHRvIHRoZSBkZWVwZXIgcmVnaW9ucyBvZiB0aGUgbHVuZ3MuXG4gICAgICBQcm9mLiBXZWJlciBhbHNvIGVtcGhhc2l6ZWQgdGhlIG5lZWQgdG8gdGVzdCB3aGV0aGVyIHRoZSBzeXN0ZW0gY2FuIHN0aWxsIHRyYW5zZmVjdCBjZWxscyBpbiB0aGUgcHJlc2VuY2Ugb2YgbXVjdXMuIDwvcD4sXG4gICAgPHA+SXQgd2FzIHN1Z2dlc3RlZCB0byB1c2UgdGhlIFVzc2luZyBjaGFtYmVyIHRvIGFzc2VzcyB0aGUgZWZmZWN0aXZlbmVzcyBvZiB0aGUgZGVsaXZlcnkgc3lzdGVtIGFuZCB0aGVyYXBldXRpYyBtUk5BLCB0aG91Z2ggdGhleSBub3RlZCBjZXJ0YWluIGNoYWxsZW5nZXMgd2l0aCB0aGlzIHRlY2huaXF1ZS4gV2UgYWxzbyBkaXNjdXNzZWQgYWx0ZXJuYXRpdmVzIGxpa2Ugb3JnYW5vaWRzLFxuICAgICAgd2hpY2ggb2ZmZXIgb25seSBpbmRpcmVjdCBtZWFzdXJlbWVudHMgb2YgQ0ZUUiBmdW5jdGlvbiwgYW5kIHBhdGNoIGNsYW1waW5nLCB3aGljaCwgdGhvdWdoIG1vcmUgcHJlY2lzZSwgaXMgYSBtb3JlIGNvbXBsZXggYW5kIGV4cGVuc2l2ZSBtZXRob2QuIEFkZGl0aW9uYWxseSwgUHJvZi4gV2ViZXIgcmVjb21tZW5kZWQgZXhwbG9yaW5nIGNoaXRvc2FuLWJhc2VkIGRlbGl2ZXJ5XG4gICAgICBzeXN0ZW1zIGR1ZSB0byB0aGVpciBzdWNjZXNzIGluIGhpcyBwcmV2aW91cyB3b3JrLCBzdWdnZXN0aW5nIHRoZXkgY291bGQgYmUgYSBzYWZlciBhbHRlcm5hdGl2ZSB0byBQRUctbGlwaWQgc3lzdGVtcywgd2hpY2ggaGFkIHNob3duIGlzc3VlcyB3aXRoIGN5dG90b3hpY2l0eS4gPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5UaGVzZSBpbnNpZ2h0cyBoZWxwZWQgcmVmaW5lIG91ciBpR0VNIHByb2plY3QgaW4gc2V2ZXJhbCBrZXkgd2F5czpcbiAgICAgIDx1bD5cbiAgICAgICAgPGxpPkNlbGwgVGFyZ2V0aW5nOiBXZSBkZWNpZGVkIHRvIGNvbnRpbnVlIGV4cGxvcmluZyBpb25vY3l0ZXMgYXMgYSB0YXJnZXQgYnV0IGFja25vd2xlZGdlZCB0aGUgdGVjaG5pY2FsIGh1cmRsZXMgaW52b2x2ZWQuIFdlIGFsc28gZXhwYW5kZWQgb3VyIGZvY3VzIHRvIGluY2x1ZGUgbXVsdGlwbGUgY2VsbCB0eXBlcyB0byB0ZXN0IGRpZmZlcmVudCBkZWxpdmVyeSBzeXN0ZW1zLiA8L2xpPlxuICAgICAgICA8bGk+RGVsaXZlcnkgU3lzdGVtczogV2UgYmVnYW4gaW52ZXN0aWdhdGluZyBjaGl0b3Nhbi1iYXNlZCBuYW5vcGFydGljbGVzIGFzIGEgc2FmZXIgYWx0ZXJuYXRpdmUgdG8gUEVHLWxpcGlkIHN5c3RlbXMuIFRoZSBzdWdnZXN0aW9uIHRvIG9wdGltaXplIHBhcnRpY2xlIHNpemUgYW5kIGRlbGl2ZXJ5IGZvciBpbmhhbGF0aW9uIHdhcyBhbHNvIGludGVncmF0ZWQgaW50byBvdXIgZGVzaWduLiA8L2xpPlxuICAgICAgICA8bGk+RXhwZXJpbWVudGFsIFRvb2xzOiBCYXNlZCBvbiB0aGUgZGlzY3Vzc2lvbiwgd2UgcGxhbiB0byB1c2UgYW4gVXNzaW5nIGNoYW1iZXIgdG8gbWVhc3VyZSBvdmVyYWxsIENGVFIgZnVuY3Rpb24gaW4gZGlmZmVyZW50IGNlbGwgdHlwZXMgYnV0IHdpbGwgYWxzbyBleHBsb3JlIG9yZ2Fub2lkLWJhc2VkIGFwcHJvYWNoZXMgZm9yIHByZWxpbWluYXJ5IHRlc3RpbmcuIEFkZGl0aW9uYWxseSwgd2UgY29uc3VsdGVkIHRoZSBtZWRpY2FsIGZhY3VsdHkgb24gdGhlIHBvc3NpYmlsaXR5IG9mIHVzaW5nIHBhdGNoIGNsYW1waW5nIGZvciBtb3JlIGRldGFpbGVkIG1lYXN1cmVtZW50cyBvZiBzdWNjZXNzZnVsIHRyYW5zZmVjdGlvbiBhbmQgcmVzdG9yZWQgQ0ZUUiBmdW5jdGlvbi4gPC9saT5cbiAgICAgIDwvdWw+LFxuICAgIDwvcD5dLFxuICAgIHN1bW1hcnk6IFwiVGhlIGludGVydmlldyBwcm92aWRlZCBrZXkgaW5zaWdodHMgaW50byB0YXJnZXRpbmcgaW9ub2N5dGVzIGZvciBDRlRSLW1STkEgZGVsaXZlcnksIG92ZXJjb21pbmcgbXVjdXMgYmFycmllcnMsIGFuZCB0ZXN0aW5nIGRlbGl2ZXJ5IGVmZmVjdGl2ZW5lc3MgdXNpbmcgVXNzaW5nIGNoYW1iZXJzLCBvcmdhbm9pZHMsIGFuZCBwYXRjaCBjbGFtcGluZywgd2hpbGUgYWxzbyBzdWdnZXN0aW5nIGNoaXRvc2FuLWJhc2VkIG5hbm9wYXJ0aWNsZXMgYXMgYSBzYWZlciBhbHRlcm5hdGl2ZSB0byBQRUctbGlwaWQgc3lzdGVtcy5cIixcbiAgICBtb250aHM6IFwibWF5XCJcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIkRyLlwiLFxuICAgIHZvcm5hbWU6IFwiQ3Jpc3RpYW4tR2FicmllbFwiLFxuICAgIG5hY2hubmFtZTogXCJPbGFyaXVcIixcbiAgICBqb2I6IFwicGVkaWF0cmljaWFuXCIsXG4gICAgYWZmaWxpYXRpb246IFwiT1dMIFVuaXZlcnNpdHkgSG9zcGl0YWxcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydvbGFyaXUnXSxcbiAgICB0YWc6IFwiTWVkaWNhbCBQcm9mZXNzaW9uYWxcIixcbiAgICBoZWFkaW5nOiBcIkRpc2N1c3Npb24gd2l0aCBhIHBlZGlhdHJpY2lhbiBhbmQgaGlzIGZvcm1lciBwYXRpZW50IGFib3V0IHRyZWF0bWVudCBjaGFsbGVuZ2VzIGFuZCBwZXJzcGVjdGl2ZXNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJvbGFyaXVcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlTmFjaG5hbWU6IFwiT2xhcml1LCBDbGluaWNhbCBQaHlzaWNpYW4gYW5kIENGIEV4cGVydFwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJEci4gQ3Jpc3RpYW4tR2FicmllbFwiLFxuICAgIHF1b3RlOiBcIkZvciBtb3N0IGZhbWlsaWVzLCBpdFx1MjAxOXMgYSBzaG9jay4gQ3lzdGljIGZpYnJvc2lzIHN0aWxsIGhhcyBhIHN0cm9uZyBhc3NvY2lhdGlvbiB3aXRoIGJlaW5nIGEgbGlmZS10aHJlYXRlbmluZyBkaXNlYXNlLCBkZXNwaXRlIHRoZSBmYWN0IHRoYXQgd2Ugbm93IGhhdmUgZ29vZCB0cmVhdG1lbnRzLCBhbmQgbWFueSBwYXRpZW50cyBjYW4gbGl2ZSBoZWFsdGh5IGxpdmVzLiBUaGUgZGlhZ25vc2lzIHB1dHMgYSBodWdlIHBzeWNob2xvZ2ljYWwgc3RyYWluIG9uIHRoZSBmYW1pbHksIGVzcGVjaWFsbHkgd2hlbiBkZWFsaW5nIHdpdGggdmVyeSB5b3VuZyBjaGlsZHJlbi5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiVG8gZ2FpbiBhIGRlZXBlciBpbnNpZ2h0IGludG8gdGhlIHBhdGggdG8gZGlhZ25vc2lzLCB3ZSBpbnZpdGVkIHBlZGlhdHJpY2lhbiBEci4gQ3Jpc3RpYW4tR2FicmllbCBPbGFyaXUgZnJvbSB0aGUgVW5pdmVyc2l0eSBEZXBhcnRtZW50IG9mIFBlZGlhdHJpY3MgYW5kIEFkb2xlc2NlbnQgTWVkaWNpbmUgdG8gc2hhcmUgaGlzIGV4cGVyaWVuY2VzIHdpdGggQ0YgcGF0aWVudHMgd2l0aCB1cy4gV2UgaW50ZXJ2aWV3ZWQgaGltIGJlY2F1c2Ugb2YgaGlzIGV4cGVydGlzZSBpbiB0aGUgZWZmZWN0cyBvZiBkaWFnbm9zaXMgb24gdGhlIHBhdGllbnQgYW5kIHRoZSBmYW1pbHkgbWVtYmVycywgYnV0IGFsc28gb24gZGFpbHkgbGlmZS4gQWRkaXRpb25hbGx5LCB3ZSB3YW50IHRvIGNsb3NlIHRoZSBnYXAgYW5kIGNyZWF0ZSBhIGJyaWRnZSBiZXR3ZWVuIGFjYWRlbWljIHJlc2VhcmNoIGFuZCBjbGluaWNhbCBhcHBsaWNhdGlvbnMuIFRoZXJlZm9yZSwgRHIuIE9sYXJpdSBnYXZlIHVzIGluc2lnaHRzIGFib3V0IHRoZSBjbGluaWNhbCBwZXJzcGVjdGl2ZXMgb24gQ0YgcGF0aWVudHMuXCIsXG4gICAgaW5zaWdodHM6IFs8cD5XZSBpbnZpdGVkIE1heCwgb3VyIENGIHBhdGllbnQgY29udGFjdCwgdG8gam9pbiBEci4gT2xhcml1IGluIGRpc2N1c3NpbmcgdGhlIGludGVyc2VjdGlvbiBvZiBhY2FkZW1pYyByZXNlYXJjaCwgY2xpbmljYWwgYXBwbGljYXRpb24sIGFuZCBwYXRpZW50IG5lZWRzLiBUaHJvdWdoIG91ciBjb25uZWN0aW9uIHdpdGggPGEgaHJlZj1cImh0dHBzOi8vd3d3LmNmdnd3Lm9yZ1wiID5DRiBWZXN0cyBXb3JsZHdpZGU8L2E+LCBhbiBvcmdhbml6YXRpb24gZGVkaWNhdGVkIHRvIHByb3ZpZGluZyBsaWZlLXNhdmluZyB0aGVyYXB5IHZlc3RzIHRvIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cyBnbG9iYWxseSwgd2UgZ2FpbmVkIGluc2lnaHRzIGludG8gdGhlIGNoYWxsZW5nZXMgZmFjZWQgYnkgQ0YgcGF0aWVudHMsIHBhcnRpY3VsYXJseSBpbiByZWdpb25zIGxpa2UgVGhhaWxhbmQsIHdoZXJlIGFjY2VzcyB0byBhZHZhbmNlZCB0cmVhdG1lbnRzIGFuZCBtZWRpY2FsIGRldmljZXMgaXMgbGltaXRlZC4gVGhlIGNvbnZlcnNhdGlvbiBoaWdobGlnaHRlZCB0aGUgY3JpdGljYWwgcm9sZSBvZiBlYXJseSBkaWFnbm9zaXMgYW5kIGludGVydmVudGlvbiwgYXMgd2VsbCBhcyB0aGUgcXVhbGl0eS1vZi1saWZlIGNoYWxsZW5nZXMgbWFueSBwYXRpZW50cyBlbmR1cmUgZHVlIHRvIGNvbnZlbnRpb25hbCB0cmVhdG1lbnRzIHRoYXQgbWF5IG5vdCBiZSBlZmZlY3RpdmUgZm9yIGV2ZXJ5b25lLiBJbm5vdmF0aXZlIGFwcHJvYWNoZXMsIHN1Y2ggYXMgb3VyIFNPUlQgTE5QIChsaXBpZCBuYW5vcGFydGljbGUpIGRlbGl2ZXJ5IHN5c3RlbSwgcHJlc2VudCBwcm9taXNpbmcgYWx0ZXJuYXRpdmVzIGZvciBDRiB0aGVyYXB5LiBUaGlzIHN5c3RlbSwgd2hpY2ggYWxsb3dzIGZvciBSTkEgZW5jYXBzdWxhdGlvbiBhbmQgYWRtaW5pc3RyYXRpb24gdmlhIGRyeSBzcHJheSBpbmhhbGF0aW9uLCBjb3VsZCByZXZvbHV0aW9uaXplIHRyZWF0bWVudCBieSB0YXJnZXRpbmcgbHVuZyBjZWxscyBtb3JlIGVmZmVjdGl2ZWx5LCBwYXJ0aWN1bGFybHkgaW4gcmVzb3VyY2UtbGltaXRlZCBzZXR0aW5ncy4gRHIuIE9sYXJpdSB1bmRlcnNjb3JlZCB0aGUgbmVlZCBmb3IgcHN5Y2hvbG9naWNhbCBzdXBwb3J0IGFuZCBjb29yZGluYXRlZCBjYXJlIGZvciBDRiBwYXRpZW50cywgZW1waGFzaXppbmcgdGhhdCBub3ZlbCB0aGVyYXBpZXMgbGlrZSBMTlAtYmFzZWQgZ2VuZSB0cmVhdG1lbnRzIGhhdmUgdGhlIHBvdGVudGlhbCB0byBpbXByb3ZlIHRyZWF0bWVudCBlZmZpY2FjeSBhbmQgYWNjZXNzaWJpbGl0eSwgdWx0aW1hdGVseSByZWR1Y2luZyB0aGUgbGlmZWxvbmcgYnVyZGVuIG9mIGNhcmUgZm9yIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcy4gPC9wPixcbiAgICAsXG4gICAgPHA+V2UgaGF2ZSBjb25zaWRlcmVkIHRoZSBleHRlbnQgdG8gd2hpY2ggYW4gZWFybHkgZGlhZ25vc2lzIGlzIGFsd2F5cyBhbiBhZHZhbnRhZ2UsIGFzIHNvbWUgcGFyZW50cyBwZXJjZWl2ZSBhbiBlYXJseSBkaWFnbm9zaXMgYXMgYW4gYWRkaXRpb25hbCBidXJkZW4gYW5kIHdvdWxkIHByZWZlciB0byBleHBlcmllbmNlIHRoZSBmaXJzdCB5ZWFycyBvZiB0aGVpciBjaGlsZCdzIGxpZmUgd2l0aG91dCBjb25zdGFudCBtZWRpY2FsIGludGVydmVudGlvbi4gRXNwZWNpYWxseSB3aGVuIHRoZXJlIGFyZSBjYXNlcyBpbiB3aGljaCBwYXRpZW50cyBvbmx5IHNob3cgYSBjbGVhciBjbGluaWNhbCBwaWN0dXJlIGF0IGFuIGFkdmFuY2VkIGFnZS4gVGhlIHBzeWNob2xvZ2ljYWwgYnVyZGVuIGFsc28gbGllcyB3aXRoIHRoZSBjaGlsZHJlbiwgd2hvIG9mdGVuIGV4cGVyaWVuY2UgbWVkaWNhbCB0cmF1bWEgYmVjYXVzZSB0aGV5IGFyZSBpbnZvbHZlZCBpbiBzdWNoIGludGVuc2l2ZSBtZWRpY2FsIGNhcmUgZnJvbSBiaXJ0aC4gQWRkaXRpb25hbGx5LCB0aGUgdHJlYXRtZW50IG9mIGN5c3RpYyBmaWJyb3NpcyBpcyB2ZXJ5IGV4cGVuc2l2ZSwgYW5kIHRoZSBjb3N0cyBhcmUgY292ZXJlZCBieSBoZWFsdGggaW5zdXJhbmNlIGNvbXBhbmllcyB0byB2YXJ5aW5nIGRlZ3JlZXMuIEluIHNvbWUgY291bnRyaWVzLCBzdWNoIGFzIHRoZSBVU0EsIFVrcmFpbmUgb3IgRGV2ZWxvcGluZyBjb3VudHJpZXMsIG1hbnkgZmFtaWxpZXMgY2Fubm90IGFmZm9yZCB0aGUgbmVjZXNzYXJ5IHRyZWF0bWVudHMuIEJ1dCBEci4gT2xhcml1IGFsc28gZHJldyBvdXIgYXR0ZW50aW9uIHRvIGFub3RoZXIgcHJvYmxlbSBpbiB0aGUgdHJlYXRtZW50IG9mIGN5c3RpYyBmaWJyb3Npcy4gSW5mZWN0aW9ucywgZXNwZWNpYWxseSB3aXRoIGJhY3RlcmlhIHN1Y2ggYXMgUHNldWRvbW9uYXMgc3BjYy4sIGFyZSBkaWZmaWN1bHQgdG8gdHJlYXQgYW5kIG9mdGVuIGxlYWQgdG8gbG9uZyBob3NwaXRhbCBzdGF5cy4gTWF4LCBvdXIgcGF0aWVudHNcdTIwMTkgcmVwcmVzZW50YXRpdmUsIHdobyBrbm93cyBEci4gT2xhcml1IHRocm91Z2ggaGlzIHRyZWF0bWVudCwgc2hhcmVkICBoaXMgZXhwZXJpZW5jZSB3aXRoIFBzZXVkb21vbmFzIHNwY2MgaW5mZWN0aW9ucywgaWxsdXN0cmF0aW5nIHRoZSByZWFsaXR5IG9mIGFuIGludmlzaWJsZSBkYW5nZXIgdGhhdCBkZXRlcm1pbmVzIGEgcGF0aWVudCdzIGV2ZXJ5ZGF5IGxpZmUuIFN0cmljdCBoeWdpZW5lIG1lYXN1cmVzIGFyZSByZXF1aXJlZCB0byBwcmV2ZW50IGluZmVjdGlvbnMsIHN1Y2ggYXMgd2VhcmluZyBmYWNlIG1hc2tzIGluIGhvc3BpdGFsIGFuZCBjYXJlZnVsIGhhbmRsaW5nIG9mIHBvdGVudGlhbCBzb3VyY2VzIG9mIGluZmVjdGlvbi4gVGhlIGNsaW5pY3Mgd2hlcmUgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzIGFyZSB0cmVhdGVkIHdvcmsgY2xvc2VseSB3aXRoIGEgbXVsdGlkaXNjaXBsaW5hcnkgdGVhbSBvZiBkb2N0b3JzLCBwc3ljaG9sb2dpc3RzLCBwaHlzaW90aGVyYXBpc3RzIGFuZCBudXRyaXRpb25pc3RzIHRvIGVuc3VyZSB0aGF0IHBhdGllbnRzIHJlY2VpdmUgaG9saXN0aWMgY2FyZS4gPC9wPixcbiAgICA8cD5Qcm9zIG9mIEVhcmx5IERpYWdub3NpcyBhbmQgVHJlYXRtZW50PC9wPixcbiAgICA8b2w+XG4gICAgICA8bGk+VGltZWx5IEludGVydmVudGlvbjogUHJldmVudHMgc2V2ZXJlIG9yZ2FuIGRhbWFnZSBhbmQgaW1wcm92ZXMgbG9uZy10ZXJtIG91dGNvbWVzLjwvbGk+XG4gICAgICA8bGk+SG9saXN0aWMgQ2FyZTogSW52b2x2ZXMgYSBtdWx0aWRpc2NpcGxpbmFyeSB0ZWFtIGZvciBjb21wcmVoZW5zaXZlIHBhdGllbnQgc3VwcG9ydC48L2xpPlxuICAgICAgPGxpPkFjY2VzcyB0byBJbm5vdmF0aW9uczogQWxsb3dzIHBhdGllbnRzIHRvIGJlbmVmaXQgZnJvbSBhZHZhbmNlbWVudHMgbGlrZSBuYW5vcGFydGljbGUgZHJ1ZyBkZWxpdmVyeS48L2xpPlxuICAgICAgPGxpPkZhbWlseSBTdXBwb3J0OiBQcm92aWRlcyBlZHVjYXRpb24gYW5kIHJlc291cmNlcyBmb3IgZWZmZWN0aXZlIG1hbmFnZW1lbnQgZnJvbSB0aGUgc3RhcnQuPC9saT5cbiAgICA8L29sPixcblxuICAgIDxwPkNvbnMgb2YgRWFybHkgRGlhZ25vc2lzIGFuZCBUcmVhdG1lbnQ8L3A+LFxuICAgIDxvbD5cbiAgICAgIDxsaT5Qc3ljaG9sb2dpY2FsIEJ1cmRlbjogTWF5IGNhdXNlIHN0cmVzcyBmb3IgcGFyZW50cyBhbmQgY2hpbGRyZW4gZHVlIHRvIGNvbnN0YW50IG1lZGljYWwgaW50ZXJ2ZW50aW9ucy48L2xpPlxuICAgICAgPGxpPkNvc3QgSW1wbGljYXRpb25zOiBUcmVhdG1lbnRzIGNhbiBiZSBleHBlbnNpdmUsIHdpdGggdmFyeWluZyBpbnN1cmFuY2UgY292ZXJhZ2UsIGxlYXZpbmcgbWFueSBmYW1pbGllcyB1bmFibGUgdG8gYWZmb3JkIGNhcmUuPC9saT5cbiAgICAgIDxsaT5JbmZlY3Rpb24gUmlza3M6IFBhdGllbnRzIHN0aWxsIGZhY2Ugcmlza3MgZnJvbSBpbmZlY3Rpb25zIGxpa2UgUHNldWRvbW9uYXMgc3BwLiwgbGVhZGluZyB0byBwb3RlbnRpYWwgaG9zcGl0YWxpemF0aW9ucy48L2xpPlxuICAgICAgPGxpPk92ZXItbWVkaWNhbGl6YXRpb246IENvbnRpbnVvdXMgZm9jdXMgb24gdHJlYXRtZW50IGNhbiBvdmVyd2hlbG0gZmFtaWxpZXMsIGFmZmVjdGluZyB0aGUgcXVhbGl0eSBvZiBlYXJseSBjaGlsZGhvb2QgZXhwZXJpZW5jZXMuPC9saT5cbiAgICA8L29sPixcbiAgICBdLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+SW4gc3VtbWFyeSwgb3VyIHByb2plY3QgZ3JlYXRseSBiZW5lZml0ZWQgZnJvbSB0aGUgY29udmVyc2F0aW9uIHdpdGggRHIuIE9sYXJpdS4gSGlzIGluc2lnaHRzIGludG8gdGhlIGNvbXBsZXhpdGllcyBvZiBjeXN0aWMgZmlicm9zaXMgdHJlYXRtZW50LCBwYXJ0aWN1bGFybHkgdGhlIHNpZ25pZmljYW5jZSBvZiBlYXJseSBkaWFnbm9zaXMsIHdlcmUgaW52YWx1YWJsZSBhbmQgd2UgY29uc2lkZXJlZCBlYXJseSB0cmVhdG1lbnQgbWV0aG9kcy4gTWF4XHUyMDE5cyBwZXJzb25hbCBleHBlcmllbmNlcyBhZGRlZCBhIGh1bWFuIHBlcnNwZWN0aXZlLCBpbGx1c3RyYXRpbmcgdGhlIG1lZGljYWwgYW5kIHBzeWNob2xvZ2ljYWwgY2hhbGxlbmdlcyBoZSBmYWNlcywgaW5jbHVkaW5nIGluZmVjdGlvbnMgd2l0aCA8aT5Qc2V1ZG9tb25hcyBzcHAuPC9pPiBEci4gT2xhcml1IGhpZ2hsaWdodGVuZCB0aGUgaW1wb3J0YW5jZSBvZiBhIG11bHRpZGlzY2lwbGluYXJ5IGFwcHJvYWNoLCBpbnZvbHZpbmcgbm90IGp1c3QgbWVkaWNhbCBwcm9mZXNzaW9uYWxzIGJ1dCBhbHNvIHBzeWNob2xvZ2lzdHMsIHBoeXNpb3RoZXJhcGlzdHMsIGFuZCBudXRyaXRpb25pc3RzIGZvciBob2xpc3RpYyBjYXJlLiBUaGlzIGRpc2N1c3Npb24gaGVscGVkIHVzIGFwcHJlY2lhdGUgdGhlIGJhbGFuY2UgYmV0d2VlbiB0aW1lbHkgaW50ZXJ2ZW50aW9ucyBhbmQgdGhlIGVtb3Rpb25hbCBidXJkZW4gb24gcGF0aWVudHMgYW5kIHRoZWlyIGZhbWlsaWVzLCBndWlkaW5nIHVzIHRvIGRldmVsb3AgYSBtb3JlIGVtcGF0aGV0aWMgdW5kZXJzdGFuZGluZyBvZiBsaXZpbmcgd2l0aCBjeXN0aWMgZmlicm9zaXMuPC9wPl0sXG4gICAgaW50ZXJ2aWV3OiA8PlxuICAgICAgPFFhQm94IHE9XCJDb3VsZCB5b3UgcGxlYXNlIHRlbGwgdXMgYWJvdXQgdGhlIGpvdXJuZXkgdGhhdCBwYXJlbnRzIGdvIHRocm91Z2ggd2l0aCB0aGVpciBDRi1zaWNrIGNoaWxkcmVuIGZyb20gdGhlIGZpcnN0IHZpc2l0IHRvIGRpYWdub3NpcyBhbmQgdHJlYXRtZW50P1wiIGE9XCJTaW5jZSAyMDE2LCBjeXN0aWMgZmlicm9zaXMgKENGKSBkaWFnbm9zaXMgaGFzIGJlZW4gcGFydCBvZiBuZXdib3JuIHNjcmVlbmluZy4gVGhpcyBtZWFucyB0aGF0IHdlIHJlY2VpdmUgbWFueSBjaGlsZHJlbiByaWdodCBhZnRlciBiaXJ0aCB3aG9zZSBzY3JlZW5pbmcgcmVzdWx0cyB3ZXJlIGFibm9ybWFsLiBUaGVzZSBjaGlsZHJlbiBhcmUgdGhlbiBzZW50IHRvIHVzIGZvciBmdXJ0aGVyIGNsYXJpZmljYXRpb24uIE5vdCBldmVyeSBjaGlsZCB3aXRoIGFuIGFibm9ybWFsIHNjcmVlbmluZyByZXN1bHQgaXMgc2ljaywgc28gd2UgcGVyZm9ybSBhIHN3ZWF0IHRlc3QsIGFuZCBhYm91dCBvbmUtdGhpcmQgb2YgdGhlIGNoaWxkcmVuIGFyZSBkaWFnbm9zZWQgd2l0aCB0aGUgZGlzZWFzZS4gVGhlIGFkdmFudGFnZSBvZiBlYXJseSBkaWFnbm9zaXMgaXMgdGhhdCB3ZSBjYW4gaW50ZXJ2ZW5lIGFuZCBzdGFydCB0cmVhdG1lbnQgZWFybHkgdG8gcHJldmVudCBvcmdhbiBkYW1hZ2UuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhbHNvIHJhcmUgbXV0YXRpb25zIHdoZXJlIHRoZSBjb3Vyc2Ugb2YgdGhlIGRpc2Vhc2UgaXMgZGlmZmljdWx0IHRvIHByZWRpY3QuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBhcmUgdGhlIHByb3MgYW5kIGNvbnMgb2YgbmV3Ym9ybiBzY3JlZW5pbmcgZm9yIGN5c3RpYyBmaWJyb3Npcz9cIiBhPVwiRnJvbSBhIG1lZGljYWwgcG9pbnQgb2YgdmlldywgaXRcdTIwMTlzIGJlbmVmaWNpYWwgdGhhdCB3ZSBjYW4gY2F0Y2ggbWFueSBvZiB0aGVzZSBjYXNlcyBlYXJseSwgYWxsb3dpbmcgdXMgdG8gYWN0IHN3aWZ0bHkuIFRoZXJlIGFyZSBldmVuIG1lZGljYXRpb25zIGZvciBzbWFsbCBiYWJpZXMsIGFuZCBlYXJseSBpbnRlcnZlbnRpb24gY2FuIHByb3RlY3Qgb3JnYW5zLCBwcmV2ZW50aW5nIGNvbmRpdGlvbnMgdGhhdCB3b3VsZCByZXF1aXJlIHRyYW5zcGxhbnRzIGxhdGVyIG9uLiBPbiB0aGUgZG93bnNpZGUsIGJlY2F1c2Ugb2YgdGhlIHdpZGUgdmFyaWV0eSBvZiBnZW5ldGljIG11dGF0aW9ucywgc29tZSBjYXNlcyB3ZSBpZGVudGlmeSBtYXkgbm90IHNob3cgc2lnbmlmaWNhbnQgc3ltcHRvbXMgdW50aWwgYWR1bHRob29kLiBUaGlzIGNyZWF0ZXMgYSBkaWxlbW1hLCBhcyB3ZSBjYW5cdTIwMTl0IHByZWRpY3QgaG93IHRoZWlyIGNvbmRpdGlvbiB3aWxsIHByb2dyZXNzLCBidXQgd2Ugc3RpbGwgc3RhcnQgdHJlYXRtZW50cyBlYXJseSwgd2hpY2ggY2FuIGJlIHN0cmVzc2Z1bCBmb3IgZmFtaWxpZXMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiQ2FuIHlvdSBnaXZlIHVzIGFuIGV4YW1wbGUgb2YgaG93IHRoaXMgc3RyZXNzIGltcGFjdHMgZmFtaWxpZXM/XCIgYT1cIlllcywgSVx1MjAxOXZlIGJlZW4gY2FyaW5nIGZvciBhIHBhdGllbnQgZnJvbSBiaXJ0aCB3aG8gaXMgbm93IGZpdmUgeWVhcnMgb2xkIGFuZCBkb2luZyB2ZXJ5IHdlbGwuIEhvd2V2ZXIsIGZyb20gdGhlIGJlZ2lubmluZywgc2hlIGhhZCB0byB1bmRlcmdvIHBoeXNpb3RoZXJhcHksIHJlZ3VsYXIgY2hlY2stdXBzLCBhbmQgYmxvb2QgdGVzdHMsIGV2ZW4gdGhvdWdoIHNoZSBoYXNuXHUyMDE5dCBzaG93biBhbnkgbWFqb3Igc3ltcHRvbXMuIEhlciBtb3RoZXIgb25jZSB0b2xkIG1lIHNoZSB3YXNuJ3Qgc3VyZSBpZiBzaGUgd291bGQgbWFrZSB0aGUgc2FtZSBkZWNpc2lvbiBhZ2FpbiwgYXMgdGhlIGVhcmx5IGludGVydmVudGlvbiBjYXVzZWQgYSBsb3Qgb2Ygc3RyZXNzLiBTaGUgd29uZGVyZWQgaWYgc2hlIG1pZ2h0IGhhdmUgZW5qb3llZCB0aGUgZmlyc3QgeWVhciBvZiBoZXIgY2hpbGRcdTIwMTlzIGxpZmUgbW9yZSBpZiB0aGluZ3MgaGFkIGJlZW4gbW9yZSByZWxheGVkLiBOb3csIGF0IGFnZSBmaXZlLCBub3RoaW5nIHNpZ25pZmljYW50IGhhcyBjaGFuZ2VkIGluIGhlciBjb25kaXRpb24sIGFuZCB0aGV5XHUyMDE5dmUgZGVjaWRlZCBhZ2FpbnN0IHN0YXJ0aW5nIG1vZHVsYXRvciB0aGVyYXB5IGZvciB0aGUgdGltZSBiZWluZy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIb3cgZG8gZmFtaWxpZXMgdHlwaWNhbGx5IHJlYWN0IHdoZW4gYSBDRiBkaWFnbm9zaXMgaXMgY29uZmlybWVkP1wiIGE9XCJGb3IgbW9zdCBmYW1pbGllcywgaXRcdTIwMTlzIGEgc2hvY2suIEN5c3RpYyBmaWJyb3NpcyBzdGlsbCBoYXMgYSBzdHJvbmcgYXNzb2NpYXRpb24gd2l0aCBiZWluZyBhIGxpZmUtdGhyZWF0ZW5pbmcgZGlzZWFzZSwgZGVzcGl0ZSB0aGUgZmFjdCB0aGF0IHdlIG5vdyBoYXZlIGdvb2QgdHJlYXRtZW50cyBhbmQgbWFueSBwYXRpZW50cyBjYW4gbGl2ZSBoZWFsdGh5IGxpdmVzLiBUaGUgZGlhZ25vc2lzIHB1dHMgYSBodWdlIHBzeWNob2xvZ2ljYWwgc3RyYWluIG9uIHRoZSBmYW1pbHksIGVzcGVjaWFsbHkgd2hlbiBkZWFsaW5nIHdpdGggdmVyeSB5b3VuZyBjaGlsZHJlbi4gVGhlIG1vc3QgaW1wb3J0YW50IGZhY3RvciBpbiBtYW5hZ2luZyB0aGlzLCBhc2lkZSBmcm9tIG1lZGljYWwgdHJlYXRtZW50cywgaXMgdGhlIHN1cHBvcnQgZnJvbSB0aGUgbWVkaWNhbCB0ZWFtLiBJdFx1MjAxOXMgY3JpdGljYWwgdG8gaGF2ZSBhIHRlYW0gdGhhdCB3b3JrcyB3ZWxsIHRvZ2V0aGVyLCBub3QganVzdCBhIHNpbmdsZSBkb2N0b3IgY2FsbGluZyBhbGwgdGhlIHNob3RzLiBGYW1pbGllcyBvZnRlbiBuZWVkIG11Y2ggbW9yZSBwc3ljaG9sb2dpY2FsIGFuZCBudXRyaXRpb25hbCBzdXBwb3J0IGVhcmx5IG9uIHRoYW4gbWVkaWNhbCBpbnRlcnZlbnRpb24sIGFuZCB0aGlzIGlzIHdoZXJlIGhhdmluZyBhIG11bHRpZGlzY2lwbGluYXJ5IHRlYW0gYmVjb21lcyBlc3NlbnRpYWwuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBpcyB0aGUgcHJvY2VzcyBmb3IgZGlhZ25vc2luZyBhbmQgdHJlYXRpbmcgb2xkZXIgcGF0aWVudHMgd2hvIGhhdmVuXHUyMDE5dCBiZWVuIHRocm91Z2ggbmV3Ym9ybiBzY3JlZW5pbmc/XCIgYT1cIk9sZGVyIHBhdGllbnRzIHdobyBjb21lIHRvIHVzIHdpdGggY29tcGxhaW50cyBtYXkgbm90IGhhdmUgdW5kZXJnb25lIG5ld2Jvcm4gc2NyZWVuaW5nLCBzbyB0aGV5IGFyZSBkaWFnbm9zZWQgYmFzZWQgb24gdGhlaXIgc3ltcHRvbXMuIFRoZXNlIGNvbXBsYWludHMgY2FuIHJhbmdlIGZyb20gbWlsZCB0byBzZXZlcmUgYW5kIGFyZSBvZnRlbiBub24tc3BlY2lmaWMsIGxpa2UgY2hyb25pYyBjb3VnaCBvciBmYWlsdXJlIHRvIHRocml2ZS4gV2hlbiB0aGUgY2F1c2Ugb2YgdGhlc2Ugc3ltcHRvbXMgaXNuXHUyMDE5dCBpbW1lZGlhdGVseSBjbGVhciwgd2UgZG8gYSBzd2VhdCB0ZXN0LiBPbmNlIGRpYWdub3NlZCwgd2UgY2FuIHN0YXJ0IHRyZWF0bWVudCwgd2hpY2ggb2Z0ZW4gaW52b2x2ZXMgd29ya2luZyB3aXRoIGEgcHN5Y2hvbG9naXN0IHRvIGhlbHAgdGhlIGZhbWlseSBwcm9jZXNzIHRoZSBuZXdzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBkbyB5b3Ugc3VwcG9ydCBmYW1pbGllcyBkdXJpbmcgdGhlIGluaXRpYWwgc2hvY2sgb2YgZGlhZ25vc2lzP1wiIGE9XCJXaGVuIHRoZSBkaWFnbm9zaXMgaXMgcGFydGljdWxhcmx5IGRpZmZpY3VsdCBmb3IgZmFtaWxpZXMgdG8gcHJvY2Vzcywgd2Ugc29tZXRpbWVzIGhhdmUgdGhlIHBhdGllbnRzIHN0YXkgaW4gdGhlIGhvc3BpdGFsIGZvciB1cCB0byBhIHdlZWsuIFRoaXMgZ2l2ZXMgdXMgdGltZSB0byBtZWV0IHdpdGggdGhlbSBkYWlseSwgYW5zd2VyIHF1ZXN0aW9ucywgYW5kIHByb3ZpZGUgZ3VpZGFuY2UuIER1cmluZyB0aGUgZmlyc3QgY29uc3VsdGF0aW9uLCBmYW1pbGllcyBvZnRlbiBmYWxsIGludG8gYSBzdGF0ZSBvZiBzaG9jaywgYW5kIG5vIG1hdHRlciBob3cgY2FyZWZ1bGx5IHRoZSBkb2N0b3IgZXhwbGFpbnMgdGhpbmdzLCBpdFx1MjAxOXMgaGFyZCBmb3IgdGhlbSB0byBhYnNvcmIgYWxsIHRoZSBpbmZvcm1hdGlvbi4gTWVldGluZyB3aXRoIHRoZW0gYWdhaW4gb3ZlciB0aGUgZm9sbG93aW5nIGRheXMgaGVscHMsIGFuZCB3ZSBoYXZlIHNwZWNpYWxpc3RzIGluIGh5Z2llbmUsIHBoeXNpb3RoZXJhcHksIGFuZCBzb2NpYWwgY291bnNlbGluZyBvbiB0aGUgdGVhbSB0byBvZmZlciBob2xpc3RpYyBzdXBwb3J0LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgaGFwcGVucyBpZiBhIGNoaWxkIGdldHMgaW5mZWN0ZWQgd2l0aCBQc2V1ZG9tb25hcyBvciBhbm90aGVyIGJhY3RlcmlhbCBjdWx0dXJlIGluIHRoZSBsdW5ncz9cIiBhPVwiUHNldWRvbW9uYXMgaXMgb25lIG9mIHRoZSBtb3N0IGZlYXJlZCBpbmZlY3Rpb25zIGZvciBDRiBwYXRpZW50cy4gSXRcdTIwMTlzIGEgY29tbW9uIGVudmlyb25tZW50YWwgYmFjdGVyaXVtIHRoYXQgaXMgZGlmZmljdWx0IGZvciBDRiBwYXRpZW50cyB0byBjbGVhciBmcm9tIHRoZWlyIGx1bmdzLiBPbmNlIHdlIGRldGVjdCBpdCwgd2UgdHJlYXQgdGhlIHBhdGllbnQgd2l0aCBzcGVjaWZpYyBhbnRpYmlvdGljcywgb2Z0ZW4gdGhyb3VnaCBpbnRyYXZlbm91cyBkZWxpdmVyeSBvdmVyIHR3byB3ZWVrcyBpbiB0aGUgaG9zcGl0YWwuIEFmdGVyIHRoZSBpbml0aWFsIHRyZWF0bWVudCwgcGF0aWVudHMgbWF5IGNvbnRpbnVlIHdpdGggaW5oYWxlZCBhbnRpYmlvdGljcyBmb3Igc2V2ZXJhbCBtb250aHMgdG8gcHJldmVudCBmdXJ0aGVyIGluZmVjdGlvbi4gSXRcdTIwMTlzIGEgdmVyeSBpbnRlbnNpdmUgcHJvY2VzcywgdGFraW5nIGEgbG90IG9mIHRpbWUgYW5kIGVuZXJneSwgYW5kIGV2ZW4gdGhvdWdoIHdlIG1heSBnZXQgcmlkIG9mIHRoZSBpbmZlY3Rpb24gYSBmZXcgdGltZXMsIGV2ZW50dWFsbHkgdGhlIGdlcm0gY2FuIGJlY29tZSByZXNpc3RhbnQgYW5kIHN0YXkgaW4gdGhlIGJvZHkuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiQXJlIHRoZXJlIGFueSBwcmV2ZW50YXRpdmUgbWVhc3VyZXMgdG8gYXZvaWQgUHNldWRvbW9uYXMgaW5mZWN0aW9uP1wiIGE9XCJZZXMsIHRoZXJlIGFyZSBoeWdpZW5lIG1lYXN1cmVzLiBGb3IgZXhhbXBsZSwgQ0YgcGF0aWVudHMgYWx3YXlzIHdlYXIgbWFza3MgaW4gdGhlIGhvc3BpdGFsIHRvIGF2b2lkIGluZmVjdGlvbiBmcm9tIG90aGVyIHBhdGllbnRzLiBCdXQgaXRcdTIwMTlzIGRpZmZpY3VsdCB0byBhdm9pZCBQc2V1ZG9tb25hcyBlbnRpcmVseSBzaW5jZSBpdFx1MjAxOXMgZm91bmQgaW4gc3RhZ25hbnQgd2F0ZXIgYW5kIG90aGVyIHBsYWNlcyBpbiB0aGUgZW52aXJvbm1lbnQuIFdlIGFkdmlzZSBwYXRpZW50cyB0byBiZSBjYXV0aW91cyB3aXRoIHdhdGVyIHNvdXJjZXMgbGlrZSBzaW5rcyBvciBwb25kcy4gSG93ZXZlciwgd2UgbmVlZCB0byBiYWxhbmNlIHN0cmljdCBoeWdpZW5lIHdpdGggcXVhbGl0eSBvZiBsaWZlLCBlc3BlY2lhbGx5IGZvciBjaGlsZHJlbiwgYXMgYmVpbmcgb3Zlcmx5IHN0cmljdCBjYW4gbGVhZCB0byBvYnNlc3NpdmUtY29tcHVsc2l2ZSBiZWhhdmlvcnMgd2l0aG91dCBuZWNlc3NhcmlseSByZWR1Y2luZyB0aGUgcmlzayBvZiBpbmZlY3Rpb24uXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRG8gc29tZSBmYW1pbGllcyByZXNpc3QgdGhlIG1lZGljYWwgYWR2aWNlIG9uIHByZXZlbnRpbmcgaW5mZWN0aW9ucz9cIiBhPVwiT24gYW4gZW1vdGlvbmFsIGxldmVsLCBJIGZlZWwgdGhhdCBmYW1pbGllcyB3aG8gdGFrZSBjYWxjdWxhdGVkIHJpc2tzIHRvIGltcHJvdmUgdGhlaXIgcXVhbGl0eSBvZiBsaWZlIHRlbmQgdG8gY29wZSBiZXR0ZXIuIE92ZXJwcm90ZWN0aW9uIGNhbiBsZWFkIHRvIGdyZWF0ZXIgcHN5Y2hvbG9naWNhbCBzdHJlc3MuIEhvd2V2ZXIsIEkgZG9uJ3QgaGF2ZSBlbm91Z2ggZXhwZXJpZW5jZSB0byBzYXkgZm9yIHN1cmUgd2hldGhlciB0aG9zZSB3aG8gZG9uXHUyMDE5dCBwcm90ZWN0IHRoZW1zZWx2ZXMgYXMgc3RyaWN0bHkgZ2V0IGluZmVjdGVkIGVhcmxpZXIgb3Igc3VmZmVyIHdvcnNlIG91dGNvbWVzLiBJdFx1MjAxOXMgYWxzbyB3b3J0aCBub3RpbmcgdGhhdCBuZXcgdGhlcmFwaWVzIGFyZSBub3cgYXZhaWxhYmxlIHRoYXQgaGVscCByZWR1Y2UgaW5mZWN0aW9uIHJpc2tzLCBhbGxvd2luZyBmb3IgYSBiaXQgbW9yZSBmcmVlZG9tLCBlc3BlY2lhbGx5IGZvciBjaGlsZHJlbi5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIb3cgb2Z0ZW4gZG8gcGF0aWVudHMgbmVlZCB0byBiZSB0ZXN0ZWQgZm9yIGluZmVjdGlvbnMgbGlrZSBQc2V1ZG9tb25hcz9cIiBhPVwiVGhlIG9mZmljaWFsIGd1aWRlbGluZSBpcyBldmVyeSB0d28gbW9udGhzLCBidXQgcmVhbGlzdGljYWxseSB3ZSBhaW0gZm9yIGV2ZXJ5IDMtNCBtb250aHMuIFJlZ3VsYXIgdGVzdGluZyBpcyBpbXBvcnRhbnQgYmVjYXVzZSBQc2V1ZG9tb25hcyBjYW4gYmUgcHJlc2VudCB3aXRob3V0IHN5bXB0b21zLiBJZiB0b28gbXVjaCB0aW1lIHBhc3NlcyBiZWZvcmUgZGV0ZWN0aW9uLCBpdCBiZWNvbWVzIGhhcmRlciB0byByZW1vdmUgdGhlIGluZmVjdGlvbi5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIb3cgZG8geW91IG1hbmFnZSBjaHJvbmljYWxseSBpbmZlY3RlZCBwYXRpZW50cz9cIiBhPVwiUGF0aWVudHMgd2hvIGFyZSBjaHJvbmljYWxseSBpbmZlY3RlZCB3aXRoIFBzZXVkb21vbmFzIGRvbid0IHN0YXkgaW4gdGhlIGhvc3BpdGFsIGluZGVmaW5pdGVseS4gVGhleSB1c3VhbGx5IHJlbWFpbiBhdCBob21lLCBpbmhhbGluZyBhbnRpYmlvdGljcyBkYWlseSBhbmQgdGFraW5nIHBoeXNpb3RoZXJhcHkgdG8gaGVscCBjbGVhciBtdWN1cyBmcm9tIHRoZWlyIGx1bmdzLiBJbnRyYXZlbm91cyBhbnRpYmlvdGljIHRoZXJhcHkgaXMgcmVzZXJ2ZWQgZm9yIG1vcmUgc2V2ZXJlIGNhc2VzIG9yIGR1cmluZyBjbGluaWNhbCBkZXRlcmlvcmF0aW9uLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkFyZSBjaHJvbmljYWxseSBpbmZlY3RlZCBwYXRpZW50cyBhbGxvd2VkIHRvIHZpc2l0IHlvdXIgcHJhY3RpY2U/XCIgYT1cIlllcywgY2hyb25pY2FsbHkgaW5mZWN0ZWQgcGF0aWVudHMgYXJlIGFsbG93ZWQgdG8gdmlzaXQgdGhlIHByYWN0aWNlLiBXZSB0cnkgdG8gc2NoZWR1bGUgdGhlbSBhdCBkaWZmZXJlbnQgdGltZXMgdG8gYXZvaWQgY29udGFjdCBiZXR3ZWVuIGluZmVjdGVkIGFuZCBub24taW5mZWN0ZWQgcGF0aWVudHMsIGFuZCB3ZSBvZnRlbiB1c2Ugc2VwYXJhdGUgcm9vbXMgdG8gbWluaW1pemUgcmlzay5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIb3cgb2Z0ZW4gZG8gY2hpbGRyZW4gYW5kIGFkdWx0cyBuZWVkIHRvIGhhdmUgbHVuZyBmdW5jdGlvbiB0ZXN0cz9cIiBhPVwiWW91IGNhblx1MjAxOXQgY29uZHVjdCBhIGdvb2QgbHVuZyBmdW5jdGlvbiB0ZXN0IHVudGlsIHRoZSBjaGlsZCBpcyBhcm91bmQgZml2ZSB5ZWFycyBvbGQuIEFmdGVyIHRoYXQsIGl0IGJlY29tZXMgcGFydCBvZiB0aGUgcm91dGluZSBjaGVjay11cCBiZWNhdXNlIGl0XHUyMDE5cyBub24taW52YXNpdmUgYW5kIHByb3ZpZGVzIGEgZ29vZCBpbmRpY2F0b3Igb2YgbHVuZyBoZWFsdGguIFdlIHNlZSBjaGlsZHJlbiBldmVyeSB0aHJlZSBtb250aHMsIGFuZCBJIGJlbGlldmUgdGhlIHByb3RvY29sIGlzIHRoZSBzYW1lIGZvciBhZHVsdHMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBkbyB5b3UgdGhpbmsgYWJvdXQgc3VwcG9ydCBncm91cHMgb3IgaGVhbHRoIHJldHJlYXRzIGZvciBDRiBwYXRpZW50cz9cIiBhPVwiU3VwcG9ydCBncm91cHMgYXJlIGV4dHJlbWVseSBpbXBvcnRhbnQuIEFsdGhvdWdoIHdlIGFyZSBhIGdvb2QgbWVkaWNhbCB0ZWFtLCBhZHZpY2UgZnJvbSBwZWVycyBvZnRlbiByZXNvbmF0ZXMgbW9yZSB3aXRoIHBhdGllbnRzLiBXZVx1MjAxOXZlIG9yZ2FuaXplZCB0d28gcGFyZW50cycgZXZlbmluZ3MgcmVjZW50bHksIHdoZXJlIHBhcmVudHMgY2FuIGV4Y2hhbmdlIGV4cGVyaWVuY2VzIGFuZCBzdXBwb3J0IGVhY2ggb3RoZXIuIFVuZm9ydHVuYXRlbHksIHdlIGNhblx1MjAxOXQgaW52aXRlIHRoZSBjaGlsZHJlbiB0aGVtc2VsdmVzIGR1ZSB0byB0aGUgcmlzayBvZiBpbmZlY3Rpb24sIGJ1dCBpbiByZWhhYmlsaXRhdGlvbiBzZXR0aW5ncywgdGhleSBjYW4gbWVldCBpbiBnZXJtLXNwZWNpZmljIGdyb3VwcyBhbmQgYmVuZWZpdCBmcm9tIHNoYXJlZCBleHBlcmllbmNlcy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJJcyB0aGVyZSBhIHJpc2sgb2YgYW50aWJpb3RpYyByZXNpc3RhbmNlIHdpdGggcmVwZWF0ZWQgdHJlYXRtZW50cz9cIiBhPVwiWWVzLCByZXNpc3RhbmNlIGlzIGEgY29uY2VybiwgZXNwZWNpYWxseSB3aXRoIHJlcGVhdGVkIGFudGliaW90aWMgdHJlYXRtZW50cy4gSG93ZXZlciwgdGhlcmVcdTIwMTlzIG9mdGVuIGEgZGlzY3JlcGFuY3kgYmV0d2VlbiB3aGF0IHdlIHNlZSBpbiBsYWIgdGVzdHMgYW5kIHRoZSBjbGluaWNhbCBvdXRjb21lcy4gRXZlbiBpZiBhIGdlcm0gc2hvd3MgcmVzaXN0YW5jZSBvbiBwYXBlciwgbWFueSBwYXRpZW50cyBzdGlsbCByZXNwb25kIHdlbGwgdG8gdHJlYXRtZW50LiBXZSBiYXNlIG91ciBkZWNpc2lvbnMgbW9yZSBvbiBjbGluaWNhbCBvdXRjb21lcyB0aGFuIGxhYiByZXN1bHRzLCBjaGFuZ2luZyBhbnRpYmlvdGljcyBvbmx5IGlmIHRoZSBwYXRpZW50XHUyMDE5cyBjb25kaXRpb24gZG9lc25cdTIwMTl0IGltcHJvdmUuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiQXJlIHRoZXJlIGFueSBzaWRlIGVmZmVjdHMgdG8gdGhlIG1lZGljYXRpb25zP1wiIGE9XCJZZXMsIGFsbCBtZWRpY2F0aW9ucyBoYXZlIHBvdGVudGlhbCBzaWRlIGVmZmVjdHMsIHRob3VnaCBtYW55IG9mIHRoZW0gYXJlIG1pbm9yLCBsaWtlIHJhc2hlcyBvciBzdG9tYWNoYWNoZXMuIE9uZSBzZXJpb3VzIHNpZGUgZWZmZWN0IG9mIHNvbWUgYW50aWJpb3RpY3MgaXMgaGVhcmluZyBkYW1hZ2UsIHdoaWNoIGNhbiBsZWFkIHRvIGxpZmVsb25nIGhlYXJpbmcgbG9zcy4gVGhpcyBpcyB3aHkgd2UgY2xvc2VseSBtb25pdG9yIHBhdGllbnRzIGluIHRoZSBob3NwaXRhbCB3aGVuIHN0YXJ0aW5nIHRyZWF0bWVudHMuIFRoZSBuZXdlciB0aGVyYXBpZXMsIGxpa2UgbW9kdWxhdG9ycywgY2FuIGNhdXNlIGxpdmVyIHN0cmVzcywgc28gd2UgcmVndWxhcmx5IGNoZWNrIGxpdmVyIGVuenltZXMgaW4gdGhlIGJsb29kLiBIb3dldmVyLCBzZXZlcmUgc2lkZSBlZmZlY3RzIGFyZSByYXJlLCBhbmQgdGhlIGRydWdzIGFyZSBnZW5lcmFsbHkgd2VsbCB0b2xlcmF0ZWQuXCIgLz5cbiAgICA8Lz4sXG4gICAgcGljdHVyZXVybF9haW06IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2ludGVydmlldy1vbGFyaXUuc3ZnXCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL29sYXJpby1hYmJpbGR1bmcxLnN2Z1wiLFxuICAgIHN1bW1hcnk6IFwiV2UgaW50ZXJ2aWV3ZWQgRHIuIENyaXN0aWFuLUdhYnJpZWwgT2xhcml1IHRvIGdhaW4gaW5zaWdodHMgaW50byB0aGUgZGlhZ25vc2lzIGFuZCB0cmVhdG1lbnQgb2YgY3lzdGljIGZpYnJvc2lzIChDRikuIEhlIGhpZ2hsaWdodGVkIHRoZSBpbXBvcnRhbmNlIG9mIGVhcmx5IGRpYWdub3NpcyB0aHJvdWdoIG5ld2Jvcm4gc2NyZWVuaW5nLCB3aGljaCBhbGxvd3MgZm9yIHRpbWVseSBpbnRlcnZlbnRpb24gYnV0IGNhbiBhbHNvIGJlIHBlcmNlaXZlZCBhcyBhIGJ1cmRlbiBieSBmYW1pbGllcywgZXNwZWNpYWxseSB3aGVuIHN5bXB0b21zIG1heSBub3QgbWFuaWZlc3QgdW50aWwgbGF0ZXIuIERyLiBPbGFyaXUgZW1waGFzaXplZCB0aGUgZW1vdGlvbmFsIGFuZCBmaW5hbmNpYWwgY2hhbGxlbmdlcyBmYW1pbGllcyBmYWNlLCBwYXJ0aWN1bGFybHkgcmVnYXJkaW5nIGNvc3RseSB0cmVhdG1lbnRzIGFuZCBpbnN1cmFuY2UgdmFyaWFiaWxpdHkuIFBhdGllbnQgY29udGFjdCBNYXggc2hhcmVkIGhpcyBleHBlcmllbmNlcyB3aXRoIGluZmVjdGlvbnMgbGlrZSBQc2V1ZG9tb25hcyBzcHAuLCB3aGljaCBjb21wbGljYXRlIGNhcmUgYW5kIG5lY2Vzc2l0YXRlIGEgbXVsdGlkaXNjaXBsaW5hcnkgYXBwcm9hY2ggaW52b2x2aW5nIG1lZGljYWwgcHJvZmVzc2lvbmFscywgcHN5Y2hvbG9naXN0cywgYW5kIG51dHJpdGlvbmlzdHMuIE92ZXJhbGwsIHRoZSBkaXNjdXNzaW9uIHVuZGVyc2NvcmVkIHRoZSBuZWVkIHRvIGJhbGFuY2UgbWVkaWNhbCBpbnRlcnZlbnRpb25zIHdpdGggdGhlIGVtb3Rpb25hbCB3ZWxsLWJlaW5nIG9mIHBhdGllbnRzIGFuZCBmYW1pbGllcywgZ3VpZGluZyB1cyB0b3dhcmQgYSBtb3JlIGNvbXBhc3Npb25hdGUgdW5kZXJzdGFuZGluZyBvZiBsaXZpbmcgd2l0aCBDRi5cIixcbiAgICBtb250aHM6IFwibWF5XCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiRXhwbG9yaW5nIG5ldyBpZGVhc1wiLFxuICAgIG5hY2hubmFtZTogXCJ4XCIsXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICB0YWc6IFwiTWlsZXN0b25lXCIsXG4gICAgYWZmaWxpYXRpb246IFwiXCIsXG4gICAgaGVhZGluZzogXCJGdXJ0aGVyIGJyYWluc3Rvcm1pbmcgb24gYXBwcm9hY2hlc1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImJyYWluc3Rvcm1pbmdcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJ4XCIsXG4gICAgcXVvdGVOYWNobmFtZTpcInhcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiZFwiLFxuICAgIGFpbW9mY29udGFjdDogXCJkXCIsXG4gICAgaW5zaWdodHM6IFwiZFwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcImRcIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBzdW1tYXJ5OiBcImRcIixcbiAgICBtb250aHM6IFwibWF5XCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiS2F0cmluXCIsXG4gICAgbmFjaG5uYW1lOiBcIldlc3Rob2ZmXCIsXG4gICAgam9iOiBcIlBoeXNpb3RoZXJhcGlzdFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkluZGVwZW5kZW50XCIsXG4gICAgcGljdHVyZXVybDogcGljc1snd2VzdGhvZmYnXSxcbiAgICB0YWc6IFwiTWVkaWNhbCBQcm9mZXNzaW9uYWxcIixcbiAgICBoZWFkaW5nOiBcIkludGVydmlldyB3aXRoIGEgc3BlY2lhbGl6ZWQgcGh5c2lvdGhlcmFwaXN0IHJlZ2FyZGluZyBicmVhdGhpbmcgdGhlcmFweSBmb3IgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwid2VzdGhvZmZpbnZcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlTmFjaG5hbWU6XCJXZXN0aG9mZiwgUGh5c2lvdGhlcmFwaXN0XCIsXG4gICAgcXVvdGVWb3JuYW1lOiBcIkthdHJpblwiLFxuICAgIHF1b3RlOiBcIlRoZSBtb3JlIHdlIGtub3csIHRoZSBtb3JlIG9wcG9ydHVuaXRpZXMgd2UgaGF2ZS5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiVGhlIG9iamVjdGl2ZSBvZiB0aGUgY29udGFjdCB3YXMgdG8gZ2FpbiBpbi1kZXB0aCBpbnNpZ2h0cyBpbnRvIHRoZSB0cmVhdG1lbnQgYW5kIGNhcmUgb2YgY2hpbGRyZW4gd2l0aCBDRi4gVGhlIHRoZXJhcGlzdCdzIGV4cGVydGlzZSB3YXMgaW50ZW5kZWQgdG8gaGVscCBkZXZlbG9wIGEgYmV0dGVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNoYWxsZW5nZXMgYW5kIG5lY2Vzc2FyeSBtZWFzdXJlcyBpbiB0aGUgdHJlYXRtZW50IG9mIHRoaXMgY2hyb25pYyBkaXNlYXNlLiBJbiBhZGRpdGlvbiwgdGhlIGFpbSB3YXMgdG8gYXNjZXJ0YWluIGhvdyB0aGUgdGhlcmFweSBpcyBpbXBsZW1lbnRlZCBpbiBldmVyeWRheSBsaWZlIGFuZCB3aGljaCBzcGVjaWZpYyBhcHByb2FjaGVzIGFuZCBtZXRob2RzIGFyZSBwYXJ0aWN1bGFybHkgZWZmZWN0aXZlLlwiLFxuICAgIGluc2lnaHRzOiBcIlRoZSBpbnRlcnZpZXcgeWllbGRlZCB2YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIHRoZSByZWd1bGFyIGltcGxlbWVudGF0aW9uIG9mIHRoZSB0aGVyYXB5LCB0aGUgdXNlIG9mIGFpZHMgYW5kIHRoZSBhZGFwdGF0aW9uIG9mIGV4ZXJjaXNlcyB0byB0aGUgaW5kaXZpZHVhbCBuZWVkcyBvZiB0aGUgcGF0aWVudHMuIEl0IHdhcyBub3RhYmxlIHRoYXQgdGhlIHRoZXJhcHkgaGFzIGltcHJvdmVkIG92ZXIgdGhlIGxhc3QgeWVhcnMsIGNvbnNpZGVyYWJseSB0aGFua3MgdG8gYmV0dGVyIG1lZGljYXRpb24gYW5kIGFkYXB0ZWQgZXhlcmNpc2VzLCB3aXRoIGEgY29uY29taXRhbnQgaW5jcmVhc2UgaW4gbGlmZSBleHBlY3RhbmN5IGZvciBjaGlsZHJlbiBhZmZlY3RlZCBieSBDRi4gT2YgcGFydGljdWxhciBpbnRlcmVzdCB3YXMgdGhlIGVtcGhhc2lzIG9uIHRoZSBpbXBvcnRhbmNlIG9mIHNwb3J0IGFuZCBleGVyY2lzZSwgd2hpY2ggc2hvdWxkIG5vdCBvbmx5IGJlIHRoZXJhcGV1dGljYWxseSBlZmZlY3RpdmUsIGJ1dCBhbHNvIGluY3JlYXNlIHF1YWxpdHkgb2YgbGlmZS4gXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiVGhlIGZvbGxvd2luZyBzdGF0ZW1lbnQgYnkgS2F0cmluIFdlc3Rob2ZmIGhhZCBhIHBhcnRpY3VsYXIgaW1wYWN0IG9uIG91ciBwcm9qZWN0OiBcdTIwMThUaGUgbW9yZSB3ZSBrbm93LCB0aGUgbW9yZSBvcHRpb25zIHdlIGhhdmVcdTIwMTkuIFdlIGxlYXJudCBmcm9tIHRoZSBpbnRlcnZpZXcgdGhhdCB0aGUgY3VycmVudCBtZWRpY2F0aW9uIGlzIGFscmVhZHkgaGVscGluZyBtYW55IHBhdGllbnRzIHZlcnkgd2VsbCwgYnV0IHRoYXQgdGhlcmUgaXMgc3RpbGwgZ3JlYXQgcG90ZW50aWFsIGZvciBpbXByb3ZlbWVudC4gU3VjY2Vzc2Z1bCBnZW5lIHRoZXJhcHkgd291bGQgc2lnbmlmaWNhbnRseSBpbXByb3ZlIHRoZSBxdWFsaXR5IG9mIGxpZmUgb2YgQ0YgcGF0aWVudHMuIFdlIGltcGxlbWVudGVkIHRoZSBmaW5kaW5ncyBmcm9tIHRoaXMgaW50ZXJ2aWV3IGluIG91ciBwYXJ0aWNpcGF0aW9uIGluIE11a29Nb3ZlIC0gd2UgYWxzbyBhY3RpdmVseSB0b29rIHBhcnQgaW4gY3lzdGljIGZpYnJvc2lzIGF3YXJlbmVzcyBtb250aCBhbmQgbGVhcm50IGV2ZW4gbW9yZSBhYm91dCB0aGUgaW1wb3J0YW5jZSBvZiBwaHlzaW90aGVyYXB5LlwiLFxuICAgIHBpY3R1cmV1cmxfaW50ZXJ2aWV3OiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9rYXRyaW4td2VzdGhvZmYtem9vbS53ZWJwXCIsXG4gICAgc3VtbWFyeTogWzxwPlRoZSBvYmplY3RpdmUgb2Ygb3VyIGRpc2N1c3Npb24gd2l0aCBhIHRoZXJhcGlzdCB3YXMgdG8gZ2FpbiBhIGNvbXByZWhlbnNpdmUgdW5kZXJzdGFuZGluZyBvZiB0aGUgdHJlYXRtZW50IGFuZCBjYXJlIG9mIGNoaWxkcmVuIHdpdGggY3lzdGljIGZpYnJvc2lzLiBUaGUgaW50ZXJ2aWV3IHByb3ZpZGVkIGludmFsdWFibGUgaW5zaWdodHMgaW50byB0aGUgdGhlcmFweSdzIGltcGxlbWVudGF0aW9uLCBoaWdobGlnaHRpbmcgdGhlIHNpZ25pZmljYW50IGFkdmFuY2VtZW50cyBpbiBtZWRpY2F0aW9uIGFuZCB0YWlsb3JlZCBleGVyY2lzZXMgdGhhdCBoYXZlIGxlZCB0byBpbXByb3ZlZCBwYXRpZW50IG91dGNvbWVzIGFuZCBpbmNyZWFzZWQgbGlmZSBleHBlY3RhbmN5LiBBIGtleSB0YWtlYXdheSB3YXMgdGhlIGVtcGhhc2lzIG9uIHRoZSByb2xlIG9mIHNwb3J0cyBhbmQgZXhlcmNpc2UsIG5vdCBqdXN0IGZvciB0aGVyYXBldXRpYyBlZmZpY2FjeSBidXQgYWxzbyBmb3IgZW5oYW5jaW5nIG92ZXJhbGwgcXVhbGl0eSBvZiBsaWZlLiBJdCBsZXQgdG8gb3VyIHBhcnRpY2lwYXRpb24gaW4gdGhlIENGIGF3YXJuZXNzIG1vbnRoIGFuZCB0aGUgb3V0cmVhY2ggcHJvamVjdCBtdWtvbW92ZSBbTGluayBtdWtvbW92ZV08L3A+XSxcbiAgICBtb250aHM6IFwiTWF5XCIsXG4gICAgaW50ZXJ2aWV3Ojw+XG4gICAgPFFhQm94IHE9XCJGcm9tIHdoYXQgYWdlIGRvIHRoZSBwYXRpZW50cyBjb21lIHRvIHlvdT8gSG93IGxvbmcgZG8gdGhleSBzdGF5PyBIb3cgbWFueSBwYXRpZW50cyBkbyB5b3UgdHJlYXQ/XCIgYT1cIlRoZSBwYXRpZW50cyBjb21lIHRvIHVzIGF0IGEgdmVyeSBlYXJseSBhZ2UuIEEgZGVmaW5pdGUgZGlhZ25vc2lzIGlzIG1hZGUgYWZ0ZXIgNiB3ZWVrcyBhdCB0aGUgbGF0ZXN0LiBPbmNlIGRpYWdub3NlZCwgdGhlIHdob2xlIGZhbWlseSBpcyBnZW5ldGljYWxseSB0ZXN0ZWQsIGFuZCBjaGlsZHJlbiBhcmUgc2VudCBmb3IgcGh5c2lvdGhlcmFweSwgb2Z0ZW4gc3RhcnRpbmcgaW4gdGhlIGhvc3BpdGFsLiBDdXJyZW50bHksIHdlIGhhdmUgOCBjaGlsZHJlbiB3aXRoIENGIGluIG91ciBwcmFjdGljZSwgd2hpY2ggaXMgcmVsYXRpdmVseSBzbWFsbCBjb21wYXJlZCB0byBvdGhlciBkaXNlYXNlcy4gV2UgaGF2ZSBzbGlnaHRseSBtb3JlIENGIHBhdGllbnRzIGJlY2F1c2Ugd2Ugc3BlY2lhbGl6ZSBpbiBpdC5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGF0IGtpbmQgb2YgZXhlcmNpc2VzIGRvIHlvdSBkbz9cIiBhPVwiV2UgZG8gYSBsb3Qgb2YgYnJlYXRoaW5nIHRoZXJhcHkgYW5kIGhhdmUgYXR0ZW5kZWQgc3BlY2lhbCB0cmFpbmluZyBjb3Vyc2VzIGZvciBDRiB0aGF0IGludHJvZHVjZWQgbmV3IHRlY2huaXF1ZXMuIFRoZSBjdXJyZW50IGdvbGQgc3RhbmRhcmQgaXMgYXV0b2dlbm91cyBkcmFpbmFnZSBhY2NvcmRpbmcgdG8gQ2hldmFsbGllciwgd2hpY2ggZWZmZWN0aXZlbHkgcmVtb3ZlcyBtdWN1cy4gV2UgZm9sbG93IGEgZ2VuZXJhbCByb3V0aW5lOiAxLiB3ZXQgaW5oYWxhdGlvbiB0byBiaW5kIG11Y3VzLCAyLiBkcmFpbmFnZSB0byBleHBlbCBtdWN1cywgYW5kIDMuIGFudGliaW90aWNzIHRvIHdvcmsgb3B0aW1hbGx5IG9uIGNsZWFuIGx1bmdzLiBXZSBhbHNvIHVzZSBzcGVjaWFsIGJlbHRzIGZvciBjb21wcmVzc2luZyAnbWFnaWMgcG9pbnRzJyB0byBlbmhhbmNlIGx1bmcgdmVudGlsYXRpb24uXCIvPlxuICAgIDxRYUJveCBxPVwiV2hlbiBkb2VzIGRyYWluYWdlIHN0YXJ0P1wiIGE9XCJXZSBzdGFydCBkcmFpbmFnZSBpbiBuZXdib3JucyB0byBwcmV2ZW50IG11Y3VzIGZyb20gc2V0dGxpbmcuXCIvPlxuICAgIDxRYUJveCBxPVwiQXJlIHRoZXJlIHNwZWNpYWwgZXhlcmNpc2VzIHRoYXQgY2FuIGFsc28gYmUgZG9uZSBhdCBob21lP1wiIGE9XCJZZXMsIHBhcmVudHMgYXJlIGluc3RydWN0ZWQgb24gZXhlcmNpc2VzIHRoYXQgY2FuIGFsc28gYmUgcGVyZm9ybWVkIGF0IGhvbWUuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IG9mdGVuIGRvZXMgdGhlIHRoZXJhcHkgdGFrZSBwbGFjZT9cIiBhPVwiVGhlcmFweSB1c3VhbGx5IG9jY3VycyBvbmNlIGEgd2VlayBvciBldmVyeSB0d28gd2Vla3MuIFRoYW5rcyB0byBpbXByb3ZlZCBtZWRpY2F0aW9uLCBjaGlsZHJlbiBhcmUgbm93IGJldHRlciBvZmYuIFRoZSB0aGVyYXB5IGhhcyBldm9sdmVkIHNpZ25pZmljYW50bHksIG1ha2luZyBpdCBlYXNpZXIgdG8gY291Z2ggdXAgbXVjdXMgYW5kIGltcHJvdmluZyBsaWZlIGV4cGVjdGFuY3kuIEV4ZXJjaXNlIHNob3VsZCBiZSBlbmpveWFibGUgYW5kIGEgcGFydCBvZiBkYWlseSBsaWZlIGZyb20gdGhlIGFnZSBvZiA4IG9yIDkuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hhdCB3b3VsZCBoYXBwZW4gaWYgbm8gcGh5c2lvdGhlcmFweSB3YXMgcGVyZm9ybWVkP1wiIGE9XCJJdFx1MjAxOXMgZGlmZmljdWx0IHRvIHByZWRpY3QsIGJ1dCB3aXRob3V0IHRoZXJhcHksIGNoaWxkcmVuIG9mdGVuIGJlY29tZSBtb3JlIG11Y291c3ksIGxlYWRpbmcgdG8gd29yc2VuZWQgdmVudGlsYXRpb24uIFNwZWNpZmljIHRoZXJhcHkgaXMgY3J1Y2lhbCwgZXNwZWNpYWxseSBkdXJpbmcgaW5mZWN0aW9ucy5cIi8+XG4gICAgPFFhQm94IHE9XCJIb3cgZG8geW91IG1lYXN1cmUgc3VjY2VzcyAoaW4gdGVybXMgb2YgbHVuZyBmdW5jdGlvbiB0ZXN0LCBleGVyY2lzZSwgZXRjLik/XCIgYT1cIlN1Y2Nlc3MgaXMgbWVhc3VyZWQgc3ViamVjdGl2ZWx5IGJ5IGxpc3RlbmluZyB0byBicmVhdGhpbmcgYW5kIG9ic2VydmluZyBza2luIGNvbG9yLiBBIHdlbGwtdmVudGlsYXRlZCBsdW5nIHNob3dzIGEgJ2Z1bGwgYmFycmVsJyBhcHBlYXJhbmNlLCB3aGlsZSB3aGVlemluZyBpbmRpY2F0ZXMgcG9vciB2ZW50aWxhdGlvbi4gSW4gY2xpbmljcywgbHVuZyBmdW5jdGlvbiB0ZXN0cywgQ08yIG1lYXN1cmVtZW50cywgYW5kICdmaW5nZXIgY2xpcCcgdGVzdHMgYXJlIHVzZWQsIHRob3VnaCByZXN1bHRzIGNhbiBiZSBpbmZsdWVuY2VkIGJ5IHRoZSBjaGlsZC5cIi8+XG4gICAgPFFhQm94IHE9XCJEbyB0aGUgZXhlcmNpc2VzIGJyaW5nIHJlbGllZiBvciBhcmUgdGhleSBwcmV2ZW50YXRpdmUgZm9yIGZ1cnRoZXIgY29tcGxhaW50cz9cIiBhPVwiVGhlIGV4ZXJjaXNlcyBzZXJ2ZSBib3RoIHRvIHJlbGlldmUgYWN1dGUgaW5mZWN0aW9ucyBhbmQgdG8gcHJldmVudCBmdXJ0aGVyIGlzc3Vlcy4gRmV3ZXIgbHVuZyBpbmZlY3Rpb25zIHJlZHVjZSB0aGUgbGlrZWxpaG9vZCBvZiBtdWN1cyBhZGhlc2lvbnMuXCIvPlxuICAgIDxRYUJveCBxPVwiQXJlIHRoZXJlIGFueSB0b29scyB0byBwZXJmb3JtIHRoZXJhcHk/XCIgYT1cIlllcywgZGV2aWNlcyBsaWtlIHRoZSAnZmx1dHRlcicgb3IgJ2Nvcm5ldCcgaGVscCB3aXRoIGV4aGFsYXRpb24uIFRoZXkgY3JlYXRlIHZpYnJhdGlvbnMgdGhhdCBsb29zZW4gbXVjdXMgaW4gdGhlIGx1bmdzIGFuZCBzaG91bGQgYmUgdXNlZCBieSBhbGwgY2hpbGRyZW4gd2l0aCBsdW5nIGRpc2Vhc2VzLlwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgY29tcGxhaW50cyBkbyBwYXRpZW50cyBicmluZyB3aXRoIHRoZW0/XCIgYT1cIlBhdGllbnRzIHR5cGljYWxseSBoYXZlIGx1bmcgcHJvYmxlbXMsIGRyeSBsdW5nIG11Y29zYSwgYW5kIHBhbmNyZWF0aWMgaXNzdWVzIGxlYWRpbmcgdG8gcG9vciBtZXRhYm9saXNtLCByZXF1aXJpbmcgZW56eW1lIHRoZXJhcHkgYmVmb3JlIG1lYWxzLiBTb21lIGNoaWxkcmVuIGV4cGVyaWVuY2UgZ3Jvd3RoIGRpc29yZGVycyBhbmQgbGVzcyBjb21tb25seSwgZXhjZXNzaXZlIHBlcnNwaXJhdGlvbi5cIi8+XG4gICAgPFFhQm94IHE9XCJBcmUgcGFuY3JlYXRpYyBjb21wbGFpbnRzIGFsc28gdHJlYXRlZCBieSBwaHlzaW90aGVyYXBpc3RzP1wiIGE9XCJQYW5jcmVhdGljIGNvbXBsYWludHMgYXJlIHJhcmVseSB0cmVhdGVkIHdpdGggcGh5c2lvdGhlcmFweSwgZXhjZXB0IGluIGNhc2VzIG9mIGluZmxhbW1hdGlvbiwgd2hlcmUgcGF0aWVudHMgbWF5IGJlIGFkbWl0dGVkIHRvIHRoZSBob3NwaXRhbC4gVGVjaG5pcXVlcyBsaWtlIG1hc3NhZ2Ugb3Iga2luZXNpb2xvZ3kgdGFwZSBjYW4gaGVscCB3aXRoIGNvbnN0aXBhdGlvbi5cIi8+XG4gICAgPFFhQm94IHE9XCJBcmUgdGhlcmUgYW55IHNwZWNpYWwgaHlnaWVuZSBndWlkZWxpbmVzIGZvciB5b3Ugd2hlbiB3b3JraW5nIHdpdGggQ0YgcGF0aWVudHM/XCIgYT1cIkh5Z2llbmUgaXMgY3J1Y2lhbCB3aGVuIHRyZWF0aW5nIENGIHBhdGllbnRzLiBXZSBzZXBhcmF0ZSBjaGlsZHJlbiB3aXRoIGFuZCB3aXRob3V0IGluZmVjdGlvbnMgKGUuZy4sIFBzZXVkb21vbmFzKSBhbmQgZW5mb3JjZSBzdHJpY3QgZGlzaW5mZWN0aW9uIHByb3RvY29scy4gT25seSBjaGlsZHJlbiB3aXRoIHNpbWlsYXIgaW5mZWN0aW9uIHN0YXR1c2VzIGFyZSB0cmVhdGVkIG9uIHRoZSBzYW1lIGRheS5cIi8+XG4gICAgPFFhQm94IHE9XCJBcmUgdGhlIHNwZWNpZmljIGV4ZXJjaXNlcyBjdXN0b21pemVkPyBBbmQgaWYgc28sIGhvdyBkbyB5b3Uga25vdyB3aGljaCB0aGVyYXB5IGlzIHRoZSByaWdodCBvbmUgZm9yIHdoaWNoIHBhdGllbnQ/XCIgYT1cIkV4ZXJjaXNlcyBhcmUgdGFpbG9yZWQgdG8gZWFjaCBwYXRpZW50J3Mgc2l0dWF0aW9uLCBmb2N1c2luZyBvbiBtdWN1cyByZW1vdmFsIGFuZCBsdW5nIHZlbnRpbGF0aW9uLiBFYWNoIHRoZXJhcGlzdCBtYXkgaGF2ZSB0aGVpciBvd24gcHJlZmVycmVkIGV4ZXJjaXNlcyBhbmQgdGVjaG5pcXVlcy5cIi8+XG4gICAgPFFhQm94IHE9XCJEbyBwYXRpZW50cyBhbHdheXMgZ28gdG8gdGhlIHNhbWUgcGh5c2lvdGhlcmFwaXN0P1wiIGE9XCJZZXMsIGlmIHRoZXJhcHkgaXMgZWZmZWN0aXZlLCBwYXRpZW50cyB0ZW5kIHRvIHJlbWFpbiB3aXRoIHRoZSBzYW1lIHBoeXNpb3RoZXJhcGlzdC5cIi8+XG4gICAgPFFhQm94IHE9XCJIb3cgbWFueSBwaHlzaW90aGVyYXBpc3RzIG9mZmVyIG11Y28tdGhlcmFweT9cIiBhPVwiVGhlIGV4YWN0IG51bWJlciBpcyB1bmtub3duLCBidXQgc2V2ZXJhbCBjaGlsZCB0aGVyYXBpc3RzIGluIHRoZSByZWdpb24gcHJvdmlkZSBDRiB0aGVyYXB5LlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBhcmUgdGhlIHJlbGF0aXZlcyBlZHVjYXRlZD9cIiBhPVwiRWR1Y2F0aW9uIG9mdGVuIGJlZ2lucyBpbiB0aGUgbWF0ZXJuaXR5IHdhcmQgd2l0aCBhIHN3ZWF0IHRlc3QuIEluIEdcdTAwRkN0ZXJzbG9oLCBhbGwgY2hpbGRyZW4gYXJlIHJlZmVycmVkIHRvIEJldGhlbCBmb3IgaW1tZWRpYXRlIENGIGNhcmUuIFBhcmVudHMgb2Z0ZW4gZXhwZXJpZW5jZSB0cmF1bWEgYXMgY2hpbGRyZW4gY2FuIGJlIHNldmVyZWx5IGlsbCBkZXNwaXRlIGFwcGVhcmluZyBoZWFsdGh5LlwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgYXJlIHRoZSBsaW1pdGF0aW9ucyBvZiBpbmRpdmlkdWFsIG1lZGljaW5lP1wiIGE9XCJEcnVnIGVmZmVjdGl2ZW5lc3MgY2FuIHZhcnksIGFuZCBzb21lIGFyZSBvbmx5IGFwcHJvdmVkIGZyb20gYSBjZXJ0YWluIGFnZS4gSW1wcm92ZWQgbWVkaWNhdGlvbnMgY2FuIHNpZ25pZmljYW50bHkgZW5oYW5jZSBxdWFsaXR5IG9mIGxpZmUgYW5kIGxpZmUgZXhwZWN0YW5jeS5cIi8+XG4gICAgPC8+XG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJEci5cIixcbiAgICB2b3JuYW1lOiBcIk1pY2hhZWxhXCIsXG4gICAgbmFjaG5uYW1lOiBcIkJpZW5lcnRcIixcbiAgICBqb2I6IFwiIFNjaWVudGlmaWMgU2FsZXMgUmVwcmVzZW50YXRpdmUgZm9yIENlbGwgQ3VsdHVyZSBQcm9kdWN0c1wiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlN0ZW1jZWxsXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snc3RlbWNlbGwnXSxcbiAgICB0YWc6IFwiSW5kdXN0cnlcIixcbiAgICBoZWFkaW5nOiBcIkxvbmdzdGFuZGluZyBTdXBwb3J0IGZyb20gU3RlbWNlbGwgRXhwZXJ0IGluIENlbGwgQ3VsdHVyZSBNZWRpYSBhbmQgUHJpbWFyeSBDZWxsIEN1bHRpdmF0aW9uXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibWljaGFlbGFcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcInhcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiT3VyIHByaW1hcnkgZ29hbCBpbiByZWFjaGluZyBvdXQgdG8gaGVyIHdhcyB0byBnYWluIGluc2lnaHRzIGludG8gb3B0aW1pemluZyBjZWxsIGN1bHR1cmUgbWVkaWEsIGV4cGxvcmUgcG90ZW50aWFsIHNwb25zb3JzaGlwIG9wcG9ydHVuaXRpZXMgZm9yIG91ciBwcm9qZWN0LCBhbmQgc2VlayBleHBlcnQgYWR2aWNlIG9uIGhhbmRsaW5nIHByaW1hcnkgY2VsbHMgaW4gdGhlIGxhYi5cIixcbiAgICBpbnNpZ2h0czogXCJUaHJvdWdob3V0IG91ciBtdWx0aXBsZSBkaXNjdXNzaW9ucywgc2hlIG9mZmVyZWQgZGV0YWlsZWQgYWR2aWNlIG9uIHNlbGVjdGluZyBhbmQgb3B0aW1pemluZyBjZWxsIGN1bHR1cmUgbWVkaWEgZm9yIG91ciBzcGVjaWZpYyBuZWVkcywgd2hpbGUgYWxzbyBjb25uZWN0aW5nIHVzIHdpdGggb3Bwb3J0dW5pdGllcyBmb3Igc3BvbnNvcnNoaXAuIExhdGVyIGluIHRoZSBwcm9qZWN0LCBzaGUgcHJvdmlkZWQgdGVjaG5pY2FsIGd1aWRhbmNlIG9uIHRoZSBjdWx0aXZhdGlvbiBhbmQgaGFuZGxpbmcgb2YgcHJpbWFyeSBjZWxscywgZW5zdXJpbmcgdGhhdCB3ZSBmb2xsb3dlZCBiZXN0IHByYWN0aWNlcyBmb3IgY2VsbCBjdWx0dXJlLlwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIkJhc2VkIG9uIGhlciBmZWVkYmFjaywgd2UgcmVmaW5lZCBvdXIgYXBwcm9hY2ggdG8gY2VsbCBjdWx0dXJlIG1lZGlhLCBlbmhhbmNpbmcgb3VyIGV4cGVyaW1lbnRhbCB3b3JrZmxvd3MuSGVyIHRlY2huaWNhbCBzdXBwb3J0LCBhcyB3ZWxsIGFzIHRoZSBzdXBwb3J0IG9mIEp1bGlhIFdhdHNvbiBoZWxwZWQgdXMgdG8gZXN0YWJsaXNoIG91ciBleHBlcmltZW50cyBpbiBjZWxsY3VsdHVyZS4gQWRkaXRpb25hbGx5LCBoZXIgYWR2aWNlIHdhcyBjcml0aWNhbCBkdXJpbmcgdGhlIHRyYW5zaXRpb24gdG8gcHJpbWFyeSBjZWxsIGN1bHR1cmUsIGhlbHBpbmcgdXMgc2VjdXJlIHRoZSBuZWNlc3NhcnkgcmVzb3VyY2VzIGFuZCBleHBlcnRpc2UgZm9yIG91ciBleHBlcmltZW50cy5cIixcbiAgICBzdW1tYXJ5OiBcIldlIGhhdmUgaGFkIHRoZSBwcml2aWxlZ2Ugb2YgY29sbGFib3JhdGluZyB3aXRoIGEgZGVkaWNhdGVkIGV4cGVydCBmcm9tIFN0ZW1jZWxsIFRlY2hub2xvZ2llcywgd2hvIGhhcyBjb25zaXN0ZW50bHkgc3VwcG9ydGVkIGlHRU0gQmllbGVmZWxkLiBTaGUgcHJvdmlkZWQgdmFsdWFibGUgZ3VpZGFuY2Ugb24gY2VsbCBjdWx0dXJlIG1lZGlhLCBzcG9uc29yc2hpcCBvcHBvcnR1bml0aWVzLCBhbmQgbGF0ZXIsIHByYWN0aWNhbCBhZHZpY2UgZm9yIGN1bHRpdmF0aW5nIHByaW1hcnkgY2VsbHMuIEhlciBjb250cmlidXRpb25zIGhhdmUgYmVlbiBpbnN0cnVtZW50YWwgaW4gYWR2YW5jaW5nIG91ciBwcm9qZWN0LlwiLFxuICAgIG1vbnRoczogXCJzZXZlcmFsIHRpbWVzXCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2RhbmllbGEud2VicFwiLFxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJEb2N1bWVudGluZyBwcm9ncmVzc1wiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIHRhZzogXCJNaWxlc3RvbmVcIixcbiAgICBoZWFkaW5nOiBcIlRyYWNraW5nIHByb2dyZXNzIGluIGV4cGVydCBzZWFyY2ggYW5kIGlkZWEgZGV2ZWxvcG1lbnRcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJwcm9ncmVzc1wiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBzdW1tYXJ5OiBcIlwiLFxuICAgIG1vbnRoczogXCJtYXlcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJNdWtvTW92ZVwiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydtdWtvbW92ZSddLFxuICAgIHRhZzogXCJPdXRyZWFjaFwiLFxuICAgIGhlYWRpbmc6IFwiTW92aW5nIHRvZ2V0aGVyIGZvciBoZWFsdGggYW5kIGhvcGUsIG91ciBwYXJ0aWNpcGF0aW9uIGluIENGIGF3YXJuZXNzIG1vbnRoXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibXVrb21vdmVocFwiLFxuICAgIHR5cGU6IFwibWV0YVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlTmFjaG5hbWU6IFwiU3VzYXQsIFRlYW1tZW1iZXJcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiS2F0aGxlZW5cIixcbiAgICBxdW90ZTogXCJJdCB3YXMgYW1hemluZyB0byBzZWUgaG93IG1vdmVtZW50IGNhbiBicmluZyBwZW9wbGUgdG9nZXRoZXIuIEkgaGFkIGEgZ3JlYXQgdGltZS5cIixcbiAgICBzdW1tYXJ5OiBbPHA+TVVLT21vdmVbTElOSyB1bnRlbiBtdWtvbW92ZV0gaXMgYSBzcG9ydHMgaW5pdGlhdGl2ZSBieSBNdWtvdmlzemlkb3NlIGUuVi4sIHRoZSBHZXJtYW4gQ3lzdGljIEZpYnJvc2lzIEFzc29jaWF0aW9uLCB0byByYWlzZSBhd2FyZW5lc3MgYW5kIGZ1bmRzIGZvciBjeXN0aWMgZmlicm9zaXMuIFRlYW0gaUdFTSBCaWVsZWZlbGQgcGFydGljaXBhdGVkIGZyb20gTWF5IDh0aCB0byBNYXkgMTJ0aCwgcHJvbW90aW5nIHRoZSBldmVudCBhdCB0aGVpciB1bml2ZXJzaXR5IGFuZCBjaXR5LCBlbmNvdXJhZ2luZyBvdGhlcnMgdG8gam9pbiBhbmQgY29sbGVjdCBzcG9ydCBob3Vycy4gVGhleSBvcmdhbml6ZWQgYSB0ZWFtIGV2ZW50IGF0IHRoZWlyIHVuaXZlcnNpdHksIGludm9sdmluZyBzcG9ydHMgZ2FtZXMgdG8gcHJvbW90ZSBjb21tdW5pdHkgZW5nYWdlbWVudC4gVGhlaXIgZWZmb3J0cyBoZWxwZWQgc3VycGFzcyB0aGVpciBnb2FsIG9mIDI0MCBob3Vycywgd2l0aCB0aGUgdGVhbSBhY2hpZXZpbmcgMzU4IHNwb3J0IGhvdXJzLCB3aGlsZSB0aGUgZW50aXJlIGV2ZW50IGdhdGhlcmVkIG92ZXIgMzYsMDAwIHNwb3J0IGhvdXJzLiBUaGUgaW5pdGlhdGl2ZSBzdWNjZXNzZnVsbHkgcmFpc2VkIGF3YXJlbmVzcyBhYm91dCBjeXN0aWMgZmlicm9zaXMgYW5kIHByb21vdGVkIHBoeXNpY2FsIGFjdGl2aXR5IGFzIGEgbWVhbnMgb2YgY29tbXVuaXR5IGJ1aWxkaW5nLjwvcD5dLFxuICAgIG1vbnRoczogXCJNYXlcIlxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiTS5TYy5cIixcbiAgICB2b3JuYW1lOiBcIkphbi1QaGlsbGlwcFwiLFxuICAgIG5hY2hubmFtZTogXCJHZXJoYXJkc1wiLFxuICAgIGpvYjogXCJJbnRlcm5cIixcbiAgICBhZmZpbGlhdGlvbjogXCIgSGFydmFyZC8gQm9zdG9uIENoaWxkcmVucyBIb3NwaXRhbFwiLFxuICAgIHBpY3R1cmV1cmw6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2hwLWpwZ2VyaGFyZHMtcG90cmF0cy53ZWJwXCIsXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJEaXNjdXNzaW9uIG9uIG9wdGltaXppbmcgb3VyIHBlZ1JOQSBEZXNpZ24gdG8gaW1wcm92ZSBwcmVjaXNpb24gaW4gcHJpbWUgZWRpdGluZ1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcIkpQcGVnUk5BXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIkxlbmdlciwgVGVhbW1lbWJlclwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJNYWx0ZVwiLFxuICAgIHF1b3RlOiBcIlRoZSBpbnRlcnZpZXcgcHJvdmVkIHRvIGJlIGludmFsdWFibGUgaW4gZ2FpbmluZyBhbiBpbml0aWFsIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHByaW5jaXBsZXMgb2YgcGVnUk5BIGRlc2lnbiBhbmQgb3B0aW1pc2F0aW9uLCBwYXJ0aWN1bGFybHkgaW4gdGhlIGNvbnRleHQgb2Ygc2lsZW50IGVkaXRzLlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJUaGUgYWltIG9mIHRoZSBjb250YWN0IHdhcyB0byBlbmdhZ2UgaW4gYSBkaXNjdXNzaW9uIGFib3V0IHByaW1lIGVkaXRpbmcgYW5kIHBlZ1JOQXMsIGFzIHRoZSBKYW4tUGhpbGxpcCBHZXJoYXJkcyBoYWQgdXNlZCB0aGVzZSB0ZWNobm9sb2dpZXMgaW4gaGlzIGludGVybnNoaXAgYXQgdGhlIEJvc3RvbiBDaGlsZHJlbnMgSG9zcGl0YWwuIFdlIHNvdWdodCB0byBleGNoYW5nZSBpZGVhcywgZ2F0aGVyIGluc2lnaHRzLCBhbmQgZXhwbG9yZSBwb3RlbnRpYWwgaW1wcm92ZW1lbnRzIG9yIHN0cmF0ZWdpZXMgZm9yIG91ciBwcm9qZWN0LCBsZXZlcmFnaW5nIGhpcyBleHBlcmllbmNlIHdpdGggcHJpbWUgZWRpdGluZyB0b29scy4gSGlzIHByYWN0aWNhbCBrbm93bGVkZ2UgaW4gdGhpcyBmaWVsZCB3YXMgdmVyeSB2YWx1YWJsZSBmb3IgcmVmaW5pbmcgb3VyIGFwcHJvYWNoIGFuZCBlbnN1cmluZyB3ZSB3ZXJlIGFsaWduZWQgd2l0aCB0aGUgbGF0ZXN0IGFkdmFuY2VtZW50cyBhbmQgbWV0aG9kb2xvZ2llcyBpbiBwcmltZSBlZGl0aW5nLiBcIixcbiAgICBpbnNpZ2h0czogXCJEdXJpbmcgb3VyIGRpc2N1c3Npb24gd2UgZ2FpbmVkIHZhbHVhYmxlIGluc2lnaHRzIHRoYXQgaGFkIGEgc2lnbmlmaWNhbnQgaW1wYWN0IG9uIG91ciBwcm9qZWN0LiBPbmUgb2YgdGhlIG1vc3QgaW1wb3J0YW50IGZpbmRpbmdzIHdhcyB0aGUgZWZmZWN0aXZlbmVzcyBvZiBzaWxlbnQgZWRpdHMsIHdoaWNoIHdpbGwgZW5hYmxlIHVzIHRvIG1ha2Ugb3VyIFByaW1lR3VpZGUgc2FmZXIuIFNpbGVudCBlZGl0cyBjaGFuZ2UgdGhlIHNlcXVlbmNlIG9mIGJhc2VzIGluIHRoZSBETkEgaW4gc3VjaCBhIHdheSB0aGF0IHRoZSByZXN1bHRpbmcgcHJvdGVpbiByZW1haW5zIHVuY2hhbmdlZCwgYmVjYXVzZSB0aGUgZ2VuZXRpYyBjb2RlIGlzIHJlZHVuZGFudC4gVGhpcyBtZWFucyB0aGF0IGRpZmZlcmVudCBjb2RvbnMgY2FuIGNvZGUgZm9yIHRoZSBzYW1lIGFtaW5vIGFjaWQuIEJ5IG1ha2luZyBzaWxlbnQgZWRpdHMgaW4gYWRkaXRpb24gdG8gY29ycmVjdGluZyB0aGUgQ0ZUUiBnZW5lLCB3ZSBjYW4gcHJldmVudCB0aGUgcGVnUk5BIGZyb20gcmViaW5kaW5nLiAgV2UgaGF2ZSBhbHNvIGxlYXJuZWQgdGhhdCB0aGUgbGVuZ3RoIG9mIHRoZSBwcmltZXIgYmluZGluZyBzaXRlIChQQlMpIHBsYXlzIGEgY3J1Y2lhbCByb2xlIGluIGRldGVybWluaW5nIG9wdGltYWwgcmVzdWx0cyBhbmQgdGhhdCBpdCBpcyByZWNvbW1lbmRlZCB0byBrZWVwIHRoZSBQQlMgdGVtcGVyYXR1cmUgY2xvc2UgdG8gMzdcdTAwQjBDLiBTcGVjaWZpY2FsbHksIFBCUyBsZW5ndGhzIG9mIDE3bnQgKDM4LjNcdTAwQjBDKSBhbmQgMTZudCAoMzYuNFx1MDBCMEMpIHdlcmUgZm91bmQgdG8gYmUgaWRlYWwgb3B0aW9ucy4gRm9yIG91ciBwbGFubmVkIHNldCBvZiAxMiBzYW1wbGVzLCBpdCB3YXMgcmVjb21tZW5kZWQgdG8gdXNlIHRocmVlIGRpZmZlcmVudCBQQlMgbGVuZ3RocyAoZGlmZmVyaW5nIGJ5ICsvLSAxbnQgZnJvbSB0aGF0IGNsb3NlIHRvIDM3XHUwMEIwQykgaW4gY29tYmluYXRpb24gd2l0aCBmb3VyIHJldmVyc2UgdHJhbnNjcmlwdGFzZSB0ZW1wbGF0ZSAoUlRUcykgdG8gYWNoaWV2ZSB0aGUgYmVzdCByZXN1bHQuIEFub3RoZXIgaW1wb3J0YW50IGZpbmRpbmcgd2FzIHRoZSB1c2Ugb2Ygbm9uLWFubm90YXRlZCByZWdpb25zIHdpdGggb3ZlcmhhbmdzIGZvciBjbG9uaW5nLCB3aGljaCBjb3VsZCBnaXZlIGJldHRlciByZXN1bHRzIGluIG91ciBleHBlcmltZW50cy4gSG93ZXZlciwgd2UgYWxzbyBlbmNvdW50ZXJlZCBjb25jZXJucyB0aGF0IGNpcmNSTkEsIGEgY292YWxlbnRseSBjbG9zZWQgY2lyY3VsYXIgUk5BIG1vbGVjdWxlLCBtaWdodCBiZSBzdGVyaWNhbGx5IGhpbmRlcmVkIGJ5IENhczksIHdoaWNoIHdlIG5lZWQgdG8gaW52ZXN0aWdhdGUgZnVydGhlci4gV2hlbiBkaXNjdXNzaW5nIGNsb25pbmcgb3ZlcmhhbmdzLCB3ZSBsZWFybmVkIHRoYXQgYSBiYXNlLXBhaXIgbGVuZ3RoIGNsb3NlIHRvIDYwXHUwMEIwQyBpcyBvcHRpbWFsLiBIb3dldmVyLCB0aGUgdXNlIG9mIGEgMTVudCBQQlMgd2FzIG5vdCByZWNvbW1lbmRlZCBhcyBpdCBoYXMgYSBsb3dlciB0ZW1wZXJhdHVyZSByYW5nZSB3aGljaCBjb3VsZCBhZmZlY3QgcGVyZm9ybWFuY2UuIEFsdGhvdWdoIHdlIHN0aWxsIG5lZWQgdG8gY29uZmlybSB0aGUgb2xpZ29udWNsZW90aWRlIGRlbGl2ZXJ5IHRpbWUsIHRoZXNlIGZpbmRpbmdzIHdpbGwgaGVscCB1cyB0byByZWZpbmUgb3VyIGNsb25pbmcgc3RyYXRlZ3ksIG9wdGltaXplIFBCUyBzZWxlY3Rpb24gYW5kIGltcHJvdmUgb3VyIG92ZXJhbGwgYXBwcm9hY2ggdG8gcHJpbWVyIGVkaXRpbmcsIGVzcGVjaWFsbHkgaW4gdGVybXMgb2YgdGhlIHBlZ1JOQSBkZXNpZ24uXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiV2UgaW5jb3Jwb3JhdGVkIHRoZSBsZXNzb25zIGxlYXJuZWQgZnJvbSBvdXIgZGlzY3Vzc2lvbnMgb24gcHJpbWUgZWRpdGluZyBhbmQgc2lsZW50IGVkaXRpbmcgZGlyZWN0bHkgaW50byBvdXIgcHJvamVjdCBieSByZWZpbmluZyBvdXIgYXBwcm9hY2ggdG8gZ2VuZSBlZGl0aW5nLiBCYXNlZCBvbiBmZWVkYmFjayBhYm91dCB0aGUgb3B0aW1hbCBsZW5ndGggb2YgcHJpbWVyIGJpbmRpbmcgc2VxdWVuY2VzIChQQlMpIGFuZCBSVFRzLCB3ZSBhZGp1c3RlZCB0aGUgZGVzaWduIG9mIG91ciBwZWdSTkFzIHRvIGVuc3VyZSBncmVhdGVyIHByZWNpc2lvbiBhbmQgZWZmaWNpZW5jeSBpbiBvdXIgZXhwZXJpbWVudHMuIEluIHBhcnRpY3VsYXIsIHdlIGxlYXJuZWQgdGhhdCB1c2luZyBQQlMgbGVuZ3RocyBjbG9zZSB0byAzN1x1MDBCMEMgbWVsdGluZyB0ZW1wZXJhdHVyZXMgKGUuZy4gMTYtMTcgbnVjbGVvdGlkZXMpIGluY3JlYXNlZCBzdGFiaWxpdHksIHdoaWNoIGxlZCB1cyB0byBmaW5lLXR1bmUgdGhlc2Ugc2VxdWVuY2VzIGZvciBpbXByb3ZlZCBlZGl0aW5nIHJlc3VsdHMuIFRoZSBjb25jZXB0IG9mIHNpbGVudCBlZGl0aW5nIGJlY2FtZSBhbiBpbnRlZ3JhbCBwYXJ0IG9mIG91ciBzYWZldHkgc3RyYXRlZ3lbTGluayBCaW9zYWZldHldLCBhbGxvd2luZyB1cyB0byBtYWtlIGNoYW5nZXMgdG8gdGhlIEROQSBtb3JlIHByZWNpc2UuIFdlIGFsc28gcmV2aXNlZCBvdXIgY2xvbmluZyBzdHJhdGVnaWVzIGJ5IGNvbnNpZGVyaW5nIHRoZSBhcHByb3ByaWF0ZSBvdmVyaGFuZyBsZW5ndGgsIHRhcmdldGluZyBhIGJhc2UgcGFpciBsZW5ndGggbmVhciB0aGUgbWVsdGluZyB0ZW1wZXJhdHVyZSBvZiA2MFx1MDBCMEMgdG8gaW1wcm92ZSBjbG9uaW5nIGVmZmljaWVuY3kuIFdlIGFsc28gcmVhc3Nlc3NlZCB0aGUgcHJhY3RpY2FsaXR5IG9mIG9yZGVyaW5nIHNob3J0ZXIgUEJTIHNlcXVlbmNlcywgY29uY2x1ZGluZyB0aGF0IGxlbmd0aHMgc2hvcnRlciB0aGFuIDE1IG50IHdlcmUgbGVzcyBhZHZhbnRhZ2VvdXMgZHVlIHRvIHJlZHVjZWQgZWZmaWNpZW5jeS4gQnkgaW50ZWdyYXRpbmcgdGhlc2UgZmluZGluZ3MsIHdlIG9wdGltaXNlZCBvdXIgZXhwZXJpbWVudGFsIHdvcmtmbG93IGFuZCBtYWRlIGluZm9ybWVkIGRlY2lzaW9ucyBhYm91dCB0aGUgdG9vbHMgYW5kIG1ldGhvZHMgZm9yIG91ciBwcmltZSBlZGl0aW5nIGV4cGVyaW1lbnRzLiBcIixcbiAgICBzdW1tYXJ5OiBcIldlIGVuZ2FnZWQgaW4gYSB2YWx1YWJsZSBkaXNjdXNzaW9uIHdpdGggSmFuLVBoaWxsaXAgR2VyaGFyZHMgcmVnYXJkaW5nIHByaW1lIGVkaXRpbmcgYW5kIHBlZ1JOQXMsIGxldmVyYWdpbmcgaGlzIGludGVybnNoaXAgZXhwZXJpZW5jZSB3aXRoIHRoZXNlIHRlY2hub2xvZ2llcy4gS2V5IGluc2lnaHRzIGluY2x1ZGVkIHRoZSBlZmZlY3RpdmVuZXNzIG9mIHNpbGVudCBlZGl0cywgd2hpY2ggY2FuIGVuaGFuY2UgdGhlIHNhZmV0eSBvZiBvdXIgUHJpbWVHdWlkZSBieSBtb2RpZnlpbmcgRE5BIHNlcXVlbmNlcyB3aXRob3V0IGFsdGVyaW5nIHRoZSByZXN1bHRhbnQgcHJvdGVpbiwgdGhlcmVieSBwcmV2ZW50aW5nIHBlZ1JOQSByZWJpbmRpbmcuIFdlIGFsc28gbGVhcm5lZCB0aGUgaW1wb3J0YW5jZSBvZiBvcHRpbWl6aW5nIHRoZSBwcmltZXIgYmluZGluZyBzaXRlIChQQlMpIGxlbmd0aCB0byBhY2hpZXZlIGlkZWFsIHRlbXBlcmF0dXJlcyBjbG9zZSB0byAzN1x1MDBCMEMsIHJlY29tbWVuZGluZyBsZW5ndGhzIG9mIDE2LTE3IG51Y2xlb3RpZGVzLiBBZGRpdGlvbmFsbHksIHdlIGRpc2NvdmVyZWQgdGhlIHBvdGVudGlhbCBiZW5lZml0cyBvZiB1c2luZyBub24tYW5ub3RhdGVkIHJlZ2lvbnMgd2l0aCBvdmVyaGFuZ3MgZm9yIGNsb25pbmcsIHdoaWxlIGFsc28gcmVjb2duaXppbmcgY29uY2VybnMgYWJvdXQgY2lyY1JOQSBzdGVyaWMgaGluZHJhbmNlIGJ5IENhczkuIFRoZXNlIGluc2lnaHRzIGRpcmVjdGx5IGluZm9ybWVkIG91ciBwcm9qZWN0LCBhbGxvd2luZyB1cyB0byByZWZpbmUgb3VyIHBlZ1JOQSBkZXNpZ24gYW5kIGNsb25pbmcgc3RyYXRlZ2llcywgdWx0aW1hdGVseSBlbmhhbmNpbmcgdGhlIHByZWNpc2lvbiBhbmQgZWZmaWNpZW5jeSBvZiBvdXIgZ2VuZSBlZGl0aW5nIGFwcHJvYWNoLlwiLFxuICAgIG1vbnRoczogXCJNYXlcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJNYXR0aWpzXCIsXG4gICAgbmFjaG5uYW1lOiBcIkJ1bGNhZW5cIixcbiAgICBqb2I6IFwiUGhEIFJlc2VhcmNoZXIgYXQgTGFib3JhdG9yeSBmb3IgTW9sZWN1bGFyIFZpcm9sb2d5ICYgR2VuZSBUaGVyYXB5XCIsXG4gICAgYWZmaWxpYXRpb246IFwiS1UgTGV1dmVuXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snbWF0dGlqcyddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiRGlzY3Vzc2lvbiB3aXRoIGEgUHJpbWUgRWRpdGluZyBFeHBlcnQgb24gU2ltaWxhciBBcHByb2FjaGVzIGZvciBEaWZmZXJlbnQgTXV0YXRpb25zXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibWF0dGlqc2ludlwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJCdWxjYWVuLCBDRiBSZXNlYXJjaCBFeHBlcnQgYW5kIEdlbmUgVGhlcmFweSBTcGVjaWFsaXN0XCIsXG4gICAgcXVvdGVWb3JuYW1lOiBcIk1hdHRpanNcIixcbiAgICBxdW90ZTogXCJbXHUyMDI2XSBQcmltZSBFZGl0aW5nIHN5c3RlbSBpcyBtb3JlIGNvbXBsZXggdGhhbiB0aGUgY2Fub25pY2FsIENSSVNQUiBzeXN0ZW1zLCB3aXRoIG1vcmUgdmFyaWFibGVzIHRoYXQgY2FuIGluZmx1ZW5jZSBzdWNjZXNzIG9yIGZhaWx1cmUuXCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+U2hvcnRseSBhZnRlciB3ZSBkZWNpZGVkIHRvIHVzZSBwcmltZSBlZGl0aW5nIGFzIHRoZSBnZW5lIGVkaXRpbmcgbWV0aG9kIGZvciBvdXIgQ0YgdGhlcmFweSwgTWF0dGlqcyBCdWxjYWVuIGZyb20gdGhlIExhYm9yYXRvcnkgb2YgTW9sZWN1bGFyIFZpcm9sb2d5IGFuZCBHZW5lIFRoZXJhcHkgYXQgS1UgTGV1dmVuIGFuZCBoaXMgY29sbGVhZ3VlcyBwdWJsaXNoZWQgYSBwYXBlciBkaXJlY3RseSByZWxhdGVkIHRvIG91ciByZXNlYXJjaCA8VGFiU2Nyb2xsTGluayB0YWI9XCJtYXR0aWpzaW52XCIgc2Nyb2xsSWQ9XCJkZXNjLTFcIiBudW09XCIxXCIgLz4uIEluIGNvbnRyYXN0IHRvIG91ciBhcHByb2FjaCwgQnVsY2FlbiBldCBhbC4gMjAyNCB0YXJnZXRlZCBvdGhlciwgbGVzcyBjb21tb24gYnV0IGRydWctcmVmcmFjdG9yeSBDRlRSLXNwZWNpZmljIG11dGF0aW9ucyAoTDIyN1ItIGFuZCBOMTMwM0spLlx1MjAyRiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPlRoZSBpbnNpZ2h0cyBnYWluZWQgZnJvbSB0aGlzIGludGVydmlldyBwcm92ZWQgZXh0cmVtZWx5IHZhbHVhYmxlIGluIHNoYXBpbmcgb3VyIHN1YnNlcXVlbnQgbWVjaGFuaXN0aWMgYXBwcm9hY2hlcy4gQXQgdGhhdCBwb2ludCBpbiB0aGUgcHJvamVjdCB3ZSB3ZXJlIHN0YXJ0aW5nIHRvIGRlc2lnbiB0aGUgY29tcG9uZW50cyBvZiBvdXIgcHJpbWUgZWRpdG9yLCBidXQgd2Ugd2VyZSBsYWNraW5nIGEgYnJvYWRlciBvdmVydmlldyBvdmVyIHRoZSBzdGF0ZSBvZiB0aGUgZmllbGQuIE1hdHRpanMgZ2F2ZSB1cyB0aGlzIGluc2lnaHQsIG1lbnRpb25pbmcgdGVjaG5pcXVlcyBsaWtlIFBFM2Igc3lzdGVtcywgZHNnUk5BcyBhbmQgYSB0YWxrIGdpdmVuIGJ5IDxIUExpbmt0b090aGVySFBUYWIgdGFiPVwibGl1XCIgdGV4dD1cIkRhdmlkIExpdVwiIC8+LCB0aGUgcHJpbmNpcGFsIFxuICAgICAgaW52ZXN0aWdhdG9yIGJlaGluZCBwcmltZSBlZGl0aW5nIHRoYXQgaGVscGVkIHVzIHRvIGNvbnNpZGVyIGZ1cnRoZXIgbm92ZWwgYWR2YW5jZW1lbnRzIGluIGluIFByaW1lIEVkaXRpbmcgYW5kIGluY2x1ZGUgdGhlbSBpbnRvIG91ciBwcm9qZWN0LiBIZSBkaXNjdXNzZWQgd2l0aCB1cyB0aGUgZGlmZmljdWx0aWVzIHRoYXQgbWlnaHQgYXdhaXQgdXMgd2hlbiB0YXJnZXRpbmcgdGhlIENGVFIgRjUwOGRlbCBkZWxldGlvbiBhbmQgbWVudGlvbmVkIHRoYXQgaW5zZXJ0aW9ucyBvZiBhbGwgdGhlIGVkaXRzIHBvc3NpYmxlIHdpdGggcHJpbWUgZWRpdGluZyBhcmUgdGhlIGhhcmRlc3QgdG8gbWFrZSwgdGhlIHJlY29nbml0aW9uIG9mIGVkaXRzIGluIHRoZSByZWdpb24gbWlnaHQgYXR0cmFjdCBtaXNtYXRjaCByZXBhaXIgc3lzdGVtcyBhbmQgdGhlIGNocm9tYXRpbiBvcmdhbml6YXRpb24gbWlnaHQgbmVnYXRpdmVseSBpbXBhY3QgcHJpbWUgZWRpdGluZyBlZmZpY2llbmN5LiBBbHNvLCB3ZSBsZWFybmVkIGEgXG4gICAgbG90IGFib3V0IGhvdyB0byBkZXNpZ24gb3VyIHBlZ1JOQXMsIHdpdGggaW1wb3J0YW50IGlucHV0cyBiZWluZyB0aGUgM1x1MjAxOSBzdGVtIGxvb3AgbW90aWYgdHJldm9wcmVRMSB1c2VkIGJ5IE1hdHRpanMgaW4gaGlzIHB1YmxpY2F0aW9uIGFuZCB0aGUgc3VnZ2VzdGlvbiB0byB1c2UgcHJlZGljdGlvbiB0b29scyB0byBldmFsdWF0ZSBzZ1JOQSBzcGFjZXIgY3V0dGluZyBlZmZpY2llbmN5LiBXZSByZXZpZXdlZCBvdXIgYXBwcm9hY2ggb2YgdGVzdGluZyBwZWdSTkFzIHVzaW5nIHRoZSBQRUFSIHJlcG9ydGVyIHN5c3RlbSBhbmQgTWF0dGppcyByZWNvbW1lbmRlZCB0byB1c2UgSEVLIGNlbGwgbGluZXMgZm9yIHNjcmVlbmluZyBiZWNhdXNlIG9mIHRoZWlyIGVhc3kgaGFuZGxpbmcgYW5kIG5hdHVyYWxseSBpbXBhaXJlZCBtaXNtYXRjaCByZXBhaXIgc3lzdGVtLiA8L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPlRoZSBpbnB1dHMgZ2l2ZW4gYnkgTWF0dGlqcyBkaXJlY3RseSBpbXBhY3RlZCBvdXIgZGVzaWduIGNob2ljZXMgZm9yIG11bHRpcGxlIHBhcnRzIG9mIHRoZSBwcm9qZWN0LiBGb3IgdGhlIHBlZ1JOQSBkZXNpZ24sIHdlIGRlY2lkZWQgdG8gdXNlIHRoZSBzYW1lIDNcdTIwMTkgbW90aWYgYXMgTWF0dGlqcyBoYWQgdXNlZCBhbmQgYWxzbywgbGlrZSBoZSBzdWdnZXN0ZWQsIGNoZWNrZWQgb3VyIHNwYWNlciBjYW5kaWRhdGVzIGZvciBwcmVkaWN0ZWQgY2xlYXZhZ2UgZWZmaWNpZW5jeS4gQWxzbyB3ZSB1c2VkIEhFSyBjZWxscyBmb3Igc2NyZWVuaW5nIG91ciBwZWdSTkFzLiBXZSBsb29rZWQgZnVydGhlciBpbnRvIFBFIHN5c3RlbXMgdGhhdCBpbmZsdWVuY2UgY2VsbHVsYXIgbWlzbWF0Y2ggcmVwYWlyIChzdWNoIGFzIFBFNCkgYW5kIHRyaWVkIHRvIGluY2x1ZGUgdGhlc2UgaW50byBvdXIgZGVzaWduLjwvcD5dLFxuICAgIGludGVydmlldzogPD5cbiAgICAgIDxRYUJveCBxPVwiV2UgaGF2ZSBwcmVwYXJlZCBzb21lIHF1ZXN0aW9ucyBmb3IgeW91LiBUaGUgZmlyc3QgcXVlc3Rpb24gaXM6IFlvdSBtZW50aW9uZWQgdGhhdCBpdCB3YXMgcXVpdGUgY2hhbGxlbmdpbmcgdG8gdGFyZ2V0IHRoZSBGNTA4IGRlbHRhIG11dGF0aW9uLiBDb3VsZCB5b3UgcHJvdmlkZSBtb3JlIGRldGFpbGVkIHJlYXNvbnMgZm9yIHdoeSB0aGlzIGlzIHRoZSBjYXNlIG9yIGV4cGxhaW4gd2h5IHRoaXMgbXV0YXRpb24gaXMgcGFydGljdWxhcmx5IGRpZmZpY3VsdCB0byB0YXJnZXQgY29tcGFyZWQgdG8gb3RoZXJzP1wiIFxuICAgICAgICBhPVwiWWVzLCB0aGF0J3MgdGhlIG1pbGxpb24tZG9sbGFyIHF1ZXN0aW9uLiBGaXJzdCBvZiBhbGwsIGxldCBtZSBjbGFyaWZ5OiBvdXIgZ3JvdXAgaGFzIG5ldmVyIGRpcmVjdGx5IHdvcmtlZCBvbiB0aGF0IG11dGF0aW9uIGJlY2F1c2Ugd2UgaW1tZWRpYXRlbHkgZm9jdXNlZCBvbiB0aGUgZHJ1Zy1yZWZyYWN0b3J5IG11dGF0aW9ucywgc3VjaCBhcyBub25zZW5zZSBtdXRhdGlvbnMgd2hlcmUgdGhlIHByb3RlaW4gaXMgbm90IGZvcm1lZCwgaW5kZWwgbXV0YXRpb25zLCBvciBzZXZlcmUgbWlzc2Vuc2UgbXV0YXRpb25zIHRoYXQgZG8gbm90IHJlc3BvbmQgdG8gbW9kdWxhdG9yIHRoZXJhcGllcy4gT2YgY291cnNlLCB3ZSBrbm93IHNldmVyYWwgZ3JvdXBzIGluIHRoZSBmaWVsZCB3aG8gZWl0aGVyIHdvcmsgb24gZ2VuZSBlZGl0aW5nIG9yIGZvY3VzIG9uIGN5c3RpYyBmaWJyb3NpcyAoQ0YpLiBXZSd2ZSBoZWFyZCBmcm9tIHNvbWUgb2YgdGhlbSB3aG8gYXR0ZW1wdGVkIHRvIHRhcmdldCB0aGUgRjUwOCBkZWx0YSBtdXRhdGlvbi4gRm9yIGV4YW1wbGUsIHNvbWUgY29sbGFib3JhdG9ycyByZWFsbHkgdHJpZWQgdG8gZGVzaWduIGRpZmZlcmVudCBndWlkZXMgYnV0IHdlcmUgdW5hYmxlIHRvIGZpbmQgYW55dGhpbmcgYWJvdmUgdGhlIGRldGVjdGlvbiBsaW1pdC4gXG4gICAgICAgIEY1MDhkZWwgaXMgcHJvYmFibHkgb25lIG9mIHRoZSBtb3N0IGxvZ2ljYWwgbXV0YXRpb25zIHRvIHRyeSB0byBjb3JyZWN0LCBub3QganVzdCBmb3IgQ0YgYnV0IGZvciB0aGUgZW50aXJlIGdlbmUtZWRpdGluZyBmaWVsZC4gSWYgeW91IGxvb2sgYXQgdGhlIGZyZXF1ZW5jaWVzIG9mIG11dGF0aW9ucyB0aGF0IGNhdXNlIGdlbmV0aWMgZGlzZWFzZXMsIHRoZSBGNTA4IGRlbHRhIG11dGF0aW9uIGlzIGJ5IGZhciB0aGUgbW9zdCBjb21tb24gZGVsZXRpb24gbXV0YXRpb24gY2F1c2luZyBhIHNldmVyZSBkaXNlYXNlLiBUaGlzIGlzIGJlY2F1c2UgQ0YsIGFsb25nIHdpdGggc2lja2xlIGNlbGwgZGlzZWFzZSwgaXMgb25lIG9mIHRoZSBtb3N0IGNvbW1vbiBkZWFkbHkgaW5oZXJpdGVkIGRpc2Vhc2VzLCBhbmQgaXQncyBvdmVycmVwcmVzZW50ZWQgd2l0aGluIENGLiBTbywgaXQgbWFrZXMgc2Vuc2UgdGhhdCB0aGV5IHdvdWxkIGhhdmUgYmVlbiB0cnlpbmcgdG8gdGFyZ2V0IGl0IGZyb20gdGhlIGJlZ2lubmluZy4gXG4gICAgICAgIEludGVyZXN0aW5nbHksIGlmIHlvdSByZWFkIHRoZSBQcmltZSBFZGl0aW5nIHBhcGVyIGJ5IEFuemFsb25lLCBGNTA4IGRlbHRhIGlzIG1lbnRpb25lZCBpbiB0aGUgaW50cm9kdWN0aW9uIGluIGNvbm5lY3Rpb24gd2l0aCBDRi4gU28sIGl0J3Mgc29tZXdoYXQgc3VycHJpc2luZyB0aGF0IGFmdGVyIGFsbCB0aGlzIHRpbWVcdTIwMTRpdCdzIGJlZW4gYWxtb3N0IGZpdmUgeWVhcnMgbm93XHUyMDE0dGhleSBoYXZlbid0IHB1Ymxpc2hlZCBvciByZWxlYXNlZCBhbnl0aGluZyBvbiBGNTA4IGRlbHRhLiBcbiAgICAgICAgSG93ZXZlciwgbGFzdCB3ZWVrZW5kLCB0aGVyZSB3YXMgYW4gb25saW5lIHNlbWluYXIgd2hlcmUgRGF2aWQgTGl1IGdhdmUgYSB0YWxrLCBhbmQgaGUgc2hvd2VkIHNvbWUgdW5wdWJsaXNoZWQgZGF0YSBpbmRpY2F0aW5nIHRoYXQgdGhleSBtYW5hZ2VkIHRvIGFjaGlldmUgcXVpdGUgZ29vZCBQcmltZSBFZGl0aW5nIGVmZmljaWVuY3kgb24gRjUwOCBkZWx0YS4gSXQncyB3b3J0aCBub3RpbmcgdGhhdCBEYXZpZCBMaXUgcmFyZWx5IHByZXNlbnRzIHVucHVibGlzaGVkIGRhdGEgdW5sZXNzIHRoZSBwdWJsaWNhdGlvbiBpcyBlaXRoZXIgYWNjZXB0ZWQgb3IgdmVyeSBjbG9zZSB0byBhY2NlcHRhbmNlLiBTbywgd2UgYWxsIGtpbmQgb2YgZXhwZWN0IHRoYXQgdGhlIHBhcGVyIHdpbGwgYmUgcHVibGlzaGVkIHNvb24sIHBlcmhhcHMgd2l0aGluIHRoZSBuZXh0IHdlZWsgb3IgYXQgbGVhc3Qgd2l0aGluIGEgbW9udGguIEZyb20gd2hhdCBJIHNhdywgaXQgYXBwZWFycyB0aGV5IGxldmVyYWdlZCBtYW55IG9mIHRoZSBhcHByb2FjaGVzIGF2YWlsYWJsZSB0b2RheSB0byBlbmhhbmNlIFByaW1lIEVkaXRpbmcuIFxuICAgICAgICBOb3csIHJlZ2FyZGluZyB5b3VyIHF1ZXN0aW9uIGFib3V0IHdoeSB0aGlzIG11dGF0aW9uIGlzIHNvIGRpZmZpY3VsdCB0byB0YXJnZXQgd2l0aCBQcmltZSBFZGl0aW5nLCBJIGNhbid0IHByb3ZpZGUgYW4gZXhhY3QgYW5zd2VyLiBIb3dldmVyLCBJIGNhbiBsaXN0IHNvbWUgcG90ZW50aWFsIGRpZmZpY3VsdGllcyBhc3NvY2lhdGVkIHdpdGggdGhlIG11dGF0aW9uLCBhbmQgaXRcdTIwMTlzIGxpa2VseSB0aGF0IEY1MDggZGVsdGEgaXMgY2hhbGxlbmdpbmcgZm9yIHNldmVyYWwgb2YgdGhlc2UgcmVhc29ucy4gRm9yIGluc3RhbmNlLCBpdCBjb3VsZCBiZSByZWxhdGVkIHRvIHRoZSBnZW5vbWljIHJlZ2lvbiBpdHNlbGYuIFdyaXRpbmcgaW5zZXJ0aW9ucyBjYW4gYmUgbW9yZSBkaWZmaWN1bHQ7IHRoZSBlYXNpZXN0IGVkaXRzIGFyZSBzaW5nbGUtcG9pbnQgbXV0YXRpb25zLCBmb2xsb3dlZCBieSBkZWxldGlvbnMsIGFuZCB0aGUgbW9zdCBjaGFsbGVuZ2luZyBhcmUgaW5zZXJ0aW9ucy4gVGhpcyBkaWZmaWN1bHR5IGFyaXNlcyBiZWNhdXNlIGl0IGludm9sdmVzIHdyaXRpbmcgYSB0aGlyZCBzdHJhbmQgYW5kIHRoZW4gcmVseWluZyBvbiBETkEgZGFtYWdlIHJlcGFpciBtZWNoYW5pc21zIHRvIGZpeCBpdC4gIFxuICAgICAgICBJdCBjb3VsZCBhbHNvIGJlIHRoYXQgdGhlIHJlZ2lvbiBhcm91bmQgdGhlIEY1MDggZGVsdGEgbXV0YXRpb24gaXMgY2hhbGxlbmdpbmcgZHVlIHRvIGZsYXAgZXF1aWxpYnJhdGlvbiBvciB0aGF0IGl0IGF0dHJhY3RzIHBhdGh3YXlzIHN1Y2ggYXMgbWlzbWF0Y2ggcmVwYWlyIHRoYXQgbmVnYXRpdmVseSBpbXBhY3QgUHJpbWUgRWRpdGluZy4gQWRkaXRpb25hbGx5LCB0aGUgY2hyb21hdGluIG9yZ2FuaXphdGlvbiBhcm91bmQgdGhhdCByZWdpb24gY291bGQgcGxheSBhIHJvbGUuIE92ZXIgdGhlIHBhc3QgeWVhciwgd2VcdTIwMTl2ZSBnYXRoZXJlZCBjbHVlcyB0aGF0IGNocm9tYXRpbiBvcmdhbml6YXRpb24gc2lnbmlmaWNhbnRseSBhZmZlY3RzIFByaW1lIEVkaXRpbmcgY2FwYWJpbGl0eSwgd2hpbGUgdGhpcyBpcyBtdWNoIGxlc3Mgb2YgYW4gaXNzdWUgZm9yIENhczkgYW5kIGJhc2UgZWRpdG9ycy4gXG4gICAgICAgIFN0dWR5aW5nIHRoaXMgaXMgbm90IHN0cmFpZ2h0Zm9yd2FyZDsgeW91IHdvdWxkIG5lZWQgdG8gY29uZHVjdCBleHBlcmltZW50cyBsaWtlIEFUQUMtc2VxIHRvIGRldGVybWluZSB0aGUgY2hyb21hdGluIG9yZ2FuaXphdGlvbiBhcm91bmQgdGhlIG11dGF0aW9uIGFuZCBob3cgaXQgbWlnaHQgaW50ZXJmZXJlLiBJIGFsc28gbm90aWNlZCBvbiBhIHNsaWRlIHRoYXQgZHNnUk5BcyB3ZXJlIG1lbnRpb25lZCwgdGhvdWdoIERhdmlkIExpdSBkaWRuJ3QgZGlzY3VzcyB0aGVtIGluIGhpcyB0YWxrLiBBZnRlciBsb29raW5nIHRoZW0gdXAgb25saW5lLCBJIGZvdW5kIHRoYXQgdGhpcyB0ZWNobmlxdWUsIHB1Ymxpc2hlZCBhIGZldyB5ZWFycyBhZ28gYnkgb3RoZXIgcmVzZWFyY2hlcnMsIGlzIHNwZWNpZmljYWxseSBkZXNpZ25lZCB0byBvcGVuIHVwIGNocm9tYXRpbi4gSXQgc2VlbXMgdGhleSB1c2UgZGlmZmVyZW50IGd1aWRlcywgd2l0aG91dCB0aGUgdGhyZWUtcHJpbWUgZXh0ZW5zaW9uLCB0byBvcGVuIHVwIHRoZSBjaHJvbWF0aW4sIHdoaWNoIGNvdWxkIGJlIG9uZSB3YXkgdG8gb3ZlcmNvbWUgdGhlIGxpbWl0YXRpb25zIGluIFByaW1lIEVkaXRpbmcgZWZmaWNpZW5jeS4gXG4gICAgICAgIFRoZXJlIGNvdWxkIGJlIG90aGVyIGZhY3RvcnMgYXMgd2VsbCwgYW5kIGl0XHUyMDE5cyBvZnRlbiBkaWZmaWN1bHQgdG8gcHJlZGljdCB3aGF0IHdpbGwgd29yayBhbmQgd2hhdCB3b24ndC4gV2UgaGF2ZSBwcmVkaWN0aW9uIHRvb2xzIGZvciBQcmltZSBFZGl0aW5nIGd1aWRlcyB0aGF0IHdvcmsgdG8gc29tZSBleHRlbnQsIGJ1dCB0aGV5IGFyZSBub3QgYXMgZWZmZWN0aXZlIGFzIHRoZSBwcmVkaWN0aW9uIHRvb2xzIGF2YWlsYWJsZSBmb3IgcmVndWxhciBDUklTUFIgZ3VpZGUgUk5Bcy4gVGhpcyBzdWdnZXN0cyB0aGF0IHRoZSBQcmltZSBFZGl0aW5nIHN5c3RlbSBpcyBtb3JlIGNvbXBsZXggdGhhbiB0aGUgY2Fub25pY2FsIENSSVNQUiBzeXN0ZW1zLCB3aXRoIG1vcmUgdmFyaWFibGVzIHRoYXQgY2FuIGluZmx1ZW5jZSBzdWNjZXNzIG9yIGZhaWx1cmUuIEkgaG9wZSB0aGlzIGFuc3dlcnMgeW91ciBxdWVzdGlvbiBzb21ld2hhdC4gXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiVGhhdCBoYXMgYWxyZWFkeSBiZWVuIHZlcnkgaGVscGZ1bCwgdGhhbmsgeW91IGZvciB0aGF0LiBXZSdsbCBjb25zaWRlciB0aGlzIGFuZCBtaWdodCBsb29rIGludG8gaXQgYSBiaXQgbW9yZS4gXG4gICAgICAgIFBlcmhhcHMgd2UgY291bGQgcXVpY2tseSBkaXNjdXNzIHdoaWNoIHBhcnQgb2YgdGhlIHByaW1lIGVkaXRpbmcgY29tcGxleCB5b3UgdGhpbmsgcGxheXMgdGhlIG1vc3Qgc2lnbmlmaWNhbnQgcm9sZSBpbiBtYWtpbmcgaW5zZXJ0aW9ucyBtdWNoIG1vcmUgY2hhbGxlbmdpbmcgY29tcGFyZWQgdG8gZGVsZXRpb25zLiBJcyBpdCB0aGUgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIG9yIHRoZSBSTkE/IFwiIFxuICAgICAgICBhPVwiSSAgZG9uJ3QgdGhpbmsgaXQncyBwcmltYXJpbHkgdGhlIHJldmVyc2UgdHJhbnNjcmlwdGFzZSB0aGF0J3MgdGhlIGlzc3VlLiBQZW9wbGUgaGF2ZSBzaG93biB0aGF0IGxvbmdlciBpbnNlcnRpb25zIGFyZSBkZWZpbml0ZWx5IHBvc3NpYmxlLiBJIGJlbGlldmUgdGhlIGNoYWxsZW5nZSBsaWVzIGluIHRoZSBwcm9jZXNzIHdoZW4geW91ciBjZWxsIGhhcyB0byByZXBhaXIgdGhlIG5ldyBETkEgc3RyYW5kLCB3aGljaCBpcyBnZW5lcmF0ZWQgYW5kIGV4aXN0cyBhcyBhIHRocmVlLXN0cmFuZGVkIGludGVybWVkaWF0ZS4gV2UgZG9uXHUyMDE5dCBkaXJlY3RseSBpbnRlcnZlbmUgaW4gdGhpcyBwcm9jZXNzOyBpdCBlbnRpcmVseSBkZXBlbmRzIG9uIHRoZSBjZWxsIGFuZCB0aGUgRE5BIGRhbWFnZSByZXBhaXIgcGF0aHdheXMgYWN0aXZlIGluIHRob3NlIGNlbGxzLiBUaHJvdWdoIGV4cHJlc3Npb24gb2YgZG9taW5hbnQgbmVnYXRpdmUgRE5BIGRhbWFnZSByZXBhaXIgZWZmZWN0b3JzLCBvciBieSBuaWNraW5nIHRoZSBub24tZWRpdGVkIHN0cmFuZCwgdGhlIG91dGNvbWUgY2FuIGJlIHN0ZWVyZWQgdG8gc29tZSBleHRlbnQuIFxuICAgICAgICBXaGVuIHlvdSBwZXJmb3JtIGFuIGluc2VydGlvbiwgdGhlIG5ldyBzdHJhbmQgbXVzdCBoeWJyaWRpemUgd2l0aCB0aGUgYm90dG9tIHN0cmFuZCwgd2hpY2ggcmVtYWlucyBpbnRhY3QuIFRoaXMgY3JlYXRlcyBhIHNtYWxsIGxvb3AgdGhhdCBuZWVkcyB0byBiZSBpbmNvcnBvcmF0ZWQuIEF0IHRoaXMgcG9pbnQsIHRoZSBjZWxsIGZhY2VzIHR3byBvcHRpb25zOiBpdCBjYW4gZWl0aGVyIHJldmVydCB0byB0aGUgb3JpZ2luYWwgc3RhdGUgb3IgaW5jb3Jwb3JhdGUgdGhlIGVkaXQgeW91XHUyMDE5cmUgdHJ5aW5nIHRvIGludHJvZHVjZS4gSW4gY2VydGFpbiBjaXJjdW1zdGFuY2VzLCBwZXJoYXBzIGR1ZSB0byBob3cgdGhlIG5ldyBETkEgc3RyYW5kIGZvbGRzIG9yIHRoZSBzZXF1ZW5jZSBjb250ZXh0IG9mIHRoZSByZWdpb24gb2YgaW50ZXJlc3QsIHRoZSBjZWxsIG1pZ2h0IGhlYXZpbHkgZmF2b3IgcmV2ZXJ0aW5nIHRvIHRoZSBvcmlnaW5hbCBzdGF0ZSwgcmVzdWx0aW5nIGluIHRoZSBhYnNlbmNlIG9mIHRoZSBpbnRlbmRlZCBlZGl0LiBcbiAgICAgICAgVGhpcyBwcm9jZXNzIGlzIGV4dHJlbWVseSBkaWZmaWN1bHQgdG8gcHJlZGljdCwgYnV0IHRoZXJlIGFyZSBzZXZlcmFsIGluZGljYXRpb25zIHBvaW50aW5nIGluIHRoaXMgZGlyZWN0aW9uLiBGb3IgZXhhbXBsZSwgaW4gdGhlIGNhc2Ugb2YgcG9pbnQgbXV0YXRpb25zLCBpdCBoYXMgYmVlbiBzaG93biB0aGF0IGl0XHUyMDE5cyBlYXNpZXIgdG8gY29udmVydCBhIEMgdG8gYSBHIHJhdGhlciB0aGFuIHRoZSByZXZlcnNlLCBzaW1wbHkgZHVlIHRvIGhvdyB0aGVzZSBtaXNtYXRjaGVzIGFyZSByZWNvZ25pemVkIGJ5IHRoZSBETkEgZGFtYWdlIHJlcGFpciBtZWNoYW5pc21zLiBUaGlzIGFyZWEgaXMgdmVyeSBjb21wbGV4LCBhbmQgSSBkb25cdTIwMTl0IHRoaW5rIGFueW9uZSBmdWxseSB1bmRlcnN0YW5kcyBpdCB5ZXQuIEl0XHUyMDE5cyBhbHNvIGRpZmZpY3VsdCB0byBzdHVkeS4gXG4gICAgICAgIEkgZG9uJ3QgYmVsaWV2ZSB0aGUgcmF0ZSBvZiByZXZlcnNlIHRyYW5zY3JpcHRpb24gaXMgdGhlIGxpbWl0aW5nIGZhY3RvciBoZXJlLCBhbHRob3VnaCBpdCBjb3VsZCBwbGF5IGEgcm9sZSBmb3IgbG9uZyBvciBzdHJ1Y3R1cmVkIHBlZ1JOQXMuIFlvdSBtaWdodCBoYXZlIGFscmVhZHkgY29tZSBhY3Jvc3MgdGhpcywgYnV0IHRoZSBQRTYgZ2VuZXJhdGlvbiBvZiBQcmltZSBFZGl0b3JzLCB3aGljaCB3ZXJlIHJlbGVhc2VkIGFib3V0IGhhbGYgYSB5ZWFyIGFnbywgaW52b2x2ZSBlbmdpbmVlcmVkIG9yIGV2b2x2ZWQgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlcyB0aGF0IGFyZSBtb3JlIHByb2Nlc3NpdmUgYW5kIGNhbiBtb3JlIGVhc2lseSBzeW50aGVzaXplIGxvbmdlciB0cmFuc2NyaXB0cy4gXG4gICAgICAgIEFub3RoZXIgZmFjdG9yIHRoYXQgY291bGQgcGxheSBhIHJvbGUgaXMgdGhlIHNlY29uZGFyeSBzdHJ1Y3R1cmUgb2YgdGhlIGd1aWRlIFJOQS4gRWFjaCBwcmltZSBlZGl0aW5nIGd1aWRlIFJOQSBmYWNlcyBhIGNvbW1vbiBwcm9ibGVtOiBpdCBoYXMgYSBzcGFjZXIgdGhhdCBiaW5kcyB0aGUgYm90dG9tIHN0cmFuZCBhbmQgYSB0aHJlZS1wcmltZSBleHRlbnNpb24gdGhhdCBiaW5kcyB0aGUgdG9wIHN0cmFuZC4gU2luY2UgdGhlc2UgdHdvIHBhcnRzIG9mIHRoZSBSTkEgYmluZCBjb21wbGVtZW50YXJ5IHN0cmFuZHMsIHRoZXkgYXJlIGFsc28gY29tcGxlbWVudGFyeSB0byBlYWNoIG90aGVyLCBtZWFuaW5nIGV2ZXJ5IHByaW1lIGVkaXRpbmcgZ3VpZGUgaGFzIHNvbWUgdGVuZGVuY3kgdG8gYmluZCBpdHNlbGYuIElmIHRoZSBHaWJicyBmcmVlIGVuZXJneSBpcyB0b28gaGlnaCwgdGhlIGd1aWRlIFJOQSBtYXkgZm9sZCBpbiBvbiBpdHNlbGYsIHByZXZlbnRpbmcgaXQgZnJvbSBiaW5kaW5nIHRvIHRoZSBwcmltZSBlZGl0b3IsIHdoaWNoIHRoZW4gaW5oaWJpdHMgcHJpbWUgZWRpdGluZy4gXG4gICAgICAgIEFkZGl0aW9uYWxseSwgdGhlIHRocmVlLXByaW1lIGV4dGVuc2lvbiBpdHNlbGYgY2FuIGZvbGQgaW5kZXBlbmRlbnRseS4gSSBoYXZlblx1MjAxOXQgc3BlY2lmaWNhbGx5IGV4YW1pbmVkIHRoaXMgZm9yIHRoZSBGNTA4IGRlbHRhIGd1aWRlcywgYnV0IGl0IGlzIHNvbWV0aGluZyB0aGF0IGNhbiBiZSBwcmVkaWN0ZWQuIFRoZXJlIGFyZSB0b29scyBhdmFpbGFibGUgdGhhdCBjYW4gcHJlZGljdCB0aGUgc2Vjb25kYXJ5IHN0cnVjdHVyZSBvZiBhbiBSTkEgc2VxdWVuY2UsIGFuZCBpZiB0aGVyZVx1MjAxOXMgYSBzaWduaWZpY2FudCBoYWlycGluIHN0cnVjdHVyZSwgaXQgbWlnaHQgbWVhbiB0aGUgdGhyZWUtcHJpbWUgZXh0ZW5zaW9uIHJlbWFpbnMgY2xvc2VkLCBwcmV2ZW50aW5nIHRoZSByZXZlcnNlIHRyYW5zY3JpcHRhc2UgZnJvbSB1c2luZyBpdCBhcyBhIHRlbXBsYXRlLiBUaGUgUEU2IHByaW1lIGVkaXRvcnMgaGF2ZSBiZWVuIGVuZ2luZWVyZWQgdG8gYmUgbW9yZSBlZmZlY3RpdmUgaW4gc3VjaCBzY2VuYXJpb3MsIGJlaW5nIGxlc3MgYWZmZWN0ZWQgYnkgc2Vjb25kYXJ5IHN0cnVjdHVyZXMgYW5kIGJldHRlciBhYmxlIHRvIHJlYWQgdGhyb3VnaCB0aGVtLiBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJZZXMsIGV4YWN0bHksIHdlIG5vdGljZWQgdGhlIHNhbWUgdGhpbmcgd2hlbiBwcmVkaWN0aW5nIHRoZSBzZWNvbmRhcnkgc3RydWN0dXJlIG9mIG91ciBndWlkZSBSTkEuIEFzIHlvdSBtZW50aW9uZWQsIHRoZSBzcGFjZXIgYW5kIHRoZSBiaW5kaW5nIHNpdGUgYXJlIGNvbXBsZW1lbnRhcnksIHNvIHdlIGVuZCB1cCB3aXRoIGEgcmVhbGx5IGxvbmcgY29tcGxlbWVudGFyeSBzdHJhbmQgdGhhdCBiaW5kcyB0byBpdHNlbGYuIFdlIHdlcmUgYWxzbyB1bnN1cmUgd2hldGhlciBpdCB3b3VsZCBvcGVuIHVwIG9yIHJlbWFpbiBib3VuZCB0b2dldGhlci5cIiBcbiAgICAgICAgYT1cIkkgdGhpbmsgdGhlIExpdSBsYWIgbWVudGlvbmVkIGluIHRoZSBQRTYgcGFwZXIgYSB0aHJlc2hvbGQgZm9yIHRoZSBmcmVlIGVuZXJneSBvZiB0aGUgZ3VpZGUgUk5BIHN0cnVjdHVyZS4gVGhleSBzdWdnZXN0IHRoYXQgZXZlcnkgZ3VpZGUgd2lsbCBiZWhhdmUgZGlmZmVyZW50bHksIGJ1dCB0aGVyZVx1MjAxOXMgb2Z0ZW4gYSBtb3JlIGNvbXBsZXggaW50ZXJhY3Rpb24gYXQgcGxheSB0aGFuIGp1c3QgYSBzaW1wbGUgdGhyZXNob2xkLiBJZiB0aGUgZnJlZSBlbmVyZ3kgaXMgbm90IHRvbyBsb3csIHRoZSBndWlkZSBSTkEgbWF5IHN0aWxsIGZ1bmN0aW9uIGVmZmljaWVudGx5IGFuZCBiZSBpbmNvcnBvcmF0ZWQgaW50byB0aGUgcHJpbWUgZWRpdG9yLCB3aXRoIGV2ZXJ5dGhpbmcgcmVtYWluaW5nIGluIGVxdWlsaWJyaXVtLiBIb3dldmVyLCBpZiB0aGUgZnJlZSBlbmVyZ3kgaXMgdG9vIGxvdywgbWVhbmluZyBoaWdoIHByb3BlbnNpdHkgZm9yIHNlbGYtZm9sZGluZywgaXQgY2FuIGNhdXNlIHByb2JsZW1zLiBcbiAgICAgICAgSSBhbHNvIHJlY2VudGx5IGNhbWUgYWNyb3NzIGEgcGFwZXIgZnJvbSB0aGUgZ3JvdXAgb2YgS2VpdGggSm91bmcsIGFub3RoZXIgcHJvbWluZW50IENSSVNQUiBzY2llbnRpc3QgZnJvbSB0aGUgVS5TLiwgd2hlcmUgdGhleSBkZW1vbnN0cmF0ZWQgdGhhdCBhcHBseWluZyBhIGhlYXQgc2hvY2sgdG8gdGhlIGd1aWRlIFJOQSBjYW4gaGVscCBpdCByZWZvbGQuIFRoaXMgaXMgcGFydGljdWxhcmx5IHJlbGV2YW50IGlmIHlvdVx1MjAxOXJlIHVzaW5nIFJOUCBvciBtUk5BIHdpdGggc3ludGhldGljIGd1aWRlIFJOQS4gVGhleSBsaW5rZWQgdGhpcyBzcGVjaWZpY2FsbHkgdG8gdGhlIHNlbGYtYmluZGluZyBjYXBhY2l0eSBvZiB0aGUgZ3VpZGUgUk5BLCBzdWdnZXN0aW5nIHRoYXQgaGVhdCBzaG9jayBjYW4gbWl0aWdhdGUgdGhlIGlzc3VlcyBjYXVzZWQgYnkgc2VsZi1iaW5kaW5nLiBcIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IHdvdWxkIGJlIHRoZSBhcHBsaWNhdGlvbj8gV291bGQgeW91IGFkbWluaXN0ZXIgdGhlIGhlYXQgc2hvY2sgaW4gdml2bz9cIiBcbiAgICAgICAgYT1cIkkgYmVsaWV2ZSB0aGV5IHVzZWQgaXQgdG8gZW5naW5lZXIgemVicmFmaXNoIGVtYnJ5b3Mgb3Igc29tZXRoaW5nIGFsb25nIHRob3NlIGxpbmVzLiBJdFx1MjAxOXMgcXVpdGUgc3BlY2lmaWMsIG9mIGNvdXJzZS4gSWYgeW91IHBsYW4gdG8gZGVsaXZlciB5b3VyIGd1aWRlIFJOQSB0aHJvdWdoIGEgdmlyYWwgdmVjdG9yIG9yIHNpbWlsYXIgbWV0aG9kIGZvciBodW1hbiB0aGVyYXB5LCB0aGUgYXBwbGljYXRpb24gd291bGQgZGlmZmVyIHNpZ25pZmljYW50bHkuIFlvdSBvYnZpb3VzbHkgY2FuJ3QgYWRtaW5pc3RlciBhIGhlYXQgc2hvY2sgdG8gaHVtYW5zLCBzbyBpdCByZWFsbHkgZGVwZW5kcyBvbiB0aGUgY29udGV4dCBvZiB5b3VyIGFwcGxpY2F0aW9uLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIk9rYXksIHRoYXQncyBpbnRlcmVzdGluZy4gR2l2ZW4gdGhlIHRpbWUgY29uc3RyYWludHMsIGxldCdzIG1vdmUgb24gdG8gdGhlIG5leHQgcXVlc3Rpb24uIER1ZSB0byBvdXIgbGltaXRlZCByZXNvdXJjZXMsIHdlIGFyZSB0YXJnZXRpbmcgYSBQRTIgc3lzdGVtLCBhbmQgd2UnZCBsaWtlIHRvIGFzayBpZiB5b3Ugc2VlIGFueSBjaGFuY2VzIG9mIHN1Y2Nlc3Mgd2l0aCB0aGlzIHN5c3RlbS4gSWYgc28sIGhvdyBoaWdoIGRvIHlvdSB0aGluayB0aGUgY2hhbmNlcyBvZiBzdWNjZXNzIGFyZT8gV2UgdW5kZXJzdGFuZCB0aGF0IHRoZSBQRTMgc3lzdGVtLCBhcyBzaG93biBpbiB5b3VyIHBhcGVyLCBpcyBtdWNoIG1vcmUgYWR2YW5jZWQgYW5kIHBlcmZvcm1zIHNpZ25pZmljYW50bHkgYmV0dGVyLiBCdXQgZ2l2ZW4gb3VyIHNpdHVhdGlvbiwgZG8geW91IHRoaW5rIG91ciBQRTIgc3lzdGVtIGNvdWxkIHN0aWxsIGJlIGVmZmVjdGl2ZSwgb3Igd291bGQgeW91IHN1Z2dlc3QgdGhhdCBpdCBvbmx5IG1ha2VzIHNlbnNlIHRvIHVzZSBzb21ldGhpbmcgbGlrZSBQRTM/XCIgXG4gICAgICAgIGE9XCJQRTIgY2FuIHdvcmssIGJ1dCBpdCByZWFsbHkgZGVwZW5kcyBvbiB5b3VyIGFwcGxpY2F0aW9uIGFuZCB0aGUgbWV0aG9kcyB5b3UgaGF2ZSB0byBhc3Nlc3MgdGhlIGVkaXRpbmcgZWZmaWNpZW5jeS4gSWYgeW91IGNhbiB1c2UgTkdTIChOZXh0LUdlbmVyYXRpb24gU2VxdWVuY2luZykgZm9yIGV2ZXJ5dGhpbmcsIHlvdSdsbCBiZSBhYmxlIHRvIGRldGVjdCBlZGl0cyBldmVuIHdpdGggUEUyIHN5c3RlbXMuIEhvd2V2ZXIsIEkgd291bGQgZ2VuZXJhbGx5IGV4cGVjdCB0aGUgZWZmaWNpZW5jeSB0byBiZSBsb3cuIFdoZW5ldmVyIHBvc3NpYmxlLCBJIHdvdWxkIGFsd2F5cyByZWNvbW1lbmQgdHJ5aW5nIHRoZSBQRTMgc3lzdGVtLiBDb3VsZCB5b3Ugc2hhcmUgd2hhdCB5b3VyIHNwZWNpZmljIGFwcGxpY2F0aW9uIGlzLCBvciBpcyB0aGF0IGNvbmZpZGVudGlhbD9cIiAvPlxuICAgICAgPFFhQm94IHE9XCJTbyBvdXIgZ29hbCBpcyB0byBldmVudHVhbGx5IHVzZSBpdCBpbiB2aXZvLCBidXQgZm9yIG5vdywgd2UncmUgZm9jdXNpbmcgb24gdHJ5aW5nIHRvIGNvcnJlY3QgdGhlIG11dGF0aW9uIGZpcnN0IGluIHJlZ3VsYXIgY2VsbCBjdWx0dXJlcyBhbmQgdGhlbiBsYXRlciBpbiBwcmltYXJ5IGNlbGxzLlwiIFxuICAgICAgICBhPVwiSXMgeW91ciBmb2N1cyBzcGVjaWZpY2FsbHkgb24gdGhlIEY1MDggZGVsdGEgbXV0YXRpb24/IElmIHNvLCB3ZSBjb3VsZCBwb3RlbnRpYWxseSBoZWxwIHlvdSBnZXQgeW91IHN0YXJ0ZWQsIGFzIHdlIGFscmVhZHkgaGF2ZSBjb25zdHJ1Y3RzIGFuZCBjZWxscyB3aXRoIHRoYXQgbXV0YXRpb24uIFdlIHdvdWxkIG5lZWQgdG8gZGlzY3VzcyB0aGUgZmluYW5jaWFsIGFzcGVjdHMsIGJ1dCB3ZSBtaWdodCBiZSBhYmxlIHRvIGFzc2lzdC4gSG93ZXZlciwgYXJlIHlvdSBmdWxseSBjb21taXR0ZWQgdG8gdGFyZ2V0aW5nIEY1MDgsIG9yIGFyZSB5b3UgYWxzbyBjb25zaWRlcmluZyBvdGhlciBkaXNlYXNlcyBvciBtdXRhdGlvbnM/XCIgLz5cbiAgICAgIDxRYUJveCBxPVwiVGhlIHRpbWVmcmFtZSBvZiB0aGUgcHJvamVjdCwgY29tYmluZWQgd2l0aCB0aGUgZmFjdCB0aGF0IHdlXHUyMDE5cmUgYWxsIHN0dWR5aW5nIG9uIHRoZSBzaWRlLCBsaW1pdHMgdXMgdG8gYSBjZXJ0YWluIHNjb3BlLiBTaW5jZSB0aGlzIGlzIG91ciBmaXJzdCB0aW1lIHRhY2tsaW5nIGEgcHJvamVjdCBsaWtlIHRoaXMsIGl0IG1ha2VzIHNlbnNlIHRvIHN0aWNrIHRvIHNvbWV0aGluZyBtb3JlIG1hbmFnZWFibGUuIFNvLCB3ZSdyZSBzb21ld2hhdCBjb21taXR0ZWQgdG8gZm9jdXNpbmcgb24gRjUwOCBkdWUgdG8gdGhlc2UgY29uc3RyYWludHMuXCIgXG4gICAgICAgIGE9XCJUaGF0J3MgdW5kZXJzdGFuZGFibGUuIEl0IGNhbiBiZSByZWFsbHkgdG91Z2ggdG8ganVnZ2xlIGEgcHJvamVjdCBsaWtlIHRoaXMgYWxvbmcgd2l0aCBleGFtcyBhbmQgc3R1ZGllcywgZXNwZWNpYWxseSBpZiB5b3UncmUgYWxzbyBpbnZvbHZlZCBpbiBjb21wZXRpdGlvbnMuIEJ1dCBpdCdzIGRlZmluaXRlbHkgd29ydGggdGhlIGVmZm9ydCwgZXZlbiBpZiB5b3UgZG9uJ3QgYWNoaWV2ZSBodWdlIHJlc3VsdHMgcmlnaHQgYXdheS4gVGhlIGV4cGVyaWVuY2UgYW5kIGxlYXJuaW5nLCBhcyB3ZWxsIGFzIHRoZSBjb25uZWN0aW9ucyB5b3UgbWFrZSwgYXJlIGluY3JlZGlibHkgdmFsdWFibGUuIEknbSBhIGJpZyBzdXBwb3J0ZXIgb2Ygc3VjaCBwcm9qZWN0cy4gU28sIHdoYXQgcmVzb3VyY2VzIGRvIHlvdSBjdXJyZW50bHkgaGF2ZT8gRG8geW91IGFscmVhZHkgaGF2ZSBjZWxscyB3aXRoIHRoZSBGNTA4IGRlbHRhIG11dGF0aW9uLCBvci4uLj8gXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2UgaGF2ZSBvbmUgcGF0aWVudCB3aG8gaXMgd2lsbGluZyB0byBwcm92aWRlIHVzIHdpdGggY2VsbHMsIGJ1dCB3ZSBkb24ndCBoYXZlIHRoZW0geWV0LiBcIiBcbiAgICAgICAgYT1cIkl0IHNvdW5kcyBsaWtlIHlvdSdyZSBhd2FyZSBvZiB0aGUgY2hhbGxlbmdlcywgYW5kIEkgZG9uJ3Qgd2FudCB0byBkaXNjb3VyYWdlIHlvdSwgYnV0IGp1c3QgdG8gYmUgcmVhbGlzdGljLCB3b3JraW5nIHdpdGggcHJpbWFyeSBjZWxscyBhbmQgZ2V0dGluZyBldmVyeXRoaW5nIHJlYWR5IGNvdWxkIGJlIHRyaWNreSwgZXNwZWNpYWxseSBjb25zaWRlcmluZyB0aGUgY29tcGV0aXRpb24gaXMgaW4gT2N0b2Jlci4gRXhwZXJpbWVudHMgaW4gaHVtYW4gY2VsbHMgY2FuIHRha2UgdGltZSwgZXNwZWNpYWxseSBpZiB5b3UgbmVlZCB0byBkbyBtdWx0aXBsZSBpdGVyYXRpb25zIG9yIGNsb25lIGNvbnN0cnVjdHNcdTIwMTRpdCBjb3VsZCBlYXNpbHkgdGFrZSBhIHdlZWsgb3IgbW9yZSBwZXIgZXhwZXJpbWVudC4gXG4gICAgICAgIFJlZ2FyZGluZyB0aGUgY2VsbHMgd2UgaGF2ZSwgYXMgbWVudGlvbmVkIGluIG91ciBwYXBlciwgd2Ugc2NyZWVuZWQgYWxsIG91ciBndWlkZXMgb24gSEVLIGNlbGxzIHdpdGggYW4gaW50ZWdyYXRlZCBjb3B5IG9mIHRoZSBDRlRSIGNETkEuIEhFSyBjZWxscyBhcmUgZWFzeSB0byB3b3JrIHdpdGgsIGJ1dCB0aGV5IGRvbid0IG5hdHVyYWxseSBleHByZXNzIENGVFIsIGV2ZW4gdGhvdWdoIHRoZSBnZW5lIGlzIHByZXNlbnQgaW4gdGhlaXIgZ2Vub21lLiBTbywgd2UgaW50cm9kdWNlZCB0aGUgbXV0YXRpb24gb2YgaW50ZXJlc3QgaW50byB0aGVzZSBjZWxscywgbWFraW5nIGl0IGVhc2llciB0byBzY3JlZW4uIFxuICAgICAgICBJJ20gbm90IGVudGlyZWx5IHN1cmUgaWYgd2UgY2FuIHNlbmQgb3ZlciB0aGUgY2VsbHMgZHVlIHRvIGV0aGljYWwgcmVndWxhdGlvbnMsIHdoaWNoIGNhbiBiZSBjb21wbGV4IGFuZCB0aW1lLWNvbnN1bWluZyB0byBuYXZpZ2F0ZS4gSG93ZXZlciwgdGhlcmUncyBhbiBhbHRlcm5hdGl2ZSBhcHByb2FjaCB0aGF0IG1pZ2h0IGhlbHAgeW91LiBFYXJseSBvbiwgd2UgZm91bmQgdGhhdCBpdCdzIGFjdHVhbGx5IHF1aXRlIGVhc3kgdG8gc2NyZWVuIGd1aWRlcyB1c2luZyB3aGF0IHdlIGNhbGwgYSAndHJhbnNpZW50IHRhcmdldCcuIEluIHRoaXMgbWV0aG9kLCB5b3Ugd291bGQgdHJhbnNmZWN0IGFsbCB5b3VyIHByaW1lIGVkaXRpbmcgcGxhc21pZHMgaW50byBIRUsgY2VsbHMsIGFsb25nIHdpdGggYSBwbGFzbWlkIGNvbnRhaW5pbmcgdGhlIENGVFIgY0ROQSB3aXRoIHRoZSBtdXRhdGlvbiBvZiBpbnRlcmVzdC4gV2hpbGUgdGhpcyBhcHByb2FjaCBpc25cdTIwMTl0IGFzIHBoeXNpb2xvZ2ljYWwgYXMgZWRpdGluZyB0aGUgY2hyb21vc29tZSBkaXJlY3RseSwgb3VyIHNpZGUtYnktc2lkZSBjb21wYXJpc29ucyBzaG93ZWQgYWxtb3N0IGVxdWFsIGVmZmljaWVuY2llcyBiZXR3ZWVuIHRyYW5zaWVudCBhbmQgY2hyb21vc29tYWwgdGFyZ2V0cy4gSXQncyBtdWNoIGVhc2llciBhbmQgZmFzdGVyIHRoYW4gd29ya2luZyB3aXRoIHBhdGllbnQtZGVyaXZlZCBjZWxscy4gSSBjYW4gZGVmaW5pdGVseSBzZW5kIHlvdSB0aGUgcGxhc21pZCwgd2hpY2ggd291bGQgc2F2ZSB5b3UgYSBsb3Qgb2YgdGltZSBhbmQgZWZmb3J0LiBUaGlzIG1ldGhvZCBpcyBtdWNoIHNpbXBsZXIgYW5kIGNvdWxkIGJlIGEgcHJhY3RpY2FsIHNvbHV0aW9uIGZvciB5b3VyIHByb2plY3QuIFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIk91ciBpbml0aWFsIHBsYW4gaXMgdG8gd29yayB3aXRoIGEgcmVwb3J0ZXIgcGxhc21pZCB0aGF0IGV4cHJlc3NlcyBlR0ZQLCB3aGVyZSB3ZSd2ZSByZW1vdmVkIGEgc3BsaWNlIHNpdGUsIHVudGlsIHdlIGhhdmUgcGF0aWVudCBjZWxscyBvciBjZWxsIGxpbmVzIHdpdGggQ0ZUUiBtdXRhdGlvbnMuIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBzY3JlZW4gZWFzaWx5IHdpdGhvdXQgbmVlZGluZyB0byBzZXF1ZW5jZSBldmVyeXRoaW5nLiBEbyB5b3UgbWF5YmUgaGF2ZSBhbnkgc3VnZ2VzdGlvbnMgb3IgYWR2aWNlIG9uIHRoaXMgYXBwcm9hY2g/IFwiIFxuICAgICAgICBhPVwiSXMgdGhhdCB0aGUgUEVBUiBzeXN0ZW0/IE5vLCBpdFx1MjAxOXMgYSBkaWZmZXJlbnQgb25lLCBidXQgd2UgYWxzbyBoYXZlIGEgc2ltaWxhciBzeXN0ZW0uIFRoZSBhZHZhbnRhZ2Ugb2YgdGhpcyBhcHByb2FjaCBpcyB0aGF0IHlvdSBjYW4gdmVyeSBlYXNpbHkgc2VlIGlmIGl0IHdvcmtzLCBhbmQgaXRcdTIwMTlzIHZlcnkgc2Vuc2l0aXZlXHUyMDE0bXVjaCBlYXNpZXIgdGhhbiBleHRyYWN0aW5nIGFuZCBzZXF1ZW5jaW5nIEROQS4gVGhlIGRvd25zaWRlLCBob3dldmVyLCBpcyB0aGF0XHUyMDI2IGFjdHVhbGx5LCBJXHUyMDE5bSBub3QgZmFtaWxpYXIgd2l0aCB0aGUgJ2ZsdSBQRUFSIHN5c3RlbS4nIFxuICAgICAgICBBY3R1YWxseSwgd2UgdXNlIHRoZSBleGFjdCBzYW1lIHN5c3RlbSBpbiBvdXIgbGFiLiBJdFx1MjAxOXMgdmVyeSB1c2VmdWwgZm9yIG9wdGltaXppbmcgZGVsaXZlcnkgc3RyYXRlZ2llcyBiZWNhdXNlIGl0XHUyMDE5cyBlYXN5IHRvIHNlZSByZXN1bHRzLiBUaGUgZG93bnNpZGUsIG9mIGNvdXJzZSwgaXMgdGhhdCB0aGUgZ3VpZGVzIHlvdVx1MjAxOXJlIHVzaW5nIGZvciB0aGF0IHN5c3RlbSBhcmVuXHUyMDE5dCBzcGVjaWZpYyB0byB0aGUgRjUwOCBkZWx0YSBtdXRhdGlvbiwgcmlnaHQ/IFNvLCB0aGVzZSBhcmUgc2NpZW50aWZpYyB0cmFkZS1vZmZzLiBZb3UgY291bGQsIGZvciBleGFtcGxlLCBkZXNpZ24gYSByZXBvcnRlciB0aGF0IHVzZXMgeW91ciBGNTA4IGRlbHRhIGd1aWRlIGFuZCBhbHNvIHJlc3VsdHMgaW4gZmx1b3Jlc2NlbmNlLCBidXQgeW91IHdvdWxkIG5lZWQgdG8gZGVzaWduIHRoZSByZXBvcnRlciBmaXJzdC4gSXRcdTIwMTlzIGNoYWxsZW5naW5nIHRvIHByb3ZlIHRoYXQgaXQgd29ya3MgYmVjYXVzZSB5b3UgbWlnaHQgbm90IGhhdmUgYSBwZXJmZWN0IGd1aWRlIGZvciBGNTA4IGRlbHRhLiBcbiAgICAgICAgSXQgcmVhbGx5IGRlcGVuZHMgb24gd2hhdCB5b3Ugd2FudCB0byBhY2hpZXZlLiBJZiB5b3VyIGdvYWwgaXMgdG8gZmlyc3QgY2hlY2sgaWYgeW91IGNhbiBzdWNjZXNzZnVsbHkgcGVyZm9ybSBwcmltZSBlZGl0aW5nLCB0aGVuIHVzaW5nIHRoZSByZXBvcnRlciBpcyBkZWZpbml0ZWx5IGEgZ29vZCBmaXJzdCBzdGVwLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldlIHdpbGwgZWRpdCB0aGUgcGxhc21pZCwgc3BlY2lmaWNhbGx5IHRoZSB2ZWN0b3IsIHNvIHRoYXQgd2UgaGF2ZSBhbG1vc3QgdGhlIHNhbWUgcGVnUk5BLiBUaGUgb25seSBkaWZmZXJlbmNlIHdpbGwgYmUgZG93bnN0cmVhbSwgYmVoaW5kIHRoZSBlZGl0LlwiIFxuICAgICAgICBhPVwiSXMgdGhpcyBhcHByb2FjaCBiYXNlZCBvbiBhIHBhcGVyIGZyb20gdGhlIE5ldGhlcmxhbmRzLCBvciBpcyBpdCBzb21ldGhpbmcgeW91IGNhbWUgdXAgd2l0aCB5b3Vyc2VsZj8gXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiQmFzZWQgb24gYSBwYXBlci4gXCIgXG4gICAgICAgIGE9XCJZZWFoLCB0aGF0IHNvdW5kcyBsaWtlIGEgdmVyeSBnb29kIHdheSB0byBzdGFydC4gRG8geW91IGFscmVhZHkgaGF2ZSB0aGUgcmVwb3J0ZXIgcGxhc21pZCByZWFkeT8gXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiWWVhaCwgd2UgYm91Z2h0IHRoZSByZXBvcnRlciwgYW5kIG5vdyB3ZVx1MjAxOXJlIG1ha2luZyB0aGUgbmVjZXNzYXJ5IGVkaXRzIHNvIHdlIGNhbiB1c2UgaXQuIFwiIFxuICAgICAgICBhPVwiT2theSwgc28gZG8geW91IGFsc28gYWxyZWFkeSBoYXZlIGd1aWRlcyB0YXJnZXRpbmcgRjUwOCByaWdodCBub3c/IFwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldlXHUyMDE5dmUgZGVzaWduZWQgc29tZSBndWlkZXMsIGJ1dCB3ZSBoYXZlblx1MjAxOXQgdGVzdGVkIHRoZW0geWV0LiBUaGF0XHUyMDE5cyBvbmUgb2Ygb3VyIG5leHQgc3RlcHMuIFNvLCBhdCB0aGUgbW9tZW50LCB3ZVx1MjAxOXJlIGp1c3QgaW4gdGhlIGRlc2lnbiBwaGFzZSwgb3Igd2UgaGF2ZSBhbHJlYWR5IGRlc2lnbmVkIHRoZW0sIGFuZC4uLlwiIGE9XCJZZWFoLCBva2F5LCBjb29sLiBHb29kIGx1Y2sgd2l0aCB0aGF0ISBBbmQgSSBzdXBwb3NlIHlvdVx1MjAxOXJlIHN0YXJ0aW5nIG9mZiB3aXRoIEhFSyBjZWxscyBhcyB3ZWxsLCByaWdodD9cIi8+XG4gICAgICA8UWFCb3ggcT1cIldlIGhhdmUgSEVLIGFuZCBIZUxhIGNlbGxzLCBidXQgd2UgaGF2ZW4ndCBkZWNpZGVkIHlldCB3aGljaCBvbmVzIHdlJ2xsIHVzZS5cIiBhPVwiSSB3b3VsZCBzdGFydCBvZmYgaW4gSEVLIGNlbGxzIGJlY2F1c2UsIGJ5IHRvdGFsIGFjY2lkZW50IG9yIGNvaW5jaWRlbmNlLCB0aGV5IGFyZSBtdWNoIGVhc2llciB0byBhY2hpZXZlIHByaW1lIGVkaXRpbmcgaW4uIFRoaXMgaXMgYmVjYXVzZSB0aGUgTUxIMSBnZW5lLCB3aGljaCBuZWdhdGl2ZWx5IGltcGFjdHMgcHJpbWUgZWRpdGluZyBvdXRjb21lcywgaXMgbmF0dXJhbGx5IGRpc2FibGVkIGluIHRoZXNlIGNlbGxzXHUyMDE0dGhleSBkb24ndCBwcm9kdWNlIHRoZSBNTEgxIHByb3RlaW4uIE9mIGFsbCBjZWxsIGxpbmVzIGF2YWlsYWJsZSwgSEVLIGNlbGxzIGFyZSB0aGUgZWFzaWVzdCB0byBhY2hpZXZlIGVkaXRpbmcgd2l0aCwgc28gSSB3b3VsZCBkZWZpbml0ZWx5IHJlY29tbWVuZCBzdGFydGluZyB0aGVyZS4gSW4gdGVybXMgb2YgdHJhbnNmZWN0aW9uLCBIRUsgY2VsbHMgYXJlIGFsc28gdmVyeSBlYXNpbHkgdHJhbnNmZWN0ZWQuIElmIEkgY2FuIG9mZmVyIGFub3RoZXIgcGllY2Ugb2YgYWR2aWNlLCBhbHdheXMgaW5jbHVkZSBHRlAgY29udHJvbHNcdTIwMTRwbGFzbWlkcyB0aGF0IHNpbXBseSBleHByZXNzIEdGUCB3aXRob3V0IHJlcXVpcmluZyBlZGl0aW5nXHUyMDE0YW5kIHVzZSB0aGVtIHRvIGRldGVybWluZSB5b3VyIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LiBJdCdzIGNydWNpYWwgdG8gaGF2ZSBhIHZlcnkgaGlnaCB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSBiZWNhdXNlIHlvdSdsbCBiZSB3b3JraW5nIHdpdGggYSB0aHJlZS1jb21wb25lbnQgc3lzdGVtOiB5b3VyIHJlcG9ydGVyLCB5b3VyIHByaW1lIGVkaXRvciwgYW5kIHlvdXIgZ3VpZGVzLiBBbGwgdGhyZWUgcGxhc21pZHMgbmVlZCB0byBiZSBwcmVzZW50IGluIHRoZSBzYW1lIGNlbGwgZm9yIHRoZSBlZGl0aW5nIHRvIG9jY3VyLCBzbyB5b3Ugc2hvdWxkIGFpbSBmb3IgYXQgbGVhc3QgNzAlIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5LCBwcmVmZXJhYmx5IDgwJSBvciBoaWdoZXIuIEkgZG9uJ3Qga25vdyB3aGF0IHRyYW5zZmVjdGlvbiBtZXRob2QgeW91J3JlIHBsYW5uaW5nIHRvIHVzZSwgYnV0IHdlJ3ZlIGFsd2F5cyB1c2VkIExpcG9mZWN0YW1pbmUgMzAwMC4gSXRcdTIwMTlzIGV4cGVuc2l2ZSwgYnV0IGl0IHdvcmtzIHZlcnkgd2VsbC4gSG93ZXZlciwgaWYgeW91J3JlIGxvb2tpbmcgZm9yIG1vcmUgY29zdC1lZmZlY3RpdmUgb3B0aW9ucywgd2UgcmVjZW50bHkgZGlzY292ZXJlZCB0d28gb3RoZXIgdHJhbnNmZWN0aW9uIHJlYWdlbnRzLCBKZXQgT3B0aW11cyBhbmQgSmV0IFByaW1lLCB3aGljaCBhcmUgbXVjaCBjaGVhcGVyIGFuZCBhbHNvIHdvcmsgcXVpdGUgd2VsbC4gVGhhdCBzYWlkLCBJIHdvdWxkIGFkdmlzZSBhZ2FpbnN0IHN0YXJ0aW5nIHdpdGggYW55IG9mIHRoZSBjaGVhcGVyIHRyYW5zZmVjdGlvbiByZWFnZW50czsgeW91IHJlYWxseSBuZWVkIHRvIGFpbSBmb3IgaGlnaCB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeS4gQWx3YXlzIG1ha2Ugc3VyZSB0byBtZWFzdXJlIGFuZCByZXBvcnQgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgZm9yIGV2ZXJ5IGV4cGVyaW1lbnQgYmVjYXVzZSBpZiBpdCdzIGxvdywgdGhlIGV4cGVyaW1lbnQgbWlnaHQgbm90IHlpZWxkIHVzZWZ1bCByZXN1bHRzLiBJZiB5b3UgaGF2ZSB0aGUgZnVuZHMgb3IgcmVzb3VyY2VzLCBJIHdvdWxkIGFsc28gcmVjb21tZW5kIGRlc2lnbmluZyBQMyBvciBldmVuIFAzYiBndWlkZXMsIGFzIHRoZXkgbWlnaHQgb2ZmZXIgYmV0dGVyIGVmZmljaWVuY3kuIFdoZW4gaXQgY29tZXMgdG8gZGVzaWduaW5nIFAzYiBndWlkZXMsIGlmIHlvdSdyZSBwcmltYXJpbHkgZm9jdXNlZCBvbiBQMiByaWdodCBub3csIHRoZXJlIGFyZSBzb21lIHNwZWNpZmljIGNvbnNpZGVyYXRpb25zIHRvIGtlZXAgaW4gbWluZC4gSSdsbCBwcm92aWRlIHlvdSB3aXRoIGEgc2l0ZSB0aGF0IGNhbiBoZWxwIHdpdGggdGhpcywgYW5kIEknbGwgZ2l2ZSB5b3UgdGhlIGxpbmsgaW4ganVzdCBhIG1vbWVudC4gU28sIGl0J3MgdmVyeSBhZHZpc2FibGUgdG8gY2hlY2sgdGhlIERvZW5jaCBzY29yZS4gRG8geW91IGtub3cgd2hhdCBpdCBpcz9cIi8+XG4gICAgICA8UWFCb3ggcT1cIk5vLCBub3QgcmVhbGx5LlwiIGE9XCJUaGVyZSBhcmUgcGFwZXJzIGJ5IEpvaG4gRG9lbmNoLCBhbiBBbWVyaWNhbiByZXNlYXJjaGVyLCBmcm9tIHF1aXRlIGEgd2hpbGUgYWdvIHRoYXQsIGluIG15IG9waW5pb24sIGFyZSBzb21lIG9mIHRoZSBiZXN0IGFyb3VuZC4gSGUgZGV2ZWxvcGVkIGEgY29tcHJlaGVuc2l2ZSBzY29yaW5nIG1hdHJpeCBzcGVjaWZpY2FsbHkgZm9yIHJlZ3VsYXIgQ2FzOSB0aGF0IGNhbiBldmFsdWF0ZSB0aGUgcXVhbGl0eSBvZiB0aGUgc3BhY2VyIGluIHlvdXIgZ3VpZGUgUk5BLiBUaGlzIGlzIGltcG9ydGFudCBiZWNhdXNlIENhczkgdGVuZHMgdG8gcHJlZmVyIGNlcnRhaW4gc2VxdWVuY2VzIG92ZXIgb3RoZXJzLiBGb3IgaW5zdGFuY2UsIGEgZ29vZCBzcGFjZXIgc2hvdWxkIGhhdmUgYW4gYXBwcm9wcmlhdGUgR0MgY29udGVudCBhbmQgc2hvdWxkIGF2b2lkIGhhaXJwaW5zIHRoYXQgbWlnaHQgY2F1c2UgaXQgdG8gZm9sZCBpbiBvbiBpdHNlbGYsIHdoaWNoIHdvdWxkIHByZXZlbnQgaXQgZnJvbSBmdW5jdGlvbmluZyBwcm9wZXJseS4gWW91IGNhbiB1c2UgdGhpcyBtYXRyaXggdG8gZ2l2ZSBhIHNjb3JlIGZvciB0aGUgcXVhbGl0eSBvZiBhIGd1aWRlIFJOQS4gSVx1MjAxOW0gZ29pbmcgdG8gcHVsbCB1cCBhbiBleGFtcGxlIGhlcmUuIFRoZSBzaXRlIGZyb20gU3ludGhlZ28sIGEgY29tbWVyY2lhbCBwcm92aWRlciBvZiBDUklTUFIgcmVhZ2VudHMsIGFsbG93cyB5b3UgdG8gY2hlY2sgdGhlIHF1YWxpdHkgb2YgeW91ciBndWlkZS4gV2hlbiB5b3UgdmFsaWRhdGUgaXQsIHRoZSBzaXRlIGdpdmVzIGEgc2NvcmUgYmFzZWQgb24gdmFyaW91cyBmYWN0b3JzLCBpbmNsdWRpbmcgb2ZmLXRhcmdldCBlZmZlY3RzLCBhbHRob3VnaCB0aGF0IG1pZ2h0IG5vdCBiZSB5b3VyIHByaW1hcnkgY29uY2VybiBhdCB0aGUgbW9tZW50LiBJZiB5b3UgaG92ZXIgb3ZlciBhIHNwZWNpZmljIGFyZWEsIGl0IHdpbGwgc2hvdyB5b3UgdGhlIERvZW5jaCBTY29yZSwgd2hpY2ggaXMgY3J1Y2lhbC4gSWRlYWxseSwgeW91IHdhbnQgYSBndWlkZSB3aXRoIGEgZ29vZCBEb2VuY2ggU2NvcmUuIEEgZ29vZCBzY29yZSBzdGFydHMgYXQgYXJvdW5kIDAuNCwgaW5kaWNhdGVkIGJ5IGEgZ3JlZW4gY2hlY2sgbWFyayBmb3IgZ29vZCBlZmZpY2llbmN5LiBJZiB0aGUgc2NvcmUgaXMgdmVyeSBsb3csIGl0IG1lYW5zIHRoYXQgdGhlIGd1aWRlIGxpa2VseSBoYXMgbG93IENSSVNQUi1DYXM5IGFjdGl2aXR5IGFuZCBtYXkgbm90IGJlIHZlcnkgZWZmaWNpZW50LiBXaGVuIGRlc2lnbmluZyBwcmltZSBlZGl0aW5nIGd1aWRlcywgUk5BLCB3ZSBhbHdheXMgY2hlY2sgdGhlIHNwYWNlciBmb3IgYSBnb29kIERvZW5jaCBTY29yZS4gSWYgd2UgYXJlIGRlc2lnbmluZyBuaWNraW5nIGd1aWRlcyBmb3IgYSBQRTMgb3IgUEUzYiBzdHJhdGVneSwgd2UgYWxzbyBlbnN1cmUgdGhhdCB0aGV5IGhhdmUgYSBnb29kIHNjb3JlLiBUaGlzIGlzIG9uZSBvZiB0aGUgZWFzaWVzdCB0b29scyB0byBjaGVjayBmb3IgdGhhdC4gV2hlbmV2ZXIgcG9zc2libGUsIHRyeSB1c2luZyBQRTMuIEluIHNvbWUgY2FzZXMsIFBFMyBwZXJmb3JtcyBiZXR0ZXIgdGhhbiBQRTIsIHRob3VnaCBub3QgYWx3YXlzLiBQRTNiIG1pZ2h0IG5vdCBhbHdheXMgd29yayBlaXRoZXIsIGJ1dCBmb3IgbWFueSBtdXRhdGlvbnMsIHdlIGhhdmUgc2VlbiBzaWduaWZpY2FudCBpbmNyZWFzZXMgaW4gZWRpdGluZyBlZmZpY2llbmN5IGJ5IGluY2x1ZGluZyB0aGUgUEUzIGd1aWRlLlwiLz5cbiAgICAgIDxRYUJveCBxPVwiT2theSwgeWVhaCwgdGhhdCB3YXMgcXVpdGUgY2xlYXIgZnJvbSB5b3VyIHJlc3VsdHM7IHRoZSBkaWFncmFtIGlsbHVzdHJhdGVkIHRoYXQgdmVyeSB3ZWxsLiBBcmUgdGhlcmUgbW9yZSBvZmYtdGFyZ2V0IGVmZmVjdHMgd2hlbiB1c2luZyBQRTMgc2luY2UgeW91IGhhdmUgdG8gbWFrZSBhbm90aGVyIGN1dD9cIiBhPVwiSWYgeW91IGRlY2lkZSB0byB1c2UgUEUzLCBpdCdzIGltcG9ydGFudCB0byBiZSBhd2FyZSB0aGF0IHdoaWxlIGl0J3Mgbm90IGV4YWN0bHkgYW4gb2ZmLXRhcmdldCBpc3N1ZSwgdGhlcmUgaXMgYSByaXNrIG9mIGFuIHVuZGVzaXJlZCBvbi10YXJnZXQgb3V0Y29tZS4gVGhlIGNvbmNlcm4gd2l0aCByZWd1bGFyIFBFMyBpcyB0aGF0IGJvdGggc3RyYW5kcyBvZiBETkEgY2FuIGJlIG5pY2tlZCBzaW11bHRhbmVvdXNseSwgd2hpY2ggY2FuIGxlYWQgdG8gYSBzdGFnZ2VyZWQgZG91YmxlLXN0cmFuZCBicmVhay4gVGhpcyBjYW4gcmVzdWx0IGluIHRoZSBmb3JtYXRpb24gb2YgaW5kZWxzIChpbnNlcnRpb25zIG9yIGRlbGV0aW9ucykuIEluIHlvdXIgY2FzZSwgdGhpcyBtZWFucyB0aGF0IGlmIHRoZSByZWdpb24gYXJvdW5kIHRoZSBGNTA4IGRlbHRhIG11dGF0aW9uIGlzIGJyb2tlbiwgdGhlIHByaW1lIGVkaXRvciBtaWdodCBub3QgYmUgYWJsZSB0byByZXBhaXIgaXQgcHJvcGVybHksIGxlYWRpbmcgdG8gYWRkaXRpb25hbCBiYXNlIHBhaXJzIGJlaW5nIHJlbW92ZWQgb3IgYWRkZWQsIGFuZCB0aHVzLCB0aGUgc2VxdWVuY2UgbWlnaHQgYmUgYWx0ZXJlZCBpbiBhbiB1bmludGVuZGVkIHdheS4gVGhlIHJpc2sgb2Ygb24tdGFyZ2V0IGluZGVscyBpcyBkZWZpbml0ZWx5IGhpZ2hlciB3aXRoIFBFMyBjb21wYXJlZCB0byBQRTIuIEhvd2V2ZXIsIHRoaXMgcmlzayBpcyByZWR1Y2VkIHdoZW4gdXNpbmcgUEUzYiwgd2hpY2ggZW1wbG95cyBzZXF1ZW50aWFsIG5pY2tpbmcuIFRoZSBQRTNiIG5pY2tpbmcgZ3VpZGVzIGFyZSBkZXNpZ25lZCB0byByZWNvZ25pemUgdGhlIHdpbGQtdHlwZSBzZXF1ZW5jZSwgYW5kIHRoZXkgY2FuIG9ubHkgbmljayB0aGUgb3Bwb3NpdGUgc3RyYW5kIGlmIHRoZSBjb3JyZWN0aW9uIGhhcyBhbHJlYWR5IGJlZW4gbWFkZSBvbiB0aGUgdG9wIHN0cmFuZC4gVGhpcyBzZXF1ZW50aWFsIGFjdGlvbiBoZWxwcyB0byBhdm9pZCB0aGUgZ2VuZXJhdGlvbiBvZiBpbmRlbHMuIEludHJvZHVjaW5nIGEgc2Vjb25kIGd1aWRlIGludG8gdGhlIHN5c3RlbSBhbHNvIGJyaW5ncyB0aGUgcG9zc2liaWxpdHkgb2Ygb2ZmLXRhcmdldCBlZGl0aW5nIGJ5IHRoYXQgZ3VpZGUgaG93ZXZlciwgc2luY2Ugb25seSBhIENhczkgbmlja2FzZSBpcyB1c2VkLCBvZmYtdGFyZ2V0IGluZGVscyBzaG91bGQgYmUgbGltaXRlZC5cIi8+XG4gICAgICA8UWFCb3ggcT1cIlllcywgb2theSwgdGhhbmsgeW91LiBEbyB5b3UgaGF2ZSB0aW1lIGxlZnQsIG9yIGFyZSB3ZSBvdXQgb2YgdGltZT9cImE9XCIgSXQncyBmaW5lLlwiLz5cbiAgICAgIDxRYUJveCBxPVwiV2UgaGF2ZSBtb3JlIG9yIGxlc3Mgb25lIGxhc3QgcXVlc3Rpb24uIElmIGl0XHUyMDE5cyBub3QgcG9zc2libGUsIHRoYXRcdTIwMTlzIGNvbXBsZXRlbHkgZmluZS4gV2UganVzdCB3YW50ZWQgdG8gYXNrIGlmIHlvdSBjb3VsZCBwb3NzaWJseSBmb3J3YXJkIHRoZSBjb250YWN0IGRldGFpbHMgZm9yIHRoZSBVc3NpbmcgY2hhbWJlciBzZXR1cCBpbiBQYXJpcyB0aGF0IHlvdSBtZW50aW9uZWQgaW4geW91ciBlbWFpbC4gV291bGQgdGhhdCBiZSBwb3NzaWJsZT9cIiBhPVwiWW91IGNhbiBjZXJ0YWlubHkgdHJ5IHRvIGNvbnRhY3QgdGhlbSwgYnV0IEkgYWN0dWFsbHkga25vdyB0aGF0IHRoZXJlIGFyZSBxdWl0ZSBnb29kIGxhYnMgaW4gR2VybWFueSB0aGF0IHdvcmsgb24gc2ltaWxhciB0aGluZ3MuIFxuICAgICAgICBPbmUgbWFqb3IgZHJhd2JhY2sgZm9yIHlvdSBtaWdodCBiZSB0aGUgdGltZSBpdCB0YWtlcyB0byBkaWZmZXJlbnRpYXRlIGNlbGxzLiBJZiB5b3UgaGFydmVzdCBzdGVtIGNlbGxzIG9yIGJhc2FsIGNlbGxzIGZyb20gcGF0aWVudHMsIHRoZXkgd2lsbCBoYXZlIHRoZSBDRlRSIGdlbmUsIGJ1dCB0aGV5IGRvblx1MjAxOXQgZXhwcmVzcyBpdCBpbW1lZGlhdGVseS4gSXQgdGFrZXMgYWJvdXQgZm91ciB3ZWVrcyBmb3IgdGhlbSB0byBkaWZmZXJlbnRpYXRlIGFuZCBzdGFydCBwcm9kdWNpbmcgdGhlIENGVFIgcHJvdGVpbi4gV2l0aG91dCB0aGlzIGRpZmZlcmVudGlhdGlvbiwgeW91IGNhbid0IG1lYXN1cmUgdGhlIGN1cnJlbnRzLCB3aGljaCBjb3VsZCBzbG93IHlvdSBkb3duIHNpZ25pZmljYW50bHkuIEknbSBub3Qgc3VyZSBpZiB5b3UgaGF2ZSB0aGF0IGtpbmQgb2YgdGltZS4gXG4gICAgICAgIElmIEkgY2FuIGdpdmUgeW91IG9uZSBwaWVjZSBvZiBhZHZpY2U6IGl0XHUyMDE5cyBsZXNzIHBoeXNpb2xvZ2ljYWwsIGJ1dCBpdFx1MjAxOXMgc3RpbGwgYW4gYWNjZXB0ZWQgYXNzYXlcdTIwMTR0cnkgaXQgb24gb3JnYW5vaWRzLiBXZSBjb3VsZCBhY3R1YWxseSBwZXJmb3JtIGJvdGggYXNzYXlzIGhlcmUuIElmIHlvdSBmaW5kIGd1aWRlcyB0aGF0IHdvcmsgcmVhbGx5IHdlbGwsIHdlIGNvdWxkIGNvbnNpZGVyIGRvaW5nIHRob3NlIHRlc3RzIGhlcmUuIFNvbWVvbmUgY291bGQgY29tZSBvdmVyLCBvciB3ZSBjb3VsZCBkbyB0aGUgZXhwZXJpbWVudHMgaWYgdGhleVx1MjAxOXJlIG5vdCB0b28gZXhwZW5zaXZlIGFuZCBoYXZlIGEgZ29vZCBjaGFuY2Ugb2Ygd29ya2luZy4gSSB0aGluayB3ZSB3b3VsZG5cdTIwMTl0IG1pbmQgYWRkaW5nIHRoZSBGNTA4IGRlbHRhIG11dGF0aW9uIHRvIG91ciBsaXN0IG9mIGVkaXRhYmxlIG11dGF0aW9ucy4gXG4gICAgICAgIFRoZXJlXHUyMDE5cyBhbHNvIHRoZSBwb3NzaWJpbGl0eSB0aGF0IGlmIHRoZSBwYXBlciBmcm9tIHRoZSBMaXUgTGFiIGlzIHB1Ymxpc2hlZCB3aXRoaW4gdGhlIG5leHQgbW9udGgsIHlvdSBjb3VsZCBqdXN0IHVzZSB0aGUgZ3VpZGUgdGhleSBwcm92aWRlLCBhbmQgeW91XHUyMDE5ZCBoYXZlIGEgZ3VpZGUgdGhhdCBpcyBrbm93biB0byB3b3JrLiBcIi8+XG4gICAgICA8UWFCb3ggcT1cIlllYWgsIHNvIEkgdGhpbmsgaWYgb3VyIGd1aWRlcyBkb25cdTIwMTl0IHdvcmsgYXMgd2VsbCBhcyB3ZSBob3BlLCB0aGlzIGNvdWxkIGJlIGFuIG9wcG9ydHVuaXR5LiBXZSBzdGlsbCB3YW50IHRvIGV4cGxvcmUgb3B0aW1pemF0aW9uIG9mIHRoZSBwcmltZSBlZGl0aW5nIHN5c3RlbSwgc3VjaCBhcyB0cnlpbmcgZGlmZmVyZW50IHJldmVyc2UgdHJhbnNjcmlwdGFzZXMgb3Igb3RoZXIgbWV0aG9kcy4gRm9yIG5vdywgd2VcdTIwMTlkIGxpa2UgdG8gdHJ5IGl0IG9uIG91ciBvd24sIGJ1dCBsaWtlIHlvdSBzYWlkLCBpdFx1MjAxOXMgZ29vZCB0byBoYXZlIHRoaXMgb3Bwb3J0dW5pdHkgaW4gY2FzZSBpdCBkb2Vzblx1MjAxOXQgd29yayBvdXQuXCJhPVwiWWVhaCwgSSB0aGluayB3b3JraW5nIHdpdGggcGF0aWVudCBjZWxscyBpcyBvbmUgdGhpbmcsIGJ1dCBqdXN0IGJlIGF3YXJlIHRoYXQgdGhlc2UgbW9kZWxzIGFuZCBhc3NheXMgdHlwaWNhbGx5IHRha2UgYSBsb3Qgb2YgdGltZVx1MjAxNGVhc2lseSBoYWxmIGEgeWVhciwgYW5kIHRoYXRcdTIwMTlzIGNvbnNpZGVyZWQgZmFzdCB0byBnZXQgdGhlbSB1cCBhbmQgcnVubmluZy4gVW5sZXNzIHlvdSdyZSBpbiBhIGxhYiB0aGF0IGFscmVhZHkgaGFzIGV4cGVyaWVuY2Ugd2l0aCBncm93aW5nIG9yZ2Fub2lkcywgaXQgY291bGQgYmUgdmVyeSBjaGFsbGVuZ2luZyB0byBzdGFydCBmcm9tIHNjcmF0Y2guIFxuICAgICAgICBIb3dldmVyLCB5b3UgY2FuIGFsd2F5cyB0cnkuIFRoZSB0ZWFtIGluIFBhcmlzIHRoYXQgd2Uga25vdyB2ZXJ5IHdlbGxcdTIwMTR0aGV5IGFyZSBpbmNyZWRpYmx5IGtpbmQsIHdvcmxkLWNsYXNzIGV4cGVydHMgaW4gd2hhdCB0aGV5IGRvLCBidXQgdGhleSBhcmUgYWxzbyB1bmRlciBhIGxvdCBvZiBwcmVzc3VyZS4gVGhleSB1c2UgdGhlc2UgdGVjaG5vbG9naWVzIG5vdCBvbmx5IGZvciByZXNlYXJjaCBidXQgYWxzbyB0byBkaWFnbm9zZSBwYXRpZW50cy4gV2hhdCB0aGUgRnJlbmNoIHRlYW0gaGFzIG1hbmFnZWQgdG8gZG8gaXMgc2hvdyB0aGF0IGlmIGEgcGF0aWVudFx1MjAxOXMgY2VsbHMgcmVzcG9uZCB0byBjZXJ0YWluIGRydWdzLCB0aGUgZ292ZXJubWVudCBhbGxvd3MgdGhvc2UgZHJ1Z3MgdG8gYmUgYWRtaW5pc3RlcmVkIHRvIHRoZSBwYXRpZW50LiBZb3UgY2FuIGltYWdpbmUgaG93IGltcG9ydGFudCB0aGVzZSBleHBlcmltZW50cyBhcmUsIGFzIHRoZXkgY2FuIGRpcmVjdGx5IGltcGFjdCBwYXRpZW50cycgbGl2ZXMsIHdoaWNoIG5hdHVyYWxseSB0YWtlcyB0aGUgaGlnaGVzdCBwcmlvcml0eS5cIi8+XG4gICAgICA8UWFCb3ggcT1cIlllYWgsIHdlIHJlY29nbml6ZWQgdGhhdCB0b28uIFdlIHRhbGtlZCB3aXRoIHRoZSBDRiB0ZWFtIGF0IHRoZSBVbml2ZXJzaXR5IENsaW5pYyBpbiBNXHUwMEZDbnN0ZXIgYW5kIGFza2VkIGFib3V0IHVzaW5nIHRoZWlyIFVzc2luZyBjaGFtYmVyLCBidXQgdGhleSBhcmUgcmVhbGx5IG92ZXJ3b3JrZWQgd2l0aCBpdC4gVGhhdFx1MjAxOXMgd2h5IHdlIHJlYWNoZWQgb3V0IHRvIHlvdSBhYm91dCBpdC4gQnV0IGl0XHUyMDE5cyBjb21wbGV0ZWx5IGZpbmUsIGFzIHdlIG1lbnRpb25lZCBiZWZvcmUuXCIgYT1cIkknbSBnb2luZyB0byBwdXQgaXQgYmx1bnRseTogVXNzaW5nIGNoYW1iZXIgZXhwZXJpbWVudHMsIHdoaWxlIHRoZXkgYXJlIGhpZ2hseSByZWdhcmRlZCBhbmQgcHJvdmlkZSB2YWx1YWJsZSBkYXRhLCBhcmUgYSByZWFsIHBhaW4gdG8gcGVyZm9ybS4gVGhleSBhcmUgaW5jcmVkaWJseSB0aW1lLWNvbnN1bWluZyBhbmQgaGF2ZSBhIHZlcnkgbG93IHRocm91Z2hwdXQuIEEgdHlwaWNhbCBzZXR1cCBoYXMgZm91ciBjaGFtYmVycywgc28geW91IGFsd2F5cyBuZWVkIHRvIGRvIHJlcGVhdHMuIEluIHRoZSBiZXN0LWNhc2Ugc2NlbmFyaW8sIHlvdSBjYW4gdGVzdCB0d28gY29uZGl0aW9ucyBhdCBhIHRpbWUuIElmIHlvdSBoYXZlIGEgdmVyeSBleHBlcmllbmNlZCBwZXJzb24sIHRoZXkgbWlnaHQgYmUgYWJsZSB0byBydW4gZWlnaHQgc2FtcGxlcywgYnV0IHRoZXkgd291bGQgaGF2ZSB0byBzdGF5IHdpdGggdGhlIG1hY2hpbmUgZm9yIGZvdXIgdG8gZml2ZSBob3VycywgbWFpbnRhaW5pbmcgY29uc3RhbnQgYXR0ZW50aW9uLiBXaXRoIG11bHRpcGxlIHRlY2huaWNpYW5zLCBhcyBpcyB0aGUgY2FzZSBpbiBGcmFuY2UsIHlvdSBtaWdodCBtYW5hZ2UgdG8gcnVuIDE2IHNhbXBsZXMgYSBkYXkuIE9uIHRvcCBvZiB0aGF0LCB0aGUgY2VsbHMgbmVlZCB0byBiZSBkaWZmZXJlbnRpYXRlZCBwcm9wZXJseSwgYW5kIHlvdSBoYXZlIHRvIGtub3cgaG93IHRvIGhhbmRsZSB0aGVtIGNvcnJlY3RseS4gVGhlIG1lZGl1bSByZXF1aXJlZCBpcyB2ZXJ5IGV4cGVuc2l2ZSwgYW5kIHdvcmtpbmcgd2l0aCB0aGVzZSBjZWxscyBpcyBhbG1vc3QgbW9yZSBvZiBhbiBhcnQgdGhhbiBhIHNjaWVuY2UuIFlvdSBoYXZlIHRvIGtub3cgd2hlbiB0aGUgY2VsbHMgbG9vayAnaGFwcHknIG9yIG5vdCBiZWNhdXNlIHlvdSBkb24ndCB3YW50IHRvIHdhc3RlIHRpbWUgb24gY2VsbHMgdGhhdCBhcmVuJ3QgaW4gZ29vZCBjb25kaXRpb24uIEkndmUgcnVuIHF1aXRlIGEgZmV3IG9mIHRoZXNlIGFzc2F5cyBteXNlbGYsIGFuZCB3aGlsZSB0aGV5IGFyZSBncmVhdCBmb3IgQ0Ygd29yayBhbmQgcHJvdmlkZSByZXN1bHRzIHRoYXQgYXJlIHJlbGV2YW50IHRvIHBhdGllbnQgb3V0Y29tZXMsIHRoZXkgYXJlIHRlY2huaWNhbGx5IGNoYWxsZW5naW5nIGFuZCB2ZXJ5IGRlbWFuZGluZy4gSWYgeW91IHdhbnQgYSBmdW5jdGlvbmFsIG91dHB1dCB0byBzaG93IHRoYXQgdGhlIENGVFIgcHJvdGVpbiBpcyB3b3JraW5nIGFnYWluLCBJIHdvdWxkIHJlY29tbWVuZCBzdGFydGluZyB3aXRoIG9uZSBvZiB0aGUgZWFzaWVyIG1vZGVscywgbGlrZSBvcmdhbm9pZHMuIFdlIGFsc28gaGF2ZSBpbiBvdXIgbGFiIDE2SEJFIGNlbGxzIHdpdGggYSBZRlAgc2Vuc29yLiBJIGRvbid0IGtub3cgaWYgeW91J3ZlIGhlYXJkIG9yIHJlYWQgYWJvdXQgdGhhdC4gVGhlc2UgY2VsbHMgZXhwcmVzcyBZRlAsIHdoaWNoIGlzIHNlbnNpdGl2ZSB0byBoYWxpZGUgaW9ucywgaW5jbHVkaW5nIGNobG9yaWRlIGFuZCBpb2RpZGUuIFdoZW4geW91IGFkZCBhIGJ1ZmZlciBjb250YWluaW5nIHRoZXNlIGlvbnMgdG8gdGhlIGNlbGxzLCB0aGUgWUZQIGludGVuc2l0eSBxdWVuY2hlcy4gVGhpcyBpcyBzb21ldGhpbmcgd2UgdHlwaWNhbGx5IHVzZSBpbiBvdXIgZXhwZXJpbWVudHMuIEZvciB3aWxkLXR5cGUgY2VsbHMsIHlvdSBzZWUgYSByYXBpZCBhbmQgZHJhbWF0aWMgcXVlbmNoaW5nIGJlY2F1c2UgQ0ZUUiBhbGxvd3MgdGhlc2UgaW9ucyB0byBlbnRlciB0aGUgY2VsbHMuIEluIGNlbGxzIHdpdGggdGhlIG11dGF0aW9uLCB0aGVyZVx1MjAxOXMgbm8gcXVlbmNoaW5nIGJlY2F1c2UgdGhlIGNoYW5uZWwgaXNuXHUyMDE5dCB3b3JraW5nLiBXaGlsZSBpdFx1MjAxOXMgbGVzcyByZWxldmFudCBiZWNhdXNlIHRoZXNlIGFyZW4ndCBwYXRpZW50IGNlbGxzLCBpdFx1MjAxOXMgY2xvc2VyIHRvIHJlYWxpdHkuIFRoZSAxNkhCRSBjZWxsIGxpbmUgaXMgYW4gYWlyd2F5IGVwaXRoZWxpYWwgbGluZSwgYW5kIHRoZSBleHByZXNzaW9uIG9mIENGVFIgaXMgZW5kb2dlbm91cywgc28gaXRcdTIwMTlzIG5vdCBhdCB0aGUgZXhhZ2dlcmF0ZWQgbGV2ZWxzIHlvdSBtaWdodCBzZWUgaW4gbW9yZSBhcnRpZmljaWFsIG1vZGVscyBsaWtlIEhFSyBjZWxscy4gVXNpbmcgdGhlIFlGUCBhc3NheSBjb3VsZCBiZSBhIGdvb2QgYWx0ZXJuYXRpdmUgb3IgYSBQbGFuIEIgZm9yIGdldHRpbmcgYSBmdW5jdGlvbmFsIHJlYWRvdXQuIFRoaXMgYXNzYXkgaXMgbWVkaXVtIHRvIGhpZ2ggdGhyb3VnaHB1dFx1MjAxNHlvdSBjYW4gcnVuIGVudGlyZSA5Ni13ZWxsIHBsYXRlcyBpbiBhYm91dCBoYWxmIGFuIGhvdXIuIEFsbCB5b3UgbmVlZCBmb3IgdGhpcyBpcyB0aGUgY2VsbHMgYW5kIGEgcGxhdGUgcmVhZGVyIHRoYXQgY2FuIG1lYXN1cmUgZmx1b3Jlc2NlbmNlIGFuZCBpbmplY3QgdGhlIGJ1ZmZlci4gSWYgeW91IGRvblx1MjAxOXQgaGF2ZSBhIHBsYXRlIHJlYWRlciB3aXRoIGFuIGluamVjdGlvbiBzeXN0ZW0sIHlvdSBjYW4gYWxzbyBtYW51YWxseSBhZGQgdGhlIGJ1ZmZlciBhbmQgcXVpY2tseSBwbGFjZSB0aGUgcGxhdGUgaW4gdGhlIG1hY2hpbmUuIFwiLz5cbiAgICAgIDxRYUJveCBxPVwiWWVzLCB0aGF0IHNvdW5kcyBxdWl0ZSBnb29kLiBJIHRoaW5rIHdlXHUyMDE5bGwgZGVmaW5pdGVseSBjb25zaWRlciB0aGF0IGFzIGEgbWV0aG9kLiBcbiAgICAgICAgSWYgeW91IGhhdmUgYSBsaXR0bGUgbW9yZSB0aW1lLCBJIHdhbnRlZCB0byBhc2sgYWJvdXQgdGhlIHBlZ1JOQS4gWW91IHN0YWJpbGl6ZWQgaXQgd2l0aCBhIHN0ZW0gbG9vcCBvciBzb21lIGtpbmQgb2YgbW90aWYgaW4gdGhlIHBhcGVyLCBsaWtlIHRoZSB0cmV2b3ByZVExLiBEaWQgeW91IHRlc3Qgb3RoZXIgbW90aWZzIGFzIHdlbGwsIG9yLi4uPyBcIiBhPVwiWWVhaCwgdGhlcmUgd2FzIGFjdHVhbGx5IG9uZSBwdWJsaXNoZWQgYmVmb3JlIHRoZSBvbmUgZnJvbSB0aGUgTGl1IGxhYiwgYnV0IHdlIHRyaWVkIHRoYXQgb25lXHUyMDE0SSBjYW4ndCByZW1lbWJlciB0aGUgZXhhY3QgbmFtZSwgbWF5YmUgQ1NYNCBvciBzb21ldGhpbmcgbGlrZSB0aGF0LiBJdCBkaWRuXHUyMDE5dCBldmVuIG1ha2UgaXQgaW50byB0aGUgbWFpbiBwYXBlcnMsIGp1c3QgdGhlIHN1cHBsZW1lbnRhcnkgbWF0ZXJpYWwuIFRoZSBwcmluY2lwbGUgd2FzIHNpbWlsYXIsIGFuZCBhY2NvcmRpbmcgdG8gdGhlIHBhcGVyLCBpdCBzaG91bGQgaGF2ZSB3b3JrZWQuIEkgdGVzdGVkIGl0IG9uIHR3byBvciB0aHJlZSBndWlkZXMsIGxvY2F0aW9ucywgb3IgbXV0YXRpb25zLCBidXQgaXQgZGlkblx1MjAxOXQgd29yay4gSG93ZXZlciwgdGhlIHRyZXZvcHJlUTEgb25lIGRlZmluaXRlbHkgd29ya3MuIFxuICAgICAgICBBbHNvLCBzb21ldGhpbmcgdG8gbm90ZSBpcyB0aGF0IHRoZXNlIG1vdGlmcyBiZWNvbWUgbW9yZSBpbXBvcnRhbnQgd2hlbiB5b3UgbW92ZSB0byBwcmltYXJ5IGNlbGxzLCB3aGVyZSB5b3UgaGF2ZSBmZXdlciBndWlkZXMuIEluIHRyYW5zZmVjdGlvbiBleHBlcmltZW50cywgd2hlcmUgeW91XHUyMDE5cmUgZXNzZW50aWFsbHkgZmxvb2RpbmcgdGhlIGNlbGxzIHdpdGggcGxhc21pZHMgdGhhdCB0cmFuc2NyaWJlIGxhcmdlIGFtb3VudHMgb2YgdGhlc2UgZ3VpZGVzLCB0aGUgcHJvdGVjdGlvbiBvZiB0aGUgdGhyZWUtcHJpbWUgZW5kIGlzblx1MjAxOXQgYXMgY3JpdGljYWwuIEJ1dCBpbiBwcmltYXJ5IGNlbGxzLCB3aGVyZSB0aGVyZSBhcmUgbW9yZSBudWNsZWFzZXMgYW5kIHlvdSBsaWtlbHkgaGF2ZSBsZXNzIHBlZ1JOQSBkdWUgdG8geW91ciBkZWxpdmVyeSBtZXRob2QsIHRoaXMgcHJvdGVjdGlvbiBiZWNvbWVzIG1vcmUgaW1wb3J0YW50LiBUaGUgcGFwZXIgZG9lcyBkaXNjdXNzIHRoZSB0cmV2b3ByZVExIG9uZSBhbmQgdE1QSyBrbm90LCBidXQgZHVlIHRvIHRpbWUgY29uc3RyYWludHMsIHdlIG9ubHkgdGVzdGVkIG9uZSBhbmQgZGlkblx1MjAxOXQgbG9vayBpbnRvIHRoZSBvdGhlci4gXG4gICAgICAgIEkgdGhpbmsgdGhlIGFkdmFudGFnZSBvZiB0aGUgb25lIHdlIGluY2x1ZGVkIGluIHRoZSBwYXBlciB3YXMgdGhhdCB0aGV5IGFsc28gaW52ZXN0aWdhdGVkIHdoZXRoZXIgaXQgd2FzIG5lY2Vzc2FyeSB0byBpbmNsdWRlIGEgbGlua2VyIGJldHdlZW4gdGhlIG1vdGlmXHUyMDE0bGlrZSB0aGUgdHJldm9wcmVRMVx1MjAxNGFuZCB0aGUgcGVnUk5BIHdpdGggdGhlIHRocmVlLXByaW1lIGV4dGVuc2lvbi4gRm9yIHRoZSBtb3RpZiB3ZSBjaG9zZSwgdGhleSBmb3VuZCB0aGF0IHRoZSBsaW5rZXIgd2Fzblx1MjAxOXQgcmVhbGx5IG5lY2Vzc2FyeSwgd2hlcmVhcyBpdCB3YXMgZm9yIHRoZSBvdGhlciBvbmUuIFRvIGtlZXAgaXQgc2ltcGxlLCB3ZSBjaG9zZSB0aGUgb25lIHdpdGhvdXQgdGhlIG5lZWQgZm9yIGEgbGlua2VyIGJlY2F1c2UsIGZvciBtYW55IHNpdGVzLCB0aGUgZWZmaWNpZW5jaWVzIHdlcmUgY29tcGFyYWJsZS4gXG4gICAgICAgIElmIHdlIGhhZCBpbmZpbml0ZSB0aW1lIGFuZCByZXNvdXJjZXMsIGl0IHdvdWxkIGRlZmluaXRlbHkgYmUgd29ydGh3aGlsZSB0byB0ZXN0IGJvdGggbW90aWZzLiBUaGUgcGFwZXIgZGlkIHNob3cgc29tZSBleGFtcGxlcyB3aGVyZSBvbmUgbW90aWYgd2FzIGNsZWFybHkgYmV0dGVyIHRoYW4gdGhlIG90aGVyLiBCdXQgbm8sIHdlIGRpZG5cdTIwMTl0IGhhdmUgdGhlIHRpbWUgdG8gZXhwbG9yZSB0aGF0IGZ1cnRoZXIuIFwiLz4gXG4gICAgICA8UWFCb3ggcT1cIk9rYXkuICBUaGFuayB5b3UuICBCdXQgbGlrZSBpdCdzIHNob3duIGluIHRoZSBwYXBlciwgaXQgd29ya2VkIHF1aXRlIHdlbGwuICBSaWdodC4gIFllYWguIFwiIGE9XCJUaGVyZSB3YXMgZGVmaW5pdGVseSBhZGRlZCB2YWx1ZS4gV2hlbiB3ZSBtb3ZlZCB0byBvcmdhbm9pZHMsIHRoZSBlZmZlY3RzIG9mIGFkZGluZyB0aGF0IG1vdGlmIHdlcmUgcXVpdGUgZHJhbWF0aWMgYW5kIHZlcnkgY2xlYXIuIFwiLz4gXG4gICAgICA8UWFCb3ggcT1cIlllcywgdGhhdCB3YXMgb3VyIGxhc3QgcXVlc3Rpb24uIFRoYW5rIHlvdSBzbyBtdWNoIGFnYWluIGZvciBoYXZpbmcgbWUuIFdlIHJlYWxseSBhcHByZWNpYXRlIHRoZSB0aW1lIHlvdSB0b29rIGZvciB1cywgYW5kIGFsc28gZm9yIHlvdXIgdmVyeSBkZXRhaWxlZCBhbnN3ZXJzIGFuZCB5b3VyIGhlbHAuXCIgYT1cIk5vIHByb2JsZW0uIE15IHBsZWFzdXJlLlwiLz4gXG4gICAgICA8UWFCb3ggcT1cIlRoYW5rIHlvdSBzbyBtdWNoLiBXZSB3aWxsIGRlZmluaXRlbHkga2VlcCB5b3UgdXBkYXRlZCBvbiBob3cgaXQgZ29lcy4gVGhhbmsgeW91IGFnYWluISBcImE9XCJJdCB3YXMgYSBwbGVhc3VyZVwiLz4gXG4gICAgICAgPC8+LFxuICAgIHJlZmVyZW5jZXM6IDxNYXR0aWpzSW50ZXJ2aWV3U291cmNlcyAvPixcbiAgICBzdW1tYXJ5OiBcIk91ciBkaXNjdXNzaW9uIHdpdGggTWF0dGlqcyBCdWxjYWVuIGZyb20gS1UgTGV1dmVuIHByb3ZpZGVkIGNyaXRpY2FsIGluc2lnaHRzIGludG8gdGhlIGNvbXBsZXhpdGllcyBvZiB1c2luZyBwcmltZSBlZGl0aW5nIGZvciBDRiB0aGVyYXB5LiBBcyB3ZSBiZWdhbiBkZXNpZ25pbmcgb3VyIHByaW1lIGVkaXRvciwgTWF0dGlqcyBoaWdobGlnaHRlZCBjaGFsbGVuZ2VzIHNwZWNpZmljIHRvIHRhcmdldGluZyB0aGUgQ0ZUUiBGNTA4ZGVsIGRlbGV0aW9uLCBpbmNsdWRpbmcgdGhlIGluZmx1ZW5jZSBvZiBtaXNtYXRjaCByZXBhaXIgc3lzdGVtcyBhbmQgY2hyb21hdGluIG9yZ2FuaXphdGlvbiBvbiBlZGl0aW5nIGVmZmljaWVuY3kuIEhlIGludHJvZHVjZWQgdXMgdG8gYWR2YW5jZWQgdGVjaG5pcXVlcywgc3VjaCBhcyBQRTNiIHN5c3RlbXMgYW5kIGRzZ1JOQXMsIGFuZCByZWNvbW1lbmRlZCB1c2luZyB0aGUgM1x1MjAxOSBzdGVtIGxvb3AgbW90aWYgZnJvbSBoaXMgcmVzZWFyY2ggdG8gZW5oYW5jZSBvdXIgcGVnUk5BIGRlc2lnbi4gQWRkaXRpb25hbGx5LCBoZSBhZHZpc2VkIHV0aWxpemluZyBIRUsgY2VsbCBsaW5lcyBmb3Igc2NyZWVuaW5nIGR1ZSB0byB0aGVpciBlYXNlIG9mIGhhbmRsaW5nIGFuZCByZWR1Y2VkIG1pc21hdGNoIHJlcGFpciBhY3Rpdml0eS4gVGhlc2UgaW5zaWdodHMgZGlyZWN0bHkgaW5mbHVlbmNlZCBvdXIgZGVzaWduIGNob2ljZXMgYW5kIGhlbHBlZCByZWZpbmUgb3VyIGFwcHJvYWNoIHRvIGRldmVsb3BpbmcgYW4gZWZmZWN0aXZlIHByaW1lIGVkaXRpbmcgc3RyYXRlZ3kuXCIsXG4gICAgbW9udGhzOiBcImp1bmVcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJJbnRlZ3JhdGUgSW5zaWdodHNcIixcbiAgICBuYWNobm5hbWU6IFwiXCIsXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICBqb2I6IFwiVGVhbSBpR0VNXCIsXG4gICAgYWZmaWxpYXRpb246IFwiQmllbGZlbGQgQ2VCaVRlYyAyMDI0XCIsXG4gICAgdGFnOiBcIk1pbGVzdG9uZVwiLFxuICAgIGhlYWRpbmc6IFwiR2V0dGluZyBBY3F1YWludGVkIHdpdGggQ3lzdGljIEZpYnJvc2lzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiaW5pc2dodHNcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIktcdTAwRjZobGVyLCBUZWFtbWVtYmVyXCIsXG4gICAgcXVvdGVWb3JuYW1lOiBcIlZlcmFcIixcbiAgICBxdW90ZTogXCJGaXJzdGx5LCB3ZSBkaXNjdXNzZWQgdmFyaW91cyBwcm9qZWN0IGlkZWFzLCBpbmNsdWRpbmcgdGhlIHVzZSBvZiBtYWduZXRpYyBtaWNyb3N3aW1tZXJzIGZvciB0YXJnZXRlZCBtZWRpY2FsIGFwcGxpY2F0aW9ucywgZ2VuZSBlZGl0aW5nIGFwcHJvYWNoZXMgZm9yIGN5c3RpYyBmaWJyb3NpcywgdHJlYXRtZW50cyBmb3IgbXVzY3VsYXIgZHlzdHJvcGh5IGFuZCBjb21iYXRpbmcgY3lhbm9iYWN0ZXJpYSB3aXRoIGFsZ2FlLlwiLFxuICAgIHR5cGU6IFwibWV0YVwiLFxuICAgIHN1bW1hcnk6IFwiXCIsXG4gICAgbW9udGhzOiBcImp1bmVcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCInRGVyIFRldXRvIHJ1ZnQnXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3RldXRvJ10sXG4gICAgdGFnOiBcIkVkdWNhdGlvblwiLFxuICAgIGhlYWRpbmc6IFwiRWR1Y2F0aW9uYWwgY2l0eSB0b3VyIGZvciB5b3VuZyBhbmQgb2xkXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwidGV1dG9cIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIlNhaGFtaSBNb2doYWRkYW0sIFRlYW1tZW1iZXJcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiQXNhbFwiLFxuICAgIHF1b3RlOiBcIkkgaGFkIGEgZ3JlYXQgdGltZSBlZHVjYXRpbmcgdGhlIGtpZHMgYWJvdXQgZ2VuZSB0aGVyYXB5IGFuZCBDRiBpbiBhIHBsYXlmdWwgd2F5LCBhbmQgdGhlcmUgd2VyZSBzb21lIHZlcnkgaW50ZXJlc3RpbmcgY29udmVyc2F0aW9ucyB3aXRoIHRoZSBwYXJlbnRzLlwiLFxuICAgIHN1bW1hcnk6IFs8cD5cIkRlciBUZXV0byBydWZ0IVwiW0xJbmsgenUgVGV1dG8gdW50ZW5dIGlzIGEgY29tbXVuaXR5IGV2ZW50IGluIEJpZWxlZmVsZCB3aGVyZSBpR0VNIEJpZWxlZmVsZCBwYXJ0aWNpcGF0ZWQgdG8gcmFpc2UgYXdhcmVuZXNzIGFib3V0IGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGFuZCBnZW5lIHRoZXJhcHkuIFRoZXkgZW5nYWdlZCBjaGlsZHJlbiB0aHJvdWdoIGludGVyYWN0aXZlIGV4cGVyaW1lbnRzLCBzdWNoIGFzIGNyZWF0aW5nIGx1bmcgbW9kZWxzIGFuZCBzaW11bGF0aW5nIG11Y3VzIHRvIGhlbHAgdGhlbSB1bmRlcnN0YW5kIHRoZSBjaGFsbGVuZ2VzIGZhY2VkIGJ5IENGIHBhdGllbnRzLiBBZHVsdHMgd2VyZSBpbmZvcm1lZCBhYm91dCB0aGVpciBnZW5lIHRoZXJhcHkgcHJvamVjdCBhbmQgaGFkIG1lYW5pbmdmdWwgZGlzY3Vzc2lvbnMgYWJvdXQgdGhlIGltcGxpY2F0aW9ucyBvZiBDRiB0cmVhdG1lbnQuIENvbGxhYm9yYXRpbmcgd2l0aCBvdGhlciBpbnN0aXR1dGlvbnMgbGlrZSB0aGUgbGlmZSBzY2llbmNlIHN0dWRlbnQgaW5pdGlhdGl2ZSBidFMsIHRoZSB0ZWFtIGV4cGFuZGVkIHRoZWlyIG91dHJlYWNoLiBEZXNwaXRlIGNoYW5nZWFibGUgd2VhdGhlciwgdGhlIGV2ZW50IHdhcyBhIHN1Y2Nlc3MgaW4gZWR1Y2F0aW5nIHRoZSBwdWJsaWMgYW5kIGltcHJvdmluZyBzY2llbmNlIGNvbW11bmljYXRpb24uPC9wPl0sXG4gICAgbW9udGhzOiBcIkp1bmVcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJKdWxpYVwiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBqb2I6IFwicGFyZW50XCIsXG4gICAgYWZmaWxpYXRpb246IFwiaW5kZXBlbmRlbnRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydqdWxpYSddLFxuICAgIHRhZzogXCJQYXRpZW50XCIsXG4gICAgaGVhZGluZzogXCJJbnRlcnZpZXcgd2l0aCBhIENGIFBhcmVudCBhYm91dCB0aGVpciBleHBlcmllbmNlIGFuZCB0cmVhdG1lbnQgbmVlZHNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJqdWxpYVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCIsIE1vdGhlciBvZiBhIENGIHBhdGllbnRcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiSnVsaWFcIixcbiAgICBxdW90ZTogXCJBdCBmaXJzdCwgb3VyIHdvcmxkIGZlbGwgYXBhcnQuIEkgc3RpbGwgcmVtZW1iZXIgdGhlIGNvbnZlcnNhdGlvbiB3aXRoIHRoZSBkb2N0b3IuIFwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPldlIGxlYXJuZWQgZnJvbSBvdXIgZGlzY3Vzc2lvbiB3aXRoIDxIUExpbmt0b090aGVySFBUYWIgdGFiPVwibWF4Zmlyc3RcIiB0ZXh0PVwiTWF4XCIgLz4gdGhhdCBDRiBoYXMgYSBwcm9mb3VuZCBpbXBhY3Qgb24gdGhlIHdob2xlIGZhbWlseSBcdTIwMTMgbm90IGp1c3QgdGhlIHBhdGllbnQuIEluIG9yZGVyIHRvIGdhaW4gZnVydGhlciBpbnNpZ2h0IGludG8gdGhpcyBzdWJqZWN0LCB3ZSBzb3VnaHQgdG8gZW5nYWdlIHdpdGggdGhlIG5leHQgb2Yga2luIG9mIENGIHBhdGllbnRzLlxuICAgICAgV2Ugd2VyZSBhYmxlIHRvIG1ha2UgY29udGFjdCB3aXRoIEp1bGlhIHRocm91Z2ggdGhlIHNlbGYtaGVscCBncm91cCBvZiA8YSBocmVmPVwiaHR0cHM6Ly93d3cubXVrby5pbmZvLyBcIiA+TXVrdmlzemlkb3NlIGUuVi4gPC9hPiBvZiB3aGljaCBNYXggaXMgYSBtZW1iZXIuIFNoZSBzdWJzZXF1ZW50bHkgcmVhY2hlZCBvdXQgdG8gdXMgZm9sbG93aW5nIE1heCdzIHJlcXVlc3QgZm9yIHBvdGVudGlhbCBjYW5kaWRhdGVzIGZvciBhbiBpbnRlcnZpZXcgd2l0aCBhIHBhdGllbnQgZ3JvdXAuXG4gICAgICBTaGUgYW5kIGhlciBodXNiYW5kIGhhdmUgYSBzaXgteWVhci1vbGQgZGF1Z2h0ZXIgY2FycnlpbmcgdGhlIEY1MDhkZWwgbXV0YXRpb24gaW4gdGhlIENGVFIgZ2VuZSBhbmQgYSB0b2RkbGVyIHdpdGhvdXQgQ0YuICA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPiBUaGUgaW50ZXJ2aWV3IHdpdGggSnVsaWEgc2hpZnRlZCBvdXIgZm9jdXMgdG8gYSBuZXcgZ3JvdXAgb2Ygc3Rha2Vob2xkZXJzOiBUaGUgcGF0aWVudFx1MjAxOXMgc3VwcG9ydCBzeXN0ZW1zLiBNb3N0IHBlb3BsZSBkbyBub3QgZ2V0IGdlbmV0aWNhbGx5IHRlc3RlZCBiZWZvcmUgaGF2aW5nIGNoaWxkcmVuIGFuZCBkdWUgdG8gdGhhdCwgbWFueSBwZW9wbGUgY291bGQgZ2V0IGluIHRoZSBwb3NpdGlvbiBvZiBoYXZpbmcgYSBsb3ZlZCBvbmUgd2l0aCBDRi5cbiAgICAgIFdlIGNvbnNpZGVyZWQgdGhlIHNvY2lldGFsIGltcGFjdHMsIHN1Y2ggYXMgdGhlIHJpc2luZyBoZWFsdGggY2FyZSBjb3N0cywgd2hpY2ggTmljb2xlIEZyaWVkbGVpbiBlbXBoYXNpemVkIGR1cmluZyBvdXIgaW50ZXJ2aWV3LiBTaGUgZXhwbGFpbmVkIGhvdyB0aGUgbG9uZy10ZXJtIG5hdHVyZSBvZiB0cmVhdG1lbnQsIGZyZXF1ZW50IGhvc3BpdGFsIHZpc2l0cywgYW5kIHRoZSBuZWVkIGZvciBzcGVjaWFsaXplZCBtZWRpY2F0aW9ucyBwbGFjZSBhIHNpZ25pZmljYW50XG4gICAgICBmaW5hbmNpYWwgYnVyZGVuIG9uIGJvdGggcGF0aWVudHMgYW5kIHRoZSBoZWFsdGggY2FyZSBzeXN0ZW0uIFRoaXMgaW5zaWdodCBzaGFwZWQgb3VyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGJyb2FkZXIgZWNvbm9taWMgY2hhbGxlbmdlcyBmYWNlZCBieSBmYW1pbGllcyBhbmQgaW5zdGl0dXRpb25zIGludm9sdmVkIGluIG1hbmFnaW5nIGNocm9uaWMgaWxsbmVzc2VzLiBNZWFud2hpbGUsIEp1bGlhIGJyb3VnaHQgYXR0ZW50aW9uIHRvIHRoZSBwc3ljaG9sb2dpY2FsIGltcGFjdCxcbiAgICAgIHN0cmVzc2luZyB0aGUgZW1vdGlvbmFsIHN0cmFpbiB0aGF0IGFjY29tcGFuaWVzIG5vdCBvbmx5IHRoZSBpbGxuZXNzIGl0c2VsZiBidXQgYWxzbyB0aGUgZmluYW5jaWFsIHByZXNzdXJlcy4gU2hlIGFsc28gc2hvd2VkIHVzIG1vcmUgcGVyc3BlY3RpdmVzIG9uIHBhcmVudGluZyBvZiBjaGlsZHJlbiB3aXRoIENGLCB0aGFuIHdlIGhlYXJkIGJlZm9yZSwgYW5kIHRvbGQgdXMgYWJvdXQgdGhlIHdheSBmcm9tIHRoZSBmaXJzdCBkaWFnbm9zaXMgdG8gZ3Jvd2luZyBhY2N1c3RvbWVkXG4gICAgICB0byBhbmQgbGl2aW5nIHdpdGggYSBjaGlsZCB3aXRoIENGLiBKdWxpYSBhbHNvIGNvbmZpcm1lZCB0aGF0IG1vc3QgY2hpbGRyZW4gd2lsbCBoYXZlIG5vIGlzc3VlIHVzaW5nIGFuIGluaGFsYXRpdmUgdGhlcmFweSBsaWtlIHdlIGVudmlzaW9uIG91ciBnZW5lIHRoZXJhcHkgdG8gYmUgYW5kIHNob25lIGxpZ2h0IG9udG8gdGhlIGNvbXBhcmF0aXZlbHkgdmVyeSBnb29kIHNpdHVhdGlvbiBmb3IgQ0YgcGF0aWVudHMgaW4gR2VybWFueS4gPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD4gVGhpcyBpbnRlcnZpZXcgaGVscGVkIHVzIGNvbmZpcm0gdGhlIGRlbGl2ZXJ5IG1ldGhvZCB3ZSBwbGFubmVkIHRvIHVzZSBhcyB3ZSB3ZXJlIHByZXZpb3VzbHkgY29uY2VybmVkIGhvdyBhbmQgaWYgY2hpbGRyZW4gd291bGQgYmUgYWJsZSB0byB1c2UgdGhlIGluaGFsYXRpdmUgdGhlcmFweS4gQmVzaWRlcyB0aGF0LCBKdWxpYSBnYXZlIHVzIGZ1cnRoZXIgaW5zaWdodHMgaW50byB0aGUgZW1vdGlvbmFsIHNpZGUgb2ZcbiAgICAgIGRlYWxpbmcgd2l0aCBDRiBhbmQgd2Ugd2VyZSBhYmxlIHRvIGRpc2N1c3MgdGhlIHNpdHVhdGlvbiBmb3IgcGF0aWVudHMgaW4gR2VybWFueSBpbiBjb21wYXJpc29uIHRvIG90aGVyIGNvdW50cmllcyBiZXR0ZXIgaW4gbGF0ZXIgIDxIUExpbmt0b090aGVySFBUYWIgdGFiPVwiam9zaHVhXCIgdGV4dD1cImludGVydmlld3NcIiAvPi4gPC9wPl0sXG4gICAgaW50ZXJ2aWV3OiA8PlxuICAgICAgPFFhQm94IHE9XCJDYW4geW91IHRlbGwgdXMgYSBiaXQgYWJvdXQgeW91ciBmYW1pbHk/IEhvdyBvbGQgYXJlIHlvdXIgY2hpbGRyZW4gYW5kIHlvdXJzZWx2ZXM/XCIgYT1cIklcdTIwMTltIDM3LCBteSBodXNiYW5kIGlzIDQ0LCBhbmQgb3VyIGRhdWdodGVyIGlzIHNpeCwgdHVybmluZyBzZXZlbiBzb29uLiBXZSBhbHNvIGhhdmUgYSBzb24gd2hvXHUyMDE5cyBhYm91dCBhIHllYXIgYW5kIGEgaGFsZi5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJEb2VzIHlvdXIgc29uIGFsc28gaGF2ZSBjeXN0aWMgZmlicm9zaXM/XCIgYT1cIk5vLCBoZSBkb2Vzblx1MjAxOXQuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hlbiB3YXMgeW91ciBkYXVnaHRlciBkaWFnbm9zZWQgd2l0aCBjeXN0aWMgZmlicm9zaXM/XCIgYT1cIlJpZ2h0IGFmdGVyIGJpcnRoLiBTaGUgd2FzIHRyYW5zZmVycmVkIHRvIGEgYmlnZ2VyIGhvc3BpdGFsIGR1ZSB0byBhbiBpbnRlc3RpbmFsIGJsb2NrYWdlIGFuZCBoYWQgc3VyZ2VyeS4gQWZ0ZXIgYWJvdXQgdHdvIHRvIHRocmVlIHdlZWtzIGluIGludGVuc2l2ZSBjYXJlLCB0aGUgY3lzdGljIGZpYnJvc2lzIGRpYWdub3NpcyBjYW1lIHRocm91Z2ggbmV3Ym9ybiBzY3JlZW5pbmcuIEF0IHRoYXQgdGltZSwgdGhlIHJlc3VsdHMgdG9vayBsb25nZXIgdG8gcHJvY2VzcyB0aGFuIHRoZXkgZG8gbm93LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIlRoYXQgaW50ZXN0aW5hbCBpc3N1ZSBjYW4gaGFwcGVuIGZvciBtYW55IHJlYXNvbnMsIHJpZ2h0P1wiIGE9XCJZZXMsIGl0IHdhcyBhbGwgbmV3IHRvIHVzLiBUaGUgYmVnaW5uaW5nIHdhcyBkaWZmaWN1bHQsIGJ1dCB0aGluZ3MgaGF2ZSBnb3R0ZW4gYmV0dGVyIHNpbmNlIHRoZW4sIGFuZCB3ZVx1MjAxOXJlIHZlcnkgZ3JhdGVmdWwuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSG93IGRpZCB5b3UgZmVlbCB3aGVuIHlvdSBmaXJzdCBoZWFyZCB0aGUgZGlhZ25vc2lzP1wiIGE9XCJJdCBmZWx0IGxpa2Ugb3VyIHdvcmxkIHdhcyBmYWxsaW5nIGFwYXJ0LiBJIHN0aWxsIHJlbWVtYmVyIHRoZSBtb21lbnRcdTIwMTRpdCB3YXMgbGlrZSBiZWluZyBpbiBhIG1vdmllLiBXZSB3ZXJlIHRvbGQgaW4gYSBzZXBhcmF0ZSByb29tLCBhbmQgaXQgZmVsdCBvdmVyd2hlbG1pbmcuIE9uZSBkb2N0b3IgZXZlbiBzdWdnZXN0ZWQgd2UgZ28gaG9tZSB0byB0aGluayBhYm91dCBpdCBpbiBwZWFjZSwgYnV0IGFsbCBJIGNvdWxkIHRoaW5rIGFib3V0IHdhcyByZXR1cm5pbmcgdG8gbXkgY2hpbGQuIEl0IHdhcyBhIGxvdCB0byB0YWtlIGluLCBlc3BlY2lhbGx5IHRoaW5raW5nIGFib3V0IGhvdyB3ZVx1MjAxOWQgdGVsbCBvdXIgZmFtaWx5LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIlRoYXQgc291bmRzIGluY3JlZGlibHkgaGFyZC4gSG93IGRpZCB5b3UgaGFuZGxlIGl0IGFzIHRpbWUgcGFzc2VkP1wiIGE9XCJJdCB3YXMgdG91Z2gsIGJ1dCB3ZSB3ZXJlIGZvcnR1bmF0ZSB0byBoYXZlIGEgZG9jdG9yIHdobyByZWFsbHkgdW5kZXJzdG9vZCB3aGF0IHdlIHdlcmUgZ29pbmcgdGhyb3VnaCwgYXMgaGUgaGFkIGEgZGlzYWJsZWQgY2hpbGQgaGltc2VsZi4gSGUgbmV2ZXIgc2NhcmVkIHVzIHVubmVjZXNzYXJpbHkgYW5kIGd1aWRlZCB1cyBzdGVwIGJ5IHN0ZXAsIHdoaWNoIG1hZGUgYSBiaWcgZGlmZmVyZW5jZS4gV2Uga25vdyBtYW55IGZhbWlsaWVzIHdobyBsaXZlIGluIGNvbnN0YW50IGZlYXIsIGJ1dCBzaW5jZSB0aG9zZSBmaXJzdCBtb250aHMsIHdlXHUyMDE5dmUgbGVhcm5lZCB0byBtYW5hZ2UgdGhlIHNpdHVhdGlvbiB3aXRob3V0IGJlaW5nIG92ZXJ3aGVsbWVkIGJ5IGZlYXIuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRGlkIGFueSBwYXJ0aWN1bGFyIHN1cHBvcnQgaGVscCB5b3VyIGZhbWlseSBhZGp1c3QgdG8gdGhlIGRpYWdub3Npcz9cIiBhPVwiWWVzLCB0aGUgcmVoYWIgcHJvZ3JhbSB3ZSBhdHRlbmRlZCB3YXMgYSBodWdlIGhlbHAuIEl0IHdhcyBhIGZhbWlseS1vcmllbnRlZCBwcm9ncmFtLCBzbyBteSBodXNiYW5kIGNvdWxkIGJlIHRoZXJlIHRvbywgd2hpY2ggd2FzIGltcG9ydGFudCBzaW5jZSBJIG1hbmFnZSBtb3N0IHRoaW5ncyBkYXktdG8tZGF5LiBJdCByZWFsbHkgaGVscGVkIG91ciBkYXVnaHRlciByZWFsaXplIHNoZVx1MjAxOXMgbm90IGFsb25lXHUyMDE0c2hlIG1ldCBvdGhlciBraWRzIHdpdGggc2ltaWxhciBjb25kaXRpb25zLCB3aGljaCB3YXMgYSBodWdlIGNvbWZvcnQuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSG93IGRpZCB5b3UgZXhwbGFpbiB0aGUgaWxsbmVzcyB0byB5b3VyIGRhdWdodGVyP1wiIGE9XCJXZSB0cnkgdG8gZ2l2ZSBpdCBhcyBsaXR0bGUgYXR0ZW50aW9uIGFzIHBvc3NpYmxlIGluIGRhaWx5IGxpZmUuIFNoZVx1MjAxOXMgYmVlbiBpbmhhbGluZyBtZWRpY2F0aW9uIHNpbmNlIHNoZSB3YXMgZWlnaHQgd2Vla3Mgb2xkLCBhbmQgaXRcdTIwMTlzIGp1c3QgcGFydCBvZiBoZXIgcm91dGluZSBub3cuIFRoYW5rZnVsbHksIHNoZSBkb2Vzblx1MjAxOXQgZmlnaHQgaXQgb3IgcXVlc3Rpb24gaXQgbXVjaCwgYW5kIGhlciBzY2hvb2wgYW5kIGtpbmRlcmdhcnRlbiBoYXZlblx1MjAxOXQgbWFkZSBhIGJpZyBkZWFsIG9mIGl0IGVpdGhlciwgd2hpY2ggaXMgd2hhdCB3ZSB3YW50ZWQuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRG9lcyBzaGUgZXZlciBhc2sgYWJvdXQgaGVyIGlsbG5lc3MgY29tcGFyZWQgdG8gaGVyIHlvdW5nZXIgYnJvdGhlciwgd2hvIGRvZXNuXHUyMDE5dCBoYXZlIGN5c3RpYyBmaWJyb3Npcz9cIiBhPVwiU2hlIGRvZXMgc29tZXRpbWVzIGFzayB3aHkgc2hlXHUyMDE5cyBzaWNrIGFuZCBoZVx1MjAxOXMgbm90LCBidXQgc2hlXHUyMDE5cyBub3QgdXBzZXQgYnkgaXQuIFdlXHUyMDE5dmUgbWFkZSBzdXJlIG5vdCB0byBnaXZlIGhlciBhbnkgc3BlY2lhbCB0cmVhdG1lbnQgYmVjYXVzZSBvZiBoZXIgaWxsbmVzcywgd2hpY2ggY2FuIGJlIGhhcmQgYXQgdGltZXMsIGJ1dCB3ZSB3YW50IGhlciB0byB1bmRlcnN0YW5kIHRoYXQgaGVyIGlsbG5lc3MgZG9lc25cdTIwMTl0IGRlZmluZSBoZXIuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiVGhhdCBzb3VuZHMgbGlrZSBhIGdvb2QgYmFsYW5jZS4gV2hhdCBhYm91dCBtZWRpY2F0aW9uc1x1MjAxNGRpZCBzaGUgc3RhcnQgb24gYW55IHNwZWNpYWwgdHJlYXRtZW50cz9cIiBhPVwiWWVzLCBzaGUgc3RhcnRlZCBvbiBPcmthbWJpIGF0IGFyb3VuZCB0aHJlZSB5ZWFycyBvbGQgYnV0IGhhZCB0byBzdG9wIGJyaWVmbHkgZHVlIHRvIGhpZ2ggbGl2ZXIgdmFsdWVzLiBOb3cgc2hlXHUyMDE5cyBvbiBLYWZ0cmlvLCB3aGljaCBzaGUgc3RhcnRlZCBzaG9ydGx5IGJlZm9yZSBoZXIgc2l4dGggYmlydGhkYXksIGFuZCBpdFx1MjAxOXMgYmVlbiBnb2luZyB3ZWxsLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRpZCB5b3UgZmFjZSBhbnkgaXNzdWVzIHdpdGggdGhlIGhlYWx0aCBpbnN1cmFuY2UgZm9yIGNvdmVyaW5nIHRoZXNlIG1lZGljYXRpb25zP1wiIGE9XCJGb3J0dW5hdGVseSwgbm8uIFdlIGhhdmUgc3RhdHV0b3J5IGhlYWx0aCBpbnN1cmFuY2UsIGFuZCB0aGV5XHUyMDE5dmUgY292ZXJlZCBldmVyeXRoaW5nIHdpdGhvdXQgYW55IGlzc3Vlcy4gV2VcdTIwMTl2ZSBoZWFyZCBpdCBjYW4gYmUgbW9yZSBjb21wbGljYXRlZCBmb3IgdGhvc2Ugd2l0aCBwcml2YXRlIGluc3VyYW5jZS5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIYXZlIHlvdSBldmVyIGhhZCBkaWZmaWN1bHRpZXMgd2l0aCBhY2Nlc3MgdG8gbWVkaWNhdGlvbj9cIiBhPVwiWWVzLCB0aGVyZSBoYXZlIGJlZW4gdGltZXMgd2hlbiB3ZVx1MjAxOXZlIGhhZCB0byB3YWl0IGEgZmV3IGRheXMgZm9yIGNlcnRhaW4gbWVkaWNhdGlvbnMsIGxpa2UgS3Jlb24gb3IgYW50aWJpb3RpY3MsIGVzcGVjaWFsbHkgaW4gdGhlIHdpbnRlci4gQnV0IHdlIGFsd2F5cyBwbGFuIGFoZWFkIGFuZCBrZWVwIGEgYnVmZmVyLCBzbyB3ZVx1MjAxOXZlIG5ldmVyIGJlZW4gd2l0aG91dCB3aGF0IHdlIG5lZWQuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCB3b3VsZCB5b3Ugc2F5IGhhcyBiZWVuIHRoZSBtb3N0IGFmZmVjdGVkIGFyZWEgZm9yIHlvdXIgZGF1Z2h0ZXI/XCIgYT1cIkhlciBpbnRlc3RpbmVzIGFyZSB0aGUgbW9zdCBhZmZlY3RlZC4gQmVmb3JlIHNoZSBzdGFydGVkIEthZnRyaW8sIHNoZSBoYWQgZmF0dHkgc3Rvb2xzIGFuZCBmcmVxdWVudCBib3dlbCBtb3ZlbWVudHMsIGV2ZW4gd2l0aCB0aGUgcmlnaHQgS3Jlb24gZG9zYWdlLiBTaW5jZSBzdGFydGluZyBLYWZ0cmlvLCB0aGlzIGhhcyBpbXByb3ZlZCBzaWduaWZpY2FudGx5LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQga2luZCBvZiBzdXBwb3J0IHdvdWxkIHlvdSBoYXZlIGxpa2VkIHRvIHJlY2VpdmUgZWFybGllcj9cIiBhPVwiV2Ugd2lzaCB3ZSBoYWQgYmVlbiBnaXZlbiBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGF2YWlsYWJsZSBzZXJ2aWNlcyBlYXJseSBvbi4gV2UgZm91bmQgb3V0IGFib3V0IE11a292aXN6aWRvc2UgZS5WLiBmcm9tIGFub3RoZXIgZmFtaWx5LCBub3QgZnJvbSBvdXIgZG9jdG9yLiBJdCB3b3VsZCBoYXZlIGJlZW4gaGVscGZ1bCB0byBrbm93IGFib3V0IHRoZXNlIHJlc291cmNlcyByaWdodCBmcm9tIHRoZSBzdGFydC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIb3cgYWJvdXQgcHN5Y2hvc29jaWFsIHN1cHBvcnQ/XCIgYT1cIkluaXRpYWxseSwgd2UgZGlkblx1MjAxOXQgaGF2ZSBhbnkgcHN5Y2hvbG9naWNhbCBzdXBwb3J0XHUyMDE0b3VyIGRvY3RvciB0b29rIGNhcmUgb2YgZXZlcnl0aGluZy4gTm93LCB3aGVyZSB3ZSBsaXZlLCB0aGVyZSBhcmUgbW9yZSByZXNvdXJjZXMsIGFuZCB3ZSB0aGluayBpdFx1MjAxOXMgYSBnb29kIHRoaW5nLiBUaGUgcmVoYWIgaGVscGVkIGEgbG90IGluIGNvbWluZyB0byB0ZXJtcyB3aXRoIGV2ZXJ5dGhpbmcuIFdlIHdpc2ggd2UgaGFkIGtub3duIGFib3V0IHN1Y2ggc2VydmljZXMgc29vbmVyLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRvZXMgeW91ciBkYXVnaHRlciBkbyBwaHlzaW90aGVyYXB5P1wiIGE9XCJZZXMsIG9uY2UgYSB3ZWVrIGZvciBhYm91dCBhbiBob3VyLiBTaGVcdTIwMTlzIGJlZW4gZ29pbmcgc2luY2Ugc2hlIHdhcyBkaXNjaGFyZ2VkIGZyb20gdGhlIGhvc3BpdGFsLCBhbmQgc2hlIGhhcyBhIGNsb3NlIGJvbmQgd2l0aCBoZXIgcGh5c2lvdGhlcmFwaXN0LiBUaGV5XHUyMDE5dmUgYmVlbiB3b3JraW5nIHRvZ2V0aGVyIHNpbmNlIHNoZSB3YXMgYSBiYWJ5LCBhbmQgc2hlIGdvZXMgYnkgaGVyc2VsZiBub3cuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiQXJlIHRoZXJlIGFueSByZXN0cmljdGlvbnMgZm9yIGhlciBpbiB0ZXJtcyBvZiBwaHlzaWNhbCBhY3Rpdml0aWVzP1wiIGE9XCJObywgbm90IHJlYWxseS4gU2hlIGRvZXMgZGFuY2luZyBvbmNlIGEgd2VlaywgcGh5c2lvdGhlcmFweSwgYW5kIHNoZVx1MjAxOXMgZXZlbiBkb25lIGEgc3dpbW1pbmcgY291cnNlIHdpdGhvdXQgYW55IHByb2JsZW1zLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBkbyB5b3UgaGFuZGxlIGNvbW11bmljYXRpbmcgYWJvdXQgaGVyIGlsbG5lc3M/XCIgYT1cIldlIHRyeSBub3QgdG8gbWFrZSBhIGJpZyBkZWFsIG9mIGl0LiBXaGVuIEkgbG9va2VkIGZvciBpbmZvcm1hdGlvbiwgSSBmb3VuZCB3aGF0IHdlIG5lZWRlZC4gVGhlcmVcdTIwMTlzIG5vdGhpbmcgd2VcdTIwMTl2ZSByZWFsbHkgZmVsdCB3YXMgbWlzc2luZy5cIiAvPlxuICAgIDwvPixcbiAgICBzdW1tYXJ5OiBcIkp1bGlhJ3MgaW5zaWdodHMgc2hpZnRlZCBvdXIgZm9jdXMgdG8gdGhlIHN1cHBvcnQgc3lzdGVtcyBzdXJyb3VuZGluZyBDRiBwYXRpZW50cy4gU2hlIGhpZ2hsaWdodGVkIHRoZSBzb2NpZXRhbCBpbXBsaWNhdGlvbnMgb2YgQ0YsIGluY2x1ZGluZyByaXNpbmcgaGVhbHRoY2FyZSBjb3N0cyBkdWUgdG8gdGhlIGxvbmctdGVybSBuYXR1cmUgb2YgdHJlYXRtZW50IGFuZCB0aGUgZmluYW5jaWFsIGJ1cmRlbnMgZmFjZWQgYnkgZmFtaWxpZXMuIEFkZGl0aW9uYWxseSwgSnVsaWEgZW1waGFzaXplZCB0aGUgZW1vdGlvbmFsIHN0cmFpbiB0aGF0IGFjY29tcGFuaWVzIHRoZSBpbGxuZXNzLCBhbG9uZ3NpZGUgdGhlIGNvbXBsZXhpdGllcyBvZiBwYXJlbnRpbmcgYSBjaGlsZCB3aXRoIENGLiBJbXBvcnRhbnRseSwgc2hlIGFmZmlybWVkIHRoYXQgbW9zdCBjaGlsZHJlbiBhZGFwdCB3ZWxsIHRvIGluaGFsYXRpdmUgdGhlcmFwaWVzLCByZWluZm9yY2luZyBvdXIgcGxhbm5lZCBkZWxpdmVyeSBtZXRob2QgZm9yIGdlbmUgdGhlcmFweS4gVGhpcyBpbnRlcnZpZXcgZW5yaWNoZWQgb3VyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNoYWxsZW5nZXMgZmFjZWQgYnkgZmFtaWxpZXMgYW5kIGVuYWJsZWQgdXMgdG8gYmV0dGVyIGNvbXBhcmUgdGhlIGV4cGVyaWVuY2VzIG9mIENGIHBhdGllbnRzIGluIEdlcm1hbnkgdG8gdGhvc2UgaW4gb3RoZXIgY291bnRyaWVzLlwiLFxuICAgIG1vbnRoczogXCJqdW5lXCJcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIlByb2YuIERyLlwiLFxuICAgIHZvcm5hbWU6IFwiRGF2aWRcIixcbiAgICBuYWNobm5hbWU6IFwiTGl1XCIsXG4gICAgam9iOiBcIiBSaWNoYXJkIE1lcmtpbiBQcm9mZXNzb3IgYW5kIGRpcmVjdG9yIG9mIHRoZSBNZXJraW4gSW5zdGl0dXRlIG9mIFRyYW5zZm9ybWF0aXZlIFRlY2hub2xvZ2llcyBpbiBIZWFsdGhjYXJlXCIsXG4gICAgYWZmaWxpYXRpb246IFwidmljZSBjaGFpciBvZiB0aGUgZmFjdWx0eSBhdCB0aGUgQnJvYWQgSW5zdGl0dXRlIG9mIE1JVCBhbmQgSGFydmFyZFwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2RhdmlkJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZW5cIixcbiAgICBoZWFkaW5nOiBcIkluZmx1ZW5jZSBvZiByZXNlYXJjaCBieSBEYXZpZCBMaXUgb24gb3VyIGRlc2lnbiBkZWNpc2lvbnMgXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibGl1XCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwiWFwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPkRhdmlkIExpdSBpcyB0aGUgcHJpbmNpcGFsIGludmVzdGlnYXRvciByZXNwb25zaWJsZSBmb3IgdGhlIGRldmVsb3BtZW50IG9mIHRoZSBwcmltZSBlZGl0aW5nIHN5c3RlbXMgYW5kIGhpcyBsYWJvcmF0b3J5IGlzIGFjdGl2ZWx5IHdvcmtpbmcgb24gaW1wcm92aW5nIHByaW1lIGVkaXRvcnMsIGFsc28gZm9yIGFwcGxpY2F0aW9uIGluIENGVFIgbXV0YXRpb24gRjUwOGRlbC4gPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD5UaGUgdGFsayBhbmQgcGFwZXJzIGZyb20gRGF2aWQgTGl1IG5vdCBvbmx5IGludHJvZHVjZWQgYWR2YW5jZXMgZm9yIHByaW1lIGVkaXRvcnMsIGJ1dCBhbHNvIGluY2x1ZGVkIHZhbHVhYmxlIGRhdGEgZm9yIHVzIHRvIGRlY2lkZSBvbiB3aGljaCBtZXRob2QgbWlnaHQgd29yayBiZXN0IGZvciBvdXIgcHJvamVjdC4gQmVjYXVzZSBvZiB0aGlzIHdlIGRlY2lkZWQgdG8gdXNlIGFuIGFkdmFuY2VkIHN5c3RlbSBiYXNlZCBvbiB0aGUgUEU2YyBhbmQgUEU0IHN5c3RlbXMsIGJvdGggb2Ygd2hpY2ggd2VyZSBwdWJsaXNoZWQgYnkgdGhlIGxhYm9yYXRvcnkgb2YgRGF2aWQgTGl1LiA8L3A+LFxuICAgICAgPHA+QXMgdGhlIHByaW5jaXBhbCBpbnZlc3RpZ2F0b3IgcmVzcG9uc2libGUgZm9yIHRoZSBkZXZlbG9wbWVudCBvZiB0aGUgcHJpbWUgZWRpdGluZyBzeXN0ZW1zLiBUaGUgaW5pdGlhbCBwcmltZSBlZGl0aW5nIHN5c3RlbSB3YXMgZGV2ZWxvcGVkIGluIGhpcyBsYWJvcmF0b3J5IFxuXG4gICAgICA8VGFiU2Nyb2xsTGluayB0YWI9XCJsaXVcIiBzY3JvbGxJZD1cImRlc2MtMVwiIG51bT1cIjFcIiAvPlxuICAgICAgIGFuZCBzaW5jZSB0aGVuIGEgbnVtYmVyIG9mIHBhcGVycyBvbiB0aGlzIHRvcGljIGhhdmUgYmVlbiBwdWJsaXNoZWQgdW5kZXIgaGlzIHN1cGVydmlzaW9uLiBUaGUgcmVzZWFyY2ggY29uZHVjdGVkIGJ5IERhdmlkIExpdSBhbmQgaGlzIGxhYm9yYXRvcnkgd2FzIHRoZSBpbnNwaXJhdGlvbiBmb3Igb3VyIGdlbmUgZWRpdGluZyBhcHByb2FjaCBhbmQgdGh1cyBhYnNvbHV0ZWx5IGNydWNpYWwgaW4gdGhlIGRldmVsb3BtZW50IG9mIFByZUN5c2UuIFVuZm9ydHVuYXRlbHksIHdlIHdlcmUgbm90IGFibGUgdG8gdGFsayB0byBEYXZpZCBMaXUgaGltc2VsZiBvciBvbmUgb2YgaGlzIGNvd29ya2VycywgYnV0IHRoZSBpbXBhY3Qgb2YgdGhlaXIgcHVibGljYXRpb25zIGNhbiBiZSBzZWVuIGluIGEgYmlnIHBhcnQgb2YgdGhlIG1lY2hhbmlzbSBlbmdpbmVlcmluZyB0aW1lbGluZS4gV2hlbiBzcGVha2luZyB0byBcbiAgICAgIDxIUExpbmt0b090aGVySFBUYWIgdGFiPVwibWF0dGlqc2ludlxuICAgICAgXCIgdGV4dD1cIk1hdHRpanMgQnVsY2FlblwiIC8+XG4gICAgICAgaW4gSnVuZSwgaGUgbWVudGlvbmVkIHRoYXQgRGF2aWQgTGl1IGhhZCByZWNlbnRseSBnaXZlbiBhIHRhbGsgb24gcmVjZW50IGFkdmFuY2VzIGluIHRoZSBwcmltZSBlZGl0aW5nIGZpZWxkIGF0IHRoZSBvbmxpbmUgY29uZmVyZW5jZSAgPGEgaHJlZj1cImh0dHBzOi8vd3d3LmdlbmVuZ25ld3MuY29tL211bHRpbWVkaWEvdGhlLXN0YXRlLW9mLWNyaXNwci1hbmQtZ2VuZS1lZGl0aW5nLTIwMjQvXCIgPidUaGUgU3RhdGUgb2YgQ1JJU1BSIGFuZCBHZW5lIEVkaXRpbmcgMjAyNCc8L2E+IGhvc3RlZCBieSBHZW5ldGljIEVuZ2luZWVyaW5nICYgQmlvdGVjaG5vbG9neSBOZXdzLiBcbiAgICAgIEluIGhpcyB0YWxrLCBEYXZpZCBMaXUgcHJlc2VudGVkIGJvdGggcHVibGlzaGVkIGFzIHdlbGwgYXMgdW5wdWJsaXNoZWQgd29yay4gT25lIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IHRha2Vhd2F5cyBmb3IgdXMgd2VyZSB0aGUgdXNlIG9mIGV2b2x2ZWQgaW1wcm92ZWQgYW5kIHNtYWxsZXIgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlcyBpbiBQRTYgcHJpbWUgZWRpdGluZyBzeXN0ZW1zIFxuICAgICAgPFRhYlNjcm9sbExpbmsgdGFiPVwibGl1XCIgc2Nyb2xsSWQ9XCJkZXNjLTJcIiBudW09XCIyXCIgLz5cbiAgICAgIC4gV2Ugd2VyZSBhbHNvIHZlcnkgaW50ZXJlc3RlZCBpbiB0aGUgcHJvdGVpbiBldm9sdXRpb24gc3RyYXRlZ2llcyB1c2VkIHRvIGNyZWF0ZSB0aGVzZSBuZXcgZW56eW1lcyBjYWxsZWQgUEFDRSBhbmQgUEFOQ0UgKHBoYWdlIGFzc2lzdGVkIChub24tKWNvbnRpbnVvdXMgZXZvbHV0aW9uIDxUYWJTY3JvbGxMaW5rIHRhYj1cImxpdVwiIHNjcm9sbElkPVwiZGVzYy0zXCIgbnVtPVwiM1wiIC8+IGFuZCB0aGUgaWRlYSBvZiB1c2luZyB0aGlzIHN5c3RlbSB0byBvcHRpbWl6ZSBvdXIgcGxhbm5lZCBuZXcgZW5kb251Y2xlYXNlIGRvbWFpbnMgZm9yIHRoZSBwcmltZSBlZGl0b3JzLiBXZSBldmVudHVhbGx5IGRpc2NhcmRlZCB0aGlzIGlkZWEgYmVjYXVzZSBvZiB0aW1lIGNvbnN0cmFpbnRzLiBBcGFydCBmcm9tIHRoYXQsIERhdmlkIExpdSBwcmVzZW50ZWQgcmVzdWx0cyBmcm9tIGhpcyBhdCB0aGlzIHBvaW50IHVucHVibGlzaGVkIHBhcGVyIGFib3V0IENGVFIgRjUwOGRlbCBjb3JyZWN0aW9uIHVzaW5nIHByaW1lIGVkaXRpbmcsIHdoaWNoIHdhcyBlc3BlY2lhbGx5IGludGVyZXN0aW5nIGZvciB1cyBjb25zaWRlcmluZyB0aGUgZ29hbCBvZiBvdXIgcHJvamVjdC4gV2hlbiB0aGUgcGFwZXIgd2FzIHB1Ymxpc2hlZCBvbiB0aGUgMTB0aCBvZiBKdWx5IDIwMjQgPFRhYlNjcm9sbExpbmsgdGFiPVwibGl1XCIgc2Nyb2xsSWQ9XCJkZXNjLTRcIiBudW09XCI0XCIgLz4sIGl0IGFjdHVhbGx5IHN1cHBvcnRlZCBzb21lIG9mIG91ciBhbHJlYWR5IG1hZGUgcGVnUk5BIGRlc2lnbiBkZWNpc2lvbnMsIHN1Y2ggYXMgdGhlIGNob2ljZSBvZiB0aGUgdGFyZ2V0ZWQgcHJvdG9zcGFjZXIsIHRoZSBpbnRyb2R1Y3Rpb24gb2Ygc2lsZW50IGVkaXRzIGFuZCB0aGUgdXNlIG9mIHRoZSB0cmV2b3ByZVExIHN0ZW0gbG9vcC4gQWRkaXRpb25hbGx5LCBpdCBvZmZlcmVkIG5vdmVsIGluc2lnaHRzIGludG8gcHJpbWUgZWRpdGluZyBzeXN0ZW1zIHN1aXRlZCBmb3IgRjUwOGRlbCBjb3JyZWN0aW9uLCBzdWNoIGFzIFBFNiwgYW5kIG9wdGltaXplZCBwcmltZXIgYmluZGluZyBzaXRlIGFzIHdlbGwgYXMgcmV2ZXJzZSB0cmFuc2NyaXB0YXNlIHRlbXBsYXRlIGxlbmd0aHMuIDwvcD5cbiAgICBdLFxuICAgIGltcGxlbWVudGF0aW9uOiBcInhcIixcbiAgICBzdW1tYXJ5OiBcIiBEYXZpZCBMaXUsIHRoZSBwcmluY2lwYWwgaW52ZXN0aWdhdG9yIGJlaGluZCBwcmltZSBlZGl0aW5nIHN5c3RlbXMsIGhhcyBzaWduaWZpY2FudGx5IGNvbnRyaWJ1dGVkIHRvIHRoZSBkZXZlbG9wbWVudCBvZiBhZHZhbmNlZCBnZW5lIGVkaXRpbmcgdGVjaG5pcXVlcywgaW5jbHVkaW5nIGFwcGxpY2F0aW9ucyBmb3IgdGhlIENGVFIgbXV0YXRpb24gRjUwOGRlbC4gSGlzIHJlc2VhcmNoIHByb3ZpZGVkIHZhbHVhYmxlIGluc2lnaHRzIGZvciBvdXIgcHJvamVjdCwgbGVhZGluZyB1cyB0byBhZG9wdCBhIHN5c3RlbSBiYXNlZCBvbiB0aGUgUEU2YyBhbmQgUEU0IHByaW1lIGVkaXRvcnMuIEFsdGhvdWdoIHdlIGNvdWxkbid0IGRpcmVjdGx5IGVuZ2FnZSB3aXRoIExpdSBvciBoaXMgdGVhbSwgdGhlIGltcGFjdCBvZiBoaXMgd29yayBpcyBldmlkZW50IGluIG91ciBnZW5lIGVkaXRpbmcgYXBwcm9hY2ggZm9yIFByZUN5c2UuIE5vdGFibHksIExpdSdzIHJlY2VudCB0YWxrIGF0IHRoZSAnU3RhdGUgb2YgQ1JJU1BSIGFuZCBHZW5lIEVkaXRpbmcgMjAyNCcgY29uZmVyZW5jZSBoaWdobGlnaHRlZCBhZHZhbmNlbWVudHMgc3VjaCBhcyBpbXByb3ZlZCByZXZlcnNlIHRyYW5zY3JpcHRhc2VzIGFuZCB0aGVpciBhcHBsaWNhdGlvbnMgaW4gcHJpbWUgZWRpdGluZy4gVGhlIHB1YmxpY2F0aW9uIG9mIGhpcyBmaW5kaW5ncyBvbiBDRlRSIEY1MDhkZWwgY29ycmVjdGlvbiBpbiBKdWx5IDIwMjQgZnVydGhlciB2YWxpZGF0ZWQgb3VyIGRlc2lnbiBjaG9pY2VzIGZvciBwZWdSTkEgYW5kIG9mZmVyZWQgbmV3IHN0cmF0ZWdpZXMgZm9yIG9wdGltaXppbmcgb3VyIGFwcHJvYWNoLlwiLFxuICAgIG1vbnRoczogXCJKdW5lXCIsXG4gICAgcmVmZXJlbmNlczogPExpdUludGVydmlld1NvdXJjZXMvPixcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiTmljb2xlXCIsXG4gICAgbmFjaG5uYW1lOiBcIkZyaWVkbGVpblwiLFxuICAgIGpvYjogXCJSZXNlYXJjaCBncm91cCBvbiBmdW5kYW1lbnRhbCByaWdodHNcIixcbiAgICBhZmZpbGlhdGlvbjogXCJVbml2ZXJzaXR5IFBvdHNkYW1cIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWyduaWNvbGUnXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIkRpc2N1c3Npb24gb24gaG93IGhlYWx0aCBpbnN1cmFuY2UgY29tcGFuaWVzIG1hbmFnZSBjeXN0aWMgZmlicm9zaXMgcGF0aWVudHMgYW5kIGdlbmUgdGhlcmFweSB0cmVhdG1lbnRzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibmljb2xlXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZTogXCJQdWJsaWMgaGVhbHRoIGluc3VyYW5jZSBvcGVyYXRlcyB1bmRlciBhbiBlY29ub21pYyBlZmZpY2llbmN5IHByaW5jaXBsZSwgbWVhbmluZyB0aGUgbW9zdCBjb3N0LWVmZmVjdGl2ZSB0cmVhdG1lbnRzIGFyZSBwcmVmZXJyZWQuIEJ1dCBpZiBnZW5lIHRoZXJhcGllcyBiZWNvbWUgdGhlIG9ubHkgdHJlYXRtZW50IG9wdGlvbiBmb3IgY2VydGFpbiBjb25kaXRpb25zLCB0aGV5IHdpbGwgbGlrZWx5IGhhdmUgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGNvdmVyYWdlLCB3aGljaCBjb3VsZCBiZSBhIGNoYWxsZW5nZSBmb3IgdGhlIHN5c3RlbS5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiVGhlIG1haW4gb2JqZWN0aXZlIG9mIHRoZSBjb250YWN0IHdhcyB0byBsZWFybiBmcm9tIHRoZSBkaXNjdXNzaW9uIG9uIGlzc3VlcyByZWxhdGVkIHRvIGN5c3RpYyBmaWJyb3NpcyAoQ0YpLCBnZW5lIHRoZXJhcHksIGhlYWx0aCBpbnN1cmFuY2UgcHJvY2Vzc2VzIGFuZCByZWd1bGF0b3J5IHBhdGh3YXlzLiBJbiBwYXJ0aWN1bGFyLCB3ZSB3YW50ZWQgdG8gdW5kZXJzdGFuZCB0aGUgcmVhbC13b3JsZCBjaGFsbGVuZ2VzIGFuZCB0ZWNobmljYWwgYXNwZWN0cyBvZiBnZW5lIGVkaXRpbmcsIGVzcGVjaWFsbHkgcHJpbWUgZWRpdGluZywgYXMgd2VsbCBhcyB0aGUgY29tcGxleGl0aWVzIG9mIGFwcHJvdmFsIGFuZCByZWltYnVyc2VtZW50IG9mIGdlbmUgdGhlcmFwaWVzIGZvciBDRiBwYXRpZW50cy5cIixcbiAgICBpbnNpZ2h0czogXCJUaGUgcmVndWxhdG9yeSBhcHByb3ZhbCBwcm9jZXNzLCBwYXJ0aWN1bGFybHkgYnkgdGhlIEV1cm9wZWFuIE1lZGljaW5lcyBBZ2VuY3kgKEVNQSkgZm9yIGFkdmFuY2VkIG1lZGljYWwgZGV2aWNlcywgaGFzIGhpZ2hsaWdodGVkIHRoZSBidXJlYXVjcmF0aWMgaHVyZGxlcyB0aGF0IGdlbmUgdGhlcmFwaWVzIG11c3Qgb3ZlcmNvbWUuIFdlIGxlYXJuZWQgdGhhdCBzdWNoIHRoZXJhcGllcyBmb3IgY3lzdGljIGZpYnJvc2lzIGhhdmUgdG8gbmF2aWdhdGUgY29tcGxleCBFdXJvcGVhbiBhbmQgR2VybWFuIHJlZ3VsYXRvcnkgc3lzdGVtcy4gVGhlIGRpc2N1c3Npb24gb24gdGhlIEFNTk9HIHByb2Nlc3Mgd2FzIGNydWNpYWwuIFdlIGxlYXJudCB0aGF0IHRoZSBhZGRpdGlvbmFsIGJlbmVmaXQgb2YgYSB0aGVyYXB5IGlzIGFzc2Vzc2VkIGZvciByZWltYnVyc2VtZW50IGJ5IHRoZSBzdGF0dXRvcnkgaGVhbHRoIGluc3VyYW5jZSBmdW5kcy4gV2UgaW1wbGVtZW50ZWQgdGhpcyBpbnNpZ2h0IGluIG91ciBwcm9qZWN0IGJ5IGNvbnNpZGVyaW5nIHRoZSBsb25nLXRlcm0gcmVndWxhdG9yeSBhbmQgZWNvbm9taWMgZWZmZWN0cyBhcyBpbXBvcnRhbnQgbWlsZXN0b25lcyBmb3IgdGhlcmFweSBkZXZlbG9wbWVudC4gV2UgYWxzbyBnYWluZWQgaW5zaWdodCBpbnRvIGhvdyBwdWJsaWMgYW5kIHByaXZhdGUgaGVhbHRoIGluc3VyZXJzIG1heSBkaWZmZXIgaW4gdGhlaXIgcmVpbWJ1cnNlbWVudCBvZiBzdWNoIHRoZXJhcGllcy4gUHVibGljIGluc3VyZXJzIGhhdmUgc3RyaWN0ZXIgZ3VpZGVsaW5lcywgd2hpbGUgcHJpdmF0ZSBpbnN1cmVycyBjYW4gYmUgbW9yZSBmbGV4aWJsZSwgYnV0IGJvdGggcmVxdWlyZSBzdHJpY3QganVzdGlmaWNhdGlvbiwgZXNwZWNpYWxseSBmb3IgcmFyZSBkaXNlYXNlcyBzdWNoIGFzIGN5c3RpYyBmaWJyb3Npcy4gSW5mb3JtYXRpb24gb24gbmV3Ym9ybiBzY3JlZW5pbmcgYW5kIGdlbmV0aWMgY291bnNlbGxpbmcgY292ZXJlZCBieSBwdWJsaWMgaGVhbHRoIGluc3VyYW5jZSB3YXMgY3J1Y2lhbCB0byB1bmRlcnN0YW5kaW5nIGhvdyBwcmV2ZW50aXZlIG1lYXN1cmVzIGZvciBDRiBhcmUgbWFuYWdlZC4gVGhpcyB1bmRlcmxpbmVzIHRoZSBpbXBvcnRhbmNlIG9mIGVhcmx5IGludGVydmVudGlvbiBhbmQgZGlhZ25vc2lzIGluIG91ciBwcm9qZWN0LiBBdHlwaWNhbCBmb3JtcyBvZiBDRiwgd2hlcmUgaGVhbHRoIGluc3VyYW5jZSBjb21wYW5pZXMgZG8gbm90IGNvdmVyIHRyZWF0bWVudCBkdWUgdG8gbm9uLXN0YW5kYXJkaXNlZCB0ZXN0IHJlc3VsdHMsIHdlcmUgaWRlbnRpZmllZCBhcyBhIGtleSBwcm9ibGVtLiBUaGlzIGhlbHBlZCB1cyB0byByZWNvZ25pc2UgdGhlIG5lZWQgZm9yIG1vcmUgYWRhcHRhYmxlIGluc3VyYW5jZSBwb2xpY2llcyBhbmQgY2xlYXJlciBwYXRod2F5cyBmb3IgdGhlIHRyZWF0bWVudCBvZiBhdHlwaWNhbCBjYXNlcyBpbiBvdXIgcHJvamVjdCBwbGFucy4gVGhlIGRlYmF0ZSBhYm91dCB3aGV0aGVyIGhlYWx0aGNhcmUgc3lzdGVtcyBjYW4gYWZmb3JkIHRoZSBoaWdoIGNvc3RzIG9mIGdlbmUgdGhlcmFwaWVzIGhpZ2hsaWdodGVkIGFuIGltcG9ydGFudCBpc3N1ZSBpbiB0aGUgY3VycmVudCBtZWRpY2FsIGxhbmRzY2FwZS4gV2UgaGF2ZSBpbmNvcnBvcmF0ZWQgdGhpcyBpbnNpZ2h0IGludG8gb3VyIHByb2plY3QgYnkgZGlzY3Vzc2luZyBwb3NzaWJsZSBjb3N0LWVmZmVjdGl2ZSBhbHRlcm5hdGl2ZXMgYW5kIHRoZSBuZWVkIGZvciB0aG9yb3VnaCBjb3N0LWJlbmVmaXQgYW5hbHlzaXMgaW4gdGhlIGRldmVsb3BtZW50IG9mIHRyZWF0bWVudHMuXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5BZnRlciB0aGUgaW50ZXJ2aWV3LCB3ZSBmdXJ0aGVyIHRhaWxvcmVkIG91ciBwcm9qZWN0IHRvIGZvY3VzIG9uIGEgc2ltcGxlIGRlbGl2ZXJ5IG1ldGhvZCB0byByZWR1Y2UgdGhlIHRoZXJhcGV1dGljIGVmZm9ydC4gVG8gZ2FpbiBhbiBvdmVydmlldyBvZiB0aGUgcmVndWxhdG9yeSByZXF1aXJlbWVudHMgYW5kIHRvIGJldHRlciBkZWxpdmVyIHRoZSBwcm9qZWN0LCBvbmUgb2Ygb3VyIHRlYW0gbWVtYmVycyBhdHRlbmRlZCBhIDxIUExpbmt0b090aGVySFBUYWIgdGFiPVwiZ3hwY291cnNlXCIgdGV4dD1cIkd4UCBjb3Vyc2VcIi8+IHRvIGVuc3VyZSB3ZSBtZXQgYWxsIHRoZSBuZWNlc3Nhcnkgc3RhbmRhcmRzLiBUbyBkZWVwZW4gb3VyIGtub3dsZWRnZSBvZiBlbnRyZXByZW5ldXJzaGlwLCB3ZSBjb25kdWN0ZWQgZnVydGhlciBpbnRlcnZpZXdzIHdpdGggc3RhcnQtdXBzIGFuZCA8SFBnb1RvUGFnZUFuZFNjcm9sbCBpZD1cIkZ1cnRoZXIgRW5nYWdlbWVudDNIXCIgIHBhdGg9XCJcXGh1bWFuLXByYWN0aWNlc1wiIHRleHQ9XCJpbmR1c3RyaWFsIGNvbXBhbmllc1wiIC8+LCB3aGljaCBnYXZlIHVzIGltcG9ydGFudCBpbnNpZ2h0cyBpbnRvIHByYWN0aWNhbCBpbXBsZW1lbnRhdGlvbi4gVGhlc2Ugc3RlcHMgZW5zdXJlIHRoYXQgb3VyIHByb2plY3QgaXMgbm90IG9ubHkgYmFzZWQgb24gc2NpZW50aWZpYyByZXNlYXJjaCwgYnV0IGFsc28gdGFrZXMgaW50byBhY2NvdW50IHRoZSBwcmFjdGljYWwsIHJlZ3VsYXRvcnkgYW5kIHNvY2lhbCBhc3BlY3RzIHRoYXQgYXJlIGNydWNpYWwgdG8gYnJpbmdpbmcgbmV3IENGIHRoZXJhcGllcyB0byB0aGUgbWFya2V0LiBXZSBhcmUgY3VycmVudGx5IGRldmVsb3Bpbmcgc3RyYXRlZ2llcyB0byBzdWNjZXNzZnVsbHkgaW1wbGVtZW50IG91ciBpZGVhcyBhbmQgdGhlIHByb2plY3QgaW4gdGhlIGZ1dHVyZS48L3A+XSxcbiAgICBpbnRlcnZpZXc6IDw+XG4gICAgICA8UWFCb3ggcT1cIlRvIHN0YXJ0IHdpdGggdGhpcyBpbnRlcnZpZXcuIERvIHlvdSBoYXZlIGFueSBxdWVzdGlvbnMgYWJvdXQgdGhpcyBwcm9qZWN0P1wiXG4gICAgICAgIGE9XCJBcmUgeW91IHdyaXRpbmcgYSBwYXBlciBvbiB0aGlzLCBvciBhcmUgeW91IGNvbmR1Y3RpbmcgYWN0dWFsIGxhYm9yYXRvcnkgcmVzZWFyY2g/IE9yIGlzIGl0IHByaW1hcmlseSBsaXRlcmF0dXJlIHJldmlldz8gSG93IGRvZXMgeW91ciB3b3JrIGxvb2s/XCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSXRcdTIwMTlzIG5vdCBqdXN0IGxpdGVyYXR1cmUgcmV2aWV3LCB0aG91Z2ggd2UgZG8gc3RhcnQgd2l0aCB0aGF0LiBXZSBoYXZlIGEgbG90IG9mIGxhYiB3b3JrIGFoZWFkIG9mIHVzLiBJZGVhbGx5LCB3ZSB3b3VsZCBoYXZlIGEgZmluaXNoZWQgY29uc3RydWN0IHRvIHByZXNlbnQgYXQgdGhlIGVuZCwgbWF5YmUgZXZlbiBhIGZ1bmN0aW9uYWwgZ2VuZSB0aGVyYXB5LCB0aG91Z2ggdGhhdFx1MjAxOXMgcXVpdGUgYW1iaXRpb3VzIGFuZCBwcm9iYWJseSBub3QgcG9zc2libGUgaW4gdGhlIHNob3J0IHRpbWUgZnJhbWUuIFdlXHUyMDE5cmUgd29ya2luZyBvbiB2YXJpb3VzIGdlbmUtZWRpdGluZyBhcHByb2FjaGVzIGFuZCB0ZXN0aW5nIHBsYXNtaWRzIGluIEhFSyBjZWxscy4gV2UgYXJlIGFsc28gZXhwbG9yaW5nIFByaW1lIEVkaXRpbmcgYW5kIHRyeWluZyB0byBpbXByb3ZlIGl0cyBlZmZpY2llbmN5IHVzaW5nIGRpZmZlcmVudCByZXZlcnNlIHRyYW5zY3JpcHRhc2UgZW56eW1lcy4gU28sIGl0XHUyMDE5cyBhIG1peCBvZiBsYWIgd29yaywgbGl0ZXJhdHVyZSByZXNlYXJjaCwgYW5kIHByZXBhcmluZyBmb3IgYSBwcmVzZW50YXRpb24gYXQgYSBjb21wZXRpdGlvbi5cIlxuICAgICAgICBhPVwiQXJlIHlvdSB3cml0aW5nIGEgZm9ybWFsIHBhcGVyP1wiIC8+XG4gICAgICA8UWFCb3ggcT1cIldlXHUyMDE5cmUgbm90IHdyaXRpbmcgYSBmb3JtYWwgdGV4dC1iYXNlZCBwYXBlciwgYnV0IGV2ZXJ5dGhpbmcgd2lsbCBiZSBhdmFpbGFibGUgb24gYSB3ZWJzaXRlLiBXZSB3aWxsIGRvY3VtZW50IG1vc3Qgb2Ygb3VyIHdvcmsgb24gdGhlIHdlYnNpdGUsIHdpdGggc3ViLXBhZ2VzIGRldGFpbGluZyBsYWIgd29yaywgaW50ZXJ2aWV3cywgYW5kIHJlc2VhcmNoLlwiXG4gICAgICAgIGE9XCJXaGF0IGV4YWN0bHkgaXMgUHJpbWUgRWRpdGluZywgYW5kIGhvdyBkb2VzIGl0IGRpZmZlciBmcm9tIGFsdGVyaW5nIHRoZSBnZXJtbGluZT8gV2hlcmUgaW4gdGhlIGdlbm9tZSBkb2VzIHRoaXMgdGhlcmFweSBhY3Q/XCIgLz5cbiAgICAgIDxRYUJveCBxPVwiT3VyIGN1cnJlbnQgcGxhbiBpcyB0byBkZWxpdmVyIHRoZSB0aGVyYXB5IHZpYSBhIGxpcGlkIG5hbm9wYXJ0aWNsZSBzeXN0ZW0sIHdoaWNoIHdpbGwgYmUgaW5oYWxlZCBhbmQgZ28gaW50byB0aGUgbHVuZ3MuIFdoaWxlIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGFmZmVjdHMgYWxsIG11Y3VzIG1lbWJyYW5lcywgdGhlIGx1bmdzIGFyZSB0aGUgbW9zdCBjcml0aWNhbCBhcmVhLCBzbyB3ZVx1MjAxOXJlIGZvY3VzaW5nIG9uIHRoYXQuIFRoZSB0aGVyYXB5IHdpbGwgb25seSB0YXJnZXQgc3VyZmFjZSBjZWxscyBpbiB0aGUgbHVuZ3MsIG5vdCB0aGUgYmFzYWwgY2VsbHMgcmVzcG9uc2libGUgZm9yIHByb2R1Y2luZyBuZXcgbHVuZyBjZWxscy5cIlxuICAgICAgICBhPVwiVGhhbmsgeW91IGZvciBnaXZpbmcgbWUgaW5zaWdodHMgaW50byB5b3VyIHByb2plY3QuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRG8geW91IGtub3cgaG93IGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGFwcHJvdmFsIHdvcmtzIGluIHRlcm1zIG9mIGhlYWx0aCBpbnN1cmFuY2UgYW5kIHJlZ3VsYXRvcnkgcHJvY2Vzc2VzP1wiXG4gICAgICAgIGE9XCJUaGUgYXBwcm92YWwgcHJvY2VzcyBmb3IgZ2VuZSB0aGVyYXBpZXMgaXMgcHJpbWFyaWx5IGRvbmUgdGhyb3VnaCB0aGUgRU1BIChFdXJvcGVhbiBNZWRpY2luZXMgQWdlbmN5KSB1bmRlciBzcGVjaWZpYyBFVSByZWd1bGF0aW9ucyBmb3IgQWR2YW5jZWQgTWVkaWNhbCBQcm9kdWN0cywgaW5jbHVkaW5nIGdlbmUgdGhlcmFwaWVzLiBUaGVyZSBpcyBhbHNvIGEgbmF0aW9uYWwgYXBwcm92YWwgcHJvY2VzcyBpbiBHZXJtYW55IGZvciBpbmRpdmlkdWFsaXplZCB0cmVhdG1lbnRzLCBidXQgbGFyZ2Utc2NhbGUgdGhlcmFwaWVzIG11c3QgZ28gdGhyb3VnaCB0aGUgRVUgcHJvY2Vzcy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJDYW4geW91IHNoYXJlIG1vcmUgYWJvdXQgdGhlIGFwcHJvdmFsIGFuZCByZWltYnVyc2VtZW50IHByb2Nlc3NlcyBmb3IgQ0YgdHJlYXRtZW50P1wiXG4gICAgICAgIGE9XCJUaGUgYXBwcm92YWwgcHJvY2VzcyBpcyBzZXBhcmF0ZSBmcm9tIHJlaW1idXJzZW1lbnQgYnkgcHVibGljIGhlYWx0aCBpbnN1cmFuY2UuIENGIGlzIGNvbnNpZGVyZWQgYSByYXJlIGRpc2Vhc2UgaWYgaXQgYWZmZWN0cyBmZXdlciB0aGFuIGZpdmUgb3V0IG9mIDEwLDAwMCBwZW9wbGUsIGFuZCB0cmVhdG1lbnRzIGZvciByYXJlIGRpc2Vhc2VzIG9mdGVuIGZhY2Ugc3BlY2lhbCByZWltYnVyc2VtZW50IGNoYWxsZW5nZXMuIElmIG1vcmUgdGhhbiBmaXZlIG91dCBvZiAxMCwwMDAgcGVvcGxlIGFyZSBhZmZlY3RlZCwgdGhlIGRpc2Vhc2UgaXMgcmVsYXRpdmVseSBjb21tb24sIGFuZCBhcHByb3ZhbCBhbmQgcmVpbWJ1cnNlbWVudCBnbyB0aHJvdWdoIGEgZGlmZmVyZW50IHByb2NlZHVyZSBrbm93biBhcyB0aGUgQU1OT0cgcHJvY2Vzcy4gRm9yIG1vcmUgY29tbW9uIGRpc2Vhc2VzLCBhbiBhZGRpdGlvbmFsIGJlbmVmaXQgKFp1c2F0em51dHplbikgbXVzdCBiZSBkZW1vbnN0cmF0ZWQgZHVyaW5nIHRoZSBhcHByb3ZhbCBwcm9jZXNzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhhdmUgeW91IGhlYXJkIGFib3V0IGlzc3VlcyB3aXRoIHJlaW1idXJzZW1lbnQgZnJvbSBwcml2YXRlIGluc3VyYW5jZSBjb21wYW5pZXM/XCJcbiAgICAgICAgYT1cIldlXHUyMDE5dmUgaGVhcmQgdGhhdCBwcml2YXRlIGluc3VyYW5jZSBjb21wYW5pZXMgY2FuIG1ha2UgaXQgZGlmZmljdWx0IHRvIGdldCB0cmVhdG1lbnRzIHJlaW1idXJzZWQsIGVzcGVjaWFsbHkgZXhwZXJpbWVudGFsIG9uZXMuIE9uZSBvZiBvdXIgY29sbGVhZ3VlcyBhbG1vc3QgaGFkIHRvIGdvIHRvIGNvdXJ0IHRvIGdldCBoaXMgdHJlYXRtZW50IHJlaW1idXJzZWQgYnkgaGlzIHByaXZhdGUgaW5zdXJlciwgd2hpY2ggd2FzIHF1aXRlIGV4cGVuc2l2ZS4gRXZlbnR1YWxseSwgaGUgc3dpdGNoZWQgdG8gcHVibGljIGluc3VyYW5jZSwgYnV0IHRoZSBzaXR1YXRpb24gd2FzIGRpZmZpY3VsdC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaHkgZGlkIHlvdXIgY29sbGVhZ3VlIGhhdmUgaXNzdWVzIHdpdGggcHJpdmF0ZSBpbnN1cmFuY2U/XCJcbiAgICAgICAgYT1cIkhlIHdhcyBwcml2YXRlbHkgaW5zdXJlZCwgYnV0IHRoZSB0cmVhdG1lbnQgd2FzIHZlcnkgZXhwZW5zaXZlLCBhcm91bmQgXHUyMEFDMTYsMDAwIHBlciBtb250aCwgYW5kIHRoZSBpbnN1cmFuY2UgY29tcGFueSB3YXMgcmVsdWN0YW50IHRvIGNvdmVyIGl0LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRvIHlvdSBuZWVkIGxlZ2FsIGluZm9ybWF0aW9uIGZvciB5b3VyIHByb2plY3Q/XCJcbiAgICAgICAgYT1cIkJvdGguIFdlIHdhbnQgdG8gYmUgd2VsbC1pbmZvcm1lZCB0byBpZGVudGlmeSBwb3RlbnRpYWwgb2JzdGFjbGVzIGVhcmx5IG9uLCBzdWNoIGFzIGxlZ2FsIHJlc3RyaWN0aW9ucyBvciBiYW5zIG9uIGFsdGVyaW5nIGNlcnRhaW4gY2hyb21vc29tZXMuIEFsdGhvdWdoIHdlIHdvblx1MjAxOXQgYmUgcnVubmluZyBjbGluaWNhbCB0cmlhbHMsIHVuZGVyc3RhbmRpbmcgdGhlIHJlZ3VsYXRvcnkgbGFuZHNjYXBlIGlzIGNydWNpYWwgZm9yIG91ciBmdXR1cmUgcGxhbm5pbmcuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSG93IGRvZXMgZ2VuZXRpYyBjb3Vuc2VsaW5nIGFuZCB0ZXN0aW5nIHdvcmsgZm9yIENGP1wiXG4gICAgICAgIGE9XCJHZW5ldGljIGNvdW5zZWxpbmcgYW5kIHRlc3RpbmcgYXJlIHVzdWFsbHkgY292ZXJlZCBieSBoZWFsdGggaW5zdXJhbmNlIGlmIHRoZXJlXHUyMDE5cyBhIG1lZGljYWwgcmVhc29uLCBzdWNoIGFzIGEgZmFtaWx5IGhpc3Rvcnkgb3Igc3VzcGljaW9uIHRoYXQgdGhlIHBhcmVudHMgbWlnaHQgYmUgY2FycmllcnMuIEhvd2V2ZXIsIGlmIGJvdGggcGFyZW50cyBhcmUgaGVhbHRoeSBhbmQgdGhlcmVcdTIwMTlzIG5vIGZhbWlseSBoaXN0b3J5IG9mIENGLCBpbnN1cmFuY2UgbWlnaHQgbm90IGNvdmVyIHRoZSB0ZXN0cy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJBcmUgdGhlcmUgZGlmZmVyZW5jZXMgYmV0d2VlbiBwdWJsaWMgYW5kIHByaXZhdGUgaW5zdXJlcnMgZm9yIGdlbmV0aWMgdGVzdHM/XCJcbiAgICAgICAgYT1cIlB1YmxpYyBpbnN1cmFuY2UgaGFzIGRpZmZlcmVudCByZWd1bGF0aW9ucyB0aGFuIHByaXZhdGUgaW5zdXJhbmNlLCBidXQgSVx1MjAxOW0gbm90IGVudGlyZWx5IHN1cmUgaWYgdGhhdCBsZWFkcyB0byBkaWZmZXJlbnQgZGVjaXNpb25zIHJlZ2FyZGluZyBnZW5ldGljIHRlc3RpbmcuIEkgY2FuIGxvb2sgaW50byB0aGUgcHVibGljIGluc3VyYW5jZSByZWd1bGF0aW9ucyBpZiB0aGF0IHdvdWxkIGJlIGhlbHBmdWwuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSXMgbmV3Ym9ybiBzY3JlZW5pbmcgZm9yIENGIGNvdmVyZWQgYnkgaGVhbHRoIGluc3VyYW5jZT9cIlxuICAgICAgICBhPVwiWWVzLCBuZXdib3JuIHNjcmVlbmluZyBpcyBwYXJ0IG9mIGEgc2V0IG9mIGhlYWx0aCBleGFtaW5hdGlvbnMgZm9yIGNoaWxkcmVuIGFuZCBhZG9sZXNjZW50cywgcmVndWxhdGVkIHVuZGVyIFx1MDBBNzI2IFNHQiBWIChTb2NpYWwgU2VjdXJpdHkgQ29kZSkuIFNpbmNlIGl0XHUyMDE5cyBwYXJ0IG9mIHRoZSByZWd1bGFyIHNjcmVlbmluZyBwcm9jZXNzLCBpdFx1MjAxOXMgY292ZXJlZCBieSBoZWFsdGggaW5zdXJhbmNlIHdpdGhvdXQgYWRkaXRpb25hbCByZXF1aXJlbWVudHMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSG93IGRvZXMgcHVibGljIGluc3VyYW5jZSBoYW5kbGUgQ0YgdHJlYXRtZW50IHdoZW4gYSB0ZXN0IGNvbWVzIGJhY2sgbmVnYXRpdmU/XCJcbiAgICAgICAgYT1cIlB1YmxpYyBoZWFsdGggaW5zdXJhbmNlIHdvcmtzIHdpdGggc3RhbmRhcmRpemVkIGd1aWRlbGluZXMsIGFuZCBpZiBhIHRlc3QgY29tZXMgYmFjayBuZWdhdGl2ZSwgaXQgbWF5IG5vIGxvbmdlciBtZWV0IHRoZSBjcml0ZXJpYSBmb3IgY292ZXJhZ2UuIEhvd2V2ZXIsIGlmIGEgZG9jdG9yIHJlY29uZmlybXMgdGhlIGRpYWdub3NpcywgdGhlIHRyZWF0bWVudCBzaG91bGQgY29udGludWUgdG8gYmUgY292ZXJlZC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJJcyB0aGVyZSBubyBydWxlIHRoYXQgc2F5cyBnZW5ldGljIGRpc2Vhc2VzLCBvbmNlIGRpYWdub3NlZCwgc2hvdWxkIHJlbWFpbiBjb3ZlcmVkIHNpbmNlIGdlbmV0aWNzIGRvblx1MjAxOXQgY2hhbmdlP1wiXG4gICAgICAgIGE9XCJJbiB0aGVvcnksIHllcy4gQnV0IHRoZSBndWlkZWxpbmVzIGFyZSB1c3VhbGx5IGJhc2VkIG9uIG1lZGljYWwgZXZpZGVuY2UgYXQgdGhlIHRpbWUsIGFuZCByZS10ZXN0aW5nIGNhbiBzb21ldGltZXMgbGVhZCB0byBjb21wbGljYXRpb25zIGluIHRlcm1zIG9mIGNvdmVyYWdlIGlmIHRoZSByZXN1bHQgZGlmZmVycy4gSG93ZXZlciwgd2l0aCBwcm9wZXIgbWVkaWNhbCBkb2N1bWVudGF0aW9uLCBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8gbWFpbnRhaW4gY292ZXJhZ2UuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSGF2ZSByZWNlbnQgY2hhbmdlcyBpbiBnZW5lIHRoZXJhcHkgY29zdHMgaW1wYWN0ZWQgcHVibGljIGhlYWx0aCBpbnN1cmFuY2U/XCJcbiAgICAgICAgYT1cIk5vdCBtdWNoIGhhcyBjaGFuZ2VkLiBJdFx1MjAxOXMgYSBwb2xpdGljYWwgYW5kIHNvY2lldGFsIHF1ZXN0aW9uXHUyMDE0aG93IHdpbGxpbmcgYXJlIHdlIHRvIGZpbmFuY2UgdGhlc2UgZXhwZW5zaXZlIHRoZXJhcGllcz8gUmlnaHQgbm93LCBwdWJsaWMgaGVhbHRoIGluc3VyYW5jZSBvcGVyYXRlcyB1bmRlciBhbiBlY29ub21pYyBlZmZpY2llbmN5IHByaW5jaXBsZSwgbWVhbmluZyB0aGUgbW9zdCBjb3N0LWVmZmVjdGl2ZSB0cmVhdG1lbnRzIGFyZSBwcmVmZXJyZWQuIEJ1dCBpZiBnZW5lIHRoZXJhcGllcyBiZWNvbWUgdGhlIG9ubHkgdHJlYXRtZW50IG9wdGlvbiBmb3IgY2VydGFpbiBjb25kaXRpb25zLCB0aGV5IHdpbGwgbGlrZWx5IGhhdmUgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGNvdmVyYWdlLCBhbmQgaXQgY291bGQgYmUgYSBjaGFsbGVuZ2UgZm9yIHRoZSBzeXN0ZW0uIFRoZXJlIGFyZSBhbHNvIG9uZ29pbmcgcHJpY2UgbmVnb3RpYXRpb25zIGJldHdlZW4gaW5zdXJlcnMgYW5kIG1hbnVmYWN0dXJlcnMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiRG8gcGF0ZW50cyBwbGF5IGEgc2lnbmlmaWNhbnQgcm9sZSBpbiBrZWVwaW5nIGdlbmUgdGhlcmFweSBjb3N0cyBoaWdoP1wiXG4gICAgICAgIGE9XCJZZXMsIHBhdGVudHMgY2VydGFpbmx5IGluZmx1ZW5jZSB0aGUgcHJpY2UsIGJ1dCB0aGUgcHJvZHVjdGlvbiBvZiBnZW5lIHRoZXJhcGllcyBpcyBpbmhlcmVudGx5IGV4cGVuc2l2ZSBkdWUgdG8gdGhlIGNvbXBsZXggcmVzZWFyY2ggYW5kIG1hbnVmYWN0dXJpbmcgcHJvY2Vzcy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXb3VsZCBwcml2YXRlIHN1cHBsZW1lbnRhbCBpbnN1cmFuY2UgYmUgYW4gb3B0aW9uIGZvciBjb3ZlcmluZyBleHBlbnNpdmUgZ2VuZSB0aGVyYXBpZXM/XCJcbiAgICAgICAgYT1cIkl0XHUyMDE5cyBwb3NzaWJsZSB0aGF0IHByaXZhdGUgc3VwcGxlbWVudGFsIGluc3VyYW5jZSBjb3VsZCBjb3ZlciB0aGVzZSB0aGVyYXBpZXMgaWYgcHVibGljIGhlYWx0aCBpbnN1cmFuY2UgZG9lc25cdTIwMTl0LiBIb3dldmVyLCB0aGlzIHJhaXNlcyBjb25jZXJucyBhYm91dCBlcXVpdHkgYW5kIGFjY2Vzc2liaWxpdHkuIElmIHB1YmxpYyBpbnN1cmFuY2UgZG9lc25cdTIwMTl0IGNvdmVyIGl0LCB0aGUgYnVyZGVuIG1pZ2h0IGZhbGwgb24gcHJpdmF0ZSBpbnN1cmFuY2UsIHdoaWNoIGNvdWxkIGNyZWF0ZSBkaXNwYXJpdGllcyBpbiBhY2Nlc3MgdG8gdHJlYXRtZW50LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIklzIGdlbmUgdGhlcmFweSByZXNlYXJjaCBkcml2ZW4gbW9yZSBieSBiaW9sb2d5IG9yIG1lZGljaW5lP1wiXG4gICAgICAgIGE9XCJJdFx1MjAxOXMgZGVmaW5pdGVseSBpbnRlcmRpc2NpcGxpbmFyeS4gQm90aCBiaW9sb2dpc3RzIGFuZCBtZWRpY2FsIHByb2Zlc3Npb25hbHMgY29udHJpYnV0ZS4gRm9yIGV4YW1wbGUsIGF0IG91ciB1bml2ZXJzaXR5LCB0aGUgbWVkaWNhbCBhbmQgYmlvbG9neSBmYWN1bHRpZXMgY29sbGFib3JhdGUgY2xvc2VseS4gQmlvbG9naXN0cyB1c3VhbGx5IGhhbmRsZSB0aGUgcmVzZWFyY2gsIHdoaWxlIG1lZGljYWwgcHJvZmVzc2lvbmFscyBmb2N1cyBtb3JlIG9uIGNsaW5pY2FsIGFwcGxpY2F0aW9ucy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJEbyBiaW9sb2dpc3RzIG9yIG1lZGljYWwgcHJvZmVzc2lvbmFscyBkZXZlbG9wIGdlbmUgdGhlcmFwaWVzP1wiXG4gICAgICAgIGE9XCJJbiB0ZXJtcyBvZiBkZXZlbG9wbWVudCwgaXRcdTIwMTlzIG1haW5seSBiaW9sb2dpc3RzIGFuZCBiaW90ZWNobm9sb2dpc3RzLiBNZWRpY2FsIHByb2Zlc3Npb25hbHMgZ2V0IGludm9sdmVkIHByaW1hcmlseSBpbiBjbGluaWNhbCB0cmlhbHMuIFNvbWUgZG9jdG9ycyBkbyByZXNlYXJjaCwgYnV0IHRoZXlcdTIwMTlyZSBvZnRlbiBuZWVkZWQgaW4gaG9zcGl0YWxzLCBzbyBoYW5kcy1vbiBkZXZlbG9wbWVudCBpcyBtb3N0bHkgaGFuZGxlZCBieSBtb2xlY3VsYXIgYmlvbG9naXN0cyBvciBiaW90ZWNobm9sb2dpc3RzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkRvZXMgcmVzZWFyY2ggaW4gZ2Vub21lIG1lZGljaW5lIGFuZCBnZW5lIHRoZXJhcGllcyBjb21lIGZyb20gYmlvbG9neSwgbWVkaWNpbmUsIG9yIGJvdGg/XCJcbiAgICAgICAgYT1cIkl0XHUyMDE5cyBtYWlubHkgaW50ZXJkaXNjaXBsaW5hcnkuIEEgbG90IG9mIGZ1bmRpbmcgY29tZXMgZnJvbSBpbmR1c3RyeSwgbGlrZSBCaW9OVGVjaCwgb3IgZm91bmRhdGlvbnMgbGlrZSBNdWtvdmlzemlkb3NlIGUuVi4sIHdoaWNoIGZ1bmRzIHJlc2VhcmNoIG9uIGN5c3RpYyBmaWJyb3Npcy4gQnV0IGluIHRlcm1zIG9mIHByYWN0aWNhbCByZXNlYXJjaCwgaXRcdTIwMTlzIHVzdWFsbHkgYmlvbG9naXN0cyBvciBiaW90ZWNobm9sb2dpc3RzLiBXaXRob3V0IGluZHVzdHJ5IHN1cHBvcnQsIHJlc2VhcmNoIGNhbiBzdHJ1Z2dsZSBkdWUgdG8gYSBsYWNrIG9mIGZ1bmRpbmcsIHNvIGhhdmluZyBiYWNraW5nIGlzIGVzc2VudGlhbC5cIiAvPlxuICAgIDwvPixcbiAgICBzdW1tYXJ5OiBcIk91ciBkaXNjdXNzaW9uIGFkZHJlc3NlZCB0aGUgY29tcGxleGl0aWVzIG9mIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHRyZWF0bWVudHMsIGZvY3VzaW5nIG9uIGdlbmUgdGhlcmFweSBhbmQgaGVhbHRoIGluc3VyYW5jZSBwcm9jZXNzZXMuIFdlIGxlYXJuZWQgYWJvdXQgdGhlIHJlZ3VsYXRvcnkgY2hhbGxlbmdlcyBnZW5lIHRoZXJhcGllcyBmYWNlLCBwYXJ0aWN1bGFybHkgcmVnYXJkaW5nIHRoZSBFdXJvcGVhbiBNZWRpY2luZXMgQWdlbmN5IChFTUEpIGFuZCB0aGUgQU1OT0cgcHJvY2VzcyBmb3IgcmVpbWJ1cnNlbWVudCBhc3Nlc3NtZW50cy4gUHVibGljIGluc3VyZXJzIGltcG9zZSBzdHJpY3RlciBndWlkZWxpbmVzIHRoYW4gcHJpdmF0ZSBpbnN1cmVycywgZW1waGFzaXppbmcgdGhlIGltcG9ydGFuY2Ugb2YgZWFybHkgaW50ZXJ2ZW50aW9uIGluIENGIGFuZCB0aGUgbmVlZCBmb3IgYWRhcHRhYmxlIHBvbGljaWVzIGZvciBhdHlwaWNhbCBjYXNlcy4gV2UgcmVjb2duaXplZCB0aGUgaGlnaCBjb3N0cyBhc3NvY2lhdGVkIHdpdGggZ2VuZSB0aGVyYXBpZXMgYW5kIGluY29ycG9yYXRlZCBjb3N0LWJlbmVmaXQgYW5hbHlzaXMgaW50byBvdXIgcHJvamVjdCBwbGFubmluZy4gRm9sbG93aW5nIHRoZSBpbnRlcnZpZXcsIHdlIHJlZmluZWQgb3VyIGFwcHJvYWNoIHRvIGluY2x1ZGUgc3RyYWlnaHRmb3J3YXJkIGRlbGl2ZXJ5IG1ldGhvZHMgYW5kIGF0dGVuZGVkIGEgR3hQIGNvdXJzZSBmb3IgcmVndWxhdG9yeSBjb21wbGlhbmNlLiBFbmdhZ2luZyB3aXRoIHN0YXJ0LXVwcyBmdXJ0aGVyIGluZm9ybWVkIG91ciBwcmFjdGljYWwgaW1wbGVtZW50YXRpb24gc3RyYXRlZ2llcywgZW5zdXJpbmcgb3VyIHByb2plY3QgYWxpZ25zIHdpdGggYm90aCBzY2llbnRpZmljIGFuZCByZWd1bGF0b3J5IG5lZWRzLlwiLFxuICAgIG1vbnRoczogXCJqdW5lXCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL3pvb20tbmljb2xlLndlYnBcIixcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiVmlzaXRpbmcgQWNoZW1hIFwiLFxuICAgIG5hY2hubmFtZTogXCJpbiBGcmFua2Z1cnRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydmcmFua2Z1cnRtZXNzZSddLFxuICAgIGpvYjogXCJUZWFtIGlHRU1cIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaWVsZmVsZCBDZUJpVGVjIDIwMjRcIixcbiAgICB0YWc6IFwiSW5kdXN0cnlcIixcbiAgICBoZWFkaW5nOiBcIlNvbWUgb2Ygb3VyIHRlYW0gbWVtYmVycyBhdHRlbmRlZCB0aGUgZmFpciBpbiBGcmFua2Z1cnQgdG8gbmV0d29yayB3aXRoIGluZHVzdHJ5IGxlYWRlcnNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJmcmFua2Z1cnRtZXNzZVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIkFjaGVtYSB3YXMgYSBncmVhdCBleHBlcmllbmNlLiBJIGdvdCB0byBtZWV0IGEgbG90IG9mIGludGVyZXN0aW5nIHBlb3BsZSBhbmQgbGVhcm4gYWJvdXQgdGhlaXIgcHJvamVjdHMuIEl0IHJlYWxseSBtb3RpdmF0ZWQgbWUgZm9yIG15IG93biB3b3JrLlwiLFxuICAgIHF1b3RlTmFjaG5hbWU6XCJXaWVzbmVyLCBUZWFtbWVtYmVyXCIsXG4gICAgcXVvdGVWb3JuYW1lOiBcIkxpc2FcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5BdCBBY2hlbWEgMjAyNCwgd2UgYWltZWQgdG8gY29ubmVjdCB3aXRoIGluZHVzdHJ5IGxlYWRlcnMgYW5kIGlubm92YXRvcnMsIHRvIGV4cGxvcmUgcG90ZW50aWFsIGNvbGxhYm9yYXRpb25zIGFuZCBnYXRoZXIgaW5zaWdodHMgb24gbGFib3JhdG9yeSBwcmFjdGljZXMuIE91ciBnb2FsIHdhcyB0byBlbmhhbmNlIG91ciB1bmRlcnN0YW5kaW5nIG9mIGN1dHRpbmctZWRnZSB0ZWNobm9sb2dpZXMgYW5kIHJlc291cmNlcyBpbiB0aGUgbGlmZSBzY2llbmNlcyBzZWN0b3IuPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD5EdXJpbmcgb3VyIHRpbWUgYXQgQWNoZW1hLCB3ZSBnYWluZWQgdmFsdWFibGUgaW5zaWdodHMgaW50byBsaWZlIHNjaWVuY2VzLCB3aXRoIGEgc3Ryb25nIGZvY3VzIG9uIExOUCBwcm9kdWN0aW9uIGFuZCBsYWIgYmVzdCBwcmFjdGljZXMuIE91ciBkaXNjdXNzaW9ucyB3aXRoIGV4cGVydHMsIGluY2x1ZGluZyBKdXR0YSBmcm9tIGEgbGlmZSBzY2llbmNlIGNvbXBhbnksIHByb3ZpZGVkIHVzIHdpdGggaW5ub3ZhdGl2ZSBzb2x1dGlvbnMgYW5kIGN1dHRpbmctZWRnZSB0ZWNobmlxdWVzLiBIZXIgaW5zaWdodHMgaW50byBjdXJyZW50IHRyZW5kcyBoZWxwZWQgdXMgYmV0dGVyIHVuZGVyc3RhbmQgaG93IHRvIGFkdmFuY2Ugb3VyIHByb2plY3QuPC9wPixcbiAgICAgIDxwPlRocm91Z2ggdmFyaW91cyBleHBlcnQgaW50ZXJhY3Rpb25zLCB3ZSBkZWVwZW5lZCBvdXIga25vd2xlZGdlIG9mIExOUCBwcm9kdWN0aW9uLCBsZWFybmluZyBrZXkgbWFudWZhY3R1cmluZyB0ZWNobmlxdWVzIGVzc2VudGlhbCBmb3IgZGV2ZWxvcGluZyBlZmZlY3RpdmUgdGhlcmFwZXV0aWNzLiBUaGVzZSBpbnNpZ2h0cyBhbGxvd2VkIHVzIHRvIG9wdGltaXplIG91ciBwcm9kdWN0aW9uIG1ldGhvZHMsIGVuc3VyaW5nIG1vcmUgZWZmaWNpZW50IHByb2Nlc3NlcyBtb3ZpbmcgZm9yd2FyZC48L3A+LFxuICAgICAgPHA+VW5kZXJzdGFuZGluZyByaWdvcm91cyBxdWFsaXR5IGNvbnRyb2wgcHJvY2Vzc2VzIHdhcyBhbm90aGVyIGtleSB0YWtlYXdheSwgZW5hYmxpbmcgdXMgdG8gaW1wbGVtZW50IGNoZWNrcyB0aGF0IHdpbGwgYm9vc3QgdGhlIHJlbGlhYmlsaXR5IGFuZCBzYWZldHkgb2Ygb3VyIHRoZXJhcGV1dGljcy4gVGhlc2UgY29tcHJlaGVuc2l2ZSBpbnNpZ2h0cyBoYXZlIG5vdCBvbmx5IHN1cHBvcnRlZCBvdXIgY3VycmVudCBnb2FscyBidXQgYWxzbyBwcmVwYXJlZCB1cyBmb3IgZnV0dXJlIGNoYWxsZW5nZXMsIGVxdWlwcGluZyB1cyB3aXRoIHRoZSB0b29scyB0byBuYXZpZ2F0ZSB0aGUgY29tcGxleGl0aWVzIG9mIHJlc2VhcmNoIGFuZCB0aGVyYXBldXRpYyBkZXZlbG9wbWVudC48L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPkRpc2N1c3Npb25zIHdpdGggaW5kdXN0cnkgZXhwZXJ0cyBoYXZlIHByb3ZpZGVkIGludmFsdWFibGUgaW5zaWdodHMgaW50byB0aGUgcHJvZHVjdGlvbiBvZiBMTlBzW0xJTksgTE5QY3ljbGVdLCBhIGNydWNpYWwgYXNwZWN0IG9mIG91ciBwcm9qZWN0LiBXZSBoYXZlIGlkZW50aWZpZWQgaW5ub3ZhdGl2ZSBtYW51ZmFjdHVyaW5nIHRlY2huaXF1ZXMgYW5kIHF1YWxpdHkgY29udHJvbCBwcm9jZWR1cmVzIHRoYXQgd2UgY2FuIGludGVncmF0ZSBpbnRvIG91ciBwcm9jZXNzZXMuIFRoaXMga25vd2xlZGdlIG5vdCBvbmx5IHN1cHBvcnRzIG91ciBpbW1lZGlhdGUgb2JqZWN0aXZlcyBidXQgYWxzbyBwb3NpdGlvbnMgdXMgdG8gb3ZlcmNvbWUgZnV0dXJlIGNoYWxsZW5nZXMgaW4gZGV2ZWxvcGluZyBlZmZlY3RpdmUgdGhlcmFwaWVzLjwvcD5dLFxuICAgIHN1bW1hcnk6IFs8cD5EdXJpbmcgZGlzY3Vzc2lvbnMgd2l0aCBpbmR1c3RyeSBleHBlcnRzIGF0IEFjaGVtYSAyMDI0LCB3ZSBnYWluZWQgdmFsdWFibGUgaW5zaWdodHMgdGhhdCB3aWxsIGhhdmUgYSBzaWduaWZpY2FudCBpbXBhY3Qgb24gb3VyIHByb2plY3QgYW5kIHByb3ZpZGUgdXMgd2l0aCBpbm5vdmF0aXZlIG1hbnVmYWN0dXJpbmcgdGVjaG5pcXVlcyBhbmQgcXVhbGl0eSBjb250cm9sIHByb2NlZHVyZXMgdGhhdCB3ZSBhcmUgbm93IGludGVncmF0aW5nIGludG8gb3VyIHdvcmtmbG93cy4gVGhlc2UgaW5zaWdodHMgd2lsbCBoZWxwIHVzIHRvIG9wdGltaXNlIG91ciBwcm9kdWN0aW9uIHByb2Nlc3NlcyB0byBhY2hpZXZlIG1vcmUgZWZmaWNpZW50IGFuZCByZWxpYWJsZSByZXN1bHRzIGluIHRoZXJhcGV1dGljIGRldmVsb3BtZW50LiBUaGUgbmV3IGtub3dsZWRnZSBzdXBwb3J0cyBvdXIgY3VycmVudCBnb2FscyBhbmQgcHJlcGFyZXMgdXMgZm9yIGZ1dHVyZSBjaGFsbGVuZ2VzIGluIHRoZSBkZXZlbG9wbWVudCBvZiBlZmZlY3RpdmUgdGhlcmFwaWVzPC9wPl0sIFxuICAgIG1vbnRoczogXCJqdW5lXCIsXG4gICAgcGljdHVyZXVybF9haW06XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvYWNoZW1hMS53ZWJwXCIsXG4gICAgcGljdHVyZXVybF9pbXBsZW1lbnRhdGlvbjogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvYWNoZW1hMi53ZWJwXCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2FjaGVtYTMud2VicFwiLFxuICAgIG1vcmVfcGljdHVyZXM6IFtcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9hY2hlbWE0LndlYnAsXCJdLFxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJLYXRyaW5cIixcbiAgICBuYWNobm5hbWU6IFwiV2VzdGhvZmZcIixcbiAgICBqb2I6IFwicGh5c2lvdGhlcmFwaXN0XCIsXG4gICAgYWZmaWxpYXRpb246IFwiSW5kZXBlbmRlbnRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWyd3ZXN0aG9mZiddLFxuICAgIHRhZzogXCJNZWRpY2FsIFByb2Zlc3Npb25hbFwiLFxuICAgIGhlYWRpbmc6IFwiSW4tRGVwdGggVmlzaXQgdG8gU3BlY2lhbGl6ZWQgUGh5c2lvdGhlcmFwaXN0IGZvciBDRiBCcmVhdGhpbmcgVGhlcmFweVwiLFxuICAgIGludGVydmlld3RhYmlkOiBcIndlc3Rob2ZmdmlzaXRcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcIkNoaWxkcmVuIGFyZSB0aGUgd29ybGQncyBiZXN0IFx1MjAxQ211Y3VzIGhpZGVyc1x1MjAxRC5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8YT5EdXJpbmcgdGhlIGxhc3QgaW50ZXJ2aWV3IHdpdGggPEhQTGlua3RvT3RoZXJIUFRhYiB0YWI9XCJ3ZXN0aG9mZmludlwiIHRleHQ9XCJLYXRyaW4gV2VzdGhvZmZcIiAvPiwgc2hlIGludml0ZWQgdXMgdG8gam9pbiBhIGZldyBwaHlzaW90aGVyYXB5IHNlc3Npb25zIFx1MjAxMyBub3QganVzdCBhcyBzcGVjdGF0b3JzIGJ1dCBhcyBwYXJ0aWNpcGFudHMuIFdlIGdsYWRseSBhY2NlcHRlZCBhbmQgdmlzaXRlZCBoZXIgaW4gaGVyIHByYWN0aWNlLiBPdmVyIGEgZmV3IGhvdXJzLCB3ZSB0b29rIHBhcnQgaW4gZm91ciBzZXNzaW9ucyB3aXRoIGRpZmZlcmVudCBjaGlsZHJlbiBcdTIwMTMgbm90IGFsbCBvZiB0aGVtIENGIHBhdGllbnRzLiAgPC9hPl0sXG4gICAgaW5zaWdodHM6IFwiRHVyaW5nIHRoZSBzZXNzaW9ucywgd2UgY291bGQgYXNrIEthdHJpbiBhcyB3ZWxsIGFzIHRoZSByZXNwZWN0aXZlIHBhcmVudHMgYW5kIGNoaWxkcmVuIHF1ZXN0aW9ucy4gV2UgbGVhcm5lZCB0aGF0IGJyZWF0aGluZyB0aGVyYXB5IGlzIGFsc28gdXNlZnVsIGZvciBvdGhlciBpbGxuZXNzZXMgYW5kIHRoYXQgeW91IGNhbiBlYXNpbHkgZG8gc29tZSBvZiB0aGUgZXhlcmNpc2VzIHlvdXJzZWxmLiBEZXNwaXRlIGhhdmluZyBjeXN0aWMgZmlicm9zaXMsIHRoZSBjaGlsZHJlbiB3ZXJlIGJldHRlciBhdCB0aGUgYnJlYXRoaW5nIGV4ZXJjaXNlcyB0aGFuIHdlIGFuZCBLYXRyaW4gd2VyZSEgVGhlIHNlc3Npb25zIHRha2UgMzAgdG8gNjAgbWludXRlcyBhbmQgaW5jbHVkZSBib3RoIG1hbnVhbCB0aGVyYXB5IGFuZCBwbGF5ZnVsIGVsZW1lbnRzIHRvIGhlbHAgZW5nYWdlIHRoZSBjaGlsZHJlbi4gTW9zdCBvbGRlciBjaGlsZHJlbiByYW5nZSBmcm9tIG1pbGRseSB1bmhhcHB5IHRvIGVudGh1c2lhc3RpYywgYnV0IGJhYmllcyBvZnRlbiBjcnkgZHVyaW5nIHRoZSB0cmVhdG1lbnRzIGFzIGl0IGZlZWxzIHVuY29tZm9ydGFibGUuIFRoaXMgaXMgb2Z0ZW4gaGFyZCBvbiB0aGUgcGFyZW50cyBldmVuIHRob3VnaCB0aGUgdHJlYXRtZW50IGJyaW5ncyBnb29kIHJlc3VsdHMuIEEgbG90IG9mIGNoaWxkcmVuIHRlbmQgdG8gaGlkZSB0aGF0IHRoZXkgaGF2ZSBtdWN1cyBzaXR0aW5nIGluIHRoZWlyIGx1bmdzIGJ5IHN1cHByZXNzaW5nIGNvdWdocy4gRXNwZWNpYWxseSB3aXRoIHlvdW5nIGNoaWxkcmVuLCBpdCBpcyBpbXBvcnRhbnQgdG8gc3RheSBvbiB0b3Agb2YgaXQgYW5kIGRvIHJlZ3VsYXIgYnJlYXRoaW5nIHRoZXJhcHkgZXZlbiBpZiBpdCBzZWVtcyBsaWtlIGl0IGlzIGN1cnJlbnRseSBub3QgbmVjZXNzYXJ5LiBXZSBhbHNvIGxlYXJuZWQgYWJvdXQgdGhlIHZhcmlvdXMgaW5mb3JtYXRpb25hbCBtYXRlcmlhbCBhaW1lZCBhdCBjaGlsZHJlbiB0byBoZWxwIGV4cGxhaW4gdGhlcmFwaWVzIGFuZCBzeW1wdG9tcyB0byB0aGVtIGFuZCB3aGF0IGFjY2Vzc29yaWVzIGZvciBicmVhdGhpbmcgdGhlcmFweSB0aGVyZSBhcmUuIEZvciBleGFtcGxlLCBhIGZsdXR0ZXIgaXMgdG8gdHJhaW4gYnJlYXRoaW5nIG91dCBmb3JjZWZ1bGx5IGJ5IGJyZWF0aGluZyBhZ2FpbnN0IGEgc21hbGwgd2VpZ2h0IGFuZCBhIGJpbmRlciBjYW4gYmUgd29ybiBhdCBuaWdodCB0byBwcm9tb3RlIGRlZXAgYnJlYXRoaW5nLiBcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJUaGUgbW9zdCBpbXBvcnRhbnQgdGhpbmcgd2FzIHRoYXQgYm90aCBLYXRyaW4gYW5kIHRoZSBwYXJlbnRzIGFncmVlZCB0aGF0IHRoZSBjaGlsZHJlbiB3ZXJlIGFibGUgdG8gaW5oYWxlIGF0IGFuIGVhcmx5IGFnZSBhbmQgdGhhdCB0aGVyZSB3ZXJlIGdlbmVyYWxseSBubyBwaHlzaWNhbCBwcm9ibGVtcyB3aXRoIGluaGFsYXRpb24gaW4gZ2VuZXJhbC4gVGhpcyByZWluZm9yY2VkIG91ciBkZWNpc2lvbiB0byB3b3JrIHRvd2FyZHMgZGVsaXZlcnkgYnkgaW5oYWxhdGlvbi4gSXQgd2FzIHZlcnkgaW50ZXJlc3RpbmcgdG8gc2VlIHRoZSBkaWZmZXJlbnQgd2F5cyBjaGlsZHJlbiBkZWFsIHdpdGggdGhlaXIgZXhlcmNpc2VzIGFuZCBoZWFyIGFib3V0IHRoZSBwcm9ncmVzcyB0aGV5IG1hZGUuICBcIixcbiAgICB0ZXh0OiBbPG9sPlxuICAgICAgPGxpPlxuICAgICAgICA8c3Ryb25nPlJvYmluICgmZ3Q7MTApPC9zdHJvbmc+XG4gICAgICAgIDxwPlJvYmluIHdpbGwgc29vbiBzdGFydCA0dGggZ3JhZGUgYW5kIHRha2VzIG1vZHVsYXRvcnMuIFNpbmNlIHRha2luZyB0aGVtLCBtYW55IHByb2JsZW1zIGhhdmUgc3Vic2lkZWQuIE5vIHJlZ3VsYXIgcG5ldW1vbmlhIHdpdGggbG9uZyBob3NwaXRhbCBzdGF5cyBhbmQgdGhlIG11Y3VzIGNvbWVzIG91dCBlYXNpZXIuIE5ldmVydGhlbGVzcywgUm9iaW4gc3RpbGwgZ29lcyB0byBwaHlzaW90aGVyYXB5IHJlZ3VsYXJseSB0byBkbyBtYW51YWwgYnJlYXRoaW5nIHRoZXJhcHkgdG8gZ2V0IHRoZSBtdWN1cyBvdXQuIEthdHJpbiB0ZWxscyB1cyBob3cgdGhlIG11Y3VzIGNoYW5nZXMgY29sb3IgdGhlIGxvbmdlciBpdCBzdGF5cyBpbiB0aGUgbHVuZ3MuIFRoZSBuZXcgbXVjdXMgaXMgd2hpdGUsIGFuZCB0aGUgb2xkZXIgbXVjdXMgZ2V0cyB5ZWxsb3cgZmlyc3QgYW5kIHRoZW4gZ2V0cyBkYXJrZXIgd2l0aCB0aW1lIHVudGlsIGl0IHJlYWNoZXMgYSBibGFjayBjb2xvci4gTm93YWRheXMsIFJvYmluIHJhcmVseSBoYXMgZGFyayBtdWN1cyBvciBjbHVtcHMsIGJ1dCB3ZSBjYW4gc3RpbGwgaGVhciB0aGUgcnVzdGxpbmcgYXMgS2F0cmluIHN0YXJ0cyB0aGUgYXV0b2dlbm91cyBkcmFpbmFnZSAoQXV0b2dlbmUgRHJhaW5hZ2UpIGJ5IHByZXNzaW5nIG9uIFJvYmluJ3MgY2hlc3QuIFRoZSBnb2FsIGlzIHRvIGdldCBvdXQgdGhlIG11Y3VzIGRlZXAgaW4gdGhlIGx1bmdzLiBUbyBkbyB0aGF0LCBSb2JpbiBtdXN0IHJlcGVhdCB0aGUgcm91dGluZSBcdTIwMTMgYnJlYXRoaW5nIGluIGRlZXBseSwgaG9sZGluZywgYnJlYXRoaW5nIG91dCBcdTIwMTMgbXVsdGlwbGUgdGltZXMgYW5kIHRoZW4gY291Z2ggYW5kIHNwaXQgdGhlIG11Y3VzIG91dC4gU29tZXRpbWVzIGl0IHdvcmtzLCBidXQgb3RoZXIgdGltZXMgdGhlIG11Y3VzIGRvZXMgbm90IGNvbWUgb3V0IGVhc2lseS4gV2hpbGUgYWNjb3JkaW5nIHRvIEthdHJpbiB0aGUgYXV0b2dlbm91cyBkcmFpbmFnZSBpcyB0aGUgZ29sZCBzdGFuZGFyZCwgdGhleSBkbyBvdGhlciB1c2VmdWwgZXhlcmNpc2VzLCB0b28uIEZvciBleGFtcGxlLCBwcmVzc2luZyB0aGUgVm9qdGEgcG9pbnRzICh3aGljaCB0aGUgY2hpbGRyZW4gY2FsbCBcdTIwMUN0aGUgbWFnaWMgcG9pbnRzXHUyMDFEKSBvbiB0aGUgY2hlc3QgdG8gYWN0aXZhdGUgYSBkZWVwIGJyZWF0aGluZyByZWZsZXggYW5kIGdldCBhaXIgaW50byBwYXJ0cyBvZiB0aGUgbHVuZ3MgdGhhdCBtYXkgbm90IGhhdmUgYmVlbiB1c2VkIHByZXZpb3VzbHkuIE9yIHBoeXNpY2FsIGFjdGl2aXR5IHN1Y2ggYXMgY2xpbWJpbmcgYSBmZXcgc3RlcHMgb24gYSBjbGltYmluZyBsYWRkZXIgYW5kIGhhbmdpbmcgb24gaXQgdG8gc3RyZXRjaCB0aGUgdGhvcmF4IG11c2NsZXMuPC9wPlxuICAgICAgPC9saT5cbiAgICAgIDxsaT5cbiAgICAgICAgPHN0cm9uZz5TYW0gKCZsdDsxMCkgJiBBbGV4ICgmbHQ7MTApPC9zdHJvbmc+XG4gICAgICAgIDxwPlNhbSBhbmQgQWxleCBhcmUgc2libGluZ3MgYW5kIGRvIG5vdCBoYXZlIENGIGJ1dCBhbm90aGVyIGFmZmxpY3Rpb24gdGhhdCBjYXVzZXMgYSBwZXJzaXN0ZW50IGNvdWdoLiBUaGV5IGNvbWUgdG9nZXRoZXIgd2l0aCBhIHBhcmVudCB0d2ljZSBhIHdlZWsgYW5kIGRvIGhhbmdpbmcgZXhlcmNpc2VzIGZyb20gdGhlIGNlaWxpbmcsIG5hc2FsIHNob3dlcnMgd2l0aCBuZWVkbGVsZXNzIHN5cmluZ2VzLCBhbmQgdGhlIFx1MjAxQ21hZ2ljIHBvaW50cy5cdTIwMUQgS2F0cmluIGFsc28gY2hlY2tzIHRoZWlyIGx1bmdzIGZvciBtdWN1cyBpbiBhIHNpbWlsYXIgbWFubmVyIHRvIGF1dG9nZW5vdXMgZHJhaW5hZ2UuIFdlLCB0b28sIHRyaWVkIHRvIGRvIHRoZSBuYXNhbCBzaG93ZXIsIGFuZCBiZWluZyBhIGdyb3duLXVwIHJlYWxseSBkb2VzIG5vdCBndWFyYW50ZWUgYmVpbmcgYWJsZSB0byBkbyB0aGF0IHByb3Blcmx5ISBUaGlzIGhpZ2hsaWdodGVkIHRoYXQgdGhlIGNoaWxkcmVuIGtub3cgYWxsIHRoZWlyIGV4ZXJjaXNlcyBieSBoZWFydCBhdCBhIHlvdW5nIGFnZS4gT24gcmVxdWVzdCwgdGhlaXIgcGFyZW50IHRvbGQgdXMgdGhhdCB0aGUgcGh5c2lvdGhlcmFweSBtYWRlIGEgYmlnIGRpZmZlcmVuY2UgZm9yIGJvdGggb2YgdGhlbS48L3A+XG4gICAgICA8L2xpPlxuICAgICAgPGxpPlxuICAgICAgICA8c3Ryb25nPlRvbmkgKCZsdDs1KTwvc3Ryb25nPlxuICAgICAgICA8cD5Ub25pIGhhcyBhIGxpZ2h0IHZlcnNpb24gb2YgQ0YgYW5kIGhhcyBiZWVuIGRvaW5nIHBoeXNpb3RoZXJhcHkgd2l0aCBLYXRyaW4gc2luY2Ugc2hvcnRseSBhZnRlciBiaXJ0aC4gSW4gY29udHJhc3QgdG8gbW9zdCBjaGlsZHJlbiB3ZSBtZXQgb3IgdGFsa2VkIGFib3V0LCBUb25pIHJlZnVzZXMgbWVkaWNhdGlvbi4gTW9kdWxhdG9ycyBhcmUgYSBwb3NzaWJpbGl0eSwgYnV0IHRoZW0gYW5kICdldmVyeXRoaW5nIHN0aW5reScgaXMgYSBuby1nbywgZXZlbiB0aG91Z2ggaW5oYWxpbmcgd291bGQgYmUgdmVyeSBiZW5lZmljaWFsIGR1ZSB0byB0aGUgbXVjdXMgYnVpbGR1cC4gTW9zdCBleGVyY2lzZXMgcmVzdWx0IGluIGNyeWluZyBhbmQgc2NyZWFtaW5nLCB3aGljaCBpcyB2ZXJ5IGV4aGF1c3RpbmcgZm9yIHRoZSBjaGlsZC4gRHVlIHRvIHRoZSBsaWdodCBuYXR1cmUgb2YgVG9uaSdzIHZhcmlhbnQsIHRoZXkgYXJlIG5vdCBpbiBkYW5nZXIsIGJ1dCBhIHBlcm1hbmVudCB0aGVyYXB5IHdvdWxkIGJlIHZlcnkgYmVuZWZpY2lhbC48L3A+XG4gICAgICA8L2xpPlxuICAgICAgPGxpPlxuICAgICAgICA8c3Ryb25nPkNocmlzc2kgKCZndDsxMCk8L3N0cm9uZz5cbiAgICAgICAgPHA+Q2hyaXNzaSB0YWtlcyBtb2R1bGF0b3JzIGFuZCB3aWxsIHNvb24gdGFrZSBhIHRyaXAgdG8gYSB3YXRlciBwYXJrIHdpdGggc29tZSBmcmllbmRzLiBLYXRyaW4gdGVhY2hlcyB1cyB0aGF0IHdoZW4gdGhlIGNoaWxkcmVuIGRvIG5vdCBicmVhdGhlIG91dCBwcm9wZXJseSwgYWlyIHN0YXlzIGluIHRoZSBsdW5ncyBhbmQgY2F1c2VzIGh5cGVyaW5mbGF0aW9uIFx1MjAxMyB3aXRoIHdoaWNoIGl0IGlzIGFjdHVhbGx5IGhhcmRlciB0byBmbG9hdCBpbiB3YXRlciEgQWZ0ZXIgdGhlIG1hbnVhbCBkcmFpbmFnZSwgS2F0cmluIGdldHMgYWxsIG9mIHVzIGdsYXNzZXMgd2l0aCB3YXRlciBhbmQgZGlzaCBzb2FwIGFuZCBzdHJhd3MuIEJsb3dpbmcgYnViYmxlcyBpcyBhIHBsYXlmdWwgd2F5IHRvIHRyYWluIGhvdyB0byBwcm9wZXJseSBicmVhdGhlIG91dCBieSBlaXRoZXIgdHJ5aW5nIHRvIGJsb3cgYnViYmxlcyBhcyBsb25nIGFzIHBvc3NpYmxlIG9yIHRyeWluZyB0byBtYWtlIGFuIGV4aXN0aW5nIGJ1YmJsZSBhcyBiaWcgYXMgcG9zc2libGUhPC9wPlxuICAgICAgPC9saT5cbiAgICA8L29sPixdLFxuICAgIHN1bW1hcnk6IFwiSW4gdGhlIHZpc2l0IHdpdGggS2F0cmluIFdlc3Rob2ZmLCB3ZSBwYXJ0aWNpcGF0ZWQgaW4gcGh5c2lvdGhlcmFweSBzZXNzaW9ucyBmb3IgY2hpbGRyZW4sIGluY2x1ZGluZyB0aG9zZSB3aXRoIGN5c3RpYyBmaWJyb3NpcyAoQ0YpLiBXZSBvYnNlcnZlZCB0aGF0IGJyZWF0aGluZyB0aGVyYXB5IGlzIGJlbmVmaWNpYWwgZm9yIHZhcmlvdXMgaWxsbmVzc2VzIGFuZCBsZWFybmVkIHRlY2huaXF1ZXMgdGhhdCBjYW4gYmUgcHJhY3RpY2VkIGF0IGhvbWUuIFNlc3Npb25zIGxhc3QgMzAgdG8gNjAgbWludXRlcywgY29tYmluaW5nIG1hbnVhbCB0aGVyYXB5IHdpdGggcGxheWZ1bCBlbGVtZW50cy4gV2hpbGUgb2xkZXIgY2hpbGRyZW4gZW5nYWdlZCB3ZWxsLCBpbmZhbnRzIG9mdGVuIGZvdW5kIHRoZSBleGVyY2lzZXMgdW5jb21mb3J0YWJsZS4gSW1wb3J0YW50bHksIGJvdGggS2F0cmluIGFuZCBwYXJlbnRzIG5vdGVkIHRoYXQgY2hpbGRyZW4gY291bGQgaW5oYWxlIHdpdGhvdXQgaXNzdWVzIGZyb20gYW4gZWFybHkgYWdlLCByZWluZm9yY2luZyBvdXIgZm9jdXMgb24gaW5oYWxhdGlvbiBkZWxpdmVyeSBtZXRob2RzIGZvciB0aGVyYXBpZXMuXCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvYmVzdWNoLXdlc3Rob2ZmL3VudGl0bGVkLWRlc2lnbi5wbmdcIixcbiAgICBtb250aHM6IFwianVuZVwiXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJEci5cIixcbiAgICB2b3JuYW1lOiBcIk1hcmNvXCIsXG4gICAgbmFjaG5uYW1lOiBcIlJhZHVraWNcIixcbiAgICBqb2I6IFwiUG9zdGRvYyBhdCBBRyBDZWxsdWxhciBhbmQgTW9sZWN1bGFyIEJpb3RlY2hub2xvZ3lcIixcbiAgICBhZmZpbGlhdGlvbjogXCJVbml2ZXJzaXR5IEJpZWxlZmVsZFwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ21hcmNvJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJPcHRpbWl6aW5nIExOUCBUcmFuc2ZlY3Rpb246IEluc2lnaHRzIGludG8gd29ya2luZyB3aXRoIExOUCBLaXRzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwicmFkdWtpY1wiLFxuICAgIGxhbmd1YWdlOlwiZGVcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJBZnRlciB0aGUgaW50ZXJ2aWV3IHdpdGggRHIgTWFyY28gUmFkdWtpYywgd2Ugd2VyZSBhYmxlIHRvIHByb2R1Y2UgTE5QcyBmb3IgdGhlIGZpcnN0IHRpbWUuXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJXaWVzbmVyLCBUZWFtbWVtYmVyXCIsXG4gICAgcXVvdGVWb3JuYW1lOiBcIkxpc2FcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5UaGUgcHJpbWFyeSBvYmplY3RpdmUgd2FzIHRvIHRhY2tsZSBjaGFsbGVuZ2VzIGluIExOUCB0cmFuc2ZlY3Rpb24gcmVsYXRlZCB0byBtYW51ZmFjdHVyaW5nIGFuZCBjZWxsIHRyYW5zZmVjdGlvbiBtZXRob2RzLiBUaGUgZm9jdXMgd2FzIG9uIGltcHJvdmluZyBMTlAgZm9ybXVsYXRpb24gYW5kIGFwcGxpY2F0aW9uIHByb3RvY29scyB0byBlbmhhbmNlIGdlbmUgZGVsaXZlcnkgZWZmZWN0aXZlbmVzcyxcbiAgICAgICBhbmQgb24gYWNxdWlyaW5nIHNwZWNpYWxpemVkIGV4cGVydGlzZSB0byBvcHRpbWl6ZSB0aGVzZSBwcm9jZXNzZXMuIERyLiBSYWR1a2ljIGZyb20gQmllbGVmZWxkIFVuaXZlcnNpdHkgcHJvdmlkZWQgY3J1Y2lhbCBpbnNpZ2h0cyBmb3IgdHJvdWJsZXNob290aW5nIGFuZCBwcm90b2NvbCBvcHRpbWl6YXRpb24gdG8gZW5oYW5jZSBMTlAgZWZmaWNhY3kuIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+IERyLiBSYWR1a2ljIHRvbGQgdXMgdGhhdCB0aGUgZWZmaWNpZW5jeSBvZiBMTlBzIGlzIHNpZ25pZmljYW50bHkgYWZmZWN0ZWQgYnkgbGlwaWQtdG8tbnVjbGVpYyBhY2lkIHJhdGlvcyBhbmQgdGhhdCBvcHRpbWl6aW5nIHJhdGlvcyBsaWtlIDIyOjEgdmVyc3VzIDEwOjEgY2FuIGltcHJvdmUgdHJhbnNmZWN0aW9uLiBcbiAgICAgIHBIIGFkanVzdG1lbnRzIGFuZCBidWZmZXIgY29tcG9zaXRpb24gKGUuZy4sIG1vZGlmeWluZyBzb2RpdW0gYWNldGF0ZSBzb2x1dGlvbnMpIGFyZSBhbHNvIGNydWNpYWwgZm9yIExOUCBwZXJmb3JtYW5jZS4gUHJvcGVyIHN0b3JhZ2UgYXQgNCBcdTAwQjBDLCBwcmVjaXNlIHBpcGV0dGluZywgYW5kIHRob3JvdWdoIG1peGluZyBhcmUgZXNzZW50aWFsIHRvIG1haW50YWluIExOUCBmdW5jdGlvbmFsaXR5LiBcbiAgICAgIEluIGFkZGl0aW9uLCBoZSBzdWdnZXN0ZWQgcXVhbGl0eSBjb250cm9sIG1lYXN1cmVzIHN1Y2ggYXMgZmx1b3Jlc2NlbmNlIHRlc3RpbmcsIHpldGEgcG90ZW50aWFsLCBhbmQgbGlnaHQgc2NhdHRlcmluZyBhbmFseXNlcyBoZWxwIGVuc3VyZSBvdXIgTE5QIGlzIHN0YWJsZS4gQWRkaXRpb25hbGx5LCBzcHJheSBkcnlpbmcgd2FzIGV2YWx1YXRlZCBmb3IgcG90ZW50aWFsIHVzZSBpbiBsb25nLXRlcm0gTE5QIHN0YWJpbGl6YXRpb24uIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+SW5jb3Jwb3JhdGluZyB0aGUgaW5zaWdodHMgRHIuIFJhZHVraWMgYW5kIGFkdmljZSBmcm9tIHJlY2VudCBjb25zdWx0YXRpb25zLCB3ZSBhZGp1c3RlZCB0aGUgbGlwaWQtdG8tbnVjbGVpYyBhY2lkIHJhdGlvIGZyb20gMjI6MSB0byAxMDoxIHRvIGVuaGFuY2UgZWZmaWNpZW5jeSBhbmQgbW9kaWZpZWQgdGhlIHBIIGFuZCBjb25jZW50cmF0aW9uIG9mIHNvZGl1bSBhY2V0YXRlIHNvbHV0aW9ucyBmb3IgYmV0dGVyIHBhY2thZ2luZy4gXG4gICAgICBTdG9yYWdlIGNvbmRpdGlvbnMgd2VyZSBzdHJpY3RseSBtYW5hZ2VkIGF0IDQgXHUwMEIwQywgYW5kIHBpcGV0dGluZy9taXhpbmcgdGVjaG5pcXVlcyB3ZXJlIHJlZmluZWQgdG8gZW5zdXJlIHF1YWxpdHkgY29uc2lzdGVuY3kuIFF1YWxpdHkgY29udHJvbCB3YXMgZXhwYW5kZWQgdG8gaW5jbHVkZSBmbHVvcmVzY2VuY2UgdGVzdGluZywgemV0YSBwb3RlbnRpYWwgbWVhc3VyZW1lbnRzLCBhbmQgbGlnaHQgc2NhdHRlcmluZywgYWxvbmdzaWRlIGN5dG90b3hpY2l0eSB0ZXN0cy4gXG4gICAgICBUaGVzZSBpbXByb3ZlbWVudHMgbm90IG9ubHkgYWRkcmVzcyB0cmFuc2ZlY3Rpb24gY2hhbGxlbmdlcyBidXQgYWxzbyBzdHJlbmd0aGVuIG91ciBmb3VuZGF0aW9uIGZvciBmdXR1cmUgTE5QIGFwcGxpY2F0aW9ucy4gPC9wPl0sXG4gICAgc3VtbWFyeTogXCJUaGUgYWltIG9mIHRoZSBjb250YWN0IHdhcyB0byBhZGRyZXNzIGNoYWxsZW5nZXMgaW4gTE5QIHRyYW5zZmVjdGlvbiBhbmQgaW1wcm92ZSBmb3JtdWxhdGlvbiBwcm90b2NvbHMgZm9yIGVuaGFuY2VkIGdlbmUgZGVsaXZlcnkuIERyLiBSYWR1a2ljIGhpZ2hsaWdodGVkIHRoZSBpbXBvcnRhbmNlIG9mIGxpcGlkLXRvLW51Y2xlaWMgYWNpZCByYXRpb3MsIHJlY29tbWVuZGluZyBhZGp1c3RtZW50cyBsaWtlIDEwOjEgZm9yIGJldHRlciB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeS4gSGUgYWxzbyBlbXBoYXNpemVkIG9wdGltaXppbmcgcEggYW5kIGJ1ZmZlciBjb21wb3NpdGlvbiwgYXMgd2VsbCBhcyBzdHJpY3Qgc3RvcmFnZSBhbmQgbWl4aW5nIHByYWN0aWNlcy4gQWRkaXRpb25hbGx5LCBxdWFsaXR5IGNvbnRyb2wgbWVhc3VyZXMgc3VjaCBhcyBmbHVvcmVzY2VuY2UgdGVzdGluZyBhbmQgemV0YSBwb3RlbnRpYWwgYW5hbHlzaXMgd2VyZSBzdWdnZXN0ZWQgdG8gZW5zdXJlIExOUCBzdGFiaWxpdHkuIFRoZXNlIGluc2lnaHRzIHdlcmUgaW1wbGVtZW50ZWQgaW50byB0aGUgcHJvamVjdCwgaW1wcm92aW5nIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5IGFuZCBwYXZpbmcgdGhlIHdheSBmb3IgZnV0dXJlIExOUCBhcHBsaWNhdGlvbnMuXCIsXG4gICAgbW9udGhzOiBcIkp1bmVcIlxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiUHJvZi4gRHIuXCIsXG4gICAgdm9ybmFtZTogXCJFcmhhcmRcIixcbiAgICBuYWNobm5hbWU6IFwiV2lzY2htZXllclwiLFxuICAgIGpvYjogXCJSZXNlYXJjaCBHcm91cCBDZWxsdWxhciBOZXVyb3BoeXNpb2xvZ3lcIixcbiAgICBhZmZpbGlhdGlvbjogXCJVbml2ZXJzaXR5IEJpZWxlZmVsZFwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3dpc2NobWV5ZXInXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIkRpc2N1c3Npb24gb24gVGVjaG5pcXVlcyBmb3IgTWVhc3VyaW5nIENGVFIgQ2hhbm5lbCBGdW5jdGlvbmFsaXR5XCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwicGF0Y2hjbGFtcFwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJHdWNrZXMsIFRlYW1tZW1iZXJcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiSXNhYmVsbFwiLFxuICAgIHF1b3RlOiBcIkluaXRpYWxseSB3ZSBoYWRuJ3QgY29uc2lkZXJlZCBwYXRjaC1jbGFtcCBtZWFzdXJlbWVudHMgaW4gb3VyIHNldCBvZiBkb3duc3RyZWFtIGFwcGxpY2F0aW9ucywgYnV0IGl0XHUyMDE5cyBwcm92ZW4gdG8gYmUgYW4gZXhjZXB0aW9uYWxseSBzZW5zaXRpdmUgbWV0aG9kIGZvciBhc3Nlc3NpbmcgQ0ZUUiBjb25kdWN0YW5jZS5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5BcyBwYXJ0IG9mIG91ciBwcm9qZWN0LCB3ZSBhaW1lZCB0byBkZW1vbnN0cmF0ZSB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgQ0ZUUiBpb24gY2hhbm5lbCwgYWZ0ZXIgcmVzdG9yaW5nXG4gICAgICBpdCB0aHJvdWdoIG91ciBvcHRpbWl6ZWQgUHJpbWUgRWRpdGluZywgYnkgdXNpbmcgUGF0Y2gtQ2xhbXAgbWVhc3VyZW1lbnRzLiBUbyBlbnN1cmUgdGhlIG9wdGltYWwgdXNlIG9mIHRoZVxuICAgICAgUGF0Y2gtQ2xhbXAgYW5kIHRvIGdhaW4gYW4gaW5zaWdodCBpbnRvIGVsZWN0cm9waHlzaW9sb2d5LCB3ZSBhc2tlZCBleHBlcnRzIGZyb20gdGhlIG1lZGljYWwgZmFjdWx0eSBhdFxuICAgICAgQmllbGVmZWxkIFVuaXZlcnNpdHkgdG8gY3JpdGljYWxseSBleGFtaW5lIG91ciBtZWFzdXJlbWVudCBwbGFubmluZy4gUHJvZi4gRHIuIEVyaGFyZCBXaXNjaG1leWVyLCBhblxuICAgICAgZXhwZXJpZW5jZWQgc2NpZW50aXN0IGluIHRoaXMgZmllbGQgd2hvIGhhcyB3b3JrZWQgYXQgdGhlIE1heCBQbGFuY2sgSW5zdGl0dXRlIGZvciBCaW9waHlzaWNhbCBDaGVtaXN0cnlcbiAgICAgIGluIEdcdTAwRjZ0dGluZ2VuLCB0aGUgZGV2ZWxvcG1lbnQgc2l0ZSBvZiB0aGUgUGF0Y2gtQ2xhbXAgdGVjaG5pcXVlPFNjcm9sbExpbmtXaXRoQ2hpbGQgdGFyZ2V0SWQ9XCJkZXNjLTFcIj48c3VwPjE8L3N1cD48L1Njcm9sbExpbmtXaXRoQ2hpbGQ+LCBhbmQgY3VycmVudGx5IGxlYWRzIHRoZSBDZWxsdWxhclxuICAgICAgTmV1cm9waHlzaW9sb2d5IHdvcmtpbmcgZ3JvdXAgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHksIHNlZW1lZCB0byBiZSBhbiBpZGVhbCBpbnRlcnZpZXdlZS4gSGlzXG4gICAgICBrbm93bGVkZ2UgYW5kIGV4cGVyaWVuY2UgcHJvbWlzZWQgdmFsdWFibGUgaW5zaWdodHMgYW5kIGFkdmljZSBmb3IgY29uZHVjdGluZyBhbmQgb3B0aW1pemluZyBvdXJcbiAgICAgIGV4cGVyaW1lbnRzLiA8L3A+XSxcbiAgICBwaWN0dXJldXJsX2FpbTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZm9yLXdpa2ktdGV4dHMvaHAtcGF0Y2gtY2xhbXAvd2lzY2htZXllci1pbnRlcnZpZXcud2VicFwiLFxuICAgIGluc2lnaHRzOiBbPD48cD5Qcm9mLiBEci4gV2lzY2htZXllciB0YXVnaHQgdXMgYWJvdXQgdGhlIHdvcmtmbG93IG9mIHRoZSBQYXRjaC1DbGFtcCB0ZWNobmlxdWUuIEhlIGhpZ2hsaWdodGVkIHRoZSBuZWVkXG4gICAgICBmb3Igc3BlY2lhbGl6ZWQgZWxlY3Ryb2RlcyBhbmQgZ2xhc3MgcGlwZXR0ZXMgdGhhdCBtdXN0IGZvcm0gYSBzbW9vdGggc3VyZmFjZSBkZXZvaWQgb2YgdGhlIGV4dHJhY2VsbHVsYXJcbiAgICAgIG1hdHJpeCAoRUNNKS4gQWRkaXRpb25hbGx5LCBoZSBwb2ludGVkIG91dCB0aGF0IG1lYXN1cmluZyBDRlRSIGNvbmR1Y3Rpdml0eSB3aXRoIHRoZSBQYXRjaC1DbGFtcCB0ZWNobmlxdWVcbiAgICAgIHBvc2VzIGEgdGVjaG5pY2FsIGNoYWxsZW5nZSBkdWUgdG8gdGhlIGxvdyBjdXJyZW50cyBpbnZvbHZlZDxTY3JvbGxMaW5rV2l0aENoaWxkIHRhcmdldElkPVwiZGVzYy0yXCI+PHN1cD4yPC9zdXA+PC9TY3JvbGxMaW5rV2l0aENoaWxkPi4gSGUgcmVjb21tZW5kZWQgdXNpbmcgZXhwcmVzc2lvbiB2ZWN0b3JzXG4gICAgICBmb3Igb3ZlcmV4cHJlc3NpbmcgdGhlIENGVFIgZ2VuZSBpbiBIRUsgY2VsbHMgaW5zdGVhZCBvZiBlcGl0aGVsaWFsIGNlbGxzIGZyb20gYSBuYXNhbCBzd2FiIHRvIGFjaGlldmVcbiAgICAgIGJldHRlciByZXN1bHRzLiBTaW5jZSBQYXRjaC1DbGFtcCBtZWFzdXJlbWVudHMgcmVxdWlyZSBhIHZlcnkgc2Vuc2l0aXZlIHRlc3RpbmcgZW52aXJvbm1lbnQsIGV2ZW5cbiAgICAgIGNoYWxsZW5naW5nIGZvciB0aGUgbW9zdCBleHBlcmllbmNlZCBzY2llbnRpc3RzLCBQcm9mLiBEci4gV2lzY2htZXllciBpbnZpdGVkIHVzIHRvIGNvbmR1Y3QgdGhlXG4gICAgICBtZWFzdXJlbWVudHMgdG9nZXRoZXIgd2l0aCBtZW1iZXJzIG9mIGhpcyBncm91cC5cbiAgICA8L3A+XG4gICAgICA8cD5JbiBhZGRpdGlvbiB0byB0aGUgUGF0Y2gtQ2xhbXAgdGVjaG5pcXVlLCBQcm9mLiBEci4gV2lzY2htZXllciBpbmZvcm1lZCB1cyBhYm91dCBFLWNpcyBtZWFzdXJlbWVudHMgYXMgYVxuICAgICAgICBjdXJyZW50IGVsZWN0cm9waHlzaW9sb2dpY2FsIG1lYXN1cmVtZW50IG1ldGhvZCBhbG9uZ3NpZGUgdGhlIFBhdGNoLUNsYW1wIHRlY2huaXF1ZS4gVGhpcyBtZXRob2QgYWxsb3dzXG4gICAgICAgIHRoZSBtZWFzdXJlbWVudCBvZiB0aGUgbWVtYnJhbmUgcG90ZW50aWFsIGFib3ZlIGFuZCBiZWxvdyBhIG1vbm9sYXllciBvZiBjb25mbHVlbnQgY2VsbHM8U2Nyb2xsTGlua1dpdGhDaGlsZCB0YXJnZXRJZD1cImRlc2MtM1wiPjxzdXA+Mzwvc3VwPjwvU2Nyb2xsTGlua1dpdGhDaGlsZD4uIENvbnNlcXVlbnRseSxcbiAgICAgICAgaXQgZW5hYmxlcyBwcmVjaXNlIG1lYXN1cmVtZW50IG9mIGNvbmR1Y3Rpdml0eSBkZXBlbmRlbnQgb24gQ0ZUUiBleHByZXNzaW9uLiA8L3A+XG4gICAgPC8+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPldlIGRlY2lkZWQgdG8gdXNlIEhFSzI5M1RbTGlua10gY2VsbHMgbGluZXMgd2hpY2ggZG8gb3ZlcmV4cHJlc3MgdGhlXG4gICAgICBjb3JyZWN0IENGVFIgYW5kIHRob3NlIHdoaWNoIGV4cHJlc3MgQ0ZUUiB3aXRoIEY1MDhkZWwgbXV0YXRpb24gZm9yIHRoZSBQYXRjaC1DbGFtcCBtZWFzdXJlbWVudHNbTElOSyBNZXRob2RzcGF0Y2hjbGFtcF0uIFRvIGNvbmR1Y3QgdGhlXG4gICAgICBQYXRjaC1DbGFtcCBleHBlcmltZW50cywgd2UgY29udGFjdGVkIHRoZSBDZWxsdWxhciBOZXVyb3BoeXNpb2xvZ3kgZ3JvdXAgdG8gcGVyZm9ybSB0aGUgbmVjZXNzYXJ5XG4gICAgICBtZWFzdXJlbWVudHMuIEl0IHdhcyBhIHBsZWFzdXJlIHRvIHdvcmsgdG9nZXRoZXIgd2l0aCwgd2hvIGlzIHdvcmtpbmcgYXMgYSBwb3N0LWRvYyBmb3JcbiAgICAgIHRoZSBDZWxsdWxhciBOZXVyb3BoeXNpb2xvZ3kgd29ya2luZyBncm91cCBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eS4gSGUgdGF1Z2h0IHVzIGFib3V0IHRoZSBQYXRjaC1DbGFtcFxuICAgICAgbWV0aG9kIGFuZCBzcGVudCBoaXMgdmFsdWFibGUgdGltZSBzdXBwb3J0aW5nIG91ciBwcm9qZWN0IGJ5IGd1aWRpbmcgb3VyIFBhdGNoLUNsYW1wIG1lYXN1cmVtZW50cy4gPC9wPl0sXG4gICAgcGljdHVyZXVybF9pbXBsZW1lbnRhdGlvbjogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvYmlsZC1pbnRlcnNzaWVydGUtd2lzc2Vuc2NoYWZ0bGVyLW9oby53ZWJwXCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvYmlsZC1wYXRjaC1jbGFtcC1pc2ktb2xpdmVyLndlYnBcIixcbiAgICByZWZlcmVuY2VzOiA8V2lzY2htZXllclNvdXJjZXMgLz4sXG4gICAgaW50ZXJ2aWV3OiA8PlxuICAgICAgPFFhQm94IHE9XCJDYW4geW91IGVkdWNhdGUgdXMgYWJvdXQgeW91ciBhY2FkZW1pYyBjYXJlZXI/XCIgYT1cIkkgZGlkIG15IGRvY3RvcmF0ZSAzMCB5ZWFycyBhZ28gYXQgQmllbGVmZWxkIFVuaXZlcnNpdHkgYW5kIHRoZW4gd29ya2VkIGF0IHRoZSBNYXggUGxhbmNrIEluc3RpdHV0ZSBpbiBHXHUwMEY2dHRpbmdlbiBhIGxvdCB3aXRoIHRoZSBwYXRjaC1jbGFtcCB0ZWNobmlxdWUuIFRvZGF5LCBJXHUyMDE5bSBoZWFkIG9mIHRoZSB3b3JraW5nIGdyb3VwIENlbGx1bGFyIE5ldXJvcGh5c2lvbG9neSBvZiB0aGUgbWVkaWNpbmUgZmFjdWx0eSBvZiBCaWVsZWZlbGQgVW5pdmVyc2l0eS5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IG5ldyBtZXRob2RzIGFyZSBjdXJyZW50bHkgYXZhaWxhYmxlIGluIGVsZWN0cm9waHlzaW9sb2dpY2FsIHJlc2VhcmNoP1wiIGE9XCJPbmUgb2YgdGhlIGxhdGVzdCBtZXRob2RzIGlzIEUtY2lzIG1lYXN1cmVtZW50cy4gVGhlc2UgbWFrZSBpdCBwb3NzaWJsZSB0byBleGFtaW5lIGEgbW9ub2xheWVyIG9mIGNvbmZsdWVudCBjZWxscyBhbmQgdG8gbWVhc3VyZSB0aGUgbWVtYnJhbmUgcG90ZW50aWFsIGJvdGggYWJvdmUgYW5kIGJlbG93LiBUaGUgY2hhbmdlIGluIGNvbmR1Y3Rpdml0eSBjYW4gYmUgYW5hbHl6ZWQgZm9yIGluc3RhbmNlIGFzIGEgZnVuY3Rpb24gb2YgQ0ZUUiBleHByZXNzaW9uLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBjYW4gd2UgcHJvY2VlZCB3aXRoIHRoZSBpbnZlc3RpZ2F0aW9uIG9mIENGVFIgaW4gZGlmZmVyZW50IGNlbGwgY3VsdHVyZXMgYnkgcGF0Y2gtY2xhbXA/XCIgYT1cIllvdSBjYW4gc3R1ZHkgQ0ZUUiBleHByZXNzaW9uIGluIEhFSyBjZWxscywgd2hpY2ggYWxsb3dzIGZvciBhIG1lYXN1cmFibGUgY2hhbmdlIGluIGNobG9yaWRlIGNvbmR1Y3RhbmNlLiBJIGFtIG5vdCBzdXJlIHdoZXRoZXIgd2Ugd2lsbCBiZSBhYmxlIHRvIGludmVzdGlnYXRlIENGVFIgc3VmZmljaWVudGx5IGluIGVwaXRoZWxpYWwgY2VsbHMgd2hpY2ggeW91IHdhbnQgdG8gY29sbGVjdCBmcm9tIHlvdXIgQ0YgcGF0aWVudCBmcmllbmQgYW5kIHlvdXIgdGVhbSBtZW1iZXJzLiBUaGF0IGlzIHNvbWV0aGluZyB3ZSBoYXZlIHRvIHRyeSBvdXQuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSG93IGNoYWxsZW5naW5nIGlzIHRoZSBtZWFzdXJlbWVudCBvZiBDRlRSIGNvbmR1Y3RhbmNlIGluIGVwaXRoZWxpYWwgY2VsbHM/XCIgYT1cIkNGVFIgaW4gZXBpdGhlbGlhbCBjZWxscyBoYXMgdmVyeSBsb3cgY29uZHVjdGl2aXR5IGluIHRoZSBmZW10b2FtcGVyZSByYW5nZS4gVGhlcmVmb3JlLCBleHRyZW1lbHkgc2Vuc2l0aXZlIHRlc3RpbmcgaXMgbmVjZXNzYXJ5IHRvIG9idGFpbiBtZWFuaW5nZnVsIHJlc3VsdHMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSG93IGNoYWxsZW5naW5nIGlzIHRoZSBwYXRjaC1jbGFtcCBtZWFzdXJlbWVudCBvZiBDRlRSIGNvbmR1Y3RhbmNlIGluIGVwaXRoZWxpYWwgY2VsbHM/XCIgYT1cIlRoZSBwcm9qZWN0IGNvdWxkIHRha2UgYXQgbGVhc3Qgb25lIHllYXIsIGV2ZW4gZm9yIGV4cGVyaWVuY2VkIHJlc2VhcmNoZXJzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgdGVjaG5pY2FsIGNoYWxsZW5nZXMgZG8gd2UgZmFjZSBpbiBpbXBsZW1lbnRpbmcgdGhlIHBhdGNoLWNsYW1wIG1lYXN1cmVtZW50cz9cIiBhPVwiT25lIG9mIHRoZSBiaWdnZXN0IGNoYWxsZW5nZXMgaXMgbWVhc3VyaW5nIHRoZSBjdXJyZW50IGFjcm9zcyB0aGUgZW50aXJlIGNlbGwsIGFzIHdlIGRvIG5vdCB3YW50IHRvIGNhcnJ5IG91dCBzaW5nbGUtY2hhbm5lbCBtZWFzdXJlbWVudHMsIGJ1dCByYXRoZXIgcmVjb3JkIHRoZSBjdXJyZW50IGFjcm9zcyBjZWxscyB3aXRoIGEgc3Ryb25nbHkgZXhwcmVzc2luZyB2ZWN0b3IgY2FycnlpbmcgdGhlIGdlbmUgZm9yIHRoZSBpb24gY2hhbm5lbC5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IHJlcXVpcmVtZW50cyBtdXN0IGJlIG1ldCBmb3IgY3VsdGl2YXRpb24gYW5kIHRyYW5zZmVjdGlvbiBiZWZvcmUgdGhlIHBhdGNoLWNsYW1wIG1lYXN1cmVtZW50P1wiIGE9XCJZb3UgaGF2ZSB0byBjdWx0aXZhdGUgdGhlIGNlbGxzIG9uIHBvbHktbHlzaW5lIGFuZCBsYW1pbmluIGFuZCB1c2Ugcm91bmQgY292ZXJzbGlwcyBvZiAxMCBtbSBkaWFtZXRlciB0byBwcmVwYXJlIHRoZW0gZm9yIG1lYXN1cmVtZW50LiBGb3IgaWRlbnRpZmljYXRpb24gb2YgcG9zaXRpdmUgdHJhbnNmZWN0YW50cywgd2UgdXNlIEdGUCBjby10cmFuc2ZlY3RlZCBjZWxscyBpbiBvdXIgd29ya2luZyBncm91cCwgeW91IHNob3VsZCB0aGluayBvZiBzb21ldGhpbmcgbGlrZSB0aGF0IGFzIHdlbGwuIEEgdHJhbnNmZWN0aW9uIHJhdGUgb2YgMTAgJSBpcyBzdWZmaWNpZW50IHRvIGdhaW4gZW5vdWdoIGNlbGxzIGZvciB0aGUgbWVhc3VyZW1lbnQuIFlvdSBjYW4gdGhpbmsgb2Ygb3B0aW1pemluZyB5b3VyIHRyYW5zZmVjdGlvbiBieSB1c2luZyBMaXBvZmVjdGFtaW5lMjAwMCwgd2hpY2ggd29ya3Mgd2VsbCBmb3Igb3VyIHdvcmtpbmcgZ3JvdXAuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hvIGNvdWxkIGhlbHAgdXMgd2l0aCB0aGUgcGF0Y2gtY2xhbXAgbWVhc3VyZW1lbnRzP1wiIGE9XCJUaGUgcGF0Y2gtY2xhbXAgZGV2aWNlcyBhcmUgaGVhdmlseSB1dGlsaXplZCBpbiBvdXIgd29ya2luZyBncm91cCwgc28geW91IHByb2JhYmx5IGNhbm5vdCBwZXJmb3JtIG1lYXN1cmVtZW50cyBvbiB5b3VyIG93bi4gSG93ZXZlciwgcG9zdGRvY3MgY291bGQgc3VwcG9ydCB5b3UgZm9yIHNvbWUgbWVhc3VyZW1lbnRzLiBEci4gT2xpdmVyIERyXHUwMEU0Z2VyIGlzIGF2YWlsYWJsZSBhcyBhIGNvbnRhY3QgcGVyc29uIG9mIG15IHdvcmtpbmcgZ3JvdXAuXCIgLz5cblxuICAgIDwvPixcbiAgICBzdW1tYXJ5OiBcIkluIHN1bW1hcnksIHRocm91Z2ggdGhlIGludGVydmlldyB3aXRoIFByb2YuIERyLiBXaXNjaG1leWVyIGFuZCB0aGUgY29sbGFib3JhdGlvbiB3aXRoIGhpcyBlbXBsb3llZSBEci4gT2xpdmVyIERyXHUwMEU0Z2VyLCB3ZSBnYWluZWQgdmFsdWFibGUgaW5zaWdodHMgYW5kIG9wdGltaXplZCBvdXIgYXBwcm9hY2ggdG8gZWZmZWN0aXZlbHkgaW52ZXN0aWdhdGUgYW5kIG1lYXN1cmUgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIENGVFIgaW9uIGNoYW5uZWwsIHRoZXJlYnkgZGV0ZXJtaW5pbmcgdGhlIGVmZmljaWVuY3kgb2Ygb3VyIHByaW1lIGVkaXRpbmcgc3RyYXRlZ3kuXCIsXG4gICAgbW9udGhzOiBcImp1bmVcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJKb3NodWFcIixcbiAgICBuYWNobm5hbWU6IFwiQmF1ZGVyXCIsXG4gICAgam9iOiBcInBhcmVudCBhbmQgYWN0aXZpc3RcIixcbiAgICBhZmZpbGlhdGlvbjogXCJDRiB2ZXN0cyB3b3JsZHdpZGVcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydqb3NodWEnXSxcbiAgICB0YWc6IFwiUGF0aWVudFwiLFxuICAgIGhlYWRpbmc6IFwiSW50ZXJ2aWV3IHdpdGggYSBDRiBQYXJlbnQgYW5kIEdsb2JhbCBBZHZvY2F0ZSBvbiBXb3JsZHdpZGUgU3VwcG9ydCBhbmQgUGVyc3BlY3RpdmVzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiam9zaHVhXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZW5cIixcbiAgICBxdW90ZTogXCJXZVx1MjAxOXZlIGhhZCB0byBzaXQgYnkgYW5kIHdhdGNoIHBlb3BsZSBkaWUsIGtub3dpbmcgdGhhdCBiZXR0ZXIgdHJlYXRtZW50IGV4aXN0cyBidXQgaXMgaW5hY2Nlc3NpYmxlLiBcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5XZSBjb250YWN0ZWQgdGhlIG9yZ2FuaXphdGlvbiA8YSBocmVmPVwiaHR0cHM6Ly93d3cuY2Z2d3cub3JnL1wiPkNGIHZlc3RzIHdvcmxkd2lkZTwvYT4gd2l0aCB0aGUgYWltIHRvIGhlYXIgbW9yZSBkaXZlcnNlIHBlcnNwZWN0aXZlcyBiZXlvbmQgR2VybWFueS5cbiAgICAgIEFmdGVyIHRoZSBmb3VuZGVyIFJvZCBjb25uZWN0ZWQgdXMgd2l0aCBKb3NodWEsIEpvc2h1YSB3YXMgc28ga2luZCB0byBjb25kdWN0IGFuIGludGVydmlldyB3aXRoIHVzIG5vdCBvbmx5IGFib3V0IHRoZSBwZXJzcGVjdGl2ZXMgYW5kXG4gICAgICBzdG9yaWVzIGhlIGhlYXJkIGJ1dCBhbHNvIGFib3V0IGhpcyBwZXJzb25hbCBleHBlcmllbmNlcyB3aXRoIGhpcyBkYXVnaHRlciBhbmQgbGl2aW5nIGluIGEgY291bnRyeSB3aGVyZSBDRiBjYXJlIGlzIHZlcnkgaGFyZCB0byBnZXQuIEpvc2h1YVxuICAgICAgKGZyb20gdGhlIFVTQSkgYW5kIGhpcyBmYW1pbHkgbGl2ZSBpbiBUaGFpbGFuZCB3aGVyZSBoZSBhbmQgaGlzIHdpZmUgcnVuIGEgY2hpbGRyZW5cdTIwMTlzIGhvbWUuIFRoZWlyIGRhdWdodGVyIGlzIHRoZSBvbmx5IGNoaWxkIHdpdGggQ0YuPC9wPixcbiAgICA8cD5JdCBpcyBwb3NzaWJsZSB0byBsZWFybiBtb3JlIGFib3V0IEpvc2h1YSBhbmQgaGlzIGZhbWlseSB0aG91Z2ggdGhlIDxhIGhyZWY9XCJodHRwczovL3RoZWJvbm5lbGxmb3VuZGF0aW9uLm9yZy9jZi12ZXN0cy13b3JsZHdpZGUvXCI+XG4gICAgICBwb2RjYXN0IG9mIHRoZSBCb25uZWwgZm91bmRhdGlvbjwvYT4uPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD4gSm9zaHVhIHNob3dlZCB1cyBqdXN0IGhvdyBkaXJlIHRoZSBzaXR1YXRpb24gaXMgZm9yIENGIHBhdGllbnRzIGlzIGluIHNvbWUgcmVnaW9ucy4gSXQgd2FzIHNob2NraW5nIHRvIGhlYXIgdGhlcmUgaXMgb25seSBvbmUgZG9jdG9yXG4gICAgICBrbm93bGVkZ2VhYmxlIGFib3V0IENGIGluIFRoYWlsYW5kIGFuZCB0aGF0IG1hbnkgZG9jdG9ycyBkaXNtaXNzIHRoZSBwb3NzaWJpbGl0eSBvZiBDRiBkdWUgdG8gcmFjaWFsIGJpYXMgYW5kIG1pc2luZm9ybWF0aW9uLiBBZGRpdGlvbmFsbHksIHdlIGNvbmZpcm1lZCBob3cgbXVjaCB0aGUgYWNjZXNzaWJpbGl0eVxuICAgICAgb2YgY2FyZSBkZXBlbmRzIG9uIHRoZSBoZWFsdGhjYXJlIHN5c3RlbSwgYXMgd2UgYWxyZWFkeSB0b3VjaGVkIG9uIGR1cmluZyB0aGUgaW50ZXJ2aWV3IHdpdGggPEhQTGlua3RvT3RoZXJIUFRhYiB0YWI9XCJuaWNvbGVcIiB0ZXh0PVwiTmljb2xlIEZyaWVkbGVpblwiIC8+LC4gT24gdGhlIHBhcmVudGluZyBsZXZlbCwgSm9zaHVhIGJyb3VnaHQgaW4gbWFueSBwZXJzcGVjdGl2ZXMgY29udHJhcnkgdG8gd2hhdCB3ZSBwcmV2aW91c2x5IGhlYXJkLiBJbiB0aGUgaW50ZXJ2aWV3IHdpdGggPEhQTGlua3RvT3RoZXJIUFRhYiB0YWI9XCJtYXhmaXJzdFwiIHRleHQ9XCJNYXhcIiAvPiwsIHdlIGxlYXJuZWQgaGUgdmVoZW1lbnRseSBhdm9pZHMgcG9uZGluZyB3YXRlciB3aGlsZSBKb3NodWFcdTIwMTlzIGRhdWdodGVyIGlzIGFsbG93ZWQgdG8gcm9hbSBhcm91bmQgd2l0aCBubyBzdWNoIHJlc3RyaWN0aW9ucy4gTmVpdGhlciBoYXZlIGNocm9uaWMgaW5mZWN0aW9ucy48L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPlRoZSBpbnRlcnZpZXcgd2l0aCBKb3NoIG1hZGUgdXMgcmVhbGl6ZSB3ZSB0b28gbmVlZGVkIHRvIGxvb2sgYXQgdGhlIHJlYXNvbiB3aHkgd2UgY2hvc2UgRjUwOGRlbC4gRGlkIHdlLCB0b28sIGZhbGwgZm9yIGJpYXM/XG4gICAgICBEZXNwaXRlIGEgY2hhbmdlIG9mIHRhcmdldCBub3QgYmVpbmcgZmVhc2libGUgYW55bW9yZSwgd2UgbG9va2VkIGludG8gaXQgYW5kIHRyYWNlZCBiYWNrIG91ciBzdGVwcyB0aGF0IGxlZCB0byBvdXIgZGVjaXNpb24uIFdlIGRpZCBub3QgZmluZCBhcyBtdWNoXG4gICAgICBpbmZvcm1hdGlvbiBhYm91dCBvdGhlciBtdXRhdGlvbnMgd2hlbiBmaXJzdCByZXNlYXJjaGluZyBjeXN0aWMgZmlicm9zaXMsIGVzcGVjaWFsbHkgaW4gdGhlIGNvbnRleHQgb2YgcHJpbWUgZWRpdGluZy4gTWF0dGlqcyBCdWxjZWFucydzIHBhcGVyIG9uXG4gICAgICB0YXJnZXRpbmcgdGhlIG11dGF0aW9ucyBMMjI3UiBhbmQgTjEzMDNLIDxUYWJTY3JvbGxMaW5rIHRhYj1cImpvc2h1YVwiIHNjcm9sbElkPVwiZGVzYy0xXCIgbnVtPVwiMVwiIC8+IHdhcyBvbmUgb2YgZmV3IHBhcGVycy4gQWZ0ZXIgZXhwbGljaXRseSBzZWFyY2hpbmcgZm9yIGN5c3RpYyBmaWJyb3NpcyByZWNvcmRzIGZvciBzcGVjaWZpYyBjb3VudHJpZXMgYW5kXG4gICAgICByZWdpb25zLCB3ZSB1bmNvdmVyZWQgYSBtb2RlcmF0ZSBudW1iZXIgb2YgcGFwZXJzIGV4YW1pbmluZyBDRiBpbiBBc2lhIGFuZCBvdGhlciByZWdpb25zIHdlIHByZXZpb3VzbHkgZGlkIG5vdCBrbm93IG11Y2ggYWJvdXQuIFRoZSB2ZXJ5IGZpcnN0IGFydGljbGVcbiAgICAgIHN1cHBvcnRlZCBKb3NodWEncyBoeXBvdGhlc2VzIGFuZCBwYWludGVkIGEgc2FkIHBpY3R1cmU6IEFtb25nIG90aGVyIHRoaW5ncywgaXQgZGVzY3JpYmVzIHRoZSBjYXNlIG9mIGEgZm91ci1tb250aC1vbGQgYm95IHdobyB3YXMgZGlhZ25vc2VkIHdpdGggY3lzdGljXG4gICAgICBmaWJyb3Npcy4gTm90aGluZyB1bnVzdWFsIGluIGl0c2VsZiwgYnV0IHRoZSBjaXJjdW1zdGFuY2VzIGFyZSBkZXByZXNzaW5nLiBUd28gb2YgdGhlIHRocmVlIHNpYmxpbmdzIGJvcm4gYmVmb3JlIGhpbSBkaWVkIHdpdGhpbiBtb250aHMgb2YgYmlydGggYW5kIGhhZFxuICAgICAgcHJldmlvdXNseSBwcmVzZW50ZWQgd2l0aCBzeW1wdG9tcyBvZiBjeXN0aWMgZmlicm9zaXMuIEhlIHdhcyB0aGUgZmlyc3QgdG8gYmUgZGlhZ25vc2VkLiBBIHN3ZWF0IHRlc3QgYWltZWQgYXQgY3lzdGljIGZpYnJvc2lzIHdhcyBub3QgYXZhaWxhYmxlIGF0IHRoZVxuICAgICAgaG9zcGl0YWwsIHNvIG9uZSB3YXMgaW1wcm92aXNlZC4gTGF0ZXIgb24sIGEgZ2VuZXRpYyB0ZXN0IHJldmVhbGVkIHRoZSBwcmVzZW5jZSBvZiA1MDhkZWwuIDxUYWJTY3JvbGxMaW5rIHRhYj1cImpvc2h1YVwiIHNjcm9sbElkPVwiZGVzYy0yXCIgbnVtPVwiMlwiIC8+IFdlIGZvdW5kIG91cnNlbHZlcyBhbmQgb3VyIGxhY2sgb2Yga25vd2xlZGdlIGluIGdvb2RcbiAgICAgIGNvbXBhbnkgYXMgd2UgZm91bmQgcGFwZXJzIGFzIG5ldyBhcyBmcm9tIDIwMjAgKDE0IHllYXJzIGFmdGVyIHRoZSBwcmV2aW91c2x5IG1lbnRpb25lZCBwYXBlcikgY29udGFpbmluZyBzdGF0ZW1lbnRzIHN1Y2ggYXMgXHUyMDFDcmVjZW50IHJlcG9ydHMgc3VnZ2VzdFxuICAgICAgdGhhdCBDRiBkb2VzIG9jY3VyIGluIEFzaWFcdTIwMUQgPFRhYlNjcm9sbExpbmsgdGFiPVwiam9zaHVhXCIgc2Nyb2xsSWQ9XCJkZXNjLTNcIiBudW09XCIzXCIgLz4uIEZvcnR1bmF0ZWx5LCB0aGVyZSBpcyBhIHJpc2luZyBudW1iZXIgb2YgY3lzdGljIGZpYnJvc2lzIGV4cGVydHMgZm9yIEFzaWEgYW5kIG90aGVyIHByZXZpb3VzbHkgb3Zlcmxvb2tlZCByZWdpb25zXG4gICAgICBzdWNoIGFzIEFmcmljYS4gPFRhYlNjcm9sbExpbmsgdGFiPVwiam9zaHVhXCIgc2Nyb2xsSWQ9XCJkZXNjLTRcIiBudW09XCI0XCIgLz4gV2UgY2hvc2UgdG8gbm90IG9ubHkgbG9vayBhdCB0aGUgc2NpZW50aWZpYyBkYXRhIGJ1dCBhbHNvIGludG8gYW5lY2RvdGFsIGV2aWRlbmNlLiBUbyBmaW5kIHRoZSBsYXR0ZXIsIHdlIHNlYXJjaGVkIG9mZmljaWFsXG4gICAgICBhbmQgcHJpdmF0ZSB3ZWJzaXRlcyBhbmQgY2hhdHJvb21zIGZvciBpbmZvcm1hdGlvbiBhbmQgZXhwZXJpZW5jZXMgb2YgcGF0aWVudHMuIEluIHRoZSBlbmQsIHdlIGZvdW5kIG5hcnJhdGl2ZXMgZnJvbSBtb3N0IGV0aG5pYyBiYWNrZ3JvdW5kc1xuICAgICAgYWJvdXQgYmVpbmcgZGlzbWlzc2VkIGFuZCBvZnRlbiBtaXNkaWFnbm9zZWQuIE9mIGNvdXJzZSwgdGhpcyBpcyBub3QgYW4gb2NjdXJyZW5jZSB1bmlxdWUgdG8gY3lzdGljIGZpYnJvc2lzLiBPdXIgY29uY2x1c2lvbiBpcyB0aGF0IHllcyxcbiAgICAgIHdlIGRpZCBmYWxsIGZvciBiaWFzLiBCdXQgcmVnYXJkbGVzcyBvZiBldGhuaWNpdHksIDUwOGRlbCBvY2N1cnMgYW5kIGlzIG92ZXJhbGwgdGhlIG1vc3QgcHJldmFsZW50IG11dGF0aW9uIGFzIHdhcyBjb25maXJtZWQgaW4gb3VyIGludGVydmlld1xuICAgICAgd2l0aCBDRiBleHBlcnQgU3JpcmFtIC4uLi4gVGhpcyBleHBlcmllbmNlIHdhcyB1bmNvbWZvcnRhYmxlIGFzIHdlIGZlbHQgdGhlIHByZXNzdXJlIHRvIGJlIHRob3JvdWdoIGFuZCBkZWxpdmVyIGEgcGVyZmVjdCBwcm9qZWN0LiBXaGF0IHdvdWxkXG4gICAgICBoYXZlIGJlZW4gbW9yZSBkZXZhc3RhdGluZyB0aGFuIHJlYWxpemluZyB3ZSBtYWRlIGEgd3JvbmcgY2hvaWNlIGF0IHRoZSB2ZXJ5IGNvcmU/ICBXZSBtYWRlIHRoZSBjb25zY2lvdXMgZGVjaXNpb24gdG8gaW52ZXN0IG91ciByZXNvdXJjZXMgaW50b1xuICAgICAgZmlndXJpbmcgb3V0IGlmIHdlIGluZGVlZCBtYWRlIGEgbWlzdGFrZSBhbmQgd2Ugd2FudCB0byBlbmNvdXJhZ2Ugb3RoZXIgdGVhbXMgdG8gZG8gdGhlIHNhbWUuIGlHZW0gc3RhbmRzIGZvciBpbm5vdmF0aW9uIFx1MjAxMyBidXQgYWxzbyBmb3IgZ3Jvd3RoLlxuICAgICAgRXNwZWNpYWxseSBpbiB0aGUgY29udGV4dCBvZiBJbnRlZ3JhdGVkIEh1bWFuIFByYWN0aWNlcywgaXQgaXMgaW1wb3J0YW50IHRvIGV4YW1pbmUgYm90aCB0aGUgcG9zaXRpdmUgYW5kIHRoZSBuZWdhdGl2ZSB0byBjcmVhdGUgYSBwcm9qZWN0IHdpdGggYVxuICAgICAgZnV0dXJlLiAgPC9wPl0sXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2pvc2h1YS16b29tLndlYnBcIixcbiAgICByZWZlcmVuY2VzOiA8Sm9zaHVhSW50ZXJ2aWV3U291cmNlcyAvPixcbiAgICBzdW1tYXJ5OiBcIkpvc2h1YSwgYSBDRiBwYXJlbnQgbGl2aW5nIGluIFRoYWlsYW5kLCBzaGFyZWQgaGlzIGV4cGVyaWVuY2VzIGFib3V0IHRoZSBzZXZlcmUgY2hhbGxlbmdlcyBvZiBhY2Nlc3NpbmcgQ0YgY2FyZSBpbiByZWdpb25zIGxpa2UgU291dGhlYXN0IEFzaWEuIEhpcyBzdG9yeSBoaWdobGlnaHRlZCB0aGUgcmFjaWFsIGJpYXMgYW5kIGxhY2sgb2YgbWVkaWNhbCBrbm93bGVkZ2UgYWJvdXQgQ0YgaW4gdGhlc2UgYXJlYXMuIFRoaXMgaW50ZXJ2aWV3IHByb21wdGVkIHRoZSB0ZWFtIHRvIHJlZmxlY3Qgb24gdGhlaXIgZm9jdXMgb24gdGhlIEY1MDhkZWwgbXV0YXRpb24sIHF1ZXN0aW9uaW5nIGlmIHRoZWlyIHJlc2VhcmNoIHdhcyBiaWFzZWQgdG93YXJkcyBtb3JlIGNvbW1vbmx5IHN0dWRpZWQgbXV0YXRpb25zLiBBZnRlciByZXZpc2l0aW5nIHRoZWlyIHJlc2VhcmNoIHByb2Nlc3MsIHRoZXkgZm91bmQgdGhhdCB0aGUgRjUwOGRlbCBtdXRhdGlvbiByZW1haW5zIGdsb2JhbGx5IHJlbGV2YW50LCB5ZXQgdGhlIGV4cGVyaWVuY2UgcmVpbmZvcmNlZCB0aGUgaW1wb3J0YW5jZSBvZiBhZGRyZXNzaW5nIGdhcHMgaW4gaGVhbHRoY2FyZSBhbmQgcmVzZWFyY2ggZm9yIHVuZGVycmVwcmVzZW50ZWQgcmVnaW9ucy5cIixcbiAgICBtb250aHM6IFwiSnVseVwiXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIkNsb3NlIHRoZSBMb29wXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3BsYWNlaG9sZGVyJ10sXG4gICAgam9iOiBcIlRlYW0gaUdFTVwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkJpZWxmZWxkIENlQmlUZWMgMjAyNFwiLFxuICAgIHRhZzogXCJNaWxlc3RvbmVcIixcbiAgICBoZWFkaW5nOiBcIkdldHRpbmcgQWNxdWFpbnRlZCB3aXRoIEN5c3RpYyBGaWJyb3Npc1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImxvb3BcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIktcdTAwRjZobGVyLCBUZWFtbWVtYmVyXCIsXG4gICAgcXVvdGVWb3JuYW1lOiBcIlZlcmFcIixcbiAgICBxdW90ZTogXCJGaXJzdGx5LCB3ZSBkaXNjdXNzZWQgdmFyaW91cyBwcm9qZWN0IGlkZWFzLCBpbmNsdWRpbmcgdGhlIHVzZSBvZiBtYWduZXRpYyBtaWNyb3N3aW1tZXJzIGZvciB0YXJnZXRlZCBtZWRpY2FsIGFwcGxpY2F0aW9ucywgZ2VuZSBlZGl0aW5nIGFwcHJvYWNoZXMgZm9yIGN5c3RpYyBmaWJyb3NpcywgdHJlYXRtZW50cyBmb3IgbXVzY3VsYXIgZHlzdHJvcGh5IGFuZCBjb21iYXRpbmcgY3lhbm9iYWN0ZXJpYSB3aXRoIGFsZ2FlLlwiLFxuICAgIHR5cGU6IFwibWV0YVwiLFxuICAgIHN1bW1hcnk6IFwiXCIsXG4gICAgbW9udGhzOiBcImp1bHlcIlxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiUHJvZi4gRHIuXCIsXG4gICAgdm9ybmFtZTogXCJTdGVmYW5cIixcbiAgICBuYWNobm5hbWU6IFwiSGFtbWVyXCIsXG4gICAgam9iOiBcIkp1bmlvciBQcm9mZXNzb3Igb2YgT3JnYW5pYyBDaGVtaXN0cnkgYW5kIEJpb2NhdGFseXNpc1wiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlVuaXZlcnNpdHkgQmllbGVmZWxkXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snaGFtbWVyJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJJbnNpZ2h0cyBmcm9tIHRoZSBkaXNjdXNzaW9uIG9uIGVuenltZSBlbmdpbmVlcmluZ1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImhhbW1lclwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiSW1wbGVtZW50aW5nIGNvbnRyb2xzIGlzIGNydWNpYWwgZm9yIHRoZSBOaWthc2UgYXNzYXkgdG8gcHJldmVudCBmYWxzZSBwb3NpdGl2ZXMgYW5kIGVuc3VyZSB0aGUgYWNjdXJhY3kgb2YgeW91ciByZXN1bHRzLlwiLFxuICAgIHF1b3RlTmFjaG5hbWU6IFwiSGFtbWVyLCBFeHBlcnQgZm9yIEVuenltZSBFbmdpbmVlcmluZyBcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiUHJvZi4gRHIuIFN0ZWZhblwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPkFmdGVyIHdlIGhhZCBkZXZlbG9wZWQgYSBudW1iZXIgb2YgdGhlcm9ldGljIGVsYWJvcmF0aW9ucywgZmVlZGJhY2sgd2l0aCBjb3JyZXNwb25kaW5nIGV4cGVydGlzZSBpbiB0aGUgZmllbGQgb2YgZW56eW1lIGVuZ2luZWVyaW5nIHdhcyBvZiBleGNlcHRpb25hbCBpbXBvcnRhbmNlIHRvIHVzLiBGb3IgdGhpcyByZWFzb24sIHdlIHdhbnRlZCB0byBkaXNjdXNzIG91ciBhcHByb2FjaGVzIHdpdGggUHJvZi4gRHIuIEhhbW1lci48L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPkluIG91ciBkaXNjdXNzaW9uIHdpdGggUHJvZi4gRHIuIEhhbW1lciBkaXNjdXNzaW9uIHdpdGggUHJvZi4gRHIuIEhhbW1lciBhYm91dCAgZGlmZmVyZW50IHRoZW9yZXRpY2FsIGFwcHJvYWNoZXMgd2UgaGFkIGRldmVsb3BlZDo8L3A+LFxuICAgICAgPHVsPlxuICAgICAgICAgIDxsaT5QQU0gZW5naW5lZXJpbmc8L2xpPlxuICAgICAgICAgIDxsaT5DaGltZXJpYyBwcm90ZWluPC9saT5cbiAgICAgICAgICA8bGk+UGhhZ2UtQXNzaXN0ZWQgQ29udGludW91cyBFdm9sdXRpb24gKFBBQ0UpPC9saT5cbiAgICAgICAgICA8bGk+UmF0aW9uYWwgRGVzaWduOiBNdXRhdGlvbiBvZiB6aW5jLWZpbmdlcjwvbGk+XG4gICAgICA8L3VsPiwgIFxuICAgICAgPHA+IFdlIGRpc2N1c3NlZCB3aGV0aGVyIGEgcmF0aW9uYWwgZGVzaWduLCBzdXBwb3J0ZWQgYnkgc3RydWN0dXJhbCBzaW11bGF0aW9ucyB3aXRoIEFscGhhRm9sZCAzLCBvciB0aGUgY29uc3RydWN0aW9uIG9mIGEgY2hpbWVyaWMgcHJvdGVpbiB3b3VsZCBiZSB0aGUgc3VwZXJpb3IgYXBwcm9hY2guIFRoZSBwb3NzaWJpbGl0eSBvZiB1c2luZyBwcm90ZWluIGV2b2x1dGlvbiB2aWEgUEFDRSBvciBjb252ZW50aW9uYWwgbWV0aG9kcyB3YXMgZGVtb25zdHJhdGVkLCBldmVuIGlmIHRoZXNlIGFwcHJvYWNoZXMgYXJlIHZlcnkgdGltZS1jb25zdW1pbmcuIEFuIGltcG9ydGFudCB0b3BpYyB3YXMgdGhlIGFuYWx5c2lzIG9mIGhvbW9sb2dvdXMgbWVjaGFuaXNtcyBieSBzZXF1ZW5jZSBhbGlnbm1lbnRzIHRvIGlkZW50aWZ5IHN0cnVjdHVyYWwgc2ltaWxhcml0aWVzIGluIGNhdGFseXRpYyBjZW50ZXJzLiBJbiBhZGRpdGlvbiwgd2UgZGlzY3Vzc2VkIHRoZSByb2xlIG9mIHppbmMgZmluZ2VyIGRvbWFpbnMgYW5kIHRhcmdldGVkIG11dGF0aW9ucywgc3VjaCBhcyBzdWJzdGl0dXRpb24gdG8gYWxhbmluZSwgaW4gdGhlIGZ1bmN0aW9uIG9mIG9wdGltaXphdGlvbi4gSXQgd2FzIGFsc28gZW1waGFzaXplZCB0aGF0IG11dGF0aW9ucyBzaG91bGQgYmUgZXZhbHVhdGVkIGluIGVuenltZXMgd2l0aCBuaWNrYXNlIGFjdGl2aXR5LCBhbHRob3VnaCB0aGUgc2NyZWVuaW5nIGZvciB0aGlzIGlzIHZlcnkgbGFib3Jpb3VzLiBUaGUgcmVsaWFiaWxpdHkgb2YgQWxwaGFGb2xkIHByZWRpY3Rpb25zIHdhcyBldmFsdWF0ZWQgcG9zaXRpdmVseSBkZXNwaXRlIHRoZSBjb21wbGV4aXR5IG9mIHRoZSBlbnp5bWVzLiBPbmUgcHJvbWlzaW5nIGFwcHJvYWNoIGNvdWxkIGJlIHRoZSB0cmFuc2ZlciBvZiBtdXRhdGlvbnMgdG8gaG9tb2xvZ291cyBwcm90ZWlucy4gPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5XZSBsZWFybmVkIGZyb20gdGhlIGRpc2N1c3Npb24gdGhhdCB3ZSBuZWVkIHRvIHRha2UgYSByYXRpb25hbCBhcHByb2FjaCBhbmQgY29uc2lkZXIgdGhlIGZvbGxvd2luZyBjb25jbHVzaW9uczo8L3A+LFxuICAgICAgPHVsPlxuICAgICAgICAgIDxsaT5BIHJhdGlvbmFsIGFwcHJvYWNoIGNvdWxkIGJlIHRoZSB0cmFuc2ZlciBvZiBtdXRhdGlvbnMgdG8gaG9tb2xvZ291cyBwcm90ZWluczwvbGk+XG4gICAgICAgICAgPGxpPkZvciByYXRpb25hbCBkZXNpZ24sIHN0cnVjdHVyYWwgc2ltdWxhdGlvbiB1c2luZyBBbHBoYUZvbGQgMyBjb3VsZCBiZSB1c2VkIHRvIG1vZGVsIGFuZCB1bmRlcnN0YW5kIHNwZWNpZmljIHByb3RlaW4gc3RydWN0dXJlczwvbGk+XG4gICAgICAgICAgPGxpPkhvbW9sb2dvdXMgbWVjaGFuaXNtcyAmIHNlcXVlbmNlIGFsaWdubWVudHM8L2xpPlxuICAgICAgICAgIDxsaT5BbmFseXNpcyBvZiBzdHJ1Y3R1cmFsIHNpbWlsYXJpdGllcyBpbiBjYXRhbHl0aWMgY2VudGVycyBieSBzZXF1ZW5jZSBjb21wYXJpc29uczwvbGk+XG4gICAgICAgICAgPGxpPlVzaW5nIEFsYSBvciBHbHkgZm9yIHN1YnN0aXR1dGlvbjwvbGk+XG4gICAgICAgICAgPGxpPkRldmVsb3BtZW50IG9mIGEgbmlja2FzZSBhc3NheTwvbGk+XG4gICAgICA8L3VsPixcbiAgICA8cD5XZSBkZXZlbG9wZWQgb3VyIG11dGF0aW9uIGNhbmRpZGF0ZXMgb24gdGhpcyBiYXNpcyBbbGluayB6dW0gQ3ljbGUgb2RlciBOZXcgUGFydCA/XTwvcD5cbiAgICBdLFxuICAgIHN1bW1hcnk6IFwiSW4gb3VyIGRpc2N1c3Npb24gd2l0aCBQcm9mLiBEci4gSGFtbWVyLCB3ZSBleHBsb3JlZCBzZXZlcmFsIHRoZW9yZXRpY2FsIGFwcHJvYWNoZXMgaW4gZW56eW1lIGVuZ2luZWVyaW5nLCBpbmNsdWRpbmcgUEFNIGVuZ2luZWVyaW5nLCBjaGltZXJpYyBwcm90ZWlucywgUGhhZ2UtQXNzaXN0ZWQgQ29udGludW91cyBFdm9sdXRpb24gKFBBQ0UpLCBhbmQgcmF0aW9uYWwgZGVzaWduIGludm9sdmluZyB6aW5jLWZpbmdlciBtdXRhdGlvbnMuIFdlIGV2YWx1YXRlZCB0aGUgcG90ZW50aWFsIG9mIHVzaW5nIHN0cnVjdHVyYWwgc2ltdWxhdGlvbnMgd2l0aCBBbHBoYUZvbGQgMyBhbmQgdGhlIGNvbnN0cnVjdGlvbiBvZiBjaGltZXJpYyBwcm90ZWlucy4gVGhlIGNvbnZlcnNhdGlvbiBoaWdobGlnaHRlZCB0aGUgaW1wb3J0YW5jZSBvZiBhbmFseXppbmcgaG9tb2xvZ291cyBtZWNoYW5pc21zIHRocm91Z2ggc2VxdWVuY2UgYWxpZ25tZW50cyB0byBpZGVudGlmeSBzdHJ1Y3R1cmFsIHNpbWlsYXJpdGllcyBpbiBjYXRhbHl0aWMgY2VudGVycy4gV2UgYWxzbyBkaXNjdXNzZWQgdGFyZ2V0ZWQgbXV0YXRpb25zLCBzdWNoIGFzIHN1YnN0aXR1dGlvbnMgdG8gYWxhbmluZSwgYW5kIHRoZSBkZXZlbG9wbWVudCBvZiBhIG5pY2thc2UgYXNzYXkuIE92ZXJhbGwsIHdlIGNvbmNsdWRlZCB0aGF0IHRyYW5zZmVycmluZyBtdXRhdGlvbnMgdG8gaG9tb2xvZ291cyBwcm90ZWlucyBpcyBhIHByb21pc2luZyByYXRpb25hbCBhcHByb2FjaCBmb3Igb3B0aW1pemluZyBlbnp5bWUgZnVuY3Rpb24uXCIsXG4gICAgbW9udGhzOiBcIkp1bHlcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJTdGVmZmVuIEJpcmEgYW5kXCIsXG4gICAgbmFjaG5uYW1lOiBcIlNlcnJhIEdcdTAwRkNyY2FuIGZyb20gQ29yZGVuIFBoYXJtYVwiLFxuICAgIGpvYjogXCJBc3NvY2lhdGUgZGlyZWN0b3JcIixcbiAgICBhZmZpbGlhdGlvbjogXCJDb3JkZW4gUGhhcm1hXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snY29yZGVuJ10sXG4gICAgdGFnOiBcIkluZHVzdHJ5XCIsXG4gICAgaGVhZGluZzogXCJMaXBpZCBOYW5vcGFydGljbGVzIGluIEdlbmUgVGhlcmFweTogcGVyc3BlY3RpdmVzIGZyb20gQ29yZGVuIFBoYXJtYSBcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJjb3JkZW5cIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJlblwiLFxuICAgIHF1b3RlOiBcIlRoZSBzdGFiaWxpdHkgb2YgTE5QcyBkZXBlbmRzIG9uIHRoZSBzcGVjaWZpYyBsaXBpZCBhbmQgUk5BIGNvbXBvbmVudHMgdXNlZCwgYnV0IGVuc3VyaW5nIHRoZSBvdmVyYWxsIHN0YWJpbGl0eSBvZiBhIG5ldyBmb3JtdWxhdGlvbiByZXF1aXJlcyByaWdvcm91cyBlbXBpcmljYWwgdGVzdGluZyB1bmRlciB2YXJpb3VzIGNvbmRpdGlvbnMuXCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+VGhlIHByaW1hcnkgYWltIG9mIHRoZSBjb21tdW5pY2F0aW9uIHdpdGggU3RlZmZlbiBCaXJhIGFuZCBTZXJyYSBHXHUwMEZDcmNhbiBmcm9tIENvcmRlbiBQaGFybWEgd2FzIHRvIGV4cGxvcmUgdGhlIHRlY2huaWNhbCBhc3BlY3RzIGFuZCBwcmFjdGljYWwgYXBwbGljYXRpb25zIG9mIExpcGlkIE5hbm9wYXJ0aWNsZXMgKExOUHMpIGluIGFkdmFuY2VkIG1lZGljYWwgdGhlcmFwaWVzLCBpbmNsdWRpbmcgZ2VuZSB0aGVyYXB5IGFuZCBpbmhhbGF0aW9uIHRyZWF0bWVudHMuIFRoZSBjb252ZXJzYXRpb24gZm9jdXNlZCBvbiB0aGUgcG9zc2liaWxpdHkgb2YgdXNpbmcgQ29yZGVuIFBoYXJtYVx1MjAxOXMgTE5QIHN0YXJ0ZXIga2l0cywgdW5kZXJzdGFuZGluZyB0aGUgZmFjdG9ycyBhZmZlY3RpbmcgdGhlIHN0YWJpbGl0eSBvZiBMTlBzLCBhbmQgZXhwbG9yaW5nIG9wdGlvbnMgZm9yIGluY29ycG9yYXRpbmcgYW50aWJvZGllcyBpbnRvIExOUHMgdG8gdGFyZ2V0IHNwZWNpZmljIGNlbGxzLiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPlRoZSBkaXNjdXNzaW9uIHdpdGggPGEgaHJlZj1cImh0dHBzOi8vY29yZGVucGhhcm1hLmNvbS9cIj5Db3JkZW4gUGhhcm1hPC9hPiwgbGVkIGJ5IFN0ZWZmZW4gQmlyYSBhbmQgU2VycmEgR1x1MDBGQ3JjYW4sIG9mZmVyZWQga2V5IGluc2lnaHRzIGludG8gTE5QcyBhbmQgdGhlaXIgYXBwbGljYXRpb25zLiBXaGlsZSBDb3JkZW4gUGhhcm1hIGhhc24ndCBleHRlbnNpdmVseSBleHBsb3JlZCBzcHJheSBkcnlpbmcgZm9yIExOUHMsIHRoZXkgcmVjb21tZW5kZWQgY29uc3VsdGluZyBzcGVjaWFsaXN0cyB0byBldmFsdWF0ZSBpdHMgZmVhc2liaWxpdHksIGVzcGVjaWFsbHkgY29uY2VybmluZyBsaXBpZCBzdGFiaWxpdHkgZHVyaW5nIHRoZSBwcm9jZXNzLiBTdGFiaWxpdHkgd2FzIGhpZ2hsaWdodGVkIGFzIGNydWNpYWwgZm9yIGluaGFsYXRpb24gdGhlcmFwaWVzLCByZXF1aXJpbmcgdGhvcm91Z2ggdGVzdGluZyBvZiBlbnRpcmUgTE5QIGZvcm11bGF0aW9ucywgcG9zc2libHkgYWlkZWQgYnkgY3J5b3Byb3RlY3RhbnRzIGFuZCBjb250cm9sbGVkIHRlbXBlcmF0dXJlcy4gXG4gICAgICBDb3JkZW4gUGhhcm1hJ3MgTE5QIHN0YXJ0ZXIga2l0cyBhcmUgYmFzZWQgb24gd2VsbC1yZXNlYXJjaGVkIGxpcGlkIGNvbWJpbmF0aW9ucyBkZXNpZ25lZCBmb3Igc3RhYmlsaXR5IGFuZCBlbmNhcHN1bGF0aW9uIGVmZmljaWVuY3ksIG1ha2luZyB0aGVtIHN1aXRhYmxlIGZvciBtdWx0aXBsZSBleHBlcmltZW50cy4gVGhleSBzdWdnZXN0ZWQgdGhhdCBtb2RpZnlpbmcgbGlwaWQgY29tcG9uZW50cywgc3VjaCBhcyBpbmNvcnBvcmF0aW5nIGNob2xlc3Rlcm9sIGRlcml2YXRpdmVzLCBjb3VsZCBlbmhhbmNlIGNlbGx1bGFyIHVwdGFrZSBhbmQgb3ZlcmFsbCBlZmZpY2FjeS4gQWRkaXRpb25hbGx5LCB0aGV5IGNvbmZpcm1lZCB0aGUgcG9zc2liaWxpdHkgb2YgaW5jb3Jwb3JhdGluZyBhbnRpYm9kaWVzIGludG8gTE5QcyBhbmQgZW1waGFzaXplZCB0aGUgaW1wb3J0YW5jZSBvZiBjb25zaWRlcmluZyBpbnRlbGxlY3R1YWwgcHJvcGVydHkgd2hlbiBzZWxlY3RpbmcgbGlwaWRzIGZvciBjb21tZXJjaWFsIHVzZS4gVGhleSBhbHNvIHNob3dlZCBvcGVubmVzcyB0byBjb2xsYWJvcmF0aW9uLCBcbiAgICAgIGluY2x1ZGluZyBvZmZlcmluZyBkaXNjb3VudHMgaW4gZXhjaGFuZ2UgZm9yIHJlY29nbml0aW9uIGluIHB1YmxpY2F0aW9ucy4gXG4gICAgICBUaGUgaW50ZXJhY3Rpb24gd2l0aCBDb3JkZW4gUGhhcm1hIHByb3ZpZGVkIHNldmVyYWwga2V5IGluc2lnaHRzOjwvcD4sXG4gICAgICA8dWw+XG4gICAgICAgIDxsaT48c3Ryb25nPlNwcmF5IERyeWluZyBGZWFzaWJpbGl0eTo8L3N0cm9uZz4gQ29yZGVuIFBoYXJtYSBoYXNuXHUyMDE5dCBleHBsb3JlZCBzcHJheSBkcnlpbmcgZXh0ZW5zaXZlbHk7IGNvbnN1bHRhdGlvbiB3aXRoIHNwZWNpYWxpc3RzIGlzIHJlY29tbWVuZGVkIGZvciBhc3Nlc3NpbmcgZmVhc2liaWxpdHkgYW5kIGxpcGlkIHN0YWJpbGl0eS48L2xpPlxuICAgICAgICA8bGk+PHN0cm9uZz5MTlAgU3RhYmlsaXR5Ojwvc3Ryb25nPiBTdGFiaWxpdHkgb2YgTE5QcywgcGFydGljdWxhcmx5IGZvciBpbmhhbGF0aW9uIHRoZXJhcGllcywgbmVlZHMgZW1waXJpY2FsIHRlc3RpbmcsIGNvbnNpZGVyaW5nIHNoZWFyIGZvcmNlcyBhbmQgdGhlIHBvdGVudGlhbCB1c2Ugb2YgY3J5b3Byb3RlY3RhbnRzIG9yIHRlbXBlcmF0dXJlIGNvbnRyb2wuPC9saT5cbiAgICAgICAgPGxpPjxzdHJvbmc+TGlwaWQgU2VsZWN0aW9uIGluIEtpdHM6PC9zdHJvbmc+IFN0YXJ0ZXIga2l0cyB1c2Ugd2VsbC1yZXNlYXJjaGVkIGxpcGlkIGNvbWJpbmF0aW9ucywgdGVzdGVkIGZvciBzdGFiaWxpdHksIGVuY2Fwc3VsYXRpb24gZWZmaWNpZW5jeSwgYW5kIHBvdGVuY3kuIFRoZXkgcHJvdmlkZSBtYXRlcmlhbHMgZm9yIG11bHRpcGxlIGV4cGVyaW1lbnRhbCBiYXRjaGVzLjwvbGk+XG4gICAgICAgIDxsaT48c3Ryb25nPkxpcGlkIE1vZGlmaWNhdGlvbnM6PC9zdHJvbmc+IEV4cGxvcmluZyBhbHRlcm5hdGl2ZSBsaXBpZHMgKGUuZy4sIGNob2xlc3Rlcm9sIGRlcml2YXRpdmVzKSBjb3VsZCBlbmhhbmNlIHN0YWJpbGl0eSBhbmQgY2VsbHVsYXIgdXB0YWtlLCB0YWlsb3JlZCB0byBwcm9qZWN0IG5lZWRzLjwvbGk+XG4gICAgICAgIDxsaT48c3Ryb25nPkFudGlib2R5IEluY29ycG9yYXRpb246PC9zdHJvbmc+IEFudGlib2RpZXMgY2FuIGJlIGluY29ycG9yYXRlZCBpbnRvIExOUHMgZHVyaW5nIHByZXBhcmF0aW9uIG9yIGFmdGVyd2FyZCwgZGVwZW5kaW5nIG9uIHRhcmdldGluZyByZXF1aXJlbWVudHMuPC9saT5cbiAgICAgICAgPGxpPjxzdHJvbmc+SW50ZWxsZWN0dWFsIFByb3BlcnR5Ojwvc3Ryb25nPiBJUCBjb25zaWRlcmF0aW9ucyBhcmUgY3J1Y2lhbCB3aGVuIHNlbGVjdGluZyBsaXBpZHMgZm9yIExOUCBmb3JtdWxhdGlvbnMsIGFzIG1hbnkgbGlwaWRzIGFyZSBwYXRlbnRlZC48L2xpPlxuICAgICAgICA8bGk+PHN0cm9uZz5Db2xsYWJvcmF0aW9uIE9wcG9ydHVuaXRpZXM6PC9zdHJvbmc+IENvcmRlbiBQaGFybWEgaXMgb3BlbiB0byBvZmZlcmluZyBkaXNjb3VudHMgb3IgZm9ybWluZyBwYXJ0bmVyc2hpcHMsIHdpdGggcmVjb2duaXRpb24gaW4gcHVibGljYXRpb25zIG9yIGFja25vd2xlZGdtZW50cy48L2xpPlxuICAgICAgPC91bD5cbiAgICAgIF0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5UaGUgaW5zaWdodHMgZnJvbSBDb3JkZW4gUGhhcm1hIGhhZCBhIG1ham9yIGltcGFjdCBvbiBvdXIgcHJvamVjdCwgZXNwZWNpYWxseSBpbiBzZWxlY3RpbmcgbGlwaWRzIGNyaXRpY2FsIGZvciBMTlAgc3RhYmlsaXR5IGFuZCBvcHRpbWl6aW5nIGdlbmUgdGhlcmFweSBhcHBsaWNhdGlvbnMuIEluaXRpYWxseSwgd2UgdXNlZCB0aGUgQ2F5bWFuIGtpdCwgYnV0IGl0IHdhcyBzdWJvcHRpbWFsIGZvciBkZWxpdmVyaW5nIG91ciBQcmltZWd1aWRlLiBBZnRlciByZWNlaXZpbmcgZmVlZGJhY2ssIHdlIHN3aXRjaGVkIHRvIENvcmRlbiBQaGFybWFcdTIwMTlzIGtpdCAjMiwgd2hpY2ggaW5jbHVkZXMgYWR2YW5jZWQgbGlwaWQgY29tcG9uZW50cyBsaWtlIGNhdGlvbmljIGxpcGlkcyB0aGF0IGltcHJvdmUgY2VsbHVsYXIgdXB0YWtlIGFuZCBlbmhhbmNlIExOUCBzdGFiaWxpdHkuIFRoaXMgc2hpZnQgaGFzIHNpZ25pZmljYW50bHkgYm9vc3RlZCB0aGUgZWZmaWNpZW5jeSBhbmQgcm9idXN0bmVzcyBvZiBvdXIgZm9ybXVsYXRpb25zLiBcbiAgICAgIEFkZGl0aW9uYWxseSwgQ29yZGVuIFBoYXJtYSdzIGd1aWRhbmNlIG9uIGxpcGlkIG1vZGlmaWNhdGlvbnMgYW5kIGFudGlib2R5IGluY29ycG9yYXRpb24gb3BlbmVkIG5ldyBwb3NzaWJpbGl0aWVzIGZvciB0YXJnZXRlZCB0aGVyYXBpZXMuIFRoZXNlIGluc2lnaHRzIG5vdCBvbmx5IGltcHJvdmVkIG91ciB0ZWNobmljYWwgYXBwcm9hY2ggYnV0IGFsc28gcGF2ZWQgdGhlIHdheSBmb3IgcG90ZW50aWFsIGNvbGxhYm9yYXRpb25zLCBvZmZlcmluZyBjb3N0IGJlbmVmaXRzIGFuZCBpbmNyZWFzZWQgc2NpZW50aWZpYyByZWNvZ25pdGlvbi4gVGhlIGZlZWRiYWNrIHdpbGwgY29udGludWUgdG8gc2hhcGUgb3VyIHRlc3RpbmcgcHJvY2VzcyBhbmQgaW1wcm92ZSB0aGVyYXBldXRpYyBkZWxpdmVyeS4gPC9wPl0sXG4gICAgaW50ZXJ2aWV3OiA8PlxuICAgIDxRYUJveCBxPVwiSXMgaXQgcG9zc2libGUgdG8gZHJ5IHRoZSBMTlBzIGRlc2lnbmVkIGJ5IENvcmRlbiBQaGFybWEsIHN1Y2ggYXMgdGhyb3VnaCBzcHJheSBkcnlpbmc/XCIgYT1cIkl0IGhhcyBub3QgYmVlbiBjb25maXJtZWQgd2hldGhlciBMTlBzIGhhdmUgYmVlbiBzdWNjZXNzZnVsbHkgZHJpZWQgdXNpbmcgc3ByYXkgZHJ5aW5nLiBGdXJ0aGVyIGludmVzdGlnYXRpb24gb3IgY29uc3VsdGF0aW9uIHdpdGggYSBzcGVjaWFsaXplZCBjb21wYW55IHdvdWxkIGJlIHJlcXVpcmVkIHRvIGRldGVybWluZSBmZWFzaWJpbGl0eS5cIi8+XG4gICAgPFFhQm94IHE9XCJIb3cgaXMgc3RhYmlsaXR5IGVuc3VyZWQgaW4gTE5QcywgcGFydGljdWxhcmx5IGZvciB1c2UgaW4gaW5oYWxhdGlvbiB0aGVyYXB5P1wiIGE9XCJUaGUgc3RhYmlsaXR5IGxhcmdlbHkgZGVwZW5kcyBvbiB0aGUgc3BlY2lmaWMgbGlwaWQgYW5kIFJOQSBjb21wb25lbnRzIHVzZWQgaW4gdGhlIGZvcm11bGF0aW9uLiBXaGlsZSB0aGUgc3RhYmlsaXR5IG9mIGluZGl2aWR1YWwgbGlwaWRzIGNhbiBiZSBhc3Nlc3NlZCwgdGhlIG92ZXJhbGwgc3RhYmlsaXR5IG9mIGEgbmV3IExOUCBmb3JtdWxhdGlvbiByZXF1aXJlcyBlbXBpcmljYWwgdGVzdGluZyB1bmRlciB2YXJpb3VzIGNvbmRpdGlvbnMuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGFyZSBsaXBpZCBjb21iaW5hdGlvbnMgc2VsZWN0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgTE5QIHN0YXJ0ZXIga2l0cywgYW5kIHdoYXQgdGVzdGluZyBpcyBjb25kdWN0ZWQ/XCIgYT1cIkxpcGlkIGNvbWJpbmF0aW9ucyBpbiB0aGUgTE5QIHN0YXJ0ZXIga2l0cyBhcmUgc2VsZWN0ZWQgYmFzZWQgb24ga25vd24gaW50ZXJhY3Rpb25zLCBwYXJ0aWN1bGFybHkgaW4gZm9ybXVsYXRpb25zIGNvbnRhaW5pbmcgUk5BLiBUZXN0aW5nIGlzIGNvbmR1Y3RlZCB0byBhc3Nlc3MgcGh5c2ljYWwtY2hlbWljYWwgcHJvcGVydGllcywgZW5jYXBzdWxhdGlvbiBlZmZpY2llbmN5LCBhbmQgb3ZlcmFsbCBwb3RlbmN5LiBUaGUga2l0cyBhcmUgZGVzaWduZWQgdG8gcHJvdmlkZSBzdWZmaWNpZW50IG1hdGVyaWFsIGZvciBtdWx0aXBsZSBleHBlcmltZW50YWwgYmF0Y2hlcy5cIi8+XG4gICAgPFFhQm94IHE9XCJJcyBpdCBhZHZpc2FibGUgdG8gbW9kaWZ5IHRoZSBsaXBpZCBjb21wb25lbnRzIGluIGFuIGV4aXN0aW5nIExOUCBmb3JtdWxhdGlvbj9cIiBhPVwiSXQgaXMgZ2VuZXJhbGx5IGFkdmlzYWJsZSB0byBjb25zaWRlciBhbHRlcm5hdGl2ZSBsaXBpZCBjb21wb25lbnRzLCBhcyBkaWZmZXJlbnQgbGlwaWRzIG1heSBvZmZlciBpbXByb3ZlZCBzdGFiaWxpdHkgb3IgZWZmaWNhY3kuIEhvd2V2ZXIsIHRoZSBzcGVjaWZpYyBuZWVkcyBvZiB0aGUgcHJvamVjdCB3aWxsIGRpY3RhdGUgd2hldGhlciBjaGFuZ2VzIGFyZSBuZWNlc3NhcnkuXCIvPlxuICAgIDxRYUJveCBxPVwiSXMgaXQgcG9zc2libGUgdG8gaW5jb3Jwb3JhdGUgYW50aWJvZGllcyBpbnRvIExOUHMsIGFuZCB3aGF0IGlzIHRoZSByZWNvbW1lbmRlZCBhcHByb2FjaD9cIiBhPVwiWWVzLiBJbmNvcnBvcmF0aW9uIG9mIGFudGlib2RpZXMgaW50byBMTlBzIGlzIHBvc3NpYmxlLiBUaGlzIGNhbiBiZSBhY2hpZXZlZCBlaXRoZXIgZHVyaW5nIHRoZSBpbml0aWFsIHByZXBhcmF0aW9uIHBoYXNlIG9yIGJ5IGluY3ViYXRpbmcgYW50aWJvZGllcyB3aXRoIExOUHMgYWZ0ZXIgdGhlaXIgZm9ybWF0aW9uLCBkZXBlbmRpbmcgb24gd2hldGhlciBzdXJmYWNlIG9yIGludGVybmFsIGxvY2FsaXphdGlvbiBvZiBhbnRpYm9kaWVzIGlzIGRlc2lyZWQuIFJlZmVyZW5jZSB0byBzcGVjaWZpYyBzdHVkaWVzIG1heSBwcm92aWRlIGZ1cnRoZXIgZ3VpZGFuY2UuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hhdCBpcyBDb3JkZW4gUGhhcm1hJ3MgcG9zaXRpb24gb24gcHJvamVjdHMgaW52b2x2aW5nIGdlbmUgdGhlcmFweT9cIiBhPVwiQ29yZGVuIFBoYXJtYSBvcGVyYXRlcyBhcyBhIHNlcnZpY2UgcHJvdmlkZXIsIGZvY3VzaW5nIG9uIHRoZSBtYW51ZmFjdHVyaW5nIG9mIGFjdGl2ZSBwaGFybWFjZXV0aWNhbCBpbmdyZWRpZW50cyAoQVBJcykgYW5kIGV4Y2lwaWVudHMgcmF0aGVyIHRoYW4gZGV2ZWxvcGluZyB0aGVyYXBldXRpYyBwcm9kdWN0cy4gQ29uc2lkZXJhdGlvbiBzaG91bGQgYmUgZ2l2ZW4gdG8gdGhlIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBzdGF0dXMgb2YgdGhlIGxpcGlkcyB1c2VkIGluIExOUCBmb3JtdWxhdGlvbnMsIHBhcnRpY3VsYXJseSBmb3IgY29tbWVyY2lhbCBhcHBsaWNhdGlvbnMuXCIvPlxuICAgIDxRYUJveCBxPVwiSXMgaXQgcG9zc2libGUgdG8gb2J0YWluIGEgZGlzY291bnQgb24gTE5QIHN0YXJ0ZXIga2l0cyBvciBlc3RhYmxpc2ggYSBjb2xsYWJvcmF0aXZlIHJlbGF0aW9uc2hpcCB3aXRoIENvcmRlbiBQaGFybWE/XCIgYT1cIldlIHdvdWxkIG5lZWQgdG8gZGlzY3VzcyB0aGlzIGludGVybmFsbHkgYnV0IGdlbmVyYWxseSB3ZSB3b3VsZCBiZSBvcGVuIHRvIHBvdGVudGlhbCBjb2xsYWJvcmF0aW9ucyB0aGF0IGNvdWxkIGludm9sdmUgcmVjb2duaXRpb24gaW4gcHVibGljYXRpb25zIG9yIG90aGVyIGZvcm1zIG9mIGFja25vd2xlZGdtZW50LCBwZW5kaW5nIGFwcHJvdmFsIGZyb20gcmVsZXZhbnQgbWFuYWdlbWVudC5cIi8+XG4gICAgPC8+LFxuICAgIHN1bW1hcnk6IFwiVGhlIHByaW1hcnkgZ29hbCBvZiB0aGUgY29tbXVuaWNhdGlvbiB3aXRoIFN0ZWZmZW4gQmlyYSBhbmQgU2VycmEgR1x1MDBGQ3JjYW4gZnJvbSBDb3JkZW4gUGhhcm1hIHdhcyB0byBleHBsb3JlIHRoZSB1c2Ugb2YgTGlwaWQgTmFub3BhcnRpY2xlcyAoTE5QcykgaW4gZ2VuZSB0aGVyYXB5IGFuZCBpbmhhbGF0aW9uIHRyZWF0bWVudHMuIENvcmRlbiBQaGFybWEgcmVjb21tZW5kZWQgY29uc3VsdGluZyBzcGVjaWFsaXN0cyBmb3IgYXNzZXNzaW5nIHNwcmF5IGRyeWluZyBmZWFzaWJpbGl0eSwgd2hpbGUgaGlnaGxpZ2h0aW5nIHRoZSBpbXBvcnRhbmNlIG9mIHRlc3RpbmcgTE5QIHN0YWJpbGl0eSB1bmRlciB2YXJpb3VzIGNvbmRpdGlvbnMuIFRoZWlyIExOUCBzdGFydGVyIGtpdHMgYXJlIG9wdGltaXplZCBmb3Igc3RhYmlsaXR5IGFuZCBlbmNhcHN1bGF0aW9uIGVmZmljaWVuY3ksIHdpdGggcG90ZW50aWFsIGZvciBsaXBpZCBtb2RpZmljYXRpb25zIHRvIGVuaGFuY2UgY2VsbHVsYXIgdXB0YWtlLiBUaGV5IGFsc28gY29uZmlybWVkIHRoYXQgYW50aWJvZGllcyBjYW4gYmUgaW5jb3Jwb3JhdGVkIGludG8gTE5QcyBhbmQgZW1waGFzaXplZCBjb25zaWRlcmluZyBpbnRlbGxlY3R1YWwgcHJvcGVydHkgd2hlbiBzZWxlY3RpbmcgbGlwaWRzLiBCYXNlZCBvbiBDb3JkZW4gUGhhcm1hXHUyMDE5cyBpbnNpZ2h0cywgd2Ugc3dpdGNoZWQgdG8gdGhlaXIga2l0ICMyIGZvciBvdXIgcHJvamVjdCwgIGhvcGluZyB0byBpbXByb3ZlIHRoZSBzdGFiaWxpdHkgYW5kIGVmZmljaWVuY3kgb2Ygb3VyIExOUCBmb3JtdWxhdGlvbnMuIFRoZWlyIGd1aWRhbmNlIGFsc28gb3BlbmVkIG9wcG9ydHVuaXRpZXMgZm9yIHRhcmdldGVkIHRoZXJhcGllcyBhbmQgY29sbGFib3JhdGlvbnMuIFRoaXMgZmVlZGJhY2sgd2lsbCBjb250aW51ZSB0byBlbmhhbmNlIG91ciB0ZXN0aW5nIGFuZCB0aGVyYXBldXRpYyBhcHByb2FjaGVzLlwiLFxuICAgIG1vbnRoczogXCJqdWx5XCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvaHAtY29yZGVuLXpvb20ucG5nXCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiJ01JTlQgU29tbWVyJ1wiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydtaW50J10sXG4gICAgdGFnOiBcIkVkdWNhdGlvblwiLFxuICAgIGhlYWRpbmc6IFwiSW5ub3ZhdGl2ZSBtaW5kcyB1bml0ZTogaUdFTSdzIHBhcnRpY2lwYXRpb24gaW4gJ01JTlQgU29tbWVyJ1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcIm1pbnRocHRpbWVcIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIkxhbmdlLCBUZWFtbWVtYmVyXCIsXG4gICAgcXVvdGVWb3JuYW1lOiBcIktheWFcIixcbiAgICBxdW90ZTogXCJJdCB3YXMgYW1hemluZyB0byBzZWUgaG93IGV4Y2l0aW5nIHRoZSBjb252ZXJzYXRpb25zIHdlcmUgd2l0aCBmdXR1cmUgU1RFTSBzY2llbnRpc3RzIGFuZCB0byBoZWFyIHRoZSBmcmVzaCBwZXJzcGVjdGl2ZXMgZnJvbSB5b3VuZyBtaW5kcy4gVGhlIGVudGlyZSBleHBlcmllbmNlIHdhcyBib3RoIGluc3BpcmluZyBhbmQgZW5lcmdpemluZy5cIixcbiAgICBzdW1tYXJ5OiBbPHA+TUlOVCBTb21tZXIgMjAyNCBbTGluayBNaW50IFNvbW1lciB1bnRlbl0gaXMgYSBwcm9ncmFtIGZvciBoaWdoIHNjaG9vbCBncmFkdWF0ZXMgaW50ZXJlc3RlZCBpbiBTVEVNIGZpZWxkcywgYW5kIGlHRU0gQmllbGVmZWxkIHBhcnRpY2lwYXRlZCB0byByYWlzZSBhd2FyZW5lc3MgYWJvdXQgQ0YgYW5kIHByb21vdGUgdGhlaXIgZ2VuZSB0aGVyYXB5IHJlc2VhcmNoLiBUaGUgdGVhbSBlbmdhZ2VkIGZ1dHVyZSBzY2llbnRpc3RzLCBleHBsYWluaW5nIHRoZSBpR0VNIGNvbXBldGl0aW9uIGFuZCB0aGVpciBzeW50aGV0aWMgYmlvbG9neSBhcHByb2FjaCB0byBhZGRyZXNzIENGLiBVc2luZyBpbnNpZ2h0cyBmcm9tIHByZXZpb3VzIHdvcmtzaG9wcywgdGhleSBkZXNpZ25lZCBpbnRlcmFjdGl2ZSBhY3Rpdml0aWVzIHRvIG1ha2UgdGhlIGNvbXBsZXhpdGllcyBvZiBDRiBhY2Nlc3NpYmxlIHRvIGF0dGVuZGVlcy4gT3ZlciB0d28gd2Vla3MsIHRoZXkgZm9ybWVkIG1lYW5pbmdmdWwgY29ubmVjdGlvbnMgd2l0aCBwcm9mZXNzb3JzLCBzdHVkZW50cywgYW5kIFNURU0gcHJvZmVzc2lvbmFscywgZW5yaWNoaW5nIHRoZWlyIHJlc2VhcmNoIGRpc2N1c3Npb25zLiBPdmVyYWxsLCB0aGUgZXZlbnQgaGVscGVkIGltcHJvdmUgdGhlaXIgc2NpZW5jZSBjb21tdW5pY2F0aW9uIHNraWxscyBhbmQgZm9zdGVyZWQgdmFsdWFibGUgcHJvZmVzc2lvbmFsIGdyb3d0aC48L3A+XSxcbiAgICBtb250aHM6IFwiSnVseVwiXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJEci5cIixcbiAgICB2b3JuYW1lOiBcIlN2ZW5qYVwiLFxuICAgIG5hY2hubmFtZTogXCJWaW5rZVwiLFxuICAgIGpvYjogXCJQb3N0RG9jXCIsXG4gICAgYWZmaWxpYXRpb246IFwiYXQgRGVwYXJ0bWVudCBvZiBHZW5ldGljcywgSGFydmFyZCBNZWRpY2FsIFNjaG9vbCwgZm9ybWVyIGlHRU1lclwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3N2ZW5qYSddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiSW5zaWdodHMgb24gdGhlIEZlYXNpYmlsaXR5IG9mIFBBQ0UgZm9yIFByaW1lIEVkaXRpbmcgT3B0aW1pemF0aW9uXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwic3ZlbmphXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZTogXCJUaGUgU2FmZXR5IGFuZCBTZWN1cml0eSBBd2FyZCBhdCBpR0VNIHVuZGVyc2NvcmVzIGNvbW1pdG1lbnQgdG8gcmVzcG9uc2libGUgcmVzZWFyY2ggYW5kIGlubm92YXRpb24sIGVuc3VyaW5nIHRoYXQgdGhlIHByb2plY3RzIHByaW9yaXRpemUgdGhlIHdlbGwtYmVpbmcgb2YgcGVvcGxlIGFuZCB0aGUgZW52aXJvbm1lbnQgd2hpbGUgYWR2YW5jaW5nIHN5bnRoZXRpYyBiaW9sb2d5LlwiLFxuICAgIHF1b3RlTmFjaG5hbWU6IFwiVmlua2UgLE1lbWJlciBvZiB0aGUgU2FmZXR5IGFuZCBTZWN1cml0eSBDb21taXR0ZWUgYXQgaUdFTSBIUSBcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiRHIuIFN2ZW5qYVwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPldlIGNvbnRhY3RlZCBTdmVuamEgVmlua2UsIGEgZm9ybWVyIGlHRU1lciBmcm9tIEJpZWxlZmVsZCBhbmQgTWVtYmVyIG9mIHRoZSBTYWZldHkgYW5kIFNlY3VyaXR5IENvbW1pdHRlZSBhdCBpR0VNIEhRICwgdG8gZ2V0IGhlciBpbnNpZ2h0IGFuZCBoZXIgb3BpbmlvbiByZWdhcmRpbmcgdGhlIHVzZSBvZiBwaGFnZSBhc3Npc3RlZCBjb250aW51b3VzIGV2b2x1V2UgY29udGFjdGVkIFN2ZW5qYSBWaW5rZSwgYSBmb3JtZXIgaUdFTWVyIGZyb20gQmllbGVmZWxkLCB0byBnZXQgaGVyIGluc2lnaHQgYW5kIGhlciBvcGluaW9uIHJlZ2FyZGluZyB0aGUgdXNlIG9mIHBoYWdlIGFzc2lzdGVkIGNvbnRpbnVvdXMgZXZvbHV0aW9uXG4gICAgICAoUEFDRSwgc2VlIGVuZ2luZWVyaW5nIGN5Y2xlIDFbTGlua10pIGZvciBvdXIgcHJpbWUgZWRpdGluZyBvcHRpbWl6YXRpb25zLiBTdmVuamEgd29ya3MgYXQgdGhlIGlHRU0gU2FmZXR5IGFuZCBTZWN1cml0eSBDb21taXR0ZWUuIEFkZGl0aW9uYWxseSwgc2hlIHdhcyBwYXJ0IG9mIHRoZSBCaW9zYWZldHkgYW5kIFNlY3VyaXR5IEF3YXJkIFRlYW0gb2YgQmllbGVmZWxkIFVuaXZlcnNpdHkgaW4gMjAxNi48L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPlN2ZW5qYSBleHBsYWluZWQsIHRoYXQgYSBQQUNFIGFwcHJvYWNoIGlzIG5vdCBmZWFzaWJsZSB0byB1c2UgZm9yIG9wdGltaXphdGlvbiBvZiBvdXIgbmlja2FzZSBjYW5kaWRhdGVzIGJlY2F1c2Ugb2Ygc2V2ZXJhbCByZWFzb25zOjwvcD4sXG4gICAgPHVsPlxuICAgICAgPGxpPkltcGxlbWVudGluZyBhIFBBQ0Ugc3lzdGVtIHRha2VzIHdheSB0b28gbXVjaCB0aW1lIHRvIHVzZSBmb3Igb3VyIHByb2plY3QuPC9saT5cbiAgICAgIDxsaT5FbmRvbnVjbGVhc2VzIG1pZ2h0IGJlIHRvbyBiaWcgdG8gb3B0aW1pemUgdXNpbmcgUEFDRS48L2xpPlxuICAgICAgPGxpPlVuc3BlY2lmaWMgY3V0dGluZyBvciBuaWNraW5nIGluIHRoZSBiYWN0ZXJpYWwgZ2Vub21lIGtpbGxzIHRoZSBjZWxscywgd2hpY2ggbWFrZXMgb3B0aW1pemF0aW9uIG9mIGVuZG9udWNsZWFzZXMgdmVyeSBjaGFsbGVuZ2luZy48L2xpPlxuICAgICAgPGxpPlByaW1lIGVkaXRpbmcgaW4gRS4gY29saSBjZWxscyBpcyBsZXNzIGVmZmVjdGl2ZSBjb21wYXJlZCB0byBodW1hbiBjZWxscywgd2hpY2ggbWlnaHQgaW1wYWlyIHRoZSBldm9sdXRpb24gcHJvY2Vzcy48L2xpPlxuICAgIDwvdWw+XG4gICAgXSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPk9uIHRoZSBiYXNpcyBvZiBTdmVuamFcdTIwMTlzIGFuZCBvdGhlciBvcGluaW9ucyBvbiB0aGUgdG9waWMsIHdlIGRlY2lkZWQgbm90IHRvIHRyeSBpbXBsZW1lbnRpbmcgYSBQQUNFIHN5c3RlbS4gPC9wPl0sXG4gICAgc3VtbWFyeTogXCJXZSByZWFjaGVkIG91dCB0byBTdmVuamEgVmlua2UsIGEgZm9ybWVyIGlHRU1lciBhbmQgUG9zdGRvYywgdG8gZ2FpbiBpbnNpZ2h0cyBvbiB1c2luZyBwaGFnZS1hc3Npc3RlZCBjb250aW51b3VzIGV2b2x1dGlvbiAoUEFDRSkgZm9yIG9wdGltaXppbmcgb3VyIHByaW1lIGVkaXRpbmcuIFN2ZW5qYSBleHBsYWluZWQgdGhhdCBhIFBBQ0UgYXBwcm9hY2ggaXMgbm90IGZlYXNpYmxlIGZvciBvdXIgbmlja2FzZSBjYW5kaWRhdGVzIGR1ZSB0byBzZXZlcmFsIHJlYXNvbnM6IGl0IHJlcXVpcmVzIHRvbyBtdWNoIHRpbWUsIGVuZG9udWNsZWFzZXMgYXJlIGxpa2VseSB0b28gbGFyZ2UgZm9yIG9wdGltaXphdGlvbiwgdW5zcGVjaWZpYyBjdXR0aW5nIGNhbiBraWxsIGJhY3RlcmlhbCBjZWxscywgYW5kIHByaW1lIGVkaXRpbmcgaXMgbGVzcyBlZmZlY3RpdmUgaW4gRS4gY29saSB0aGFuIGluIGh1bWFuIGNlbGxzLiBCYXNlZCBvbiBTdmVuamEncyBmZWVkYmFjayBhbmQgb3RoZXIgZXhwZXJ0IG9waW5pb25zLCB3ZSBkZWNpZGVkIGFnYWluc3QgaW1wbGVtZW50aW5nIGEgUEFDRSBzeXN0ZW0gZm9yIG91ciBwcm9qZWN0LlwiLFxuICAgIG1vbnRoczogXCJKdWx5XCJcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIkRyLlwiLFxuICAgIHZvcm5hbWU6IFwiRXZhLU1hcmlhXCIsXG4gICAgbmFjaG5uYW1lOiBcIkJlcmVuc1wiLFxuICAgIGpvYjogXCJFdGhpY3MgQ29tbWl0dGVlIG9mIEJpZWxlZmVsZCBVbml2ZXJzaXR5XCIsXG4gICAgYWZmaWxpYXRpb246IFwiQmllbGVmZWxkIFVuaXZlcnNpdHlcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydiZXJlbnMnXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIkJpb2V0aGljczogQmVzdCBQcmFjdGljZXMgZm9yIEhhbmRsaW5nIFBhdGllbnQgRGF0YSBhbmQgUHJpbWFyeSBDZWxsc1wiLCAvKiBHdWlkYW5jZSBmcm9tIEV0aGljcyBDb21taXR0ZWUgb24gQmVzdCBQcmFjdGljZXMgZm9yIFBhdGllbnQgRGF0YSBhbmQgUHJpbWFyeSBDZWxscyAqL1xuICAgIGludGVydmlld3RhYmlkOiBcImJlcmVuc1wiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgcXVvdGU6IFwiVGhlIG1vc3QgaW1wb3J0YW50IHRoaW5nIGlzIGEgZGV0YWlsZWQgbGV0dGVyIG9mIGNvbnNlbnQgYW5kIGEgZGV0YWlsZWQgcHJpdmFjeSBwb2xpY3kuIFRoaXMgbXVzdCBleHBsYWluIHRvIHRoZSBwYXRpZW50IGFzIHByZWNpc2VseSBhcyBwb3NzaWJsZSB3aGF0IGhhcHBlbnMgdG8gdGhlaXIgY2VsbHMgYW5kIGRhdGEsIGFzIHdlbGwgYXMgdGhlIHRpbWUgc3Bhbiwgd2hpY2ggcGVvcGxlIGFyZSBpbnZvbHZlZCBvciBoYXZlIGFjY2VzcyB0byB0aGUgY2VsbHMgYW5kIGhvdy5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiVGhlIGFpbSBvZiB0aGUgaW50ZXJ2aWV3IHdhcyB0byBnZXQgYW4gYW5zd2VyIHRvIHRoZSBxdWVzdGlvbiBvZiB3aGV0aGVyIHdlIG5lZWQgYW4gZXRoaWNzIHZvdGUgZm9yIG91ciBwcm9qZWN0IG9yIG5vdCBhbmQgdG8gb2J0YWluIGd1aWRlbGluZXMgZm9yIGRlYWxpbmcgd2l0aCBwYXRpZW50IGNlbGxzIHJlZ2FyZGluZyBldGhpY2FsIGlzc3VlcyBhbmQgZGF0YSBwcm90ZWN0aW9uLiBcIixcbiAgICBpbnNpZ2h0czogXCJUaGUgZGlzY3Vzc2lvbiB3YXMgdmVyeSBpbmZvcm1hdGl2ZSBpbiB0ZXJtcyBvZiBob3cgd2Ugc2hvdWxkIGFwcHJvYWNoIHRoaXMgdG9waWMgYW5kIGZvY3VzZWQgcHJpbWFyaWx5IG9uIHRoZSBpbXBvcnRhbnQgZmFjdG9ycyB0aGF0IG5lZWQgdG8gYmUgY29uc2lkZXJlZCB3aGVuIHBsYW5uaW5nIHRoZSBoYW5kbGluZyBvZiBwYXRpZW50IGNlbGxzLiBUaGVzZSBpbmNsdWRlIHdoaWNoIGxlZ2FsIHByaW5jaXBsZXMgbmVlZCB0byBiZSBvYnNlcnZlZCwgZGF0YSBwcm90ZWN0aW9uLCBldGhpY2FsIGNvbnNpZGVyYXRpb25zIGFuZCwgYWJvdmUgYWxsLCBkZXRhaWxlZCBhbmQgc3BlY2lmaWMgaW5mb3JtYXRpb24gZm9yIHRoZSBkb25vci4gSXQgYWxzbyBtYWRlIHVzIGxvb2sgYXQgdGhlIHNpdHVhdGlvbiBmcm9tIG1hbnkgZGlmZmVyZW50IGFuZ2xlcyBhbmQgY29uc2lkZXIgdGhlIHJpc2tzIG9mIHdvcnN0LWNhc2Ugc2NlbmFyaW9zLiBPdmVyYWxsLCB0aGlzIGludGVydmlldyB3YXMgdmVyeSB1c2VmdWwgdG8gdXMsIGFuZCB3ZSB3ZXJlIGFibGUgdG8gdXNlIHRoZSBpbmZvcm1hdGlvbiB3ZSBnYWluZWQgdG8gZGV2ZWxvcCBhIGtpbmQgb2YgZ3VpZGVsaW5lIHRoYXQgYWxsb3dlZCB1cyB0byBhcHByb2FjaCB0aGlzIHNlbnNpdGl2ZSB0b3BpYywgd2hpY2ggd2FzIG5ldyB0byB1cywgd2l0aCBhIGNlcnRhaW4gZGVncmVlIG9mIGNvbmZpZGVuY2UuIFwiLFxuICAgIGltcGxlbWVudGF0aW9uOiBcIkJhc2VkIG9uIHRoZSBrbm93bGVkZ2Ugd2UgaGF2ZSBnYWluZWQsIHdlIGhhdmUgZHJhd24gdXAgZ3VpZGVsaW5lcyBmb3Igb3VyIGhhbmRsaW5nIG9mIHRoZSBjZWxscy4gV2UgdXNlZCB0aGlzIGd1aWRlIHdoZW4gaGFuZGxpbmcgdGhlIHBhdGllbnQgY2VsbHMsIHRvIGVuc3VyZSB0aGV5IHdlcmUgaGFuZGxlZCBpbiBhbiBldGhpY2FsbHkgY29ycmVjdCBtYW5uZXIuXCIsXG4gICAgc3VtbWFyeTogXCJUaGlzIGludGVydmlldyBmb2N1c2VkIG9uIHRoZSBldGhpY2FsIGFuZCBsZWdhbCBjb25zaWRlcmF0aW9ucyBvZiBoYW5kbGluZyBwYXRpZW50IGNlbGxzLCB3ZSBzb3VnaHQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgb3VyIHByb2plY3QgcmVxdWlyZWQgYW4gZXRoaWNzIHZvdGUgYW5kIHRvIGdhdGhlciBndWlkZWxpbmVzIG9uIGRhdGEgcHJvdGVjdGlvbiBhbmQgcGF0aWVudCBjb25zZW50LiBUaGUgZXhwZXJ0IGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgcHJvdmlkaW5nIHBhdGllbnRzIHdpdGggYSBkZXRhaWxlZCBjb25zZW50IGxldHRlciBhbmQgcHJpdmFjeSBwb2xpY3ksIGNsZWFybHkgZXhwbGFpbmluZyBob3cgdGhlaXIgY2VsbHMgYW5kIGRhdGEgd2lsbCBiZSB1c2VkLCB3aG8gd2lsbCBoYXZlIGFjY2VzcywgYW5kIHRoZSB0aW1lIHNwYW4gaW52b2x2ZWQuIFRoaXMgY29udmVyc2F0aW9uIGhlbHBlZCB1cyB1bmRlcnN0YW5kIGtleSBsZWdhbCBhbmQgZXRoaWNhbCBwcmluY2lwbGVzLCBlc3BlY2lhbGx5IHJlZ2FyZGluZyB0cmFuc3BhcmVuY3kgd2l0aCBkb25vcnMuIFdlIHVzZWQgdGhlc2UgaW5zaWdodHMgdG8gZGV2ZWxvcCBndWlkZWxpbmVzIGZvciBoYW5kbGluZyBwYXRpZW50IGNlbGxzLCBlbnN1cmluZyB3ZSBhcHByb2FjaGVkIHRoaXMgc2Vuc2l0aXZlIHByb2Nlc3Mgd2l0aCBjb25maWRlbmNlIGFuZCBldGhpY2FsIGNhcmUuXCIsXG4gICAgbW9udGhzOiBcIkp1bHlcIixcbiAgICBwaWN0dXJldXJsX2ludGVydmlldzpcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2ludGVncmF0ZWQtaHVtYW4tcHJhY3RpY2VzL2ludGVydmlldy1iZXJlbnMud2VicFwiLFxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiTS5TYy5cIixcbiAgICB2b3JuYW1lOiBcIk1hdHRpanNcIixcbiAgICBuYWNobm5hbWU6IFwiQnVsY2FlblwiLFxuICAgIGpvYjogXCJQaEQgUmVzZWFyY2hlciBhdCBMYWJvcmF0b3J5IGZvciBNb2xlY3VsYXIgVmlyb2xvZ3kgJiBHZW5lIFRoZXJhcHlcIixcbiAgICBhZmZpbGlhdGlvbjogXCJLVSBMZXV2ZW5cIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydtYXR0aWpzJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJWaXNpdCBNYXR0aWpzIEJ1bGNhZW4gaW4gTGV1dmVuIGFuZCB0aGUgTGFib3JhdG9yeSBmb3IgTW9sZWN1bGFyIFZpcm9sb2d5ICYgR2VuZSBUaGVyYXB5XCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibWF0dGlqc3Zpc2l0XCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZW5cIixcbiAgICBxdW90ZTogXCJJdCB3YXMgaW1wcmVzc2l2ZSB0byBtZWV0IGhpbSBpbiBwZXJzb24gYW5kIHJlYWxpemUgaG93IGRlZXBseSBrbm93bGVkZ2VhYmxlIGhlIGlzIG9uIHRoZSBzdWJqZWN0OyBoaXMgaW5zaWdodHMgd2VyZSBpbmNyZWRpYmx5IGhlbHBmdWwuXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJNdW5kdCwgVGVhbW1lbWJlclwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJQaGlsaXBcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5BZnRlciBvdXIgZmlyc3QgaW50ZXJ2aWV3IHdpdGggTWF0dGlqcyBCdWxjYWVuIHdlIHN0YXllZCBpbiBjb250YWN0IHZpYSBlbWFpbCBhbmQgZXZlbnR1YWxseSB2aXNpdGVkIGhpbSBpbiBMZXV2ZW4gYXQgaGlzIGxhYm9yYXRvcnkuIEhlcmUgd2Ugd2FudGVkIHRvIGdhaW4gZnVydGhlciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ0ZUUiBGNTA4ZGVsIG1vZGVscyBhbmQgZWRpdGluZyBjb25maXJtYXRpb24uPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD5XZSBzcG9rZSBhYm91dCBhcHByb2FjaGVzIGZvciB0ZXN0aW5nIENGVFIgRjUwOGRlbCBjb3JyZWN0aW9uIGluIG1vZGVscyBhbmQgbWV0aG9kcyBvZiBjb25maXJtYXRpb24uIEluIHRoaXMgY29udGV4dCB3ZSB0YWxrZWQgYWJvdXQgSEVLMjkzVCBjZWxsIGxpbmVzW0xpbmtdIGVzdGFibGlzaGVkIGluIGhpcyBsYWJvcmF0b3J5IHRoYXQgc3RhYmx5IG92ZXJleHByZXNzIENGVFIgd2lsZC10eXBlIGFuZCBGNTA4ZGVsLiBXZSBhbHNvIGRpc2N1c3NlZCBob3cgdG8gaGFuZGxlIHRoZXNlIGNlbGwgbGluZXMuIEhlIGV4cGxhaW5lZCwgdGhhdCB0aGUgQ0ZUUiBpcyBmdXNlZCB3aXRoIGEgM0hBIHRhZywgdGhhdCBpbiB3aWxkLXR5cGUgQ0ZUUiB3b3VsZCBiZSBleHBvc2VkIHRvIHRoZSBleHRyYWNlbGx1bGFyIHNwYWNlIGFuZCB0aGVyZWZvcmUgY2FuIGJlIHVzZWQgZm9yIGltbXVub2hpc3RvY2hlbWljYWwgc3RhaW5pbmcgb2YgdGhlIHByb3RlaW4sIHNob3dpbmcgY29ycmVjdCBwcm90ZWluIHByb2Nlc3NpbmcgYW5kIGNoYW5uZWxsaW5nLiBBbHNvLCB0aGlzIGFsbG93cyBmb3IgYSB3ZXN0ZXJuIGJsb3QgdG8gYmUgbWFkZSB1c2luZyAzSEEgYW50aWJvZGllcy4gRnVuY3Rpb25hbCByZWNvdmVyeSBvZiBDRlRSIGNhbiBhbHNvIGJlIHZpc3VhbGl6ZWQgdXNpbmcgaGFsaWRlIHNlbnNpdGl2ZSBlWUZQIG9yIG9yZ2Fub2lkIGFzc2F5LCB0aGUgbGFkZGVyIE1hdHRpanMgaGFkIGVzdGFibGlzaGVkIGFuIGF1dG9tYXRlZCByZWFkb3V0LiBGdXJ0aGVybW9yZSwgd2UgdGFsa2VkIGFib3V0IGhvdyB0byBoYW5kbGUgU2FuZ2VyIHNlcXVlbmNpbmcgZGF0YSB0byBhbmFseXNlIGVkaXRzIGFuZCBkaXNjdXNzZWQgdGhlIHBvc3NpYmlsaXR5IHRvIGF2b2lkIHRoZSB3ZWFrbmVzc2VzIG9mIFNhbmdlciBzZXF1ZW5jaW5nIGJ5IHVzaW5nIE5hbm9wb3JlIHNlcXVlbmNpbmcgaW5zdGVhZC4gV2UgYXNrZWQgYWJvdXQgdGhlIGFwcGxpY2FiaWxpdHkgb2YgcGF0Y2ggY2xhbXAgYW5hbHlzaXMgaW4gdGhlIGNvbnRleHQgb2YgQ0ZUUiBhbmQgTWF0dGlqcyBzYWlkIHRoYXQsIHRvIGhpcyBrbm93bGVkZ2UsIGl0IGhhcyBub3QgYmVlbiB1c2VkIHRvIHRlc3QgZm9yIHN1Y2Nlc3NmdWwgZWRpdGluZyBpbiBDRlRSLlxuICAgIExhc3RseSBNYXR0aWpzIGV4cGxhaW5lZCBob3cgaGUgcGxhbnMgdG8gZGVsaXZlciB0aGUgcHJpbWUgZWRpdGluZyBjb21wbGV4IHRvIHRoZSBwYXRpZW50LCBhbmQgd2UgZXZhbHVhdGVkIHRoZSBhZHZhbnRhZ2VzIGFuZCBkaXNhZHZhbnRhZ2VzIG9mIGRlbGl2ZXJ5IHN0cmF0ZWdpZXMsIGluY2x1ZGluZyBvdXIgdmVyeSBvd24gTE5QIGFwcHJvYWNoLjwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+V2hlbiBwbGFubmluZyBob3cgdG8gdGVzdCBhbmQgY29uZmlybSBlZGl0aW5nIGJ5IG91ciBvd24gY29uc3RydWN0cywgd2Ugd2VyZSBsYXJnZWx5IGluc3BpcmVkIGJ5IHRoZSBpbmZvcm1hdGlvbiBnaXZlbiB0byB1cyBieSBNYXR0aWpzLiBGb3IgZXhhbXBsZSwgd2UgdGVzdGVkIHByaW1lIGVkaXRpbmcgaW4gdGhlIEhFSzI5MyBjZWxsIGxpbmVzIHdlIHNwb2tlIGFib3V0IHdpdGggTWF0dGlqcyBhbmQgdXNlZCBoYWxpZGUgc2Vuc2l0aXZlIGVZRlAgdG8gY2hlY2sgZm9yIENGVFIgZnVuY3Rpb24uIEFsc28sIHdlIHRyaWVkIGRpZmZlcmVudGlhdGluZyB3aWxkLXR5cGUgYW5kIEY1MDhkZWwgY2VsbHMgdXNpbmcgcGF0Y2ggY2xhbXAuIFVuZm9ydHVuYXRlbHksIGEgbG90IG9mIHRoZSBtZXRob2RzIG1lbnRpb25lZCB3ZXJlIG5vdCB1c2FibGUgZm9yIHVzIGJlY2F1c2Ugb2YgdGltZSBjb25zdHJhaW50cywgYnV0IGFyZSBzdGlsbCB2YWx1YWJsZSBmb3IgZnV0dXJlIHByb2plY3RzIGFuZCByZXNlYXJjaCBidWlsdCB1cG9uIFByZUN5c2UuIDwvcD5dLFxuICAgIHN1bW1hcnk6IFwiV2UgdmlzaXRlZCBNYXR0aWpzIEJ1bGNhZW4gaW4gTGV1dmVuIHRvIGVuaGFuY2Ugb3VyIHVuZGVyc3RhbmRpbmcgb2YgQ0ZUUiBGNTA4ZGVsIG1vZGVscyBhbmQgZWRpdGluZyBjb25maXJtYXRpb24uIER1cmluZyB0aGUgdmlzaXQsIHdlIGV4YW1pbmVkIEhFSzI5M1QgY2VsbCBsaW5lcyB0aGF0IHN0YWJseSBvdmVyZXhwcmVzcyB3aWxkLXR5cGUgQ0ZUUiBhbmQgdGhlIEY1MDhkZWwgdmFyaWFudC4gTWF0dGlqcyBkZW1vbnN0cmF0ZWQgaG93IHRvIHVzZSBhIDNIQSB0YWcgZm9yIHZpc3VhbGl6aW5nIHByb3RlaW4gcHJvY2Vzc2luZyBhbmQgZGlzY3Vzc2VkIG1ldGhvZHMgZm9yIGFzc2Vzc2luZyBDRlRSIGZ1bmN0aW9uYWwgcmVjb3ZlcnkuIFdlIGFsc28gY29tcGFyZWQgU2FuZ2VyIGFuZCBOYW5vcG9yZSBzZXF1ZW5jaW5nIHRlY2huaXF1ZXMgYW5kIGV2YWx1YXRlZCBkZWxpdmVyeSBzdHJhdGVnaWVzIGZvciBvdXIgcHJpbWUgZWRpdGluZyBjb21wbGV4LiBUaGUgaW5zaWdodHMgZnJvbSB0aGlzIHZpc2l0IGd1aWRlZCBvdXIgcHJvamVjdCwgbGVhZGluZyB1cyB0byB0ZXN0IHByaW1lIGVkaXRpbmcgaW4gSEVLMjkzVCBjZWxscyB1c2luZyBoYWxpZGUtc2Vuc2l0aXZlIGVZRlAuIFdoaWxlIHNvbWUgbWV0aG9kcyB3ZXJlIG5vdCBmZWFzaWJsZSBkdWUgdG8gdGltZSBjb25zdHJhaW50cywgdGhleSBsYWlkIHRoZSBncm91bmR3b3JrIGZvciBmdXR1cmUgcmVzZWFyY2ggaW4gdGhlIFByZUN5c2UgcHJvamVjdC5cIixcbiAgICBtb250aHM6IFwianVseVwiXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIkNvbGxhYm9yYXRpb25zXCIsXG4gICAgbmFjaG5uYW1lOiBcImlHRU0gVGVhbSBMaW5rXHUwMEY2cGluZyBcIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydsaW5rXHUwMEY2cGluZyddLFxuICAgIHRhZzogXCJPdGhlclwiLFxuICAgIGhlYWRpbmc6IFwiQ29vcGVyYXRpb24gdG8gY3JlYXRlIGEgTGlwaWQgRGVsaXZlcnkgU3lzdGVtIEhhbmRib29rXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiaGFuZGJvb2tcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiS2F5YVwiLFxuICAgIHF1b3RlTmFjaG5hbWU6IFwiTGFuZ2VcIixcbiAgICBxdW90ZTogXCJXZSB3ZXJlIGdlbnVpbmVseSBleGNpdGVkIHdoZW4gTGlua1x1MDBGNnBpbmcgVW5pdmVyc2l0eSBhcHByb2FjaGVkIHVzIGZvciBjb2xsYWJvcmF0aW9uLiBGcm9tIHRoZSB2ZXJ5IGJlZ2lubmluZywgdGhlaXIgaWRlYXMgcmVzb25hdGVkIHdpdGggdXMsIGFuZCBvdXIgc2hhcmVkIGVudGh1c2lhc20gbGFpZCBhIHN0cm9uZyBmb3VuZGF0aW9uIGZvciBhIHByb2R1Y3RpdmUgcGFydG5lcnNoaXAuIFdlJ3JlIGhhcHB5IHRvIHdvcmsgdG9nZXRoZXIsIGFsc28gd2l0aCB0aGUgb3RoZXIgdGVhbXMsIGFuZCBleHBsb3JlIG5ldyBwb3NzaWJpbGl0aWVzLlwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPlRoZSBpbml0aWFsIGNvbnRhY3QgZm9yIG91ciBjb2xsYWJvcmF0aW9uIGNhbWUgZnJvbSB0aGUgaUdFTSB0ZWFtIDIwMjQgb2YgTGlua1x1MDBGNnBpbmcsIFN3ZWRlbiwgd2hvIGFwcHJvYWNoZWQgdXMgd2l0aCBhIHByb3Bvc2FsIHRvIGNyZWF0ZSBhIFx1MjAxQ0RlbGl2ZXJ5LUJhc2VkIEhhbmRib29rXHUyMDFEW2xpbmsgSGFuZGJvb2tdLiBUaGVpciBnb2FsIHdhcyB0byByZWR1Y2UgdGhlIHN0ZWVwIGxlYXJuaW5nIGN1cnZlIGFzc29jaWF0ZWQgd2l0aCB0aGVzZSB0ZWNobm9sb2dpZXMgYnkgc2hhcmluZyBjb2xsZWN0aXZlIGtub3dsZWRnZSBmcm9tIG11bHRpcGxlIHRlYW1zLCBpbmNsdWRpbmcgb3Vycy4gV2Ugd2VyZSBleGNpdGVkIHRvIGNvbnRyaWJ1dGUgYW5kIGhlbHAgZnV0dXJlIHRlYW1zIG5hdmlnYXRlIHRoZXNlIGNoYWxsZW5nZXMgbW9yZSBlYXNpbHkuIFRoZSBoYW5kYm9vayB3b3VsZCBzZXJ2ZSBhcyBhIHZhbHVhYmxlIHRvb2wuIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+VGhyb3VnaG91dCB0aGUgY29sbGFib3JhdGlvbiwgd2UgZ2FpbmVkIHNpZ25pZmljYW50IGluc2lnaHRzLCBib3RoIHNjaWVudGlmaWMgYW5kIGNvbGxhYm9yYXRpdmUuIEluaXRpYWxseSwgb3VyIG1lZXRpbmdzIHdpdGggdGhlIExpbmtcdTAwRjZwaW5nIHRlYW0gYW5kIG90aGVyIHBhcnRpY2lwYXRpbmcgdGVhbXMgLSBQYXRyYXMsIFJhZGJvdWQtVW5pdmVyc2l0eSBhbmQgVEVSTU9TWi1TZWx5ZS1IVU4gLSB3ZXJlIGludmFsdWFibGUuIFRoZXNlIHNlc3Npb25zIGFsbG93ZWQgdXMgdG8gZXhjaGFuZ2UgaWRlYXMgYW5kIGxlYXJuIGhvdyBlYWNoIHRlYW0gcGxhbm5lZCB0byB1c2UgbGlwaWQtYmFzZWQgZGVsaXZlcnkgc3lzdGVtcyBpbiB0aGVpciBvd24gcHJvamVjdHMuIFRoaXMgbXV0dWFsIHNoYXJpbmcgb2Yga25vd2xlZGdlIG9wZW5lZCBvdXIgZXllcyB0byBuZXcgbWV0aG9kb2xvZ2llcyBhbmQgcG90ZW50aWFsIGFwcGxpY2F0aW9ucyBvZiBMTlBzIGFuZCBsaXBvc29tZXMuIFdlIGFsc28gZ2FpbmVkIGEgZGVlcGVyIGFwcHJlY2lhdGlvbiBmb3IgdGhlIGludGVyZGlzY2lwbGluYXJ5IG5hdHVyZSBvZiB0aGVzZSBzeXN0ZW1zLiBGcm9tIHRoZSBjaGFsbGVuZ2VzIG9mIGZvcm11bGF0aW5nIHN0YWJsZSBwYXJ0aWNsZXMgdG8gb3B0aW1pemluZyB0aGVpciBlZmZpY2llbmN5IGluIHRhcmdldGluZyBjZWxscywgd2UgcmVhbGl6ZWQgdGhlIGNvbXBsZXhpdHkgb2YgdGhlIGZpZWxkIGFuZCBob3cgY29sbGFib3JhdGlvbiBjb3VsZCBoZWxwIG92ZXJjb21lIG1hbnkgb2YgdGhlc2Ugb2JzdGFjbGVzLiBCeSBkaXNjdXNzaW5nIG91ciByZXNwZWN0aXZlIGFwcHJvYWNoZXMsIHdlIHdlcmUgYWJsZSB0byBwb29sIG91ciBleHBlcnRpc2UsIHdoaWNoIG5vdCBvbmx5IGltcHJvdmVkIG91ciB1bmRlcnN0YW5kaW5nIGJ1dCBhbHNvIGVuc3VyZWQgdGhhdCB0aGUgaGFuZGJvb2sgd291bGQgYmUgY29tcHJlaGVuc2l2ZSBhbmQgdmFsdWFibGUgZm9yIHZhcmlvdXMgaUdFTSB0ZWFtcywgcmVnYXJkbGVzcyBvZiB0aGVpciBzcGVjaWZpYyBwcm9qZWN0IGZvY3VzLiBcbiAgICAgIEluIHN1bW1hcnk6IDwvcD4sXG4gICAgICA8dWw+XG4gICAgICAgIDxsaT5MZWFybmVkIGRpZmZlcmVudCBhcHByb2FjaGVzIHRvIHVzaW5nIExOUHMgYW5kIGxpcG9zb21lcyBpbiBpR0VNIHByb2plY3RzLjwvbGk+XG4gICAgICAgIDxsaT5EaXNjb3ZlcmVkIG5ldyBtZXRob2RzIGZvciBvcHRpbWl6aW5nIExOUHMuPC9saT5cbiAgICAgICAgPGxpPlJlY29nbml6ZWQgY2hhbGxlbmdlcyBpbiBwYXJ0aWNsZSBzdGFiaWxpdHkgYW5kIHRhcmdldGVkIGRlbGl2ZXJ5LjwvbGk+XG4gICAgICAgIDxsaT5HYWluZWQgYXBwcmVjaWF0aW9uIGZvciB0aGUgaW50ZXJkaXNjaXBsaW5hcnkgY29tcGxleGl0eSBvZiB0aGVzZSBzeXN0ZW1zLjwvbGk+XG4gICAgICAgIDxsaT5Gb2N1c2VkIG9uIGRvY3VtZW50aW5nIHdvcmsgdG8gYmVuZWZpdCBmdXR1cmUgaUdFTSB0ZWFtcy48L2xpPlxuICAgICAgPC91bD4gXG4gICAgXSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPlRoZSBjb2xsYWJvcmF0aW9uIGV4cGFuZGVkIG91ciB1bmRlcnN0YW5kaW5nIG9mIHdoYXQncyBwb3NzaWJsZSwgaW5zcGlyaW5nIHVzIHRvIGNvbnNpZGVyIG5ldyBpZGVhcyBmb3IgaG93IHdlIG1pZ2h0IGludGVncmF0ZSBhZHZhbmNlZCB0ZWNobmlxdWVzIGludG8gb3VyIG5hbm9wYXJ0aWNsZSBzeXN0ZW1zIGluIGZ1dHVyZSBwcm9qZWN0cy4gVGhlIGNvbGxhYm9yYXRpdmUgcHJvY2VzcyBhbHNvIGVuY291cmFnZWQgdXMgdG8gZG9jdW1lbnQgb3VyIHdvcmsgbW9yZSB0aG9yb3VnaGx5LCBlbnN1cmluZyB0aGF0IGZ1dHVyZSBpR0VNIHRlYW1zIGNvdWxkIGJlbmVmaXQgZnJvbSBib3RoIG91ciBzdWNjZXNzZXMgYW5kIHRoZSBjaGFsbGVuZ2VzIHdlIGVuY291bnRlcmVkIGFsb25nIHRoZSB3YXkuICAgICAgQmV5b25kIHRoZSB0ZWNobmljYWwgaW1wcm92ZW1lbnRzLCB0aGUgZXhwZXJpZW5jZSB0YXVnaHQgdXMgdGhlIHZhbHVlIG9mIHRlYW13b3JrIGFjcm9zcyBib3JkZXJzIGFuZCBkaXNjaXBsaW5lcy4gRWFjaCB0ZWFtIGJyb3VnaHQgYSB1bmlxdWUgcGVyc3BlY3RpdmUsIGFuZCBieSB3b3JraW5nIHRvZ2V0aGVyLCB3ZSB3ZXJlIGFibGUgdG8gZGV2ZWxvcCBhIHJlc291cmNlIHRoYXQgd2FzIGZhciBncmVhdGVyIHRoYW4gdGhlIHN1bSBvZiBpdHMgcGFydHM8L3A+XSxcbiAgICBzdW1tYXJ5OiBcIlRoaXMgY29sbGFib3JhdGlvbiB3aXRoIExpbmtcdTAwRjZwaW5nIGFuZCB0aGUgb3RoZXIgaUdFTSB0ZWFtcyB3YXMgYW4gaW5jcmVkaWJseSBlbnJpY2hpbmcgZXhwZXJpZW5jZS4gVG9nZXRoZXIsIHdlIGRldmVsb3BlZCBhIFx1MjAxQ0RlbGl2ZXJ5LUJhc2VkIEhhbmRib29rXHUyMDFEW2xpbmsgSGFuZGJvb2tdIHRoYXQgd2lsbCBzZXJ2ZSBhcyBhIHZhbHVhYmxlIHJlc291cmNlIGZvciBmdXR1cmUgdGVhbXMgd29ya2luZyB3aXRoIExOUHMgYW5kIGxpcG9zb21lcy4gVGhlIGtub3dsZWRnZSB3ZSBnYWluZWQgbm90IG9ubHkgZW5oYW5jZWQgb3VyIHByb2plY3QgYnV0IGFsc28gc3RyZW5ndGhlbmVkIG91ciBzZW5zZSBvZiBjb21tdW5pdHkgd2l0aGluIGlHRU0uIFdlIGFyZSBleGNpdGVkIHRvIHByZXNlbnQgdGhlIGhhbmRib29rIGF0IHRoZSBHcmFuZCBKYW1ib3JlZSwgd2hlcmUgd2Ugd2lsbCBmaW5hbGx5IG1lZXQgb3VyIGNvbGxhYm9yYXRvcnMgaW4gcGVyc29uIGFuZCBjZWxlYnJhdGUgdGhlIGN1bG1pbmF0aW9uIG9mIG91ciBjb2xsZWN0aXZlIGVmZm9ydHMuIFRoaXMgcGFydG5lcnNoaXAgaGFzIHNob3duIHVzIHRoZSBpbW1lbnNlIHBvd2VyIG9mIGNvbGxhYm9yYXRpb24sIGFuZCB3ZSBhcmUgcHJvdWQgdG8gaGF2ZSBiZWVuIHBhcnQgb2Ygc3VjaCBhIG1lYW5pbmdmdWwgaW5pdGlhdGl2ZS5cIixcbiAgICBtb250aHM6IFwic2V2ZXJhbCB0aW1lc1wiLFxuICAgIHBpY3R1cmV1cmxfYWltOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9saW5rb3BpbmctaGFuZGJvb2stbG5wLndlYnBcIixcbiAgICBwaWN0dXJldXJsX2ltcGxlbWVudGF0aW9uOiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9saW5rb3BpbmctY29vcGVyYXRpb24tcGhvdG8ucG5nXCIsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJNLlNjLlwiLFxuICAgIHZvcm5hbWU6IFwiS2FpXCIsXG4gICAgbmFjaG5uYW1lOiBcIlNjaFx1MDBGQ2xrZVwiLFxuICAgIGpvYjogXCJQaEQgc3R1ZGVudCBXb3JraW5nIGdyb3VwOiBPcmdhbmljIGNoZW1pc3RyeSBhbmQgYmlvY2F0YWx5c2lzXHUyMDJGIFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlVuaXZlcnNpdHkgb2YgQmllbGVmZWxkXCIsXG4gICAgcGljdHVyZXVybDogcGljc1sna2FpaGFtbWVyJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJGaXJzdCBpbnNpZ2h0cyBvZiBFbnp5bSBFbmdpbmVlcmluZ1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImhhbW1lcmthaVwiLFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwiSXQgd2FzIGZhc2NpbmF0aW5nIHRvIGRpc2N1c3MgZW56eW1lIGVuZ2luZWVyaW5nIHdpdGggYSBmb3JtZXIgaUdFTWVyOyB0aGUgY29udmVyc2F0aW9uIHNwYXJrZWQgbmV3IGlkZWFzIGFuZCBwZXJzcGVjdGl2ZXMuXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJNaWNoYWxlaywgVGVhbW1lbWJlclwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJDaHJpc3RpYW5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5XaGVuIHdlIHJlYWxpemVkIHRoYXQgdGhlIGNyZWF0aW9uIG9mIGEgbmlja2FzZSBmcm9tIHRoZSBlbmRvbnVjbGVhc2VzIGluIHVzZSB3YXMgYSBkZXNpcmVkIG91dGNvbWUsIGl0IGJlY2FtZSBuZWNlc3NhcnkgdG8gdGFsayB0byBhbiBleHBlcnQgaW4gdGhlIGZpZWxkIG9mIGVuenltZSBlbmdpbmVlcmluZy5cdTIwMkZPdXIgZmlyc3QgY29udGFjdCB3YXMgS2FpIFNjaFx1MDBGQ2xrZSwgYSBmb3JtZXIgaUdFTWVyIGFuZCBQaEQgc3R1ZGVudCB1bmRlciB0aGUgZ3VpZGFuY2Ugb2YgPEhQTGlua3RvT3RoZXJIUFRhYiB0YWI9XCJoYW1tZXJcIiB0ZXh0PVwiUHJvZi4gRHIuIEhhbW1lclwiLz4sIHdobyBpcyB0aGUgbGVhZGVyIG9mIHRoZSB3b3JraW5nIGdyb3VwIG9yZ2FuaWMgY2hlbWlzdHJ5IGFuZCBiaW9hbmFseXRpY3MgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHkuPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD5JbiB0aGUgcHJvY2VzcyBvZiBvdXIgaW50ZXJhY3Rpb24gd2l0aCBLYWksIHdlIGxlYXJuZWQgYWJvdXQgdGhlIHZhcmlvdXMgbWV0aG9kcyBlbXBsb3llZCBpbiBlbnp5bWUgZW5naW5lZXJpbmcuIEhlIGRlbW9uc3RyYXRlZCB0aGUgY29tcGxleGl0eSBvZiB0aGlzIGZpZWxkIG9mIHJlc2VhcmNoIGFuZCBlbXBoYXNpemVkIHRoZSBpbXBvcnRhbmNlIG9mIGNob29zaW5nIHRoZSByaWdodCBhcHByb2FjaC4gQXMgYSBmb3JtZXIgaUdFTWVyLCBLYWksIGluc3BpcmVkIGJ5IGhpcyBwYXN0IGV4cGVyaWVuY2VzLCBpcyBoaWdobHkgbW90aXZhdGVkIGFuZCBkZXRlcm1pbmVkIHRvIGRldmVsb3AgYW4gb3V0c3RhbmRpbmcgcHJvamVjdC4gSGUgcG9pbnRlZCBvdXQgdGhhdCB3ZSBjYW5ub3QgcmVseSBvbiBjbGFzc2ljYWwgbWV0aG9kcyBzdWNoIGFzIGRpcmVjdGVkIGV2b2x1dGlvbiwgYnV0IGluc3RlYWQgc2hvdWxkIHVzZSBhIHJhdGlvbmFsIGFwcHJvYWNoIHRvIHNlbGVjdCBtdXRhdGlvbiBjYW5kaWRhdGVzLiBIaXMgaW5zaWdodHMgYW5kIGVudGh1c2lhc20gaGF2ZSBlbmNvdXJhZ2VkIHVzIHRvIHRoaW5rIGNyaXRpY2FsbHkgYW5kIHB1cnN1ZSBpbm5vdmF0aXZlIHNvbHV0aW9ucyBpbiBvdXIgd29yay4gPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5XZSBpbmNvcnBvcmF0ZWQgS2FpJ3MgaW5zaWdodHMgaW50byBvdXIgcHJvamVjdCBieSBzaGlmdGluZyBvdXIgYXBwcm9hY2ggdG8gZW56eW1lIGVuZ2luZWVyaW5nLiBCeSBmb2N1c2luZyBvbiBhIG1vcmUgdGFyZ2V0ZWQgYXBwcm9hY2gsIHdlIHdlcmUgYWJsZSB0byByZWZpbmUgb3VyIGVuenltZSBvcHRpbWl6YXRpb24gcHJvY2VzcywgZW5zdXJpbmcgdGhhdCB0aGUgbW9kaWZpY2F0aW9ucyB3ZSBtYWRlIHdlcmUgYmFzZWQgb24gaW5mb3JtZWQsIGNhbGN1bGF0ZWQgZGVjaXNpb25zLiBUaGlzIG5vdCBvbmx5IHN0cmVhbWxpbmVkIG91ciByZXNlYXJjaCBidXQgYWxzbyBpbXByb3ZlZCB0aGUgY2hhbmNlcyBvZiBzdWNjZXNzIGJ5IHJlZHVjaW5nIHRoZSB0cmlhbC1hbmQtZXJyb3IgaW5oZXJlbnQgaW4gdHJhZGl0aW9uYWwgbWV0aG9kcy4gPC9wPl0sXG4gICAgc3VtbWFyeTogXCJUaGUgdGVhbSByZWFjaGVkIG91dCB0byBLYWkgU2NoXHUwMEZDbGtlLCBhIGZvcm1lciBpR0VNIHBhcnRpY2lwYW50IGFuZCBlbnp5bWUgZW5naW5lZXJpbmcgZXhwZXJ0LCBmb3IgZ3VpZGFuY2Ugb24gZGV2ZWxvcGluZyBhIG5pY2thc2UgZnJvbSB0aGUgZW5kb251Y2xlYXNlcyBpbiB1c2UuIEthaSBlbXBoYXNpemVkIHRoZSBuZWVkIGZvciBhIHJhdGlvbmFsLCB0YXJnZXRlZCBhcHByb2FjaCByYXRoZXIgdGhhbiB0cmFkaXRpb25hbCBtZXRob2RzIGxpa2UgZGlyZWN0ZWQgZXZvbHV0aW9uLiBIaXMgaW5zaWdodHMgaGVscGVkIHRoZSB0ZWFtIHJlZmluZSB0aGVpciBlbnp5bWUgb3B0aW1pemF0aW9uIHByb2Nlc3MsIG1ha2luZyBpdCBtb3JlIHN0cmF0ZWdpYyBhbmQgZWZmaWNpZW50LiBUaGlzIHNoaWZ0IHJlZHVjZWQgdHJpYWwtYW5kLWVycm9yIGVmZm9ydHMgYW5kIGltcHJvdmVkIHRoZSBjaGFuY2VzIG9mIHN1Y2Nlc3MsIGRyaXZpbmcgaW5ub3ZhdGlvbiBpbiB0aGVpciBwcm9qZWN0LlwiLFxuICAgIG1vbnRoczogXCJKdWx5XCJcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIk0uU2MuXCIsXG4gICAgdm9ybmFtZTogXCJOaWxzXCIsXG4gICAgbmFjaG5uYW1lOiBcIkJlcmVsc21hbm5cIixcbiAgICBqb2I6IFwiUGhEIFdvcmtpbmcgZ3JvdXA6IFByb2YuIERyLiBHYWJyaWVsZSBGaXNjaGVyIHZvbiBNb2xsYXJkIFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlVuaXZlcnNpdHkgb2YgQmllbGVmZWxkXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snbmlsc2hlZmUnXSxcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiQWRhcHRpbmcgZXhwcmVzc2lvbiBzdHJhdGVnaWVzIGZvciBGYW56b3Igbmlja2FzZXMgYW5kIGV4cGxvcmluZyB0aGUgcG90ZW50aWFsIG9mIFBpY2hpYSBwYXN0b3JpcyBmb3IgU3B1RnoxIG5pY2thc2UgdmFyaWFudHMgXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibmJlcmVsc21hbm5cIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJTZWxlY3Rpb24gZm9yIG11bHRpcGxlIHBsYXNtaWQgaW50ZWdyYXRpb25zIGlzIHRoZSBlYXNpZXN0IHdheSB0byBvcHRpbWl6ZSBwcm90ZWluIGV4cHJlc3Npb24gaW4gdGhlIHllYXN0IHN0cmFpblwiLFxuICAgIHF1b3RlTmFjaG5hbWU6XCJCZXJlbHNtYW5uLCBTcGVjaWxpc3Qgb2YgeWVhc3QgY3VsdHVydmF0aW9uXCIsXG4gICAgcXVvdGVWb3JuYW1lOiBcIk5pbHNcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5EdXJpbmcgb3VyIGludGVydmlldyB3aXRoIDxIUExpbmt0b090aGVySFBUYWIgdGFiPVwic2FpdG9cIiB0ZXh0PVwiTWFrb3RvIFNhaXRvXCIvPiBhYm91dCBmYW56b3JbbGluayBmYW56b3JdLCBpdCBiZWNhbWUgZXZpZGVudCB0aGF0IHRoZSBleHByZXNzaW9uIG9mIG91ciBmYW56b3Igbmlja2FzZXMgaW4geWVhc3QgaXMgdmVyeSBwcm9taXNpbmcuIFdlIHRoZW4gcmVmaW5lZCBvdXIgZXhwcmVzc2lvbiBzdHJhdGVneSBmb3IgdGhlIG5pY2thc2VzIGFuZCBhcHByb2FjaGVkIE5pbHMgQmVyZWxzbWFubiwgd2hvIGlzIGN1cnJlbnRseSB3b3JraW5nIG9uIGhpcyBQaEQgdGhlc2lzIHdpdGggdGhlIHllYXN0IHN0cmFpbiBQaWNoaWEgcGFzdG9yaXMgKFNNRDExNjMpLiBUaGlzIHBhcnRpY3VsYXIgc3RyYWluIGNvdWxkIGJlIGlkZWFsIGZvciBleHByZXNzaW5nIHRoZSBTcHVGejEgbmlja2FzZSB2YXJpYW50cy4gT3VyIG1haW4gYWltIGluIGNvbnRhY3RpbmcgTmlscyB3YXMgdG8gZ2FpbiBpbnNpZ2h0IGFuZCBhZHZpY2Ugb24geWVhc3QgZXhwcmVzc2lvbiBhbmQgaGUgZ2VuZXJvdXNseSBzaGFyZWQgaGlzIGV4cGVydGlzZSB3aXRoIHVzLiBOb3Qgb25seSBkaWQgaGUgZ2l2ZSB1cyB2YWx1YWJsZSBhZHZpY2UsIGJ1dCBoZSBhbHNvIHByb3ZpZGVkIHVzIHdpdGggdGhlIHllYXN0IHN0cmFpbiBpdHNlbGYsIGFsb25nIHdpdGggYSBjb3JyZXNwb25kaW5nIGV4cHJlc3Npb24gdmVjdG9yIGZvciBwb3NzaWJsZSBleHBlcmltZW50cy4gSGUgYWxzbyBwcm92aWRlZCB1cyB3aXRoIGRldGFpbGVkIHByb3RvY29scyBhbmQgdGhlIHBsYXNtaWQgbWFwIG9mIHRoZSB2ZWN0b3IgYW5kIGdhdmUgdXMgcHJhY3RpY2FsIHRpcHMgb24gaG93IHRvIG9wdGltaXplIHRoZSBleHByZXNzaW9uIHByb2Nlc3MuIEhpcyBzdXBwb3J0IHdhcyBpbnZhbHVhYmxlIGluIG1vdmluZyBvdXIgd29yayBmb3J3YXJkLiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPlBpY2hpYSBwYXN0b3JpcyAoU01EMTE2MykgaXMgYSBwcm9taXNpbmcgb3B0aW9uIGZvciBleHByZXNzaW5nIFNwdUZ6MSBuaWNrYXNlIHZhcmlhbnRzLiBSZWZpbmluZyBleHByZXNzaW9uIHN0cmF0ZWdpZXMgYmFzZWQgb24gZXhwZXJ0IGluc2lnaHRzIGlzIGNydWNpbCBmb3Igc3VjY2Vzcy4gTmlscyBwcm92aWRlZCBwcmFjdGljYWwgdGlwcyBvbiB5ZWFzdCBleHByZXNzaW9uLCBpbmNsdWRpbmcgb3B0aW1pemluZyBncm93dGggY29uZGl0aW9ucyBhbmQgZmluZS10dW5pbmcgaW5kdWN0aW9uIHByb3RvY29scy48L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPldlIGFkYXB0ZWQgb3VyIGV4cHJlc3Npb24gc3RyYXRlZ3kgZm9yIEZhbnpvciBuaWNrYXNlcyBpbiB5ZWFzdCBieSBpbmNvcnBvcmF0aW5nIHRoZSBQaWNoaWEgcGFzdG9yaXMgc3RyYWluIChTTUQxMTYzKSBhbmQgdGhlIHByb3ZpZGVkIGV4cHJlc3Npb24gdmVjdG9yIGludG8gb3VyIGV4cGVyaW1lbnRzLiBGb2xsb3dpbmcgTmlscycgZGV0YWlsZWQgcHJvdG9jb2xzIGFuZCBwbGFzbWlkIG1hcCwgd2Ugb3B0aW1pemVkIGtleSBzdGVwcywgZW5oYW5jaW5nIGV4cHJlc3Npb24gZWZmaWNpZW5jeSBhbmQgcHJvdGVpbiB5aWVsZC48L3A+XSxcbiAgICBzdW1tYXJ5OiBcIlRoZSB0ZWFtIHNvdWdodCBleHBlcnQgYWR2aWNlIGZyb20gTmlscyB0byBvcHRpbWl6ZSB5ZWFzdCBleHByZXNzaW9uIGZvciBGYW56b3Igbmlja2FzZXMuIE5pbHMgcHJvdmlkZWQgaW52YWx1YWJsZSBndWlkYW5jZSBvbiBhZGRyZXNzaW5nIHBvdGVudGlhbCBjaGFsbGVuZ2VzIGFuZCB0cm91Ymxlc2hvb3RpbmcgdGhlIHByb2Nlc3MuIEhlIHN1cHBsaWVkIHRoZSBQaWNoaWEgcGFzdG9yaXMgKFNNRDExNjMpIHN0cmFpbiBhbG9uZyB3aXRoIGEgc3VpdGFibGUgZXhwcmVzc2lvbiB2ZWN0b3IsIGNydWNpYWwgZm9yIGV4cHJlc3NpbmcgU3B1RnoxIG5pY2thc2UgdmFyaWFudHMuIEFkZGl0aW9uYWxseSwgaGUgc2hhcmVkIGRldGFpbGVkIHByb3RvY29scyBmb3IgeWVhc3QgdHJhbnNmb3JtYXRpb24gYW5kIGdyb3d0aCBvcHRpbWl6YXRpb24sIGVuYWJsaW5nIHRoZSB0ZWFtIHRvIHJlcGxpY2F0ZSBoaXMgbWV0aG9kcyBlZmZlY3RpdmVseSBmb3IgdGhlaXIgZXhwZXJpbWVudHMuXCIsXG4gICAgbW9udGhzOiBcIkp1bHlcIixcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIkRyLlwiLFxuICAgIHZvcm5hbWU6IFwiVGltbVwiLFxuICAgIG5hY2hubmFtZTogXCJXZWJlclwiLFxuICAgIGpvYjogXCJTdGFmZiBTY2llbnRpc3QsIFByb2plY3QtIGFuZCBRdWFsaXR5IE1hbmFnZXJcIixcbiAgICBhZmZpbGlhdGlvbjogXCJDZW50cmFsIEJpb2Jhbmsgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQmllbGVmZWxkXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snYmlvYmFuayddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiRGlzY3Vzc2VkIHRoZSBwcm9jZXNzZXMgaW52b2x2ZWQgaW4gdGhlIHN0b3JhZ2UsIHByb2Nlc3NpbmcsIGFuZCBzZWN1cml0eSBvZiBwYXRpZW50IHNhbXBsZXMuXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwidGltbVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlVm9ybmFtZTpcIkRyLiBUaW1tXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJXZWJlciwgU2NpZW50aXN0IFByb2plY3QtIGFuZCBRdWFsaXR5IE1hbmFnZW1lbnQgQmlvYmFua1wiLFxuICAgIHF1b3RlOiBcIkEgYmlvYmFuayBpcyBub3QganVzdCBhIGNvbGxlY3Rpb24gb2Ygc2FtcGxlczsgaXQncyBhIGJyaWRnZSBiZXR3ZWVuIHBhdGllbnQgdHJ1c3QgYW5kIHNjaWVudGlmaWMgZGlzY292ZXJ5LCBlbnN1cmluZyB0aGF0IHZhbHVhYmxlIGJpb2xvZ2ljYWwgZGF0YSBpcyBzYWZlZ3VhcmRlZCB3aGlsZSBjb250cmlidXRpbmcgdG8gZnV0dXJlIHJlc2VhcmNoLlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJDb250YWN0IHdhcyBlc3RhYmxpc2hlZCB3aXRoIFRpbW0gZm9yIHRoZSBwdXJwb3NlIG9mIGdhaW5pbmcgZGVlcGVyIGluc2lnaHRzIGludG8gdGhlIGZ1bmN0aW9uaW5nIG9mIHRoZSBiaW9iYW5rIGFuZCBvZiBkZWVwZW5pbmcgb3VyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHByb2Nlc3Npbmcgb2YgcGF0aWVudCBzYW1wbGVzLlwiLFxuICAgIGluc2lnaHRzOiBcIldlIHdlcmUgcHJvdmlkZWQgd2l0aCBpbnZhbHVhYmxlIGluc2lnaHRzIGludG8gdGhlIHF1YWxpdHkgYW5kIHByb2plY3QgbWFuYWdlbWVudCBvZiB0aGUgYmlvYmFuayBhbmQgc3RvcmFnZSBvZiBwYXRpZW50IHNhbXBsZXMuIEl0IHdhcyBvZiBwYXJ0aWN1bGFyIGludGVyZXN0IHRvIG5vdGUgdGhhdCBCaW9iYW5rIE9XTCBvY2N1cGllcyBhIGRpc3RpbmN0aXZlIHBvc2l0aW9uIGluIHRoaXMgY29udGV4dCwgaW5zb2ZhciBhcyBhIHRydXN0ZWUgaXMgbm90IGEgbWFuZGF0b3J5IGZpZ3VyZSB3aXRoaW4gaXRzIHN5c3RlbSBhbmQgaXMgdGhlcmVmb3JlIG5vdCBwcm92aWRlZCBmb3IgYXMgYSBzdGFuZGFyZCBjb21wb25lbnQuIEhvd2V2ZXIsIEJpb2JhbmsgT1dMIGhhcyBlbGVjdGVkIHRvIGludGVncmF0ZSBhIHRydXN0ZWUgaW4gb3JkZXIgdG8gZW5oYW5jZSB0aGUgc2VjdXJpdHkgc3RhbmRhcmRzIGZvciB0aGUgc2FmZWd1YXJkaW5nIG9mIHBhdGllbnQgZGF0YS4gVGhpcyBpbGx1c3RyYXRlcyB0aGUgYmlvYmFuaydzIGRlZGljYXRpb24gdG8gZW5zdXJpbmcgdGhlIG9wdGltYWwgcHJvdGVjdGlvbiBhbmQgc2VjdXJpdHkgb2Ygc2Vuc2l0aXZlIHBhdGllbnQgZGF0YS5cIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJUaGUgaW5zaWdodHMgZ2FpbmVkIGhhdmUgZmFjaWxpdGF0ZWQgYSBkZWVwZXIgY29tcHJlaGVuc2lvbiBvZiB0aGUgc2lnbmlmaWNhbmNlIG9mIHF1YWxpdHkgbWFuYWdlbWVudCBpbiB0aGUgcHJvY2Vzc2luZyBvZiBwYXRpZW50IHNhbXBsZXMuIFRoaXMgdW5kZXJzdGFuZGluZyBoYXMgYmVlbiBpbnRlZ3JhdGVkIGludG8gb3VyIHByb2plY3QgcHJvY2Vzc2VzLCB0aGVyZWJ5IGVuaGFuY2luZyB0aGUgYWNjdXJhY3kgYW5kIHJlbGlhYmlsaXR5IG9mIG91ciBwcm9jZWR1cmVzLiBcIixcbiAgICBzdW1tYXJ5OiBcIlRoZSBpbnRlcnZpZXcgZm9jdXNlZCBvbiB1bmRlcnN0YW5kaW5nIHRoZSBvcGVyYXRpb25zIG9mIHRoZSBCaW9iYW5rIE9XTCwgcGFydGljdWxhcmx5IGluIHRoZSBhcmVhcyBvZiBxdWFsaXR5IG1hbmFnZW1lbnQgYW5kIHNhbXBsZSBwcm9jZXNzaW5nLiBQcm92aWRlZCBhIGRldGFpbGVkIG92ZXJ2aWV3IG9mIGJpb2JhbmsgYWN0aXZpdGllcywgaW5jbHVkaW5nIHNhbXBsZSBjb2xsZWN0aW9uLCBzdG9yYWdlIGNvbmRpdGlvbnMsIGFuZCBkYXRhIHByb3RlY3Rpb24gbWVhc3VyZXNcIixcbiAgICB0ZXh0Ojw+XG4gICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZm9yLXdpa2ktdGV4dHMvYnMtaHAtYmlvYmFuay9iaW9iYW5rLWZhbmN5LXJvYm90ZXIuanBlZ1wiPjwvaW1nPixcbiAgICA8cD5UaGUgQVNLSU9OIEMtbGluZVx1MDBBRSBoZXJtZXRpYyBzdG9yYWdlIChIUzIwMCkgc2VyaWVzIG9mZmVycyBlZmZpY2llbnQsIGF1dG9tYXRlZCBzb2x1dGlvbnMgZm9yIGxvdy10ZW1wZXJhdHVyZSBzYW1wbGUgc3RvcmFnZSBpbiBiaW9iYW5rcyBhbmQgYmlvcmVwb3NpdG9yaWVzLiA8L3A+XG4gICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZm9yLXdpa2ktdGV4dHMvYnMtaHAtYmlvYmFuay9iaW9iYW5rLWNocmlzdGlhbi1rYXRobGVlbi5qcGVnXCI+PC9pbWc+LCBcbiAgICA8cD4gRHVyaW5nIHRoZWlyIHRvdXIgb2YgdGhlIGJpb2JhbmssIEthdGhsZWVuIGFuZCBDaHJpc3RpYW4gd2VyZSBnaXZlbiBhbiBpbnNpZ2h0IGludG8gdGhlIGFkdmFuY2VkIHNhbXBsZSBzdG9yYWdlIHN5c3RlbXMuIDwvcD4sXG4gICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL2JzLWhwLWJpb2JhbmsvYmlvYmFuay1mbC1zc2lnLXN0aWNrc3RvZmYuanBlZ1wiPjwvaW1nPixcbiAgICA8cD4gTGlxdWlkIG5pdHJvZ2VuIGluIGFjdGlvbiAtIGV4dHJlbWVseSBjb2xkIGFuZCBpbmRpc3BlbnNhYmxlIGZvciB0aGUgZGVlcC1mcmVlemUgc3RvcmFnZSBvZiBzZW5zaXRpdmUgc2FtcGxlcy4gPC9wPixcbiAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mb3Itd2lraS10ZXh0cy9icy1ocC1iaW9iYW5rL2Jpb2JhbmstdGFuay5qcGVnXCI+PC9pbWc+LFxuICAgIDxwPiBMYXJnZSBsaXF1aWQgbml0cm9nZW4gdGFuayBmb3IgdGhlIHNhZmUgc3RvcmFnZSBvZiBzYW1wbGVzIGluIHRoZSBiaW9iYW5rLiA8L3A+XG4gICAgPC8+LFxuICAgIGxhbmd1YWdlOiBcImRlXCIsXG4gICAgaW50ZXJ2aWV3OiA8PlxuICAgICAgPFFhQm94IHE9XCJDYW4geW91IGJyaWVmbHkgZXhwbGFpbiB0byB1cyB3aGF0IGV4YWN0bHkgYSBiaW9iYW5rIGlzIGFuZCB3aGF0IGl0cyBtYWluIHRhc2tzIGFyZT9cIlxuICAgICAgICBhPVwiQSBiaW9iYW5rIGlzIGEgc3BlY2lhbGl6ZWQgZmFjaWxpdHkgdGhhdCBjb2xsZWN0cywgc3RvcmVzLCBhbmQgbWFuYWdlcyBiaW9sb2dpY2FsIHNhbXBsZXMgYW5kIGFzc29jaWF0ZWQgZGF0YSBmb3IgcmVzZWFyY2ggcHVycG9zZXMuIEVhY2ggYmlvYmFuayBpcyB1bmlxdWUgaW4gaXRzIG9wZXJhdGlvbnMgYW5kIGZ1bmN0aW9ucy4gSW4gQmllbGVmZWxkIGFuZCBMaXBwZSwgdGhlIEJpb2JhbmsgQk9XTCAoQmlvYmFuayBPV0wpIGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgc3RvcmFnZSBvZiBwYXRpZW50IHNhbXBsZXMuIFRoZSBEYXRhIEludGVncmF0aW9uIENlbnRyZSAoRElaKSBzdG9yZXMgZGF0YSBwZXJ0YWluaW5nIHRvIHRoZXNlIHNhbXBsZXMuIEEgdHJ1c3RlZSBvdmVyc2VlcyB0aGUgcHNldWRvbnltaXNhdGlvbiBvZiBkYXRhLCBhY3RpbmcgYXMgYW4gaW50ZXJmYWNlIGJldHdlZW4gQk9XTCBhbmQgRElaLCBlbnN1cmluZyB0aGF0IHBhdGllbnQgZGF0YSBjYW5ub3QgYmUgZGlyZWN0bHkgbGlua2VkIHRvIHBhdGllbnQgc2FtcGxlcy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IHR5cGVzIG9mIHNhbXBsZXMgYXJlIGNvbGxlY3RlZCBpbiB5b3VyIGJpb2JhbmsgYW5kIGZvciB3aGF0IHJlc2VhcmNoIHB1cnBvc2VzIGFyZSB0aGV5IHVzZWQ/XCJcbiAgICAgICAgYT1cIlRoZSBiaW9iYW5rIGNvbGxlY3RzIGEgd2lkZSB2YXJpZXR5IG9mIHNhbXBsZXMsIGluY2x1ZGluZyBibG9vZCwgc3Rvb2wsIGFuZCBzb2lsLiBTYW1wbGVzIG1heSBiZSBnYXRoZXJlZCBmb3Igc3BlY2lmaWMgcmVzZWFyY2ggcHJvamVjdHMgb3IgZm9yIGVzdGFibGlzaGluZyBhIGdlbmVyYWwgcmVwb3NpdG9yeSB1bmRlciAnYnJvYWQgY29uc2VudC4nIFJlc2VhcmNoZXJzIHdpc2hpbmcgdG8gdXNlIHRoZXNlIHNhbXBsZXMgbXVzdCBhcHBseSB0byB0aGUgJ3VzZSBhY2Nlc3MgY29tbWl0dGVlLCcgd2hpY2ggZXZhbHVhdGVzIHdoZXRoZXIgdGhlIHJlcXVlc3RlZCBzYW1wbGVzIGFuZCBkYXRhIGNhbiBiZSByZWxlYXNlZCBmb3IgdGhlaXIgcmVzZWFyY2guXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSG93IGxhcmdlIGlzIHlvdXIgYmlvYmFuaz8gSG93IG1hbnkgc2FtcGxlcyBkbyB5b3UgY3VycmVudGx5IHN0b3JlIGFuZCBob3cgbWFueSBuZXcgc2FtcGxlcyBhcmUgYWRkZWQgb24gYXZlcmFnZT9cIlxuICAgICAgICBhPVwiVGhlIGJpb2JhbmsgaXMgc3RpbGwgaW4gdGhlIHByb2Nlc3Mgb2YgZXN0YWJsaXNoaW5nIGl0c2VsZiBhbmQgaGFzIG5vdCB5ZXQgcmVhY2hlZCBpdHMgZnVsbCBzYW1wbGUgY2FwYWNpdHkuIEhvd2V2ZXIsIGl0IGlzIGFudGljaXBhdGVkIHRvIGFjY3VtdWxhdGUgYSBzaWduaWZpY2FudCBudW1iZXIgb2Ygc2FtcGxlcyBpbiB0aGUgbmVhciBmdXR1cmUsIHdpdGggc2V2ZXJhbCB0aG91c2FuZCBzYW1wbGVzIGV4cGVjdGVkIHRvIGJlIGFuYWx5emVkIGluIGRlZGljYXRlZCBzZXNzaW9ucy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IHJlcXVpcmVtZW50cyBhbmQgY3JpdGVyaWEgbXVzdCBiZSBtZXQgZm9yIGEgc2FtcGxlIHRvIGJlIGluY2x1ZGVkIGluIHlvdXIgYmlvYmFuaz9cIiBhPVwiU2FtcGxlcyBtdXN0IGJlIHByb2Nlc3NlZCBhY2NvcmRpbmcgdG8gaGlnaGx5IGRldGFpbGVkIHByb3RvY29scywgYW5kIHJlZ3VsYXIgYXVkaXRzIGFyZSBjb25kdWN0ZWQgdG8gZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBhbGwgc3RhbmRhcmRzLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoaWNoIG90aGVyIHJlc2VhcmNoIGluc3RpdHV0aW9ucyBvciBiaW9iYW5rcyBkbyB5b3UgY29vcGVyYXRlIHdpdGggYW5kIHdoYXQgZm9ybSBkb2VzIHRoaXMgY29vcGVyYXRpb24gdGFrZT9cIlxuICAgICAgICBhPVwiQmlvYmFuayBPV0wgaGFzIGEgc2Vjb25kIGxvY2F0aW9uIGluIExpcHBlLCBpbiBhZGRpdGlvbiB0byBCaWVsZWZlbGQuIENvbGxhYm9yYXRpb25zIGV4aXN0IHdpdGggdGhlIERJWiwgdGhlIFRyZXVoYW5kLCBhbmQgdGhyZWUgdW5pdmVyc2l0eSBob3NwaXRhbHMuIEl0IGlzIGFudGljaXBhdGVkIHRoYXQgY29vcGVyYXRpb24gd2l0aCBvdGhlciB3b3JraW5nIGdyb3VwcyB3aWxsIGluY3JlYXNlIGluIHRoZSBmdXR1cmUuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBzcGVjaWZpYyBzdG9yYWdlIGNvbmRpdGlvbnMgKGUuZy4gdGVtcGVyYXR1cmUsIGh1bWlkaXR5KSBtdXN0IGJlIG9ic2VydmVkIGZvciBkaWZmZXJlbnQgc2FtcGxlIHR5cGVzP1wiXG4gICAgICAgIGE9XCJTYW1wbGVzIGFyZSBzdG9yZWQgdW5kZXIgdmFyaW91cyB0ZW1wZXJhdHVyZSBjb25kaXRpb25zLCBpbmNsdWRpbmcgLTIwXHUwMEIwQywgLTgwXHUwMEIwQywgYW5kIC0xNTBcdTAwQjBDLCBhbG9uZyB3aXRoIHRoZSB1c2Ugb2YgbGlxdWlkIG5pdHJvZ2VuLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIkhvdyBkbyB5b3UgZW5zdXJlIHRoYXQgdGhlIHNhbXBsZXMgcmVtYWluIHN0YWJsZSBhbmQgdXNhYmxlIG92ZXIgbG9uZ2VyIHBlcmlvZHMgb2YgdGltZT9cIlxuICAgICAgICBhPVwiU2FtcGxlcyBhcmUgc3RvcmVkIGluIG5pdHJvZ2VuIGZvciBsb25nLXRlcm0gc3RhYmlsaXR5LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgZW5jcnlwdGlvbiB0ZWNobmlxdWVzIG9yIGRhdGEgcHJvdGVjdGlvbiBtZWFzdXJlcyBhcmUgdXNlZCBpbiB5b3VyIGJpb2JhbmsgdG8gcHJldmVudCB1bmF1dGhvcml6ZWQgYWNjZXNzIHRvIHBhdGllbnQgZGF0YT8gQXJlIHRoZXJlIHNwZWNpYWwgcmVndWxhdGlvbnMgZm9yIHRoZSBhbm9ueW1pc2F0aW9uIG9mIGRhdGEgYW5kIGhvdyBpcyBpdCBlbnN1cmVkIHRoYXQgcGF0aWVudHMgY2Fubm90IGJlIHRyYWNlZD9cIlxuICAgICAgICBhPVwiUHNldWRvbnltcyBhcmUgY3JlYXRlZCB1c2luZyBzcGVjaWFsaXplZCBzb2Z0d2FyZSBzdWNoIGFzIENlbnRyYVhYIG9yIFJFRGNhcCB0byBwcm90ZWN0IHBhdGllbnQgZGF0YS5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IHJpZ2h0cyBkbyBwYXRpZW50cyBoYXZlIGluIHJlbGF0aW9uIHRvIHRoZWlyIHNhbXBsZXMsIGFuZCBob3cgYXJlIHRoZXNlIHJpZ2h0cyBzYWZlZ3VhcmRlZCBpbiB5b3VyIGJpb2Jhbms/XCJcbiAgICAgICAgYT1cIlBhdGllbnRzIGhhdmUgdGhlIHJpZ2h0IHRvIHJldm9rZSB0aGVpciBjb25zZW50IGF0IGFueSB0aW1lLCB3aGljaCBjYW4gYmUgZG9uZSBhdCB0aGUgY2xpbmljIG9yIGJpb2JhbmsuIFRoZSB0cnVzdGVlLCBhY3RpbmcgYXMgYW4gaW50ZXJtZWRpYXJ5LCB3aWxsIG5vdGlmeSBCT1dMIGFuZCBESVogdG8gZGVzdHJveSB0aGUgY29ycmVzcG9uZGluZyBzYW1wbGVzIG9yIGRhdGEuXCIgLz5cbiAgICA8Lz4sXG4gICAgbW9udGhzOiBcImF1Z3VzdFwiXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIidTY2hcdTAwRkNsZXIqaW5uZW4gQWthZGVtaWUnXCIsXG4gICAgbmFjaG5uYW1lOiBcIlwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3NjaHVlbGVyJ10sXG4gICAgdGFnOiBcIkVkdWNhdGlvblwiLFxuICAgIGhlYWRpbmc6IFwiRW1wb3dlcmluZyBzdHVkZW50cyB0aHJvdWdoIHN5bnRoZXRpYyBiaW9sb2d5XCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwic2NodWVsZXJcIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiS2F5YVwiLFxuICAgIHF1b3RlTmFjaG5hbWU6IFwiTGFuZ2UsIFRlYW1tXCIsICBcbiAgICBxdW90ZTogXCJJdCB3YXMgd29uZGVyZnVsIHRvIGJlIHBhcnQgb2YgdGhlIFN0dWRlbnQgQWNhZGVteSBhbmQgdG8gZXhwZXJpZW5jZSBob3cgbXVjaCB3ZSBsZWFybmVkIHdoaWxlIHRlYWNoaW5nLiBTaGFyaW5nIG91ciBrbm93bGVkZ2UgYW5kIHNlZWluZyB0aGUgc3R1ZGVudHMnIGVudGh1c2lhc20gd2FzIGluY3JlZGlibHkgcmV3YXJkaW5nLCBldmVuIHRob3VnaCB3ZSBjb3VsZG4ndCBjb252ZXkgZXZlcnl0aGluZyBpbiBqdXN0IG9uZSBzZXNzaW9uLlwiLFxuICAgIHN1bW1hcnk6IFs8cD5UaGUgQ2VCaVRlYyBTdHVkZW50IEFjYWRlbXlbTGluayB1bnRlbiBTY2hcdTAwRkNsZXIgYWthZGVtaWVdIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5IHByb3ZpZGVzIGhpZ2ggc2Nob29sIHN0dWRlbnRzIHdpdGggaGFuZHMtb24gZXhwZXJpZW5jZSBpbiBiaW90ZWNobm9sb2d5IGFuZCBtb2xlY3VsYXIgYmlvbG9neSwgc3VwcG9ydGVkIGJ5IHRoZSBPc3RodXNoZW5yaWNoIEZvdW5kYXRpb24gYW5kIERldG1vbGQgZGlzdHJpY3QgZ292ZXJubWVudC4gaUdFTSBCaWVsZWZlbGQgcGFydGljaXBhdGVkIGJ5IGd1aWRpbmcgc3R1ZGVudHMgdGhyb3VnaCBhIG5hbm9wb3JlIHNlcXVlbmNpbmcgZXhwZXJpbWVudCwgdGVhY2hpbmcgdGhlbSBhYm91dCBsYWIgd29yaywgZXhwZXJpbWVudCBwcmVwYXJhdGlvbiwgYW5kIHNhZmV0eSBwcm90b2NvbHMuIFRoZSB0ZWFtIGFsc28gcHJlc2VudGVkIHRoZWlyIGlHRU0gcHJvamVjdCwgUHJlQ3lzZSwgZ2l2aW5nIHN0dWRlbnRzIGluc2lnaHQgaW50byByZWFsLXdvcmxkIHJlc2VhcmNoIHByb2plY3RzIGFuZCBzeW50aGV0aWMgYmlvbG9neS4gTWFueSBzdHVkZW50cyB3ZXJlIGV4Y2l0ZWQgYnkgdGhlIGlHRU0gY29uY2VwdCBhbmQgZXhwcmVzc2VkIGludGVyZXN0IGluIGpvaW5pbmcgZHVyaW5nIHRoZWlyIGZ1dHVyZSBzdHVkaWVzLiBPdmVyYWxsLCB0aGUgYWNhZGVteSBoZWxwZWQgaW5zcGlyZSBzdHVkZW50cyB0byBleHBsb3JlIFNURU0gZmllbGRzIGFuZCBnYWluIHByYWN0aWNhbCBzY2llbnRpZmljIHNraWxscy48L3A+XSxcbiAgICBtb250aHM6IFwiQXVndXN0XCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiUHJlc2VudCBldmlkZW5jZVwiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIGpvYjogXCJUZWFtIGlHRU1cIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaWVsZmVsZCBDZUJpVGVjIDIwMjRcIixcbiAgICB0YWc6IFwiTWlsZXN0b25lXCIsXG4gICAgaGVhZGluZzogXCJCcmFpbnN0b3JtaW5nIGFuZCBzZWxlY3Rpb24gb2YgaWRlYXMgYW5kIGNvbmNlcHRzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiZXZpZGVuY2VcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gICAgdHlwZTogXCJtZXRhXCIsXG4gICAgc3VtbWFyeTogXCJcIixcbiAgICBtb250aHM6IFwiYXVndXN0XCJcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiQmVuamFtaW5cIixcbiAgICB0aXRsZTogXCJEci5cIixcbiAgICBuYWNobm5hbWU6IFwiV2lua2VsamFublwiLFxuICAgIGpvYjogXCJDby1Gb3VuZGVyIGFuZCBDRU8gYXQgXCIsXG4gICAgYWZmaWxpYXRpb246IFwiUk5oYWxlXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snd2lua2VsamFubiddLFxuICAgIHRhZzogXCJJbmR1c3RyeVwiLFxuICAgIGhlYWRpbmc6IFwiRGlzY3Vzc2lvbiBvbiBzcHJheS1kcnlpbmcgYW5kIHN0YWJpbGl0eSBvZiBsaXBpZCBuYW5vcGFydGljbGVzIHdpdGggUk5oYWxlXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwicm5oYWxlXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiRHIuIEJlbmphbWluXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJXaW5rZWxqYW5uLCBFeHBlcnQgZm9yIExOUHMgdW5kIENlbyB2b24gUk5oYWxlXCIsXG4gICAgcXVvdGU6IFwiU3ByYXktZHJ5aW5nIExOUHMgaXMgYSBncm91bmRicmVha2luZyBhcHByb2FjaCB0aGF0IGVuaGFuY2VzIHN0YWJpbGl0eSBhbmQgZW5hYmxlcyBlZmZpY2llbnQgcHVsbW9uYXJ5IGRlbGl2ZXJ5IG9mIG1STkEsIHBhdmluZyB0aGUgd2F5IGZvciBpbm5vdmF0aXZlIHRoZXJhcGllcyBmb3IgY29uZGl0aW9ucyBsaWtlIGN5c3RpYyBmaWJyb3Npcy5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5BcyBwYXJ0IG9mIG91ciBkZXZlbG9wbWVudCBwcm9jZXNzIG9mIGFuIGlubm92YXRpdmUsIGVmZmVjdGl2ZSBwdWxtb25hcnkgZGVsaXZlcnkgb2YgdGhlcmFwZXV0aWMgbVJOQSB0byBmaWdodCBjeXN0aWMgZmlicm9zaXMsXG4gICAgICB3ZSBjb25kdWN0ZWQgYW4gaW50ZXJ2aWV3IHdpdGggRHIuIEJlbmphbWluIFdpbmtlbGphbm4sIHdobyBpcyB0aGUgQ28tRm91bmRlciBvZiA8YSBocmVmPVwiaHR0cHM6Ly9ybmhhbGUuY29tL1wiPlJOaGFsZTwvYT4uIERyLiBCZW5qYW1pblxuICAgICAgV2lua2VsamFubiBoYXMgYSB3ZWFsdGggb2YgZXhwZXJpZW5jZSBpbiB0aGUgZmllbGQgb2YgUk5BIHRoZXJhcGV1dGljcyBhbmQgbmFub3RlY2hub2xvZ3kuIEhpcyBiYWNrZ3JvdW5kIGluY2x1ZGVzIGV4dGVuc2l2ZSByZXNlYXJjaCBpbiB0aGVcbiAgICAgIGRldmVsb3BtZW50IG9mIGxpcGlkLWJhc2VkIGRlbGl2ZXJ5IHN5c3RlbXMsIGZvY3VzaW5nIG9uIG9wdGltaXppbmcgc3RhYmlsaXR5IGFuZCBlZmZpY2FjeSBmb3IgdGhlcmFwZXV0aWMgYXBwbGljYXRpb25zLiBXaW5rZWxqYW5uXHUyMDE5cyB3b3JrXG4gICAgICBpcyBzdXBwb3J0ZWQgYnkgY3V0dGluZy1lZGdlIHJlc2VhcmNoIGZyb20gYWNhZGVtaWMgaW5zdGl0dXRpb25zLCBpbmNsdWRpbmcgY29sbGFib3JhdGlvbnMgd2l0aCBQcm9mZXNzb3IgT2xpdmlhIE1lcmtlbCBmcm9tIHRoZVxuICAgICAgTHVkd2lnLU1heGltaWxpYW5zLVVuaXZlcnNpdFx1MDBFNHQgaW4gTXVuaWNoLCBHZXJtYW55LCBzaW5jZSBoaXMgZG9jdG9yYWwgdGhlc2lzIGluIGhlciB3b3JraW5nIGdyb3VwLiBUaGUgaW50ZXJ2aWV3IHdpdGggV2lua2VsamFubiBwcm9tb3RlZFxuICAgICAgb3VyIHByb2plY3QgcGFydCwgd2hpY2ggYWltZWQgdG8gdXRpbGl6ZSBzcHJheS1kcmllZCBMTlBzIGZvciBlZmZpY2llbnQgZGVsaXZlcnkgdG8gdGhlIGx1bmcuIEJ5IGVuZ2FnaW5nIHdpdGggUk5oYWxlLCB3ZVxuICAgICAgc291Z2h0IHRvIHVuZGVyc3RhbmQgdGhlIG51YW5jZXMgb2YgdGhlaXIgbmFuby1lbWJlZGRlZCBtaWNyb3BhcnRpY2xlIHRlY2hub2xvZ3kgYW5kIGhvdyBpdCBjb3VsZCBlbmhhbmNlIG91ciBkZWxpdmVyeSBzeXN0ZW1zLiAgPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD5STmhhbGUncyB0ZWNobm9sb2d5IGxldmVyYWdlcyBhZHZhbmNlZCBzcHJheSBkcnlpbmcgdGVjaG5pcXVlcyB0byBzdGFiaWxpemUgYW5kIGRlbGl2ZXIgUk5BIHRoZXJhcGV1dGljcy4gRHVyaW5nIG91ciBpbnRlcnZpZXcsXG4gICAgICBXaW5rZWxqYW5uIGRldGFpbGVkIHNldmVyYWwgY3J1Y2lhbCBhc3BlY3RzLiBGaXJzdGx5LCB0aGUgc3RhYmlsaXR5IGFuZCBzaGVsZi1saWZlIG9mIHNwcmF5LWRyaWVkIExOUHMgYXJlIHJlbWFya2FibGUuIFJOaGFsZVx1MjAxOXMgc2lSTkFcbiAgICAgIGZvcm11bGF0aW9ucyBoYXZlIG1haW50YWluZWQgdGhlaXIgaW50ZWdyaXR5IGZvciB1cCB0byAxOCBtb250aHMgYXQgcm9vbSB0ZW1wZXJhdHVyZSwgYW5kIGFsdGhvdWdoIHNwZWNpZmljIGRhdGEgZm9yIG1STkEgaXMgc3RpbGwgcGVuZGluZyxcbiAgICAgIHRoaXMgc3VnZ2VzdHMgYSBwcm9taXNpbmcgc2hlbGYtbGlmZSBmb3IgbVJOQSBmb3JtdWxhdGlvbnMgdW5kZXIgc2ltaWxhciBjb25kaXRpb25zLiBUaGUgc3ByYXkgZHJ5aW5nIHByb2Nlc3MgaXRzZWxmIGludm9sdmVzIG1peGluZyBhbiBldGhhbm9sXG4gICAgICBwaGFzZSBjb250YWluaW5nIGxpcGlkcyB3aXRoIGFuIGFxdWVvdXMgcGhhc2UgY29udGFpbmluZyBSTkEuIFRoaXMgbWl4dHVyZSBpcyB0aGVuIHNwcmF5LWRyaWVkLCBmb3JtaW5nIExOUHMgYXMgdGlueSBzcGhlcmljYWwgcGFydGljbGVzLlxuICAgICAgS2V5IHBhcmFtZXRlcnMgZm9yIHRoaXMgcHJvY2VzcyBpbmNsdWRlIG1haW50YWluaW5nIGFuIGludGVybmFsIGRyeWluZyB0ZW1wZXJhdHVyZSBvZiBhcm91bmQgMTAwIFx1MDBCMEMgYW5kIHVzaW5nIGV4Y2lwaWVudHMgbGlrZSBsYWN0b3NlIHRvXG4gICAgICBwcmVzZXJ2ZSB0aGUgbmFub3BhcnRpY2xlcycgc3RydWN0dXJlIGFuZCBmdW5jdGlvblx1MjAwQiA8VGFiU2Nyb2xsTGluayB0YWI9XCJybmhhbGVcIiBzY3JvbGxJZD1cImRlc2MtMVwiIG51bT1cIjFcIiAvPi4gPC9wPixcbiAgICA8cD5FbnN1cmluZyB0aGUgaW50ZWdyaXR5IGFuZCBlZmZpY2llbmN5IG9mIHRoZSBMTlBzIGludm9sdmVzIHZhcmlvdXMgbWV0aG9kcywgaW5jbHVkaW5nIGdlbCBlbGVjdHJvcGhvcmVzaXMsIGJsb3R0aW5nLCBhbmQgZnVuY3Rpb25hbCByZWFkb3V0cyB0aHJvdWdoIHRyYW5zZmVjdGlvbiBhc3NheXMuXG4gICAgICBBZnRlciBkcnlpbmcsIHRoZSBuYW5vcGFydGljbGVzIHJldGFpbiB0aGVpciBzcGhlcmljYWwgc3RydWN0dXJlLCB3aGljaCByZXNlbWJsZXMgdGhhdCBvZiBcImdvbGYgYmFsbHNcIiB1bmRlciBzY2FubmluZyBlbGVjdHJvbiBtaWNyb3Njb3B5IChTRU0pPFRhYlNjcm9sbExpbmsgdGFiPVwicm5oYWxlXCIgc2Nyb2xsSWQ9XCJkZXNjLTFcIiBudW09XCIxXCIgLz4uXG4gICAgICBNb3Jlb3ZlciwgUk5oYWxlIGVtcGxveXMgYXJ0aWZpY2lhbCBpbnRlbGxpZ2VuY2UgdG8gb3B0aW1pemUgTE5QIGZvcm11bGF0aW9ucyBhbmQgcHJlZGljdCB0aGUgYmVzdCBkcnlpbmcgY29uZGl0aW9ucywgcmVkdWNpbmcgdGhlIG5lZWQgZm9yXG4gICAgICBleHRlbnNpdmUgd2V0IGxhYiB3b3JrLiBUaGlzIEFJLWRyaXZlbiBhcHByb2FjaCBlbmhhbmNlcyBlZmZpY2llbmN5IGFuZCByZWxpYWJpbGl0eSBpbiBkZXZlbG9waW5nIHRoZXJhcGV1dGljIG5hbm9wYXJ0aWNsZXMuIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbXG4gICAgICA8cD5UaGUgaW50ZXJ2aWV3IHdpdGggRHIuIEJlbmphbWluIFdpbmtlbGphbm4gZnJvbSBSTmhhbGUgcHJvdmlkZWQgaW52YWx1YWJsZSBpbnNpZ2h0cyB0aGF0IHdpbGwgc2lnbmlmaWNhbnRseSBlbmhhbmNlIG91ciBwcm9qZWN0XG4gICAgICAgIGZvY3VzZWQgb24gbVJOQSBkZWxpdmVyeSB0byB0aGUgbHVuZ3MgdXNpbmcgc3ByYXktZHJpZWQgTE5Qcy4gQnkgc2Vla2luZyB0byBpbnRlZ3JhdGUgdGhlaXIgcHJvdmVuIHRlY2huaXF1ZXMgYW5kIGlubm92YXRpdmUgYXBwcm9hY2hcbiAgICAgICAgdG8gc3ByYXktZHJ5IExOUHMsIHdlIGFyZSBvcHRpbWlzdGljIGFib3V0IGFjaGlldmluZyBzdXBlcmlvciBzdGFiaWxpdHksIGVmZmljYWN5LCBhbmQgc2NhbGFiaWxpdHkgaW4gb3VyIHRoZXJhcGV1dGljIGRlbGl2ZXJ5IHN5c3RlbXMuICA8L3A+XG4gICAgXSxcbiAgICBwaWN0dXJldXJsX2FpbTogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvaHAtcm5oYWxlLXpvb20ucG5nXCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL2RlbC1pbnRlcnZpZXctcm5oYWxlL3BhcGVyLW92ZXJ2aWV3LmpwZ1wiLFxuICAgIHBpY3R1cmV1cmxfaW1wbGVtZW50YXRpb246IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL2RlbC1pbnRlcnZpZXctcm5oYWxlL3BhcGVyLXNlbS5qcGdcIixcbiAgICByZWZlcmVuY2VzOiA8Um5oYWxlU291cmNlcyAvPixcbiAgICBpbnRlcnZpZXc6PD5cbiAgICA8UWFCb3ggcT1cIkNhbiB5b3Ugc3BlY2lmeSB0aGUgc2hlbGYgbGlmZSBmb3Igc3ByYXktZHJpZWQgTE5Qcz8gV2hhdCBzdG9yYWdlIGNvbmRpdGlvbnMgZG8geW91IHJlY29tbWVuZCB0byBtYXhpbWl6ZSBzdGFiaWxpdHk/XCIgYT1cIkZvciBzbWFsbCBpbnRlcmZlcmluZyBSTkEsIHdlIGNhbiBndWFyYW50ZWUgYSBzaGVsZiBsaWZlIG9mIDE4IG1vbnRocyBhdCByb29tIHRlbXBlcmF0dXJlLiBIb3dldmVyLCB0aGVyZSBhcmUgbm8gZXhpc3Rpbmcgc3R1ZGllcyBmb3IgbVJOQSwgd2hpY2ggdGVuZHMgdG8gYmUgbW9yZSBmcmFnaWxlLiBGb3Igb3B0aW1hbCBzdGFiaWxpdHksIHdlIHJlY29tbWVuZCBzdG9yaW5nIExOUHMgaW4gYSBjb29sLCBkcnkgcGxhY2UsIGF3YXkgZnJvbSBkaXJlY3Qgc3VubGlnaHQuXCIvPiBcbiAgICA8UWFCb3ggcT1cIldoYXQgdGVjaG5pY2FsIHJlcXVpcmVtZW50cyBhbmQgZXF1aXBtZW50IGFyZSBuZWNlc3NhcnkgdG8gc3VjY2Vzc2Z1bGx5IHNwcmF5LWRyeSBMTlBzIHVzaW5nIHlvdXIgbmFuby1lbWJlZGRlZC1taWNyb3BhcnRpY2xlIChORU0pIHRlY2hub2xvZ3k/XCIgYT1cIlRoZSBzcHJheS1kcnlpbmcgcHJvY2VzcyBmb3IgTE5QcyB1c2luZyBvdXIgTkVNIHRlY2hub2xvZ3kgaW52b2x2ZXMgc2V2ZXJhbCB0ZWNobmljYWwgc3RlcHMuIEluaXRpYWxseSwgYSBtaXh0dXJlIG9mIGFuIGV0aGFub2wgcGhhc2UgY29udGFpbmluZyBsaXBpZHMgYW5kIGFub3RoZXIgcGhhc2Ugd2l0aCBSTkEgaXMgcHJlcGFyZWQuIFRoaXMgbWl4dHVyZSBpcyB0aGVuIHN1YmplY3RlZCB0byBhIHNwcmF5LWRyeWluZyBwcm9jZXNzIHdoZXJlIGRyb3BsZXRzIGFyZSBzcHJheWVkIGludG8gYSBkcnlpbmcgdG93ZXIuIFRoZSBsaXF1aWQgZXZhcG9yYXRlcywgbGVhdmluZyBiZWhpbmQgTE5QcyBhcyBzbWFsbCBzcGhlcmljYWwgcGFydGljbGVzLlwiLz4gXG4gICAgPFFhQm94IHE9XCJIb3cgY29tcGxpY2F0ZWQgaXMgdGhlIHByb3RvY29sIGZvciBwcm9kdWNpbmcgc3ByYXktZHJpZWQgTE5Qcz8gQ2FuIHlvdSBkZXNjcmliZSB0aGUgcHJvdG9jb2w/XCIgYT1cIlRoZSBwcm90b2NvbCwgd2hpbGUgZGV0YWlsZWQsIGlzIHN0cmFpZ2h0Zm9yd2FyZC4gSXQgaW52b2x2ZXMgcHJlcGFyaW5nIHRoZSBsaXBpZCBhbmQgUk5BIG1peHR1cmUsIGZvbGxvd2VkIGJ5IHRoZSBzcHJheS1kcnlpbmcgcHJvY2VzcyB3aGVyZSBkcm9wbGV0cyBhcmUgc3ByYXllZCBpbnRvIGEgZHJ5aW5nIHRvd2VyLiBBcyB0aGUgbGlxdWlkIGV2YXBvcmF0ZXMsIHRoZSBMTlBzIHJlbWFpbiBhcyBzbWFsbCBiZWFkcy4gVGhpcyBwcm9jZXNzIGlzIGNyaXRpY2FsIGZvciBlbnN1cmluZyB0aGUgY29ycmVjdCBzaXplIGFuZCBjb21wb3NpdGlvbiBvZiB0aGUgTE5Qcy5cIi8+IFxuICAgIDxRYUJveCBxPVwiSG93IGRvIExOUHMgYXBwZWFyIGFmdGVyIHRoZSBkcnlpbmcgcHJvY2Vzcz9cIiBhPVwiQWZ0ZXIgZHJ5aW5nLCBMTlBzIHJlc2VtYmxlIGdvbGYgYmFsbHMgb24gYSBtaWNyb24gc2NhbGUgd2hlbiBvYnNlcnZlZCB1bmRlciBhIHNjYW5uaW5nIGVsZWN0cm9uIG1pY3Jvc2NvcGUgKFNFTSkuIFRoZWlyIHNpemUgZGlzdHJpYnV0aW9uIGlzIGFuYWx5emVkIHRocm91Z2ggbGlnaHQgc2NhdHRlcmluZyBtZWFzdXJlbWVudHMsIGFtb25nIG90aGVyIHRlY2huaXF1ZXMuXCIvPiBcbiAgICA8UWFCb3ggcT1cIkhvdyBkbyB5b3UgZW5zdXJlIHRoYXQgdGhlIFJOQSBjYXJnbyByZW1haW5zIHN0YWJsZSBkZXNwaXRlIHRoZSBoZWF0IGR1cmluZyB0aGUgZHJ5aW5nIHByb2Nlc3M/XCIgYT1cIldlIG1pdGlnYXRlIHRoZSBpbXBhY3Qgb2YgaGVhdCBieSBvcHRpbWl6aW5nIHRoZSBkcnlpbmcgY29uZGl0aW9ucy4gQ2hpdG9zYW4gYW5kIFBFRyBjYW4gYWxzbyBpbmZsdWVuY2Ugc3RhYmlsaXR5LiBXaXRob3V0IFBFRywgTE5QcyBtYXkgYWdnbG9tZXJhdGUgYW5kIGJlY29tZSBub24tZnVuY3Rpb25hbCwgYnV0IHRvbyBtdWNoIFBFRyBjYW4gcmVuZGVyIHRoZW0gaW5lcnQuIFRoZXJlZm9yZSwgYSBiYWxhbmNlZCBhcHByb2FjaCBpcyBuZWNlc3NhcnksIHRob3VnaCBQRUcgaGFzIG5vIHNpZ25pZmljYW50IGltcGFjdCBvbiB0aGUgZHJ5aW5nIHByb2Nlc3MgaXRzZWxmLlwiLz4gXG4gICAgPFFhQm94IHE9XCJBdCB3aGF0IHRlbXBlcmF0dXJlIGlzIHRoZSBMTlAgZHJpZWQ/XCIgYT1cIlRoZSBpbnRlcm5hbCB0ZW1wZXJhdHVyZSBkdXJpbmcgdGhlIGRyeWluZyBwcm9jZXNzIGlzIGFwcHJveGltYXRlbHkgMTAwIGRlZ3JlZXMgQ2Vsc2l1cywgYXMgbm90ZWQgaW4gb3VyIHB1YmxpY2F0aW9ucy5cIi8+IFxuICAgIDxRYUJveCBxPVwiRG9lcyBlYWNoIExOUCBmb3JtdWxhdGlvbiByZXF1aXJlIGluZGl2aWR1YWwgdGVzdGluZz9cIiBhPVwiWWVzLCBlYWNoIExOUCB3aXRoIGEgdW5pcXVlIGNvbXBvc2l0aW9uIG5lZWRzIHRvIGJlIHRlc3RlZCBpbmRpdmlkdWFsbHkgdG8gZW5zdXJlIG9wdGltYWwgc3RhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZS5cIi8+IFxuICAgIDxRYUJveCBxPVwiSG93IGNhbiB3ZSB0ZXN0IHRoZSBlZmZpY2llbmN5IG9mIExOUHMgYWZ0ZXIgdGhlIGRyeWluZyBwcm9jZXNzP1wiIGE9XCJUaGUgZWZmaWNpZW5jeSBjYW4gYmUgdGVzdGVkIHRocm91Z2ggdHJhbnNmZWN0aW9uIHN0dWRpZXMuIEFkZGl0aW9uYWxseSwgdGhlIHBhcnRpY2xlcyBjYW4gYmUgYnJva2VuIGRvd24gdG8gYW5hbHl6ZSB0aGUgbVJOQSBzdHJ1Y3R1cmUsIGFsdGhvdWdoIHRoaXMgaXMgYSBtb3JlIGNvbXBsZXggYW5kIHRpbWUtY29uc3VtaW5nIHByb2Nlc3MuXCIvPiBcbiAgICA8UWFCb3ggcT1cIkNhbiB5b3UgZWxhYm9yYXRlIG9uIGhvdyB5b3UgdXNlIEFJIHRvIGN1c3RvbWl6ZSBMTlBzPyBXaGF0IGV4YWN0bHkgZG9lcyB0aGUgQUkgZG8sIGFuZCBob3cgcmVsaWFibGUgaXMgaXQ/XCIgYT1cIk91ciBBSSBpcyB1c2VkIGZvciBzY3JlZW5pbmcsIG9wdGltaXphdGlvbiwgYW5kIHRoZSBkZXNpZ24gb2YgZXhwZXJpbWVudHMsIHNpZ25pZmljYW50bHkgcmVkdWNpbmcgd2V0IGxhYiB3b3JrLiBJdCBhbHNvIHBsYXlzIGEgcm9sZSBpbiBkZXZlbG9waW5nIG5ldyBsaXBpZHMsIGEgcHJvY2VzcyBtb3JlIGNsb3NlbHkgYXNzb2NpYXRlZCB3aXRoIHRoZSB3b3JrIG9mIE9saXZpYSBNZXJrZWwuXCIvPiBcbiAgICA8UWFCb3ggcT1cIldoYXQgcHJvcGVydGllcyBvZiBMTlBzIGNvdWxkIGhpbmRlciB0aGUgZHJ5aW5nIHByb2Nlc3M/XCIgYT1cIlRoZW9yZXRpY2FsbHksIG5vdGhpbmcgc2hvdWxkIGhpbmRlciB0aGUgZHJ5aW5nIHByb2Nlc3MgaWYgaXQgaXMgb3B0aW1pemVkIGZvciB0aGUgc3BlY2lmaWMgY2FyZ28gYW5kIHRhcmdldC4gQWRqdXN0bWVudHMgY2FuIGFsd2F5cyBiZSBtYWRlIHRvIGFjY29tbW9kYXRlIGRpZmZlcmVudCBmb3JtdWxhdGlvbnMuXCIvPiBcbiAgICA8UWFCb3ggcT1cIkluIHlvdXIgb3Bpbmlvbiwgd2hpY2ggTE5QcyBhcmUgYmVzdCBzdWl0ZWQgZm9yIHRoZSBkcnlpbmcgcHJvY2VzcyAoU0xOcywgTkxDcywgZXRjLik/XCIgYT1cIkl0IGRlcGVuZHMgb24gdGhlIHNwZWNpZmljIGFwcGxpY2F0aW9uIGFuZCBjb21wb3NpdGlvbiBvZiB0aGUgTE5Qcy5cIi8+IFxuICAgIDxRYUJveCBxPVwiV2hhdCBhcmUgdGhlIGVzdGltYXRlZCBjb3N0cyBmb3IgdGhlIGVudGlyZSBkcnlpbmcgcHJvY2Vzcz9cIiBhPVwiVGhlIHByaW1hcnkgZXhwZW5zZXMgYXJlIGluIHJhdyBtYXRlcmlhbHMgYW5kIGZvcm11bGF0aW9ucywgd2hpY2ggYXJlIHJlbGF0aXZlbHkgZXhwZW5zaXZlLiBUaGUgcHJvY2VzcyBpdHNlbGYgY2FuIGNvc3QgaW4gdGhlIGZvdXItZGlnaXQgcmFuZ2UuXCIvPiBcbiAgICA8UWFCb3ggcT1cIldvdWxkIHlvdSBiZSB3aWxsaW5nIHRvIHN1cHBvcnQgdXMgaW4gb3VyIHByb2plY3Q/IFdvdWxkIHlvdSBkcnkgb3VyIExOUHM/XCIgYT1cIlRoZSBzcHJheSBkcnllciByZXF1aXJlcyA1IG1MIG9mIGEgc29sdXRpb24gd2l0aCA1JSBsaXBpZCBzb2xpZHMgYW5kIDAuMDIlIFJOQS4gV2VcdTIwMTl2ZSBwdWJsaXNoZWQgcmVjb3ZlcnkgcmF0ZXMgb2YgNzAlLiBZb3UgY2FuIHNlbmQgdXMgdGhlIG1STkEgYW5kIExOUCBjb21wb25lbnRzIHRvIGVuY2Fwc3VsYXRlIGFuZCBkcnkuXCIvPlxuICAgIDwvPixcbiAgICBzdW1tYXJ5OiBcIlRoZSBjb252ZXJzYXRpb24gZm9jdXNlZCBvbiBzcHJheS1kcnlpbmcgTE5QcywgZW1waGFzaXppbmcgdGhlIHNoZWxmIGxpZmUgb2YgUk5BLWJhc2VkIGZvcm11bGF0aW9ucywgb3B0aW1hbCBzdG9yYWdlIGNvbmRpdGlvbnMsIGFuZCB0ZWNobmljYWwgcmVxdWlyZW1lbnRzIGZvciB0aGUgZHJ5aW5nIHByb2Nlc3MuIENvcmRlbiBQaGFybWEgc2hhcmVkIGluc2lnaHRzIG9uIHRoZSBwcm90b2NvbCwgaGlnaGxpZ2h0aW5nIHRoZSBuZWVkIGZvciB0ZXN0aW5nIGVhY2ggTE5QIGZvcm11bGF0aW9uIGluZGl2aWR1YWxseSBmb3Igc3RhYmlsaXR5LiBBSSB0ZWNobm9sb2d5IGlzIHVzZWQgdG8gb3B0aW1pemUgTE5QIGZvcm11bGF0aW9ucywgYW5kIHBvdGVudGlhbCBjb2xsYWJvcmF0aW9ucyB3ZXJlIGRpc2N1c3NlZCwgaW5jbHVkaW5nIHN1cHBvcnQgZm9yIGRyeWluZyBMTlBzLlwiLFxuICAgIG1vbnRoczogXCJhdWd1c3RcIlxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJNYXhcIixcbiAgICBuYWNobm5hbWU6IFwiQmVja21hbm5cIixcbiAgICBqb2I6IFwiUGF0aWVudCBhbmQgU3R1ZGVudFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIlVuaXZlcnNpdHkgQmllbGVmZWxkXCIsXG4gICAgcGljdHVyZXVybDogcGljc1snbWF4J10sXG4gICAgdGFnOiBcIlBhdGllbnRcIixcbiAgICBoZWFkaW5nOiBcIkNvbnN1bHRhdGlvbiBvbiBVbml2ZXJzaXR5IEh5Z2llbmUgUmlza3MgYW5kIEltcHJvdmVtZW50IGZvciBIeWdpZW5lIENvbmNlcHRcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJtYXhoeWdpZW5lXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZU5hY2huYW1lOlwiQmVja21hbm4sIFBhdGllbnRcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiTWF4XCIsXG4gICAgcXVvdGU6IFwiSXRcdTIwMTlzIGltcG9ydGFudCB0byBrZWVwIG15IGh5Z2llbmUgcHJhY3RpY2VzIHByYWN0aWNhbCBhbmQgZWZmZWN0aXZlLCBmb2N1c2luZyBvbiByZWd1bGFyIGNsZWFuaW5nIHJhdGhlciB0aGFuIGV4Y2Vzc2l2ZSBtZWFzdXJlcyB0aGF0IG1heSBjcmVhdGUgbW9yZSByaXNrcyBmb3IgaW52ZWN0aW9uLlwiLFxuICAgIHN1bW1hcnk6IFs8cD5JbiB0aGUgZmVlZGJhY2sgb24gdGhlIGh5Z2llbmUgY29uY2VwdCwgdGhlIGF1dGhvciBzdGF0ZXMgdGhhdCB0aGUgbnVtYmVyIG9mIHRvaWxldHMgcmVxdWlyZWQgY2FuIGJlIHJlZHVjZWQgYXMgb25seSBhIG1hcmdpbmFsIG51bWJlciBvZiBwZW9wbGUgd2lsbCBiZSBwcmVzZW50IGF0IHRoZSB1bml2ZXJzaXR5LiBIZSBwcmFpc2VkIHRoZSBmaXJzdCBmb3VyIHBvaW50cyBvZiB0aGUgY29uY2VwdCBhcyB2ZXJ5IGdvb2QgYW5kIHdlbGwgdGhvdWdodCBvdXQuXG5cbiAgICAgIFdpdGggcmVnYXJkIHRvIHBvaW50cyBmaXZlIGFuZCBzaXgsIGhlIGNsYXJpZmllcyB0aGF0IG5vIHNwZWNpYWwgaHlnaWVuZSBpdGVtcyBhcmUgcmVxdWlyZWQgZm9yIHRoZSBzdGF5IGFzIGxvbmcgYXMgdGhlIHRvaWxldHMgYXJlIGNsZWFuZWQgcmVndWxhcmx5IGFuZCB0aGVyZSBpcyBhbiBhZGRpdGlvbmFsIHNlcnZpY2UgZm9yIHRoZSB3YXNoYmFzaW5zLiBIZSBleHBsYWlucyB0aGF0IHRoZSBzb3VyY2VzIG9mIGRhbmdlciBjYW4gYmUgc2lnbmlmaWNhbnRseSByZWR1Y2VkIGJ5IHJlZ3VsYXIgY2xlYW5pbmcgYW5kIHRoZSBwcmVzZW5jZSBvZiB0b2lsZXQgbGlkcywgd2hpY2ggZWxpbWluYXRlcyB0aGUgbmVlZCBmb3Igc3BlY2lhbCBoeWdpZW5lIG1lYXN1cmVzLlxuICAgICAgXG4gICAgICBIZSBhbHNvIGFyZ3VlcyB0aGF0IGNvbnRhY3RsZXNzIGZhY2lsaXRpZXMgYXJlIG5vdCBuZWNlc3NhcnkgYXMgcGVvcGxlIHdhc2ggb3Igc2FuaXRpc2UgdGhlaXIgaGFuZHMgYWZ0ZXIgdXNpbmcgdGhlIHRvaWxldCBhbnl3YXkuIEZpbmFsbHksIGhlIGFza3Mgd2hldGhlciBzb3VyY2VzIGFyZSBuZWVkZWQgZm9yIHRoZSBoeWdpZW5lIGNvbmNlcHQgYW5kIG9mZmVycyBoaXMgaGVscCB0byBjcmVhdGUgYSByZXZpc2VkIHZlcnNpb24sIHdoaWNoIGhlIHdvdWxkIHRoZW4gbGlrZSB0byByZXZpZXcgYWdhaW4gYmVmb3JlIGl0IGlzIGZvcndhcmRlZCB0byBNciBKb2hhbm5mdW5rZS48L3A+XSxcbiAgICBtb250aHM6IFwiQXVndXN0XCJcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIkRyLlwiLFxuICAgIHZvcm5hbWU6IFwiS2F0aGFyaW5hXCIsXG4gICAgbmFjaG5uYW1lOiBcIktvbG9ua29cIixcbiAgICBqb2I6IFwiRXhwZXJ0IGZvciBuYW5vY2Fwc3VsZXNcIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaW9sb2dpc3RcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydrb2xvbmtvJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJPcHRpbWl6aW5nIG91ciBtUk5BIERlbGl2ZXJ5IFN5c3RlbXNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJrb2xvbmtvZmlyc3RcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlVm9ybmFtZTpcIiBEci4gS2F0aGFyaW5hXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJLb2xvbmtvLCBMTlAgU3BlY2lhbGlzdCB3aXRoIGZvY3VzIG9uIGNoaXRvc2FuIGFuZCBDRiB0aGVyYXBpZXMgXCIsXG4gICAgcXVvdGU6IFwiV293LCB5b3VcdTIwMTlyZSBhbHJlYWR5IGZ1cnRoZXIgYWxvbmcgdGhhbiBJIHdhcyEgVGhhdFx1MjAxOXMgYSByZWFsbHkgZ29vZCBhcHByb2FjaCwgZXNwZWNpYWxseSBzaW5jZSBkcnkgcG93ZGVyIGZvcm11bGF0aW9ucyBjYW4gaGVscCB3aXRoIHN0YWJpbGl0eS5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5PdXIgZ29hbCBpbiByZWFjaGluZyBvdXQgdG8gRHIuIEthdGhhcmluYSBLb2xvbmtvLCB3aG8gZWFybmVkIGhlciBQaEQgd29ya2luZyBvbiBjaGl0b3Nhbi1iYXNlZCBuYW5vcGFydGljbGVzIGZvciBkZWxpdmVyaW5nIG51Y2xlaWMgYWNpZHMgdG8gaHVtYW4gcmVzcGlyYXRvcnkgY2VsbHMgaW4gdGhlIGNvbnRleHQgb2YgY3lzdGljIGZpYnJvc2lzLCB3YXMgdG8gc2VlayBoZXIgYWR2aWNlIG9uIHRoZSBkZXNpZ24sIHN0YWJpbGl0eSwgYW5kIGFwcGxpY2F0aW9uIG9mIG5hbm9wYXJ0aWNsZXMuIFdlIHdhbnRlZCB0byBsZWFybiBmcm9tIGhlciBleHBlcmllbmNlIHdpdGggY2hpdG9zYW4tY2Fwc2FpY2luIG5hbm9wYXJ0aWNsZXMsIGVzcGVjaWFsbHkgdGhlIGNoYWxsZW5nZXMgc2hlIGVuY291bnRlcmVkLCBhbmQgYXBwbHkgaGVyIGluc2lnaHRzIHRvIGltcHJvdmUgb3VyIG93biBwcm9qZWN0LiBTcGVjaWZpY2FsbHksIHdlIGFpbWVkIHRvIGJldHRlciB1bmRlcnN0YW5kIG5hbm9wYXJ0aWNsZSBzdGFiaWxpdHksIHRyYW5zZmVjdGlvbiBtZXRob2RzLCBhbmQgaG93IHRvIGVmZmVjdGl2ZWx5IGRlc2lnbiBvdXIgZXhwZXJpbWVudHMuXG4gICAgPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD5Eci4gS29sb25rbyBwcm92aWRlZCB1cyB3aXRoIHZhbHVhYmxlIGluc2lnaHRzIGludG8gd29ya2luZyB3aXRoIG5hbm9wYXJ0aWNsZXMsIHBhcnRpY3VsYXJseSBlbXBoYXNpemluZyB0aGUgYWR2YW50YWdlcyBvZiBuYW5vY2Fwc3VsZXMuIFNoZSBoaWdobGlnaHRlZCB0aGF0IG5hbm9jYXBzdWxlcyBhcmUgbW9yZSBzdGFibGUgdGhhbiBuYW5vLWNvbXBsZXhlcywgd2hpY2ggaXMgY3J1Y2lhbCBmb3IgZXhwZXJpbWVudHMgaW52b2x2aW5nIGNvbXBsZXggZW52aXJvbm1lbnRzIGFuZCBoaWdoIHNoZWFyIGZvcmNlcy4gQWRkaXRpb25hbGx5LCBoZXIgdXNlIG9mIGNhcHNhaWNpbiB3YXNuXHUyMDE5dCBhaW1lZCBhdCBpbXByb3ZpbmcgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3kgYnV0IHdhcyBwYXJ0IG9mIGEgYnJvYWRlciBzdHJhdGVneSB0YXJnZXRpbmcgc3BlY2lmaWMgY2hhbm5lbHMuIFNoZSBhbHNvIHNoYXJlZCBwcmFjdGljYWwgbWV0aG9kcyBmb3IgbWVhc3VyaW5nIHBhcnRpY2xlIHN0YWJpbGl0eSBhbmQgY3l0b3RveGljaXR5LCBnaXZpbmcgdXMgY2xlYXIgZ3VpZGFuY2Ugb24gdG9vbHMgYW5kIHRlY2huaXF1ZXMgdGhhdCB3ZSBjYW4gYXBwbHkgdG8gb3VyIHByb2plY3QuIFxuICAgICAgRnVydGhlcm1vcmUsIERyLiBLb2xvbmtvIGRpc2N1c3NlZCB0aGUgdXNlIG9mIGNoaXRvc2FuIGFzIGEgY29tcG9uZW50IGluIG5hbm9wYXJ0aWNsZSBmb3JtdWxhdGlvbnMuIENoaXRvc2FuLCB3aXRoIGl0cyBwb3NpdGl2ZSBjaGFyZ2UsIGNhbiBpbnRlcmFjdCB3aXRoIG1STkEsIHBvdGVudGlhbGx5IGVuaGFuY2luZyB0aGUgc3RhYmlsaXR5IG9mIHRoZSBjYXJnby4gQXMgYW4gb3V0bG9vaywgd2UgcGxhbiB0byBleHBsb3JlIG1vZGlmaWNhdGlvbnMgdXNpbmcgY2hpdG9zYW4gdG8gaW1wcm92ZSB0aGUgc3RhYmlsaXR5IGFuZCBwZXJmb3JtYW5jZSBvZiBvdXIgbVJOQSBkZWxpdmVyeSBzeXN0ZW0uIFRoaXMgYXBwcm9hY2ggbWF5IHByb3ZpZGUgYSBtb3JlIHJvYnVzdCBzb2x1dGlvbiBmb3Igb3B0aW1pemluZyBuYW5vcGFydGljbGUgZm9ybXVsYXRpb25zIGluIGZ1dHVyZSBleHBlcmltZW50cy4gPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246WzxwPldlIGRpcmVjdGx5IGFwcGxpZWQgS2F0aGFyaW5hXHUyMDE5cyBpbnNpZ2h0cyB0byBpbXByb3ZlIG91ciBuYW5vcGFydGljbGUgZGVzaWduIGFuZCB0ZXN0aW5nIG1ldGhvZHMuIEhlciByZWNvbW1lbmRhdGlvbnMgb24gdXNpbmcgbmFuby1jYXBzdWxlcyBhbmQgT3B0aU1FTSBhcyB0aGUgdHJhbnNmZWN0aW9uIG1lZGl1bSBoZWxwZWQgcmVmaW5lIG91ciBleHBlcmltZW50YWwgYXBwcm9hY2guIFNoZSBlbXBoYXNpemVkIHVzaW5nIGEgbWVkaXVtIHdpdGggZmV3ZXIgYWRkaXRpdmVzLCBsaWtlIE9wdGlNRU0sIGFuZCBzdWdnZXN0ZWQgcmVtb3ZpbmcgYW50aWJpb3RpY3MgMjQgaG91cnMgYmVmb3JlIHRyYW5zZmVjdGlvbiB0byBhdm9pZCBpbnRlcmZlcmVuY2UsIGVuc3VyaW5nIG1vcmUgY29udHJvbGxlZCBhbmQgZWZmZWN0aXZlIGNvbmRpdGlvbnMuIFdlIGFsc28gZXhwbG9yZWQgbmV3IHN0YWJpbGl0eSB0ZXN0aW5nIGlkZWFzLCBpbmNsdWRpbmcgbmFzYWwgc3ByYXkgc29sdXRpb25zIGFuZCBkcnkgcG93ZGVyIGZvcm11bGF0aW9ucy4gXG4gICAgICBXZSBpbmNvcnBvcmF0ZWQgaGVyIGluc2lnaHRzIGFzIGZvbGxvd3M6IDwvcD4sXG4gICAgICA8dWw+XG4gICAgICAgIDxsaT48c3Ryb25nPk5hbm8tQ2Fwc3VsZXMgRm9jdXM6PC9zdHJvbmc+IEJhc2VkIG9uIEthdGhhcmluYVx1MjAxOXMgYWR2aWNlLCB3ZSBwcmlvcml0aXplZCBuYW5vLWNhcHN1bGVzIGZvciB0aGVpciBlbmhhbmNlZCBzdGFiaWxpdHkgb3ZlciBuYW5vLWNvbXBsZXhlcy48L2xpPlxuICAgICAgICA8bGk+PHN0cm9uZz5DaGl0b3NhbiBmb3IgU3RhYmlsaXR5Ojwvc3Ryb25nPiBXZSdyZSBleHBsb3JpbmcgY2hpdG9zYW4gdG8gaW1wcm92ZSBtUk5BIGRlbGl2ZXJ5IHN5c3RlbSBzdGFiaWxpdHkgZHVlIHRvIGl0cyBwb3NpdGl2ZSBjaGFyZ2UsIHdoaWNoIGJpbmRzIG1STkEgdG8gdGhlIG5hbm9wYXJ0aWNsZSBzdXJmYWNlLjwvbGk+XG4gICAgICAgIDxsaT48c3Ryb25nPk9wdGlNRU0gZm9yIFRyYW5zZmVjdGlvbjo8L3N0cm9uZz4gT3B0aU1FTSBpcyBub3cgb3VyIGNob3NlbiB0cmFuc2ZlY3Rpb24gbWVkaXVtLCB3aXRoIHRoZSBzdWdnZXN0aW9uIHRvIHJlbW92ZSBhbnRpYmlvdGljcyAyNCBob3VycyBwcmlvci48L2xpPlxuICAgICAgICA8bGk+PHN0cm9uZz5NVFQgVGVzdCBmb3IgQ3l0b3RveGljaXR5Ojwvc3Ryb25nPiBXZSBhZG9wdGVkIHRoZSBNVFQgdGVzdCBmb3IgY3l0b3RveGljaXR5IGR1ZSB0byBpdHMgc2ltcGxpY2l0eSBhbmQgcmVsaWFiaWxpdHkuPC9saT5cbiAgICAgICAgPGxpPjxzdHJvbmc+TmFzYWwgU3ByYXkgYW5kIERyeSBQb3dkZXIgVGVzdGluZzo8L3N0cm9uZz4gV2UgYXJlIGNvbnNpZGVyaW5nIHRlc3RpbmcgbmFub3BhcnRpY2xlIHN0YWJpbGl0eSB1c2luZyBuYXNhbCBzcHJheSBzb2x1dGlvbnMgYW5kIGV4cGxvcmluZyBkcnkgcG93ZGVyIGZvcm11bGF0aW9ucy48L2xpPlxuICAgICAgICA8bGk+PHN0cm9uZz5DYXBzYWljaW4gRXhjbHVzaW9uOjwvc3Ryb25nPiBBcyBjYXBzYWljaW4gZGlkIG5vdCBzaWduaWZpY2FudGx5IGltcGFjdCB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSBpbiBLYXRoYXJpbmFcdTIwMTlzIHJlc2VhcmNoLCB3ZSBkZWNpZGVkIG5vdCB0byBpbmNsdWRlIGl0IGluIG91ciBwcm9qZWN0LjwvbGk+XG4gICAgICA8L3VsPlxuICAgIF0gLFxuICAgIGludGVydmlldzo8PlxuICAgIDxRYUJveCBxPVwiSG93IGRpZCB5b3UgYXBwcm9hY2ggdGhlIGRlc2lnbiBvZiBMaXBpZCBOYW5vcGFydGljbGVzIChMTlBzKT8gV2hhdCB3ZXJlIHRoZSBmaXJzdCBzdGVwcyB5b3UgdG9vayBhdCB0aGF0IHRpbWU/IFdlcmUgeW91IGFscmVhZHkgZmFtaWxpYXIgd2l0aCBMTlBzLCBvciB3YXMgdGhhdCBhIGNvbXBsZXRlbHkgbmV3IGV4cGVyaWVuY2UgZm9yIHlvdT9cIiBhPVwiSSBzdGFydGVkIHdvcmtpbmcgd2l0aCBuYW5vcGFydGljbGVzIGR1cmluZyBteSBiYWNoZWxvclx1MjAxOXMgdGhlc2lzLiBJIGNvbnRpbnVlZCB3aXRoIG5hbm9wYXJ0aWNsZXMgaW50byBteSBtYXN0ZXJcdTIwMTlzIHRoZXNpcywgd29ya2luZyBvbiBhIHByb2plY3QgcmVsYXRlZCB0byBjeXN0aWMgZmlicm9zaXMuIEluaXRpYWxseSwgSSB3b3JrZWQgd2l0aCBuYW5vLWNvbXBsZXhlcywgYnV0IGxhdGVyIHN3aXRjaGVkIHRvIG5hbm8tY2Fwc3VsZXMgZHVlIHRvIHRoZWlyIHN0YWJpbGl0eSwgZXNwZWNpYWxseSBpbiBjZWxsIGN1bHR1cmUgbWVkaWEuXCIgLz5cbiAgICA8UWFCb3ggcT1cIlNpbmNlIHlvdVx1MjAxOXJlIGZvY3VzZWQgb24gc3RhYmlsaXR5IGFuZCBhcHBseWluZyBoaWdoIHNoZWFyIGZvcmNlcywgY291bGQgeW91IGV4cGxhaW4gd2h5IG5hbm8tY2Fwc3VsZXMgYXJlIG1vcmUgc3RhYmxlIHRoYW4gY29tcGxleGVzIGluIHRoaXMgY29udGV4dD9cIiBhPVwiTmFuby1jYXBzdWxlcyBhcmUgZ2VuZXJhbGx5IG1vcmUgc3RhYmxlIGluIGNlbGwgY3VsdHVyZSBtZWRpYSBjb21wYXJlZCB0byBuYW5vLWNvbXBsZXhlcywgd2hpY2ggb2Z0ZW4gcmVhY3Qgd2l0aCBhZGRpdGl2ZXMgYW5kIHByb3RlaW5zLiBIb3dldmVyLCBJIGRpZG5cdTIwMTl0IGV4cGxvcmUgc2hlYXIgZm9yY2VzIG11Y2ggZnVydGhlci4gTXkgbWFpbiBnb2FsIHdhcyB0byBzdGFiaWxpemUgdGhlIHBhcnRpY2xlcyBpbiBjZWxsIGN1bHR1cmUgbWVkaWEgZm9yIHRlc3Rpbmcgb24gY2VsbHMuXCIgLz5cbiAgICA8UWFCb3ggcT1cIldoYXQga2luZCBvZiBjZWxsIGN1bHR1cmUgbWVkaXVtIGRpZCB5b3UgdXNlIGZvciB0aGVzZSBleHBlcmltZW50cz9cIiBhPVwiRm9yIHRyYW5zZmVjdGlvbiwgd2UgdXNlZCBPcHRpbWVtIGFzIHRoZSBtZWRpdW0sIGFmdGVyIHJlbW92aW5nIGFudGliaW90aWNzIGZyb20gdGhlIGN1bHR1cmUgbWVkaXVtIDI0IGhvdXJzIHByaW9yIHRvIHRyYW5zZmVjdGlvbi5cIiAvPlxuICAgIDxRYUJveCBxPVwiSG93IGxvbmcgZGlkIGl0IHRha2UgeW91IHRvIGdldCB0byB0aGUgcG9pbnQgd2hlcmUgeW91IHVzZWQgbmFuby1jYXBzdWxlcz9cIiBhPVwiSSBvbmx5IHN0YXJ0ZWQgd29ya2luZyB3aXRoIG5hbm8tY2Fwc3VsZXMgdG93YXJkcyB0aGUgZW5kIG9mIG15IFBoRC4gSSBzcGVudCBtdWNoIG9mIG15IHRpbWUgd2l0aCBuYW5vLWNvbXBsZXhlcywgYnV0IHdoZW4gSSB2aXNpdGVkIGEgbGFiIGluIExlZWRzLCBJIHNoaWZ0ZWQgdG8gbmFuby1jYXBzdWxlcy4gVGhpcyB0cmFuc2l0aW9uIGhhcHBlbmVkIHF1aXRlIGxhdGUsIGp1c3QgbW9udGhzIGJlZm9yZSBJIGZpbmlzaGVkIG15IHRoZXNpcy5cIiAvPlxuICAgIDxRYUJveCBxPVwiWW91IG1lbnRpb25lZCBjYXBzYWljaW4gaW4geW91ciByZWNlbnQgcGFwZXIuIERvZXMgaXQgc2lnbmlmaWNhbnRseSBhZmZlY3QgdHJhbnNmZWN0aW9uIGVmZmljaWVuY3ksIGFuZCBpcyBpdCB3b3J0aCBpbmNsdWRpbmcgaW4gb3VyIGV4cGVyaW1lbnRzP1wiIGE9XCJObywgY2Fwc2FpY2luIGRpZG5cdTIwMTl0IGFmZmVjdCB0cmFuc2ZlY3Rpb24gZWZmaWNpZW5jeSBpbiBvdXIgZXhwZXJpbWVudHMuIEl0IHdhcyBpbmNsdWRlZCB0byBpbmhpYml0IHRoZSBJbmEtY2hhbm5lbCBhcyBwYXJ0IG9mIGEgZHVhbCBzdHJhdGVneSB0YXJnZXRpbmcgYm90aCBDRlRSIGFuZCBJbmEtY2hhbm5lbHMsIGJ1dCBpdCBtaWdodCBub3QgYmUgbmVjZXNzYXJ5IGZvciB5b3VyIHByb2plY3QuXCIgLz5cbiAgICA8UWFCb3ggcT1cIldlcmUgdGhlcmUgYW55IGNyaXRpY2FsIGNvbXBvbmVudHMgaW4gdGhlIGZvcm11bGF0aW9uIG9mIHlvdXIgbmFub3BhcnRpY2xlcyB0aGF0IHlvdSBjb3VsZG5cdTIwMTl0IGRvIHdpdGhvdXQ/XCIgYT1cIk5vLCB0aGUgbWFpbiBjb21wYXJpc29uIHdhcyBiZXR3ZWVuIG5hbm8tY29tcGxleGVzIGFuZCBuYW5vLWNhcHN1bGVzLiBOYW5vLWNvbXBsZXhlcyB3ZXJlIGluY29uc2lzdGVudCBpbiBzaXplIGFuZCBzdGFiaWxpdHksIHdoaWxlIG5hbm8tY2Fwc3VsZXMgd2VyZSBzdGFibGUgYW5kIHNtYWxsZXIsIHdoaWNoIEkgYmVsaWV2ZWQgd291bGQgd29yayBiZXR0ZXIgaW4gbGF0ZXIgZXhwZXJpbWVudHMuXCIgLz5cbiAgICA8UWFCb3ggcT1cIklzIHRoZXJlIGEgd2F5IHRvIGNoZWNrIGlmIHRoZSBtUk5BIHN0aWNrcyB0byB0aGUgb3V0c2lkZSBvZiB0aGUgbmFub3BhcnRpY2xlIG9yIGVuZHMgdXAgaW5zaWRlP1wiIGE9XCJJIGJlbGlldmUgdGhlIG1STkEgc3RpY2tzIHRvIHRoZSBvdXRzaWRlLiBUaGUgcHJvY2VzcyBpbnZvbHZlZCBmb3JtaW5nIG5hbm8tY2Fwc3VsZXMgdXNpbmcgbGVjaXRoaW4gYW5kIG9pbCwgYW5kIGFmdGVyIHRoZSBldGhhbm9sIHdhcyBldmFwb3JhdGVkLCBtUk5BIHdhcyBhZGRlZCBsYXN0LiBUaGUgbVJOQSBsaWtlbHkgYWRoZXJlZCB0byB0aGUgcG9zaXRpdmVseSBjaGFyZ2VkIGNoaXRvc2FuIG9uIHRoZSBvdXRzaWRlIG9mIHRoZSBjYXBzdWxlLlwiIC8+XG4gICAgPFFhQm94IHE9XCJEbyB5b3UgcmVtZW1iZXIgdGhlIHJhdGlvIG9mIG1STkEgdG8gbmFuby1jYXBzdWxlP1wiIGE9XCJJIGRvblx1MjAxOXQgcmVtZW1iZXIgdGhlIGV4YWN0IHJhdGlvIG9mZmhhbmQsIGJ1dCBpdFx1MjAxOXMgZG9jdW1lbnRlZCBpbiBteSBkaXNzZXJ0YXRpb24uIEkgb3B0aW1pemVkIHRoZSBhbW91bnQgb2YgbVJOQSB0aGF0IG5lZWRlZCB0byBlbnRlciB0aGUgY2VsbCBmb3IgZWZmZWN0aXZlIHJlc3VsdHMsIGJ1dCBkaWRuXHUyMDE5dCBkbyBleHRlbnNpdmUgdGVzdGluZyB3aXRoIG5hbm8tY2Fwc3VsZXMuXCIgLz5cbiAgICA8UWFCb3ggcT1cIldhcyBkZXRlcm1pbmluZyB0aGUgb3B0aW1hbCBhbW91bnQgb2YgbmFub3BhcnRpY2xlcyB0cmlhbCBhbmQgZXJyb3I/XCIgYT1cIlllcywgZGVmaW5pdGVseS4gSXQgaW52b2x2ZWQgYSBsb3Qgb2Ygb3B0aW1pemF0aW9uLlwiIC8+XG4gICAgPFFhQm94IHE9XCJZb3UgdXNlZCB0aGUgTVRUIHRlc3QgZm9yIGN5dG90b3hpY2l0eS4gV291bGQgeW91IHJlY29tbWVuZCBpdCBmb3IgdXMsIG9yIGFyZSB0aGVyZSBiZXR0ZXIgYWx0ZXJuYXRpdmVzP1wiIGE9XCJZZXMsIHRoZSBNVFQgdGVzdCBpcyBzaW1wbGUgYW5kIHJlbGlhYmxlLiBZb3UganVzdCBuZWVkIHRvIHBpcGV0dGUgYWNjdXJhdGVseS4gV2UgdXNlZCBpdCBmcmVxdWVudGx5LCBhbmQgaXQgd29ya2VkIHdlbGwuXCIgLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBkaWQgeW91IGFzc2VzcyB0aGUgc3RhYmlsaXR5IG9mIHRoZSBuYW5vLWNhcHN1bGVzPyBEaWQgeW91IHVzZSBtaWNyb3Njb3B5IG9yIGFub3RoZXIgbWV0aG9kP1wiIGE9XCJXZSB1c2VkIGEgZGV2aWNlIGNhbGxlZCBhIFpldGFzaXplciwgd2hpY2ggbWVhc3VyZXMgc2l6ZSwgemV0YSBwb3RlbnRpYWwsIGFuZCBwb2x5ZGlzcGVyc2l0eSBpbmRleCAoUERJKS4gV2UgdXNlZCBpdCB0byBhc3Nlc3Mgc3RhYmlsaXR5IGluIGNlbGwgY3VsdHVyZSBtZWRpdW0gb3ZlciB0aW1lLCBmcm9tIGhhbGYgYW4gaG91ciB0byAyNCBob3Vycy5cIiAvPlxuICAgIDxRYUJveCBxPVwiRG8geW91IGhhdmUgYW55IGFkdmljZSBmb3Igb3VyIHByb2plY3Qgb3IgYW55dGhpbmcgd2UgbWlnaHQgaGF2ZSBtaXNzZWQ/XCIgYT1cIklmIHlvdVx1MjAxOXJlIHBsYW5uaW5nIHRvIHVzZSBhIGRpZmZ1c2VyIGZvciBuYXNhbCBhZG1pbmlzdHJhdGlvbiwgeW91IG1pZ2h0IHdhbnQgdG8gdGVzdCB0aGUgc3RhYmlsaXR5IG9mIHRoZSBuYW5vcGFydGljbGVzIGluIGEgc2FsaW5lIHNvbHV0aW9uIG9yIHN0YW5kYXJkIG5hc2FsIHNwcmF5IHNvbHV0aW9uLiBJdCBjb3VsZCBiZSB1c2VmdWwgdG8gc2VlIGhvdyB0aGV5IGJlaGF2ZSBpbiBzdWNoIGEgbWVkaXVtLiBPdGhlcndpc2UsIGl0IHNlZW1zIGxpa2UgeW91XHUyMDE5cmUgd2VsbCBhaGVhZCBvZiB3aGVyZSBJIHdhcyFcIiAvPlxuICAgIDxRYUJveCBxPVwiVGhhbmsgeW91IHNvIG11Y2ggZm9yIHlvdXIgdGltZSBhbmQgaW5zaWdodHMhXCIgYT1cIllvdVx1MjAxOXJlIHdlbGNvbWUhIElcdTIwMTltIGdsYWQgSSBjb3VsZCBoZWxwLlwiIC8+XG4gICAgPC8+LFxuICAgIHN1bW1hcnk6IFwiV2UgaWRlbnRpZmllZCBzZXZlcmFsIGNydWNpYWwgaW5zaWdodHMgdG8gZ3VpZGUgb3VyIHByb2plY3QgZGV2ZWxvcG1lbnQuIE5hbm8tY2Fwc3VsZXMgd2VyZSBmb3VuZCB0byBiZSBtb3JlIHN0YWJsZSB0aGFuIG5hbm8tY29tcGxleGVzLCBtYWtpbmcgdGhlbSBvdXIgcHJlZmVycmVkIGZvcm11bGF0aW9uIGNob2ljZS4gV2Ugd2lsbCB1dGlsaXplIGNoaXRvc2FuIHRvIGVuaGFuY2UgbVJOQSBzdGFiaWxpdHkgZHVlIHRvIGl0cyBwb3NpdGl2ZSBjaGFyZ2UsIHdoaWxlIGNhcHNhaWNpbiB3YXMgZGVlbWVkIGlycmVsZXZhbnQgZm9yIG91ciBwdXJwb3Nlcy4gRm9yIHRyYW5zZmVjdGlvbiwgd2Ugd2lsbCB1c2UgT3B0aU1FTSBhcyB0aGUgbWVkaXVtLCByZW1vdmluZyBhbnRpYmlvdGljcyAyNCBob3VycyBwcmlvciB0byB0aGUgcHJvY2VkdXJlLiBXZSB3aWxsIGFzc2VzcyBzdGFiaWxpdHkgd2l0aCBhIFpldGFzaXplciBhbmQgZXZhbHVhdGUgY3l0b3RveGljaXR5IHVzaW5nIHRoZSBNVFQgdGVzdC4gQWRkaXRpb25hbGx5LCB3ZSBhcmUgZXhwbG9yaW5nIG5hc2FsIHNwcmF5IGFuZCBkcnkgcG93ZGVyIGZvcm11bGF0aW9ucyB0byBpbXByb3ZlIG5hbm9wYXJ0aWNsZSBkZWxpdmVyeS4gVGhlc2UgaW5zaWdodHMgd2lsbCBzaWduaWZpY2FudGx5IHNoYXBlIG91ciBhcHByb2FjaCB0byBvcHRpbWl6aW5nIG1STkEgZGVsaXZlcnkgc3lzdGVtcy5cIixcbiAgICBtb250aHM6IFwiQXVndXN0XCJcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIkRyLlwiLFxuICAgIHZvcm5hbWU6IFwiT2xpdmVyXCIsXG4gICAgbmFjaG5uYW1lOiBcIkRyXHUwMEU0Z2VyXCIsXG4gICAgam9iOiBcIkJpZWxlZmVsZCBVbml2ZXJzaXR5XCIsXG4gICAgYWZmaWxpYXRpb246IFwiUmVzZWFyY2ggR3JvdXAgQ2VsbHVsYXIgTmV1cm9waHlzaW9sb2d5XCIsXG4gICAgcGljdHVyZXVybDogcGljc1snZHJhZWdlciddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiTmV3IGFwcHJvYWNoZXMgaW4gZWxlY3Ryb3BoeXNpb2xvZ3kgYW5kIHRoZWlyIGFwcGxpY2F0aW9uIGluIG91ciBwcm9qZWN0ICBcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJwYXRjaGNsYW1wXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6WzxwPjwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+PC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD48L3A+XSxcbiAgICBzdW1tYXJ5OiBcIlwiLFxuICAgIG1vbnRoczogXCJBdWd1c3RcIixcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiR3hQIGNvdXJzZVwiLFxuICAgIG5hY2hubmFtZTpcIlwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2d4cGNvdXJzZSddLFxuICAgIHRhZzogXCJJbmR1c3RyeVwiLFxuICAgIGhlYWRpbmc6IFwiU3VjY2Vzc2Z1bCBwYXJ0aWNpcGF0aW9uIG9mIGEgdGVhbSBtZW1iZXIgaW4gYSA1IGRheSBHeFAgY291cnNlXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiZ3hwY291cnNlXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGU6IFwiVGhlIEdYUCBjb3Vyc2Ugd2FzIGV4dHJlbWVseSB1c2VmdWwgYXMgaXQgcHJvdmlkZWQgdXMgd2l0aCBpbXBvcnRhbnQga25vd2xlZGdlIHRoYXQgc3VwcG9ydHMgb3VyIGVudGlyZSB0ZWFtIGluIGNvbXBseWluZyB3aXRoIHF1YWxpdHkgc3RhbmRhcmRzLiBUaGlzIGtub3dsZWRnZSB3aWxsIGhlbHAgdXMgdG8gb3JnYW5pc2Ugb3VyIHByb2Nlc3NlcyBlZmZpY2llbnRseSBhbmQgaW4gYWNjb3JkYW5jZSB3aXRoIHJlZ3VsYXRpb25zIGluIHRoZSBmdXR1cmUuXCIsXG4gICAgcXVvdGVWb3JuYW1lOlwiS2F5YVwiLFxuICAgIHF1b3RlTmFjaG5hbWU6XCJMYW5nZSwgVGVhbW1lbWJlclwiLFxuICAgIHR5cGU6IFwibWV0YVwiLFxuICAgIHRleHQ6IFs8cD5JLCBLYXlhLCBUZWFtIE1lbWJlciBvZiBpR0VNIEJpZWxlZmVsZCAyMDI0LCByZWNlbnRseSBwYXJ0aWNpcGF0ZWQgaW4gYW4gaW50ZW5zaXZlIG9uZS13ZWVrIEdYUCAoR29vZCBQcmFjdGljZSkgdHJhaW5pbmcgY291cnNlLCB3aGljaCB3YXMgcGl2b3RhbCBleHBlcmllbmNlIGZvciBib3RoIG1lIGFuZCBvdXIgcHJvamVjdC4gVGhlIGNvdXJzZSBjb3ZlcmVkIGVzc2VudGlhbCByZWd1bGF0b3J5IGZyYW1ld29ya3MsIGluY2x1ZGluZzwvcD4sIFxuICAgICAgPHVsPlxuICAgICAgICA8bGk+R29vZCBMYWJvcmF0b3J5IFByYWN0aWNlIChHTFApPC9saT5cbiAgICAgICAgPGxpPkdvb2QgQ2xpbmljYWwgUHJhY3RpY2UgKEdDUCk8L2xpPlxuICAgICAgICA8bGk+R29vZCBNYW51ZmFjdHVyaW5nIFByYWN0aWNlIChHTVApPC9saT5cbiAgICAgIDwvdWw+LFxuICAgICAgPHA+XG4gICAgICB3aGljaCBhcmUgYWxsIGRlc2lnbmVkIHRvIGVuc3VyZSBxdWFsaXR5LCBzYWZldHksIGFuZCBjb21wbGlhbmNlIGFjcm9zcyBldmVyeSBwaGFzZSBvZiBzY2llbnRpZmljIHJlc2VhcmNoIGFuZCBkZXZlbG9wbWVudC4gICAgICBcbiAgICAgIEFzIHRoZSBoZWFkIG9mIEludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VzLCBJIGZvdW5kIHRoaXMgdHJhaW5pbmcgcGFydGljdWxhcmx5IHZhbHVhYmxlLiBJdCBwcm92aWRlZCBtZSB3aXRoIGEgZGVlcGVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHJpZ29yb3VzIHN0YW5kYXJkcyB0aGF0IG5lZWQgdG8gYmUgbWFpbnRhaW5lZCBpbiByZXNlYXJjaCwgZXNwZWNpYWxseSBjb25jZXJuaW5nIGV0aGljcywgZGF0YSBpbnRlZ3JpdHksIGFuZCBwYXRpZW50IHNhZmV0eS4gSSBsZWFybmVkIGhvdyB0byBwcm9wZXJseSBkb2N1bWVudCByZXNlYXJjaCBwcm9jZXNzZXMsIGVuc3VyZSB0aGUgcmVwcm9kdWNpYmlsaXR5IG9mIHJlc3VsdHMsIGFuZCBhc3Nlc3MgYW5kIG1pdGlnYXRlIHJpc2tzLCBhbGwgd2hpbGUga2VlcGluZyB0aGUgZXRoaWNhbCBjb25zaWRlcmF0aW9ucyBvZiBvdXIgcHJvamVjdCBhdCB0aGUgZm9yZWZyb250LiBcbiAgICAgIEkgaGF2ZSBhY3F1aXJlZCB0aGUgYWJpbGl0eSB0byBjcmVhdGUgc3RhbmRhcmQgb3BlcmF0aW5nIHByb2NlZHVyZXMgKFNPUHMpIHRoYXQgZ3VhcmFudGVlIHRoZSB0cmFuc3BhcmVudCBhbmQgdHJhY2VhYmxlIGRvY3VtZW50YXRpb24gb2YgZWFjaCBzdGFnZSBvZiB0aGUgcmVzZWFyY2ggcHJvY2Vzcy4gVGhpcyBub3Qgb25seSBmYWNpbGl0YXRlcyBpbnRlcm5hbCBvcmdhbmlzYXRpb24gYnV0IGlzIGFsc28gY3J1Y2lhbCBmb3Igc3Vic2VxdWVudCBhcHByb3ZhbHMgYW5kIGF1ZGl0cyBieSByZWd1bGF0b3J5IGF1dGhvcml0aWVzLiBcbiAgICAgIEl0IGlzIG9mIHBhcmFtb3VudCBpbXBvcnRhbmNlIHRvIGVuc3VyZSB0aGUgcmVwcm9kdWNpYmlsaXR5IG9mIG91ciBleHBlcmltZW50cyBieSBtYWludGFpbmluZyBhY2N1cmF0ZSBwcm90b2NvbHMgYW5kIG1ldGljdWxvdXNseSBkb2N1bWVudGluZyBhbGwgdmFyaWFibGVzLiBUaGlzIGlzIG9mIHBhcnRpY3VsYXIgaW1wb3J0YW5jZSBzaG91bGQgdGhlIGludGVudGlvbiBiZSB0byBwdXJzdWUgY2xpbmljYWwgcmVzZWFyY2ggYXQgYSBsYXRlciBzdGFnZSwgYXMgdGhlIHJlcHJvZHVjaWJpbGl0eSBvZiBleHBlcmltZW50cyBpcyBhIGNydWNpYWwgZmFjdG9yIGluIHRoZSB2YWxpZGl0eSBvZiB0aGUgcmVzdWx0cy4gXG4gICAgICBJIGFjcXVpcmVkIGtub3dsZWRnZSBvZiB0ZWNobmlxdWVzIGZvciByaXNrIGFzc2Vzc21lbnQsIGluY2x1ZGluZyBGYWlsdXJlIE1vZGUgYW5kIEVmZmVjdHMgQW5hbHlzaXMgKEZNRUEpLiBUaGlzIHByb2Nlc3MgZW5hYmxlcyB0aGUgaWRlbnRpZmljYXRpb24gb2YgcG90ZW50aWFsIHJpc2tzIGluIGEgcHJvamVjdCBhdCBhbiBlYXJseSBzdGFnZSwgdGh1cyBmYWNpbGl0YXRpbmcgdGhlIGRldmVsb3BtZW50IG9mIHN0cmF0ZWdpZXMgdG8gbWluaW1pc2UgdGhlbS4gVGhpcyBhcHByb2FjaCBhbGxvd3MgdXMgdG8gaWRlbnRpZnkgYW5kIGFkZHJlc3MgcG90ZW50aWFsIHNvdXJjZXMgb2YgZXJyb3IgYmVmb3JlIHRoZXkgbGVhZCB0byBzaWduaWZpY2FudCBpc3N1ZXMuIFxuICAgICAgVGhpcyBrbm93bGVkZ2UgaXMgY3J1Y2lhbCBhcyB3ZSB0aGluayBhYm91dCB0aGUgZnV0dXJlIG9mIG91ciBwcm9qZWN0LCBwYXJ0aWN1bGFybHkgaWYgd2UgYWltIHRvIG1vdmUgb3VyIGdlbmUgdGhlcmFweSBhcHByb2FjaCBmb3IgY3lzdGljIGZpYnJvc2lzIGNsb3NlciB0byBjbGluaWNhbCB0cmlhbHMgYW5kIHJlYWwtd29ybGQgYXBwbGljYXRpb25zLiBNeSBwYXJ0aWNpcGF0aW9uIGluIHRoZSBHWFAgdHJhaW5pbmcgaGFzIGVxdWlwcGVkIG1lIHdpdGggdGhlIG5lY2Vzc2FyeSB0b29scyB0byBwb3RlbnRpYWxseSBndWlkZSBvdXIgdGVhbSB0aHJvdWdoIHRoZSBjb21wbGV4IHJlZ3VsYXRvcnkgbGFuZHNjYXBlLCBlbnN1cmluZyBvdXIgd29yayByZW1haW5zIGFsaWduZWQgd2l0aCBpbmR1c3RyeSBzdGFuZGFyZHMgYW5kIHJlYWR5IGZvciB0aGUgbmV4dCBzdGVwcyBpbiBkZXZlbG9wbWVudC4gXG4gICAgICBPbmUgb2YgdGhlIGtleSBzcGVha2VycyBkdXJpbmcgdGhlIEdYUCBjb3Vyc2Ugd2FzICA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cImd4cGV4cGVydFwiIHRleHQ9XCJEci4gTWFyY3VzIEJlcmdlclwiIC8+LCB3aG9zZSBleHBlcnRpc2Ugd2FzIGludmFsdWFibGUgdG8gbWUgYW5kIHRoZSBlbnRpcmUgdGVhbS4gQWZ0ZXIgdGhlIGNvdXJzZSwgSSBoYWQgdGhlIG9wcG9ydHVuaXR5IHRvIGFzayBEci4gQmVyZ2VyIHNvbWUgcXVlc3Rpb25zLCBmdXJ0aGVyIGRlZXBlbmluZyBteSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBwcmFjdGljYWwgYXBwbGljYXRpb25zIG9mIEdYUCBpbiByZXNlYXJjaC4gVGhlIGNvbm5lY3Rpb24gd2l0aCBEci4gQmVyZ2VyIGhhcyBiZWVuIGhpZ2hseSBiZW5lZmljaWFsLCBhcyBoaXMgaW5zaWdodHMgaGVscGVkIHNoYXBlIGtleSBhc3BlY3RzIG9mIG91ciBwcm9qZWN0XHUyMDE5cyBkZXZlbG9wbWVudCBhbmQgY29tcGxpYW5jZSB3aXRoIGluZHVzdHJ5IHN0YW5kYXJkcy4gSGlzIGd1aWRhbmNlIHdpbGwgY29udGludWUgdG8gYmUgYSB2YWx1YWJsZSByZXNvdXJjZSBmb3Igb3VyIHRlYW0gbW92aW5nIGZvcndhcmQuIFxuICAgICAgVGhyb3VnaCB0aGlzIHRyYWluaW5nLCBJIGZlZWwgYmV0dGVyIHBvc2l0aW9uZWQgdG8gY29udHJpYnV0ZSB0byB0aGUgdGVhbVx1MjAxOXMgZWZmb3J0cywgZW5zdXJpbmcgb3VyIHByb2plY3QgYWRoZXJlcyB0byBnbG9iYWwgc2FmZXR5IGFuZCBldGhpY2FsIGd1aWRlbGluZXMuIFRoaXMgZXhwZXJpZW5jZSBoYXMgc3RyZW5ndGhlbmVkIG91ciBhcHByb2FjaCBhbmQgc2V0IGEgc29saWQgZm91bmRhdGlvbiBmb3IgZnV0dXJlIHByb2dyZXNzLCBlbnN1cmluZyB0aGF0IG91ciByZXNlYXJjaCwgcHVibGljIGVuZ2FnZW1lbnQsIGFuZCBwb3RlbnRpYWwgY2xpbmljYWwgYXBwbGljYXRpb25zIGNvbnRpbnVlIHRvIG1lZXQgdGhlIGhpZ2hlc3QgcmVndWxhdG9yeSBzdGFuZGFyZHMuIDwvcD5dLFxuICAgIHN1bW1hcnk6IFwiS2F5YSwgYSBtZW1iZXIgb2YgdGhlIGlHRU0gQmllbGVmZWxkIDIwMjQgdGVhbSwgY29tcGxldGVkIGFuIGludGVuc2l2ZSBvbmUtd2VlayBHWFAgKEdvb2QgUHJhY3RpY2UpIHRyYWluaW5nLCB3aGljaCBjb3ZlcmVkIEdvb2QgTGFib3JhdG9yeSBQcmFjdGljZSAoR0xQKSwgR29vZCBDbGluaWNhbCBQcmFjdGljZSAoR0NQKSwgYW5kIEdvb2QgTWFudWZhY3R1cmluZyBQcmFjdGljZSAoR01QKS4gVGhlIHRyYWluaW5nIHByb3ZpZGVkIHZhbHVhYmxlIGluc2lnaHRzIGludG8gbWFpbnRhaW5pbmcgaGlnaCBzdGFuZGFyZHMgb2YgcXVhbGl0eSwgc2FmZXR5LCBhbmQgZXRoaWNzIHRocm91Z2hvdXQgdGhlIHJlc2VhcmNoIHByb2Nlc3MuIEtheWEgbGVhcm5lZCBjcnVjaWFsIHNraWxscywgc3VjaCBhcyBkb2N1bWVudGluZyByZXNlYXJjaCBwcm9jZXNzZXMgZm9yIHJlcHJvZHVjaWJpbGl0eSwgY3JlYXRpbmcgc3RhbmRhcmQgb3BlcmF0aW5nIHByb2NlZHVyZXMgKFNPUHMpLCBhbmQgY29uZHVjdGluZyByaXNrIGFzc2Vzc21lbnRzIHVzaW5nIHRlY2huaXF1ZXMgbGlrZSBGYWlsdXJlIE1vZGUgYW5kIEVmZmVjdHMgQW5hbHlzaXMgKEZNRUEpLiBUaGlzIGtub3dsZWRnZSBpcyBlc3NlbnRpYWwgZm9yIGFkdmFuY2luZyB0aGVpciBjeXN0aWMgZmlicm9zaXMgZ2VuZSB0aGVyYXB5IHByb2plY3QgdG93YXJkIGNsaW5pY2FsIHRyaWFscyBhbmQgZW5zdXJpbmcgY29tcGxpYW5jZSB3aXRoIHJlZ3VsYXRvcnkgc3RhbmRhcmRzLiBEci4gTWFyY3VzIEJlcmdlciwgYSBrZXkgc3BlYWtlciBpbiB0aGUgY291cnNlLCBwcm92aWRlZCBhZGRpdGlvbmFsIGd1aWRhbmNlLCBvZmZlcmluZyB2YWx1YWJsZSBpbnNpZ2h0cyB0aGF0IHdpbGwgY29udGludWUgdG8gYmVuZWZpdCB0aGUgdGVhbS5cIixcbiAgICBtb250aHM6IFwiYXVndXN0XCIsXG4gICAgcGljdHVyZXVybF9pbXBsZW1lbnRhdGlvbjogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZm9yLXdpa2ktdGV4dHMvZ3hwL2d4cC1jb3Vyc2Uta2F5YS53ZWJwXCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZm9yLXdpa2ktdGV4dHMvZ3hwL2d4cC1jb3Vyc2UtZ3JvdXAud2VicFwiLFxuICB9LFxuICB7XG4gICAgdm9ybmFtZTogXCJDb25uZWN0IGFuZCBTaGFyZVwiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIGpvYjogXCJUZWFtIGlHRU1cIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaWVsZmVsZCBDZUJpVGVjIDIwMjRcIixcbiAgICB0YWc6IFwiTWlsZXN0b25lXCIsXG4gICAgaGVhZGluZzogXCJCcmFpbnN0b3JtaW5nIGFuZCBzZWxlY3Rpb24gb2YgaWRlYXMgYW5kIGNvbmNlcHRzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiY29ubmVjdFwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJcIixcbiAgICBpbnNpZ2h0czogXCJcIixcbiAgICBpbXBsZW1lbnRhdGlvbjogXCJcIixcbiAgICB0eXBlOiBcIm1ldGFcIixcbiAgICBzdW1tYXJ5OiBcIlwiLFxuICAgIG1vbnRoczogXCJhdWd1c3RcIlxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiXCIsXG4gICAgdm9ybmFtZTogXCJNaWNoYWVsXCIsXG4gICAgbmFjaG5uYW1lOiBcIkpvaGFubmZ1bmtlXCIsXG4gICAgam9iOiBcIlJlcHJlc2VudGF0aXZlIGJvZHkgZm9yIHNldmVyZWx5IGRpc2FibGVkIHBlcnNvbnNcIixcbiAgICBhZmZpbGlhdGlvbjogXCJVbml2ZXJzaXR5IEJpZWxlZmVsZFwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ2pvaGFubmZ1bmtlJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJIeWdpZW5lIGNvbmNlcHQgZm9yIHN0dWRlbnRzIHdpdGggZGlzYWJpbGl0aWVzIGFuZCBpbW11bm9jb21wcm9taXNlZCBlbXBsb3llZXNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJqb2hhbm5mdW5rZVwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIlRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgaHlnaWVuZSBjb25jZXB0IGlzIHByb3ZpbmcgbW9yZSBkaWZmaWN1bHQgdGhhbiBleHBlY3RlZCBkdWUgdG8gdGhlIGJ1cmVhdWNyYWN5IGF0IHRoZSB1bml2ZXJzaXR5LiBOZXZlcnRoZWxlc3MsIHRoZSBpbnRlcnZpZXcgZ2F2ZSB1cyBhIGdvb2QgaW5zaWdodCBpbnRvIHRoaXMgbGFieXJpbnRoIG9mIHJlZ3VsYXRpb25zIGFuZCB3ZSBnb3Qgc3RhcnRlZCB0aGUgcHJvemVzcyBvZiBpbXBsZW1lbnRhdGlvbi5cIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiVmVyYVwiLFxuICAgIHF1b3RlTmFjaG5hbWU6IFwiS1x1MDBGNmhsZXIsIFRlYW1tZW1iZXJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5XZSBjb250YWN0ZWQgdGhlIHVuaXZlcnNpdHkgYmVjYXVzZSBvZiB0aGUgdXJnZW50IG5lZWQgdG8gYWRkcmVzcyB0aGUgaXNzdWUgb2YgaHlnaWVuZSBmb3Igc3R1ZGVudHMgYW5kIHN0YWZmLCBwYXJ0aWN1bGFybHkgdGhvc2Ugd2l0aCBpbW11bm9jb21wcmlzZWQgc3R1ZGVudHMgYW5kIHN0YWZmLiBUaGVyZSB3YXMgYSBuZWVkIHRvIGRldmVsb3AgYW4gZWZmZWN0aXZlIGh5Z2llbmUgY29uY2VwdCB0byBlbnN1cmUgdGhlIGhlYWx0aCBhbmQgc2FmZXR5IG9mIHRoZXNlIHBlb3BsZS4gV2UgZGV2ZWxvcGVkIHRoaXMgY29uY2VwdCBpbiBjb2xsYWJvcmF0aW9uIHdpdGggPEhQTGlua3RvT3RoZXJIUFRhYiB0YWI9XCJtYXhmaXJzdFwiIHRleHQ9XCJNYXhcIiAvPiwgb3VyIENGIGZyaWVuZC4gPC9wPl0sXG4gICAgaW5zaWdodHM6IFs8cD5XZSBsZWFybnQgdGhhdCBvdXIgaHlnaWVuZSBjb25jZXB0IGlzIHZlcnkgd2VsbC1kZXZlbG9wZWQuIEJ1dCBhbHRob3VnaCBhIHdlbGwtZGV2ZWxvcGVkIGh5Z2llbmUgY29uY2VwdCBpcyBhbHJlYWR5IGV4aXN0aW5nLCBzdHJhdGVnaWMgZGV2ZWxvcG1lbnQgYW5kIGEgc3RlcC1ieS1zdGVwIGFwcHJvYWNoIGFyZSBuZWVkZWQuIEluIHBhcnRpY3VsYXIsIHRoZSBzdGVwLWJ5LXN0ZXAgaW1wbGVtZW50YXRpb24gd2FzIGVtcGhhc2l6ZWQsIGxpa2Ugc3RhcnRpbmcgd2l0aCBlcXVpcHBpbmcgdGhlIHRvaWxldHMuIEJ1cmVhdWNyYXRpYyBodXJkbGVzLCBzdWNoIGFzIHRoZSBuZWVkIHRvIGFwcGx5IHRvIHRoZSByZWN0b3JhdGUsIHdlcmUgaWRlbnRpZmllZCBhcyBhIG1ham9yIGNoYWxsZW5nZS4gSW4gYWRkaXRpb24sIGl0IGJlY2FtZSBjbGVhciB0aGF0IHRoZXJlIGlzIGEgZ3JlYXQgbmVlZCBmb3Igc2FuaXRhcnkgZmFjaWxpdGllcyBhbmQgZmFjaWxpdGllcyBmb3IgdGhlIGRpc2FibGVkLCBlc3BlY2lhbGx5IGR1ZSB0byB0aGUgbmVlZHMgb2Ygc3R1ZGVudHMgYW5kIHN0YWZmIHdpdGggaGVhbHRoIHByb2JsZW1zLiBJbnRlcmFjdGlvbiBhbmQgbmV0d29ya2luZyB3aXRoIG90aGVyIHVuaXZlcnNpdGllcyB3YXMgYWxzbyBjb25zaWRlcmVkIHZhbHVhYmxlLiA8L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPlRoZSBuZXh0IHBoYXNlIG9mIGRldmVsb3BpbmcgYSBuZXcgaHlnaWVuZSBjb25jZXB0IGlzIHRvIG1haW50YWluIGNvbnRhY3Qgd2l0aCBNci4gSm9oYW5uZnVua2UgaW4gb3JkZXIgdG8gY29udGludWUgdG8gYWR2YW5jZSB0aGUgaHlnaWVuZSBjb25jZXB0IGluIGNvbGxhYm9yYXRpb24uIFRoZSBzdHJhdGVnaWMgYXBwcm9hY2ggZW50YWlscyB0aGUgaW5jcmVtZW50YWwgaW1wbGVtZW50YXRpb24gb2YgbWVhc3VyZXMsIGV4ZW1wbGlmaWVkIGJ5IHRoZSBlc3RhYmxpc2htZW50IG9mIHRoZSBpbmF1Z3VyYWwgdG9pbGV0IGZhY2lsaXR5IHdpdGhpbiB0aGUgbWFpbiBidWlsZGluZy4gSXQgaXMgb2YgdGhlIHV0bW9zdCBpbXBvcnRhbmNlIHRvIGVuc3VyZSB0aGUgdW5pbnRlcnJ1cHRlZCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgaHlnaWVuZSBjb25jZXB0LiBJbiBvcmRlciB0byBhY2hpZXZlIHRoaXMsIGl0IGlzIGVzc2VudGlhbCB0byBkcmF3IHVwb24gdGhlIGV4aXN0aW5nIHBsYW5zIGFuZCBtZWFzdXJlcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGltcGxlbWVudGVkIGluIG5ldyBidWlsZGluZ3MuICBXZSBhcmUgd29ya2luZyBvbiBhZHZhbmNpbmcgdGhlIHBsYW5zIGF0IGEgaGlnaGVyIGxldmVsIGFuZCBhcmUgaW4gcmVndWxhciBkaWFsb2d1ZSB3aXRoIHRoZSBDZW50cmFsIGNvbnRhY3QgcG9pbnQgQmFycmllci1mcmVlIGluIG9yZGVyIHRvIG92ZXJjb21lIGJ1cmVhdWNyYXRpYyBodXJkbGVzIGFuZCBhY3RpdmVseSBwcm9tb3RlIHRoZSB0b3BpYy4gRnVydGhlcm1vcmUsIGl0IGlzIG5lY2Vzc2FyeSB0byBpbnRlbnNpZnkgbG9iYnlpbmcgd29yayBpbiBvcmRlciB0byBnYWluIGdyZWF0ZXIgc3VwcG9ydCBmb3IgdGhpcyBpc3N1ZSBhdCBib3RoIHRoZSB1bml2ZXJzaXR5IGFuZCBwb2xpdGljYWwgbGV2ZWxzLiA8L3A+XSxcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIGludGVydmlldzogPD5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBkbyB5b3UgdGhpbmsgb2Ygb3VyIGh5Z2llbmUgY29uY2VwdCBhbmQgb3VyIHBsYW4/XCIgYT1cIlRoaXMgaXMgYSB2ZXJ5IGFjdXRlIHByb2JsZW0uIEl0IHBhcnRpY3VsYXJseSBhZmZlY3RzIHN0dWRlbnRzIHdpdGggZGlzYWJpbGl0aWVzIGFuZCBpbW11bmUtY29tcHJvbWlzZWQgc3RhZmYsIHN1Y2ggYXMgdGhvc2Ugd2l0aCBjYW5jZXIgb3IgY3lzdGljIGZpYnJvc2lzLCB3aG8gYXJlIGZvcmNlZCB0byB3b3JrIGZyb20gaG9tZS4gVGhlIHByb2JsZW0gaXM6IEVtcGxveWVlcyBjYW4gd29yayBmcm9tIGhvbWUsIGJ1dCBzdHVkZW50cyBjYW5ub3QuIFRoZXJlIGlzIGEgZ3JlYXQgbmVlZCBmb3IgaHlnaWVuZSBtZWFzdXJlcywgYXMgY29udGFjdCBtdXN0IGJlIGF2b2lkZWQgdG8gbWluaW1pc2UgdGhlIHJpc2sgb2YgaW5mZWN0aW9uLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgYXJlIHRoZSBjaGFsbGVuZ2VzIGluIGltcGxlbWVudGluZyB0aGUgaHlnaWVuZSBjb25jZXB0P1wiIGE9XCJUaGVyZSBpcyBhIGxhY2sgb2Ygc3RyYXRlZ2ljIGRldmVsb3BtZW50LCBhbHRob3VnaCB5b3VyIGh5Z2llbmUgY29uY2VwdCBpcyB3ZWxsIGRldmVsb3BlZC4gSXQgaXMgbmVjZXNzYXJ5IHRvIHByb2NlZWQgaW4gc21hbGwgc3RlcHMsIGUuZy4gc3RhcnRpbmcgd2l0aCBhIHRvaWxldCBpbiB0aGUgbWFpbiBidWlsZGluZy4gSG93ZXZlciwgYnVyZWF1Y3JhY3kgaXMgYSBtYWpvciBvYnN0YWNsZS4gVG8gYmUgaW1wbGVtZW50ZWQsIGFuIGFwcGxpY2F0aW9uIGhhcyB0byBiZSBzdWJtaXR0ZWQgdG8gdGhlIHJlY3RvcmF0ZSwgYW5kIHRoZXNlIHByb2Nlc3NlcyBhcmUgb2Z0ZW4gbGVuZ3RoeSBhbmQgY29tcGxpY2F0ZWQuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBpcyB0aGUgY3VycmVudCBzaXR1YXRpb24gYXQgb3VyIHVuaXZlcnNpdHk/XCIgYT1cIldoaWxlIHNvbWUgcHJvZ3Jlc3MgaGFzIGJlZW4gbWFkZSB3aXRoIHRoZSBpbnN0YWxsYXRpb24gb2YgYWRkaXRpb25hbCB0b2lsZXRzIGFuZCBkaXNhYmxlZC1mcmllbmRseSB0b2lsZXRzIGluIG5ldyBidWlsZGluZ3MsIHRoZXJlIGlzIGFzIHlldCBubyBvdmVyYXJjaGluZyBzdHJhdGVneSBpbiBwbGFjZSB0byBndWlkZSBmdXR1cmUgZGV2ZWxvcG1lbnRzLiBGdXJ0aGVybW9yZSwgdGhlIGxhY2sgb2YgY2xhcml0eSByZWdhcmRpbmcgdGhlIG1pc3Npb24gc3RhdGVtZW50IGFuZCBvYmplY3RpdmVzIGxlYXZlcyByb29tIGZvciBhbWJpZ3VpdHkuIFRoZSBkdXR5IG9mIGNhcmUgdGhhdCBlbXBsb3llcnMgaGF2ZSB0b3dhcmRzIGVtcGxveWVlcyBpcyBlc3RhYmxpc2hlZCwgeWV0IHRoZSBzaXR1YXRpb24gaXMgcmVndWxhdGVkIGRpZmZlcmVudGx5IHdpdGggcmVnYXJkcyB0byBzdHVkZW50cy4gVGhlIHBvc3NpYmlsaXR5IG9mIHJlY2VpdmluZyBjb21wZW5zYXRpb24gZm9yIGRpc2FkdmFudGFnZXMgaXMgb3BlbiwgYnV0IGlzIGZyZXF1ZW50bHkgc2VlbiBhcyBpbmFkZXF1YXRlLlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoYXQgYXJlIHRoZSBuZXh0IHN0ZXBzIGluIGltcGxlbWVudGluZyB0aGUgaHlnaWVuZSBjb25jZXB0P1wiIGE9XCJJdCBpcyBlc3NlbnRpYWwgdGhhdCB0aGUgY29uY2VwdCBiZSBpbXBsZW1lbnRlZCBpbiBzbWFsbCwgc3RyYXRlZ2ljIHN0ZXBzLiBBdCB0aGUgc2FtZSB0aW1lLCBpdCBpcyB2aXRhbCB0aGF0IHRoZSByZWN0b3JhdGUgYW5kIG90aGVyIGRlY2lzaW9uLW1ha2VycyBiZSBjb25zdWx0ZWQgb24gYSByZWd1bGFyIGJhc2lzIHRvIGVuc3VyZSB0aGF0IHRoaXMgbWF0dGVyIHJlbWFpbnMgYXQgdGhlIGZvcmVmcm9udCBvZiBkaXNjdXNzaW9ucy4gRnVydGhlcm1vcmUsIGl0IGlzIG9mIGdyZWF0IGltcG9ydGFuY2UgdG8gZW5nYWdlIGluIHBvbGl0aWNhbCBsb2JieWluZyB0byBzZWN1cmUgYWRkaXRpb25hbCBzdXBwb3J0IGZvciB0aGlzIGlzc3VlLlwiIC8+XG4gICAgPC8+LFxuICAgIHN1bW1hcnk6IFwiV2UgZ290IGluIHRvdWNoIGJlY2F1c2UgdGhlcmUgd2FzIGFuIGFjdXRlIGh5Z2llbmUgcHJvYmxlbSBmb3IgcGFydGljdWxhcmx5IHZ1bG5lcmFibGUgZ3JvdXBzIGxpa2UgaW1tdW5vY29tcHJpc2VkIHBlcnNvbnMgYXQgdGhlIHVuaXZlcnNpdHkuIFdlIGxlYXJudCBmcm9tIHRoZSBleGNoYW5nZSB0aGF0IGRlc3BpdGUgYSB3ZWxsLWRldmVsb3BlZCBoeWdpZW5lIHBvbGljeSwgc3RyYXRlZ2ljIHN0ZXBzIGFyZSBzdGlsbCBuZWVkZWQsIGVzcGVjaWFsbHkgdG8gb3ZlcmNvbWUgYnVyZWF1Y3JhdGljIGh1cmRsZXMuIFdlIGhhdmUgaW50ZWdyYXRlZCB0aGVzZSBsZXNzb25zIGludG8gb3VyIHByb2plY3QgYnkgZm9jdXNpbmcgb24gY29udGludW91cyBjb2xsYWJvcmF0aW9uIHdpdGggdGhlIENlbnRyYWwgY29udGFjdCBwb2ludCBCYXJyaWVyLWZyZWUgYW5kIG90aGVyIGRlY2lzaW9uLW1ha2Vycy5cIixcbiAgICBtb250aHM6IFwiU2VwdGVtYmVyXCJcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIkRyLlwiLFxuICAgIHZvcm5hbWU6IFwiU3JpcmFtXCIsXG4gICAgbmFjaG5uYW1lOiBcIlZhaWR5YW5hdGhhbiBcIixcbiAgICBqb2I6IFwiUHJpbmNpcGxlIGludmVzdGlnYXRvciBhdCBOYXRpb253aWRlIENoaWxkcmVuXHUyMDE5cyBIb3NwaXRhbCBhbmQgYXNzaXN0YW50IHByb2Zlc3NvciBQZWRpYXRyaWNcdTIwMTlzIGF0IHRoZSBPaGlvIFN0YXRlIFVuaXZlcnNpdHkgQ29sbGVnZSBvZiBNZWRpY2luZSBcIixcbiAgICBhZmZpbGlhdGlvbjogXCJOYXRpb253aWRlIENoaWxkcmVuXHUyMDE5cyBIb3NwaXRhbFwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3NyaXJhbSddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiRjUwOGRlbCBtdXRhdGlvbiBjb25maXJtZWQgYXMgdGhlIG1vc3QgY29tbW9uIENGVFIgbXV0YXRpb24gd29ybGR3aWRlLCBpbmNsdWRpbmcgQXNpYVwiLFxuICAgIGludGVydmlld3RhYmlkOiBcInNyaXJhbVwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJWYWlkeWFuYXRoYW4sIElubm92YXRpdmUgbGVhZGVyIGluIHBlZGlhdHJpYyByZXNlYXJjaFwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJEci4gU3JpcmFtXCIsXG4gICAgcXVvdGU6IFwiSSB0aGluayB5b3UncmUgdGhpbmtpbmcgYWJvdXQgaXQgdGhlIHJpZ2h0IHdheS5bLi4uXSBJIHdvdWxkIGhhdmUgdGFsa2VkIHRvIGFsbCBvZiB0aGUgZXhhY3QgcGVvcGxlIHRoYXQgeW91IGhhdmUgYWxyZWFkeSBzcG9rZW4gd2l0aC5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5UaGUgb2JqZWN0aXZlIG9mIHRoaXMgY29udGFjdCB3YXMgdG8gZ2F0aGVyIGZ1cnRoZXIgaW5mb3JtYXRpb24gYWJvdXQgY3lzdGljIGZpYnJvc2lzIChDRikgaW4gQXNpYSwgd2l0aCBhIHBhcnRpY3VsYXIgZm9jdXMgb24gdW5kZXJzdGFuZGluZyBwb3RlbnRpYWwgZGF0YSBiaWFzZXMsIGlkZW50aWZ5aW5nIGNvbW1vbiBtdXRhdGlvbnMsIGV4cGxvcmluZyB0aGUgYXZhaWxhYmxlIG1lZGljYXRpb25zLCBhbmQgYXNzZXNzaW5nIHRoZSBkaWFnbm9zdGljIHByYWN0aWNlcyBpbiB0aGUgcmVnaW9uLiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPlRoZSB0YWxrIHdpdGggU3JpcmFtIHJldmVhbGVkIHRoYXQsIGFsdGhvdWdoIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGlzIHJlbGF0aXZlbHkgdW5jb21tb24gaW4gQXNpYSBjb21wYXJlZCB0byBvdGhlciBkaXNlYXNlIGxpa2Ugc2lja2xlIGNlbGwgZGlzZWFzZSwgaXQgbmV2ZXJ0aGVsZXNzIGV4aGliaXRzIGNvbnNpZGVyYWJsZSBnZW5ldGljIGRpdmVyc2l0eS4gVGhlIGlkZW50aWZpY2F0aW9uIG9mIGRpZmZlcmVudCBtdXRhdGlvbnMgaW4gdGhlIENGVFIgZ2VuZSBhY3Jvc3MgdGhlIHJlZ2lvbiBoYXMgcmV2ZWFsZWQgdGhhdCB0aGUgRjUwOGRlbCBtdXRhdGlvbiBpcyB0aGUgbW9zdCBjb21tb24sIGEgZmluZGluZyB0aGF0IGFsaWducyB3aXRoIGdsb2JhbCBwYXR0ZXJucy4gSG93ZXZlciwgaW4gQXNpYW4gcG9wdWxhdGlvbnMsIG90aGVyIHJhcmUgbXV0YXRpb25zIGFyZSBhbHNvIHByZXZhbGVudCwgd2hpY2ggcHJlc2VudHMgdW5pcXVlIGNoYWxsZW5nZXMgaW4gZGlhZ25vc2lzIGFuZCB0cmVhdG1lbnQuXG4gICAgICBBZGRpdGlvbmFsbHksIGl0IHdhcyBmb3VuZCB0aGF0IGVudmlyb25tZW50YWwgZmFjdG9ycywgc3VjaCBhcyBhaXIgcG9sbHV0aW9uLCBzZXJ2ZSB0byBleGFjZXJiYXRlIHRoZSBzeW1wdG9tcyBvZiBDRiwgcGFydGljdWxhcmx5IGluIGRlbnNlbHkgcG9wdWxhdGVkIHJlZ2lvbnMsIHRoZXJlYnkgZnVydGhlciBjb21wbGljYXRpbmcgdGhlIG1hbmFnZW1lbnQgb2YgdGhlIGRpc2Vhc2UuIFRoaXMgZW1waGFzaXNlcyB0aGUgbmVjZXNzaXR5IGZvciBmdXJ0aGVyIHJlc2VhcmNoIG9uIENGIHRoYXQgaXMgc3BlY2lmaWNhbGx5IHRhaWxvcmVkIHRvIHRoZSBuZWVkcyBvZiBkaWZmZXJlbnQgcmVnaW9ucywgaW5jbHVkaW5nIGltcHJvdmVtZW50cyBpbiBkaWFnbm9zdGljIHRlY2huaXF1ZXMgYW5kIHRoZSBkZXZlbG9wbWVudCBvZiB0cmVhdG1lbnRzIHRoYXQgYXJlIG1vcmUgY2xvc2VseSBhbGlnbmVkIHdpdGggdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgcG9wdWxhdGlvbnMgaW4gcXVlc3Rpb24uIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+VGhlIGRhdGEgd2VyZSBpbmNvcnBvcmF0ZWQgYnkgY29uZmlybWluZyB0aGF0IHRoZSBGNTA4ZGVsIG11dGF0aW9uIGlzIG5vdCBvbmx5IHRoZSBtb3N0IGNvbW1vbiBpbiBFdXJvcGUgYnV0IGFsc28gZ2xvYmFsbHksIGluY2x1ZGluZyBpbiBBc2lhLCBoaWdobGlnaHRpbmcgYSBicm9hZGVyIHBlcnNwZWN0aXZlIGFuZCBjb250cmlidXRpbmcgdG8gYSBzaWduaWZpY2FudCBob3Jpem9uIGV4cGFuc2lvbiBpbiB1bmRlcnN0YW5kaW5nIHRoZSBtdXRhdGlvbidzIHdvcmxkd2lkZSBwcmV2YWxlbmNlLiBUaGlzIGZpbmRpbmcgbGVuZHMgc3VwcG9ydCB0byB0aGUgaWRlYSB0aGF0IGV4aXN0aW5nIHRoZXJhcGllcyB0YXJnZXRpbmcgdGhlIEY1MDhkZWwgbXV0YXRpb24gd2lsbCBiZSBlZmZlY3RpdmUgZm9yIG1hbnkgcGF0aWVudHMgd29ybGR3aWRlLCB0aGVyZWJ5IHByb3ZpZGluZyBhIHNvbGlkIGZvdW5kYXRpb24gZm9yIHRyZWF0bWVudC4gQXMgYSBzdGFydGluZyBwb2ludCwgdGhpcyBpcyBwcm9taXNpbmcsIGJ1dCBmdXR1cmUgZWZmb3J0cyB3aWxsIGZvY3VzIG9uIGFkYXB0aW5nIHRoZXJhcGllcyB0byBhZGRyZXNzIG90aGVyLCByYXJlciBtdXRhdGlvbnMgZm91bmQgaW4gc3BlY2lmaWMgcG9wdWxhdGlvbnMuXG4gICAgPC9wPl0sXG4gICAgc3VtbWFyeTogXCJUaGUgY29udGFjdCBwcm92aWRlZCB2YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGluIEFzaWEgYW5kIGNvbmZpcm1lZCB0aGF0IHRoZSBGNTA4ZGVsIG11dGF0aW9uIGlzIHRoZSBtb3N0IGNvbW1vbiwgYXMgaXQgaXMgZ2xvYmFsbHkuIEhvd2V2ZXIsIHRoZSBnZW5ldGljIGRpdmVyc2l0eSBvYnNlcnZlZCBpbiBBc2lhLCB0b2dldGhlciB3aXRoIHRoZSBleGFjZXJiYXRpb24gb2Ygc3ltcHRvbXMgYnkgZW52aXJvbm1lbnRhbCBmYWN0b3JzIHN1Y2ggYXMgYWlyIHBvbGx1dGlvbiwgaGlnaGxpZ2h0cyB0aGUgbmVlZCBmb3IgbW9yZSByZWdpb24tc3BlY2lmaWMgcmVzZWFyY2guIEZ1dHVyZSBlZmZvcnRzIHdpbGwgZm9jdXMgb24gcmVmaW5pbmcgdHJlYXRtZW50cyBmb3IgcmFyZXIgbXV0YXRpb25zIGFuZCBpbXByb3ZpbmcgZGlhZ25vc3RpYyBhY2N1cmFjeSBpbiBBc2lhbiBwb3B1bGF0aW9ucy5cIixcbiAgICBtb250aHM6IFwiU2VwdGVtYmVyXCIsXG4gICAgaW50ZXJ2aWV3Ojw+XG4gICAgPFFhQm94IHE9XCJTaG91bGQgd2UgZXhwbGFpbiBvdXIgcHJvamVjdCBhIGxpdHRsZSBiaXQgaW4gdGhlIGJlZ2lubmluZz9cIiBhPVwiVGhhdCB3b3VsZCBiZSBncmVhdC5cIi8+XG4gICAgPFFhQm94IHE9XCJPa2F5LiBBcyBJIHdyb3RlIHRvIHlvdSBpbiB0aGUgZW1haWwsIHdlIGFyZSBwYXJ0IG9mIHRoZSBCaWVsZWZlbGQtQ2VCaVRlYyBpdGVtIHRlYW0gaW4gR2VybWFueSB0aGlzIHllYXIsIGFuZCB3ZSBoYXZlIGEgcHJvamVjdCBjYWxsZWQgUHJlY3lzZSwgd2hlcmUgd2Ugd2FudCB0byBkZXZlbG9wIGEgcGxhdGZvcm0gZm9yIG5leHQtZ2VuZXJhdGlvbiBwcmltZSBlZGl0aW5nLiBXaXRoIHRoYXQsIHdlIGFpbSB0byB0YWNrbGUgQ0YgbXV0YXRpb25zLCBzdGFydGluZyB3aXRoIHRoZSBGNTA4ZGVsIG11dGF0aW9uLiBUaGUgY29tcGxleCBzaG91bGQgYmUgYWRhcHRhYmxlIGZvciBkaWZmZXJlbnQgbXV0YXRpb25zIHdpdGggbWlub3IgY2hhbmdlcy4gRXNzZW50aWFsbHksIHdlIHdhbnQgdG8gb3BlcmF0ZSBsaWtlIENhcy1iYXNlZCBwcm9qZWN0cyB1c2luZyBwcmltZSBlZGl0aW5nIHRvb2xzIGJ1dCBtYXkgdHJhbnNpdGlvbiB0byB1c2luZyBhIGZhbnpvciBuaWNrYXNlIGluIHRoZSBmdXR1cmUuIEN1cnJlbnRseSwgd2UgYXJlIHdvcmtpbmcgb24gYSBkZWxpdmVyeSBzeXN0ZW0gdXRpbGl6aW5nIGxpcGlkIG5hbm9wYXJ0aWNsZXMgdG8gdHJhbnNwb3J0IG91ciBjb21wbGV4IGludG8gdGhlIGx1bmdzLiBUaGVzZSBuYW5vcGFydGljbGVzIHdpbGwgYmUgbG9hZGVkIHdpdGggbVJOQSBhbmQgZGVzaWduZWQgZm9yIGluaGFsYXRpb24sIHNpbWlsYXIgdG8gaG93IGFzdGhtYSBtZWRpY2F0aW9ucyBhcmUgZGVsaXZlcmVkLiBPdXIgZ29hbCBpcyB0byBhZHZhbmNlIHBlcnNvbmFsaXplZCBtZWRpY2luZSBhbmQgaW1wcm92ZSB0aGUgc3RhbmRhcmQgb2YgbGl2aW5nIGZvciB0aG9zZSBhZmZlY3RlZCBieSB0aGUgZGlzZWFzZSwgZXNwZWNpYWxseSBzaW5jZSBhIGZyaWVuZCBvZiBvbmUgb2Ygb3VyIHRlYW0gbWVtYmVycyBoYXMgY3lzdGljIGZpYnJvc2lzIGFuZCBzaGFyZXMgaW5zaWdodHMgb24gdGhlIGNoYWxsZW5nZXMgZmFjZWQgYnkgdGhvc2Ugd2l0aCB0aGUgY29uZGl0aW9uLlwiIGE9XCJUaGF0J3MgYSB2ZXJ5IG5pY2Ugc3VtbWFyeS4gSSBoYXZlIGEgY291cGxlIG9mIGNsYXJpZnlpbmcgcXVlc3Rpb25zLiBBcmUgeW91IHVuZGVyZ3JhZHVhdGVzP1wiIC8+XG4gICAgPFFhQm94IHE9XCJObywgd2UgYXJlIG92ZXJncmFkdWF0ZXMgYXQgdGhlIFVuaXZlcnNpdHkgb2YgQmllbGVmZWxkLlwiIGE9XCJPaCwgZ3JlYXQhIFNvLCBob3cgYXJlIHlvdSBvcHRpbWl6aW5nIHByaW1lIGVkaXRpbmcsIGFuZCB3aG8gaXMgaGVscGluZyB5b3Ugd2l0aCB0aGlzIHByb2Nlc3M/XCIgLz5cbiAgICA8UWFCb3ggcT1cIldlIHRyaWVkIHRvIHJlYWNoIG91dCB0byBEci4gTGl1LCBidXQgaGUgaGFzbid0IHJlc3BvbmRlZCB5ZXQuXCIgYT1cIllvdSBzaG91bGQgYWxzbyBjb250YWN0IE1hcmlhbm5lIENhcmxvbiBpbiBMZXV2ZW4sIEJlbGdpdW0uIFRoZXkgZGlkbid0IHdvcmsgb24gRGVsdGEgRjUwOCwgYnV0IE1hdHRpanMgaXMgYSBncmFkdWF0ZSBzdHVkZW50IHRoZXJlIGFuZCBjb3VsZCBiZSBoZWxwZnVsLlwiIC8+XG4gICAgPFFhQm94IHE9XCJXZVx1MjAxOXZlIGFscmVhZHkgYmVlbiBpbiB0b3VjaCB3aXRoIE1hdHRpanM7IGhlXHUyMDE5cyBiZWVuIHZlcnkgbmljZS5cIiBhPVwiUGVyZmVjdCEgWW91J3JlIHJlYWNoaW5nIG91dCB0byB0aGUgcmlnaHQgcGVvcGxlLiBBcmUgeW91IGF3YXJlIG9mIHRoZSBMaXUgbGFiJ3MgTmF0dXJlIEJpb21lZGljYWwgRW5naW5lZXJpbmcgcGFwZXIgdGhhdCBvcHRpbWl6ZXMgcHJpbWUgZWRpdGluZz9cIiAvPlxuICAgIDxRYUJveCBxPVwiWWVzLCB3ZSBhcmUgYXdhcmUgb2YgaXQuXCIgYT1cIkdyZWF0ISBIb3cgY2FuIEkgaGVscCB5b3UgZnVydGhlcj9cIiAvPlxuICAgIDxRYUJveCBxPVwiV2UgaGF2ZSBzb21lIHF1ZXN0aW9ucyBhYm91dCBjeXN0aWMgZmlicm9zaXMgKENGKSBpbiBBc2lhLCBzcGVjaWZpY2FsbHkgYWJvdXQgaXRzIHBlcmNlaXZlZCByYXJpdHkgYW5kIGl0cyBpbXBhY3Qgb24gZGlhZ25vc2lzIGFuZCByZXNlYXJjaCBlZmZvcnRzLlwiIGE9XCJJIGNhbiBzaGFyZSBzb21lIGluc2lnaHRzLiBXaGlsZSBDRiBpcyBvZnRlbiBjb25zaWRlcmVkIHJhcmUgaW4gQXNpYSwgaXQncyBlc3NlbnRpYWwgdG8gcmVjb2duaXplIHRoYXQgaXQgYWZmZWN0cyB2YXJpb3VzIHBvcHVsYXRpb25zLiBJbiBteSBsYWIsIHdlIGFuYWx5emUgQ0YtY2F1c2luZyBtdXRhdGlvbnMgYWNyb3NzIGRpZmZlcmVudCBwb3B1bGF0aW9ucyB1c2luZyBkYXRhIGZyb20gTm9tYWQsIHdoaWNoIGZvY3VzZXMgb24gZ2VuZXRpYyBhbmNlc3RyeSByYXRoZXIgdGhhbiBzZWxmLWlkZW50aWZpZWQgcmFjZS4gQ0YgaXMgbW9zdCBwcmV2YWxlbnQgaW4gaW5kaXZpZHVhbHMgb2YgRXVyb3BlYW4gb3JpZ2luLCBidXQgaXQgcmVtYWlucyBjb21tb24gYWNyb3NzIG1hbnkgcG9wdWxhdGlvbnMgd29ybGR3aWRlLCBwYXJ0aWN1bGFybHkgaW4gU291dGggQXNpYSBhbmQgb3RoZXIgcmVnaW9ucywgYWx0aG91Z2ggRWFzdCBBc2lhIGhhcyBsb3dlciBwcmV2YWxlbmNlIHJhdGVzLlwiIC8+XG4gICAgPFFhQm94IHE9XCJUaGF0XHUyMDE5cyBoZWxwZnVsLiBDYW4geW91IGV4cGxhaW4gaG93IHRoZSBwZXJjZWl2ZWQgcmFyaXR5IG9mIENGIGltcGFjdHMgZGlhZ25vc2lzIGFuZCByZXNlYXJjaCBpbiBBc2lhP1wiIGE9XCJUaGUgcGVyY2VwdGlvbiBvZiBDRiBhcyBhICd3aGl0ZSBwZW9wbGUgZGlzZWFzZScgbGVhZHMgdG8gdW5kZXJkaWFnbm9zaXMgYW5kIGZld2VyIHJlc2VhcmNoIGVmZm9ydHMgaW4gQXNpYW4gcG9wdWxhdGlvbnMuIEZvciBpbnN0YW5jZSwgaW4gSW5kaWEsIHBoeXNpY2lhbnMgYXJlIG1vcmUgZmFtaWxpYXIgd2l0aCBjb25kaXRpb25zIGxpa2Ugc2lja2xlIGNlbGwgZGlzZWFzZSBhbmQgdGhhbGFzc2VtaWEsIGxlYWRpbmcgdG8gbGltaXRlZCBhd2FyZW5lc3Mgb2YgQ0YuIEVhcmx5IGRpYWdub3NpcyBpcyBjaGFsbGVuZ2luZyBkdWUgdG8gdGhlIGxhY2sgb2Ygc2NyZWVuaW5nIHByb2dyYW1zIGZvciBDRiwgYW5kIGN1cnJlbnRseSwgbWFueSByZWdpb25zIGFyZSBvbmx5IGJlZ2lubmluZyB0byBpbXBsZW1lbnQgc3dlYXQgY2hsb3JpZGUgdGVzdGluZy5cIiAvPlxuICAgIDxRYUJveCBxPVwiVGhhbmsgeW91ISBXaGF0IG11dGF0aW9ucyBhcmUgbW9yZSBjb21tb24gaW4gQXNpYT9cIiBhPVwiRGVsdGEgRjUwOCBpcyBzdGlsbCB0aGUgbW9zdCBmcmVxdWVudCB2YXJpYW50IGFjcm9zcyBkaWZmZXJlbnQgcG9wdWxhdGlvbnMsIGJ1dCBpdHMgZnJlcXVlbmN5IGRlY3JlYXNlcyBpbiBub24tRXVyb3BlYW4gZ3JvdXBzLiBXaGlsZSB0aGVyZSBhcmUgc2V2ZXJhbCBvdGhlciBjb21tb24gdmFyaWFudHMsIHRoZXkgZG8gbm90IHJlc3BvbmQgdG8gbW9kdWxhdG9yIHRoZXJhcGV1dGljcywgd2hpY2ggY29tcGxpY2F0ZXMgdHJlYXRtZW50IG9wdGlvbnMuIEZvY3VzaW5nIG9uIERlbHRhIEY1MDggaXMgc2Vuc2libGUsIGJ1dCB5b3UgbWlnaHQgZmFjZSBjaGFsbGVuZ2VzIGluIGZpbmRpbmcgaW5kaXZpZHVhbHMgd2l0aCBvdGhlciB2YXJpYW50cyBkdWUgdG8gdGhlIGxpbWl0ZWQgYXdhcmVuZXNzIGFuZCBzY3JlZW5pbmcgZm9yIENGIGluIHRob3NlIHBvcHVsYXRpb25zLlwiIC8+XG4gICAgPFFhQm94IHE9XCJPa2F5LiBCdXQgeW91IHdvdWxkIHNheSB0aGF0IHRoZSBvdGhlciBtdXRhdGlvbnMgYXJlIGEgYml0IHVuZGVyLXJlc2VhcmNoZWQsIHJpZ2h0P1wiIGE9XCJUaGV5IGFyZSBjb21wbGV0ZWx5IHVuZGVyLXJlc2VhcmNoZWQsIHJpZ2h0PyBMaWtlIEkgaGF2ZSBub3Qgc2VlbiBhbnlib2R5IHdvcmsgb24gTDIxOFguIEkgZGlkbid0IGV2ZW4ga25vdyBMMjE4WCBleGlzdGVkIHVudGlsIEkgc3RhcnRlZCBsb29raW5nIGludG8gdGhhdCBncm91cC4gQW5kIGl0IHNlZW1zIGxpa2UgTDIxOFgsIEkndmUgbm90IHNlZW4gaXQgaW4gYW55IG90aGVyIHBvcHVsYXRpb24gdGhhdCBmcmVxdWVudGx5LiBTbyBhIGxvdCBvZiB0aGVzZSB2YXJpYW50cyBzZWVtIHRvIGJlIHVuaXF1ZS4gSSBkb24ndCBrbm93IGlmIHRoZXkncmUgY29tcGxldGVseSB1bmlxdWUgdG8gU291dGggQXNpYW5zIG9yIGlmIHlvdSBnbyB0byBJcmFuIG9yIHNvbWV0aGluZywgd2hldGhlciB5b3UncmUgZ29pbmcgdG8gc3RhcnQgZmluZGluZyB0aGVzZSBwZW9wbGUgb3Igd2hldGhlciBpZiB5b3UgZ28gdG8gU291dGhlYXN0IEFzaWEsIHRoZW4geW91J3JlIGdvaW5nIHRvIHN0YXJ0IGZpbmRpbmcgc29tZSBvZiB0aGVzZSBwZW9wbGUsIHJpZ2h0PyBTbyB3ZSBkb24ndCBrbm93IHRoYXQsIGJ1dCBJIHRoaW5rIGl0IHdpbGwgYmUgcmVhbGx5IGhhcmQgZm9yIHlvdSB0byBmaW5kIGNlbGxzIHdpdGggdGhlc2UgdmFyaWFudHMuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hhdCBkbyB5b3UgYmVsaWV2ZSwgd2hhdCBzdGVwcyBzaG91bGQgYmUgZG9uZSBpbiB0aGUgc2NpZW50aWZpYyBjb21tdW5pdHkgdG8gZW5zdXJlIGJldHRlciByZXByZXNlbnRhdGlvbiBvZiBBc2lhbiBwb3B1bGF0aW9ucywgb3IgaW4gZ2VuZXJhbCwgbm90IG9ubHkgV2VzdGVybiBwb3B1bGF0aW9ucywgaW4gdGhlIGdlbmV0aWMgc3R1ZGllcyBmb3IgY3lzdGljIGZpYnJvc2lzP1wiIGE9XCJBaCwgaXQncyBhIHZlcnkgZ29vZCBxdWVzdGlvbjsgaXQncyBhbHNvIGEgcXVlc3Rpb24gdGhhdCBkb2Vzbid0IGhhdmUgYSB2ZXJ5IHN0cmFpZ2h0Zm9yd2FyZCBhbnN3ZXIsIHJpZ2h0PyBJbiB0aGUgc2Vuc2UgdGhhdCBvbmUsIHlvdSBrbm93LCB5b3UgaGF2ZSB0byByYWlzZSBhd2FyZW5lc3MgYW5kIGVuc3VyZSB0aGF0IHBlb3BsZSBhcmUgZ2V0dGluZyBkaWFnbm9zZWQsIHRoYXQncyBzdGVwIG51bWJlciBvbmUsIHJpZ2h0LiBBIGxvdCBvZiB0aGUgbnVtYmVycyB0aGV5IHNob3dlZCB5b3UgYXJlIGJhc2VkIG9uIHByZWRpY3Rpb247IHRoZXkncmUgbm90IGJhc2VkIG9uIGEgcmVnaXN0cnkgaW4gYW55IGNvdW50cnkgd2l0aCBzb21lIG9mIHRoZXNlIHBvcHVsYXRpb25zLCByaWdodC4gSW5kaWEgZG9lc24ndCBoYXZlIGEgcmVnaXN0cnksIENoaW5hIGRvZXNuJ3QgaGF2ZSBhIHJlZ2lzdHJ5LiBUaGVyZSBhcmUgZWZmb3J0cyB0byBtYWtlIGEgcmVnaXN0cnksIGJ1dCB5b3Uga25vdyBpdCdzIGEgbGl0dGxlIGhhcmQgdG8gZ2V0IHN0YXJ0ZWQgd2hlbiB5b3Uga25vdyBpZiB5b3UgZ28gYW5kIGFyZ3VlIHRoYXQgdGhlcmUgYXJlIDYsMDAwIGNoaWxkcmVuIHdpdGggQ0YgdGhhdCBhcmUgYmVpbmcgYm9ybiBpbiBhIHllYXIgaW4gSW5kaWEsIGFuZCB0aGVuIHRoZSByZXNwb25zZSB0aGF0IEkndmUgcmVjZWl2ZWQgYmVmb3JlIGlzIHdlbGwsIHRoZXJlIGFyZSBhYm91dCA2MCwwMDAga2lkcyBkeWluZyBvZiBkaWFycmhlYSwgYW5kIHlvdSBrbm93IHNvIHRoZSBwcmlvcml0eSBmcm9tIHB1YmxpYyBoZWFsdGggaXMgb2Z0ZW4gZGlmZmVyZW50LiBJdCdzIHN0YXJ0aW5nIHRvIGNoYW5nZS4gU28gb25lIGZvY3VzIHdvdWxkIGJlIGRpYWdub3NpcyBhbmQgcmFpc2luZyBhd2FyZW5lc3MsIGFuZCBpZiB5b3UgY29tZSBhY3Jvc3MgZ3JvdXBzIHRoYXQgYXJlIHRyeWluZyB0byBpbXByb3ZlIHRoZWlyIGFiaWxpdHkgdG8gZGlhZ25vc2UgdGhlbiB5b3UgdHJ5IHRvIGhlbHAgdGhlbSwgcmlnaHQuIFdoYXQncyB5b3VyIG90aGVyIHF1ZXN0aW9uIGluIHRlcm1zIG9mIHRyZWF0bWVudCBhbmQgcmVzZWFyY2g/IEkgdGhpbmsgYmVpbmcgYXdhcmUgb2YgaXQgaWYgeW91IGRvIGVuZCB1cCBmaW5kaW5nIHNhbXBsZXMgdGhhdCBoYXZlIHNvbWUgb2YgdGhlc2UgdW5pcXVlIHZhcmlhbnRzLiBSaWdodCB0aGVuLCB0cnlpbmcgdG8gZm9ybSBhIHN0cmF0ZWd5IGFyb3VuZCBpdCBpcyBub3QgYmFkOyBJJ3ZlIHNlZW4gcGVvcGxlIGlkZW50aWZ5IHZhcmlhbnRzIG9mIENGIHRoYXQgYXJlIHVuaXF1ZSB0byBkaWZmZXJlbnQgcG9wdWxhdGlvbnMuIEkgdGhpbmsgZXZlbiBNYXJpYW5uZSBDYXJsb24ncyBncm91cCBwaWNrZWQgdXAgdmFyaWFudHMgdGhhdCBhcmUgdW5pcXVlIHRvIEJlbGdpdW0gYW5kIHRoZW4gdHJpZWQgcHJpbWUgZWRpdGluZyBvbiB0aGF0IHJpZ2h0LCBzbyB0aG9zZSBzb3J0IG9mIHN0cmF0ZWdpZXMgaGVscCBxdWl0ZSBhIGJpdCwgcmlnaHQ/IEFuZCB0aGlzIGlzIHBhcnRpYWxseSB0aGUgcmVhc29uIHlvdSBrbm93IEkgY29udGludWUgdG8gZm9jdXMgb24gbXV0YXRpb24tYWdub3N0aWMgc3RyYXRlZ2llczsgSSd2ZSBub3QgcmVhbGx5IGJyYW5jaGVkIG91dCBpbnRvIHRoZSBQcmltZSBFZGl0aW5nIHdvcmxkIG9yIHRoZSBCYXNlIEVkaXRpbmcgd29ybGQgcHJpbWFyaWx5IGJlY2F1c2UgdGhpcyBzZWVtcyB0byBiZSBhIHByZXR0eSBjaGFsbGVuZ2luZyBpc3N1ZSwgYnV0IHRoYXQgc2FpZCwgeW91IHdhbnQgYXMgbWFueSBzaG90cyBhdCBnb2FsIGFzIHBvc3NpYmxlLiBTbywgeW91IGtub3csIGlmIHlvdSdyZSBhYmxlIHRvIHVzZSBwcmltZSBlZGl0aW5nIHRvIGZpeCBEZWx0YSA1MDgsIHRoYXQgc3RpbGwgaGVscHMgdGhlIG1vc3QgbnVtYmVyIG9mIHBlb3BsZSB3aXRoIENGLiBBbmQgdGhlbiBtYXliZSwgeW91IGtub3csIHlvdSBjb3VsZCB1c2UgdGhhdCBwbGF0Zm9ybSB0aGF0J3MgcmVhbGx5IHdlbGwgdmFsaWRhdGVkIGF0IHRoYXQgcG9pbnQsIHRoZW4gZ28gc3RhcnQgdGFyZ2V0aW5nIGluZGl2aWR1YWwgdmFyaWFudHMuIFRoZSBvdGhlciBpZGVhIHdpdGggcHJpbWUgZWRpdGluZyBpcyB0aGF0IHRoZXJlJ3MgaG9wZSB0aGF0IHlvdSBjYW4gcHJvYmFibHkgYXQgbGVhc3QgdHJ5IHRvIHJlcGxhY2Ugb25lIGV4b24gYXQgYSB0aW1lLiBBbmQgdGhhdCBzb3J0IG9mIG1ha2VzIHRoaW5ncyBhIGxpdHRsZSBiaXQgbW9yZSBtYW5hZ2VhYmxlLCByaWdodD8gU28gaWYgeW91LCB5b3Uga25vdywgaXQncyBhIGxpdHRsZSBiaXQgbW9yZSwgbGlrZSBpZiB5b3UgaGF2ZSB0byB0YXJnZXQgZXZlcnkgc2luZ2xlIHZhcmlhbnQsIHRoZW4geW91J3JlIHRoaW5raW5nIGFib3V0IGh1bmRyZWRzIG9mIGRpZmZlcmVudCBtZWRpY2FsIHByb2R1Y3RzLiBCdXQgaWYgeW91J3JlIHRoaW5raW5nIG9mIHJlcGxhY2luZyBldmVyeSBleG9uLCB0aGF0J3MgMjcsIHRoYXQncyBhIGNvdW50YWJsZSBudW1iZXIuIEFuZCBJIHdvdWxkIGFyZ3VlIHRoYXQgeW91IGRvbid0IGV2ZW4gaGF2ZSB0byBkbyBhbGwgMjcuIFlvdSBzdGFydCB3aXRoIHRoZSBob3RzcG90cywgcmlnaHQ/IFlvdSBzdGFydCB3aXRoIGV4b24gMTEsIHlvdSBzdGFydCB3aXRoIGV4b24gMTIuIEJ1dCB0aGVuIGFzIHBhcnQgb2YgdGhlIGNvbnZlcnNhdGlvbiwgSSB0aGluayB3ZSBzaG91bGQganVzdCBiZSB0aGlua2luZyBhYm91dCBleG9ucyB0aGF0IG1pZ2h0IGJlIGhvdHNwb3RzIGZvciB2YXJpYW50cyBpbiBvdGhlciBwb3B1bGF0aW9ucyBhbmQgYXQgbGVhc3QsIHlvdSBrbm93LCBrZWVwaW5nIHRoZW0gc29tZXdoZXJlIGluIHRoZSBwYWNraW5nIG9yZGVyIHNvIHRoYXQgYXMgeW91IGdvIHRocm91Z2ggdGhlIG1vc3QgZnJlcXVlbnQgdmFyaWFudHMsIHJpZ2h0PyBBbmQgeW91J3JlIHN0YXJ0aW5nIHRvIGRldmVsb3Agc3RyYXRlZ2llcyBmb3IgdGhlIG1vc3QgZnJlcXVlbnQgdmFyaWFudHMuIFRob3NlIGFyZSBvbiB0aGUgbGlzdCBzbyB0aGF0IHdlIGV2ZW50dWFsbHkgZ2V0IHRvIHRoZW0uXCIvPlxuICAgIDxRYUJveCBxPVwiWWVhaC4gT2theS4gQW5kIHdoYXQgZG8geW91IHRoaW5rPyBBcmUgdGhlcmUgYW55IGhlYWx0aGNhcmUgY2hhbGxlbmdlcyBtYW5hZ2luZyBjeXN0aWMgZmlicm9zaXMgaW4gQXNpYW4gY291bnRyaWVzP1wiIGE9XCJPaCwgYWJzb2x1dGVseS4gUmlnaHQuIEkgdGhpbmssIHlvdSBrbm93LCBpZiB5b3UncmUgaW4gYSBoaWdoLWluY29tZSBjb3VudHJ5IGxpa2UgSmFwYW4sIEkgdGhpbmssIHlvdSBrbm93LCB0aGUgYmlnZ2VzdCBjaGFsbGVuZ2UgaXMgYXdhcmVuZXNzIGFuZCBnZXR0aW5nIGRpYWdub3NlZC4gSWYgeW91J3JlIGluIGxvdy0gYW5kIG1pZGRsZS1pbmNvbWUgY291bnRyaWVzLCByaWdodCwgdGhlbiB0aGUgY2hhbGxlbmdlIGJlY29tZXMgYWNjZXNzIHRvIGRydWdzLiBTbyBtb2R1bGF0b3JzIGFyZSBub3QgYXZhaWxhYmxlIGluIG1vc3Qgb2YgQXNpYSwgb3IgYXQgbGVhc3QgaW4gdGhlIGxvd2VyIGFuZCBtaWRkbGUtaW5jb21lIGNvdW50cmllcyBpbiBBc2lhLCB0aGF0J3Mgbm90IGF2YWlsYWJsZSwgbGlrZSwgaXQncyBub3QgYXZhaWxhYmxlIGZvciBzYWxlLiBQcmltYXJpbHksIHBhcnRseSBiZWNhdXNlIHRoZXkgdGhpbmsgdGhhdCB0aG9zZSBwZW9wbGUsIGxpa2UgcGVvcGxlIGF0IENGLCBkb24ndCBleGlzdCBpbiBlbm91Z2ggbnVtYmVycyBpbiB0aG9zZSBjb3VudHJpZXMuIEFuZCBwYXJ0bHkgYmVjYXVzZSB0aGVuIGl0IGNyZWF0ZXMgcHJvYmxlbXMgaW4gdGVybXMgb2YgbW9uZXRhcnksIGxpa2UgZmFjdG9ycywgcmlnaHQuIEluIHRlcm1zIG9mIGhvdyBtdWNoIHRoZXkgY2hhcmdlIGZvciB0aGUgbW9kdWxhdG9ycy4gUmlnaHQuIFNvIHRob3NlIGRvbid0IGV4aXN0LiBJIGRvbid0IGtub3csIGxpa2UgdGhleSBoYXZlIGFjY2VzcyB0byBwYW5jcmVhdGljIGVuenltZXMgYW5kIHRoaW5ncyBsaWtlIHRoYXQsIGJ1dCwgeW91IGtub3csIHJlZ3VsYXIgYWNjZXNzIHRvIHJlZ3VsYXIgY2FyZSBpcyBzdGlsbCBhIGNoYWxsZW5nZS4gVGhlIGJhc2Ugb2YgcGh5c2ljaWFucyB0aGF0IGFyZSBmYW1pbHkgd2l0aCB0cmVhdGluZyBDRiBpcyBvbmx5IGdyb3dpbmcgaW4gc29tZSBvZiB0aG9zZSBwbGFjZXMgYXQgbGVhc3QgZnJvbSBteSBwZXJzb25hbCBleHBlcmllbmNlIGJ1dCBpdFx1MjAxOXMgbm90IGJ5IHdoZXJlIHdlIGFyZS4gVGhlIGNoaWxkcmVuIHRoZXJlIGFyZSBzdGlsbCBtb3N0bHkgcGFzc2luZyBhd2F5IHdoZW4gdGhleSBhcmUgaW4gdGhlaXIgdGVlbmFnZSB5ZWFycyBvciBlYXJseSB0d2VudGllcy4gVGhlIHNvcnQgb2YgbGlmZSBzcGFuIGFuZCBsaWZlIGV4cGVjdGFuY3kgaXMgbm8gd2hlcmUgY2xvc2UgdG8gd2hhdCB5b3Ugd291bGQgc2VlIGluIGhpZ2gtaW5jb21lIGNvdW50cmllcy4gU28sIEkgdGhpbmsgdGhhdCBpcyB0aGUgYmlnZ2VzdCBjaGFsbGVuZ2UsIGFjY2VzcyB0byByZXNvdXJjZXMgYm90aCwgcHVibGljbHkgYW5kIGFsc28gZnJvbSBhIHByaXZhdGUgcG9pbnQuXCIvPlxuICAgIDxRYUJveCBxPVwiT2theS4gQW5kIGRvIHlvdSB0aGluayB0aGF0IHRoZSBlbnZpcm9ubWVudGFsIG9yIGxpa2UgcG9sbHV0aW9uIGlzIGRvaW5nLCBsaWtlLCBJIGRvbid0IGtub3cgaG93IHRvIHNheSBpdCBjb3JyZWN0bHkuIFNvIHRoYXQgdGhlcmUgYXJlIGxpa2UgcmVzcGlyYXRvcnkgY2hhbGxlbmdlcyBiZWNhdXNlLCB5ZWFoLCByaWdodC5cIiBhPVwiQWJzb2x1dGVseSEgUmlnaHQuIEl0J3MsIHlvdSBrbm93LCB5b3VyIGV4cG9zdXJlIHRvIHBhdGhvZ2VucyBpcyBoaWdoZXIuIFlvdXIgZXhwb3N1cmUgdG8gcG9sbHV0aW9uIGlzIHNpZ25pZmljYW50bHkgaGlnaGVyIGluIGEgbG90IG9mIHRoZXNlIGNvdW50cmllcywgcmlnaHQ/IEV2ZW4gQ2hpbmEsIHdoaWNoIGlzLCB5b3Uga25vdywgbXVjaCBiZXR0ZXIgb2ZmIHRoYW4gYSBjb3VudHJ5IGxpa2UgSW5kaWEgc3RpbGwgaGFzIGEgbG90IG9mIHBvbGx1dGlvbiwgcmlnaHQ/IEFuZCBzbywgb3IgSSd2ZSBuZXZlciBiZWVuIHRvIENoaW5hLCBidXQgYXQgbGVhc3QgdGhhdCdzIHdoYXQgSSByZWFkLCByaWdodD8gQnV0IEluZGlhLCBJIGdyZXcgdXAgdGhlcmUgYW5kIEkgY2FuIGZpcnN0aGFuZCB0ZWxsIHlvdSB0aGF0IHRoZXJlJ3MgYSBsb3Qgb2YgcG9sbHV0aW9uIHRoZXJlLCByaWdodD8gQW5kIHRoYXQgSSdtIHN1cmUgaXQgYWZmZWN0cyBpdCBiZWNhdXNlIGl0J3MgYmVlbiBkb2N1bWVudGVkIHRvIGFmZmVjdCBwZW9wbGUsIGp1c3QgcGVvcGxlIHdpdGhvdXQgQ0YsIHJpZ2h0PyBPbiBhbiBhdmVyYWdlLCBpdCdzIHN1cHBvc2VkIHRvIGxpa2UsIHRoZSByZXBvcnRzIHRoYXQgSSd2ZSBzZWVuIGFyZSBsaWtlLCBpdCB0YWtlcyBhIGZldyB5ZWFycyBvZmYgb2YgbGlmZSBleHBlY3RhbmN5IGZvciBldmVuIHBlb3BsZSB0aGF0IGhhdmUgbm90IGJlZW4gZGlhZ25vc2VkIHdpdGggYW55dGhpbmcgZWxzZSwgcmlnaHQ/IFNvIEknbSBzdXJlIGlmIHRoZXJlJ3MgYSBwZXJzb24gd2l0aCBDRiwgdGhlbiB0aGF0J3MgZ29pbmcgdG8gYWZmZWN0IHRoZW0gZXZlbiBtb3JlIG5lZ2F0aXZlbHkgaW4gcGxhY2VzIGxpa2UgSW5kaWEuIEFuZCB0aGVuIEkgdGhpbmsgdGhhdCB0aGUgZXhwb3N1cmUgdG8gcGF0aG9nZW5zIG1pZ2h0IGJlIHNsaWdodCwgaXQgbWlnaHQgYmUgaGlnaGVyIGFuZCB0aGUgbG93ZXIgZG93biBpbiB0aGUgZWNvbm9taWMgc2NhbGUgeW91IGdvLCB0aGUgbW9yZSwgdGhlIGV4cG9zdXJlIHRvIHBhdGhvZ2VucyBhcmUgZ29pbmcgdG8gaGF2ZSwgcmlnaHQ/IEkgdGhpbmsgdGhlIHRoaXJkIGZhY3RvciB3b3VsZCBhbHNvIG1pZ2h0IGJlIG51dHJpdGlvbiwgcmlnaHQ/IExpa2UsIHNvIGlmIHlvdSBoYXZlIENGLCB5b3UsIHlvdSBrbm93LCBoZXJlLCBvbmUgd2F5IHRoZXkgd2VyZSBtYW5hZ2luZyBpdCB3YXMgdGhyb3VnaCBoaWdoIGZhdCBjYWxvcmllIHJpY2ggZGlldCBhbmQgYWNjZXNzIHRvIHRob3NlIHNvcnQgb2YgaGlnaCBmYXQgY2Fsb3JpZSByaWNoIGRpZXRzIG1heSBub3QgYmUgdGhhdCBwcmV2YWxlbnQgaW4gc29tZSBvZiB0aGVzZSBvdGhlciBwbGFjZXMuIEFuZCBzbyB0aGF0IG1pZ2h0IGJlY29tZSBhIGZhY3Rvci5cIi8+XG4gICAgPFFhQm94IHE9XCJPa2F5LiBBbmQgdGhlbiBvbmUgbGFzdCBxdWVzdGlvbi4gU28gaXQncyBtb3JlIGEgYml0IGFib3V0IHlvdSBhbmQgeW91ciByZXNlYXJjaC4gU28gd2hhdCBkcmV3IHlvdXIgYXR0ZW50aW9uIHRvIHRoZSBpc3N1ZSBvZiBDRiBpbiBBc2lhPyBTbyB3aHkgZGlkIHlvdSBzdGFydCByZXNlYXJjaGluZyB0aGlzIHRvcGljP1wiIGE9XCJPaCwgc28gdGhhdCB3YXMgYSB2ZXJ5IG9rYXkuIFNvIHRoZSB3YXkgaXQgaGFwcGVuZWQgd2FzIEkgd2FzIGF0IGEgY29uZmVyZW5jZSBhbmQgSSB3YXMgYSBwb3N0ZG9jIGF0IFN0YW5mb3JkIHByZXZpb3VzbHksIGFzIHlvdSBrbm93LiBTbyBJIHdhcyBhdCBhIGNvbmZlcmVuY2UgYW5kIEkgd2FzLCB3ZSB3ZXJlIGp1c3QsIEkgdGhpbmsgaGFkIGEgc29ydCBvZiBhLCB5b3Uga25vdywgYSBkaW5uZXIgZm9yIGV2ZXJ5Ym9keSBmcm9tIG91ciBpbnN0aXR1dGlvbi4gQW5kIEkgd2FzIGNoYXR0aW5nIHdpdGggdGhlIG51cnNlIGluIHRoZSB0YWJsZSBhbmQgc2l0dGluZyBpbiB0aGUgdGFibGUgYW5kIHNvIHRoZSBTYW4gRnJhbmNpc2NvIGFyZWEgaGFzIGEgbG90IG9mIHBlb3BsZSBmcm9tIEFzaWEuIEFuZCBzbyB0aGUgbnVyc2UgcGFydGljdWxhcmx5IHNhaWQgdGhhdCB0aGV5IGhhZCBhIGxvdCBvZiBjaGlsZHJlbiB3aXRoIENGIHdobyBoYXBwZW5lZCB0byBvcmlnaW5hdGUgaW4gSW5kaWEsIHdoaWNoIHJlYWxseSBzdXJwcmlzZWQgbWUgYmVjYXVzZSB0aGF0J3Mgbm90IGEgZGlzZWFzZSB0aGF0IEknZCBoZWFyZCBncm93aW5nIHVwIGFzIGJlaW5nIHNvbWUsIGEgY29tbW9uIGdlbmV0aWMgZGlzZWFzZSB0aGVyZS4gUmlnaHQuIEFuZCBzbyB0aGF0IGtpbmQgb2YgZHJldyBteSBhdHRlbnRpb24uIEFuZCB0aGVuIGluIHN1YnNlcXVlbnQgY29udmVyc2F0aW9ucywgd2hlbiBJIHNwb2tlIHdpdGggcGh5c2ljaWFucyB3aG8gYXJlIHByYWN0aWNpbmcgaW4gSW5kaWEsIG5vYm9keSBzYWlkIHRoYXQgdGhleSBoYWRuJ3Qgc2VlbiBwZW9wbGUgd2l0aCBDRiwgcmlnaHQ/IFdoZW5ldmVyIEkgaGFkIHRoZSBjb252ZXJzYXRpb24sIHBlb3BsZSB3b3VsZCBiZSBsaWtlLCBvaCB5ZWFoLCBJJ3ZlIHNlZW4gYSBwYXRpZW50IHdpdGggQ0Ygb3IgSSBrbm93IG9mIHNvbWVib2R5IHRoYXQgaGFzIGEgY2hpbGQgd2l0aCBDRiwgcmlnaHQ/IFdoaWNoIHdhcyBzdXJwcmlzaW5nLiBBbmQgdGhlbiB3aGVuIEkgd2VudCB0byBJbmRpYSwgSSB3ZW50IHRvIGEgaG9zcGl0YWwgaW4gbXkgaG9tZXRvd24gYW5kIEkgd2FzIHRhbGtpbmcgdG8gdGhlIHB1bG1vbm9sb2dpc3QgdGhlcmUuIEFuZCBoZSBzYWlkIGhlIGhhZCAzMCBvciA0MCBwYXRpZW50cyB3aXRoIENGIGluIHRoYXQsIGp1c3QgdGhhdCBob3NwaXRhbC4gQW5kIHRoYXQncywgeW91IGtub3csIGl0J3Mgbm90IGV2ZW4sIHlvdSBrbm93LCBpdCdzIHByb2JhYmx5IG9uZSBvZiB0aGUgYmlnZ2VyIGNpdGllcyBpbiBJbmRpYSwgYnV0IEkgd291bGRuJ3QgZXZlbiBrbm93IGlmIGl0J3MgaW4gdGhlIHRvcCAxMCBiaWdnZXN0IGNpdGllcyBpbiBJbmRpYS4gQW5kIHRoaXMgaXMgbm90IGV2ZW4gdGhlIGJpZ2dlc3QgY2VudGVyIGluIHRoYXQgY2l0eSBuZWNlc3NhcmlseS4gUmlnaHQuIFNvIEkgd2FzIGp1c3QgcmVhbGx5IHN1cnByaXNlZC4gQW5kIGhlIHNhaWQgaGUgZGlkbid0IGhhdmUgdG8gcmVhbGx5IHB1dCBpbiBhbnkgZWZmb3J0IHRvIGdvIHNlZWsgb3V0IGFueSBwZW9wbGUgd2l0aCBDRi4gVGhpcyB3YXMganVzdCBpbiB0aGUgcGVvcGxlIHRoYXQgd2Fsa2VkIGludG8gdGhhdCBob3NwaXRhbCB0aGF0IGdvdCBkaWFnbm9zZWQgd2l0aCBDRiwgcmlnaHQ/IFNvIHRoYXQga2luZCBvZiBzb2xpZGlmaWVkIHRoZSBwZXJjZXB0aW9uIHRoYXQgcGVyaGFwcyBpdCB3YXMgdW5kZXJkaWFnbm9zZWQuIEFuZCB0aGVuIHRoZSByZWFzb24gaXQgaGFwcGVuZWQgd2FzIGJlY2F1c2UgdGhlIHBhbmRlbWljIHNvcnQgb2YgZm9yY2VkIG1vc3Qgb2YgdXMgb3V0IG9mIHRoZSBsYWIuIEFuZCBzbyB0aGlzIGVuZGVkIHVwIGJlaW5nIHNvbWV0aGluZyB5b3UgY2FuIGFjdHVhbGx5IHdvcmsgb24gd2l0aG91dCBnb2luZyB0byBsYWIuXCIvPlxuICAgIDxRYUJveCBxPVwiWWVhaCwgc291bmRzIHJlYWxseSBpbnRlcmVzdGluZyB0aGUgd2F5IHlvdSBnb3QgdGhlcmUuIGF0IHRoZSBiZWdpbm5pbmcsIHlvdSBzYWlkIHlvdSBjb3VsZCB0ZWxsIHVzIHNvbWV0aGluZywgd2hhdCBjYW1lIHRvIHlvdSBpbiBtaW5kIHdoZW4geW91IGhlYXJkIGFib3V0IFByb2plY3QgRmlyc3QsIGFuZCB5b3UgYWxyZWFkeSBwcmVwYXJlZCBzb21lIHNsaWRlcy4gU28gSSBqdXN0IHdhbnQgdG8gYXNrIGlmIHlvdSBtYXliZSBoYXZlIHNvbWV0aGluZyBtb3JlIHRvIHRlbGwgdXMgdGhhdCB5b3UgaGF2ZW4ndCB0aG91Z2h0IGFib3V0IHlldCwgYmVjYXVzZSB0aGUgaW50ZXJ2aWV3IHVudGlsIG5vdyBpcyBoaWdobHkgaW50ZXJlc3RpbmcgYW5kIEkgdGhpbmsgd2UgZ290IGEgbG90IG9mIG5ldyBpbmZvcm1hdGlvbiB1bnRpbCBub3cuIFNvIG1heWJlIHlvdSBoYXZlIHNvbWV0aGluZy4gTWF5YmUgeW91IGhhdmUgbW9yZSBpbnRlcmVzdGluZyBpbmZvcm1hdGlvbiBmb3IgdXMuXCIgYT1cIkkgdGhpbmsgeW91IGd1eXMgY292ZXJlZCBhIGxvdCBvZiB3aGF0IEkgaGFkIGluIG1pbmQsIHJpZ2h0PyBJbiB0ZXJtcyBvZiwgSSB0aGluayBpZiBJIHdlcmUgdG8gc3RhcnQgd2l0aCBwcmltZSBlZGl0aW5nIGFuZCBEZWx0YSA1MDgsIHRoaXMgaXMgZXhhY3RseSB0aGUgYXJndW1lbnQgSSB3b3VsZCBoYXZlIG1hZGUuIEkgd291bGQgaGF2ZSB0YWxrZWQgdG8gYWxsIG9mIHRoZSBleGFjdCBwZW9wbGUgdGhhdCB5b3UgaGF2ZSBhbHJlYWR5IHNwb2tlbiB3aXRoLCByaWdodD8gU28gSSB0aGluayB0aGF0IEkgZG9uJ3QgaGF2ZSB0b28gbXVjaCB0byBhZGQgdGhlcmUuIFRoZSBvbmx5IHRoaW5nIHlvdSBjb3VsZCBkbyBpcyBpZiB5b3UgYXJlIGxvb2tpbmcgYXQgdmFyaWFudHMsIHJpZ2h0PyBNYXliZSBJIHdvdWxkIHRyeSB0byBjb21lIHVwIHdpdGggYSBwbGFuIGZvciB3aGF0IHZhcmlhbnRzIHlvdSBtaWdodCBnbyBhZnRlciwgYWZ0ZXIgRGVsdGEgNTA4LCByaWdodD8gQW5kIHRoYXQgY291bGQgYmVjb21lIHBhcnQgb2YgeW91ciBmdXR1cmUgcmVzZWFyY2ggb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4gT3IgaWYgeW91IGNhbiwgSSBndWVzcyB0aGUgb25lIHF1ZXN0aW9uIEkgaGFkIGZvciB5b3UgaXMsIHNvIHRoZSBjb3JyZWN0aW9uIG9mIERlbHRhIDUwOCBpcyBzb3J0IG9mIHB1Ymxpc2hlZCwgcmlnaHQ/IFBlb3BsZSBoYXZlIHJlcG9ydGVkIHVzaW5nIGxpcGlkIG5hbm9wYXJ0aWNsZXMsIGF0IGxlYXN0IHRvIGRlbGl2ZXIgYmFzZSBlZGl0aW5nIHJlYWdlbnRzLCByaWdodD8gU28gaG93IGFyZSB5b3UgdGhpbmtpbmcgYWJvdXQsIGxpa2Ugd2hlbiB5b3UgcGl0Y2ggdGhlIGlubm92YXRpb24gaW4geW91ciBwcm9qZWN0LCBob3cgYXJlIHlvdSB0aGlua2luZyBhYm91dCBwaXRjaGluZyB5b3VyIGlubm92YXRpb24/IFwiLz5cbiAgICA8UWFCb3ggcT1cIk9rYXkuIFNvIEkgdGhpbmssIG91ciBpZGVhIHdhcyB0aGF0IHdlIHdhbnQgdG8gZG8gbGlrZSB0aGUsIHRoZSBwcmltZSBlZGl0b3IgaXMgbW9yZSBlZmZpY2llbnQuIE91ciBpZGVhIGlzIHRvIHVzZSBhIHNtYWxsZXIgcmV2ZXJzZSB0cmFuc2NyaXB0IGNhc2UgYW5kIG1heWJlIHdoZW4gd2Ugd2lsbCB3aGVuIHRoZSB0aW1lIGlzIGxldHRpbmcgdXMgZG8gaXQsIG1heWJlIG5vdCwgd2UgZG9uJ3Qga25vdyBpZiB3ZSB3aWxsIGdldCBpbiB0aW1lIHRoZXJlIGFuZCBldmVyeXRoaW5nIHdpbGwgYmUgcmVhZHkuIEJ1dCBpbiB0aGUgTGl1IHBhcGVyLCBJIHRoaW5rIHdhcyBzb21ldGhpbmcgYWJvdXQgdGhlIExhIG1vdGl2ZSBhbmQgc29tZSBvdGhlciBzdHVmZiB0aGF0IHdlIHdhbnQgdG8gYWRkIHRvIHRoZSBwcmltZSBlZGl0b3Igc28gdGhhdCBpdCdzIGV2ZW4gbW9yZSBlZmZpY2llbnQuIEFuZCBldmVuIHRoZW4gdGhlIGlkZWEgb2YgdGhlIExOUCB0byBzcHJheSBkcnkgYmVjYXVzZSB3ZSB0aG91Z2h0IHRoZW4gd2hlbiB0aGVyZSBpcyBub3QgdGhlIHRoYXQgaXQgaGFzIHRvIGJlIGNvb2wsIGxpa2Ugb3RoZXIgbWVkaWNhdGlvbiwgaXQncyBlYXNpZXIgdG8gYnJpbmcgaXQgbGlrZSB0byBBc2lhIG9yIG90aGVyIHBsYWNlcyBiZWNhdXNlIHRoZXkgY2FuIGp1c3QgZ2V0IHRoZSBpbmhhbGF0b3IuIFwiIGE9XCJSaWdodC4gU28gdGhlIG9uZSBxdWVzdGlvbiBJIGhhZCBmb3IgeW91IG9uIHRoYXQgaXMsIGhhdmUgeW91IGxvb2tlZCBhdCBEYW5pZWwgU2llZ3dhcnRzIHdvcmsgb24gTE5QPyAgXCIvPlxuICAgIDxRYUJveCBxPVwiTm8sbm90IHlldC5cIiBhPVwiQmVjYXVzZSB0aGV5IGhhZCBhIHBhcGVyIGluIHNjaWVuY2Ugd2hlcmUgdGhleSBkaWQgaW50cmF2ZW5vdXMgZGVsaXZlcnkgb2YgbGlwaWQgbmFub3BhcnRpY2xlcyBhbmQgdGhleSwgdGhleSBkZWxpdmVyZWQgYSBiYXNlIGVkaXRvci4gU28gd2hlbiB5b3UgcHJlc2VudCB0aGlzLCB0aGlzIG1pZ2h0IGNvbWUgdXAuIFNvLCB5b3Uga25vdywgc28gSSdtIG5vdCBzYXlpbmcgeW91IHNob3VsZCBjaGFuZ2UgeW91ciBzdHJhdGVneSwgYnV0LCB5b3Uga25vdywgaWYgeW91J3JlIHRyeWluZyB0byBkbyBhIGxvdCBvZiB3b3JrIG9uIGxpcGlkIG5hbm9wYXJ0aWNsZXMsIHlvdSdyZSBnb2luZyB0byBoYXZlIHRvIGRvIGEgbG90IG9mIHdvcmsgb24gU28geW91IHdhbnQgdG8gaGF2ZSB0aG91Z2h0IGFib3V0IGEgcmVzcG9uc2UuIEFuZCBpdCdzLCBpdCdzIGEgcmVhbGx5IGludGVyZXN0aW5nIHN0cmF0ZWd5LiBVbSwgdHJ5aW5nIHRvIHNlZSBpZiBJIGNhbiBmaW5kIGl0LiBZZWFoLiBIZXJlLiBJdCdzIGEgcmVhbGx5IGludGVyZXN0aW5nIHNvcnQgb2YgbmFub3BhcnRpY2xlIHN0cmF0ZWd5IHRoYXQgdGhleSBoYXZlIHByZXNlbnRlZC4gVWgsIHRoZSBuaWNlIHRoaW5nIGlzIGl0IGlzIGFuIElWIGRlbGl2ZXJ5LCB3aGljaCBnZXRzIHlvdSB0byBiYXNhbCBjZWxscyBhbmQgdGhleSB3ZXJlIGFibGUgdG8gZ2V0IGFib3V0IDIwJSBjb3JyZWN0aW9uLCByaWdodD8gU28geW91IGNvdWxkIGFsbW9zdCB0aGluayBvZiBpdCBhcyBhbiBhbHRlcm5hdGl2ZSBzdHJhdGVneS4gU28gaWYsIHlvdSBrbm93LCBpZiB5b3UgZ2V0IHRoZSBwdXNoYmFjayBvciBJIGRvbid0IGtub3cgaG93IHlvdSBoYXZlIHRvIHdyaXRlIHRvIHlvdXIgcHJvcG9zYWwsIGJ1dCBpZiB0aGUsIHRoZSwgdGhlIHNwcmF5IGRyeWluZyBvciB0aGUgbmVidWxpemF0aW9uIHByb2Nlc3MgaXMgbm90IGdvaW5nIHdlbGwgZm9yIHlvdSwgdGhpcyBtaWdodCBiZSBzb21ldGhpbmcgdGhhdCB5b3UgY291bGQgcHJvcG9zZSBhcyBhIGJhY2t1cCBiZWNhdXNlIGhlcmUgdGhleSd2ZSBzaG93biB0aGF0IHlvdSBjYW4gZGVsaXZlciBsaXBpZCBuYW5vcGFydGljbGVzIGludHJhdmVub3VzbHkgYW5kIHRoZXkgZ2V0IHRvIHRoZSBiYXNhbCBjZWxsIHBvcHVsYXRpb24uIE9rYXkuIEFuZCB0aGV5IGdldCB0bywgeWVhaC4gU28gdGhhdCBtaWdodCBiZSB0aGUgb25seSBvdGhlciBkaXJlY3Rpb24gSSB3b3VsZCBwb2ludCB0byBhcyB5b3UncmUgdGhpbmtpbmcgYWJvdXQgeW91ciBkZWxpdmVyeSBzdHJhdGVneS4gUmlnaHQuIFVoLCB0aGUgb3RoZXIgaW5ub3ZhdGlvbiBjb3VsZCBiZSB0aGF0IGlmIHlvdSBjYW4gZXZlbiBvcHRpbWl6ZSB5b3VyIHByaW1lIGVkaXRpbmcgdG8gZ28gYSBsaXR0bGUgYml0IGJleW9uZCBqdXN0IERlbHRhLCBpZiBJIHdhaXQsIGlmIHlvdSBjYW4gc2hvdyB0aGF0IHlvdSBldmVuIHJlcGxhY2UgdGhlIHdob2xlIEV4eG9uLCB5b3UgbWlnaHQgaGF2ZSBzb21ldGhpbmcgdGhhdCBpcyBhIGxpdHRsZSBiaXQgbW9yZSB1bmlxdWUgdGhhbiB3aGF0J3Mgb3V0IHRoZXJlLiBBbmQgdGhlbiB5b3UgZG9uJ3QgaGF2ZSB0byBldmVuIHdvcnJ5IGFib3V0IGRlbGl2ZXJ5IG5lY2Vzc2FyaWx5LiBcIi8+IFxuICAgIDxRYUJveCBxPVwiT2theS4gVGhhbmsgeW91IHNvIG11Y2guIFdlIHdpbGwgbG9vayBhdCB0aGUgcGFwZXIgYW5kIHdlJ2xsIGNoZWNrIGl0IG91dC4gQWxsIHJpZ2h0LiBPa2F5LiBUaGVuLCB5ZWFoLiBUaGFuayB5b3UgdmVyeSBtdWNoIGZvciB0aGUgaW50ZXJ2aWV3LiBcIiBhPVwiWWVhaCwgdGhhdCdzIHBlcmZlY3RseSBmaW5lLiBHb29kIGx1Y2sgd2l0aCB5b3VyIHByb2plY3QuIEl0J3MgYSByZWFsbHkgaW50ZXJlc3RpbmcgcHJvamVjdC5cIi8+IFxuICAgIDwvPixcbiAgICBwaWN0dXJldXJsX2ludGVydmlldzogXCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3Mvc3JpcmFtLWludGVydmlldy53ZWJwXCIsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJNLlNjLlwiLFxuICAgIHZvcm5hbWU6IFwiUGhpbGlwcFwiLFxuICAgIG5hY2hubmFtZTogXCJLXHUwMEZDaG5lbFwiLFxuICAgIGpvYjogXCJQaEQgc3R1ZGVudCBpbiB0aGUgT3Rvcmhpbm9sYXJ5bmdvbG9neSB3b3JraW5nIGdyb3VwIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5XCIsXG4gICAgYWZmaWxpYXRpb246IFwiVW5pdmVyc2l0XHUwMEU0dCBCaWVsZWZlbGRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydrXHUwMEZDaG5lbCddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiSW1wcm92ZW1lbnQgb2Ygb3VyIGN1bHR1cmUgcHJvdG9jb2xzIGFuZCBleHBlcmltZW50YWwgb3V0Y29tZXMsIHBhcnRpY3VsYXJseSBpbiBtYWludGFpbmluZyBBTEkgY3VsdHVyZXNcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJwa3VlaG5lbFwiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIHF1b3RlOiBcIkNvbm5lY3Rpbmcgd2l0aCBQaGlsaXBwIEtcdTAwRkNobmVsLCBhbiBleHBlcnQgaW4gbmFzYWwgY2VsbCBjdWx0aXZhdGlvbiwgaGFzIGJlZW4gaW52YWx1YWJsZS4gSGlzIGluc2lnaHRzIGFuZCBleHBlcnRpc2UgaW4gQUxJIHRlY2huaXF1ZXMgaGF2ZSBzaWduaWZpY2FudGx5IGVuaGFuY2VkIG91ciB1bmRlcnN0YW5kaW5nIGFuZCBhcHByb2FjaCBpbiB0aGlzIGNydWNpYWwgYXJlYSBvZiByZXNlYXJjaC5cIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIlN1c2F0LCBUZWFtbWVtYmVyIFwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJLYXRobGVlblwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPlRoZSBhaW0gb2Ygb3VyIGNvbnRhY3Qgd2l0aCBQaGlsaXBwIEtcdTAwRkNobmVsLCBhIFBoRCBzdHVkZW50IGZyb20gdGhlIE90b3JoaW5vbGFyeW5nb2xvZ3kgd29ya2luZyBncm91cCBvZiBCaWVsZWZlbGQgVW5pdmVyc2l0eSwgd2FzIHRvIGdhaW4gZXhwZXJ0aXNlIGluIHdvcmtpbmcgd2l0aCBwcmltYXJ5IGN1bHR1cmVzLCBwYXJ0aWN1bGFybHkgZm9jdXNpbmcgb24gYWlyLWxpcXVpZCBpbnRlcmZhY2UgKEFMSSkgY3VsdHVyZXMuIEdpdmVuIGhpcyBleHBlcmllbmNlIGluIHRoaXMgYXJlYSwgd2Ugc291Z2h0IGhpcyBndWlkYW5jZSB0byBlbnN1cmUgdGhhdCB3ZSB3ZXJlIGZvbGxvd2luZyBiZXN0IHByYWN0aWNlcyBhbmQgdG8gYWRkcmVzcyBhbnkgdGVjaG5pY2FsIGNoYWxsZW5nZXMgd2UgbWlnaHQgZW5jb3VudGVyLjwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+VGhyb3VnaCBvdXIgZGlzY3Vzc2lvbnMgd2l0aCBQaGlsaXBwLCB3ZSBnYWluZWQgdmFsdWFibGUgaW5zaWdodHMgaW50byB0aGUgb3B0aW1hbCBjb25kaXRpb25zIGZvciBjdWx0aXZhdGluZyBwcmltYXJ5IGNlbGxzIGFuZCBtYWludGFpbmluZyBBTEkgY3VsdHVyZXMuIEhlIHByb3ZpZGVkIHByYWN0aWNhbCBhZHZpY2Ugb24gdHJvdWJsZXNob290aW5nIG9mIGNvbW1vbiBpc3N1ZXMsIHN1Y2ggYXMgY2VsbCBkaWZmZXJlbnRpYXRpb24gYW5kIGN1bHR1cmUgc3RhYmlsaXR5LCB3aGljaCB3ZXJlIGNydWNpYWwgZm9yIHRoZSBzdWNjZXNzIG9mIG91ciBleHBlcmltZW50cy4gV2UgYWxzbyBtYWludGFpbmVkIGNsb3NlIGNvbnRhY3QgdG8gZXhjaGFuZ2UgaW5mb3JtYXRpb24gYWJvdXQgZnVuZ2kgdGhhdCBmcmVxdWVudGx5IGNvbnRhbWluYXRlIEFMSSBjdWx0dXJlcy4gVGhlIGV4cGVydGlzZSBzaGFyZWQgb24gY29tYmF0aW5nIHRoZXNlIGZ1bmdhbCBjb250YW1pbmF0aW9ucyB3YXMgcGFydGljdWxhcmx5IHZhbHVhYmxlIGFuZCBncmVhdGx5IGVuaGFuY2VkIG91ciB1bmRlcnN0YW5kaW5nIG9mIGVmZmVjdGl2ZSBwcmV2ZW50aW9uIGFuZCB0cmVhdG1lbnQgbWV0aG9kcy4gPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFs8cD5XZSBpbmNvcnBvcmF0ZWQgUGhpbGlwcFx1MjAxOXMgYWR2aWNlIGJ5IHJlZmluaW5nIG91ciBjdWx0dXJlIHByb3RvY29scywgcGFydGljdWxhcmx5IGFkanVzdGluZyB0aGUgY29uZGl0aW9ucyBmb3IgQUxJIGN1bHR1cmVzIHRvIGltcHJvdmUgY2VsbCBkaWZmZXJlbnRpYXRpb24gYW5kIG92ZXJhbGwgY3VsdHVyZSBoZWFsdGguIFRoaXMgZGlyZWN0bHkgZW5oYW5jZWQgdGhlIHJlbGlhYmlsaXR5IG9mIG91ciBleHBlcmltZW50YWwgcmVzdWx0cywgZW5zdXJpbmcgdGhhdCBvdXIgd29yayB3aXRoIHByaW1hcnkgY3VsdHVyZXMgd2FzIGJvdGggYWNjdXJhdGUgYW5kIHJlcHJvZHVjaWJsZS4gPC9wPl0sXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBzdW1tYXJ5OiBcIlRoZSBjb250YWN0IGFpbWVkIHRvIGxldmVyYWdlIFBoaWxpcHBcdTIwMTlzIGV4cGVydGlzZSBpbiBBTEkgY3VsdHVyZXMgdG8gaW1wcm92ZSBvdXIgZXhwZXJpbWVudGFsIHByb3RvY29scyBHYWluZWQgaW5zaWdodHMgaW50byBvcHRpbWl6aW5nIGNvbmRpdGlvbnMgZm9yIHByaW1hcnkgY2VsbCBjdWx0dXJlcyBhbmQgbWFuYWdpbmcgY29tbW9uIGNoYWxsZW5nZXMgbGlrZSBmdW5nYWwgY29udGFtaW5hdGlvblwiLFxuICAgIG1vbnRoczogXCJzZXZlcmFsIHRpbWVzXCJcbiAgfSxcbiAge1xuICAgIHRpdGxlOiBcIlByb2YuIERyLlwiLFxuICAgIHZvcm5hbWU6IFwiWm95YVwiLFxuICAgIG5hY2hubmFtZTogXCJJbmdhdG92YSBhbmQgIERyLiBOaWtoaWwgQmhhcnRpXCIsXG4gICAgam9iOiBcIkdyb3VwIExlYWRlclwiLFxuICAgIGFmZmlsaWF0aW9uOiBcIkluc3RpdHV0ZSBvZiBCaW9jaGVtaXN0cnkgYW5kIE1vbGVjdWxhciBCaW9sb2d5IGF0IEhhbWJ1cmcgVW5pdmVyc2l0eVwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3pveWEnXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIlNoYXBpbmcgdGhlIEZ1dHVyZSBvZiBHZW5ldGljIFRoZXJhcHk6IEFuIGludGVydmlldyB3aXRoIFByb2YuIERyLiBab3lhIElnbmF0b3ZhXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiaWduYXRvdmFcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIkluZ2F0b3ZhLCBDRiBSZXNlYXJjaCBFeHBlcnRzIFwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJQcm9mLiBEci4gWm95YVwiLFxuICAgIHF1b3RlOiBcIlByZWNpc2lvbiBpcyBrZXkgdG8gbWluaW1pemluZyBzaWRlIGVmZmVjdHMgYW5kIGVuc3VyaW5nIHRoZSBzYWZldHkgb2YgeW91ciB0aGVyYXB5LlwiLFxuICAgIGFpbW9mY29udGFjdDogXCJXZSBjb25kdWN0ZWQgdGhlIGludGVydmlldyB3aXRoIFByb2YuIERyLiBab3lhIElnbmF0b3ZhIGFuZCBEci4gTmlraGlsIEJoYXJ0aSBmcm9tIHRoZSBJbnN0aXR1dGUgb2YgQmlvY2hlbWlzdHJ5IGFuZCBNb2xlY3VsYXIgQmlvbG9neSBhdCB0aGUgVW5pdmVyc2l0eSBvZiBIYW1idXJnLCBzZWVraW5nIHRvIGRlZXBlbiBvdXIgdW5kZXJzdGFuZGluZyBvZiB0aGVpciByZXNlYXJjaCBvbiBjeXN0aWMgZmlicm9zaXMgKENGKSBhbmQgZXhwbG9yZSBhZGRpdGlvbmFsIENGIG11dGF0aW9ucywgYXMgd2VsbCBhcyB0byBsZWFybiBtb3JlIGFib3V0IGNlbGwgY3VsdHVyZSB0ZWNobmlxdWVzIHNwZWNpZmljIHRvIENGIHJlc2VhcmNoLCBzaW5jZSB0aGV5IHNlbmQgdXMgdGhlIENGQkU0MW8tIGNlbGwgbGluZS4gT3VyIGFpbSB3YXMgYWxzbyB0byBnYXRoZXIgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGVpciBhcHByb2FjaGVzIGluIENGIHJlc2VhcmNoLCBwYXJ0aWN1bGFybHkgdGhlaXIgZm9jdXMgb24gdHJlYXRpbmcgZ2VuZXRpYyBtdXRhdGlvbnMgbGlrZSBub25zZW5zZSBtdXRhdGlvbnMsIHdoaWNoIGFyZSBoaWdobHkgcHJldmFsZW50IGluIENGLlwiLFxuICAgIGluc2lnaHRzOiBbPHA+V2Ugd2VyZSBzdHJ1Y2sgYnkgSWduYXRvdmFcdTIwMTlzIHN0b3J5IGFib3V0IGZvdW5kaW5nIHRoZSBpR0VNIHRlYW0gaW4gSGFtYnVyZy4gSGVyIHBhc3Npb24gZm9yIGZvc3RlcmluZyBjcmVhdGl2aXR5IGFuZCBpbm5vdmF0aW9uIGluIHNjaWVuY2Ugd2FzIGluc3BpcmluZy4gT24gYSB0ZWNobmljYWwgbGV2ZWwsIHRoZWlyIGFkdmljZSBvbiBjZWxsIGN1bHR1cmUgd2FzIGluY3JlZGlibHkgcHJhY3RpY2FsIGFuZCBpbW1lZGlhdGVseSB1c2VmdWwuIERyLiBOaWtoaWwgQmhhcnRpIGV4cGxhaW5lZCBob3cgdGhleSBoYW5kbGUgQ0ZCRTQxby0gY2VsbHMgYW5kIEFMSSAoYWlyLWxpcXVpZCBpbnRlcmZhY2UpIGNlbGwgY3VsdHVyZS4gVGhpcyBhZHZpY2UgZGlyZWN0bHkgYWRkcmVzc2VkIHRoZSBjaGFsbGVuZ2VzIHdlXHUyMDE5dmUgZmFjZWQgaW4gb3VyIG93biBsYWIsIGdpdmluZyB1cyBhIG1ldGhvZCB0byBpbXByb3ZlIG91ciBjZWxsIGN1bHR1cmUgc3VjY2VzcyByYXRlcy4gRHVyaW5nIG91ciBpbnRlcnZpZXcgd2l0aCBQcm9mLiBEci4gWm95YSBJZ25hdG92YSBhbmQgRHIuIE5pa2hpbCBCaGFydGksIHRoZWlyIGlubm92YXRpdmUgYXBwcm9hY2ggdG8gY3lzdGljIGZpYnJvc2lzIChDRikgdGhlcmFweSwgcGFydGljdWxhcmx5IFwicmVhZC10aHJvdWdoXCIgYW5kIHRSTkEtYmFzZWQgdGhlcmFwaWVzLCBzdG9vZCBvdXQuIFwiUmVhZC10aHJvdWdoXCIgdGhlcmFwaWVzIGFpbSB0byBieXBhc3MgcHJlbWF0dXJlIHN0b3AgY29kb25zIHRoYXQgcHJldmVudCBmdWxsIHByb3RlaW4gcHJvZHVjdGlvbiwgb2ZmZXJpbmcgYSB3YXkgdG8gcmVzdG9yZSB0aGUgZnVuY3Rpb24gb2YgY3JpdGljYWwgcHJvdGVpbnMgbGlrZSBDRlRSIGluIENGLiBUaGlzIGFwcHJvYWNoIGhhcyB0aGUgcG90ZW50aWFsIHRvIHRyZWF0IGEgYnJvYWQgcmFuZ2Ugb2YgZ2VuZXRpYyBkaXNlYXNlcyBjYXVzZWQgYnkgc2ltaWxhciBtdXRhdGlvbnMuIFRoZSB0Uk5BLWJhc2VkIHRoZXJhcHkgaXMgZXZlbiBtb3JlIHByZWNpc2UsIHRhcmdldGluZyBtUk5BIHRvIGNvcnJlY3QgZmF1bHR5IGNvZG9ucyB3aXRob3V0IGFsdGVyaW5nIHRoZSBETkEsIG1ha2luZyBpdCBzYWZlciBmb3IgbG9uZy10ZXJtIHVzZS4gVGhpcyBmbGV4aWJpbGl0eSwgYWxvbmcgd2l0aCB0aGUgYWJpbGl0eSB0byBhcHBseSB0aGVzZSB0aGVyYXBpZXMgYmV5b25kIENGLCBicm9hZGVuZWQgb3VyIHVuZGVyc3RhbmRpbmcgb2YgaG93IHN1Y2ggc3RyYXRlZ2llcyBjYW4gcmV2b2x1dGlvbml6ZSB0cmVhdG1lbnRzIGZvciBnZW5ldGljIGRpc29yZGVycy5JZ25hdG92YSBoaWdobGlnaHRlZCwgdGhhdCB1c2luZyBjZWxsIG1vZGVscyBjbG9zZWx5IHJlc2VtYmxpbmcgcHJvcGVydGllcyBvZiB0aGUgY2VsbCB0eXBlcyB0YXJnZXRlZCBieSBvdXIgdGhlcmFweSBpcyBpbXBvcnRhbnQgZm9yIGVuc3VyaW5nIGFwcGxpY2FiaWxpdHkgb2Ygb3VyIGFwcHJvYWNoIHRvIHBhdGllbnQgY2VsbHMgYW5kIGl0cyBzYWZldHkuIEEga2V5IGZvY3VzIHRocm91Z2hvdXQgdGhlIGRpc2N1c3Npb24gd2FzIHNhZmV0eS4gUHJvZi4gSWduYXRvdmEgZW1waGFzaXplZCB0aGUgaW1wb3J0YW5jZSBvZiBlbnN1cmluZyB0aGF0IHRoZSB0aGVyYXBpZXMgYXJlIGhpZ2hseSBzcGVjaWZpYywgdGFyZ2V0aW5nIG9ubHkgdGhlIGRlZmVjdGl2ZSBjb2RvbnMgd2hpbGUgYXZvaWRpbmcgbmF0dXJhbCBzdG9wIGNvZG9ucyB0byBwcmV2ZW50IHVuY29udHJvbGxlZCBwcm90ZWluIHByb2R1Y3Rpb24uIE1vcmVvdmVyLCB0aGVpciBjYXJlZnVsIGNvbnNpZGVyYXRpb24gb2YgZGVsaXZlcnkgc3lzdGVtcyBmdXJ0aGVyIGRlbW9uc3RyYXRlZCB0aGVpciBjb21taXRtZW50IHRvIG1pbmltaXppbmcgcmlza3MgbGlrZSB0b3hpY2l0eSBpbiB1bmludGVuZGVkIG9yZ2Fucy4gVGhlaXIgbWV0aWN1bG91cyBhcHByb2FjaCB0byBzYWZldHkgaGFzIGluZmx1ZW5jZWQgaG93IHdlIHRoaW5rIGFib3V0IGRldmVsb3BpbmcgYW5kIGFwcGx5aW5nIHRoZXNlIHRoZXJhcGllcywgbWFraW5nIGl0IGNsZWFyIHRoYXQgZW5zdXJpbmcgcGF0aWVudCBzYWZldHkgaXMgYXMgY3JpdGljYWwgYXMgYWNoaWV2aW5nIHRoZXJhcGV1dGljIHN1Y2Nlc3MuPC9wPl0sXG4gICAgaW1wbGVtZW50YXRpb246IFwiUHJvZi4gSWduYXRvdmEncyBwcmFjdGljYWwgYWR2aWNlIG9uIGNlbGwgY3VsdHVyZSBoYWQgYSB0cmFuc2Zvcm1hdGl2ZSBpbXBhY3Qgb24gb3VyIHByb2plY3QuIEJ5IGFkb3B0aW5nIGhlciBtZXRob2QgZm9yIENGQkU0MW8tIGNlbGxzIGFuZCBpbXByb3Zpbmcgb3VyIGxhYidzIHN0ZXJpbGl6YXRpb24gcHJvdG9jb2xzLCB3ZSBzdWNjZXNzZnVsbHkgZXN0YWJsaXNoZWQgdGhlIGNlbGwgbGluZSBhbmQgc2lnbmlmaWNhbnRseSByZWR1Y2VkIHRoZSByaXNrIG9mIGNvbnRhbWluYXRpb24uIEluIGFkZGl0aW9uLCBoZXIgZW1waGFzaXMgb24gc2FmZXR5IGluIGdlbmUgdGhlcmFweSBndWlkZWQgdXMgdG8gcmV2aWV3IG91ciBQcmltZSBFZGl0aW5nIGNvbnN0cnVjdCBhbmQgbGlwaWQgbmFub3BhcnRpY2xlIChMTlApIGRlc2lnbi4gV2UgZm9jdXNlZCBvbiBtaW5pbWl6aW5nIHRveGljaXR5IGFuZCBvZmYtdGFyZ2V0IGVmZmVjdHMgd2hpbGUgZW5zdXJpbmcgcHJlY2lzZSB0YXJnZXRpbmcgb2YgbHVuZyB0aXNzdWVzIGFuZCB0aGUgRjUwOGRlbCBtdXRhdGlvbiBvZiB0aGUgQ0ZUUiBnZW5lLCBtYWtpbmcgb3VyIGFwcHJvYWNoIHNhZmVyIGFuZCBtb3JlIGVmZmljaWVudFwiLFxuICAgIHN1bW1hcnk6IFwiSW4gb3VyIGludGVydmlldyB3aXRoIFByb2YuIERyLiBab3lhIElnbmF0b3ZhIGFuZCBEci4gTmlraGlsIEJoYXJ0aSBmcm9tIHRoZSBJbnN0aXR1dGUgb2YgQmlvY2hlbWlzdHJ5IGFuZCBNb2xlY3VsYXIgQmlvbG9neSBhdCB0aGUgVW5pdmVyc2l0eSBvZiBIYW1idXJnLCB3ZSBhaW1lZCB0byBkZWVwZW4gb3VyIHVuZGVyc3RhbmRpbmcgb2YgdGhlaXIgcmVzZWFyY2ggb24gY3lzdGljIGZpYnJvc2lzIChDRikgYW5kIGV4cGxvcmUgYWRkaXRpb25hbCBtdXRhdGlvbnMuIFRoZWlyIGlubm92YXRpdmUgYXBwcm9hY2hlcywgcGFydGljdWxhcmx5IHRSTkEtYmFzZWQgdGhlcmFwaWVzLCBhaW0gdG8gcmVzdG9yZSB0aGUgZnVuY3Rpb24gb2YgcHJvdGVpbnMgbGlrZSBDRlRSIGJ5IGJ5cGFzc2luZyBwcmVtYXR1cmUgc3RvcCBjb2RvbnMsIHByZXNlbnRpbmcgcG90ZW50aWFsIHRyZWF0bWVudHMgZm9yIHZhcmlvdXMgZ2VuZXRpYyBkaXNlYXNlcy4gVGhleSBoaWdobGlnaHRlZCB0aGUgaW1wb3J0YW5jZSBvZiBwcmVjaXNpb24gaW4gdGhlcmFweSB0byBtaW5pbWl6ZSBzaWRlIGVmZmVjdHMgYW5kIGVuaGFuY2Ugc2FmZXR5LCBlbXBoYXNpemluZyBjYXJlZnVsIGRlbGl2ZXJ5IHN5c3RlbXMgdG8gYXZvaWQgdG94aWNpdHkuIFByb2YuIElnbmF0b3ZhJ3MgcHJhY3RpY2FsIGluc2lnaHRzIGludG8gY2VsbCBjdWx0dXJlIHRlY2huaXF1ZXMgc2lnbmlmaWNhbnRseSBpbXByb3ZlZCBvdXIgbGFiJ3Mgc3VjY2VzcyB3aXRoIENGQkU0MW8tIGNlbGxzLCBndWlkaW5nIHVzIHRvIGVuaGFuY2Ugc3RlcmlsaXphdGlvbiBwcm90b2NvbHMgYW5kIHJlZmluZSBvdXIgUHJpbWUgRWRpdGluZyBjb25zdHJ1Y3RzLiBUaGlzIHRyYW5zZm9ybWF0aXZlIGV4Y2hhbmdlIHVuZGVyc2NvcmVkIHRoZSBjcml0aWNhbCBiYWxhbmNlIGJldHdlZW4gYWNoaWV2aW5nIHRoZXJhcGV1dGljIHN1Y2Nlc3MgYW5kIGVuc3VyaW5nIHBhdGllbnQgc2FmZXR5LlwiLFxuICAgIGxhbmd1YWdlOiBcImVuXCIsXG4gICAgaW50ZXJ2aWV3OiA8PlxuICAgICAgPFFhQm94IHE9XCJXZSBoYXZlIGhlYXJkIHlvdSBhcmUgcGFzc2lvbmF0ZSBhYm91dCBpR0VNLiBXaGF0IGluc3BpcmVkIHlvdSB0byBnZXQgaW52b2x2ZWQsIGFuZCB3aGF0IGhhcyB5b3VyIGV4cGVyaWVuY2UgYmVlbiBsaWtlIHdpdGggdGhlIGNvbXBldGl0aW9uP1wiIGE9XCJNeSBqb3VybmV5IHdpdGggaUdFTSBiZWdhbiB3aGVuIEkgbW92ZWQgdG8gSGFtYnVyZyBpbiAyMDE0LiBCYWNrIHRoZW4sIEhhbWJ1cmcgZGlkIG5vdCBoYXZlIGl0cyBvd24gaUdFTSB0ZWFtLiBEZXNwaXRlIEhhbWJ1cmcgbGFja2luZyBhbiBpR0VNIHByZXNlbmNlLCB0aGVyZSB3ZXJlIG1vdGl2YXRlZCBzdHVkZW50cyB3aG8gd2VyZSBlYWdlciB0byBlc3RhYmxpc2ggYSB0ZWFtLiBXZSBzdGFydGVkIHF1aXRlIGxhdGUgd2l0aCBtZSBhcyBhIHByaW5jaXBhbCBpbnN0cnVjdG9yLCBhcm91bmQgQXByaWwsIHdpdGggdGhlIGNvbXBldGl0aW9uIHNjaGVkdWxlZCBmb3IgT2N0b2Jlciwgc28gd2UgaGFkIGxpbWl0ZWQgdGltZS4gSG93ZXZlciwgd2UgbWFuYWdlZCB0byBmb3JtIGEgdGVhbSBhbmQgcGFydGljaXBhdGUuIEZvcnR1bmF0ZWx5LCB3ZSB3ZXJlIHN1Y2Nlc3NmdWwgaW4gY29udmluY2luZyB0aGUgdW5pdmVyc2l0eSBhZG1pbmlzdHJhdGlvbiB0byBlc3RhYmxpc2ggYSBzdGVhZHkgc3VwcG9ydCBmb3IgdGhlIGluaXRpYXRpdmUsIHdoaWNoIGVuc3VyZWQgc3RhYmxlIGZ1bmRpbmcsIGluY2x1ZGluZyBjb3ZlcmluZyByZWdpc3RyYXRpb24gZmVlcyBlYXJseSBvbi4gVGhpcyBmaW5hbmNpYWwgYW5kIGxvZ2lzdGljYWwgc3VwcG9ydCBnYXZlIHRoZSB0ZWFtIHRoZSBzZWN1cml0eSB0byBmb2N1cyBvbiB0aGVpciBwcm9qZWN0cy4gT3ZlciB0aGUgeWVhcnMsIHRoZSBIYW1idXJnIGlHRU0gdGVhbSBoYXMgYmVjb21lIGEgd2VsbC1rbm93biBhbmQgcmVzcGVjdGVkIGdyb3VwIGF0IHRoZSB1bml2ZXJzaXR5LiBJdCBpcyBhIGNyZWF0aXZlIGVudmlyb25tZW50IHdoZXJlIHN0dWRlbnRzIGNhbiBwdXNoIHRoZSBib3VuZGFyaWVzIG9mIHNjaWVuY2UgdGhyb3VnaCBpbnRlcmVzdGluZyBhbmQgaW1wYWN0ZnVsIHByb2plY3RzLiBJIG1vdmVkIG9uIHRvIG90aGVyIGR1dGllcyBhZnRlciBzZXZlcmFsIHllYXJzIG9mIHN1cGVydmlzaW9uLCBidXQgSSBhbSBwcm91ZCB0byBoYXZlIHBsYXllZCBhIHJvbGUgaW4gaXRzIGZvdW5kYXRpb24uIFRoZSB1bml2ZXJzaXR5IGhhcyByZWNvZ25pemVkIGlHRU0gd2l0aGluIHRoZSBjdXJyaWN1bHVtIG9mIE1vbGVjdWxhciBMaWZlIFNjaWVuY2UsIGFsbG93aW5nIHN0dWRlbnRzIHRvIGVhcm4gY3JlZGl0IHBvaW50cyBhbmQgaGF2ZSB0aGVpciB3b3JrIHJlZmxlY3RlZCBvbiB0aGVpciB0cmFuc2NyaXB0cy4gVGhpcyBhY2tub3dsZWRnbWVudCBmdXJ0aGVyIGluY2VudGl2aXplcyBzdHVkZW50cyBhbmQgZW5zdXJlcyB0aGF0IHRoZWlyIGVmZm9ydHMgYXJlIGZvcm1hbGx5IHJlY29nbml6ZWQuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2UgaGF2ZSBiZWVuIGhhdmluZyB0cm91YmxlIHdpdGggQ0ZCRTQxby0gY2VsbHMgbm90IGFkaGVyaW5nIHdlbGwuIEFueSBhZHZpY2U/XCIgYT1cIkNGQkU0MW8tIGNlbGxzIGNhbiBiZSB0cmlja3kgd2hlbiBpdCBjb21lcyB0byBhZGhlc2lvbiwgYnV0IHlvdSBkbyBub3QgbmVjZXNzYXJpbHkgbmVlZCB0byBjb2F0IHlvdXIgY2VsbCBjdWx0dXJlIHZlc3NlbHMgd2l0aCBmaWJyb25lY3RpbiB1bmxlc3MgeW91IGFyZSBkb2luZyB2ZXJ5IHNwZWNpZmljIHN0dWRpZXMsIHN1Y2ggYXMgcHJpbWFyeSBjdWx0dXJlIGNvbXBhcmlzb25zLiBGb3Igc2VlZGluZywgd2Ugc2ltcGxpZnkgdGhlIHByb2Nlc3MgYnkgc2tpcHBpbmcgdGhlIFBCUyB3YXNoaW5nIHN0ZXAuIEluc3RlYWQsIHdlIHNlZWQgdGhlIGNlbGxzIGRpcmVjdGx5IGludG8gRE1FTSBzdXBwbGVtZW50ZWQgd2l0aCAxMCUgZmV0YWwgY2FsZiBzZXJ1bSAoRkNTKSBhbmQgc3RyZXB0b215Y2luLiBUaGVzZSBjZWxscyBtYXkgdGFrZSBhIGZldyBkYXlzIHRvIHJlY292ZXIgYW5kIGJlZ2luIGFkaGVyaW5nIHByb3Blcmx5LCB0aGF0IHVzdWFsbHkgd29ya3Mgd2l0aG91dCByZXF1aXJpbmcgZXh0cmEgY29hdGluZ3MuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiSG93IGRvIHlvdSBtYW5hZ2UgZnVuZ2FsIGNvbnRhbWluYXRpb24gaW4gQUxJIGN1bHR1cmVzP1wiIGE9XCJGdW5nYWwgY29udGFtaW5hdGlvbiBpcyBvbmUgb2YgdGhlIG1vcmUgZnJ1c3RyYXRpbmcgY2hhbGxlbmdlcyBpbiBjZWxsIGN1bHR1cmUgYmVjYXVzZSBpdCBpcyBkaWZmaWN1bHQgdG8gZWxpbWluYXRlIG9uY2UgaXQgdGFrZXMgcGxhY2UuIEluIGNhc2VzIG9mIGNvbnRhbWluYXRpb24sIHRoZSBiZXN0IGNvdXJzZSBvZiBhY3Rpb24gaXMgdG8gc2h1dCBkb3duIGFsbCBvbmdvaW5nIGNlbGwgY3VsdHVyZSB3b3JrIGFuZCBjbGVhbiBldmVyeXRoaW5nIHRob3JvdWdobHkuIFlvdSBzaG91bGQgc3RhcnQgYnkgcnVubmluZyBhIHN0ZXJpbGl6YXRpb24gY3ljbGUgaW4geW91ciBpbmN1YmF0b3JzLCB3aGljaCBpZGVhbGx5IHNob3VsZCByZWFjaCBhcm91bmQgMTgwXHUwMEIwQy4gVGhpcyBzaG91bGQga2lsbCBhbnkgZnVuZ2FsIHNwb3Jlcy4gSWYgeW91ciBpbmN1YmF0b3JzIGRvIG5vdCBoYXZlIHRoYXQgY2FwYWJpbGl0eSwgeW91IHdpbGwgbmVlZCB0byBhdXRvY2xhdmUgZXZlcnl0aGluZyBhbmQgY2xlYW4gYWxsIHN1cmZhY2VzIGFuZCBlcXVpcG1lbnQgbXVsdGlwbGUgdGltZXMgd2l0aCBldGhhbm9sLiBJdCBpcyBjcnVjaWFsIHRvIHJlbW92ZSBhbGwgdHJhY2VzIG9mIGNvbnRhbWluYXRpb24sIGFzIGZ1bmdhbCBzcG9yZXMgY2FuIHNwcmVhZCByYXBpZGx5LiBUaGUga2V5IGlzIHByZXZlbnRpb24gdGhyb3VnaCByaWdvcm91cyBjbGVhbmluZyBhbmQgbWFpbnRlbmFuY2UgcHJvdG9jb2xzLCBhbmQgdW5mb3J0dW5hdGVseSwgc29tZXRpbWVzIHRoZSBvbmx5IHNvbHV0aW9uIGlzIHRvIHN0YXJ0IGZyZXNoIHdpdGggbmV3IGN1bHR1cmVzIGFmdGVyIGEgZnVsbCBkZWNvbnRhbWluYXRpb24gcm91bmQuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBhcmUgeW91IGN1cnJlbnRseSByZXNlYXJjaGluZz9cIiBhPVwiT3VyIHByaW1hcnkgcmVzZWFyY2ggZm9jdXMgaXMgb24gZ2VuZXRpYyBkaXNlYXNlcyBjYXVzZWQgYnkgbm9uc2Vuc2UgbXV0YXRpb25zLCBhbHNvIGtub3duIGFzIHByZW1hdHVyZSB0ZXJtaW5hdGlvbiBjb2RvbnMgKFBUQ3MpLiBXaGlsZSBjeXN0aWMgZmlicm9zaXMgKENGKSBpcyBhIG1ham9yIGFyZWEgb2YgaW50ZXJlc3QgZHVlIHRvIGl0cyBoaWdoIHByZXZhbGVuY2UgYW5kIHRoZSBpbXBhY3Qgb2Ygc3BlY2lmaWMgbXV0YXRpb25zIGxpa2UgdGhlIEY1MDhkZWwsIG91ciByZXNlYXJjaCBleHRlbmRzIGZhciBiZXlvbmQgQ0YuIFdlIGFyZSB0YXJnZXRpbmcgYSBicm9hZGVyIGNhdGVnb3J5IG9mIGdlbmV0aWMgZGlzZWFzZXMgdGhhdCBzaGFyZSBhIGNvbW1vbiBmZWF0dXJlXHUyMDE0ZWFybHkgc3RvcCBjb2RvbnMgdGhhdCBsZWFkIHRvIHByb2R1Y3Rpb24gb2YgdHJ1bmNhdGVkIHByb3RlaW5zLCB3aGljaCBhcmUgbm9uLWZ1bmN0aW9uYWwuIEluIENGLCBmb3IgaW5zdGFuY2UsIG91ciBtYWluIGdvYWwgaXMgdG8gcmVzdG9yZSBmdWxsLWxlbmd0aCBDRlRSIHByb3RlaW4gcHJvZHVjdGlvbiBpbiBwcmltYXJ5IHBhdGllbnQtZGVyaXZlZCBjZWxscyBiZWFyaW5nIHZhcmlvdXMgUFRDcy4gT25lIGFwcHJvYWNoIHdlIGFyZSBleHBsb3JpbmcgaXMga25vd24gYXMgYSAncmVhZC10aHJvdWdoJyB0aGVyYXB5LCB3aGljaCBpbnZvbHZlcyBieXBhc3NpbmcgdGhlIHByZW1hdHVyZSBzdG9wIGNvZG9uIHNvIHRoYXQgdGhlIGNlbGwgY2FuIGNvbnRpbnVlIHByb2R1Y2luZyB0aGUgZnVsbCBwcm90ZWluLiBUaGlzIHN0cmF0ZWd5IGlzIGFwcGxpY2FibGUgbm90IG9ubHkgdG8gQ0YgYnV0IGNhbiBiZSB1c2VkIGluIG1hbnkgb3RoZXIgZ2VuZXRpYyBkaXNvcmRlcnMgY2F1c2VkIGJ5IG5vbnNlbnNlIG11dGF0aW9ucy4gQnJpZWZseSwgdGhlIHJlYWQtdGhyb3VnaCB0aGVyYXBpZXMgd2UgZGV2ZWxvcCBhcmUgdFJOQS1iYXNlZCB0aGVyYXBldXRpYyBhcHByb2FjaGVzLCBpbiB3aGljaCB3ZSBkZXNpZ24gc3VwcHJlc3NvciB0cmFuc2ZlciBSTkFzIChzdXAtdFJOQXMpIHRvIHNlbGVjdGl2ZWx5IHRhcmdldCBhbmQgcmVhZCB0aHJvdWdoIFBUQ3MsIHJlc3RvcmluZyB0aGUgcHJvZHVjdGlvbiBvZiBmdWxsLWxlbmd0aCBkaXNlYXNlIHByb3RlaW4gd2l0aG91dCBhbHRlcmluZyB0aGUgbmF0dXJhbCB0ZXJtaW5hdGlvbiBjb2RvbnMuIEl0IGlzIGEgaGlnaGx5IHNwZWNpZmljIGFuZCBzYWZlIG1ldGhvZCwgYW5kIGJlY2F1c2Ugd2UgYXJlIHRhcmdldGluZyBtUk5BIHJhdGhlciB0aGFuIEROQSwgaXQgYWxsb3dzIGZvciB0ZXJtaW5hdGluZyB0aGUgdGhlcmFwaWVzIGJ5IGFueSB1bmZvcmVzZWVuIHNpZGUgZWZmZWN0cy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IGFyZSB5b3VyIGRvd25zdHJlYW0gdmFsaWRhdGlvbiBtZXRob2RzP1wiIGE9XCJBZnRlciB3ZSBoYXZlIGRldmVsb3BlZCBhIHRoZXJhcGV1dGljIGFwcHJvYWNoLCB0aGUgZmlyc3Qgc3RlcCBpcyB0byB2YWxpZGF0ZSB3aGV0aGVyIGl0IHdvcmtzIGF0IHRoZSBwcm90ZWluIGxldmVsLiBGaXJzdCwgd2UgY2hlY2sgd2hldGhlciB0aGUgZnVsbC1sZW5ndGggcHJvdGVpbiBpcyBiZWluZyBwcm9kdWNlZC4gRm9yIENGVFIsIGZvciBleGFtcGxlLCB3ZSBsb29rIGF0IHdoZXRoZXIgdGhlIHByb3RlaW4gaXMgYmVpbmcgY29ycmVjdGx5IHN5bnRoZXNpemVkLiBXZSBhbHNvIGNvbmR1Y3QgZnVuY3Rpb25hbCB0ZXN0cyB0byBlbnN1cmUgaXRzIGZ1bmN0aW9uYWxpdHkuIEZvciBDRlRSIHNwZWNpZmljYWxseSwgd2UgdGVzdCB0aGUgYWN0aXZpdHkgb2YgdGhlIGlvbiBjaGFubmVsIGJ5IG1lYXN1cmluZyBpb24gZmxvdyB0aHJvdWdoIHRoZSBjZWxsIG1lbWJyYW5lLiBBbm90aGVyIHRlc3QgaW52b2x2ZXMgbW9uaXRvcmluZyB0aGUgaGVpZ2h0IG9mIHRoZSBhaXItbGlxdWlkIGludGVyZmFjZSAoQUxJKSBjdWx0dXJlcywgd2hpY2ggcmVwb3J0cyBvbiB0aGUgaW9uaWMgYmFsYW5jZSBhY3Jvc3MgdGhlIG1lbWJyYW5lLiBUaGVzZSBmdW5jdGlvbmFsIHRlc3RzIGFyZSBjcnVjaWFsIGZvciBjb25maXJtaW5nIHRoYXQgdGhlIHRoZXJhcHkgaXMgbm90IG9ubHkgbGVhZGluZyB0byBhIHByb2R1Y3Rpb24gb2YgdGhlIHByb3RlaW4gYnV0IGlzIGFsc28gcmVzdG9yaW5nIGl0cyBmdW5jdGlvbi5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIb3cgb2Z0ZW4gd291bGQgcGF0aWVudHMgbmVlZCB0byB1bmRlcmdvIHRoaXMgdGhlcmFweT9cIiBhPVwiU2luY2Ugb3VyIGFwcHJvYWNoIGlzIGRlc2lnbmVkIHRvIGNvcnJlY3Qgbm9uc2Vuc2UgbXV0YXRpb25zIGR1cmluZyB0cmFuc2xhdGlvbiB0aGUgdGhlcmFweSB3b3VsZCBuZWVkIHRvIGJlIGFkbWluaXN0ZXJlZCBwZXJpb2RpY2FsbHkuIEJhc2VkIG9uIG91ciBjdXJyZW50IHVuZGVyc3RhbmRpbmcsIHdlIGFudGljaXBhdGUgdGhhdCBwYXRpZW50cyBtaWdodCBuZWVkIHRyZWF0bWVudCBldmVyeSB0aHJlZSB0byBmb3VyIHdlZWtzLCBidXQgdGhpcyBoYXMgdG8gYmUgZGV0ZXJtaW5lZCBpbiBjbGluaWNhbCBzZXR0aW5ncy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIb3cgZG9lcyB5b3VyIHRSTkEtYmFzZWQgYXBwcm9hY2ggYWRkcmVzcyBzYWZldHkgaXNzdWVzP1wiIGE9XCJTYWZldHkgaXMgdGhlIHRvcCBwcmlvcml0eSBvZiBvdXIgdFJOQS1iYXNlZCB0aGVyYXBldXRpYyBhcHByb2FjaC4gQXQgbW9sZWN1bGFyIGxldmVsLCB3ZSBlbnN1cmUgdGhhdCB0aGUgc3VwcHJlc3NvciB0Uk5BcyB3ZSB1c2UgYXJlIGhpZ2hseSBzcGVjaWZpY1x1MjAxNHRoZXkgYXJlIGVuZ2luZWVyZWQgdG8gdGFyZ2V0IG9ubHkgUFRDcyB3aXRob3V0IGFmZmVjdGluZyBuYXR1cmFsIHN0b3AgY29kb25zLCB3aGljaCBhcmUgZXNzZW50aWFsIGZvciB0ZXJtaW5hdGluZyB0aGUgc3ludGhlc2lzIG9mIGV2ZXJ5IHByb3RlaW4uIEluIGFkZGl0aW9uIHRvIHRoZSBzcGVjaWZpY2l0eSwgd2UgYWRkcmVzcyB0aGUgaW1tdW5lIHJlc3BvbnNlIHRoYXQgY2FuIGJlIHRyaWdnZXJlZCBieSBhbnkgbnVjbGVpYyBhY2lkcywgaW5jbHVkaW5nIHRSTkEuIEdlbmVyYWxseSwgdFJOQSBoYXMgYSBsb3dlciBpbW11bm9nZW5pY2l0eSB0aGFuIG90aGVyIG1vbGVjdWxlcywgc3VjaCBhcyBtUk5BLCBiZWNhdXNlIG9mIGl0cyBwYXJ0aWFsbHkgZG91YmxlLXN0cmFuZGVkIHN0cnVjdHVyZSwgd2hpY2ggcmVkdWNlcyB0aGUgYWN0aXZhdGlvbiBvZiB0aGUgaW5uYXRlIGltbXVuZSByZWFjdGlvbi4gQW5vdGhlciBjcml0aWNhbCBzYWZldHkgYXNwZWN0IGlzIHRoZSBzYWZldHkgb2YgdGhlIGRlbGl2ZXJ5IHN5c3RlbS4gV2UgbmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgdFJOQSByZWFjaGVzIHRoZSByaWdodCB0eXBlIG9mIGNlbGxzIHdpdGhvdXQgY2F1c2luZyB0b3hpY2l0eSBvciBhY2N1bXVsYXRpbmcgaW4gdW50YXJnZXRlZCB0aXNzdWVzIGxpa2UgdGhlIGxpdmVyLCB3aGljaCBpcyBhIGNvbW1vbiBpc3N1ZSB3aXRoIG1hbnkgZ2VuZSB0aGVyYXBpZXMuIFdlIGFyZSBhbHNvIHdvcmtpbmcgb24gb3B0aW1pemluZyBvdXIgZGVsaXZlcnkgbWV0aG9kcy4gVGhpcyBwcmVjaXNpb24gaXMga2V5IHRvIG1pbmltaXppbmcgc2lkZSBlZmZlY3RzIGFuZCBlbnN1cmluZyB0aGUgc2FmZXR5IG9mIG91ciB0aGVyYXB5LlwiIC8+XG4gICAgICA8UWFCb3ggcT1cIldoeSBmb2N1cyBvbiBDRiByZXNlYXJjaD9cIiBhPVwiT3VyIGludm9sdmVtZW50IHdpdGggQ0YgcmVzZWFyY2ggZW1lcmdlZCBzb21ld2hhdCBieSBjaGFuY2UuIEluaXRpYWxseSwgd2Ugd2VyZSBkZWVwbHkgaW50ZXJlc3RlZCBpbiB1bmRlcnN0YW5kaW5nIHRoZSB2YXJpYWJpbGl0eSBpbiBkaXNlYXNlLCBzcGVjaWZpY2FsbHkgd2h5IGluZGl2aWR1YWxzIHdpdGggdGhlIHNhbWUgZ2VuZXRpYyBtdXRhdGlvbnMgc2hvdyBkaWZmZXJlbnQgc3ltcHRvbXMgb3IgcHJlc2VudCBkaWZmZXJlbnQgZGlzZWFzZSBzZXZlcml0eS4gRXZlbiBzaWJsaW5ncyBvciB0d2lucyB3aXRoIHVzdWFsbHkgc2ltaWxhciBnZW5ldGljIG1ha2V1cCBleGhpYml0IGRpZmZlcmVudCBkaXNlYXNlIG91dGNvbWVzLiBDRiBiZWNhbWUgYSBmb2N1cyBhcyB3ZSBkZWx2ZWQgaW50byB0aGUgbW9sZWN1bGFyIG1lY2hhbmlzbSBvZiBDRlRSIGJpb3N5bnRoZXNpcy4gSG93ZXZlciwgb3VyIHdvcmsgaXMgbm90IGNvbmZpbmVkIHRvIENGXHUyMDE0d2UgYXJlIHVzaW5nIHRoZSBrbm93bGVkZ2Ugd2UgZ2FpbiBmcm9tIENGIHJlc2VhcmNoIGFuZCBvdXIgZXhwZXJ0aXNlIGluIHByb3RlaW4gc3ludGhlc2lzIGFuZCB0cmFuc2xhdGlvbiB0byBkZXZlbG9wIHRyZWF0bWVudHMgZm9yIG90aGVyIGdlbmV0aWMgZGlzZWFzZXMgY2F1c2VkIGJ5IG5vbnNlbnNlIG11dGF0aW9ucy4gVGhlIG1lY2hhbmlzbXMgYmVoaW5kIHRoZXNlIGRpc2Vhc2VzIGFyZSBvZnRlbiBzaW1pbGFyLCBzbyB0aGUgdGhlcmFwZXV0aWMgc3RyYXRlZ2llcyB3ZSBhcmUgZXhwbG9yaW5nIGNhbiBwb3RlbnRpYWxseSBiZSBhcHBsaWVkIHRvIGEgcmFuZ2Ugb2YgY29uZGl0aW9ucy5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJXaGF0IGRvIHlvdSBzZWUgYXMgdGhlIGJpZ2dlc3QgY2hhbGxlbmdlIGluIHRyYW5zbGF0aW5nIHlvdXIgcmVzZWFyY2ggdG8gcmVhbC13b3JsZCBhcHBsaWNhdGlvbnM/XCIgYT1cIlNhZmV0eSBpcyB0aGUgbW9zdCBjcml0aWNhbCBodXJkbGUgaW4gdHJhbnNsYXRpbmcgb3VyIHJlc2VhcmNoIGZyb20gdGhlIGxhYiB0byBjbGluaWNhbCBhcHBsaWNhdGlvbnMuIEJlZm9yZSBhbnkgdGhlcmFweSBjYW4gYmUgY29uc2lkZXJlZCBmb3IgaHVtYW4gdXNlLCB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzIGJvdGggc2FmZSBhbmQgZWZmZWN0aXZlLiBJbiB0ZXJtcyBvZiBlZmZpY2FjeSwgd2UgaGF2ZSBzcGVjaWZpYyB0YXJnZXRzIHdlIG5lZWQgdG8gbWVldCBmb3IgZWFjaCBkaXNlYXNlLiBGb3IgQ0YsIGZvciBleGFtcGxlLCB5b3Ugb25seSBuZWVkIHRvIHJlc3RvcmUgYWJvdXQgMTAlIG9mIG5vcm1hbCBDRlRSIHByb3RlaW4gZnVuY3Rpb24gdG8gYWxsZXZpYXRlIHRoZSBzeW1wdG9tcy4gSG93ZXZlciwgaW4gb3RoZXIgZGlzZWFzZXMsIHRoZSB0aGVyYXBldXRpYyB0aHJlc2hvbGQgaXMgbXVjaCBoaWdoZXIsIHNvbWV0aW1lcyByZXF1aXJpbmcgbmVhci1jb21wbGV0ZSBwcm90ZWluIHJlc3RvcmF0aW9uLiBBbm90aGVyIHNpZ25pZmljYW50IGNoYWxsZW5nZSBpcyB0aGUgc21hbGwgbnVtYmVyIG9mIHBhdGllbnRzIGFmZmVjdGVkIGJ5IG1hbnkgcmFyZSBnZW5ldGljIGRpc2Vhc2VzLCB3aGljaCByZXF1aXJlcyByZWd1bGF0aW9uIGJvZGllcyB0byBjb25zaWRlciB0aGlzIGFuZCByZWRlZmluZSBjb25kaXRpb25zIGZvciBjbGluaWNhbCB0cmlhbHMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBhcmUgZ29vZCBwcmVjbGluaWNhbCBtb2RlbHMgZm9yIENGIHJlc2VhcmNoLCBpbiB5b3VyIHZpZXc/XCIgYT1cIlByZWNsaW5pY2FsIG1vZGVscyBhcmUgZXNzZW50aWFsIGZvciB0ZXN0aW5nIHRoZSBzYWZldHkgYW5kIGVmZmljYWN5IG9mIGFueSBuZXcgdGhlcmFweS4gRm9yIENGIHJlc2VhcmNoLCBvbmUgb2YgdGhlIG1vc3QgcmVsaWFibGUgbW9kZWxzIGlzIHRoZSBwYXRpZW50LWRlcml2ZWQgYWlyLWxpcXVpZCBpbnRlcmZhY2UgKEFMSSkgY3VsdHVyZXMsIHdoaWNoIHJlcGxpY2F0ZSB0aGUgbHVuZyBlbnZpcm9ubWVudCBhbmQgYXJlIG11dGF0aW9uLXNwZWNpZmljLiBQcmltYXJ5IGN1bHR1cmVzIGFyZSBhdmFpbGFibGUgdGhyb3VnaCB0aGUgQ0YgRm91bmRhdGlvbiAoVVNBKSBhbmQgYWxsb3cgcmVzZWFyY2hlcnMgdG8gdGVzdCB0aGVyYXBpZXMgaW4gYSBjb250ZXh0IHRoYXQgY2xvc2VseSBtaW1pY3MgdGhlIGh1bWFuIGx1bmcuIFdoaWxlIEFMSSBjdWx0dXJlcyBhcmUgZXhjZWxsZW50IG1vZGVscywgdGhleSBhcmUgYWxzbyBjaGFsbGVuZ2luZyB0byBncm93IGFuZCByZXF1aXJlIGFib3V0IHR3byBtb250aHMgdG8gYmUgc2V0IHVwIHByb3Blcmx5LiBGb3IgZWFybGllci1zdGFnZSBleHBlcmltZW50cywgd2Ugb2Z0ZW4gdXNlIHNpbXBsZXIgY2VsbCBsaW5lcyB0aGF0IGFyZSBlYXNpZXIgdG8gaGFuZGxlLiBUaGVzZSBsaW5lcyBhbGxvdyB1cyB0byBwZXJmb3JtIHN0dWRpZXMgYXQgbW9sZWN1bGFyIGxldmVsLCBzdWNoIGFzIHRlc3RpbmcgaG93IHdlbGwgYSB0aGVyYXB5IHJlc3RvcmVzIHByb3RlaW4gcHJvZHVjdGlvbi4gV2hpbGUgdGhleSBkbyBub3QgZnVsbHkgcmVwcmVzZW50IHRoZSBwcmltYXJ5IGVwaXRoZWxpYWwgZW52aXJvbm1lbnQgb2YgdGhlIGx1bmdzLCB0aGV5IGFyZSB1c2VmdWwgZm9yIGluaXRpYWwgdmFsaWRhdGlvbiBzdGVwcyBiZWZvcmUgbW92aW5nIG9uIHRvIG1vcmUgY29tcGxleCBtb2RlbHMgbGlrZSBBTEkgY3VsdHVyZXMuXCIgLz5cbiAgICAgIDxRYUJveCBxPVwiV2hhdCBhcmUgeW91ciB0aG91Z2h0cyBvbiB1c2luZyBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSB2ZXJzdXMgb3RoZXIgZGVsaXZlcnkgc3lzdGVtcywgbGlrZSBBQVYgdmVjdG9ycz9cIiBhPVwiTGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykgYXJlIGEgcHJvbWlzaW5nIGRlbGl2ZXJ5IHN5c3RlbSBmb3IgbWFueSBnZW5ldGljIHRoZXJhcGllcywgYnV0IHRoZXkgaGF2ZSBsaW1pdGF0aW9ucy4gV2hpbGUgTE5QcyBjYW4gZWZmZWN0aXZlbHkgdGFyZ2V0IGNlcnRhaW4gb3JnYW5zLCBzdWNoIGFzIHRoZSBsdW5ncyBhbmQgbGl2ZXIsIHRoZXkgY2Fubm90IGNyb3NzIHRoZSBibG9vZC1icmFpbiBiYXJyaWVyIGFuZCB0aHVzIHVuc3VpdGFibGUgKGZvciBub3cpIHRvIHRhcmdldCBuZXVyb25hbCBwYXRob2xvZ2llcy4gRm9yIHRoZXNlIGNvbmRpdGlvbnMsIGFkZW5vLWFzc29jaWF0ZWQgdmlyYWwgKEFBVikgdmVjdG9ycyBtYXkgYmUgbW9yZSBlZmZlY3RpdmUsIGFzIHRoZXkgZXhoaWJpdCBhbiBpbmhlcmVudCBhYmlsaXR5IHRvIGNyb3NzIHRoZSBibG9vZC1icmFpbiBiYXJyaWVyLiBGb3IgQ0Ygc3BlY2lmaWNhbGx5LCB3ZSBoYXZlIHVzZWQgTE5QcyB0byBkZWxpdmVyIHN1cC10Uk5BcyBkaXJlY3RseSB0byB0aGUgbHVuZ3MuIFdlIHRlYW1lZCB1cCB3aXRoIGFuIFVTIGNvbXBhbnkgdGhhdCBkZXZlbG9wcyBzYWZlIExOUHMgdXNlZCBhbHNvIGZvciB2YWNjaW5lcy4gRGVsaXZlcnkgbWV0aG9kcyBsaWtlIGludHJhdHJhY2hlYWwgaW5zdGlsbGF0aW9uXHUyMDE0d2hlcmUgdGhlIExOUHMgYXJlIGludHJvZHVjZWQgaW50byB0aGUgdHJhY2hlYVx1MjAxNGFsbG93IGZvciB0YXJnZXRpbmcgdGhlIGx1bmcgdGlzc3VlIG1vcmUgZGlyZWN0bHksIHdoaWNoIGlzIGNyaXRpY2FsIGZvciB0cmVhdGluZyBDRi5cIiAvPlxuICAgICAgPFFhQm94IHE9XCJIb3cgZG8geW91IHZpZXcgcHJpbWUgZWRpdGluZyBjb21wYXJlZCB0byBvdGhlciBnZW5lIGVkaXRpbmcgdGVjaG5vbG9naWVzP1wiIGE9XCJQcmltZSBlZGl0aW5nIGlzIGFuIGV4Y2l0aW5nIGRldmVsb3BtZW50IGluIHRoZSBmaWVsZCBvZiBnZW5lIGVkaXRpbmcsIGJ1dCBpdCBpcyBpbXBvcnRhbnQgdG8gcmVjb2duaXplIHRoYXQgbm8gc2luZ2xlIGFwcHJvYWNoIGlzIHVuaXZlcnNhbGx5IHN1cGVyaW9yLiBUZWNobm9sb2dpZXMgbGlrZSBwcmltZSBlZGl0aW5nLCBDUklTUFItQ2FzLCBhbmQgb3VyIG93biB0Uk5BLWJhc2VkIHRoZXJhcGllcyBlYWNoIGhhdmUgdGhlaXIgc3RyZW5ndGhzIGFuZCBsaW1pdGF0aW9ucy4gRm9yIGluc3RhbmNlLCBwcmltZSBlZGl0aW5nIG9mZmVycyBhIGhpZ2hseSBwcmVjaXNlIG1ldGhvZCBmb3IgY29ycmVjdGluZyBtdXRhdGlvbnMgZGlyZWN0bHkgYXQgdGhlIEROQSBsZXZlbCwgcG90ZW50aWFsbHkgcHJvdmlkaW5nIGEgb25lLXRpbWUsIGxpZmVsb25nIGN1cmUuIEhvd2V2ZXIsIG91ciBhcHByb2FjaCwgd2hpY2ggZm9jdXNlcyBvbiByZXN0b3JpbmcgbVJOQSB0cmFuc2xhdGlvbiwgZG9lcyBub3QgaW50cm9kdWNlIHBlcm1hbmVudCBjaGFuZ2VzIHRvIHRoZSBnZW5vbWUgYW5kIHVuZm9yZXNlZW4sIGFsc28gaW5kaXZpZHV1bS1zcGVjaWZpYyBzaWRlIGVmZmVjdHMsIGNhbiBiZSBjb3VudGVyYWN0ZWQgYnkgaW1tZWRpYXRlIHRlcm1pbmF0aW9uIG9mIHRoZSB0aGVyYXB5LiBJbiB0dXJuLCBpdCByZXF1aXJlcyBjb250aW51b3VzIHJlLWFkbWluaXN0cmF0aW9uIG92ZXIgdGltZS4gVWx0aW1hdGVseSwgdGhlIHNhZmV0eSBhbmQgZWZmaWNhY3kgb2YgYW55IGFwcHJvYWNoIG11c3QgYmUgY2FyZWZ1bGx5IHdlaWdoZWQuIFdlIGFyZSBub3QgeWV0IGF0IGEgcG9pbnQgd2hlcmUgd2UgY2FuIGRlZmluaXRpdmVseSByYW5rIHRoZXNlIHRlY2hub2xvZ2llcyBiZWNhdXNlIHRoZSBmaWVsZCBpcyBzdGlsbCBldm9sdmluZy4gRWFjaCBhcHByb2FjaCBoYXMgcG90ZW50aWFsLCBhbmQgdGhlIGNob2ljZSBvZiB3aGljaCB0byB1c2Ugd2lsbCBsaWtlbHkgZGVwZW5kIG9uIHRoZSBzcGVjaWZpYyBkaXNlYXNlIGFuZCBtdXRhdGlvbiBiZWluZyB0YXJnZXRlZC5cIiAvPlxuICAgIDwvPixcbiAgICBtb250aHM6IFwiU2VwdGVtYmVyXCIsXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6IFwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL2ludGVydmlldy1pZ25hdG92YS9pbnRlcnZpZXctaW5nYXRvdmEud2VicCBcIixcbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiJ011a29EaW5vJ1wiLFxuICAgIG5hY2hubmFtZTogXCJUaG9tYXMgTWFsZW5rZSBcIixcbiAgICBqb2I6IFwiUGF0aWVudFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcImFuZCBDRiBBY3RpdmlzdFwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ211a29kaW5vJ10sXG4gICAgdGFnOiBcIlBhdGllbnRcIixcbiAgICBoZWFkaW5nOiBcIlNoYXBpbmcgQ0YgVGhlcmFwaWVzOiBMZXNzb25zIExlYXJuZWQgZnJvbSBQYXRpZW50cycgUmVhbC1Xb3JsZCBFeHBlcmllbmNlc1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImRpbm9cIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJMaXZpbmcgd2l0aCBjeXN0aWMgZmlicm9zaXMgaGFzIGJlZW4gYSBqb3VybmV5IG9mIHBlcnNldmVyYW5jZSBhbmQgYWRhcHRhdGlvbi4gRGVzcGl0ZSB0aGUgY2hhbGxlbmdlcywgSSd2ZSBsZWFybmVkIHRoYXQgdGFraW5nIHBlcnNvbmFsIHJlc3BvbnNpYmlsaXR5IGZvciBteSBoZWFsdGgsIHN0YXlpbmcgaW5mb3JtZWQsIGFuZCBlbWJyYWNpbmcgdGhlIGFkdmFuY2VtZW50cyBpbiByZXNlYXJjaCBjYW4gbGVhZCB0byBhIG11Y2gtaW1wcm92ZWQgcXVhbGl0eSBvZiBsaWZlLlwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPk91ciBnb2FsIGluIHJlYWNoaW5nIG91dCB0byBjeXN0aWMgZmlicm9zaXMgKENGKSBwYXRpZW50cyB3YXMgdG8gZ2FpbiBhIGZpcnN0aGFuZCB1bmRlcnN0YW5kaW5nIG9mIHRoZWlyIGRheS10by1kYXkgZXhwZXJpZW5jZXMgbGl2aW5nIHdpdGggdGhlIGNvbmRpdGlvbi4gV2UgYWltZWQgdG8gZXhwbG9yZSBob3cgcmVjZW50IGFkdmFuY2VtZW50cyBpbiB0cmVhdG1lbnRzIGhhdmUgaW1wYWN0ZWQgdGhlaXIgbGl2ZXMgYW5kIHRyYW5zZm9ybWVkIHRoZWlyIGFwcHJvYWNoIHRvIG1hbmFnaW5nIHRoZSBkaXNlYXNlLiBUaGlzIGluaXRpYXRpdmUgaXMgdml0YWwgZm9yIG91ciBwcm9qZWN0LCBhcyBpdCBoZWxwcyB1cyBjb21wcmVoZW5kIHRoZSBzaWduaWZpY2FuY2Ugb2YgdGhlc2UgdHJlYXRtZW50cyBhbmQgdGhlaXIgYnJvYWRlciBpbXBsaWNhdGlvbnMuIEEga2V5IGFzcGVjdCBvZiBvdXIgb3V0cmVhY2ggd2FzIHBhcnRuZXJpbmcgd2l0aCB0aGUgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vYWNjb3VudHMvbG9naW4vP25leHQ9aHR0cHMlM0ElMkYlMkZ3d3cuaW5zdGFncmFtLmNvbSUyRm11a29kaW5vJTJGJmlzX2Zyb21fcmxlXCIgPk11a29EaW5vPC9hPlxuICAgICAgd2hvIGhhcyBleHRlbnNpdmUgcmVhY2ggd2l0aGluIHRoZSBDRiBjb21tdW5pdHkuIFRoaXMgY29sbGFib3JhdGlvbiBlbmFibGVkIHVzIHRvIGRpc3RyaWJ1dGUgb3VyIHN1cnZleSB3aWRlbHkgYW1vbmcgdGhvc2UgYWZmZWN0ZWQsIGFzIHdlIHJlY29nbml6ZWQgdGhhdCB3ZSBjb3VsZCBub3QgY29uZHVjdCBhcyBtYW55IGludGVydmlld3MgYXMgd2UgY291bGQgcmVhY2ggdGhyb3VnaCB0aGUgc3VydmV5LiBXZSBhbHNvIHNvdWdodCB0byBnYXRoZXIgaW5zaWdodHMgb24gcmVzZWFyY2ggcHJpb3JpdGllcyBhbmQgdGhlIGZ1dHVyZSBkaXJlY3Rpb24gb2YgQ0YgdGhlcmFwaWVzLiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPkZyb20gdGFsa2luZyB3aXRoIHRoZSBDRiBwYXRpZW50LCB3ZSBnYWluZWQgc29tZSB2YWx1YWJsZSBpbnNpZ2h0cyB0aGF0IGhhdmUgc2hhcGVkIGhvdyB3ZSBtb3ZlIGZvcndhcmQgd2l0aCBvdXIgcHJvamVjdDogXG4gICAgICBGaXJzdGx5LCBoZWFyaW5nIGFib3V0IHRoZSBkYXktdG8tZGF5IGNoYWxsZW5nZXMgd2l0aCBjdXJyZW50IENGIHRyZWF0bWVudHMgd2FzIGV5ZS1vcGVuaW5nLiBJdCBoaWdobGlnaHRlZCBqdXN0IGhvdyBjcnVjaWFsIGl0IGlzIGZvciB1cyB0byBkZXZlbG9wIHRoZXJhcGllcyB0aGF0IGFyZSBub3Qgb25seSBlZmZlY3RpdmUgYnV0IGFsc28gbWFrZSBsaWZlIGVhc2llciBmb3IgcGF0aWVudHMuIFdlXHUyMDE5dmUgdGFrZW4gdGhpcyB0byBoZWFydCBhbmQgYXJlIHdvcmtpbmcgdG8gbWFrZSBvdXIgdHJlYXRtZW50IHByb2Nlc3MgYXMgZWZmaWNpZW50IGFuZCB1c2VyLWZyaWVuZGx5IGFzIHBvc3NpYmxlLiBcbiAgICAgIFRoZSBwYXRpZW50IGFsc28gdGFsa2VkIGFib3V0IHRoZSBoZWF2eSB0b2xsIHRoYXQgZXhpc3RpbmcgdHJlYXRtZW50cyBjYW4gdGFrZSwgYm90aCBpbiB0ZXJtcyBvZiB0aW1lIGFuZCBwaHlzaWNhbCBzdHJhaW4uIFRoaXMgZmVlZGJhY2sgaGFzIHB1c2hlZCB1cyB0byBmb2N1cyBvbiBzdHJlYW1saW5pbmcgb3VyIGFwcHJvYWNoLCBlc3BlY2lhbGx5IHdpdGggb3VyIHByaW1lIGVkaXRpbmcgYW5kIGluaGFsYXRpb24gdGhlcmFweS4gV2Ugd2FudCB0byBjdXQgZG93biBvbiB0aGUgY29tcGxleGl0eSBhbmQgZnJlcXVlbmN5IG9mIHRyZWF0bWVudHMsIG1ha2luZyB0aGluZ3Mgc2ltcGxlciBhbmQgbGVzcyBidXJkZW5zb21lIGZvciBwYXRpZW50cy4gXG4gICAgICBXZSBhbHNvIGxlYXJuZWQgYWJvdXQgdGhlIG9uZ29pbmcgbmVlZCBmb3IgbW9yZSBhZHZhbmNlZCB0aGVyYXBpZXMuIFRoZSBwYXRpZW50IHN0cmVzc2VkIHRoZSBpbXBvcnRhbmNlIG9mIGNvbnRpbnVpbmcgdG8gcHVzaCB0aGUgYm91bmRhcmllcyB3aXRoIG1vZHVsYXRvciB0aGVyYXBpZXMgYW5kIGdlbmUgZWRpdGluZy4gVGhpcyBoYXMgcmVhbGx5IGRyaXZlbiB1cyB0byBwcmlvcml0aXplIG91ciBzcHJheS1kcmllZCBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSBhcHByb2FjaCwgd2hpY2ggYWltcyB0byBkZWxpdmVyIGdlbmUtZWRpdGluZyB0b29scyBzdHJhaWdodCB0byB0aGUgbHVuZ3MsIHRhY2tsaW5nIHRoZSByb290IGNhdXNlIG9mIENGLiBcbiAgICAgIFRoZSBkaXNjdXNzaW9uIGFsc28gZ2F2ZSB1cyBhIGNsZWFyZXIgcGljdHVyZSBvZiB0aGUgZ2xvYmFsIGRpc3Bhcml0aWVzIGluIENGIGNhcmUuIEl0IGJlY2FtZSBldmlkZW50IHRoYXQgYWNjZXNzIHRvIGFkdmFuY2VkIHRyZWF0bWVudHMgdmFyaWVzIGEgbG90IGFyb3VuZCB0aGUgd29ybGQuIFRoaXMgaGFzIG1hZGUgdXMgdGhpbmsgYWJvdXQgaG93IHdlIGNhbiBzY2FsZSBvdXIgdGhlcmFweSB0byBiZSBtb3JlIGFjY2Vzc2libGUsIGV2ZW4gaW4gcGxhY2VzIHdpdGggZmV3ZXIgcmVzb3VyY2VzLiBcbiAgICAgIFRoZSBwYXRpZW50XHUyMDE5cyBwZXJzb25hbCBleHBlcmllbmNlcyB1bmRlcnNjb3JlZCB0aGUgbmVlZCBmb3IgdHJlYXRtZW50cyB0aGF0IGFyZSB0YWlsb3JlZCB0byBpbmRpdmlkdWFsIG5lZWRzLiBXZVx1MjAxOXJlIHVzaW5nIHRoaXMgaW5zaWdodCB0byBtYWtlIHN1cmUgb3VyIHRoZXJhcHkgY2FuIGJlIGFkYXB0ZWQgdG8gZGlmZmVyZW50IGdlbmV0aWMgbXV0YXRpb25zIGFuZCBwYXRpZW50IHJlc3BvbnNlcy4gXG4gICAgICBGaW5hbGx5LCB0aGVpciBlbXBoYXNpcyBvbiBlbnp5bWUgZGV2ZWxvcG1lbnQgYW5kIGdlbmUgdGhlcmFweSBoYXMgaW5mbHVlbmNlZCBvdXIgcmVzZWFyY2ggZm9jdXMuIFdlXHUyMDE5cmUgbm93IHByaW9yaXRpemluZyB0aGVzZSBhcmVhcyB0byBlbnN1cmUgb3VyIHdvcmsgYWRkcmVzc2VzIGJvdGggY3VycmVudCBuZWVkcyBhbmQgZnV0dXJlIHBvc3NpYmlsaXRpZXMgaW4gQ0YgdHJlYXRtZW50LiBcbiAgICAgIE92ZXJhbGwsIHRoZXNlIGluc2lnaHRzIGhhdmUgcmVhbGx5IGhlbHBlZCB1cyBhbGlnbiBvdXIgcHJvamVjdCB3aXRoIHRoZSByZWFsLXdvcmxkIG5lZWRzIG9mIENGIHBhdGllbnRzLCBtYWtpbmcgc3VyZSB0aGF0IHdoYXQgd2VcdTIwMTlyZSBkZXZlbG9waW5nIGlzIGJvdGggcHJhY3RpY2FsIGFuZCBpbXBhY3RmdWwuIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+V2UgaW5jb3Jwb3JhdGVkIHRoZSBDRiBwYXRpZW50XHUyMDE5cyBpbnNpZ2h0cyBpbnRvIG91ciBwcm9qZWN0IGJ5IG1ha2luZyBzZXZlcmFsIGtleSBhZGp1c3RtZW50cyB0byBiZXR0ZXIgYWxpZ24gd2l0aCB0aGUgcmVhbC13b3JsZCBuZWVkcyBvZiBDRiBwYXRpZW50cy4gVW5kZXJzdGFuZGluZyB0aGUgY2hhbGxlbmdlcyB0aGV5IGZhY2UgYW5kIHRoZSBpbXBhY3Qgb2YgY3VycmVudCB0cmVhdG1lbnRzIGhlbHBlZCB1cyByZWZpbmUgb3VyIGFwcHJvYWNoIHNpZ25pZmljYW50bHkuIFxuICAgICAgRmlyc3RseSwgd2UgZm9jdXNlZCBvbiBkZXZlbG9waW5nIHByaW1lIGVkaXRpbmcgdmlhIGluaGFsYXRpb24gdGhlcmFweSB3aXRoIHNwcmF5LWRyaWVkIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpLiBUaGlzIG1ldGhvZCBkaXJlY3RseSB0YXJnZXRzIGdlbmV0aWMgbXV0YXRpb25zIGluIHRoZSBsdW5ncywgYWRkcmVzc2luZyB0aGUgcGF0aWVudFx1MjAxOXMgbmVlZCBmb3IgbW9yZSBlZmZlY3RpdmUgYW5kIGxlc3MgaW52YXNpdmUgdHJlYXRtZW50cy4gV2VcdTIwMTlyZSBhbHNvIGZpbmUtdHVuaW5nIHRoZSBmb3JtdWxhdGlvbiBhbmQgZGVsaXZlcnkgb2Ygb3VyIExOUHMgdG8gZW5zdXJlIHRoZXkgcmVhY2ggbHVuZyB0aXNzdWUgZWZmaWNpZW50bHkgd2hpbGUgbWluaW1pemluZyBhbnkgZGlzY29tZm9ydC4gXG4gICAgICBUaGUgZmVlZGJhY2sgb24gZ2xvYmFsIGRpc3Bhcml0aWVzIGluIENGIGNhcmUgaGlnaGxpZ2h0ZWQgdGhlIGltcG9ydGFuY2Ugb2YgY3JlYXRpbmcgYSB0cmVhdG1lbnQgdGhhdCBpcyBub3Qgb25seSBlZmZlY3RpdmUgYnV0IGFsc28gYWZmb3JkYWJsZSBhbmQgYWNjZXNzaWJsZS4gV2VcdTIwMTlyZSBjb25zaWRlcmluZyBob3cgdG8gc2NhbGUgb3VyIHRoZXJhcHkgdG8gbWFrZSBpdCBhdmFpbGFibGUgaW4gcmVnaW9ucyB3aXRoIGxpbWl0ZWQgYWNjZXNzIHRvIGFkdmFuY2VkIHRyZWF0bWVudHMuICAgIFxuICAgICAgQWRkaXRpb25hbGx5LCB0aGUgZW1waGFzaXMgb24gdGhlIG5lZWQgZm9yIGNvbnRpbnVlZCBhZHZhbmNlbWVudHMgaW4gZW56eW1lIGRldmVsb3BtZW50IGFuZCBnZW5lIHRoZXJhcHkgaGFzIGd1aWRlZCB1cyB0byBiYWxhbmNlIGltbWVkaWF0ZSB0aGVyYXBldXRpYyBiZW5lZml0cyB3aXRoIGxvbmctdGVybSByZXNlYXJjaCBnb2Fscy4gVGhpcyBlbnN1cmVzIHRoYXQgb3VyIHByb2plY3QgYWRkcmVzc2VzIGJvdGggY3VycmVudCBuZWVkcyBhbmQgZnV0dXJlIHBvc3NpYmlsaXRpZXMgaW4gQ0YgdHJlYXRtZW50LiBcbiAgICAgIEJ5IGludGVncmF0aW5nIHRoZXNlIGluc2lnaHRzLCB3ZSBhaW0gdG8gZW5zdXJlIG91ciBwcm9qZWN0IG5vdCBvbmx5IGFkdmFuY2VzIHNjaWVudGlmaWMgdW5kZXJzdGFuZGluZyBidXQgYWxzbyBtZWV0cyB0aGUgcHJhY3RpY2FsIG5lZWRzIG9mIENGIHBhdGllbnRzLCB1bHRpbWF0ZWx5IGxlYWRpbmcgdG8gbW9yZSBlZmZlY3RpdmUgYW5kIGFjY2Vzc2libGUgdHJlYXRtZW50cy4gPC9wPl0sXG4gICAgc3VtbWFyeTogXCJUaGUgYWltIG9mIG91ciBvdXRyZWFjaCB0byBjeXN0aWMgZmlicm9zaXMgKENGKSBwYXRpZW50cyB3YXMgdG8gZ2FpbiBpbnNpZ2h0cyBpbnRvIHRoZWlyIGRhaWx5IGV4cGVyaWVuY2VzIGFuZCBob3cgcmVjZW50IHRyZWF0bWVudCBhZHZhbmNlbWVudHMgaGF2ZSBhZmZlY3RlZCB0aGVpciBsaXZlcy4gUGFydG5lcmluZyB3aXRoIE11a29EaW5vIGFsbG93ZWQgdXMgdG8gZGlzdHJpYnV0ZSBhIHN1cnZleSB3aWRlbHksIGFzIGludGVydmlld3Mgd2VyZSBsaW1pdGVkLiBUaHJvdWdoIGRpc2N1c3Npb25zIHdpdGggcGF0aWVudHMsIHdlIGxlYXJuZWQgYWJvdXQgdGhlIGNoYWxsZW5nZXMgcG9zZWQgYnkgY3VycmVudCB0cmVhdG1lbnRzLCBlbXBoYXNpemluZyB0aGUgbmVlZCBmb3IgdGhlcmFwaWVzIHRoYXQgc2ltcGxpZnkgbWFuYWdlbWVudCBhbmQgcmVkdWNlIHBoeXNpY2FsIHN0cmFpbi4gVGhpcyBmZWVkYmFjayBoYXMgZHJpdmVuIG91ciBmb2N1cyBvbiBkZXZlbG9waW5nIG1vcmUgZWZmaWNpZW50IGluaGFsYXRpb24gdGhlcmFwaWVzIHVzaW5nIHNwcmF5LWRyaWVkIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpIHRvIGRlbGl2ZXIgZ2VuZS1lZGl0aW5nIHRvb2xzIGRpcmVjdGx5IHRvIHRoZSBsdW5ncy4gV2UgYWxzbyByZWNvZ25pemVkIHRoZSBnbG9iYWwgZGlzcGFyaXRpZXMgaW4gQ0YgY2FyZSwgbW90aXZhdGluZyB1cyB0byBjb25zaWRlciBzY2FsYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBmb3IgdGhvc2UgaW4gcmVzb3VyY2UtbGltaXRlZCByZWdpb25zLiBQYXRpZW50IGluc2lnaHRzIHVuZGVyc2NvcmVkIHRoZSBpbXBvcnRhbmNlIG9mIHBlcnNvbmFsaXplZCB0cmVhdG1lbnRzIHRhaWxvcmVkIHRvIGluZGl2aWR1YWwgZ2VuZXRpYyBtdXRhdGlvbnMsIHByb21wdGluZyB1cyB0byBwcmlvcml0aXplIGVuenltZSBkZXZlbG9wbWVudCBhbmQgZ2VuZSB0aGVyYXB5IGluIG91ciByZXNlYXJjaC4gT3ZlcmFsbCwgdGhlc2UgaW5zaWdodHMgaGF2ZSBzaGFwZWQgb3VyIHByb2plY3QgdG8gYWxpZ24gY2xvc2VseSB3aXRoIHRoZSByZWFsLXdvcmxkIG5lZWRzIG9mIENGIHBhdGllbnRzLCBhaW1pbmcgZm9yIGltcGFjdGZ1bCBhbmQgYWNjZXNzaWJsZSBzb2x1dGlvbnMuXCIsXG4gICAgbW9udGhzOiBcIlNlcHRlbWJlclwiLFxuICAgIGludGVydmlldzogPD5cbiAgICA8UWFCb3ggcT1cIkhvdyBkaWQgeW91IGNvbWUgdXAgd2l0aCB0aGUgbmFtZSBcdTIwMThNdWtvLURpbm9cdTIwMTk/XCIgYT1cIlRoZSBuYW1lIFx1MjAxOE11a28tRGlub1x1MjAxOSBoYXMgYSBwZXJzb25hbCBoaXN0b3J5LiBBdCBhIGN5c3RpYyBmaWJyb3NpcyBtZWV0aW5nLCBhbm90aGVyIHBhdGllbnQgam9rZWQgdGhhdCBJLCBhcyBhIDU4LXllYXItb2xkIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50LCB3YXMgYSBcdTIwMThNdWtvLURpbm9cdTIwMTkuIFRoZSBuYW1lIGFsbHVkZXMgdG8gbXkgYWdlLCBiZWNhdXNlIGluIHRoZSBwYXN0LCBjeXN0aWMgZmlicm9zaXMgcGF0aWVudHMgaGFkIGEgbXVjaCBzaG9ydGVyIGxpZmUgZXhwZWN0YW5jeS4gU28gaXQgd2FzIHVudXN1YWwgZm9yIHNvbWVvbmUgd2l0aCB0aGUgZGlzZWFzZSB0byBzdGlsbCBiZSBzbyBhY3RpdmUgYXQgbXkgYWdlLiBUaGUgbmFtZSBzdHVjayAtIGluaXRpYWxseSBhcyBhIGpva2UsIGJ1dCBJIGhhdmUgc2luY2UgYWRvcHRlZCBpdCBhcyBhIGtpbmQgb2Ygbmlja25hbWUuXCIgLz5cbiAgICA8UWFCb3ggcT1cIldoZW4gd2VyZSB5b3UgZGlhZ25vc2VkIHdpdGggY3lzdGljIGZpYnJvc2lzP1wiIGE9XCJJIHdhcyBkaWFnbm9zZWQgYXQgdGhlIGFnZSBvZiBzaXggYWZ0ZXIgYSBzd2VhdCB0ZXN0LiBJIGhhZCBsb3N0IGEgbG90IG9mIHdlaWdodCBpbiB0aGUgZmlyc3QgeWVhciBvZiBteSBsaWZlIGFuZCBjeXN0aWMgZmlicm9zaXMgd2FzIGFscmVhZHkgc3VzcGVjdGVkLCBidXQgaXQgdG9vayBhIHdoaWxlIGJlZm9yZSB0aGUgZGlhZ25vc2lzIHdhcyBhY3R1YWxseSBjb25maXJtZWQuXCIgLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgd2VyZSB5b3VyIHRob3VnaHRzIGFuZCB0aG9zZSBvZiB5b3VyIGZhbWlseSBhZnRlciB0aGUgZGlhZ25vc2lzP1wiIGE9XCJNeSBtdW0gd2FzIG5hdHVyYWxseSBzaG9ja2VkLiBXaGVuIHlvdSBoYXZlIGEgY2hpbGQsIHlvdSBhcmUgaGFwcHksIGFuZCB0aGVuIHRvIHJlY2VpdmUgYSBkaWFnbm9zaXMgbGlrZSB0aGlzIGlzIGEgaHVnZSBzaG9jay4gRm9yIHBhcmVudHMgb2YgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzLCB0aGVyZSBpcyBhbHdheXMgYSBiYXNpYyBmZWFyIGJlY2F1c2UgdGhlIGRpc2Vhc2UgaXMgbGlmZS10aHJlYXRlbmluZy4gVG9kYXksIG1hbnkgcGFyZW50cyBob3BlIHRoYXQgdGhlaXIgY2hpbGQgd2lsbCBsaXZlIHRvIGJlIGF0IGxlYXN0IHR3byB5ZWFycyBvbGQgc28gdGhhdCB0aGV5IGNhbiByZWNlaXZlIG1vZHVsYXRvcnMgdGhhdCBjYW4gZ3JlYXRseSBpbXByb3ZlIHRoZSBzeW1wdG9tcy5cIiAvPlxuICAgIDxRYUJveCBxPVwiV2hhdCBtdXRhdGlvbiBkbyB5b3UgaGF2ZT9cIiBhPVwiSSBoYXZlIHRoZSBEZWx0YSA1MDggbXV0YXRpb24gaW4gZHVwbGljYXRlLCBpLmUuIGhvbW96eWdvdXMuIFRoaXMgaXMgdGhlIG1vc3QgY29tbW9uIGZvcm0gb2YgY3lzdGljIGZpYnJvc2lzIG11dGF0aW9uIGFuZCBjYXVzZXMgdGhlIHR5cGljYWwgc3ltcHRvbXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBkaXNlYXNlLCBzdWNoIGFzIGRpZ2VzdGl2ZSBhbmQgbHVuZyBwcm9ibGVtcy5cIiAvPlxuICAgIDxRYUJveCBxPVwiV2hhdCB3ZXJlIHRoZSBmaXJzdCBzdGVwcyBhZnRlciB0aGUgZGlhZ25vc2lzP1wiIGE9XCJCYWNrIHRoZW4sIGluIHRoZSAxOTYwcywgdGhlcmUgd2VyZSBoYXJkbHkgYW55IHNwZWNpYWxpc2VkIGN5c3RpYyBmaWJyb3NpcyBvdXRwYXRpZW50IGNsaW5pY3MuIE15IHBhZWRpYXRyaWNpYW4gcHJlc2NyaWJlZCBtZSBQYW5rcmVvbiwgYW4gZWFybHkgZW56eW1lIHByZXBhcmF0aW9uIHRoYXQgd2FzIHN1cHBvc2VkIHRvIGhlbHAgbWUgd2l0aCBkaWdlc3Rpb24uIE5vd2FkYXlzLCB0aGUgcHJvY2VzcyBpcyB2ZXJ5IGRpZmZlcmVudDogQSBjaGlsZCBpcyByZWZlcnJlZCB0byBhIHNwZWNpYWxpc2VkIG91dHBhdGllbnQgY2xpbmljIGltbWVkaWF0ZWx5IGFmdGVyIGRpYWdub3Npcywgd2hlcmUgdGhleSByZWNlaXZlIGNvbXByZWhlbnNpdmUgY2FyZS4gVGhpcyBpbmNsdWRlcyBtZWRpY2FsIGNhcmUsIG51dHJpdGlvbmFsIGNvdW5zZWxsaW5nLCBwaHlzaW90aGVyYXB5IGFuZCBzdXBwb3J0IHdpdGggc29jaW8tbGVnYWwgaXNzdWVzLlwiIC8+XG4gICAgPFFhQm94IHE9XCJIb3cgaGFzIHRyZWF0bWVudCBjaGFuZ2VkIG92ZXIgdGhlIHllYXJzP1wiIGE9XCJUaGUgdHJlYXRtZW50IG9mIGN5c3RpYyBmaWJyb3NpcyBoYXMgaW1wcm92ZWQgZHJhbWF0aWNhbGx5IG92ZXIgdGhlIGxhc3QgZmV3IGRlY2FkZXMuIEluIHRoZSBwYXN0LCBsb3ctZmF0IGRpZXRzIGhhZCB0byBiZSBmb2xsb3dlZCwgZXZlbiB3aXRoIGVuenltZXMsIHdoaWNoIHdlcmUgbm90IGFzIGVmZmVjdGl2ZSBhcyB0b2RheSdzIHByZXBhcmF0aW9ucy4gQmFjayB0aGVuLCBpZiB5b3UgYXRlIHNvbWV0aGluZyBmYXR0eSBsaWtlIGNob2NvbGF0ZSBvciBjaGlwcywgeW91IGdvdCBkaWFycmhvZWEuIE5vd2FkYXlzLCBlbnp5bWVzIGFyZSBtdWNoIG1vcmUgZWZmZWN0aXZlIGFuZCBwYXRpZW50cyBoYXZlIGhhcmRseSBhbnkgZGlldGFyeSByZXN0cmljdGlvbnMuIEFzIGZhciBhcyBhbnRpYmlvdGljcyBhcmUgY29uY2VybmVkLCByZXNpc3RhbmNlIGlzIGEgYmlnIGlzc3VlLiBUaGF0J3Mgd2h5IGRvY3RvcnMgY2hhbmdlIGFudGliaW90aWNzIHJlZ3VsYXJseSB0byBwcmV2ZW50IHJlc2lzdGFuY2UgZnJvbSBkZXZlbG9waW5nLiBNb2R1bGF0b3JzIGhhdmUgcmV2b2x1dGlvbmlzZWQgdGhlIGxpdmVzIG9mIG1hbnkgcGF0aWVudHMsIGV2ZW4gaWYgdGhleSBjYW4gdHJpZ2dlciBwc3ljaG9sb2dpY2FsIHNpZGUgZWZmZWN0cyBpbiBzb21lLiBCdXQgdGhlIGFsdGVybmF0aXZlLCBmcmVxdWVudCBwbmV1bW9uaWEsIGlzIG11Y2ggd29yc2UuXCIgLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBkbyB5b3UgYXNzZXNzIHRoZSBwcm9ncmVzcyBtYWRlIGluIGN5c3RpYyBmaWJyb3NpcyByZXNlYXJjaD9cIiBhPVwiVGhlIHByb2dyZXNzIGlzIGFic29sdXRlbHkgcmVtYXJrYWJsZS4gV2hlbiBJIHdhcyBib3JuLCB0aGUgYXZlcmFnZSBsaWZlIGV4cGVjdGFuY3kgb2YgYSBjeXN0aWMgZmlicm9zaXMgcGF0aWVudCB3YXMgb25lIHRvIGZpdmUgeWVhcnMuIFRvZGF5IHdlIGFyZSB0YWxraW5nIGFib3V0IG92ZXIgNjAgeWVhcnMuIFRoaXMgZGV2ZWxvcG1lbnQgaXMgbm90IG9ubHkgZHVlIHRvIG1lZGljYWwgaW5ub3ZhdGlvbnMsIGJ1dCBhbHNvIHRvIGJldHRlciBhZGhlcmVuY2Ugb24gdGhlIHBhcnQgb2YgcGF0aWVudHMsIHdobyBmb2xsb3cgdGhlaXIgdGhlcmFwaWVzIG1vcmUgcmVndWxhcmx5IGFuZCBlZmZpY2llbnRseS5cIiAvPlxuICAgIDxRYUJveCBxPVwiSXMgdGhlcmUgYW55dGhpbmcgeW91IHdvdWxkIGxpa2UgdG8gc2VlIGluIHRoZSBmdXR1cmUgb2YgdGhlcmFweT9cIiBhPVwiUGVyc29uYWxseSwgSSBhbSBhbG1vc3QgcGVyZmVjdGx5IGhhcHB5LCBhcyB0aGUgY3VycmVudCBtb2R1bGF0b3JzIGhhdmUgZ2l2ZW4gbWUgYW4gZW5vcm1vdXNseSBpbXByb3ZlZCBxdWFsaXR5IG9mIGxpZmUuIE15IHdpc2ggZm9yIHRoZSBlbnRpcmUgY3lzdGljIGZpYnJvc2lzIGNvbW11bml0eSBpcyB0aGF0IGdlbmUgdGhlcmFweSB3aWxsIGJlIGZ1cnRoZXIgZGV2ZWxvcGVkLiBBIHRyZWF0bWVudCB0aGF0IGFkZHJlc3NlcyB0aGUgZ2VuZXRpYyBjYXVzZXMgb2YgdGhlIGRpc2Vhc2Ugd291bGQgYmUgYSBodWdlIGJyZWFrdGhyb3VnaCBhbmQgaXQgd291bGQgYmUgaWRlYWwgaWYgdGhpcyBjb3VsZCBiZSBhY2hpZXZlZCB3aXRob3V0IHNlcmlvdXMgc2lkZSBlZmZlY3RzLlwiIC8+XG4gICAgPFFhQm94IHE9XCJXaGljaCBhcmVhcyBvZiByZXNlYXJjaCBkbyB5b3UgdGhpbmsgc2hvdWxkIGJlIHN0cmVuZ3RoZW5lZD9cIiBhPVwiVGhlcmUgYXJlIGEgZmV3IGFyZWFzIHRoYXQgSSBjb25zaWRlciB0byBiZSBwYXJ0aWN1bGFybHkgaW1wb3J0YW50LiBPbiB0aGUgb25lIGhhbmQsIGVuenltZXMgc2hvdWxkIGJlIGZ1cnRoZXIgZGV2ZWxvcGVkIGluIG9yZGVyIHRvIHdvcmsgZXZlbiBiZXR0ZXIgYW5kIGZ1cnRoZXIgbWluaW1pc2Ugc2lkZSBlZmZlY3RzLiBBbm90aGVyIG1ham9yIHRvcGljIGlzIGJhY3RlcmlvcGhhZ2UgcmVzZWFyY2gsIHdoaWNoIGNvdWxkIGhlbHAgcGF0aWVudHMgd2l0aCBtdWx0aS1yZXNpc3RhbnQgZ2VybXMuIE1vZHVsYXRvcnMgc2hvdWxkIGFsc28gYmUgZnVydGhlciBvcHRpbWlzZWQgYW5kLCBvZiBjb3Vyc2UsIGdlbmUgdGhlcmFweSBtdXN0IGJlIGRyaXZlbiBmb3J3YXJkIGluIG9yZGVyIHRvIGZpbmQgYSBzdXN0YWluYWJsZSBzb2x1dGlvbi5cIiAvPlxuICAgIDxRYUJveCBxPVwiV2hhdCByb2xlIGRvZXMgcGVyc29uYWwgcmVzcG9uc2liaWxpdHkgcGxheSBpbiBjeXN0aWMgZmlicm9zaXM/XCIgYT1cIlBlcnNvbmFsIHJlc3BvbnNpYmlsaXR5IGlzIGV4dHJlbWVseSBpbXBvcnRhbnQuIEFueW9uZSBsaXZpbmcgd2l0aCBjeXN0aWMgZmlicm9zaXMgaGFzIHRvIGRlYWwgaW50ZW5zaXZlbHkgd2l0aCB0aGVpciBvd24gZGlzZWFzZSBhbmQgdGFrZSByZXNwb25zaWJpbGl0eSBmb3IgdGhlaXIgaGVhbHRoLiBUaGlzIG1lYW5zIHJlZ3VsYXJseSBpbmZvcm1pbmcgeW91cnNlbGYgYWJvdXQgbmV3IHRyZWF0bWVudCBvcHRpb25zIGFuZCBiZWluZyBkaXNjaXBsaW5lZCBhYm91dCB5b3VyIG93biB0cmVhdG1lbnQuIElmIHlvdSBkb24ndCB0YWtlIGNhcmUgb2YgeW91cnNlbGYsIHlvdSBydW4gdGhlIHJpc2sgb2Ygbm90IGZ1bGx5IHV0aWxpc2luZyB0aGUgYWR2YW5jZXMgaW4gbWVkaWNpbmUuIFRoZSBoZWFsdGhjYXJlIHN5c3RlbSBnaXZlcyB5b3UgbWFueSBvcHRpb25zLCBidXQgeW91IGhhdmUgdG8gYWN0aXZlbHkgdXRpbGlzZSB0aGVtLiBMdWNrIGRlZmluaXRlbHkgcGxheXMgYSByb2xlLCBidXQgaXQgaXMgbm90IGVub3VnaCBvbiBpdHMgb3duLiBJIGhhdmUgYmVlbiBsdWNreSBpbiBteSBtZWRpY2FsIGhpc3RvcnkgYmVjYXVzZSBJIGxpdmUgaW4gYSBjb3VudHJ5IHdpdGggZ29vZCBhY2Nlc3MgdG8gbWVkaWNhbCBjYXJlIGFuZCBoYXZlIGJlZW4gYWJsZSB0byBiZW5lZml0IGZyb20gdGhlIG1vZHVsYXRvcnMuIEJ1dCBldmVuIHRoZSBiZXN0IGx1Y2sgZG9lc24ndCBoZWxwIHdpdGhvdXQgaW5pdGlhdGl2ZSBhbmQgY29tbWl0bWVudC4gWW91IGhhdmUgdG8gcGxheSBhbiBhY3RpdmUgcm9sZSBpbiBtYWtpbmcgdGhlIG1vc3Qgb2YgdGhlIG9wcG9ydHVuaXRpZXMgdGhhdCBsaWZlIG9mZmVycyB5b3UuXCIgLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgZG9lcyB5b3VyIGRhaWx5IHJvdXRpbmUgbG9vayBsaWtlP1wiIGE9XCJNeSBkYWlseSB0aGVyYXB5IHRha2VzIGFib3V0IHR3byB0byB0aHJlZSBob3Vycy4gVGhpcyBpbmNsdWRlcyB0YWtpbmcgZW56eW1lcyBhbmQgYW50aWJpb3RpY3MgYXMgd2VsbCBhcyBpbmhhbGF0aW9ucyB3aXRoIHNhbGluZSBzb2x1dGlvbiBhbmQgYW50aWJpb3RpY3MuIEkgYWxzbyBkbyByZWd1bGFyIGF1dG9nZW5pYyBkcmFpbmFnZSBhbmQgc3RyZXRjaGluZyBleGVyY2lzZXMgdG8gc3VwcG9ydCBteSBsdW5ncy4gSXQgaXMgaW1wb3J0YW50IHRvIHN0aWNrIHRvIHRoaXMgcm91dGluZSBjb25zaXN0ZW50bHksIGFzIGV2ZW4gYSBmZXcgZGF5cyB3aXRob3V0IHRoZXJhcHkgY2FuIGxlYWQgdG8gaW5mbGFtbWF0aW9uLlwiIC8+XG4gICAgPFFhQm94IHE9XCJXaGF0IGlzIHRoZSBtb3N0IGltcG9ydGFudCBwYXJ0IG9mIHlvdXIgZGFpbHkgcm91dGluZT9cIiBhPVwiSXQncyBkaWZmaWN1bHQgdG8gc2luZ2xlIG91dCBvbmUgcGFydCBiZWNhdXNlIGFsbCBhc3BlY3RzIHdvcmsgdG9nZXRoZXIuIElmIEkgbGVmdCBvdXQgdGhlIGVuenltZXMsIEkgd291bGQgb25seSBiZSBhYmxlIHRvIGVhdCBzYWxhZCBiZWNhdXNlIG15IGJvZHkgd291bGRuJ3QgYmUgYWJsZSB0byBhYnNvcmIgYW55IG51dHJpZW50cy4gV2l0aG91dCB0aGUgbW9kdWxhdG9ycyBhbmQgYW50aWJpb3RpY3MsIEkgd291bGQgcXVpY2tseSBnZXQgcG5ldW1vbmlhLCB3aGljaCBtZWFucyBJIHdvdWxkIGhhdmUgdG8gdGFrZSB3ZWVrcyBvZmYuIFNvIHJlZ3VsYXJpdHkgaXMgdGhlIGtleSB0byBzdGF5aW5nIGhlYWx0aHkgaW4gdGhlIGxvbmcgdGVybS5cIiAvPlxuICAgIDxRYUJveCBxPVwiRG8geW91IGRvIGFueSBzcG9ydGluZyBhY3Rpdml0aWVzP1wiIGE9XCJZZXMsIEkgY3ljbGUgdG8gd29yayBldmVyeSBkYXkgYW5kIHRha2UgdGhlIHN0YWlycyB0byB0aGUgZWlnaHRoIGZsb29yIHdoZXJlIEkgaGF2ZSBteSBvZmZpY2UuIEkgZG9uJ3QgZG8gaW50ZW5zaXZlIHNwb3J0cyBsaWtlIGdvaW5nIHRvIHRoZSBneW0sIGJ1dCBJIGRvIGV4ZXJjaXNlIHJlZ3VsYXJseSBpbiBteSBldmVyeWRheSBsaWZlLCB3aGljaCBpcyB2ZXJ5IGltcG9ydGFudCBmb3IgbXkgaGVhbHRoLlwiIC8+XG4gICAgPFFhQm94IHE9XCJEbyB5b3UgdXNlIHBoeXNpb3RoZXJhcHk/XCIgYT1cIkkgZG8gbXkgb3duIHBoeXNpb3RoZXJhcHkgYXQgaG9tZSBhcyBJIGhhdmUgbGVhcm50IHRoZSB0ZWNobmlxdWVzIHdlbGwgb3ZlciB0aGUgeWVhcnMuIEkgdXNlZCB0byB2aXNpdCBhIHBoeXNpb3RoZXJhcGlzdCByZWd1bGFybHksIGJ1dCBJIG5vIGxvbmdlciBuZWVkIHRvLiBBbHNvLCB0aGVyZSBhcmUgaGFyZGx5IGFueSBzcGVjaWFsaXNlZCBwaHlzaW90aGVyYXBpc3RzIGZvciBjeXN0aWMgZmlicm9zaXMgcGF0aWVudHMgaW4gbXkgYXJlYS5cIiAvPlxuICAgIDxRYUJveCBxPVwiV2hpY2ggb3JnYW4gYWZmZWN0cyB5b3UgdGhlIG1vc3QgaW4geW91ciBldmVyeWRheSBsaWZlP1wiIGE9XCJUaGFua3MgdG8gdGhlIG1vZHVsYXRvcnMsIG5vbmUgYWN0dWFsbHkuIEJ1dCBpZiBJIGRvbid0IHRha2UgdGhlIGVuenltZXMsIEkgY2FuJ3QgZWF0IGFueXRoaW5nLCB3aGljaCBsZWFkcyB0byByYXBpZCB3ZWlnaHQgbG9zcy4gV2l0aG91dCB0aGUgYW50aWJpb3RpY3MgYW5kIG1vZHVsYXRvcnMsIEkgd291bGQgYmUgbW9yZSBzdXNjZXB0aWJsZSB0byBpbmZlY3Rpb25zIGFuZCB3b3VsZCBxdWlja2x5IGRldmVsb3AgcG5ldW1vbmlhLCB3aGljaCB3b3VsZCByZXF1aXJlIHdlZWtzIG9mIHJlY292ZXJ5LlwiIC8+XG4gICAgPFFhQm94IHE9XCJIYXZlIHlvdSBvciBhbnlvbmUgY2xvc2UgdG8geW91IHRha2VuIHBhcnQgaW4gY2xpbmljYWwgdHJpYWxzP1wiIGE9XCJJIHBlcnNvbmFsbHkgaGF2ZSBub3QgcGFydGljaXBhdGVkIGluIGNsaW5pY2FsIHRyaWFscywgYnV0IEkgZW5jb3VyYWdlIG90aGVyIHBhdGllbnRzIHRvIGRvIHNvLCBhcyB0cmlhbHMgYXJlIG9mdGVuIHRoZSBvbmx5IHdheSB0byB0ZXN0IGFuZCBkZXZlbG9wIG5ldyB0cmVhdG1lbnRzLlwiIC8+XG4gICAgPFFhQm94IHE9XCJXaGF0IGltcGFjdCBkbyBhZHZhbmNlcyBpbiBjeXN0aWMgZmlicm9zaXMgcmVzZWFyY2ggaGF2ZSBvbiBwYXRpZW50cycgbGl2ZXM/XCIgYT1cIkFkdmFuY2VzIGluIGN5c3RpYyBmaWJyb3NpcyByZXNlYXJjaCBoYXZlIGhhZCBhbiBlbm9ybW91cyBwb3NpdGl2ZSBpbXBhY3Qgb24gcGF0aWVudHMnIGxpdmVzLiBJbiB0aGUgcGFzdCwgbGlmZSBleHBlY3RhbmN5IGF0IGRpYWdub3NpcyB3YXMgb2Z0ZW4gb25seSBhIGZldyB5ZWFycy4gVG9kYXksIG1hbnkgcGF0aWVudHMgY2FuIGxpdmUgaW50byBvbGQgYWdlLiBUaGUgaW50cm9kdWN0aW9uIG9mIG1vZHVsYXRvcnMgdGhhdCBzcGVjaWZpY2FsbHkgc3RhYmlsaXNlIHRoZSBkaXNlYXNlLWNhdXNpbmcgcHJvdGVpbnMgYW5kIGltcHJvdmUgdGhlaXIgZnVuY3Rpb24gaGFzIHNpZ25pZmljYW50bHkgaW1wcm92ZWQgcGF0aWVudHMnIHF1YWxpdHkgb2YgbGlmZS4gUmVzZWFyY2ggaGFzIGFsc28gY29udHJpYnV0ZWQgdG8gcGF0aWVudHMgYmVpbmcgYmV0dGVyIGluZm9ybWVkIGFib3V0IHRoZWlyIGRpc2Vhc2UgYW5kIGhhdmluZyBlZmZlY3RpdmUgdGhlcmFwaWVzIGF2YWlsYWJsZSwgbGVhZGluZyB0byBiZXR0ZXIgb3ZlcmFsbCBkaXNlYXNlIG1hbmFnZW1lbnQuXCIgLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBkbyB5b3UgYXNzZXNzIHRoZSBkaWZmZXJlbmNlcyBpbiB0aGUgdHJlYXRtZW50IGFuZCBzdXBwb3J0IG9mIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cyBpbiBHZXJtYW55IGNvbXBhcmVkIHRvIG90aGVyIGNvdW50cmllcz9cIiBhPVwiSW4gRXVyb3BlLCBlc3BlY2lhbGx5IGluIEdlcm1hbnksIHdlIGxpdmUgYXQgYSB2ZXJ5IGhpZ2ggbWVkaWNhbCBsZXZlbCwgZXZlbiBpZiB0aGVyZSBhcmUgY2hhbGxlbmdlcyBzdWNoIGFzIHRoZSBzaG9ydGFnZSBvZiBzcGVjaWFsaXN0cy4gVGhlIGRpZmZlcmVuY2UgaW4gcHJvc3Blcml0eSBpbiB0aGUgVVNBIGlzIGdyZWF0ZXIsIGJ1dCBhdCB0aGUgc2FtZSB0aW1lIGl0IGlzIGFsc28gYSBkcml2ZXIgb2YgaW5ub3ZhdGlvbi4gQ29tcGFyZWQgdG8gY291bnRyaWVzIGFzIHNvbWUgdGhpcmQtd29ybGQgY291bnRyaWVzLCB3aGVyZSBjeXN0aWMgZmlicm9zaXMgcGF0aWVudHMgaGF2ZSB0byB3YWl0IGluIGhvc3BpdGFscyBmb3IgYXBwb2ludG1lbnRzIGJldHdlZW4gaW5mZWN0aW91cyBwYXRpZW50cywgd2UgYXJlIGNvbXBsYWluaW5nIGF0IGEgaGlnaCBsZXZlbCBoZXJlLiBUaGVyZSBpcyBhbHdheXMgcm9vbSBmb3IgaW1wcm92ZW1lbnQsIGJ1dCBvdmVyYWxsIHdlIGhhdmUgYSBicmlsbGlhbnQgaGVhbHRoY2FyZSBzeXN0ZW0uXCIgLz5cbiAgICA8UWFCb3ggcT1cIkRvIHlvdSBmZWVsIHN1ZmZpY2llbnRseSBpbmZvcm1lZCBieSB0aGUgYXZhaWxhYmxlIHNvdXJjZXMgb2YgaW5mb3JtYXRpb24/XCIgYT1cIlllcywgdGhlIGluZm9ybWF0aW9uIHNpdHVhdGlvbiBpcyBnb29kLiBZb3UgY2FuIGZpbmQgc3VmZmljaWVudCBpbmZvcm1hdGlvbiBmcm9tIG9yZ2FuaXNhdGlvbnMgc3VjaCBhcyB0aGUgQ0YgRm91bmRhdGlvbiwgdGhlIENGIFRydXN0IGFuZCBNdWtvdmlzemlkb3NlIGUuVi4uIEhvd2V2ZXIsIHlvdSBoYXZlIHRvIGdldCBpbnZvbHZlZCB5b3Vyc2VsZiBhbmQgYWN0aXZlbHkgc2VlayBvdXQgdGhlIGluZm9ybWF0aW9uLlwiIC8+XG4gICAgPFFhQm94IHE9XCJJcyB0aGVyZSBhbnl0aGluZyBlbHNlIHlvdSB3b3VsZCBsaWtlIHRvIHRlbGwgdXM/XCIgYT1cIkl0IGlzIGltcG9ydGFudCB0byB1bmRlcnN0YW5kIHRoYXQgQ0YgcGF0aWVudHMgYXJlIHZlcnkgZGlmZmVyZW50LCBpbmNsdWRpbmcgaW4gdGVybXMgb2YgdGhlaXIgY3VsdHVyYWwgYW5kIGZhbWlseSBiYWNrZ3JvdW5kLiBJbiBhZGRpdGlvbiwgc3VydmV5cyBhbmQgcXVlc3Rpb25zIHNob3VsZCBiZSByZXZpZXdlZCBpbiBhZHZhbmNlIGJ5IHBhdGllbnRzIG9yIHBhcmVudHMgdG8gZW5zdXJlIHRoYXQgdGhleSBhcmUgdW5kZXJzdGFuZGFibGUgYW5kIGRvIG5vdCBjb250YWluIHVuZm9ydHVuYXRlIHdvcmRpbmcuIElmIHlvdSBuZWVkIGFueSBoZWxwIG9yIGFueXRoaW5nLCBJIHdvdWxkIGxvdmUgdG8gaGVscCB5b3UuIFNlbmQgbWUgdGhlIGxpbmsgYXMgc29vbiBhcyB0aGUgd2Vic2l0ZSBpcyByZWFkeSBhbmQgSSdsbCBnaXZlIHlvdSBmZWVkYmFjay4gSSBjYW4gYWxzbyBjaXJjdWxhdGUgdGhlIHN1cnZleSBpbiB0aGUgY29tbXVuaXR5LiBJJ20gYWx3YXlzIGF2YWlsYWJsZSBpZiB5b3UgaGF2ZSBhbnkgZnVydGhlciBxdWVzdGlvbnMgb3IgbmVlZCBzdXBwb3J0LlwiIC8+XG4gICAgPC8+LFxuICAgIHBpY3R1cmV1cmxfaW50ZXJ2aWV3OlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL3pvb20tbXVrb2Rpbm8ud2VicFwiLFxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiRHIuIEtlcnN0aW4gTGFuZHdlaHJcIixcbiAgICB2b3JuYW1lOiBcIlNlbmlvciBQaHlzaWNpYW4gZm9yIFBlZGlhdHJpY3MgJiBQbmV1bW9sb2d5IGFuZFwiLFxuICAgIG5hY2hubmFtZTogXCJFbGVuYSBXaWVzbGVyXCIsXG4gICAgam9iOiBcIlBzeWNob2xvZ2lzdHMgaW4gY2hpbGQgJiBhZG9sZXNjZW50IG1lZGljaW5lIFwiLFxuICAgIGFmZmlsaWF0aW9uOiBcImF0IEJldGhlbCBIb3NwaXRhbCBpbiBCaWVsZWZlbGRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydiZXRoZWwnXSxcbiAgICB0YWc6IFwiTWVkaWNhbCBQcm9mZXNzaW9uYWxcIixcbiAgICBoZWFkaW5nOiBcIkhvbGlzdGljIENhcmUgZm9yIEN5c3RpYyBGaWJyb3NpczogRXhwbG9yaW5nIHRoZSBQc3ljaG9sb2dpY2FsIEltcGFjdCBhbmQgUm9sZSBvZiBHZW5lIFRoZXJhcHlcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJwc3ljaG9sXCIsXG4gICAgY2FyZHRleHQ6IFwiXCIsXG4gICAgbGFuZ3VhZ2U6XCJkZVwiLFxuICAgIHF1b3RlOiBcIk1hbnkgZmFtaWxpZXMgYXJlIGNvbmZyb250ZWQgd2l0aCBleHRyZW1lbHkgaGlnaCB0aGVyYXB5IGFuZCB0cmVhdG1lbnQgY29zdHMuIFRoZXNlIGFyZSBvZnRlbiBleHBlbnNpdmUgYW5kIHVuYXZhaWxhYmxlIGV2ZXJ5d2hlcmUuXCIsXG4gICAgcXVvdGVWb3JuYW1lOiBcIkVsZW5hXCIsXG4gICAgcXVvdGVOYWNobmFtZTogXCJXaWVzbGVyLCBQaHN5Y2hvdGhlcmFwaXN0IGF0IGhvc3BpdGFsIEJpZWxlZmVsZCBcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5JbiBwcmV2aW91cyBpbnRlcnZpZXdzLCA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cIm1heGZpcnN0XCIgdGV4dD1cIk1heFwiIC8+IGFuZCA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cImRpbm9cIiB0ZXh0PVwiVGhvbWFzXCIgLz4gc2hhcmVkIGhvdyB0aGUgcHN5Y2hvbG9naWNhbCBidXJkZW4gb2YgbGl2aW5nIHdpdGggY3lzdGljIGZpYnJvc2lzIHdlaWdocyBoZWF2aWx5IG9uIHBhdGllbnRzLiBQYXJlbnRzIDxIUExpbmt0b090aGVySFBUYWIgdGFiPVwiam9zaHVhXCIgdGV4dD1cIkpvc2h1YVwiIC8+IGFuZCA8SFBMaW5rdG9PdGhlckhQVGFiIHRhYj1cImp1bGlhXCIgdGV4dD1cIkp1bGlhXCIgLz4gYWxzbyBlbXBoYXNpemVkIHRoYXQgbWVudGFsIGhlYWx0aCBjaGFsbGVuZ2VzIGFyZSBhIG1ham9yIGlzc3VlIGZvciBib3RoIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcy4gVGhpcyBwcm9tcHRlZCB1cyB0byBkZWx2ZSBkZWVwZXIgaW50byB0aGUgcHN5Y2hvbG9naWNhbCwgc29jaWFsLCBhbmQgbWVkaWNhbCBkaWZmaWN1bHRpZXMgZmFjZWQgYnkgY3lzdGljIGZpYnJvc2lzIChDRikgcGF0aWVudHMgYW5kIHRoZWlyIHN1cHBvcnQgc3lzdGVtcy4gQSBrZXkgZ29hbCB3YXMgdG8gdW5kZXJzdGFuZCBob3cgZ2VuZSB0aGVyYXBpZXMgYXJlIHBlcmNlaXZlZCBhbmQgaG93IHRoZXkgbWF5IGFmZmVjdCB0aGUgcXVhbGl0eSBvZiBsaWZlIGZvciBDRiBwYXRpZW50cy4gV2UgYWltZWQgdG8gZ2F0aGVyIGluc2lnaHRzIGZyb20gdmFyaW91cyBwZXJzcGVjdGl2ZXNcdTIwMTRwYXRpZW50cywgY2FyZWdpdmVycywgYW5kIGhlYWx0aGNhcmUgcHJvZmVzc2lvbmFsc1x1MjAxNHRvIGVuc3VyZSBvdXIgcHJvamVjdCBhbGlnbnMgd2l0aCB0aGVpciBuZWVkcyBhbmQgYWRkcmVzc2VzIHRoZSBtb3N0IHByZXNzaW5nIGNoYWxsZW5nZXMuIFxuICAgICAgR2l2ZW4gdGhlIGNvbXBsZXhpdHkgb2YgdGhlc2UgcHN5Y2hvbG9naWNhbCBhc3BlY3RzLCBpdCB3YXMgY3J1Y2lhbCBmb3IgdXMgdG8gZW5nYWdlIHdpdGggcHN5Y2hvbG9naXN0cyB0byBnYWluIGEgcHJvZmVzc2lvbmFsLCBleHBlcnQgb3Bpbmlvbi4gV2UgdmlzaXRlZCB0aGUgbWVkaWNhbCBwcm9mZXNzaW9uYWxzIGF0IHRoZSBrbGluaWt1bSBiZXRoZWwuIFRoZWlyIGlucHV0IGhlbHBlZCB1cyBiZXR0ZXIgdW5kZXJzdGFuZCB0aGUgbWVudGFsIGhlYWx0aCBpbXBhY3RzIG9mIENGIGFuZCB0aGUgcG90ZW50aWFsIGVtb3Rpb25hbCBhZGp1c3RtZW50cyByZXF1aXJlZCB3aGVuIGludGVncmF0aW5nIGdlbmUgdGhlcmFwaWVzIGludG8gdHJlYXRtZW50IHBsYW5zLiBUaGlzIGd1aWRhbmNlIHdhcyBpbnZhbHVhYmxlIGluIHNoYXBpbmcgb3VyIGFwcHJvYWNoIHRvIGRldmVsb3BpbmcgYSBob2xpc3RpYyBzb2x1dGlvbiB0aGF0IGFkZHJlc3NlcyBub3Qgb25seSB0aGUgbWVkaWNhbCBuZWVkcyBidXQgYWxzbyB0aGUgZW1vdGlvbmFsIHdlbGwtYmVpbmcgb2YgcGF0aWVudHMgYW5kIHRoZWlyIGZhbWlsaWVzLiBJdCBpbmZvcm1lZCBvdXIgSW50ZWdyYXRlZCBIZWFsdGggUHJvZ3JhbSAoSUhQKSBzdHJhdGVneSwgZW1waGFzaXppbmcgdGhlIGltcG9ydGFuY2Ugb2YgaW50ZXJwZXJzb25hbCByZWxhdGlvbnNoaXBzLCBlZmZlY3RpdmUgY29tbXVuaWNhdGlvbiwgYW5kIGNvbW11bml0eSBlbmdhZ2VtZW50LCBleHRlbmRpbmcgYmV5b25kIHB1cmVseSBzY2llbnRpZmljIGNvbnNpZGVyYXRpb25zLiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPlRocm91Z2ggb3VyIGRpc2N1c3Npb25zLCBzZXZlcmFsIHZhbHVhYmxlIGluc2lnaHRzIGVtZXJnZWQgdGhhdCBoYXZlIHNpZ25pZmljYW50bHkgZGVlcGVuZWQgb3VyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGNoYWxsZW5nZXMgZmFjZWQgYnkgQ0YgcGF0aWVudHMgYW5kIHRoZWlyIGZhbWlsaWVzOiBcbiAgICAgIENGIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcyBvZnRlbiBlbmR1cmUgaW1tZW5zZSBwc3ljaG9sb2dpY2FsIHN0cmFpbi4gQW54aWV0eSwgZGVwcmVzc2lvbiwgYW5kIGZydXN0cmF0aW9uIGFyZSBjb21tb24sIGV4YWNlcmJhdGVkIGJ5IHRoZSBjb25zdGFudCB1bmNlcnRhaW50eSBhYm91dCB0aGUgZGlzZWFzZVx1MjAxOXMgcHJvZ3Jlc3Npb24gYW5kIHRoZSBlZmZlY3RpdmVuZXNzIG9mIG5ldyB0cmVhdG1lbnRzLiBUaGUgZW1vdGlvbmFsIHRvbGwgaXMgcHJvZm91bmRcdTIwMTRub3QganVzdCBkdWUgdG8gdGhlIHBoeXNpY2FsIGJ1cmRlbiBvZiB0aGUgaWxsbmVzcywgYnV0IGFsc28gYmVjYXVzZSBvZiB0aGUgaG9wZSBhbmQgZmVhciB0aGF0IGNvbWUgd2l0aCBlbWVyZ2luZyB0aGVyYXBpZXMuIFdoaWxlIG5ldyB0cmVhdG1lbnRzIGJyaW5nIHByb21pc2UsIHRoZXkgYWxzbyByYWlzZSBjb25jZXJucyBhYm91dCB0aGVpciBwb3RlbnRpYWwgc3VjY2VzcyBhbmQgdGhlIHVua25vd25zIHRoYXQgYWNjb21wYW55IHRoZW0uIFxuICAgICAgVGhlcmVcdTIwMTlzIGEgc3Ryb25nIHNlbnNlIG9mIG9wdGltaXNtIHJlZ2FyZGluZyBnZW5lIHRoZXJhcGllcywgYXMgdGhleSBob2xkIHRoZSBwb3RlbnRpYWwgdG8gc2lnbmlmaWNhbnRseSBpbXByb3ZlIGJvdGggbGlmZSBleHBlY3RhbmN5IGFuZCBxdWFsaXR5IG9mIGxpZmUgZm9yIENGIHBhdGllbnRzLiBNYW55IGFyZSBlYWdlciB0byBlbWJyYWNlIHRoZXNlIGlubm92YXRpb25zLCBzZWVpbmcgdGhlbSBhcyBhIGxvbmctYXdhaXRlZCBicmVha3Rocm91Z2guIEhvd2V2ZXIsIHRoaXMgZXhjaXRlbWVudCBpcyBvZnRlbiBtaXhlZCB3aXRoIGNvbmNlcm5zIGFib3V0IHNpZGUgZWZmZWN0cywgdGhlIGFjY2Vzc2liaWxpdHkgb2YgdGhlc2UgdGhlcmFwaWVzLCBhbmQgdGhlaXIgbG9uZy10ZXJtIGVmZmVjdGl2ZW5lc3MuIFRoZSBwcm9zcGVjdCBvZiBzdWNoIHRyZWF0bWVudHMgYnJpbmdzIGhvcGUsIGJ1dCBhbHNvIGEgZGVncmVlIG9mIHNjZXB0aWNpc20sIHBhcnRpY3VsYXJseSBhcm91bmQgd2hldGhlciB0aGV5IHdpbGwgYmUgYWNjZXNzaWJsZSB0byBhbGwgd2hvIG5lZWQgdGhlbS4gXG4gICAgICBQc3ljaG9sb2dpY2FsIHN1cHBvcnQsIGZhbWlseSBjb3Vuc2VsbGluZywgYW5kIHRoZSBpbnZvbHZlbWVudCBvZiBwYXRpZW50IGNvbW11bml0aWVzIGFyZSBlc3NlbnRpYWwgaW4gaGVscGluZyBwYXRpZW50cyBhbmQgdGhlaXIgZmFtaWxpZXMgY29wZSB3aXRoIHRoZSBlbW90aW9uYWwgYW5kIG1lbnRhbCBjaGFsbGVuZ2VzIG9mIGJvdGggdGhlIGRpc2Vhc2UgYW5kIGl0cyB0cmVhdG1lbnRzLiBUaGUgc3RyZW5ndGggb2YgdGhlc2Ugc3VwcG9ydCBzeXN0ZW1zIGNhbiBtYWtlIGEgcHJvZm91bmQgZGlmZmVyZW5jZSBpbiBob3cgd2VsbCBwYXRpZW50cyBuYXZpZ2F0ZSB0aGUgY2hhbGxlbmdlcyBvZiBsaXZpbmcgd2l0aCBDRiwgcGFydGljdWxhcmx5IHdoZW4gYWRhcHRpbmcgdG8gbmV3IHRoZXJhcGllcy4gXG4gICAgICBXZSBhbHNvIGxlYXJuZWQgdGhhdCB3aGlsZSBuZXcgdGhlcmFwaWVzIGFyZSBleGNpdGluZywgdGhlaXIgc3VjY2VzcyBvZnRlbiBkZXBlbmRzIG9uIHRoZWlyIHByYWN0aWNhbGl0eS4gVHJlYXRtZW50cyB0aGF0IGFyZSBjb21wbGV4LCBpbnZhc2l2ZSwgb3IgYnVyZGVuc29tZSBhcmUgbGVzcyBsaWtlbHkgdG8gYmUgYWRvcHRlZCwgZXZlbiBpZiB0aGV5IHByb21pc2Ugc2lnbmlmaWNhbnQgYmVuZWZpdHMuIFNpbXBsaWNpdHksIGVhc2Ugb2YgdXNlLCBhbmQgcmVkdWNpbmcgdGhlIHRyZWF0bWVudCBidXJkZW4gYXJlIGNyaXRpY2FsIGZhY3RvcnMgaW4gZW5zdXJpbmcgcGF0aWVudHMgZnVsbHkgZW5nYWdlIHdpdGggYW5kIGJlbmVmaXQgZnJvbSB0aGVzZSB0aGVyYXBpZXMuIFxuICAgICAgVGhlc2UgaW5zaWdodHMgaGF2ZSBzaGFwZWQgb3VyIGFwcHJvYWNoLCByZWluZm9yY2luZyB0aGUgaW1wb3J0YW5jZSBvZiBjb25zaWRlcmluZyBib3RoIHRoZSBwc3ljaG9sb2dpY2FsIGFuZCBwcmFjdGljYWwgYXNwZWN0cyBvZiBuZXcgZ2VuZSB0aGVyYXBpZXMsIHRvIGJldHRlciBhZGRyZXNzIHRoZSBuZWVkcyBvZiBDRiBwYXRpZW50cyBhbmQgdGhlaXIgZmFtaWxpZXMuIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+VGhlc2UgZmluZGluZ3MgZGlyZWN0bHkgaW5mbHVlbmNlZCBzZXZlcmFsIGtleSBhcmVhcyBvZiB0aGUgcHJvamVjdC4gV2UgYWRhcHRlZCB0aGUgcHJvamVjdCB0byBlbXBoYXNpc2UgZWFzZSBvZiB1c2UgYW5kIG1pbmltYWwgZGlzcnVwdGlvbiB0byBwYXRpZW50cycgZGFpbHkgbGl2ZXMuIEZvciBleGFtcGxlLCB3ZSBmb2N1c2VkIG9uIGRldmVsb3BpbmcgYSB0aGVyYXB5IGRlbGl2ZXJ5IHN5c3RlbSB0aGF0IHdhcyBhcyBub24taW52YXNpdmUgYXMgcG9zc2libGUuIFJlY29nbmlzaW5nIHRoZSBtZW50YWwgaGVhbHRoIGNoYWxsZW5nZXMsIHdlIGludGVncmF0ZWQgb3VyIHByb2plY3Qgd2l0aCBhIHNpbXBsZSB0aGVyYXBldXRpYyBtZXRob2QgdG8gcmVkdWNlIHRoZSBtZW50YWwgYnVyZGVuIG9uIHBhdGllbnRzLiBXZSBoYXZlIGVtcGhhc2lzZWQgdHJhbnNwYXJlbmN5IGluIGNvbW11bmljYXRpbmcgdGhlIGJlbmVmaXRzLCByaXNrcyBhbmQgZXhwZWN0YXRpb25zIG9mIGdlbmUgdGhlcmFweSB0byBlbnN1cmUgdGhhdCBwYXRpZW50cyBoYXZlIGEgcmVhbGlzdGljIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHBvdGVudGlhbCBvdXRjb21lcy4gVGhpcyBpbmNsdWRlcyB3b3JraW5nIGNsb3NlbHkgd2l0aCBwYXRpZW50IG9yZ2FuaXNhdGlvbnMgdG8gZGlzc2VtaW5hdGUgY2xlYXIgYW5kIGFjY3VyYXRlIGluZm9ybWF0aW9uLiBXZSBhcmUgYWN0aXZlbHkgZW5nYWdpbmcgd2l0aCBDRiBwYXRpZW50IGNvbW11bml0aWVzIGFuZCBoZWFsdGhjYXJlIHByb2Zlc3Npb25hbHMgdG8gZ2F0aGVyIG9uZ29pbmcgZmVlZGJhY2sgYW5kIGVuc3VyZSB0aGF0IHRoZSBwcm9qZWN0IGV2b2x2ZXMgYmFzZWQgb24gcmVhbCBwYXRpZW50IGV4cGVyaWVuY2VzIGFuZCBjaGFsbGVuZ2VzLiBUaGVyZWZvcmUgd2UgdXNlZCBvdXIgc3VydmV5IHRvIGdhdGhlciBmZWVkYmFjayBmcm9tIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcy4gIFxuICAgICAgQnkgaW50ZWdyYXRpbmcgdGhlc2UgaW5zaWdodHMsIHdlIGFpbSB0byBjcmVhdGUgYSBnZW5lIHRoZXJhcHkgcHJvamVjdCB0aGF0IGFkZHJlc3NlcyBub3Qgb25seSB0aGUgbWVkaWNhbCBuZWVkcywgYnV0IGFsc28gdGhlIGVtb3Rpb25hbCBhbmQgcHJhY3RpY2FsIGNvbmNlcm5zIG9mIENGIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcy4gPC9wPl0sXG4gICAgc3VtbWFyeTogXCJPdXIgcHJvamVjdCBhaW1zIHRvIGFkZHJlc3MgdGhlIHBzeWNob2xvZ2ljYWwgYW5kIG1lZGljYWwgY2hhbGxlbmdlcyBmYWNlZCBieSBjeXN0aWMgZmlicm9zaXMgKENGKSBwYXRpZW50cyBhbmQgdGhlaXIgZmFtaWxpZXMsIHBhcnRpY3VsYXJseSByZWdhcmRpbmcgZ2VuZSB0aGVyYXBpZXMuIFdlIGVuZ2FnZWQgd2l0aCBwc3ljaG9sb2dpc3RzIGFuZCBnYXRoZXJlZCBpbnNpZ2h0cyBmcm9tIHBhdGllbnRzIGFuZCBjYXJlZ2l2ZXJzLCByZXZlYWxpbmcgc2lnbmlmaWNhbnQgZW1vdGlvbmFsIHN0cmFpbiBhbmQgYSBtaXggb2Ygb3B0aW1pc20gYW5kIGNvbmNlcm4gYWJvdXQgbmV3IHRyZWF0bWVudHMuIEtleSBmaW5kaW5ncyBoaWdobGlnaHRlZCB0aGUgaW1wb3J0YW5jZSBvZiBwc3ljaG9sb2dpY2FsIHN1cHBvcnQgYW5kIHRoZSBwcmFjdGljYWxpdHkgb2YgdGhlcmFwaWVzIGluIGVuc3VyaW5nIHBhdGllbnQgZW5nYWdlbWVudC4gSW4gcmVzcG9uc2UsIHdlIGFyZSBkZXZlbG9waW5nIGEgdXNlci1mcmllbmRseSB0aGVyYXB5IGRlbGl2ZXJ5IHN5c3RlbSB0aGF0IG1pbmltaXplcyBkaXNydXB0aW9uIHRvIGRhaWx5IGxpZmUgd2hpbGUgZW1waGFzaXppbmcgdHJhbnNwYXJlbnQgY29tbXVuaWNhdGlvbiBhYm91dCB0cmVhdG1lbnQgcmlza3MgYW5kIGJlbmVmaXRzLiBPdXIgZ29hbCBpcyB0byBjcmVhdGUgYSBjb21wcmVoZW5zaXZlIGdlbmUgdGhlcmFweSBzb2x1dGlvbiB0aGF0IG1lZXRzIHRoZSBtZWRpY2FsIGFuZCBlbW90aW9uYWwgbmVlZHMgb2YgQ0YgcGF0aWVudHMuXCIsXG4gICAgbW9udGhzOiBcIlNlcHRlbWJlclwiLFxuICAgIGludGVydmlldzo8PlxuICAgIDxRYUJveCBxPVwiV2hpY2ggcHN5Y2hvbG9naWNhbCBjaGFsbGVuZ2VzIGFyZSBwYXJ0aWN1bGFybHkgcmVsZXZhbnQgZm9yIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cz9cIiBhPVwiUHN5Y2hvbG9naWNhbCBwcm9ibGVtcyBhcmUgb2Z0ZW4gYSBtYWpvciBpc3N1ZSBmb3IgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzLiBNYW55IHBhdGllbnRzIGV4cGVyaWVuY2UgYW54aWV0eSBhbmQgZGVwcmVzc2lvbiwgYW5kIHRoZWlyIHBhcmVudHMgYXJlIGFsc28gb2Z0ZW4gYWZmZWN0ZWQuIFRoaXMgaXMgZXhhY2VyYmF0ZWQgYnkgdGhlIGNvbnN0YW50IHN0cmFpbiBhbmQgc3RyZXNzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGlzZWFzZS4gU3BlY2lhbCBhdHRlbnRpb24gaXMgdGhlcmVmb3JlIHBhaWQgdG8gcHN5Y2hvbG9naWNhbCBzdXBwb3J0IGR1cmluZyBkaWFnbm9zaXMgYW5kIG9uZ29pbmcgdHJlYXRtZW50LiBSZWd1bGFyIHNjcmVlbmluZ3MgZm9yIGFueGlldHkgYW5kIGRlcHJlc3Npb24gYXMgd2VsbCBhcyB0aGUgZWFybHkgaW52b2x2ZW1lbnQgb2YgcGFyZW50cyBpbiB0aGUgdHJlYXRtZW50IHByb2Nlc3MgYXJlIGNlbnRyYWwgY29tcG9uZW50cyBvZiBjYXJlLlwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgc2lnbmlmaWNhbmNlIGRvIHRoZSBuZXcgdGhlcmFwaWVzIGhhdmUgZm9yIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cz9cIiBhPVwiTmV3IHRoZXJhcGllcyBhcmUgXHUyMDE4Z2FtZSBjaGFuZ2Vyc1x1MjAxOSBmb3IgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzLCBhcyB0aGV5IHNpZ25pZmljYW50bHkgaW1wcm92ZSBsaWZlIGV4cGVjdGFuY3kgYW5kIHF1YWxpdHkgb2YgbGlmZS4gSW4gdGhlIHBhc3QsIGN5c3RpYyBmaWJyb3NpcyB3YXMgbWFpbmx5IGEgcGFlZGlhdHJpYyBkaXNlYXNlIHdpdGggYSBzaG9ydCBsaWZlIGV4cGVjdGFuY3kuIFRvZGF5LCBuZXcgdGhlcmFwaWVzIG1ha2UgaXQgcG9zc2libGUgdG8gc2lnbmlmaWNhbnRseSBleHRlbmQgbGlmZSBleHBlY3RhbmN5IGFuZCBpbXByb3ZlIHF1YWxpdHkgb2YgbGlmZS4gTmV2ZXJ0aGVsZXNzLCB0aGUgZGlzZWFzZSBwZXJzaXN0cywgYW5kIHBhdGllbnRzIHN0aWxsIHJlcXVpcmUgY29tcHJlaGVuc2l2ZSB0cmVhdG1lbnQuIEltcHJvdmluZyBxdWFsaXR5IG9mIGxpZmUgdGhyb3VnaCBlYXJseSBhbmQgY29udGludW91cyB0aGVyYXB5IHRoZXJlZm9yZSByZW1haW5zIG9mIGdyZWF0IGltcG9ydGFuY2UuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGlzIHBzeWNob2xvZ2ljYWwgc3VwcG9ydCBpbnRlZ3JhdGVkIGludG8gcmVndWxhciB0cmVhdG1lbnQ/XCIgYT1cIlBzeWNob2xvZ2ljYWwgc3VwcG9ydCBpcyBhbiBpbnRlZ3JhbCBwYXJ0IG9mIHRoZSB0cmVhdG1lbnQgb2YgY3lzdGljIGZpYnJvc2lzLiBDYXJlIGlzIHRha2VuIHRvIGVuc3VyZSB0aGF0IGJvdGggcGF0aWVudHMgYW5kIHRoZWlyIGZhbWlsaWVzIGFyZSBzdXBwb3J0ZWQgYXQgYW4gZWFybHkgc3RhZ2UuIFRoaXMgaW5jbHVkZXMgcmVndWxhciBzY3JlZW5pbmdzIGZvciBhbnhpZXR5IGFuZCBkZXByZXNzaW9uLCBwc3ljaG8tZWR1Y2F0aW9uYWwgbWVhc3VyZXMgYW5kLCBpZiBuZWNlc3NhcnksIGZ1cnRoZXIgcHN5Y2hvdGhlcmFwZXV0aWMgc3VwcG9ydC4gVGhlIHRlYW0gd29ya3Mgb24gYW4gaW50ZXJkaXNjaXBsaW5hcnkgYmFzaXMgdG8gZW5zdXJlIHRoYXQgYWxsIGFzcGVjdHMgb2YgcGF0aWVudCBjYXJlIGFyZSB0YWtlbiBpbnRvIGFjY291bnQuIElmIG5lY2Vzc2FyeSwgZXh0ZXJuYWwgaGVscCBpcyBhbHNvIGFycmFuZ2VkLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBpcyBjby1vcGVyYXRpb24gYmV0d2VlbiBtZWRpY2FsIHNwZWNpYWxpc3RzIGFuZCBwc3ljaG9sb2dpc3RzIGltcHJvdmVkP1wiIGE9XCJUaGUgY29sbGFib3JhdGlvbiBiZXR3ZWVuIG1lZGljYWwgc3BlY2lhbGlzdHMgYW5kIHBzeWNob2xvZ2lzdHMgaXMgY2hhcmFjdGVyaXNlZCBieSBzaG9ydCBjb21tdW5pY2F0aW9uIGNoYW5uZWxzIGFuZCBjbG9zZSBjb29wZXJhdGlvbi4gU3BlY2lhbGlzdHMgY2FuIGV4Y2hhbmdlIGluZm9ybWF0aW9uIHF1aWNrbHkgYW5kIG1ha2UgZGVjaXNpb25zIHRvZ2V0aGVyLiBUaGlzIGVuYWJsZXMgY29tcHJlaGVuc2l2ZSBhbmQgY29vcmRpbmF0ZWQgY2FyZSBmb3IgcGF0aWVudHMuIEVmZmVjdGl2ZSBjb21tdW5pY2F0aW9uIGNoYW5uZWxzIGFyZSBhbHJlYWR5IGluIHBsYWNlIGFuZCB0aGlzIGNsb3NlIGNvLW9wZXJhdGlvbiBpcyBzZWVuIGFzIHZlcnkgcG9zaXRpdmUuIEltcHJvdmVtZW50cyBjb3VsZCBiZSBhY2hpZXZlZCB0aHJvdWdoIGFkZGl0aW9uYWwgdGltZSBzbG90cyBmb3IgZGlhbG9ndWUgb3IgZXhwYW5kZWQgcmVzb3VyY2VzLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBkbyBmYW1pbGllcyByZWFjdCB0byB0aGUgbmV3cyBvZiBhIHNlcmlvdXMgZGlhZ25vc2lzIGFuZCBob3cgaW1wb3J0YW50IGlzIGl0IHRoYXQgdGhleSByZWNlaXZlIHN1cHBvcnQgYXQgYW4gZWFybHkgc3RhZ2U/XCIgYT1cIkZhbWlsaWVzIGFyZSBvZnRlbiBzaG9ja2VkIGF0IGZpcnN0IHdoZW4gdGhleSByZWNlaXZlIHRoZSBkaWFnbm9zaXMuIFRoZXkgZmlyc3QgaGF2ZSB0byBjb21lIHRvIHRlcm1zIHdpdGggaXQgYW5kIHByb2Nlc3MgaXQuIEluaXRpYWxseSwgbWFueSBkb24ndCBhc2sgZm9yIHBzeWNob2xvZ2ljYWwgc3VwcG9ydCBzdHJhaWdodCBhd2F5LCBhbHRob3VnaCB0aGF0IHdvdWxkIGJlIGhlbHBmdWwuIEl0IHdvdWxkIGJlIGdvb2QgaWYgdGhleSB3ZXJlIGluZm9ybWVkIGFib3V0IGFsbCBhdmFpbGFibGUgcmVzb3VyY2VzIGF0IGFuIGVhcmx5IHN0YWdlLCBldmVuIGlmIHRoZXkgZG9uJ3Qgd2FudCB0byBtYWtlIHVzZSBvZiB0aGVtIHN0cmFpZ2h0IGF3YXkuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGRvZXMgYWNjZXNzIHRvIGdlbmUgdGhlcmFweSBhZmZlY3QgdGhlIHBzeWNob2xvZ2ljYWwgZGlzdHJlc3Mgb2YgcGF0aWVudHMgYW5kIGZhbWlsaWVzP1wiIGE9XCJBY2Nlc3MgdG8gZ2VuZSB0aGVyYXB5IGNhbiBoYXZlIGEgc2lnbmlmaWNhbnQgaW1wYWN0IG9uIHBzeWNob2xvZ2ljYWwgZGlzdHJlc3MuIFdoZW4gdGhlcmFweSBpcyBlZmZlY3RpdmUsIGZhbWlsaWVzIG9mdGVuIHNlZSBncmVhdCBwcm9ncmVzcyBhbmQgZmVlbCByZWxpZXZlZC4gQnV0IGlmIHRoZXJlIGlzIG5vIHN1aXRhYmxlIHRoZXJhcHksIG1hbnkgYXJlIHN0dWNrIHdpdGggb2xkZXIsIGxlc3MgZWZmZWN0aXZlIHRyZWF0bWVudHMsIHdoaWNoIGNhbiBsZWFkIHRvIGZydXN0cmF0aW9uIGFuZCBhIHNlbnNlIG9mIGRpc2FkdmFudGFnZS4gVGhlIGRpZmZlcmVuY2UgaW4gcXVhbGl0eSBvZiBsaWZlIGFuZCBvdXRsb29rIGlzIGh1Z2UuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGRvIHBhdGllbnRzIGFuZCBmYW1pbGllcyBmZWVsIGFib3V0IGdlbmUgdGhlcmFweSBjb21wYXJlZCB0byB0cmFkaXRpb25hbCB0aGVyYXBpZXM/XCIgYT1cIlRoZSB3aWxsaW5nbmVzcyB0byBwYXJ0aWNpcGF0ZSBpbiBnZW5lIHRoZXJhcGllcyBpcyBvZnRlbiBoaWdoLCBlc3BlY2lhbGx5IGlmIHRoZSBleGlzdGluZyB0aGVyYXBpZXMgYXJlIG5vdCBzdWZmaWNpZW50LiBUaGVyZSBpcyBhIGdyZWF0IG9wZW5uZXNzIHRvIG5ldyBhcHByb2FjaGVzLCBldmVuIGlmIHRoZXkgYXJlIG5ldyBhbmQgcG9zc2libHkgbm90IHlldCBmdWxseSB0ZXN0ZWQuIFRoZSBob3BlIGZvciBwcm9ncmVzcyBhbmQgaW1wcm92ZW1lbnQgaXMgc3Ryb25nLCBidXQgdGhlcmUgYXJlIGFsc28gY29uY2VybnMgYW5kIHVuY2VydGFpbnRpZXMgYWJvdXQgbmV3IHRoZXJhcGllcy5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGF0IHBzeWNob2xvZ2ljYWwgY2hhbGxlbmdlcyBjYW4gYXJpc2UgZm9sbG93aW5nIHRoZSBpbnRyb2R1Y3Rpb24gb2YgbmV3IHRoZXJhcGllcz9cIiBhPVwiTmV3IHRoZXJhcGllcyBub3Qgb25seSBicmluZyByZWxpZWYsIGJ1dCBhbHNvIGNoYWxsZW5nZXMuIFBhdGllbnRzIGFuZCBmYW1pbGllcyBoYXZlIHRvIGFkYXB0IHRvIGEgY2hhbmdlZCByZWFsaXR5LiBJZGVudGl0eSBjcmlzZXMgY2FuIG9jY3VyLCBlc3BlY2lhbGx5IGlmIHRoZSBpbGxuZXNzIGhhcyBiZWVuIGEgYmlnIHBhcnQgb2YgbGlmZSBmb3IgYSBsb25nIHRpbWUuIFRoZSBwcm9jZXNzIG9mIGFkanVzdG1lbnQgYW5kIHRoZSBwb3NzaWJsZSBmZWVsaW5ncyBvZiBhbGllbmF0aW9uIGZyb20gdGhlIHByZXZpb3VzIGNvbW11bml0eSBjYW4gY2F1c2UgYWRkaXRpb25hbCBwc3ljaG9sb2dpY2FsIHN0cmVzcy5cIi8+XG4gICAgPFFhQm94IHE9XCJIb3cgaW1wb3J0YW50IGlzIGNvbXByZWhlbnNpdmUgaW5mb3JtYXRpb24gYW5kIHBzeWNob2xvZ2ljYWwgc3VwcG9ydCBpbiBjb25uZWN0aW9uIHdpdGggZ2VuZSB0aGVyYXBpZXM/XCIgYT1cIkl0IGlzIGV4dHJlbWVseSBpbXBvcnRhbnQgdGhhdCBwYXRpZW50cyByZWNlaXZlIGNvbXByZWhlbnNpdmUgaW5mb3JtYXRpb24gYW5kIHBzeWNob2xvZ2ljYWwgc3VwcG9ydC4gUGVvcGxlIHNob3VsZCBrbm93IHdoYXQgdGhleSBjYW4gZXhwZWN0IGZyb20gdGhlIHRoZXJhcHkgYW5kIHdoYXQgYWRqdXN0bWVudHMgbWlnaHQgYmUgbmVjZXNzYXJ5LiBUYWxraW5nIG9wZW5seSBhYm91dCBwb3NzaWJsZSBkaXNhcHBvaW50bWVudHMgYW5kIGNoYWxsZW5nZXMgY2FuIGhlbHAgdGhlbSB0byBjb3BlIGJldHRlciB3aXRoIHRoZSBjaGFuZ2VzLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBkb2VzIHRoZSByb2xlIG9mIHN1cHBvcnQgZ3JvdXBzIGFuZCBwYXRpZW50IG9yZ2FuaXNhdGlvbnMgaW5mbHVlbmNlIGNvbmZpZGVuY2UgaW4gbmV3IHRoZXJhcGllcz9cIiBhPVwiU3VwcG9ydCBncm91cHMgYW5kIHBhdGllbnQgb3JnYW5pc2F0aW9ucyBhcmUgY3J1Y2lhbCBmb3IgY29uZmlkZW5jZSBpbiBuZXcgdGhlcmFwaWVzLiBJZiB0aGV5IGFyZSBhY3RpdmVseSBpbnZvbHZlZCBpbiByZXNlYXJjaCBhbmQgcHJvdmlkZSB0cmFuc3BhcmVudCBpbmZvcm1hdGlvbiwgdGhpcyBzdHJlbmd0aGVucyBwYXRpZW50IGNvbmZpZGVuY2UuIFRoZSB1c2Ugb2YgZG9uYXRpb25zIGFuZCB0aGUgZXN0YWJsaXNobWVudCBvZiByZWdpc3RyaWVzIGJ5IHN1Y2ggb3JnYW5pc2F0aW9ucyBjcmVhdGVzIHRydXN0IGFuZCBzaG93cyB0aGF0IHRoZXJlIGFyZSBzZXJpb3VzIGVmZm9ydHMgdG8gaW1wcm92ZSB0aGUgc2l0dWF0aW9uLlwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgYXJlIHRoZSBjaGFsbGVuZ2VzIGluIGFkYXB0aW5nIHRoZXJhcGllcyB0byBkaWZmZXJlbnQgZ2VuZXRpYyBtdXRhdGlvbnM/XCIgYT1cIkFkYXB0aW5nIHRoZXJhcGllcyB0byBkaWZmZXJlbnQgZ2VuZXRpYyBtdXRhdGlvbnMgaXMgYSBtYWpvciBjaGFsbGVuZ2UuIFdoaWxlIHRoZXJlIGhhcyBiZWVuIHByb2dyZXNzIGluIHRoZSB0cmVhdG1lbnQgb2YgY2VydGFpbiBtdXRhdGlvbnMgc3VjaCBhcyBEZWx0YS1GNTA4LCB3ZSBhcmUgc3RpbGwgYXQgdGhlIGJlZ2lubmluZyB3aXRoIG90aGVycy4gSW4gdGhlIGxvbmcgdGVybSwgYSBtb2R1bGFyIGdlbmUgdGhlcmFweSB0aGF0IGlzIGN1c3RvbWlzZWQgdG8gdGhlIHNwZWNpZmljIG11dGF0aW9ucyB3b3VsZCBiZSBpZGVhbC4gSXQgd2lsbCB0YWtlIGEgbG90IG9mIHdvcmsgdG8gZGV2ZWxvcCB0aGVzZSB0aGVyYXBpZXMgZm9yIGFsbCByZWxldmFudCBtdXRhdGlvbnMuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGRvIGZhbWlsaWVzIGFuZCBwYXRpZW50cyBkZWFsIHdpdGggdGhlIHJhcGlkIGZlZWRiYWNrIG9uIGV4cGVyaW1lbnRhbCB0aGVyYXBpZXM/XCIgYT1cIklmIHlvdSByZWFsaXNlIHRoYXQgYSB0aGVyYXB5IGlzIG5vdCB3b3JraW5nIGFzIGV4cGVjdGVkLCB0aGlzIGlzIGNvbW11bmljYXRlZCB2ZXJ5IHF1aWNrbHkuIFRoZSBmZWVkYmFjayBzeXN0ZW0gaXMgcXVpdGUgZWZmZWN0aXZlOiBlaXRoZXIgdGhlcmUgaXMgY2F1c2UgZm9yIGV1cGhvcmlhIGJlY2F1c2UgZXZlcnl0aGluZyBpcyBnb2luZyB3ZWxsLCBvciB0aGVyZSBpcyBiYWQgbmV3cy4gVGhpcyBxdWljayBmZWVkYmFjayBpcyBhbHNvIHJlYXNzdXJpbmcgYmVjYXVzZSBpdCBtZWFucyB5b3UgZG9uJ3QgaGF2ZSB0byBiZSBpbiB0aGUgZGFyayBmb3IgbG9uZy4gWW91IGFyZSBzaW1wbHkgZ3JhdGVmdWwgd2hlbiB5b3Uga25vdyBob3cgdGhlIHRoZXJhcHkgaXMgZ29pbmcsIGV2ZW4gaWYgaXQgaXMgbm90IGhhdmluZyB0aGUgZGVzaXJlZCBlZmZlY3QuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGltcG9ydGFudCBpcyB0aGUgY29tbXVuaXR5IGZvciBjeXN0aWMgZmlicm9zaXMgc3VmZmVyZXJzP1wiIGE9XCJUaGUgY3lzdGljIGZpYnJvc2lzIGNvbW11bml0eSBpcyBpbmNyZWRpYmx5IHN0cm9uZyBhbmQgd2VsbCBjb25uZWN0ZWQuIFRoYXQncyByZWFsbHkgaW1wcmVzc2l2ZS4gVGhvc2UgYWZmZWN0ZWQgb2Z0ZW4gaGF2ZSBubyBvdGhlciBwb2ludCBvZiBjb250YWN0IHRoYW4gdGhpcyBjb21tdW5pdHkgdG8gZXhjaGFuZ2UgaW5mb3JtYXRpb24uIEl0J3MgYSByZWxpYWJsZSBzb3VyY2Ugb2YgdmFsaWQgaW5mb3JtYXRpb24sIGFuZCB0aGF0J3Mgd29ydGggaXRzIHdlaWdodCBpbiBnb2xkLiBUaGUgY29tbXVuaXR5IGlzIGhvbmVzdCBhbmQgcmVhbGlzdGljIC0gdGhlcmUgaXMgbm8gc3VnYXJjb2F0aW5nLCB0aGUgaW5mb3JtYXRpb24gaXMgZGlyZWN0IGFuZCB3ZWxsIGRvY3VtZW50ZWQuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hhdCBpcyB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gZGlmZmVyZW50IHNwZWNpYWxpc3QgZGlzY2lwbGluZXMgaW4gdGhlIHRyZWF0bWVudCBvZiBjeXN0aWMgZmlicm9zaXM/XCIgYT1cIkluIGN5c3RpYyBmaWJyb3NpcyB0cmVhdG1lbnQsIHRoZSBzcGVjaWFsaXN0IGRpc2NpcGxpbmVzIHdvcmsgdG9nZXRoZXIgYXMgZXF1YWxzLiBBdCBjb25ncmVzc2VzLCBhbGwgZGlzY2lwbGluZXMgc3VjaCBhcyBwaHlzaW9zLCBkb2N0b3JzLCBwc3ljaG9sb2dpc3RzIGFuZCBudXRyaXRpb25pc3RzIGFyZSBlcXVhbGx5IHJlcHJlc2VudGVkLiBFdmVyeW9uZSB0YWtlcyBlYWNoIG90aGVyIHNlcmlvdXNseSBhbmQgdGhlcmUgaXMgYSBzdHJvbmcgaW50ZXJlc3QgaW4gZGV2ZWxvcGluZyBlYWNoIG90aGVyIGZ1cnRoZXIuIFRoaXMgaXMgcmVhbGx5IGV4Y2l0aW5nIGJlY2F1c2UgaXQgc2hvd3MgdGhhdCBldmVyeW9uZSBpcyB3b3JraW5nIHRvZ2V0aGVyIHRvIHByb3ZpZGUgdGhlIGJlc3QgY2FyZS5cIi8+XG4gICAgPFFhQm94IHE9XCJIb3cgZG8gZmFtaWxpZXMgZGVhbCB3aXRoIHRoZSBjaGFsbGVuZ2VzIG9mIHRoZXJhcHkgYW5kIHRoZSBmaW5hbmNpYWwgYXNwZWN0cz9cIiBhPVwiTWFueSBmYW1pbGllcyBhcmUgY29uZnJvbnRlZCB3aXRoIGV4dHJlbWVseSBoaWdoIHRoZXJhcHkgYW5kIHRyZWF0bWVudCBjb3N0cy4gVGhlcmUgaGFzIGJlZW4gcHJvZ3Jlc3MgYW5kIG1hbnkgdHJlYXRtZW50IG9wdGlvbnMgaW4gR2VybWFueSwgYnV0IHRoZXNlIGFyZSBvZnRlbiBleHBlbnNpdmUgYW5kIG5vdCBhdmFpbGFibGUgZXZlcnl3aGVyZS4gQXMgYSByZXN1bHQsIHNvbWUgZmFtaWxpZXMgYXJlIGZvcmNlZCB0byBsZWF2ZSB0aGVpciBob21lIGNvdW50cnkgaW4gb3JkZXIgdG8gcmVjZWl2ZSBiZXR0ZXIgbWVkaWNhbCBjYXJlLiBUaGlzIGlzIGFuIGVub3Jtb3VzIGJ1cmRlbiBhbmQgc2hvd3MgaG93IHVuZmFpciB0aGUgZGlzdHJpYnV0aW9uIG9mIHJlc291cmNlcyBpcyB3b3JsZHdpZGUuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGlzIG1lZGljYWwgY2FyZSBmb3IgcmVmdWdlZXMgb3JnYW5pc2VkP1wiIGE9XCJGb3IgcmVmdWdlZXMgZnJvbSBjb3VudHJpZXMgc3VjaCBhcyBVa3JhaW5lIG9yIG90aGVyIGNyaXNpcyBhcmVhcywgY2FyZSBpcyBvZnRlbiBhIGNoYWxsZW5nZS4gRHVyaW5nIGVtZXJnZW5jeSBjYXJlLCB0aGUgY2hpbGRyZW4gYXJlIHRyZWF0ZWQgYXMgaWYgdGhleSB3ZXJlIEdlcm1hbiBwYXRpZW50cy4gQnV0IHdoZW4gdGhlIHJlZnVnZWVzIGhhdmUgdG8gcmV0dXJuIHRvIHRoZWlyIGhvbWUgY291bnRyaWVzLCB0aGUgdGhlcmFweSBvZnRlbiBlbmRzLCB3aGljaCBpcyBhbiBlbm9ybW91cyBidXJkZW4gZm9yIHRoZSBmYW1pbGllcy4gSXQgaXMgZGlmZmljdWx0IGZvciB0aGVtIHRvIHByZXBhcmUgZm9yIHRoZSBmdXR1cmUgd2hlbiB0aGVpciBzdGF0dXMgaXMgdW5jbGVhciwgYW5kIHRoZXkgY29uc3RhbnRseSBsaXZlIHdpdGggdGhlIGZlYXIgb2YgYmVpbmcgZGVwb3J0ZWQuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IG11Y2ggcHN5Y2hvbG9naWNhbCBzdHJlc3MgaXMgY2F1c2VkIGJ5IHRoZXJhcGllcyBhbmQgdGhlaXIgaW1wbGVtZW50YXRpb24/XCIgYT1cIlRoZXJhcGllcyBjYW4gYmUgYSBtYWpvciBwc3ljaG9sb2dpY2FsIGJ1cmRlbiwgZXZlbiBpZiB0aGV5IGhhdmUgZnVuZGFtZW50YWxseSBwb3NpdGl2ZSBlZmZlY3RzLiBSZWd1bGFyIGluaGFsYXRpb25zLCB0YWJsZXRzIGFuZCBvdGhlciB0cmVhdG1lbnRzIGFyZSBvZnRlbiB0ZWRpb3VzIGFuZCByZXF1aXJlIGEgbG90IG9mIGRpc2NpcGxpbmUuIFNvbWUgcGF0aWVudHMgZmluZCBpdCBleHRyZW1lbHkgY2hhbGxlbmdpbmcgdG8gc3RpY2sgdG8gYSByZWd1bGFyIHRoZXJhcHkgc2NoZWR1bGUsIGVzcGVjaWFsbHkgaWYgdGhlIHRoZXJhcHkgZG9lcyBub3QgYnJpbmcgYW55IGltbWVkaWF0ZWx5IHZpc2libGUgcHJvZ3Jlc3MgaW4gdGhlIGxvbmcgdGVybS4gSXQgaXMgaW1wb3J0YW50IHRvIGJlIHJlYWxpc3RpYyBhYm91dCB0aGUgYnVyZGVuIG9mIHRoZXJhcHksIGFzIGl0IGNhbiBoYXZlIGEgbWFqb3IgaW1wYWN0IG9uIGRhaWx5IGxpZmUgYW5kIHdlbGwtYmVpbmcuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGRvIHBhdGllbnRzIHJlYWN0IHRvIG5ldyB0aGVyYXBpZXMgYW5kIHRoZSBhc3NvY2lhdGVkIGNoYWxsZW5nZXM/XCIgYT1cIk1hbnkgcGF0aWVudHMgYXJlIG9wZW4gdG8gbmV3IHRoZXJhcGllcyBidXQgaW1wbGVtZW50aW5nIHRoZW0gY2FuIGJlIGEgbWFqb3IgY2hhbGxlbmdlLiBJZiBhIG5ldyB0aGVyYXB5IGRvZXNuJ3Qgd29yayBpbW1lZGlhdGVseSBhdCBmaXJzdCBvciBldmVuIGhhcyBzaWRlIGVmZmVjdHMsIHRoaXMgY2FuIGJlIGRlbW90aXZhdGluZy4gVGhpcyBpcyBwYXJ0aWN1bGFybHkgZGlmZmljdWx0IGlmIHlvdSBoYXZlIGJlZW4gdW5kZXJnb2luZyB0cmVhdG1lbnQgZm9yIGEgbG9uZyB0aW1lIGFuZCBhcmUgaG9waW5nIHRvIG1ha2UgZ3JlYXQgcHJvZ3Jlc3MuIFRoZSBwYXRoIHRvIGEgYmV0dGVyIGNvbmRpdGlvbiBpcyBvZnRlbiBhcmR1b3VzIGFuZCBub3QgZXZlcnkgdGhlcmFweSBicmluZ3MgdGhlIGRlc2lyZWQgaW1wcm92ZW1lbnQuIE5ldmVydGhlbGVzcywgaXQgaXMgaW1wb3J0YW50IHRvIGtlZXAgZ29pbmcgYW5kIHBlcnNldmVyZSB3aXRoIHRoZSB0aGVyYXB5LCBldmVuIGlmIHRoZXJlIGFyZSBoYXJkIHRpbWVzLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBtdWNoIG9mIHRoZSBvdmVyYWxsIGlsbG5lc3MgaXMgcHN5Y2hvbG9naWNhbCBkaXN0cmVzcywgaW4gYWRkaXRpb24gdG8gdGhlIHBoeXNpY2FsIHN5bXB0b21zIGFuZCBkaXN0cmVzcyBmcm9tIHRoZXJhcGllcz9cIiBhPVwiVGhlIHBzeWNob2xvZ2ljYWwgcGFydCBvZiB0aGUgYnVyZGVuIGlzIGRpZmZpY3VsdCB0byBxdWFudGlmeSwgYXMgaXQgdmFyaWVzIGdyZWF0bHkgZnJvbSBpbmRpdmlkdWFsIHRvIGluZGl2aWR1YWwgYW5kIGlzIGluZmx1ZW5jZWQgYnkgbWFueSBmYWN0b3JzLiBUaGUgaW50ZXJhY3Rpb24gYmV0d2VlbiBwc3ljaG9sb2dpY2FsIHN0YWJpbGl0eSBhbmQgcGh5c2ljYWwgaGVhbHRoIGlzIGNvbnNpZGVyYWJsZSwgYXMgcHN5Y2hvbG9naWNhbCBzdHJlc3MgY2FuIGltcGFpciBzZWxmLWNhcmUgYW5kIHRodXMgcGh5c2ljYWwgaGVhbHRoLiBBdCBkaWZmZXJlbnQgc3RhZ2VzIG9mIGxpZmUsIHRoZSBwc3ljaG9sb2dpY2FsIGNvbXBvbmVudCBjYW4gdmFyeS4gRm9yIGV4YW1wbGUsIGl0IGNhbiBpbmNyZWFzZSBkdXJpbmcgcHViZXJ0eSBhbmQgeW91bmcgYWR1bHRob29kLiBUaGUgcHN5Y2hvbG9naWNhbCBjb21wb25lbnQgaXMgdGhlcmVmb3JlIG5vdCBzbWFsbCBhbmQgdmFyaWVzIGRlcGVuZGluZyBvbiB0aGUgaW5kaXZpZHVhbCBzaXR1YXRpb24gYW5kIHBoYXNlIG9mIGxpZmUuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGlzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBkaXNlYXNlIGFzc2Vzc2VkIHRocm91Z2ggcHJvamVjdHMgc3VjaCBhcyBNdWtvTW92ZSBvciBwcm9qZWN0cyBmb3IgY2hpbGRyZW4/XCIgYT1cIlRoZSB2aXNpYmlsaXR5IG9mIHRoZSBkaXNlYXNlIHRocm91Z2ggc3VjaCBwcm9qZWN0cyBjYW4gYmUgaGVscGZ1bCBpbiByYWlzaW5nIGF3YXJlbmVzcy4gV2l0aCByYXJlIGRpc2Vhc2VzIHN1Y2ggYXMgY3lzdGljIGZpYnJvc2lzLCB0aGUgZGlzZWFzZSBvZnRlbiByZW1haW5zIGFic3RyYWN0IGlmIHRoZXJlIGFyZSBubyBwZW9wbGUgZGlyZWN0bHkgYWZmZWN0ZWQgbmVhcmJ5LiBFZHVjYXRpb25hbCBwcm9qZWN0cyBzdWNoIGFzIE11a29Nb3ZlIGNhbiBoZWxwIGNoaWxkcmVuIGRldmVsb3AgYSBiZXR0ZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgZGlzZWFzZSwgZXZlbiBpZiB0aGUgaW1wYWN0IGlzIGxpbWl0ZWQgaWYgdGhlcmUgYXJlIG5vIGRpcmVjdCBwb2ludHMgb2YgcmVmZXJlbmNlLiBIb3dldmVyLCBpdCBjYW4gYmUgaGVscGZ1bCBpZiBwYXRpZW50cyB0aGVtc2VsdmVzIGV4cGxhaW4gdGhlaXIgZGlzZWFzZSBpbiBzY2hvb2xzIG9yIGNsYXNzZXMsIGFzIHRoaXMgcHJvdmlkZXMgZGlyZWN0IGFuZCBwZXJzb25hbCBpbnNpZ2h0cy5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGF0IGFyZSBpbXBvcnRhbnQgYXNwZWN0cyBvZiBkZXNpZ25pbmcgYSBnZW5lIHRoZXJhcHkgcHJvamVjdCBzbyB0aGF0IGl0IGlzIHZpZXdlZCBwb3NpdGl2ZWx5IGJ5IGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cz9cIiBhPVwiV2hlbiBkZXNpZ25pbmcgYSBnZW5lIHRoZXJhcHkgcHJvamVjdCwgY2FyZSBzaG91bGQgYmUgdGFrZW4gdG8gbWluaW1pc2UgdGhlIHByYWN0aWNhbCBodXJkbGVzLiBUaGUgdGhlcmFweVwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgdGlwcyBjYW4gYmUgZ2l2ZW4gdG8gaW1wcm92ZSB0aGUgYWNjZXNzaWJpbGl0eSBhbmQgYWNjZXB0YW5jZSBvZiBwcm9qZWN0cyBvciB0aGVyYXBpZXMgaW4gY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzPyBcIiBhPVwiSXQgaXMgaW1wb3J0YW50IHRvIGVuc3VyZSB0aGUgYWNjZXNzaWJpbGl0eSBvZiBwcm9qZWN0cyBhbmQgdGhhdCB0aGV5IGFyZSBwcmFjdGljYWwgdG8gaW1wbGVtZW50LiBUaGUgYnVyZGVuIG9uIHBhdGllbnRzIHNob3VsZCBiZSBtaW5pbWlzZWQuIFRoaXMgaW5jbHVkZXMgZW5zdXJpbmcgdGhhdCB0aGUgdGhlcmFweSBpcyBub3Qgb25seSBlZmZlY3RpdmUgYnV0IGFsc28gYXMgcGxlYXNhbnQgYXMgcG9zc2libGUuIEluIGFkZGl0aW9uLCBjb21tdW5pY2F0aW9uIGFib3V0IHRoZSBwcm9ncmVzcyBvZiB0aGUgdGhlcmFweSBzaG91bGQgYmUgdHJhbnNwYXJlbnQgYW5kIHVuZGVyc3RhbmRhYmxlIHRvIGJ1aWxkIHRydXN0IGFuZCBtYWtlIGl0IGNsZWFyIHRvIHBhdGllbnRzIGhvdyB0aGV5IGNhbiBiZW5lZml0IGZyb20gdGhlIG5ldyBkZXZlbG9wbWVudHMuIFwiLz4gXG4gICAgPC8+LFxuICAgIHBpY3R1cmV1cmxfYWltOlwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvaW50ZWdyYXRlZC1odW1hbi1wcmFjdGljZXMvb24tb3VyLXdheS10by1pbnRlcnZpZXctcHN5Y2hvbG9naXN0cy53ZWJwXCIsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJEci5cIixcbiAgICB2b3JuYW1lOiBcIk1ha290b1wiLFxuICAgIG5hY2hubmFtZTogXCJTYWl0b1wiLFxuICAgIGpvYjogXCJQb3N0ZG9jXCIsXG4gICAgYWZmaWxpYXRpb246IFwiQnJvYWQgSW5zdGl0dXRlIG9mIE1JVCBhbmQgSGFydmFyZFwiLFxuICAgIHBpY3R1cmV1cmw6IHBpY3NbJ3NhaXRvJ10sXG4gICAgdGFnOiBcIkFjYWRlbWlhXCIsXG4gICAgaGVhZGluZzogXCJJbnNpZ2h0cyBhbmQgUmVjb21tZW5kYXRpb25zIGZyb20gSW50ZXJ2aWV3IG9uIFByb3RlaW4gRW5naW5lZXJpbmdcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJzYWl0b1wiLFxuICAgIGNhcmR0ZXh0OiBcIlwiLFxuICAgIGxhbmd1YWdlOlwiZW5cIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIlNhaXRvLCBMZWFkaW5nIHJlc2VhcmNoIGV4cGVydCBvZiBGQU5aT1IgXCIsXG4gICAgcXVvdGVWb3JuYW1lOiBcIkRyLiBNYWtvdG9cIixcbiAgICBxdW90ZTogXCJUaGlzIHByb2plY3QgaXMgYWN0dWFsbHkgYSByZWFsbHkgaG90LCB2ZXJ5IGltcG9ydGFudCBwcm9qZWN0IGF0IHRoZSBhYnNvbHV0ZSBjdXR0aW5nIGVkZ2Ugb2Ygc2NpZW5jZS4gSG9uZXN0bHksIEkgc2VlIHJlc2VhcmNoZXJzIGFyb3VuZCB0aGUgd29ybGQgd29ya2luZyBvbiBkZXZlbG9waW5nIHNtYWxsZXIgQ1JJU1BSLUNhcy1saWtlIHByaW1lIGVkaXRvcnMuIEl0IHNob3dzIHRoYXQgeW91IGd1eXMgYXJlIHdvcmtpbmcgb24gYSByZWFsbHkgaW1wb3J0YW50IHByb2JsZW0uXCIsXG4gICAgYWltb2Zjb250YWN0OiBcIlRoZSBhaW0gb2YgdGhlIGludGVydmlldyB3YXMgdG8gZ2FpbiBkZWVwZXIgaW5zaWdodHMgaW50byB0aGUgdG9waWMgb2YgcHJvdGVpbiBlbmdpbmVlcmluZywgZXNwZWNpYWxseSB3aXRoIHJlZ2FyZCB0byBGYW56b3IgKFNwdUZ6KSBhbmQgdG8gZ2V0IGZlZWRiYWNrIG9uIG91ciBleGlzdGluZyBhcHByb2FjaGVzIGZvciBwb3NzaWJsZSBuaWNrYXNlcywgYXMgd2VsbCBhcyBmb3IgdGhlIHBsYW5uZWQgbmlja2FzZSBhc3NheS4gXCIsXG4gICAgaW5zaWdodHM6IFwiVGhlIGludGVydmlldyBwcm92aWRlZCB0aGUgaUdFTSB0ZWFtIHdpdGggdmFsdWFibGUgYWR2aWNlIHJlZ2FyZGluZyB0aGVpciBQcmltZSBFZGl0aW5nIHByb2plY3QgYW5kIGVzcGVjaWFsbHkgb24gdGhlaXIgcGxhbm5lZCBuaWNrYXNlIGFzc2F5LiBEciBTYWl0byBnYXZlIGRldGFpbGVkIGZlZWRiYWNrIG9uIHRlY2huaWNhbCBjaGFsbGVuZ2VzLCBlc3BlY2lhbGx5IHdpdGggcHJvdGVpbiBleHByZXNzaW9uIGluIEUuIGNvbGksIGFuZCBzdWdnZXN0ZWQgc3dpdGNoaW5nIHRvIHllYXN0IGZvciBiZXR0ZXIgcmVzdWx0cy4gSGUgYWxzbyBlbmNvdXJhZ2VkIHRoZSB0ZWFtIHRvIHBsYW4gY2FyZWZ1bGx5LCBnaXZlbiB0aGUgcHJvamVjdCdzIGNvbXBsZXhpdHksIGFuZCBvZmZlcmVkIGd1aWRhbmNlIG9uIGZ1dHVyZSBleHBlcmltZW50cy5cdTIwMkYgXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiV2UgaGF2ZSBhZGFwdGVkIG91ciBwbGFubmVkIG5pY2thc2UgYXNzYXkgYWNjb3JkaW5nIHRvIERyIFNhaXRvJ3MgYWR2aWNlIGFuZCBjaGFuZ2VkIGl0IGFjY29yZGluZ2x5IHRvIGV4cHJlc3Npb24gb2YgdGhlIFJOUCBjb21wbGV4IHVzaW5nIHllYXN0LlwiLFxuICAgIHN1bW1hcnk6IFwiVGhlIGludGVydmlldyBhaW1lZCB0byBnYWluIGluc2lnaHRzIGludG8gcHJvdGVpbiBlbmdpbmVlcmluZywgcGFydGljdWxhcmx5IHJlZ2FyZGluZyBGYW56b3IgKFNwdUZ6KSwgYW5kIHRvIGdldCBmZWVkYmFjayBvbiBwb3RlbnRpYWwgbmlja2FzZXMgYW5kIGEgcGxhbm5lZCBuaWNrYXNlIGFzc2F5LiBEci4gU2FpdG8gcHJvdmlkZWQgdmFsdWFibGUgYWR2aWNlLCBzdWdnZXN0aW5nIHRoZSB1c2Ugb2YgeWVhc3QgZm9yIHByb3RlaW4gZXhwcmVzc2lvbiBvdmVyIEUuIGNvbGkgZHVlIHRvIHRlY2huaWNhbCBjaGFsbGVuZ2VzIGFuZCBlbmNvdXJhZ2VkIGNhcmVmdWwgcGxhbm5pbmcuIEJhc2VkIG9uIGhpcyBmZWVkYmFjaywgdGhlIGlHRU0gdGVhbSBoYXMgYWRhcHRlZCB0aGVpciBuaWNrYXNlIGFzc2F5IHRvIGV4cHJlc3MgdGhlIFJOUCBjb21wbGV4IGluIHllYXN0LCBhbGlnbmluZyB3aXRoIERyLiBTYWl0bydzIHJlY29tbWVuZGF0aW9ucy5cIixcbiAgICBtb250aHM6IFwiYXVndXN0XCIsXG4gICAgaW50ZXJ2aWV3Ojw+XG4gICAgPFFhQm94IHE9XCJBcmUgeW91IGZhbWlsaWFyIHdpdGggaUdFTSwgYnkgdGhlIHdheT9cIiBhPVwiT2YgY291cnNlLCBJIGtub3cgaXQuXCIvPlxuICAgIDxRYUJveCBxPVwiRGlkIHlvdSBwYXJ0aWNpcGF0ZSB5b3Vyc2VsZiBhdCBzb21lIHBvaW50P1wiIGE9XCJVbmZvcnR1bmF0ZWx5LCBJIGRpZG4ndC4gSSBiZWxvbmcgdG8gYW4gZWFybGllciBnZW5lcmF0aW9uLiBpR0VNIGFjdHVhbGx5IHN0YXJ0ZWQgcmVsYXRpdmVseSByZWNlbnRseS5cIi8+XG4gICAgPFFhQm94IHE9XCJXZSB0aG91Z2h0IGZvciB0aGUgc3RydWN0dXJlIG9mIHRoZSBpbnRlcnZpZXcsIHdlIHdvdWxkIHN0YXJ0IGJ5IGdpdmluZyB5b3UgYSBicmllZiBvdmVydmlldyBvZiBvdXIgcHJvamVjdCBzbyBmYXIgdG8gZmFtaWxpYXJpemUgeW91IHdpdGggaXQuIFRoZW4sIHdlXHUyMDE5bGwgbW92ZSBvbiB0byB0aGUgcXVlc3Rpb25zLiBJcyB0aGF0IG9rYXk/XCIgYT1cIlllcywgb2YgY291cnNlLCBwbGVhc2UgZ28gYWhlYWQuXCIvPlxuICAgIDxRYUJveCBxPVwiV2UndmUgYmVlbiB3b3JraW5nIG9uIHRoaXMgcHJvamVjdCBmb3IgbW9yZSB0aGFuIGhhbGYgYSB5ZWFyIG5vdy4gSXQgYmVnYW4gYmVjYXVzZSBvbmUgb2Ygb3VyIHRlYW0gbWVtYmVycyBoYXMgYSBmcmllbmQgd2l0aCBjeXN0aWMgZmlicm9zaXMuIFRoYXQgZ290IHVzIGludGVyZXN0ZWQgaW4gdGhlIHRvcGljLiBXZSBzdGFydGVkIGJ5IGludmVzdGlnYXRpbmcgaG93IGdlbmUgZWRpdGluZyB0ZWNobm9sb2dpZXMgbGlrZSBDUklTUFItQ2FzOSBjb3VsZCBiZSBhcHBsaWVkIHRvIGN5c3RpYyBmaWJyb3Npcy4gVGhlbiwgd2UgZXhwbG9yZWQgcHJpbWUgZWRpdGluZyBhbmQgY29uc2lkZXJlZCBpZiBpdCBjb3VsZCBiZSB1c2VkIGZvciB0aGlzIGRpc2Vhc2Ugb3IgYWRhcHRlZCBmb3Igb3RoZXIgYXBwbGljYXRpb25zLiBJbml0aWFsbHksIHdlIHdvbmRlcmVkIGlmIHdlIGNvdWxkIG1ha2UgcHJpbWUgZWRpdGluZyBtb3JlIGNvbXBhY3QsIGVzcGVjaWFsbHkgc2luY2UgZGVsaXZlcnkgaXMgY2hhbGxlbmdpbmcgZHVlIHRvIGl0cyBsYXJnZSBjb21wbGV4IHNpemUuIFdlIGxvb2tlZCBpbnRvIHZhcmlvdXMgZGVsaXZlcnkgbWV0aG9kcywgaW5jbHVkaW5nIEFBVnMgKEFkZW5vLUFzc29jaWF0ZWQgVmlydXNlcykuIE91ciBmaXJzdCBhcHByb2FjaCB3YXMgdG8gZXhwbG9yZSBhbHRlcm5hdGl2ZSBuaWNrYXNlcyBhbmQgcG9zc2libHkgZW5naW5lZXIgbmV3IG9uZXMuIFRoYXQncyBob3cgd2UgY2FtZSBhY3Jvc3MgeW91ciByZXNlYXJjaCBcdTIwMTMgRmFuem9yLiBXZSBhbHNvIGNvbnNpZGVyZWQgb3RoZXIgY2FuZGlkYXRlcyBsaWtlIENhc1guIEFyZSB5b3UgZmFtaWxpYXIgd2l0aCBDYXNYP1wiIGE9XCJZZXMsIEkgYW0uXCIvPlxuICAgIDxRYUJveCBxPVwiV2UncmUgYWxzbyBleHBlcmltZW50aW5nIHdpdGggY2hhbmdlcyB0byB0aGUgZWRpdGluZyBjb21wbGV4IGl0c2VsZi4gSW4gYWRkaXRpb24sIHdlIGFpbSB0byBkZWxpdmVyIHRoZSBlZGl0aW5nIGNvbXBsZXggdXNpbmcgbmFub3BhcnRpY2xlcy4gV2UgY2hvc2UgdG8gZm9jdXMgb24gdGhlIGx1bmdzLCBob3BpbmcgdGhhdCB0YXJnZXRpbmcgdGhpcyBhcmVhIHdvdWxkIHJlZHVjZSB0aGUgbmVlZCBmb3IgQUFWIHZpcnVzZXMsIG1ha2luZyB0aGUgZGVsaXZlcnkgbGVzcyBpbW11bm9nZW5pYyBhbmQgbm90IGFzIGxpbWl0ZWQgYnkgc2l6ZS5cIiBhPVwiU28sIGluIHRoaXMgaUdFTSBwcm9qZWN0LCB5b3UncmUgd29ya2luZyBvbiBib3RoIHJlZHVjaW5nIHRoZSBzaXplIG9mIHRoZSBwcmltZSBlZGl0b3IgYW5kIGRldmVsb3BpbmcgbmFub3BhcnRpY2xlcyBmb3IgZGVsaXZlcnk/XCIvPlxuICAgIDxRYUJveCBxPVwiWWVzLCB0aGF0XHUyMDE5cyB0aGUgcGxhbi4gQmVmb3JlIHdlIHN0YXJ0IHdpdGggdGhlIG1haW4gcXVlc3Rpb25zLCBob3cgbXVjaCB0aW1lIGRvIHlvdSBoYXZlPyBJcyBoYWxmIGFuIGhvdXIgb2theT9cIiBhPVwiTm8gcHJvYmxlbSwgaGFsZiBhbiBob3VyIGlzIGZpbmUuXCIvPlxuICAgIDxRYUJveCBxPVwiR3JlYXQhIFRoZW4sIGxldFx1MjAxOXMgc3RhcnQgd2l0aCB0aGUgZmlyc3QgcXVlc3Rpb24uIE91ciBhcHByb2FjaCB0byBtb2RpZnlpbmcgdGhlIGVuZG9udWNsZWFzZSBGQU5aT1Igc3RhcnRlZCB3aXRoIHVuZGVyc3RhbmRpbmcgaXRzIG1lY2hhbmlzbS4gQ291bGQgd2UgZ28gb3ZlciB0aGlzIG1lY2hhbmlzbSB3aXRoIHlvdSB0byBlbnN1cmUgd2UgdW5kZXJzdG9vZCBpdCBjb3JyZWN0bHk/XCIgYT1cIk9mIGNvdXJzZSwgcGxlYXNlIGdvIGFoZWFkLlwiLz5cbiAgICA8UWFCb3ggcT1cIkFzIHdlIHVuZGVyc3RhbmQgaXQsIHRoZSBGQU5aT1IgcHJvdGVpbiBoYXMgZGlmZmVyZW50IGRvbWFpbnMsIGluY2x1ZGluZyB0aGUgUnV2QyBhbmQgdGhlIE5VQyBkb21haW4uIFRoZSBSdXZDIGRvbWFpbiBjdXRzIHRoZSBETkEgYWZ0ZXIgYmluZGluZy4gSXMgdGhhdCBjb3JyZWN0P1wiIGE9XCJBY3R1YWxseSwgd2UgZG9uJ3QgY2FsbCB0aGlzIGRvbWFpbiB0aGUgTlVDIGRvbWFpbiBhbnltb3JlLiBJbiB0aGUgcGFzdCwgYWJvdXQgZWlnaHQgeWVhcnMgYWdvLCByZXNlYXJjaGVycyB0aG91Z2h0IGl0IHdhcyBhIG51Y2xlYXNlIGRvbWFpbiwgY2FsbGVkIHRoZSAnTlVDJyBkb21haW4uIEhvd2V2ZXIsIG5vdyB3ZSBrbm93IHRoYXQgdGhpcyBkb21haW4gaXRzZWxmIGRvZXMgbm90IGhhdmUgY2F0YWx5dGljIGFjdGl2aXR5LiBXZSBjYWxsIGl0IHRoZSBUTkIgZG9tYWluLCBkZXJpdmVkIGZyb20gdGhlIHByb3RlaW4ncyBhbmNlc3RvciwgVE5QQi5cIi8+XG4gICAgPFFhQm94IHE9XCJJIHNlZS4gVGhhbmsgeW91IGZvciBjbGFyaWZ5aW5nLiBXZSBhbHNvIG5vdGljZWQgdGhhdCBDYXM5IGhhcyB0d28gY2F0YWx5dGljIGRvbWFpbnMsIHdoaWNoIGFsbG93IGZvciBtdXRhdGlvbiBvZiBvbmUgb3IgdHdvIG9mIHRoZW0gdG8gY3JlYXRlIGEgbmlja2FzZSwgbWFraW5nIHNpbmdsZS1zdHJhbmQgY3V0cy4gSXMgdGhpcyBzaW1pbGFyIHdpdGggQ2FzMTIgZWxlbWVudHM/XCIgYT1cIkl0J3MgYSBiaXQgbW9yZSBjb21wbGljYXRlZCB3aXRoIENhczEyLiBUaGlzIHByb2plY3QsIGluIHBhcnRpY3VsYXIsIGlzIHZlcnkgYWR2YW5jZWQgYW5kIGludm9sdmVzIHVuZGVyc3RhbmRpbmcgdGhlIG51YW5jZXMgb2YgdGhlc2UgZG9tYWlucy4gVGhlIHBhcGVyIG9uIENhczEyIHByaW1lIGVkaXRpbmcgZGlzY3Vzc2VzIGhvdyBtdXRhdGlvbnMgY2FuIGFmZmVjdCBmdW5jdGlvbmFsaXR5LiBJbiBGQU5aT1IsIHlvdSBtaWdodCBiZSBhYmxlIHRvIGF0dGVtcHQgc2ltaWxhciBtdXRhdGlvbnMsIHRob3VnaCBJIGhhdmVuJ3QgcGVyc29uYWxseSB0cmllZCB0aGVtLlwiLz5cbiAgICA8UWFCb3ggcT1cIlRoYXQgYWxpZ25zIHdpdGggb3VyIHRoaW5raW5nLiBXZSByZWNlbnRseSBsb29rZWQgYXQgYSBwYXBlciBkZXNjcmliaW5nIHRoZSBlbmdpbmVlcmluZyBvZiBDYXMxMmEgaW50byBhIG5pY2thc2UuIE91ciBhcHByb2FjaCBpbnZvbHZlcyBpbnZlc3RpZ2F0aW5nIHNpbWlsYXIgcGF0dGVybnMgaW4gRkFOWk9SLiBGb3IgZXhhbXBsZSwgd2UgaWRlbnRpZmllZCB0d28ga2V5IGFtaW5vIGFjaWRzIFx1MjAxNCBnbHV0YW1pbmUgYW5kIGFyZ2luaW5lIFx1MjAxNCB0aGF0IGFwcGVhciB0byBpbnRlcmFjdCB3aXRoIHRoZSBETkEuXCIgYT1cIkkgYWdyZWUgdGhhdCB0YXJnZXRpbmcgc3BlY2lmaWMgZG9tYWlucyBpcyBhIHBvdGVudGlhbCBhcHByb2FjaC4gSG93ZXZlciwgYWx0ZXJpbmcgYW4gZW56eW1lIHRvIGdhaW4gYSBuZXcgZnVuY3Rpb24gaXMgY2hhbGxlbmdpbmcuIFRoZSBDYXMxMmEgcGFwZXIgcHJvdmlkZXMgYSBwYXRoIGZvcndhcmQgYnkgc2hvd2luZyBob3cgY2VydGFpbiBkb21haW5zIGNhbiBiZSBtdXRhdGVkIHRvIGNyZWF0ZSBuaWNrYXNlcy4gQWN0dWFsbHksIHRoaXMgcHJvamVjdCBpcyByZWFsbHkgaW1wb3J0YW50IGFuZCBhdCB0aGUgZm9yZWZyb250IG9mIHNjaWVuY2UuIFJlc2VhcmNoZXJzIHdvcmxkd2lkZSBhcmUgd29ya2luZyBvbiBkZXZlbG9waW5nIHNtYWxsZXIgQ1JJU1BSLUNhcy1saWtlIHByaW1lIGVkaXRvcnMuXCIvPlxuICAgIDxRYUJveCBxPVwiVGhhdFx1MjAxOXMgYXdlc29tZSB0byBoZWFyLCB0aGFuayB5b3UgZm9yIHRoaXMgZmVlZGJhY2suIFdlIHBsYW4gdG8gdGVzdCB0aGlzIGNvbmNlcHQuIE9uZSBvZiBvdXIgaWRlYXMgaXMgdG8gbXV0YXRlIHNwZWNpZmljIGFtaW5vIGFjaWRzIGluIHRoZSBUTkIgZG9tYWluIG9mIEZBTlpPUiB0byBzZWUgaWYgaXQgY2hhbmdlcyBpdHMgZnVuY3Rpb25hbGl0eS4gV2UgaGF2ZSBvcmRlcmVkIHRoZXNlIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiBGQU5aT1IuXCIgYT1cIlRoYXRcdTIwMTlzIGEgcmVhc29uYWJsZSBhcHByb2FjaC4gSG93ZXZlciwgYmUgY2F1dGlvdXMuIElmIHRoZSBtdXRhdGlvbiBkZXN0YWJpbGl6ZXMgdGhlIHByb3RlaW4sIGl0IG1pZ2h0IG5vdCBiZSBleHByZXNzZWQgY29ycmVjdGx5LiBCdXQgaXQncyB3b3J0aCB0cnlpbmcsIGFzIHRoZSBvdXRjb21lIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgbXV0YXRpb24gYW5kIHRoZSBwcm90ZWluLlwiLz5cbiAgICA8UWFCb3ggcT1cIlllcywgd2UgYXJlIGF3YXJlIG9mIHRoYXQgcmlzay4gV2VcdTIwMTlyZSBhbHNvIHBsYW5uaW5nIHRvIHVzZSBpbiB2aXRybyBhc3NheXMgdG8gdGVzdCBvdXIgY2FuZGlkYXRlcy4gV2UgZGVzaWduZWQgZ3VpZGUgUk5BcyBhbmQgd2lsbCB1c2UgZ2VsIGVsZWN0cm9waG9yZXNpcyB0byBhbmFseXplIHRoZSByZXN1bHRzLCBsb29raW5nIGZvciBuaWNraW5nIG9yIGRvdWJsZS1zdHJhbmQgY3V0cy5cIiBhPVwiSW50ZXJlc3RpbmcuIEFyZSB5b3UgcGxhbm5pbmcgdG8gcHVyaWZ5IGVhY2ggY2FuZGlkYXRlIHByb3RlaW4/XCIvPlxuICAgIDxRYUJveCBxPVwiWWVzLCBidXQgd2UgY2Fubm90IHVzZSB5ZWFzdCwgc28gd2Ugd2lsbCB0cnkgcHJvZHVjaW5nIHRoZSBwcm90ZWlucyBpbiBFLiBjb2xpIGFuZCB0aGVuIHB1cmlmeSB0aGVtLiBXZVx1MjAxOWxsIGNvbWJpbmUgdGhlbSB3aXRoIGluIHZpdHJvLXRyYW5zY3JpYmVkIG9tZWdhIFJOQS4gRG8geW91IHRoaW5rIHRoYXQgd291bGQgd29yaz9cIiBhPVwiSXQgbWlnaHQgbm90IHdvcmsgd2l0aCBFLiBjb2xpIGZvciBGQU5aT1IuIEluIG91ciBleHBlcmllbmNlLCBFLiBjb2xpIGNhbm5vdCBwcm9kdWNlIHRoZSBob2xvZW56eW1lIG9mIEZBTlpPUiB3aXRob3V0IGl0cyBhc3NvY2lhdGVkIFJOQS4gV2UgaW5pdGlhbGx5IHRyaWVkIEUuIGNvbGkgYnV0IHRoZW4gc3dpdGNoZWQgdG8geWVhc3QsIHdoaWNoIGFsbG93ZWQgdXMgdG8gb2J0YWluIGZ1bmN0aW9uYWwgcHJvdGVpbi1STkEgY29tcGxleGVzLlwiLz5cbiAgICA8UWFCb3ggcT1cIlRoYXRcdTIwMTlzIHZhbHVhYmxlIGluc2lnaHQuIElzIHRoZSByZWFzb24gRS4gY29saSBmYWlscyBiZWNhdXNlIGl0IGNhbm5vdCBwcm9wZXJseSBmb3JtIHRoZSBwcm90ZWluLVJOQSBjb21wbGV4P1wiIGE9XCJQb3NzaWJseS4gVGhlIGV4YWN0IHJlYXNvbiBpc25cdTIwMTl0IGNsZWFyLCBidXQgd2UgZm91bmQgdGhhdCBvbmx5IGluIHllYXN0LCB3aGVyZSB0aGUgcHJvdGVpbiBhbmQgUk5BIGFyZSBjby1leHByZXNzZWQgZnJvbSB0aGVpciBuYXRpdmUgbG9jaSwgY291bGQgd2Ugb2J0YWluIGEgZnVuY3Rpb25hbCBjb21wbGV4LiBXZSBhbHNvIHRyaWVkIHJlcGxpY2F0aW5nIHRoaXMgc2V0dXAgaW4gRS4gY29saSwgYnV0IGl0IGRpZG4ndCB3b3JrLlwiLz5cbiAgICA8UWFCb3ggcT1cIlRoaXMgaXMgcmVhbGx5IGhlbHBmdWwgaW5mb3JtYXRpb24uIFdlIHdpbGwgY29uc2lkZXIgc3dpdGNoaW5nIHRvIHllYXN0LiBEbyB5b3UgaGF2ZSBhbnkgYWR2aWNlIG9uIGhvdyB0byBxdWlja2x5IHRyYW5zaXRpb24gb3VyIGFwcHJvYWNoIGZyb20gRS4gY29saSB0byB5ZWFzdD9cIiBhPVwiWW91IGNhbiBjZXJ0YWlubHkgdXNlIHllYXN0LiBJdFx1MjAxOXMgbm90IHRvbyBkaWZmaWN1bHQuIFlvdSBjb3VsZCBvcmRlciB0aGUgcGxhc21pZHMgZnJvbSBBZGRnZW5lIGFuZCBzdGFydCBjdWx0dXJpbmcgeWVhc3QuIERvZXMgeW91ciBpR0VNIHRlYW0gaGF2ZSB0aGUgYWJpbGl0eSB0byB3b3JrIHdpdGggeWVhc3Q/XCIvPlxuICAgIDxRYUJveCBxPVwiWWVzLCB3ZSBjYW4uIFdlJ3ZlIGp1c3QgbmV2ZXIgd29ya2VkIHdpdGggeWVhc3QgYmVmb3JlIGJlY2F1c2UgaXQgc2VlbWVkIGVhc2llciB0byB1c2UgRS4gY29saS4gQnV0IGl0XHUyMDE5cyBnb29kIHRvIGtub3cgdGhhdCBpdFx1MjAxOXMgbWFuYWdlYWJsZS5cIiBhPVwiWWVzLCBpdCBpcy4gV2UgdXNlZCBhIHllYXN0IHN0cmFpbiBjYWxsZWQgQkNZMTIzLCB3aGljaCBjb250YWlucyB0aGUgZ2FsYWN0b3NlIGluZHVjdGlvbiBzeXN0ZW0uIEZvciBwcm90ZWluIGluZHVjdGlvbiBpbiB5ZWFzdCwgdGhpcyBzeXN0ZW0gaXMgbmVjZXNzYXJ5LiBJZiB5b3UgdXNlIGFub3RoZXIgeWVhc3Qgc3RyYWluLCBtYWtlIHN1cmUgaXQgaGFzIHRoZSBjYXBhYmlsaXR5IGZvciBnYWxhY3Rvc2UgaW5kdWN0aW9uLlwiLz5cbiAgICA8UWFCb3ggcT1cIkdvdCBpdCwgd2Ugd2lsbCBjb25zaWRlciB1c2luZyBHaWJzb24gYXNzZW1ibHkuIE9uY2Ugd2UgY2xvbmUgb3VyIG11dGF0aW9uIGNhbmRpZGF0ZXMgaW50byB5b3VyIHBsYXNtaWQsIHdlXHUyMDE5bGwgZXhwcmVzcyB0aGUgUk5BLXByb3RlaW4gY29tcGxleCBpbiB5ZWFzdCBhbmQgcHVyaWZ5IGl0IGZyb20gdGhlcmUuIElzIHRoYXQgY29ycmVjdD9cIiBcbiAgICAgICAgICAgYT1cIlllcywgdGhhdCdzIHRoZSByaWdodCBhcHByb2FjaC4gVGhlIHBsYXNtaWQgd2UgdXNlZCBoYXMgYW4gTUJQLXRhZyBmb3IgcHVyaWZpY2F0aW9uLCB3aGljaCB3b3JrcyBiZXR0ZXIgdGhhbiBhIEhpcy10YWcuIEl0IGF2b2lkcyB0aGUgaGlnaCBiYWNrZ3JvdW5kIHRoYXQgSGlzLXRhZ3Mgb2Z0ZW4gaW50cm9kdWNlLlwiIC8+XG4gICAgPFFhQm94IHE9XCJUaGFuayB5b3UgZm9yIHRoaXMgYWR2aWNlLiBXZSBhbHNvIGhhdmUgYSBxdWVzdGlvbiBhYm91dCB0aGUgeWVhc3Qgc3RyYWluIHlvdSB1c2VkLCBCQ1kxMjMuIElzIGl0IGNydWNpYWwgdG8gdXNlIHRoaXMgc3BlY2lmaWMgc3RyYWluLCBvciBjb3VsZCB3ZSB1c2UgYW4gYWx0ZXJuYXRpdmUgYXMgbG9uZyBhcyBpdCBzdXBwb3J0cyBnYWxhY3Rvc2UgaW5kdWN0aW9uP1wiIFxuICAgICAgICAgICBhPVwiSW4gdGhlb3J5LCB5b3UgY2FuIHVzZSBhbnkgeWVhc3Qgc3RyYWluIHRoYXQgYWxsb3dzIGdhbGFjdG9zZSBpbmR1Y3Rpb24uIEhvd2V2ZXIsIEkgcmVjb21tZW5kIGZvbGxvd2luZyB0aGUgd29ya2luZyBwcm90b2NvbCB3aXRoIEJDWTEyMyBzaW5jZSBpdCBoYXMgYWxyZWFkeSBiZWVuIHByb3ZlbiB0byB3b3JrLiBJdFx1MjAxOXMgdGhlIHNhZmVzdCB3YXkgdG8gZW5zdXJlIGNvbnNpc3RlbmN5IGluIHlvdXIgZXhwZXJpbWVudHMuXCIgLz5cbiAgICA8UWFCb3ggcT1cIlBlcmZlY3QsIHRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIGFsbCB5b3VyIGRldGFpbGVkIGFuc3dlcnMhIFRoYXQgd291bGQgYmUgaXQgZm9yIHRoZSBpbnRlcnZpZXcsIGl0IHdhcyBhIHBsZWFzdXJlIGdldHRpbmcgdG8ga25vdyB5b3UhXCIgXG4gICAgICAgICAgIGE9XCJUaGFuayB5b3UhIElcdTIwMTlsbCBiZSBpbiBUb2t5byBhdCBSSUtFTiwgb25lIG9mIHRoZSB0b3Agc2NpZW5jZSBpbnN0aXR1dGVzIGluIEphcGFuLiBJZiB5b3Uga25vdyBhbnkgR2VybWFuIHN0dWRlbnRzIGludGVyZXN0ZWQgaW4gY29taW5nIHRvIEphcGFuLCBwbGVhc2UgbGV0IHRoZW0ga25vdy4gV2UgaGF2ZSB2YXJpb3VzIG9wcG9ydHVuaXRpZXMgZm9yIGludGVybnNoaXBzIG9yIHNob3J0IHN0YXlzLlwiIC8+XG4gICAgPFFhQm94IHE9XCJUaGF0XHUyMDE5cyB3b25kZXJmdWwgdG8gaGVhci4gVGhhbmsgeW91IHNvIG11Y2ggZm9yIHlvdXIgdGltZSBhbmQgdmFsdWFibGUgaW5zaWdodHMuXCIgXG4gICAgICAgICAgIGE9XCJNeSBwbGVhc3VyZS4gSSB3aXNoIHlvdSB0aGUgYmVzdCBvZiBsdWNrIHdpdGggeW91ciBwcm9qZWN0LiBGZWVsIGZyZWUgdG8gcmVhY2ggb3V0IGFueXRpbWUuIEdvb2RieWUhXCIgLz5cbiAgICA8Lz4sXG4gICAgcGljdHVyZXVybF9pbnRlcnZpZXc6XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9pbnRlZ3JhdGVkLWh1bWFuLXByYWN0aWNlcy9zYWl0by53ZWJwXCIsXG4gIH0sXG4gIHtcbiAgICB0aXRsZTogXCJEci4gcmVyLiBuYXQuIFwiLFxuICAgIHZvcm5hbWU6IFwiTWFyY3VzXCIsXG4gICAgbmFjaG5uYW1lOiBcIkJlcmdlclwiLFxuICAgIGpvYjogXCJHWFAgXCIsXG4gICAgYWZmaWxpYXRpb246IFwiRXhwZXJ0XCIsXG4gICAgcGljdHVyZXVybDogcGljc1snZ3hwZXhwZXJ0J10sXG4gICAgdGFnOiBcIkluZHVzdHJ5XCIsXG4gICAgbGFuZ3VhZ2U6IFwiZGVcIixcbiAgICBoZWFkaW5nOiBcIkRlZXAgRGl2ZSBpbnRvIEdvb2QgUHJhY3Rpc2UsIEd4UCBcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJneHBleHBlcnRcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZU5hY2huYW1lOiBcIkJlcmdlciwgR3hQIEV4cGVydFwiLFxuICAgIHF1b3RlVm9ybmFtZTogXCJEci4gcmVyLiBuYXQuIE1hcmN1c1wiLFxuICAgIHF1b3RlOiBcIk1pbmltdW0gcmVxdWlyZW1lbnQ6IEFjdXRlIHRveGljaXR5IHN0dWR5IG9uIGFuaW1hbHMgLSBpbXBvcnRhbnQgZm9yIGNhbGN1bGF0aW5nIHRoZSBzdGFydGluZyBkb3NlIGZvciBodW1hbnMuIEluIGFkZGl0aW9uLCBwaGFybWFjb2xvZ2ljYWwgc3R1ZGllcywgZ2Vub3RveGljIHN0dWRpZXMgYW5kIGltbXVub3RveGljIHN0dWRpZXMuIEluIHlvdXIgY2FzZSBhbHNvIGNocm9uaWMgdG94aWNpdHkgc3R1ZGllcy5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5UaGUgYWltIG9mIG91ciBjb250YWN0IHdpdGggR3hQIGV4cGVydCA8YSBocmVmPVwiaHR0cHM6Ly9neHBleHBlcnQuZGUvXCI+RHIuIE1hcmN1cyBCZXJnZXI8L2E+IHdhcyB0byBnYXRoZXIgaW5zaWdodHMgYW5kIGFzayBxdWVzdGlvbnMgYWJvdXQgaG93IHRvIHByb2NlZWQgd2l0aCB0aGUgUHJlY3lzZSBwcm9qZWN0LCBjbGFyaWZ5aW5nIHRoZSBuZXh0IHN0ZXBzIHJlcXVpcmVkIGZvciBpdHMgY29udGludWVkIGRldmVsb3BtZW50LCBwYXJ0aWN1bGFybHkgY29uY2VybmluZyByZWd1bGF0b3J5IHN0cmF0ZWd5LCBxdWFsaXR5IG1hbmFnZW1lbnQsIGFuZCBjbGluaWNhbCBkZXZlbG9wbWVudC4gR3hQLCB3aGljaCBzdGFuZHMgZm9yIFx1MjAxOEdvb2QgUHJhY3RpY2VcdTIwMTkgZ3VpZGVsaW5lcywgZW5jb21wYXNzZXMgdmFyaW91cyByZWd1bGF0aW9ucyBhbmQgc3RhbmRhcmRzIGludGVuZGVkIHRvIGVuc3VyZSBxdWFsaXR5IGFuZCBjb21wbGlhbmNlIGluIHRoZSBkZXZlbG9wbWVudCBhbmQgbWFudWZhY3R1cmluZyBvZiBwaGFybWFjZXV0aWNhbCBhbmQgYmlvcGhhcm1hY2V1dGljYWwgcHJvZHVjdHMuIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+RnJvbSB0aGUgZGlzY3Vzc2lvbiB3aXRoIERyLiBCZXJnZXIgZXhwZXJ0LCB3ZSBnYWluZWQgc2V2ZXJhbCBrZXkgaW5zaWdodHMgaW50byBob3cgdG8gcHJvY2VlZCB3aXRoIHRoZSBQcmVjeXNlIHByb2plY3QuIEZpcnN0LCBpdCBiZWNhbWUgY2xlYXIgdGhhdCBvYnRhaW5pbmcgYSBTY2llbnRpZmljIEFkdmljZSBmcm9tIHRoZSBQYXVsLUVocmxpY2gtSW5zdGl0dXQgIDxhIGhyZWY9XCIgaHR0cHM6Ly93d3cucGVpLmRlL0RFL2hvbWUvaG9tZS1ub2RlLmh0bWxcIiA+KFBFSSk8L2E+XG4gICAgICBpcyBlc3NlbnRpYWwgdG8gZ2V0IHF1YWxpZmllZCBmZWVkYmFjayBvbiBvdXIgZGV2ZWxvcG1lbnQgcHJvamVjdCBhbmQgYWxpZ24gb3VyIHJlZ3VsYXRvcnkgc3RyYXRlZ3kuIFRoZSBleHBlcnQgZW1waGFzaXplZCB0aGUgbmVlZCB0byBjb2xsZWN0IGFuZCBkb2N1bWVudCBwcmVjbGluaWNhbCBkYXRhLCBpbmNsdWRpbmcgYWN1dGUgYW5kIGNocm9uaWMgdG94aWNpdHkgc3R1ZGllcywgZ2Vub3RveGljaXR5LCBpbW11bm90b3hpY2l0eSwgYW5kIGNhcmNpbm9nZW5pY2l0eSBzdHVkaWVzLCBhcyB3ZWxsIGFzIGNvbmR1Y3Rpbmcgc2FmZXR5IHBoYXJtYWNvbG9neSBhbmQgYmlvZGlzdHJpYnV0aW9uIHN0dWRpZXMgdG8gZW5zdXJlIGEgdGhvcm91Z2ggdW5kZXJzdGFuZGluZyBvZiB0aGUgc3Vic3RhbmNlJ3MgbWVjaGFuaXNtIG9mIGFjdGlvbi4gXG4gICAgICBUaGUgZXhwZXJ0IGFsc28gcHJvdmlkZWQgZ3VpZGFuY2Ugb24gaG93IHRvIGVzdGFibGlzaCBhIEd4UC1jb21wbGlhbnQgcXVhbGl0eSBtYW5hZ2VtZW50IHN5c3RlbSAoUU1TKSwgc3RyZXNzaW5nIHRoZSBpbXBvcnRhbmNlIG9mIHNldHRpbmcgdXAgYSByb2J1c3QgU09QIHN5c3RlbSBmb3IgbWFudWZhY3R1cmluZywgcHJlY2xpbmljYWwsIGFuZCBjbGluaWNhbCBkZXZlbG9wbWVudC4gVGhpcyBzeXN0ZW0gbXVzdCBhZGhlcmUgdG8gSUNIIFExMCBndWlkZWxpbmVzLCBlbnN1cmluZyB0aGF0IHRoZSBxdWFsaXR5IGNvbnRyb2wgcHJvY2Vzc2VzIGFyZSBpbiBsaW5lIHdpdGggcmVndWxhdG9yeSBleHBlY3RhdGlvbnMuIEZ1cnRoZXJtb3JlLCB3ZSBsZWFybmVkIGFib3V0IHRoZSBjcml0aWNhbCBpbml0aWFsIHN0ZXBzIGZvciB2YWxpZGF0aW5nIGFuZCB2ZXJpZnlpbmcgdGhlIG1hbnVmYWN0dXJpbmcgcHJvY2VzcywgaW5jbHVkaW5nIGRlZmluaW5nIHRoZSBwaHlzaWNhbCBhbmQgY2hlbWljYWwgcHJvcGVydGllcyBvZiB0aGUgYWN0aXZlIHN1YnN0YW5jZSBhbmQgZXhjaXBpZW50cywgZGV2ZWxvcGluZyB0aGUgcGhhcm1hY2V1dGljYWwgZm9ybXVsYXRpb24sIGFuZCBpZGVudGlmeWluZyBjcml0aWNhbCBxdWFsaXR5IGF0dHJpYnV0ZXMgKENRQXMpIGFuZCBjcml0aWNhbCBtYXRlcmlhbCBhdHRyaWJ1dGVzIChDTUFzKS4gIFxuICAgICAgVGhlIElDSC1HQ1AgZ3VpZGVsaW5lcywgd2hpY2ggYXBwbHkgdG8gYWxsIGNsaW5pY2FsIHRyaWFscywgYXJlIGVzc2VudGlhbCBmb3IgZW5zdXJpbmcgdGhlIGludGVncml0eSBhbmQgc2FmZXR5IG9mIGNsaW5pY2FsIGRldmVsb3BtZW50LiBUaGVzZSBndWlkZWxpbmVzIGluY2x1ZGUgRTJBLUUyRiwgd2hpY2ggY292ZXIgdG9waWNzIGxpa2UgY2xpbmljYWwgc2FmZXR5IGRhdGEgbWFuYWdlbWVudCBhbmQgYWR2ZXJzZSBldmVudCByZXBvcnRpbmcsIEUzIGZvciBjbGluaWNhbCBzdHVkeSByZXBvcnRzLCBFNSBmb3IgaGFuZGxpbmcgZXRobmljIGZhY3RvcnMsIGFuZCBFOSBmb3Igc3RhdGlzdGljYWwgcHJpbmNpcGxlcy4gQWRkaXRpb25hbGx5LCBFMTQgaXMgY3J1Y2lhbCBmb3IgbWFuYWdpbmcgY2FyZGlvdmFzY3VsYXIgcmlza3MsIGFuIGVzcGVjaWFsbHkgaW1wb3J0YW50IGNvbnNpZGVyYXRpb24gZm9yIGdlbmUgdGhlcmFwaWVzLCB3aGVyZSBtb25pdG9yaW5nIGZvciBoZWFydC1yZWxhdGVkIHNpZGUgZWZmZWN0cyBpcyBjcml0aWNhbC4gR3VpZGVsaW5lcyBsaWtlIEUxNSBhbmQgRTE2IGFkZHJlc3MgYmlvbWFya2VycyBhbmQgcGhhcm1hY29nZW5vbWljcywgaGVscGluZyB0YWlsb3IgY2xpbmljYWwgZGV2ZWxvcG1lbnQgdG8gdGhlIHNwZWNpZmljcyBvZiB0aGUgdHJlYXRtZW50IGJlaW5nIHRlc3RlZC4gSW1wbGVtZW50aW5nIHRoZXNlIEdDUCByZXF1aXJlbWVudHMgZW5zdXJlcyBjb21wbGlhbmNlLCBwYXRpZW50IHNhZmV0eSwgYW5kIGRhdGEgaW50ZWdyaXR5IHRocm91Z2hvdXQgdGhlIHRyaWFsIHByb2Nlc3MuIFxuICAgICAgSW4gdGVybXMgb2YgcHJvY2VzcyBzY2FsZS11cCwgdGhlIGV4cGVydCBhZHZpc2VkIGZvY3VzaW5nIG9uIGRlZmluaW5nIGNyaXRpY2FsIHByb2Nlc3MgcGFyYW1ldGVycyAoQ1BQcykgYW5kIGVuc3VyaW5nIHRoYXQgdGhlIHByb2Nlc3MgZGVzaWduIGFuZCBjb250cm9sIHN0cmF0ZWdpZXMgYXJlIHdlbGwtdW5kZXJzdG9vZCBiZWZvcmUgc2NhbGluZyBwcm9kdWN0aW9uIGZyb20gdGhlIGxhYiB0byBhIGNvbW1lcmNpYWwgc2NhbGUuIEFkZGl0aW9uYWxseSwgd2UgZGlzY3Vzc2VkIHRoZSBuZWVkIHRvIGRldmVsb3AgYSBjb250cm9sIHN0cmF0ZWd5LCBpbXBsZW1lbnQgaW4tcHJvY2VzcyBjb250cm9scywgYW5kIGVuc3VyZSB0aGF0IHByb2Nlc3MgdmFyaWFiaWxpdHkgaXMgY29udGludWFsbHkgbW9uaXRvcmVkIHRvIHN1cHBvcnQgb25nb2luZyBpbXByb3ZlbWVudHMuIFxuICAgICAgVGhlc2UgaW5zaWdodHMgY2xhcmlmaWVkIHRoZSBpbW1lZGlhdGUgYW5kIGZ1dHVyZSBzdGVwcyByZXF1aXJlZCB0byBtb3ZlIFByZWN5c2UgZm9yd2FyZCwgcGFydGljdWxhcmx5IGluIHRlcm1zIG9mIHJlZ3VsYXRvcnkgc3VibWlzc2lvbnMsIHF1YWxpdHkgbWFuYWdlbWVudCwgYW5kIHByb2R1Y3Rpb24gc2NhbGUtdXAuIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+V2UgdXNlZCB0aGUgaW5zaWdodHMgZnJvbSB0aGUgZXhwZXJ0IHRvIG91dGxpbmUgdGhlIHBvc3NpYmxlIG5leHQgc3RlcHMgZm9yIFByZWN5c2UuIFRoaXMgaW5jbHVkZWQgcGxhbm5pbmcgdGhlIGNvbGxlY3Rpb24gb2YgbmVjZXNzYXJ5IHByZWNsaW5pY2FsIGRhdGEsIHNldHRpbmcgdXAgYSBHeFAtY29tcGxpYW50IFFNUywgYW5kIHByZXBhcmluZyBmb3IgcmVndWxhdG9yeSBzdWJtaXNzaW9uLiBXZSBhbHNvIGJlZ2FuIGRyYWZ0aW5nIGEgc3RyYXRlZ3kgZm9yIHByb2Nlc3MgdmFsaWRhdGlvbiBhbmQgc2NhbGluZyB1cCBwcm9kdWN0aW9uLCBlbnN1cmluZyB0aGF0IHdlIGFyZSBhbGlnbmVkIHdpdGggYm90aCByZWd1bGF0b3J5IGFuZCBvcGVyYXRpb25hbCByZXF1aXJlbWVudHMuIFRoaXMgZXhwZXJ0IGZlZWRiYWNrIGhlbHBlZCB1cyBlc3RhYmxpc2ggYSBjbGVhcmVyIHBhdGggZm9yIHRoZSBjb250aW51ZWQgZGV2ZWxvcG1lbnQgb2YgUHJlY3lzZS4gPC9wPl0sXG4gICAgc3VtbWFyeTogXCJJbiBvdXIgY29uc3VsdGF0aW9uIHdpdGggR3hQIGV4cGVydCBEci4gTWFyY3VzIEJlcmdlciwgd2UgZ2FpbmVkIGtleSBpbnNpZ2h0cyB0byBhZHZhbmNlIHRoZSBQcmVjeXNlIHByb2plY3QsIGZvY3VzaW5nIG9uIHJlZ3VsYXRvcnkgc3RyYXRlZ3ksIHF1YWxpdHkgbWFuYWdlbWVudCwgYW5kIGNsaW5pY2FsIGRldmVsb3BtZW50LiBIZSBlbXBoYXNpemVkIG9idGFpbmluZyBTY2llbnRpZmljIEFkdmljZSBmcm9tIHRoZSBQYXVsLUVocmxpY2gtSW5zdGl0dXQgKFBFSSkgYW5kIGNvbGxlY3RpbmcgZXNzZW50aWFsIHByZWNsaW5pY2FsIGRhdGEsIGluY2x1ZGluZyB0b3hpY2l0eSBhbmQgYmlvZGlzdHJpYnV0aW9uIHN0dWRpZXMuIFdlIGFsc28gbGVhcm5lZCBob3cgdG8gdGhlb3JldGljYWxseSBzZXQgdXAgYSBHeFAtY29tcGxpYW50IHF1YWxpdHkgbWFuYWdlbWVudCBzeXN0ZW0gKFFNUykgZm9sbG93aW5nIElDSCBRMTAgZ3VpZGVsaW5lcyBhbmQgdGhlIGltcG9ydGFuY2Ugb2YgY3JpdGljYWwgcXVhbGl0eSBhdHRyaWJ1dGVzIChDUUFzKSBpbiBwcm9jZXNzIHZhbGlkYXRpb24uIERyLiBCZXJnZXIgcHJvdmlkZWQgZ3VpZGFuY2Ugb24gc2NhbGluZyBwcm9kdWN0aW9uIGFuZCBmb2xsb3dpbmcgSUNILUdDUCBndWlkZWxpbmVzIGZvciBjbGluaWNhbCB0cmlhbHMsIGVzcGVjaWFsbHkgZm9yIG1hbmFnaW5nIHJpc2tzIGluIGdlbmUgdGhlcmFwaWVzLiBUaGlzIGV4cGVydCBhZHZpY2UgaGVscGVkIHVzIHBsYW4gdGhlIG5leHQgc3RlcHMgZm9yIFByZWN5c2UsIGluY2x1ZGluZyBwcmVjbGluaWNhbCBkYXRhIGNvbGxlY3Rpb24sIFFNUyBzZXR1cCwgYW5kIHByb2R1Y3Rpb24gc2NhbGUtdXAuXCIsXG4gICAgbW9udGhzOiBcIlNlcHRlbWJlclwiLFxuICAgIGludGVydmlldzo8PlxuICAgIDxRYUJveCBxPVwiSG93IGRvIHdlIGRlZmluZSB0aGUgcmVndWxhdG9yeSBzdHJhdGVneSAoZS5nLiBJTkQvSU1QRCBhcHBsaWNhdGlvbnMpP1wiIGE9XCJUaGUgcmVndWxhdG9yeSBzdHJhdGVneSBpbmNsdWRlcyB0aGUgcGxhbm5pbmcgb2YgY2xpbmljYWwgYW5kIHByZWNsaW5pY2FsIGRldmVsb3BtZW50IGluIGFjY29yZGFuY2Ugd2l0aCBhcHBsaWNhYmxlIHJlZ3VsYXRpb25zLCBzdWNoIGFzIENUUiA1MzYvMjAxNCBpbiBFdXJvcGUuIFBsYW5uaW5nLCBjb25kdWN0LCBkb2N1bWVudGF0aW9uLCBhbmQgcmVwb3J0aW5nIGFwcGxpZXMgdG8gY2xpbmljYWwgdHJpYWxzLlwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgaW5pdGlhbCBzdGVwcyBhcmUgbmVjZXNzYXJ5IHRvIHByZXBhcmUgdGhlIHN1Ym1pc3Npb24gdG8gdGhlIGNvbXBldGVudCBhdXRob3JpdGllcz9cIiBhPVwiRmlyc3RseSwgYSBTY2llbnRpZmljIEFkdmljZSBzaG91bGQgYmUgcmVxdWVzdGVkIGZyb20gdGhlIGNvbXBldGVudCBhdXRob3JpdHkuIFRoaXMgZW5hYmxlcyBlYXJseSBmZWVkYmFjayBvbiB0aGUgcGxhbm5lZCBkZXZlbG9wbWVudCBvZiB0aGUgc3Vic3RhbmNlLCB3aGljaCBoZWxwcyB0byBvcHRpbWlzZSB0aGUgc3VibWlzc2lvbiBzdHJhdGVneS4gU2NpZW50aWZpYyBhZHZpY2UgZnJvbSBhdXRob3JpdGllcyBzdWNoIGFzIHRoZSBQYXVsIEVocmxpY2ggSW5zdGl0dXRlIGVuc3VyZXMgdGhhdCB0aGUgcmVxdWlyZW1lbnRzIGFyZSBjb3JyZWN0bHkgdW5kZXJzdG9vZCBhbmQgaW1wbGVtZW50ZWQuIEl0IGlzIGFsc28gbmVjZXNzYXJ5IHRvIHRoaW5rIGFib3V0IGhvdyB5b3Ugd2FudCB0byBkZXZlbG9wIHRoZSBzdWJzdGFuY2UuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hhdCBwcmVjbGluaWNhbCBkYXRhIG11c3QgYmUgY29sbGVjdGVkIGFuZCBkb2N1bWVudGVkIGluIG9yZGVyIHRvIGZ1bGZpbCB0aGUgYXV0aG9yaXNhdGlvbiByZXF1aXJlbWVudHM/XCIgYT1cIkFjdXRlIGFuZCBjaHJvbmljIHRveGljaXR5IHN0dWRpZXMsIGdlbm90b3hpY2l0eSBhbmQgaW1tdW5vdG94aWNpdHkgc3R1ZGllcywgY2FyY2lub2dlbmljaXR5IHN0dWRpZXMsIHNhZmV0eSBwaGFybWFjb2xvZ3kgYW5kIHN0dWRpZXMgb24gYmlvZGlzdHJpYnV0aW9uIGFuZCB0aGUgbWVjaGFuaXNtIG9mIGFjdGlvbiBvZiB0aGUgc3Vic3RhbmNlIGFyZSByZXF1aXJlZC4gVGhlcmVmb3JlLCBjaGVjayB0aGUgb2ZmaWNpYWwgd2Vic2l0ZSBJQ0guXCIvPlxuICAgIDxRYUJveCBxPVwiV2hpY2ggYXV0aG9yaXRpZXMgc2hvdWxkIHdlIGNvbnN1bHQgYXQgYW4gZWFybHkgc3RhZ2UgaW4gb3JkZXIgdG8gaGFybW9uaXNlIHRoZSByZWd1bGF0b3J5IHJlcXVpcmVtZW50cz9cIiBhPVwiSW4gR2VybWFueSwgdGhlIFBhdWwtRWhybGljaC1JbnN0aXR1dGUgaXMgdGhlIGNlbnRyYWwgYXV0aG9yaXR5IGZvciBkcnVnIGRldmVsb3BtZW50IGFuZCBhdXRob3Jpc2F0aW9uLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBkbyB3ZSBzdGFydCBzZXR0aW5nIHVwIGEgR3hQLWNvbXBsaWFudCBxdWFsaXR5IG1hbmFnZW1lbnQgc3lzdGVtIChRTVMpP1wiIGE9XCJUaGUgZXN0YWJsaXNobWVudCBvZiBhIFFNUyBpcyBiYXNlZCBvbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgYW4gU09QIHN5c3RlbSBmb3IgbWFudWZhY3R1cmluZywgcHJlY2xpbmljYWwsIGFuZCBjbGluaWNhbCBkZXZlbG9wbWVudCwgYmFzZWQgb24gdGhlIElDSCBRMTAgZ3VpZGVsaW5lcy5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGF0IGluaXRpYWwgdmFsaWRhdGlvbiBhbmQgdmVyaWZpY2F0aW9uIHN0ZXBzIGFyZSByZXF1aXJlZCBmb3Igb3VyIG1hbnVmYWN0dXJpbmcgcHJvY2Vzc2VzP1wiIGE9XCJUaGUgcGh5c2ljby1jaGVtaWNhbCBwcm9wZXJ0aWVzIG9mIGFjdGl2ZSBpbmdyZWRpZW50cyBhbmQgZXhjaXBpZW50cyBtdXN0IGJlIGRldGVybWluZWQuIFRoaXMgaW5jbHVkZXMgdGhlIGRlZmluaXRpb24gb2YgdGhlIHBoYXJtYWNldXRpY2FsIGZvcm11bGF0aW9uLCB0aGUgbWFudWZhY3R1cmluZyBwcm9jZXNzIGFuZCB0aGUgc3RhcnRpbmcgbWF0ZXJpYWxzIGFzIHdlbGwgYXMgdGhlIGRlZmluaXRpb24gb2YgUXVhbGl0eSBUYXJnZXQgUHJvZHVjdCBQcm9maWxlcywgQ3JpdGljYWwgUXVhbGl0eSBBdHRyaWJ1dGVzLCBhbmQgQ3JpdGljYWwgTWF0ZXJpYWwgQXR0cmlidXRlcy4gVGhlIG5leHQgc3RlcCBpcyBwcm9jZXNzIGRlc2lnbiBhbmQgdW5kZXJzdGFuZGluZyB0aGUgY3JpdGljYWwgcHJvY2VzcyBwYXJhbWV0ZXJzIGFuZCBzY2FsZS11cCBwcmluY2lwbGVzLiBUaGVuIGRldmVsb3AgYSBjb250cm9sIHN0cmF0ZWd5IHdpdGggc3BlY2lmaWNhdGlvbnMgZm9yIGFjdGl2ZSBzdWJzdGFuY2UsIGV4Y2lwaWVudCAmIGZpbmlzaGVkIGRydWcgcHJvZHVjdC4gQWZ0ZXIgdGhhdCBlc3RhYmxpc2ggYW4gaW4tcHJvY2VzcyBjb250cm9sIGFuZCB0aGluayBhYm91dCBwcm9jZXNzIGNhcGFiaWxpdHkgYW5kIGNvbnRpbnVvdXMgaW1wcm92ZW1lbnQuIFRoZXJlZm9yZSBtZWFzdXJlIHZhcmlhYmlsaXR5IG9mIHRoZSBtYW51ZmFjdHVyaW5nIHByb2Nlc3MuXCIvPlxuICAgIDxRYUJveCBxPVwiV2hhdCBtZWFzdXJlcyBhcmUgbmVjZXNzYXJ5IHRvIGVuc3VyZSBkb2N1bWVudGF0aW9uIGFuZCB0cmFjZWFiaWxpdHk/XCIgYT1cIkEgZG9jdW1lbnQgY29udHJvbCBzeXN0ZW0gbXVzdCBiZSBpbXBsZW1lbnRlZCB0byBlbnN1cmUgdHJhY2VhYmlsaXR5IGFuZCBkb2N1bWVudGF0aW9uLlwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgc3RlcHMgYXJlIG5lY2Vzc2FyeSB0byBzY2FsZSB1cCB0aGUgcHJvZHVjdGlvbiBwcm9jZXNzZXMgZnJvbSBsYWJvcmF0b3J5IHRvIHByb2R1Y3Rpb24gc2NhbGU/XCIgYT1cIkdNUCBleHBlcnRzIHNob3VsZCBiZSBjb25zdWx0ZWQgZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uIG9uIHNjYWxpbmcuIEkgY2FuJ3QgaGVscCB5b3Ugd2l0aCB0aGlzIHBvaW50LiBUaGUgR01QIGxlY3R1cmVycyBhcmUgdGhlIHJpZ2h0IHBlb3BsZSB0byB0YWxrIHRvLlwiLz5cbiAgICA8UWFCb3ggcT1cIkhvdyBkbyB3ZSBkZXZlbG9wIGFuIGluaXRpYWwgY2xpbmljYWwgZGV2ZWxvcG1lbnQgc3RyYXRlZ3kgdG8gbW92ZSBmcm9tIHByZWNsaW5pY2FsIHN0dWRpZXMgdG8gZmlyc3QtaW4taHVtYW4gKEZJSCkgc3R1ZGllcz9cIiBhPVwiVGhlIG1pbmltdW0gcmVxdWlyZW1lbnRzIGluY2x1ZGUgYWN1dGUgdG94aWNpdHkgc3R1ZGllcyBpbiBhbmltYWxzIHRvIGNhbGN1bGF0ZSB0aGUgc3RhcnRpbmcgZG9zZSBmb3IgaHVtYW5zLiBJbiBhZGRpdGlvbiwgcGhhcm1hY29sb2dpY2FsIHN0dWRpZXMsIGdlbm90b3hpYyBzdHVkaWVzIGFuZCBpbW11bm90b3hpYyBzdHVkaWVzLiBJbiB5b3VyIGNhc2UsIGFsc28gY2hyb25pYyB0b3hpY2l0eSBzdHVkaWVzLiBEZXNpZ24gb2YgYSBGSUggc3R1ZHkgZm9yIGRvc2UgZXNjYWxhdGlvbiwgaW5jbHVkaW5nIHN0YXJ0aW5nIGRvc2UsIHNlcXVlbnRpYWwgc3R1ZHkgZGVzaWduIGFuZCBzdG9wcGluZyBydWxlcy4gSWRlbnRpZmljYXRpb24gb2YgdGhlIHRveGljIGxpbWl0IGFuZCB0aGUgc28tY2FsbGVkIFJlY29tbWVuZGVkIFN0YXJ0IERvc2UgZm9yIFBoYXNlIDIuIFRoZSBndWlkZWxpbmVzIG9uIHF1YWxpdHksIG5vbi1jbGluaWNhbCBhbmQgY2xpbmljYWwgcmVxdWlyZW1lbnRzIGZvciBpbnZlc3RpZ2F0aW9uYWwgYWR2YW5jZWQgdGhlcmFweSBtZWRpY2luYWwgcHJvZHVjdHMgaW4gY2xpbmljYWwgdHJpYWxzIGNhbiBiZSBmb3VuZCBhdCB0aGUgRXVyb3BlYW4gTWVkaWNpbmVzIEFnZW5jeSAoRU1BKS5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGljaCBHQ1AgcmVxdWlyZW1lbnRzIG5lZWQgdG8gYmUgaW1wbGVtZW50ZWQgdG8gc3VwcG9ydCBjbGluaWNhbCBkZXZlbG9wbWVudD9cIiBhPVwiVGhlIElDSC1HQ1AgZ3VpZGVsaW5lcyBhcHBseSB0byBhbGwgY2xpbmljYWwgdHJpYWxzIGFuZCBpbmNsdWRlIHRoZSBFMkEgLSBFMkY7IEUzOyBFNTsgRTk7IEUxNTsgRTE2IGd1aWRlbGluZXMgYW5kIEUxNCwgd2hpY2ggaXMgaW1wb3J0YW50IGZvciB0aGUgbWFuYWdlbWVudCBvZiBjYXJkaW92YXNjdWxhciByaXNrcywgZXNwZWNpYWxseSBpbXBvcnRhbnQgZm9yIGdlbmUgdGhlcmFwaWVzLCBhbW9uZyBvdGhlcnMuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGRvIHdlIGNvbmR1Y3QgYSByaXNrIGFuYWx5c2lzIHRvIGlkZW50aWZ5IGNoYWxsZW5nZXMgaW4gZGV2ZWxvcG1lbnQgYW5kIGxhdW5jaD9cIiBhPVwiUmlzayBhbmFseXNlcyBzaG91bGQgYmUgY29uZHVjdGVkIGZvciBwaGFybWFjZXV0aWNhbCwgcHJlY2xpbmljYWwsIGFuZCBjbGluaWNhbCBkZXZlbG9wbWVudCB0byBpZGVudGlmeSBwb3RlbnRpYWwgY2hhbGxlbmdlcy5cIi8+XG4gICAgPFFhQm94IHE9XCJXaGljaCBwcm9kdWN0IHNhZmV0eSBhbmQgZWZmaWNhY3kgcmlza3MgbmVlZCB0byBiZSBwcmlvcml0aXNlZCBhbmQgbWFuYWdlZD9cIiBhPVwiUmlza3MgdG8gYmUgcHJpb3JpdGlzZWQgaW5jbHVkZSB0aGUgc3RhcnRpbmcgbWF0ZXJpYWxzLCBjcml0aWNhbCBwcm9jZXNzIHN0ZXBzIGluIG1hbnVmYWN0dXJpbmcgYW5kIHRoZSBidWxrIHByb2R1Y3QuIEl0IGlzIGVzc2VudGlhbCB0byBjYXJyeSBvdXQgcHJvYWN0aXZlIHByb2Nlc3MgdmFsaWRhdGlvbiBhbmQgZXN0YWJsaXNoIGEgY2hhbmdlIG1hbmFnZW1lbnQgc3lzdGVtLlwiLz5cbiAgICA8UWFCb3ggcT1cIldoYXQgaW5pdGlhbCBzdGVwcyBkbyB3ZSBuZWVkIHRvIHRha2UgdG8gYW5hbHlzZSB0aGUgbWFya2V0IGFuZCBwcmVwYXJlIGZvciBtYXJrZXQgYWNjZXNzP1wiIGE9XCJBIHN0YWtlaG9sZGVyIGFuYWx5c2lzIG9mIHRoZSBtYXJrZXQgcGFydGljaXBhbnRzIGFuZCBhIGNvbXBhcmlzb24gb2YgdGhlIG5ldyB0aGVyYXB5IHdpdGggdGhlIHN0YW5kYXJkIHRoZXJhcHkgYXJlIHJlcXVpcmVkLiBQaHlzaWNpYW4gbmV0d29ya3Mgc2hvdWxkIGJlIGlkZW50aWZpZWQgYW5kIHRoZSBwcmljaW5nIHN0cmF0ZWd5IGRlZmluZWQsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIEdCQSBhbmQgdGhlIGhlYWx0aCBpbnN1cmFuY2UgZnVuZHMuXCIvPlxuICAgIDxRYUJveCBxPVwiSG93IGRvIHdlIGRldmVsb3AgYSBzdHJhdGVneSBmb3IgdGhlIHByb3RlY3Rpb24gb2YgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGFuZCBwYXRlbnRzP1wiIGE9XCJUaGUgc3RyYXRlZ3kgc2hvdWxkIGluY2x1ZGUgcGF0ZW50IGFwcGxpY2F0aW9ucyBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBGaXJzdCBmb3IgdGhlIGFjdGl2ZSBpbmdyZWRpZW50IGFuZCB0aGUgZm9ybXVsYXRpb24gKHByb2R1Y3QgcGF0ZW50KSwgdGhlbiB0aGUgbWFudWZhY3R1cmluZyByb3V0ZSBhcyBwcm9jZXNzIHBhdGVudCBhbmQgZm9sbG93ZWQgYnkgaW5kaWNhdGlvbiBhcyB1c2UgcGF0ZW50LiBGaW5hbGx5LCBhIHV0aWxpdHkgbW9kZWwgbWF5IGFsc28gYmUgdXNlZnVsLlwiLz5cbiAgICA8Lz5cbiAgfSxcbiAge1xuICAgIHZvcm5hbWU6IFwiUGh5c2ljYWwgXCIsXG4gICAgbmFjaG5uYW1lOiBcImFuZCBCaW9waHlzaWNhbCBDaGVtaXN0cnkgXCIsXG4gICAgam9iOiBcIldvcmtpbmcgZ3JvdXAgXCIsXG4gICAgYWZmaWxpYXRpb246IFwiVW5pdmVyc2l0eSBCaWVsZWZlbGQgXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZW5cIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwaHlzaWsnXSxcbiAgICB0YWc6IFwiQWNhZGVtaWFcIixcbiAgICBoZWFkaW5nOiBcIlBlcmZvcm1hbmNlIG9mIEV4cGVyaW1lbnRzIGZvciBMTlAgY2hhcmFjdGVyaXphdGlvbiBcIixcbiAgICBpbnRlcnZpZXd0YWJpZDogXCJiaW9waHlzaWtcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJJdCB3YXMgYSBncmVhdCBjb25uZWN0aW9uIGFuZCBhIHRyZW1lbmRvdXMgaGVscCBpbiBhbmFseXppbmcgdGhlIExOUC4gVGhleSBwcm92aWRlZCB1cyB3aXRoIGluc2lnaHRzIGludG8gc29tZSB0cnVseSBleGNpdGluZyBtZXRob2RzLlwiLFxuICAgIHF1b3RlTmFjaG5hbWU6IFwiQmFhY2ssIFRlYW1tZW1iZXJcIixcbiAgICBxdW90ZVZvcm5hbWU6IFwiQW5uYVwiLFxuICAgIGFpbW9mY29udGFjdDogWzxwPkZvciBvdXIgcHJvamVjdCwgd2UgY29sbGFib3JhdGVkIGNsb3NlbHkgd2l0aCB0aGUgUGh5c2ljYWwgQ2hlbWlzdHJ5IHdvcmtncm91cCB0byBwcm9wZXJseSBjYXRlZ29yaXplIG91ciBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKS4gV2UgcmVhY2hlZCBvdXQgdG8gdGhlbSB0byBsZXZlcmFnZSB0aGVpciBleHBlcnRpc2UgYW5kIGVuc3VyZSB0aGF0IG91ciBjaGFyYWN0ZXJpemF0aW9uIHdhcyB0aG9yb3VnaCBhbmQgcHJlY2lzZS4gTWFyY28sIFV3ZSwgYW5kIFl2b25uZSB3ZXJlIGluc3RydW1lbnRhbCBpbiB0aGlzIGVmZm9ydCwgbm90IG9ubHkgYWR2aXNpbmcgdXMgb24gYXBwcm9wcmlhdGUgY2hhcmFjdGVyaXphdGlvbiBtZXRob2RzIGJ1dCBhbHNvIGFjdGl2ZWx5IGFzc2lzdGluZyB1cyBkdXJpbmcgdGhlIGV4cGVyaW1lbnRhbCBwcm9jZXNzIGFuZCBkYXRhIGFuYWx5c2lzLiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPldlIGVtcGxveWVkIHNldmVyYWwgYW5hbHl0aWNhbCB0ZWNobmlxdWVzLCBpbmNsdWRpbmcgVHJhbnNtaXNzaW9uIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFRFTSksIFNjYW5uaW5nIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFNFTSksIER5bmFtaWMgTGlnaHQgU2NhdHRlcmluZyAoRExTKSwgYW5kIHpldGEgcG90ZW50aWFsIGFuYWx5c2lzLiBURU0gYW5kIFNFTSBhbGxvd2VkIHVzIHRvIHZpc3VhbGl6ZSB0aGUgc3RydWN0dXJhbCBtb3JwaG9sb2d5IG9mIHRoZSBMTlBzLCBwcm92aWRpbmcgZGV0YWlsZWQgaW1hZ2VzIHRvIHVuZGVyc3RhbmQgdGhlaXIgc2l6ZSBhbmQgc2hhcGUgb24gdGhlIG5hbm9tZXRlciBzY2FsZS4gRExTIHdhcyB1c2VkIHRvIG1lYXN1cmUgdGhlIHNpemUgZGlzdHJpYnV0aW9uIG9mIHRoZSBwYXJ0aWNsZXMgaW4gc29sdXRpb24sIHdoaWxlIHRoZSB6ZXRhIHBvdGVudGlhbCBhbmFseXNpcyBnYXZlIHVzIGluc2lnaHQgaW50byB0aGUgc3VyZmFjZSBjaGFyZ2UsIHdoaWNoIGlzIGNydWNpYWwgZm9yIHVuZGVyc3RhbmRpbmcgc3RhYmlsaXR5IGluIHN1c3BlbnNpb24uIDwvcD5dLFxuICAgIGltcGxlbWVudGF0aW9uOiBbPHA+VGhhbmtzIHRvIHRoZSBndWlkYW5jZSBhbmQgaGFuZHMtb24gc3VwcG9ydCBvZiB0aGUgUGh5c2ljYWwgQ2hlbWlzdHJ5IHRlYW0sIHdlIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQgdGhlc2UgdGVzdHMsIGdhaW5pbmcgZGV0YWlsZWQgaW5zaWdodHMgaW50byBvdXIgTE5QcyB0aGF0IHdpbGwgYmUgY3J1Y2lhbCBmb3Igb3VyIHByb2plY3QncyBmdXJ0aGVyIGRldmVsb3BtZW50LiBUaGVpciBleHBlcnRpc2Ugbm90IG9ubHkgc3RyZWFtbGluZWQgdGhlIHByb2Nlc3MgYnV0IGFsc28gZW5zdXJlZCB0aGUgcmVsaWFiaWxpdHkgYW5kIGFjY3VyYWN5IG9mIG91ciByZXN1bHRzLiBIZXJlIGEgc25lYWsgcGVhayBvZiB0aGUgcmVzdWx0cyBcdTIwMTMgdGFrZSBhIGxvb2sgYXQgdGhlIGltYWdlIG9mIG91ciBTT1JUIExOUCB0YWtlbiB2aWEgVEVNLiA8L3A+XSxcbiAgICBzdW1tYXJ5OiBcIldlIGNvbGxhYm9yYXRlZCB3aXRoIHRoZSBQaHlzaWNhbCBDaGVtaXN0cnkgd29ya2dyb3VwIHRvIGFjY3VyYXRlbHkgY2hhcmFjdGVyaXplIG91ciBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKS4gVGhlaXIgZXhwZXJ0aXNlLCBwYXJ0aWN1bGFybHkgZnJvbSBNYXJjbywgVXdlLCBhbmQgWXZvbm5lLCB3YXMgaW52YWx1YWJsZSBpbiBzZWxlY3RpbmcgYW5kIGFwcGx5aW5nIHZhcmlvdXMgYW5hbHl0aWNhbCB0ZWNobmlxdWVzLCBpbmNsdWRpbmcgVHJhbnNtaXNzaW9uIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFRFTSksIFNjYW5uaW5nIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFNFTSksIER5bmFtaWMgTGlnaHQgU2NhdHRlcmluZyAoRExTKSwgYW5kIHpldGEgcG90ZW50aWFsIGFuYWx5c2lzLiBUaGlzIGNvbGxhYm9yYXRpb24gbm90IG9ubHkgZW5oYW5jZWQgb3VyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIExOUHMnIHNpemUsIHNoYXBlLCBhbmQgc3RhYmlsaXR5IGJ1dCBhbHNvIGVuc3VyZWQgdGhlIHJlbGlhYmlsaXR5IG9mIG91ciByZXN1bHRzLiBXaXRoIHRoZWlyIGd1aWRhbmNlLCB3ZSBzdWNjZXNzZnVsbHkgY29tcGxldGVkIG91ciB0ZXN0cywgcHJvdmlkaW5nIGNydWNpYWwgaW5zaWdodHMgZm9yIHRoZSBwcm9qZWN0J3MgYWR2YW5jZW1lbnQuXCIsXG4gICAgbW9udGhzOiBcIlNlcHRlbWJlclwiLFxuICAgIHBpY3R1cmV1cmxfaW50ZXJ2aWV3OiBcImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L2NyeW8tZW0ud2VicFwiLFxuICAgIHBpY3R1cmV1cmxfaW1wbGVtZW50YXRpb246IFwiIGh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L3RlbS1zb3J0LWxucDEud2VicFwiLFxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiTS5TYy5cIixcbiAgICB2b3JuYW1lOiBcIkhha2FuXCIsXG4gICAgbmFjaG5uYW1lOiBcIlNveXRcdTAwRkNya1wiLFxuICAgIGpvYjogXCJQaEQgU3R1ZGVudCBGYWN1bHR5IG9mIEJpb2xvZ3kgLyBXb3JraW5nIEdyb3VwXCIsXG4gICAgYWZmaWxpYXRpb246IFwiVW5pdmVyc2l0eSBCaWVsZWZlbGQgXCIsXG4gICAgbGFuZ3VhZ2U6IFwiZW5cIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydoYWthbiddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiSGVscGluZyBhbmQgY29uZHVjdGluZyBleHBlcmltZW50cyB3aXRoIHllYXN0IGNlbGxzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiaGFrYW5cIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJKdXN0IGhhbmQgbWUgb3ZlciB0aGUgc3RyYWluIGFuZCB0aGUgdmVjdG9yLCBJIHdpbGwgdHJ5IHRvIHRha2UgY2FyZSBvZiB0aGUgcmVzdC5cIixcbiAgICBhaW1vZmNvbnRhY3Q6IFs8cD5BZnRlciBvdXIgaW50ZXJ2aWV3IHdpdGggPEhQTGlua3RvT3RoZXJIUFRhYiB0YWI9XCJzYWl0b1wiIHRleHQ9XCJNYWtvdG8gU2FpdG9cIiAvPlxuIHdlIGxlYXJuZWQsIHRoYXQgaGUgd2FzIG5vdCBhYmxlIHRvIGV4cHJlc3MgdGhlIFNwdUZ6MSBwcm90ZWluIGluIEUuIGNvbGkgYW5kIHJlY29tbWVuZGVkIHdlIHVzZWQgeWVhc3QgdG8gcHJvZHVjZSBpdC4gV2Ugd2VyZSBwcm92aWRlZCB3aXRoIGEgeWVhc3QgZXhwcmVzc2lvbiBzdHJhaW4gYW5kIGEgc3VpdGFibGUgdmVjdG9yIHRvIGNsb25lIHRoZSBjb2Rpbmcgc2VxdWVuY2UgaW50bywgYnV0IHdlIGxhY2tlZCB0aGUgbmVjZXNzYXJ5IGtub3ctaG93IGFuZCB0aGUgZmFjaWxpdGllcyB0byB0cmFuc2Zvcm0geWVhc3QsIHNlbGVjdCBmb3IgcG9zaXRpdmUgdHJhbnNmb3JtYW50cyBhbmQgY3VsdGl2YXRlIHRoZSB5ZWFzdC4gIDwvcD5dLFxuICAgIGluc2lnaHRzOiBbPHA+SGFrYW4gZ2VuZXJvdXNseSBhZ3JlZWQgdG8gY2Fycnkgb3V0IHRoZSB0cmFuc2Zvcm1hdGlvbiBhbmQgcHJlcGFyZSBwb3RlbnRpYWwgcG9zaXRpdmUgdHJhbnNmb3JtYW50cyBmb3IgY3VsdGl2YXRpb24gZm9yIHVzLCBsZWF2aW5nIG9ubHkgdGhlIHB1cmlmaWNhdGlvbiBvZiB0aGUgcHJvdGVpbnMgZnJvbSB0aGUgc3VwZXJuYXRhbnQgZm9yIHVzIHRvIGRvLiA8L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPkhha2FuIHBlcmZvcm1lZCB0aGUgdHJhbnNmb3JtYXRpb24gb2YgYSBwUElDOUstbjNTcHVGejEgY29uc3RydWN0IHdlIGNyZWF0ZWQgaW50byBZZWFzdC4gVW5mb3J0dW5hdGVseSwgdGhlIGZpcnN0IGF0dGVtcHQgb2YgdHJhbnNmb3JtYXRpb24gZGlkIG5vdCB5aWVsZCBhbnkgcG9zaXRpdmUgY2xvbmVzLiBIb3dldmVyLCB3ZSB2YWx1ZSBoaXMgc3BvbnRhbmVvdXMgYW5kIGV4dGVuc2l2ZSBzdXBwb3J0IGFzIGEgZ3JlYXQgY29udHJpYnV0aW9uIHRvIG91ciBwcm9qZWN0LiA8L3A+XSxcbiAgICBzdW1tYXJ5OiBcIldlIGNvbGxhYm9yYXRlZCB3aXRoIHRoZSBQaHlzaWNhbCBDaGVtaXN0cnkgd29ya2dyb3VwIHRvIGFjY3VyYXRlbHkgY2hhcmFjdGVyaXplIG91ciBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKS4gVGhlaXIgZXhwZXJ0aXNlLCBwYXJ0aWN1bGFybHkgZnJvbSBNYXJjbywgVXdlLCBhbmQgWXZvbm5lLCB3YXMgaW52YWx1YWJsZSBpbiBzZWxlY3RpbmcgYW5kIGFwcGx5aW5nIHZhcmlvdXMgYW5hbHl0aWNhbCB0ZWNobmlxdWVzLCBpbmNsdWRpbmcgVHJhbnNtaXNzaW9uIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFRFTSksIFNjYW5uaW5nIEVsZWN0cm9uIE1pY3Jvc2NvcHkgKFNFTSksIER5bmFtaWMgTGlnaHQgU2NhdHRlcmluZyAoRExTKSwgYW5kIHpldGEgcG90ZW50aWFsIGFuYWx5c2lzLiBUaGlzIGNvbGxhYm9yYXRpb24gbm90IG9ubHkgZW5oYW5jZWQgb3VyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIExOUHMnIHNpemUsIHNoYXBlLCBhbmQgc3RhYmlsaXR5IGJ1dCBhbHNvIGVuc3VyZWQgdGhlIHJlbGlhYmlsaXR5IG9mIG91ciByZXN1bHRzLiBXaXRoIHRoZWlyIGd1aWRhbmNlLCB3ZSBzdWNjZXNzZnVsbHkgY29tcGxldGVkIG91ciB0ZXN0cywgcHJvdmlkaW5nIGNydWNpYWwgaW5zaWdodHMgZm9yIHRoZSBwcm9qZWN0J3MgYWR2YW5jZW1lbnQuXCIsXG4gICAgbW9udGhzOiBcIlNlcHRlbWJlclwiLFxuICB9LFxuICB7XG4gICAgdGl0bGU6IFwiTS5TYy5cIixcbiAgICB2b3JuYW1lOiBcIkJlbmphbWluXCIsXG4gICAgbmFjaG5uYW1lOiBcIk1vb3JsYWNoXCIsICBcbiAgICBqb2I6XCJQaEQgc3R1ZGVudCBXb3JraW5nIEdyb3VwIFBhdGVsICdGZXJtZW50YXRpb24gYW5kIEZvcm11bGF0aW9uIG9mIEJpb2xvZ2ljYWxzIGFuZCBDaGVtaWNhbHMnXCIsXG4gICAgYWZmaWxpYXRpb246XCJhdCBGSCBCaWVsZWZlbGRcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydtb29ybGFjaCddLFxuICAgIHRhZzogXCJBY2FkZW1pYVwiLFxuICAgIGhlYWRpbmc6IFwiR2F0aGVyaW5nIGluZm9ybWF0aW9uIGFib3V0IENoaXRvc2FuIGNvYXRpbmcgZm9yIFJOQSBwcm90ZWN0aW9uXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwibW9vcmxhY2hcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBsYW5ndWFnZTogXCJkZVwiLFxuICAgIHF1b3RlOiBcIkNoaXRvc2FuIGNhbiBzdGFiaWxpemUgUk5BIGVmZmVjdGl2ZWx5LCBtYWtpbmcgaXQgaWRlYWwgZm9yIG91ciBmb3JtdWxhdGlvbnMsIGJ1dCB3ZSBtdXN0IGVuc3VyZSB0aGUgcmlnaHQgY2hhcmdlIHJhdGlvIGFuZCBwYXJ0aWNsZSBzaXplIGZvciBzdWNjZXNzZnVsIExOUCBlbmNhcHN1bGF0aW9uLlwiLFxuICAgIHF1b3RlTmFjaG5hbWU6IFwiTW9vcmxhY2gsIEV4cGVydCBmb3IgQ2hpdG9zYW4gY29kaW5nXCIsXG4gICAgcXVvdGVWb3JuYW1lOiBcIkJlbmphbWluXCIsXG4gICAgYWltb2Zjb250YWN0OiBbPHA+VGhlIGFpbSBvZiB0aGUgY29udGFjdCB3aXRoIEJlbmphbWluIFdpbGxlbSBNb29ybGFjaCwgTS5TYy4sIGZyb20gdGhlIERlcGFydG1lbnQgb2YgRW5naW5lZXJpbmcgYW5kIE1hdGhlbWF0aWNzLCB3YXMgdG8gZ2FpbiBhIGRlZXBlciB1bmRlcnN0YW5kaW5nIG9mIGhvdyBDaGl0b3NhbiBjb3VsZCBiZSBhcHBsaWVkIGluIGxpcGlkLWJhc2VkIG5hbm9wYXJ0aWNsZXMgKExOUHMpIGFuZCB0byBleHBsb3JlIGl0cyBwb3RlbnRpYWwgcm9sZSBpbiBvdXIgcHJvamVjdC4gV2UgaGFkIHNldmVyYWwgcXVlc3Rpb25zIGZvY3VzaW5nIG9uIHRoZSBwcm9wZXJ0aWVzIG9mIENoaXRvc2FuLCBpdHMgYWR2YW50YWdlcyBhbmQgZGlzYWR2YW50YWdlcywgYW5kIGhvdyBpdCBjb3VsZCBiZSBpbnRlZ3JhdGVkIGludG8gTE5Qcy4gQmVuamFtaW4gTW9vcmxhY2ggcHJvdmlkZWQgZXh0ZW5zaXZlIGluc2lnaHRzIGludG8gQ2hpdG9zYW5cdTIwMTlzIGludGVyYWN0aW9ucyB3aXRoIFJOQSwgaXRzIGJlaGF2aW9yLCBhbmQgaG93IHdlIG1pZ2h0IGxldmVyYWdlIGl0IGZvciBvdXIgZm9ybXVsYXRpb25zLiA8L3A+XSxcbiAgICBpbnNpZ2h0czogWzxwPkZyb20gb3VyIGRpc2N1c3Npb24sIHdlIGdhaW5lZCB2YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIHRoZSB1bmlxdWUgcHJvcGVydGllcyBvZiBDaGl0b3NhbiwgYSBjYXRpb25pYyBwb2x5bWVyIHdpdGggc2lnbmlmaWNhbnQgcG90ZW50aWFsIHRvIHN0YWJpbGl6ZSBSTkEuIE5vdGFibHksIENoaXRvc2FuIG9mZmVycyBzdHJvbmcgcHJvdGVjdGlvbiBhZ2FpbnN0IFJOYXNlcywgbWFraW5nIGl0IGhpZ2hseSBiZW5lZmljaWFsIGZvciBmb3JtdWxhdGlvbnMgbGlrZSBsaXBpZC1iYXNlZCBuYW5vcGFydGljbGVzIChMTlBzKS4gQW5vdGhlciBrZXkgZmVhdHVyZSBpcyBpdHMgaGVhdCBzdGFiaWxpdHksIHdpdGhzdGFuZGluZyB0ZW1wZXJhdHVyZXMgdXAgdG8gMTIxXHUwMEIwQywgd2hpY2ggbWFrZXMgaXQgc3VpdGFibGUgZm9yIHByb2Nlc3NpbmcgbWV0aG9kcyBzdWNoIGFzIHNwcmF5IGRyeWluZy4gSG93ZXZlciwgYXQgaGlnaGVyIGNvbmNlbnRyYXRpb25zICgwLjUlIG9yIG1vcmUpLCBDaGl0b3NhbiBjYW4gYmVjb21lIHRveGljLCBzdWZmb2NhdGluZyBjZWxscyBhbmQgZGlzcGxheWluZyBhbnRpbWljcm9iaWFsIHByb3BlcnRpZXMuIFdoaWxlIGl0IGRpZmZlcnMgZnJvbSBQRUcgYW5kIGNhbm5vdCBzZXJ2ZSBhcyBhIGRpcmVjdCBhbHRlcm5hdGl2ZSwgQ2hpdG9zYW4gY2FuIGJlIGEgdmFsdWFibGUgY29tcGxlbWVudCwgZXNwZWNpYWxseSBpbiBzdGFiaWxpemluZyBSTkEgd2l0aGluIExOUHMuIFxuICAgICAgQSBjcml0aWNhbCBwb2ludCBCZW5qYW1pbiBlbXBoYXNpemVkIGlzIHRoYXQgQ2hpdG9zYW4gbXVzdCBiZSBpbiBhbiBhY2lkaWMgZW52aXJvbm1lbnQsIHR5cGljYWxseSB3aXRoIGEgcEggcmFuZ2Ugb2YgNCB0byA2LCB0byByZW1haW4gcG9zaXRpdmVseSBjaGFyZ2VkLiBUaGlzIHBvc2l0aXZlIGNoYXJnZSBpcyBlc3NlbnRpYWwgZm9yIGl0cyBlZmZlY3RpdmUgaW50ZXJhY3Rpb24gd2l0aCBSTkEgYW5kIHN1Y2Nlc3NmdWwgaW50ZWdyYXRpb24gaW50byB0aGUgTE5QIHN5c3RlbS4gXG4gICAgICBPbmUgb2YgdGhlIG1vc3QgaW1wb3J0YW50IGF0dHJpYnV0ZXMgb2YgQ2hpdG9zYW4gaXMgaXRzIGFiaWxpdHkgdG8gZm9ybSBjb21wbGV4ZXMgd2l0aCBSTkEsIG9mZmVyaW5nIGEgaGlnaCBkZWdyZWUgb2YgcHJvdGVjdGlvbiwgd2hpY2ggaXMgY3J1Y2lhbCBmb3IgdGhlIHN0YWJpbGl0eSBvZiBMTlAgZm9ybXVsYXRpb25zLiBUaGlzIGNoYXJhY3RlcmlzdGljIG1ha2VzIENoaXRvc2FuIHBhcnRpY3VsYXJseSBhZHZhbnRhZ2VvdXMgaW4gZW5oYW5jaW5nIFJOQSBzdGFiaWxpdHkgZHVyaW5nIHByb2Nlc3NlcyBsaWtlIHNwcmF5IGRyeWluZy4gSG93ZXZlciwgaW5jb3Jwb3JhdGluZyBDaGl0b3NhbiBkaXJlY3RseSBpbnRvIHRoZSBsaXBpZCBzaGVsbCBvZiBMTlBzIHBvc2VzIGNoYWxsZW5nZXMgZHVlIHRvIGl0cyBoeWRyb3BoaWxpYyBuYXR1cmUgYW5kIGluY29tcGF0aWJsZSBjaGFyZ2UgcmF0aW9zLCB3aGljaCBwcmV2ZW50IGl0cyB1c2UgYXMgYW4gZXh0ZXJuYWwgY29hdGluZyBvbiBMTlBzLiBJbnN0ZWFkLCBpdCBpcyBtb3JlIHN1aXRhYmxlIGZvciBmb3JtaW5nIHN0YWJsZSBSTkEtQ2hpdG9zYW4gY29tcGxleGVzIHRoYXQgY2FuIGJlIGVuY2Fwc3VsYXRlZCB3aXRoaW4gdGhlIExOUCBzdHJ1Y3R1cmUsIGVuc3VyaW5nIGltcHJvdmVkIHN0YWJpbGl0eSBhbmQgcHJvdGVjdGlvbi48L3A+XSxcbiAgICBpbXBsZW1lbnRhdGlvbjogWzxwPldlIGhhdmUgaW50ZWdyYXRlZCB0aGUgaW5mb3JtYXRpb24gYnkgcHJpbWFyaWx5IHVzaW5nIENoaXRvc2FuIGFzIGFuIFJOQSBzdGFiaWxpemVyLCByYXRoZXIgdGhhbiBlbWJlZGRpbmcgaXQgZGlyZWN0bHkgaW50byB0aGUgTE5QIGxpcGlkIHNoZWxsLiBCZW5qYW1pbiBzdWdnZXN0ZWQgZm9ybWluZyBDaGl0b3Nhbi1STkEgY29tcGxleGVzIGZpcnN0IGFuZCB0aGVuIGVuY2Fwc3VsYXRpbmcgdGhlbSB3aXRoaW4gTE5QcyB0byBlbnN1cmUgdGhlIFJOQSByZW1haW5zIHN0YWJsZSBhbmQgZnVuY3Rpb25hbC4gRm9yIHRoaXMsIENoaXRvc2FuIHdpdGggYSBsb3cgbW9sZWN1bGFyIHdlaWdodCAoYXJvdW5kIDUga0RhKSBpcyBpZGVhbCwgYXMgaXQgaGVscHMgcHJvZHVjZSBzbWFsbGVyIHBhcnRpY2xlcyB0aGF0IGNhbiBiZSBlZmZpY2llbnRseSBlbmNhcHN1bGF0ZWQuIFxuICAgICAgQWRkaXRpb25hbGx5LCBCZW5qYW1pbiByZWNvbW1lbmRlZCBzdGFydGluZyB3aXRoIHNtYWxsLXNjYWxlIHRlc3RzIChhYm91dCAxMDAgXHUwMEI1TCkgYmVmb3JlIG1vdmluZyB0byBsYXJnZXIgZm9ybXVsYXRpb25zLiBUaGUgcmF0aW8gb2YgUk5BIHRvIENoaXRvc2FuIGlzIGtleSB0byBjcmVhdGluZyBuZWdhdGl2ZWx5IGNoYXJnZWQgcGFydGljbGVzLCBhbmQgYSAyOjEgcmF0aW8gc2hvdWxkIGJlIG1haW50YWluZWQuIFdlIHdpbGwgdmVyaWZ5IHN1Y2Nlc3NmdWwgZW5jYXBzdWxhdGlvbiB1c2luZyBtaWNyb3Njb3BpYyBhbmFseXNpcyBhbmQgZ2VsIGVsZWN0cm9waG9yZXNpcy4gXG4gICAgICBUaGlzIGtub3dsZWRnZSBoYXMgZGlyZWN0bHkgc2hhcGVkIG91ciBhcHByb2FjaCB0byB1c2luZyBDaGl0b3Nhbi4gT3VyIGZvY3VzIGlzIG5vdyBvbiBmb3JtaW5nIHN0YWJsZSBSTkEtQ2hpdG9zYW4gY29tcGxleGVzLCB3aGljaCBjYW4gYmUgZW5jYXBzdWxhdGVkIGluIExOUHMuIFdlXHUyMDE5dmUgYWxzbyBsZWFybmVkIHRoZSBpbXBvcnRhbmNlIG9mIG9wdGltaXppbmcgY29uY2VudHJhdGlvbnMgdG8gcHJldmVudCBhZ2dyZWdhdGlvbiBvciB0b3hpY2l0eSB3aGlsZSBlbnN1cmluZyB0aGUgcGFydGljbGVzIHN0YXkgd2l0aGluIHRoZSBkZXNpcmVkIG5hbm9tZXRlciByYW5nZS4gTWljcm9zY29weSBhbmQgZWxlY3Ryb3Bob3Jlc2lzIHdpbGwgbm93IGJlIGtleSBtZXRob2RzIGluIG91ciBwcm90b2NvbCB0byBjb25maXJtIGNvbXBsZXRlIFJOQSBlbmNhcHN1bGF0aW9uIHdpdGhpbiB0aGUgTE5Qcy4gPC9wPl0sXG4gICAgc3VtbWFyeTogXCJJbiBzdW1tYXJ5LCB0aGUgaW5zaWdodHMgZnJvbSBCZW5qYW1pblx1MjAxOXMgZXhwZXJ0aXNlIHdlcmUgY3J1Y2lhbCBpbiBzaGFwaW5nIG91ciB1bmRlcnN0YW5kaW5nIG9mIGhvdyB0byBpbnRlZ3JhdGUgQ2hpdG9zYW4gaW50byBvdXIgTE5QIGZvcm11bGF0aW9ucy4gQ2hpdG9zYW5cdTIwMTlzIHByb3RlY3RpdmUgYWJpbGl0aWVzIGZvciBSTkEsIGFsb25nIHdpdGggaXRzIGhlYXQgc3RhYmlsaXR5LCBtYWtlIGl0IGEgdmFsdWFibGUgY29tcG9uZW50IGluIG91ciBwcm9qZWN0LiBIb3dldmVyLCBpdHMgaHlkcm9waGlsaWMgYW5kIGNhdGlvbmljIG5hdHVyZSBwcmVzZW50cyBjaGFsbGVuZ2VzIGZvciBkaXJlY3QgaW50ZWdyYXRpb24gaW50byBMTlAgbGlwaWQgc2hlbGxzLCBzbyB3ZSBhcmUgZm9jdXNpbmcgb24gaXRzIHVzZSBhcyBhbiBlbmNhcHN1bGF0aW9uIGZvciB0aGUgUk5BLiBCZW5qYW1pblx1MjAxOXMgYWR2aWNlIG9uIGNvbmNlbnRyYXRpb25zLCBtb2xlY3VsYXIgd2VpZ2h0LCBhbmQgY29tcGxleCBmb3JtYXRpb24gZ2F2ZSB1cyBhIGNsZWFyIHBhdGggZm9yd2FyZCwgd2hpY2ggd2lsbCBiZSB2YWxpZGF0ZWQgdGhyb3VnaCBleHBlcmltZW50YWwgdGVzdGluZy4gXCIsXG4gICAgbW9udGhzOiBcInNlcHRlbWJlclwiXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIkdyYW5kIEphbWJvb3JlZSBpbiBQYXJpc1wiLFxuICAgIG5hY2hubmFtZTogXCJcIixcbiAgICBwaWN0dXJldXJsOiBwaWNzWydwbGFjZWhvbGRlciddLFxuICAgIGpvYjogXCJUZWFtIGlHRU1cIixcbiAgICBhZmZpbGlhdGlvbjogXCJCaWVsZmVsZCBDZUJpVGVjIDIwMjRcIixcbiAgICB0YWc6IFwiTWlsZXN0b25lXCIsXG4gICAgaGVhZGluZzogXCJCcmFpbnN0b3JtaW5nIGFuZCBzZWxlY3Rpb24gb2YgaWRlYXMgYW5kIGNvbmNlcHRzXCIsXG4gICAgaW50ZXJ2aWV3dGFiaWQ6IFwiamFtYm9yZWVcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gICAgdHlwZTogXCJtZXRhXCIsXG4gICAgc3VtbWFyeTogXCJcIixcbiAgICBtb250aHM6IFwib2N0b2JlclwiXG4gIH0sXG4gIHtcbiAgICB2b3JuYW1lOiBcIkNhcnJ5IEl0IEZvcndhcmRcIixcbiAgICBuYWNobm5hbWU6IFwiXCIsXG4gICAgcGljdHVyZXVybDogcGljc1sncGxhY2Vob2xkZXInXSxcbiAgICBqb2I6IFwiVGVhbSBpR0VNXCIsXG4gICAgYWZmaWxpYXRpb246IFwiQmllbGZlbGQgQ2VCaVRlYyAyMDI0XCIsXG4gICAgdGFnOiBcIk1pbGVzdG9uZVwiLFxuICAgIGhlYWRpbmc6IFwiQnJhaW5zdG9ybWluZyBhbmQgc2VsZWN0aW9uIG9mIGlkZWFzIGFuZCBjb25jZXB0c1wiLFxuICAgIGludGVydmlld3RhYmlkOiBcImZvcndhcmRcIixcbiAgICBjYXJkdGV4dDogXCJcIixcbiAgICBxdW90ZTogXCJcIixcbiAgICBhaW1vZmNvbnRhY3Q6IFwiXCIsXG4gICAgaW5zaWdodHM6IFwiXCIsXG4gICAgaW1wbGVtZW50YXRpb246IFwiXCIsXG4gICAgdHlwZTogXCJtZXRhXCIsXG4gICAgc3VtbWFyeTogXCJcIixcbiAgICBtb250aHM6IFwib2N0b2JlclwiXG4gIH0sXG4gXG5dXG5cbiIsICJpbXBvcnQgeyBOZXdIUE1vcmVCdXR0b24gfSBmcm9tIFwiLi9CdXR0b25zXCI7XG5pbXBvcnQgeyB0aW1lbGluZWRhdGEgfSBmcm9tIFwiLi4vZGF0YS9ocHRpbWVsaW5lZGF0YVwiO1xuZnVuY3Rpb24gVGltZUl0ZW0oe3RhZywgdGl0bGUsIHBpYywgYXV0aG9yLCB0YWJpZCwgbW9udGh9OiBJdGVtUHJvcHMpe1xuICAgIGxldCBjbCA9IFwidC10YWcgXCIgKyB0YWc7XG4gICAgcmV0dXJuKFxuICAgIDxsaSBjbGFzc05hbWU9XCJ0aW1lbGluZW9sbGlcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZWxpbmUtaXRlbSBtb3JldG9wXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCIgc3R5bGU9e3twYWRkaW5nTGVmdDogXCIxMHB4XCIsIHBhZGRpbmdSaWdodDogXCIxNXB4XCJ9fT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2NsfT5cbiAgICAgICAgICAgICAgICAgIHt0YWd9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTYgdC10YWdcIiBzdHlsZT17e2NvbG9yOiBcImJsYWNrXCIsIGJhY2tncm91bmRDb2xvcjogXCIjZTJkYWQ3XCJ9fT5cbiAgICAgICAgICAgICAgICAgIHttb250aH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWxsdXAtd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIGZpbGx1cFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCIgPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXJvdW5kXCIgc3JjPXtwaWN9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiA+XG4gICAgICAgICAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIGhwYnV0dG9ucm93XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9e3ttYXJnaW5Ub3A6IFwiMTBweFwifX0+e2F1dGhvcn08L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC00XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0YWJcIj5cbiAgICAgICAgICAgICAgICA8TmV3SFBNb3JlQnV0dG9uIHRhYj17dGFiaWR9IHNjcm9sbD17YCR7dGFiaWR9LWhlYWRpbmdgfS8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG4gICAgKVxuICB9XG4gIFxuICBmdW5jdGlvbiBUaW1lSXRlbU1ldGEoeyB0YWcsIHRpdGxlLCBwaWMsIGF1dGhvciwgdGFiaWQsIG1vbnRofTogSXRlbVByb3BzKXtcbiAgICBsZXQgY2wgPSBcInQtdGFnIFwiICsgdGFnO1xuICAgIHJldHVybihcbiAgICA8bGkgY2xhc3NOYW1lPVwidGltZWxpbmVvbGxpXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpbWVsaW5lLWl0ZW0gdGltZS1tZXRhIG1vcmV0b3BcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCIgc3R5bGU9e3twYWRkaW5nTGVmdDogXCIxMHB4XCIsIHBhZGRpbmdSaWdodDogXCIxNXB4XCJ9fT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2NsfSBjb2wtNiB0LXRhZyBgfT5cbiAgICAgICAgICAgICAgICAgIHt0YWd9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTYgdC10YWdcIiBzdHlsZT17e2NvbG9yOiBcImJsYWNrXCIsIGJhY2tncm91bmRDb2xvcjogXCIjZTJkYWQ3XCJ9fT5cbiAgICAgICAgICAgICAgICAgIHttb250aH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgXG4gICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmlsbHVwLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciBmaWxsdXBcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiID5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1jdWJlXCIgc3JjPXtwaWN9IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIiA+XG4gICAgICAgICAgICAgICAgICAgIHt0aXRsZX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIGhwYnV0dG9ucm93XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPHAgc3R5bGU9e3ttYXJnaW5Ub3A6IFwiMTBweFwifX0+e2F1dGhvcn08L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC00XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0YWJcIj5cbiAgICAgICAgICAgICAgICA8TmV3SFBNb3JlQnV0dG9uIHRhYj17dGFiaWR9IHNjcm9sbD17YCR7dGFiaWR9LWhlYWRpbmdgfS8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbGk+XG4gICAgKVxuICB9XG4gIFxuICBleHBvcnQgZnVuY3Rpb24gQ29tYmlUaW1lSG9yaSh7dGFiMSwgdGFiMn06e3RhYjE6IHN0cmluZywgdGFiMjogc3RyaW5nfSl7XG4gICAgbGV0IG5vZDsgXG5cbiAgICBcbiAgICAgIC8qIGNvbnNvbGUubG9nKFwiVGFiXCIpICovXG4gICAgICBub2QgPSBnZXRJdGVtc0J5VHlwZXModGFiMSwgdGFiMik7XG4gICAgXG4gICAgcmV0dXJuKFxuICAgIDxkaXY+XG4gIDxzZWN0aW9uIGNsYXNzTmFtZT1cInRpbWVsaW5lXCI+XG4gIDxvbCBjbGFzc05hbWU9XCJ0aW1lbGluZW9sXCI+XG4gICAgICB7bm9kfVxuICAgIDxsaSBjbGFzc05hbWU9XCJ0aW1lbGluZW9sbGlcIj48L2xpPlxuICA8L29sPlxuICBcbiAgXG4gIDwvc2VjdGlvbj5cbiAgPC9kaXY+XG4gICAgKVxuICBcbiAgfVxuIGV4cG9ydCBmdW5jdGlvbiBnZXRJdGVtc0J5VHlwZXModGFiaWQxOiBzdHJpbmcsIHRhYmlkMjogc3RyaW5nKSB7XG4gICAgICAgIGxldCByb3dzOiBKU1guRWxlbWVudFtdICA9IFtdXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGltZWxpbmVkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGFiaWQxID09PSB0aW1lbGluZWRhdGFbaV0udGFnIHx8IHRhYmlkMiA9PT0gdGltZWxpbmVkYXRhW2ldLnRhZykge1xuICAgICAgICAgICAgICB2YXIgbmFtZTogc3RyaW5nOyBcbiAgICAgICAgICAgICAgaWYgKHRpbWVsaW5lZGF0YVtpXS50aXRsZSkge1xuICAgICAgICAgICAgICAgIG5hbWUgPSB0aW1lbGluZWRhdGFbaV0udGl0bGUhICsgXCIgXCIgKyB0aW1lbGluZWRhdGFbaV0udm9ybmFtZSArIFwiIFwiICsgIHRpbWVsaW5lZGF0YVtpXS5uYWNobm5hbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICAgICBuYW1lID0gIHRpbWVsaW5lZGF0YVtpXS52b3JuYW1lICsgXCIgXCIgKyAgdGltZWxpbmVkYXRhW2ldLm5hY2hubmFtZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJvd3MucHVzaCg8VGltZUl0ZW1cbiAgICAgICAgICAgICAgICAgIGtleT17aX1cbiAgICAgICAgICAgICAgICAgIHRpdGxlPXt0aW1lbGluZWRhdGFbaV0uaGVhZGluZ31cbiAgICAgICAgICAgICAgICAgIHBpYz17dGltZWxpbmVkYXRhW2ldLnBpY3R1cmV1cmx9XG4gICAgICAgICAgICAgICAgICB0YWc9e3RpbWVsaW5lZGF0YVtpXS50YWd9XG4gICAgICAgICAgICAgICAgICBhdXRob3I9e25hbWV9XG4gICAgICAgICAgICAgICAgICB0YWJpZD17dGltZWxpbmVkYXRhW2ldLmludGVydmlld3RhYmlkfSBcbiAgICAgICAgICAgICAgICAgIG1vbnRoPXt0aW1lbGluZWRhdGFbaV0ubW9udGhzfSAgPlxuICAgICAgICAgICAgICAgICAgICB7dGltZWxpbmVkYXRhW2ldLmNhcmR0ZXh0fVxuICAgICAgICAgICAgICAgIDwvVGltZUl0ZW0+KVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb3dzOyBcbiAgICB9XG4gIFxuICBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBUaW1lSG9yaSh7dGFifTp7dGFiOiBzdHJpbmd9KXtcbiAgICBsZXQgbm9kOyBcbiAgICAvKiBjb25zb2xlLmxvZyhcIlRpbWVIb3JpXCIpICovXG4gICAgaWYgKHRhYiA9PT0gXCJcIil7ICBcbiAgICAgIG5vZCA9IDxBbGxJdGVtcz48L0FsbEl0ZW1zPlxuICAgICAgLyogY29uc29sZS5sb2coXCJUYWIgPSAnJ1wiKSAqL1xuICAgIH1cbiAgICBlbHNle1xuICAgICAgLyogY29uc29sZS5sb2coXCJUYWJcIikgKi9cbiAgICAgIG5vZCA9IGdldEl0ZW1zQnlUeXBlKHRhYik7XG4gICAgfVxuICAgIHJldHVybihcbiAgICA8ZGl2PlxuICA8c2VjdGlvbiBjbGFzc05hbWU9XCJ0aW1lbGluZVwiPlxuICA8b2wgY2xhc3NOYW1lPVwidGltZWxpbmVvbFwiPlxuICAgICAge25vZH1cbiAgICA8bGkgY2xhc3NOYW1lPVwidGltZWxpbmVvbGxpXCI+PC9saT5cbiAgPC9vbD5cbiAgXG4gIFxuICA8L3NlY3Rpb24+XG4gIDwvZGl2PlxuICBcbiAgICApXG4gIH1cbiAgXG5cbiAgXG4gICAgICBcbiAgICAgIGludGVyZmFjZSBJdGVtUHJvcHMge1xuICAgICAgICB0aXRsZTogc3RyaW5nICxcbiAgICAgICAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbiAgICAgICAgdGFnOiBzdHJpbmcsIFxuICAgICAgICBwaWM6IHN0cmluZyxcbiAgICAgICAgYXV0aG9yOiBzdHJpbmcsIFxuICAgICAgICB0YWJpZDogc3RyaW5nXG4gICAgICAgIG1vbnRoOiBzdHJpbmdcbiAgICAgICAgfVxuICAgIFxuICAgICAgICBcblxuXG4gICAgICBmdW5jdGlvbiBBbGxJdGVtcygpe1xuICAgICAgICBsZXQgcm93czogSlNYLkVsZW1lbnRbXSAgPSBbXVxuICAgICAgICBmb3IgKCBsZXQgaSA9IDA7ICBpIDwgdGltZWxpbmVkYXRhLmxlbmd0aDsgaSsrICl7XG4gICAgICAgICAgaWYgKHRpbWVsaW5lZGF0YVtpXS50eXBlID09PSBcIm1ldGFcIil7XG4gICAgICAgICAgICB2YXIgbmFtZTogc3RyaW5nOyBcbiAgICAgICAgICAgIGlmICh0aW1lbGluZWRhdGFbaV0udGl0bGUpIHtcbiAgICAgICAgICAgICAgbmFtZSA9IHRpbWVsaW5lZGF0YVtpXS50aXRsZSEgKyBcIiBcIiArIHRpbWVsaW5lZGF0YVtpXS52b3JuYW1lICsgXCIgXCIgKyAgdGltZWxpbmVkYXRhW2ldLm5hY2hubmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgIG5hbWUgPSAgdGltZWxpbmVkYXRhW2ldLnZvcm5hbWUgKyBcIiBcIiArICB0aW1lbGluZWRhdGFbaV0ubmFjaG5uYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm93cy5wdXNoKDxUaW1lSXRlbU1ldGEgXG4gICAgICAgICAgICAgIHRpdGxlPXt0aW1lbGluZWRhdGFbaV0uaGVhZGluZ31cbiAgICAgICAgICAgICAgcGljPXt0aW1lbGluZWRhdGFbaV0ucGljdHVyZXVybH1cbiAgICAgICAgICAgICAgdGFnPXt0aW1lbGluZWRhdGFbaV0udGFnfVxuICAgICAgICAgICAgICBhdXRob3I9e25hbWV9XG4gICAgICAgICAgICAgIHRhYmlkPXt0aW1lbGluZWRhdGFbaV0uaW50ZXJ2aWV3dGFiaWR9XG4gICAgICAgICAgICAgIG1vbnRoPXt0aW1lbGluZWRhdGFbaV0ubW9udGhzfSAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0aW1lbGluZWRhdGFbaV0uY2FyZHRleHR9XG4gICAgICAgICAgICAgIDwvVGltZUl0ZW1NZXRhPilcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgIHZhciBuYW1lOiBzdHJpbmc7IFxuICAgICAgICAgICAgaWYgKHRpbWVsaW5lZGF0YVtpXS50aXRsZSkge1xuICAgICAgICAgICAgICBuYW1lID0gdGltZWxpbmVkYXRhW2ldLnRpdGxlISArIFwiIFwiICsgdGltZWxpbmVkYXRhW2ldLnZvcm5hbWUgKyBcIiBcIiArICB0aW1lbGluZWRhdGFbaV0ubmFjaG5uYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZXtcbiAgICAgICAgICAgICAgbmFtZSA9ICB0aW1lbGluZWRhdGFbaV0udm9ybmFtZSArIFwiIFwiICsgIHRpbWVsaW5lZGF0YVtpXS5uYWNobm5hbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByb3dzLnB1c2goPFRpbWVJdGVtIFxuICAgICAgICAgICAgICB0aXRsZT17dGltZWxpbmVkYXRhW2ldLmhlYWRpbmd9XG4gICAgICAgICAgICAgIHBpYz17dGltZWxpbmVkYXRhW2ldLnBpY3R1cmV1cmx9XG4gICAgICAgICAgICAgIHRhZz17dGltZWxpbmVkYXRhW2ldLnRhZ31cbiAgICAgICAgICAgICAgYXV0aG9yPXtuYW1lfVxuICAgICAgICAgICAgICB0YWJpZD17dGltZWxpbmVkYXRhW2ldLmludGVydmlld3RhYmlkfSBcbiAgICAgICAgICAgICAgbW9udGg9e3RpbWVsaW5lZGF0YVtpXS5tb250aHN9ICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dGltZWxpbmVkYXRhW2ldLmNhcmR0ZXh0fVxuICAgICAgICAgICAgICA8L1RpbWVJdGVtPilcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJvd3M7IFxuICAgICAgfVxuXG4gICAgICBcbiAgICAgIGV4cG9ydCBmdW5jdGlvbiBnZXRJdGVtc0J5VHlwZSh0YWJpZDogc3RyaW5nKSB7XG4gICAgICAgIGxldCByb3dzOiBKU1guRWxlbWVudFtdICA9IFtdXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGltZWxpbmVkYXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGFiaWQgPT09IHRpbWVsaW5lZGF0YVtpXS50YWcpIHtcbiAgICAgICAgICAgICAgdmFyIG5hbWU6IHN0cmluZzsgXG4gICAgICAgICAgICAgIGlmICh0aW1lbGluZWRhdGFbaV0udGl0bGUpIHtcbiAgICAgICAgICAgICAgICBuYW1lID0gdGltZWxpbmVkYXRhW2ldLnRpdGxlISArIFwiIFwiICsgdGltZWxpbmVkYXRhW2ldLnZvcm5hbWUgKyBcIiBcIiArICB0aW1lbGluZWRhdGFbaV0ubmFjaG5uYW1lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGVsc2V7XG4gICAgICAgICAgICAgICAgbmFtZSA9ICB0aW1lbGluZWRhdGFbaV0udm9ybmFtZSArIFwiIFwiICsgIHRpbWVsaW5lZGF0YVtpXS5uYWNobm5hbWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByb3dzLnB1c2goPFRpbWVJdGVtXG4gICAgICAgICAgICAgICAgICBrZXk9e2l9XG4gICAgICAgICAgICAgICAgICB0aXRsZT17dGltZWxpbmVkYXRhW2ldLmhlYWRpbmd9XG4gICAgICAgICAgICAgICAgICBwaWM9e3RpbWVsaW5lZGF0YVtpXS5waWN0dXJldXJsfVxuICAgICAgICAgICAgICAgICAgdGFnPXt0aW1lbGluZWRhdGFbaV0udGFnfVxuICAgICAgICAgICAgICAgICAgYXV0aG9yPXtuYW1lfVxuICAgICAgICAgICAgICAgICAgdGFiaWQ9e3RpbWVsaW5lZGF0YVtpXS5pbnRlcnZpZXd0YWJpZH0gXG4gICAgICAgICAgICAgICAgICBtb250aD17dGltZWxpbmVkYXRhW2ldLm1vbnRoc30gID5cbiAgICAgICAgICAgICAgICAgICAge3RpbWVsaW5lZGF0YVtpXS5jYXJkdGV4dH1cbiAgICAgICAgICAgICAgICA8L1RpbWVJdGVtPilcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcm93czsgXG4gICAgfVxuICAgIFxuICAgICAiLCAiaW1wb3J0IHsgVGFiQnV0dG9uUm93IH0gZnJvbSBcIi4vQnV0dG9uc1wiO1xuaW1wb3J0IFRpbWVIb3JpLCB7IENvbWJpVGltZUhvcmkgfSBmcm9tIFwiLi9Ib3Jpem9udGFsVGltZWxpbmVcIjtcbmltcG9ydCB7IEJGSFN0eWxlVGFicywgQnV0dG9uUm93VGFicyB9IGZyb20gXCIuL1RhYnNcIjtcbmltcG9ydCB7IHRpbWVsaW5lZGF0YSB9IGZyb20gXCIuLi9kYXRhL2hwdGltZWxpbmVkYXRhXCI7XG5leHBvcnQgZnVuY3Rpb24gSFBUaW1lbGluZSgpe1xuICAgIHJldHVybihcbiAgICAgIDxzZWN0aW9uIGlkPVwiVGltZWxpbmVcIiBjbGFzc05hbWU9XCJzZWN0aW9uXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2VudGVyXCI+XG4gICAgICAgIDwvZGl2PiBcbiAgICAgICAgPFRhYkJ1dHRvblJvdyBkYXRhPXt0aW1lbGluZWJ1dHRvbnJvd2RhdGF9IGNsYXNzeT1cIlwiIG9wZW50eXBlPVwidGltZWxpbmVjYXJkdGFic1wiIGNsb3Npbmc9XCJ0aW1lbGluZXBlcnNvbnRhYnNcIiAvPlxuICAgICAgICA8QnV0dG9uUm93VGFicyBjbGE9XCJ0aW1lbGluZWNhcmR0YWJzXCIgZGF0YT17dGltZWxpbmVidXR0b25yb3dkYXRhfS8+IFxuICAgICAgICA8QkZIU3R5bGVUYWJzIGNsYT1cInRpbWVsaW5lcGVyc29udGFic1wiIGRhdGE9e3RpbWVsaW5lZGF0YX0+PC9CRkhTdHlsZVRhYnM+IFxuICAgICAgPC9zZWN0aW9uPlxuICAgIClcbiAgfVxuXG4gIGxldCB0aW1lbGluZWJ1dHRvbnJvd2RhdGEgPSBbXG4gICAge1xuICAgICAgYnV0dG9ubmFtZTogXCJBbGxcIiwgXG4gICAgICBub2RlOiA8VGltZUhvcmkgdGFiPVwiXCIgPjwvVGltZUhvcmk+LCBcbiAgICAgIGNzc25hbWU6IFwiRmlyc3RcIixcbiAgICAgIG1haW46IHRydWVcbiAgICAgIFxuICAgIH0sXG4gICAgeyBcbiAgICAgIG5vZGU6IDxUaW1lSG9yaSB0YWI9XCJQYXRpZW50XCIgPjwvVGltZUhvcmk+LFxuICAgICAgYnV0dG9ubmFtZTogXCJQYXRpZW50c1wiLCBcbiAgICAgIGNzc25hbWU6IFwiUGF0aWVudFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlOiA8VGltZUhvcmkgdGFiPVwiTWVkaWNhbCBQcm9mZXNzaW9uYWxcIiA+PC9UaW1lSG9yaT4sXG4gICAgICBidXR0b25uYW1lOiBcIk1lZGljYWwgUHJvZmVzc2lvbmFsc1wiLCBcbiAgICAgIGNzc25hbWU6IFwiTWVkaWNhbFwiXG4gICAgfSxcbiAgICB7XG4gICAgICBub2RlOiA8VGltZUhvcmkgdGFiPVwiQWNhZGVtaWFcIiA+PC9UaW1lSG9yaT4sXG4gICAgICBidXR0b25uYW1lOiBcIkFjYWRlbWlhXCIsIFxuICAgICAgY3NzbmFtZTogXCJBY2FkZW1pYVwiXG4gICAgfSxcbiAgICB7IFxuICAgICAgbm9kZTogPFRpbWVIb3JpIHRhYj1cIkluZHVzdHJ5XCIgPjwvVGltZUhvcmk+LFxuICAgICAgYnV0dG9ubmFtZTogXCJJbmR1c3RyeVwiLCBcbiAgICAgIGNzc25hbWU6IFwiSW5kdXN0cnlcIlxuICAgIH0sXG4gICAgeyBcbiAgICAgIG5vZGU6IDxUaW1lSG9yaSB0YWI9XCJNaWxlc3RvbmVcIiA+PC9UaW1lSG9yaT4sXG4gICAgICBidXR0b25uYW1lOiBcIk1pbGVzdG9uZXNcIiwgXG4gICAgICBjc3NuYW1lOiBcIk1pbGVzdG9uZVwiXG4gICAgfSxcbiAgIHsgXG4gICAgICBub2RlOiA8Q29tYmlUaW1lSG9yaSB0YWIxPVwiRWR1Y2F0aW9uXCIgdGFiMj1cIk91dHJlYWNoXCIgPjwvQ29tYmlUaW1lSG9yaT4sXG4gICAgICBidXR0b25uYW1lOiBcIkVkdWNhdGlvbiAmIE91dHJlYWNoXCIsIFxuICAgICAgY3NzbmFtZTogXCJFZHVjYXRpb25cIlxuICAgIH0sXG4gICAgLypcbiAgICB7IFxuICAgICAgbm9kZTogPFRpbWVIb3JpIHRhYj1cIk91dHJlYWNoXCIgPjwvVGltZUhvcmk+LFxuICAgICAgYnV0dG9ubmFtZTogXCJPdXRyZWFjaFwiLCBcbiAgICAgIGNzc25hbWU6IFwiT3V0cmVhY2hcIlxuICAgIH0gKi9cbiAgXVxuICBcblxuLyogZXhwb3J0IGZ1bmN0aW9uIEhQdGltZWxpbmVOZXcoZGF0YTogQXJyYXk8Tm9kZURhdGVuc2F0ej4pe1xuICB2YXIgdGltZWxpbmVjYXJkczogUmVhY3QuUmVhY3ROb2RlOyBcbiAgdmFyIGludGVydmlld3RhYnM6IFxuXG59ICovIiwgImltcG9ydCBDb2xsYXBzaWJsZSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9Db2xsYXBzaWJsZVwiO1xuaW1wb3J0IHsgSDUsIEg0IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vLi4vdXRpbHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEhQY29uY2x1c2lvbigpe1xuICAgIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24oKTsgXG4gICAgY29uc3Qge2dvVG9QYWdlQW5kU2Nyb2xsfSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgICByZXR1cm4oXG4gICAgICAgIDw+XG4gICAgICAgICAgPHA+T3VyIHByb2plY3QgaGFzIGV2b2x2ZWQgdGhyb3VnaCBhIGRlZXBseSBjb2xsYWJvcmF0aXZlIGFuZCBodW1hbi1jZW50ZXJlZCBhcHByb2FjaCwgaW50ZWdyYXRpbmcgZGl2ZXJzZSBmZWVkYmFjayBmcm9tIHBhdGllbnRzLCBjbGluaWNpYW5zLCByZXNlYXJjaGVycywgYW5kIGluZHVzdHJ5IGV4cGVydHMuIFRoZXNlIGluc2lnaHRzIHNoYXBlZCBub3Qgb25seSB0aGUgdGVjaG5pY2FsIGFzcGVjdHMgb2Ygb3VyIGdlbmUgdGhlcmFweSBmb3IgY3lzdGljIGZpYnJvc2lzIChDRikgYnV0IGFsc28gb3VyIGNvbW1pdG1lbnQgdG8gYWRkcmVzc2luZyByZWFsLXdvcmxkIHBhdGllbnQgbmVlZHMsIGV0aGljYWwgY29uc2lkZXJhdGlvbnMsIGFuZCB0aGUgZGlzcGFyaXRpZXMgaW4gQ0YgdHJlYXRtZW50IHdvcmxkd2lkZS4gRnJvbSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiKCdtYXhmaXJzdCcsICcnKX0+TWF4IEJlY2ttYW5uXHUyMDE5czwvYT4gcGF0aWVudCBwZXJzcGVjdGl2ZSB0byBleHBlcnQgZ3VpZGFuY2Ugb24gdGVjaG5pY2FsIGFuZCBldGhpY2FsIGlzc3VlcywgZWFjaCBzdGFrZWhvbGRlciBjb250cmlidXRlZCB0byByZWZpbmluZyBvdXIgc29sdXRpb24sIGVuc3VyaW5nIGl0IGlzIGJvdGggaW5ub3ZhdGl2ZSBhbmQgZW1wYXRoZXRpYy4gT3VyIGZvY3VzIG9uIGdlbmUgdGhlcmFweSB0YXJnZXRpbmcgQ0ZcdTIwMTlzIGNvbXBsZXggbXV0YXRpb25zLCBpbnRlZ3JhdGluZyBwaHlzaW90aGVyYXB5LCBhbmQgZW5zdXJpbmcgZ2xvYmFsIGFjY2Vzc2liaWxpdHkgZGVtb25zdHJhdGVzIG91ciBob2xpc3RpYyBhbmQgaW5jbHVzaXZlIHZpc2lvbiBmb3IgdGhpcyBwcm9qZWN0LiBJbXBvcnRhbnRseSwgdGhlIGNvbGxhYm9yYXRpb24gd2l0aCByZXNlYXJjaGVycyBpbiBuYW5vcGFydGljbGUgc3RhYmlsaXR5IGFuZCBnZW5lIHRoZXJhcHksIGFsb25nIHdpdGggdGhlIGRldmVsb3BtZW50IG9mIGJpbGluZ3VhbCBzdXJ2ZXlzIGFuZCBvdXRyZWFjaCBtYXRlcmlhbHMsIGhpZ2hsaWdodHMgb3VyIGVmZm9ydHMgdG8gbWFrZSBzY2llbmNlIG1vcmUgYWNjZXNzaWJsZSBhbmQgdHJhbnNwYXJlbnQsIGJyaWRnaW5nIGdhcHMgaW4ga25vd2xlZGdlIGFuZCBjYXJlLiAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiSHVtYW4gUHJhY3RpY2VzIEludGVncmF0aW9uIFwiLz5cbiAgICAgICAgICAgICAgICA8cD5Gcm9tIHRoZSBzdGFydCwgd2UgcHJpb3JpdGl6ZWQgZW5nYWdpbmcgd2l0aCBDRiBwYXRpZW50cywgbWFraW5nIHN1cmUgdGhhdCBvdXIgcHJvamVjdCBhbGlnbmVkIHdpdGggYm90aCB0aGVpciBuZWVkcyBhbmQgc2NpZW50aWZpYyBleHBlY3RhdGlvbnMuIEVhcmx5IGlucHV0IGZyb20gTWF4IEJlY2ttYW5uLCBhIENGIHBhdGllbnQgYW5kIGZyaWVuZCBvZiBvdXIgdGVhbSwgZ3VpZGVkIGtleSBkZXNpZ24gZGVjaXNpb25zLCBzdWNoIGFzIG91ciBmb2N1cyBvbiBsdW5nLXRhcmdldGVkIGdlbmUgdGhlcmFweS4gSGlzIGluc2lnaHRzIGFsc28gc2hhcGVkIGFzcGVjdHMgbGlrZSBoeWdpZW5lIHByb3RvY29scyBmb3IgaW1tdW5vY29tcHJvbWlzZWQgcGF0aWVudHMgYW5kIHRoZSBwb3J0cmF5YWwgb2YgQ0YgaW4gb3VyIG91dHJlYWNoIG1hdGVyaWFscy4gTWF4XHUyMDE5cyBvbmdvaW5nIGZlZWRiYWNrIHByb3ZpZGVkIGludmFsdWFibGUgZW1vdGlvbmFsIGluc2lnaHQsIGhlbHBpbmcgdXMgZ3JvdW5kIHRoZSBwcm9qZWN0IGluIHRoZSByZWFsLXdvcmxkIGV4cGVyaWVuY2VzIG9mIENGIHBhdGllbnRzLjwvcD5cbiAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlN0YWtlaG9sZGVyIEVuZ2FnZW1lbnQgXCIvPlxuICAgICAgICAgICAgICAgIDxwPldlIGNvbnN1bHRlZCB3aXRoIG1lZGljYWwgcHJvZmVzc2lvbmFscyBsaWtlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ29sYXJpdScsICcnKX0+RHIuIE9sYXJpdSA8L2E+ICB3aG8gZW1waGFzaXplZCB0aGUgaW1wb3J0YW5jZSBvZiBlYXJseSBkaWFnbm9zaXMgYW5kIG1lbnRhbCBoZWFsdGggc3VwcG9ydCBpbiBDRiB0cmVhdG1lbnQuIFRoZXNlIGluc2lnaHRzIGxlZCB1cyB0byBpbnRlZ3JhdGUgbWVudGFsIGhlYWx0aCBjb25zaWRlcmF0aW9ucyBpbnRvIG91ciB0aGVyYXB5IGRlc2lnbiBhbmQgZm9jdXMgb24gcmVkdWNpbmcgcmFjaWFsIGFuZCBnbG9iYWwgZGlzcGFyaXRpZXMgaW4gQ0YgY2FyZS4gUGh5c2lvdGhlcmFwaXN0IDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3dlc3Rob2ZmaW52JywgJycpfT5LYXRyaW4gV2VzdGhvZmY8L2E+ICBoaWdobGlnaHRlZCB0aGUgbmVlZCBmb3IgYSB1c2VyLWZyaWVuZGx5IGluaGFsYXRpb24tYmFzZWQgdGhlcmFweSBmb3IgeW91bmdlciBwYXRpZW50cywgdmFsaWRhdGluZyBvdXIgZGlyZWN0aW9uIHRvd2FyZHMgY3JlYXRpbmcgYWNjZXNzaWJsZSB0cmVhdG1lbnRzLiA8L3A+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJFdGhpY2FsLCBMZWdhbCwgYW5kIFJlZ3VsYXRvcnkgQ29uc2lkZXJhdGlvbnMgXCIvPlxuICAgICAgICAgICAgICAgIDxwPkNvbGxhYm9yYXRpb24gd2l0aCByZWd1bGF0b3J5IGV4cGVydHMsIHN1Y2ggYXMgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignYmVyZW5zJywgJycpfT4gRHIuIEV2YS1NYXJpYSBCZXJlbnMgPC9hPiAsIGVuc3VyZWQgb3VyIHdvcmsgYWRoZXJlZCB0byBldGhpY2FsIGFuZCBsZWdhbCBzdGFuZGFyZHMsIHBhcnRpY3VsYXJseSBpbiBwYXRpZW50IGNvbnNlbnQgYW5kIGJpb3NhZmV0eSBwcm90b2NvbHMuIFRocm91Z2ggZmVlZGJhY2sgZnJvbSBsZWdhbCBhbmQgYmlvZXRoaWNzIGNvbW1pdHRlZXMsIHdlIHJlZmluZWQgb3VyIGNvbnNlbnQgcHJvY2Vzc2VzIGFuZCBpbXByb3ZlZCBvdXIgbWFuYWdlbWVudCBvZiBwZXJzb25hbCBkYXRhLCBlbnN1cmluZyBvdXIgcHJvamVjdCBjb21wbGllZCB3aXRoIGJvdGggR2VybWFuIGFuZCBpbnRlcm5hdGlvbmFsIHJlZ3VsYXRpb25zLiA8L3A+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJUZWNobmljYWwgYW5kIFNjaWVudGlmaWMgQWRhcHRhdGlvbnMgXCIvPlxuICAgICAgICAgICAgICAgIDxwPldlIGNvbnRpbnVvdXNseSBpbnRlZ3JhdGVkIGV4cGVydCB0ZWNobmljYWwgZmVlZGJhY2sgaW50byB0aGUgcHJvamVjdC4gQ29udHJpYnV0aW9ucyBmcm9tIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3JuaGFsZScsICcnKX0+RHIuIEJlbmphbWluIFdpbmtlbGphbm48L2E+ICBhbmQgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigna29sb25rb2ZpcnN0JywgJy9odW1hbi1wcmFjdGljZXMnKX0+RHIuIEthdGhhcmluYSBLb2xvbmtvPC9hPiAgaGVscGVkIHVzIGltcHJvdmUgdGhlIHN0YWJpbGl0eSBhbmQgc2NhbGFiaWxpdHkgb2Ygb3VyIHNwcmF5LWRyaWVkIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpLCB3aGljaCBhcmUgZXNzZW50aWFsIGZvciBSTkEgZGVsaXZlcnkuIFRoaXMgcHJhY3RpY2FsIGZvY3VzIG9uIHNjYWxhYmxlIHNvbHV0aW9ucyBhbGxvd2VkIHVzIHRvIGFkZHJlc3MgZ2xvYmFsIGNoYWxsZW5nZXMsIHN1Y2ggYXMgdGhlIG5lZWQgZm9yIHRyYW5zcG9ydGFibGUgdGhlcmFwaWVzLiBDb2xsYWJvcmF0aW5nIHdpdGggeWVhc3QgY3VsdGl2YXRpb24gZXhwZXJ0cyBsaWtlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ25iZXJlbHNtYW5uJywgJycpfT5OaWxzIEJlcmVsc21hbm48L2E+LCB3ZSBhbHNvIG9wdGltaXplZCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZUFuZFNjcm9sbCAoJ2xucHMnLCAnL21hdGVyaWFscy1tZXRob2RzJyl9PiBSTkEgZGVsaXZlcnkgU3lzdGVtcyA8L2E+IHRvIGVuc3VyZSBlZmZlY3RpdmUgbHVuZyBwZW5ldHJhdGlvbi4gPC9wPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiR2xvYmFsIEltcGFjdCBhbmQgSW5jbHVzaXZpdHkgXCIvPlxuICAgICAgICAgICAgICAgIDxwPlJlY29nbml6aW5nIHRoZSBkaXNwYXJpdGllcyBpbiBDRiBjYXJlIGFjcm9zcyBkaWZmZXJlbnQgcmVnaW9ucywgcGFydGljdWxhcmx5IGluIHVuZGVycmVwcmVzZW50ZWQgYXJlYXMgbGlrZSBBc2lhLCB3ZSBhZGp1c3RlZCBvdXIgYXBwcm9hY2ggdG8gY3JlYXRlIGEgbW9yZSBpbmNsdXNpdmUgdGhlcmFweS4gV2l0aCBmZWVkYmFjayBmcm9tIHN0YWtlaG9sZGVycyBsaWtlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2pvc2h1YScsICcnKX0+Sm9zaHVhIEJhdWRlcjwvYT4gZnJvbSBDRiBWZXN0IEludGVybmF0aW9uYWwgYW5kIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ3NyaXJhbScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PkRyLiBTcmlyYW0gVmFpZHlhbmF0aGFuPC9hPiwgd2UgZW5zdXJlZCBvdXIgdGhlcmFweSBhZGRyZXNzZWQgYSB3aWRlciByYW5nZSBvZiBDRiBtdXRhdGlvbnMuIFRoaXMgZ2xvYmFsIGZvY3VzIGxlZCB0byBiaWxpbmd1YWwgc3VydmV5cyBhbmQgZXhwYW5kZWQgb3V0cmVhY2ggZWZmb3J0cyB0byByYWlzZSBhd2FyZW5lc3MgYWJvdXQgQ0YgYW5kIGdlbmUgdGhlcmFweS4gPC9wPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiRmVlZGJhY2sgTG9vcHMgYW5kIFByb2plY3QgRXZvbHV0aW9uIFwiLz5cbiAgICAgICAgICAgICAgICA8cD5XZSBlbXBsb3llZCBhIHN0cnVjdHVyZWQgZmVlZGJhY2sgY3ljbGUgYmFzZWQgb24gR2liYnMnIFJlZmxlY3Rpb24gQ3ljbGUsIGVuc3VyaW5nIG91ciBkZXNpZ24gY29udGludW91c2x5IGV2b2x2ZWQgd2l0aCBzdGFrZWhvbGRlciBpbnB1dC4gRnJvbSBpbml0aWFsIGRlc2lnbiB0byBwdWJsaWMgb3V0cmVhY2gsIGV2ZXJ5IHBoYXNlIG9mIFByZUN5c2Ugd2FzIHNoYXBlZCBieSB0aGUgZmVlZGJhY2sgd2UgcmVjZWl2ZWQsIGFsbG93aW5nIHVzIHRvIGRldmVsb3AgYSBwYXRpZW50LWNlbnRlcmVkIGFuZCBnbG9iYWxseSByZWxldmFudCBzb2x1dGlvbi4gPC9wPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiRG9jdW1lbnRhdGlvbiBhbmQgRnV0dXJlIEd1aWRhbmNlIFwiLz5cbiAgICAgICAgICAgICAgICA8cD5XZSBhcmUgY29tbWl0dGVkIHRvIHRyYW5zcGFyZW5jeSBhbmQgb3BlbiBzY2llbmNlLiBPdXIgZGV0YWlsZWQgZG9jdW1lbnRhdGlvbiBvZiBzdGFrZWhvbGRlciBpbnRlcmFjdGlvbnMgYW5kIG1ldGhvZHNcdTIwMTRpbmNsdWRpbmcgcHJvdG9jb2xzIGZvciB3b3JraW5nIHdpdGggPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdDZWxsIEN1bHR1cmUzJywgJy9tYXRlcmlhbHMtbWV0aG9kcycpfT4gaHVtYW4gbmFzYWwgZXBpdGhlbGlhbCBjZWxscyA8L2E+XHUyMDE0cHJvdmlkZXMgYSBmb3VuZGF0aW9uIGZvciBmdXR1cmUgaUdFTSB0ZWFtcy4gT3VyIG91dHJlYWNoIGVmZm9ydHMsIGluY2x1ZGluZyBlZHVjYXRpb25hbCBtYXRlcmlhbHMgYW5kIHB1YmxpYyBlbmdhZ2VtZW50IGNhbXBhaWducywgaGVscCBmb3N0ZXIgYSBicm9hZGVyIHVuZGVyc3RhbmRpbmcgb2YgQ0YgYW5kIGdlbmUgdGhlcmFweSwgcmVmbGVjdGluZyBpR0VNXHUyMDE5cyB2aXNpb24gb2YgcmVzcG9uc2libGUgYW5kIGltcGFjdGZ1bCBzY2llbnRpZmljIHByYWN0aWNlcy4gPC9wPlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTmV4dCBTdGVwc1wiLz5cbiAgICAgICAgICAgICAgICA8b2w+XG4gICAgICAgICAgICAgICAgICAgIDxsaT48cD48Yj5BZHZhbmNlZCBUZXN0aW5nIGFuZCBQcmVjbGluaWNhbCBUcmlhbHM6PC9iPjwvcD4gIDxwPkZvbGxvd2luZyB0aGUgc3VjY2Vzc2Z1bCBpbiB2aXRybyBleHBlcmltZW50cywgb3VyIG5leHQgbWFqb3IgbWlsZXN0b25lIGlzIHRoZSBpbml0aWF0aW9uIG9mIGFuaW1hbCBzdHVkaWVzIHRvIGV2YWx1YXRlIHRoZSBzYWZldHkgYW5kIGVmZmljYWN5IG9mIG91ciBnZW5lIHRoZXJhcHkgYXBwcm9hY2gsIHBhcnRpY3VsYXJseSBpbiBDRiBsdW5nIG1vZGVscy48L3A+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPjxwPjxiPkVuaGFuY2luZyBSTkEgRGVsaXZlcnkgU3lzdGVtczo8L2I+PC9wPiAgPHA+V2Ugd2lsbCBjb250aW51ZSBvcHRpbWl6aW5nIG91ciBsaXBpZCBuYW5vcGFydGljbGUgKExOUCkgZm9ybXVsYXRpb25zLCBwYXJ0aWN1bGFybHkgZXhwbG9yaW5nIGNoaXRvc2FuIGludGVncmF0aW9uLCB0byBpbXByb3ZlIFJOQSBzdGFiaWxpdHksIGx1bmcgcGVuZXRyYXRpb24sIGFuZCBzY2FsYWJpbGl0eSBmb3IgYnJvYWRlciBnbG9iYWwgYXBwbGljYXRpb25zLjwvcD48L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+PHA+PGI+Q2xpbmljYWwgUGFydG5lcnNoaXBzOjwvYj48L3A+ICA8cD5Fc3RhYmxpc2ggc3Ryb25nZXIgdGllcyB3aXRoIGNsaW5pY2FsIGluc3RpdHV0aW9ucyB0byBtb3ZlIHRvd2FyZHMgaHVtYW4gdHJpYWxzLCBlbnN1cmluZyB0aGF0IG91ciB0aGVyYXB5IGlzIGFsaWduZWQgd2l0aCBjbGluaWNhbCBuZWVkcyBhbmQgcmVndWxhdG9yeSBzdGFuZGFyZHMuPC9wPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT48cD48Yj5FeHBhbmRlZCBHbG9iYWwgT3V0cmVhY2g6PC9iPjwvcD4gIDxwPkluY3JlYXNlIGF3YXJlbmVzcyBhbmQgZWR1Y2F0aW9uIG9uIENGIGFuZCBnZW5lIHRoZXJhcHkgdGhyb3VnaCBtdWx0aWxpbmd1YWwgcGxhdGZvcm1zIGFuZCBjb2xsYWJvcmF0aW9uIHdpdGggaW50ZXJuYXRpb25hbCBDRiBjb21tdW5pdGllcywgcGFydGljdWxhcmx5IGluIHVuZGVycmVwcmVzZW50ZWQgcmVnaW9ucy48L3A+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPjxwPjxiPkV0aGljYWwgYW5kIExlZ2FsIENvbnNpZGVyYXRpb25zOjwvYj48L3A+ICA8cD5GaW5hbGl6ZSBhbGwgYmlvZXRoaWNhbCBwcm90b2NvbHMgZm9yIHBhdGllbnQgc2FtcGxpbmcgYW5kIGRhdGEgbWFuYWdlbWVudCB0byBwYXZlIHRoZSB3YXkgZm9yIHNhZmUsIGNvbXBsaWFudCBmdXR1cmUgcmVzZWFyY2gsIGluY2x1ZGluZyB0aGUgZGV2ZWxvcG1lbnQgb2YgZ3VpZGVsaW5lcyBmb3IgZnV0dXJlIHRlYW1zLjwvcD48L2xpPlxuICAgICAgICAgICAgICAgIDwvb2w+XG4gICAgICAgICAgICAgICAgPHA+QnkgY29udGludWluZyB0aGlzIHBhdGllbnQtZHJpdmVuLCBzY2llbnRpZmljYWxseSByaWdvcm91cywgYW5kIGdsb2JhbGx5IGNvbnNjaW91cyB0cmFqZWN0b3J5LCB3ZSBhaW0gdG8gYWR2YW5jZSBjeXN0aWMgZmlicm9zaXMgY2FyZSBhbmQgbWFrZSBhIGxhc3RpbmcgaW1wYWN0IG9uIHBhdGllbnQgbGl2ZXMsIGVuc3VyaW5nIHRoYXQgb3VyIHByb2plY3QgcmVtYWlucyBwb2lzZWQgZm9yIGNsaW5pY2FsIHN1Y2Nlc3MuPC9wPlxuICAgICAgICAgICAgICAgIFxuXG48Lz5cbiAgICApXG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIEhQY29uVGFicygpe1xuXG4gICAgcmV0dXJuKFxuICAgICAgICA8PlxuICAgICAgICA8QW5hbHlzZU1heC8+XG4gICAgICAgIDxBYWx5c2VPbGFyaXUvPlxuICAgICAgICA8QW5hbHlzZVdlc3Rob2ZmLz5cbiAgICAgICAgPEFuYWx5c2VKb3NodWEvPlxuICAgICAgICA8QW5hbHlzZVJuaGFsZS8+XG4gICAgICAgIDxBbmFseXNlS29sb25rby8+XG4gICAgICAgIDxBbmFseXNlTW9vci8+XG4gICAgICAgIDxBbmFseXNlV2ViZXIvPlxuICAgICAgICA8QW5hbHlzZUJlcmVucy8+XG4gICAgICAgIDxBbmFseXNlTWljaGFlbGEvPlxuICAgICAgICA8QW5hbHlzZU1hdHRpanMvPiBcbiAgICAgICAgPEFuYWx5c2VXaXNjaG1leWVyLz5cbiAgICAgICAgPEFuYWx5c2VJZ25hdG92YS8+XG4gICAgICAgIDxBbmFseXNlQmhhcnRpLz5cbiAgICAgICAgPEFuYWx5c2VTcmlyYW0vPlxuICAgICAgICA8QW5hbHlzZUtyaXN0aWFuLz5cbiAgICAgICAgPEFuYWx5c2VTYWl0by8+XG4gICAgICAgIDxBbmFseXNlTmlscy8+XG4gICAgICAgIDwvPlxuICAgIClcbn1cblxuLyogXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPiBcbiAgICBcdCAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIvPlxuICAgIFx0ICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gIFxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8L2Rpdj4gXG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIEFuYWx5c2UoKXtcbiAgIHJldHVybihcbiAgICA8Q29sbGFwc2libGUgdGl0bGU9XCJcIiBpZD1cIlwiPlxuICAgICAgICBcbiAgICA8L0NvbGxhcHNpYmxlPlxuICAgKSBcbn1cblxuXG4gICAgICAgIDxmaWd1cmU+IFxuICAgICAgICAgICAgPGltZyBzcmM9XCJsaW5rXCIgYWx0PVwid2hhdCBpcyBpbiB0aGUgcGljXCIvPiBcbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIHguPC9iPiAgRmlndXJlIENhcHRpb24gXG4gICAgICAgICAgICA8L2ZpZ2NhcHRpb24+IFxuICAgICAgICA8L2ZpZ3VyZT4gXG5cblxuXG4gICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSB4LjwvYj4gQ2FwdGlvbiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgIDwvZmlndXJlPlxuKi9cblxuXG5mdW5jdGlvbiBBbmFseXNlTmlscygpe1xuICAgIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24oKTsgXG4gICAgcmV0dXJuKFxuICAgICA8Q29sbGFwc2libGUgdGl0bGU9XCJOaWxzIEJlcmVsc21hbm4gJiBIYWthbiBTb3l0XHUwMEZDcmsgLSBTcGVjaWFsaXN0cyBpbiB5ZWFzdCBjdWx0aXZhdGlvbiBcIiBpZD1cIm5pbHNhbmFseXNlQ1wiPlxuICAgICAgICAgPHA+TmlscyBCZXJlbHNtYW5uIGFuZCBIYWthbiBTb3l0XHUwMEZDcmssIHNwZWNpYWxpc3RzIGluIHllYXN0IGN1bHRpdmF0aW9uLCBwbGF5ZWQgcGl2b3RhbCByb2xlcyBpbiBhZHZhbmNpbmcgb3VyIHByb2plY3QuIE5pbHMgcHJvdmlkZWQgdXMgd2l0aCBhIHllYXN0IHN0cmFpbiBjb21wYXRpYmxlIHdpdGggPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignc2FpdG8nLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Eci4gU2FpdG8nczwvYT4gIHJlY29tbWVuZGF0aW9ucywgcGFydGljdWxhcmx5IG9uZSB0aGF0IGRvZXNuXHUyMDE5dCBleHByZXNzIHByb3RlYXNlcywgd2hpY2ggd291bGQgZGVncmFkZSBvdXIgbmlja2FzZSBjYW5kaWRhdGVzLiBUaGlzIHN0cmFpbiB3YXMgZXNzZW50aWFsIGZvciBtYWludGFpbmluZyB0aGUgaW50ZWdyaXR5IG9mIG91ciBlbmdpbmVlcmVkIGVuenltZXMuIDwvcD5cbiAgICAgICAgPHA+SGFrYW4gZXF1aXBwZWQgdXMgd2l0aCB0aGUgbWV0aG9kb2xvZ2ljYWwgZXhwZXJ0aXNlIG5lZWRlZCB0byB3b3JrIHdpdGggeWVhc3QsIGd1aWRpbmcgdXMgdGhyb3VnaCB0aGUgY29tcGxleGl0aWVzIG9mIHllYXN0IGN1bHRpdmF0aW9uLiBXaXRoIHRoZWlyIHN1cHBvcnQsIHdlIGFkYXB0ZWQgb3VyIGVuZ2luZWVyaW5nIGRlc2lnbiBzcGVjaWZpY2FsbHkgZm9yIHllYXN0IGV4cHJlc3Npb24uIE5pbHMgYWxzbyBzdXBwbGllZCB1cyB3aXRoIGEgdGFyZ2V0IHZlY3RvciBvcHRpbWl6ZWQgZm9yIHllYXN0IGV4cHJlc3Npb24sIHdoaWNoIHdlIHN1Y2Nlc3NmdWxseSB1c2VkIHRvIGludGVncmF0ZSBhIENhc1ggbmlja2FzZSBjYW5kaWRhdGUuIFRoaXMgcHJvdmVkIGVzcGVjaWFsbHkgdmFsdWFibGUgYXMgb3VyIFNwdSBjYW5kaWRhdGVzIHdlcmUgZGlmZmljdWx0IHRvIGludGVncmF0ZSBkdWUgdG8gdGhlIHVzZSBvZiBvdmVyaGFuZ3MuIFdlIGFyZSBzdGlsbCB3b3JraW5nIG9uIHRoaXMgY2hhbGxlbmdlLCBzdGF5aW5nIGluIGNsb3NlIGNvbnRhY3Qgd2l0aCB0aGUgZXhwZXJ0cyB0byByZWZpbmUgb3VyIHByb2Nlc3MuIDwvcD5cbiAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHguPC9iPiBDYXB0aW9uIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgPC9maWd1cmU+XG4gICAgICAgIDxwPjxzdHJvbmc+WWVhc3Qgc3RyYWluIHByb3Zpc2lvbjo8L3N0cm9uZz4gTmlscyBwcm92aWRlZCBhIHllYXN0IHN0cmFpbiBjb21wYXRpYmxlIHdpdGggRHIuIFNhaXRvJ3MgcmVjb21tZW5kYXRpb25zLCB3aGljaCBkb2VzIG5vdCBleHByZXNzIHByb3RlYXNlcyB0aGF0IHdvdWxkIGRlZ3JhZGUgb3VyIG5pY2thc2UgY2FuZGlkYXRlcywgbWFpbnRhaW5pbmcgdGhlIGludGVncml0eSBvZiBvdXIgZW5naW5lZXJlZCBlbnp5bWVzLjwvcD5cblxuPHA+PHN0cm9uZz5NZXRob2RvbG9naWNhbCBndWlkYW5jZTo8L3N0cm9uZz4gSGFrYW4gcHJvdmlkZWQgZXhwZXJ0aXNlIGluIHllYXN0IGN1bHRpdmF0aW9uLCBndWlkaW5nIHVzIHRocm91Z2ggdGhlIGNvbXBsZXhpdGllcyBvZiB3b3JraW5nIHdpdGggeWVhc3QuPC9wPlxuXG48cD48c3Ryb25nPkVuZ2luZWVyaW5nIGFkYXB0YXRpb24gZm9yIHllYXN0Ojwvc3Ryb25nPiBXaXRoIHRoZWlyIHN1cHBvcnQsIHdlIGFkYXB0ZWQgb3VyIGVuZ2luZWVyaW5nIGRlc2lnbiBzcGVjaWZpY2FsbHkgZm9yIHllYXN0IGV4cHJlc3Npb24uPC9wPlxuXG48cD48c3Ryb25nPlRhcmdldCB2ZWN0b3IgZm9yIHllYXN0Ojwvc3Ryb25nPiBOaWxzIHN1cHBsaWVkIGFuIG9wdGltaXplZCB0YXJnZXQgdmVjdG9yIGZvciB5ZWFzdCBleHByZXNzaW9uLCB3aGljaCBhbGxvd2VkIHN1Y2Nlc3NmdWwgaW50ZWdyYXRpb24gb2YgYSBDYXNYIG5pY2thc2UgY2FuZGlkYXRlLjwvcD5cblxuPHA+PHN0cm9uZz5DaGFsbGVuZ2Ugd2l0aCBTcHUgY2FuZGlkYXRlczo8L3N0cm9uZz4gSW50ZWdyYXRpb24gb2YgU3B1IGNhbmRpZGF0ZXMgcHJvdmVkIGRpZmZpY3VsdCBkdWUgdG8gb3ZlcmhhbmdzOyB3ZSBhcmUgc3RpbGwgd29ya2luZyBvbiB0aGlzIGNoYWxsZW5nZSBhbmQgYXJlIHN0YXlpbmcgaW4gY2xvc2UgY29udGFjdCB3aXRoIHRoZSBleHBlcnRzIHRvIHJlZmluZSB0aGUgcHJvY2Vzcy48L3A+XG5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VTYWl0bygpe1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiRHIuIE1ha290byBTYWl0byBcdTIwMTMgTGVhZGluZyBSZXNlYXJjaCBFeHBlcnQgZm9yIEZBTlpPUlwiIGlkPVwic2FpdG9hbmFseXNlQ1wiPlxuICAgICAgICAgPHA+RWFybHkgaW4gb3VyIHByb2plY3QgZGVzaWduLCB3ZSBkZWNpZGVkIHRvIG9wdGltaXplIHRoZSBQcmltZSBFZGl0aW5nIHRlY2hub2xvZ3kuIEZyb20gdGhlIGxpdGVyYXR1cmUsIHdlIGlkZW50aWZpZWQgRkFOWk9SLCBhIHNtYWxsLCBldWthcnlvdGljIFJOQS1iaW5kaW5nIEROQSBlbmRvbnVjbGVhc2UsIGFzIGEgcG90ZW50aWFsIGFsdGVybmF0aXZlIHRvIENhczkgZm9yIG91ciBhcHByb2FjaC4gVGhyb3VnaCBjb2xsYWJvcmF0aW9uIHdpdGggdGhlIGVuenltZVx1MjAxOXMgZGlzY292ZXJlciwgRHIuIE1ha290byBTYWl0bywgd2Ugd2VyZSBhYmxlIHRvIHJlZmluZSBvdXIgZW5naW5lZXJpbmcgc3RyYXRlZ3kuIERyLiBTYWl0byBlbmNvdXJhZ2VkIHVzIHRvIG1vZGlmeSB0aGUgVE5CIGRvbWFpbiBvZiBGQU5aT1IgdXNpbmcgc2l0ZS1kaXJlY3RlZCBtdXRhZ2VuZXNpcywgZW5zdXJpbmcgdGhlIG5vbi1jb2Rpbmcgc3RyYW5kIGlzIG5vdCBwb3NpdGlvbmVkIGluIHRoZSBhY3RpdmUgc2l0ZSBvZiB0aGUgUnV2QyBkb21haW4uIFRoaXMgYXBwcm9hY2ggbWlycm9ycyB0aGUgbmlja2FzZSBzdHJhdGVneSB1c2VkIGluIENhczEyIHZhcmlhbnRzLiA8L3A+XG4gICAgICAgICA8cD5Eci4gU2FpdG8gYWxzbyBtb3RpdmF0ZWQgdXMgdG8gZXhwcmVzcyBvdXIgcG90ZW50aWFsIG5pY2thc2UgdmFyaWFudHMgaW4gPGk+U2FjY2hhcm9teWNlcyBjZXJldmlzaWFlIDwvaT4gdG8gYmV0dGVyIGNoYXJhY3Rlcml6ZSB0aGVpciBmdW5jdGlvbmFsaXR5LiBIZSBwbGF5ZWQgYSBrZXkgcm9sZSBpbiBzdXBwb3J0aW5nIG91ciBkZWNpc2lvbiB0byBleHBsb3JlIGFkZGl0aW9uYWwgQ2FzIGVuZG9udWNsZWFzZSBjYW5kaWRhdGVzLCBzdWNoIGFzIENhc1gsIHdoaWNoIGlzIG1vcmUgY2xvc2VseSByZWxhdGVkIHRvIENhczkgYW5kIENhczEyLCBwcm92aWRpbmcgYWRkaXRpb25hbCBmbGV4aWJpbGl0eSBmb3Igb3VyIGdlbmUtZWRpdGluZyBnb2Fscy4gPC9wPlxuICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHguPC9iPiBDYXB0aW9uIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgPC9maWd1cmU+XG4gICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSB4LjwvYj4gQ2FwdGlvbiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgIDwvZmlndXJlPlxuICAgICAgICA8cD48c3Ryb25nPkZBTlpPUiBhcyBDYXM5IGFsdGVybmF0aXZlOjwvc3Ryb25nPiBJZGVudGlmaWVkIEZBTlpPUiwgYSBzbWFsbCBldWthcnlvdGljIFJOQS1iaW5kaW5nIEROQSBlbmRvbnVjbGVhc2UsIGFzIGEgcHJvbWlzaW5nIGFsdGVybmF0aXZlIHRvIENhczkgZm9yIFByaW1lIEVkaXRpbmcuPC9wPlxuXG48cD48c3Ryb25nPkNvbGxhYm9yYXRpb24gd2l0aCBEci4gU2FpdG86PC9zdHJvbmc+IFdvcmtlZCBjbG9zZWx5IHdpdGggdGhlIGVuenltZVx1MjAxOXMgZGlzY292ZXJlciwgRHIuIE1ha290byBTYWl0bywgdG8gcmVmaW5lIG91ciBlbmdpbmVlcmluZyBzdHJhdGVneSBmb3IgRkFOWk9SLjwvcD5cblxuPHA+PHN0cm9uZz5UTkIgZG9tYWluIG1vZGlmaWNhdGlvbjo8L3N0cm9uZz4gRHIuIFNhaXRvIHN1Z2dlc3RlZCBtb2RpZnlpbmcgdGhlIFROQiBkb21haW4gdmlhIHNpdGUtZGlyZWN0ZWQgbXV0YWdlbmVzaXMgdG8gcHJldmVudCB0aGUgbm9uLWNvZGluZyBzdHJhbmQgZnJvbSBlbnRlcmluZyB0aGUgUnV2QyBhY3RpdmUgc2l0ZSwgZm9sbG93aW5nIHRoZSBuaWNrYXNlIHN0cmF0ZWd5IHVzZWQgaW4gQ2FzMTIgdmFyaWFudHMuPC9wPlxuXG48cD48c3Ryb25nPlllYXN0IGV4cHJlc3Npb24gZm9yIGZ1bmN0aW9uYWxpdHk6PC9zdHJvbmc+IFJlY29tbWVuZGVkIGV4cHJlc3Npbmcgbmlja2FzZSB2YXJpYW50cyBpbiBTYWNjaGFyb215Y2VzIGNlcmV2aXNpYWUgdG8gYXNzZXNzIHRoZWlyIGZ1bmN0aW9uYWxpdHkgbW9yZSBlZmZlY3RpdmVseS48L3A+XG5cbjxwPjxzdHJvbmc+RXhwbG9yYXRpb24gb2Ygb3RoZXIgZW5kb251Y2xlYXNlczo8L3N0cm9uZz4gU3VwcG9ydGVkIHRoZSBleHBsb3JhdGlvbiBvZiBhZGRpdGlvbmFsIGVuZG9udWNsZWFzZXMgbGlrZSBDYXNYLCBvZmZlcmluZyBncmVhdGVyIGZsZXhpYmlsaXR5IGFuZCBhZGFwdGFiaWxpdHkgaW4gb3VyIGdlbmUtZWRpdGluZyBhcHByb2FjaC48L3A+XG5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VLcmlzdGlhbigpe1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiUHJvZi4gRHIuIEtyaXN0aWFuIE1cdTAwRkNsbGVyIFx1MjAxMyBFeHBlcnQgZm9yIFN5bnRoZXRpYyBCaW9sb2d5LCBHZW5ldGljIGRlc2lnbiwgY2xvbmluZyBzdHJhdGVnaWVzLCBtb2xlY3VsYXIgYW5kIGNlbGx1bGFyIGJpb3RlY2hub2xvZ3kgXCIgaWQ9XCJrcmlzdGlhbmFuYWx5c2VDXCI+XG4gICAgICAgICA8cD5JbiBjbG9zZSBjb2xsYWJvcmF0aW9uIHdpdGggUHJvZi4gTVx1MDBGQ2xsZXJcdTIwMTlzIGxhYiwgd2UgbGVhcm5lZCBib3RoIGJhc2ljIGFuZCBhZHZhbmNlZCBjbG9uaW5nIHN0cmF0ZWdpZXMgd2l0aGluIHN5bnRoZXRpYyBiaW9sb2d5LiBFYXJseSBvbiwgUHJvZi4gTVx1MDBGQ2xsZXIgc3VnZ2VzdGVkIG1ha2luZyBvdXIgUHJpbWUgRWRpdGluZyBjb21wbGV4IHNtYWxsZXIgYW5kIG1vcmUgc3RhYmxlLCBlbmhhbmNpbmcgaXRzIHN1aXRhYmlsaXR5IGZvciB2YXJpb3VzIHRoZXJhcGV1dGljIGFwcGxpY2F0aW9ucy4gSGlzIGNvbnRpbnVvdXMgc3VwcG9ydCB3YXMgY3J1Y2lhbCBpbiBndWlkaW5nIHVzIHRocm91Z2ggdGhlIGNsb25pbmcgb2YgYWxsIGNvbnN0cnVjdHMsIGFuZCBhcyBhbiBleHBlcnQgaW4gZ2VuZSB0aGVyYXB5LCBoZSBwcm92aWRlZCBvbmdvaW5nIGZlZWRiYWNrIG9uIHRoZSBzYWZldHkgYXNwZWN0cyBvZiBvdXIgcmVzZWFyY2guIDwvcD5cbiAgICAgICAgIDxwPldpdGggYWNjZXNzIHRvIGEgQlNMMiBsYWJvcmF0b3J5IHByb3ZpZGVkIGJ5IE1cdTAwRkNsbGVyXHUyMDE5cyB0ZWFtLCB3ZSB3ZXJlIGFibGUgdG8gc3VjY2Vzc2Z1bGx5IGN1bHRpdmF0ZSBwcmltYXJ5IGNlbGwgY3VsdHVyZXMuIFRvIGVuc3VyZSBzYWZlIHdvcmsgY29uZGl0aW9ucywgd2UgdW5kZXJ3ZW50IHRyYWluaW5nIGZvciBiaW9zYWZldHkgcHJvY2VkdXJlcyBhbmQgcm91dGluZWx5IHRlc3RlZCBmb3IgSFBWLCBISVYsIEhCViwgYW5kIE15Y29wbGFzbWEgY29udGFtaW5hdGlvbi4gVGhhbmtzIHRvIE1cdTAwRkNsbGVyXHUyMDE5cyBndWlkYW5jZSwgd2UgY29udHJpYnV0ZWQgYSBjb21wb3NpdGUgcGFydCB0byB0aGUgaUdFTSByZWdpc3RyeS4gT3VyIFByZUN5c2UgY2Fzc2V0dGUgYWxsb3dzIGZvciBtb2R1bGFyIFByaW1lIEVkaXRpbmcgc3lzdGVtcyB0aGF0IGFyZSBwYXJ0aWN1bGFybHkgZWZmaWNpZW50LCBzdGFibGUsIGFuZCBzYWZlIGJhc2VkIG9uIG91ciByZXNlYXJjaC4gPC9wPlxuXG4gICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPjxiPkZpZ3VyZSB4LjwvYj4gQ2FwdGlvbiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgIDwvZmlndXJlPlxuICAgICAgICA8ZGl2PkthcnVzc2VsbDwvZGl2PlxuICAgICAgICA8cD48c3Ryb25nPkNsb25pbmcgc3RyYXRlZ2llczo8L3N0cm9uZz4gUHJvdmlkZWQgYm90aCBiYXNpYyBhbmQgYWR2YW5jZWQgY2xvbmluZyB0cmFpbmluZywgY3J1Y2lhbCBmb3IgZGV2ZWxvcGluZyBvdXIgUHJpbWUgRWRpdGluZyBjb21wbGV4IHdpdGhpbiBzeW50aGV0aWMgYmlvbG9neS48L3A+XG5cbjxwPjxzdHJvbmc+T3B0aW1pemF0aW9uIG9mIFByaW1lIEVkaXRpbmcgY29tcGxleDo8L3N0cm9uZz4gU3VnZ2VzdGVkIG1ha2luZyB0aGUgUHJpbWUgRWRpdGluZyBjb21wbGV4IHNtYWxsZXIgYW5kIG1vcmUgc3RhYmxlLCBlbmhhbmNpbmcgaXRzIHN1aXRhYmlsaXR5IGZvciB0aGVyYXBldXRpYyBhcHBsaWNhdGlvbnMuPC9wPlxuXG48cD48c3Ryb25nPk9uZ29pbmcgZmVlZGJhY2sgb24gc2FmZXR5Ojwvc3Ryb25nPiBBcyBhIGdlbmUgdGhlcmFweSBleHBlcnQsIFByb2YuIE1cdTAwRkNsbGVyIGdhdmUgY29udGludW91cyBmZWVkYmFjayBvbiB0aGUgc2FmZXR5IGFzcGVjdHMgb2Ygb3VyIHJlc2VhcmNoLjwvcD5cblxuPHA+PHN0cm9uZz5BY2Nlc3MgdG8gQlNMMiBsYWI6PC9zdHJvbmc+IEVuYWJsZWQgdXMgdG8gc3VjY2Vzc2Z1bGx5IGN1bHRpdmF0ZSBwcmltYXJ5IGNlbGwgY3VsdHVyZXMgaW4gYSBCU0wyIGxhYiwgd2l0aCB0cmFpbmluZyBpbiBiaW9zYWZldHkgcHJvY2VkdXJlcy48L3A+XG5cbjxwPjxzdHJvbmc+Q29udGFtaW5hdGlvbiB0ZXN0aW5nOjwvc3Ryb25nPiBSZWd1bGFybHkgdGVzdGVkIGZvciBIUFYsIEhJViwgSEJWLCBhbmQgTXljb3BsYXNtYSBjb250YW1pbmF0aW9uIHRvIGVuc3VyZSBzYWZlIHdvcmtpbmcgY29uZGl0aW9ucy48L3A+XG5cbjxwPjxzdHJvbmc+Q29udHJpYnV0aW9uIHRvIGlHRU0gcmVnaXN0cnk6PC9zdHJvbmc+IFdpdGggUHJvZi4gTVx1MDBGQ2xsZXIncyBndWlkYW5jZSwgd2UgZGV2ZWxvcGVkIGFuZCBjb250cmlidXRlZCB0aGUgUHJlQ3lzZSBjYXNzZXR0ZSwgYSBtb2R1bGFyIGFuZCBlZmZpY2llbnQgUHJpbWUgRWRpdGluZyBzeXN0ZW0sIGVuaGFuY2luZyBzdGFiaWxpdHkgYW5kIHNhZmV0eSBiYXNlZCBvbiBvdXIgZmluZGluZ3MuPC9wPlxuXG4gICAgIDwvQ29sbGFwc2libGU+XG4gICAgKSBcbiB9XG5mdW5jdGlvbiBBbmFseXNlU3JpcmFtKCl7XG4gICAgcmV0dXJuKFxuICAgICA8Q29sbGFwc2libGUgdGl0bGU9XCJEci4gU3JpcmFtIFZhaWR5YW5hdGhhbiBcdTIwMTMgRXhwZXJ0IG9uIFBlZGlhdHJpYyBtZWRpY2luZSBhbmQgQ0YgaW4gQXNpYVwiIGlkPVwic3JpcmFtYW5hbHlzZUNcIj5cbiAgICAgICAgIDxwPm4gb3VyIGRpc2N1c3Npb25zIHdpdGggRHIuIFNyaXJhbSBWYWlkeWFuYXRoYW4sIHdlIGRlZXBlbmVkIG91ciB1bmRlcnN0YW5kaW5nIG9mIHRoZSBnZW5ldGljIGRpdmVyc2l0eSBvZiBDRiBtdXRhdGlvbnMsIGVzcGVjaWFsbHkgaW4gQXNpYW4gcG9wdWxhdGlvbnMuIEhlIGhpZ2hsaWdodGVkIHRoYXQgd2hpbGUgdGhlIEY1MDhkZWwgbXV0YXRpb24gaXMgY29tbW9uIHdvcmxkd2lkZSwgbWFueSByYXJlIENGVFIgbXV0YXRpb25zIGNvbXBsaWNhdGUgZGlhZ25vc2lzIGFuZCB0cmVhdG1lbnQgaW4gc3BlY2lmaWMgcmVnaW9ucy48L3A+XG4gICAgICAgIDxwPlRoaXMgaW5zaWdodCBwdXNoZWQgdXMgdG8gYWRhcHQgb3VyIGdlbmUgdGhlcmFweSBhcHByb2FjaCB0byBiZSBtb3JlIGluY2x1c2l2ZS4gV2UgYWRqdXN0ZWQgb3VyIHN0cmF0ZWd5IHRvIGVuc3VyZSBvdXIgdGhlcmFweSBjb3VsZCB0YXJnZXQgYSBicm9hZGVyIHJhbmdlIG9mIENGIG11dGF0aW9ucywgbWFraW5nIGl0IG1vcmUgZ2xvYmFsbHkgYXBwbGljYWJsZS4gRHIuIFZhaWR5YW5hdGhhblx1MjAxOXMgaW5wdXQgc2hhcGVkIG91ciBlZmZvcnRzIHRvIGNyZWF0ZSBhIHRyZWF0bWVudCB0aGF0IGFkZHJlc3NlcyBDRlx1MjAxOXMgZGl2ZXJzZSBnZW5ldGljIGxhbmRzY2FwZS4gPC9wPlxuICAgICAgICA8cD48c3Ryb25nPkNvbnRhbWluYXRpb24gY2hhbGxlbmdlOjwvc3Ryb25nPiBIZWxwZWQgdXMgYWRkcmVzcyBhIG1ham9yIGlzc3VlIHdpdGggZnVuZ2FsIGNvbnRhbWluYXRpb24gaW4gb3VyIENGIGNlbGwgY3VsdHVyZXMsIHdoaWNoIHdlcmUgdW5zdGFibGUgYW5kIHByb25lIHRvIGluZmVjdGlvbi48L3A+XG5cbjxwPjxzdHJvbmc+QW50aWJpb3RpYyBzb2x1dGlvbjo8L3N0cm9uZz4gUmVjb21tZW5kZWQgYSBzcGVjaWZpYyBhbnRpYmlvdGljIGNvbXBvc2l0aW9uIGVmZmVjdGl2ZSBhZ2FpbnN0IGZ1bmdhbCBpbmZlY3Rpb25zLjwvcD5cblxuPHA+PHN0cm9uZz5TdWNjZXNzZnVsIGltcGxlbWVudGF0aW9uOjwvc3Ryb25nPiBBcHBsaWVkIHRoZSBhbnRpYmlvdGljIG1peHR1cmUsIHdoaWNoIHJlc29sdmVkIHRoZSBjb250YW1pbmF0aW9uIHByb2JsZW0sIGFsbG93aW5nIHVzIHRvIG1haW50YWluIHN0YWJsZSBDRiBjZWxsIGxpbmVzLjwvcD5cblxuPHA+PHN0cm9uZz5Qcm9qZWN0IGFkdmFuY2VtZW50Ojwvc3Ryb25nPiBUaGlzIGJyZWFrdGhyb3VnaCBlbmFibGVkIHVzIHRvIHByb2NlZWQgd2l0aCB0ZXN0aW5nIG91ciBwcmltZSBlZGl0aW5nIGFwcHJvYWNoIGVmZmVjdGl2ZWx5LCBhZHZhbmNpbmcgb3VyIHByb2plY3QgdG8gdGhlIGZpbmFsIHN0YWdlcyBvZiBpbiB2aXRybyB0ZXN0aW5nLjwvcD5cblxuPHA+PHN0cm9uZz5OZXh0IHN0ZXBzOjwvc3Ryb25nPiBUaGFua3MgdG8gRHIuIEJoYXJ0aVx1MjAxOXMgaW5zaWdodHMsIHdlIGFyZSBub3cgcG9zaXRpb25lZCB0byBjb25zaWRlciBwb3RlbnRpYWwgYW5pbWFsIHN0dWRpZXMgYXMgdGhlIG5leHQgcGhhc2Ugb2Ygb3VyIHJlc2VhcmNoLjwvcD5cblxuICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICkgXG4gfVxuZnVuY3Rpb24gQW5hbHlzZUJoYXJ0aSgpe1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiRHIuIE5pa2hpbCBCaGFydGkgXHUyMDEzIEV4cGVydCBpbiBQcmltYXJ5IGN1bHR1cmUgXCIgaWQ9XCJiaGFydGlhbmFseXNlQ1wiPlxuICAgICAgICAgPHA+RHIuIE5pa2hpbCBCaGFydGkncyBleHBlcnRpc2UgaGVscGVkIHVzIG92ZXJjb21lIGEgbWFqb3IgY2hhbGxlbmdlIHdpdGggb3VyIENGIGNlbGwgY3VsdHVyZXMsIHdoaWNoIHdlcmUgY29uc2lzdGVudGx5IGJlY29taW5nIGNvbnRhbWluYXRlZCB3aXRoIGZ1bmdpIGR1ZSB0byB0aGVpciBpbnN0YWJpbGl0eS4gSGUgcmVjb21tZW5kZWQgYSBzcGVjaWZpYyBhbnRpYmlvdGljIGNvbXBvc2l0aW9uIGVmZmVjdGl2ZSBhZ2FpbnN0IGZ1bmdhbCBpbmZlY3Rpb25zLiA8L3A+XG4gICAgICAgIDxwPldlIGltbWVkaWF0ZWx5IGFwcGxpZWQgdGhpcyBhbnRpYmlvdGljIG1peHR1cmUgdG8gb3VyIGNlbGwgY3VsdHVyZXMsIHdoaWNoIHJlc29sdmVkIHRoZSBjb250YW1pbmF0aW9uIGlzc3VlIGFuZCBhbGxvd2VkIHVzIHRvIG1haW50YWluIHN0YWJsZSBDRiBjZWxsIGxpbmVzLiBUaGlzIGJyZWFrdGhyb3VnaCBlbmFibGVkIHVzIHRvIHByb2NlZWQgd2l0aCB0ZXN0aW5nIG91ciBwcmltZSBlZGl0aW5nIGFwcHJvYWNoIGVmZmVjdGl2ZWx5LiBUaGFua3MgdG8gRHIuIEJoYXJ0aSdzIGluc2lnaHRzLCB3ZSBhZHZhbmNlZCBvdXIgcHJvamVjdCB0byBhIHN0YWdlIHdoZXJlIHdlIHJlYWNoZWQgdGhlIGxpbWl0IG9mIGluIHZpdHJvIHRlc3RpbmcsIGFuZCB0aGUgbmV4dCBzdGVwIHdvdWxkIGJlIHBvdGVudGlhbCBhbmltYWwgc3R1ZGllcy4gPC9wPlxuICAgICAgICBcbiAgICAgICAgPHA+PHN0cm9uZz5Db250YW1pbmF0aW9uIGNoYWxsZW5nZTo8L3N0cm9uZz4gSGVscGVkIHVzIGFkZHJlc3MgYSBtYWpvciBpc3N1ZSB3aXRoIGZ1bmdhbCBjb250YW1pbmF0aW9uIGluIG91ciBDRiBjZWxsIGN1bHR1cmVzLCB3aGljaCB3ZXJlIHVuc3RhYmxlIGFuZCBwcm9uZSB0byBpbmZlY3Rpb24uPC9wPlxuXG48cD48c3Ryb25nPkFudGliaW90aWMgc29sdXRpb246PC9zdHJvbmc+IFJlY29tbWVuZGVkIGEgc3BlY2lmaWMgYW50aWJpb3RpYyBjb21wb3NpdGlvbiBlZmZlY3RpdmUgYWdhaW5zdCBmdW5nYWwgaW5mZWN0aW9ucy48L3A+XG5cbjxwPjxzdHJvbmc+U3VjY2Vzc2Z1bCBpbXBsZW1lbnRhdGlvbjo8L3N0cm9uZz4gQXBwbGllZCB0aGUgYW50aWJpb3RpYyBtaXh0dXJlLCB3aGljaCByZXNvbHZlZCB0aGUgY29udGFtaW5hdGlvbiBwcm9ibGVtLCBhbGxvd2luZyB1cyB0byBtYWludGFpbiBzdGFibGUgQ0YgY2VsbCBsaW5lcy48L3A+XG5cbjxwPjxzdHJvbmc+UHJvamVjdCBhZHZhbmNlbWVudDo8L3N0cm9uZz4gVGhpcyBicmVha3Rocm91Z2ggZW5hYmxlZCB1cyB0byBwcm9jZWVkIHdpdGggdGVzdGluZyBvdXIgcHJpbWUgZWRpdGluZyBhcHByb2FjaCBlZmZlY3RpdmVseSwgYWR2YW5jaW5nIG91ciBwcm9qZWN0IHRvIHRoZSBmaW5hbCBzdGFnZXMgb2YgaW4gdml0cm8gdGVzdGluZy48L3A+XG5cbjxwPjxzdHJvbmc+TmV4dCBzdGVwczo8L3N0cm9uZz4gVGhhbmtzIHRvIERyLiBCaGFydGlcdTIwMTlzIGluc2lnaHRzLCB3ZSBhcmUgbm93IHBvc2l0aW9uZWQgdG8gY29uc2lkZXIgcG90ZW50aWFsIGFuaW1hbCBzdHVkaWVzIGFzIHRoZSBuZXh0IHBoYXNlIG9mIG91ciByZXNlYXJjaC48L3A+XG5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VJZ25hdG92YSgpe1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiUHJvZi4gRHIuIElnbmF0b3ZhIFx1MjAxMyBDRiBFeHBlcnQgJiBSZXNlYXJjaGVyXCIgaWQ9XCJpZ25hdG92YWFuYWx5c2VDXCI+XG4gICAgICAgICA8cD5UaHJvdWdoIG91ciBjb2xsYWJvcmF0aW9uIHdpdGggPGEgaHJlZj1cImh0dHBzOi8vMjAyNC5pZ2VtLndpa2kvaGFtYnVyZy9cIiB0aXRsZT1cImlHRU0gSGFtYnVyZ1wiID4gaUdFTSBIYW1idXJnPC9hPiwgd2Ugd2VyZSBpbnRyb2R1Y2VkIHRvIFByb2YuIElnbmF0b3ZhLCBhIGxlYWRpbmcgZXhwZXJ0IGluIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHJlc2VhcmNoLiBJbml0aWFsbHksIHdlIGNvbnN1bHRlZCBoZXIgdG8gZ2FpbiBhIGRlZXBlciB1bmRlcnN0YW5kaW5nIG9mIENGLiBMYXRlciwgd2hlbiB0aGUgSEVLIGNlbGxzIGZyb20gTGV1dmVuIHByb3ZlZCB1bnN1aXRhYmxlIGZvciBvdXIgdGVzdHMsIHdlIHJlYWNoZWQgb3V0IGFnYWluIHRvIGV4cGxvcmUgYWx0ZXJuYXRpdmUgY2VsbCBtb2RlbHMuIDwvcD5cbiAgICAgICAgIDxwPlByb2YuIElnbmF0b3ZhIHByb3ZpZGVkIGFjY2VzcyB0byB0aGUgQ0ZCRTQxby0gY2VsbCBsaW5lLCBpbW1vcnRhbGl6ZWQgQ0YgY2VsbHMgZGVyaXZlZCBmcm9tIGEgQ0YgcGF0aWVudCwgd2hpY2ggd2Ugb2J0YWluZWQgd2l0aCBwZXJtaXNzaW9uIGZyb20gUHJvZi4gS2FybCBLdW56ZWxtYW5uIGF0IHRoZSBVbml2ZXJzaXR5IG9mIFJlZ2Vuc2J1cmcuIFRoaXMgY2VsbCBsaW5lIG9mZmVyZWQgdXMgYSBuZXcsIHJlbGlhYmxlIHRlc3Rpbmcgc3lzdGVtLCBhbmQgd2Ugc3VjY2Vzc2Z1bGx5IGN1bHRpdmF0ZWQgdGhlIGNlbGxzIGluIG91ciBsYWIsIGFsdGhvdWdoIHRoZXkgcmVxdWlyZWQgc2lnbmlmaWNhbnQgdGltZSB0byBhY2NsaW1hdGUgYW5kIGdyb3cuIDwvcD5cbiAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL3pveWEtMS53ZWJwXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+RmlndXJlIFg8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi8vVE9ETyAoSVNJKVwiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+RmlndXJlIFk8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VXaXNjaG1leWVyKCl7XG4gICAgcmV0dXJuKFxuICAgICA8Q29sbGFwc2libGUgdGl0bGU9XCJQcm9mIERyLiBFYmVyaGFyZCBXaXNjaG1leWVyIC0gQWNhZGVtaWMgRXhwZXJ0IG9uIFBhdGNoLUNsYW1wIFRlY2huaXF1ZXNcIiBpZD1cIndpc2NobWV5ZXJhbmFseXNlQ1wiPlxuICAgICAgICAgPHA+UHJvZi4gRHIuIEVyaGFyZCBXaXNjaG1leWVyIHByb3ZpZGVkIGNyaXRpY2FsIGd1aWRhbmNlIG9uIHRoZSBwYXRjaC1jbGFtcCB0ZWNobmlxdWUgZm9yIG1lYXN1cmluZyBDRlRSIGZ1bmN0aW9uYWxpdHkuIEhpcyBleHBlcnRpc2UsIGFsb25nc2lkZSB0aGUgaGFuZHMtb24gc3VwcG9ydCBvZiBEci4gT2xpdmVyIERyXHUwMEU0Z2VyIGZyb20gaGlzIGxhYiwgaGVscGVkIHVzIG9wdGltaXplIHRoZSBwYXRjaC1jbGFtcCBleHBlcmltZW50cyB1c2luZyBIRUsgY2VsbHMgcHJvdmlkZWQgYnkgVW5pIExldXZlbi4gVG9nZXRoZXIsIHdlIGNvbmR1Y3RlZCBlbGVjdHJvcGh5c2lvbG9naWNhbCBtZWFzdXJlbWVudHMgdG8gY2hhcmFjdGVyaXplIHRoZSBmdW5jdGlvbmFsaXR5IG9mIENGVFIgbXV0YXRpb25zLCBzcGVjaWZpY2FsbHkgY29tcGFyaW5nIHRoZSBkZWx0YSA1MDggQ0ZUUiBtdXRhbnQgd2l0aCBvdmVyZXhwcmVzc2VkIGhlYWx0aHkgQ0ZUUiBjZWxscy4gPC9wPlxuICAgICAgICAgPHA+VGhlIGV4cGVyaW1lbnRzIHNob3dlZCBzaWduaWZpY2FudCBkaWZmZXJlbmNlcyBiZXR3ZWVuIENGVFItZGVmaWNpZW50IGNlbGxzIGFuZCBoZWFsdGh5IGNvbnRyb2xzLCBidXQgd2UgYmVnYW4gcXVlc3Rpb25pbmcgdGhlIHN1aXRhYmlsaXR5IG9mIHRoZSBkZWx0YSA1MDggb3ZlcmV4cHJlc3Npb24gY2VsbHMgYXMgYSBmdW5jdGlvbmFsIHRlc3Qgc3lzdGVtLiBBZnRlciBhZGp1c3RpbmcgdGhlIGN1bHR1cmUgY29uZGl0aW9ucyBpbiBjb25zdWx0YXRpb24gd2l0aCBMZXV2ZW4sIHdlIHJlcGVhdGVkIHRoZSBtZWFzdXJlbWVudHMgYnV0IHN0aWxsIGZvdW5kIG5vIG1lYW5pbmdmdWwgZGlmZmVyZW5jZXMuIDwvcD5cbiAgICAgICAgIDxwPlVsdGltYXRlbHksIHRoZSBmZWVkYmFjayBjeWNsZSB3aXRoIGJvdGggTGV1dmVuIGFuZCBXaXNjaG1leWVyJ3MgbGFiIGNvbmZpcm1lZCB0aGF0IHBhdGNoLWNsYW1wIHdhcyBpbnN1ZmZpY2llbnQgZm9yIG91ciBwdXJwb3NlcywgbGVhZGluZyB1cyB0byBjb25zaWRlciBVc3NpbmcgY2hhbWJlciBtZWFzdXJlbWVudHMgYXMgYSBtb3JlIHN1aXRhYmxlIG1ldGhvZCBmb3IgYXNzZXNzaW5nIENGVFIgZnVuY3Rpb24uIDwvcD5cbiAgICAgICAgIFxuICAgICAgICA8cD48c3Ryb25nPlBhdGNoLWNsYW1wIHRlY2huaXF1ZSBndWlkYW5jZTo8L3N0cm9uZz4gUHJvdmlkZWQgY3JpdGljYWwgZ3VpZGFuY2Ugb24gdXNpbmcgdGhlIHBhdGNoLWNsYW1wIHRlY2huaXF1ZSB0byBtZWFzdXJlIENGVFIgZnVuY3Rpb25hbGl0eSwgb3B0aW1pemluZyBvdXIgZXhwZXJpbWVudHMuPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9wYXRjaC1jbGFtcC53ZWJwIFwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPkZpZ3VyZSBYPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIvL1RPRE8gKElTSSlcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPkZpZ3VyZSBZPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG48cD48c3Ryb25nPlN1cHBvcnQgZnJvbSBEci4gT2xpdmVyIERyXHUwMEU0Z2VyOjwvc3Ryb25nPiBIYW5kcy1vbiBzdXBwb3J0IGZyb20gRHIuIERyXHUwMEU0Z2VyIGhlbHBlZCB1cyBwZXJmb3JtIHBhdGNoLWNsYW1wIGV4cGVyaW1lbnRzIHVzaW5nIEhFSyBjZWxscyBwcm92aWRlZCBieSBVbmkgTGV1dmVuLjwvcD5cblxuPHA+PHN0cm9uZz5DRlRSIGZ1bmN0aW9uYWxpdHkgYXNzZXNzbWVudDo8L3N0cm9uZz4gQ29uZHVjdGVkIGVsZWN0cm9waHlzaW9sb2dpY2FsIG1lYXN1cmVtZW50cyB0byBjb21wYXJlIGRlbHRhIDUwOCBDRlRSIG11dGFudHMgd2l0aCBvdmVyZXhwcmVzc2VkIGhlYWx0aHkgQ0ZUUiBjZWxscywgcmV2ZWFsaW5nIHNpZ25pZmljYW50IGRpZmZlcmVuY2VzIGJldHdlZW4gQ0ZUUi1kZWZpY2llbnQgY2VsbHMgYW5kIGhlYWx0aHkgY29udHJvbHMuPC9wPlxuXG48cD48c3Ryb25nPlN1aXRhYmlsaXR5IGNvbmNlcm5zOjwvc3Ryb25nPiBEZXNwaXRlIGFkanVzdG1lbnRzIHRvIGN1bHR1cmUgY29uZGl0aW9ucywgcmVwZWF0ZWQgbWVhc3VyZW1lbnRzIHJhaXNlZCBkb3VidHMgYWJvdXQgdGhlIGRlbHRhIDUwOCBvdmVyZXhwcmVzc2lvbiBjZWxscyBhcyBhIGZ1bmN0aW9uYWwgdGVzdCBzeXN0ZW0uPC9wPlxuXG48cD48c3Ryb25nPkZlZWRiYWNrIGN5Y2xlIHdpdGggTGV1dmVuIGFuZCBXaXNjaG1leWVyOjwvc3Ryb25nPiBDb25maXJtZWQgdGhhdCBwYXRjaC1jbGFtcCB3YXMgbm90IHN1aXRhYmxlIGZvciBvdXIgbmVlZHMsIHByb21wdGluZyB1cyB0byBleHBsb3JlIFVzc2luZyBjaGFtYmVyIG1lYXN1cmVtZW50cyBhcyBhIG1vcmUgYXBwcm9wcmlhdGUgbWV0aG9kIGZvciBhc3Nlc3NpbmcgQ0ZUUiBmdW5jdGlvbi48L3A+XG5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VNYXR0aWpzKCl7XG4gICAgY29uc3Qge2dvVG9QYWdlc0FuZE9wZW5UYWJ9ID0gdXNlTmF2aWdhdGlvbigpOyBcbiAgICBjb25zdCB7Z29Ub1BhZ2VBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpO1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiTWF0dGppcyBCdWxjYWVuIFx1MjAxMyBVbml2ZXJzaXR5IG9mIExldXZlbiwgQ0YgYW5kIFByaW1lIEVkaXRpbmcgRXhwZXJ0XCIgaWQ9XCJtYXR0aWpzYW5hbHlzZUNcIj5cbiAgICAgICAgPHA+TWF0dGlqcyBCdWxjYWVuLCBiZWluZyBhIHJlc2VhcmNoZXIgd29ya2luZyBvbiBhIHRvcGljIHZlcnkgY2xvc2UgdG8gb3VycywgcHJvdmlkZWQgaW52YWx1YWJsZSBndWlkYW5jZSBpbiB0aGUgZWFybHkgc3RhZ2VzIG9mIG91ciBwcm9qZWN0LiBIZSBnYXZlIHVzIGFuIGluc2lnaHQgaW50byB0aGUgY3VycmVudCBhZHZhbmNlcyBpbiB0aGUgZmllbGQgdGhhdCB3ZSB0aGF0IHdlIHdlcmUgYWJsZSB0byBtYWtlIHVzZSBvZiBsYXRlciBvbi4gSGUgcmV2aWV3ZWQgd2l0aCB1cyBvdXIgb3duIGlkZWFzIGFuZCBjb25zaWRlcmF0aW9ucywgc3VjaCBhcyB0aGUgdXNlIG9mIHRoZSBQRUFSIHJlcG9ydGVyIHN5c3RlbS4gRm9sbG93aW5nIG91ciBpbnRlcnZpZXcgd2l0aCBNYXR0aWpzIHdlIGludGVncmF0ZWQgdGhlIHN0cnVjdHVyYWwgbW90aWYgdHJldm9wcmVRMSBpbnRvIHRoZSBwZWdSTkEsIHdoaWNoIGVuaGFuY2VkIHRoZSBwcmltZSBlZGl0aW5nIGVmZmljaWVuY3kgLSBhIGNyaXRpY2FsIGltcHJvdmVtZW50IHdlIHN1Y2Nlc3NmdWxseSB0ZXN0ZWQgYW5kIGRlbW9uc3RyYXRlZCBpbiBvdXIgcmVzdWx0cy4gIDwvcD5cbiAgICAgICAgIDxwPk91ciBkZWNpc2lvbiBvZiBmaXJzdCB0ZXN0aW5nIHByaW1lIGVkaXRpbmcgaW4gSEVLMjkzIGNlbGxzIGluc3RlYWQgb2Ygb3RoZXIgY2VsbCBsaW5lcyBvciBwcmltYXJ5IGNlbGxzIHdhcyBhbHNvIGJhc2VkIG9uIGhpcyBzdGF0ZW1lbnQgdGhhdCBIRUsgY2VsbHMgYXJlIGJ5IGZhciB0aGUgZWFzaWVzdCB0byBhcmNoaWV2ZSBlZGl0aW5nIGluLiBNYXR0aWpzIGFkZGl0aW9uYWxseSByZWNvbW1lbmRlZCB0aGUgdXNlIG9mIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlQW5kU2Nyb2xsICgnQ2VsbCBDdWx0dXJlJywgJy9tYXRlcmlhbHMtbWV0aG9kcycpfT4gSEVLMjkzVCBjZWxsIGxpbmVzIDwvYT4gb3ZlcmV4cHJlc3NpbmcgQ0ZUUiBhbmQgQ0ZUUiBGNTA4ZGVsLiBIb3dldmVyLCBhZnRlciBjb25kdWN0aW5nIHBhdGNoIGNsYW1wIG1lYXN1cmVtZW50cywgd2UgZm91bmQgdGhhdCB0aGUgSEVLIGNlbGxzIHdlcmUgdW5zdWl0YWJsZSBmb3Igb3VyIG5lZWRzLCByZXF1aXJpbmcgdXMgdG8gYWRqdXN0IG91ciB0ZXN0aW5nIHN5c3RlbS4gQXMgYSByZXN1bHQsIHdlIHN3aXRjaGVkIHRvIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ2lnbmF0b3ZhJywgJy9odW1hbi1wcmFjdGljZXMnKX0+SWduYXRvdmEnczwvYT4gY2VsbHMgZnJvbSBIYW1idXJnIGZvciBmdXJ0aGVyIGV4cGVyaW1lbnRzLiA8L3A+XG4gICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9tYXR0aWpzLmpwZ1wiLz5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+RmlndXJlIFg8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9mYWNzLXJlc3VsdHMtbWVjaGFuaXNtL2JpbGQ5LnBuZ1wiLz5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+RmlndXJlIFk8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiLy9UT0RPIChJU0kpXCIgYWx0PVwiXCIvPlxuICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5GaWd1cmUgWjwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VNaWNoYWVsYSgpe1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiTWljaGFlbGEgQmllbmVydCBcdTIwMTMgU2NpZW50aWZpYyBTYWxlcyBSZXByZXNlbnRhdGl2ZSBhdCBTdGVtY2VsbCBUZWNobm9sb2dpZXNcIiBpZD1cIm1pY2hhZWxhYW5hbHlzZUNcIj5cbiAgICAgICAgPHA+VGhyb3VnaCBoYW5kcy1vbiBleHBlcmllbmNlIHdpdGggTWljaGFlbGEgQmllbmVydCBhbmQgSnVsaWUgV2F0c29uLCB3ZSBnYWluZWQgdmFsdWFibGUgaW5zaWdodHMgaW50byB0aGUgY3VsdGl2YXRpb24gbWV0aG9kcyBvZiBBaXItTGlxdWlkIEludGVyZmFjZSAoQUxJKSBhbmQgYXBpY2FsLW91dCBvcmdhbm9pZHMuIFdlIGV2YWx1YXRlZCB0aGUgYWR2YW50YWdlcyBhbmQgbGltaXRhdGlvbnMgb2YgZGlmZmVyZW50IGN1bHR1cmluZyB0ZWNobmlxdWVzLCB3aGljaCBlbmFibGVkIHVzIHRvIG1ha2UgaW5mb3JtZWQgZGVjaXNpb25zIGFib3V0IHRoZWlyIGltcGxlbWVudGF0aW9uIGluIG91ciByZXNlYXJjaC4gV2l0aCB0aGUgcHJvdG9jb2xzIGFuZCByZXNvdXJjZXMgcHJvdmlkZWQsIHdlIHN1Y2Nlc3NmdWxseSBnZW5lcmF0ZWQgQUxJIGN1bHR1cmVzIGFuZCBvcmdhbm9pZHMgZnJvbSBwcmltYXJ5IGNlbGxzIG9mIENGIHBhdGllbnRzIGFuZCBoZWFsdGh5IGNvbnRyb2wgZG9ub3JzLCB3aGljaCB3ZSB3ZXJlIGFibGUgdG8gdGVzdCB0aHJvdWdob3V0IHRoZSBjb3Vyc2Ugb2Ygb3VyIHByb2plY3QuIDwvcD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvcHJpbWFyeS1jdWx0dXJlcy53ZWJwIFwiIGFsdD1cIlwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPkZpZ3VyZSBYPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZ2lmLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3ZpZGVvLmlnZW0ub3JnL3cvNVV4OU1maUtuTFlqRXdTRFczVnpVUVwiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+RmlndXJlIFk8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwPjxzdHJvbmc+SGFuZHMtb24gZXhwZXJpZW5jZTo8L3N0cm9uZz4gR2FpbmVkIHByYWN0aWNhbCBpbnNpZ2h0cyBmcm9tIE1pY2hhZWxhIEJpZW5lcnQgYW5kIEp1bGllIFdhdHNvbiBpbnRvIHRoZSBjdWx0aXZhdGlvbiBtZXRob2RzIGZvciBBaXItTGlxdWlkIEludGVyZmFjZSAoQUxJKSBhbmQgYXBpY2FsLW91dCBvcmdhbm9pZHMuPC9wPlxuXG48cD48c3Ryb25nPkV2YWx1YXRpb24gb2YgY3VsdHVyaW5nIHRlY2huaXF1ZXM6PC9zdHJvbmc+IEFzc2Vzc2VkIHRoZSBhZHZhbnRhZ2VzIGFuZCBsaW1pdGF0aW9ucyBvZiBkaWZmZXJlbnQgY3VsdGl2YXRpb24gdGVjaG5pcXVlcywgYWxsb3dpbmcgdXMgdG8gbWFrZSBpbmZvcm1lZCBkZWNpc2lvbnMgYWJvdXQgd2hpY2ggbWV0aG9kcyB0byB1c2UgaW4gb3VyIHJlc2VhcmNoLjwvcD5cblxuPHA+PHN0cm9uZz5TdWNjZXNzZnVsIGdlbmVyYXRpb24gb2YgY3VsdHVyZXM6PC9zdHJvbmc+IFVzaW5nIHRoZSBwcm90b2NvbHMgYW5kIHJlc291cmNlcyBwcm92aWRlZCwgd2Ugc3VjY2Vzc2Z1bGx5IGdlbmVyYXRlZCBBTEkgY3VsdHVyZXMgYW5kIG9yZ2Fub2lkcyBmcm9tIHByaW1hcnkgY2VsbHMgb2YgQ0YgcGF0aWVudHMgYW5kIGhlYWx0aHkgY29udHJvbCBkb25vcnMuPC9wPlxuXG48cD48c3Ryb25nPlRlc3RpbmcgYW5kIGV4cGVyaW1lbnRhdGlvbjo8L3N0cm9uZz4gVGhlc2UgY3VsdHVyZXMgYW5kIG9yZ2Fub2lkcyB3ZXJlIHRlc3RlZCB0aHJvdWdob3V0IHRoZSBwcm9qZWN0LCBjb250cmlidXRpbmcgc2lnbmlmaWNhbnRseSB0byBvdXIgcmVzZWFyY2ggb3V0Y29tZXMuPC9wPlxuXG4gICAgICAgICBcbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VCZXJlbnMoKXtcbiAgICBjb25zdCB7Z29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uKCk7IFxuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiRHIuIEV2YS1NYXJpYSBCZXJlbnMgXHUyMDEzIEhlYWQgb2YgZXRoaWNzIGNvbW1pdHRlZSBhdCBVbml2ZXJzaXR5IG9mIEJpZWxlZmVsZFwiIGlkPVwiYmVyZW5zYW5hbHlzZUNcIj5cbiAgICAgICAgPHA+SW4gb3VyIHB1cnN1aXQgb2YgZ2VuZXJhdGluZyBwcmltYXJ5IGN1bHR1cmVzIGZyb20gaHVtYW4gbmFzYWwgZXBpdGhlbGlhbCBjZWxscyBmb3IgdGVzdGluZywgd2Ugc291Z2h0IGFkdmljZSBmcm9tIHRoZSBCaW9zYWZldHkgYW5kIFNlY3VyaXR5IENvbW1pdHRlZSBvZiBpR0VNLCBhcyB3ZWxsIGFzIGNvbnN1bHQgd2l0aCBEci4gRXZhLU1hcmlhIEJlcmVucywgb3VyIGV0aGljcyBvZmZpY2VyLiBUaHJvdWdoIGluLWRlcHRoIGRpc2N1c3Npb25zIHdpdGggRHIuIEJlcmVucywgd2UgY2FyZWZ1bGx5IGFzc2Vzc2VkIHRoZSByaXNrcyBhbmQgbGVnYWwgb2JsaWdhdGlvbnMgYXNzb2NpYXRlZCB3aXRoIG91ciBwcm9qZWN0LiBXZSBsZWFybmVkIHRoYXQsIGdpdmVuIHRoZSBtaW5pbWFsIGludmFzaXZlbmVzcyBvZiB0aGUgcHJvY2VkdXJlLCBubyBmb3JtYWwgYmlvZXRoaWNzIGFwcGxpY2F0aW9uIHdhcyBuZWNlc3NhcnkuIEhvd2V2ZXIsIHdlIHJlY29nbml6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgZGV2ZWxvcGluZyBhIGxlZ2FsbHkgc291bmQgaW5mb3JtZWQgY29uc2VudCBmb3JtIGZvciBwYXJ0aWNpcGFudHMsIGVuc3VyaW5nIHRoYXQgd2UgYWRoZXJlZCB0byB0aGUgcmVsZXZhbnQgbGVnYWwgZnJhbWV3b3Jrcy4gPC9wPlxuICAgICAgICAgPHA+SW4gY29sbGFib3JhdGlvbiB3aXRoIHZhcmlvdXMgbGVnYWwgaW5zdGl0dXRpb25zLCB3ZSBkcmFmdGVkIGEgY29tcHJlaGVuc2l2ZSBpbmZvcm1lZCBjb25zZW50IGZvcm0gdGhhdCBjb21wbGllcyB3aXRoIGJvdGggbmF0aW9uYWwgcmVndWxhdGlvbnMgaW4gR2VybWFueSBhbmQgdGhlIHNwZWNpZmljIHBvbGljaWVzIG9mIEJpZWxlZmVsZCBVbml2ZXJzaXR5LiBBcyB0aGUgZmlyc3QgaUdFTSB0ZWFtIHRvIHRhY2tsZSB0aGUgY29tcGxleCBjdWx0aXZhdGlvbiBvZiBodW1hbiBwcmltYXJ5IG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMsIHdlIHdlcmUgY29tbWl0dGVkIHRvIHBhdmluZyB0aGUgd2F5IGZvciBmdXR1cmUgdGVhbXMuIFRvIHN1cHBvcnQgdGhpcywgd2UgY3JlYXRlZCBhIGd1aWRlbGluZSBkb2N1bWVudGluZyB0aGUgcHJvcGVyIGhhbmRsaW5nIG9mIGh1bWFuIGJpb21hdGVyaWFsIG9idGFpbmVkIHRocm91Z2ggdGhlc2UgdHlwZXMgb2Ygc2FtcGxlIGNvbGxlY3Rpb24uIDwvcD5cbiAgICAgICAgIDxwPkFkZGl0aW9uYWxseSwgd2Ugd29ya2VkIHdpdGhcdTIwMkZNci4gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYigndGltbScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBUaW1tIFdlYmVyIDwvYT4gLCB3aG8gaXMgd29ya2luZyBmb3IgdGhlIGxvY2FsIGJpb2JhbmsgT1dMLCB0byBlc3RhYmxpc2ggIHByb3RvY29scyBmb3IgdGhlIG1hbmFnZW1lbnQgYW5kIHN0b3JhZ2Ugb2Ygc2Vuc2l0aXZlLCBwZXJzb25hbGx5IGlkZW50aWZpYWJsZSBkYXRhLiBXaGlsZSBubyBzcGVjaWFsIHByb2NlZHVyZXMgd2VyZSByZXF1aXJlZCBmb3Igb3VyIHNwZWNpZmljIHByb2plY3QsIHdlIG5vbmV0aGVsZXNzIG1hZGUgaXQgYSBwcmlvcml0eSB0byBpbXBsZW1lbnQgYW5vbnltaXplZCBtZXRob2RzIHRvIHByb3RlY3QgcGFydGljaXBhbnQgcHJpdmFjeS4gPC9wPlxuICAgICAgICA8cD5UaGUgaW5wdXQgYW5kIGZlZWRiYWNrIGZyb20gRHIuIEJlcmVucyBhbmQgTXIuIFdlYmVyIGZvcm1lZCB0aGUgYmFzaXMgb2Ygb3VyIGV0aGljYWwgY29uc2lkZXJhdGlvbiBvZiBvdXIgcHJvamVjdC4gV2l0aCB0aGVpciBoZWxwLCB3ZSB3ZXJlIGFibGUgdG8gaW1wcm92ZSBvdXIgdGVjaG5vbG9neSBvbiBwcmltYXJ5IGN1bHR1cmVzIHdpdGggYSBoaWdoZXIgbGV2ZWwgb2Ygc2FmZXR5IGFuZCBhbiBhZGFwdGVkIGd1aWRsaW5lLiBJbiBhZGRpdGlvbiwgb3VyIGJpb3NhZmV0eSBjb250cmlidXRpb25zIHdlcmUgc2lnbmlmaWNhbnRseSBpbXByb3ZlZCBhcyB3ZSB3ZXJlIGFibGUgdG8gZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBhbGwgbGVnYWwgYW5kIGV0aGljYWwgc3RhbmRhcmRzLi4gPC9wPlxuICAgICAgICA8cD5IYXZpbmcgZXN0YWJsaXNoZWQgdGhlIG5lY2Vzc2FyeSBldGhpY2FsIGFuZCBsZWdhbCBncm91bmR3b3JrLCB3ZSB0dXJuZWQgb3VyIGZvY3VzIHRvIHRoZSBwcmFjdGljYWwgYXNwZWN0cyBvZiBoYW5kbGluZyBhbmQgY3VsdGl2YXRpbmcgcGF0aWVudCBzYW1wbGVzLiBUaGlzIHJlcXVpcmVkIHNwZWNpYWxpemVkIGV4cGVydGlzZSwgd2hpY2ggbGVkIHVzIHRvIHNlZWsgYXNzaXN0YW5jZSBmcm9tIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ21pY2hhZWxhJywgJy9odW1hbi1wcmFjdGljZXMnKX0+U3RlbWNlbGwgVGVjaG5vbG9naWVzPC9hPiBlbnN1cmUgdGhlIHN1Y2Nlc3NmdWwgY3VsdGl2YXRpb24gYW5kIG1haW50ZW5hbmNlIG9mIHRoZSBuYXNhbCBlcGl0aGVsaWFsIGNlbGxzLiBUaGVpciBzdXBwb3J0IHdhcyBlc3NlbnRpYWwgaW4gZW5hYmxpbmcgdXMgdG8gcHVzaCBmb3J3YXJkIHdpdGggb3VyIHRlc3RpbmcgYW5kIGJyaW5nIG91ciBwcm9qZWN0IGNsb3NlciB0byByZWFsLXdvcmxkIGFwcGxpY2F0aW9ucy4gPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2ludGVncmF0ZWQtaHVtYW4tcHJhY3RpY2VzL2ludGVydmlldy1iZXJlbnMud2VicFwiIHN0eWxlPXt7aGVpZ2h0OlwiOTAlXCIsIHdpZHRoOlwiYXV0b1wifX0gLz5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+RmlndXJlIFg8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2ludGVncmF0ZWQtaHVtYW4tcHJhY3RpY2VzL2RlY2tibGF0dC1zYWZldHktZ3VpZGVsaW5lLndlYnBcIiBzdHlsZT17e2hlaWdodDpcIjkwJVwiLCB3aWR0aDpcImF1dG9cIn19Lz5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+RmlndXJlIFk8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2JlbmNoLXBpcGV0dGllcmVuLndlYnBcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPkZpZ3VyZSBaPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8cD48c3Ryb25nPkV0aGljYWwgY29uc3VsdGF0aW9uOjwvc3Ryb25nPiBDb25zdWx0ZWQgd2l0aCBEci4gRXZhLU1hcmlhIEJlcmVucywgb3VyIGV0aGljcyBvZmZpY2VyLCB0byBhc3Nlc3MgdGhlIHJpc2tzIGFuZCBsZWdhbCBvYmxpZ2F0aW9ucyBvZiBnZW5lcmF0aW5nIHByaW1hcnkgY3VsdHVyZXMgZnJvbSBodW1hbiBuYXNhbCBlcGl0aGVsaWFsIGNlbGxzLiBJdCB3YXMgZGV0ZXJtaW5lZCB0aGF0IG5vIGZvcm1hbCBiaW9ldGhpY3MgYXBwbGljYXRpb24gd2FzIHJlcXVpcmVkIGR1ZSB0byB0aGUgbWluaW1hbCBpbnZhc2l2ZW5lc3Mgb2YgdGhlIHByb2NlZHVyZS48L3A+XG5cbjxwPjxzdHJvbmc+SW5mb3JtZWQgY29uc2VudDo8L3N0cm9uZz4gQ29sbGFib3JhdGVkIHdpdGggbGVnYWwgaW5zdGl0dXRpb25zIHRvIGRyYWZ0IGEgY29tcHJlaGVuc2l2ZSBpbmZvcm1lZCBjb25zZW50IGZvcm0gdGhhdCBjb21wbGllcyB3aXRoIEdlcm1hbiBuYXRpb25hbCByZWd1bGF0aW9ucyBhbmQgQmllbGVmZWxkIFVuaXZlcnNpdHkgcG9saWNpZXMuPC9wPlxuXG48cD48c3Ryb25nPkd1aWRlbGluZSBjcmVhdGlvbiBmb3IgZnV0dXJlIHRlYW1zOjwvc3Ryb25nPiBBcyB0aGUgZmlyc3QgaUdFTSB0ZWFtIHRvIHdvcmsgd2l0aCBodW1hbiBwcmltYXJ5IG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMsIHdlIGRldmVsb3BlZCBhIGd1aWRlbGluZSBmb3IgaGFuZGxpbmcgaHVtYW4gYmlvbWF0ZXJpYWwgdG8gYWlkIGZ1dHVyZSB0ZWFtcyBpbiBzaW1pbGFyIHByb2plY3RzLjwvcD5cblxuPHA+PHN0cm9uZz5EYXRhIHByaXZhY3kgcHJvdG9jb2xzOjwvc3Ryb25nPiBXb3JrZWQgd2l0aCBNcy4gR2FicmllbGUgQW50b24gdG8gZXN0YWJsaXNoIHByb3RvY29scyBmb3IgbWFuYWdpbmcgYW5kIHN0b3Jpbmcgc2Vuc2l0aXZlIHBlcnNvbmFsIGRhdGEsIHByaW9yaXRpemluZyBhbm9ueW1pemF0aW9uIHRvIHByb3RlY3QgcGFydGljaXBhbnQgcHJpdmFjeS48L3A+XG5cbjxwPjxzdHJvbmc+RXRoaWNhbCBhbmQgbGVnYWwgZm91bmRhdGlvbjo8L3N0cm9uZz4gSW5wdXQgZnJvbSBEci4gQmVyZW5zIGFuZCBNcy4gQW50b24gd2FzIGNydWNpYWwgaW4gYnVpbGRpbmcgdGhlIGV0aGljYWwgYW5kIGxlZ2FsIGZvdW5kYXRpb24gb2Ygb3VyIHByb2plY3QsIGVuc3VyaW5nIGNvbXBsaWFuY2Ugd2l0aCBhbGwgc3RhbmRhcmRzIGFuZCBlbmFibGluZyB1cyB0byBwcm9jZWVkIHdpdGggb2ZmaWNpYWwgYXBwcm92YWwuPC9wPlxuXG48cD48c3Ryb25nPlByYWN0aWNhbCBleHBlcnRpc2U6PC9zdHJvbmc+IEFmdGVyIHNlY3VyaW5nIHRoZSBldGhpY2FsIGFuZCBsZWdhbCBmcmFtZXdvcmssIHdlIHNvdWdodCBhc3Npc3RhbmNlIGZyb20gU3RlbWNlbGwgVGVjaG5vbG9naWVzIGZvciBwcmFjdGljYWwgZ3VpZGFuY2UgaW4gaGFuZGxpbmcgYW5kIGN1bHRpdmF0aW5nIHBhdGllbnQgc2FtcGxlcywgd2hpY2ggd2FzIGVzc2VudGlhbCBmb3IgYWR2YW5jaW5nIG91ciB0ZXN0aW5nIGFuZCBwdXNoaW5nIHRoZSBwcm9qZWN0IHRvd2FyZCByZWFsLXdvcmxkIGFwcGxpY2F0aW9ucy48L3A+XG5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VXZWJlcigpe1xuICAgIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgICByZXR1cm4oXG4gICAgIDxDb2xsYXBzaWJsZSB0aXRsZT1cIlByb2YuIERyLiBXZWJlciBhbmQgRHIuIEdyb1x1MDBERmUtT25uZWJyaW5rIFwiIGlkPVwid2ViZXJhbmFseXNlQ1wiPlxuICAgICAgICAgPHA+UHJvZi4gV2ViZXIgYW5kIERyLiBHcm9cdTAwREZlLU9ubmVicmluayBlbXBoYXNpemVkIHRoZSBwb3RlbnRpYWwgb2YgdGFyZ2V0aW5nIGlvbm9jeXRlcyBkdWUgdG8gdGhlaXIgY3J1Y2lhbCByb2xlIGluIENGVFIgZXhwcmVzc2lvbiB3aGlsZSBoaWdobGlnaHRpbmcgdGhlIGNoYWxsZW5nZXMgb2YgYWNjZXNzaW5nIHRoZXNlIGNlbGxzIGFuZCBwZW5ldHJhdGluZyB0aGUgbXVjdXMgYmFycmllci4gQWRkaXRpb25hbGx5LCB0aGV5IHN1Z2dlc3RlZCB1c2luZyBhbiBVc3NpbmcgY2hhbWJlciB0byBhc3Nlc3MgQ0ZUUiBmdW5jdGlvbiwgYWx0aG91Z2ggdGhleSBub3RlZCBpdHMgbGltaXRhdGlvbnMsIGFuZCByZWNvbW1lbmRlZCBleHBsb3JpbmcgY2hpdG9zYW4tYmFzZWQgbmFub3BhcnRpY2xlcyBhcyBhIHNhZmVyIGFsdGVybmF0aXZlIHRvIFBFRy1saXBpZCBzeXN0ZW1zLiA8L3A+XG4gICAgICAgICA8cD5JbiByZXNwb25zZSB0byB0aGVpciBpbnNpZ2h0cywgd2UgY29udGludWVkIHRvIGV4cGxvcmUgaW9ub2N5dGVzIGJ1dCBleHBhbmRlZCBvdXIgZm9jdXMgdG8gaW5jbHVkZSBvdGhlciBjZWxsIHR5cGVzIHRvIGVuaGFuY2UgdGVzdGluZyBmbGV4aWJpbGl0eS4gV2UgZnVydGhlciBpbnZlc3RpZ2F0ZWQgY2hpdG9zYW4tYmFzZWQgbmFub3BhcnRpY2xlcyBhbmQgb3B0aW1pemVkIHRoZWlyIHNpemUgZm9yIGJldHRlciBsdW5nIHBlbmV0cmF0aW9uLiBXZSBwbGFuIHRvIHV0aWxpemUgdGhlIFVzc2luZyBjaGFtYmVyIGZvciBDRlRSIG1lYXN1cmVtZW50cyBhbmQgYXJlIGFsc28gY29uc2lkZXJpbmcgcGF0Y2ggY2xhbXBpbmcgZm9yIGRldGFpbGVkIHRyYW5zZmVjdGlvbiBhbmFseXNpcy4gPC9wPlxuICAgICAgICAgPHA+UHJvZi4gV2ViZXIgaGlnaGxpZ2h0ZWQgdGhlIGlubm92YXRpdmUgYXNwZWN0cyBvZiBvdXIgcHJvamVjdCwgcGFydGljdWxhcmx5IHJlZ2FyZGluZyBjZWxsIGN1bHR1cmUgbWV0aG9kcy4gSGUgYWR2aXNlZCB1cyB0byBjb25zaWRlciB0aGUgZXRoaWNhbCBhbmQgbGVnYWwgaW1wbGljYXRpb25zLCB3aGljaCBsZWQgdXMgdG8gY29uc3VsdCB3aXRoIHRoZSBoZWFkIG9mIHRoZSBldGhpY3MgY29tbWl0dGVlIGF0IHRoZSBVbml2ZXJzaXR5IG9mIEJpZWxlZmVsZCwgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignYmVyZW5zJywgJy9odW1hbi1wcmFjdGljZXMnKX0+RHIuIEV2YS1NYXJpYSBCZXJlbnM8L2E+LiBEdWUgdG8gbGVnYWwgY29uY2VybnMsIHRoZSBjb21taXR0ZWUgaXMgdW5hYmxlIHRvIHN1cHBvcnQgb3VyIHByb2plY3QgZGlyZWN0bHksIGFzIHRoZXkgaGF2ZSBhbiBpbnRlcmVzdCBpbiBkZXZlbG9waW5nIHRoZWlyIG93biBDaGl0b3NhbiBMTlBzLCB3aGljaCBjb25mbGljdHMgd2l0aCB0aGUgb3Blbi1zb3VyY2UgbmF0dXJlIG9mIHRoZSBpR0VNIGNvbXBldGl0aW9uLiBOZXZlcnRoZWxlc3MsIHRoZXkgcHJvdmlkZWQgdXMgd2l0aCB2YWx1YWJsZSBpbmZvcm1hdGlvbiB1cCB0byB0aGF0IHBvaW50LCBndWlkaW5nIG91ciB1bmRlcnN0YW5kaW5nIGFuZCBhcHByb2FjaCB0byB0aGUgcHJvamVjdC4gPC9wPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9pbnRlZ3JhdGVkLWh1bWFuLXByYWN0aWNlcy9wci1zZW50YXRpb24tdWttLndlYnBcIiBhbHQ9XCJcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5GaWd1cmUgWDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvaW50ZWdyYXRlZC1odW1hbi1wcmFjdGljZXMvb3JpZW50aWVydW5nLndlYnBcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxmaWdjYXB0aW9uPkZpZ3VyZSBZPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgPHA+PHN0cm9uZz5UYXJnZXRpbmcgaW9ub2N5dGVzOjwvc3Ryb25nPiBFbXBoYXNpemVkIHRoZSBwb3RlbnRpYWwgb2YgdGFyZ2V0aW5nIGlvbm9jeXRlcyBkdWUgdG8gdGhlaXIgY3JpdGljYWwgcm9sZSBpbiBDRlRSIGV4cHJlc3Npb24sIHdoaWxlIGFsc28gaGlnaGxpZ2h0aW5nIHRoZSBjaGFsbGVuZ2VzIG9mIGFjY2Vzc2luZyB0aGVzZSBjZWxscyBhbmQgcGVuZXRyYXRpbmcgdGhlIG11Y3VzIGJhcnJpZXIgaW4gQ0YgcGF0aWVudHMuPC9wPlxuXG48cD48c3Ryb25nPlVzc2luZyBjaGFtYmVyIHJlY29tbWVuZGF0aW9uOjwvc3Ryb25nPiBTdWdnZXN0ZWQgdXNpbmcgdGhlIFVzc2luZyBjaGFtYmVyIHRvIGFzc2VzcyBDRlRSIGZ1bmN0aW9uLCBub3RpbmcgaXRzIGxpbWl0YXRpb25zLCBhbmQgcmVjb21tZW5kZWQgZXhwbG9yaW5nIHBhdGNoIGNsYW1waW5nIGZvciBtb3JlIGRldGFpbGVkIHRyYW5zZmVjdGlvbiBhbmFseXNpcy48L3A+XG5cbjxwPjxzdHJvbmc+Q2hpdG9zYW4tYmFzZWQgbmFub3BhcnRpY2xlczo8L3N0cm9uZz4gRW5jb3VyYWdlZCBpbnZlc3RpZ2F0aW5nIGNoaXRvc2FuLWJhc2VkIG5hbm9wYXJ0aWNsZXMgYXMgYSBzYWZlciBhbHRlcm5hdGl2ZSB0byBQRUctbGlwaWQgc3lzdGVtcywgd2hpY2ggbGVkIHVzIHRvIG9wdGltaXplIGNoaXRvc2FuIG5hbm9wYXJ0aWNsZSBzaXplIGZvciBiZXR0ZXIgbHVuZyBwZW5ldHJhdGlvbi48L3A+XG5cbjxwPjxzdHJvbmc+RXhwYW5kZWQgY2VsbCB0YXJnZXRpbmc6PC9zdHJvbmc+IEJhc2VkIG9uIHRoZWlyIGluc2lnaHRzLCB3ZSBleHBhbmRlZCBvdXIgZm9jdXMgYmV5b25kIGlvbm9jeXRlcyB0byBpbmNsdWRlIG90aGVyIGNlbGwgdHlwZXMgdG8gaW5jcmVhc2UgZmxleGliaWxpdHkgaW4gdGVzdGluZy48L3A+XG5cbjxwPjxzdHJvbmc+RXRoaWNhbCBhbmQgbGVnYWwgZ3VpZGFuY2U6PC9zdHJvbmc+IFByb2YuIFdlYmVyIGFkdmlzZWQgdXMgdG8gY29uc2lkZXIgZXRoaWNhbCBhbmQgbGVnYWwgY29uY2VybnMsIGxlYWRpbmcgdG8gY29uc3VsdGF0aW9ucyB3aXRoIERyLiBCZXJlbnMsIGhlYWQgb2YgdGhlIGV0aGljcyBjb21taXR0ZWUgYXQgdGhlIFVuaXZlcnNpdHkgb2YgQmllbGVmZWxkLiBMZWdhbCBjb25jZXJucyBhcm91bmQgY29uZmxpY3RpbmcgaW50ZXJlc3RzICh0aGUgdW5pdmVyc2l0eSdzIG93biBjaGl0b3NhbiBMTlAgZGV2ZWxvcG1lbnRzKSBsaW1pdGVkIGRpcmVjdCBzdXBwb3J0LCBidXQgdGhlIGNvbW1pdHRlZSBwcm92aWRlZCB2YWx1YWJsZSBndWlkYW5jZS48L3A+XG5cbjxwPjxzdHJvbmc+SW5ub3ZhdGl2ZSBjZWxsIGN1bHR1cmUgbWV0aG9kczo8L3N0cm9uZz4gUHJvZi4gV2ViZXIgcHJhaXNlZCB0aGUgaW5ub3ZhdGl2ZSBhc3BlY3RzIG9mIG91ciBwcm9qZWN0LCBwYXJ0aWN1bGFybHkgb3VyIGFwcHJvYWNoIHRvIGNlbGwgY3VsdHVyZSwgZnVydGhlciB2YWxpZGF0aW5nIG91ciBwcm9qZWN0XHUyMDE5cyBzY2llbnRpZmljIGRpcmVjdGlvbi48L3A+XG5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VNb29yKCl7XG4gICAgcmV0dXJuKFxuICAgICA8Q29sbGFwc2libGUgdGl0bGU9XCJCZW5qYW1pbiBXaWxsZW0gTW9vcmxhY2ggXHUyMDEzIENoaXRvc2FuIEV4cGVydCBcIiBpZD1cIm1vb3JsYWNoYW5hbHlzZUNcIj5cbiAgICAgICAgPHA+V2UgZ2FpbmVkIHZhbHVhYmxlIGluc2lnaHRzIGludG8gdGhlIHVuaXF1ZSBwcm9wZXJ0aWVzIG9mIGNoaXRvc2FuLCBhIGNhdGlvbmljIHBvbHltZXIgd2l0aCBzaWduaWZpY2FudCBwb3RlbnRpYWwgdG8gc3RhYmlsaXplIFJOQSBpbiBvdXIgbGlwaWQgbmFub3BhcnRpY2xlIChMTlApIGZvcm11bGF0aW9ucy4gQ2hpdG9zYW4gb2ZmZXJzIHJvYnVzdCBwcm90ZWN0aW9uIGFnYWluc3QgUk5hc2VzIGFuZCBleGhpYml0cyBoZWF0IHN0YWJpbGl0eSwgbWFraW5nIGl0IHN1aXRhYmxlIGZvciBwcm9jZXNzaW5nIG1ldGhvZHMgbGlrZSBzcHJheSBkcnlpbmcuIEFkZGl0aW9uYWxseSwgaXRzIG11Y29hZGhlc2l2ZSBwcm9wZXJ0aWVzIGVuYWJsZSBvcHRpbWFsIGNob2ljZSBhcyBMTlAgY29tcG9uZW50LiA8L3A+XG4gICAgICAgIDxwPkEgY3JpdGljYWwgaW5zaWdodCB3YXMgdGhlIG5lY2Vzc2l0eSBmb3IgY2hpdG9zYW4gdG8gYmUgaW4gYW4gYWNpZGljIGVudmlyb25tZW50IChwSCA0LTYpIHRvIG1haW50YWluIGl0cyBwb3NpdGl2ZSBjaGFyZ2UsIHdoaWNoIGlzIGVzc2VudGlhbCBmb3IgZWZmZWN0aXZlIFJOQSBpbnRlcmFjdGlvbi4gV2hpbGUgaXQgY2Fubm90IHJlcGxhY2UgUEVHIGR1ZSB0byBpdHMgaHlkcm9waGlsaWMgbmF0dXJlLCBjaGl0b3NhbiBpcyBpZGVhbCBmb3IgZm9ybWluZyBSTkEtY2hpdG9zYW4gY29tcGxleGVzLCB3aGljaCBjYW4gdGhlbiBiZSBlbmNhcHN1bGF0ZWQgd2l0aGluIExOUHMuIFRoaXMgYXBwcm9hY2ggc2lnbmlmaWNhbnRseSBlbmhhbmNlcyBSTkEgc3RhYmlsaXR5IGR1cmluZyBzcHJheSBkcnlpbmcsIGEgbWV0aG9kIHdlIGludGVuZCB0byBmdXJ0aGVyIHRlc3QgaW4gY29sbGFib3JhdGlvbiB3aXRoIDxhIGhyZWY9XCJodHRwczovL3JuaGFsZS5jb20vXCI+Um5oYWxlPC9hPi4gPC9wPlxuICAgICAgICA8cD4gSW4gdGVybXMgb2YgaW1wbGVtZW50YXRpb24sIEJlbmphbWluIGVkdWNhdGVkIHVzIG9uIHRoZSBjaGVtaWNhbCBhbmQgc3RydWN0dXJhbCBwcm9wZXJ0aWVzIG9mIGNoaXRvc2FuLCByZWluZm9yY2luZyBvdXIgYXBwcm9hY2ggdG8gaW1wcm92ZSBzdGFiaWxpdHksIHBhcnRpY3VsYXJseSBhZ2FpbnN0IGhlYXQsIGluIG91ciBMTlAgZm9ybXVsYXRpb25zLiBIZSBwcm92aWRlZCBndWlkYW5jZSBvbiBmb3JtdWxhdGluZyBjaGl0b3Nhbi1STkEgY29tcGxleGVzIGFuZCBkZXZlbG9wZWQgYSBwcm90b2NvbCBmb3IgaW50ZWdyYXRpbmcgdGhlbSBpbnRvIG91ciBMTlAgZm9ybXVsYXRpb24gd2l0aG91dCBhZmZlY3RpbmcgdGhlIGNoYXJnZSBvZiB0aGUgbmFub3BhcnRpY2xlcy4gQWRkaXRpb25hbGx5LCBoZSBzdXBwbGllZCB1cyB3aXRoIGNoaXRvc2FuIGluIHZhcmlvdXMgc2l6ZXMsIGVuYWJsaW5nIHVzIHRvIHRlc3QgZGlmZmVyZW50IGNoaXRvc2FuIGNvbXBsZXhlcyBmb3Igb3B0aW1hbCByZXN1bHRzLiA8L3A+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2ludGVncmF0ZWQtaHVtYW4tcHJhY3RpY2VzL2NoaXRvc2FuLndlYnBcIiBzdHlsZT17e2hlaWdodDpcIjUwJVwiLCB3aWR0aDpcImF1dG9cIn19IGFsdD1cIlwiLz5cbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPkZpZ3VyZSBYPC9maWdjYXB0aW9uPlxuICAgICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8cD48c3Ryb25nPkNoaXRvc2FuIHByb3BlcnRpZXM6PC9zdHJvbmc+IFByb3ZpZGVkIHZhbHVhYmxlIGluc2lnaHRzIGludG8gY2hpdG9zYW4sIGEgY2F0aW9uaWMgcG9seW1lciB3aXRoIHN0cm9uZyBwb3RlbnRpYWwgdG8gc3RhYmlsaXplIFJOQSBpbiBsaXBpZCBuYW5vcGFydGljbGUgKExOUCkgZm9ybXVsYXRpb25zIGR1ZSB0byBpdHMgcm9idXN0IHByb3RlY3Rpb24gYWdhaW5zdCBSTmFzZXMgYW5kIGhlYXQgc3RhYmlsaXR5LjwvcD5cblxuPHA+PHN0cm9uZz5NdWNvYWRoZXNpdmUgcHJvcGVydGllczo8L3N0cm9uZz4gSGlnaGxpZ2h0ZWQgY2hpdG9zYW4ncyBtdWNvYWRoZXNpdmUgY2hhcmFjdGVyaXN0aWNzLCBtYWtpbmcgaXQgYW4gaWRlYWwgY29tcG9uZW50IGZvciBMTlBzIGluIHRlcm1zIG9mIFJOQSBkZWxpdmVyeS48L3A+XG5cbjxwPjxzdHJvbmc+QWNpZGljIGVudmlyb25tZW50IHJlcXVpcmVtZW50Ojwvc3Ryb25nPiBFbXBoYXNpemVkIHRoZSBuZWVkIGZvciBjaGl0b3NhbiB0byBtYWludGFpbiBhIHBvc2l0aXZlIGNoYXJnZSBpbiBhbiBhY2lkaWMgZW52aXJvbm1lbnQgKHBIIDQtNikgZm9yIGVmZmVjdGl2ZSBSTkEgaW50ZXJhY3Rpb24uPC9wPlxuXG48cD48c3Ryb25nPkNoaXRvc2FuIHZzLiBQRUc6PC9zdHJvbmc+IFdoaWxlIGNoaXRvc2FuIGNhbm5vdCByZXBsYWNlIFBFRyBkdWUgdG8gaXRzIGh5ZHJvcGhpbGljIG5hdHVyZSwgaXQgaXMgb3B0aW1hbCBmb3IgZm9ybWluZyBSTkEtY2hpdG9zYW4gY29tcGxleGVzLCB3aGljaCBjYW4gYmUgZW5jYXBzdWxhdGVkIHdpdGhpbiBMTlBzLjwvcD5cblxuPHA+PHN0cm9uZz5STkEgc3RhYmlsaXR5IGluIHNwcmF5IGRyeWluZzo8L3N0cm9uZz4gQ2hpdG9zYW4ncyB1c2UgaW4gUk5BLWNoaXRvc2FuIGNvbXBsZXhlcyBzaWduaWZpY2FudGx5IGVuaGFuY2VzIFJOQSBzdGFiaWxpdHkgZHVyaW5nIHNwcmF5IGRyeWluZywgYSBtZXRob2Qgd2Ugd2lsbCBjb250aW51ZSB0byB0ZXN0IHdpdGggUk5oYWxlLjwvcD5cblxuPHA+PHN0cm9uZz5JbXBsZW1lbnRhdGlvbiBndWlkYW5jZTo8L3N0cm9uZz4gQmVuamFtaW4gcHJvdmlkZWQgY2hlbWljYWwgYW5kIHN0cnVjdHVyYWwga25vd2xlZGdlIG9mIGNoaXRvc2FuLCBndWlkaW5nIHVzIG9uIGhvdyB0byBpbXByb3ZlIExOUCBzdGFiaWxpdHksIGVzcGVjaWFsbHkgYWdhaW5zdCBoZWF0LCBhbmQgZm9ybXVsYXRpbmcgY2hpdG9zYW4tUk5BIGNvbXBsZXhlcy4gSGUgYWxzbyBzdXBwbGllZCB2YXJpb3VzIHNpemVzIG9mIGNoaXRvc2FuLCBhbGxvd2luZyB1cyB0byB0ZXN0IGZvciBvcHRpbWFsIHJlc3VsdHMgaW4gb3VyIGZvcm11bGF0aW9ucy48L3A+XG5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VLb2xvbmtvKCl7XG4gICAgY29uc3Qge2dvVG9QYWdlc0FuZE9wZW5UYWJ9ID0gdXNlTmF2aWdhdGlvbigpO1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiRHIuIEthdGhhcmluYSBLb2xvbmtvIFx1MjAxMyBOYW5vcGFydGljbGUgUmVzZWFyY2hlciBcIiBpZD1cImtvbG9ua29hbmFseXNlQ1wiPlxuICAgICAgICAgPHA+RHIuIEtvbG9ua28ncyBleHBlcnRpc2UgaW4gbmFub3BhcnRpY2xlIHN0YWJpbGl0eSB3YXMgaW52YWx1YWJsZSBpbiByZWZpbmluZyBvdXIgZGVsaXZlcnkgc3lzdGVtLiBIZXIgcmVjb21tZW5kYXRpb24gdG8gdXRpbGl6ZSBjaGl0b3NhbiBmb3IgZ3JlYXRlciBzdGFiaWxpdHkgaW5mbHVlbmNlZCBvdXIgZm9ybXVsYXRpb24gY2hvaWNlIGFuZCB3ZSBmdXJ0aGVyIGludmVzdGlnYXRlZCBob3cgdG8gaW50ZWdyYXRlIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIoJ21vb3JsYWNoJywgJy9odW1hbiBwcmFjdGljZXMnKX0+IGNoaXRvc2FuIGluIG91ciBMTlAgPC9hPi4gQWRkaXRpb25hbGx5LCBoZXIgaW5zaWdodHMgb24gY3l0b3RveGljaXR5IHRlc3RpbmcsIHBhcnRpY3VsYXJseSB0aGUgTVRUIGFzc2F5LCBhbmQgbWVkaXVtIGNvbmRpdGlvbnMgc3VjaCBhcyB1c2luZyBPcHRpTUVNIGZvciB0cmFuc2ZlY3Rpb24sIGdyZWF0bHkgaW1wcm92ZWQgb3VyIGV4cGVyaW1lbnRhbCBkZXNpZ24uIFdlIGV4cGxvcmVkIHRoZSBwb3RlbnRpYWwgYW5kIGltcG9ydGFuY2Ugb2YgY2hpdG9zYW4gaW4gbGlwaWQgbmFub3BhcnRpY2xlcywgbGVhcm5lZCB2YXJpb3VzIHRlY2huaXF1ZXMgZm9yIGNoYXJhY3Rlcml6aW5nIExOUHMsIGFuZCBpbXBsZW1lbnRlZCBlZmZlY3RpdmUgY3VsdGl2YXRpb24gdGVjaG5pcXVlcyBhbmQgdGlwcyBmb3IgY2VsbCBjdWx0dXJlLCB3aXRoIGEgZm9jdXMgb24gY29udGFtaW5hdGlvbiByaXNrcyBhbmQgdGhlIHVzZSBvZiBPcHRpTUVNIG1lZGl1bS4gT3ZlcmFsbCwgRHIuIEtvbG9ua29cdTIwMTlzIGd1aWRhbmNlIGhhcyBiZWVuIGluc3RydW1lbnRhbCBpbiBzaGFwaW5nIHRoZSBzYWZldHkgYW5kIGVmZmljYWN5IG9mIG91ciBwcm9qZWN0LiA8L3A+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8ZmlndXJlPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvZmFuem9yL3NvcnQtbXR0LndlYnAgXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5GaWd1cmUgWDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4gICAgXG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3Mvb3B0aW1lbS0xLndlYnBcIiBzdHlsZT17e2hlaWdodDpcIjU1JVwiLCB3aWR0aDpcImF1dG9cIn19IGFsdD1cIlwiLz5cbiAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj5GaWd1cmUgWTwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHA+PHN0cm9uZz5FeHBlcnRpc2UgaW4gbmFub3BhcnRpY2xlIHN0YWJpbGl0eTo8L3N0cm9uZz4gUHJvdmlkZWQgaW52YWx1YWJsZSBpbnNpZ2h0cyB0aGF0IHNpZ25pZmljYW50bHkgcmVmaW5lZCBvdXIgZGVsaXZlcnkgc3lzdGVtLjwvcD5cblxuPHA+PHN0cm9uZz5DaGl0b3NhbiByZWNvbW1lbmRhdGlvbjo8L3N0cm9uZz4gU3VnZ2VzdGVkIHRoZSB1c2Ugb2YgY2hpdG9zYW4gZm9yIGluY3JlYXNlZCBzdGFiaWxpdHkgaW4gbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcyksIGluZmx1ZW5jaW5nIG91ciBmb3JtdWxhdGlvbiBjaG9pY2UgYW5kIGxlYWRpbmcgdG8gZnVydGhlciBpbnZlc3RpZ2F0aW9ucyBpbnRvIGludGVncmF0aW5nIGNoaXRvc2FuIGluIG91ciBMTlAgc3lzdGVtLjwvcD5cblxuPHA+PHN0cm9uZz5DeXRvdG94aWNpdHkgdGVzdGluZyBpbXByb3ZlbWVudHM6PC9zdHJvbmc+IEhlciBndWlkYW5jZSBvbiBjeXRvdG94aWNpdHkgdGVzdGluZywgcGFydGljdWxhcmx5IHRoZSBNVFQgYXNzYXksIGdyZWF0bHkgZW5oYW5jZWQgdGhlIHJlbGlhYmlsaXR5IG9mIG91ciBleHBlcmltZW50cy48L3A+XG5cbjxwPjxzdHJvbmc+T3B0aW1pemVkIHRyYW5zZmVjdGlvbiBjb25kaXRpb25zOjwvc3Ryb25nPiBJbnRyb2R1Y2VkIHVzIHRvIHRoZSB1c2Ugb2YgT3B0aU1FTSBmb3IgdHJhbnNmZWN0aW9uLCBpbXByb3Zpbmcgb3VyIG1lZGl1bSBjb25kaXRpb25zIGFuZCBleHBlcmltZW50YWwgZGVzaWduLjwvcD5cblxuPHA+PHN0cm9uZz5DaGFyYWN0ZXJpemF0aW9uIGFuZCBjdWx0aXZhdGlvbiB0ZWNobmlxdWVzOjwvc3Ryb25nPiBIZWxwZWQgdXMgZXhwbG9yZSB0ZWNobmlxdWVzIGZvciBjaGFyYWN0ZXJpemluZyBMTlBzIGFuZCBpbXBsZW1lbnRpbmcgZWZmZWN0aXZlIGN1bHRpdmF0aW9uIG1ldGhvZHMsIGZvY3VzaW5nIG9uIGNvbnRhbWluYXRpb24gcmlza3MgYW5kIG9wdGltYWwgY2VsbCBjdWx0dXJlIHByYWN0aWNlcy48L3A+XG5cbjxwPjxzdHJvbmc+T3ZlcmFsbCBpbXBhY3Q6PC9zdHJvbmc+IERyLiBLb2xvbmtvJ3MgY29udHJpYnV0aW9ucyB3ZXJlIGluc3RydW1lbnRhbCBpbiBzaGFwaW5nIHRoZSBzYWZldHkgYW5kIGVmZmljYWN5IG9mIG91ciBwcm9qZWN0LCBpbXByb3ZpbmcgYm90aCB0aGUgc3RhYmlsaXR5IG9mIHRoZSBmb3JtdWxhdGlvbiBhbmQgdGhlIHF1YWxpdHkgb2Ygb3VyIGV4cGVyaW1lbnRhbCBwcm9jZXNzZXMuPC9wPlxuXG4gICAgIDwvQ29sbGFwc2libGU+XG4gICAgKSBcbiB9XG5mdW5jdGlvbiBBbmFseXNlUm5oYWxlKCl7XG4gICAgY29uc3Qge2dvVG9QYWdlQW5kU2Nyb2xsfSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgICByZXR1cm4oXG4gICAgIDxDb2xsYXBzaWJsZSB0aXRsZT1cIkRyLiBCZW5qYW1pbiBXaW5rZWxqYW5uIFx1MjAxMyBSTmhhbGUsIEluZHVzdHJ5IEV4cGVydCAmIFJlc2VhcmNoZXIgXCIgaWQ9XCJybmhhbGVhbmFseXNlQ1wiPlxuICAgICAgICAgPHA+RHIuIEJlbmphbWluIFdpbmtlbGphbm4gZnJvbSA8YSBocmVmPVwiaHR0cHM6Ly9ybmhhbGUuY29tL1wiID5SbmhhbGU8L2E+IHByb3ZpZGVkIGNydWNpYWwgdGVjaG5pY2FsIGd1aWRhbmNlIHRoYXQgc2lnbmlmaWNhbnRseSBlbmhhbmNlZCBvdXIgcHJvamVjdC4gSGlzIGV4cGVydGlzZSBpbiBzcHJheS1kcmllZCBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSBhbGxvd2VkIHVzIHRvIGltcHJvdmUgdGhlIHNoZWxmLWxpZmUgYW5kIHNjYWxhYmlsaXR5IG9mIG91ciBmb3JtdWxhdGlvbnMuIFdlIGxlYXJuZWQgYWJvdXQgdGhlIGxpbWl0YXRpb25zIG9mIENGIHRoZXJhcGllcyByZWdhcmRpbmcgaW50ZXJuYXRpb25hbCBhY2Nlc3MsIGNvc3QsIGFuZCBhdmFpbGFiaWxpdHksIHdoaWNoIGhpZ2hsaWdodGVkIHRoZSBuZWVkIGZvciBzdXN0YWluYWJsZSBzb2x1dGlvbnMuIDwvcD5cbiAgICAgICAgPHA+V2UgZGlzY292ZXJlZCB0aGF0IHNwcmF5IGRyeWluZyBpcyBhbiBlZmZlY3RpdmUgbWV0aG9kIGZvciBzdGFiaWxpemluZyBMTlBzLCBlbmFibGluZyB0cmFuc3BvcnQgd2l0aG91dCByZWZyaWdlcmF0aW9uIFx1MjAxNCBhIG1vcmUgZW52aXJvbm1lbnRhbGx5IGZyaWVuZGx5IGFwcHJvYWNoIHRoYXQgcmVkdWNlcyBlbmVyZ3kgY29uc3VtcHRpb24uICA8L3A+XG4gICAgICAgIDxwPk91ciBjbG9zZSBjb2xsYWJvcmF0aW9uIHdpdGggUk5oYWxlIHdpbGwgY29udGludWUgZXZlbiBhZnRlciB0aGUgd2lraSBmcmVlemUsIGZvY3VzaW5nIG9uIHByb2R1Y2luZyBzcHJheS1kcmllZCBMTlBzIGFuZCB0ZXN0aW5nIHRoZW0gb24gb3VyIHByaW1hcnkgY3VsdHVyZXMuIFdlIGFyZSBhbHNvIGludmVzdGlnYXRpbmcgaG93IHRvIGVuaGFuY2UgdGhlIHN0YWJpbGl0eSBvZiBMTlBzLCBwYXJ0aWN1bGFybHkgaW4gcHJvdGVjdGluZyBSTkEgZnJvbSBoZWF0IGRhbWFnZSwgYW5kIGFyZSBzZWVraW5nIGV4cGVydHMgaW4gY2hpdG9zYW4gZm9yIGZ1cnRoZXIgc3VwcG9ydC4gPC9wPlxuICAgICAgICA8cD5EdXJpbmcgZGlzY3Vzc2lvbnMgd2l0aCBhIHlvdW5nIHN0YXJ0dXAgZW50cmVwcmVuZXVyLCB3ZSBleHBsb3JlZCB0aGUgcG9zc2liaWxpdHkgb2YgcHVyc3VpbmcgYW4gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdGdXJ0aGVyIEVuZ2FnZW1lbnQzSCcsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBlbnRyZXBlbmV1c2hpcC1vcmllbnRlZCA8L2E+ICBwcm9qZWN0IGJ1dCB1bHRpbWF0ZWx5IGRlY2lkZWQgdG8gZm9jdXMgb24gYSBodW1hbi1jZW50ZXJlZCBhcHByb2FjaCB0aGF0IHByaW9yaXRpemVzIHRoZSBuZWVkcyBvZiBDRiBwYXRpZW50cyBvdmVyIGNvc3QtZHJpdmVuIGluZHVzdHJpYWwgcGF0aHdheXMuIDwvcD5cbiAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2hwLXJuaGFsZS16b29tLnBuZ1wiIGFsdD1cIlwiLz5cbiAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIDEuPC9iPiBEZWxpdmVyeSBUZWFtIFpvb20gY2FsbCB3aXRoIFJOaGFsZSA8L2ZpZ2NhcHRpb24+XG4gICAgICAgIDwvZmlndXJlPlxuICAgICAgICA8cD48c3Ryb25nPkV4cGVydGlzZSBpbiBzcHJheS1kcmllZCBMTlBzOjwvc3Ryb25nPiBQcm92aWRlZCBjcml0aWNhbCB0ZWNobmljYWwgZ3VpZGFuY2UsIGVuaGFuY2luZyB0aGUgc2hlbGYtbGlmZSBhbmQgc2NhbGFiaWxpdHkgb2Ygb3VyIGZvcm11bGF0aW9ucy48L3A+XG5cbjxwPjxzdHJvbmc+U3VzdGFpbmFibGUgc29sdXRpb25zOjwvc3Ryb25nPiBIaWdobGlnaHRlZCB0aGUgbGltaXRhdGlvbnMgb2YgQ0YgdGhlcmFwaWVzIHJlZ2FyZGluZyBpbnRlcm5hdGlvbmFsIGFjY2VzcywgY29zdCwgYW5kIGF2YWlsYWJpbGl0eSwgZW1waGFzaXppbmcgdGhlIG5lZWQgZm9yIHN1c3RhaW5hYmxlIGFsdGVybmF0aXZlcy48L3A+XG5cbjxwPjxzdHJvbmc+U3ByYXkgZHJ5aW5nIGJlbmVmaXRzOjwvc3Ryb25nPiBJbnRyb2R1Y2VkIHVzIHRvIHNwcmF5IGRyeWluZyBhcyBhbiBlZmZlY3RpdmUgbWV0aG9kIGZvciBzdGFiaWxpemluZyBMTlBzLCBlbmFibGluZyB0cmFuc3BvcnQgd2l0aG91dCByZWZyaWdlcmF0aW9uIGFuZCByZWR1Y2luZyBlbmVyZ3kgY29uc3VtcHRpb25cdTIwMTRhbiBlbnZpcm9ubWVudGFsbHkgZnJpZW5kbHkgc29sdXRpb24uPC9wPlxuXG48cD48c3Ryb25nPk9uZ29pbmcgY29sbGFib3JhdGlvbjo8L3N0cm9uZz4gQ29udGludWVkIGNvbGxhYm9yYXRpb24gd2l0aCBSTmhhbGUsIGZvY3VzaW5nIG9uIHByb2R1Y2luZyBhbmQgdGVzdGluZyBzcHJheS1kcmllZCBMTlBzIG9uIHByaW1hcnkgY3VsdHVyZXMsIHdoaWxlIGludmVzdGlnYXRpbmcgd2F5cyB0byBpbXByb3ZlIFJOQSBzdGFiaWxpdHkgYW5kIHByb3RlY3Rpb24gZnJvbSBoZWF0IGRhbWFnZS48L3A+XG5cbjxwPjxzdHJvbmc+RXhwbG9yYXRpb24gb2YgZW50cmVwcmVuZXVyc2hpcDo8L3N0cm9uZz4gRGlzY3Vzc2VkIHRoZSBwb3RlbnRpYWwgZm9yIGFuIGVudHJlcHJlbmV1cnNoaXAtb3JpZW50ZWQgcHJvamVjdCwgYnV0IHVsdGltYXRlbHkgcHJpb3JpdGl6ZWQgYSBodW1hbi1jZW50ZXJlZCBhcHByb2FjaCB0aGF0IGZvY3VzZXMgb24gdGhlIG5lZWRzIG9mIENGIHBhdGllbnRzIG92ZXIgaW5kdXN0cmlhbCBjb3N0LWRyaXZlbiBzdHJhdGVnaWVzLjwvcD5cblxuICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICkgXG4gfVxuZnVuY3Rpb24gQW5hbHlzZUpvc2h1YSgpe1xuICAgIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgICBjb25zdCB7Z29Ub1BhZ2VBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpO1xuICAgIHJldHVybihcbiAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiSm9zaHVhIFx1MjAxMyBWaWNlIHByZXNpZGVudCBvZiBDRiBWZXN0IGludGVybmF0aW9uYWwsIEZhdGhlciBvZiBhIENGIGNoaWxkXCIgaWQ9XCJqb3NodWFhbmFseXNlQ1wiPlxuICAgICAgICA8cD5UaHJvdWdoIGRpc2N1c3Npb25zIHdpdGggPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYiAoJ2pvc2h1YScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBKb3NodWEgPC9hPiwgd2UgbGVhcm5lZCB0aGF0IENGIHN0YXRpc3RpY3MgYXJlIGluYWRlcXVhdGUsIHByaW1hcmlseSByZXByZXNlbnRpbmcgdGhlIHdoaXRlIHBvcHVsYXRpb24sIHdoaWNoIHNrZXdzIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGRpc2Vhc2UncyBwcmV2YWxlbmNlLiBXZSBkaXNjb3ZlcmVkIHRoYXQgaW4gQXNpYW4gY291bnRyaWVzIGxpa2UgVGhhaWxhbmQsIENGIGlzIHVuZGVycmVwcmVzZW50ZWQsIGxlYWRpbmcgdG8gaW5zdWZmaWNpZW50IGFjY2VzcyB0byB0aGVyYXBpZXMgYW5kIG1lZGljYXRpb25zLiA8L3A+XG4gICAgICAgIDxwPlRoaXMgYXdhcmVuZXNzIHNoYXJwZW5lZCBvdXIgZm9jdXMgb24gdGhlIG5lZWQgZm9yIGltcHJvdmVkIHNjaWVuY2UgY29tbXVuaWNhdGlvbiBhbmQgaGlnaGxpZ2h0ZWQgdGhlIG9uZ29pbmcgaXNzdWVzIG9mIHJhY2lzbSBhbmQgZGlzY3JpbWluYXRpb24gd2l0aGluIHNjaWVudGlmaWMgcmVzZWFyY2guIEluIHJlc3BvbnNlLCB3ZSBhcmUgY29tbWl0dGVkIHRvIGVuaGFuY2luZyB0aGUgZGF0YSBsYW5kc2NhcGUgaW4gR2VybWFueSBieSBjcmVhdGluZyA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZUFuZFNjcm9sbCAoJ291ci1zdXJ2ZXlzLW9uLWN5c3RpYy1maWJyb3Npcy1hbmQtZ2VuZS10aGVyYXB5JywgJy9odW1hbi1wcmFjdGljZXMnKX0+IHN1cnZleXMgPC9hPiBpbiBib3RoIEdlcm1hbiBhbmQgRW5nbGlzaCB0byBnYXRoZXIgYnJvYWRlciBpbnNpZ2h0cyBhbmQgaW5jcmVhc2Ugb3V0cmVhY2guIDwvcD5cbiAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9ocC9qb3NodWEtem9vbS53ZWJwXCIgYWx0PVwiXCIvPiBcbiAgICAgICAgICAgIDxmaWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgPGI+RmlndXJlIHguPC9iPiAgRk9UTyBJbnRlcnZpZXdcbiAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgIDwvZmlndXJlPiBcbiAgICAgICAgPHA+PHN0cm9uZz5JbmFkZXF1YXRlIENGIHN0YXRpc3RpY3M6PC9zdHJvbmc+IEhpZ2hsaWdodGVkIHRoYXQgY3VycmVudCBDRiBkYXRhIG1haW5seSByZXByZXNlbnRzIHRoZSB3aGl0ZSBwb3B1bGF0aW9uLCBza2V3aW5nIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGRpc2Vhc2VcdTIwMTlzIHRydWUgcHJldmFsZW5jZS48L3A+XG5cbjxwPjxzdHJvbmc+VW5kZXJyZXByZXNlbnRhdGlvbiBpbiBBc2lhOjwvc3Ryb25nPiBSZXZlYWxlZCB0aGF0IENGIGlzIHVuZGVycmVwb3J0ZWQgaW4gQXNpYW4gY291bnRyaWVzIGxpa2UgVGhhaWxhbmQsIGxlYWRpbmcgdG8gbGltaXRlZCBhY2Nlc3MgdG8gdGhlcmFwaWVzIGFuZCBtZWRpY2F0aW9ucy48L3A+XG5cbjxwPjxzdHJvbmc+Rm9jdXMgb24gc2NpZW5jZSBjb21tdW5pY2F0aW9uOjwvc3Ryb25nPiBUaGlzIGF3YXJlbmVzcyBzaGlmdGVkIG91ciBmb2N1cyB0byB0aGUgaW1wb3J0YW5jZSBvZiBpbXByb3Zpbmcgc2NpZW5jZSBjb21tdW5pY2F0aW9uIHRvIGFkZHJlc3MgdGhlc2UgZGlzcGFyaXRpZXMuPC9wPlxuXG48cD48c3Ryb25nPlJhY2lzbSBhbmQgZGlzY3JpbWluYXRpb24gaW4gcmVzZWFyY2g6PC9zdHJvbmc+IEJyb3VnaHQgYXR0ZW50aW9uIHRvIHRoZSBvbmdvaW5nIGlzc3VlcyBvZiByYWNpYWwgYmlhcyBhbmQgZGlzY3JpbWluYXRpb24gd2l0aGluIHNjaWVudGlmaWMgcmVzZWFyY2gsIHByb21wdGluZyB1cyB0byB0YWtlIGFjdGlvbi48L3A+XG5cbjxwPjxzdHJvbmc+Q29tbWl0bWVudCB0byBpbXByb3ZlIGRhdGEgbGFuZHNjYXBlOjwvc3Ryb25nPiBJbiByZXNwb25zZSwgd2UgYXJlIGRldmVsb3BpbmcgYmlsaW5ndWFsIChHZXJtYW4gYW5kIEVuZ2xpc2gpIHN1cnZleXMgdG8gZ2F0aGVyIG1vcmUgaW5jbHVzaXZlIGRhdGEgYW5kIGV4cGFuZCBvdXIgb3V0cmVhY2ggZWZmb3J0cywgZW5zdXJpbmcgYSBicm9hZGVyIHVuZGVyc3RhbmRpbmcgb2YgQ0YgcHJldmFsZW5jZSBhbmQgY2FyZSBuZWVkcy48L3A+XG5cbiAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICApIFxuIH1cbmZ1bmN0aW9uIEFuYWx5c2VXZXN0aG9mZigpe1xuICAgIGNvbnN0IHtnb1RvUGFnZXNBbmRPcGVuVGFifSA9IHVzZU5hdmlnYXRpb24oKTtcbiAgIHJldHVybihcbiAgICA8Q29sbGFwc2libGUgdGl0bGU9XCJLYXRyaW4gV2VzdGhvZmYgXHUyMDEzIFBoeXNpb3RoZXJhcGlzdCBhdCBsb2NhbCBjb21tdW5pdHkgXCIgaWQ9XCJ3ZXN0aG9mZmFuYWx5c2VDXCI+XG4gICAgICAgIDxwPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIgKCd3ZXN0aG9mZmludicsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBLYXRocmluIFdlc3Rob2ZmIGV4cGVydGlzZSA8L2E+ICBpbiBDRiBwaHlzaW90aGVyYXB5IHJlaW5mb3JjZWQgb3VyIGFwcHJvYWNoIHRvIGRldmVsb3AgYW4gaW5oYWxhdGlvbi1iYXNlZCB0aGVyYXB5LCBlc3BlY2lhbGx5IGZvciB5b3VuZyBwYXRpZW50cy4gSGVyIGV4cGVyaWVuY2Ugd2l0aCBjaGlsZHJlbiBoaWdobGlnaHRlZCB0aGUgbmVlZCBmb3IgYSBzaW1wbGUsIGFjY2Vzc2libGUgdHJlYXRtZW50LCBhcyB5b3VuZ2VyIHBhdGllbnRzIG1heSBzdHJ1Z2dsZSB3aXRoIHJlc3BvbnNpYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBpbiB0aGVyYXB5LiBUaGlzIHZhbGlkYXRlZCBvdXIgZGVjaXNpb24gdG8gZm9jdXMgb24gaW5oYWxhdGlvbiBkZWxpdmVyeSBmb3IgZWFzZSBvZiB1c2UuIDwvcD5cbiAgICAgICAgPHA+QWRkaXRpb25hbGx5LCB3ZSByZWNvZ25pemVkIHRocm91Z2ggaGVyIGluc2lnaHRzIHRoYXQgZ2VuZSB0aGVyYXB5LCB3aGlsZSBpbXBhY3RmdWwsIGlzIG5vdCBhIGNvbXBsZXRlIHNvbHV0aW9uLiBQaHlzaW90aGVyYXB5IHJlbWFpbnMgY3J1Y2lhbCBpbiBDRiBjYXJlLCBhbmQgb3VyIGFwcHJvYWNoIG5vdyBpbnRlZ3JhdGVzIHRoaXMgdW5kZXJzdGFuZGluZyBpbnRvIGEgbW9yZSBob2xpc3RpYyB0cmVhdG1lbnQgcGxhbi4gPC9wPlxuICAgICAgICA8ZGl2PjxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2Jlc3VjaC13ZXN0aG9mZi9tYXR0ZS53ZWJwXCIgc3R5bGU9e3toZWlnaHQ6XCI1MCVcIiwgd2lkdGg6XCI1MCVcIn19Lz48L2Rpdj5cbiAgICAgICAgPHA+PHN0cm9uZz5FeHBlcnRpc2UgaW4gQ0YgcGh5c2lvdGhlcmFweTo8L3N0cm9uZz4gUmVpbmZvcmNlZCB0aGUgaW1wb3J0YW5jZSBvZiBkZXZlbG9waW5nIGFuIGluaGFsYXRpb24tYmFzZWQgdGhlcmFweSwgZXNwZWNpYWxseSBmb3IgeW91bmcgQ0YgcGF0aWVudHMuPC9wPlxuXG48cD48c3Ryb25nPkZvY3VzIG9uIGFjY2Vzc2liaWxpdHk6PC9zdHJvbmc+IEhlciBleHBlcmllbmNlIHdpdGggY2hpbGRyZW4gaGlnaGxpZ2h0ZWQgdGhlIG5lZWQgZm9yIGEgc2ltcGxlLCBlYXN5LXRvLXVzZSB0cmVhdG1lbnQsIHZhbGlkYXRpbmcgb3VyIGRlY2lzaW9uIHRvIGZvY3VzIG9uIGluaGFsYXRpb24gZGVsaXZlcnkuPC9wPlxuXG48cD48c3Ryb25nPlRoZXJhcHkgYWRoZXJlbmNlOjwvc3Ryb25nPiBBZGRyZXNzZWQgdGhlIGNoYWxsZW5nZXMgeW91bmdlciBwYXRpZW50cyBmYWNlIHdpdGggcmVzcG9uc2liaWxpdHkgYW5kIGNvbnNpc3RlbmN5IGluIHRoZXJhcHksIGluZmx1ZW5jaW5nIG91ciBkZXNpZ24gZm9yIGEgbW9yZSBhY2Nlc3NpYmxlIHNvbHV0aW9uLjwvcD5cblxuPHA+PHN0cm9uZz5HZW5lIHRoZXJhcHkgbGltaXRhdGlvbnM6PC9zdHJvbmc+IEhlciBpbnNpZ2h0cyBoZWxwZWQgdXMgcmVhbGl6ZSB0aGF0IHdoaWxlIGdlbmUgdGhlcmFweSBpcyBpbXBhY3RmdWwsIGl0IGFsb25lIGlzIG5vdCBlbm91Z2guPC9wPlxuXG48cD48c3Ryb25nPkhvbGlzdGljIGFwcHJvYWNoOjwvc3Ryb25nPiBJbnRlZ3JhdGVkIHBoeXNpb3RoZXJhcHkgaW50byBvdXIgdHJlYXRtZW50IHBsYW4sIGVuc3VyaW5nIGEgbW9yZSBjb21wcmVoZW5zaXZlIGFuZCBwYXRpZW50LWNlbnRlcmVkIGFwcHJvYWNoIHRvIENGIGNhcmUuPC9wPlxuXG4gICAgPC9Db2xsYXBzaWJsZT5cbiAgICkgXG59XG5mdW5jdGlvbiBBYWx5c2VPbGFyaXUoKXtcbiAgICBjb25zdCB7Z29Ub1BhZ2VzQW5kT3BlblRhYn0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gICByZXR1cm4oXG4gICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiUHJvZi4gRHIuIE9sYXJpdSBcdTIwMTMgUGh5c2ljaWFuIGFuZCBDbGluaWNhbCBDRiBFeHBlcnQgXCIgaWQ9XCJvbGFyaXVhbmFseXNlQ1wiPlxuICAgICAgICA8cD5Qcm9mLiBPbGFyaW91J3MgY2xpbmljYWwgaW5zaWdodHMgc2hhcGVkIG91ciBwcm9qZWN0IGJ5IGVtcGhhc2l6aW5nIHRoZSBjb21wbGV4aXRpZXMgb2YgQ0YgdHJlYXRtZW50IGFuZCB0aGUgZW1vdGlvbmFsIGJ1cmRlbiBvbiBwYXRpZW50cyBhbmQgZmFtaWxpZXMuIEhpcyBmb2N1cyBvbiBlYXJseSBkaWFnbm9zaXMsIGluZmVjdGlvbiByaXNrcywgYW5kIHBzeWNob3NvY2lhbCBpbXBhY3RzIGxlZCB1cyB0byBkZXNpZ24gYSBzb2x1dGlvbiB0aGF0IHJlZHVjZXMgdGhlIGxvbmctdGVybSBjYXJlIGJ1cmRlbjwvcD5cbiAgICAgICAgPHA+Rm9sbG93aW5nIGhpcyBhZHZpY2UsIHdlIGNvbnN1bHRlZCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZXNBbmRPcGVuVGFiICgncHN5Y2hvbCcsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBwc3ljaG9sb2dpc3RzIDwvYT4gdG8gaW50ZWdyYXRlIG1lbnRhbCBoZWFsdGggY29uc2lkZXJhdGlvbnMgYW5kIHRhaWxvcmVkIG91ciB0aGVyYXB5IHRvIGFkZHJlc3MgZGlmZmVyZW50IGRpc2Vhc2Ugc2V2ZXJpdGllcy4gUHJvZi4gT2xhcml1IGFsc28gaGlnaGxpZ2h0ZWQgcmFjaWFsIGFuZCBnbG9iYWwgZGlzcGFyaXRpZXMgaW4gQ0YgY2FyZSwgcHJvbXB0aW5nIHVzIHRvIGV4cGxvcmUgdGhlc2UgaXNzdWVzIHRocm91Z2ggZnVydGhlciByZXNlYXJjaCBhbmQgaW50ZXJ2aWV3cy4gPC9wPlxuICAgICAgICA8cD4gPC9wPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9pbnRlZ3JhdGVkLWh1bWFuLXByYWN0aWNlcy9vbi1vdXItd2F5LXRvLWludGVydmlldy1wc3ljaG9sb2dpc3RzLndlYnBcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgPGlmcmFtZSB0aXRsZT1cIkJpZWxlZmVsZC1DZUJpVGVjOiBJbnRlcnZpZXcgd2l0aCBEci4gQ3Jpc3RpYW4tR2FicmllbCBPbGFyaXUgKDIwMjQpIFtHZXJtYW5dXCIgaGVpZ2h0PVwiMzEwcHhcIiB3aWR0aD1cIjUwMHB4XCIgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy92aWRlb3MvZW1iZWQvMGVhNzZiOWMtOWEwZS00ZjU4LTgyMzAtMzFhYjZiMGUwOGQ5XCIgc2FuZGJveD1cImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctcG9wdXBzIGFsbG93LWZvcm1zXCI+PC9pZnJhbWU+IFxuICAgICAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cD5IaXMgZ3VpZGFuY2Ugb24gYmFsYW5jaW5nIHRyZWF0bWVudCBlZmZlY3RpdmVuZXNzIHdpdGggY29zdCBhbmQgb3Zlcm1lZGljYXRpb24gY29uY2VybnMgZW5zdXJlZCBvdXIgcHJvamVjdCByZW1haW5lZCBwYXRpZW50LWNlbnRlcmVkIGFuZCBwcmFjdGljYWwuIFdlIGFsc28gZXhwYW5kZWQgb3VyIG91dHJlYWNoIGVmZm9ydHMsIHJhaXNpbmcgQ0YgYXdhcmVuZXNzIGFuZCBjb2xsZWN0aW5nIHB1YmxpYyBkYXRhIHRvIGFsaWduIG91ciBwcm9qZWN0IHdpdGggY29tbXVuaXR5IG5lZWRzLiA8L3A+IFxuICAgICAgICA8cD48c3Ryb25nPkNvbXBsZXhpdGllcyBvZiBDRiB0cmVhdG1lbnQ6PC9zdHJvbmc+IEVtcGhhc2l6ZWQgdGhlIG11bHRpZmFjZXRlZCBuYXR1cmUgb2YgQ0YgY2FyZSwgaW5jbHVkaW5nIHRoZSBlbW90aW9uYWwgYnVyZGVuIG9uIHBhdGllbnRzIGFuZCBmYW1pbGllcy48L3A+XG5cbjxwPjxzdHJvbmc+RWFybHkgZGlhZ25vc2lzICYgaW5mZWN0aW9uIHJpc2tzOjwvc3Ryb25nPiBGb2N1c2VkIG9uIHRoZSBpbXBvcnRhbmNlIG9mIGVhcmx5IGRldGVjdGlvbiBhbmQgbWFuYWdpbmcgaW5mZWN0aW9uIHJpc2tzLCB3aGljaCBzaGFwZWQgb3VyIHNvbHV0aW9uIHRvIHJlZHVjZSB0aGUgbG9uZy10ZXJtIGNhcmUgYnVyZGVuLjwvcD5cblxuPHA+PHN0cm9uZz5NZW50YWwgaGVhbHRoIGludGVncmF0aW9uOjwvc3Ryb25nPiBSZWNvbW1lbmRlZCBjb25zdWx0aW5nIHBzeWNob2xvZ2lzdHMsIGxlYWRpbmcgdXMgdG8gaW5jb3Jwb3JhdGUgbWVudGFsIGhlYWx0aCBjb25zaWRlcmF0aW9ucyBpbiBvdXIgdGhlcmFweSBhbmQgZGVzaWduIGl0IHRvIGFkZHJlc3MgdmFyeWluZyBkaXNlYXNlIHNldmVyaXRpZXMuPC9wPlxuXG48cD48c3Ryb25nPlJhY2lhbCBhbmQgZ2xvYmFsIGRpc3Bhcml0aWVzOjwvc3Ryb25nPiBIaWdobGlnaHRlZCBpbmVxdWl0aWVzIGluIENGIGNhcmUgYWNyb3NzIGRpZmZlcmVudCBwb3B1bGF0aW9ucywgcHJvbXB0aW5nIHVzIHRvIGV4cGxvcmUgdGhlc2UgaXNzdWVzIHRocm91Z2ggZnVydGhlciByZXNlYXJjaCBhbmQgaW50ZXJ2aWV3cy48L3A+XG5cbjxwPjxzdHJvbmc+QmFsYW5jZSBiZXR3ZWVuIGVmZmVjdGl2ZW5lc3MsIGNvc3QsIGFuZCBvdmVybWVkaWNhdGlvbjo8L3N0cm9uZz4gR3VpZGVkIHVzIGluIGNyZWF0aW5nIGEgdHJlYXRtZW50IHRoYXQgYmFsYW5jZXMgZWZmaWNhY3kgd2l0aCBwcmFjdGljYWwgY29uc2lkZXJhdGlvbnMgbGlrZSBjb3N0IGFuZCBhdm9pZGluZyBvdmVybWVkaWNhdGlvbi48L3A+XG5cbjxwPjxzdHJvbmc+UGF0aWVudC1jZW50ZXJlZCBmb2N1czo8L3N0cm9uZz4gSGlzIGZlZWRiYWNrIGVuc3VyZWQgdGhhdCBvdXIgcHJvamVjdCByZW1haW5lZCBncm91bmRlZCBpbiByZWFsLXdvcmxkIHBhdGllbnQgbmVlZHMsIG1ha2luZyBpdCBib3RoIHByYWN0aWNhbCBhbmQgYWNjZXNzaWJsZS48L3A+XG5cbjxwPjxzdHJvbmc+RXhwYW5kZWQgb3V0cmVhY2ggZWZmb3J0czo8L3N0cm9uZz4gRW5jb3VyYWdlZCB1cyB0byByYWlzZSBhd2FyZW5lc3MgYW5kIGNvbGxlY3QgcHVibGljIGRhdGEsIGhlbHBpbmcgYWxpZ24gb3VyIHByb2plY3Qgd2l0aCB0aGUgYnJvYWRlciBDRiBjb21tdW5pdHlcdTIwMTlzIG5lZWRzLjwvcD5cblxuICAgIDwvQ29sbGFwc2libGU+XG4gICApIFxufVxuXG5mdW5jdGlvbiBBbmFseXNlTWF4KCl7XG4gICAgY29uc3Qge2dvVG9QYWdlc0FuZE9wZW5UYWJ9ID0gdXNlTmF2aWdhdGlvbigpO1xuICAgIHJldHVybihcbiAgICAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiTWF4IEJlY2ttYW5uIFx1MjAxMyBDRiBQYXRpZW50IGFuZCBmZWxsb3cgc3R1ZGVudFwiIGlkPVwibWF4YW5hbHlzZUNcIj5cbiAgICAgICAgICAgIDxwPk1heCdzIGlucHV0IGFzIGEgY3lzdGljIGZpYnJvc2lzIChDRikgcGF0aWVudCBkaXJlY3RseSBpbmZsdWVuY2VkIHNldmVyYWwga2V5IGFzcGVjdHMgb2Ygb3VyIHByb2plY3QuIEFmdGVyIGxlYXJuaW5nIGFib3V0IHRoZSBkYWlseSBjaGFsbGVuZ2VzIG9mIGxpdmluZyB3aXRoIENGLCB3ZSBhZGFwdGVkIG91ciBnZW5lIHRoZXJhcHkgYXBwcm9hY2ggdG8gdGFyZ2V0IHRoZSBsdW5ncywgYWxpZ25pbmcgb3VyIHRyZWF0bWVudCB3aXRoIHBhdGllbnQgbmVlZHMuIEhpcyBpbnNpZ2h0cyBvbiB0aGUgc2hvcnRjb21pbmdzIG9mIGV4aXN0aW5nIHRoZXJhcGllcyBzdHJlbmd0aGVuZWQgb3VyIGZvY3VzIG9uIGRldmVsb3BpbmcgYSBtb3JlIGVmZmVjdGl2ZSBzb2x1dGlvbi48L3A+XG4gICAgICAgICAgICA8cD5Gb2xsb3dpbmcgTWF4J3MgZmVlZGJhY2ssIHdlIGltcGxlbWVudGVkIGNoYW5nZXMgdG8gb3VyIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlc0FuZE9wZW5UYWIgKCdQYXRpZW50IE1hdHRlcnNIJywgJy9jb250cmlidXRpb24nKX0+IGh5Z2llbmUgcGxhbjwvYT4sIGVuc3VyaW5nIGl0IG1lZXRzIHRoZSBuZWVkcyBvZiBpbW11bm9jb21wcm9taXNlZCBpbmRpdmlkdWFscyB3aGljaCB3ZSBsYXRlciBwcmVzZW50ZWQgdG8gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYiAoJ2pvaGFubmZ1bmtlJywgJy9odW1hbi1wcmFjdGljZXMnKX0+IE1yLiBKb2hhbm5mdW5rZTwvYT4sIGNvbnRhY3QgcGVyc29uIGZvciBzdHVkZW50cyB3aXRoIGRpc2FiaWxpdGllcyBhbmQgaW1wYWlybWVudHMgYXQgdGhlIHVuaXZlcnNpdHkgb2YgYmllbGVmZWxkLCBhbmQgY2hlY2tlZCBpdHMgZmVhc2liaWxpdHkuIE1heFx1MjAxOXMgcGVyc3BlY3RpdmUgYWxzbyBzaGFwZWQgdGhlIGNvbnRlbnQgb2Ygb3VyIG91dHJlYWNoIG1hdGVyaWFscywgaGVscGluZyB1cyBwb3J0cmF5IENGIGluIGEgbW9yZSByZWFsaXN0aWMgYW5kIHJlc3BlY3RmdWwgd2F5IGR1cmluZyB0aGUgd2hvbGUgcHJvamVjdC4gPC9wPlxuICAgICAgICAgICAgPHA+QWRkaXRpb25hbGx5LCBNYXggY29udHJpYnV0ZWQgdG8gdGhlIHByb2plY3QgYnkgZG9uYXRpbmcgY2VsbHMgZm9yIG91ciBleHBlcmltZW50cywgd2hpY2ggYWxsb3dlZCB1cyB0byB0ZXN0IG91ciBtb2RlbCBzeXN0ZW1zIGVmZmVjdGl2ZWx5LiBPdXIgb25nb2luZyBjb21tdW5pY2F0aW9uIHdpdGggaGltIGhhcyBlbnN1cmVkIHRoYXQgd2Ugc3RheSBwYXRpZW50LWZvY3VzZWQgdGhyb3VnaG91dCwgY29udGludWFsbHkgcmVmaW5pbmcgb3VyIGFwcHJvYWNoIGJhc2VkIG9uIGhpcyBleHBlcmllbmNlcy4gPC9wPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj4gXG4gICAgXHQgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+IFxuICAgICAgICAgICAgICAgIDxmaWd1cmU+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9pbnRlZ3JhdGVkLWh1bWFuLXByYWN0aWNlcy9tYXgtemVsbHNwZW5kZS53ZWJwXCIgYWx0PVwiQ2VsbCBEb25hdGlvblwiLz4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPkZpZ3VyZSAxLiA8L2I+ICBDZWxsIGRvbmF0aW9uIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9maWdjYXB0aW9uPiBcbiAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+IFxuICAgIFx0ICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gIFxuICAgICAgICAgICAgICAgICAgICA8ZmlndXJlPiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpZnJhbWUgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy93LzNLTk1TdmlUUnZhS3VOelFqeERaN1JcIiB0aXRsZT1cIkJpZWxlZmVsZC1DZUJpVGVjOiBJbnRlcnZpZXcgd2l0aCBNYXggQmVja21hbm4gKDIwMjQpIFtFbmdsaXNoXVwiIHdpZHRoPVwiNTAwcHhcIiBoZWlnaHQ9XCIzMTVcIi8+IFxuICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxwPjxzdHJvbmc+SW52YWx1YWJsZSBmaXJzdC1oYW5kIGluc2lnaHRzOjwvc3Ryb25nPiBQcm92aWRlZCBkaXJlY3QgZXhwZXJpZW5jZSBvZiBsaXZpbmcgd2l0aCBDRiwgc2hhcGluZyBvdXIgcHJvamVjdC48L3A+XG5cbjxwPjxzdHJvbmc+SHlnaWVuZSBhbmQgbWVkaWNhbCBuZWVkczo8L3N0cm9uZz4gSGlnaGxpZ2h0ZWQgdGhlIGltcG9ydGFuY2Ugb2YgY29uc3RhbnQgaHlnaWVuZSwgZnJlcXVlbnQgbWVkaWNhbCBjaGVja3VwcywgYW5kIHRoZSB2YXJpYWJpbGl0eSBpbiBDRiBzeW1wdG9tcy48L3A+XG5cbjxwPjxzdHJvbmc+TmVlZCBmb3IgZmxleGlibGUgc29sdXRpb25zOjwvc3Ryb25nPiBTdHJlc3NlZCB0aGUgbmVlZCBmb3IgcGF0aWVudC1jZW50ZXJlZCwgYWRhcHRhYmxlIHRoZXJhcGllcy48L3A+XG5cbjxwPjxzdHJvbmc+R2VuZSB0aGVyYXB5IGZvY3VzOjwvc3Ryb25nPiBTdXBwb3J0ZWQgb3VyIGZvY3VzIG9uIGdlbmUgdGhlcmFweSB0YXJnZXRpbmcgdGhlIGx1bmdzIGR1ZSB0byBjdXJyZW50IHRyZWF0bWVudCBpbmFkZXF1YWNpZXMuPC9wPlxuXG48cD48c3Ryb25nPk91dHJlYWNoIGluZmx1ZW5jZTo8L3N0cm9uZz4gQ29udGludWFsbHkgcHJvdmlkZWQgZmVlZGJhY2sgb24gaG93IENGIGlzIHBvcnRyYXllZCBpbiBvdXRyZWFjaCBtYXRlcmlhbHMsIGluZmx1ZW5jaW5nIG91ciBoeWdpZW5lIHBsYW4gYW5kIHByZXNlbnRhdGlvbiB2aWRlby48L3A+XG5cbjxwPjxzdHJvbmc+RGVlcGVuZWQgZW1vdGlvbmFsIHVuZGVyc3RhbmRpbmc6PC9zdHJvbmc+IEhlbHBlZCB1cyBkZXZlbG9wIGVtb3Rpb25hbCBpbnRlbGxpZ2VuY2UgcmVnYXJkaW5nIHRoZSBidXJkZW5zIENGIHBhdGllbnRzIGZhY2UsIGVuaGFuY2luZyBvdXIgc2NpZW5jZSBjb21tdW5pY2F0aW9uIGVmZm9ydHMuPC9wPlxuXG48cD48c3Ryb25nPlRoZXJhcHkgYWxpZ25tZW50Ojwvc3Ryb25nPiBHdWlkZWQgdXMgaW4gZm9jdXNpbmcgb3VyIHRoZXJhcHkgb24gc3BlY2lmaWMgQ0YgbXV0YXRpb25zLCBlbnN1cmluZyBhIGh1bWFuLWNlbnRlcmVkIGFwcHJvYWNoLjwvcD5cblxuPHA+PHN0cm9uZz5Db21tdW5pdHkgYWNjZXNzOjwvc3Ryb25nPiBQcm92aWRlZCBhY2Nlc3MgdG8gdmFyaW91cyBDRiBjb21tdW5pdGllcywgaW5mbHVlbmNpbmcgdGhlIGRpcmVjdGlvbiBvZiBvdXIgcHJvamVjdC48L3A+XG5cbjxwPjxzdHJvbmc+Q2VsbCBkb25hdGlvbjo8L3N0cm9uZz4gRG9uYXRlZCBjZWxscyBmb3IgY3J1Y2lhbCBtb2RlbCBleHBlcmltZW50czsgd2Ugc3VjY2Vzc2Z1bGx5IGN1bHR1cmVkIHRoZXNlIGNlbGxzIGZvciB0ZXN0aW5nLjwvcD5cblxuPHA+PHN0cm9uZz5PbmdvaW5nIGNvbGxhYm9yYXRpb246PC9zdHJvbmc+IFJlZ3VsYXIgZmVlZGJhY2ssIGluY2x1ZGluZyBvbiBhc3BlY3RzIGxpa2UgaHlnaWVuZSBwcm90b2NvbHMsIGVuc3VyaW5nIHRoZSBwcm9qZWN0IHJlbWFpbnMgZ3JvdW5kZWQgaW4gcmVhbC13b3JsZCBwYXRpZW50IG5lZWRzLjwvcD5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgIClcbn0iLCAiXG5pbXBvcnQgKiBhcyBHcmFwaCBmcm9tICcuLi8uLi9jb21wb25lbnRzL0dyYXBoJztcbmltcG9ydCB7IEg0LCBINSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvSGVhZGluZ3MnO1xuaW1wb3J0IHsgQ29sbGFwc2libGUgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9Db2xsYXBzaWJsZVwiO1xuaW1wb3J0IFByZUN5c2UgZnJvbSAnLi4vLi4vY29tcG9uZW50cy9wcmVjeXNlJztcbmltcG9ydCB7IEhQY29uVGFicyB9IGZyb20gJy4vQ29uY2xpc3Vpbic7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gSFBGZWVkYmFjaygpe1xuICAgIGNvbnN0IHtnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpOyBcbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8cD5UaHJvdWdoIG91ciBwcm9qZWN0LCB0aGUgaW5zaWdodHMgYW5kIGZlZWRiYWNrIGZyb20gdmFyaW91cyBzdGFrZWhvbGRlcnMgYW5kIGV4cGVydHMgcGxheWVkIGEgY3J1Y2lhbCByb2xlIGluIHNoYXBpbmcgYW5kIHJlZmluaW5nIG91ciBhcHByb2FjaC4gV2UgYWN0aXZlbHkgaW50ZWdyYXRlZCB0aGVpciBpbnB1dCBpbnRvIHRoZSBkZXNpZ24sIGV4ZWN1dGlvbiwgYW5kIHB1YmxpYyBlbmdhZ2VtZW50IGFzcGVjdHMgb2Ygb3VyIHdvcmssIGVuc3VyaW5nIGEgaHVtYW4tY2VudGVyZWQsIHNjaWVudGlmaWNhbGx5IHNvdW5kIHNvbHV0aW9uLiBCZWxvdywgd2UgaGlnaGxpZ2h0IGtleSBjb250cmlidXRvcnMgYW5kIGhvdyB0aGVpciBmZWVkYmFjayBpbXBhY3RlZCB0aGUgcHJvamVjdCdzIGRldmVsb3BtZW50IGFjcm9zcyBtdWx0aXBsZSBwaGFzZXMuIDwvcD5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPEg0IHRleHQ9XCJPdXIgc3VydmV5cyBvbiBjeXN0aWMgZmlicm9zaXMgYW5kIGdlbmUgdGhlcmFweVwiPjwvSDQ+XG4gICAgICAgICAgICA8cD5Gcm9tIG91ciBvdXRyZWFjaCBlZmZvcnRzLCB3ZSBsZWFybmVkIHRoYXQgbWFueSBwZW9wbGUgbGFjayBrbm93bGVkZ2UgYWJvdXQgY3lzdGljIGZpYnJvc2lzIGFuZCBkZXNpcmUgbW9yZSBlZHVjYXRpb24gb24gdGhlIHN1YmplY3QuIFRoZSBzYW1lIGFwcGxpZXMgdG8gZ2VuZSB0aGVyYXB5LCB3aXRoIG1vc3QgaW5kaXZpZHVhbHMgZXhwcmVzc2luZyBvcGVubmVzcyB0byB0cmVhdG1lbnQgb3B0aW9ucywgd2hpY2ggcmVpbmZvcmNlcyBvdXIgY29tbWl0bWVudCB0byBwdXJzdWluZyB0aGlzIGFwcHJvYWNoLiA8L3A+XG4gICAgICAgICAgICA8cD5Ib3dldmVyLCB3ZSByZWNvZ25pemUgdGhlIGltcG9ydGFuY2Ugb2YgaGFuZGxpbmcgdGhlIHB1YmxpYydzIHRydXN0IGFuZCBsYWNrIG9mIGtub3dsZWRnZSByZXNwb25zaWJseS4gV2UgYWltIHRvIGVkdWNhdGUgdGhlIGNvbW11bml0eSBhYm91dCBzYWZldHkgYW5kIGV0aGljYWwgY29uc2lkZXJhdGlvbnMgc3Vycm91bmRpbmcgZ2VuZSB0aGVyYXB5LiA8L3A+XG4gICAgICAgICAgICA8cD5JbiByZXNwb25zZSwgd2UgaGF2ZSBkZWNpZGVkIHRvIGltcGxlbWVudCBmZWVkYmFjayBieSBjcmVhdGluZyBpbmZvcm1hdGl2ZSBtYXRlcmlhbHMgc3VjaCBhcyBmbHllcnMgYW5kIHV0aWxpemluZyBwbGF0Zm9ybXMgbGlrZSA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3RhYklkOiAnbXVrb21vdmUnLCBzY3JvbGxUb0lkOiBcImNmLW1vbnRoXCIgLCBwYXRoOiAnL2h1bWFuLXByYWN0aWNlcyd9KX0+bXVrb01PVkU8L2E+LCA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3RhYklkOiAndGV1dG9ydWZ0Jywgc2Nyb2xsVG9JZDogXCJ0ZXVyb3J1ZnQtaGVhZGluZ1wiICwgcGF0aDogJy9odW1hbi1wcmFjdGljZXMnfSl9Plx1MjAxRFRldXRvIHJ1ZnQhXHUyMDFEPC9hPiwgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHt0YWJJZDogJ2FrYWRlbWllJywgc2Nyb2xsVG9JZDogXCJzdHVkZW50LWFjYWRlbXktaGVhZGluZ1wiICwgcGF0aDogJy9odW1hbi1wcmFjdGljZXMnfSl9PlNjaFx1MDBGQ2xlcklubmVuYWthZGVtaWU8L2E+LCBhbmQgPGEgaHJlZj0naHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9pZ2VtLmJpZWxlZmVsZC8/aGw9ZGUnPnNvY2lhbCBtZWRpYTwvYT4gdG8gcmFpc2UgYXdhcmVuZXNzIGFuZCBwcm92aWRlIGVkdWNhdGlvbi4gPC9wPlxuICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHguPC9iPiBDYXB0aW9uIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHguPC9iPiBDYXB0aW9uIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJcIiBhbHQ9XCJcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIHguPC9iPiBDYXB0aW9uIDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPHA+PHN0cm9uZz5MYWNrIG9mIGtub3dsZWRnZSBhYm91dCBDRjo8L3N0cm9uZz4gTWFueSBwZW9wbGUgYXJlIHVuZmFtaWxpYXIgd2l0aCBjeXN0aWMgZmlicm9zaXMgYW5kIGV4cHJlc3NlZCBhIG5lZWQgZm9yIG1vcmUgZWR1Y2F0aW9uIG9uIHRoZSBzdWJqZWN0LjwvcD5cblxuPHA+PHN0cm9uZz5HZW5lIHRoZXJhcHkgb3Blbm5lc3M6PC9zdHJvbmc+IE1vc3QgaW5kaXZpZHVhbHMgc2hvd2VkIG9wZW5uZXNzIHRvIGdlbmUgdGhlcmFweSB0cmVhdG1lbnRzLCByZWluZm9yY2luZyBvdXIgY29tbWl0bWVudCB0byBwdXJzdWluZyB0aGlzIHRoZXJhcGV1dGljIGFwcHJvYWNoLjwvcD5cblxuPHA+PHN0cm9uZz5CdWlsZGluZyBwdWJsaWMgdHJ1c3Q6PC9zdHJvbmc+IFJlY29nbml6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgaGFuZGxpbmcgdGhlIHB1YmxpYydzIHRydXN0IGFuZCBhZGRyZXNzaW5nIHRoZSBrbm93bGVkZ2UgZ2FwIGFib3V0IGdlbmUgdGhlcmFweSBpbiBhIHJlc3BvbnNpYmxlIGFuZCB0cmFuc3BhcmVudCBtYW5uZXIuPC9wPlxuXG48cD48c3Ryb25nPkVkdWNhdGlvbiBhbmQgZXRoaWNhbCBjb25zaWRlcmF0aW9uczo8L3N0cm9uZz4gQ29tbWl0dGVkIHRvIGVkdWNhdGluZyB0aGUgcHVibGljIG9uIHNhZmV0eSBhbmQgZXRoaWNhbCBhc3BlY3RzIG9mIGdlbmUgdGhlcmFweSB0byBmb3N0ZXIgdW5kZXJzdGFuZGluZyBhbmQgdHJ1c3QuPC9wPlxuXG48cD48c3Ryb25nPkltcGxlbWVudGF0aW9uIG9mIGZlZWRiYWNrOjwvc3Ryb25nPiBDcmVhdGVkIGluZm9ybWF0aXZlIG1hdGVyaWFscyAoZmx5ZXJzKSBhbmQgZXhwYW5kZWQgb3V0cmVhY2ggdGhyb3VnaCBwbGF0Zm9ybXMgbGlrZSBNdWtvIE1vdmUsIFRldXRvIHJ1ZnQsIFNjaFx1MDBGQ2xlcklubmVuYWthZGVtaWUsIGFuZCBzb2NpYWwgbWVkaWEgdG8gaW5jcmVhc2UgYXdhcmVuZXNzIGFuZCBwcm92aWRlIGVkdWNhdGlvbi48L3A+XG5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPENvbGxhcHNpYmxlIGlkPVwiY29sbGFwc2libGUxXCIgb3Blbj17ZmFsc2V9IHRpdGxlPVwiRnVsbCByZXN1bHRzIG9mIG91ciBzdXJ2ZXlzXCI+XG4gICAgICAgICAgICAgICAgPHA+IFdlIGFyZSBwcm91ZCBvZiBvdXIgc3VydmV5cyBvbiBnZW5lIHRoZXJhcHkgYW5kIGN5c3RpYyBmaWJyb3NpcyAoQ0YpLCB3aGljaCBleHBsb3JlIGtub3dsZWRnZSBhYm91dCB0aGUgZGlzZWFzZSBhbmQgd2lsbGluZ25lc3MgdG8gZW1icmFjZSBnZW5lIFxuICAgICAgICAgICAgICAgICAgICB0aGVyYXB5IGFzIGEgcG90ZW50aWFsIHRyZWF0bWVudC4gU2luY2Ugd2Ugd2FudGVkIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiB0aGUgZ2VuZXJhbCBwdWJsaWMgYW5kIGFmZmVjdGVkIENGIHBhdGllbnRzLCB3ZSBjcmVhdGVkIHR3byBkaWZmZXJlbnQgXG4gICAgICAgICAgICAgICAgICAgIHN1cnZleXMuIDE4NyBwZW9wbGUgcGFydGlwaXBhdGVkIGluIHRoZSBzdXJ2ZXkgZm9yIHRoZSBnZW5lcmFsIHB1YmxpYyBhbmQgMTg1IHBlb3BsZSBwYXJ0aWNpcGF0ZWQgaW4gdGhlIHN1cnZleSBmb3IgcGF0aWVudHMgYW5kIG5leHQgb2Yga2luLjwvcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cgZ3JhcGhzJyA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEdyYXBoLkhvd09mdGVuVHJlYXRtZW50YXRpZW50cy8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEdyYXBoLk9wZW5Ub0dlbmVUaGVyYXB5YXRpZW50cy8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEdyYXBoLk1vcmVJbmZvT25UaGVyYXB5Qm90aC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPHA+VGhlIG1ham9yaXR5IG9mIHJlc3BvbmRlbnRzICg2Mi43MCUpIGluZGljYXRlZCB0aGF0IHRoZXkgb3IgdGhlaXIgcmVsYXRpdmUgcmVxdWlyZSBtZWRpY2FsIHRyZWF0bWVudCBvciB0aGVyYXB5IGRhaWx5LiBXZWVrbHkgdHJlYXRtZW50IHdhcyBuZWNlc3NhcnkgZm9yIDE0LjU5JSwgd2hpbGUgOS43MyUgbmVlZGVkIHRoZXJhcHkgc2V2ZXJhbCB0aW1lcyBwZXIgd2Vlay4gT25seSA2LjQ5JSByZXBvcnRlZCBuZWVkaW5nIHRyZWF0bWVudCBlaXRoZXIgbW9udGhseSBvciByYXJlbHkuIFRoZSBoaWdoIGZyZXF1ZW5jeSBvZiBkYWlseSB0cmVhdG1lbnRzIGhpZ2hsaWdodHMgdGhlIGhlYXZ5IGJ1cmRlbiBvZiBtYW5hZ2luZyBjeXN0aWMgZmlicm9zaXMgYW5kIHJlaW5mb3JjZXMgdGhlIHBvdGVudGlhbCBhcHBlYWwgb2YgZ2VuZSB0aGVyYXB5LCB3aGljaCBjb3VsZCByZWR1Y2UgdGhlIG5lZWQgZm9yIGNvbnN0YW50IG1lZGljYWwgaW50ZXJ2ZW50aW9uLiA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gICAgXG4gICAgICAgICAgICAgICAgICAgIDxwPkEgc2lnbmlmaWNhbnQgbWFqb3JpdHksIDc4LjcyJSwgaW5kaWNhdGVkIHRoYXQgdGhleSB3b3VsZCBiZSBvcGVuIHRvIGdlbmUgdGhlcmFweSBpZiBpdCBzaWduaWZpY2FudGx5IGltcHJvdmVkIHN5bXB0b21zLCB3aGlsZSBvbmx5IDEuNDIlIHNhaWQgbm8uIFRoaXMgb3ZlcndoZWxtaW5nIHN1cHBvcnQgYWxpZ25zIHdpdGggdGhlIGhvcGUgcGF0aWVudHMgaGF2ZSBmb3IgbGVzcyBpbnZhc2l2ZSBhbmQgbW9yZSBlZmZlY3RpdmUgdHJlYXRtZW50cy4gVGhpcyBhbHNvIHJlZmxlY3RzIHRoZSBwb3NzaWJpbGl0eSBvZiBnZW5lIHRoZXJhcHkgYmVjb21pbmcgYSBjZW50cmFsIHRyZWF0bWVudCBtZXRob2QsIGVzcGVjaWFsbHkgZ2l2ZW4gdGhlIGhlYXZ5IHRoZXJhcGV1dGljIGxvYWQgQ0YgcGF0aWVudHMgYWxyZWFkeSBjYXJyeS48L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gXG4gICAgICAgICAgICAgICAgICAgIDxwPkEgdmFzdCBtYWpvcml0eSwgOTMuNDglLCBleHByZXNzZWQgaW50ZXJlc3QgaW4gbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBnZW5lIHRoZXJhcHkuIFRoaXMgbWlycm9ycyB0aGUgZ2VuZXJhbCBwdWJsaWNcdTIwMTlzIGRlc2lyZSBmb3IgZnVydGhlciBlZHVjYXRpb24gYW5kIHN1Z2dlc3RzIHRoYXQgd2hpbGUgdGhlcmUgaXMgc3Ryb25nIHN1cHBvcnQgZm9yIGdlbmUgdGhlcmFweSwgcGVvcGxlIHN0aWxsIGZlZWwgdGhleSBsYWNrIHN1ZmZpY2llbnQga25vd2xlZGdlIHRvIG1ha2UgZnVsbHkgaW5mb3JtZWQgZGVjaXNpb25zLiBQYXRpZW50cyBlc3BlY2lhbGx5IGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2Ygc2FmZXR5IGFuZCBsb25nLXRlcm0gZWZmaWNhY3ksIGFyZWFzIHRoYXQgc2hvdWxkIGJlIGZvY2FsIHBvaW50cyBpbiBmdXR1cmUgY29tbXVuaWNhdGlvbnMuIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkNvbmNsdWRpbmcgdGhvdWdodHMgXCI+PC9INT5cbiAgICAgICAgICAgICAgICA8cD5UaGUgc3VydmV5cyB3aXRoIGJvdGggdGhlIGdlbmVyYWwgcHVibGljIGFuZCBDRiBwYXRpZW50cyBzaG93IHByb21pc2luZyBvcGVubmVzcyB0b3dhcmRzIGdlbmUgdGhlcmFweSwgdGhvdWdoIGNvbmNlcm5zIGFib3V0IHNhZmV0eSBhbmQgbG9uZy10ZXJtIGVmZmVjdHMgcmVtYWluLiBFbW90aW9uYWwgc3RyZXNzIHdhcyBoaWdobGlnaHRlZCBhcyBhIGdyZWF0ZXIgYnVyZGVuIHRoYW4gcGh5c2ljYWwgc3ltcHRvbXMsIHJlaW5mb3JjaW5nIHRoZSBhcHBlYWwgb2YgZ2VuZSB0aGVyYXB5IHRvIHJlZHVjZSBib3RoIHBoeXNpY2FsIGFuZCBlbW90aW9uYWwgY2hhbGxlbmdlcy4gTW9zdCBwYXRpZW50cyByZXF1aXJlIGRhaWx5IG9yIGZyZXF1ZW50IHRoZXJhcGllcyBsaWtlIG1lZGljYXRpb24sIHBoeXNpb3RoZXJhcHksIGFuZCBpbmhhbGF0aW9uLCBtYWtpbmcgYSBsZXNzIGZyZXF1ZW50IG9yIGV2ZW4gb25lLXRpbWUgZ2VuZSB0aGVyYXB5LCBhcyBwcm9wb3NlZCBpbiBvdXIgcmVzZWFyY2gsIGhpZ2hseSBhdHRyYWN0aXZlLiBQYXJ0aWNpcGFudHMgYWRkZWQgY29tbWVudHMgc3VjaCBhcyA8c3Ryb25nPlx1MjAxQ1RoZSBkcmVhbSBvZiBoZWFsaW5nIHN0aWxsIGV4aXN0cyFcdTIwMUQ8L3N0cm9uZz4sIGVuY291cmFnaW5nIHVzIGluIG91ciByZXNlYXJjaC48L3A+XG4gICAgICAgICAgICAgICAgPHA+Qm90aCBncm91cHMgYXJlIHJlYWR5IGZvciBnZW5lIHRoZXJhcHksIHdpdGggcGF0aWVudHMgc2hvd2luZyBmZXdlciBcIm5vIGNvbmNlcm5zLFwiIGxpa2VseSBkdWUgdG8gdGhlaXIgZmFtaWxpYXJpdHkgd2l0aCByaXNrcyBhbmQgb2ZmLXRhcmdldCBlZmZlY3RzLiBUaGlzIHVuZGVyc2NvcmVzIHRoZSBpbXBvcnRhbmNlIG9mIG91ciBmb2N1cyBvbiBzYWZldHkgYW5kIHByZWNpc2lvbiB0byBtaW5pbWl6ZSByaXNrcy4gT3VyIHJlc2VhcmNoIGlzIGRlc2lnbmVkIHRvIGFkZHJlc3MgdGhlc2UgY29uY2VybnMgdGhyb3VnaCB0YXJnZXRlZCBhcHByb2FjaGVzIFx1MjAxMyA8c3Ryb25nPndlIGFyZSA8UHJlQ3lzZS8+ITwvc3Ryb25nPjwvcD5cbiAgICAgICAgICAgICAgICA8cD5BZGRpdGlvbmFsbHksIHRoZXJlXHUyMDE5cyBhIGNsZWFyIGRlbWFuZCBmb3IgbW9yZSBpbmZvcm1hdGlvbiwgZXNwZWNpYWxseSB2aWEgcGxhdGZvcm1zIGxpa2UgVFYsIHNvY2lhbCBtZWRpYSwgYW5kIHRoZSBpbnRlcm5ldC4gVGFyZ2V0ZWQgZWR1Y2F0aW9uYWwgY2FtcGFpZ25zIHRocm91Z2ggdGhlc2UgY2hhbm5lbHMgd2lsbCBiZSBjcnVjaWFsIHRvIGluY3JlYXNlIGF3YXJlbmVzcyBhbmQgdW5kZXJzdGFuZGluZywgaGVscGluZyB0byBidWlsZCBvbiB0aGUgZXhpc3Rpbmcgb3B0aW1pc20gYW5kIGZvc3RlciBncmVhdGVyIGFjY2VwdGFuY2Ugb2YgZ2VuZSB0aGVyYXB5LCBsaWtlIHdlIGRvIGluIG91ciB2YXJpb3VzIHB1YmxpYyBvdXRyZWFjaCBlZmZvcnRzIGZvciBzY2llbmNlIGNvbW11bmljYXRpb24uPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIkRldGFpbGVkIEFuYWx5c2lzXCI+PC9INT5cbiAgICAgICAgICAgIDxkZXRhaWxzPlxuICAgICAgICAgICAgICAgIDxzdW1tYXJ5PkNsaWNrIHRvIHNlZTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICA8RGV0YWlsZWRBbmFseXNpcy8+XG4gICAgICAgICAgICA8L2RldGFpbHM+XG5cbiAgICAgICAgICAgICAgICA8L0NvbGxhcHNpYmxlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8SDQgdGV4dD1cIlN0YWtlaG9sZGVyIEFuYWx5c2VzXCI+PC9IND5cbiAgICAgICAgICAgIDxIUGNvblRhYnMvPlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cblxuZnVuY3Rpb24gRGV0YWlsZWRBbmFseXNpcygpe1xuXG4gICAgcmV0dXJuKFxuICAgICAgICA8PlxuICAgICAgICBcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguV2hvQWZmZWN0ZWRhdGllbnRzLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sLTQnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5Ib3dEaWRZb3VMZWFyblB1YmxpYy8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyYXBoLkhlYXJkT2ZDRlB1YmxpYy8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+NTYuNzYlIG9mIHJlc3BvbmRlbnRzIHJlcG9ydGVkIHRoYXQgdGhleSBhcmUgcmVsYXRlZCB0byBzb21lb25lIHdpdGggQ0YsIHdoaWxlIDQzLjI0JSBzdGF0ZWQgdGhleSBhcmUgYWZmZWN0ZWQgYnkgQ0YgdGhlbXNlbHZlcy4gVGhpcyBsaWtlbHkgcmVmbGVjdHMgdGhlIGZhY3QgdGhhdCBtYW55IHBhcmVudHMgY29tcGxldGVkIHRoZSBzdXJ2ZXkgb24gYmVoYWxmIG9mIHRoZWlyIGNoaWxkcmVuLCBhcyBDRiBpcyB0eXBpY2FsbHkgZGlhZ25vc2VkIGF0IGEgeW91bmcgYWdlLiBUaGUgaGlnaCBpbnZvbHZlbWVudCBvZiBwYXJlbnRzIHVuZGVyc2NvcmVzIGhvdyB0aGUgZGlzZWFzZSBpbXBhY3RzIG5vdCBqdXN0IHRoZSBwYXRpZW50cyB0aGVtc2VsdmVzIGJ1dCBhbHNvIHRoZWlyIGZhbWlsaWVzLCB3aG8gYXJlIGRlZXBseSBpbnZvbHZlZCBpbiB0aGUgZGF5LXRvLWRheSBtYW5hZ2VtZW50IG9mIENGLiBUaGlzIGhpZ2hsaWdodHMgdGhlIGltcG9ydGFuY2Ugb2YgY29uc2lkZXJpbmcgYm90aCB0aGUgcGVyc3BlY3RpdmVzIG9mIHlvdW5nIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcyB3aGVuIGRpc2N1c3NpbmcgZ2VuZSB0aGVyYXB5IGFuZCBDRiB0cmVhdG1lbnRzLCBhcyBwYXJlbnRzIG9mdGVuIHBsYXkgYSBjcml0aWNhbCByb2xlIGluIGRlY2lzaW9uLW1ha2luZyByZWdhcmRpbmcgbmV3IHRyZWF0bWVudCBvcHRpb25zLjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+ODIuODklIG9mIHJlc3BvbmRlbnRzIGhhdmUgaGVhcmQgb2YgY3lzdGljIGZpYnJvc2lzLCB3aGlsZSAxNy4xMSUgaGFkIG5vdC4gVGhlIGhpZ2ggbGV2ZWwgb2YgYXdhcmVuZXNzIGFib3V0IENGIHN1Z2dlc3RzIHRoYXQgdGhlIGdlbmVyYWwgcHVibGljIGlzIHJlbGF0aXZlbHkgaW5mb3JtZWQgYWJvdXQgdGhlIGNvbmRpdGlvbiwgcG9zc2libHkgZHVlIHRvIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBkaXNlYXNlIHRocm91Z2ggbWVkaWEsIGhlYWx0aCBjYW1wYWlnbnMsIG9yIHBlcnNvbmFsIGNvbm5lY3Rpb25zIHRvIGFmZmVjdGVkIGluZGl2aWR1YWxzLiBIb3dldmVyLCB0aGUgMTclIHVuZmFtaWxpYXIgd2l0aCBDRiBpbmRpY2F0ZXMgdGhhdCBmdXJ0aGVyIG91dHJlYWNoIGlzIG5lY2Vzc2FyeSwgcGFydGljdWxhcmx5IGZvY3VzaW5nIG9uIHRoaXMgZGVtb2dyYXBoaWMgdG8gc3ByZWFkIGtub3dsZWRnZSBhYm91dCB0aGUgZGlzZWFzZSBhbmQgcG90ZW50aWFsIHRyZWF0bWVudHMsIGluY2x1ZGluZyBnZW5lIHRoZXJhcHkuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgbWFqb3JpdHkgb2YgcmVzcG9uZGVudHMgKDQ0LjE3JSkgbGVhcm5lZCBhYm91dCBDRiB0aHJvdWdoIG1lZGlhIGNoYW5uZWxzLCBzdWNoIGFzIHRlbGV2aXNpb24sIG5ld3MsIG9yIHRoZSBpbnRlcm5ldC4gT3RoZXIgc2lnbmlmaWNhbnQgc291cmNlcyBvZiBpbmZvcm1hdGlvbiBpbmNsdWRlIGZhbWlseSBhbmQgZnJpZW5kcyAoMjUuMTUlKSwgYXMgd2VsbCBhcyBlZHVjYXRpb25hbCBpbnN0aXR1dGlvbnMgKDIwLjg2JSkuIEludGVyZXN0aW5nbHksIG9ubHkgMy42OCUgb2YgcmVzcG9uZGVudHMgbGVhcm5lZCBhYm91dCBDRiBmcm9tIGhlYWx0aGNhcmUgcHJvdmlkZXJzLCBzdWdnZXN0aW5nIHRoYXQgdGhlIGRpc2Vhc2UgaXMgbW9yZSBjb21tb25seSB1bmRlcnN0b29kIHRocm91Z2ggZXh0ZXJuYWwgc291cmNlcyByYXRoZXIgdGhhbiBkaXJlY3QgbWVkaWNhbCBlZHVjYXRpb24uIFRoaXMgcmVsaWFuY2Ugb24gbWVkaWEgYW5kIHBlcnNvbmFsIGNvbm5lY3Rpb25zIGhpZ2hsaWdodHMgdGhlIGltcG9ydGFuY2Ugb2YgYWNjdXJhdGUgYW5kIGFjY2Vzc2libGUgaW5mb3JtYXRpb24gaW4gdGhlIHB1YmxpYyBkb21haW4sIGVzcGVjaWFsbHkgd2hlbiBjb25zaWRlcmluZyB0aGUgaW50cm9kdWN0aW9uIG9mIGdlbmUgdGhlcmFweSBhcyBhIHRyZWF0bWVudCBvcHRpb24uIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguQWdlRGlhZ25vc2lzYXRpZW50cy8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyYXBoLkhvd011Y2hEb2VzSXRBZmZlY3RZb3VhdGllbnRzLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguV2hpY2hTeW1wdG9tc2F0aWVudHMvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+MjYuMjMlIG9mIHJlc3BvbmRlbnRzIGluZGljYXRlZCB0aGF0IENGIHdhcyBkaWFnbm9zZWQgZWl0aGVyIHRocm91Z2ggbmV3Ym9ybiBzY3JlZW5pbmcgb3IgYmV0d2VlbiB0aGUgYWdlcyBvZiAxIGFuZCAxMC4gQW5vdGhlciAyMS44NiUgcmVwb3J0ZWQgZGlhZ25vc2lzIGEgZmV3IG1vbnRocyBhZnRlciBiaXJ0aCwgYW5kIDE4LjAzJSB3ZXJlIGRpYWdub3NlZCBhYm91dCBvbmUgd2VlayBhZnRlciBiaXJ0aC4gVGhpcyBoaWdobGlnaHRzIHRoZSBlYXJseSBkZXRlY3Rpb24gb2YgQ0YsIG9mdGVuIHJlcXVpcmluZyBsaWZlbG9uZyBtYW5hZ2VtZW50LCB3aGljaCBjYW4gYmUgZW1vdGlvbmFsbHkgY2hhbGxlbmdpbmcgZm9yIGZhbWlsaWVzLiBFYXJseSBkaWFnbm9zaXMgaW5jcmVhc2VzIHRoZSBhcHBlYWwgb2YgdHJlYXRtZW50cyBsaWtlIGdlbmUgdGhlcmFweSwgd2hpY2ggY291bGQgb2ZmZXIgbG9uZy10ZXJtIGJlbmVmaXRzIHdpdGggZmV3ZXIgaW50ZXJ2ZW50aW9ucy48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD40Mi4xNiUgb2YgcmVzcG9uZGVudHMgcmF0ZWQgdGhlIGltcGFjdCBvZiBjeXN0aWMgZmlicm9zaXMgb24gZGFpbHkgbGlmZSBhcyBhIDMgb3V0IG9mIDUsIGluZGljYXRpbmcgYSBtb2RlcmF0ZSBlZmZlY3QuIEFkZGl0aW9uYWxseSwgMzIuOTclIHJhdGVkIHRoZSBpbXBhY3QgYXMgYSAyLCB3aGlsZSAxMi40MyUgcmF0ZWQgaXQgYXMgYSA0LiBPbmx5IDQuMzIlIG9mIHJlc3BvbmRlbnRzIGZlbHQgdGhhdCBDRiBoYWQgYSB2ZXJ5IHN0cm9uZyBpbXBhY3QgKHJhdGluZyBpdCBhIDUpLCBhbmQgOC4xMSUgcmF0ZWQgaXQgYSAxLCBzdWdnZXN0aW5nIGxpdHRsZSB0byBubyBkYWlseSBlZmZlY3QuIFRoZXNlIHJlc3VsdHMgaW5kaWNhdGUgdGhhdCBmb3IgbWFueSBwYXRpZW50cyBhbmQgZmFtaWxpZXMsIENGIGhhcyBhIG5vdGFibGUgYnV0IHZhcmllZCBpbXBhY3Qgb24gZGFpbHkgbGlmZSwgcmVpbmZvcmNpbmcgdGhlIGltcG9ydGFuY2Ugb2YgdHJlYXRtZW50cyBsaWtlIGdlbmUgdGhlcmFweSB0aGF0IGNvdWxkIGFsbGV2aWF0ZSB0aGUgYnVyZGVuLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGlzIGNoYXJ0IHNob3dzIHRoYXQgMjMuMTklIG9mIHJlc3BvbmRlbnRzIGlkZW50aWZpZWQgYWJkb21pbmFsIHBhaW4gYXMgdGhlIG1vc3QgZnJlcXVlbnQgc3ltcHRvbSwgZm9sbG93ZWQgYnkgY2hyb25pYyBjb3VnaCAoMTguOTUlKSBhbmQgZnJlcXVlbnQgbHVuZyBpbmZlY3Rpb25zICgxMy43MiUpLiBJbnRlcmVzdGluZ2x5LCBzeW1wdG9tcyBsaWtlIG11c2NsZSB3ZWFrbmVzcyAoMiUpIGFuZCBkZWxheWVkIGdyb3d0aCAoNi4yMyUpIHdlcmUgbGVzcyBjb21tb25seSByZXBvcnRlZC4gVGhlIGVtcGhhc2lzIG9uIGNocm9uaWMgcmVzcGlyYXRvcnkgYW5kIGdhc3Ryb2ludGVzdGluYWwgc3ltcHRvbXMgYWxpZ25zIHdpdGggQ0YgYmVpbmcgYSBtZXRhYm9saWMgZGlzZWFzZSBhZmZlY3RpbmcgdGhlIHdob2xlIGJvZHkgbGlrZSBleHBlcnRzIHN1Y2ggYXMgRHIuIE9sYXJpdSBleHBsYWluZWQgdG8gdXMsIHJlaW5mb3JjaW5nIHRoZSBuZWVkIGZvciBjb21wcmVoZW5zaXZlIHRyZWF0bWVudHMgbGlrZSBnZW5lIHRoZXJhcHkgdGhhdCB0YXJnZXQgbXVsdGlwbGUgYXNwZWN0cyBvZiB0aGUgZGlzZWFzZSBhdCB0aGUgY2VsbHVsYXIgbGV2ZWwuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5XaGljaFRoZXJhcHlEb1lvdVVzZWF0aWVudHMvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5Nb3N0U3RyZXNzZnVsRm9yUmVsYXRpdmVhdGllbnRzLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBtb3N0IGNvbW1vbiB0aGVyYXBpZXMgdXNlZCBieSByZXNwb25kZW50cyBpbmNsdWRlZCBtZWRpY2F0aW9uICgyOS4yMCUpLCBwaHlzaW90aGVyYXB5ICgyNi4zMiUpLCBhbmQgaW5oYWxhdGlvbiB0aGVyYXB5ICgyNi42MyUpLiBUaGVzZSB0cmVhdG1lbnRzIGFyZSBwcm9taW5lbnRseSByZXByZXNlbnRlZCBpbiBDRiBjYXJlLCBidXQgdGhleSBhbHNvIHJlZmxlY3QgYSBidXJkZW5zb21lIHJlZ2ltZW4gdGhhdCByZXF1aXJlcyBjb25zdGFudCBtYW5hZ2VtZW50LiBUaGUgZnJlcXVlbmN5IHdpdGggd2hpY2ggcGF0aWVudHMgbXVzdCB1bmRlcmdvIHRoZXNlIHRyZWF0bWVudHMgbWF5IGluY3JlYXNlIHRoZWlyIGludGVyZXN0IGluIGdlbmUgdGhlcmFweSwgd2hpY2ggY291bGQgb2ZmZXIgYSBsZXNzIGRlbWFuZGluZyBvcHRpb24gd2l0aCBwb3RlbnRpYWxseSBsb25nZXItbGFzdGluZyByZXN1bHRzPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGUgc3VydmV5IHJldmVhbHMgdGhhdCAzNi43OSUgb2YgcmVzcG9uZGVudHMgaWRlbnRpZmllZCBlbW90aW9uYWwgc3RyZXNzIGFzIHRoZSBtb3N0IHN0cmVzc2Z1bCBhc3BlY3Qgb2YgY3lzdGljIGZpYnJvc2lzLCBjbG9zZWx5IGZvbGxvd2VkIGJ5IHBoeXNpY2FsIHN5bXB0b21zIGF0IDMyLjc4JS4gU29jaWFsIHJlc3RyaWN0aW9ucyB3ZXJlIG5vdGVkIGJ5IDE3LjczJSBvZiByZXNwb25kZW50cywgYW5kIGZpbmFuY2lhbCBidXJkZW4gd2FzIGEgY29uY2VybiBmb3IgMTEuMzclLiBPbmx5IDEuMzQlIGNpdGVkIG90aGVyIGZhY3RvcnMuIFRoZXNlIHJlc3VsdHMgc2hvdyB0aGF0IGVtb3Rpb25hbCBhbmQgcGh5c2ljYWwgY2hhbGxlbmdlcyBkb21pbmF0ZSB0aGUgc3RyZXNzb3JzIGZvciBwYXRpZW50cyBhbmQgZmFtaWxpZXMsIGhpZ2hsaWdodGluZyB0aGUgbmVlZCBmb3IgdHJlYXRtZW50cyBsaWtlIGdlbmUgdGhlcmFweSB0aGF0IGNvdWxkIHJlZHVjZSBib3RoIHRoZSBwaHlzaWNhbCBhbmQgZW1vdGlvbmFsIGJ1cmRlbnMgb2YgbWFuYWdpbmcgQ0YuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguSGVhZHJvZkdlbmVUaGVyYXB5UGF0aWVudHMvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5IZWFkT2ZHZW5lVGhlcmFweVB1YmxpYy8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5BbW9uZyB0aGlzIGdyb3VwLCA3Ni43NiUgb2YgcmVzcG9uZGVudHMgaGFkIGhlYXJkIG9mIGdlbmUgdGhlcmFweSwgd2hpY2ggaXMgYSBoaWdoZXIgYXdhcmVuZXNzIHJhdGUgdGhhbiBzZWVuIGluIHRoZSBnZW5lcmFsIHB1YmxpYyBzdXJ2ZXkuIEhvd2V2ZXIsIDIzLjI0JSByZW1haW4gdW5mYW1pbGlhciB3aXRoIGl0LCBwb2ludGluZyB0byBhIG5lZWQgZm9yIGZ1cnRoZXIgZWR1Y2F0aW9uLiBUaGUgaGlnaGVyIGZhbWlsaWFyaXR5IGhlcmUgY291bGQgYmUgYXR0cmlidXRlZCB0byB0aGUgZmFjdCB0aGF0IHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllcyBhcmUgbW9yZSBlbmdhZ2VkIHdpdGggbWVkaWNhbCBhZHZhbmNlbWVudHMgZHVlIHRvIHRoZSBzZXZlcmUgbmF0dXJlIG9mIENGLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPldoZW4gYXNrZWQgYWJvdXQgZ2VuZSB0aGVyYXB5LCA2Ny41OCUgb2YgcmVzcG9uZGVudHMgaW5kaWNhdGVkIGZhbWlsaWFyaXR5IHdpdGggdGhlIGNvbmNlcHQsIHdoaWxlIDMyLjQyJSBoYWQgbm90IGhlYXJkIG9mIGl0LiBUaGlzIGRlbW9uc3RyYXRlcyBhIG1vZGVyYXRlIGxldmVsIG9mIGF3YXJlbmVzcywgYnV0IGl0IGlzIGNsZWFyIHRoYXQgYSB0aGlyZCBvZiB0aGUgcG9wdWxhdGlvbiByZW1haW5zIHVuYXdhcmUgb2YgZ2VuZSB0aGVyYXB5LiBUaGlzIGdhcCBpbiBrbm93bGVkZ2UgcmVwcmVzZW50cyBhIHNpZ25pZmljYW50IG9wcG9ydHVuaXR5IGZvciBlZHVjYXRpb25hbCBlZmZvcnRzLCBhcyB0aGUgbGFjayBvZiBmYW1pbGlhcml0eSBjb3VsZCBpbXBhY3QgdGhlIGFjY2VwdGFuY2UgYW5kIHN1cHBvcnQgZm9yIGdlbmUgdGhlcmFweSBhcyBhIHZpYWJsZSB0cmVhdG1lbnQgb3B0aW9uIGZvciBDRi4gVGhlIGNvbW1lbnRzIHN1Z2dlc3QgdGhhdCBtYW55IHNlZSBnZW5lIHRoZXJhcHkgYXMgYW4gZW1lcmdpbmcgZmllbGQsIGJ1dCB0aGVyZSBpcyBzb21lIGNvbmZ1c2lvbiByZWdhcmRpbmcgaXRzIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMuPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdyb3cnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5Ib3dXZWxsSW5mb3JtZWRBYm91dENGUHVibGljLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguV2hhdE1lYXN1cmVzUHVibGljLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+SW4gdGVybXMgb2Yga25vd2xlZGdlIGFib3V0IENGLCA1OC42MCUgb2YgcmVzcG9uZGVudHMgc3RhdGVkIHRoYXQgdGhleSBhcmUgc29tZXdoYXQgd2VsbCBpbmZvcm1lZCwgYW5kIG9ubHkgMjEuNjYlIGZlbHQgZXh0cmVtZWx5IHdlbGwgaW5mb3JtZWQgKHNlZSBkaWFncmFtIDIpLiBBIHNtYWxsZXIgcG9ydGlvbiwgMTMuMzglLCBpbmRpY2F0ZWQgdGhhdCB0aGV5IGFyZSBub3QgdmVyeSBpbmZvcm1lZCwgYW5kIDYuMzclIGFkbWl0dGVkIHRvIGJlaW5nIG5vdCBpbmZvcm1lZCBhdCBhbGwuIFRoaXMgc3VnZ2VzdHMgdGhhdCB3aGlsZSBDRiBpcyByZWNvZ25pemVkIGJ5IGEgbGFyZ2UgcG9ydGlvbiBvZiB0aGUgcHVibGljLCBkZWVwZXIga25vd2xlZGdlIGFib3V0IHRoZSBkaXNlYXNlIGlzIGxhY2tpbmcuIFRoYXQgaXMgd2h5IHdlIGFyZSBkb2luZyBzY2llbmNlIGNvbW11bmljYXRpb24gYXQgb3VyIHZhcmlvdXMgcHVibGljIG91dHJlYWNoIGV2ZW50cyEgPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5SZXNwb25kZW50cyB3ZXJlIGFza2VkIHdoYXQgYWN0aW9ucyBjb3VsZCBiZSB0YWtlbiB0byBpbXByb3ZlIENGIGF3YXJlbmVzcyAoc2VlIGRpYWdyYW0gNCkuIFRoZSBtb3N0IHBvcHVsYXIgb3B0aW9uLCBjaG9zZW4gYnkgMjIuODclLCB3YXMgcHVibGljaXR5IGNhbXBhaWducyBvbiBUViwgcmFkaW8sIGFuZCBvdGhlciBtYXNzIG1lZGlhIG91dGxldHMuIEluZm9ybWF0aW9uIGV2ZW50cyBhdCBzY2hvb2xzIGFuZCB1bml2ZXJzaXRpZXMgZm9sbG93ZWQgYXQgMTMuMjAlLCBhbG9uZyB3aXRoIGRvY3VtZW50YXJ5IGZpbG1zIGFuZCBzaG9ydCBtb3ZpZXMgYWJvdXQgbGlmZSB3aXRoIENGICgxNC4wMSUpLiBUaGVzZSBmaW5kaW5ncyBzdWdnZXN0IHRoYXQgdGhlIHB1YmxpYyBzZWVzIG1lZGlhIGFzIHRoZSBtb3N0IGVmZmVjdGl2ZSB3YXkgdG8gc3ByZWFkIGF3YXJlbmVzcywgYSBzdHJhdGVneSB0aGF0IGNvdWxkIGFsc28gYmUgZW1wbG95ZWQgdG8gZWR1Y2F0ZSBhYm91dCBnZW5lIHRoZXJhcHkuIFRoZSBwdWJsaWMgYXBwZWFycyB0byBmYXZvciB2aXN1YWwgYW5kIGFjY2Vzc2libGUgZm9ybWF0cywgd2hpY2ggY291bGQgYmUgdXNlZCB0byBoaWdobGlnaHQgdGhlIGJlbmVmaXRzIG9mIG5ldyB0cmVhdG1lbnRzIGxpa2UgZ2VuZSB0aGVyYXB5LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguQmFzaWNQb3NpdGlvbmF0aWVudHMvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5XaGF0Q29jZXJuc0Fib3V0R2VuZVRoZXJhcHlhdGllbnRzLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguV2hhdENvY2VybnNBYm91dEdlbmVUaGVyYXB5UHVibGljLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBzdXJ2ZXkgcmV2ZWFscyB0aGF0IDM1LjAwJSBvZiByZXNwb25kZW50cyBoYWQgYSB2ZXJ5IHBvc2l0aXZlIHZpZXcgb2YgZ2VuZSB0aGVyYXB5LCBhbmQgMzAuMDAlIHJhdGVkIGl0IGEgNCBvdXQgb2YgNSAoc2VlIGRpYWdyYW0gMjApLiBPbmx5IDUuNzElIHJhdGVkIGl0IGEgMiBvciBsb3dlci4gVGhlIG92ZXJhbGwgcG9zaXRpdml0eSBzdWdnZXN0cyB0aGF0IG1hbnkgcGF0aWVudHMgYW5kIGZhbWlsaWVzIGFyZSBob3BlZnVsIGFib3V0IHRoZSBwb3RlbnRpYWwgb2YgZ2VuZSB0aGVyYXB5LCBwZXJoYXBzIGJlY2F1c2Ugb2YgdGhlaXIgZmFtaWxpYXJpdHkgd2l0aCB0aGUgbGltaXRhdGlvbnMgb2YgY3VycmVudCB0cmVhdG1lbnRzLiBUaGlzIG9wdGltaXNtIGNvdWxkIGJlIGxldmVyYWdlZCB0byBzdXBwb3J0IGZ1dHVyZSBjbGluaWNhbCB0cmlhbHMgb3IgZWR1Y2F0aW9uYWwgaW5pdGlhdGl2ZXMuPC9wPiAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Db25jZXJucyBhYm91dCBnZW5lIHRoZXJhcHkgcHJpbWFyaWx5IHJldm9sdmVkIGFyb3VuZCBzYWZldHkgYW5kIHNpZGUgZWZmZWN0cyBhbmQgbG9uZy10ZXJtIGVmZmVjdHMgKGJvdGggNTkuNDYlKSAoc2VlIGRpYWdyYW0gMjIpLiBDb3N0IGFuZCBhY2Nlc3NpYmlsaXR5IGFsc28gcmVtYWluIGltcG9ydGFudCBpc3N1ZXMgZm9yIDMyLjQzJSBvZiByZXNwb25kZW50cy4gT25seSAwLjU0JSBleHByZXNzZWQgbm8gY29uY2VybnMsIHNob3dpbmcgdGhhdCB3aGlsZSB0aGVyZSBpcyBvcHRpbWlzbSwgdGhlcmUgYXJlIHNpZ25pZmljYW50IGZlYXJzIHRvIGFkZHJlc3MuIFRoZXNlIGNvbmNlcm5zIHdlcmUgc2ltaWxhcmx5IGV4cHJlc3NlZCBpbiB0aGUgZ2VuZXJhbCBwdWJsaWMgc3VydmV5IGJ1dCBhcmUgbW9yZSBwcm9ub3VuY2VkIGFtb25nIHBhdGllbnRzLCBsaWtlbHkgZHVlIHRvIHRoZWlyIGZpcnN0aGFuZCBleHBlcmllbmNlIHdpdGggbG9uZy10ZXJtIHRyZWF0bWVudHMuPC9wPiAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPlRoZSBtb3N0IGNvbW1vbiBjb25jZXJuLCBzaGFyZWQgYnkgMjguNzclIG9mIHJlc3BvbmRlbnRzLCB3YXMgcmVsYXRlZCB0byB0aGUgc2FmZXR5IGFuZCBzaWRlIGVmZmVjdHMgb2YgZ2VuZSB0aGVyYXB5LCBmb2xsb3dlZCBieSBsb25nLXRlcm0gZWZmZWN0cyAoMjcuODUlKSBhbmQgY29zdHMgb3IgYWNjZXNzaWJpbGl0eSAoMjQuMjAlKSAoc2VlIGRpYWdyYW0gOSkuIEV0aGljYWwgcXVlc3Rpb25zIHdlcmUgcmFpc2VkIGJ5IDE0LjYxJSBvZiBwYXJ0aWNpcGFudHMsIHdoaWxlIG9ubHkgNC41NyUgaGFkIG5vIGNvbmNlcm5zIGF0IGFsbC4gVGhlc2UgY29uY2VybnMgZWNobyBjb21tZW50cyBtYWRlIGluIG90aGVyIHBhcnRzIG9mIHRoZSBzdXJ2ZXksIHdoZXJlIHJlc3BvbmRlbnRzIGV4cHJlc3NlZCBpbnRlcmVzdCBpbiBsZWFybmluZyBtb3JlIGFib3V0IHRoZSBzYWZldHkgcHJvdG9jb2xzIGFuZCByZWd1bGF0b3J5IG1lYXN1cmVzIHN1cnJvdW5kaW5nIGdlbmUgdGhlcmFweS4gQ2xlYXJseSwgYWRkcmVzc2luZyB0aGVzZSBjb25jZXJucyBpbiBmdXR1cmUgcHVibGljIGVuZ2FnZW1lbnRzIHdpbGwgYmUgY3JpdGljYWwgdG8gZm9zdGVyaW5nIHdpZGVyIGFjY2VwdGFuY2UuIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93Jz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JhcGguV2hhdENvdWxkR2VuZVRoZXJhcHlNZWFuRm9yTWVkaWNpbmVQdWJsaWMvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5Xb3VsZFlvdURvR2VuZVRoZXJhcHlQdWJsaWMvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmFwaC5XaGF0Rm9ybU1vcmVJbmZvUHVibGljLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3Jvdyc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk5lYXJseSBoYWxmICg0OS41OSUpIG9mIHJlc3BvbmRlbnRzIGJlbGlldmUgdGhhdCBnZW5lIHRoZXJhcHkgcmVwcmVzZW50cyBhIG1ham9yIGFkdmFuY2UgaW4gdGhlIHRyZWF0bWVudCBvZiBkaXNlYXNlcywgd2hpbGUgNDcuOTclIGFja25vd2xlZGdlZCB0aGF0IGdlbmUgdGhlcmFweSBvZmZlcnMgc29tZSBwcm9ncmVzcyBidXQgYWxzbyBjYXJyaWVzIHJpc2tzIChzZWUgZGlhZ3JhbSA3KS4gTGVzcyB0aGFuIDIlIG9mIHJlc3BvbmRlbnRzIGV4cHJlc3NlZCBjb25jZXJuIHRoYXQgZ2VuZSB0aGVyYXB5IGNvdWxkIGJyaW5nIG1vcmUgcmlza3MgdGhhbiBiZW5lZml0cy4gVGhpcyBvdmVyYWxsIHBvc2l0aXZlIG91dGxvb2sgb24gZ2VuZSB0aGVyYXB5IGlzIGVuY291cmFnaW5nLCBidXQgaXQgYWxzbyB1bmRlcnNjb3JlcyB0aGUgbmVlZCB0byBhZGRyZXNzIGNvbmNlcm5zIGFib3V0IHNhZmV0eSBhbmQgbG9uZy10ZXJtIGVmZmVjdHMsIHdoaWNoIHdlcmUgb2Z0ZW4gbWVudGlvbmVkIGluIHRoZSBjb21tZW50cy4gVGhlIG9wdGltaXNtIHNob3duIGhlcmUgY2FuIGJlIGEgc3Ryb25nIGZvdW5kYXRpb24gZm9yIHByb21vdGluZyBnZW5lIHRoZXJhcHksIGVzcGVjaWFsbHkgd2l0aCBhcHByb3ByaWF0ZSBlZHVjYXRpb24gb24gbWl0aWdhdGluZyByaXNrcy48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+QSBzdHJvbmcgbWFqb3JpdHksIDg1LjIyJSBvZiByZXNwb25kZW50cywgaW5kaWNhdGVkIHRoYXQgdGhleSB3b3VsZCBjb25zaWRlciBvcHRpbmcgZm9yIGdlbmUgdGhlcmFweSwgd2l0aCBvbmx5IDEuNzQlIHNheWluZyB0aGV5IHdvdWxkIG5vdCwgYW5kIDEzLjA0JSByZXNwb25kaW5nIHdpdGggXCJtYXliZS5cIiAoc2VlIGRpYWdyYW0gOCkuIFRoaXMgcmVzdWx0IGRlbW9uc3RyYXRlcyBjb25zaWRlcmFibGUgb3Blbm5lc3MgdG8gZ2VuZSB0aGVyYXB5IGFtb25nIHRoZSBwdWJsaWMsIHRob3VnaCB0aGUgbWlub3JpdHkgZXhwcmVzc2luZyBoZXNpdGF0aW9uIHN1Z2dlc3RzIHRoZXJlIGFyZSBsaW5nZXJpbmcgZG91YnRzLiBDb21tZW50cyBmcmVxdWVudGx5IG1lbnRpb25lZCBjb25jZXJucyBvdmVyIHNhZmV0eSBhbmQgbG9uZy10ZXJtIGVmZmVjdHMsIHN1Z2dlc3RpbmcgdGhhdCB0aGVzZSBpc3N1ZXMgbmVlZCB0byBiZSBhZGRyZXNzZWQgdG8gY29udmVydCBcIm1heWJlXCIgcmVzcG9uc2VzIGludG8gbW9yZSBjb25maWRlbnQgc3VwcG9ydCBmb3IgZ2VuZSB0aGVyYXB5LjwvcD4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5XaGVuIGFza2VkIGhvdyB0aGV5IHdvdWxkIHByZWZlciB0byByZWNlaXZlIG1vcmUgaW5mb3JtYXRpb24sIDIyLjYyJSBvZiByZXNwb25kZW50cyBzZWxlY3RlZCBUViBkb2N1bWVudGFyaWVzIGFuZCBwcm9ncmFtcyBhcyB0aGVpciBwcmVmZXJyZWQgbWVkaXVtLCB3aGlsZSAxNi42MyUgZXhwcmVzc2VkIGludGVyZXN0IGluIHdlYnNpdGVzIGFuZCBvbmxpbmUgcmVzb3VyY2VzIChzZWUgZGlhZ3JhbSAxMSkuIFRoaXMgcHJlZmVyZW5jZSBmb3IgdmlzdWFsIGFuZCBvbmxpbmUgZm9ybWF0cyBhbGlnbnMgd2l0aCB0aGUgcHVibGljXHUyMDE5cyBnZW5lcmFsIHJlbGlhbmNlIG9uIG1lZGlhIGZvciBsZWFybmluZyBhYm91dCBDRiBhbmQgb3RoZXIgbWVkaWNhbCB0b3BpY3MuIFNvY2lhbCBtZWRpYSBhbmQgb25saW5lIGNvbW11bml0aWVzICgxNS45NiUpIGFsc28gcmFua2VkIGhpZ2hseSwgaW5kaWNhdGluZyB0aGF0IGRpZ2l0YWwgcGxhdGZvcm1zIGFyZSBhbiBlZmZlY3RpdmUgd2F5IHRvIHJlYWNoIGEgYnJvYWQgYXVkaWVuY2UuIFRoZXNlIGZpbmRpbmdzIGNhbiBndWlkZSBmdXR1cmUgZWZmb3J0cyB0byBjcmVhdGUgZW5nYWdpbmcgYW5kIGluZm9ybWF0aXZlIGNvbnRlbnQgYWJvdXQgQ0YgYW5kIGdlbmUgdGhlcmFweS48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj48Lz5cbiAgICApXG59IiwgImltcG9ydCB7IG9wZW5DbGFzc2VzIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL29wZW5DbGFzc1wiO1xuXG5cblxuZXhwb3J0IGNvbnN0IEhQM25ldyA9ICgpID0+IChcbiAgPHN2Z1xuICAgIHZpZXdCb3g9XCIwIDAgMTI1NS4wNDAzIDc4MFwiXG4gICAgd2lkdGg9ezEyNTUuMDQwM31cbiAgICB4bWxTcGFjZT1cInByZXNlcnZlXCJcbiAgICBpZD1cInN2ZzJcIlxuICAgIGlua3NjYXBlOmV4cG9ydC1maWxlbmFtZT1cIkRlc2lnbi1JSFAtMy5zdmdcIlxuICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPXs5Nn1cbiAgICBpbmtzY2FwZTpleHBvcnQteWRwaT17OTZ9XG4gICAgeG1sbnNYbGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICA+XG4gICAgPGRlZnMgaWQ9XCJkZWZzNlwiPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxOFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNlwiXG4gICAgICAgICAgZD1cIk0gMCwyLjQ0MTRlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMjAyIEggMCBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDI4XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDI2XCJcbiAgICAgICAgICBkPVwiTSAwLDE0MTcuMzIgSCAxNDE3LjMyIFYgMy42NjIxZS00IEggNi4xMDM1ZS01XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDQyXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDQwXCJcbiAgICAgICAgICBkPVwiTSAwLDE0MTcuMzIgSCAxNDE3LjMyIFYgMy42NjIxZS00IEggMS4yMjA3ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDc2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDc0XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoODZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoODRcIlxuICAgICAgICAgIGQ9XCJNIC02LjEwMzVlLTUsMTQxNy4zMiBIIDE0MTcuMzIgViAwIEggLTkuMTU1M2UtNVwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg5NlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg5NFwiXG4gICAgICAgICAgZD1cIk0gLTYuMTAzNWUtNSwxNDE3LjMyIEggMTQxNy4zMiBWIDAgSCAtOS4xNTUzZS01XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDEwNlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMDRcIlxuICAgICAgICAgIGQ9XCJNIC02LjEwMzVlLTUsMTQxNy4zMiBIIDE0MTcuMzIgViAwIEggLTkuMTU1M2UtNVwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxMTZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTE0XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTI2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDEyNFwiXG4gICAgICAgICAgZD1cIk0gLTYuMTAzNWUtNSwxNDE3LjMyIEggMTQxNy4zMiBWIDAgSCAtOS4xNTUzZS01XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDEzNlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMzRcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxNDZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTQ0XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTU2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE1NFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDE2NlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNjRcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxNzZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTc0XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTg2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE4NFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDE5NlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxOTRcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgyMDZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjA0XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjE2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDIxNFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDIyNlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgyMjRcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgyMzZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjM0XCJcbiAgICAgICAgICBkPVwiTSA2MDEuMDgsNjExLjQgSCA4MDUuNDQgViA4MTUuNzYgSCA2MDEuMDggWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPG1hc2tcbiAgICAgICAgaWQ9XCJtYXNrMjQwXCJcbiAgICAgICAgaGVpZ2h0PXsxfVxuICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgeT17MH1cbiAgICAgICAgeD17MH1cbiAgICAgICAgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgPlxuICAgICAgICA8aW1hZ2VcbiAgICAgICAgICBpZD1cImltYWdlMjQyXCJcbiAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVlBQUFBR0FDQUFBQUFDQnJPcGpBQUFBQVhOQ1NWUUk1Z3BibVFBQUVWcEpSRUZVZUp6dG5YdDhWZFdWeDNjU2dnRUNDSUk4RkJVd1FCTDJEZ0VmbzVaYTN6aGo2OHlVYWJWRmhQckFPclRvV0p5MnpqaGxXdHJhK3FsaWRXWnFSMVRBNTFTbi9XaW50Z3BTbi8xQTViRjNMaEFJNGFueVRua2xKSkRjK1FNL0pqazVlNTE5N3ozN3JpVDM5LzBubjV4OTFqbjdydDlkZSsyejl6NzdDZ0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnTTVPSG5jRnVobDVaeXFwNUxkLzYyelF3Mk5sY294aUpaV2MyRWNJSVNvZ1FGYnBPVm9xZWQ3dzFnUFMzUllDWk1aUXFhU1NRUzhxOXdzZ0I2UkwzN0ZLcWtuOVE4dU9GemU1WGdZUmtEb0Y1eWlwNUJqaWpNTFN0YTRYZ3dBcE1WQkpKU2VjRW5tZWdnQngwMnVNVkhMU1lNZXozYk13Qklna2I0UlVVcFhtcDJJREFlS2hyMVJTVmZaSjNkQzlHNFJlVURpRjV5cXBKcDZSdHYzQU9zY1RFUUVkR0txa2toMjY5aW1pL3VoNElnUm9ROTl4VXNtSnA4WnhLUWlRR2dVanBaS3FKTDRMT21kaENIQ2FWRkpWUkhmdFU4TlpnRnhPd3IzR0tLa211bmJ0VStOdy82VGJpYmtwUU40SUpaVk1yV3VmSXFOcjNjN0x1U1pvUUpsVU1wMnVmWXBJQ0JDa3NFUk9MRlZuKzdqMFBxUFZaZTBQeWQrNG1lYUdBTU9ra3FxODBNT1ZtelpvcmMxSFF0d1pFTUQxV2JpN0M5QjNuSktxTXBhdWZaQVB0ZGE2K3Znbi95VUNwYTdkb082YmhBdEdLcW5rdVQ0KzROR0UxdG9jYUhkczhKNzI1elQzYVhTNlZyY1U0RFFsbFZSRkhxNmNyTlZhNjlxV2tLSTlnZjdzcEZWT1YreG1UVkN2c1ZKVnl0TjlYZjd1WHg2MUZRMEpaaGlaWXdMa25TV1ZWT044ZHUzRnF3L2J5NTRNNWhuSEpOQWRCQmhRcHFTcUtQWituMzIzMmN0bVh4czg0dGdONnRvNW9MQkVTU1c5ZE8xRG1QcVN0YWowZzE3QlE3dUdPVjIweXdvd1RFa2x2WFR0YlN5ZWJpM3ErYWZLamdjSDdYZTVhaGRzZ29yTHBKSVRCbVQ3dGp1L2FTLzdmb2ovUmNVeWw4dDJLUUVLUmtrbEs4L3hFclVmR2JOKy9sQjdlWExtWDZ4bG4vdFcyRkhaclFRWUpKVlUwa2ZYWGh4SmFHUDBBU0YrUVBoZlBQcUd0ZWpVUmFGOUw3ZHVVT2ZQQVVYamxGUVR2SFR0bTJ1ME1YckxKeVAzRjcxZFlEOTE0NFFHYTltek40WWVYbkdoU3gwNnN3QjVaeW1wNUZqQ0xlbXpXeHVqMXgxcmM2UjR6V2o3NmMwWHI3Q1dmWFZKK1BHamZWM21aRHBwRXpTZ1hDcnBwMnRmbnpEYW1MMGRqajlNK0YvTXQvdi83TWNzQlgxRzF6aFVwOU1KVURpdVhFbDFscGRySDF5cWpka2NOcEFqeFBXM0VJYXJmbUF0eWw4Y3ZrQmFDQ0ZkQk9oTURMOW03cUkxVFVsL1hHKy85NUE5aEYxRG1kM3dPM2F6ZjR2ZlJiNG92dURXQlc4ZWlOM2hBUjRuYXZBS1pYaTMzVzRTOFlYNVZleCs4a0JCeVJlLzkvS21scmg5SFVZTmtWTHVvQXlYMjNzcXZkY1RkdFVlL0JVbmd5NmY4OFNLaHBpOWJPZkVSZmFxbEJ3aERBOFJZMDMvUWQyeHVjUDRVR2VocUhMNmc3L2ZIYk9Eby9oM2UzMTYvSWt5bkdFMy9CdjZsdWZGN3JtTXlSdjUrZnVlWDNjaVRzZCt5bjR5ZjY4aytudmZvd3lKMVEyblIzeUpaanA0Skh2ZDBBSGxTaXJaMThlbEd6Y1lvODJFVjRsVDZxZWRzSlpkZUI5aHVKZVlCSGdpNHZuY1pVb2dHd0lVamxGU1NUOWQrMjNHYUZOOVFnZ3grQW5xdkcvWk0yS2Z4WlFUWnUyeEZ0MXhYVVRsVW5oZDJCZkRwOHhkN0tsclgvZjJZM2RjMHEvMVZyK21UdjQvb282L29BeWZzdHVOUFJwVnhkME9IdkkyRmxSY0xwV3M4REpxZjd4YUc2TjN0RDk0Nnk4SmkzMXlsN1hzdWxjSXcrM3FvSzJvOFAxSmhPRkpoa1pMNEtFSnlqOVhLcWxHZVpGMnB6Wkdiemplc1dEVVE1VFo3WGIvRC81dndpNDUwK3AvTVMvYS8wSzZ4RUNjREw3OHJvVXI2MU50VEZ4NVlySjFoVnZCZTVUaFFxTEt2NkVNaVZVUWs1c2Rha3c4UXNkTlVlWE5ELzVoVjByK1RKVlZ4QVR3djFLR3RVVFg2MWJLY0wzOVNhcmZWcGNxVThySFJ0NDVYN2p2QlU5ZCs3WlFJMkxuVVhtKytUTjJ3OUdIQ2NQanhJUFVZcWM2L3psdHI3cHg2dVE3Lyt2ZFF5bTVNWDIrWWE5SHJ3MlU0WHk3SWQxeUVhT1pON2pWdWQ3Yk9ySEM4VGYrNk5YdDd0N0xuRDhRU2YweHl2Q0RkRnN1NHRsNVJKMWpyYWtkUGRMbGpDbjNMbDdiNk95NG1OZy8zRjZqS1pSaGZhbmQ4THpqaEdIRE9LdGQvcHV1MVo2YWdhTTdVbnpoYlk4czMrOTY3OVRZczJ6QngxVDVQOWlyZFJwcE9OdHUyTHVhTXB4ak41enIvTEhtcGUvdGR1U1BtVHJ2ZjJ2OGpObzNySHJxbnF1SENqR0RPdWxwb25JdlVZYS9KMW91Y2l4NXFkMXdnbnY4dnh6cDJzakhwY0ZLS2xudVpXUTd1VlViYlRZMUN5R0VHTG1tbi8zTWJlcVF0V3dtMWRjN0lEK3lsbDFMalU4Y1ZOdkRDd1pOcUp4RlRkKzNaL081VVdjUVQ4SkZaVkpKTmNUNVpxbHd3Qmh0cW82MEhzaC9tdkIveTgxMi80OWNRTjFubHQzL2c4aE8ramREL0QraXNuSmk1UWpLcWdPaitsaGZLSWhtbm5PZ3BVTGptc1Z6cDNUY2hlVGJsTTBEOWtybXYwMFpVaTNYeTVSaG9PbklIM3ZEQTYvdlMrZmpYcENlNzRVUVFreE41NFlVVzErWmYwTjVlTWlSemVxYW52WktFb3NTa3NtdFJGVE5wQXgzdDc1dTFMUHlhNCsrUzgxWTB0eWFydmVGRUdQU3ZtczR4TUJJVVlLd096YmVibGhKUGdKLzFtNDRrbngrL0lJUVFvamlTMll2WEozaFdEclpRRVpRRU8rRStUSWkzeStnRE8reTJ4V3Rvd3gvYkRmTWY0Y3lYQ2dHWFhYdjg5Vng5UHFjVmtqYitITU1GZmlVdWpQdE43cUsrcWh2RU1JOVF0MXhOZEZ5ZlplczYvSWQ2WHpDVURvdWdVeUJKMk9yUmpLWkRGOUJMSVFRWXNCT3dvNFM3bXBLdUlaeXUrRkVuK3Z2MnVQMm9sSTRkOGRZajJlSis3eEFHZDVndHh2NElXVkl0Rnk5eUpZclhxNU8yLzFDWEJsZk5YWVFtd1hjUkJrK1E5VHZSY3J3OVhSYnJoalo5ZnJQWmxBdmZRaEJQd2tQc1Uva3RhTitYU0tSeUgrSmFIS1RWOXFUMFZuYXVyeFlpQjNLL21MUWRLcVhYeWMvdEpaZC9acjN0eUtPcnRmR3JIRjVTNCthRTk2OU4ybzNxV01iRWxXSnhKYWtFS2VzSlB3dkhyTDdQLzlwd3YvSm0rMytQL3ZuVk0yK2J2Zi93Q2Q5K3IrbFZodWpheHozeTRyZ0RYdDBOZXJuL3VWdlMxcm5HeDZrUXRFUU83S1JJNHNQMnUzeS8wZ1pXbDVhRVdMd1pYUElIbWdtN0YzNjhJenpVeDAxSTc4TUQ0VWxzaE9iRWxXSnhLYjJDODArUi9YeW15NndiMld0cU1neDU5dDNITG1YR0o4UU8yVEgxUXhGcFVwS0ZkVWtwMGZEZXFQTld2c1NMZ0p5V1lvSjN1ZTFSS0pxWThqVytQMFhVVUxlWi9mL0tjOFEvbStjWnZkL3hmZUpHeWFudC9OLzNrZ3BwU3J4OHE1WlMyMUNHN014L0syYmpEay9FR01IYkNjK1EwWG1jbUppOUdlVTRUMTJ1NklxeXJDMTVScDQ2ZXpIMzZjbTNqTmcvL0pIYnZ1cjNtazUxcFhld2JVdmx2V2RYNmJxK1JkaVVlamwxSlBVbTRSd0QxRjMxS2NJSVhwV1RQdko3NmdudkF4b1dMMW83alV4TldaMGgyQmpZQy9aejRjdVFEN0RVQ3NRYjdJbVJIR3FKa2JYclZNaVFvZ3JxRjUrMDlTa2tuS3NsMlhIeVpPTGdadDlYRHVNNEd4ZjZEcnV2TmVwYjhzTHhPV2ZwUXkvYXJjYkVOOVlqVHY3MzNwczFzWCs5OFJwVC9ETmhSZkRUcnFMcXZiT2dmYXIzMGdaUGs5VTY3bU12WmtTalhySlAvODFNU1Rsa2I4UFZDVnNrWDA1TldyZGNwWDk0bWRTaTJ0MkVxM2FWMkp3cWlQYlgvM1JWOFl6dmt0ZEVxaFBjOGVrMzNNMTlRR0kxYTE1U3dtN2xpdnRoczZyb2pLaTdwMy92UE16eEl4YWRzZ1ByblR1T01YNUFQVXBFc1QySnY5RUdSS0x6Zk9XWmV4Y21xYXE1NzV6WGJaMjRZcGlaYUJ5SFY2WStpeTFTcnNwYkIralR4aC9qRENzSW9TN0p3WWYyOWo1dXdlbVZXUnpGNjdJRnpSMFlJRndSYUM4WC9oV09aOXcvMnByVWM4bHhQaFEwN1JqWVlkN2xFaXA1RG5FRGRQblVNSVlzOVkrOU9lTkNBR0NneEZCQVg1T2hlcmJQN0dYelE5ZXFTMzNyd2tlR1NhbGttVngvOHFDRUVLSUU1dU0wV2FMajB1N0VERXllMFZnbjZpRDdTZFdwdjRQWVh0WWJiV1dYYnFNaUp5M0xtc3p0TktuWEVtcFRpUHVrejRmRzZQTk9yY3RobjBSSWNEcHdaZWNSclg5cWd3M1JDOWZ6TEJQbVBUWHhQakVJYlZOQ0NGRXdXZ2xmYjFyZG1TZE5tYXRkV3dyaTBRMFFYdDJCNVltcWpZQzVEMUorZjhsWXNMcVVlcWw0VzlzRTBPa2xLck15NExVNXMzYUdGMGJ6NFJKREVROVpKaUFBQlZ0M3R5ZlRVMDRmenpMWHZhbGFaUmg1WFJQbXovdjBicEtKMEx6ZStjbE9GN2NadlBZVXZKMXlDbjJhNTdoNlIwRE8wZFhMcnpyQ2orLzFwTXBrUkVRK0wrMTgxSzRoR29pSG4zTldrUzNYREhUVW11ME1UV2VKa3l5d0tUQWQ2bmwwL0hBSDFKZk9lSUZUekhINDFlOUxYdVhQWHpMQlg0blRHSWdxby9SNjBpZ3YzangreWYvWHZJVzBaRThmdEVIMXJLeUQ3eHN2OXFXWSt1TTBUcmJiNm1uUjFRVDFGQVRlTkd2NHFRQWZSZFRqOER6N1A0dlhPTFQvOGt0cHZXbG15NUI1RkNyQ1FwdzhzK0NrWVROZTlaMXlmM0gzMEtNRDJYRS9pcHRqTW5naFJRZUlnWFFYMnovLzBrQi9vN2FET3JJVFNIZndNSXhTbnJhRDdSeGd6WkcyMTlHNnRSRVIwRGdmNW1YRkdJb3RRT2ttQlA0RWJrenBWU3kxTWNnWTNLN05rWnZ0RytHMWZsSldZRGlVWnVGV0RpSXNQaDE2OXR2ZmNkTEphV1hUWVBxcW96UjVyQ1BTMmVWU0FGcTZ3TTl1WXJONHM0T1A1alNodDIzQ1NGRWp4S3BwUFN5MVg5VHRkSEc3SWcrc1VzUUtVQkxWV0FXck9MbHNUK2xETDVXZUkyVXF0VEwwUEVPbzQwSjI2K3A2eEk5NFd5Q0F2UllRajNkSEYva1plajRrREZHRy92K1ZWMFdCd0VDLzFmY1QrNUhXaGkzLzA5VUc2UE50cGl2Mm1tSWJxUXZYeG80ME94bGxXc1lIeHFqemZxUXhjRGRpR2dCZ3I5U21SVU9KN1F4dW83aHp0bkdvWnZ5c1o4MTlSYWFOMmxqOU5aT00ySGlHNGRWWHlaYkF1elN4bWptS2RxczR5SUFzYnd3Sm80bWpEWm1uL2Y3ZEVJY0JOQSs3OTlTWTdReG0zT214ZW1BU3dSNHV2VWVvNDFKMkgrZUt6ZHdTTUpGUjdMVzcreXVQRzVmb2VDd3NlV3hydlpyVEYwS2w1MUZ2U2FCWE1kRkFGOUpBQWdJd0E0RVlNWkZnTm91TjlQZGhYQVJJRm5sdlJxNWk5UCs2bWlEL0FFQm1IRVNBQThDL25BU2dHTktKbGR3RXFEckx1N3UvRGdKa0x1RHhmNkJBTXhBQUdhUUE1aEJCREFEQVppQkFNd2dCekNEQ0dBR0FqQURBWmhCRG1BR0VjQU1CR0FHQWpDREhNQU1Jb0FaQ01BTUJHQUdPWUFaUkFBekVJQVpDTUFNY2dBemlBQm1JQUF6RUlBWjVBQm1FQUhNUUFCbUlBQXp5QUhNT0FrQS9PRW1BTm9nYjBBQVp0d0VRQkx3QmlLQUdRakFEQVJnSmpzNTRQRzhyZzN4bzNTWmdnaGdCZ0l3QXdHWXdYTUFNNGdBWmlBQU14Q0FHZVFBWmhBQnpFQUFaaUFBTThnQnpDQUNtSUVBekVBQVpwQURtRUVFTUFNQm1JRUF6Q0FITUlNSVlBWUNNQU1CbUVFT1lBWVJ3QXdFWUFZQ01JTWN3QXdpZ0JrSXdBd0VZQVk1Z0JsRUFETVFnQmtJd0F4eUFET0lBR1lnQURNUWdCbmtBR1lRQWN4QUFHWWdBRFBJQWN3Z0FwaUJBTXhBQUdaNk9KMlZhUTY0L2ZZTUw5QjlRUVF3QXdHWWdRRE00RG1BR1VRQU14Q0FHUWpBREhJQU00Z0FaaUFBTXhDQUdlUUFaaEFCekVBQVppQUFNOGdCekNBQ21JRUF6RUFBWnBBRG1FRUVNQU1CbUlFQXpDQUhNSU1JWUFZQ01BTUJtRUVPWUFZUndBd0VZQVlDTUlNY3dBd2lnQmtJd0F3RVlBWTVnQmxFQURNUWdCa0l3QXh5QURPSUFHWWdBRE1RZ0Jua0FHWVFBY3hBQUdZZ0FEUElBY3dnQXBpQkFNeEFBR2FRQTVoQkJEQURBWmlCQU13Z0J6Q0RDR0FHQWpBREFaaEJEbUFHRWNBTUJHQUdBakNESE1BTUlvQVpDTUFNQkdER1RZQmpubXZSM1dteUY3a0pjQ2ltaXVRcUIrMUZiZ0pzanFraXVVcXR2Y2hOZ0dxMFFSbXh4bDdrSmtEanV6SFZKRGM1a0xFQTRzVjRhcEtqL0lwNGtNMXp1MFMvN2YzanFVdE9NbW1WdmN3eEFnNHRpS2NxT2NsdkNmKzdSb0RvdmU3c09PcVNpelRLVFVTcFl3U0krdW5OY1ZRbUY3bVg4cjhvY0wzTXRycHJNNjlMTHZMVWQ4bGlad0hFaXFZck1xMUxMdkw4VEhvczMxMEE4YzZXYXdvenJFM09rZnp4UDBiTXBiZ21ZU0dFRUtXL21KeEpiWEtQbXErL0VYV0theElXUWdpeC90THIzMHUvTmpuSHhqdktJLzJmV2dRSUlVVEpkWlBMaGhXbnBGdnVrYXpmVy8zZWF5dTRxd0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnSGo0ZjlBY2RZSDJGUjVEQUFBQUFFbEZUa1N1UW1DQ1wiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIFxuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjUyXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDI1MFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDI2NFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgyNjJcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgyNzZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjc0XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjg4XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDI4NlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDMwMFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgyOThcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgzMTJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMzEwXCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMzI0XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDMyMlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDMzNlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgzMzRcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgzNDhcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMzQ2XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMzc0XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDM3MlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDM4NlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgzODRcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgzOThcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMzk2XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNDEwXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDQwOFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDQyMlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg0MjBcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg0MzRcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNDMyXCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNDQ2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDQ0NFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDQ1OFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg0NTZcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg0NzBcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNDY4XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNDgyXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDQ4MFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDQ5NFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg0OTJcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg1MDZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNTA0XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNTE4XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDUxNlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDUzMFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg1MjhcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg1NDJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNTQwXCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNTU0XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDU1MlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDU2NlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg1NjRcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg1NzhcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNTc2XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNTkwXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDU4OFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDYwMlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg2MDBcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg2MTRcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNjEyXCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNjI2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDYyNFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDYzOFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg2MzZcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg2NTBcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNjQ4XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNjYyXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDY2MFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDY3NFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg2NzJcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg2ODZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNjg0XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNjk4XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDY5NlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDcxMFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg3MDhcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg3MjJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNzIwXCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNzM0XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDczMlwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDc1MFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg3NDhcIlxuICAgICAgICAgIGQ9XCJNIDU5Mi41Niw2MDguMDQgSCA4NDEuMiBWIDgyMi42IEggNTkyLjU2IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxtYXNrXG4gICAgICAgIGlkPVwibWFzazc1NFwiXG4gICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgIHk9ezB9XG4gICAgICAgIHg9ezB9XG4gICAgICAgIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPGltYWdlXG4gICAgICAgICAgaWQ9XCJpbWFnZTc1NlwiXG4gICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFySUFBQUpVQ0FBQUFBRE1ENXJEQUFBQUFYTkNTVlFJNWdwYm1RQUFJQUJKUkVGVWVKenRuWGRnVk1YMng4L2RiSHFoaHhZNmhGNEZSQkRCaW9EMFpnRWJDaXJZeTN2K3NDQVc3UGllaXFLZzZCT3hJMFVCa2Q1N2t3NGhsVTRDSkNGdGQrZjN4L1o3Wis3ZXRyZHN6dWVmSlBmT3pEMXo5NXZaTSswTUFJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ2lObmhqRFpBTHAzZk1kb0NIMDZYcTZ5ODdHcFI4WlZMbHdyT255OXdFcU10cWhUWWpUWkFMalZ1TmRvQ0ZvNnpaL0t5czdOT25MaU0wZzBubHBPc2ViSFhyMzhOQUFDY1AzTG8wUDU5NXd3MkoySkJ5V3BQclZyWEE4RHBYVHQzYkR0cnRDMFJpT1Y4MlZ0V0dHMkJERWpHcHZWcmp4cHRSWVNCa2cwN2VhdFdyRGhqdEJFUkJFcFdEMXk3bHl6ZWhaMHliVURKNmtYMmdsODJ1WXcySWhKQXllcEl6ay96ZGh0dGcvV3hHVzFBWmFMQnN6djNQcDFxdEJWV0J5V3JLMXlIRDdQbTk3SGNWNXVwUU1ucVRkeWRhL1krbkdpMEZSWUdKV3NBN2IvSW1GckxhQ01zQzByV0VGSmZ6WmlSWnJRUkZnVWxheEJKVHgzOWJ6MmpqYkFrS0ZuRGlILzg2TnZWalRiQ2dxQmtEU1R4WDBlZWlqWGFDTXVCa2pXVW1qUDJETVFoTDNtZ1pBMm0xZUlGVFl5MndWcWdaSTJHRzdMdnVXaWpqYkFTS0ZualNYcHZZMGVqYmJBUUtGa3owRzNMaTlqUVNnVWxhd3JpM2xyWjFHZ2JyQUpLMWlUMDNqSEdhQk1zQWtyV0xGU2IvMG04MFRaWUFwU3NhZUFtcldwb3RBMVdBQ1ZySW5wczZXMjBDUllBSldzbTZ2NTF2OUVtbUIrVXJLbUltek1OUDVFUTRBc3lGN2FYWjhjWWJZUEpRY21halFkK1NqRGFCSE9Ea2pVZFF4YWxHRzJDcVVISm1vK2JsMVF4MmdRemc1STFJYjBYWXp2TEJpVnJSbm92d0YzalRGQ3lwdVNtNzNIY2dBVksxcHdNL2h3L0dRYjRZa3pLQTY4WmJZRlpRY21hbGY5N3dHZ0xUQXBLMXF6WVp1SWFHU29vV2RNUzl5T3VSYVNCa2pVdmRYK0lNOW9FTTRLU05USFhtZWNrU1JPQmtqVXprNGNiYllFSlFjbWFHZHVzQmthYllENVFzcWFtNXV3b28wMHdIU2haYzNQYkkwWmJZRHBRc2labk9vYms0SUdTTlRuSk0vRWpDZ2JmaDlucGQ2ZlJGcGdNbEt6cGViZXEwUmFZQzVTczZhbi9rdEVXbUF2TFJUMVhmWWJ0N1U3Vk5rVFpZK0lUVTZyVnFGVzNmcDJZOEwvQnNvNUh3djRNQzJFMzJnRGRXZW5Rc3JTWXRHYXQyblJvbjZ4bG1YeGkzeG9SenVLdFJ1VnJaYU0xbGF3YmUrdHJyKy9iTUd6djB0VjdVN2lLUnNMUExVUWxZZnRlU1orOHJGU3RjUXhXV3E1bFFmeVlWN0lBVVBYZXBSVmFTSlNQNjZZd0dvMkVHVk5MRmdEcS85OUpEVFRLWjFWNGpVYkNpZGtsQ3hBMWZKTVdLZzNDMVN2Y1Zsc0hISmZWSE9kdlBXOWFyM0daM1BNYUYyaGhVTExoWVBVTkF3OXFXK0xBVnRxV1oyRlFzdUhoejQ1UFg5R3lQUHRrTFV1ek5DalpNT0g0cU4yZldwWTNGcU1oZWtESmhvMmNPeDY1cWwxcFZlN1dyaXhyZzVJTkgyVFd0WWUxSysxaG5FNXdnNUlOSi8vMCtFT3pzanAxMXF3b2E0T1NEU3VYaDM2cVZWSGNPSzFLc2pnbzJmRGltS3haQk1QUmVKZzRBS0JrdzgvVUtSb1ZWSytQUmdWWkhKUnMySG5yVFkwS0dxMVJPUllISlJ0K1h2NUttM0lHb1djQWdKTFZBL0xvR2szS3FYT3RKc1ZZSFpTc0RwU1B5ZEdrbkRzMEtjWHFvR1QxNE54WVRYYnY5TmVpRU11RGt0V0ZkWnBFaW0yYnBrVXBWZ2NscXcrdjc5ZWdrS2diTlNqRThxQms5YUhzTVpjR3BmVFZvQXpMZzVMVmlRM3pOQ2dFSnhNQUphc2ZMMm13RXJFeE9yTW9XZjNJbnFXK2pLanU2c3V3UENoWjNYaS9SSDBaS0ZtVXJJNmMrcC82TXJxcUw4THlvR1QxNHhQMWd3WWQ4Zk5DeWVySS9vMnFpNmlPL1MrVXJKNm9YOUZsYTZ1QkdSWUhKYXNqQzlTUGM3WFJ3QXlMZzVMVmtjdC9xUzRDZzhhZ1pIVmxvZW9TbW10Z2hjVkJ5ZXJKY3RYbk5EVFR3Z3hyZzVMVms5UC9xQzJoVnFJV2RsZ2FsS3l1ckZWYndGOWhPT25CWXFCa2RVWHR5T3lpc1dXYTJHRmxVTEs2c3BPb3lyNW9YS0ZHaGxnWWxLeXVuQ3hRazN2eHZackdyTFVvS0ZsZGNha0o3cjFrN0dYTkRMRXdLRmw5VVJHOWMvRTkyTVlDb0dUMTVvVGluSXZHb1dJQkFDV3JONWxLTXk2K0Y3MENONVh2MkdWanlWT1liOGxZYkdNOVlDdXJMMmVVWlZ1TWl2V0JrdFdYQWtXckRCYVBRNi9BQjBwV1h3cVZUTGorZ1lvTkFDV3JMMlVWOHZNc3VZZXVXUHNZWElwb0JjeC83TEk0NTJRYnZJUnhTSjM5UGFmajc5R3grcHFQeU1mcWtzMlZyZGlxOUlLaTMzWVNRa2plMUhyNlZnQ1JpOVVsbXlYVDNEOVliZXgwcHlkRnlkZnQ5YTBDSWcrclN6WkhJOFcrNi9RbmNpN3FnVWN2bWhlclMvYVVQTVV5dkFMN084NmdkSzdsMStsYkRVUTZWcGRzdmh4Yi8yUXA5aTBuUDZscmNVZDlLNEpJeGVLU3RWMlZvMWlXVi9DMlFMR0VFTWMzRGZTdEN5SU5pMHMycVZ5R1lobHRiQlJWc1lTUW9xbTRtZEdFV0Z5eTlSaHFrNkZZaWxmZzQrUXc3SWVaRG90THRyMWtPNWV5dkFJUnhSSkNGamZTdDBKSVNDd3UyZHNrSzVibEZZZ3JscEFyaitNa3ZMbXd1R1FmbEdnbDB5dVlIdHF6V0lzaFpVeUZ4U1U3VFpxUnkxaUtmVU9LTDF6NE1IcTBKc0xpa3AwdnlVYW1ZdCtVMkh2N3RicSsxVUpFc0xoazkwZ3hrYVhZS0FsZWdZZXNudnJXQzJGamJjbkdTcGxKV0ZhTm50bitoa042TmN1ZlJPZkFKRmhic3Awa0dMaWMxY2ErTG4xTWx4QkM1aVhvV3plRWdiVWxPeUcwZlV5dlFLb2Y2Mk1uVHVDYUFtdEw5cHVRNWkxbmVRVnZ5dkFLUEp6cXBtL3RFQ3FXbGl3WGNvRTNVN0V5dlFJM1JZUDFyUjlDdzlLU2JlMEtZWnhXZnF5WGlnbjZWaENoWUduSlBodkN0dVdNNGRRb09XTUZRYmorRHdjT2pNYlNrdDBnYmhwTHNiSkd0L2hNUjgwYWpKVWwyMGhjZVgreC9OaHB5cndDRHgraVpvM0Z5cEo5VWRTd0ZTeXZZSnFLTnBZUVFtYWdaZzNGd3BLMUhSR3o2NjhhOUZ4UnI2dFVMQ0Z2bzJhTnhNS1M3U2RtRnF1TnRiK21XckdFVE5HM29rZ1FGcGJzTWhHcm1GN0JWQTBVUzF5UDZGdFRKQkRyU3JhclNDZnFyM0Q1c1I0cWh1bGJWeVFBNjBwMk1kdW1GUXcvVmhPdmdCQkNTRkVQZlN1TCtMR3NaUHV3Wjc3K1ppbjJWYTBVUzhqcHhycldGdkZqVmNuYXR6TXQranVzZnF5WDNjbjZWaGp4WWxYSlRtSWF4R3hqTmZNSzNQeUlPMitOd2FLU2JYeVpaYy9LbXZRYzlsY3IxRmFWeC9QNlZobnhZRTNKUnExaW1iT1NOWVB3aXJadExDR2tySSsrbFViY1dGT3lyN0NzWVNwV1V6L1dRMDV0Zld1TkFJQkZKVHVBcFQrV1Y4Qk5raEZ1VGpxTDBKMDFBQ3RLdGwwQnc1WlZETVVDUkRVYy92N1dVclYxRlRCWnoyb2piaXdvMllhWkRGTldNYndDTDlXSHpwSjd0RUlJaWxyclUyVWtBT3RKdHQ0aGhpVXNyeUFRZTQ4UHM5WFdPSkJOMGVHdk1CS001U1Ria0tWWXRsY1FURXkvbjByVVZ0b1BqblRwanRVazI0N2xGYXlXcUZnQWdMVFh6cWl0dHBlaTlQRFZGYUZpTWNuMlp4M25JYldOOVpEMGhGYit3WEljTmRBWlMwazJhZ3ByQmt1S0h4dE13dFB5enhLbGNtYzRhb3F3c1pKazA1YXpqRmhUUzBGeDFXZVVxYTA4SVlSa015TGFJMkhDT3BLMTNYdUJaWU1jUHphUUR1dlYxcDRRUXFaclcwOGtCSmFSYk5zVlRCTld5MjlqR3ovODJtTXRPYkEvV2FpMi9vUVVZMkI2WGJHSVpPdCt3djRTWDVNcXQ3U29SODhSUWdwZXNBTzAyYUgyQlJBeVB4dzFSbGhZUXJKMTM3bkNObUN0L0RaMnJIdkZnZU54QUlqL05GUmdyNUE0TEIwUjBYSTczRzlab2JLQWFJY21kb2pRN3ZHeEl0R0lkNDI3d0x2aXpDY0FzU0tkb3JpL1c3aC9PZFg1SEFEY1B6TmVwWVhMK3hPVkpSZ0lTbFpqa29jODFGdDA1UE55QmY5SytaUzVrUHlqU01zWFZkWHpNWkhiL3dJQTZQV3J5bFdFNU1hMTZncEFaR0JxeHlCcDhQOHVLVEJwUGtDNnRHN1ZLUGR6MG84cGVFb2dLeTNYVlBreCtLajNDQ0txNmMyMzM1Z1NJdEhCM1pTTEpSOEJuSGorZW5hdW1LR2V4U3lPSFBmUG8zMlh0Vk5pbzQ4YnIxK3ZLajhpQTFPMnNrblhUcDZYS2FGWHRGYjJXQUVBQU5pWGV2SnZpL05lcXIxWDNWdjRRN082STZFd2wyUmphblc5ODVVZi9wRzQwa3FoWWdIYXVCY1luT251djFTSHRVQk1HbzVPbXRUZkNDem4wNmp1ZnQzc1ZKZWZzMFZGeDhZbkpWZXRYck4yM2RRcU1sN2dodUhubFQ2MDVSdTNKSmF1ZVhsdndLVkc2MVVkT1BQdGZXcHlHMG5sazZ4aHJCK2hXTEVBdGxyVkxwOFBIdXZvdUZiTllvR1M1cWRVNURZU1hJbW1GK3RIcWxBc3VNNGVQczBibmR0N3Q1cmh1bmpMSHZ5Qmt0V0pEYVBPYVYza255K3B5VDArVmlzN2RBWWxxdzhiaDU5TmFaNWVUYjRmbHRTNFpRMVdydmQrVjJGUjJpQVZtUkVacUI0eE1JVDFxZFduWjVhVm5mNWNacGNwNWVWanBXWG52Mm5PdUYyZHRVdEhDc3RVZnhhSUpDd3AyUTIxNjI5ei8zYThqWnpLVnYvYm5Tdm5Xa2FDUGlwaXlwUTNWdjlwSUJLd29tUTNwTm9YZUgvZkl1UDhidHNYM2x5SFdSRVBQbEJoRnA2Z29BOFdsT3lHVkxqT0Y2L0lPZHJHeDEweFRuRGQxcXJJVjhZa3h1dElPS3JjcmdQVzdNamdHb093czNINE9lamppM2hoKy9obFhtL0tOZjhkRjBDREw5TUVPWk1TZmIvZTlpbTk4S3VQL2FWNGFMMU5seDFLc3hvSlNqYmNiQnB4RGlCZ3BqWlZNR3RiL1pOQ2dJSDlSRXVwWm5QUmIvejl3MTJLVFJ1TmtrV0ViQnA2SGdETytpK2M0ODhvdU9ZVkE4Q1NJY0xCaE9TR3ZsOExHSW9GK05mZ1JOYXRVSXg0VWVYa05TSUZpL215RzkxdGFnKy9MenNxaW9mWGwrVmZqNHBLOS91eWo3SGZ5R3ZLcmJ0R2h3OE1zWlprTjNxMkQ5aC84MTdaTEdmRTRFdHZMdWFJQVFBa24xVnMzdXZxUGd0RUVwYVM3Q2JmaHBkNlc5MVhaSTdMcm5BdndzM3RMcGJxYWNYMjdiYmNxaWdyWWlYSmJncm9hVldmbnVGdzVIeFdUMTV0azZZY0xuZWUrVVk4OEVEOEthVUdPaG9wK0FRUW1WaElzcHVDTnhXbU5HdFJUWDU5RTV1MHFCbXFMWHhPc1lrUHlUY0lrWXQxSkx0WlpCdXNQVEZSYkt3bXlpN3JHenVaRlY0eEpEL0plWXhKc09ZRWlCWFlPdVFzNjFiTkY3ZG1abTUrbnRIbWN0Zk1XTDM1cHdkbHJOOHUvRkt1Y1Y3NllGRHY4R09WVmxha2plMXkySjFrZjN2YTNmaDMzVHZKOW90MnVZSnBxUGhVTyt0dUFiTU9GcEhzNWpyTUdqVHlyUmc4UXVtTVJYM3MzYWw3cXEzMHQvSWJ3NHlRUEtYZ0kwRGtZUTNKYm1XM3NkeFgvbVFmQzEzV0FmNER2NVpMLzlidXA5VFFYeFI5Q0lnY0xDSFpMU0k5cjdvQndiaFBwVVpIUjBlN2RSc1ZIUjBkSFIyOXlIKzNUUHJrVkpUU3RkNjVVV28vRU4zQk5RWmhZTXN3WnM4TG9GbkFSRmFkN1E0QTEvL2VjQUUwL3RxOW9DQmdQVmRNejUxU24rajg5bVhaVmdJQVFMMkdKNVZsUkNSamdWWjJTMTJ4Q3R3c2lDcVRtd3dBajFBS21pcjl0YVFyTlhhTXVvL0RBTENWMVp4dFE4K0kzYjVZRWVQNzNiSGZBVUIrTEFLQVJmM3FBd0JBMjRBMUNETDI1QjdkcVhDSnl6VS9Lc3VIU01iMHJld1c5bGdCQUFERUgvQ24zUjdIY1p5bkM4YTUrY1YvdDdTRGpQZnlna0p6clJmSkJLY1NOR2JyTU5FMkZxRGtJOS9TVjhkSHBZUVFUM1JpajRSbWx2bFNMajhvNDdtL3lqRXlnUGI0UFJ0dVRON0tiZzI5N2lYbUs0ODM2NXhKR2NXeVRYZDZpanJaUXRhTDJhZk1ZR2Q5V1U4eEFmZy9waW5iaHA0T21hWjhVdGFUMVFESXhROW1lQUo2Yy9HMVl5OWNjb2NyY3IxYTlFSUtBTGkyVFRnbTY5SC9HU0RYV0RkVjhwVGxNd3pMTFpnMGRSaTViY01reFdiajBtNUxoOE4vZWJYUytza0IxVzFsZTJmL1V1cSsyMnJVdGZFWlM1ZGVEWmVWaUw2WTJUR1E0QlVJc1Uzd3JNTnkvdUViSE9NczE1SWdiRXdzMlcyaTQ3RXN4dnNQQ0Z1SFIzVkdJdWFWckRMRnBwOFBLT0p0YkYxRGc0TmNXckZ0V09pZUY0VkhBbyt6ZlZDSloxSFpRTWxxeFBiaGlucmVjVUg5L0ZvOXRURW1va0hKYXNPT29jckdpbEtDdlFrWlMyUXJMU2haVGRnK1ZPSEpBN3hOWGxhTnJLMG5LRmt0MkRGTTZYaDhZWEhRbjFucWJZbDRVTElhc0ZPaFZ3QUF4VnNEL3lyZHB0NllpQWNscTU0ZFEyUXFsa3Z0MEsyMWV3eldOU2Z3V0puMSs5ejM0K054dEN0eU1OKzQ3SFpoWUZoUmJMMS9PZTF3bG1kOG1nNEFFUDI5djZTTDF3QUExMnpLNm9PSE5yelpEbHVUQ01GMGtwV3IySVQzdk1lSG5oOXZBNERxUzczYkZQS0hjd0J4VXp6enQ0WHZoenJER2JFR1pwUHNkcG1MOTJMbStEZlNsRDNLQVVEU3k2ZGNoSkNTdjY0QmdQaTV2dHV1cFFyaUlTSG13MlNTM1NHempZVUpnV2ZJWE80S0FNQ2xEbnZwellsZDdBREF2UmE0TSt4TDYyMS9SWVNZUzdJNzVCNTlYQzBqS1AvdlBJZTE3ZVhBdTZVM2F2YmFJZ2owOGRXd2MxaU96QnczTmhiN0UrNEw4bDlqSitEQWdSRGNsYUNDWFVOejVXYnBGU3pDbEg4ZEJlQ3lmcStBdUZHcEFOd0lYdW9xbDFRWmlKZ0JFemtHc3IwQ0FHNCtyU0RIUUlBSmd2QUdoSkJTK1UrSWZMQ1ZWY3d1MlY0QkFQRFBvM2NSQUxoeUFlRDAxVGdBNFBXM09PeC9DVUhKS21YM0VObGVBUURKNVAzOTJDNEF1SkFKOEVlWEtnQXh2QkR6eGJqL0t3SXdpMk93VTlsM051K2M1Tk84Yyt0K0NIN0lPb3hZTEtUeXRiSnJpQmFsWEh4V2dWY0FBRnQzQkIzNi9UUHYzTHJ2UmdhNkFtUitoYUtISUtaQ2RTdHI4RC9wVGNVQnRtVHdwODVpbGdXYXVodW5iQ01CcTB1V2U3VEVaOHFaM29MYnpZNzVMVDEzTFNVL1lqbXNMbG13amZCTWdEazNkNmJjYnJQTk85cDFHRGVDUlFhV2x5eEE2dVBMTXM0YyttVTAvV2pRS2svdkxYRTRTbzlNcmVXOXd1RVVaU0NXbXhGVUhlQW9tajgwcWdzSmRaT2MrV2U5QjNOSEpVUlZYR1YyQStQVEduTzUyVVh1UDJLdnViVjU4cVdEeS8vQlE3MnRpaFZiV2E3Rit3ZUxuWTd6YSs2WGV3NDkxMmVkKzN5a2tvVnlnczBpWnNLQ2tvMSs4cUxuMmE2dDhzN1ppbnJXUDc1d2NZemx2aEVSQUxDaVpLTm5CRXdmbk80bEl5YzNPZkFJdXFKQllUTVJDU2ZXayt6alFSTmVKeHRLejlucFVwRGxXUmoreUpKWVRyS056d2MvL3l2Si9YL2JUenpUcDRmVFRzdUE0eWZoWm56TjRMOUhOcFdhczlHdHZBdWpjRFlNVUxKaEozb3c3MEx5N1ZLemRxN0t1OUJJc3RvakdlTUgxaU9jMm9JVlh3ODI0Vjg1K1dVWkpEL0NQM3lKQ0U3eWltcTJSMFBMckFwS05zd2tKL092ZEJiTTA3cnlGc0Q5NzBnWXc4SW9jNENTRFRzT0ovOFZPOHI1YWZKUEFCeTRJSmhtaU9JcmxNZzRiakZ5UWNtR21Zc1grVU5UWDMvSVQ1Ti9EbUJWWjBGejNPRjczajZhcTBjMU5jMmlvR1REVFA1ZW5tVEpvc1BVaE1KUWRMbkhXd1pmMkt3d2lHMWtnU01HNFdhdUsvanZvK3VrNWl6NlBIamxqT05qUTFiMElDcXgzRlJDM0xxZ3h6c2VrSjQxYVgxUTFubjRsV2hKTENkWmFITXE4UEZ6NWV4QWJIWXdJT2ZxR21FekVRa24xcE1zWEh2UzkzRG5kMG15c2paYzRsMmdVRDRiNHlCYUZBdEtGaHJNTFhJL08rTmh1YnU4WTRZdE8rY2tqcnlmKzJJVURnK1dXNE5weVYwSlhJdUJuV3VYWmE1ZXJTREVGcGRhTy9icTZYenRqYklxNk5IckFUbDZGR3pnQ3AyUWx2ZnNXWTJ0c1Rnb1diMVFKbGhFQUk3TEloWURXMWtGY0YxMlNrMXFiOXc4alR0MUpNdkFTRVhKN1d0ekJRZHdlWUpobUdERWdCdS9VR0xLK1BzM1hTV0VrS3ZiSHBhN3QxWXJFb2QrbTFudU9MdndvVnFoMHlKaHdYakpjdmVYL0M0dFplY3RUdTlUWFR1NnFYMnVFcUpHN1BjR244bDloaDdxQXdrM2hrdVd1NitFL0NBcFpiK2dYVi81QTFVK1dBSHgvd25Zb3V0YVhqZDBEa1I3akpZczkwQUpJZDlLU2RtSnQwK3hvSWU2SjhzbitxdmdhUFpiYTRiT2cyaU93WkxsN3I5S0NKa2pJV1hpVnY2VGR3dFd4SWFacDV3OEM3N0YzcllCR0N0Wjd0NnJoQkF5UzBMUzhZTHpPbHlUMVR4YVBrM1A4eTJvaUlUb0hUZ3VLd2Z1M2xueEFKS21CZXlQQ3ViQ3VmSHgycHNrd21NQ1A4RCtkQVJFc2tmSnlvQzc3N000QUpBazJmVFd3bXR0bXdtdmhZK0VJY0pyMTBYQXRuSjBicVREamZ0VWVqUFpsaktrRkQweVZYZ1JBRTRmVm5OK1ErSUkrckxFNnBRRFNHTDdIbEh4SkhPQWtwVU1OM1pXbk9kWENkOU4xUGhacjlEVFh1bS9XYUZOQUFDUFNkbE83b0ZycStKQkpnRWxLeFh1M3MvaWZMK0hUazVWTlNOZkFqOHNqQ3dLbmZUL0lJNzJORlZQTWdjb1dZbHc5ODcwZXdVUzNocDFUdi9yWGRTMHVhcldBTS9aUTNkWHVyOU51VmlvNWtubUFDVXJEZTZlendLRUlhSGZmYmc4Um5ETk5YT0hoaVo1cWRoQ3YzNkZZZ0ZZMzVYRkVRTnBjR08vREd6S0tGcmdjK0NrOEZxR3JxRXpEcDhSWGl0ZnJhY0Y0UUVsS3dWdTNPZHhnWC9Ic1JMNktmMUdlRzMrRmEwTWtrTHhFdUcxWFJodlJuK01tUDNpeGhZSGw3RlVRcWFhSi9oUHp0WjVXVXE3eTN3TG5QZm9hd0VDWUloa3VYdXU4c3FRRlBEbERsNnUwcEd5bjZ5UzEvbHp4bjlJOEdnUXJkRmZzb0kybGhCSm14SzRTYVdCZWNxZTFIMDNjOEtpWUxNUEt6dmRIRkdIN3BMbHhna1VTNlI1aE55b1BIK1cwM2NiMEcxSStUbHdMZGRPWGVlTEVTOTZTNWE3UjZoWVF1bUxVMm40MFNrWElZUzR6bnpTV0c1Rk5TSG1pUnl2YzNEcGd3Z0prSVNoTjhUaDdwcE5HYWd2cWlheEVLNUc5NjUxNGZUdXJlZlZyQ0pRUStxb0llbEozTlZUeTc0N2JwUUpsUjE5VzFtS0gwc0lJV1ZXbXZlMDFlelNMUzJDcG93aXFDcGhnTHY3YytvZXYrZ2tCWkdLak1KMTRZTFJKbWdLVGlXSXdOMzFCWDB2TnhjaGJxRWx3VmFXRFhmM2w2ejFzWG9HQmVEaTdlV2xPajdQN0tCa21YRDNmTTVjMFUxZnFzM0czcVJWemZLOGZRWHllMEQxaHZkckhGOTRmUEVTakgxb1ZYVHJmbkYzRmJFTGVVYVd6ZlpCcTY4UVFoeW5QcFc3anlYbUNVOEljTmV4TVJoZzFxTG9KVm51THVwWWdZZjM1SmhjOVJ0ZkFJd3pkOHJxUENSODdaOEtLSitHMzRqV1JDZkpjbmVMdExHRXpKTmhjZkt5Z0l3bEQ4Z1lDWS82YitBaUFjZlRsaHRFUndEMGtxeW9WMEFrcm92eEZQVlJVTTVMWGFWbjdWOFduTFdkOUt5SWVkQkZzdHdZTWErQUVKSWgzZUF1dkFWZHl5U0hFckN2NFQzMUsyeG1BVWNNcUhCajVvU0lFbGduVHZLdzB3VGVzTU9OMSt6akp5bHpBa0MwUU1xdHV2TXVES2dSV1pNQ3lrREpDdUh1L0RKVVhNdTRPcGtTQzR1L2lYY2g1bWZCM29TOEIvS2d6YXpxL01zSi9ERzJtczFSc2hZay9JNEJOMGJjanlXRUVIS2pWSHNiRjBxdzZTNkE1eVVrYzQxUjkrNGlBMnhsK1hDanZwSVFPN2laMUgxL0NZSjlZcGNFdTF4UHJBRDRxYWRnbTAzZGhnTGJKRDQwb2tISjh1REd6SllTN2JxRjFQSkt5L212ZU5tOS9Ea3dsd3NnYTRSZ3hIYnMxN3dMSkZmcVV5TVpsR3d3M09ndkpaMXEwREowRWpmbnpqYmhYVGxLUCtyREpZaE50NmNzTnZoQy9qR3BUNDFrY0NWWEVOeklPZElPbVcwbHRjU2lqYndMenIra1pqMjBoM2ZoNy9OU3N5SW1JcnpkcjlFaHhtTjlsRWcrWWFaUGVYRE9UUktDSUhnWVZSR1VzNWcvNklWWWduQktWdEpZZ1llT1VnMk8raTRvWDhrdDB1dHFueHVZMHprVmUxK1dKSXlTNVVaSkdaRHlJRDJJUmVyT2dHeU9GK1hvcnNydi9rVUd6azlpUTJkQVRFZ1lKVHRTZWhzcmF5MVgvYjk5d2l0NlZsNS9OK0gxUzU2Y3B4K0xnSmp4bFpQd1NYYTBITVVTeVowb0FFaVlmTGlDRU9JcVh0eEQ3bmM3bHo1dHcrbUNuSlhQMVplWk1YS3huSHVrZGxQNGlYVDZRUWZjeUsra2pSVjRPRi9YS1NOMVVxY3VOU3F5TjJWNjlwTFg3dGdxT21kM0Jxc0VlMnFLODZKdkIwTjBZcFNqU003REVIT2hzcFU5VGpsMUF3Q0FrK1VWRUVLY3lrT3YxUDNQR1JjaHBQaVBhNmtOUnNwam15NVdsT1g4ZWl1T21VY0c2aVI3bkRHZUtsdXhoQ2llNys5MjNGdEUwV1RLNXBocmRuczgzL0s1Vm9xV2dEQlJKZGtUakRZVzVJd1ZlSmloc0FLdGMvMWxsSTBYM081MnhuOTdtZDdITVNMaFFJMWtqN2RoRkRwU3ZtSUpJOXg3S0dKV0JoWnlnYjlXb2RxK3dOc3pjSEl5QWxBaFdXWWJPMXkyVjBBSUtWSFdCTjRlUEtQMU1jK2RmUzdvYm1FRW5IbUVLSmRzQmt1eDh2MVlRb2lNSmJOQnpBNHVKRE9GOHg1MnhIRWNGN3N2K1BZMFpTOHBvcWs4dmRJVGd3OVJyM01qdnBhOFhpQ0l2a3FPeW9qcUhQeDMycytsQUJtdlhvSGEwK29BUUF5dmU5alhKdUhzVWNUY0tHMWxNeGgrTERkTWdSOUxDSkcxeTlaUDRsRktTYTR4ZkkvQXl4R2M4aEpRV1ZyWnpJSDBOaFlHL2s5Wkd3dlFMVVhCQVRQODZGcmtnaE1nYnh2QXlvUFZBU0M2ZXJCdlN6QW1ySUJLSXRrTWhsY0EwRk9wWWlHdTl4L3lNMVdjYUIvMGQzNzN5d0FscFFDN3U4VUNRTDFOS1VHMzg5QXZFRkE1UmxFeUJ4OWczZHFtdk5SK1NqSXREbTQzMTJZWEZCU1VBZ0JjTFNnb0tEaDZPRGoxU3BTczlWSGl5MmF5eGdvQW9MNURRWUZ1amlsWm9GRTF5Smt0Njh1N1BUSG8zS01DUEpBakFsQWdXVmJQeTQzZ1JEbkpPRVgrRTlnTUNvd2U4NGtOQUdJSHpOcThhOG5URFFBQUVqY0czSFc5YkxsVlM0Z1ErWkk5S1I3SzZsdkZraVV2S0trQTk2aFBzNjc1aVFEUVpyVzdvVC8vaEIwQVd2cFdJQkRYOTlMMzNDRG1SYlprUXlnV0ppaVhMSDhub2pTNG0zZTZRM0NlZWlZT0FEcmxlSXR6dmhNRkFNMVhlQUowRnIwdFpYYzZZbnJrU3Zaa3FEblAxdnhUTTZWVG9mQzB3dmgrSHk1WTh0Vjl0UUVBcXV3S0tPOHVBSURZWWI5bEZWLys1NVBPNkJWRUJqSWxHNnFOQmJEbGhTNkZ4UlBLNitIVjQrVEEvNWdEN2xYbXRxUWExWmd4N3hHcklVK3lKOXVITG5HZWNzbHVVRjJkNkEyQjVUbjRNZWNRSVpFOUxwczFlSC9vUkN1Vmw5OUQ5U0JVVXRCb1J0UTFhc3VyQkVTMFpMUHVrS0JZV0tWOHVEN3FUc1ZaUFNRRVR6L1dWRnRlSlNDU0paczE2QjhweVRJRmtRaWxNMDd0KzdzYWZCZ3VucFFVbWdpV2JLWVVyd0FBWUxueVo2VDNVcDRYQUFDS2d2NWZYTHRVRmxjWmlGekpaZzhXQkhobjhLZnloM0FQS2M4TEFBQVZQd2F1T1RpbWNIY09ZbWFramhoSUdTdndFRitnZk15Z1NPMXB0dFgyK3d1cnVGZGxZWldDU0YxOG1EbEVvbGNBQUNVclJ5aCtUdUo5SHlyT0N3QUFCZU4vOTRidmRzMzhYa1ZCTHc1V2xtLzhRUlVQUlNRZ3JaWE42aUNuekhIS1cxbHlUTkUvZlZSTWpNOGw2N1RKUFVPYi82OFk3eVdiZkg4dDVwd3krd3NWcnhjMmlzaHNaU1gzdk53czVZZkxsa0h6TzM2WG5TZmw3aEhwY1Bqbkh3c0JBR0RQTGJjUGJSZDdldlVQR1c2M2xtczV1bk44OXJMbHhiTEtIS1R3OFBKZDhoNkR5RWRLSzVzcE9maXJoK1hLV2loQ2lKSXRZSzEzdUFnaHhMWEpkd2d6WjR2eXRhc3hMMThtaEJEblJua2J3cGNxTkgrcWJQTVJtVWlRYkpaY3hjTERDajl2UWdoeHlSM25xbmZZbTNVUHBXVzB2ZU05YWZtRTVDTkVBS0NKMHBYcU44aTBIcEZOYU1sbXl2SmpBUUFndFZUaEIwNElJWXZsUFl2NzFKLzFYZUh0bS95bS9DN0RhNXV1MFBoTHVQd203SVNVckd5dkFBRGdUNFdmT0NHRU9PVXRERWdOQ0xxVlhjTXJudUo3QUFBZ0FFbEVRVlJ1dDl2dEhBQ0F6VzYzMiszMlgveDNTNlRYSkY1aDU0c3NrdmVlekVERWRiK3loKzVWa092Ny9zcWZhSHRWMXZCUzh3QnZJRzFWR1FEQW1wZktvZkYvNndBQWNBRWViRnd2eVZXNVcySG5TODNNSHlLUkVLMXNWaWRGcGFaY1Z0aEtFVUtJczRlc0NnaVhsSmMwb3g4SU9sVnFtYlo5bE55U1RHOGF1bkN6RVdHdGJNNFEvbGxaMHJpeWNKenloOXJldkVWR2hJeDhoejhDalBPRUV3QmdVeDdBNGtIdVZWeE5BOGJiTGtvdHM3LzBxYjVnRHB4VW1CR1JqbWdybTlVNWRBRjBibExZVEJGQ0NIRU5sUEdrcElCZDRYdXF4TWJHeHNaeUFBQlJzYkd4c2JGeGkveDN5eVE3eVd1Vld2Nm03QmVGeUVaTXNsbGRGQmNiZFZ5azNKQWNpQW45QkI5UCtqd0RCMlZSVFgvL3lYYkxwWmJhUjdIaDNXVFlqU2hFUkxMWnl2eFlOeThwL3RnSkllUXBHVStLLzhXaldkZi9LSk51OXBsZVJaK1MrbTNQclZKcWRrYUUrWVhtaEMzWmJNVmVBUUJBbXBxaFdWSWdPSmxlaE9RUEN3a2g1UExiMU9uOWhQZXVFa0tJYTUva1R0M05pczErWDRiVmlGS1lrbFhoRlFBQXdLK0tQM2hDQ0pHMUJzdlcrdG5aWHo2ZHp0ajBiZXYrMGNhZEN4NnFJcm0wcllxdHhrTng5WUFsMlJ5VmlsWFJWaEZDaUd1QXZLZUp4eWpnYkRKaUdOeXAyT2pEbEFOeEVNMWhTRmFkVndBQVlOdFBMMWtpV2FGT1BJcHFPWEJRTzlrUmpybWFYWHMyRmwyS21IQlNzYzFUNVZxREtJRXUyV3dOZGxOUFZQelJFMElJbVNOZWVzdmZDd201dWxwbUY3M21CM2tWcnZ5Rll2M0tWeFZiN0VpWFp3eWlES3BrYzdUWS81OTBWdkdIVHdnaHJtRmloWGZJY3FmS2wzRzJQVUNkYmU1YzUyOW1KbWxlck5qaU5YSk1RUlJEazZ4cVA5Yk5OTVVmUGlHRWtQTWlFYnJpZkRFNGo4c0lWUkRsQzJSenNnNGppVzJaY29QdmsvVjJFS1ZRSkt1UllxR09zc09VZkt4aGU2cTMrWmF6dWg1TkZCQUZBQkFydk43Rkg0cjJhVWJCOXlzMzk0S3NZNmJOUXdTTUplY08xV2ozLzVtNWsxVGw3L1BHdjFpM3J2UDF6Ym5wendsR0E5WlBMSVcyYzFJRnVSTDhpMWx2b3A4LzJrREZac252aTVUblJXUWdhR1Z6dW1wV2RoTlYwd21FT0VlelN2NUFORjlKTTlZaFNqN1dVVWNOb2xZb045WmgxWk1iTGQvSzVnN2RxVmxaSitjOXFDcS9iYzV4Um9PZjQvLzFlQ2EvbFNXYnNnRit2RWE0NUxWR1IxL1NDOVRBWWMvSjZzd0ZzNHA1NGdtaUxieFdWc00yRmdDYXEyeG1TWFlhdmVDMnZuNTl4VzJjQUhjYTRmVm1WN3k1WE1JanhRR2dkem5kQ2tuY29lV0xRMFFJbHF5MmlnWDRVb1VHQ0NHRTdLSFBLTmcrOFM1MldTUmowWmZ0STIrdTNiVHAyM3E1S2d3OVlQbnZWOHNRSk5sY3JlT3hOcjdLK29pbHNwcCt3RUh5RDA1Q0NIR3RabzFXMFhQOTV0YnNVZG9PelBoTmF1eDhXTW5yUVpRUUtObGNqZHRZQUppaFJnYUVFRUtXME1ONHhJNWRlZWJjaGtreVk3UEVQN0s3NEhMbWgvVW90Mndxb284VGtvTTdhM1VqUUxLNVlWaWduSnF2VnJMa2QwYm9tYWo0UkFWZnh0R3BEZUpwYTJTNHQxVVorYXg4U3hDRitDVWJEc1VDL0Z1dFlnbFpva2NMOXB6eWczUUlJV2VTZFRBUmNlT1RiQmk4QWdDQWhBejFtbDB0ZWEycllpWTdRNXNod3ZOaE54RHg0WlZzbUJRTE1FYTlaTWx1eGxpWFpqeWhUckY1Mk1qcWlFZXllV0ZiVUc5VHZKTXFnT3lBWlE5eFZSSzFPSFF1T2lYWk93UEdUVkhsRlJBeVdRTjdFS200SlhzcWpGdERPNVJwb05raTcxazFWVjdlbDMvOHM4WnFqYktQWFhmdTFJTHJPUUFBK3ljcWpUdUdaK1BxeVMyRUVKSVgxczNNNzJzZ1dlS2FFUU1BVUgwZElVUlJhTHNnN0I4NUNDR2s2RjRBcUxwRXJXM01wUkJJT0xpRmhOTXJBQUNBbEV5MW1pQ0VFTEtsT1FCODdQbGprN3FHYlpSbjhlS0Y1dERtb0ZyRE5sajdUQmZMSGUxNzh6STRPM3hiZUo4eGFLRW1yNlh3bVRrMUQzcFdkTHUrRUlsV2xQOTFBU1RjVDVzdjhNQU45UjdDK0VybXAycTdUczVlVzFXV2dKZ1BWUk5MQVN3YkpLMW5QdzNnRVdrOUtoV0g1M2dKc1VrTnNTU3BwOVVyZ3hCQ2lIK3BsVXVFMHZzQStoZUtwZERJSEVJSXVTQmNTbTR0TE9jWTZNT0luelYrTVNWRDh0ZzN5MDY2Z0dzb3N2eUF2RHBHTTBzbWZxRlpVWWlaK0ViRGRvMFFRbWFwNi9KMDBzQWhjTE1XdzIxRUtGVlBhS1VSUWdoeC9xaTJ6M1NYbXRYY0FWeHRyY25yUVV6STlScHB4TTNXTzJYSGlRbWt4a3ZxWWl6NCtiZFc3d2N4SCtxaWR3ckllMTF4alBldXM1V0gxK0N4Q2ZjaVJEQjJOZWZYMFhDdWUwUkJaejN0bVQzYW1WRFlVdnYzaEppSDJ0bmFhY1ZEeFpwbjI4b1lpdURhUHI5QjNaSXRIaEd4ZXdZSHVkajBYS1g4YUZzMnVXdldiVHJzREpuTTFyelhEVGMxMVBiUlA0K1JjUXlKYVVISmlqRHhzekM5bml0Nzl1NC9mUHdNUTBBMW03WnUxNmxMTmMyZm5kRzFRT3NpalFBbEt3TDM2YU5oTEowVVorZWVQbmV4b0xDNHROd0Z0dWk0aE9TcTFWUHJwRFdzRXA1bEt5VTM3QWhMdVhxRGtoVWo1azkybEV6TE1lRkxveTNRQnBTc0tEWFdSOHpRKzZ4SEk4R1JCWlJzS0pwdGtCVXJ3N3lzN1ZkbXRBa2FnWklOUWJlL1U0dzJRUXVPOXpwbnRBbGFZZTBGNmpxd2ZYU3AwU1pvd01YQkVhTll3SFU5b1RoeGRLamxYMUxKNE1nWUxBQUFsS3dFRHVZTXN2aDNrZU9lcFVhYm9DRW8yZERzT1RQQTBwcDFQVExQYUJPMEJDVXJnWjFuKzF0WXMrVFptVWFib0Nrb1dTbnN6QjFvV2MyU2YzOWd0QW1JRWR5cE5pUzlVYmd3WWx4bFpXQ2gwZUpUaFBNcG8xOGNZaGc5dGRyTG9pY1ZEeG45MnJRSFo3OGswM0p4QzZOTmtFdkp1RitOTmtGN1VMTFNTZjM1QnFOTmtNZkZFV3VOTmlFTTRJaUJkSXAvck5mWmFCdmtjUHkyQ0pyejhvT1NsWUZqMGFXYnJQUEMxdmJQTXRvRXhBVGNlTXJvSHBWRVhKK0ZZK01hWWtIcXJ6WmFqSks0K2xERTlsS3M4ejFuRWdxL2g1N21mMm5IQnY1aHRBbUlpZWg3MHVnMk5CVHo2U2ZwSXBXVzZ0OXFHZkJWY3k0L0VMRk9BYUlVYm5pZTBicGtzNmFaMGE4SE1TTTF2OVkwOHBCMkZENkprZUlRT3JjZU1scWROSlpoRTRzd2lYL0pkSXU3OHU2MjdMSmVSQmNhenplVmQxRDZBUTRVSUtIb3RjRm9uZnB3TFdwbDlOdEFySUJ0MkQ2anRlcG04NDFHdndyRUt0akhtcUFmdG1jb09yR0lkS0x2TnJpbDNUWFMvRlBJaUxtSUdyek9zUGt3NTFycjd2NUZESVRyTWMrUVBiaWw4M3NZWFhYRXN0Ui9KVk52d2VhODFzRG9XaU9XSm5yZ2J6bzJ0V1ZMaHNZWVhXUEUrcVJPM3V6UVE2L08zYy9WTjdxdUJvSEwxRFNuK2NpUm5jTGJnM2NkK3VYbkEyRjlncGxCeVlhRHBvTUc5d3JYMXF1SzdRc1hINDZRWXc4VWdaSU5FMVZ2Nm5kckk2MUhuOGlwVmN2K2pweDQzTXBBeVlZUHJsbmZHM28zMUVxMjVQU0dkV3NPdVRRcXpjS2daTU5Ndys0OXVuVk1VZm1haS9idjJMSTFveko3QXdHZ1pIWEEzcnhqaDNadEdpb1prcXJJTzdoLy83NGo1WnJiWkYxUXNycVIyQ1M5V2RQR2pkSVNwQXduT0V0eXNyTk9aQnpMS0F5N1hWWURKYXMzWFBYYWRWSlRhOVNvV2pVNU9TRWhMamJhRGdCQW5HWGxaY1hGeFpjdlg4cS9jUDdjNlhNRjZMVXlRTWthRHNmWmlBdjlWQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCSklKaDVMU2xhb09HZFd0V1RZeUpjcFlYWDc1NE9pZTdBQVBFYVl3T2tvMUpsWlRNNWF3b0xiSHk1NXZjclZmWERuVjVwM3BVbk4yL1kvT1dBbU1zaWt4MGtHeXZEZExTRVVmRjFkTlp4LzdaZWJnc3ZBYUZnL3BEQi9kS1pOMHMzYnBvd1VrOXJVSFUwVXZ1TVd3WEZ6L1cwR2lqWlJFemZHbFppRHBWckxvelhLY3FJWm9qVzdLRWtQSlY5OFFiYmJkVUVwL0lrRlNucktlWXpUQmlMcFJJbGhDUzgxeVMwWlpMd1Q0K1czS1ZzdThMNzZtTGlFWW9sQ3doT2ZlYS94UHV1azFXbGRhMU50cGdSQUtLSlV2SWlzWkdHeTlPekxSUVBpeWZva2UxUG5FUjBSNFZraVVYaGhodHZSaHA2eFJVNlpzRW84MUdRcUZHc3FUaWVmTk9kblRMVlZTbGRUV01OaHdKZ1NySkV0Y2JadFhzN1ZjVVZtbTN0TGtWeEREVVNaYTRYalM2QW5RR2xTaXUwdllxUmh1UGlLSlNzc1F4MnVnYTBMajVxb29xL1JGdHRQbUlHR29sU3k2bEcxMEZJZTN6VlZWcHV0SDJJMktvbGl4Wlp6ZTZEbnhxSEZOWEkwYy9vMnRnWFN3eFN0ajdYcU10NEdHYjAxeGRBVkZmb0R0cll0UzNzaVRIWkxQemo2bXYwZ3lqNjJCWlRMVDRVSXpKbjZvdlF6dWE3a2tXdTExd0tMZVFTNm5mc3ByWXl5M3JlRVJqcXhETllMYXlMaDhoMjZTRFpscHR3QzBTc2ZUQ2U5MDh3d0gyVGxQRlZzek1NN1lTaUFnc3lSNUw4OUdvM2ExUHpMOGdwdGxlUnRjaWdBSHNmN0h5dDROODFMaG5DdGxKVmJyRGxSWURIWVBEdkZWTjhhTmVhY1lzNUtPbjVUM1UzcXhUaTdUcUJSUEYwbkJKTFpvM3JGTTlPUzZLbEJVWG5NdkpPSExCSmFYb0hSMVp0ODZNNHRlMXpVS21Najk0VHNMRFZNSWxObXZXb0U3MUt2SFJuTE9zc09CY2JzYlJpMUxxeUNlcWRzc21hYWxWRTJNNFowbmh4ZE5aeDA1YzFkeFdxWmhJc2dDSkh6L0FLdVJ3RzkrMnNJUzIxQlRGQjMyL3h2WWZlWE1kQUlDakxabFcxYnVsNzdYTlk0S3Z1WEszci8zcldLaVBkUFNQckR1bmJoTDZwL1hYTjJHa1B0dTQxUDFMSjliRXdoVmhjZEdkNkVuM0NUY2ZjV20zM05DZFgwVWd1VHMzckRqZ1pEeVJocjNUTGIyNzFPWUpwZlRRcGxXckxza294Vkt3SElORHdxUzJXYXl2VVVkZFg2S085QlJaM3Z0VnB1UjVyN0Y2T0RVbmIzUXdIdVQ2NXlYeFhUeTJuU3diaTYraHBlL0VuTmdkNEVteGtKVWdTemdFZVFNOTVRV0I2bXMvczkzSktwZGt2TnRXWWx2RmRma1AweUcvdW1oVWhHNE9raUZaaVB1SDlYNEcrTkswWTd4QTkrdXozWGZHZjQwdTJmUXZpcGdmSmlHRWxQM1lXYVE2TnpMelBVYlA4Q29yL1plZUJHTllDWnpDYWI4cDlKUnplY2xhZlIxaUJZUno1VzBTUkJzMVlwTjQxemp2eFlnY1g1WWpXUmpGZWpuUCtwSzBwQ2R3MUFZQXFMNGc4QnBOc25Wbmw0dC9tb1FReHp4MlMvc3pLOU1teHJSTTRobEdocE9lWVpEa1M2d2lIeElVdG95ZU1IaFpjWTNQUWxlUmtGVU1IOE1IZDl2dTBLV2NtMlM2cVVuMXlKSnNMR3ZjNEdOZmttYU1GT2tBME9SUTBDV2haRzBUQzBKL0RJU1F5NnpkQTZtczVzdDFBK3NGdk1aNmlMZTMrUjByd1hmOG9tTG8xaGNHTFJzZmNFcFNGVW41NjN4SE40amFQNFFlZkNTRWtPM3R4RXF4SkxJa0M0c1pxZjE5bnNhTUZOMEFHbVVHWHhKSXRvYllrR293QzZwUzdYdVVsWDRkOHdVMFozMzBkM2tTREdDVm1jMy92N21HbnU3WGdDVGNxMndmbHMvYU9reWo0ZGJUVWtzcGZwQmRpaldSSjlsM0dhbVgrVkkwWktTNENWTDI4Uzd4SmR2NnVOU1BnUkR5VDJPYWZhdFl5ZStpcFhhem41SEZ1NTRybHVVNnVQZ2pIay9UMDQzenA3RE5sRkZGY293MXJNZzlWU0dqbUEvMFhLcGl1bVV4K1l6ci9pNHhheEFxa2Z1a3ZYalozZGV6QjM2RnRGM2JRbml4Sm10TzQvSkNka21ybkhTOFE3Wmx2ekV5Y3IxNUYvaC91Nm40dy8vNzlFZlpkZ2hwL25jRCtvUGZtaUhIUlgxbXRwbG1KOVVqcjVYOU55UDFDbCtLZW93VW8rNFFmQUVIdDdLZDVhNXhQWmttTUkvWnUvOUI1QTNFMTZDVDRrM1FtMVhxdDhFRjJlbGYxdjUzQTNmTHJDTFpSVnR4eEwwbHQ1aFB6THJkU1JIYU9BYitScXdPSThVREJ3V1hnaVRiVUdLdkpJQWRncytUT1hCOHY1cFhaR2ZGbXprWi9DM0lHQ3laNUV1UXhoeDhZUElGeFo3SjBqcGVnY2ljblRRMzhpVEw2aC9OOWFWZ1NYYTU4RktnWk9PMnkvNFlDSm5EczQ0VC9sdTRjVFZWOVk3ZVpoVHJEQzUyUEQyUi84dGd2dndxT204V1dOTlh5aGdaajRyclZiMEFjNkhOSUpkLzYwa3FJd1dsWlFpVTdBejVId01ocnVIQjV0VmtkVXBPcS90aTdNUnExb0lYdDM5RlRiUFZkNys5OU1FQ1A3djVYbXNONlNHYkFzalFLeDZWMmJwZlExaWIvRU1IdXhRWHpmVlBLTEFHdVA4R3orNTBZSFZLOXFpTGpMdjNBT05HMEdBdjE1T2Fab0h2dDhlVmZKeWRCdkV1ZkVEdmtvV2d5VFFsdVJSZ01zbkd2OGE2YzVCMVF4cFJNOWsxZFJZN21QZnFCMjlKWnc1SnFEU1AyWHU3SWZBZnNUWmxDQVBBNytiSGpxRVhzdmU5Q1hlTmUvYXJMUHBkbUJUODV3M2o2TWtBQU1xdXN2ODFKN1BYSUZrTk9jdGl2bUY5N1pUNkIvWlpqZ0VGdjJOQTl3SUpJVHNudG9nQ1c0Tzdsak8rbW92cUJScjRPYXNZV1VOTEZGb3dsdWs0Nmdja0drcE40djl2dVkxNi81SjNOcGNiY0ppYW9EeG9ZTVMybVZIRnNybjlhd0RFZFo2U3cwZ2dObWhpTGFSTHRzcVBqS1NFYlBPblVpTFo2SlAwQkNVVGZhM1lJTVlRMkR1QkZxNWdQV21nMnJmRUVzcklnRFR2VVZPODVicy9qWHIvVG44QktldXBLWUtXZkE1a0dMTEh0MVkwZ2ZHUDZ6RGg1bjFsU0pWczhpU1JHRmV2KzlNcGtTeGp1TEo4UU1EemU5Q0RhVndJN0ZZY1pUMUpiTzJYSkI1bkZQeFJRSm9OMUJUZGZmZXBxeGdMQWhjUzFLT3VVWmdka0lKYlE3ZGpkK0Q4OWFmME5QOVYreExNQWt1eUoxcjVhTnRqK0pRbHhZeDBoQkRpQ3BCRVRaRjBQSHlTM1VpL0grdzVNeGIyQmJoMmpGVXBoTGdVOVZnQ3FjY0krN25EbnlTZXVtWXl4KytrNzZIZHp3cnFsbEpIMDdZR0pPaEFIM1FvRG5LajQ0NVFFMTIwVE9UMUVHaXdLWnpzQ25qdk5hUm44MHEyRmYxMlhuRGN6Q1Q2QUp0L2RRTlVZUzBNcjFDL2JKUXlyRXhJa0JOL0xUWEJKLzRpcUU1bVJkQk9ubXZPVXRnYmtPQUR1aGxCN2hIQS9mUlV2Q0ZCeTZLRlpBTVhqaXFRN0t2MDIvemhDZnJVVm9sLzNLMEI2MEZsNm9Oc01WUkFidk9sZUlwNlAyQW00Q3cxd2Q2Z0JwS2o0Yjl0ejZLV1VjRmJQNXhJWHlRdldDd1pEa3cyeU1VZ1MrNE9hdGVGWTd1M2JkdDEzUE1uSTdEeVQ3eS8vNkttaXJ2Ujkyc0tOUUVBT0N2a1dFZGxZVEg5dW44czlqcmE3WXZyL2IvVGplaXc3NHV1ZmxGU3BlWlAzSVcrdG4xcmR2RGZ4UnVweVc2TmtOVXhHclN5OXdlV0Y2cVZQVGYzL282SlFmK0tkZWdEV0tmNEw3Z0pQZDFNWDRKdXJHZGUxdUE5L1VJdjJyZm14WlpKdXgyNGNPWVFMUUVoaExpT2ZuQ3J0SUE3TDlNTGVKMmZqckZ1SnRSR0I0dWdYckpyZzdRbEx0bURkd3UzMERHV1h5M2xwNHVqZjkzdDhTVzRqdlZVTFk1UEhFNHZPdC9iNDY5UC9ZY2FGbEFDbzdQdjV1cmExL3RWQzJuRVNucm1ZZngwakhGdXh2WTNUYkhDeHAwckQwdmV3K3g2NXpYSzBZelViMVNBRS93THBaZW9UVkY2Y3FIbk4rYWNzQmIrMWJMODZyVEwxZHA0L21XNjBaNWVITER3RUU3MEVTaysvb1lid0hGdy9icDFaMFFTeFhhaFh4ZThLa1loMUQzR0dtTUJ5Ym9tSHBXYzlKRXZhWmNabjhNRndaaE1FVFZkZlBQZDN2SlpEeGJkUkNXUnF3dnBVUng2ZWlSN0xlM21pa0NUZDRYYTBXTHYwR0dTYzkreXhkdFliVUJUK3U0aDF4WCtxMktjMlJwaWpiMVZVT3NZdk1RclQ4UXhlSXRxQUZ5a3AzYVU4V0ZNMnZxbTdqdXpIbHltaFdadm9aZnQ3WVpUdC9EY0YxaEFhL2FiQ1NiM3Z6M29YeGdqR1JuSytXK0tzYUx0WW1UMHYxUWU3L0VXLytXeUpmc1BQUktFakxrSE9pOTRTMHBucFhDRTloSkRFME9mL1R2aGZnRXh0QW5sc3BwQkpmRDN2ckZ4SFhpS1p2TC9TUzZBQWIyVjFoU3pEM0k1L3oxRitySytxZlN2cTBacWpmQXRUV0VPRE5pMGlFQlIvaXYxY2tQM050Z1dOSWx0dUJEMDV5ZVVKSFM0TmpOT3ZpdmNYNnZkcXdvZkpwZnN4ZUh2U2xkc0xtUEhZRDM2WmVuNG1yS2lVa1lLcnBiYVp3QUF6S2ZXMWQ0VkFBQzYwdTR0Q1A1ejdqRVpUNnZ5L05GWCtNZm1hZmVxd29lNUpidTB5eUlacVg5ampPZXJmbzIrR1lUU0s2d2txajlyQUlEdHg2bVhld0FBWGJJdTN1c3BueWduUGh3a3Y3YUhOOGFnM2FzS0gyYVc3SWt4ZDJTSFR1V0hQbm1sd1d2MHRVWE9VNndramRVK0F3REFTWStweUpic0x2NzdXZjJLdkNlMitQdmxvQTZUZHE4cWZKaFhza2NmYWZlVHJGQ29qdTJNRzZvUFd2Q1BCR2F5a21nVDMvZ0hhb1U3eHdCQVBDMk0wQUxCbGVreXoyQ3dUL3M2Y0xCRHcxY1ZOa3dxMmVKZkJyYWR4WEljR1p3N3g3aWg0Ymx3ekJGaWVzeGJ1UnpjUzd0YUxSMEEwaW03QVluUWVTZlAvcDhzM3dCZzNKeUFkdFlLUitpWlVMS3U0N05IcDQzNms3MGZpMEZHT0l3QkFBQi9yNGk1eGF1akpnT1NaRDcxY2plZ1Q0Y2NwV3h5Sk5QdllIb3ZkTVpPOGYrdU9vQ0d1bDJia2pEUDdKZkxXVmFjbjVkMWRQK2VzMHBDb3dQa3NXN0lGajhmZjdlTzJnb0NBRlJMcDRkbGtNblBiOUUra0s1ZkE5QzJQZnhPTFdOWis3Zkd5L3BZWC9wcmkvZFgxUXZTMUs5b0M0bUJrajNhUGVoUDRuSlV5UHhPQzRZVnpRc1lxL3FrNHkvZ3lCVkdCNFhybzRsa016ZlJRbjUyQlhvclM1Y3M1RC95MmJTQk1scjk2QSt2OXpZU0dyNnFzR0dnWkYxYXJOZ0xnTDVBQUFCVWgvUS83L3V0WkRkcjVVbi96OW41YXpJNlo4NmRndStUK1RUSnRva3ZpV2tqdkp6TDZtL0MzaUVkbnhvdHZmTiszUzNld1JZTlgxWFlNSTlqb0pweTFnMVd0K3hocVExamdNdXhoaVhabTFPWVk3WXcrVlg2OVdQQ25mKy96WWdUcGt0SzM5dUlNdmUxV09STGFlOERMOXc5cnJQVW5zb0VyMlFacitvWTg5Z1ZQdnVsSmpRMThtSnloWWExeG1BcUswTjdSZ1o2NUV0bGxlSHRyQTZHdGVIN2UwcmFKYlNFOThNSXl0VmJROWpLdFo2eVRWcVUyQ3ZlNFlpUDZmZFZCaGJSRmhPT0dHaE9KcU1ieTRxbEpNYjJzNnc3anpKNzJ3MjZNVzdRVHBlaXlSZzZRZ2ZoeFh4MjNIQTM1TkNiM1p2Y1B5ODNkQzgrMmJ2T2xUSHFvdVJOaFkzS0lObkNIUHAxSld0QXlwZXc3blFWUmhEME1JN1JGU0tyS0JlWDBQeUw5alRKL3NsWXN4cEU3amRqRzdkKzZLdURJWHJ5M3M3ZFlmcnRhbVk2ZDZZeVNCYjIwQzhyV285TUh6a0ZBTzR0aGpMaldidExUdEFtSnE3OFFibll4a2FacW1DTUZ3aHdIcGt6dmwzYTBJOE9pSXdkZXZ1SGUrbHBvczBVYnF0U1NKYlJzKzZwWk9COEhUTUVZemVHTkNlekZ1UXRwT3FEOWo5UnE3Rnc0MnN4YTBrRkRYSnU0ZFB0VzcrY3licnZYWVo0aHZHRlpLWWpoQ3VGWkJsT1h5c2xNYVFxK0ZHUy9ieE4zYkRUZ3JWU2hSRjJiUVdsMTI0ZkpseTh2ckpRbUU0VWN2U04xaTh3bkFudmFMT0xjWGpyWUpuUENpY1JOTWpGWmd0OUFvQjc4Ri9CRjJyOFNQMXVyeGdaNkYvTy9qY3I5bS9DNzMyRjNaZXFQN09TNzkxRnZWejYrd1RoeGZlRmx3Uit3YTNVSUVzL0JKNlBYUHJlK2ErcEQvV3RMVmh4RC9WKzczU2VFek4yUERYZHlqZW9sNjJHNFlOY0FEL1JjMXppTGN1bmgyTUpqTG9Jd0J3SUlvU1FMTUcwYWkxR05EQkNDT3NVOHo3czhnTW9UK1hubTBOTk56UTRVUlExR0lJL1dFTHRVdnJqdmdrdXhzWTR1RlY0SEtRbE1ZRmthYU9haEJEeVk1QmZsTUlJblBwOGNHRU5SRTdBTFg0bWVOL2lMU2VaU1UrekZ2cEYwMVhGWTdVZzM3UFVkQ3Q0RGpzOTFzRXZ2dnVNMEdDT2ZrR2wzRWxQVmFiSjVnempNWUZrNDg0ejhyd1c4SUhhdm1aOER2eXV6M1JHWVlRUVFvNU04alYvY2YzL0ZEbTc0QVZnUVE4ankwTVlSNTl4aURqdkNEMzYrU1QvOGQxbm5jSjBQakFRVENQRzJYcFNCekhNamdra3l6eWFpWHpqMnpwU2pSVkJYSENPWEJWV0dHczNaZHMrLy9jakU1NTVmeWxqTDdxYkxQWnBHRjBrSEdIa2JDTElGa3R2L1l1QzJzZU85TmlOL2lEa0NheWpwZ3JHK2h6OW5xd3puMjRYK1Fpc2hCa2syNERob2hHUy84bkFKdFZxdFI3Nk1hc2hkZ25uZFVmSVB4WkxnTWo1b2JZRG9iUHZwT1Q3alo2MC9GMy81RlZ6UnRFQnUzUmVZajV6OXpQWDFxNVd2L3ZFcGF5UXBmc2laZnpKREpJRldTZTdCc0YzQmdHQW02ZTROQzkvaW4yNnI0VE96NDlIQXNEMjJNbVYrUk42TmEzYnNNczkzekRDVHA4TjhNQ3JzZjUzUXpOYTJnZG9ma3doMmJxWEZYNE1GYlFGQXRXT0tTek55d1Y2VEV3UExWbk5tQThYYmVZdVd0eGhFU0ZvckpseHRITm9OdXZUeUVaS1V4NkswMU1WWnB4Tm16b3JHTTFjbkNzSjUzalJyY05IYVYvN1FSejdoM0t4Z2pKNkt3a1NORmc3YzUreVVoeFBLTnROSXBmS0lsbjRlSk9pYkNkZnBGN2VmWitxM1RuVFJJNFZCK1lXc0FBV1VsZG56Vks0L1cxajBMc3BtOEJjZVN6Sys4d1Y1NWJERkk0QlFGTzU1NFFUUWtncDgyVFdpVXJPM3ZRd08xUkRrY1k0NjhNSC9aaEZ1RjFSdjlEQjN3bnhMeVdsYktZSFJMTWtKcEVzOUplMjNEa1FsMGlJMzBraEhVNFczNFdlSmY5YnZJUTgxczR1a1prNU5vS3p3bTNzODllWTVLbytrOGRFbUVXeU1FRjJ3L2ltMkZxdnNTVnlpM1B6bVlSMUhRK0tGOEhjWnhZckdzaWJ6cjVrUVRFSnNvdkpqNUNRODI1TUkxbDRYSjVtWGUrSXIwNjg0YlNzNHR5VVB5ZGx5V01Oc1VQUUNPbkh6Rmh0bDF5RDhwcFJpcW15VGw0aEY3cFRDckV1NXBHc3ZJYXg0cGxRNGtwam5Dd2dRaTV6NzBJd2pHa0JOL21VTFkxZXF0UFAvR1NTVFk5ems3UkFUaUVudEFtV1l4cE1KRm5vU1QvV2lzWVpDYk9QVVU5ZWtmUEpFdWYvcElZV0hDVldqT2lSVXZGZnllbURiV2Z0SnJKUGsrNzYvNkZEaUU1ZE1aTmtvY1ozMGo1UTE2OTFKUm5UYUw0TVoyTzN4Q1lXQUpMRXhqZEdpZWU5NjV4VWd5bytFRG5DODBhSjh5V1hKMFhjU0ttcEpBdHdtNVRvN1BzSFN0NWswMzJ4Uk5IdXYxdE8zQzdXSWgxQ1NIR29rSnExWm9ZYUpDT0VFT0phTCs2QkpyNVdHTG9ReDl3MEdiV3lDQ2FUTE5qdjJSdmlvOXg1bDZ6Tkd1MC92eFR5a3kxZjFGOWVXOVNQWFpiNFBBUUFBRFQ3TEtUYW5IL2ZIdkxmc3U3N3JIT21QWlRNalRBdjFvM1pKQXZBOVpuTC9pak9mbjZkN0cyTVNYY3ZFSk5JNmFySjB0eU1BR0paaXdDRGppNW5VKzNSdFNMT3FPdkltNjBsbVZGbDRnYm0rTE56eDdPMTVWWkxBMVJIWnd4TmRVWlVscUtWeXNxTDZVKy9mb1N4Q1o5S1hKL2JibWpQbjY4aGhUdlhyOWlxTEhoZlFzKysxM1d1S25pZDVNcmVMZXZYSzRrKzl2Rmt4bzJTK2hMUGNxeDljOThlTFlXbk96bXp0bTFZZVVSNlZNMjAyMi91VlovL0ZlSEsyYno2cjB6SlpXaUpEcEkxTFFtdFdqVk5TNjJhR01NNVN3cnp6K2FjT0p5aExxNm5yV0hMcGczcTFraEppT0djNWNXWEw1N0p6VGlXclhTdHlIUHZNVzRzSE1xNFFTTWhQYjFSL1ZyVmt1THN4RkZhZE9uQ3Flemp4eFRFaXF2VE5yMVIzWm9wOFhaU2NmWFNoZE9aeHc3cEVDOE9zUmJSekRPVXg0VE9qQ0Q2TTVHbDJBTFY1eGtnU0Job3oxeVNUajJsRjBFTTVqcm1lSUhMVExHR0VBUUFBTGlPWDdESHAvWlg1ZzR6QUZTU0FFZld3RDYvSXY5eWVYVFZScDNGRG9LZHFjT1pMd2dpaWVqUWMyaUVYQlF1YnExc1JOeUtoZ2hubHR4NGh3Z1NOcVMwc29WR3pKQ2FER3hsTGNYSHpLTWFFRVIzSkxTeVp5bEhLVlU2c0pXMUVsTWtMb2hCRUQwSTNjcXUwdVJzWndUUmlKQ1N2ZGpZYUJOTkFUb0dsc0Z4WDZiUkppQklJQ0ZhV1JkcnlUZUNHSVM0WkozUEdHMGZndkFRbFd5UlNOUnZCREVHTWNsdWEyZTBkUWdpZ0MzWm5FZWlRMmRIRUwxaFNOYTU4UUdSa0M2VkVGd3ZhMlpjdVZiYU0wd0FBQUEyU1VSQlZOdFhMYzNFRmJKQlZQbzE3dWFCNjFXemVwVXFLVWxKQ1RIZ0xDa3FPSitYY2V5Q1BzY1BJQWlDSUFpQ0lBaWlBLzhQNnhDNnhUMDRqTmdBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIFxuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNDItM1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg0MC02XCJcbiAgICAgICAgICBkPVwiTSAwLDE0MTcuMzIgSCAxNDE3LjMyIFYgMy42NjIxZS00IEggMS4yMjA3ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDQyLTMtNlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg0MC02LTJcIlxuICAgICAgICAgIGQ9XCJNIDAsMTQxNy4zMiBIIDE0MTcuMzIgViAzLjY2MjFlLTQgSCAxLjIyMDdlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNDItMy02LTBcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNDAtNi0yLTlcIlxuICAgICAgICAgIGQ9XCJNIDAsMTQxNy4zMiBIIDE0MTcuMzIgViAzLjY2MjFlLTQgSCAxLjIyMDdlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNzYtM1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg3NC02XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoODYtN1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg4NC01XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoOTYtM1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg5NC01XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTA2LTZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTA0LTJcIlxuICAgICAgICAgIGQ9XCJNIC02LjEwMzVlLTUsMTQxNy4zMiBIIDE0MTcuMzIgViAwIEggLTkuMTU1M2UtNVwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxMTYtOVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMTQtMVwiXG4gICAgICAgICAgZD1cIk0gLTYuMTAzNWUtNSwxNDE3LjMyIEggMTQxNy4zMiBWIDAgSCAtOS4xNTUzZS01XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDEyNi0yXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDEyNC03XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTM2LTBcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTM0LTlcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxNDYtM1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNDQtNlwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDE1Ni0wXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE1NC02XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTY2LTJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTY0LTZcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxNzYtMVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNzQtOFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDE4Ni03XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE4NC05XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTk2LTJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTk0LTBcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgyMDYtMlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgyMDQtM1wiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDIxNi03XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDIxNC01XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjI2LTlcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjI0LTJcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgyMzYtMlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgyMzQtOFwiXG4gICAgICAgICAgZD1cIk0gNjAxLjA4LDYxMS40IEggODA1LjQ0IFYgODE1Ljc2IEggNjAxLjA4IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxtYXNrXG4gICAgICAgIGlkPVwibWFzazI0MC05XCJcbiAgICAgICAgaGVpZ2h0PXsxfVxuICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgeT17MH1cbiAgICAgICAgeD17MH1cbiAgICAgICAgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgPlxuICAgICAgICA8aW1hZ2VcbiAgICAgICAgICBpZD1cImltYWdlMjQyLTdcIlxuICAgICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBWUFBQUFHQUNBQUFBQUNCck9wakFBQUFBWE5DU1ZRSTVncGJtUUFBRVZwSlJFRlVlSnp0blh0OFZkV1Z4M2NTZ2dFQ0NJSThGQlV3UUJMMkRnRWZvNVphM3poajY4eVVhYlZGaFByQU9yVG9XSnkyempobFd0cmErcWxpZFdacVIxVEE1MVNuL1dpbnRncFNuLzFBNWJGM0xoQUk0YW55VG5rbEpKRGMrUU0vSmprNWU1MTk3ejM3cmlUMzkvMG5uNXg5MWpuN3J0OWRlKzJ6OXo3N0NnRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdNNU9IbmNGdWhsNVp5cXA1TGQvNjJ6UXcyTmxjb3hpSlpXYzJFY0lJU29nUUZicE9Wb3FlZDd3MWdQUzNSWUNaTVpRcWFTU1FTOHE5d3NnQjZSTDM3Rktxa245UTh1T0Z6ZTVYZ1lSa0RvRjV5aXA1Qmppak1MU3RhNFhnd0FwTVZCSkpTZWNFbm1lZ2dCeDAydU1WSExTWU1lejNiTXdCSWdrYjRSVVVwWG1wMklEQWVLaHIxUlNWZlpKM2RDOUc0UmVVRGlGNXlxcEpwNlJ0djNBT3NjVEVRRWRHS3Fra2gyNjlpbWkvdWg0SWdSb1E5OXhVc21KcDhaeEtRaVFHZ1VqcFpLcUpMNExPbWRoQ0hDYVZGSlZSSGZ0VThOWmdGeE93cjNHS0trbXVuYnRVK053LzZUYmlia3BRTjRJSlpWTXJXdWZJcU5yM2M3THVTWm9RSmxVTXAydWZZcElDQkNrc0VST0xGVm4rN2owUHFQVlplMFB5ZCs0bWVhR0FNT2trcXE4ME1PVm16Wm9yYzFIUXR3WkVNRDFXYmk3QzlCM25KS3FNcGF1ZlpBUHRkYTYrdmduL3lVQ3BhN2RvTzZiaEF0R0txbmt1VDQrNE5HRTF0b2NhSGRzOEo3MjV6VDNhWFM2VnJjVTREUWxsVlJGSHE2Y3JOVmE2OXFXa0tJOWdmN3NwRlZPVit4bVRWQ3ZzVkpWeXROOVhmN3VYeDYxRlEwSlpoaVpZd0xrblNXVlZPTjhkdTNGcXcvYnk1NE01aG5ISk5BZEJCaFFwcVNxS1BaK24zMjMyY3RtWHhzODR0Z042dG81b0xCRVNTVzlkTzFEbVBxU3RhajBnMTdCUTd1R09WMjB5d293VEVrbHZYVHRiU3llYmkzcSthZktqZ2NIN1hlNWFoZHNnb3JMcEpJVEJtVDd0anUvYVMvN2Zvai9SY1V5bDh0MktRRUtSa2tsSzgveEVyVWZHYk4rL2xCN2VYTG1YNnhsbi90VzJGSFpyUVFZSkpWVTBrZlhYaHhKYUdQMEFTRitRUGhmUFBxR3RlalVSYUY5TDdkdVVPZlBBVVhqbEZRVHZIVHRtMnUwTVhyTEp5UDNGNzFkWUQ5MTQ0UUdhOW16TjRZZVhuR2hTeDA2c3dCNVp5bXA1RmpDTGVteld4dWoxeDFyYzZSNHpXajc2YzBYcjdDV2ZYVkorUEdqZlYzbVpEcHBFelNnWENycHAydGZuekRhbUwwZGpqOU0rRi9NdC92LzdNY3NCWDFHMXpoVXA5TUpVRGl1WEVsMWxwZHJIMXlxamRrY05wQWp4UFczRUlhcmZtQXR5bDhjdmtCYUNDRmRCT2hNREw5bTdxSTFUVWwvWEcrLzk1QTloRjFEbWQzd08zYXpmNHZmUmI0b3Z1RFdCVzhlaU4zaEFSNG5hdkFLWlhpMzNXNFM4WVg1VmV4KzhrQkJ5UmUvOS9LbWxyaDlIVVlOa1ZMdW9BeVgyM3NxdmRjVGR0VWUvQlVuZ3k2Zjg4U0tocGk5Yk9mRVJmYXFsQndoREE4UlkwMy9RZDJ4dWNQNFVHZWhxSEw2ZzcvZkhiT0RvL2gzZTMxNi9Ja3luR0UzL0J2Nmx1ZkY3cm1NeVJ2NStmdWVYM2NpVHNkK3luNHlmNjhrK252Zm93eUoxUTJuUjN5SlpqcDRKSHZkMEFIbFNpcloxOGVsR3pjWW84MkVWNGxUNnFlZHNKWmRlQjlodUplWUJIZ2k0dm5jWlVvZ0d3SVVqbEZTU1Q5ZCsyM0dhRk45UWdneCtBbnF2Ry9aTTJLZnhaUVRadTJ4RnQxeFhVVGxVbmhkMkJmRHA4eGQ3S2xyWC9mMlkzZGMwcS8xVnIrbVR2NC9vbzYvb0F5ZnN0dU5QUnBWeGQwT0h2STJGbFJjTHBXczhESnFmN3hhRzZOM3REOTQ2eThKaTMxeWw3WHN1bGNJdyszcW9LMm84UDFKaE9GSmhrWkw0S0VKeWo5WEtxbEdlWkYycHpaR2J6amVzV0RVUTVUWjdYYi9ELzV2d2k0NTArcC9NUy9hLzBLNnhFQ2NETDc4cm9VcjYxTnRURng1WXJKMWhWdkJlNVRoUXFMS3Y2RU1pVlVRazVzZGFrdzhRc2ROVWVYTkQvNWhWMHIrVEpWVnhBVHd2MUtHdFVUWDYxYktjTDM5U2FyZlZwY3FVOHJIUnQ0NVg3anZCVTlkKzdaUUkyTG5VWG0rK1ROMnc5R0hDY1BqeElQVVlxYzYvemx0cjdweDZ1UTcvK3ZkUXltNU1YMitZYTlIcncyVTRYeTdJZDF5RWFPWk43alZ1ZDdiT3JIQzhUZis2Tlh0N3Q3TG5EOFFTZjB4eXZDRGRGc3U0dGw1UkoxanJha2RQZExsakNuM0xsN2I2T3k0bU5nLzNGNmpLWlJoZmFuZDhMempoR0hET0t0ZC9wdXUxWjZhZ2FNN1VuemhiWThzMys5Njc5VFlzMnpCeDFUNVA5aXJkUnBwT050dTJMdWFNcHhqTjV6ci9MSG1wZS90ZHVTUG1UcnZmMnY4ak5vM3JIcnFucXVIQ2pHRE91bHBvbkl2VVlhL0oxb3VjaXg1cWQxd2dudjh2eHpwMnNqSHBjRktLbG51WldRN3VWVWJiVFkxQ3lHRUdMbW1uLzNNYmVxUXRXd20xZGM3SUQreWxsMUxqVThjVk52REN3Wk5xSnhGVGQrM1ovTzVVV2NRVDhKRlpWSkpOY1Q1WnFsd3dCaHRxbzYwSHNoL212Qi95ODEyLzQ5Y1FOMW5sdDMvZzhoTytqZEQvRCtpc25KaTVRaktxZ09qK2xoZktJaG1ubk9ncFVMam1zVnpwM1RjaGVUYmxNMEQ5a3JtdjAwWlVpM1h5NVJob09uSUgzdkRBNi92UytmalhwQ2U3NFVRUWt4TjU0WVVXMStaZjBONWVNaVJ6ZXFhbnZaS0Vvc1Nrc210UkZUTnBBeDN0NzV1MUxQeWE0KytTODFZMHR5YXJ2ZUZFR1BTdm1zNHhNQklVWUt3T3piZWJsaEpQZ0ovMW00NGtueCsvSUlRUW9qaVMyWXZYSjNoV0RyWlFFWlFFTytFK1RJaTN5K2dETyt5MnhXdG93eC9iRGZNZjRjeVhDZ0dYWFh2ODlWeDlQcWNWa2piK0hNTUZmaVV1alB0TjdxSytxaHZFTUk5UXQxeE5kRnlmWmVzNi9JZDZYekNVRG91Z1V5QkoyT3JSaktaREY5QkxJUVFZc0JPd280UzdtcEt1SVp5dStGRW4rdnYydVAyb2xJNGQ4ZFlqMmVKKzd4QUdkNWd0eHY0SVdWSXRGeTl5SllyWHE1TzIvMUNYQmxmTlhZUW13WGNSQmsrUTlUdlJjcnc5WFJicmhqWjlmclBabEF2ZlFoQlB3a1BzVS9rdGFOK1hTS1J5SCtKYUhLVFY5cVQwVm5hdXJ4WWlCM0svbUxRZEtxWFh5Yy90SlpkL1pyM3R5S09ydGZHckhGNVM0K2FFOTY5TjJvM3FXTWJFbFdKeEpha0VLZXNKUHd2SHJMN1AvOXB3di9KbSszK1Avdm5WTTIrYnZmL3dDZDkrcitsVmh1amF4ejN5NHJnRFh0ME5lcm4vdVZ2UzFybkd4NmtRdEVRTzdLUkk0c1AydTN5LzBnWldsNWFFV0x3WlhQSUhtZ203RjM2OEl6elV4MDFJNzhNRDRVbHNoT2JFbFdKeEtiMkM4MCtSL1h5bXk2d2IyV3RxTWd4NTl0M0hMbVhHSjhRTzJUSDFReEZwVXBLRmRVa3AwZkRlcVBOV3ZzU0xnSnlXWW9KM3VlMVJLSnFZOGpXK1AwWFVVTGVaL2YvS2M4US9tK2NadmQveGZlSkd5YW50L04vM2tncHBTcng4cTVaUzIxQ0c3TXgvSzJiakRrL0VHTUhiQ2MrUTBYbWNtSmk5R2VVNFQxMnU2SXF5ckMxNVJwNDZlekgzNmNtM2pOZy8vSkhidnVyM21rNTFwWGV3YlV2bHZXZFg2YnErUmRpVWVqbDFKUFVtNFJ3RDFGMzFLY0lJWHBXVFB2Sjc2Z252QXhvV0wxbzdqVXhOV1owaDJCallDL1p6NGN1UUQ3RFVDc1FiN0ltUkhHcUprYlhyVk1pUW9ncnFGNSswOVNra25Lc2wyWEh5Wk9MZ1p0OVhEdU00R3hmNkRydXZOZXBiOHNMeE9XZnBReS9hcmNiRU45WWpUdjczM3BzMXNYKzk4UnBUL0ROaFJmRFRycUxxdmJPZ2ZhcjMwZ1pQazlVNjdtTXZaa1NqWHJKUC84MU1TVGxrYjhQVkNWc2tYMDVOV3JkY3BYOTRtZFNpMnQyRXEzYVYySndxaVBiWC8zUlY4WXp2a3RkRXFoUGM4ZWszM00xOVFHSTFhMTVTd203bGl2dGhzNnJvaktpN3AzL3ZQTXp4SXhhZHNnUHJuVHVPTVg1QVBVcEVzVDJKdjlFR1JLTHpmT1daZXhjbXFhcTU3NXpYYloyNFlwaVphQnlIVjZZK2l5MVNyc3BiQitqVHhoL2pEQ3NJb1M3SndZZjI5ajV1d2VtVldSekY2N0lGelIwWUlGd1JhQzhYL2hXT1o5dy8ycHJVYzhseFBoUTA3UmpZWWQ3bEVpcDVEbkVEZFBuVU1JWXM5WSs5T2VOQ0FHQ2d4RkJBWDVPaGVyYlA3R1h6UTllcVMzM3J3a2VHU2Fsa21WeC84cUNFRUtJRTV1TTBXYUxqMHU3RURFeWUwVmduNmlEN1NkV3B2NFBZWHRZYmJXV1hicU1pSnkzTG1zenROS25YRW1wVGlQdWt6NGZHNlBOT3JjdGhuMFJJY0Rwd1plY1JyWDlxZ3czUkM5ZnpMQlBtUFRYeFBqRUliVk5DQ0ZFd1dnbGZiMXJkbVNkTm1hdGRXd3JpMFEwUVh0MkI1WW1xallDNUQxSitmOGxZc0xxVWVxbDRXOXNFME9rbEtyTXk0TFU1czNhR0YwYno0UkpERVE5WkppQUFCVnQzdHlmVFUwNGZ6ekxYdmFsYVpSaDVYUlBtei92MGJwS0owTHplK2NsT0Y3Y1p2UFlVdkoxeUNuMmE1N2g2UjBETzBkWExyenJDaisvMXBNcGtSRVErTCsxODFLNGhHb2lIbjNOV2tTM1hESFRVbXUwTVRXZUpreXl3S1RBZDZubDAvSEFIMUpmT2VJRlR6SEg0MWU5TFh1WFBYekxCWDRuVEdJZ3FvL1I2MGlndjNqeCt5Zi9YdklXMFpFOGZ0RUgxckt5RDd4c3Y5cVdZK3VNMFRyYmI2bW5SMVFUMUZBVGVOR3Y0cVFBZlJkVGo4RHo3UDR2WE9MVC84a3RwdldsbXk1QjVGQ3JDUXB3OHMrQ2tZVE5lOVoxeWYzSDMwS01EMlhFL2lwdGpNbmdoUlFlSWdYUVgyei8vMGtCL283YURPcklUU0hmd01JeFNucmFEN1J4Z3paRzIxOUc2dFJFUjBEZ2Y1bVhGR0lvdFFPa21CUDRFYmt6cFZTeTFNY2dZM0s3TmtadnRHK0cxZmxKV1lEaVVadUZXRGlJc1BoMTY5dHZmY2RMSmFXWFRZUHFxb3pSNXJDUFMyZVZTQUZxNndNOXVZck40czRPUDVqU2h0MjNDU0ZFanhLcHBQU3kxWDlUdGRIRzdJZytzVXNRS1VCTFZXQVdyT0xsc1QrbERMNVdlSTJVcXRUTDBQRU9vNDBKMjYrcDZ4STk0V3lDQXZSWVFqM2RIRi9rWmVqNGtERkdHL3YrVlYwV0J3RUMvMWZjVCs1SFdoaTMvMDlVRzZQTnRwaXYybW1JYnFRdlh4bzQwT3hsbFdzWUh4cWp6ZnFReGNEZGlHZ0JncjlTbVJVT0o3UXh1bzdoenRuR29adnlzWjgxOVJhYU4ybGo5TlpPTTJIaUc0ZFZYeVpiQXV6U3htam1LZHFzNHlJQXNid3dKbzRtakRabW4vZjdkRUljQk5BKzc5OVNZN1F4bTNPbXhlbUFTd1I0dXZVZW80MUoySCtlS3pkd1NNSkZSN0xXNyt5dVBHNWZvZUN3c2VXeHJ2WnJURjBLbDUxRnZTYUJYTWRGQUY5SkFBZ0l3QTRFWU1aRmdOb3VOOVBkaFhBUklGbmx2UnE1aTlQKzZtaUQvQUVCbUhFU0FBOEMvbkFTZ0dOS0psZHdFcURyTHU3dS9EZ0prTHVEeGY2QkFNeEFBR2FRQTVoQkJEQURBWmlCQU13Z0J6Q0RDR0FHQWpBREFaaEJEbUFHRWNBTUJHQUdBakNESE1BTUlvQVpDTUFNQkdBR09ZQVpSQUF6RUlBWkNNQU1jZ0F6aUFCbUlBQXpFSUFaNUFCbUVBSE1RQUJtSUFBenlBSE1PQWtBL09FbUFOb2diMEFBWnR3RVFCTHdCaUtBR1FqQURBUmdKanM1NFBHOHJnM3hvM1NaZ2doZ0JnSXdBd0dZd1hNQU00Z0FaaUFBTXhDQUdlUUFaaEFCekVBQVppQUFNOGdCekNBQ21JRUF6RUFBWnBBRG1FRUVNQU1CbUlFQXpDQUhNSU1JWUFZQ01BTUJtRUVPWUFZUndBd0VZQVlDTUlNY3dBd2lnQmtJd0F3RVlBWTVnQmxFQURNUWdCa0l3QXh5QURPSUFHWWdBRE1RZ0Jua0FHWVFBY3hBQUdZZ0FEUElBY3dnQXBpQkFNeEFBR1o2T0oyVmFRNjQvZllNTDlCOVFRUXdBd0dZZ1FETTREbUFHVVFBTXhDQUdRakFESElBTTRnQVppQUFNeENBR2VRQVpoQUJ6RUFBWmlBQU04Z0J6Q0FDbUlFQXpFQUFacEFEbUVFRU1BTUJtSUVBekNBSE1JTUlZQVlDTUFNQm1FRU9ZQVlSd0F3RVlBWUNNSU1jd0F3aWdCa0l3QXdFWUFZNWdCbEVBRE1RZ0JrSXdBeHlBRE9JQUdZZ0FETVFnQm5rQUdZUUFjeEFBR1lnQURQSUFjd2dBcGlCQU14QUFHYVFBNWhCQkRBREFaaUJBTXdnQnpDRENHQUdBakFEQVpoQkRtQUdFY0FNQkdBR0FqQ0RITUFNSW9BWkNNQU1CR0RHVFlCam5tdlIzV215RjdrSmNDaW1pdVFxQisxRmJnSnNqcWtpdVVxdHZjaE5nR3EwUVJteHhsN2tKa0RqdXpIVkpEYzVrTEVBNHNWNGFwS2ovSXA0a00xenUwUy83ZjNqcVV0T01tbVZ2Y3d4QWc0dGlLY3FPY2x2Q2YrN1JvRG92ZTdzT09xU2l6VEtUVVNwWXdTSSt1bk5jVlFtRjdtWDhyOG9jTDNNdHJwck02OUxMdkxVZDhsaVp3SEVpcVlyTXExTEx2TDhUSG9zMzEwQThjNldhd296ckUzT2tmenhQMGJNcGJnbVlTR0VFS1cvbUp4SmJYS1BtcSsvRVhXS2F4SVdRZ2l4L3RMcjMwdS9Oam5IeGp2S0kvMmZXZ1FJSVVUSmRaUExoaFducEZ2dWthemZXLzNlYXl1NHF3RUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdIajRmOUFjZFlIMkZSNURBQUFBQUVsRlRrU3VRbUNDXCJcbiAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiXG4gICAgICAgICAgXG4gICAgICAgICAgaGVpZ2h0PXsxfVxuICAgICAgICAgIHdpZHRoPXsxfVxuICAgICAgICAvPlxuICAgICAgPC9tYXNrPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg3NTAtM1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg3NDgtNlwiXG4gICAgICAgICAgZD1cIk0gNTkyLjU2LDYwOC4wNCBIIDg0MS4yIFYgODIyLjYgSCA1OTIuNTYgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPG1hc2tcbiAgICAgICAgaWQ9XCJtYXNrNzU0LTFcIlxuICAgICAgICBoZWlnaHQ9ezF9XG4gICAgICAgIHdpZHRoPXsxfVxuICAgICAgICB5PXswfVxuICAgICAgICB4PXswfVxuICAgICAgICBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICA+XG4gICAgICAgIDxpbWFnZVxuICAgICAgICAgIGlkPVwiaW1hZ2U3NTYtMlwiXG4gICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFySUFBQUpVQ0FBQUFBRE1ENXJEQUFBQUFYTkNTVlFJNWdwYm1RQUFJQUJKUkVGVWVKenRuWGRnVk1YMng4L2RiSHFoaHhZNmhGNEZSQkRCaW9EMFpnRWJDaXJZeTN2K3NDQVc3UGllaXFLZzZCT3hJMFVCa2Q1N2t3NGhsVTRDSkNGdGQrZjN4L1o3Wis3ZXRyZHN6dWVmSlBmT3pEMXo5NXZaTSswTUFJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ2lObmhqRFpBTHAzZk1kb0NIMDZYcTZ5ODdHcFI4WlZMbHdyT255OXdFcU10cWhUWWpUWkFMalZ1TmRvQ0ZvNnpaL0t5czdOT25MaU0wZzBubHBPc2ViSFhyMzhOQUFDY1AzTG8wUDU5NXd3MkoySkJ5V3BQclZyWEE4RHBYVHQzYkR0cnRDMFJpT1Y4MlZ0V0dHMkJERWpHcHZWcmp4cHRSWVNCa2cwN2VhdFdyRGhqdEJFUkJFcFdEMXk3bHl6ZWhaMHliVURKNmtYMmdsODJ1WXcySWhKQXllcEl6ay96ZGh0dGcvV3hHVzFBWmFMQnN6djNQcDFxdEJWV0J5V3JLMXlIRDdQbTk3SGNWNXVwUU1ucVRkeWRhL1krbkdpMEZSWUdKV3NBN2IvSW1GckxhQ01zQzByV0VGSmZ6WmlSWnJRUkZnVWxheEJKVHgzOWJ6MmpqYkFrS0ZuRGlILzg2TnZWalRiQ2dxQmtEU1R4WDBlZWlqWGFDTXVCa2pXVW1qUDJETVFoTDNtZ1pBMm0xZUlGVFl5MndWcWdaSTJHRzdMdnVXaWpqYkFTS0ZualNYcHZZMGVqYmJBUUtGa3owRzNMaTlqUVNnVWxhd3JpM2xyWjFHZ2JyQUpLMWlUMDNqSEdhQk1zQWtyV0xGU2IvMG04MFRaWUFwU3NhZUFtcldwb3RBMVdBQ1ZySW5wczZXMjBDUllBSldzbTZ2NTF2OUVtbUIrVXJLbUltek1OUDVFUTRBc3lGN2FYWjhjWWJZUEpRY21halFkK1NqRGFCSE9Ea2pVZFF4YWxHRzJDcVVISm1vK2JsMVF4MmdRemc1STFJYjBYWXp2TEJpVnJSbm92d0YzalRGQ3lwdVNtNzNIY2dBVksxcHdNL2h3L0dRYjRZa3pLQTY4WmJZRlpRY21hbGY5N3dHZ0xUQXBLMXF6WVp1SWFHU29vV2RNUzl5T3VSYVNCa2pVdmRYK0lNOW9FTTRLU05USFhtZWNrU1JPQmtqVXprNGNiYllFSlFjbWFHZHVzQmthYllENVFzcWFtNXV3b28wMHdIU2haYzNQYkkwWmJZRHBRc2labk9vYms0SUdTTlRuSk0vRWpDZ2JmaDlucGQ2ZlJGcGdNbEt6cGViZXEwUmFZQzVTczZhbi9rdEVXbUF2TFJUMVhmWWJ0N1U3Vk5rVFpZK0lUVTZyVnFGVzNmcDJZOEwvQnNvNUh3djRNQzJFMzJnRGRXZW5Rc3JTWXRHYXQyblJvbjZ4bG1YeGkzeG9SenVLdFJ1VnJaYU0xbGF3YmUrdHJyKy9iTUd6djB0VjdVN2lLUnNMUExVUWxZZnRlU1orOHJGU3RjUXhXV3E1bFFmeVlWN0lBVVBYZXBSVmFTSlNQNjZZd0dvMkVHVk5MRmdEcS85OUpEVFRLWjFWNGpVYkNpZGtsQ3hBMWZKTVdLZzNDMVN2Y1Zsc0hISmZWSE9kdlBXOWFyM0daM1BNYUYyaGhVTExoWVBVTkF3OXFXK0xBVnRxV1oyRlFzdUhoejQ1UFg5R3lQUHRrTFV1ek5DalpNT0g0cU4yZldwWTNGcU1oZWtESmhvMmNPeDY1cWwxcFZlN1dyaXhyZzVJTkgyVFd0WWUxSysxaG5FNXdnNUlOSi8vMCtFT3pzanAxMXF3b2E0T1NEU3VYaDM2cVZWSGNPSzFLc2pnbzJmRGltS3haQk1QUmVKZzRBS0JrdzgvVUtSb1ZWSytQUmdWWkhKUnMySG5yVFkwS0dxMVJPUllISlJ0K1h2NUttM0lHb1djQWdKTFZBL0xvR2szS3FYT3RKc1ZZSFpTc0RwU1B5ZEdrbkRzMEtjWHFvR1QxNE54WVRYYnY5TmVpRU11RGt0V0ZkWnBFaW0yYnBrVXBWZ2NscXcrdjc5ZWdrS2diTlNqRThxQms5YUhzTVpjR3BmVFZvQXpMZzVMVmlRM3pOQ2dFSnhNQUphc2ZMMm13RXJFeE9yTW9XZjNJbnFXK2pLanU2c3V3UENoWjNYaS9SSDBaS0ZtVXJJNmMrcC82TXJxcUw4THlvR1QxNHhQMWd3WWQ4Zk5DeWVySS9vMnFpNmlPL1MrVXJKNm9YOUZsYTZ1QkdSWUhKYXNqQzlTUGM3WFJ3QXlMZzVMVmtjdC9xUzRDZzhhZ1pIVmxvZW9TbW10Z2hjVkJ5ZXJKY3RYbk5EVFR3Z3hyZzVMVms5UC9xQzJoVnFJV2RsZ2FsS3l1ckZWYndGOWhPT25CWXFCa2RVWHR5T3lpc1dXYTJHRmxVTEs2c3BPb3lyNW9YS0ZHaGxnWWxLeXVuQ3hRazN2eHZackdyTFVvS0ZsZGNha0o3cjFrN0dYTkRMRXdLRmw5VVJHOWMvRTkyTVlDb0dUMTVvVGluSXZHb1dJQkFDV3JONWxLTXk2K0Y3MENONVh2MkdWanlWT1liOGxZYkdNOVlDdXJMMmVVWlZ1TWl2V0JrdFdYQWtXckRCYVBRNi9BQjBwV1h3cVZUTGorZ1lvTkFDV3JMMlVWOHZNc3VZZXVXUHNZWElwb0JjeC83TEk0NTJRYnZJUnhTSjM5UGFmajc5R3grcHFQeU1mcWtzMlZyZGlxOUlLaTMzWVNRa2plMUhyNlZnQ1JpOVVsbXlYVDNEOVliZXgwcHlkRnlkZnQ5YTBDSWcrclN6WkhJOFcrNi9RbmNpN3FnVWN2bWhlclMvYVVQTVV5dkFMN084NmdkSzdsMStsYkRVUTZWcGRzdmh4Yi8yUXA5aTBuUDZscmNVZDlLNEpJeGVLU3RWMlZvMWlXVi9DMlFMR0VFTWMzRGZTdEN5SU5pMHMycVZ5R1lobHRiQlJWc1lTUW9xbTRtZEdFV0Z5eTlSaHFrNkZZaWxmZzQrUXc3SWVaRG90THRyMWtPNWV5dkFJUnhSSkNGamZTdDBKSVNDd3UyZHNrSzVibEZZZ3JscEFyaitNa3ZMbXd1R1FmbEdnbDB5dVlIdHF6V0lzaFpVeUZ4U1U3VFpxUnkxaUtmVU9LTDF6NE1IcTBKc0xpa3AwdnlVYW1ZdCtVMkh2N3RicSsxVUpFc0xoazkwZ3hrYVhZS0FsZWdZZXNudnJXQzJGamJjbkdTcGxKV0ZhTm50bitoa042TmN1ZlJPZkFKRmhic3Awa0dMaWMxY2ErTG4xTWx4QkM1aVhvV3plRWdiVWxPeUcwZlV5dlFLb2Y2Mk1uVHVDYUFtdEw5cHVRNWkxbmVRVnZ5dkFLUEp6cXBtL3RFQ3FXbGl3WGNvRTNVN0V5dlFJM1JZUDFyUjlDdzlLU2JlMEtZWnhXZnF5WGlnbjZWaENoWUduSlBodkN0dVdNNGRRb09XTUZRYmorRHdjT2pNYlNrdDBnYmhwTHNiSkd0L2hNUjgwYWpKVWwyMGhjZVgreC9OaHB5cndDRHgraVpvM0Z5cEo5VWRTd0ZTeXZZSnFLTnBZUVFtYWdaZzNGd3BLMUhSR3o2NjhhOUZ4UnI2dFVMQ0Z2bzJhTnhNS1M3U2RtRnF1TnRiK21XckdFVE5HM29rZ1FGcGJzTWhHcm1GN0JWQTBVUzF5UDZGdFRKQkRyU3JhclNDZnFyM0Q1c1I0cWh1bGJWeVFBNjBwMk1kdW1GUXcvVmhPdmdCQkNTRkVQZlN1TCtMR3NaUHV3Wjc3K1ppbjJWYTBVUzhqcHhycldGdkZqVmNuYXR6TXQranVzZnF5WDNjbjZWaGp4WWxYSlRtSWF4R3hqTmZNSzNQeUlPMitOd2FLU2JYeVpaYy9LbXZRYzlsY3IxRmFWeC9QNlZobnhZRTNKUnExaW1iT1NOWVB3aXJadExDR2tySSsrbFViY1dGT3lyN0NzWVNwV1V6L1dRMDV0Zld1TkFJQkZKVHVBcFQrV1Y4Qk5raEZ1VGpxTDBKMDFBQ3RLdGwwQnc1WlZETVVDUkRVYy92N1dVclYxRlRCWnoyb2piaXdvMllhWkRGTldNYndDTDlXSHpwSjd0RUlJaWxyclUyVWtBT3RKdHQ0aGhpVXNyeUFRZTQ4UHM5WFdPSkJOMGVHdk1CS001U1Ria0tWWXRsY1FURXkvbjByVVZ0b1BqblRwanRVazI0N2xGYXlXcUZnQWdMVFh6cWl0dHBlaTlQRFZGYUZpTWNuMlp4M25JYldOOVpEMGhGYit3WEljTmRBWlMwazJhZ3ByQmt1S0h4dE13dFB5enhLbGNtYzRhb3F3c1pKazA1YXpqRmhUUzBGeDFXZVVxYTA4SVlSa015TGFJMkhDT3BLMTNYdUJaWU1jUHphUUR1dlYxcDRRUXFaclcwOGtCSmFSYk5zVlRCTld5MjlqR3ovODJtTXRPYkEvV2FpMi9vUVVZMkI2WGJHSVpPdCt3djRTWDVNcXQ3U29SODhSUWdwZXNBTzAyYUgyQlJBeVB4dzFSbGhZUXJKMTM3bkNObUN0L0RaMnJIdkZnZU54QUlqL05GUmdyNUE0TEIwUjBYSTczRzlab2JLQWFJY21kb2pRN3ZHeEl0R0lkNDI3d0x2aXpDY0FzU0tkb3JpL1c3aC9PZFg1SEFEY1B6TmVwWVhMK3hPVkpSZ0lTbFpqa29jODFGdDA1UE55QmY5SytaUzVrUHlqU01zWFZkWHpNWkhiL3dJQTZQV3J5bFdFNU1hMTZncEFaR0JxeHlCcDhQOHVLVEJwUGtDNnRHN1ZLUGR6MG84cGVFb2dLeTNYVlBreCtLajNDQ0txNmMyMzM1Z1NJdEhCM1pTTEpSOEJuSGorZW5hdW1LR2V4U3lPSFBmUG8zMlh0Vk5pbzQ4YnIxK3ZLajhpQTFPMnNrblhUcDZYS2FGWHRGYjJXQUVBQU5pWGV2SnZpL05lcXIxWDNWdjRRN082STZFd2wyUmphblc5ODVVZi9wRzQwa3FoWWdIYXVCY1luT251djFTSHRVQk1HbzVPbXRUZkNDem4wNmp1ZnQzc1ZKZWZzMFZGeDhZbkpWZXRYck4yM2RRcU1sN2dodUhubFQ2MDVSdTNKSmF1ZVhsdndLVkc2MVVkT1BQdGZXcHlHMG5sazZ4aHJCK2hXTEVBdGxyVkxwOFBIdXZvdUZiTllvR1M1cWRVNURZU1hJbW1GK3RIcWxBc3VNNGVQczBibmR0N3Q1cmh1bmpMSHZ5Qmt0V0pEYVBPYVYza255K3B5VDArVmlzN2RBWWxxdzhiaDU5TmFaNWVUYjRmbHRTNFpRMVdydmQrVjJGUjJpQVZtUkVacUI0eE1JVDFxZFduWjVhVm5mNWNacGNwNWVWanBXWG52Mm5PdUYyZHRVdEhDc3RVZnhhSUpDd3AyUTIxNjI5ei8zYThqWnpLVnYvYm5Tdm5Xa2FDUGlwaXlwUTNWdjlwSUJLd29tUTNwTm9YZUgvZkl1UDhidHNYM2x5SFdSRVBQbEJoRnA2Z29BOFdsT3lHVkxqT0Y2L0lPZHJHeDEweFRuRGQxcXJJVjhZa3h1dElPS3JjcmdQVzdNamdHb093czNINE9lamppM2hoKy9obFhtL0tOZjhkRjBDREw5TUVPWk1TZmIvZTlpbTk4S3VQL2FWNGFMMU5seDFLc3hvSlNqYmNiQnB4RGlCZ3BqWlZNR3RiL1pOQ2dJSDlSRXVwWm5QUmIvejl3MTJLVFJ1TmtrV0ViQnA2SGdETytpK2M0ODhvdU9ZVkE4Q1NJY0xCaE9TR3ZsOExHSW9GK05mZ1JOYXRVSXg0VWVYa05TSUZpL215RzkxdGFnKy9MenNxaW9mWGwrVmZqNHBLOS91eWo3SGZ5R3ZLcmJ0R2h3OE1zWlprTjNxMkQ5aC84MTdaTEdmRTRFdHZMdWFJQVFBa24xVnMzdXZxUGd0RUVwYVM3Q2JmaHBkNlc5MVhaSTdMcm5BdndzM3RMcGJxYWNYMjdiYmNxaWdyWWlYSmJncm9hVldmbnVGdzVIeFdUMTV0azZZY0xuZWUrVVk4OEVEOEthVUdPaG9wK0FRUW1WaElzcHVDTnhXbU5HdFJUWDU5RTV1MHFCbXFMWHhPc1lrUHlUY0lrWXQxSkx0WlpCdXNQVEZSYkt3bXlpN3JHenVaRlY0eEpEL0plWXhKc09ZRWlCWFlPdVFzNjFiTkY3ZG1abTUrbnRIbWN0Zk1XTDM1cHdkbHJOOHUvRkt1Y1Y3NllGRHY4R09WVmxha2plMXkySjFrZjN2YTNmaDMzVHZKOW90MnVZSnBxUGhVTyt0dUFiTU9GcEhzNWpyTUdqVHlyUmc4UXVtTVJYM3MzYWw3cXEzMHQvSWJ3NHlRUEtYZ0kwRGtZUTNKYm1XM3NkeFgvbVFmQzEzV0FmNER2NVpMLzlidXA5VFFYeFI5Q0lnY0xDSFpMU0k5cjdvQndiaFBwVVpIUjBlN2RSc1ZIUjBkSFIyOXlIKzNUUHJrVkpUU3RkNjVVV28vRU4zQk5RWmhZTXN3WnM4TG9GbkFSRmFkN1E0QTEvL2VjQUUwL3RxOW9DQmdQVmRNejUxU24rajg5bVhaVmdJQVFMMkdKNVZsUkNSamdWWjJTMTJ4Q3R3c2lDcVRtd3dBajFBS21pcjl0YVFyTlhhTXVvL0RBTENWMVp4dFE4K0kzYjVZRWVQNzNiSGZBVUIrTEFLQVJmM3FBd0JBMjRBMUNETDI1QjdkcVhDSnl6VS9Lc3VIU01iMHJld1c5bGdCQUFERUgvQ24zUjdIY1p5bkM4YTUrY1YvdDdTRGpQZnlna0p6clJmSkJLY1NOR2JyTU5FMkZxRGtJOS9TVjhkSHBZUVFUM1JpajRSbWx2bFNMajhvNDdtL3lqRXlnUGI0UFJ0dVRON0tiZzI5N2lYbUs0ODM2NXhKR2NXeVRYZDZpanJaUXRhTDJhZk1ZR2Q5V1U4eEFmZy9waW5iaHA0T21hWjhVdGFUMVFESXhROW1lQUo2Yy9HMVl5OWNjb2NyY3IxYTlFSUtBTGkyVFRnbTY5SC9HU0RYV0RkVjhwVGxNd3pMTFpnMGRSaTViY01reFdiajBtNUxoOE4vZWJYUytza0IxVzFsZTJmL1V1cSsyMnJVdGZFWlM1ZGVEWmVWaUw2WTJUR1E0QlVJc1Uzd3JNTnkvdUViSE9NczE1SWdiRXdzMlcyaTQ3RXN4dnNQQ0Z1SFIzVkdJdWFWckRMRnBwOFBLT0p0YkYxRGc0TmNXckZ0V09pZUY0VkhBbyt6ZlZDSloxSFpRTWxxeFBiaGlucmVjVUg5L0ZvOXRURW1va0hKYXNPT29jckdpbEtDdlFrWlMyUXJMU2haVGRnK1ZPSEpBN3hOWGxhTnJLMG5LRmt0MkRGTTZYaDhZWEhRbjFucWJZbDRVTElhc0ZPaFZ3QUF4VnNEL3lyZHB0NllpQWNscTU0ZFEyUXFsa3Z0MEsyMWV3eldOU2Z3V0puMSs5ejM0K054dEN0eU1OKzQ3SFpoWUZoUmJMMS9PZTF3bG1kOG1nNEFFUDI5djZTTDF3QUExMnpLNm9PSE5yelpEbHVUQ01GMGtwV3IySVQzdk1lSG5oOXZBNERxUzczYkZQS0hjd0J4VXp6enQ0WHZoenJER2JFR1pwUHNkcG1MOTJMbStEZlNsRDNLQVVEU3k2ZGNoSkNTdjY0QmdQaTV2dHV1cFFyaUlTSG13MlNTM1NHempZVUpnV2ZJWE80S0FNQ2xEbnZwellsZDdBREF2UmE0TSt4TDYyMS9SWVNZUzdJNzVCNTlYQzBqS1AvdlBJZTE3ZVhBdTZVM2F2YmFJZ2owOGRXd2MxaU96QnczTmhiN0UrNEw4bDlqSitEQWdSRGNsYUNDWFVOejVXYnBGU3pDbEg4ZEJlQ3lmcStBdUZHcEFOd0lYdW9xbDFRWmlKZ0JFemtHc3IwQ0FHNCtyU0RIUUlBSmd2QUdoSkJTK1UrSWZMQ1ZWY3d1MlY0QkFQRFBvM2NSQUxoeUFlRDAxVGdBNFBXM09PeC9DVUhKS21YM0VObGVBUURKNVAzOTJDNEF1SkFKOEVlWEtnQXh2QkR6eGJqL0t3SXdpMk93VTlsM051K2M1Tk84Yyt0K0NIN0lPb3hZTEtUeXRiSnJpQmFsWEh4V2dWY0FBRnQzQkIzNi9UUHYzTHJ2UmdhNkFtUitoYUtISUtaQ2RTdHI4RC9wVGNVQnRtVHdwODVpbGdXYXVodW5iQ01CcTB1V2U3VEVaOHFaM29MYnpZNzVMVDEzTFNVL1lqbXNMbG13amZCTWdEazNkNmJjYnJQTk85cDFHRGVDUlFhV2x5eEE2dVBMTXM0YyttVTAvV2pRS2svdkxYRTRTbzlNcmVXOXd1RVVaU0NXbXhGVUhlQW9tajgwcWdzSmRaT2MrV2U5QjNOSEpVUlZYR1YyQStQVEduTzUyVVh1UDJLdnViVjU4cVdEeS8vQlE3MnRpaFZiV2E3Rit3ZUxuWTd6YSs2WGV3NDkxMmVkKzN5a2tvVnlnczBpWnNLQ2tvMSs4cUxuMmE2dDhzN1ppbnJXUDc1d2NZemx2aEVSQUxDaVpLTm5CRXdmbk80bEl5YzNPZkFJdXFKQllUTVJDU2ZXayt6alFSTmVKeHRLejlucFVwRGxXUmoreUpKWVRyS056d2MvL3l2Si9YL2JUenpUcDRmVFRzdUE0eWZoWm56TjRMOUhOcFdhczlHdHZBdWpjRFlNVUxKaEozb3c3MEx5N1ZLemRxN0t1OUJJc3RvakdlTUgxaU9jMm9JVlh3ODI0Vjg1K1dVWkpEL0NQM3lKQ0U3eWltcTJSMFBMckFwS05zd2tKL092ZEJiTTA3cnlGc0Q5NzBnWXc4SW9jNENTRFRzT0ovOFZPOHI1YWZKUEFCeTRJSmhtaU9JcmxNZzRiakZ5UWNtR21Zc1grVU5UWDMvSVQ1Ti9EbUJWWjBGejNPRjczajZhcTBjMU5jMmlvR1REVFA1ZW5tVEpvc1BVaE1KUWRMbkhXd1pmMkt3d2lHMWtnU01HNFdhdUsvanZvK3VrNWl6NlBIamxqT05qUTFiMElDcXgzRlJDM0xxZ3h6c2VrSjQxYVgxUTFubjRsV2hKTENkWmFITXE4UEZ6NWV4QWJIWXdJT2ZxR21FekVRa24xcE1zWEh2UzkzRG5kMG15c2paYzRsMmdVRDRiNHlCYUZBdEtGaHJNTFhJL08rTmh1YnU4WTRZdE8rY2tqcnlmKzJJVURnK1dXNE5weVYwSlhJdUJuV3VYWmE1ZXJTREVGcGRhTy9icTZYenRqYklxNk5IckFUbDZGR3pnQ3AyUWx2ZnNXWTJ0c1Rnb1diMVFKbGhFQUk3TEloWURXMWtGY0YxMlNrMXFiOXc4alR0MUpNdkFTRVhKN1d0ekJRZHdlWUpobUdERWdCdS9VR0xLK1BzM1hTV0VrS3ZiSHBhN3QxWXJFb2QrbTFudU9MdndvVnFoMHlKaHdYakpjdmVYL0M0dFplY3RUdTlUWFR1NnFYMnVFcUpHN1BjR244bDloaDdxQXdrM2hrdVd1NitFL0NBcFpiK2dYVi81QTFVK1dBSHgvd25Zb3V0YVhqZDBEa1I3akpZczkwQUpJZDlLU2RtSnQwK3hvSWU2SjhzbitxdmdhUFpiYTRiT2cyaU93WkxsN3I5S0NKa2pJV1hpVnY2VGR3dFd4SWFacDV3OEM3N0YzcllCR0N0Wjd0NnJoQkF5UzBMUzhZTHpPbHlUMVR4YVBrM1A4eTJvaUlUb0hUZ3VLd2Z1M2xueEFKS21CZXlQQ3ViQ3VmSHgycHNrd21NQ1A4RCtkQVJFc2tmSnlvQzc3N000QUpBazJmVFd3bXR0bXdtdmhZK0VJY0pyMTBYQXRuSjBicVREamZ0VWVqUFpsaktrRkQweVZYZ1JBRTRmVm5OK1ErSUkrckxFNnBRRFNHTDdIbEh4SkhPQWtwVU1OM1pXbk9kWENkOU4xUGhacjlEVFh1bS9XYUZOQUFDUFNkbE83b0ZycStKQkpnRWxLeFh1M3MvaWZMK0hUazVWTlNOZkFqOHNqQ3dLbmZUL0lJNzJORlZQTWdjb1dZbHc5ODcwZXdVUzNocDFUdi9yWGRTMHVhcldBTS9aUTNkWHVyOU51VmlvNWtubUFDVXJEZTZlendLRUlhSGZmYmc4Um5ETk5YT0hoaVo1cWRoQ3YzNkZZZ0ZZMzVYRkVRTnBjR08vREd6S0tGcmdjK0NrOEZxR3JxRXpEcDhSWGl0ZnJhY0Y0UUVsS3dWdTNPZHhnWC9Ic1JMNktmMUdlRzMrRmEwTWtrTHhFdUcxWFJodlJuK01tUDNpeGhZSGw3RlVRcWFhSi9oUHp0WjVXVXE3eTN3TG5QZm9hd0VDWUloa3VYdXU4c3FRRlBEbERsNnUwcEd5bjZ5UzEvbHp4bjlJOEdnUXJkRmZzb0kybGhCSm14SzRTYVdCZWNxZTFIMDNjOEtpWUxNUEt6dmRIRkdIN3BMbHhna1VTNlI1aE55b1BIK1cwM2NiMEcxSStUbHdMZGRPWGVlTEVTOTZTNWE3UjZoWVF1bUxVMm40MFNrWElZUzR6bnpTV0c1Rk5TSG1pUnl2YzNEcGd3Z0prSVNoTjhUaDdwcE5HYWd2cWlheEVLNUc5NjUxNGZUdXJlZlZyQ0pRUStxb0llbEozTlZUeTc0N2JwUUpsUjE5VzFtS0gwc0lJV1ZXbXZlMDFlelNMUzJDcG93aXFDcGhnTHY3YytvZXYrZ2tCWkdLak1KMTRZTFJKbWdLVGlXSXdOMzFCWDB2TnhjaGJxRWx3VmFXRFhmM2w2ejFzWG9HQmVEaTdlV2xPajdQN0tCa21YRDNmTTVjMFUxZnFzM0czcVJWemZLOGZRWHllMEQxaHZkckhGOTRmUEVTakgxb1ZYVHJmbkYzRmJFTGVVYVd6ZlpCcTY4UVFoeW5QcFc3anlYbUNVOEljTmV4TVJoZzFxTG9KVm51THVwWWdZZjM1SmhjOVJ0ZkFJd3pkOHJxUENSODdaOEtLSitHMzRqV1JDZkpjbmVMdExHRXpKTmhjZkt5Z0l3bEQ4Z1lDWS82YitBaUFjZlRsaHRFUndEMGtxeW9WMEFrcm92eEZQVlJVTTVMWGFWbjdWOFduTFdkOUt5SWVkQkZzdHdZTWErQUVKSWgzZUF1dkFWZHl5U0hFckN2NFQzMUsyeG1BVWNNcUhCajVvU0lFbGduVHZLdzB3VGVzTU9OMSt6akp5bHpBa0MwUU1xdHV2TXVES2dSV1pNQ3lrREpDdUh1L0RKVVhNdTRPcGtTQzR1L2lYY2g1bWZCM29TOEIvS2d6YXpxL01zSi9ERzJtczFSc2hZay9JNEJOMGJjanlXRUVIS2pWSHNiRjBxdzZTNkE1eVVrYzQxUjkrNGlBMnhsK1hDanZwSVFPN2laMUgxL0NZSjlZcGNFdTF4UHJBRDRxYWRnbTAzZGhnTGJKRDQwb2tISjh1REd6SllTN2JxRjFQSkt5L212ZU5tOS9Ea3dsd3NnYTRSZ3hIYnMxN3dMSkZmcVV5TVpsR3d3M09ndkpaMXEwREowRWpmbnpqYmhYVGxLUCtyREpZaE50NmNzTnZoQy9qR3BUNDFrY0NWWEVOeklPZElPbVcwbHRjU2lqYndMenIra1pqMjBoM2ZoNy9OU3N5SW1JcnpkcjlFaHhtTjlsRWcrWWFaUGVYRE9UUktDSUhnWVZSR1VzNWcvNklWWWduQktWdEpZZ1llT1VnMk8raTRvWDhrdDB1dHFueHVZMHprVmUxK1dKSXlTNVVaSkdaRHlJRDJJUmVyT2dHeU9GK1hvcnNydi9rVUd6azlpUTJkQVRFZ1lKVHRTZWhzcmF5MVgvYjk5d2l0NlZsNS9OK0gxUzU2Y3B4K0xnSmp4bFpQd1NYYTBITVVTeVowb0FFaVlmTGlDRU9JcVh0eEQ3bmM3bHo1dHcrbUNuSlhQMVplWk1YS3huSHVrZGxQNGlYVDZRUWZjeUsra2pSVjRPRi9YS1NOMVVxY3VOU3F5TjJWNjlwTFg3dGdxT21kM0Jxc0VlMnFLODZKdkIwTjBZcFNqU003REVIT2hzcFU5VGpsMUF3Q0FrK1VWRUVLY3lrT3YxUDNQR1JjaHBQaVBhNmtOUnNwam15NVdsT1g4ZWl1T21VY0c2aVI3bkRHZUtsdXhoQ2llNys5MjNGdEUwV1RLNXBocmRuczgzL0s1Vm9xV2dEQlJKZGtUakRZVzVJd1ZlSmloc0FLdGMvMWxsSTBYM081MnhuOTdtZDdITVNMaFFJMWtqN2RoRkRwU3ZtSUpJOXg3S0dKV0JoWnlnYjlXb2RxK3dOc3pjSEl5QWxBaFdXWWJPMXkyVjBBSUtWSFdCTjRlUEtQMU1jK2RmUzdvYm1FRW5IbUVLSmRzQmt1eDh2MVlRb2lNSmJOQnpBNHVKRE9GOHg1MnhIRWNGN3N2K1BZMFpTOHBvcWs4dmRJVGd3OVJyM01qdnBhOFhpQ0l2a3FPeW9qcUhQeDMycytsQUJtdlhvSGEwK29BUUF5dmU5alhKdUhzVWNUY0tHMWxNeGgrTERkTWdSOUxDSkcxeTlaUDRsRktTYTR4ZkkvQXl4R2M4aEpRV1ZyWnpJSDBOaFlHL2s5Wkd3dlFMVVhCQVRQODZGcmtnaE1nYnh2QXlvUFZBU0M2ZXJCdlN6QW1ySUJLSXRrTWhsY0EwRk9wWWlHdTl4L3lNMVdjYUIvMGQzNzN5d0FscFFDN3U4VUNRTDFOS1VHMzg5QXZFRkE1UmxFeUJ4OWczZHFtdk5SK1NqSXREbTQzMTJZWEZCU1VBZ0JjTFNnb0tEaDZPRGoxU3BTczlWSGl5MmF5eGdvQW9MNURRWUZ1amlsWm9GRTF5Smt0Njh1N1BUSG8zS01DUEpBakFsQWdXVmJQeTQzZ1JEbkpPRVgrRTlnTUNvd2U4NGtOQUdJSHpOcThhOG5URFFBQUVqY0czSFc5YkxsVlM0Z1ErWkk5S1I3SzZsdkZraVV2S0trQTk2aFBzNjc1aVFEUVpyVzdvVC8vaEIwQVd2cFdJQkRYOTlMMzNDRG1SYlprUXlnV0ppaVhMSDhub2pTNG0zZTZRM0NlZWlZT0FEcmxlSXR6dmhNRkFNMVhlQUowRnIwdFpYYzZZbnJrU3Zaa3FEblAxdnhUTTZWVG9mQzB3dmgrSHk1WTh0Vjl0UUVBcXV3S0tPOHVBSURZWWI5bEZWLys1NVBPNkJWRUJqSWxHNnFOQmJEbGhTNkZ4UlBLNitIVjQrVEEvNWdEN2xYbXRxUWExWmd4N3hHcklVK3lKOXVITG5HZWNzbHVVRjJkNkEyQjVUbjRNZWNRSVpFOUxwczFlSC9vUkN1Vmw5OUQ5U0JVVXRCb1J0UTFhc3VyQkVTMFpMUHVrS0JZV0tWOHVEN3FUc1ZaUFNRRVR6L1dWRnRlSlNDU0paczE2QjhweVRJRmtRaWxNMDd0KzdzYWZCZ3VucFFVbWdpV2JLWVVyd0FBWUxueVo2VDNVcDRYQUFDS2d2NWZYTHRVRmxjWmlGekpaZzhXQkhobjhLZnloM0FQS2M4TEFBQVZQd2F1T1RpbWNIY09ZbWFramhoSUdTdndFRitnZk15Z1NPMXB0dFgyK3d1cnVGZGxZWldDU0YxOG1EbEVvbGNBQUNVclJ5aCtUdUo5SHlyT0N3QUFCZU4vOTRidmRzMzhYa1ZCTHc1V2xtLzhRUlVQUlNRZ3JaWE42aUNuekhIS1cxbHlUTkUvZlZSTWpNOGw2N1RKUFVPYi82OFk3eVdiZkg4dDVwd3krd3NWcnhjMmlzaHNaU1gzdk53czVZZkxsa0h6TzM2WG5TZmw3aEhwY1Bqbkh3c0JBR0RQTGJjUGJSZDdldlVQR1c2M2xtczV1bk44OXJMbHhiTEtIS1R3OFBKZDhoNkR5RWRLSzVzcE9maXJoK1hLV2loQ2lKSXRZSzEzdUFnaHhMWEpkd2d6WjR2eXRhc3hMMThtaEJEblJua2J3cGNxTkgrcWJQTVJtVWlRYkpaY3hjTERDajl2UWdoeHlSM25xbmZZbTNVUHBXVzB2ZU05YWZtRTVDTkVBS0NKMHBYcU44aTBIcEZOYU1sbXl2SmpBUUFndFZUaEIwNElJWXZsUFl2NzFKLzFYZUh0bS95bS9DN0RhNXV1MFBoTHVQd203SVNVckd5dkFBRGdUNFdmT0NHRU9PVXRERWdOQ0xxVlhjTXJudUo3QUFBZ0FFbEVRVlJ1dDl2dEhBQ0F6VzYzMiszMlgveDNTNlRYSkY1aDU0c3NrdmVlekVERWRiK3loKzVWa092Ny9zcWZhSHRWMXZCUzh3QnZJRzFWR1FEQW1wZktvZkYvNndBQWNBRWViRnd2eVZXNVcySG5TODNNSHlLUkVLMXNWaWRGcGFaY1Z0aEtFVUtJczRlc0NnaVhsSmMwb3g4SU9sVnFtYlo5bE55U1RHOGF1bkN6RVdHdGJNNFEvbGxaMHJpeWNKenloOXJldkVWR2hJeDhoejhDalBPRUV3QmdVeDdBNGtIdVZWeE5BOGJiTGtvdHM3LzBxYjVnRHB4VW1CR1JqbWdybTlVNWRBRjBibExZVEJGQ0NIRU5sUEdrcElCZDRYdXF4TWJHeHNaeUFBQlJzYkd4c2JGeGkveDN5eVE3eVd1Vld2Nm03QmVGeUVaTXNsbGRGQmNiZFZ5azNKQWNpQW45QkI5UCtqd0RCMlZSVFgvL3lYYkxwWmJhUjdIaDNXVFlqU2hFUkxMWnl2eFlOeThwL3RnSkllUXBHVStLLzhXaldkZi9LSk51OXBsZVJaK1MrbTNQclZKcWRrYUUrWVhtaEMzWmJNVmVBUUJBbXBxaFdWSWdPSmxlaE9RUEN3a2g1UExiMU9uOWhQZXVFa0tJYTUva1R0M05pczErWDRiVmlGS1lrbFhoRlFBQXdLK0tQM2hDQ0pHMUJzdlcrdG5aWHo2ZHp0ajBiZXYrMGNhZEN4NnFJcm0wcllxdHhrTng5WUFsMlJ5VmlsWFJWaEZDaUd1QXZLZUp4eWpnYkRKaUdOeXAyT2pEbEFOeEVNMWhTRmFkVndBQVlOdFBMMWtpV2FGT1BJcHFPWEJRTzlrUmpybWFYWHMyRmwyS21IQlNzYzFUNVZxREtJRXUyV3dOZGxOUFZQelJFMElJbVNOZWVzdmZDd201dWxwbUY3M21CM2tWcnZ5Rll2M0tWeFZiN0VpWFp3eWlES3BrYzdUWS81OTBWdkdIVHdnaHJtRmloWGZJY3FmS2wzRzJQVUNkYmU1YzUyOW1KbWxlck5qaU5YSk1RUlJEazZ4cVA5Yk5OTVVmUGlHRWtQTWlFYnJpZkRFNGo4c0lWUkRsQzJSenNnNGppVzJaY29QdmsvVjJFS1ZRSkt1UllxR09zc09VZkt4aGU2cTMrWmF6dWg1TkZCQUZBQkFydk43Rkg0cjJhVWJCOXlzMzk0S3NZNmJOUXdTTUplY08xV2ozLzVtNWsxVGw3L1BHdjFpM3J2UDF6Ym5wendsR0E5WlBMSVcyYzFJRnVSTDhpMWx2b3A4LzJrREZac252aTVUblJXUWdhR1Z6dW1wV2RoTlYwd21FT0VlelN2NUFORjlKTTlZaFNqN1dVVWNOb2xZb045WmgxWk1iTGQvSzVnN2RxVmxaSitjOXFDcS9iYzV4Um9PZjQvLzFlQ2EvbFNXYnNnRit2RWE0NUxWR1IxL1NDOVRBWWMvSjZzd0ZzNHA1NGdtaUxieFdWc00yRmdDYXEyeG1TWFlhdmVDMnZuNTl4VzJjQUhjYTRmVm1WN3k1WE1JanhRR2dkem5kQ2tuY29lV0xRMFFJbHF5MmlnWDRVb1VHQ0NHRTdLSFBLTmcrOFM1MldTUmowWmZ0STIrdTNiVHAyM3E1S2d3OVlQbnZWOHNRSk5sY3JlT3hOcjdLK29pbHNwcCt3RUh5RDA1Q0NIR3RabzFXMFhQOTV0YnNVZG9PelBoTmF1eDhXTW5yUVpRUUtObGNqZHRZQUppaFJnYUVFRUtXME1ONHhJNWRlZWJjaGtreVk3UEVQN0s3NEhMbWgvVW90Mndxb284VGtvTTdhM1VqUUxLNVlWaWduSnF2VnJMa2QwYm9tYWo0UkFWZnh0R3BEZUpwYTJTNHQxVVorYXg4U3hDRitDVWJEc1VDL0Z1dFlnbFpva2NMOXB6eWczUUlJV2VTZFRBUmNlT1RiQmk4QWdDQWhBejFtbDB0ZWEycllpWTdRNXNod3ZOaE54RHg0WlZzbUJRTE1FYTlaTWx1eGxpWFpqeWhUckY1Mk1qcWlFZXllV0ZiVUc5VHZKTXFnT3lBWlE5eFZSSzFPSFF1T2lYWk93UEdUVkhsRlJBeVdRTjdFS200SlhzcWpGdERPNVJwb05raTcxazFWVjdlbDMvOHM4WnFqYktQWFhmdTFJTHJPUUFBK3ljcWpUdUdaK1BxeVMyRUVKSVgxczNNNzJzZ1dlS2FFUU1BVUgwZElVUlJhTHNnN0I4NUNDR2s2RjRBcUxwRXJXM01wUkJJT0xpRmhOTXJBQUNBbEV5MW1pQ0VFTEtsT1FCODdQbGprN3FHYlpSbjhlS0Y1dERtb0ZyRE5sajdUQmZMSGUxNzh6STRPM3hiZUo4eGFLRW1yNlh3bVRrMUQzcFdkTHUrRUlsV2xQOTFBU1RjVDVzdjhNQU45UjdDK0VybXAycTdUczVlVzFXV2dKZ1BWUk5MQVN3YkpLMW5QdzNnRVdrOUtoV0g1M2dKc1VrTnNTU3BwOVVyZ3hCQ2lIK3BsVXVFMHZzQStoZUtwZERJSEVJSXVTQmNTbTR0TE9jWTZNT0luelYrTVNWRDh0ZzN5MDY2Z0dzb3N2eUF2RHBHTTBzbWZxRlpVWWlaK0ViRGRvMFFRbWFwNi9KMDBzQWhjTE1XdzIxRUtGVlBhS1VSUWdoeC9xaTJ6M1NYbXRYY0FWeHRyY25yUVV6STlScHB4TTNXTzJYSGlRbWt4a3ZxWWl6NCtiZFc3d2N4SCtxaWR3ckllMTF4alBldXM1V0gxK0N4Q2ZjaVJEQjJOZWZYMFhDdWUwUkJaejN0bVQzYW1WRFlVdnYzaEppSDJ0bmFhY1ZEeFpwbjI4b1lpdURhUHI5QjNaSXRIaEd4ZXdZSHVkajBYS1g4YUZzMnVXdldiVHJzREpuTTFyelhEVGMxMVBiUlA0K1JjUXlKYVVISmlqRHhzekM5bml0Nzl1NC9mUHdNUTBBMW03WnUxNmxMTmMyZm5kRzFRT3NpalFBbEt3TDM2YU5oTEowVVorZWVQbmV4b0xDNHROd0Z0dWk0aE9TcTFWUHJwRFdzRXA1bEt5VTM3QWhMdVhxRGtoVWo1azkybEV6TE1lRkxveTNRQnBTc0tEWFdSOHpRKzZ4SEk4R1JCWlJzS0pwdGtCVXJ3N3lzN1ZkbXRBa2FnWklOUWJlL1U0dzJRUXVPOXpwbnRBbGFZZTBGNmpxd2ZYU3AwU1pvd01YQkVhTll3SFU5b1RoeGRLamxYMUxKNE1nWUxBQUFsS3dFRHVZTXN2aDNrZU9lcFVhYm9DRW8yZERzT1RQQTBwcDFQVExQYUJPMEJDVXJnWjFuKzF0WXMrVFptVWFib0Nrb1dTbnN6QjFvV2MyU2YzOWd0QW1JRWR5cE5pUzlVYmd3WWx4bFpXQ2gwZUpUaFBNcG8xOGNZaGc5dGRyTG9pY1ZEeG45MnJRSFo3OGswM0p4QzZOTmtFdkp1RitOTmtGN1VMTFNTZjM1QnFOTmtNZkZFV3VOTmlFTTRJaUJkSXAvck5mWmFCdmtjUHkyQ0pyejhvT1NsWUZqMGFXYnJQUEMxdmJQTXRvRXhBVGNlTXJvSHBWRVhKK0ZZK01hWWtIcXJ6WmFqSks0K2xERTlsS3M4ejFuRWdxL2g1N21mMm5IQnY1aHRBbUlpZWg3MHVnMk5CVHo2U2ZwSXBXVzZ0OXFHZkJWY3k0L0VMRk9BYUlVYm5pZTBicGtzNmFaMGE4SE1TTTF2OVkwOHBCMkZENkprZUlRT3JjZU1scWROSlpoRTRzd2lYL0pkSXU3OHU2MjdMSmVSQmNhenplVmQxRDZBUTRVSUtIb3RjRm9uZnB3TFdwbDlOdEFySUJ0MkQ2anRlcG04NDFHdndyRUt0akhtcUFmdG1jb09yR0lkS0x2TnJpbDNUWFMvRlBJaUxtSUdyek9zUGt3NTFycjd2NUZESVRyTWMrUVBiaWw4M3NZWFhYRXN0Ui9KVk52d2VhODFzRG9XaU9XSm5yZ2J6bzJ0V1ZMaHNZWVhXUEUrcVJPM3V6UVE2L08zYy9WTjdxdUJvSEwxRFNuK2NpUm5jTGJnM2NkK3VYbkEyRjlncGxCeVlhRHBvTUc5d3JYMXF1SzdRc1hINDZRWXc4VWdaSU5FMVZ2Nm5kckk2MUhuOGlwVmN2K2pweDQzTXBBeVlZUHJsbmZHM28zMUVxMjVQU0dkV3NPdVRRcXpjS2daTU5Ndys0OXVuVk1VZm1haS9idjJMSTFveko3QXdHZ1pIWEEzcnhqaDNadEdpb1prcXJJTzdoLy83NGo1WnJiWkYxUXNycVIyQ1M5V2RQR2pkSVNwQXduT0V0eXNyTk9aQnpMS0F5N1hWWURKYXMzWFBYYWRWSlRhOVNvV2pVNU9TRWhMamJhRGdCQW5HWGxaY1hGeFpjdlg4cS9jUDdjNlhNRjZMVXlRTWthRHNmWmlBdjlWQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCSklKaDVMU2xhb09HZFd0V1RZeUpjcFlYWDc1NE9pZTdBQVBFYVl3T2tvMUpsWlRNNWF3b0xiSHk1NXZjclZmWERuVjVwM3BVbk4yL1kvT1dBbU1zaWt4MGtHeXZEZExTRVVmRjFkTlp4LzdaZWJnc3ZBYUZnL3BEQi9kS1pOMHMzYnBvd1VrOXJVSFUwVXZ1TVd3WEZ6L1cwR2lqWlJFemZHbFppRHBWckxvelhLY3FJWm9qVzdLRWtQSlY5OFFiYmJkVUVwL0lrRlNucktlWXpUQmlMcFJJbGhDUzgxeVMwWlpMd1Q0K1czS1ZzdThMNzZtTGlFWW9sQ3doT2ZlYS94UHV1azFXbGRhMU50cGdSQUtLSlV2SWlzWkdHeTlPekxSUVBpeWZva2UxUG5FUjBSNFZraVVYaGhodHZSaHA2eFJVNlpzRW84MUdRcUZHc3FUaWVmTk9kblRMVlZTbGRUV01OaHdKZ1NySkV0Y2JadFhzN1ZjVVZtbTN0TGtWeEREVVNaYTRYalM2QW5RR2xTaXUwdllxUmh1UGlLSlNzc1F4MnVnYTBMajVxb29xL1JGdHRQbUlHR29sU3k2bEcxMEZJZTN6VlZWcHV0SDJJMktvbGl4Wlp6ZTZEbnhxSEZOWEkwYy9vMnRnWFN3eFN0ajdYcU10NEdHYjAxeGRBVkZmb0R0cll0UzNzaVRIWkxQemo2bXYwZ3lqNjJCWlRMVDRVSXpKbjZvdlF6dWE3a2tXdTExd0tMZVFTNm5mc3ByWXl5M3JlRVJqcXhETllMYXlMaDhoMjZTRFpscHR3QzBTc2ZUQ2U5MDh3d0gyVGxQRlZzek1NN1lTaUFnc3lSNUw4OUdvM2ExUHpMOGdwdGxlUnRjaWdBSHNmN0h5dDROODFMaG5DdGxKVmJyRGxSWURIWVBEdkZWTjhhTmVhY1lzNUtPbjVUM1UzcXhUaTdUcUJSUEYwbkJKTFpvM3JGTTlPUzZLbEJVWG5NdkpPSExCSmFYb0hSMVp0ODZNNHRlMXpVS21Najk0VHNMRFZNSWxObXZXb0U3MUt2SFJuTE9zc09CY2JzYlJpMUxxeUNlcWRzc21hYWxWRTJNNFowbmh4ZE5aeDA1YzFkeFdxWmhJc2dDSkh6L0FLdVJ3RzkrMnNJUzIxQlRGQjMyL3h2WWZlWE1kQUlDakxabFcxYnVsNzdYTlk0S3Z1WEszci8zcldLaVBkUFNQckR1bmJoTDZwL1hYTjJHa1B0dTQxUDFMSjliRXdoVmhjZEdkNkVuM0NUY2ZjV20zM05DZFgwVWd1VHMzckRqZ1pEeVJocjNUTGIyNzFPWUpwZlRRcGxXckxza294Vkt3SElORHdxUzJXYXl2VVVkZFg2S085QlJaM3Z0VnB1UjVyN0Y2T0RVbmIzUXdIdVQ2NXlYeFhUeTJuU3diaTYraHBlL0VuTmdkNEVteGtKVWdTemdFZVFNOTVRV0I2bXMvczkzSktwZGt2TnRXWWx2RmRma1AweUcvdW1oVWhHNE9raUZaaVB1SDlYNEcrTkswWTd4QTkrdXozWGZHZjQwdTJmUXZpcGdmSmlHRWxQM1lXYVE2TnpMelBVYlA4Q29yL1plZUJHTllDWnpDYWI4cDlKUnplY2xhZlIxaUJZUno1VzBTUkJzMVlwTjQxemp2eFlnY1g1WWpXUmpGZWpuUCtwSzBwQ2R3MUFZQXFMNGc4QnBOc25Wbmw0dC9tb1FReHp4MlMvc3pLOU1teHJSTTRobEdocE9lWVpEa1M2d2lIeElVdG95ZU1IaFpjWTNQUWxlUmtGVU1IOE1IZDl2dTBLV2NtMlM2cVVuMXlKSnNMR3ZjNEdOZmttYU1GT2tBME9SUTBDV2haRzBUQzBKL0RJU1F5NnpkQTZtczVzdDFBK3NGdk1aNmlMZTMrUjByd1hmOG9tTG8xaGNHTFJzZmNFcFNGVW41NjN4SE40amFQNFFlZkNTRWtPM3R4RXF4SkxJa0M0c1pxZjE5bnNhTUZOMEFHbVVHWHhKSXRvYllrR293QzZwUzdYdVVsWDRkOHdVMFozMzBkM2tTREdDVm1jMy92N21HbnU3WGdDVGNxMndmbHMvYU9reWo0ZGJUVWtzcGZwQmRpaldSSjlsM0dhbVgrVkkwWktTNENWTDI4Uzd4SmR2NnVOU1BnUkR5VDJPYWZhdFl5ZStpcFhhem41SEZ1NTRybHVVNnVQZ2pIay9UMDQzenA3RE5sRkZGY293MXJNZzlWU0dqbUEvMFhLcGl1bVV4K1l6ci9pNHhheEFxa2Z1a3ZYalozZGV6QjM2RnRGM2JRbml4Sm10TzQvSkNka21ybkhTOFE3Wmx2ekV5Y3IxNUYvaC91Nm40dy8vNzlFZlpkZ2hwL25jRCtvUGZtaUhIUlgxbXRwbG1KOVVqcjVYOU55UDFDbCtLZW93VW8rNFFmQUVIdDdLZDVhNXhQWmttTUkvWnUvOUI1QTNFMTZDVDRrM1FtMVhxdDhFRjJlbGYxdjUzQTNmTHJDTFpSVnR4eEwwbHQ1aFB6THJkU1JIYU9BYitScXdPSThVREJ3V1hnaVRiVUdLdkpJQWRncytUT1hCOHY1cFhaR2ZGbXprWi9DM0lHQ3laNUV1UXhoeDhZUElGeFo3SjBqcGVnY2ljblRRMzhpVEw2aC9OOWFWZ1NYYTU4RktnWk9PMnkvNFlDSm5EczQ0VC9sdTRjVFZWOVk3ZVpoVHJEQzUyUEQyUi84dGd2dndxT204V1dOTlh5aGdaajRyclZiMEFjNkhOSUpkLzYwa3FJd1dsWlFpVTdBejVId01ocnVIQjV0VmtkVXBPcS90aTdNUnExb0lYdDM5RlRiUFZkNys5OU1FQ1A3djVYbXNONlNHYkFzalFLeDZWMmJwZlExaWIvRU1IdXhRWHpmVlBLTEFHdVA4R3orNTBZSFZLOXFpTGpMdjNBT05HMEdBdjE1T2Fab0h2dDhlVmZKeWRCdkV1ZkVEdmtvV2d5VFFsdVJSZ01zbkd2OGE2YzVCMVF4cFJNOWsxZFJZN21QZnFCMjlKWnc1SnFEU1AyWHU3SWZBZnNUWmxDQVBBNytiSGpxRVhzdmU5Q1hlTmUvYXJMUHBkbUJUODV3M2o2TWtBQU1xdXN2ODFKN1BYSUZrTk9jdGl2bUY5N1pUNkIvWlpqZ0VGdjJOQTl3SUpJVHNudG9nQ1c0Tzdsak8rbW92cUJScjRPYXNZV1VOTEZGb3dsdWs0Nmdja0drcE40djl2dVkxNi81SjNOcGNiY0ppYW9EeG9ZTVMybVZIRnNybjlhd0RFZFo2U3cwZ2dObWhpTGFSTHRzcVBqS1NFYlBPblVpTFo2SlAwQkNVVGZhM1lJTVlRMkR1QkZxNWdQV21nMnJmRUVzcklnRFR2VVZPODVicy9qWHIvVG44QktldXBLWUtXZkE1a0dMTEh0MVkwZ2ZHUDZ6RGg1bjFsU0pWczhpU1JHRmV2KzlNcGtTeGp1TEo4UU1EemU5Q0RhVndJN0ZZY1pUMUpiTzJYSkI1bkZQeFJRSm9OMUJUZGZmZXBxeGdMQWhjUzFLT3VVWmdka0lKYlE3ZGpkK0Q4OWFmME5QOVYreExNQWt1eUoxcjVhTnRqK0pRbHhZeDBoQkRpQ3BCRVRaRjBQSHlTM1VpL0grdzVNeGIyQmJoMmpGVXBoTGdVOVZnQ3FjY0krN25EbnlTZXVtWXl4KytrNzZIZHp3cnFsbEpIMDdZR0pPaEFIM1FvRG5LajQ0NVFFMTIwVE9UMUVHaXdLWnpzQ25qdk5hUm44MHEyRmYxMlhuRGN6Q1Q2QUp0L2RRTlVZUzBNcjFDL2JKUXlyRXhJa0JOL0xUWEJKLzRpcUU1bVJkQk9ubXZPVXRnYmtPQUR1aGxCN2hIQS9mUlV2Q0ZCeTZLRlpBTVhqaXFRN0t2MDIvemhDZnJVVm9sLzNLMEI2MEZsNm9Oc01WUkFidk9sZUlwNlAyQW00Q3cxd2Q2Z0JwS2o0Yjl0ejZLV1VjRmJQNXhJWHlRdldDd1pEa3cyeU1VZ1MrNE9hdGVGWTd1M2JkdDEzUE1uSTdEeVQ3eS8vNkttaXJ2Ujkyc0tOUUVBT0N2a1dFZGxZVEg5dW44czlqcmE3WXZyL2IvVGplaXc3NHV1ZmxGU3BlWlAzSVcrdG4xcmR2RGZ4UnVweVc2TmtOVXhHclN5OXdlV0Y2cVZQVGYzL282SlFmK0tkZWdEV0tmNEw3Z0pQZDFNWDRKdXJHZGUxdUE5L1VJdjJyZm14WlpKdXgyNGNPWVFMUUVoaExpT2ZuQ3J0SUE3TDlNTGVKMmZqckZ1SnRSR0I0dWdYckpyZzdRbEx0bURkd3UzMERHV1h5M2xwNHVqZjkzdDhTVzRqdlZVTFk1UEhFNHZPdC9iNDY5UC9ZY2FGbEFDbzdQdjV1cmExL3RWQzJuRVNucm1ZZngwakhGdXh2WTNUYkhDeHAwckQwdmV3K3g2NXpYSzBZelViMVNBRS93THBaZW9UVkY2Y3FIbk4rYWNzQmIrMWJMODZyVEwxZHA0L21XNjBaNWVITER3RUU3MEVTaysvb1lid0hGdy9icDFaMFFTeFhhaFh4ZThLa1loMUQzR0dtTUJ5Ym9tSHBXYzlKRXZhWmNabjhNRndaaE1FVFZkZlBQZDN2SlpEeGJkUkNXUnF3dnBVUng2ZWlSN0xlM21pa0NUZDRYYTBXTHYwR0dTYzkreXhkdFliVUJUK3U0aDF4WCtxMktjMlJwaWpiMVZVT3NZdk1RclQ4UXhlSXRxQUZ5a3AzYVU4V0ZNMnZxbTdqdXpIbHltaFdadm9aZnQ3WVpUdC9EY0YxaEFhL2FiQ1NiM3Z6M29YeGdqR1JuSytXK0tzYUx0WW1UMHYxUWU3L0VXLytXeUpmc1BQUktFakxrSE9pOTRTMHBucFhDRTloSkRFME9mL1R2aGZnRXh0QW5sc3BwQkpmRDN2ckZ4SFhpS1p2TC9TUzZBQWIyVjFoU3pEM0k1L3oxRitySytxZlN2cTBacWpmQXRUV0VPRE5pMGlFQlIvaXYxY2tQM050Z1dOSWx0dUJEMDV5ZVVKSFM0TmpOT3ZpdmNYNnZkcXdvZkpwZnN4ZUh2U2xkc0xtUEhZRDM2WmVuNG1yS2lVa1lLcnBiYVp3QUF6S2ZXMWQ0VkFBQzYwdTR0Q1A1ejdqRVpUNnZ5L05GWCtNZm1hZmVxd29lNUpidTB5eUlacVg5ampPZXJmbzIrR1lUU0s2d2txajlyQUlEdHg2bVhld0FBWGJJdTN1c3BueWduUGh3a3Y3YUhOOGFnM2FzS0gyYVc3SWt4ZDJTSFR1V0hQbm1sd1d2MHRVWE9VNndramRVK0F3REFTWStweUpic0x2NzdXZjJLdkNlMitQdmxvQTZUZHE4cWZKaFhza2NmYWZlVHJGQ29qdTJNRzZvUFd2Q1BCR2F5a21nVDMvZ0hhb1U3eHdCQVBDMk0wQUxCbGVreXoyQ3dUL3M2Y0xCRHcxY1ZOa3dxMmVKZkJyYWR4WEljR1p3N3g3aWg0Ymx3ekJGaWVzeGJ1UnpjUzd0YUxSMEEwaW03QVluUWVTZlAvcDhzM3dCZzNKeUFkdFlLUitpWlVMS3U0N05IcDQzNms3MGZpMEZHT0l3QkFBQi9yNGk1eGF1akpnT1NaRDcxY2plZ1Q0Y2NwV3h5Sk5QdllIb3ZkTVpPOGYrdU9vQ0d1bDJia2pEUDdKZkxXVmFjbjVkMWRQK2VzMHBDb3dQa3NXN0lGajhmZjdlTzJnb0NBRlJMcDRkbGtNblBiOUUra0s1ZkE5QzJQZnhPTFdOWis3Zkd5L3BZWC9wcmkvZFgxUXZTMUs5b0M0bUJrajNhUGVoUDRuSlV5UHhPQzRZVnpRc1lxL3FrNHkvZ3lCVkdCNFhybzRsa016ZlJRbjUyQlhvclM1Y3M1RC95MmJTQk1scjk2QSt2OXpZU0dyNnFzR0dnWkYxYXJOZ0xnTDVBQUFCVWgvUS83L3V0WkRkcjVVbi96OW41YXpJNlo4NmRndStUK1RUSnRva3ZpV2tqdkp6TDZtL0MzaUVkbnhvdHZmTiszUzNld1JZTlgxWFlNSTlqb0pweTFnMVd0K3hocVExamdNdXhoaVhabTFPWVk3WXcrVlg2OVdQQ25mKy96WWdUcGt0SzM5dUlNdmUxV09STGFlOERMOXc5cnJQVW5zb0VyMlFacitvWTg5Z1ZQdnVsSmpRMThtSnloWWExeG1BcUswTjdSZ1o2NUV0bGxlSHRyQTZHdGVIN2UwcmFKYlNFOThNSXl0VmJROWpLdFo2eVRWcVUyQ3ZlNFlpUDZmZFZCaGJSRmhPT0dHaE9KcU1ieTRxbEpNYjJzNnc3anpKNzJ3MjZNVzdRVHBlaXlSZzZRZ2ZoeFh4MjNIQTM1TkNiM1p2Y1B5ODNkQzgrMmJ2T2xUSHFvdVJOaFkzS0lObkNIUHAxSld0QXlwZXc3blFWUmhEME1JN1JGU0tyS0JlWDBQeUw5alRKL3NsWXN4cEU3amRqRzdkKzZLdURJWHJ5M3M3ZFlmcnRhbVk2ZDZZeVNCYjIwQzhyV285TUh6a0ZBTzR0aGpMaldidExUdEFtSnE3OFFibll4a2FacW1DTUZ3aHdIcGt6dmwzYTBJOE9pSXdkZXZ1SGUrbHBvczBVYnF0U1NKYlJzKzZwWk9COEhUTUVZemVHTkNlekZ1UXRwT3FEOWo5UnE3Rnc0MnN4YTBrRkRYSnU0ZFB0VzcrY3licnZYWVo0aHZHRlpLWWpoQ3VGWkJsT1h5c2xNYVFxK0ZHUy9ieE4zYkRUZ3JWU2hSRjJiUVdsMTI0ZkpseTh2ckpRbUU0VWN2U04xaTh3bkFudmFMT0xjWGpyWUpuUENpY1JOTWpGWmd0OUFvQjc4Ri9CRjJyOFNQMXVyeGdaNkYvTy9qY3I5bS9DNzMyRjNaZXFQN09TNzkxRnZWejYrd1RoeGZlRmx3Uit3YTNVSUVzL0JKNlBYUHJlK2ErcEQvV3RMVmh4RC9WKzczU2VFek4yUERYZHlqZW9sNjJHNFlOY0FEL1JjMXppTGN1bmgyTUpqTG9Jd0J3SUlvU1FMTUcwYWkxR05EQkNDT3NVOHo3czhnTW9UK1hubTBOTk56UTRVUlExR0lJL1dFTHRVdnJqdmdrdXhzWTR1RlY0SEtRbE1ZRmthYU9haEJEeVk1QmZsTUlJblBwOGNHRU5SRTdBTFg0bWVOL2lMU2VaU1UrekZ2cEYwMVhGWTdVZzM3UFVkQ3Q0RGpzOTFzRXZ2dnVNMEdDT2ZrR2wzRWxQVmFiSjVnempNWUZrNDg0ejhyd1c4SUhhdm1aOER2eXV6M1JHWVlRUVFvNU04alYvY2YzL0ZEbTc0QVZnUVE4ankwTVlSNTl4aURqdkNEMzYrU1QvOGQxbm5jSjBQakFRVENQRzJYcFNCekhNamdra3l6eWFpWHpqMnpwU2pSVkJYSENPWEJWV0dHczNaZHMrLy9jakU1NTVmeWxqTDdxYkxQWnBHRjBrSEdIa2JDTElGa3R2L1l1QzJzZU85TmlOL2lEa0NheWpwZ3JHK2h6OW5xd3puMjRYK1Fpc2hCa2syNERob2hHUy84bkFKdFZxdFI3Nk1hc2hkZ25uZFVmSVB4WkxnTWo1b2JZRG9iUHZwT1Q3alo2MC9GMy81RlZ6UnRFQnUzUmVZajV6OXpQWDFxNVd2L3ZFcGF5UXBmc2laZnpKREpJRldTZTdCc0YzQmdHQW02ZTROQzkvaW4yNnI0VE96NDlIQXNEMjJNbVYrUk42TmEzYnNNczkzekRDVHA4TjhNQ3JzZjUzUXpOYTJnZG9ma3doMmJxWEZYNE1GYlFGQXRXT0tTek55d1Y2VEV3UExWbk5tQThYYmVZdVd0eGhFU0ZvckpseHRITm9OdXZUeUVaS1V4NkswMU1WWnB4Tm16b3JHTTFjbkNzSjUzalJyY05IYVYvN1FSejdoM0t4Z2pKNkt3a1NORmc3YzUreVVoeFBLTnROSXBmS0lsbjRlSk9pYkNkZnBGN2VmWitxM1RuVFJJNFZCK1lXc0FBV1VsZG56Vks0L1cxajBMc3BtOEJjZVN6Sys4d1Y1NWJERkk0QlFGTzU1NFFUUWtncDgyVFdpVXJPM3ZRd08xUkRrY1k0NjhNSC9aaEZ1RjFSdjlEQjN3bnhMeVdsYktZSFJMTWtKcEVzOUplMjNEa1FsMGlJMzBraEhVNFczNFdlSmY5YnZJUTgxczR1a1prNU5vS3p3bTNzODllWTVLbytrOGRFbUVXeU1FRjJ3L2ltMkZxdnNTVnlpM1B6bVlSMUhRK0tGOEhjWnhZckdzaWJ6cjVrUVRFSnNvdkpqNUNRODI1TUkxbDRYSjVtWGUrSXIwNjg0YlNzNHR5VVB5ZGx5V01Oc1VQUUNPbkh6Rmh0bDF5RDhwcFJpcW15VGw0aEY3cFRDckV1NXBHc3ZJYXg0cGxRNGtwam5Dd2dRaTV6NzBJd2pHa0JOL21VTFkxZXF0UFAvR1NTVFk5ems3UkFUaUVudEFtV1l4cE1KRm5vU1QvV2lzWVpDYk9QVVU5ZWtmUEpFdWYvcElZV0hDVldqT2lSVXZGZnllbURiV2Z0SnJKUGsrNzYvNkZEaUU1ZE1aTmtvY1ozMGo1UTE2OTFKUm5UYUw0TVoyTzN4Q1lXQUpMRXhqZEdpZWU5NjV4VWd5bytFRG5DODBhSjh5V1hKMFhjU0ttcEpBdHdtNVRvN1BzSFN0NWswMzJ4Uk5IdXYxdE8zQzdXSWgxQ1NIR29rSnExWm9ZYUpDT0VFT0phTCs2QkpyNVdHTG9ReDl3MEdiV3lDQ2FUTE5qdjJSdmlvOXg1bDZ6Tkd1MC92eFR5a3kxZjFGOWVXOVNQWFpiNFBBUUFBRFQ3TEtUYW5IL2ZIdkxmc3U3N3JIT21QWlRNalRBdjFvM1pKQXZBOVpuTC9pak9mbjZkN0cyTVNYY3ZFSk5JNmFySjB0eU1BR0paaXdDRGppNW5VKzNSdFNMT3FPdkltNjBsbVZGbDRnYm0rTE56eDdPMTVWWkxBMVJIWnd4TmRVWlVscUtWeXNxTDZVKy9mb1N4Q1o5S1hKL2JibWpQbjY4aGhUdlhyOWlxTEhoZlFzKysxM1d1S25pZDVNcmVMZXZYSzRrKzl2Rmt4bzJTK2hMUGNxeDljOThlTFlXbk96bXp0bTFZZVVSNlZNMjAyMi91VlovL0ZlSEsyYno2cjB6SlpXaUpEcEkxTFFtdFdqVk5TNjJhR01NNVN3cnp6K2FjT0p5aExxNm5yV0hMcGczcTFraEppT0djNWNXWEw1N0p6VGlXclhTdHlIUHZNVzRzSE1xNFFTTWhQYjFSL1ZyVmt1THN4RkZhZE9uQ3Flemp4eFRFaXF2VE5yMVIzWm9wOFhaU2NmWFNoZE9aeHc3cEVDOE9zUmJSekRPVXg0VE9qQ0Q2TTVHbDJBTFY1eGtnU0Job3oxeVNUajJsRjBFTTVqcm1lSUhMVExHR0VBUUFBTGlPWDdESHAvWlg1ZzR6QUZTU0FFZld3RDYvSXY5eWVYVFZScDNGRG9LZHFjT1pMd2dpaWVqUWMyaUVYQlF1YnExc1JOeUtoZ2hubHR4NGh3Z1NOcVMwc29WR3pKQ2FER3hsTGNYSHpLTWFFRVIzSkxTeVp5bEhLVlU2c0pXMUVsTWtMb2hCRUQwSTNjcXUwdVJzWndUUmlKQ1N2ZGpZYUJOTkFUb0dsc0Z4WDZiUkppQklJQ0ZhV1JkcnlUZUNHSVM0WkozUEdHMGZndkFRbFd5UlNOUnZCREVHTWNsdWEyZTBkUWdpZ0MzWm5FZWlRMmRIRUwxaFNOYTU4UUdSa0M2VkVGd3ZhMlpjdVZiYU0wd0FBQUEyU1VSQlZOdFhMYzNFRmJKQlZQbzE3dWFCNjFXemVwVXFLVWxKQ1RIZ0xDa3FPSitYY2V5Q1BzY1BJQWlDSUFpQ0lBaWlBLzhQNnhDNnhUMDRqTmdBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIFxuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNzYtMVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg3NC01XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoODYtOVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg4NC00XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoOTYtOVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg5NC0wXCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTA2LTlcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTA0LTFcIlxuICAgICAgICAgIGQ9XCJNIC02LjEwMzVlLTUsMTQxNy4zMiBIIDE0MTcuMzIgViAwIEggLTkuMTU1M2UtNVwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxMTYtN1wiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMTQtN1wiXG4gICAgICAgICAgZD1cIk0gLTYuMTAzNWUtNSwxNDE3LjMyIEggMTQxNy4zMiBWIDAgSCAtOS4xNTUzZS01XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDEyNi0xXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDEyNC0xXCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTM2LTVcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTM0LTk3XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTQ2LTdcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTQ0LTY3XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTU2LTNcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTU0LTY1XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTY2LTZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTY0LTNcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxNzYtOVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNzQtNFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDE4Ni04XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE4NC0xXCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTk2LTI5XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE5NC0zXCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjA2LTlcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjA0LTBcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgyMTYtOFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgyMTQtOFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDIyNi01XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDIyNC0wXCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjM2LTlcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjM0LTZcIlxuICAgICAgICAgIGQ9XCJNIDYwMS4wOCw2MTEuNCBIIDgwNS40NCBWIDgxNS43NiBIIDYwMS4wOCBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bWFza1xuICAgICAgICBpZD1cIm1hc2syNDAtM1wiXG4gICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgIHk9ezB9XG4gICAgICAgIHg9ezB9XG4gICAgICAgIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPGltYWdlXG4gICAgICAgICAgaWQ9XCJpbWFnZTI0Mi04XCJcbiAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVlBQUFBR0FDQUFBQUFDQnJPcGpBQUFBQVhOQ1NWUUk1Z3BibVFBQUVWcEpSRUZVZUp6dG5YdDhWZFdWeDNjU2dnRUNDSUk4RkJVd1FCTDJEZ0VmbzVaYTN6aGo2OHlVYWJWRmhQckFPclRvV0p5MnpqaGxXdHJhK3FsaWRXWnFSMVRBNTFTbi9XaW50Z3BTbi8xQTViRjNMaEFJNGFueVRua2xKSkRjK1FNL0pqazVlNTE5N3ozN3JpVDM5LzBubjV4OTFqbjdydDlkZSsyejl6NzdDZ0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnTTVPSG5jRnVobDVaeXFwNUxkLzYyelF3Mk5sY294aUpaV2MyRWNJSVNvZ1FGYnBPVm9xZWQ3dzFnUFMzUllDWk1aUXFhU1NRUzhxOXdzZ0I2UkwzN0ZLcWtuOVE4dU9GemU1WGdZUmtEb0Y1eWlwNUJqaWpNTFN0YTRYZ3dBcE1WQkpKU2VjRW5tZWdnQngwMnVNVkhMU1lNZXozYk13Qklna2I0UlVVcFhtcDJJREFlS2hyMVJTVmZaSjNkQzlHNFJlVURpRjV5cXBKcDZSdHYzQU9zY1RFUUVkR0txa2toMjY5aW1pL3VoNElnUm9ROTl4VXNtSnA4WnhLUWlRR2dVanBaS3FKTDRMT21kaENIQ2FWRkpWUkhmdFU4TlpnRnhPd3IzR0tLa211bmJ0VStOdy82VGJpYmtwUU40SUpaVk1yV3VmSXFOcjNjN0x1U1pvUUpsVU1wMnVmWXBJQ0JDa3NFUk9MRlZuKzdqMFBxUFZaZTBQeWQrNG1lYUdBTU9ra3FxODBNT1ZtelpvcmMxSFF0d1pFTUQxV2JpN0M5QjNuSktxTXBhdWZaQVB0ZGE2K3Znbi95VUNwYTdkb082YmhBdEdLcW5rdVQ0KzROR0UxdG9jYUhkczhKNzI1elQzYVhTNlZyY1U0RFFsbFZSRkhxNmNyTlZhNjlxV2tLSTlnZjdzcEZWT1YreG1UVkN2c1ZKVnl0TjlYZjd1WHg2MUZRMEpaaGlaWXdMa25TV1ZWT044ZHUzRnF3L2J5NTRNNWhuSEpOQWRCQmhRcHFTcUtQWituMzIzMmN0bVh4czg0dGdONnRvNW9MQkVTU1c5ZE8xRG1QcVN0YWowZzE3QlE3dUdPVjIweXdvd1RFa2x2WFR0YlN5ZWJpM3ErYWZLamdjSDdYZTVhaGRzZ29yTHBKSVRCbVQ3dGp1L2FTLzdmb2ovUmNVeWw4dDJLUUVLUmtrbEs4L3hFclVmR2JOKy9sQjdlWExtWDZ4bG4vdFcyRkhaclFRWUpKVlUwa2ZYWGh4SmFHUDBBU0YrUVBoZlBQcUd0ZWpVUmFGOUw3ZHVVT2ZQQVVYamxGUVR2SFR0bTJ1ME1YckxKeVAzRjcxZFlEOTE0NFFHYTltek40WWVYbkdoU3gwNnN3QjVaeW1wNUZqQ0xlbXpXeHVqMXgxcmM2UjR6V2o3NmMwWHI3Q1dmWFZKK1BHamZWM21aRHBwRXpTZ1hDcnBwMnRmbnpEYW1MMGRqajlNK0YvTXQvdi83TWNzQlgxRzF6aFVwOU1KVURpdVhFbDFscGRySDF5cWpka2NOcEFqeFBXM0VJYXJmbUF0eWw4Y3ZrQmFDQ0ZkQk9oTURMOW03cUkxVFVsL1hHKy85NUE5aEYxRG1kM3dPM2F6ZjR2ZlJiNG92dURXQlc4ZWlOM2hBUjRuYXZBS1pYaTMzVzRTOFlYNVZleCs4a0JCeVJlLzkvS21scmg5SFVZTmtWTHVvQXlYMjNzcXZkY1RkdFVlL0JVbmd5NmY4OFNLaHBpOWJPZkVSZmFxbEJ3aERBOFJZMDMvUWQyeHVjUDRVR2VocUhMNmc3L2ZIYk9Eby9oM2UzMTYvSWt5bkdFMy9CdjZsdWZGN3JtTXlSdjUrZnVlWDNjaVRzZCt5bjR5ZjY4aytudmZvd3lKMVEyblIzeUpaanA0Skh2ZDBBSGxTaXJaMThlbEd6Y1lvODJFVjRsVDZxZWRzSlpkZUI5aHVKZVlCSGdpNHZuY1pVb2dHd0lVamxGU1NUOWQrMjNHYUZOOVFnZ3grQW5xdkcvWk0yS2Z4WlFUWnUyeEZ0MXhYVVRsVW5oZDJCZkRwOHhkN0tsclgvZjJZM2RjMHEvMVZyK21UdjQvb282L29BeWZzdHVOUFJwVnhkME9IdkkyRmxSY0xwV3M4REpxZjd4YUc2TjN0RDk0Nnk4SmkzMXlsN1hzdWxjSXcrM3FvSzJvOFAxSmhPRkpoa1pMNEtFSnlqOVhLcWxHZVpGMnB6Wkdiemplc1dEVVE1VFo3WGIvRC81dndpNDUwK3AvTVMvYS8wSzZ4RUNjREw3OHJvVXI2MU50VEZ4NVlySjFoVnZCZTVUaFFxTEt2NkVNaVZVUWs1c2Rha3c4UXNkTlVlWE5ELzVoVjByK1RKVlZ4QVR3djFLR3RVVFg2MWJLY0wzOVNhcmZWcGNxVThySFJ0NDVYN2p2QlU5ZCs3WlFJMkxuVVhtKytUTjJ3OUdIQ2NQanhJUFVZcWM2L3psdHI3cHg2dVE3Lyt2ZFF5bTVNWDIrWWE5SHJ3MlU0WHk3SWQxeUVhT1pON2pWdWQ3Yk9ySEM4VGYrNk5YdDd0N0xuRDhRU2YweHl2Q0RkRnN1NHRsNVJKMWpyYWtkUGRMbGpDbjNMbDdiNk95NG1OZy8zRjZqS1pSaGZhbmQ4THpqaEdIRE9LdGQvcHV1MVo2YWdhTTdVbnpoYlk4czMrOTY3OVRZczJ6QngxVDVQOWlyZFJwcE9OdHUyTHVhTXB4ak41enIvTEhtcGUvdGR1U1BtVHJ2ZjJ2OGpObzNySHJxbnF1SENqR0RPdWxwb25JdlVZYS9KMW91Y2l4NXFkMXdnbnY4dnh6cDJzakhwY0ZLS2xudVpXUTd1VlViYlRZMUN5R0VHTG1tbi8zTWJlcVF0V3dtMWRjN0lEK3lsbDFMalU4Y1ZOdkRDd1pOcUp4RlRkKzNaL081VVdjUVQ4SkZaVkpKTmNUNVpxbHd3Qmh0cW82MEhzaC9tdkIveTgxMi80OWNRTjFubHQzL2c4aE8ramREL0QraXNuSmk1UWpLcWdPaitsaGZLSWhtbm5PZ3BVTGptc1Z6cDNUY2hlVGJsTTBEOWtybXYwMFpVaTNYeTVSaG9PbklIM3ZEQTYvdlMrZmpYcENlNzRVUVFreE41NFlVVzErWmYwTjVlTWlSemVxYW52WktFb3NTa3NtdFJGVE5wQXgzdDc1dTFMUHlhNCsrUzgxWTB0eWFydmVGRUdQU3ZtczR4TUJJVVlLd096YmVibGhKUGdKLzFtNDRrbngrL0lJUVFvamlTMll2WEozaFdEclpRRVpRRU8rRStUSWkzeStnRE8reTJ4V3Rvd3gvYkRmTWY0Y3lYQ2dHWFhYdjg5Vng5UHFjVmtqYitITU1GZmlVdWpQdE43cUsrcWh2RU1JOVF0MXhOZEZ5ZlplczYvSWQ2WHpDVURvdWdVeUJKMk9yUmpLWkRGOUJMSVFRWXNCT3dvNFM3bXBLdUlaeXUrRkVuK3Z2MnVQMm9sSTRkOGRZajJlSis3eEFHZDVndHh2NElXVkl0Rnk5eUpZclhxNU8yLzFDWEJsZk5YWVFtd1hjUkJrK1E5VHZSY3J3OVhSYnJoalo5ZnJQWmxBdmZRaEJQd2tQc1Uva3RhTitYU0tSeUgrSmFIS1RWOXFUMFZuYXVyeFlpQjNLL21MUWRLcVhYeWMvdEpaZC9acjN0eUtPcnRmR3JIRjVTNCthRTk2OU4ybzNxV01iRWxXSnhKYWtFS2VzSlB3dkhyTDdQLzlwd3YvSm0rMytQL3ZuVk0yK2J2Zi93Q2Q5K3IrbFZodWpheHozeTRyZ0RYdDBOZXJuL3VWdlMxcm5HeDZrUXRFUU83S1JJNHNQMnUzeS8wZ1pXbDVhRVdMd1pYUElIbWdtN0YzNjhJenpVeDAxSTc4TUQ0VWxzaE9iRWxXSnhLYjJDODArUi9YeW15NndiMld0cU1neDU5dDNITG1YR0o4UU8yVEgxUXhGcFVwS0ZkVWtwMGZEZXFQTld2c1NMZ0p5V1lvSjN1ZTFSS0pxWThqVytQMFhVVUxlWi9mL0tjOFEvbStjWnZkL3hmZUpHeWFudC9OLzNrZ3BwU3J4OHE1WlMyMUNHN014L0syYmpEay9FR01IYkNjK1EwWG1jbUppOUdlVTRUMTJ1NklxeXJDMTVScDQ2ZXpIMzZjbTNqTmcvL0pIYnZ1cjNtazUxcFhld2JVdmx2V2RYNmJxK1JkaVVlamwxSlBVbTRSd0QxRjMxS2NJSVhwV1RQdko3NmdudkF4b1dMMW83alV4TldaMGgyQmpZQy9aejRjdVFEN0RVQ3NRYjdJbVJIR3FKa2JYclZNaVFvZ3JxRjUrMDlTa2tuS3NsMlhIeVpPTGdadDlYRHVNNEd4ZjZEcnV2TmVwYjhzTHhPV2ZwUXkvYXJjYkVOOVlqVHY3MzNwczFzWCs5OFJwVC9ETmhSZkRUcnFMcXZiT2dmYXIzMGdaUGs5VTY3bU12WmtTalhySlAvODFNU1Rsa2I4UFZDVnNrWDA1TldyZGNwWDk0bWRTaTJ0MkVxM2FWMkp3cWlQYlgvM1JWOFl6dmt0ZEVxaFBjOGVrMzNNMTlRR0kxYTE1U3dtN2xpdnRoczZyb2pLaTdwMy92UE16eEl4YWRzZ1ByblR1T01YNUFQVXBFc1QySnY5RUdSS0x6Zk9XWmV4Y21xYXE1NzV6WGJaMjRZcGlaYUJ5SFY2WStpeTFTcnNwYkIralR4aC9qRENzSW9TN0p3WWYyOWo1dXdlbVZXUnpGNjdJRnpSMFlJRndSYUM4WC9oV09aOXcvMnByVWM4bHhQaFEwN1JqWVlkN2xFaXA1RG5FRGRQblVNSVlzOVkrOU9lTkNBR0NneEZCQVg1T2hlcmJQN0dYelE5ZXFTMzNyd2tlR1NhbGttVngvOHFDRUVLSUU1dU0wV2FMajB1N0VERXllMFZnbjZpRDdTZFdwdjRQWVh0WWJiV1dYYnFNaUp5M0xtc3p0TktuWEVtcFRpUHVrejRmRzZQTk9yY3RobjBSSWNEcHdaZWNSclg5cWd3M1JDOWZ6TEJQbVBUWHhQakVJYlZOQ0NGRXdXZ2xmYjFyZG1TZE5tYXRkV3dyaTBRMFFYdDJCNVltcWpZQzVEMUorZjhsWXNMcVVlcWw0VzlzRTBPa2xLck15NExVNXMzYUdGMGJ6NFJKREVROVpKaUFBQlZ0M3R5ZlRVMDRmenpMWHZhbGFaUmg1WFJQbXovdjBicEtKMEx6ZStjbE9GN2NadlBZVXZKMXlDbjJhNTdoNlIwRE8wZFhMcnpyQ2orLzFwTXBrUkVRK0wrMTgxSzRoR29pSG4zTldrUzNYREhUVW11ME1UV2VKa3l5d0tUQWQ2bmwwL0hBSDFKZk9lSUZUekhINDFlOUxYdVhQWHpMQlg0blRHSWdxby9SNjBpZ3YzangreWYvWHZJVzBaRThmdEVIMXJLeUQ3eHN2OXFXWSt1TTBUcmJiNm1uUjFRVDFGQVRlTkd2NHFRQWZSZFRqOER6N1A0dlhPTFQvOGt0cHZXbG15NUI1RkNyQ1FwdzhzK0NrWVROZTlaMXlmM0gzMEtNRDJYRS9pcHRqTW5naFJRZUlnWFFYMnovLzBrQi9vN2FET3JJVFNIZndNSXhTbnJhRDdSeGd6WkcyMTlHNnRSRVIwRGdmNW1YRkdJb3RRT2ttQlA0RWJrenBWU3kxTWNnWTNLN05rWnZ0RytHMWZsSldZRGlVWnVGV0RpSXNQaDE2OXR2ZmNkTEphV1hUWVBxcW96UjVyQ1BTMmVWU0FGcTZ3TTl1WXJONHM0T1A1alNodDIzQ1NGRWp4S3BwUFN5MVg5VHRkSEc3SWcrc1VzUUtVQkxWV0FXck9MbHNUK2xETDVXZUkyVXF0VEwwUEVPbzQwSjI2K3A2eEk5NFd5Q0F2UllRajNkSEYva1plajRrREZHRy92K1ZWMFdCd0VDLzFmY1QrNUhXaGkzLzA5VUc2UE50cGl2Mm1tSWJxUXZYeG80ME94bGxXc1lIeHFqemZxUXhjRGRpR2dCZ3I5U21SVU9KN1F4dW83aHp0bkdvWnZ5c1o4MTlSYWFOMmxqOU5aT00ySGlHNGRWWHlaYkF1elN4bWptS2RxczR5SUFzYnd3Sm80bWpEWm1uL2Y3ZEVJY0JOQSs3OTlTWTdReG0zT214ZW1BU3dSNHV2VWVvNDFKMkgrZUt6ZHdTTUpGUjdMVzcreXVQRzVmb2VDd3NlV3hydlpyVEYwS2w1MUZ2U2FCWE1kRkFGOUpBQWdJd0E0RVlNWkZnTm91TjlQZGhYQVJJRm5sdlJxNWk5UCs2bWlEL0FFQm1IRVNBQThDL25BU2dHTktKbGR3RXFEckx1N3UvRGdKa0x1RHhmNkJBTXhBQUdhUUE1aEJCREFEQVppQkFNd2dCekNEQ0dBR0FqQURBWmhCRG1BR0VjQU1CR0FHQWpDREhNQU1Jb0FaQ01BTUJHQUdPWUFaUkFBekVJQVpDTUFNY2dBemlBQm1JQUF6RUlBWjVBQm1FQUhNUUFCbUlBQXp5QUhNT0FrQS9PRW1BTm9nYjBBQVp0d0VRQkx3QmlLQUdRakFEQVJnSmpzNTRQRzhyZzN4bzNTWmdnaGdCZ0l3QXdHWXdYTUFNNGdBWmlBQU14Q0FHZVFBWmhBQnpFQUFaaUFBTThnQnpDQUNtSUVBekVBQVpwQURtRUVFTUFNQm1JRUF6Q0FITUlNSVlBWUNNQU1CbUVFT1lBWVJ3QXdFWUFZQ01JTWN3QXdpZ0JrSXdBd0VZQVk1Z0JsRUFETVFnQmtJd0F4eUFET0lBR1lnQURNUWdCbmtBR1lRQWN4QUFHWWdBRFBJQWN3Z0FwaUJBTXhBQUdaNk9KMlZhUTY0L2ZZTUw5QjlRUVF3QXdHWWdRRE00RG1BR1VRQU14Q0FHUWpBREhJQU00Z0FaaUFBTXhDQUdlUUFaaEFCekVBQVppQUFNOGdCekNBQ21JRUF6RUFBWnBBRG1FRUVNQU1CbUlFQXpDQUhNSU1JWUFZQ01BTUJtRUVPWUFZUndBd0VZQVlDTUlNY3dBd2lnQmtJd0F3RVlBWTVnQmxFQURNUWdCa0l3QXh5QURPSUFHWWdBRE1RZ0Jua0FHWVFBY3hBQUdZZ0FEUElBY3dnQXBpQkFNeEFBR2FRQTVoQkJEQURBWmlCQU13Z0J6Q0RDR0FHQWpBREFaaEJEbUFHRWNBTUJHQUdBakNESE1BTUlvQVpDTUFNQkdER1RZQmpubXZSM1dteUY3a0pjQ2ltaXVRcUIrMUZiZ0pzanFraXVVcXR2Y2hOZ0dxMFFSbXh4bDdrSmtEanV6SFZKRGM1a0xFQTRzVjRhcEtqL0lwNGtNMXp1MFMvN2YzanFVdE9NbW1WdmN3eEFnNHRpS2NxT2NsdkNmKzdSb0RvdmU3c09PcVNpelRLVFVTcFl3U0krdW5OY1ZRbUY3bVg4cjhvY0wzTXRycHJNNjlMTHZMVWQ4bGlad0hFaXFZck1xMUxMdkw4VEhvczMxMEE4YzZXYXdvenJFM09rZnp4UDBiTXBiZ21ZU0dFRUtXL21KeEpiWEtQbXErL0VYV0theElXUWdpeC90THIzMHUvTmpuSHhqdktJLzJmV2dRSUlVVEpkWlBMaGhXbnBGdnVrYXpmVy8zZWF5dTRxd0VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFnSGo0ZjlBY2RZSDJGUjVEQUFBQUFFbEZUa1N1UW1DQ1wiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIFxuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNzUwLTVcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNzQ4LTYxXCJcbiAgICAgICAgICBkPVwiTSA1OTIuNTYsNjA4LjA0IEggODQxLjIgViA4MjIuNiBIIDU5Mi41NiBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bWFza1xuICAgICAgICBpZD1cIm1hc2s3NTQtMTVcIlxuICAgICAgICBoZWlnaHQ9ezF9XG4gICAgICAgIHdpZHRoPXsxfVxuICAgICAgICB5PXswfVxuICAgICAgICB4PXswfVxuICAgICAgICBtYXNrVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICA+XG4gICAgICAgIDxpbWFnZVxuICAgICAgICAgIGlkPVwiaW1hZ2U3NTYtOVwiXG4gICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFySUFBQUpVQ0FBQUFBRE1ENXJEQUFBQUFYTkNTVlFJNWdwYm1RQUFJQUJKUkVGVWVKenRuWGRnVk1YMng4L2RiSHFoaHhZNmhGNEZSQkRCaW9EMFpnRWJDaXJZeTN2K3NDQVc3UGllaXFLZzZCT3hJMFVCa2Q1N2t3NGhsVTRDSkNGdGQrZjN4L1o3Wis3ZXRyZHN6dWVmSlBmT3pEMXo5NXZaTSswTUFJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ0NJSWdDSUlnQ0lJZ2lObmhqRFpBTHAzZk1kb0NIMDZYcTZ5ODdHcFI4WlZMbHdyT255OXdFcU10cWhUWWpUWkFMalZ1TmRvQ0ZvNnpaL0t5czdOT25MaU0wZzBubHBPc2ViSFhyMzhOQUFDY1AzTG8wUDU5NXd3MkoySkJ5V3BQclZyWEE4RHBYVHQzYkR0cnRDMFJpT1Y4MlZ0V0dHMkJERWpHcHZWcmp4cHRSWVNCa2cwN2VhdFdyRGhqdEJFUkJFcFdEMXk3bHl6ZWhaMHliVURKNmtYMmdsODJ1WXcySWhKQXllcEl6ay96ZGh0dGcvV3hHVzFBWmFMQnN6djNQcDFxdEJWV0J5V3JLMXlIRDdQbTk3SGNWNXVwUU1ucVRkeWRhL1krbkdpMEZSWUdKV3NBN2IvSW1GckxhQ01zQzByV0VGSmZ6WmlSWnJRUkZnVWxheEJKVHgzOWJ6MmpqYkFrS0ZuRGlILzg2TnZWalRiQ2dxQmtEU1R4WDBlZWlqWGFDTXVCa2pXVW1qUDJETVFoTDNtZ1pBMm0xZUlGVFl5MndWcWdaSTJHRzdMdnVXaWpqYkFTS0ZualNYcHZZMGVqYmJBUUtGa3owRzNMaTlqUVNnVWxhd3JpM2xyWjFHZ2JyQUpLMWlUMDNqSEdhQk1zQWtyV0xGU2IvMG04MFRaWUFwU3NhZUFtcldwb3RBMVdBQ1ZySW5wczZXMjBDUllBSldzbTZ2NTF2OUVtbUIrVXJLbUltek1OUDVFUTRBc3lGN2FYWjhjWWJZUEpRY21halFkK1NqRGFCSE9Ea2pVZFF4YWxHRzJDcVVISm1vK2JsMVF4MmdRemc1STFJYjBYWXp2TEJpVnJSbm92d0YzalRGQ3lwdVNtNzNIY2dBVksxcHdNL2h3L0dRYjRZa3pLQTY4WmJZRlpRY21hbGY5N3dHZ0xUQXBLMXF6WVp1SWFHU29vV2RNUzl5T3VSYVNCa2pVdmRYK0lNOW9FTTRLU05USFhtZWNrU1JPQmtqVXprNGNiYllFSlFjbWFHZHVzQmthYllENVFzcWFtNXV3b28wMHdIU2haYzNQYkkwWmJZRHBRc2labk9vYms0SUdTTlRuSk0vRWpDZ2JmaDlucGQ2ZlJGcGdNbEt6cGViZXEwUmFZQzVTczZhbi9rdEVXbUF2TFJUMVhmWWJ0N1U3Vk5rVFpZK0lUVTZyVnFGVzNmcDJZOEwvQnNvNUh3djRNQzJFMzJnRGRXZW5Rc3JTWXRHYXQyblJvbjZ4bG1YeGkzeG9SenVLdFJ1VnJaYU0xbGF3YmUrdHJyKy9iTUd6djB0VjdVN2lLUnNMUExVUWxZZnRlU1orOHJGU3RjUXhXV3E1bFFmeVlWN0lBVVBYZXBSVmFTSlNQNjZZd0dvMkVHVk5MRmdEcS85OUpEVFRLWjFWNGpVYkNpZGtsQ3hBMWZKTVdLZzNDMVN2Y1Zsc0hISmZWSE9kdlBXOWFyM0daM1BNYUYyaGhVTExoWVBVTkF3OXFXK0xBVnRxV1oyRlFzdUhoejQ1UFg5R3lQUHRrTFV1ek5DalpNT0g0cU4yZldwWTNGcU1oZWtESmhvMmNPeDY1cWwxcFZlN1dyaXhyZzVJTkgyVFd0WWUxSysxaG5FNXdnNUlOSi8vMCtFT3pzanAxMXF3b2E0T1NEU3VYaDM2cVZWSGNPSzFLc2pnbzJmRGltS3haQk1QUmVKZzRBS0JrdzgvVUtSb1ZWSytQUmdWWkhKUnMySG5yVFkwS0dxMVJPUllISlJ0K1h2NUttM0lHb1djQWdKTFZBL0xvR2szS3FYT3RKc1ZZSFpTc0RwU1B5ZEdrbkRzMEtjWHFvR1QxNE54WVRYYnY5TmVpRU11RGt0V0ZkWnBFaW0yYnBrVXBWZ2NscXcrdjc5ZWdrS2diTlNqRThxQms5YUhzTVpjR3BmVFZvQXpMZzVMVmlRM3pOQ2dFSnhNQUphc2ZMMm13RXJFeE9yTW9XZjNJbnFXK2pLanU2c3V3UENoWjNYaS9SSDBaS0ZtVXJJNmMrcC82TXJxcUw4THlvR1QxNHhQMWd3WWQ4Zk5DeWVySS9vMnFpNmlPL1MrVXJKNm9YOUZsYTZ1QkdSWUhKYXNqQzlTUGM3WFJ3QXlMZzVMVmtjdC9xUzRDZzhhZ1pIVmxvZW9TbW10Z2hjVkJ5ZXJKY3RYbk5EVFR3Z3hyZzVMVms5UC9xQzJoVnFJV2RsZ2FsS3l1ckZWYndGOWhPT25CWXFCa2RVWHR5T3lpc1dXYTJHRmxVTEs2c3BPb3lyNW9YS0ZHaGxnWWxLeXVuQ3hRazN2eHZackdyTFVvS0ZsZGNha0o3cjFrN0dYTkRMRXdLRmw5VVJHOWMvRTkyTVlDb0dUMTVvVGluSXZHb1dJQkFDV3JONWxLTXk2K0Y3MENONVh2MkdWanlWT1liOGxZYkdNOVlDdXJMMmVVWlZ1TWl2V0JrdFdYQWtXckRCYVBRNi9BQjBwV1h3cVZUTGorZ1lvTkFDV3JMMlVWOHZNc3VZZXVXUHNZWElwb0JjeC83TEk0NTJRYnZJUnhTSjM5UGFmajc5R3grcHFQeU1mcWtzMlZyZGlxOUlLaTMzWVNRa2plMUhyNlZnQ1JpOVVsbXlYVDNEOVliZXgwcHlkRnlkZnQ5YTBDSWcrclN6WkhJOFcrNi9RbmNpN3FnVWN2bWhlclMvYVVQTVV5dkFMN084NmdkSzdsMStsYkRVUTZWcGRzdmh4Yi8yUXA5aTBuUDZscmNVZDlLNEpJeGVLU3RWMlZvMWlXVi9DMlFMR0VFTWMzRGZTdEN5SU5pMHMycVZ5R1lobHRiQlJWc1lTUW9xbTRtZEdFV0Z5eTlSaHFrNkZZaWxmZzQrUXc3SWVaRG90THRyMWtPNWV5dkFJUnhSSkNGamZTdDBKSVNDd3UyZHNrSzVibEZZZ3JscEFyaitNa3ZMbXd1R1FmbEdnbDB5dVlIdHF6V0lzaFpVeUZ4U1U3VFpxUnkxaUtmVU9LTDF6NE1IcTBKc0xpa3AwdnlVYW1ZdCtVMkh2N3RicSsxVUpFc0xoazkwZ3hrYVhZS0FsZWdZZXNudnJXQzJGamJjbkdTcGxKV0ZhTm50bitoa042TmN1ZlJPZkFKRmhic3Awa0dMaWMxY2ErTG4xTWx4QkM1aVhvV3plRWdiVWxPeUcwZlV5dlFLb2Y2Mk1uVHVDYUFtdEw5cHVRNWkxbmVRVnZ5dkFLUEp6cXBtL3RFQ3FXbGl3WGNvRTNVN0V5dlFJM1JZUDFyUjlDdzlLU2JlMEtZWnhXZnF5WGlnbjZWaENoWUduSlBodkN0dVdNNGRRb09XTUZRYmorRHdjT2pNYlNrdDBnYmhwTHNiSkd0L2hNUjgwYWpKVWwyMGhjZVgreC9OaHB5cndDRHgraVpvM0Z5cEo5VWRTd0ZTeXZZSnFLTnBZUVFtYWdaZzNGd3BLMUhSR3o2NjhhOUZ4UnI2dFVMQ0Z2bzJhTnhNS1M3U2RtRnF1TnRiK21XckdFVE5HM29rZ1FGcGJzTWhHcm1GN0JWQTBVUzF5UDZGdFRKQkRyU3JhclNDZnFyM0Q1c1I0cWh1bGJWeVFBNjBwMk1kdW1GUXcvVmhPdmdCQkNTRkVQZlN1TCtMR3NaUHV3Wjc3K1ppbjJWYTBVUzhqcHhycldGdkZqVmNuYXR6TXQranVzZnF5WDNjbjZWaGp4WWxYSlRtSWF4R3hqTmZNSzNQeUlPMitOd2FLU2JYeVpaYy9LbXZRYzlsY3IxRmFWeC9QNlZobnhZRTNKUnExaW1iT1NOWVB3aXJadExDR2tySSsrbFViY1dGT3lyN0NzWVNwV1V6L1dRMDV0Zld1TkFJQkZKVHVBcFQrV1Y4Qk5raEZ1VGpxTDBKMDFBQ3RLdGwwQnc1WlZETVVDUkRVYy92N1dVclYxRlRCWnoyb2piaXdvMllhWkRGTldNYndDTDlXSHpwSjd0RUlJaWxyclUyVWtBT3RKdHQ0aGhpVXNyeUFRZTQ4UHM5WFdPSkJOMGVHdk1CS001U1Ria0tWWXRsY1FURXkvbjByVVZ0b1BqblRwanRVazI0N2xGYXlXcUZnQWdMVFh6cWl0dHBlaTlQRFZGYUZpTWNuMlp4M25JYldOOVpEMGhGYit3WEljTmRBWlMwazJhZ3ByQmt1S0h4dE13dFB5enhLbGNtYzRhb3F3c1pKazA1YXpqRmhUUzBGeDFXZVVxYTA4SVlSa015TGFJMkhDT3BLMTNYdUJaWU1jUHphUUR1dlYxcDRRUXFaclcwOGtCSmFSYk5zVlRCTld5MjlqR3ovODJtTXRPYkEvV2FpMi9vUVVZMkI2WGJHSVpPdCt3djRTWDVNcXQ3U29SODhSUWdwZXNBTzAyYUgyQlJBeVB4dzFSbGhZUXJKMTM3bkNObUN0L0RaMnJIdkZnZU54QUlqL05GUmdyNUE0TEIwUjBYSTczRzlab2JLQWFJY21kb2pRN3ZHeEl0R0lkNDI3d0x2aXpDY0FzU0tkb3JpL1c3aC9PZFg1SEFEY1B6TmVwWVhMK3hPVkpSZ0lTbFpqa29jODFGdDA1UE55QmY5SytaUzVrUHlqU01zWFZkWHpNWkhiL3dJQTZQV3J5bFdFNU1hMTZncEFaR0JxeHlCcDhQOHVLVEJwUGtDNnRHN1ZLUGR6MG84cGVFb2dLeTNYVlBreCtLajNDQ0txNmMyMzM1Z1NJdEhCM1pTTEpSOEJuSGorZW5hdW1LR2V4U3lPSFBmUG8zMlh0Vk5pbzQ4YnIxK3ZLajhpQTFPMnNrblhUcDZYS2FGWHRGYjJXQUVBQU5pWGV2SnZpL05lcXIxWDNWdjRRN082STZFd2wyUmphblc5ODVVZi9wRzQwa3FoWWdIYXVCY1luT251djFTSHRVQk1HbzVPbXRUZkNDem4wNmp1ZnQzc1ZKZWZzMFZGeDhZbkpWZXRYck4yM2RRcU1sN2dodUhubFQ2MDVSdTNKSmF1ZVhsdndLVkc2MVVkT1BQdGZXcHlHMG5sazZ4aHJCK2hXTEVBdGxyVkxwOFBIdXZvdUZiTllvR1M1cWRVNURZU1hJbW1GK3RIcWxBc3VNNGVQczBibmR0N3Q1cmh1bmpMSHZ5Qmt0V0pEYVBPYVYza255K3B5VDArVmlzN2RBWWxxdzhiaDU5TmFaNWVUYjRmbHRTNFpRMVdydmQrVjJGUjJpQVZtUkVacUI0eE1JVDFxZFduWjVhVm5mNWNacGNwNWVWanBXWG52Mm5PdUYyZHRVdEhDc3RVZnhhSUpDd3AyUTIxNjI5ei8zYThqWnpLVnYvYm5Tdm5Xa2FDUGlwaXlwUTNWdjlwSUJLd29tUTNwTm9YZUgvZkl1UDhidHNYM2x5SFdSRVBQbEJoRnA2Z29BOFdsT3lHVkxqT0Y2L0lPZHJHeDEweFRuRGQxcXJJVjhZa3h1dElPS3JjcmdQVzdNamdHb093czNINE9lamppM2hoKy9obFhtL0tOZjhkRjBDREw5TUVPWk1TZmIvZTlpbTk4S3VQL2FWNGFMMU5seDFLc3hvSlNqYmNiQnB4RGlCZ3BqWlZNR3RiL1pOQ2dJSDlSRXVwWm5QUmIvejl3MTJLVFJ1TmtrV0ViQnA2SGdETytpK2M0ODhvdU9ZVkE4Q1NJY0xCaE9TR3ZsOExHSW9GK05mZ1JOYXRVSXg0VWVYa05TSUZpL215RzkxdGFnKy9MenNxaW9mWGwrVmZqNHBLOS91eWo3SGZ5R3ZLcmJ0R2h3OE1zWlprTjNxMkQ5aC84MTdaTEdmRTRFdHZMdWFJQVFBa24xVnMzdXZxUGd0RUVwYVM3Q2JmaHBkNlc5MVhaSTdMcm5BdndzM3RMcGJxYWNYMjdiYmNxaWdyWWlYSmJncm9hVldmbnVGdzVIeFdUMTV0azZZY0xuZWUrVVk4OEVEOEthVUdPaG9wK0FRUW1WaElzcHVDTnhXbU5HdFJUWDU5RTV1MHFCbXFMWHhPc1lrUHlUY0lrWXQxSkx0WlpCdXNQVEZSYkt3bXlpN3JHenVaRlY0eEpEL0plWXhKc09ZRWlCWFlPdVFzNjFiTkY3ZG1abTUrbnRIbWN0Zk1XTDM1cHdkbHJOOHUvRkt1Y1Y3NllGRHY4R09WVmxha2plMXkySjFrZjN2YTNmaDMzVHZKOW90MnVZSnBxUGhVTyt0dUFiTU9GcEhzNWpyTUdqVHlyUmc4UXVtTVJYM3MzYWw3cXEzMHQvSWJ3NHlRUEtYZ0kwRGtZUTNKYm1XM3NkeFgvbVFmQzEzV0FmNER2NVpMLzlidXA5VFFYeFI5Q0lnY0xDSFpMU0k5cjdvQndiaFBwVVpIUjBlN2RSc1ZIUjBkSFIyOXlIKzNUUHJrVkpUU3RkNjVVV28vRU4zQk5RWmhZTXN3WnM4TG9GbkFSRmFkN1E0QTEvL2VjQUUwL3RxOW9DQmdQVmRNejUxU24rajg5bVhaVmdJQVFMMkdKNVZsUkNSamdWWjJTMTJ4Q3R3c2lDcVRtd3dBajFBS21pcjl0YVFyTlhhTXVvL0RBTENWMVp4dFE4K0kzYjVZRWVQNzNiSGZBVUIrTEFLQVJmM3FBd0JBMjRBMUNETDI1QjdkcVhDSnl6VS9Lc3VIU01iMHJld1c5bGdCQUFERUgvQ24zUjdIY1p5bkM4YTUrY1YvdDdTRGpQZnlna0p6clJmSkJLY1NOR2JyTU5FMkZxRGtJOS9TVjhkSHBZUVFUM1JpajRSbWx2bFNMajhvNDdtL3lqRXlnUGI0UFJ0dVRON0tiZzI5N2lYbUs0ODM2NXhKR2NXeVRYZDZpanJaUXRhTDJhZk1ZR2Q5V1U4eEFmZy9waW5iaHA0T21hWjhVdGFUMVFESXhROW1lQUo2Yy9HMVl5OWNjb2NyY3IxYTlFSUtBTGkyVFRnbTY5SC9HU0RYV0RkVjhwVGxNd3pMTFpnMGRSaTViY01reFdiajBtNUxoOE4vZWJYUytza0IxVzFsZTJmL1V1cSsyMnJVdGZFWlM1ZGVEWmVWaUw2WTJUR1E0QlVJc1Uzd3JNTnkvdUViSE9NczE1SWdiRXdzMlcyaTQ3RXN4dnNQQ0Z1SFIzVkdJdWFWckRMRnBwOFBLT0p0YkYxRGc0TmNXckZ0V09pZUY0VkhBbyt6ZlZDSloxSFpRTWxxeFBiaGlucmVjVUg5L0ZvOXRURW1va0hKYXNPT29jckdpbEtDdlFrWlMyUXJMU2haVGRnK1ZPSEpBN3hOWGxhTnJLMG5LRmt0MkRGTTZYaDhZWEhRbjFucWJZbDRVTElhc0ZPaFZ3QUF4VnNEL3lyZHB0NllpQWNscTU0ZFEyUXFsa3Z0MEsyMWV3eldOU2Z3V0puMSs5ejM0K054dEN0eU1OKzQ3SFpoWUZoUmJMMS9PZTF3bG1kOG1nNEFFUDI5djZTTDF3QUExMnpLNm9PSE5yelpEbHVUQ01GMGtwV3IySVQzdk1lSG5oOXZBNERxUzczYkZQS0hjd0J4VXp6enQ0WHZoenJER2JFR1pwUHNkcG1MOTJMbStEZlNsRDNLQVVEU3k2ZGNoSkNTdjY0QmdQaTV2dHV1cFFyaUlTSG13MlNTM1NHempZVUpnV2ZJWE80S0FNQ2xEbnZwellsZDdBREF2UmE0TSt4TDYyMS9SWVNZUzdJNzVCNTlYQzBqS1AvdlBJZTE3ZVhBdTZVM2F2YmFJZ2owOGRXd2MxaU96QnczTmhiN0UrNEw4bDlqSitEQWdSRGNsYUNDWFVOejVXYnBGU3pDbEg4ZEJlQ3lmcStBdUZHcEFOd0lYdW9xbDFRWmlKZ0JFemtHc3IwQ0FHNCtyU0RIUUlBSmd2QUdoSkJTK1UrSWZMQ1ZWY3d1MlY0QkFQRFBvM2NSQUxoeUFlRDAxVGdBNFBXM09PeC9DVUhKS21YM0VObGVBUURKNVAzOTJDNEF1SkFKOEVlWEtnQXh2QkR6eGJqL0t3SXdpMk93VTlsM051K2M1Tk84Yyt0K0NIN0lPb3hZTEtUeXRiSnJpQmFsWEh4V2dWY0FBRnQzQkIzNi9UUHYzTHJ2UmdhNkFtUitoYUtISUtaQ2RTdHI4RC9wVGNVQnRtVHdwODVpbGdXYXVodW5iQ01CcTB1V2U3VEVaOHFaM29MYnpZNzVMVDEzTFNVL1lqbXNMbG13amZCTWdEazNkNmJjYnJQTk85cDFHRGVDUlFhV2x5eEE2dVBMTXM0YyttVTAvV2pRS2svdkxYRTRTbzlNcmVXOXd1RVVaU0NXbXhGVUhlQW9tajgwcWdzSmRaT2MrV2U5QjNOSEpVUlZYR1YyQStQVEduTzUyVVh1UDJLdnViVjU4cVdEeS8vQlE3MnRpaFZiV2E3Rit3ZUxuWTd6YSs2WGV3NDkxMmVkKzN5a2tvVnlnczBpWnNLQ2tvMSs4cUxuMmE2dDhzN1ppbnJXUDc1d2NZemx2aEVSQUxDaVpLTm5CRXdmbk80bEl5YzNPZkFJdXFKQllUTVJDU2ZXayt6alFSTmVKeHRLejlucFVwRGxXUmoreUpKWVRyS056d2MvL3l2Si9YL2JUenpUcDRmVFRzdUE0eWZoWm56TjRMOUhOcFdhczlHdHZBdWpjRFlNVUxKaEozb3c3MEx5N1ZLemRxN0t1OUJJc3RvakdlTUgxaU9jMm9JVlh3ODI0Vjg1K1dVWkpEL0NQM3lKQ0U3eWltcTJSMFBMckFwS05zd2tKL092ZEJiTTA3cnlGc0Q5NzBnWXc4SW9jNENTRFRzT0ovOFZPOHI1YWZKUEFCeTRJSmhtaU9JcmxNZzRiakZ5UWNtR21Zc1grVU5UWDMvSVQ1Ti9EbUJWWjBGejNPRjczajZhcTBjMU5jMmlvR1REVFA1ZW5tVEpvc1BVaE1KUWRMbkhXd1pmMkt3d2lHMWtnU01HNFdhdUsvanZvK3VrNWl6NlBIamxqT05qUTFiMElDcXgzRlJDM0xxZ3h6c2VrSjQxYVgxUTFubjRsV2hKTENkWmFITXE4UEZ6NWV4QWJIWXdJT2ZxR21FekVRa24xcE1zWEh2UzkzRG5kMG15c2paYzRsMmdVRDRiNHlCYUZBdEtGaHJNTFhJL08rTmh1YnU4WTRZdE8rY2tqcnlmKzJJVURnK1dXNE5weVYwSlhJdUJuV3VYWmE1ZXJTREVGcGRhTy9icTZYenRqYklxNk5IckFUbDZGR3pnQ3AyUWx2ZnNXWTJ0c1Rnb1diMVFKbGhFQUk3TEloWURXMWtGY0YxMlNrMXFiOXc4alR0MUpNdkFTRVhKN1d0ekJRZHdlWUpobUdERWdCdS9VR0xLK1BzM1hTV0VrS3ZiSHBhN3QxWXJFb2QrbTFudU9MdndvVnFoMHlKaHdYakpjdmVYL0M0dFplY3RUdTlUWFR1NnFYMnVFcUpHN1BjR244bDloaDdxQXdrM2hrdVd1NitFL0NBcFpiK2dYVi81QTFVK1dBSHgvd25Zb3V0YVhqZDBEa1I3akpZczkwQUpJZDlLU2RtSnQwK3hvSWU2SjhzbitxdmdhUFpiYTRiT2cyaU93WkxsN3I5S0NKa2pJV1hpVnY2VGR3dFd4SWFacDV3OEM3N0YzcllCR0N0Wjd0NnJoQkF5UzBMUzhZTHpPbHlUMVR4YVBrM1A4eTJvaUlUb0hUZ3VLd2Z1M2xueEFKS21CZXlQQ3ViQ3VmSHgycHNrd21NQ1A4RCtkQVJFc2tmSnlvQzc3N000QUpBazJmVFd3bXR0bXdtdmhZK0VJY0pyMTBYQXRuSjBicVREamZ0VWVqUFpsaktrRkQweVZYZ1JBRTRmVm5OK1ErSUkrckxFNnBRRFNHTDdIbEh4SkhPQWtwVU1OM1pXbk9kWENkOU4xUGhacjlEVFh1bS9XYUZOQUFDUFNkbE83b0ZycStKQkpnRWxLeFh1M3MvaWZMK0hUazVWTlNOZkFqOHNqQ3dLbmZUL0lJNzJORlZQTWdjb1dZbHc5ODcwZXdVUzNocDFUdi9yWGRTMHVhcldBTS9aUTNkWHVyOU51VmlvNWtubUFDVXJEZTZlendLRUlhSGZmYmc4Um5ETk5YT0hoaVo1cWRoQ3YzNkZZZ0ZZMzVYRkVRTnBjR08vREd6S0tGcmdjK0NrOEZxR3JxRXpEcDhSWGl0ZnJhY0Y0UUVsS3dWdTNPZHhnWC9Ic1JMNktmMUdlRzMrRmEwTWtrTHhFdUcxWFJodlJuK01tUDNpeGhZSGw3RlVRcWFhSi9oUHp0WjVXVXE3eTN3TG5QZm9hd0VDWUloa3VYdXU4c3FRRlBEbERsNnUwcEd5bjZ5UzEvbHp4bjlJOEdnUXJkRmZzb0kybGhCSm14SzRTYVdCZWNxZTFIMDNjOEtpWUxNUEt6dmRIRkdIN3BMbHhna1VTNlI1aE55b1BIK1cwM2NiMEcxSStUbHdMZGRPWGVlTEVTOTZTNWE3UjZoWVF1bUxVMm40MFNrWElZUzR6bnpTV0c1Rk5TSG1pUnl2YzNEcGd3Z0prSVNoTjhUaDdwcE5HYWd2cWlheEVLNUc5NjUxNGZUdXJlZlZyQ0pRUStxb0llbEozTlZUeTc0N2JwUUpsUjE5VzFtS0gwc0lJV1ZXbXZlMDFlelNMUzJDcG93aXFDcGhnTHY3YytvZXYrZ2tCWkdLak1KMTRZTFJKbWdLVGlXSXdOMzFCWDB2TnhjaGJxRWx3VmFXRFhmM2w2ejFzWG9HQmVEaTdlV2xPajdQN0tCa21YRDNmTTVjMFUxZnFzM0czcVJWemZLOGZRWHllMEQxaHZkckhGOTRmUEVTakgxb1ZYVHJmbkYzRmJFTGVVYVd6ZlpCcTY4UVFoeW5QcFc3anlYbUNVOEljTmV4TVJoZzFxTG9KVm51THVwWWdZZjM1SmhjOVJ0ZkFJd3pkOHJxUENSODdaOEtLSitHMzRqV1JDZkpjbmVMdExHRXpKTmhjZkt5Z0l3bEQ4Z1lDWS82YitBaUFjZlRsaHRFUndEMGtxeW9WMEFrcm92eEZQVlJVTTVMWGFWbjdWOFduTFdkOUt5SWVkQkZzdHdZTWErQUVKSWgzZUF1dkFWZHl5U0hFckN2NFQzMUsyeG1BVWNNcUhCajVvU0lFbGduVHZLdzB3VGVzTU9OMSt6akp5bHpBa0MwUU1xdHV2TXVES2dSV1pNQ3lrREpDdUh1L0RKVVhNdTRPcGtTQzR1L2lYY2g1bWZCM29TOEIvS2d6YXpxL01zSi9ERzJtczFSc2hZay9JNEJOMGJjanlXRUVIS2pWSHNiRjBxdzZTNkE1eVVrYzQxUjkrNGlBMnhsK1hDanZwSVFPN2laMUgxL0NZSjlZcGNFdTF4UHJBRDRxYWRnbTAzZGhnTGJKRDQwb2tISjh1REd6SllTN2JxRjFQSkt5L212ZU5tOS9Ea3dsd3NnYTRSZ3hIYnMxN3dMSkZmcVV5TVpsR3d3M09ndkpaMXEwREowRWpmbnpqYmhYVGxLUCtyREpZaE50NmNzTnZoQy9qR3BUNDFrY0NWWEVOeklPZElPbVcwbHRjU2lqYndMenIra1pqMjBoM2ZoNy9OU3N5SW1JcnpkcjlFaHhtTjlsRWcrWWFaUGVYRE9UUktDSUhnWVZSR1VzNWcvNklWWWduQktWdEpZZ1llT1VnMk8raTRvWDhrdDB1dHFueHVZMHprVmUxK1dKSXlTNVVaSkdaRHlJRDJJUmVyT2dHeU9GK1hvcnNydi9rVUd6azlpUTJkQVRFZ1lKVHRTZWhzcmF5MVgvYjk5d2l0NlZsNS9OK0gxUzU2Y3B4K0xnSmp4bFpQd1NYYTBITVVTeVowb0FFaVlmTGlDRU9JcVh0eEQ3bmM3bHo1dHcrbUNuSlhQMVplWk1YS3huSHVrZGxQNGlYVDZRUWZjeUsra2pSVjRPRi9YS1NOMVVxY3VOU3F5TjJWNjlwTFg3dGdxT21kM0Jxc0VlMnFLODZKdkIwTjBZcFNqU003REVIT2hzcFU5VGpsMUF3Q0FrK1VWRUVLY3lrT3YxUDNQR1JjaHBQaVBhNmtOUnNwam15NVdsT1g4ZWl1T21VY0c2aVI3bkRHZUtsdXhoQ2llNys5MjNGdEUwV1RLNXBocmRuczgzL0s1Vm9xV2dEQlJKZGtUakRZVzVJd1ZlSmloc0FLdGMvMWxsSTBYM081MnhuOTdtZDdITVNMaFFJMWtqN2RoRkRwU3ZtSUpJOXg3S0dKV0JoWnlnYjlXb2RxK3dOc3pjSEl5QWxBaFdXWWJPMXkyVjBBSUtWSFdCTjRlUEtQMU1jK2RmUzdvYm1FRW5IbUVLSmRzQmt1eDh2MVlRb2lNSmJOQnpBNHVKRE9GOHg1MnhIRWNGN3N2K1BZMFpTOHBvcWs4dmRJVGd3OVJyM01qdnBhOFhpQ0l2a3FPeW9qcUhQeDMycytsQUJtdlhvSGEwK29BUUF5dmU5alhKdUhzVWNUY0tHMWxNeGgrTERkTWdSOUxDSkcxeTlaUDRsRktTYTR4ZkkvQXl4R2M4aEpRV1ZyWnpJSDBOaFlHL2s5Wkd3dlFMVVhCQVRQODZGcmtnaE1nYnh2QXlvUFZBU0M2ZXJCdlN6QW1ySUJLSXRrTWhsY0EwRk9wWWlHdTl4L3lNMVdjYUIvMGQzNzN5d0FscFFDN3U4VUNRTDFOS1VHMzg5QXZFRkE1UmxFeUJ4OWczZHFtdk5SK1NqSXREbTQzMTJZWEZCU1VBZ0JjTFNnb0tEaDZPRGoxU3BTczlWSGl5MmF5eGdvQW9MNURRWUZ1amlsWm9GRTF5Smt0Njh1N1BUSG8zS01DUEpBakFsQWdXVmJQeTQzZ1JEbkpPRVgrRTlnTUNvd2U4NGtOQUdJSHpOcThhOG5URFFBQUVqY0czSFc5YkxsVlM0Z1ErWkk5S1I3SzZsdkZraVV2S0trQTk2aFBzNjc1aVFEUVpyVzdvVC8vaEIwQVd2cFdJQkRYOTlMMzNDRG1SYlprUXlnV0ppaVhMSDhub2pTNG0zZTZRM0NlZWlZT0FEcmxlSXR6dmhNRkFNMVhlQUowRnIwdFpYYzZZbnJrU3Zaa3FEblAxdnhUTTZWVG9mQzB3dmgrSHk1WTh0Vjl0UUVBcXV3S0tPOHVBSURZWWI5bEZWLys1NVBPNkJWRUJqSWxHNnFOQmJEbGhTNkZ4UlBLNitIVjQrVEEvNWdEN2xYbXRxUWExWmd4N3hHcklVK3lKOXVITG5HZWNzbHVVRjJkNkEyQjVUbjRNZWNRSVpFOUxwczFlSC9vUkN1Vmw5OUQ5U0JVVXRCb1J0UTFhc3VyQkVTMFpMUHVrS0JZV0tWOHVEN3FUc1ZaUFNRRVR6L1dWRnRlSlNDU0paczE2QjhweVRJRmtRaWxNMDd0KzdzYWZCZ3VucFFVbWdpV2JLWVVyd0FBWUxueVo2VDNVcDRYQUFDS2d2NWZYTHRVRmxjWmlGekpaZzhXQkhobjhLZnloM0FQS2M4TEFBQVZQd2F1T1RpbWNIY09ZbWFramhoSUdTdndFRitnZk15Z1NPMXB0dFgyK3d1cnVGZGxZWldDU0YxOG1EbEVvbGNBQUNVclJ5aCtUdUo5SHlyT0N3QUFCZU4vOTRidmRzMzhYa1ZCTHc1V2xtLzhRUlVQUlNRZ3JaWE42aUNuekhIS1cxbHlUTkUvZlZSTWpNOGw2N1RKUFVPYi82OFk3eVdiZkg4dDVwd3krd3NWcnhjMmlzaHNaU1gzdk53czVZZkxsa0h6TzM2WG5TZmw3aEhwY1Bqbkh3c0JBR0RQTGJjUGJSZDdldlVQR1c2M2xtczV1bk44OXJMbHhiTEtIS1R3OFBKZDhoNkR5RWRLSzVzcE9maXJoK1hLV2loQ2lKSXRZSzEzdUFnaHhMWEpkd2d6WjR2eXRhc3hMMThtaEJEblJua2J3cGNxTkgrcWJQTVJtVWlRYkpaY3hjTERDajl2UWdoeHlSM25xbmZZbTNVUHBXVzB2ZU05YWZtRTVDTkVBS0NKMHBYcU44aTBIcEZOYU1sbXl2SmpBUUFndFZUaEIwNElJWXZsUFl2NzFKLzFYZUh0bS95bS9DN0RhNXV1MFBoTHVQd203SVNVckd5dkFBRGdUNFdmT0NHRU9PVXRERWdOQ0xxVlhjTXJudUo3QUFBZ0FFbEVRVlJ1dDl2dEhBQ0F6VzYzMiszMlgveDNTNlRYSkY1aDU0c3NrdmVlekVERWRiK3loKzVWa092Ny9zcWZhSHRWMXZCUzh3QnZJRzFWR1FEQW1wZktvZkYvNndBQWNBRWViRnd2eVZXNVcySG5TODNNSHlLUkVLMXNWaWRGcGFaY1Z0aEtFVUtJczRlc0NnaVhsSmMwb3g4SU9sVnFtYlo5bE55U1RHOGF1bkN6RVdHdGJNNFEvbGxaMHJpeWNKenloOXJldkVWR2hJeDhoejhDalBPRUV3QmdVeDdBNGtIdVZWeE5BOGJiTGtvdHM3LzBxYjVnRHB4VW1CR1JqbWdybTlVNWRBRjBibExZVEJGQ0NIRU5sUEdrcElCZDRYdXF4TWJHeHNaeUFBQlJzYkd4c2JGeGkveDN5eVE3eVd1Vld2Nm03QmVGeUVaTXNsbGRGQmNiZFZ5azNKQWNpQW45QkI5UCtqd0RCMlZSVFgvL3lYYkxwWmJhUjdIaDNXVFlqU2hFUkxMWnl2eFlOeThwL3RnSkllUXBHVStLLzhXaldkZi9LSk51OXBsZVJaK1MrbTNQclZKcWRrYUUrWVhtaEMzWmJNVmVBUUJBbXBxaFdWSWdPSmxlaE9RUEN3a2g1UExiMU9uOWhQZXVFa0tJYTUva1R0M05pczErWDRiVmlGS1lrbFhoRlFBQXdLK0tQM2hDQ0pHMUJzdlcrdG5aWHo2ZHp0ajBiZXYrMGNhZEN4NnFJcm0wcllxdHhrTng5WUFsMlJ5VmlsWFJWaEZDaUd1QXZLZUp4eWpnYkRKaUdOeXAyT2pEbEFOeEVNMWhTRmFkVndBQVlOdFBMMWtpV2FGT1BJcHFPWEJRTzlrUmpybWFYWHMyRmwyS21IQlNzYzFUNVZxREtJRXUyV3dOZGxOUFZQelJFMElJbVNOZWVzdmZDd201dWxwbUY3M21CM2tWcnZ5Rll2M0tWeFZiN0VpWFp3eWlES3BrYzdUWS81OTBWdkdIVHdnaHJtRmloWGZJY3FmS2wzRzJQVUNkYmU1YzUyOW1KbWxlck5qaU5YSk1RUlJEazZ4cVA5Yk5OTVVmUGlHRWtQTWlFYnJpZkRFNGo4c0lWUkRsQzJSenNnNGppVzJaY29QdmsvVjJFS1ZRSkt1UllxR09zc09VZkt4aGU2cTMrWmF6dWg1TkZCQUZBQkFydk43Rkg0cjJhVWJCOXlzMzk0S3NZNmJOUXdTTUplY08xV2ozLzVtNWsxVGw3L1BHdjFpM3J2UDF6Ym5wendsR0E5WlBMSVcyYzFJRnVSTDhpMWx2b3A4LzJrREZac252aTVUblJXUWdhR1Z6dW1wV2RoTlYwd21FT0VlelN2NUFORjlKTTlZaFNqN1dVVWNOb2xZb045WmgxWk1iTGQvSzVnN2RxVmxaSitjOXFDcS9iYzV4Um9PZjQvLzFlQ2EvbFNXYnNnRit2RWE0NUxWR1IxL1NDOVRBWWMvSjZzd0ZzNHA1NGdtaUxieFdWc00yRmdDYXEyeG1TWFlhdmVDMnZuNTl4VzJjQUhjYTRmVm1WN3k1WE1JanhRR2dkem5kQ2tuY29lV0xRMFFJbHF5MmlnWDRVb1VHQ0NHRTdLSFBLTmcrOFM1MldTUmowWmZ0STIrdTNiVHAyM3E1S2d3OVlQbnZWOHNRSk5sY3JlT3hOcjdLK29pbHNwcCt3RUh5RDA1Q0NIR3RabzFXMFhQOTV0YnNVZG9PelBoTmF1eDhXTW5yUVpRUUtObGNqZHRZQUppaFJnYUVFRUtXME1ONHhJNWRlZWJjaGtreVk3UEVQN0s3NEhMbWgvVW90Mndxb284VGtvTTdhM1VqUUxLNVlWaWduSnF2VnJMa2QwYm9tYWo0UkFWZnh0R3BEZUpwYTJTNHQxVVorYXg4U3hDRitDVWJEc1VDL0Z1dFlnbFpva2NMOXB6eWczUUlJV2VTZFRBUmNlT1RiQmk4QWdDQWhBejFtbDB0ZWEycllpWTdRNXNod3ZOaE54RHg0WlZzbUJRTE1FYTlaTWx1eGxpWFpqeWhUckY1Mk1qcWlFZXllV0ZiVUc5VHZKTXFnT3lBWlE5eFZSSzFPSFF1T2lYWk93UEdUVkhsRlJBeVdRTjdFS200SlhzcWpGdERPNVJwb05raTcxazFWVjdlbDMvOHM4WnFqYktQWFhmdTFJTHJPUUFBK3ljcWpUdUdaK1BxeVMyRUVKSVgxczNNNzJzZ1dlS2FFUU1BVUgwZElVUlJhTHNnN0I4NUNDR2s2RjRBcUxwRXJXM01wUkJJT0xpRmhOTXJBQUNBbEV5MW1pQ0VFTEtsT1FCODdQbGprN3FHYlpSbjhlS0Y1dERtb0ZyRE5sajdUQmZMSGUxNzh6STRPM3hiZUo4eGFLRW1yNlh3bVRrMUQzcFdkTHUrRUlsV2xQOTFBU1RjVDVzdjhNQU45UjdDK0VybXAycTdUczVlVzFXV2dKZ1BWUk5MQVN3YkpLMW5QdzNnRVdrOUtoV0g1M2dKc1VrTnNTU3BwOVVyZ3hCQ2lIK3BsVXVFMHZzQStoZUtwZERJSEVJSXVTQmNTbTR0TE9jWTZNT0luelYrTVNWRDh0ZzN5MDY2Z0dzb3N2eUF2RHBHTTBzbWZxRlpVWWlaK0ViRGRvMFFRbWFwNi9KMDBzQWhjTE1XdzIxRUtGVlBhS1VSUWdoeC9xaTJ6M1NYbXRYY0FWeHRyY25yUVV6STlScHB4TTNXTzJYSGlRbWt4a3ZxWWl6NCtiZFc3d2N4SCtxaWR3ckllMTF4alBldXM1V0gxK0N4Q2ZjaVJEQjJOZWZYMFhDdWUwUkJaejN0bVQzYW1WRFlVdnYzaEppSDJ0bmFhY1ZEeFpwbjI4b1lpdURhUHI5QjNaSXRIaEd4ZXdZSHVkajBYS1g4YUZzMnVXdldiVHJzREpuTTFyelhEVGMxMVBiUlA0K1JjUXlKYVVISmlqRHhzekM5bml0Nzl1NC9mUHdNUTBBMW03WnUxNmxMTmMyZm5kRzFRT3NpalFBbEt3TDM2YU5oTEowVVorZWVQbmV4b0xDNHROd0Z0dWk0aE9TcTFWUHJwRFdzRXA1bEt5VTM3QWhMdVhxRGtoVWo1azkybEV6TE1lRkxveTNRQnBTc0tEWFdSOHpRKzZ4SEk4R1JCWlJzS0pwdGtCVXJ3N3lzN1ZkbXRBa2FnWklOUWJlL1U0dzJRUXVPOXpwbnRBbGFZZTBGNmpxd2ZYU3AwU1pvd01YQkVhTll3SFU5b1RoeGRLamxYMUxKNE1nWUxBQUFsS3dFRHVZTXN2aDNrZU9lcFVhYm9DRW8yZERzT1RQQTBwcDFQVExQYUJPMEJDVXJnWjFuKzF0WXMrVFptVWFib0Nrb1dTbnN6QjFvV2MyU2YzOWd0QW1JRWR5cE5pUzlVYmd3WWx4bFpXQ2gwZUpUaFBNcG8xOGNZaGc5dGRyTG9pY1ZEeG45MnJRSFo3OGswM0p4QzZOTmtFdkp1RitOTmtGN1VMTFNTZjM1QnFOTmtNZkZFV3VOTmlFTTRJaUJkSXAvck5mWmFCdmtjUHkyQ0pyejhvT1NsWUZqMGFXYnJQUEMxdmJQTXRvRXhBVGNlTXJvSHBWRVhKK0ZZK01hWWtIcXJ6WmFqSks0K2xERTlsS3M4ejFuRWdxL2g1N21mMm5IQnY1aHRBbUlpZWg3MHVnMk5CVHo2U2ZwSXBXVzZ0OXFHZkJWY3k0L0VMRk9BYUlVYm5pZTBicGtzNmFaMGE4SE1TTTF2OVkwOHBCMkZENkprZUlRT3JjZU1scWROSlpoRTRzd2lYL0pkSXU3OHU2MjdMSmVSQmNhenplVmQxRDZBUTRVSUtIb3RjRm9uZnB3TFdwbDlOdEFySUJ0MkQ2anRlcG04NDFHdndyRUt0akhtcUFmdG1jb09yR0lkS0x2TnJpbDNUWFMvRlBJaUxtSUdyek9zUGt3NTFycjd2NUZESVRyTWMrUVBiaWw4M3NZWFhYRXN0Ui9KVk52d2VhODFzRG9XaU9XSm5yZ2J6bzJ0V1ZMaHNZWVhXUEUrcVJPM3V6UVE2L08zYy9WTjdxdUJvSEwxRFNuK2NpUm5jTGJnM2NkK3VYbkEyRjlncGxCeVlhRHBvTUc5d3JYMXF1SzdRc1hINDZRWXc4VWdaSU5FMVZ2Nm5kckk2MUhuOGlwVmN2K2pweDQzTXBBeVlZUHJsbmZHM28zMUVxMjVQU0dkV3NPdVRRcXpjS2daTU5Ndys0OXVuVk1VZm1haS9idjJMSTFveko3QXdHZ1pIWEEzcnhqaDNadEdpb1prcXJJTzdoLy83NGo1WnJiWkYxUXNycVIyQ1M5V2RQR2pkSVNwQXduT0V0eXNyTk9aQnpMS0F5N1hWWURKYXMzWFBYYWRWSlRhOVNvV2pVNU9TRWhMamJhRGdCQW5HWGxaY1hGeFpjdlg4cS9jUDdjNlhNRjZMVXlRTWthRHNmWmlBdjlWQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCRUFSQkVBUkJFQVJCSklKaDVMU2xhb09HZFd0V1RZeUpjcFlYWDc1NE9pZTdBQVBFYVl3T2tvMUpsWlRNNWF3b0xiSHk1NXZjclZmWERuVjVwM3BVbk4yL1kvT1dBbU1zaWt4MGtHeXZEZExTRVVmRjFkTlp4LzdaZWJnc3ZBYUZnL3BEQi9kS1pOMHMzYnBvd1VrOXJVSFUwVXZ1TVd3WEZ6L1cwR2lqWlJFemZHbFppRHBWckxvelhLY3FJWm9qVzdLRWtQSlY5OFFiYmJkVUVwL0lrRlNucktlWXpUQmlMcFJJbGhDUzgxeVMwWlpMd1Q0K1czS1ZzdThMNzZtTGlFWW9sQ3doT2ZlYS94UHV1azFXbGRhMU50cGdSQUtLSlV2SWlzWkdHeTlPekxSUVBpeWZva2UxUG5FUjBSNFZraVVYaGhodHZSaHA2eFJVNlpzRW84MUdRcUZHc3FUaWVmTk9kblRMVlZTbGRUV01OaHdKZ1NySkV0Y2JadFhzN1ZjVVZtbTN0TGtWeEREVVNaYTRYalM2QW5RR2xTaXUwdllxUmh1UGlLSlNzc1F4MnVnYTBMajVxb29xL1JGdHRQbUlHR29sU3k2bEcxMEZJZTN6VlZWcHV0SDJJMktvbGl4Wlp6ZTZEbnhxSEZOWEkwYy9vMnRnWFN3eFN0ajdYcU10NEdHYjAxeGRBVkZmb0R0cll0UzNzaVRIWkxQemo2bXYwZ3lqNjJCWlRMVDRVSXpKbjZvdlF6dWE3a2tXdTExd0tMZVFTNm5mc3ByWXl5M3JlRVJqcXhETllMYXlMaDhoMjZTRFpscHR3QzBTc2ZUQ2U5MDh3d0gyVGxQRlZzek1NN1lTaUFnc3lSNUw4OUdvM2ExUHpMOGdwdGxlUnRjaWdBSHNmN0h5dDROODFMaG5DdGxKVmJyRGxSWURIWVBEdkZWTjhhTmVhY1lzNUtPbjVUM1UzcXhUaTdUcUJSUEYwbkJKTFpvM3JGTTlPUzZLbEJVWG5NdkpPSExCSmFYb0hSMVp0ODZNNHRlMXpVS21Najk0VHNMRFZNSWxObXZXb0U3MUt2SFJuTE9zc09CY2JzYlJpMUxxeUNlcWRzc21hYWxWRTJNNFowbmh4ZE5aeDA1YzFkeFdxWmhJc2dDSkh6L0FLdVJ3RzkrMnNJUzIxQlRGQjMyL3h2WWZlWE1kQUlDakxabFcxYnVsNzdYTlk0S3Z1WEszci8zcldLaVBkUFNQckR1bmJoTDZwL1hYTjJHa1B0dTQxUDFMSjliRXdoVmhjZEdkNkVuM0NUY2ZjV20zM05DZFgwVWd1VHMzckRqZ1pEeVJocjNUTGIyNzFPWUpwZlRRcGxXckxza294Vkt3SElORHdxUzJXYXl2VVVkZFg2S085QlJaM3Z0VnB1UjVyN0Y2T0RVbmIzUXdIdVQ2NXlYeFhUeTJuU3diaTYraHBlL0VuTmdkNEVteGtKVWdTemdFZVFNOTVRV0I2bXMvczkzSktwZGt2TnRXWWx2RmRma1AweUcvdW1oVWhHNE9raUZaaVB1SDlYNEcrTkswWTd4QTkrdXozWGZHZjQwdTJmUXZpcGdmSmlHRWxQM1lXYVE2TnpMelBVYlA4Q29yL1plZUJHTllDWnpDYWI4cDlKUnplY2xhZlIxaUJZUno1VzBTUkJzMVlwTjQxemp2eFlnY1g1WWpXUmpGZWpuUCtwSzBwQ2R3MUFZQXFMNGc4QnBOc25Wbmw0dC9tb1FReHp4MlMvc3pLOU1teHJSTTRobEdocE9lWVpEa1M2d2lIeElVdG95ZU1IaFpjWTNQUWxlUmtGVU1IOE1IZDl2dTBLV2NtMlM2cVVuMXlKSnNMR3ZjNEdOZmttYU1GT2tBME9SUTBDV2haRzBUQzBKL0RJU1F5NnpkQTZtczVzdDFBK3NGdk1aNmlMZTMrUjByd1hmOG9tTG8xaGNHTFJzZmNFcFNGVW41NjN4SE40amFQNFFlZkNTRWtPM3R4RXF4SkxJa0M0c1pxZjE5bnNhTUZOMEFHbVVHWHhKSXRvYllrR293QzZwUzdYdVVsWDRkOHdVMFozMzBkM2tTREdDVm1jMy92N21HbnU3WGdDVGNxMndmbHMvYU9reWo0ZGJUVWtzcGZwQmRpaldSSjlsM0dhbVgrVkkwWktTNENWTDI4Uzd4SmR2NnVOU1BnUkR5VDJPYWZhdFl5ZStpcFhhem41SEZ1NTRybHVVNnVQZ2pIay9UMDQzenA3RE5sRkZGY293MXJNZzlWU0dqbUEvMFhLcGl1bVV4K1l6ci9pNHhheEFxa2Z1a3ZYalozZGV6QjM2RnRGM2JRbml4Sm10TzQvSkNka21ybkhTOFE3Wmx2ekV5Y3IxNUYvaC91Nm40dy8vNzlFZlpkZ2hwL25jRCtvUGZtaUhIUlgxbXRwbG1KOVVqcjVYOU55UDFDbCtLZW93VW8rNFFmQUVIdDdLZDVhNXhQWmttTUkvWnUvOUI1QTNFMTZDVDRrM1FtMVhxdDhFRjJlbGYxdjUzQTNmTHJDTFpSVnR4eEwwbHQ1aFB6THJkU1JIYU9BYitScXdPSThVREJ3V1hnaVRiVUdLdkpJQWRncytUT1hCOHY1cFhaR2ZGbXprWi9DM0lHQ3laNUV1UXhoeDhZUElGeFo3SjBqcGVnY2ljblRRMzhpVEw2aC9OOWFWZ1NYYTU4RktnWk9PMnkvNFlDSm5EczQ0VC9sdTRjVFZWOVk3ZVpoVHJEQzUyUEQyUi84dGd2dndxT204V1dOTlh5aGdaajRyclZiMEFjNkhOSUpkLzYwa3FJd1dsWlFpVTdBejVId01ocnVIQjV0VmtkVXBPcS90aTdNUnExb0lYdDM5RlRiUFZkNys5OU1FQ1A3djVYbXNONlNHYkFzalFLeDZWMmJwZlExaWIvRU1IdXhRWHpmVlBLTEFHdVA4R3orNTBZSFZLOXFpTGpMdjNBT05HMEdBdjE1T2Fab0h2dDhlVmZKeWRCdkV1ZkVEdmtvV2d5VFFsdVJSZ01zbkd2OGE2YzVCMVF4cFJNOWsxZFJZN21QZnFCMjlKWnc1SnFEU1AyWHU3SWZBZnNUWmxDQVBBNytiSGpxRVhzdmU5Q1hlTmUvYXJMUHBkbUJUODV3M2o2TWtBQU1xdXN2ODFKN1BYSUZrTk9jdGl2bUY5N1pUNkIvWlpqZ0VGdjJOQTl3SUpJVHNudG9nQ1c0Tzdsak8rbW92cUJScjRPYXNZV1VOTEZGb3dsdWs0Nmdja0drcE40djl2dVkxNi81SjNOcGNiY0ppYW9EeG9ZTVMybVZIRnNybjlhd0RFZFo2U3cwZ2dObWhpTGFSTHRzcVBqS1NFYlBPblVpTFo2SlAwQkNVVGZhM1lJTVlRMkR1QkZxNWdQV21nMnJmRUVzcklnRFR2VVZPODVicy9qWHIvVG44QktldXBLWUtXZkE1a0dMTEh0MVkwZ2ZHUDZ6RGg1bjFsU0pWczhpU1JHRmV2KzlNcGtTeGp1TEo4UU1EemU5Q0RhVndJN0ZZY1pUMUpiTzJYSkI1bkZQeFJRSm9OMUJUZGZmZXBxeGdMQWhjUzFLT3VVWmdka0lKYlE3ZGpkK0Q4OWFmME5QOVYreExNQWt1eUoxcjVhTnRqK0pRbHhZeDBoQkRpQ3BCRVRaRjBQSHlTM1VpL0grdzVNeGIyQmJoMmpGVXBoTGdVOVZnQ3FjY0krN25EbnlTZXVtWXl4KytrNzZIZHp3cnFsbEpIMDdZR0pPaEFIM1FvRG5LajQ0NVFFMTIwVE9UMUVHaXdLWnpzQ25qdk5hUm44MHEyRmYxMlhuRGN6Q1Q2QUp0L2RRTlVZUzBNcjFDL2JKUXlyRXhJa0JOL0xUWEJKLzRpcUU1bVJkQk9ubXZPVXRnYmtPQUR1aGxCN2hIQS9mUlV2Q0ZCeTZLRlpBTVhqaXFRN0t2MDIvemhDZnJVVm9sLzNLMEI2MEZsNm9Oc01WUkFidk9sZUlwNlAyQW00Q3cxd2Q2Z0JwS2o0Yjl0ejZLV1VjRmJQNXhJWHlRdldDd1pEa3cyeU1VZ1MrNE9hdGVGWTd1M2JkdDEzUE1uSTdEeVQ3eS8vNkttaXJ2Ujkyc0tOUUVBT0N2a1dFZGxZVEg5dW44czlqcmE3WXZyL2IvVGplaXc3NHV1ZmxGU3BlWlAzSVcrdG4xcmR2RGZ4UnVweVc2TmtOVXhHclN5OXdlV0Y2cVZQVGYzL282SlFmK0tkZWdEV0tmNEw3Z0pQZDFNWDRKdXJHZGUxdUE5L1VJdjJyZm14WlpKdXgyNGNPWVFMUUVoaExpT2ZuQ3J0SUE3TDlNTGVKMmZqckZ1SnRSR0I0dWdYckpyZzdRbEx0bURkd3UzMERHV1h5M2xwNHVqZjkzdDhTVzRqdlZVTFk1UEhFNHZPdC9iNDY5UC9ZY2FGbEFDbzdQdjV1cmExL3RWQzJuRVNucm1ZZngwakhGdXh2WTNUYkhDeHAwckQwdmV3K3g2NXpYSzBZelViMVNBRS93THBaZW9UVkY2Y3FIbk4rYWNzQmIrMWJMODZyVEwxZHA0L21XNjBaNWVITER3RUU3MEVTaysvb1lid0hGdy9icDFaMFFTeFhhaFh4ZThLa1loMUQzR0dtTUJ5Ym9tSHBXYzlKRXZhWmNabjhNRndaaE1FVFZkZlBQZDN2SlpEeGJkUkNXUnF3dnBVUng2ZWlSN0xlM21pa0NUZDRYYTBXTHYwR0dTYzkreXhkdFliVUJUK3U0aDF4WCtxMktjMlJwaWpiMVZVT3NZdk1RclQ4UXhlSXRxQUZ5a3AzYVU4V0ZNMnZxbTdqdXpIbHltaFdadm9aZnQ3WVpUdC9EY0YxaEFhL2FiQ1NiM3Z6M29YeGdqR1JuSytXK0tzYUx0WW1UMHYxUWU3L0VXLytXeUpmc1BQUktFakxrSE9pOTRTMHBucFhDRTloSkRFME9mL1R2aGZnRXh0QW5sc3BwQkpmRDN2ckZ4SFhpS1p2TC9TUzZBQWIyVjFoU3pEM0k1L3oxRitySytxZlN2cTBacWpmQXRUV0VPRE5pMGlFQlIvaXYxY2tQM050Z1dOSWx0dUJEMDV5ZVVKSFM0TmpOT3ZpdmNYNnZkcXdvZkpwZnN4ZUh2U2xkc0xtUEhZRDM2WmVuNG1yS2lVa1lLcnBiYVp3QUF6S2ZXMWQ0VkFBQzYwdTR0Q1A1ejdqRVpUNnZ5L05GWCtNZm1hZmVxd29lNUpidTB5eUlacVg5ampPZXJmbzIrR1lUU0s2d2txajlyQUlEdHg2bVhld0FBWGJJdTN1c3BueWduUGh3a3Y3YUhOOGFnM2FzS0gyYVc3SWt4ZDJTSFR1V0hQbm1sd1d2MHRVWE9VNndramRVK0F3REFTWStweUpic0x2NzdXZjJLdkNlMitQdmxvQTZUZHE4cWZKaFhza2NmYWZlVHJGQ29qdTJNRzZvUFd2Q1BCR2F5a21nVDMvZ0hhb1U3eHdCQVBDMk0wQUxCbGVreXoyQ3dUL3M2Y0xCRHcxY1ZOa3dxMmVKZkJyYWR4WEljR1p3N3g3aWg0Ymx3ekJGaWVzeGJ1UnpjUzd0YUxSMEEwaW03QVluUWVTZlAvcDhzM3dCZzNKeUFkdFlLUitpWlVMS3U0N05IcDQzNms3MGZpMEZHT0l3QkFBQi9yNGk1eGF1akpnT1NaRDcxY2plZ1Q0Y2NwV3h5Sk5QdllIb3ZkTVpPOGYrdU9vQ0d1bDJia2pEUDdKZkxXVmFjbjVkMWRQK2VzMHBDb3dQa3NXN0lGajhmZjdlTzJnb0NBRlJMcDRkbGtNblBiOUUra0s1ZkE5QzJQZnhPTFdOWis3Zkd5L3BZWC9wcmkvZFgxUXZTMUs5b0M0bUJrajNhUGVoUDRuSlV5UHhPQzRZVnpRc1lxL3FrNHkvZ3lCVkdCNFhybzRsa016ZlJRbjUyQlhvclM1Y3M1RC95MmJTQk1scjk2QSt2OXpZU0dyNnFzR0dnWkYxYXJOZ0xnTDVBQUFCVWgvUS83L3V0WkRkcjVVbi96OW41YXpJNlo4NmRndStUK1RUSnRva3ZpV2tqdkp6TDZtL0MzaUVkbnhvdHZmTiszUzNld1JZTlgxWFlNSTlqb0pweTFnMVd0K3hocVExamdNdXhoaVhabTFPWVk3WXcrVlg2OVdQQ25mKy96WWdUcGt0SzM5dUlNdmUxV09STGFlOERMOXc5cnJQVW5zb0VyMlFacitvWTg5Z1ZQdnVsSmpRMThtSnloWWExeG1BcUswTjdSZ1o2NUV0bGxlSHRyQTZHdGVIN2UwcmFKYlNFOThNSXl0VmJROWpLdFo2eVRWcVUyQ3ZlNFlpUDZmZFZCaGJSRmhPT0dHaE9KcU1ieTRxbEpNYjJzNnc3anpKNzJ3MjZNVzdRVHBlaXlSZzZRZ2ZoeFh4MjNIQTM1TkNiM1p2Y1B5ODNkQzgrMmJ2T2xUSHFvdVJOaFkzS0lObkNIUHAxSld0QXlwZXc3blFWUmhEME1JN1JGU0tyS0JlWDBQeUw5alRKL3NsWXN4cEU3amRqRzdkKzZLdURJWHJ5M3M3ZFlmcnRhbVk2ZDZZeVNCYjIwQzhyV285TUh6a0ZBTzR0aGpMaldidExUdEFtSnE3OFFibll4a2FacW1DTUZ3aHdIcGt6dmwzYTBJOE9pSXdkZXZ1SGUrbHBvczBVYnF0U1NKYlJzKzZwWk9COEhUTUVZemVHTkNlekZ1UXRwT3FEOWo5UnE3Rnc0MnN4YTBrRkRYSnU0ZFB0VzcrY3licnZYWVo0aHZHRlpLWWpoQ3VGWkJsT1h5c2xNYVFxK0ZHUy9ieE4zYkRUZ3JWU2hSRjJiUVdsMTI0ZkpseTh2ckpRbUU0VWN2U04xaTh3bkFudmFMT0xjWGpyWUpuUENpY1JOTWpGWmd0OUFvQjc4Ri9CRjJyOFNQMXVyeGdaNkYvTy9qY3I5bS9DNzMyRjNaZXFQN09TNzkxRnZWejYrd1RoeGZlRmx3Uit3YTNVSUVzL0JKNlBYUHJlK2ErcEQvV3RMVmh4RC9WKzczU2VFek4yUERYZHlqZW9sNjJHNFlOY0FEL1JjMXppTGN1bmgyTUpqTG9Jd0J3SUlvU1FMTUcwYWkxR05EQkNDT3NVOHo3czhnTW9UK1hubTBOTk56UTRVUlExR0lJL1dFTHRVdnJqdmdrdXhzWTR1RlY0SEtRbE1ZRmthYU9haEJEeVk1QmZsTUlJblBwOGNHRU5SRTdBTFg0bWVOL2lMU2VaU1UrekZ2cEYwMVhGWTdVZzM3UFVkQ3Q0RGpzOTFzRXZ2dnVNMEdDT2ZrR2wzRWxQVmFiSjVnempNWUZrNDg0ejhyd1c4SUhhdm1aOER2eXV6M1JHWVlRUVFvNU04alYvY2YzL0ZEbTc0QVZnUVE4ankwTVlSNTl4aURqdkNEMzYrU1QvOGQxbm5jSjBQakFRVENQRzJYcFNCekhNamdra3l6eWFpWHpqMnpwU2pSVkJYSENPWEJWV0dHczNaZHMrLy9jakU1NTVmeWxqTDdxYkxQWnBHRjBrSEdIa2JDTElGa3R2L1l1QzJzZU85TmlOL2lEa0NheWpwZ3JHK2h6OW5xd3puMjRYK1Fpc2hCa2syNERob2hHUy84bkFKdFZxdFI3Nk1hc2hkZ25uZFVmSVB4WkxnTWo1b2JZRG9iUHZwT1Q3alo2MC9GMy81RlZ6UnRFQnUzUmVZajV6OXpQWDFxNVd2L3ZFcGF5UXBmc2laZnpKREpJRldTZTdCc0YzQmdHQW02ZTROQzkvaW4yNnI0VE96NDlIQXNEMjJNbVYrUk42TmEzYnNNczkzekRDVHA4TjhNQ3JzZjUzUXpOYTJnZG9ma3doMmJxWEZYNE1GYlFGQXRXT0tTek55d1Y2VEV3UExWbk5tQThYYmVZdVd0eGhFU0ZvckpseHRITm9OdXZUeUVaS1V4NkswMU1WWnB4Tm16b3JHTTFjbkNzSjUzalJyY05IYVYvN1FSejdoM0t4Z2pKNkt3a1NORmc3YzUreVVoeFBLTnROSXBmS0lsbjRlSk9pYkNkZnBGN2VmWitxM1RuVFJJNFZCK1lXc0FBV1VsZG56Vks0L1cxajBMc3BtOEJjZVN6Sys4d1Y1NWJERkk0QlFGTzU1NFFUUWtncDgyVFdpVXJPM3ZRd08xUkRrY1k0NjhNSC9aaEZ1RjFSdjlEQjN3bnhMeVdsYktZSFJMTWtKcEVzOUplMjNEa1FsMGlJMzBraEhVNFczNFdlSmY5YnZJUTgxczR1a1prNU5vS3p3bTNzODllWTVLbytrOGRFbUVXeU1FRjJ3L2ltMkZxdnNTVnlpM1B6bVlSMUhRK0tGOEhjWnhZckdzaWJ6cjVrUVRFSnNvdkpqNUNRODI1TUkxbDRYSjVtWGUrSXIwNjg0YlNzNHR5VVB5ZGx5V01Oc1VQUUNPbkh6Rmh0bDF5RDhwcFJpcW15VGw0aEY3cFRDckV1NXBHc3ZJYXg0cGxRNGtwam5Dd2dRaTV6NzBJd2pHa0JOL21VTFkxZXF0UFAvR1NTVFk5ems3UkFUaUVudEFtV1l4cE1KRm5vU1QvV2lzWVpDYk9QVVU5ZWtmUEpFdWYvcElZV0hDVldqT2lSVXZGZnllbURiV2Z0SnJKUGsrNzYvNkZEaUU1ZE1aTmtvY1ozMGo1UTE2OTFKUm5UYUw0TVoyTzN4Q1lXQUpMRXhqZEdpZWU5NjV4VWd5bytFRG5DODBhSjh5V1hKMFhjU0ttcEpBdHdtNVRvN1BzSFN0NWswMzJ4Uk5IdXYxdE8zQzdXSWgxQ1NIR29rSnExWm9ZYUpDT0VFT0phTCs2QkpyNVdHTG9ReDl3MEdiV3lDQ2FUTE5qdjJSdmlvOXg1bDZ6Tkd1MC92eFR5a3kxZjFGOWVXOVNQWFpiNFBBUUFBRFQ3TEtUYW5IL2ZIdkxmc3U3N3JIT21QWlRNalRBdjFvM1pKQXZBOVpuTC9pak9mbjZkN0cyTVNYY3ZFSk5JNmFySjB0eU1BR0paaXdDRGppNW5VKzNSdFNMT3FPdkltNjBsbVZGbDRnYm0rTE56eDdPMTVWWkxBMVJIWnd4TmRVWlVscUtWeXNxTDZVKy9mb1N4Q1o5S1hKL2JibWpQbjY4aGhUdlhyOWlxTEhoZlFzKysxM1d1S25pZDVNcmVMZXZYSzRrKzl2Rmt4bzJTK2hMUGNxeDljOThlTFlXbk96bXp0bTFZZVVSNlZNMjAyMi91VlovL0ZlSEsyYno2cjB6SlpXaUpEcEkxTFFtdFdqVk5TNjJhR01NNVN3cnp6K2FjT0p5aExxNm5yV0hMcGczcTFraEppT0djNWNXWEw1N0p6VGlXclhTdHlIUHZNVzRzSE1xNFFTTWhQYjFSL1ZyVmt1THN4RkZhZE9uQ3Flemp4eFRFaXF2VE5yMVIzWm9wOFhaU2NmWFNoZE9aeHc3cEVDOE9zUmJSekRPVXg0VE9qQ0Q2TTVHbDJBTFY1eGtnU0Job3oxeVNUajJsRjBFTTVqcm1lSUhMVExHR0VBUUFBTGlPWDdESHAvWlg1ZzR6QUZTU0FFZld3RDYvSXY5eWVYVFZScDNGRG9LZHFjT1pMd2dpaWVqUWMyaUVYQlF1YnExc1JOeUtoZ2hubHR4NGh3Z1NOcVMwc29WR3pKQ2FER3hsTGNYSHpLTWFFRVIzSkxTeVp5bEhLVlU2c0pXMUVsTWtMb2hCRUQwSTNjcXUwdVJzWndUUmlKQ1N2ZGpZYUJOTkFUb0dsc0Z4WDZiUkppQklJQ0ZhV1JkcnlUZUNHSVM0WkozUEdHMGZndkFRbFd5UlNOUnZCREVHTWNsdWEyZTBkUWdpZ0MzWm5FZWlRMmRIRUwxaFNOYTU4UUdSa0M2VkVGd3ZhMlpjdVZiYU0wd0FBQUEyU1VSQlZOdFhMYzNFRmJKQlZQbzE3dWFCNjFXemVwVXFLVWxKQ1RIZ0xDa3FPSitYY2V5Q1BzY1BJQWlDSUFpQ0lBaWlBLzhQNnhDNnhUMDRqTmdBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIFxuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNzYtMS0wXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDc0LTUtMlwiXG4gICAgICAgICAgZD1cIk0gLTYuMTAzNWUtNSwxNDE3LjMyIEggMTQxNy4zMiBWIDAgSCAtOS4xNTUzZS01XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDg2LTktMVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg4NC00LTBcIlxuICAgICAgICAgIGQ9XCJNIC02LjEwMzVlLTUsMTQxNy4zMiBIIDE0MTcuMzIgViAwIEggLTkuMTU1M2UtNVwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg5Ni05LTVcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoOTQtMC0xXCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTA2LTktMVwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMDQtMS0wXCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTE2LTctOFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMTQtNy01XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTI2LTEtMFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMjQtMS02XCJcbiAgICAgICAgICBkPVwiTSAtNi4xMDM1ZS01LDE0MTcuMzIgSCAxNDE3LjMyIFYgMCBIIC05LjE1NTNlLTVcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTM2LTUtNFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMzQtOTctNlwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDE0Ni03LTJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTQ0LTY3LTVcIlxuICAgICAgICAgIGQ9XCJNIC0xLjIyMDdlLTQsMTQxNy4zMiBIIDE0MTcuMzIgViAxLjIyMDdlLTQgTCAtNi4xMDM1ZS01LDIuNDQxNGUtNFwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGgxNTYtMy04XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE1NC02NS02XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTY2LTYtMlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNjQtMy04XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTc2LTktNFwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxNzQtNC03XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTg2LTgtMlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxODQtMS00XCJcbiAgICAgICAgICBkPVwiTSAtMS4yMjA3ZS00LDE0MTcuMzIgSCAxNDE3LjMyIFYgMS4yMjA3ZS00IEwgLTYuMTAzNWUtNSwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTk2LTI5LTBcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMTk0LTMtNlwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDIwNi05LTJcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjA0LTAtOVwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDIxNi04LTlcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjE0LTgtMFwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDIyNi01LThcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoMjI0LTAtMVwiXG4gICAgICAgICAgZD1cIk0gLTEuMjIwN2UtNCwxNDE3LjMyIEggMTQxNy4zMiBWIDEuMjIwN2UtNCBMIC02LjEwMzVlLTUsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDc1MC01LTNcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNzQ4LTYxLTFcIlxuICAgICAgICAgIGQ9XCJNIDU5Mi41Niw2MDguMDQgSCA4NDEuMiBWIDgyMi42IEggNTkyLjU2IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICA8L2RlZnM+XG4gICAgPGcgdHJhbnNmb3JtPVwibWF0cml4KDEuMzMzMzMzMywwLDAsLTEuMzMzMzMzMywtNTQyLjIzOTk5LDEzMzUuMDQpXCIgaWQ9XCJnMTBcIj5cbiAgICAgIDxwYXRoXG4gICAgICAgIGlkPVwicGF0aDM0XCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgIGZpbGw6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDQwNi42OCw3MDguMyBjIDAsMTYxLjI4IDEzMS45NSwyOTIuMDIgMjk0LjcyLDI5Mi4wMiAxNjIuNzcsMCAyOTQuNzIsLTEzMC43NCAyOTQuNzIsLTI5Mi4wMiAwLC0xNjEuMjggLTEzMS45NSwtMjkyLjAyIC0yOTQuNzIsLTI5Mi4wMiAtMTYyLjc3LDAgLTI5NC43MiwxMzAuNzQgLTI5NC43MiwyOTIuMDIgelwiXG4gICAgICAvPlxuICAgICAgPGdcbiAgICAgICAgaWQ9XCJhbnRpY2lwYXRlLWJnXCJcbiAgICAgICAgY2xhc3NOYW1lPVwiaHAzIGFudGljaXBhdGUtdmVyc2lvblwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNDIpXCIgaWQ9XCJnMzhcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJwYXRoNDRcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZmlsbDogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZD1cIm0gMTI4NS45Niw4OTAuMDQgYyAzMi4xOSwwIDU4LjI4LC0yNi4wOSA1OC4yOCwtNTguMjggViA1OTguNjQgYyAwLC0zMi4xOSAtMjYuMDksLTU4LjI4IC01OC4yOCwtNTguMjggSCA5NDEuNiBjIC0zMi4xOSwwIC01OC4yOCwyNi4wOSAtNTguMjgsNTguMjggdiAyMzMuMTIgYyAwLDMyLjE5IDI2LjA5LDU4LjI4IDU4LjI4LDU4LjI4IHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICAgIDxnXG4gICAgICAgIGlkPVwiYWN0LWJnXCJcbiAgICAgICAgY2xhc3NOYW1lPVwiaHAzIGFjdC12ZXJzaW9uXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuNjIwNTI0NCwxLjIyNjU0NDkpXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgIGZpbGw6IFwiIzg1MGU3OFwiLFxuICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8Z1xuICAgICAgICAgIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQyLTMpXCJcbiAgICAgICAgICBpZD1cImczOC0zXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCIjODUwZTc4XCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIGlkPVwicGF0aDQ0LTVcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZmlsbDogXCIjODUwZTc4XCIsXG4gICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZD1cIm0gMTI4NS45Niw4OTAuMDQgYyAzMi4xOSwwIDU4LjI4LC0yNi4wOSA1OC4yOCwtNTguMjggViA1OTguNjQgYyAwLC0zMi4xOSAtMjYuMDksLTU4LjI4IC01OC4yOCwtNTguMjggSCA5NDEuNiBjIC0zMi4xOSwwIC01OC4yOCwyNi4wOSAtNTguMjgsNTguMjggdiAyMzMuMTIgYyAwLDMyLjE5IDI2LjA5LDU4LjI4IDU4LjI4LDU4LjI4IHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICAgIDxnXG4gICAgICAgIGlkPVwiZW5nYWdlLWJnXCJcbiAgICAgICAgY2xhc3NOYW1lPVwiaHAzIGVuZ2FnZS12ZXJzaW9uXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDMuNzIwMjc5MiwwLjk0MjQ5MjY0KVwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICBmaWxsOiBcIiNjZTlmYzlcIixcbiAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGdcbiAgICAgICAgICBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg0Mi0zLTYpXCJcbiAgICAgICAgICBpZD1cImczOC0zLTJcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiNjZTlmYzlcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJwYXRoNDQtNS03XCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZpbGw6IFwiI2NlOWZjOVwiLFxuICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGQ9XCJtIDEyODUuOTYsODkwLjA0IGMgMzIuMTksMCA1OC4yOCwtMjYuMDkgNTguMjgsLTU4LjI4IFYgNTk4LjY0IGMgMCwtMzIuMTkgLTI2LjA5LC01OC4yOCAtNTguMjgsLTU4LjI4IEggOTQxLjYgYyAtMzIuMTksMCAtNTguMjgsMjYuMDkgLTU4LjI4LDU4LjI4IHYgMjMzLjEyIGMgMCwzMi4xOSAyNi4wOSw1OC4yOCA1OC4yOCw1OC4yOCB6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8Z1xuICAgICAgICBpZD1cInJlZmxlY3QtYmdcIlxuICAgICAgICBjbGFzc05hbWU9XCJocDMgcmVmbGVjdC12ZXJzaW9uXCJcbiAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjAyNTc1NTE1LDMuMjM2ODUxNSlcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgZmlsbDogXCIjYTBhN2YzXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxnXG4gICAgICAgICAgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNDItMy02LTApXCJcbiAgICAgICAgICBpZD1cImczOC0zLTItMFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBpZD1cInBhdGg0NC01LTctNlwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmaWxsOiBcIiNhMGE3ZjNcIixcbiAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkPVwibSAxMjg1Ljk2LDg5MC4wNCBjIDMyLjE5LDAgNTguMjgsLTI2LjA5IDU4LjI4LC01OC4yOCBWIDU5OC42NCBjIDAsLTMyLjE5IC0yNi4wOSwtNTguMjggLTU4LjI4LC01OC4yOCBIIDk0MS42IGMgLTMyLjE5LDAgLTU4LjI4LDI2LjA5IC01OC4yOCw1OC4yOCB2IDIzMy4xMiBjIDAsMzIuMTkgMjYuMDksNTguMjggNTguMjgsNTguMjggelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPHBhdGhcbiAgICAgICAgaWQ9XCJwYXRoNDZcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZpbGw6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDQzMiw3MDYuMzIgYyAwLDE2MC4xOCAxMjYuMjgsMjkwLjA0IDI4Mi4wNiwyOTAuMDQgMTU1Ljc4LDAgMjgyLjA2LC0xMjkuODYgMjgyLjA2LC0yOTAuMDQgQyA5OTYuMTIsNTQ2LjE0IDg2OS44NCw0MTYuMjggNzE0LjA2LDQxNi4yOCA1NTguMjgsNDE2LjI4IDQzMiw1NDYuMTQgNDMyLDcwNi4zMiBaXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBpZD1cInBhdGg1MFwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICBmaWxsOiBcInZhcigtLW91cmJlaWdlKVwiLFxuICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICB9fVxuICAgICAgICBkPVwibSA0NTcuMjYsNzY1LjYgYyAwLDEyOS42IDExMi42MSwyMzQuNjYgMjUxLjUyLDIzNC42NiBDIDg0Ny42OSwxMDAwLjI2IDk2MC4zLDg5NS4yIDk2MC4zLDc2NS42IDk2MC4zLDYzNiA4NDcuNjksNTMwLjk0IDcwOC43OCw1MzAuOTQgNTY5Ljg3LDUzMC45NCA0NTcuMjYsNjM2IDQ1Ny4yNiw3NjUuNiBaXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBpZD1cInBhdGg1MlwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICBmaWxsOiBcIm5vbmVcIixcbiAgICAgICAgICBzdHJva2U6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgc3Ryb2tlV2lkdGg6IDIuMDQsXG4gICAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJidXR0XCIsXG4gICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0OiAxMCxcbiAgICAgICAgICBzdHJva2VEYXNoYXJyYXk6IFwibm9uZVwiLFxuICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDQ1Ny4yNiw3NjUuNiBjIDAsMTI5LjYgMTEyLjYxLDIzNC42NiAyNTEuNTIsMjM0LjY2IEMgODQ3LjY5LDEwMDAuMjYgOTYwLjMsODk1LjIgOTYwLjMsNzY1LjYgOTYwLjMsNjM2IDg0Ny42OSw1MzAuOTQgNzA4Ljc4LDUzMC45NCA1NjkuODcsNTMwLjk0IDQ1Ny4yNiw2MzYgNDU3LjI2LDc2NS42IFpcIlxuICAgICAgLz5cbiAgICAgIDxnXG4gICAgICAgIGlkPVwiYW50aWNpcGF0ZVwiXG4gICAgICAgIGNsYXNzTmFtZT1cImhwMyBhbnRpY2lwYXRlLXZlcnNpb25cIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgIH19XG4gICAgICAgIFxuICAgICAgPiA8YSBvbkNsaWNrPXtvcGVuQ2xhc3Nlcyh7Y2xhc3NOYW1lOiBcImhwMyBhbnRpY2lwYXRlLXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJhbnRpY2lwYXRlLWFudGljaXBhdGVcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiNiODViZDFcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDg5NC41LDg5MC4wMyAtNi40OCwtNTEuOCAtNDkuNTcsLTYuMTkgYyAzMS42MywtMzIuNTcgNTEuMTIsLTc3LjAxIDUxLjEyLC0xMjYuMDEgMCwtNDAuMTcgLTEzLjEsLTc3LjI3IC0zNS4yNCwtMTA3LjI4IGwgNi41LC01Mi4xMSA1MC4yLC02LjI4IGMgMzYuOTcsNDUuMTEgNTkuMTcsMTAyLjggNTkuMTcsMTY1LjY3IDAsNzEuNzYgLTI4LjkxLDEzNi43NiAtNzUuNywxODQgelwiXG4gICAgICAgIC8+IDwvYT5cbiAgICAgICAgPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgYWN0LXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJhbnRpY2lwYXRlLWFjdFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiIzg1MGU3OFwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzA4LjcsOTY3LjQzIGMgLTcxLjczLDAgLTEzNi43MSwtMjguOSAtMTgzLjk0LC03NS42OSBsIDUxLjc4LC02LjQ4IDYuMTksLTQ5LjU4IGMgMzIuNTcsMzEuNjQgNzcsNTEuMTMgMTI1Ljk3LDUxLjEzIDQwLjE2LDAgNzcuMjUsLTEzLjEgMTA3LjI1LC0zNS4yNSBsIDUyLjEsNi41MSA2LjI3LDUwLjIxIGMgLTQ1LjA5LDM2Ljk2IC0xMDIuNzYsNTkuMTUgLTE2NS42Miw1OS4xNSB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPC9hPlxuICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQ2xhc3Nlcyh7Y2xhc3NOYW1lOiBcImhwMyBlbmdhZ2UtdmVyc2lvblwiLCBjbGFzc3RvSGlkZTogXCJocDNcIn0pfT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cImFudGljaXBhdGUtZW5nYWdlXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCIjY2U5ZmM5XCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA1MDYuNDEsODcxLjY3IGMgLTM2Ljk3LC00NS4xIC01OS4xNiwtMTAyLjc5IC01OS4xNiwtMTY1LjY2IDAsLTcxLjc2IDI4LjksLTEzNi43NiA3NS43LC0xODQgbCA2LjQ2LDUxLjc5IDQ5LjU5LDYuMiBjIC0zMS42NCwzMi41NyAtNTEuMTMsNzcuMDEgLTUxLjEzLDEyNi4wMSAwLDQwLjE2IDEzLjEsNzcuMjYgMzUuMjUsMTA3LjI4IGwgLTYuNTEsNTIuMTEgelwiXG4gICAgICAgIC8+IDwvYT5cbiAgICAgICAgPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgcmVmbGVjdC12ZXJzaW9uXCIsIGNsYXNzdG9IaWRlOiBcImhwM1wifSl9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwiYW50aWNpcGF0ZS1yZWZsZWN0XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCIjYTBhN2YzXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA4MzQuNjgsNTc2LjIzIGMgLTMyLjU3LC0zMS42MyAtNzcuMDEsLTUxLjEyIC0xMjYuMDEsLTUxLjEyIC00MC4xNiwwIC03Ny4yNiwxMy4xIC0xMDcuMjcsMzUuMjQgbCAtNTIuMTIsLTYuNSAtNi4yNywtNTAuMiBjIDQ1LjEsLTM2Ljk4IDEwMi43OCwtNTkuMTcgMTY1LjY2LC01OS4xNyA3MS43NiwwIDEzNi43NSwyOC45MSAxODQuMDEsNzUuNyBsIC01MS44MSw2LjQ4IHpcIlxuICAgICAgICAvPiA8L2E+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNjJcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW91cmJlaWdlKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzA4LjczLDgzNC41OSBjIC04Ljc5LDAgLTE3LjQ0LC0xLjQxIC0yNS42OSwtNC4yMSAtMi44MSwtMC45NSAtNC4zMiwtNCAtMy4zNSwtNi43OSAwLjc2LC0yLjIyIDIuODQsLTMuNjIgNS4wOSwtMy42MiAwLjU3LDAgMS4xNiwwLjA5IDEuNzQsMC4yOSA3LjE0LDIuNDEgMTQuNiwzLjYzIDIyLjIxLDMuNjMgMi45OCwwIDUuMzksMi40IDUuMzksNS4zNiAwLDIuOTYgLTIuNDEsNS4zNCAtNS4zOSw1LjM0IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDY0XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDY4Ni4xNyw5MjYuNiAtMS4zMywtNy43OSA1LjM3LDAuOTggeiBtIC0yLjksNC4yMiA0LjIxLDAuNzcgMTEuNDgsLTE4LjI1IC00LjMzLC0wLjc5IC0yLjUzLDQuMTYgLTcuODcsLTEuNDQgLTAuODEsLTQuNzcgLTQuMjIsLTAuNzcgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNjZcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzE2Ljc5LDkzNC4xOCBjIDIuNDUsLTAuMDIgNC40MywtMC43NyA1Ljk0LC0yLjIzIDAuOSwtMC44NyAxLjU3LC0yLjEgMi4wMSwtMy43MSBsIC00LjAxLC0wLjkxIGMgLTAuMjMsMS4wNCAtMC43MSwxLjg2IC0xLjQ2LDIuNDcgLTAuNzQsMC42MSAtMS42NSwwLjkyIC0yLjcyLDAuOTMgLTEuNDksMC4wMiAtMi43LC0wLjUgLTMuNjMsLTEuNTYgLTAuOTQsLTEuMDYgLTEuNDIsLTIuNzcgLTEuNDQsLTUuMTYgLTAuMDMsLTIuNTMgMC40MSwtNC4zNCAxLjMxLC01LjQyIDAuOSwtMS4wOCAyLjA3LC0xLjYzIDMuNTMsLTEuNjUgMS4wNywtMC4wMSAyLDAuMzIgMi43OCwxIDAuNzgsMC42NyAxLjM1LDEuNzQgMS43LDMuMiBsIDMuOTEsLTEuMjggYyAtMC42MywtMi4xOCAtMS42NCwtMy43OSAtMy4wNSwtNC44NCAtMS40MSwtMS4wNCAtMy4xOSwtMS41NSAtNS4zNCwtMS41MyAtMi42NSwwLjAzIC00LjgzLDAuOTYgLTYuNTIsMi43OSAtMS42OSwxLjgzIC0yLjUyLDQuMzIgLTIuNDksNy40NyAwLjA0LDMuMzMgMC45Miw1LjkxIDIuNjYsNy43NCAxLjc0LDEuODIgNC4wMSwyLjcyIDYuODIsMi42OSB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGg2OFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3MzcuMzksOTMyLjQyIDE1LjYyLC0zLjAxIC0wLjY0LC0zLjMzIC01LjgyLDEuMTMgLTMuMTUsLTE2LjMzIC0zLjk3LDAuNzcgMy4xNSwxNi4zMiAtNS44MywxLjEzIHpcIlxuICAgICAgICAvPlxuICAgICAgICA8ZyBpZD1cImc3MFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDc2KVwiIGlkPVwiZzcyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGg3OFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gNDk0LjM4LDYyNS4zNyAtMy45NywxNC4zIDMuMjYsMC45MSAyLjg5LC0xMC40MSA0LjI3LDEuMTkgLTIuNjksOS42OCAzLjI1LDAuOSAyLjY5LC05LjY4IDUuMjUsMS40NiAtMi45OSwxMC43NyAzLjI1LDAuOTEgNC4wNywtMTQuNjcgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImc4MFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDg2KVwiIGlkPVwiZzgyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGg4OFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gNDg3LjUzLDY1Mi41IC0wLjY1LDMuODggMTEuODMsMTAuMjkgLTEzLjE4LC0yLjIxIC0wLjYzLDMuNyAxOS43NCwzLjMxIDAuNjcsLTQgLTExLjU0LC0xMC4xMSAxMi44OCwyLjE1IDAuNjIsLTMuNyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzkwXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoOTYpXCIgaWQ9XCJnOTJcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDk4XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODIuNDgsNjkwLjkyIGMgLTAuMTQsMi40OCAwLjI3LDQuNDUgMS4yMyw1LjkgMC45NiwxLjQ1IDIuMzUsMi40MyA0LjE2LDIuOTMgbCAwLjk4LC0zLjk2IGMgLTAuOTcsLTAuMzQgLTEuNzEsLTAuOTEgLTIuMjQsLTEuNzIgLTAuNTIsLTAuODEgLTAuNzUsLTEuNzkgLTAuNjksLTIuOTYgMC4xLC0xLjc2IDAuNzQsLTMuMTMgMS45MiwtNC4xMSAxLjE3LC0wLjk4IDIuODYsLTEuNCA1LjA2LC0xLjI4IDIuMzcsMC4xMyA0LjEyLDAuNzYgNS4yNSwxLjg4IDEuMTIsMS4xMiAxLjY0LDIuNTQgMS41NCw0LjI1IC0wLjA0LDAuODQgLTAuMjYsMS42OCAtMC42NCwyLjUxIC0wLjM4LDAuODMgLTAuODIsMS41NCAtMS4zMywyLjEyIGwgLTIuNTMsLTAuMTQgMC4yNiwtNC42MiAtMy4zNywtMC4xOSAtMC40OSw4LjY5IDcuOTYsMC40NSBjIDAuODcsLTAuOCAxLjY2LC0xLjk4IDIuMzcsLTMuNTUgMC43MSwtMS41NyAxLjEyLC0zLjE4IDEuMjEsLTQuODIgMC4xMiwtMi4wOSAtMC4yMiwtMy45NCAtMS4wMSwtNS41NCAtMC43OSwtMS42MSAtMS45OCwtMi44NCAtMy41NywtMy43MiAtMS41OCwtMC44NyAtMy4zMywtMS4zNiAtNS4yNSwtMS40NyAtMi4wOCwtMC4xMiAtMy45NiwwLjIyIC01LjYyLDEgLTEuNjcsMC43OCAtMi45OCwxLjk5IC0zLjk0LDMuNjIgLTAuNzQsMS4yNCAtMS4xNiwyLjgyIC0xLjI2LDQuNzMgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMDBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxMDYpXCIgaWQ9XCJnMTAyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMDhcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ4Ny40Myw3MjAuNTYgNy4yOCwtMy4wOSAwLjI5LDUuNDUgeiBtIC00Ljc3LC0xLjg0IDAuMjMsNC4yNyAyMC40MSw2Ljk1IC0wLjI0LC00LjM5IC00LjYzLC0xLjUxIC0wLjQyLC03Ljk5IDQuNDUsLTEuODkgLTAuMjMsLTQuMjggelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMTBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxMTYpXCIgaWQ9XCJnMTEyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMThcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ4NS43Niw3NTEuNjEgYyAwLjQsMi40NSAxLjIzLDQuMjggMi40OCw1LjQ5IDEuMjYsMS4yMSAyLjgzLDEuODcgNC43MSwxLjk3IGwgMC4wOSwtNC4wOSBjIC0xLjAyLC0wLjEyIC0xLjg3LC0wLjUxIC0yLjU2LC0xLjE5IC0wLjY5LC0wLjY4IC0xLjEyLC0xLjU5IC0xLjMxLC0yLjc0IC0wLjI5LC0xLjc0IDAuMDQsLTMuMjIgMC45NywtNC40MyAwLjk0LC0xLjIxIDIuNDksLTEuOTkgNC42NywtMi4zNSAyLjM0LC0wLjM4IDQuMTgsLTAuMTUgNS41MywwLjcgMS4zNCwwLjg1IDIuMTUsMi4xMiAyLjQzLDMuODEgMC4xMywwLjgzIDAuMTEsMS43IC0wLjA4LDIuNTkgLTAuMTksMC44OSAtMC40NywxLjY4IC0wLjg0LDIuMzYgbCAtMi41MSwwLjQxIC0wLjc0LC00LjU3IC0zLjMzLDAuNTUgMS40MSw4LjYgNy44NywtMS4zIGMgMC42NywtMC45NiAxLjE4LC0yLjI5IDEuNTQsLTMuOTggMC4zNSwtMS42OCAwLjM5LC0zLjM0IDAuMTMsLTQuOTcgLTAuMzQsLTIuMDYgLTEuMDcsLTMuNzkgLTIuMTksLTUuMTggLTEuMTIsLTEuNCAtMi41NSwtMi4zNSAtNC4yOSwtMi44NiAtMS43MywtMC41IC0zLjU1LC0wLjYgLTUuNDUsLTAuMjkgLTIuMDUsMC4zNCAtMy44MSwxLjA3IC01LjI3LDIuMTkgLTEuNDUsMS4xMyAtMi40NywyLjU5IC0zLjA1LDQuMzkgLTAuNDUsMS4zOCAtMC41MiwzLjAxIC0wLjIxLDQuODkgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMjBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxMjYpXCIgaWQ9XCJnMTIyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMjhcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ5MC40Miw3NzIuOTkgMy45NywxNC4zIDMuMjYsLTAuOSAtMi44OSwtMTAuNDEgNC4yOCwtMS4xOSAyLjY5LDkuNjkgMy4yNCwtMC45MSAtMi42OCwtOS42OCA1LjI1LC0xLjQ1IDIuOTksMTAuNzcgMy4yNSwtMC45IC00LjA3LC0xNC42NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzEzMFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEzNilcIiBpZD1cImcxMzJcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDEzOFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTEyLjc3LDgxMC4yIC03Ljg5LC0wLjUgMi4xOSwtNSB6IG0gMy40NCwzLjc5IDEuNzEsLTMuOTIgLTE1LjEyLC0xNS4zNiAtMS43Niw0LjAyIDMuNDYsMy40MyAtMy4yLDcuMzIgLTQuODMsLTAuMyAtMS43MiwzLjkyIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTQwXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTQ2KVwiIGlkPVwiZzE0MlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTQ4XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MjQuOTEsNzkyLjM4IDEuMTcsLTMuNzUgLTEwLjMxLC0xMS44MSAxMi43NiwzLjk5IDEuMTIsLTMuNTggLTE5LjExLC01Ljk3IC0xLjIxLDMuODcgMTAuMDUsMTEuNTkgLTEyLjQ1LC0zLjg5IC0xLjEyLDMuNTggelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNTBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNTYpXCIgaWQ9XCJnMTUyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNThcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzMi41Nyw3NjUuODggMy4xNSwtMTUuNTkgLTMuMzIsLTAuNjcgLTEuMTcsNS44MSAtMTYuMywtMy4yOSAtMC44LDMuOTYgMTYuMywzLjI5IC0xLjE4LDUuODIgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNjBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNjYpXCIgaWQ9XCJnMTYyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNjhcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzNy4yNiw3MzkuMjcgMC40OCwtNC4wMSAtMTkuODcsLTIuMzkgLTAuNDgsNC4wMSB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzE3MFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE3NilcIiBpZD1cImcxNzJcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE3OFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTM5LjU4LDcxNC4yOSBjIDAuMDgsLTIuNDQgLTAuNTcsLTQuNDYgLTEuOTcsLTYuMDMgLTAuODIsLTAuOTQgLTIuMDMsLTEuNjYgLTMuNjIsLTIuMTcgbCAtMS4wOCwzLjk3IGMgMS4wMywwLjI3IDEuODMsMC43OSAyLjQsMS41NiAwLjU4LDAuNzcgMC44NSwxLjY5IDAuODEsMi43NiAtMC4wNSwxLjQ5IC0wLjYyLDIuNjcgLTEuNzEsMy41NiAtMS4xLDAuODkgLTIuODQsMS4yOSAtNS4yMiwxLjIxIC0yLjUzLC0wLjA4IC00LjMyLC0wLjYgLTUuMzYsLTEuNTQgLTEuMDQsLTAuOTUgLTEuNTQsLTIuMTUgLTEuNDksLTMuNiAwLjAzLC0xLjA4IDAuNDEsLTEuOTkgMS4xMSwtMi43NCAwLjcxLC0wLjc1IDEuOCwtMS4yNyAzLjI4LC0xLjU2IGwgLTEuMTEsLTMuOTUgYyAtMi4yMSwwLjUyIC0zLjg2LDEuNDcgLTQuOTcsMi44MyAtMS4xLDEuMzYgLTEuNjksMy4xMSAtMS43Niw1LjI2IC0wLjA5LDIuNjYgMC43NCw0Ljg3IDIuNSw2LjY0IDEuNzYsMS43NyA0LjIxLDIuNzEgNy4zNiwyLjgxIDMuMzMsMC4xMSA1Ljk0LC0wLjY2IDcuODQsLTIuMzIgMS45LC0xLjY1IDIuOSwtMy44OCAyLjk5LC02LjY5IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTgwXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTg2KVwiIGlkPVwiZzE4MlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTg4XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzkuMSw2OTQuMjcgLTAuMjIsLTQuMDMgLTE5Ljk4LDEuMDkgMC4yMSw0LjAzIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTkwXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTk2KVwiIGlkPVwiZzE5MlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTk4XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzMuOTgsNjc0LjI1IC01LjYyLDAuNzkgLTAuMzEsLTIuMTkgYyAtMC4yMiwtMS41OCAtMC4yNiwtMi42NSAtMC4xMywtMy4yMSAwLjEzLC0wLjU2IDAuNCwtMS4wMiAwLjgsLTEuMzggMC40LC0wLjM3IDAuODksLTAuNTkgMS40OCwtMC42NyAwLjcyLC0wLjEgMS4zNCwwLjAyIDEuODcsMC4zOCAwLjUzLDAuMzYgMC45LDAuODYgMS4xMSwxLjQ5IDAuMTUsMC40NiAwLjMzLDEuNDIgMC41MywyLjg2IHogbSAzLjkyLDMuNTMgLTAuOSwtNi40MiBjIC0wLjM0LC0yLjQzIC0wLjY2LC00IC0wLjk2LC00LjcxIC0wLjQ2LC0xLjEgLTEuMjQsLTEuOTYgLTIuMzQsLTIuNTkgLTEuMTEsLTAuNjIgLTIuNDUsLTAuODMgLTQuMDMsLTAuNiAtMS4yMSwwLjE3IC0yLjIsMC41MyAtMi45NywxLjA5IC0wLjc3LDAuNTYgLTEuMzQsMS4yMSAtMS43MiwxLjk1IC0wLjM4LDAuNzUgLTAuNTksMS40OSAtMC42NSwyLjIxIC0wLjA1LDAuOTggMC4wNCwyLjM4IDAuMyw0LjE5IGwgMC4zNiwyLjYxIC03LjQ3LDEuMDUgMC41Niw0IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMjAwXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjA2KVwiIGlkPVwiZzIwMlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMjA4XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MjcuMDEsNjQ0LjM3IC02LjUzLDQuNDUgLTEuMzUsLTUuMjkgeiBtIDUuMDQsMC44OCAtMS4wNSwtNC4xNSAtMjEuMzgsLTIuODMgMS4wOSw0LjI2IDQuODMsMC41NyAxLjk3LDcuNzYgLTQsMi43MiAxLjA2LDQuMTUgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcyMTBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyMTYpXCIgaWQ9XCJnMjEyXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgyMThcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkyNi4wNyw2MjQuMTkgLTUuNTIsLTE0LjkyIC0zLjE4LDEuMTggMi4wNiw1LjU2IC0xNS41OSw1Ljc3IDEuNCwzLjc5IDE1LjU5LC01Ljc3IDIuMDYsNS41NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzIyMFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDIyNilcIiBpZD1cImcyMjJcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDIyOFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTE2LjA2LDU5OC44OCAtNi41MywtMTMuMzMgLTMuMDQsMS40OSA0Ljc1LDkuNyAtMy45OCwxLjk1IC00LjQyLC05LjAzIC0zLjAzLDEuNDkgNC40Miw5LjAyIC00LjksMi40IC00LjkxLC0xMC4wNSAtMy4wMywxLjQ5IDYuNjksMTMuNjcgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcyMzBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyMzYpXCIgaWQ9XCJnMjMyXCI+XG4gICAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJtYXRyaXgoMjA0LjM2LDAsMCwyMDQuMzYsNjAxLjA4LDYxMS40KVwiIGlkPVwiZzIzOFwiPlxuICAgICAgICAgICAgICA8aW1hZ2VcbiAgICAgICAgICAgICAgICBpZD1cImltYWdlMjQ0XCJcbiAgICAgICAgICAgICAgICBtYXNrPVwidXJsKCNtYXNrMjQwKVwiXG4gICAgICAgICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFZQUFBQUdBQ0FZQUFBQ2t4N1cvQUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBSUFCSlJFRlVlSnp0M1dsejIwaldwdUVISUlGTVVJdTFTN1prbHlybWpaaVltUC8vZDZhOXlJdXN6WklzWWlQQStRREs1ZXB5MmJKSUpKTENmVVYwOUlmcUl1QzJoQWZNUEhsT0lHa3FBRUR2aEYzZkFBQ2dHd1FBQVBRVUFRQUFQVVVBQUVCUEVRQUEwRk1FQUFEMEZBRUFBRDFGQUFCQVR4RUFBTkJUQkFBQTlCUUJBQUE5UlFBQVFFOFJBQURRVXdRQUFQUVVBUUFBUFVVQUFFQlBFUUFBMEZNRUFBRDBGQUVBQUQxRkFBQkFUeEVBQU5CVEJBQUE5QlFCQUFBOVJRQUFRRThSQUFEUVV3UUFBUFFVQVFBQVBVVUFBRUJQRVFBQTBGTUVBQUQwRkFFQUFEMUZBQUJBVHhFQUFOQlRCQUFBOUJRQkFBQTlSUUFBUUU4UkFBRFFVd1FBQVBRVUFRQUFQVVVBQUVCUEVRQUEwRk1FQUFEMEZBRUFBRDFGQUFCQVR4RUFBTkJUQkFBQTlCUUJBQUE5TmV6NkJnQmdXVVZocE1RYUpiR1ZqWTFHY2FMM2w1OTBNLzdhOWEwOUNBRUFBTDhRS3BRMVZpTVRLNGtTSmJHUk5TTU5CLzljUkxGUm9oc1JBQUN3VkFJRk1zTll4aGdseG1vVUc0MU1vbmdZUC9nelJzYTBlSWVMUlFBQTZLWGhZQ2diR1kxaUl4dGJqYXhWRWljS2dtQ3V6N1VFQUFENElRZ0MyU2hXWWhLTllxc2tOaHFaa1FhRFFTdlhTeUtyUUlHbW1yYnkrWXRFQUFCNE11SkJMR3VOUnBIOXRqR2JHT3YwSG9JZ2tJMWpwVVh1OUxxUFFRQUFXRHFEWUtERVdObDQ5bVlmR1Zsck5RamFlYXYvWFRaT0NBQUFtRmNTR3lYM2IvVFdLREVqeFFPL0gxMmp5T2lxNjV0NEFMLy9Yd1RRRzlFd2Fzb3I0NmF1UGpGV2RtZ1Voc3QzWHRYYTVkZ0lKZ0FBT0JVRWdaSzRxYVVmeFZhSk1iTHhqMnZxbDFVU3U5MTNlQ3dDQUVCcjdMQjVtemYzRzdNMmtSbEdYZDlXNitKaHJFRVlxcXJycm0vbHB3Z0FBSE1iRG9aTkxYMFV5OXBFbzlnc3BLWittU1dSMGRjODdmbzJmb29BQVBCZ1RZbGo4MVovWDFOdjQ1R2lvUi9WTno2eHhoSUFBSmFUR2NReTFpaUptaVpuMXBpbFdkdjJ3Y2p4K1lQSElBQ0FuZ3ZEVUtNNG1XM0dXaVdSVWVKUlRmMnlTdUtrNjF2NEpRSUE2SkZteWFZNU9KVllLMnNTNzJ2cWw1V05IOTVBcml2OHpRTlBVRk5UMzV5VXZWKytXZGFhK21VMUNJZUtoNUdLU2RuMXJmd3JBZ0JZWW9Nd2xJMk5iR1MvdFM5K2FqWDF5OHhHbGdBQU1MLzdtbnByWit2MHNaR0psK1BFNlRLWlZLWFNJbGVhWjBxTTFWcXkrdWpQU3F6UlRYcTd3THRiTEFJQThNeDlUWDB5T3lXYlJNMVFrajdYMUxlaG1sYks4MUxqSWxOV1prcXpWR21SYVZKWDMvNDMyK3ViY3dYQXlQT05ZQUlBNk1oOVRmMG9haXB3RW1ObG80U2EraGJrazFKcG5pb3JNbzJMWEdtUktYOUF0ODQ4eithNmJoTDVYUXBLQUFBT21FR3N4RmlaT05iSUpMS3hrUm5HYk1vdTJLU3FsUldwMGpKdkh2aDVwclFvVkUyclgvL0xQNUROMmRMWlJINVhBaEVBd0FLRllhZ2thc1lMMnNoK2EzZ1d0alI5cXEvcXVsWlpsVXJ6NW0wK3padi81Rld4ME90TXByV0thdkxvVXRrZ0RKVEVWbWt4M3plSnRoQUF3Q00xWlpaV0l4TXJpUlBaT0ZFODVGZXFiZS9PUHVqODV0TEp3TVZCR0NxWXpqc2ptQUFBbGxZMEhEWVArTWhxWkF3MTlSMjYvbnFqczV0TFo5ZjdZKzlvN2oyWkpMYmVEb2NoQUlDWis1cjY1bTNlZkt2Q0dZYjhtdmhnVXBWNmMvN0IyZlYyMTdhMHNiSSs5K2Y0dkJITVR6WjZ5UTVOTXp3OE5rcWkyYVlzTmZWZWUzUDJRWk5xNHVSYWRtaDB1SDJ3a004YWVkd1NnZ0RBa3pZY0RKVkVSdFlremZJTk5mVkw2ZUwyU3RkM2JnNVVCUXAwZkhDb2NFR25xYU9vcWZhcVBSd09Rd0RnU1FnVnlzd3FibXhzTmJLR212b25JcCtVT2puLzZPeDZCMXQ3R3BuUlFqOHpNWW51MHJ1RmZ1WWlFQUJZT3ZFd21yVXZ0dC9XN09QaGtFM1pGaFNUUWxtUkt5MVNwVVdodzgwOVJRNXIyK3U2MXR2UDc1eU5WbHkxSzlwL3RyM3d6MDBpU3dBQXYrTytwajR4elFEeFpncVZvYWErQlpONm9qelBsWmFaeG5tbXJDaVU1dG5mRGxBZGJMbDkrRXZTK2UyVmJ0T3hrMnNOd2xESCs0ZXR2RWdrbnU0dkVRRG9YQkFFc3JQbVprM3ZtNlRwVTA5Ti9jSk42Nm55c2xCYVpyTURWS25TSXY5bHg4cFJiUFg4MmE2anUyeWtlZVowNmVkbzU3bmlZVHNCUndBQWFtcnFSNUdWaVpObW5UNDJTb1pXUWNpbTdLSVY1VVJwa1gzWEdpRlRWdWFhVG4vdkNGV29VSDhldkhUNmR6U3RwM3I5K2IyejYyMnVybXQ3YmJPMXo3ZWVOb1VqQU5DS3BxWisxdEV5bnEzVlUxUGZpcnFxbTQ2V1JhNXhrU2t0TStWWnFzbDBNZXZtaHpzSE1wSGJOOWlQWHo0ckxkd01WSStHUTczYU9XejFHc05CS0RPSUY5NnFZbDc4Tm1KdUpwNHQzMFJKVTFkdmpHTEhENHkrcUtwS04rbFhqZk5VZVZGb1hLU3REaHhaVDlhMCsyeXJ0Yy8va1hHZTZ0UFZtYlByL2JsN3BJR0RmU1ZqamZJN0FnQkxhaGdPbWpkNjIyektOcTBSTERYMUR2M245TVRaZ0pGQkdPclZmcnR2eHYrdHJpcTkvblRpN0hwN0c5dGFIVDIrMy8vdlNDS2pHL2sxSElZQXdEL2MxOVFuc3hMTHhEWnY5OVRVZCt2ODVzTHBkS25qM1NQbkErTS9YSDFXTnBtdkJmTkRqWXpWNGRaaVR2cys2SG9lN2dNUUFEMFhENlBaTE5ta1dhczNzZUlCZmVwOWs1ZTVUczVPblYxdmUyMVR6MWJuNzRQek8yN1NPMzIrdm5CeXJTQUlkTHo3MHVtM1YrdGhKUkFCMEJOaEdEYjE5SkdkblpZMTFOUXZpV2s5MVg4K3ZWTXRONGVoNG1Ha3crM25UcTUxcjZvbmV2UDVuYlBySFc0ZnlCcTNEMlFmaDhNUUFFOU1FQVROOEhBejYzOHo2NE5EVGYzeStuajFXV09IL2VULzNEdlNjRUY5Y0I3cTNma25sUk0zamQ3V1I2dmFhK0cwNzYrRVlhZ2tOa3JubkRLMlNEd1ZsbGcwakRTS1p1MkxiWE5TMWc0Tk5mVXRLQ2VsaG9PaDh3M3Z1eXpWcHkvdUttS2ViKzVwSlZseGRqMUorbkozcmN2YkwwNnVOUmdNOUdyM3lNbTFmbVFVV3dJQXYrZStwcjVadGtsa1RiTjhNNkNtZnVHcWFhVXNMNVFXdWZJeVZacm5HdWVaUnRicWY1NGZPNzJYdXFyMSt2TmJaOWRMNGtRSG0yNVAreGJWUkcvTzNQWDRQOTQ1N1BUYmNHSVM2ZXQxWjlmL2J6eEJQR09pN3pwYUdxc2tqcW1wYjBsZTVMUERVN25TMmNNK0wvLzVkallNUXIzYWNmL1dlSEw1U1huWlhvMy85d0pKeC91SHpyL2h2RDE3cjZwNjNNRDIzOVhGeHZaLzgyMGptQURveURBY2FHUVNXZlBkOEhCcTZsdFJUcXEvM3VhTFRGbVphWnhsbWo1d3F1ekwvVVBGa2R0ZmxTOTNOenAzT1BydzVlNXpKYkhieVZYbjE1ZTZjZFRqMzBTUlhqcmUyUDRSMzFwQ0VBQXQrNzZtZm1Sbm93YXBxVy9GZERxZHZkR25zeGJHbWRJc1Yxay8vaTE2YTNWRG15dlBGbmlYdnphcFNyMTF1Q3l5UGxyVHpycmJUZEdpekhWeStjblo5ZjdjZjdXd0FTL3ppSWRERGNMUVdYdnJYeUVBRnNoRTBiZitOMDIvZXFOb0VGRlQzNEo4VWpiTnpZcFVhWkZwWE9US0Y3eTVGZzhqSGUyNk95aDA3N1hEMFlmTjhwYmowNzUxcmYrY2ZYQTJJZXY1NXI1R3hwODM3NUd4emxwYy93b0I4QWpESUpTeGY1VllqbUtySkRKZXZHRThaZWZYVjdxNHZWSldaazdlb0k3M1h6cHZYbmQyYytWc1dVU1NYbld3dkhWK2MrbHNPTXFLR1dsL3czM0o1ODhrY1VJQUxJUDdtbnByWjEwdG8rYS9YZi9DUUJyblk3MDlkOWNlK0dCelY2dDJzV01CZnlVckNwMmN1MXY2MlZyZDBJYmo1YTBzejNWeTRXYnBKMUNnNDcxMkJyek13emplYS9rWm5tUXo4YkJadmhsRlZvbHRTaTZwcWZkRDB5RE0zY00vaVkyZWIrNDV1NTdVTEl1OE9UdjU3Vjc5anhVUFl1ZkxXOVBwVlA5eFdOYjZjdmRReHJPcUcwbGFNUVJBWndaaEtCdlpXUzA5TmZYTDRPVHlrN01HWVpMMDU5NHI1OVZZbjYvUGRKZTVXeFk0UGpoeXZyejE0ZkxVMlNHb2pkVjE3YXh2T0xuVzc3SkRmMExwU1QvMVRHdzArdTVobnhqVDJzZzN0T1A2N3F2T2I2NmNYZS9sOW5QblBXTEdlYW9QbCs1TyszYXh2SFdYcFRyOWN1N2tXbEVZNmVXMjI0M3QzeEVPUXBrb2NuYkc0MmVlUkFBTXcyRnphTW9ZbWFqWmxEVW0waUNnMUhLWmxaUFNhWU93OVdSVnU0NDNET3VxZHRyL3ZwUGxyYXB5ZXFMNWo0TkQ3OHVza3lnaEFIN1hmVTE5ODdCdlRzc21VYXhvR0hWOWEwOVNVVTJVRjVuR1dhNnQxVFZGanJzWnZqdi9xRW50NXBSb0dJYjZZL2VGazJ0OTcvMkZ1K1d0SUFoMHZPZTJCYklrblZ4K2R2YXcyOXZZMFhyaVpzRExQS3d4a2dlRlFONEdnSWtpSmRGc2pkNDBFNmlvcVc5SFhWWEtKcm5HV2Fhc3lEUXVDMlZGOXEwV2ZXdHRRMUhrOXMzNC9QWktYKzV1bkYzdmo5MUQ1d0YzYzNlcnMxdDNwMzBQdHcrVU9ONkF2QjNmNnZ6R1RZLy9KTFo2dnVXMmw5RmorVEljcHZNQUdBYWg3T3dCVDAxOXUrcTZWakdaS0MxVFpWbXV0TXlVRnVsUDM4NmlZYVNYTzI2clJmSWkxN3ZQN3NvaHQxZWZhWFBWYlRsa09TbjErck83cFo4dVdpQlhWYVhYTFo5b0RzTlFLOFlxTVNQdHJtOHV6Ykp2NG5pZjZkODRDNEFnQ0dRakkydHNjNEJxTm9HS212cDJsSk5TYVZrMEoyWHpwaTFDbHVlL1BWVGt6OTFEcHhWU2RWM3J6ZWVUQi9mcG1WYzBqSFMwNjc1SHpMc3p4OHRiTys2WHQ5NmRmMUM1d0lIMVVSZ3BzVTNmckJXYmFHU1NwUzNxaUFhUkFzblJUL20vYy9hYnZiK3hveGRiKzY0dTF4dmZ0eS9PeWt4Wm5tbWNaNXJVODdjUzJOL1ljVFl3Kzk3cDlZVys1cW16Ni8yNTV6YmdwTm55MXRqZDh0Yng3cEh6NWEwdlgyOTBPVWZiWXhORnpRUzdPTkVvVHJSaWpZYURwN1BYRjRhaGJKd29MZHo5clArSXM1LzhMUGRuQ01LeXVtOWZuSlpwMDhMNFg5b1hMMElTV3gwNFhrKzl5MUo5dXZ6czdIcDdHOXRhZGJ4aDJNWHkxb2JqRnNqRlpLSzNEMXplQ3RTc0RDVFdhaVcyc2paUkVpWE9KNUoxb1prTzFwTUFTTXR1LzZETDd1VDhvOU9CMlgvc0h6cGRUNjJtbFY2ZnVWdjZTU0tyd3kyM2V4dDFYVHY5TTNhMXZQWDI3TDBtMDM4dU5ZWUtsVmlqVVpUSTJrU2p1Q253NkdzTDlDUk9KTG1aaFBadm5BVkFYcGFxcTRvaDVJOXdtMzUxOXZDWHBCZWJCODZyRkQ2Y255NjhtK2UvQ1lKQXh3ZEhIWnoyUGRkZDV1NUY2SGp2eVBueTF0bk5sVzdHdHdyRGNMWjBZNXVsbk1qS1JERlZmTjhaMmU0M2dwMytkR1NUUXFPQkgrVlB5NktjVkhyOXlkMWhxRlc3b3Qxbm04NnVKMGszNDF1ZE9SeCtjcmg5NEh6NHlWMDIxa2VIcDMzM251MXF6ZkZzWDBreVVhei8rOGYvbHVGc3ppOGxIdlFwY2hySHFjUE52YWZpNVB5RFNrZlZJb013MUIvN1IwN2Ywc3BKcFRlbjdzb2hWNU5WN2F5NURiam1KT3g3ZDh0YnNkWGh0dHZUdnZmV2t4VWUvZzgwSEVRYURycXRnblFiQUk2KzRqOFZGN2RYdXJwek4wRDYxZTZoODEvZWR4ZnYzUVZjTU5EeDNndm55eER2TDA5YjI2ei9rZU45OTh0YmVCemJjV3RvcC9IVDlZNzNNc2tucFU3T1B6cTczdWJxaHZQRFVCZTNWL3J5MVYwNTVLdTlGODdyeHEvdnZqcGQzanJhY1QvYkZ3OVhsSk5tVkdtUktpdHpaVVhXNmYwNERZQngzdTBmOWxmcXFsWmE1a3J6Vk5ta1VKcW5Db0pRZng0Y09hMklxZXRhcnorZk9Kc2JHZzBqdmRweFd5MVNUQXFuQWJmVnlXbmZTbThjbnZidFlua0xQemFwYXVWbHJqUnZIdmJwYkZhMXF6R1lEK1UwQUtxNlZsRk5GSGU4N2xWWGxkSXlWMTRVU21lSHA5SXlWL0dEVTR2LzUraC9uQjh2UDd1K2NEWXlUNUwrMkR2VXdHRjFWbDNYK3M4bmx3RTMxTXNPeWlGUHpqNHM1RURlUTNTMXZOVjNkVjJycUFxbGVYTkdaMXlrU3ZQc2g4OFNIemwvRW1kNXFuaTA1dVJhMWJSU1VaVE5WNjc3QjMzeDR3ZjlqN3pvb0hsV21tZDZmM25xN0hwZGRFLzhmSE9wdTl6aDhKUGRsODdMSVM5dnZ1aHEzTzcrelRBSVplS216SEp6ZFgxcDJ5SXNpMGxWenQ3b2M0MkxySG11ZUw2cThTdnVBNkRJdGI3Z0FKaE9wOHErZmQzS2xCZUZzaUtmcTgzdXFsM1IzdnJXQXUveTE2cHBwZGNPKzk4bmtYSGVQVEhOTTMxd05CTldrdlkzdHJVMmNsc09XVXdLdmIxWTNHbmYvNTVOUFlwTTB4M1hjWHVIdnFpcmV0WWRONTB0Q1RjdmtGWGxwbGpCSmVjQk1KNXowNk91YXQya1g1dS9sTW5zamI0b0ZscGlGNGFoanZmZEQ1UCtjSEhtdEZMcWVQK2wrOU8rcHc0RExqWTYySEkvMi9mMTZmdEhyL1hHdzBnMnNzMkoyZml2QTFUTXBsNjhiOHMzUmE0MHk1cVh5RjkweDMxcW5BZEFPbWNBVk5PcC90OXB1OU9GWHU0OGQvNTEraWE5MDltMW01RjVrdlJpYTkvNTh0Ykg4MU9sanNvaG0zWVdiamZ2cFdaNTYydjI2LzJiUVRCUUVzZEs0a1NKTlVyaVJDYU9uYy9wN1l1L3V1Tm0zMVlLMGlMVGROcDFQODV1ZGJJRVZOZjFvOSt1bytGQTBUQmFhSnZaNzIyT25tbmJjU1ZGVmJtdEZsbEpWcHozaHI5SnYrcXp5OU8rVy92TzIxbjhhSGtyVUNBYngwcWladm5HMnFZVk9vZWwybkZmNE5HOHplZEtaOHM0OThPTjhIZk9BMkE2blNxZkZIUFZLaWV4YlNVQWh1RlFSeDJNQlh4M3R0aSs2VDh6Q0VQOXVlZDJlYXNKdVBmT3JyZHFWN1RUd2Y3Tmg0dFBXaCt0eVVaV0kyTmtqVkVTV1E1bHRhQVpibFEyZTMxbHFqUXJtcGtYanNaclBoV2RmTi9NaW55dUFCaEZWamU2WGVBZE5mN1lPM0krVFBycTY3VXVIWjcyUGVwZ2VldnQrWHVuQWVlNm5ZWFVMT244cnhmSFRxL1pGK1drVkY3TTN1akxWT084VUpabnZ6M2NDUC9VV1FETUk3RldXdkF6YzNkOVM4OVdIUGVHbjVSNjY3QTMvT2FLKytXdHk2OWZkT1h3dE8vTG5SY3NyeXlwYjJYYmVUWXJzMHlWNVptelZpRjkxRWtBekZzN2E2UEZkdEV6a2RHaDQybGxkVjNyemVtSnFxbWJIKzRvSE9qSThWakFmRkxxWGNzelliKzNzZnBNVzJzYnpxNkh4eXNtemVHcDhleVViRk8remZLTmE1MEV3SGpPbmtBbWloVUV3VUoyOEFNRk90NDdkRDZuNFB5QjFTS0xjcnp2ZG5tcnJtdTkvZnpPM1duZk1OTExiZmY3Ti9pNWNsSTFvMHBucDJTem9xbXZkOVVaRlQvWFNRQVVrMUoxVlN0ODVOaTNNQXhsSTd1UTVuSUhXM3Rhc2FPNVArZDNqSXZVNlduZjNXZmJXbk4wK3ZyZStjMmxibE9IcDMwUERwM3YzK0F2MCtsMGR0cisva0ZmS0MxU2xST3FiM3pXV2RGeFd1WmFtV000ek1qTUh3QXJOdEcrNDNMSTZYU3FONS9lTzZzL05ySFJDOGU5NFYwSDNONzZsdFljdDdQb3MzeFNLaXRTamZOYytleVVMSzNlbDFOM0FaQm5XckZ6QkVCc05NK1F4RUNCam5mZFY0dDh1RHhWV3JycEgzTC9aM1I5MnZmTmFYc0JaNGRHeGhpTlpxZGxiWlFvSG5KNHFnMVZQVkZhRk1xS1ZHblduSkpOeTl6WnNoN2ExMTBBRktta3gxZWt6SHVLOWVYZUN4bkhJOW0ranIvcTlJdkQwNzdidTNPRjdHTjh2RGliKzdTM0pBMEhROW5ZYWhURjN3YUltOWc0UDluYkIvZTl0UDdxWnRsc3lyb3EzVVYzT2d5QU9VdEI1empsdVRGYWQ5NDN2YW9uZW4zbThEQ1VTYlM3dnVQc2VwSjBPNzdUNTk5c1p4RklzbkdpSkc3YUlZeHMwK2hzT0tDVXN3MWwyZlMrR1plNXNuejJzSGYwalJUKzZYQVBZTDRmdXNIZ2NTMGhodUdnazk3d2I4OC9PZXNSM2pTemM3dTgxUVRjenh1OW1TaFNFaVd5WnRib3pCaEZnNGdlOWkyWTFCTmxlZDYwUlNneWpiT21Fc2RWMlRHV1EyY0JVRldWaW5LaU9IcjhMU1RSNzdlRU9ONDdVdVQ0b05EVjdiV3Vicjg0dTk3UjlndkZDejRyOFN2dnpqNStxL2dZaEtGR3hzNGFuRm10R0NzN05JK3Urc0svbTlhelZ1akZyTlN5ekpSbHVZcXE2UHJXc0FRNjNUMUxpMHh4OVBqcWpaR3h1a2tmM2hKaVozMVQ2eXR1eXlITHN0Q2JjM2RMUDg5VzFyV3o3dll3VkZrV0dwbEVXMnNic2pHYnNtMHBKaE9sZWFhc1NKdXVsck9HWjMzdmFJbkg2emdBMHJuYUwvek9SckFkR2gxdHVWLzZlWFAyd2RrYzBHRTRkRDdiVjVLaUtOYmVodHY5aHFmc2ZqYjF1TWlhZGZxaVdhK2ZUS20rd1dKMUdnRDVuTlVpbzk4SWdPT0RJK2RMRUordnozV1RmblYydlQ4NldON0M0OTBQSk1ueXBwUGxlUFptMzZlQkpPaFd0OThBNWh3T0VnMGloUXAvMlJYdytlYStSc1p0T1dTVzV6bzVkemY2Y0dkOTIza3pPenpjcENxYm5qZDVOdXVCa3lrckdVaUNiblVhQU9NOG0yczRUQmlHc25IODB6R1RLemJSL29iNzA3Ni9xb2hacEdaNXkrMXBYL3hZWFZYS0pvWEdXZk0yUHk2YUExUWNub0tQT3QrdHk4dGlya05kaVVuK05RQ0NJTkFmdXkrZGx4bCt2UGlzOFp3ZFQzL0g4WUg3Wm5aOVY5ZTF5bXJTTE50aythd2RRci9teVdMNWRSNEFXWkhQRlFBamsramk5dXFILyt4bzU0VnM3SGI0eVcxMnAwL1haNjFmSnd4REpiSFIxdHFXUnNadE03dSttVlNseHNWL3paUE5VL3BaWXVsMUhnQnBrV2xUeng3OTcvOWJlS3l2ckdsMzNlMXAzMGs5MFp2VHhjLzJOWkhSS0xaTmE0VFlLREhHZVoxL0gxVFRTbGxlS0pzMU44dnlUT004MVlTQkpIaWlPZytBOFp3bmduLzBoajhjREhYY3dXemZremxQKzBiaFFJbWR0VVdJRXRuWUtqR0dtYklMVnRlMXlrbXpLWnVWcWNaRnJpekxtU2VMM3VrOEFQSnN2bCs2WVRoVVBJai9kdkx4MWU0TDU3MWt2dHpkNlBLQnAzMkRJRkFTR1kxc29pUXlzbkh6c0tlZi9lS1ZrMHI1Yk9wVU0yYXcyWlNsK2did0lRQ3FZcTdoTUZKekhxQVlOd0d3dmI2cGpaWDFSZDNlZ3hUbFJLOC8vM2pwNTc1OWNXS2E1WnY3OXNYMHYxbXMrM215ZjNXelRKWGxoY3FhVFZuZzMzUWVBRkl6UUdRMVdYbjB2MitOa2NaTnM3R1huWnoyZmFjd0NMVmlFMW5UTkRsTElpTnJhRi9jaG1KU2FEeDd5RE5QRm5nOEx3SWdMZks1QXVCK0kvaDQ3NVh6MDc3VDZWUi83aC9SdnJnRlZUM1JPTS8vTms4MkxUSm5yVFdBcDg2YkFKaEhFbGtkYkxnZmZpSTE2L2s4L09menQzbXllVDZyd21HZUxOQTJQd0pnN2tvZ28rZWJuSVJkQnZmelpMT3NlWnRQeTB4WlVXaEtWVDNnbkJjQmtHZnpEWGVYcENDa1ZOSW5WVDFSVmhUTk9qM3paQUV2ZVJFQWsybXRzaXdVUlc1UDdXSiswM3FxdkN5VWxrMDN5M1RXRm9GNXNvRC92QWdBU1JvWGhaNFJBRjc3ZnA1c1dtVEtzb3g1c3NBUzh5WUFzam1IdzJCeEpsV3RiRlppbVpYTlBObTBwUG9HZUdxOENZRHhuTE1COFB2cXVsWmVGdC9LSzhkbHBqekxsVE5QRnVnRmJ3SWdjOWcrdVkrS3lVUlprV3FjWjhxTDdGdGJCQUQ5NVU4QWxMbW05WlJxbnBiRXc2SGk0WnJXUjJ0ZDN3cUFuemkvdWREYnM0OU9ydVZOUTVycHRLa21BUUM0NFUwQVNQTWZDQU1BUEp4ZkFmQ1QyYjRBZ01YeUt3RHkrVThFQXdBZXhyTUFZQThBQUZ6eEtnQ0txdENrNHJBUkFMamdWUUJJVWw2d0RBUUFMbmdYQUp3SUJnQTN2QXVBakVvZ0FIREN1d0JJYzc0QkFJQUwzZ1hBaERHQUFPQ0Vkd0V3RGFnQ0FnQVh2QXNBQUlBYkJBQUE5SlIzQVRDZGRuMEhBTkFQM2dXQXBzd0RBQUFYL0F1QWdLOEFBT0NDZHdIQTR4OEEzUEF1QUZnQUFnQTN2QXNBdmdFQWdCdmVCWUE0QndZQVR2Z1hBQ1FBQURqaFhRQk0yUVVBQUNlOEN3Q2Uvd0RnaG44QkFBQnd3cnNBbUU3WkF3QUFGN3dMQUFXc0FRR0FDOTRGd0pSdWNBRGdoSGNCQUFCd3c3c0FDT2dHQ2dCT2VCY0FkQU1GQURlOEN3QWUvd0RnaG44QlVCTUJBT0NDZHdIQVNXQUFjTU83QUdBVEdBRGM4QzRBcG13Q0E0QVQvZ1VBQjhFQXdBbnZBaUNnRlFRQU9PRmRBUEFOQUFEYzhDNEFBQUJ1RUFBQTBGTUVBQUQwRkFFQUFEMUZBQUJBVHhFQUFOQlRYZ1pBWFRNWEdBRGE1bVVBQUFEYTUyVUFjQm9ZQU5yblpRQUFBTnJuWlFEVVlnOEFBTnJtWlFBQUFObzM3UG9HZmlTb0EyblE5VjEwNS96bVFtL1BQblo5RzBBbmR0WTM5V3Izc092YjZBVytBUUJBVDNrWkFPd0FBRUQ3dkF3QUJVUUFBTFROeXdEZ0ZBQUF0TS9MQU5DVUNBQ0F0bmtaQURWVElRR2dkVjRHQUFDZ2ZWNEdRTUFtTUFDMHpzc0FBQUMwejhzQXFLa0RBb0RXZVJrQVloTVlBRnJuWlFBRVUvWUFBS0J0WGdZQUFLQjlYZ1lBNThBQW9IMStCZ0Nid0FEUU9pOERJR0FYR0FCYTUyVUFhRW9BQUVEYnZBd0FudjhBMEQ0L0E2RHJHd0NBSHZBeUFJS0FUV0FBYUp1WEFjQjNBQUJvbjVjQk1DVUFBS0IxZmdZQXozOEFhSjJYQVJCd0ZCZ0FXdWRsQUFBQTJ1ZGxBRXdEMW9BQW9HMStCZ0Nid0FEUU9pOERnRDBBQUdpZmx3RUFBR2lmbHdGQUdTZ0F0TS9QQUdBUEFBQmE1MlVBQkZRQkFVRHJ2QXdBTVJFTUFGcm5hUUFBQU5ybVpRQ3dDUXdBN2ZNMEFPcXVid0VBbmp3dkE0QWRBQUJvbjVjQklDYUNBVURydkF3QXRnQUFvSDErQmdDN3dBRFFPaThESU9BN0FBQzB6c3NBNFBrUEFPM3pNZ0NtMUFFQlFPdjhEQUI2QVFGQTY3d01BTjcvQWFCOVhnWUF2U0FBb0gxZUJnQ1Bmd0JvMzdEckcvaVJhYzluQXUrc2IydG5mYnZyMndEd3hIbjVEWUJ6QUFEUVBpOERnRjFnQUdpZmx3SEFUR0FBYUorZkFkRHpQUUFBY01ITEFPRHhEd0R0OHpJQU9BY0FBTzN6TWdCNC9BTkErL3dNQUhvQkFVRHJ2QXlBZ0YwQUFHaWRsd0hBR2hBQXRNL0xBT0FjQUFDMHo4OEFvQW9JQUZyblpRQUVBWHNBQU5BMkx3TUFBTkErTHdPQVBRQUFhSitmQWNBZUFBQzB6c3NBQUFDMHo4c0FDT2dHQ2dDdDh6SUE2cTV2QUFCNndNc0FFTDJBQUtCMWZnWkFUUUFBUU51OERBRE9nUUZBKzd3TWdKcHVvQURRT2k4RGdJbGdBTkErUHdPQUx3QUEwRG92QXlDZ0ZRUUF0TTdMQUFBQXRNL0xBSmh5RWhnQVd1ZG5BTEFFQkFDdDh6SUFPQWdNQU8zek1nQ1lDZzhBN2ZNeUFLWWNCUWFBMXZrWkFMUURCWURXZVJrQUFac0FBTkE2THdNQUFOQStMd09BbWNBQTBENC9BNEJOWUFCb25aY0JFREFVRWdCYTUyVUFxT1liQUFDMHpjc0FtRklGQkFDdDh6TUF1cjRCQU9nQkx3TkFkQU1GZ05aNUdRQkJ3Q1l3QUxUTnl3Q1lzZ2tNQUszek13RFlCUUNBMW5rWkFBeUZCNEQyZVJrQUFRa0FBSzN6TWdEb0JRUUE3Zk15QVBnQ0FBRHQ4eklBMkFRR2dQWjVHUUFCWmFBQTBEb3ZBNkRtSUJnQXRNN0xBS0FLQ0FEYTUyVUFVQVFFQU8zek1nQVlDZzhBN2ZNeUFHcTZnUUpBNjd3TWdHREtKakFBdE0zTEFHQW9QQUMwejhzQTRQRVBBTzN6TWdCcTlvQUJvSFZlQmdCVlFBRFFQaThEZ0c2Z0FOQStMd01nb0F3VUFGcm5aUURVTEFFQlFPdThEQUI2QVFGQSs3d01BUFlBQUtCOVhnWUFWVUFBMEQ0dkE2RGkrUStncDJxSEt5QitCa0JkZFgwTEFOQ0pTZTJ1RjVxWEFWQVdSZGUzQUFDZEtFcDN6ejh2QXlBdGM5VVYzd0lBOUUrYVo4NnU1V1VBU05MWGZOejFMUUNBVStXa1ZGb1FBUHB5ZDlQMUxRQ0FVOWRqdDg4OWJ3UGc0dWFMS3BhQkFQVEkyZldWMCt0NUd3QlRUWFY2ZmQ3MWJRQ0FFOWQzdDA2WGZ5U1BBMENTVHIrY0t5L3lybThEQUZwVlRTdTlPLy9nL0xwZUI4QjBPdFhyc3hOTm1SQUQ0QW43Y0hHcVlsSTZ2NjdYQVNCSmQxbXFkeGZ1a3hFQVhMaTR1ZFRaOVdVbjEvWStBQ1RwL09aS0p4Y2Z1NzROQUZpb3k5c3ZlblBXM1F0dUlHbHAxbGUyVnAvcDFjNmh3c0ZTNUJZQS9GQmQxenI5Y3FHUFY2ZWQzc2RTQllBazJhSFJxOTNuV2gydGRuMHJBUERic2pMVHU3TVB1azI3UCt5NmRBRndiMzIwcHYzTkhhM1psYTV2QlFCK0tjMHpuZDJjNitMbVdsTlBIcnRMR3dEMzRtR2tqWlYxcmRvVjJjZ29pZ1lLRkNvTVdTWUM0RjVkMTZxbjBxUXFWVXp0NE5ZRUFBQUEra2xFUVZRS2ZVM0h1aDUvVlZxa1hkL2FQeXg5QUFBQUhvZlhaQURvS1FJQUFIcUtBQUNBbmlJQUFLQ25DQUFBNkNrQ0FBQjZpZ0FBZ0o0aUFBQ2dwd2dBQU9ncEFnQUFlb29BQUlDZUlnQUFvS2NJQUFEb0tRSUFBSHFLQUFDQW5pSUFBS0NuQ0FBQTZDa0NBQUI2aWdBQWdKNGlBQUNncHdnQUFPZ3BBZ0FBZW9vQUFJQ2VJZ0FBb0tjSUFBRG9LUUlBQUhxS0FBQ0FuaUlBQUtDbkNBQUE2Q2tDQUFCNmlnQUFnSjRpQUFDZ3B3Z0FBT2dwQWdBQWVvb0FBSUNlSWdBQW9LY0lBQURvS1FJQUFIcUtBQUNBbmlJQUFLQ25DQUFBNkNrQ0FBQjZpZ0FBZ0o0aUFBQ2dwd2dBQU9ncEFnQUFlb29BQUlDZSt2L3hvOG42S2xCbnFBQUFBQUJKUlU1RXJrSmdnZz09XCJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMCwxKVwiXG4gICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNTRcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzkyLjUyLDQ5NC44MiAtMS41NSw0Ljg0IC0yLjg1LC0wLjkxIGMgLTEuODUsLTAuNTkgLTIuOTcsLTEuMDQgLTMuMzgsLTEuMzQgLTAuNDEsLTAuMzEgLTAuNjksLTAuNjkgLTAuODMsLTEuMTUgLTAuMTMsLTAuNDcgLTAuMTEsLTAuOTkgMC4wNywtMS41NiAwLjIxLC0wLjY0IDAuNTQsLTEuMSAxLjAxLC0xLjM5IDAuNDcsLTAuMjggMS4wMywtMC4zOCAxLjY5LC0wLjI4IDAuMzMsMC4wNSAxLjI3LDAuMzMgMi44MywwLjgzIHogbSA0Ljg4LC0xLjk5IC04LjExLC0yLjU5IGMgLTIuMDMsLTAuNjYgLTMuNTcsLTAuOTYgLTQuNiwtMC45MSAtMS4wMywwLjA1IC0xLjk3LDAuNDIgLTIuOCwxLjEyIC0wLjg0LDAuNyAtMS40MywxLjYxIC0xLjgsMi43NCAtMC40NSwxLjQzIC0wLjQxLDIuNzQgMC4xMywzLjk0IDAuNTUsMS4yIDEuNjIsMi4xOSAzLjIxLDIuOTcgLTAuOTksMC4yMiAtMS44NCwwLjUzIC0yLjU3LDAuOTQgLTAuNzMsMC40MSAtMS43OSwxLjIxIC0zLjE4LDIuNCBsIC0zLjUyLDIuOTcgNC42MSwxLjQ3IDQuMSwtMy4yNiBjIDEuNDcsLTEuMTYgMi40NCwtMS44OCAyLjkzLC0yLjE1IDAuNDksLTAuMjcgMC45NiwtMC40MSAxLjQxLC0wLjQyIDAuNDUsLTAuMDIgMS4xMiwwLjEyIDIuMDEsMC40IGwgMC43OCwwLjI1IC0yLjU1LDcuOTYgMy44NSwxLjIzIHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM1NlwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3NjkuMDYsNDg0LjU3IC0xNC41NCwtMi45NiAtMC42OCwzLjMyIDEwLjU4LDIuMTUgLTAuODgsNC4zNSAtOS44NSwtMi4wMSAtMC42NywzLjMxIDkuODQsMiAtMS4wOCw1LjM0IC0xMC45NiwtMi4yMyAtMC42NywzLjMxIDE0LjkxLDMuMDMgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzU4XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDc0MS41NSw0NzkuNzEgLTEzLjY1LC0xLjM1IC0wLjM0LDMuMzcgOS42NCwwLjk1IC0wLjQ3LDQuNzEgLTguMzEsLTAuODIgLTAuMzQsMy4zNyA4LjMyLDAuODIgLTAuODQsOC40NyA0LjAyLDAuMzkgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzYwXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcxNS4yMSw0NzcuOTMgaCAtNC4wNCBsIC0wLjAxLDE2LjQ4IGggLTEwLjA1IHYgMy4zNyBoIDE0LjA5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2MlwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2ODguODMsNDc4LjQgLTE0Ljc3LDEuNSAwLjM0LDMuMzcgMTAuNzUsLTEuMDkgMC40NSw0LjQxIC0xMCwxLjAyIDAuMzQsMy4zNSAxMCwtMS4wMSAwLjU1LDUuNDIgLTExLjEzLDEuMTMgMC4zNCwzLjM1IDE1LjE1LC0xLjU0IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2NFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2NTIuNSw0ODMuMzkgYyAtMi4zOSwwLjUxIC00LjE4LDEuNjMgLTUuMzgsMy4zNiAtMC43MSwxLjAzIC0xLjEyLDIuMzcgLTEuMjMsNC4wMyBsIDQuMTEsMC4xIGMgMC4wMSwtMS4wNiAwLjMyLC0xLjk2IDAuOTMsLTIuNzEgMC42MSwtMC43NCAxLjQ0LC0xLjIyIDIuNDksLTEuNDUgMS40NSwtMC4zMSAyLjc0LC0wLjA0IDMuODcsMC44MSAxLjEyLDAuODUgMS45MywyLjQ0IDIuNDMsNC43NyAwLjUzLDIuNDggMC40Niw0LjM0IC0wLjIxLDUuNTggLTAuNjcsMS4yNCAtMS43MSwyLjAxIC0zLjEzLDIuMzEgLTEuMDYsMC4yMiAtMi4wMywwLjA4IC0yLjkzLC0wLjQyIC0wLjksLTAuNTEgLTEuNjYsLTEuNDQgLTIuMywtMi44MSBsIC0zLjU3LDIuMDMgYyAxLjA0LDIuMDEgMi4zNSwzLjM5IDMuOTQsNC4xNCAxLjU5LDAuNzUgMy40MywwLjkgNS41MywwLjQ1IDIuNiwtMC41NiA0LjU1LC0xLjkgNS44NSwtNC4wMyAxLjI5LC0yLjEzIDEuNjEsLTQuNzQgMC45NiwtNy44MiAtMC43LC0zLjI2IC0yLjA4LC01LjYxIC00LjE0LC03LjA1IC0yLjA3LC0xLjQ1IC00LjQ3LC0xLjg4IC03LjIyLC0xLjI5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2NlwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2MzMuNzQsNDg4LjM4IC0xNS4xMiw0LjkzIDEuMDUsMy4yMiA1LjYzLC0xLjgzIDUuMTYsMTUuOCAzLjg0LC0xLjI1IC01LjE2LC0xNS44MSA1LjY1LC0xLjg0IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDc0MFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA1NzkuMDYsNzA4LjYgYyAwLDY3LjMgNTguMDgsMTIxLjg2IDEyOS43MiwxMjEuODYgNzEuNjQsMCAxMjkuNzIsLTU0LjU2IDEyOS43MiwtMTIxLjg2IDAsLTY3LjMgLTU4LjA4LC0xMjEuODYgLTEyOS43MiwtMTIxLjg2IC03MS42NCwwIC0xMjkuNzIsNTQuNTYgLTEyOS43MiwxMjEuODYgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNzQyXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMi4wNCxcbiAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA6IFwiYnV0dFwiLFxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ6IDEwLFxuICAgICAgICAgICAgc3Ryb2tlRGFzaGFycmF5OiBcIm5vbmVcIixcbiAgICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA1NzkuMDYsNzA4LjYgYyAwLDY3LjMgNTguMDgsMTIxLjg2IDEyOS43MiwxMjEuODYgNzEuNjQsMCAxMjkuNzIsLTU0LjU2IDEyOS43MiwtMTIxLjg2IDAsLTY3LjMgLTU4LjA4LC0xMjEuODYgLTEyOS43MiwtMTIxLjg2IC03MS42NCwwIC0xMjkuNzIsNTQuNTYgLTEyOS43MiwxMjEuODYgelwiXG4gICAgICAgIC8+XG4gICAgey8qICAgICA8ZyBpZD1cImc3NDRcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg3NTApXCIgaWQ9XCJnNzQ2XCI+XG4gICAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJtYXRyaXgoMjQ4LjY0LDAsMCwyMTQuNTYsNTkyLjU2LDYwOC4wNClcIiBpZD1cImc3NTJcIj5cbiAgICAgICAgICAgICAgPGltYWdlXG4gICAgICAgICAgICAgICAgaWQ9XCJpbWFnZTc1OFwiXG4gICAgICAgICAgICAgICAgbWFzaz1cInVybCgjbWFzazc1NClcIlxuICAgICAgICAgICAgICAgIHhsaW5rSHJlZj1cImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBcklBQUFKVUNBWUFBQURwWk1VZkFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUlBQkpSRUZVZUp6czNWbVFMTmQ5NS9mdk9TY3phK251MjNjSEx2YU5KQWdRSUVBU0FFbUF3bkNUcUNFbGNiUk5hS3daZXlMc043LzR5UzkrY0lRZnh2UGdDTWM0WWh5eXJCZzVwTkRZMGdSRkN1SUdpaUN4N3lBSUVMekVSdXpBQmU3ZTNiWGtjczdmRDVsWmxWVmQzWDBYQVBmV3ZmOFBJcEhkbGJWa1ZkZXQrdFcvVHY2UEFRU2xsRkpLS2FYbWpEM1RPNkNVVWtvcHBkU3AwQ0NybEZKS0thWG1rZ1pacFpSU1NpazFselRJS3FXVVVrcXB1YVJCVmltbGxGSkt6U1VOc2tvcHBaUlNhaTVwa0ZWS0thV1VVbk5KZzZ4U1NpbWxsSnBMR21TVlVrb3BwZFJjMGlDcmxGSktLYVhta2daWnBaUlNTaWsxbHpUSUtxV1VVa3FwdWFSQlZpbWxsRkpLelNVTnNrb3BwWlJTYWk1cGtGVktLYVdVVW5OSmc2eFNTaW1sbEpwTEdtU1ZVa29wcGRSYzBpQ3JsRkpLS2FYbWtnWlpwWlJTU2lrMWx6VElLcVdVVWtxcHVhUkJWaW1sbEZKS3pTVU5za29wcFpSU2FpNXBrRlZLS2FXVVVuTkpnNnhTU2ltbGxKcExHbVNWVWtvcHBkUmMwaUNybEZKS0thWG1rZ1pacFpSU1NpazFselRJS3FXVVVrcXB1YVJCVmltbGxGSkt6U1VOc2tvcHBaUlNhaTVwa0ZWS0thV1VVbk5KZzZ4U1NpbWxsSnBMR21TVlVrb3BwZFJjMGlDcmxGSktLYVhta2daWnBaUlNTaWsxbHpUSUtxV1VVa3FwdWFSQlZpbWxsRkpLelNVTnNrb3BwWlJTYWk1cGtGVktLYVdVVW5OSmc2eFNTaW1sbEpwTEdtU1ZVa29wcGRSYzBpQ3JsRkpLS2FYbWtnWlpwWlJTU2lrMWx6VElLcVdVVWtxcHVhUkJWaW1sbEZKS3pTVU5za29wcFpSU2FpNUZaM29IbERvZFp0UFBZbUhHYWJZNlhkZnZ4MXBPNi9KakJwQVBmVDNyK2FHVVVtcWVhSkJWYzh0Z2lVMkNGNkVPcldWQUVRQzY3Uzc5WVgvcVVsYlg3K002blBiMW1ORnZweGFIWmRQdEVaWmd3R0VJQnF6UVdBZTg1R0JBQXVPVU80TnpycnkvSVNBaUdPTnd6aEZDSUlUSlFHeU13Umd6T3YvR05FZ3JwZFRwMnVTbFc2bXpXeGxrWTBTa0NoVUZRUUpscFZCdzFqRU9DenFLNW9QZ1JSQURScGk1dHBnTnQ1Y3NZS2NDNW9tdUF5YklwdWREd2laQk4yQXNTTFV2TXVPVjBMazZrSUpNbk1GaWpCa0YzSW5IeE9kVDUzMC9iQlRWbFZMcS9LWkJWczAxVTYvTjVCUFptTm5CUkwxL3hHeDluczJ2WVB6alJrSDRoTmZNSGtKZ3plelRrZkc2eVZxTHRYWlVWUzJLWXJTdFdWMjExdUtjSTgvejBlL0dHRVJrZGhWMm84ZHFJdEJ2WnFNZ3EyRldLWFYrMHlDcjVscmNzaFErSUFHaUdJb0NySVZ1TjJGdE5jT3VMNWlwOTVISTZRWGFyZUxiaVg0WTJiZ2l2UDcwd0xnaUhFY2RKRmhFWkJSQ1JjSm9lRW9wWUl6QjJ2SDVKaXV1NjhPa2k4QTVTNVp0RW1xbFdqWjlGTFo2aERUTUtxWE9ieHBrMWZ3eWdJdkx0Qk5DV1lZRkVNRWxDVDRiY3FZUGhqcW4xK1owcjRjVENIS2JhUVM0VXpuaUN3dkVRUFBUVHZseWFMRVlJM2p4azdjekZScWRyUjhIRVBHamtHdHMrWFNjS001T0IvNU5nK3hHajBuelN1cXg0UnBrbFZMbkx3MnlhbzVGUUp1b3U0MmkzNGNvd2tVdC9IQlFsc1I4Z1paa1AyQWlHMzl0WG0vZjFCWWhWallMYVhVcTNlVGE0M2hVUFJXUnlRR3hBcEZOeW1xdENQVi81UmpyOG5aajU4aDlqakFPdE00NG9pakNXc01nN1kxT3Q2WThLRXdrNEVPT2lDOXZhM29YVDdvaXU3N0x3NWdHV2FYVStVMkRySnBqSGE2NzRjdDg4NXYvQ3U4Rjd6M3RkcGVWbFJVNjdRV0tvaUNLcGhwem1LazNmZEdEd0U2Vm1Pa0RvR2FjWjZzZ0cwN3Y4dFdoV0J0dXovTjhJc2cyRjB1ZzN6dU96ektHd3lHOS9pcTlYbzllYjVYQm9FZFJGTHo5emx2a2VVNmVweFFocXdKdWZYdUJkaHlUNVVOQ2RickY0cHdsaEtMc2lFQmdYZVYwdXFpNnFSTUpza29wZGY3UzlsdHFqam1Lb3N0SFB2WlpGcnBMcks3MldGeGNvdDhiMHVsMFNOTjg2cWp5T2toVTY0a1FleFo4VlQrSGF4R0RtSUFSTzNOTjJIaDdlWG5adEI2NWVmc3FxaUM4OFhtc0xhOTlPc1NLQ0FiQmhBR1dvbXFYRmFxMVlPejRlcjNQU2JNQmcwR2YxZFZWRGg4NXlNR0RCMWxkUGM3cnIvMmFJMGNPY2ZEZ1FYclphbmtKRCtWTGE4UTR3RGJDN0tqS3ZORyt6eHJLb0lGVkthVm0wU0NyNWxoRUNBbHh0SU0wTlNUSkR2TE00VnlMRUJJTUhnbFQzK3NhbWZxNnVoNnJlVHFIekovZmEwRXdZZ2dTc0dMd2xPdGdCSWZkY0R0R1JnZGZiV1NyUHF6TkVEd3hoR0IwK1UyMlMwRkVncVdvdWhpRWNpMGU4YUg2d0NNWVdyU1RMcTE0Tzl1M3dTVVhmYVI2TGdXTUJJd1ZpcUpnYlcyRmQ5ODl3R3V2djhMcnI3L0trU09IZVBHbFgrRkRqcGVjUU1Ga2VDMkFuQ3I1VHJEVzBtcTF5TEpoRmJ6RHFKSTdVYVRlb0tKYkRuMndaRm0yeWVPbmxGTHpUNE9zbW12QlFEQzJlbk8zR0dNSkdBS09nTUdzRzZBWW1EenFwNHBDb3o1ZXVqNlZkZG16MVV5dWdWQlBETERCZGd1WVRhUHNabU5nM1dRUHJjMGF3czdjSG9FNHlnTytHSC9BRVYrR1dHa09CNUR5OUhvN2dBbmtXZGtaSTRvVzJMVmpPN3QyWE1LMUg3c1o3M05DS0dpMVk5NTc3d0F2di93U0wvLzZSZDU4ODNVT0hIaWJROGNPRVVpQkZNaXJjYmZsYzlHSG5NSm5EQVlaRTZPL0JJd0Y1eHJITlliR2N4Z3d4aEJDbUdnYnBwUlM1eklOc21xT0JUQTVZZ2RsQ3lpSmdCaXhnaGlEMkRCK3h4K2R2L2xWYnhVQ2RKenNLWnVNbVRLMVp1cnhuOTRlcHMrOWpreVBhWjY0N2VsdE0yNS9zKzBDUWt5UXFQclZWMnRiblNXTSszUkpHQjI4VlZkMHJRUTY3UVZFeXRtOUN1K3JqZ1dDTlMyY2cvNWFuMjU3RHpkK1lqZWYvdFFkR0dQbzk5YzRkT2dReDQ2L3h5T1AvWlMzMzNtVjE5NTRqVFF2SzdhT05vbnI0RU5HcXhWVCtJd3NId0FCQ1FFL2NiZUZ1cUpiVDlCZ3pHYmhYeW1semkwYVpOVWNDMkF5c0NrRXkrZ3djR1BCNUdVSW1RNnlTQ1BNVW9aZnMvNnJYWFVxVGpiSXdwWmpQemNKc3VzdmY1SkJsbWp5cktNUE5QV0p0akVNeFRTMmg2cXFMT1NaeDVoeUxLeUlROFJUNUw2Y3VsWUtkdTNhVng0bzVzdXYrSzJGeFc2WDVNSmxkdS9heDdVZit3VEdlbFpYVjNqK2hmMDg4Y1JqdlBEaWZsWUhSekU0K3NPOHZHM2FnTWNnV0FzK0ZOUmplcHNCdTFtSmRjN2h2VDYzbFZMbk5nMnlhbzdWMWFnQ1REMGRiWG5RRHFZKzBLWVJUa1lCTmt3RkpLM0luaktaOVV2enhDMHFzbHNGMWMyMkM5VTQxYzF1ZitQOU0xQis2Qm05REk2cnIrdlp4bmFoRHJsRkxqaG5jUzdHdVhKV01FeW9KbGJ3SERtOHl2Z2dzbkoveTFuQkZsanNMdEh1UkJ3N2RoaEh6QzJmK2lwZitlSTNXVjA3eGkvM1A4UHpML3lDeHg5L21HSGFvejlZSWZkRHlxcHNnU0ZDeUhIV0VFUm16a1NtbEZMbkF3Mnk2aHhTanJnY0R4ZW9BZ2RRVnRIc09GZEo0ekk2dE9COWNySkI5blJOdDZVNjJZcHMvWE94eWZicHkwOTJ1bWgzRnNxdiszMU9ubWVqZzlQcTNCcThwZDFwMDJrdllCMFVSVUdXWlhqdjhZV3d1dEtuMWRyTzltMTdDQ0hqOE1FK1FTSStlczNOZk9LNlQvTkhmL0NudlBqU2ZoNTcvRUdlZWZabkhEajRKZ0ZIYkJ4SlcrZ05qbEJYcGVNNEpvcWlVWmpkc3VPRFVrcWRBelRJcWpsbUtBLzRpU0c0OG1lUzhvaDZpY3RoQTFLMTM2cU9RRWZDK3FFRjZyVFlVYUZ5ZmRlQTVuak5tZHUzYU9odnRncGpwM093VjFYUmxXcUdzc21KRTlaL3VCbFBsbEN1alpRSFpoR3FkbDdWR0ZYbkhOYVcxZGwyVzhqempHUEhqcE5sS1NFRWtpU2gwK21VSWRpbjRCMGVNS1pGN0ZvSUdTSXBlZXJ4WWNoVlYxelBkUisva1NBWmI3L3pCazgrK1NnUFBIZy9ieHg0Z1U1N2djSHdHRkQyekcyMm15dUhIYnhmSHhxVVV1cnNwTy9pYXI2SnBheVN1U3FVdXVvMFY0WFc2UXZZOFhGZW84dXFVMlVuY3RJcFZHU2Jmd3NUVG5odHBlNW5TelVVd0ZiZEJCcnI2YjYzamUybXVwNUEzY2UyUGdDdzdtSXhGYUNyWUd1cUdHdVFjdGlzQ0xZS3NDQ0VJQlJGanZlQkVEenRkZ2VBSkVsb3QxdFlXODc4VlJTZWxaVVY0cWlMTHd4NVZpQjRqQW00eUJGRlhheng1TGtsN2ZmcHIvVnhrYkI5OFNLK2RPYzMrTnl0WDJTWUh1ZS8vUDFmOHVaYnYrYkFlKytVZStiQlVJNmZKWURCVGs3aU1QM3ZvZXIyc2JueFk5SHM5eUdOaGdwS0tYV21hSkJWODIyaUM0RnRMTlUyQTVQZENtcU5JUWZxbE0ycStEV1A3d3BoczRPTlFobUdUTjI5d0FPQzFFRlR5cG15eG0yeHh1dXloVzA1Rm5YVUc5Z0lKc2prNzlLY2pHQzh0cFFoVnNUZ3EzUW5BbGJNVkovV3lRNEw5ZkdEVnNxV1lpS0Nwd3pJVWdkbEswU203SkVWUXRuS3kyQUp2aUI0UHpwZjVBQVo0bHpaVXF1ZUZsZkU0L05RUGFNZGlWMEExeTJydmtVNWljUml2STNGZUMvL3czLzN2M0Q0eURzODgrelBlZWloQi9qVkc4L2hLTXJ4czNpRWdtQnlNRms5SzI4WndLc1E2cXpCKzNwSURyU1NUam5zd1JlTngyeDgveTNsL2JZeXVWVXBwYzRVRGJKcXptMFFSSnRIbUp1cUVYMWQwV3VXcGJZOEtsNXRicXNvYzRJSGM1a3crcXAvMVBxSzlXc2o0OStOTUc2UHRkRjZxZ3BzUmFwc0txTXdPbkZBNEFhYWxlZjZaeXZncS8yM01yVy9abW85ZFQvcTg0dHRCSDBaNzJ1OVI2Yisxa0RLN1ZhYUh4NENxMGZYMkxOOE5iLzV4V3U0OVZOMzhzcnJML0xjTDUvbXNTY2Y0cjJWTjBoTVRDcmw4ejVPeXJDY1YwT0NkKzVzMFZzTk9CdVhsV1Jma0dZRHdHS0FKRXJJaXBUbUl6VDlXQ2lsMUptbVFWWXBwZWFVTlRGcENyYnd0SklsUG5yTkRWeDZ5ZVY4OHNhYmVQdTlOL2pMLy94bkxDUzd5WXNlV2RZamtKTWtGdThMamg1S3k2cXY5Y1J4REtadTMyVVJJQzN5NmlOZnFPWlFteDV1OFNIZldhV1Vta0dEckZKS3pTVkxLMW5BZTg5d21DSVNTRG94eTlzdVpIRnhtVXN1dVlKUDNYd3IzLy9CZDdqdndYdVFOS2JkaVZnYnJPRXBjRVlvWkloSUlNdFNSQ0NLd1RsRGx2b1p4OHcxeDVUWEEyUTNQMWhQS2FVK2FCcGtsVkpxTGxrTUNVbHNTWkl1VUJEd1pNT01ZUm9ZcG9KTll2N3RmLzNmOC92LzRrKzQ2N3ZmNFVmLzlIMEVpREVZVTJBamd6QWt6ejBZS0Fvb0NvOXpFRUkxMm1FMDFLTTZtSElVYUFPUW8wRldLWFVtYVpCVlNxazVKV0xJY3lHRWdxTElFT3VKSXN0Q2R6dkwyM2FRaFNHdnYzWVFLUGo2MS82STJ6LzdSUjU2NUVFZXVQOStEdmJlSUFTRFZMMlhyWUZRamQzMUhsb3RTRlBHeFZjQzR5RHJadStRVWtwOXlEVElLcVhVbkNxbm9DMTcxclphTGJ4NGdoUU0ram1ZZ2loeTdGeTZnTUlQeVljWmUzWmN4dTkrL1ZLdXUrWlRQUG56aDNqODJYczR0dklPZVJnU0dRTlJRWllOUjlYWnlYWmRvZW9jVVl4L1YwcXBNMHlEckZKS3pTbGpCTzhMUkh3NUVZT3pHQnpHbE4wWjhxd2M2K3BjbTloRkRQc0ZJUVF1dWZoS0xydnNNajc2OGF1NS8rRWY4N05uSHlYM09kWWJyQkdDcEdVYnRicHA3T2pudk9yWFBOMk5RU21semd3TnNrcXBFekpyWmk3YktObk4ycjZWazVsR1ZhcEdxQlBYYnpmZlByMS9NclY5c21Ycyt1MW1hbnR6UFgzN0crNXpkVVBOeTQ4bkdaTjE1eFdSY2RPd01QbFlUajYwQVU4QVYrNW5vTUQ0OG5SRE9iT1hxUWE3K3VETHlSdHdHR09yU2U0TUg3bnlacTY1K2pwdS9jVVgrTWZ2ZjR1M0R2MGFKR0xid2pMOTRjcW96MjBjTzRaRFh6MGdCYVp1NzZ1ZEM1UlNaNWdHV2FXVW1sdkY1Sy9yWnJLRDhZRlo0NDFHZ0JBVG13aWt6YWR2dklQTEwvc0lEejcwVC96NHA5K24xenNHSkd4YjZMTGFPOExRZTR5QkpJR3NxRUtzenV5bGxEb0xhSkJWU3FtNUZOWlA2REVWTEUyemhOdVlHOEtLSlFEdGVJSCtzRWVlWlZ5NDQzSisvK3YvRmRkOTdIcnUvdEZkUFBQeWsvUjdLWllPUVZLUVFKWldzNEtOYm1EOWJTcWwxSWRKZzZ4U1NzMjFqWkxrK3ZLc0ZUc2F3bURGY3VUZ0VYYnMySUhRWXVYWU1ib0xDVGQ5NHZNc0xXem5vc2N1NC80SDdtWWdLNVJWM1pRZ3hlaGFYUXhGL2tIY0g2V1VPbkVhWkpWU2FxN05IRTlBR1Q3cjBGcU92VFZpR3dOdExkc1hGekMrd0RqTFVudVJQRTA1TmxqamdsMVg4TWUvZndWWFhIb1Y5ei84SS9hLzhqUUJ3MExMa21ZckJLbUdCMnMxVmlsMWhtbVFWVXFwdVdSQk5qbmFUTVpCdGxRSDNuRzRYZDYyeU9IRGh4a09oeXh1VzJMYndqYjZ3NFEwN1RQMGdkcytjeWU3ZHUxaDkwTjdlT3pKK3hpazVkaFpaM044SmpxeVFDbDF4bW1RVlVxcE9SVk1HV1J0WS93clZKRlY3R2lNckJFYWcxdWxPbi9nd0R0djBPMTI2TzVZSWk4Q2E4ZDdZQTNPdENteWxBeTQ5cHFiV0Y1ZXBydXd3Qk5QM2N1eHRZT0VNQUF5dFAyV1V1cE0yNko1akZKS3pXWUV3a2JmYW4rSSszQ2k3SXp6V3BsY1lOdzIxY3k0bkpIeDByejhxYktOZFhPcGIydDZQNW5hdHY3MnEwdlByTlN1RDUzYmQrN0FXa3VhWjNqdmlhS0lLSXBvUlRIZDlnS1dpRVB2SG1WN2R5Ly84dmYvRy83NFgveGJkblF2QlpaWVRpN0V6cXFGbUJuTEJwdVZVdXAwYVVWV3FmUFlWa0Z3b21mcXVQbHB1UUpFL1BwNFpOWi9RalpUZlZRYlo1MnBEbWZpMTRldjVoZmtkZS9ZMFg1Sll6K25yMzlxLzZuMmY2UGJudDdYNmVzM01ua0UvOFQ5VzljOVlLTDUxZWpuNE12ZXJETGo4VEVDMXBqeGJVMXRGOEEwdWhhVXR5dUllSVQxbGRyeWNtVS8yZnBlOTdPeWo1WTFEcXdoNE1lOWEzM0FHR0VoV1NRTUMzd3czSExkbDlpM2ZCVjMzLzBESG5uaEp4aGlsaFlUVnRmNkFIUVcyZ3lHUXdoZzQ1aVExMGVEMmVxZWx6L1ZReElDUVljbUtLVk9pMVprbFZJZnV0T3RaTUxKVmZTMk91OVdWZGxtRmJZK2YzMzY2WnBWZVcxZWYzUDd4RDdOdkxibWpGdU54Y3hlQkl0Z0NkaUpTOVQvRnhFa2dIaUR6eHhXMmx5NCt5cnV1UFczK0ozYi80ZzJYZnByUXd5V0pHa3o2SmNodHJ1MFJBaStzYk1iZnlCUlNxblRvUlZacFpSU00xbHJzZGJpZ2FJb1NGTklrb1Nycjc2YVBSZDNHY1lIK1BFRC84aXdHT0o4Qk9JQlQ3OC9CQjhtcDdkdDFPNUZheWhLcWZlSnZwb29wWlNhS1lTQU1RYm5ITlphaXFJZ3l6SkVoRmF5d0plLzhOdjg4VGYvTlRzNmU4bTlZU0hlUnJ1MUFNV01VcldwaHhPTUZ4MVdvSlE2WFJwa2xWSkt6VlFVQlVWUklDSTQ1NGpqR0d0dEdXNU5UT0syY2VkbmY0dXYvK1lmMG1HWlBQZkV0SWxNVkkwbm5ycENNejVaUTZ4UzZ2MmdRVllwcGRSTWNSeGpqQ0dFUUFpaEhETmJMV0N4dnNOd0xlTDJXNy9Ndi9tVC81YnRyYjJrYVk0VlJ5dnVqaFByOU9EZUdXTm1sVkxxVkdpUVZVb3BOWk56RGxOMVRoQ1IwZENDb2lqQU96ckpNcjJqR1IyM3pHOTg5aXQ4NHplL3lmYldic0RnZ3NGUjk3Q3RybkFpMEFZOTRrc3BkZHIwWUMrbGxGSXpaVmtHZ0xNVzV4d2laV1hXWW5BdW9yZVNzbWZIcGZTT0hZWFZqQzk4L3Nzc2JldnluZS8rSFc4ZmV4VkRqQ1hITjROc3ZkYXhCVXFwOTRFR1dhWE9ZeE45VWo4QUlaUmZJWjlJbTZwWmZWak5SdHZyMHhwWFhGOXVZdnNXbDkvbzlrZDV5N3gvSmNPSjY1OE9kaHVvSDcrdHJuUDA4L1Q5bjlFVGQvTHhxWHZyVG02dlQyOVdZOHQ5S1ljVkJCR0M5M1NTQmZDV2JyTE1zRmdsN3czNDJKWFg4OVU3ZS96d0ozZHhZT1VOeWs2MVFxZVQwQitVL1dhSkk4aUx6ZSs4VWtxZEFCMWFvSlJTNnBTRUlsQmtCYjR3R085d3BzMzJwYjNjZU4ybitmcFhmNCtFUlhZdVhJQWpadERQYWJVV3dWcklDMXlTbk9uZFYwcWRBelRJS3FXVU9pWEdWRlhqSUJnVDRWTW9Vc3VPYlJkdzQzVzM4T1hQLzNPNnlVNHNMU3dKNlRBdjV6VTJCcDluWjNyM2xWTG5BQjFhb0pSUzZ1U1pBTllqaGNlWW1NUzE2QTh6K2lzNU5oR1FEdC80N1QrazN4OXkvUGdxZWVneG9FY1FJV25IcE1PaGpwTlZTcDAyRGJKS0thVk9nV0NzcDVBVWl4QkhYZHJKQWxtUjRnU01pVmhNRXI3MjFXOVNTT0Robjk5TFRBdFBJQjJrR0tNNVZpbDErblJvZ1ZKS3FWT1N0Qnd1Q29SUTRFTk84T0JJY0xaTFJJZkQ3NjF5NGU1THVmUDJyM0R0NWRjVENBZ1FXY2NIZkp5aFV1bzhvVUZXS2FYVUtRaUk5ZUFDMXBVOVp2TTh4M3NJQlJTNXhkTGgrSkVlbDE5eURiLzE1YTl4Nlo3TEFlZ2tMVzBocTVSNlgyaVFWV3FlaWQxa2lUWlk3SGpONlMxV29wbExmVnNtbE11NmZhQmNyRVNqNnhsZm42MjJ6MWhQN2I4SkRzUmdxbVhjY1g5cWtRMFd3SjVDWlRCTXBiQzZuWmFSOGM5V3hrdHoyNG0wSXB0bFZ2QnJYdGYwOVo3SS9acmVuL292dS9WZWxPdCt2MS8ybGJXV0tMTFl5T0dpaUNpS3NOYlM3UzRTdVRiWklPZnFLejdHNy96V045bWU3Q1liZW5ZczdNUmdUMkZTaE9aelVDbDF2dE14c2tyTks3RVlxZC9NNnpSZ0o3YlBaRUs1elFSTThPT3piOUZuMVZTMzBjd2RwbkVic3k1dnhXMTZGMElJWUF3aXR1eFpLcllNTjFnZ0lHS0FBRmhFREZLdHdXSWtZR3daeEt6TXZ2Mnd5ZmZYaGdLOFJ5aW1Ub2Y2Y1d6MmNTMzd0TnJSVitLR1VPMXpLQzlUOTUrdHp6RFYwOVdFK3ZUR2FjMCt0WFgvM09iMjVuNkZ5ZnRYaHVsR3o5MFoxeis2YlBONko3YVAvLzZ6YnIvZWc0bUxRL2szTU9VSENtY2ppZ0JGeU1GRkJEeTU5NGdOREFZcGkwdHRqcS8xaUlManhvOStocTk4N2dEZnUvY3VCcjBCRU5QcXhxVDlOVnhrOFVYNWVDOHNKUFI2amE0R28xMnFueHZOR1JWMHVsdWx6bWNhWkpXYVZ5WlFoenlnQ3E1MU1ESFY5dWt3R3hxWHBVbzQ5Zm44MURwc3NTNnZ6NDRDamt5czY5M1k5QzRRcW9Ua3E4cGd2Zi8xT2pSK2w4bTFBU3ZTbU9xMHZ0MkphUkEydm5HcEg3K1RZTXBKQVJDTEdIQ055emNmNldaVnRya25FOU8xd2dsWEk2MnN2eWRXeHBYaDZlMG5XdVEwSi9oUVRaajRnRlEvSDVxM0dDWXExbGxXa0VRSnZoZ1NyT05UTjN5T1k0Zld1UCs1ZTdBVTVIa0dsQ0UyYVRteXpOUHJaU1FKWkp0MjZOTEJDVW9wRGJKS3piRnFqT0lvVEoxQU5iYkpCQ1NNZzZ5SW4xaHZGV1N0VUJYRzZpQzljVVZ3by8wdncrUW1KcWVtbWpxdERKWGpPSE9TUWJZdTZzMDhTNzFmczY1THFndzFIZURVV1BrOFNaS0VmbitWN2tLQ2RVS1c5Ym5zc2l2NC9PZSt3UDVmUDhlYmcxVkNOdjVnWk1SaThBaVFKQzJ5TE4za052Um9NYVdVQmxtbDVwZ0F4Ymk2T3VFRXh3K2Via1cyRHJPalg1cnJFN245cmFZcDNTQklUdHoyZE9nODBZcXNyY2JWam9jeWpOZGIwYSt6dDJaSmtwalZ0ZU5JTUNTdERvUEJnTFhWbEF2Mlhzdy8vKzNmNVMrKzlSL3hlTFl0TGJLeWVwUTA5U1JKUkpZWERBYU5FRnQvNkRDaCtwTnVQbVJGS1hYKzBOSHlTczJ0S29UTk90QnJTM1o4MlZOZWw4SXBMcU43SWFlMmpHeDZ3TnNtQzQwUU8zMy8xaTFxSTViSkE5dWFTNUVXTExTV3dCdDhKclJjbTdUbm9YQjgrcE8zY3R0Tm44Y1FrL1lMMnZFaUJvdDRXMzZjbVA2TW84VnZwZFFNV3BGVmFtNVprTGp4Kytpb244MHZOaEYwNndOOERPQ20xckxwT2hqQjFWV3k1dTJmYUVWVzZuM1piSDgzcnNoYW9heW8xZ2V2NFNmWEpwVDcyemk0cmJtMmdEUVBscXZEYmZQeHFjZmdsdWZlWkovT1Q2UGhKWFY1ZlBTM0tCL0Rmci9IOHZJeS9jRUtnOVVCeTh2YlNKS013YUJISkJHLy9adS93OHV2dnNoN3g5NGhDZ2FMby9BZVp4MWUvTVkzZko0LzdrcXBNUTJ5U3MwcnNVQThEbDUxb0p3WW96cGovR3l6dEZVZjZZNkZlbXpzYUIyMlh0ZEh1amR2OXlUR3lKb1FObTBUMVR6cWYyWlhCV093WWVNeHZzMnVCN1BYWVlQVG16dXgyUmhnMmZxRHczbk0yb2lpS0pEZ2NMWUZPSnh0WTQwbkhRNjRlTTlsM1BuNUwvRzk3LzBEQStuUk1ndWswaU9FZ0xOUWJCcG1sVkpLdnpOVGFyNVYxUzlUZlYxZWZ1VnVxblVZZC8yc2k3VlY3OVR4MS9QbDVXMzE4OG1zVDZYLzZ2cDlQM1VHUnZ0VE90VTFqTVByUnNGLzFuSisyN3dmYnQxR2E0RmViMEFJZ1lXRkpmTE1zN3JhdzVpSWRyeklzWU5yM0g3TG5Wei9rVTlpaURIaU1FVGpGbWl6YnNOTS82MlVVdWN6cmNncU5jZjZ2UlYyNzk2Rnp3dUdlVW9vY25BUVdVTVVPNG8wUTB6QWlLM2FQOVhyS29pTnFweFF0elMxcGdxSnB0d3cyUUovTXNMNTROZDlHajZaaUdlTkwxdHdiVUFhWFEzcS9XdTJYaTM3dWxiM29kSCtxejdOV2x0ZGp6QzdQKzc0eW93eFdGdGVuL2VlRU1xajdvdWlLS3VLSWxnYllVeDlub0pPcDBXYURmRGVZNHdaWGRZWlM2dlZ3dnQ4L1MwMjdvQVAwOVhmNmZzLy92dk1xa2lQN3ZNRzI4ZlhzOEhsdythZlJqYXZpSmZQamZKRGxLbE9sL0p2Vm4yUXluMmduYlFBeU5PeWwxYnNFaEFvaGpsT0V2eGd5Si84NFoveTlMOTdtb0tVQmJmSW1qOVdWZGFWVW1wekdtU1ZtbE9HZ2lzdTM4VzdCdzdnbkNHSndNUkNuQmdHZ3o2K0NMallqbzd2ZGxVRjFJME9jcXFiNkcvODFidll6YithRnlsTHUwWU1NbU1kaWpEemRGT050VFZWdjlpNkorcjAyaG1aZWZxb2Q2MlltUUc3TmdwZm9Sd0dNVEZCZ2JHSWxNSFVHSU14aGhETStENVpRNi9mSjRvUzRpVEM0QWdoSUJKd3p0RnFkVWlIQTR3MXROdHQ0ampHZTg5Z01NRG5CV21hRXBseitFdXYwZmptNlRBY0dtM1pObWdOWndKR0REYkU3TnkxblRmZmZwV3YzLzROdnZ2Z2QwaDlEa1FUSDJMVzA2cXNVcXFrUVZhcGVXVnlubi9oQ2Y3OC8vcmZ5ZkloUlRGRUNHemIxbVYxN1JoSkVrMVY1NW9ITTFWQmRzTXhvaWM2eGhSZzR5QkxZT01nYTRUSWwwSGFWTWVSbmN3YW9Kd1lyQm91VVlYUjV1KzdkdTBpU1JJV0Z4Zlp2bjA3TzNic1lNZU9IU3d0TGRGdUxkR0tkeUxCVW5paEtBcDhJVGdYMFdxMWFDVnRnbmlzelRHMjZoa3JVQlE1MmFDczByYWo4bUE3YXkzT3VXcWZBbkVjRTBVUlBsdGZrVDNueUt5UEVHSHlrOFhNZ3dJdDFqdmFkcEZJRXI3OHhkL2k2Vjg4eGV2SFh5RW1KcVB4MkptcGl5cWxWRVdEckZMenloUmNmUEVpTDd6d0NFV2VnaDhBZ21rNUpPdVgvN3FMdW9kUlkxeW9HTXFOZFlpdER6MC9sZlZXKzdqSlFBT0JpU2xTWjExOGk0RUt6ZWtReGxQb2prOExNeXAycHZvUFluWnN1NFFMOTE3TzFWZGZ6UlZYWE1uZXZSZXliV2s3TGw3QStKU2w1UzY5WG8rMWZncGlhYmM3ZEJjN2RNVGlpNWlsOWpKNTdzbnpITzg5SWxJT01RaENsbVZWOWZ0ODFYanNUVDJEMi9pRFVEa2JXY0xha1FIYnU3dG9kV1B1dlAyTC9QWDNYaU55Q2FrZk1QbUJTU21sMXRNZ3E5U2NzZ2pXWmhURHcrQXNyZ1UrN3hOSENWbmVLNE5pczI5OGRTQllHV1pkZFVLeGVkbXpucnhxb3d5N1dWQ0Z6VHNZbkVBV1Bwa0MzSWsyL3lvZkJvTWg1dWpLcXh4ZWVaM25YbnFRK3JGcFIxMHUybmNKdTNkZHdQWFhmNUxMTDd1U0s2KzhobmFydytwcWo4TkhEeEhITVF2ZDdSeGZPWUtFc3ZMdG5DT0tJb3d4RkZsZUJsbDNici9FR3JHTllSNWxCd2ZaNEM4Z1ZhczNvUnhEYTRDV2FUTmNIZERkM3FWMzdCZzMzbmd6Vno1MVB5OGQyUC9oM1FtbDFGdzd0MTlsbFRxbkJRalZGTFcrS1B0dWhvS3NtaEhKT0pDY3ljQW9RdGxuZGFwdDFIUnJxUk5wb1dXMlBwOHhHOWR6WWV2UXVWVk9ab3RkNkhSaVJJUVFRclhVNXhkQ3lJQU1ZeHh4MU1JWWkvZENWdlI1NVkwanZQcEd6R05QMzRzaFp0ZnlIbTY4NFdadXUrMXpYSFhWTlVRTzFucUhXWWoyWXFvV1UxbVdrZWM1Y1J6anJLWGRiaFB5cldZdU81ZE4vMkZrWEptdCtzM0dMa0VjWklPTkdWcXJBQUFnQUVsRVFWUVViNFRPNGlKM2ZPNE8zdnoyeTZ4Si80enN0Vkpxdm1pUVZXcHVXZHB4RjBpSURCUmhTQmx1SVk0TkllVDQ2VEtsUVBuUHZoNHJXd1l0STFYQVBKbTFiRDN3d0dJM0hlTXFXM3h0dkZXT0RXSXdVMzBUbXVPQ0IvM20wSVh4K2F5MVdPY1JJNGg0TXQ4ZlB6Nmo0QjhERVpGcnM3TDJMdmM4OEkvYzg4RDNhVWRkYnZuTWJkeHcvVzE4NHByYjJiYTB3TUxDQW1tYTB1djF5b084ck1PNTgyRmdRZjJZVHY4ZG15RzJPVGEyT2NZYXdKQzRtS0ZQU1ZvSmFkcmpZeCs5bG11dnZZNG45ajlTbjBVcHBUYWtRVmFwZVNXR28wZFdBSXV4RnVNajR0aVE1UU9NTWZpc1BsOTlnZlZIMEJ0ak1OWDN2QWJXcmV2UXlxeDFmUjJqQThlbVQ2L21XNmpDNzdyMWlkekZMWWNlakNQek9DQUpCZ2NtRUxrRXdSTThCQ2xHNXl1N1hzbm8rTGVhZFkxcWNjaXhCbksvUnZsU2FiRTRmQWc4OU1pUGVlQ1IrOWkzNHk1dXV2RTJicjMxczF4ODhhVzRsc041TUVhdzFWaloyWDFycThkbzR2NU5oY0hSdU5LeVU0TmcxblZ2T0IzbUpQNE9wdm83QWxNWENoTmRKRFpXemJnMklSQWtwL0NCVnJ2RlFIS1FtTVh1Ym02Ni9oYWUzdjgwQlFFSnFiYnVWVXB0U0lPc1VuTXNXZWdBa1BzaEdFK1dENm93bTAyOTc5dEcvZ2lqWVFWeUVtRm1ZMmZ5WUp3dzQrZFFCZVpBWHFTczc3TFFIRkxCeEFNUVBGTVBTRTV6ZXRvQWhGR0N0THg5OUFuZXZ2Y3A3cjczTDducHBzL3doZHUvd3JVZitRVGRaRHY1TUVPQ0pjL0FtWVNGaFNVaUd6RWNaR1JaaGpFR0Y3blJkWS9HbUlyVXR6VFJFRURLanh5VW8xRHQ2RlBCS0VRMmhvV3NtNnhBSnJmWEp6V0hselQ3eEk0cTV0VnBSbWIzRVE2TXIyczBCcmJ4NmFQNUVVZWttcWlqdWxOQ3dMdVV0ZFhqTEhkMjBrNlc2Qjh2Mk5iZHhsVVgzc0MxRjk3SUN3ZCtqcldPWWVqVGFqdUdxY2ZHanBETEJzRmFLWFcrMFNDcjFKd0tadW85M0FTUXVtL3I5TGtiWHdHYlJtdWtjeVlFVElmVUUxeWYwUDJ2dXp2TVlNcnh5SVgwZWVMcG4vTGNMNS9tbXF1dTUvWmJ2c2dObi9nTTI3cDdXVnJxNG5QRDJ1b3FSZVpwSlYwNnJWWTFkcmVncm4wTEVHUlc1YkllN3hBUVl5Y3EydTRVLzM2am9McEZsWE82MGpyOXZCcGx5WG9zOU16OTJYaEtEZWVFcUdYeEV2QURUOGdNcGtqWXVYUUJuNzd4Tmw0NThDdnlrQkpoeURJLzNpbFRWZUtEZGpWUTZueW5RVllwcFU2VGRZN2dBNE5zbFdkLzlTVHZ2bm1BaHg5K21ELytneitsRTI5anFidURUbmVKYUxGTkNKQ2xHVVZSRUVYamwrQ05oMUhVRTFnMHptQk9Kb2lmdmJ6M0pFa3luaEhOR1h4UjBHbTF1T0g2RzNuNGlVdDQ5Y2l2U09JMi9YeFFEdTArM1RFVlNxbHp5ams4N1l4U1NuMncycDBPMXNZRVg0NUpLQ2VZeURtNDloYS9lT2x4L3VkLy96L3kyTS91SmRnZWcvUUl4MWJld1VVRm5hNWhNRnhsWGJXMzJVa0MyMWpXbTEzOW5DOXBtbzZtRVhiTzBlbDB5UE9jWHE5SHQ3UElUWi84REk0WUoyWGdkOVlnaFIrbmZxUFZXS1hPZHhwa2xWTHFGQTBIR2NGWFgzV2JnSkFDS1RDa0hYbUVGZjdMZC8rU2YvZnYveWVlZi9sbnRMcHc0T0RySERqNE92c3UyUVdtcU1KWW1CbGlqZGh5Zk9xNlpaUGhEbk1rWUJCakNWVWJ1VmFTWUlLUURqSkNJVngvN1hYczNYWWhhVkZnaWVpMHV0WGREaGluYjE5S0tRMnlTaWwxaXV4b2tLa3hoaVJ4SkltalBFQnNRTDg0U3V3S0xBUGVQdm84LytILy9sLzV6My8zRjhTdGdrc3UyODI3NzcwSnB1b0RiQW8yRHFiVFZkbjVEN0MxSkVrQUtJcHl5bC92UGM1WWtpUWhjUWs3dCsvaHFzcy9paUhHNERDbW5CSVlZVlRKVlVxZDMvU1ZRQ21sVHRHT25idHdVWXlFZ2l3ZGtPWERjWVdWbk13ZnA5M3hkTnVXUUk5N0h2MCsvK2VmLzIvYzk5RGRkSmNzWWpMRTVvanhpQW5sUXQwRndKYTlmcVhSLzFhMkduQXdaNHpCaHpBS3BYazZCS0FUdFNDQWxZUlBYdjhwV25TeHhJVGNqeDRQWDJRYlhxMVM2dnloQjNzcHBkUXBPbnJreU9objV3ekdDa1YxY0wyeDVUQ0EzbUFWV0tVYmIyZVFEOWovMnRPa1B4cFNGQVdmdnZrTG1GQjNKVEFnVVhuQlVYaXQxblVEM29uSkJSak5rRFdmRE40SFJDQ09Ja0lROGpURE9vTVJTekh3bU1UeTBhdXZaMGQzTDhQK0VKLzVzc2REMmNSaDdnOTJVMHFkdm5sOUJWUktxYk9LOTBKUnowaHJ5dU9SUEdXYnRBRDA4eFdFRkNIbDViZjI4MmQvL1IvNHlVKy9oMmVBdUpSZ01td3M5QWFyR0N1MDIyMUVwT3JyS3BnZ285OEo1VkwvL2tFdFRmVnA0K2wrdy90eS9jWVl2UGVFNElsaUJ6N2dNMDlrRTJ5SVNVeWJyMzdwYXhoaUFnR0xKWTRNT2tHQ1VnbzB5Q3FsMVB0am8yQlZGVnNEZ1lBbmtFTVZhSDk0ejEzODlkLzhPYTAyZExxVzR5dUh1UFN5ZllSUThPNjc3ekE1SHZhY0dWQXdrNkhadDlaaXhZS1BLRkxZczNNZmkyd3JaMnhEeDhjcXBjYjAxVUFwcFU1WlBhSTF6RHgxWWpFZ0ZPV1V1UlFFVW83MDN1S1JuLzJFdi9uYi84VGE4Q2k3ZGkveXpvSFhpZU9JYmN1TGpTdXM1c2lxdWhhY095L2NrL09FUVJoM1pnZ1JCRWN4aEl2M1hzWmwrNjdBa21Bd2lQYzZyRUFwQlp4THI0ZEtLZldoQ2t6MGdXMU9tVHJyNTVFeXpBb1pzZk1FZXZ6dzNtL3o0NTk4RHlGbE1GeWxQMWhoMjdiRjZRdXVNOCs5Wk1XTW91dlVER01CS3dZckJoTXNSbUlXTzl2NXlEVWZSeEFjTVhuT3FOS3RsRHEvYVpCVlNxbFRaQWpWSkFpVm1hWFlpUXRVUzBIWjFXQVZUdzlMd2JlLyszZDg3KzY3dU9TU2ZSUSs1ZURCOXhvZEVNYVZXQ3ZqdGwvemIvSXR5QkN3MUFIZFlrSkViRnZrbVhETlZSOGxKcVlkSjFnZzBuY3ZwUlFhWkpWUzZuM1VhSTRsbHJJeHpQbzJXc0JvM0t3MU9hMld4VFBrQnovOExvOCsrVEI3OXV6Q2g1eFJpSzB2MDJ6RjFmai91Y2hJT1U0MnRqRnBQK09DdlJlemI5ZkZaM3EzbEZKbm1YUDNWVkFwcFQ1VWRZaDFRRHkxT01iaGxsRmxOb29oN2xqNjZYRTZTY1JxZHBTLytxdS81S1dYZjhYeTh0S0d0M1N1MUdNM1ZzVjBHeUZpS1BMQVFtZVJqMy8wT3JJOHgxb0k1ODY4RUVxcDA2QkJWaW1sUG16VmtJTzhnRUUva0xRakJ0bHhoQUZIaDIveU4zLzdGeFNzSVRZRmt5R042V3ZONk1DdmFsYXh4dFZhYVI3NS84RTdtVEc2bTUxM3RHMnFjbTJNSVlTQU14R1JjVnh4eGRVSWhuYmNRY0o4anhGV1NyMC9OTWdxTmNmeVBJZW9uTmZFdUxJMVVaRUwycDNvd3pFNUJMWWV6K29wcDZsdExuNjh2VEYyTm81YUNKYkJNTVBGZ2NBS25pTWM2Yi9NWC8zZC80RnA5MGxsbFdHK1JxRHF2U29XSzY0Y00rdkwvckwxd2diTGRQL1dRTG1JRDZPbFBxK1JSaUNldWg0ajQyVzZwKzMwZGlNYjc4L28vSTE5TThFZ1lpYjIwemtoejFNV2w3b2NQWEtjS3k2Nm1vdVdyeVJMTFJFeCtoYW1sTkpYQWFXVWV0K0VxYVdZK3IzSmxrZmZWNzFSQTc1czBXVnkzajM2R3M4OS94Uy8rT1hqZExxT3FHWEo4NVNvK3RCaXJSMzFVaDIxcS9xUXE1TW44K2F4MmI1VjkyTGQ2V0xLQ1JmcXFxd0JuSXU0WVBjbEdGcEVkRTV5TDVSUzV5SjlGVkJLcVRQRU5PcTVVeE5wY2VqWWU5eDMzMDlaVzFzbGlpdytwQVFURUR6RmFBcXhjNSsxRnU4OWlDV0tFcTY4OGtvc0JxdHZYMG9wTk1ncXBkUVo0NXdqY3E0S2ErVnB4b0NwS3BTL2VQNFhQUDdVb3dnRmNUc2h6WG9ZQjhOOFFEZ0hqbmFxNjdCR3lxbDhvVnpYWTRLRGFRUlp3R0s0L0pMTEFGdE5WNnVVT3QvcDY0QlNTcDBoaGM4Sm9md0t2U1lDeGxvTVFrSEdmZmZmdzlGajc5THBPdkk4STQ0ZDN2dHpwNVhzaFBYaDNCaURlSEE0OExCcngyNlc3TGFxbG4xT1BnaEtxWk9nUVZZcHBjNmdJQUhuSExiT1pBSSs1QVFDZ1lJM0RyL0MvdWVmWTVEMnNMRWdMaEMzWW95Wjd4QlhqNXMxVXYrdkRyR0JldHBmRVQrNm44WllRb0JXM09YaUN5N0ZFbjM0TzYyVU91dG9rRlZLcVRNaWpHWUdFeEdpS0NLT0RlTjhHb2dRSU9lUngrN2x6YmRlSVc1Ymh0bUFwSk9RbjhQalpJT3BscXBhYmJBNDU4QmJUSUFyTHIwY1c0MlVWVXFkMy9SVlFDbWx6cEE0Y2tEQWUwK1dGUlM1akE3NnNpYmdTYkVFZnZYR0wzamo3WmVJV29hMXdTcHhrcEQ1ZktLLzdQd0xpQTBUMC9LR0VFWmpnWjJKcXVFRmpndDI3YU5GNnd6dXExTHFiS0ZCVnFrNU1lb0JXcjI1bndzSCs1enY4aUlIUmhOOWpUc1htRUFRajVBVFNJbncvUER1ZjJTdGQ1Uk9wOFZxZjVXazNacDRMb3o2dWpaTTk0K2RYbWFkZDlaMWZtQ0xMNURnQ2FFWW56YWVqeGVzR2JYZktvcUFFVXZJQTFkZGVoVTVCZm9XcHBUU1Z3R2xsRG9ibVFMd0NCazVBL3JaS2krOHRCK2N4OWoxUWZUY1VGVmpHNVhtc3Blc3c0akY0b2hkaXlUcXNOM3UwamN3cFpTK0RpaWwxSmxrTi9tdHJNaG1CSEo2K1RFZWYrSVJBZ1VZZytmY0NiSldKdSs1MUMyNHFra1JIUFdrQ0JHUmFkR0t1dXpiZXlINkZxYVUwbGNCcFpRNlEyYS9BRGRPTldDTUJ6SUNLYy91ZjVyK1lBMGM1MkJGdHU1V01PNWdZSzBkemU2RkY2eFlSQXdPeTk0OUY1M0puVlZLblNVMHlDcWwxTm5LQUVhd1JqQkFQNnp5NWp1dkUwSTk5ZTE4czVUVldCb1RJRFFYWXd3aWdyVVJ3VU1JSUVVZ0ZNS2UzYnZQNkw0cnBjNE9HbVNWVXVxc01WbU5oYkkrYVZ6QVJXV2w4cm45enpISUJtRE5hRGFzYzhQc0NuTVpaS3ZLcklCVWdYYlg4aTZkRGtFcHBVRldLYVhPV3RVcnRBOWhWSVY5NXBsbjZQZjdXSHV1djN5SFVSY0ZaeXhHTEE2THcyREZzcnk4SFozWlN5bWxVNk1vZFk0d2JGVFRtckg5WEJ0ZU9hZldEdzRJRTZmV2Z6TVJLTVFUNFhodjVVMkcrUXBpOTJKTzhDWGMxRU5QWWZKdlB5TUgycE40YmxoT2Q0QkRjMFl2MDdodEMySUpVclVCTXdHY1IySmZ0ZWtxYUMyMkVQeldUL3daSmk0eW1sRnRxdzhHOHorVVE2bHprUVpacGM0Z3M4VWI4S3hlc2ZYN3JnVTJtNlYwK20wNU1OMnI5SVIyVVgyQVpPS3ZWTGVlR20wc2Z4VVFzUmpqOEpJQmdjZCs5bE11L1oyTElHMkRLU2NHcUEvK3FyK0NiNTVtWkh5MXpUKzdoTVlUc0g1aU5FNmJlSXFJakZNMVZQMWVaWHllcWUxTnBubDZZM3VvSmord2dBUUgySW04bUNReHFSbVNoUjZ0SmN1aDFYZG9MVVI0TWw1Ni9YazgrYmdKYi8yWU5kZXo3Z2ZqQUQ3dVdXdkIyTVlKOWQrbDNwbDZQdDJwZjQvNmdWQ3BNKzVjLzI1S3FmUFNyS3BhL1k5ZDgrdlp3azR0TXdnWU05NGVLQkE4N3gxK2c4eXZiZmxKeU1ya2M4SEk1REp0cXc5V3AzcmUyUnJWWnludm94RURZckZTVm1UZmZmZGRkdS9aamlmbjNTTnZzZU9pWlpKdGpnY2V2NWUvKy9iL2QxbzFVcWtEOExwL0VIYURuNVZTWnlPdHlDcWwxRm1xV1hFM3hwU1RYV0Y1NDgzWFNkTjB6aWRwdGFPUWJjUlcxVndMU0JsUVRXRFhuaDMwaG12MGg2c3NMbmRJOHdGUC9PeGhIbnowUG5waERUQ1RWZEVOaGdlVVp4bkgzbENmT0JwalVHMHpGa1NIRUNnMVQvVGpwbEpLbmFWRXFnQkx2UmFjTXh3NmVvaCtmNDM1SDdkWlY1dWJpVDJBOFlqeGRKWmF2SHY0SFpMRmlPNXltL3NlL0RIZitmNjNPRjRjb1dXVDhySVNqWmZSOVRuV1Y3d3RaZTNHSXRWNkZHWU5qSWQyMUFPS20rTVU1djF4VnVyY3BVRldLYVhPVWlMMU9OZUFNZFhhbHV2ang0K2Q0YjA3ZlViTWFEZ0JZaEViRUNPSUNRUmI4TTdCTjFuYTBjWEVCWTg4Zmo4L3Z2ZHVlcXhpZ1g3b01RNnR6Y1V3RHNlTnhkaXBkYlVUemN4S0FPb2V2ZlVFRFJwaWxUcWJhWkJWU3FrenJoR1d0aGg3V2hRNUVIanY0SUVQZEk4K2VPTUFXLzVhQnNkUWhkaGdjNUt1STFtMFBQTEVBM3pyKzMvTEtrZUpqREJrRFJrRnpsbGpqQnVQWnowZ3VENlFTOHprdU5oWmc4WkhCM1ZwaUZYcWJLZEJWaW1sem1MMTBJSVFBdGFBbDV4V0hQSE9PMjl4TGdTdDhadFEzYWFoRExIQjVuaVg4c2dURC9ERG4zeVhBYXRFUnNnWTRNbnBkSk5xTk8zMFVwZFlQUmhmWFdmWStDaTM2Wk5HRmRyNmNvMUZLWFhXMFlPOWxGTHFqS2lEa1cyczY2UDRLYi85YmxRTFEvQlZCd05vdFdLT0hEbjBJZTNuQjZzK3NFdW9LckZtSEdLZmVlNHB2dnVqNzNEY0g2WVR4d3hEbjl3UEVXQ3R2MHI1RmxhSDEvcmF3dnFLNjhTQlhZMnhzWXhEN0tobFdiUEpiT044U3Ftemt3WlpwYzRTelQ2ZzZueXlRYVZQd0ZpTDl4NWpITTQ2Q2w4QWhqVHJjZkRRdStXc1Y1VFBtZko4QnVjY0JLRW9DaUxUcUhkV2ZWNmJ6eTlwaExTWjI5bHF1MnkrZmRRN2R2WWRORmJvOS90MEY5dEVzZVhZMmlwSjE1RXo0TVdYOS9QL2Z2K3Y4YVFJT2F0NXYydy9OdEVJdDhBMFBnQUlUQVJQNThDUEh0NEFPSEFHaW5KZjY5RzBjV1FJeHBMbmZoeG9tdy9DckJaZHpXNEhTcWt6Um9jV0tLWFVXYW9lVmlBaTVTeFdWZlV4QkUrV3BRaCtyai80ckt5dGNNRkZ1MGo5Z05mZStqVUx5MjJpTGp6MjFFUGM5Y08vSDRWWVQxSDEwSzFNQk12bWVOako2dzhlbklYRnhUYXhjL1VVYVZqamFFVWRPbkVIZ0x3UWZPN0x2Z1l1d2ptemRTRldLN1ZLblJXMElxdVVVbWZNaVZiMFF0V0tTeEFKK0pBekdQUW1abjVyaGw3VCtQM3NGZWdzeFJ6ckhXRlk5TmkxYndja0JZOC85VEEvZWZCSEhNMFBqa0lzK1BJaTB6TjRWVzFrVFQwVVkrb1dZbHVHMmNIcUVMQWt4SFRiMjhoelQxcWtlQUtHbUU3U0JpRE5CbmdmQ0RwbGwxSnpReXV5U2lsMWxwcittcjRNcDRFUUNnYnBnQkJDNC9UNUVrd2diam5lT2ZRVzdXMFJ5N3NYZU9peCsvaUhIM3lMby9sQkxBRlBUaUFubk1SWCtQVnNaazdLRUl0QVFreEVoQ0ZpTUV3cFBEaGl0cmQyazlBbHpRb0dXVWJBa05nV3NZbUJFeWk2enQvRHJ0UTVSeXV5U2lsMWxsb2ZaTWUvZTNLODk0Z3JUelBHaklMdFhCUVVUV0Jsc01LT0M3WlJtSXdmLy9SZTdycjcyL1Jab2VVY1BkOGZEeWVZR0JlN3ZqQTdxc3JXVjAwOS9ZSERZeEFpTGxqZXg4N2x2ZlJXVW80Y1d5Rmx3Rm82UkRBNFdrUkFRVTRlQ2dDc2lRaFNiTER2ek1kanJOUjVRSU9zVWtxZHBhYkh2MDcrR2dqQkk3YXN5RTRPTFRDaktXM1BWZ0pFTFVQU3RUencwQVBjOWFOdk02QkhaQXc5djdiK3dLNzZRaVBOTHhUTHdRQ1QweUZZV3RFQ2FaRURNUisvNWdadXYvV0xXQ0tlMy84U0wvNzZSWDc1K2pONE1rRHc1S05MQzJIYzRhRCtXYXV2U3AyVk5NZ3FwZFJaWTNaamYyUHFXYjVvbENObFhJR2RSMFpJaTVRbkgzMlNIOTk3TnlsOUZwSTJnMktWSUo0b2R1U0ZuNmgrMW5mZEV0V1B6T2lVVXJPbG1TTXRQUHUyWDhwdG43cURhejk2QXp1VzlpSWg0dVpQN09iNjYyN2luNlZmNUdmUFBzWmpUenhLUHhTQVphSFZKZmREMHFLL3ljNXJ0d0tsemhZYVpKV2FVL1ZidUttK1NiWXlmbnNOQm9Kc1BBaGV2eG1kSDJXMVZTWkNyREhnWlBaZnQreHdjSUxYM1pqdzZrVE9PM1ZMakNZTkVGdE9OUXZWMmxiN1VoNmtGYXJwZGNYVWt4YUF0eWt2L2ZvNWZuRHZQM0kwTzBTRTRYaDJGS0hBR292M3hmaG1adDQrbEpNZTBLaWVPaXdXUzRURDRZajV4TldmNXBQWGZvWk9za1R2VUlxelFpdFpJSW9TSVBEVjI3L0c1ejkxQnkrOHNKL0hubnFFdDQ2OVJnQmFMRkF3eE9NSkJFUTI2azlySi9hVHFiT1V4c0ZYLzkwcDlmN1NJS3ZVR1JSQ3dFNVZteWFHQTI1U2JSTXI0OWszcDdlWmNnbWJ2R3ZPdXB3Nit4aGpzTlpNZENnWXRXY1ZLZi9JellWRzBYYnFDV0FhMjBKOStkRkEwN0xid2NUNGhlYkZ3K2hHeTVYMUNPVjB1VVljVklzSkRxUjhhMmwxRmpoNCtEMTI3bHJDdFMzdnZQY0duYVdFT0RIODdMbEgrWC8rNFQvaVNRSEk2OVppZ0pXQWlLMzJkWDMxY3pUc29CcExrQ1FSSVFVS2FORm1nZTFrRlB6Qm5mK1N5eTY4Z3AzdVFpZ2luUE9BaGN6aWg0SGxaQ2Y1eWdBbk1iZDg1UE44OHNxYmVmWDFYL1BFTTQveXEzZC9pU0hDa2hMSWlTSUQxalBNOC9LaHFHOGZXMzBhTUNBT3k3aDhidkNOQnpHc3V6ZjY3MCtwMDZkQlZxa3p5SjdtTzlsV2wyOTBLWnE4SE9VYnFsWm16MzRpUWhpRlNFWi96STJPNURmR1lEQmJEam13akpwYWJXbldoNTZ5NVZVQUNSaGM5YTJBTFFPb0dNVEE4ZU9yWEh6SlBvNnNIdUxnNisrdzUrSWQyRGpuL29kK3dqMFAvWkNjRkRFcFZOWGw4ZlBVemhoa01YVi82OEt2aFd4WVlEenNTSGFUWndHUDhJMWJmNCtyTHZvSXk5MGQyQ3dteXdxQ055UkpqTEVPR3d4Ukp0aWloWmdZNXlJV1c5dElMdXV5WTJrM042M2N3bU5QUDh6aDR3YzRuTCtMTDNJRVg0Mi9CU0x3TmlsL0M1UXpMMGlvOHI3RklJM0pHc1pESHhyenR5bWwzZ2NhWkpWUzZxeXhQdUtJeU9SQlhvMVpBYXkxWjdEMWxpMHJzYmdxaU5ZTFNEVU9vTlYyRExNK3c2ekg4cTRGa3JiaGtTY2U1VWYzZkovajRYQjVOVE9HU0d6V2JxczU0MWFuRXpOWXl6RWVPcTdMTUJ2U1laRTdicmlkV3o5OUMyMjdoSldFSXZQa2VZNnhTZlY0bGVPTGZRREVJUmlLUWpBaXRKTWxMdDNYNXFLTEwrV2lpeTVtLzh2UDh2Tm5uK1RObGRjSk9BSUZFQ2h5QVlxcDhUdjFSNE15N25wa0lweXZIOHVya1ZhcDA2VkJWaW1semxMR1RGWlc2NE8rU2hacjNlZzg5Zm5xYmdYMXhBZ2ZLS25mUXV4VUlBMEVHM0N4Y1BEb095eHM3OUJhakhua2lmdjVoeDk4aTVWd21OaEFKbHNIT1NITS91WkF3QThFNDZGbDJvaUhEZ3ZjK1prdjhSdTNmaEVUSXJJc3h3cUlOemdiWTZNeStCZmVVeFFGaG5Jb2dDVWlGSUU4THdqREhHOERJU3JZc2JDWHozN3lEajUyOWNkNS91WDkvUHpaSjNscjVYVUNnaUZIR09KRFB2NUFZY3IrQ1NLK21zSFdWUHRkVjV6ck1ySkR3NnhTN3c4TnNrb3BkWlpxQnRseDViWDhQYWFGYzQ1Nk10VjZZb1J5YU1HSFFBeTJVWTBWRVlJQnNlVUJYV0k4eHdjcjdOeTlqYjQveGovOTlENys2YjRmY0x3NGhLR29RdXhrMkpaWm9hNE83ek5hY1lVTXRzZTdTUE9VaEE1ZnZlTnIzSGJqNTNEQllZS2h5RHl4amJFMndtQUlJaFJGUmtDd3Rqd2tER3cxRGxtSVRZSkhLRUpCNWxQOHdPTmFIZllzWGNLMjYzZHk2UVZYOHVLTEwvQ0xYejdMUWY4V2hvSkF3QVRBV1lJVHZIZ0tYKzJ2YlF3SkVZdGdNVVNNQi9Xa2FKQlY2dlJva0ZWS3FUbFFUM2dBRnVjY25hUlRWZ0psNi9Hd0g0eXFDbHRYWWtYQUJNUVVZRHplRmlRUm1IYk9vL2MveUYzMy9EMFpxOFRPTXZRcFlhc1J1dE1kQXRadGp1aXlqU0lYRWpyOHMwOTltVnR2K0N6ZFpJbDB0Y0JoYVNjdHJJa1JNUlErNElOSFJIQnhSSkpFT084UTc4a0xqekVPNThyRk9JTU5EaGRaVmxhTzBrLzdkSmZhZlB5eUc3bnFnbzl3OGE0citPVUxUL0g4MjAvUzR3Z2VqL2VDOTBYNWNKakdBaENxamdmQlRiU2sxVEhxU3AwK0RiSktLWFhHek80Yld4c0hWSXN4YnZSejVCSzZuVVdzdGFOaG1jMktMTlZRZ3crOE5pdFJkV0NYVU81SXFFSnNqdGlNbkFFL2VlQmVmbnovRDhsWXBaM0VETU1hbmh6bkRNRWJMSGIyZ1Z4VHMzbU5meTRmTTRkandTNVJCT0gyVDN5ZU8yLzdFcEZFcEtzRlMrMGxodjBjRnlYbGJvbFpOMmxFMmFhc0hPOXFFWUxQS1h5T0dJTXhEakhRVyt1eHZMaWRYY3Q3R0F4NkhIMzdPR0lDMTExeFBUZDkvSHErOTlNMkI0Njh4cXZ2dmthUE5jQ1FoeHpqSm9ZeVYwZFhCaWJIMEdvbFZxbjNnd1pacFpRNnk1WERCUngxMndKckhVblN3dURXamFQOXNOVjlhSU10aHhONFd5QTJ3N3VVbDE5NW51Lzkweit3R283UWFTV3NwTWNRQ2xwZFJ6b29KNDlkRitZM0NyR2pBOHBNMWZrcVpoZ0t2bkhMNzNMcnAyL0JTb3dKaHNnNGh2MmNkcXRMTnNpcmdPK0lvZ2puSEY0Q1JWR1EreFFRWXV0b3hURVNETjZYQjRFWkExaExxN3VBRWZEOUZGc0lpNjBGb2lnaXk0WWNYejNPNzMzbEQ5ai95aS9vL3Z3Sm5uOWpQOGM0aW1ESmZBNTJSdDlaVTRDTXV4ak1IRXFobERvcEdtU1YrcERVWWFNWk9xTEdFZWV6dG05MmVVTW9xei9WZFJSRjFVRGVWTVVmTlNjMnFNNFpSaE1odE50dEJvT1VkcXZETU0wd3hPemRleUhBcUw5czgzbGdaWHpRVjYyZUtLSDUvSm9vZE03WVBnNlJzNTZmQWc3Ni9RRUxpeTFpWnpqYVc2SFZOV1RTNTRXWGZzbC8rdGFmRWNnSnBLeWthMlVGMUVJNjlDZjJ2WHExdlJVdkVJcEFDSUhJSkNSUkM1OExmL3lsZjhYbGU2K2tiWmNJUWNqem9wd1F3Y1JrZy9JZ3JIb0loQytFWUh4NW9KWXhXR014a2hNa0VISmZqb3dRVzFhemd5Mlh4djRaQVlwQWthZFlESXV0UlZZUDUxeTE3M291M0hNRlY3NzBEQS8rN0FIZVdIc1ZZVURjaXVtbEsrT1dhWWF5VWx1MTZZb2lTMTdvUDFTbFRwY0dXYVdVT2lPYTdaaGdJc3hPalFnb3c2cXBQcUJZOHR5emM4ZnVEM3dQdDdLeWRweUxMOW5Ib1NQdjhlNjdiM0h4cFJjZ1NjcDk5ei9JQTQvOWRCUmlQVVVaWW1jT0RpM3Y5N3JxNUdoR3I1Z3N5N0JFYkV1MjA4OEdoTnp3alR0K2gwdjNYY0hPN201aTI2RUlCZGdJNXlLc1dES2ZNV3R1dTlFTVlhYWVsU3hVczNOVk8xVUZUek1SWXBzZk5xcTFXR0k2U0dwb1I0NlBYMzB6MjVaMzh0eXZuK0hwRjU3ZzJPQXdpV2tqdHNCVEVEeFlCMUViUWdHRmhsaWwzaGNhWkpWUzZpeFZWd1RycXFzdkJHZGljaC9ZdCs5aU5wNkUrRVBZTnhQb0xyVTQxanZDMFBmWWRlRU9KRWw1OUtrSCtjbURQK0pvOWw0anhQckdkR09OWmNNckwxZnRaSkUwVFhFa3RPa3d5SElTT3Z6R3pYZHkrMmQrZ3lSZElKRXVlZXJMVmxzMndqbExDT0M5WU0zazQyT2JOMXNGMW1ES21jVEFJTmp4bEwwbWpNSnN1YnZqd0cycVNRK2lxTVZnbUNKV1dGeGM1dU5YM2NDTzVlMHN0THY4OHVWbmVlUDRLOVYrR0l3TFpONlQrWEk0UmhSRGtXL3hPQ2lsdG5UbVhnV1ZVa3BWR2kvRmpXcnN1aUFySG12TGxsSDEwSUl6UjRoYWhnTUgzNlM5NUZqZTNlYkJ4LzUvOXQ3czJaTHJ1dFA3OXBDWlo3cER6YWdxRklZcUZFQUF4RHdTQUFHQ2s0SlVLNnpvYUVYTFZydmJFUjBkWVQ4b1duYUVIL3hraC84QVAxaU9hQS95MUcyM3V5VlJJaWsySjVFaXdCa2dBSUlFQ1FFRVFJeUZtcXZ1ZEliTTNIc3ZQK3pNTTl5aENxZ0NWVlZRZmhXbjh0NlQ1K1I4N3ZubDJtdjkxcE44Nld0ZjRHeHhESVhEVThZMnRtcXo2R09NU01kQ3IycitURzZzeGhVT2phVkZHMUNrdEhqc3prL3lxVWMrUzBvSDVST2NDeFI1d0pYZ3lrRHc0S3ZDdDNNemNWd0lhbjEwdk43RFN0aXFVQW5jU3N4cUFRTGVlMFFVdmd6a2F6bjVzbU11M2M0OU45M0g3Mzc2SDNIajlsdm9zSUNSRk8wU1dpWWRpM2pkV0JZME5Id2dOQkhaaG9hR2hzc1lheTNlUVMzOHZCZFMwMkt1TjM5cE4wd0ZWZ2NyTE83dTRkV0liejN4YmI3OGpiOWd3RmtTb3huNHdXdzZRWTNVUHFxd1paUGNLdUlwSXN5bkN3eUxralpkUHZQQVo3bjM5dnV4THNPSWpha1d5bUJUaXpKMVZ6RlFXbU5WT3I0QnFFdXI2aHpZOFdxMEpuNE42bkhqZ2hsbjJ5cWlxMVZzUGF1bjBvNkRGb3A4alNUSnlHeUxFQnpGY0VTUVFNZk9NemUzeU9jZStRYzgrNHRuZVBiWFAyRkVIM0dlVHBveWRHc1V4UVVjODRhR2hnMDBRcmFob2FIaE1zWVlnM08xNEZNRVlPL2V2YVJwQzhLbFRTMHdHYVFkK040UHY4K1h2L2tYakZqQmFzWEFUd3E3NG92cnFZV3FDVUhFejh5ZW9GRW9FbElHeFpBMlBSNjk1ekh1di9OQjV0SUZ5a0dKc2hZSkNtVU54bWkwMW5oZjRyMmZzVGVFZ2lZQUFDQUFTVVJCVk5yYUdnMTFpMTNxMWd3YVFTcExzWmduSzBvVElEb3lvS2ZTSkFMS0NxSmp3WmdTSWNGaU1laWdrVkk0c09NUWN3OHNzbTF4RjkvLzZaT2NsbE9VUlk0MlhVS29teUUwdWJJTkRSZERJMlFiR2hvYUxtT21CWm5WRmhmZ3VtdXZKMG1TMkJqcWtoSEl5d0hQUFBVczMzN2lHNHhZbzV0bEROd0tnc09reEVqeXpCQjZGSXVLaENoaXorMm5tbVZ0WEM0OGZOY2pQUGJRSjBoOGkzSlFNcDh0TWh3VW9CT2NENmdxOGhvUVFyUllRS0ZpYnVvbXcvZGFWTFhXWlBLa1JDdXdnS0JWM0NxdElLaUFsdmc4S3N6c2lza0N6aFc0QWt6UVdOVWlNeGxLR1VLQXdlb2FPN2Z0NVo3YnUrZ3M0VWN2L0loMzF0N0MrUkpqMm5nL1BPZitOelEwbko5R3lEWTBYQ0kyKzRKdCtQdkVleEF3ZGVTUEFCZ1NreUxCczNmSE5WamFhTmtZZGRUditicVNtS0dxUU1za0VqbnUxRFg5U2hXUVNzaUZxdkdCTnptdnZQWkx2dkhrVnpoVG5DUlJzSnd2RVNoUktsYm1WNnNacHdwTThMRjRTcm1KMEswZUNvc2hRV01vYzgvbkgvb0hmT3p1UjdDaFJVS0dOZ25EUVVHYXRpZ0ZuUGVFSU5FUndOcUpQWjJBOSt0VEZ3TGpGYXJ4QWQ2VUtudDJmRHdua252eWswajBvVldwd2txQ0NwcmdBNjRvY2NHVHBCbkxKMWV4UGNzRGR6ekNqaDA3K2M2UG4rQzFVNjhSZkU1Z0ZITnYzOE01MjJ4TG16OGhEUTJOa0cxb3VDak9KMFpuUFRsbFpscVZpMnl5MEMyWHRzVzA0WXFsTG9JYW44clpDS1Uya09kRjFRWWdvRXF3dExuMTBEM29vbzA0UFRZTkhoZmJ6OWhHcmJ2K2hNbjFwenlvTW9wa01mRVJESWhHaC9qVm9CTk5mN2hHdTVlQ2dlVzFzeVJ0VGVsSC9Pclh2K0JQL3ZLUDhWVll1SkF3MlJIUklHR1RTOWt6anNRcUJ4MmdqQnR2eFNDRklxVWRXODhDdi9mWVArYkEzdXZvc1IydE1seGU0akZnTklNaWRnZlRsVWVyQkQ5dVFiditlSXo5Y1lWWW5GVWQ4K243QUtGK24weDJvMXBXOU9VTlUxSmNWM3VqZ0lBU2pSTkJTU1hRVXpCb0JFY3J0WlNGaDFYNHlLNlBzT09oN2Z6d3FSL3g3UEduV0dOSW9Vb0FiQktqdU1GN0VPaDJ1d3o2dzNWclpMeHY4ZTlIYVA0S05QeTlwM0V0YUdob2FMaHNtRlRTMTE2bVd1SWZhb1BDNDdsNjhYcmFaZzU4V3ZtYlRuZy9VZjZvL3dLcUVweHhYUm9kZEl6TW9saGQ3WFBWM3Qza2JzUmJSOTZnczlnaTZRaFAvZlI3ZlBtYlg4Q1RJeXBIS0dQdTZEaG1xZEhZNmhIL1RmSkJBOVJGWUpXSXhVTnd3bzd1TGpRSkR2amNQYi9ONFdzK3dsVUwrOGpvSUxrZ0ljR2FsS1RWd21ScHRTY2I4MHhyZmJwNWREcHMrVkFTSC9YdnVucW95bkpyOXFIUm90Qml4a2RUVkJXOXJoN2FLcXkxcE1waW5TWjFDWHU2ZTdqL3B2dDQvTWJIMFJpc1R0SEs0Z29oT0VFcmkxS0tmcjlmV1g1dDNEZU4vazAzSDI1b3VHSm9JcklORFEwTmw1cHBqOVVwcEJvQjEwcGhKTUdqdWUyMjIyaTFXdUJqdXNFRkk3VThObFB0WCt2Sy83Z2gzVjdHeXRvU2VUbGc1MVdMS09ONCtya2Y4K1QzdjgyWjhzVFVjbVlKNTBpYm1QWngxUlpDQVhqSVRJdmwvaXBkZWp4OCs4ZTU3NTc3V0dqdHdFaEtXWlRrZVlIU1VieUc0SEhPWGZJdnNKa2JoMDBHU2x4UllxMUZTZXk0VmdRaHl6S3V1Zm9BODNzN0hBOXY4OUtSRjFnYXJxQUpXR1BJZlZFVm5zblU0dUlSclgxd0F4c3VsWWFHdjdjMEVkbUdob2FHeTRZcEFTaFYweWxBcXVwNmhlYVdtMjRtdGRrSHNqWWx0bklTc0ZVRi8yUTdnbllrbWVMb3liZHB6NlVzN09qd3c5b250anlCbm9yQW5vczZxcmloQjRJQWhVSjVSZHQwOEU2d3BEeHk5eWY0OUNkL2kxYmFKYzhMaXFLSWJYZTF4ZGpvUnVDOXB5enJxdi9MRitjY0lZU3hpNEp6amp6UDhkNlQ2SXpISC93VXR4Kzhpem5tc0NRb2J5dS9ocGp2VzdlMlJVMEVMRFFpdHFGaG1rdDlROXZRME5EUXNCNlovYkVhM0thckY5aXplejlLbWRuODF3dENnUmgwRlkwVkVZSUMwWlh3Vko3bDRUTGJkODdqVlo5dlAvbER2dmkxUDJmQU1pMWo2UHNSdFduVlpGczNFWmFxU3N2ZDRDY0x5aG0ydDNld091eVRrUEw0M1ovaWtRY2V4WWJZWmxhOFFodURUUkxFS21MSm1VY3BJVTNUcVBRdlk5STBSV3VOVWdwakRFb3BSQ1FLWER3THZXMDhlc2ZqTEdZNytONXpUOUNuVDBZSDB4SldSeXNiRW1NbFZHNEtsN21BYjJqNHU2UVJzZzBORFEyWGlscUxUb3M4RmRhRjNDeWFsSVFPdDk5eUYrMnNnN2k2K3Y3Q015VmpqdWRVVHE1VTlsTEtnZko0N2JBbWtIUVZULzd3K3pQTkR2cCtaZk5DeFprVmJQSHorQ21McGNWd1dOS2x4NlAzZnBKSEhuaVUrZFlpbzlVU0h6d2QyMFZyaTRUb1FPQ3FZaTVsVEhRb0tDL3ZyZ0xHR0VJSWxHV0ppS0IxOUxzRmFLa09nNVVWZGk3czRhNGI3cWJzbC96azVhZFpZWWw4TkVLaEsyZUhhbUhWellCSUU1bHRhSmltRWJJTkRRME5sNHIxQW05REsxZEw5RHBONkxXMmNmODlENktDeGp1UEpua2ZWbHRiSUxZeS94ZW9Vd1dVeCtzUzBRVWp2OGJUVC8rVWIzMzM2d3c0UzdmZFl1Qlc4TDdFV28xM3NmQm9RMDdzZW8wOWswc2FoWnpCTU1jaUh1SGhqejdDcHgvNUxGYWxGSDFQTyt0U3JKV0kwZmh4MjlsQWtERGpCSElSR2NJZkNPZkxrUTNPeHphMllTSTlSVUlVdEdnNk1rZHhKcWZYbXVkamR6eEVxOVhpaVovOURhczRNbU1ZaFVHMUlqWnRYZHpRME5BSTJZYUdob2JMRW9WRlk2citWaDNhclhrT0g3NFp5UTNpUVJuemdZVGthZ3Vxb0dNNmdkY08wVVgwaWYzMTMvTE5KNzdLcWVGUkVxTlpIcDRsVUlJQlB4Wm42MG90dGhLeDQ0SXlWVlhlSjVRSW43L250N243enJ1aFRGRGFSdE9xZ1dkaFlSdHJLNE1ZZ2NXUTJnUzB3a3ZBT1lkNEh6c1dYTWJVVVZockxWcnJjVnFCOXg0dG1oWXRUTEFRUEdrcjVkRFZOM0MyZjVhZi8vcDVsdndwRkRaMlNKdG1pOExBaG9hL3J6UkN0cUhoQTZLT0ZFMUhqTTdYSmxQT0UxbzUzL3lHSzV5cUNNaGFTMWxVdytRSzBxUVZ2VWRKU0dqaDBQeEh2LzBQR2F6a0xQVG1LSWM1U1dKd1lUSzhQL0ZKblZ3ejB4SnovWHhCVUZvWURrZjA1bHBZYTFnYUxKRm1NQXBEWG5ybEYvd2ZYL2lmQ1pRRWNnYStuTFNkbGZGSTk3bXBOaVcxSFh3WnQ5V3FsSGJXb1JnNWZ1K3hmOHkxVngxa29iMFRwVFJ1NUtLZGxUS3NMSzNGdk5LcXBhMzNnZ1NQS01iRDg3SisvNW5kLzFrYjNZM0haeWFndXNsOHRYNyt1dVVUM2x1dWFnaGgzSnhoMHJCQkk2V2liZHFNaWlGRm1iTm5jVDhmdjY5TDJrcDQ4aGQvQTBDV2RXSytySUtzMjRwQ3VIQWJkNkNoNGU4cGpXdEJRME5EdzZVaUtNUkhvWk5tQ1VxRHJxS01SbVZrcW9QSGNOdkJlOWkrc0pkMjFxUE1QWWt4T09mT3MvRHpzOXBmWWMrKzdZeGNuemZlZlkzdVhJWnBDMDg5OXdPKzhzMHZqa1dzeDBVUk8rNHlNTE1Ud0NhRlh1T09XQ2xsV2FJd2JHdnZBRkdNUmlXLzljRG5PSFR0amV4ZXZJcEV0YUlOVnpCWW05RksyMVV4MThhdnFHa3YxeXNkRVVGRW9jV1NxcFEwcEhSMGgydDJYOCs5Tnp4QVFrWXg4clIxQnlXYXZEL0NGdzZkcUl0TmtXNW8rTkRRUkdRYkdob2FMZ2thcFMwaUFlOGNRZW5ZZkNzSWhTdFFHSlJLVVdnZWZ1QVQ3RmpZVFN2cDBWL3AwODQ2NUtNQ2JTOG1TelRRN3FVczljOHc4bjIyNzFsRTBweW5udjBCZi9QOWIzSjZkR3hLeFByWkllME5YbHJycU9hMTBoNTVubU5JNlpvZWE4TVJDUzBldnUwUkhycm40eXphM1NTaFJWbVVsTG1QKzV3WUpDaThFOWJIV3FiRjZ5YmRlUzhKNTRvR25TZUZscUNpTVpsU0NrdUtLMHRTMitLYW5kZXliV0dSc3lmTzhQckthN2hRMGt2bVdTdlhFQnhKa3BCZjVvVnVEUTEvVnpRUjJZYUdob1pMaExVV25TUUFsUk5CUkZXOW0zTHhYTHZyQnE2OTVpRFdaaUNXVUlKVkptYWJYa1JVVXBTUXREVEhUeDJoTldkWTJObmllei8rRGwvODZwOXpldlF1R28rblJDZzNLVUtEdW9GQ21PNCtOVE1XcnlHQXhwTFJvdlNPaEl5UDMvWUpQdnZZNStpbGk1UTVGTG5ETzRWV0tkYW1nS2IwanJJc3o3bjlsME5FOXFLK1FGVkFXOEdwc25MWlZWQXFaQWh0dWx6VnU0cFBQZmhacm1sZFIwS0tsSkNaMkJBaUh4Uk5OTGFob2FLSnlEWTBORFJjSXNxaXhMYlM4YUM4c1pBbUtYay9SaVBidXN1blB2bGJ0Tkk1eEZtQ2VMUzJoUGVZbTNsdUFtdkRWUlozOTNBTStldnZmSXN2ZmUwTDlEbERhZzE5dHpxYlRsQWpsc21UVzFod0NZQ21MRXZta2dWR1pSU3huN25uczl4LzU0TmswaUdqUmU0RHlsb1NhNnNXdDFYdXJkRWtXWXBVUHJFVDBScWxveFlJbTRyckt3Y0JRaUs0S3Q4MXdXQXdPS2ZCZ3dxYVEzc084K0R0S3d5ZkhuS1M0OWlRb0pVbHFDcFgrY28rQkEwTkh3aE5STGFob2FIaEVxTFFVQlVGR2dORlVTRFZBUFJIYjcyTmUrNStJRmF2QzdnU01wdFI1dTY4aFlUblgzSEF0aFJaQjU1Njl2dFZzNE1sckZZVEVSdE5CaWFJSlpwZVZkM0E2cWMzTER6MnAxSm9odVdJakl4UDMvY1pQdjdBWSt6bzdVTGxDamNRMHJTRDBRbEtLWUtQKzE0VUJTRUVUSEx1T0lzV2pkb2toL1pLSWFoQVNZRXpCUUZQVUdDVUlWVXBTVWhSUTAyK1ZITEg0YnQ0NEk0SFNVZ3B4VTMyK1ZKN2p6VTBYQ1pjdVg4Rkdob2FHcTU0ZEl5dWppdml3VmMxWE5mdFA4aWpEeitLMWJacUNtQndMcEFrR2Q1N2pMcTRQOTlCQlFvMzVJZFBmWTl2UC9FTmhxelNTVk9DS2hBYzFTajJ1b2hzTk01U0pGR0FuK2NySk5VdE5Ba2Z2L3RSUHZIdzQ3UnNCemQwekdlTGhEd2dRVkdHUU81S3l1RHhJcmdRS0wybmNHNURIcXlXK0ZDWFM0THN4YUNFa2hLeGd0aUFjMFU4djZTa0tzT0VsREFJZEV5WFd3L2Z4bDJIN3FaRGh6RHVXM3lwZDZDaDRmS2dTUzFvYUxnQzJDd2ZVRTlOejlOamFRTk5aNkFQR3IxdXVwNndiaHAvVm9uZ1F6NFdKbFpsT1BIczZPN2pzWTk5aGxzUDNjbXA0OHNzZG5iaGd5TUVBUU1pSG0wVC9OaCtTbFhYaUVadlp0bFdEY09MaWkxZWd3SlJKYSs4OVFKLy9kMi80dVRvQ0lreXJCWm44WlFvRGFFMlJaaXBVaElVZ1hqRnVTMmNDalFLZ3lIRkIrRjNIdnR0N3IvOVlhU01ibFVKS2FOaFRyYzd4NkFvQ1JLTG5aSWtRYW1VRUFMT2VVSVFERHBHcDFVOFhuWGpCYTNpa2R6cStxMnR3WUxpbkUwamxGeDQwWmlTdWwzc2hhUEVZMDBLWGxYZXVBRnRNcXhPTUNnVzVoWlpXVnBsWWRzMjdyM3RQbzR2SFdWd2VrRGhRT283bmkwYVQyeTFXODFudnVIRFJpTmtHeG91QWhHWmZGSFdBbUpHU0d6MHBKd05jRTErbS9hcHJJVnJQVmNMRzMwc1ZRQTFlYTJ1Sk1iWTlraERyWE0yL2ZKcW9qb1hUVHcvRTZQLytDZFZUODBWTkdDTXd2a2NJV0FNS0EybEI1R0pkeXpCVWd3VHR0dDlmUFM2KzNqMHpzOVJuQllXOUNJeUVsSnRRRU9lRHpHdGhETFVSVUtWSjZsb3RDZ0lrMGlwOXg2dHdTUWFyeDBCaDBwZ2JlMHM3NXg4aGYvMTMvOFBlQVpBd0ZmZXNCb0k2NjYveVhYaTBEZ2dKd0FtQWUvamZJVUNNV2dNaG9SdDJTNGVlK2h4YnJyMkZ1YmJpMUFZS0RWWjJzRVh3cG1sSmJidjNGR2xFemlLWVk3V0ZxMHNTa1UzQjlFYUVZOVJIbXNUbFBZNFYxQ1VNZjFBbTNTOHIzRVR3emd0UXdrb1F2VngxQkFrN28vSTJOYkxyN3NGM09Cb1ZSOElZY1BudXo0azQ1dkNxYy9uZW5Hck5ubS9SdEJLRXdxSENZYlV4dmExWGh3U1hIUTBjQTdFMFY4YWN0WENIajczOE9lUjc4RGJxMi9pSmRDbkQ3cnF5RmFwZDJzMGlDQis4dzkzZFN0UTdVT1RaTnR3NWRNSTJZYUdpK0NpVzRTK3orV3JhZHVqODBTYkdpNGxrOXNXaGNiN2NpeXd2QWNUNGt0TUMvd0lDSkNhRGoyOWc1MXpWL1A3di92UGtLSEJCSXNLVVJ5TENnUVZFRFhsRURDK2lScmY4c1IxaHZpN2lHQlRTeGx5Vm9aTHBHMU55MXBlZmVzbC92S3IveFpQdnFtWWVhL1hsZmVUN2JBMlJZdEZPVTB2bTJlK084Y2RINzJEeGU0T2pETDBSeU9La1NPMEE1M1dITnV6UlU2Zk9rNmF0TWl5TmtwYnZBZFhCbnp3U0ZBNFYyQVFnZ280RjkwVGxQSllhN0hXTXNyRGxOZXNaK1A0Ukt5SVVqSjd6M1l4a2RocDZtVzhYd2VGV0t3R0p1anFmTVlQdHFpNDBCZ3hEeGlqU0ZTQ05ncWNNSmZNYy9PQm04bGZ6RG5PY2NDQzhzUXdmZHh2NzhNR1FkN2Nzelo4bUdtRWJFTkRROE1GVWtjQkl4cHdNSlU3R29mR3k5ald0WTZGNmZFb1BYNVl2VlNpaU90MjUvbWpQL3l2S0FlQnVWNkxvdHlZSjFvVG9DcjhtWDJCcUZDdFBtQk1RQ1dCMGRvS1dVZlJXOGo0NFUrK3g1Zit3eGRaS2s4ZzZBdU95YTNmcmxDblBxRG81MnNvMGZ4UC8rcC81TnA5MTNIb3VwdTRlczhCRnVjV0tKV2hYenAwTUN6dVdpU1VnU0lmNGZKQUNHQjBRbW96ak5HVWhjRlUreEpDSVBoNGZKVkFFRjNkMkUyTGVNWVJUelZ6WHRadHU2N21YZWJxTG9Rd0RnYVhVbUpWd3VGRE56SWNEam41K21rTUdoODBhSTFTQ2dsaGZHT2k5S1R4MkdZR0I1ZjVyamMwdkdjYUlkdlEwTkJ3TVNoQXBtV0NVRWNGdzlUL0VOQktZNHlLSFoxQ0lIaG8yUjVCVzFwNmpuLzZCLzhaNGhSN2RsM0ZrVGRQc05qWlBsNXFqTkpCVURLMXpGaDhOVmx2ak82SkNqRjZhV0ZwY0lwV3o2QmJnYWVmL3o1Zi92b1hXQ3BQa2xvYmN5M1I0NGpkKzVraUlWYk9WOUZsTHg0azVyV1dqRmdwUElhVUY5NWE0cGR2L1J5RlpaRUZydDUvZ01PSGJ1U2FmZGV4ZS90K2l0d1RRaUN6R1oxV0Y2MHQrV2pJYUZDUTJneFVnbEVhaXlGVXVjRGVlNHBSZ2M2U3FjTmVDZG9xUWp1UnI1ZnY4TG1jdzBKTVNVd1JDSzVFSlRFcFdGbkZydm5kM0hEdFlkNDQraWF2akY3Rml3RWZVTW9BYW54ekZWMHRaT3FxYUNLekRSOU9HaUhiME5EUWNLSE1KRDV2TE9pcUk2OEswRXFqdGNXN1FCQkZqTmNtbERuc25OdkZmLzFIL3cyNmJKSFlOa3RuVitsMjVwZzBIWmhsUEtUTnRBV1ZqNmtIZUZBZVVRNXRGYTdzSTBuR3N5ODh3Ly8xWjMrQ28yREgvQnduVms1VTBUdTlvZXZVZTUweTVXZXJGQ2dkSTZlNjJqcGZxVnlGd21JNXpaQ3pSMDd3aXlQUGt0SmxWM3MvTjk5MEs3ZmRkaHZkeFQwTWlyUGsvWUxVcEhRWDV4aXVyb0ZMQ1VGRE1CaWRrdG9NTFg0cUlsMXRVelcwTHRYQlVUT1IyT3FXUWsxeWFHY081R1dHRmsxUWdkUk9IQ3FNTnVSaGhKV0UvVHV2NXI3YjcrZm8wOGRZeHNjaU9CR01NbmdSaElDZ3h4M1pwRkt4MHFqWmhnOGhqWkJ0YUdob3VCRFdKeUZ1UmlVY0ZLQ1V3dmxBREdOcU5BWkZ5bUsyamYvaW4vOUxWSm13Wi90ZVZwZHlpbjdCem0yTERJZmxXSFNNSTJ0VlpEWkc3S3FIbW9obzBkRlJ3SnNTaktlM3JjVVBubjZDdi9yYUYzQ3NrUmpGNmJWanNXUFh1c0swOXhtVG5kM1Y2bWx0RkVvRVZQUTg5VUdxcElzU0VIejFYa2ZCeWFIaXlQUHY4T1R6ZjhQQnZkZHgxKzEzY01PMUIxR3BzRFFZTU4rYnh3YUZMNkVZakJBdkdHUFF4S0l3SkZUSGdpb1NHNlpFV3BTeVFVMkUvdVZJVUFHemlSK3VsbWpOcGtRVG5LQ05SZ2REdWVwSWtwUWJycjJCUSs4ZTVOWGpyOUV2VndrSVZwa1lHVWZINHJQTmttVWJHajVrTkVLMm9hR2g0V0xZVU9vK05hdlNmWEcycldSakFtaTZkb0dGOWs3KzVSLytsL2djZXVraUsyZEhxSkN3TUQ5SHZ6OUU2K3BQZEpVcXNMNVZiSjFZTUs2Y1YwSlFEdEVsb25QT3JwN2h5TWszK2ZxM3Y4U0tPODJ1M1lzc3Jaekc1VG05K1RacnE4TktBTlpMZVQ5VDBMcE9rNmpXTCtDcjFBcGYxNlNwS0NGVmRSeU1VZ1FSSENVRkFoaGFKTHh3OUZsZVBQb3N1MW83dWYrdSs3bmpsanM1dGJMS1luY25XZGJCaU1JWEpZVVVHQlh3T21BQU5VN3JFTFRvR1ZjUEpSc1RMK3JqZExsR1k2ZnhoWTlPQnQ3anZTZXhDWGxSVU9RbHJZVU9kOTU4TjRXVXZIemtGUlR4eGtHamlabXlmcU5WeWxTaGFCT1ZiZml3MEFqWmhvYUdodDhFRW9XZEVsQTZ3WWpGb1ZDa2RKTjV0cy92NWcvL3hSL2hSbkR3d0NIV1ZnYXNyWTNvdGxvb1VlTWhjbFRZb0RtbXErUW40aXdRdEVPVVIzU0pOem52bm5xSC8rL1AvelZMbzVOMHVnbkhUaHdCRFZsUHNkWWZqcGUvTVMzaXZVMUYxcm5OQWRwRW4xZVI2R293bmwwcFNwWEVaMXdSU0JLUGM0NjFNQnluMjU0WUhlVnJQL29ydnZtanIvR1orMytMNi9ZZDR1bzkxMkZNaDJBdG9ncEVGSkpFeTdDSi9WMjFMNkltRWRwS3pJcXEzQXhreXRWQWJSNVovcnRHVjlIWW9BUWoxWG1zbmxkSzBjN2FEUElCZU9pMDJ1aEMwKy8zVVNVY1BuQWpiNzM3TnU4Y2Vac1JJeERRbUNyVm9OclhTNytMRFEyL1VSb2gyOUR3SHRuZzR3cFZtY3lGdjM5OWhHMnI5MHhUdHlaVlNqVlJsVXVOTWRHc3R3NENWdDFtSlV4RXJGVWFRd1ppVVJoYTlQall2Wi9nZHo3M3V5U3VoVW9NeTZjSEtBK2RySWM0UlluSG1Oa2VwQ0tDSUxHelUyVXBGVU8rc1N0VVVBWGFBc3B4WnZVa3g4Kzh6Wi84di84S1R3NTQrdjBSU3NkQVpENmNERHVyT25keUtscFgyeHZYd2M1NmRGN1dYYTZ5eVdoOThMRXdEWmcxREtpZUsrdjNHQ2pOYUd6MjRFTk11VFVHbkZjRUhOOTQrcXQwMmNaRDkzeWNHdy9leW54M081MzJJc044aERVSmFkQjRGeHNxWkdrR1FSRUtGMXZjR2dOQnFpWVFzZXhwTXBYcFRabzZ2dXMrYzVXUDdGYjJXdVBYeXV6bmU4UEwxODhYcGhvOWJFNVFBUlVVdytFd1poa3J4YkEvSWhCb3BXMWNXYko4OUF5Zi90Z25PWHZ5REMrZmVKRlVaVGdwMEdpVU5yamFTTG8rRCtmcUl0SFFjSVhTdEtodGFHaG91RkM4QjZXeFdZSzFDdkd4STVZRTBLTFFXQ3c5SkNRRUVyWWx1L2xQZi8rZjgzdS8rNTh3V2d1b2tLRkNoZzRKU0lvS01YOTJsakNPbXVvNndsdEY4VmJYbHNteWhLeWRNQ29IYUJQb0xyUTVldXd0L3VLTGYwYTBBNHNGVGtwSkxNaFN6R1JEMUttVTArbXlXc1hJcWxLZ3FnaXIwbEZrYWh1bjF0WnZzclB0YXFmSzVHY0U0SWF3TWpFNEtrQUtxcTBSQlNNZmMybDc3UVZhcHNNYXEzenIyYi9tVDcvOHAvejg1WjlSbWlHMkp4UnF5R3ErakcwcDBwWmxiYmpDYW44Sll5QnRwWGdmUlp5YWp0Qk9iY2FsOWpMUW9tYUsxYlNvRFM0R1llcjNPbktySkJiNEdkRXNadk80bFlMYkR0M0NIbk1WdVF4SnF2UGg2czVmNjVrcFRHeG91UEpwSXJJTkRRME5GMEk5TWgwQ2JsUW5pY1lpTHFNdFZxZVVYdkNTb0VoNThQWkgrTnhuZjRkT2U1R3pKOWM0c1A4Z3F5ZlgwR0ttT2o5cE5wTmEwNDB3cG1YdTR2d2NvN3hQSUtjemw3SzhkcG9YZi9wenZ2L1VkempWUDA3QUliaHFxSms0dWc1akZXdHRqT3pIcm5DQ0QwSUlNUkJaRjFHSnJQdGRUYnAvcWFvQlF4ek9ycmV1VGp1WWRKdWFvYzdQMUVBQ3FtMVJIa0xmVlVQakdvOW1lZGl2dW9SWk10cWN6SS94bFIvOUZUOTc2V2ZjY2NkZDNQSFJ1NW5yOUNpS0VUNFA2RVNSWlMzUUNuRWVyYStNRVF0VmRXU3I0N2pUWWxhbTJsV3NqL01xVWJSMWl6UExmVzY1L2haT256ekZxVmRQSUNnY0RvK2JmY2QwQ29aQUkyWWJQaXcwUXJhaG9hSGhJdERHb0pWRmZDeGlVbGhDTUpSWXRtVzc2SFVXZWZ6UnovRGd2UTlCc0dpVmtyVmJISG45S1BPOVJXYkxrVFpqdXFsb0ZERDFhNDJGVVRrazdTUW9DNy8reGEvNDZ0ZSt6SEk0UmR1MEdQb1NRYVBIclhPbkxCQUloTkxoSzZPbTZLY1ExV3E5aHRUR1ZyaFVZdFlxRFFaVWlEbThXbVhVRFFwa090S25wc2V3d3lTeU9DWFNnZ0x2QXJMcVlzcENzSlZzVFdqUnBwVjB1UG5RelNSSmhyV1dOOTU0aTdmT3ZzT2JaOS9nK0JQSE9Ybm1CUGQ4OUY2MjliWXgxNXRIT1kwZmxkSFpRTXc0ekt5bWlycWlyWlhFa1BsbGtEdXF0eWc0RzR2WnFTanRXT2hPWFNjeUVsS2Ywak1kRHU0L3lLdHZ2c3E3NVR0VnMyUk5PWDdoMUhRcW8rRUswUGtORGVlbEViSU5EUTBORjBpdjIyTXdHT0dDUjVGZ2FkRXlQWFJJRVRIY2QrZkgrZXduUDgvT2JWZXh0TFRHWEhzZTBLd3VEVmljM3c1dU10d3R5RlEzcW1ueFdvdlAyZ3cwaWxsUndzbFRSMW5ZTnNjb1grTm56ejNIOTM3MEJNdGhDU0V3OG9NWWlSMmp4OU9xdkloZU5zOGdYME1RREpEb2hFQ1k1SE02TlJZOUdvbEZWazVRbFYrQ2w3aDlHcW5UU2F0dG5mWlNpSjY1azU4bmREdHo5QWVEMkN5aHRaMlF4M1hjZHVnT0hudjRFOHpQTHpJYXhSNitodytlNHEwamIvRGN6NTdqMVBBNFQvLzhCN3p6MWhzOC9PQmozSDd6SFlnWFJzV0lsdTZRbVRhdWNHUzZGUjBLcmtDQ2l1a2dOZXVGckJhZ0RPem9iR1BseERJNzV4YTU0OWJiT1BuOE1VYWNPMysvU1psdCtERFJDTm1HaG9hR0MyUnRiUTJGcHR0YW9CaDVCRU1uWGVTUmozMlNlKzk2aUVQWDNzaGJieHlodit5NGF2c0JUcDA4UXo3c016Ky9pRUhoWm9UbXVzb3BKWk1pc3FtSVdsMmxId2pzMzcrUDVlRVpYdmpsVDNuaXlXOXhaTzB0REFwRHdvaVNpUXl0cmIvMFZENXJZSlNYeEY1Y21rREFCMFdvVWdXa0VzNkdHQ210UmJIRHhXS2lxczFCemVZRkYvNmNiclRsd05HbWg2RElSdzVEd2wzWDM4ZERkei9DdGJzUDB1LzM2WGJtYUhWYmJOKytrL21GT1U0dm5lVFVTOGR3bEJ4WmVvZS9mdUliSEQxNmhQdnV2Sis5dS9iaCtvRlJmMGlXWkVqbHc3cmhzS29wdDROTHlFeERoN29iM0pSNERTcDJhVk9pTnhHeWlnUkRMK2x3NHVTN1pMdmEzSER0SVg3K3l2T3M5VmZqOG1xUDRhbnJwODZQdmd4MnY2SGhBNkVSc2cwTkRRMFh5SzRkTzFrK3M4cG9OT0xxUFlkNDRONlBjK2RISDJEWDlnTW9uN0d5bkxObjE3WDBsd2E4Ky9aSkZoZTIwOHNXV0YxZFJtdE5rbVRNZEFLcjBqcG5nNGhUdnExUWhXODFXbnRPbnpuT0N5LzlqSjg4OXhTbjFrNmlBWU5CR2Vpb0RyNGFYTlpTZHdBelZVNm1CUUlGSTVTT1ZmRGFLdnByQTNKR0tEUnRrekh5T1FaTnk3WkJDNzRNR0NtanVGM25xakJMSmRDQ3pPVFdUazhCY2hteHU3c0hOeFQ2WWNpQjdpRWV2dk14RHU2L2laV1R5MWpiSXM5TFZwZlA0TTJJM1R0M2MvY2RkL0xHbTY5eGNuaUtUdHJseE9nb1QvN3NOQVRGZzNjK1NDK1pSMnVEVFF4U2hPcDRYbmwxelZKMUlRc3FWRWtoNjFNTE5LbEtLUHNGcmFTTkRwcTVib2NiRGg3aStBdEhXU1kvcDJDOURESXJHaG8rRUJvaDI5QndnYnlmRWN0ek5YNjZjRUlWc1ltZG5FU0ZqZjVJNDJRNHQvbnpId1FYMGhUcWc1ait4cWdIWmFlN1h1bVorZkYvemZMcGdqdHZlWmlISDNxVVF3ZHZKalU5aWlFVWE0SFVLSHpoRVlaMFdsMDZtU1lmRGxGSzBXMTNFQkc4ektZU0lCcFZkV2JTNDFNWkJhUGc0L25XSG9oZXNWbVNjdU5IRG5QTndhdkJDaWFKSGJTY0svQlNrQ1RKZUErb0JXeFZMUzhxdmxhWjJGYjJ4SWxqL096blArV0ZGMzdPU0VaNEQvL2luLzduZE5zOU91MWViSzlibExGbHFrbElFa05lREdlT1hMM0pkWVg5WnZaeE5VckFCazBvQlhHYTFHUWt1b3NOR2ZsU1NkY3NVZ3h6ZGl3c2t2cytTOE9UWkpLeWZXRTdPM1l1Y1BMdFl5d1ZKK2lrUFNnQ1Q3N3dMZDQ1OGhhZi84VG5PYmp2TUtQVklWWW5tRG9nS2RQcjFqUGJPZDdXS2g5VlZUbkVzdVVISlVhMEx5WnI0WHdmd1hGTjNOUTJqdDlUUGVjMUxDOHYwZHUyeU1nUDhMbHdlTzloWG52OVZmcHJBenc1TG9RTkRkeGthaDhhR3E1MEdpSGI4UGVhODMwUnpYd1JqejBqNjhnSXNYdk9ob1Z1WEs0V052V1JuZjRhbVo0L1BaUzg1YmJoZ1J6SGlDd3o1RVgwNU5RbUpFQnRaZ0FBSUFCSlJFRlVQbHc1OGY4Y2I5cFU5VHN3U1YzY0FuV2ViOXNRdUNoQkt1ZVpyOVRHU041MFJHKzlibzhiemRobUtweXJLK25Vc1AzWVM3VWFkdGZVTmxnR1N3dUZxZElBTkJsdGJyNzVWZzVmZnlPUGYreXpLRWxBTkZKRXdadjV1QXpsZFBVSE51Q0tBUUMyT3Q0K09FVFZBKytNSTI1S2RMVGdrbWo0S21Jb1hNNzhmSThpRERsMTlsM201bHQwRjFKT25EcERxbHNrV1h6RUc1dTRQcEk0clMyb0prd0VYRkNRdEZzTThsV3NWYlN2bWVQNHlSUDgvSVVYQUpqdkxiQjlZUmZ0cEVjcm5TTlJLY0VveE1mallIVWdUNGFnWkN6NDZ0cWxNSk9GeWZpRTFjUDVpamhjbm9saE5NaVJGTnF0TGtqQ2FNMFJpa0JpTXlRSHM1cXlxOWRqTkZ4RjU1cGUxcVlzUjRqS2NhcGt4UTFSeW1ERTh0cVpYL0NYMzF6ajQzYy95b04zUGN5WlkwdjBzbm1zV1BKUkFhTHB0Tm9vcGNqenNrcXpxSytIQUVyRnNqY0pzZWhOSnZ0Vk42aVF5aVMzL2wrUGIwS20vajZNZjVUSjdrL05uM3dNSjgwdVpOM2ZGeFNZcVdLdzJwZDRZbDByNU5vUjJpWTZTSVNNc0N4Y3ZYQTlEOS82R0VlZk9nWUUydTJVMVh3QUJreWk4YU9BSXNNSFA5Nkdob1lybVViSU5qVDhCbG1maHpjdEpPczh2YUEydk8yOUlaclNsWWdQbEVxREdGQkM4SjRRUU90MVFtNjlpSVZvYUgreDBkbjFvdnY5VE5XNTUwLzV6VytjQ21oVEs2ZktwcWdTMWxJSjNqU3gwVVhWQjd6SWVENFRyWURSQ2FsSkNVRndQaUFZVEZXNFZlQVJMRHZucnVMbWo5ekdYWGZkdzNYWFhrK1dkQ2hIZ25HZEtHVFovRVpFalc5YXRoQUxhcktEU2lUZThLREdlYXdpd3ZadE8xbnVuMlhvVnRsN3pSN1dScWQ0NWhmUHNyUnlHcXRqdTl1dENHRnJrU0lvOHRKSEEzM2pHSlVydlA3R3I4aGxCU0d3dEhhUzUzLzJESW50MGpaekdDemlOT0xCS01Fb0NDcjYxQVkxRWJFQ2hPb09TdFpGT09zaXM3cGRyVnNyNmJSNzVLNmtQeHl3YlhFbk4xNTNDL01MOHd6UHJyQjcyMjdXVnZvc25lM2ppNENJWlRES0dib0NySW8zWWdMaVBkN0ZSSXFqYSsvdzgxLzlsS0lvdVBlMkIzQkZnWE1PWmFNamd2ZUNlQThCdEpvSWJxa3ZuK203by9FZHBZcHp4VkpmUElMR1hLVDd3VG1IL1d2LzI2a1g2Nm5QUkZEZ2phSlVBU2VnZ3lVSkthbTAyTkhleWZYZFE3emNmNUZpT0t6dnovREZWTi9nSnJtZzRVTkNJMlFiR3E1WU5OM09kcUJOY0FGdE1vSWZBUTZsQWxxRDByVXB2SzYrdDB3MWZGMTlnWituNHVWY1FnZ1Z4bDNHTHBTNkM5SldRVm10MUpielViSDVRTFdrT2lZNE52Z1hnYktZZW4wMVZhSXhPcmIvOU40alFWR0V1Z0FxUmx6M1g3V2ZuVHV1NHU2NzdtUFBybjNzMmIwUGExUDYvU0dyU3lPR21qaWtyUzg4OTFKSmRBS1llYUtLOEFzQmxDYUlzRG9xV0N1V3NWbGd1Yi9LVXo5OWtpZSsvOWVzcnAxaEZOWXVlUDBCalJEOVN5MkJnaUZRQWdFRkZQVDUrbmYvSEVneHBGV1V1bmFPRGRVeHJhMmhwbHJsc3I0YVBveVB2NTc2WFZjUjczbXpRT2tkYTR6WWtlNmlDSDF1UDN3MzdkNGNmWllZMEtmZGF0R1o2K0QwaUxlT3ZjUHhNMmZJZzV0eEZGTmFFMEtnSU9mbFl5OXo2dFFaZHV6WXhhNzUzU3kwdDBNSlJURWlrUlNqN093V3FvbEFmRDlIOEZLamlUZEEzdnRvT1VZMEFWNmNYK0NqTjkvS2E4LzhpaEdRSlFtRkt1TStHa1VJays1bURRMVhPbzJRYldpNFVoR0RjeWxXNzhDRkVjRjc0a2ZhWVpUQ2xRWHh5N1l1Rm9vU0pPYUF4bUtmMkdMMEFyK1E1U0xldTQ2dGhLeHM4ZnhFUHV0eFBETEdtRGIrazNYL0lJNGNDM0Q5M2tQczNyR1RBd2V1WmQrKy9lell2b3Y1M2dLZHpoeHAwbUoxZFlnV1F5Z05SYUZKOVR6ZDdUdHBKUzBTbTdGNmR1WGk5bnVjSnhGaTlIYnN2eHFIL3J1OURrZFBIV1BiemptU2p1TEpIenpCRXovOEpzZFdYa2NvTVdQWnFDOWdPcEgvQmZsWTFpZ2JQV05EQUpHeThwajFWVEJiOElRcThVTGpwMUpyNmkyZkZyV1RzeFRHcjZuUFZaM0NjY29QRVFLQzVuZ3g0Q2N2ZnBkMkwrR2VtKy9sM2JkUGtOcVVkRzRiYTZNMVhuLzlWenp6eStmcGh6em16L2d3WHJFMnNkQXRoSkljelhGM25LOS85MnM4Y3UrajNIN1RQQ0thdko5akVrV2FwTlZHVDhsdkZTWmIrQjZTWHk5OVBGUE5qZ0tvMk1hMktBclNUc3FCdlFmWU83ZVBYNisrUnZBT2F6U2xCTFRXaFBKY09UY05EVmNXalpCdGFMaFNFY3Z5R2NkSGJub1E1d3EwQ1pURmtDd3oyRVN4dkh5V0xJbEptZU1JckZSaVZpd1RjL29MRjZPeWFaTHE5UHh6QzRKeHBLNUtzVmcveFlkTm42OER5Wm9ZV2RWYWIzZ29wWmlibXlOTlV6cWREZ3NMQ3l3dUxyS3dzRUN2MTZPZFpuUzdDNVI1UVo2WGxFWE1zekNTNG5OTFhoaDJiYnVHdGVVMTFsWUhXSnZTN2ZVd3hqSllIYkt5Y29iRnVkNEZIN3U0L1l6SDVHVXNwQUpCZTBRRlJpR1F0Z05yeFJsZWZmVkZudmpSMXpteTlHczBPUUczV1liMis2S1ZwWVRnVUJKandVRk5DVkZkUFJjY0ltNWM4bFlOc3M5a2hZUjFQMC90RmpEUmhaTmJxZmhLbTJxOHp4RWQzUTNLUW5qbCtBdklzd1VyL1JQY2U5dkhTRFNzbEdmNDVWc3Y4cE5mUHNQTFIxNnFsbHBGSUNXMkt3c2hZRXdBYlJBWGo4MmJxNi9UZWFsTnU5Zm13SzdyYU0rM1VDVTR5Vkhhem5yZm5vTU51ZVd6ZDFPWERQRUJxKzFZeEFLVVpRbEZvTjFxYy9pNnc3ejV3aHM0VjFaNTE2RUsrZ2UwTVFSLzZhUEtEUTBYeTIrOC9yZWg0VGRIajRPM2ZJci85ci8vWXlRa0lCbUtsT0ExMW1RNFg2QlVBT1VZUjF4azZxdFVZbVBPY3pFdHhEWXIxdEpidkgvOHhUMzE2YXB6SjhmTHFkTTcxV1IrUFIwWHhhelBzWjNkT3JZdGRIbmpqVit6dUcyZUVFb0cvV1dTMUdLTTRIeEJabTIxbk9uQlhVMWQ5WXc2OS81dkxCYWFKcHc3OVlCenB5YW9LaS8wWE1Hdjh3bmhjcFRITDNIUm9DWDZuNm93bmhwbFkwRmVVQk0vem1vK3dOcmFBSTBtU1JKYVdZZk1abmp2R1F4RzVNTVJJdEJ1ZDJsbEhaUUl3MEZPVVJRWWs1Q21GZ25GK0JodW1pTzdUaWxONzZzRzhLWjZ2MGNvRWVYeHFveGlVZ2RjY0xUbUVuN3drKy94cGEvOGU1YmRjWVFSQVlmTll1ckVoUkx6TUNlL1NKMDJXWDByNkt6S3NaWVlvbzJpMjZPcUxCV2xpSzFsbWNxUEhSZDdNZlB0b3FmMlhjbmtjMUhJMURycjdSR3dRdVZmbTlGaEhxMFRWa0svYXJqcklETllDNUwzRVZkT1NxYnFEUXNLaGNHUVlrbTQ1YXBiZWZ5QlQzTEQvaHZ4ZlNqNm5yWnRWMzhEcWxXTGg3b1p4UHFMVWxSVjdCWHpsbXQvVmkzaG5PZS9mbTU5c2VmMDdvNVhzY244NmMyby95N1Vyd3NLdkhpVWlwRnRMUkNjcDVBQ1ozTkN4M055ZUl5L2V2TEx2SnUvUzBHSm55b3VNOWJpM1VWY1FBME5sd2xOUkxhaDRZcEZjZnpZR2VaNk8ybWxIWHdvc2FhTjBvSXZTK1o2R2NOaEg1aTI4SW5WOEdwR1BHOHRGdVY4TWIvZ3p5Mkd6eEd4cmI5NHp5Vms5VGx5Y0JWZzAwNjFIUk9oR3ZDVmdYekFxaVFPaTR2Z2c4TTdtUWhiRVhZdDdDTWZsWXhHSTFZSEJYMUtraVFoU2RwMDV1WXBpZ0x2aEg0K1JBa1lZMmxuWFpSU3lIbEUvSG1SeXQwZ2FFVFBMcXVPeUpZVXZQR3JWM25xSno5bTFhMGdDRW1hTUNwZGRHZTRLSHRVVFdiYVFFQlV3SVVTSDhKWVRJYThLaUNVT240YUJmZUd5R1J0dWcrenljalQreU42OHRyeEM2cllyNm1yL2lGcnFkZ1dkMWpnU29mQ004UkRNQ2hsOEZKR29lcEtYQkVqeVJhRDRLYUV1SUFSUkFMYUpMZ3k1NlZqZjh2Y0wrYlJHUFl1N0VObkNhVXZTWlJCeG1rV2szemY2YmEyOWJFQ21TcTJDdWY2MlB5ZG9DVm1WdGpFZ0k4M25kWVlNcFVnVWlMT005ZGE0S2JyUHNMcGw4OU10YlB3VWNUNlJzUTJmRGhvaEd4RHd4Vk11eldIVW9xbHBWVzhMK2wyT3hBQ3F5dXJhSjNnWGZ5SXkweHF3VlFBVE02ZFl5bDFBY2xXdVpZeU5WV2JUQU9iUDErOXo1TEdxUGtXN3c5KzYvZUxDb2dQVTFIYldpU1pTbU1ZQ3FtS3B3VEFvaFVZbGFKTWpOY3RueGxncmFXVnpxRXlSUWlCVURyS2thY2tpbXl0TlRiSjRxS0RJRldoVEcwTmRuSG9haGthUVJPVUgxZjZpNEozMzMyWGYvMXYveCtXM0NuQVlzbklpMVVBeW55eWpBdENOQ1B2S2tsWjNiQW9va2VZU3NCNUlHVVNvaVVxWjFYRTN3UEU0WDB6Q2U4cU50N1lUSStDVUplTHhaK3RzWlF1Qnh3S3dRMGNqbUlxTUN6a2pPSmVxaW9xS3FCTWhnU2hIbE14T2hsSHNxZHpJQW8zSUhZMTB6ei8ybk8wYk1iQ2ZZdnNYdGpONE93UVVkbkVXZUpDaXIzT002THhtMFpFWXM2ckQ0VGdNSW5GbUFUbmtoalo5aVVIZGwvTC9NdC9pK05VbGUwc0pLbkJqK3FGWE5KZGFHaTRhQXp3MzEzcWpXaG91REJTdHUwNnlDY2UvM3lNSEdGUkdFUVVXbHVDK05pcmZCd3RtaDdIckI0WGtPTlo1Nk1wRlV1SjFyODJEajNLekZRMis3SmNOeHpMeGxremdhM3A1ZGNQSDhDSGdEWWFtNlRWK2lCTld3UUJqWW01YzhvZ3FISGwrYVEwU2xmN1VSbWMxcTB3cDRXdm1uMWVSSkFRaTZnbUxWQ3JJVmQwRkhxaXhyOXZOUjhSZE5CVi9tRTFQOFJJcDFRUlU5WUo4UFZUTFFwZC9WTVNpN3VRR0ZHcmY0OTdPVFcvU2tVTklXQk5iTCtLUklzdXFtRmhyVFJhYVl6UzhSb1NrQkRyL0pGWTZ4OGx3U1E3ZFBiOGIzSCtaSEwrRU0xb1VMSmordzZXbDVmdzRtaDFVa3J4T085NC9lMDMrTC8vemI5aEdJWWtwQ3gwNTBtemhPQThpQ2ROVzNoUkpFbEtIVmhYMmxDcnVTVE5xaHhJZFk2SHdkYnBGd2pZeXJPdHpnMndhU3lJVWdxTUJsK0FCTFN0UGpyamlPMVVlWjVNNVJTSVJ0a0VYTHdHdXUwWUZmVkJTR2hocE0zZWhXdlFMa0dMSlNFak5yNDExQzY3OVNObU1GZkQvdDZoaUNraUNvVVhINi9QNlVUZStnUkl2UEVTaE5Veks2UW1ZZnUyN1ZoanlJYzU3VmFib3N6eElUQS9QMGZwU3ZxREFYUHpjN2d5cmxVTDQvTmU3WGpjdlMwLy84eXcvaU0rZXlPNXlmdkhUODVlUDlPcFNRQkdXY1RIbTFHbEZENEVuSGZqNjlMN3dKNDl1M24zNkZGT0QwOWhzSGdjaGVRYmx0L1FjS1hTUkdRYkdxNW9wajB2MXcxMzF0SFNjUVNzRnZMakYweTk3Z0ttSHdKMFBVdzgxYWxweHBaSVZmTnJOd0dCNllOY04yaTRFSUlLMk5SeSt1eHAydDBXV0U5L3VJSkpGYSsvK1RyLys3LzdQekZZSHI3M01lNjkveDUyN2Q2R05pV256aDdqMmVkK3pGUFAvSUM4T0VaWmpNalNObmt4ck83TEFncERXWXpZTXBKZVhRK3FLdHRLakltcEE4cmpGU0FPMjJyaGhnT2laUnRWTW5lOHhrTEpSR0VDZFFNQjZwelI2ckswV1lZS2lxQVZCTTFvMkVlaDJKYk9jOHROZDNMblJ4OWh6L2E5NEIxRnNjYXJyNzdFajMveVhVNE5qeEFJTVcrNFhyV2FuSktKVmwxL1RhOTdxcnFYTWtvVFhNbXluT1hucnp6UGpwM2J1ZlBtdXlpOElzK0hhSzN3RWxoZVBrdXJGUXNEVjFaV1NHMTJZU2YzVWxHZEF5MGFBclJVaG94Zy8vYjkvT3IweXpoeUJJbUZYcTV4TG1qNGNOQkVaQnV1WUQ2QWlPeEZoaVRVRnUvZklsVnc5dmYzR1pIZDdIZXBJbFNxS3F1V2FyaGJRZHp2YWpjVjlmektqa3BOMWRpb1NvVFUwYTU2dXY2eGZqNVVVYkZRTGV0OVRpV2dKZjQrRVl6dmI2ckdPYjRYOGxBeHdqcXB6Qm9mcDdqUHZoSjZrL2VvcWYyUHg3N2VsZ3M1ZjRwT3IwUGhDM0kzQU9zeG1lTHBaNS9pcTEvOUtsWW4vTWUvL3dmY2UvY0Q3TnEraDhIcUNIR2FxM2RmemFGcmJ1VFF3VU84ODlackRFZkxPRmVTNkJqbHRnbzZyVGJCRlNUYVlqVllwVGRPbGFwY0p6d2lCUUdaREZBb0NNNlJ0cUpyZ1VaSWt4ai9KTVR6bGxwaVJGMHB0QkkwQWEwQ1NsVzNUZ3BDNmNDWEtBa1lCSXRpMy9hOWZQb1RqL1A0STU4aGM0djA3SGJTa0xGemJoZFhiZC9IWEhjZVNzWEpsUk5FczY5QTBQVjFYUGRicXorOUV5L2NqUVZhMVl0VUhZbVA3MWdyMWlBRTl1N1p4Mkoza2VXenEyaWpTVnNadytFSVl5eXRyTVhxNm1wbDA2VmpYSCtxcFp5dWIyQzJTUEErMytkMldtZWY2LzNuWFk1VVl5TGphemd1TlJiVXFaZ2o3QnhabHZMdTIwZFlZaG1QeDV0eWNrL1QwSENGMHdqWmhpdVlSc2hLMVNKcHcrdlc1ZTZwVFg0U3RiWHJ3bnNqVkFrSk02RzU5enlOb21UU3lPRDl2aCsyMUJIdmtlb21vQjZTWmtySTFzdXZSWDRsWUtmbmk1SXRvN0h2NWZ5SkVrcVhvMnpBWk1MYTRBeHZ2UDBhWC83cWx6aVJIK2VmL040L1lmKythMUJZY0lxV2FaT3FqR0xnOFFOUFpsUDJYN3VMMTE3OUZhTjhGTnZiRWhNcGdxdWNHK29XWjhJbVUyaXBMa0xzenFXQkxJTzVMbGdMWlJuUGo0MGoxNGdQcUtBd1ZZSktKaGxoZkI2ckxOK3FzcjUrTEdSZFVwMWlKVUdoYU5QaVkzYzl4RDIzM1V2aVd5Uitqa3g2OU0vMnlmdU8rZTRjMSt3N2dES2FsMTU1a1lJaXVoUk1SV1JuaFd4OTFxYXZRV1l1RXlXNmFxc3JwQ3JCVTdLMnVvSXJIWWV2UGt5K1ZtQ3RvZDF1Z3doNVhoSjhJRWt5RkRyZWJOWExHOS9BVFVXRXovSDVQZC92RnlOa2xXaDBkYzVqd1Y1MU5JVHFlWTBSamZlQlRyZk44bkNGZDFiZVJ2Q1VVc2J4MkNZbzIvQWhvRWt0YUdpNFlxa1VCaE14WEgvaDFzMUFhNXVqU25wdDlwMTdTUkdZQ0hwbXArL3AvVk9DZmR6c1lJc2xySit2cTVXTjdjK3FvN2JaKzhmSFZYMkFhWVhLc3pKY0l1dG9GdWJuZWU2WHYrQXIvK0ZMbk03UGNPUCtqN0J6MTNiMlhiV2JwZE45aW9ISDJoUWxRamtvU1pNdVYrMVlSSFRPbm9WcldGNGUwYk05Q2xkUVVLRFJCTUpVdTRpTkJFQkppa0tSNFhIMDhYbWduNE5Ta0V3dUw5cTBDV2dTTWp3ZVJSU3lwbXFVQUlGSnZ2Q2tzVUNleDIxUUdGSXlEaXdjNU9DZW05aWU3V2JsN0lpV1NwaHZ0V2t0R0FhREFhUGxrdTVDeW9FOTEzUGI0WHY0NFN0UElKU2czUGc2Q1RJSnRzcllUbXJpZkRCOWdoUWFheXloRXVzMk0vamNzZUtYZVA2bG4vS1JQYmR5Y005aFdtbWI0WEJJWWhPQ0R4UkZRYmM3aHl0bWxWN3RXcUNtYkt3dVA2cDhjTkdFQUZaYkVNdjErNi9ueCsvOGdNeWtER1J3cVRleW9lRURveEd5RFExWE9tTVhnSnJwbit1NDFSYlI1Mm5ycFBlN1dwa2VtOVRFOE03MGRIMU81am5tUy9YODlQUWNiZ2FUN2I3dzhkRkFIUDZPSXZVOUxtUDk5bDBVZ2UyN2V2VExzenoxN0pOOC9XKyt3cW44WFZxMDJMZC9OM056YlU2ZVBFbXF1aXgwRmtoVmhnbVdPZVVvODRMK3lWWDI3TDJXZi9RNy80eEJmd1Fxa0k5S2JLS3hKbVd0djBLV3RyYzhma0ZCZnpCQ3A1Q2xqdGZlZkpFZlBmVWRWb1puNktRSjNnV3VPM0FEZDkzK0FMdTM3Y2NYaGxiYVEwckZhSkJqRXcxS0ViU3Jia2lpRCt0MGg2eUZ1ZTBNVmdkUVFHSmF0RXlIYm11ZWNpVWw4d21qWVo5OFpVUktpMTZueDNBNFpIVjVRTmJ0Y2VOTnQvSDlWMzVBZEVWd205N3d4SnEwU1c1NFhmcFhvMUNrS3NGcGpRc0ZhNlBWeWtZTVZ2d1N6enozRk5kODlscGE3UVhPbmwyaW5iYnBkUmNaRFVia2VVNXlCWDlGYW9tRmxRYUxjeVc3dHUxa3A5M0ZjVGsyZWRIRkQwbzFORnh5cnR4UGFVTkRRMFFtZGtheFlIemlKUkNvamR1cllxL3BpTlhZdGIwdTRwTFo2WWIxcko4ZkJaRWFMME5tcDRyWjZXYnpxZnhGMGRWeXA2ZnI1MjgyclVVeFV6dTIxVGZ6SnZPbm9uc2dWY1JWWmlMWms1Y0tLRjBaMWxmcnZ3Z3hHMVFnOTZ2ODdhdlA4NFV2L2hsblJpZXhhSEw2RkdXZmJkdm5XVGxWWU5HNG9tRFFMMGk4b1pOMmFKc09TaFJuM2ozRnR0NGhkdllzUlptREtOcWRGZ3JOS0IraWxXRmNrYlp1S2dyRWFEQUJyVWVzTGhjbzl3eWFuRkh1VUZqYWFpY0hkbjJFcS9mZXdHQ2xwSlhNazZnV3cvNG8yajdoQ05wVmUrUXJQOXlBcXBKdHhTbDY4eEFLSVZFWm5hU0hMNFRRVjdUYmx0NjJrdjdxTXRvN1dxa2xsQWxCQXFVRVhDbDRMQ2dMcXB3UnJHRjh2VTl5bEpWVTdoV1ZuSVVvWkozemFCMmZjNVhmckRZZ3p2UGEwcTk1K2VXWFNUL2FJbTJsbE03am5DTk5VL3I5SVltNXZMOGl4eDM3Wm9aYUFrb1NBQklNaFhkWU1TUW01Y1liRHZQbVMyOU03aWNiR2o0RVhONmYwb2FHRHpGYlZienJyWFRZcHN0WUg1RlVHNWN4U2ZHY3JBTzIxbnZuV3Q5bVQxNkE2NEdlL3AzM1BvM0hUSS9UbmMrM0M3T2QxV2FuNTl5bmpVdGlzcmJwaVBkRURhamFrVittRzFEVXhHRjMwYlh2YlVCMHprOWZmSnF2ZmV1TG5CNGRvNWQyV0N2V1VGZ1d0aTl3N05pN0xIYXVRb3FBVnREdHRqRWhRVXBoNUR3cU1ZQ21QMXhqZFhXVnNzeEowNVJ3T2xDV09VbVNFRUxZNUJyVDR5M3lHdko4Z0RJNVI0Ni9TNzhjNFZGMDdUd0ROK0NkNDBjNXVYUUttM1E0Y1hTSjFIUnB0M3VFSW1DdHhZZUNNT1Y3TzI2enEySWgzbWcwWXNmQ052TFZncnp2Mkx2akFJdWRuWGdIeGNCUjBzZVlCSnUwR09SRHpxNHRrYzFuWkcxTEdjcW90MFF4YnE4cTlWR3ZqKy9tTnhKMVdrVnFVb1oraUE5Q21pUzRNb3B1WlJYT09VWU1lZWFsSDdPNGJ4czNYWDh6cTZjR3JLMzFtV3N2a09sMHZEeFJBVUVJNHdMRDkzcmRiUHc4cTNVL3I3K0czMi82VCsxRFBEMDZVanVnS1d2d281eEVKL2d5Y04zKzY3RXZhVktkVWZpOGljWTJmQ2hvaEd6REZjOVlwRlYxRjJwNnV0bkl1cXg3Yi8zMEpqNk81LzFTZVIvZk90TStvdVBudEV3TmkyNWM1UHJ1VWZXK3pXNkFtZHB1bVYxK2lNVktTdXBDcHNteGdhcUY3UHFvNHFRNGU1Mm5aZFY2YzNyNU1NNVRuYzVCM2F4Rjc0eVNuQkx4azlPeTBTZHp1ck5YN2FNWjZxbWF2RnRQYjlkN2ppaFh1eXViekYrL0NQRXo4eFZVelF0R3hBaVlqY1ZXWXBHZzBaVy9xbk1PbTFtVWRZaFdERVpycEMzRHl0b1NKNWJlNFYvLzZmOUdzQVdla3VWaWhZUVdBZUhsbDEvai9ycy9qcWhBRVVZWUVYU1NJRUdSbHlWS2FXeGFJc2thLys1UC94ZCsrZG9MdEhWQ0hvYkkyTjgyak05S0xNK0twWFdoS3MveWVHSWpoT2hjUU9WQUFjS3lpem1VUndkdjhTZGYrR01tRm00VGdhNkJ1YVNMS3oxeEQ2QytGdEVPcFQzS094Q1B4WkxRNW1EdlJ2N2g1LzZBbTY2L25TTnZueUpOTzR4eVJ6S2ZrdnVja1IzUm1VOVpHcDdnclRkZndoSjl2cnhUTVRLN0xpZWMraElRS3BrNXdlTXBmVG4rZlZnTzQya1Y4SGw4VTU4Vi9qWi9rUjF2N0dMbnJsMTAwMFYwb2RCZUk5NFNUQ0FvaDJpUGlNY0VIWTlpTU9PMWpLL2pUVnJVMXBzM1BaLy9uNzMzZkxJa1MrL3pubk5PbW12S2RWVjdPNjVuZHN6T1lPd3VCb3NGRjBJQUN3WEZDREtnVUlRaUZQeEhGTklIVVdBUUFFTkJCY2pGQXVRQ3k0VVJDQ2tFa1FoUndJSndpL1hqZG14M3o3UjMxZDNscjgzTVkvVGhaRjVYVmQwOTNiTlQzZHZubWJpVDk2YlB2SGVtZnZtZTkvMjlaZHZpVFE4WUU4c24zMWMvOTlITmZOYzY2UXNQTGY1L2VKWEhOQTVuYzZKYWpGUUNwUlV6NlN3UFR6M0syZlpaQUFvSzNEWVBBNEhBL1VJUXNvSEFQY1NkVnVGUC9rMGNEbzI3TWlLN3pZNXZjMmg4MkpxejNHeVFsZkR4L2dpT1JvWS9qZ2ZyNlBIbHlOUnVzLzFXOStOV092ZmpJckZZNTcxWHF3aXNQNDRzVytTQ1VncUhJVktTeTljdXNyQi9oc0wxT0gvMUkvN0QvL01OREQyczAyVXhVdVFMbTFCY3ZYYUoxOTk2blMrODhrWGlXaDJURjZ4MmJpQnRRcTFXSjFJMStxTEx5UXMvNHVyYWFUUWJkS3h2YXFDa28xNUw2T2MrRWltVXIrelBpd2tWcEdJWUVYb0Fac3RJOHFoWDhjalV3VnJSOFE5R0trTEtoTndZSHprVkJRTTdBd2NSQllYTnVOZyt6US9mK3haeG84YjgvSDVpMVNSYjI2Q2RkVkYxeDl6K2FhZ1ZuRHR6aXJkUC9SQkJqaXFQYjl6SXNhdmY3Y1JJdzIyTHN2TGhWb3NDYlEwZm5IdVBGNTU4aVNTcFU0K21rVTV1aWpRN2JQbDdLM3VUV1ltUmp1Mml3cU8zYS9CNTVCbHBxOS8vNlBMYndaWnVHNXN1VDFRbGVCSnRjbkF4a1l5UVZyRnY3Z0NYMnBlOHJSa0dIWVJzNEQ3bko4ZlpQQkFJQkQ1Tm5FUzZDR2xqZk03dWlFMi84SkZ1cVN4VFV6VXVYN3ZJL2tPN3NiTGd6TGxUL01FZi94N0wzVVcwNitOc2pvK0lGa2hoZ0p4V3NjSVBYLzg3emw0OFFTZGJJVzA0YWxPT1pGcVRUam42ZXBuemx6L2cvL3ZtZjJSeCtSSVdUYTFXdzJJb3JLWFY3VkpvaDdYZVJpc3ZIQ3FXMUtjYnBOT3BEMkhZQWx3TUxoMitpTGQ0cGVVckx0ZVB3Zm9ZU0p4S1JBU0YwZVJGMzNjQksrL05vT3V0Z0xpV0VFY0pQYnE4ZCs1ZFRsNThoNVpiNWZMeVdVelVSZFVMY3Rvc3Q2N3k5dnMvNU8zM1hpT2pqYVBBVWdBRm9MMkFyZElYYnRHVjczWVFFWUJsdGJmTWlaTWZVRmhOWVROUWptTFlBNWhoSG5yNUhaZkZjanZOcmRLUWhQQXBGTVlZbEZJSTROQ0JRNlRVYitwb0VRamNUd1FmMmNCOXpDMThaRzNwSXpzdzBLOXlESWF2YlNPVnQ4c3RETkZ2NVNjNU9XUFQ4c2xoOE8xTzQyTitIdXgrbTJqTWJlL3Z4M3o5b2t3dDJQYjhSM3c5YjdxZmJiYmZqdHZmbjIvVEt3YS92MkhpcmhXR09GRmNYYjdNb2FQN1dPc3NjMlh4UEwvemUvK0d0bDFCWVRCMFFQaWhZSWxGS29GeEdnRzBleHQ4ZE9vVWhlN1JtSzdSbUU2UTBuQjkrVExmZmUzditJdS8vak91YnB4RDAwZmcyNU5hQjFKR3pFN3RJazNxSkhFTmg4UllnM01XWFJTWVlxVEt4eW1HcnF3M2UwMyt0K05EcmRyWmtkRnZCU0pDeFNseG5KSW1DVVdlSXl3VWhhR3czdDJnVlhSWVhWM2x4dklOOXV5ZFozYXVnWXR6RmxmT2MvTDBPL3pnamIvbjFOVVBzT1E0Tks2eStLb09mYWRmNmlRQzBucU15UzBSQ2EwYkxSNDdjcHg2M0NDV0ViMDhSOGFTZ1k5d1dVVHAvWHA5YTF3bjdPQTNPTEhyTFUveFkvLytiNXJQN1pzMCtPWW1WWU9POHVmbkJFSTRJaG1UNVgyRUJKVUkrcVpQT3BWeTV0d1oycmFGUms4a1pBUUM5eDhodFNBUUNBVHVDSW13c2U4T2hzQTU3MFRyaFkzR0NVZFhkMm5PeEt5M3IzRnQrVHkvOGR2L0hFdEdQVWxwNTJ0WUlGSmxxWTRGYmJMU0E3WUhLSlo3Vi9qbXQvK012LzcyTjB2SkxGRkVHQnc1WFl6ME9ick9nYlVDU1V3c0VqWmFQU3JYWUl0QXlSb1dqU01mbkgxVVUraU9GN1ZiRlIzZGpNbjEwMW9Ob3lXNkVOamNsWVBXRmtXRVFBOHlBQW9Na0hGbTdUVG4xeTd4dmZlL3phNW9GMXIzS2VoVHEwVnM5RmN3OUttbkNlMnNLSzI5N3V3YnVoWGErQlNJV3BTeVhxeng5Z2R2OCtVdkhLYlZicEhXNnlNK3hhSk1pNUZWcnNHV0FuYW44UTJIeDFGS1lZMURHTzh0MjZnMW1aK1paM0hsNms2Y1lpRHdpUlBHRmdLQlFPQU84QjJVb25LNFBhSnlZWERDNHFUQnloeVZHRVJxT0huMlBmN1ZWMzhkaGNhU1ViaVdIekl2Vlllc0RCMEFnMFVJaTZYdzY5S2p6d1l5elZGSlRwODFNbGF4ZERFMlF5bW9welY4QTFtRk1RSkZreG96ekNYN2FjbzVwRTBRTmlJU05TSWxRSUx1bTdMMHl3L2RpL0xGVFY2ajZ3Z3MwOU1OaElDc3B6R0ZveUdhTENTN21XV09tRG94RFdyTUVPRmJ2U1pwVE55SWNDcEgwd0Z5K21LRGRaYm9zRXBicjVIVHhXRnBaMzN2RlN1Mktvd2FlZDBGcG16KzBDdmFnT1BOODYvUk5XM2F4UVpwTTZIS0VSWmpxUVd5Ykk0bTdvbjBnZ0dETG9aVmdhZHZMNXpHdnBHRzFRNGxJb1NHZzNzUElWRkJBQVIrSWdnUjJVQWdFTGdqdktnUlRwYVJPeCtKUlJpc0xIQWlaN1d6d3RMcUZmN29UMzZQakJZelUzVVVDUnZ0Vldibm1yUTJPdGlDUVVqQlZyWkowaHNsU09FTHlnelF5dkl0enlCeUVwMXBKQW03R0lQUUFBQWdBRWxFUVZSN3B3NXgvT0duZWVySjUzam8yQ01ZWTdsdzhTenZmUEFHcDA2L3kzTHZHczRJcXJhOEVnYmgxVXFVQ2JZdVFvTE5PWm05VmdZMkppTGh5TUl4bmpyK0xFZjJITVVaNkhVNmZIRHFmVHJaT21kV1BrS1FrV1VGU091ekdTSkROMnRSRkYxOGtrdU8wZGxBbjBZUkRCcHJ1VzJtbndCUkpMQzVRZURJNlBIR3U2L3g3T1BQMDdlZHNuK0VLdStCYnducms1VStpWVlZbnlSYm40dldtbnE5U2Q0dHNOcFJxNmVzOWJzYzNYK1l4b2thWGRxZjhua0dBcDg4UWNnR0FvSEFuVklLRy9BTkRweHczcTVKNUJpVnNiSyt5TmYvNk4reG1pK1N4aEhMN1JzNE5NMlpsUFgxenNCT3pWcFFDcXp4QWs1S1FXNWNWVmZrY3pPOXM1S1hMRDdvNXMydWpFUVI4OWlCSi9tRkwvN1hQUEhZYzloQzBldm1DR040OXJHWGVPYjQwN3ovMFkvNDFuZS95WW1MYndNWlNTVElDalBJY1IwNHMwN21vcGJwc1pXSUhkTzROdUxRM0JGZWZ2N3pQUDNvTSt5ZTJrZHNFNFQyZS92Q0MxL2tuUS9meG4zclAzTjIvUXh4VXFObjE0ZjVya3BqbmNQWVlkNXVGUGs2cmx3em5wNDdKbDV2N2lON1czaGZNb3p4K2NsOSt1eGlpdSs4K3kwKzk3blBzYmF5d25ReWh4UVNhYjBiUldYUTZ2TlM3eldHbG1zZWhUR0dSRVgrUWNSQW9tSmNGM2JQN2FGQkU4SFN6cDF1SVBBSkVZcTlBdmN4SDYvWXkzbWpSWngxM2lwMEcxc3FJY1RnTmNxb1QrVGdoUjI4SDl2SHhIUnkvbFl6Um4xbUIvdmN6dk4wWkp0cXZjbnRuSE5qeFZKYm5mL29Ec2Q4ZENldWFkVGZ0VHBQWUN4UGNLdmxtM3g2Ui9ialY1Z3NYOW1hVGNldjlsbDU0MjZ6L0ZiYmo3TFYrWThjYU53bkZNQUpySFpFVVlTUUZxbWdwMXZFTlVjN1grUDY4aVgrNVcvL0t0MWlGVXRCWm52NGlLMHZmcXF1VjFCS2tLcEl6SUkyREFwM3F0TVpuRllWT1hVd0hVK0RGVHcwL3hqLytCLytkeHcvOGpTaUgxTVRzOFNtUmtOTllUSkhxaElTRWZINFk0OXgrZXhGT3IwV3FVekpiVVpVUm1hVjhpSlNqN2dOMUd1Z1M3T0FaajN4SjFsZXZ5UkYwZVMvL2VYL25oZWZmSVdrU0VueU9sR1JFdXNVMjRkRU5hakhEWjU0OGltV3J5OXpiZTJLTjNoSURHaC80ZGFPMzJ3N2VwMmJ4S3N2VGhOVllWMzE1ZHdGVWdMVzcwMVRrSkNpTTgxbmpuK0d2RmVRUm5Xc3RwamNvRlNFVWpIVytoeG9NU1ljaHd4K3g2Ty8xYTE4cEVlMjJXcTUyR2E1ZitHTHZRRHc5bURlYnE4c1RIT2daSVRWRnFSRVNJZFFpaVJOdUhaakVWZHpuRnM5aDB3a3h2Z3Z2V3FpRVFqY1Q0UVVtVUFnRUxnRGZPMlBvM0FaS012bEd4ZEo2cEtjUHVjdmZjalhmdiszc1dSWWlySmRnTjdHTjFmaUI4ZkdHdzZNcTV5dDMvZUxuRHJUUFAvWmx6aXc2ekExMGNSMFFiY2RrVTRSV1FRZGdlc281cHY3T0x4d2pPZWZmSVdFSmxvTFVwcFlGK09Jc2NhM2lLMUZDUkdxVEE4QVlTV1NtRjVQWUcyS29FbkVMRE5xTDg4ZWVvRjkwNGRJVFlQRTFJbHloY29sTmRHa3hqU201WmlPNTZtTEdaNSsvS2VJcVpQSUZQb2oxekZwa0xEcDNsVDNwM0pZMk55YzRZNFJZSFRaQ1V3b05JWTI2eXh2TE5IcXIrT2tRNXNjS1NWeEhQdEdBNmJBaWpJQ2YvZG5jTmRNcG52WUtrK1dFZGNQNjNOa25YWW9KMmdrRGVhbjV3RUdJaFltUkxUWTdyRXlFTGkzQ0VJMkVBZ0U3Z1JoY1ZKVGI4WmN1bjZCQTRmMzRHVEdtZk1uK01ZZmZZMGI3WXZiaTlpQlhwQSszN0tNY2JyeXRlWC9tcmNvY0pMRVRDZTdlUGFwNTZrbkRaU05rRm9oQzRuU2t1bGtpbnJjaEFKRW9XaXQ5dGc5dTVmNWVDK09CR2lpbUNGaEFja3N4alhSUllObWZSK1NPV0NHMmVZUnB0S0R3QnlDT1FTN2dGbjZKdWFubi85NTVtdDdFVmxFUXpXSlhJTFFpcGdFYVdKTVg5Q01aNGxkbmFlUFA4ZittWU0rN2FCcUtEYkllWlVUcjhpL0JsRllmMys4MXYyRVJDeVViWVhMTElOVTRiQVVGQ3l1WHVYcTBsVlVERnI3M09RMFRyRFdVbGlEVUE2THVVZnlaTXM4azRubUZVNzRUbTBEOXpBRExqY0lJMmdtVSt6ZXRadVllQ0JraFJCajBWZ3BnendJM0IrRUhObEFJQkM0SXl3cWdVdUw1emo2OEg1V1drdGNXejdQdi92R1YyaVpaWVJ2VDhCMmtkanhOSkd0WW52U0o0dE81b2tPaHR3akpBbHgwbUIyWm9GT3U0ZEtwa2lTaE1qRkNDdnBkRHBJNVJCU29aUWtLbUplZnVGejdEMndGeU1ObWZhdGMxV3NlUGZrZS96bFgzK1RIbDI2SFcrZXRXL2hNRC8zaFo5bjc4SmU4azdPM013Q2piaEJ2NXZSVUEybVpKUElSZGpNVXF2WGNaRkRGeHFzSU05emxFeks2NGlZYWM2eGUyNHZGemRPZTFrYWxZM0Z4cnFKVmU5dkZnMzg1TVNqYzhydlR3Z0tWNkNGUVRuSmFtZUZEOCtkNHZIRFQ1RDNMY0pWK1JabFdvbHlPR044VmQ2T1ljdEN3L0xUSUovSitZNTdSbzVFV0wybmhkRWFvU05pbVRDVnpqQlZtNkxWMy9DYmxVSldDREdXbGhRSTNPc0VJUnNJQkFKM2dCVU9yWHRNN1VwWjZ5NXhmZmtTdi81YnY0cWpUejJOMk1qYVRJcFlNUktKcmRqY2xHTGlzNnR5bklkVHZ3Y0JLRVFjUWF6UW9pQ3pmWVJMaUNPTmNCRktTS1FDYlN5OXJFZXIyeUV0SXFJNEphMUo2Z0prSEJFbEVYTlhwNGtqUlU5Nzc5SENhUGJ2MzgvRGp4emowTDRqdEZmYnhDTEZGZzZkRzNDQ1d0SkFGVkRZSEd2QkNZTVdsb0tjQWsyVXhMU3lIaXFPeUlvdXMvTzdFQmNnVVJHRjBhVWczMG9NYmlYc3pUYnY3eFNKUUtCVWluWTVSWjZYZXhiMDZQSFIrUS9KZnpwSHFSU25IWG5lUndpSFVoTHJOTVlaNGgwVnNsc3cxZ1BYWXExQVlGRklySWg4MjRUQ1FnUXFrc3pQelhOMThjcllMcVNVWStrR2djQzlUaEN5Z1VBZ2NFZFk0cHJBU2poMThnUmYrLzJ2RXVIb2s1TTVjR1ZoMTJhaVVvUlNSbXkzWjZ0R1ZsVmZMWUFjZzVIUXpYczBaMmR4Zlc5N0pXVkVvaURUUFp5eGlNaTNpVDB3ZnhBdE1tNnNyV0JjVGhRN3RNN0pUTWFWeGJOSVZZRE95RTBPT0M1Zk9jTTc3NzdHeXRJaXBtOUpaSTFVcEFpcmFFWXp0SFdOaGNadXJETDBpejRZaXhHV1FtcFVUWmJ6YzVLWmlMVitENkJzK09DSHVyY05Oay9jNTYzZmZ4SklwSXg4b3F6dzRrMHBiMXUxbEMxeFpmRXlSMllmUWtwQjBjK0oweFNVb0s4TFVMN0VTbTJkK0x5RFdFby9pN0lnMVh2S1JzS25UbWhyRUJwSUhIdjM3dVc5UlFicmduK0lNY1pzV3hRWkNOeHJCQ0ViQ0FRQ2QwaXJ0Y2ExMVV2OHdSOS9uUjRiVERWcUtCTFd1NnRNemRab3QvcCt4WkZJckk4RFJzTklyR1NUZXB0MHA1aU0rNGt5bDlaZ2FXVTlUcHc5eFhPZmVSNFZTWnpTT0ptVEcwdXRHWkVWQlNoRHU5dENDY2wzWC90Ny92enYvcHlNRFNKNldIb1lEQVpYdGl2MXJYSUZzTFI2aHIvNEx4ZXB4MU9ZekhyaFJsVDJGMnZ5VHo3L1QzbnA2VmRRY1VTUjkxQ1I5K2txWklhTkJVNUpuSFVVYU5aYmExeTRkQkVsRkxuUkF6c3hVV1lKMi9JNk4wdlYwYnpQaVVWM3BiVjhycTNScFh5V1FPeEZiSVFYZlNkT25PRGdTMGRJb3BpZTdwRTJVb3d6NUhtZlJyUEdMWjVEUGtYRzgyTXJwSlE0NHgwT3ZHK3dLdk9NSFFyRndzTENZTjFSSVF1RXFHemd2aUVJMlVEZ050Z3U1bkszTVl1eWhYdlovbko4ZnJYL3lhcms2bncrclhqSjVQSEZ4SGx1WjU1L08yeTEvY2M5dHp2dnJqUmFKQ05IV3BCU2RuS2FYTmY3eERwbk1JQ1RHVGZXTC9ON2YvUlZWb3RGSWlGWTZ5NWhLYWpYMDZHSXJYRGpiejlPai90SzVJM3Z5bUt4ckhmWGVPK0Q5emgyOENFV21udEo2Z21SaXVsM2V1UTlYL1NUMUJKMG9WRnh6TFcxNjdScEFSbWFOcjVXM3h1WlJVSjYreXZqaUNORkhFa0tYZERMV3NncXlrZUJJc1lDNzV4K2s0Y2ZlNVNGK2l5Rk04UnBEYlRCR2t1Qm81YWtHQ3RvRnkxV1dzdWNYVHBUNWc1RG1rcnkvcTN1d1krem1NcGJWaG1YbFk0SkVpVVV4aFNBSlNMaTdLWFQ5Rjk4RmRPWUlkdm9rc1l4MmxuNmRHakVDZFpvQnQyK25CbE1UUmwzZGxiNGdqQW5jUmlmMDFxdUJ4YnBoaExlWVhEQ0x4ZStFd09tbkc2OXZYZk5BT3U5aTNHK3E1eXdaZnFKUThRQ1cwVmhoWC9JY09WTFJOQ01HNE9jMklwUTVCVzQzd2hDTm5CZk0vQjdGV0tRTzdqWmg5Vy9uS3Vtak0vYm92SzRFbU9WUnBMYitKQ09iam5tTXpvNGx5M09lWFFiNjRhcWRIZ0JZOGNmdUdWTzdOOExRRHM0MzdGaDZLb0FwREthSHhXZms4Y2ZYc0NtNDQ5dFd5NnZ2SGR0dFhCeStkZytSL2N6ZmxPOFY2Z2QzMzcwUGpBaGlyZmFmblNkN2M2L1dubGlleTlNZXlBc3d2b1dzOUxHT0t2S2FuYUp0b1lraWJCQ2c3SjBzelpKWGRIcGJuQmo1VEwvNG5mK1p4dzlMSmJDK1RKOGg2WFgwMnlGRzhoWE40eklicUhWdG5vV3NCT2Z2THVCb1cvYm5MbHdpdTk4ZjVaWGYrcG5PYmJ2RVd3UGRHNlFVakk3TjRPb0NhNjFyL0JYZi9YbnZQdlJtK1QwY0dSRTBsSllYOENVaUFUclFLRlFSTjRqbHhoWENsMkxSV09BZ3JndUtIcUdkMis4VGZPTk9YN3VaNzdJNGYySEtWb1o2MnNkcEpIVWFqWDZXWXVvcnJoKzVTTGZmKzF2TVJSb2NsQ0NyS2dLMmV6QXdHQnJWOVpiM0pnN3hqSUlxVHA4V29RR1FZUkVrdEZqemF6eDd0VzNlWDRoUWg0VVhHOWZJWTVqYW5zVWE1M3IxRlFkSVV1bmhWSndWbE9KeGJuS0pYZ3k1aXdSenVJS2kzQ2JsMWNDOTJiYncyalUxUDg2clBSVDZVQkxTVTRPa1N6M1YxbHorZjkzYUpVVHh4SHo4L01zTHkrVEpBbEZVZERwZElqam1LSzRaOExOZ2NCTkNVSTI4QUJ6NjJqUGx0SElTZytKdTQwSWp1eHo1SGhqL1FLMm1EOG85cm1MWTFmWGRhdkJ3NjJHdU4zSSs4azdLTjN0YTQyN3pTeThtNmkwdjY1cU9OWWd5b2hzWlM4dm5jUUtYdzVrVElGSzRjcTFTeXdjbUVXN0xtY3ZuK0pQL3ZRYkdIbzRlaC9yMkc2YlllQmJiemVKSmEwSnNuNlBHeHVYZWZOdGkrbjJXVDMrSElkM0g2VXhOUVZZcnE5ZDR1S044N3o3NFk5NDUvVGJMUFVXY1dURTlkajNaNUFTZElSMkFrbEtneWJ6elhsQXN0YlpJTUhTcGtNY1JhU3BvNmM3MkJqSU1ycDJqWGZQdllaTGVqejE2Rk1jM1hlTXVUMnpTQlRPV0ZiWGJuRHl3eE44NzYxdmMzYjlJeHdaU1VPaVZZVHRGOVh6NVBCWjVtUGZsYnVrZW9ndHowT1ZpUjhBQm90V09aZFdMeUkrOGptOVJWWVF4ekdSaU1qN0JTbTFnVWpjaWx2bG1RcGpienFDY2F2dDc2WjVRUlpuTEVYWDZYUTYvbHdtSXJPQndQMUNFTEtCUU9BQlJTSmNWTm8vbGE4eXoyRVl1ZExVcDJxY3YzU2FBNGYza05rT3A4K2Q0dmYvNkd1czZldjhlSWUrYjRHdzVMb05BcXpMV081bXZQN3VPbGV2bmVIZ3dtRm1wK2V3MXJMZVd1UEs4aVd1M0xoRW0zVXNmaWpkbVJ4VENMenJhNDJqQjQ3eDFHUFA4dkRSUjVscHpQaDJ1TTZ4dExMRUcrKyt6c2x6SjFqcnJQb2toS0p5SE9pdzBqM0xhejlhWlBIYWh6eDIrQkYyeisxRldFRy8zMmR4OFJJWHJsNWdzWHNaVnpXSHlCajJOdGc2Y1AzcGNRdmQxallkM2p6eEJtK2RlQk9mbVN5SmlCRUlEQVpWcGx0c3YvdnREMUJGbjNkS09ob0twbmJWNlBmN201WUY2NjNBL1VRUXNvRkE0QUZGZ0ZQSU1vM0FlNHJDb0tXeHNLaEljSG54UEVjZk9zaEsrenFMU3hmNTNYLy9WVGIwTWdxSDJVa2hDMVNqMGtxQU14a2Jkb24ydFZWT1gvdUFxbldBeFdIUVdBcmZ3U29DNDBBWGpvaUVhYlhBOFllTzgvS0xuK2VaeDU0alVUV3lYb1lVRWRaYTlpd2NaTmZzQW9jUEhlVkhKOS9nbzZzZjRpdzBwMUw2dlJiVzlPaTVIbWV1Ym5EaDZnZkVwRDRpaTZNZ3c2R1JRdEpvUnBpOFFKY0tUc2lkRTNGYklaRCsvZ3ltVUkvcUZMckFZQkZsckxZZ0w5ZjMyYjRPV3hiZmZieXB3YUxMcWR4MDdFOWphdWl1TGdIQmNpdHdmeE9FYkNBUWVEQnhFdWxpbjA3Z2ZBbTlFN0tNb3VtQlQrejBYTXBhOXpyWFZpN3c2MS81WnpnSzZyV0VqWDc3cGhHM1Q0VXlpZG9KTUFLazAxZzBtZ0x2a0ZBVmxmbDJxa1lNODZlRkEwV2RWNTc5V1Y1OStWWDJMT3hINVFtcmEyMTByMkJxYW9aT3YwOTl1c1pEK3g5bFlXRVBzN096RkgrdnViUjhIdDAzWHZ3SUwwaUw4dGc1V2RtclRBd3lnWjJEVHFjTWVKZU56RnkrRXpkc2E4U0VMNFFyYzRKN3VrdFZ1Z1dVOG5hSXdSZFpWZGY2Y2FhbWZJZDBtTExpODFPZDRzb25JUzlrdGRhRDl5SEZJSEEvRVlSc0lCQjRJSkhnVXdzRytJaVVUeXN3T0ttSlk0ZVJsaE1mdnMvWHZ2RVZJbW5wMng2NXpYRDQ2dllkbzlJYWRwanJiRVRwTXlzRlFnbWtWR0F0V3VkWVI1bFM0TmVWU1BiV0R2RGNFeS95MFA0bldGdGF4eFNXaGVaK1ZOM2ZsN25HYmkvbStoblN4QnplYzRUSGpqek8xZVVyR0YwT1NZdnlMcFRaR1VMZ25RK2N3MW9mZWJXR1FWSjBIUGszUmZFeEVxby9SVWJkSktvSEZZY2pTUktjY2FYSExpaXBoaTRCZy9WdmYrcEd1MXhzeDQ5emlOOEJCbUlWYjJwTkc2S3pnZnVKSUdRRGdjQ0RpWk5sVkZhVzR0VkhZcjJJTFhBeVo2Mjd5dldWeS96QmYvZ2FiYnZHekV3ZGFSTmFuVldtWjZkb3JiZDM5aHBNR1NFVWdGQmVxRHFIc1Q1TXFpdlZTalFVUmM3NG9YMGEvUFFMWCtMUS9ESDZhNGJXVXA5ZDlYbml0RUcvMDZjb0NtOGxKVFVpZFloWWNlemd3eFRQWlp3OTh4R1hOczZDYXFKdEQvRHVFN3JLRnhnSUk0bHpBcFhXTUZxRHRoVDlLaWU1Y2czWXVZZUJ6WkhZU1c4SVA4L0FvUE5YaFhaM1dkVmZwVmg4ZWpZTlcrN2RTVGNRcmxVMDltNkt5QUtCVDVzZ1pBT0J3QU9NSERnL09HR3h3dUdFYnloZ1ZNYlMybFcrL29mL2x1WGVWZUpZc3JweEE0UW1iY2EwV2pzc1lwSDRpaWs1U0kwWWkrNVZmcURXRHF1S0hDQWp2NXBMT0hMb1lXTFJRQlNLUGJQN21LN3ZvclBhb2QvSjJMdDNMNTF1aTZnZWtia09OOWJXcURVaXBwc3p6TlNua1JzeHVUSCtIR1RrZDI2ZGR3SVFaV2cycVVFL3gyUzZMS3FMOFY0UUVvRXBKZUs5SzVwVUpMM2JiR1VwNXdBMTNnbjJwdHdpb0JxNVlhZTJyVXkyRk42WnBISW9tWndLdDcwNTErMU1OUXhTQ3NBWGVWVWl0dXJ3RlFqYzZ3UWhHN2l2R2ZXTUhmV0ozY3BIdHNKWDVGYnF4WTN0cTVvT3ZVa25EN2pGOFNkV0VVSU0vMzV0cy8vaHZQRS80cE9wYWNOdHR0NSs5QS9sMlBtem1iSHR5MTNZVy93NWRoUG43MjV5L0Z0dFA5aGtaTGpVamx4L2RWN2p4OXptL0t0NVd4ekxmL2VUSjdMNStwMXpXR1A4a0xGd0lDWDliSU9rRHExc2d4czNydkF2Zit0L3haVFY5djJpQU9IYnptYTk0dTc5d3o1UkpuM1N5a1JVWTBBcGhKUTRyU210Q0ZCS2taaUl3d2NPa25jMVFrYkVJcVd6M2lXS2F1eWFuYUs5MGFNNVBjTnFhd2xac3pUclUyVDlQckdNT1hyNEdHZXZmVVNmdnUvcEtnWG84cDZJVXRRNkI3bUdPUGFxcXhoKzEySlFPcld6VEVaZ0I1U25wczFJbStHQm9mUG0vMDV2Y29DYkwzT2Jkejg2ZGRYeHRwbHV0OTN0VExjNnRWSGhHa1JzNEg0aENObEFJUEJBWWdWSUJkcG1xRlN3ZU8wU3UvZk5rTHN1WnkrZTRrLys5QTh4K0Z4WVJ5bGk0ZVpLNEZQRmtpUUpSdnVITnFFa1Npa0tZNzFvQmFJMFJXZlpJTk96d2psSEpLSFg2ekNsR2lpcGZQUFNLTUlVQm1jY1NaTFNhclZJa29TNERubldCaUV3dGlETGVsZzBTZ2lFOGxGdFU2WVhZQ3hSdlVZY3gvUTJPbDVNbDdabVNpaUVjRmliM2ZQUldPRFdLdk11L2JQS05OWEI3ajd0YVNEd2swQVFzb0ZBNEFIRllqQk1UZFU1ZitrTSt3L3VKbk10VHA4OXdUZitqNit4bGwvSFZpS1dFUkY3RHltQXZCaDZnQW9OVnZzaXBLUldRMHBKcDl2eFE5Y0NvbGlTNTlvN0hEaE5YTFAwZFlmNTZiMElVNURuaG5vNmcwU2dyU1ZLSWx4bWlKSVk0L3BvVzlDc0ovUXlRYi9vWUNpUVpPUkZNZWdzVnpiWnczUzd2ZzF0RXBIbkkyYXhvc0NVZWplT0ZVVnhqd25aN1lMRW00WmRodk1uODJ4dkY0Y3Z6dHRaRld2dnFkOXpJSEFuQkNFYkNBUWVUSVFsU2dTWEY4OXg1S0Y5ckxhWHVicDBqcTk5NHl1czVVdEk2VEIySkJJTEU3a01uL29aYjBtYVFKTEVDQ1BKZWpuT09rdy93eUpJU3o5WDV5d20xMlBkMkRxOU5hN2Z1TXlCbWNQWVNORGU2QktybUxqV3dPWTVtUlpFallqQ1pteTBWOGhjajVta1JtK2p3L0xHTW9ZYzZ3b1UwRWhUSWhIUjcyZFk1MzFTcDlJcDJ0a0dTWG04cEJaVG1JS3NGRlB1bG4zbDdrRkdoV0FwWXVVZEN0bkIxWTlrT24yNlUzdlBCOFFEZ2RzaENObEFJUEJBNG9Rak4zMmF1MUxXdThzc0xsM2sxLzcxUHdOeUdvMllWcmM5bms0d05veGNpWmVkVlFMQ1FaNkR5UW9rRUJFekc4M1RyRTJUUkNscG10THV0cmplV3FTZ2o2YWdXVXZJYkk3TkxLKzk5VDBPN1RuR29YMUhFYW1oYjdzNEFZVW8wRVlqSTRFMmZXUU1TU3hwWld1Y1BuZUNpMWZQNExETU5PZnBkRHJrbWNWZ1VkU0k4UUt2eUN3cERXeHAvYS83QnBVb2hEQTRBWHAwVEgzSGJ1QXRsdDhzUjM2UVozNFh2NEdkVHhNT0JPNTdncEFOQkFJUEtCYVYrTHFvOTA1K3dPLysrNjhTUzBIUDloRkdEQXE3Tm91dGFGQ281TXI5N0JScEdtTnlRejFxY3VUQXd6ejMyRS94eENOUHNuL1hBWklvNWR5NWMvVHpIdWNYei9IdXliZjVhUGxEK3IwYzd6VVE4OEdsOTNubTRrbDI3NW1uUHAxZzh3SnRNMFFNU2ttS0lrUFdIRFBUMDdTeWpITVhQK1M5VSsvUnc2Y3N0RHNaZ3BROWpiMGNQM2FjSjQ4L3pZRTkrM0c1WVdOdG5RdVhMbkR1eW1sT1hUdEpUbzhpTDVES2w5M2J5dkhzZm1CQ3dONXBPc0VtTEVITUJnSjNTUkN5Z1VEZ2dhWFZYdVBhNmlYKzhJKy9Uc2V0TVRQVlFOcVVqZTRLemRrNm5WWnZZZ3VKUUNDSnlraWNZK2VFckNUTEpQTlQrM2pwczYvdy9KTXZjWFQzdzZTdVFkNHFXTzhXUEhINEZRd0ZEeDk5bG1OSG51TGJiLzRkYjV6NklZWWVhVlRINklMWDMvNHVXbXNlUGZJRUM5UDdrQ3BDSnBGMzFFZ2NoYzBwdWdXbkxwemt6UTkrd0lYTDUzQlk0cWlCTkROODRYUC9GYSsrOE5NMGtpYmRsUjZ1WlpsS0d1emU4ekNQSG5pV3k4dVgyWC9xVGQ0ODhVT3VGOWN3SmtNb2k0Z3NMcjlMTDlaUGdsRWh1WTFieWFSd3JWcTkrbFh2N1BzWGVIdXRuUkx6MVMvM2ZubVdDQVMySXdqWlFPQU8yYzVMVXQ3aFg0Yko3VzVuMUZVNlN0OU9CcFhodDBQbG5TcnRabi9LajhQbytzNlY1dTZqODhycGRtY21KaUpkY2d0cm8rMnZ5cFk3c0hpUDB1cWNobHNJTjVJVk9taDY0SHczSnBseFkvMHlYLy9EcjdMVXYwSWFLWlpiMTNFVTFKczFPaHNUSW5ia3ZPd1c3KzZhanpITTdYTXpZL2JPUHNRTHozeWVWMS84R1E0dUhLTFlNTFJXTTJxaXh1N1ozV1R0Z3JWMmk3aWhlT3F4bjZJNU80dVFLVytjZUkxTWQybUlHcWV2bitieTlhdDg4Zk0vejNQUHZNamN6QUpvUWIrZlU2L1hXVjY3d2RMVjYvemc5Vy96d2VWM3NSUUlFdEExdnZ3UGZvVkhqenpKZExRWDJ6Tk1SU2xUQzAya2plaDB1dWllNGFFRFR6TS9mNUJhYzQ3dnYvUDNYTzZjdytRZG5DaTJ2KzVQdThUK0R2ZC9weUoybE5JbzdWT3Y5N29QTTVRRGdTMEpRalp3WHlNZENPZHcxb0x4UGVXRmt3anJ2TWl5cGJxYTlKTXQxWkpnT0d0MFdnbTBVYUUxNldQcUFDZmQ1czQ4bzl0TWRNaXBxcnVIKzl6OG9kci8yTG9qN3dmK204SmlyV1lvcHVUd21zcjNZK2M2TUdIeTRrODRYMkZlL1NFVlcvcTRqbCtjR1I3QWkwNHo0bG03aGM5czVSa3IzZWI3NTg5eWkyTk5ISFBvNlR1KzNBcUxFeGxXYXFTTnZKaDFrYjlYWmV0WlovMStwNlpyWkZtWGJ0Wm1acmJKOWV2WFdldGY0OWUrOGo5UzREdFRkYlVkM0p0ZXA3K05nTElNNzZqbHJvV3MyT0w5Nkx4SVFtRVJLaXA5WUNXeGlyREdFcFB5K2MvOExFODkvQ0o3NjRjbzFxRG9XbWJxMDBReXBwZDFNY1l3TmRWQUpJTFZwWFYyTlJiNGhaLzVSWXF1NGUwTGIxQzRISTJtelFiLzcvZitJOTkrNzIvWXRURFAvUHc4VTFOVFhGdGNZbjExalpVYnEyZzBEUnBrNUVna1AvZnNML0hLNHorUE1uVmNKMGZaSEltZzMrMGhYSVFVQ1FLQnl4dm9mcCtuSG4ySjNYdDI4ZlgvOUs4eHBRVE1IV3c3U3IvVi9aamtiZ1h1TmhIWXphdHQzZkhyYmc5dHl0ZWROalM0MjJtSXhnWitFZ2hDTmhDNEM0UWJENFRldk4za1RmYkQrQitWangvVmxWdS9kOUpISXAwRXpIQmFyZU9HNXl5MkVwSzNjSDRYemcyT3RwVlFIVGU5bjFRTi9yeGsrYWZWT1RNMjNmeW4xMnd4TGEvUm0wd2huY0Fod0VrRWtPVVp1M2ZQc2JSOGpVeTMyYk4zaHV2TGw5am9yUEJidi9lL1kramhtRXdmbURqTlRYd0NBbmIwR0pOQ2JYU2VHYm1uVHFKRU5IaDQyTlZZNERNUFA4MitxUU1vblpCbk9SUUNpOEJHdnQyb0VBS3BCSG1lTXpNMVMxOTNhY1l6UFAvVWk3eDM0VjEwS1VwOU9WYkdqZFlpSzczcm5MbmkyNVJhSXhGT29vaFJKR1ZCVjh4RE00L3kvR2RlSmlsU2hGT0R5bjJCUWVEVnFRVmlsZUJzaEhJMUd0RU1zL1ZkUEx6d01CZVczL1lpOWxiM1lYVDY0K0lPOXY5SlJHSkhEMjEyYUJvSS9DUVFoR3dnY0wvaXFwNzFzRW04YmxwUFRFeEhGcGNDWWp4aXk2YjNrMWdIVWppRzNUczNiejhxWkNlWHkzTFkzNWJuNzBvQlZFM0hyMnVMNVM0R0o4cW92TVJaVVVaa2h6SFRlclBHNnNZS3FJTHBxWlNOL2dxZFlwVi84ZFgvQlUyWEhYY2RRRTRPRXBRTDdHQU5rRWpyQlhvcUk3UXBBTUdoL1FjNGZQZ29pV21pQzR1ekFpVmpuQVdyL1djaEpNNVlzbTVHYzdySmVpOEhLWGppOFNmWis5ZDd1WjVsU0JRT1M1OE9Gb25SbWtwWktpUk5OWVZ2OHVUajV3a3BoL2NkNXREK1E1aFdqcGZPR1lJQ1FlNGZKQkFvcDRBRW5XY0k1MGpUbElhWTRybG5YbUR4YjArUlUvZ0hPRCswd2RoM2NadnBKU0dpR0FnRWdwQU5CTzU3NUdieE9zYldacEt1K3RjZ3JEd3hGYmVZanE1L0IxbDZWdmhvcm5DYlJldHRUMjNOdjNXaWZGRXFJd3NZak5IMDh6YXp1MnIwaWpXdUxWM2tmL3ZOWDhQUVJWQ1UzYVYyaG5FUFVsRW1MUWd2MUVlK1R5VVYxaHB2cnlVVUJwOWJldVRRVWJDT0l0Tkk1Nk9ma1pTWXdtSnpuNHVpSW9XMklFVkNuaHUwQmhWTEdyVUdMejcvRXRlVzltQlVSaFJMakRTc3JpOXg5ZHBWdXYwMnNoU3V4eDkrbkpuNkhPUUNseXZxcXNsbkh2c01FUTVIZ2NRZ3lnNW9rcktMbC9OTHRjblJSaUtFS2J1SEtSNDU5Z2lDQkVtRXhGWkI1MDIvNGVyWEtzZm1EU1AwRG91OVpaUGxRQ0R3azA0UXNvSEEvY3pOQkt5dzQza1BXNDNWVnNib1F2cUUwdEVwMWlmUk12cFpqcTN2cXVXbHNCaWRqbTIveFhMaHlxcHZNWDVXMndtVFRjdWRSRGlGajFoSzM2WVZ3QlZsMHE4bE4xMW1adXVzZFc2dzBycktQLy9OL3dsSHh1ejBGQ3V0ZFhZK0lqdVVhMVdLeGFRdnFYS2lqTXVDczM3b1BoRUpjOU5URkxsQmFrMmlFcVJVWUJUVzV0NVhRU1ZJSVZFVVREZW42ZmY3MUpJYVVVMlJaUm1mZi9uenhQVlh5RTJYUnFORzFGQjhlUG9rMy95cmIvTEJtZmN3V0Y1NjZpWCt3UmUveE1HOVIxQXVKZTlvVE04eGxVN1RXbG1ub2FaUUZBZzB6cGxTamd0d0Z1RXN3aG1rOE5GazZjQVVtcW5wR1JRSlpjMCtvOS9CcUR2QVVPSXpNcSs2RXdKN2ozajVCZ0tCblNVSTJVRGdma1pzbDY5WlZlcVBqVmVYMCtFOEsreElQdTVXVW5MN2VKY1B6bTYxN3FoUU50c3VkNEpCV29KM1RYQVRVeWFtNDh1OW1LNEszOERuQUpmSEZCb25NMmFtNnR4WXZjUnkreksvOFp1KzJVR2FTRlphaXo1d3VORWlpVE1BQUNBQVNVUkJWTVBoUElmekJWR0Q3N0JLdFBBUEFnS0JjYnI4NWl6R0ZqZ3NTZ2w2Ulk4NFVTZ1NwSlBZd3FLMXdWbElWRXdjSi9SNlBVUUVjUnhSOUF1aVJrUVVLVGJXTjBqcWdsNm5RN3UzVHE4WFU4OFNPcTAyT3ZONXN3SkJtaVJvYlZsZFdVRzZsS3hkRU5tSVpuMktvc2dSMG80VkpjcEJpb2RQR2xFQ3BKSTRvWDBLZ3ZENXVvb0VSWXFsTzVMRFBjdzlIVDcreUxIMFdVdVZreDNpc0lGQXdCT0ViQ0J3dnlJc09EMGhGa2V0cHV4RTRWWVYraHdkdXJZREs2NnRpclVtWFF0R2tjNy95MDJzTzdhTkdNbVIzY0tWd1pXNW9MYWNQemF0NW0rekhCY2hoVVk0aVhVU2gwRTZXNG9oalpVWlY2NHZvV256RzcvNXEyaTY3SnFmNHZyS1ZaeUFlajJpMXgxcFAvc3A0MGJ5ZzhmblY1bkREaWw4ZEZNS2hYT09ITi9CcTZESDFXdVg0VG1IbEJJTUdGUGdyQ1JTTVVJSWlxSkFhNDJTaW42L2k1U1NvaWh3U3FOMXp2ZS85VjFPbm4ySFRMY1EwaUVpU2FlM3dYSnZHWUNZbU8rKzlSMU9mM1FXblJrYTZUUldTeFptZHZQbFgvZ3l1MmYyUVNZUjFzZFJIYUswWDNOUUZvQTU2UkRLWWsyQlE2QWl4MXE3RFlDcDBqcXFVWUhSZTFEK2hNYjlPTWJudWJGUGdVRGdRU1VJMlVEZ3ZzV0N6QmpVSUEraXMzWVlpWjEwSUtoeVdxc1VBYjhBeXVIZ3NTbHVOSkYyODlRTmt3VzIzVjdJYmZmdkdGcVh1Zkw4eHFiVi9HMlhDN0FqK2NIT2xQTFBteG81cWVsa04vZzN2LzJ2MEhRUldLNnZYTU1KaUJMbzlYZE94RmE0eVlpNkc0ODMrcWkxSllvaWhGRG9YR09BekZvV2w2L1N5enRnYW1XZXNTQ0tGRkdrTUlXaDErc1J4ekZ4S21sM2MrcXpDV3VkRHRaSVZDTDRtemYvaG96MWdkTkFRVkhlTzR0RW9zbXhXRGI2YS9SMVJxWnorcTdnV3Y4Nmp5OCtUck01UXlUcUtCS2ZxK29Na3NyQ1RHSUZPT0Z3YUFyZFFWaUZVbzUyZHdPREtmTmJxd2V2aVJzeitQbjU1VlVlN1hiR0JvRkE0TUVsQ05uQUE0TXJ2V1NkYzRPL2dOV1E3WFpZZS9zUm4ycS9ibEk4c3UzSExhT2Z6cm5CZXVJbUVVMWtUbHFIdi9uYnYyVGZ2bjJzYjZ5U3BqRkpFdE5xcjVPbThkajI1VWJsenZ6VTZKeWJPVTBhNDdaZExyRWpEUWUybmpvbmJySWNuTDd6WWl2aHdGbU5kRnQ4UjhKaGhlVjNmdmNyV0hJY0drUG1oWkVBclNuemFOazVOVFJNOS9TYVAvWUZhNjR3ZzNOS2FpbFpwc2wwRGdKRTVGdnFHdURzNWJNc2IxeG5WeEl4M1poRnhSRW1LK2dXR3Vra2NWMWhUSUVXUU9KWVdsOWllcTZPVllhMzMzcURuQjZhQWtjR1plRVVBeUU2cEdjN0ZEaTBXeU9taGtienhzblhlZkxKejdLKzFtR2hQa096bmxJVUdiMXVHMmNNVVJLaDRnZ2hIVDNkeGJpTXpFRFh0UG53N0FmMGFRR2xCL0oybGdTam1UQVRlZFNERDBISkJnSVBQRUhJQmdMM0xZNHJWOC96Si8vWDc3UFJYa09UQTRaRVJ1UzJUeXdVaGN2TGRVZHJ3RWNMYWlxaGVtZFVPbXo3NVRmdlNUODZkUHh4RGQwcFV3aWd5aUVkZHpWd1dDSWtoZ0pMdnFNT0JkdVJ6aVJrbmR3L0FHa0htS0hBRnBKK3J6ZjhqSDhRTXVWbEdLSDV6My94Wi96RFgvZ1ZEaDdaeitMbDYvUTIraHcrZUpSRzJ1RDZ0U1dtNTVxc2JxeGl5Wm5iTzRXaHo3c2Z2TVViNzN3UFRSOURoaUduU21qWUZDRjFZS0lJazJ0TW1lT3FuZVBLNmlYZWVPOTF2dlQwUHlKdldkYVhiMkN0WmJwZW96N1ZwREFGN1g0SG1Rb3kwNlV4bHhCTkNjNThlSm0zMzMrVGdoeUZBb3FoR0pYNFZCUTdmTkJFc1Ztc2xnOEF3dm02dmlCbUE0RUhteUJrQTRIN0ZzdlJZL3ZwOWRmUWRBQ054S0Z0RHlnb25FVU9CTW1veUt0Q2dXQzU4MTczVlREelpqcmkxaEo1YUFYMmNWOCtMbGtnMGVWbldWYTlEL2RwU3JOL3lpSHpMUTY5bzJSdEgya2x3azkxK1hKNFVlZTh6MnhTaTNIT1VCanRMeU9CbUlRVFY5NWw3NXY3U09xUytkbmRSSEdkMWRaMVZ0YWdLQXkyMnljWEdmV3BHQlBsbkRyOVB0OTU0Mis1c242QlJxcFl6ZktidDRvVm9FV0JFLzcrMlZoaDhvTFY3ZzIrLzg3M2VYVGY4eXdrKzJuT043RFdrbWNGV2IrTmtBWlhjM1Q2YXlUTmlFTGxuUHp3Qk4vNXdiZlljR3VBSlUxcjVKbjF1dFU1bkhXbGtCWkRIMTAzUEkrSnFxK1AwNUU1RUFqOEJCT0ViQ0J3SDdPMnZreFByd09PMmFrbXJmWWF0b3pNZ3NXNjBaaG5OYTJVa3kyN01OM0VtZUNteTBham8zZktpS2Z0eDU3NmE2emlyS0ljR2grV3NVa3NabEE4TmJnU2Q5Y24vY2tSNGMrbmlpdzZmTjZ2VU5UaUdscGJYK1RWTnd4RGtSWXk2THVjaElpL2UrZS9zTjViNWt0Zi9FV09IbmlJYmlzakVna0g5aDVnWldXRnFTaWgzVnZqZzdmZTQzdHYvRDFuRjA5aE1NUkdlQkU3RXZFZFkyQVZiQVlGV1Zab2tMNkk4T3J5UmY3MEwvNVBuanYrTXM4Ky9Rd3pVN1BrTGlQUGVpUlJSSzJ1Mkwwd3kwcDdpVE1YVHZIdDcvOE5aMjZjeHFDWnFqZFk3N1ZSSk1RdVFnQUdqU3RMNEt3ei9odlRlbkRaenEvRXlCY2NDQVFDUWNnR0F2Y3R3bEt2cFlCRDRjaUwza0RFMW1vUmVkNGYyRnY1RUZZNUhTaUJLZ0sydlNKUVNtMjdETGhsUzk2YnVSNTQ3azVSVm9GbVVZNUd5NEV1bDRNMGhFM2NRNUU4NmNCV3dXSUhhZFJBQ2tWaExEcHpnQ29mT3lJcUw0ZElSU2dsdkh0RFhtRHA4ZFpIUCtEcWpVc2NQL1lFUnc0OHpPenNQSmVXenRMcjlWaHJyWEwyd2lrK1BIZVMxZXdHamd5TFJXL2xqTVlXODBaeU9vd3VCb1dDMm1XY1huMkgvR1NMZFgyRlkwY2VZdi9DWGhvemRRcVgwZTUxYU4xWTRhMTNmc2hINXo5aXZidU1vY0JnNlJZWkVOR2dpU0JDVTZES0Znc09SeW9qcklTdTNzQTRpek5lVE12SVIydU5jMWk3elhrSEFvRUhpaUJrQTRIN0hvdEIwOHY2Z0VVSWg3WGF0NUNkMUltajVmREMzYktZelppYjU1WGV2U2E4ODdEYVFKZVB6TGhaaEhpc3JtdmN3MmxuY0dBem4wRlFUK3JZUW1BTGgwWFFZSm8wcmlHc29EazlpNG9FclhhYjlmNHFWbHUwdGxnMGFTTEpUUjlyQ2hiWEwzTHQ3VVdhNzc1SkxXNVNGQVZLS2RZTG55UHI4MkV6NGxTZ3BQZm4xZjFiM0lNeUNpb29DeFdkR3o2OWlCenREQmZXMytmaUd5ZEozNml6TUxPYm1lWU1wdEQwdXh1MHVodDBhV0V4V0RRQ1NSSW5hS3BIalpqRHlSR09QLzRvdS9jdW9HTEZhbnVGc3hmT2N1SEtlUVRRcCt1anRjNWlDNGVTTVVvNnROQ0RwSkpBSVBEZ0VvUnNJSEFmVXhRRlZRRlhQYTFSNkE1UkxEQzJCOEFtblRwUWZ4YWNMU091TjNOdHVEdWhzTWswWVJOM0U1R1ZPREhjWHJqS3h4U29taWRNUkp5RnFLeTg3dUt3bnhBQ1NGVk1KR04wMytDUVJNVHNuem5NQzgrK3hLT1BQTUdlaFQxRVNVcWU1OXhZdWNIaTlVVXVYYjNFMmJPbnViSitsbDdld2tyZjBTeE5Fb1JWdFBVYW5heUxRbUtzeGFGeDVNZ0l0SUhjdUhFaFgwYXd0L29kU0ZGR2pBR0VLdFdzTEwvWWd2cXNRSWdDbDJtNnZTN1p4aHFMRzFIWmdjc25kZFNpR0JsRmJQUXpISTZzc05UclU4dzNkdk0vZk9tZk1oZk5FY2NLYlF0STRQRmpUL0RTWjErbVczVDV3WnZmWmZIR0ZjNWZPVWZidEwyZ3RSWmhmVDZFdUdueVN5QVFlQkFJUWpid2dIUG5FY0hSQ045QVFJMStabVM0K3liYjNnMUNLQlFSQm8zV0dtMDAydmk4eDFwTmtXVWpFZFdxZ0dqNDRaWVIxN3ZsMXAyejdqTFJVWlQvY3BTRDB1VnM1emJ0ZVNCN0twdmJIVWZpYTdjTWdwamQ5WDI4K05tWGVlNlpGOWszdjkrSFRKM0M5aTJwVXp5MDUxRSs4OURUdERwdDNucnJMWDc0em5mNWNPa3RDdG80QVoyOGp5QkhvdkFacDE3a1MrbmRYWTNKdkY2dC9xOC8rT3A5dnZUV3lhZERuNGc0anRHNmJDc3NCUmpvZFlyaGoxbUNjUVlodlgyY3RSYXBvS1Y3dm9BTlNVeUtBSTRmZUlKLzhvdS9RbTJ0eGx3MEJ3cXlJc05hUzZRanNCRWlLL2lsVi84YlRwNytnTVEyT1hYNUJGM2FHQXJmSmV6ZStCSURnY0FPRTRSczRQN0dPVy9YNDB1ZjhlTzE1ZkNuYzV2LzFHMVoyelR1enpxYTE3a3Bvamk1clhVajVmdVZlaDBhL1kvVzBZenUzM2UxZ2tvMGpMYjVIRDJ1cmNKaG95SjU1RnkwZGdnVUlERm0zSXNveTN5NzBpR2pRdVhlczZMNitOaHRud2JjNUhxVWhXdVRWV003aWtTUUFoRjFNY1BQZmVHWGVlSHBsNGxKU0VXVFBNdUlwUm9XNnZjZHVtOUpYSk5YbnZnaXp6M3pDci96Zi84bTc1OS9remoyTFExMDBTZWRxVlBvaktMZkE2RXdBbDlBcGhRNE0venFIUWdSSVdTRU5kN1RWYVVKcGlnQWc0ampZZXFKa0JTNjhEOWFLWW1FOGtLNStvRU5UQVljaFIxeFlnQnFNeEg5RFUyRUFoUy8vT0tYZWU3NEM4em1zOFFxeGhtTHN5Q0pFRTVpZWc3aEVxYXAwN3VhOGZpZTU5ajNNOGRJdi9QbnZIN3BPejZ6VzJab2ErNk5yekVRQ093bzkwcnRiaUJ3M3pKYThDVGRlQVJXVE13ZlhiNVZwUFoycWJZVm16eUl0ak9ZajlqMG4vdFBSRURMM3NicjNzV1dlYUl2di9BekhIL2thWVN0VVl2bWtDWkZGREhLSmlqalg1RkpVQ1lkdkdKZDQ1ZS85STg0dlBBSXVoRG93djhvdXUwV1JaWjdEMWFNRjYvT2dTazdvVlVXWHdZL1RPOGNRamlFZ2tnQ3FoVCt1dkRiK2cvbGU0M0MrVjFYdGhXVC9ZUW42SGVxak5pRXgrYWY0Skc5ajdNM1BjQTB1MUEyS3YvNzhSM2FoRk1JNjY4N01pbDFNVTFpR3RSZGcwY1BQOGJCNW1IQVlxeEJoakJNSUJBZ1JHUURnVUJnaC9DK1VydHF1L244eTYveTBPRkhXTHEwaWtvaXBCTW9tVzVSMFFhVjZBUEo4YU1QODl3VHo3RHluY3MrQ0ZwTGFQZlhFUXBpRlpGYlArWXZ5bHhpNlFRSWdYQytqYkZ6bGxqa2FPc3dCbXpXSDB1TFVUQnd2cERWcUlFcGNLWWdSaUJGRFJCbGg3Y3FFY0YzQjdOT1k1d0ZLNGhJbUpQenZQTE01emk2K3hpeHJWSDBOS0tzUmhST0lnY2pGckxNZDVZb0tmMW9oWk04K3RDanJCVFh1UEQ2YVFTQ1NQcVVta0FnOEdBVElyS0JRQ0N3STBnU0VwNTc4am4yek8zQkZRSm5KTDFPRGk0bVVTbkNSZUFpY0JJMzBwWE5tMDVJaW5iQlo0OC96ZUZkUjN3RGlMNG1KcUptVTJ6Zm9veEFHUjlrVmJZY0ViQU81UnpLUW9Ra3Rpa0s2V1AyRmxJSE5TZVlTUk1pNDkvSHprYzlFaVFKa29pSW1BaGhGVmlGeEw4RUN1a1V3aXFraVlsdGpaZ2FNU2xOTmNPeC9ZL1FWRlBRVjlnTWxLM1dGd1B4S3NyTUlPa0FZOEU2YktHWm05bkZRMGNlOGlrSUNHeGhmeklHRlFLQndGMFJJcktCUUNDd0EvaTZxNVNYZityejVEM0hScWZEM05RQzdiVU9SR293VkMrbzhxbmQwRGdYL0ZCOEVYTnN6Nk04ZHZBNE4xYXZEa3EyR3JKT3k3UlF4SXcyRXBabEV3bFJydW1va2JnNnlwY0xBbERnMnhyckhpaHFSRVNrK0lLeG1CaE5nUU5pWW9veVdseTFJaDVHWkMxdXBIdEJTb1BkalQxTVJUTkVKa1hZaUNocW9HMFBLMzFabXFzcXhweEFPb2x3MGhlTVJRSXM2Tnl3YTNZWHUrSjVOb3lqYlZzL3JxOG1FQWpjUndRaEd3Z0VBanVDUktFNHVQOHczYlVjYlMxemM3dklOalRDS3ZKY0UwZFZ4d2ZBT1c5a1FHbTg0QlFtUzRsbG5XY2VmWVZkelQwVXJrdW1PNmhFa2RSaThrd1BqaVVjSUN4eTJBT1h2QzlSS2lsVFhRMnQ5Z1lmbmZtUWxjSzNrWjJOZHZINDQ0OHoxV2lROVF0cWNZbzFvUE9jUnFPQkZXYVljZ0JJNi8ySmpkUllZUkZDNEp4QW1aZzl6YjNVa2dZVUFxc2RVa2tFWHJSV3NycnF5MWFsTnlnRU9FZVMxT2oxT3RSbTZ1eWFtNk83M29JOHRQZ0tCQUpCeUFZQ2djQ09JSUI2MUtESU5NMzZGRVVQaW41QkxHdmdGR09lRjI2TFNpb1hZZk9VYnVZNGV2QWxqaHgrQnBVYUN0dGxvOU5pWm1hS1BOZCtIODYzdHBYT0lmQU9CUWhMVWtzeHhuaGhyQVJYcjE0bHl4d2I1OTVENEhqaThXZDQ5ZFZYMlRPL2gxYXJReTFPZk9leExLTldTK25tRzM2ZlRuaEI2eVJPV0t3MGZpcndRclZ2YVVaem1KN3gzcllPTWwwZzQ1dmRJWXVVaXFMSXFEVnF0THFyMUlRa2poTDZlZjZKZngrQlFPRCtKQWpaUUNBUTJDSHE5VG9icTJzY1BiU2JWcS9IeXNxYUY3SkFIS1hlTFVDTVJ4eXRHTFlXbnRrMXhmckdHaktHOWM0cVFoZlVwbUp5MDZMVnJjU2VIS1FrQ0RTeWpPbGFZZW0xTy9UekRDRWNhYjFHTzE5anZiZE1RUSt3WEYrNVJLOVlKN2RUZExJMXRFbUlwS0xmeitrYmhTdlRFWlNWWS9tcVR2aUliRmJrSkZFS1Z0S01ZWDFwallWR1FwU21SRUppTEFPUjdVL1FnaE00NGZOZkxZSXN6NWlKbWxock1SWUtvOUhvNENNYkNBU0FJR1FEOXpuT3ViRVh1SWw1dHZ3ak9mU1dIZldkc2grallidHozb2ZVYmVQeTc0KzM5ZkxSK1dQTHhlZzZJejZ6MngxLzVEeXNzS0ZjOHo0bnkzcElDV3RySzFpam1KdlpSWCtqUUd0Tm1rVG8zTGNKZHNMZ0lnZFM0S3loTUJyamNucjl5K3c2V09jdi92SS84ZnFQdm9kS0RQMmloUlhHNTlXNllYNnNxRHFlVlJGWkpFcE1vYTFBVzAxdU5Gcm5GRFl2VzhvYXpsOXY4Mi8vNEQxaVZTT1NDcVhpTXZMcUhSZU14ZS9IRGd1MUFKeXdPT0Z3MGxHdk4xbGJYZWVodlkvd2o3LzhLNmdhTEs4dHNXOXVIemJ6YlpKZEtheXJ4aFpXS2lJUmtXY1pTVDFoYldPTnRKNndlUDNpd0Q5V1NqWFNkaXdRQ0R5b0JDRWJDQVFDTzRERHNwcmY0TU96Si9qNUwvNFNXVWV3dnJyS1RHTU9Dc3ZLeWpMVDAwM2lOQUlGdWNucDUxMk1nSHE5U1RyZFlMM2Y1dkxLUjV5OStqNkwzYk9vcmlISG9LcGFzWkVHSUtOTk9vYXQ1ZGF4S0d6WkpjRXczbVNnWnd1d0lIVUxLUlRLTzhpV3ZUOEVqZ2hReUxMY1M0dzAzWEJZTklaYVVhZFB6bUxyQ3BkWExqSjFaSVo0VnRBeTY4UW9aQlNobENLT0lpeVdQTThwOGo1OTQ1aHFUTFBSWHFVMm0xS2Jqcmh4ZVluTFMxY3dXS0pJNFVLR1FTRHd3Qk9FYkNBUUNPd0lGa1BCVysvOWtCZGZlb1daeGp3M0Z0ZVptWm9oa2pHMVJvd2h4MmdESnNjSWk0cDh4TExYYjdPUkZUVDJ6SExtMVB0Y3VMcEJRWU9jREV0QllWd3BTWDNYdDZHdmdFOHZHTzhkYkFmTmZRZmpFMVY2YnJtYWNTQ2NLZE1TdkdCMTVSWGdUYmNHLzFSZEVtenBYNUE1aDhad3ZYZVZkOCs4dzl6Y0hMc2F1K20zT3FoNEdxTXpldjJDd2hZZ0hWRVVrZFJTRXFYbzlkcjBUWjgwU2xqZVdPYURqOTZuVHcrRExqdmFoVUt2UU9CQkp3alpRQ0FRMkFFc2prUkl6bHc3eGYvUDNwczF5WEZsZVg2L3U3aDdST1FLSklERVJwQUV1RlZ6WjRIVlpIRXA3dFhWNjh6SVRGOUVEM3FSSGtZeW1lbEYwaGZRSjlDTFpHTXpZNUxhMU5QVFU5M1ZYVldzS3JLNGd5REJCUUN4SkpCYlJQaHk3ejE2dU80UmtaRUpFQ1JBQWlEOFJ3dDZJTUxEbCt1ZUVYOC9mczcvL09hdFgvSFQ0ejlqZmsrUFliV0pKU1hwR0x3djBYWGRseVpXK2x1dDRoMTE4VnhhdmN5SlR6NWx0ZGdreWt4TndHQ01Sb0t2aThicUZzYTF5SXdDTU03WmJFbEExUUsyRm9lS2NkOWtGWjBGR21zc0NRRlFVYVpxQjBvSVBxNWpuTGRhNS9GcThMckMxeWtBSDN6eUR2djM3dVBSQjdyTUxNd3h1TFJCYWpxWUdZdlJjYnNBdkhmazVSQnRZRzVwaG8xaWxkKzk4MXMrT2ZzeEFVK1NXY3BxdUVWc3Q3UzAzSm0wUXJhbHBhWGxwaEFZeURxR2hGKzkrWi9adDIrWkg5MzdCUDNMT1hoUDVVRUhUNkkxU25uS3FzQlhIcHNhMHFSRG1taCs4OHQvNHAwUDNzUXh4Q2hQS1NWQ2haTkc0VmxpMUxLWmpndkZBaHBOTXRvV29JN1VobTNpTUV6RWMyT3dWZ01lcU9yMy9SYmYyQ2pUWXlRWDcxRUt2SGd1NTVkNDk4UWZtWjlkNE43bG8zUm5GekNpcVh6RllEaEE4Rmlyc2NvU2RDRHJkRkZHT1BIeENYNy83cHZrNUNnRlJUVmt0QWt0TFMxM05LMlFiV2xwYWJrcHhEelNUcmZMRnhjLzRXLy8vdjhobEpvOUN3YzRzT2NRSmxoQ1dlQmRUdWtLcklXWlhnL3ZQVitjUHNWSFg1N2c3VC8raHI2N0NGUW9EZmdLYlNCSUUwMTEwYnBMbWxZSmNiMWpOOXFtR0t6NU40eVRhcGxLUVdCcUdXNDhYNU5STUhHcmYvUk1nVTAwT21pa2NueDg1aU9zTjF6WWY1RW5mL1FUZXNrTXlvRHBhTFRSWkZtS1FWT1dKYWUrL0pRTEt4ZjQ1emQveFNWV01HaUdVb0lCM2RPRXplMml1NldsNWM2aUZiSXRMUzB0TjRGR09oWmhnTWZ5NFJmdjR2OU8rTkd4eDltOGU1UGwzY3QwMHdURUU0TEQrWko4ZmNEbHk1ZjV3MXR2OGZzUGZzc2FGNEdDeElTWVk2b2d5YUFvSnRjVUk3RGpybUNUclYxalNOTWdCQ1dvV3BRMmViSmhuSDBRTXcwVWFGRW9ETXI0UnNydUtDWTFSRkVOTUhJVmlXdis1Tnduckp4YjUvSzVEUTRmdkp2RFJ3Nnh1SHNla3hyNlJaL3pYNTNqL0Zmbk9IWHlGS2ZYdjJTVFRZUVFpOUZVQlRyR2xGdGFXbHBhSWR2eUE2RDVGWjM0WVZOWCs1SGIvcXU3azR2VnFNcTdtWDNpWTFvZ1RIbGs2YW5GWG92TDViZjV6Q1R5ZzdIUzNINEVycnhyOGRqSzVFemJEdWtvUkxqekFtVXlzbmlEK1FiSHhDYVFsNTY1emd6RHZPRGpDKy96MVlVei9PR1AvOHdEOXozSTR1d2MrL1lza2FTVzA2ZFA4OUdKRTV5N2NJNCtBeXB5SEFPRUNwdGE4anl1VzExcC9jM2ZoTVR6SnA3WFlSU1BWYlhEUVpEeGNCb3o0VmluNnNDdUVrUmNGTG1hTFdQZnpEcjZpNHkyc0ZTVm9LUWlVeDJzYUJ3VnExemtEMTl0OHVGWDc1SCtJY09MUTJ1dzFsS1ZKWDNwb3dGWEMvSFVwcXk2emJqZ0JCaGUremhmbGRFQVhHRjZWYmFldDNIb2R6Nm5aT3RNOGVsMGo0dnRDN3ZLZ2xwYVdxQVZzaTIzTmZHWFY5Yy9kTTNkVkNRS1JCRVplOGdTWXZFTGdvZ2FLVUFOOGNkL2h4OEhKZEZuZG90dEVlT0M3dEU2UnBzalc2WmJsaW1UbjFjVEg1bjQwYXY5WWJmZnptMWVIdnZJZXJiUHAxVHNYNnBVNDF1N2ZaOXVQZlNXNlhoazFKUkUyTDR6b1M0bWF2WXpUVFdoVXZnZ2dNWWFTK1hMWm5GYlJhL1NFNHY5OW1KMnRNaEo4Y01PMDhaQUFLZ0wvU0dBZDVyVWRzaGRoYVBDVTdES0dxdjl6em4xMWxzeGkxVlpSQlNPVUkrS1FXR2lPd0VGb2dJYitkaUhLdDlKNE8wZ2lxYVRDeG9tTDY2Q1l4dHVjbmtUMlFpVHlRbWpkVXllM2tBaEpSV3gyNWlpUURPSWVqVFVuL1VCL1BiTG1nQ0lDeU9ic0pHSXZkNXpYTEgxM0xqYThaUHBZWXpGZFkzaWJUSXM0alR1ZUdZVGhxNktIOWRna3BUS1ZmWENOTWFGMGJWQWFQYXozaDVsNi9HcngxQW5obERWMzJlaXlUb2Rpbnh3blFQUTBuTDcwd3JabHR1YTdRSTBYR05FTE96NCtlbC9Oei9xT3kxeU1tQXpIYnlaanJSZWlXbXhlMmN5S1Z2VXRsZmlxd3FweGNLV1lRcVFadUFkbEVWQWsyQzFSVVJ3M2swdWNub1YzLzE0MXhYL0tyV29JSVRLamRiWjZWaXNTdWx2VmxSQkdPZWJlckp1aGc4VlJSR0xwTXJhTExYYjdaS1lsT0VnSjRTaU5yZWFrbzdmWko4bUJuUHlQSTd1QS9HMWNkeDZJZ28rS2RpdkZsSGNBYWxiTFZ3WEU5NjRONHR4dkg5UzhVNWRXQkxiOEJxbFVFWlRlRTlWbHVPYzR2b0tyUEhmVlVvald2QVNxSUlnVmJ3NEV3TlZHUWlWQjRIWnVUbkt3bEhrK2ZlenN5MHR0eml0a0cxcGFibkpUQllpamYxTUo0bkNJWXltSXdSY1FSMk50eWdzSVdoQzNjTDB5bnBuY3AwM2dNa1ZiWW5pQ1pKWDllMTVoVkVXcFJSRlA4WlREUmtHUXplWnc0bW5kQU9LUVJPeHRLVFdVbFpSeUZhRm81UU5RcjB1clhSTUF4QVlTNnR2T3QwNjFsdkgrUnIzOTNibUdrVnhjMGoxeFA5SEN4aDFKQnVmbVpPTFRLMUJsQUVYWFIyTXNZaFdoTktUb0VaK0VnaG9iekVvTkFHUmdCVHhUT2hhUys1eUJNaUhKVXFQMTl2U2NxZlRDdG1XbHBaYmdFWUNqQ1hVT0UweGJLbXpud3dJQW1neGRZS0pwZHVabzl2dGNlbnlCWlR5QlBIeC91eU9tdlZHNU1mdUlQbDJFaGVpeVV3WHZNWkx3S0NZMVhQME9yUHMzYjJYaFlVNWZIQ3NYTDdNNWJWTGJBelhLU254bGRCUnM2Q0YzT2MwTjZBVkNwR1lvekJPd3ZnMjA3QWxIZlJxNC94RFJFMUkwNjN5L2xvWHNEWHEzeHg2WC85REtjaWRBM0hFbHNDV3JzbW9Lb2NBQ1pZRVE0OHVNNzA1c3F3TFFGR1c1RlhKcFhJbE5ndDJ3b3llb1pRcVh0aW9RRzltaHNGbS8vb0dvS1hsQjBBclpGdGFXbTRhYWtvMmJJbkhxbkdoMFk1VHdKQ2dTWUhZUHZXUmh4NW5lWG1aZi83dFAzRis1ZXlWVjN4RElsbE5qbVFzU1pyWXFkRTZFZ05hcFlqVGVCZTNjbmU2aDRjZmZKeGo5OTdIQS9jY2kya29ScU8xUm1sTmZ6amc4ek9uT1hQK05QLzRxMzlnR1BvNG42UFJHR3NSQ2lyZnBNWUkrbHQrallkYXhLTEd3N0Z0T3AxNk03V00yemtncUNZYTY2cUpiTmVkcm5uQzFMU3hUdHVXRnowMVFPTVViRTJDUlF0VVJZbEIwNkhMUFBQc1g5ekxYWWZ1WWYvZS9YU3pIbVZSMGUvM0dSWTVselpXT1hIcUk4N0xCVnh3cEtSNEhGNENnMEVyWWx0YW9CV3lMUzB0dHhSVE9jN1Q0bUJMU3FLbWF4WW9mY0NTOFpPZlBNTXJyN3pDNmJOZnNucDVFMFlpOHdveHRodWl3aVp2T285ZEFTRG1QNHVMVDVRWUxCbkg5ajdJQ3o5OWlmdnVmWWdFUzgvR3IrRFlMTXVnVEVKdkRycEhkck4vOXhHV2R4M2lYMzcvSzA2Y2ZnY1BXQ1VNcXpCMkp4Z3BwVytUV25DVlhkcWFOSHQ3SzlhckVuZFFSdFB0MUhKL3g2U1hwcmgwWklJeFhWUll2NWFZakZRU3ZLL3FDR3lQWTh2MzhzRGhCMW5zTHJBd3U1dVpySWNXaXhqQlowSlFnWTNoQmdjV0QzRHl6RWxPbnZ1NDl0STE4U0lrM0lnN0NpMHR0eit0a0cxcGFibXBYRkZxVGxlT1R5TUdTeGNQUFBVblArYkZaMTdobmlNUGN1TGpVNVRCa2VpRU1oUmJQejhkY3J3aDFIWG5FNVp2VFdSUDErdXlXQjY3OTBsZWVPWU5IcnJ2VWJTenJGNWFZK2hMWmpwZE1wdVJWNDY4cUJCajZIVjJNYmRuRDNjZk9zWnNkNDdzell3VHA5NW1VRjBlclVEcG1EVVJ0c1VMcjIwcXpVWERsWXJocHBrWU16MnF5Nzk5eFZUdFpUTDE2dmFZODNpT0VJL3hoRkJ0aWpyOVpHWGM1SG5iWEtDSUluaFBRc0tTWHVTQnUrL252b1AzY1hUL01WU2hxWXBBZGNsRFZXR1VKVFVwMmxxVVdCYjM3V1o1enpKTHAzZnhoMC9mNXV6d0N3SWFaVFNWMzhGV29xWGxEcU1Wc2kwdExUZUY2ZHU0elcxdXJqUnRDbk9rc2VwS3liM3c0bU92OEpkLy9UY29xMWc1dndaZW83Y2xMVXd0Qi9nV0daRTdzSVAvcll4dG1CSlNCTU85ZTQveXMrZGU0Y0Y3SG1iOXdvQnlDUHQyN1VQY0lIWmFMVUQ1aEk3dW9IUkNLSVhoTUtkU09ROGVmUlNiR1liNUdoK2YyU0JKQk5zUk5qYXJpZjM1ZG1JVzJCNTluWHcrWGNTMlJjeU9jMmx2VDZabGJMd2cyV0tQTnpIdlNNUk9XQkEzeHhxcHhleTBCNjB4NEMzZUNSYkxJb3M4ZHV4eEhqcjZBUHRtOTFLc0ZxaktZcjBoVlQwNlNRZUN4cFdCY2xEUTYvVVk5SWZNek16eDhORkhVU25rZit5ejRpL2lmYlJqMitaYzBkSnloOUVLMlpiYkdxMDEzbnU4VXhpVm9wUkNSQWdoSUNMUnAxV05IQnE1V2dtTDFENnVrOTZ3ZXZwOXRyNHZWM2kvbVVWTnVOUHY5UG5KdXZvZGwvODFackFpTW9vWlRjL2IrTW5lZGt5SVY1VW9wSkw2YnJpRkFGb1pzcXhMbFd0KzhleGY4Y1FqZjBvM25TZmcwYXJDbHg1REhZMmRabFNsZnFNY0M3WUt3aTFGYUlBbk1HOTI4ZGQvOFc5WW1qdUFHd1ptMDBVOGhsQ0E4b2FnSEVvc1ZtTEJXcWdVU2hHYkJ4aUxEY0x1dVQzOHF6Ly9yL2pmL3ZjUHFhcVNxcXFhN0lxclYyUjl6ZkZYa3RUblQwQWJGWDFhQXp2Zkl2K2hvVUFsSUs3T2RUVUtuQ0JvRW1QeDNsOTUxK3V4TVl4N1FvakVaaEpqZzVnUElnQUFJQUJKUkVGVXdhK2dWUFE2UGJ5cnNGZ2VQdm9vRHg5OW1LN3VVS3hXSkNIRGtHQXhLSitBVitBMXFWaXNzbWdQanBLcUNMakM4Y0RoQjNDaDR1L2UvdjhvcVlpOXpscGE3bXh1b1A5TVMwdEx5N2ZqU2w5RVVnbEtXOENpc2N6TjdFWWtvY3dEcnozN0JrOC8rUnhIRGg2bGEyY0lsY1pYNEwyYWlxdDlselRLZUN4b3g5cFNvOGw0OElHSDJidTBuMFJuNEEwRVRhSXpxandxUmlVV0pRb2xHaTBhRXhRNkdMUllRaEVZcmc5WjdPeG1hWDR2enozeFBDbGRVanB4ekNhdnozWjZYSFhUTFJxTkpVV1JFSndHdDhPUjJHRWdmeWh1QnVMcUtLdUJORTFST25yb0J1L3JsMVY5SnVsNDFUQnA2U0NnTVNNaGFrU2hncXJGYUl6RWFoTGNzQ0lsNVdCNmdMdVdEak5yNTBsZGg2Nlp4WGlEcVkrMUNlTnpRSWxDaThhVkh1ME5xY3F3M3BLRmpNTkxkM0hQek4xMHlaaHVHOUxTY2lmUy9oVzB0TFRjbWdnZ0toWk1pYUZqNWhqMFMxSTZ2UHowRzd6ODNNODV1Tzh1TXRNajd6dXF2SXBDSXNUU25VUW5YS2xCUmd3NFhxOGNDMU9QU1RTS2hBNHpQUDd3VXl6T0xrV0hCVEZVVllVeGhzbzdnaHJ0WnJ4WElQRit0WmFBRHRCTE0zemhTSlJCT2NWakQvMllEck5ZT2lUTVJCRXFWMzRneVJVZjBlY2hJNlBIcko3RllGRVlVdHZCSlBaMlRuKzlacFN0ZndJRGlJdVIvemd1dHY0dkpSbjlQMEdKaGFEQmc1RjRHYUJKMGFRWVVoS3gyR0F4UVdPREpaT2svbVRDc1lQSHVIdi9QZlRNTEZJcWxJc0NkcklwU2d6a0JrUjdVSUVnRG9LUW9MRmVRNkU0dEhpQWh3NC9SSThaekEvbWtxS2w1ZHZUcGhhMHRMVGNPa3ptYTBwZExpVUpxZTVRbGg1RGwxZWZlWjAvZi8wdjZKbzVRZzY1enlsOWliRUp0UWxBTElBS1Y3dnBlb01FUUZQZ3RTWDZHZHZJZ21WbVpvSERoNDVTbGg3dkFLdXBxaEtWQ2RacVJIbThDaWpSaUFwMXZtV3M1TktFYU5Oa01uenVDU1hzbXRuTFFyYUhpOFc1Mmp6SzhHMFZaNVJoQ2FCd1FiQ2tlRFJWV2NhOHk1RlQvMDdjNElZU053T0JSQnZLS29Cb3BBd2tKSFVjUFNNaG9TUTJvNGhCMkZCYmxubEVBaG85bXI5T0NzRlBGSWNwRkFrSkNzMHkrOWkvZUpEWlpCNlZLMVNWSUY3cUhtcVJvQVN0SFg3aU5XczByaW9SRHdrSncvNkFwSnR4Y1A0Z2M4eXh3cVh2Y2NCYVdtNU5XaUhiMHRKeUU3bEN3ZFdFaUYyWTI4M21SbzRoNWRYamIvREtzNitUaGhuRUdSSkpVTWFDVWFnMEVHeEZjQjRJZUtyeHNpZnlQZFZvclRHTDlZYXdKWjgwaWxoSTJMTjBnTm5aQmRiWGN5d2RsREdFNEtNTlUwZmpwQUxsMEJMRmI1Q0FDdU1TK0dGL3lNeGNSci9ZWks0elI0Y094eDk1aGxPZmYwSkZTYkFPVVZjV3NsZkxzVmFpNmRvZWc4MCtRVHRNUjdNNnZNeVp5MTlHcXk5dGNLRzZ5azdmL2lIYkt2Y1lMSXZkUlphWER0QWhCYWZKZElZS0Nxc1NJRjViQkJVUUZlcHBqUHBiRnlPcWs2K1AyMTlyckZnb1lPLzhmcFo2dXlrMktxeFB5T3dzUmlCSUdUK0xRN1JDQkdTVVZ4L0lzb3lxS3NFbHBEWWg3ME8xN2xpMGl4eVkyOC9uRzEvY2xIRnJhYm1WYUlWc1MwdkxUVWF6dGUyc3JyMmxEQnJMK3NhUWhJU2YvZmdWWG52eERmYnVPa0RaTDlIT2dBSnRGRm9Vdm5KNEtvUW9aSTB5dUdsRC93bkhnaHRXZGIvTkNhR0p5QnFXZGk5amRJWjNBN3BwUnNCakVrdmhoMWhyOFRpZ0xrcEVNRUVqU3RBaWRmcERJTE1KbDFZTGR2VVdTRzNLOHo5NW1TY2VPVTVuTGlOM2ZhNG1LSzhtWkxWb3hNTmd1RWs2azlDZFMvbmt6Q2Y4dzYvK2p2Yy9leDlYVmp2YmMzRUR4dXdXUUtGSk1IVG84TkRkRC9Ia0kwK3haMjRKU2dNVmhFSkliVGFhUDRwWlY0dldPQUxldytnc1V1TTBFMDJNc3FjcW85eDBaSFJJcFVmVkQrQUR2U1FoZUQ4eW9vMnBKUUd2dGg2elNoV0k5bFJlNkhVNlpEcEZGWXE1WkpibHhRT29qZHM4S3Q3U2NnTm9oV3hMUzhzdHdOUVBzalJ4VTRORzhlempML0NMVi8rQ3hlNGVRZzd6blVVR205R2hRTmtZT1N4VmdkSUJhMjNkcStrS1BxazNDalUyeEtlZWpodWV4Z0sxZ0NFdlBVbldRUnREVVpZa25SUXBBNVV2RUNzeG9ocWl3NFdvZ0ZKMVJGWWdUUzNlbFlnUEJDZVVWU0JVbWw0MnoweldJNVYwaTMvdE5GL25lbEg2SWJZelQzZTJTOUkxektRemROUForclo2dkNENG9hSkh5UlVKRkJvMUJJeUdTakNWUlh1TkRDY05Za045akJSS0NWNkRxM09hNHdHTUZ5V2FnRWpBQk1GclI3bFpraVVkc2s0R2VFTFFCSy94M3FFc28rUG42K1dJQ0tMamExVVZNQjJOS3h6ZWUxSWRuVmtTbFpHU2JrbE5hR201VTJtRmJNc1BBbFhiM2pRUnQ4bXBxSjJuTjJTOWZQdm8xRGY1Q2RJN3JPUldrQmpqTytyZkpETFVHUExIWE5heGozeU1aZ29HU0ZCWUZCay9mLzRYdlBEMFMvVFNSWFJJOEtWd2VhUFBUSGNHQUpzbEJBYytCSXlGeEhhaWpCVy96ZGRUUnVzSk4yVDhkam91a3dWZ2c4RW1lVDVnTGwxQWVTanlpdG01ZWNxeXBISWwySURDZ2RKMThWbGo2S1JqQk5CNWhubE8xczB3SGMxdzdSSy9mK2QzWEZwZFlWRDAwVnBmbDVCTlUwdnBDcHhVbENIbjNOb0Z6bDc2QWsrRlZuWFRnd21oM2d4bEdMOTBuVXlZc3NMWC8xSGMwRkJ3WEdkT3lYdWYvcEhMRjFjd3dlQUxJZE1abWVuaVNsOS9WOFFUU0hUMG5vMXBCQ0FtNWphanBCYXlEb1dnQkV4UXBDcWpHamlPSHJpZlIrOTdra3pQWXBYR29HSlV0MDVKaVBzMlljc1g0aDJEdkNpWm01dkRsejVHeURVb3JmQ1MweTgyYi9TQXRMVGNsclJDdHVYMkpnU01pb1pIRXVyKzV5RXFWZThjMWhEditrMEwzZnJqMFR0V21uL0U5M2Y0OGQveWVqME5Dc2I1Y0ZOKzhxclp2RG9IYzJLUld4cE43ZUFaS3lJamdUU3lWQlYyOEprTnFKdDRaekhHVEhXOUpYcnFKM1ZLa1NqWjRUYzNibjhRSnZiWFlPaWg2Q0FrdlBIc1gvTDRROGM1dUhRZjRnM0ZaazZpTy9SbUVrcFhvSlFIaE5KRElDTlJHcGZIUmdTQk1McHdHYXRXaTBDZFAzdWQrNzhsM3pZU3plbXIwZk5UbjM5SW1uaXlSTEYyYVpYZHZXVmMzNU5KRDZzdFpiaUlaNGhSWFZMYlJWd1N1M3Q1ZzdXV3plRWFoNDdzcGR3NHg1bExuMEduNUhjZi96MmZyWnpBNC9EMS9sd2ZUWSt1VUJjME5aSEJuZWUrY2RKSmoreWptbXI5TFJIMDZZNXNreXVXS1FIOExRZ0VLaW9jRlFVRi9ZMlBSaGRUWS91MGh2cEtLRXl2MGRUSFhPbzBrUmpGamtzeHBDU2twS1FiUGU2M0R6S1R6T0x5bk9BMWlWWDBwWXo1eWNGRUs2OWdJQ2lNZ0FURm5wbDV6cDM3aXJuRldXeXF1TEIyanNXOUN4U2g0dnp3VEwzT2xwWTdtMWJJdHR6MlRJcTlrVmhWVTYvdk1MMWV0RFJpOXR0OUZyNisxR2g2V3h2emRiaVZ1aXBOcXVscEFWdFBSK0h3clc5M09qQWN4dWNMTTRzTSt4NlBwY01zVHovNlBILzY1QXNzN3psSWFtWVo1Z1VTTEY1RnFSR0xZaHhCV1VDamxFR0N3cHB4WHFPbTdyZ2tFTC91YWtGeWc4Myt0NWFzQmVLUjFhQXF2amp6T2NjT2RPaDBNNHhTNUdWRm1YdTZNeHFiYUp5RHNpb1FiVkZpMEdRb1l6SFdzclJuSCtkV1ZzaWx6OExlT1U1KzhVZFdOcy9pNmRleXFiaHREZkhIVGJKVXZCQVN4dEhscXpaNWFBVHc5Z2F6MzRSNFFYTTlRakM2eU1hL3d6b2kyNWdJQ3hBQ1daSlNsQlhuKzE5eGJ1MGNpL3QyWVRzSlVuaTBNU0JOOXdscUQyR045ckdsTFVFWXJoVjBkSmRPMHFGa1NEREN3QSs1dExIQ3lzYUZXK0t1VEV2THphYk5GRzlwYWJsT0puOU9hOVdvbWpENHhFUEd0OXdWQVFVVWd5anFGWm9pRDNnVW1wVGpUenpEejMvK0N3NGNPSVExS2YzK2tMSXNVVXFodFVZcFFSczE2dVEyV3JzSVdaYmRvTVNCYTkvN3lZdUtTYXVteThOTGZIcnFCRjQ3eEFyOWNvTk9MeUhwS0xSVldOVWxvWWVoaTVZTXF6TXltNUVhRzhWNkNPU0RJWjIwUzVwMGVQLzlEOWtzK2lqUzcyMy92bHVhMktlSzRqVG9yUVBhbUFBRUlPallQQUpkeDNMSEVkMWJGcVB4QkM3SkttZk9uMkVZaHVpdXBsUTV1UzlRb2pIT1lJSkZlUTJoRWJGUjVpdWw2SGE3bE41UmxoV2Q3Z3hveGFYVnk2eXhjYlAzcnFYbGx1QVcveFpvYVdtNVZka2FEWnRzQ2pEZEtNREZhSldhbkdmODVkTkw1ekQwcUh6QTB1VzE1OS9ndFZkL3pwNmxaYXJLMCsvM0tZWTVXbXM2blE3R21OaVdPSmFNajRTc1Vvb1FBdDF1ZDhMTjg3dGxVcXBQajREVW5xTnZ2ZmNXcDg5K0FhYUMxRk9wSVVPL2dVb1ZsUk8wNnBLbGN5UzJnMVVXRWNFSFIrVnlMcTJ1c0xocm5sNHY0N1BQUHVNUGI3MU5RR1BvRW92SmJ2K3Y4RWFNanNUc1pBZXRrYUFkUzFlRFFkSGtGTi9hOUllYlNKMTI4UG41ejdtNGNRRnZIVlhpR0xwK25VYWswU0YyOHByTXVSWVJPcDBPb2hXYi9UNURWNUprbHY1d3lMbno1L0Z0UExhbEJXaUZiRXRMeTNVeExWckRGaHVpblRwcmpXOHBnNldIVkFtQ1JkUGwrR1BQOHR3ekw3Ri8vMkhXMXpmUnltQnRTcFpsZEx0ZHJMV0VFS2lxQXVmaWJXRVJRVVMrZHlFYnRaYmVGa0NNajVocm1pVVpaMWUvNUpmLy9QZGNYRHRQMGxPVWVzaW11NHhUQmNPaUluaURCRTNsQThOeVNPR0dlQ3FVY1hSN21wbjVoRFBudnVDZi91Vy9zTUVHbW9RQ1Y4ZTBmNkNJSGowbW83Q3E5aHJRSTV1em04M1Vka3ptOGlyd0NJbTFPRHhueXRPY09QMHhLOFVGWk1hVHpNZk9jeW9JcXNuUEo1N1BvYmJreW4xSmhVTXNxTXl5VVEzNDZMT1ArV1QxODdyNVFpdG1XMXJhSE5tV2xwWWJ5QTQ1amxPRmJtT1hBb3VsU3lrYVJjWkx6N3pHU3krOHpyN2RCeWo2SlVhbHNSV29pa0xHT1FjZXZQY1lZOUJHbzNDRWlZaXNpTkR0ZHV2bHErOWN6c2JsMXhteVUvc3NCRW8vUk5COGRPb0RlcitlNVprbm51Tkg5ejNNekd6SzZzb3FOcHRCbE1aTG9QSWxFTENweGlZR3JKQW1sbE5uUHVJZmYvT2YrTjNIdjhianNVcmhKWkRZRk8rRzMvRWVmbmZVcFl1MTZCKy84blZFcDR0YlFjU091Wko3aVFCZUJ6d2VoK0hFbHg4d096L0QwVVBIV09ydHd1Y0JJNkcrS0trSWFKVFdpQ2k4RHVUbGtIUXVvZHZ0c2hrMitmTE1HVDc4NGdScnJDTGYyMzJIbHBaYm0xYkl0clMwM0hnbUxLOGFsSXhyWVNDV3lqZzBIUlo1OHBIalBQZW5yM0w0MERIeXpRSmZCV1k3cy9UN1E2eU9vc1dYSGtJVXNUWkpVRG9Rbk51U0l4dEM3SWIwdmFOMmVDNkJNaFRNcHJQMHl6WGVmUHRYNUhtT3ArTHVnM2V6V1cweVA5dkJVeEpDUUZTRnFYc3BERnhCZjJPVnJ5NmQ0YmR2L1pxVG4zL0lrRTJzVWhTcXhFbUJNUW5pYnVlSVhOaTVVRzNLVHF3NXZFMG5ObzNDajl3VmJqWVRyWHBGYnl0VzB4WUc1WUFFaTZQaWZMakE3MC84bnFFYmNHVDNFWmJ0Y3YxcGg1Wm92ZGFjejA1NXZIRU1kTVhtY0pNdkwzekJoNmMrNER6bnFLaHVvVEZvYWJtNXRFSzJwYVhsVzdOTlJrMWJKelVtQVZ0RXJLNmZSNS9ZNTU1Nm1aZGZmcFdsM2Z0WVc5bUVZRWhVU2xGVXBEWWpTekswYUVwaXovbFJla0daays3d0RXYU0rUzUyOVFyVTBkaEd4RXdKV21NMHlnaU9paUY5L3ZqUjcvbm94SHY4N0xtWGVlemhweGpJWlpEWTV0UWtRamV6RkQ3bi9LV3puRG4vSmYveW0zL2sxS1dUS0JTT0ljRVlTbCtBaGlJVTEyZGtmQ3R3RlEvYzZYbWtIdWV4K0wxVlJQeE9MWmJycVZHSWl6bXk4NzE1TmdkRHpoWm5LVTdtYkd4c3NQaWplZkFlSmJHd0M5RWpjZXFVeDZhR0N4c3JmSEwyRTk3OTlJK3Nzb3JEWVpVbGwyR2JKOXZTUWl0a1cyNXp0TmJqSE1uNnRlYmZVZENNN1hVYXoxaVpzTHlKMFkvSnF2ZXR5dytoTVN2LyttMlo5SG5kS1h0eGl3L3NLTXAwOVFWUFYrVEwxSEpDQ0ZlOHdmZzFYdmpmSFJNN3IydGZVUEhRNUJOYVRMM0ZHWC8rL04vdzhJTlBzMmZYUVNRb1ZCQXltd0dhZkZDUUpaYXljTkYyck02RGJYSmpZOUZYaWJZcEdJUFVqZ1pabHFIUitPOUw0ZTNrZTFvTFRPY2RHMjZqM3A1QURoUXk0Ti8vOHQveDczLzVIemgyOEVmc1d6N0E4cjU5R09XNWZPazhaODU4d2JuenAxa3JMeE53U0JON3MxQXFOM1lSdXcxU1pLMnRpOWY4V0g1Ty9zMEMyL2RqVXB4UGo2bWFNbks5NlI1MHphMkhuUWxWdEhyekFwY0hxNmk2SGZPRjZpSnJweTl6OXZTWDdKMWQ1dUR5UVphWGwrbjFlampuMkJ6MDJTd0dmSExxSkpjSGw3bFFYYUNnd05VZXhVTVpYaW1lM2RKeXg5RUsyWmFXbHV0bVJ5MGgwT2wwR0E1eU5KYUZtUVVHL1J4QmtkTGgrQlBQYy96Slo5bTMrd2dkTzhOd09JUks0UVdNVVNRbW1UQyszNG10NzAySy9vVGtCclE4dUJiQzFIU0NwcHVZZ2lDaGp0MldVTXRhMEh4ODVqMCtPdk5PYk41QVFPTkh2YzNBbzVVbjZGQjNkR0xjVm11cVk5bXRTblBSMGRpbTZUcE5wQkczZ3FDVTN0S1lSQ21OTmpwZXBNbFV6cld3OWJEZjVJQmtFeXNlRlYzdGRDenFiZmNTTTJIOUtNYzNjSTRMckc2dThjWG1aNlNmWkdpdDhTSGd4RkhpTU5iU2Q1c01HZUp3ZUR6S1N1d0tOdTM3MXRKeWg5SUsyWmFXbGh2THhBL3JjRmdRdjJZTXhSQUNDUnJMMDArK3dKKzk5amZzVzdnTEhicmtnNHF5OEJBVVNtSnRlcElrWXlFMENwekhsaERScHNqWFRSSHExWXFndEFLQmJxZkxJUDhlOTNkYVVPNFFwQnUzNHgzM3ovSVVvQlNKc1hqblJxVlBUYTh0SmVCOWZFaFRLVmZuMGJMMWhzTXRUeU5lUjNjNWlPa2xlRENUQStZaCtBbkZPcGwzMmp5YWNZaU4zVzR0cmhSTmhwSGc5Ylduc2tianFPalRqeGR0dnBrOU9qU1Vya0pxQWV1SkZ6U2phN3V0WFRoYVd1NVlXaUhiMHRMeTNTQlJiY3lrODdneVVBWEJNc3VyejczTzg4Kyt5TDZsdzdnKytMSWdoQkNkQ05JazNuWjJncGhyVnlpTjlaWXlVY2pPemMyeDhuMEoyU3ZsZWU2dytaT05HcVFXSnVqWVlVcFU3TzZVbWc2cHNTaFJES29CRmtXdmt5SXFVSVNjMGdjb3I3eU9XNGswVFNuTGNtc3FRWTNHWURGWU1sS1R4UnpSSUhqeGxGS09icDBIRlFqYXhYOVBkcDI0NlNMdWF4S0RwZ1h0bExEMUVpaWsyT0tKcTlDWVdzYUtEcmhReGRTaFNaZXZ3Tld5R1ZwYTdqaGFJZHZTMG5JZFhDRXNWSXRZb3pxNFNuQVlMQjJPUC9vY1AzM21WUTRzMzhYNnlpWXp5VXdVc0luR1dvdjNucUlvY0w0QWE2TzRHYTBuZGdFVDJicmVSaUNGRUxEMS9QUHo4M0RodTl6dkdqVjFTM25pRnZoT3JaRHJMUjIvVU85R0NGSTNCdERnTmJrUGRUYnhUTHdObld0S2NpREQxREZib3pWT0ttNEJSWGRGSnFPdkFFbVNFRUtJeDBvc0NSbUdoT0FCcEE2NGFuck1FQWlVRlBqZzR4aWhRUHY2SktnWGVOT0YvTlRZNzVnS016SFBsS2oxTkozdVRMU1BDNEZxbkVDUFZxQzBCaTJvRU9vMnZsUExhbW01dzJtRmJFdEx5M1V5SldabGZQOWJLMHNWRkFvYmZXS2ZmNFBsUFlmSSt3NmpPNGhvZEMwK25YTXhiN0l1MUd1RTdiWFFlTWdxRllYRTdPenNqZDNGYjhoT0luYjdURUNBVHRlU3FpN1Z3Qk9DQmxMbVdHQTJtK1BRd2NNb3BjanpuSlhMSzZ3UFY2bUkwY29pOUZINFc5b1VmeklLYTR6QlRkbWw3VThPY1BmeWZSeTk5MTcyN3R1SHRaYTE5Y3Q4Y2ZvTHpsdzR6WmRudjJTVERRcGllTjBIUUFWa3V1anJaakdadTdzamV1SWlaMHJRS3NCb0NES09XTmVwTWMzZmhBOGhwaHY0aWZTS2VubmFRTGpwUXI2bDVlYlRDdG1XbHBadnpmaDNWRSs5RUJNWnF4RG9xQzVQUHZvc3p6N3pJb2NQSGFVWU9Gd1ZtTzBzVUd6R0hGRm9jaWNEaVRIYkxMUzJSbUt2NU5JZ293aHVyOWU3Y1R0NU5hWUw3eHVSTVRYYkZXM0tCSXErd3pGRWs5RmxsdnNQL1FtUFAzeWNldzRmUTRtbWsvV3cxcElYbTZ4dXJIRHE5Q24rOElmZjh2bkdTVHdWL2haUGxHMEt2U2JUQytibjU3bDM3ekgrOHNmL21wNmZqeWtGM3FGRmMyalhZZTdhZHpjQnorL2VmWk16RjA3ejZabFB1RmhkUUtNSlBoYkFCWEczUUVTMlprSmdxaTFIWHlGWFMyWWQrUURMcUJVdkFrckZ1eEdDR3pYd2pUWnZ6UWNENGRZKzdDMHQzeHV0a0cxcHFkRlRQNHJYVWhBKy9abHZzODV3UGJjSXJ5bjA5MDI1MXE1SjA0bUs0MGlzcW91NkZCblBQZjB5cjc3MEM1WVdEckordVEvZWt1Z3VaVm1ScG1rVXJVRW9YWVZSTVJMcm5HTTRITzdRM0tBcDAyNkVzMFdMUmhTbzRPTXRXaUMxWGNBU0d1OENWWDlXcGdYQmQwTXpLbGV0eHhHWTc4NHhHT1lZTXZiMUR2TFQ0eS94eE1OUHM1RHRacmhaa0NVOVJBU1hPekptT2JKdmtRTkxSOWczZjRnUFR2MlJ2My8zUDQ1eVNXVlMwTzRZS2RSYjNvcHZYOEZ0NFFyYmU4M3oxdmpnWThhbmFGUUFTOEo4dG91bi8rVEhQUFB3VDhrMlp1bVpHWlJWc1JCTVBLcFVWRU5QNVR5di92ZzFQdmowZlhTbGNXYzg2NnppaUtrWXQ4ZXQ5WWxCazRtellYU0NUT1FKS0VaZkJqNVV4TlFjaldyY0hOQW9aUWppa0pIdlFkc1NvYVdsRmJJdHR6ZEJ3QWRVMEdoVm0rNEhRU2xCUWtBMW9UelZoUFJreDVRMVlHVC8wMFNObElCUmFqU2ZUTDBQT3dzQkJWdjZwamZMR2htNzFqNnlVdnRpTnJKeGN2a2ppODJKZTRjcXJuRGNHVXVnbXZDUmpZYnE0OVVvOWZWZXN0djFUaU5HdCthbWpwbUlJS21BVXRFV1Ntb05GY3QzZWdSU0ZDay9mKzZ2ZVB5UnB6bTRkQi9pRE1IbFdKMWl4RkpWRmM1RXE2RW82T080dUxJQUlNblMwWmo0dXJOOGpNZldPeW1LRUF6V3BGU1ZJeldDRVVlKzBlZXVBL2VnNmVJSVFESDJJSlV3a2IrcWI5aHQrU3NOOHhYZGthUnVDRkZsV0JMMlpnZjQ2emYrRFlmMzNVTVd1c3lZZVliRnhaSGpyc1hpRWZ4UUkySTVldUF4N3JyckdLdmxHbStlK0Mra3hwRDdEYXlOQldUT004Nm5iQ0o5dGNnZnQzZjFpQW9ZRTg5RjM5UlNUUWxFbmNSenlUZjlGK3J4TThsRVFIRnlFQ1p6T0RWSUpVaUFCYk1MOFlwWEh2d3pqaDg1VHJLYVFGQjRRRVdqWWF3azhVSkVVbWJwc3ZIcEpnL3ZmWVJkVCs1aTk4d1MvM0RpUDlFbmtIVXN3Nks2K2ZaajI5WjlKV0U1blV0YlQvME95YjRUVHh2THJ0RXlaT3ZGWXl0aVcxcXVQZlRTMHZLRFpqcTRjNzJSMW10YTV5My9LN1RUMTBQeldoeXhidGZRMVBQc250K05wWVBIMEdHV1p4OTltV2VlZXBFakI0K1JxUmxDcVpCU0l5NVc1MXM5YnVuWlJLV0R1c1lJZGYwNXBRemVDeHFGMVJvZGhDeE5tZTB0QUFueFd0MXV0VzZhMkEvMUhYOEZYdTBRYXhTRkswbkllT3JSNHh6YWV4Y3p5Unk5ZEo1OEk2ZGpZa2N6TGZGOE5BSW1hRXd3R0o5Z1FzYnJQL3M1RHg3K0VTWm9PaVJZRktFRUFoZ1Z6ekZWWC94RXh5NWRWOGJINm5ndE90NmlibXJHQkt5Rk5OV2pMQTV4VWNRaWNabW1McUxIbTVpL0dRQ3ZJVFNQZXNjRDBSNU1vajlCNVIxUEhUN09mWHNmWUNIc1lwNWRtSkNNTGlxMDZLaDlSV085d2ZxRUdUMkRLUTJ6ZW83RGV3OXhlT0Z1UUZPV0pkaGJOU1FiZG5qVXlEVThwcFlqb3djVDAxYkV0clEwdEJIWmxwYVdIV2lVeVBScmJIbDlPUFNvRUtOOGczNkZRNkZJT1A3RU03engrcCt6Zi9kaEpGZzJOd2VVUllWVzBSUmZhY0ZxU3hXdXIyMkIxaHJuSEZtU0luaWNLK2trS1l0ejg3VnVWYmY4RC81ZHV3L3gxQk5Qc21mM0VzV214NkFZNW4xbXVyT0VxaHhkOGNUb2RFQ0xBaHhhQXZ0MzcrUG9nYnY0N012M1l5OHpKMUcrYTdBcERJZk5XbFJ0OGFRbXNqWU5YVFdEVGFPVFFML2FKRWhBQ29sUlVpQlJDZUtrYnRpZzZFZ0hYOGU1VlRBa01HRndXMStVaUNkSXdCTXdSck93TUUrK1ZxTFJQUFg0VSt5ZDJjT3dQeVRCZzVYNGNjWSt1d0VJS2w1aW1FUlR1aEtUR3ZZZjNNKzkrVDE4OEx2MzRxMTNlN1BEc1MwdExiY0NyWkJ0YWJsVHVhSUd1TXJ0ZHJVOXVqU1R6VkVVZ2NvTGlvelhubnVkRjU1OW5lVTlCM0JGb013SGlJdWR1aEtiamp4ZlJhNC96MUhyMkFFcXBwQm9xckxDZEF5OVhnK0xIZG10M3FvWURBL2Uvd0M3RjNZajNsUG1GVUg2WkRZajBTWnV2MEEwejVkYVRncGdNUUc2WVpialAzcVJyejQ3ei9wZ2hhODJUNUhVb25Vd0hKS1JFYkJvREdCSEVXaGRIMk1uZ2J5SWVheXo3TUxoUmc0QkZvdVRpbzdLc0RiQlZaNUVFclJTbE9KcTkxTTFrYXBBYlF6bWE3SHJxWHhGc1JZTnBlWlpJREVwYVpvaUEraGtIZnF1UC9ya0pLTHF4aEFDcnFvSVdTRHRaQnc0c014c09rTlJEcWJ5R2xwYVd1NVVXaUhiMG5JSEkxOWZYMzlWRW5yNHd0WjV1Z2xQUC9Jc3p6M3pFdnYzSDJiOThpWnozVVdzalMxSFU1dWl4VkNXSmNHVktLVlExbnp0T3E2S0diYzhGUkhFQjhSRFloTm1rbG55YWdNdk1YZjRWaXNPVWtCUGRYbncyQU5VZ3hMUkdxc1N5bjdCM3IyNzZXOXNZaVpyZ1FRVVVYUUd3SVNVQzU4Tk9iRDNZWDcybEpEMUZQMThoZTVjZ3UybWJBNzZkUUp6N0t3V3A4M2lBZ3BQMWxHc3JWMUNhMDNhU1RqejFXbCsvYnRmYzI3OUhBTGN1K2Nlbm56eVNmYnQzYy9tMmpyQkNaMjBpNGpDNXhXTHZYbjBoSGRxYkY3ZzhickVhMCtGSTAxVEJtc0RkbVZMek5nZVZpeTVMOGp6UEdaOVhDV29LdUpCUmQvWnNpeVpuMTlrY1g2UjFVdXJzU3RhUzB2TEhVOHJaRnRhN25nbVd3Wk5jQlhoMStRMUdqSXFMQnJMUzgrOHlrc3Z2TTYrcFlNVWd3cExpbml3eWtieEZRS3U4bmp2TVRvMlFIQnlIVkUxRmFPNm9sWHROeHZRMmlKdUNGYXp0TFNYUzErZEcrL2ZEb21GTjl1RE5UVVplM2J0d3hjZWF3Mnp2VG5XQjV0WTA2RWNydExyWktBY3NXcktSNXRSR2QvSTc5cFpiT2h5WlA5UnNwNmlDSHZZekZkeDR0bS9kNG15Y3JXQXRSTmF2czR2eHBGYUlkR0dicmZMN01JY3hpU2NQUGtwbDlaWFVRaExDM3M1dU84d2R4MDZ6T2JpQUY4RlpqbzlOSXBRQmZLMUhOUGtCaUFFQlY0N2dxN3cya0VTajAxdllZYjl1dzZ3L2tVZjBkQ3hIWlF5RUlyNjhNUTlpam15b09wbEdneEtLenllcXFqbzd1clJUYnRrU2NhZ0xOck1ncGFXbGxiSXRyVGMyVFFPQlZzVndZNGFkbUtXNWdhMXg5SmxrU2NmUGM0THo3N09rYnZ1SisrWGhOSXowNTFsTU1oSmRNeWg5VTVBUE1ZWUVwTkVsd1YvZlVMU2V4L3paS3VBTm9Fc1NSbTZISTFoLzU1bFRuNzFIdU1HOVZ2YnczN1hoVjVmajQ1bFZ6ckZaaDFDTHRnMG81c0p4YkFpc1IxQTE0NFhEbEY2NmpBRnVsM05jSGlPc2x6ajB5OC9JNXVGU25KS1g3S2dkck8ydm9sZ2FKSUo5SVNQZ2lLZ1JPUExDbU1WbkljdlQ1L20wcVdMZUNvQ2dZM0JCaWRQbldSMTlSTEJDVnFwYUhFV0ZFWVpVbTFRZFVIYWFLdEdVVmtIQnZLOHhFcENVaVFzcExzSlZVQlZpdUFDT3JNb3FSc2MxR0ZuSldvVTVkV1l1bjJ4eFFTTjFRaytENmdDakVwckQ5MDJ4YUNsNVU2bUZiSXRMWGMwV3d0MVJpL3RFT21hbG4yS0JFWEdzOGRmNXRXWFgyUFAwakxybHdmZ05GYW5GRVVWY3oxdGlzWlFxUW9KQ21NTXdjZGJ4U1pOcm12clEzQW8xZVRKS3BMRWtsY2FqV0wzcmwzajNia0ZVd3NBakU0b0M4ZmMzQndybDljb1RJVTFIUWI5a3BudVBGVVo4MVhqVHZnSi82dmE4Y0hrYkd5ZTU5U1pFL3lmdi93L0VISXlValpZUndDUHJkTkhWQzFrcFM2cWlsRmVTNElod1JDam5pVnVGS1cyV0Q0Kyt4NGZuNDBYQXhrZE1wVlFTSUZIU0Vpb0tFYVdYcE1YQm5XR0s0S2dVQ3l5d04xN2p2S1hMLzROQ3VobVhWUmlLRnlCS0VWUTlUbll1RkdNaEt4R2ZMUkxNQ29sSVdHd1BzUVRTSFZHN2wwYmxHMXB1Y05waFd6TGJjMms5MnFRVU45dW52WjhqWS9tK1hadlZkbTJyRzN6YkZ0bXpZUTRtbngvT3U5djJ6YjYxVDZxQUFBZ0FFbEVRVlRKMXM5TWYzNWJ4NmlKMTBmejFiZldEU2E2SERXZXRhcFozN2JodW5icUZldHR1NnF4S3EzOUxUTmVmL1l2ZU95UloxbGVPb3dFQlM1Z2RZTFdGbGM0bEZHNDBxTWt0cDdWUUtpaTZheTFsbkNGL1IrOVBHbXZLVEVUZCt1WWdiV0tKTXR3VlVHVnh5WUxLNWRYT0hMb0NERittT0JHL2xLUktLWnZ0Z1RTYkpaRCt2MEJQWnZUblozRkpCMVdMMnd3azNiSnNoNkR6U0hhS0l6VktLMEkzdU5EUUJsQldjakRKcnNPenZEN0UxL2hHTlI1b3ptT25KZzhVRUFka2ZVSXVoYVlxVkpZaytMY1lOUTdLbXl4ZTRLU1NiTTF6WkFoUTlHajRxN284bFVTaUkwT2RHM3VwU1lkRElCNU5jZUdiSERoNGptS1lzanlyZ09zZnJuR2ZIZUJ6SFR4b2NJRmh5Z0Zva2RXYXNZWWZPWEpCd1ZhTlBPTGMzejQ4UWRrdW9QQkVueWRjdEZHWkZ0YTdtaGFJZHZTY2hzVHhkMVVXb0JxM3J2KzVYYzZpandYRkRBL3UwaC9zeVNJSW1PVzQwKyt5RFBIbjJmdjB0Mmtwc2V3SENKZW96Qm9wVEhhMXJmMHZ4dTJlUEhYeFY0aHhGdlQzYlRML093Q0JqdFJGRFFPTmN1TkdKenJKdGIzZi96SlNmWWNQd3dCMXZ0ckxPM2RoOHM5cDgrZVkvZmlITTdudU9CaTF5dWpVY2JHYmw4NFF1TDQ5T3dYZkg3K0ZJNFNxYVdsdzZHandSVkdLOUFHTFI3bkE0Sm5LQUh0U3N5b0FjYWtrQjJQcmErbjR4WVp1bjZ1OFFTY3J0MFBxR0pUa3RxZkZocVBYazJsSzd6M0RCbHkvdkk1OXN3dVl6cUdJcFJRbGRHT3pTcTBNWWdFcXFvZ3p3UGlQWE56YzNTNlhVeFhVWVNDUzJ1cnJKYXJRSXo2RS9MdjQwQzF0TFRjd3JSQ3RxWGxOa2FweGgrVWlRNWY0NmhzOEZmNzlOZlRpRmlOcGRnTUNDbWFsS2VmZW9FL2UrMWZzYng0RkNRajc1ZFVwY2RnTUNvK3RMRUVGemVnOXRiZjhpeHkvZEUwa1hqN3VoR3lpVUFuN2JETDdxYW5lcFRTQjJKS2cvZHU5Sm5wQzREdm14ajFIUExXZTcvbmlhZU9Neit6aDY4dXJOREw1c2pTRGpPTHMxeGNXOEVtTWVxc2pFTHdkVWM0Y0hqU3VSNmZ2UE1GbjUwL1MyT0lWWkRqc1NobGNDTFJwV3JVSVc0OC9uN0tzRC9BYU5rd01aVmEwQW9vaVExeE5RR3ZpTDhnVGRmZkVQQSs0S1ZKV0lrQ3VjRGdnVFV1ODlGbkg3Sjdib25sMllOWVVTaG5DQjdLVU9LTEVyUmdVMDIzbDZLMVp2WFNaYnJ6UFlMeG5EcjlLU2MvL1lpaUZ1elgxZHE1cGFYbEIwTXJaRnRhYm1PMDFxUFd0STNENkEwSk5zbzRDdGRKZTFRbFZHZzBQVjc1NmM5NS9ybVgyYnQwQkY5b3FtRkI4SjRrU1VqVEZHZ0U5SGN2RkYySXhWN0VFaVFJQVJHRjFwWnUybUhYL0c3VzExYWkyNmxTZUhHZ1FJS2dsTHJKa1ZtUHArQ3p0Uk84L2Y2YlBIdjhKUmIzekxGWnJsT3BnazdTWVhiWERGbHFRSHZ5YXNCd21PT1V4K2dFc1k1enEyZjU1UFFIWEs0dUlGU0UycjhWbzFCV1ErbEFETEhGRnFDaXU0UFMwYm5NdVluTm1lNSsxZ1N3SjZhakxzL0MrQVJwSHJWR2pxMmlvNGoxUGpBSWcrZytBTHgvK3QwWVpYMHdaZS9jUWRiT3I1SWtHYVlUQ3dCUkRoRlB2eXB4ZVVWbEtucWREaGZXTHZMMmgyOXhjdjFqQWg2dEZIMi9lZE5kSjFwYVdtNCtyWkJ0YWJtTlVVckZoNHpEVTk4OFA3YXVaRmZiUllIRzRrcUZrS0RvOHZTZnZNRHp6N3pCd2IzM3NyRTZZTDZiZ2dsb28walQyT3lnTEV1Y0sxQktZWlVlTFduTGRvdXVLOVd2RHhHUEY0TWhkZ3lURUFndWlybWdBc3ZMeTN5MmRtSjZwMjZKdE1wQXdDaUhsd0gvNzkvL08zcTlEazgvK2p4VlgxRU5CNXhmdThqQzNDeEY2U25MQVZVb3NOYVNkRk5FUE1Pd3lqLzgrai95MFdlL0lWQWlxajZTR3JLdU1NeExkQVlpQVJYcTg0Sm9uU1pjb1ovQWRGSGM1UFBKWGhpTnVHM3lFSnBXdGFHSjdBYlFvQlB3VmFqVEZvUVZMdkNIVDkvRWRpM0hEdlJaWGp5RVZvb3FEQmxXQTF3b01FYUIxZ1RyNmMzM09EczR5L3VuM3VQa3lnbHljZ0tPMGhhSXI5cGVyUzB0TGEyUWJXbTVuZkhleHk1WlJHdWtiLzZqdm5NNS8waCtLa3VRNkZEdzBwKyt6c3N2L0FWN2w0NlFEeFZHOWZDbHhCdmFTbzIycGJIRXN0WWk3dXE1RFZvMDRUb0ViWXlxZWtSTTNIOE1FcUpYYlJEaDBLRzdVQi9GK09Db0dFN3JXeVNTRjhobHlHSnZqbzNCQmY3MlAvOEh4TVBoZlVjNXVPY3czZDQ4dzJHZklCNUpLbWF5ak41c2w5S1ZuRHoxS1IrY2VvZmZ2LzA3Q29rRlY4WkNjRkd3NWpreGNsckZhWE9ValFFSnNZZ3ZNSDV2eExSanhRNUZqNlBYQkhTby8rbkdsbXhBYkhVYmlPa0hKb3BycFlVaXp6bFRmTUZ2UGhMT1h6ekhpMCsrU2llZFFabEFsVldnQlowYUVNR1Zqazh2bk9TUDc3L0xoMmZlWjVNK2pvSWhReUJBU3F3NGE0VnNTOHNkVFN0a1cxcHVZNHFpd09HMnZOYmt4MTR6U3FLNjJRRW5ucTZhNDhuSG51UDU1MTdteU9IN0dRNUFLbUdtTzhOd2JZMUVLN1NCcW9yT0FNWVlqTEhqM01vdHE5STNLUGNoWW94QlJQRGVvNGpwQXRSZUJWcHJEdTAvRUZ1dFF0MDBJYVpqZU1KTkwvaHFJcWlWM2lBQVgyMTh6di85dC84WER4NTlqRCs1L3hFTzdqdE10NU9TZFF3b3c3RFk1TUxaTTV3K2U0WjMzbm1QOTc5Nmx4SU56R0FRVlBBZzBRN0xhb3YzUW1KN09CZHdqVjl2aUsxdXdXRUF3WXdrL2NndFE5V2gxUzJpdHZIaVpaU1RyUUhyeHVIdHhuNHJFREJvZ2drNEZVYXBCNFY0bElZaUJFNzNQMk85djg3Rmk1ZTVhL2tlRHQyOXpOeXVXWFFLdzlVQkY4NmQ1OXk1YzZ5c3JIQm0vUXdWSlNVVlRydW9uaTJRQU5WM2RuaGFXbHB1RTFvaDIvSURZa3NkKzVWblU2SE9HL3lhK1c0UWVtb1ZJMnN1RlZDMVpSaWk2L3UxUUJoWGttOFJGZ1JFZ1NnUENFRVhWR1dmK0d2dWtGbzJhcVZyYTY3SnRlNGdWTlhFNnhOUjBhWnJseUpEMCtYWnAxL250WmYraWoxTGgxaGZHNEkzR0pOU0ZFTk1va2tTaTlXYW9xcFFkY01EN3oxbFdZNXlacmR1UjB5d1ZNS082UVhUNDNVbE5LQ054amxIRUVjUWcxRWFwU3hhSnhpVHNUQzNnQ1ZCb1pGUVJjOTlUT3lXSmJkR2pzRkdIK1puT2d6N0JSZmRWMng4dE1sYkgvMk81VjM3V2RxMXlQekNMQkE0ZSs0TVo4OTl4ZEFQcWFJVUo0NmxpUkZtSDcxZVo1SlpkdS9ldzY2NTNTUkpsL1cxVFM1Y1dtRjllSW1LQW5DbzJvcXJISmx2TlVlbStkdlFFeGMzWXhPdXJjNEY4Ym5CRXBNN0RKYUVoQVJqTkZoaHZWaURCRGFMamJpbFJwRjFPMVJGd1hwWXBSaFduRDUxQm50SzRTZ0pCQkpqcUh5VXJoRDliTFcxZURmRVNSVWpzUW9vYUtPeExTMHRyWkJ0dWQySllsRFZIZWhWYmNBZXhWaEFnbzhGTGxJbjhvbEV3VGk2elJ6bjAxTStyNk9DN2FiYWUyZnIyUEg3OFlPajZSWWZXZG42dmhyTjV4SEtXc2hhbEJpZ25zcjRUMVByUUJWS1hDanA5VEtNMVh4NjZnUXpDNHIvOFgvNmIrbGtucUlvQ0JJVEZkM1dBTzFvbkhiQ1pCcGZ1dEYySmtZVG5NYlFRVEhISzAvL0ZULzU4Y3NjM1BNSWVWNVFEZ2ZNelhRdzFyR3hzVUhIekZDRmdQUFJ1RWtCenNVd21VNHNJWVRSK2h0LzNUak90WWpVYWp4V3pianNOS2IxODBrLzNuanZ2TVFBU21lb29BaGlrQkNOclFUTjB2dytkblVXS1BKMUZCYXZBcTRvNk13dWttOXUxc2ZtSm9sWkdWKzdyUGR6b2tETXFhaFFhRll2bjBOZkhtL2Y5RmFPcm9mcXhnWjdrajA4OTlTTFBITGY0OHhtOHhodkNVSG85RHFzckYvazNaTnY4LzZuNy9MNWhVL3BzejZLNUt0NnlXYmtBUnNkTUtKTVZuWGFpaWJMTXNvOG4wakwwS1IwQ1FRNnpQRFlQWS96OE5GSFdaclpReWZwME9sMHVMUitrVE1ycDNubnhGdThmL0U5Y3A5VERTc2swWlNod0JQUTlMZnU0WlMvYnc3Z2Fuc3dxVitZek5GdGFXbTVvMm1GYk10dHpiaUVhUEpuL2hxRXlUZ3MrdTNXVzMvODY5eXRwaHNqVEp0UHFlaGJOQ0YyNHkxY3FmZXNxZ3A2YWNxZ0xDaXJISjFVK0dMQXd1NHUvLzMvOE45UXVnMWNHQ0lUNlFXcU5wSzlsbHZudmxhOVdrTmlEUzRYRkFsemRpLzMzZk1FTHozL0MvWXMzb1ZWc3hpeEdCeDVNY0I0UjJJZ2pyVVpGZitJR2hjVVhaMmRqMUZUaUhSTnFGRDdOTVNPVmZWbEFqRXAwNkRFb3RIczMzZUFDNStmUm1Qd3dZUFNWTUdQeGRETlpNdDFVcWd0c1hhOEV0bUdxbDFiWjgwYzl4OTVpQi8vNkRnUEhYb1lVMlNFZGVpbXM2Z2dGQ3NGaTUwRmZ2cllUemx5K0JCdmZ2QmIzam54RnBlcUZUS3JDTVM4NWtxcWVybGpPN2RHdEhxQllUNXhqdFdpdDhMeDRMNkhlT0toSDNOcytSZ0x5UzVNbWFBS2hjODlkL1h1WmMvQi9TeDE5N0I4OWdBZm5uMmZUMVkvcHFvS3RGV2ppNTV2eE0wUG9yZTB0TnhDdEVLMnBlV21vU2NpcjZvV3NLb1dXUEhYT3UybVhGcGJJZXNxZHMzTmNIbjlIRUdHL0MvLzYvL002dUFpaWlGaFc0N3NwSVBCMXlnMXNTQ0I0RUNiRElWSGsvRFlJMC95bHovL3J6bThmSlI4VTloWVhVTXJRNVlrT085UVFkSHBkaW1ITjNBNHZqVlh1QmdSaFZhV1k4ZnU1KzNQM3dRMFNoa1FoeStybXk5aXJ4T054cEp5MzEwUDhwUEgvNVJqQisrblorWW9CaVVhUTVwMDBNREdZQU9iSk14MVp6bThmQVNuWXBlMWYzNy9sd3pkSmw2NVpvSHhORFRFWm1ETlZWcHprZUxpQlpleGRYZXZTbkhmM3Z0NCt0Rm5lT1QrUjBpcWxISzF3Z3FrYVVwWmxsUlZSV2UydzhFRGg4bDJwWFIzWjZ6OTloSVhpL01ZRERuNTdYNFlXbHBhYmpLdGtHMXB1YW5VdWJxaTJmTG5XT2ZGbGxWSjJvRTBFOHBxQTIwcS91Mi8vZTlZSFY1Z1lhYkhXdi9TdGlVMlhhNitGdEYxdm1zWDcwdktRdWlxR1g3eTFJdTg4dnlmY2VUUU1ZYnJGWVBOQ3U4MHZWNlBMTTJvYXBlRW0rNWpKWHJjeG16OElwTUtWU25Ea2NQM29ERlVWQmcwSGczZWozT1BiMU1scFZETXNzQ1A3bjJFWXdmdngrWEM1YzFWZW1hT1R0YkRPWWZWR210VERJckxLMnVVa25QWHZudFFEcjQ0L1RtZmIzeUM3Z2xvWVZnT0NhRTJFSTVwMkpFdzhieHhRa0JZTVBNODkrT2ZjZmZTUGFqQ3NIWnBIVDhJN09wbC9QL3N2Vm1RSGRsOTV2YzdTMmJlcFZhZ3NEV0FCaHBvb1BkdU5sZHhrMGp0a2lYWmNzU010eGVQWC96dUNDdkdqdkJvSlNsUnBFVE5rR09OeDU0WVA0ekRFWDZ5dzlaNHJORjR4cElvaWsyeTkwWTMwQUFhTzFCNzNicExMbWZ4dzhtODkxYWhnRzRBM1YxVjdQd1FGMWwxTTIvbXljeHpLNy96UDkvLys4czRsSmp0ZGp0RU1pSWpvNUUwT1BYd0tWYldsL25iVi82R3Z1a2h5d3BoTldyVXFIRy8rT0RxUjlhb1VlTmRVRVprZll3bllxVE1kVGhoY2JJZ04rdnMyZHNtTFRvc3JGemh0My8zNzdNNnVJSEMwQitzc0JVTGUrL1orSUU4dCtKSkVpWVJOSG5pMVBQODRzLzlHcWRQUHMzTnF3czRBNjFHbTZtSlNTS2x3Zm1RVU9VRmFUOWxaLzRKR1U5U2t1eVpuYU1sSndHRkZCb2xGVU5UMVYwTWllYkVvVk1jbVhtWXFXU1dsbXlUUkcyU3BBRklCb09VUVpZamhhWVJ0V2xGRTBRMG1KVFRISjU5bUNlUFBvMzBrcXlYazY3bitFd0VWVVBPS0JwYmtWZ0xEZEdrUlp1RUp0UE04dnlKVDNCczloZ04zNGFCcEswbjJETzVoMFFuMk1LUjV6bEprcERvQklYRUZ6Q1ZUUFA0MFNkNFpPOUpZcEtRZUZlalJvMGFENENkK0JTcVVlT2pBUy9EUEc2VkpWNTlIWVVGa1lNb21OM1Q0dWI4TytSbWpXLzl5ZSt6M0x0R29rQ3BuTUwxaGhyR1lZV3ZlNEpBa2RBZkZEZzBYLzdNTC9McnYvYWZzSC9QVWZxZGpDUnFneFhFVVlNb2lpaUtnc0ZnZ0RNT2ljTDcrOU1YdisvdzQzbjNHNk43M2ttU3BNMUQrNDhnME9BRVF1d010NElIaFVEeS9CUFBNNkduU0ZjTEl0dWdIYmV4bVNmUGN4cU5rSEJsclNQUERRM1pwQ21hOUZjeUlwUHc4Y2MvUlpOSm1yUnAwbUpDVEpMNEJzcHBoSlUwVkFOaEpjcHFZaEtVMVNTMGFESEJIdlp4ZFBvNGNkNUFwZ3B0SWlhaVNScXFpY21EWTRWU2dhUktLV2ttTGFUVEZIM0xudlplanU5N0JFMDByQUJXbzBhTkd2ZUxXbHBRbzhZMndsZkY2a3NiTGlkOHNJWVNCWWlDaGVVbEJ0a3lmL3l0MzJlOU4wOFNDd2I1S3FOU1N0eVJ3TDViQ2RZcVdVaVE4Tnlwai9GelgvcGxUcDk0Z3ZtYnl4UzlnZ056UjFsZDZTTmRzRUh5MWlDOHg3bFFCQ0ZTZW9QQndIYkFJNkdxYUNYS0pEd1JYQ2ljbHdnbmtEcmlrZU9uZWZQbVcyVmlVNlVKOWJ1YXp3b0VoK2VPTUtHbWNRTklmVTRrQk5aNkpKSW9pUkUrRktiSTB4eHZIYzZES1FxaUtPTFF6R0grM3MvL0Y2eW15MWhoY01weWJmNGFyNTk3amRWc0JaZDZubnpvS1U0ZE8wMHJiaU56UlV0TVVQUUxwcElabmpqNUZEYjFZQldpRUdSWmdTdUxZaWlsMEZxUlpRWGRicGVvcFltRVpwRG10TnB0RHM0K1JFS0xQdjN0dm93MWF0VFk1YWlKYkkwYTI0YXFRUDFJVWhCSXJBMUVWZzRZWk12ODZULzVFeGJYcndBWnlub3FGL2c0bG1SNWFXdTFpYlFLSVZCS1liYjI0aHJDSS9ucFQvODhQLzFUUDh0MGV3ODNyaTdSU2lacFRUUllYRmlsbFV6Z1hkaC9vOUhBZTRXeGFTaEFJTVQ5bWo1OFFLZzhlY2ZlOGhwRnhLRURSOURFNUJTbExyUDB1M1h2elNGZ3B5SWI1RXpzYlJORk1kMXVmMmlUWmZKZ2orYU1wOVZxb2JVSmlWZHhnMmJjSk05VEJwMlVvL3VPc2NmT0VyY2ptbE5OM3JsMmtmVzFkUVpYVWl5VzJXUXZqeDEvblAyekJ6QTlTMXRQWVB1ZVFXZUF6eUVpQmlUR0dheTFhS1ZvTmhzWVp4a011a3hQVHpPL01vOHNKRkVjWTIxQkkyclFpbHBEbjRrYU5XclVlQkRVUkxiR3JrYVYyQlE0WERBTUdyNkhEejZtdzBwRnZ2UWwzWnpWdjlHZjlFNVJ6QTNySzh2VGQza1lqKzhydEduc1BlK0QyNmtVZU85d3ZxRFZWRWpsT1AvT0pkcVRrai80K3UrUW16VThPWjRjWndPSjlRS3lZaFJPSFBtMWpvNzFiaVFXSko5Ly92TjgrU2QvaG4zN0RvRlI2S2lGTHlTbUFFV0U4Q0pVQ2hNZVkzSkdVZUJLMi9oZ1RIYno5Y0Z2Zk8vZDlqNlVOd3c5WnUzWWZSSjQ2NUZSd3BIRGo2QklTUEFNQ05XdnZOM2RKQlpBS0lrVDBCMzBLYXhsZG1xS3dTQmp2ZGRsZG5ZV1d4Z2NsaWlLOE42ejN1c1J4ekZKSThFVUJZVW82QmM5dW1zTzJaUGN2SG1UVHFlRExVV3lDd3NMTEM0dUVoRlREQXhkMTZNWUdCTFo0TkIway81eWdTTElCd0MwMXVGbkYrNURsbVZvclFPNUpzY1lFd3BZREJNR2E5U29VZVBCVUJQWkdqVzJEUjVqVXRydE52MUJSbTQ2cUZ4VDJIV21aMk4rODdmK1BybFpJM2M5UEJsVkpMYXN3dnErVkhxTmRjTE16QXpDU293Uk9HT1FQa2FMbUVaQ0lJakNNOVNmQ2pjc1NMcjlFbGt4cG8rbE5LOTFveW9EWHVCUkNBZVJiSEhzd0VuTzNYcVp5bTFodTJVUkR3cVA1L3F0YXh5ZVBVWnJvc1h5OGlwcnZSVzhDOVA2RU1yeURnWURwQlNCd0RaanBJSkIwV09wdDhnLy9UKy9UYzRBUmJEVXlzbEpDWjVxRHNmMTdqWCs3Qy8rTDZ3TFJVZGF0TWtwT0RSNWlDOTkrc3NjblRtRnNzR3ZGd201eWNrS2oxS0tpWWtwMHJTUGM0N2NaSGhwSVJLa1JVbzM2NkxxUks4YU5XcThENmlKYkkwYTJ3WGhhTFVUMXRiblNScUsyYWtXSzUxYkdMZk9ONzc1ZTZ3T2JwU1IyRUJpSzM0bTVDaFMrYUJrZHEyelFyUFpKT3NWU05IRzJVQU9SYVJEWFFGYlJtR0Z3WWtRcGR0Si9NOExNYXFVRnQ0cEkrOWw4cHhYZU9lSmRJT25ubnlXczdkZUtRbVV3UHJkSFJQME9ONjVjWUVUUng5RnhIUGtmb0NVa3FtSkNmTFVrcVlEbkhPMEpsckVzU1kxZlFwVEVNZUtRYi9IamJYTGRGakJVU0NFd1Bwd2Y3WFVDQ0Z3MXBPVHNld3lBQ0lpZXF4anNPVDVnTFhrZVE3RWZXSmFnQ0tXRVZpSnlZTk8xaGhQbzlFQVN5Q3lzYU14bWJEV1grSG15blV5K21OVndtclVxRkhqL2xDbmpOYW9zVzF3RktaSDBwQWtEY2lMZFlSSytaM2YvVys1c1h5QnlWWThJckZqbi9JZW5CdldUSGlnNDErNmRJbHVyNE14aGppT2lhSUVJUlhXQmZ1a1lBVVdTS3dmdnFyeXBUdmp6NGNYWXhyanlpK3FUUGhTSWdhcmtETG1zVWVmUUpaajk4M3E1TjBJaCtQdHEyOXhlZUVDQTk4am1wU0l5SkhabE1JTXlQTVU1d3h4clBISzBzMDY1R0tBbkJTc0ZVdThlUFlIV0F3OXV2UjlqNXdNUTBIbVVuS2JZekEwZFJPSnhPT3cybURpZ3BRZWkva3RmblQrKytSeGltdFliR1RvbVM0RDAwZHFnUkNDTkUxeHppR2xwTEE1aGh3UmU1WjdTMXhhZkllQ0hGY1QyUm8xYWp3ZzZvaHNqUnJiQmtkaCtzd2RtR0Y1NVNiTEt6ZjR4aC85TG12cExhQ2dsdzZvNUFTakVPeTR6UGZCYmFSVzAwVVdGdVk1c1BkaHBBU1V3cGxTWStzS2xCWmpHdU9nQ0haVkdWaEM0disya2tFdnkvYU53eUc4d2lPUlFtT2RSUXJGbnRuOXpDWjdXY3E2dzlLMnV4a2V5NEtaNTYzcnI3UC95Qno3Wnc3aVU4TjZaeFZwSTFxdENTU3cybDNHdUJ3WEYrakppTlZza1ROWFgrT05XNjhobFVkYWlVQXdON0dQb3dlUGNtanZROHhNemRKc05vTkdkbm1CczFmT3N0eGZwS0FvRlIyZUY5LzZFYzhkL3hTUHpEN0taR09LZnIrSDdUdW1HNEptM01SNlRhZlRvVG5iSkc0bXBMTEwvTm9TWnk2L3dlWFZkOGpKOE85YTVMbEdqUm8xN282YXlOYW9zVTF3MGpFN1BjSE5XNWZ3Wkh6ckgvNEJ5NzBiSkVwaWhTTTNvL3F2VXBZZS9oN0NsUGw0TlBUK3lheEVjTzM2SlE0Zk9CNGlzRTVqakNPSk5GcHJJRVJnRVNZa3p3SGVLeENsSkhXblFZeHBaSWNJTWdNdE5hY2ZQYzNmdm40RlI3aW1iaGNIQkIyT2dvelhMcndLU3ZEOEU1L2trWDBubWRrN2hTcGljTUZjTFMwR3RDYWJKTk9UWEZ1OHpBOWUvejZ2dlBVeUJUbmVlaHEwT0g3d09FK2VlSW9URDUxa1ptS1dWdFFPdGwzN2NncHlyaXhlNGtkdi9aQTNMNzFCSisvZ0lvT1Vtbi96MTMvQkY1NHpQUGY0YzB6dG5jUkVGdTNWTU9FdWlxTGdtcUFrSzZzTHZIbjVUVjQ5K3pJOTFsRmE0Y3d1dmdFMWF0VFlFVkRBYjIxM0kyclV1RC9Fek8wNXhrLys1TS9qbkVDZ0VTTENPWkJDRTl3SWJNbTRTdTBrWXV4VndkOFdWWHl2djkrSnl3MjM5M2Q0SC9EQ3NyWitpOTVnbFQvNCt1K3kxbGtnMW9MVXJtRmNpaEFlTDBwTjdJWUdxTEhYZUMzUmU0TkFva2hvTjZaNTVwbVBVNlFlS1NLS3dwUEVDVjZNMjRGWlNvK0ZVbElneXozY2Z1M0d6L1BkcnVQbU4rNzFQdmp5WG9wUzdEQmNsa1VtbkErRklvVHlGRDVGSlliWDMzZ0pRdy9ZMVRheWdDZUtJM3BGbjFzTE55bjZHZElwSXBuZ0RReDZBNXd4cENZbEorWDY0alcrKzlKZjg4UFhYMkM1V0VDamlZaDQ3dURIK055elgrRHBJOCt5THpsSXU1aUNOVWsybnhQbENVM2Y0dURzSWZaTzdxWGZHN0N3Tkk4MUZweWdudy9vZDNvSUpBMmRrT2dHV0luTkxOWmE0amlpbTNhNWN2TWR6bHg2Z3pjdm5lSG00RWFJN0VZZWEzZjNIYWhSbzhiMm80N0kxdGpWdU5mSFlEVVpMKy9BL2U1cG1sdzRwTGM0QWRMTGNyOWpGYnFBRFFYclJTbHNMWk9tRUNtOWRJbnYvQS9mWkdIOU1vNkN4RGtjQm5BMEdoSDl0TUQ3UUdTREpyYmF0MEJwd1lNNVNIa2NLWmV2bkFkaHNBNGFrVUtWVjlWYmoxRGNOblV2QU84MXdrc28yM3EvRUg2TEFPcGR0cjBUaHF1OFJKUjJCTUk3OERsU0M2U0FOTTg0ZnZRNHNZcEpqUVp2MlhqSDczUWVtN1hBTzRkOFdSc0dNZ2JEbVV0bnVIenBDb2YzUE15cGh4OWp6L1Fzc1k3b2REdGNtYi9DbVl0bldHRVJTNEZXRWRZYWp1aGpQUG53TTV3KzlDU1JqU2pXTEpGVVRFUnRHbzBXU2F2QnRjVXJSSVhpK0tHVEZCOHpwR25PbTlmZUlDY25JZUh5MmlWdS9zMU5ubnpvU1o1NjVHbjJUTXpSak5xMG1nM21PeXRjdVBJMnI1OS9sWnZGZGZwMHNSaUV2SmRTeWg4a3hxckNiUnpiQXFPMzVKaU14MjNjNU1FaHlwM2R6L0pCc0lVc2FDZmNrUm8xN2hVMWthMng2K0ZLSDFnaHdzUFJPUmZJbUhmSVRYLzhoUzlqaVpVUDdOQm50c1NtUCs1RFQ5THhuMzFROWtrZkNoZElYSWdHZXdtdUxFemdSMTh0cFFTZW5LTElTUm9TclQxWHJsNWtlbGJ6MVcvK0JwbFpCUVo0REprTGpmUWUrb05pZEk1REtXSFYxcndrc1E5Q3FoeFFjR1B4SFphVzUybEhCMGppSm9Vc0dQUnkycTJFd21URHFtTWVoL0FDNzhwejlaVUZsOXQ0cmJ3Zkk1MWpWOU9YMGR0eXUySEwvZGJyTjZ3RGhuNVoxWEVFdURMVFhuaFFYb0lQZzRsd2ZJY1VubTV2bFhoQ005SFFwQ0xpcVZQUDhQS1pnaDdkVWl4UkRTNDJYVXNmWXM3amFXRitmR0N5elJCSXNCSlZrckdNUGhsOVZwYm5lWDM1QjdkdERaWHZzY1JaUjBUQ3FhTlA4Tml4cC9HNUlyZU85dVFFdlc0ZmwvYVJXdE8zS2MxOWJWWjdxeFJybHIxN0R2Q1pUM3llaTljdVkrbVNNY0JqR1ZEd28rdmY1K1hyUDBBZ0VLV0cybEtVNlhjV2p4c21kd2tuc2ZsMlgwTlp6aW1VRUdOa3RteWE4cFRHWkNQQ1c2VVVEdWRDSHBSUWJwNit1TmZsQTJCYzQxNlo3RzMxMVIxdXNPbnRtdmpXMkFtb2lXeU5qd1RHbzNuamY0Z0RjYnEvZlRwQlNXTGQyREVxL1dwNDhCbVRrelFTZXYyVUxPOGp0V1NROTVpYVR2ak4zL212eVlvVkNyZU9KWVJXQStjVzcxSmU5djBrQUJaSHpxVkw1M242OUFHS29rQXBoYkF1Wkp3RGVJa1ROa1JQa2VVMUsyMjY0TDRmcVBlU3FpYjh1OTBtV1k0MnltV1prdWFjb1JGSFNPa29USTdVa2xNbm4rVEZNeStqYUFMcDdhMm9CajlidCtROWJ2ZGhZVVN3TEJhSDJaSmNTUUwvbCtpU1pBWVNkL1R3Y1JwUkcyODh0ckJrUHNjNWg0NWpoSklVdGtCNGo0NGlwTlE0WTVsSXBqZzQ5UkJYTzVmb2s0MzFYVTlXRmg2cHlpWnZMdFFoeGtpaFJKYkVhVHNKcmRoNEcwY2gyR0JKVERXWUVXVkZ1SExRVm01YnFaYnVGMzc0MzMwdU42dWs3dkhnbFhzSEJHSXV5K1dXR05QRlY5L2RIZkVWcVBHUlIwMWthOVM0WDNnSlFwZC95QVZlM0I2bGJMWWJyS3d0RWljd3M3Zk5XbWNlNi9yODRUZSt5bEwzRm80K25vMzZnQTl6eWpVSUNUeXZ2LzQ2enozeFJmS2lqNWFUSU1PMHRkendrTncweFg2Ylc4RE9RaFZGajZJWUx5ek81RWl0ZWZ6VWswenBXVmJNQ29KMFJDWTJDNThGZU8vWXFTNkZJWUpteXRiNWtaWFZGaEU3VjVJV2h4dkdtQldLQXdmMkliMGtMM0tVMExnQ2xJdHBxMVpJL3ZPQThMUlVHMmN0ZVo3U2JrNHd0MmNmdHpyWGdpMFhkdGlDWWR1cVByenBtbzYxOHJiUGZOZ0lKQzQwekk2M1krejYyVEtwVXBUL1cyVFFqcGRkUWxtMnRheURlMEFpdlRON2RvMGE5NGE2SDllbzhTRHdLcnpRRytRRWdjZ2E4cUpIRkh1aXhKRVg2eWh0K0wydi9uZGNYNzVJRW1tMmQ0cTYwdU42TGx3OFQrRnpqQ2tRMHBVaTRuSEp4VzVVMDBtVUNzbC8zZ3VFMEhpbm1Hek44UGhqejVTcGExVnM2VDd1dzdaZmdsRG1OYVRoQmVuSEhhZUZLWWs5TG15ckJFSjRWQ1RKVEliM25rYlVJQll4c1krSWZZSWJlQ0lYbzAxRTVEVFNTbHpoaUhWRU0wNFlrQWFwaGZCNDZkNXpkTkFQMjdyOUE2SFFaSGZYWnR1U3dCb2tIaFhzTGtKUUd5dEd2V2M3WG5EL0FkMGFOWDVjVUVka2E5UzRiNHpKQ1B4NHpkZ3d2WW9JUkhidjNDVExLemRZVzcvSkgvM3gxMWpxWGtYaUdSUURxc2RLTlJYN1lTZkFCRExuV080dHNiS3l4TnprQk1GcUM2U1NHKzJwdkNpMXNWV3JONUhkYmNHNFpuVjhYQjRJcWxTYVBNdEFlTFJPTURabnZUUGdrOC8vQkgveituZTNKakMzV1ZJNHRqZnVkZ2NJZ0MyeS9lNW1Jd0dBdzBxRHc1SzVnclp3UkZHRWxCTHZQRGlCdG1GMTQxSUFBQ0FBU1VSQlZCSEthR0lkVTdnY2dVVnJoUkxoa1pIYlBGQmk0ZkRhMzdrYmpFVzM3N2h1MitDcVlzVjMza1NFNzdpbkhIUUtHSlpDTHUyVWQ0U0QyUDBraXdIYTE5R3NHcnNmZFIrdVVlTytJY2Npc21OdUJjS0N5RUVVek13MnVUVi9pZHlzOGNmZitob0xuY3MwdEVESkhNanhoTXBIVXNvaG1mM3d6MEppeURoNy9nd09VeWJvakxzUlNEYWNIM0RmVWN6M0VjSnZmTG15Y0lNVDFYTTZ0TmtMaFN2S2lLeFhwRDNEc2NNbk9iNzNVV1NwK2ExMHp1OUhBczJIQ3JIRkM2cnc2K2kxYVZ2dkRiblBXT3JNSXhLUFRBUzVUU2xzanJXaHhHeXNrNURjNTMyUW1VaUppaVRkL2pvcjNSVXNCaXVLamZ2bUxzZmZxdTNiakEwa3RqcUg4Zlo2QWVoU1NhdkNySXVOd0VYZ3lsa1k4VDY4dUk5bE5Rdmt4MzYrNTJWTkFXcnNmdFFSMlJvMUhnQk9hS3JxVXA3Z1dlc3hJQW9RQlRjV0ZrbnpGZjc0Vzc5UHAzdUxPSUorc1VKSXFhaXkvYmVPeHQ0OTRldjlnY2NGbjFYdmVlV1ZGL25NeDc2SWtDWm9HZjNZbEtzdkt6SU15YnBqWTFHR2JZUW9vN0ZEK1VQNDNRTjVudE5vTkVQVktST3k2U2ViMC9oYzhLbm5QODNaZi8xeUtTK1F1TEdhdjM0RE1hdk9WWlJ2alJLc3RqMm9PRTYreHVlT056ZE1qREcwOHJ3eWwvSGErVmM0TUhPSTJlWXNMb2RJeDNnYjFvbEk0TDFGS0JIY0lTUmt4WUNyaTFlNHVuaTVUUFR6dHgvUGp4K3FWUEQ2TVVlQUhhUlNHVjZ5elcxeWxBVWxRbEdKVU5wWTRuQlk3N0Jtdk85dkx5Ty8zNk5MTEpLQzdSNlExcWp4b0tpSmJJMGE5NHN5YzMvMEtBbTZXTEFsa1IzUUd5enlULy9IYjdPd2RobklrTlpRbFoxdHR4TzZ2V3lEYmRVNHBKU2xUK2dIMVB5eXhTaVBONDZMVjg1aFJRN0tZRVd3MmxKU0lueVYyN3lKY1FpM3ZkUERZbmdHdzkrOWRBZzNJaGxGVVRBek04TmdNTUFWRGhsRnpFNVBjLzM2Vlo1KzRsbkV2OVpEaXkxWnBxbTdIUkFwZk0rNGpZREpNcjllREZkN3dEdnd3dUhGcUQ5NUxLK2NlNFduSDMrV1JpdEJhb1hXR3VzTFV0ZEhDb1hVUU95d3htQ0VwV2ZXdWJyNERxdDJCU2VMMjhtekh6a1RpTEhHZVNUV200MWtkcHRIQVZYdkdRNWF4dHZrUUNQTG9oRWFYZEpaanlwTnhIVGxWVEowOHJqWDJmMXhEUDJ0NzJGWmZlNStoNU9XQW9QWlNweFNvOGF1UWsxa2EreHFTQ2t4eHFCVmd5STNTR0ZSU2xQa0JWR2tOZ2FLZkhqU2VqOGlZT0syOVhmV3FkNjIzbnVVREkrUndoUllsekk1RmFPaWlQTVh6dEdhRUh6am0xOGhOMnRJQ2h3NWppTDQzUUs5WG5iYnZzZnhRWkxZNFhFQm5VVGtKbWRBajNNWHp2RFVZMjNpdUlWdzRJemJzaENCcUtLWDcrSmNNSDVlM3Z1aGs4RDQ4ZSs2ZmxqY1lJdnJMenhDaGx4OGdSOUd0cDJ3dzIyU0pLSFQ2YUJWakJNV0hLeXY5WmxzejJCa2p5ODgrMFcrKzhxZlk4ckVOdzlFRWVTR3U1S3RVb0hMdGtlelBCQUx5RHc0U1VTRUowUVNZeElNUllnaTR2RGVZTDBINlZDdENGRkllbW1IZi9POS80ZlBQUHRabmozMU1aUVE5UEllV1Q1Z29qWEoydm82RGtNMEZkSDM2N3o4OWt2OHU1Zi9MWWFDcEJsVERDRFNHaTBqOGtGQmlIbHJGSG80YlI4VFU1Q1JBMUlMckRjNDU5L0Y2K25Ed1hCU1laTXNJbEVhWlFVSmlzK2UrZ3hIOXg0bDcyVzAyMjJjYzNRSFhack5Kc0tvVUFURmxWWDRmSWpUVjRVK2hnVS90bGkvQWZmNWVlVkRYdWJtNzlrNEtxbElKV0h5M3VPOVp4QVBXSi91OCtjdi9Ea1dTeEluWkhtR1VxSEU4UGdNUlkwYU94azFrYTFSNDM0aFBMMytHak16TTNnaEtOS1VicTlMVnF3eE9hMzV5bGYvQVZteGlyRTlIQ2xWSkJZb2l6ZHNYOVBIMFU5N09EU1NnamZQdmNxelQzMmNmcS9MUkR4VmJyRkZpSEpIV20rTnhhcTJrRDRJRnlRZ3NqUmVrbDd6MU9OUDgvS1pGK2dVaStYRWNVRlJRSnhBWHZBZXlPdzJCeFk5WUNDSm1pZ2JFYmtJN3p3UkRSbzZJVE1GUlRtQXlza0JnNUFlTThqQlFpU2J6Sy9kNGtkbmZzQWc2L1BJL2hOTUpUTWtVY3hBOW1qc2p5andYTDUxa1IrKytYM08zVGhIbzVtUWVrZS92MDZrRTF3V0hHeER3ZHVZQmcyQzZ0aGhDREtWVUE1WmdRRVhERzFSV201dmlkcng2UEJZUkZZQ3lnb2lOTE5NOFZEN0FJZmIrN0hDMG9nVG5EY01tS0RkYXNGQUlyeTg5MEZ3ZFdoLzkvVjNJcWplaDBMUmFreXhzZFcyM251OEtnZURZOTYrM252VzR4NERleVhNL0RnNzlQd2REUlIzMEIrcEdqWHVncHJJMXFoeDMzQTAyd2tyblZ1MEp4Sm05clpZV0x4S2JqcjgwYmUreXEzVlMwQUc1RUF4Zk9MNDZyOGRNTDJLQUdzTFFrb0x2UFRTRC9tVlgvcDF2STFBVEJDMHBuSVVRUm9TMlBFTW91M0RzQWpGQmxRUDRsRXFqL1FFcXloZnJSVklKemwxL0hGT0hIMlVseStzb1JEa1dQQ09TR3Z5Zkh6U2RTcy8yZTJQeGs1T1RKT25CVFlMbXVzV0RSNDcvamduSDM2VWZiTnpPQWRydlZVdVhyM0FXKys4eVZLK2dEVUZTZFNDMkpObkJaMThoZDcxSG91TDg4d2Z2OG14aDQ0ejJaaENlTUhLNmlyenl3dThmZVVzdDlMckdBb0tDcndJMTBZVWtOQkFvVGs4ZllSakI0OHoyWnBFdWhEVnUzcjlLcmVXYjdMa0ZnRXd2Z2hUOU43ZFZpeGhwMERhMEtzakloNmVlWmg5cmIzTTZCbXN5a2w4akxjRkRSL1JzQTBjQ29Rc0UrajhhTGtaZDFnL05FRzR3M3FQdnl1WjFlTTYrdkhQbGo4Nzc0YUpwRlhWdzJDWkJsWjY4alFmRXR4cUJxamFoNUFmdkVhL1JvMzNBeldSclZIanZ1RlEycUlqVDJHNkZMMk1Sc3Z6dGQvK0NqZVhMaElwUjJGTEVyc1Zkc296b2lMVXlyTldMSEh4blhNODllanpPQ3hleUkxazBWT1MyWEZIZyswa3MzZWIzdDk4Z1FOamtNTW9tRUNJbU9lZitUU3ZYbmlOUnRRa0x6TGlTTlB2NTNmY1krVTd1dDIzVHlBcCtqbmVRa3pDNlVPUDg4enA1M2pzMkpPMDR6WmFKaFJGd2RIOWxzUDdqbkpnN2dDdm5YdUZ0eGZPNG9wUU1yYlZEQktTUEN0WXlWZDQ0ZXozK2RIWkh3MzFyUzFhck5QRFk0SnNRQ2dLWDRBUXRKTkovQURtMUJ5bkgzNk1SNCtmNHZEK0k3UWJiWVNWRkVYQms4ZWY0dHc3NTNqOXdxdGM3bDdDNFlrUk9HMHBpbUw3TCtLbUpEVXRnMXBhb1lscDhNaWg0MHhFazhoTTRWSVZOdklLbVFzSzR4QlNsM0tZcWtkSXZLOXFaSTFVclhkYUw3eEU0UEN1MGhISWtEUmFKcEE2Rzk0UDY5MXdHZFlIT1kzd2xhekdEWmVWcHQxYWdkWmhCc0xhQXVkQ29GV3BDSWRtYVdXWndvYS9UNVdVUUFpQmMyNkR4cmxHaloyTW1zaldxSEcvRUk3Q1pNenVhWEZyL2dycnZVVysvWjAvWkhIcEtrb1lDanVnaXNSV3psb2JaV2M3UUdOWlFUaXN5NENZbDE3NUVSOS85aWZJdTRiZ254cFJFZGtxSVNvODQ2bzZVVHNKWWJLL3lrSWZSWklCZlBEQnJXS3lYdEpienpsMTRnbE9QL1FrYjE1L2hZZ21lZEVQVzJ4bGFiWEQ0R3lZMG4vMHdHays5NGt2Y1BySWswekZVNnpkNnBLYklQU05rZ1o3bTNNMEgvMDRyVmFMd2ZjRzNPaGVRWW1ZYkpBQ1FWdGJVSlJxNDRLRUJBZXNzaEprdUVSa3BEanYwQ2lNZzJKUXNKYzVuai8xQ1o1LzR1Tk1OcWVnRUtpZXhoVWVNM0FjUFh5TXBtN1JhclVRYndyT3JiNkZ3UkVSQjBLOG5TanZweFF5UkljOUtIUjV5eVd6YW9iRER4MG5vazNlOXdpamNDcEdTMG1rTlptM2VLV0QzZHN3WTB5V3MvRnkrRHVJTGRjTFNsL21PNndIUWNoYjNMdytFR0ZaK1RvTFVSSmNzWWtJQzd3U2VCM1c1NzdBSTRpVENDODBUbXR1TFN5RkNPMFlwSlJEK1VHTkdyc0JPKzBwVktQR0xvS2owVlFzTEYxRng1WnZmK2ViM0ZoNkIwU0JrQVVWaVpVeXZFWTJzUktvUEJ5MzhTczRlamFDOUZoZjRIRzgrZVlickhWV3RwNzZIZXBPZHdBQnY4MHpxWVJ3dDcrRzdRMC9DKzlDWk5aSzJxMVpQdlg4WjVCbzJvMHBRQ0NsQmwxbTVXMTVuN2IvL0NXU0NUMkZKdUgwc2RQTVRleWp2OXhuZmI0SG1XSnU4Z0I3bS90SmFPSDdnZ2s5d2NuRGozTHl5RWswU1poMkprSWdNZGd5S3o4VWtlM1RJNlZISzJraWdZeDBlRXhSRXQ4dzlYNmNrd2RPOGREc0VXS1RrQzhaaWxXRHlqU3hTVmk3c1U1THRYbmkwU2Q0L09RVHhDUUlaRWdpM09iSFQzQ0dsY1FpUXZpeVdKY05hdDZZaEljT1BVeXowY1lheUF1SEZScFBCQ3BCeFJOSTNhRHFHMkY2dml4bks2cmlHU052Z1MzWCs5RjZOZFJ0aC9YU2o5NFhRdDF4S1VSSXIzdTNaWFU4S1NWU2FKeHpwR2xLeDNUS0ZvenV4WGI1V2Rlb2NiK29JN0kxYWp3QWJzMWZ3N28rZi9LUHZzN3EyZ0tSbEJTdUN6WWpUaVI1N29iNUVxTUFSNmgwTHhCNHRwN0MvdENnQUF0U2diV2hWYXZwTW1mT3ZNRnpUM3g2dE4yV0JIWUhrTGtoMFN5djh3WkxzSTN0RTc2YUxQWERXTGlTRWM3QXd3OC93cEU5eDdteDhnNmdjUzRyUng1YkdZenVIR1FtWTRhOW5EcCtta043SHFLL21OR1FMWXozdUw2anM3cE9NaEVqdkVJWnliN3AvVHh5NUFUbkxweGpNYjhGVUNaamVTS1JZTDBOa2RmeVBEdFpSWFJBRXlOUlE4T21QWEl2ang5L2d0bm1IbHpmUXlwcGlDWXQzYUlaTnpHUllhVzdRa1pPczluZzZNR2pIR3dmNUZMdlluQlAyQUVJeGFVRmhvcVNLa0F3RmM5dzdOZ2o1TllpY29oRWt5aEt5SzNFV0FkS1loQklZNG1HZnRCM2RnNjQwM3BaZHFjd2xoejFTK0g5VUNCZ043MWZsVjhad3QzZHNVRHJvSTBWTnVobFZXSG85L3VzNVV0VS9WbEpSYkZwNFBwaCtGalhxUEYrb0NheU5YNU1zRlhFVEd6NmZSeUJSb0laeTNEMzNEbEtXa2IxaEdQb0dTUlRIRDIrODZkZjU5ckNlYUJBU3h2MmlRdFJQY2FJck52WVRpbGhPNU8yQVpUU1dHdWdiS3VqQUJUbkw1emhtU2MraGhLR0lDMm9zTEVNclBTMys2N0tlM2oydmUvaUNqL3U2WFI3RXBpSDBqODBIRmw1amMrZ29TYjQzR2Qra3YvMVgxNWdxakhEYXJxSXQzYXNDN214NUx3UHVCRENlNVF5Vkp0TnR0cE10Q1p3aGNQa2xvbjJKSU5CU244dHBSRTFtVzVQTWIrV3NqSy93b3llNU9TeFIvbVZuOVZrTGczRVRRcGtKT25uZmM1ZlBzOGJiNzFHMTNTUktPWm05dkxNTTg5dzdQQlI4bTVCbmhvbUd4TW9wK2t1OVhqaThKTTBYQk0zc0VnamFNa0d5bW5TYms1aGN3N3VPOGlWeFV2ME9pbk5wTVhjM0J4WGU1Y3BodTZsVy9TQXV3VUU3K0hDdjVlSWJ3Rm9LY0JXa2VZWUFleUo5L0RRN0JHaVFZUkRrTVJOWXBtUURnWVV4aUlSZU9lSUVNTTJDVWJFTDhnR3lpWVB5YURZOERNRUlsMjlwOHYxYWxQcjlhYlBiVTRXUXdpYzl3UjFRVmd2ZmFsdE40NVloTDlwUlJsMkxtUkIxM1pZN2kwRWNaRFV5RWhEVmd6SmN0aXQySGk1L1VoVnREbmxzMGFON1VSTlpHdnNjZ1Q3bTNKMmZLaE1jNFJrQldjdGlMRnlxOTZIcVRZdlFkZ3lJbW9BSGVKMHZ0U2JsVitONEx0b01UYkgrWnpKcVFZNmtseTRjSlptMi9GN1gvdXZ5TTBxVWd4dzNtQ2NSd2lQOTVBT1JsbnZvMmZQYUlvN2tOaHRaTEplWXJPUW55Mmx4cElpbE1QWkFUOTQ2Uy81aFYvNEpZeUR5VGpCWkFhTW9OVnVrUmVlTkUxcE5HS01HdzBZaG01RzQwKzM4U2lQRDlkbGFBMVV5dnJFMlBveWMyYjBrZkx6d205MFN4cXV0K1BScUkxTEdEMW8zVmk3L0lqTjBvd2EzTHA1bmNNbkRxSlBQY3RmZi9jUmJxMWRSUkxqaGNFcEI3NFl5akNVRndpdjhPNzlNa0Fkc3d2YlRPREdNOHJLaUxnWTZ5OFNRNFNrTUJuZU81b1RUWHFMR1Nzcks1aWVaN2E5aHppTzZYWDZSRVRNVHUzRjVUbGV3TUc1UTJpdEVXbEVsaFUwSnhLaWlaZ21FeXhjWGlKZnYwSkV4Skdab3p6OThMUE1UZXlsWi90TVRrK1JrSkIxTXVKREVST05OcDJWRG9Nc1o2bzVSWndrNUwwQ1p6eU5Sc0xxNmlwUkZOR2NiTkh0cnpISXM1QlhxQ1NGSFozSjhCcFU1NzM1L0RmRGIvck1rRXlPRFJUZmhjaGFIRFNoYndaUWxqNkkwY1FrZlByRXAwZzZpcmpRQ0s4UWhTWHpQWlFJc3hjT2k1SWhiaTNIcmJNMnV3NzRVY2YxM3BlT1ZxUDFaaXpvWDFscWJmNjg4MlA3R2x0S0w1Rmw4UStqUFFhUGxlQ2RRSHVJbktDbEd0aCtqazRpbkJEMEdMQk9qL2g0aXg5KzcyVlNDakpueURJenZJekdoSitkMmJxUDErUzF4azVEVFdScjdHcklvVTV5TExJejduRzZRUjg1L3Jtd3RITHoraklpV3o0b2U3MGVNek1UVUVqU3JLRGJHNUFYNjB4TVJYemxhLzhOV2JHQ2NlczRQMjdWSk41bFdtNEhUVStyQ0t6RldoK3lwQW5tcVgyN3hwdHZ2Y3JuUHZGenJDK3ZNaEh2QXlScG1oSkZFYXJTQm5xM1FhcTZWZkdFTzZHeUhYci9zVFdCcWVLb2xmMlE5QktiNWN4Tjc2VzMwZ01FWC9yOGwva1hmL2JQVVVRWUhKaGl0RHNmcG5ueGxxcHkxdVpFbWZ0cjYzaC9IVnQxbDExWFRZcVVJa29TK3VtQTVaVWxIREE3TjR0cE9NekFzRHEvU21NaVJpYWEzR1E0YVZDUlpMWGJaV2xwaWIyVGgwalRGTi96c09TNGZ2TWEzZjQ2RG8raFlKQU5XRmk0UmJxZWthNE5TSk9VaEFhbVoyZ2xUUWI5b0tOdHhrMWNidWhuUGZDU0tJcHdlRnF0SnAzdUdqSWZrQ1FScllrbURrOXVDNFNVWThtUFcwUmx4NVVkNDZ0OU5XdHk1Ky9SWmhJYjVsLzhjRGs4aGlzSEVFS1MrQVlTeGFuR294eWFQRUREYUtSVHdTZDJlRHZDakl3Y2k5QlhNeExETVFlbDNkdDdzTGJZWkpvUUVzZkcyMTN1NTA3ZnErb3FPQ1JXV3FyS3VVTm5EaHVTR3FVREx5MVdHR3ppdUxsK25UNDU1b09lWGFoUjQwTkFUV1JyZkhUaEJmaEtjUll5ZmtmcDd1RWgyV28xV0YxYm9qMFJNYnVuemNMU1ZRclQ1WnQvOVB2Y1hMNktwdytiaWp6dUpsMlprZ0pyUjU2ZTFsb1VHby9uaHo5OGdjOSs4bWN3cGtBMUJjNEppanduaWhSYXhYZE90dHBGY0E3YXpRYUxuUzZxcFhuMjZlZjRxNzg5enZtbGMyaVJVSGd6SmtnWWcvQklvWER2VzJTMlJFWHUzNlVMVlc1TlBkdW5tZmJwWjMxbW1oYUxwOU5mZzBLUnhBbDdEczVpZlU3dWN5S3Q2SnFNUzFjdjhzTlhYdUN0cGJkS3dtb1JlTFRRcEg1UUZsQndTQ0Y0K2NaTG5KdC9DK1VseGhtYXRNUHBJMm5UNUZjLzlhc2MyZmN3T281RFpUMnRtV3hOZ3ZXc3JxOFJ4Um9kSzd4d3JIWFg2YXl1bGJNbGxJVDBMa1Rxdlh5TjdyQ04yMFJ5UXdGaU4xeU9iUWhlRXNzWWJjT2svdU9uSDZQZGJtTTZ4UjFqdXZjeVlQc3dJZnpHUzJLZFEwcEI0VVBmc0hoVXBMbDgrU3ArSncyb2E5UjRBTlN1QlRVKzJ2QWFVT1Z5ZkZ6bkFJT09QRkhzTWJaSHQ3OUVveG5Lemw1ZnVrZ3N4OVZpdXhPK3RLc1M0M1AzNVh2bjMzbWJDeGZlWm1wMkFpOHR1VTFSVWZBSDFUckdXci9ydWF4RWtPZUdSTVZFS2dJaitPVmYrUGVJaU1FNUpCb2xFN1NPUUZXRG5ESXU1eitnK3FxYnczVERDS1RjOEg1UVJ6aVdpbVhPWDM2Ym5Kem1USlAxb3NOS2Z3bWpEWDI3emxKdmlWd09pS2RpZXJiTDYyZGY0K3pTV3hneUJxelRaNDB1SFZiOUlxbFl4K29NMGJUb1NZRlhCVms4b0V1SEFYMjZyTEhPS3V1c3Nzd3laNjYreVZKdkVkL3dxRWxOcmpPNlpvMGVYV3hVMEMzV2FjODI4ZHB4OGRKNTNsbTRCSUFpR21wQVJIa25ObFJpZXpkSlFmV1p1enpDS3FJV2ZCamNodVZvSXdWZW9aeWt3SEJJSCtUUWdZZklzbXhZOG5nVWlkMTZkbWM3NGJoOVBDbTlRK0J3b3RUTmFvR1ZEcS9BQ29jUmxtdXIxMjRqK3pWcTdGYlVSTGJHUnhpbERaYVB3VWRqVHdRSHdvSW9LRXlYUFh2YnBQa2FDNHVYK2MzZi9nMFdsNitnc2VSdW5lb3hKNFRZZmJZMXd1Rk1EamlVOE1neU1GMU52MllNK1A0TGY4UGtWQXZuY3dvem9OR0l5VTBCVWdjNXdpNy9FMUlxQldnbUxWd0JlYS9nOUluSCtmaGpuMEFRQmpuT2VLd1JJWUhtUFhDdCsydkkyR3ZzZDRFTU5rcmx2ODNYdXhFM3NCaSsvL0lMdlBUV1MvUjlsOVpjZzhhZW1GVDNXZmRyaUVtUG5KS3NwQXU4OXZhcnZIN3RGUXdGazFNVE9KM2hHd1ppQTlxRnNad0FaeHhaUHdNQnBpaHd3dUcxd3pZdHVjN0l4SUJDR2w2OThUTG5icDVsMVM3aldvWlU5NWxQYjdEdU96VG1FdlNrcE9zNlhMeCtnZk9YMzhaU0FKNGsxcWp5N09BT0NwTzdYR0N4NFNXSEwxOFNWVjlPL2Q5MWlRTW53Y3JTSDFmeXNXZWZweEUxNks1MWlhSm93ekUzSnpYdU5JUWNBYmZoV2dvRnZpU3lObklZWlZqdHJkQmhEY29yVmFQR2JrY3RMYWp4RVlZc3BRVVZ5Z3dnVVNXSVdSb3R3ZnppWlhSVThPMS8vQTF1TEYxQUN3K2lBQmRJNEhnSnlOMGtLd2pQc0JCVnJLU0NFS0o4aVFnUDkxZlB2TVQ4MGpVYVlnYWt4MHMvS25kcFM3T0RYUXhYT05xTkpyblB5UVk1clprSmVtdGRmdmFuZnA2ejU5OWl4U3dDSHVkeW5QTUlWU2I3bEYzbGc0QW9TV3lnckpYMFphUUpyZjUzUU9ZS0RKWlZ1OHhmL3VBdjZheXY4OHpwWjlrenVSZmhGY2xVUk80eXJ0Njh5QnR2djhicloxK2h6d0JMd2ExT0oyakV4OHc2aEpKb29YRE9ZWXZ5Qkt1RU9pVXhvNGFSMmdFU3o0dm5ma2pQcjNQNmtjZllON09mcUszeEdIcXFROGQxdUhEMlBLKzkvU3JYMTYrSDh3TUcrV0NvV1ZXb01sb3FRNlRadXhGTDNSeWRmazhYY05QUG0zOGZYenFKSWtLam1XV1drdytmeEhRTnpscVNLR1pRbVBmc0lyRWQ4Q0s4cEMvdDVGeTRmcUs4VFY0cURCWW5IVTZERVk3ck4yOWhDRktER2pWK0hMRExIME0xYWp3Z2ZQa1ZxR3kxZ21kTklLcWlZR0Z4RWVQVytaTi8rSFhXMW04U1NVdmhldUF0Y2FUSkNqZWFndHhFWW5lVEQyTWw5WlF5T0FGWURCNUJKMXZoYjE3NEs3NzAyVitrMFU3bzlkZHBOU2V3aGQ5OUVlZ3RJSVFJck5SN0VoVVRpNGhlNXRrM3M1OHZmZTZuK1ZmLzM3OGtwVWNCT0hKd0hxRjk0Rmp2UWN0NnorMFo4Y1F5SWx3VnpnajIvU0hSQ0NvaU96Qjk0cmhCbm1jc0ZmTjg3L1h2Y21YaE1rZjJIMkdpTllrcENqcnI2MXkvZFlYcm5lc1ljaUt0Y2Q0SDJ6V2dESklPejhYaEVXZzBrS2lFekdVaGdta1VOamRsZFkvd2Zjbkp1ZVZ1c0hoMm51c3JWM24weENsbXArY28wcHh1dDh2YTJoclhiOTNnWnZjR2xsQnB6RkFNRTY1VWVYN0J5elk0WUZoa0lMTjNIU21FZFhMRDFkaDhNVGN0Yjl0RktFVWJFVFBOQk04LzhUeVJpMGo3ZmRwSnU1eHhHS0ZLeHFyMHNWdFp6MzJZY0dKamZMNXFsL0NncW1RdjRiRGVrSHFEazU3TTUxeFp1SUxGVUpEWFZMYkdqd1ZxSWx2am93dS9lVm84NkdJRG9TMUFESUpQN0QvK0k2N2NPZ3RrUk1vVG52d2dsWVBpZGx1Y0NsSktyUDJBZEpUdkZ6d29IWW9oQUdndHlhMmo4QWFKUUV0NDhlVVgrTklYdmt6U2JERy8zR0ZtZWcrZHRGLzY1SnE3N242bkk0b1VnOEdBcEprdzBacGt2YlBHdm4zN2VlZnFlWDdxOHovRGl5Kyt5RXE2UktkWUNobmVQampRZXZGK3hiTkdCS3dpc1dXTkowSjVpbURaUDZJc0p0akVBV0N4Mm1HVnhZdFFYallYQTg3ZE9zdjVXK2VJaU1zQmlTTlU3TElZREprWmdIUWtrMDJ5N21CNGJGMys4NVFFVDhUa05rY1JoYzg3RHlnUUVoVXJiRHJBVUNDRXhQaUN0eGJPY203aEhLcTBzaXBiU0V4Y0hqdFVqZ3NKVjZES2YwRVNJSEFsb1pVNExBTG41VWdDOEI2d1FmdTZtY1J1c0RLcjNwSkVhRm9rekVRelBIbnlLZnByZmNndHJjWVVhWm9pUlRUK2tSMkhjU0pkbFk4T05sNmxQbGdJQ20vSXBjVktTK29NQ3l5V1c3dGFKMXZqeHdJMWthMnhxMUZONTN0R1M2cWZOeEZMSDB4TVE3VEhDZkFPcVRYZU80d3RjRDVqY2lwR3g0SUxGeS9RYk1OWHYvYWI5Tk1sSUFOeUNsc010YVJwYWpidWV4TjJQSWt0TWQ3TVBCc3Y1V3BRc2VmQ3pUTmNuNy9FdmhuUDVNd2tTOHNMdEpOWnNpeGpnekNqOUlFZHZ4YnZwcUFkTDRQcnZROVoxNXNOMzhmM3orYjlQMWhJVEFpQjFocGpETlpZWXRXZ3Q1cXlaMm9mMlhyQjMvMFAvMVArcC8vNVQxSEVaYzYzeGhSWm1NNlY3NE82SUJpTGpuNEZFcGtnbkFxVm80Z1JLR2FpT2ZidTM0TVFuc1dsVzZ3TkZzakpRSG1zelVHQ3crQWpqVW56b0tqVm50eUV5bkhCY3N4VUxCa0VaSVBCQm9JWFlxdzIrQy9qeUgyS0g3dkRXbXFzczNqcnNMa2I3cXVncXFZV3ByU05EOUcrY0Q0eXRMTkVGVUdWcGVKM2dpbmFxazF6b2trLzY3S1FMdUt4YUFST1dBcGZES1VVbzZTcjBkN3VmbTFCeGdLWGgzNFpOVFJGYXBCQ29wVENGNEhJN21VUFAvSGNaMmpKSm9ZY3FRVkthSVFFNDhxL0oxUi9UenlWRWJIMzRMYW8xbFY5RDJDanU4RlcvWGZ6NThXbTljUGlJbjZyejFkdEs3OG5RMy9aS3Q1dGcySTJVZlRUTlNhblpqanpvemNwTUdSbCtld2R5OUJyMUxnSDFFUzJ4a2NYd3RIdHJURTdPdzJGSU0xU3VyMHUrVnFIaVNuRlY3NzZEK2dORmlsTUY4aXBJckd3Z1h2c2FvUUhZUGg1b3h3eGFCWTc2VEtDaEgvM1YzL0JmL1ozL2g1WnAwZXp0VGRFTWFNRTkwRmw3bjlJY01Kdm1wNlZTS2VBR0pCTU5XYjRwWi83RmY2M1AvOWZhT3BwMXMweXNZekpYYzRES3lzRVk0YWZERG1hY2NFQ0xTSGgwTlF4UHZPcHozUGlrVWNwaWdJdkhIR2l1UGpPT2Y3NnhiL2kzUHhiUVhHZ0pCaFBsdlVSTWd6T01qTVlPOWFZN3JRNlhtWENJRUVKR1dRVDZISXdZVXYxdEdWWThrS0ZjZ05XQUZJRWVmV203NEVYZ1ZvNWI4dmRXMlNaaUJXanNlV0g1aWJuT0gzc01UNy85QmNaZEhKVXBFQlozcmwya1ROdm4rSEswbVZ5Yjh1STdjaWg0VTVmTzRrc1c4cUcwVTlGWW9VbUZQVVlTb0pWV2ZxZ3diRjlEN08zdFJlZk9uemhpZEI0TDhwQmxpelBLWHduZ3ZleDJ6RUVzS1N1VkxYcVJGbDBCSUtqaUJHZXdqdEVLK1ptWjRHMWZKMENoNldnOE1WT09ZMGFOUjRJQ3ZpdDdXNUVqUnIzaDVoOWV4N2g4NS8vYVpTSWNOWWpSSVFRQW1jOVNvMm1Ka2ZQdGhCR0VtVkoyampSckhlWGlCT1ltSXhZN3kyU0Yydjg0VGQrbDJzTGIyTmNEMGRLUldLSEFiUWZneWZBV0hCdTQra01DVSt3NFpwb3RIam42anM4Lyt3bm1acWNSVGlOeVNGU0dyK0p6V3hWbk9wdXYyOHVLSENuN2UvRUdjVURSR1REYVRxODhQaGg2S3dzOUZEdU85S2F1Ym05TE42YzU4YktaUlFTVzNxeUd2T0E4ZGh5RkNHaWtrUjZpTkdJVXJuNXlOd3BmdW1uZjVXais0L1IxSk1JcTRoRVRGTTNtWjZjNWVpUnc5eGNtcWM3Nk9NS0QxNGdrQ1JSUXJQUkpDOEtsQkFJS1JDaXl1WWFYNDdJcmZOQmdCREVCd1lqVEREUEZ3Wlh2b3pMOGNJeWJrTWx2Q2lMa294OEZRU2xpd2VDU0VRSUpMb2tzNXFJQTYwRGZPeUpqL0h4eHo5SmtqWlJxYVlWdDVpWjNNUFV4RFR0OWlSWVdPbXM0b2I5UzdEWjkxVGdHYS9rNVRjVDJiSmp5MGdncmNMYmtGaW0wUWd2U1dod3N2MG96NTU0aGdNeiswT1ozU0swR1Z2cTI0WGNNTm9UNVhHVkI4U2R5MkhjcWQvZTN2L3Z2djV1L2Q4TGdSTXF6QTdnUzl1dFlMOUYyYWVkZ2xUbWlBbkZXOWZlNXZMYUZicjB5TW5IK255Tkdyc2J1OXM3cDBhTkI0SkRhWWVPUElYcDB1MHZrVFFjMy96anIzQjEvaHlKaGlvU0s4UnRzOEEvTnFnMG1XSm9SeWFIS3p3TzV6TThLZC83MjM5THF4V1RaajJpV0pCbDJkMTJ1K1BoaE1NTGg1Y0dQNndHSndJNWN4cGxJNFRSUkM3aGwzLzJWMmt5aVNkb1NaMnh3MEhBZzhLN1VZUlB5eGlKWkVidjVmbW5QOG5EQjQvakJwTEJhczUwUE10MFBFdTZrdU43Y0d6dUJMLzZwZitBQTQySFNHaVMwQ0FtQ1dZYUEwalFLSytRTHJ5VVV5Z2JsZWNWZ1VsSW9zWW8wVXNDV29JV3FFVFRtR2lDZ3FnWkkxVXBNWEFTbkVRNGhmWU5HUlpQTkFBQUlBQkpSRUZVSXQ4Z29rWHNHMFErUnZtb2ZPbVNNTUlFYldJU0loTG14RDQrKzlUbitOUmpQOEdCK0NDeXE1aU9aNWxnaXNGU2lzbzBwdzQveXBNbm5tU3VNWWRDSWF0eTBadUVKSGY4S203U3ducmp3OEFXeFZReVJVeWpUUEZLT0gzMEZBZG1ENkNOZ3R6VFVBa0tSWkVWV3lZekR2dUpxS2J4Nyt1V2YyQ1F2dFJhbDVGam9hREE0alZjdVhXRkR1dFlmRGlQOTZzRDE2aXh6YWlsQlRVK3VoQ2V3Z3pZTTlmbTVxM0xySGNYK1VmZitUb0xTNWZSd3BLWlBzUEVMaGtzcXNZaGhjYjYzWjNzTkRTakg4dVZIeTdLNmVmVTlBRE5pNis4d0plLzhNdE1SQWVRWHVBK3VCcXpIeHFzQ2hQbzBqa1FxaVFCVlNhOFFCU09TQ1hNVGUvbjcvenlmOFMvK0xOL2hwS2Fuak1rT3FFN1BuMS9QeEFFNWxGZTc4b1g5ZURjZmg0LzhUajlsWlRwNWl5UmFHQnppL2VXdVlsREdKdlNYMXBuZi93UWgxdEhNZXVXaG1yUXQxMHkralJjSUdUaFBDcU1NNWN5c2Fyd2VLc0FqNDQwdWNreE5zY1dEcHNOd0V1VWpJaGxRbVp5WXBLUUVPWTlNUW1WRTZ3ZCtyZFdHb2xLMldwcE1RRmw3UDVBZkpBNWRZQzRFOVByOXRuVDNFY2phbUlvNktVOVVKQzBtK3lkMk11aHVVTXNYbDNBNDVFSU5vaFkzcU8rVXltSkxSd0tHZjRWQ29GRG9YbGt6MG1PSHp4TzRpUFNYb1kyaWxhN1RUYkljSVZCSlUyY2YyQVY5QWVLMFRjd3lCNnFybFRKTEx3VU9BZmR3VHBMZmpVa0xBckhCbkY3alJxN0hEV1JyZkVSaHFQUmxNd3ZYRUZIbG05LzU1dGNYN3lJRmhZaEN5Z1R1NnJBekNnYUt6ZTlkdmJEN3U2b3B0TEZwdmRHeHJMaFlXbFk2Uzd5d2crK3g4OSs4ZC9IcGdYTlZwdWkyTVZSMlRJaUMrQ0VHazFQK1VET2xBZXBFd2I5RHE3SStlVEhQczJWV3hmNWYzLzRmeE1SWVl6WnFNMjg1K056MjV4WTRRd3hDVlB0V2FaYk02UzVJL1lKSnZWMFZycDRMRE16a3lSeEUyc043Y1lrdi9iRlg4Y0poL1U1bmQ0YUtwSWtEVTF2MEVVcEZXeWFQT0Zndmpxb3hBa3dMaU16S1NMeWVPVzRObitWTTIrOXdjMkY2M2p2T1hiMEVaNSsvQ2xtSjJld0E4ZEVOSWx5bW5ROUpWSXhEZFhBaTZBMXR0SUVOd2ZocUVvOEN3L0NTSlFKVS9sTjJXWlNUOUpXa3pUMk5GaSt0Y3BLdm9LSW9OMXM0NVRCOWcweERVNGNPY2xyVjE4ckpRdVN5dk40bzlZMzZGaTN6TDR2L2JLVTBHaXZrV2h5VnlCUkhHNGQ0ZmtuUDhaa2N4cmJLU0MxUkhFemRIdm5TMGVPRGJ2WnNXVnBoODBTUVY0d1ByeDBXSXczWEx0NW5Zd2NpOE5KUCtwN2p2YzBJS2hSWXllakpySTFQdEtZWDdneDlJbGRYVnNnbG9yY2RjRm14TEdrTUc0TFRXeXdSbkkvVmcrQWNVWTFSaGpLVmQ2Q28rRFYxMTdrNlZPZlltN21rUkNtM3NVSUJDd1FJQ1ZDVXMrUXJQaWdqZFJlWURKRHBBUnBiOEJQZnZhTFhMajBKbjNUNGZycXRRZHZoR0xvWUtiS1Nnc0NTU05xVUdRRlNqVEp1amxhTkRpMDd6RENlUWJwT3RrZ0o0b2JyTi9zTUpGTW9XTk43bEltMnBQb1JDSzBZeWFlRG9VclJCVmxGcVZ2c2tTNDhIdXNJNnd6eUJnS2N0eXk0Rko2alloVndERW45bkZpNmlSek13Y3dVY0drbmtRWlRXNHprcVJKYW9wUS9sUVlyTFNCekVvN3ZLNGFnVXNkU2lzaUc2TXlqZTE1Qmk3RlI0clo1ajU2ZEJHUlJ5V1NBUVA2UlE5dklkYkpVUEFDVzhmK0E0MjlNNnkxUVVZZ0Vwd1B4bUpUVFBQNHlTZllQM3NBa1hxRWdTUnFFRWxOUGtnUlh0SnNOc21Od2V1ZDNjZjlGZ1JibEJaeEVNN2ZlY09sRzVjWWx1bXRDazdzN0ZPclVlTTlveWF5TlhZNS9GQVBGakQrYUNzcmR3bkt5STJsTW5KM1VvTE1zTDdEZC83N3IzTmwvaHhRRU1uS1M5WWhwUTc2eFRFSTFCaW4zYzJSMkFCZlRnMXZQS2V4eWVpUUU0Y3M2d1lzcmk1eDl1S2J6SDM2S0tudGhlS3BmaXgwVzMxdWl5UGRKbDRrUElTcmo5LzJRTDd2czdvenBCOUYxdDFRUmpEZWQ5U0d2bVNNWlhacW1vSHBrWGY3Tk5wVC9PZi84WC9KUC92bi80U0laUnhabVpDMHlSN3FEbGs5RzVLVHlpNkpEeHBaSWNNVXY4Q2p0S0NmRG1pTEZsSXBYTzdwcnc5Q1ZqcUNTR2pBTVRuZFptRjlucVZiaXpnc1NWTXpLUHJrZVVxamxXQk1Qa1prWmFsL0ZzR2R3Y3RRZnRjVzZHYUUxNTZyVnkrenRMNFV2SEpSWEwxNmxXc1BYYU8zMW1kOXVVdEx0WW1zeHFTV2lZa0owaUxIU2g4U3dwVEJpWkxNaXBGV3M2R2F5RXdpQ3NGc1l5OEhaZzRTRVpOMUJ0Q0RXRVZZYjFoZlhhZFBqMmcySWxJUitTQXJyNWNjTG9lMkErVTFsZVBmZGJZZ2FHVUdQOTZqa01URVBIN29jVTdzUDRIb0NXeHVVVWhhalFiZVd2cURBYzFtazBhU01GalBrQ29NYUNvdDdIdUp5dDZMYnZiQkhMQWNnbUNwSmgxSUYrNnJ4Mk1GV0dISVJVWXFNbTV4bzNRaUtUdGQyZFZyMVBoeFFFMWthK3h1ZUF1K0NKRW1YMDQvZW9WM0F1OFVlSW1VRHV0eUNwUFNiR2wwQkpldm5HZHFSdkcxYi93RzNmNDhuaDdneUoxSGE0bHpra0Y2dS80MUtQMDJrNS9kaVRISEp4Z1dyQ3lKYk1VN1BUZ3ZjRjRUcXpiTGVZZi8vUy8rRDU3OXpDZEpLSmdVazdqVVk1eWwxV3FodFdabGJSVm5MSFA3OTlIdHJnT2xPNEFQdHZ6Qkw5UGhLM0xpU3VaUk1jeHl1WUUwK052WGg5WnU5T0dzbGx1UmljMFo0TXBKdkJ2cGc3M3plRy9LbG9YcVZVcUhxZmxZTjNBNXlJRm5JbXJ4aXoveGQvbUw3LzRyM3U2L1RsTkR6L1NDK1grU2tPWEJuMVhFQXYvL3MvZG1UNU5jNTVuZjd6MG5sNnB2NzBZM2xnWWFhQUJOZ0FzV2toSzFVdEpJWk16SVk4c1JpaGpmT2h6aG03bnhIK0FiWDlpZW1MQTBkdGlXNTlZWEUrRndLQndPZTJZY0kydkdISTZvSVNXUkVFbUFBQUVDYURSNjMvdGJxeXFYcy9qaVpHWmwxVmRmTjlBQTJmaTZ6OU5SblZWMWNqbTVmSlZQUHVkOW43ZjIrNGhYR0NnUGx2V21WcWhVNDJ5QnM0WmNjbXBmODhHRjkvbnlTNy9DMG5DRHl0ZG9TY2l6SE9VY1ZUSEcrUnB5dzJaMmd6LzlxMy9HaFZzWFNOQWhzUWRMVGs3SnBEdDAwMWpvRnFvNWV0UHJPSXd5eng2NGlkdmwvL3pyLzZOWlFqb2kzdjZ2bWdlN2NHWk5RNWFtM3FZS3paQUJIazlDeHRQcDAvem1yLzQyVHoxMmtycXFXYTJFWmJWRU5zelFvckdsUVR1aEtDWmN1bnFsMTlkMlcrSEttVDRZdEd6TVRrbHNuOXZXa0trRWpDVWo1WFQrUEMrZmZJa245T1BVb3hydEJCR29xaXJFL1M3bkdHL1pMZmJRYVJpSzhENXdQdDk3QXBwZWlyNm40dmVla0JhaG5iZVp6MGx2blF2YXU1UFhucis1NjkvaEtlc3h5OE1sYkdud3RXSjVhWTNTak5tZGJPUFdQWFZlOHRvYjM2TmtGNE5GcGRMVWZFbElraFRqU2c3emIxaEVCRVFpRy9GQVlmOFA4bVF5WVgxakdlc0tqSzBveW9KcWI1ZVZWYzEvODQvK1MwYVRHMVJtbTNZNHZTMHJlK2ZTc2cvS0Q3ODZVSWtGZ3BDRjRMMG0xVU1xYS9FSXRaUjg3NGQveVRkLy9lOHl2clhIa2VFeGpER005MGFrZWNiSzBuTDNlUmF6NUg5S1p2Y3JVNTkyTnZnK1c2T09mQ1E5QmRZMzczMDNORzZNUVd4WTJsc0JFbGFYMW5qeG1aZnhDRnZmdnNrMWN3bE5na1pUbFJXaUZmbEtSakVxWmpmc0ExM1VIZmxxMUViWEVwTm1pTjU3cm01ZjVzZnYvQzFmZTJtRnBjRWpTRzNZS1RiUkRnYTVRb213NDdkNTdiMi81dnplQjB5WWtPcVUyb2JrUkpmVVhUR0VnK0diK043MmZPelgwZFdDK0ZQZm0xODNhVlF0ZlhVejVGaVJvUEZOTmJLVW1xdjFGZDY5L2pPU1ZjVVR4NTdBMzY3WkxYYW9keXZJUFVkUEhNWGxOZSsrZTVNUExyMkhEVkdkY3c5ZFF0Q2xwYnRtbE5LUUVjcmcycTZqYUFYV0dGSXlUdWduK2Z5cEYzaDg1WEd5S3NNVUJwWE14cmkzSWFQemxGOTZBd3AzdWpURjM3bDk1dGg2K0NRdXpBTGtXWUl6RmNvcmtpU2pNb1p4VmVOVGpSckFwYzNMYk5zdERBVldoNy9uc0JQQ0ljOVRqWWpvRUgxa0l3NHhNbzRmZVk2di8rWTNVWkxnckVJaytIQTZHektXczF5enZYMGJuVGpXMWdlTXhwdFlOK0cvKytQL21rczN6bEtiSGJ5ZkZqcG9MWGZ1VEdRZkZNdzc1UHZacGg2R3d5V3F1b1pHVGJ4MCtSSmYrL0xYeU8yQXBYd0Y1eDFsVmFLVUprMVRIQjVqemRReXFjOEUydHVwYnpQcDlydkIzdTN6UjltenUzKysrM2h4KzJEVFR1czZYQ3Q1bnJPMGxqTmN6N2g0OFNLVnE4Z2t3K0d3M21PTW9iTWhtTUZVODNRTmlmVGFoMUVGZ1NSWEdHTXdPTFkyZDNuaytLTU1sMFBsSzZjc2tsdXlGV0ZVYjNIMjV2dDgrOGZmNHRiNFZyQUZTeE9NTlVFTlZTcFU0WUlEWCszMnA1ZkJvcmxhNHRyN3JqZC9TMzVuU0d4bkp1dUQ0TzRkcmNkc1JRZ2hTTFJtZFcwVjV4elpjb0pic296Vm1NM3FGajg1K3lZL2VPdHZ1R0d1WTZpdzFKakd4dC9oUWRvUW9kNFZxeTNPTmtQbXpmYkZncklobk9CUjlTaGZmdUVydkhEeTh3ejBFRHV4WVZka1ppMTN1VjRPL255dnk4MXYrZVA0eUFxUXBScFRHRExKU0pPRXNxb29mWWtzYStxODVrZG5mOHhWZTVXQ0dvZkJldGM4Qk9pbTRNTytCSUNJaUVPSFNHUWpEakh5UUdSLzQ1c295WENPVUJBQndUbUQxb0pTWU4wRVZJbXhJOUxNOFkvKzhYL0Z4ZXRuU01RMHhRNGFoZWtqcWJFUEV2cEVWcGhSWkZzeTBON29teUZQRHlqUmpNc1JqNjRmNS9tblBvZnlDbU10T2tuSjBwU3lycW5ybWl6TDhNNHYyQTdUdU5yUE9KRlZTZ1d5bFdXa2FYQXFLTXN5Sk5FNHc2TW5qck54ZElNcjU2NndaOGRrcENnbEdHY2g2Y2x6L1E1SW9KR2V4c3RUTllSQ1FLY2VaME9CZ29rdGVQUE0yMnh1YnVLMXAxSUZvM3FiODlmUDh0Mi8vWGY4K1J0L3hsYTVpWlVLcFJTU2dEVVd4Q0pLaGZBRENJeHU0ZFROOVlzRnA4clBmcDQ3a0cyTTZuNFNHMTV0T0lrVzNUazhGTDVnYjJlWHZXSVhsWUplRWtheXg5WGRTN3gvOVQzZU9QTTZseWVYU0ZQTnhJMHgyQkNIM0FiZHpoQmxCOW8xMTFuVEp4RlNuNUpZVFViR0VZN3l5dk5mNXZQUGZKNFZ2Y0prdDhSWGprR2U5OGpjTEE0RGtRVklSR0VyUzZvekVHRmNUdEJMQ1dib3VieDdsVGR2dnNVdVkycHFERTFJaEJCSzlQcmV3MGxFeENGR0RDMklPTnp3U1plSjNRWG1TVXNNTEpOeWw2UEhWcmg1NnhJNzI5ZjRuLy9rajdsMjR6eWFDdU1MMmgveGxzVDJzZWk3aHcxS2d6VlFtNUxoWUlWSlVlSWFuOVh2ZlBmYnZQTE1MM0Y4TlNQSlUrcktZajE0NzNySHJoMjZGYnBDQy8wYnA5OC9uUDFaZ20vVTFUUk55UnZpVTVZbFdtdVFsR0k4NXF0ZitoclZxT0wvL290L2pxRmtxRmNSRVNiMWFFcThnQ2FEcWxsdnU0WFo1TEN5OXVGWHVYWllYekpRS1c5ZmZKMjNMcnpSeFRDbkNKa0EybUJzRlE2dE9LbzZKUDZnYVN5d212VWZOTzNqSU1sdjBaVHBmclJoQnpNa2RqN1p5b1BWTmRaWXhBc2V5N1hxS3JmT1h1ZU5zejhpSjJQU2tDMkZwcVRFWWhuWERqOVBydWU3T0ZBaEliTUsyeEVQbWM4UUt5UWtyTExHRjU3NkVpOCsrU0pyNlFabXorQXJoOGpodi9XSkYzemx5RldLRnNYRWxOakVvbGNHN0xsZDNyOTZsaDBtalpiZG5MSW1oa2Z0Q3dPSmlEaThPUHgvelJFUE1mcGVydTJkcmlGTlVvRm9Ca1BoeHMzelpBUFBQLzJqZjhLbEcrOGpWR2psd0pWb0hlNzhENWNTZXhjc2tvVzhRMmtQV0t3dldWbGE0OXJXUlY1Ny9RZjg1aS85SFI0Ly9qaTdvMTI4RWRiV05oQW43Tzd1TWNpR1RKbE55K0krMitTMWoxYTVxdXNhcFJUV1drUWtLS0NTTXBBbGRtK00rT0xwVjBpU2pELy90My9HWm4yTGtCcVY0bDNkS0s0c0VxYjNoeVozUVorQWR4UnVqekJ3bHBEcUZGR2V2YnBBdk1YYmFYVW03MmNKc2NYTzVpUWVSRXA3aVdqNzFObEYwMzNvcGRzZHRMd0dhNlk3cXBWZ1hVaXFxNWl3MXlXYU9iSkJobmNHYXp6Wk1LR2FMQWprN0tuYzNyaHVINVVTRXB1QXBhbmJsZksxWjcvRzA4ZFBzWkVmeFU4Y1loUXJ3d0hpTlVWUmtIekc3Ylh1QlBIZ0swdVdwRGp2cVgyTkh3aWxycml5ZFoxejQ4dE5RSUhEcTU3alEvT3dyN3JqSGhGeHVCR0piTVFEZ0hhWTJvRTBxcFRVSUliYm0xY3hic1EvL3FNLzR0Ym1KUkpWWTl3WTQycnlQS1d1N1lFa05oTGJubklvVUpZanRCYXNyYkd1d09QNW05ZSt5NG5Ibm1KdFk3VVo0b1Zwb0dLN2tpWk90cGQxN1ErSVRmd3NRbXVOaUdDTW9hcENBbFVndFlhMTFTTnNYOXBtN2RnYXYvYlZyMU5YbG05OTkxOXoyOTBrSmFYR0JjV3dWV01YRE0wN0d3YmRVYjVMZUJjVkRwZG9BaG5HVWt1d2hVUGJHWFZ0WnAyZHlYMmo3TjdwRU0rMzlkZDEwQmo0L1BSTzZKUGxsaTg2cUZVbytXeXRSeWRnUGVTNVJpUmhVbFRkc2gySm5Sc0JENnRWUVhYdVBRUW9GeXpGTW5LT2NZeFRSMC94NHBPZlp5MWRKNjlUYk9FUTF6eUVkT2xqaDVmSVFuQ0ZVRjVSbUJLbkhXb3A0ZHJrSmgvZVBNOFcyMVJOZExISElra0l4UWFRK1RLRkVSR0hHSkhJUmp3QWFPOXl6UUNhMkliSWVsUlM4MC8veC8rQkM5ZmVCVXJTeElDckc3SnJteGk1S1VRRUVkbjMvWU9QM3Y3MkNFM0xQZE5VcUd2SGNKQXptWlJNaWwyR2VwMGI1UlhPbkgrWGs2ZWVaR1AxS0w1U1RLb1JXTVZna00rTllMY3NxeGR1OEJrbnMyVlo0cjBuU1JLVUNvbFlTaW1TSlB4MGJ0L2M1c1NqSnhsWEkvWnVUdmlsVjc1R251ZjgyKy85R3k2UEw1SVNETnRzZTgzMTNmMGRhSmVRa2dLT1RGS01DOVdYeEN0cVg2TlZnaFVUcnNmdXVtM1cwYmpOaVZLZDM3SFdDZGFhcGxuai9GM3k0dnVIdjArTSs2UjJBWW50MjNDMXJnSUxsMm5mSzVBVWZBWE9oZGhobFlKMTdYRzI2R3c2ZjVZcTZ0STFnclBxdGliTlFSUVV4dGQ0YmJIR2c0UFVKeVNrNUtTY2Z2UTB2L3J5cnpHMFN3ekkwUzdCdUJDN1hab0NyVFZabGgzNnYzT3RVeXlPMGxhd0pEQ0VHOXUzdUR5NjNLVEltWkJlNkQxYWE0eXhYY2g3Uk1TRGdwanNGWEdJa2JLKy9CUy8vVnUvUno3UURJWVp0emV2VVp1Q0kwZVh1SGo1REgvMHgvOHRtOXRYcWUwSXFIQnVnazRhMm1zWC82SS9QRXBzbnhYTkpYM01LWEx0L2Q2WUtUR3kzcEV5NUlQTFozbjI2V2M1dXJHQkVvV0lZcEFOcUlvS0phMUhySFRKSlNFQnFJMU5Ycmk1bjB1eVY5OW5GdS94ZnRiYmR1RjZtakFDNTF5dzRtcGlmNjIxaUJOU25hTWt4WHR3MXBJa0NZOGNlNFNWMVJWc1ViTzN1NFBEdFNsdWVPL1JHcnlEcFNRbnNSa1pBd1lza2ZrY1QwSUljb1ZjbGpDMkRyNmtMVlBzZDdNZEYyN2JQU0hjb0lHM2Q3bU9mYkRQeWxUV3JUZE5reTV1TXNrMXpuaVNQUFFuRklTYSt1Qk9QWEZwQ0thZm1sUDBMNmRXL0RTOXozNzZrSlNremU1VVlWQWxSWkhhQklVaUpXZFYxa2xJMFNTc3NZRkdTRW5KU0RHdVJ1bmdUcENTc3N3cXYvelUxM2pwMlpkWlUrdG9rNkJxaGRTZ25DYlJHcVhhTHJpWjQ5bS9QcVQzM2ZSNjhmcyt6eHhPNzV2OThqUGZMVnF1ZTgwdEwzUEw5MVhvbWV1WE5yVEFvVk5oVEVXVkdyYlZMbTlmZW9mejFTVThub0tpR2FueXVON3ZYWnZmK0xEODBrVTgySWlLYk1TaHh0RkhWcGdVVzR6R2p1RXdaN2lVc0hGa2lYUG56dkFuLzhzL1lYdjNPcFhaQldvZ0RHbUtnTlpnTFlkQkZQdzVZdXIzT1owMjN5MFlCdS9RcWJXV2lqSHJnK1A4cTMvOXozbnl5U2RZR3h3bEVkZ2I3NUhwN0lFL3RzNzY0SFhxSE42QzFNTFM2Z292UHZNaUt5c3JaSytsdkhYdUoxUUlpV2gwTHV3Vk84Rkp0dEk4bnB6Z2hhZS93T25UcDFuZE9FSmxLeTVldTh6clAva2g1N2MvSkNkcnZGVHJqcStHOElQZ1JUc3RVWEJ2VUFqZStjNFBOaVhGT0FQZVk0cncwR0lyQzFhUmtERE1ocGpLWUxFazZLbUZGK0FiQ2h6aWRWM281N3dqaEc4REEyaXVNWVV0TFFySUpRM2syQ3MwaXB5VVU4ZWU0M09ubnVmeFI1K2dMZzAzTGwvbnd3L1BjMk55alRGakVwZGhxNXFFbENmeUUzemg1SmY0M0dNdmNIVHdDTG5Od0FyYUphSDRoYmM0Q1YxU2N2alRuTHhBdHBTSDRnMHJHbG15WExoeGtVdTdsNmdwS2Fub3Fobk8vVDMzbkpNaklnNDlvaUliY1lpUk1zdzIrSVAvNkQ5R0tjZGdLS3lzNW56M2U5L21mLy9UZjhiRnl4OVF1VDA4RlNHdHVVMVlPcmo0enNPSGVTYS80TUFjU1BhRlVGRFZzejNlSXBXVXI3ejZGU2E3RTdDd2xDL2hiSi9MOUJYZm9JbTF2cjIvQ0VWMi8rYzVlZXBqYjBQUWtxQWxSRng2WnpIVzRwd256VEtPcksvenpNbG5HQ1JEYmw2K1JVa05CbzR1SDZlcWE1Wlk0Ujk4NHovaHExLzhaVTQrOWl5NUdyS1NIZUd4UjA2d3ZyU09Hem0yUjdjUWZFTXpkVk5pSUNQUXlyUWpvS0h0NDcwMFNmY3ZsQmNRbEJNY0xxeFJhWlJvdkFQZC9NdlZnTnBaTkxvSmlmRGQrZ1JCZHlxdDd2cW1aLzZwcnNlS2hOem5UVnBjeGpJclRaL1NZSmwxOGxWKzdlVmY1Y1RScHppMjhpaEhCa2ZaeU5ZNXZucWNyTWpZbkd4MkJTWk9aQ2Q0NWZTWCtlTFRYK1RvMGpHU1dxT01SbHVGZG0wQkNvOXZKV05wTCt2RlY5YW5aYjkxdDNZdmQyNi9ZNjZkZ000eWRzbzkxSnBtViszeG83TS81SXE5U3QzODIvOGcwVnZoeC8yamlvajRqQ0lxc2hHSEdBWlVTVkZ0TWluSGxEVmN2YjdEZC8vcS8rUGRzNitUS21teUc0STV2WWhuWDBoY0pMUjN4NEhIeUpFUE5FV3h4ekJkNW05KzhPLzU4aXRmNGRSanp6UGFxdEZhWVNTVURKNU5BSHVBY3FVbFNGMUprcUNTSllwNlREVXFrTktoQjVwbHZjYnYvTW8zZU9xeHAvbld0LzhObDBZWDJCdE5XR1dkdi9mMS80QW5qejNOV25ZVVZ3cmx0a04weXRxUmRaNTk0Z1hFQ3g5ZWZ4OE5HRXlYWmU3YThBTUlTV0tmQUNzczQzQ01HV0V4RGUwTU1RQjVrak9wSmcwQlRSQVVaVjJTa25iQkJlRUdNbzE3WG5SV1BRNXBESi8yaCtFR1dpNE5nWFY0TkFsUHI1M2lLNS83SlU0Y2Zaek5XMXRzM2Q0aWtZUkJOdVQ1RThjWW1DSFhibDhIUEk4dVBjb0x6NzdBeWNlZlpzZ3lacS9HVjZIWDBsMTdMYnA0ak9iOHFmMXM4cERBQVh2RkNGbE9HYmt4NTI2ZDQxb1Zpa2g0WmVhZVQxWHZlWFMvUWhzUmNaZ1JpV3pFSVlaamJUM241dTBMbkRwMWl2UG5QK1IvK3BQL25uTVh6d0tXMm9YQVBDWFNXQlFSZjhEM1laN1pxN20yK1FTdDNsUWNaYmtIb3BqVURvdmxYL3cvL3hmLzhELzdMMGd6VGVVS1FJTW9sQmQ4NnpyYXFFUmVITktWYXoyTWNCaGpxYjJRSklvc3k5QjZtYVJVV0RFa2FNYmpFV2pQNlJPZlkrUHZIK0gxbjd6Tzk5NzVMamtaWDN6bVpWSTdvQjdYb1F3d09VS0tMUlJEdmNvemp6N0g3NzM4RFl3cWNGSTJWY01VbmdRaHdRa2hBZXdPZytSM1NtWVNENlBSQ0tVVU5SV2loZElYWEx4MmtWdTd0NmdydzlHbFIzanV1ZWZZV041Z3ZEZEIyNFFzeVZCV2czTW9CZjNzLzZrQXFMcnRld25KYTJFYWVHTTc5VXJBT3BSUDBWN2hTa2RLempPUG4rVHg5UlBzM1JpUit3SHJ5K3Q0QzBWUjRKUm5mYkRHNlVkTzg2US93Y2xuVC9Ma1l5Y1JKMVM3SmNvcFVwVTJ6MDR1SENkQ0tNeURCQzh3TmhWTHg1YTVkT3NTNzF4OGx3bGpFRXZ0L05RcHcwOGZld0tOVjhIZEJSN3kwS3FJQndYeE1vNDR4RWlBblBabmVuVjVtZDNSRm1taUdRNXpkbmEza2JhSzBvSmlCNjB2YUVRZkIwVmN6aE5aUXV5ZGdtd3BvOXAxQ0RtcnNzSHYvNTAvNEErKytZZnMzQnlUc1lUNEJPVlZTSWdTai9NZXhEWEo3RzJzNTJ3eWk1cjdWZW9ud1J5VW1IWEg1ZWZhQStGcXJnczVtT3pOSis3czI3NTFPQk0rSjBtQzFrMTFPSEZCN0ZPZXpjMWI2RlF4V0JwUW01S2Z2ZmNlTjI5ZDU5VXZ2c0pUUjUvQWxwNnFCdWMxemtxSVA4MGhXeEpHOVUyc0ZEaXFFQ3ZyTlI0TlBndDc1YXM3OXY5dVdmbGFGR21lb2xPRlR4dzN0bTd3ZzllL3orcy8rVEVsSmM4OStSeGYrOXJYZVBLSnB5aDJTc1FJeTlrS3RuWVU0d21EYkZZTEVUKzFaVkNlM3Q5WDM5UzI2VnZqNG1DdHhSc2hRWk80Qk8wU2ZPSHh0U1ZUQTVZSFF3YURKYXBpd21ReUlVMVRSSVR0M1Iyc2NxeXZyNk8xWnJRN2h0cXpNbHhDb1JqdmpjalRkSnJZNU50WVhodXN1N3pDOVJUWm1ldG43cHpQWDMvejExZjcvZjVrcmRuclI4MjFPK0dPN1czZkZmdXZQeXN3b29aMXhROC8rRDZ2Ylg2ZmdnazJxeGtaMXpsamlBZE5BbzNwbUFWUWxrNlpqUXdnNHBBaktySVJoeGlPTEZXa1NjWm9NbUp2dEVtV2FxcTZvTjRkTXhoa0ZFVXh0NHdLY1psZU5UZjUvVGZZQ05oUGFGdnZxTDZIVkxoWlZrVkZNc2l4aFVHVTQ3dmYrdzVmZXU1bGpxMDkwVENBOWpnL2VIZE1wUlNTZXJ4MUdGUGhiZk9BMUZRRTgxaldsNDZ3dXI3SzV2WTI5YVRraFdlK3dITlBQcy9hOGdwN2UzdG95Y2l6TlpKc2dMT0tVVEZoTXRsbGQ3TEgwcW9PWnJLZHBxWnhQcVd0WnRjV2lEMEk3aTdYZGxsTU1LWEJpWVBFTTk0ZFUrM1ZqVHVCWW4xMWc0RWFrcmlVckFtakVLdEl2R0lwWFVKMzU3UlJaRkZOK0hQb20yMVYwRmFHN2ZmTmgvNXBzWWhPMEs2SnJaV1U0WEpLcm9jVW93THhpcTFiVzlpNllqZ2NraWM1emhrZVdUdUtjeDVmQ2xWVm9Zd2lUUklVQ2I2eElIT0V4QzZnYzJONFVFeEpuSGpTWWNaN2x6L2d3dVlsSEk2YWlycjIzWjlvVTQ4Q1RWQmlwNC90dm5tNmk3OTlFWWNmVVpHTk9NUUlWYjJ5Tk1kN1I1WmxqTWE3REljNUlzSjRQRVprOXNZbG9zRXJwc1kzODZXVkhuYW9BOTR2Z0JnYUMxVHdrTWtRakdiQU9pODgrVVgrOC8vMEh5SjFpbklaeW1tOER5UjRSbkdTV2NXcVArMTY0WnUrTkJsNk1wZXA1eVRNWTltdmFIWGJtVnYvdkNLci9IUTkvYWs0djIvOTdSU2dyc3NRVWlCSjhKZ2xGRkJ3Tm5qUXJxNHRjK1BHRFFhREFTcEpRQnhKa2pDWlROQmFrU2tORm1vRHhuaWMwdWhVNFZSSnpaai83VS8vVjV5YVVGTVFnamNrREEzN29MQkpQOTV6MFNuYWw5VTRlMDdUVkZQVUZaVXIwRWtDeW5HN3VvWERrYUNwcVZuUE5saktscGlNQ3NTM2lWd3B3eXluckNZenh6ajRJTFJiNnYrZDdZZkZZVEVJbWx4bGlJTVN3d3JMZk9tSmwzbjF4WmR4dFdObHVFSmQxRmhyV1YxZXBpeExScU05aHNNbFVwMWhxbERVSkUwMVNpWFVkWW4zRnEwMTFqV2V1cjROTFZCeklRYXFpZUFGMnlpeGkxVFkvckc4MDRqQW5SVFpSY3VIa0l2MlR5Z1V1bWp0djVRSDdYdFdXYzF5emd0T29FaHI2cVB3WjMvOS8zTEJuUVVjMjJ4U0M2akdrOWVWZ2NTcVJwRzFLR3dyMDRvTFJEWXlnSWhEamtoa0l3NDU1c25XUnlHbDgzR2dFWXR4TjJNbjEwbzlnY2pxSWRhQUp1WEpvOC96MGd1djhBZS8vNGRzM1JqenlPcHh6TVFGZ3lmSjJMcTl6YU9QSG1NODJRNWhCaEtJUkZqclhCaUlCK1VEa1ZVK2xMeVNOa0ZIVGNPZVhVTUFQa3JvUVZpdjZ4Uk44V0c3L1drL2x2T2c5dm4xenhNWk5kYyt1MzFRVmtqVEhDL0N1QmhSVVpLdDVHeFBidkhPaDIveHI3Ny9MN0FVT01vbVhjNWhsY2ZoY2M2aEpYaTg3bGRlVlVNa1hmZXBPV05oMjIyZit2M3JXaGV0TGZ6Zk04OENBaG1WenZOQXVxVTkwK0g1NERmckczc3UxMXZXZC84MEtVc01tK1N2QWM5bXovQ05YL3NtcTlrYTJpVW9weEVuTThkWEJkYlhJM3BUb3JwdlBNRzNvUVV5TGVmYkhJbjU4OXRmLzh5MTlGR0k3Rno3eklQRTNQTEtxeTRVd3lpb1ZiQUhjOTZqZmFoc25CakhNTWtvUjJPOENFdnJxOXpjMldHdktsZzl2Y0czem4yTDkyNi95NjNKemFZc3NjZjBpYnBuM3pucmVpU1J4RVk4R0lqMld4R0hISDd1OVhHWGlUZ1k4OGQyLzdIZm5Xa0FBQUFnQUVsRVFWUVdtWDVVV21OZElCTTdreDEyTm5jNWV2UVJubjMyR2ZhMjk4QUp5OE5seWtuTit2SUd4V1NDVWhhaE5mUjFlR21MSlV4ZkhVbnlkR1JKKzRhQXdEMG43MGxqdmlSZDZWeG1wdnVzanhhMWYxVDdwR1ozaE9sVXZNSWJ3ZFFHN3l4b2g4NkV5azE0Ky8wMytjc2YvRHRzNDdoUll6Q1VWSlJVbUZEdFN5d0dneEdERlF1cFIxSWc4WWdHcHl5VkszRmljZHBpcE1aNWk2VU9NYndKMUs3RVlIQ1l4cTgyL0I4bzUzVHF1aGJielc4d09LbHhLdlRIU28yVkdpY0dweXkyZVJrVittakVZc1ZoRXdjWmtIbFU3a040Z0xPa0ttV0pRZGhUVzdOM2RZL1R6enlQOGhyeEN1V2tJWDh0YVE1cXRNejhMZnM3bm9jV3FsbEhkdzMxenk5MGlydTA1MnIrZkM1WTU4THQrdG5wN0x6UzlBT2NDbnZpbWo4bzVSVWFUNHFDeXBBb2pXaEZZV3ZVSU1VUFV5NU9MdkhEcTY5eHRiNUM3V3BtS3F3UlJnYW1wSHJ4MzI5RXhJT0FTR1FqSWlMdUhiMzdvWWhxU0ZvZ24wVTlZYnc3NGZSem4yT1FEYkRHa2FnVWJ6MUprbUdOQ2FFRjRodDdwbWF3M0xmVWRhcnl6Uk5aMVNxbElvc1p4VWRBUjJRL3lVMzlFL2lBQ2tLZVpmaEdMYlJZUklOT0ZHVTVZVzl2eExYeFZTd0dqYWFsVDRLUVNzSndNRUJwalFyV0FWampjRGE4ckczS0x6ZGh6WjUrUmJXbW1obWh1dG1VWlgvOHFSNmsrR1FCMit1L0dtaE5TTlRDWXl1UHJ6MVN3Y0NscEFUWEFvV3d5aHF2SEgrSlgzLzFWeGlvbk1RbEpDNlFQdVY5ZVBDUXVZZVFPNStXQXo4ZjVMeTFpTnd1V3M5ZHQrc1hmdzhockVZQUx5RlV3RXV6T1I4SXUvYWd2YUlzQ3ZJOHhTYWUzV3BNdWo2ZzFCVS8vT0JIbkNuZXAzUWhENkF0bTl5U1Y2MzFvUy9CR3hIeFVSQ0piRVJFeENkQW13RG11eUhiVkNVa3pURDB6ZTBiU09YNXdvdGZSQ3ROT2FrWjVFTjJ0bmRaWFYzQjFhYmhPOU5TdGkxWjh5S2RjallsQkhPVVFOMjdsOXBuZ2NnS1FxSVVTYXB3emxLYm1teWdlZVRZSXp6NTVKTzgrc0lyRFBTUTI5YzNxYW5JR2JLYXJWSVppNmtOeHRpUTllK242OU9pU1hTQ1RycGFyTlBqMWlPWWZqcnVmRzlUQWU5Y3NHbHU3Vm43TDllRU5MaG15TjRwTUI1c2NDaklTVWxKU0VuSkdYQnk4QlJmLzhKdjhkc3ZmNTFUanozTGtocVMySFJLWXAwMDVMVlZUTzhRRy93UlA5OVhJdHRzd011VXpMYUtzMjVlemdSRjNpV2VXbXBNNWlpVGluTTNMdkRHMXV2c3NZZkJvTFVtU1pKcEtkeTIrdzlLWmx0RXhCMFFpV3hFUk1ROUlpVGJKVG9OcE1hSFlWN3Z3OUF6V0FTNGV1VUtqeDkvbkVlUFA0YWcwRG9QMWFKRUk4NmkvVlM2VTBnVC85b1MyRmFWYmI0VEZ4Sm9XaVZYN3IxQTYvMG5zcDV5UEFFOFdaNkRRRmxOOE5hanRVWXBUWmJsbkg3bWVWNTk2VldlUEhZU1g4TDIxaDRLRmN6L3NXaWtxOU9sRzNjRDV4MUJiRzMzVGhBQkphcXJwdFlGRjM4U3RJZE9taElKS21uNmtxSWxBUjlJYTBwSzFwUSthQ3QrRGNoNWhDUDgrdk8veXU5KytYZDU5ZlNYZVd6MU1US1RrZFFKeTNvWmJVSVlTZUtERzRKcWxHVEJoMFRPQTdwMUdJaXNCMFNDKzBENCs5RWhtYzZIc0JQbHdWbEh0cFJSMklJNk1hajFoQXRibDNuOXdodmM0amFHR2lObWhzRGV6YVl1SXVKQlE3VGZpb2lJK0FRUWpMVWtPbVM4ZStjYXQxblhaTDRyQ25iNXMzL3pMMWxmUGNJelQ3eElVWXc0OXRnVFhMdHdsYlZzMkdUQ1Exc3VOQkNXdnQ0MmUwTmU0T1IwYUxIY1pPRVhreEVlT3BMblNrOVZWVWlpS0NZbEtrbjU0ak12OGRMcFY5bmUzdVREOCtlNGNPMGM3NTMvS2FONmo0S2lTOVlTUEJrYUFXcnFMczRWM3lZa3RWcWcvY1NsbW5PZE42RVJ2bm1Ra1U1ZEZ4VHJ5VExXV0dycTVxRWhZeVBkNExubm51UFVZeWM1dVg2U2djc3A5d3Jzam1ONVpaWGhZRWkxVjFEc0ZneXlZVVBzK2xmQkEzTHlBZHU3a0R0dldxL1FUU0U4MGFBeWpSVkhvV3BLTitHRFd4OXdtY3ZCYWdzejlaVnRQSHVWVXZ1VTJZaUlCeGx0eEh4RVJFVEV4MFRRMTBEaHNTUUppREk0RzBUVFJBQUx1VnJDdW9SWG52OFZ2dkgxLzVCSE5wNWtZK1U0NDgwUkszNkFkb0lYdGMrMVlLcVdoWEhyMWlxcmI1K2ttdTNEM1pXb2cxd0xwRFhLLzVqTHovYVJPN29XTENyb0lCNVdsNWJaMmQ3R1dvdlNHc1NoMHhTZGFhcXFJaDltRkhWQldSZFV4b0FLY2FaSmtrQm1LZGpsK3VaVkxsNjh5S1ZMbDdoKzh4cGJ4UllsSlI3UGtnd3BmRUZGT1h0czk1VnR2UmNFcjlrUVJOTCtINllKS1JrcEZUVXJMUEg4eWRNOC9kUXpIRms3UXBhRWdnYUoxZWc5NFpIVlIwaFVpaWtzWXNDV0RuSEMwbkNJTFp0ekxjRXF6WW5ybkErY01HT0R1cWlnUVl1RENock1GeVNZYis4ei9VV3VCUDByNVU2dUJZdk92Mi9WV0VCNWpYZUNkbnJhS1hIaFFTUXpsR25KcHQzaXpLMFBlT1BhVzJ5empjRlJVZ1k3cmY2K05vcDdKTElSRHdzaWtZMklpTGhIS0FicENtVmQ0ckdBNldJbnU0cEVIcFlIUzFRRktBYjgvdGYva0svLzJ1K3lmWFBDQ3ljL1QzbDdRbUxEY0xqdFZWaHFDV0tmekliRXBKYklCdDMzc0JOWlc5V1l1bVk0SERJWURDaktFbU1yQkUxcFNweHpKRmxLbHFkNHdCaEQ3UnB5cHl4R2pmSEtob1F2RGNiVmpFWWpibTdlWkdkdmh3OCtQTVBlWkkrZHZSM0dqS2lwWi9lSmU2OXMxeWV4bW9RaE9XdlpPa2VQSE9IbzJpTXNMeTN4dVZPbkVhK1E0Q3NWWXA1Rmt5aE5KamxTQ01wcXl2RUU4Y0xxOGhyS0s4cEpnWWhNd3lBaytDYUVSNXBROWhZQTI3T1ZPb1JFMXFxMlBSeUhZRFBYN0pwNFNpYnN1aDJTSXlsWGlxdDg1NmZmNFNhM3FDZ3h6UkVSRmNKRm5OdGZ3VEFpNG1GQUpMSVJFUkgzQ0lXUUF1d2pzakFsczlwRFNvNGpKV2Vkdi9zN2Y4QnYvc3B2a2RvaGcyb0FKV2lka2crR0dPTVlqOGNvbGJDeXNzSmtNZ3JybDFraTY4VDFmRGdQSnJKM3VyR0xkNGozOTVYSUt0K0wxK3kzTjBiNWkvYkZkai9aRHE5cUVCTnN5eHJGc2kyUjY4U2hFZ25XV2RZeXFTYU1KbnVNUmlOMng3dFVWY1d0V3pkeDNnU0NYTmNZWTZhT0I0UmhhcVVVU1pLUVpSbDVucE5sR1ZtV2tVakNzU09QTWtnSERMSkF4Rk9kaHRoT0kyQWRpU1FvMTFobWVSOHN4NXFwOGdweERYbURKaWxNelJCUjI2cnd6WG4zVFN5MmE0cFlLSko5QlFQNnl5OHFidEFucXBiOXg3ZmYzZzloV1VSVTNkejVtVy92cjJjUmtmV0pJRm9oRm14aGNMVkRSSk5sQ2VTYW04VnQwaU1wbDhlWCtmN1B2czk1ZTQ2S0Nxc3NsWXZsdFNNaUlNYklSa1JFZkNLMDVXZjN3d3RrR2RRRlFFMUNRc21JdjM3dEw4bXloRi8vNnRjWmpXclc4alhBc2JsekM2MHlWbFpXY2M2eHVibkpZSkFkdkdVSkpQbUJRbFB3QWVoS3ZVN2J3dmZhZTJnSDhoMjA1V3ZiSVdaSElQcGVPVXhobXNTeGhFd1BXRnRkeHk3WjREdnFIS3V2TEljSEJCdU05TVdGNFc3bEJhL0FsSFZRL1Z4WXYvTFN0WXNJMUJJU3ZDUkJlNFUyVFh5bUpSUXdhSXBZaEdJR2ZycC96WDc1bVdROWo1ZVFuR2JiejB3ZkZteGpXZEIrNTFBZFVUeTBTcVNFR0doeG5tRXlJTTAweGxaTVhFRnRhZ1pIQmx6YXU4eTdWOTdubXIxQmpRMXhzYXFSYmFPN1ZrUkVKTElSRVJHZkZBZmZUVnZTWWIxREs0ZDFOZGRIbC9pckgvNEZSelkyZU9YWlgyWXlLc0ZDdHB5aFNTbnJDZDRyaHNzRHZHMFNtUHgwZmJQYnZYZlhnczhHVk0vSzM0UE1sWFdkSTJpaDJsVDdTVkErbWFwK0RmMXI2NVY1Y2FRK2E3eEpQU0tDYnlWZ0RWNWJKcHZCTlVFY3dlNE1oWWdQVmNFVUhCbXNCWUpzZlRkdGlTeUFwQ3FVOFRXaDBsaHJpS3A5Q0Rob00vQ0ZRR3diU2JYWjN6QzBibHNGWDlxajBGT2NDU3B6T3orZFU4SCtrSUw1OTRjQjNqcThkV2dFcFFDeFZMN0NxZ3FUT1dxcE9IUDlBOTdlZnBjSjR5NmN3RnZRQ2RoSVpDTWlJcEdOaUlpNFYvU0o1T0k3YWwxQmttcE01YWxjalNiQjRiaHc2eXgvL3UxL3lmSDFKMWhKTmxoYlhpWFJDVlZSVWRXR1JHV3M1Q3VVcm54Z0hBcm1FVlRGZ0RDOHZuOUhnME5EZTV4ZDRJbE41YWV3WEpndk9EODBCTFkxM1BJS25RYUYxTHBweUVDcnZDS2U5YVdObWRLcDg4UGZrNjFpcGo4aGJsVkJHNy9xUE5aNXNCN3ZQTGd3anlLMEJ3czExYmhTK0M2V1RmbHBmQ2pTS3NrdHdmVzBSNmIvdnJzT2V2SFg3WEIrdjgvejd6L0xxR3ZMWUxCRUttRHFpbkUxeGlxTFh3WlpnbmZPdjgyNTIrZVlOR2xkT3RWNEd4NEdyTG5mdlkrSStHd2crc2hHUkVUY013VEgxQTJmV2NOTUNjVVNSR2Q0RzlxelBFTW5DbXNMZHNlN2JGN2Y1ZkVuVG5EaXhBbDJkcmZaMmRsbGRYV1ZRVDdnMXEzYjVGbndWKzNLa0RaVnBieDRRRFhLNEwyWm9kNXZIMW02K042MkY3M2l2REl0MXl1NFJvbDB6ZEQ2Tkc1VVBIZ0psbHF1V2FaYmZadnA3NEtuTEkwbnI5YUtSS1VraVE0S3EzVjQ1NmRWd1l6RkdvdXpqdUZnU0tLVFVHQkI2ZUJEMi8vbmZQQ3VFQlhhbGFDVW9GV2JxRFVORW0zOVgzMVRpdGlKYmZhelRkN3J2OEtSVUsxbmJIT0VsQS9GTWJSclBZYWJmVjBRcS9wUnpzdEJaLzZnOHpiL2VYNzVqM1grUldHdFo1QVBVU0lVeFI1ZUdkSmx4VVFLTHU5ZDViVnpQMlNUYmNiVW9UaXc4dURjUHFVK0l1SmhSbFJrSXlJaVBoMElnWnhKVnhjVmxNTFdycm1UQzg0YnFxcG9ScmN0UDczNEp1cy9PazZhSnp5eTloZ3I2MHVnaGNwVTZGUjNTVjBkdkNKRVVFN2pJdzgvcENsUEtndEtycm9tczk0RUpSYTZSQ2NRbkhLSVYxaVpacXg3ZkpmVjN5WWpDYXB6QVJBUnBDR2FwcTY3ZU5lMjNHK2JPQVpnSzlzcHRmTXFwelNrV1ZSWVB4SkNGSnh6MURZc2w2b2trRzVheFRja2E0VjlubFZrdTZDQm1lMkVlTnFRUk5VbzBEM3gzODBaaWUwanRISnZEem0vQ0lpSFRHZTQybEdiQWk4d1dNN3dBOHYxRzFkNDQ5eWJiTEhKQkFmYWh5cHFydlVLYnRYM0dGc1FFUkdKYkVSRXhLZURWbUgwVTBzc1VTbmVsT0NGWkpCUWxaUE8yU0RSWUdyRDkzLzZONHduRTc3NU85L2sxRk9ubVd3WDJNSnlaUDBvVmRIV1A1M0ZnMFJpQS9sdmh0TG5xbFdGVU5SR2lmV2hnSUh2MHhjRlhXcFV6eFdnVzN0Ynd0ZE55YWh2M2d2Z2pHM2lNOVVNNlp1R0dFd0pzZ2dkNFZVcW5OL1NWT0JkY0ZuQUl1MTJtbjlXK2YzcnhBWnkyb1lJdE8yOWFPSGVRbDJjYlovSVN1UHE0SlR0elhyNFFndVNKS1VzUzd3ejVNTVVSOEhsNnhjNWMrRjlybkVWMHlSM1dmSFFKbmo1VURoREswM2xxa2htSXg1NlJDSWJFUkh4S2FOWGs4dVlFQkdRNmk0elJXa1k1Q25qMFlSY0R5anNEbStjL1FGSEgxMWpNTXpZR0I0bHNacEpNU0wxV1ZPeWxqQTBMaDU4d25RSXVyKzlCVVJvNGVCeFAwSE1mYUpLWVdGby85NldEZkFOaVcyREN2cGhHZzV4Ym1iV2Rwc3RXaC9VTG50ZlhFTUkxWXpsazFKTnFkK1c2TFlLcS9JaDNyV0phVzNKYnV0Sm1tVlo5N245emptSE1TRkFVK3VRWWhhS1ZZQlhJWVkyYVFiVG5ac0w1SlJRWWF3bDdxM2FMdTN1TjVOT3JPMnA4WXZTK3NTemI5eCtQclJnL3R6Mkg0S1VuL1dTblcrL0d4YWYrbW1ubkRTeHZBSytIOFBjdWpZb3FDblJBNDliRXE3dGJ2R1RTKy94dmovUEdFdUZ3N2FoRjFtS2lNSlBEQ0ZCTHhMWWlBaUlQcklSRVJHZkt1YnBSci9ZN055TnR3dHZWZUJTRWdiOHhzdS96ZC83cmIvUGlmV1Q3TndZc1RZNGlpMWRVS0MweGhqRHBDeEpVc1hTeWxMak05djZ5L3B1Q0hzZW5YOHA0SHZNUlRWRDk2cEgrbVlVelJseE1GQ1J0bjJlUnN5M2g1bmF4S3ZGNjI5SjhPSjJOM00wZmMvdnR1K2R1cGlJeTh3KzlmMU5PNzliWVhhNm9IOXFidjluNW10OWJwdVZ0TXBndjMvOTlkenArTTczcjcvTnNMd3M3SDhmOCszeis5Q3QxODMxbjhYdGJiLzY3ZjM5QUZDZDVZSnJQRzg5cmxHY25ZRFdHaENjQldNYzFucVVhSklrUTdSblluZHhXVTJkV0c1TWJ2R1RjMi95WG5HR01TVXFUeGliblJrbHRyblVDYVowcW5FeGlJaDR1QkdUdlNJaUlqNUYrTGxYWDIyY2d5S01DU1VlWEJnMjM5dmVwWnlVckF4V09QSFlDY2E3STBKc2JVaEdFaEVHZVk1MW50SGVIbW1pQXh0cTR6WDdXK3JKZGRKSWZ0TE1vWnAzYlluUWRrai9veVlKN2R2V0FmTXZ5b0diWGNBMS9abzlib29GcXFLblVWVURzWk5tS2VtZUNLWXYxZHZ1b3ZWMC9lOWxJOTM3L3JlS09VRTk5OU10ZDZsaHpmZHQvNlgzZmRmL2RybmU4dTM3K2F2cW9QTTEzODk1ZGJWUGNCZWV2L241NzdEL1lmN3BrMGpYYlQ4OUkybVdVWllWcHJaa1djNXd1QVFpMU1aUTJBSTNxSEJEdzgzSmJkNis5RE0rSEY5a0w1UThvR0lDeXM1dTFOR3ZaZGZYN3lNaUhsckUwSUtJaUlqN2c1YVZXSm9FTWNkMnVjMWZ2Zjd2MFM0bHo0WThmdVJKSmpzbDNzREswanFKMGhSRmlYV0d3V0FBK0duaGdLWUtsUFFVelhZSVY0QitwcmVUT0N3YjhjbmdKRlRJRFlxMmFwTHgzTXlEZ2hpUEdFZ1FVZ0Z4Rm1jcjhBYVZPZXJNYzNPMHlRZFh6dkxoN29lTW1RQUc2V2UxemJQNDZTUkd4MFpFRUJYWmlJaUkrNFZXRXZPQUNLbk9ReUlTbnUxYlc5eTZmWVBIbjNpTUxNOFpMQSt3dHFZb0NrUWdTelBTTk1VYjEraCtyWWFwYUxQY1E1eW9kTm4xSDdWTEgrZnpKMWRrL2NMMlQ4cys2cTdmeTUzYmY2NzJVM2Y0L3FQaWJ1djl0UHEvNkxNWE1FcHdBdE04T2QyVjMxVmVVWmVHUEUxSWs1U3FMcGtVSTZ5dlNYT05XaEt1bGpkNDUvSzd2TDkxaGpGRnNOakNZTHlaclg3Ukk3TFQ1TGlveGtaRVFDU3lFUkVSOXdzenJFQ2hrd1F0R3VjY2hSOXpkZXNxMjF1N2JCeGI1L2p4NDB5S01VVlJzTHE4UXBwbWJHMXVrU1U1NG5Xd0kvSnEzM0MxOG8xTHJQUTFyTWFIVnRwUWc4VmQraWlmSTVIOWFQTS9pRVRXQ2RUSzQxUVQ0T0hEQTVVNGFmeHVCVk1iaHZrQVVZNUpWZUMwWWJpUzRoTEQ5ZUlHcjE5Nmk3UGJGOWhoRDR2QjRuRWh4UXZwcWJzejRTQmRQK2Fxd0VWRVBLU0lvUVVSRVJIM0J4NUFvU1RCaTZPdWl1YXpCalRXVzM1ODlqVktWMUJVRTc3dzNCZFpXenRLc1Z0Z1J5UFNQR3RDQ3RyTTkrYTIzbVRRS3orYkdXOWJteXJwTnM2RFVlWTI0ck1DMWNZdisvQStUMUlzaHNwVytNUXdXRTJSM0hQdHhoVitjdUVkM2lwL1JvWGdzUmhxUElZMFRSQm5xZHJ3MkFWY3RTdEQvQXZkdTRpSXp5WWlrWTJJaUxoUFVJMlNTaTk5MytBd09LVkk5WUM2SHZQbXVSOHhHdStpRkh6KzJTOVJPWWNESGxsWnB4cTVYbWxXR3JzbTI1SGIxbDRySXVMbkFlMUR2VExkNUJ1MjAvRHc1TkNaWm1JbVZGTGlsMkJYeGx5L2NaWDNMcHpoL2ZJY1kwb3FQRXFEdFFhd3pRT1lRL2Uyc3lnbU5wTFlpSWlBR0ZvUUVSRnhYeUFJQ1FrMDV2azZGU1FKUlV3UmovTTFYaHpPZTNiR08xeTZlSmxNNTV4NjVoUnJhK3ZjdXJWSm1tUjRVZDA2WnN2TjlwMEsyaENEa092ZFZyYVZ1UkszTWJUZzQzMSttRU1Ma0hCVktTY2tQb1FUcU9EcGhRQldlVnppR2JreEpqZllvZVBTN21WK2VPWjF6cHJ6N0RIQlpBcERnYU1HSGV6Z2pQWGdJVlBkNEVJM1pqQU5LNy9iRlJBUjhmQWdFdG1JaUlqN2drQXdnOCtteCtPODZZejF1eGNlbFNpY2RVektFWmZPWGNJREsydkxySzJ1TVI1UFVGcVRwZ3ByYXlibEdLMFVXWm8wcHYyTnZSWWUxOGJINHJyYnYzU2VTZXp6U1cwV25MNXRmV2o3M3FQY3VmMXVSTTczTXRObmZGRDN6N2pRSjdXdk5zLzRzQzRvS1J1K24rMmY2NVdmN1MvM1VUL1A3Ly84K3J2dXpmVy8rOXJOclc5K2UvUHI1NEQxNzl2L2JnYy9VZi8zOVdmdS9XUnZqL1dsWlFaSlNqVXVxS3VDUE10SkJvclNsMnpWdStSSEJoU0RtbmV1dnNmZmZ2QTZsL3dWeHRSTU1OUVVqY1ZXdSs0cGNlMy9LVFNITU96U3pKNUhJaHNSRVlsc1JFVEVmVUZJeVFvRHFFR0ZkYlB5VXdOdkhYbVdrYXFNc1Jsei92eDVKdU1KSyt0ckhEMXlGR01ydHZhMnlBWUp4NDhmcHl3S3RyZTJXRmxld3JYVmp4cjF6SXR2dHRWOC9YTldaTzlPWkQraEludkFpbjhoaXVTQ0x6N3UvbjlTSG5aWFJkWXYvdjZnTCs2bUVQZmJ4Y1BHMGpLVDNUMUd1N3RrcVdhNE5LU21ZcmZjWmMrTlNEWXlidGEzZWYvR0I3eDMvUXhYN0hYRzFCUVluUGFnelA0K05NNEVNcmU5MmJ3dk9UaUFOaUxpSVVNa3NoRVJFZmNKN1pCL2F5WS9KWjBkTk9EQUdrT1NwQmhyc1JpdTNMak05czR1ajU5NG5MSXVPSHA4Z3lSVlhMdDJoVUdlOGVoang5bmUzZ3FWbFhxeVlFZGttMjNMSEd1T1JQYmpmWDZZaWF4bVdxOGdUVkowbm1Db0dKa3hKck9vOVlTYjlTYnYzL2lBdHk2OXpXVjduUWtWTlFhMEM0VkEvSDZ2MkpiQXpxY2c5b3N5ejFTMmlJaDR5QkdKYkVSRXhIMUNQNGJBemJLTzVqNmRwVTNGVUJlU1lRUWgwUm1WTDdtK2RZMXpaei9nbVZNbldWck4yZG5kWW1WbENhMkVuZTFkbHBlR29ScFlSMXg5TDdZdytNdit2TzIzSXBFOVlMbURPdkF4Y1QrSnJBTEd1M3NzcjZ5UUxLZU02ajNHdmtDdGFVenV1R1UzZWZQY1c1eTUrUUczMktUQ1lNUkIyakxXRUU0QXpKakN6b2NUOUNtcit5aWRqSWg0eUJDSmJFUkV4SDNDN0dCcGwvalUzT01GY0RWa2lTSkxVNHd4T0lRazA2Q0Z5cGJzbGp2OCtLMGZvYlh3OUttbnNNYmduV1ZsZVlYZDdSMTBvanRpTUNVRVhZVHNQUlBJK1QyNDIveVJ5QjZBUTB4a0FaUk9xY1d4VjA4WVVTSnJnc2t0WjI1L3lOKys5N2VjSFoxamgxMHFhcndDeVRUT21tWmxDcXdOeDZDcE5kc25zTzM3dGd6dFZJMjlTeWNqSWg0eVJDSWJFUkZ4ZnlEMFdLdnZidVNxZVNYTkxONTZ2TFU0QWNSaGJJWEZnQmFjcXdISG1RdnZjdW44UlU0OGNZSWpHMGNvSnlYcnEydll5dldJYkNDdTNndWhGTlArcEtwSVpEL2U1NGVheUFxb1BLZjBOU1oxcUZYTnJ0M2o3WXMvNDQxenIzUEZYcVdncEtZT1pXeFRvYmFtR1dJUVJHbkVtaENpMEx4bWtzK1lLMEhibDJvaklpSTZSQ0liRVJGeGZ5QnpMeDkra1BvMzlxUUpEUERRa0lGMmZnL0tzcjZ4d1hpeUI4RFczaVlYejV3bmtZVEhIbm1Vc2pBa0tpSDQxVFliOFUwcDI2YW1xTXd4cVVoa1A5N25oNW5JT29FU2gwdUZPclZjMzczQlcrZC95cHMzMzJTTGJRdzFGUlVvajlPZTJ0UWRpVldraUhXa2VQUk13QXY0SnRYTDkvODRQa2FaNVlpSWh3MlJ5RVpFUk53ZnpBY0RNaVd3L2E4VkNwMXFIQjduZXNzbFFyazNvUTBhU0pWbXQ5cmp2WE0vWS9QMkZzK2NPa21TcHlBZUw2MHpnaWVVc2cyQkJjcXJVRnEwZlhXbGJoVXkwOG5ncWpDbDFhMEprdlRweG5UWC9Oem43bDJydXpYVE9hc3R4V0l5OWZNaXNqTmoySGVaZnhHWG10bjNYdnY4ZnZ3OGlLd0NRdUdMNWl6NDZSUUU1ZmV2dk44UEw4SHJ0YXZGMFV1MDBsNkZjaDJ1NXcvYmROWkplRldKWlRjZE14cE11TEIxa2UrLzl3UE9saDh3WVlMQlVHTkR5VmtGMWszRGFQSThSNlB3emhJZXEvb0JMMm9tSm5iYTZVaGtJeUlPd3ZTdk15SWlJdUlYalRraTIzN3NaMnk3L2l5ejB0WHNxbnhZVXFIUkpBZzVmL2lOZjhESng1N2hpYU5Qa1pnQlpnS3B6Y2gwRGs3d3h1SzlJQ0pvclZGS1lhM0ZXb3YzRnFYRGxwMFlQQVp3ZUN6Z1F2VW1tNEFQQlJMdjVBT3JPbjlTaGZlMjJjTW1ENzF4YTFqa1l6dnZwYnJ2OExuOTgvYTNQNU0vNTMydkg0R005VEhmSG1hYXZwY0ZQcTd6eS9mMzQwN3QvZldyTzdYZmFmbm00UU5VcjkrdWE1ZmUrLzczd2F2WVl3VnE3VUJEZ2tZYlFSbVBza0ppUTcwNFU5V29SR09jby9BVlRudlNRWTVQaE8xa20vZk1XWDU2NVMzT1h6MVBUWTFDY0JocVRPUEc0USs0d2JZUFNxNjdFcnI5bko4MTNxVWpJdTZJcU1oR1JFUjg1akNmcmIxd0JucHFZQ2NOZXJ3NExBNkg0NTJ6YitPZDUrakdVVVFGS1cyUTV5U2ltWXduTEErWDBUcEJSSEFXcXFyR0dvZFNRcHBtZUJka09nRzh1S0NnZVl0MEZRbDAweTU0Y1F1blFLTUkwOWgvaGFuUXh1LzZleGJkRGhweC9paUtyTEJmMFYybzJMTGZDcXEvL2I0aSszSDNRMzBpZ2piVnc2WDNYUnY3N0p1NDYzQWU1am9OZU9Vb1RSM1VVaXVJQStVVWlRZnhZWjIxTWFTRGxHUTV4V2RDUWNHZUhiRlQ3M0xEM3VBNzczK0hEN1kvb1BRRkJvTlBQTFUzT0R5aTFCMGVSUGFuSGtaRVJOd2I0ck5lUkVURW9jV0JRK3dlaEpRbHZZcXhqb3dodi9QcTcvRWJYLzA2RzhPajJJbEhiTkJ1dlJlOEUwUlVwNU41THpqbjBCMVR0SGdzNGwybnpJTENPeFZpZDczQ1lXZW1YbHlqR0U0VjEvNjBNNzV2T2ZHaXlsYy9SMFVXWmxYWk95bXk2b0QremEvL1RuMWUxSzRPNlA5SFhaNUdrUTJjMWM3c2h4T0hPSThUUDlkLzIyNmQyalZxdkZNb0ViUnIxdU04RGt1U3A0eXJQY2F1UUFhQ0dpcHVqamI1MlptM2VYUDBObHZzVUZBQ2tDUkJtUThWNVVBcE5TM0lFUkVSOFhORFZHUWpJaUlPTFdhVXh3V0JtTTViTWpJc2pndlh6blAyWjJmd1dGYlhWMGhTUlpvbEdBeWxMYkcrUnFXYU5OZDRiNm5LRXRYYWQ3V1Nxb0M0YVV4dEYrN1FNcnFacVorMkNWZ0pCTk9LRFJxaWdQTDdMY0ErMXY1L0FrVVdQcm9pZTdla3FudkZKODVoRWo4TnplaGltRjJ6WDlPQi9WYi9sSmxCZkdHb2x0RXVBUmVJcnNQaHhGTXBRNmxyOXR3SXQrS3hTNFpyeFRYZU9QY1RmdmpoYTV5dnp3Y0NLMkNWUTVya1FXdHR0M2F0ZFNTeUVSRy9BRVJGTmlJaTR0QmlKbmxud1JlSlN2Rk9vVW5aU0RZb1RJV2dPYlYyaXQvOTdXL3cyTEVuR0dUTGFKM2lhb2N6am9RTWhjWVpTUHcwSWF5Ti9aUmUzS1dST2d4aDB4QWg2U3VHUWJWdEZWbEhXTDVWYkJXUVdOV1V5WTJLN0QwcHN1RWJRUEMrVmI1N01jaHp4N0svZitJMG1jbHhUbEc3R3RmRXk5ck1VbXREclNxcXRHU3IzT0xLNWtYT1hEN0RwY2tGSEFhTEpjOEc3RlJqTEl1UnBpbDFYUi9RR2hFUjhXa2hLcklSRVJHSEZwcTVwL0c1SUZEbkhZbldlRzhvWFluRHNxS1hHQlU3L09EZHYySG45ZzdHMTZ4c0xETll5a0I1UEE0VWFGRTQ3NllWd0pxcytDQ3dDb2gwVGdqaXcvdlEzaG9ueVRSV0V6VWxWWDdxaDZEYVRQdDd4TU91eUU1amRJV3BBMFE0SDlJNFZMUk9GVzNzYkF2bEZXSWJBcHlBNU9BSFFwMGJ4bXJDcmhwellmc2lyMy80T2orKzhtTnVtZHM0YW1RZ2xGakdwcDVSZ2RxRVFSRUpEelZSalkySStJVWdLcklSRVJHSEZycFIzdHJxUi9NTWJqQklLU1kxNG1HWURoRUR4anNFUlVhT1JmSDQ4aE84Y1BwRm5uanNCTWZXajNGMC9SaTVXc0pYa1BnRTdSTEVhNVRSSWFUQWhaaFl4T0V3T0RIMDNRamN2RVluSHJ3MHZld3Bnb0IyRW1OazczRjU4ZjFrc2ZiNEV4NUVRdUF5M3RFZGZ6OS8vRDNOQXdnNERTYTFqQ2k1VmQ3bTB1NDFiaFkzZWZQS1Q2Z29FVHcrTjFTbW5IbG9ra2IxVjAxaWw3VVc1OXhkejF0RVJNU25oMGhrSXlJaURpMTBrMC9ma1VUb3BkRUhxRkRSRmxNMVByV2kwS0pDZ2hjNXdiSkxrVFBnbFJkZTRhc3YveEtQSHowQlJwSEpBRzBUdEV2QktiUk5vUEVXRmNCMWlWL3pSR3ZXVktrZmN0Qk9sWitOMll4RTl1TVRXZTFhQ3k2NkI0aCthSWZyM2Q1c0V5bmJ0WXZEcWhvcmxrb3NFd3B1akRmNThNWUYzcnR4aGkxMmNMZ21GcllHYldaT3EyandWVkNEVzl1MkZscHJraVNoTE11Rit4SVJFZkhwSVJMWmlJaUlRNHU3RXRuK0wxenZsNjV6RENCQm9adFhnZ0JEbHZuYzA1L244ODkvZ1pkZmZCVmZDY2ZqQVRZQUFDQUFTVVJCVkZRYTVUUXBHWm9FYjhBN2gwYndObXhiYTQzV0dnQmpYTWhldDFOMXJtMFhFYXgxV0dzZ2FieGt1VWNpZUFDUjdQanBIRkg4dUVTMkphcjNTbVFYdmU5L3B6OEdFZTRyblNLQ2xnUmZXTkpHRVhYaU9nOWc0NElQY0pvbkdHT29uVUcwSWttU3hrM0FVRktnMXVINjNqVXVYcnZFdVdzWHVWemRZRVJCaVdraVlSMklBWHd6N2NFVDc1NFJFWjhCUkNJYkVSRnhhQ0dvWG5EQmd2Q0N1WUlMSFZxQzVnVkJrd1JMZkN5dUthZVE4a2gyakV5R3ZQVDVWL25xSzcvTW8wY2VweHpWakhZbkpDcGxiYmlLTkFiNjFscnF1c1pVRmhFaFRWUHlKQ2ROVTJ3ZDJrS1JoY2E1d0hpc055UjVzSW1DU0dRWHRUc1hIQUhhVjdkL0lpRmhybFpndzBPRDhRWXZrS1FwK1NCRnBZcWR2UjBrRWJ4QVpVcktzc1JpeWJJTXRReC84Wk52c1cyMzJSN3ZzT1AzR0ZOVHQ5cHVwckIxMVlRbUVOd1JQSURyVkdCUGpJT05pTGpmaUVRMklpTGkwRUk2cS80RGlPeWQwQ2hxN1RxRzZSQm5ITDZKb2RWb1ZsbWp4clBFQ3A5NytrVmVlZWtyUFAzVTB3aWFZcmZFN0pZTTlKQmhQaURMTWhLVjRxekhHWU16bnJxbzhVN0FCVi9SUktVa29oRFJXS214VWtVaWU0ZjJnNGlzOXg2Y1VJK3I4TkNRNStoVTRRVEt1bUJVVHFoTVNUYk1NTDZHRlBKaGhnTnUzcnJPejk1OWwvZUtkOWhoaXdrakxLMVRNSmgyeHhJRnpqYlhpZW91TGlHTUJBU3pMaHZKYkVURWZVWWtzaEVSRVljV0Mrb2dITnc0LzUxdmZnQ2JhYUlURWttd0p2aVJKdWpHaDBBelpMbUp3TlE4dnZvRXI3enlGVjQ2L1FVMjhxT1lTVkJpRTBuSXNnenhRbDNVbEpPS3RlRWFDbzJnR3hzdndUdUhyejIxcnlHeGtjamVvYjExQU9qSWE5UGVoaGtzRDVlb1RFMWQxOVRPNEpWSHBRckpCVFRzbFNNazlVeXFnc3MzTG5IMi9GbXVtV3RZTERVVkkvYW9xRU0xT08rYkNteHRERzNiTWVnS0x6UmpBRUlDVGZCQktKQVJFUkZ4dnhDSmJFUkV4QU9EUmR6VmMvQVBYWklrV092eDNuYkxxbWIrUkNVb3I3QmQ4bFpDUmthZURuRlc0WjNseTg5OWxlZE9udUxaWjU1amFiRE1aRzlDWGRhc0R0WllYOTFnYjNPdnNYblN3YmZmQlY5YUxRa29qM01tRXRrN3RDZEppSEh0d2pKNnlxd2wrTDdXdnNUNlVNZ0FEVllaakRMVTNyQlg3dkxCcGJQODdQSTdqQm5qc0tnbXhhNmtvcURDWXJ1aUN1MkJhemFCYjhWV3J6b0syMTRMWUJwRk5oTFppSWo3aVVoa0l5SWlIaGpNRWxtMWNKNzVIendSUWFsbXlIck8rN05kZ3hLRm9IRmVHcFYyNm5RZ0NHdDZuUmRPdjhpckw3M0trOGVmeEZTV3ZjMFJHOHNiWUJSaUJHODhZaldwU3NpYStObWlHRS83Rllucy92MXIzQUJhUjRBMldRdWdwcWJVRlM1eGFLMnBwV0p2TXVMcXJTdGN1SGFCNjF2WHVja05MSVpVY21wcVJuNFAzd1FGOFArejl5YXhsaVhubmQ4dmhuUHU4TWFjeHhxeXFsZ1RpOFZab2tSU0pFVktsTlMyN0lYaDNubmhiYU1OR0lZWEJyeXdqWWFYaGxkZTJZWmhMK3hOb3cwYmFNR0dtcEphSXpXUUlxa3lCM0VvVmxZeHF5cW45L0s5TzV4ekl1THpJdUtjZSs1OTk3MnN5aUtaVEZiOEV6ZmozWHZtT0RIODR4dTF3WVVramlkMGRyQ0tTR1NWaHJERVVUVXhjckdtRFY4Z05KQk5Dekl5SGlveWtjM0l5SGgwc2VMTXRaQ3F0bVJqZ1hWMFE5SVdwU1FHMEc4bGNaSk1EbUtjL1NNalpXRUhETXNSczBuRldJMFpEQWJNNW5NRTJHVE15ODk5bEJlZWZvRlRXMmNZNkFFak80NG1Cb25RQmljbzBWaGxUb3dqdTNTdjcwTWlHeU04eE5pc1dtdU1NWWdJZFYwejgzUDBLYzN0NlcxdTNucUx0Ky9jNU83a0x2ZjhQUTdZcDZiR0U2aXBjQWdlaHk1QURSU3VFYUt0eUFCQ0s2TVZWSWlXc3F0TG9FNHcyN1dydGtFRU1wSE55SGk0eUVRMkl5UGowY1V4UkxhVm1yVmhQNWVqdWk1Z2pDV0lJN1NpTjVYSTY3cHJhYkJhNFFUaWYxRG9JY0hIUkFpdEU1Q2hTSGF4aWwxOWlndG5MM0R0NmxOY3ZYeVYwMXRuc0thTTdMaUdBU05NaUNHN09nSVhXbE9HbHFqcTN1K3EyNi9kdG80SXE3UmRSSmEyTDRocWl2V2dRRlJJS1hqamMvUlR2T3FVK0dIOTl1V2tCQ0pIVS9SS3NqdGR2ci8xeEMvdUc5SjVrcm1GRG9RUUxWRzExb2dLMUhYTlpETGhvTjdubTYrOXdyMXFuejMyY0RUSllTdXEvRDBPUWZBRUdoVWpHblFjdEcwb2pRVXhrSWlzUmxCcmtzNTJDVGZhaHFCNlcvSU1tcEh4VUpHSmJFWkd4aThwZERmQW5UelF2VU9KMnRxVDZlVzBweTNCUzc4V0ZIaDhaNHB3ZXVzTVY2NWM0Y3FWSzV6Zk9zL2x6Y2NacWpHRk5vUWd1TG9oT0tIUUJZVXBVU25pZ1RpaUJER0pVQTB4OG9FT0tReFVqNlFxaU1jUk0xZXA5dmNneWJsTmtLQVFGY0JLUjJTWEtYOHNuUXRyZnhkUmFJblBSMWc0WTNtSnRxdytVVXBqTFVHMWhGWTZzdHJlczlleC9rVXJWTkxhVjJIT3JKNHhhNlpzbmRyZ3NEcGs3OTVkM3I1N2s5dDNiM0ZuL3c2SGNzaWNHVlZIV0NQYUNBSWhHUkRFdjhQeDBTekNVZG5yY1hiV1I5ckMyZzBaR1JrL2IyUWltNUdSa2ZFemdyV1dFQUloSENYTEJTVm51Y0RGVTVkNDR1b1RYTHAwaVoyTlhZcWl3RXFCd1NCZU1Nb3kwRU9zc2lpSnFuWmZCOFJKSkpMMENHd3JtVTZwYjdVc0pLZFJZbXk2NndjVmFKcXFJNWJyVUJURlV0U0FmdlFBZ2tJNWpaWm95NG9CWlhRMDBVaWs5SEE2SVVwK1E1U3VwcHRSS2hMcE9nZ3VOSVRnYUhBNDVYQ2hZZTVuVktIaXExLy9DeHFwbWZzWmMycm16RktVMXlocGRVY1RBbWRrWkx6UGtJbHNSa1pHeHM4WXJYMG54TmlvM25zTWxnMDJNUlJKYWlpTUdMRTkyT2JjN25sMnRuWjU5cGxuS1hUQm9CZ3lzQU9NTVZIcUc2S0pRYWtHYU5FZHdXeWxyNFNrOGs4MnNpcnEvQkZQajR3R3JMVW4zdmQ4UHUraUJLeVdBSVV1WXVTRkVBamlxSjBqaU1lSGdCZkg5cW50U0RsRllxNnNFQWdTYlY0RG5zUHBuTU5xd3Q3ZUhXN2Z2Y1d0L1R2c2NadWFwZ3R0NVpQVTFhYzZBa0ZwQlZxb25NOFRXRWJHK3h5WnlHWmtaR1Q4ak5CNjJNTlJKeTRsbXBJQnJaNjZOVkpRYUN5V0FVTXFxbVNVb05uUnU1elpQY09wVTZmWTJkbGhOQmh6ZHVjc1JtbTB0aGhqS0hSTWcydTB4bUNwNnhyZG5UdWFBMFFpR20xcm5YTkppcnZldEVCcnUyUWJLNktXdnJ2ZzAzNGE5RUl5aTFaQTRPNjl1OVJOeGVGMHd0Njl1K3p0N2JGM3NNZWttbEJUTTZYcUhPNGswZm1Bb0Fnb1ZMSjc5VjNadWxkSlZ1MW5aR1FrWkNLYmtaR1I4VE5DVVJTZDEvMDZHS0pFdE5SbEp4ME5UY0NKQXhTYmc4MllJY3czT055U1JhNU9xWFF0aG9LU1FURmdOQmd3TEdOb3IwSVhYTGx5QlkzQ0dFTnBCNVRHWXEzRm1BS2pOSnVqcmU1czY0aHMwM2hDY0hndk5FMUYwM2ljcS9FK3hzQ2RWaE5xVnpHcks2YlRRdzRQRDVuTUQ1bjdpb2FhS29XbmlnUTBKRXErc0NFTzNjY1RrcHVXOUVpdDRCYkV0Ui9vdDBXME1zakl5SGdmSXhQWmpJeU1qSjh4WXF4YTNYM2F3UDVhYTVxbW9hN3I1ZjNicUFYSHhNS04reWhNVDk0S1lMR0pMS3BPb2huM1hUNHZ0UGF5WGFSYzFoSFpnZ0dSZ3JaV3FYVGJXeXZWUllwV2hTYkcyVzFkM2h4MU9qWkdFNGlRM3YvOTBGWjAxeUtGUXd1dGM1M3VmVnBTSzhDY1BJTmxaTHpQa1lsc1JrWkd4czhJclYxc20ycTFEZXpmb2VkSmI0enVUQkhhTkt5cng3ZU9ZMjBFcTlJVXFLQ1N6V2xZSXFvQVF6MklKZzNTeWpnWGlIUzNkZjVhRGNrUXl3WGxqTjkxakplQVFpTkF4WlNXaXJiN0x1SUd0RmpRWDVWSWFFdmt2UTh4bWxXYmlqYjA2bVNsZm83OEptU0piRVpHUmlheUdSa1pHVDh2OUtXeFNpbWFwbG5tam4yMGtzalErOTdicGpSSXc5SUlybEZMVGxuU1M0alFXdUxHditNMzZjanFlaUliaWZGUlFydll2cERIc29iQ2FrMHZqaXpMSkxTOWJQdFp0YjR3Sy91MWtONW5PY0JyUmtiRyt4Q1p5R1prWkdROFpFUUpaMWo5Y2JsY2g5WFJlK1g3Y296YnhmL1Fjc0J3OHZudmgzV3p4enBDZnR3K0R6cjd5RXFaa1pIeHZzWEpzVmN5TWpJeU1uNW02TnZDcmdva2o4dUFkU3p1UStyQ2l0bUJFQlkycHcrQ1BwbTgzem1PQ25PUG5tZnRjY2ZiQ0VmazlMQVpHZTkzWkNLYmtaR1I4UkRRWnZ1S2Y2c2pqbDBkUld0VHdCNUQybzdua0tza2NCMHBmQThTMlY1MnMyVXlldFJwN0VRSmFqOE43d3BXYlg1N1YrdzVpV1V5bTVIeGZrWW1zaGtaR1JtL2dOQkxaZ0JISGJuYUxjY2R2ZnA5VlNqYVFWZ3ZNYjFmZWNLZEw1V3RWUFVFTXRzUEtuYlNVL1J2WW8weFJrWkd4dnNRMlVZMkl5TWo0eUZoMmJUZy9yUnNXV29idW1QdVA0aXZrODRHT0NFOTdUdkNNUmMrS3VTOW40bkFPOFd5cERkVDJZeU1qRXhrTXpJeU1uNUJzU3FGWFpYU1FsaGt1WUxqSmFqZGRuMWsxSDl3eTRLVFNlVDY4eDRuVmU0YkM2eGU1d0dFd2hrWkdlOGI1UEVnSXlNajQyRmdYVlNDKzBZaFdKYklMbVc4YXZjL2tjajJmaGU5eGpMM25hTk5LSHNzRXo3UmhPRFlYZFlmZEp4RFdaNjlNakxlOThnMnNoa1pHUmtQQyt0Q1ZjbWE3V3NJbXh6eis3dTYzczhTRHlvbVdVZGNmNTczblpHUjhVZ2hTMlF6TWpJeUhoWitGbExHa3lTeVI2NmpmMmFtQlJrWkdSay9EMlFpbTVHUmtaR1JrWkdSOFVqaXArVkttcEdSa1pHUmtaR1JrZkZ6UlNheUdSa1pHUmtaR1JrWmp5UXlrYzNJeU1qSXlNakl5SGdra1lsc1JrWkdSa1pHUmtiR0k0bE1aRE15TWpJeU1qSXlNaDVKWkNLYmtaR1JrWkdSa1pIeFNDSVQyWXlNakl5TWpJeU1qRWNTbWNobVpHUmtaR1JrWkdROGtzaEVOaU1qSXlNakl5TWo0NUZFSnJJWkdSa1pHUmtaR1JtUEpES1J6Y2pJeU1qSXlNakllQ1NSaVd4R1JrWkdSa1pHUnNZamlVeGtNekl5TWpJeU1qSXlIa25ZaDMwRDczZW8zdC9TL2JXNnZnaHJqeEVlQldoVzd6OGo0NmVIZDdNV2Y0L3RVSzE4RjFEdlFSWVErMjg0ZXQ3bEhkN3g3YXcvdE5mL1ZOcWdlRlFHajR5TWpJejdJaFBaaHdnRkRBZFExNERFNmNiWUV1ZmlMRE1jamFpcU9TaUhTcE9Sa2pSMUN3UUZvazZlazlRSnM1MENRb2puUE9sNGtmZzVDVnFEVWdvSjdRVTFTaWxDNkUzWTZYeGFMMjdLK2RVVEgwY01NaG5PV0lVRzFXc3Y3NGFjcWJCRVJCVUs2WjFBZ0tJb0NIaThjNzNqRnBmV0dKUlRxRFdVVXFWLzRjZ2lWSFdsVjRLbmprMWVwNHYyZGxjYXluSklOWitEeFBzMDZYbEZCSVZnZWdlRWRHUHRhYVM5MGVPZUh6S2h6Y2pJZU9TUjErWVBFUXBvT1oxV2dMSUVLUWxpa0k0NWVzQ2xNc1JqaUJPd3BGL2pwS3pmZmNuSlVwMmo5NnZRT2hMVTloT0NRL0Q0anBDMjV6VVlZd2doRUtmVlFKQ2paSFI5NDFzMythNGNtMXR1Umtkazc3T2E2emFHUlprYWZsa01jWFdESUJodEdBd0dpQWl6ZWJWMEJtc3N4aGdRaGZjZUh6d0toY1dtUHFrSXlKSFNwTjVxMEFRRUJUUTROQXFQSitCeHl2ZjYrM3BzYkd3QU1KbE1GcitOaGpTejZaS0dKblJFVmk5WGlWcnRlNW5JWm1Say9ISWcwNEdIQ0FVTVMyZ2FFTkhBQ0UrQlVTT3NLYWxjRXRVcWo4YWg4Q2lKMDVaR2QxSVhVWUdGQ3ZIZGxHRHVRMldkdUJPMmVoUU5JS2drZ1lVb0xXb2xVVm9wSUtDVUlKRjJnNG9TWEsyaFNvK1lrZkh1c1NLUmhXUGEwbEVDMjBJVkdoV0U0S1Vub2RXVXVtQTgyS0NhVlozVU5rcHNkZmU5cE9EeTdrV3N0WXdIWXdiakFhTnloQzQwaFM0SUtvQW5FdFltTUt0blZOT0tlNU43ekNkelpzMk1BKzR0K2dvS2hjSGpjZFI0QXB1ak1mdXpBeUFnZ0MwTlFRVkM0MEhBQ0N0RWRvMGtkcjM5MGtyZFpHUmtaRHlheUVUMklhTzBCWTBUWU1ERjgwOXljT0J4M3FCMVFkMDBETW9DVkpUSWFnSktRRW1TUWdGQkJORVAvZ3IxZmVheHdXQVFyeE1DM251YXBxRjJOUTRIT0JSeklxRnRKODRGaVcwbHNRdXBja0thV0kwQjU4a3RNT005b0U5bVcwM0RNZEpIT0txQzZMRkFoV0pRakZGTzhFSFFHQXdXZzJGYjdYQnU5enpuVDEvZzR2bExYTHB3bWQzZFhhYUg5MUFxYWlwYWJZV0lkSitpS0RydEJTejZrWE9PRUFMejZZeWJ0OS9teDYrL3hwdHYzK0NlTzhCUjRhS3Nsamx6QWc1UFFMUVF4TkdxWmJSUlNDWDBuajUycGU0WjEyZzJNcEhOeU1qNEpVTW1zZzhWR2lpd2VzUUx6MzJNZi9iUC9qTTJ0eTRnREJpVUc2QXQ4K2xoSXJLQ0lxQmJJcHNrczE3OGcxOWVCWEJoamRweGdhcXFFSkZ1OHEzcm12bDhUbDNYT0RmbmxXLy9IVGR2M2VESFAvNFJiNzcxSm80b1l0MFlqQmlPU3U3ZHU0dlFJRGlFS3RyYjlzNS8zOGFYVzJmR2llaExIbnVtTThlaDM1NVUraGpGUUE5cEtvZEdZN0Jzc3NYdWVKZVB2UEF4ZGpkMk9idDFudTNoTmdVbGhFaHhsUktHbzJpS0VFSWdoTkQ5RFZFek1aL1A0NlY2NWpndDZkVW9mT01wdElaQzRYWGczbXlmMTkrOHp2ZGUreDZ2MzN5ZFBibExSWVdqd2VQdytQaDg3VnJXclhtZWs1NWJUbllremNqSXlIalVrSjI5SGlvMGloSVhERldsMkQxMUJXTzIyTHRYNFJxRktFSDhBRlJKdEhvTEtORkVBV3pyOUhFeWtUM1o5aTZBZDlIYlM5VGFjbGhzZGQrRGVJSVgvSmJEdTBDUWlxZWZmZzVVZy9lZWUvZjJlUFhWSC9LTmIzNmRyMzN0YjdpOXQ4ZGl4dFdBWlRCUUdBTStORFFOK1B2Tm80OVdpSWFNaDRFK2NYMEhKRmIxdjR2RkJJMG5ZQ2twS1hqeTNEVSsvUHhIK01Eano5SWNlc1oyekliZG9sUWx5bW5FQ3lFNVpNNE9wZ1FsYUZHSWhrSmJyTFVVMm9KUm5OaytTeE1jdm5iVXZpRTAwVEpXUzNUNzJqUWIrTWJqNXc2bFBhZUxVK3c4dHNNSEhuK0dtYXI1OFp1djhwM1h2c04zcm4rYkdkTm9lU3RScXJ2UWVMQk1ZdTlEWmsrME5Nakl5TWg0eEpBbHNnOFZCV1d4UzkwVVBINzFPZjdGdi9qdmFWeEJWUmsyTjA3amcrQ2JSRFNUV1lGbUlaSFZRQWp0aFBhQUNEVW4yZEo2THlnbFM3OHZ2bnNrekJCeEtLVXdWcUcxNEh6TmJIWkFWUi95di81di96TzNidC9nclZ1djRaa0ROZEVVSWJCa1ZmQk92TTZXV21wZm9acnh2c2NKSmdOdHVRZzRzSEJJTEJrQm1oRmpubi9tT1Q3eG9VL3d4T1VuQ1pWaWV2ZVEwK096MEtSdTBvQUpsZ0tMMWNuNVMwY2JXSHkwSnhjbk5LSHBiR1B4RUZUQVlCQXRVWkpyRlZiWktKR2QxUmdpQ1JiajhjWlRVMU9waGxyVnFDRWMxUHU4dGZjMlAzamorM3ovMVIrd0gvWUlCSWJGaVAxbXIyZDdIdFlUV3VsL2RGcFd4djRja3UxdFJrWkd4cU1LQS94WEQvc20zcjh3K0tCQWxadzZmWWt2L2RhL2d3OGwxbXd3R0c0eU9helJwZ1NsVWRoa0MyaFFXQlFGWUZHaW9xTVZ4ZG9Tc2JRbURPdEtyUXhLR1pRcTFwZkVFaXlJUnNRZ29oQXhnSUZna1dDUllGQ1VhRFZBS1FzUzcvRkxYL3d5bHk5ZlFXRTUzSjh5cnh2YWVFTjl1OW9PSnhGYXRlNUxub1l6V0U5a1YwaXNUb1lEQm8zR1VsQXlab3VQUGZZSmZ2ZHovNFJQdnZ4cjdKUzdWSHNOekdHNzNFVXFRVFVLTGFZanNDcEEwelRSeEthcThZMUhncUJGbzVYR2FvdFc4VXFGTFNoTWdUVzIreDBQM25sQzR5aFZFZFZpQWtFQ0lha29DbDB3S0VwQ0hRbnJ1ZDF6WEwzNEdCZlBYS0tzQythSERWV1lJMGlLaHRERzhPbzk4TnErcExvb0M5RjlMY3N5TWpJeUhtMWtJdnRRRWRYdFlOblpPY2RuZitPTEdEM0NPNFgzR3ExdHRLdERwWGl3Yld6S05FUEpJaTdsWWhJN3ZveG1Cam81b2tTbkZOV2FIcVR2RXBJRFdVaG1DYUs2N2ZFTzlPSzdLTFFVR0lab1NnaUc0QXloaWVUWTZpRk41VGx6Nmh3Zi9mQW4rTWlIUDBxaEIxeC85U2NFRklZQlNtbktRWW56MFE2NEtBeldxaVFKUHFudU1wSE5XRVliaWF1UDBYQ0FkeDZEeFdLd0ZKaGtSSEI1NHduK285LzlqM24yeWdjNVBUeU5iUXBNVTFLR2trSUdhSzlSWHFORVJkTUJrZzJzOG1BRWJRM1dXTFRSb0JJUmxZQVBQa1k0VUpFcXR2K0NoTzV2cFJWS0s1Q0FLRS9RRXFPUGFJa3htMFVJTG1CRW80UEd6d1BHR2M1dW51ZUpDMDl5cGpoRG1NSmVjd2VMN1I2OExJZjRrT0lYV0JzRFJTL1gwZ3FSaGR5SE1qSXlIbVZrSXZ0UWtUeXVsV1YzOXl5Zi8veVhVV3BBQ0NwSk5SZGlGWlVtbXhUZ2lqWU11K3BVNi9KQXBlNTBycXRwZjlUaTkrTzJvOUVoU29aYmlTMllSWW1LRTZzWHZCYzJ4dHRjdmZJa2x5ODl4dUZleGExN3R3a0VuRzhZRFRld3BxQ3VhMElJakVZRlRYT1MyVUFtc2hrTHFEWENmUVM4RXdvS05vdHRpakFBTkp0czhTc3Zmb292Zi9iMzJBcW4yWkp0aG1wRUtRT01OMmh2VUVHanhhUk1JR201R0VPR0lDb2c2VytVcEJCNGlhTDJ5OVhQeW5hVklrRUg3ZU01a2E0M3EzVFY0RUVIZ3pTZ2FzVkFEZGt1ZHpnMTJ1WHNxVE9NaGdOdTNIa1RDQlNVTkw0QkVjWWJXelR6NlpxYWltUEhnc2htMDV5TWpJeEhHOW5aNjZHaWRkWklDUStVQStYcDdGR1Y2aVV3U0dHc0ZHaEpxa1FGOTAyNXRUWkdRT3YxMFkrdnFlTTEraVVyNWVyMkxzRkJqMFZJL3pLYWF0Wmc3QmlOUllubndybFRuTnE5eU03V0piNzJ6Yi9nejc3Ni96SVA5NWpOSFR0Ym04eXJPU0xSZmhHYUI2blVqUGNSVkc4OUkrMzZLbjFYeVpCZ29FYTRKcURRWEN3dTgrbGYrUXd2UFBkQnR2UXV5ZzBvL1JBdElDNkd0L0tTRWhSb1NWcU1RRkF0NlV0U1ZaVWNMMFBSdTZRc2xhdFkzZTUxd0t2UVJWc1FpYUcwUkFRVkZFcWd3R0IwUWVFTlZkTWd6cU05N0pnZHl0MkNZc3N3SEE3NStpdGY0NjdjWlVBQkRLZ09wOFRoUFlVMVdKSlVaL0tha1pIeHk0TXNrWDJvVUdrbU5wemFQY2R2ZnY2M1VXb1F6UW9vRWZUQzBZdUFRbExFZ3VTQXBXSklyaWdab3VmczBTdVJ4WGRXUytubC8zbjNwZTdrd3VtY0xZdFZDMGJSTkM3R29oWEQ1SERLZkY1VEZtUE9uYnZBdFd0UGdmSzg5dHFydUJCd3RVdkhCVUlRSkp5UWgzNUpPcHp4ZmtWTWpkejdJVFVKbGV4aFN3WUlDb1BsNnZoSlB2ZXJ2OG5IWC93a0F6YTQrOFkrTytVcFRMQW8wVWdJQkduYmNOU0NTT28vSFFWVlBTbW1XaWpwVWUyK2kzTDFzM1o3ZDY3MGU1TFQ2bVRLWXpCWVl5aDBnUkl3UVNNdTRLcUcyWHlHS1JYWG5ueVNvUzY1K2RhdG1GSVhSMEFZRkNWTkc1VkVMVmRSMjIrUEk5MFpHUmtaandxeVJQYWhveFZoSmtMYVFna3FMREp3ZFpSTkJaUzBoTFkvRVIyWHdVc2Q4L3ZxOXZaZSt1VzZlMTNacmhvMERlMjB2N0RGalJnUGg0anplT2NaRm1PMGpoN2dncUUwRzN6K2M3K0ZLUlgvNWl2L0R3ZXp1NUZ5NkNIT3o3SFc0cHc3Z2N4bXlWSkdST3diN1IrdE0yRzBIVFVVdkhEaFEzengwNy9OdFF0UHNmZjJQZHpVY1diamZFeFFJRld5RzQvZS85SFdOaTB5VnpNako4Ly9GdXVTS2Ivem0yN0QwaTA5eFJLY3J4RThGa3RSR0V6UkxoQWJDcWNZbVMwT2J4L3kwdU1mWkZ5TytjTy8rUXFlVzVTTU9Xd09NV2o4bXRUUWJkS1NUR016TWpJZWRXU0o3RU9GNmlJU25ONDl6eGMrL3p0b1JuaG4wS3BFTUdtL2FFK244U2lKa3M5V0l0czVZNzBYRzlrSHZYc2xLRldqbEtNemsxQ3RqbmR4SGVjY1dtdUdneEhHR0txcXdmdUFMU3pseUhMNXlrV0NGMzc0Z3g4UzhBUnBBM01KSWlkSlpUUGU3MURxcUhWTlRQUWFYYm8waGc4LzhWRis0NU9mNS9GelQrQW1nVENCa2RsZ1hJNm9YSU5USGllT29GUDcxWXFnSElLay9oYWRMWlVrMjNSSkRwaVlYdjk3Z0h0dnkzUytsbzNybmdEVmFFVUlBZWVhMkMrVUJ4MmlhWU9HUWh2bWt4bEtORHM3TzR4R1ErN2V2TU05dWNmQ3RReTZTQVlyMTg3SXlNaDQxSkVsc2c4WnFuWG82dExPdG1GMFZFcEZHNkY3OFI3YlZMWHZqWVl1enJ6QXU1WElPbEFOblExdGFITm5RaHYyeTNtUFVnYXROZDc3bEJITU1Sd09HVzhXM0puY1kyZjdOSi82MUdlNGQ3RFBuLy9sSCtGVFd0c1lJNWVGRlVGR3hnckNrYWJhU21NTkdzT0xUNzdFeHo3MENTNWR1TUwrN1FscW9qaS9jNGtoWSs3czMwYkdRcU5xOEFHbHdCcURpSTlSTzd6SEtKMnk2U2tRazlacFVTTVNWRFN3NmRCRkFEbW0vNnpaYm56YjUyTkVoR2d2dTlEUUtLTVE1eEh4T1BIVVhoQW5LQzBZTVRDeG5CbWY1YzdrRm9qd29XYy9SQlVxL3UwLy9Gc01jeVljSnBleUJIWGtGakl5TWpJZWFXUWkrd3NERGRLRyt0Rm8wWGlJSmdUSjFsVko2eGdDY2lTLy9Bbm43ZEFub2lxRzNrcm1ERnJBbzFNcDZLQUlpbTdDMWtqOFhXS2dkMzJFWExiT2FlMDFvK3B5T0N4eEx0QTBVWDFyVFVsUmpuRjF3KzIzOXhudGJESTUyT1BLeFd0ODRiTy93MXMzM3VKN3IzNExneEJVV09TV2IzR3NXZXo2MUp0cmQxY3M2a3oxNjI5ZFBmYXlKNjI5RGIyeUw4djNlOFNVZDgzK1MxaHNWeWZ1ZDl6MWwwMUgxc1dhK0dsYUZ4K05IYkdtRGxPYlhUMW0rYmdIdlBoUzBIK2RKTEVGQldOS1N2N0piL3k3V0Q4Z0hNRE84QlJLYSthVEtRN0h4dGFZS1pQRnlWSUtXUlNJanlsbmpiSGQrVnVUbmhpV1RxZStzZWlIQ3pPZlhvSUNXWmdHQWVpZ1U5aTdsSm1QUlVJVExUbzVmZm00SnNSVHV3YlJvSzFCS1kxMkh1OGJ0TllVdWtTajhkV2MwMXRucUtqWXYzMlBEMXg1bnNZNy9zMjMvd2lOeFMvWnlkTTFnRGJCU3Z0LzZQM2Z4N0h2YU4zaVVsYTJyeG1iVk84YWZaT1ErNTF1M2FXbC8rWGRvaHVyN3RjZjF2Uy9CN2puTlllL3B6S2lIei80dUhFaU9qcXU3Ly92MVR6cnVERXo0a0hIbldQM08rNWRyOWw1ZGRmbFhkcng4VGlUdStWeTZkaWYyZ0NXOGROQ05pMTRxR2g3aEdWNzV4SmYrUHp2b1JnVFhJR1dRUm9vUGRIejJDSEpGaldJUW9nT0txam9CS1lRU0dwUWtVNWNoR3M4d1lOM2dkS09xT1lOaUdZNDJLUnhUY3p6SGdMaWlZSGRIU0FHVFlHaWdHQW9peUZXMnhqRVBaa0pLQkc4Y3lBbUpzOFZnNkJSd2JDUUxJTnZIQklDV29GT1hqa1NQRnFCdFpaQk1XSzZQMGRSY1A3TUJTNmR2OFNmZi9YUEdOcVNPc3hSdU9oVDAvOTBWYWRSUnNXRURkSzZzQ3hjMExvaGZ1M3hKaEp2bzlMZkJTZ0xsUEh2TGdGRlFHdXdSZHkxSGJpaXpOeWc5UkNGUVNtRnRoNVR4Tk5KNzdxcUlJM3RHbU5MSk1Tb0UxcnJKQmxiM056aS92dC8wZjBWMzNYN0dIcHByL2k3WGlwMU9wTWxFcUdXUkZpbE1WWkY1NmJWdW5rSGlPK3VKSGkzdUJjVkphRXRLZXcrUU90d3RLeHplSTlRb01aMGZvWkRNOFJJd1lBeG0rend6Ly9wZjhxMm5HTGt0eWg4Z1RTU3VLVWd1cUVKRlI2UFFtRkVvUUpvcHhBbjZHQmk5aTJ4dU1Zakhvd3BNTFlraU5DNEVQdVVIaUV1OWpNZjBvU25vOFFVM2Rxd0IwTHRrY3BUVXJKaHh4aHZxS2R6TURXbVVGaGxFQjlBRklVdDBjclFCRWN3Q3AreWh3VVJCSU1XZ3drREpBZytWSmhDNCtlTzJhUmhYR3l6T2RqQkJjQXIzang4aStGNFFCWG1GRnVXNE5JQ3M5UW9MeGhzU2hTaGFOK2VTVzJzLzQ2T05vL2taYWZiZHl6cmQxWW1ldVIxc1c0Vmh0QjlDNzJUeHJRckdoTjdWR3J0Y3VTY2lqYTRYMnZab1ZsdXhMMlAwc2QvdXFlT0NUTG9ydHhlZlRHVzlQdGRXdXZFeDE5emRZNjVtK1VlMmZiUzVlVm9hNTV0MGtuV2xkSzdaa0dCb1VpdWpmSGNiY29QbzFyVHREYVQyK3JvY0hRWit1N1FobGxzMytiUitqb2F6VHhwRzlNL2F3MUtTV3hHdmJyVHZiOTdGYmo4V1cyVTZYVmJyVEJHVTJpZHh0cjJpUmNmNmQ2R1RxZUxaV3gvcExvazlZejJKdVRvUzgzNGhVQ1d5UDZpUVJJcFU2M0V0TFU5YlZXTzdYNlJraGlCeGNyeEtNYmpNZDRMSVFTVWpkcVpyd0FBSUFCSlJFRlVVaFJGRVpNc0tLRzBCdStxUkc0VTFpd0dtYmJqVmsxRlZjOEp3YUdVVUpRR28zUU03aDdTUkhhaVJIZ1pmV21NRXMzazNweGh1WWtLVUtpUzA5c1grTFVQZllhLytkYWZvTkhIeXd2NjExUUJyWFdxTytrRytrNW0yZkw2dFN2cFpIY29zVTZSOW1qcDZqdUVrQWcrbmYyaUFyUXhoS0FSQ1FpT3BaeTd2WUZPV2dHZFhuUTN3YlBzZzdOY2g2czFHdC9HUXNJYXNTNjlhQ3VKanFXeEJkNTduSVRPUVZBVGcvZUxVK2pGWE5jMXIzV0pLRlNhRkVVazJXdzZuSE1zRGcrTDhGZEs5MDdXZThnanRxenZIVkxIRTFtakNjNnh5MmtjOFB1Ly91OVRWa1BLWXJDSVNpQStyWGNjdm9zWVlGSUFnWGpQYmFsVCt3bytzREhlUkVRNG5CemduR013S0NnR0Z1OEYwV0RMbUwzTGEwOFQ1bFRPMHpRelBJNXFXbk42ZDVmdHpXM2NyS2E2TjhkVk5jTnlnNTJkTFc1UGJ1Q3BNWlNJMHlneGVOR1kwakFjakptNFNWb1VSVW11a2Ric3lLQkUwWGlQTWdwTlNhbEtyQzh4dnVEMDhEeFBYM3FHNzcvNWZkNmV2Z2tXbXFucjZxMnVRNklobHBoa3BjMFI1anN6aExhR2xsN2RDbkhvYTErT2Y2bXBOZXRJSVF3S0c0UmdpSVM3MTZqWEhyNkdjM1h5TWxFRUhTWGtuUVI4cVZUSC9KNm9uRXBFSlVtbkYyTkVldi9pajl5VDdyWGpQdmxhN1l2OThhYmRIdGQyQ3FNc1dnV0VFTWxwVW82MXBqTHRtMnFKL21ycGlmdDcyc2d6b2ZldTByZ2duYXkvMnhhV251YW5JVTdzVTlYN1MzY1hlMmlFa0JMaExOQy91L1o5dEF1V2RabzFaUlVFV1VTb0RJczZDVUJoQ3dDOENDRWt2VW55NFZpV1NLK1c3L1NKTW40UmtJbnNJNC8rUU5JZllXTVhuRXdPOGQ1anJhVm1FaU1CZUkrYkh4QjhRMmtUYVRaUlRoQXpmamxDbUNGQllVb29pb0xCWUJzSXpHWXpadk1wU2d2Rm9JaFNwUGVBdW5hY1ByM0x2WU05Z2hNMk43ZjU4cGQvbCsvKzhGdmNuaHdRRXkwY0g3bEFVdVlpU2FOWWxFdEl0M3RMMUpSYURJWUJ0UmdoMjVWOThQRVAwU25iV1ZRNmVkZWVQNTZuaTV5cllucGZMeFVnYUN2b0pJa1ZXUWlyckNtWlRXc1FpMGpBaHhoS3JTd3NJUVFhdjM0UnNxcm1YVlY0UVR0UnJqakRwZnRzNzdkMkZRREdHQXBqVWNwRUV1cWpnNTZreDE2cTAzNHowakVzRlQyUC9tS1FobzBnaE1iM2RvWnVZYkFxN0pGRmNmeXk2d0VnWUFiZ0pvRXRzOG5Nei9uazQ3L0tTeSs4UkppcUJTTjRRQ2lqcUpKWmpMYUtqZEV3OXFWNnptRTF3UllEblBLRUp1Q29RUWRVQ2NYSU1DeExSakprTnAxdzk4NU5WS1BaSEd3eUtrZE1xbnZNRDZac2JBMEo0ckRCb0l4Qm5NSDdnRFF4OTUyT2MyNWNhcmFMcUxDd254ZWxDVDdLbDlyMHViNzJiSlZqSHIvd09COTg1b1BzL2VOTkNqTm0xa3pCcEhXR2krOWlubUkxUy9kbVRpS3QvZS9oNk4vcmVKRktURlVCRXVQMDFpUkN0a0ppNHluQytxN2VMWkppKzJ6YmtPN1lXbHFNdm92U0E3NXRxMGZhNjZLRjl1OXBWWlBRbDZlMmZYYkozS0ZkRTZlOUpYM3gzZXEyVndkOXlTTXFNZHVWN2IyVmhRaTQwS0J4S0tXUy9DTmV1STBjSTJHMXQ3WDNxdGErcm5lUDVmT3Zuak1wUzdweWVkRVR3S2JuVEVLQzlybEM3em03UXZXYVMvdDdMWXY2VGYxRGE2TFdVQ2xxMThURndTcERUcmZzL2VLNG8vZmZ2dEdWT1U2TytUdmpvU0VUMlY5cUJBWkRnd2hzYkE0NU9Makg1dWFBT3VXSjF6b1MzRGJza0VqTXZSNGtSTktuaGEzTkhlN2V2YzJ0TzNPR2d4RmJXMXRzYlkrb2EwZGQxOWkrU084QlVCUUZaVG5FT1VjMWp4VDBpY2VmNXNNdmY0US8rc3MzYUpYaFhZQ0cxWUdqTndLcFpQTzBVTFJIZnRvT2dvdkJWQ0l4VTJFeEJrdUk0ajBKSFEzMlNOU0s5Z2ZCZHM0V2cvTWU4Q21XYVZyeHR4ZVJLRFZ4NGxBVWpJZWJLS1dZenc0d1J1T2JtcFl1SHlkVmJjZGZTVU5wTnlHa3NYK0ppTXZLNGVrM1l6WGVCYnozTWUxdmtyY1pYYUMxcG5iTm1zRjRNWEJiWGVERkUwSmtoT0tKc1VrVGpyejlWYlhib3RKWlVJOStQcnFGamVpRFFCdndVN0FZOEladHZjUG5QdnQ1bXNZenNodUU1cVNaWmtVS3ZtWlhyVFh6YWtwUWdlR3dCQXV6WmtJZ01Od1pVRnRQd05HRWlzYlhUT29KKzdmdnNIOXZqOGxrd25nNDR2VHVLUzZjT2NmV2NCc1ZoQ3JNMEFQTGFIdUl1RUNvSXEwYTJnRldsMVJWRThsemNHZ0xJbEh0MlVxSyszZGRGa084OTBoUWFHVlFEaW8zeHc4Y3c0MlNGNTk0bHUvKzZCVnVWMi9INXBJSWp6Ymd2TVJGUng5OTBzVEszLzE5K3ZVWDZEZldsWDE2N0xQMyswbnJpLzdhNXdpcFR0Zm95ZE5YTHI1YzNwZG5yS3FJdStkZUp1Y2lDM09HaFVXcUpxenJ2eTJ4WCsyWHErTGI3cU5YSHJ3dnlrMnJiNlVXNGxwSmJDOUZkQWxJUndiWGo0L3RzeXlXd3ovZCtNRjkxdG56S2VoSlVXVzFIYlViL09JK1Fyci9maDEzaHlRTkJDVHRXbXBQeGhSeHJTQzlVVEtFbUdvOVdvY3YwRjljOU1kTldUVFB4ZTBjbGRBdTNYZkdMeFF5a1gzVUlUcDF5S1RPN1dmckl0QzRDcVVDemdmZXVQRjl6cDA3UlZGYWxBa01Cd1Z1UG8vT0pjRVIwakpZS1lVMlVlSjRPSnN4SEJkc2JHNGlvcWlxUTVwR0tPeVFqWTBSMWF4K1Q3ZGZHRXRUMWFoa3d4bWMwRFNCVDMzcU0vemxWLytZV1pnUnBTaXJLdW80S0p2MDJNdmpTNXZDTjFyWnRlbzQzWkhaWkxPbjNCb0owUElzM2tsOFZWenBLNjJTMUZvaEVoZ01DcXFtV3BxWnJRYXRDNUFDOFNtVlJhV29wRUtqRWQ5RXRhNVYxRzU1cUZ4S0dhb1c2dnF1WkxsYytyU1ZzS0lUTTlwQU1DaDBwektYb0FoQnNBeTdlbHBnRWJncE5OR0dkS0NIR0dNSXdlRzlqK1lwV2hhcXdkVko2c2hNQkl2VXhWSEJ2TERGZUVBaUs5RXVkaVp6Qm1xQUY4OFh2L0FsTmthYnFJcTQwS0pnbGJCMmg2dEZkOUdyYlNodHFMMWp1REVFTFV5ckNiUHBGRzFnT0I2aWhwbzM5OS9naDIvOGdGZSs4d3B2VG04Z0tSbUJSVk5FRnRxOTl6UG1GTTlmZTU0bkgzdVNyWTF0aW1BNVZaeENuRURqUU1OQWc5YUtnUzF3S3VBa1lNUXZ1S0lRTTRxbFBxQnNpWk1hNTJDZ0ZVWnJqRmY0S2hDVTU4TE9lVjUrNmlYKzdmZitpRTIxd2RSWEJBS0QwUWczbnh3MWhCV2RKdmQyZGplTGlsa2xmRUVuU1pvQzVkRmhzVStRMkFzbE9iREZOdXFQRXVYMEhsdjB0UTZodmM3cXdxakg2YnpTeURHbUE5Ri93S3o5UFpadXlZeEdWdnNSTEpzTDlVUjVVWCsxUXNoVnYrSDNqd3RnRE5yRXNUVktEejFhTE1wWlZJaTJ3RWNrZnljZ0x0UTl5allMR2ltOTE3YllzWWNWRXhCSnY3MG5jdFpmUElRVlNUM0w3L3JJUWtmM0ZneFJncXFWd3FJdzBpNVJVclk3RnZiU29Sdi9BZDlhc2FadFhjc0pDQnFEalJuMGRDRGdFK2xuc2RoZlhjaklmY3BqZHM5NHVNaEU5cGNXY1ZBWmpVb20wejErOE1NZjhqLytULzhEZFhQSXZEcGdOb3RtQnVQaEJrb2tTZHlpZXR4YWpiVVdZd3FlZS9aRm5ycjJMQjk0NWtWMnRzK2h0TUZZVURyZ2ZRcTk5UjRVeGQ0TDArbWNvaGhRRkFVK3pKbE5EM2pxOGFlNWZPbHhmdkRHWFRTR1FPaUVEbjIwYXFpNGltL2RWVm9MV1FNRWxMaHVYNFZORWxjTEFwYTZOOEFxRmtRcmZ2ZHBnRmJwT2xxbHlUMmhxcXZ1N3hpQ1ZLTkRpWWh0NlF3R2paVUNUNVFjam9jYkhNenZNQjRNTzlWLzk4N2c2R1N3VG1LMEtpWHJEN2c5cVhCbzJvRytyWmUycHBiY1Mzb25TSXVaVkJZeGZnUXVPSHhTVStwMEhSdE11cHhIaXl3TFg5ZW9qU09CYU85anhSVG1BYUNBYWxvelZtTzhLRjY4OGdMUFAvMENOS0NWeGJtQVZVZmJaZ0FXWXUzakVWVEErWnFCTVRoeE5GSXgzQzRaakVyZWVQTU52dmwzMytUcnIzNk5pUnhTVWFHQXdoUVlvNmliT1pNUTM2M0ZNbEFEM3ZKdmN1djdiL0cxNy84dG4vandKL2o0aXgvSDE0N0JlSUNxTlUzbENmV01nUm1pdFVhM1liNkNTbzZCSGkyS2ZnanBFT0lmS25sRWFxMFpVcUJGbURtUHFZVm5Mei9EdDc3MzkweGxSb1Vqb0doY0lEbzk5U1NQSFh0c0haSjByNW5wWkw2ekxJRHRsZ2tTMlVHN2orbjFzMEIwYW96T2F1bWE2MGhqNy8wY2tjYjJTVkZZdEYySnFxUDBERWZMSkxkTCs2K1dGb3ZyaUhQWGRWYjdWcnJXUWdMY2ZnOHNaVTNyRTk1MEVwV3VwNTJzWkF1T0k5VWd4ZGxvbmEraWsxR3MrVDVGakV2Y1NIZmJaWTNENFZ6TTQ3YW9LZ1ZLbzR4R2xLSk9tcCtsY2FRdk1YNXZsbUc5QjE5RFlsZkxib3hhdkwvU0RCT1JEMTFWOXAydDB2SWJuWndTRjlxMk9HN1ZITFd4alRYVjRJamtsYUNTTFV2ckZoMmlWS096MVZuelNLc0MvdlNZQzJseGE2S3h6azhoNCtlTlRHUi9HZEIzZkJJTlBYZU4yZnlBSURYT1QzanR6ZThTcU5EVUNJNmhHZkwyL3R2RVR0bXFlQ09oYmIxMmYvaVRiOE1mRzNiSEYzbit1US96MlU5L2laYy85SEVVaHJkdnZNM081cG4zZE90S0taeHpGSVdoYVJvUVMxa09nWVlQdi93eGZ2REd0OU85OVZYUVBac3MzdzUrQnFPR0dBWm9zWkFraW80NVVOSzZPU3lJYnN4RHJ4R1VlT0tVYkJQNTFVaytFaGdYSStwUTRmeThjOFpRdlRTbE1YSUJ5WmtJbEpSQWdXYUFaY1RaelV1Y1BuMkdKeDk3REdWcUxsemE1dTJiUCtZUHZ2Si9jamlab2JESE94VWNSMXE3aHovK281TC83WkFSclM5NkpCNURkalozdUhqdUlyczdwemwvL2tJWDUxZkZ0RlZSVFNjT0VXRTJtM0J3c00rZHU3ZlkzOTlqT3AweXF5Yk1tUk1rVUZEUzBCQndhQnFRRUtWeHE1SVlpTktYeml2anVJZDZONGpodGdhTWFQRDgyaWMvZzNhYXdneW9KelVqdTlFTG9QcnVFTktrYkV2TndmU0FZQnFLRFlNcTRmV2IxL25xTi82S2I3ejFUYVpNY0RSZGU1bjVLZmllZWhYd05IaHBHSm9ZYVdCUDl2aktONzdDVjcveGwvd0h2LzRmOHZqdTQ1elpQSXRUZ3B1a2hDQ0JHQkhDYUxRS0M3V3JMSnRBVkkwSHJWRmFFM3hjY0JnRnBUYUlXR2FUaG5PYlozbng2b3Y4OWV0L2k2VWc0SENOaTBTMlc3OUV2L2NpeGQrTlM0MlkycmV0Njc2SlM5dWZJcjJJenh0VnVlMXp4eWdBOFRpZEV1Y3FBb0ZHb3VxM1c4c3NPWXN1eVBLU3hHeHBuOWIzM2FBb1dHUGc4bzVnQ2NTWUl5MUJkRGlpWTFDUzNTWDUrZ0l0MmUyV1lkcjFuZ01JRmtSMXRkZ3VHUTJMWk40bXRkc2hKUmM0UTBtQnhXQ1VwYlFGcHJCWWJWQkdSOGRhaE9BOExuaGMzVVM3VHp4ejV0emdUZVkwSGFFS1JDMk9PUEFFU2dvOGdwZm9XTFpjcHl3VHRYZU5FNGpyS3JweEtiYXM5djFacnhPUmo3L0dGcU1vS1NneG5HSTMxb3Nwc2RaU21BSnJMVnJacEJVcUVSRnFYMU0zYytiektkTXdaY3FFaGhxTnBxWmh6cHlHSmduWVV3cDByYW5DZkxuNXJBb04xa2hrVDNyTWpJZURUR1IveWFHMVlqUW8yZGdzQ1ZUQWpFQU5WTXpxUXd5ak5NUUtVZFh1SW9sSnFobE5nZEVqOXFZMytLdXYzK0ZIUC9vUnYvbUYxL2prSjM2ZE0rY3Y0MlpoWlpKNWR5Z0swOWs3VFE5bjJGS3h2Ym5ON2YyZjhOSUxML092L3VEL1FOTFFIMWoxMm84VVVDdk5lTGpGdU54bGFMY3dxZ1N4U0FoWUMyM2toMmhqYTVPeXlxRHdhSm1udEtNR0lTWnhpQkVPQXFKcUtqOWwzaHd5bmUwemEyYngrZ3YzZkVRTTRxUDFuTUl3WXB1bm5uaWVqNzMwS3p6ejlFdU1CNXVVNVpEQ0NEZHZ2YzY1eXh1OCt0bzJmL0xIZjhnOHpOTUVDcDJUQ0QxcHlXcTVibER0cER4dEVLVVliS3NOcHJRN09NTmpsNTdndVErOHlHT1huMkJuY3lmWmxXbTBzalJOVEZoaGxRYWowUkp3NGlBNFBJRkNHK293Und2b1FxTWtjSHZ2THRkZi9SR3Z2WFdEdi8zdTE0a1dublZxWHcyS0Jta0piWC9DVklBMFNSTGFFdHIzWUIrTFpzUHMwSGpIWjE3K0hOdmxGc055Zy9yQWdUZVlnU0gwaUt5b3haTGh4SVJjcXQwblVBNUxEdmIzTWFXaUdBLzR4OWUreHgvK3lSL3lkdk5XUzhzSXltT01pZEVyUXM4eDBjQndPS0NhVmpRK090aTFnYTQwbm9xQ1AvL2JQNlY1NGRjWlBqV21MSWRJdGZDcURpRjBEb1M2VXhrTFFiWFJDMktxMm5JNFFCbU5heHkrRGhUR1lteGF1amhoT0I3dy9CUFA4M2V2L3oxRE5Ob0dEdDBoblhVSG1sS1hqUFdJa1JwUVNra1pMRHBZdEN3aWJmYVZ0NktpQksxSVd5T1JDb1JPeXEzUVlqRTZFaWtYR2lvcTVreVlNcUdtaW82T1BWSzFWcmV6enV3aGpWZ1d5M2x6bmlJY1A0MkpITS9TTEpxU2RobnZjRGhxUExWMk9PTngyckZmSFhTa05yWmFTZnVINkM3V0o0VUNTTUJpS0lraDd3d2xGc1dBZ2pGanR2UVdwN1ozMk5yYVlzZHVzTldNR0lUb1dhOVNIT1BXWVVzcGRlVCtZeXJsMkRZcTNUQWIxQno2S2ZjbWg5dzdPT0NnT21EQ2hEa1ZOUTAxSGtkRGc2T1IrTjZXNnZXbkFYVk1IMTZTWkxiRXZnMCtGblZWUTBhVWxBd1pNR2JFN21DYjNZMGRkc2ZiYkpSRGRJaVo5SXdZdEVyWjlDQks0b24yLytnb1RJZ0JQUUplNnZqRXF1SFcvbTJtOVlTN2gzZTR5ejVUNXVsOUJ1cmc4ZGhsODZoMTVnYnRObG44ZWF6d0llT2hJQlBaaDQya0VsUTlZNjEyc0lxZkpNVlNmWVhiOHI2dHpWZm5xZHBmYWlzSXdUR2JUOUE0QWpXS0drbmV5ckV6cG00cFBhbW5Ja3JYYU1OeldTQndlKzkxL3ZkLzliL3d4aHZYK1UvKytYL08zclJtT3Btd3RiVVZ2YmxuOCs3ZWpWbVdsSFQzdHhSR3pHRTFCRkVNQjJORU93NFA1NVRGaUVzWHIzSm04eHkzRGw5SFl3bDRySWtEajlFR0h6eGF4YmllV3h0bitTLy9pLzhHSFVhNFNsR2FZWnh3ZlB0TTBwbitSOVd5UlFuWTBDU1RoVWhpRVUxUUFkR09vQ3VDbW5Qenpodjh0Ly9kZjgzV2FKdUQyU0VLR0pZajVyWERVQUtXc3h0bitmaEhmNFdQdnZ5clhEaDlsVUkyQ0w2STRaUXFqemV3dlhHZVVOZG9OV0lXQW41cEZselhObzUrVnhDakpYanBKb05ZRHRDcE8yOE5kbmp4MlpkNDhma1BjZTNxTlZTd2FER29GSVpLdTliclhWTW1WYitXZ0cra2s1OXBDUVFkVUkxZ1ZLSXJJYUFsY0dFODR0S0xGL25vUy9CN3YvZFArY0gxSC9QSy8vZjNmUC9WNzdJM2ZSUEhsQ2pMaW1sVmRiSWtjS0Vsa0RFdWNwZGY5ajRTSVdOaW5GN3YvVkxiVVNpOGI3Q1VQUGZFODR6c0ppWVkwSmI5d3dOT2pVOHo4M1hMQUJPQmxxVjZGVW01dVpKeG9SSVBJaWtNYytEdS9oMUdXME5DNFhqajF1djgzMy80ZnlIR1VUTkxkTlFSSk1aWFhrbzZBT0JoUHFtV25pOFFPdjFIVGNWUDZyZjQ4Mi84QmRldVBRMmlxYjJqcXVac0RyZHBNK0MyRVRtQ0lxYkpWUXBSOFh0UkZJUVFvMkZvcTZNOWRETHphTU04TlZQSHBUTlhPTVZwN3JCUDdlNUZZYXozS0ZFTUdJQVhmdVBqbitheE0xY1pNYVowQmFvR0s2YUxrQkNJRHBJT1FWUTBIREFodHQvV0J0SHIwQ1Y4ME1GaXRZMVJNbFJBU3MvZDVpNy84ay8vSldmSE83dzl1UldkYTFROCs2S09PcjRhWVMwMHlaWXpTVHNMTEplSzgveitSNy9Nc0M2N2Q5a3ZWN0c2M1FURHB0NWlPcDB5bDRyeHVRMXV6bTR5S3h1YVFjTy8vb3QvVFVsSlJSM1YrY2xtUFNpMUdKZmJ3SzZBTmJFK0xKb0JCU1VGTyt4eXNUakgxZE5YMmQzY3dZb0JEenBvaHI3QVZncnJIMHdRNEV4Z0l3aWIybkZoS0pndGpkZUJ2Y2xkM3Jqek5tL1ZiM0tYTzFSWWhnUnExVEFOazA1SllVWWFmeGhERjBiVEZVbmo1VHVIS1RRaDBQa1NLQlVkSkVOeXVHcE5KVXlLYm12U2VLVlNIVjNtRXBmc0JjNmZQY2Z1NWhZbWFFSWRLSUxHVkJybFlsc3lvbE5vdklWcEI1Q1dGWEgraW4waUlMcUl5WFMwWjdNY0l4dENPQmVvd3B5OXczM2V1bk9UVzNLVGV4eWkwTXlsSmlBWWJhaWxpV1oyclkzRENlanJQak1lTGpLUi9XVkU2OUFBTEdhRFZ2cmxpV2xsMjMwYldqVjdoeFZwb05JTkJDR0dNcDhCaGg5Zi93NS85ZFUvNGFWblAwUFpxQzYyS05BTmlpRUU5QkUydG9xK2UwZFMwYU83OHV5cDg5dysvRWxVNFJNSFhEekpwbGVCUkJxSEwxQitnSklCeWh1MEdrSlFxSkNlV3dWMG1zQlVXczByaVVIaFk2NTczUTJLV2ptQ05HaXhCQVVYemo2R3BtQTZxeGpvSVUyb3FPc2FUY0dHUHNWSFgvNVZmdjFUbitiYVkwOWgvSkQ1Sk5EVUdzUXlNRVB3SGtQQXl4d1ZGRG9VUUptVXRUVjA1R2FOdEtRZExSVllVK0JxVHdyTXhPN3dGS1dNT0t5bUtEVG5SaGY0K0VjL3dRdlB2c2lwN2JPeHhwb1kxRjhGRTh0a1U5Z1NXUzBMK1lKcEovaDJrdlloUnJUb1lxNnlLRlcwc2J5elArV3B5eS93NGxNZjR1YWRHM3pybGIvbVc5LytHbS91dlViREhFMEZ3VWRiVHFJMmV6RFMxRDRRNnZ2ck5QdHRxVTlRdE5iWUVHMlFuei83SW1kMnpsSXl3TThEQlFORzVSRFhISldaUk1lL1JYczdua0xFZGpQZUdGS0ZPVTJvK2JPLytWTzhiYmp0YmdKUTA5RFR6Y2ZpaEVmcVREd0pTU0VmcUtpNXlkdjg2ZC85S2IveXdxYzR2WFdhemQxTjNDdzZxbFhWREZGQ1VERWhRaXQ1RDBSaTV3RWtFcXpPSjEyUkp2M1l0OHJTMG9qd3pHTWY0Ryt2ZjUwQ1N4M21vQVV0MFk2OHhITHJqWnRjMjc1R0tTVkRWNktyR0hCZmh3V1JGWlZjWnRMNFlrTFVZSGdkOENwWmI3YlJGVVJqUmVPbHdCTndxbUhEajlsZ1JKZ0dESWFGR3h1ZDZRS3czQWRDaUF3cEtLd3FNR2t0Y21IekRGdnpBUnZWTUI3L2JvbXNMeGpyYmV5MFpHQnExSUZtSkp1SVRMaTdmeWVOQ1czQ2ozUm5PaHpWanFRQUtFWmlyeDR4NExLK3hPWHRLMXpjdk1pbTNtQ3NSNWhLRXlxQkptQ1VwbFFGMmhzNkcrUFc4UGtkbHNaRDRSU0ZlTHg0dEZYb2dXR2oyR1QzM0dtZUNJK3g1Kzd4NDlzLzVucDREUzJPTVVPYzhzeGRneitNYlNoSTZCeDlZYjBrK05nMm5SWldwT1ltQWJ3UG5RVFdvaWdaVUdBUm9vL0FrQUVYaHhlNHZIMlo4L29jVzJxRFlWR2lLazJvUERoUEtTYWF4M2hpV3dvOXI4UVV1U09rOGJxN1V4VVE1UWhLSXFuVmpwSUNSSkFnQkQxbWE3akpxVE83VEdhWDJKY0pQNWkreGx2Y2loSjVMNHdaSWlWVW9jYjUxTC9YYWNXeVBQWVhDcG5JUHVvNG90YnByMWhia3JMd3RvMVk2RWppZUxYaWVhNldkNDN4VngxUW8xUzBCYjErNDN0ODVZLytnQmVlK1NSbHVSR2xRbjRSUEZ4ci9TNVc5eUZKdC9xSTkzemx5bFgrOGZvL0lEUW9GRmJwWk1RUEttVzBDWmprSFYyQVJMTUNGVVpSOGlFdENRc3BQaXhSRXBvR1ErVmJULzRVU2tmRk90VlVCRFJOTldIMzNBNGJhcGVwN0dIRjRoSWxlZnpjMDN6cGMvOGUxNjQreTRWekYzR1Y1K0JnVHNHWXJjRXVwUmt4bXpZUUdwU0VhTHNyQW1JaDJTcmVGeTM3OGRFeHpsQXdvTVFUbU0xckhBWFh0cDdqMDcvNmFaNTU1Z05zYld3bjB3cU5DbEEzSGgyaVZFMkpUY1NWQlpFTnVuZXBOZ3liaCtUdExjbmVlSjBqV2xDYVM2Zk9jRzgyNGVCZ3p1bU44L3oycDMrZkR6Ly9FYjcrcmIvbWxlOThuUnVIMXduTWdZYUNnQTlRVGNONkQvRTFhTnZSa2lRMnFWK2pUWjNsNVJjK3d2WndsMUFKMWJSaE9ONWlORkQ0Sm5UUHU3NXVUNzZCb0VBYmhSZkhqMy95S3EvYytBY1U0R2pZM0JwejUrQVF1cVZhbTZVTjFrMXk3VDc5UFZReTRIRUV2bkg5RzF4NzdHazJ6Mnd4ZFZQMjd1NHhMQWVNUnFQNEhvaUI2R0syMzRDU09IU2JJTkEzbVdoTkVLSUJKN043YzZ5eHpIekQxY3VQOFZmWHYwcGhMUGhBTVNpUm1VY0RBNGJjZU9OTjNPTU53MkZCNFN6R1d3WStTZkVKZUxHSTlqamxlMFRXRW9qU1FZZFBFbVRCQkkwTkd1M2orMnFrSm1pTDB4VlA3enpOSy92Zm9XQkFUY1dKY2kwaDJoenJBZ1FLWlpOTVQ3aDAraExXRFNtYUJ5U3lvV1FnWTBKbEdJeUdIQndlTWg2TnFkeWN0OSs0bVViUWZ0dG40Y2VWQ0d6aElyZTF3SWdocHpuTmhZMExQTGI5T0JjMkw3QWhtNVMxUmMxQlJjc2JsRmVVMXFLTVlTNkJScWUyb2NLN0tvM0FNSlNVVHZDK3dkY0JHb1V0WVRBWXNGVnVjV3EweTFZeDRzekJEbTlOM3VKbXVNbWhQMEJoY2VJSTJ1REMwZnAvcDJRMmVCK2JYNmZWVzVnUkRCaWdFNW0xR01hTU9NODVMcDYrd0tuTlhiYjFOcWZDS1lyR0l2TVF0UnFOd29pbDFBVmxNSVFtZEJxQnRxUWRwNEVsR3lHbG8yWXRTV2E5TmxqeEJPOFJDOEhBUUkvWUtyY0pwV2RXTkd6TXQ3bStmNE1iOHh0TW1GRFQ0R3VoelpFbXlpM2E0ZXF6MzdkMk1uNWV5RVQybHdLdGxLQWxydTFzWm9taHEwd3lJR29IZ2hXRG45Vk91dks5VzZ5ckJsc1UrTnJoYWZqZTk3L0ZyVnMzT1g5NnN5TWNpcWpPTDhzeXJ2THZPeFl1aG9NMkc0dVM1TEVybW9zWExxTlJIZVdUM3FSbmpFTDVsSWNzZWFZcWlWN0F5bHVDYjZQUXR0ZUl4MnBaUS9ZbEVxTWdPanB3aEFLTmcyQ1pIelpzalU0eG04NW94R01ZOE5TVnAvajhaMytIRHo3OUNTd2o2b01ZRkgrb3h3enRCcUh5N00vdU1oeHNSaW1aUUd0TEhOUnE3TWtWcDRtZVpVZ3JrVlhKNGk2YVdDZ3NCUVVqdnZEU2IvSHN0WmQ0NnFtbkdBNUh1TXJoWEVoK2U0SldSU0t4Qytsck55R3MyalpMYjdJa1hYODEzVmZ2R0kyaW1UaW9CWEdCdVd2UXJ1RE14a1UrODlFdjhKSG5QOHlmL2ZWWCtNNFAvNEc3N2phZUNuQmRteWdITUp1dmFSSXJXQ1d4RU50WVFOaGtteWN1UEluTUJVc1I3ZDI4eFBpM2JwRVlZOTB6S2xrL0ZZWE9qQ2RRdVJxbkhILy96YThsQ2VvVVI4TkJ2WjhJVFp1dnZiLytPMWxWdkZpYkJLYk0yYllERHQyTTErKzh3ZFdMajZGcXpYaG54Tlp3azRQcGhFNXRTa2lCRmxUWEtWV1NkQWZsRUxWNFZ5YjE5OTBMWjJtb0VkVndabmlPQVNWMy9CMVFLVFJma29wNkhJZmM0OWF0VzF4NThnciswRE5TRmhNc0pyUXhESHdLTGk4cGNJREdlcE1rWXdGUmlXQ0VCWkcxVGV5bjJudTg5UXdLeStNWHJ2S2QvZTh1YXF3bkpUOFNielQxQTYzaTZLQkZrZ1c0NXN6MldkVGNwSVVoaTdaNkhBRmIyYTZEaVF0WnIxSEtJRTNBakRYT09XN08zb3IxU3M5SnFuMTU2V01FaHFJcDBJd1ljMlYwbVNmT1BNSDU4VVZHZm9TZEdzTGM0WjJpREJhTHBkQVdvMk0yT1NjZ3lpVXppdFJtM2tVcEFsSkRJWnBTRGFORG5STzhkelIxdkVGdEZSZTJMbkJ1NXd4dlRjN3hqemYra2V2TjZ6VE1jUVFxUEVGTEoxbHR6Y0ppTTNwblpEWjJvNEJXY2FIZXBzdTFGQmlncE9BTXA3bTZjWm5IVDE5bFo3Q05WQjYvN3duaUNFRTZlMnVqYk5Ub2V4VVRmU2hOUDhyQjhvVlY3N2VRTkd2UjNNQUkwVVpiYVp5UGpwQWt6WUhTTWJUa3dHdXViVDdKNmRGcExoOWM1UHJ0Njd6T1Q1aFRJd2dXU3lYZ1Z4THk5UFZUR2I4WXlFVDJrVWRMMUZZblQ1Titid2Y2TmlkMjY3WHZGNE55aTlVeHErVXVhWEtKQ1JNcWlrSm9HczloZFp2cnIvK0lNenVQcDhRS2dncUNjNDZ5TENQcE9IRWdqQ3BzSlcyRXdKNHRZeUtiVzF0YlBZWGp3b1pMQTBaSklyWXAvV2czVWVrNDRBZUZTaXYwK0h1U1JoN3hsdEtnTEcyQThRVTBtNk5OWnRVOXRqZE9jMnQ2Ry9CY3UzQ05MMzN4ZDNqaG1aY0owNUxnRlFNOVlEaU9hVWJuMHdxcFlXZ0hhRndNLzZWQ3ZGWlMweThVcW12UXV3ZXJERTZFZ3BMZGpWTWNUaVlZREpjMkx2SEZ6LzR1SDMvcHN4UXlvcTVyOW01TlVBS2owUWFsdFRnQzNyVTFxd2dkS1ZoSVYwUHZKcFp0ck9QN09SbzRmWmthaHFabWR6eW1LSGFvNnpuVGd3bU5yeGxzYkhEbHpDNWYvbzB0ZHJmTzh0V3YveWw3NFNhZWhrSTdmUERVcy9zTFpmc3F6elpiVDlzR0JNWFRWNTVoWjd6TDlIQkdNUjR4TEN5K0NZalRNYnA1bDIvKytLbW5qUVN3MmxSRlJYWDZqYmR2OFAyN1A2QlFscG1IZTVuMUFBQWdBRWxFUVZRNGRLR292ZStjcGFSSGlGZko3T0tVeTR1Vm5yOGdjMXVCVTN6ckI2L3czSlBQcytGR2JCZmJITXdQMFRhR1VZb2E1VmhLaU9tcmpVU0paNXZZd3l1Sjk2eUVHT05Wc1Q4N1lGYlBHR3dQQ2RweGR1YzBkL2JmVHViSmdpaUhFOE9FT1VPRy9Qak42N3o0NUFjSkNOb2FRaFBYTUZwVTBsaUVkSTNGNGt5amt5UnUwWDVNMFBFalFoRk1UQmJpQTFvTHU5czd4Q1hwZlRRUzdVSXVnSExSdWE4Tm9MVE5GdU5paUsrZ3NxbXUzNlZFVmdEVHpBazJ2a3VuR2hyajJKL3NNMkdLSklvZitpKzJSMlF0bGhGRHpyREw1ZkVWSGp0emxYT2JGeGpKQ0tiZ3BnMWJaaXZhb0tLeFNzZUVGQ0k0NzZrYVJ5aDFGK2Y2aVBuT2ZVcWxvQW96UkZtc3NaZ1VzczFqS2JCNFZUQUlsbnBTMDFTQk0rWVV3NHN2Y2VuZ1BOZjNybk9ERzB4RFRPNmh0Y1lZczZUOU1NWjA1bUxIUWJVV0xHblIyMFlnc01rTnNLVGdNWFdWWnk4OXpmbnhlWXJLb080R3JDOHBWVUZoaHY4L2UrLzFaZGx4blhuK2RrUWNjMDNheWlxVWdUY0VhRVFaeWxDR1VzK1M1a0VhdGJybkg1eDVuS2VlTlRQZHM4UWxzeVJLYW8xYUZDVVJZbE5rZ3lCY29RcGxzakt2ditlY01QTVFjYzQ5Tnl0UkJhSkVnTURLdlZiV3picDV6YkVSWDN6NzI5L3VGc210ZWpZNEh6dkFPVXVaNWQyeDkyd0kyTTRidkwvSVBac1JFVkE2U3pyZGVOMFFRcW92QUhFQjNUZ3VEUTdaSFk4Wk1DQi9VSEFyM0diS1BKWEkxZkc2VDNOREVQRGhjVXZWaS9pazR3TElmcFpEQXR1V1JtblM3bGF3UGUvUWpwRk5LOXl6SFgyQWgxZTgwVlBXV3R0TnVuVmpNWWJZY2NoVzNMNzlQbC85NHJhK3ludmZyZVlmcDVDVnRsaXQxYnNHY0pJQVRsQVVSYkgxZXVjc1dzVnNvL2MyTmg3d3NhRkRDREZOMmc2TUVTd0kyNXJoZHNCVGdFWGFscXJkWXNBZ2lZV1JFRnZNVnBXaDBFT0VuQ3ZGSWIvOW03L0gxMzd1MTVpZHJOa2ZIN0NjVkZUTEZiNTJxVmpCVXBvaE96c2pab3RWL0h4cExjUXM3ZUlqc0hFaDNKb3NlOGZmMW83Y0RCQUwwOFdNakl3dlhIMk5iM3o5dC9uU1N6L1BmTEptWnpCa1VPNlNtU0hyOVpxbWRqZ2xxU2hvazlTTzJNbHZKWEtsNTZWNkhoQjRIQ016R3VUWXBtSzFYS0sxWm5jd0JzWXNxd1VuSDh6Wk83ckVyLy9pYjNONGVNVGYvdU8zZU92NGg2bE5iNysvMTRmSFdWMXNIOWdhTkY5NTllY29WRUZGZy9hR0xOTlVLNHZ5NEx4L3FPRHdvNFFLYWFLVWVCMy84STBmRUxDc1Ftd21ZTDJEa25oQTEyd2g4ZlpYNmM1c3I3NjVMOTFwZnkrZ2x1aG1jSys1eDd4YXNMdTdoeExEYkRFaHk3SW9RQkRiNjJnVTcyRWRJSFB4T0RiYTB1aVdQNVNraDg1UUprT0NJU3NNeW11ZWZ2WVpmdlF2UDZBb05HdnJ3SURUSHIrMmFCenZ6MjV6OS9RK1YvTExOQVMwUkZiTVNRVHNUbnpTdzU1Lzd2cFhpd1F3UVNIT0lqNmdmUVM3ZVdFWVVEQm45ZWdUa1NRMWdvQjNtQTRrS2E3dlhrNXM5TWVIRkVFOHRhcEErV2doVjNnV2JzNmR5UjBzRmExbmErakpNOXNWYU1zMEhuS1pWL0tYZWU3S2MremtPOGdjN05wVHVJS2hIbFBvUE9venZhWHhUV2ZyRnBJZVFlSFpkTnppSjNwVWdCb0VRckJSSnVCSmkzZU4xcG84Ukg5YXQ3YlUzbE9VT2VQeGtQMjlNWU1xSjZ6Z2xMZUJabXZNYmtPcHh4OWJwVlRuTDkxNnRBcDVraGJrZlBud2kxd3VMbkdRSFZEV0JyUFNtRm9veURFNnh3ZG94T0p0d0FZWHMwNFNrRXpRV1ViamZkZndvaTF3UEc5cHJUcjVRWG91TFM0YmE2TmJpUktDS0pTU2pwVEpNZGhGUmVZVTJXREE5ZUUxeXJKa1p6SG1SNmR2Y3BmN3FKU0o2SStaTFppRmo1Qnd2SWhQSkM2QTdHYzllbW5RQ05yNkUzZGZIOXRuWTJXVDMreGV4K1p2dlFnK0FqNENLQjF2WU92YURKZGx1VngwTEpsekRxMU5wMkYwemoyK2hXMGEyQ01KMnc3cW0yaUJTTFF1cnlLTFlnUlhCNXdQS05WWEcvYXNuZkRSb2tWUzRyZkh1RzJLcWp4UnVPYmpjWk5OMFp1UUNnWjhURmtabFRGZ3lOZC85YmY0OHF1L2dBNGw2OFdjdGFzSXRjT0lvVkNHWVZsRS9kV3k1dTZkOXhuc2pGRTBhZDhzUVZtQ2NvbEovaWpEb01LSXhoRk55RjU1NmhYK3d4LzhSMTY0OFFJUDdpMDVPSGlhK2F6bVpEckRHRU5abG1RNnd6bEhZMjEzL000dG9rbU0rRVpmMlFleWllWHlINzRVMFFFbWs3dVVPaU16T2NGQk5iVUVnYndvR2UvdGNPL2VIZmF2SFBFTFgvcGxsQkg0ZTg5YngyL2dhQ2hFc1F4VmYrc2VHKzAyS3FYWUtYYTVmdTBHVGVVcDh4RzJzdVM1UVh4STFmeTlQWDNjaWlyRjJhWWJrL21FTjIrL1FlUVpIYjd0VG1XQWhzMEs0YUh0SkIzck03S1JzNC9lRTJTTmx4SWRNdTdjdjhPVjhXVW15MU8wVnBHUkplQ1VScldwOTk2aUx4WStDVjRMem9CWEFVVHdRVkJlRVZ3Z013V244eGxUTiszWTQ3cUtJRGJlOGcxQkt5cG5tRERqemR0dmMvVkwxMW5PMXBRNjc5alhnTWVwZ0UxZ05uZ3dQYXV5Rm1oSWtHNGhnS1MwYnZBZ3FlVXpscU5MaDl3N1B1R1I1NzVONGF2SStJNTBHYjExZ2FldjNrQTNrRHRQWWMrN2ZzODdKdy8vdmRHV2tBY1dma1lZQkNhckUyN04zc1VtKzZia1RwYk9WWHlQQmdySjJRazd2RHA4amVmSEwzREpIQ0pyV004cmRDTmtwcVJRSmRXeUFwOGdzVmdjRHRFUkNTc051aFpNK0hpMTcwNTVwRFRVb1k0MXUwMUFTOVREZTJ1NjBvZlNaT1RhMERRTmJtSXBkTTcxd1RYMFRzNzk2WXgxYzdzYnY5dmlTdUFqMVRpNFhvdFoweWxMWVljeFQrOWQ1OFZuWGtUUGdKbkhONDZTSVNOZG9DdWhxaTJWYWFoVUxOd1ZBcGFBRVVIckNNWXJHd3VUZ3pRZEk5dG1CQUIwTzVTbmJuZWRhQ3hSdDAzVElPaVV6WWp6WXhBQlVXUWU5ck5kZk9OWWg0cDhZRGdjN2VNeno5UXVPSjNQYUhBSXJyY3dUZkVSOVAwWDhjbkZCWkQ5RE1kNXZlRWZIZWRNcWgzUTNYcXlDNWNLQWJRV1RDYlVWVXd0ZGh4Q0NKMCsxam1IeXZMT3pzVjdIMGZyRC9uMDFrZzlSckw1Q1FvVk5ENnhBVHFoVUdQaTZocGFwcUJOTDUvSEd2UlppeDZWa2laZEZUNHN1Yjh0MFpCQWJJR29jZ2JGRGk5ZCt5Sy8vcXUvdzk3NGlNbURCYnVqUStxVlpUd1lvcFN3WGkwNFhVd29URWxXWkhIb0UwKzBkZHA4ZjhzcXRQNnhEMDNsUGNsSG9RcHNFNlVGdi9UU3IvQWJ2L0xiWERsNG1tb3A1R29VaThtQ1pqemFvY3l6YUxXMldpRWlESWNsVmRXYy9YUzJyb05XWHlnMmJsRnJVWVZMZWJ6Mi9LbHozdThaRHdieENJZG9LcTlOWXZ3ZFZGWERhTERMeWIxVHpJN2lLMS80QmJUVzFIL2grR0J4RTRJbnc4YmEvNzUxVmRvRTZmaVFlT3c4U2N1SFlxaDJPQmdjTWpCRFZwT0tuZUVPMDJxS2tiZy9SWm5IQmh0cFcxdjlkYXIzN3hpYkQydnVGY1RqbE9QZXlWM21MSEJZeXJ4Z1ZhK1FEQjZMdng4Rm5QdUx5UFM3cU1EYXpmbnpmL2tUdnYrdi81MnBQZVdBZmRZczA4dmFLM1lqRlltc1lHUi9vMTlvWkJEalZXOWlzUXJDaUJGVFRzblJXTFdPWUVwQUZlRGJRNVFwbkxOWUd0Ni9meE16VXN4TzU1aVcwZlpSMXgydjNaN0VRQ1hkYm50dnBldENFUzhmUzJ4TFloVUVFVVFNeGhWY0hWL243ZVBickpsdERtUkltdmFOc3FpbDJ3aHBjVks3Nkhad2RmOGFabVdpdktKM0tQdVA1eDcyL29KV1lwR2E2SUN6RFpreExPeUNCNXhTMGVEd1VhRGxldnlBZ0FvRnUySEVaZlo1NmVnbER0dytNaGQ4NHhpRWtyd3MwRjVSVlJYZWU3UVdzc3dRbE1iNk92YWM4alUwaXR4bDZORExUVWc2dzNKbVhPaU5YZjBkcXFvcUtUQTBlVkYwTGhQQnhrWXpJVVR0dVBjZVhFQXBRV3REYVFiNHpQRHkrRVhzeEhQc1RyREVCaHhlTmVCN1BybnAzTFNubzkyK21GbUlHNVFwUStGeUZGQlM4c3pnQmwrOC9CcHlFaGk2QVNOVFVvUU1xVUpzSGUwTVlvU2dQRmt1R0pOSHB4b2JpNGF0ZGRUV0lWclNGZFVkbmlnRjZuVFpaKzdoc1AzNnJDaTZjY01UQ040bFRiU0FWeFRLWUVOZ1ZVRVRIRUdFM2VFK0wrNDl4ekFyK2VlVDc2S0JGWUlOelNhYkVqWno0QVdlL2ZUakFzaCsycEZLakNYcFN5VnNmaWVFN1Y3Z2lWWU15ZWZFRXhEeDNlQWZyWlU4SXB1aDNZZTRvaVEwWFRwWFNSL0dLVFpnWmFORjdYUlllRWFqQWM0NTF1czYzcnpwejZOc243M2RRNnJsaXYzOWZVNVBUL0hXTVJvTVdjem1GRm5lK1FzQ1hXRktPNU1FQ1Vob0VCRXlQYUJxaE9XaXdlUUtNOGhaVmlmTUZ4T2dZbTBYR0FQV2dndUsyQnBCWXowb011cktJV1RSSUY0UFdTK1dGTm1RMExJS1lyY1lHVW02UHRoSUYwSm9KUTN0MEJRbmJQRVo0K0lTLy9HUGZnK3h3dW54bk4zZGZXYW5FNHBzeU5yVjBhcEtDK2ljdFhkeHdNMmlqMnp3bnVBRHdTdUNCeDhVRG8wakxoQmFpYVhXNEJLVzFJazlMOElBQzd4dytDcS8rU3UveHdzM3ZnQXV4N25VQjhjWmpBREJVcTJXSUpaTXhROTA2d1hhYTBRMG1pd3VPSUxGdXRSZU9HakdnME9zOWRpd0JHbndZWVd6TlVGQXF6eGFrRGxCeUNLN0d4eldyV2o3MUc5c1lPT2s1RnU5TWk3NlM0cG5aMmVIWmIwZ2FNMVhYL3dGbXFubEwvL3FMN2pQQnhTQVo0RVZ2elVhR1c4SVZ0S2twYU12WkNyU1VtUUVhL2phRjc2T3E0VThLNmpybXFJb3NNRVNsRENmbno0RUpsdlhDdWxWYVV0YWhHVW1XcHZacElHMTBrRGgrWWZ2Znh0TjdBNjBxS3NvdlU1ZGhjVVFyWmMvemt6V3ZzZkhDOCtIQkhCb2VOdStnYUNZY055OS9PSGxUdHNkS2Y0MTBCWW1iZjdlT2lxYzBLNE5iTFF4dytNY3NHaGZwcUlsRkJwUHc5MzErL3pneDkvanBjc3ZvOWFoYTZ5bnBBWEhsaENrUzcwclFpenc2dXp0NHY4ZElMbWlhVHcyQkpUSzhKVmpmM1NWVjNkelh1ZGZXVENqYnNldlZDQUUwZVdnWFdQYkJPSVcxWktTa3B3aEI4VlZtc2thRnhTTnVJUXRXcEFmT25CelZpWVR0ZENKY1VUaFJFUGp1R1RHUEhod24rUEpNUlVPdFZ0U3paZnNwc3Z5cEFXeitaQm1aYmpCRWYvemM5OWdVSlVvRno5WElZZ0M2OVp4ak5TQVJDbFBZOXVURFVxaWk2cnhnbDhwY2xXU0Z4cEVzTjdTVU1menJVUFhhS05wcXRnQjBTUzVsZk5VNjVyU0RJbmxiMEIwU1V6RGE0ampnMngwNWxwaUg3WlF4VVhGeUkzNVV2WmxMdTAveGQvYyt6dG1MSmcxQzlndlliMk16UTdYUkwyMWE1dkZldHEyM1NoZ0NDd2hXSTlCR0RQbTU0b3Y4K1ZyWDBJbW5qSmtuVjQ2b2ovQkZRSHZIVUU1Uk1mbUthRnlTTWhSWHFORDBTMlduSFdZUERxb05GV05XS0syTmtTM0JadDVyRVJOdGlTTHRnQ29USkJNc1hicjVDMGI3d2xEWkcrMTF4Z1BkWmpGTWI1VVpLYWtjWkRQUGRlNXp1WGhBZGxNZU4xK0g4Y0N5WE1hdjRBQWhRSnZMNHErZmxiaUFzaCt4a08ySkFMbi9MRXJSUEc5bi9QaUxJaU4veStLak1WaWhRTDJkOFpNWi9OVWFKV3hhaHF1WFhtS1BNKzcxWCsvTTAwL1ZIaDR2cGRBbENBMERna2VRMGxSR0hTbUVMVkdhODE2dmR5YXhPTzhId2hkOFpvbktuRmJMdWljZ3lIOWZlcy9ubVZ6KzMrUGtnVkJVMmpEODgrOXpLallTd0RObzRKQzYyenpUdG1ZQ0luYXBMd0lMY201cmVIYTdNOG1IK1o5QzJLRmpBeVB4Z2JQY3dldjhJM2YrRjJlZi9wVk1obFNyUU9HQW1OeTZ0cDJleDJabWNpTXRvVTRRcXordGE2T2pKZ0tLQkYwcGlGa1RDWXpnaGRVWHBNWGdTelRhS05CQ1VhWDJFb2hKcWRlT1JiTEpVV21HWTJIQkYreFdFNHBUTDQ1TDZRVU01dEdwVnBCOEo0TVF6VmI0U3ZGRjEvNE1zdkptai83N2pkeDFPem1Penl3RDdaUzl0R0RPTlkraHpaSG10TG1FZ3dsSXc1SGx6dHQzTm1qK2pDSTdaL2ZjN0laUGUyQkp4citWMDNGZERWaHhSeWZUTitVSklGY2lDVDJSN1RiakhIZWE3dm5Jc0MwcVUzcUp4S0JDRkpRWGVxZjRGbXo1TjdrRGk5Y2VaNTFFeWg5U2FaS0pQUUs3VFFvcGFQSGJjcUx0SXhuU3RVQTBPQndCb0tYK0NxWFlacWNvUjl6d0FHbjNLZVdKdDNCS2dIdUVGMEUrcDJ6Qkh4cWJYekVFVkpyTXFMdDFrYjZzTm10OXZ5M3o3WDNYWnNOYWMrL0M3RVRXckJyZkhDY1RFNnhRRlV0SS92YWZsUUFNT0FOUTlubGhyN0d2aDBRbkVUSGxPNDE4VTVvbi9MeThIZ3JpVFVNR0lZN3NZM3kybHFzYjNDUzdtZmpFWVQxYWsyV2FaVFJaRHBtdWh5Q0RRR0hTcklMMWUyb2E1dm45TDQzSklsTHB5K1Z1T0RVSGc3c1ByYnhQTWN6dk1GYlZNcFRyeWFiV3VGZTVrNm5SK2xheXdCVjNPOTJ6SHFCNTdreHVFWXhWWXpaZ2RvbDJWZ3FSR3hQaGs3YVYvRkU0ME9OOGlRN3dBMVI0VVBNOUxYN2sybERxVEswalgzMVJBU3RJZE1aQ2szd2d2TU56c1hGb1d3U2dpa0xvK09pSTZTTW9EUnBrUnhibEd0dlVBRXlyM0FPbmgwOXplbGt3cHkzV2RhcmxDTDBXTHRWTm4wUm4zSmNBTm5QZkp3cDVPcmlVYUMxSCsyMDZiY2UrOU42RzlQa213bWdsTUU1eFRQUFBFZWV0MmxjT28zVlJ6WFVWcEpSdVRoNEY1bkNtS2lVOHNFaElrd21rNGZlRTNyZXNEL3RDRWs2OFlVdmZBRmpES0kwVlJYWkVTMXFNeUhLQmtxSEJDc2xSSDF0SEt4ZEdwNTlwN21DQ1BKYUZCcUJxS0RFRUlJZ0NVaC85U3Mvejg5LzVhc01zaUhycVkxc1dyQ2MxUk52ZVFxbkNwVzJLOVpHQmdLb2dDaHd2cUVZamFLVmxYSjRZN0ZoUmQyc2NUYWcxSkpRRzRhREE4clJBSk1wZkZOVFZSV0U2Q25jNGI4enA3dE51NGtJcS9XS1BNL1FTbEhYRFpldkhQTFZMMytGdDkvL0VmLzkvaitSYVIwdncwQmtnZW8ra0Qzckx4empvTnpuOFBEd1k1M1RmclRYYVZ2c1FnZDRQSlA1aEtrOXhTVlZ0Wkp0UWV4SGxOMytiRWNBUWtEbk9iNnl0T1daNzkrNlJmWDhtaXlVcVl0WFBEWnhFUm02Rk8rNUg5bEw5enJuRUswMmJWZUp4enJMTWc3TkllL1lWaHJRZ3J1MGtBQXdDV0FuMWp2aTJjRFRWNTdHTnhhakRWdTJHeDhqbFBkb2lRVjNwK3NGOTdoUExvYXFpWnVVQkRkMFdvbGFjWGw0eUxYeFV4Z3gyQ2Rvejkwb3p3TzF4Q1VqZjRYSGFNaTBvQ1c2c29pS1dSc1h3TnJvZG9BSXloUjRFMWhoQ2RKODZMbG8wKy9kL3pyZGRoeTdTaW5ZTVFPZTIzdWFkeWZ2TVNLanJqWGtkb3ZUaUNacktaMlBqeDNaMHVvMXc1Q1RNMmJFaTllZjUxQWZVcDgwNklFK1V5WjFUclJ6VjFkUnQ4a21odFNkeTRxUHE4WU1PaUdzZUZiVVdHMUJDUmtXOFRyV1pNaEc1OXZhS3JhM3JiU0xEYkhSYXhhU2JWeVN0UUhLeDBZZmlPTFN6Z0hQbVdmNTRIakNuQnJyZE1kU2JQS1dGL0ZweDRXTHhPY3l6dDVlNTl4dW9UY1J5NmFTL214VWxlUGdZSSsyWUd4djV3RFFOTTd6bTcvOERmYjM5K00zcE1rSjJHSm5IeFVCaFZJR01IRWxqV0NkbzJtYTVKVGd1WGQ4djkzY2p2M3FWNjcvdENPRVFOTTBYTGx5aGJxdXUrZXR0WWxCbGZTajB1U3VOcE84Qk5xT1loS1NCQVNQOWo3VitQbzI1d3ZwNVNhQjJKQ085MWRmL2lWZWVmazFqQzZabmt4cG1pWldzcWZ0aW0vY1ZtcjFKelZyTFVvSldhN1JXYXI4cGNINm10cXZrS0toTVF2V1ljcmNuckJtZ1pTZTBhV1N3NmYyS1hkemFyOWlYUzlRSnFCempiV1I4U2pMOHBISFRoSFBsYmR4TWh1UHh4Ulp6dVIwaGpFNTMvaU5iM0NvTHpGYnpUZVViczFXYThndHF6UzF1WjcyZDNjWmxvTi9JekNwdGdwZFFscEVuWnljMENTVlp6ZXhka0tLejFINGdPNVZvSGs4dCt2YkhFOGVvRE9GTW9JVlIrTWFiUERiR3ZqSFJIdGNvYmRvc0k1Y0d5NWZPb3BMT3djaExkczZnVUE3ZnFSRm5vYkUwU211SGwySmFlYndjZW9FTmlGNGNpVjQzMkR6d0szSkhTelJkcXhqT0ltWFpGejVHU1JvcnBZSEhPMWNTbXoyRTRRNFpzMHBhN1hBanl4K3o3TWUxanpJcG53Z3g3enI3bkl2WDNCWHp6alJLMWFaeGVjYVJNZEMxdVNuSjlnNGh2ZC9FbGhEMnNWei9OSEJweUpCSDV1VU5ZNnhIbkJwdU1kVmpqQmUwRUdEM1FqNVk1WW9wTThJSFVsT0FIR1FPOE9JRVRkR3o3QS8zQ2NqdHNSdTFnM1JiUURPdjJOYThKb0FiRzlSMEhibXNsSmpUVVZUTk5SRnd6S3ZtR1lyWm9PYTlZNmxHbHZxa1dXWnIxaWFKU3RWWWJYRjY1Q1lkNFh1eHVoVStKdGtTbDdGWElLVFRiWk1SVVZIekRwNmhiSEMwYzRSVDQwdVV4QTdDYXBVVnlBWDZPbG5KaTRZMmM5OEpPN3J3MUtzRCtVemU4enQyVXg3ZjZ3Sm0xY3ZwMnRBVTVnQmczeVBLUlhEYk16di9lNGZvSlRCTmhZUjZieGtXNEQxT0NBTDRKMUUwMzZkRXdGRlRjQkYyeCtsdUh2M0xySU5aM0MrUlgvYnhWay9qUkNSMkk1V0tkYnJOWGxoenV5WFNwbXl6Z3VoQTl4dENxdVRISVJBMndpMzVSNGNDbEUrYWkxUmlKaTB5TkRzcUgxKzYrdS93OVhMVDlOVWxycTJqTW9SdVNsb25JdVR4RmxULzg0a1BENDJUWU9JUm5TVUYzZ2FKQU8wQSsrWnUvdFk0MUNGeFpoWW1MT3FLbWF6S1JJZWNPWGdCa0VGbHJNNWk4V2NJczhaRHdZb0NVbG4rK2pqNzV4ak1CaGdtNFpHZXdhREFROGVITk0wRFM4Ky96Sy8rb3UveG4vNWh3K2lEbGE3YUxWYlFGaURFbzFMUlJxYi9ZdXM5ZTU0TDhvS25vQVJTMmNKa2VoUDNDN0VYQUpUeHlmM2V6S0p4QmoyRHZmR2V1Z3pIRW1ZYlYwMGdZOEFOYXBmYjk2OXlUT3ZQa09vd1RZVzd5TW9OY2JnQ0RqZmJCVno5cU5sQWR1TUJ0QUJacDlzMFE3M0w2SHZ0TTBXa2d3R2FIdStocFpKQ3lSL1VzMklJWHZEWFpoNjFJZlRrQjhwVkFCdFlPRXIxcnJoM2VZREhGR1AybUt2V2tlclA0SkcwRnhpaDZmTUFTTVo0U3FYVktNZjkvczkrN2tpNUo3YU5KeTZPYmVYRDdpN09tWHFGalI0Y2xNd2tKSUR2YzlUeFNGSFpvOWhBNlpTVUZteVFXSVRILzcwWGllczg3NDduaURYT0xJOG8zU0twM2V1Y1hQMkhnV0d5cmtvQndpeHZYYXZ4Z25WM3BFaHRqQTJHSzZYMTNuaDhuT3dGbnp0MlNsM3NQTXExa21jbVFhMkM3UmFFSGttbTVpS0xVUG1zYWFtMXBZNk5LeHNuUnJ2eElXNWs0WmNHM0pWWUl4SnJLcUJ5dUVxUzVtVmlFK3lpT1RRRW1VT0xqR3lxc3RDdENPbkRtQWNlQ1ZVUzh2dWFNUzEzU3ZjWHR6am1Qc3NmWnpmdERKUktIc1JuM3BjQU5uUGRDUlp3WGw0OGR4QnZrM2pmSWdsVmpqbnRRaU5VMEJHWlJWM2prL1pIMTdqRC8rWFArTDYxUmR3Rmx5eWVkSmE0NXBZVU5LM2NmbndVRFF1b0NSSDY4Z3lpZ3JvekNDbVlsa3RPRDYrMTczYXkyYUNGSWxGYjFIMTlOTUxyVFZLeFFya05pVFp3d1FINGxWeVFVZ0RmYXI2UHgvQ1M4Zld4b21oSGJ6YlI0MTRRMERJS0huMTVhOXc3Y3F6WktvZ2VNMmdpRHF3dXE0SlhqRGFQR1NSMDFVVnA4aXlETkVxVmUwNk1BRlZDTTQ3MXMyTU45OS9pM2R2dmMwYlAvb0I3MC9mU2NPNmNHMy9PazhkUGMyTnk4L3gyaXRmNWNibDUxaE5LK3JGbXNZYk1xMVpyMnVNZVJTUTlJVGdHQTUzT1QwOVlYcTY0TktsQTBhak1iUEpsSHBWODZWWHZzS2YvOE9mVXJPbXNsRVRHVHU3SlF1M0Zqa3FvQTVJNnV0MHNMUFB4M1F0Mm9xMkFNaDZqK2hXMCtnUkZUZzlQU1dXMUVWVllQOXliaHNLZktZakxiUjhBTjllUndxY3R6Z3kzcnQ5azU5L2FRbEJZVlNXbkFxaVRFRGF5Zjh4aDBCRTBHMnFOd1MwcUdpaGxjRk9PYVpreEpKNGIza0VVUUxCdFhSK0IyUVZzU0gxa1lxc29RbEM4SnRXdlI4dlBGb0VyeHJ1cms0NFpnb29MQTFHd0hwdzdURG9GVGtabDlVZVIzcU1yblY4d1NPdi84ZUVlRXdoek55TXU1TVQzcG5kNHUxd2ozdk1pTjRTQVcwekJHRk13ZVg1QVU5emhSdm1DbGZMSXc0UGR2SHJCZ2w2NDMxOEJyejJOZVRTUFVlN1U0UlFFNnhESzhYbHZVUEdzMkZ5djdDeE1RR3VrMHh0amxyOHlZQ0NuQ0VEcm8rdWNsUWVFZTVieEdvR1pjbGE5WFc2Y1VHNDFWRTJDS0dGSUtGVm5KTGF5MXFjcXRGRFllWXFqcXRqSHF3bm5NeW1UTU15RnNvUy9UcDJ6SUQ5OG9EZGJKZWo4b2pEOGhKWnlQQlZTS3k5Nm1wSlF0dSt0bXNLazRvaVV4dG1IZVc3NktBaUFQWUtZek9lR2x6aDJmMFQ2dE0xZGVyODFialArQ0wyY3hRWFFQWXpINjMrNTNFRGF1dE8wQlpKWmFUeURLQ1BoWk1HdGdPeUdrVk9vUVpVM3JFL3VNUy8vOFAvbFcvODF1L2diSTRTMHpHTzN2dmtKYXU3TGpHUDVtUVRjNmlpRWJmM0RVcEJsZ3Z6OVlKYnQyNXl1bnpRVFpwOU5rdzBCUHZKQUlrc3kxaXYxNVJsaVVpMHRkRmFZMFNqZkdJK2xPOVh1bXkwbGx0Z3RWV09SdjRwY2xDYjV6UWFJeGxORUs3czNPQlhmdkhyYUNtb2xvNUNsMlRHVUswczRzSG9rcnBaSTBhalBxVFZLb0RKTTBCaGZZTVlRWldLdFYxdzg5YWJ2UEhlRy96SnQ3K1pkR3d4SFptOE1Iam45QzNlTzMyZjEzLzBYZTZmM09jM2Z2bmZjZjNTRFpRVUxPY0xUTWd3cHIyRyt0Ky9uUVhJbEtaWlYyUmFFN1NoWHRXWVBHTm51TU55dW1SM3RNdHZmdlczK0pQWC81aktyU0VEdjQ3WFpheXdCMmxiK29hWWVNNHdITzVmU3Nmd3lhSk5UZmNONFZOVFVpYnpDUzQyL2t5d2d2WnlSUUtjMDZMK014YythUzRoZ3M3R1Y2bm95blBIMytIT3lSMnVsTENYSGFLQ1JteUk1MFZDZC9RZmRRN2E0czhPeUdvTlRRRG5LYktNby9LUWRWMng5aXVhOXRycFc3R0pFTGxRZzhKdzVmQUl0N2FNMUFCcCt2cW9qeEVTQ0w1RzUvRFdyWnVwK1hCaTIwSzBDVVlBazBGbE1CUThQYmpDSmIySFdndEs4dFN5OStOOXZSTlk2NFk3cXdrL25yN0xPOXhpeG9xR2hocExNR0JEYk1NZHlHaFljY29KZCt4ZFhsV3Z3TzZBeklPeGVUZUtuRDBiL1hiY25SUkRFZ01xRmwzQ3ZKNmlkelBLck9SQUh6RnhTelFLRzJMWFJKOUdzWjRzTnJHcWhvS0M1M2lPby93U3BsTG9VR0tjeGk0ZFdWYmd2ZTIyYktQaDc0K0pQckd4TFlpbHM3Nnoyckd3YzI3TmJ2SE85Q2JINFNRZG41WXFDQWcxOXl3VTh6dnNzY09ONGdiK01IQ2tMNUhsc2RPaWVMVlpjTFVhWVhHcFFOZWtBak42SURiSktZSWlreHk3Z3QyZEVkZEhWN2s3dmMvTVQ2alFxZmh3YytRdjR0T0xDeUQ3dVFyVm8wajg5dlBkWUJHZEp6Zml6TDdBUHIyMmw1cldGRGdDM2cvNHphLzlPbi93KzMvRXRXdlBVSzFyTWpPS2xlMU4wK25sdlBjWVl6REdzRjZ2Tno2VUg3YkZFdFZYSVFpTnEwRUhESjdaL0lTYjc3K0RTOXF1V0RqRXcwcUpuM0swd0h5NVhESWFqUWpCUlI5RVl4QXY2TDVRb0dNLzNGWXJReTg5d0JWVW9pVmllYjZTalR3Z2NxRVpBaHpzWCtFTEwzOEozZVNzVmxYOG0xTGdQRmxlVU9RNTAra1VZelJlNHVDN2ljMzJPQmZ3MU5oZ0lZdjYyT1BKWGY3cGU5L2g3LzdIMzZEd05MVE9FSnZSUGlib0RCVXIvdllIZjgzOU8vZjUvZC85OTd6eTdHdjQydEdzSEh1alBWYkwrU09QbjlhYTZYVEt6dTZZOFhqTXlja0owalFNaDBNYVcyRlhqcS85L0sveVo2Ly9LUklVNVRCbk5ZdU9GZDRsMEs4MjZWc0JDaWtZRDNmSVZQWnZOb2QweFY3RWlSUVZXTmRyZkJJYXROWk9TcVhxZWcrQmpWdkVaemNVV2tXRzN1U2FwcklZQWxvWnJMZmNtOXhqWk1ic0R3NHdaRFF1cG5hVkJwTmFvajRxK2tCV0F6cmRDK0tpdkdCdmRNQ0puMURWRloyMVU4K3BRSUltTnByV2xPVHNEL2J4bGNNVW1sQS83RTd4azRYSGhncUt3UHZMMnppRU9ybFRDR3c2WlNzTlFjZE9Yc1dZUFJtZ0xHaXliZG5MVC9ydEF1U0dsVFFKb05ua0J0eWdzc2hLNGlFWXdhdVlpYkd1b1dKRldBcHVFbmpadkloMnNXaHB5endoUlp1eVY4RjNkbm1kNzY4NHpGQ1lUeGNNQi9zNFBIdTcrL2lUZDlCa1dQNGxNQndBQUNBQVNVUkJWR3ozV1IxWlFTOHJocWFrNUxuOVo5blZPL2k1Wjlmc0VDclBZakZuZDNjWEY3WUI4Q1o2a29LZVJDaWtaaHRXV3hyVGNQUDBGbS9PMytJV2QxalQwQkJRUkU5ZWtRRGV4NWEvekdtb3NKVmpNQjlRakF0MjFBNG02cWpRSWRaa3RQc1JPK1ZGUXFFOWJqRlQxZ2ZiaWx3S21zV0tvaXc0VUx1TUdUSmdpS0JaTU9mQ3MrQm5JeTZBN0tjY29oVEJoODdDeXZ1R0xDdHBxbjZYbFZSc0VzdUdrL1ZzT3l4c1ZyZmJuV3RTQWtqQVdjOTB1dUNycjMyTk4zLzhmUVpEUXpsVUxCWUxpbndVaXkzUzZKUXBqVEVaZVY2aVZjWlh2dlJWcmw5N2x1ZWZlNFdEZzh2b1lHaFdEdVV6SUtleXpWWXhoOVlhNzMybks5MXNFMmUyajdoUFFSRFJ1R0FweTRMSjRoNkRjY2xvblBPMy85KzNhRmxDWUx0VGszTzBqSEVnYkp3U3d1YjN5UEsyVmpUbjZZVzMwOFBiMnhkL3IrdUtzaXdaajhkcElxa1pEQWJkQk8xOXdPZ01aYUkzNjhyR25xVmxVVkRtQll2Sm5FR1JzNjdXREhiR3pPc0g5SFhLUGswd0lPUlNVQWRMem9nLy9QMy93SEpXVWFMSjFJRGd3RmxIbHVYZ0E5VjZTVjVFc0JGWmpUaERuVTEzVzJ0QkJXeG95SXdnR2Z6cHQ3N0pPemZmd0ZGaHFYQ0pDNk4zaElUWWlDQm5nS1BpelpNZjh0Lys2WkNqdzZmWTNUbEFpK1YwTmlVM20zMkoxZXdwSFp6WUYyY0R3OEVBMXpnVzlZTGM1SVRncWRjTm1TcHA3SXFEdlV0ODhia3Y4ZnJOZjJJMVhZS0piTHNteVRwY3RmRzY4Vkdlc1RNWXh3NVNqdVFPOGRDcDNUNi9aNjYvOW1rUnNOWlRsaVdMeFFKbDRtUm5ROE5wZlVMYjlMVmxZNzFMNXd6NFBMQXhRdXJnSk5BMHNSVzFDNTY1bjFFdzRCL2YvVWUrOHZMUHNWak1HYWtkdElsU21xcXFHQlFsM2pZZDRJdU9CbDI1VnZ4OHJWaXVWOUhpS2dSczNVU3BnZk1vSjd6eTlFdDgvN3ZmVHg2MkFSY2NaQWx4YWFEMmFESTBVWEp6N2VncWFob1ltSnpUOVlTaU5LbDE3M25qQzUwZVY2ZXhLSTZ4NlJvMVVZLzkvc2t0N25QS2dpcU9XZDVUYW8xMURtZE1OSGRPeXRDOXdRNWg3VkMrUktPcGZMMEJrSS9wTEhaZXVMWERyZU5pU1ZLT0lUcDFOSEViQjBBVGFQeWN4Z0JPUlRiUVdzek04ZEtsS3lnY0xvVE5lWkJlZlVMZmYyb3pyRVh0dnZJOGNEWE5DRTdjbERBeW1GRkJmakpnU1VWQUVaUmpxeE93YjdQeEJ0VVlydklVUTFleXAzZkk4d3ptbmx3eXlsRVpheVZTcGlxY2FSSGV5aHVNaVIzSGxzc2wrd2U3cktvbFM3ZGk1OG9PZDA3djhQcjhleXhZVUZOVHR3NjdxcUxMUklhR1RFQUhUY0F6WmNML21QMElWU2wrNmRsZkpCeW5jVDlFSVlKNHRjWGJST3MyRll2ZkVtbUN0QVZxQ3J2MjdCMGVjT2ZCTWJwUS9PcHJ2OGp0NzcvUG5QTWF6VnpFcHhVWFFQWnpIaUtLMFdpWFgvN2ExL25pRjEranNRdnlRakJaQkRsQ2dYY0I1MUxYSkI5UXlzUWZNVXhPWmhURmdDSWZJeUhITmVCdFpNcGl3dW5KVnFRaXdtdys1Nm1ybDdoMTl4Mk9yb3lvN0pRZnZmVjlidDUvbTVBWWtrOHJpcUxvNUFRK3JmNmRjNmxUanFMUWdXVzl3TlkxK1NqajhPQUFMNDdaWk1yeG5idGMzai9DaVdWbFYxQTMxS0ZCZEp5c2pPVFVZUm0xZnVnRXJoVFg5bTR3eU1ma1VpSk9JOEdnZ3ZUQVdydFFhWlBBTVZUeWs1VDB1eWNXSkltT2FUS1A0KzIzZjhqZEI3ZVorbE1jVFFkaUh5ckl3T09DSnpaNHpIQW9qaWQzK2VEZWUrUlhjaUJQZGxXS0xkc3ZlUGovWnlQb2xvOWhZTWE0cHVIWjZ5L3d2WGRlUnhtTnR3NHRCby9yUERmYjNWWkFwakl5WmRCcEVmTmtFWXU5V3JNekg2TEp2dzJ1a3hQNHVLbm52UE96RG1QYnM5QmI0cWtvNFhGcC8yc3FQamkrdy9YUmRaeTNTSm95dEtqVXdPVW4vOWIyUFRyQVFKWHNzTU9VeVliLzAyenMyRUxzVXFiUUhIQ0FDUWF0QmU5SjBwYkhSd2dCSC96V0FoZUVJQjZySGNmTCs0a05kYmhRYjhCOWZITlhVeEJocGthZGR6RjhqTkJlVVhqTnZ1eHd3QzR6NWxRMFFJUHlCbDgyOFRqMFFDVGE0NXlubGhtTGNNb2tlNEF0eXBnMUN5RSt0Z3Q3aUFWUVJPWlQ4SjE3bFU3Nlh6WE1XTG1LV21DMXJwbFU4MjdFN2FRZWZWV1VSTkpEK2RoazVYSit4SzRla2p1TjFFTDA1WXBmb3BUQ1NTeUNiZjEwVmJMWjZueDlyVU1obUN5Q1I2L2pQcHhXVTI1UDc3R21ZazNEbXBvS3Uwa3M5dVlkQzlqZ09uWmNNZVhVbm5LOFBHRlA3NUhiV0VuUkw3eEYycTVnL1lQYmtoMHVhcU9EUW93QnB5bDlRUWlPZGQxd3hDV216RkhvV0hkd0VaOTZYQURaejIzRUc3UnBhdTdmVzZDMHB4d1VsSGxPVlMxcGFrdVdqVkFoanlPYTl6MmdGdkJwd0xsKzdRWHF5dE9zYTVyR1F6QW9sYUVsTmlPd0Qya2tmN0lJQXNOUnlYUjJ3dDcra09WcXduQVgvdTYvZlF0UFJXY2lDWDFKN3ljV3JRdEQ2OHFRS2QxTmNrcHI2dFdDZkpDUlo1cWxuWE55OXc1ZVBEdWpFVGRlZUlyMWJFVVFRUlVCVlNyRXdySlpVbFBqd3ByMjJPbGtaNlJRdlBiS2Erd014cWltSUFRVlFheHZBV002M3AzcGVTdHRPQzhVU2dsQlIzTjFKNWJYLy9XNzNKdmZvV1lWV1IvT3ZQM01SMFZtS0FLOXV3OXU4Zlo3YjNGNS96b0RuY2RXd2lGTlR1ZUMxOUJMUFVzSDFFTUh5aFdGeVZpc0sxNTk4VFgrL050L1FzZzhxL1VpRnYwQTdzeTFKWUJSQmlOWkFoUlBCbVFWbThJeVFweHdXd3N1UzVNWTJaYSs3YjN2czYwbkFEYWlJdCtpbEo0VGtuTnRjd2JIajk5OWs2dGZ1VVpqSTV0SzBKakVxbmFmbGZCTHUrN29TMEcydmpQMGdLd1hSdm1JUythUWhWMGdOSnNQNms1dHZMNFZoaXVqcStDRlhHZTRPcnBNZkJRYjJRaGtOeUMyTFZaek9sQkp6VHVudDdHNDZPUkIxUFUzYlhkVzc3cTB0MGFpcmxLUkNoR2Y3Q0xRQWNhMklHUjd1T3hwUWdPV0QySXpMVmRCRldESGdGMTNCaTJ4N0JaMHNOeXYzK2YvZXVmL1JaSDNJRmc3UXJSeUpZaGxkSXEyelVDLytpRjJVak5BYkxTd3hyR0t2ZGJJOG96R05qMjljdnZoT2hXazVqeTFkNFZkMlVGYmphOGR3U3JRQ3RGeDhlREZiN0d4RU8rZEZrQTZXNU5sR1ZtbXNjSGlqT0FWSEs5T3VGbmRUa3Z0dU56dVFHeGZHVWRraUQzUWVJL1FZRmh4Nmg5d2YzV1BZVGJDcVF3amtZVlhRWjE3NzdiKzNrRWxiOWtReHdPVEZ6Z0hCVVc4TGxZVG5qNTRpbmRQM2tNam4xenprb3Q0WkZ3QTJjOTFLQTcyTHpHYlQ2anJOZDZwYUlqdm96NUtNY0ExTWJXdkJGUnI5QnhDN0hzZEF0UEpDdHQ0Z28xRGx6SEorelVrSDhrbkJKYk9OWlJsd2QwSGQ3bTZ0OHQ4TXVQbW0rL3c1bHZmUitOVG42Tk5hcGYyOFJNQ0VzNDVRZ2lkN2pmZ09wOWNyVUZsRFNzL3gxdVBMb1Q5dlJJYkxJdkZLY2UzYnpNOW5wQnBRMU92by80enpMbDdjaHVqb1hZTlNubDhpRnJTNENPa2VPbUZsOGwxaWEySUJUWSttY2FubEwxUCtqWTZmVmZpWlR2RlJ0S2NwWFN2OThsWTNEZjgrSjBmUlkwZEZxVUNXNFczWjgrbG9uT1NDSzVoNms5NC80TzMrZHJQL1JvNmk0QW0yRDRqMGYrdzgwNVFMTHhvMFk0RVFXeFVRRjY5Y3BYTGw2N3k5b00zNHlmNXpiWFlnU3dmT2VoTUczS2xVVjM3b1k4YmFxc1RYVWpnMmVOd29aVzBoUGpZZ3J6UEFZQTlHMXQ1bFRaTkxpMHI2M252NUYxcXU4WUVqU2hCQkVRWlhCUGxReCtWbGozcis2cTlZaVFsbDhhSDNEbTlUWFgyRFI2Q0R5blpicmh5K0JUaWRQUW9iUm95bmVIZG83LzdySHRLZTc0VkFpS2NObk51Y1llR0pHWHdFVEIxamhnV3VtSTRCSXZEQzFoeEtPOGZYMlA3cUcxTEd2YlNqTG02YjlCTlNiblk0V1p6bDdzOFlHRlhyRTdXT0lvRU16MEZFb0ZzeXBTc09tbVFUMEJXNkxoSjhaRlI3TXJBZkdjSktDRzJnYzdJMEdnY3BpdjViQkluNjV0NjJ4SW1rTHhZNHoyN3p5NDcrWWlpTVVnZG9uMHRzWkZEbEhwRUU5b1d6SjYxQTR1T0dTSDJ2VkRDMmxlRXpCTnl4ZWxrd2pHblZIaHFrc3RBZjgyK1VkeEZpSjdhMERydnFhbVlzZUMwT3VYNm9NRTF4Wms2Z25aOGJETVNxYzJ5ZU1EaFJMQXFRUEFvVWZqS1k0SkJCYytzaHF1N1Y5QW5LaTBLMUVPTDdZdjQ1T01DeUg0dTRwelJOSm4xSFI5UEFJOUlBVjZodEtJc1ltLzZ4YXdtMTJVM3VFc1N2OGVLZ0FRa0dvOFJoU3BNOUNNTjBUN0grVGhReVJOZVFjNDVWdXNGQjRkajdoL2ZZckFqL0ovLzIvOUIzY3h4ckloVDdKbUJZa1B5L2RTQlJaWmxIYWhxbWdibm05UmtRT0cwUXhVTm1kUWN6NC81d2IvK2dILzgzai96NDNkK3pEcXNNUmhNdEFlbm9TSmcwUWdxRHl6ZEZHaTZOS3I0eVB2dFpRZGN2bndGNzhGYndYajFFT09wUWd0bTRlRnpmL2IvVWJ0clE4MnNtbkYvZGgrRmROWFp3UFl4Rk5WU1VkM3hEU3AyRTlNMDNIdHdGeThOam1oZDlGR2pUN1MxcXhJVkZIWGxNTG5Ca3ZIQ3N5L3d4cDBmQWdvWEhCcjFrS3hFaU5JQ0xRWmMxTVkreVNVUVdUclpSbGdTYmNOY1N0UitubVByRnVvVldSSEF1ZGdNWXNhYzA5a3BlWkhIMXFKQlVLMzlsVkpiVEN3OGVtblJGbEZCUE9UR0c0NUdoNVNuQlRNV3NVTFNuWDFQZFBUWUdlL2hmVHhmamJjWTlmakJwOU9Lbm0yZkhjQ0s1OWI4bUFvWFU4VGFwK3U5dHcrSkNZMk5raTBWRFpWeURKUlBiWFEvZmpRSzV0NFNqR0RNa0N0RnllSHdFaS9hWjVpdHB5emRndmNXN3pGandad0ZkYm9pbTNUM050R0ZHa2wxQkZ2WnNYUWVnNjg3OE9kQ3l2d1R6NEdsUnV0NGRJTnowU2tCRSsrNzFvRWxFTWVvTkF4blFTTnBaRHNxTDVFSGpUU0I0S01NeUtoVTNFZTA3Z285UmpaSXpPaUI2aXl4MnFiRVNnbU5yZkVEamM4ODAyWkpqYU1tTm9kK0NNQzZObmxnSW9CTzQ2SFhZSjFsellKNU04UHFKdnJSU3NCTG40ODI2ZnRiWUorS2lwWEhLYkFxN252dFBjb0hUQkMwRlV5QWNWNnl5NUFsaXljNCt4ZnhieGtYUVBiekhFRW84ckl6ZXEvckd1K2lia3FKd1RhZTB1VHB0VVJmMWdBQjE2WGhkT3JpbzFRczRtcTFva29aaklsRldrKzRrUlJGaG1RT2JlQUhQL3dYM256N0J6aVdoRFI2bmp0WmZFTHNXRnZJWnEzRk9ZZkpGTVBoRU9jY2RUUGgzUSsrei9kKzhQZDg1L1h2OEtCNWdLQW94ME9LSnJDdVpuZ1VUWmNFdDlRMHVMb0JzUlNqakhydFVTb3kwd3JOYzg4OHk3QWM0QnRQNnNrWWR6ZkU5Ry9zVDk2WGMzZ2VSUXUxQnZmV09SNmNIRk94akdiZ1lWTlBFeG01dnVzQ3NVaUQrRWNYd0lqSEI4ZGtlVXJ0YXVwNmpYWUYyVWQyOFUxTWJQY2QwYllzTkE2VmE1cDF6WFBQUElmNnRzS3IySHIwb1RQZkFxQ1dRWTM5Slo4b0s3QmRtT05CeGJybFhqZjVDR1kvWVVuTEp4czk2Tm51WjJJbEkyYnd2SC83Sm50UDcrRk1sSXVFYzB4OHorcXMrM0cycFczcjc2a2F6OEZ3anlIRjVrb0tiRjNTZ21iSW1FRStRS3JJWWhwbHNENGE0My9VNkRjeThjN1JPTXY3eHgvRXREV096dC9QZHp4QVpQRzhSeWVvdUhZMWxXcHdxa0E2MVAveHcrUUZUYkQ0S2tMSVVodDJHZUx5QTZ4ditQTE9LMHlhT2ZkWEp4eXZKenp3VTA2Wk1VMVYrbzQxRHR0SkJ6UTZuanNkOENvUStqN1QyM0p6SERCM0ZWQWh0SVd6UHRWSFJMYVVRT2Qyb0FQa1NTbGNrSE8wY3dRMkVLeUxEaTVpVWh2bkNHSjlZbU45V3IwbzN6OVc4WFZhZ05BUVJHTkRqZWdCbFRpbTFTSnFYK2s1V2JRYjdpTncwZW5mTGh1bFl2R1dCVmFzV2JoNThxTzFFVkNqazlldTlMSkNyYXdnWnJtOHNqaWxhSlNINEJIbktVUWpIbnpqeVpXaGFpb095ejN1ck85OXZvZUZ6MUJjQU5uUFJmVEFUTkwydEdHdHh5WExuTWdrR29yQ1lQU0EzWjBDOFFrc2hsZzNTMnJQcVJKTDVaeU5sZUcyVHBPK1FtbEJpVWNwd1QyUktiUkhaUW94d253K1l6STU1di8rZi80VFdnVnFYN1BGTG54S0tWM24zS1pQdkFoNUhvSC83ZHUzZWVQdDEvblAzL3JmcVpsMFhxTU96M3AreXFZMEpDZlBTbkJ4c2hUeDBXbEFRYldPbGNtWmlacEVCYno0NG91QXd0bEFyalRpTml6V0JpajA5YkdQRDBtK1pmY2YzTU1UVUNyRU9WdDZuNTJhVUFaYTlsZEgrVUlMZUhVZ1dNK1NCZFpiYXRzdzBDWEJudytseityUXptYWZWUUl5b2pMQVlXdkg1WVBMRFBJQjgzcEttWlZVelRxOStlSDlFUy9Ka2VFSmNydEVDWVAzS1h2Yyt4NlIxblRydzY3dkovdmVuNVU0dDJDdHg4ejZFQ3ZxM3o1K214ZXZ2SWd2TEQ3Wnp1bEhXT3R0ZDI4NjgvRUpsMmdQWWdPN3d6RkRNMFRTNmZTd1lRRlJaR2oyc3IxVWhLcFNPK3lTK2lQWSsvWGRUSURrTk9KeDFyS2k0cmE5RnpYQ0VzQ21SZ3dCbElHUUVpWTZTRnBVZWRhK3BsWU9LeWtqSVkvU3FEODZ0SWZjS3dxdmNFMHN0Q1ZJYWpwUlJxOW1sWEhBbU9IZ2dDdUROUlVWRlRXVnIxbm9KZCs5Lzk5WnNLYkM0b2xqWnZBK2RULzBZSG9MM3hESERla3RGRlNXWk1EZW80SkJuTWY3T2hVeHhSTmxpR28wQStScG5DZ3BPQnp1WVphNk82NnQzN2NqdWhTSUlqR3lTYWtyMjBvRlJUd3R6amVJcUZhNFMrMXFKbUdHYXkrQi9yM3BVK2N0VkdxcmJHSjJpQ2F5elRwK1R4TnFLdW9FWkNQTHFqeTBRdHZZQUlGT2FoRWJTaVFwa1lyTXJNY2pqV2VRRllpMVlEM2xLT05rWFhGMGNJaTYvYkZPKzBYOEZPSUN5SDZHbysxV3NrMWY5RlR3MEZYNFpsbEdVUlI0SDFQazYxV05xRUNtcEdOWEFuR1FFeUVWZGNRT2xpMXJwU1JDTXg4QzNub2FXNlhPVHUyR2hEU3doMGUyUjJ5blRpOGVreHR1MzMrYjhWanp0OS8rYTk2NisyTmdUWkdYck92NWg2Y3BBeDI3dDdYT2IxTm5mUGhFK3NnSUtscFpkVi9qMFZxaFRjQjdpOFZ6TW5uQTMvL3pYL0dYMy8xalBNczBnUVRBYnNDbXhCYWFqVnZqbXdxSTZiYVFVbUE2QjVleSsxcEhmWnBDYyszb0dzcEZCaUF6QnR2RWJka3dzV2svdllvK2lFSGhKVEcySVI3YklCdS94MEJJQ3hORk5hL0lHSkM1SEFoa1NoTWlYVUowNzQyRldNN0ZmV2tWZDRwQUtRTUNDcUhBdUF3dGtDdUpUWmk2NnpEdWQzL1JFWWk2dXNpSUpDWTFKVU5GTEVVZS9TcVZ6UmdPOTlncmQxblVVN0pTV0Z1N1lYQjcwb1JZZmV4U09sQjl2UE5NT2xhcHphOUt6SzRFajFhdEpySjNiZlgza2NmeDRCOHpIb2VIZXRmMm1hY2UrWkVQdmFiTHR2ZUVHKzJ3NFh0dkVxaERnOFp3eWltcnNLU1dCaEV3S2tlTDdtUTNzRmxzS2RncXdqcDdma0ovb3h5TXlnRkRWWkNqTnBYZ0NSOGFGQVdHY1Q3RU9JV0loaENiS2RUTFZZZU12Q1RtdkhjOXRFMHJRcEt5aUFZbmprWXNGU3NXTEZteUpodmtzRm9sVjRDNFRTcUgycVpVdktpVXFZTEdPeHFwQ1dJSkt1QXhiRHhRMDcxNjdsblpGRGoyTzJ2WmRZWFdRcUV6Ukd0Q3NwUURRR2NzWjJ0MHBpaXlBWVVxOENhbTZ4dHZXY3FLS3k5ZjRkUXZtYzRuSE04blBGaE9tS1k5czFpc2RjbWIxaEdJOW1wZDhaVkEweWJVQW5ocW9vOTF2QkFHWlU2OXJqRTl0VWVUdU44U3haNHB5YlJHNnd5OHhHV2ZkL2dRNzNTbFZCcFArNDRGN2ZsS2M0QVN2RmRvVVNpVm9ZS0JLbDRnSTBvVWdnMGx3VFlJRGdPWVdLMkJRbU1vOFhnV3hPWUx1bzVzY0VuSmpoOVFORG1aYTdjaHN0YVJYVllkeTl4Nng2cGdvdHpGcGYwTmtIbEhyanlpRzV5Ti91Rmg3VG5jTzZTZ29HWjFVZkQxTXhBWFFQYlRqbmJFOTRFdTM5cys5anhrbzhhTE5KbW5LVllVSVJwcEFpM2c5RDBmMlJpaW9oTEp1c1NvS2xCNW1pbThRM1V6bytvbU9aOG1CWCtHY1kzRHI2QVVhQlV3cHNiYTZPdG5kSTczVU5jTm1vd3NpMXJjOFhpTXRaYjVmRW9Jaml6WEdLTXhlY0RuQzF3eDVadmYra3YrN0cvK0pBSVVZaEZUQzhhNkNQMnRpS0hUd05xOXBMUFgyVVE3c2JVVFRHUm9ZZ1d5Rnc5cGRSNjh4QUlrbjZnQjhkUzJKaTgwMDlXVTBXN0d5czM0NXQvOEovN3JkLzhLalUrRlUyNmo1V3kvT3JUcDZaQW1nU1FOU0tmVHJkdU5neVlWUEEzWTRjYlJzMmhyS01tb0Yrdll1bGVBeFBkQ1FGeGlnbEwvZDUwNjB6aGMxQzYyZ3JiZ2svZHVvSlNTMy9tbC80bHZmTzNmRVdnSVl1TlZaT1BFNm5vZGdEYVdNckZWNjJZQ1ZvaFBkbUJleDVtKzU4a2EyajBPMnp5bWFvODdFWXlIaEVnRGlseDdiTFBHcnpYRmNNejEvUnZjbmI3UGJEbExJTVdETTJoUmFRSUQyNndKQnJ3TmFBbGQ5Nkx6ZkdMYjUxb1dNQjN5N25ldEE4dHF4V2k0eDdKZTBWUXJzbkVzSnNzd1ZFVERwYTZnWXdzRXFuTWh5OGVLL2tZOUxIUGV2Q3hzRjI1M2pGVUNuZzh4MzV4ekgvVlR6QWxrQ0VtcTRiZi9qaEVxVzZFSWZQdEhmOC9sWHp0Q1hJNnhnTSszZ0d6LytQZVBkY2ZPcHpWTzF5Z0V3YWlDOWFMbXRSdXY4T1piYjBSRTJxNk5QUlFvTkk1WHJ6K1BYVmFFckVDWmpHYlZrR0Z3UHZxaHhudkxweThKbU5SeFR4emtwc0RqV1RZTDFGaFl1eVhsNVlKLy9zZC9vcUpodmxxaGlha0ZxZUpYVit1MDhWcFI2d3lxREl2aTFyMzNlZkhaeTVTNXBsNHN5WXM5bXNaaW5TT29nREk2NmF2ak9LU1VTWHBRaFFvYTdVM2NyaUN4TzVwMk5NcmpRa01uL0RTU0RwZkNESFE2cGhGZGlZc0ZpZ1dhWERReTgxd0tBNncvSU95Q094Q20xWUxicDNlNGErOXppOXVzYVJLVEM5NG9uTmswc09rcS9lTDZBQ1VPSTRZR3ozcGRrd0daVjBsWW9aRFJrTEN3WERPSEROWU9yTUtsQWpCSDZFNjJBN0FCTFdhTGhaVWdjY3hWRm8vQ1NZNFhxQnN3TXNZdVBJZHl5Qjg5OVljNDVmRmlZMllJajhadGRkNks5NzFLMTdlUHV0NEVrTFhYR0dmSUZobmFHNVQzS0ttVFhNUWpMdDVrbTY2SVNidHJNMHFnVEFzT1EwTW1DNnlxTVFPWXJhWWM3QjRTbXB3OTlsblJKTXUwaS9nMDR3TElmcTdDYno5SzcvK2huUjNvV05zNDVqak90MDdpekdjOC9BMEtqN1VOcm1rZ2FGU20wV0xJVkVZSWthM1ozZG5ublhmZklzczAxNjQ5aFNoUDNTengzakpibmxDdFp2ekZYMytUdi96V24xSDVSV3pJa0NtcWVoNjM5Z3dUdHBubFZaZkthbmVwd3dGOU5xajNyaEJnUzZhVklpZ1B2aDNZVkdJUjQrU2ZxVGd4bVF3cU8rZjdiNzdPelR0dllsblEwQ1NtNDlIeWlyQjE1SHBQdHFESUN4cE5xWVlZTVJnZjRibjBqbmJidWxIU1BtZ2YxYTJxZTBWNmxDNkx1blhjbEU4ZGtvSVFRdEVkc3hZRVMyajVMSEFoZEFDby8veERqNjBkV0YrL2RrNXNkeHphMkZsSjhuSUVqd2tGNGdLRkhxVGlPRGJnemtzc1ZFeWNiZ2dPSnc1dDlCTTMxb21xa2NnazRWdFpEWWpmMk5PZnUyLzk0L3drMzMvT1J6L3VSWEg2ZmxnUzBBZXhaN0h3bGpTbGQrMjE1N0lEdkMyem56SUhOc1FGajBhWXVUbjNwbmQ1ZnU5Wm1ybEZuOU5aN2V6dHBYcERUbjgvNDVVVGoyK0dacUFLRENhcXlidDBnbUFRUnBTVUtxY0llZmNOcmZOQXQrU1MrUG45VG1NU0ZFWXBhRnZxYXFoOVRTamd6dXd1RTZZMFdOb09iVHA5dWljeHNZcTRZRlJ4N0hSNFpzdzRuaDV6YVp4UjVublV0a3RPbHFYRlpJaU1aSnNKZVZ3RWtWNEc1Y3c0VFhRbWFSY3Y3VDV0OEtJZ3RjZjRXR0NsaXd4VmFBN3lIUTRQZDNpbXVjcXI2aVh1ck83eDd2SmRQdUFPVlZQaG03aWphZ0MrVHlkS3V0OURrMEJoT20rK2RVUlEwVW9RUlVGRzdoUTZaWFRPRzFjM0xQVEQ0U1Y5cHJTWnBmaThjU3BDeWk3NzBIcmYrdGlkak5DNVg4UXhVVDdTWWpKS0JiYTNEZW5wOElQZ1JXLzU3QW9CVXRGbm94dWFMUHBxSXhvVkNqSUtQaThTbzg5NlhBRFp6M05zcGZmN0EyUWJIbFQ5bURhVGp3WnBTZ1k0c3FTdkxFQXlsSW5hVWcvY2UzQ1BsMTk5a2ZsOHlwM2ptNHgzQmdRcTV2TVo1VWp6bi8vNHYvQjMzL212Vkc0Qk9KUldyS29GWUNuTGt2VjYvY2p2ZjdKSVFPeWhhTUdaUjJtd3RzWmtHWlBWS2QvNXpyZTVkZnY5OU43MjU4bWlaYkpHbzFFc3JOc3FtMzU4dEdtNlBySlNhVGZhLzBsYUZjU0pNUDVCQlJDZElFemE1Yk5zbW5ldE9wQnpIK044MmpLdTI0OFA3ZWREZjVmVUdsYWpsU0dJWjFEdW9ERGdxN1FUTVQwWmtPN2QxanRxYXltTlJLM3ZFd0xLVmpjWlFzQ29MRUlXNzhuSmljcS96VEg2dDR3SVNPTTlHcE13RVR3bS9MSzlRQWljdVo4aHNsU2M2NlY2M3VXekJTcDZ2ei95VXV2NnljTWl6TGw1K3lZdlhYNEo1MjFjKzUzREF2OUVFVlRTN1EvWVk1Y1BtQ1dxT2NURk1ZcGR4dVRha0pQRjFzQTlQOWgyNjFVZytoT3p1WDZCcmxVMlJpRkdVOXNWMmE3aDFsdTNXYkJNMTI5S2dQVzNxMXM4K0lUMkl0eGZzdUR1NUM2WDh4RTNSdGV3Sno1S0lveU8yK1ZqdTIwdGtycUU5WUExSHE5czNOYmVVa1NTdDJsTW5qd2UvRUs3T0ZRWUV5M3RRZ2cwRGxRTmFNTkFEVkdEbk4zQ01SNlAyVjJOdVRROTRJUDFCenpnQVRZMDJHWHM3ZWNVWUV3YUYzcGxqaEpQZzJWempYanZNUWlsamhyZUp3cHBmVzNUUXVLYzY2Z0Z0RUU4cnIzVzBpR0s3Z0xob3g2eUR3M2ZMU0RTZHhMMXRDcUE4Z0V4VUllQXk0aytCVG1zak1JbXk3S0wrUFRqQXNoK3BxT3ZtOXhPNWo3ODNIbnY5V253ZXN6clBpUWtLSkFTbzhIN0VOdDNPdDhCTXhIUC84L2VtejFKa21YbmZiKzd1SHRFNUo2MVRrK3ZNOU16bUFVUUFKS0NDSUlpUmRGa0pwbEkwNVArQlpucHI5S2JaSHFRVVRKS1hHQ2lCQkFRUUFBa2h3Q0dzM1QzelBSU1ZWMVpWYm5ING42WG80ZHozY016SzZ1NnFxdkJIbzdsYWF1T3pJaEkzOTN2ZDgvNXp2ZnQ3Rzd4OE9BK3pjU3dzZVZacko2d3ZUTmhlZmlZLy9WLy8wZjgwVi84TVptQVJYRE8wQVlGdEtDeVVjL21EVDZyRHZ2eVlVcm5rOEV3bUE2VVFjd1k2R0tIcStEMDdJZ1BQbmlQVnBhQWFzdTI4ZFhMU3YzeDJ0cmFVaWV1cTlNYlQvL2RwUWZ3TUtnUCszWHgyUFRMdFNLTUhibDZqbTAyZWVBbzJ2SzdVTjZYcDE5ZkZjU0xBWkttbzV4VEh1TG1kS04wSTFQQW0zWW1aMGtEZUU0NTBZWVc2bGZmaGo1NnZXRG5uQXJkWjhQVWJYQ1VqcjZRNVY4ZHBmR0VTeG5SeXpTVlN6K3Y3OWppMWpUNlduNzY2OERGdThVTVAyVSs2KzdYWmVtUkR5UWVQSDVBSjNIVUlTTXZETDR1aHhhR1ZDZTJxU3AycDN1WTViM1JEbXBUMmZaa0IyOHJLdU5vVTBGOG8rZk0xUnRkS2czR0VMTWFnbGh2aVNuanJPUGh5U05DYWM2RU5hT2lMNE03MFVzVHlSQURtSW9ra1lqaHNSenlKTzV6dTc1RHdsS0prS09DUENPVzJtcjN2cFJyQ2hnNDdybm8wSW9KOUdkRFhmdVV2em5jbDg4MEdSbWZGeERud2FvVVdrcUp0dFZucDNIZ3ZLZWJyOWlZVGRqY2ZKT3Y3dDdteWVKMTdoL2U0LzdpSHNlY01pZXd5cEhRbGYybWFGS1hpekxKT0p1ZUlRc0d4OVRQbEhUejNGNkk1NGNScFRLc3AwcVhKMFhyNjJySVVSdFR1TWltU0lTOWVneVRpQ3NpWVZBbExxRjNkY3RaY0ZocXF1dDg3QzlJWEFQWlg0cDQxbTE0MVcxMk1ZWFZsNXlmRmVaNWc1UjQyamJqckphcVkxRkhNRWJ3bGNFN2VITDBrSjI5Q2F2MkZGOGxkbS9XL05FZi83Lzg0Ly96ZitQZzZBQWgwQVBHbUxwaXpHQ0pFVUw4RHpIZkhRLzk0MXdqbWpFd1FrNFJVdVQrL1U4NHoyZUZMYWJPTlY5RTlJUGQ1dWJta0dsYVo1dytJMHdjWmU3TWtIYzM4blFUbENuV25IMEtUM0FxL0M5Nm5nVnREQlNqV1NYOW1pMUg1ZWxYemNhbE5aRHAxL2VzOGVXS3ozc2xESU1qeGNqR2RCT0xVeURScDh2VVU0bitYTFcwekZkemJtN201MXk1THhiS1k3U0ZrbTd3T0VMdU1EaDJObmY1OU9TK1FzMGgvZnpGUmltVUQ5bFpMWjdhWjY1TENvTzVCNzk5NHZacHpHc3YvZDI2ZEY3Z0U2RHlScGUzVVYzamhBQUFJQUJKUkVGVVI4Wi9aSXBaUjlKMW4zREMwY2xqdHR3TzJXcTY3c1VGc0s3WW4ySWY2NjFuWjNNSHU3Uks4eW5KVm9ObGQyTWJtd3IvTkhXSVdIS09pR1JNMFFPVjBUMHdidGJzdWFDWmhEaWRxQzY2QldlRDBvZ2VrTEdhMkpBTTd5ODVrOEI3YklCSTRKQmpQamw3d0dhOXpXdlQxekZSTlkxVmpNUlNtd2FUSVVZelpJMmxkTTliazBnMkZoQm1jRW5MMDcybDlMcTU4V3FJTkhiSnlsZ1dLV0d0eDFrSHh1Sks4Nld6SlNzc0JsYVJuQkpOdGNIVVZ1eHVidkJhdnNtamNNUlAwczk1d2pscUNKMXdSRENXemtlZHoxdUl3dENmUVV3WUdxWitXdWhOcnhMbFNWS3FRYjFSQS9TdmRsREt5cVduUWZzYTlCNHhaSnA0a1VyMlVtSGt3bnA2dHZoYXlVQlV1TVVLdFppaGVTMVpnN2VPVGVwWHV2YXY0NHVMYXlEN1N4dFg1V255T3VOSS8ySkwxdXNaOFZ5d1p0VVV3U3JvY2hpc05WZ0h6Z3VZd0d1djMrRDA3QkZWRS9uNWh6L21uL3pUZjhTUDMvdExNaTJKanRyWHRER1FKQU5KQVcxVWNPWTl4TC9DbGxETkNBQ2x0Q1hHTU5TcSs1SE1xTTVyVEIwZi9QUW45Q2FRaVVCT1Y1ZzF2UFJHVUxJY2h0bHNka0V1eU5vWEVWeGZyNy8zZ0RleTVxYlowVVJFQ3NWZ1hkclBCYmc2RU1qU2YrNlFMSWh4byt6ZEZhK2kveHNBODdyRDZ1cE52ZlM1QWhBN0FLOGNoYWFaMGdNN1RZanBBTDFXcUJCYU9oWXJsUUh6cGpUbWZjN29nYXd4T3BJWlk3U0pySExzNzk3QW5DaFQxbHplclM4STFDcWN1YmhnTTZKUlhJdzhVRjc2NnJ1LytHa3BXVE5DdU90emxlbVBsT3BtUHMzdEhyRmxSeGxCYXkwNUpRUlBTOGZQN24vSWQ5LzREb0ZBWlJ5Zi8vZ1hMZUVNRnNmTzVnN3UwUnJJNnJUQ3NMZTVDOW1vYVVncVJnU1NuMUpNUVBvcjB3NUhyNHNSNngzUnFPbUJlSGh3OUNrTGxzU0JJYW43MnRNTGVyQS9aR1hwN1V1aHk3QWs4MUY0Z0h4cTJMeXpoNnNxdkt0MDhoY0w3MWhRdnhPdjB3ZGRUNmYydGdMV1pCQTliclk0OFExUDdBdGdOaitEZjlvRHZEVWYxK0l3VnJCSjU3Y1NoRTAvbzRzdGNiVkNxa1RUVE5td0UvYTJ0cmhoYnJGNkZQRnl5R09PaU9wdmhoRFhUTFR5U0RRR2lCbFN5VWJhR3B0Y3FTQzhZZ3lWcFR3Q3RIMXpiRkZsTVJUN2gvNTg2Zkd4b3R6WnB6TFpML2phYzIxN3RSNEdvd1p0Q2dOYnFnN2FyRmNsaDRtV1pGUFIwSDdWcWZSMWZCRnhEV1QvbzQrZXB6a0dHU1ZGY1NFbDE0UFl2UDVaSE1qa0ZZQnN4bFVaM0FvQnJNMDRiekFtczJyUE9aOGZjYmFFSjBmMytZTS8vTC81a3ovOWZWWnlnaUVpcUd0UUdzQmd4am1qdjVkblE5UFV4Tmg5enVQeW9uSHArSms4eXVpb0JxK3ZES3V1NWYzM2YwSS9xSDFocms5RE1sT282MXBMM0JRZ2E4eG5OQlFWYW9rcEhFRjZEcXgrdXM1dzlBUGptblFwUllmVzlzMWNaUkR2eTJ4RzFnUHlzMTdCRlpGelBRN2pydldyNHZMblJ2VG4zdllpcEVodDY4SnlMS0JhdExsa3ZVUzFDVDF2NTNTcHd6UDU3R1A4dkNPWU05YjJtcFJsQUUxQ1hWZnM3K3l4YnZuNjRxMG9pL250RlVTZ3A3bXdQWUM5UUdDV0FqS0c1VUhmcE5YYmJ3N2w2Y0lpa2t0cjZ2L3VlY094YWt3ekFQcjNQLzJBYjd6MUxsVnU4Y3hlYkdlZkVkWjRwWmJnMkp4dXFoT2VVUU9QR3NlVWhxM1pGamFhQW1ZTnp0dUNNb3NlU0ErNHJsaCtTSkY2MnREbW9JMWVOWHowOEdNNlFwK1BIWForRGZUWDh3QnIwTW1lZEVSeENKYVdUT0tNekQyMkgvK0VON2ZlNE1ibXZoNmZ3bGVkU0lOeGRuMy9pZUN5MTZOdGxEdXI5NUV0NE9sU0ZuN0l2Q3JBelJjeXNldWZuRk1qNzV3TEdFNUd3VzFVME8ra3dvdkgwV0F6S0tOQnFNU1JuZU1iTjk2bFdUM0VuOWM4NW9tcTBVb29ENE95bWo2ZFh4N1ZGbE95em1aNFRueWVFR1BJNVRwMW93bFhiNVpoU2tWR3M2VVdZM1JTWlkzVnlsRGh6ZVord3ZaNVhsa2ZkbTBZMUd0YzFSRnNNWU5RT29pM0ZTRkhPaEdpZFFqMTU5eno2L2lpNHhySS9qTEhHTXlhclBVem8vcWdxclJmNmI4WDBIeTljdkUyZ014SmRLUVVOQ3RnS3BJRWpzOCs1ZURnUHYvaS8vbG4vUGlEUHlld29EWXc4WTVWWEFDWlNkTnczcmFEZFdSS0NXTlZ1elpHbU0rZkIyTDc0ZmNWd01VbG9OOXoxWWFNcGNuRTJGRlBMV2tWT0FxSDJGRjJ1Nm9Ob1h2RjFOeUlQdUNjS2oySUlyaVhtT3dySEJxWG1mdXU1c3ZmNjdWbCsweVBtbi9xZTY3OGlTM3I3dC92UzNlWFg0M2tTMEQ1NVRLeXVnMnhsQXNqT1Vmd1paMlVUUEVRWmtUNkVMclkwVWxnOW9wQWRwMlJkVU9UblNUd3hqT2JiQXd3MXZUNlJNTWgvV0xZY1QxVm9JODFUclVYUWFkYytQRGxFMEVGQ09kTGw5VlZkNC9wZVpMRGQxUVN6eGhERnNNaFI3UjBWRkl6TldQNDkvTGhyY1ZsaTh2Q3hOWFVWRXlONVV5V09Ed05FMmJWRk51Q2Q2VTczeFdqRUJPSE9mdXpJdWVNcXp3NUNLMTBSSmM0aUkrTDNXc2VQUi8xc2h6dmpRV0dwSzlvSFFhclZZU1lNbWNzK0VINkliTE0yRzExVWFTenhCeXgzbEs3bWh6S1BTSUdqTXB1dVd5VlpqQzZoaTdrSFM1eFkvc000VGd6S3dYQVNRNmFFTWhnOFRoZlVlRXh2bVFTeTBTTkRDbEgwa3J0cloxM1ROd0dYOTJhSU03VGRwSFFCVTVvdFRNL0FoT0c2MDROUS9wY3RkNGZlakc5Mm4wZ2hUcWsyV1duUmlTWEhoLzkva3YvdUMvYkl3V01wdUYrc0MvNWV1bDRqcE5CNVhObkJVazZKbVJyeVZaMXA5ZjVuV3VXN0M5Q1hBUFpMemwwMExhRUVBWjNsSzdyY0hhbVRseXUxTXdRN1dvV1UwclBwWWhtMG5wSlJhUlVTcU1FWk5wMnhXeFcwM1lyQlY1eGlhL0FXaUcyTGNhRHljKytERklJeGFMV0RweE5kVVBLWkpZWWYwNWlTUnRiRHA4Yzh1R0hQK05IUC80aDc3Ly9FNDZYajlFbmoyb2tyaVNxZTA0WkpCZHRxMXZlbDlQTFlQSXlkSUxlZjJsY2toZTUrRHZqNzVUMURZS3VvaWtBMDJ1UDlzdGdEWEtzdGZ6c3c1OVM0MW1TaUtYMDlnenozSmNMV1NPVUMxN3dKUlRZcWthaTlHblRDMytlUnZ1a3l6UERma0JNaWVsMFNraXErUnF6QXNmWmJLS2F2L1BWMDF6YThmTHpjeVl5WmIwakxGQmUxMHU0VVA2OS9Ma1JxR0RTMUh4NmRNYlduUTI2bzVaZWVUZW5nS0VoUzhKamdVQkh3RlB4NDUvK2lOLzQ5bStSNXVtQzlXV2Y3WFhXYVROZXVjYkduNDJWR2ZwdGpCSnh6aEZqcEhZMVhkZnk5aHR2WS85RU9lU2FrOVdtTTFkNWF0K3dXaTVmN1Fvd1lCcURoUDdjNldtekdMeXZDTEZ2Q09vejNxeG5LdjNyeGNXTjVMUFdBMnk5TWFHYkx6RFdncWpqVW9yRjdLVEh5Ykl1cVY4KzQ5NTdRZ3dzWlRtQStuLzEvVC9oSC83bi93QjM3SkVnZytOVzEzWFVkVTFkMTZ4V3EvVzVscWN6OGxhRW1KUWVzbG9zbUc1UGVXMzdOVDQ0L1JqTklkYThzL01XeStNRnUxdGZSVHE5MXRxMlZaazY3d25qeWRHd2ZJYm5RRGFRUkYzM0ZtSEorZUtjT1hQYVlremJiMXNmTXZxMXIweU1KdzVSRXJFNEZ0UWthancvYW4vRXdVY1BlV1AzRGQ3WWV3dHZaNnhPbDV5ZW5MQlQ3VkFabFJXVG9uc3FXVEI0clBOazU1U0xub3N1UjFhYWdKYTZwVkN1UmpGa0VuT1pjQXFPakxGYVpwZmNFVVZWRnRiWllMUU5Id1BPWVl3YTdxYVl5ZWZDVEthOGUvY2JiTTVuL01XVE13SXRUZ0o5c2F4cUlDeWdta3dJYzkwTTU1eWVqMWVwckl0T0lGTVpxNloxVFZ3dHlUbFNOWHAvMWE0Zm16SmpONjRNbXBHMWVaUmMrQnhSSmczcnlhUWV4LzcrTXNheWFsdG1tMU85dmxjdHM5MU5PaE92R2JLL1FIRU5aSDhaWXVBWVdTN2E1cWl6VjkxNGZOMXdmUElJNXpNcEorcUpKNmRPN1FqdGlCdDM2ZFZPSENrRlZpR3hXaTFZTEZiTTUyY3NseTBobnZPajkvNlUwN05ISEJ3ODV2SGpBOXJjQTRkTVpUeEJXdGJsZStIS0hOQ1hSVE1xYms3anpSaU9uc2xGelNBUDlyNlJ5RGdML0VYb2lJNEgwUmpqTUpucEc3NmVGMWRnR2IwT1JsN2kwK21VbUNNcFJWenRzTUI4TldkNWRvWmttUG5KOHp1UFA2TXpPSXNxUy9RTk41ZGZRYTU4WDE4VHgrZVAyVENiWkJjSmVFS3hKamJHVUZlZXR0UFdwajQ3cWNTWnpMSTdKNlNXaHVwSzhCOWpMTFNWenc3YmM0cEZDN25KRkRGOXNkeTB0N2lmRlZqaExWMXN5VEVSOHhjamdpNDlzVlBBZVV0dWRWS1ZZNlFxRUZwejVjV0FJYU9aeEh4Uit4Ujh1YnZLc1NyTlF3S1lUbitYcERQRS9tNDBGeTc0UHZwOHJHYWVZRDFaeW9WU1k0QjVYdkRrN0lnN2VSK2YxemFsdlczdGl4NTdJMXF5ZGNiaGNHeFB0N0NuQm8vSGtObndNMnBUWVpNcGhpWEZCVXBVdGNES1dtMVpSc3ZzcjJrUklVb21GbjdzNGRraHNVeEdJK25pOVcwWXBNeWUrVWdhZ2RvdVIwNDVZY1djTStZc2psdk93NUt2YnIzR3pla3R0bVpidE9jdElrbTNQMld5NkRtd1ZnSHBzbHVDZFRpajlCWm5JQ2RORkVqS1ZNM3p5OWRHMWtET2tPbWRGUkcxWlIxbkRNdjBvZEFVdE1ISkJzZk1UckE1c3V1M3VjTWRsaXh3dVZYNzhhekZ1L0ZFQklxKzhDQi85dmtCblhPTjhxL0YwTVdzd04wSUxZSGdNcVlxMTVHTXh5VXpBSHBqMG5OTzFtZEY0WW9idmU5N3VwV2dTZ1U0cFpZWXE2NW94aGlheXVNc3BLNGpzTVM4Q29pK2ppOHNyb0hzTDJXc0gxNU4wM0IyZHN6UFAvb3gvL1AvOGo5eGN2cVE0OVZETnVxYWVYZkNaalhsS2dEYnY0YWdLZ1I5WTVjT2dyR1VoRG8wMnhvdXJMT1A3a3ArN1JYdlhjWktWeUswcTViejZtVWRXOVovV2JCOUFGekdFR05MMnk2SkJFelBiTFNqc3VNWEVFTW0zam5sbmhuekFzZEE5MEM1c0gzRzUySjBzV081bXBPdE1KdE9xQ2FlU2UzcGNxQnluclRzbnR1d2taK3prMFlnT3dWMGZkUEU1VmRqNU1yM3JVQzJDYjhwdUcyb21wcGdXK2J0Q1IwdFVWS3g4SFZZYTVBY01hZ2FSZ2lKMC9rSjgvYU1HVk9rY0x6N2pMYTFGa2tLWnIxL21VZWNackdNOUpKSWh0ZGZlNE1Ibjl3RExKWFZLMTFLSnRGWlIzelZpMkJkVUlHZ3dNempjSGhjeVFNemZFVUwvbW1Bb21yWFdZcTlnQTdOL2I0SUVJbTR6dUdvNllDNmRvUWNjQzVyRTFUNzJZQXpvZW5hSkpsRUJJU3pNT2Zld1NmYzNOdkRpWExkbmRNc3VJaG93K1puaGtXeXdWY1ZYaHhlSERlMjk1R0hNbGlRN3N5MmFWeXR6VXRSOVN1TVVibXBuTk9GelBQUWdiNkd0SWdSWWxhaExmSHc2Wk9ISkNLaDF5em92enBLemw3SlcxNFhUdGF2RHRxc29LN2puRURnZUg3SzQva1QzdGg2Zzl1ejIreE5kMmp5aEFxSEUwc09saHlWUnBPaTRKdW1MTDZ2QWhtTXM5UmlTMVZwelpXOWZPd2c0NlQvSkpkcFhta09NeUJZZWh1QW5vcUFvQVl3NVpubkltelVFOGlCblhxWDEvZGU1K1RvaUhOYVVtb1YyUGRBTmdFbWswVllwU1hHYmF1eXlPZWUwRnNJR1lveVFNd1owMVQ0eWhOc3hFd3JGckZQaERDU0UreWZlVDAvK2hYdVFkRitFVEVXaktWdmxwUUNVYk54NERxMTNUVVdWMFdNN1FqcG5EUllrMS9IbHgzWFFQYVhJWjRGUkl3K0NEVUxFUG53NEQxZ0FheXdYcWh6WkJFUEJzZW9Lek5uSmJsbk1XaTZvQWhRWjBGRU14cFd3Rng2bUR3bE1INUZyRG1QbC9mbkpmZi9WV0lvMVkweW1hUFNyREdHTGtXV1hhRkJhTDZVL0lXa1l5bnIwdXpyWXJFWXNvczZXSTlIejJkcyt6QUMyd0xBeGh4ZllXTnpobXNFY1ptejFTbGQxMkViUXl1dE9pbTU1eWRkODNNR0NUTU1JcytoSHp6bk9HV1RhR1VPWWxnS3RLdVdKVXNtVmMyQ0Z1c2dySW9FR2hGRHhMbUtMZ1RPNHdtSGg0KzV1WHRyV0UvTzJ2emluRVA0N0l6MjVWaDNNR3VGd29ybGpkZGU1ODgrc1dRRXEzcGdMekhKZUlIb2dVQUd4SEZqc3NmdWRJYzZOMVRHc3pwZkR0bkZqSUlRTVZmb0RSUitONHdIZk1BbGxxR2wzblNjdG1mWWllWGc5SUFNZFBGaU5xdmt1b2FmQjllc1Fxd1ZnV1Qwdmovbm5JOFA3dk85M2UvZ1hEMFlTampuQ0NHUVVxS3FxbldLODFtUk00NUtyOXNrN0d6czRUQlVOSGd5MjdNdG1sUmpvaWpmMDdpaG5DMGlLdGNuRi9talZ1eWFLMjR0U1lSc0llYkFwL0ZUSXFLQTNQSDBRNmljMnRUZmV1UFBMdCtPQnFoMDNTbkNLZ1dFY3o0bWNIUjJ3czdaTm05dHZzMVd0Y0hlZEpkWnMwRTlxU0JCQ2hsSjRHcUJCRjBJbUpSeDJWSWJoM2Zxa0tqVW1LdWZBVDF3N3lmaHlxUHRnVmpmdkZScUdjVkJqT0tvaGNrNHNYaFJLK1l1Q2ROcXh0M3RPOXc3dWNlRGZLamF0QVJWK0JQV2piZ2lyTG9sTXMwS1JEOW5SbFlkWlRNbUpZeTFkSG1GODU3b0k0ZnpKMWdQYm1JdlBHTjY4NGllWnZCS1BSSlFNckpDTXFib0J2dGhQVTZndG81Z083eFA2Z3hIeERRdDUzbUZxVHd4WEdka2Z4SGlHc2orMGthWmlST1lURHkzYnUvaVNWU1ZZUmxhbHFzRk1TOWZXTXM4RDRQdDZFMEQzcGJtNFN2R0srZUd4dUlYaUtzendsZDJjRjljeTR1dTRKblJsNUZIVmQ2eUZndldreVBsZ1ZVT2xuMmhsUEVMaDdVV0VweWRuYTIzNlFXdEYzdlFwWU5aQWNGbEppSW04K1Q0Q2VJaTUrMFpmL2luLzVJUFBubWZadE56M3A0akJpYStlaTZRZlQ0WS9Hd2QxK2YvZmFUdEZsVDFoQ2dUVEExSDg0ODVEMmRhRnMwQVNTWGVTdGszU2w4ZVR6eDQrSUJmMmYrT0FsZVJBVUQxbWRrWDB1RWRRbUdjRmJDa05iVmcveGFiYkJCb2lTa29SOVFZa2lSUy9nSjBqaE40M3lBcDB6RGgzYTkrays5OTdidHMyVTFvaFkxNk5wemo0WjQybW5WTFJuVmdNenJvYXRNVUk4azFvV29zRDQ4UHFIZHJGckxnNE93eHYvZW52OCtpbXlNMUxMdlZNeXNnaGhGVHFSQm9nMFFNam83QXdmbERWcXNWdTlVV0tTVkNDRGk3THVscjgrTHpNN09TRFNucHJGa1NUSnFHRFRab3lVeVpNS3NtVk1rcGlzNFdYSStsTG02d09udjFlejE2Mzd0aWZKQTRucC9TRVZTdm9PZGw1RkUxWnB4eEhWODZ6NzhGNkpPV09DR2tSR0tweWhvc2VIeittRzEydVhHMnovN21ManZUWFRhYUtmVkdRMjBxOGlwaGphT283aXVOSXdkU2RyaTh4TnVHcC9QRXZjS0JMWDh6ZmdhT3VCRWo2dFFGMGYveW5sTFVMVFpiQ0lMM2xsa3pZN2Zlb1ZsTkVBUkRRRktaMkdUZDRVeGkzczJSell6RXoyUWZQVE1zbWNZNmZCYXl6OHlYSzlxWU9lbk8rTUhSRHdoRVZpeEtXOTd3UkI0b05RS0VWMkxJcm1Yb0VyWk0zQXFRWGJkNFlsR2ppRVNrSXlNWVdwUlcwdkZYcUE5NUhTOGMxMEQybHk1R1dUb3laMmVuK0Rxd1hKMFJhYkc1QlZxc0YyenVTZlBQNFRnbWhpWk9zZURMVTBSTGZJN1ZQR0t3Vkw0cVpWd3Q2WVlZWGhERTJrcy8yeXZlLzZ1TElYdlZqOWlEaGFzUy9sVXNmOTBvWmxBNzArR0orZ1ZnMmg1d25aNmVEbzEwM3J6b2d0ZkhyQyszalMxaUo1TWFPMjNJYmVUdzdESDNsaC9obG1xMUthUytnUFlLVy8vNWQxNWRxVElzUEprSkJrdTI1eGdIdm9ocHBHVW01NER6Qm9uUUJTa3M1Y3duOXo0aWZUTU5qWWd4Um5KeE9MS29Dc2JMVVF2NlhkSnNyQlhMZERybG5UZSt4dkhINnZEbGpDTitCamg3bWZXQW8yRkdKREJseXQzdHIvRDY3cHRNWXFQZ3BsV0FPcjdRZWlBYkxhd0szY0JuUTVYVnE5NUpueTFQR0N4YllVWWRKOVJWdzhmSDkyaTdRTVlSMnU2WkNmOExiNjhyOWFTY2NXWDRuM1BPd1pNRGJ0KytnWE9PNVhLSmQwNG5aaThRUnZUK2lsM0ExbHBOc0JqMk4yNXdmLzZBWFhNTFQrbU83NFgralJtdWIyOCtHOFE0NStpTU5tZ2RQSHFFb0tDa3YzK05ySldsQmpEYmIzNmZMUytIdmlRajF3ZG9kT21Mb0lLQ1Rwc1BvN1JZT2xvOEMxWWN4aWRNajJkc0gyK3dPZDFoWjdiTlZyWEJUWGVES1EzMXBLWXhsWjdyTHBQYm9DNWtwaHBsMkROR2ZObnUvcmxWajBnRitoMWh2ZDBLTXZXVHl4YXdWWWJLV0ZKTXF2MmRERGtZdHBzZGRsZTdQR1NGbzFvL0o3S0FWMXJIZVhkR3N2bVZPS0pHd0tWT09WcldndWt3dGFHTkt4NXl3SktXU0NZUzZkM2wra2R1RDJRajVoVnNZdVVwSUZ1MFcxQ0NqejZqYWlvTWlZNVl0SWN0eVVLUzdxV3JQdGZ4VnhQWFFQWS8rcmlxejdpUHpOMnYzQ2JsYzg0Vzk0QklsNVpBb0F2Z0t1V2RLZitWb1h3NGZqWE9LMzhyNllNc2x2ZGp1WC9yYW9zVWhTNEd1dGk3Y211aHk5cExITXZMZytid0RCZ1BmUDFJWWk2OS94K2loTk9Ed2pUOGJnd1kzQUEyWmRpdS9OeXEvOHRFdit6NWZFNUthUTJVWDJoN0N4MUNsMVJlKytZYzZGcHRTSWkySTlsSUtuem1SS0QybGk2M0Y5eUNYajVlY1NETENxU0ZTazBtY3F2NExwVi9Ea2lDZFVWc1BzUEVRVTV3Ny9BZUp5Y24xTk9HeVdReWRNNi9TaGd4ZXM2bEJ6bU9kOTk5bHg5Ky9BTUNRVXZuTWVDZEo2WlhBN1NhOWZFUURKNmFHL1V0YnN4dXdUbWNINSt6YVdhNDZIRFpNS1lMOUVBV0sxZ3JZQ3cycWF0VDFRTytjbTkxRXRteW0waXIzT0tqZXljMFRNaDBHQXhMbm1jRFBZb0JTMlZFVk1raEE1ODgvSVIzZDc3R3hzYkdRQy93M3EvbDlENWpzZDdWTEVNb2ZHQ0hST0hXamR2Y24zL0svdTZlV3RFbUlCdE1hV1F5aGE1Z3JWWHVJaU9zTFZ3QW1NYm94RFBFd1AxMFgvTnAxZzVBdExkekdMS3F3d2JiL2lTTkx2RlNnWkRSODFHS2FZa0ltRXhDQ3FkWU02eVZTVVF4dEt4WXNPQ1lZL3p5SWJQbGxFMDIrWHI5RHBzeVkxWk5tZFVOTTlmUUdEVlljTVpweHZlWmMxcExMMStsVHNFeTJ0aDh3ZkZxb0l6MENkdVN3YmZHMFVZdDZRc1pnckExMldTdjNlZng2akc2UnhaTEtEdXNtN0ppUVNaZ3pPUnoxOFFNR2RNbG5DUU1OY1pHL0V6NXhNdEhMUzJKYythYTlUU0pnUXRiN3MweEZlWlY0dUs1N3ljSXVsY2VOV0lvWjFXMUxvelI3YkZHT1NqWFdQWkxqMnNnK3dzWE1ub2RQNGtLUVo5Y2JySStkYnIraWhXZ2RQUDI5WjZUd3lPc1h4YXVWYVp5RHVjbnJMclZpQkpnMTZ1ODlDcXhmekNXdWJBcC82eDJWSGVoSDh3dkFtb3p0RVJmQWhhakRNZG43MzhmVjRPVDhUZDZMRGZNMkxNTzV1dkhPaGRvRkwySSttZkZ1RXo5MUdaL1VVRFdDaGxoeVp3b2tVd280TEozNkZJNWZ2TEY4ckwrMExzRGdReWZyWmM5M1ppeFNuT3M5MHczSnBwOXNKR1VXNkp4Nis1N0F4ZkErYm82dlk3eDVUZ3V4MzdlNDFCMllUMTlDQWlaWmdLaGdGYUxXdVU2Y2FYTkNLZ3RkSVpGbXZQbzlDRVRNOFhWQ3A2YzhkUkdmeFl2dytDZURFVXFyTWdTRFR6S2l4ZWlqT3FrUml3bVdkNjgvVFk3elQ3TGRvWExIa2Vnc2pVeGphK3V6emdPVjF6dkZrcExGM2dxdnJML0dxL3Z2MDRUYTFLWDJOelpKcDBuckZtM2ZPVnluc1JrN2FndVo5MWFxKzFSeHVBek9CR01lRko3eHM3MkZoMGR4OHRqRG80UFNHVDBLb3NYdG0zZHM3MitscTQ4LzBZZC9FSUsvSnlQT0RSSFRLb0dqT0RGTWFFaEpEM214cG1TZVJlVmk2SXZsRnZFV0Z4bHlZdU95cXBxUWRVNjd0UTNtZEN3Myt3alNXMTdVN0dMTnFLbGJjbysyMkpqbll3bEc0VmNpQ204V1NGTElKZ2xjK1lzV05FU1NZcE9odm5xR1A1ZHFBb05qNjlML1AvK005R2o5ZFIxMUY4SEhrSlV1Yk9xVkhJaWlZNk9GU3ZPV0hEV0xhbW9hSUpuWXpGaGoyMzJwenZzemJiWmJEYW9USVhMVHMwVXhHRnlLWkZoc05tam5FN3pUSXBZTHg4MkJyRGoxMlF6S1dlOHFUQllRbkpzMUJ2c05GdjRsU05nMFBTRTBNc1hDSWs1SGF0S3FEdXQ3SzJkQk5mWjQxeFEvM2piVEpFZ3MrVWV6TjZTcFZQUW5qSkl3a3BDellCWHFoUlRoVFZxTFNkTE1tUEZ0UmVLQWRpUHR1Znl1TEMrbC92OHRpWGFSQ3pqb0tzczJZSm8xK2VMci93Ni9rcmpHc2grcVpHTHlIakMrNUpOa29qM00ySWJsVzgyN3Z5WEVXQVoyK2YxQXZxNWZFbEV0ZkJJZUdldzFoVS9hNmNEVENtVHJ6SGpTMlN4NVBLUFYyZE5SZkxUOS9sVkdQV0ZNbnJQL2s0dk4yU01EbDR1Z3hmSVNiTlZxaVdwZ0tiWER6VlpocWVnbEFkdFAzajN1clM5RHVWcTFWTFhOWXZGQ29OVGVnWU9NZm1DUC92bkRnY2hkR3h2YkxPYXQ3ejMwWS80OXB1L1JrV0x0NDFLRG1VUW96elFaSVZzMGlDaFl5Umh4QmVwc05GRFdWUmU1L1I4eVdScmdwak03djRORW9tWTUweG5oamFzZ0VZM1FyUlFwMllaOFFLZ25XNVVyTTdVN1dmbURESHBjYXpzaFBNY1IrZjU0aUR3V2FHbW1oVXFQSlF3UkdiVGh1V2lWWTNUcEZRT2p5RjJFWXNuRVRsdk03REFJUHpldi9rWC9BLy8vZjlJWEMyWjJnMThWUlBheUdJNVozdC9rN053Um5icWIwODJCUlJVK095dzJhb2hBNkRhdGFic1JZSU1ObmthTXlOMWtkLzU5Yi9Mdi95ejMrTnhlc1NFRFNTQVZRWFBrcUhKR0tjV29Ubm5pMDFPbyt0ZXJVUjFNSy9Fc2MwbUdXR1hYYjc3dFcrelBkM20vSkdLZFlhY0VadUhSWWtvNzFsSTVBTFFuZlNObXBiT1dMQVdneW4zUVVhODBOU09nK01EV25kS1lNbUNPZTNFUUZxTmF1cDYvYS9QWEw3NGpPam5xd0taeUNwRkhJNEhKUDZpL2ZkTXFkamYyb0dqek9iV0ZnZEhaK3k5Y1pQemNBWW1Va3RINzI2VnhKT3RKNHRsbWVaTWR4cE9GNmMwOVpUdHVJM3RIRGZZNU0zNnE3alVrSzBsVmdKbDBtVnlJZ3VFbEhFaUNuU3RJZUhJb3VZS1ZoS1lqdFB1alBwdXhaLy8rVjl3d2hsTUhhdlZxZDU2b3JzZmgzU2xCMU5Za2YxK080SFk0YjArNTJMU01yaXRhbkxYbGZ0dk5EY2ZQOXQ2NHpCUjJvRXRWNW95dGl6YUdwYWhTSTA1TWpYZ2wwSzF0TlJZWHJOZlliZmE1dWJzQm52VG0yejdiV3Bwa0E1U3A3UXVLMFdDenVTMVJtL1J2KzZkRS90bXVJRTFZZlJ1YlVua1dpc2plWm53MWxJN1J4TThIc3VDUkc0TU1lbzQ0NXhBNlBpVUV4NzdqbjJicUwwbEI1VVk4NzRpaFVoSWlXWmEwMGxITnJuUTFUVHJickxGWkkrSTR6QWxObmYybUxlbldMK0I3ektzT2w1bm4zczhKRnVZOTBtSHdnRnhRWjlhUGQydHZUQkV1djRKcmh6dDFFK2IxaHpibmlhU3lpZUkzc2s5bGFBL2RRbklydHgveFpRdEpTQkllU3Faa3FtOWJ2ajZzdU1heVA1Q3hLWE1EaFF3MEdmZzhpampWamc4b3Q4Zk1wSGxjKzFhejBOSCtlV1orSVdDekpEMC9YSkt5MS9FTXNhSjFWNk94WldmRGV1TUJHZzI2ekpQYkwzK3oxa2dlOVZKZVZuMWNqbkhVUEhKZzQvNHp0ZC9GVkltNVlDVENpc2VwUGdyU1UvdTYvKzRsOXk1V0Vyc00wdGJtenNFT3BhTGxuZS84UzMrMmIreVZNNnhYQzB1bUljOWF6ZE1CY3V6Z01td09hbnd5VU1LeXBIT2hwckppS1BXWi9INkpvcWlkbkZoRGV2MGg4WGo4ZlJPWXhab2w2b09rVkxmWkxIKzlvWDF1SXpreUdrODVzT0hQK1hyZDk1bGNUSm4wMmxtWjNPNlNleTB5em9iUFQ1YUpSajUydzg3S1ZySk1HWjBuNVR1OXc1bXpRWnYzSGlkZDEvL0ZtY2ZudEdXVE5GT3M4dFJlMWdtUlFhUnVKNUllTEMxSXk4dnpuYUc2MUgweEVjQ08renlqYnRmWjZ2ZUlMV0oybFZVMDFLZUx4bHZLNUJLOTNaR0FhMGhZM0xHR1NrNFU0cmttU20zZWNJWnczbDd5bVN6NXVNUFBpVDJXUzRKbDhpaC9WbTY0bDU4NnVMUWN4dE5Ka3JpNDlVOXZzYzMyQWcxZTlVK1lSR1lOUnVrMkhmS00zQTFCc2trOFdTRFpreEZlYzRWRlZYcjJMSGIzT0VXRzJZMmxPNHpZRXhlWnhSSHg5TWFCZkxxbFdVUms4cmpNMkZjNHNuNU1jZjVtSlpBRWpVemNXa3RXckMrSkExclBlNXluZlUydUZtenZTSmdrc09aaWk0TGxURU1iWm5QbXJnL0k1SXhTdld4QVV3aVNxYk5oWktBL2p2TGN5WnR3MjY3dzliUk5udnNjWE4yZzF2YmQ5amJ2Z0huNExJVXB5dklXUVl3S3ozWGYzem1SdGxITVpyVTBGOHMzaWdRZE9Lb3hJeVBhUm54QUFBZ0FFbEVRVlI0cUhIZ1g3Z3lZVjZTT0Fwek50Z2c1WklleFNsUU5hamNXYjhkcG5jUnRGcGR3V0xFa2ZHWXh0R0tKUmw5RmxRNXMxM04yRFl6UHBGVWxGdEd1MUZ1cDc0SmE1a3ZaOVA3aWFLNnZ6WDRValRLNVc5eU9kUGF5dGJoMFNjUkJjenFQYWJLc2JCS2VkVE9aY3JrRzJxVWlxRU9jZGZ4WmNjMWtMMk82L2lTdzFXT0dBSWJac3JQZnZZQitiZFY2aVdtaERYVmtDZGJqNHVXRjBIUVJ0Uks4dmo4QkZjNWJ0MjR3OTN0dTl3Ly9ma3dSVkxuZUJob0JaZW95VlB2V2F5aXJySDFkSkp4Tkd5enpSbkxvbm5heDNxYmVpRDd2R3E3TWtRckVoR1BaV00yNDhsQzNlQ2NVMnBCdnFwYU1FekFoQVVMZnZDVHYrU3R1MjlyUjNycU1HSnBtb2JUK1NtdTlrZ3VFendSVEM2aVBXWnRTTmxQQnk1M2hxc0ZyMVk5ZHJmMytPYlh2OG5SMlNFL09md3hGWVVtaHlWYm9Xa2F4QW9odHVTUUlFRmVKamEyWm9RUWlHMUVDcC9PU2ovZ1doeVdON2JmNEp2dnZNdlVUMW1jekttbG9YSTFvZTFLeHUzWlIzQTlrYlhZVWxLWEVlQXczakZQQzJKaitNbkRuN0VpNEl6VkR2UXZ5SmpvNE9DQXMxdHp0dk1XZmxxemVMS2dtVTNwVWxxdm94QTkrMHlnS1pQem5IVkMwdk5xWTR6TXRqYjVxdjBxZFZYMXJmTFBpUjU4WGd3eFNyOHczbkR3K0lBRjUvcEJvVUwxd2lNT2lza0VaWmFSMStsVlVVNXNoYVhKaHBxS2dHQndtT2hwcUVpU1AzOUdUdFJpUWxLcGdKZzFOejRJeEt3Z01nQXJqamhrd1FPZXNMczQ1RFVXdkxrWmVOM2Z4Y2IxL3ZkR0tpL1NoTlFiUjZpYkhEcVJLOVF4NDlhVzF6bVBLVWQ5eGpKeWRIckVhL1d0TlRpVzRrcFdtaS9YWFArbmxXZWtUTW9xNzBteHd5TTQ0ekF4TTV0dXNMZDFBM2Y2b1Y0KzBuTUo5SytUZzJVQzc2RFQyYkxPUlZNdW5HZFhERFZNZ2RhMmNMREgzUmVhZSswMUlSVDZ5bWhMbGNBeVJlOVVNSVJTdGZGNElwR09ybngyblpIOXN1TWF5RjdIZFh6SklRVlZpQWlmSGg1d2RITEkzdDNiaEhsWGVIOTlScjAwdTRqeTBxQXZWR3IwUmdORzdBQXBWOHNsc1kzYzJML0I0ZUloLzhtM2Y1T0gvK29Ub0dMYVZKeTNDMzBVbXhFdFFaRUdDQ3pPSTQzMU5HWktqSmx0OXZpYmYrMXY4ZmFiNy9Ea3lRbXpqVTNHL09qTFVqeDk4OVZWWU15Z3NtYXJ2Q0k2OVVmNjNkLy9wNnp5b3VSRktGbmRNY0RNRjBpTmdSWHZmZndURGs0ZWNudmpMbUVlbVBrTnBTS0kxUjJMTmNuRzRnUTFHcXJNMWRPQnZwRWtHYWhzUmJkcVFReTNkMjd4M1c5OWovekR6RStQUDZDTGdRa05yWFMweTdZc2ExMW50czR3UDFrTWIybFBmZzhRREEwTis5emluZGZlNGU3ZVZ5QUliUnRvdk1FYVF3aDVaTkY1ZFdSVVhjRVZBTnNEZG9Cc004RmxaT0s1ZDN5UEo1elFGb2VpNFJ5L1NnaGdEUE04NStHVEExNjdjWWMyQjRMTmVDZmtITWQrQlpmSmlIcXNqU0hHaEs5cnBjNmtSR1VkZDIvZFhuOUgxbE8zbnBzOVBtK3EvYnZPdHVWaVhScGNKbGR3Y1B5b3dCS2xib0VDZkVLNkFMSFN1RHBWSmdJT3dRTTNxaDMyTnZZd0M0c0V2UjhFaTFTWFdkWXZIcDN2K0dqK0lYT2lDak5vVW5PUWh4WUxuZFg4ZDRyQ0tyZlVaQlk4NW16UmNyUTQ1ZmJ0ZmVya0JuV1Zsd3VMRTRPVXF6S1IxQWJiaWZLUnkzK1M4akFoVVhxV0lBU09UcC9BSGJER2tKTkJvaFMrcmNOYXBVdGtrZUkrZGpuNktrd2t4UmFWSEhaMDdaSjZPdVhtNW0xMlR2ZFpjSUlSbmV6Z0V2MkRMMHBwR1FDZHl4aFZzYkJSdWVJemFtN1Z0M2pudGErcGtrZDJLazhuU2lYb24xTmk0d1d0N1A3NVlJcVQySEs1eEZXV2FES2RCS1F5UkJjNU9EN2trL25IdEhRdmVjeXY0Njhpcm9Ic2RWekhseGtDT2FnTVRLREQwdkt6ajM3R08xLzVKcVpTa0p0TDlpNkxsdjRZUUMxd29iQlYyblg2Z1YwTUtXZDJOM1p3MldHajV6ZSs4NXY4NVYvOFd4NHVQc1IwYVFCczQ3eENQNTczQUdMbU4ybmJqR1BDYjM3M3QvbnR2LzUzMmQyNlNmdGF4M0xaWHV5T0xnUEJ3TVZMVndQY1BxckdFMTNnWE03NDJhUDNzTmFSRXlwNlg1VFFrb0RwL2VQNzdldXBOV1FPZWN5UFAvb2hkMzc5anVweWVzUDU0VG5UcWZxajk5bktOQUxiZmJQY0lCaC9lUnZMWUdjdDJPUUlxNEJ2S3Q2NTh6YVZyYWgvV1BHand4L1JFalVUV2dxWFZlMjFFU29FUWd4RFFySnhqZEpGNksxbEhSTm0vTmIzZm91M2JyN056TTBJSVlMek9GUnl5WnUxT1B0VnloSzZ1WTZNcFJJd1NYQ2lEbnpKS3VPMU5ZRTh0ZnpnMzcxUGgwb1Y1Wnl4M3BDanZESTF4am9nWnU0L2VzQ3YzZmtlNS9OejZtWkdKd0ZzVDNmUmt5a21qU1lQdVRCa05HOW1qQ05uM2RlY1lXTmpDMGt5a3BtQ05SbDdmYzZ1UEM0R2dzbEVLeXhpeXpHblpETE9tTUhvb0o5ZzllZkhsU1VtTEVVbUFRYzBPQ1o0Ym03ZTROM2JYMmN6YitIYW1xbHNVZUhJc1gxaFR2amxXTlF0WVg3Q1ExbzZJaDJXS0ZtM2NkUnpGaVVSZllKVTBTYkJrVmdRNkFnczBvcEpyTlFSc0dSanh3MnF6d08zT3VsMWFtNWwxN1BZYkZTUUtwV3BaQjVsNzBNT2VCeEM0alNmRUNXUm5jRjRSKzZTYWdLYlhPUVpQVmtTSXJiUVlpZ1VrenljdDV4VVFNc1pOWXJJSWVNNnkwNjl4MXZUZHpoYy9wZ2FhRk1MTmhZZzIybDdTSjllelVDQXBxcVJtSmhRc2NNRzM5aC9tOXYycHBvK1NJMDFEaXZGQzY4b0QxaGFzb21rM3RWTDlENzJSWk41c3VuQUpEb0pCQitJRzNDY0Y1eWZyY3B6K1RwK0VlSWF5RjdIZFh5WlVaQ1pkNTZjdEpIbi9aKyt4MS83N3QrZzhkdWFpY0NPcUl4aldrRkdtN3Jpa1BXN3NHaFJ3RFNkVEhuMDZJRHA1cFROemJ2OHpkLzhIZjd4SDN4S2twS05MWXR6bDNDTndUSTFHd1hFTnR4eWQvbjIxMzhWTHhzOCtQbGpLbE14YVJwNkJRQVlaelQwSFpQbHFVN3BQc1FLeDhkSCtBM0hhWGZLaCs5L09LaGdtTHJnaVQ2Ukp1dEdETk56RmRHc1k1ZGJmdml6Zjg4MzMvb1dONnJiSkp0b1E4djJ4all4OXA3dzBJUCt2dXU5VndMcEp3RFpySnRCQUd5MmlCRnEyMkN3eEJDWTFEUGV1djBXdFZUc0g5emsrKy8vRythY0UyZ0J3WFpGeGdqbGZIcnFrdFdLQ0k0R3g2YmQ1bzJ2dnNtYisyL3k3bXZ2TW9rVDRqeEJoRW9xM2F5VUM2MjBQNTRNbWZNeGNKTEM4VE1abkNSY1ZwNnJxbE1rbHFibHlka1o3NTM4bkl3ckJncFJ0V0JmeEg3dk0wSkVzRGdlaFFPT1ZxZFlxWEQxbEJ4VnJzbjBHZlJ5M2E2THR6SmNJMlBadEtyU1ppRm5MQ0VHbGNvcWNWVUN1VDhTdmJ1WFVKeWFyQkJjNXVEc01XZWNsd25MbWpvUWt3eURYejg1TXF5NTNYMVozWlVwbmd1R1RUUGpodDNISnMrMDI4Q0xKOFFGZkU2V3BFK1dONmQzeWN1V1E0NlZJNTZOR20xNDFuWHdIcXdWTytpaWhLaTBnN3cyQVhsUi9kNEwyNEFyZTl4UERsUVZJaENMSGZHbEtKNjBHV0hCbk5QVkNUdVRiUm8zSVRzaGk2cFRaREVqY0xIT2dGNnN6R1JTNnFpYzZ1bVpEQzVYc0lMYU5yeSsreVlmTFo4UU9FS3dkQ0dVckt3Qm92S1h5N0V4R1d4cnFmQk1xYm5MYmQ2WTNHRWpiVkRGQnBjcVZYNFlVdDRXUThTeFFDUVNqU2RZemIrYjdLaVR4V2V3ODVZY1c1eE4xSnMxQ3hOWXRndU9UMC9IaGFIcitKTGpHc2hleDNWOG1WRTBVMk1PZUN5UnlNZjNQK1NUaDUvdzlhOStrK1RBNUtpSmlKSFgrRkFhZStwUm1rY0x0amhqV1o2MTJPeVFGbkNXYjczMUhjNmUvSmQ4LzBkL3pJRzAyS2NHTEl1aHd1REpVdUdwMk9VbWYvdHYvRjNlL3NyWDhXYUNtZFRVdmlaMVlXUVhTZUdnMmhHUUxhOHk1cUdXTFpmTS91d0didE53OHZpUUIvY095a0xXQWh3RFo3ZU10ZU5sWkRKdFh0SFlDUitkL1p4Ly9jTS80Ky85eHQ5bkZaZllSa3VsYWpWWndDQkdtNzVLc3hSRzFvMlJveGdNUVFDVE5MUGw4U3BGbHhOTjFmRDYvdXZzN2V5enY3L1BnMGVmOE5NUGY4NXhQaXpuSTFOUlUxUFJvYzFyZlFiMjFzWXQzbnp6YmI3eHp0ZjQ2djRiZEE4RE5sak5qaWFnQi80aW1HeXc1bUtEenVYenBLNWUycmFrRklOSU1rSTJrV3dqblkxOC8wZC96aWtMQXFFQUZiQXgwNnRRdlFxV2xWeWNubWo1K1BFbjdON2RaeEVXTk5WTWxUUkdST21NMWNhc1lZVXlPSUNsbEVCZ1l6SWxoS0J5WW1hdEhqQms0aSt2MzlqaHZ1Z2I2WkxKUkp0cGZlYmp3d2UwUkJ4VytkWUdldjFQYzJGYlJzczM2d1N3R0VPV3pPSjhTWGVlRktnZEdmSkNzK3ZWem9ZcVlueU9xTVR5enU3YnhOaVJnM0RHQWtORUNMUlI3YitwYlFHelJvbXpSWEdsUWh1WnZMR0RRc0dnZGYzQ0hGbHRqak9pRFV0aWhHaFN5ZldHdFo5V2YvRExUWjVMcGpZUytmVDRVM2IyZHRtZGVHeGx5RWxJWlJ0bGNCMU02MGxZV2NJd0dUTVo0eTI1YURMUG1obGRDT1I1NHNiV0RYNWwrMXRNeisvelliN0hPVXR5Q3VSa3liVElRRHF5TkhncUhEdHM4aHEzK2RyMm0reWtMZXpDVWtlTFMzMFRYeEdETTBxcjhFQzJobXpCV0tzTmFPSXd3ZU1UYkxrSktjMUpyaWE3ekRJZE01K2ZsUng2ZnRWNTRIVjhRWEVOWksvak9yNnM2TGwvRmlRS2RWMFJ1OGhSZk1UREovZDQ2NDIzTUJhY1dMSXA1Z3l5SHJnVklQUklMMThobko3eHZ1YjQwU0Z2dlBVNkh6LzRPWk5teW5hOXkzL3o5LzhocmpMODh6Ly9KMlJhK2xHcWw0WXlxa3FLbzJHUEcvenQzL283L01iMy9nWmhubGkxY3phbm0rUk84RkxwcG96QW9pNUhIeTI1cEh2WERrTjlyN2pCR0tGck80eUQ0K01UN2gzZDArMHdocWFwYU9QSWVXcTBiMFAyRjZWRnVJa2xMZ0kvZVA4ditWdC8vWGNnR0RZM2R0VGh5NmpWck10ZUMrc1dzdWt6czJXeG8yYVZjUmdVRk1SVkl0dU10dzdKbGh3VDNucDI2eDFtcjMyYmQrNjh6Vzk4L1RjNVg1eHhkbjdDeWRrWjg4VVpiZGVwNWVwa3l2N3VEZlozOTlqZTJNWmFUMmdEVHo1OHdpeHZNbkdPMmxudC9nYWNWVnBCYnpCZ0paTnRIcmlHSWxiTHM4Tldyb2toS25VVXlUYlIrVWpuTzM3NDZDZDBKQ0tCeWJSbXRXeTFpY2xZbGk4anZmZU1pQ1dEZCsva0FkLzcrcTh4UDV3em1VMmdCWkZjc3ZSOUpxL1hQTzJWV0RRakcwTEFHRU5kMTNSZHQ3YTRmWTQ5b0poU1RURGxLSWlRRENRYnk3NUhIdVhIQkVZU2E2S3VoTWtJNGp3NXh1SFN5djIxMEFOdjBlNTd0ZVJONUdTby9aUnBQV01yYmVHdDV5VE4rYndzV1JNOWQzZnVjbkp5eEZtWW81QXNJTFFZRWwwUWJSdzBhakloUVgyblBKWUpGZHRNOEZacEJUMlFIVndJeTcvUHNtbldUTFpCOXpRUVRVRC82d3FRN1ZPcHJKOHRSUkltNXNBakhuTTNuckZodDZpOEo1UEt2YTU4MmFkcjd6M2Z2VlJYbkdDOUpZWVdheXl6ZWtLM1RNZzhNSjAxZk9mdU4vRUhGZUc0NHdsUDZGZ04wbVdhRi9aVU5FWGx3YlBQSGwvYitocHZibjZGZXVtcFE0M0xUaDNSeEpPTW9SZENNOFpUaXkrM2ZZMUloYkVWUm1xY0tmYTBDWEp5V0Fra0VlYkxNdzdPSG5ISWNUbEMxMUQyRnlHdWdleVhIUDNNdVgvZ2FJa3RrYlBCMkw3a0kxelVOMlVZZEhOeGxERzVMRXRnTEwrVlRjWU1GcXR5WVoyL0hGR096UGdCZnZsM1dSKy80ZGpKeFdQYjY4WU9yMlVaeGlyUFZFUndPRUwvRjE5RXN3eVFJMnh1VFRrL1hiTHFsbXhWTzNRaDhVZC8rZ2Q4ODkxZndZY0pkMisvVG5lZW1KOHUyTjI2UWVwZ2NiNWtZMnVHU0FSVG1qSkFzNHc1Nllnc2pxN3IyTjdlNXVUb2xNM3BGckVOT0JxNjg0Ni8vVnQvbjI5KzcxZDUvNk1QZU8rOTkvajA0VU02V2lvYWRtZDc3Rzd0OHIxdmZZODd0KzV5ZS9jdWxYaENUamhuU1VGNWNGS3VQejIyQmlPRnA5ZW5YekpNSnhOV3F3V1NBazNUc0Z3dWlUR3dmMnVmMEhZczA1dy8rS00vSkJIWnFLZDBZVTU3M3EzQjY3cnllZkhZVWM1QnBlZnBLQi95Zi96dVArSWYvSjMvamx1N3R6bjg4SkE3MjE5aGRkWVNncTdiV3QzMjZBSjE0OG1oVDIydno3ME0xNGVHZDlvTExUa1ZicCtEckc1MzNsWk1qV1BxWit4dTc4TjJQL2ozTkFnTkkxWnBGcTNTQUJxWllKekZpOVVxS1ZtUG1WRzFoaWh4dkpjWGJKTDc2eFdnQzVIR0tpODZGcVBON0JLZDcyaGR4ei83bC84Y1o2M2E2cHJNcXAxckJpOW40aGNBWXZ2bmpjUHpZZmNKUDMzNGMzN2w3cmRZbmErWXVocGlIaktiSXBySkV4RmNYaXQ3ZGtsd3JrSkVXTTVYeWpmT1pSSjBRUzlxblNudGJRRlNWdTVyMTdWc2JHNXkxcDZ5U2kzVmJzM0hEMy9LRWVjRU1pM3RjQ3hURWJlUEtUNzdIcmJsRnFvc2NTV2NzZUxKL0pTdmJFWWFFVUlYdFdITWFhYjU4NFFWUnpycGVHZjNhOXpZdU10SHgvZjRhZmdZd3prMUVjSFEwbEdKd3dVMVNmVkFqZU0xZjRlM050OWdZdXUxUXNBb1BndkE5aUdpU2hHbWdWVnFhVzdVbk9iRWgyY2ZvN3JaNVQ0WXpTZXlRQ3N0RGpqaWtDZnRZL2JjSGpBbGQ0bUptVEJ0YWlSZG5HelpvZ0pSbHFKVUVBZXJ0TVE3RDJKWXRoMlZhZGh1R3VJOFF4ZDRhM0tiRzNjM2ViUjh4TU9UK3h6eGhJNjU4cG1aTVdXVEc5VTJ0MmI3M0d6MjJERXpwcUZta2lwTXo3TWVlTG9XVENKYnNFU3RLQmpLQkdnTnMvdmZPMGtrSDRrdWNKWVdQTzZPT09GTXJUVmNlZ0ZWamV2NER4SFhRUFk2cnVOTGpsU3lRcURhc1luTWsvTkhmUDhILzVyLytyLzRiL24wM2lmTTZoMTJiK3d5UHpyRlVyTzN0OGR5TmNkWVM2L0RhcVJrR1lzdUtxUFNMUFNsUklmZ0lIc2t3VnQzdjgzKzdodjgrcmQrQjIvZHdGYzBvcnFaOCtOVE5tZGJUTndVSWxqdkNpZ3JnK2VvUklpWVV1cWxBRDVMa2tnMEFmR1pOZ1djY2N4MlppeVhjeDRlUFdCanArRUgvLzdmY2RvZElpVG0zWExOQyt6ak0rWmRpOFVTc3JwalBUei9sTC84NE04eGJ4bHU3dC9oMGVFQjI4ME8yOU50dXRqU2hZRHg0TDFYZWJQeGFvd2hrd2RhQkZ6azlJbjB4MU9QdHhqdGhPN2R0bnFadElHRFMyOXBXcFFLc3VsN1hkWk5UQVdvYVhaU2l1S0VESDgvSE50UjJNSTV6VUJsb0tvYzZvQzJJcGxBOG9HamNNTDkwOGNjeDJNV3pBSFZLdFg5WkdULzhJcGhJRXRtem9JSlUrNmRQT0R0cjd4REpWQWxVeVRCYktFNjk3Qkc3VVlIZDdncmdPQ2FPdlBzMEF5cUEyT1U4NXVDcnNWbnpzS0N4L05ET2xJcGtxZCtjNHU5ckIxZHU2d25TK09EWXFDTmFzUXhwK040ZGNiNWRNWDJkQThiSEczYktRKzlONmZoNVY0bFc5cmppTnVvdWJHeHdkWnJ1OXh1WCtmUjJXT2VyRTVZcGdXUGVJekgwZUJwc0d3eVpXK3l4YzJkZlc0ME4vRHpWenlMMW1LOFl4SE9TVTBtbWNoUmUxcXk3R0YwZmk1ZWc0TG1jRnNDbjNZUDJWNXM4L3JXNjFSTTZlWWRKZ216dWlHSGt2VmxWUGtZTk5MMUxHYWpEbU0ydWVFSVdiSDRwSnpwS1RWYlZjTmUxZkQ2eGg0ZEs4UWw4Qlh6bGNHYWhrbjJUS2lZSkUvZEdVdzA1QmlwVEZPMlYya2xZb3ZMbjRGTUpJeHVReWtUOHVSVThTU1lqS1FPTjRNd2dWTTU1MUg3bU1jY0ttWElpODQ2ZjVueVF2K1J4aldRdlk3citESkRvRjBWeHlJTVVkU21kY2taZi9iOVArWS8vZXUvUlN1Qm1kOGt5SW8yTGRtc0s1d1hRZ2hVamZKUkRlb0hEbVdZTE9CS1JvT0dpQzBBeWdJT2t4MG5ENWQwR2F5ZDRPdUtxcXBBTWpGR0pFVnViTjNCQUdFWmtaaHd4dU90Wm4xamlxcjNXaWdPVXJKQXZjc1FaTnpFMEthVmxoQ25sbVU2SjVzS094T2lySGk4UE9hUC8rSVBPZUVKbGJHY1MxQXcwUk00TllsM1liRG9meFNqcWdLNW9MSWtpY1AyTWQ5Ly85OHdiV2JjK3U1dG1BdlJSTnE4SWttNmFFRnJGTUVNSmhOOXcwdlJtSDFhYWFFTTZ3VklJbWpKc2tRUGx0SkE5WEJyYm5DUkFsT1pyTFh4UXVaaTZid2ZURFhiL0hTMng0eU9oVFZRT1kva1NKdFdSTk5SelN3cm03ai80Q0hmLy9nSG5IQkMyNE5ZVXpLaStZdnpJdW9UZjUxRUt1RER3MC80MVhES250MGdkUzFlSmlOVEVsdjJUeTEwbjdsTVdjT2M4YmRrOURyZWZtc2RHRXNPRWV2VTl2Wm9lY2o5ODhlMDVOTGdsZ2NTeG5ERXgyQzIzOFpMWUZhdjRreEw0a0gzaU5kV1Q3aXhjNE5tbzJHMU9xZWh3Zy9aMEpkOWhWbTFxZTVUQzB0ZE8yNVhOVHY3MjN3bExGbkdKVHU3VzZRVVZDcE1DaThXcXdZTlMwK1ZuNTRFdkdnb05TTmhLc2N5ckRBVE5XQjRjSHlmdHBBTGloM0U2SS9XMng1THB2dFRQbVY2TW1WdmU0L1pkRVpZSmxaZHBMNEVMejRMY3FkZW9FSXlMdXQ5RnVZcnhHYU1TelRPVVBtRzdDb2drYVhpWnJORHloNGJNeVprZkFjdWlhb09zTDVta3MzbEh5UXJSYWtsS3hCRnM3WFpHTEtKK3Z6ekZwSEl5cXlvTjRTbFgzRC85REgzdTRlc1dJR1A0QTJsUkhjZFgzSmNBOW5ydUk0dk9aUktacFFyRmtQcHEzQThuRC9nZDMvdi8rTHYvZloveFdUVGMvenBFelpudTB5cWl0UFRZNnlVRE41VGNnVmwySlplOW5zRVpnMkZsS3NOWTdkMmJ0T0dUQWdCVXNaa3dlSlZuTncybUpTSU1aS0NOam9aQjlsN2tJRnBodklkblpidXhBNzJ1UUNUU2NQSjJURk40L0NONWVSa3lXSjV6dGJXbE1sdXhmZS8vNmM4U0IvVFViSnB2WXRRWUowSXlyWUlrRUdmK2V6M1dlVzZ0SHZaMTVhMmJmbGsvaEUvdnZkRGJ0Kzh6VGZ1ZkpQMjhaTEZZczdFVFRIZWtGTW1wcUNnL1psbDRWeXlOaGNOQ1M0Y2FyRVhzcmU5R00rZzRpdVhxQVVGd1BiZTlGSWF1WHBYdG15a3JLdTNUYjdJSjd5OEZVWXNsYlBNbCtlMGVZWGZOTWdFSHMyUCtlREpoL3g4OFNHUm9HRFpsTGF1cHl2RnJ4eEthY25NWlFVYzgrbnBBWHViYnlPcnBFb0FaUUlscHM4MTl6T1Vxek94Y3VuM0Mrc1pyOWRZc3F6ZHpGSU0yTXBnSzhmSnlUbUhIQkhLRVJnTEFGemdSWTk1NWVNSjAzanpLdFgwUGVTWVQwN3ZjM2Z6Rm5YdDZacUFjMmIwQnkvL092TmJ0S0ZqT1Y4UzVoRWFROTAwVEh5Tk5EdVlEbkpNR0VsNERKV3BjQmx5aktST01PWlZodkJNbHdMMXhDdDRuRnBPd3puMzV3L3BDTVNoSWdCckcydjl1MEtBSTVOWnN1RFRjSi9icHplWjdXeFFOdzZKaGxWWVVSbTd2aDlLcU95WFRzVFdqYUpXYlpkdEhqUmNqY0NrcnNrNWtwSnlyWTNVcEpSSkVzbEpFSitVc3BPTlBydXlWcFdjdFhodnRaSE9hQlkyVzcydnhLeXRuOU1nZE56ZjUzbkkza1lib01tY3VnVUhxd00rT3Z1RXh4d1JDRHhqcG5zZFgxSmNBOW5ydUk0dk1hejIwQStDNWhIMXNIZmVFR1BnVDc3Ly8vRzFOOTVoOTFkMjJkaXVxY1VTd3BJVUluV3RaVE1qZGlnYnJ5V2xwTGdiS2RBczcraFhBSXh5MWs0T2o3QldOU2hWKzFGSm1sa1NJVVltVlkwWGczTWU2eXJsdzJiQlduQ3VJdVU0UE5ONzZhb2VKQWtRVWpjbzNuU3hCUmVaVER5ZExQbmswVWY4MlkvL21KWUZpVVFucWc5SlphQlRCeVhKeXYrMTQ1THNDTmlsc082TUQ2SWd1RXN0N3gzOGlQeHZNNXYvMlJaYnpRNHp2NGwwd3YvZjNwcyt5WEdrNlowL1B5SXlzdzZjQkVFMmorWnd1alV6M1R1emtrWW1qVFF5alVZbTdZZjlzTGIvM241ZnMvMEQxdFpra2t3bXlTU1p1bnZVeldsT3M1czNRUkJIQVlWQ1hYbEZoTHUvKzhIZEl5S3pzZ0FRQUFteUVRK3NFSGxHUm5oNHVELytIcy9ydkVPWldJZmRPVWNocGlPanZYa3BTbkZGMjJodkdkQUxMZWpiRFB2cFFyVGJ6cktianowRmtLZ29RQitVcE9Tc25BY3U3Ull5SVU2eHR0a0t1eHErQzY1QkswK3hWU0RiY0hkeG43Lzc2a00rZm5DREpVMHNnVXJBNkY0NG55SlpJM1VNMG43VytWZ0JoVVlxaDhkemUvOE9mM0xoaHpFQnlXVkp0bnp1WGJpR0l1QlZsa1BLYlptMmFSR2dFbEVsUFk3TjM2MFFRb29kTmxyanZNU0ZEWjZqeFVrNmUyazlGU3NRVFZ0VkpQMmt5YnVWS0xnUHhNdHNOY0VIcWxDekozZTVQYi9HWkxkZ2RHbkV0UEhvRFlVZW5nUTZhSUtyTWFMWkh1L0dVc28wK01ZVEdrRWtVTldMVmxvcktKMlNsUlJLalRCYXJlY25maTBFQmQ3WEdLVXhXeFp2R3g0ZVB1U0VrN1Q4a1doeVZ5b3RmdW10QUtJdm9iRTE0aFJISEhIandVMTI5QzV2YmI5QlNZRTdkVmlyVzNrL1dKZmZBaE4wdTZBRDhDcHFhcU83UkRTUnVFQTJnTkVGcFkxVkR3MkNrbWlOMXhwRVNkTERGWm9RYUZLeW1hUlFBdCs3VEczb1Nrb0cxWkovTDh1M0JieHBNRHVhaC9OanZqeTZ6VmQrTDJrVkVEdktVQXZoTzRPQnlBNFk4QUtodFk2NmthVGtFMkxzbVF0eENxNnArRS8vNVQreVUxN2t6LytYZjh6MFFjVjhXbk54K3lLRU9FbmtwSm1NVGlRK3Uvc3pVWk5rcmFYOXhzaUExb0lXUlFoeFVvNTZsQ2E2Mm9KSEs0Vk9ndXMrTkRqbkNFRmhyZTYwVGlWWkpDWG1YdWVKYWJGWU1Kb1VlR21ZTFU0WlR3cTJMc1ZTdlAvdDUvK1p2Y1Z0eE1TSVBCR2dCSWducFhUVVpOV3BYbnB1bTc0a1Y1VDd5bkpheEJGTndYRnp4Ry92ZnNERlgxN2lMMzd5ejNqbDFXdFV4eFhMNllKSk9VR3NNSjFPS2V5bU9xMHB4QURRU3RycytGVURUSXE1YTlzOHVrU0Rpb21Ca21ic21GWHZNVUVSZEV4eWlvVFZ0bVU2c3dVV3lSWWpIeTNiNlZpNm9nSXJQUWNsNEYzTmVETEM3eXIyNmdkOGNQTWpmblh6NzVneVJabElBa3dpanlIUVplVXJZbHlHMzJUeGZYSkk1dkhLZzRrTGozdUhlMHpuSjJ5cnE5SDYxbXVqdkZYOTVVRmFCL1RKZXY5c00vbHBJNDk3K3drS1hQQ01kU3dtSUVwUlZSV0hwMGMwMmJxbUF5R1FTbGFrK002MUdPeW91YnhxSTI3SnJHOFFaWERBTWFmY09ibkZ4ZkdZSDB6ZVNGckh4Vk8zbi9lQ01mR2UwNEQzRm9KZ1ZWVDEyTjNhU2lRV3ZQZTRKa1ExRHEzUk5pZlFQY1AxczVxbHI1QUNIczVPMkR1NmgwT29hWkpsc3ROZDdYMnJ0Vm91eGFmYnJ1RXVkN2w4Y0lrcjVSVkc1U2pLYWluQkNPZUd5Umg2aVh1WjBDb2ZsNGNDdnFrUkQrSURPc1RrU09WamlXVW53dGdTcTVEcDJLbERDdDBKaEZRaU54NTd2TmR5S0ZIU3pNN1NiUklWQ2xxMUJSMUFOVFM2WmhFOEQrWXhwR0JHRlJNcU5Yalg3bTdBZHdBRGtSMHc0SVVpdXY5ZDZLeEdDbkNoSmxZSUYrNmMzT0xudi9qdlhObSt6T1d0VjdGRmNyMHBtNGhqUjJaYjY1TUtTRHVBOStXNmVrWVZDVXhHRnEwRTV6eE5zOFQ1UUdGTHJMVVlyV05XcndjSkFaT0lpb2pnSmFBRG1KYWRhS1FOWjBqSDFHTitQalJ4bjBaeCsvWlgvUHJYNy9IWndhYzRLdlE0NEpicFM1clcwaEZxVDlTejdVK2l2aU5peEJLeVB2aVlnYStBZ2h6WWlBczE3OS84TmFNd3dmeTQ0T3IySzVSbFNSTWNvZllZWStoWWNaNW8rM0VFeVJxYjQxbVZTa1JJVnFxRFJTc08wWHFiaUd5WHFOVmQ1eFUxak5hTktXZXFqUFV0emwwVDl0dEFKM2Q5d0JMTGllNGZIL0RCN2QveXdlMlBtTExBNFVDNU9HbUhTRGdOZElyQlNzZDR4MmVjakJWZ3h1QmNkQXRYdnVHWUUrNDl1TWYxcTVkN3NRSTZFblh0bjlnam0wVmJIbVh3N0ZlekFuRE9NYTFQT1pZakZDbFdXOU9KbEt3anZaNUpiTkhhM21PRnJkWUFyendlamFOaXo5L2w0dUdZaTJyQ1JYK1ZjYU0zN1BpSnpoQnREU0xRTkEzQk5jbTZETllhckxHY25KeEd5N2JSQksxUXlpREdJcllnYUpDd2ZLYWt2Zkc0NUxBNm9pb3E5aDd1c1JmMmNiaFkxYXN6cEhjVzJUNXBWclRlRnRjMEJCcjIvVDUzN3QrbXVHRFlOaE1JZWVGeUZybjZJSnBrL1UxdS8zVGZLV0JTbE9CQnR6VzBvM2F5R0lVS2pzWXY0NkpJcGNwbXlzVEZ1OVlFWTFZVWVuUTZhQk15dVlXQWFVczg2eERRcWFLWjZKandldXZlTGU1TTczSE1sQkFEalNDRU5qWjg0TEhmRFF4RTlnV2pyVmJVV3JaMEhJQnpxYy9XNGxQRk55MEFBQ0FBU1VSQlZORVBIc3N6dmtKUnA0RTJkQ08rckJFWTRsc3J0cGU4Mys4OTF0MjV1Um02Yzg5WnMrYk05em9Ta1ZmcUhWYlNRbm91c1VSU1ZnTHVudjdvZmFzdUVEVk9SNk1TMTlRRUIwWkhyVWFONGpkZnZjL096M2Y1My8vMS84bUZ5NWM1ZnZDUW5ja1ZRaGlSM2UyU2tyaUVMcHdBb00wUVYvSFlWU3JCaVJKT3A0ZE1SbU9zdFl6SHNkNjkxaFp4UXRVc0tVeEo0MnZFSzVTT0U2OVZJencrU3ViVXJwZjhGTjJlN2U4cm1FeEdMTnlNU2lxMkw1ZFU3cFJmZmZnTGZubnI1M2dhdEJWY2FtWmRwdHdMZ1hJeW9wNTF1ZTZ4bWRkVUc0V290WnBkL3E1MzJpcWU3MEptL09MV3o1ak5adnpMZi96WHZIYjFkUTRQRHFsZHpaWGRxNmlGYmllMm5IZ2xrc1RvazFVMGh3Z0lNZFl1bW1mejcyUS9lV0tMNU93MHlLRVFPcFBlYkhIdG5ZVUFRZWsyTmxiMTNMY0tWdHpXV25KSVEreTNYbnZDcE9aVXB2eDI3eU4rZWZ0L2NzZ1V0TUlVQnQ5VXJWUlY3dnZKOFBzMSsrdzVSQzBSK0dJeXhrMlhvQlhTTkhnczk0LzNxYTc5SVlVdTBVbXJUa3V5dFBkaUxiTTd0eHVkVWdKV2lyVldiV2hNOTc3T2xDSkFFUW9JRGlrVWxmWXNWYzFEZDhLY1diSWFkdmRCYjNrUkgvVWlHWHF2cnA2MTFWR3VTOENXQmxjM25IREt6ZVZOTGl4MjJTNHVFRnlKRnBXVUtYUWJUcEpqUWZNbHpBc2VDRzJwWHE5OHZQOU5vQ3lLRk5vamhCQlkxaFU3T3p0NENYaVJXRXhDR2J3RWF1ZndvV0pjQUxnVXZxRTdjb2crczJEb3VsSldDdkRvaTU2amc0ZFVxdUx1OGk0TkRRWVR2UUtaNVF0MFNWNGJyTDhGYUN4MTAvQ1FoOXlvdjZCWUdINXc0VFZHb2NCNmpRa0dHN0ttczBydG8vRkpIemxLQ09ZeFdMZGpWdFdreFJocDBabjZoUkRKdlRHeEJHQUk0Q1ZhcUlPa0VDbkp0dDdjQURtNUw5MWZFb3RTeExrM2dQSTQ3V2hNdzZLc1dKWVZuMDAvNXk3M3Fhamo2R01VK0dqUkxVcFkxZ09aL1M1Z0lMSXZFTmtXcEJCR2hjR282S1FwekJpYzRKczQwYmQrelRRRHFhQ1JFQytkS0VIalFDeFpqRDRPL29hZ0JhVUxYS2h3THQvVUFjbnVvQUthNzNtY1QyRUxnaE9Lb3FCcWFyYk5McWVuQ3dvbWFHWGpKSmVzVnBGRStEYlVLNUkya0Z4OVNwbE8vNVJBd0xDWVR5bTJVNHhhTXZVWnJaQlJjaTg5dlZjUG9HY3hpQmF5cWtvWFJFRWRmT3dieE96Z1gzejBNN3lDZi9tWC80cFhybDFqZi84K0Y4ZHZ4R3Nmb2d5UmhCd3ZteGRJZ3RCQWlpTlVXbERCRThUaHZjZU9KelJBNHoyU1pqcHhkZFNEdFpxRnI4QXFsTko0SXhoRHRDSjVhSnpET2lINFNETnpIRzFRVUlVYTV5cThsYWpoT2ZIc0wvWjQ3OE9mOFY5Lzk1K29tRktPTE10SzRud0RoRVhYTHZVOEZtbVFSRnJ5TllrSFNGdVNLclRucVJFZnVsQlVBUitMZURKbnl2dUg3N0g4MVp4LytOTS81NTAzL29DdE1PYjQ2SWczUjIvUm5IaVd5eVhLS0NaYkkweHBxT3NscytVTXRDQWFqRlVvRTQ5QkxOR2xHMEEzdW5PRlN4U3NieStwb3IwbmFWK1A5M0hzaHlrRVEybFFCaE1TNndueEhsYWlJSlVmOWQ0VHhGT1VtbUk4d3JtYUIvNkkrK1VldjdyeHQvejI1a2RSMnhJWEt5dFZuYlUxTjFkN0RJcTBZdWkxYVhmSVhYL3NQZDQ0V2F2b3IxOHNsdWxIUEZ2akxXVFpjR041ay85Vi9SbGVLU1pXWVJxRFZZckNLdXJhVS91S3lXU0NxeHdFalVqeUpraGExRWtrcktoTVlDVXVNTkpXRWNNMENsK2dkY0hSOGlIVnR0QmNVYngzNjMwV0xHSy82NVhoWFpFY3krZmY5cFc4RnNyVzhmU3JWZGMralY4U2JYYUJHOXpuNEhERytOcFZyaFdLc1M0eFRqR1dnckdNc0Y0aHl3YUNpbTV2QThvb0doMHJyelhpWXFrRmxXdlJncE5Zc0tFMVhsaFloanIxa1hUOWtrZkNHdEFXdkYzR294YUxDUVlqQlNab2JJaWVES1ZpMWJUb1pvK21aMUVCQ1Exek5jVnROOXc0K1pUUDk3N2dtRk1hQWt1YWxzUEczKzNWaXFZenZraGVQRHBZU28xU0pWTTU0VXNXVEdjbkhKay80TjFyUDJSY2xZenJFYW9aTVpJUzAxaDByYU5XOHJiRnF4aFdwTDFxTFowcVcxaGJBaDEvVmJUckdTdGkzSGNtOGFoZTFFd3lCSG5mWUl4cGkwYUVFR2hDYkEvbEE5dUFsa0NsR2hwVDQ3WURwMmJPN2VsZHZ0aS95VmZjVGdvT0RRNUhkcHhwb1A2ZXo1Mi9UeGlJN0F0R29nNVVpNXA2MmFCOGpTbUZ3cFJNUm1QbXl3TlFMcm1NQTRoQnNsQjRDb3dQS29BNHdLWkJPeWFTRUFKS1I4bVNyY2tPRXpPaENoV0NpL3FldndjM29uTU5tbEVjc0VXaGpHV3lQVWE3a3VCalhGa1U3Z3lJaXBWWTJ1UWFFWXhQMXU5VUdsU0xqc1JXQ1VFOGx5NWNoTEdqTE11V2xQamdrZWZTZHQwQXZFTFNlaE9YVXVCU1F0V0NKZTk5K0RjRVBIL3g1LytVZDMvNEp4emVQcVhVMnhUR29vMENNWGd2Qk9mSW82NVcwVTRhWEpMNTByRnFrclVqYXVkN2xueHBqMEhTNUZxT1NrS0ljWG4xMnNodFVWaGJwQktqZ1dWVnNheFBFS01aN1l6WnVURGhjUDZRQzlkMnVIMTBnLy84czMvUGU1LytITWNTTTRLWmR4dXFrZldSU2NYYWFpRWJRZGN0aGYzSk4wOTBKaEoySWZDNy9RODQrc1VoZi9UdUgvT1RILytVZDk5OGx6dS91Y3ZWMFZVdVg3MkVDdzNUNlJRM2F4aHRqYmg2OVdwTXdBc05qYXVwZlkzM09jMGxCb1ZvNlNiTnZDaHBGeWV5V2phMEpiVTlkK2Q4dnNEYWtwSFZzYXBROHI1SStoMGZQRVZoTUlXbDlvNjVWRkRQcVgzTmlUN20zLzdxUDNCemRqT0dFaENUMkhSS2dOSTZsWDVkYitKMUYvRWpzVTVpVmMvTTJQUHhKT2FuUTZTRUM1YmNQcnJQTzd2dk1BSzBsN1MraWxyR0FZM3JSMS9rSkVXVkxmQ2RLaStRckxyZGN5VXh1MTI3QUlYQ2FYQWoySnZ2TTJlT28wbWtyeDhSSHZ0UzhvaW5NYUE3L0kxS0RtdDlNeXJTNWtDZWhwL3YvNUkvM2Y0cGYvajZPMWhHVEErWHpPWnpkaGl6dTdXRnFxUGVjdTFxdlBjMHhpR0Z4aGFXd2hZMHRZdUVQVnNMTjJ4WDNnL2Q2eXBsM29QR2tKSTFneUkwUXUxZENqaDFXQnY3VHhXV0xKc0Z5aWlLclpMdHl4TitjZTk5YnB4K3dRRVBFMTN0L0FVS2s3d1RxZDFWNTREUUpQdUtVWVFRdjFNUjliQTlIc2MrNFFTS0xjczErd3BYSndXRmh2bHlpYTBMZHN3T081TnREdjFwWEtnS2JiS29FcnI3UnNVckZaUkdxM2krZmMraURoMkZpUVNXRmZrMnJlSUN0M1l1ZVc5QVdZTXRDOHJTRUJaTGdoS2NxYW5IZ1VXeDVJRTc0dE9URzN6cGI3Rk1KTmJuMGhEWnV0N3JOd05lUEFZaSs0SmhiWUYzbHFJY005bmFJalFqbkd1b2xoWFdhb3JTZ3ZicGhna2dObHBqZzBuenRVMVdCUTFZc3RDTVRqRkgwOFdVb25UTVpqTVd2b3AyUnFWajZVNHRPUC85dmhVMUZrT0JWaGJ2by81cDhBS3V3UzhySnFNeXNrR2lYSlJTdlhoU0JVaXFxR1NTUkZCUXlVSVdQM053ZUlTWmVLYlRlYkxseG1nNnJhSjc3bGt0c2dDOW1XUDFPZEYxcnRKNUNwNGxDLzdtdzUreFdDeVlUaGY4MGR2L0FPTTlFaHFheGhPYVNHaktvcUFveHRUTEp0WmpUenVQK3JCQ2NBcGwrb0wrOUdiMTdnQ0NpOVhRTk1uaW0rSVJqVEVVQ3BiekpZVzEyTEZsUEI1aGdxV1JKbXJlVmxQME9QREJoKy94UDMvN04zeDQ1Ky9JbWZraEdYMis2Wm5BZTQvVkJUcW9XQnQrZnBmNWIrWXNsMHRtYjB6NTBldC9UTDFZTXErbmFEUm0yMUNvQXVjYURvOFgwVGdvRWlWK2xJa1YzYzA0V25tMHh2bGxTNVkyTkI4S3RVSmlWd210NXJVcnIrR2F3SEs1WkxsY2tFdXpGa1dCS1RVR3k4bmloTVZ5VGpHeGpIZEtUcGRUUHZya2QvejZ6dnZjNFhaTFlxMjFhSzNiQmNkNnRhY253ZG5Mc2I2UFJDTnlzUTBQVmltY2l3dEJsWXBsZVlTYnQyL3kxay9lampKWjJoQzhZRVFoR0ZBbFBwaG5WakJ5dWNpREZuU3AyYnU5UjlORkFwK0w1M0hiZWh6SEhQRFI3SGZNN3B4d2ZmZFZybXhmWm5kN2pLL2dhRDdGb09NaXN6QllaVEc2ak5KUFFaREtVN1k2c0Y5L0sySm9uRUhwSXVvN0s0TVdpeVJKTUtjQ3BvakpYRXRYb1VxRnVXRHgyblBhUE9UZzRRR2Y3ZDlnbjRkSlNnc0VnN1JVL2ZGUTFrQWRMN29uVmo5MEFnclBBdzc0OVY3RjIvWXQvdkNxOE5ya05VWnFqTXlGNDNxT2RsWHljaVRQcEZMa3hFNlQ3cEhnUTFJUTZXUUdXNVdEdFNTMFZnMURPcXN4T283bFJwbTI2SUVYd2JtYVJxSkM4UGpDR0VZbHg4dUhmTEgzQlY5V3Q5Z2phaERYUkIzaS91SVl2cDJ4YThDVFl5Q3lMeEFDTkNsQWNMbGNSdEtpb2h2Y0dDakxnc1pQazN1OEJnSVNVaXllUkJhbHBZNnVaRWtyMXpaK05vQnk3TzV1WXd2UFpESWhCek1vWmZBaHAxNSt2NkcxeFFlaHJ1czRFRnFMUmxIb0Fqc3VXYzVueVNVWnJUTkJmQnRqRmIyOEtYU0RLRWNWUjd0bzlRZzRSbHNqOURndzJwb3dZZ3VoSm1BSklWa25uOXRndGpsN1BBM25DSUd0MFlTNjhuZzg3My81YSs3ZTN1UC8rRGVLU3p0WHVYcnBNbHM3T3hBc3Jtcndyc0l2YTVTWVpEMG9NRXBUNklJUVloYTM5NEt5S1hhUnpvM1hUNUNvcXhwck5kWmFsSTNKRTBGaTNGcFFRckZUc2xqT3FPYzFwaWpZMnBsUUdFVzFyRGxlUE9URzU1L3pQOTc3Yit4VmR4QTgyNU5kamhZTklnRnRlaDd1WjI0OWZYYjZ6VlpaY1JodDBFSGpjWnh5d3Z1Zi9wclBQdjJNZi81blU2NWZlbzFyVjEraEtNWlVpeVhWb3FMQU1oNk5VR0t3WXJCU29Fa1Z6WnlIR2tKd3FiSmFqajJWMVMzNXYwaGRReUt4OFhWQlVFeVBwMmhsS0d3a3I2SUNqYStaTmFmVTFSSTlBbnZCTWk1SEhNME8rZURHRGI2NDlUbDNaM3VjY2hxUHFWZU90R21hOXZGekswWGR0eERtU1QzRm1Lb0FOdGprRVJKY2NGZ01nckFmRHBnM0MzWkd1MkFzMGdnbUtGQmxEQXZ4WUo2QlVvcUNvRk5KNEFJYWF1NGQzVXRoRytsWSs3R3d6eG5SOGxoem56czhuTzl6Zlg2ZFAzcnR4NWhMYjFMYWdIZWVVVkhnQkd5S0NWVUM0bjFjTUFmQjZqVGVBRitmekZwUUp1VS94aVNuSURxT0ZpcFdxQW9qUytVOXRmSG9pYUlhTlJ6TkRyajU0Q3R1K3BzY2N0eVMyQnhmMzFsbFpZVzg5ZEd1ZlZOWjVmaGlURVp6VGNpQkFFeFo4cm43RW5kUFdGeHVlSDMzZGJZdWJTUExtckR3bE9uK3lwSjBjZEhjRlF4UmdKSGtGVWp0RklrdFo3MDVLYTQySXRuenhjY0Z1SXBmRXAwOUN0QklnNThFWnVhRTAva3BOeDdjNUpOd2d3VUxGamlVTFhCdXVacjBSdTgzSCtsTkd2QnRZaUN5THhTYTdja3UxVUpSRkFVK05JaUx0Y1p0WVNoS3dkY3hLYWQxcjJvU21ZMmhCcnFWVk5MazVBbElTUVZLT0RrOVpEU0d5alVJVVkvVG1wSW01RFR4NThRa1hoRHlKRjU3aHlrTW9nTEgwNGV3MUV4RzIyeU5TeUI1UGhYRVlwNHFPaGhWc2phS2lnbmNvaERwaUoxU2lpWTR2RytvNnBxR0p1VzBLbHJqN0RNMjM4cjRLR2ZmTUFhOEIwZkRhWFZLUVVHYy9nUDdiby8vKzkvK1gvenBELzZNdi9xcnYyWnk2UzJxdVdPMm1GT1lNUmUyTHVPV2dkQUVuS3RSV0VwVFl1eFdGRlVQUGhKeTVkSWswZmVYeGNlaklnMFJRYUp0SWdSQ2NJREdhNC9YamtiWDZHMHdJNkcyQ3g0ZVBlRFRMei9oMXQyYi9PM05YNmFtaXRHdXA0dVRkdXdYK1JiNm53WUpRaDNxcU0rTFFXTllNR2ZKa24vMy92L0hXeGZlNWtmdi9wZzNYMytEQzVPTEdHdFJYbkFTQ1BPR0VFb2tnQldMQ1JvVkxPSlRISVAydllJR25MdFZRZHJudmczY1NKSks0Z2d1b0sxQ0ZSb3BCVE5XV0RTMXFuallISEQvd1QyK3ZIZURHM3RmY0NvbmVCemFtQ2d4bGJ3cXpxMHVUSE5NNEtQUWhXZDBzYUh4amREL0VCMkJwY2Rpd0dBeHpxUndDNVhzVjlINlBXZk9nK2xEdHV3RmRrMUpVRUlqWUZXMHVvbHZvc1hzS2Z0QVVMSE5uUGFFSW5BNlArV0VrN1NnQ1doalVobmxwOXI5WStGeFROTmlvcURBNFpudHpiaDlkSmZYZDkvZzJzNVZsQ2x4bFVNdEFsUXhTY2hxdzlpV1dHM3h0ZStzaDE4VGdxYlE0M2kySWVCOWlPRW9TUWZWbVlZbXpORTdtakJTUEtnUHVIWDNKbmVtZHpqaWlKb0tSNU9DMXBJVnQ3OGNqSFdUSDRtUXkvTW0rVHNuY1NIVnBQUXNEOHhwK0l3dk9UZzhadS8wQWE5ZHZzN1YzYXZzN0c1VEg0ZW9TcEFXZU9JVlBnaGVnQ0NVSm80L2ZmV09Wa1drOTM5c2tCeXJFclZnWXlsbWovTStLcFdvZ0M0dHVyQXhrN1pRSFBvVGJoN2M0c3ZaVjV4d211SmhReXh0N09kUjhrT0ZsVDRmdHh0VUhBYThNQXhFOWdYamRERkRNOEtIQ3VmbktMRm9ZMm5xUURNN29TZzFxSVpZNmdqSVZYcVNTeTFJRldPb2NpcERXNmtFVUlHTGw3Wndmb0h6Q3dTSDRLaWI1MW5YNThYQyt3WXdiRzJYYk8rTTJESUZydlpRYWlhRm9hcW1nRStsTVZPYktRZzlZZS8yUmFMVkpGdXlBZ0ZWZUp4cWFHU0JvMm90UFVwcnlzSlNQVU9nY1k0eXpNaERZbDl1U0NUUDlURytxMEd3akRBWVBCV1dDZS9mK1J2ZS8zOSt5YnV2L29oLy9rLytCWC8wbzUrZ3BlVG82QUd2WEg0ZHYvUTBTOEUxamdid0FrYmJTUEpjU0w2NDBKNTNYOExMV2gxaisxeU1PZFJhWTR1WU9OSG9BSVZCbVJJZmFoNU1IM0Q3M2swKy9md2pQdi9pWTQ0NXh1T2ltMUNyV0NZV1lqdnJnaEQ2NWJ1ZUk5WUpWd3JvOHhKdFRZSkVBb1pseWlrZm52eU9ULy8yWTE3Ly9BZjh2WGYrbUxldnY4Mk8zVUUzaGgyN0N5NlM5eVlZaW1BeHFxU3dGb3loRVVmUXZvMjU3bThCZkY2ZG1OWG44WE9PM1ZkMmNhNmg5aTRXQmRXT2hvYUZuN0dRaW50SGQvamsxc2Q4L1BDVEZQY1pNR05ONVJxOGI4NXd0Q2dwUmxwd1BHVzdycmRmZnJ6bVhvMHZaMHQ0bHd3WjQxczlEUTIzRDI1eGFYS1p5V1FicFZVYnVxTXgwVUl0ZnBVMGZ3MUlxdGpVV0ljem5uc1A3bEZUdGVFcmtjalR4VTZUaWZ2ejZXOEMxQXEwQ29pcWNONnpwT0pnZWN5RDVUR3Y3N3pPOWUzcjdLZ0oyK050ZHJiSGpDakJCUnBYMDNqUVJxV0NHVS96K3lGbTZoUGxxQ2dpdndxRkFxdWhNTXpyR1NmTkNRY24rOXc5dnNPZTdGR3h3S1gwdGliRmZrb0tLQWhwdjNGd01tMmMvYm1FMWhOSm9UTGdtelpHUFFnc1ZVTXREb3ZGcDFDREkzZkMzZjM3WEsrdWMzM3lDbStNcjRPUDNpS053WWlnUGVBRkhSUjFhRllVR2RZWFhERXNLbC9jOUo2S2VTTmVSOHR5R0F0WWpiYXhyNTVVSjV3ZW4zRGtqdmx5Y1lkOTdyT2dqc2xjS0JybGFJakZXell1Z3A3eWVnMzQ1akFRMlJlS2VPTlpxNW5zbHFqQ29hUm1zZ1dsajltOVBzd1JpWnFRQUlLSzZhcGlFZ21xMjRta1M4em9sbzllQ1l2bW1NYk4wYmc0K0ZIVHowTDlQaVBRSko1U2NXLy9ObU16cGRRVHRpYzdpRjRTL0tKMWlVb1dxeWRLUmNYU2xxbkZVbmlCOUlnc0tyQndNN1QxRkdQRjdtaE1KWjVaWFNFaFVDMmZiN1pjYXh2cng4aEt0TXJxSXJyZHhIa2FGalFwNnZXRW1nS0RRdlBoL1EvNDdQLzlsTGV1dnNNLytOTi95SS8vOENkOGR2ZDNUT3dPMitPTFdGdmluYWZ4MGVxdnRVVnNsbDdRWFZaNEp6MVAwQW9YSE42NEdHNW1MWTZHdXE2WnVRVnFwK0Rld1QxdWZQa1puOS80aEwyRHIxZ3loMFM2dGlaYm5DeU9ZeWdET2lZZ0pXM2FUZzc5RzRZR1U4WkZpcXM5VFFpeHNBSVZ1V3BZd0hEajVITytldjhycnBncnZQdURkM2p6MnR2ODhMVjNLTldJY2JsRmdZcmxNZjJDcWc2NDRLQU1uUTdzZXJMWFl4OEw5MmFuTWJ6REdzUjRac3M1dHcvdWNPUHVsOXc3dXN0K3VJOUxHZE5lQldwcG9zNnVKaGFQY0ZHYUtPdXA1bjEvbmJDQ3gxSzdUVzdWL0xxb1ZEc3NlNDdBUzVPQ0tSUjNscmQ1dTNxYlY3WmZ3V3FMZUEvQnRrazV6NEtnSUNTUFFNV0NPMGQzeUlRNktwV2NmMWJQeFNPc1FJOGd1Q2dTZ1hKWWlVRmd0N25Id2ZTWU85UDdYTEdYZUhYN0N0ZTJMckZyZHloMGJLL2dIZHZsemxNVEkxR3hEQ3hHZzQ3bWZxYzhsVytvd29KRlhYTlVIYkozY3BlN3NzZUNSU1JvUUswZExqVGtXU1R6L1h4ZWNmWDg2RGxDQXo2a2NCa2xNUkV0ZjE2RkZHR3FVNmlIeGVIUTFKSHNueHh3ODJTTDJlNGZzeFhHaklxU3lXakV4STRweTVJUkdpT2EwSVFrMlpYYktIWkdsU1FtSlJIWmtMMEcwRXJUaVFvNDVWT1pZa2Z0UE10NndjUFRZKzR2OTNuQUFUTVdWRFJvREdJVmN6ZVAzZ1VUVnEwTWVUR1VJMVkybWlBR3ZDZ01VUjR2R09OeVJGVjdZTXhmL2VYL3h0M2JSMnhOTHNVSm9ta29SOGwvclVLS1lZd3hWU0xSOHFLa2lScDRLMFFXOHZRMHI2ZE10aXpqaWVGbnYveXZqSktGdDZvV0dLUHczL3RrTDBWUlRIQ040aS8vMFY5emVQK1VRazhZRjJNV3N6bWx6ZkhDUGxuS2t1QlpVRkdvV3dsQng5Vi9GS3J2WmFDcmdKZUdTNjljNElPUDN1ZG91WS9SZ3BPOGVPQ1o3cDVJb1hTNkNkc1JFbnFQdE83aVNIVWFPM09wMGNKRVltQlVzaVNUeWxkaWt3dmQ4aWR2L1pRM1gvOERmdlRESDNIdDh2Vll3dE5GMGw2WUVuRTUzcm83aGxiUVg0VmsxWXJlQUcxQXhITjZlc3I5KzN2c0h4M3czaWUvNCtIOGtGazRKazU4RFlhQW84YmoyK1lSQlVvYnZNOW1QWXZXaWhDV1BPMUVrTnN2dGxmb3dtODJXUTk3MTBtalc3Sm5zdnRaVXRoTlNoNDBLQ3lXTGJaNHBYeVZONisveVp2WDMrYmE1YXRNeWdsS29xVTZ5cnJGMkx5QXJHeGpHSHQwY1c1K1g2aWxZdi9oUHJmdTNtTHYvbDJPd3hGTEtwcjB6eWNSTVlkSEZ3cXZRMHhtek9mbU9MY1A5c250NXZaanJmMTZiNnhiWTlmYU1EOVhhaFJEbmJTSFVvSHpFQ0lQR0ROaW14Mys0clYveWs5Zit5bkZ2S0NvQ2thVUtUTEtnZkdJUHJzUVdDZTVzVFR2NnZ2T0JKYkdzVEFMcG5iQnYvL2tQN0Jnd1RGVGx0U3hiRzRPdDVEa29zNTkvTnhXK1JwUXhBSWNQWXV2VVpiUUtBeVdraEVXVFlsaFJNa0ZKbHhobDZ1VGkxemV1Y1QyYUl0U2JST1ZDZkp5OHNtM1hvRTNKbTVEREg4Nm5wL3c4UFNBdzNESUNhZUpwdFhVcWVoc294MU9OWjBWUEtpazdLalNhN3FMQ1Exbng3aStha0dFSmM1S3FaK2JPRTQ1Q2VDRnlTUW1uQWJ2aVRiWGdrSVZlQWtVV0NaTTJHTENEdHRjS25lNXRIMlIzY2tPVzhXRVFoa3NHaDNpK0thVHpuclgrTG5FTTdUaGRBU0N6bVZtSFV0WGNUQTk0dDdEK3h6S0VVdVd1S1JCRU1NcWhCbXpTT1Q3cTZ0OGJiTXVXMmI2SVJkOE1mSDMrK1BPZ0JlR2djaStZSFR6UlVFMHNjUVl5SjU5anU1T3l1aWl6N09vekxvUEpMUkRuZ0FPb1NIT2VsbU9pcFVCK0h1TFJCSml0dXVJV0pzbldpampnSk90Q2kwMUpMZGZiSjNjdGpydGJwWDlTTEppMDFZZmowcVRjdDdrL3JVT3ZTTmlxOGZZWVZPNHdibVFQamsyaVpnVmlkcVdqUFNZaXpzWHVITHBNcGN2WDJWN2ZJRkxGNjlSbWpGRlliRFdnb3JLRDAxVDRWekRmRDVuc1R6bDZPaUl3OE1Eams4T21UZnpKRW9UcU1uYW02bHYwU0FwYTd6VmUreTNrV2hpLzdicDdKcU41LzBrZUN5UkJkWXU1K3IyRWUxbjJ2WXpxUjlaTkpveFk3YjFoTWxrbTFFeDVzM3JiMFQ1cktLa0hJOG9qRVVabldLS2hhYXFvNkI5NDFoVVMyYW5VMDZtcDh5bk0rWit4aEVIK0ZUSklaOUJmcFRFNHBMTE41R3ZUUVQ5S2Z0Z1A3VGxqRVV1YjIxYVNhV21OVXJGNEl4V3RjM0d5NmxjdktTYTJCVXFHRk93eXpaLy8rTGY1OC9lL0ZNdWhndm9PWXlseEVxVUJtdDBlR29pMjFqUHZLeHd1NEhmZnZVN2ZuWDRheFpFZFpFcDgzZzhyWUR1TjBCa1lkVXdCNmtSTFVoZVVNYVJxVVJqZ1RKUm9IZ1hHSzd5R3BZUkkxMVNqa2FNeWhKakxkWkVsUkJyWWdpR2hJRHpudUJqektlRVFLTTg5MC8zZTFTMWFVdkxobmJVaW9zZ243WW9SNjR0QUhSRURibzU0VHdMUEt0RU5uNHNPM1ZER2tsN3J2LzFNYXZIRVVuM1dNa0lnMFdsZHNrTHlKSUNpK0lINDljcGRVR1o3akZyUzR5SlltTVFDYnhQbXRoVlhiT3NGc3lxT1hQbTFDeVpNbThsMDF3YXdYMDZWazhxamIwK1h2UWZ0ekVNOGMrd1NtUWJCaUw3WGNBUVd2Q2RRVU1tblIzWmdtNlNYNzlaMWtmUVRlNnBQS2hrczQwNy8wYjlIa01VQkhFOVNoTWRadEpHeStYenoxTjNKbFAwSXNQaXQvVmF1OGYzY29XcE5Fdy9wK1FSYVgrNW40MzhoSVBpT1JZemthUnptUklmR3FwRWJHY3NndUw0WkkrYkoxRGN0Rmk5UlIwZ0R3TXBuNzRYV2lDTUtBaHB3QS8wd3dCQ2F0bnNCWERwZmRkTkRPZE1aTThMNiswWFJlZDZWaVMxdHMzWUdQY1dYNDl4aDZHZGtDTWw3MzVoemltSFFXRm5sb0tTajQ4K1JLWDJpKzJzVXE4TEs2L2xQZVQzSXRWd09Lb1U1dEFSZ2Y3Y21RK3RPMDY5OXNJM1BJbTZhRy9MRmFkVW1zd0RBUzhhSnVQWVg0S1B3ZGRwd3JkR01mRWxWN2pJeGUwZFJrWmp2RThFeUtHU3NvQkdQVkZ3eVNiTGNsQUJaeHhIMVl6RDZpUTVrS05iZWFWWnZzR1lSdFhyYnJGZnBkOVNnb2hybDNkSjVac0tFbUVEaFdYRzdVaktBcWlGUWkrNmZwSzNjczZONDlJeUp4TFZGUCtmK2s4TWw1R1V2SlhHUVJYT1RoUHI5OEtqRnVoblhvdS8wbjBsdExmYXVRc2p5YThIbkFSaWFZdW1KWWdkOFRjWUxFZkxqMU9maWNRMzFmL3F0VXRvZDU0OVc3bE44b2k5VG1KWGtyY2VkZTZ5K3BmNWY5eEtaeG5mc0tzQjN5NEdJdnVDc1dKcGsxUW1CZGhNVEtFL1FuYzJXYjNoM1g1UWZPaC80ZmNIZmJJa0VGcmE0VkxxVzZwNmRnYlJHaGdIMjlVNHNMT0QwbGwzZi83cGJsQitldlN0R0xCNWVSTHlCOXNmWHZ0QUgyMTd4SDBhcTBBY0l0SHJtL21BbzRHd3dMS0QwUFJJUDIyQWdrSTRaWmFQSUE3aXlzVHFZRXJGY0FaZnR6MU4rZ3VsZGFMZFducENJaGFiTGRCUGczRGVmdVNjeDQrRG9tMkxaRnR1WCs5UVE1Z3pacFNzL3ZsbnppY2UzZTdqdjRDam91ckdnRWNSLzU2MW1FU05wZTNEM3dTWjdRaXoxZ2FyTkY0YVlvYSt4YUpZNHFrV1RZb24xSkFxVXhIQXBOQ25kNjYvemJXZFM0eFZpUTRDSVdCMFdrUktMcDc3YUtLWjVjenk0L1oxQlUzaGVYRDZnSVA1UGo3UmxZQmY3WWNybHNBZW5uRWhuME16a21vM29UOGVLTWdKdWRHRUVIQTlNaFN2WWd6RFVSVGRPVDNoQVNrVUhrZkZja1Z3cEgwL1MwM2wwTEgxQlYzLytmcFBucmZRNnlHMFBYRVYrYzdPRmU3QzJhOTJ2NkZBYkEyaThLbG1yd3VhQ3FpVFh5MGVwbTc5SXRJTkpHY09MTjhaSWRIWFdOTXc2VEIwanJqVmZ0RzNTRy93Mkt4Ym9JYzByKzhtQmlMN290Ry9MMWRHaGJENkdjNStKZzZlQWYwa0U5a2ozRVcvWCtoSmthM1pFQ0UzUTA2Y2krVDNrYzJoT0p1VTh0d3RpOTJ4ZGJiaER2MGdrWlV2S2Rhc1RiMStrSzYzaStya2tRaVo3cjFBTkV4VWZrNldINC9LcG5uWDBiSmpVbmlBUmhGVUlFaUQ5K3NUMkFaTDhpUDdXMkIxVm4zT1dIZVY1dGZXTGJUcjdhYzJFVmE2U1RCL3RCZU5VdmthTGVmYlpLeE9wYVJUVEc2ZjZBYkN1cWI3V1p3eHk2bzBzU2Z5OUF6Mm9ITUpSdnVCZUdCR2JMS1hoUlJnRVozbVphYnczcUMxSU1FaHdWT2d1Y0FXbDlqbGg1ZCt5SlhpQ3FVcmtjYkZwRW9kUUtzVTMyZzJIRVR2RUI2UkxPZnhOQ3B3c0Rqa21KTXVFMS9PZE5EME5KTWhlRDZMcUQ0N0F0cjdKL1Q2WUs5UDZZNVhwbytqSllhVkdOU0tQRnUyK0JWSnlMK1ZiUk82NTlwMWtUcHIrNDI1aEFJYlNHNzcvTHdteU9UMkNXN1IvbGh4M2k3YmVQSDFMN1o5djhlbVU0VzNScUFSalZFYXBRSkI0dFlMSy9kUnZCdjZWNkFMeG1tdDVPc0VkbU00U1BlNGY2anJIODNqYzE1RW5ydUlIdkN0WWlDeUx4elo4bkdPdXdNMkR5aTkxemJkU3M4amh2TTdqOTY1ZGJHWUc2elQyMDRWZ1FBQURSVkpSRUZVdlhiVjByM1lrc1BIV0tyUFdVYzhPN0tGc3ZjN1NuU1B6SzZuZHlSclprN0syR1JOMlhTUTJTZ2pHNTdyMUFvckJLOTduaFBMd3RxQ0srL0twTDU3SnVSaTAzSDFMUjFrYTlXelRRVHIzKytYclJVSjBWcDI3dmJjbmVhZFJXVGpzVjU3WFlFcE5BUzlRcktVVXEyK2NkVThRdG1pVGJoWjNlZmFDWjF6RHo4L2kvWkd0RlpNMWY2TXhXS1RkVXdCQllxQ1VTU1FUYlFzR2tic3NzMjdGOTdtQnp1djg0cTV4cmFmWUJxTHIwS3ltR25RSHJGUFBqeXRrOWpjTEFzMzUyaHh5SklxT3BSMVFNNGhZVjhqY09mSmpvbmNMVlo3WVhjSk54ekxtcHM5aEZpc0pYL2Z0Ky9IQjdXNGxmUEk3N2VmeXliZWZsOWRQMGc1KzNqbFZsVWQyV3kzck5wWXV0MnRqNi9udCtoS20vUU13eXVXNE56MzFmb1g0aDQ4NGV5NnQ4Y3VKZWdOYmI4V0E3M2V5ZnFMd3cxdG9udi85NUdETi9wTHg5L242Zlg3aElISXZsQjBzWm9BVVpWL3c4ZWU1bTdaU0NRMHJjNXNIclcrNlFueDI0SkE3TTdkY0NScjhqc3hZenkrZHpaUG1QUGJmc1Z5dCs1UWUwWVpzelh5dHpwNWRMK1pLcTZUSzVKMUEzcy9wamRmMjY0ZkZhVnROVVdsYjJucG4xKzJFUXBudHFhSWhEZi9RZlFpSzZVeG1rUk9VaXRteTh1alNHeGV0SDBMeUtSVzlkb3ZiK1ByL1lrNTlLNXhML0N4YjlIcXoyQXFjZzJYaU1pNTBLdWRLcE5jbGFzZzFaMW03N2xrTnIyV0s2K1JiRkhQSTJYcDNEamNOakxSdHRiTWJiYmFtT21BcDBqM202SkVJUlNVWEdDWDY3dXY4dmJsdDNoMTYxVkc5WWhTUnFoYXBTYjJlSzBRN1FsNVRmWUlaQUtyMXA3SFkvWWNuQnh3UEQ4aFJsc2FQTTJxNi9nYlJVNGFvajNHM0x2NlB4OUREblQzb2ZaeGlFT1c5QnBCclYzOHg5MHFUZS94SnVQRjJ1SzFiNkJjdDZJcTZlN2p2SDBVNURIK2dITzlOdjFqU3ZMbm16c2lHTjMxODQySFkvb2pmdXFwRXVYb1l1SnFiekhSSi95NUFZTHVmZk84VEpOZW1ONDVSb0lCTHhZRGtYMmgwRVNsQW9qaWtKd2xzNXZjUW1jRzZXNENQbk5mWlJJbWFmaHFKeWtOa2pWRXY4ZG95VnhlRlBUakw5TmoxZnRvK256VU4reFBMbjMwMjJUVmZTamtnYS92OEgvR050dzQ2ZXExdC9wVFVEZmN4aGk3N3ZQOXlSUEFWZkc5dmlXbCs2M1VUdXJzL0puNVFuQ2NzVnhHVlo3UXhzS3RmcEd1ejYyNzdyK0pSZE01bmdlOU5pWGxoS3QrNHRXcVJVbjNQdHVocEl6dXluWVYwUDJlRU5CbHNWRkh0aTJxNFZlbit1Z1d6VTgwT1Q1U0pNU0dWb0V6eVNpOXh6bVV5SzhzWUw0NTVMYWFNT0h0MTkvaDZzNGxtdWtDdDZ6Wk1tUEtwbUJzU3JhMnR0aWU3TEJkN3JCbEpreGtpNUdmNEt0QUVRcFVVRGdNWGp1Q2NqUks0VFVVd3RuUW5YT3dicFVWQmZzSER6amxKQnJ0dEk2dSt6d1VmTk1WdUJVclRGeENGeC9hOWFZc3I2Znhvc0FuWTRKT1g4aE10TDF2Wk5VYytxZ3RnQlNzMnByamVOU1dMWlpjZ3FRNzVQNXpUOTlMZGQ0b2MwNHY2NVBETmNLTTZMVmJjZ05GN0s4Q0FIVm1xVW1VbXN1N1hTZWpBbG9yQ0NvdTFudWpYRlFMRHhUNTJOTkNmSlV2NTNHOGY3T3RublZyUElEdXZsd2Zjd1l5KzhJeEVOa1hqazFSa1p1d3RxTGRaTFhaNUR3N04yUDNlMDVnV3p4MnVEMlg5TGR2dG1UNExLazUrLzArbmxNYnl0bW5NZEszUHhtc2pacG5MSnVyeDk1WklFRlE2R1FGRk9LZ0w4bmNxRlJjL0p4eHMwc2t0NUsySGRIVkswVHQzSzRJWi92ZXR6amc1L2JyZmxwV3R2bFQ2NCs3MElUNGJSZGNlajIvMnAydG9LanIrdkZteFl4ZXlFSDhTWlZJUkxhMis4ZTJVYmRzNmxtSnZoRmtTaVpvTkx0Mm16OTQ3VzNlZWVVdDZ0TWF2Nmk1WUhld0ZkZ2tWcSsxeGtxQldpcFVMVlQxZ2hIamFKUldDcTAwUWFYRnRBY1ZZamxvSFVLVWFrTzFubDVGSkZnbUxacXkvcTVYNEZUQUYxQlp6MzZ6VDUzRXBZeXhyVUJKN3J2OUJucU9vbHVyV0NPWStScXRqN3d0Myt1dmZiWHVMTEpueUdEa3ZMSitrL1hJb2xXUk5pdlJSSTBFbFo1SE02ZXNMZHY2MkJpU3RyWTk3M05QajlVNWFwVkM2ak9mT1RjY0pGbTJnL2RwUVpoZmpzS0xTa1V0WDVmVWJISjB3dU5taTI0VXpTUjJZS25mQnd4RTlvV2l0eUx2VzZzMjNqdnJCTFcvZWRSUXMvNmVaNVhNZmQ4SjdhYno2NzEzcGkwekFRaG5QL2RFaENTMjMrUGIvUW53aU91OHljNTc5dVBucFJxczdxT2RQRGY4M3FNS1FPWDMrbUVGL2FOYVAwYnBQMURudC8zS1o1OFZaeFlCUFd2T1k3OTY5aFA5NjdycCt4dFZMWjcwWk9Tc29rRVdTK3FPNVJGamdKei8xdE1nVHV5WjVvU2ViRnBvRDhXZ0tkQTRWM0daaTloRHphVGFadVF1VVN3TnlvY3UvakVWRkZGQlJTSmxOQkppWFNWUnlZb2FBdFErbHJvWFRlbGp4NnhOUEMrbmFUdWJEYkNqQzZyWkRGTWF2RlVjaHlWaHkzSWtGYis1OXhIM2VSaVZId2pVVGVkbmw2cmZadXNVOWxIajdOZkFCdUxadnlkeVRPWHF4OVA0bXhlaTRkSDk1eEY1aEVEQVNmVGtyVHQxdm40L2ZzUXhyUDNtbVRlZlpMNWFlVzN6T0hEZS9TcnJEL3BqMGRyMWJRTjludURhYnY1SWQ5VTJqYmRuem5mZ3VkOEpERVQyaGVMYkpKS2JySGUvVDlod1RrOXFTYzJUeWhOYlhwOWorejFxRW51QzM5azQyUGEyMy9RNGUrNyt6MWlNdjMwOFhTSloxMzdmeGh5MVh0RXR2Zmd0UWFNMjJhaGFWaFNTSjFXaXZtZFFGRkl3cmd0R3JxQUlCU0c0bHZpZUtkR3JBa0YzbHZ2MmRRR1RyTkVxaFFoQVRHQ0tSVFIwU2lLRXBxNHBqU1g0aGlZMHFMSENsWjRISncrNU03dExuU1QvVi9ERXhPbzVZTlBpY09NSHp4bC9uL2xhUC80Ky84YTYwOWZhOFZrUysxUzdld0tQeGRmRDV1UFp1SitCdEg1bk1SRFpBUU1HREJpd0VZOGtTQ25rVTFJQzZhYktYSDBMZEQrOFF3dDRGUWdtaGhQVUdqeEowVURsQ01kQTNkU1U0NUxHTjFUQm9VWWxTMWx5LzJpUEF4NDg1V0psd0lBQnYwOFlpT3lBQVFNR0RPaHdidEJ6UkxhZ0JxSUZOZlNUS2ROVzl4NzNjMk15d1EyOTdQMmd3S3RZSXlvb2haSlk4MHVJTmNERUdKeEFLRFJoSk93ZjczTnJjVHVHTEF4RWRzQ0FseDREa1Iwd1lNQ0FseFNQOUpZK1JzSktGQVIwcTJtYUxhMkM5TWl0dEZueG14THVSTVdRQWtsS0lxUVkyeGlMRUZERmlGb0ZYS0ZSWTgxeG1ITGo4Q1lISE5Da1N2Y0RCZ3g0dVRFUTJRRURCZ3dZY0M0MjVwMHAycm9aMHJQSTVpUVpMV2NOdTlrYTI0WWRxUHc4eXFLWkxBMG9xcTFnWmF4aElSVjE0VG1SQlY4ZTNlYlc4aTVMS3BUUmVEOVlaQWNNZU5reEVOa0JBd1lNZU1raHNLcVJtYkN1U25HbTFDaTYwNEdWWkpIdHhjanEzdU9zUnFCNlNWK1FDS3VDSUVrbUtXU3lHM0FxMEdoUHBSMTNwL3Q4c3Y4WkJ4eXpwQ0VvR1VJTEJnd1lNQkRaQVFNR0RCaXdoa2NRMnFBNm5kUmNEUW9pVDFWSm5xalZRa2l2NlNUaDFvOVcwTEpxbmZXU0syVkZEZFNnSFhXb2FHek5UQys0TTkvbkRnY3NhVkE3QnIrY2Ywc1Z2QVlNR1BCZHhrQmtCd3dZTU9BbHhyazJUUVZXVy9EZzhUam5hSXpIQmtNSUFhVVZOSFdNZVEzU1ZpMkw1WGMxU3FsVWtDT3lXQW1CZnQxVEplQVhGZU55aEJtVllBeUxwc0Y3aDllQ3Q0R3R5MXQ4Y3Y4MmY3Zi9BVi94RlVzYW5Ba0VWOFY2RFpzRlB3Y01HUEFTWVNDeUF3WU1HUEFTb2kvZWZ4NUNDQ2cwQlFXajBZaFNseGhua0Zwd2RVTmhMSUpIbENKV0p0T2dBZ2FOVW9MNHFFTXJTbUUxb0V6N09ZTnc4Zkl1b1hGVWJra3RIcStCVW9FTitNTHo4YjB2K2VyMERvY2NzYUNoSnBhNEhjanJnQUVETWdZaU8yREFnQUV2TVZZNFlZNlR6UVVKeEdFb3FhbFpOaldOYmpBZXRFU3JMQ3FnZ2tkRUlSSzN1VUN3VW9KUzBXd3Fva0E4RWlMaGxhQndVZk9BdWw3U0JBK0ZRbzBOWW9XcG4zSFV6UG5OZzk5d3hERUhIRlBSNFBCZGx0bGpaTUlHREJqd2NtQWdzZ01HREJnd1lDT01NaWhSRkpRb3BhS0YxbWhzV1ZBVUJvSUhwWkFBUXR5aWRDdHJvSlZCbEU1bGpxT3NscVJ3QUM5d1hNL0FlaWdNZXF6d1JjM0I4b2l2RHU5eVozcVBXOXhpVGtORlE1TkpMS3hLSkF3WU1PQ2x4a0JrQnd3WU1PQmx4d2JGQWtnS0JDZzBHaEhCQlUvVE5LaGFjRjVoREZGbUlJVVVCRkZJOEFTbGtXeXBWUUhKbGxtbEVlVVJGRUUxVEs1dDBWRFQrQ1V6TitYQjhRRzNqKy93MWV3MlI1d2tBaHR3U0N4M0s0QURoWXJFV2diVmdnRURYbllNUkhiQWdBRURCbXhFSU9CVEpLMHhCcXN0SlNVbEZ1cUFsd2FGRUpSSEtZWG9WSlZMaElDS1pXdTFSbEo4TElBbmhpVjRCU2ZOS2FmdWhLT1RCOXcvdnNlOVpvOFRqcWlvcUhEVWltNldTaFpZSTJDSTF0Mkd3U2c3WU1ETGpvSElEaGd3WU1DQWpRaUF3YURSTk41UnV4b3ZKVW9WYUd0eHZrYTBJRnFoZExTU2FnVStxczdpUTBnVndBSXVoS2g4MERRMDNyR2c0ZVA5enpqeFU2Wnl4SlFqSEV0cUtpcmxZRVFYQ3l2ZEFWbWdSTWNTdVlBYnRHUUhESGlwTVJEWkFRTUdESGpaa2ZSZjE1OXJwYWlsNFpBajNyL3hHNHFaWmlJVGRzd09SaW1Lc1VFcFVNYWd0VUpwUTFDNVRJRXdXeTd4NG1tY3A2NHJabjdKZ2psTEttb2NjeHcxRFpML1ZDQm9PbWt0dlhwTXNmWlgvQ2VETFhiQWdBRU1jdElEQmd3WThCSWpNOFd3V1FWQU5BYU5TWkd5TnBGSWhlcE5IbjJ6cVVvRXMzc2UxcDduclVjSTZaK2t1SUgyY1k3WnpjY2szWjhCVkRwdW4vWStZTUNBbHhjRGtSMHdZTUNBQVFNR0RCand2WVIrL0VjR0RCZ3dZTUNBQVFNR0RQanVZU0N5QXdZTUdEQmd3SUFCQTc2WCtQOEI5SUtoVlFMVk9Bb0FBQUFBU1VWT1JLNUNZSUk9XCJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMCwxKVwiXG4gICAgICAgICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz4gKi99XG4gICAgICAgIDxnXG4gICAgICAgICAgaWQ9XCJnNVwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImczNjhcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMzc0KVwiIGlkPVwiZzM3MFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDM3OFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEwMzUuOTEsODQxLjEzKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW4zNzZcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDExLjE0MjI0IDIyLjI4NDQ3OSAzMi4zODQ2NCA0Mi40MDQ2NCA0OS4xNTgxMTkgNTMuNjA2OTk4IDY0Ljc0OTIzNyA2OS4xOTgxMiA4MC4zNDAzNjMgOTEuNDgyNTk3IDk2LjY3Mjk1OCAxMDcuODE1MiAxMTguOTU3NDQgMTMwLjA5OTY5IDEzNS41NTA1NyAxNDYuNjkyNzkgMTU3LjgzNTA0IDE2OC45NzcyOCAxNzMuNDI2MTYgMTgzLjQ0NjE3IDE5My40NjYxNiAxOTcuOTE1MDQgMjA5LjA1NzI4IDIyMC4yNTk2NCAyMjUuNjUwNDEgMjMxLjIyMTUzIDI0Mi4zNjM3NSAyNTMuNTA2XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJkZXNjcmliaW5nIGFuZCBhbmFseXppbmcgdGhlIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzM4MFwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgzODYpXCIgaWQ9XCJnMzgyXCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MzkwXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTA0My43MSw4MTcuMTMpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjM4OFwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgMTEuMTQyMjQgMjIuMjg0NDc5IDI3Ljg1NTYgMzguOTk3ODQxIDUwLjE0MDA3OSA1NS43MTEyMDEgNjAuMTYwMDggNzEuMzAyMzIyIDc1Ljc1MTE5OCA4MS4xMjE5MTggODUuNTcwODAxIDEwMi4yNjQxMiAxMTMuNDA2MzYgMTI0LjU0ODYgMTM0LjYyODcyIDE0MC4xOTk4NCAxNTAuMjE5ODMgMTU1Ljc5MDk1IDE2MS4wMjEzOSAxNjUuNDcwMjggMTc2LjYxMjUyIDE4Mi4xODM2NCAxOTMuMzI1ODggMjA0LjQ2ODEyIDIxNS42MTAzNyAyMjYuNzUyNTkgMjM3Ljg5NDg0XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJwb3RlbnRpYWwgaW1wYWN0cywgaW50ZW5kZWQgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnMzkyXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDM5OClcIiBpZD1cImczOTRcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ0MDJcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMDQ1Ljk5LDc5My4xMylcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNDAwXCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAxNy44NTU2NCAyMy4yNDY0MDEgMzQuMzg4NjQxIDQ1LjUzMDg4IDQ5Ljk3OTc1OSA2MS4xMjIwMDIgNjYuNjkzMTIzIDc3LjgzNTM1OCA4OC45Nzc2IDEwMC4xMTk4NCAxMTEuMzAyMTYgMTIyLjQ0NDQgMTI4LjAxNTUyIDEzMy4xNDU3NyAxNDQuMjg3OTkgMTU1LjQzMDI0IDE2MS4wMDEzNiAxNzIuMTQzNiAxNzYuNTkyNDggMTgyLjE2MzYgMTg3LjYzNDUyIDE5OC43NzY3NiAyMDUuNDkwMTYgMjE2LjYzMjQgMjI3Ljc3NDY0IDIzMy4zNDU3NlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wib3IgdW5pbnRlbmRlZCwgb24gZGlmZmVyZW50IFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzQwNFwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg0MTApXCIgaWQ9XCJnNDA2XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NDE0XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjAuMDY0cHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDExMzcuMDcsNzY5LjEzKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW40MTJcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDQuNDU0MjA3OSAxNS42MDk3OTIgMjUuNTYxNTM3IDM2LjcxNzEyMSA0MS4xNzEzMjlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImxldmVsc1wifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzQxNlwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg0MjIpXCIgaWQ9XCJnNDE4XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NDI2XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTA0NS45OSw3MjEuMSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNDI0XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxNi42OTMzMTkgMjcuODM1NTYgMzguOTc3Nzk4IDQ0LjU0ODkyIDQ4Ljk5Nzc5OSA2MC4xNDAwNDEgNzEuMjgyMjggODEuMzAyMjc3IDg2LjYzMjkxOSAxMDEuMTAxOCAxMDUuNTUwNjggMTExLjEyMTggMTIyLjI2NDA0IDEyNy44MzUxNiAxMzcuODU1MTYgMTQ3LjkzNTI5IDE1Mi4zODQxNiAxNjMuNTI2NCAxNzQuNjY4NjQgMTgwLjIzOTc2IDE4NC42ODg2NCAxOTQuNzA4NjMgMjAwLjI3OTc1IDIxMC4yOTk3NiAyMTUuNDkwMTMgMjI2LjYzMjM1IDIzMy4zNDU3NlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wibWVldGluZ3Mgd2l0aCBzY2llbnRpc3RzIG9yIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzQyOFwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg0MzQpXCIgaWQ9XCJnNDMwXCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NDM4XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTA0OC43NSw2OTcuMSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNDM2XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAyMi4yODQ0NzkgMzMuNDI2NzIgNDQuNjI5MDgyIDQ5LjA3Nzk2MSA2MC4yMjAyIDY1LjYzMDk5NyA4MC4wOTk4NzYgODQuNTQ4NzU5IDkwLjExOTg4MSAxMDEuMjYyMTIgMTEyLjQwNDM2IDEyMy41NDY2IDEyOS4xMTc3MiAxMzQuNTA4NDggMTQ1LjY1MDczIDE1MS4wNjE1MiAxNjEuMDgxNTEgMTcxLjIwMTcyIDE3NS42NTA2IDE4Ni43OTI4NSAxOTcuOTM1MDcgMjAzLjUwNjIgMjA3Ljk1NTA4IDIxMy40NDYwNCAyMTcuODk0OTEgMjI3LjkxNDkyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJwZW9wbGUgd2l0aG91dCBhIHNjaWVudGlmaWMgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNDQwXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQ0NilcIiBpZD1cImc0NDJcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ0NTBcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMTEwLjMxLDY3My4xKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW40NDhcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDExLjE0MjI0IDIyLjI4NDQ3OSAzMi4zODQ2NCA0Mi40MDQ2NCA1My42MDY5OTggNjAuMjgwMzE5IDcxLjQ2MjYzOSA4Mi41MDQ2NzcgOTMuNjQ2OTE5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJiYWNrZ3JvdW5kXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNDUyXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQ1OClcIiBpZD1cImc0NTRcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ0NjJcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMDkwLjM5LDYyNS4xKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW40NjBcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDEwLjAyIDIxLjIyMjM2MSAzNy45MTU2OCA0OS4wNTc5MTkgNTUuNzMxMjM5IDY2LjkxMzU1OSA3OC4wNTU4MDEgODkuMTE3ODgyIDEwMC4yNjAxMiAxMTAuMjgwMTIgMTE0LjcyOSAxMjQuNjI4NzYgMTM1Ljc3MSAxNDAuMjE5ODggMTUwLjIzOTg4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJjb21wcmVoZW5zaXZlbHkgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNDY0XCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQ3MClcIiBpZD1cImc0NjZcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ0NzRcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMDgwLjQzLDYwMS4xKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW40NzJcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDEwLjAyIDIxLjIyMjM2MSAzMi4zNjQ2MDEgNDIuNDQ0NzIxIDQ2Ljg5MzYgNTguMDM1ODM5IDY5LjE3ODA3OCA3NS45MTE1MjIgODcuMDUzNzU3IDkyLjYyNDg3OCA5Ny4wNzM3NjEgMTA4LjIxNiAxMTkuMzU4MjQgMTI0LjUwODUyIDEzMC4wNzk2NCAxMzYuNzUyOTYgMTQ3Ljg5NTIgMTY0LjU4ODUyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJjb25zaWRlcmF0aW9uIGZyb20gXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNDc2XCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQ4MilcIiBpZD1cImc0NzhcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ0ODZcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMDU3LjUxLDU3Ny4xKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW40ODRcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDExLjE0MjI0IDE1LjU5MTEyIDIxLjE2MjIzOSAzMi4zMDQ0ODIgMzguOTc3Nzk4IDUwLjEyMDA0MSA2MS4yNjIyOCA2Ni44MzMzOTcgNzEuMjgyMjggODEuMjQyMTU3IDkyLjM4NDM5OSA5Ny43OTUxOTcgMTA4LjkzNzQ0IDEyMC4wNzk2OCAxMjYuODEzMTIgMTM2LjgzMzExIDE0OC4wMzU0OCAxNTkuMTc3NzIgMTY5LjE5NzcyIDE3NC42Njg2NCAxNzkuMTE3NTIgMTg5LjA3NzM5IDIwMC4yMTk2NCAyMTAuMjk5NzZcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImFsdGVybmF0aXZlIHBlcnNwZWN0aXZlcyBcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8Z1xuICAgICAgICBpZD1cImVuZ2FnZVwiXG4gICAgICAgIGNsYXNzTmFtZT1cImhwMyBlbmdhZ2UtdmVyc2lvblwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgfX1cbiAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKC0xNzkuMDU2ODcsNzA4LjgzOTQ2LDcwNS44MDA3OSlcIlxuICAgICAgIFxuICAgICAgPlxuICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQ2xhc3Nlcyh7Y2xhc3NOYW1lOiBcImhwMyBhbnRpY2lwYXRlLXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJlbmdhZ2UtYW50aWNpcGF0ZVwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiI2I4NWJkMVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gODk0LjUsODkwLjAzIC02LjQ4LC01MS44IC00OS41NywtNi4xOSBjIDMxLjYzLC0zMi41NyA1MS4xMiwtNzcuMDEgNTEuMTIsLTEyNi4wMSAwLC00MC4xNyAtMTMuMSwtNzcuMjcgLTM1LjI0LC0xMDcuMjggbCA2LjUsLTUyLjExIDUwLjIsLTYuMjggYyAzNi45Nyw0NS4xMSA1OS4xNywxMDIuOCA1OS4xNywxNjUuNjcgMCw3MS43NiAtMjguOTEsMTM2Ljc2IC03NS43LDE4NCB6XCJcbiAgICAgICAgLz48L2E+XG4gICAgICAgIDxhIG9uQ2xpY2s9e29wZW5DbGFzc2VzKHtjbGFzc05hbWU6IFwiaHAzIGFjdC12ZXJzaW9uXCIsIGNsYXNzdG9IaWRlOiBcImhwM1wifSl9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwiYW50aWNpcGF0ZS1hY3RcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcwOC43LDk2Ny40MyBjIC03MS43MywwIC0xMzYuNzEsLTI4LjkgLTE4My45NCwtNzUuNjkgbCA1MS43OCwtNi40OCA2LjE5LC00OS41OCBjIDMyLjU3LDMxLjY0IDc3LDUxLjEzIDEyNS45Nyw1MS4xMyA0MC4xNiwwIDc3LjI1LC0xMy4xIDEwNy4yNSwtMzUuMjUgbCA1Mi4xLDYuNTEgNi4yNyw1MC4yMSBjIC00NS4wOSwzNi45NiAtMTAyLjc2LDU5LjE1IC0xNjUuNjIsNTkuMTUgelwiXG4gICAgICAgIC8+IDwvYT5cbiAgICAgICAgPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgZW5nYWdlLXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJhbnRpY2lwYXRlLWVuZ2FnZVwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiI2NlOWZjOVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNTA2LjQxLDg3MS42NyBjIC0zNi45NywtNDUuMSAtNTkuMTYsLTEwMi43OSAtNTkuMTYsLTE2NS42NiAwLC03MS43NiAyOC45LC0xMzYuNzYgNzUuNywtMTg0IGwgNi40Niw1MS43OSA0OS41OSw2LjIgYyAtMzEuNjQsMzIuNTcgLTUxLjEzLDc3LjAxIC01MS4xMywxMjYuMDEgMCw0MC4xNiAxMy4xLDc3LjI2IDM1LjI1LDEwNy4yOCBsIC02LjUxLDUyLjExIHpcIlxuICAgICAgICAvPiA8L2E+XG4gICAgICAgIDxhIG9uQ2xpY2s9e29wZW5DbGFzc2VzKHtjbGFzc05hbWU6IFwiaHAzIHJlZmxlY3QtdmVyc2lvblwiLCBjbGFzc3RvSGlkZTogXCJocDNcIn0pfT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGg2MC0zXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCIjYTBhN2YzXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA4MzQuNjgsNTc2LjIzIGMgLTMyLjU3LC0zMS42MyAtNzcuMDEsLTUxLjEyIC0xMjYuMDEsLTUxLjEyIC00MC4xNiwwIC03Ny4yNiwxMy4xIC0xMDcuMjcsMzUuMjQgbCAtNTIuMTIsLTYuNSAtNi4yNywtNTAuMiBjIDQ1LjEsLTM2Ljk4IDEwMi43OCwtNTkuMTcgMTY1LjY2LC01OS4xNyA3MS43NiwwIDEzNi43NSwyOC45MSAxODQuMDEsNzUuNyBsIC01MS44MSw2LjQ4IHpcIlxuICAgICAgICAvPiA8L2E+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNjQtNDRcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNjg2LjE3LDkyNi42IC0xLjMzLC03Ljc5IDUuMzcsMC45OCB6IG0gLTIuOSw0LjIyIDQuMjEsMC43NyAxMS40OCwtMTguMjUgLTQuMzMsLTAuNzkgLTIuNTMsNC4xNiAtNy44NywtMS40NCAtMC44MSwtNC43NyAtNC4yMiwtMC43NyB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGg2Ni00XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcxNi43OSw5MzQuMTggYyAyLjQ1LC0wLjAyIDQuNDMsLTAuNzcgNS45NCwtMi4yMyAwLjksLTAuODcgMS41NywtMi4xIDIuMDEsLTMuNzEgbCAtNC4wMSwtMC45MSBjIC0wLjIzLDEuMDQgLTAuNzEsMS44NiAtMS40NiwyLjQ3IC0wLjc0LDAuNjEgLTEuNjUsMC45MiAtMi43MiwwLjkzIC0xLjQ5LDAuMDIgLTIuNywtMC41IC0zLjYzLC0xLjU2IC0wLjk0LC0xLjA2IC0xLjQyLC0yLjc3IC0xLjQ0LC01LjE2IC0wLjAzLC0yLjUzIDAuNDEsLTQuMzQgMS4zMSwtNS40MiAwLjksLTEuMDggMi4wNywtMS42MyAzLjUzLC0xLjY1IDEuMDcsLTAuMDEgMiwwLjMyIDIuNzgsMSAwLjc4LDAuNjcgMS4zNSwxLjc0IDEuNywzLjIgbCAzLjkxLC0xLjI4IGMgLTAuNjMsLTIuMTggLTEuNjQsLTMuNzkgLTMuMDUsLTQuODQgLTEuNDEsLTEuMDQgLTMuMTksLTEuNTUgLTUuMzQsLTEuNTMgLTIuNjUsMC4wMyAtNC44MywwLjk2IC02LjUyLDIuNzkgLTEuNjksMS44MyAtMi41Miw0LjMyIC0yLjQ5LDcuNDcgMC4wNCwzLjMzIDAuOTIsNS45MSAyLjY2LDcuNzQgMS43NCwxLjgyIDQuMDEsMi43MiA2LjgyLDIuNjkgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNjgtNFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3MzcuMzksOTMyLjQyIDE1LjYyLC0zLjAxIC0wLjY0LC0zLjMzIC01LjgyLDEuMTMgLTMuMTUsLTE2LjMzIC0zLjk3LDAuNzcgMy4xNSwxNi4zMiAtNS44MywxLjEzIHpcIlxuICAgICAgICAvPlxuICAgICAgICA8ZyBpZD1cImc3MC03XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNzYtMSlcIiBpZD1cImc3Mi02M1wiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoNzgtMTdcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ5NC4zOCw2MjUuMzcgLTMuOTcsMTQuMyAzLjI2LDAuOTEgMi44OSwtMTAuNDEgNC4yNywxLjE5IC0yLjY5LDkuNjggMy4yNSwwLjkgMi42OSwtOS42OCA1LjI1LDEuNDYgLTIuOTksMTAuNzcgMy4yNSwwLjkxIDQuMDcsLTE0LjY3IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnODAtNVwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDg2LTkpXCIgaWQ9XCJnODItOVwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoODgtNlwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gNDg3LjUzLDY1Mi41IC0wLjY1LDMuODggMTEuODMsMTAuMjkgLTEzLjE4LC0yLjIxIC0wLjYzLDMuNyAxOS43NCwzLjMxIDAuNjcsLTQgLTExLjU0LC0xMC4xMSAxMi44OCwyLjE1IDAuNjIsLTMuNyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzkwLTIxXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoOTYtOSlcIiBpZD1cImc5Mi03XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGg5OC04XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODIuNDgsNjkwLjkyIGMgLTAuMTQsMi40OCAwLjI3LDQuNDUgMS4yMyw1LjkgMC45NiwxLjQ1IDIuMzUsMi40MyA0LjE2LDIuOTMgbCAwLjk4LC0zLjk2IGMgLTAuOTcsLTAuMzQgLTEuNzEsLTAuOTEgLTIuMjQsLTEuNzIgLTAuNTIsLTAuODEgLTAuNzUsLTEuNzkgLTAuNjksLTIuOTYgMC4xLC0xLjc2IDAuNzQsLTMuMTMgMS45MiwtNC4xMSAxLjE3LC0wLjk4IDIuODYsLTEuNCA1LjA2LC0xLjI4IDIuMzcsMC4xMyA0LjEyLDAuNzYgNS4yNSwxLjg4IDEuMTIsMS4xMiAxLjY0LDIuNTQgMS41NCw0LjI1IC0wLjA0LDAuODQgLTAuMjYsMS42OCAtMC42NCwyLjUxIC0wLjM4LDAuODMgLTAuODIsMS41NCAtMS4zMywyLjEyIGwgLTIuNTMsLTAuMTQgMC4yNiwtNC42MiAtMy4zNywtMC4xOSAtMC40OSw4LjY5IDcuOTYsMC40NSBjIDAuODcsLTAuOCAxLjY2LC0xLjk4IDIuMzcsLTMuNTUgMC43MSwtMS41NyAxLjEyLC0zLjE4IDEuMjEsLTQuODIgMC4xMiwtMi4wOSAtMC4yMiwtMy45NCAtMS4wMSwtNS41NCAtMC43OSwtMS42MSAtMS45OCwtMi44NCAtMy41NywtMy43MiAtMS41OCwtMC44NyAtMy4zMywtMS4zNiAtNS4yNSwtMS40NyAtMi4wOCwtMC4xMiAtMy45NiwwLjIyIC01LjYyLDEgLTEuNjcsMC43OCAtMi45OCwxLjk5IC0zLjk0LDMuNjIgLTAuNzQsMS4yNCAtMS4xNiwyLjgyIC0xLjI2LDQuNzMgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMDAtNVwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEwNi05KVwiIGlkPVwiZzEwMi03XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMDgtNFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gNDg3LjQzLDcyMC41NiA3LjI4LC0zLjA5IDAuMjksNS40NSB6IG0gLTQuNzcsLTEuODQgMC4yMyw0LjI3IDIwLjQxLDYuOTUgLTAuMjQsLTQuMzkgLTQuNjMsLTEuNTEgLTAuNDIsLTcuOTkgNC40NSwtMS44OSAtMC4yMywtNC4yOCB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzExMC0xXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTE2LTcpXCIgaWQ9XCJnMTEyLThcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDExOC01XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODUuNzYsNzUxLjYxIGMgMC40LDIuNDUgMS4yMyw0LjI4IDIuNDgsNS40OSAxLjI2LDEuMjEgMi44MywxLjg3IDQuNzEsMS45NyBsIDAuMDksLTQuMDkgYyAtMS4wMiwtMC4xMiAtMS44NywtMC41MSAtMi41NiwtMS4xOSAtMC42OSwtMC42OCAtMS4xMiwtMS41OSAtMS4zMSwtMi43NCAtMC4yOSwtMS43NCAwLjA0LC0zLjIyIDAuOTcsLTQuNDMgMC45NCwtMS4yMSAyLjQ5LC0xLjk5IDQuNjcsLTIuMzUgMi4zNCwtMC4zOCA0LjE4LC0wLjE1IDUuNTMsMC43IDEuMzQsMC44NSAyLjE1LDIuMTIgMi40MywzLjgxIDAuMTMsMC44MyAwLjExLDEuNyAtMC4wOCwyLjU5IC0wLjE5LDAuODkgLTAuNDcsMS42OCAtMC44NCwyLjM2IGwgLTIuNTEsMC40MSAtMC43NCwtNC41NyAtMy4zMywwLjU1IDEuNDEsOC42IDcuODcsLTEuMyBjIDAuNjcsLTAuOTYgMS4xOCwtMi4yOSAxLjU0LC0zLjk4IDAuMzUsLTEuNjggMC4zOSwtMy4zNCAwLjEzLC00Ljk3IC0wLjM0LC0yLjA2IC0xLjA3LC0zLjc5IC0yLjE5LC01LjE4IC0xLjEyLC0xLjQgLTIuNTUsLTIuMzUgLTQuMjksLTIuODYgLTEuNzMsLTAuNSAtMy41NSwtMC42IC01LjQ1LC0wLjI5IC0yLjA1LDAuMzQgLTMuODEsMS4wNyAtNS4yNywyLjE5IC0xLjQ1LDEuMTMgLTIuNDcsMi41OSAtMy4wNSw0LjM5IC0wLjQ1LDEuMzggLTAuNTIsMy4wMSAtMC4yMSw0Ljg5IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTIwLTlcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxMjYtMSlcIiBpZD1cImcxMjItN1wiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTI4LTVcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ5MC40Miw3NzIuOTkgMy45NywxNC4zIDMuMjYsLTAuOSAtMi44OSwtMTAuNDEgNC4yOCwtMS4xOSAyLjY5LDkuNjkgMy4yNCwtMC45MSAtMi42OCwtOS42OCA1LjI1LC0xLjQ1IDIuOTksMTAuNzcgMy4yNSwtMC45IC00LjA3LC0xNC42NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzEzMC0zOFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEzNi01KVwiIGlkPVwiZzEzMi04XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMzgtM1wiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTEyLjc3LDgxMC4yIC03Ljg5LC0wLjUgMi4xOSwtNSB6IG0gMy40NCwzLjc5IDEuNzEsLTMuOTIgLTE1LjEyLC0xNS4zNiAtMS43Niw0LjAyIDMuNDYsMy40MyAtMy4yLDcuMzIgLTQuODMsLTAuMyAtMS43MiwzLjkyIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTQwLTFcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNDYtNylcIiBpZD1cImcxNDItOFwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTQ4LTlcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkyNC45MSw3OTIuMzggMS4xNywtMy43NSAtMTAuMzEsLTExLjgxIDEyLjc2LDMuOTkgMS4xMiwtMy41OCAtMTkuMTEsLTUuOTcgLTEuMjEsMy44NyAxMC4wNSwxMS41OSAtMTIuNDUsLTMuODkgLTEuMTIsMy41OCB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzE1MC02XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTU2LTMpXCIgaWQ9XCJnMTUyLTRcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE1OC0zXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzIuNTcsNzY1Ljg4IDMuMTUsLTE1LjU5IC0zLjMyLC0wLjY3IC0xLjE3LDUuODEgLTE2LjMsLTMuMjkgLTAuOCwzLjk2IDE2LjMsMy4yOSAtMS4xOCw1LjgyIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTYwLTNcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNjYtNilcIiBpZD1cImcxNjItMzhcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE2OC02XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzcuMjYsNzM5LjI3IDAuNDgsLTQuMDEgLTE5Ljg3LC0yLjM5IC0wLjQ4LDQuMDEgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNzAtMFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE3Ni05KVwiIGlkPVwiZzE3Mi00XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNzgtOFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTM5LjU4LDcxNC4yOSBjIDAuMDgsLTIuNDQgLTAuNTcsLTQuNDYgLTEuOTcsLTYuMDMgLTAuODIsLTAuOTQgLTIuMDMsLTEuNjYgLTMuNjIsLTIuMTcgbCAtMS4wOCwzLjk3IGMgMS4wMywwLjI3IDEuODMsMC43OSAyLjQsMS41NiAwLjU4LDAuNzcgMC44NSwxLjY5IDAuODEsMi43NiAtMC4wNSwxLjQ5IC0wLjYyLDIuNjcgLTEuNzEsMy41NiAtMS4xLDAuODkgLTIuODQsMS4yOSAtNS4yMiwxLjIxIC0yLjUzLC0wLjA4IC00LjMyLC0wLjYgLTUuMzYsLTEuNTQgLTEuMDQsLTAuOTUgLTEuNTQsLTIuMTUgLTEuNDksLTMuNiAwLjAzLC0xLjA4IDAuNDEsLTEuOTkgMS4xMSwtMi43NCAwLjcxLC0wLjc1IDEuOCwtMS4yNyAzLjI4LC0xLjU2IGwgLTEuMTEsLTMuOTUgYyAtMi4yMSwwLjUyIC0zLjg2LDEuNDcgLTQuOTcsMi44MyAtMS4xLDEuMzYgLTEuNjksMy4xMSAtMS43Niw1LjI2IC0wLjA5LDIuNjYgMC43NCw0Ljg3IDIuNSw2LjY0IDEuNzYsMS43NyA0LjIxLDIuNzEgNy4zNiwyLjgxIDMuMzMsMC4xMSA1Ljk0LC0wLjY2IDcuODQsLTIuMzIgMS45LC0xLjY1IDIuOSwtMy44OCAyLjk5LC02LjY5IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTgwLTg4XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTg2LTgpXCIgaWQ9XCJnMTgyLTlcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE4OC03XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzkuMSw2OTQuMjcgLTAuMjIsLTQuMDMgLTE5Ljk4LDEuMDkgMC4yMSw0LjAzIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTkwLTdcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxOTYtMjkpXCIgaWQ9XCJnMTkyLTZcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE5OC00M1wiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTMzLjk4LDY3NC4yNSAtNS42MiwwLjc5IC0wLjMxLC0yLjE5IGMgLTAuMjIsLTEuNTggLTAuMjYsLTIuNjUgLTAuMTMsLTMuMjEgMC4xMywtMC41NiAwLjQsLTEuMDIgMC44LC0xLjM4IDAuNCwtMC4zNyAwLjg5LC0wLjU5IDEuNDgsLTAuNjcgMC43MiwtMC4xIDEuMzQsMC4wMiAxLjg3LDAuMzggMC41MywwLjM2IDAuOSwwLjg2IDEuMTEsMS40OSAwLjE1LDAuNDYgMC4zMywxLjQyIDAuNTMsMi44NiB6IG0gMy45MiwzLjUzIC0wLjksLTYuNDIgYyAtMC4zNCwtMi40MyAtMC42NiwtNCAtMC45NiwtNC43MSAtMC40NiwtMS4xIC0xLjI0LC0xLjk2IC0yLjM0LC0yLjU5IC0xLjExLC0wLjYyIC0yLjQ1LC0wLjgzIC00LjAzLC0wLjYgLTEuMjEsMC4xNyAtMi4yLDAuNTMgLTIuOTcsMS4wOSAtMC43NywwLjU2IC0xLjM0LDEuMjEgLTEuNzIsMS45NSAtMC4zOCwwLjc1IC0wLjU5LDEuNDkgLTAuNjUsMi4yMSAtMC4wNSwwLjk4IDAuMDQsMi4zOCAwLjMsNC4xOSBsIDAuMzYsMi42MSAtNy40NywxLjA1IDAuNTYsNCB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzIwMC0wXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjA2LTkpXCIgaWQ9XCJnMjAyLTNcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDIwOC0wOVwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTI3LjAxLDY0NC4zNyAtNi41Myw0LjQ1IC0xLjM1LC01LjI5IHogbSA1LjA0LDAuODggLTEuMDUsLTQuMTUgLTIxLjM4LC0yLjgzIDEuMDksNC4yNiA0LjgzLDAuNTcgMS45Nyw3Ljc2IC00LDIuNzIgMS4wNiw0LjE1IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMjEwLTJcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyMTYtOClcIiBpZD1cImcyMTItNVwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMjE4LTRcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkyNi4wNyw2MjQuMTkgLTUuNTIsLTE0LjkyIC0zLjE4LDEuMTggMi4wNiw1LjU2IC0xNS41OSw1Ljc3IDEuNCwzLjc5IDE1LjU5LC01Ljc3IDIuMDYsNS41NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzIyMC0wXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjI2LTUpXCIgaWQ9XCJnMjIyLTVcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDIyOC05XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MTYuMDYsNTk4Ljg4IC02LjUzLC0xMy4zMyAtMy4wNCwxLjQ5IDQuNzUsOS43IC0zLjk4LDEuOTUgLTQuNDIsLTkuMDMgLTMuMDMsMS40OSA0LjQyLDkuMDIgLTQuOSwyLjQgLTQuOTEsLTEwLjA1IC0zLjAzLDEuNDkgNi42OSwxMy42NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICB7LyogICA8ZyBpZD1cImc3NDQtMFwiIHRyYW5zZm9ybT1cInJvdGF0ZSgxODApXCIgPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDc1MClcIiBpZD1cImc3NDZcIj5cbiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT1cIm1hdHJpeCgyNDguNjQsMCwwLDIxNC41Niw1OTIuNTYsNjA4LjA0KVwiIGlkPVwiZzc1MlwiPlxuICAgICAgICAgICAgICA8aW1hZ2VcbiAgICAgICAgICAgICAgICBpZD1cImltYWdlNzU4XCJcbiAgICAgICAgICAgICAgICBtYXNrPVwidXJsKCNtYXNrNzU0KVwiXG4gICAgICAgICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFySUFBQUpVQ0FZQUFBRHBaTVVmQUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBSUFCSlJFRlVlSnpzM1ZtUUxOZDk1L2Z2T1NjemErbnUyM2NITHZhTkpBZ1FJRUFTQUVtQXduQ1RxQ0VsY2JSTmFLd1pleUxzTjcvNHlTOStjSVFmeHZQZ0NNYzRZaHl5ckJnNXBORFkwZ1JGQ3VJR2lpQ3g3eUFJRUx6RVJ1ekFCZTdlM2JYa2NzN2ZENWxabFZWZDNYMFhBUGZXdmY4UElwSGRsYlZrVmRldCt0Vy9UdjZQQVFTbGxGSktLYVhtakQzVE82Q1VVa29wcGRTcDBDQ3JsRkpLS2FYbWtnWlpwWlJTU2lrMWx6VElLcVdVVWtxcHVhUkJWaW1sbEZKS3pTVU5za29wcFpSU2FpNXBrRlZLS2FXVVVuTkpnNnhTU2ltbGxKcExHbVNWVWtvcHBkUmMwaUNybEZKS0thWG1rZ1pacFpSU1NpazFselRJS3FXVVVrcXB1YVJCVmltbGxGSkt6U1VOc2tvcHBaUlNhaTVwa0ZWS0thV1VVbk5KZzZ4U1NpbWxsSnBMR21TVlVrb3BwZFJjMGlDcmxGSktLYVhta2daWnBaUlNTaWsxbHpUSUtxV1VVa3FwdWFSQlZpbWxsRkpLelNVTnNrb3BwWlJTYWk1cGtGVktLYVdVVW5OSmc2eFNTaW1sbEpwTEdtU1ZVa29wcGRSYzBpQ3JsRkpLS2FYbWtnWlpwWlJTU2lrMWx6VElLcVdVVWtxcHVhUkJWaW1sbEZKS3pTVU5za29wcFpSU2FpNXBrRlZLS2FXVVVuTkpnNnhTU2ltbGxKcExHbVNWVWtvcHBkUmMwaUNybEZKS0thWG1rZ1pacFpSU1NpazFselRJS3FXVVVrcXB1YVJCVmltbGxGSkt6U1VOc2tvcHBaUlNhaTVwa0ZWS0thV1VVbk5KZzZ4U1NpbWxsSnBMR21TVlVrb3BwZFJjMGlDcmxGSktLYVhta2daWnBaUlNTaWsxbHpUSUtxV1VVa3FwdWFSQlZpbWxsRkpLelNVTnNrb3BwWlJTYWk1Rlozb0hsRG9kWnRQUFltSEdhYlk2WGRmdngxcE82L0pqQnBBUGZUM3IrYUdVVW1xZWFKQlZjOHRnaVUyQ0Y2RU9yV1ZBRVFDNjdTNzlZWC9xVWxiWDcrTTZuUGIxbU5GdnB4YUhaZFB0RVpaZ3dHRUlCcXpRV0FlODVHQkFBdU9VTzROenJyeS9JU0FpR09Od3poRkNJSVRKUUd5TXdSZ3pPdi9HTkVncnBkVHAydVNsVzZteld4bGtZMFNrQ2hVRlFRSmxwVkJ3MWpFT0N6cUs1b1BnUlJBRFJwaTV0cGdOdDVjc1lLY0M1b211QXliSXB1ZER3aVpCTjJBc1NMVXZNdU9WMExrNmtJSk1uTUZpakJrRjNJbkh4T2RUNTMwL2JCVFZsVkxxL0taQlZzMDFVNi9ONUJQWm1ObkJSTDEveEd4OW5zMnZZUHpqUmtINGhOZk1Ia0pnemV6VGtmRzZ5VnFMdFhaVVZTMktZclN0V1YyMTF1S2NJOC96MGUvR0dFUmtkaFYybzhkcUl0QnZacU1ncTJGV0tYVisweUNyNWxyY3NoUStJQUdpR0lvQ3JJVnVOMkZ0TmNPdUw1aXA5NUhJNlFYYXJlTGJpWDRZMmJnaXZQNzB3TGdpSEVjZEpGaEVaQlJDUmNKb2VFb3BZSXpCMnZINUppdXU2OE9raThBNVM1WnRFbXFsV2paOUZMWjZoRFRNS3FYT2J4cGsxZnd5Z0l2THRCTkNXWVlGRU1FbENUNGJjcVlQaGpxbjErWjByNGNUQ0hLYmFRUzRVem5pQ3d2RVFQUFRUdmx5YUxFWUkzanhrN2N6RlJxZHJSOEhFUEdqa0d0cytYU2NLTTVPQi81TmcreEdqMG56U3VxeDRScGtsVkxuTHcyeWFvNUZRSnVvdTQyaTM0Y293a1V0L0hCUWxzUjhnWlprUDJBaUczOXRYbS9mMUJZaFZqWUxhWFVxM2VUYTQzaFVQUldSeVFHeEFwRk55bXF0Q1BWLzVSanI4blpqNThoOWpqQU90TTQ0b2lqQ1dzTWc3WTFPdDZZOEtFd2s0RU9PaUM5dmEzb1hUN29pdTc3THc1Z0dXYVhVK1UyRHJKcGpIYTY3NGN0ODg1di9DdThGN3ozdGRwZVZsUlU2N1FXS29pQ0twaHB6bUtrM2ZkR0R3RTZWbU9rRG9HYWNaNnNnRzA3djh0V2hXQnR1ei9OOElzZzJGMHVnM3p1T3p6S0d3eUc5L2lxOVhvOWViNVhCb0VkUkZMejl6bHZrZVU2ZXB4UWhxd0p1Zlh1QmRoeVQ1VU5DZGJyRjRwd2xoS0xzaUVCZ1hlVjB1cWk2cVJNSnNrb3BkZjdTOWx0cWpqbUtvc3RIUHZaWkZycExySzcyV0Z4Y290OGIwdWwwU05OODZxanlPa2hVNjRrUWV4WjhWVCtIYXhHRG1JQVJPM05OMkhoN2VYblp0QjY1ZWZzcXFpQzg4WG1zTGE5OU9zU0tDQWJCaEFHV29tcVhGYXExWU96NGVyM1BTYk1CZzBHZjFkVlZEaDg1eU1HREIxbGRQYzdyci8yYUkwY09jZkRnUVhyWmFua0pEK1ZMYThRNHdEYkM3S2pLdk5HK3p4cktvSUZWS2FWbTBTQ3I1bGhFQ0FseHRJTTBOU1RKRHZMTTRWeUxFQklNSGdsVDMrc2FtZnE2dWg2cmVUcUh6Si9mYTBFd1lnZ1NzR0x3bE90Z0JJZmRjRHRHUmdkZmJXU3JQcXpORUR3eGhHQjArVTIyUzBGRWdxV291aGlFY2kwZThhSDZ3Q01ZV3JTVExxMTRPOXUzd1NVWGZhUjZMZ1dNQkl3VmlxSmdiVzJGZDk4OXdHdXZ2OExycjcvS2tTT0hlUEdsWCtGRGpwZWNRTUZrZUMyQW5DcjVUckRXMG1xMXlMSmhGYnpEcUpJN1VhVGVvS0piRG4yd1pGbTJ5ZU9ubEZMelQ0T3NtbXZCUURDMmVuTzNHR01KR0FLT2dNR3NHNkFZbUR6cXA0cENvejVldWo2VmRkbXoxVXl1Z1ZCUERMREJkZ3VZVGFQc1ptTmczV1FQcmMwYXdzN2NIb0U0eWdPK0dIL0FFVitHV0drT0I1RHk5SG83Z0Fua1dka1pJNG9XMkxWak83dDJYTUsxSDdzWjczTkNLR2kxWTk1Nzd3QXZ2L3dTTC8vNlJkNTg4M1VPSEhpYlE4Y09FVWlCRk1pcmNiZmxjOUdIbk1KbkRBWVpFNk8vQkl3RjV4ckhOWWJHY3hnd3hoQkNtR2dicHBSUzV6SU5zbXFPQlRBNVlnZGxDeWlKZ0JpeGdoaUQyREIreHgrZHYvbFZieFVDZEp6c0tadU1tVEsxWnVyeG45NGVwcys5amt5UGFaNjQ3ZWx0TTI1L3MrMENRa3lRcVByVlYydGJuU1dNKzNSSkdCMjhWVmQwclFRNjdRVkV5dG05Q3UrcmpnV0NOUzJjZy81YW4yNTdEemQrWWplZi90UWRHR1BvOTljNGRPZ1F4NDYveHlPUC9aUzMzM21WMTk1NGpUUXZLN2FPTm9ucjRFTkdxeFZUK0l3c0h3QUJDUUUvY2JlRnVxSmJUOUJnekdiaFh5bWx6aTBhWk5VY0MyQXlzQ2tFeStnd2NHUEI1R1VJbVE2eVNDUE1Vb1pmcy82clhYVXFUamJJd3BaalB6Y0pzdXN2ZjVKQmxtanlyS01QTlBXSnRqRU14VFMyaDZxcUxPU1p4NWh5TEt5SVE4UlQ1TDZjdWxZS2R1M2FWeDRvNXN1ditLMkZ4VzZYNU1KbGR1L2F4N1VmK3dUR2VsWlhWM2oraGYwODhjUmp2UERpZmxZSFJ6RTQrc084dkczYWdNY2dXQXMrRk5SamVwc0J1MW1KZGM3aHZUNjNsVkxuTmcyeWFvN1YxYWdDVEQwZGJYblFEcVkrMEtZUlRrWUJOa3dGSkszSW5qS1o5VXZ6eEMwcXNsc0YxYzIyQzlVNDFjMXVmK1A5TTFCKzZCbTlESTZycit2WnhuYWhEcmxGTGpobmNTN0d1WEpXTUV5b0psYndIRG04eXZnZ3NuSi95MW5CRmxqc0x0SHVSQnc3ZGhoSHpDMmYraXBmK2VJM1dWMDd4aS8zUDhQekwveUN4eDkvbUdIYW96OVlJZmREeXFwc2dTRkN5SEhXRUVSbXprU21sRkxuQXcyeTZoeFNqcmdjRHhlb0FnZFFWdEhzT0ZkSjR6STZ0T0I5Y3JKQjluUk50NlU2Mllwcy9YT3h5ZmJweTA5MnVtaDNGc3F2KzMxT25tZWpnOVBxM0JxOHBkMXAwMmt2WUIwVVJVR1daWGp2OFlXd3V0S24xZHJPOW0xN0NDSGo4TUUrUVNJK2VzM05mT0s2VC9OSGYvQ252UGpTZmg1Ny9FR2VlZlpuSERqNEpnRkhiQnhKVytnTmpsQlhwZU00Sm9xaVVaamRzdU9EVWtxZEF6VElxamxtS0EvNGlTRzQ4bWVTOG9oNmljdGhBMUsxMzZxT1FFZkMrcUVGNnJUWVVhRnlmZGVBNW5qTm1kdTNhT2h2dGdwanAzT3dWMVhSbFdxR3NzbUpFOVovdUJsUGxsQ3VqWlFIWmhHcWRsN1ZHRlhuSE5hVzFkbDJXOGp6akdQSGpwTmxLU0VFa2lTaDArbVVJZGluNEIwZU1LWkY3Rm9JR1NJcGVlcnhZY2hWVjF6UGRSKy9rU0FaYjcvekJrOCsrU2dQUEhnL2J4eDRnVTU3Z2NId0dGRDJ6RzIybXl1SEhieGZIeHFVVXVyc3BPL2lhcjZKcGF5U3VTcVV1dW8wVjRYVzZRdlk4WEZlbzh1cVUyVW5jdElwVkdTYmZ3c1RUbmh0cGU1blN6VVV3RmJkQkJycjZiNjNqZTJtdXA1QTNjZTJQZ0N3N21JeEZhQ3JZR3VxR0d1UWN0aXNDTFlLc0NDRUlCUkZqdmVCRUR6dGRnZUFKRWxvdDF0WVc4NzhWUlNlbFpVVjRxaUxMd3g1VmlCNGpBbTR5QkZGWGF6eDVMa2w3ZmZwci9WeGtiQjk4U0srZE9jMytOeXRYMlNZSHVlLy9QMWY4dVpiditiQWUrK1VlK2JCVUk2ZkpZREJUazdpTVAzdm9lcjJzYm54WTlIczl5R05oZ3BLS1hXbWFKQlY4MjJpQzRGdExOVTJBNVBkQ21xTklRZnFsTTJxK0RXUDd3cGhzNE9OUWhtR1ROMjl3QU9DMUVGVHlwbXl4bTJ4eHV1eWhXMDVGblhVRzlnSUpzams3OUtjakdDOHRwUWhWc1RncTNRbkFsYk1WSi9XeVE0TDlmR0RWc3FXWWlLQ3B3eklVZ2RsSzBTbTdKRVZRdG5LeTJBSnZpQjRQenBmNUFBWjRselpVcXVlRmxmRTQvTlFQYU1kaVYwQTF5MnJ2a1U1aWNSaXZJM0ZlQy8vdzMvM3YzRDR5RHM4OCt6UGVlaWhCL2pWRzgvaEtNcnhzM2lFZ21CeU1GazlLMjhad0tzUTZxekIrM3BJRHJTU1RqbnN3UmVOeDJ4OC95M2wvYll5dVZVcHBjNFVEYkpxem0wUVJKdEhtSnVxRVgxZDBXdVdwYlk4S2w1dGJxc29jNElIYzVrdytxcC8xUHFLOVdzajQ5K05NRzZQdGRGNnFncHNSYXBzS3FNd09uRkE0QWFhbGVmNlp5dmdxLzIzTXJXL1ptbzlkVC9xODR0dEJIMFo3MnU5UjZiKzFrREs3VmFhSHg0Q3EwZlgyTE44TmIvNXhXdTQ5Vk4zOHNyckwvTGNMNS9tc1NjZjRyMlZOMGhNVENybDh6NU95ckNjVjBPQ2QrNXMwVnNOT0J1WGxXUmZrR1lEd0dLQUpFcklpcFRtSXpUOVdDaWwxSm1tUVZZcHBlYVVOVEZwQ3Jid3RKSWxQbnJORFZ4NnllVjg4c2FiZVB1OU4vakwvL3huTENTN3lZc2VXZFlqa0pNa0Z1OExqaDVLeTZxdjljUnhES1p1MzJVUklDM3k2aU5mcU9aUW14NXU4U0hmV2FXVW1rR0RyRkpLelNWTEsxbkFlODl3bUNJU1NEb3h5OXN1WkhGeG1Vc3V1WUpQM1h3cjMvL0JkN2p2d1h1UU5LYmRpVmdick9FcGNFWW9aSWhJSU10U1JDQ0t3VGxEbHZvWng4dzF4NVRYQTJRM1AxaFBLYVUrYUJwa2xWSnFMbGtNQ1Vsc1NaSXVVQkR3Wk1PTVlSb1lwb0pOWXY3dGYvM2Y4L3YvNGsrNDY3dmY0VWYvOUgwRWlERVlVMkFqZ3pBa3p6MFlLQW9vQ285ekVFSTEybUUwMUtNNm1ISVVhQU9RbzBGV0tYVW1hWkJWU3FrNUpXTEljeUdFZ3FMSUVPdUpJc3RDZHp2TDIzYVFoU0d2djNZUUtQajYxLzZJMnovN1JSNTY1RUVldVA5K0R2YmVJQVNEVkwyWHJZRlFqZDMxSGxvdFNGUEd4VmNDNHlEclp1K1FVa3A5eURUSUtxWFVuQ3Fub0MxNzFyWmFMYng0Z2hRTStqbVlnaWh5N0Z5NmdNSVB5WWNaZTNaY3h1OSsvVkt1dStaVFBQbnpoM2o4MlhzNHR2SU9lUmdTR1FOUlFaWU5SOVhaeVhaZG9lb2NVWXgvVjBxcE0weURyRkpLelNsakJPOExSSHc1RVlPekdCekdsTjBaOHF3YzYrcGNtOWhGRFBzRklRUXV1ZmhLTHJ2c01qNzY4YXU1LytFZjg3Tm5IeVgzT2RZYnJCR0NwR1VidGJwcDdPam52T3JYUE4yTlFTbWx6Z3dOc2txcEV6SnJaaTdiS05uTjJyNlZrNWxHVmFwR3FCUFhiemZmUHIxL01yVjlzbVhzK3UxbWFudHpQWDM3Rys1emRVUE55NDhuR1pOMTV4V1JjZE93TVBsWVRqNjBBVThBVis1bm9NRDQ4blJET2JPWHFRYTcrdURMeVJ0d0dHT3JTZTRNSDdueVpxNjUranB1L2NVWCtNZnZmNHUzRHYwYUpHTGJ3akw5NGNxb3oyMGNPNFpEWHowZ0JhWnU3NnVkQzVSU1o1Z0dXYVdVbWx2RjVLL3JacktEOFlGWjQ0MUdnQkFUbXdpa3phZHZ2SVBMTC9zSUR6NzBUL3o0cDkrbjF6c0dKR3hiNkxMYU84TFFlNHlCSklHc3FFS3N6dXlsbERvTGFKQlZTcW01Rk5aUDZERVZMRTJ6aE51WUc4S0tKUUR0ZUlIK3NFZWVaVnk0NDNKKy8rdi9GZGQ5N0hydS90RmRQUFB5ay9SN0taWU9RVktRUUpaV3M0S05ibUQ5YlNxbDFJZEpnNnhTU3MyMWpaTGsrdktzRlRzYXdtREZjdVRnRVhiczJJSFFZdVhZTWJvTENUZDk0dk1zTFd6bm9zY3U0LzRIN21ZZ0s1UlYzWlFneGVoYVhReEYva0hjSDZXVU9uRWFaSlZTYXE3TkhFOUFHVDdyMEZxT3ZUVmlHd050TGRzWEZ6Qyt3RGpMVW51UlBFMDVObGpqZ2wxWDhNZS9md1ZYWEhvVjl6LzhJL2EvOGpRQncwTExrbVlyQkttR0IyczFWaWwxaG1tUVZVcXB1V1JCTmpuYVRNWkJ0bFFIM25HNFhkNjJ5T0hEaHhrT2h5eHVXMkxid2piNnc0UTA3VFAwZ2RzK2N5ZTdkdTFoOTBON2VPekoreGlrNWRoWlozTjhKanF5UUNsMXhtbVFWVXFwT1JWTUdXUnRZL3dyVkpGVjdHaU1yQkVhZzF1bE9uL2d3RHR2ME8xMjZPNVlJaThDYThkN1lBM090Q215bEF5NDlwcWJXRjVlcHJ1d3dCTlAzY3V4dFlPRU1BQXl0UDJXVXVwTTI2SjVqRkpLeldZRXdrYmZhbitJKzNDaTdJenpXcGxjWU53MjFjeTRuSkh4MHJ6OHFiS05kWE9wYjJ0NlA1bmF0djcycTB2UHJOU3VENTNiZCs3QVdrdWFaM2p2aWFLSUtJcG9SVEhkOWdLV2lFUHZIbVY3ZHkvLzh2Zi9HLzc0WC94YmRuUXZCWlpZVGk3RXpxcUZtQm5MQnB1VlV1cDBhVVZXcWZQWVZrRndvbWZxdVBscHVRSkUvUHA0Wk5aL1FqWlRmVlFiWjUycERtZmkxNGV2NWhma2RlL1kwWDVKWXorbnIzOXEvNm4yZjZQYm50N1g2ZXMzTW5rRS84VDlXOWM5WUtMNTFlam40TXZlckRMajhURUMxcGp4YlUxdEY4QTB1aGFVdHl1SWVJVDFsZHJ5Y21VLzJmcGU5N095ajVZMURxd2g0TWU5YTMzQUdHRWhXU1FNQzN3dzNITGRsOWkzZkJWMzMvMERIbm5oSnhoaWxoWVRWdGY2QUhRVzJneUdRd2hnNDVpUTEwZUQyZXFlbHovVlF4SUNRWWNtS0tWT2kxWmtsVklmdXRPdFpNTEpWZlMyT3U5V1ZkbG1GYlkrZjMzNjZacFZlVzFlZjNQN3hEN052TGJtakZ1TnhjeGVCSXRnQ2RpSlM5VC9GeEVrZ0hpRHp4eFcybHk0K3lydXVQVzMrSjNiLzRnMlhmcHJRd3lXSkdrejZKY2h0cnUwUkFpK3NiTWJmeUJSU3FuVG9SVlpwWlJTTTFscnNkYmlnYUlvU0ZOSWtvU3JyNzZhUFJkM0djWUgrUEVELzhpd0dPSjhCT0lCVDc4L0JCOG1wN2R0MU81RmF5aEtxZmVKdnBvb3BaU2FLWVNBTVFibkhOWmFpcUlneXpKRWhGYXl3SmUvOE52ODhUZi9OVHM2ZThtOVlTSGVScnUxQU1XTVVyV3BoeE9NRngxV29KUTZYUnBrbFZKS3pWUVVCVVZSSUNJNDU0ampHR3R0R1c1TlRPSzJjZWRuZjR1di8rWWYwbUdaUFBmRXRJbE1WSTBubnJwQ016NVpRNnhTNnYyZ1FWWXBwZFJNY1J4ampDR0VRQWloSEROYkxXQ3h2c053TGVMMlc3L012L21ULzVidHJiMmthWTRWUnl2dWpoUHI5T0RlR1dObWxWTHFWR2lRVlVvcE5aTnpEbE4xVGhDUjBkQ0NvaWpBT3pySk1yMmpHUjIzekc5ODlpdDg0emUveWZiV2JzRGdnc0ZSOTdDdHJuQWkwQVk5NGtzcGRkcjBZQytsbEZJelpWa0dnTE1XNXh3aVpXWFdZbkF1b3JlU3NtZkhwZlNPSFlYVmpDOTgvc3NzYmV2eW5lLytIVzhmZXhWRGpDWEhONE5zdmRheEJVcXA5NEVHV2FYT1l4TjlVajhBSVpSZklaOUltNnBaZlZqTlJ0dnIweHBYWEY5dVl2c1dsOS9vOWtkNXk3eC9KY09KNjU4T2RodW9INyt0cm5QMDgvVDluOUVUZC9MeHFYdnJUbTZ2VDI5V1k4dDlLWWNWQkJHQzkzU1NCZkNXYnJMTXNGZ2w3dzM0MkpYWDg5VTdlL3p3SjNkeFlPVU55azYxUXFlVDBCK1UvV2FKSThpTHplKzhVa3FkQUIxYW9KUlM2cFNFSWxCa0JiNHdHTzl3cHMzMnBiM2NlTjJuK2ZwWGY0K0VSWFl1WElBalp0RFBhYlVXd1ZySUMxeVNuT25kVjBxZEF6VElLcVdVT2lYR1ZGWGpJQmdUNFZNb1VzdU9iUmR3NDNXMzhPWFAvM082eVU0c0xTd0o2VEF2NXpVMkJwOW5aM3IzbFZMbkFCMWFvSlJTNnVTWkFOWWpoY2VZbU1TMTZBOHoraXM1TmhHUUR0LzQ3VCtrM3g5eS9QZ3FlZWd4b0VjUUlXbkhwTU9oanBOVlNwMDJEYkpLS2FWT2dXQ3NwNUFVaXhCSFhkckpBbG1SNGdTTWlWaE1FcjcyMVc5U1NPRGhuOTlMVEF0UElCMmtHS001VmlsMStuUm9nVkpLcVZPU3RCd3VDb1JRNEVOTzhPQkljTFpMUklmRDc2MXk0ZTVMdWZQMnIzRHQ1ZGNUQ0FnUVdjY0hmSnloVXVvOG9VRldLYVhVS1FpSTllQUMxcFU5WnZNOHgzc0lCUlM1eGRMaCtKRWVsMTl5RGIvMTVhOXg2WjdMQWVna0xXMGhxNVI2WDJpUVZXcWVpZDFraVRaWTdIak42UzFXb3BsTGZWc21sTXU2ZmFCY3JFU2o2eGxmbjYyMnoxaFA3YjhKRHNSZ3FtWGNjWDlxa1EwV3dKNUNaVEJNcGJDNm5aYVI4YzlXeGt0ejI0bTBJcHRsVnZCclh0ZjA5WjdJL1pyZW4vb3Z1L1ZlbE90K3YxLzJsYldXS0xMWXlPR2lpQ2lLc05iUzdTNFN1VGJaSU9mcUt6N0c3L3pXTjltZTdDWWJlbllzN01SZ1QyRlNoT1p6VUNsMXZ0TXhza3JOSzdFWXFkL002elJnSjdiUFpFSzV6UVJNOE9PemI5Rm4xVlMzMGN3ZHBuRWJzeTV2eFcxNkYwSUlZQXdpdHV4WktyWU1OMWdnSUdLQUFGaEVERkt0d1dJa1lHd1p4S3pNdnYyd3lmZlhoZ0s4UnlpbVRvZjZjV3oyY1MzN3ROclJWK0tHVU8xektDOVQ5NSt0enpEVjA5V0UrdlRHYWMwK3RYWC8zT2IyNW42RnlmdFhodWxHejkwWjF6KzZiUE42SjdhUC8vNnpici9lZzRtTFEvazNNT1VIQ21jamlnQkZ5TUZGQkR5NTk0Z05EQVlwaTB0dGpxLzFpSUxqeG85K2hxOTg3Z0RmdS9jdUJyMEJFTlBxeHFUOU5WeGs4VVg1ZUM4c0pQUjZqYTRHbzEycW54dk5HUlYwdWx1bHptY2FaSldhVnlaUWh6eWdDcTUxTURIVjl1a3dHeHFYcFVvNDlmbjgxRHBzc1M2dno0NENqa3lzNjkzWTlDNFFxb1RrcThwZ3ZmLzFPalIrbDhtMUFTdlNtT3EwdnQySmFSQTJ2bkdwSDcrVFlNcEpBUkNMR0hDTnl6Y2Y2V1pWdHJrbkU5TzF3Z2xYSTYyc3Z5ZFd4cFhoNmUwbld1UTBKL2hRVFpqNGdGUS9INXEzR0NZcTFsbFdrRVFKdmhnU3JPTlROM3lPWTRmV3VQKzVlN0FVNUhrR2xDRTJhVG15ek5QclpTUUpaSnQyNk5MQkNVb3BEYkpLemJGcWpPSW9USjFBTmJiSkJDU01nNnlJbjFodkZXU3RVQlhHNmlDOWNVVndvLzB2dytRbUpxZW1tanF0REpYak9IT1NRYll1NnMwOFM3MWZzNjVMcWd3MUhlRFVXUGs4U1pLRWZuK1Y3a0tDZFVLVzlibnNzaXY0L09lK3dQNWZQOGViZzFWQ052NWdaTVJpOEFpUUpDMnlMTjNrTnZSb01hV1VCbG1sNXBnQXhiaTZPdUVFeHcrZWJrVzJEck9qWDVyckU3bjlyYVlwM1NCSVR0ejJkT2c4MFlxc3JjYlZqb2N5ak5kYjBhK3p0MlpKa3BqVnRlTklNQ1N0RG9QQmdMWFZsQXYyWHN3Ly8rM2Y1UysrOVIveGVMWXRMYkt5ZXBRMDlTUkpSSllYREFhTkVGdC82RENoK3BOdVBtUkZLWFgrME5IeVNzMnRLb1ROT3RCclMzWjgyVk5lbDhJcExxTjdJYWUyakd4NndOc21DNDBRTzMzLzFpMXFJNWJKQTl1YVM1RVdMTFNXd0J0OEpyUmNtN1Rub1hCOCtwTzNjdHRObjhjUWsvWUwydkVpQm90NFczNmNtUDZNbzhWdnBkUU1XcEZWYW01WmtMangrK2lvbjgwdk5oRjA2d044RE9DbTFyTHBPaGpCMVZXeTV1MmZhRVZXNm4zWmJIODNyc2hhb2F5bzFnZXY0U2ZYSnBUNzJ6aTRyYm0yZ0RRUGxxdkRiZlB4cWNmZ2x1ZmVaSi9PVDZQaEpYVjVmUFMzS0IvRGZyL0g4dkl5L2NFS2c5VUJ5OHZiU0pLTXdhQkhKQkcvL1p1L3c4dXZ2c2g3eDk0aENnYUxvL0FlWngxZS9NWTNmSjQvN2txcE1RMnlTczByc1VBOERsNTFvSndZb3pwai9HeXp0RlVmNlk2RmVtenNhQjIyWHRkSHVqZHY5eVRHeUpvUU5tMFQxVHpxZjJaWEJXT3dZZU14dnMydUI3UFhZWVBUbXp1eDJSaGcyZnFEdzNuTTJvaWlLSkRnY0xZRk9KeHRZNDBuSFE2NGVNOWwzUG41TC9HOTcvMERBK25STWd1azBpT0VnTE5RYkJwbWxWSkt2ek5UYXI1VjFTOVRmVjFlZnVWdXFuVVlkLzJzaTdWVjc5VHgxL1BsNVczMTg4bXNUNlgvNnZwOVAzVUdSdnRUT3RVMWpNUHJSc0YvMW5KKzI3d2ZidDFHYTRGZWIwQUlnWVdGSmZMTXM3cmF3NWlJZHJ6SXNZTnIzSDdMblZ6L2tVOWlpREhpTUVUakZtaXpic05NLzYyVVV1Y3pyY2dxTmNmNnZSVjI3OTZGend1R2VVb29jbkFRV1VNVU80bzBRMHpBaUszYVA5WHJLb2lOcXB4UXR6UzFwZ3FKcHR3dzJRSi9Nc0w1NE5kOUdqNlppR2VOTDF0d2JVQWFYUTNxL1d1MlhpMzd1bGIzb2RIK3F6N05XbHRkanpDN1ArNzR5b3d4V0Z0ZW4vZWVFTXFqN291aUtLdUtJbGdiWVV4OW5vSk9wMFdhRGZEZVk0d1pYZFlaUzZ2Vnd2dDgvUzAyN29BUDA5WGY2ZnMvL3Z2TXFraVA3dk1HMjhmWHM4SGx3K2FmUmphdmlKZlBqZkpEbEtsT2wvSnZWbjJReW4yZ25iUUF5Tk95bDFic0VoQW9oamxPRXZ4Z3lKLzg0Wi95OUw5N21vS1VCYmZJbWo5V1ZkYVZVbXB6R21TVm1sT0dnaXN1MzhXN0J3N2duQ0dKd01SQ25CZ0dnejYrQ0xqWWpvN3ZkbFVGMUkwT2NxcWI2Ry84MWJ2WXpiK2FGeWxMdTBZTU1tTWRpakR6ZEZPTnRUVlZ2OWk2SityMDJobVplZnFvZDYyWW1RRzdOZ3Bmb1J3R01URkJnYkdJbE1IVUdJTXhoaERNK0Q1WlE2L2ZKNG9TNGlUQzRBZ2hJQkp3enRGcWRVaUhBNHcxdE50dDRqakdlODlnTU1EbkJXbWFFcGx6K0V1djBmam02VEFjR20zWk5tZ05ad0pHRERiRTdOeTFuVGZmZnBXdjMvNE52dnZnZDBoOURrUVRIMkxXMDZxc1VxcWtRVmFwZVdWeW5uL2hDZjc4Ly9yZnlmSWhSVEZFQ0d6YjFtVjE3UmhKRWsxVjU1b0hNMVZCZHNNeG9pYzZ4aFJnNHlCTFlPTWdhNFRJbDBIYVZNZVJuY3dhb0p3WXJCb3VVWVhSNXUrN2R1MGlTUklXRnhmWnZuMDdPM2JzWU1lT0hTd3RMZEZ1TGRHS2R5TEJVbmloS0FwOElUZ1gwV3ExYUNWdGduaXN6VEcyNmhrclVCUTUyYUNzMHJhajhtQTdheTNPdVdxZkFuRWNFMFVSUGx0ZmtUM255S3lQRUdIeWs4WE1nd0l0MWp2YWRwRklFcjc4eGQvaTZWODh4ZXZIWHlFbUpxUHgySm1waXlxbFZFV0RyRkx6eWhSY2ZQRWlMN3p3Q0VXZWdoOEFnbWs1Sk91WC83cUx1b2RSWTF5b0dNcU5kWWl0RHowL2xmVlcrN2pKUUFPQmlTbFNaMTE4aTRFS3pla1F4bFBvams4TE15cDJwdm9QWW5ac3U0UUw5MTdPMVZkZnpSVlhYTW5ldlJleWJXazdMbDdBK0pTbDVTNjlYbysxZmdwaWFiYzdkQmM3ZE1UaWk1aWw5ako1N3NuekhPODlJbElPTVFoQ2xtVlY5ZnQ4MVhqc1RUMkQyL2lEVURrYldjTGFrUUhidTd0b2RXUHV2UDJML1BYM1hpTnlDYWtmTVBtQlNTbWwxdE1ncTlTY3NnaldaaFREdytBc3JnVSs3eE5IQ1ZuZUs0TmlzMjk4ZFNCWUdXWmRkVUt4ZWRtem5yeHFvd3k3V1ZDRnpUc1luRUFXUHBrQzNJazIveW9mQm9NaDV1aktxeHhlZVozblhucVErckZwUjEwdTJuY0p1M2Rkd1BYWGY1TExMN3VTSzYrOGhuYXJ3K3BxajhOSER4SEhNUXZkN1J4Zk9ZS0Vzdkx0bkNPS0lvd3hGRmxlQmxsM2JyL0VHckdOWVI1bEJ3Zlo0QzhnVmFzM29SeERhNENXYVROY0hkRGQzcVYzN0JnMzNuZ3pWejUxUHk4ZDJQL2gzUW1sMUZ3N3QxOWxsVHFuQlFqVkZMVytLUHR1aG9Lc21oSEpPSkNjeWNBb1F0bG5kYXB0MUhScnFSTnBvV1cyUHA4eEc5ZHpZZXZRdVZWT1pvdGQ2SFJpUklRUVFyWFU1eGRDeUlBTVl4eHgxTUlZaS9kQ1Z2UjU1WTBqdlBwR3pHTlAzNHNoWnRmeUhtNjg0V1p1dSsxelhIWFZOVVFPMW5xSFdZajJZcW9XVTFtV2tlYzVjUnpqcktYZGJoUHlyV1l1TzVkTi8yRmtYSm10K3MzR0xrRWNaSU9OR1ZxckFBQWdBRWxFUVZRVWI0VE80aUozZk80TzN2ejJ5NnhKLzR6c3RWSnF2bWlRVldwdVdkcHhGMGlJREJSaFNCbHVJWTROSWVUNDZUS2xRUG5Qdmg0cld3WXRJMVhBUEptMWJEM3d3R0kzSGVNcVczeHR2RldPRFdJd1UzMFRtdU9DQi8zbTBJWHgrYXkxV09jUkk0aDRNdDhmUHo2ajRCOERFWkZyczdMMkx2Yzg4SS9jODhEM2FVZGRidm5NYmR4dy9XMTg0cHJiMmJhMHdNTENBbW1hMHV2MXlvTzhyTU81ODJGZ1FmMllUdjhkbXlHMk9UYTJPY1lhd0pDNG1LRlBTVm9KYWRyall4KzlsbXV2dlk0bjlqOVNuMFVwcFRha1FWYXBlU1dHbzBkV0FJdXhGdU1qNHRpUTVRT01NZmlzUGw5OWdmVkgwQnRqTU5YM3ZBYldyZXZReXF4MWZSMmpBOGVtVDYvbVc2akM3N3IxaWR6RkxZY2VqQ1B6T0NBSkJnY21FTGtFd1JNOEJDbEc1eXU3WHNubytMZWFkWTFxY2NpeEJuSy9SdmxTYWJFNGZBZzg5TWlQZWVDUis5aTM0eTV1dXZFMmJyMzFzMXg4OGFXNGxzTjVNRWF3MVZqWjJYMXJxOGRvNHY1TmhjSFJ1Tkt5VTROZzFuVnZPQjNtSlA0T3B2bzdBbE1YQ2hOZEpEWld6YmcySVJBa3AvQ0JWcnZGUUhLUW1NWHVibTY2L2hhZTN2ODBCUUVKcWJidVZVcHRTSU9zVW5Nc1dlZ0FrUHNoR0UrV0Q2b3dtMDI5Nzl0Ry9naWpZUVZ5RW1GbVkyZnlZSnd3NCtkUUJlWkFYcVNzNzdMUUhGTEJ4QU1RUEZNUFNFNXpldG9BaEZHQ3RMeDk5QW5ldnZjcDdyNzNMN25wcHMvd2hkdS93clVmK1FUZFpEdjVNRU9DSmMvQW1ZU0ZoU1VpR3pFY1pHUlpoakVHRjduUmRZL0dtSXJVdHpUUkVFREtqeHlVbzFEdDZGUEJLRVEyaG9Xc202eEFKcmZYSnpXSGx6VDd4STRxNXRWcFJtYjNFUTZNcjJzMEJyYng2YVA1RVVla21xaWp1bE5Dd0x1VXRkWGpMSGQyMGs2VzZCOHYyTmJkeGxVWDNzQzFGOTdJQ3dkK2pyV09ZZWpUYWp1R3FjZkdqcERMQnNGYUtYVyswU0NyMUp3S1p1bzkzQVNRdW0vcjlMa2JYd0diUm11a2N5WUVUSWZVRTF5ZjBQMnZ1enZNWU1yeHlJWDBlZUxwbi9MY0w1L21tcXV1NS9aYnZzZ05uL2dNMjdwN1dWcnE0blBEMnVvcVJlWnBKVjA2clZZMWRyZWdybjBMRUdSVzViSWU3eEFRWXljcTJ1NFUvMzZqb0xwRmxYTzYwanI5dkJwbHlYb3M5TXo5MlhoS0RlZUVxR1h4RXZBRFQ4Z01wa2pZdVhRQm43N3hObDQ1OEN2eWtCSmh5REkvM2lsVFZlS0RkalZRNm55blFWWXBwVTZUZFk3Z0E0TnNsV2QvOVNUdnZubUFoeDkrbUQvK2d6K2xFMjlqcWJ1RFRuZUphTEZOQ0pDbEdVVlJFRVhqbCtDTmgxSFVFMWcwem1CT0pvaWZ2YnozSkVreW5oSE5HWHhSMEdtMXVPSDZHM240aVV0NDljaXZTT0kyL1h4UUR1MCszVEVWU3Fsenlqazg3WXhTU24ydzJwME8xc1lFWDQ1SktDZVl5RG00OWhhL2VPbHgvdWQvL3oveTJNL3VKZGdlZy9RSXgxYmV3VVVGbmE1aE1GeGxYYlczMlVrQzIxaldtMTM5bkM5cG1vNm1FWGJPMGVsMHlQT2NYcTlIdDdQSVRaLzhESTRZSjJYZ2Q5WWdoUituZnFQVldLWE9keHBrbFZMcUZBMEhHY0ZYWDNXYmdKQUNLVENrSFhtRUZmN0xkLytTZi9mdi95ZWVmL2xudExwdzRPRHJIRGo0T3ZzdTJRV21xTUpZbUJsaWpkaHlmT3E2WlpQaERuTWtZQkJqQ1ZVYnVWYVNZSUtRRGpKQ0lWeC83WFhzM1hZaGFWRmdpZWkwdXRYZERoaW5iMTlLS1EyeVNpbDFpdXhva0treGhpUnhKSW1qUEVCc1FMODRTdXdLTEFQZVB2bzgvK0gvL2wvNXozLzNGOFN0Z2tzdTI4Mjc3NzBKcHVvRGJBbzJEcWJUVmRuNUQ3QzFKRWtBS0lweXlsL3ZQYzVZa2lRaGNRazd0Ky9ocXNzL2lpSEc0RENtbkJJWVlWVEpWVXFkMy9TVlFDbWxUdEdPbmJ0d1VZeUVnaXdka09YRGNZV1ZuTXdmcDkzeGROdVdRSTk3SHYwKy8rZWYvMi9jOTlEZGRKY3NZakxFNW9qeGlBbmxRdDBGd0phOWZxWFIvMWEyR25Bd1o0ekJoekFLcFhrNkJLQVR0U0NBbFlSUFh2OHBXblN4eElUY2p4NFBYMlFiWHExUzZ2eWhCM3NwcGRRcE9ucmt5T2huNXd6R0NrVjFjTDJ4NVRDQTNtQVZXS1ViYjJlUUQ5ai8ydE9rUHhwU0ZBV2Z2dmtMbUZCM0pUQWdVWG5CVVhpdDFuVUQzb25KQlJqTmtEV2ZETjRIUkNDT0lrSVE4alRET29NUlN6SHdtTVR5MGF1dlowZDNMOFArRUovNXNzZEQyY1JoN2c5MlUwcWR2bmw5QlZSS3FiT0s5MEpSejBocnl1T1JQR1didEFEMDh4V0VGQ0hsNWJmMjgyZC8vUi80eVUrL2gyZUF1SlJnTW13czlBYXJHQ3UwMjIxRXBPcnJLcGdnbzk4SjVWTC8va0V0VGZWcDQrbCt3L3R5L2NZWXZQZUU0SWxpQno3Z00wOWtFMnlJU1V5YnIzN3BheGhpQWdHTEpZNE1Pa0dDVWdvMHlDcWwxUHRqbzJCVkZWc0RnWUFua0VNVmFIOTR6MTM4OWQvOE9hMDJkTHFXNHl1SHVQU3lmWVJROE82Nzd6QTVIdmFjR1ZBd2s2SFp0OVppeFlLUEtGTFlzM01maTJ3cloyeER4OGNxcGNiMDFVQXBwVTVaUGFJMXpEeDFZakVnRk9XVXVSUUVVbzcwM3VLUm4vMkV2L25iLzhUYThDaTdkaS95em9IWGllT0liY3VMalN1czVzaXF1aGFjT3kvY2svT0VRUmgzWmdnUkJFY3hoSXYzWHNabCs2N0FrbUF3aVBjNnJFQXBCWnhMcjRkS0tmV2hDa3owZ1cxT21UcnI1NUV5ekFvWnNmTUVldnp3M20vejQ1OThEeUZsTUZ5bFAxaGgyN2JGNlF1dU04KzlaTVdNb3V2VURHTUJLd1lyQmhNc1JtSVdPOXY1eURVZlJ4QWNNWG5PcU5LdGxEcS9hWkJWU3FsVFpBalZKQWlWbWFYWWlRdFVTMEhaMVdBVlR3OUx3YmUvKzNkODcrNjd1T1NTZlJRKzVlREI5eG9kRU1hVldDdmp0bC96Yi9JdHlCQ3cxQUhkWWtKRWJGdmttWEROVlI4bEpxWWRKMWdnMG5jdnBSUWFaSlZTNm4zVWFJNGxsckl4elBvMldzQm8zS3cxT2EyV3hUUGtCei84TG84KytUQjc5dXpDaDV4UmlLMHYwMnpGMWZqL3VjaElPVTQydGpGcFArT0N2UmV6YjlmRlozcTNsRkpubVhQM1ZWQXBwVDVVZFloMVFEeTFPTWJobGxGbE5vb2g3bGo2NlhFNlNjUnFkcFMvK3F1LzVLV1hmOFh5OHRLR3QzU3UxR00zVnNWMEd5RmlLUExBUW1lUmozLzBPckk4eDFvSTU4NjhFRXFwMDZCQlZpbWxQbXpWa0lPOGdFRS9rTFFqQnRseGhBRkhoMi95TjMvN0Z4U3NJVFlGa3lHTjZXdk42TUN2YWxheHh0VmFhUjc1LzhFN21URzZtNTEzdEcycWNtMk1JWVNBTXhHUmNWeHh4ZFVJaG5iY1FjSjhqeEZXU3IwL05NZ3FOY2Z5UEllb25OZkV1TEkxVVpFTDJwM293ekU1QkxZZXorb3BwNmx0TG42OHZURjJObzVhQ0piQk1NUEZnY0FLbmlNYzZiL01YLzNkLzRGcDkwbGxsV0crUnFEcXZTb1dLNjRjTSt2TC9yTDF3Z2JMZFAvV1FMbUlENk9sUHErUlJpQ2V1aDRqNDJXNnArMzBkaU1iNzgvby9JMTlNOEVnWWliMjB6a2h6MU1XbDdvY1BYS2NLeTY2bW91V3J5UkxMUkV4K2hhbWxOSlhBYVdVZXQrRXFhV1krcjNKbGtmZlY3MVJBNzVzMFdWeTNqMzZHczg5L3hTLytPWGpkTHFPcUdYSjg1U28rdEJpclIzMVVoMjFxL3FRcTVNbjgrYXgyYjVWOTJMZDZXTEtDUmZxcXF3Qm5JdTRZUGNsR0ZwRWRFNXlMNVJTNXlKOUZWQktxVFBFTk9xNVV4TnBjZWpZZTl4MzMwOVpXMXNsaWl3K3BBUVRFRHpGYUFxeGM1KzFGdTg5aUNXS0VxNjg4a29zQnF0dlgwb3BOTWdxcGRRWjQ1d2pjcTRLYStWcHhvQ3BLcFMvZVA0WFBQN1Vvd2dGY1RzaHpYb1lCOE44UURnSGpuYXE2N0JHeXFsOG9WelhZNEtEYVFSWndHSzQvSkxMQUZ0TlY2dVVPdC9wNjRCU1NwMGhoYzhKb2Z3S3ZTWUN4bG9NUWtIR2ZmZmZ3OUZqNzlMcE92SThJNDRkM3Z0enA1WHNoUFhoM0JpRGVIQTQ4TEJyeDI2VzdMYXFsbjFPUGdoS3FaT2dRVllwcGM2Z0lBSG5ITGJPWkFJKzVBUUNnWUkzRHIvQy91ZWZZNUQyc0xFZ0xoQzNZb3laN3hCWGo1czFVdit2RHJHQmV0cGZFVCs2bjhaWVFvQlczT1hpQ3k3RkVuMzRPNjJVT3V0b2tGVktxVE1pakdZR0V4R2lLQ0tPRGVOOEdvZ1FJT2VSeCs3bHpiZGVJVzViaHRtQXBKT1FuOFBqWklPcGxxcGFiYkE0NThCYlRJQXJMcjBjVzQyVVZVcWQzL1JWUUNtbHpwQTRja0RBZTArV0ZSUzVqQTc2c2liZ1NiRUVmdlhHTDNqajdaZUlXb2Exd1NweGtwRDVmS0svN1B3TGlBMFQwL0tHRUVaamdaMkpxdUVGamd0MjdhTkY2d3p1cTFMcWJLRkJWcWs1TWVvQldyMjVud3NIKzV6djhpSUhSaE45alRzWG1FQVFqNUFUU0ludy9QRHVmMlN0ZDVST3A4VnFmNVdrM1pwNExvejZ1alpNOTQrZFhtYWRkOVoxZm1DTEw1RGdDYUVZbnphZWp4ZXNHYlhmS29xQUVVdklBMWRkZWhVNUJmb1dwcFRTVndHbGxEb2JtUUx3Q0JrNUEvclpLaSs4dEIrY3g5ajFRZlRjVUZWakc1WG1zcGVzdzRqRjRvaGRpeVRxc04zdTBqY3dwWlMrRGlpbDFKbGtOL210ck1obUJISjYrVEVlZitJUkFnVVlnK2ZjQ2JKV0p1KzUxQzI0cWtrUkhQV2tDQkdSYWRHS3V1emJleUg2RnFhVTBsY0JwWlE2UTJhL0FEZE9OV0NNQnpJQ0tjL3VmNXIrWUEwYzUyQkZ0dTVXTU81Z1lLMGR6ZTZGRjZ4WVJBd095OTQ5RjUzSm5WVktuU1UweUNxbDFObktBRWF3UmpCQVA2enk1anV2RTBJOTllMThzNVRWV0JvVElEUVhZd3dpZ3JVUndVTUlJRVVnRk1LZTNidlA2TDRycGM0T0dtU1ZVdXFzTVZtTmhiSSthVnpBUldXbDhybjl6ekhJQm1ETmFEYXNjOFBzQ25NWlpLdktySUJVZ1hiWDhpNmREa0VwcFVGV0thWE9XdFVydEE5aFZJVjk1cGxuNlBmN1dIdXV2M3lIVVJjRlp5eEdMQTZMdzJERnNyeThIWjNaU3ltbFU2TW9kWTR3YkZUVG1ySDlYQnRlT2FmV0R3NElFNmZXZnpNUktNUVQ0WGh2NVUyRytRcGk5MkpPOENYYzFFTlBZZkp2UHlNSDJwTjRibGhPZDRCRGMwWXYwN2h0QzJJSlVyVUJNd0djUjJKZnRla3FhQzIyRVB6V1Qvd1pKaTR5bWxGdHF3OEc4eitVUTZsemtRWlpwYzRnczhVYjhLeGVzZlg3cmdVMm02VjArbTA1TU4ycjlJUjJVWDJBWk9LdlZMZWVHbTBzZnhVUXNSamo4SklCZ2NkKzlsTXUvWjJMSUcyREtTY0dxQS8rcXIrQ2I1NW1aSHkxelQrN2hNWVRzSDVpTkU2YmVJcUlqRk0xVlAxZVpYeWVxZTFOcG5sNlkzdW9Kait3Z0FRSDJJbThtQ1F4cVJtU2hSNnRKY3VoMVhkb0xVUjRNbDU2L1hrOCtiZ0piLzJZTmRlejdnZmpBRDd1V1d2QjJNWUo5ZCtsM3BsNlB0MnBmNC82Z1ZDcE0rNWMvMjVLcWZQU3JLcGEvWTlkOCt2WndrNHRNd2dZTTk0ZUtCQTg3eDErZzh5dmJmbEp5TXJrYzhISTVESnRxdzlXcDNyZTJSclZaeW52b3hFRFlyRlNWbVRmZmZkZGR1L1pqaWZuM1NOdnNlT2laWkp0amdjZXY1ZS8rL2IvZDFvMVVxa0Q4THAvRUhhRG41VlNaeU90eUNxbDFGbXFXWEUzeHBTVFhXRjU0ODNYU2ROMHppZHB0YU9RYmNSVzFWd0xTQmxRVFdEWG5oMzBobXYwaDZzc0xuZEk4d0ZQL094aEhuejBQbnBoRFRDVFZkRU5oZ2VVWnhuSDNsQ2ZPQnBqVUcwekZrU0hFQ2cxVC9UanBsSktuYVZFcWdCTHZSYWNNeHc2ZW9oK2Y0MzVIN2RaVjV1YmlUMkE4WWp4ZEpaYXZIdjRIWkxGaU81eW0vc2UvREhmK2Y2M09GNGNvV1dUOHJJU2paZlI5VG5XVjd3dFplM0dJdFY2RkdZTmpJZDIxQU9LbStNVTV2MXhWdXJjcFVGV0thWE9VaUwxT05lQU1kWGFsdXZqeDQrZDRiMDdmVWJNYURnQlloRWJFQ09JQ1FSYjhNN0JOMW5hMGNYRUJZODhmajgvdnZkdWVxeGlnWDdvTVE2dHpjVXdEc2VOeGRpcGRiVVR6Y3hLQU9vZXZmVUVEUnBpbFRxYmFaQlZTcWt6cmhHV3RoaDdXaFE1RUhqdjRJRVBkSTgrZU9NQVcvNWFCc2RRaGRoZ2M1S3VJMW0wUFBMRUEzenIrMy9MS2tlSmpEQmtEUmtGemxsampCdVBaejBndUQ2UVM4emt1TmhaZzhaSEIzVnBpRlhxYktkQlZpbWx6bUwxMElJUUF0YUFsNXhXSFBIT08yOXhMZ1N0OFp0UTNhYWhETEhCNW5pWDhzZ1REL0REbjN5WEFhdEVSc2dZNE1ucGRKTnFOTzMwVXBkWVBSaGZYV2ZZK0NpMzZaTkdGZHI2Y28xRktYWFcwWU85bEZMcWpLaURrVzJzNjZQNEtiLzlibFFMUS9CVkJ3Tm90V0tPSERuMEllM25CNnMrc0V1b0tyRm1IR0tmZWU0cHZ2dWo3M0RjSDZZVHh3eERuOXdQRVdDdHYwcjVGbGFIMS9yYXd2cUs2OFNCWFkyeHNZeEQ3S2hsV2JQSmJPTjhTcW16a3daWnBjNFN6VDZnNm55eVFhVlB3RmlMOXg1akhNNDZDbDhBaGpUcmNmRFF1K1dzVjVUUG1mSjhCdWNjQktFb0NpTFRxSGRXZlY2Ynp5OXBoTFNaMjlscXUyeStmZFE3ZHZZZE5GYm85L3QwRjl0RXNlWFkyaXBKMTVFejRNV1g5L1AvZnYrdjhhUUlPYXQ1djJ3L050RUl0OEEwUGdBSVRBUlA1OENQSHQ0QU9IQUdpbkpmNjlHMGNXUUl4cExuZmh4b213L0NyQlpkelc0SFNxa3pSb2NXS0tYVVdhb2VWaUFpNVN4V1ZmVXhCRStXcFFoK3JqLzRyS3l0Y01GRnUwajlnTmZlK2pVTHkyMmlManoyMUVQYzljTy9INFZZVDFIMTBLMU1CTXZtZU5qSjZ3OGVuSVhGeFRheGMvVVVhVmpqYUVVZE9uRUhnTHdRZk83THZnWXV3am16ZFNGV0s3VktuUlcwSXF1VVVtZk1pVmIwUXRXS1N4QUorSkF6R1BRbVpuNXJobDdUK1Azc0ZlZ3N4UnpySFdGWTlOaTFid2NrQlk4LzlUQS9lZkJISE0wUGprSXMrUElpMHpONFZXMWtUVDBVWStvV1lsdUcyY0hxRUxBa3hIVGIyOGh6VDFxa2VBS0dtRTdTQmlETkJuZ2ZDRHBsbDFKelF5dXlTaWwxbHByK21yNE1wNEVRQ2dicGdCQkM0L1Q1RWt3Z2JqbmVPZlFXN1cwUnk3c1hlT2l4Ky9pSEgzeUxvL2xCTEFGUFRpQW5uTVJYK1BWc1prN0tFSXRBUWt4RWhDRmlNRXdwUERoaXRyZDJrOUFselFvR1dVYkFrTmdXc1ltQkV5aTZ6dC9EcnRRNVJ5dXlTaWwxbGxvZlpNZS9lM0s4OTRnclR6UEdqSUx0WEJRVVRXQmxzTUtPQzdaUm1Jd2YvL1JlN3JyNzIvUlpvZVVjUGQ4ZkR5ZVlHQmU3dmpBN3FzcldWMDA5L1lIRFl4QWlMbGpleDg3bHZmUldVbzRjV3lGbHdGbzZSREE0V2tSQVFVNGVDZ0NzaVFoU2JMRHZ6TWRqck5SNVFJT3NVa3FkcGFiSHYwNytHZ2pCSTdhc3lFNE9MVENqS1czUFZnSkVMVVBTdFR6dzBBUGM5YU52TTZCSFpBdzl2N2Ird0s3NlFpUE5MeFRMd1FDVDB5RllXdEVDYVpFRE1SKy81Z1p1di9XTFdDS2UzLzhTTC83NlJYNzUrak40TWtEdzVLTkxDMkhjNGFEK1dhdXZTcDJWTk1ncXBkUlpZM1pqZjJQcVdiNW9sQ05sWElHZFIwWklpNVFuSDMyU0g5OTdOeWw5RnBJMmcyS1ZJSjRvZHVTRm42aCsxbmZkRXRXUHpPaVVVck9sbVNNdFBQdTJYOHB0bjdxRGF6OTZBenVXOWlJaDR1WlA3T2I2NjI3aW42VmY1R2ZQUHNaalR6eEtQeFNBWmFIVkpmZEQwcUsveWM1cnR3S2x6aFlhWkpXYVUvVmJ1S20rU2JZeWZuc05Cb0pzUEFoZXZ4bWRIMlcxVlNaQ3JESGdaUFpmdCt4d2NJTFgzWmp3NmtUT08zVkxqQ1lORUZ0T05RdlYybGI3VWg2a0ZhcnBkY1hVa3hhQXR5a3YvZm81Zm5EdlAzSTBPMFNFNFhoMkZLSEFHb3YzeGZobVp0NCtsSk1lMEtpZU9pd1dTNFRENFlqNXhOV2Y1cFBYZm9aT3NrVHZVSXF6UWl0WklJb1NJUERWMjcvRzV6OTFCeSs4c0ovSG5ucUV0NDY5UmdCYUxGQXd4T01KQkVRMjZrOXJKL2FUcWJPVXhzRlgvOTBwOWY3U0lLdlVHUlJDd0U1Vm15YUdBMjVTYlJNcjQ5azNwN2VaY2dtYnZHdk91cHc2K3hoanNOWk1kQ2dZdFdjVktmL0l6WVZHMFhicUNXQWEyMEo5K2RGQTA3TGJ3Y1Q0aGViRncraEd5NVgxQ09WMHVVWWNWSXNKRHFSOGEybDFGamg0K0QxMjdsckN0UzN2dlBjR25hV0VPREg4N0xsSCtYLys0VC9pU1FISTY5WmlnSldBaUszMmRYMzFjelRzb0JwTGtDUVJJUVVLYU5GbWdlMWtGUHpCbmYrU3l5NjhncDN1UWlnaW5QT0FoY3ppaDRIbFpDZjV5Z0FuTWJkODVQTjg4c3FiZWZYMVgvUEVNNC95cTNkL2lTSENraExJaVNJRDFqUE04L0tocUc4ZlczMGFNQ0FPeTdoOGJ2Q05CekdzdXpmNjcwK3AwNmRCVnFrenlKN21POWxXbDI5MEtacThIT1VicWxabXozNGlRaGlGU0VaL3pJMk81RGZHWURCYkRqbXdqSnBhYlduV2g1Nnk1VlVBQ1JoYzlhMkFMUU9vR01UQThlT3JYSHpKUG82c0h1TGc2Kyt3NStJZDJEam4vb2Qrd2owUC9aQ2NGREVwVk5YbDhmUFV6aGhrTVhWLzY4S3ZoV3hZWUR6c1NIYVRad0dQOEkxYmY0K3JMdm9JeTkwZDJDd215d3FDTnlSSmpMRU9Hd3hSSnRpaWhaZ1k1eUlXVzl0SUx1dXlZMmszTjYzY3dtTlBQOHpoNHdjNG5MK0xMM0lFWDQyL0JTTHdOaWwvQzVRekwwaW84cjdGSUkzSkdzWkRIeHJ6dHltbDNnY2FaSlZTNnF5eFB1S0l5T1JCWG8xWkFheTFaN0QxbGkwcnNiZ3FpTllMU0RVT29OVjJETE0rdzZ6SDhxNEZrcmJoa1NjZTVVZjNmSi9qNFhCNU5UT0dTR3pXYnFzNTQxYW5Fek5ZeXpFZU9xN0xNQnZTWVpFN2JyaWRXejk5QzIyN2hKV0VJdlBrZVk2eFNmVjRsZU9MZlFERUlSaUtRakFpdEpNbEx0M1g1cUtMTCtXaWl5NW0vOHZQOHZObm4rVE5sZGNKT0FJRkVDaHlBWXFwOFR2MVI0TXk3bnBrSXB5dkg4dXJrVmFwMDZWQlZpbWx6bExHVEZaVzY0TytTaFpyM2VnODlmbnFiZ1gxeEFnZktLbmZRdXhVSUEwRUczQ3hjUERvT3l4czc5QmFqSG5raWZ2NWh4OThpNVZ3bU5oQUpsc0hPU0hNL3VaQXdBOEU0NkZsMm9pSERndmMrWmt2OFJ1M2ZoRVRJcklzeHdxSU56Z2JZNk15K0JmZVV4UUZobklvZ0NVaUZJRThMd2pESEc4RElTcllzYkNYejM3eURqNTI5Y2Q1L3VYOS9QelpKM2xyNVhVQ2dpRkhHT0pEUHY1QVljcitDU0srbXNIV1ZQdGRWNXpyTXJKRHc2eFM3dzhOc2tvcGRaWnFCdGx4NWJYOFBhYUZjNDU2TXRWNllvUnlhTUdIUUF5MlVZMFZFWUlCc2VVQlhXSTh4d2NyN055OWpiNC94ai85OUQ3KzZiNGZjTHc0aEtHb1F1eGsySlpab2E0Tzd6TmFjWVVNdHNlN1NQT1VoQTVmdmVOcjNIYmo1M0RCWVlLaHlEeXhqYkUyd21BSUloUkZSa0N3dGp3a0RHdzFEbG1JVFlKSEtFSkI1bFA4d09OYUhmWXNYY0syNjNkeTZRVlg4dUtMTC9DTFh6N0xRZjhXaG9KQXdBVEFXWUlUdkhnS1grMnZiUXdKRVl0Z01VU01CL1drYUpCVjZ2Um9rRlZLcVRsUVQzZ0FGdWNjbmFSVFZnSmw2L0d3SDR5cUNsdFhZa1hBQk1RVVlEemVGaVFSbUhiT28vYy95RjMzL0QwWnE4VE9NdlFwWWFzUnV0TWRBdFp0anVpeWpTSVhFanI4czA5OW1WdHYrQ3pkWklsMHRjQmhhU2N0cklrUk1SUSs0SU5IUkhCeFJKSkVPTzhRNzhrTGp6RU81OHJGT0lNTkRoZFpWbGFPMGsvN2RKZmFmUHl5RzducWdvOXc4YTRyK09VTFQvSDgyMC9TNHdnZWovZUM5MFg1Y0pqR0FoQ3FqZ2ZCVGJTazFUSHFTcDArRGJKS0tYWEd6TzRiV3hzSFZJc3hidlJ6NUJLNm5VV3N0YU5obWMyS0xOVlFndys4Tml0UmRXQ1hVTzVJcUVKc2p0aU1uQUUvZWVCZWZuei9EOGxZcFozRURNTWFuaHpuRE1FYkxIYjJnVnhUczNtTmZ5NGZNNGRqd1M1UkJPSDJUM3llTzIvN0VwRkVwS3NGUyswbGh2MGNGeVhsYm9sWk4ybEUyYWFzSE85cUVZTFBLWHlPR0lNeERqSFFXK3V4dkxpZFhjdDdHQXg2SEgzN09HSUMxMTF4UFRkOS9IcSs5OU0yQjQ2OHhxdnZ2a2FQTmNDUWh4empKb1l5VjBkWEJpYkgwR29sVnFuM2d3WlpwWlE2eTVYREJSeDEyd0pySFVuU3d1RFdqYVA5c05WOWFJTXRoeE40V3lBMnc3dVVsMTk1bnUvOTB6K3dHbzdRYVNXc3BNY1FDbHBkUnpvb0o0OWRGK1kzQ3JHakE4cE0xZmtxWmhnS3ZuSEw3M0xycDIvQlNvd0poc2c0aHYyY2RxdExOc2lyZ08rSW9nam5IRjRDUlZHUSt4UVFZdXRveFRFU0RONlhCNEVaQTFoTHE3dUFFZkQ5RkZzSWk2MEZvaWdpeTRZY1h6M083MzNsRDlqL3lpL28vdndKbm45alA4YzRpbURKZkE1MlJ0OVpVNENNdXhqTUhFcWhsRG9wR21TVitwRFVZYU1aT3FMR0VlZXp0bTkyZVVNb3F6L1ZkUlJGMVVEZVZNVWZOU2MycU00WlJoTWh0TnR0Qm9PVWRxdkRNTTB3eE96ZGV5SEFxTDlzODNsZ1pYelFWNjJlS0tINS9Kb29kTTdZUGc2UnM1NmZBZzc2L1FFTGl5MWlaemphVzZIVk5XVFM1NFdYZnNsLyt0YWZFY2dKcEt5a2EyVUYxRUk2OUNmMnZYcTF2UlV2RUlwQUNJSElKQ1JSQzU4TGYveWxmOFhsZTYra2JaY0lRY2p6b3B3UXdjUmtnL0lnckhvSWhDK0VZSHg1b0pZeFdHTXhraE1rRUhKZmpvd1FXMWF6Z3kyWHh2NFpBWXBBa2FkWURJdXRSVllQNTF5MTczb3UzSE1GVjc3MERBLys3QUhlV0hzVllVRGNpdW1sSytPV2FZYXlVbHUxNllvaVMxN29QMVNsVHBjR1dhV1VPaU9hN1poZ0lzeE9qUWdvdzZxcFBxQlk4dHl6YzhmdUQzd1B0N0t5ZHB5TEw5bkhvU1B2OGU2N2IzSHhwUmNnU2NwOTl6L0lBNC85ZEJSaVBVVVpZbWNPRGkzdjk3cnE1R2hHcjVnc3k3QkViRXUyMDg4R2hOendqVHQraDB2M1hjSE83bTVpMjZFSUJkZ0k1eUtzV0RLZk1XdHV1OUVNWWFhZWxTeFVzM05WTzFVRlR6TVJZcHNmTnFxMVdHSTZTR3BvUjQ2UFgzMHoyNVozOHR5dm4rSHBGNTdnMk9Bd2lXa2p0c0JURUR4WUIxRWJRZ0dGaGxpbDNoY2FaSlZTNml4VlZ3VHJxcXN2QkdkaWNoL1l0KzlpTnA2RStFUFlOeFBvTHJVNDFqdkMwUGZZZGVFT0pFbDU5S2tIK2NtRFArSm85bDRqeFByR2RHT05aY01yTDFmdFpKRTBUWEVrdE9rd3lISVNPdnpHelhkeSsyZCtneVJkSUpFdWVlckxWbHMyd2psTENPQzlZTTNrNDJPYk4xc0YxbURLbWNUQUlOanhsTDBtak1Kc3Vidmp3RzJxU1EraXFNVmdtQ0pXV0Z4YzV1TlgzY0NPNWUwc3RMdjg4dVZuZWVQNEs5VitHSXdMWk42VCtYSTRSaFJEa1cveE9DaWx0blRtWGdXVlVrcFZHaS9Galdyc3VpQXJIbXZMbGxIMTBJSXpSNGhhaGdNSDM2Uzk1RmplM2ViQngvNS85dDdzMlpMcnV0UDc5cENaWjdwRHphZ3FGSVlxRkVBQXhEd1NBQUdDazRKVUs2em9hRVhMVnJ2YkVSMGRZVDhvV25hRUgveGtoLzhBUDFpT2FBL3kxRzIzdXlWUklpazJKNUVpd0JrZ0FJSUVDUUVFUUl5Rm1xdnVkSWJNM0hzdlArek1NOXloQ3FnQ1ZWVlFmaFduOHQ2VDUrUjg3dm5sMm12OTFwTjg2V3RmNEd4eERJWERVOFkydG1xejZHT01TTWRDcjJyK1RHNnN4aFVPamFWRkcxQ2t0SGpzemsveXFVYytTMG9INVJPY0N4UjV3SlhneWtEdzRLdkN0M016Y1Z3SWFuMTB2TjdEU3RpcVVBbmNTc3hxQVFMZWUwUVV2Z3prYXpuNXNtTXUzYzQ5TjkzSDczNzZIM0hqOWx2b3NJQ1JGTzBTV2lZZGkzamRXQlkwTkh3Z05CSFpob2FHaHNzWWF5M2VRUzM4dkJkUzAyS3VOMzlwTjB3RlZnY3JMTzd1NGRXSWJ6M3hiYjc4amI5Z3dGa1NveG40d1d3NlFZM1VQcXF3WlpQY0t1SXBJc3luQ3d5TGtqWmRQdlBBWjduMzl2dXhMc09JamFrV3ltQlRpekoxVnpGUVdtTlZPcjRCcUV1cjZoelk4V3EwSm40TjZuSGpnaGxuMnlxaXExVnNQYXVuMG82REZvcDhqU1RKeUd5TEVCekZjRVNRUU1mT016ZTN5T2NlK1FjOCs0dG5lUGJYUDJGRUgzR2VUcG95ZEdzVXhRVWM4NGFHaGcwMFFyYWhvYUhoTXNZWWczTzE0Rk1FWU8vZXZhUnBDOEtsVFMwd0dhUWQrTjRQdjgrWHYva1hqRmpCYXNYQVR3cTc0b3ZycVlXcUNVSEV6OHllb0ZFb0VsSUd4WkEyUFI2OTV6SHV2L05CNXRJRnlrR0pzaFlKQ21VTnhtaTAxbmhmNHIyZnNUZUVnaVlBQUNBQVNVUkJWTnJhR2cxMWkxM3ExZ3dhUVNwTHNaZ25LMG9USURveW9LZlNKQUxLQ3FKandaZ1NJY0ZpTWVpZ2tWSTRzT01RY3c4c3NtMXhGOS8vNlpPY2xsT1VSWTQyWFVLb215RTB1YklORFJkREkyUWJHaG9hTG1PbUJablZGaGZndW11dkowbVMyQmpxa2hISXl3SFBQUFVzMzM3aUc0eFlvNXRsRE53S2dzT2t4RWp5ekJCNkZJdUtoQ2hpeisybm1tVnRYQzQ4Zk5jalBQYlFKMGg4aTNKUU1wOHRNaHdVb0JPY0Q2Z3E4aG9RUXJSWVFLRmlidW9tdy9kYVZMWFdaUEtrUkN1d2dLQlYzQ3F0SUtpQWx2ZzhLc3pzaXNrQ3poVzRBa3pRV05VaU14bEtHVUtBd2VvYU83ZnQ1WjdidStnczRVY3YvSWgzMXQ3QytSSmoybmcvUE9mK056UTBuSjlHeURZMFhDSTIrNEp0K1B2RWV4QXdkZVNQQUJnU2t5TEJzM2ZITlZqYWFOa1lkZFR2K2JxU21LR3FRTXNrRWpudTFEWDlTaFdRU3NpRnF2R0JOem12dlBaTHZ2SGtWemhUbkNSUnNKd3ZFU2hSS2xibVY2c1pwd3BNOExGNFNybUowSzBlQ29zaFFXTW9jOC9uSC9vSGZPenVSN0NoUlVLR05nbkRRVUdhdGlnRm5QZUVJTkVSd05xSlBaMkE5K3RURndMakZhcnhBZDZVS250MmZEd25rbnZ5azBqMG9WV3B3a3FDQ3ByZ0E2NG9jY0dUcEJuTEoxZXhQY3NEZHp6Q2poMDcrYzZQbitDMVU2OFJmRTVnRkhOdjM4TTUyMnhMbXo4aERRMk5rRzFvdUNqT0owWm5QVGxsWmxxVmkyeXkwQzJYdHNXMDRZcWxMb0lhbjhyWkNLVTJrT2RGMVFZZ29FcXd0TG4xMEQzb29vMDRQVFlOSGhmYno5aEdyYnYraE1uMXB6eW9Nb3BrTWZFUkRJaEdoL2pWb0JOTmY3aEd1NWVDZ2VXMXN5UnRUZWxIL09yWHYrQlAvdktQOFZWWXVKQXcyUkhSSUdHVFM5a3pqc1FxQngyZ2pCdHZ4U0NGSXFVZFc4OEN2L2ZZUCtiQTN1dm9zUjJ0TWx4ZTRqRmdOSU1pZGdmVGxVZXJCRDl1UWJ2K2VJejljWVZZbkZVZDgrbjdBS0YrbjB4Mm8xcFc5T1VOVTFKY1YzdWpnSUFTalJOQlNTWFFVekJvQkVjcnRaU0ZoMVg0eUs2UHNPT2g3Znp3cVIveDdQR25XR05Jb1VvQWJCS2p1TUY3RU9oMnV3ejZ3M1ZyWkx4djhlOUhhUDRLTlB5OXAzRXRhR2hvYUxoc21GVFMxMTZtV3VJZmFvUEM0N2w2OFhyYVpnNThXdm1iVG5nL1VmNm8vd0txRXB4eFhSb2RkSXpNb2xoZDdYUFYzdDNrYnNSYlI5NmdzOWdpNlFoUC9mUjdmUG1iWDhDVEl5cEhLR1B1NkRobXFkSFk2aEgvVGZKQkE5UkZZSldJeFVOd3dvN3VMalFKRHZqY1BiL040V3Mrd2xVTCs4am9JTGtnSWNHYWxLVFZ3bVJwdFNjYjgweHJmYnA1ZERwcytWQVNIL1h2dW5xb3luSnI5cUhSb3RCaXhrZFRWQlc5cmg3YUtxeTFwTXBpblNaMUNYdTZlN2ovcHZ0NC9NYkgwUmlzVHRISzRnb2hPRUVyaTFLS2ZyOWZXWDV0M0RlTi9rMDNIMjVvdUdKb0lySU5EUTBObDVwcGo5VXBwQm9CMTBwaEpNR2p1ZTIyMjJpMVd1Qmp1c0VGSTdVOE5sUHRYK3ZLLzdnaDNWN0d5dG9TZVRsZzUxV0xLT040K3JrZjgrVDN2ODJaOHNUVWNtWUo1MGlibVBaeDFSWkNBWGpJVEl2bC9pcGRlang4KzhlNTc1NzdXR2p0d0VoS1daVGtlWUhTVWJ5RzRISE9YZkl2c0prYmgwMEdTbHhSWXExRlNleTRWZ1FoeXpLdXVmb0E4M3M3SEE5djg5S1JGMWdhcnFBSldHUElmVkVWbnNuVTR1SVJyWDF3QXhzdWxZYUd2N2MwRWRtR2hvYUd5NFlwQVNoVjB5bEFxdXA2aGVhV20yNG10ZGtIc2pZbHRuSVNzRlVGLzJRN2duWWttZUxveWJkcHo2VXM3T2p3dzlvbnRqeUJub3JBbm9zNnFyaWhCNElBaFVKNVJkdDA4RTZ3cER4eTl5ZjQ5Q2QvaTFiYUpjOExpcUtJYlhlMXhkam9SdUM5cHl6cnF2L0xGK2NjSVlTeGk0SnpqanpQOGQ2VDZJekhIL3dVdHgrOGl6bm1zQ1FvYnl1L2hwanZXN2UyUlUwRUxEUWl0cUZobWt0OVE5dlEwTkRRc0I2Wi9iRWEzS2FyRjlpemV6OUttZG44MXd0Q2dSaDBGWTBWRVlJQzBaWHdWSjdsNFRMYmQ4N2pWWjl2UC9sRHZ2aTFQMmZBTWkxajZQc1J0V25WWkZzM0VaYXFTc3ZkNENjTHlobTJ0M2V3T3V5VGtQTDQzWi9pa1FjZXhZYllabGE4UWh1RFRSTEVLbUxKbVVjcElVM1RxUFF2WTlJMFJXdU5VZ3BqREVvcFJDUUtYRHdMdlcwOGVzZmpMR1k3K041elQ5Q25UMFlIMHhKV1J5c2JFbU1sVkc0S2w3bUFiMmo0dTZRUnNnME5EUTJYaWxxTFRvczhGZGFGM0N5YWxJUU90OTl5Risyc2c3aTYrdjdDTXlWamp1ZFVUcTVVOWxMS2dmSjQ3YkFta0hRVlQvN3crelBORHZwK1pmTkN4WmtWYlBIeitDbUxwY1Z3V05LbHg2UDNmcEpISG5pVStkWWlvOVVTSHp3ZDIwVnJpNFRvUU9DcVlpNWxUSFFvS0MvdnJnTEdHRUlJbEdXSmlLQjE5THNGYUtrT2c1VVZkaTdzNGE0YjdxYnNsL3prNWFkWllZbDhORUtoSzJlSGFtSFZ6WUJJRTVsdGFKaW1FYklORFEwTmw0cjFBbTlESzFkTDlEcE42TFcyY2Y4OUQ2S0N4anVQSm5rZlZsdGJJTFl5L3hlb1V3V1V4K3NTMFFVanY4YlRULytVYjMzMzZ3dzRTN2ZkWXVCVzhMN0VXbzEzc2ZCb1EwN3NlbzA5azBzYWhaekJNTWNpSHVIaGp6N0NweC81TEZhbEZIMVBPK3RTckpXSTBmaHgyOWxBa0REakJISVJHY0lmQ09mTGtRM094emEyWVNJOVJVSVV0R2c2TWtkeEpxZlhtdWRqZHp4RXE5WGlpWi85RGFzNE1tTVloVUcxSWpadFhkelEwTkFJMllhR2hvYkxFb1ZGWTZyK1ZoM2FyWGtPSDc0WnlRM2lRUm56Z1lUa2FndXFvR002Z2RjTzBVWDBpZjMxMy9MTko3N0txZUZSRXFOWkhwNGxVSUlCUHhabjYwb3R0aEt4NDRJeVZWWGVKNVFJbjcvbnQ3bjd6cnVoVEZEYVJ0T3FnV2RoWVJ0cks0TVlnY1dRMmdTMHdrdkFPWWQ0SHpzV1hNYlVVVmhyTFZycmNWcUI5eDR0bWhZdFRMQVFQR2tyNWREVk4zQzJmNWFmLy9wNWx2d3BGRFoyU0p0bWk4TEFob2EvcnpSQ3RxSGhBNktPRkUxSGpNN1hKbFBPRTFvNTMveUdLNXlxQ01oYVMxbFV3K1FLMHFRVnZVZEpTR2poMFB4SHYvMFBHYXprTFBUbUtJYzVTV0p3WVRLOFAvRkpuVnd6MHhKei9YeEJVRm9ZRGtmMDVscFlhMWdhTEpGbU1BcERYbnJsRi93ZlgvaWZDWlFFY2dhK25MU2RsZkZJOTdtcE5pVzFIWHdadDlXcWxIYldvUmc1ZnUreGY4eTFWeDFrb2IwVHBUUnU1S0tkbFRLc0xLM0Z2TktxcGEzM2dnU1BLTWJEODdKKy81bmQvMWtiM1kzSFp5YWd1c2w4dFg3K3V1VVQzbHV1YWdoaDNKeGgwckJCSTZXaWJkcU1paUZGbWJObmNUOGZ2NjlMMmtwNDhoZC9BMENXZFdLK3JJS3MyNHBDdUhBYmQ2Q2g0ZThwald0QlEwTkR3NlVpS01SSG9aTm1DVXFEcnFLTVJtVmtxb1BIY052QmU5aStzSmQyMXFQTVBZa3hPT2ZPcy9EenM5cGZZYysrN1l4Y256ZmVmWTN1WElacEMwODk5d08rOHMwdmprV3N4MFVSTys0eU1MTVR3Q2FGWHVPT1dDbGxXYUl3Ykd2dkFGR01SaVcvOWNEbk9IVHRqZXhldklwRXRhSU5WekJZbTlGSzIxVXgxOGF2cUdrdjF5c2RFVUZFb2NXU3FwUTBwSFIwaDJ0Mlg4KzlOenhBUWtZeDhyUjFCeVdhdkQvQ0Z3NmRxSXROa1c1bytORFFSR1FiR2hvYUxna2FwUzBpQWU4Y1FlbllmQ3NJaFN0UUdKUktVV2dlZnVBVDdGallUU3ZwMFYvcDA4NDY1S01DYlM4bVN6VFE3cVVzOWM4dzhuMjI3MWxFMHB5bm52MEJmL1A5YjNKNmRHeEt4UHJaSWUwTlhscnJxT2ExMGg1NW5tTkk2Wm9lYThNUkNTMGV2dTBSSHJybjR5emEzU1NoUlZtVWxMbVArNXdZSkNpOEU5YkhXcWJGNnliZGVTOEo1NG9HblNlRmxxQ2lNWmxTQ2t1S0swdFMyK0thbmRleWJXR1JzeWZPOFByS2E3aFEwa3ZtV1N2WEVCeEprcEJmNW9WdURRMS9WelFSMllhR2hvWkxoTFVXblNRQWxSTkJSRlc5bTNMeFhMdnJCcTY5NWlEV1ppQ1dVSUpWSm1hYlhrUlVVcFNRdERUSFR4MmhOV2RZMk5uaWV6LytEbC84NnA5emV2UXVHbytuUkNnM0tVS0R1b0ZDbU80K05UTVdyeUdBeHBMUm92U09oSXlQMy9ZSlB2dlk1K2lsaTVRNUZMbkRPNFZXS2RhbWdLYjBqcklzejduOWwwTkU5cUsrUUZWQVc4R3BzbkxaVlZBcVpBaHR1bHpWdTRwUFBmaFpybWxkUjBLS2xKQ1oyQkFpSHhSTk5MYWhvYUtKeURZME5EUmNJc3FpeExiUzhhQzhzWkFtS1hrL1JpUGJ1c3VuUHZsYnROSTV4Rm1DZUxTMmhQZVltM2x1QW12RFZSWjM5M0FNK2V2dmZJc3ZmZTBMOURsRGFnMTl0enFiVGxBamxzbVRXMWh3Q1lDbUxFdm1rZ1ZHWlJTeG43bm5zOXgvNTROazBpR2pSZTREeWxvU2E2c1d0MVh1cmRFa1dZcFVQckVUMFJxbG94WUltNHJyS3djQlFpSzRLdDgxd1dBd09LZkJnd3FhUTNzTzgrRHRLd3lmSG5LUzQ5aVFvSlVscUNwWCtjbytCQTBOSHdoTlJMYWhvYUhoRXFMUVVCVUZHZ05GVVNEVkFQUkhiNzJOZSs1K0lGYXZDN2dTTXB0UjV1NjhoWVRuWDNIQXRoUlpCNTU2OXZ0VnM0TWxyRllURVJ0TkJpYUlKWnBlVmQzQTZxYzNMRHoycDFKb2h1V0lqSXhQMy9jWlB2N0FZK3pvN1VMbENqY1EwclNEMFFsS0tZS1ArMTRVQlNFRVRITHVPSXNXamRva2gvWktJYWhBU1lFekJRRlBVR0NVSVZVcFNVaFJRMDIrVkhMSDRidDQ0STRIU1VncHhVMzIrVko3anpVMFhDWmN1WDhGR2hvYUdxNTRkSXl1aml2aXdWYzFYTmZ0UDhpakR6K0sxYlpxQ21Cd0xwQWtHZDU3akxxNFA5OUJCUW8zNUlkUGZZOXZQL0VOaHF6U1NWT0NLaEFjMVNqMnVvaHNOTTVTSkZHQW4rY3JKTlV0TkFrZnYvdFJQdkh3NDdSc0J6ZDB6R2VMaER3Z1FWR0dRTzVLeXVEeElyZ1FLTDJuY0c1REhxeVcrRkNYUzRMc3hhQ0VraEt4Z3RpQWMwVTh2NlNrS3NPRWxEQUlkRXlYV3cvZnhsMkg3cVpEaHpEdVczeXBkNkNoNGZLZ1NTMW9hTGdDMkN3ZlVFOU56OU5qYVFOTlo2QVBHcjF1dXA2d2JocC9Wb25nUXo0V0psWmxPUEhzNk83anNZOTlobHNQM2NtcDQ4c3NkbmJoZ3lNRUFRTWlIbTBUL05oK1NsWFhpRVp2WnRsV0RjT0xpaTFlZ3dKUkphKzg5UUovL2QyLzR1VG9DSWt5ckJabjhaUW9EYUUyUlppcFVoSVVnWGpGdVMyY0NqUUtneUhGQitGM0h2dHQ3ci85WWFTTWJsVUpLYU5oVHJjN3g2QW9DUktMblpJa1FhbVVFQUxPZVVJUUREcEdwMVU4WG5YakJhM2lrZHpxK3EydHdZTGluRTBqbEZ4NDBaaVN1bDNzaGFQRVkwMEtYbFhldUFGdE1xeE9NQ2dXNWhaWldWcGxZZHMyN3IzdFBvNHZIV1Z3ZWtEaFFPbzduaTBhVDJ5MVc4MW52dUhEUmlOa0d4b3VBaEdaZkZIV0FtSkdTR3owcEp3TmNFMSttL2FwcklWclBWY0xHMzBzVlFBMWVhMnVKTWJZOWtoRHJYTTIvZkpxb2pvWFRUdy9FNlAvK0NkVlQ4MFZOR0NNd3ZrY0lXQU1LQTJsQjVHSmR5ekJVZ3dUdHR0OWZQUzYrM2owenM5Um5CWVc5Q0l5RWxKdFFFT2VEekd0aERMVVJVS1ZKNmxvdENnSWswaXA5eDZ0d1NRYXJ4MEJoMHBnYmUwczc1eDhoZi8xMy84UGVBWkF3RmZlc0JvSTY2Ni95WFhpMERnZ0p3QW1BZS9qZklVQ01XZ01ob1J0MlM0ZWUraHhicnIyRnViYmkxQVlLRFZaMnNFWHdwbWxKYmJ2M0ZHbEV6aUtZWTdXRnEwc1NrVTNCOUVhRVk5Ukhtc1RsUFk0VjFDVU1mMUFtM1M4cjNFVHd6Z3RRd2tvUXZWeDFCQWs3by9JMk5iTHI3c0YzT0JvVlI4SVljUG51ejRrNDV2Q3FjL25lbkdyTm5tL1J0QktFd3FIQ1liVXh2YTFYaHdTWEhRMGNBN0UwVjhhY3RYQ0hqNzM4T2VSNzhEYnEyL2lKZENuRDdycXlGYXBkMnMwaUNCKzh3OTNkU3RRN1VPVFpOdHc1ZE1JMllhR2krQ2lXNFMreitXcmFkdWo4MFNiR2k0bGs5c1doY2I3Y2l5d3ZBY1Q0a3RNQy93SUNKQ2FEajI5ZzUxelYvUDd2L3ZQa0tIQkJJc0tVUnlMQ2dRVkVEWGxFREMraVJyZjhzUjFodmk3aUdCVFN4bHlWb1pMcEcxTnkxcGVmZXNsL3ZLci94WlB2cW1ZZWEvWGxmZVQ3YkEyUll0Rk9VMHZtMmUrTzhjZEg3MkR4ZTRPakRMMFJ5T0trU08wQTUzV0hOdXpSVTZmT2s2YXRNaXlOa3BidkFkWEJuendTRkE0VjJBUWdnbzRGOTBUbFBKWWE3SFdNc3JEbE5lc1orUDRSS3lJVWpKN3ozWXhrZGhwNm1XOFh3ZUZXS3dHSnVqcWZNWVB0cWk0MEJneER4aWpTRlNDTmdxY01KZk1jL09CbThsZnpEbk9jY0NDOHNRd2ZkeHY3OE1HUWQ3Y3N6WjhtR21FYkVORFE4TUZVa2NCSXhwd01KVTdHb2ZHeTlqV3RZNkY2ZkVvUFg1WXZWU2lpT3QyNS9talAveXZLQWVCdVY2TG90eVlKMW9Ub0NyOG1YMkJxRkN0UG1CTVFDV0IwZG9LV1VmUlc4ajQ0VSsreDVmK3d4ZFpLazhnNkF1T3lhM2ZybENuUHFEbzUyc28wZnhQLytwLzVOcDkxM0hvdXB1NGVzOEJGdWNXS0pXaFh6cDBNQ3p1V2lTVWdTSWY0ZkpBQ0dCMFFtb3pqTkdVaGNGVSt4SkNJUGg0ZkpWQUVGM2QyRTJMZU1ZUlR6VnpYdFp0dTY3bVhlYnFMb1F3RGdhWFVtSlZ3dUZETnpJY0RqbjUrbWtNR2g4MGFJMVNDZ2xoZkdPaTlLVHgyR1lHQjVmNXJqYzB2R2NhSWR2UTBOQndNU2hBcG1XQ1VFY0Z3OVQvRU5CS1k0eUtIWjFDSUhobzJSNUJXMXA2am4vNkIvOFo0aFI3ZGwzRmtUZFBzTmpaUGw1cWpOSkJVREsxekZoOE5WbHZqTzZKQ2pGNmFXRnBjSXBXejZCYmdhZWYvejVmL3ZvWFdDcFBrbG9iY3kzUjQ0amQrNWtpSVZiT1Y5RmxMeDRrNXJXV2pGZ3BQSWFVRjk1YTRwZHYvUnlGWlpFRnJ0NS9nTU9IYnVTYWZkZXhlL3QraXR3VFFpQ3pHWjFXRjYwdCtXaklhRkNRMmd4VWdsRWFpeUZVdWNEZWU0cFJnYzZTcWNOZUNkb3FRanVScjVmdjhMbWN3MEpNU1V3UkNLNUVKVEVwV0ZuRnJ2bmQzSER0WWQ0NCtpYXZqRjdGaXdFZlVNb0Fhbnh6RlYwdFpPcXFhQ0t6RFI5T0dpSGIwTkRRY0tITUpENXZMT2lxSTY4SzBFcWp0Y1c3UUJCRmpOY21sRG5zbk52RmYvMUgvdzI2YkpIWU5rdG5WK2wyNXBnMEhaaGxQS1ROdEFXVmo2a0hlRkFlVVE1dEZhN3NJMG5Hc3k4OHcvLzFaMytDbzJESC9Cd25WazVVMFR1OW9ldlVlNTB5NVdlckZDZ2RJNmU2MmpwZnFWeUZ3bUk1elpDelIwN3dpeVBQa3RKbFYzcy9OOTkwSzdmZGRodmR4VDBNaXJQay9ZTFVwSFFYNXhpdXJvRkxDVUZETUJpZGt0b01MWDRxSWwxdFV6VzBMdFhCVVRPUjJPcVdRazF5YUdjTzVHV0dGazFRZ2RST0hDcU1OdVJoaEpXRS9UdXY1cjdiNytmbzA4ZFl4c2NpT0JHTU1uZ1JoSUNneHgzWnBGS3gwcWpaaGc4aGpaQnRhR2hvdUJEV0p5RnVSaVVjRktDVXd2bEFER05xTkFaRnltSzJqZi9pbi85TFZKbXdaL3RlVnBkeWluN0J6bTJMRElmbFdIU01JMnRWWkRaRzdLcUhtb2hvMGRGUndKc1NqS2UzcmNVUG5uNkN2L3JhRjNDc2tSakY2YlZqc1dQWHVzSzA5eG1UbmQzVjZtbHRGRW9FVlBRODlVR3FwSXNTRUh6MVhrZkJ5YUhpeVBQdjhPVHpmOFBCdmRkeDErMTNjTU8xQjFHcHNEUVlNTitieHdhRkw2RVlqQkF2R0dQUXhLSXdKRlRIZ2lvU0c2WkVXcFN5UVUyRS91VklVQUd6aVIrdWxtak5wa1FUbktDTlJnZER1ZXBJa3BRYnJyMkJRKzhlNU5YanI5RXZWd2tJVnBrWUdVZkg0clBOa21VYkdqNWtORUsyb2FHaDRXTFlVT28rTmF2U2ZYRzJyV1JqQW1pNmRvR0Y5azcrNVIvK2wvZ2NldWtpSzJkSHFKQ3dNRDlIdno5RTYrcFBkSlVxc0w1VmJKMVlNSzZjVjBKUUR0RWxvblBPcnA3aHlNazMrZnEzdjhTS084MnUzWXNzclp6RzVUbTkrVFpycThOS0FOWkxlVDlUMExwT2s2aldMK0NyMUFwZjE2U3BLQ0ZWZFJ5TVVnUVJIQ1VGQWhoYUpMeHc5RmxlUFBvc3Uxbzd1Zit1KzduamxqczV0YkxLWW5jbldkYkJpTUlYSllVVUdCWHdPbUFBTlU3ckVMVG9HVmNQSlJzVEwrcmpkTGxHWTZmeGhZOU9CdDdqdlNleENYbFJVT1FscllVT2Q5NThONFdVdkh6a0ZSVHh4a0dqaVpteWZxTlZ5bFNoYUJPVmJmaXcwQWpaaG9hR2h0OEVFb1dkRWxBNndZakZvVkNrZEpONXRzL3Y1Zy8veFIvaFJuRHd3Q0hXVmdhc3JZM290bG9vVWVNaGNsVFlvRG1tcStRbjRpd1F0RU9VUjNTSk56bnZubnFILysvUC96VkxvNU4wdWduSFRod0JEVmxQc2RZZmpwZS9NUzNpdlUxRjFybk5BZHBFbjFlUjZHb3dubDBwU3BYRVoxd1JTQktQYzQ2MU1CeW4yNTRZSGVWclAvb3J2dm1qci9HWiszK0w2L1lkNHVvOTEyRk1oMkF0b2dwRUZKSkV5N0NKL1YyMUw2SW1FZHBLeklxcTNBeGt5dFZBYlI1Wi9ydEdWOUhZb0FRajFYbXNubGRLMGM3YURQSUJlT2kwMnVoQzArLzNVU1VjUG5BamI3MzdOdThjZVpzUkl4RFFtQ3JWb05yWFM3K0xEUTIvVVJvaDI5RHdIdG5nNHdwVm1jeUZ2Mzk5aEcycjkweFR0eVpWU2pWUmxVdU5NZEdzdHc0Q1Z0MW1KVXhFckZVYVF3WmlVUmhhOVBqWXZaL2dkejczdXlTdWhVb015NmNIS0ErZHJJYzRSWW5IbU5rZXBDS0NJTEd6VTJVcEZVTytzU3RVVUFYYUFzcHhadlVreDgrOHpaLzh2LzhLVHc1NCt2MFJTc2RBWkQ2Y0REdXJPbmR5S2xwWDJ4dlh3YzU2ZEY3V1hhNnl5V2g5OExFd0RaZzFES2llSyt2M0dDak5hR3oyNEVOTXVUVUduRmNFSE45NCtxdDAyY1pEOTN5Y0d3L2V5bngzTzUzMklzTjhoRFVKYWRCNEZ4c3FaR2tHUVJFS0YxdmNHZ05CcWlZUXNleHBNcFhwVFpvNnZ1cytjNVdQN0ZiMld1UFh5dXpuZThQTDE4OFhwaG85YkU1UUFSVVV3K0V3WmhrcnhiQS9JaEJvcFcxY1diSjg5QXlmL3Rnbk9YdnlEQytmZUpGVVpUZ3AwR2lVTnJqYVNMbytEK2ZxSXRIUWNJWFN0S2h0YUdob3VGQzhCNld4V1lLMUN2R3hJNVlFMEtMUVdDdzlKQ1FFRXJZbHUvbFBmLytmODN1Lys1OHdXZ3Vva0tGQ2hnNEpTSW9LTVg5MmxqQ09tdW82d2x0RjhWYlhsc215aEt5ZE1Db0hhQlBvTHJRNWV1d3QvdUtMZjBhMEE0c0ZUa3BKTE1oU3pHUkQxS21VMCtteVdzWElxbEtncWdpcjBsRmthaHVuMXRadnNyUHRhcWZLNUdjRTRJYXdNakU0S2tBS3FxMFJCU01mYzJsNzdRVmFwc01hcTN6cjJiL21UNy84cC96ODVaOVJtaUcySnhScXlHcStqRzBwMHBabGJiakNhbjhKWXlCdHBYZ2ZSWnlhanRCT2JjYWw5akxRb21hSzFiU29EUzRHWWVyM09uS3JKQmI0R2RFc1p2TzRsWUxiRHQzQ0huTVZ1UXhKcXZQaDZzNWY2NWtwVEd4b3VQSnBJcklORFEwTkYwSTlNaDBDYmxRbmljWWlMcU10VnFlVVh2Q1NvRWg1OFBaSCtOeG5mNGRPZTVHeko5YzRzUDhncXlmWDBHS21PajlwTnBOYTA0MHdwbVh1NHZ3Y283eFBJS2N6bDdLOGRwb1hmL3B6dnYvVWR6alZQMDdBSWJocXFKazR1ZzVqRld0dGpPekhybkNDRDBJSU1SQlpGMUdKclB0ZFRicC9xYW9CUXh6T3JyZXVUanVZZEp1YW9jN1AxRUFDcW0xUkhrTGZWVVBqR285bWVkaXZ1b1JaTXRxY3pJL3hsUi85RlQ5NzZXZmNjY2RkM1BIUnU1bnI5Q2lLRVQ0UDZFU1JaUzNRQ25FZXJhK01FUXRWZFdTcjQ3alRZbGFtMmxXc2ovTXFVYlIxaXpQTGZXNjUvaFpPbnp6RnFWZFBJQ2djRG8rYmZjZDBDb1pBSTJZYlBpdzBRcmFob2FIaEl0REdvSlZGZkN4aVVsaENNSlJZdG1XNzZIVVdlZnpSei9EZ3ZROUJzR2lWa3JWYkhIbjlLUE85UldiTGtUWmp1cWxvRkREMWE0MkZVVGtrN1NRb0M3Lyt4YS80NnRlK3pISTRSZHUwR1BvU1FhUEhyWE9uTEJBSWhOTGhLNk9tNktjUTFXcTlodFRHVnJoVVl0WXFEUVpVaURtOFdtWFVEUXBrT3RLbnBzZXd3eVN5T0NYU2dnTHZBckxxWXNwQ3NKVnNUV2pScHBWMHVQblF6U1JKaHJXV045NTRpN2ZPdnNPYlo5L2crQlBIT1hubUJQZDg5RjYyOWJZeDE1dEhPWTBmbGRIWlFNdzR6S3ltaXJxaXJaWEVrUGxsa0R1cXR5ZzRHNHZacVNqdFdPaE9YU2N5RWxLZjBqTWREdTQveUt0dnZzcTc1VHRWczJSTk9YN2gxSFFxbytFSzBQa05EZWVsRWJJTkRRME5GMGl2MjJNd0dPR0NSNUZnYWRFeVBYUklFVEhjZCtmSCtld25QOC9PYlZleHRMVEdYSHNlMEt3dURWaWMzdzV1TXR3dHlGUTNxbW54V292UDJndzBpbGxSd3NsVFIxbllOc2NvWCtObnp6M0g5MzcwQk10aENTRXc4b01ZaVIyang5T3F2SWhlTnM4Z1gwTVFESkRvaEVDWTVITTZOUlk5R29sRlZrNVFsVitDbDdoOUdxblRTYXR0bmZaU2lKNjVrNThuZER0ejlBZUQyQ3lodFoyUXgzWGNkdWdPSG52NEU4elBMeklheFI2K2h3K2U0cTBqYi9EY3o1N2oxUEE0VC8vOEI3enoxaHM4L09CajNIN3pIWWdYUnNXSWx1NlFtVGF1Y0dTNkZSMEtya0NDaXVrZ05ldUZyQmFnRE96b2JHUGx4REk3NXhhNTQ5YmJPUG44TVVhY08zKy9TWmx0K0REUkNObUdob2FHQzJSdGJRMkZwdHRhb0JoNUJFTW5YZVNSajMyU2UrOTZpRVBYM3NoYmJ4eWh2K3k0YXZzQlRwMDhRejdzTXorL2lFSGhab1RtdXNvcEpaTWlzcW1JV2wybEh3anMzNytQNWVFWlh2amxUM25peVc5eFpPMHREQXBEd29pU2lReXRyYi8wVkQ1cllKU1h4RjVjbWtEQUIwV29VZ1drRXM2R0dDbXRSYkhEeFdLaXFzMUJ6ZVlGRi82Y2JyVGx3TkdtaDZESVJ3NUR3bDNYMzhkRGR6L0N0YnNQMHUvMzZYYm1hSFZiYk4rK2svbUZPVTR2bmVUVVM4ZHdsQnhaZW9lL2Z1SWJIRDE2aFB2dXZKKzl1L2JoK29GUmYwaVdaRWpsdzdyaHNLb3B0NE5MeUV4RGg3b2IzSlI0RFNwMmFWT2lOeEd5aWdSREwrbHc0dVM3Wkx2YTNIRHRJWDcreXZPczlWZmo4bXFQNGFucnA4NlB2Z3gydjZIaEE2RVJzZzBORFEwWHlLNGRPMWsrczhwb05PTHFQWWQ0NE42UGMrZEhIMkRYOWdNb243R3luTE5uMTdYMGx3YTgrL1pKRmhlMjA4c1dXRjFkUm10TmttVE1kQUtyMGpwbmc0aFR2cTFRaFc4MVdudE9uem5PQ3kvOWpKODg5eFNuMWs2aUFZTkJHZWlvRHI0YVhOWlNkd0F6VlU2bUJRSUZJNVNPVmZEYUt2cHJBM0pHS0RSdGt6SHlPUVpOeTdaQkM3NE1HQ21qdUYzbnFqQkxKZENDek9UV1RrOEJjaG14dTdzSE54VDZZY2lCN2lFZXZ2TXhEdTYvaVpXVHkxamJJczlMVnBmUDRNMkkzVHQzYy9jZGQvTEdtNjl4Y25pS1R0cmx4T2dvVC83c05BVEZnM2MrU0MrWlIydURUUXhTaE9wNFhubDF6VkoxSVFzcVZFa2g2MU1MTktsS0tQc0ZyYVNORHBxNWJvY2JEaDdpK0F0SFdTWS9wMkM5RERJckdobytFQm9oMjlCd2dieWZFY3R6Tlg2NmNFSVZzWW1kbkVTRmpmNUk0MlE0dC9uekh3UVgwaFRxZzVqK3hxZ0haYWU3WHVtWitmRi96ZkxwZ2p0dmVaaUhIM3FVUXdkdkpqVTlpaUVVYTRIVUtIemhFWVowV2wwNm1TWWZEbEZLMFcxM0VCRzh6S1lTSUJwVmRXYlM0MU1aQmFQZzQvbldIb2hlc1ZtU2N1TkhEblBOd2F2QkNpYUpIYlNjSy9CU2tDVEplQStvQld4VkxTOHF2bGFaMkZiMnhJbGovT3puUCtXRkYzN09TRVo0RC8vaW4vN25kTnM5T3UxZWJLOWJsTEZscWtsSUVrTmVER2VPWEwzSmRZWDladlp4TlVyQUJrMG9CWEdhMUdRa3Vvc05HZmxTU2Rjc1VneHpkaXdza3ZzK1M4T1RaSkt5ZldFN08zWXVjUEx0WXl3VkoraWtQU2dDVDc3d0xkNDU4aGFmLzhUbk9ianZNS1BWSVZZbm1Eb2dLZFByMWpQYk9kN1dLaDlWVlRuRXN1VUhKVWEwTHlacjRYd2Z3WEZOM05RMmp0OVRQZWMxTEM4djBkdTJ5TWdQOExsd2VPOWhYbnY5VmZwckF6dzVMb1FORGR4a2FoOGFHcTUwR2lIYjhQZWE4MzBSelh3Ump6MGo2OGdJc1h2T2hvVnVYSzRXTnZXUm5mNGFtWjQvUFpTODViYmhnUnpIaUN3ejVFWDA1TlFtSkVCdFpnQUFJQUJKUkVGVVBsdzU4ZjhjYjlwVTlUc3dTVjNjQW5XZWI5c1F1Q2hCS3VlWnI5VEdTTjUwUkcrOWJvOGJ6ZGhtS3B5cksrblVzUDNZUzdVYWR0ZlVObGdHU3d1RnFkSUFOQmx0YnI3NVZnNWZmeU9QZit5ektFbEFORkpFd1p2NXVBemxkUFVITnVDS0FRQzJPdDQrT0VUVkErK01JMjVLZExUZ2ttajRLbUlvWE03OGZJOGlERGwxOWwzbTVsdDBGMUpPbkRwRHFsc2tXWHpFRzV1NFBwSTRyUzJvSmt3RVhGQ1F0RnNNOGxXc1ZiU3ZtZVA0eVJQOC9JVVhBSmp2TGJCOVlSZnRwRWNyblNOUktjRW94TWZqWUhVZ1Q0YWdaQ3o0NnRxbE1KT0Z5ZmlFMWNQNWlqaGNub2xoTk1pUkZOcXRMa2pDYU0wUmlrQmlNeVFIczVxeXE5ZGpORnhGNTVwZTFxWXNSNGpLY2Fwa3hRMVJ5bURFOHRxWlgvQ1gzMXpqNDNjL3lvTjNQY3laWTB2MHNubXNXUEpSQWFMcHROb29wY2p6c2txenFLK0hBRXJGc2pjSnNlaE5KdnRWTjZpUXlpUzMvbCtQYjBLbS9qNk1mNVRKN2svTm4zd01KODB1Wk4zZkZ4U1lxV0t3MnBkNFlsMHI1Tm9SMmlZNlNJU01zQ3hjdlhBOUQ5LzZHRWVmT2dZRTJ1MlUxWHdBQmt5aThhT0FJc01IUDk2R2hvWXJtVWJJTmpUOEJsbWZoemN0Sk9zOHZhQTJ2TzI5SVpyU2xZZ1BsRXFER0ZCQzhKNFFRT3QxUW02OWlJVm9hSCt4MGRuMW92djlUTlc1NTAvNXpXK2NDbWhUSzZmS3BxZ1MxbElKM2pTeDBVWFZCN3pJZUQ0VHJZRFJDYWxKQ1VGd1BpQVlURlc0VmVBUkxEdm5ydUxtajl6R1hYZmR3M1hYWGsrV2RDaEhnbkdkS0dUWi9FWkVqVzlhdGhBTGFyS0RTaVRlOEtER2Vhd2l3dlp0TzFudW4yWG9WdGw3elI3V1JxZDQ1aGZQc3JSeUdxdGp1OXV0Q0dGcmtTSW84dEpIQTMzakdKVXJ2UDdHcjhobEJTR3d0SGFTNTMvMkRJbnQwalp6R0N6aU5PTEJLTUVvQ0NyNjFBWTFFYkVDaE9vT1N0WkZPT3NpczdwZHJWc3I2YlI3NUs2a1B4eXdiWEVuTjE1M0MvTUw4d3pQcnJCNzIyN1dWdm9zbmUzamk0Q0laVERLR2JvQ3JJbzNZZ0xpUGQ3RlJJcWphKy93ODEvOWxLSW91UGUyQjNCRmdYTU9aYU1qZ3ZlQ2VBOEJ0Sm9JYnFrdm4rbTdvL0VkcFlwenhWSmZQSUxHWEtUN3dUbUgvV3YvMjZrWDY2blBSRkRnamFKVUFTZWdneVVKS2FtMDJOSGV5ZlhkUTd6Y2Y1RmlPS3p2ei9ERlZOL2dKcm1nNFVOQ0kyUWJHcTVZTk4zT2RxQk5jQUZ0TW9JZkFRNmxBbHFEMHJVcHZLNit0MHcxZkYxOWdaK240dVZjUWdnVnhsM0dMcFM2QzlKV1FWbXQxSmJ6VWJINVFMV2tPaVk0TnZnWGdiS1llbjAxVmFJeE9yYi85TjRqUVZHRXVnQXFSbHozWDdXZm5UdXU0dTY3N21QUHJuM3MyYjBQYTFQNi9TR3JTeU9HbWppa3JTODg5MUpKZEFLWWVhS0s4QXNCbENhSXNEb3FXQ3VXc1ZsZ3ViL0tVejk5a2llKy85ZXNycDFoRk5ZdWVQMEJqUkQ5U3kyQmdpRlFBZ0VGRlBUNStuZi9IRWd4cEZXVXVuYU9EZFV4cmEyaHBscmxzcjRhUG95UHY1NzZYVmNSNzNtelFPa2RhNHpZa2U2aUNIMXVQM3czN2Q0Y2ZaWVkwS2ZkYXRHWjYrRDBpTGVPdmNQeE0yZklnNXR4RkZOYUUwS2dJT2ZsWXk5ejZ0UVpkdXpZeGE3NTNTeTB0ME1KUlRFaWtSU2o3T3dXcW9sQWZEOUg4RktqaVRkQTN2dG9PVVkwQVY2Y1grQ2pOOS9LYTgvOGloR1FKUW1GS3VNK0drVUlrKzVtRFExWE9vMlFiV2k0VWhHRGN5bFc3OENGRWNGNzRrZmFZWlRDbFFYeHk3WXVGb29TSk9hQXhtS2YyR0wwQXIrUTVTTGV1NDZ0aEt4czhmeEVQdXR4UERMR21EYitrM1gvSUk0Y0MzRDkza1BzM3JHVEF3ZXVaZCsrL2V6WXZvdjUzZ0tkemh4cDBtSjFkWWdXUXlnTlJhRko5VHpkN1R0cEpTMFNtN0Y2ZHVYaTludWNKeEZpOUhic3Z4cUgvcnU5RGtkUEhXUGJ6am1TanVMSkh6ekJFei84SnNkV1hrY29NV1BacUM5Z09wSC9CZmxZMWlnYlBXTkRBSkd5OHBqMVZUQmI4SVFxOFVManAxSnI2aTJmRnJXVHN4VEdyNm5QVlozQ2Njb1BFUUtDNW5neDRDY3ZmcGQyTCtHZW0rL2wzYmRQa05xVWRHNGJhNk0xWG4vOVZ6enp5K2ZwaHp6bXovZ3dYckUyc2RBdGhKSWN6WEYzbks5LzkyczhjdStqM0g3VFBDS2F2SjlqRWtXYXBOVkdUOGx2RlNaYitCNlNYeTk5UEZQTmpnS28yTWEyS0FyU1RzcUJ2UWZZTzdlUFg2KytSdkFPYXpTbEJMVFdoUEpjT1RjTkRWY1dqWkJ0YUxoU0VjdnlHY2RIYm5vUTV3cTBDWlRGa0N3ejJFU3h2SHlXTElsSm1lTUlyRlJpVml3VGMvb0xGNk95YVpMcTlQeHpDNEp4cEs1S3NWZy94WWRObjY4RHlab1lXZFZhYjNnb3BaaWJteU5OVXpxZERnc0xDeXd1THJLd3NFQ3YxNk9kWm5TN0M1UjVRWjZYbEVYTXN6Q1M0bk5MWGhoMmJidUd0ZVUxMWxZSFdKdlM3ZlV3eGpKWUhiS3ljb2JGdWQ0Rkg3dTQvWXpINUdVc3BBSkJlMFFGUmlHUXRnTnJ4UmxlZmZWRm52alIxem15OUdzME9RRzNXWWIyKzZLVnBZVGdVQkpqd1VGTkNWRmRQUmNjSW01YzhsWU5zczlraFlSMVAwL3RGakRSaFpOYnFmaEttMnE4enhFZDNRM0tRbmpsK0F2SXN3VXIvUlBjZTl2SFNEU3NsR2Y0NVZzdjhwTmZQc1BMUjE2cWxscEZJQ1cyS3dzaFlFd0FiUkFYajgyYnE2L1RlYWxOdTlmbXdLN3JhTSszVUNVNHlWSGF6bnJmbm9NTnVlV3pkMU9YRFBFQnErMVl4QUtVWlFsRm9OMXFjL2k2dzd6NXdoczRWMVo1MTZFSytnZTBNUVIvNmFQS0RRMFh5Mis4L3JlaDRUZEhqNE8zZklyLzlyLy9ZeVFrSUJtS2xPQTExbVE0WDZCVUFPVVlSMXhrNnF0VVltUE9jekV0eERZcjF0SmJ2SC84eFQzMTZhcHpKOGZMcWRNNzFXUitQUjBYeGF6UHNaM2RPcll0ZEhuampWK3p1RzJlRUVvRy9XV1MxR0tNNEh4QlptMjFuT25CWFUxZDlZdzY5LzV2TEJhYUpwdzc5WUJ6cHlhb0tpLzBYTUd2OHduaGNwVEhMM0hSb0NYNm42b3duaHBsWTBGZVVCTS96bW8rd05yYUFJMG1TUkphV1lmTVpuanZHUXhHNU1NUkl0QnVkMmxsSFpRSXcwRk9VUlFZazVDbUZnbkYrQmh1bWlPN1RpbE43NnNHOEtaNnYwY29FZVh4cW94aVVnZGNjTFRtRW43d2srL3hwYS84ZTViZGNZUVJBWWZOWXVyRWhSTHpNQ2UvU0owMldYMHI2S3pLc1pZWW9vMmkyNk9xTEJXbGlLMWxtY3FQSFJkN01mUHRvcWYyWGNua2MxSEkxRHJyN1JHd1F1VmZtOUZoSHEwVFZrSy9hcmpySUROWUM1TDNFVmRPU3FicURRc0toY0dRWWttNDVhcGJlZnlCVDNMRC9odnhmU2o2bnJadFYzOERxbFdMaDdvWnhQcUxVbFJWN0JYemxtdC9WaTNobk9lL2ZtNTlzZWYwN281WHNjbjg2YzJvL3k3VXJ3c0t2SGlVaXBGdExSQ2NwNUFDWjNOQ3gzTnllSXkvZXZMTHZKdS9TMEdKbnlvdU05YmkzVVZjUUEwTmx3bE5STGFoNFlwRmNmellHZVo2TzJtbEhYd29zYWFOMG9JdlMrWjZHY05oSDVpMjhJblY4R3BHUEc4dEZ1VjhNYi9nenkyR3p4R3hyYjk0enlWazlUbHljQlZnMDA2MUhST2hHdkNWZ1h6QXFpUU9pNHZnZzhNN21RaGJFWFl0N0NNZmxZeEdJMVlIQlgxS2tpUWhTZHAwNXVZcGlnTHZoSDQrUkFrWVkybG5YWlJTeUhsRS9IbVJ5dDBnYUVUUExxdU95SllVdlBHclYzbnFKejltMWEwZ0NFbWFNQ3BkZEdlNEtIdFVUV2JhUUVCVXdJVVNIOEpZVElhOEtpQ1VPbjRhQmZlR3lHUnR1Zyt6eWNqVCt5TjY4dHJ4QzZyWXI2bXIvaUZycWRnV2QxamdTb2ZDTThSRE1DaGw4RkpHb2VwS1hCRWp5UmFENEthRXVJQVJSQUxhSkxneTU2VmpmOHZjTCtiUkdQWXU3RU5uQ2FVdlNaUkJ4bWtXazN6ZjZiYTI5YkVDbVNxMkN1ZjYyUHlkb0NWbVZ0akVnSTgzbmRZWU1wVWdVaUxPTTlkYTRLYnJQc0xwbDg5TXRiUHdVY1Q2UnNRMmZEaG9oR3hEd3hWTXV6V0hVb3FscFZXOEwrbDJPeEFDcXl1cmFKM2dYZnlJeTB4cXdWUUFUTTZkWXlsMUFjbFd1Wll5TlZXYlRBT2JQMSs5ejVMR3FQa1c3dzkrNi9lTENvZ1BVMUhiV2lTWlNtTVlDcW1LcHdUQW9oVVlsYUpNak5jdG54bGdyYVdWenFFeVJRaUJVRHJLa2Fja2lteXROVGJKNHFLRElGV2hURzBOZG5Ib2Foa2FRUk9VSDFmNmk0SjMzMzJYZi8xdi94K1czQ25BWXNuSWkxVUF5bnl5akF0Q05DUHZLa2xaM2JBb29rZVlTc0I1SUdVU29pVXFaMVhFM3dQRTRYMHpDZThxTnQ3WVRJK0NVSmVMeFordHNaUXVCeHdLd1EwY2ptSXFNQ3prak9KZXFpb3FLcUJNaGdTaEhsTXhPaGxIc3FkeklBbzNJSFkxMHp6LzJuTzBiTWJDZll2c1h0ak40T3dRVWRuRVdlSkNpcjNPTTZMeG0wWkVZczZyRDRUZ01JbkZtQVRua2hqWjlpVUhkbC9ML010L2krTlVsZTBzSktuQmorcUZYTkpkYUdpNGFBenczMTNxaldob3VEQlN0dTA2eUNjZS8zeU1IR0ZSR0VRVVdsdUMrTmlyZkJ3dG1oN0hyQjRYa09OWjU2TXBGVXVKMXI4MkRqM0t6RlEyKzdKY054ekx4bGt6Z2EzcDVkY1BIOENIZ0RZYW02VFYraUJOV3dRQmpZbTVjOG9ncUhIbCthUTBTbGY3VVJtYzFxMHdwNFd2bW4xZVJKQVFpNmdtTFZDcklWZDBGSHFpeHI5dk5SOFJkTkJWL21FMVA4UklwMVFSVTlZSjhQVlRMUXBkL1ZNU2k3dVFHRkdyZjQ5N09UVy9Ta1VOSVdCTmJMK0tSSXN1cW1GaHJUUmFhWXpTOFJvU2tCRHIvSkZZNng4bHdTUTdkUGI4YjNIK1pITCtFTTFvVUxKait3NldsNWZ3NG1oMVVrcnhPTzk0L2UwMytMLy96YjloR0lZa3BDeDA1MG16aE9BOGlDZE5XM2hSSkVsS0hWaFgybENydVNUTnFoeElkWTZId2RicEZ3all5ck90emcyd2FTeUlVZ3FNQmwrQUJMU3RQanJqaU8xVWVaNU01UlNJUnRrRVhMd0d1dTBZRmZWQlNHaGhwTTNlaFd2UUxrR0xKU0VqTnI0MTFDNjc5U05tTUZmRC90NmhpQ2tpQ29VWEg2L1A2VVRlK2dSSXZQRVNoTlV6SzZRbVlmdTI3VmhqeUljNTdWYWJvc3p4SVRBL1AwZnBTdnFEQVhQemM3Z3lybFVMNC9OZTdYamN2UzAvLzh5dy9pTStleU81eWZ2SFQ4NWVQOU9wU1FCR1djVEhtMUdsRkQ0RW5IZmo2OUw3d0o0OXUzbjM2RkZPRDA5aHNIZ2NoZVFibHQvUWNLWFNSR1FiR3E1b3BqMHYxdzEzMXRIU2NRU3NGdkxqRjB5OTdnS21Id0owUFV3ODFhbHB4cFpJVmZOck53R0I2WU5jTjJpNEVJSUsyTlJ5K3V4cDJ0MFdXRTkvdUlKSkZhKy8rVHIvKzcvN1B6RllIcjczTWU2OS94NTI3ZDZHTmlXbnpoN2oyZWQrekZQUC9JQzhPRVpaak1qU05ua3hyTzdMQWdwRFdZellNcEplWFErcUt0dEtqSW1wQThyakZTQU8yMnJoaGdPaVpSdFZNbmU4eGtMSlJHRUNkUU1CNnB6UjZySzBXWVlLaXFBVkJNMW8yRWVoMkpiT2M4dE5kM0xuUng5aHovYTk0QjFGc2NhcnI3N0VqMy95WFU0Tmp4QUlNVys0WHJXYW5KS0pWbDEvVGE5N3FycVhNa29UWE1teW5PWG5yenpQanAzYnVmUG11eWk4SXMrSGFLM3dFbGhlUGt1ckZRc0RWMVpXU0cxMllTZjNVbEdkQXkwYUFyUlVob3hnLy9iOS9PcjB5emh5QkltRlhxNXhMbWo0Y05CRVpCdXVZRDZBaU94RmhpVFVGdS9mSWxWdzl2ZjNHWkhkN0hlcElsU3FLcXVXYXJoYlFkenZhamNWOWZ6S2prcE4xZGlvU29UVTBhNTZ1djZ4Zmo1VVViRlFMZXQ5VGlXZ0pmNCtFWXp2YjZyR09iNFg4bEF4d2pxcHpCb2ZwN2pQdmhKNmsvZW9xZjJQeDc3ZWxnczVmNHBPcjBQaEMzSTNBT3N4bWVMcFo1L2lxMS85S2xZbi9NZS8vd2ZjZS9jRDdOcStoOEhxQ0hHYXEzZGZ6YUZyYnVUUXdVTzg4OVpyREVmTE9GZVM2QmpsdGdvNnJUYkJGU1RhWWpWWXBUZE9sYXBjSnp3aUJRR1pERkFvQ002UnRxSnJnVVpJa3hqL0pNVHpsbHBpUkYwcHRCSTBBYTBDU2xXM1RncEM2Y0NYS0FrWUJJdGkzL2E5ZlBvVGovUDRJNThoYzR2MDdIYlNrTEZ6YmhkWGJkL0hYSGNlU3NYSmxSTkVzNjlBMFBWMVhQZGJxeis5RXkvY2pRVmExWXRVSFltUDcxZ3IxaUFFOXU3WngySjNrZVd6cTJpalNWc1p3K0VJWXl5dHJNWHE2bXBsMDZWalhIK3FwWnl1YjJDMlNQQSszK2QyV21lZjYvM25YWTVVWXlMamF6Z3VOUmJVcVpnajdCeFpsdkx1MjBkWVlobVB4NXR5Y2svVDBIQ0Ywd2paaGl1WVJzaEsxU0pwdyt2VzVlNnBUWDRTdGJYcnduc2pWQWtKTTZHNTl6eU5vbVRTeU9EOXZoKzIxQkh2a2VvbW9CNlNaa3JJMXN1dlJYNGxZS2ZuaTVJdG83SHY1ZnlKRWtxWG8yekFaTUxhNEF4dnZQMGFYLzdxbHppUkgrZWYvTjQvWWYrK2ExQlljSXFXYVpPcWpHTGc4UU5QWmxQMlg3dUwxMTc5RmFOOEZOdmJFaE1wZ3F1Y0crb1daOEltVTJpcExrTHN6cVdCTElPNUxsZ0xaUm5QajQwajE0Z1BxS0F3VllKS0pobGhmQjZyTE4rcXNyNStMR1JkVXAxaUpVR2hhTlBpWTNjOXhEMjMzVXZpV3lSK2preDY5TS8yeWZ1TytlNGMxK3c3Z0RLYWwxNTVrWUlpdWhSTVJXUm5oV3g5MXFhdlFXWXVFeVc2YXFzcnBDckJVN0sydW9JckhZZXZQa3krVm1DdG9kMXVnd2g1WGhKOElFa3lGRHJlYk5YTEc5L0FUVVdFei9INVBkL3ZGeU5rbFdoMGRjNWp3VjUxTklUcWVZMFJqZmVCVHJmTjhuQ0ZkMWJlUnZDVVVzYngyQ1lvMi9BaG9Fa3RhR2k0WXFrVUJoTXhYSC9oMXMxQWE1dWpTbnB0OXAxN1NSR1lDSHBtcCsvcC9WT0NmZHpzWUlzbHJKK3ZxNVdON2MrcW83YlorOGZIVlgyQWFZWEtzekpjSXV0b0Z1Ym5lZTZYditBci8rRkxuTTdQY09QK2o3QnoxM2IyWGJXYnBkTjlpb0hIMmhRbFFqa29TWk11VisxWVJIVE9ub1ZyV0Y0ZTBiTTlDbGRRVUtEUkJNSlV1NGlOQkVCSmlrS1I0WEgwOFhtZ240TlNrRXd1TDlxMENXZ1NNandlUlJTeXBtcVVBSUZKdnZDa3NVQ2V4MjFRR0ZJeURpd2M1T0NlbTlpZTdXYmw3SWlXU3BodnRXa3RHQWFEQWFQbGt1NUN5b0U5MTNQYjRYdjQ0U3RQSUpTZzNQZzZDVElKdHNyWVRtcmlmREI5Z2hRYWF5eWhFdXMyTS9qY3NlS1hlUDZsbi9LUlBiZHljTTloV21tYjRYQklZaE9DRHhSRlFiYzdoeXRtbFY3dFdxQ21iS3d1UDZwOGNOR0VBRlpiRU12MSs2L254Ky84Z015a0RHUndxVGV5b2VFRG94R3lEUTFYT21NWGdKcnBuK3U0MVJiUjUybnJwUGU3V3BrZW05VEU4TTcwZEgxTzVqbm1TL1g4OVBRY2JnYVQ3Yjd3OGRGQUhQNk9JdlU5TG1QOTlsMFVnZTI3ZXZUTHN6ejE3Sk44L1crK3dxbjhYVnEwMkxkL04zTnpiVTZlUEVtcXVpeDBGa2hWaGdtV09lVW84NEwreVZYMjdMMldmL1E3LzR4QmZ3UXFrSTlLYktLeEptV3R2MEtXdHJjOGZrRkJmekJDcDVDbGp0ZmVmSkVmUGZVZFZvWm42S1FKM2dXdU8zQURkOTMrQUx1MzdjY1hobGJhUTByRmFKQmpFdzFLRWJTcmJraWlEK3QwaDZ5RnVlME1WZ2RRUUdKYXRFeUhibXVlY2lVbDh3bWpZWjk4WlVSS2kxNm54M0E0WkhWNVFOYnRjZU5OdC9IOVYzNUFkRVZ3bTk3d3hKcTBTVzU0WGZwWG8xQ2tLc0ZwalFzRmE2UFZ5a1lNVnZ3U3p6ejNGTmQ4OWxwYTdRWE9ubDJpbmJicGRSY1pEVWJrZVU1eUJYOUZhb21GbFFhTGN5Vzd0dTFrcDkzRmNUazJlZEhGRDBvMU5GeHlydHhQYVVORFEwUW1ka2F4WUh6aUpSQ29qZHVyWXEvcGlOWFl0YjB1NHBMWjZZYjFySjhmQlpFYUwwTm1wNHJaNldienFmeEYwZFZ5cDZmcjUyODJyVVV4VXp1MjFUZnpKdk9ub25zZ1ZjUlZaaUxaazVjS0tGMFoxbGZydndneEcxUWc5NnY4N2F2UDg0VXYvaGxuUmlleGFITDZGR1dmYmR2bldUbFZZTkc0b21EUUwwaThvWk4yYUpzT1NoUm4zajNGdHQ0aGR2WXNSWm1ES05xZEZnck5LQitpbFdGY2tiWnVLZ3JFYURBQnJVZXNMaGNvOXd5YW5GSHVVRmphYWljSGRuMkVxL2Zld0dDbHBKWE1rNmdXdy80bzJqN2hDTnBWZStRclA5eUFxcEp0eFNsNjh4QUtJVkVabmFTSEw0VFFWN1RibHQ2Mmt2N3FNdG83V3FrbGxBbEJBcVVFWENsNExDZ0xxcHdSckdGOHZVOXlsSlZVN2hXVm5JVW9aSjN6YUIyZmM1WGZyRFlnenZQYTBxOTUrZVdYU1QvYUltMmxsTTdqbkNOTlUvcjlJWW01dkw4aXh4Mzdab1phQWtvU0FCSU1oWGRZTVNRbTVjWWJEdlBtUzI5TTdpY2JHajRFWE42ZjBvYUdEekZiVmJ6cnJYVFlwc3RZSDVGVUc1Y3hTZkdjckFPMjFudm5XdDltVDE2QTY0R2UvcDMzUG8zSFRJL1RuYyszQzdPZDFXYW41OXlualV0aXNyYnBpUGRFRGFqYWtWK21HMURVeEdGMzBiWHZiVUIwems5ZmZKcXZmZXVMbkI0ZG81ZDJXQ3ZXVUZnV3RpOXc3Tmk3TEhhdVFvcUFWdER0dGpFaFFVcGg1RHdxTVlDbVAxeGpkWFdWc3N4SjA1UndPbENXT1VtU0VFTFk1QnJUNHkzeUd2SjhnREk1UjQ2L1M3OGM0VkYwN1R3RE4rQ2Q0MGM1dVhRS20zUTRjWFNKMUhScHQzdUVJbUN0eFllQ01PVjdPMjZ6cTJJaDNtZzBZc2ZDTnZMVmdyenYyTHZqQUl1ZG5YZ0h4Y0JSMHNlWUJKdTBHT1JEenE0dGtjMW5aRzFMR2Nxb3QwUXhicThxOVZHdmorL21OeEoxV2tWcVVvWitpQTlDbWlTNE1vcHVaUlhPT1VZTWVlYWxIN080YnhzM1hYOHpxNmNHckszMW1Xc3ZrT2wwdkR4UkFVRUk0d0xEOTNyZGJQdzhxM1UvcjcrRzMyLzZUKzFEUEQwNlVqdWdLV3Z3bzV4RUovZ3ljTjMrNjdFdmFWS2RVZmk4aWNZMmZDaG9oR3pERmM5WXBGVjFGMnA2dXRuSXVxeDdiLzMwSmo2TzUvMVNlUi9mT3RNK291UG50RXdOaTI1YzVQcnVVZlcrelc2QW1kcHVtVjEraU1WS1N1cENwc214Z2FxRjdQcW80cVE0ZTUyblpkVjZjM3I1TU01VG5jNUIzYXhGNzR5U25CTHhrOU95MFNkenVyTlg3YU1aNnFtYXZGdFBiOWQ3amloWHV5dWJ6RisvQ1BFejh4VlV6UXRHeEFpWWpjVldZcEdnMFpXL3FuTU9tMW1VZFloV0RFWnJwQzNEeXRvU0o1YmU0Vi8vNmY5R3NBV2VrdVZpaFlRV0FlSGxsMS9qL3JzL2pxaEFFVVlZRVhTU0lFR1JseVZLYVd4YUlza2EvKzVQL3hkKytkb0x0SFZDSG9iSTJOODJqTTlLTE0rS3BYV2hLcy95ZUdJamhPaGNRT1ZBQWNLeWl6bVVSd2R2OFNkZitHTW1GbTRUZ2E2QnVhU0xLejF4RDZDK0Z0RU9wVDNLT3hDUHhaTFE1bUR2UnY3aDUvNkFtNjYvblNOdm55Sk5PNHh5UnpLZmt2dWNrUjNSbVU5WkdwN2dyVGRmd2hKOXZyeFRNVEs3TGllYytoSVFLcGs1d2VNcGZUbitmVmdPNDJrVjhIbDhVNThWL2paL2tSMXY3R0xucmwxMDAwVjBvZEJlSTk0U1RDQW9oMmlQaU1jRUhZOWlNT08xaksvalRWclUxcHMzUFovL243MzNmTElrUysvem5uTk9tbXZLZFZWN082NW5kc3pPWU93dUJvc0ZGMElBQ3dYRkNES2dVSVFpRlB4SEZOSUhVV0FRQUVOQkJjakZBdVFDeTRVUkNDa0VrUWhSd0lKd2kvWGpkbXgzejdSMzFkM2xyODNNWS9UaFpGNVhWZDA5M2JOVDNkdm5tYmlUOTZiUHZIZW1mdm1lOS8yOVpkdmlUUThZRThzbjMxYy85OUhOZk5jNjZRc1BMZjUvZUpYSE5BNW5jNkphakZRQ3BSVXo2U3dQVHozSzJmWlpBQW9LM0RZUEE0SEEvVUlRc29IQVBjU2RWdUZQL2swY0RvMjdNaUs3elk1dmMyaDgySnF6M0d5UWxmRHgvZ2lPUm9ZL2pnZnI2UEhseU5SdXMvMVc5K05XT3ZmaklyRlk1NzFYcXdpc1A0NHNXK1NDVWdxSElWS1N5OWN1c3JCL2hzTDFPSC8xSS83RC8vTU5ERDJzMDJVeFV1UUxtMUJjdlhhSjE5OTZuUys4OGtYaVdoMlRGNngyYmlCdFFxMVdKMUkxK3FMTHlRcy80dXJhYVRRYmRLeHZhcUNrbzE1TDZPYytFaW1Vcit6UGl3a1ZwR0lZRVhvQVpzdEk4cWhYOGNqVXdWclI4UTlHS2tMS2hOd1lIemtWQlFNN0F3Y1JCWVhOdU5nK3pRL2YreFp4bzhiOC9INWkxU1JiMjZDZGRWRjF4OXorYWFnVm5EdHppcmRQL1JCQmppcVBiOXpJc2F2ZjdjUkl3MjJMc3ZMaFZvc0NiUTBmbkh1UEY1NThpU1NwVTQrbWtVNXVpalE3YlBsN0szdVRXWW1SanUyaXdxTzNhL0I1NUJscHE5Ly82UExid1padUc1c3VUMVFsZUJKdGNuQXhrWXlRVnJGdjdnQ1gycGU4clJrR0hZUnM0RDduSjhmWlBCQUlCRDVObkVTNkNHbGpmTTd1aUUyLzhKRnVxU3hUVXpVdVg3dkkva083c2JMZ3pMbFQvTUVmL3g3TDNVVzA2K05zam8rSUZraGhnSnhXc2NJUFgvODd6bDQ4UVNkYklXMDRhbE9PWkZxVFRqbjZlcG56bHovZy8vdm1mMlJ4K1JJV1RhMVd3MklvcktYVjdWSm9oN1hlUmlzdkhDcVcxS2NicE5PcEQySFlBbHdNTGgyK2lMZDRwZVVyTHRlUHdmb1lTSnhLUkFTRjBlUkYzM2NCSysvTm9PdXRnTGlXRUVjSlBicThkKzVkVGw1OGg1WmI1Zkx5V1V6VVJkVUxjdG9zdDY3eTl2cy81TzMzWGlPamphUEFVZ0FGb0wyQXJkSVhidEdWNzNZUUVZQmx0YmZNaVpNZlVGaE5ZVE5Ram1MWUE1aGhIbnI1SFpmRmNqdk5yZEtRaFBBcEZNWVlsRklJNE5DQlE2VFViK3BvRVFqY1R3UWYyY0I5ekMxOFpHM3BJenN3MEs5eURJYXZiU09WdDhzdERORnY1U2M1T1dQVDhzbGg4TzFPNDJOK0h1eCttMmpNYmUvdngzejlva3d0MlBiOFIzdzliN3FmYmJiZmp0dmZuMi9US3dhL3YySGlyaFdHT0ZGY1hiN01vYVA3V09zc2MyWHhQTC96ZS8rR3RsMUJZVEIwUVBpaFlJbEZLb0Z4R2dHMGV4dDhkT29VaGU3Um1LN1JtRTZRMG5COStUTGZmZTN2K0l1Ly9qT3VicHhEMDBmZzI1TmFCMUpHekU3dElrM3FKSEVOaDhSWWczTVdYUlNZWXFUS3h5bUdycXczZTAzK3QrTkRyZHJaa2RGdkJTSkN4U2x4bkpJbUNVV2VJeXdVaGFHdzN0MmdWWFJZWFYzbHh2SU45dXlkWjNhdWdZdHpGbGZPYy9MME8vemdqYi9uMU5VUHNPUTROSzZ5K0tvT2ZhZGY2aVFDMG5xTXlTMFJDYTBiTFI0N2NweDYzQ0NXRWIwOFI4YVNnWTl3V1VUcC9YcDlhMXduN09BM09MSHJMVS94WS8vK2I1clA3WnMwK09ZbVZZT084dWZuQkVJNElobVQ1WDJFQkpVSStxWlBPcFZ5NXR3WjJyYUZSazhrWkFRQzl4OGh0U0FRQ0FUdUNJbXdzZThPaHNBNTcwVHJoWTNHQ1VkWGQybk94S3kzcjNGdCtUeS84ZHYvSEV0R1BVbHA1MnRZSUZKbHFZNEZiYkxTQTdZSEtKWjdWL2ptdC8rTXYvNzJOMHZKTEZGRUdCdzVYWXowT2JyT2diVUNTVXdzRWpaYVBTclhZSXRBeVJvV2pTTWZuSDFVVStpT0Y3VmJGUjNkak1uMTAxb05veVc2RU5qY2xZUFdGa1dFUUE4eUFBb01rSEZtN1RUbjF5N3h2ZmUvemE1b0YxcjNLZWhUcTBWczlGY3c5S21uQ2Uyc0tLMjk3dXdidWhYYStCU0lXcFN5WHF6eDlnZHY4K1V2SEtiVmJwSFc2eU0reGFKTWk1RlZyc0dXQW5hbjhRMkh4MUZLWVkxREdPOHQyNmcxbVorWlozSGw2azZjWWlEd2lSUEdGZ0tCUU9BTzhCMlVvbks0UGFKeVlYREM0cVRCeWh5VkdFUnFPSG4yUGY3VlYzOGRoY2FTVWJpV0h6SXZWWWVzREIwQWcwVUlpNlh3NjlLanp3WXl6VkZKVHA4MU1sYXhkREUyUXltb3B6VjhBMW1GTVFKRmt4b3p6Q1g3YWNvNXBFMFFOaUlTTlNJbFFJTHVtN0wweXcvZGkvTEZUVjZqNndnczA5TU5oSUNzcHpHRm95R2FMQ1M3bVdXT21Eb3hEV3JNRU9GYnZTWnBUTnlJY0NwSDB3RnkrbUtEZFpib3NFcGJyNUhUeFdGcFozM3ZGU3UyS293YWVkMEZwbXorMEN2YWdPUE44Ni9STlczYXhRWnBNNkhLRVJaanFRV3liSTRtN29uMGdnR0RMb1pWZ2Fkdkw1ekd2cEdHMVE0bElvU0dnM3NQSVZGQkFBUitJZ2dSMlVBZ0VMZ2p2S2dSVHBhUk94K0pSUmlzTEhBaVo3V3p3dExxRmY3b1QzNlBqQll6VTNVVUNSdnRWV2JubXJRMk90aUNRVWpCVnJaSjBoc2xTT0VMeWd6UXl2SXR6eUJ5RXAxcEpBbTdHSVBRQUFBZ0FFbEVRVlI3cHc1eC9PR25lZXJKNTNqbzJDTVlZN2x3OFN6dmZQQUdwMDYveTNMdkdzNElxcmE4RWdiaDFVcVVDYll1UW9MTk9abTlWZ1kySmlMaHlNSXhuanIrTEVmMkhNVVo2SFU2ZkhEcWZUclpPbWRXUGtLUWtXVUZTT3V6R1NKRE4ydFJGRjE4a2t1TzBkbEFuMFlSREJwcnVXMm1ud0JSSkxDNVFlREk2UEhHdTYveDdPUFAwN2Vkc24rRUt1K0Jid25yazVVK2lZWVlueVJibjR2V21ucTlTZDR0c05wUnE2ZXM5YnNjM1grWXhva2FYZHFmOG5rR0FwODhRY2dHQW9IQW5WSUtHL0FORHB4dzNxNUo1QmlWc2JLK3lOZi82Tit4bWkrU3hoSEw3UnM0Tk0yWmxQWDF6c0JPelZwUUNxenhBazVLUVc1Y1ZWZmtjek85czVLWExEN281czJ1akVRUjg5aUJKL21GTC83WFBQSFljOWhDMGV2bUNHTjQ5ckdYZU9iNDA3ei8wWS80MW5lL3lZbUxid01aU1NUSUNqUEljUjA0czA3bW9wYnBzWldJSGRPNE51TFEzQkZlZnY3elBQM29NK3llMmtkc0U0VDJlL3ZDQzEva25RL2Z4bjNyUDNOMi9ReHhVcU5uMTRmNXJrcGpuY1BZWWQ1dUZQazZybHd6bnA0N0psNXY3aU43VzNoZk1vengrY2w5K3V4aWl1KzgreTArOTduUHNiYXl3blF5aHhRU2FiMGJSV1hRNnZOUzd6V0dsbXNlaFRHR1JFWCtRY1JBb21KY0YzYlA3YUZCRThIU3pwMXVJUEFKRVlxOUF2Y3hINi9ZeTNtalJaeDEzaXAwRzFzcUljVGdOY3FvVCtUZ2hSMjhIOXZIeEhSeS9sWXpSbjFtQi92Y3p2TjBaSnRxdmNudG5ITmp4VkpibmYvb0RzZDhkQ2V1YWRUZnRUcFBZQ3hQY0t2bG0zeDZSL2JqVjVnc1g5bWFUY2V2OWxsNTQyNnovRmJiajdMVitZOGNhTnduRk1BSnJIWkVVWVNRRnFtZ3AxdkVOVWM3WCtQNjhpWCs1Vy8vS3QxaUZVdEJabnY0aUswdmZxcXVWMUJLa0twSXpJSTJEQXAzcXRNWm5GWVZPWFV3SFUrREZUdzAveGovK0IvK2R4dy84alNpSDFNVHM4U21Sa05OWVRKSHFoSVNFZkg0WTQ5eCtleEZPcjBXcVV6SmJVWlVSbWFWOGlKU2o3Z04xR3VnUzdPQVpqM3hKMWxldnlSRjBlUy8vZVgvbmhlZmZJV2tTRW55T2xHUkV1c1UyNGRFTmFqSERaNTQ4aW1Xcnk5emJlMktOM2hJREdoLzRkYU8zMnc3ZXAyYnhLc3ZUaE5WWVYzMTVkd0ZVZ0xXNzAxVGtKQ2lNODFuam4rR3ZGZVFSbldzdHBqY29GU0VVakhXK2h4b01TWWNod3greDZPLzFhMThwRWUyMldxNTJHYTVmK0dMdlFEdzltRGVicThzVEhPZ1pJVFZGcVJFU0lkUWlpUk51SFpqRVZkem5GczloMHdreHZndnZXcWlFUWpjVDRRVW1VQWdFTGdEZk8yUG8zQVpLTXZsR3hkSjZwS2NQdWN2ZmNqWGZ2KzNzV1JZaXJKZGdON0dOMWZpQjhmR0d3Nk1xNXl0My9lTG5EclRQUC9abHppdzZ6QTEwY1IwUWJjZGtVNFJXUVFkZ2VzbzVwdjdPTHh3ak9lZmZJV0VKbG9MVXBwWUYrT0lzY2EzaUsxRkNSR3FUQThBWVNXU21GNVBZRzJLb0VuRUxETnFMODhlZW9GOTA0ZElUWVBFMUlseWhjb2xOZEdreGpTbTVaaU81Nm1MR1o1Ky9LZUlxWlBJRlBvajF6RnBrTERwM2xUM3AzSlkyTnljNFk0UllIVFpDVXdvTklZMjZ5eHZMTkhxcitPa1E1c2NLU1Z4SFB0R0E2YkFpaklDZi9kbmNOZE1wbnZZS2srV0VkY1A2M05rblhZb0oyZ2tEZWFuNXdFR0loWW1STFRZN3JFeUVMaTNDRUkyRUFnRTdnUmhjVkpUYjhaY3VuNkJBNGYzNEdUR21mTW4rTVlmZlkwYjdZdmJpOWlCWHBBKzM3S01jYnJ5dGVYL21yY29jSkxFVENlN2VQYXA1NmtuRFpTTmtGb2hDNG5Ta3Vsa2lucmNoQUpFb1dpdDl0Zzl1NWY1ZUMrT0JHaWltQ0ZoQWNrc3hqWFJSWU5tZlIrU09XQ0cyZVlScHRLRHdCeUNPUVM3Z0ZuNkp1YW5uLzk1NW10N0VWbEVReldKWElMUWlwZ0VhV0pNWDlDTVo0bGRuYWVQUDhmK21ZTSs3YUJxS0RiSWVaVVRyOGkvQmxGWWYzKzgxdjJFUkN5VWJZWExMSU5VNGJBVUZDeXVYdVhxMGxWVURGcjczT1EwVHJEV1VsaURVQTZMdVVmeVpNczhrNG5tRlU3NFRtMEQ5ekFETGpjSUkyZ21VK3pldFp1WWVDQmtoUkJqMFZncGd6d0kzQitFSE5sQUlCQzRJeXdxZ1V1TDV6ajY4SDVXV2t0Y1d6N1B2L3ZHVjJpWlpZUnZUOEIya2RqeE5KR3RZbnZTSjR0TzVva09odHdqSkFseDBtQjJab0ZPdTRkS3BraVNoTWpGQ0N2cGREcEk1UkJTb1pRa0ttSmVmdUZ6N0Qyd0Z5TU5tZmF0YzFXc2VQZmtlL3psWDMrVEhsMjZIVytldFcvaE1ELzNoWjluNzhKZThrN08zTXdDamJoQnY1dlJVQTJtWkpQSVJkak1VcXZYY1pGREZ4cXNJTTl6bEV6SzY0aVlhYzZ4ZTI0dkZ6ZE9lMWthbFkzRnhycUpWZTl2RmczODVNU2pjOHJ2VHdnS1Y2Q0ZRVG5KYW1lRkQ4K2Q0dkhEVDVEM0xjSlYrUlpsV29seU9HTjhWZDZPWWN0Q3cvTFRJSi9KK1k1N1JvNUVXTDJuaGRFYW9TTmltVENWempCVm02TFYzL0NibFVKV0NER1dsaFFJM09zRUlSc0lCQUozZ0JVT3JYdE03VXBaNnk1eGZma1N2LzVidjRxalR6Mk4yTWphVElwWU1SS0pyZGpjbEdMaXM2dHluSWRUdndjQktFUWNRYXpRb2lDemZZUkxpQ09OY0JGS1NLUUNiU3k5ckVlcjJ5RXRJcUk0SmExSjZnSmtIQkVsRVhOWHA0a2pSVTk3NzlIQ2FQYnYzOC9Eanh6ajBMNGp0RmZieENMRkZnNmRHM0NDV3RKQUZWRFlIR3ZCQ1lNV2xvS2NBazJVeExTeUhpcU95SW91cy9PN0VCY2dVUkdGMGFVZzMwb01iaVhzelRidjd4U0pRS0JVaW5ZNVJaNlhleGIwNlBIUitRL0pmenBIcVJTbkhYbmVSd2lIVWhMck5NWVo0aDBWc2xzdzFnUFhZcTFBWUZGSXJJaDgyNFRDUWdRcWtzelB6WE4xOGNyWUxxU1VZK2tHZ2NDOVRoQ3lnVUFnY0VkWTRwckFTamgxOGdSZisvMnZFdUhvazVNNWNHVmgxMmFpVW9SU1JteTNaNnRHVmxWZkxZQWNnNUhRelhzMFoyZHhmVzk3SldWRW9pRFRQWnl4aU1pM2lUMHdmeEF0TW02c3JXQmNUaFE3dE03SlRNYVZ4Yk5JVllET3lFME9PQzVmT2NNNzc3N0d5dElpcG05SlpJMVVwQWlyYUVZenRIV05oY1p1ckRMMGl6NFlpeEdXUW1wVVRaYnpjNUtaaUxWK0Q2QnMrT0NIdXJjTk5rL2M1NjNmZnhKSXBJeDhvcXp3NGswcGIxdTFsQzF4WmZFeVIyWWZRa3BCMGMrSjB4U1VvSzhMVUw3RVNtMmQrTHlEV0VvL2k3SWcxWHZLUnNLblRtaHJFQnBJSEh2Mzd1VzlSUWJyZ24rSU1jWnNXeFFaQ054ckJDRWJDQVFDZDBpcnRjYTExVXY4d1I5L25SNGJURFZxS0JMV3U2dE16ZFpvdC9wK3haRklySThEUnNOSXJHU1RlcHQwcDVpTSs0a3lsOVpnYVdVOVRwdzl4WE9mZVI0VlNaelNPSm1URzB1dEdaRVZCU2hEdTl0Q0NjbDNYL3Q3L3Z6di9weU1EU0o2V0hvWURBWlh0aXYxclhJRnNMUjZoci80THhlcHgxT1l6SHJoUmxUMkYydnlUejcvVDNucDZWZFFjVVNSOTFDUjkra3FaSWFOQlU1Sm5IVVVhTlpiYTF5NGRCRWxGTG5SQXpzeFVXWUoyL0k2TjB2VjBielBpVVYzcGJWOHJxM1JwWHlXUU94RmJJUVhmU2RPbk9EZ1MwZElvcGllN3BFMlVvd3o1SG1mUnJQR0xaNURQa1hHODJNcnBKUTQ0eDBPdkcrd0t2T01IUXJGd3NMQ1lOMVJJUXVFcUd6Z3ZpRUkyVURnTnRndTVuSzNNWXV5aFh2Wi9uSjhmclgveWFyazZudytyWGpKNVBIRnhIbHVaNTUvTzJ5MS9jYzl0enZ2cmpSYUpDTkhXcEJTZG5LYVhOZjd4RHBuTUlDVEdUZldML043Zi9SVlZvdEZJaUZZNnk1aEthalgwNkdJclhEamJ6OU9qL3RLNUkzdnltS3hySGZYZU8rRDl6aDI4Q0VXbW50SjZnbVJpdWwzZXVROVgvU1QxQkowb1ZGeHpMVzE2N1JwQVJtYU5yNVczeHVaUlVKNit5dmppQ05GSEVrS1hkRExXc2dxeWtlQklzWUM3NXgrazRjZmU1U0YraXlGTThScERiVEJHa3VCbzVha0dDdG9GeTFXV3N1Y1hUcFQ1ZzVEbWtyeS9xM3V3WSt6bU1wYlZobVhsWTRKRWlVVXhoU0FKU0xpN0tYVDlGOThGZE9ZSWR2b2tzWXgybG42ZEdqRUNkWm9CdDIrbkJsTVRSbDNkbGI0Z2pBbmNSaWYwMXF1QnhicGhoTGVZWERDTHhlK0V3T21uRzY5dlhmTkFPdTlpM0crcTV5d1pmcUpROFFDVzBWaGhYL0ljT1ZMUk5DTUc0T2MySXBRNUJXNDN3aENObkJmTS9CN0ZXS1FPN2paaDlXL25LdW1qTS9ib3ZLNEVtT1ZScExiK0pDT2Jqbm1Nem80bHkzT2VYUWI2NGFxZEhnQlk4Y2Z1R1ZPN044TFFEczQzN0ZoNktvQXBES2FIeFdmazhjZlhzQ200NDl0V3k2dnZIZHR0WEJ5K2RnK1IvY3pmbE84VjZnZDMzNzBQakFoaXJmYWZuU2Q3YzYvV25saWV5OU1leUFzd3ZvV3M5TEdPS3ZLYW5hSnRvWWtpYkJDZzdKMHN6WkpYZEhwYm5CajVUTC80bmYrWnh3OUxKYkMrVEo4aDZYWDAyeUZHOGhYTjR6SWJxSFZ0bm9Xc0JPZnZMdUJvVy9ibkxsd2l1OThmNVpYZitwbk9iYnZFV3dQZEc2UVVqSTdONE9vQ2E2MXIvQlhmL1hudlB2Um0rVDBjR1JFMGxKWVg4Q1VpQVRyUUtGUVJONGpseGhYQ2wyTFJXT0Fncmd1S0hxR2QyKzhUZk9OT1g3dVo3N0k0ZjJIS1ZvWjYyc2RwSkhVYWpYNldZdW9ycmgrNVNMZmYrMXZNUlJvY2xDQ3JLZ0syZXpBd0dCclY5WmIzSmc3eGpJSXFUcDhXb1FHUVlSRWt0Rmp6YXp4N3RXM2VYNGhRaDRVWEc5ZklZNWphbnNVYTUzcjFGUWRJVXVuaFZKd1ZsT0p4Ym5LSlhneTVpd1J6dUlLaTNDYmwxY0M5MmJidzJqVTFQODZyUFJUNlVCTFNVNE9rU3ozVjFseitmOTNhSlVUeHhIejgvTXNMeStUSkFsRlVkRHBkSWpqbUtLNFo4TE5nY0JOQ1VJMjhBQno2MmpQbHRISVNnK0p1NDBJanV4ejVIaGovUUsybUQ4bzlybUxZMWZYZGF2Qnc2Mkd1TjNJKzhrN0tOM3RhNDI3elN5OG02aTB2NjVxT05ZZ3lvaHNaUzh2bmNRS1h3NWtUSUZLNGNxMVN5d2NtRVc3TG1jdm4rSlAvdlFiR0hvNGVoL3IyRzZiWWVCYmJ6ZUpKYTBKc242UEd4dVhlZk50aStuMldUMytISWQzSDZVeE5RVllycTlkNHVLTjg3ejc0WTk0NS9UYkxQVVdjV1RFOWRqM1o1QVNkSVIyQWtsS2d5Ynp6WGxBc3RiWklNSFNwa01jUmFTcG82YzcyQmpJTXJwMmpYZlB2WVpMZWp6MTZGTWMzWGVNdVQyelNCVE9XRmJYYm5EeXd4Tjg3NjF2YzNiOUl4d1pTVU9pVllUdEY5WHo1UEJaNW1QZmxidWtlb2d0ejBPVmlSOEFCb3RXT1pkV0x5SSs4am05UlZZUXh6R1JpTWo3QlNtMWdVamNpbHZsbVFwamJ6cUNjYXZ0NzZaNVFSWm5MRVhYNlhRNi9sd21Jck9Cd1AxQ0VMS0JRT0FCUlNKY1ZOby9sYTh5ejJFWXVkTFVwMnFjdjNTYUE0ZjNrTmtPcDgrZDR2Zi82R3VzNmV2OGVJZStiNEd3NUxvTkFxekxXTzVtdlA3dU9sZXZuZUhnd21GbXArZXcxckxlV3VQSzhpV3UzTGhFbTNVc2ZpamRtUnhUQ0x6cmE0MmpCNDd4MUdQUDh2RFJSNWxwelBoMnVNNnh0TExFRysrK3pzbHpKMWpyclBva2hLSnlIT2l3MGozTGF6OWFaUEhhaHp4MitCRjJ6KzFGV0VHLzMyZHg4UklYcmw1Z3NYc1pWeldIeUJqMk50ZzZjUDNwY1F2ZDFqWWQzanp4Qm0rZGVCT2ZtU3lKaUJFSURBWlZwbHRzdi92dEQxQkZuM2RLT2hvS3BuYlY2UGY3bTVZRjY2M0EvVVFRc29GQTRBRkZnRlBJTW8zQWU0ckNvS1d4c0toSWNIbnhQRWNmT3NoSyt6cUxTeGY1M1gvL1ZUYjBNZ3FIMlVraEMxU2owa3FBTXhrYmRvbjJ0VlZPWC91QXFuV0F4V0hRV0FyZndTb0M0MEFYam9pRWFiWEE4WWVPOC9LTG4rZVp4NTRqVVRXeVhvWVVFZFphOWl3Y1pOZnNBb2NQSGVWSEo5L2dvNnNmNGl3MHAxTDZ2UmJXOU9pNUhtZXVibkRoNmdmRXBENGlpNk1ndzZHUlF0Sm9ScGk4UUpjS1RzaWRFM0ZiSVpEKy9neW1VSS9xRkxyQVlCRmxyTFlnTDlmMzJiNE9XeGJmZmJ5cHdhTExxZHgwN0U5amF1aXVMZ0hCY2l0d2Z4T0ViQ0FRZURCeEV1bGluMDdnZkFtOUU3S01vdW1CVCt6MFhNcGE5enJYVmk3dzYxLzVaemdLNnJXRWpYNzdwaEczVDRVeWlkb0pNQUtrMDFnMG1nTHZrRkFWbGZsMnFrWU04NmVGQTBXZFY1NzlXVjU5K1ZYMkxPeEg1UW1yYTIxMHIyQnFhb1pPdjA5OXVzWkQreDlsWVdFUHM3T3pGSCt2dWJSOEh0MDNYdndJTDBpTDh0ZzVXZG1yVEF3eWdaMkRUcWNNZUplTnpGeStFemRzYThTRUw0UXJjNEo3dWt0VnVnV1U4bmFJd1JkWlZkZjZjYWFtZklkMG1MTGk4MU9kNHNvbklTOWt0ZGFEOXlIRklIQS9FWVJzSUJCNElKSGdVd3NHK0lpVVR5c3dPS21KWTRlUmxoTWZ2cy9YdnZFVkltbnAyeDY1elhENDZ2WWRvOUlhZHBqcmJFVHBNeXNGUWdta1ZHQXRXdWRZUjVsUzROZVZTUGJXRHZEY0V5L3kwUDRuV0Z0YXh4U1doZVorVk4zZmw3bkdiaS9tK2huU3hCemVjNFRIamp6TzFlVXJHRjBPU1l2eUxwVFpHVUxnblErY3cxb2ZlYldHUVZKMEhQazNSZkV4RXFvL1JVYmRKS29IRlljalNSS2NjYVhITGlpcGhpNEJnL1Z2ZitwR3UxeHN4NDl6aU44QkJtSVZiMnBORzZLemdmdUpJR1FEZ2NDRGlaTmxWRmFXNHRWSFlyMklMWEF5WjYyN3l2V1Z5L3pCZi9nYWJidkd6RXdkYVJOYW5WV21aNmRvcmJkMzlocE1HU0VVZ0ZCZXFEcUhzVDVNcWl2VlNqUVVSYzc0b1gwYS9QUUxYK0xRL0RINmE0YldVcDlkOVhuaXRFRy8wNmNvQ204bEpUVWlkWWhZY2V6Z3d4VFBaWnc5OHhHWE5zNkNhcUp0RC9EdUU3cktGeGdJSTRsekFwWFdNRnFEdGhUOUtpZTVjZzNZdVllQnpaSFlTVzhJUDgvQW9QTlhoWFozV2RWZnBWaDhlallOVys3ZFNUY1FybFUwOW02S3lBS0JUNXNnWkFPQndBT01IRGcvT0dHeHd1R0VieWhnVk1iUzJsVysvb2YvbHVYZVZlSllzcnB4QTRRbWJjYTBXanNzWXBINGlpazVTSTBZaSs1VmZxRFdEcXVLSENBanY1cExPSExvWVdMUlFCU0tQYlA3bUs3dm9yUGFvZC9KMkx0M0w1MXVpNmdla2JrT045YldxRFVpcHBzenpOU25rUnN4dVRIK0hHVGtkMjZkZHdJUVpXZzJxVUUveDJTNkxLcUw4VjRRRW9FcEplSzlLNXBVSkwzYmJHVXA1d0ExM2duMnB0d2lvQnE1WWFlMnJVeTJGTjZacEhJb21ad0t0NzA1MSsxTU5ReFNDc0FYZVZVaXR1cndGUWpjNndRaEc3aXZHZldNSGZXSjNjcEh0c0pYNUZicXhZM3RxNW9PdlVrbkQ3akY4U2RXRVVJTS8zNXRzLy9odlBFLzRwT3BhY050dHQ1KzlBL2wyUG16bWJIdHkxM1lXL3c1ZGhQbjcyNXkvRnR0UDloa1pMalVqbHgvZFY3ang5em0vS3Q1V3h6TGYvZVRKN0w1K3AxeldHUDhrTEZ3SUNYOWJJT2tEcTFzZ3hzM3J2QXZmK3QveFpUVjl2MmlBT0hiem1hOTR1Nzl3ejVSSm4zU3lrUlVZMEFwaEpRNHJTbXRDRkJLa1ppSXd3Y09rbmMxUWtiRUlxV3ozaVdLYXV5YW5hSzkwYU01UGNOcWF3bFpzelRyVTJUOVByR01PWHI0R0dldmZVU2Z2dS9wS2dYbzhwNklVdFE2QjdtR09QYXFxeGgrMTJKUU9yV3pURVpnQjVTbnBzMUltK0dCb2ZQbS8wNXZjb0NiTDNPYmR6ODZkZFh4dHBsdXQ5M3RUTGM2dFZIaEdrUnM0SDRoQ05sQUlQQkFZZ1ZJQmRwbXFGU3dlTzBTdS9mTmtMc3VaeStlNGsvKzlBOHgrRnhZUnlsaTRlWks0RlBGa2lRSlJ2dUhOcUVrU2lrS1k3MW9CYUkwUldmWklOT3p3amxISktIWDZ6Q2xHaWlwZlBQU0tNSVVCbWNjU1pMU2FyVklrb1M0RG5uV0JpRXd0aURMZWxnMFNnaUU4bEZ0VTZZWFlDeFJ2VVljeC9RMk9sNU1sN1ptU2lpRWNGaWIzZlBSV09EV0t2TXUvYlBLTk5YQjdqN3RhU0R3azBBUXNvRkE0QUhGWWpCTVRkVTVmK2tNK3cvdUpuTXRUcDg5d1RmK2o2K3hsbC9IVmlLV0VSRjdEeW1BdkJoNmdBb05WdnNpcEtSV1EwcEpwOXZ4UTljQ29saVM1OW83SERoTlhMUDBkWWY1NmIwSVU1RG5obm82ZzBTZ3JTVktJbHhtaUpJWTQvcG9XOUNzSi9ReVFiL29ZQ2lRWk9SRk1lZ3NWemJadzNTN3ZnMXRFcEhuSTJheG9zQ1VlamVPRlVWeGp3blo3WUxFbTRaZGh2TW44Mnh2RjRjdnp0dFpGV3Z2cWQ5eklIQW5CQ0ViQ0FRZVRJUWxTZ1NYRjg5eDVLRjlyTGFYdWJwMGpxOTk0eXVzNVV0STZUQjJKQklMRTdrTW4vb1piMG1hUUpMRUNDUEplam5PT2t3L3d5SklTejlYNXl3bTEyUGQyRHE5TmE3ZnVNeUJtY1BZU05EZTZCS3JtTGpXd09ZNW1SWkVqWWpDWm15MFY4aGNqNW1rUm0rancvTEdNb1ljNndvVTBFaFRJaEhSNzJkWTUzMVNwOUlwMnRrR1NYbThwQlpUbUlLc0ZGUHVsbjNsN2tGR2hXQXBZdVVkQ3RuQjFZOWtPbjI2VTN2UEI4UURnZHNoQ05sQUlQQkE0b1FqTjMyYXUxTFd1OHNzTGwzazEvNzFQd055R28yWVZyYzluazR3Tm94Y2laZWRWUUxDUVo2RHlRb2tFQkV6RzgzVHJFMlRSQ2xwbXRMdXRyamVXcVNnajZhZ1dVdkliSTdOTEsrOTlUME83VG5Hb1gxSEVhbWhiN3M0QVlVbzBFWWpJNEUyZldRTVNTeHBaV3VjUG5lQ2kxZlA0TERNTk9mcGREcmttY1ZnVWRTSThRS3Z5Q3dwRFd4cC9hLzdCcFVvaERBNEFYcDBUSDNIYnVBdGx0OHNSMzZRWjM0WHY0R2RUeE1PQk81N2dwQU5CQUlQS0JhVitMcW85MDUrd08vKys2OFNTMEhQOWhGR0RBcTdOb3V0YUZDbzVNcjk3QlJwR21OeVF6MXFjdVRBd3p6MzJFL3h4Q05Qc24vWEFaSW81ZHk1Yy9Uekh1Y1h6L0h1eWJmNWFQbEQrcjBjN3pVUTg4R2w5M25tNGtsMjc1bW5QcDFnOHdKdE0wUU1Ta21LSWtQV0hEUFQwN1N5akhNWFArUzlVKy9SdzZjc3REc1pncFE5amIwY1AzYWNKNDgvellFOSszRzVZV050blF1WExuRHV5bWxPWFR0SlRvOGlMNURLbDkzYnl2SHNmbUJDd041cE9zRW1MRUhNQmdKM1NSQ3lnVURnZ2FYVlh1UGE2aVgrOEkrL1RzZXRNVFBWUU5xVWplNEt6ZGs2blZadllndUpRQ0NKeWtpY1krZUVyQ1RMSlBOVCszanBzNi93L0pNdmNYVDN3NlN1UWQ0cVdPOFdQSEg0RlF3RkR4OTlsbU5IbnVMYmIvNGRiNXo2SVlZZWFWVEg2SUxYMy80dVdtc2VQZklFQzlQN2tDcENKcEYzMUVnY2hjMHB1Z1duTHB6a3pROSt3SVhMNTNCWTRxaUJORE44NFhQL0ZhKys4Tk0wa2liZGxSNnVaWmxLR3V6ZTh6Q1BIbmlXeTh1WDJYL3FUZDQ4OFVPdUY5Y3dKa01vaTRnc0xyOUxMOVpQZ2xFaHVZMWJ5YVJ3clZxOStsWHY3UHNYZUh1dG5STHoxUy8zZm5tV0NBUzJJd2paUU9BTzJjNUxVdDdoWDRiSjdXNW4xRlU2U3Q5T0JwWGh0MFBsblNydFpuL0tqOFBvK3M2VjV1Nmo4OHJwZG1jbUppSmRjZ3RybysydnlwWTdzSGlQMHVxY2hsc0lONUlWT21oNjRIdzNKcGx4WS8weVgvL0RyN0xVdjBJYUtaWmIxM0VVMUpzMU9oc1RJbmJrdk93VzcrNmFqekhNN1hNelkvYk9Qc1FMejN5ZVYxLzhHUTR1SEtMWU1MUldNMnFpeHU3WjNXVHRnclYyaTdpaGVPcXhuNkk1TzR1UUtXK2NlSTFNZDJtSUdxZXZuK2J5OWF0ODhmTS96M1BQdk1qY3pBSm9RYitmVTYvWFdWNjd3ZExWNi96ZzlXL3p3ZVYzc1JRSUV0QTF2dndQZm9WSGp6ekpkTFFYMnpOTVJTbFRDMDJramVoMHV1aWU0YUVEVHpNL2Y1QmFjNDd2di9QM1hPNmN3K1FkbkNpMnYrNVB1OFQrRHZkL3B5SjJsTklvN1ZPdjk3b1BNNVFEZ1MwSlFqWndYeU1kQ09kdzFvTHhQZVdGa3dqcnZNaXlwYnFhOUpNdDFaSmdPR3QwV2dtMFVhRTE2V1BxQUNmZDVzNDhvOXRNZE1pcHFydUgrOXo4b2RyLzJMb2o3d2YrbThKaXJXWW9wdVR3bXNyM1krYzZNR0h5NGs4NFgyRmUvU0VWVy9xNGpsK2NHUjdBaTA0ejRsbTdoYzlzNVJrcjNlYjc1ODl5aTJOTkhIUG82VHUrM0FxTEV4bFdhcVNOdkpoMWtiOVhaZXRaWi8xK3A2WnJaRm1YYnRabVpyYko5ZXZYV2V0ZjQ5ZSs4ajlTNER0VGRiVWQzSnRlcDcrTmdMSU03Nmpscm9XczJPTDk2THhJUW1FUktpcDlZQ1d4aXJER0VwUHkrYy84TEU4OS9DSjc2NGNvMXFEb1dtYnEwMFF5cHBkMU1jWXdOZFZBSklMVnBYVjJOUmI0aFovNVJZcXU0ZTBMYjFDNEhJMm16UWIvNy9mK0k5OSs3Mi9ZdFREUC9QdzhVMU5UWEZ0Y1luMTFqWlVicTJnMERScGs1RWdrUC9mc0wvSEs0eitQTW5WY0owZlpISW1nMyswaFhJUVVDUUtCeXh2b2ZwK25IbjJKM1h0MjhmWC85Szh4cFFUTUhXdzdTci9WL1pqa2JnWHVOaEhZemF0dDNmSHJiZzl0eXRlZE5qUzQyMm1JeGdaK0VnaENOaEM0QzRRYkQ0VGV2TjNrVGZiRCtCK1ZqeC9WbFZ1L2Q5SkhJcDBFekhCYXJlT0c1eXkyRXBLM2NINFh6ZzJPdHBWUUhUZTluMVFOL3J4aythZlZPVE0yM2Z5bjEyd3hMYS9SbTB3aG5jQWh3RWtFa09VWnUzZlBzYlI4alV5MzJiTjNodXZMbDlqb3JQQmJ2L2UvWStqaG1Fd2ZtRGpOVFh3Q0FuYjBHSk5DYlhTZUdibW5UcUpFTkhoNDJOVlk0RE1QUDgyK3FRTW9uWkJuT1JRQ2k4Qkd2dDJvRUFLcEJIbWVNek0xUzE5M2FjWXpQUC9VaTd4MzRWMTBLVXA5T1ZiR2pkWWlLNzNybkxuaTI1UmFJeEZPb29oUkpHVkJWOHhETTQveS9HZGVKaWxTaEZPRHluMkJRZURWcVFWaWxlQnNoSEkxR3RFTXMvVmRQTHp3TUJlVzMvWWk5bGIzWVhUNjQrSU85djlKUkdKSEQyMTJhQm9JL0NRUWhHd2djTC9pcXA3MXNFbThibHBQVEV4SEZwY0NZanhpeTZiM2sxZ0hVamlHM1RzM2J6OHFaQ2VYeTNMWTM1Ym43MG9CVkUzSHIydUw1UzRHSjhxb3ZNUlpVVVpraHpIVGVyUEc2c1lLcUlMcHFaU04vZ3FkWXBWLzhkWC9CVTJYSFhjZFFFNE9FcFFMN0dBTmtFanJCWG9xSTdRcEFNR2gvUWM0ZlBnb2lXbWlDNHV6QWlWam5BV3IvV2NoSk01WXNtNUdjN3JKZWk4SEtYamk4U2ZaKzlkN3VaNWxTQlFPUzU4T0ZvblJta3BaS2lSTk5ZVnY4dVRqNXdrcGgvY2Q1dEQrUTVoV2pwZk9HWUlDUWU0ZkpCQW9wNEFFbldjSTUwalRsSWFZNHJsblhtRHhiMCtSVS9nSE9EKzB3ZGgzY1p2cEpTR2lHQWdFZ3BBTkJPNTc1R2J4T3NiV1pwS3UrdGNnckR3eEZiZVlqcTUvQjFsNlZ2aG9ybkNiUmV0dFQyM052M1dpZkZFcUl3c1lqTkgwOHphenUycjBpald1TFYza2Yvdk5YOFBRUlZDVTNhVjJobkVQVWxFbUxRZ3YxRWUrVHlVVjFocHZyeVVVQnA5YmV1VFFVYkNPSXROSTU2T2ZrWlNZd21Kem40dWlJb1cySUVWQ25odTBCaFZMR3JVR0x6Ny9FdGVXOW1CVVJoUkxqRFNzcmk5eDlkcFZ1djAyc2hTdXh4OStuSm42SE9RQ2x5dnFxc2xuSHZzTUVRNUhnY1FneWc1b2tyS0xsL05MdGNuUlJpS0VLYnVIS1I0NTlnaUNCRW1FeEZaQjUwMi80ZXJYS3NmbURTUDBEb3U5WlpQbFFDRHdrMDRRc29IQS9jek5CS3l3NDNrUFc0M1ZWc2JvUXZxRTB0RXAxaWZSTXZwWmpxM3ZxdVdsc0JpZGptMi94WExoeXFwdk1YNVcyd21UVGN1ZFJEaUZqMWhLMzZZVndCVmwwcThsTjExbVp1dXNkVzZ3MHJyS1AvL04vd2xIeHV6MEZDdXRkWFkrSWp1VWExV0t4YVF2cVhLaWpNdUNzMzdvUGhFSmM5TlRGTGxCYWsyaUVxUlVZQlRXNXQ1WFFTVklJVkVVVERlbjZmZjcxSklhVVUyUlpSbWZmL256eFBWWHlFMlhScU5HMUZCOGVQb2szL3lyYi9MQm1mY3dXRjU2NmlYK3dSZS94TUc5UjFBdUplOW9UTTh4bFU3VFdsbW5vYVpRRkFnMHpwbFNqZ3R3RnVFc3dobWs4TkZrNmNBVW1xbnBHUlFKWmMwK285L0JxRHZBVU9Jek1xKzZFd0o3ajNqNUJnS0JuU1VJMlVEZ2ZrWnNsNjlaVmVxUGpWZVgwK0U4Syt4SVB1NVdVbkw3ZUpjUHptNjE3cWhRTnRzdWQ0SkJXb0ozVFhBVFV5YW00OHU5bUs0SzM4RG5BSmZIRkJvbk0yYW02dHhZdmNSeSt6Sy84WnUrMlVHYVNGWmFpejV3dU5FaWlUTUFBQ0FBU1VSQlZNUGhQSWZ6QlZHRDc3Qkt0UEFQQWdLQmNicjg1aXpHRmpnc1NnbDZSWTg0VVNnU3BKUFl3cUsxd1ZsSVZFd2NKL1I2UFVRRWNSeFI5QXVpUmtRVUtUYldOMGpxZ2w2blE3dTNUcThYVTg4U09xMDJPdk41c3dKQm1pUm9iVmxkV1VHNmxLeGRFTm1JWm4yS29zZ1IwbzRWSmNwQmlvZFBHbEVDcEpJNG9YMEtndkQ1dW9vRVJZcWxPNUxEUGN3OUhUNyt5TEgwV1V1Vmt4M2lzSUZBd0JPRWJDQnd2eUlzT0QwaEZrZXRwdXhFNFZZVitod2R1cllESzY2dGlyVW1YUXRHa2M3L3kwMnNPN2FOR01tUjNjS1Z3Wlc1b0xhY1B6YXQ1bSt6SEJjaGhVWTRpWFVTaDBFNlc0b2hqWlVaVjY0dm9XbnpHNy81cTJpNjdKcWY0dnJLVlp5QWVqMmkxeDFwUC9zcDQwYnlnOGZuVjVuRERpbDhkRk1LaFhPT0hOL0JxNkRIMVd1WDRUbUhsQklNR0ZQZ3JDUlNNVUlJaXFKQWE0MlNpbjYvaTVTU29paHdTcU4xenZlLzlWMU9ubjJIVExjUTBpRWlTYWUzd1hKdkdZQ1ltTysrOVIxT2YzUVduUmthNlRSV1N4Wm1kdlBsWC9neXUyZjJRU1lSMXNkUkhhSzBYM05RRm9BNTZSREtZazJCUTZBaXgxcTdEWUNwMGpxcVVZSFJlMUQraE1iOU9NYm51YkZQZ1VEZ1FTVUkyVURndnNXQ3pCalVJQStpczNZWWlaMTBJS2h5V3FzVUFiOEF5dUhnc1NsdU5KRjI4OVFOa3dXMjNWN0liZmZ2R0ZxWHVmTDh4cWJWL0cyWEM3QWorY0hPbFBMUG14bzVxZWxrTi9nM3YvMnYwSFFSV0s2dlhNTUppQkxvOVhkT3hGYTR5WWk2RzQ4MytxaTFKWW9paEZEb1hHT0F6Rm9XbDYvU3l6dGdhbVdlc1NDS0ZGR2tNSVdoMStzUnh6RnhLbWwzYytxekNXdWREdFpJVkNMNG16Zi9ob3oxZ2ROQVFWSGVPNHRFb3NteFdEYjZhL1IxUnFaeitxN2dXdjg2ank4K1RyTTVReVRxS0JLZnErb01rc3JDVEdJRk9PRndhQXJkUVZpRlVvNTJkd09ES2ZOYnF3ZXZpUnN6K1BuNTVWVWU3WGJHQm9GQTRNRWxDTm5BQTRNcnZXU2RjNE8vZ05XUTdYWlllL3NSbjJxL2JsSThzdTNITGFPZnpybkJldUltRVUxa1RscUh2L25idjJUZnZuMnNiNnlTcGpGSkV0TnFyNU9tOGRqMjVVYmx6dnpVNkp5Yk9VMGE0N1pkTHJFakRRZTJuam9uYnJJY25MN3pZaXZod0ZtTmRGdDhSOEpoaGVWM2Z2Y3JXSEljR2tQbWhaRUFyU256YU5rNU5UUk05L1NhUC9ZRmE2NHdnM05LYWlsWnBzbDBEZ0pFNUZ2cUd1RHM1Yk1zYjF4blZ4SXgzWmhGeFJFbUsrZ1dHdWtrY1YxaFRJRVdRT0pZV2w5aWVxNk9WWWEzMzNxRG5CNmFBa2NHWmVFVUF5RTZwR2M3RkRpMFd5T21oa2J6eHNuWGVmTEp6N0srMW1HaFBrT3pubElVR2IxdUcyY01VUktoNGdnaEhUM2R4YmlNekVEWHRQbnc3QWYwYVFHbEIvSjJsZ1NqbVRBVGVkU0REMEhKQmdJUFBFSElCZ0wzTFk0clY4L3pKLy9YNzdQUlhrT1RBNFpFUnVTMlR5d1VoY3ZMZFVkcndFY0xhaXFoZW1kVU9tejc1VGZ2U1Q4NmRQeHhEZDBwVXdpZ3lpRWRkelZ3V0NJa2hnSkx2cU1PQmR1UnppUmtuZHcvQUdrSG1LSEFGcEorcnpmOGpIOFFNdVZsR0tINXozL3haL3pEWC9nVkRoN1p6K0xsNi9RMitodytlSlJHMnVENnRTV201NXFzYnF4aXlabmJPNFdoejdzZnZNVWI3M3dQVFI5RGhpR25TbWpZRkNGMVlLSUlrMnRNbWVPcW5lUEs2aVhlZU85MXZ2VDBQeUp2V2RhWGIyQ3RaYnBlb3o3VnBEQUY3WDRIbVFveTA2VXhseEJOQ2M1OGVKbTMzMytUZ2h5RkFvcWhHSlg0VkJRN2ZOQkVzVm1zbGc4QXd2bTZ2aUJtQTRFSG15QmtBNEg3RnN2UlkvdnA5ZGZRZEFDTnhLRnREeWdvbkVVT0JNbW95S3RDZ1dDNTgxNzNWVER6WmpyaTFoSjVhQVgyY1Y4K0xsa2cwZVZuV1ZhOUQvZHBTck4veWlIekxRNjlvMlJ0SDJrbHdrOTErWEo0VWVlOHoyeFNpM0hPVUJqdEx5T0JtSVFUVjk1bDc1djdTT3FTK2RuZFJIR2QxZFoxVnRhZ0tBeTIyeWNYR2ZXcEdCUGxuRHI5UHQ5NTQyKzVzbjZCUnFwWXpmS2J0NG9Wb0VXQkUvNysyVmhoOG9MVjdnMisvODczZVhUZjh5d2srMm5PTjdEV2ttY0ZXYitOa0FaWGMzVDZheVROaUVMbG5QendCTi81d2JmWWNHdUFKVTFyNUpuMXV0VTVuSFdsa0JaREgxMDNQSStKcXErUDA1RTVFQWo4QkJPRWJDQndIN08ydmt4UHJ3T08yYWttcmZZYXRvek1nc1c2MFpobk5hMlVreTI3TU4zRW1lQ215MGFqbzNmS2lLZnR4NTc2YTZ6aXJLSWNHaCtXc1Vrc1psQThOYmdTZDljbi9ja1I0YytuaWl3NmZONnZVTlRpR2xwYlgrVFZOd3hEa1JZeTZMdWNoSWkvZStlL3NONWI1a3RmL0VXT0huaUliaXNqRWdrSDloNWdaV1dGcVNpaDNWdmpnN2ZlNDN0di9EMW5GMDloTU1SR2VCRTdFdkVkWTJBVmJBWUZXVlpva0w2SThPcnlSZjcwTC81UG5qditNczgrL1F3elU3UGtMaVBQZWlSUlJLMnUyTDB3eTBwN2lUTVhUdkh0Ny84TloyNmN4cUNacWpkWTc3VlJKTVF1UWdBR2pTdEw0S3d6L2h2VGVuRFp6cS9FeUJjY0NBUUNRY2dHQXZjdHdsS3ZwWUJENGNpTDNrREUxbW9SZWQ0ZjJGdjVFRlk1SFNpQktnSzJ2U0pRU20yN0RMaGxTOTZidVI1NDdrNVJWb0ZtVVk1R3k0RXVsNE0waEUzY1E1RTg2Y0JXd1dJSGFkUkFDa1ZoTERwemdDb2ZPeUlxTDRkSVJTZ2x2SHREWG1EcDhkWkhQK0RxalVzY1AvWUVSdzQ4ek96c1BKZVd6dExyOVZocnJYTDJ3aWsrUEhlUzFld0dqZ3lMUlcvbGpNWVc4MFp5T293dUJvV0MybVdjWG4ySC9HU0xkWDJGWTBjZVl2L0NYaG96ZFFxWDBlNTFhTjFZNGExM2ZzaEg1ejlpdmJ1TW9jQmc2UllaRU5HZ2lTQkNVNkRLRmdzT1J5b2pySVN1M3NBNGl6TmVUTXZJUjJ1TmMxaTd6WGtIQW9FSGlpQmtBNEg3SG90QjA4djZnRVVJaDdYYXQ1Q2QxSW1qNWZEQzNiS1l6WmliNTVYZXZTYTg4N0RhUUplUHpMaFpoSGlzcm12Y3cybG5jR0F6bjBGUVQrcllRbUFMaDBYUVlKbzByaUdzb0RrOWk0b0VyWGFiOWY0cVZsdTB0bGcwYVNMSlRSOXJDaGJYTDNMdDdVV2E3NzVKTFc1U0ZBVktLZFlMbnlQcjgyRXo0bFNncFBmbjFmMWIzSU15Q2lvb0N4V2RHejY5aUJ6dERCZlczK2ZpR3lkSjM2aXpNTE9ibWVZTXB0RDB1eHUwdWh0MGFXRXhXRFFDU1JJbmFLcEhqWmpEeVJHT1AvNG91L2N1b0dMRmFudUZzeGZPY3VIS2VRVFFwK3VqdGM1aUM0ZVNNVW82dE5DRHBKSkFJUERnRW9Sc0lIQWZVeFFGVlFGWFBhMVI2QTVSTERDMkI4QW1uVHBRZnhhY0xTT3VOM050dUR1aHNNazBZUk4zRTVHVk9ESGNYcmpLeHhTb21pZE1SSnlGcUt5ODd1S3dueEFDU0ZWTUpHTjAzK0NRUk1Uc256bk1DOCsreEtPUFBNR2VoVDFFU1VxZTU5eFl1Y0hpOVVVdVhiM0UyYk9udWJKK2xsN2V3a3JmMFN4TkVvUlZ0UFVhbmF5TFFtS3N4YUZ4NU1nSXRJSGN1SEVoWDBhd3Qvb2RTRkZHakFHRUt0V3NMTC9ZZ3Zxc1FJZ0NsMm02dlM3WnhocUxHMUhaZ2NzbmRkU2lHQmxGYlBRekhJNnNzTlRyVTh3M2R2TS9mT21mTWhmTkVjY0tiUXRJNFBGalQvRFNaMSttVzNUNXdadmZaZkhHRmM1Zk9VZmJ0TDJndFJaaGZUNkV1R255U3lBUWVCQUlRamJ3Z0hQbkVjSFJDTjlBUUkxK1ptUzQreWJiM2cxQ0tCUVJCbzNXR20wMDJ2aTh4MXBOa1dVakVkV3FnR2o0NFpZUjE3dmwxcDJ6N2pMUlVaVC9jcFNEMHVWczV6YnRlU0I3S3B2YkhVZmlhN2NNZ3BqZDlYMjgrTm1YZWU2WkY5azN2OStIVEozQzlpMnBVenkwNTFFKzg5RFR0RHB0M25yckxYNzR6bmY1Y09rdEN0bzRBWjI4anlCSG92QVpwMTdrUytuZFhZM0p2RjZ0L3E4LytPcDl2dlRXeWFkRG40ZzRqdEc2YkNzc0JSam9kWXJoajFtQ2NRWWh2WDJjdFJhcG9LVjd2b0FOU1V5S0FJNGZlSUovOG91L1FtMnR4bHcwQndxeUlzTmFTNlFqc0JFaUsvaWxWLzhiVHA3K2dNUTJPWFg1QkYzYUdBcmZKZXplK0JJRGdjQU9FNFJzNFA3R09XL1g0MHVmOGVPMTVmQ25jNXYvMUcxWjJ6VHV6enFhMTdrcG9qaTVyWFVqNWZ1VmVoMGEvWS9XMFl6dTMzZTFna28wakxiNUhEMnVyY0pob3lKNTVGeTBkZ2dVSURGbTNJc295M3k3MGlHalF1WGVzNkw2K05odG53YmM1SHFVaFd1VFZXTTdpa1NRQWhGMU1jUFBmZUdYZWVIcGw0bEpTRVdUUE11SXBSb1c2dmNkdW05SlhKTlhudmdpenozekNyL3pmLzhtNzU5L2t6ajJMUTEwMFNlZHFWUG9qS0xmQTZFd0FsOUFwaFE0TS96cUhRZ1JJV1NFTmQ3VFZhVUpwaWdBZzRqalllcUprQlM2OEQ5YUtZbUU4a0s1K29FTlRBWWNoUjF4WWdCcU14SDlEVTJFQWhTLy9PS1hlZTc0Qzh6bXM4UXF4aG1Mc3lDSkVFNWllZzdoRXFhcDA3dWE4ZmllNTlqM004ZEl2L1Budkg3cE96NnpXMlpvYSs2TnJ6RVFDT3dvOTBydGJpQnczekphOENUZGVBUldUTXdmWGI1VnBQWjJxYllWbXp5SXRqT1lqOWowbi90UFJFREwzc2JyM3NXV2VhSXZ2L0F6SEgva2FZU3RVWXZta0NaRkZESEtKaWpqWDVGSlVDWWR2R0pkNDVlLzlJODR2UEFJdWhEb3d2OG91dTBXUlpaN0QxYU1GNi9PZ1NrN29WVVdYd1kvVE84Y1FqaUVna2dDcWhUK3V2RGIrZy9sZTQzQytWMVh0aFdUL1lRbjZIZXFqTmlFeCthZjRKRzlqN00zUGNBMHUxQTJLdi83OFIzYWhGTUk2Njg3TWlsMU1VMWlHdFJkZzBjUFA4YkI1bUhBWXF4QmhqQk1JQkFnUkdRRGdVQmdoL0MrVXJ0cXUvbjh5Ni95ME9GSFdMcTBpa29pcEJNb21XNVIwUWFWNkFQSjhhTVA4OXdUejdEeW5jcytDRnBMYVBmWEVRcGlGWkZiUCtZdnlseGk2UVFJZ1hDK2piRnpsbGprYU9zd0JteldIMHVMVVRCd3ZwRFZxSUVwY0tZZ1JpQkZEUkJsaDdjcUVjRjNCN05PWTV3Rks0aEltSlB6dlBMTTV6aTYreGl4clZIME5LS3NSaFJPSWdjakZyTE1kNVlvS2Yxb2haTTgrdENqckJUWHVQRDZhUVNDU1BxVW1rQWc4R0FUSXJLQlFDQ3dJMGdTRXA1NzhqbjJ6TzNCRlFKbkpMMU9EaTRtVVNuQ1JlQWljQkkzMHBYTm0wNUlpbmJCWjQ4L3plRmRSM3dEaUw0bUpxSm1VMnpmb294QUdSOWtWYlljRWJBTzVSektRb1FrdGlrSzZXUDJGbElITlNlWVNSTWk0OS9IemtjOUVpUUprb2lJbUFoaEZWaUZ4TDhFQ3VrVXdpcWtpWWx0alpnYU1TbE5OY094L1kvUVZGUFFWOWdNbEszV0Z3UHhLc3JNSU9rQVk4RTZiS0dabTluRlEwY2U4aWtJQ0d4aGZ6SUdGUUtCd0YwUklyS0JRQ0N3QS9pNnE1U1hmK3J6NUQzSFJxZkQzTlFDN2JVT1JHb3dWQytvOHFuZDBEZ1gvRkI4RVhOc3o2TThkdkE0TjFhdkRrcTJHckpPeTdSUXhJdzJFcFpsRXdsUnJ1bW9rYmc2eXBjTEFsRGcyeHJySGlocVJFU2srSUt4bUJoTmdRTmlZb295V2x5MUloNUdaQzF1cEh0QlNvUGRqVDFNUlRORUprWFlpQ2hxb0cwUEszMVptcXNxeHB4QU9vbHcwaGVNUlFJczZOeXdhM1lYdStKNU5veWpiVnMvcnE4bUVBamNSd1FoR3dnRUFqdUNSS0U0dVA4dzNiVWNiUzF6Yzd2SU5qVENLdkpjRTBkVnh3ZkFPVzlrUUdtODRCUW1TNGxsbldjZWZZVmR6VDBVcmt1bU82aEVrZFJpOGt3UGppVWNJQ3h5MkFPWHZDOVJLaWxUWFEydDlnWWZuZm1RbGNLM2taMk5kdkg0NDQ4ejFXaVE5UXRxY1lvMW9QT2NScU9CRldhWWNnQkk2LzJKamRSWVlSRkM0SnhBbVpnOXpiM1VrZ1lVQXFzZFVra0VYclJXc3JycXkxYWxOeWdFT0VlUzFPajFPdFJtNnV5YW02Tzczb0k4dFBnS0JBSkJ5QVlDZ2NDT0lJQjYxS0RJTk0zNkZFVVBpbjVCTEd2Z0ZHT2VGMjZMU2lvWFlmT1VidVk0ZXZBbGpoeCtCcFVhQ3R0bG85TmlabWFLUE5kK0g4NjN0cFhPSWZBT0JRaExVa3N4eG5oaHJBUlhyMTRseXh3YjU5NUQ0SGppOFdkNDlkVlgyVE8vaDFhclF5MU9mT2V4TEtOV1Mrbm1HMzZmVG5oQjZ5Uk9XS3cwZmlyd1FyVnZhVVp6bUo3eDNyWU9NbDBnNDV2ZElZdVVpcUxJcURWcXRMcXIxSVFramhMNmVmNkpmeCtCUU9EK0pBalpRQ0FRMkNIcTlUb2JxMnNjUGJTYlZxL0h5c3FhRjdKQUhLWGVMVUNNUnh5dEdMWVdudGsxeGZyR0dqS0c5YzRxUWhmVXBtSnkwNkxWcmNTZUhLUWtDRFN5ak9sYVllbTFPL1R6RENFY2FiMUdPMTlqdmJkTVFRK3dYRis1Uks5WUo3ZFRkTEkxdEVtSXBLTGZ6K2tiaFN2VEVaU1ZZL21xVHZpSWJGYmtKRkVLVnRLTVlYMXBqWVZHUXBTbVJFSmlMQU9SN1UvUWdoTTQ0Zk5mTFlJc3o1aUptbGhyTVJZS285SG80Q01iQ0FTQUlHUUQ5em5PdWJFWHVJbDV0dndqT2ZTV0hmV2RzaCtqWWJ0ejNvZlViZVB5NzQrMzlmTFIrV1BMeGVnNkl6NnoyeDEvNUR5c3NLRmM4ejRueTNwSUNXdHJLMWlqbUp2WlJYK2pRR3RObWtUbzNMY0pkc0xnSWdkUzRLeWhNQnJqY25yOXkrdzZXT2N2L3ZJLzhmcVB2b2RLRFAyaWhSWEc1OVc2WVg2c3FEcWVWUkZaSkVwTW9hMUFXMDF1TkZybkZEWXZXOG9hemw5djgyLy80RDFpVlNPU0NxWGlNdkxxSFJlTXhlL0hEZ3UxQUp5d09PRncwbEd2TjFsYlhlZWh2WS93ajcvOEs2Z2FMSzh0c1c5dUh6YnpiWkpkS2F5cnhoWldLaUlSa1djWlNUMWhiV09OdEo2d2VQM2l3RDlXU2pYU2Rpd1FDRHlvQkNFYkNBUUNPNEREc3ByZjRNT3pKL2o1TC80U1dVZXd2cnJLVEdNT0Nzdkt5akxUMDAzaU5BSUZ1Y25wNTEyTWdIcTlTVHJkWUwzZjV2TEtSNXk5K2o2TDNiT29yaUhIb0twYXNaRUdJS05OT29hdDVkYXhLR3paSmNFdzNtU2dad3V3SUhVTEtSVEtPOGlXdlQ4RWpnaFF5TExjUzR3MDNYQllOSVphVWFkUHptTHJDcGRYTGpKMVpJWjRWdEF5NjhRb1pCU2hsQ0tPSWl5V1BNOHA4ajU5NDVocVRMUFJYcVUybTFLYmpyaHhlWW5MUzFjd1dLSkk0VUtHUVNEd3dCT0ViQ0FRQ093SUZrUEJXKy85a0JkZmVvV1p4anczRnRlWm1ab2hrakcxUm93aHgyZ0RKc2NJaTRwOHhMTFhiN09SRlRUMnpITG0xUHRjdUxwQlFZT2NERXRCWVZ3cFNYM1h0Nkd2Z0U4dkdPOGRiQWZOZlFmakUxVjZicm1hY1NDY0tkTVN2R0IxNVJYZ1RiY0cvMVJkRW16cFg1QTVoOFp3dlhlVmQ4Kzh3OXpjSExzYXUrbTNPcWg0R3FNemV2MkN3aFlnSFZFVWtkUlNFcVhvOWRyMFRaODBTbGplV09hRGo5Nm5UdytETGp2YWhVS3ZRT0JCSndqWlFDQVEyQUVzamtSSXpsdzd4Zi9QM3BzMXlYRmxlWDYvdTdoN1JPUUtKSURFUnBBRXVGVnpaNEhWWkhFcDd0WFY2OHpJVEY5RUQzcVJIa1l5bWVsRjBoZlFKOUNMWkdNelk1TGExTlBUVTkzVlhWV3NLcks0Z3lEQkJRQ3hKSkJiUlBoeTd6MTZ1TzRSa1pFSkVDUkFBaUQ4Und0NklNTERsK3VlRVg4L2ZzNy8vT2F0WC9IVDR6OWpmaytQWWJXSkpTWHBHTHd2MFhYZGx5WlcrbHV0NGgxMThWeGF2Y3lKVHo1bHRkZ2t5a3hOd0dDTVJvS3ZpOGJxRnNhMXlJd0NNTTdaYkVsQTFRSzJGb2VLY2Q5a0ZaMEZHbXNzQ1FGUVVhWnFCMG9JUHE1am5MZGE1L0ZxOExyQzF5a0FIM3p5RHZ2Mzd1UFJCN3JNTE13eHVMUkJhanFZR1l2UmNic0F2SGZrNVJCdFlHNXBobzFpbGQrOTgxcytPZnN4QVUrU1djcHF1RVZzdDdTMDNKbTBRcmFscGFYbHBoQVl5RHFHaEYrOStaL1p0MitaSDkzN0JQM0xPWGhQNVVFSFQ2STFTbm5LcXNCWEhwc2EwcVJEbW1oKzg4dC80cDBQM3NReHhDaFBLU1ZDaFpORzRWbGkxTEtaamd2RkFocE5NdG9Xb0k3VWhtM2lNRXpFYzJPd1ZnTWVxT3IzL1JiZjJDalRZeVFYNzFFS3ZIZ3U1NWQ0OThRZm1aOWQ0TjdsbzNSbkZ6Q2lxWHpGWURoQThGaXJzY29TZENEcmRGRkdPUEh4Q1g3Lzdwdms1Q2dGUlRWa3RBa3RMUzEzTksyUWJXbHBhYmtweER6U1RyZkxGeGMvNFcvLy92OGhsSm85Q3djNHNPY1FKbGhDV2VCZFR1a0tySVdaWGcvdlBWK2NQc1ZIWDU3ZzdULytocjY3Q0ZRb0RmZ0tiU0JJRTAxMTBicExtbFlKY2Ixak45cW1HS3o1TjR5VGFwbEtRV0JxR1c0OFg1TlJNSEdyZi9STWdVMDBPbWlrY254ODVpT3NOMXpZZjVFbmYvUVRlc2tNeW9EcGFMVFJaRm1LUVZPV0phZSsvSlFMS3hmNDV6ZC94U1ZXTUdpR1VvSUIzZE9FemUyaXU2V2w1YzZpRmJJdExTMHRONEZHT2haaGdNZnk0UmZ2NHY5TytOR3h4OW04ZTVQbDNjdDAwd1RFRTRMRCtaSjhmY0RseTVmNXcxdHY4ZnNQZnNzYUY0R0N4SVNZWTZvZ3lhQW9KdGNVSTdEanJtQ1RyVjFqU05NZ0JDV29XcFEyZWJKaG5IMFFNdzBVYUZFb0RNcjRSc3J1S0NZMVJGRU5NSElWaVd2KzVOd25ySnhiNS9LNURRNGZ2SnZEUnc2eHVIc2VreHI2Ulovelg1M2ovRmZuT0hYeUZLZlh2MlNUVFlRUWk5RlVCVHJHbEZ0YVdscGFJZHZ5QTZENUZaMzRZVk5YKzVIYi9xdTdrNHZWcU1xN21YM2lZMW9nVEhsazZhbkZYb3ZMNWJmNXpDVHlnN0hTM0g0RXJyeHI4ZGpLNUV6YkR1a29STGp6QW1VeXNuaUQrUWJIeENhUWw1NjV6Z3pEdk9EakMrL3oxWVV6L09HUC84d0Q5ejNJNHV3YysvWXNrYVNXMDZkUDg5R0pFNXk3Y0k0K0F5cHlIQU9FQ3B0YThqeXVXMTFwL2MzZmhNVHpKcDdYWVJTUFZiWERRWkR4Y0JvejRWaW42c0N1RWtSY0ZMbWFMV1BmekRyNmk0eTJzRlNWb0tRaVV4MnNhQndWcTF6a0QxOXQ4dUZYNzVIK0ljT0xRMnV3MWxLVkpYM3Bvd0ZYQy9IVXBxeTZ6YmpnQkJoZSt6aGZsZEVBWEdGNlZiYWV0M0hvZHo2blpPdE04ZWwwajR2dEM3dktnbHBhV3FBVnNpMjNOZkdYVjljL2RNM2RWQ1FLUkJFWmU4Z1NZdkVMZ29nYUtVQU44Y2QvaHg4SEpkRm5kb3R0RWVPQzd0RTZScHNqVzZaYmxpbVRuMWNUSDVuNDBhdjlZYmZmem0xZUh2dkllcmJQcDFUc1g2cFU0MXU3Zlo5dVBmU1c2WGhrMUpSRTJMNHpvUzRtYXZZelRUV2hVdmdnZ01ZYVMrWExabkZiUmEvU0U0djk5bUoydE1oSjhjTU8wOFpBQUtnTC9TR0FkNXJVZHNoZGhhUENVN0RLR3F2OXp6bjExbHN4aTFWWlJCU09VSStLUVdHaU93RUZvZ0liK2RpSEt0OUo0TzBnaXFhVEN4b21MNjZDWXh0dWNua1QyUWlUeVFtamRVeWUza0FoSlJXeDI1aWlRRE9JZWpUVW4vVUIvUGJMbWdDSUN5T2JzSkdJdmQ1elhMSDEzTGphOFpQcFlZekZkWTNpYlRJczRqVHVlR1lUaHE2S0g5ZGdrcFRLVmZYQ05NYUYwYlZBYVBhejNoNWw2L0dyeDFBbmhsRFYzMmVpeVRvZGlueHduUVBRMG5MNzB3clpsdHVhN1FJMFhHTkVMT3o0K2VsL056L3FPeTF5TW1BekhieVpqclJlaVdteGUyY3lLVnZVdGxmaXF3cXB4Y0tXWVFxUVp1QWRsRVZBazJDMVJVUnczazB1Y25vVjMvMTQxeFgvS3JXb0lJVEtqZGJaNlZpc1N1bHZWbFJCR09lYmVySnVoZzhWUlJHTHBNcmFMTFhiN1pLWWxPRWdKNFNpTnJlYWtvN2ZaSjhtQm5QeVBJN3VBL0cxY2R4NklnbytLZGl2RmxIY0FhbGJMVndYRTk2NE40dHh2SDlTOFU1ZFdCTGI4QnFsVUVaVGVFOVZsdU9jNHZvS3JQSGZWVW9qV3ZBU3FJSWdWYnc0RXdOVkdRaVZCNEhadVRuS3dsSGsrZmV6c3kwdHR6aXRrRzFwYWJuSlRCWWlqZjFNSjRuQ0lZeW1Jd1JjUVIyTnR5Z3NJV2hDM2NMMHlucG5jcDAzZ01rVmJZbmlDWkpYOWUxNWhWRVdwUlJGUDhaVERSa0dRemVadzRtbmRBT0tRUk94dEtUV1VsWlJ5RmFGbzVRTlFyMHVyWFJNQXhBWVM2dHZPdDA2MWx2SCtScjM5M2JtR2tWeGMwajF4UDlIQ3hoMUpCdWZtWk9MVEsxQmxBRVhYUjJNc1loV2hOS1RvRVorRWdob2J6RW9OQUdSZ0JUeFRPaGFTKzV5Qk1pSEpVcVAxOXZTY3FmVEN0bVdscFpiZ0VZQ2pDWFVPRTB4Ykttem53d0lBbWd4ZFlLSnBkdVpvOXZ0Y2VueUJaVHlCUEh4L3V5T212Vkc1TWZ1SVBsMkVoZWl5VXdYdk1aTHdLQ1kxWFAwT3JQczNiMlhoWVU1ZkhDc1hMN001YlZMYkF6WEtTbnhsZEJSczZDRjNPYzBONkFWQ3BHWW96Qk93dmcyMDdBbEhmUnE0L3hEUkUxSTA2M3kvbG9Yc0RYcTN4eDZYLzlES2NpZEEzSEVsc0NXcnNtb0tvY0FDWllFUTQ4dU03MDVzcXdMUUZHVzVGWEpwWElsTmd0MndveWVvWlFxWHRpb1FHOW1oc0ZtLy9vR29LWGxCMEFyWkZ0YVdtNGFha28yYkluSHFuR2gwWTVUd0pDZ1NZSFlQdldSaHg1bmVYbVpmLzd0UDNGKzVleVZWM3hESWxsTmptUXNTWnJZcWRFNkVnTmFwWWpUZUJlM2NuZTZoNGNmZkp4ajk5N0hBL2NjaTJrb1JxTzFSbWxOZnpqZzh6T25PWFArTlAvNHEzOWdHUG80bjZQUkdHc1JDaXJmcE1ZSStsdCtqWWRheEtMR3c3RnRPcDE2TTdXTTJ6a2dxQ1lhNjZxSmJOZWRybm5DMUxTeFR0dVdGejAxUU9NVWJFMkNSUXRVUllsQjA2SExQUFBzWDl6TFhZZnVZZi9lL1hTekhtVlIwZS8zR1JZNWx6WldPWEhxSTg3TEJWeHdwS1I0SEY0Q2cwRXJZbHRhb0JXeUxTMHR0eFJUT2M3VDRtQkxTcUttYXhZb2ZjQ1M4Wk9mUE1NcnI3ekM2Yk5mc25wNUUwWWk4d294dGh1aXdpWnZPbzlkQVNEbVA0dUxUNVFZTEJuSDlqN0lDejk5aWZ2dWZZZ0VTOC9HcitEWUxNdWdURUp2RHJwSGRyTi85eEdXZHgzaVgzNy9LMDZjZmdjUFdDVU1xekIySnhncHBXK1RXbkNWWGRxYU5IdDdLOWFyRW5kUVJ0UHQxSEoveDZTWHByaDBaSUl4WFZSWXY1YVlqRlFTdksvcUNHeVBZOHYzOHNEaEIxbnNMckF3dTV1WnJJY1dpeGpCWjBKUWdZM2hCZ2NXRDNEeXpFbE9udnU0OXRJMThTSWszSWc3Q2kwdHR6K3RrRzFwYWJtcFhGRnFUbGVPVHlNR1N4Y1BQUFVuUCtiRloxN2huaU1QY3VMalU1VEJrZWlFTWhSYlB6OGRjcndoMUhYbkU1WnZUV1JQMSt1eVdCNjc5MGxlZU9ZTkhycnZVYlN6ckY1YVkraExaanBkTXB1UlY0NjhxQkJqNkhWMk1iZG5EM2NmT3Nac2Q0N3N6WXdUcDk1bVVGMGVyVURwbURVUnRzVUxyMjBxelVYRGxZcmhwcGtZTXoycXk3OTl4VlR0WlRMMTZ2YVk4M2lPRUkveGhGQnRpanI5WkdYYzVIbmJYS0NJSW5oUFFzS1NYdVNCdSsvbnZvUDNjWFQvTVZTaHFZcEFkY2xEVldHVUpUVXAybHFVV0JiMzdXWjV6ekpMcDNmeGgwL2Y1dXp3Q3dJYVpUU1YzOEZXb3FYbERxTVZzaTB0TFRlRjZkdTR6VzF1cmpSdENuT2tzZXBLeWIzdzRtT3Y4SmQvL1Rjb3ExZzV2d1plbzdjbExVd3RCL2dXR1pFN3NJUC9yWXh0bUJKU0JNTzllNC95cytkZTRjRjdIbWI5d29CeUNQdDI3VVBjSUhaYUxVRDVoSTd1b0hSQ0tJWGhNS2RTT1E4ZWZSU2JHWWI1R2grZjJTQkpCTnNSTmphcmlmMzVkbUlXMkI1OW5YdytYY1MyUmN5T2MybHZUNlpsYkx3ZzJXS1BOekh2U01ST1dCQTN4eHFweGV5MEI2MHg0QzNlQ1JiTElvczhkdXh4SGpyNkFQdG05MUtzRnFqS1lyMGhWVDA2U1FlQ3hwV0JjbERRNi9VWTlJZk16TXp4OE5GSFVTbmtmK3l6NGkvaWZiUmoyK1pjMGRKeWg5RUsyWmJiR3EwMTNudThVeGlWb3BSQ1JBZ2hJQ0xScDFXTkhCcTVXZ21MMUQ2dWs5NndldnA5dHI0dlYzaS9tVVZOdU5QdjlQbkp1dm9kbC84MVpyQWlNb29aVGMvYitNbmVka3lJVjVVb3BKTDZicmlGQUZvWnNxeExsV3QrOGV4ZjhjUWpmMG8zblNmZzBhckNseDVESFkyZFpsU2xmcU1jQzdZS3dpMUZhSUFuTUc5MjhkZC84VzlZbWp1QUd3Wm0wMFU4aGxDQThvYWdIRW9zVm1MQldxZ1VTaEdiQnhpTERjTHV1VDM4cXovL3IvamYvdmNQcWFxU3FxcWE3SXFyVjJSOXpmRlhrdFRuVDBBYkZYMWFBenZmSXYraG9VQWxJSzdPZFRVS25DQm9FbVB4M2w5NTErdXhNWXg3UW9qRVpoSmpnNWdQSWdBQUlBQkpSRUZVd2ErZ1ZQUTZQYnlyc0ZnZVB2b29EeDk5bUs3dVVLeFdKQ0hEa0dBeEtKK0FWK0ExcVZpc3NtZ1BqcEtxQ0xqQzhjRGhCM0NoNHUvZS92OG9xWWk5emxwYTdteHVvUDlNUzB0THk3ZmpTbDlFVWdsS1c4Q2lzY3pON0VZa29jd0RyejM3Qms4LytSeEhEaDZsYTJjSWxjWlg0TDJhaXF0OWx6VEtlQ3hveDlwU284bDQ4SUdIMmJ1MG4wUm40QTBFVGFJenFqd3FSaVVXSlFvbEdpMGFFeFE2R0xSWVFoRVlyZzlaN094bWFYNHZ6ejN4UENsZFVqcHh6Q2F2ejNaNlhIWFRMUnFOSlVXUkVKd0d0OE9SMkdFZ2Z5aHVCdUxxS0t1Qk5FMVJPbnJvQnUvcmwxVjlKdWw0MVRCcDZTQ2dNU01oYWtTaGdxckZhSXpFYWhMY3NDSWw1V0I2Z0x1V0RqTnI1MGxkaDY2WnhYaURxWSsxQ2VOelFJbENpOGFWSHUwTnFjcXczcEtGak1OTGQzSFB6TjEweVpodUc5TFNjaWZTL2hXMHRMVGNtZ2dnS2haTWlhRmo1aGowUzFJNnZQejBHN3o4M004NXVPOHVNdE1qN3p1cXZJcENJc1RTblVRblhLbEJSZ3c0WHE4Y0MxT1BTVFNLaEE0elBQN3dVeXpPTGtXSEJURlVWWVV4aHNvN2docnRacnhYSVBGK3RaYUFEdEJMTTN6aFNKUkJPY1ZqRC8yWURyTllPaVRNUkJFcVYzNGd5UlVmMGVjaEk2UEhySjdGWUZFWVV0dkJKUFoyVG4rOVpwU3Rmd0lEaUl1Ui96Z3V0djR2SlJuOVAwR0poYURCZzVGNEdhQkowYVFZVWhLeDJHQXhRV09ESlpPay9tVENzWVBIdUh2L1BmVE1MRklxbElzQ2RySXBTZ3prQmtSN1VJRWdEb0tRb0xGZVE2RTR0SGlBaHc0L1JJOFp6QS9ta3FLbDVkdlRwaGEwdExUY09rem1hMHBkTGlVSnFlNVFsaDVEbDFlZmVaMC9mLzB2NkpvNVFnNjV6eWw5aWJFSnRRbEFMSUFLVjd2cGVvTUVRRlBndFNYNkdkdklnbVZtWm9IRGg0NVNsaDd2QUt1cHFoS1ZDZFpxUkhtOENpalJpQXAxdm1XczVOS0VhTk5rTW56dUNTWHNtdG5MUXJhSGk4VzUyanpLOEcwVlo1UmhDYUJ3UWJDa2VEUlZXY2E4eTVGVC8wN2M0SVlTTndPQlJCdktLb0JvcEF3a0pIVWNQU01ob1NRMm80aEIyRkJibG5sRUFobzltcjlPQ3NGUEZJY3BGQWtKQ3MweSs5aS9lSkRaWkI2VksxU1ZJRjdxSG1xUm9BU3RIWDdpTldzMHJpb1JEd2tKdy82QXBKdHhjUDRnYzh5eHdxWHZjY0JhV201TldpSGIwdEp5RTdsQ3dkV0VpRjJZMjgzbVJvNGg1ZFhqYi9ES3M2K1RoaG5FR1JKSlVNYUNVYWcwRUd4RmNCNEllS3J4c2lmeVBkVm9yVEdMOVlhd0paODBpbGhJMkxOMGdOblpCZGJYY3l3ZGxER0U0S01OVTBmanBBTGwwQkxGYjVDQUN1TVMrR0YveU14Y1JyL1laSzR6UjRjT3h4OTVobE9mZjBKRlNiQU9VVmNXc2xmTHNWYWk2ZG9lZzgwK1FUdE1SN002dk15WnkxOUdxeTl0Y0tHNnlrN2YvaUhiS3ZjWUxJdmRSWmFYRHRBaEJhZkpkSVlLQ3FzU0lGNWJCQlVRRmVwcGpQcGJGeU9xazYrUDIxOXJyRmdvWU8vOGZwWjZ1eWsyS3F4UHlPd3NSaUJJR1QrTFE3UkNCR1NVVngvSXNveXFLc0VscERZaDcwTzE3bGkwaXh5WTI4L25HMS9jbEhGcmFibVZhSVZzUzB2TFRVYXp0ZTJzcnIybERCckwrc2FRaElTZi9mZ1ZYbnZ4RGZidU9rRFpMOUhPZ0FKdEZGb1V2bko0S29Rb1pJMHl1R2xEL3duSGdodFdkYi9OQ2FHSnlCcVdkaTlqZElaM0E3cHBSc0JqRWt2aGgxaHI4VGlnTGtwRU1FRWpTdEFpZGZwRElMTUpsMVlMZHZVV1NHM0s4ejk1bVNjZU9VNW5MaU4zZmE0bUtLOG1aTFZveE1OZ3VFazZrOUNkUy9ua3pDZjh3Ni8ranZjL2V4OVhWanZiYzNFRHh1d1dRS0ZKTUhUbzhORGREL0hrSTAreFoyNEpTZ01WaEVKSWJUYWFQNHBaVjR2V09BTGV3K2dzVXVNMEUwMk1zcWNxbzl4MFpIUklwVWZWRCtBRHZTUWhlRDh5b28ycEpRR3Z0aDZ6U2hXSTlsUmU2SFU2WkRwRkZZcTVaSmJseFFPb2pkczhLdDdTY2dOb2hXeExTOHN0d05RUHNqUnhVNE5HOGV6akwvQ0xWLytDeGU0ZVFnN3puVVVHbTlHaFFOa1lPU3hWZ2RJQmEyM2RxK2tLUHFrM0NqVTJ4S2Vlamh1ZXhnSzFnQ0V2UFVuV1FSdERVWllrblJRcEE1VXZFQ3N4b2hxaXc0V29nRkoxUkZZZ1RTM2VsWWdQQkNlVVZTQlVtbDQyejB6V0k1VjBpMy90TkYvbmVsSDZJYll6VDNlMlM5STF6S1F6ZE5QWityWjZ2Q0Q0b2FKSHlSVUpGQm8xQkl5R1NqQ1ZSWHVORENjTllrTjlqQlJLQ1Y2RHEzT2E0d0dNRnlXYWdFakFCTUZyUjdsWmtpVWRzazRHZUVMUUJLL3gzcUVzbytQbjYrV0lDS0xqYTFVVk1CMk5LeHplZTFJZG5Wa1NsWkdTYmtsTmFHbTVVMm1GYk1zUEFsWGIzalFSdDhtcHFKMm5OMlM5ZlB2bzFEZjVDZEk3ck9SV2tCampPK3JmSkRMVUdQTEhYTmF4ajN5TVpnb0dTRkJZRkJrL2YvNFh2UEQwUy9UU1JYUkk4S1Z3ZWFQUFRIY0dBSnNsQkFjK0JJeUZ4SGFpakJXL3pkZFRSdXNKTjJUOGRqb3Vrd1ZnZzhFbWVUNWdMbDFBZVNqeWl0bTVlY3F5cEhJbDJJRENnZEoxOFZsajZLUmpCTkI1aG5sTzFzMHdIYzF3N1JLL2YrZDNYRnBkWVZEMDBWcGZsNUJOVTB2cENweFVsQ0huM05vRnpsNzZBaytGVm5YVGd3bWgzZ3hsR0w5MG5VeVlzc0xYLzFIYzBGQndYR2RPeVh1Zi9wSExGMWN3d2VBTElkTVptZW5pU2w5L1Y4UVRTSFQwbm8xcEJDQW01amFqcEJheURvV2dCRXhRcENxakdqaU9IcmlmUis5N2trelBZcFhHb0dKVXQwNUppUHMyWWNzWDRoMkR2Q2labTV2RGx6NUd5RFVvcmZDUzB5ODJiL1NBdExUY2xyUkN0dVgySmdTTWlvWkhFdXIrNXlFcVZlOGMxaER2K2swTDNmcmowVHRXbW4vRTkzZjQ4ZC95ZWowTkNzYjVjRk4rOHFyWnZEb0hjMktSV3hwTjdlQVpLeUlqZ1RTeVZCVjI4SmtOcUp0NFp6SEdUSFc5SlhycUozVktrU2paNFRjM2JuOFFKdmJYWU9paDZDQWt2UEhzWC9MNFE4YzV1SFFmNGczRlprNmlPL1JtRWtwWG9KUUhoTkpESUNOUkdwZkhSZ1NCTUxwd0dhdFdpMENkUDN1ZCs3OGwzellTemVtcjBmTlRuMzlJbW5peVJMRjJhWlhkdldWYzM1TkpENnN0WmJpSVo0aFJYVkxiUlZ3U3UzdDVnN1dXemVFYWg0N3NwZHc0eDVsTG4wR241SGNmL3oyZnJaekE0L0QxL2x3ZlRZK3VVQmMwTlpIQm5lZStjZEpKait5am1tcjlMUkgwNlk1c2t5dVdLUUg4TFFnRUtpb2NGUVVGL1kyUFJoZFRZL3UwaHZwS0tFeXYwZFRIWE9vMGtSakZqa3N4cENTa3BLUWJQZTYzRHpLVHpPTHluT0ExaVZYMHBZejV5Y0ZFSzY5Z0lDaU1nQVRGbnBsNXpwMzdpcm5GV1d5cXVMQjJqc1c5Q3hTaDR2endUTDNPbHBZN20xYkl0dHoyVElxOWtWaFZVNi92TUwxZXREUmk5dHQ5RnI2KzFHaDZXeHZ6ZGJpVnVpcE5xdWxwQVZ0UFIrSHdyVzkzT2pBY3h1Y0xNNHNNK3g2UHBjTXNUei82UEgvNjVBc3M3emxJYW1ZWjVnVVNMRjVGcVJHTFloeEJXVUNqbEVHQ3dwcHhYcU9tN3Jna0VML3Vha0Z5ZzgzK3Q1YXNCZUtSMWFBcXZqanpPY2NPZE9oME00eFM1R1ZGbVh1Nk14cWJhSnlEc2lvUWJWRmkwR1FvWXpIV3NyUm5IK2RXVnNpbHo4TGVPVTUrOFVkV05zL2k2ZGV5cWJodERmSEhUYkpVdkJBU3h0SGxxelo1YUFUdzlnYXozNFI0UVhNOVFqQzZ5TWEvd3pvaTI1Z0lDeEFDV1pKU2xCWG4rMTl4YnUwY2kvdDJZVHNKVW5pME1TQk45d2xxRDJHTjlyR2xMVUVZcmhWMGRKZE8wcUZrU0REQ3dBKzV0TEhDeXNhRlcrS3VURXZMemFiTkZHOXBhYmxPSm45T2E5V29takQ0eEVQR3Q5d1ZBUVVVZ3lqcUZab2lEM2dVbXBUalR6ekR6My8rQ3c0Y09JUTFLZjMra0xJc1VVcWh0VVlwUVJzMTZ1UTJXcnNJV1piZG9NU0JhOS83eVl1S1NhdW15OE5MZkhycUJGNDd4QXI5Y29OT0x5SHBLTFJWV05VbG9ZZWhpNVlNcXpNeW01RWFHOFY2Q09TRElaMjBTNXAwZVAvOUQ5a3MraWpTNzIzL3ZsdWEyS2VLNGpUb3JRUGFtQUFFSU9qWVBBSmR4M0xIRWQxYkZxUHhCQzdKS21mT24yRVlodWl1cGxRNXVTOVFvakhPWUlKRmVRMmhFYkZSNWl1bDZIYTdsTjVSbGhXZDdneG94YVhWeTZ5eGNiUDNycVhsbHVBVy94Wm9hV201VmRrYURadHNDakRkS01ERmFKV2FuR2Y4NWROTDV6RDBxSHpBMHVXMTU5L2d0VmQvenA2bFphckswKy8zS1lZNVdtczZuUTdHbU5pV09KYU1qNFNzVW9vUUF0MXVkOExOODd0bFVxcFBqNERVbnFOdnZmY1dwODkrQWFhQzFGT3BJVU8vZ1VvVmxSTzA2cEtsY3lTMmcxVVdFY0VIUitWeUxxMnVzTGhybmw0djQ3UFBQdU1QYjcxTlFHUG9Fb3ZKYnYrdjhFYU1qc1RzWkFldGthQWRTMWVEUWRIa0ZOL2E5SWViU0oxMjhQbjV6N200Y1FGdkhWWGlHTHArblVhazBTRjI4cHJNdVJZUk9wME9vaFdiL1Q1RFY1SmtsdjV3eUxuejUvRnRQTGFsQldpRmJFdEx5M1V4TFZyREZodWluVHByalc4cGc2V0hWQW1DUmRQbCtHUFA4dHd6TDdGLy8ySFcxemZSeW1CdFNwWmxkTHRkckxXRUVLaXFBdWZpYldFUlFVUytkeUVidFpiZUZrQ01qNWhybWlVWloxZS81SmYvL1BkY1hEdFAwbE9VZXNpbXU0eFRCY09pSW5pREJFM2xBOE55U09HR2VDcVVjWFI3bXBuNWhEUG52dUNmL3VXL3NNRUdtb1FDVjhlMGY2Q0lIajBtbzdDcTloclFJNXV6bTgzVWRrem04aXJ3Q0ltMU9EeG55dE9jT1AweEs4VUZaTWFUek1mT2N5b0lxc25QSjU3UG9iYmt5bjFKaFVNc3FNeXlVUTM0NkxPUCtXVDE4N3I1UWl0bVcxcmFITm1XbHBZYnlBNDVqbE9GYm1PWEFvdWxTeWthUmNaTHo3ekdTeSs4enI3ZEJ5ajZKVWFsc1JXb2lrTEdPUWNldlBjWVk5QkdvM0NFaVlpc2lORHRkdXZscSs5Y3pzYmwxeG15VS9zc0JFby9STkI4ZE9vRGVyK2U1WmtubnVOSDl6M016R3pLNnNvcU5wdEJsTVpMb1BJbEVMQ3B4aVlHckpBbWxsTm5QdUlmZi9PZitOM0h2OGJqc1VyaEpaRFlGTytHMy9FZWZuZlVwWXUxNkIrLzhuVkVwNHRiUWNTT3VaSjdpUUJlQnp3ZWgrSEVseDh3T3ovRDBVUEhXT3J0d3VjQkk2RytLS2tJYUpUV2lDaThEdVRsa0hRdW9kdnRzaGsyK2ZMTUdUNzg0Z1JyckNMZjIzMkhscFpibTFiSXRyUzAzSGdtTEs4YWxJeHJZU0NXeWpnMEhSWjU4cEhqUFBlbnIzTDQwREh5elFKZkJXWTdzL1Q3UTZ5T29zV1hIa0lVc1RaSlVEb1FuTnVTSXh0QzdJYjB2YU4yZUM2Qk1oVE1wclAweXpYZWZQdFg1SG1PcCtMdWczZXpXVzB5UDl2QlV4SkNRRlNGcVhzcERGeEJmMk9Wcnk2ZDRiZHYvWnFUbjMvSWtFMnNVaFNxeEVtQk1RbmlidWVJWE5pNVVHM0tUcXc1dkUwbk5vM0NqOXdWYmpZVHJYcEZieXRXMHhZRzVZQUVpNlBpZkxqQTcwLzhucUViY0dUM0VaYnRjdjFwaDVab3ZkYWN6MDU1dkhFTWRNWG1jSk12TDN6Qmg2Yys0RHpucUtodW9URm9hYm01dEVLMnBhWGxXN05OUmsxYkp6VW1BVnRFcks2ZlI1L1k1NTU2bVpkZmZwV2wzZnRZVzltRVlFaFVTbEZVcERZalN6SzBhRXBpei9sUmVrR1prKzd3RFdhTStTNTI5UXJVMGRoR3hFd0pXbU0weWdpT2lpRjkvdmpSNy9ub3hIdjg3TG1YZWV6aHB4aklaWkRZNXRRa1FqZXpGRDduL0tXem5Ebi9KZi95bTMvazFLV1RLQlNPSWNFWVNsK0FoaUlVMTJka2ZDdHdGUS9jNlhta0h1ZXgrTDFWUlB4T0xaYnJxVkdJaXpteTg3MTVOZ2REemhabktVN21iR3hzc1BpamVmQWVKYkd3QzlFamNlcVV4NmFHQ3hzcmZITDJFOTc5OUkrc3NvckRZWlVsbDJHYko5dlNRaXRrVzI1enROYmpITW42dGViZlVkQ003WFVhejFpWnNMeUowWS9KcXZldHl3K2hNU3YvK20yWjlIbmRLWHR4aXcvc0tNcDA5UVZQVitUTDFISkNDRmU4d2ZnMVh2amZIUk03cjJ0ZlVQSFE1Qk5hVEwzRkdYLysvTi93OElOUHMyZlhRU1FvVkJBeW13R2FmRkNRSlpheWNORjJyTTZEYlhKalk5RlhpYllwR0lQVWpnWlpscUhSK085TDRlM2tlMW9MVE9jZEcyNmozcDVBRGhReTROLy84dC94NzMvNUh6aDI4RWZzV3o3QThyNTlHT1c1Zk9rOFo4NTh3Ym56cDFrckx4TndTQk43czFBcU4zWVJ1dzFTWksydGk5ZjhXSDVPL3MwQzIvZGpVcHhQajZtYU1uSzk2UjUwemEySG5RbFZ0SHJ6QXBjSHE2aTZIZk9GNmlKcnB5OXo5dlNYN0oxZDV1RHlRWmFYbCtuMWVqam4yQnowMlN3R2ZITHFKSmNIbDdsUVhhQ2d3TlVleFVNWlhpbWUzZEp5eDlFSzJaYVdsdXRtUnkwaDBPbDBHQTV5TkphRm1RVUcvUnhCa2RMaCtCUFBjL3pKWjltMyt3Z2RPOE53T0lSSzRRV01VU1FtbVRDKzM0bXQ3MDJLL29Ua0JyUTh1QmJDMUhTQ3BwdVlnaUNoanQyV1VNdGEwSHg4NWowK092Tk9iTjVBUU9OSHZjM0FvNVVuNkZCM2RHTGNWbXVxWTltdFNuUFIwZGltNlRwTnBCRzNncUNVM3RLWVJDbU5OanBlcE1sVXpyV3c5YkRmNUlCa0V5c2VGVjN0ZEN6cWJmY1NNMkg5S01jM2NJNExyRzZ1OGNYbVo2U2ZaR2l0OFNIZ3hGSGlNTmJTZDVzTUdlSndlRHpLU3V3S051MzcxdEp5aDlJSzJaYVdsaHZMeEEvcmNGZ1F2MllNeFJBQ0NSckwwMCsrd0orOTlqZnNXN2dMSGJya2c0cXk4QkFVU21KdGVwSWtZeUUwQ3B6SGxoRFJwc2pYVFJIcTFZcWd0QUtCYnFmTElQOGU5M2RhVU80UXBCdTM0eDMzei9JVW9CU0pzWGpuUnFWUFRhOHRKZUI5ZkVoVEtWZm4wYkwxaHNNdFR5TmVSM2M1aU9rbGVEQ1RBK1loK0FuRk9wbDMyanlhY1lpTjNXNHRyaFJOaHBIZzliV25za2JqcU9qVGp4ZHR2cGs5T2pTVXJrSnFBZXVKRnpTamE3dXRYVGhhV3U1WVdpSGIwdEx5M1NCUmJjeWs4N2d5VUFYQk1zdXJ6NzNPODgrK3lMNmx3N2crK0xJZ2hCQ2RDTklrM25aMmdwaHJWeWlOOVpZeVVjak96YzJ4OG4wSjJTdmxlZTZ3K1pPTkdxUVdKdWpZWVVwVTdPNlVtZzZwc1NoUkRLb0JGa1d2a3lJcVVJU2MwZ2Nvcjd5T1c0azBUU25MY21zcVFZM0dZREZZTWxLVHhSelJJSGp4bEZLT2JwMEhGUWpheFg5UGRwMjQ2U0x1YXhLRHBnWHRsTEQxRWlpazJPS0pxOUNZV3NhS0RyaFF4ZFNoU1pldndOV3lHVnBhN2poYUlkdlMwbklkWENFc1ZJdFlvenE0U25BWUxCMk9QL29jUDMzbVZRNHMzOFg2eWlZenlVd1VzSW5HV292M25xSW9jTDRBYTZPNEdhMG5kZ0VUMmJyZVJpQ0ZFTEQxL1BQejgzRGh1OXp2R2pWMVMzbmlGdmhPclpEckxSMi9VTzlHQ0ZJM0J0RGdOYmtQZFRieFRMd05uV3RLY2lERDFERmJvelZPS200QlJYZEZKcU92QUVtU0VFS0l4MG9zQ1JtR2hPQUJwQTY0YW5yTUVBaVVGUGpnNHhpaFFQdjZKS2dYZU5PRi9OVFk3NWdLTXpIUGxLajFOSjN1VExTUEM0RnFuRUNQVnFDMEJpMm9FT28ydmxQTGFtbTV3Mm1GYkV0THkzVXlKV1psZlA5Ykswc1ZGQW9iZldLZmY0UGxQWWZJK3c2ak80aG9kQzArblhNeGI3SXUxR3VFN2JYUWVNZ3FGWVhFN096c2pkM0ZiOGhPSW5iN1RFQ0FUdGVTcWk3VndCT0NCbExtV0dBMm0rUFF3Y01vcGNqem5KWExLNndQVjZtSTBjb2k5Rkg0VzlvVWZ6SUthNHpCVGRtbDdVOE9jUGZ5ZlJ5OTkxNzI3dHVIdFphMTljdDhjZm9Memx3NHpaZG52MlNURFFwaWVOMEhRQVZrdXVqclpqR1p1N3NqZXVJaVowclFLc0JvQ0RLT1dOZXBNYzNmaEE4aHBodjRpZlNLZW5uYVFManBRcjZsNWViVEN0bVdscFp2emZoM1ZFKzlFQk1acXhEb3FDNVBQdm9zeno3eklvY1BIYVVZT0Z3Vm1PMHNVR3pHSEZGb2NpY0RpVEhiTExTMlJtS3Y1Tklnb3dodXI5ZTdjVHQ1TmFZTDd4dVJNVFhiRlczS0JJcSt3ekZFazlGbGx2c1AvUW1QUDN5Y2V3NGZRNG1tay9XdzFwSVhtNnh1ckhEcTlDbis4SWZmOHZuR1NUd1YvaFpQbEcwS3ZTYlRDK2JuNTdsMzd6SCs4c2YvbXA2Zmp5a0YzcUZGYzJqWFllN2FkemNCeisvZWZaTXpGMDd6NlpsUHVGaGRRS01KUGhiQUJYRzNRRVMyWmtKZ3FpMUhYeUZYUzJZZCtRRExxQlV2QWtyRnV4R0NHelh3alRadnpRY0Q0ZFkrN0MwdDN4dXRrRzFwcWRGVFA0clhVaEErL1psdnM4NXdQYmNJcnluMDkwMjUxcTVKMDRtSzQwaXNxb3U2RkJuUFBmMHlyNzcwQzVZV0RySit1US9la3VndVpWbVJwbWtVclVFb1hZVlJNUkxybkdNNEhPN1EzS0FwMDI2RXMwV0xSaFNvNE9NdFdpQzFYY0FTR3U4Q1ZYOVdwZ1hCZDBNektsZXR4eEdZNzg0eEdPWVlNdmIxRHZMVDR5L3h4TU5QczVEdFpyaFprQ1U5UkFTWE96Sm1PYkp2a1FOTFI5ZzNmNGdQVHYyUnYzLzNQNDV5U1dWUzBPNFlLZFJiM29wdlg4RnQ0UXJiZTgzejF2amdZOGFuYUZRQVM4Sjh0b3VuLytUSFBQUHdUOGsyWnVtWkdaUlZzUkJNUEtwVVZFTlA1VHl2L3ZnMVB2ajBmWFNsY1djODY2emlpS2tZdDhldDlZbEJrNG16WVhTQ1RPUUpLRVpmQmo1VXhOUWNqV3JjSE5Bb1pRamlrSkh2UWRzU29hV2xGYkl0dHpkQndBZFUwR2hWbSs0SFFTbEJRa0Exb1R6VmhQUmt4NVExWUdULzAwU05sSUJSYWpTZlRMMFBPd3NCQlZ2NnBqZkxHaG03MWo2eVV2dGlOckp4Y3Zramk4MkplNGNxcm5EY0dVdWdtdkNSallicTQ5VW85ZlZlc3R2MVRpTkd0K2FtanBtSUlLbUFVdEVXU21vTkZjdDNlZ1JTRkNrL2YrNnZlUHlScHptNGRCL2lETUhsV0oxaXhGSlZGYzVFcTZFbzZPTzR1TElBSU1uUzBaajR1ck44ak1mV095bUtFQXpXcEZTVkl6V0NFVWUrMGVldUEvZWc2ZUlJUURIMklKVXdrYitxYjlodCtTc044eFhka2FSdUNGRmxXQkwyWmdmNDZ6ZitEWWYzM1VNV3VzeVllWWJGeFpIanJzWGlFZnhRSTJJNWV1QXg3cnJyR0t2bEdtK2UrQytreHBEN0RheU5CV1RPTTg2bmJDSjl0Y2dmdDNmMWlBb1lFODlGMzlSU1RRbEVuY1J6eVRmOUYrcnhNOGxFUUhGeUVDWnpPRFZJSlVpQUJiTUw4WXBYSHZ3empoODVUckthUUZCNFFFV2pZYXdrOFVKRVVtYnBzdkhwSmcvdmZZUmRUKzVpOTh3Uy8zRGlQOUVua0hVc3c2SzYrZlpqMjlaOUpXRTVuVXRiVC8wT3liNFRUeHZMcnRFeVpPdkZZeXRpVzFxdVBmVFMwdktEWmpxNGM3MlIxbXRhNXkzL0s3VFQxMFB6V2h5eGJ0ZlExUFBzbnQrTnBZUEgwR0dXWng5OW1XZWVlcEVqQjQrUnFSbENxWkJTSXk1VzUxczlidW5aUktXRHVzWUlkZjA1cFF6ZUN4cUYxUm9kaEN4Tm1lMHRBQW54V3QxdXRXNmEyQS8xSFg4Rlh1MFFheFNGSzBuSWVPclI0eHphZXhjenlSeTlkSjU4STZkallrY3pMZkY4TkFJbWFFd3dHSjlnUXNiclAvczVEeDcrRVNab09pUllGS0VFQWhnVnp6RlZYL3hFeHk1ZFY4Ykg2bmd0T3Q2aWJtckdCS3lGTk5XakxBNXhVY1FpY1ptbUxxTEhtNWkvR1FDdklUU1Blc2NEMFI1TW9qOUI1UjFQSFQ3T2ZYc2ZZQ0hzWXA1ZG1KQ01MaXEwNktoOVJXTzl3ZnFFR1QyREtRMnplbzdEZXc5eGVPRnVRRk9XSmRoYk5TUWJkbmpVeURVOHBwWWpvd2NUMDFiRXRyUTB0QkhabHBhV0hXaVV5UFJyYkhsOU9QU29FS044ZzM2RlE2RklPUDdFTTd6eCtwK3pmL2RoSkZnMk53ZVVSWVZXMFJSZmFjRnFTeFd1cjIyQjFocm5IRm1TSW5pY0sra2tLWXR6ODdWdVZiZjhELzVkdXcveDFCTlBzbWYzRXNXbXg2QVk1bjFtdXJPRXFoeGQ4Y1RvZEVDTEFoeGFBdnQzNytQb2didjQ3TXYzWXk4ekoxRythN0FwRElmTldsUnQ4YVFtc2pZTlhUV0RUYU9UUUwvYUpFaEFDb2xSVWlCUkNlS2tidGlnNkVnSFg4ZTVWVEFrTUdGd1cxK1VpQ2RJd0JNd1JyT3dNRSsrVnFMUlBQWDRVK3lkMmNPd1B5VEJnNVg0Y2NZK3V3RUlLbDVpbUVSVHVoS1RHdllmM00rOStUMTg4THYzNHExM2U3UERzUzB0TGJjQ3JaQnRhYmxUdWFJR3VNcnRkclU5dWpTVHpWRVVnY29MaW96WG5udWRGNTU5bmVVOUIzQkZvTXdIaUl1ZHVoS2JqanhmUmE0L3oxSHIyQUVxcHBCb3FyTENkQXk5WGcrTEhkbXQzcW9ZREEvZS93QzdGM1lqM2xQbUZVSDZaRFlqMFNadXYwQTB6NWRhVGdwZ01RRzZZWmJqUDNxUnJ6NDd6L3BnaGE4MlQ1SFVvblV3SEpLUkViQm9ER0JIRVdoZEgyTW5nYnlJZWF5ejdNTGhSZzRCRm91VGlvN0tzRGJCVlo1RUVyUlNsT0pxOTFNMWthcEFiUXptYTdIcnFYeEZzUllOcGVaWklERXBhWm9pQStoa0hmcXVQL3JrSktMcXhoQUNycW9JV1NEdFpCdzRzTXhzT2tOUkRxYnlHbHBhV3U1VVdpSGIwbklISTE5ZlgzOVZFbnI0d3RaNXVnbFBQL0lzenozekV2djNIMmI5OGlaejNVV3NqUzFIVTV1aXhWQ1dKY0dWS0tWUTFuenRPcTZLR2JjOEZSSEVCOFJEWWhObWtsbnlhZ012TVhmNFZpc09Va0JQZFhudzJBTlVneExSR3FzU3luN0IzcjI3Nlc5c1lpWnJnUVFVVVhRR3dJU1VDNThOT2JEM1lYNzJsSkQxRlAxOGhlNWNndTJtYkE3NmRRSno3S3dXcDgzaUFncFAxbEdzclYxQ2EwM2FTVGp6MVdsKy9idGZjMjc5SEFMY3UrY2Vubnp5U2ZidDNjL20yanJCQ1oyMGk0akM1eFdMdlhuMGhIZHFiRjdnOGJyRWEwK0ZJMDFUQm1zRGRtVkx6TmdlVml5NUw4anpQR1o5WENXb0t1SkJSZC9ac2l5Wm4xOWtjWDZSMVV1cnNTdGFTMHZMSFU4clpGdGE3bmdtV3daTmNCWGgxK1ExR2pJcUxCckxTOCs4eWtzdnZNNitwWU1VZ3dwTGluaXd5a2J4RlFLdThuanZNVG8yUUhCeUhWRTFGYU82b2xYdE54dlEyaUp1Q0ZhenRMU1hTMStkRysvZkRvbUZOOXVETlRVWmUzYnR3eGNlYXcyenZUbldCNXRZMDZFY3J0THJaS0Fjc1dyS1I1dFJHZC9JNzlwWmJPaHlaUDlSc3A2aUNIdll6RmR4NHRtL2Q0bXljcldBdFJOYXZzNHZ4cEZhSWRHR2JyZkw3TUljeGlTY1BQa3BsOVpYVVFoTEMzczV1Tzh3ZHgwNnpPYmlBRjhGWmpvOU5JcFFCZksxSE5Qa0JpQUVCVjQ3Z3E3dzJrRVNqMDF2WVliOXV3Nncva1VmMGRDeEhaUXlFSXI2OE1ROWlqbXlvT3BsR2d4S0t6eWVxcWpvN3VyUlRidGtTY2FnTE5yTWdwYVdsbGJJdHJUYzJUUU9CVnNWd1k0YWRtS1c1Z2ExeDlKbGtTY2ZQYzRMejc3T2tidnVKKytYaE5JejA1MWxNTWhKZE15aDlVNUFQTVlZRXBORWx3Vi9mVUxTZXgvelpLdUFOb0VzU1JtNkhJMWgvNTVsVG43MUh1TUc5VnZidzM3WGhWNWZqNDVsVnpyRlpoMUNMdGcwbzVzSnhiQWlzUjFBMTQ0WERsRjY2akFGdWwzTmNIaU9zbHpqMHk4L0k1dUZTbkpLWDdLZ2RyTzJ2b2xnYUpJSjlJU1BnaUtnUk9QTENtTVZuSWN2VDUvbTBxV0xlQ29DZ1kzQkJpZFBuV1IxOVJMQkNWcXBhSEVXRkVZWlVtMVFkVUhhYUt0R1VWa0hCdks4eEVwQ1VpUXNwTHNKVlVCVml1QUNPck1vcVJzYzFHRm5KV29VNWRXWXVuMnh4UVNOMVFrK0Q2Z0NqRXByRDkwMnhhQ2w1VTZtRmJJdExYYzBXd3QxUmkvdEVPbWFsbjJLQkVYR3M4ZGY1dFdYWDJQUDBqTHJsd2ZnTkZhbkZFVVZjejF0aXNaUXFRb0pDbU1Nd2NkYnhTWk5ybXZyUTNBbzFlVEpLcExFa2xjYWpXTDNybDNqM2JrRlV3c0FqRTRvQzhmYzNCd3JsOWNvVElVMUhRYjlrcG51UEZVWjgxWGpUdmdKLzZ2YThjSGtiR3llNTlTWkUveWZ2L3cvRUhJeVVqWllSd0NQcmROSFZDMWtwUzZxaWxGZVM0SWh3UkNqbmlWdUZLVzJXRDQrK3g0Zm40MFhBeGtkTXBWUVNJRkhTRWlvS0VhV1hwTVhCbldHSzRLZ1VDeXl3TjE3anZLWEwvNE5DdWhtWFZSaUtGeUJLRVZROVRuWXVGR01oS3hHZkxSTE1Db2xJV0d3UHNRVFNIVkc3bDBibEcxcHVjTnBoV3pMYmMyazkycVFVTjl1bnZaOGpZL20rWFp2VmRtMnJHM3piRnRtellRNG1ueC9PdTl2MnpiNjFUNnFBQUFnQUVsRVFWVEoxczlNZjM1Yng2aUoxMGZ6MWJmV0RTYTZIRFdldGFwWjM3Ymh1bmJxRmV0dHU2cXhLcTM5TFROZWYvWXZlT3lSWjFsZU9vd0VCUzVnZFlMV0ZsYzRsRkc0MHFNa3RwN1ZRS2lpNmF5MWxuQ0YvUis5UEdtdktURVRkK3VZZ2JXS0pNdHdWVUdWeHlZTEs1ZFhPSExvQ0RGK21PQkcvbEtSS0tadnRnVFNiSlpEK3YwQlBadlRuWjNGSkIxV0wyd3drM2JKc2g2RHpTSGFLSXpWS0swSTN1TkRRQmxCV2NqREpyc096dkQ3RTEvaEdOUjVvem1PbkpnOFVFQWRrZlVJdWhhWXFWSllrK0xjWU5RN0tteXhlNEtTU2JNMXpaQWhROUdqNHE3bzhsVVNpSTBPZEczdXBTWWRESUI1TmNlR2JIRGg0am1LWXNqeXJnT3Nmcm5HZkhlQnpIVHhvY0lGaHlnRm9rZFdhc1lZZk9YSkJ3VmFOUE9MYzN6NDhRZGt1b1BCRW55ZGN0RkdaRnRhN21oYUlkdlNjaHNUeGQxVVdvQnEzcnYrNVhjNmlqd1hGREEvdTBoL3N5U0lJbU9XNDArK3lEUEhuMmZ2MHQya3BzZXdIQ0plb3pCb3BUSGExcmYwdnh1MmVQSFh4VjRoeEZ2VDNiVEwvT3dDQmp0UkZEUU9OY3VOR0p6ckp0YjNmL3pKU2ZZY1B3d0IxdnRyTE8zZGg4czlwOCtlWS9maUhNN251T0JpMXl1alVjYkdibDg0UXVMNDlPd1hmSDcrRkk0U3FhV2x3Nkdqd1JWR0s5QUdMUjduQTRKbktBSHRTc3lvQWNha2tCMlByYStuNHhZWnVuNnU4UVNjcnQwUHFHSlRrdHFmRmhxUFhrMmxLN3ozREJseS92STU5c3d1WXpxR0lwUlFsZEdPelNxME1ZZ0VxcW9nendQaVBYTnpjM1M2WFV4WFVZU0NTMnVyckphclFJejZFL0x2NDBDMXRMVGN3clJDdHFYbE5rYXB4aCtVaVE1ZjQ2aHM4RmY3OU5mVGlGaU5wZGdNQ0NtYWxLZWZlb0UvZSsxZnNieDRGQ1FqNzVkVXBjZGdNQ28rdExFRUZ6ZWc5dGJmOGl4eS9kRTBrWGo3dWhHeWlVQW43YkRMN3FhbmVwVFNCMkpLZy9kdTlKbnBDNER2bXhqMUhQTFdlNy9uaWFlT016K3poNjh1ck5ETDVzalNEak9MczF4Y1c4RW1NZXFzakVMd2RVYzRjSGpTdVI2ZnZQTUZuNTAvUzJPSVZaRGpzU2hsY0NMUnBXclVJVzQ4L243S3NEL0FhTmt3TVpWYTBBb29pUTF4TlFHdmlMOGdUZGZmRVBBKzRLVkpXSWtDdWNEZ2dUVXU4OUZuSDdKN2JvbmwyWU5ZVVNobkNCN0tVT0tMRXJSZ1UwMjNsNksxWnZYU1picnpQWUx4bkRyOUtTYy8vWWlpRnV6WDFkcTVwYVhsQjBNclpGdGFibU8wMXFQV3RJM0Q2QTBKTnNvNEN0ZEplMVFsVkdnMFBWNzU2Yzk1L3JtWDJidDBCRjlvcW1GQjhKNGtTVWpURkdnRTlIY3ZGRjJJeFY3RUVpUUlBUkdGMXBadTJtSFgvRzdXMTFhaTI2bFNlSEdnUUlLZ2xMckprVm1QcCtDenRSTzgvZjZiUEh2OEpSYjN6TEZacmxPcGdrN1NZWGJYREZscVFIdnlhc0J3bU9PVXgrZ0VzWTV6cTJmNTVQUUhYSzR1SUZTRTJyOFZvMUJXUStsQURMSEZGcUNpdTRQUzBibk11WW5ObWU1KzFnU3dKNmFqTHMvQytBUnBIclZHanEyaW80ajFQakFJZytnK0FMeC8rdDBZWlgwd1plL2NRZGJPcjVJa0dhWVRDd0JSRGhGUHZ5cHhlVVZsS25xZERoZldMdkwyaDI5eGN2MWpBaDZ0RkgyL2VkTmRKMXBhV200K3JaQnRhYm1OVVVyRmg0ekRVOTg4UDdhdVpGZmJSWUhHNGtxRmtLRG84dlNmdk1Eeno3ekJ3YjMzc3JFNllMNmJnZ2xvbzBqVDJPeWdMRXVjSzFCS1laVWVMV25MZG91dUs5V3ZEeEdQRjRNaGRneVRFQWd1aXJtZ0Fzdkx5M3kyZG1KNnAyNkp0TXBBd0NpSGx3SC83OS8vTzNxOURrOC8ranhWWDFFTkI1eGZ1OGpDM0N4RjZTbkxBVlVvc05hU2RGTkVQTU93eWovOCtqL3kwV2UvSVZBaXFqNlNHckt1TU14TGRBWWlBUlhxODRKb25TWmNvWi9BZEZIYzVQUEpYaGlOdUczeUVKcFd0YUdKN0FiUW9CUHdWYWpURm9RVkx2Q0hUOS9FZGkzSER2UlpYanlFVm9vcURCbFdBMXdvTUVhQjFnVHI2YzMzT0RzNHkvdW4zdVBreWdseWNnS08waGFJcjlwZXJTMHRMYTJRYldtNW5mSGV4eTVaUkd1a2IvNmp2bk01LzBoK0trdVE2RkR3MHArK3pzc3YvQVY3bDQ2UUR4Vkc5ZkNseEJ2YVNvMjJwYkhFc3RZaTd1cTVEVm8wNFRvRWJZeXFla1JNM0g4TUVxSlhiUkRoMEtHN1VCL0YrT0NvR0U3cld5U1NGOGhseUdKdmpvM0JCZjcyUC84SHhNUGhmVWM1dU9jdzNkNDh3MkdmSUI1SkttYXlqTjVzbDlLVm5EejFLUitjZW9mZnYvMDdDb2tGVjhaQ2NGR3c1amt4Y2xyRmFYT1VqUUVKc1lndk1INXZ4TFJqeFE1Rmo2UFhCSFNvLytuR2xteEFiSFViaU9rSEpvcHJwWVVpenpsVGZNRnZQaExPWHp6SGkwKytTaWVkUVpsQWxWV2dCWjBhRU1HVmprOHZuT1NQNzcvTGgyZmVaNU0ram9JaFF5QkFTcXc0YTRWc1M4c2RUU3RrVzFwdVk0cWl3T0cydk5ia3gxNHpTcUs2MlFFbm5xNmE0OG5IbnVQNTUxN215T0g3R1E1QUttR21POE53YlkxRUs3U0Jxb3JPQU1ZWWpMSGozTW90cTlJM0tQY2hZb3hCUlBEZW80anBBdFJlQlZwckR1MC9FRnV0UXQwMElhWmplTUpOTC9ocUlxaVYzaUFBWDIxOHp2Lzl0LzhYRHg1OWpEKzUveEVPN2p0TXQ1T1NkUXdvdzdEWTVNTFpNNXcrZTRaMzNubVA5Nzk2bHhJTnpHQVFWUEFnMFE3TGFvdjNRbUo3T0Jkd2pWOXZpSzF1d1dFQXdZd2svY2d0UTlXaDFTMml0dkhpWlpTVHJRSHJ4dUh0eG40ckVEQm9nZ2s0RlVhcEI0VjRsSVlpQkU3M1AyTzl2ODdGaTVlNWEva2VEdDI5ek55dVdYUUt3OVVCRjg2ZDU5eTVjNnlzckhCbS9Rd1ZKU1VWVHJ1b25pMlFBTlYzZG5oYVdscHVFMW9oMi9JRFlrc2QrNVZuVTZIT0cveWErVzRRZW1vVkkyc3VGVkMxWlJpaTYvdTFRQmhYa204UkZnUkVnU2dQQ0VFWFZHV2YrR3Z1a0ZvMmFxVnJhNjdKdGU0Z1ZOWEU2eE5SMGFacmx5SkQwK1hacDEvbnRaZitpajFMaDFoZkc0STNHSk5TRkVOTW9ra1NpOVdhb3FwUWRjTUQ3ejFsV1k1eVpyZHVSMHl3Vk1LTzZRWFQ0M1VsTktDTnhqbEhFRWNRZzFFYXBTeGFKeGlUc1RDM2dDVkJvWkZRUmM5OVRPeVdKYmRHanNGR0grWm5PZ3o3QlJmZFYyeDh0TWxiSC8yTzVWMzdXZHExeVB6Q0xCQTRlKzRNWjg5OXhkQVBxYUlVSjQ2bGlSRm1INzFlWjVKWmR1L2V3NjY1M1NSSmwvVzFUUzVjV21GOWVJbUtBbkNvMm9xckhKbHZOVWVtK2R2UUV4YzNZeE91cmM0RjhibkJFcE03REphRWhBUmpORmhodlZpREJEYUxqYmlsUnBGMU8xUkZ3WHBZcFJoV25ENTFCbnRLNFNnSkJCSmpxSHlVcmhEOWJMVzFlRGZFU1JVanNRb29hS094TFMwdHJaQnR1ZDJKWWxEVkhlaFZiY0FleFZoQWdvOEZMbEluOG9sRXdUaTZ6UnpuMDFNK3I2T0M3YWJhZTJmcjJQSDc4WU9qNlJZZldkbjZ2aHJONXhIS1dzaGFsQmlnbnNyNFQxUHJRQlZLWENqcDlUS00xWHg2NmdRekM0ci84WC82Yitsa25xSW9DQklURmQzV0FPMW9uSGJDWkJwZnV0RjJKa1lUbk1iUVFUSEhLMC8vRlQvNThjc2MzUE1JZVY1UURnZk16WFF3MXJHeHNVSEh6RkNGZ1BQUnVFa0J6c1V3bVU0c0lZVFIraHQvM1RqT3RZalVhanhXemJqc05LYjE4MGsvM25qdnZNUUFTbWVvb0FoaWtCQ05yUVROMHZ3K2RuVVdLUEoxRkJhdkFxNG82TXd1a205dTFzZm1Kb2xaR1YrN3JQZHpva0RNcWFoUWFGWXZuME5mSG0vZjlGYU9yb2ZxeGdaN2tqMDg5OVNMUEhMZjQ4eG04eGh2Q1VIbzlEcXNyRi9rM1pOdjgvNm43L0w1aFUvcHN6Nks1S3Q2eVdia0FSc2RNS0pNVm5YYWlpYkxNc284bjBqTDBLUjBDUVE2elBEWVBZL3o4TkZIV1pyWlF5ZnAwT2wwdUxSK2tUTXJwM25ueEZ1OGYvRTljcDlURFNzazBaU2h3QlBROUxmdTRaUy9idzdnYW5zd3FWK1l6TkZ0YVdtNW8ybUZiTXR0emJpRWFQSm4vaHFFeVRncyt1M1dXMy84Njl5dHBoc2pUSnRQcWVoYk5DRjI0eTFjcWZlc3FncDZhY3FnTENpckhKMVUrR0xBd3U0dS8vMy84TjlRdWcxY0dDSVQ2UVdxTnBLOWxsdm52bGE5V2tOaURTNFhGQWx6ZGkvMzNmTUVMejMvQy9ZczNvVlZzeGl4R0J4NU1jQjRSMklnanJVWkZmK0lHaGNVWFoyZGoxRlRpSFJOcUZEN05NU09WZlZsQWpFcDA2REVvdEhzMzNlQUM1K2ZSbVB3d1lQU1ZNR1B4ZEROWk10MVVxZ3RzWGE4RXRtR3FsMWJaODBjOXg5NWlCLy82RGdQSFhvWVUyU0VkZWltczZnZ0ZDc0ZpNTBGZnZyWVR6bHkrQkJ2ZnZCYjNqbnhGcGVxRlRLckNNUzg1a3FxZXJsak83ZEd0SHFCWVQ1eGp0V2l0OEx4NEw2SGVPS2hIM05zK1JnTHlTNU1tYUFLaGM4OWQvWHVaYy9CL1N4MTk3Qjg5Z0Fmbm4yZlQxWS9wcW9LdEZXamk1NXZ4TTBQb3JlMHROeEN0RUsycGVXbW9TY2lyNm9Xc0tvV1dQSFhPdTJtWEZwYkllc3FkczNOY0huOUhFR0cvQy8vNi8vTTZ1QWlpaUZoVzQ3c3BJUEIxeWcxc1NDQjRFQ2JESVZIay9EWUkwL3lsei8vcnptOGZKUjhVOWhZWFVNclE1WWtPTzlRUWRIcGRpbUhOM0E0dmpWWHVCZ1JoVmFXWThmdTUrM1Azd1EwU2hrUWh5K3JteTlpcnhPTnhwSnkzMTBQOHBQSC81UmpCKytuWitZb0JpVWFRNXAwME1ER1lBT2JKTXgxWnptOGZBU25ZcGUxZjM3L2x3emRKbDY1Wm9IeE5EVEVabUROVlZwemtlTGlCWmV4ZFhldlNuSGYzdnQ0K3RGbmVPVCtSMGlxbEhLMXdncWthVXBabGxSVlJXZTJ3OEVEaDhsMnBYUjNaNno5OWhJWGkvTVlERG41N1g0WVdscGFiakt0a0cxcHVhblV1YnFpMmZMbldPZkZsbFZKMm9FMEU4cHFBMjBxL3UyLy9lOVlIVjVnWWFiSFd2L1N0aVUyWGE2K0Z0RjF2bXNYNzB2S1F1aXFHWDd5MUl1ODh2eWZjZVRRTVlickZZUE5DdTgwdlY2UExNMm9hcGVFbSs1akpYcmN4bXo4SXBNS1ZTbkRrY1Azb0RGVVZCZzBIZzNlajNPUGIxTWxwVkRNc3NDUDduMkVZd2Z2eCtYQzVjMVZlbWFPVHRiRE9ZZlZHbXRURElyTEsydVVrblBYdm50UURyNDQvVG1mYjN5QzdnbG9ZVmdPQ2FFMkVJNXAySkV3OGJ4eFFrQllNUE04OStPZmNmZlNQYWpDc0hacEhUOEk3T3BsL1Avc3ZWbVFIZGw5NXZjN1MyYmVwVmFnc0RXQUJocG9vUGR1TmxkeGswanRraVhaY3NTTXR4ZVBYL3p1Q0N2R2p2Qm9KU2xScEVUTmtHT054NTRZUDR6REVYNnl3OVo0ck5GNHhwSW9pazJ5OTBZMzBBQWFPMUI3M2JwTExtZnh3OG04OTFhaGdHNEEzVjFWN1B3UUYxbDFNMi9teWN4eks3L3pQOS8vKzhzNGxKanRkanRFTWlJam81RTBPUFh3S1ZiV2wvbmJWLzZHdnVraHl3cGhOV3JVcUhHLytPRHFSOWFvVWVOZFVFWmtmWXduWXFUTWRUaGhjYklnTit2czJkc21MVG9zckZ6aHQzLzM3N002dUlIQzBCK3NzQlVMZSsvWitJRTh0K0pKRWlZUk5IbmkxUFA4NHMvOUdxZFBQczNOcXdzNEE2MUdtNm1KU1NLbHdmbVFVT1VGYVQ5bFovNEpHVTlTa3V5Wm5hTWxKd0dGRkJvbEZVTlQxVjBNaWViRW9WTWNtWG1ZcVdTV2xteVRSRzJTcEFGSUJvT1VRWllqaGFZUnRXbEZFMFEwbUpUVEhKNTltQ2VQUG8zMGtxeVhrNjduK0V3RVZVUE9LQnBia1ZnTERkR2tSWnVFSnRQTTh2eUpUM0JzOWhnTjM0YUJwSzBuMkRPNWgwUW4yTUtSNXpsSmtwRG9CSVhFRnpDVlRQUDQwU2Q0Wk85SllwS1FlRmVqUm8wYUQ0Q2QrQlNxVWVPakFTL0RQRzZWSlY1OUhZVUZrWU1vbU4zVDR1YjhPK1JtalcvOXllK3ozTHRHb2tDcG5NTDFoaHJHWVlXdmU0SkFrZEFmRkRnMFgvN01ML0xydi9hZnNIL1BVZnFkakNScWd4WEVVWU1vaWlpS2dzRmdnRE1PaWNMNys5TVh2Ky93NDNuM0c2Tjcza21TcE0xRCs0OGcwT0FFUXV3TXQ0SUhoVUR5L0JQUE02R25TRmNMSXR1Z0hiZXhtU2ZQY3hxTmtIQmxyU1BQRFEzWnBDbWE5RmN5SXBQdzhjYy9SWk5KbXJScDBtSkNUSkw0QnNwcGhKVTBWQU5oSmNwcVloS1UxU1MwYURIQkh2WnhkUG80Y2Q1QXBncHRJaWFpU1JxcWljbURZNFZTZ2FSS0tXa21MYVRURkgzTG52WmVqdTk3QkUwMHJBQldvMGFOR3ZlTFdscFFvOFkyd2xmRjZrc2JMaWQ4c0lZU0JZaUNoZVVsQnRreWYveXQzMmU5TjA4U0N3YjVLcU5TU3R5UndMNWJDZFlxV1VpUThOeXBqL0Z6WC9wbFRwOTRndm1ieXhTOWdnTnpSMWxkNlNOZHNFSHkxaUM4eDdsUUJDRlNlb1BCd0hiQUk2R3FhQ1hLSkR3UlhDaWNsd2dua0RyaWtlT25lZlBtVzJWaVU2VUo5YnVhendvRWgrZU9NS0dtY1FOSWZVNGtCTlo2SkpJb2lSRStGS2JJMHh4dkhjNkRLUXFpS09MUXpHSCszcy8vRjZ5bXkxaGhjTXB5YmY0YXI1OTdqZFZzQlpkNm5uem9LVTRkTzAwcmJpTnpSVXRNVVBRTHBwSVpuamo1RkRiMVlCV2lFR1JaZ1N1TFlpaWwwRnFSWlFYZGJwZW9wWW1FWnBEbXROcHREczQrUkVLTFB2M3R2b3cxYXRUWTVhaUpiSTBhMjRhcVFQMUlVaEJJckExRVZnNFlaTXY4NlQvNUV4Ylhyd0FaeW5vcUYvZzRsbVI1YVd1MWliUUtJVkJLWWJiMjRockNJL25wVC84OFAvMVRQOHQwZXc4M3JpN1JTaVpwVFRSWVhGaWxsVXpnWGRoL285SEFlNFd4YVNoQUlNVDltajU4UUtnOGVjZmU4aHBGeEtFRFI5REU1QlNsTHJQMHUzWHZ6U0ZncHlJYjVFenNiUk5GTWQxdWYyaVRaZkpnaithTXA5VnFvYlVKaVZkeGcyYmNKTTlUQnAyVW8vdU9zY2ZPRXJjam1sTk4zcmwya2ZXMWRRWlhVaXlXMldRdmp4MS9uUDJ6QnpBOVMxdFBZUHVlUVdlQXp5RWlCaVRHR2F5MWFLVm9OaHNZWnhrTXVreFBUek8vTW84c0pGRWNZMjFCSTJyUWlscERuNGthTldyVWVCRFVSTGJHcmthVjJCUTRYREFNR3I2SER6Nm13MHBGdnZRbDNaelZ2OUdmOUU1UnpBM3JLOHZUZDNrWWorOHJ0R25zUGUrRDI2a1VlTzl3dnFEVlZFamxPUC9PSmRxVGtqLzQrdStRbXpVOE9aNGNad09KOVFLeVloUk9IUG0xam83MWJpUVdKSjkvL3ZOOCtTZC9objM3RG9GUjZLaUZMeVNtQUVXRThDSlVDaE1lWTNKR1VlQksyL2hnVEhiejljRnZmTy9kOWo2VU53dzladTNZZlJKNDY1RlJ3cEhEajZCSVNQQU1DTld2dk4zZEpCWkFLSWtUMEIzMEtheGxkbXFLd1NCanZkZGxkbllXV3hnY2xpaUs4TjZ6M3VzUnh6RkpJOEVVQllVbzZCYzl1bXNPMlpQY3ZIbVRUcWVETFVXeUN3c0xMQzR1RWhGVERBeGQxNk1ZR0JMWjROQjBrLzV5Z1NMSUJ3QzAxdUZuRis1RGxtVm9yUU81SnNjWUV3cFlEQk1HYTlTb1VlUEJVQlBaR2pXMkRSNWpVdHJ0TnYxQlJtNDZxRnhUMkhXbVoyTis4N2YrUHJsWkkzYzlQQmxWSkxhc3d2cStWSHFOZGNMTXpBekNTb3dST0dPUVBrYUxtRVpDSUlqQ005U2ZDamNzU0xyOUVsa3hwbytsTks5MW95b0RYdUJSQ0FlUmJISHN3RW5PM1hxWnltMWh1MlVSRHdxUDUvcXRheHllUFVacm9zWHk4aXBydlJXOEM5UDZFTXJ5RGdZRHBCU0J3RFpqcElKQjBXT3B0OGcvL1QrL1RjNEFSYkRVeXNsSkNaNXFEc2YxN2pYKzdDLytMNndMUlVkYXRNa3BPRFI1aUM5OStzc2NuVG1Gc3NHdkZ3bTV5Y2tLajFLS2lZa3AwclNQYzQ3Y1pIaHBJUktrUlVvMzY2THFSSzhhTldxOEQ2aUpiSTBhMndYaGFMVVQxdGJuU1JxSzJha1dLNTFiR0xmT043NzVlNndPYnBTUjJFQmlLMzRtNUNoUythQmtkcTJ6UXJQWkpPc1ZTTkhHMlVBT1JhUkRYUUZiUm1HRndZa1FwZHRKL004TE1hcVVGdDRwSSs5bDhweFhlT2VKZElPbm5ueVdzN2RlS1FtVXdQcmRIUlAwT042NWNZRVRSeDlGeEhQa2ZvQ1VrcW1KQ2ZMVWtxWURuSE8wSmxyRXNTWTFmUXBURU1lS1FiL0hqYlhMZEZqQlVTQ0V3UHB3ZjdYVUNDRncxcE9Uc2V3eUFDSWllcXhqc09UNWdMWGtlUTdFZldKYWdDS1dFVmlKeVlOTzFoaFBvOUVBU3lDeXNhTXhtYkRXWCtIbXluVXkrbU5Wd21yVXFGSGovbENuak5hb3NXMXdGS1pIMHBBa0RjaUxkWVJLK1ozZi9XKzVzWHlCeVZZOElyRmpuL0llbkJ2V1RIaWc0MSs2ZElsdXI0TXhoamlPaWFJRUlSWFdCZnVrWUFVV1NLd2Z2cXJ5cFR2ano0Y1hZeHJqeWkrcVRQaFNJZ2Fya0RMbXNVZWZRSlpqOTgzcTVOMEloK1B0cTI5eGVlRUNBOThqbXBTSXlKSFpsTUlNeVBNVTV3eHhyUEhLMHMwNjVHS0FuQlNzRlV1OGVQWUhXQXc5dXZSOWo1d01RMEhtVW5LYll6QTBkUk9KeE9PdzJtRGlncFFlaS9rdGZuVCsrK1J4aW10WWJHVG9tUzREMDBkcWdSQ0NORTF4emlHbHBMQTVoaHdSZTVaN1MxeGFmSWVDSEZjVDJSbzFhandnNm9oc2pScmJCa2RoK3N3ZG1HRjU1U2JMS3pmNHhoLzlMbXZwTGFDZ2x3Nm81QVNqRU95NHpQZkJiYVJXMDBVV0Z1WTVzUGRocEFTVXdwbFNZK3NLbEJaakd1T2dDSFpWR1ZoQzR2KzJra0V2eS9hTnd5Rzh3aU9SUW1PZFJRckZudG45ekNaN1djcTZ3OUsydXhrZXk0S1o1NjNycjdQL3lCejdadzdpVThONlp4VnBJMXF0Q1NTdzJsM0d1QndYRitqSmlOVnNrVE5YWCtPTlc2OGhsVWRhaVVBd043R1Bvd2VQY21qdlE4eE16ZEpzTm9OR2RubUJzMWZPc3R4ZnBLQW9GUjJlRjkvNkVjOGQveFNQekQ3S1pHT0tmcitIN1R1bUc0Sm0zTVI2VGFmVG9UbmJKRzRtcExMTC9Ob1NaeTYvd2VYVmQ4ako4TzlhNUxsR2pSbzE3bzZheU5hb3NVMXcwakU3UGNITlc1ZndaSHpySC80Qnk3MGJKRXBpaFNNM28vcXZVcFllL2g3Q2xQbDROUFQreWF4RWNPMzZKUTRmT0I0aXNFNWpqQ09KTkZwcklFUmdFU1lrendIZUt4Q2xKSFduUVl4cFpJY0lNZ010TmFjZlBjM2Z2bjRGUjdpbWJoY0hCQjJPZ296WExyd0tTdkQ4RTUva2tYMG5tZGs3aFNwaWNNRmNMUzBHdENhYkpOT1RYRnU4ekE5ZS96NnZ2UFV5QlRuZWVocTBPSDd3T0UrZWVJb1RENTFrWm1LV1Z0UU90bDM3Y2dweXJpeGU0a2R2L1pBM0w3MUJKKy9nSW9PVW1uL3oxMy9CRjU0elBQZjRjMHp0bmNSRUZ1M1ZNT0V1aXFMZ21xQWtLNnNMdkhuNVRWNDkrekk5MWxGYTRjd3V2Z0UxYXRUWUVWREFiMjEzSTJyVXVEL0V6TzA1eGsvKzVNL2puRUNnRVNMQ09aQkNFOXdJYk1tNFN1MGtZdXhWd2Q4V1ZYeXZ2OStKeXcyMzkzZDRIL0RDc3JaK2k5NWdsVC80K3UreTFsa2cxb0xVcm1GY2loQWVMMHBON0lZR3FMSFhlQzNSZTROQW9raG9ONlo1NXBtUFU2UWVLU0tLd3BQRUNWNk0yNEZaU28rRlVsSWd5ejNjZnUzR3ovUGRydVBtTis3MVB2anlYb3BTN0RCY2xrVW1uQStGSW9UeUZENUZKWWJYMzNnSlF3L1kxVGF5Z0NlS0kzcEZuMXNMTnluNkdkSXBJcG5nRFF4NkE1d3hwQ1lsSitYNjRqVysrOUpmODhQWFgyQzVXRUNqaVloNDd1REgrTnl6WCtEcEk4K3lMemxJdTVpQ05VazJueFBsQ1UzZjR1RHNJZlpPN3FYZkc3Q3dOSTgxRnB5Z253L29kM29JSkEyZGtPZ0dXSW5OTE5aYTRqaWltM2E1Y3ZNZHpseDZnemN2bmVIbTRFYUk3RVllYTNmM0hhaFJvOGIybzQ3STF0alZ1TmZIWURVWkwrL0EvZTVwbWx3NHBMYzRBZExMY3I5akZicUFEUVhyUlNsc0xaT21FQ205ZEludi9BL2ZaR0g5TW82Q3hEa2NCbkEwR2hIOXRNRDdRR1NESnJiYXQwQnB3WU01U0hrY0taZXZuQWRoc0E0YWtVS1ZWOVZiajFEY05uVXZBTzgxd2tzbzIzcS9FSDZMQU9wZHRyMFRocXU4UkpSMkJNSTc4RGxTQzZTQU5NODRmdlE0c1lwSmpRWnYyWGpINzNRZW03WEFPNGQ4V1JzR01nYkRtVXRudUh6cENvZjNQTXlwaHg5anovUXNzWTdvZER0Y21iL0NtWXRuV0dFUlM0RldFZFlhanVoalBQbndNNXcrOUNTUmpTaldMSkZVVEVSdEdvMFdTYXZCdGNVclJJWGkrS0dURkI4enBHbk9tOWZlSUNjbkllSHkyaVZ1L3MxTm5uem9TWjU2NUduMlRNelJqTnEwbWczbU95dGN1UEkycjU5L2xadkZkZnAwc1JpRXZKZFN5aDhreHFyQ2JSemJBcU8zNUppTXgyM2M1TUVoeXAzZHovSkJzSVVzYUNmY2tSbzE3aFUxa2EyeDYrRktIMWdod3NQUk9SZkltSGZJVFgvOGhTOWppWlVQN05CbnRzU21QKzVEVDlMeG4zMVE5a2tmQ2hkSVhJZ0dld211TEV6Z1IxOHRwUVNlbktMSVNSb1NyVDFYcmw1a2VsYnoxVy8rQnBsWkJRWjRESmtMamZRZStvTmlkSTVES1dIVjFyd2tzUTlDcWh4UWNHUHhIWmFXNTJsSEIwamlKb1VzR1BSeTJxMkV3bVREcW1NZWgvQUM3OHB6OVpVRmw5dDRyYndmSTUxalY5T1gwZHR5dTJITC9kYnJONndEaG41WjFYRUV1RExUWG5oUVhvSVBnNGx3ZkljVW5tNXZsWGhDTTlIUXBDTGlxVlBQOFBLWmdoN2RVaXhSRFM0MlhVc2ZZczdqYVdGK2ZHQ3l6UkJJc0JKVmtyR01QaGw5VnBibmVYMzVCN2R0RFpYdnNjUlpSMFRDcWFOUDhOaXhwL0c1SXJlTzl1UUV2VzRmbC9hUld0TzNLYzE5YlZaN3F4UnJscjE3RHZDWlQzeWVpOWN1WSttU01jQmpHVkR3byt2ZjUrWHJQMEFnRUtXRzJsS1U2WGNXanhzbWR3a25zZmwyWDBOWnppbVVFR05rdG15YThwVEdaQ1BDVzZVVUR1ZENIcFJRYnA2K3VOZmxBMkJjNDE2WjdHMzExUjF1c09udG12alcyQW1vaVd5Tmp3VEdvM25qZjRnRGNicS9mVHBCU1dMZDJERXEvV3A0OEJtVGt6UVNldjJVTE84anRXU1E5NWlhVHZqTjMvbXZ5WW9WQ3JlT0pZUldBK2NXNzFKZTl2MGtBQlpIenFWTDUzbjY5QUdLb2tBcGhiQXVaSndEZUlrVE5rUlBrZVUxSzIyNjRMNGZxUGVTcWliOHU5MG1XWTQyeW1XWmt1YWNvUkZIU09rb1RJN1VrbE1ubitURk15K2phQUxwN2Eyb0JqOWJ0K1E5YnZkaFlVU3dMQmFIMlpKY1NRTC9sK2lTWkFZU2QvVHdjUnBSRzI4OHRyQmtQc2M1aDQ1amhKSVV0a0I0ajQ0aXBOUTRZNWxJcGpnNDlSQlhPNWZvazQzMVhVOVdGaDZweWladkx0UWh4a2loUkpiRWFUc0pyZGg0RzBjaDJHQkpURFdZRVdWRnVITFFWbTVicVpidUYzNzQzMzB1TjZ1azd2SGdsWHNIQkdJdXkrV1dHTlBGVjkvZEhmRVZxUEdSUjAxa2E5UzRYM2dKUXBkL3lBVmUzQjZsYkxZYnJLd3RFaWN3czdmTldtY2U2L3I4NFRlK3lsTDNGbzQrbm8zNmdBOXp5alVJQ1R5dnYvNDZ6ejN4UmZLaWo1YVRJTU8wdGR6d2tOdzB4WDZiVzhET1FoVkZqNklZTHl6TzVFaXRlZnpVazB6cFdWYk1Db0owUkNZMkM1OEZlTy9ZcVM2RklZSm15dGI1a1pYVkZoRTdWNUlXaHh2R21CV0tBd2YySWIwa0wzS1UwTGdDbEl0cHExWkkvdk9BOExSVUcyY3RlWjdTYms0d3QyY2Z0enJYZ2kwWGR0aUNZZHVxUHJ6cG1vNjE4cmJQZk5nSUpDNDB6STYzWSt6NjJUS3BVcFQvVzJUUWpwZGRRbG0ydGF5RGUwQWl2VE43ZG8wYTk0YTZIOWVvOFNEd0tyelFHK1FFZ2NnYThxSkhGSHVpeEpFWDZ5aHQrTDJ2L25kY1g3NUlFbW0yZDRxNjB1TjZMbHc4VCtGempDa1EwcFVpNG5ISnhXNVUwMG1VQ3NsLzNndUUwSGlubUd6TjhQaGp6NVNwYTFWczZUN3V3N1pmZ2xEbU5hVGhCZW5ISGFlRktZazlMbXlyQkVKNFZDVEpUSWIzbmtiVUlCWXhzWStJZllJYmVDSVhvMDFFNURUU1NsemhpSFZFTTA0WWtBYXBoZkI0NmQ1emROQVAyN3I5QTZIUVpIZlhadHVTd0Jva0hoWHNMa0pRR3l0R3ZXYzdYbkQvQWQwYU5YNWNVRWRrYTlTNGI0ekpDUHg0emRnd3ZZb0lSSGJ2M0NUTEt6ZFlXNy9KSC8zeDExanFYa1hpR1JRRHFzZEtOUlg3WVNmQUJETG5XTzR0c2JLeXhOemtCTUZxQzZTU0crMnB2Q2kxc1ZXck41SGRiY0c0Wm5WOFhCNElxbFNhUE10QWVMUk9NRFpudlRQZ2s4Ly9CSC96K25lM0pqQzNXVkk0dGpmdWRnY0lnQzJ5L2U1bUl3R0F3MHFEdzVLNWdyWndSRkdFbEJMdlBEaUJ0bUYxNDFJQUFDQUFTVVJCVkJIS2FHSWRVN2djZ1VWcmhSTGhrWkhiUEZCaTRmRGEzN2tiakVXMzc3aHUyK0NxWXNWMzNrU0U3N2luSEhRS0dKWkNMdTJVZDRTRDJQMGtpd0hhMTlHc0dyc2ZkUit1VWVPK0ljY2lzbU51QmNLQ3lFRVV6TXcydVRWL2lkeXM4Y2ZmK2hvTG5jczB0RURKSE1qeGhNcEhVc29obWYzd3owSml5RGg3L2d3T1V5Ym9qTHNSU0RhY0gzRGZVY3ozRWNKdmZMbXljSU1UMVhNNnROa0xoU3ZLaUt4WHBEM0RzY01uT2I3M1VXU3ArYTEwenU5SEFzMkhDckhGQzZydzYraTFhVnZ2RGJuUFdPck1JeEtQVEFTNVRTbHNqcldoeEd5c2s1RGM1MzJRbVVpSmlpVGQvam9yM1JVc0JpdUtqZnZtTHNmZnF1M2JqQTBrdGpxSDhmWjZBZWhTU2F2Q3JJdU53RVhneWxrWThUNjh1STlsTlF2a3gzNis1MlZOQVdyc2Z0UVIyUm8xSGdCT2FLcnFVcDdnV2VzeElBb1FCVGNXRmtuekZmNzRXNzlQcDN1TE9JSitzVUpJcWFpeS9iZU94dDQ5NGV2OWdjY0ZuMVh2ZWVXVkYvbk14NzZJa0Nab0dmM1lsS3N2S3pJTXlicGpZMUdHYllRb283RkQrVVA0M1FONW50Tm9ORVBWS1JPeTZTZWIwL2hjOEtublA4M1pmLzF5S1MrUXVMR2F2MzRETWF2T1ZaUnZqUktzdGoyb09FNit4dWVPTnpkTWpERzA4cnd5bC9IYStWYzRNSE9JMmVZc0xvZEl4M2diMW9sSTRMMUZLQkhjSVNSa3hZQ3JpMWU0dW5pNVRQVHp0eC9QangrcVZQRDZNVWVBSGFSU0dWNnl6VzF5bEFVbFFsR0pVTnBZNG5CWTc3Qm12Tzl2THlPLzM2TkxMSktDN1I2UTFxanhvS2lKYkkwYTk0c3ljMy8wS0FtNldMQWxrUjNRR3l6eVQvL0hiN093ZGhuSWtOWlFsWjF0dHhPNnZXeURiZFU0cEpTbFQrZ0gxUHl5eFNpUE40NkxWODVoUlE3S1lFV3cybEpTSW55VjI3eUpjUWkzdmRQRFluZ0d3OSs5ZEFnM0lobEZVVEF6TThOZ01NQVZEaGxGekU1UGMvMzZWWjUrNGxuRXY5WkRpeTFacHFtN0hSQXBmTSs0allESk1yOWVERmQ3d0R2d3d1SEZxRDk1TEsrY2U0V25IMytXUml0QmFvWFdHdXNMVXRkSENvWFVRT3l3eG1DRXBXZld1YnI0RHF0MkJTZUwyOG16SHprVGlMSEdlU1RXbTQxa2RwdEhBVlh2R1E1YXh0dmtRQ1BMb2hFYVhkSlpqeXBOeEhUbFZUSjA4cmpYMmYxeERQMnQ3MkZaZmU1K2g1T1dBb1BaU3B4U284YXVRazFrYSt4cVNDa3h4cUJWZ3lJM1NHRlJTbFBrQlZHa05nYUtmSGpTZWo4aVlPSzI5WGZXcWQ2MjNudVVESStSd2hSWWx6STVGYU9paVBNWHp0R2FFSHpqbTE4aE4ydElDaHc1amlMNDNRSzlYbmJidnNmeFFaTFk0WEVCblVUa0ptZEFqM01YenZEVVkyM2l1SVZ3NEl6YnNoQ0JxS0tYNytKY01INWUzdnVoazhENDhlKzZmbGpjWUl2ckx6eENobHg4Z1I5R3RwMnd3MjJTSktIVDZhQlZqQk1XSEt5djlabHN6MkJrank4OCswVysrOHFmWThyRU53OUVFZVNHdTVLdFVvSEx0a2V6UEJBTHlEdzRTVVNFSjBRU1l4SU1SWWdpNHZEZVlMMEg2VkN0Q0ZGSWVtbUhmL085LzRmUFBQdFpuajMxTVpRUTlQSWVXVDVnb2pYSjJ2bzZEa00wRmRIMzY3ejg5a3Y4dTVmL0xZYUNwQmxURENEU0dpMGo4a0ZCaUhsckZIbzRiUjhUVTVDUkExSUxyRGM0NTkvRjYrbkR3WEJTWVpNc0lsRWFaUVVKaXMrZStneEg5eDRsNzJXMDIyMmNjM1FIWFpyTkpzS29VQVRGbFZYNGZJalRWNFUraGdVL3RsaS9BZmY1ZWVWRFh1Ym03OWs0S3FsSUpXSHkzdU85WnhBUFdKL3U4K2N2L0RrV1N4SW5aSG1HVXFIRThQZ01SWTBhT3hrMWthMVI0MzRoUEwzK0dqTXpNM2doS05LVWJxOUxWcXd4T2EzNXlsZi9BVm14aXJFOUhDbFZKQllvaXpkc1g5UEgwVTk3T0RTU2dqZlB2Y3F6VDMyY2ZxL0xSRHhWYnJGRmlISkhXbStOeGFxMmtENElGeVFnc2pSZWtsN3oxT05QOC9LWkYrZ1VpK1hFY1VGUlFKeEFYdkFleU93MkJ4WTlZQ0NKbWlnYkVia0k3endSRFJvNklUTUZSVG1BeXNrQmc1QWVNOGpCUWlTYnpLL2Q0a2RuZnNBZzYvUEkvaE5NSlRNa1VjeEE5bWpzanlqd1hMNTFrUisrK1gzTzNUaEhvNW1RZWtlL3YwNmtFMXdXSEd4RHdkdVlCZzJDNnRoaENES1ZVQTVaZ1FFWERHMVJXbTV2aWRyeDZQQllSRllDeWdvaU5MTk04VkQ3QUlmYis3SEMwb2dUbkRjTW1LRGRhc0ZBSXJ5ODkwRndkV2gvOS9WM0lxamVoMExSYWt5eHNkVzIzbnU4S2dlRFk5NiszbnZXNHg0RGV5WE0vRGc3OVB3ZERSUjMwQitwR2pYdWdwckkxcWh4MzNBMDJ3a3JuVnUwSnhKbTlyWllXTHhLYmpyODBiZSt5cTNWUzBBRzVFQXhmT0w0NnI4ZE1MMktBR3NMUWtvTHZQVFNEL21WWC9wMXZJMUFUQkMwcG5JVVFSb1MyUEVNb3UzRHNBakZCbFFQNGxFcWovUUVxeWhmclJWSUp6bDEvSEZPSEgyVWx5K3NvUkRrV1BDT1NHdnlmSHpTZFNzLzJlMlB4azVPVEpPbkJUWUxtdXNXRFI0Ny9qZ25IMzZVZmJOek9BZHJ2VlV1WHIzQVcrKzh5VksrZ0RVRlNkU0MySk5uQloxOGhkNzFIb3VMODh3ZnY4bXhoNDR6MlpoQ2VNSEs2aXJ6eXd1OGZlVXN0OUxyR0FvS0Nyd0kxMFlVa05CQW9UazhmWVJqQjQ4ejJacEV1aERWdTNyOUtyZVdiN0xrRmdFd3ZnaFQ5TjdkVml4aHAwRGEwS3NqSWg2ZWVaaDlyYjNNNkJtc3lrbDhqTGNGRFIvUnNBMGNDb1FzRStqOGFMa1pkMWcvTkVHNHczcVB2eXVaMWVNNit2SFBsajg3NzRhSnBGWFZ3MkNaQmxaNjhqUWZFdHhxQnFqYWg1QWZ2RWEvUm8zM0F6V1JyVkhqdnVGUTJxSWpUMkc2RkwyTVJzdnp0ZC8rQ2plWExoSXBSMkZMRXJzVmRzb3pvaUxVeXJOV0xISHhuWE04OWVqek9DeGV5STFrMFZPUzJYRkhnKzBrczNlYjN0OThnUU5qa01Nb21FQ0ltT2VmK1RTdlhuaU5SdFFrTHpMaVNOUHY1M2ZjWStVN3V0MjNUeUFwK2puZVFrekM2VU9QODh6cDUzanMySk8wNHpaYUpoUkZ3ZEg5bHNQN2puSmc3Z0N2blh1RnR4Zk80b3BRTXJiVkRCS1NQQ3RZeVZkNDRlejMrZEhaSHczMXJTMWFyTlBEWTRKc1FDZ0tYNEFRdEpOSi9BRG0xQnluSDM2TVI0K2Y0dkQrSTdRYmJZU1ZGRVhCazhlZjR0dzc1M2o5d3F0YzdsN0M0WWtST0cwcGltTDdMK0ttSkRVdGcxcGFvWWxwOE1paDQweEVrOGhNNFZJVk52SUttUXNLNHhCU2wzS1lxa2RJdks5cVpJMVVyWGRhTDd4RTRQQ3UwaEhJa0RSYUpwQTZHOTRQNjkxd0dkWUhPWTN3bGF6R0RaZVZwdDFhZ2RaaEJzTGFBdWRDb0ZXcENJZG1hV1dad29hL1Q1V1VRQWlCYzI2RHhybEdqWjJNbXNqV3FIRy9FSTdDWk16dWFYRnIvZ3JydlVXKy9aMC9aSEhwS2tvWUNqdWdpc1JXemxvYlpXYzdRR05aUVRpc3k0Q1lsMTc1RVI5LzlpZkl1NGJnbnhwUkVka3FJU284NDZvNlVUc0pZYksveWtJZlJaSUJmUERCcldLeVh0SmJ6emwxNGdsT1AvUWtiMTUvaFlnbWVkRVBXMnhsYWJYRDRHeVkwbi8wd0drKzk0a3ZjUHJJazB6RlU2emQ2cEtiSVBTTmtnWjdtM00wSC8wNHJWYUx3ZmNHM09oZVFZbVliSkFDUVZ0YlVKUnE0NEtFQkFlc3NoSmt1RVJrcERqdjBDaU1nMkpRc0pjNW5qLzFDWjUvNHVOTU5xZWdFS2lleGhVZU0zQWNQWHlNcG03UmFyVVFid3JPcmI2RndSRVJCMEs4blNqdnB4UXlSSWM5S0hSNXl5V3phb2JERHgwbm9rM2U5d2lqY0NwR1MwbWtOWm0zZUtXRDNkc3dZMHlXcy9GeStEdUlMZGNMU2wvbU82d0hRY2hiM0x3K0VHRlorVG9MVVJKY3NZa0lDN3dTZUIzVzU3N0FJNGlUQ0M4MFRtdHVMU3lGQ08wWXBKUkQrVUdOR3JzQk8rMHBWS1BHTG9LajBWUXNMRjFGeDVadmYrZWIzRmg2QjBTQmtBVVZpWlV5dkVZMnNSS29QQnkzOFNzNGVqYUM5RmhmNEhHOCtlWWJySFZXdHA3NkhlcE9kd0FCdjgwenFZUnd0NytHN1EwL0MrOUNaTlpLMnExWlB2WDhaNUJvMm8wcFFDQ2xCbDFtNVcxNW43Yi8vQ1dTQ1QyRkp1SDBzZFBNVGV5anY5eG5mYjRIbVdKdThnQjdtL3RKYU9IN2dnazl3Y25EajNMeXlFazBTWmgySmtJZ01kZ3lLejhVa2UzVEk2VkhLMmtpZ1l4MGVFeFJFdDh3OVg2Y2t3ZE84ZERzRVdLVGtDOFppbFdEeWpTeFNWaTdzVTVMdFhuaTBTZDQvT1FUeENRSVpFZ2kzT2JIVDNDR2xjUWlRdml5V0pjTmF0NlloSWNPUFV5ejBjWWF5QXVIRlJwUEJDcEJ4Uk5JM2FEcUcyRjZ2aXhuSzZyaUdTTnZnUzNYKzlGNk5kUnRoL1hTajk0WFF0MXhLVVJJcjN1M1pYVThLU1ZTYUp4enBHbEt4M1RLRm96dXhYYjVXZGVvY2Irb0k3STFhandBYnMxZnc3bytmL0tQdnM3cTJnS1JsQlN1Q3pZalRpUjU3b2I1RXFNQVI2aDBMeEI0dHA3Qy90Q2dBQXRTZ2JXaFZhdnBNbWZPdk1GelQzeDZ0TjJXQkhZSGtMa2gwU3l2OHdaTHNJM3RFNzZhTFBYRFdMaVNFYzdBd3c4L3dwRTl4N214OGc2Z2NTNHJSeDViR1l6dUhHUW1ZNGE5bkRwK21rTjdIcUsvbU5HUUxZejN1TDZqczdwT01oRWp2RUlaeWI3cC9UeHk1QVRuTHB4ak1iOEZVQ1pqZVNLUllMME5rZGZ5UER0WlJYUkFFeU5SUThPbVBYSXZqeDkvZ3RubUhsemZReXBwaUNZdDNhSVpOekdSWWFXN1FrWk9zOW5nNk1HakhHd2Y1Rkx2WW5CUDJBRUl4YVVGaG9xU0trQXdGYzl3N05najVOWWljb2hFa3loS3lLM0VXQWRLWWhCSVk0bUdmdEIzZGc2NDAzcFpkcWN3bGh6MVMrSDlVQ0JnTjcxZmxWOFp3dDNkc1VEcm9JMFZOdWhsVldIbzkvdXM1VXRVL1ZsSlJiRnA0UHBoK0ZqWHFQRitvQ2F5Tlg1TXNGWEVUR3o2ZlJ5QlJvSVp5M0QzM0RsS1drYjFoR1BvR1NSVEhEMis4NmRmNTlyQ2VhQkFTeHYyaVF0UlBjYUlyTnZZVGlsaE81TzJBWlRTV0d1Z2JLdWpBQlRuTDV6aG1TYytoaEtHSUMyb3NMRU1yUFMzKzY3S2UzajJ2ZS9pQ2ovdTZYUjdFcGlIMGo4MEhGbDVqYytnb1NiNDNHZCtrdi8xWDE1Z3FqSERhcnFJdDNhc0M3bXg1THdQdUJEQ2U1UXlWSnROdHRwTXRDWndoY1BrbG9uMkpJTkJTbjh0cFJFMW1XNVBNYitXc2pLL3dveWU1T1N4Ui9tVm45VmtMZzNFVFFwa0pPbm5mYzVmUHM4YmI3MUcxM1NSS09abTl2TE1NODl3N1BCUjhtNUJuaG9tR3hNb3Ara3U5WGppOEpNMFhCTTNzRWdqYU1rR3ltblNiazVoY3c3dU84aVZ4VXYwT2luTnBNWGMzQnhYZTVjcGh1NmxXL1NBdXdVRTcrSEN2NWVJYndGb0tjQldrZVlZQWV5SjkvRFE3QkdpUVlSRGtNUk5ZcG1RRGdZVXhpSVJlT2VJRU1NMkNVYkVMOGdHeWlZUHlhRFk4RE1FSWwyOXA4djFhbFByOWFiUGJVNFdRd2ljOXdSMVFWZ3ZmYWx0TjQ1WWhMOXBSUmwyTG1SQjEzWlk3aTBFY1pEVXlFaERWZ3pKY3RpdDJIaTUvVWhWdERubHMwYU43VVJOWkd2c2NnVDdtM0oyZktoTWM0UmtCV2N0aUxGeXE5NkhxVFl2UWRneUltb0FIZUowdnRTYmxWK040THRvTVRiSCtaekpxUVk2a2x5NGNKWm0yL0Y3WC91dnlNMHFVZ3h3M21DY1J3aVA5NUFPUmxudm8yZlBhSW83a05odFpMSmVZck9RbnkybHhwSWlsTVBaQVQ5NDZTLzVoVi80Sll5RHlUakJaQWFNb05WdWtSZWVORTFwTkdLTUd3MFlobTVHNDArMzhTaVBEOWRsYUExVXl2ckUyUG95YzJiMGtmTHp3bTkwU3hxdXQrUFJxSTFMR0QxbzNWaTcvSWpOMG93YTNMcDVuY01uRHFKUFBjdGZmL2NSYnExZFJSTGpoY0VwQjc0WXlqQ1VGd2l2OE83OU1rQWRzd3ZiVE9ER004cktpTGdZNnk4U1E0U2tNQm5lTzVvVFRYcUxHU3NySzVpZVo3YTloemlPNlhYNlJFVE1UdTNGNVRsZXdNRzVRMml0RVdsRWxoVTBKeEtpaVpnbUV5eGNYaUpmdjBKRXhKR1pveno5OExQTVRleWxaL3RNVGsrUmtKQjFNdUpERVJPTk5wMlZEb01zWjZvNVJad2s1TDBDWnp5TlJzTHE2aXBSRk5HY2JOSHRyekhJczVCWHFDU0ZIWjNKOEJwVTU3MzUvRGZEYi9yTWtFeU9EUlRmaGNoYUhEU2hid1pRbGo2STBjUWtmUHJFcDBnNmlyalFDSzhRaFNYelBaUUlzeGNPaTVJaGJpM0hyYk0ydXc3NFVjZjEzcGVPVnFQMVppem9YMWxxYmY2ODgyUDdHbHRLTDVGbDhRK2pQUWFQbGVDZFFIdUluS0NsR3RoK2prNGluQkQwR0xCT2ovaDRpeDkrNzJWU0NqSm55REl6dkl6R2hKK2QyYnFQMStTMXhrNURUV1JyN0dySW9VNXlMTEl6N25HNlFSODUvcm13dEhMeitqSWlXejRvZTcwZU16TVRVRWpTcktEYkc1QVg2MHhNUlh6bGEvOE5XYkdDY2VzNFAyN1ZKTjVsV200SFRVK3JDS3pGV2greXBBbm1xWDI3eHB0dnZjcm5QdkZ6ckMrdk1oSHZBeVJwbWhKRkVhclNCbnEzUWFxNlZmR0VPNkd5SFhyL3NUV0JxZUtvbGYyUTlCS2I1Y3hONzZXMzBnTUVYL3I4bC9rWGYvYlBVVVFZSEpoaXREc2Zwbm54bHFweTF1WkVtZnRyNjNoL0hWdDFsMTFYVFlxVUlrb1MrdW1BNVpVbEhEQTdONHRwT016QXNEcS9TbU1pUmlhYTNHUTRhVkNSWkxYYlpXbHBpYjJUaDBqVEZOL3pzT1M0ZnZNYTNmNDZEbytoWUpBTldGaTRSYnFla2E0TlNKT1VoQWFtWjJnbFRRYjlvS050eGsxY2J1aG5QZkNTS0lwd2VGcXRKcDN1R2pJZmtDUVJyWWttRGs5dUM0U1VZOG1QVzBSbHg1VWQ0NnQ5Tld0eTUrL1JaaEliNWwvOGNEazhoaXNIRUVLUytBWVN4YW5Hb3h5YVBFRERhS1JUd1NkMmVEdkNqSXdjaTlCWE14TERNUWVsM2R0N3NMYllaSm9RRXNmRzIxM3U1MDdmcStvcU9DUldXcXJLdVVObkRodVNHcVVETHkxV0dHeml1TGwrblQ0NTVvT2VYYWhSNDBOQVRXUnJmSFRoQmZoS2NSWXlma2ZwN3VFaDJXbzFXRjFib2owUk1idW56Y0xTVlFyVDVadC85UHZjWEw2S3B3K2Jpanp1SmwyWmtnSnJSNTZlMWxvVUdvL25oejk4Z2M5KzhtY3dwa0ExQmM0Smlqd25paFJheFhkT3R0cEZjQTdhelFhTG5TNnFwWG4yNmVmNHE3ODl6dm1sYzJpUlVIZ3pKa2dZZy9CSW9YRHZXMlMyUkVYdTM2VUxWVzVOUGR1bm1mYnBaMzFtbWhhTHA5TmZnMEtSeEFsN0RzNWlmVTd1Y3lLdDZKcU1TMWN2OHNOWFh1Q3RwYmRLd21vUmVMVFFwSDVRRmxCd1NDRjQrY1pMbkp0L0MrVWx4aG1hdE1QcEkyblQ1RmMvOWFzYzJmY3dPbzVEWlQydG1XeE5ndldzcnE4UnhSb2RLN3h3ckhYWDZheXVsYk1sbElUMExrVHF2WHlON3JDTjIwUnlRd0ZpTjF5T2JRaGVFc3NZYmNPay91T25INlBkYm1NNnhSMWp1dmN5WVBzd0lmekdTMktkUTBwQjRVUGZzSGhVcExsOCtTcCtKdzJvYTlSNEFOU3VCVFUrMnZBYVVPVnlmRnpuQUlPT1BGSHNNYlpIdDc5RW94bkt6bDVmdWtnc3g5Vml1eE8rdEtzUzQzUDM1WHZuMzNtYkN4ZmVabXAyQWk4dHVVMVJVZkFIMVRyR1dyL3J1YXhFa09lR1JNVkVLZ0lqK09WZitQZUlpTUU1SkJvbEU3U09RRldEbkRJdTV6K2crcXFidzNURENLVGM4SDVRUnppV2ltWE9YMzZibkp6bVRKUDFvc05LZndtakRYMjd6bEp2aVZ3T2lLZGllcmJMNjJkZjQrelNXeGd5QnF6VFo0MHVIVmI5SXFsWXgrb00wYlRvU1lGWEJWazhvRXVIQVgyNnJMSE9LdXVzc3N3eVo2Nit5Vkp2RWQvd3FFbE5yak82Wm8wZVhXeFUwQzNXYWM4MjhkcHg4ZEo1M2xtNEJJQWlHbXBBUkhrbk5sUmllemRKUWZXWnV6ekNLcUlXZkJqY2h1Vm9Jd1Zlb1p5a3dIQklIK1RRZ1lmSXNteFk4bmdVaWQxNmRtYzc0Ymg5UENtOVErQndvdFROYW9HVkRxL0FDb2NSbG11cjEyNGorelZxN0ZiVVJMYkdSeGlsRFphUHdVZGpUd1FId29Jb0tFeVhQWHZicFBrYUM0dVgrYzNmL2cwV2w2K2dzZVJ1bmVveEo0VFlmYlkxd3VGTURqaVU4TWd5TUYxTnYyWU0rUDRMZjhQa1ZBdm5jd296b05HSXlVMEJVZ2M1d2k3L0UxSXFCV2dtTFZ3QmVhL2c5SW5IK2Zoam4wQVFCam5PZUt3UklZSG1QWEN0KzJ2STJHdnNkNEVNTmtybHY4M1h1eEUzc0JpKy8vSUx2UFRXUy9SOWw5WmNnOGFlbUZUM1dmZHJpRW1QbkpLc3BBdTg5dmFydkg3dEZRd0ZrMU1UT0ozaEd3WmlBOXFGc1p3QVp4eFpQd01CcGlod3d1RzF3ell0dWM3SXhJQkNHbDY5OFRMbmJwNWwxUzdqV29aVTk1bFBiN0R1T3pUbUV2U2twT3M2WEx4K2dmT1gzOFpTQUo0azFxank3T0FPQ3BPN1hHQ3g0U1dITDE4U1ZWOU8vZDkxaVFNbndjclNIMWZ5c1dlZnB4RTE2SzUxaWFKb3d6RTNKelh1TklRY0FiZmhXZ29GdmlTeU5uSVlaVmp0cmRCaERjb3JWYVBHYmtjdExhanhFWVlzcFFVVnlnd2dVU1dJV1JvdHdmemlaWFJVOE8xLy9BMXVMRjFBQ3craUFCZEk0SGdKeU4wa0t3alBzQkJWcktTQ0VLSjhpUWdQOTFmUHZNVDgwalVhWWdha3gwcy9LbmRwUzdPRFhReFhPTnFOSnJuUHlRWTVyWmtKZW10ZGZ2YW5mcDZ6NTk5aXhTd0NIdWR5blBNSVZTYjdsRjNsZzRBb1NXeWdySlgwWmFRSnJmNTNRT1lLREpaVnU4eGYvdUF2NmF5djg4enBaOWt6dVJmaEZjbFVSTzR5cnQ2OHlCdHZ2OGJyWjEraHp3Qkx3YTFPSjJqRXg4dzZoSkpvb1hET1lZdnlCS3VFT2lVeG80YVIyZ0VTejR2bmZralByM1A2a2NmWU43T2ZxSzN4R0hxcVE4ZDF1SEQyUEsrOS9TclgxNitIOHdNRytXQ29XVldvTWxvcVE2VFp1eEZMM1J5ZGZrOFhjTlBQbTM4Zlh6cUpJa0tqbVdXV2t3K2Z4SFFOemxxU0tHWlFtUGZzSXJFZDhDSzhwQy90NUZ5NGZxSzhUVjRxREJZbkhVNkRFWTdyTjI5aENGS0RHalYrSExETEgwTTFhandnZlBrVnFHeTFnbWROSUtxaVlHRnhFZVBXK1pOLytIWFcxbThTU1V2aGV1QXRjYVRKQ2plYWd0eEVZbmVURDJNbDlaUXlPQUZZREI1QkoxdmhiMTc0Szc3MDJWK2swVTdvOWRkcE5TZXdoZDk5RWVndElJUUlyTlI3RWhVVGk0aGU1dGszczU4dmZlNm4rVmYvMzc4a3BVY0JPSEp3SHFGOTRGanZRY3Q2eiswWjhjUXlJbHdWemdqMi9TSFJDQ29pT3pCOTRyaEJubWNzRmZOODcvWHZjbVhoTWtmMkgyR2lOWWtwQ2pycjYxeS9kWVhybmVzWWNpS3RjZDRIMnpXZ0RKSU96OFhoRVdnMGtLaUV6R1VoZ21rVU5qZGxkWS93ZmNuSnVlVnVzSGgybnVzclYzbjB4Q2xtcCtjbzBweHV0OHZhMmhyWGI5M2dadmNHbGxCcHpGQU1FNjVVZVg3Qnl6WTRZRmhrSUxOM0hTbUVkWExEMWRoOE1UY3RiOXRGS0VVYkVUUE5CTTgvOFR5UmkwajdmZHBKdTV4eEdLRkt4cXIwc1Z0WnozMlljR0pqZkw1cWwvQ2dxbVF2NGJEZWtIcURrNTdNNTF4WnVJTEZVSkRYVkxiR2p3VnFJbHZqb3d1L2VWbzg2R0lEb1MxQURJSlA3RC8rSTY3Y09ndGtSTW9UbnZ3Z2xZUGlkbHVjQ2xKS3JQMkFkSlR2Rnp3b0hZb2hBR2d0eWEyajhBYUpRRXQ0OGVVWCtOSVh2a3pTYkRHLzNHRm1lZytkdEYvNjVKcTc3bjZuSTRvVWc4R0FwSmt3MFpwa3ZiUEd2bjM3ZWVmcWVYN3E4ei9EaXkrK3lFcTZSS2RZQ2huZVBqalFldkYreGJOR0JLd2lzV1dOSjBKNWltRFpQNklzSnRqRUFXQ3gybUdWeFl0UVhqWVhBODdkT3N2NVcrZUlpTXNCaVNOVTdMSVlESmtaZ0hRa2swMnk3bUI0YkYzKzg1UUVUOFRrTmtjUmhjODdEeWdRRWhVcmJEckFVQ0NFeFBpQ3R4Yk9jbTdoSEtxMHNpcGJTRXhjSGp0VWpnc0pWNkRLZjBFU0lIQWxvWlU0TEFMbjVVZ0M4QjZ3UWZ1Nm1jUnVzREtyM3BKRWFGb2t6RVF6UEhueUtmcHJmY2d0cmNZVWFab2lSVFQra1IySGNTSmRsWThPTmw2bFBsZ0lDbS9JcGNWS1Mrb01DeXlXVzd0YUoxdmp4d0kxa2EyeHExRk41M3RHUzZxZk54RkxIMHhNUTdUSENmQU9xVFhlTzR3dGNENWpjaXBHeDRJTEZ5L1FiTU5Ydi9hYjlOTWxJQU55Q2xzTXRhUnBhamJ1ZXhOMlBJa3RNZDdNUEJzdjVXcFFzZWZDelROY243L0V2aG5QNU13a1M4c0x0Sk5ac2l4amd6Q2o5SUVkdnhidnBxQWRMNFBydlE5WjE1c04zOGYzeitiOVAxaElUQWlCMWhwakROWllZdFdndDVxeVoyb2YyWHJCMy8wUC8xUCtwLy81VDFIRVpjNjN4aFJabU02Vjc0TzZJQmlMam40RkVwa2duQXFWbzRnUktHYWlPZmJ1MzRNUW5zV2xXNndORnNqSlFIbXN6VUdDdytBampVbnpvS2pWbnR5RXluSEJjc3hVTEJrRVpJUEJCb0lYWXF3MitDL2p5SDJLSDd2RFdtcXNzM2pyc0xrYjdxdWdxcVlXcHJTTkQ5RytjRDR5dExORUZVR1ZwZUozZ2luYXFrMXpva2svNjdLUUx1S3hhQVJPV0FwZkRLVVVvNlNyMGQ3dWZtMUJ4Z0tYaDM0Wk5UUkZhcEJDb3BUQ0Y0SEk3bVVQUC9IY1oyakpKb1ljcVFWS2FJUUU0OHEvSjFSL1R6eVZFYkgzNExhbzFsVjlEMkNqdThGVy9YZno1OFdtOWNQaUluNnJ6MWR0Szc4blEzL1pLdDV0ZzJJMlVmVFROU2FuWmpqem96Y3BNR1JsK2V3ZHk5QnIxTGdIMUVTMnhrY1h3dEh0clRFN093MkZJTTFTdXIwdStWcUhpU25GVjc3NkQrZ05GaWxNRjhpcElyR3dnWHZzYW9RSFlQaDVveHd4YUJZNzZUS0NoSC8zVjMvQmYvWjMvaDVacDBlenRUZEVNYU1FOTBGbDduOUljTUp2bXA2VlNLZUFHSkJNTldiNHBaLzdGZjYzUC85ZmFPcHAxczB5c1l6SlhjNERLeXNFWTRhZkREbWFjY0VDTFNIaDBOUXhQdk9wejNQaWtVY3BpZ0l2SEhHaXVQak9PZjc2eGIvaTNQeGJRWEdnSkJoUGx2VVJNZ3pPTWpNWU85YVk3clE2WG1YQ0lFRUpHV1FUNkhJd1lVdjF0R1ZZOGtLRmNnTldBRklFZWZXbTc0RVhnVm81Yjh2ZFcyU1ppQldqc2VXSDVpYm5PSDNzTVQ3LzlCY1pkSEpVcEVCWjNybDJrVE52bitISzBtVnliOHVJN2NpaDRVNWZPNGtzVzhxRzBVOUZZb1VtRlBVWVNvSlZXZnFnd2JGOUQ3TzN0UmVmT256aGlkQjRMOHBCbGl6UEtYd25ndmV4MnpFRXNLU3VWTFhxUkZsMEJJS2ppQkdld2p0RUsrWm1aNEcxZkowQ2g2V2c4TVZPT1kwYU5SNElDdml0N1c1RWpScjNoNWg5ZXg3aDg1Ly9hWlNJY05ZalJJUVFBbWM5U28ybUprZlB0aEJHRW1WSjJqalJySGVYaUJPWW1JeFk3eTJTRjJ2ODRUZCtsMnNMYjJOY0QwZEtSV0tIQWJRZmd5ZkFXSEJ1NCtrTUNVK3c0WnBvdEhqbjZqczgvK3dubVpxY1JUaU55U0ZTR3IrSnpXeFZuT3B1djI4dUtIQ243ZS9FR2NVRFJHVERhVHE4OFBoaDZLd3M5RkR1TzlLYXVibTlMTjZjNThiS1pSUVNXM3F5R3ZPQThkaHlGQ0dpa2tSNmlOR0lVcm41eU53cGZ1bW5mNVdqKzQvUjFKTUlxNGhFVEZNM21aNmM1ZWlSdzl4Y21xYzc2T01LRDE0Z2tDUlJRclBSSkM4S2xCQUlLUkNpeXVZYVg0N0lyZk5CZ0JERUJ3WWpURERQRndaWHZvekw4Y0l5YmtNbHZDaUxrb3g4RlFTbGl3ZUNTRVFJSkxva3M1cUlBNjBEZk95SmovSHh4ejlKa2paUnFhWVZ0NWlaM01QVXhEVHQ5aVJZV09tczRvYjlTN0RaOTFUZ0dhL2s1VGNUMmJKankwZ2dyY0xia0ZpbTBRZ3ZTV2h3c3Ywb3o1NTRoZ016KzBPWjNTSzBHVnZxMjRYY01Ob1Q1WEdWQjhTZHkySGNxZC9lM3YvdnZ2NXUvZDhMZ1JNcXpBN2dTOXV0WUw5RjJhZWRnbFRtaUFuRlc5ZmU1dkxhRmJyMHlNbkgrbnlOR3JzYnU5czdwMGFOQjRKRGFZZU9QSVhwMHUwdmtUUWMzL3pqcjNCMS9oeUpoaW9TSzhSdHM4QS9OcWcwbVdKb1J5YUhLendPNXpNOEtkLzcyMzlMcXhXVFpqMmlXSkJsMmQxMnUrUGhoTU1MaDVjR1A2d0dKd0k1Y3hwbEk0VFJSQzdobDMvMlYya3lpU2RvU1oyeHcwSEFnOEs3VVlSUHl4aUpaRWJ2NWZtblA4bkRCNC9qQnBMQmFzNTBQTXQwUEV1Nmt1TjdjR3p1QkwvNnBmK0FBNDJIU0dpUzBDQW1DV1lhQTBqUUtLK1FMcnlVVXlnYmxlY1ZnVWxJb3NZbzBVc0NXb0lXcUVUVG1HaUNncWdaSTFVcE1YQVNuRVE0aGZZTkdSWlBOQUFBSUFCSlJFRlVJdDhnb2tYc0cwUStSdm1vZk9tU01NSUViV0lTSWhMbXhENCsrOVRuK05SalA4R0IrQ0N5cTVpT1o1bGdpc0ZTaXNvMHB3NC95cE1ubm1TdU1ZZENJYXR5MFp1RUpIZjhLbTdTd25yanc4QVd4VlF5UlV5alRQRktPSDMwRkFkbUQ2Q05ndHpUVUFrS1JaRVZXeVl6RHZ1SnFLYng3K3VXZjJDUXZ0UmFsNUZqb2FEQTRqVmN1WFdGRHV0WWZEaVA5NnNEMTZpeHphaWxCVFUrdWhDZXdnellNOWZtNXEzTHJIY1grVWZmK1RvTFM1ZlJ3cEtaUHNQRUxoa3Nxc1loaGNiNjNaM3NORFNqSDh1Vkh5N0s2ZWZVOUFETmk2Kzh3SmUvOE10TVJBZVFYdUErdUJxekh4cXNDaFBvMGprUXFpUUJWU2E4UUJTT1NDWE1UZS9uNy96eWY4Uy8rTE4vaHBLYW5qTWtPcUU3UG4xL1B4QUU1bEZlNzhvWDllRGNmaDQvOFRqOWxaVHA1aXlSYUdCemkvZVd1WWxER0p2U1gxcG5mL3dRaDF0SE1ldVdobXJRdDEweStqUmNJR1RoUENxTU01Y3lzYXJ3ZUtzQWo0NDB1Y2t4TnNjV0Rwc053RXVVaklobFFtWnlZcEtRRU9ZOU1RbVZFNndkK3JkV0dvbEsyV3BwTVFGbDdQNUFmSkE1ZFlDNEU5UHI5dG5UM0VjamFtSW82S1U5VUpDMG0reWQyTXVodVVNc1hsM0E0NUVJTm9oWTNxTytVeW1KTFJ3S0dmNFZDb0ZEb1hsa3owbU9IenhPNGlQU1hvWTJpbGE3VFRiSWNJVkJKVTJjZjJBVjlBZUswVGN3eUI2cXJsVEpMTHdVT0FmZHdUcExmalVrTEFySEJuRjdqUnE3SERXUnJmRVJocVBSbE13dlhFRkhsbTkvNTV0Y1g3eUlGaFloQ3lnVHU2ckF6Q2dhS3plOWR2YkQ3dTZvcHRMRnB2ZEd4ckxoWVdsWTZTN3l3ZysreDg5KzhkL0hwZ1hOVnB1aTJNVlIyVElpQytDRUdrMVArVURPbEFlcEV3YjlEcTdJK2VUSFBzMlZXeGY1ZjMvNGZ4TVJZWXpacU0yODUrTnoyNXhZNFF3eENWUHRXYVpiTTZTNUkvWUpKdlYwVnJwNExETXpreVJ4RTJzTjdjWWt2L2JGWDhjSmgvVTVuZDRhS3BJa0RVMXYwRVVwRld5YVBPRmd2anFveEFrd0xpTXpLU0x5ZU9XNE5uK1ZNMis5d2MyRjYzanZPWGIwRVo1Ky9DbG1KMmV3QThkRU5JbHltblE5SlZJeERkWEFpNkExdHRJRU53ZmhxRW84Q3cvQ1NKUUpVL2xOMldaU1Q5SldrelQyTkZpK3RjcEt2b0tJb04xczQ1VEI5ZzB4RFU0Y09jbHJWMThySlF1U3l2TjRvOVkzNkZpM3pMNHYvYktVMEdpdmtXaHlWeUJSSEc0ZDRma25QOFprY3hyYktTQzFSSEV6ZEh2blMwZU9EYnZac1dWcGg4MFNRVjR3UHJ4MFdJdzNYTHQ1bll3Y2k4TkpQK3A3anZjMElLaFJZeWVqSnJJMVB0S1lYN2d4OUlsZFhWc2dsb3JjZGNGbXhMR2tNRzRMVFd5d1JuSS9WZytBY1VZMVJoaktWZDZDbytEVjExN2s2Vk9mWW03bWtSQ20zc1VJQkN3UUlDVkNVcytRclBpZ2pkUmVZREpEcEFScGI4QlBmdmFMWExqMEpuM1Q0ZnJxdFFkdmhHTG9ZS2JLU2dzQ1NTTnFVR1FGU2pUSnVqbGFORGkwN3pEQ2VRYnBPdGtnSjRvYnJOL3NNSkZNb1dOTjdsSW0ycFBvUkNLMFl5YWVEb1VyUkJWbEZxVnZza1M0OEh1c0k2d3p5QmdLY3R5eTRGSjZqWWhWd0RFbjluRmk2aVJ6TXdjd1VjR2tua1FaVFc0emtxUkphb3BRL2xRWXJMU0J6RW83dks0YWdVc2RTaXNpRzZNeWplMTVCaTdGUjRyWjVqNTZkQkdSUnlXU0FRUDZSUTl2SWRiSlVQQUNXOGYrQTQyOU02eTFRVVlnRXB3UHhtSlRUUFA0eVNmWVAzc0FrWHFFZ1NScUVFbE5Qa2dSWHRKc05zbU53ZXVkM2NmOUZnUmJsQlp4RU03ZmVjT2xHNWNZbHVtdENrN3M3Rk9yVWVNOW95YXlOWFk1L0ZBUEZqRCthQ3NyZHduS3lJMmxNbkozVW9MTXNMN0RkLzc3cjNObC9oeFFFTW5LUzlZaHBRNzZ4VEVJMUJpbjNjMlIyQUJmVGcxdlBLZXh5ZWlRRTRjczZ3WXNyaTV4OXVLYnpIMzZLS250aGVLcGZpeDBXMzF1aXlQZEpsNGtQSVNyajkvMlFMN3ZzN296cEI5RjF0MVFSakRlZDlTR3ZtU01aWFpxbW9IcGtYZjdOTnBUL09mLzhYL0pQL3ZuLzRTSVpSeFptWkMweVI3cURsazlHNUtUeWk2SkR4cFpJY01VdjhDanRLQ2ZEbWlMRmxJcFhPN3BydzlDVmpxQ1NHakFNVG5kWm1GOW5xVmJpemdzU1ZNektQcmtlVXFqbFdCTVBrWmtaYWwvRnNHZHdjdFFmdGNXNkdhRTE1NnJWeSt6dEw0VXZISlJYTDE2bFdzUFhhTzMxbWQ5dVV0THRZbXN4cVNXaVlrSjBpTEhTaDhTd3BUQmlaTE1pcEZXczZHYXlFd2lDc0ZzWXk4SFpnNFNFWk4xQnRDRFdFVlliMWhmWGFkUGoyZzJJbElSK1NBcnI1Y2NMb2UyQStVMWxlUGZkYllnYUdVR1A5NmprTVRFUEg3b2NVN3NQNEhvQ1d4dVVVaGFqUWJlV3ZxREFjMW1rMGFTTUZqUGtDb01hQ290N0h1Snl0NkxidmJCSExBY2dtQ3BKaDFJRis2cngyTUZXR0hJUlVZcU1tNXhvM1FpS1R0ZDJkVnIxUGh4UUUxa2EreHVlQXUrQ0pFbVgwNC9lb1YzQXU4VWVJbVVEdXR5Q3BQU2JHbDBCSmV2bkdkcVJ2RzFiL3dHM2Y0OG5oN2d5SjFIYTRsemtrRjZ1LzQxS1AwMms1L2RpVEhISnhnV3JDeUpiTVU3UFRndmNGNFRxemJMZVlmLy9TLytENTc5ekNkSktKZ1VrN2pVWTV5bDFXcWh0V1psYlJWbkxIUDc5OUh0cmdPbE80QVB0dnpCTDlQaEszTGlTdVpSTWN4eXVZRTArTnZYaDladTlPR3NsbHVSaWMwWjRNcEp2QnZwZzczemVHL0tsb1hxVlVxSHFmbFlOM0E1eUlGbkltcnhpei94ZC9tTDcvNHIzdTYvVGxORHovU0MrWCtTa09YQm4xWEVBdi8vcy9kbVQ1TmM1NW5mN3owbmw2cHY3MFkzbGdZYWFBQk5nQXNXa2hLMVV0SklaTXpJWThzUmloamZPaHpobTdueEgrQWJYOWllbUxBMGR0aVc1OVlYRStGd0tCd09lMlljSTJ2R0hJNm9JU1dSRUVtQUFBRUNhRFI2My90YnF5cVhzL2ppWkdabDFWZGZOOUFBMmZpNno5TlJuVlYxY2ptNWZKVlBQdWQ5bjdmMis0aFhHQ2dQbHZXbVZxaFU0MnlCczRaY2NtcGY4OEdGOS9ueVM3L0MwbkNEeXRkb1NjaXpIT1VjVlRIRytScHl3MloyZ3ovOXEzL0doVnNYU05BaHNRZExUazdKcER0MDAxam9GcW81ZXRQck9Jd3l6eDY0aWR2bC8venIvNk5aUWpvaTN2NnZtZ2U3Y0daTlE1YW0zcVlLelpBQkhrOUN4dFBwMC96bXIvNDJUejEya3JxcVdhMkVaYlZFTnN6UW9yR2xRVHVoS0NaY3VucWwxOWQyVytIS21UNFl0R3pNVGtsc245dldrS2tFakNVajVYVCtQQytmZklrbjlPUFVveHJ0QkJHb3FpckUvUzduR0cvWkxmYlFhUmlLOEQ1d1B0OTdBcHBlaXI2bjR2ZWVrQmFobmJlWnowbHZuUXZhdTVQWG5yKzU2OS9oS2VzeHk4TWxiR253dFdKNWFZM1NqTm1kYk9QV1BYVmU4dG9iMzZOa0Y0TkZwZExVZkVsSWtoVGpTZzd6YjFoRUJFUWlHL0ZBWWY4UDhtUXlZWDFqR2VzS2pLMG95b0pxYjVlVlZjMS84NC8rUzBhVEcxUm1tM1k0dlMwcmUrZlNzZy9LRDc4NlVJa0ZncENGNEwwbTFVTXFhL0VJdFpSODc0ZC95VGQvL2U4eXZyWEhrZUV4akRHTTkwYWtlY2JLMG5MM2VSYXo1SDlLWnZjclU1OTJOdmcrVzZPT2ZDUTlCZFkzNzMwM05HNk1RV3hZMmxzQkVsYVgxbmp4bVpmeENGdmZ2c2sxY3dsTmdrWlRsUldpRmZsS1JqRXFaamZzQTEzVUhmbHExRWJYRXBObWlONTdybTVmNXNmdi9DMWZlMm1GcGNFalNHM1lLVGJSRGdhNVFvbXc0N2Q1N2IyLzV2emVCMHlZa09xVTJvYmtSSmZVWFRHRWcrR2IrTjcyZk96WDBkV0MrRlBmbTE4M2FWUXRmWFV6NUZpUm9QRk5OYktVbXF2MUZkNjkvak9TVmNVVHg1N0EzNjdaTFhhb2R5dklQVWRQSE1YbE5lKytlNU1QTHIySERWR2RjdzlkUXRDbHBidG1sTktRRWNyZzJxNmphQVhXR0ZJeVR1Z24rZnlwRjNoODVYR3lLc01VQnBYTXhyaTNJYVB6bEY5NkF3cDN1alRGMzdsOTV0aDYrQ1F1ekFMa1dZSXpGY29ya2lTak1vWnhWZU5UalJyQXBjM0xiTnN0REFWV2g3L25zQlBDSWM5VGpZam9FSDFrSXc0eE1vNGZlWTZ2LytZM1VaTGdyRUlrK0hBNkd6S1dzMXl6dlgwYm5UalcxZ2VNeHB0WU4rRy8rK1AvbWtzM3psS2JIYnlmRmpwb0xYZnVUR1FmRk13NzVQdlpwaDZHd3lXcXVvWkdUYngwK1JKZisvTFh5TzJBcFh3RjV4MWxWYUtVSmsxVEhCNWp6ZFF5cWM4RTJ0dXBielBwOXJ2QjN1M3pSOW16dTMrKyszaHgrMkRUVHVzNlhDdDVuck8wbGpOY3o3aDQ4U0tWcThna3crR3czbU9Nb2JNaG1NRlU4M1FOaWZUYWgxRUZnU1JYR0dNd09MWTJkM25rK0tNTWwwUGxLNmNza2x1eUZXRlViM0gyNXZ0OCs4ZmY0dGI0VnJBRlN4T01OVUVOVlNwVTRZSURYKzMycDVmQm9ybGE0dHI3cmpkL1MzNW5TR3huSnV1RDRPNGRyY2RzUlFnaFNMUm1kVzBWNXh6WmNvSmJzb3pWbU0zcUZqODUreVkvZU90dnVHR3VZNml3MUpqR3h0L2hRZG9Rb2Q0VnF5M09Oa1BtemZiRmdySWhuT0JSOVNoZmZ1RXJ2SER5OHd6MEVEdXhZVmRrWmkxM3VWNE8vbnl2eTgxditlUDR5QXFRcFJwVEdETEpTSk9Fc3Fvb2ZZa3NhK3E4NWtkbmY4eFZlNVdDR29mQmV0YzhCT2ltNE1PK0JJQ0lpRU9IU0dRakRqSHlRR1IvNDVzb3lYQ09VQkFCd1RtRDFvSlNZTjBFVklteEk5TE04WS8rOFgvRnhldG5TTVEweFE0YWhla2pxYkVQRXZwRVZwaFJaRnN5ME43b215RlBEeWpSak1zUmo2NGY1L21uUG9meUNtTXRPa25KMHBTeXJxbnJtaXpMOE00djJBN1R1TnJQT0pGVlNnV3lsV1drYVhBcUtNc3lKTkU0dzZNbmpyTnhkSU1yNTY2d1o4ZGtwQ2dsR0djaDZjbHovUTVJb0pHZXhzdFROWVJDUUtjZVowT0Jnb2t0ZVBQTTIyeHVidUsxcDFJRm8zcWI4OWZQOHQyLy9YZjgrUnQveGxhNWlaVUtwUlNTZ0RVV3hDSktoZkFEQ0l4dTRkVE45WXNGcDhyUGZwNDdrRzJNNm40U0cxNXRPSWtXM1RrOEZMNWdiMmVYdldJWGxZSmVFa2F5eDlYZFM3eC85VDNlT1BNNmx5ZVhTRlBOeEkweDJCQ0gzQWJkemhCbEI5bzExMW5USnhGU241SllUVWJHRVk3eXl2TmY1dlBQZko0VnZjSmt0OFJYamtHZTk4amNMQTREa1FWSVJHRXJTNm96RUdGY1R0QkxDV2JvdWJ4N2xUZHZ2c1V1WTJwcURFMUloQkJLOVByZXcwbEV4Q0ZHREMySU9OendTWmVKM1FYbVNVc01MSk55bDZQSFZyaDU2eEk3MjlmNG4vL2tqN2wyNHp5YUN1TUwyaC94bHNUMnNlaTdodzFLZ3pWUW01TGhZSVZKVWVJYW45WHZmUGZidlBMTUwzRjhOU1BKVStyS1lqMTQ3M3JIcmgyNkZicENDLzBicDk4L25QMVpnbS9VMVRSTnlSdmlVNVlsV211UWxHSTg1cXRmK2hyVnFPTC8vb3QvanFGa3FGY1JFU2IxYUVxOGdDYURxbGx2dTRYWjVMQ3k5dUZYdVhaWVh6SlFLVzlmZkoyM0xyelJ4VENuQ0prQTJtQnNGUTZ0T0tvNkpQNmdhU3l3bXZVZk5PM2pJTWx2MFpUcGZyUmhCek1rZGo3WnlvUFZOZFpZeEFzZXk3WHFLcmZPWHVlTnN6OGlKMlBTa0MyRnBxVEVZaG5YRGo5UHJ1ZTdPRkFoSWJNSzJ4RVBtYzhRS3lRa3JMTEdGNTc2RWk4KytTSnI2UVpteitBcmg4amh2L1dKRjN6bHlGV0tGc1hFbE5qRW9sY0c3TGxkM3I5NmxoMG1qWmJkbkxJbWhrZnRDd09KaURpOE9QeC96UkVQTWZwZXJ1MmRyaUZOVW9Gb0JrUGh4czN6WkFQUFAvMmpmOEtsRys4alZHamx3SlZvSGU3OEQ1Y1NleGNza29XOFEya1BXS3d2V1ZsYTQ5cldSVjU3L1FmODVpLzlIUjQvL2ppN28xMjhFZGJXTmhBbjdPN3VNY2lHVEpsTnkrSSsyK1MxajFhNXF1c2FwUlRXV2tRa0tLQ1NNcEFsZG0rTStPTHBWMGlTakQvL3QzL0dabjJMa0JxVjRsM2RLSzRzRXFiM2h5WjNRWitBZHhSdWp6QndscERxRkZHZXZicEF2TVhiYVhVbTcyY0pzY1hPNWlRZVJFcDdpV2o3MU5sRjAzM29wZHNkdEx3R2E2WTdxcFZnWFVpcXE1aXcxeVdhT2JKQmhuY0dhenpaTUtHYUxBams3S25jM3JodUg1VVNFcHVBcGFuYmxmSzFaNy9HMDhkUHNaRWZ4VThjWWhRcnd3SGlOVVZSa0h6RzdiWHVCUEhnSzB1V3BEanZxWDJOSHdpbHJyaXlkWjF6NDh0TlFJSERxNTdqUS9Pd3I3cmpIaEZ4dUJHSmJNUURnSGFZMm9FMHFwVFVJSWJibTFjeGJzUS8vcU0vNHRibUpSSlZZOXdZNDJyeVBLV3U3WUVrTmhMYm5uSW9VSllqdEJhc3JiR3V3T1A1bTllK3k0bkhubUp0WTdVWjRvVnBvR0s3a2laT3RwZDE3UStJVGZ3c1FtdU5pR0NNb2FwQ0FsVWd0WWExMVNOc1g5cG03ZGdhdi9iVnIxTlhsbTk5OTE5ejI5MGtKYVhHQmNXd1ZXTVhETTA3R3diZFViNUxlQmNWRHBkb0FobkdVa3V3aFVQYkdYVnRacDJkeVgyajdON3BFTSszOWRkMTBCajQvUFJPNkpQbGxpODZxRlVvK1d5dFJ5ZGdQZVM1UmlSaFVsVGRzaDJKblJzQkQ2dFZRWFh1UFFRb0Z5ekZNbktPY1l4VFIwL3g0cE9mWnkxZEo2OVRiT0VRMXp5RWRPbGpoNWZJUW5DRlVGNVJtQktuSFdvcDRkcmtKaC9lUE04VzIxUk5kTEhISWtrSXhRYVErVEtGRVJHSEdKSElSandBYU85eXpRQ2EySWJJZWxSUzgwLy94LytCQzlmZUJVclN4SUNyRzdKcm14aTVLVVFFRWRuMy9ZT1AzdjcyQ0UzTFBkTlVxR3ZIY0pBem1aUk1pbDJHZXAwYjVSWE9uSCtYazZlZVpHUDFLTDVTVEtvUldNVmdrTStOWUxjc3F4ZHU4QmtuczJWWjRyMG5TUktVQ29sWVNpbVNKUHgwYnQvYzVzU2pKeGxYSS9adVR2aWxWNzVHbnVmODIrLzlHeTZQTDVJU0ROdHNlODMxM2YwZGFKZVFrZ0tPVEZLTUM5V1h4Q3RxWDZOVmdoVVRyc2Z1dW0zVzBiak5pVktkMzdIV0NkYWFwbG5qL0YzeTR2dUh2MCtNKzZSMkFZbnQyM0MxcmdJTGwybmZLNUFVZkFYT2hkaGhsWUoxN1hHMjZHdzZmNVlxNnRJMWdyUHF0aWJOUVJRVXh0ZDRiYkhHZzRQVUp5U2s1S1NjZnZRMHYvcnlyekcwU3d6STBTN0J1QkM3WFpvQ3JUVlpsaDM2djNPdFV5eU8wbGF3SkRDRUc5dTN1RHk2M0tUSW1aQmU2RDFhYTR5eFhjaDdSTVNEZ3Bqc0ZYR0lrYksrL0JTLy9WdS9SejdRRElZWnR6ZXZVWnVDSTBlWHVIajVESC8weC84dG05dFhxZTBJcUhCdWdrNGEybXNYLzZJL1BFcHNueFhOSlgzTUtYTHQvZDZZS1RHeTNwRXk1SVBMWjNuMjZXYzV1ckdCRW9XSVlwQU5xSW9LSmExSHJIVEpKU0VCcUkxTlhyaTVuMHV5Vjk5bkZ1L3hmdGJiZHVGNm1qQUM1MXl3NG1waWY2MjFpQk5TbmFNa3hYdHcxcElrQ1k4Y2U0U1YxUlZzVWJPM3U0UER0U2x1ZU8vUkdyeURwU1Fuc1JrWkF3WXNrZmtjVDBJSWNvVmNsakMyRHI2a0xWUHNkN01kRjI3YlBTSGNvSUczZDdtT2ZiRFB5bFRXclRkTmt5NXVNc2sxem5pU1BQUW5GSVNhK3VCT1BYRnBDS2FmbWxQMEw2ZFcvRFM5ejM3NmtKU2t6ZTVVWVZBbFJaSGFCSVVpSldkVjFrbEkwU1Nzc1lGR1NFbkpTREd1UnVuZ1RwQ1Nzc3dxdi96VTEzanAyWmRaVSt0b2s2QnFoZFNnbkNiUkdxWGFMcmlaNDltL1BxVDMzZlI2OGZzK3p4eE83NXY5OGpQZkxWcXVlODB0TDNQTDkxWG9tZXVYTnJUQW9WTmhURVdWR3JiVkxtOWZlb2Z6MVNVOG5vS2lHYW55dU43dlhadmYrTEQ4MGtVODJJaUtiTVNoeHRGSFZwZ1VXNHpHanVFd1o3aVVzSEZraVhQbnp2QW4vOHMvWVh2M09wWFpCV29nREdtS2dOWmdMWWRCRlB3NVl1cjNPWjAyM3kwWUJ1L1FxYldXaWpIcmcrUDhxMy85ejNueXlTZFlHeHdsRWRnYjc1SHA3SUUvdHM3NjRIWHFITjZDMU1MUzZnb3ZQdk1pS3lzclpLK2x2SFh1SjFRSWlXaDBMdXdWTzhGSnR0SThucHpnaGFlL3dPblRwMW5kT0VKbEt5NWV1OHpyUC9raDU3Yy9KQ2RydkZUcmpxK0c4SVBnUlRzdFVYQnZVQWplK2M0UE5pWEZPQVBlWTRydzBHSXJDMWFSa0RETWhwaktZTEVrNkttRkYrQWJDaHppZFYzbzU3d2poRzhEQTJpdU1ZVXRMUXJJSlEzazJDczBpcHlVVThlZTQzT25udWZ4UjUrZ0xnMDNMbC9ud3cvUGMyTnlqVEZqRXBkaHE1cUVsQ2Z5RTN6aDVKZjQzR012Y0hUd0NMbk53QXJhSmFINGhiYzRDVjFTY3ZqVG5MeEF0cFNINGcwckdsbXlYTGh4a1V1N2w2Z3BLYW5vcWhuTy9UMzNuSk1qSWc0OW9pSWJjWWlSTXN3MitJUC82RDlHS2NkZ0tLeXM1bnozZTkvbWYvL1RmOGJGeXg5UXVUMDhGU0d0dVUxWU9yajR6c09IZVNhLzRNQWNTUGFGVUZEVnN6M2VJcFdVcjd6NkZTYTdFN0N3bEMvaGJKL0w5Qlhmb0ltMXZyMi9DRVYyLytjNWVlcGpiMFBRa3FBbFJGeDZaekhXNHB3bnpUS09ySy96ek1sbkdDUkRibDYrUlVrTkJvNHVINmVxYTVaWTRSOTg0ei9ocTEvOFpVNCs5aXk1R3JLU0hlR3hSMDZ3dnJTT0d6bTJSN2NRZkVNemRWTmlJQ1BReXJRam9LSHQ0NzAwU2ZjdmxCY1FsQk1jTHF4UmFaUm92QVBkL012VmdOcFpOTG9KaWZEZCtnUkJkeXF0N3ZxbVovNnByc2VLaE56blRWcGN4aklyVFovU1lKbDE4bFYrN2VWZjVjVFJwemkyOGloSEJrZlp5Tlk1dm5xY3JNalluR3gyQlNaT1pDZDQ1ZlNYK2VMVFgrVG8wakdTV3FPTVJsdUZkbTBCQ285dkpXTnBMK3ZGVjlhblpiOTF0M1l2ZDI2L1k2NmRnTTR5ZHNvOTFKcG1WKzN4bzdNLzVJcTlTdDM4Mi84ZzBWdmh4LzJqaW9qNGpDSXFzaEdIR0FaVVNWRnRNaW5IbERWY3ZiN0RkLy9xLytQZHM2K1RLbW15RzRJNXZZaG5YMGhjSkxSM3g0SEh5SkVQTkVXeHh6QmQ1bTkrOE8vNThpdGY0ZFJqenpQYXF0RmFZU1NVREo1TkFIdUFjcVVsU0YxSmtxQ1NKWXA2VERVcWtOS2hCNXBsdmNidi9NbzNlT3F4cC9uV3QvOE5sMFlYMkJ0TldHV2R2L2YxLzRBbmp6M05XbllVVndybHRrTjB5dHFSZFo1OTRnWEVDeDllZng4TkdFeVhaZTdhOEFNSVNXS2ZBQ3NzNDNDTUdXRXhEZTBNTVFCNWtqT3BKZzBCVFJBVVpWMlNrbmJCQmVFR01vMTdYblJXUFE1cERKLzJoK0VHV2k0TmdYVjROQWxQcjUzaUs1LzdKVTRjZlp6TlcxdHMzZDRpa1lSQk51VDVFOGNZbUNIWGJsOEhQSTh1UGNvTHo3N0F5Y2VmWnNneVpxL0dWNkhYMGwxN0xicDRqT2I4cWYxczhwREFBWHZGQ0ZsT0dia3g1MjZkNDFvVmlraDRaZWFlVDFYdmVYUy9RaHNSY1pnUmlXekVJWVpqYlQzbjV1MExuRHAxaXZQblArUi8rcFAvbm5NWHp3S1cyb1hBUENYU1dCUVJmOEQzWVo3WnE3bTIrUVN0M2xRY1pia0hvcGpVRG92bFgvdy8veGYvOEQvN0wwZ3pUZVVLUUlNb2xCZDg2enJhcUVSZUhOS1ZhejJNY0JoanFiMlFKSW9zeTlCNm1hUlVXREVrYU1iakVXalA2Uk9mWStQdkgrSDFuN3pPOTk3NUxqa1pYM3ptWlZJN29CN1hvUXd3T1VLS0xSUkR2Y296ano3SDc3MzhEWXdxY0ZJMlZjTVVuZ1Fod1FraEFld09nK1IzU21ZU0Q2UFJDS1VVTlJXaWhkSVhYTHgya1Z1N3Q2Z3J3OUdsUjNqdXVlZllXTjVndkRkQjI0UXN5VkJXZzNNb0JmM3MvNmtBcUxydGV3bkphMkVhZUdNNzlVckFPcFJQMFY3aFNrZEt6ak9QbitUeDlSUHMzUmlSK3dIcnkrdDRDMFZSNEpSbmZiREc2VWRPODZRL3djbG5UL0xrWXljUkoxUzdKY29wVXBVMnowNHVIQ2RDS015REJDOHdOaFZMeDVhNWRPc1M3MXg4bHdsakVFdnQvTlFwdzA4ZmV3S05WOEhkQlI3eTBLcUlCd1h4TW80NHhFaUFuUFpuZW5WNW1kM1JGbW1pR1E1emRuYTNrYmFLMG9KaUI2MHZhRVFmQjBWY3poTlpRdXlkZ213cG85cDFDRG1yc3NIdi81MC80QSsrK1lmczNCeVRzWVQ0Qk9WVlNJZ1NqL01leERYSjdHMnM1Mnd5aTVyN1Zlb253UnlVbUhYSDVlZmFBK0ZxcmdzNW1Pek5KKzdzMjc1MU9CTStKMG1DMWsxMU9IRkI3Rk9lemMxYjZGUXhXQnBRbTVLZnZmY2VOMjlkNTlVdnZzSlRSNS9BbHA2cUJ1YzF6a3FJUDgwaFd4Skc5VTJzRkRpcUVDdnJOUjROUGd0NzVhczc5djl1V2ZsYUZHbWVvbE9GVHh3M3RtN3dnOWUveitzLytURWxKYzg5K1J4Zis5clhlUEtKcHloMlNzUUl5OWtLdG5ZVTR3bURiRllMRVQrMVpWQ2UzdDlYMzlTMjZWdmo0bUN0eFJzaFFaTzRCTzBTZk9IeHRTVlRBNVlIUXdhREphcGl3bVF5SVUxVFJJVHQzUjJzY3F5dnI2TzFaclE3aHRxek1seENvUmp2amNqVGRKclk1TnRZWGh1c3U3ekM5UlRabWV0bjdwelBYMy96MTFmNy9mNWtyZG5yUjgyMU8rR083VzNmRmZ1dlB5c3dvb1oxeFE4LytENnZiWDZmZ2drMnF4a1oxemxqaUFkTkFvM3BtQVZRbGs2WmpRd2c0cEFqS3JJUmh4aU9MRldrU2Nab01tSnZ0RW1XYXFxNm9ONGRNeGhrRkVVeHQ0d0tjWmxlTlRmNS9UZllDTmhQYUZ2dnFMNkhWTGhaVmtWRk1zaXhoVUdVNDd2Zit3NWZldTVsanEwOTBUQ0E5amcvZUhkTXBSU1NlcngxR0ZQaGJmT0ExRlFFODFqV2w0Nnd1cjdLNXZZMjlhVGtoV2Urd0hOUFBzL2E4Z3A3ZTN0b3ljaXpOWkpzZ0xPS1VURmhNdGxsZDdMSDBxb09acktkcHFaeFBxV3RadGNXaUQwSTdpN1hkbGxNTUtYQmlZUEVNOTRkVSszVmpUdUJZbjExZzRFYWtyaVVyQW1qRUt0SXZHSXBYVUozNTdSUlpGRk4rSFBvbTIxVjBGYUc3ZmZOaC81cHNZaE8wSzZKclpXVTRYSktyb2NVb3dMeGlxMWJXOWk2WWpnY2tpYzV6aGtlV1R1S2N4NWZDbFZWb1l3aVRSSVVDYjZ4SUhPRXhDNmdjMk40VUV4Sm5IalNZY1o3bHovZ3d1WWxISTZhaXJyMjNaOW9VNDhDVFZCaXA0L3R2bm02aTc5OUVZY2ZVWkdOT01RSVZiMnlOTWQ3UjVabGpNYTdESWM1SXNKNFBFWms5c1lsb3NFcnBzWTM4NldWSG5hb0E5NHZnQmdhQzFUd2tNa1FqR2JBT2k4OCtVWCs4Ly8wSHlKMWluSVp5bW04RHlSNFJuR1NXY1dxUCsxNjRadStOQmw2TXBlcDV5VE1ZOW12YUhYYm1Wdi92Q0tyL0hROS9hazR2Mi85N1JTZ3Jzc1FVaUJKOEpnbEZGQndObmpRcnE0dGMrUEdEUWFEQVNwSlFCeEprakNaVE5CYWtTa05GbW9EeG5pYzB1aFU0VlJKelpqLzdVLy9WNXlhVUZNUWdqY2tEQTM3b0xCSlA5NXowU25hbDlVNGUwN1RWRlBVRlpVcjBFa0N5bkc3dW9YRGthQ3BxVm5QTmxqS2xwaU1Dc1MzaVZ3cHd5eW5yQ1l6eHpqNElMUmI2ditkN1lmRllURUltbHhsaUlNU3d3ckxmT21KbDNuMXhaZHh0V05sdUVKZDFGaHJXVjFlcGl4TFJxTTloc01sVXAxaHFsRFVKRTAxU2lYVWRZbjNGcTAxMWpXZXVyNE5MVkJ6SVFhcWllQUYyeWl4aTFUWS9yRzgwNGpBblJUWlJjdUhrSXYyVHlnVXVtanR2NVFIN1h0V1djMXl6Z3RPb0VocjZxUHdaMy85LzNMQm5RVWMyMnhTQzZqR2s5ZVZnY1NxUnBHMUtHd3IwNG9MUkRZeWdJaERqa2hrSXc0NTVzbldSeUdsODNHZ0VZdHhOMk1uMTBvOWdjanFJZGFBSnVYSm84L3owZ3V2OEFlLy80ZHMzUmp6eU9weHpNUUZneWZKMkxxOXphT1BIbU04MlE1aEJoS0lSRmpyWEJpSUIrVURrVlUrbEx5U05rRkhUY09lWFVNQVBrcm9RVml2NnhSTjhXRzcvV2svbHZPZzl2bjF6eE1aTmRjK3UzMVFWa2pUSEMvQ3VCaFJVWkt0NUd4UGJ2SE9oMi94cjc3L0w3QVVPTW9tWGM1aGxjZmhjYzZoSlhpODdsZGVWVU1rWGZlcE9XTmgyMjJmK3YzcldoZXRMZnpmTTg4Q0FobVZ6dk5BdXFVOTArSDU0RGZyRzNzdTExdldkLzgwS1VzTW0rU3ZBYzltei9DTlgvc21xOWthMmlVb3B4RW5NOGRYQmRiWEkzcFRvcnB2UE1HM29RVXlMZWZiSEluNTg5dGYvOHkxOUZHSTdGejd6SVBFM1BMS3F5NFV3eWlvVmJBSGM5NmpmYWhzbkJqSE1Na29SMk84Q0V2cnE5emMyV0d2S2xnOXZjRzN6bjJMOTI2L3k2M0p6YVlzc2NmMGlicG4zem5yZWlTUnhFWThHSWoyV3hHSEhIN3U5WEdYaVRnWTg4ZDIvN0hmbldrQUFBQWdBRWxFUVZRV21YNVVXbU5kSUJNN2t4MTJObmM1ZXZRUm5uMzJHZmEyOThBSnk4Tmx5a25OK3ZJR3hXU0NVaGFoTmZSMWVHbUxKVXhmSFVueWRHUkorNGFBd0QwbjcwbGp2aVJkNlZ4bXB2dXNqeGExZjFUN3BHWjNoT2xVdk1JYndkUUc3eXhvaDg2RXlrMTQrLzAzK2NzZi9EdHM0N2hSWXpDVVZKUlVtRkR0U3l3R2d4R0RGUXVwUjFJZzhZZ0dweXlWSzNGaWNkcGlwTVo1aTZVT01id0oxSzdFWUhDWXhxODIvQjhvNTNUcXVoYmJ6Vzh3T0tseEt2VEhTbzJWR2ljR3B5eTJlUmtWK21qRVlzVmhFd2Naa0hsVTdrTjRnTE9rS21XSlFkaFRXN04zZFkvVHp6eVA4aHJ4Q3VXa0lYOHRhUTVxdE16OExmczdub2NXcWxsSGR3MzF6eTkwaXJ1MDUycitmQzVZNThMdCt0bnA3THpTOUFPY0NudmltajhvNVJVYVQ0cUN5cEFvaldoRllXdlVJTVVQVXk1T0x2SERxNjl4dGI1QzdXcG1LcXdSUmdhbXBIcngzMjlFeElPQVNHUWpJaUx1SGIzN29ZaHFTRm9nbjBVOVlidzc0ZlJ6bjJPUURiREdrYWdVYnoxSmttR05DYUVGNGh0N3BtYXczTGZVZGFyeXpSTloxU3FsSW9zWnhVZEFSMlEveVUzOUUvaUFDa0tlWmZoR0xiUllSSU5PRkdVNVlXOXZ4TFh4VlN3R2phYWxUNEtRU3NKd01FQnBqUXJXQVZqamNEYThyRzNLTHpkaHpaNStSYldtbWhtaHV0bVVaWC84cVI2aytHUUIyK3UvR21oTlNOVENZeXVQcnoxU3djQ2xwQVRYQW9Xd3locXZISCtKWDMvMVZ4aW9uTVFsSkM2UVB1VjllUENRdVllUU81K1dBejhmNUx5MWlOd3VXczlkdCtzWGZ3OGhyRVlBTHlGVXdFdXpPUjhJdS9hZ3ZhSXNDdkk4eFNhZTNXcE11ajZnMUJVLy9PQkhuQ25lcDNRaEQ2QXRtOXlTVjYzMW9TL0JHeEh4VVJDSmJFUkV4Q2RBbXdEbXV5SGJWQ1VrelREMHplMGJTT1g1d290ZlJDdE5PYWtaNUVOMnRuZFpYVjNCMWFiaE85TlN0aTFaOHlLZGNqWWxCSE9VUU4yN2w5cG5nY2dLUXFJVVNhcHd6bEtibW15Z2VlVFlJeno1NUpPOCtzSXJEUFNRMjljM3FhbklHYkthclZJWmk2a054dGlROWUrbjY5T2lTWFNDVHJwYXJOUGoxaU9ZZmpydWZHOVRBZTljc0dsdTdWbjdMOWVFTkxobXlONHBNQjVzY0NqSVNVbEpTRW5KR1hCeThCUmYvOEp2OGRzdmY1MVRqejNMa2hxUzJIUktZcDAwNUxWVlRPOFFHL3dSUDk5WEl0dHN3TXVVekxhS3MyNWV6Z1JGM2lXZVdtcE01aWlUaW5NM0x2REcxdXZzc1lmQm9MVW1TWkpwS2R5Mit3OUtabHRFeEIwUWlXeEVSTVE5SWlUYkpUb05wTWFIWVY3dnc5QXpXQVM0ZXVVS2p4OS9uRWVQUDRhZzBEb1AxYUpFSTg2aS9WUzZVMGdULzlvUzJGYVZiYjRURnhKb1dpVlg3cjFBNi8wbnNwNXlQQUU4V1o2RFFGbE44TmFqdFVZcFRaYmxuSDdtZVY1OTZWV2VQSFlTWDhMMjFoNEtGY3ovc1dpa3E5T2xHM2NENXgxQmJHMzNUaEFCSmFxcnB0WUZGMzhTdElkT21oSUpLbW42a3FJbEFSOUlhMHBLMXBRK2FDdCtEY2g1aENQOCt2Ty95dTkrK1hkNTlmU1hlV3oxTVRLVGtkUUp5M29aYlVJWVNlS0RHNEpxbEdUQmgwVE9BN3AxR0lpc0IwU0MrMEQ0KzlFaG1jNkhzQlBsd1ZsSHRwUlIySUk2TWFqMWhBdGJsM245d2h2YzRqYUdHaU5taHNEZXphWXVJdUpCUTdUZmlvaUkrQVFRakxVa09tUzhlK2NhdDFuWFpMNHJDbmI1czMvekwxbGZQY0l6VDd4SVVZdzQ5dGdUWEx0d2xiVnMyR1RDUTFzdU5CQ1d2dDQyZTBOZTRPUjBhTEhjWk9FWGt4RWVPcExuU2s5VlZVaWlLQ1lsS2tuNTRqTXY4ZExwVjluZTN1VEQ4K2U0Y08wYzc1My9LYU42ajRLaVM5WVNQQmthQVdycUxzNFYzeVlrdFZxZy9jU2xtbk9kTjZFUnZubVFrVTVkRnhUcnlUTFdXR3JxNXFFaFl5UGQ0TG5ubnVQVVl5YzV1WDZTZ2NzcDl3cnNqbU41WlpYaFlFaTFWMURzRmd5eVlVUHMrbGZCQTNMeUFkdTdrRHR2V3EvUVRTRTgwYUF5alJWSG9XcEtOK0dEV3g5d21jdkJhZ3N6OVpWdFBIdVZVdnVVMllpSUJ4bHR4SHhFUkVURXgwVFExMERoc1NRSmlESTRHMFRUUkFBTHVWckN1b1JYbnY4VnZ2SDEvNUJITnA1a1krVTQ0ODBSSzM2QWRvSVh0YysxWUtxV2hYSHIxaXFyYjUra211M0QzWldvZzF3THBEWEsvNWpMei9hUk83b1dMQ3JvSUI1V2w1YloyZDdHV292U0dzU2gweFNkYWFxcUloOW1GSFZCV1JkVXhvQUtjYVpKa2tCbUtkamwrdVpWTGw2OHlLVkxsN2grOHhwYnhSWWxKUjdQa2d3cGZFRkZPWHRzOTVWdHZSY0VyOWtRUk5MK0g2WUpLUmtwRlRVckxQSDh5ZE04L2RRekhGazdRcGFFZ2dhSjFlZzk0WkhWUjBoVWlpa3NZc0NXRG5IQzBuQ0lMWnR6TGNFcXpZbnJuQStjTUdPRHVxaWdRWXVEQ2hyTUZ5U1liKzh6L1VXdUJQMHI1VTZ1Qll2T3YyL1ZXRUI1alhlQ2RucmFLWEhoUVNRemxHbkpwdDNpekswUGVPUGFXMnl6amNGUlVnWTdyZjYrTm9wN0pMSVJEd3Npa1kySWlMaEhLQWJwQ21WZDRyR0E2V0ludTRwRUhwWUhTMVFGS0FiOC90Zi9rSy8vMnUreWZYUENDeWMvVDNsN1FtTERjTGp0VlZocUNXS2Z6SWJFcEpiSUJ0MzNzQk5aVzlXWXVtWTRIRElZRENqS0VtTXJCRTFwU3B4ekpGbEtscWQ0d0JoRDdScHlweXhHamZIS2hvUXZEY2JWakVZamJtN2VaR2R2aHc4K1BNUGVaSStkdlIzR2pLaXBaL2VKZTY5czF5ZXhtb1FoT1d2Wk9rZVBIT0hvMmlNc0x5M3h1Vk9uRWErUTRDc1ZZcDVGa3loTkpqbFNDTXBxeXZFRThjTHE4aHJLSzhwSmdZaE13eUFrK0NhRVI1cFE5aFlBMjdPVk9vUkUxcXEyUFJ5SFlEUFg3SnA0U2lic3VoMlNJeWxYaXF0ODU2ZmY0U2EzcUNneHpSRVJGY0pGbk50ZndUQWk0bUZBSkxJUkVSSDNDSVdRQXV3anNqQWxzOXBEU280akpXZWR2L3M3ZjhCdi9zcHZrZG9oZzJvQUpXaWRrZytHR09NWWo4Y29sYkN5c3NKa01ncnJsMWtpNjhUMWZEZ1BKckozdXJHTGQ0ajM5NVhJS3QrTDEreTNOMGI1aS9iRmRqL1pEcTlxRUJOc3l4ckZzaTJSNjhTaEVnbldXZFl5cVNhTUpudU1SaU4yeDd0VVZjV3RXemR4M2dTQ1hOY1lZNmFPQjRSaGFxVVVTWktRWlJsNW5wTmxHVm1Xa1VqQ3NTT1BNa2dIRExKQXhGT2RodGhPSTJBZGlTUW8xMWhtZVI4c3g1cXA4Z3B4RFhtREppbE16UkJSMjZyd3pYbjNUU3kyYTRwWUtKSjlCUVA2eXk4cWJ0QW5xcGI5eDdmZjNnOWhXVVJVM2R6NW1XL3ZyMmNSa2ZXSklGb2hGbXhoY0xWRFJKTmxDZVNhbThWdDBpTXBsOGVYK2Y3UHZzOTVlNDZLQ3Fzc2xZdmx0U01pSU1iSVJrUkVmQ0swNVdmM3d3dGtHZFFGUUUxQ1FzbUl2Mzd0TDhteWhGLy82dGNaaldyVzhqWEFzYmx6QzYweVZsWldjYzZ4dWJuSllKQWR2R1VKSlBtQlFsUHdBZWhLdlU3Ynd2ZmFlMmdIOGgyMDVXdmJJV1pISVBwZU9VeGhtc1N4aEV3UFdGdGR4eTdaNER2cUhLdXZMSWNIQkJ1TTlNV0Y0VzdsQmEvQWxIVlEvVnhZdi9MU3RZc0kxQklTdkNSQmU0VTJUWHltSlJRd2FJcFloR0lHZnJwL3pYNzVtV1E5ajVlUW5HYmJ6MHdmRm14aldkQis1MUFkVVR5MFNxU0VHR2h4bm1FeUlNMDB4bFpNWEVGdGFnWkhCbHphdTh5N1Y5N25tcjFCalExeHNhcVJiYU83VmtSRUpMSVJFUkdmRkFmZlRWdlNZYjFESzRkMU5kZEhsL2lySC80RlJ6WTJlT1haWDJZeUtzRkN0cHloU1NuckNkNHJoc3NEdkcwU21QeDBmYlBidlhmWGdzOEdWTS9LMzRQTWxYV2RJMmloMmxUN1NWQSttYXArRGYxcjY1VjVjYVErYTd4SlBTS0NieVZnRFY1YkpwdkJOVUVjd2U0TWhZZ1BWY0VVSEJtc0JZSnNmVGR0aVN5QXBDcVU4VFdoMGxocmlLcDlDRGhvTS9DRlFHd2JTYlhaM3pDMGJsc0ZYOXFqMEZPY0NTcHpPeitkVThIK2tJTDU5NGNCM2pxOGRXZ0VwUUN4Vkw3Q3FncVRPV3FwT0hQOUE5N2VmcGNKNHk2Y3dGdlFDZGhJWkNNaUlwR05pSWk0Vi9TSjVPSTdhbDFCa21wTTVhbGNqU2JCNGJodzZ5eC8vdTEveWZIMUoxaEpObGhiWGlYUkNWVlJVZFdHUkdXczVDdVVybnhnSEFybUVWVEZnREM4dm45SGcwTkRlNXhkNElsTjVhZXdYSmd2T0Q4MEJMWTEzUElLblFhRjFMcHB5RUNydkNLZTlhV05tZEtwODhQZms2MWlwajhoYmxWQkc3L3FQTlo1c0I3dlBMZ3dqeUswQndzMTFiaFMrQzZXVGZscGZDalNLc2t0d2ZXMFI2Yi92cnNPZXZIWDdYQit2OC96N3ovTHFHdkxZTEJFS21EcWluRTF4aXFMWHdaWmduZk92ODI1MitlWU5HbGRPdFY0R3g0R3JMbmZ2WStJK0d3ZytzaEdSRVRjTXdUSDFBMmZXY05NQ2NVU1JHZDRHOXF6UEVNbkNtc0xkc2U3YkY3ZjVmRW5UbkRpeEFsMmRyZloyZGxsZFhXVlFUN2cxcTNiNUZud1YrM0trRFpWcGJ4NFFEWEs0TDJab2Q1dkgxbTYrTjYyRjczaXZESXQxeXU0Um9sMHpkRDZORzVVUEhnSmxscXVXYVpiZlp2cDc0S25MSTBucjlhS1JLVWtpUTRLcTNWNDU2ZFZ3WXpGR291emp1RmdTS0tUVUdCQjZlQkQyLy9uZlBDdUVCWGFsYUNVb0ZXYnFEVU5FbTM5WDMxVGl0aUpiZmF6VGQ3cnY4S1JVSzFuYkhPRWxBL0ZNYlJyUFlhYmZWMFFxL3BSenN0QlovNmc4emIvZVg3NWozWCtSV0d0WjVBUFVTSVV4UjVlR2RKbHhVUUtMdTlkNWJWelAyU1RiY2JVb1Rpdzh1RGNQcVUrSXVKaFJsUmtJeUlpUGgwSWdaeEpWeGNWbE1MV3JybVRDODRicXFwb1JyY3RQNzM0SnVzL09rNmFKenl5OWhncjYwdWdoY3BVNkZSM1NWMGR2Q0pFVUU3akl3OC9wQ2xQS2d0S3Jyb21zOTRFSlJhNlJDY1FuSEtJVjFpWlpxeDdmSmZWM3lZakNhcHpBUkFScENHYXBxNjdlTmUyM0crYk9BWmdLOXNwdGZNcXB6U2tXVlJZUHhKQ0ZKeHoxRFlzbDZva2tHNWF4VGNrYTRWOW5sVmt1NkNCbWUyRWVOcVFSTlVvMEQzeDM4MFppZTBqdEhKdkR6bS9DSWlIVEdlNDJsR2JBaTh3V003d0E4djFHMWQ0NDl5YmJMSEpCQWZhaHlwcXJ2VUtidFgzR0ZzUUVSR0piRVJFeEtlRFZtSDBVMHNzVVNuZWxPQ0ZaSkJRbFpQTzJTRFJZR3JEOTMvNk40d25FNzc1TzkvazFGT25tV3dYMk1KeVpQMG9WZEhXUDUzRmcwUmlBL2x2aHRMbnFsV0ZVTlJHaWZXaGdJSHYweGNGWFdwVXp4V2dXM3Rid3RkTnlhaHYzZ3ZnakczaU05VU02WnVHR0V3SnNnZ2Q0VlVxbk4vU1ZPQmRjRm5BSXUxMm1uOVcrZjNyeEFaeTJvWUl0TzI5YU9IZVFsMmNiWi9JU3VQcTRKVHR6WHI0UWd1U0pLVXNTN3d6NU1NVVI4SGw2eGM1YytGOXJuRVYweVIzV2ZIUUpuajVVRGhESzAzbHFraG1JeDU2UkNJYkVSSHhLYU5Yazh1WUVCR1E2aTR6UldrWTVDbmowWVJjRHlqc0RtK2MvUUZISDExak1NellHQjRsc1pwSk1TTDFXVk95bGpBMExoNTh3blFJdXIrOUJVUm80ZUJ4UDBITWZhSktZV0ZvLzk2V0RmQU5pVzJEQ3ZwaEdnNXhibWJXZHBzdFdoL1VMbnRmWEVNSTFZemxrMUpOcWQrVzZMWUtxL0loM3JXSmFXM0pidXRKbW1WWjk3bjl6am1ITVNGQVUrdVFZaGFLVllCWElZWTJhUWJUblpzTDVKUlFZYXdsN3EzYUx1M3VONU5Pck8ycDhZdlMrc1N6Yjl4K1ByUmcvdHoySDRLVW4vV1NuVysvR3hhZittbW5uRFN4dkFLK0g4UGN1allvcUNuUkE0OWJFcTd0YnZHVFMrL3h2ai9QR0V1Rnc3YWhGMW1LaU1KUERDRkJMeExZaUFpSVBySVJFUkdmS3VicFJyL1k3TnlOdHd0dlZlQlNFZ2I4eHN1L3pkLzdyYi9QaWZXVDdOd1lzVFk0aWkxZFVLQzB4aGpEcEN4SlVzWFN5bExqTTl2NnkvcHVDSHNlblg4cDRIdk1SVFZEOTZwSCttWVV6Umx4TUZDUnRuMmVSc3kzaDVuYXhLdkY2MjlKOE9KMk4zTTBmYy92dHUrZHVwaUl5OHcrOWYxTk83OWJZWGE2b0g5cWJ2OW41bXQ5YnB1VnRNcGd2My85OWR6cCtNNzNyNy9Oc0x3czdIOGY4KzN6KzlDdDE4MzFuOFh0YmIvNjdmMzlBRkNkNVlKclBHODlybEdjbllEV0doQ2NCV01jMW5xVWFKSWtRN1JuWW5keFdVMmRXRzVNYnZHVGMyL3lYbkdHTVNVcVR4aWJuUmtsdHJuVUNhWjBxbkV4aUloNHVCR1R2U0lpSWo1RitMbFhYMjJjZ3lLTUNTVWVYQmcyMzl2ZXBaeVVyQXhXT1BIWUNjYTdJMEpzYlVoR0VoRUdlWTUxbnRIZUhtbWlBeHRxNHpYN1crckpkZEpJZnRMTW9acDNiWW5RZGtqL295WUo3ZHZXQWZNdnlvR2JYY0ExL1pvOWJvb0ZxcUtuVVZVRHNaTm1LZW1lQ0tZdjFkdnVvdlYwL2U5bEk5MzcvcmVLT1VFOTk5TXRkNmxoemZkdC82WDNmZGYvZHJuZTh1MzcrYXZxb1BNMTM4OTVkYlZQY0JlZXYvbjU3N0QvWWY3cGswalhiVDg5STJtV1VaWVZwclprV2M1d3VBUWkxTVpRMkFJM3FIQkR3ODNKYmQ2KzlETStIRjlrTDVROG9HSUN5czV1MU5HdlpkZlg3eU1pSGxyRTBJS0lpSWo3ZzVhVldKb0VNY2QydWMxZnZmN3YwUzRsejRZOGZ1UkpKanNsM3NESzBqcUowaFJGaVhXR3dXQUErR25oZ0tZS2xQUVV6WFlJVjRCK3ByZVRPQ3diOGNuZ0pGVElEWXEyYXBMeDNNeURnaGlQR0VnUVVnRnhGbWNyOEFhVk9lck1jM08weVFkWHp2TGg3b2VNbVFBRzZXZTF6YlA0NlNSR3gwWkVFQlhaaUlpSSs0VldFdk9BQ0tuT1F5SVNudTFiVzl5NmZZUEhuM2lNTE04WkxBK3d0cVlvQ2tRZ1N6UFNOTVViMStoK3JZYXBhTFBjUTV5b2RObjFIN1ZMSCtmekoxZGsvY0wyVDhzKzZxN2Z5NTNiZjY3MlUzZjQvcVBpYnV2OXRQcS82TE1YTUVwd0F0TThPZDJWMzFWZVVaZUdQRTFJazVTcUxwa1VJNnl2U1hPTldoS3VsamQ0NS9LN3ZMOTFoakZGc05qQ1lMeVpyWDdSSTdMVDVMaW94a1pFUUNTeUVSRVI5d3N6ckVDaGt3UXRHdWNjaFI5emRlc3EyMXU3YkJ4YjUvang0MHlLTVVWUnNMcThRcHBtYkcxdWtTVTU0bld3SS9KcTMzQzE4bzFMclBRMXJNYUhWdHBRZzhWZCtpaWZJNUg5YVBNL2lFVFdDZFRLNDFRVDRPSERBNVU0YWZ4dUJWTWJodmtBVVk1SlZlQzBZYmlTNGhMRDllSUdyMTk2aTdQYkY5aGhENHZCNG5FaHhRdnBxYnN6NFNCZFArYXF3RVZFUEtTSW9RVVJFUkgzQng1QW9TVEJpNk91aXVhekJqVFdXMzU4OWpWS1YxQlVFNzd3M0JkWld6dEtzVnRnUnlQU1BHdENDdHJNOSthMjNtVFFLeitiR1c5Ym15cnBOczZEVWVZMjRyTUMxY1l2Ky9BK1QxSXNoc3BXK01Rd1dFMlIzSFB0eGhWK2N1RWQzaXAvUm9YZ3NSaHFQSVkwVFJCbnFkcncyQVZjdFN0RC9BdmR1NGlJenlZaWtZMklpTGhQVUkyU1NpOTkzK0F3T0tWSTlZQzZIdlBtdVI4eEd1K2lGSHorMlM5Uk9ZY0RIbGxacHhxNVhtbFdHcnNtMjVIYjFsNHJJdUxuQWUxRHZUTGQ1QnUyMC9EdzVOQ1pabUltVkZMaWwyQlh4bHkvY1pYM0xwemgvZkljWTBvcVBFcUR0UWF3elFPWVEvZTJzeWdtTnBMWWlJaUFHRm9RRVJGeFh5QUlDUWswNXZrNkZTUUpSVXdSai9NMVhoek9lM2JHTzF5NmVKbE01NXg2NWhScmErdmN1clZKbW1SNFVkMDZac3ZOOXAwSzJoQ0RrT3ZkVnJhVnVSSzNNYlRnNDMxK21FTUxrSEJWS1Nja1BvUVRxT0RwaFFCV2VWemlHYmt4SmpmWW9lUFM3bVYrZU9aMXpwcno3REhCWkFwRGdhTUdIZXpnalBYZ0lWUGQ0RUkzWmpBTks3L2JGUkFSOGZBZ0V0bUlpSWo3Z2tBd2c4K214K084Nll6MXV4Y2VsU2ljZFV6S0VaZk9YY0lESzJ2THJLMnVNUjVQVUZxVHBncHJheWJsR0swVVdabzBwdjJOdlJZZTE4Ykg0cnJidjNTZVNlenpTVzBXbkw1dGZXajczcVBjdWYxdVJNNzNNdE5uZkZEM3o3alFKN1d2TnMvNHNDNG9LUnUrbisyZjY1V2Y3Uy8zVVQvUDcvLzgrcnZ1emZXLys5ck5yVzkrZS9QcjU0RDE3OXYvYmdjL1VmLzM5V2Z1L1dSdmovV2xaUVpKU2pVdXFLdUNQTXRKQm9yU2wyelZ1K1JIQmhTRG1uZXV2c2ZmZnZBNmwvd1Z4dFJNTU5RVWpjVld1KzRwY2UzL0tUU0hNT3pTeko1SEloc1JFWWxzUkVURWZVRkl5UW9EcUVHRmRiUHlVd052SFhtV2thcU1zUmx6L3Z4NUp1TUpLK3RySEQxeUZHTXJ0dmEyeUFZSng0OGZweXdLdHJlMldGbGV3clhWanhyMXpJdHZ0dFY4L1hOV1pPOU9aRCtoSW52QWluOGhpdVNDTHo3dS9uOVNIblpYUmRZdi92NmdMKzZtRVBmYnhjUEcwaktUM1QxR3U3dGtxV2E0TktTbVlyZmNaYytOU0RZeWJ0YTNlZi9HQjd4My9ReFg3SFhHMUJRWW5QYWd6UDQrTk00RU1yZTkyYnd2T1RpQU5pTGlJVU1rc2hFUkVmY0o3WkIvYXlZL0paMGROT0RBR2tPU3BCaHJzUml1M0xqTTlzNHVqNTk0bkxJdU9IcDhneVJWWEx0MmhVR2U4ZWhqeDluZTNncVZsWHF5WUVka20yM0xIR3VPUlBiamZYNllpYXhtV3E4Z1RWSjBubUNvR0preEpyT285WVNiOVNidjMvaUF0eTY5eldWN25Ra1ZOUWEwQzRWQS9INnYySmJBenFjZzlvc3l6MVMyaUloNHlCR0piRVJFeEgxQ1A0YkF6YktPNWo2ZHBVM0ZVQmVTWVFRaDBSbVZMN20rZFkxelp6L2dtVk1uV1ZyTjJkbmRZbVZsQ2EyRW5lMWRscGVHb1JwWVIxeDlMN1l3K012K3ZPMjNJcEU5WUxtRE92QXhjVCtKckFMR3Uzc3NyNnlRTEtlTTZqM0d2a0N0YVV6dXVHVTNlZlBjVzV5NStRRzMyS1RDWU1SQjJqTFdFRTRBekpqQ3pvY1Q5Q21yK3lpZGpJaDR5QkNKYkVSRXhIM0M3R0JwbC9qVTNPTUZjRFZraVNKTFU0d3hPSVFrMDZDRnlwYnNsanY4K0swZm9iWHc5S21uc01iZ25XVmxlWVhkN1IxMG9qdGlNQ1VFWFlUc1BSUEkrVDI0Mi95UnlCNkFRMHhrQVpST3FjV3hWMDhZVVNKcmdza3RaMjUveU4rKzk3ZWNIWjFqaDEwcWFyd0N5VFRPbW1abENxd054NkNwTmRzbnNPMzd0Z3p0VkkyOVN5Y2pJaDR5UkNJYkVSRnhmeUQwV0t2dmJ1U3FlU1hOTE41NnZMVTRBY1JoYklYRmdCYWNxd0hIbVF2dmN1bjhSVTQ4Y1lJakcwY29KeVhycTJ2WXl2V0liQ0N1M2d1aEZOUCtwS3BJWkQvZTU0ZWF5QXFvUEtmME5TWjFxRlhOcnQzajdZcy80NDF6cjNQRlhxV2dwS1lPWld4VG9iYW1HV0lRUkduRW1oQ2kwTHhta3MrWUswSGJsMm9qSWlJNlJDSWJFUkZ4ZnlCekx4OStrUG8zOXFRSkRQRFFrSUYyZmcvS3NyNnh3WGl5QjhEVzNpWVh6NXdua1lUSEhubVVzakFrS2lINDFUWWI4VTBwMjZhbXFNd3hxVWhrUDk3bmg1bklPb0VTaDB1Rk9yVmMzNzNCVytkL3lwczMzMlNMYlF3MUZSVW9qOU9lMnRRZGlWV2tpSFdrZVBSTXdBdjRKdFhMOS84NFBrYVo1WWlJaHcyUnlFWkVSTndmekFjRE1pV3cvYThWQ3AxcUhCN25lc3NsUXJrM29RMGFTSlZtdDlyanZYTS9ZL1AyRnMrY09rbVNweUFlTDYwemdpZVVzZzJCQmNxclVGcTBmWFdsYmhVeTA4bmdxakNsMWEwSmt2VHB4blRYL056bjdsMnJ1elhUT2FzdHhXSXk5Zk1pc2pOajJIZVpmeEdYbXRuM1h2djhmdnc4aUt3Q1F1R0w1aXo0NlJRRTVmZXZ2TjhQTDhIcnRhdkYwVXUwMGw2RmNoMnU1dy9iZE5aSmVGV0paVGNkTXhwTXVMQjFrZSsvOXdQT2xoOHdZWUxCVUdORHlWa0YxazNEYVBJOFI2UHd6aEllcS9vQkwyb21KbmJhNlVoa0l5SU93dlN2TXlJaUl1SVhqVGtpMjM3c1oyeTcvaXl6MHRYc3FueFlVcUhSSkFnNWYvaU5mOERKeDU3aGlhTlBrWmdCWmdLcHpjaDBEazd3eHVLOUlDSm9yVkZLWWEzRldvdjNGcVhEbHAwWVBBWndlQ3pnUXZVbW00QVBCUkx2NUFPck9uOVNoZmUyMmNNbUQ3MXhhMWprWXp2dnBicnY4TG45OC9hM1A1TS81MzJ2SDRHTTlUSGZIbWFhdnBjRlBxN3p5L2YzNDA3dC9mV3JPN1hmYWZubTRRTlVyOSt1YTVmZSsvNzN3YXZZWXdWcTdVQkRna1liUVJtUHNrSmlRNzA0VTlXb1JHT2NvL0FWVG52U1FZNVBoTzFrbS9mTVdYNTY1UzNPWHoxUFRZMUNjQmhxVE9QRzRRKzR3YllQU3E2N0VycjluSjgxM3FVakl1NklxTWhHUkVSODVqQ2ZyYjF3Qm5wcVlDY05lcnc0TEE2SDQ1MnpiK09kNStqR1VVUUZLVzJRNXlTaW1Zd25MQStYMFRwQlJIQVdxcXJHR29kU1FwcG1lQmRrT2dHOHVLQ2dlWXQwRlFsMDB5NTRjUXVuUUtNSTA5aC9oYW5ReHUvNmV4YmREaHB4L2lpS3JMQmYwVjJvMkxMZkNxcS8vYjRpKzNIM1EzMGlnamJWdzZYM1hSdjc3SnU0NjNBZTVqb05lT1VvVFIzVVVpdUlBK1VVaVFmeFlaMjFNYVNEbEdRNXhXZENRY0dlSGJGVDczTEQzdUE3NzMrSEQ3WS9vUFFGQm9OUFBMVTNPRHlpMUIwZVJQYW5Ia1pFUk53YjRyTmVSRVRFb2NXQlErd2VoSlFsdllxeGpvd2h2L1BxNy9FYlgvMDZHOE9qMklsSGJOQnV2UmU4RTBSVXA1TjVMempuMEIxVHRIZ3M0bDJueklMQ094VmlkNzNDWVdlbVhseWpHRTRWMS82ME03NXZPZkdpeWxjL1IwVVdabFhaT3lteTZvRCt6YS8vVG4xZTFLNE82UDlIWFo1R2tRMmMxYzdzaHhPSE9JOFRQOWQvMjI2ZDJqVnF2Rk1vRWJScjF1TThEa3VTcDR5clBjYXVRQWFDR2lwdWpqYjUyWm0zZVhQME5sdnNVRkFDa0NSQm1ROFY1VUFwTlMzSUVSRVI4WE5EVkdRaklpSU9MV2FVeHdXQm1NNWJNaklzamd2WHpuUDJaMmZ3V0ZiWFYwaFNSWm9sR0F5bExiRytScVdhTk5kNGI2bktFdFhhZDdXU3FvQzRhVXh0Ris3UU1ycVpxWisyQ1ZnSkJOT0tEUnFpZ1BMN0xjQSsxdjUvQWtVV1Byb2llN2VrcW52Rko4NWhFajhOemVoaW1GMnpYOU9CL1ZiL2xKbEJmR0dvbHRFdUFSZUlyc1BoeEZNcFE2bHI5dHdJdCtLeFM0WnJ4VFhlT1BjVGZ2amhhNXl2endjQ0syQ1ZRNXJrUVd0dHQzYXRkU1N5RVJHL0FFUkZOaUlpNHRCaUpubG53UmVKU3ZGT29VblpTRFlvVElXZ09iVjJpdC85N1cvdzJMRW5HR1RMYUozaWFvY3pqb1FNaGNZWlNQdzBJYXlOL1pSZTNLV1JPZ3hoMHhBaDZTdUdRYlZ0RlZsSFdMNVZiQldRV05XVXlZMks3RDBwc3VFYlFQQytWYjU3TWNoeng3Sy9mK0kwbWNseFRsRzdHdGZFeTlyTVVtdERyU3FxdEdTcjNPTEs1a1hPWEQ3RHBja0ZIQWFMSmM4RzdGUmpMSXVScGlsMVhSL1FHaEVSOFdraEtySVJFUkdIRnBxNXAvRzVJRkRuSFluV2VHOG9YWW5Ec3FLWEdCVTcvT0RkdjJIbjlnN0cxNnhzTEROWXlrQjVQQTRVYUZFNDc2WVZ3SnFzK0NDd0NvaDBUZ2ppdy92UTNob255VFJXRXpVbFZYN3FoNkRhVFB0N3hNT3V5RTVqZElXcEEwUTRIOUk0VkxST0ZXM3NiQXZsRldJYkFweUE1T0FIUXAwYnhtckNyaHB6WWZzaXIzLzRPaisrOG1OdW1kczRhbVFnbEZqR3BwNVJnZHFFUVJFSkR6VlJqWTJJK0lVZ0tySVJFUkdIRnJwUjN0cnFSL01NYmpCSUtTWTE0bUdZRGhFRHhqc0VSVWFPUmZINDhoTzhjUHBGbm5qc0JNZldqM0YwL1JpNVdzSlhrUGdFN1JMRWE1VFJJYVRBaFpoWXhPRXdPREgwM1FqY3ZFWW5IcncwdmV3cGdvQjJFbU5rNzNGNThmMWtzZmI0RXg1RVF1QXkzdEVkZno5Ly9EM05Bd2c0RFNhMWpDaTVWZDdtMHU0MWJoWTNlZlBLVDZnb0VUdytOMVNtbkhsb2trYjFWMDFpbDdVVzU5eGR6MXRFUk1TbmgwaGtJeUlpRGkxMGswL2ZrVVRvcGRFSHFGRFJGbE0xUHJXaTBLSkNnaGM1d2JKTGtUUGdsUmRlNGFzdi94S1BIejBCUnBISkFHMFR0RXZCS2JSTm9QRVdGY0IxaVYvelJHdldWS2tmY3RCT2xaK04yWXhFOXVNVFdlMWFDeTY2QjRoK2FJZnIzZDVzRXluYnRZdkRxaG9ybGtvc0V3cHVqRGY1OE1ZRjNydHhoaTEyY0xnbUZyWUdiV1pPcTJqd1ZWQ0RXOXUyRmxwcmtpU2hMTXVGK3hJUkVmSHBJUkxaaUlpSVE0dTdFdG4rTDF6dmw2NXpEQ0JCb1p0WGdnQkRsdm5jMDUvbjg4OS9nWmRmZkJWZkNjZmpBVFlBQUNBQVNVUkJWRlFhNVRRcEdab0ViOEE3aDBid05teGJhNDNXR2dCalhNaGV0MU4xcm0wWEVheDFXR3NnYWJ4a3VVY2llQUNSN1BqcEhGSDh1RVMySmFyM1NtUVh2ZTkvcHo4R0VlNHJuU0tDbGdSZldOSkdFWFhpT2c5ZzQ0SVBjSm9uR0dPb25VRzBJa21TeGszQVVGS2cxdUg2M2pVdVhydkV1V3NYdVZ6ZFlFUkJpV2tpWVIySUFYd3o3Y0VUNzU0UkVaOEJSQ0liRVJGeGFDR29YbkRCZ3ZDQ3VZSUxIVnFDNWdWQmt3UkxmQ3l1S2FlUThraDJqRXlHdlBUNVYvbnFLNy9NbzBjZXB4elZqSFluSkNwbGJiaUtOQWI2MWxycXVzWlVGaEVoVFZQeUpDZE5VMndkMmtLUmhjYTV3SGlzTnlSNXNJbUNTR1FYdFRzWEhBSGFWN2QvSWlGaHJsWmd3ME9EOFFZdmtLUXArU0JGcFlxZHZSMGtFYnhBWlVyS3NzUml5YklNdFF4LzhaTnZzVzIzMlI3dnNPUDNHRk5UdDlwdXByQjExWVFtRU53UlBJRHJWR0JQaklPTmlMamZpRVEySWlMaTBFSTZxLzREaU95ZDBDaHE3VHFHNlJCbkhMNkpvZFZvVmxtanhyUEVDcDk3K2tWZWVla3JQUDNVMHdpYVlyZkU3SllNOUpCaFBpRExNaEtWNHF6SEdZTXpucnFvOFU3QUJWL1JSS1Vrb2hEUldLbXhVa1VpZTRmMmc0aXM5eDZjVUkrcjhOQ1E1K2hVNFFUS3VtQlVUcWhNU1RiTU1MNkdGUEpoaGdOdTNyck96OTU5bC9lS2Q5aGhpd2tqTEsxVE1KaDJ4eElGempiWGllb3VMaUdNQkFTekxodkpiRVRFZlVZa3NoRVJFWWNXQytvZ0hOdzQvNTF2ZmdDYmFhSVRFa213SnZpUkp1akdoMEF6WkxtSndOUTh2dm9Fcjd6eUZWNDYvUVUyOHFPWVNWQmlFMG5Jc2d6eFFsM1VsSk9LdGVFYUNvMmdHeHN2d1R1SHJ6MjFyeUd4a2NqZW9iMTFBT2pJYTlQZWhoa3NENWVvVEUxZDE5VE80SlZIcFFySkJUVHNsU01rOVV5cWdzczNMbkgyL0ZtdW1XdFlMRFVWSS9hb3FFTTFPTytiQ214dERHM2JNZWdLTHpSakFFSUNUZkJCS0pBUkVSRnh2eENKYkVSRXhBT0RSZHpWYy9BUFhaSWtXT3Z4M25iTHFtYitSQ1VvcjdCZDhsWkNSa2FlRG5GVzRaM2x5ODk5bGVkT251TFpaNTVqYWJETVpHOUNYZGFzRHRaWVg5MWdiM092c1huU3diZmZCVjlhTFFrb2ozTW1FdGs3dENkSmlISHR3ako2eXF3bCtMN1d2c1Q2VU1nQURWWVpqRExVM3JCWDd2TEJwYlA4N1BJN2pCbmpzS2dteGE2a29xRENZcnVpQ3UyQmF6YUJiOFZXcnpvSzIxNExZQnBGTmhMWmlJajdpVWhrSXlJaUhoak1FbG0xY0o3NUh6d1JRYWxteUhyTys3TmRneEtGb0hGZUdwVjI2blFnQ0d0Nm5SZE92OGlyTDczS2s4ZWZ4RlNXdmMwUkc4c2JZQlJpQkc4OFlqV3BTc2lhK05taUdFLzdGWW5zL3YxcjNBQmFSNEEyV1F1Z3BxYlVGUzV4YUsycHBXSnZNdUxxclN0Y3VIYUI2MXZYdWNrTkxJWlVjbXBxUm40UDN3UUY4UCt6OXlheGxpWG5uZDh2aG5QdThNYWN4eHF5cWxnVGk4Vlpva1JTSkVWS2xOUzI3SVhoM25uaGJhTU5HSVlYQnJ5d2pZYVhobGRlMllaaEwreE5vdzBiYU1HR21wSmFJeldRSXFreUIzRW9WbFl4cXlxbjkvSzlPNXh6SXVMekl1S2NlKzU5OTcyc3lpS1pURmI4RXpmajNYdm1PREg4NHh1MXdZVWtqaWQwZHJDS1NHU1ZockRFVVRVeGNyR21EVjhnTkpCTkN6SXlIaW95a2MzSXlIaDBzZUxNdFpDcXRtUmpnWFYwUTlJV3BTUUcwRzhsY1pKTURtS2MvU01qWldFSERNc1JzMG5GV0kwWkRBYk01bk1FMkdUTXk4OTlsQmVlZm9GVFcyY1k2QUVqTzQ0bUJvblFCaWNvMFZobFRvd2p1M1N2NzBNaUd5TTh4TmlzV211TU1ZZ0lkVjB6ODNQMEtjM3Q2VzF1M25xTHQrL2M1TzdrTHZmOFBRN1lwNmJHRTZpcGNBZ2VoeTVBRFJTdUVhS3R5QUJDSzZNVlZJaVdzcXRMb0U0dzI3V3J0a0VFTXBITnlIaTR5RVEySXlQajBjVXhSTGFWbXJWaFA1ZWp1aTVnakNXSUk3U2lONVhJNjdwcmFiQmE0UVRpZjFEb0ljSEhSQWl0RTVDaFNIYXhpbDE5aWd0bkwzRHQ2bE5jdlh5VjAxdG5zS2FNN0xpR0FTTk1pQ0c3T2dJWFdsT0dscWpxM3UrcTI2L2R0bzRJcTdSZFJKYTJMNGhxaXZXZ1FGUklLWGpqYy9SVHZPcVUrR0g5OXVXa0JDSkhVL1JLc2p0ZHZyLzF4Qy91RzlKNWtybUZEb1FRTFZHMTFvZ0sxSFhOWkRMaG9ON25tNis5d3IxcW56MzJjRFRKWVN1cS9EME9RZkFFR2hVakduUWN0RzBvalFVeGtJaXNSbEJya3M1MkNUZmFocUI2Vy9JTW1wSHhVSkdKYkVaR3hpOHBkRGZBblR6UXZVT0oydHFUNmVXMHB5M0JTNzhXRkhoOFo0cHdldXNNVjY1YzRjcVZLNXpmT3MvbHpjY1pxakdGTm9RZ3VMb2hPS0hRQllVcFVTbmlnVGlpQkRHSlVBMHg4b0VPS1F4VWo2UXFpTWNSTTFlcDl2Y2d5YmxOa0tBUUZjQktSMlNYS1g4c25RdHJmeGRSYUluUFIxZzRZM21KdHF3K1VVcGpMVUcxaEZZNnN0cmVzOWV4L2tVclZOTGFWMkhPcko0eGE2WnNuZHJnc0Rwazc5NWQzcjU3azl0M2IzRm4vdzZIY3NpY0dWVkhXQ1BhQ0FJaEdSREV2OFB4MFN6Q1VkbnJjWGJXUjlyQzJnMFpHUmsvYjJRaW01R1JrZkV6Z3JXV0VBSWhIQ1hMQlNWbnVjREZVNWQ0NHVvVFhMcDBpWjJOWFlxaXdFcUJ3U0JlTU1veTBFT3NzaWlKcW5aZkI4UkpKSkwwQ0d3cm1VNnBiN1VzSktkUllteTY2d2NWYUpxcUk1YnJVQlRGVXRTQWZ2UUFna0k1alpab3k0b0JaWFEwMFVpazlIQTZJVXArUTVTdXBwdFJLaExwT2dndU5JVGdhSEE0NVhDaFllNW5WS0hpcTEvL0N4cXBtZnNaYzJybXpGS1UxeWhwZFVjVEFtZGtaTHpQa0lsc1JrWkd4czhZclgwbnhOaW8zbnNNbGcwMk1SUkphaWlNR0xFOTJPYmM3bmwydG5aNTlwbG5LWFRCb0JneXNBT01NVkhxRzZLSlFha0dhTkVkd1d5bHI0U2s4azgyc2lycS9CRlBqNHdHckxVbjN2ZDhQdStpQkt5V0FJVXVZdVNGRUFqaXFKMGppTWVIZ0JmSDlxbnRTRGxGWXE2c0VBZ1NiVjREbnNQcG5NTnF3dDdlSFc3ZnZjV3QvVHZzY1p1YXBndHQ1WlBVMWFjNkFrRnBCVnFvbk04VFdFYkcreHlaeUdaa1pHVDhqTkI2Mk1OUkp5NGxtcElCclo2Nk5WSlFhQ3lXQVVNcXFtU1VvTm5SdTV6WlBjT3BVNmZZMmRsaE5CaHpkdWNzUm1tMHRoaGpLSFJNZzJ1MHhtQ3A2eHJkblR1YUEwUWlHbTFyblhOSmlydmV0RUJydTJRYks2S1d2cnZnMDM0YTlFSXlpMVpBNE82OXU5Uk54ZUYwd3Q2OXUrenQ3YkYzc01la21sQlRNNlhxSE80azBmbUFvQWdvVkxKNzlWM1p1bGRKVnUxblpHUWtaQ0tia1pHUjhUTkNVUlNkMS8wNkdLSkV0TlJsSngwTlRjQ0pBeFNiZzgyWUljdzNPTnlTUmE1T3FYUXRob0tTUVRGZ05CZ3dMR05vcjBJWFhMbHlCWTNDR0VOcEI1VEdZcTNGbUFLak5KdWpyZTVzNjRoczAzaENjSGd2TkUxRjAzaWNxL0UreHNDZFZoTnFWekdySzZiVFF3NFBENW5NRDVuN2lvYWFLb1duaWdRMEpFcStzQ0VPM2NjVGtwdVc5RWl0NEJiRXRSL290MFcwTXNqSXlIZ2ZJeFBaakl5TWpKOHhZcXhhM1gzYXdQNWFhNXFtb2E3cjVmM2JxQVhIeE1LTit5aE1UOTRLWUxHSkxLcE9vaG4zWFQ0dnRQYXlYYVJjMWhIWmdnR1JnclpXcVhUYld5dlZSWXBXaFNiRzJXMWQzaHgxT2paR0U0aVEzdi85MEZaMDF5S0ZRd3V0YzUzdWZWcFNLOENjUElObFpMelBrWWxzUmtaR3hzOElyVjFzbTJxMURlemZvZWRKYjR6dVRCSGFOS3lyeDdlT1kyMEVxOUlVcUtDU3pXbFlJcW9BUXoySUpnM1N5amdYaUhTM2RmNWFEY2tReXdYbGpOOTFqSmVBUWlOQXhaU1dpcmI3THVJR3RGalFYNVZJYUV2a3ZROHhtbFdiaWpiMDZtU2xmbzc4Sm1TSmJFWkdSaWF5R1JrWkdUOHY5S1d4U2ltYXBsbm1qbjIwa3NqUSs5N2JwalJJdzlJSXJsRkxUbG5TUzRqUVd1TEd2K00zNmNqcWVpSWJpZkZSUXJ2WXZwREhzb2JDYWswdmppekxKTFM5YlB0WnRiNHdLL3Uxa041bk9jQnJSa2JHK3hDWnlHWmtaR1E4WkVRSloxajljYmxjaDlYUmUrWDdjb3pieGYvUWNzQnc4dm52aDNXenh6cENmdHcrRHpyN3lFcVprWkh4dnNYSnNWY3lNakl5TW41bTZOdkNyZ29rajh1QWRTenVRK3JDaXRtQkVCWTJwdytDUHBtODN6bU9Dbk9Qbm1mdGNjZmJDRWZrOUxBWkdlOTNaQ0tia1pHUjhSRFFadnVLZjZzampsMGRSV3RUd0I1RDJvN25rS3NrY0IwcGZBOFMyVjUyczJVeWV0UnA3RVFKYWo4Tjd3cFdiWDU3Vit3NWlXVXltNUh4ZmtZbXNoa1pHUm0vZ05CTFpnQkhIYm5hTGNjZHZmcDlWU2phUVZndk1iMWZlY0tkTDVXdFZQVUVNdHNQS25iU1UvUnZZbzB4UmtaR3h2c1EyVVkySXlNajR5RmgyYlRnL3JSc1dXb2J1bVB1UDRpdms4NEdPQ0U5N1R2Q01SYytLdVM5bjRuQU84V3lwRGRUMll5TWpFeGtNekl5TW41QnNTcUZYWlhTUWxoa3VZTGpKYWpkZG4xazFIOXd5NEtUU2VUNjh4NG5WZTRiQzZ4ZTV3R0V3aGtaR2U4YjVQRWdJeU1qNDJGZ1hWU0MrMFloV0piSUxtVzhhdmMva2NqMmZoZTl4akwzbmFOTktIc3NFejdSaE9EWVhkWWZkSnhEV1o2OU1qTGU5OGcyc2hrWkdSa1BDK3RDVmNtYTdXc0lteHp6Kzd1NjNzOFNEeW9tV1VkY2Y1NzNuWkdSOFVnaFMyUXpNakl5SGhaK0ZsTEdreVN5UjY2amYyYW1CUmtaR1JrL0QyUWltNUdSa1pHUmtaR1I4VWppcCtWS21wR1JrWkdSa1pHUmtmRnpSU2F5R1JrWkdSa1pHUmtaanlReWtjM0l5TWpJeU1qSXlIZ2trWWxzUmtaR1JrWkdSa2JHSTRsTVpETXlNakl5TWpJeU1oNUpaQ0tia1pHUmtaR1JrWkh4U0NJVDJZeU1qSXlNakl5TWpFY1NtY2htWkdSa1pHUmtaR1E4a3NoRU5pTWpJeU1qSXlNajQ1RkVKcklaR1JrWkdSa1pHUm1QSkRLUnpjakl5TWpJeU1qSWVDU1JpV3hHUmtaR1JrWkdSc1lqaVV4a016SXlNakl5TWpJeUhrblloMzBENzNlbzN0L1MvYlc2dmdocmp4RWVCV2hXN3o4ajQ2ZUhkN01XZjQvdFVLMThGMUR2UVJZUSsyODRldDdsSGQ3eDdhdy90TmYvVk5xZ2VGUUdqNHlNakl6N0loUFpod2dGREFkUTE0REU2Y2JZRXVmaUxETWNqYWlxT1NpSFNwT1JralIxQ3dRRm9rNmVrOVFKczUwQ1Fvam5QT2w0a2ZnNUNWcURVZ29KN1FVMVNpbEM2RTNZNlh4YUwyN0srZFVUSDBjTU1obk9XSVVHMVdzdjc0YWNxYkJFUkJVSzZaMUFnS0lvQ0hpOGM3M2pGcGZXR0pSVHFEV1VVcVYvNGNnaVZIV2xWNEtuamsxZXA0djJkbGNheW5KSU5aK0R4UHMwNlhsRkJJVmdlZ2VFZEdQdGFhUzkwZU9lSHpLaHpjakllT1NSMStZUEVRcG9PWjFXZ0xJRUtRbGlrSTQ1ZXNDbE1zUmppQk93cEYvanBLemZmY25KVXAyajk2dlFPaExVOWhPQ1EvRDRqcEMyNXpVWVl3Z2hFS2ZWUUpDalpIUjk0MXMzK2E0Y20xdHVSa2RrNzdPYTZ6YUdSWmthZmxrTWNYV0RJQmh0R0F3R2lBaXplYlYwQm1zc3hoZ1FoZmNlSHp3S2hjV21QcWtJeUpIU3BONXEwQVFFQlRRNE5BcVBKK0J4eXZmNiszcHNiR3dBTUpsTUZyK05oalN6NlpLR0puUkVWaTlYaVZydGU1bklabVJrL0hJZzA0R0hDQVVNUzJnYUVOSEFDRStCVVNPc0thbGNFdFVxajhhaDhDaUowNVpHZDFJWFVZR0ZDdkhkbEdEdVEyV2R1Qk8yZWhRTklLZ2tnWVVvTFdvbFVWb3BJS0NVSUpGMmc0b1NYSzJoU28rWWtmSHVzU0tSaFdQYTBsRUMyMElWR2hXRTRLVW5vZFdVdW1BODJLQ2FWWjNVTmtwc2RmZTlwT0R5N2tXc3RZd0hZd2JqQWFOeWhDNDBoUzRJS29BbkV0WW1NS3RuVk5PS2U1Tjd6Q2R6WnMyTUErNHQrZ29LaGNIamNkUjRBcHVqTWZ1ekF5QWdnQzBOUVFWQzQwSEFDQ3RFZG8wa2RyMzkwa3JkWkdSa1pEeWF5RVQySWFPMEJZMFRZTURGODA5eWNPQngzcUIxUWQwMERNb0NWSlRJYWdKS1FFbVNRZ0ZCQk5FUC9ncjFmZWF4d1dBUXJ4TUMzbnVhcHFGMk5RNEhPQlJ6SXFGdEo4NEZpVzBsc1F1cGNrS2FXSTBCNThrdE1PTTlvRTltVzAzRE1kSkhPS3FDNkxGQWhXSlFqRkZPOEVIUUdBd1dnMkZiN1hCdTl6em5UMS9nNHZsTFhMcHdtZDNkWGFhSDkxQXFhaXBhYllXSWRKK2lLRHJ0QlN6NmtYT09FQUx6Nll5YnQ5L214NisveHB0djMrQ2VPOEJSNGFLc2xqbHpBZzVQUUxRUXhOR3FaYlJSU0NYMG5qNTJwZTRaMTJnMk1wSE55TWo0SlVNbXNnOFZHaWl3ZXNRTHozMk1mL2JQL2pNMnR5NGdEQmlVRzZBdDgrbGhJcktDSXFCYklwc2tzMTc4ZzE5ZUJYQmhqZHB4Z2FxcUVKRnU4cTNybXZsOFRsM1hPRGZubFcvL0hUZHYzZURIUC80UmI3NzFKbzRvWXQwWWpCaU9TdTdkdTR2UUlEaUVLdHJiOXM1LzM4YVhXMmZHaWVoTEhudW1NOGVoMzU1VStoakZRQTlwS29kR1k3QnNzc1h1ZUplUHZQQXhkamQyT2J0MW51M2hOZ1VsaEVoeGxSS0dvMmlLRUVJZ2hORDlEVkV6TVovUDQ2VjY1amd0NmRVb2ZPTXB0SVpDNFhYZzNteWYxOSs4enZkZSt4NnYzM3lkUGJsTFJZV2p3ZVB3K1BoODdWcldyWG1lazU1YlRuWWt6Y2pJeUhqVWtKMjlIaW8waWhJWERGV2wyRDExQldPMjJMdFg0UnFGS0VIOEFGUkp0SG9MS05GRUFXenI5SEV5a1QzWjlpNkFkOUhiUzlUYWNsaHNkZCtEZUlJWC9KYkR1MENRaXFlZmZnNVVnL2VlZS9mMmVQWFZIL0tOYjM2ZHIzM3RiN2k5dDhkaXh0V0FaVEJRR0FNK05EUU4rUHZObzQ5V2lJYU1oNEUrY1gwSEpGYjF2NHZGQkkwbllDa3BLWGp5M0RVKy9QeEgrTURqejlJY2VzWjJ6SWJkb2xRbHltbkVDeUU1Wk00T3BnUWxhRkdJaGtKYnJMVVUyb0pSbk5rK1N4TWN2bmJVdmlFMDBUSldTM1Q3MmpRYitNYmo1dzZsUGFlTFUrdzh0c01ISG4rR21hcjU4WnV2OHAzWHZzTjNybitiR2ROb2VTdFJxcnZRZUxCTVl1OURaayswTk1qSXlNaDR4SkFsc2c4VkJXV3hTOTBVUEg3MU9mN0Z2L2p2YVZ4QlZSazJOMDdqZytDYlJEU1RXWUZtSVpIVlFBanRoUGFBQ0RVbjJkSjZMeWdsUzc4dnZuc2t6QkJ4S0tVd1ZxRzE0SHpOYkhaQVZSL3l2LzV2L3pPM2J0L2dyVnV2NFprRE5kRVVJYkJrVmZCT3ZNNldXbXBmb1pyeHZzY0pKZ050dVFnNHNIQklMQmtCbWhGam5uL21PVDd4b1Uvd3hPVW5DWlZpZXZlUTArT3owS1J1MG9BSmxnS0wxY241UzBjYldIeTBKeGNuTktIcGJHUHhFRlRBWUJBdFVaSnJGVmJaS0pHZDFSZ2lDUmJqOGNaVFUxT3BobHJWcUNFYzFQdTh0ZmMyUDNqaiszei8xUit3SC9ZSUJJYkZpUDFtcjJkN0h0WVRXdWwvZEZwV3h2NGNrdTF0UmtaR3hxTUtBL3hYRC9zbTNyOHcrS0JBbFp3NmZZa3YvZGEvZ3c4bDFtd3dHRzR5T2F6UnBnU2xVZGhrQzJoUVdCUUZZRkdpb3FNVnhkb1NzYlFtRE90S3JReEtHWlFxMXBmRUVpeUlSc1Fnb2hBeGdJRmdrV0NSWUZDVWFEVkFLUXNTNy9GTFgvd3lseTlmUVdFNTNKOHlyeHZhZUVOOXU5b09KeEZhdGU1TG5vWXpXRTlrVjBpc1RvWURCbzNHVWxBeVpvdVBQZllKZnZkei80UlB2dnhyN0pTN1ZIc056R0c3M0VVcVFUVUtMYVlqc0NwQTB6VFJ4S2FxOFkxSGdxQkZvNVhHYW90VzhVcUZMU2hNZ1RXMit4MFAzbmxDNHloVkVkVmlBa0VDSWFrb0NsMHdLRXBDSFFucnVkMXpYTDM0R0JmUFhLS3NDK2FIRFZXWUkwaUtodERHOE9vOThOcStwTG9vQzlGOUxjc3lNakl5SG0xa0l2dFFFZFh0WU5uWk9jZG5mK09MR0QzQ080WDNHcTF0dEt0RHBYaXdiV3pLTkVQSklpN2xZaEk3dm94bUJqbzVva1NuRk5XYUhxVHZFcElEV1VobUNhSzY3ZkVPOU9LN0tMUVVHSVpvU2dpRzRBeWhpZVRZNmlGTjVUbHo2aHdmL2ZBbitNaUhQMHFoQjF4LzlTY0VGSVlCU21uS1FZbnowUTY0S0F6V3FpUUpQcW51TXBITldFWWJpYXVQMFhDQWR4NkR4V0t3Rkpoa1JIQjU0d24rbzkvOWozbjJ5Z2M1UFR5TmJRcE1VMUtHa2tJR2FLOVJYcU5FUmRNQmtnMnM4bUFFYlEzV1dMVFJvQklSbFlBUFBrWTRVSkVxdHYrQ2hPNXZwUlZLSzVDQUtFL1FFcU9QYUlreG0wVUlMbUJFbzRQR3p3UEdHYzV1bnVlSkMwOXlwamhEbU1KZWN3ZUw3UjY4TElmNGtPSVhXQnNEUlMvWDBncVJoZHlITWpJeUhtVmtJdnRRa1R5dWxXVjM5eXlmLy95WFVXcEFDQ3BKTlJkaUZaVW1teFRnaWpZTXUrcFU2L0pBcGU1MHJxdHBmOVRpOStPMm85RWhTb1piaVMyWVJZbUtFNnNYdkJjMnh0dGN2ZklrbHk4OXh1RmV4YTE3dHdrRW5HOFlEVGV3cHFDdWEwSUlqRVlGVFhPUzJVQW1zaGtMcURYQ2ZRUzhFd29LTm90dGlqQUFOSnRzOFNzdmZvb3ZmL2IzMkFxbjJaSnRobXBFS1FPTU4yaHZVRUdqeGFSTUlHbTVHRU9HSUNvZzZXK1VwQkI0aWFMMnk5WFB5bmFWSWtFSDdlTTVrYTQzcTNUVjRFRUhnelNnYXNWQURka3VkemcxMnVYc3FUT01oZ051M0hrVENCU1VOTDRCRWNZYld6VHo2WnFhaW1QSGdzaG0wNXlNakl4SEc5blo2NkdpZGRaSUNRK1VBK1hwN0ZHVjZpVXdTR0dzRkdoSnFrUUY5MDI1dFRaR1FPdjEwWSt2cWVNMStpVXI1ZXIyTHNGQmowVkkvekthYXRaZzdCaU5SWW5ud3JsVG5OcTl5TTdXSmI3MnpiL2d6Nzc2L3pJUDk1ak5IVHRibTh5ck9TTFJmaEdhQjZuVWpQY1JWRzg5SSszNktuMVh5WkJnb0VhNEpxRFFYQ3d1OCtsZitRd3ZQUGRCdHZRdXlnMG8vUkF0SUM2R3QvS1NFaFJvU1ZxTVFGQXQ2VXRTVlpVY0wwUFJ1NlFzbGF0WTNlNTF3S3ZRUlZzUWlhRzBSQVFWRkVxZ3dHQjBRZUVOVmRNZ3pxTTk3SmdkeXQyQ1lzc3dIQTc1K2l0ZjQ2N2NaVUFCREtnT3A4VGhQWVUxV0pKVVovS2FrWkh4eTRNc2tYMm9VR2ttTnB6YVBjZHZmdjYzVVdvUXpRb29FZlRDMFl1QVFsTEVndVNBcFdKSXJpZ1pvdWZzMFN1UnhYZFdTK25sLzNuM3BlN2t3dW1jTFl0VkMwYlJOQzdHb2hYRDVIREtmRjVURm1QT25idkF0V3RQZ2ZLODl0cXJ1QkJ3dFV2SEJVSVFKSnlRaDM1Sk9wenhma1ZNamR6N0lUVUpsZXhoU3dZSUNvUGw2dmhKUHZlcnY4bkhYL3drQXphNCs4WStPK1VwVExBbzBVZ0lCR25iY05TQ1NPby9IUVZWUFNtbVdpanBVZTIraTNMMXMzWjdkNjcwZTVMVDZtVEtZekJZWXloMGdSSXdRU011NEtxRzJYeUdLUlhYbm55U29TNjUrZGF0bUZJWFIwQVlGQ1ZORzVWRUxWZFIyMitQSTkwWkdSa1pqd3F5UlBhaG94VmhKa0xhUWdrcUxESndkWlJOQlpTMGhMWS9FUjJYd1VzZDgvdnE5dlplK3VXNmUxM1pyaG8wRGUyMHY3REZqUmdQaDRqemVPY1pGbU8wamg3Z2dxRTBHM3orYzcrRktSWC81aXYvRHdlenU1Rnk2Q0hPejdIVzRwdzdnY3hteVZKR1JPd2I3Uit0TTJHMEhUVVV2SERoUTN6eDA3L050UXRQc2ZmMlBkelVjV2JqZkV4UUlGV3lHNC9lLzlIV05pMHlWek1qSjgvL0Z1dVNLYi96bTI3RDBpMDl4UktjcnhFOEZrdFJHRXpSTGhBYkNxY1ltUzBPYngveTB1TWZaRnlPK2NPLytRcWVXNVNNT1d3T01XajhtdFRRYmRLU1RHTXpNakllZFdTSjdFT0Y2aUlTbk40OXp4YysvenRvUm5objBLcEVNR20vYUUrbjhTaUprczlXSXRzNVk3MFhHOWtIdlhzbEtGV2psS016azFDdGpuZHhIZWNjV211R2d4SEdHS3Fxd2Z1QUxTemx5SEw1eWtXQ0YzNzRneDhTOEFScEEzTUpJaWRKWlRQZTcxRHFxSFZOVFBRYVhibzBoZzgvOFZGKzQ1T2Y1L0Z6VCtBbWdUQ0JrZGxnWEk2b1hJTlRIaWVPb0ZQNzFZcWdISUtrL2hhZExaVWsyM1JKRHBpWVh2OTdnSHR2eTNTK2xvM3JuZ0RWYUVVSUFlZWEyQytVQngyaWFZT0dRaHZta3hsS05EczdPNHhHUSs3ZXZNTTl1Y2ZDdFF5NlNBWXIxODdJeU1oNDFKRWxzZzhacW5YbzZ0TE90bUYwVkVwRkc2Rjc4UjdiVkxYdmpZWXV6cnpBdTVYSU9sQU5uUTF0YUhOblFodjJ5M21QVWdhdE5kNzdsQkhNTVJ3T0dXOFczSm5jWTJmN05KLzYxR2U0ZDdEUG4vL2xIK0ZUV3RzWUk1ZUZGVUZHeGdyQ2thYmFTbU1OR3NPTFQ3N0V4ejcwQ1M1ZHVNTCs3UWxxb2ppL2M0a2hZKzdzMzBiR1FxTnE4QUdsd0JxRGlJOVJPN3pIS0oyeTZTa1FrOVpwVVNNU1ZEU3c2ZEJGQURtbS82elpibnpiNTJORWhHZ3Z1OURRS0tNUTV4SHhPUEhVWGhBbktDMFlNVEN4bkJtZjVjN2tGb2p3b1djL1JCVXEvdTAvL0ZzTWN5WWNKcGV5QkhYa0ZqSXlNakllYVdRaSt3c0REZEtHK3RGbzBYaUlKZ1RKMWxWSjZ4Z0NjaVMvL0FubjdkQW5vaXFHM2tybURGckFvMU1wNktBSWltN0Mxa2o4WFdLZ2QzMkVYTGJPYWUwMW8rcHlPQ3h4THRBMFVYMXJUVWxSam5GMXcrMjM5eG50YkRJNTJPUEt4V3Q4NGJPL3cxczMzdUo3cjM0TGd4QlVXT1NXYjNHc1dlejYxSnRyZDFjczZrejE2MjlkUGZheUo2MjlEYjJ5TDh2M2U4U1VkODMrUzFoc1Z5ZnVkOXoxbDAxSDFzV2ErR2xhRngrTkhiR21EbE9iWFQxbStiZ0h2UGhTMEgrZEpMRUZCV05LU3Y3SmIveTdXRDhnSE1ETzhCUkthK2FUS1E3SHh0YVlLWlBGeVZJS1dSU0lqeWxuamJIZCtWdVRuaGlXVHFlK3NlaUhDek9mWG9JQ1daZ0dBZWlnVTlpN2xKbVBSVUlUTFRvNWZmbTRKc1JUdXdiUm9LMUJLWTEySHU4YnROWVV1a1NqOGRXYzAxdG5xS2pZdjMyUEQxeDVuc1k3L3MyMy93aU54Uy9aeWRNMWdEYkJTdnQvNlAzZng3SHZhTjNpVWxhMnJ4bWJWTzhhZlpPUSs1MXUzYVdsLytYZG9odXI3dGNmMXZTL0I3am5OWWUvcHpLaUh6LzR1SEVpT2pxdTcvL3YxVHpydURFejRrSEhuV1AzTys1ZHI5bDVkZGZsWGRyeDhUaVR1K1Z5NmRpZjJnQ1c4ZE5DTmkxNHFHaDdoR1Y3NXhKZitQenZvUmdUWElHV1FSb29QZEh6MkNISkZqV0lRb2dPS3Fqb0JLWVFTR3BRa1U1Y2hHczh3WU4zZ2RLT3FPWU5pR1k0MktSeFRjenpIZ0xpaVlIZEhTQUdUWUdpZ0dBb2l5RlcyeGpFUFprSktCRzhjeUFtSnM4Vmc2QlJ3YkNRTElOdkhCSUNXb0ZPWGprU1BGcUJ0WlpCTVdLNlAwZFJjUDdNQlM2ZHY4U2ZmL1hQR05xU09zeFJ1T2hUMC85MFZhZFJSc1dFRGRLNnNDeGMwTG9oZnUzeEpoSnZvOUxmQlNnTGxQSHZMZ0ZGUUd1d1JkeTFIYmlpek55ZzlSQ0ZRU21GdGg1VHhOTko3N3FxSUkzdEdtTkxKTVNvRTFyckpCbGIzTnppL3Z0LzBmMFYzM1g3R0hwcHIvaTdYaXAxT3BNbEVxR1dSRmlsTVZaRjU2YlZ1bmtIaU8rdUpIaTN1QmNWSmFFdEtldytRT3R3dEt4emVJOVFvTVowZm9aRE04Ukl3WUF4bSt6d3ovL3BmOHEybkdMa3R5aDhnVFNTdUtVZ3VxRUpGUjZQUW1GRW9RSm9weEFuNkdCaTlpMnh1TVlqSG93cE1MWWtpTkM0RVB1VUhpRXU5ak1mMG9Tbm84UVUzZHF3QjBMdGtjcFRVckpoeHhodnFLZHpNRFdtVUZobEVCOUFGSVV0MGNyUUJFY3dDcCt5aHdVUkJJTVdnd2tESkFnK1ZKaEM0K2VPMmFSaFhHeXpPZGpCQmNBcjNqeDhpK0Y0UUJYbUZGdVc0TklDczlRb0x4aHNTaFNoYU4rZVNXMnMvNDZPTm8va1phZmJkeXpyZDFZbWV1UjFzVzRWaHRCOUM3MlR4clFyR2hON1ZHcnRjdVNjaWphNFgydlpvVmx1eEwyUDBzZC91cWVPQ1RMb3J0eGVmVEdXOVB0ZFd1dkV4MTl6ZFk2NW0rVWUyZmJTNWVWb2E1NXQwa25XbGRLN1prR0JvVWl1amZIY2Jjb1BvMXJUdERhVDIrcm9jSFFaK3U3UWhsbHMzK2JSK2pvYXpUeHBHOU0vYXcxS1NXeEd2YnJUdmI5N0ZiajhXVzJVNlhWYnJUQkdVMmlkeHRyMmlSY2Y2ZDZHVHFlTFpXeC9wTG9rOVl6Mkp1VG9TODM0aFVDV3lQNmlRUklwVTYzRXRMVTliVldPN1g2UmtoaUJ4Y3J4S01iak1kNExJUVNVamRxWnJ3QUFJQUJKUkVGVVVoUkZFWk1zS0tHMEJ1K3FSRzRVMWl3R21iYmpWazFGVmM4SndhR1VVSlFHbzNRTTdoN1NSSGFpUkhnWmZXbU1FczNrM3B4aHVZa0tVS2lTMDlzWCtMVVBmWWEvK2RhZm9OSEh5d3Y2MTFRQnJYV3FPK2tHK2s1bTJmTDZ0U3ZwWkhjb3NVNlI5bWpwNmp1RWtBZytuZjJpQXJReGhLQVJDUWlPcFp5N3ZZRk9XZ0dkWG5RM3diUHNnN05jaDZzMUd0L0dRc0lhc1M2OWFDdUpqcVd4QmQ1N25JVE9RVkFUZy9lTFUrakZYTmMxcjNXSktGU2FGRVVrMld3Nm5ITXNEZytMOEZkSzkwN1dlOGdqdHF6dkhWTEhFMW1qQ2M2eHkya2M4UHUvL3U5VFZrUEtZckNJU2lBK3JYY2N2b3NZWUZJQWdYalBiYWxUK3dvK3NESGVSRVE0bkJ6Z25HTXdLQ2dHRnU4RjBXRExtTDNMYTA4VDVsVE8welF6UEk1cVduTjZkNWZ0elczY3JLYTZOOGRWTmNOeWc1MmRMVzVQYnVDcE1aU0kweWd4ZU5HWTBqQWNqSm00U1ZvVVJVbXVrZGJzeUtCRTBYaVBNZ3BOU2FsS3JDOHh2dUQwOER4UFgzcUc3Ny81ZmQ2ZXZna1dtcW5yNnEydVE2SWhscGhrcGMwUjVqc3poTGFHbGw3ZENuSG9hMStPZjZtcE5ldElJUXdLRzRSZ2lJUzcxNmpYSHI2R2MzWHlNbEVFSFNYa25RUjhxVlRIL0o2b25FcEVKVW1uRjJORWV2L2lqOXlUN3JYalB2bGE3WXY5OGFiZEh0ZDJDcU1zV2dXRUVNbHBVbzYxcGpMdG0ycUovbXJwaWZ0NzJzZ3pvZmV1MHJnZ25heS8yeGFXbnVhbklVN3NVOVg3UzNjWGUyaUVrQkxoTE5DL3UvWjl0QXVXZFpvMVpSVUVXVVNvRElzNkNVQmhDd0M4Q0NFa3ZVbnk0VmlXU0srVzcvU0pNbjRSa0luc0k0LytRTklmWVdNWG5Fd084ZDVqcmFWbUVpTUJlSStiSHhCOFEya1RhVFpSVGhBemZqbENtQ0ZCWVVvb2lvTEJZQnNJekdZelp2TXBTZ3ZGb0loU3BQZUF1bmFjUHIzTHZZTTlnaE0yTjdmNThwZC9sKy8rOEZ2Y25od1FFeTBjSDdsQVV1WWlTYU5ZbEV0SXQzdEwxSlJhRElZQnRSZ2gyNVY5OFBFUDBTbmJXVlE2ZWRlZVA1Nm5pNXlyWW5wZkx4VWdhQ3ZvSklrVldRaXJyQ21aVFdzUWkwakFoeGhLclN3c0lRUWF2MzRSc3FybVhWVjRRVHRScmpqRHBmdHM3N2QyRlFER0dBcGpVY3BFRXVxamc1Nmt4MTZxMDM0ejBqRXNGVDJQL21LUWhvMGdoTWIzZG9adVliQXE3SkZGY2Z5eTZ3RWdZQWJnSm9FdHM4bk16L25rNDcvS1N5KzhSSmlxQlNONFFDaWpxSkpaakxhS2pkRXc5cVY2em1FMXdSWURuUEtFSnVDb1FRZFVDY1hJTUN4TFJqSmtOcDF3OTg1TlZLUFpIR3d5S2tkTXFudk1ENlpzYkEwSjRyREJvSXhCbk1IN2dEUXg5NTJPYzI1Y2FyYUxxTEN3bnhlbENUN0tsOXIwdWI3MmJKVmpIci93T0I5ODVvUHMvZU5OQ2pObTFrekJwSFdHaSs5aW5tSTFTL2RtVGlLdC9lL2g2Ti9yZUpGS1RGVUJFdVAwMWlSQ3RrSmk0eW5DK3E3ZUxaSmkrMnpia083WVdscU12b3ZTQTc1dHEwZmE2NktGOXU5cFZaUFFsNmUyZlhiSjNLRmRFNmU5SlgzeDNlcTJWd2Q5eVNNcU1kdVY3YjJWaFFpNDBLQnhLS1dTL0NOZXVJMGNJMkcxdDdYM3F0YStybmVQNWZPdm5qTXBTN3B5ZWRFVHdLYm5URUtDOXJsQzd6bTdRdldhUy90N0xZdjZUZjFEYTZMV1VDbHExOFRGd1NwRFRyZnMvZUs0by9mZnZ0R1ZPVTZPK1R2am9TRVQyVjlxQkFaRGd3aHNiQTQ1T0xqSDV1YUFPdVdKMXpvUzNEYnNrRWpNdlI0a1JOS25oYTNOSGU3ZXZjMnRPM09HZ3hGYlcxdHNiWStvYTBkZDE5aStTTzhCVUJRRlpUbkVPVWMxanhUMGljZWY1c012ZjRRLytzczNhSlhoWFlDRzFZR2pOd0twWlBPMFVMUkhmdG9PZ292QlZDSXhVMkV4Qmt1STRqMEpIUTMyU05TSzlnZkJkczRXZy9NZThDbVdhVnJ4dHhlUktEVng0bEFVakllYktLV1l6dzR3UnVPYm1wWXVIeWRWYmNkZlNVTnBOeUdrc1grSmlNdks0ZWszWXpYZUJiejNNZTF2a3JjWlhhQzFwbmJObXNGNE1YQmJYZURGRTBKa2hPS0pzVWtUanJ6OVZiWGJvdEpaVUk5K1BycUZqZWlEUUJ2d1U3QVk4SVp0dmNQblB2dDVtc1l6c2h1RTVxU1paa1VLdm1aWHJUWHpha3BRZ2VHd0JBdXpaa0lnTU53WlVGdFB3TkdFaXNiWFRPb0orN2Z2c0g5dmo4bGt3bmc0NHZUdUtTNmNPY2ZXY0JzVmhDck0wQVBMYUh1SXVFQ29JcTBhMmdGV2wxUlZFOGx6Y0dnTElsSHQyVXFLKzNkZEZrTzg5MGhRYUdWUURpbzN4dzhjdzQyU0Y1OTRsdS8rNkJWdVYyL0g1cElJanpiZ3ZNUkZSeDk5MHNUSzMvMTkrdlVYNkRmV2xYMTY3TFAzKzBucmkvN2E1d2lwVHRmb3lkTlhMcjVjM3BkbnJLcUl1K2RlSnVjaUMzT0doVVdxSnF6cnZ5MnhYKzJYcStMYjdxTlhIcnd2eWsycmI2VVc0bHBKYkM5RmRBbElSd2JYajQvdHN5eVd3ei9kK01GOTF0bnpLZWhKVVdXMUhiVWIvT0krUXJyL2ZoMTNoeVFOQkNUdFdtcFB4aFJ4clNDOVVUS0VtR285V29jdjBGOWM5TWROV1RUUHhlMGNsZEF1M1hmR0x4UXlrWDNVSVRwMXlLVE83V2ZySXRDNENxVUN6Z2ZldVBGOXpwMDdSVkZhbEFrTUJ3VnVQby9PSmNFUjBqSllLWVUyVWVKNE9Kc3hIQmRzYkc0aW9xaXFRNXBHS095UWpZMFIxYXgrVDdkZkdFdFQxYWhrd3htYzBEU0JUMzNxTS96bFYvK1lXWmdScFNpckt1bzRLSnYwMk12alM1dkNOMXJadGVvNDNaSFpaTE9uM0JvSjBQSXMza2w4VlZ6cEs2MlMxRm9oRWhnTUNxcW1XcHFaclFhdEM1QUM4U21WUmFXb3BFS2pFZDlFdGE1VjFHNTVxRnhLR2FvVzZ2cXVaTGxjK3JTVnNLSVRNOXBBTUNoMHB6S1hvQWhCc0F5N2VscGdFYmdwTk5HR2RLQ0hHR01Jd2VHOWorWXBXaGFxd2RWSjZzaE1CSXZVeFZIQnZMREZlRUFpSzlFdWRpWnpCbXFBRjg4WHYvQWxOa2FicUlxNDBLSmdsYkIyaDZ0RmQ5R3JiU2h0cUwxanVERUVMVXlyQ2JQcEZHMWdPQjZpaHBvMzk5L2doMi84Z0ZlKzh3cHZUbThnS1JtQlJWTkVGdHE5OXpQbUZNOWZlNTRuSDN1U3JZMXRpbUE1Vlp4Q25FRGpRTU5BZzlhS2dTMXdLdUFrWU1RdnVLSVFNNHFsUHFCc2laTWE1MkNnRlVacmpGZjRLaENVNThMT2VWNSs2aVgrN2ZmK2lFMjF3ZFJYQkFLRDBRZzNueHcxaEJXZEp2ZDJkamVMaWxrbGZFRW5TWm9DNWRGaHNVK1EyQXNsT2JERk51cVBFdVgwSGx2MHRRNmh2Yzdxd3FqSDZielN5REdtQTlGL3dLejlQWlp1eVl4R1Z2c1JMSnNMOVVSNVVYKzFRc2hWditIM2p3dGdETnJFc1RWS0R6MWFMTXBaVklpMndFY2tmeWNnTHRROXlqWUxHaW05MTdiWXNZY1ZFeEJKdjcwbmN0WmZQSVFWU1QzTDcvcklRa2YzRmd4UmdxcVZ3cUl3MGk1UlVyWTdGdmJTb1J2L0FkOWFzYVp0WGNzSkNCcURqUm4wZENEZ0UrbG5zZGhmWGNqSWZjcGpkczk0dU1oRTlwY1djVkFaalVvbTB6MSs4TU1mOGovK1QvOERkWFBJdkRwZ05vdG1CdVBoQmtva1NkeWlldHhhamJVV1l3cWVlL1pGbnJyMkxCOTQ1a1YydHMraHRNRllVRHJnZlFxOTlSNFV4ZDRMMCttY29oaFFGQVUrekpsTkQzanE4YWU1Zk9seGZ2REdYVFNHUU9pRURuMjBhcWk0aW0vZFZWb0xXUU1FbExodVg0Vk5FbGNMQXBhNk44QXFGa1FyZnZkcGdGYnBPbHFseVQyaHFxdnU3eGlDVktORGlZaHQ2UXdHalpVQ1Q1UWNqb2NiSE16dk1CNE1POVYvOTg3ZzZHU3dUbUswS2lYckQ3ZzlxWEJvMm9HK3JaZTJwcGJjUzNvblNJdVpWQll4ZmdRdU9IeFNVK3AwSFJ0TXVweEhpeXdMWDllb2pTT0JhTzlqeFJUbUFhQ0FhbG96Vm1POEtGNjg4Z0xQUC8wQ05LQ1Z4Ym1BVlVmYlpnQVdZdTNqRVZUQStacUJNVGh4TkZJeDNDNFpqRXJlZVBNTnZ2bDMzK1RycjM2TmlSeFNVYUdBd2hRWW82aWJPWk1RMzYzRk1sQUQzdkp2Y3V2N2IvRzE3Lzh0bi9qd0ovajRpeC9IMTQ3QmVJQ3FOVTNsQ2ZXTWdSbWl0VWEzWWI2Q1NvNkJIaTJLZmdqcEVPSWZLbmxFYXEwWlVxQkZtRG1QcVlWbkx6L0R0NzczOTB4bFJvVWpvR2hjSURvOTlTU1BIWHRzSFpKMHI1bnBaTDZ6TElEdGxna1MyVUc3aituMXMwQjBhb3pPYXVtYTYwaGo3LzBja2NiMlNWRll0RjJKcXFQMERFZkxKTGRMKzYrV0ZvdnJpSFBYZFZiN1ZycldRZ0xjZmc4c1pVM3JFOTUwRXBXdXA1MnNaQXVPSTlVZ3hkbG9uYStpazFHcytUNUZqRXZjU0hmYlpZM0Q0VnpNNDdhb0tnVktvNHhHbEtKT21wK2xjYVF2TVg1dmxtRzlCMTlEWWxmTGJveGF2TC9TREJPUkQxMVY5cDJ0MHZJYm5ad1NGOXEyT0c3VkhMV3hqVFhWNElqa2xhQ1NMVXZyRmgyaVZLT3oxVm56U0tzQy92U1lDMmx4YTZLeHprOGg0K2VOVEdSL0dkQjNmQklOUFhlTjJmeUFJRFhPVDNqdHplOFNxTkRVQ0k2aEdmTDIvdHZFVHRtcWVDT2hiYjEyZi9pVGI4TWZHM2JIRjNuK3VRL3oyVTkvaVpjLzlIRVVocmR2dk0zTzVwbjNkT3RLS1p4ekZJV2hhUm9RUzFrT2dZWVB2L3d4ZnZER3Q5Tzk5VlhRUFpzczN3NStCcU9HR0Fab3NaQWtpbzQ1VU5LNk9TeUlic3hEcnhHVWVPS1ViQlA1MVVrK0VoZ1hJK3BRNGZ5OGM4WlF2VFNsTVhJQnlaa0lsSlJBZ1dhQVpjVFp6VXVjUG4yR0p4OTdER1ZxTGx6YTV1MmJQK1lQdnZKL2NqaVpvYkRIT3hVY1IxcTdoei8rbzVMLzdaQVJyUzk2SkI1RGRqWjN1SGp1SXJzN3B6bC8va0lYNTFmRnRGVlJUU2NPRVdFMm0zQndzTStkdTdmWTM5OWpPcDB5cXliTW1STWtVRkRTMEJCd2FCcVFFS1Z4cTVJWWlOS1h6aXZqdUlkNk40amh0Z2FNYVBEODJpYy9nM2Fhd2d5b0p6VWp1OUVMb1BydUVOS2tiRXZOd2ZTQVlCcUtEWU1xNGZXYjEvbnFOLzZLYjd6MVRhWk1jRFJkZTVuNUtmaWVlaFh3TkhocEdKb1lhV0JQOXZqS043N0NWNy94bC93SHYvNGY4dmp1NDV6WlBJdFRncHVraENDQkdCSENhTFFLQzdXckxKdEFWSTBIclZGYUUzeGNjQmdGcFRhSVdHYVRobk9iWjNueDZvdjg5ZXQvaTZVZzRIQ05pMFMyVzc5RXYvY2l4ZCtOUzQyWTJyZXQ2NzZKUzl1ZklyMkl6eHRWdWUxenh5Z0E4VGlkRXVjcUFvRkdvdXEzVzhzc09Zc3V5UEtTeEd4cG45YjMzYUFvV0dQZzhvNWdDY1NZSXkxQmREaWlZMUNTM1NYNStnSXQyZTJXWWRyMW5nTUlGa1IxdGRndUdRMkxaTjRtdGRzaEpSYzRRMG1CeFdDVXBiUUZwckJZYlZCR1I4ZGFoT0E4TG5oYzNVUzdUenh6NXR6Z1RlWTBIYUVLUkMyT09QQUVTZ284Z3Bmb1dMWmNweXdUdFhlTkU0anJLcnB4S2Jhczl2MVpyeE9SajcvR0ZxTW9LU2d4bkdJMzFvc3BzZFpTbUFKckxWclpwQlVxRVJGcVgxTTNjK2J6S2RNd1pjcUVoaHFOcHFaaHpweUdKZ25ZVXdwMHJhbkNmTG41ckFvTjFraGtUM3JNakllRFRHUi95YUcxWWpRbzJkZ3NDVlRBakVBTlZNenFRd3lqTk1RS1VkWHVJb2xKcWhsTmdkRWo5cVkzK0t1djMrRkhQL29Sdi9tRjEvamtKMzZkTStjdjQyWmhaWko1ZHlnSzA5azdUUTluMkZLeHZibk43ZjJmOE5JTEwvT3YvdUQvUU5MUUgxajEybzhVVUN2TmVMakZ1TnhsYUxjd3FnU3hTQWhZQzIza2gyaGphNU95eXFEd2FKbW50S01HSVNaeGlCRU9BcUpxS2o5bDNod3luZTB6YTJieCtndjNmRVFNNHFQMW5NSXdZcHVubm5pZWo3MzBLenp6OUV1TUI1dVU1WkRDQ0RkdnZjNjV5eHU4K3RvMmYvTEhmOGc4ek5NRUNwMlRDRDFweVdxNWJsRHRwRHh0RUtVWWJLc05wclE3T01Oamw1N2d1USs4eUdPWG4yQm5jeWZabFdtMHNqUk5URmhobFFhajBSSnc0aUE0UElGQ0crb3dSd3ZvUXFNa2NIdnZMdGRmL1JHdnZYV0R2LzN1MTRrV25uVnFYdzJLQm1rSmJYL0NWSUEwU1JMYUV0cjNZQitMWnNQczBIakhaMTcrSE52bEZzTnlnL3JBZ1RlWWdTSDBpS3lveFpMaHhJUmNxdDBuVUE1TER2YjNNYVdpR0EvNHg5ZSt4eC8reVIveWR2TldTOHNJeW1PTWlkRXJRczh4MGNCd09LQ2FWalErT3RpMWdhNDBub3FDUC8vYlA2VjU0ZGNaUGpXbUxJZEl0ZkNxRGlGMERvUzZVeGtMUWJYUkMyS3Eybkk0UUJtTmF4eStEaFRHWW14YXVqaGhPQjd3L0JQUDgzZXYvejFETk5vR0R0MGhuWFVIbWxLWGpQV0lrUnBRU2trWkxEcFl0Q3dpYmZhVnQ2S2lCSzFJV3lPUkNvUk95cTNRWWpFNkVpa1hHaW9xNWt5WU1xR21pbzZPUFZLMVZyZXp6dXdoalZnV3kzbHpuaUljUDQySkhNL1NMSnFTZGhudmNEaHFQTFYyT09OeDJyRmZIWFNrTnJaYVNmdUg2QzdXSjRVQ1NNQmlLSWtoN3d3bEZzV0FnakZqdHZRV3A3WjMyTnJhWXNkdXNOV01HSVRvV2E5U0hPUFdZVXNwZGVUK1l5cmwyRFlxM1RBYjFCejZLZmNtaDl3N09PQ2dPbURDaERrVk5RMDFIa2REZzZPUitONlc2dlduQVhWTUgxNlNaTGJFdmcwK0ZuVlZRMGFVbEF3Wk1HYkU3bUNiM1kwZGRzZmJiSlJEZElpWjlJd1l0RXJaOUNCSzRvbjIvK2dvVElnQlBRSmU2dmpFcXVIVy9tMm05WVM3aDNlNHl6NVQ1dWw5QnVyZzhkaGw4NmgxNWdidE5sbjhlYXp3SWVPaElCUFpoNDJrRWxROVk2MTJzSXFmSk1WU2ZZWGI4cjZ0elZmbnFkcGZhaXNJd1RHYlQ5QTRBaldLR2tuZXlyRXpwbTRwUGFtbklrclhhTU56V1NCd2UrOTEvdmQvOWIvd3hodlgrVS8rK1gvTzNyUm1PcG13dGJVVnZibG44KzdlalZtV2xIVDN0eFJHekdFMUJGRU1CMk5FT3c0UDU1VEZpRXNYcjNKbTh4eTNEbDlIWXdsNHJJa0RqOUVHSHp4YXhiaWVXeHRuK1MvL2kvOEdIVWE0U2xHYVlaeHdmUHRNMHBuK1I5V3lSUW5ZMENTVGhVaGlFVTFRQWRHT29DdUNtblB6emh2OHQvL2RmODNXYUp1RDJTRUtHSllqNXJYRFVBS1dzeHRuK2ZoSGY0V1B2dnlyWERoOWxVSTJDTDZJNFpRcWp6ZXd2WEdlVU5kb05XSVdBbjVwRmx6WE5vNStWeENqSlhqcEpvTllEdENwTzI4TmRuangyWmQ0OGZrUGNlM3FOVlN3YURHb0ZJWkt1OWJyWFZNbVZiK1dnRytrazU5cENRUWRVSTFnVktJcklhQWxjR0U4NHRLTEYvbm9TL0I3di9kUCtjSDFIL1BLLy9mM2ZQL1Y3N0kzZlJQSGxDakxpbWxWZGJJa2NLRWxrREV1Y3BkZjlqNFNJV05pbkY3di9WTGJVU2k4YjdDVVBQZkU4NHpzSmlZWTBKYjl3d05PalU4ejgzWExBQk9CbHFWNkZVbTV1Wkp4b1JJUElpa01jK0R1L2gxR1cwTkM0WGpqMXV2ODMzLzRmeUhHVVROTGROUVJKTVpYWGtvNkFPQmhQcW1Xbmk4UU92MUhUY1ZQNnJmNDgyLzhCZGV1UFEyaXFiMmpxdVpzRHJkcE0rQzJFVG1DSXFiSlZRcFI4WHRSRklRUW8yRm9xNk05ZERMemFNTThOVlBIcFROWE9NVnA3ckJQN2U1RllhejNLRkVNR0lBWGZ1UGpuK2F4TTFjWk1hWjBCYW9HSzZhTGtCQ0lEcElPUVZRMEhEQWh0dC9XQnRIcjBDVjgwTUZpdFkxUk1sUkFTcy9kNWk3LzhrLy9KV2ZITzd3OXVSV2RhMVE4KzZLT09yNGFZUzAweVpZelNUc0xMSmVLOC96K1I3L01zQzY3ZDlrdlY3RzYzUVREcHQ1aU9wMHlsNHJ4dVExdXptNHlLeHVhUWNPLy9vdC9UVWxKUlIzVitjbG1QU2kxR0pmYndLNkFOYkUrTEpvQkJTVUZPK3h5c1RqSDFkTlgyZDNjd1lvQkR6cG9ocjdBVmdyckgwd1E0RXhnSXdpYjJuRmhLSmd0amRlQnZjbGQzcmp6Tm0vVmIzS1hPMVJZaGdScTFUQU5rMDVKWVVZYWZ4aERGMGJURlVuajVUdUhLVFFoMFBrU0tCVWRKRU55dUdwTkpVeUtibXZTZUtWU0hWM21FcGZzQmM2ZlBjZnU1aFltYUVJZEtJTEdWQnJsWWxzeW9sTm92SVZwQjVDV0ZYSCtpbjBpSUxxSXlYUzBaN01jSXh0Q09CZW93cHk5dzMzZXVuT1RXM0tUZXh5aTBNeWxKaUFZYmFpbGlXWjJyWTNEQ2VqclBqTWVMaktSL1dWRTY5QUFMR2FEVnZybGlXbGwyMzBiV2pWN2h4VnBvTklOQkNHR01wOEJoaDlmL3c1LzlkVS80YVZuUDBQWnFDNjJLTkFOaWlFRTlCRTJ0b3ErZTBkUzBhTzc4dXlwODl3Ky9FbFU0Uk1IWER6SnBsZUJSQnFITDFCK2dKSUJ5aHUwR2tKUXFKQ2VXd1YwbXNCVVdzMHJpVUhoWTY1NzNRMktXam1DTkdpeEJBVVh6ajZHcG1BNnF4am9JVTJvcU9zYVRjR0dQc1ZIWC81VmZ2MVRuK2JhWTA5aC9KRDVKTkRVR3NReU1FUHdIa1BBeXh3VkZEb1VRSm1VdFRWMDVHYU50S1FkTFJWWVUrQnFUd3JNeE83d0ZLV01PS3ltS0RUblJoZjQrRWMvd1F2UHZzaXA3Yk94eHBvWTFGOEZFOHRrVTlnU1dTMEwrWUpwSi9oMmt2WWhSclRvWXE2eUtGVzBzYnl6UCtXcHl5L3c0bE1mNHVhZEczenJsYi9tVzkvK0dtL3V2VWJESEUwRndVZGJUcUkyZXpEUzFENFE2dnZyTlB0dHFVOVF0TmJZRUcyUW56LzdJbWQyemxJeXdNOERCUU5HNVJEWEhKV1pSTWUvUlhzN25rTEVkalBlR0ZLRk9VMm8rYk8vK1ZPOGJianRiZ0pRMDlEVHpjZmloRWZxVER3SlNTRWZxS2k1eWR2ODZkLzlLYi95d3FjNHZYV2F6ZDFOM0N3NnFsWFZERkZDVURFaFFpdDVEMFJpNXdFa0Vxek9KMTJSSnYzWXQ4clMwb2p3ekdNZjRHK3ZmNTBDU3gzbW9BVXQwWTY4eEhMcmpadGMyNzVHS1NWRFY2S3JHSEJmaHdXUkZaVmNadEw0WWtMVVlIZ2Q4Q3BaYjdiUkZVUmpSZU9sd0JOd3FtSERqOWxnUkpnR0RJYUZHeHVkNlFLdzNBZENpQXdwS0t3cU1Ha3RjbUh6REZ2ekFSdlZNQjcvYm9tc0x4anJiZXkwWkdCcTFJRm1KSnVJVExpN2Z5ZU5DVzNDajNSbk9oelZqcVFBS0VaaXJ4NHg0TEsreE9YdEsxemN2TWltM21Dc1I1aEtFeXFCSm1DVXBsUUYyaHM2RytQVzhQa2Rsc1pENFJTRmVMeDR0RlhvZ1dHajJHVDMzR21lQ0kreDUrN3g0OXMvNW5wNERTMk9NVU9jOHN4ZGd6K01iU2hJNkJ4OVliMGsrTmcyblJaV3BPWW1BYndQblFUV29pZ1pVR0FSb28vQWtBRVhoeGU0dkgyWjgvb2NXMnFEWVZHaUtrMm9QRGhQS1NhYXgzaGlXd285cjhRVXVTT2s4YnE3VXhVUTVRaEtJcW5WanBJQ1JKQWdCRDFtYTdqSnFUTzdUR2FYMkpjSlA1aSt4bHZjaWhKNUw0d1pJaVZVb2NiNTFML1hhY1d5UFBZWENwbklQdW80b3RicHIxaGJrckx3dG8xWTZFamllTFhpZWE2V2Q0M3hWeDFRbzFTMEJiMSs0M3Q4NVkvK2dCZWUrU1JsdVJHbFFuNFJQRnhyL1M1Vzl5Rkp0L3FJOTN6bHlsWCs4Zm8vSURRb0ZGYnBaTVFQS21XMENaamtIVjJBUkxNQ0ZVWlI4aUV0Q1FzcFBpeFJFcG9HUStWYlQvNFVTa2ZGT3RWVUJEUk5OV0gzM0E0YmFwZXA3R0hGNGhJbGVmemMwM3pwYy84ZTE2NCt5NFZ6RjNHVjUrQmdUc0dZcmNFdXBSa3htellRR3BTRWFMc3JBbUloMlNyZUZ5Mzc4ZEV4emxBd29NUVRtTTFySEFYWHRwN2owNy82YVo1NTVnTnNiV3duMHdxTkNsQTNIaDJpVkUySlRjU1ZCWkVOdW5lcE5neWJoK1R0TGNuZWVKMGpXbENhUzZmT2NHODI0ZUJnenVtTjgvejJwMytmRHovL0ViNytyYi9tbGU5OG5SdUgxd25NZ1lhQ2dBOVFUY042RC9FMWFOdlJraVEycVYralRaM2w1UmMrd3Zad2wxQUoxYlJoT041aU5GRDRKblRQdTc1dVQ3NkJvRUFiaFJmSGozL3lLcS9jK0FjVTRHalkzQnB6NStBUXVxVmFtNlVOMWsxeTdUNzlQVlF5NEhFRXZuSDlHMXg3N0drMnoyd3hkVlAyN3U0eExBZU1ScVA0SG9pQjZHSzIzNENTT0hTYklOQTNtV2hORUtJQko3TjdjNnl4ekh6RDFjdVA4VmZYdjBwaExQaEFNU2lSbVVjREE0YmNlT05OM09NTncyRkI0U3pHV3dZK1NmRUplTEdJOWpqbGUwVFdFb2pTUVlkUEVtVEJCSTBOR3UzaisycWtKbWlMMHhWUDd6ek5LL3Zmb1dCQVRjV0pjaTBoMmh6ckFnUUtaWk5NVDdoMCtoTFdEU21hQnlTeW9XUWdZMEpsR0l5R0hCd2VNaDZOcWR5Y3Q5KzRtVWJRZnR0bjRjZVZDR3poSXJlMXdJZ2hwem5OaFkwTFBMYjlPQmMyTDdBaG01UzFSYzFCUmNzYmxGZVUxcUtNWVM2QlJxZTJvY0s3S28zQU1KU1VUdkMrd2RjQkdvVXRZVEFZc0ZWdWNXcTB5MVl4NHN6QkRtOU4zdUptdU1taFAwQmhjZUlJMnVEQzBmcC9wMlEyZUIrYlg2ZlZXNWdSREJpZ0U1bTFHTWFNT004NUxwNit3S25OWGJiMU5xZkNLWXJHSXZNUXRScU53b2lsMUFWbE1JUW1kQnFCdHFRZHA0RWxHeUdsbzJZdFNXYTlObGp4Qk84UkM4SEFRSS9ZS3JjSnBXZFdOR3pNdDdtK2Y0TWI4eHRNbUZEVDRHdWh6WkVteWkzYTRlcXozN2QyTW41ZXlFVDJsd0t0bEtBbHJ1MXNab21ocTB3eUlHb0hnaFdEbjlWT3V2SzlXNnlyQmxzVStOcmhhZmplOTcvRnJWczNPWDk2c3lNY2lxak9MOHN5cnZMdk94WXVob00yRzR1UzVMRXJtb3NYTHFOUkhlV1QzcVJuakVMNWxJY3NlYVlxaVY3QXlsdUNiNlBRdHRlSXgycFpRL1lsRXFNZ09qcHdoQUtOZzJDWkh6WnNqVTR4bTg1b3hHTVk4TlNWcC9qOFozK0hEejc5Q1N3ajZvTVlGSCtveHd6dEJxSHk3TS91TWh4c1JpbVpRR3RMSE5ScTdNa1ZwNG1lWlVncmtWWEo0aTZhV0Nnc0JRVWp2dkRTYi9Ic3RaZDQ2cW1uR0E1SHVNcmhYRWgrZTRKV1JTS3hDK2xyTnlHczJqWkxiN0lrWFg4MTNWZnZHSTJpbVRpb0JYR0J1V3ZRcnVETXhrVSs4OUV2OEpIblA4eWYvZlZYK000UC80Rzc3amFlQ25CZG15Z0hNSnV2YVJJcldDV3hFTnRZUU5oa215Y3VQSW5NQlVzUjdkMjh4UGkzYnBFWVk5MHpLbGsvRllYT2pDZFF1UnFuSEgvL3phOGxDZW9VUjhOQnZaOElUWnV2dmIvK08xbFZ2RmliQktiTTJiWUREdDJNMSsrOHdkV0xqNkZxelhobnhOWndrNFBwaEU1dFNraUJGbFRYS1ZXU2RBZmxFTFY0VnliMTk5MExaMm1vRWRWd1puaU9BU1YzL0IxUUtUUmZrb3A2SElmYzQ5YXRXMXg1OGdyKzBETlNGaE1zSnJReERId0tMaThwY0lER2VwTWtZd0ZSaVdDRUJaRzFUZXluMm51ODlRd0t5K01YcnZLZC9lOHVhcXduSlQ4U2J6VDFBNjNpNktCRmtnVzQ1c3oyV2RUY3BJVWhpN1o2SEFGYjJhNkRpUXRacjFIS0lFM0FqRFhPT1c3TzNvcjFTczlKcW4xNTZXTUVocUlwMEl3WWMyVjBtU2ZPUE1INThVVkdmb1NkR3NMYzRaMmlEQmFMcGRBV28yTTJPU2NneWlVeml0Um0za1VwQWxKRElacFNEYU5EblJPOGR6UjF2RUZ0RlJlMkxuQnU1d3h2VGM3eGp6ZitrZXZONnpUTWNRUXFQRUZMSjFsdHpjSmlNM3BuWkRaMm80QldjYUhlcHN1MUZCaWdwT0FNcDdtNmNabkhUMTlsWjdDTlZCNi83d25pQ0VFNmUydWpiTlRvZXhVVGZTaE5QOHJCOG9WVjc3ZVFOR3ZSM01BSTBVWmJhWnlQanBBa3pZSFNNYlRrd0d1dWJUN0o2ZEZwTGg5YzVQcnQ2N3pPVDVoVEl3Z1dTeVhnVnhMeTlQVlRHYjhZeUVUMmtVZEwxRlluVDVOK2J3ZjZOaWQyNjdYdkY0TnlpOVV4cStVdWFYS0pDUk1xaWtKb0dzOWhkWnZyci8rSU16dVBwOFFLZ2dxQ2M0NnlMQ1BwT0hFZ2pDcHNKVzJFd0o0dFl5S2JXMXRiUFlYandvWkxBMFpKSXJZcC9XZzNVZWs0NEFlRlNpdjArSHVTUmg3eGx0S2dMRzJBOFFVMG02Tk5adFU5dGpkT2MydDZHL0JjdTNDTkwzM3hkM2pobVpjSjA1TGdGUU05WURpT2FVYm4wd3FwWVdnSGFGd00vNlZDdkZaUzB5OFVxbXZRdXdlckRFNkVncExkalZNY1RpWVlESmMyTHZIRnovNHVIMy9wc3hReW9xNXI5bTVOVUFLajBRYWx0VGdDM3JVMXF3Z2RLVmhJVjBQdkpwWnRyT1A3T1JvNGZaa2FocVptZHp5bUtIYW82em5UZ3dtTnJ4bHNiSERsekM1Zi9vMHRkcmZPOHRXdi95bDc0U2FlaGtJN2ZQRFVzL3NMWmZzcXp6WmJUOXNHQk1YVFY1NWhaN3pMOUhCR01SNHhMQ3krQ1lqVE1icDVsMi8rK0ttbmpRU3cybFJGUlhYNmpiZHY4UDI3UDZCUWxwbUhlNW4xQUFBZ0FFbEVRVlE0ZEtHb3ZlK2NwYVJIaUZmSjdPS1V5NHVWbnI4Z2MxdUJVM3pyQjYvdzNKUFBzK0ZHYkJmYkhNd1AwVGFHVVlvYTVWaEtpT21yalVTSlo1dll3eXVKOTZ5RUdPTlZzVDg3WUZiUEdHd1BDZHB4ZHVjMGQvYmZUdWJKZ2lpSEU4T0VPVU9HL1BqTjY3ejQ1QWNKQ05vYVFoUFhNRnBVMGxpRWRJM0Y0a3lqa3lSdTBYNU0wUEVqUWhGTVRCYmlBMW9MdTlzN3hDWHBmVFFTN1VJdWdITFJ1YThOb0xUTkZ1TmlpSytnc3FtdTM2VkVWZ0RUekFrMnZrdW5HaHJqMkovc00yR0tKSW9mK2krMlIyUXRsaEZEenJETDVmRVZIanR6bFhPYkZ4akpDS2JncGcxYlppdmFvS0t4U3NlRUZDSTQ3NmthUnloMUYrZjZpUG5PZlVxbG9Bb3pSRm1zc1pnVXNzMWpLYkI0VlRBSWxucFMwMVNCTStZVXc0c3ZjZW5nUE5mM3JuT0RHMHhEVE82aHRjWVlzNlQ5TU1aMDVtTEhRYlVXTEduUjIwWWdzTWtOc0tUZ01YV1ZaeTg5emZueGVZcktvTzRHckM4cFZVRmhodjgvZSsvMVpkbHhuWG4rZGtRY2MwM2F5aXFVZ1RjRWFFUVp5bENHVXMrUzVrRWF0YnJuSDV4NW5LZWVOVFBkczhRbHN5UkthbzFhRkNVUllsTmtneUJjb1FwbHNqS3Z2K2VjTVBNUWNjNDlOeXRSQmFKRWdNREt2VmJXemJwNXpiRVJYM3o3MjkvdUZzbXRlalk0SHp2QU9VdVo1ZDJ4OTJ3STJNNGJ2TC9JUFpzUkVWQTZTenJkZU4wUVFxb3ZBSEVCM1RndURRN1pIWThaTUNCL1VIQXIzR2JLUEpYSTFmRzZUM05ERVBEaGNVdlZpL2lrNHdMSWZwWkRBdHVXUm1uUzdsYXdQZS9RanBGTks5eXpIWDJBaDFlODBWUFdXdHROdW5Wak1ZYlljY2hXM0w3OVBsLzk0cmEreW52ZnJlWWZwNUNWdGxpdDFic0djSklBVGxBVVJiSDFldWNzV3NWc28vYzJOaDd3c2FGRENERk4yZzZNRVN3STI1cmhkc0JUZ0VYYWxxcmRZc0FnaVlXUkVGdk1WcFdoMEVPRW5DdkZJYi85bTcvSDEzN3UxNWlkck5rZkg3Q2NWRlRMRmI1MnFWakJVcG9oT3pzalpvdFYvSHhwTGNRczdlSWpzSEVoM0pvc2U4ZmYxbzdjREJBTDA4V01qSXd2WEgyTmIzejl0L25TU3ovUGZMSm1aekJrVU82U21TSHI5WnFtZGpnbHFTaG9rOVNPMk1sdkpYS2w1NlY2SGhCNEhDTXpHdVRZcG1LMVhLSzFabmN3QnNZc3F3VW5IOHpaTzdyRXIvL2liM040ZU1UZi91TzNlT3Y0aDZsTmI3Ky8xNGZIV1Yxc0g5Z2FORjk1OWVjb1ZFRkZnL2FHTE5OVUs0dnk0THgvcU9Ed280UUthYUtVZUIzLzhJMGZFTENzUW13bVlMMkRrbmhBMTJ3aDhmWlg2YzVzcjc2NUw5MXBmeStnbHVobWNLKzV4N3hhc0x1N2h4TERiREVoeTdJb1FCRGI2MmdVNzJFZElIUHhPRGJhMHVpV1A1U2toODVRSmtPQ0lTc015bXVlZnZZWmZ2UXZQNkFvTkd2cndJRFRIcisyYUJ6dnoyNXo5L1ErVi9MTE5BUzBSRmJNU1FUc1RuelN3NTUvN3ZwWGl3UXdRU0hPSWo2Z2ZRUzdlV0VZVURCbjllZ1RrU1ExZ29CM21BNGtLYTd2WGs1czlNZUhGRUU4dGFwQStXZ2hWM2dXYnM2ZHlSMHNGYTFuYStqSk05c1ZhTXMwSG5LWlYvS1hlZTdLYyt6a084Z2M3TnBUdUlLaEhsUG9QT296dmFYeFRXZnJGcEllUWVIWmROemlKM3BVZ0JvRVFyQlJKdUJKaTNlTjFwbzhSSDlhdDdiVTNsT1VPZVB4a1AyOU1ZTXFKNnpnbExlQlptdk1ia09weHg5YnBWVG5MOTE2dEFwNWtoYmtmUG53aTF3dUxuR1FIVkRXQnJQU21Gb295REU2eHdkb3hPSnR3QVlYczA0U2tFelFXVWJqZmRmd29pMXdQRzlwclRyNVFYb3VMUzRiYTZOYmlSS0NLSlNTanBUSk1kaEZSZVlVMldEQTllRTF5ckprWnpIbVI2ZHZjcGY3cUpTSjZJK1pMWmlGajVCd3ZJaFBKQzZBN0djOWVtblFDTnI2RTNkZkg5dG5ZMldUMyt4ZXgrWnZ2UWcrQWo0Q0tCMXZZT3ZhREpkbHVWeDBMSmx6RHExTnAyRjB6ajIraFcwYTJDTUoydzdxbTJpQlNMUXVyeUtMWWdSWEI1d1BLTlZYRy9hc25mRFJva1ZTNHJmSHVHMktxanhSdU9iamNaTk4wWnVRQ2daOFRGa1psVEZneU5kLzliZjQ4cXUvZ0E0bDY4V2N0YXNJdGNPSW9WQ0dZVmxFL2RXeTV1NmQ5eG5zakZFMGFkOHNRVm1DY29sSi9pakRvTUtJeGhGTnlGNTU2aFgrd3gvOFIxNjQ4UUlQN2kwNU9IaWErYXptWkRyREdFTlpsbVE2d3psSFkyMTMvTTR0b2ttTStFWmYyUWV5aWVYeUg3NFUwUUVtazd1VU9pTXpPY0ZCTmJVRWdid29HZS90Y08vZUhmYXZIUEVMWC9wbGxCSDRlODlieDIvZ2FDaEVzUXhWZitzZUcrMDJLcVhZS1hhNWZ1MEdUZVVwOHhHMnN1UzVRWHhJMWZ5OVBYM2NpaXJGMmFZYmsvbUVOMisvUWVRWkhiN3RUbVdBaHMwSzRhSHRKQjNyTTdLUnM0L2VFMlNObHhJZE11N2N2OE9WOFdVbXkxTzBWcEdSSmVDVVJyV3A5OTZpTHhZK0NWNEx6b0JYQVVUd1FWQmVFVndnTXdXbjh4bFROKzNZNDdxS0lEYmU4ZzFCS3lwbm1ERGp6ZHR2Yy9WTDExbk8xcFE2NzlqWGdNZXBnRTFnTm5nd1BhdXlGbWhJa0c0aGdLUzBidkFncWVVemxxTkxoOXc3UHVHUjU3NU40YXZJK0k1MEdiMTFnYWV2M2tBM2tEdFBZYys3ZnM4N0p3Ly92ZEdXa0FjV2ZrWVlCQ2FyRTI3TjNzVW0rNmJrVHBiT1ZYeVBCZ3JKMlFrN3ZEcDhqZWZITDNESkhDSnJXTThyZENOa3BxUlFKZFd5QXA4Z3NWZ2NEdEVSQ1NzTnVoWk0rSGkxNzA1NXBEVFVvWTQxdTAxQVM5VERlMnU2MG9mU1pPVGEwRFFOYm1JcGRNNzF3VFgwVHM3OTZZeDFjN3Nidjl2aVN1QWoxVGk0WG90WjB5bExZWWN4VCs5ZDU4Vm5Ya1RQZ0puSE40NlNJU05kb0N1aHFpMlZhYWhVTE53VkFwYUFFVUhyQ01Zckd3dVRnelFkSTl0bUJBQjBPNVNuYm5lZGFDeFJ0MDNUSU9pVXpZanpZeEFCVVdRZTlyTmRmT05ZaDRwOFlEZ2M3ZU16ejlRdU9KM1BhSEFJcnJjd1RmRVI5UDBYOGNuRkJaRDlETWQ1dmVFZkhlZE1xaDNRM1hxeUM1Y0tBYlFXVENiVVZVd3RkaHhDQ0owKzFqbUh5dkxPenNWN0gwZnJEL24wMWtnOVJyTDVDUW9WTkQ2eEFUcWhVR1BpNmhwYXBxQk5MNS9IR3ZSWml4NlZraVpkRlQ0c3ViOHQwWkJBYklHb2NnYkZEaTlkK3lLLy9xdS93OTc0aU1tREJidWpRK3FWWlR3WW9wU3dYaTA0WFV3b1RFbFdaSEhvRTArMGRkcDhmOHNxdFA2eEQwM2xQY2xIb1Fwc0U2VUZ2L1RTci9BYnYvTGJYRGw0bW1vcDVHb1VpOG1DWmp6YW9jeXphTFcyV2lFaURJY2xWZFdjL1hTMnJvTldYeWcyYmxGclVZVkxlYnoyL0tsejN1OFpEd2J4Q0lkb0txOU5ZdndkVkZYRGFMREx5YjFUekk3aUsxLzRCYlRXMUgvaCtHQnhFNEludzhiYS83NTFWZG9FNmZpUWVPdzhTY3VIWXFoMk9CZ2NNakJEVnBPS25lRU8wMnFLa2JnL1JabkhCaHRwVzF2OWRhcjM3eGliRDJ2dUZjVGpsT1BleVYzbUxIQll5cnhnVmErUURCNkx2eDhGblB1THlQUzdxTURhemZuemYva1R2dit2LzUycFBlV0FmZFlzMDh2YUszWWpGWW1zWUdSL28xOW9aQkRqVlc5aXNRckNpQkZUVHNuUldMV09ZRXBBRmVEYlE1UXBuTE5ZR3Q2L2Z4TXpVc3hPNTVpVzBmWlIxeDJ2M1o3RVFDWGRibnR2cGV0Q0VTOGZTMnhMWWhVRUVVUU14aFZjSFYvbjdlUGJySmx0RG1SSW12YU5zcWlsMndocGNWSzc2SFp3ZGY4YVptV2l2S0ozS1B1UDV4NzIvb0pXWXBHYTZJQ3pEWmt4TE95Q0I1eFMwZUR3VWFEbGV2eUFnQW9GdTJIRVpmWjU2ZWdsRHR3K01oZDg0eGlFa3J3czBGNVJWUlhlZTdRV3Nzd1FsTWI2T3ZhYzhqVTBpdHhsNk5ETFRVZzZ3M0ptWE9pTlhmMGRxcW9xS1RBMGVWRjBMaFBCeGtZeklVVHR1UGNlWEVBcFFXdERhUWI0elBEeStFWHN4SFBzVHJERUJoeGVOZUI3UHJucDNMU25vOTIrbUZtSUc1UXBRK0Z5RkZCUzhzemdCbCs4L0JweUVoaTZBU05UVW9RTXFVSnNIZTBNWW9TZ1BGa3VHSk5IcHhvYmk0YXRkZFRXSVZyU0ZkVWRuaWdGNm5UWlorN2hzUDM2ckNpNmNjTVRDTjRsVGJTQVZ4VEtZRU5nVlVFVEhFR0UzZUUrTCs0OXh6QXIrZWVUNzZLQkZZSU56U2FiRWpaejRBV2UvZlRqQXNoKzJwRktqQ1hwU3lWc2ZpZUU3VjdnaVZZTXllZkVFeER4M2VBZnJaVThJcHVoM1llNG9pUTBYVHBYU1IvR0tUWmdaYU5GN1hSWWVFYWpBYzQ1MXVzNjNyenB6Nk5zbjczZFE2cmxpdjM5ZlU1UFQvSFdNUm9NV2N6bUZGbmUrUXNDWFdGS081TUVDVWhvRUJFeVBhQnFoT1dpd2VRS004aFpWaWZNRnhPZ1ltMFhHQVBXZ2d1SzJCcEJZejBvTXVyS0lXVFJJRjRQV1MrV0ZObVEwTElLWXJjWUdVbTZQdGhJRjBKb0pRM3QwQlFuYlBFWjQrSVMvL0dQZmcreHd1bnhuTjNkZldhbkU0cHN5TnJWMGFwS0MraWN0WGR4d00yaWoyendudUFEd1N1Q0J4OFVEbzBqTGhCYWlhWFc0QktXMUlrOUw4SUFDN3h3K0NxLytTdS94d3MzdmdBdXg3blVCOGNaakFEQlVxMldJSlpNeFE5MDZ3WGFhMFEwbWl3dU9JTEZ1dFJlT0dqR2cwT3M5ZGl3Qkdud1lZV3pOVUZBcXp4YWtEbEJ5Q0s3R3h6V3JXajcxRzlzWU9PazVGdTlNaTc2UzRwbloyZUhaYjBnYU0xWFgvd0ZtcW5sTC8vcUw3alBCeFNBWjRFVnZ6VWFHVzhJVnRLa3BhTXZaQ3JTVW1RRWEvamFGNzZPcTRVOEs2anJtcUlvc01FU2xEQ2ZuejRFSmx2WEN1bFZhVXRhaEdVbVdwdlpwSUcxMGtEaCtZZnZmeHRON0E2MHFLc292VTVkaGNVUXJaYy96a3pXdnNmSEM4K0hCSEJvZU51K2dhQ1ljTnk5L09IbFR0c2RLZjQxMEJZbWJmN2VPaXFjMEs0TmJMUXh3K01jc0doZnBxSWxGQnBQdzkzMSsvemd4OS9qcGNzdm85YWhhNnlucEFYSGxoQ2tTNzByUWl6dzZ1enQ0djhkSUxtaWFUdzJCSlRLOEpWamYzU1ZWM2R6WHVkZldUQ2pic2V2VkNBRTBlV2dYV1BiQk9JVzFaS1NrcHdoQjhWVm1za2FGeFNOdUlRdFdwQWZPbkJ6VmlZVHRkQ0pjVVRoUkVQanVHVEdQSGh3bitQSk1SVU90VnRTelpmc3BzdnlwQVd6K1pCbVpiakJFZi96Yzk5Z1VKVW9GejlYSVlnQzY5WnhqTlNBUkNsUFk5dVREVXFpaTZyeGdsOHBjbFdTRnhwRXNON1NVTWZ6clVQWGFLTnBxdGdCMFNTNWxmTlU2NXJTRElubGIwQjBTVXpEYTRqamcyeDA1bHBpSDdaUXhVWEZ5STM1VXZabEx1MC94ZC9jK3p0bUxKZzFDOWd2WWIyTXpRN1hSTDIxYTV2RmV0cTIzU2hnQ0N3aFdJOUJHRFBtNTRvdjgrVnJYMEltbmpKa25WNDZvai9CRlFIdkhVRTVSTWZtS2FGeVNNaFJYcU5EMFMyV25IV1lQRHFvTkZXTldLSzJOa1MzQlp0NXJFUk50aVNMdGdDb1RKQk1zWGJyNUMwYjd3bERaRysxMXhnUGRaakZNYjVVWktha2NaRFBQZGU1enVYaEFkbE1lTjErSDhjQ3lYTWF2NEFBaFFKdkw0cStmbGJpQXNoK3hrTzJKQUxuL0xFclJQRzluL1BpTElpTi95K0tqTVZpaFFMMmQ4Wk1aL05VYUpXeGFocXVYWG1LUE0rNzFYKy9NMDAvVkhoNHZwZEFsQ0EwRGdrZVEwbFJHSFNtRUxWR2E4MTZ2ZHlheE9POEh3aGQ4Wm9uS25GYkx1aWNneUg5ZmVzL25tVnorMytQa2dWQlUyakQ4OCs5ektqWVN3RE5vNEpDNjJ6elR0bVlDSW5hcEx3SUxjbTVyZUhhN004bUgrWjlDMktGakF5UHhnYlBjd2V2OEkzZitGMmVmL3BWTWhsU3JRT0dBbU55NnRwMmV4MlptY2lNdG9VNFFxeit0YTZPakpnS0tCRjBwaUZrVENZemdoZFVYcE1YZ1N6VGFLTkJDVWFYMkVvaEpxZGVPUmJMSlVXbUdZMkhCRit4V0U0cFRMNDVMNlFVTTV0R3BWcEI4SjRNUXpWYjRTdkZGMS80TXN2Sm1qLzc3amR4MU96bU96eXdEN1pTOXRHRE9OWStoelpIbXRMbUVnd2xJdzVIbHp0dDNObWorakNJN1ovZmM3SVpQZTJCSnhyK1YwM0ZkRFZoeFJ5ZlROK1VKSUZjaUNUMlI3VGJqSEhlYTd2bklzQzBxVTNxSnhLQkNGSlFYZXFmNEZtejVON2tEaTljZVo1MUV5aDlTYVpLSlBRSzdUUW9wYVBIYmNxTHRJeG5TdFVBME9Cd0JvS1grQ3FYWVpxY29SOXp3QUduM0tlV0p0M0JLZ0h1RUYwRStwMnpCSHhxYlh6RUVWSnJNcUx0MWtiNnNObXQ5dnkzejdYM1hac05hYysvQzdFVFdyQnJmSENjVEU2eFFGVXRJL3ZhZmxRQU1PQU5ROW5saHI3R3ZoMFFuRVRIbE80MThVNW9uL0x5OEhncmlUVU1HSVk3c1kzeTJscXNiM0NTN21makVZVDFhazJXYVpUUlpEcG11aHlDRFFHSFNySUwxZTJvYTV2bjlMNDNKSWxMcHkrVnVPRFVIZzdzUHJieFBNY3p2TUZiVk1wVHJ5YWJXdUZlNWs2blIrbGF5d0JWM085MnpIcUI1N2t4dUVZeFZZelpnZG9sMlZncVJHeFBoazdhVi9GRTQwT044aVE3d0ExUjRVUE05TFg3azJsRHFUSzBqWDMxUkFTdElkTVpDazN3Z3ZNTnpzWEZvV3dTZ2lrTG8rT2lJNlNNb0RScGtSeGJsR3R2VUFFeXIzQU9uaDA5emVsa3dweTNXZGFybENMMFdMdFZObjBSbjNKY0FOblBmSndwNU9yaVVhQzFIKzIwNmJjZSs5TjZHOVBrbXdtZ2xNRTV4VFBQUEVlZXQybGNPbzNWUnpYVVZwSlJ1VGg0RjVuQ21LaVU4c0VoSWt3bWs0ZmVFM3Jlc0QvdENFazY4WVV2ZkFGakRLSTBWUlhaRVMxcU15SEtCa3FIQkNzbFJIMXRIS3hkR3A1OXA3bUNDUEphRkJxQnFLREVFSUlnQ1VoLzlTcy96ODkvNWFzTXNpSHJxWTFzV3JDYzFSTnZlUXFuQ3BXMks5WkdCZ0tvZ0Nod3ZxRVlqYUtWbFhKNFk3RmhSZDJzY1RhZzFKSlFHNGFEQThyUkFKTXBmRk5UVlJXRTZDbmM0Yjh6cDd0TnU0a0lxL1dLUE0vUVNsSFhEWmV2SFBMVkwzK0Z0OS8vRWYvOS9qK1JhUjB2dzBCa2dlbytrRDNyTHh6am9Oem44UER3WTUzVGZyVFhhVnZzUWdkNFBKUDVoS2s5eFNWVnRaSnRRZXhIbE4zK2JFY0FRa0RuT2I2eXRPV1o3OSs2UmZYOG1peVVxWXRYUERaeEVSbTZGTys1SDlsTDl6cm5FSzAyYlZlSnh6ckxNZzdOSWUvWVZoclFncnUwa0FBd0NXQW4xanZpMmNEVFY1N0dOeGFqRFZ1Mkd4OGpsUGRvaVFWM3Arc0Y5N2hQTG9hcWladVVCRGQwV29sYWNYbDR5TFh4VXhneDJDZG96OTBvendPMXhDVWpmNFhIYU1pMG9DVzZzb2lLV1JzWHdOcm9kb0FJeWhSNEUxaGhDZEo4NkxsbzArL2QvenJkZGh5N1NpbllNUU9lMjN1YWR5ZnZNU0tqcmpYa2RvdlRpQ1pyS1oyUGp4M1owdW8xdzVDVE0yYkVpOWVmNTFBZlVwODA2SUUrVXlaMVRyUnpWMWRSdDhrbWh0U2R5NHFQcThZTU9pR3NlRmJVV0cxQkNSa1c4VHJXWk1oRzU5dmFLcmEzcmJTTERiSFJheGFTYlZ5U3RRSEt4MFlmaU9MU3pnSFBtV2Y1NEhqQ25CcnJkTWRTYlBLV0YvRnB4NFdMeE9jeXp0NWU1OXh1b1RjUnk2YVMvbXhVbGVQZ1lJKzJZR3h2NXdEUU5NN3ptNy84RGZiMzkrTTNwTWtKMkdKbkh4VUJoVklHTUhFbGpXQ2RvMm1hNUpUZ3VYZDh2OTNjanYzcVY2Ny90Q09FUU5NMFhMbHloYnF1dStldHRZbEJsZlNqMHVTdU5wTzhCTnFPWWhLU0JBU1A5ajdWK1BvMjV3dnA1U2FCMkpDTzkxZGYvaVZlZWZrMWpDNlpua3hwbWlaV3NxZnRpbS9jVm1yMUp6VnJMVW9KV2E3UldhcjhwY0g2bXRxdmtLS2hNUXZXWWNyY25yQm1nWlNlMGFXU3c2ZjJLWGR6YXI5aVhTOVFKcUJ6amJXUjhTakw4cEhIVGhIUGxiZHhNaHVQeHhSWnp1UjBoakU1My9pTmIzQ29MekZielRlVWJzMVdhOGd0cXpTMXVaNzJkM2NabG9OL0l6Q3B0Z3BkUWxwRW5aeWMwQ1NWWnpleGRrS0t6MUg0Z081Vm9Iazh0K3ZiSEU4ZW9ET0ZNb0lWUitNYWJQRGJHdmpIUkh0Y29iZG9zSTVjR3k1Zk9vcExPd2NoTGRzNmdVQTdmcVJGbm9iRTBTbXVIbDJKYWVid2Nlb0VOaUY0Y2lWNDMyRHp3SzNKSFN6UmRxeGpPSW1YWkZ6NUdTUm9ycFlISE8xY1NtejJFNFE0WnMwcGE3WEFqeXgrejdNZTFqeklwbndneDd6cjduSXZYM0JYenpqUksxYVp4ZWNhUk1kQzF1U25KOWc0aHZkL0VsaEQyc1Z6L05IQnB5SkJINXVVTlk2eEhuQnB1TWRWampCZTBFR0QzUWo1WTVZb3BNOElIVWxPQUhHUU84T0lFVGRHejdBLzNDY2p0c1J1MWczUmJRRE92Mk5hOEpvQWJHOVIwSGJtc2xKalRVVlROTlJGd3pLdm1HWXJab09hOVk2bEdsdnFrV1dacjFpYUpTdFZZYlhGNjVDWWQ0WHV4dWhVK0p0a1NsN0ZYSUtUVGJaTVJVVkh6RHA2aGJIQzBjNFJUNDB1VXhBN0NhcFVWeUFYNk9sbkppNFkyYzk4Sk83cncxS3NEK1V6ZTh6dDJVeDdmNndKbTFjdnAydEFVNWdCZzN5UEtSWERiTXp2L2U0Zm9KVEJOaFlSNmJ4a1c0RDFPQ0FMNEoxRTAzNmRFd0ZGVGNCRjJ4K2x1SHYzTHJJTlozQytSWC9ieFZrL2pSQ1IySTVXS2Rick5YbGh6dXlYU3BteXpndWhBOXh0Q3F1VEhJUkEyd2kzNVI0Y0NsRSthaTFSaUppMHlORHNxSDErNit1L3c5WExUOU5VbHJxMmpNb1J1U2xvbkl1VHhGbFQvODRrUEQ0MlRZT0lSblNVRjNnYUpBTzBBKytadS90WTQxQ0Z4WmhZbUxPcUttYXpLUkllY09YZ0JrRUZsck01aThXY0lzOFpEd1lvQ1Vsbisramo3NXhqTUJoZ200Wkdld2FEQVE4ZUhOTTBEUzgrL3pLLytvdS94bi81aHcraURsYTdhTFZiUUZpREVvMUxSUnFiL1l1czllNTRMOG9Lbm9BUlMyY0prZWhQM0M3RVhBSlR4eWYzZXpLSnhCajJEdmZHZXVnekhFbVliVjAwZ1k4QU5hcGZiOTY5eVRPdlBrT293VFlXN3lNb05jYmdDRGpmYkJWejlxTmxBZHVNQnRBQlpwOXMwUTczTDZIdnRNMFdrZ3dHYUh1K2hwWkpDeVIvVXMySUlYdkRYWmg2MUlmVGtCOHBWQUJ0WU9FcjFycmgzZVlESEZHUDJtS3ZXa2VyUDRKRzBGeGloNmZNQVNNWjRTcVhWS01mOS9zOSs3a2k1SjdhTkp5Nk9iZVhEN2k3T21YcUZqUjRjbE13a0pJRHZjOVR4U0ZIWm85aEE2WlNVRm15UVdJVEgvNzBYaWVzODc0N25pRFhPTEk4bzNTS3AzZXVjWFAySGdXR3lya29Cd2l4dlhhdnhnblYzcEVodGpBMkdLNlgxM25oOG5Pd0ZuenQyU2wzc1BNcTFrbWNtUWEyQzdSYUVIa21tNWlLTFVQbXNhYW0xcFk2Tkt4c25ScnZ4SVc1azRaY0czSlZZSXhKcktxQnl1RXFTNW1WaUUreWlPVFFFbVVPTGpHeXFzdEN0Q09uRG1BY2VDVlVTOHZ1YU1TMTNTdmNYdHpqbVBzc2ZaemZ0REpSS0hzUm4zcGNBTm5QZENSWndYbDQ4ZHhCdmszamZJZ2xWampudFFpTlUwQkdaUlYzamsvWkgxN2pELytYUCtMNjFSZHdGbHl5ZWRKYTQ1cFlVTkszY2Zud1VEUXVvQ1JINjhneWlncm96Q0NtWWxrdE9ENisxNzNheTJhQ0ZJbEZiMUgxOU5NTHJUVkt4UXJrTmlUWnd3UUg0bFZ5UVVnRGZhcjZQeC9DUzhmV3hvbWhIYnpiUjQxNFEwRElLSG4xNWE5dzdjcXpaS29nZU0yZ2lEcXd1cTRKWGpEYVBHU1IwMVVWcDhpeURORXFWZTA2TUFGVkNNNDcxczJNTjk5L2kzZHZ2YzBiUC9vQjcwL2ZTY082Y0czL09rOGRQYzJOeTgveDJpdGY1Y2JsNTFoTksrckZtc1liTXExWnIydU1lUlNROUlUZ0dBNTNPVDA5WVhxNjROS2xBMGFqTWJQSmxIcFY4NlZYdnNLZi84T2ZVck9tc2xFVEdUdTdKUXUzRmprcW9BNUk2dXQwc0xQUHgzUXQyb3EyQU1oNmoraFcwK2dSRlRnOVBTV1cxRVZWWVA5eWJoc0tmS1lqTGJSOEFOOWVSd3FjdHpneTNydDlrNTkvYVFsQllWU1duQXFpVEVEYXlmOHhoMEJFMEcycU53UzBxR2lobGNGT09hWmt4Sko0YjNrRVVRTEJ0WFIrQjJRVnNTSDFrWXFzb1FsQzhKdFd2Ujh2UEZvRXJ4cnVyazQ0Wmdvb0xBMUd3SHB3N1REb0ZUa1psOVVlUjNxTXJuVjh3U092LzhlRWVFd2h6TnlNdTVNVDNwbmQ0dTF3ajN2TWlONFNBVzB6QkdGTXdlWDVBVTl6aFJ2bUNsZkxJdzRQZHZIckJnbDY0MzE4QnJ6Mk5lVFNQVWU3VTRSUUU2eERLOFhsdlVQR3MyRnl2N0N4TVFHdWsweHRqbHI4eVlDQ25DRURybyt1Y2xRZUVlNWJ4R29HWmNsYTlYVzZjVUc0MVZFMkNLR0ZJS0ZWbkpMYXkxcWNxdEZEWWVZcWpxdGpIcXdubk15bVRNTXlGc29TL1RwMnpJRDk4b0RkYkplajhvakQ4aEpaeVBCVlNLeTk2bXBKUXR1K3Rtc0trNG9pVXh0bUhlVzc2S0FpQVBZS1l6T2VHbHpoMmYwVDZ0TTFkZXI4MWJqUCtDTDJjeFFYUVBZekg2Mys1M0VEYXV0TzBCWkpaYVR5REtDUGhaTUd0Z095R2tWT29RWlUzckUvdU1TLy84UC9sVy84MXUvZ2JJNFMwekdPM3Z2a0phdTdMakdQNW1RVGM2aWlFYmYzRFVwQmxndno5WUpidDI1eXVuelFUWnA5Tmt3MEJQdkpBSWtzeTFpdjE1UmxpVWkwdGRGYVkwU2pmR0krbE85WHVteTBsbHRndFZXT1J2NHBjbENiNXpRYUl4bE5FSzdzM09CWGZ2SHJhQ21vbG81Q2wyVEdVSzBzNHNIb2tycFpJMGFqUHFUVktvREpNMEJoZllNWVFaV0t0VjF3ODlhYnZQSGVHL3pKdDcrWmRHd3hIWm04TUhqbjlDM2VPMzJmMTMvMFhlNmYzT2MzZnZuZmNmM1NEWlFVTE9jTFRNZ3dwcjJHK3QrL25RWElsS1paVjJSYUU3U2hYdFdZUEdObnVNTnl1bVIzdE10dmZ2VzMrSlBYLzVqS3JTRUR2NDdYWmF5d0IybGIrb2FZZU00d0hPNWZTc2Z3eWFKTlRmY040Vk5UVWliekNTNDIva3l3Z3ZaeVJRS2MwNkwrTXhjK2FTNGhnczdHVjZub3luUEgzK0hPeVIydWxMQ1hIYUtDUm15STUwVkNkL1FmZFE3YTRzOE95R29OVFFEbktiS01vL0tRZFYyeDlpdWE5dHJwVzdHSkVMbFFnOEp3NWZBSXQ3YU0xQUJwK3Zxb2p4RVNDTDVHNS9EV3JadXArWEJpMjBLMENVWUFrMEZsTUJROFBiakNKYjJIV2d0Szh0U3k5K045dlJOWTY0WTdxd2svbnI3TE85eGl4b3FHaGhwTE1HQkRiTU1keUdoWWNjb0pkK3hkWGxXdndPNkF6SU94ZVRlS25EMGIvWGJjblJSREVnTXFGbDNDdko2aWR6UEtyT1JBSHpGeFN6UUtHMkxYUko5R3NaNHNOckdxaG9LQzUzaU9vL3dTcGxMb1VHS2N4aTRkV1ZiZ3ZlMjJiS1BoNzQrSlByR3hMWWlsczc2ejJyR3djMjdOYnZITzlDYkg0U1FkbjVZcUNBZzE5eXdVOHp2c3NjT040Z2IrTUhDa0w1SGxzZE9pZUxWWmNMVWFZWEdwUU5la0FqTjZJRGJKS1lJaWt4eTdndDJkRWRkSFY3azd2Yy9NVDZqUXFmaHdjK1F2NHRPTEN5RDd1UXJWbzBqODl2UGRZQkdkSnpmaXpMN0FQcjIybDVyV0ZEZ0MzZy80emEvOU9uL3crMy9FdFd2UFVLMXJNak9LbGUxTjArbmx2UGNZWXpER3NGNnZOejZVSDdiRkV0VlhJUWlOcTBFSERKN1ovSVNiNzcrRFM5cXVXRGpFdzBxSm4zSzB3SHk1WERJYWpRakJSUjlFWXhBdjZMNVFvR00vM0ZZclF5ODl3QlZVb2lWaWViNlNqVHdnY3FFWkFoenNYK0VMTDM4SjNlU3NWbFg4bTFMZ1BGbGVVT1E1MCtrVVl6UmU0dUM3aWMzMk9CZncxTmhnSVl2NjJPUEpYZjdwZTkvaDcvN0gzNkR3TkxUT0VKdlJQaWJvREJVci92WUhmODM5Ty9mNS9kLzk5N3p5N0d2NDJ0R3NISHVqUFZiTCtTT1BuOWFhNlhUS3p1Nlk4WGpNeWNrSjBqUU1oME1hVzJGWGpxLzkvSy95WjYvL0tSSVU1VEJuTll1T0ZkNGwwSzgyNlZzQkNpa1lEM2ZJVlBadk5vZDB4VjdFaVJRVldOZHJmQklhdE5aT1NxWHFlZytCalZ2RVp6Y1VXa1dHM3VTYXBySVlBbG9ackxmY205eGpaTWJzRHc0d1pEUXVwbmFWQnBOYW9qNHEra0JXQXpyZEMrS2l2R0J2ZE1DSm4xRFZGWjIxVTgrcFFJSW1OcHJXbE9Uc0QvYnhsY01VbWxBLzdFN3hrNFhIaGdxS3dQdkwyemlFT3JsVENHdzZaU3NOUWNkT1hzV1lQUm1nTEdpeWJkbkxUL3J0QXVTR2xUUUpvTm5rQnR5Z3NzaEs0aUVZd2F1WWliR3VvV0pGV0FwdUVualp2SWgyc1docHl6d2hSWnV5VjhGM2RubWQ3Njg0ekZDWVR4Y01CL3M0UEh1NysvaVRkOUJrV1A0bE1Cd0FBQ0FBU1VSQlZHejNXUjFaUVM4cmhxYWs1TG45WjluVk8vaTVaOWZzRUNyUFlqRm5kM2NYRjdZQjhDWjZrb0tlUkNpa1podFdXeHJUY1BQMEZtL08zK0lXZDFqVDBCQlFSRTlla1FEZXg1YS96R21vc0pWak1COVFqQXQyMUE0bTZxalFJZFprdFBzUk8rVkZRcUU5YmpGVDFnZmJpbHdLbXNXS29pdzRVTHVNR1RKZ2lLQlpNT2ZDcytCbkl5NkE3S2Njb2hUQmg4N0N5dnVHTEN0cHFuNlhsVlJzRXN1R2svVnNPeXhzVnJmYm5XdFNBa2pBV2M5MHV1Q3JyMzJOTjMvOGZRWkRRemxVTEJZTGlud1VpeTNTNkpRcGpURVplVjZpVmNaWHZ2UlZybDk3bHVlZmU0V0RnOHZvWUdoV0R1VXpJS2V5elZZeGg5WWE3MzJuSzkxc0UyZTJqN2hQUVJEUnVHQXB5NExKNGg2RGNjbG9uUE8zLzkrM2FGbENZTHRUazNPMGpIRWdiSndTd3ViM3lQSzJWalRuNllXMzA4UGIyeGQvcit1S3Npd1pqOGRwSXFrWkRBYmRCTzE5d09nTVphSTM2OHJHbnFWbFVWRG1CWXZKbkVHUnM2N1dESGJHek9zSDlIWEtQazB3SU9SU1VBZEx6b2cvL1AzL3dISldVYUxKMUlEZ3dGbEhsdVhnQTlWNlNWNUVzQkZaalRoRG5VMTNXMnRCQld4b3lJd2dHZnpwdDc3Sk96ZmZ3RkZocVhDSkM2TjNoSVRZaUNCbmdLUGl6Wk1mOHQvKzZaQ2p3NmZZM1RsQWkrVjBOaVUzbTMySjFld3BIWnpZRjJjRHc4RUExemdXOVlMYzVJVGdxZGNObVNwcDdJcUR2VXQ4OGJrdjhmck5mMkkxWFlLSmJMc215VHBjdGZHNjhWR2VzVE1ZeHc1U2p1UU84ZENwM1Q2L1o2Ni85bWtSc05aVGxpV0x4UUpsNG1SblE4TnBmVUxiOUxWbFk3MUw1d3o0UExBeFF1cmdKTkEwc1JXMUM1NjVuMUV3NEIvZi9VZSs4dkxQc1ZqTUdha2R0SWxTbXFxcUdCUWwzallkNEl1T0JsMjVWdng4clZpdVY5SGlLZ1JzM1VTcGdmTW9KN3p5OUV0OC83dmZUeDYyQVJjY1pBbHhhYUQyYURJMFVYSno3ZWdxYWhvWW1KelQ5WVNpTktsMTczbmpDNTBlVjZleEtJNng2Um8xVVkvOS9za3Q3blBLZ2lxT1dkNVRhbzExRG1kTU5IZE95dEM5d1E1aDdWQytSS09wZkwwQmtJL3BMSFpldUxYRHJlTmlTVktPSVRwMU5IRWJCMEFUYVB5Y3hnQk9SVGJRV3N6TThkS2xLeWdjTG9UTmVaQmVmVUxmZjJvenJFWHR2dkk4Y0RYTkNFN2NsREF5bUZGQmZqSmdTVVZBRVpSanF4T3diN1B4QnRVWXJ2SVVRMWV5cDNmSTh3em1ubHd5eWxFWmF5VlNwaXFjYVJIZXlodU1pUjNIbHNzbCt3ZTdyS29sUzdkaTU4b09kMDd2OFByOGV5eFlVRk5UdHc2N3FxTExSSWFHVEVBSFRjQXpaY0wvbVAwSVZTbCs2ZGxmSkJ5bmNUOUVJWUo0dGNYYlJPczJGWXZmRW1tQ3RBVnFDcnYyN0IwZWNPZkJNYnBRL09wcnY4anQ3Ny9QblBNYXpWekVweFVYUVBaekhpS0swV2lYWC83YTEvbmlGMStqc1F2eVFqQlpCRGxDZ1hjQjUxTFhKQjlReXNRZk1VeE9aaFRGZ0NJZkl5SEhOZUJ0Wk1waXd1bkpWcVFpd213KzU2bXJsN2gxOXgyT3JveW83SlFmdmZWOWJ0NS9tNUFZa2s4cmlxTG81QVErcmY2ZGM2bFRqcUxRZ1dXOXdOWTErU2pqOE9BQUw0N1paTXJ4bmJ0YzNqL0NpV1ZsVjFBMzFLRkJkSnlzak9UVVlSbTFmdWdFcmhUWDltNHd5TWZrVWlKT0k4R2dndlRBV3J0UWFaUEFNVlR5azVUMHV5Y1dKSW1PYVRLUDQrMjNmOGpkQjdlWitsTWNUUWRpSHlySXdPT0NKelo0ekhBb2ppZDMrZURlZStSWGNpQlBkbFdLTGRzdmVQai9aeVBvbG85aFlNYTRwdUhaNnkvd3ZYZGVSeG1OdHc0dEJvL3JQRGZiM1ZaQXBqSXlaZEJwRWZOa0VZdTlXck16SDZMSnZ3MnVreFA0dUtubnZQT3pEbVBiczlCYjRxa280WEZwLzJzcVBqaSt3L1hSZFp5M1NKb3l0S2pVd09Vbi85YjJQVHJBUUpYc3NNT1V5WWIvMDJ6czJFTHNVcWJRSEhDQUNRYXRCZTlKMHBiSFJ3Z0JIL3pXQWhlRUlCNnJIY2ZMKzRrTmRiaFFiOEI5ZkhOWFV4Qmhwa2FkZHpGOGpOQmVVWGpOdnV4d3dDNHo1bFEwUUlQeUJsODI4VGowUUNUYTQ1eW5saG1MY01va2U0QXR5cGcxQ3lFK3RndDdpQVZRUk9aVDhKMTdsVTc2WHpYTVdMbUtXbUMxcnBsVTgyN0U3YVFlZlZXVVJOSkQrZGhrNVhKK3hLNGVranVOMUVMMDVZcGZvcFRDU1N5Q2JmMTBWYkxaNm54OXJVTWhtQ3lDUjYvalBweFdVMjVQNzdHbVlrM0RtcG9LdTBrczl1WWRDOWpnT25aY01lWFVubks4UEdGUDc1SGJXRW5STDd4RjJxNWcvWVBia2gwdWFxT0RRb3dCcHlsOVFRaU9kZDF3eENXbXpGSG9XSGR3RVo5NlhBRFp6MjNFRzdScGF1N2ZXNkMwcHh3VWxIbE9WUzFwYWt1V2pWQWhqeU9hOXoyZ0Z2QnB3TGwrN1FYcXl0T3NhNXJHUXpBb2xhRWxOaU93RDJra2Y3SUlBc05SeVhSMnd0NytrT1Zxd25BWC91Ni9mUXRQUldjaUNYMUo3eWNXclF0RDY4cVFLZDFOY2twcjZ0V0NmSkNSWjVxbG5YTnk5dzVlUER1akVUZGVlSXIxYkVVUVFSVUJWU3JFd3JKWlVsUGp3cHIyMk9sa1o2UlF2UGJLYSt3TXhxaW1JQVFWUWF4dkFXTTYzcDNwZVN0dE9DOFVTZ2xCUjNOMUo1YlgvL1c3M0p2Zm9XWVZXUi9PdlAzTVIwVm1LQUs5dXc5dThmWjdiM0Y1L3pvRG5jZFd3aUZOVHVlQzE5QkxQVXNIMUVNSHloV0Z5VmlzSzE1OThUWCsvTnQvUXNnOHEvVWlGdjBBN3N5MUpZQlJCaU5aQWhSUEJtUVZtOEl5UXB4d1d3c3VTNU1ZMlphKzdiM3ZzNjBuQURhaUl0K2lsSjRUa25OdGN3YkhqOTk5azZ0ZnVVWmpJNXRLMEpqRXFuYWZsZkJMdSs3b1MwRzJ2alAwZ0t3WFJ2bUlTK2FRaFYwZ05Kc1A2azV0dkw0VmhpdWpxK0NGWEdlNE9ycE1mQlFiMlFoa055QzJMVlp6T2xCSnpUdW50N0c0Nk9SQjFQVTNiWGRXNzdxMHQwYWlybEtSQ2hHZjdDTFFBY2EySUdSN3VPeHBRZ09XRDJJekxWZEJGV0RIZ0YxM0JpMng3Qlowc055djMrZi9ldWYvUlpIM0lGZzdRclJ5SllobGRJcTJ6VUMvK2lGMlVqTkFiTFN3eHJHS3ZkYkk4b3pHTmoyOWN2dmhPaFdrNWp5MWQ0VmQyVUZiamE4ZHdTclFDdEZ4OGVERmI3R3hFTytkRmtBNlc1TmxHVm1tc2NIaWpPQVZISzlPdUZuZFRrdnR1Tnp1UUd4ZkdVZGtpRDNRZUkvUVlGaHg2aDl3ZjNXUFlUYkNxUXdqa1lWWFFaMTc3N2IrM2tFbGI5a1F4d09URnpnSEJVVzhMbFlUbmo1NGluZFAza01qbjF6emtvdDRaRndBMmM5MUtBNzJMekdiVDZqck5kNnBhSWp2b3o1S01jQTFNYld2QkZScjlCeEM3SHNkQXRQSkN0dDRnbzFEbHpISit6VWtIOGtuQkpiT05aUmx3ZDBIZDdtNnQ4dDhNdVBtbSsvdzVsdmZSK05UbjZOTmFwZjI4Uk1DRXM0NVFnaWQ3amZnT3A5Y3JVRmxEU3MveDF1UExvVDl2UkliTEl2RktjZTNiek05bnBCcFExT3ZvLzR6ekxsN2NodWpvWFlOU25sOGlGclM0Q09rZU9tRmw4bDFpYTJJQlRZK21jYW5sTDFQK2pZNmZWZmlaVHZGUnRLY3BYU3Y5OGxZM0RmOCtKMGZSWTBkRnFVQ1c0VzNaOCtsb25PU0NLNWg2azk0LzRPMytkclAvUm82aTRBbTJENGowZit3ODA1UUxMeG8wWTRFUVd4VVFGNjljcFhMbDY3eTlvTTM0eWY1emJYWWdTd2ZPZWhNRzNLbFVWMzdvWThiYXFzVFhVamcyZU53b1pXMGhQallncnpQQVlBOUcxdDVsVFpOTGkwcjYzbnY1RjFxdThZRWpTaEJCRVFaWEJQbFF4K1ZsajNyKzZxOVlpUWxsOGFIM0RtOVRYWDJEUjZDRHluWmJyaHkrQlRpZFBRb2JSb3luZUhkbzcvN3JIdEtlNzRWQWlLY05uTnVjWWVHSkdYd0VUQjFqaGdXdW1JNEJJdkRDMWh4S084ZlgyUDdxRzFMR3ZiU2pMbTZiOUJOU2JuWTRXWnpsN3M4WUdGWHJFN1dPSW9FTXowRkVvRnN5cFNzT21tUVQwQlc2TGhKOFpGUjdNckFmR2NKS0NHMmdjN0kwR2djcGl2NWJCSW42NXQ2MnhJbWtMeFk0ejI3enk0NytZaWlNVWdkb24wdHNaRkRsSHBFRTlvV3pKNjFBNHVPR1NIMnZWREMybGVFekJOeXhlbGt3akduVkhocWtzdEFmODIrVWR4RmlKN2EwRHJ2cWFtWXNlQzBPdVg2b01FMXhaazZnblo4YkRNU3FjMnllTURoUkxBcVFQQW9VZmpLWTRKQkJjK3NocXU3VjlBbktpMEsxRU9MN1l2NDVPTUN5SDR1NHB6Uk5KbjFIUjlQQUk5SUFWNmh0S0lzWW0vNnhhd20xMlUzdUVzU3Y4ZUtnQVFrR284UmhTcE05Q01OMFQ3SCtUaFF5Uk5lUWM0NVZ1c0ZCNGRqN2gvZllyQWovSi8vMi85QjNjeHhySWhUN0ptQllrUHkvZFNCUlpabEhhaHFtZ2JubTlSa1FPRzBReFVObWRRY3o0LzV3Yi8rZ0gvODNqL3o0M2QrekRxc01SaE10QWVub1NKZzBRZ3FEeXpkRkdpNk5LcjR5UHZ0WlFkY3Zud0Y3OEZid1hqMUVPT3BRZ3RtNGVGemYvYi9VYnRyUTgyc21uRi9kaCtGZE5YWndQWXhGTlZTVWQzeERTcDJFOU0wM0h0d0Z5OE5qbWhkOUZHalQ3UzFxeElWRkhYbE1MbkJrdkhDc3kvd3hwMGZBZ29YSEJyMWtLeEVpTklDTFFaYzFNWSt5U1VRV1RyWlJsZ1NiY05jU3RSK25tUHJGdW9WV1JIQXVkZ01Zc2FjMDlrcGVaSEgxcUpCVUszOWxWSmJUQ3c4ZW1uUkZsRkJQT1RHRzQ1R2g1U25CVE1Xc1VMU25YMVBkUFRZR2UvaGZUeGZqYmNZOWZqQnA5T0tubTJmSGNDSzU5YjhtQW9YVThUYXArdTl0dytKQ1kyTmtpMFZEWlZ5REpSUGJYUS9malFLNXQ0U2pHRE1rQ3RGeWVId0VpL2FaNWl0cHl6ZGd2Y1c3ekZqd1p3RmRib2ltM1QzTnRHRkdrbDFCRnZac1hRZWc2ODc4T2RDeXZ3VHo0R2xSdXQ0ZElOejBTa0JFKys3MW9FbEVNZW9OQXhuUVNOcFpEc3FMNUVIalRTQjRLTU15S2hVM0VlMDdnbzlSalpJek9pQjZpeXgycWJFU2dtTnJmRURqYzg4MDJaSmphTW1Ob2QrQ01DNk5ubGdJb0JPNDZIWFlKMWx6WUo1TThQcUp2clJTc0JMbjQ4MjZmdGJZSitLaXBYSEtiQXE3bnZ0UGNvSFRCQzBGVXlBY1Y2eXk1QWxpeWM0K3hmeGJ4a1hRUGJ6SEVFbzhySXplcS9yR3UraWJrcUp3VGFlMHVUcHRVUmYxZ0FCMTZYaGRPcmlvMVFzNG1xMW9rb1pqSWxGV2srNGtSUkZobVFPYmVBSFAvd1gzbno3QnppV2hEUjZuanRaZkVMc1dGdklacTNGT1lmSkZNUGhFT2NjZFRQaDNRKyt6L2QrOFBkODUvWHY4S0I1Z0tBb3gwT0tKckN1Wm5nVVRaY0V0OVEwdUxvQnNSU2pqSHJ0VVNveTB3ck5jODg4eTdBYzRCdFA2c2tZZHpmRTlHL3NUOTZYYzNnZVJRdTFCdmZXT1I2Y0hGT3hqR2JnWVZOUEV4bTV2dXNDc1VpRCtFY1h3SWpIQjhka2VVcnRhdXA2alhZRjJVZDI4VTFNYlBjZDBiWXNOQTZWYTVwMXpYUFBQSWY2dHNLcjJIcjBvVFBmQXFDV1FZMzlKWjhvSzdCZG1PTkJ4YnJsWGpmNUNHWS9ZVW5MSnhzOTZObnVaMklsSTJid3ZILzdKbnRQNytGTWxJdUVjMHg4eitxcyszRzJwVzNyNzZrYXo4RndqeUhGNWtvS2JGM1NnbWJJbUVFK1FLcklZaHBsc0Q0YTQzL1U2RGN5OGM3Uk9Ndjd4eC9FdERXT3p0L1BkenhBWlBHOFJ5ZW91SFkxbFdwd3FrQTYxUC94dytRRlRiRDRLa0xJVWh0MkdlTHlBNnh2K1BMT0sweWFPZmRYSnh5dkp6endVMDZaTVUxVitvNDFEdHRKQnpRNm5qc2Q4Q29RK2o3VDIzSnpIREIzRlZBaHRJV3pQdFZIUkxhVVFPZDJvQVBrU1NsY2tITzBjd1EyRUt5TERpNWlVaHZuQ0dKOVltTjlXcjBvM3o5VzhYVmFnTkFRUkdORGplZ0JsVGltMVNKcVgrazVXYlFiN2lOdzBlbmZMaHVsWXZHV0JWYXNXYmg1OHFPMUVWQ2prOWV1OUxKQ3Jhd2dacm04c2ppbGFKU0g0QkhuS1VRakhuemp5WldoYWlvT3l6M3VyTzk5dm9lRnoxQmNBTm5QUmZUQVROTDJ0R0d0eHlYTG5NZ2tHb3JDWVBTQTNaMEM4UWtzaGxnM1MyclBxUkpMNVp5TmxlRzJUcE8rUW1sQmlVY3B3VDJSS2JSSFpRb3h3bncrWXpJNTV2LytmLzRUV2dWcVg3UEZMbnhLS1YzbjNLWlB2QWg1SG9ILzdkdTNlZVB0MS9uUDMvcmZxWmwwWHFNT3ozcCt5cVkwSkNmUFNuQnhzaFR4MFdsQVFiV09sY21aaVpwRUJiejQ0b3VBd3RsQXJqVGlOaXpXQmlqMDliR1BEMG0rWmZjZjNNTVRVQ3JFT1Z0Nm41MmFVQVphOWxkSCtVSUxlSFVnV00rU0JkWmJhdHN3MENYQm53K2x6K3JRem1hZlZRSXlvakxBWVd2SDVZUExEUElCODNwS21aVlV6VHE5K2VIOUVTL0prZUVKY3J0RUNZUDNLWHZjK3g2UjFuVHJ3Njd2Si92ZW41VTR0MkN0eDh6NkVDdnEzejUrbXhldnZJZ3ZMRDdaenVsSFdPdHRkMjg2OC9FSmwyZ1BZZ083d3pGRE0wVFM2ZlN3WVFGUlpHajJzcjFVaEtwU08reVMraVBZKy9YZFRJRGtOT0p4MXJLaTRyYTlGelhDRXNDbVJnd0JsSUdRRWlZNlNGcFVlZGErcGxZT0t5a2pJWS9TcUQ4NnRJZmNLd3F2Y0Uwc3RDVklhanBSUnE5bWxYSEFtT0hnZ0N1RE5SVVZGVFdWcjFub0pkKzkvOTlac0tiQzRvbGpadkErZFQvMFlIb0wzeERIRGVrdEZGU1daTURlbzRKQm5NZjdPaFV4eFJObGlHbzBBK1JwbkNncE9CenVZWmE2TzY2dDM3Y2p1aFNJSWpHeVNha3IyMG9GUlR3dHpqZUlxRmE0UysxcUptR0dheStCL3IzcFUrY3RWR3FyYkdKMmlDYXl6VHArVHhOcUt1b0VaQ1BMcWp5MFF0dllBSUZPYWhFYlNpUXBrWXJNck1jampXZVFGWWkxWUQzbEtPTmtYWEYwY0lpNi9iRk8rMFg4Rk9JQ3lINkdvKzFXc2sxZjlGVHcwRlg0WmxsR1VSUjRIMVBrNjFXTnFFQ21wR05YQW5HUUV5RVZkY1FPbGkxcnBTUkNNeDhDM25vYVc2WE9UdTJHaERTd2gwZTJSMnluVGk4ZWt4dHUzMytiOFZqenQ5LythOTY2KzJOZ1RaR1hyT3Y1aDZjcEF4Mjd0N1hPYjFObmZQaEUrc2dJS2xwWmRWL2owVnFoVGNCN2k4VnpNbm5BMy8velgvR1gzLzFqUE1zMGdRVEFic0NteEJhYWpWdmptd3FJNmJhUVVtQTZCNWV5KzFwSGZacENjKzNvR3NwRkJpQXpCdHZFYmRrd3NXay92WW8raUVIaEpURzJJUjdiSUJ1L3gwQklDeE5GTmEvSUdKQzVIQWhrU2hNaVhVSjA3NDJGV003RmZXa1ZkNHBBS1FNQ0NxSEF1QXd0a0N1SlRaaTY2ekR1ZDMvUkVZaTZ1c2lJSkNZMUpVTkZMRVVlL1NxVnpSZ085OWdyZDFuVVU3SlNXRnU3WVhCNzBvUllmZXhTT2xCOXZQTk1PbGFwemE5S3pLNEVqMWF0SnJKM2JmWDNrY2Z4NEI4ekhvZUhldGYybWFjZStaRVB2YWJMdHZlRUcrMnc0WHR2RXFoRGc4Wnd5aW1yc0tTV0JoRXdLa2VMN21RM3NGbHNLZGdxd2pwN2ZrSi9veHlNeWdGRFZaQ2pOcFhnQ1I4YUZBV0djVDdFT0lXSWhoQ2JLZFRMVlllTXZDVG12SGM5dEUwclFwS3lpQVluamtZc0ZTc1dMRm15Smh2a3NGb2xWNEM0VFNxSDJxWlV2S2lVcVlMR094cXBDV0lKS3VBeGJEeFEwNzE2N2xuWkZEajJPMnZaZFlYV1FxRXpSR3RDc3BRRFFHY3NaMnQwcGlpeUFZVXE4Q2FtNnh0dldjcUtLeTlmNGRRdm1jNG5ITThuUEZoT21LWTlzMWlzZGNtYjFoR0k5bXBkOFpWQTB5YlVBbmhxb285MXZCQUdaVTY5cmpFOXRVZVR1TjhTeFo0cHliUkc2d3k4eEdXZmQvZ1E3M1NsVkJwUCs0NEY3ZmxLYzRBU3ZGZG9VU2lWb1lLQktsNGdJMG9VZ2cwbHdUWUlEZ09ZV0syQlFtTW84WGdXeE9ZTHVvNXNjRW5Kamg5UU5EbVphN2Noc3RhUlhWWWR5OXg2eDZwZ290ekZwZjBOa0hsSHJqeWlHNXlOL3VGaDdUbmNPNlNnb0daMVVmRDFNeEFYUVBiVGpuYkU5NEV1MzlzKzlqeGtvOGFMTkptbktWWVVJUnBwQWkzZzlEMGYyUmlpb2hMSnVzU29LbEI1bWltOFEzVXpvK29tT1o4bUJYK0djWTNEcjZBVWFCVXdwc2JhNk90bmRJNzNVTmNObW93c2kxcmM4WGlNdFpiNWZFb0lqaXpYR0tNeGVjRG5DMXd4NVp2Zitrdis3Ry8rSkFJVVloRlRDOGE2Q1AydGlLSFR3TnE5cExQWDJVUTdzYlVUVEdSb1lnV3lGdzlwZFI2OHhBSWtuNmdCOGRTMkppODAwOVdVMFc3R3lzMzQ1dC84Si83cmQvOEtqVStGVTI2ajVXeS9PclRwNlpBbWdTUU5TS2ZUcmR1Tmd5WVZQQTNZNGNiUnMyaHJLTW1vRit2WXVsZUF4UGRDUUZ4aWdsTC9kNTA2MHpoYzFDNjJncmJnay9kdW9KU1MzL21sLzRsdmZPM2ZFV2dJWXVOVlpPUEU2bm9kZ0RhV01yRlY2MllDVm9oUGRtQmV4NW0rNThrYTJqME8yenltYW84N0VZeUhoRWdEaWx4N2JMUEdyelhGY016MS9SdmNuYjdQYkRsTElNV0RNMmhSYVFJRDI2d0pCcndOYUFsZDk2THpmR0xiNTFvV01CM3k3bmV0QTh0cXhXaTR4N0plMFZRcnNuRXNKc3N3VkVURHBhNmdZd3NFcW5NaHk4ZUsva1k5TEhQZXZDeHNGMjUzakZVQ25nOHgzNXh6SC9WVHpBbGtDRW1xNGJmL2poRXFXNkVJZlB0SGY4L2xYenRDWEk2eGdNKzNnR3ovK1BlUGRjZk9welZPMXlnRXdhaUM5YUxtdFJ1djhPWmJiMFJFMnE2TlBSUW9OSTVYcnorUFhWYUVyRUNaakdiVmtHRndQdnFoeG52THB5OEptTlJ4VHh6a3BzRGpXVFlMMUZoWXV5WGw1WUovL3NkL29xSmh2bHFoaWFrRnFlSlhWK3UwOFZwUjZ3eXFESXZpMXIzM2VmSFp5NVM1cGw0c3lZczltc1ppblNPb2dESTY2YXZqT0tTVVNYcFFoUW9hN1UzY3JpQ3hPNXAyTk1yalFrTW4vRFNTRHBmQ0RIUTZwaEZkaVlzRmlnV2FYRFF5ODF3S0E2dy9JT3lDT3hDbTFZTGJwM2U0YSs5emk5dXNhUktUQzk0b25OazBzT2txL2VMNkFDVU9JNFlHejNwZGt3R1pWMGxZb1pEUmtMQ3dYRE9IRE5ZT3JNS2xBakJINkU2MkE3QUJMV2FMaFpVZ2NjeFZGby9DU1k0WHFCc3dNc1l1UElkeXlCODk5WWM0NWZGaVkyWUlqOFp0ZGQ2Szk3MUsxN2VQdXQ0RWtMWFhHR2ZJRmhuYUc1VDNLS21UWE1Rakx0NWttNjZJU2J0ck0wcWdUQXNPUTBNbUM2eXFNUU9ZcmFZYzdCNFNtcHc5OWxuUkpNdTBpL2cwNHdMSWZxN0NiejlLNy8raG5SM29XTnM0NWpqT3QwN2l6R2M4L0EwS2o3VU5ybWtnYUZTbTBXTElWRVlJa2EzWjNkbm5uWGZmSXNzMDE2NDloU2hQM1N6eDNqSmJubEN0WnZ6RlgzK1R2L3pXbjFINVJXeklrQ21xZWg2Mzlnd1R0cG5sVlpmS2FuZXB3d0Y5TnFqM3JoQmdTNmFWSWlnUHZoM1lWR0lSNCtTZnFUZ3htUXdxTytmN2I3N096VHR2WWxuUTBDU200OUh5aXJCMTVIcFB0cURJQ3hwTnFZWVlNUmdmNGJuMGpuYmJ1bEhTUG1nZjFhMnFlMFY2bEM2THVuWGNsRThka29JUVF0RWRzeFlFUzJqNUxIQWhkQUNvLy94RGo2MGRXRisvZGs1c2R4emEyRmxKOG5JRWp3a0Y0Z0tGSHFUaU9EYmd6a3NzVkV5Y2JnZ09KdzV0OUJNMzFvbXFrY2drNFZ0WkRZamYyTk9mdTIvOTQvd2szMy9PUnovdVJYSDZmbGdTMEFleFo3SHdsalNsZCsyMTU3SUR2QzJ6bnpJSE5zUUZqMGFZdVRuM3BuZDVmdTlabXJsRm45Tlo3ZXp0cFhwRFRuOC80NVVUajIrR1pxQUtEQ2FxeWJ0MGdtQVFScFNVS3FjSWVmY05yZk5BdCtTUytQbjlUbU1TRkVZcGFGdnFhcWg5VFNqZ3p1d3VFNlkwV05vT2JUcDl1aWN4c1lxNFlGUng3SFI0WnN3NG5oNXphWnhSNW5uVXRrdE9scVhGWklpTVpKc0plVndFa1Y0RzVjdzRUWFFtYVJjdjdUNXQ4S0lndGNmNFdHQ2xpd3hWYUE3eUhRNFBkM2ltdWNxcjZpWHVyTzd4N3ZKZFB1QU9WVlBobTdpamFnQytUeWRLdXQ5RGswQmhPbSsrZFVSUTBVb1FSVUZHN2hRNlpYVE9HMWMzTFBURDRTVjlwclNacGZpOGNTcEN5aTc3MEhyZit0aWRqTkM1WDhReFVUN1NZakpLQmJhM0RlbnA4SVBnUlcvNTdBb0JVdEZub3h1YUxQcHFJeG9WQ2pJS1BpOFNvODk2WEFEWnozTnNwZmY3QTJRYkhsVDltRGFUandacFNnWTRzcVN2TEVBeWxJbmFVZy9jZTNDUGwxOTlrZmw4eXAzam00eDNCZ1FxNXZNWjVVanpuLy80di9CMzMvbXZWRzRCT0pSV3JLb0ZZQ25Ma3ZWNi9janZmN0pJUU95aGFNR1pSMm13dHNaa0daUFZLZC81enJlNWRmdjk5TjcyNThtaVpiSkdvMUVzck5zcW0zNTh0R202UHJKU2FUZmEvMGxhRmNTSk1QNUJCUkNkSUV6YTViTnNtbmV0T3BCekgrTjgyakt1MjQ4UDdlZERmNWZVR2xhamxTR0laMUR1b0REZ3E3UVRNVDBaa083ZDFqdHFheW1OUkszdkV3TEtWamNaUXNDb0xFSVc3OG5KaWNxL3pUSDZ0NHdJU09NOUdwTXdFVHdtL0xLOVFBaWN1Wjhoc2xTYzY2VjYzdVd6QlNwNnZ6L3lVdXY2eWNNaXpMbDUreVl2WFg0SjUyMWMrNTNEQXY5RUVWVFM3US9ZWTVjUG1DV3FPY1RGTVlwZHh1VGFrSlBGMXNBOVA5aDI2MVVnK2hPenVYNkJybFUyUmlGR1U5c1YyYTdoMWx1M1diQk0xMjlLZ1BXM3ExczgrSVQySXR4ZnN1RHU1QzZYOHhFM1J0ZXdKejVLSW95TzIrVmp1MjB0a3JxRTlZQTFIcTlzM05iZVVrU1N0MmxNbmp3ZS9FSzdPRlFZRXkzdFFnZzBEbFFOYU1OQURWR0RuTjNDTVI2UDJWMk51VFE5NElQMUJ6emdBVFkwMkdYczdlY1VZRXdhRjNwbGpoSlBnMlZ6alhqdk1RaWxqaHJlSndwcGZXM1RRdUtjNjZnRnRFRThycjNXMGlHSzdnTGhveDZ5RHczZkxTRFNkeEwxdENxQThnRXhVSWVBeTRrK0JUbXNqTUlteTdLTCtQVGpBc2grcHFPdm05eE81ajc4M0hudjlXbndlc3pyUGlRa0tKQVNvOEg3RU50M090OEJNeEhQLzgvZW16MUprbVhuZmIrN3VIdEU1SjYxVGsrdk05TXptQVVRQUpLQ0NJSWlSZEZrSnBsSTA1UCtCWm5wcjlLYlpIcVFVVEpLWEdDaUJCQVFRQUFraHdDR3MzVDN6UFJTVlYxWlZibkg0bjZYbzRkejNjTXpLNnU2cXF2QkhvN2xhYXVPekloSTM5M3ZkOC81enZmdDdHN3g4T0EremNTd3NlVlpySjZ3dlROaGVmaVkvL1YvLzBmODBWLzhNWm1BUlhETzBBWUZ0S0N5VWMvbURUNnJEdnZ5WVVybms4RXdtQTZVUWN3WTZHS0hxK0QwN0lnUFBuaVBWcGFBYXN1MjhkWExTdjN4MnRyYVVpZXVxOU1iVC8vZHBRZndNS2dQKzNYeDJQVEx0U0tNSGJsNmptMDJlZUFvMnZLN1VONlhwMTlmRmNTTEFaS21vNXhUSHVMbWRLTjBJMVBBbTNZbVowa0RlRTQ1MFlZVzZsZmZoajU2dldEbm5BcmRaOFBVYlhDVWpyNlE1VjhkcGZHRVN4blJ5elNWU3ordjc5amkxalQ2V243NjY4REZ1OFVNUDJVKzYrN1haZW1SRHlRZVBINUFKM0hVSVNNdkRMNHVoeGFHVkNlMnFTcDJwM3VZNWIzUkRtcFQyZlprQjI4ckt1Tm9VMEY4bytmTTFSdGRLZzNHRUxNYWdsaHZpU25qck9QaHlTTkNhYzZFTmFPaUw0TTcwVXNUeVJBRG1Jb2trWWpoc1J6eUpPNXp1NzVEd2xLSmtLT0NQQ09XMm1yM3ZwUnJDaGc0N3JubzBJb0o5R2REWGZ1VXZ6bmNsODgwR1JtZkZ4RG53YW9VV2txSnR0Vm5wM0hndktlYnI5aVlUZGpjZkpPdjd0N215ZUoxN2gvZTQvN2lIc2VjTWlld3lwSFFsZjJtYUZLWGl6TEpPSnVlSVFzR3g5VFBsSFR6M0Y2STU0Y1JwVEtzcDBxWEowWHI2MnJJVVJ0VHVNaW1TSVM5ZWd5VGlDc2lZVkFsTHFGM2RjdFpjRmhxcXV0ODdDOUlYQVBaWDRwNDFtMTQxVzEyTVlYVmw1eWZGZVo1ZzVSNDJqYmpySmFxWTFGSE1FYndsY0U3ZUhMMGtKMjlDYXYyRkY4bGRtL1cvTkVmLzcvODQvL3pmK1BnNkFBaDBBUEdtTHBpekdDSkVVTDhEekhmSFEvOTQxd2ptakV3UWs0UlV1VCsvVTg0ejJlRkxhYk9OVjlFOUlQZDV1Ym1rR2xhWjV3K0kwd2NaZTdNa0hjMzhuUVRsQ25XbkgwS1QzQXEvQzk2bmdWdERCU2pXU1g5bWkxSDVlbFh6Y2FsTlpEcDEvZXM4ZVdLejNzbERJTWp4Y2pHZEJPTFV5RFJwOHZVVTRuK1hMVzB6RmR6Ym03bTUxeTVMeGJLWTdTRmttN3dPRUx1TURoMk5uZjU5T1MrUXMwaC9mekZSaW1VRDlsWkxaN2FaNjVMQ29PNUI3OTk0dlpwekdzdi9kMjZkRjdnRTZEeVJwZTNVVjNqaEFBQUlBQkpSRUZVUjhaL1pJcFpSOUoxbjNEQzBjbGp0dHdPMldxNjdzVUZzSzdZbjJJZjY2MW5aM01IdTdSSzh5bkpWb05sZDJNYm13ci9OSFdJV0hLT2lHUk0wUU9WMFQwd2J0YnN1YUNaaERpZHFDNjZCV2VEMG9nZWtMR2EySkFNN3k4NWs4QjdiSUJJNEpCalBqbDd3R2E5eld2VDF6RlJOWTFWak1SU213YVRJVVl6WkkybGRNOWJrMGcyRmhCbWNFbkwwNzJsOUxxNThXcUlOSGJKeWxnV0tXR3R4MWtIeHVKSzg2V3pKU3NzQmxhUm5CSk50Y0hVVnV4dWJ2QmF2c21qY01SUDBzOTV3amxxQ0oxd1JEQ1d6a2VkejF1SXd0Q2ZRVXdZR3FaK1d1aE5yeExsU1ZLcVFiMVJBL1N2ZGxES3lxV25RZnNhOUI0eFpKcDRrVXIyVW1Ia3ducDZ0dmhheVVCVXVNVUt0WmloZVMxWmc3ZU9UZXBYdXZhdjQ0dUxheUQ3U3h0WDVXbnlPdU5JLzJKTDF1c1o4Vnl3WnRVVXdTcm9jaGlzTlZnSHpndVl3R3V2MytEMDdCRlZFL241aHovbW4velRmOFNQMy90TE1pMkpqdHJYdERHUUpBTkpBVzFVY09ZOXhML0NsbEROQ0FDbHRDWEdNTlNxKzVITXFNNXJUQjBmL1BRbjlDYVFpVUJPVjVnMXZQUkdVTEljaHRsc2RrRXV5Tm9YRVZ4ZnI3LzNnRGV5NXFiWjBVUkVDc1ZnWGRyUEJiZzZFTWpTZis2UUxJaHhvK3pkRmEraS94c0E4N3JENnVwTnZmUzVBaEE3QUs4Y2hhYVowZ003VFlqcEFMMVdxQkJhT2hZcmxRSHpwalRtZmM3b2dhd3hPcElaWTdTSnJITHM3OTdBbkNoVDFsemVyUzhJMUNxY3ViaGdNNkpSWEl3OFVGNzY2cnUvK0drcFdUTkN1T3R6bGVtUGxPcG1QczN0SHJGbFJ4bEJheTA1SlFSUFM4ZlA3bi9JZDkvNERvRkFaUnlmLy9nWExlRU1Gc2ZPNWc3dTBSckk2clRDc0xlNUM5bW9hVWdxUmdTU24xSk1RUG9yMHc1SHI0c1I2eDNScU9tQmVIaHc5Q2tMbHNTQklhbjcydE1MZXJBL1pHWHA3VXVoeTdBazgxRjRnSHhxMkx5emg2c3F2S3QwOGhjTDcxaFF2eE92MHdkZFQ2ZjJ0Z0xXWkJBOWJyWTQ4UTFQN0F0Z05qK0RmOW9EdkRVZjErSXdWckJKNTdjU2hFMC9vNHN0Y2JWQ3FrVFRUTm13RS9hMnRyaGhickY2RlBGeXlHT09pT3B2aGhEWFRMVHlTRFFHaUJsU3lVYmFHcHRjcVNDOFlneVZwVHdDdEgxemJGRmxNUlQ3aC81ODZmR3hvdHpacHpMWkwvamFjMjE3dFI0R293WnRDZ05icWc3YXJGY2xoNG1XWkZQUjBIN1ZxZlIxZkJGeERXVC9vNCtlcHprR0dTVkZjU0VsMTRQWXZQNVpITWprRllCc3hsVVozQW9Cck0wNGJ6QW1zMnJQT1o4ZmNiYUVKMGYzK1lNLy9MLzVrei85ZlZaeWdpRWlxR3RRR3NCZ3hqbWp2NWRuUTlQVXhOaDl6dVB5b25IcCtKazh5dWlvQnErdkRLdXU1ZjMzZjBJL3FIMWhyazlETWxPbzYxcEwzQlFnYTh4bk5CUVZhb2twSEVGNkRxeCt1czV3OUFQam1uUXBSWWZXOXMxY1pSRHZ5MnhHMWdQeXMxN0JGWkZ6UFE3anJ2V3I0dkxuUnZUbjN2WWlwRWh0NjhKeUxLQmF0TGxrdlVTMUNUMXY1M1Nwd3pQNTdHUDh2Q09ZTTliMm1wUmxBRTFDWFZmczcreXhidm42NHEwb2kvbnRGVVNncDdtd1BZQzlRR0NXQWpLRzVVSGZwTlhiYnc3bDZjSWlra3RyNnYvdWVjT3hha3d6QVByM1AvMkFiN3oxTGxWdThjeGViR2VmRWRaNHBaYmcySnh1cWhPZVVRT1BHc2VVaHEzWkZqYWFBbVlOenR1Q01vc2VTQSs0cmxoK1NKRjYydERtb0kxZU5YejA4R002UXArUEhYWitEZlRYOHdCcjBNbWVkRVJ4Q0phV1RPS016RDIySC8rRU43ZmU0TWJtdmg2ZndsZWRTSU54ZG4zL2llQ3kxNk50bER1cjk1RXQ0T2xTRm43SXZDckF6UmN5c2V1Zm5GTWo3NXdMR0U1R3dXMVUwTytrd292SDBXQXpLS05CcU1TUm5lTWJOOTZsV1QzRW45Yzg1b21xMFVvb0Q0T3ltajZkWHg3VkZsT3l6bVo0VG55ZUVHUEk1VHAxb3dsWGI1WmhTa1ZHczZVV1kzUlNaWTNWeWxEaHplWit3dlo1WGxrZmRtMFkxR3RjMVJGc01ZTlFPb2kzRlNGSE9oR2lkUWoxNTl6ejYvaWk0eHJJL2pMSEdNeWFyUFV6by9xZ3FyUmY2YjhYMEh5OWN2RTJnTXhKZEtRVU5DdGdLcElFanM4KzVlRGdQdi9pLy9sbi9QaURQeWV3b0RZdzhZNVZYQUNaU2ROdzNyYURkV1JLQ1dOVnV6WkdtTStmQjJMNzRmY1Z3TVVsb045ejFZYU1wY25FMkZGUExXa1ZPQXFIMkZGMnU2b05vWHZGMU55SVB1Q2NLajJJSXJpWG1Pd3JIQnFYbWZ1dTVzdmY2N1ZsKzB5UG1uL3FlNjc4aVMzcjd0L3ZTM2VYWDQza1MwRDU1VEt5dWcyeGxBc2pPVWZ3WloyVVRQRVFaa1Q2RUxyWTBVbGc5b3BBZHAyUmRVT1RuU1R3eGpPYmJBd3cxdlQ2Uk1NaC9XTFljVDFWb0k4MVRyVVhRYWRjK1BEbEUwRUZDT2RMbDlWVmQ0L3BlWkxEZDFRU3p4aERGc01oUjdSMFZGSXpOV1A0OS9MaHJjVmxpOHZDeE5YVVZFeU41VXlXT0R3TkUyYlZGTnVDZDZVNzN4V2pFQk9IT2Z1ekl1ZU1xenc1Q0sxMFJKYzRpSStMM1dzZVBSLzFzaHp2alFXR3BLOW9IUWFyVllTWU1tY3MrRUg2SWJMTTJHMTFVYVN6eEJ5eDNsSzdtaHpLUFNJR2pNcHV1V3lWWmpDNmhpN2tIUzV4WS9zTTRUZ3pLd1hBU1E2YUVNaGc4VGhmVWVFeHZtUVN5MFNORENsSDBrcnRyWjEzVE53R1g5MmFJTTdUZHBIUUJVNW90VE0vQWhPRzYwNE5RL3BjdGQ0ZmVqRzkybjBnaFRxazJXV25SaVNYSGgvOS9rdi91Qy9iSXdXTXB1RitzQy81ZXVsNGpwTkI1WE5uQlVrNkptUnJ5VloxcDlmNW5XdVc3QzlDWEFQWkx6bDAwTGFFRUFaM2xLN3JjSGFtVGx5dTFNd1E3V29XVTByUHBZaG0wbnBKUmFSVVNxTUVaTnAyeFd4VzAzWXJCVjV4aWEvQVdpRzJMY2FEeWMrK0RGSUl4YUxXRHB4TmRVUEtaSllZZjA1aVNSdGJEcDhjOHVHSFArTkhQLzRoNzcvL0U0NlhqOUVuajJva3JpU3FlMDRaSkJkdHExdmVsOVBMWVBJeWRJTGVmMmxja2hlNStEdmo3NVQxRFlLdW9pa0EwMnVQOXN0Z0RYS3N0ZnpzdzU5UzQxbVNpS1gwOWd6ejNKY0xXU09VQzE3d0pSVFlxa2FpOUduVEMzK2VSdnVreXpQRGZrQk1pZWwwU2tpcStScXpBc2ZaYktLYXYvUFYwMXphOGZMemN5WXlaYjBqTEZCZTEwdTRVUDY5L0xrUnFHRFMxSHg2ZE1iV25RMjZvNVplZVRlbmdLRWhTOEpqZ1VCSHdGUHg0NS8raU4vNDltK1I1dW1DOVdXZjdYWFdhVE5ldWNiR240MlZHZnB0akJKeHpoRmpwSFkxWGRmeTlodHZZLzlFT2VTYWs5V21NMWQ1YXQrd1dpNWY3UW93WUJxRGhQN2M2V216R0x5dkNMRnZDT296M3F4bkt2M3J4Y1dONUxQV0EyeTlNYUdiTHpEV2dxampVb3JGN0tUSHliSXVxVjgrNDk1N1Fnd3NaVG1BK24vMS9UL2hILzduL3dCMzdKRWdnK05XMTNYVWRVMWQxNnhXcS9XNWxxY3o4bGFFbUpRZXNsb3NtRzVQZVczN05UNDQvUmpOSWRhOHMvTVd5K01GdTF0ZlJUcTkxdHEyVlprNjd3bmp5ZEd3ZkliblFEYVFSRjMzRm1ISitlS2NPWFBhWWt6YmIxc2ZNdnExcjB5TUp3NVJFckU0RnRRa2Fqdy9hbi9Fd1VjUGVXUDNEZDdZZXd0dlo2eE9sNXllbkxCVDdWQVpsUldUb25zcVdUQjRyUE5rNTVTTG5vc3VSMWFhZ0phNnBWQ3VSakZrRW5PWmNBcU9qTEZhWnBmY0VVVlZGdGJaWUxRTkh3UE9ZWXdhN3FhWXllZkNUS2E4ZS9jYmJNNW4vTVdUTXdJdFRnSjlzYXhxSUN5Z21rd0ljOTBNNTV5ZWoxZXBySXRPSUZNWnE2WjFUVnd0eVRsU05YcC8xYTRmbXpKak42NE1tcEcxZVpSYytCeFJKZzNyeWFRZXgvNytNc2F5YWx0bW0xTzl2bGN0czkxTk9oT3ZHYksvUUhFTlpIOFpZdUFZV1M3YTVxaXpWOTE0Zk4xd2ZQSUk1ek1wSitxSko2ZE83UWp0aUJ0MzZkVk9IQ2tGVmlHeFdpMVlMRmJNNTJjc2x5MGhudk9qOS82VTA3TkhIQnc4NXZIakE5cmNBNGRNWlR4Qld0YmxlK0hLSE5DWFJUTXFiazdqelJpT25zbEZ6U0FQOXI2UnlEZ0wvRVhvaUk0SDBSampNSm5wRzc2ZUYxZGdHYjBPUmw3aTArbVVtQ01wUlZ6dHNNQjhOV2Q1ZG9aa21Qbko4enVQUDZNek9Jc3FTL1FOTjVkZlFhNThYMThUeCtlUDJUQ2JaQmNKZUVLeEpqYkdVRmVldHRQV3BqNDdxY1NaekxJN0o2U1dodXBLOEI5akxMU1Z6dzdiYzRwRkM3bkpGREY5c2R5MHQ3aWZGVmpoTFYxc3lURVI4eGNqZ2k0OXNWUEFlVXR1ZFZLVlk2UXFFRnB6NWNXQUlhT1p4SHhSK3hSOHVidktzU3JOUXdLWVRuK1hwRFBFL200MEZ5NzRQdnA4ckdhZVlEMVp5b1ZTWTRCNVh2RGs3SWc3ZVIrZjF6YWx2VzN0aXg1N0kxcXlkY2JoY0d4UHQ3Q25Cby9Ia05ud00ycFRZWk1waGlYRkJVcFV0Y0RLV20xWlJzdnNyMmtSSVVvbUZuN3M0ZGtoc1V4R0krbmk5VzBZcE15ZStVZ2FnZG91UjA0NVljV2NNK1lzamx2T3c1S3ZicjNHemVrdHRtWmJ0T2N0SWttM1AyV3k2RG13VmdIcHNsdUNkVGlqOUJabklDZE5GRWpLVk0zenk5ZEcxa0RPa09tZEZSRzFaUjFuRE12MG9kQVV0TUhKQnNmTVRyQTVzdXUzdWNNZGxpeHd1Vlg3OGF6RnUvRkVCSXErOENCLzl2a0JuWE9OOHEvRjBNV3N3TjBJTFlIZ01xWXExNUdNeHlVekFIcGowbk5PMW1kRjRZb2J2ZTk3dXBXZ1NnVTRwWllZcTY1b3hoaWF5dU1zcEs0anNNUzhDb2kramk4c3JvSHNMMldzSDE1TjAzQjJkc3pQUC9veC8vUC84ajl4Y3ZxUTQ5VkROdXFhZVhmQ1pqWGxLZ0RidjRhZ0tnUjlZNWNPZ3JHVWhEbzAyeG91ckxPUDdrcCs3Ulh2WGNaS1Z5SzBxNWJ6Nm1VZFc5Wi9XYkI5QUZ6R0VHTkwyeTZKQkV6UGJMU2pzdU1YRUVNbTNqbmxuaG56QXNkQTkwQzVzSDNHNTJKMHNXTzVtcE90TUp0T3FDYWVTZTNwY3FCeW5yVHNudHV3a1oremswWWdPd1YwZmRQRTVWZGo1TXIzclVDMkNiOHB1RzJvbXBwZ1crYnRDUjB0VVZLeDhIVllhNUFjTWFnYVJnaUowL2tKOC9hTUdWT2tjTHo3akxhMUZra0tacjEvbVVlY1pyR005SkpJaHRkZmU0TUhuOXdETEpYVksxMUtKdEZaUjN6VmkyQmRVSUdnd016amNIaGN5UU16ZkVVTC9tbUFvbXJYV1lxOWdBN04vYjRJRUltNHp1R282WUM2ZG9RY2NDNXJFMVQ3MllBem9lbmFKSmxFQklTek1PZmV3U2ZjM052RGlYTGRuZE1zdUlob3crWm5oa1d5d1ZjVlhoeGVIRGUyOTVHSE1saVE3c3kyYVZ5dHpVdFI5U3VNVWJtcG5OT0Z6UFBRZ2I2R3RJZ1JZbGFoTGZIdzZaT0hKQ0toMXl6b3Z6cEt6bDdKVzE0WFR0YXZEdHFzb0s3am5FRGdlSDdLNC9rVDN0aDZnOXV6Mit4TmQyanloQXFIRTBzT2xoeVZScE9pNEp1bUxMNnZBaG1NczlSaVMxVnB6Wlc5Zk93ZzQ2VC9KSmRwWG1rT015QlllaHVBbm9xQW9BWXc1Wm5uSW16VUU4aUJuWHFYMS9kZTUrVG9pSE5hVW1vVjJQZEFOZ0VtazBWWXBTWEdiYXV5eU9lZTBGc0lHWW95UU13WjAxVDR5aE5zeEV3ckZyRlBoRENTRSt5ZmVUMC8raFh1UWRGK0VURVdqS1Z2bHBRQ1ViTng0RHExM1RVV1YwV003UWpwbkRSWWsxL0hseDNYUVBhWElaNEZSSXcrQ0RVTEVQbnc0RDFnQWF5d1hxaHpaQkVQQnNlb0t6Tm5KYmxuTVdpNm9BaFFaMEZFTXhwV3dGeDZtRHdsTUg1RnJEbVBsL2ZuSmZmL1ZXSW8xWTB5bWFQU3JER0dMa1dXWGFGQmFMNlUvSVdrWXlucjB1enJZckVZc29zNldJOUh6MmRzK3pBQzJ3TEF4aHhmWVdOemhtc0VjWm16MVNsZDEyRWJReXV0T2ltNTV5ZGQ4M01HQ1RNTUlzK2hIenpuT0dXVGFHVU9ZbGdLdEt1V0pVc21WYzJDRnVzZ3JJb0VHaEZEeExtS0xnVE80d21IaDQrNXVYdHJXRS9PMnZ6aW5FUDQ3SXoyNVZoM01HdUZ3b3JsamRkZTU4OCtzV1FFcTNwZ0x6SEplSUhvZ1VBR3hIRmpzc2Z1ZEljNk4xVEdzenBmRHRuRmpJSVFNVmZvRFJSK040d0hmTUFsbHFHbDNuU2N0bWZZaWVYZzlJQU1kUEZpTnF2a3VvYWZCOWVzUXF3VmdXVDB2ai9ubkk4UDd2TzkzZS9nWEQwWVNqam5DQ0dRVXFLcXFuV0s4MW1STTQ1S3I5c2s3R3pzNFRCVU5IZ3kyN010bWxSam9pamYwN2lobkMwaUt0Y25GL21qVnV5YUsyNHRTWVJzSWViQXAvRlRJcUtBM1BIMFE2aWMydFRmZXVQUEx0K09CcWgwM1NuQ0tnV0VjejRtY0hSMndzN1pObTl0dnMxV3RjSGVkSmRaczBFOXFTQkJDaGxKNEdxQkJGMEltSlJ4MlZJYmgzZnFrS2pVbUt1ZkFUMXc3eWZoeXFQdGdWamZ2RlJxR2NWQmpPS29oY2s0c1hoUksrWXVDZE5xeHQzdE85dzd1Y2VEZktqYXRBUlYrQlBXamJnaXJMb2xNczBLUkQ5blJsWWRaVE1tSll5MWRIbUY4NTdvSTRmekoxZ1BibUl2UEdONjg0aWVadkJLUFJKUU1ySkNNcWJvQnZ0aFBVNmd0bzVnTzd4UDZneEh4RFF0NTNtRnFUd3hYR2RrZnhIaUdzaiswa2FaaVJPWVREeTNidS9pU1ZTVllSbGFscXNGTVM5ZldNczhENFB0NkUwRDNwYm00U3ZHSytlR3h1SVhpS3N6d2xkMmNGOWN5NHV1NEpuUmw1RkhWZDZ5Rmd2V2t5UGxnVlVPbG4yaGxQRUxoN1VXRXB5ZG5hMjM2UVd0RjN2UXBZTlpBY0ZsSmlJbTgrVDRDZUlpNSswWmYvaW4vNUlQUG5tZlp0TnozcDRqQmlhK2VpNlFmVDRZL0d3ZDErZi9mYVR0RmxUMWhDZ1RUQTFIODQ4NUQyZGFGczBBU1NYZVN0azNTbDhlVHp4NCtJQmYyZitPQWxlUkFVRDFtZGtYMHVFZFFtR2NGYkNrTmJWZy94YWJiQkJvaVNrb1I5UVlraVJTL2dKMGpoTjQzeUFwMHpEaDNhOStrKzk5N2J0czJVMW9oWTE2TnB6ajRaNDJtblZMUm5WZ016cm9hdE1VSThrMW9Xb3NENDhQcUhkckZyTGc0T3d4di9lbnY4K2lteU0xTEx2Vk15c2doaEZUcVJCb2cwUU1qbzdBd2ZsRFZxc1Z1OVVXS1NWQ0NEaTdMdWxyOCtMek03T1NEU25wckZrU1RKcUdEVFpveVV5Wk1Lc21WTWtwaXM0V1hJK2xMbTZ3T252MWV6MTYzN3RpZkpBNG5wL1NFVlN2b09kbDVGRTFacHh4SFY4Nno3OEY2Sk9XT0NHa1JHS3B5aG9zZUh6K21HMTJ1WEcyei83bUxqdlRYVGFhS2ZWR1EyMHE4aXBoamFPbzdpdU5Jd2RTZHJpOHhOdUdwL1BFdmNLQkxYOHpmZ2FPdUJFajZ0UUYwZi95bmxMVUxUWmJDSUwzbGxrelk3ZmVvVmxORUFSRFFGS1oyR1RkNFV4aTNzMlJ6WXpFejJRZlBUTXNtY1k2ZkJheXo4eVhLOXFZT2VuTytNSFJEd2hFVml4S1c5N3dSQjRvTlFLRVYyTElybVhvRXJaTTNBcVFYYmQ0WWxHamlFU2tJeU1ZV3BSVzB2RlhxQTk1SFM4YzEwRDJseTVHV1RveVoyZW4rRHF3WEowUmFiRzVCVnFzRjJ6dVNmUFA0VGdtaGlaT3NlRExVMFJMZkk3VlBHS3dWTDRxWlZ3dDZZWVlYaERFMmtzLzJ5dmUvNnVMSVh2Vmo5aURoYXNTL2xVc2Y5MG9abEE3MCtHSitnVmcyaDV3blo2ZURvMTAzcnpvZ3RmSHJDKzNqUzFpSjVNYU8yM0liZVR3N0RIM2xoL2hsbXExS2FTK2dQWUtXLy81ZDE1ZHFUSXNQSmtKQmt1MjV4Z0h2b2hwcEdVbTU0RHpCb25RQlNrczVjd245ejRpZlRNTmpZZ3hSbkp4T0xLb0NzYkxVUXY2WGRKc3JCWExkRHJsblRlK3h2SEg2dkRsakNOK0JqaDdtZldBbzJGR0pEQmx5dDN0ci9ENjdwdE1ZcVBncGxXQU9yN1FlaUFiTGF3SzNjQm5RNVhWcTk1Sm55MVBHQ3hiWVVZZEo5UlZ3OGZIOTJpN1FNWVIydTZaQ2Y4TGI2OHI5YVNjY1dYNG4zUE93Wk1EYnQrK2dYT081WEtKZDA0blppOFFSdlQraWwzQTFscE5zQmoyTjI1d2YvNkFYWE1MVCttTzc0WCtqUm11YjI4K0c4UTQ1K2lNTm1nZFBIcUVvS0NrdjMrTnJKV2xCakRiYjM2ZkxTK0h2aVFqMXdkb2RPbUxvSUtDVHBzUG83UllPbG84QzFZY3hpZE1qMmRzSDIrd09kMWhaN2JOVnJYQlRYZURLUTMxcEtZeGxaN3JMcFBib0M1a3BocGwyRE5HZk5udS9ybFZqMGdGK2gxaHZkMEtNdldUeXhhd1ZZYktXRkpNcXYyZEREa1l0cHNkZGxlN1BHU0ZvMW8vSjdLQVYxckhlWGRHc3ZtVk9LSkd3S1ZPT1ZyV2d1a3d0YUdOS3g1eXdKS1dTQ1lTNmQzbCtrZHVEMlFqNWhWc1l1VXBJRnUwVzFDQ2p6NmphaW9NaVk1WXRJY3R5VUtTN3FXclB0ZnhWeFBYUVBZLytyaXF6N2lQek4ydjNDYmxjODRXOTRCSWw1WkFvQXZnS3VXZEtmK1ZvWHc0ZmpYT0szOHI2WU1zbHZkanVYL3Jhb3NVaFM0R3V0aTdjbXVoeTlwTEhNdkxnK2J3REJnUGZQMUlZaTY5L3graWhOT0R3alQ4Ymd3WTNBQTJaZGl1L055cS84dEV2K3o1ZkU1S2FRMlVYMmg3Q3gxQ2wxUmUrK1ljNkZwdFNJaTJJOWxJS256bVJLRDJsaTYzRjl5Q1hqNWVjU0RMQ3FTRlNrMG1jcXY0THBWL0RraUNkVVZzUHNQRVFVNXc3L0FlSnljbjFOT0d5V1F5ZE02L1NoZ3hlczZsQnptT2Q5OTlseDkrL0FNQ1FVdm5NZUNkSjZaWEE3U2E5ZkVRREo2YUcvVXRic3h1d1RtY0g1K3phV2E0NkhEWk1LWUw5RUFXSzFncllDdzJxYXRUMVFPK2NtOTFFdG15bTBpcjNPS2pleWMwVE1oMEdBeExubWNEUFlvQlMyVkVWTWtoQTU4OC9JUjNkNzdHeHNiR1FDL3czcS9sOUQ1anNkN1ZMRU1vZkdDSFJPSFdqZHZjbjMvSy91NmVXdEVtSUJ0TWFXUXloYTVnclZYdUlpT3NMVndBbU1ib3hEUEV3UDEwWC9OcDFnNUF0TGR6R0xLcXd3YmIvaVNOTHZGU2daRFI4MUdLYVlrSW1FeENDcWRZTTZ5VlNVUXh0S3hZc09DWVkvenlJYlBsbEUwMitYcjlEcHN5WTFaTm1kVU5NOWZRR0RWWWNNWnB4dmVaYzFwTEwxK2xUc0V5MnRoOHdmRnFvSXowQ2R1U3diZkcwVVl0NlFzWmdyQTEyV1N2M2VmeDZqRzZSeFpMS0R1c203SmlRU1pnek9SejE4UU1HZE1sbkNRTU5jWkcvRXo1eE10SExTMkpjK2FhOVRTSmdRdGI3czB4RmVaVjR1SzU3eWNJdWxjZU5XSW9aMVcxTG96UjdiRkdPU2pYV1BaTGoyc2crd3NYTW5vZFA0a0tRWjljYnJJK2RicitpaFdnZFBQMjlaNlR3eU9zWHhhdVZhWnlEdWNuckxyVmlCSmcxNnU4OUNxeGZ6Q1d1YkFwLzZ4MlZIZWhIOHd2QW1venRFUmZBaGFqRE1kbjczOGZWNE9UOFRkNkxEZk0yTE1PNXV2SE9oZG9GTDJJK21mRnVFejkxR1ovVVVEV0NobGh5Wndva1V3bzRMSjM2Rkk1ZnZMRjhyTCswTHNEZ1F5ZnJaYzkzWml4U25PczkwdzNKcHA5c0pHVVc2Sng2KzU3QXhmQStibzZ2WTd4NVRndXgzN2U0MUIyWVQxOUNBaVpaZ0toZ0ZhTFd1VTZjYVhOQ0tndGRJWkZtdlBvOUNFVE04WFZDcDZjOGRSR2Z4WXZ3K0NlREVVcXJNZ1NEVHpLaXhlaWpPcWtSaXdtV2Q2OC9UWTd6VDdMZG9YTEhrZWdzalV4amErdXp6Z09WMXp2RmtwTEYzZ3F2ckwvR3EvdnYwNFRhMUtYMk56WkpwMG5yRm0zZk9WeW5zUms3YWd1WjkxYXErMVJ4dUF6T0JHTWVGSjd4czcyRmgwZHg4dGpEbzRQU0dUMEtvc1h0bTNkczcyK2xxNDgvMFlkL0VJSy9KeVBPRFJIVEtvR2pPREZNYUVoSkQzbXhwbVNlUmVWaTZJdmxGdkVXRnhseVl1T3lxcHFRZFU2N3RRM21kQ3czK3dqU1cxN1U3R0xOcUtsYmNvKzIySmpuWXdsRzRWY2lDbThXU0ZMSUpnbGMrWXNXTkVTU1lwT2h2bnFHUDVkcUFvTmo2OUwvUC8rTTlHajlkUjExRjhISGtKVXViT3FWSElpaVk2T0ZTdk9XSERXTGFtb2FJSm5ZekZoajIzMnB6dnN6YmJaYkRhb1RJWExUczBVeEdGeUtaRmhzTm1qbkU3elRJcFlMeDgyQnJEajEyUXpLV2U4cVRCWVFuSnMxQnZzTkZ2NGxTTmcwUFNFME1zWENJazVIYXRLcUR1dDdLMmRCTmZaNDF4US8zamJUSkVncytVZXpONlNwVlBRbmpKSXdrcEN6WUJYcWhSVGhUVnFMU2RMTW1QRnRSZUtBZGlQdHVmeXVMQytsL3Y4dGlYYVJDempvS3NzMllKbzErZUxyL3c2L2tyakdzaCtxWkdMeUhqQys1Sk5rb2ozTTJJYmxXODI3dnlYRVdBWjIrZjFBdnE1ZkVsRXRmQkllR2V3MWhVL2E2Y0RUQ21UcnpIalMyU3g1UEtQVjJkTlJmTFQ5L2xWR1BXRk1uclAvazR2TjJTTURsNHVneGZJU2JOVnFpV3BnS2JYRHpWWmhxZWdsQWR0UDNqM3VyUzlEdVZxMVZMWE5ZdkZDb05UZWdZT01mbUNQL3ZuRGdjaGRHeHZiTE9hdDd6MzBZLzQ5cHUvUmtXTHQ0MUtEbVVRb3p6UVpJVnMwaUNoWXlSaHhCZXBzTkZEV1ZSZTUvUjh5V1JyZ3BqTTd2NE5Fb21ZNTB4bmhqYXNnRVkzUXJSUXAyWVo4UUtnblc1VXJNN1U3V2ZtRERIcGNhenNoUE1jUitmNTRpRHdXYUdtbWhVcVBKUXdSR2JUaHVXaVZZM1RwRlFPanlGMkVZc25FVGx2TTdEQUlQemV2L2tYL0EvLy9mOUlYQzJaMmcxOFZSUGF5R0k1WjN0L2s3TndSbmJxYjA4MkJSUlUrT3l3MmFvaEE2RGF0YWJzUllJTU5ua2FNeU4xa2QvNTliL0x2L3l6MytOeGVzU0VEU1NBVlFYUGtxSEpHS2NXb1RubmkwMU9vK3RlclVSMU1LL0VzYzBtR1dHWFhiNzd0Vyt6UGQzbS9KR0tkWWFjRVp1SFJZa283MWxJNUFMUW5mU05tcGJPV0xBV2d5bjNRVWE4ME5TT2crTURXbmRLWU1tQ09lM0VRRnFOYXVwNi9hL1BYTDc0ak9qbnF3S1p5Q3BGSEk0SEpQNmkvZmRNcWRqZjJvR2p6T2JXRmdkSForeTljWlB6Y0FZbVVrdEg3MjZWeEpPdEo0dGxtZVpNZHhwT0Y2YzA5WlR0dUkzdEhEZlk1TTM2cTdqVWtLMGxWZ0psMG1WeUlndUVsSEVpQ25TdEllSElvdVlLVmhLWWp0UHVqUHB1eFovLytWOXd3aGxNSGF2VnFkNTZvcnNmaDNTbEIxTllrZjErTzRIWTRiMCs1MkxTTXJpdGFuTFhsZnR2TkRjZlA5dDY0ekJSMm9FdFY1b3l0aXphR3BhaFNJMDVNalhnbDBLMXROUllYck5mWWJmYTV1YnNCbnZUbTJ6N2JXcHBrQTVTcDdRdUswV0N6dVMxUm0vUnYrNmRFL3RtdUlFMVlmUnViVW5rV2lzamVabncxbEk3UnhNOEhzdUNSRzRNTWVvNDQ1eEE2UGlVRXg3N2puMmJxTDBsQjVVWTg3NGloVWhJaVdaYTAwbEhOcm5RMVRUcmJyTEZaSStJNHpBbE5uZjJtTGVuV0wrQjd6S3NPbDVubjNzOEpGdVk5MG1Id2dGeFFaOWFQZDJ0dlRCRXV2NEpyaHp0MUUrYjFoemJuaWFTeWllSTNzazlsYUEvZFFuSXJ0eC94WlF0SlNCSWVTcVprcW05YnZqNnN1TWF5UDVDeEtYTURoUXcwR2ZnOGlqalZqZzhvdDhmTXBIbGMrMWF6ME5IK2VXWitJV0N6SkQwL1hKS3kxL0VNc2FKMVY2T3haV2ZEZXVNQkdnMjZ6SlBiTDMrejFrZ2U5VkplVm4xY2puSFVQSEpnNC80enRkL0ZWSW01WUNUQ2lzZXBQZ3JTVS91Ni8rNGw5eTVXRXJzTTB0Ym16c0VPcGFMbG5lLzhTMysyYit5Vk02eFhDMHVtSWM5YXpkTUJjdXpnTW13T2Fud3lVTUt5cEhPaHBySmlLUFdaL0g2Sm9xaWRuRmhEZXYwaDhYajhmUk9ZeFpvbDZvT2tWTGZaTEgrOW9YMXVJemt5R2s4NXNPSFArWHJkOTVsY1RKbjAybG1aM082U2V5MHl6b2JQVDVhSlJqNTJ3ODdLVnJKTUdaMG41VHU5dzVtelFadjNIaWRkMS8vRm1jZm50R1dUTkZPczh0UmUxZ21SUWFSdUo1SWVMQzFJeTh2em5hRzYxSDB4RWNDTyt6eWpidGZaNnZlSUxXSjJsVlUwMUtlTHhsdks1Qks5M1pHQWEwaFkzTEdHU2s0VTRya21TbTNlY0ladzNsN3ltU3o1dU1QUGlUMldTNEpsOGloL1ZtNjRsNTg2dUxRY3h0Tkprcmk0OVU5dnNjMzJBZzFlOVUrWVJHWU5SdWsySGZLTTNBMUJza2s4V1NEWmt4RmVjNFZGVlhyMkxIYjNPRVdHMlkybE80ellFeGVaeFJIeDlNYUJmTHFsV1VSazhyak0yRmM0c241TWNmNW1KWkFFalV6Y1drdFdyQytKQTFyUGU1eW5mVTJ1Rm16dlNKZ2tzT1ppaTRMbFRFTWJablBtcmcvSTVJeFN2V3hBVXdpU3FiTmhaS0EvanZMY3ladHcyNjd3OWJSTm52c2NYTjJnMXZiZDlqYnZnSG40TElVcHl2SVdRWXdLejNYZjN6bVJ0bEhNWnJVMEY4czNpZ1FkT0tveEl5UGFSbnhBQUFnQUVsRVFWUjRxSEhnWDdneVlWNlNPQXB6TnRnZzVaSWV4U2xRTmFqY1diOGRwbmNSdEZwZHdXTEVrZkdZeHRHS0pSbDlGbFE1czEzTjJEWXpQcEZVbEZ0R3UxRnVwNzRKYTVrdlo5UDdpYUs2dnpYNFVqVEs1Vzl5T2RQYXl0YmgwU2NSQmN6cVBhYktzYkJLZWRUT1pjcmtHMnFVaXFFT2NkZnhaY2Mxa0wyTzYvaVN3MVdPR0FJYlpzclBmdllCK2JkVjZpV21oRFhWa0NkYmo0dVdGMEhRUnRSSzh2ajhCRmM1YnQyNHc5M3R1OXcvL2Zrd1JWTG5lQmhvQlplb3lWUHZXYXlpcnJIMWRKSnhOR3l6elJuTG9ubmF4M3FiZWlEN3ZHcTdNa1FyRWhHUFpXTTI0OGxDM2VDY1UycEJ2cXBhTUV6QWhBVUxmdkNUditTdHUyOXJSM3JxTUdKcG1vYlQrU211OWtndUV6d1JUQzZpUFdadFNObFBCeTUzaHFzRnIxWTlkcmYzK09iWHY4blIyU0UvT2Z3eEZZVW1oeVZib1drYXhBb2h0dVNRSUVGZUpqYTJab1FRaUcxRUNwL09Tai9nV2h5V043YmY0SnZ2dk12VVQxbWN6S21sb1hJMW9lMUt4dTNaUjNBOWtiWFlVbEtYRWVBdzNqRlBDMkpqK01uRG43RWk0SXpWRHZRdnlKam80T0NBczF0enR2TVdmbHF6ZUxLZ21VM3BVbHF2b3hBOSsweWdLWlB6bkhWQzB2TnFZNHpNdGpiNXF2MHFkVlgxcmZMUGlSNThYZ3d4U3I4dzNuRHcrSUFGNS9wQm9VTDF3aU1PaXNrRVpaYVIxK2xWVVU1c2hhWEpocHFLZ0dCd21PaHBxRWlTUDM5R1R0UmlRbEtwZ0pnMU56NEl4S3dnTWdBcmpqaGt3UU9lc0xzNDVEVVd2TGtaZU4zZnhjYjEvdmRHS2kvU2hOUWJSNmliSERxUks5UXg0OWFXMXptUEtVZDl4akp5ZEhyRWEvV3ROVGlXNGtwV21pL1hYUCtubFdla1RNb3E3MG14d3lNNDR6QXhNNXR1c0xkMUEzZjZvVjQrMG5NSjlLK1RnMlVDNzZEVDJiTE9SVk11bkdkWEREVk1nZGEyY0xESDNSZWFlKzAxSVJUNnltaExsY0F5UmU5VU1JUlN0ZkY0SXBHT3JueDJuWkg5c3VNYXlGN0hkWHpKSVFWVmlBaWZIaDV3ZEhMSTN0M2JoSGxYZUg5OVJyMDB1NGp5MHFBdlZHcjBSZ05HN0FBcFY4c2xzWTNjMkwvQjRlSWgvOG0zZjVPSC8rb1RvR0xhVkp5M0MzMFVteEV0UVpFR0NDek9JNDMxTkdaS2pKbHQ5dmliZisxdjhmYWI3L0RreVFtempVM0cvT2pMVWp4OTg5VlZZTXlnc21hcnZDSTY5VWY2M2QvL3A2enlvdVJGS0ZuZE1jRE1GMGlOZ1JYdmZmd1REazRlY252akxtRWVtUGtOcFNLSTFSMkxOY25HNGdRMUdxck0xZE9CdnBFa0dhaHNSYmRxUVF5M2QyN3gzVzk5ai96RHpFK1BQNkNMZ1FrTnJYUzB5N1lzYTExbnRzNHdQMWtNYjJsUGZnOFFEQTBOKzl6aW5kZmU0ZTdlVnlBSWJSdG92TUVhUXdoNVpORjVkV1JVWGNFVkFOc0Rkb0JzTThGbFpPSzVkM3lQSjV6UUZvZWk0UnkvU2doZ0RQTTg1K0dUQTE2N2NZYzJCNExOZUNma0hNZCtCWmZKaUhxc2pTSEdoSzlycGM2a1JHVWRkMi9kWG45SDFsTzNucHM5UG0rcS9idk90dVZpWFJwY0psZHdjUHlvd0JLbGJvRUNmRUs2QUxIU3VEcFZKZ0lPd1FNM3FoMzJOdll3QzRzRXZSOEVpMVNYV2RZdkhwM3YrR2orSVhPaUNqTm9Vbk9RaHhZTG5kWDhkNHJDS3JmVVpCWTg1bXpSY3JRNDVmYnRmZXJrQm5XVmx3dUxFNE9VcXpLUjFBYmJpZktSeTMrUzhqQWhVWHFXSUFTT1RwL0FIYkRHa0pOQm9oUytyY05hcFV0a2tlSStkam42S2t3a3hSYVZISFowN1pKNk91WG01bTEyVHZkWmNJSVJuZXpnRXYyREwwcHBHUUNkeXhoVnNiQlJ1ZUl6YW03VnQzam50YStwa2tkMktrOG5TaVhvbjFOaTR3V3Q3UDc1WUlxVDJISzV4RldXYURLZEJLUXlSQmM1T0Q3a2svbkh0SFF2ZWN5djQ2OGlyb0hzZFZ6SGx4a0NPYWdNVEtERDB2S3pqMzdHTzEvNUpxWlNrSnRMOWk2TGx2NFlRQzF3b2JCVjJuWDZnVjBNS1dkMk4zWncyV0dqNXplKzg1djg1Vi84V3g0dVBzUjBhUUJzNDd4Q1A1NzNBR0xtTjJuYmpHUENiMzczdC9udHYvNTMyZDI2U2Z0YXgzTFpYdXlPTGdQQndNVkxWd1BjUHFyR0UxM2dYTTc0MmFQM3NOYVJFeXA2WDVUUWtvRHAvZVA3N2V1cE5XUU9lY3lQUC9vaGQzNzlqdXB5ZXNQNTRUblRxZnFqOTluS05BTGJmYlBjSUJoL2VSdkxZR2N0Mk9RSXE0QnZLdDY1OHphVnJhaC9XUEdqd3gvUkVqVVRXZ3FYVmUyMUVTb0VRZ3hEUXJKeGpkSkY2SzFsSFJObS9OYjNmb3UzYnI3TnpNMElJWUx6T0ZSeXladTFPUHRWeWhLNnVZNk1wUkl3U1hDaURuekpLdU8xTllFOHRmemczNzFQaDBvVjVaeXgzcENqdkRJMXhqb2dadTQvZXNDdjNma2U1L056Nm1aR0p3RnNUM2ZSa3lrbWpTWVB1VEJrTkc5bWpDTm4zZGVjWVdOakMwa3lrcG1DTlJsN2ZjNnVQQzRHZ3NsRUt5eGl5ekduWkRMT21NSG9vSjlnOWVmSGxTVW1MRVVtQVFjME9DWjRibTdlNE4zYlgyY3piK0hhbXFsc1VlSElzWDFoVHZqbFdOUXRZWDdDUTFvNkloMldLRm0zY2RSekZpVVJmWUpVMFNiQmtWZ1E2QWdzMG9wSnJOUVJzR1JqeHcycXp3TzNPdWwxYW01bDE3UFliRlNRS3BXcFpCNWw3ME1PZUJ4QzRqU2ZFQ1dSbmNGNFIrNlNhZ0tiWE9RWlBWa1NJcmJRWWlnVWt6eWN0NXhVUU1zWk5ZcklJZU02eTA2OXgxdlRkemhjL3BnYWFGTUxOaFlnMjJsN1NKOWV6VUNBcHFxUm1KaFFzY01HMzloL205djJwcG8rU0kwMURpdkZDNjhvRDFoYXNvbWszdFZMOUQ3MlJaTjVzdW5BSkRvSkJCK0lHM0NjRjV5ZnJjcHorVHArRWVJYXlGN0hkWHlaVVpDWmQ1NmN0SkhuL1orK3gxLzc3dCtnOGR1YWljQ09xSXhqV2tGR203cmlrUFc3c0doUndEU2RUSG4wNklEcDVwVE56YnY4emQvOEhmN3hIM3hLa3BLTkxZdHpsM0NOd1RJMUd3WEVOdHh5ZC9uMjEzOFZMeHM4K1BsaktsTXhhUnA2QlFBWVp6VDBIWlBscVU3cFBzUUt4OGRIK0EzSGFYZktoKzkvT0toZ21McmdpVDZSSnV0R0ROTnpGZEdzWTVkYmZ2aXpmODgzMy9vV042cmJKSnRvUTh2MnhqWXg5cDd3MElQK3Z1dTlWd0xwSndEWnJKdEJBR3kyaUJGcTIyQ3d4QkNZMURQZXV2MFd0VlRzSDl6aysrLy9HK2FjRTJnQndYWkZ4Z2psZkhycWt0V0tDSTRHeDZiZDVvMnZ2c21iKzIveTdtdnZNb2tUNGp4QmhFb3EzYXlVQzYyMFA1NE1tZk14Y0pMQzhUTVpuQ1JjVnA2cnFsTWtscWJseWRrWjc1MzhuSXdyQmdwUnRXQmZ4SDd2TTBKRXNEZ2VoUU9PVnFkWXFYRDFsQnhWcnNuMEdmUnkzYTZMdHpKY0kyUFp0S3JTWmlGbkxDRUdsY29xY1ZVQ3VUOFN2YnVYVUp5YXJCQmM1dURzTVdlY2x3bkxtam9Ra3d5RFh6ODVNcXk1M1gxWjNaVXBuZ3VHVFRQamh0M0hKcyswMjhDTEo4UUZmRTZXcEUrV042ZDN5Y3VXUTQ2Vkk1Nk5HbTE0MW5Yd0hxd1ZPK2lpaEtpMGc3dzJBWGxSL2Q0TDI0QXJlOXhQRGxRVkloQ0xIZkdsS0o2MEdXSEJuTlBWQ1R1VGJSbzNJVHNoaTZwVFpERWpjTEhPZ0Y2c3pHUlM2cWljNnVtWkRDNVhzSUxhTnJ5Kyt5WWZMWjhRT0VLd2RDR1VyS3dCb3ZLWHk3RXhHV3hycWZCTXFibkxiZDZZM0dFamJWREZCcGNxVlg0WVV0NFdROFN4UUNRU2pTZFl6YitiN0tpVHhXZXc4NVljVzV4TjFKczFDeE5ZdGd1T1QwL0hoYUhyK0pMakdzaGV4M1Y4bVZFMFUyTU9lQ3lSeU1mM1ArU1RoNS93OWE5K2srVEE1S2lKaUpIWCtGQWFlK3BSbWtjTHRqaGpXWjYxMk95UUZuQ1diNzMxSGM2ZS9KZDgvMGQveklHMDJLY0dMSXVod3VESlV1R3AyT1VtZi90di9GM2Uvc3JYOFdhQ21kVFV2aVoxWVdRWFNlR2cyaEdRTGE4eTVxR1dMWmZNL3V3R2J0Tnc4dmlRQi9jT3lrTFdBaHdEWjdlTXRlTmxaREp0WHRIWUNSK2QvWngvL2NNLzQrLzl4dDluRlpmWVJrdWxhalZad0NCR203NUtzeFJHMW8yUm94Z01RUUNUTkxQbDhTcEZseE5OMWZENi91dnM3ZXl6djcvUGcwZWY4Tk1QZjg1eFBpem5JMU5SVTFQUm9jMXJmUWIyMXNZdDNuenpiYjd4enRmNDZ2NGJkQThETmxqTmppYWdCLzRpbUd5dzVtS0R6dVh6cEs1ZTJyYWtGSU5JTWtJMmtXd2puWTE4LzBkL3ppa0xBcUVBRmJBeDA2dFF2UXFXbFZ5Y25tajUrUEVuN043ZFp4RVdOTlZNbFRSR1JPbU0xY2FzWVlVeU9JQ2xsRUJnWXpJbGhLQnlZbWF0SGpCazRpK3YzOWpodnVnYjZaTEpSSnRwZmViand3ZTBSQnhXK2RZR2V2MVBjMkZiUnNzMzZ3U3dHRU9Xek9KOFNYZWVGS2dkR2ZKQ3MrdlZ6b1lxWW55T3FNVHl6dTdieE5pUmczREdBa05FQ0xSUjdiK3BiUUd6Um9telJYR2xRaHVadkxHRFFzR2dkZjNDSEZsdGpqT2lEVXRpaEdoU3lmV0d0WjlXZi9ETFRaNUxwallTK2ZUNFUzYjJkdG1kZUd4bHlFbElaUnRsY0IxTTYwbFlXY0l3R1RNWjR5MjVhRExQbWhsZENPUjU0c2JXRFg1bCsxdE16Ky96WWI3SE9VdHlDdVJreWJUSVFEcXlOSGdxSER0czhocTMrZHIybSt5a0xlekNVa2VMUzMwVFh4R0RNMHFyOEVDMmhtekJXS3NOYU9Jd3dlTVRiTGtKS2MxSnJpYTd6RElkTTUrZmxSeDZmdFY1NEhWOFFYRU5aSy9qT3I2czZMbC9GaVFLZFYwUnU4aFJmTVRESi9kNDY0MjNNQmFjV0xJcDVneXlIcmdWSVBSSUwxOGhuSjd4dnViNDBTRnZ2UFU2SHovNE9aTm15bmE5eTMvejkvOGhyakw4OHovL0oyUmErbEdxbDRZeXFrcUtvMkdQRy96dDMvbzcvTWIzL2daaG5saTFjemFubStSTzhGTHBwb3pBb2k1SEh5MjVwSHZYRGtOOXI3akJHS0ZyTzR5RDQrTVQ3aDNkMCswd2hxYXBhT1BJZVdxMGIwUDJGNlZGdUlrbExnSS9lUDh2K1Z0Ly9YY2dHRFkzZHRUaHk2alZyTXRlQytzV3N1a3pzMld4bzJhVmNSZ1VGTVJWSXR1TXR3N0psaHdUM25wMjZ4MW1yMzJiZCs2OHpXOTgvVGM1WDV4eGRuN0N5ZGtaODhVWmJkZXA1ZXBreXY3dURmWjM5OWplMk1aYVQyZ0RUejU4d2l4dk1uR08ybG50L2dhY1ZWcEJiekJnSlpOdEhyaUdJbGJMczhOV3Jva2hLblVVeVRiUitVam5PMzc0NkNkMEpDS0J5YlJtdFd5MWljbFlsaThqdmZlTWlDV0RkKy9rQWQvNytxOHhQNXd6bVUyZ0JaRmNzdlI5SnEvWFBPMlZXRFFqRzBMQUdFTmQxM1JkdDdhNGZZNDlvSmhTVFREbEtJaVFEQ1FieTc1SEh1WEhCRVlTYTZLdWhNa0k0anc1eHVIU3l2MjEwQU52MGU1N3RlUk41R1NvL1pScFBXTXJiZUd0NXlUTitid3NXUk05ZDNmdWNuSnl4Rm1ZbzVBc0lMUVlFbDBRYlJ3MGFqSWhRWDJuUEpZSkZkdE04RlpwQlQyUUhWd0l5Ny9Qc21uV1RMWkI5elFRVFVELzZ3cVE3Vk9wcko4dFJSSW01c0FqSG5NM25yRmh0Nmk4SjVQS3ZhNTgyYWRyN3ozZnZWUlhuR0M5SllZV2F5eXpla0szVE1nOE1KMDFmT2Z1Ti9FSEZlRzQ0d2xQNkZnTjBtV2FGL1pVTkVYbHdiUFBIbC9iK2hwdmJuNkZldW1wUTQzTFRoM1J4Sk9Nb1JkQ004WlRpeSszZlkxSWhiRVZSbXFjS2ZhMENYSnlXQWtrRWViTE13N09IbkhJY1RsQzExRDJGeUd1Z2V5WEhQM011WC9nYUlrdGtiUEIyTDdrSTF6VU4yVVlkSE54bERHNUxFdGdMTCtWVGNZTUZxdHlZWjIvSEZHT3pQZ0JmdmwzV1IrLzRkakp4V1BiNjhZT3IyVVp4aXJQVkVSd09FTC9GMTlFc3d5UUkyeHVUVGsvWGJMcWxteFZPM1FoOFVkLytnZDg4OTFmd1ljSmQyKy9UbmVlbUo4dTJOMjZRZXBnY2I1a1kydUdTQVJUbWpKQXM0dzU2WWdzanE3cjJON2U1dVRvbE0zcEZyRU5PQnE2ODQ2Ly9WdC9uMjkrNzFkNS82TVBlTys5OS9qMDRVTTZXaW9hZG1kNzdHN3Q4cjF2Zlk4N3QrNXllL2N1bFhoQ1RqaG5TVUY1Y0ZLdVB6MjJCaU9GcDllblh6Sk1KeE5XcXdXU0FrM1RzRnd1aVRHd2YydWYwSFlzMDV3LytLTS9KQkhacUtkMFlVNTczcTNCNjdyeWVmSFlVYzVCcGVmcEtCL3lmL3p1UCtJZi9KMy9qbHU3dHpuODhKQTcyMTloZGRZU2dxN2JXdDMyNkFKMTQ4bWhUMjJ2ejcwTTE0ZUdkOW9MTFRrVmJwK0RyRzUzM2xaTWpXUHFaK3h1NzhOMlAvajNOQWdOSTFacEZxM1NBQnFaWUp6Rmk5VXFLVm1QbVZHMWhpaHh2SmNYYkpMNzZ4V2dDNUhHS2k4NkZxUE43QktkNzJoZHh6LzdsLzhjWjYzYTZwck1xcDFyQmk5bjRoY0FZdnZuamNQellmY0pQMzM0YzM3bDdyZFluYStZdWhwaUhqS2JJcHJKRXhGY1hpdDdka2x3cmtKRVdNNVh5amZPWlJKMFFTOXFuU250YlFGU1Z1NXIxN1ZzYkc1eTFwNnlTaTNWYnMzSEQzL0tFZWNFTWkzdGNDeFRFYmVQS1Q3N0hyYmxGcW9zY1NXY3NlTEovSlN2YkVZYUVVSVh0V0hNYWFiNTg0UVZSenJwZUdmM2E5ell1TXRIeC9mNGFmZ1l3emsxRWNIUTBsR0p3d1UxU2ZWQWplTTFmNGUzTnQ5Z1l1dTFRc0FvUGd2QTlpR2lTaEdtZ1ZWcWFXN1VuT2JFaDJjZm83clo1VDRZelNleVFDc3REamppa0NmdFkvYmNIakFsZDRtSm1UQnRhaVJkbkd6Wm9nSlJscUpVRUFlcnRNUTdEMkpZdGgyVmFkaHVHdUk4UXhkNGEzS2JHM2MzZWJSOHhNT1QreHp4aEk2NThwbVpNV1dURzlVMnQyYjczR3oyMkRFenBxRm1raXBNejdNZWVMb1dUQ0pic0VTdEtCaktCR2dOcy92Zk8wa2tINGt1Y0pZV1BPNk9PT0ZNclRWY2VnRlZqZXY0RHhIWFFQWTZydU5MamxTeVFxRGFzWW5Nay9OSGZQOEgvNXIvK3IvNGIvbjAzaWZNNmgxMmIrd3lQenJGVXJPM3Q4ZHlOY2RZUzYvRGFxUmtHWXN1S3FQU0xQU2xSSWZnSUhza3dWdDN2ODMrN2h2OCtyZCtCMi9kd0ZjMG9ycVo4K05UTm1kYlROd1VJbGp2Q2lncmcrZW9SSWlZVXVxbEFENUxra2cwQWZHWk5nV2NjY3gyWml5WGN4NGVQV0JqcCtFSC8vN2ZjZG9kSWlUbTNYTE5DK3pqTStaZGk4VVNzcnBqUFR6L2xMLzg0TTh4YnhsdTd0L2gwZUVCMjgwTzI5TnR1dGpTaFlEeDRMMVhlYlB4YW93aGt3ZGFCRnprOUluMHgxT1B0eGp0aE83ZHRucVp0SUdEUzI5cFdwUUtzdWw3WGRaTlRBV29hWFpTaXVLRURIOC9ITnRSMk1JNXpVQmxvS29jNm9DMklwbEE4b0dqY01MOTA4Y2N4Mk1XekFIVkt0WDlaR1QvOElwaElFdG16b0lKVSs2ZFBPRHRyN3hESlZBbFV5VEJiS0U2OTdCRzdVWUhkN2dyZ09DYU92UHMwQXlxQTJPVTg1dUNyc1ZuenNLQ3gvTkRPbElwa3FkK2M0dTlyQjFkdTZ3blMrT0RZcUNOYXNReHArTjRkY2I1ZE1YMmRBOGJIRzNiS1ErOU42Zmg1VjRsVzlyamlOdW91Ykd4d2RacnU5eHVYK2ZSMldPZXJFNVlwZ1dQZUl6SDBlQnBzR3d5WlcreXhjMmRmVzQwTi9EelZ6eUwxbUs4WXhIT1NVMG1tY2hSZTFxeTdHRjBmaTVlZzRMbWNGc0NuM1lQMlY1czgvclc2MVJNNmVZZEpnbXp1aUdIa3ZWbFZQa1lOTkwxTEdhakRtTTJ1ZUVJV2JINHBKenBLVFZiVmNOZTFmRDZ4aDRkSzhRbDhCWHpsY0dhaGtuMlRLaVlKRS9kR1V3MDVCaXBURk8yVjJrbFlvdkxuNEZNSkl4dVF5a1Q4dVJVOFNTWWpLUU9ONE13Z1ZNNTUxSDdtTWNjS21YSWk4NDZmNW55UXYrUnhqV1F2WTdyK0RKRG9GMFZ4eUlNVWRTbWRja1pmL2I5UCtZLy9ldS9SU3VCbWQ4a3lJbzJMZG1zSzV3WFFnaFVqZkpSRGVvSERtV1lMT0JLUm9PR2lDMEF5Z0lPa3gwbkQ1ZDBHYXlkNE91S3FxcEFNakZHSkVWdWJOM0JBR0Vaa1pod3h1T3RabjFqaXFyM1dpZ09VckpBdmNzUVpOekUwS2FWbGhDbmxtVTZKNXNLT3hPaXJIaThQT2FQLytJUE9lRUpsYkdjUzFBdzBSTTROWWwzWWJEb2Z4U2pxZ0s1b0xJa2ljUDJNZDkvLzk4d2JXYmMrdTV0bUF2UlJOcThJa202YUVGckZNRU1KaE45dzB2Um1IMWFhYUVNNndWSUltakpza1FQbHRKQTlYQnJibkNSQWxPWnJMWHhRdVppNmJ3ZlREWGIvSFMyeDR5T2hUVlFPWS9rU0p0V1JOTlJ6U3dybTdqLzRDSGYvL2dIbkhCQzI0TllVektpK1l2ekl1b1RmNTFFS3VERHcwLzQxWERLbnQwZ2RTMWVKaU5URWx2MlR5MTBuN2xNV2NPYzhiZGs5RHJlZm1zZEdFc09FZXZVOXZab2Vjajk4OGUwNU5MZ2xnY1N4bkRFeDJDMjM4WkxZRmF2NGt4TDRrSDNpTmRXVDdpeGM0Tm1vMkcxT3FlaHdnL1owSmQ5aFZtMXFlNVRDMHRkTzI1WE5UdjcyM3dsTEZuR0pUdTdXNlFVVkNwTUNpOFdxd1lOUzArVm41NEV2R2dvTlNOaEtzY3lyREFUTldCNGNIeWZ0cEFMaWgzRTZJL1cyeDVMcHZ0VFBtVjZNbVZ2ZTQvWmRFWllKbFpkcEw0RUx6NExjcWRlb0VJeUx1dDlGdVlyeEdhTVN6VE9VUG1HN0NvZ2thWGlack5EeWg0Yk15WmtmQWN1aWFvT3NMNW1rczNsSHlRclJha2xLeEJGczdYWkdMS0ordnp6RnBISXlxeW9ONFNsWDNELzlESDN1NGVzV0lHUDRBMmxSSGNkWDNKY0E5bnJ1STR2T1pSS1pwUXJGa1BwcTNBOG5EL2dkMy92LytMdi9mWi94V1RUYy96cEV6Wm51MHlxaXRQVFk2eVVETjVUY2dWbDJKWmU5bnNFWmcyRmxLc05ZN2QyYnRPR1RBZ0JVc1prd2VKVm5OdzJtSlNJTVpLQ05qb1pCOWw3a0lGcGh2SWRuWmJ1eEE3MnVRQ1RTY1BKMlRGTjQvQ041ZVJreVdKNXp0YldsTWx1eGZlLy82YzhTQi9UVWJKcHZZdFFZSjBJeXJZSWtFR2YrZXozV2VXNnRIdloxNWEyYmZsay9oRS92dmREYnQrOHpUZnVmSlAyOFpMRllzN0VUVEhla0ZNbXBxQ2cvWmxsNFZ5eU5oY05DUzRjYXJFWHNyZTlHTStnNGl1WHFBVUZ3UGJlOUZJYXVYcFh0bXlrckt1M1RiN0lKN3k4RlVZc2xiUE1sK2UwZVlYZk5NZ0VIczJQK2VESmgveDg4U0dSb0dEWmxMYXVweXZGcnh4S2Fjbk1aUVVjOCtucEFYdWJieU9ycEVvQVpRSWxwczgxOXpPVXF6T3hjdW4zQytzWnI5ZFlzcXpkekZJTTJNcGdLOGZKeVRtSEhCSEtFUmdMQUZ6Z1JZOTU1ZU1KMDNqekt0WDBQZVNZVDA3dmMzZnpGblh0NlpxQWMyYjBCeS8vT3ZOYnRLRmpPVjhTNWhFYVE5MDBUSHlOTkR1WURuSk1HRWw0REpXcGNCbHlqS1JPTU9aVmh2Qk1sd0wxeEN0NG5GcE93em4zNXcvcENNU2hJZ0JyRzJ2OXUwS0FJNU5ac3VEVGNKL2JwemVaN1d4UU53NkpobFZZVVJtN3ZoOUtxT3lYVHNUV2phSldiWmR0SGpSY2pjQ2tyc2s1a3BKeXJZM1VwSlJKRXNsSkVKK1VzcE9OUHJ1eVZwV2N0WGh2dFpIT2FCWTJXNzJ2eEt5dG45TWdkTnpmNTNuSTNrWWJvTW1jdWdVSHF3TStPdnVFeHh3UkNEeGpwbnNkWDFKY0E5bnJ1STR2TWF6MjBBK0M1aEgxc0hmZUVHUGdUNzcvLy9HMU45NWg5MWQyMmRpdXFjVVN3cElVSW5XdFpUTWpkaWdicnlXbHBMZ2JLZEFzNytoWEFJeHkxazRPajdCV05TaFYrMUZKbWxrU0lVWW1WWTBYZzNNZTZ5cmx3MmJCV25DdUl1VTRQTk43NmFvZUpBa1FVamNvM25TeEJSZVpURHlkTFBuazBVZjgyWS8vbUpZRmlVUW5xZzlKWmFCVEJ5WEp5disxNDVMc0NOaWxzTzZNRDZJZ3VFc3Q3eDM4aVB4dk01di8yUlpielE0enY0bDB3di9mM3BzK3lYR2s2WjAvUHlJeXN3NmNCRUUyaitad3VqVXozVHV6a2tZbWpUUXlqVVltN1lmOXNMYi8zbjVmcy8wRDF0Wmtra3dteVNTWnVudlV6V2xPczVzM1FSQkhBWVZDWFhsRmhMdS8rOEhkSXlLenNnQVFBQW15RVErc0VIbEdSbmg0dUQvK0hzL3J2RU9aV0lmZE9VY2hwaU9qdlhrcFNuRkYyMmh2R2RBTExlamJEUHZwUXJUYnpyS2JqejBGa0tnb1FCK1VwT1NzbkFjdTdSWXlJVTZ4dHRrS3V4cStDNjVCSzAreFZTRGJjSGR4bjcvNzZrTStmbkNESlUwc2dVckE2RjQ0bnlKWkkzVU0wbjdXK1ZnQmhVWXFoOGR6ZS84T2YzTGhoekVCeVdWSnRuenVYYmlHSXVCVmxrUEtiWm0yYVJHZ0VsRWxQWTdOMzYwUVFvb2RObHJqdk1TRkRaNmp4VWs2ZTJrOUZTc1FUVnRWSlAya3lidVZLTGdQeE10c05jRUhxbEN6SjNlNVBiL0daTGRnZEduRXRQSG9EWVVlbmdRNmFJS3JNYUxaSHUvR1VzbzArTVlUR2tFa1VOV0xWbG9yS0oyU2xSUktqVEJhcmVjbmZpMEVCZDdYR0tVeFd4WnZHeDRlUHVTRWs3VDhrV2h5VnlvdGZ1bXRBS0l2b2JFMTRoUkhISEhqd1UxMjlDNXZiYjlCU1lFN2RWaXJXM2svV0pmZkFoTjB1NkFEOENwcWFxTzdSRFNSdUVBMmdORUZwWTFWRHcyQ2ttaU4xeHBFU2RMREZab1FhRkt5bWFSUUF0KzdURzNvU2tvRzFaSi9MOHUzQmJ4cE1EdWFoL05qdmp5NnpWZCtMMmtWRUR2S1VBdmhPNE9CeUE0WThBS2h0WTY2a2FUa0UyTHNtUXR4Q3E2cCtFLy81VCt5VTE3a3ovK1hmOHowUWNWOFduTngreUtFT0Vua3BKbU1UaVErdS9zelVaTmtyYVg5eHNpQTFvSVdSUWh4VW81NmxDYTYyb0pISzRWT2d1cytORGpuQ0VGaHJlNjBUaVZaSkNYbVh1ZUphYkZZTUpvVWVHbVlMVTRaVHdxMkxzVlN2UC90NS8rWnZjVnR4TVNJUEJHZ0JJZ25wWFRVWk5XcFhucHVtNzRrVjVUN3luSmF4QkZOd1hGenhHL3Zmc0RGWDE3aUwzN3l6M2psMVd0VXh4WEw2WUpKT1VHc01KMU9LZXltT3EwcHhBRFFTdHJzK0ZVRFRJcTVhOXM4dWtTRGlvbUJrbWJzbUZYdk1VRVJkRXh5aW9UVnRtVTZzd1VXeVJZakh5M2I2Vmk2b2dJclBRY2w0RjNOZURMQzd5cjI2Z2Q4Y1BNamZuWHo3NWd5UlpsSUFrd2lqeUhRWmVVcllseUczMlR4ZlhKSTV2SEtnNGtMajN1SGUwem5KMnlycTlINjFtdWp2Rlg5NVVGYUIvVEpldjlzTS9scEk0OTcrd2tLWFBDTWRTd21JRXBSVlJXSHAwYzAyYnFtQXlHUVNsYWsrTTYxR095b3VieHFJMjdKckc4UVpYREFNYWZjT2JuRnhmR1lIMHplU0ZySHhWTzNuL2VDTWZHZTA0RDNGb0pnVlZUMTJOM2FTaVFXdlBlNEprUTFEcTNSTmlmUVBjUDFzNXFscjVBQ0hzNU8yRHU2aDBPb2FaSmxzdE5kN1gycnRWb3V4YWZicnVFdWQ3bDhjSWtyNVJWRzVTakthaW5CQ09lR3lSaDZpWHVaMENvZmw0Y0N2cWtSRCtJRE9zVGtTT1ZqaVdVbnd0Z1NxNURwMktsREN0MEpoRlFpTng1N3ZOZHlLRkhTek03U2JSSVZDbHExQlIxQU5UUzZaaEU4RCtZeHBHQkdGUk1xTlhqWDdtN0Fkd0FEa1IwdzRJVWl1djlkNkt4R0NuQ2hKbFlJRis2YzNPTG52L2p2WE5tK3pPV3RWN0ZGY3IwcG00aGpSMlpiNjVNS1NEdUE5K1c2ZWtZVkNVeEdGcTBFNXp4TnM4VDVRR0ZMckxVWXJXTldyd2NKQVpPSWlvamdKYUFEbUphZGFLUU5aMGpIMUdOK1BqUnhuMFp4Ky9aWC9Qclg3L0had2FjNEt2UTQ0SmJwUzVyVzBoRnFUOVN6N1UraXZpTml4Qkt5UHZpWWdhK0FnaHpZaUFzMTc5LzhOYU13d2Z5NDRPcjJLNVJsU1JNY29mWVlZK2hZY1o1byszRUV5UnFiNDFtVlNrUklWcXFEUlNzTzBYcWJpR3lYcU5WZDV4VTFqTmFOS1dlcWpQVXR6bDBUOXR0QUozZDl3QkxMaWU0ZkgvREI3ZC95d2UyUG1MTEE0VUM1T0dtSFNEZ05kSXJCU3NkNHgyZWNqQlZneHVCY2RBdFh2dUdZRSs0OXVNZjFxNWQ3c1FJNkVuWHRuOWdqbTBWYkhtWHc3RmV6QW5ET01hMVBPWllqRkNsV1c5T0psS3dqdlo1SmJOSGEzbU9GcmRZQXJ6d2VqYU5pejkvbDR1R1lpMnJDUlgrVmNhTTM3UGlKemhCdERTTFFOQTNCTmNtNkROWWFyTEdjbkp4R3k3YlJCSzFReWlER0lyWWdhSkN3Zktha3ZmRzQ1TEE2b2lvcTloN3VzUmYyY2JoWTFhc3pwSGNXMlQ1cFZyVGVGdGMwQkJyMi9UNTM3dCttdUdEWU5oTUllZUZ5RnJuNklKcGsvVTF1LzNUZktXQlNsT0JCdHpXMG8zYXlHSVVLanNZdjQ2SklwY3BteXNURnU5WUVZMVlVZW5RNmFCTXl1WVdBYVVzODZ4RFFxYUtaNkpqd2V1dmVMZTVNNzNITWxCQURqU0NFTmpaODRMSGZEUXhFOWdXanJWYlVXclowSElCenFjL1c0bFBGTnkwQUFDQUFTVVJCVk5FUEhzc3p2a0pScDRFMmRDTytyQkVZNGxzcnRwZTgzKzg5MXQyNXVSbTZjODlacytiTTl6b1NrVmZxSFZiU1Fub3VzVVJTVmdMdW52N29mYXN1RURWT1I2TVMxOVFFQjBaSHJVYU40amRmdmMvT3ozZjUzLy8xLzhtRnk1YzVmdkNRbmNrVlFoaVIzZTJTa3JpRUxwd0FvTTBRVi9IWVZTckJpUkpPcDRkTVJtT3N0WXpIc2Q2OTFoWnhRdFVzS1V4SjQydkVLNVNPRTY5Vkl6dytTdWJVcnBmOEZOMmU3ZThybUV4R0xOeU1TaXEyTDVkVTdwUmZmZmdMZm5ucjUzZ2F0QlZjYW1aZHB0d0xnWEl5b3A1MXVlNnhtZGRVRzRXb3RacGQvcTUzMmlxZTcwSm0vT0xXejVqTlp2ekxmL3pYdkhiMWRRNFBEcWxkelpYZHE2aUZiaWUybkhnbGtzVG9rMVUwaHdnSU1kWXVtbWZ6NzJRL2VXS0w1T3cweUtFUU9wUGViSEh0bllVQVFlazJObGIxM0xjS1Z0eldXbkpJUSt5M1hudkNwT1pVcHZ4Mjd5TitlZnQvY3NnVXRNSVVCdDlVclZSVjd2dko4UHMxKyt3NVJDMFIrR0l5eGsyWG9CWFNOSGdzOTQvM3FhNzlJWVV1MFVtclRrdXl0UGRpTGJNN3R4dWRVZ0pXaXJWV2JXaE05NzdPbENKQUVRb0lEaWtVbGZZc1ZjMURkOEtjV2JJYWR2ZEJiM2tSSC9VaUdYcXZycDYxMVZHdVM4Q1dCbGMzbkhES3plVk5MaXgyMlM0dUVGeUpGcFdVS1hRYlRwSmpRZk1sekFzZUNHMnBYcTk4dlA5Tm9DeUtGTm9qaEJCWTFoVTdPenQ0Q1hpUldFeENHYndFYXVmd29XSmNBTGdVdnFFN2NvZytzMkRvdWxKV0N2RG9pNTZqZzRkVXF1THU4aTRORFFZVHZRS1o1UXQwU1Y0YnJMOEZhQ3gxMC9DUWg5eW92NkJZR0g1dzRUVkdvY0I2alFrR0c3S21zMHJ0by9GSkh6bEtDT1l4V0xkalZ0V2t4UmhwMFpuNmhSREp2VEd4QkdBSTRDVmFxSU9rRUNuSnR0N2NBRG01TDkxZkVvdFN4TGszZ1BJNDdXaE13NktzV0pZVm4wMC81eTczcWFqajZHTVUrR2pSTFVwWTFnT1ovUzVnSUxJdkVOa1dwQkJHaGNHbzZLUXB6QmljNEpzNDBiZCt6VFFEcWFDUkVDK2RLRUhqUUN4WmpENE8vb2FnQmFVTFhLaHdMdC9VQWNudW9BS2E3M21jVDJFTGdoT0tvcUJxYXJiTkxxZW5Dd29tYUdYakpKZXNWcEZFK0RiVUs1STJrRng5U3BsTy81UkF3TENZVHltMlU0eGFNdlVaclpCUmNpODl2VmNQb0djeGlCYXlxa29YUkVFZGZPd2J4T3pnWDN6ME03eUNmL21YLzRwWHJsMWpmLzgrRjhkdnhHc2ZvZ3lSaEJ3dm14ZElndEJBaWlOVVdsREJFOFRodmNlT0p6UkE0ejJTWmpweGRkU0R0WnFGcjhBcWxOSjRJeGhEdENKNWFKekRPaUg0U0ROekhHMVFVSVVhNXlxOGxhamhPZkhzTC9aNDc4T2Y4VjkvOTUrb21GS09MTXRLNG53RGhFWFhMdlU4Rm1tUVJGcnlOWWtIU0Z1U0tyVG5xUkVmdWxCVUFSK0xlREpueXZ1SDc3SDgxWngvK05NLzU1MDMvb0N0TU9iNDZJZzNSMi9SbkhpV3l5WEtLQ1piSTB4cHFPc2xzK1VNdENBYWpGVW9FNDlCTE5HbEcwQTN1bk9GU3hTc2J5K3BvcjBuYVYrUDkzSHNoeWtFUTJsUUJoTVM2d254SGxhaUlKVWY5ZDRUeEZPVW1tSTh3cm1hQi82SSsrVWV2N3J4dC96MjVrZFIyeElYS3l0Vm5iVTFOMWQ3RElxMFl1aTFhWGZJWFgvc1BkNDRXYXZvcjE4c2x1bEhQRnZqTFdUWmNHTjVrLzlWL1JsZUtTWldZUnFEVllyQ0t1cmFVL3VLeVdTQ3F4d0VqVWp5SmtoYTFFa2tyS2hNWUNVdU1OSldFY00wQ2wrZ2RjSFI4aUhWdHRCY1VieDM2MzBXTEdLLzY1WGhYWkVjeStmZjlwVzhGc3JXOGZTclZkYytqVjhTYlhhQkc5em40SERHK05wVnJoV0tzUzR4VGpHV2dyR01zRjRoeXdhQ2ltNXZBOG9vR2gwcnJ6WGlZcWtGbFd2UmdwTllzS0UxWGxoWWhqcjFrWFQ5a2tmQ0d0QVd2RjNHb3hhTENRWWpCU1pvYklpZURLVmkxYlRvWm8rbVoxRUJDUTF6TmNWdE45dzQrWlRQOTc3Z21GTWFBa3VhbHNQRzMrM1ZpcVl6dmtoZVBEcFlTbzFTSlZNNTRVc1dUR2NuSEprLzROMXJQMlJjbFl6ckVhb1pNWklTMDFoMHJhTlc4cmJGcXhoV3BMMXFMWjBxVzFoYkFoMS9WYlRyR1N0aTNIY204YWhlMUV3eUJIbmZZSXhwaTBhRUVHaENiQS9sQTl1QWxrQ2xHaHBUNDdZRHAyYk83ZWxkdnRpL3lWZmNUZ29PRFE1SGRweHBvUDZlejUyL1R4aUk3QXRHb2c1VWk1cDYyYUI4alNtRndwUk1SbVBteXdOUUxybU1BNGhCc2xCNENvd1BLb0E0d0taQk95YVNFQUpLUjhtU3Jja09Fek9oQ2hXQ2kvcWV2d2Mzb25NTm1sRWNzRVdoakdXeVBVYTdrdUJqWEZrVTdneUlpcFZZMnVRYUVZeFAxdTlVR2xTTGpzUldDVUU4bHk1Y2hMR2pMTXVXbFBqZ2tlZlNkdDBBdkVMU2VoT1hVdUJTUXRXQ0plOTkrRGNFUEgveDUvK1VkMy80Snh6ZVBxWFUyeFRHb28wQ01YZ3ZCT2ZJbzY1VzBVNGFYSkw1MHJGcWtyVWphdWQ3bG54cGowSFM1RnFPU2tLSWNYbjEyc2h0VVZoYnBCS2pnV1ZWc2F4UEVLTVo3WXpadVREaGNQNlFDOWQydUgxMGcvLzhzMy9QZTUvK0hNY1NNNEtaZHh1cWtmV1JTY1hhYWlFYlFkY3RoZjNKTjA5MEpoSjJJZkM3L1E4NCtzVWhmL1R1SC9PVEgvK1VkOTk4bHp1L3VjdlYwVlV1WDcyRUN3M1Q2UlEzYXhodGpiaDY5V3BNd0FzTmphdXBmWTMzT2MwbEJvVm82U2JOdkNocEZ5ZXlXamEwSmJVOWQrZDh2c0Rha3BIVnNhcFE4cjVJK2gwZlBFVmhNSVdsOW82NVZGRFBxWDNOaVQ3bTMvN3FQM0J6ZGpPR0VoQ1QySFJLZ05JNmxYNWRiK0oxRi9FanNVNWlWYy9NMlBQeEpPYW5RNlNFQzViY1ByclBPN3Z2TUFLMGw3UytpbHJHQVkzclIxL2tKRVdWTGZDZEtpK1FyTHJkY3lVeHUxMjdBSVhDYVhBajJKdnZNMmVPbzBta3J4OFJIdnRTOG9pbk1hQTcvSTFLRG10OU15clM1a0NlaHAvdi81SS8zZjRwZi9qNk8xaEdUQStYek9aemRoaXp1N1dGcXFQZWN1MXF2UGMweGlHRnhoYVd3aFkwdFl1RVBWc0xOMnhYM2cvZDZ5cGwzb1BHa0pJMWd5STBRdTFkQ2poMVdCdjdUeFdXTEpzRnlpaUtyWkx0eXhOK2NlOTlicHgrd1FFUEUxM3QvQVVLazd3VHFkMVY1NERRSlB1S1VZUVF2MU1SOWJBOUhzYys0UVNLTGNzMSt3cFhKd1dGaHZseWlhMExkc3dPTzVOdER2MXBYS2dLYmJLb0VycjdSc1VyRlpSR3EzaStmYytpRGgyRmlRU1dGZmsycmVJQ3QzWXVlVzlBV1lNdEM4clNFQlpMZ2hLY3FhbkhnVVd4NUlFNzR0T1RHM3pwYjdGTUpOYm4waERadXQ3ck53TmVQQVlpKzRKaGJZRjNscUljTTluYUlqUWpuR3VvbGhYV2FvclNndmJwaGdrZ05scGpnMG56dFUxV0JRMVlzdENNVGpGSDA4V1VvblRNWmpNV3ZvcDJScVZqNlU0dE9QLzl2aFUxRmtPQlZoYnZvLzVwOEFLdXdTOHJKcU15c2tHaVhKUlN2WGhTQlVpcXFHU1NSRkJReVVJV1AzTndlSVNaZUtiVGViTGx4bWc2cmFKNzdsa3RzZ0M5bVdQMU9kRjFydEo1Q3A0bEMvN213NSt4V0N5WVRoZjgwZHYvQU9NOUVocWF4aE9hU0dqS29xQW94dFRMSnRaalR6dVArckJDY0FwbCtvTCs5R2IxN2dDQ2k5WFFOTW5pbStJUmpURVVDcGJ6SllXMTJMRmxQQjVoZ3FXUkptcmVWbFAwT1BEQmgrL3hQMy83TjN4NDUrL0ltZmtoR1gyKzZabkFlNC9WQlRxb1dCdCtmcGY1YitZc2wwdG1iMHo1MGV0L1RMMVlNcStuYURSbTIxQ29BdWNhRG84WDBUZ29FaVYrbElrVjNjMDRXbm0weHZsbFM1WTJOQjhLdFVKaVZ3bXQ1clVycitHYXdISzVaTGxja0V1ekZrV0JLVFVHeThuaWhNVnlUakd4akhkS1RwZFRQdnJrZC96Nnp2dmM0WFpMWXEyMWFLM2JCY2Q2dGFjbndkbkxzYjZQUkNOeXNRMFBWaW1jaXd0QmxZcGxlWVNidDIveTFrL2VqakpaMmhDOFlFUWhHRkFsUHBoblZqQnl1Y2lERm5TcDJidTlSOU5GQXArTDUzSGJlaHpISFBEUjdIZk03cHh3ZmZkVnJteGZabmQ3aksvZ2FEN0ZvT01pc3pCWVpURzZqTkpQUVpES1U3WTZzRjkvSzJKb25FSHBJdW83SzRNV2l5UkpNS2NDcG9qSlhFdFhvVXFGdVdEeDJuUGFQT1RnNFFHZjdkOWduNGRKU2dzRWc3UlUvZkZRMWtBZEw3b25WajkwQWdyUEF3NzQ5VjdGMi9ZdC92Q3E4TnJrTlVacWpNeUY0M3FPZGxYeWNpVFBwRkxreEU2VDdwSGdRMUlRNldRR1c1V0R0U1MwVmcxRE9xc3hPbzdsUnBtMjZJRVh3Ym1hUnFKQzhQakNHRVlseDh1SGZMSDNCVjlXdDlnamFoRFhSQjNpL3VJWXZwMnhhOENUWXlDeUx4QUNOQ2xBY0xsY1J0S2lvaHZjR0NqTGdzWlBrM3U4QmdJU1VpeWVSQmFscFk2dVpFa3IxelorTm9CeTdPNXVZd3ZQWkRJaEJ6TW9aZkFocDE1K3Y2RzF4UWVocnVzNEVGcUxSbEhvQWpzdVdjNW55U1VaclROQmZCdGpGYjI4S1hTREtFY1ZSN3RvOVFnNFJsc2o5RGd3MnBvd1lndWhKbUFKSVZrbm45dGd0amw3UEEzbkNJR3QwWVM2OG5nODczLzVhKzdlM3VQLytEZUtTenRYdVhycE1sczdPeEFzcm1yd3JzSXZhNVNZWkQwb01FcFQ2SUlRWWhhMzk0S3lLWGFSem8zWFQ1Q29xeHByTmRaYWxJM0pFMEZpM0ZwUVFyRlRzbGpPcU9jMXBpalkycGxRR0VXMXJEbGVQT1RHNTUvelA5NzdiK3hWZHhBODI1TmRqaFlOSWdGdGVoN3VaMjQ5ZlhiNnpWWlpjUmh0MEVIamNaeHl3dnVmL3ByUFB2Mk1mLzVuVTY1ZmVvMXJWMStoS01aVWl5WFZvcUxBTWg2TlVHS3dZckJTb0VrVnpaeUhHa0p3cWJKYWpqMlYxUzM1djBoZFF5S3g4WFZCVUV5UHAyaGxLR3drcjZJQ2phK1pOYWZVMVJJOUFudkJNaTVISE0wTytlREdEYjY0OVRsM1ozdWNjaHFQcVZlT3RHbWE5dkZ6SzBYZHR4RG1TVDNGbUtvQU50amtFUkpjY0ZnTWdyQWZEcGczQzNaR3UyQXMwZ2dtS0ZCbERBdnhZSjZCVW9xQ29GTko0QUlhYXU0ZDNVdGhHK2xZKzdHd3p4blI4bGh6bnpzOG5POXpmWDZkUDNydHg1aExiMUxhZ0hlZVVWSGdCR3lLQ1ZVQzRuMWNNQWZCNmpUZUFGK2Z6RnBRSnVVL3hpU25JRHFPRmlwV3FBb2pTK1U5dGZIb2lhSWFOUnpORHJqNTRDdHUrcHNjY3R5UzJCeGYzMWxsWllXODlkR3VmVk5aNWZoaVRFWnpUY2lCQUV4WjhybjdFbmRQV0Z4dWVIMzNkYll1YlNQTG1yRHdsT24reXBKMGNkSGNGUXhSZ0pIa0ZVanRGSWt0WjcwNUthNDJJdG56eGNjRnVJcGZFcDA5Q3RCSWc1OEVadWFFMC9rcE54N2M1Sk53Z3dVTEZqaVVMWEJ1dVpyMFJ1ODNIK2xOR3ZCdFlpQ3lMeFNhN2NrdTFVSlJGQVUrTklpTHRjWnRZU2hLd2RjeEthZDFyMm9TbVkyaEJycVZWTkxrNUFsSVNRVktPRGs5WkRTR3lqVUlVWS9UbXBJbTVEVHg1OFFrWGhEeUpGNTdoeWtNb2dMSDA0ZXcxRXhHMjJ5TlN5QjVQaFhFWXA0cU9oaFZzamFLaWduY29oRHBpSjFTaWlZNHZHK282cHFHSnVXMEtscmo3RE0yMzhyNEtHZmZNQWE4QjBmRGFYVktRVUdjL2dQN2JvLy8rOS8rWC96cEQvNk12L3FydjJaeTZTMnF1V08ybUZPWU1SZTJMdU9XZ2RBRW5LdFJXRXBUWXV4V0ZGVVBQaEp5NWRJazBmZVh4Y2VqSWcwUlFhSnRJZ1JDY0lER2E0L1hqa2JYNkcwd0k2RzJDeDRlUGVEVEx6L2gxdDJiL08zTlg2YW1pdEd1cDR1VGR1d1grUmI2bndZSlFoM3FxTStMUVdOWU1HZkprbi8zL3YvSFd4ZmU1a2Z2L3BnM1gzK0RDNU9MR0d0UlhuQVNDUE9HRUVva2dCV0xDUm9WTE9KVEhJUDJ2WUlHbkx0VlFkcm52ZzNjU0pKSzRnZ3VvSzFDRlJvcEJUTldXRFMxcW5qWUhIRC93VDIrdkhlREczdGZjQ29uZUJ6YW1DZ3hsYndxenEwdVRITk00S1BRaFdkMHNhSHhqZEQvRUIyQnBjZGl3R0F4enFSd0M1WHNWOUg2UFdmT2crbER0dXdGZGsxSlVFSWpZRlcwdW9sdm9zWHNLZnRBVUxITm5QYUVJbkE2UCtXRWs3U2dDV2hqVWhubHA5cjlZK0Z4VE5OaW9xREE0Wm50emJoOWRKZlhkOS9nMnM1VmxDbHhsVU10QWxReFNjaHF3OWlXV0czeHRlK3NoMThUZ3FiUTQzaTJJZUI5aU9Fb1NRZlZtWVltek5FN21qQlNQS2dQdUhYM0puZW1kemppaUpvS1I1T0MxcElWdDc4Y2pIV1RING1ReS9NbStUc25jU0hWcFBRc0Q4eHArSXd2T1RnOFp1LzBBYTlkdnM3VjNhdnM3RzVUSDRlb1NwQVdlT0lWUGdoZWdDQ1VKbzQvZmZXT1ZrV2s5Mzlza0J5ckVyVmdZeWxtai9NK0twV29nQzR0dXJBeGs3WlFIUG9UYmg3YzRzdlpWNXh3bXVKaFF5eHQ3T2RSOGtPRmxUNGZ0eHRVSEFhOE1BeEU5Z1hqZERGRE04S0hDdWZuS0xGb1kybnFRRE03b1NnMXFJWlk2Z2pJVlhxU1N5MUlGV09vY2lwRFc2a0VVSUdMbDdad2ZvSHpDd1NINEtpYjUxblg1OFhDK3dZd2JHMlhiTytNMkRJRnJ2WlFhaWFGb2FxbWdFK2xNVk9iS1FnOVllLzJSYUxWSkZ1eUFnRlZlSnhxYUdTQm8yb3RQVXByeXNKU1BVT2djWTR5ek1oRFlsOXVTQ1RQOVRHK3EwR3dqREFZUEJXV0NlL2YrUnZlLzM5K3lidXYvb2gvL2svK0JYLzBvNStncGVUbzZBR3ZYSDRkdi9RMFM4RTFqZ2J3QWtiYlNQSmNTTDY0MEo1M1g4TExXaDFqKzF5TU9kUmFZNHVZT05Ib0FJVkJtUklmYWg1TUgzRDczazArL2Z3alB2L2lZNDQ1eHVPaW0xQ3JXQ1lXWWp2cmdoRDY1YnVlSTlZSlZ3cm84eEp0VFlKRUFvWmx5aWtmbnZ5T1QvLzJZMTcvL0FmOHZYZittTGV2djgyTzNVRTNoaDI3Q3k2Uzl5WVlpbUF4cXFTd0ZveWhFVWZRdm8yNTdtOEJmRjZkbU5YbjhYT08zVmQyY2E2aDlpNFdCZFdPaG9hRm43R1FpbnRIZC9qazFzZDgvUENURlBjWk1HTk41UnE4Yjg1d3RDZ3BSbHB3UEdXN3JyZGZmcnptWG8wdlowdDRsd3daNDFzOURRMjNEMjV4YVhLWnlXUWJwVlVidXFNeDBVSXRmcFUwZncxSXF0alVXSWN6bm5zUDdsRlR0ZUVya2NqVHhVNlRpZnZ6Nlc4QzFBcTBDb2lxY042enBPSmdlY3lENVRHdjc3ek85ZTNyN0tnSjIrTnRkcmJIakNqQkJScFgwM2pRUnFXQ0dVL3oreUZtNmhQbHFDZ2l2d3FGQXF1aE1NenJHU2ZOQ1Fjbis5dzl2c09lN0ZHeHdLWDB0aWJGZmtvS0tBaHB2M0Z3TW0yYy9ibUUxaE5Kb1RMZ216WkdQUWdzVlVNdERvdkZwMUNESTNmQzNmMzdYSyt1YzMzeUNtK01yNE9QM2lLTndZaWdQZUFGSFJSMWFGWVVHZFlYWERFc0tsL2M5SjZLZVNOZVI4dHlHQXRZamJheHI1NVVKNXdlbjNEa2p2bHljWWQ5N3JPZ2pzbGNLQnJsYUlqRld6WXVncDd5ZWczNDVqQVEyUmVLZU9OWnE1bnNscWpDb2FSbXNnV2xqOW05UHN3UmlacVFBSUtLNmFwaUVnbXEyNG1rUzh6b2xvOWVDWXZtbU1iTjBiZzQrRkhUejBMOVBpUFFKSjVTY1cvL05tTXpwZFFUdGljN2lGNFMvS0oxaVVvV3F5ZEtSY1hTbHFuRlVuaUI5SWdzS3JCd003VDFGR1BGN21oTUpaNVpYU0VoVUMyZmI3WmNheHZyeDhoS3RNcnFJcnJkeEhrYUZqUXA2dldFbWdLRFF2UGgvUS80N1AvOWxMZXV2c00vK05OL3lJLy84Q2Q4ZHZkM1RPd08yK09MV0Z2aW5hZngwZXF2dFVWc2xsN1FYVlo0SnoxUDBBb1hITjY0R0c1bUxZNkd1cTZadVFWcXArRGV3VDF1ZlBrWm45LzRoTDJEcjFneWgwUzZ0aVpibkN5T1l5Z0RPaVlnSlczYVRnNzlHNFlHVThaRmlxczlUUWl4c0FJVnVXcFl3SERqNUhPK2V2OHJycGdydlB1RGQzanoydHY4OExWM0tOV0ljYmxGZ1lybE1mMkNxZzY0NEtBTW5RN3NlckxYWXg4TDkyYW5NYnpER3NSNFpzczV0dy91Y09QdWw5dzd1c3QrdUk5TEdkTmVCV3Bwb3M2dUpoYVBjRkdhS091cDVuMS9uYkNDeDFLN1RXN1YvTHFvVkRzc2U0N0FTNU9DS1JSM2xyZDV1M3FiVjdaZndXcUxlQS9CdGtrNXo0S2dJQ1NQUU1XQ08wZDN5SVE2S3BXY2YxYlB4U09zUUk4Z3VDZ1NnWEpZaVVGZ3Q3bkh3ZlNZTzlQN1hMR1hlSFg3Q3RlMkxyRnJkeWgwYksvZ0hkdmx6bE1USTFHeERDeEdnNDdtZnFjOGxXK293b0pGWFhOVUhiSjNjcGU3c3NlQ1JTUm9RSzBkTGpUa1dTVHovWHhlY2ZYODZEbENBejZrY0JrbE1SRXRmMTZGRkdHcVU2aUh4ZUhRMUpIc254eHc4MlNMMmU0ZnN4WEdqSXFTeVdqRXhJNHB5NUlSR2lPYTBJUWsyWlhiS0haR2xTUW1KUkhaa0wwRzBFclRpUW80NVZPWllrZnRQTXQ2d2NQVFkrNHY5M25BQVRNV1ZEUm9ER0lWY3plUDNnVVRWcTBNZVRHVUkxWTJtaUFHdkNnTVVSNHZHT055UkZWN1lNeGYvZVgveHQzYlIyeE5Mc1VKb21rb1I4bC9yVUtLWVl3eFZTTFI4cUtraVJwNEswUVc4dlEwcjZkTXRpemppZUZudi95dmpKS0Z0Nm9XR0tQdzMvdGtMMFZSVEhDTjRpLy8wVjl6ZVArVVFrOFlGMk1Xc3ptbHpmSENQbG5La3VCWlVGR29Xd2xCeDlWL0ZLcnZaYUNyZ0plR1M2OWM0SU9QM3Vkb3VZL1JncE84ZU9DWjdwNUlvWFM2Q2RzUkVucVB0TzdpU0hVYU8zT3AwY0pFWW1CVXNpU1R5bGRpa3d2ZDhpZHYvWlEzWC84RGZ2VERIM0h0OHZWWXd0TkYwbDZZRW5FNTNybzdobGJRWDRWazFZcmVBRzFBeEhONmVzcjkrM3ZzSHgzdzNpZS80K0g4a0ZrNEprNThEWWFBbzhiajIrWVJCVW9idk05bVBZdldpaENXUE8xRWtOc3Z0bGZvd204MldROTcxMG1qVzdKbnN2dFpVdGhOU2g0MEtDeVdMYlo0cFh5Vk42Ky95WnZYMytiYTVhdE15Z2xLb3FVNnlyckYyTHlBckd4akdIdDBjVzUrWDZpbFl2L2hQcmZ1M21Mdi9sMk93eEZMS3ByMHp5Y1JNWWRIRndxdlEweG16T2ZtT0xjUDlzbnQ1dlpqcmYxNmI2eGJZOWZhTUQ5WGFoUkRuYlNIVW9IekVDSVBHRE5pbXgzKzRyVi95azlmK3luRnZLQ29Da2FVS1RMS2dmR0lQcnNRV0NlNXNUVHY2dnZPQkpiR3NUQUxwbmJCdi8va1A3Qmd3VEZUbHRTeGJHNE90NURrb3M1OS9OeFcrUnBReEFJY1BZdXZVWmJRS0F5V2toRVdUWWxoUk1rRkpseGhsNnVUaTF6ZXVjVDJhSXRTYlJPVkNmSnk4c20zWG9FM0ptNURESDg2bnAvdzhQU0F3M0RJQ2FlSnB0WFVxZWhzb3gxT05aMFZQS2lrN0tqU2E3cUxDUTFueDdpK2FrR0VKYzVLcVorYk9FNDVDZUNGeVNRbW5BYnZpVGJYZ2tJVmVBa1VXQ1pNMkdMQ0R0dGNLbmU1dEgyUjNja09XOFdFUWhrc0doM2krS2FUem5yWCtMbkVNN1RoZEFTQ3ptVm1IVXRYY1RBOTR0N0QreHpLRVV1V3VLUkJFTU1xaEJtelNPVDdxNnQ4YmJNdVcyYjZJUmQ4TWZIMysrUE9nQmVHZ2NpK1lIVHpSVUUwc2NRWXlKNTlqdTVPeXVpaXo3T296TG9QSkxSRG5nQU9vU0hPZWxtT2lwVUIrSHVMUkJKaXR1dUlXSnNuV2lqamdKT3RDaTAxSkxkZmJKM2N0anJ0YnBYOVNMSmkwMVlmajBxVGN0N2svclVPdlNOaXE4ZllZVk80d2JtUVBqazJpWmdWaWRxV2pQU1lpenNYdUhMcE1wY3ZYMlY3ZklGTEY2OVJtakZGWWJEV2dvcktEMDFUNFZ6RGZENW5zVHpsNk9pSXc4TURqazhPbVRmekpFb1RxTW5hbTZsdjBTQXBhN3pWZSt5M2tXaGkvN2JwN0pxTjUvMGtlQ3lSQmRZdTUrcjJFZTFuMnZZenFSOVpOSm94WTdiMWhNbGttMUV4NXMzcmIwVDVyS0trSEk4b2pFVVpuV0tLaGFhcW82Qjk0MWhVUzJhblUwNm1wOHluTStaK3hoRUgrRlRKSVo5QmZwVEU0cExMTjVHdlRRVDlLZnRnUDdUbGpFVXViMjFhU2FXbU5VckY0SXhXdGMzR3k2bGN2S1NhMkJVcUdGT3d5elovLytMZjU4L2UvRk11aGd2b09ZeWx4RXFVQm10MGVHb2kyMWpQdkt4d3U0SGZmdlU3Zm5YNGF4WkVkWkVwODNnOHJZRHVOMEJrWWRVd0I2a1JMVWhlVU1hUnFVUmpnVEpSb0hnWEdLN3lHcFlSSTExU2prYU15aEpqTGRaRWxSQnJZZ2lHaElEem51Qmp6S2VFUUtNODkwLzNlMVMxYVV2TGhuYlVpb3NnbjdZb1I2NHRBSFJFRGJvNTRUd0xQS3RFTm40c08zVkRHa2w3cnYvMU1hdkhFVW4zV01rSWcwV2xkc2tMeUpJQ2krSUg0OWNwZFVHWjdqRnJTNHlKWW1NUUNieFBtdGhWWGJPc0ZzeXFPWFBtMUN5Wk1tOGwwMXdhd1gwNlZrOHFqYjArWHZRZnR6RU04Yyt3U21RYkJpTDdYY0FRV3ZDZFFVTW1uUjNaZ202U1g3OVoxa2ZRVGU2cFBLaGtzNDA3LzBiOUhrTVVCSEU5U2hNZFp0Skd5K1h6ejFOM0psUDBJc1BpdC9WYXU4ZjNjb1dwTkV3L3ArUVJhWCs1bjQzOGhJUGlPUll6a2FSem1SSWZHcXBFYkdjc2d1TDRaSStiSjFEY3RGaTlSUjBnRHdNcG43NFhXaUNNS0FocHdBLzB3d0JDYXRuc0JYRHBmZGRORE9kTVpNOEw2KzBYUmVkNlZpUzF0czNZR1BjV1g0OXhoNkdka0NNbDczNWh6aW1IUVdGbmxvS1NqNDgrUktYMmkrMnNVcThMSzYvbFBlVDNJdFZ3T0tvVTV0QVJnZjdjbVErdE8wNjk5c0kzUEltNmFHL0xGYWRVbXN3REFTOGFKdVBZWDRLUHdkZHB3cmRHTWZFbFY3akl4ZTBkUmtaanZFOEV5S0dTc29CR1BWRnd5U2JMY2xBQlp4eEgxWXpENmlRNWtLTmJlYVZadnNHWVJ0WHJickZmcGQ5U2dvaHJsM2RKNVpzS0VtRURoV1hHN1VqS0FxaUZRaSs2ZnBLM2NzNk40OUl5SnhMVkZQK2YrazhNbDVHVXZKWEdRUlhPVGhQcjk4S2pGdWhuWG91LzBuMGx0TGZhdVFzanlhOEhuQVJpYVl1bUpZZ2Q4VGNZTEVmTGoxT2ZpY1EzMWYvcXRVdG9kNTQ5VzdsTjhvaTlUbUpYa3JjZWRlNnkrcGY1Zjl4S1p4bmZzS3NCM3k0R0l2dUNzV0pwazFRbUJkaE1US0UvUW5jMldiM2gzWDVRZk9oLzRmY0hmYklrRUZyYTRWTHFXNnA2ZGdiUkdoZ0gyOVU0c0xPRDBsbDNmLzdwYmxCK2V2U3RHTEI1ZVJMeUI5c2ZYdnRBSDIxN3hIMGFxMEFjSXRIcm0vbUFvNEd3d0xLRDBQUklQMjJBZ2tJNFpaYVBJQTdpeXNUcVlFckZjQVpmdHoxTitndWxkYUxkV25wQ0loYWJMZEJQZzNEZWZ1U2N4NCtEb20yTFpGdHVYKzlRUTVnelpwU3MvdmxuemljZTNlN2p2NENqb3VyR2dFY1IvNTYxbUVTTnBlM0Qzd1NaN1FpejFnYXJORjRhWW9hK3hhSlk0cWtXVFlvbjFKQXFVeEhBcE5DbmQ2Ni96YldkUzR4VmlRNENJV0IwV2tSS0xwNzdhS0taNWN6eTQvWjFCVTNoZVhENmdJUDVQajdSbFlCZjdZY3Jsc0Flbm5FaG4wTXprbW8zb1Q4ZUtNZ0p1ZEdFRUhBOU1oU3ZZZ3pEVVJUZE9UM2hBU2tVSGtmRmNrVndwSDAvUzAzbDBMSDFCVjMvK2ZwUG5yZlE2eUcwUFhFVitjN09GZTdDMmE5MnY2RkFiQTJpOEtsbXJ3dWFDcWlUWHkwZXBtNzlJdElOSkdjT0xOOFpJZEhYV05NdzZUQjBqcmpWZnRHM1NHL3cyS3hib0ljMHIrOG1CaUw3b3RHL0wxZEdoYkQ2R2M1K0pnNmVBZjBrRTlrajNFVy9YK2hKa2EzWkVDRTNRMDZjaStUM2tjMmhPSnVVOHR3dGk5MnhkYmJoRHYwZ2taVXZLZGFzVGIxK2tLNjNpK3Jra1FpWjdyMUFORXhVZms2V0g0L0twbm5YMGJKalVuaUFSaEZVSUVpRDkrc1QyQVpMOGlQN1cyQjFWbjNPV0hlVjV0ZldMYlRyN2FjMkVWYTZTVEIvdEJlTlV2a2FMZWZiWkt4T3BhUlRURzZmNkFiQ3VxYjdXWnd4eTZvMHNTZnk5QXoyb0hNSlJ2dUJlR0JHYkxLWGhSUmdFWjNtWmFidzNxQzFJTUVod1ZPZ3VjQVdsOWpsaDVkK3lKWGlDcVVya2NiRnBFb2RRS3NVMzJnMkhFVHZFQjZSTE9meE5DcHdzRGprbUpNdUUxL09kTkQwTkpNaGVENkxxRDQ3QXRyN0ovVDZZSzlQNlk1WHBvK2pKWWFWR05TS1BGdTIrQlZKeUwrVmJSTzY1OXAxa1Rwcis0MjVoQUliU0c3Ny9Md215T1QyQ1c3Ui9saHgzaTdiZVBIMUw3Wjl2OGVtVTRXM1JxQVJqVkVhcFFKQjR0WUxLL2RSdkJ2NlY2QUx4bW10NU9zRWRtTTRTUGU0ZjZqckg4M2pjMTVFbnJ1SUh2Q3RZaUN5THh6WjhuR091d00yRHlpOTF6YmRTczhqaHZNN2o5NjVkYkdZRzZ6VDIwNFZnUUFBRFJWSlJFRlV2WGJWMHIzWWtzUEhXS3JQV1VjOE83S0ZzdmM3U25TUHpLNm5keVJyWms3SzJHUk4yWFNRMlNnakc1N3IxQW9yQks5N25oUEx3dHFDSysvS3BMNTdKdVJpMDNIMUxSMWthOVd6VFFUcjMrK1hyUlVKMFZwMjd2YmNuZWFkUldUanNWNTdYWUVwTkFTOVFyS1VVcTIrY2RVOFF0bWlUYmhaM2VmYUNaMXpEejgvaS9aR3RGWk0xZjZNeFdLVGRVd0JCWXFDVVNTUVRiUXNHa2Jzc3MyN0Y5N21CenV2ODRxNXhyYWZZQnFMcjBLeW1HblFIckZQUGp5dGs5amNMQXMzNTJoeHlKSXFPcFIxUU00aFlWOGpjT2ZKam9uY0xWWjdZWGNKTnh6TG1wczloRmlzSlgvZnQrL0hCN1c0bGZQSTc3ZWZ5eWJlZmw5ZFAwZzUrM2psVmxVZDJXeTNyTnBZdXQydGo2L250K2hLbS9RTXd5dVc0TnozMWZvWDRoNDg0ZXk2dDhjdUplZ05iYjhXQTczZXlmcUx3dzF0b252Lzk1R0ROL3BMeDkvbjZmWDdoSUhJdmxCMHNab0FVWlYvdzhlZTVtN1pTQ1EwcmM1c0hyVys2UW54MjRKQTdNN2RjQ1JyOGpzeFl6eStkelpQbVBQYmZzVnl0KzVRZTBZWnN6WHl0enA1ZEwrWktxNlRLNUoxQTNzL3BqZGYyNjRmRmFWdE5VV2xiMm5wbjErMkVRcG50cWFJaERmL1FmUWlLNlV4bWtST1VpdG15OHVqU0d4ZXRIMEx5S1JXOWRvdmIrUHIvWWs1OUs1eEwvQ3hiOUhxejJBcWNnMlhpTWk1MEt1ZEtwTmNsYXNnMVoxbTc3bGtOcjJXSzYrUmJGSFBJMlhwM0RqY05qTFJ0dGJNYmJiYW1PbUFwMGozbTZKRUlSU1VYR0NYNjd1djh2Ymx0M2gxNjFWRzlZaFNScWhhcFNiMmVLMFE3UWw1VGZZSVpBS3IxcDdIWS9ZY25CeHdQRDhoUmxzYVBNMnE2L2diUlU0YW9qM0czTHY2UHg5RERuVDNvZlp4aUVPVzlCcEJyVjM4eDkwcVRlL3hKdVBGMnVLMWI2QmN0NklxNmU3anZIMFU1REgrZ0hPOU52MWpTdkxubXpzaUdOMzE4NDJIWS9vamZ1cXBFdVhvWXVKcWJ6SFJKL3k1QVlMdWZmTzhUSk5lbU40NVJvSUJMeFlEa1gyaDBFU2xBb2ppa0p3bHM1dmNRbWNHNlc0Q1BuTmZaUkltYWZocUp5a05ralZFdjhkb3lWeGVGUFRqTDlOajFmdG8rbnpVTit4UExuMzAyMlRWZlNqa2dhL3Y4SC9HTnR3NDZlcTF0L3BUVURmY3hoaTc3dlA5eVJQQVZmRzl2aVdsKzYzVVR1cnMvSm41UW5DY3NWeEdWWjdReHNLdGZwR3V6NjI3N3IrSlJkTTVuZ2U5TmlYbGhLdCs0dFdxUlVuM1B0dWhwSXp1eW5ZVjBQMmVFTkJsc1ZGSHRpMnE0VmVuK3VnV3pVODBPVDVTSk1TR1ZvRXp5U2k5eHptVXlLOHNZTDQ1NUxhYU1PSHQxOS9oNnM0bG11a0N0NnpaTW1QS3BtQnNTcmEydHRpZTdMQmQ3ckJsSmt4a2k1R2Y0S3RBRVFwVVVEZ01YanVDY2pSSzRUVVV3dG5RblhPd2JwVVZCZnNIRHpqbEpCcnR0STZ1K3p3VWZOTVZ1QlVyVEZ4Q0Z4L2E5YVlzcjZmeG9zQW5ZNEpPWDhoTXRMMXZaTlVjK3FndGdCU3MycHJqZU5TV0xaWmNncVE3NVA1elQ5OUxkZDRvYzA0djY1UEROY0tNNkxWYmNnTkY3SzhDQUhWbXFVbVVtc3U3WFNlakFsb3JDQ291MW51alhGUUxEeFQ1Mk5OQ2ZKVXY1M0c4ZjdPdG5uVnJQSUR1dmx3ZmN3WXkrOEl4RU5rWGprMVJrWnV3dHFMZFpMWFo1RHc3TjJQM2UwNWdXengydUQyWDlMZHZ0bVQ0TEtrNSsvMCtubE1ieXRtbk1kSzNQeG1zalpwbkxKdXJ4OTVaSUVGUTZHUUZGT0tnTDhuY3FGUmMvSnh4czBza3Q1SzJIZEhWSzBUdDNLNElaL3ZldHpqZzUvYnJmbHBXdHZsVDY0KzcwSVQ0YlJkY2VqMi8ycDJ0b0tqcit2Rm14WXhleUVIOFNaVklSTGEyKzhlMlViZHM2bG1KdmhGa1NpWm9OTHQybXo5NDdXM2VlZVV0NnRNYXY2aTVZSGV3RmRna1ZxKzF4a3FCV2lwVUxWVDFnaEhqYUpSV0NxMDBRYVhGdEFjVllqbG9IVUtVYWtPMW5sNUZKRmdtTFpxeS9xNVg0RlRBRjFCWnozNnpUNTNFcFl5eHJVQko3cnY5Qm5xT29sdXJXQ09ZK1JxdGo3d3QzK3V2ZmJYdUxMSm55R0RrdkxKK2svWElvbFdSTml2UlJJMEVsWjVITTZlc0xkdjYyQmlTdHJZOTczTlBqOVU1YXBWQzZqT2ZPVGNjSkZtMmcvZHBRWmhmanNLTFNrVXRYNWZVYkhKMHd1Tm1pMjRVelNSMllLbmZCd3hFOW9XaXR5THZXNnMyM2p2ckJMVy9lZFJRcy82ZVo1WE1mZDhKN2FiejY3MTNwaTB6QVFoblAvZEVoQ1MyMytQYi9RbndpT3U4eWM1Nzl1UG5wUnFzN3FPZFBEZjgzcU1LUU9YMyttRUYvYU5hUDBicFAxRG50LzNLWjU4Vlp4WUJQV3ZPWTc5NjloUDk2N3JwK3h0VkxaNzBaT1Nzb2tFV1MrcU81UkZqZ0p6LzF0TWdUdXlaNW9TZWJGcG9EOFdnS2RBNFYzR1ppOWhEemFUYVp1UXVVU3dOeW9jdS9qRVZGRkZCUlNKbE5CSmlYU1ZSeVlvYUF0UStscm9YVGVsang2eE5QQytuYVR1YkRiQ2pDNnJaREZNYXZGVWNoeVZoeTNJa0ZiKzU5eEgzZVJpVkh3alVUZWRubDZyZlp1c1U5bEhqN05mQUJ1TFp2eWR5VE9YcXg5UDRteGVpNGRIOTV4RjVoRURBU2ZUa3JUdDF2bjQvZnNReHJQM21tVGVmWkw1YWVXM3pPSERlL1NyckQvcGowZHIxYlFOOW51RGFidjVJZDlVMmpiZG56bmZndWQ4SkRFVDJoZUxiSkpLYnJIZS9UOWh3VGs5cVNjMlR5aE5iWHA5ait6MXFFbnVDMzlrNDJQYTIzL1E0ZSs3K3oxaU12MzA4WFNKWjEzN2Z4aHkxWHRFdHZmZ3RRYU0yMmFoYVZoU1NKMVdpdm1kUUZGSXdyZ3RHcnFBSUJTRzRsdmllS2RHckFrRjNsdnYyZFFHVHJORXFoUWhBVEdDS1JUUjBTaUtFcHE0cGpTWDRoaVkwcUxIQ2xaNEhKdys1TTd0TG5TVC9WL0RFeE9vNVlOUGljT01IenhsL24vbGFQLzQrLzhhNjA5ZmE4VmtTKzFTN2V3S1B4ZGZENXVQWnVKK0J0SDVuTVJEWkFRTUdEQml3RVk4a1NDbmtVMUlDNmFiS1hIMExkRCs4UXd0NEZRZ21oaFBVR2p4SjBVRGxDTWRBM2RTVTQ1TEdOMVRCb1VZbFMxbHkvMmlQQXg0ODVXSmx3SUFCdjA4WWlPeUFBUU1HRE9od2J0QnpSTGFnQnFJRk5mU1RLZE5XOXg3M2MyTXl3UTI5N1AyZ3dLdFlJeW9vaFpKWTgwdUlOY0RFR0p4QUtEUmhKT3dmNzNOcmNUdUdMQXhFZHNDQWx4NERrUjB3WU1DQWx4U1A5SlkrUnNKS0ZBUjBxMm1hTGEyQzlNaXR0Rm54bXhMdVJNV1FBa2xLSXFRWTJ4aUxFRkRGaUZvRlhLRlJZODF4bUhMajhDWUhITkNrU3ZjREJneDR1VEVRMlFFREJnd1ljQzQyNXAwcDJyb1owclBJNWlRWkxXY051OWthMjRZZHFQdzh5cUtaTEEwb3FxMWdaYXhoSVJWMTRUbVJCVjhlM2ViVzhpNUxLcFRSZUQ5WVpBY01lTmt4RU5rQkF3WU1lTWtoc0txUm1iQ3VTbkdtMUNpNjA0R1ZaSkh0eGNqcTN1T3NScUI2U1YrUUNLdUNJRWttS1dTeUczQXEwR2hQcFIxM3AvdDhzdjhaQnh5enBDRW9HVUlMQmd3WU1CRFpBUU1HREJpd2hrY1EycUE2bmRSY0RRb2lUMVZKbnFqVlFraXY2U1RoMW85VzBMSnFuZldTSzJWRkRkU2dIWFdvYUd6TlRDKzRNOS9uRGdjc2FWQTdCcitjZjBzVnZBWU1HUEJkeGtCa0J3d1lNT0FseHJrMlRRVldXL0RnOFRqbmFJekhCa01JQWFVVk5IV01lUTNTVmkyTDVYYzFTcWxVa0NPeVdBbUJmdDFUSmVBWEZlTnloQm1WWUF5THBzRjdoOWVDdDRHdHkxdDhjdjgyZjdmL0FWL3hGVXNhbkFrRVY4VjZEWnNGUHdjTUdQQVNZU0N5QXdZTUdQQVNvaS9lZng1Q0NDZzBCUVdqMFloU2x4aG5rRnB3ZFVOaExJSkhsQ0pXSnRPZ0FnYU5Vb0w0cUVNclNtRTFvRXo3T1lOdzhmSXVvWEZVYmtrdEhxK0JVb0VOK01MejhiMHYrZXIwRG9jY3NhQ2hKcGE0SGNqcmdBRURNZ1lpTzJEQWdBRXZNVlk0WVk2VHpRVUp4R0VvcWFsWk5qV05iakFldEVTckxDcWdna2RFSVJLM3VVQ3dVb0pTMFd3cW9rQThFaUxobGFCd1VmT0F1bDdTQkErRlFvME5Zb1dwbjNIVXpQbk5nOTl3eERFSEhGUFI0UEJkbHRsalpNSUdEQmp3Y21BZ3NnTUdEQmd3WUNPTU1paFJGSlFvcGFLRjFtaHNXVkFVQm9JSHBaQUFRdHlpZEN0cm9KVkJsRTVsanFPc2xxUndBQzl3WE0vQWVpZ01lcXp3UmMzQjhvaXZEdTl5WjNxUFc5eGlUa05GUTVOSkxLeEtKQXdZTU9DbHhrQmtCd3dZTU9CbHh3YkZBa2dLQkNnMEdoSEJCVS9UTktoYWNGNWhERkZtSUlVVUJGRkk4QVNsa1d5cFZRSEpsbG1sRWVVUkZFRTFUSzV0MFZEVCtDVXpOK1hCOFFHM2orL3cxZXcyUjV3a0FodHdTQ3gzSzRBRGhZckVXZ2JWZ2dFRFhuWU1SSGJBZ0FFREJteEVJT0JUSksweEJxc3RKU1VsRnVxQWx3YUZFSlJIS1lYb1ZKVkxoSUNLWld1MVJsSjhMSUFuaGlWNEJTZk5LYWZ1aEtPVEI5dy92c2U5Wm84VGpxaW9xSERVaW02V1NoWllJMkNJMXQyR3dTZzdZTURMam9ISURoZ3dZTUNBalFpQXdhRFJOTjVSdXhvdkpVb1ZhR3R4dmthMElGcWhkTFNTYWdVK3FzN2lRMGdWd0FJdWhLaDgwRFEwM3JHZzRlUDl6emp4VTZaeXhKUWpIRXRxS2lybFlFUVhDeXZkQVZtZ1JNY1N1WUFidEdRSERIaXBNUkRaQVFNR0RIalprZlJmMTU5cnBhaWw0WkFqM3IveEc0cVpaaUlUZHN3T1JpbUtzVUVwVU1hZ3RVSnBRMUM1VElFd1d5N3g0bW1jcDY0clpuN0pnamxMS21vY2N4dzFEWkwvVkNCb09ta3R2WHBNc2ZaWC9DZURMWGJBZ0FFTWN0SURCZ3dZOEJJak04V3dXUVZBTkFhTlNaR3lOcEZJaGVwTkhuMnpxVW9FczNzZTFwN25yVWNJNlora3VJSDJjWTdaemNjazNaOEJWRHB1bi9ZK1lNQ0FseGNEa1Iwd1lNQ0FBUU1HREJqd3ZZUisvRWNHREJnd1lNQ0FBUU1HRFBqdVlTQ3lBd1lNR0RCZ3dJQUJBNzZYK1A4QjlJS2hWUUxWT0FvQUFBQUFTVVZPUks1Q1lJST1cIlxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwwLDEpXCJcbiAgICAgICAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgaGVpZ2h0PXsxfVxuICAgICAgICAgICAgICAgIHdpZHRoPXsxfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPiAqL31cbiAgICAgICAgPC9nPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM1NC0yXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDc5Mi41Miw0OTQuODIgLTEuNTUsNC44NCAtMi44NSwtMC45MSBjIC0xLjg1LC0wLjU5IC0yLjk3LC0xLjA0IC0zLjM4LC0xLjM0IC0wLjQxLC0wLjMxIC0wLjY5LC0wLjY5IC0wLjgzLC0xLjE1IC0wLjEzLC0wLjQ3IC0wLjExLC0wLjk5IDAuMDcsLTEuNTYgMC4yMSwtMC42NCAwLjU0LC0xLjEgMS4wMSwtMS4zOSAwLjQ3LC0wLjI4IDEuMDMsLTAuMzggMS42OSwtMC4yOCAwLjMzLDAuMDUgMS4yNywwLjMzIDIuODMsMC44MyB6IG0gNC44OCwtMS45OSAtOC4xMSwtMi41OSBjIC0yLjAzLC0wLjY2IC0zLjU3LC0wLjk2IC00LjYsLTAuOTEgLTEuMDMsMC4wNSAtMS45NywwLjQyIC0yLjgsMS4xMiAtMC44NCwwLjcgLTEuNDMsMS42MSAtMS44LDIuNzQgLTAuNDUsMS40MyAtMC40MSwyLjc0IDAuMTMsMy45NCAwLjU1LDEuMiAxLjYyLDIuMTkgMy4yMSwyLjk3IC0wLjk5LDAuMjIgLTEuODQsMC41MyAtMi41NywwLjk0IC0wLjczLDAuNDEgLTEuNzksMS4yMSAtMy4xOCwyLjQgbCAtMy41MiwyLjk3IDQuNjEsMS40NyA0LjEsLTMuMjYgYyAxLjQ3LC0xLjE2IDIuNDQsLTEuODggMi45MywtMi4xNSAwLjQ5LC0wLjI3IDAuOTYsLTAuNDEgMS40MSwtMC40MiAwLjQ1LC0wLjAyIDEuMTIsMC4xMiAyLjAxLDAuNCBsIDAuNzgsMC4yNSAtMi41NSw3Ljk2IDMuODUsMS4yMyB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNTYtNFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3NjkuMDYsNDg0LjU3IC0xNC41NCwtMi45NiAtMC42OCwzLjMyIDEwLjU4LDIuMTUgLTAuODgsNC4zNSAtOS44NSwtMi4wMSAtMC42NywzLjMxIDkuODQsMiAtMS4wOCw1LjM0IC0xMC45NiwtMi4yMyAtMC42NywzLjMxIDE0LjkxLDMuMDMgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzU4LTc3XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDc0MS41NSw0NzkuNzEgLTEzLjY1LC0xLjM1IC0wLjM0LDMuMzcgOS42NCwwLjk1IC0wLjQ3LDQuNzEgLTguMzEsLTAuODIgLTAuMzQsMy4zNyA4LjMyLDAuODIgLTAuODQsOC40NyA0LjAyLDAuMzkgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzYwLTVcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzE1LjIxLDQ3Ny45MyBoIC00LjA0IGwgLTAuMDEsMTYuNDggaCAtMTAuMDUgdiAzLjM3IGggMTQuMDkgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzYyLTRcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNjg4LjgzLDQ3OC40IC0xNC43NywxLjUgMC4zNCwzLjM3IDEwLjc1LC0xLjA5IDAuNDUsNC40MSAtMTAsMS4wMiAwLjM0LDMuMzUgMTAsLTEuMDEgMC41NSw1LjQyIC0xMS4xMywxLjEzIDAuMzQsMy4zNSAxNS4xNSwtMS41NCB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNjQtOFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2NTIuNSw0ODMuMzkgYyAtMi4zOSwwLjUxIC00LjE4LDEuNjMgLTUuMzgsMy4zNiAtMC43MSwxLjAzIC0xLjEyLDIuMzcgLTEuMjMsNC4wMyBsIDQuMTEsMC4xIGMgMC4wMSwtMS4wNiAwLjMyLC0xLjk2IDAuOTMsLTIuNzEgMC42MSwtMC43NCAxLjQ0LC0xLjIyIDIuNDksLTEuNDUgMS40NSwtMC4zMSAyLjc0LC0wLjA0IDMuODcsMC44MSAxLjEyLDAuODUgMS45MywyLjQ0IDIuNDMsNC43NyAwLjUzLDIuNDggMC40Niw0LjM0IC0wLjIxLDUuNTggLTAuNjcsMS4yNCAtMS43MSwyLjAxIC0zLjEzLDIuMzEgLTEuMDYsMC4yMiAtMi4wMywwLjA4IC0yLjkzLC0wLjQyIC0wLjksLTAuNTEgLTEuNjYsLTEuNDQgLTIuMywtMi44MSBsIC0zLjU3LDIuMDMgYyAxLjA0LDIuMDEgMi4zNSwzLjM5IDMuOTQsNC4xNCAxLjU5LDAuNzUgMy40MywwLjkgNS41MywwLjQ1IDIuNiwtMC41NiA0LjU1LC0xLjkgNS44NSwtNC4wMyAxLjI5LC0yLjEzIDEuNjEsLTQuNzQgMC45NiwtNy44MiAtMC43LC0zLjI2IC0yLjA4LC01LjYxIC00LjE0LC03LjA1IC0yLjA3LC0xLjQ1IC00LjQ3LC0xLjg4IC03LjIyLC0xLjI5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2Ni0xXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDYzMy43NCw0ODguMzggLTE1LjEyLDQuOTMgMS4wNSwzLjIyIDUuNjMsLTEuODMgNS4xNiwxNS44IDMuODQsLTEuMjUgLTUuMTYsLTE1LjgxIDUuNjUsLTEuODQgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxnIGlkPVwiZzc0NC05XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNzUwLTUpXCIgaWQ9XCJnNzQ2LTNcIj5cbiAgICAgICAgICAgIDxnXG4gICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgyNDguNjQsMCwwLDIxNC41Niw1OTIuNTYsNjA4LjA0KVwiXG4gICAgICAgICAgICAgIGlkPVwiZzc1Mi02XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnXG4gICAgICAgICAgaWQ9XCJnN1wiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoMTc5LjA1Njg3LDcwOC44Mzk0Niw3MDUuODAwNzkpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc2MjBcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkyNS4xMzY0NywxNy4wNzk1MjkpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDYyNilcIiBpZD1cImc2MjJcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ2MzBcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxMDguNDgsODExLjU0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW42MjhcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJ0byBpbmNsdWRlIHZhcmlldHkgb2YgZGlmZmVyZW50IFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzYzMlwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTI1LjEzNjQ3LDE3LjA3OTUyOSlcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNjM4KVwiIGlkPVwiZzYzNFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDY0MlwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDkxLjIsNzg3LjU0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW42NDBcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDEwLjAyIDE0LjQwODc2IDI1LjU1MTAwMSA0MC4wNTk5NTkgNTEuMjAyMjAyIDYyLjM0NDQ0IDY2Ljc5MzMyIDc3LjkzNTU2MiA4My41MDY2ODMgOTMuNTI2NjggOTguOTc3NTYyIDExMC4xMTk4IDExNS42OTA5MiAxMjEuMDYxNjQgMTMxLjA4MTYzIDEzNi42NTI3NiAxNDcuNzk1IDE1Ny44NzUxMiAxNjkuMDE3MzYgMTgwLjE1OTYxIDE5MS4zMDE4MyAxOTUuNzUwNzIgMjA2LjkzMzA0IDIxOC4wNzUyOSAyMjQuNzg4NjggMjM0LjgwODY5IDIzOS44OTg4MyAyNTEuMDQxMDggMjYyLjE4MzMyIDI3My4zMjU1NlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widmlld3BvaW50cyBvZiBzdGFrZWhvbGRlcnMgYW5kIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzY0NFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTI1LjEzNjQ3LDE3LjA3OTUyOSlcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNjUwKVwiIGlkPVwiZzY0NlwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDY1NFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDg1LjY4LDc2My41NClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNjUyXCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCA1LjU3MTExOTggMTYuNzEzMzYgMjcuODU1NiAzMy4yNDYzNjEgNDQuMzg4NTk5IDU1LjUzMDg0MiA2Ni42NzMwOCA3MS4xMjE5NjQgNzUuNTcwODM5IDg1LjY3MDk5OCA5MS4wNjE3NiAxMDIuMjA0IDExMy4zNDYyNCAxMTguOTE3MzYgMTMwLjA1OTYgMTQxLjIwMTg0IDE0Ni43NzI5NiAxNTEuMjIxODUgMTYyLjM2NDA3IDE2Ni44MTI5NiAxNzEuMjYxODQgMTgxLjE4MTY0IDE4Ni43NTI3NiAxOTcuODk1IDIwMy4zODU5NiAyMDguOTU3MDggMjIwLjA5OTMyIDIzMC4xMTkzMiAyMzUuNjkwNDQgMjQ2LjgzMjY5IDI1Ny45NzQ5MSAyNjMuMjY1NDcgMjc0LjQwNzcxIDI4NC40Mjc3M1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widGhlIHB1YmxpYyBwb3RlbnRpYWxseSBlZmZlY3RlZCBieSBcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc2NTZcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkyNS4xMzY0NywxNy4wNzk1MjkpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDY2MilcIiBpZD1cImc2NThcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ2NjZcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxODAuNiw3MzkuNTQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjY2NFwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgMTEuMTQyMjQgMjIuMjg0NDc5IDI5LjAxNzkyIDM0LjI4ODQ0MSA0NS40MzA2NzkgNTIuMTQ0MDgxIDYzLjI4NjMyIDY3LjczNTE5OSA3OC44Nzc0NDEgODguOTU3NTU4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJvdXIgcHJvamVjdFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzY2OFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTI1LjEzNjQ3LDE3LjA3OTUyOSlcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNjc0KVwiIGlkPVwiZzY3MFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDY3OFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDg5LjQsNjkxLjU0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW42NzZcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDUuNTcxMTE5OCAxNi43MTMzNiAyMi4wODQwOCAzMy4yMjYzMTggNDQuMzY4NTYxIDQ4LjgxNzQ0IDU5Ljk1OTY3OSA2NS41MzA4IDc2LjY3MzA0MiA4Mi4wODM4MzkgOTMuMjI2MDgyIDEwNC4zNjgzMiAxMTUuNTEwNTYgMTI2LjcxMjkyIDEzNy44NTUxNiAxNDQuNTY4NTYgMTQ5LjgzOTA4IDE2MC45ODEzMiAxNzIuMTIzNTcgMTgzLjI2NTc5IDE5NC40NjgxNSAyMDEuMTQxNDggMjExLjI0MTY0IDIxNi44MTI3NiAyMjcuOTU1IDIzOS4wOTcyNCAyNTAuMTE5MjUgMjU0LjU2ODEyIDI2NS43MTAzNiAyNzYuODUyNlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widG8gZ2FpbiBhIGRlZXBlciB1bmRlcnN0YW5kaW5nIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzY4MFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTI1LjEzNjQ3LDE3LjA3OTUyOSlcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNjg2KVwiIGlkPVwiZzY4MlwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDY5MFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDE4MS4yLDY2Ny41NClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNjg4XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAyMi4yODQ0NzkgMjkuMDE3OTIgMzQuMjg4NDQxIDM4LjczNzMyIDU1LjQzMDY0MSA2Ni41NzI4ODQgNzcuNzE1MTE4IDg3Ljc5NTI0MlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wib3VyIGltcGFjdFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzY5MlwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTI1LjEzNjQ3LDE3LjA3OTUyOSlcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNjk4KVwiIGlkPVwiZzY5NFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDcwMlwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEwOC45Niw2MTkuNTQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhbiBpZD1cInRzcGFuNzAwXCIgeT17MH0geD17MH0+XG4gICAgICAgICAgICAgICAgICB7XCJ0XCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNzA0XCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg5MjUuMTM2NDcsMTcuMDc5NTI5KVwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg3MTApXCIgaWQ9XCJnNzA2XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NzE0XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMTE0LjQ4LDYxOS41NClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNzEyXCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAxNi41NTMwNCAyNy42OTUyOCAzOC44Mzc1MjEgNDguOTM3Njc5IDYwLjA3OTkyMiA2Ni43OTMzMiA3Ny45MzU1NjIgODMuMjI2MTIgOTQuMzY4MzYyIDk5LjkzOTQ4NCAxMDQuMzg4MzYgMTA4LjgzNzI0IDExMy4yODYxMiAxMjMuMzA2MTIgMTM0LjQ0ODM2IDE0MC4wMTk0OSAxNDQuNDY4MzUgMTU1LjYxMDYgMTY2Ljc1Mjg0IDE3Mi4xNDM2IDE4My4yODU4NCAxODguODU2OTYgMTk0LjM0NzkyIDIwNS40OTAxNiAyMTYuNjMyNCAyMjYuNzMyNTYgMjMyLjMwMzY4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJvIGVuc3VyZSB1dGlsaXphdGlvbiBvZiBwYXN0IFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzcxNlwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOTI1LjEzNjQ3LDE3LjA3OTUyNSlcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNzIyKVwiIGlkPVwiZzcxOFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDcyNlwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDEwNS42LDU5NS41NClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNzI0XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAyMS4xNjIyMzkgMzIuMzA0NDgyIDQzLjQ0NjcyIDUwLjEyMDA0MSA1NC41Njg5MiA2NS43MTExNTkgNzYuODkzNDc4IDg2LjkxMzQ4MyA5OC4xMTU4MzcgMTA4LjEzNTg0IDExMy4zNDYyNCAxMjQuNDg4NDggMTMwLjA1OTYgMTM1LjQzMDMxIDEzOS44NzkyIDE1MS4wMjE0NCAxNjIuMTYzNjggMTczLjMwNTkyIDE4My40MDYwOCAxODguOTc3MiAxOTUuNjUwNTEgMjAwLjA5OTQgMjExLjI0MTY0IDIyMS4zMDE3MyAyMjYuNTcyMjQgMjM3LjcxNDQ4IDI0NC40Mjc4OVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiZXhwZXJpZW5jZXMgb2YgaW5kdXN0cmllcyBvciBcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc3MjhcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkyNS4xMzY0NywxNy4wNzk1MjkpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDczNClcIiBpZD1cImc3MzBcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ3MzhcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSwxODEuMDgsNTcxLjU0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW43MzZcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDQuNDQ4ODgwMiAxNS41OTExMiAyNi43MzMzNiAzMS4xODIyNCA0MS4yMDIyNCA0NS42NTExMTkgNTYuNzkzMzYyIDY3LjkzNTYgNzkuMDc3ODQzIDgzLjUyNjcxOFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiaW5kaXZpZHVhbHNcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8Z1xuICAgICAgICBpZD1cInJlZmxlY3RcIlxuICAgICAgICBjbGFzc05hbWU9XCJocDMgcmVmbGVjdC12ZXJzaW9uXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICB9fVxuICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoODkuODU4MDk3LDcwNy44MzY1NSw3MDYuOTYzMjMpXCJcbiAgICAgID5cbiAgICAgICAgPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgYW50aWNpcGF0ZS12ZXJzaW9uXCIsIGNsYXNzdG9IaWRlOiBcImhwM1wifSl9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicmVmbGVjdC1hbnRpY2lwYXRlXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA4OTQuNSw4OTAuMDMgLTYuNDgsLTUxLjggLTQ5LjU3LC02LjE5IGMgMzEuNjMsLTMyLjU3IDUxLjEyLC03Ny4wMSA1MS4xMiwtMTI2LjAxIDAsLTQwLjE3IC0xMy4xLC03Ny4yNyAtMzUuMjQsLTEwNy4yOCBsIDYuNSwtNTIuMTEgNTAuMiwtNi4yOCBjIDM2Ljk3LDQ1LjExIDU5LjE3LDEwMi44IDU5LjE3LDE2NS42NyAwLDcxLjc2IC0yOC45MSwxMzYuNzYgLTc1LjcsMTg0IHpcIlxuICAgICAgICAvPiA8L2E+XG4gICAgICAgIDxhIG9uQ2xpY2s9e29wZW5DbGFzc2VzKHtjbGFzc05hbWU6IFwiaHAzIGFjdC12ZXJzaW9uXCIsIGNsYXNzdG9IaWRlOiBcImhwM1wifSl9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicmVmbGVjdC1hY3RcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcwOC43LDk2Ny40MyBjIC03MS43MywwIC0xMzYuNzEsLTI4LjkgLTE4My45NCwtNzUuNjkgbCA1MS43OCwtNi40OCA2LjE5LC00OS41OCBjIDMyLjU3LDMxLjY0IDc3LDUxLjEzIDEyNS45Nyw1MS4xMyA0MC4xNiwwIDc3LjI1LC0xMy4xIDEwNy4yNSwtMzUuMjUgbCA1Mi4xLDYuNTEgNi4yNyw1MC4yMSBjIC00NS4wOSwzNi45NiAtMTAyLjc2LDU5LjE1IC0xNjUuNjIsNTkuMTUgelwiXG4gICAgICAgIC8+IDwvYT5cbiAgICAgICAgPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgZW5nYWdlLXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJyZWZsZWN0LWVuZ2FnZVwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiI2NlOWZjOVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNTA2LjQxLDg3MS42NyBjIC0zNi45NywtNDUuMSAtNTkuMTYsLTEwMi43OSAtNTkuMTYsLTE2NS42NiAwLC03MS43NiAyOC45LC0xMzYuNzYgNzUuNywtMTg0IGwgNi40Niw1MS43OSA0OS41OSw2LjIgYyAtMzEuNjQsMzIuNTcgLTUxLjEzLDc3LjAxIC01MS4xMywxMjYuMDEgMCw0MC4xNiAxMy4xLDc3LjI2IDM1LjI1LDEwNy4yOCBsIC02LjUxLDUyLjExIHpcIlxuICAgICAgICAvPiA8L2E+XG4gICAgICAgIDxhIG9uQ2xpY2s9e29wZW5DbGFzc2VzKHtjbGFzc05hbWU6IFwiaHAzIHJlZmxlY3QtdmVyc2lvblwiLCBjbGFzc3RvSGlkZTogXCJocDNcIn0pfT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInJlZmxlY3QtcmVmbGVjdFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gODM0LjY4LDU3Ni4yMyBjIC0zMi41NywtMzEuNjMgLTc3LjAxLC01MS4xMiAtMTI2LjAxLC01MS4xMiAtNDAuMTYsMCAtNzcuMjYsMTMuMSAtMTA3LjI3LDM1LjI0IGwgLTUyLjEyLC02LjUgLTYuMjcsLTUwLjIgYyA0NS4xLC0zNi45OCAxMDIuNzgsLTU5LjE3IDE2NS42NiwtNTkuMTcgNzEuNzYsMCAxMzYuNzUsMjguOTEgMTg0LjAxLDc1LjcgbCAtNTEuODEsNi40OCB6XCJcbiAgICAgICAgLz48L2E+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNjQtNDQtMVwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2ODYuMTcsOTI2LjYgLTEuMzMsLTcuNzkgNS4zNywwLjk4IHogbSAtMi45LDQuMjIgNC4yMSwwLjc3IDExLjQ4LC0xOC4yNSAtNC4zMywtMC43OSAtMi41Myw0LjE2IC03Ljg3LC0xLjQ0IC0wLjgxLC00Ljc3IC00LjIyLC0wLjc3IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDY2LTQtOVwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3MTYuNzksOTM0LjE4IGMgMi40NSwtMC4wMiA0LjQzLC0wLjc3IDUuOTQsLTIuMjMgMC45LC0wLjg3IDEuNTcsLTIuMSAyLjAxLC0zLjcxIGwgLTQuMDEsLTAuOTEgYyAtMC4yMywxLjA0IC0wLjcxLDEuODYgLTEuNDYsMi40NyAtMC43NCwwLjYxIC0xLjY1LDAuOTIgLTIuNzIsMC45MyAtMS40OSwwLjAyIC0yLjcsLTAuNSAtMy42MywtMS41NiAtMC45NCwtMS4wNiAtMS40MiwtMi43NyAtMS40NCwtNS4xNiAtMC4wMywtMi41MyAwLjQxLC00LjM0IDEuMzEsLTUuNDIgMC45LC0xLjA4IDIuMDcsLTEuNjMgMy41MywtMS42NSAxLjA3LC0wLjAxIDIsMC4zMiAyLjc4LDEgMC43OCwwLjY3IDEuMzUsMS43NCAxLjcsMy4yIGwgMy45MSwtMS4yOCBjIC0wLjYzLC0yLjE4IC0xLjY0LC0zLjc5IC0zLjA1LC00Ljg0IC0xLjQxLC0xLjA0IC0zLjE5LC0xLjU1IC01LjM0LC0xLjUzIC0yLjY1LDAuMDMgLTQuODMsMC45NiAtNi41MiwyLjc5IC0xLjY5LDEuODMgLTIuNTIsNC4zMiAtMi40OSw3LjQ3IDAuMDQsMy4zMyAwLjkyLDUuOTEgMi42Niw3Ljc0IDEuNzQsMS44MiA0LjAxLDIuNzIgNi44MiwyLjY5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDY4LTQtNlwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3MzcuMzksOTMyLjQyIDE1LjYyLC0zLjAxIC0wLjY0LC0zLjMzIC01LjgyLDEuMTMgLTMuMTUsLTE2LjMzIC0zLjk3LDAuNzcgMy4xNSwxNi4zMiAtNS44MywxLjEzIHpcIlxuICAgICAgICAvPlxuICAgICAgICA8ZyBpZD1cImc3MC03LTlcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg3Ni0xLTApXCIgaWQ9XCJnNzItNjMtM1wiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoNzgtMTctM1wiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gNDk0LjM4LDYyNS4zNyAtMy45NywxNC4zIDMuMjYsMC45MSAyLjg5LC0xMC40MSA0LjI3LDEuMTkgLTIuNjksOS42OCAzLjI1LDAuOSAyLjY5LC05LjY4IDUuMjUsMS40NiAtMi45OSwxMC43NyAzLjI1LDAuOTEgNC4wNywtMTQuNjcgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImc4MC01LThcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg4Ni05LTEpXCIgaWQ9XCJnODItOS0wXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGg4OC02LTVcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ4Ny41Myw2NTIuNSAtMC42NSwzLjg4IDExLjgzLDEwLjI5IC0xMy4xOCwtMi4yMSAtMC42MywzLjcgMTkuNzQsMy4zMSAwLjY3LC00IC0xMS41NCwtMTAuMTEgMTIuODgsMi4xNSAwLjYyLC0zLjcgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImc5MC0yMS02XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoOTYtOS01KVwiIGlkPVwiZzkyLTctNlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoOTgtOC00XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODIuNDgsNjkwLjkyIGMgLTAuMTQsMi40OCAwLjI3LDQuNDUgMS4yMyw1LjkgMC45NiwxLjQ1IDIuMzUsMi40MyA0LjE2LDIuOTMgbCAwLjk4LC0zLjk2IGMgLTAuOTcsLTAuMzQgLTEuNzEsLTAuOTEgLTIuMjQsLTEuNzIgLTAuNTIsLTAuODEgLTAuNzUsLTEuNzkgLTAuNjksLTIuOTYgMC4xLC0xLjc2IDAuNzQsLTMuMTMgMS45MiwtNC4xMSAxLjE3LC0wLjk4IDIuODYsLTEuNCA1LjA2LC0xLjI4IDIuMzcsMC4xMyA0LjEyLDAuNzYgNS4yNSwxLjg4IDEuMTIsMS4xMiAxLjY0LDIuNTQgMS41NCw0LjI1IC0wLjA0LDAuODQgLTAuMjYsMS42OCAtMC42NCwyLjUxIC0wLjM4LDAuODMgLTAuODIsMS41NCAtMS4zMywyLjEyIGwgLTIuNTMsLTAuMTQgMC4yNiwtNC42MiAtMy4zNywtMC4xOSAtMC40OSw4LjY5IDcuOTYsMC40NSBjIDAuODcsLTAuOCAxLjY2LC0xLjk4IDIuMzcsLTMuNTUgMC43MSwtMS41NyAxLjEyLC0zLjE4IDEuMjEsLTQuODIgMC4xMiwtMi4wOSAtMC4yMiwtMy45NCAtMS4wMSwtNS41NCAtMC43OSwtMS42MSAtMS45OCwtMi44NCAtMy41NywtMy43MiAtMS41OCwtMC44NyAtMy4zMywtMS4zNiAtNS4yNSwtMS40NyAtMi4wOCwtMC4xMiAtMy45NiwwLjIyIC01LjYyLDEgLTEuNjcsMC43OCAtMi45OCwxLjk5IC0zLjk0LDMuNjIgLTAuNzQsMS4yNCAtMS4xNiwyLjgyIC0xLjI2LDQuNzMgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMDAtNS0wXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTA2LTktMSlcIiBpZD1cImcxMDItNy0wXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMDgtNC00XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODcuNDMsNzIwLjU2IDcuMjgsLTMuMDkgMC4yOSw1LjQ1IHogbSAtNC43NywtMS44NCAwLjIzLDQuMjcgMjAuNDEsNi45NSAtMC4yNCwtNC4zOSAtNC42MywtMS41MSAtMC40MiwtNy45OSA0LjQ1LC0xLjg5IC0wLjIzLC00LjI4IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTEwLTEtNlwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDExNi03LTgpXCIgaWQ9XCJnMTEyLTgtMlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTE4LTUtNlwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gNDg1Ljc2LDc1MS42MSBjIDAuNCwyLjQ1IDEuMjMsNC4yOCAyLjQ4LDUuNDkgMS4yNiwxLjIxIDIuODMsMS44NyA0LjcxLDEuOTcgbCAwLjA5LC00LjA5IGMgLTEuMDIsLTAuMTIgLTEuODcsLTAuNTEgLTIuNTYsLTEuMTkgLTAuNjksLTAuNjggLTEuMTIsLTEuNTkgLTEuMzEsLTIuNzQgLTAuMjksLTEuNzQgMC4wNCwtMy4yMiAwLjk3LC00LjQzIDAuOTQsLTEuMjEgMi40OSwtMS45OSA0LjY3LC0yLjM1IDIuMzQsLTAuMzggNC4xOCwtMC4xNSA1LjUzLDAuNyAxLjM0LDAuODUgMi4xNSwyLjEyIDIuNDMsMy44MSAwLjEzLDAuODMgMC4xMSwxLjcgLTAuMDgsMi41OSAtMC4xOSwwLjg5IC0wLjQ3LDEuNjggLTAuODQsMi4zNiBsIC0yLjUxLDAuNDEgLTAuNzQsLTQuNTcgLTMuMzMsMC41NSAxLjQxLDguNiA3Ljg3LC0xLjMgYyAwLjY3LC0wLjk2IDEuMTgsLTIuMjkgMS41NCwtMy45OCAwLjM1LC0xLjY4IDAuMzksLTMuMzQgMC4xMywtNC45NyAtMC4zNCwtMi4wNiAtMS4wNywtMy43OSAtMi4xOSwtNS4xOCAtMS4xMiwtMS40IC0yLjU1LC0yLjM1IC00LjI5LC0yLjg2IC0xLjczLC0wLjUgLTMuNTUsLTAuNiAtNS40NSwtMC4yOSAtMi4wNSwwLjM0IC0zLjgxLDEuMDcgLTUuMjcsMi4xOSAtMS40NSwxLjEzIC0yLjQ3LDIuNTkgLTMuMDUsNC4zOSAtMC40NSwxLjM4IC0wLjUyLDMuMDEgLTAuMjEsNC44OSB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzEyMC05LTdcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxMjYtMS0wKVwiIGlkPVwiZzEyMi03LTVcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDEyOC01LTZcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ5MC40Miw3NzIuOTkgMy45NywxNC4zIDMuMjYsLTAuOSAtMi44OSwtMTAuNDEgNC4yOCwtMS4xOSAyLjY5LDkuNjkgMy4yNCwtMC45MSAtMi42OCwtOS42OCA1LjI1LC0xLjQ1IDIuOTksMTAuNzcgMy4yNSwtMC45IC00LjA3LC0xNC42NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzEzMC0zOC05XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTM2LTUtNClcIiBpZD1cImcxMzItOC04XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMzgtMy03XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MTIuNzcsODEwLjIgLTcuODksLTAuNSAyLjE5LC01IHogbSAzLjQ0LDMuNzkgMS43MSwtMy45MiAtMTUuMTIsLTE1LjM2IC0xLjc2LDQuMDIgMy40NiwzLjQzIC0zLjIsNy4zMiAtNC44MywtMC4zIC0xLjcyLDMuOTIgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNDAtMS0yXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTQ2LTctMilcIiBpZD1cImcxNDItOC04XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNDgtOS0yXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MjQuOTEsNzkyLjM4IDEuMTcsLTMuNzUgLTEwLjMxLC0xMS44MSAxMi43NiwzLjk5IDEuMTIsLTMuNTggLTE5LjExLC01Ljk3IC0xLjIxLDMuODcgMTAuMDUsMTEuNTkgLTEyLjQ1LC0zLjg5IC0xLjEyLDMuNTggelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNTAtNi05XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTU2LTMtOClcIiBpZD1cImcxNTItNC05XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNTgtMy02XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzIuNTcsNzY1Ljg4IDMuMTUsLTE1LjU5IC0zLjMyLC0wLjY3IC0xLjE3LDUuODEgLTE2LjMsLTMuMjkgLTAuOCwzLjk2IDE2LjMsMy4yOSAtMS4xOCw1LjgyIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTYwLTMtMFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE2Ni02LTIpXCIgaWQ9XCJnMTYyLTM4LTJcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE2OC02LTdcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzNy4yNiw3MzkuMjcgMC40OCwtNC4wMSAtMTkuODcsLTIuMzkgLTAuNDgsNC4wMSB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzE3MC0wLTZcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNzYtOS00KVwiIGlkPVwiZzE3Mi00LTFcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE3OC04LTNcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzOS41OCw3MTQuMjkgYyAwLjA4LC0yLjQ0IC0wLjU3LC00LjQ2IC0xLjk3LC02LjAzIC0wLjgyLC0wLjk0IC0yLjAzLC0xLjY2IC0zLjYyLC0yLjE3IGwgLTEuMDgsMy45NyBjIDEuMDMsMC4yNyAxLjgzLDAuNzkgMi40LDEuNTYgMC41OCwwLjc3IDAuODUsMS42OSAwLjgxLDIuNzYgLTAuMDUsMS40OSAtMC42MiwyLjY3IC0xLjcxLDMuNTYgLTEuMSwwLjg5IC0yLjg0LDEuMjkgLTUuMjIsMS4yMSAtMi41MywtMC4wOCAtNC4zMiwtMC42IC01LjM2LC0xLjU0IC0xLjA0LC0wLjk1IC0xLjU0LC0yLjE1IC0xLjQ5LC0zLjYgMC4wMywtMS4wOCAwLjQxLC0xLjk5IDEuMTEsLTIuNzQgMC43MSwtMC43NSAxLjgsLTEuMjcgMy4yOCwtMS41NiBsIC0xLjExLC0zLjk1IGMgLTIuMjEsMC41MiAtMy44NiwxLjQ3IC00Ljk3LDIuODMgLTEuMSwxLjM2IC0xLjY5LDMuMTEgLTEuNzYsNS4yNiAtMC4wOSwyLjY2IDAuNzQsNC44NyAyLjUsNi42NCAxLjc2LDEuNzcgNC4yMSwyLjcxIDcuMzYsMi44MSAzLjMzLDAuMTEgNS45NCwtMC42NiA3Ljg0LC0yLjMyIDEuOSwtMS42NSAyLjksLTMuODggMi45OSwtNi42OSB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzE4MC04OC0yXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTg2LTgtMilcIiBpZD1cImcxODItOS0xXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxODgtNy01XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzkuMSw2OTQuMjcgLTAuMjIsLTQuMDMgLTE5Ljk4LDEuMDkgMC4yMSw0LjAzIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTkwLTctOVwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE5Ni0yOS0wKVwiIGlkPVwiZzE5Mi02LTlcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE5OC00My0xXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzMuOTgsNjc0LjI1IC01LjYyLDAuNzkgLTAuMzEsLTIuMTkgYyAtMC4yMiwtMS41OCAtMC4yNiwtMi42NSAtMC4xMywtMy4yMSAwLjEzLC0wLjU2IDAuNCwtMS4wMiAwLjgsLTEuMzggMC40LC0wLjM3IDAuODksLTAuNTkgMS40OCwtMC42NyAwLjcyLC0wLjEgMS4zNCwwLjAyIDEuODcsMC4zOCAwLjUzLDAuMzYgMC45LDAuODYgMS4xMSwxLjQ5IDAuMTUsMC40NiAwLjMzLDEuNDIgMC41MywyLjg2IHogbSAzLjkyLDMuNTMgLTAuOSwtNi40MiBjIC0wLjM0LC0yLjQzIC0wLjY2LC00IC0wLjk2LC00LjcxIC0wLjQ2LC0xLjEgLTEuMjQsLTEuOTYgLTIuMzQsLTIuNTkgLTEuMTEsLTAuNjIgLTIuNDUsLTAuODMgLTQuMDMsLTAuNiAtMS4yMSwwLjE3IC0yLjIsMC41MyAtMi45NywxLjA5IC0wLjc3LDAuNTYgLTEuMzQsMS4yMSAtMS43MiwxLjk1IC0wLjM4LDAuNzUgLTAuNTksMS40OSAtMC42NSwyLjIxIC0wLjA1LDAuOTggMC4wNCwyLjM4IDAuMyw0LjE5IGwgMC4zNiwyLjYxIC03LjQ3LDEuMDUgMC41Niw0IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMjAwLTAtNFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDIwNi05LTIpXCIgaWQ9XCJnMjAyLTMtOVwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMjA4LTA5LTFcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkyNy4wMSw2NDQuMzcgLTYuNTMsNC40NSAtMS4zNSwtNS4yOSB6IG0gNS4wNCwwLjg4IC0xLjA1LC00LjE1IC0yMS4zOCwtMi44MyAxLjA5LDQuMjYgNC44MywwLjU3IDEuOTcsNy43NiAtNCwyLjcyIDEuMDYsNC4xNSB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzIxMC0yLTBcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyMTYtOC05KVwiIGlkPVwiZzIxMi01LTdcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDIxOC00LTVcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkyNi4wNyw2MjQuMTkgLTUuNTIsLTE0LjkyIC0zLjE4LDEuMTggMi4wNiw1LjU2IC0xNS41OSw1Ljc3IDEuNCwzLjc5IDE1LjU5LC01Ljc3IDIuMDYsNS41NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzIyMC0wLThcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyMjYtNS04KVwiIGlkPVwiZzIyMi01LTdcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDIyOC05LTBcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkxNi4wNiw1OTguODggLTYuNTMsLTEzLjMzIC0zLjA0LDEuNDkgNC43NSw5LjcgLTMuOTgsMS45NSAtNC40MiwtOS4wMyAtMy4wMywxLjQ5IDQuNDIsOS4wMiAtNC45LDIuNCAtNC45MSwtMTAuMDUgLTMuMDMsMS40OSA2LjY5LDEzLjY3IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNTQtMi00XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDc5Mi41Miw0OTQuODIgLTEuNTUsNC44NCAtMi44NSwtMC45MSBjIC0xLjg1LC0wLjU5IC0yLjk3LC0xLjA0IC0zLjM4LC0xLjM0IC0wLjQxLC0wLjMxIC0wLjY5LC0wLjY5IC0wLjgzLC0xLjE1IC0wLjEzLC0wLjQ3IC0wLjExLC0wLjk5IDAuMDcsLTEuNTYgMC4yMSwtMC42NCAwLjU0LC0xLjEgMS4wMSwtMS4zOSAwLjQ3LC0wLjI4IDEuMDMsLTAuMzggMS42OSwtMC4yOCAwLjMzLDAuMDUgMS4yNywwLjMzIDIuODMsMC44MyB6IG0gNC44OCwtMS45OSAtOC4xMSwtMi41OSBjIC0yLjAzLC0wLjY2IC0zLjU3LC0wLjk2IC00LjYsLTAuOTEgLTEuMDMsMC4wNSAtMS45NywwLjQyIC0yLjgsMS4xMiAtMC44NCwwLjcgLTEuNDMsMS42MSAtMS44LDIuNzQgLTAuNDUsMS40MyAtMC40MSwyLjc0IDAuMTMsMy45NCAwLjU1LDEuMiAxLjYyLDIuMTkgMy4yMSwyLjk3IC0wLjk5LDAuMjIgLTEuODQsMC41MyAtMi41NywwLjk0IC0wLjczLDAuNDEgLTEuNzksMS4yMSAtMy4xOCwyLjQgbCAtMy41MiwyLjk3IDQuNjEsMS40NyA0LjEsLTMuMjYgYyAxLjQ3LC0xLjE2IDIuNDQsLTEuODggMi45MywtMi4xNSAwLjQ5LC0wLjI3IDAuOTYsLTAuNDEgMS40MSwtMC40MiAwLjQ1LC0wLjAyIDEuMTIsMC4xMiAyLjAxLDAuNCBsIDAuNzgsMC4yNSAtMi41NSw3Ljk2IDMuODUsMS4yMyB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNTYtNC04XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDc2OS4wNiw0ODQuNTcgLTE0LjU0LC0yLjk2IC0wLjY4LDMuMzIgMTAuNTgsMi4xNSAtMC44OCw0LjM1IC05Ljg1LC0yLjAxIC0wLjY3LDMuMzEgOS44NCwyIC0xLjA4LDUuMzQgLTEwLjk2LC0yLjIzIC0wLjY3LDMuMzEgMTQuOTEsMy4wMyB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNTgtNzctMFwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3NDEuNTUsNDc5LjcxIC0xMy42NSwtMS4zNSAtMC4zNCwzLjM3IDkuNjQsMC45NSAtMC40Nyw0LjcxIC04LjMxLC0wLjgyIC0wLjM0LDMuMzcgOC4zMiwwLjgyIC0wLjg0LDguNDcgNC4wMiwwLjM5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2MC01LTRcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzE1LjIxLDQ3Ny45MyBoIC00LjA0IGwgLTAuMDEsMTYuNDggaCAtMTAuMDUgdiAzLjM3IGggMTQuMDkgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzYyLTQtMlwiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2ODguODMsNDc4LjQgLTE0Ljc3LDEuNSAwLjM0LDMuMzcgMTAuNzUsLTEuMDkgMC40NSw0LjQxIC0xMCwxLjAyIDAuMzQsMy4zNSAxMCwtMS4wMSAwLjU1LDUuNDIgLTExLjEzLDEuMTMgMC4zNCwzLjM1IDE1LjE1LC0xLjU0IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2NC04LTlcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNjUyLjUsNDgzLjM5IGMgLTIuMzksMC41MSAtNC4xOCwxLjYzIC01LjM4LDMuMzYgLTAuNzEsMS4wMyAtMS4xMiwyLjM3IC0xLjIzLDQuMDMgbCA0LjExLDAuMSBjIDAuMDEsLTEuMDYgMC4zMiwtMS45NiAwLjkzLC0yLjcxIDAuNjEsLTAuNzQgMS40NCwtMS4yMiAyLjQ5LC0xLjQ1IDEuNDUsLTAuMzEgMi43NCwtMC4wNCAzLjg3LDAuODEgMS4xMiwwLjg1IDEuOTMsMi40NCAyLjQzLDQuNzcgMC41MywyLjQ4IDAuNDYsNC4zNCAtMC4yMSw1LjU4IC0wLjY3LDEuMjQgLTEuNzEsMi4wMSAtMy4xMywyLjMxIC0xLjA2LDAuMjIgLTIuMDMsMC4wOCAtMi45MywtMC40MiAtMC45LC0wLjUxIC0xLjY2LC0xLjQ0IC0yLjMsLTIuODEgbCAtMy41NywyLjAzIGMgMS4wNCwyLjAxIDIuMzUsMy4zOSAzLjk0LDQuMTQgMS41OSwwLjc1IDMuNDMsMC45IDUuNTMsMC40NSAyLjYsLTAuNTYgNC41NSwtMS45IDUuODUsLTQuMDMgMS4yOSwtMi4xMyAxLjYxLC00Ljc0IDAuOTYsLTcuODIgLTAuNywtMy4yNiAtMi4wOCwtNS42MSAtNC4xNCwtNy4wNSAtMi4wNywtMS40NSAtNC40NywtMS44OCAtNy4yMiwtMS4yOSB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNjYtMS02XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDYzMy43NCw0ODguMzggLTE1LjEyLDQuOTMgMS4wNSwzLjIyIDUuNjMsLTEuODMgNS4xNiwxNS44IDMuODQsLTEuMjUgLTUuMTYsLTE1LjgxIDUuNjUsLTEuODQgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxnIGlkPVwiZzc0NC05LTFcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg3NTAtNS0zKVwiIGlkPVwiZzc0Ni0zLTBcIj5cbiAgICAgICAgICAgIDxnXG4gICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgyNDguNjQsMCwwLDIxNC41Niw1OTIuNTYsNjA4LjA0KVwiXG4gICAgICAgICAgICAgIGlkPVwiZzc1Mi02LTRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGdcbiAgICAgICAgICBpZD1cImc2XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSgtODkuODU4MDk3LDcwNy44MzY1NSw3MDYuOTYzMjMpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc0ODhcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQzMy42NjgyOCw0NjguNjUwNzcpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQ5NClcIiBpZD1cImc0OTBcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ0OThcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw2MDAuMDUsMzYzLjI2KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW40OTZcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDYuNjczMzE5OCAxNy44NzU2ODEgMjMuNDQ2OCAyNy44OTU2NzkgMzkuMDM3OTIyIDQ5LjA5OCA1NC42NjkxMjEgNTkuMTE4IDcwLjI2MDIzOSA4MS40MDI0ODEgODYuNzEzMDgxIDk3Ljg1NTMyNCAxMDkuMDU3NjggMTE0LjQ0ODQ0IDEyMC4wMTk1NiAxMzEuMTYxOCAxNDIuMzA0MDUgMTQ3LjczNDg4IDE1OC44NzcxMiAxNzAuMDc5NDggMTc2Ljc1MjgxIDE4Ny45NTUxNSAxOTkuMDk3NCAyMDkuMjE3NjEgMjIwLjM1OTgzIDIzMC40ODAwNCAyMzUuODcwOFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wicmVmbGVjdGluZyBvbiB0aGUgcHVycG9zZXMsIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzUwMFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDMzLjY2ODI4LDQ2OC42NTA3NylcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNTA2KVwiIGlkPVwiZzUwMlwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDUxMFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDYwNy4yNSwzMzkuMjYpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjUwOFwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgMTYuNjkzMzE5IDI3LjgzNTU2IDMzLjQwNjY4MSAzNy44NTU1NiA0Ny44NzU1NjEgNTkuMDE3Nzk5IDY0LjU4ODkyMSA2OC45Nzc2NzYgODAuMTE5OTE5IDkxLjMyMjI4MSAxMDEuNDAyNCAxMDYuNzkzMTYgMTE3LjkzNTQgMTI5LjEzNzc2IDE0MC4yOCAxNDUuNzMwODggMTU2Ljg3MzEyIDE2OC4wNzU0OSAxNzMuNjQ2NjEgMTg0Ljc4ODgzIDE5NS45MzEwOCAyMDEuNTAyMiAyMDUuOTUxMDggMjE3LjA5MzMyIDIyMS41NDIyMVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wibW90aXZhdGlvbnMgYW5kIHBvdGVudGlhbCBcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc1MTJcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQzMy42NjgyOCw0NjguNjUwNzcpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDUxOClcIiBpZD1cImc1MTRcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ1MjJcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw2NjUuNDcsMzE1LjI2KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW41MjBcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDQuNDQ4ODgwMiAyMS4xNDIyIDMyLjI4NDQzOSAzNi43MzMzMTggNDEuMTgyMjAxIDUxLjIwMjIwMiA2Mi4zNDQ0NCA2Ny45MTU1NTggNzIuMzY0NDQxIDgzLjUwNjY4MyA5NC42NDg5MTggMTA0Ljc0OTA4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJpbXBsaWNhdGlvbnMgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNTI0XCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0MzMuNjY4MjgsNDY4LjY1MDc3KVwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg1MzApXCIgaWQ9XCJnNTI2XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NTM0XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsNTg2LjczLDI2Ny4yNilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuIGlkPVwidHNwYW41MzJcIiB5PXswfSB4PVwiMCA1LjU3MTExOTggMTYuNzEzMzZcIj5cbiAgICAgICAgICAgICAgICAgIHtcInRvIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzUzNlwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDMzLjY2ODI4LDQ2OC42NTA3NylcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNTQyKVwiIGlkPVwiZzUzOFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDU0NlwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDYwOC44MSwyNjcuMjYpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjU0NFwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgNC40NDg4ODAyIDE1LjU5MTEyIDI2Ljc5MzQ4IDM3LjkzNTcxOSA0My41MDY4NCA0Ny45NTU3MTkgNTMuNDY2NzIxIDYzLjQ4NjcyMSA2OC45Nzc2NzYgODAuMTE5OTE5IDg2Ljg1MzM2MyA5Ny45OTU1OTggMTA5LjE5Nzk2IDExOS4yNzgwOCAxMjQuNTQ4NiAxMzUuNjkwODQgMTQxLjI2MTk2IDE0Ni42NTI3MyAxNTEuMTAxNTkgMTYyLjI0Mzg0IDE3My40NDYyIDE4NC41ODg0NCAxOTEuMzIxODggMjAyLjQ2NDEzIDIxMy42NjY0NyAyMjMuNzQ2NiAyMzQuODg4ODQgMjQwLjQ1OTk2XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJpZGVudGlmeSBhcmVhcyBvZiBpZ25vcmFuY2UsIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzU0OFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDMzLjY2ODI4LDQ2OC42NTA3NylcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNTU0KVwiIGlkPVwiZzU1MFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDU1OFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwLjA2NHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw2MTAuNDksMjQzLjI2KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW41NTZcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDExLjE1NTU4NCAyMS4yNjc4MzkgMzEuMzYwMDMxIDQyLjUxNTYxNyA1OS4yMjg5MjggNzAuMzg0NTE0IDc1Ljk2MjMwMyA4MC40MTY1MTIgOTEuNTcyMDk4IDEwMi43Mjc2OCAxMTIuNzU5NjggMTE4LjI1NzIyIDEyMy40MTM2NyAxMzQuNTY5MjQgMTQ1LjcyNDg0IDE1Ni45NDA2MSAxNjcuMDMyODEgMTcyLjYxMDYgMTc2Ljk4NDU0IDE4OC4xNDAxMiAxOTkuMjk1NzIgMjA5LjQyODA0IDIxNS4wMDU4M1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiYXNzdW1wdGlvbnMsIHF1ZXN0aW9ucywgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNTYwXCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0MzMuNjY4MjgsNDY4LjY1MDc3KVwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg1NjYpXCIgaWQ9XCJnNTYyXCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NTcwXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsNjI3LjE5LDIxOS4yNClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNTY4XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAxNS41OTExMiAyMC4wNDAwMDEgMzEuMTgyMjQgNDcuODc1NTYxIDY0LjU2ODg3OCA3NS43MTExMjEgODUuNzcxMjAyIDkxLjA0MTcxOCAxMDIuMTgzOTYgMTEzLjMyNjIgMTI0LjQ2ODQ0IDEyOS45MTkzMyAxMzkuOTM5MzIgMTUxLjE0MTY4IDE2MS4xNjE2OCAxNjUuNjEwNTcgMTc2Ljc5Mjg4IDE4MS4yNDE3NlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiZGlsZW1tYXMgYW5kIHNvY2lhbCBcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc1NzJcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQzMy42NjgyOCw0NjguNjUwNzcpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDU3OClcIiBpZD1cImc1NzRcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQ1ODJcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw2NDguOTEsMTk1LjI0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW41ODBcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDUuNTcxMTE5OCAxMi4yNDQ0NCAyMy4zODY2ODEgMzQuNTI4OTE5IDQ0LjYyOTA4MiA1MC4yMDAxOTkgNjEuMzQyNDQyIDY4LjAxNTc2MiA4NC41ODg4MzcgOTUuNzMxMDc5IDEwMS4zMDIyIDEwNS43NTEwOCAxMTYuODkzMzIgMTI4LjAzNTU1IDEzNy45OTU0NFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widHJhbnNmb3JtYXRpb25zIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGdcbiAgICAgICAgICAgIGlkPVwiZzU4NFwiXG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDMzLjY2ODI4LDQ2OC42NTA3NylcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNTkwKVwiIGlkPVwiZzU4NlwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDU5NFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDU3OC45MywxNDcuMjQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjU5MlwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgMTEuMTQyMjQgMjIuMjg0NDc5IDMyLjM4NDY0IDQzLjUyNjg3OCA1MC4yNDAyOCA1NC42ODkxNTkgNjUuODMxMzk4IDc2Ljk3MzY0IDgyLjE2NDAwMSA4Ny43MzUxMjMgOTguODc3MzU3IDEwOC44OTczNiAxMjAuMDM5NiAxMzAuMTM5NzYgMTM1LjQxMDI4IDE0OS44NzkxNyAxNTQuMzI4MDMgMTU5Ljg5OTE1IDE3MS4wNDE0IDE3Ni42MTI1MiAxODIuMDgzNDQgMTkzLjIyNTY4IDIwNC4zNjc5MiAyMDkuNzk4NzcgMjE5LjgxODc2IDIzMS4wMjExMiAyNDEuMDQxMTIgMjQ1LjQ5MDAxIDI1Ni42NzIzMyAyNjIuMjQzNDQgMjczLjM4NTY4IDI3Ny44MzQ1NlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiZW5zdXJpbmcgZm9jdXMgd2l0aCB0aGUgc29jaWV0YWwgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8Z1xuICAgICAgICAgICAgaWQ9XCJnNTk2XCJcbiAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0MzMuNjY4MjgsNDY4LjY1MDc3KVwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXNwbGF5OiBcImlubGluZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg2MDIpXCIgaWQ9XCJnNTk4XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0NjA2XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsNjA0LjM3LDEyMy4yNClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuNjA0XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAyMi4zNDQ2MDEgMzMuNDg2ODM5IDM4LjkzNzcyMSA1MC4wNzk5NiA2MS4yODIzMTggNzEuMzAyMzIyIDc1Ljc1MTE5OCA4Mi40MjQ1MjIgOTMuNTY2NzU3IDEwNC43NjkxMiAxMjEuNDYyNDQgMTMyLjYwNDY4IDE0My44MjcwOSAxNDkuMzk4MTkgMTYwLjU0MDQ0IDE2NC45ODkzMiAxNzAuMjU5ODQgMTc0LjcwODcyIDE4NC43ODg4MyAxOTQuODY4OTYgMjA2LjAxMTIgMjE3LjIxMzU2XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJhbmQgZW52aXJvbm1lbnRhbCBpc3N1ZXNcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnXG4gICAgICAgICAgICBpZD1cImc2MDhcIlxuICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDkyNS4xMzY0NywxNy4wNzk1MjkpXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IFwiaW5saW5lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cblxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPGdcbiAgICAgICAgaWQ9XCJhY3RcIlxuICAgICAgICBjbGFzc05hbWU9XCJocDMgYWN0LXZlcnNpb25cIlxuICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoLTg5LjU3ODYzMiw3MDkuMjY5MDcsNzA2LjQwNTc1KVwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgfX1cbiAgICAgID4gPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgYW50aWNpcGF0ZS12ZXJzaW9uXCIsIGNsYXNzdG9IaWRlOiBcImhwM1wifSl9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwiYWN0LWFudGljaXBhdGVcIlxuICAgICAgICAgIFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiNiODViZDFcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDg5NC41LDg5MC4wMyAtNi40OCwtNTEuOCAtNDkuNTcsLTYuMTkgYyAzMS42MywtMzIuNTcgNTEuMTIsLTc3LjAxIDUxLjEyLC0xMjYuMDEgMCwtNDAuMTcgLTEzLjEsLTc3LjI3IC0zNS4yNCwtMTA3LjI4IGwgNi41LC01Mi4xMSA1MC4yLC02LjI4IGMgMzYuOTcsNDUuMTEgNTkuMTcsMTAyLjggNTkuMTcsMTY1LjY3IDAsNzEuNzYgLTI4LjkxLDEzNi43NiAtNzUuNywxODQgelwiXG4gICAgICAgIC8+PC9hPlxuICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQ2xhc3Nlcyh7Y2xhc3NOYW1lOiBcImhwMyBhY3QtdmVyc2lvblwiLCBjbGFzc3RvSGlkZTogXCJocDNcIn0pfT5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cImFjdC1hY3RcIlxuICAgICAgICAgIFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcwOC43LDk2Ny40MyBjIC03MS43MywwIC0xMzYuNzEsLTI4LjkgLTE4My45NCwtNzUuNjkgbCA1MS43OCwtNi40OCA2LjE5LC00OS41OCBjIDMyLjU3LDMxLjY0IDc3LDUxLjEzIDEyNS45Nyw1MS4xMyA0MC4xNiwwIDc3LjI1LC0xMy4xIDEwNy4yNSwtMzUuMjUgbCA1Mi4xLDYuNTEgNi4yNyw1MC4yMSBjIC00NS4wOSwzNi45NiAtMTAyLjc2LDU5LjE1IC0xNjUuNjIsNTkuMTUgelwiXG4gICAgICAgIC8+IDwvYT5cbiAgICAgICAgPGEgb25DbGljaz17b3BlbkNsYXNzZXMoe2NsYXNzTmFtZTogXCJocDMgZW5nYWdlLXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJhY3QtZW5nYWdlXCJcblxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcIiNjZTlmYzlcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDUwNi40MSw4NzEuNjcgYyAtMzYuOTcsLTQ1LjEgLTU5LjE2LC0xMDIuNzkgLTU5LjE2LC0xNjUuNjYgMCwtNzEuNzYgMjguOSwtMTM2Ljc2IDc1LjcsLTE4NCBsIDYuNDYsNTEuNzkgNDkuNTksNi4yIGMgLTMxLjY0LDMyLjU3IC01MS4xMyw3Ny4wMSAtNTEuMTMsMTI2LjAxIDAsNDAuMTYgMTMuMSw3Ny4yNiAzNS4yNSwxMDcuMjggbCAtNi41MSw1Mi4xMSB6XCJcbiAgICAgICAgLz4gPC9hPlxuICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQ2xhc3Nlcyh7Y2xhc3NOYW1lOiBcImhwMyByZWZsZWN0LXZlcnNpb25cIiwgY2xhc3N0b0hpZGU6IFwiaHAzXCJ9KX0+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJhY3QtcmVmbGVjdFwiXG4gICAgICAgICAgXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gODM0LjY4LDU3Ni4yMyBjIC0zMi41NywtMzEuNjMgLTc3LjAxLC01MS4xMiAtMTI2LjAxLC01MS4xMiAtNDAuMTYsMCAtNzcuMjYsMTMuMSAtMTA3LjI3LDM1LjI0IGwgLTUyLjEyLC02LjUgLTYuMjcsLTUwLjIgYyA0NS4xLC0zNi45OCAxMDIuNzgsLTU5LjE3IDE2NS42NiwtNTkuMTcgNzEuNzYsMCAxMzYuNzUsMjguOTEgMTg0LjAxLDc1LjcgbCAtNTEuODEsNi40OCB6XCJcbiAgICAgICAgLz4gPC9hPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDYyLThcIlxuICAgICAgICAgIFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW91cmJlaWdlKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzA4LjczLDgzNC41OSBjIC04Ljc5LDAgLTE3LjQ0LC0xLjQxIC0yNS42OSwtNC4yMSAtMi44MSwtMC45NSAtNC4zMiwtNCAtMy4zNSwtNi43OSAwLjc2LC0yLjIyIDIuODQsLTMuNjIgNS4wOSwtMy42MiAwLjU3LDAgMS4xNiwwLjA5IDEuNzQsMC4yOSA3LjE0LDIuNDEgMTQuNiwzLjYzIDIyLjIxLDMuNjMgMi45OCwwIDUuMzksMi40IDUuMzksNS4zNiAwLDIuOTYgLTIuNDEsNS4zNCAtNS4zOSw1LjM0IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDY0LTRcIlxuICAgICAgICAgIFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNjg2LjE3LDkyNi42IC0xLjMzLC03Ljc5IDUuMzcsMC45OCB6IG0gLTIuOSw0LjIyIDQuMjEsMC43NyAxMS40OCwtMTguMjUgLTQuMzMsLTAuNzkgLTIuNTMsNC4xNiAtNy44NywtMS40NCAtMC44MSwtNC43NyAtNC4yMiwtMC43NyB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGg2Ni01XCJcbiAgICAgICAgICBcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcxNi43OSw5MzQuMTggYyAyLjQ1LC0wLjAyIDQuNDMsLTAuNzcgNS45NCwtMi4yMyAwLjksLTAuODcgMS41NywtMi4xIDIuMDEsLTMuNzEgbCAtNC4wMSwtMC45MSBjIC0wLjIzLDEuMDQgLTAuNzEsMS44NiAtMS40NiwyLjQ3IC0wLjc0LDAuNjEgLTEuNjUsMC45MiAtMi43MiwwLjkzIC0xLjQ5LDAuMDIgLTIuNywtMC41IC0zLjYzLC0xLjU2IC0wLjk0LC0xLjA2IC0xLjQyLC0yLjc3IC0xLjQ0LC01LjE2IC0wLjAzLC0yLjUzIDAuNDEsLTQuMzQgMS4zMSwtNS40MiAwLjksLTEuMDggMi4wNywtMS42MyAzLjUzLC0xLjY1IDEuMDcsLTAuMDEgMiwwLjMyIDIuNzgsMSAwLjc4LDAuNjcgMS4zNSwxLjc0IDEuNywzLjIgbCAzLjkxLC0xLjI4IGMgLTAuNjMsLTIuMTggLTEuNjQsLTMuNzkgLTMuMDUsLTQuODQgLTEuNDEsLTEuMDQgLTMuMTksLTEuNTUgLTUuMzQsLTEuNTMgLTIuNjUsMC4wMyAtNC44MywwLjk2IC02LjUyLDIuNzkgLTEuNjksMS44MyAtMi41Miw0LjMyIC0yLjQ5LDcuNDcgMC4wNCwzLjMzIDAuOTIsNS45MSAyLjY2LDcuNzQgMS43NCwxLjgyIDQuMDEsMi43MiA2LjgyLDIuNjkgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoNjgtMFwiXG4gICAgICAgICAgXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3MzcuMzksOTMyLjQyIDE1LjYyLC0zLjAxIC0wLjY0LC0zLjMzIC01LjgyLDEuMTMgLTMuMTUsLTE2LjMzIC0zLjk3LDAuNzcgMy4xNSwxNi4zMiAtNS44MywxLjEzIHpcIlxuICAgICAgICAvPlxuICAgICAgICA8ZyBpZD1cImc3MC0zXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoNzYtMylcIiBpZD1cImc3Mi02XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgIGlkPVwicGF0aDc4LTFcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ5NC4zOCw2MjUuMzcgLTMuOTcsMTQuMyAzLjI2LDAuOTEgMi44OSwtMTAuNDEgNC4yNywxLjE5IC0yLjY5LDkuNjggMy4yNSwwLjkgMi42OSwtOS42OCA1LjI1LDEuNDYgLTIuOTksMTAuNzcgMy4yNSwwLjkxIDQuMDcsLTE0LjY3IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnODAtMFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDg2LTcpXCIgaWQ9XCJnODItNlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICBpZD1cInBhdGg4OC0zXCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODcuNTMsNjUyLjUgLTAuNjUsMy44OCAxMS44MywxMC4yOSAtMTMuMTgsLTIuMjEgLTAuNjMsMy43IDE5Ljc0LDMuMzEgMC42NywtNCAtMTEuNTQsLTEwLjExIDEyLjg4LDIuMTUgMC42MiwtMy43IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnOTAtMlwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDk2LTMpXCIgaWQ9XCJnOTItMFwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgICBpZD1cInBhdGg5OC02XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA0ODIuNDgsNjkwLjkyIGMgLTAuMTQsMi40OCAwLjI3LDQuNDUgMS4yMyw1LjkgMC45NiwxLjQ1IDIuMzUsMi40MyA0LjE2LDIuOTMgbCAwLjk4LC0zLjk2IGMgLTAuOTcsLTAuMzQgLTEuNzEsLTAuOTEgLTIuMjQsLTEuNzIgLTAuNTIsLTAuODEgLTAuNzUsLTEuNzkgLTAuNjksLTIuOTYgMC4xLC0xLjc2IDAuNzQsLTMuMTMgMS45MiwtNC4xMSAxLjE3LC0wLjk4IDIuODYsLTEuNCA1LjA2LC0xLjI4IDIuMzcsMC4xMyA0LjEyLDAuNzYgNS4yNSwxLjg4IDEuMTIsMS4xMiAxLjY0LDIuNTQgMS41NCw0LjI1IC0wLjA0LDAuODQgLTAuMjYsMS42OCAtMC42NCwyLjUxIC0wLjM4LDAuODMgLTAuODIsMS41NCAtMS4zMywyLjEyIGwgLTIuNTMsLTAuMTQgMC4yNiwtNC42MiAtMy4zNywtMC4xOSAtMC40OSw4LjY5IDcuOTYsMC40NSBjIDAuODcsLTAuOCAxLjY2LC0xLjk4IDIuMzcsLTMuNTUgMC43MSwtMS41NyAxLjEyLC0zLjE4IDEuMjEsLTQuODIgMC4xMiwtMi4wOSAtMC4yMiwtMy45NCAtMS4wMSwtNS41NCAtMC43OSwtMS42MSAtMS45OCwtMi44NCAtMy41NywtMy43MiAtMS41OCwtMC44NyAtMy4zMywtMS4zNiAtNS4yNSwtMS40NyAtMi4wOCwtMC4xMiAtMy45NiwwLjIyIC01LjYyLDEgLTEuNjcsMC43OCAtMi45OCwxLjk5IC0zLjk0LDMuNjIgLTAuNzQsMS4yNCAtMS4xNiwyLjgyIC0xLjI2LDQuNzMgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMDAtMVwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEwNi02KVwiIGlkPVwiZzEwMi01XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMDgtNVwiXG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ4Ny40Myw3MjAuNTYgNy4yOCwtMy4wOSAwLjI5LDUuNDUgeiBtIC00Ljc3LC0xLjg0IDAuMjMsNC4yNyAyMC40MSw2Ljk1IC0wLjI0LC00LjM5IC00LjYzLC0xLjUxIC0wLjQyLC03Ljk5IDQuNDUsLTEuODkgLTAuMjMsLTQuMjggelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMTAtNFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDExNi05KVwiIGlkPVwiZzExMi03XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMTgtNlwiXG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ4NS43Niw3NTEuNjEgYyAwLjQsMi40NSAxLjIzLDQuMjggMi40OCw1LjQ5IDEuMjYsMS4yMSAyLjgzLDEuODcgNC43MSwxLjk3IGwgMC4wOSwtNC4wOSBjIC0xLjAyLC0wLjEyIC0xLjg3LC0wLjUxIC0yLjU2LC0xLjE5IC0wLjY5LC0wLjY4IC0xLjEyLC0xLjU5IC0xLjMxLC0yLjc0IC0wLjI5LC0xLjc0IDAuMDQsLTMuMjIgMC45NywtNC40MyAwLjk0LC0xLjIxIDIuNDksLTEuOTkgNC42NywtMi4zNSAyLjM0LC0wLjM4IDQuMTgsLTAuMTUgNS41MywwLjcgMS4zNCwwLjg1IDIuMTUsMi4xMiAyLjQzLDMuODEgMC4xMywwLjgzIDAuMTEsMS43IC0wLjA4LDIuNTkgLTAuMTksMC44OSAtMC40NywxLjY4IC0wLjg0LDIuMzYgbCAtMi41MSwwLjQxIC0wLjc0LC00LjU3IC0zLjMzLDAuNTUgMS40MSw4LjYgNy44NywtMS4zIGMgMC42NywtMC45NiAxLjE4LC0yLjI5IDEuNTQsLTMuOTggMC4zNSwtMS42OCAwLjM5LC0zLjM0IDAuMTMsLTQuOTcgLTAuMzQsLTIuMDYgLTEuMDcsLTMuNzkgLTIuMTksLTUuMTggLTEuMTIsLTEuNCAtMi41NSwtMi4zNSAtNC4yOSwtMi44NiAtMS43MywtMC41IC0zLjU1LC0wLjYgLTUuNDUsLTAuMjkgLTIuMDUsMC4zNCAtMy44MSwxLjA3IC01LjI3LDIuMTkgLTEuNDUsMS4xMyAtMi40NywyLjU5IC0zLjA1LDQuMzkgLTAuNDUsMS4zOCAtMC41MiwzLjAxIC0wLjIxLDQuODkgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxMjAtNVwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEyNi0yKVwiIGlkPVwiZzEyMi02XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxMjgtOVwiXG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDQ5MC40Miw3NzIuOTkgMy45NywxNC4zIDMuMjYsLTAuOSAtMi44OSwtMTAuNDEgNC4yOCwtMS4xOSAyLjY5LDkuNjkgMy4yNCwtMC45MSAtMi42OCwtOS42OCA1LjI1LC0xLjQ1IDIuOTksMTAuNzcgMy4yNSwtMC45IC00LjA3LC0xNC42NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzEzMC0zXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTM2LTApXCIgaWQ9XCJnMTMyLTdcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDEzOC00XCJcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTEyLjc3LDgxMC4yIC03Ljg5LC0wLjUgMi4xOSwtNSB6IG0gMy40NCwzLjc5IDEuNzEsLTMuOTIgLTE1LjEyLC0xNS4zNiAtMS43Niw0LjAyIDMuNDYsMy40MyAtMy4yLDcuMzIgLTQuODMsLTAuMyAtMS43MiwzLjkyIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTQwLTVcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNDYtMylcIiBpZD1cImcxNDItMlwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTQ4LTVcIlxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MjQuOTEsNzkyLjM4IDEuMTcsLTMuNzUgLTEwLjMxLC0xMS44MSAxMi43NiwzLjk5IDEuMTIsLTMuNTggLTE5LjExLC01Ljk3IC0xLjIxLDMuODcgMTAuMDUsMTEuNTkgLTEyLjQ1LC0zLjg5IC0xLjEyLDMuNTggelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNTAtNFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE1Ni0wKVwiIGlkPVwiZzE1Mi03XCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNTgtNFwiXG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzMi41Nyw3NjUuODggMy4xNSwtMTUuNTkgLTMuMzIsLTAuNjcgLTEuMTcsNS44MSAtMTYuMywtMy4yOSAtMC44LDMuOTYgMTYuMywzLjI5IC0xLjE4LDUuODIgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcxNjAtNFwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE2Ni0yKVwiIGlkPVwiZzE2Mi0zXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgxNjgtMFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTM3LjI2LDczOS4yNyAwLjQ4LC00LjAxIC0xOS44NywtMi4zOSAtMC40OCw0LjAxIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTcwLTdcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxNzYtMSlcIiBpZD1cImcxNzItOFwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTc4LTZcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzOS41OCw3MTQuMjkgYyAwLjA4LC0yLjQ0IC0wLjU3LC00LjQ2IC0xLjk3LC02LjAzIC0wLjgyLC0wLjk0IC0yLjAzLC0xLjY2IC0zLjYyLC0yLjE3IGwgLTEuMDgsMy45NyBjIDEuMDMsMC4yNyAxLjgzLDAuNzkgMi40LDEuNTYgMC41OCwwLjc3IDAuODUsMS42OSAwLjgxLDIuNzYgLTAuMDUsMS40OSAtMC42MiwyLjY3IC0xLjcxLDMuNTYgLTEuMSwwLjg5IC0yLjg0LDEuMjkgLTUuMjIsMS4yMSAtMi41MywtMC4wOCAtNC4zMiwtMC42IC01LjM2LC0xLjU0IC0xLjA0LC0wLjk1IC0xLjU0LC0yLjE1IC0xLjQ5LC0zLjYgMC4wMywtMS4wOCAwLjQxLC0xLjk5IDEuMTEsLTIuNzQgMC43MSwtMC43NSAxLjgsLTEuMjcgMy4yOCwtMS41NiBsIC0xLjExLC0zLjk1IGMgLTIuMjEsMC41MiAtMy44NiwxLjQ3IC00Ljk3LDIuODMgLTEuMSwxLjM2IC0xLjY5LDMuMTEgLTEuNzYsNS4yNiAtMC4wOSwyLjY2IDAuNzQsNC44NyAyLjUsNi42NCAxLjc2LDEuNzcgNC4yMSwyLjcxIDcuMzYsMi44MSAzLjMzLDAuMTEgNS45NCwtMC42NiA3Ljg0LC0yLjMyIDEuOSwtMS42NSAyLjksLTMuODggMi45OSwtNi42OSB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzE4MC04XCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMTg2LTcpXCIgaWQ9XCJnMTgyLThcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDE4OC00XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MzkuMSw2OTQuMjcgLTAuMjIsLTQuMDMgLTE5Ljk4LDEuMDkgMC4yMSw0LjAzIHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMTkwLTNcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxOTYtMilcIiBpZD1cImcxOTItMVwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMTk4LTRcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkzMy45OCw2NzQuMjUgLTUuNjIsMC43OSAtMC4zMSwtMi4xOSBjIC0wLjIyLC0xLjU4IC0wLjI2LC0yLjY1IC0wLjEzLC0zLjIxIDAuMTMsLTAuNTYgMC40LC0xLjAyIDAuOCwtMS4zOCAwLjQsLTAuMzcgMC44OSwtMC41OSAxLjQ4LC0wLjY3IDAuNzIsLTAuMSAxLjM0LDAuMDIgMS44NywwLjM4IDAuNTMsMC4zNiAwLjksMC44NiAxLjExLDEuNDkgMC4xNSwwLjQ2IDAuMzMsMS40MiAwLjUzLDIuODYgeiBtIDMuOTIsMy41MyAtMC45LC02LjQyIGMgLTAuMzQsLTIuNDMgLTAuNjYsLTQgLTAuOTYsLTQuNzEgLTAuNDYsLTEuMSAtMS4yNCwtMS45NiAtMi4zNCwtMi41OSAtMS4xMSwtMC42MiAtMi40NSwtMC44MyAtNC4wMywtMC42IC0xLjIxLDAuMTcgLTIuMiwwLjUzIC0yLjk3LDEuMDkgLTAuNzcsMC41NiAtMS4zNCwxLjIxIC0xLjcyLDEuOTUgLTAuMzgsMC43NSAtMC41OSwxLjQ5IC0wLjY1LDIuMjEgLTAuMDUsMC45OCAwLjA0LDIuMzggMC4zLDQuMTkgbCAwLjM2LDIuNjEgLTcuNDcsMS4wNSAwLjU2LDQgelwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgICA8ZyBpZD1cImcyMDAtOVwiPlxuICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDIwNi0yKVwiIGlkPVwiZzIwMi0yXCI+XG4gICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICBpZD1cInBhdGgyMDgtMFwiXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgZD1cIm0gOTI3LjAxLDY0NC4zNyAtNi41Myw0LjQ1IC0xLjM1LC01LjI5IHogbSA1LjA0LDAuODggLTEuMDUsLTQuMTUgLTIxLjM4LC0yLjgzIDEuMDksNC4yNiA0LjgzLDAuNTcgMS45Nyw3Ljc2IC00LDIuNzIgMS4wNiw0LjE1IHpcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgICAgPGcgaWQ9XCJnMjEwLTZcIj5cbiAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyMTYtNylcIiBpZD1cImcyMTItOFwiPlxuICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgaWQ9XCJwYXRoMjE4LTlcIlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGQ9XCJtIDkyNi4wNyw2MjQuMTkgLTUuNTIsLTE0LjkyIC0zLjE4LDEuMTggMi4wNiw1LjU2IC0xNS41OSw1Ljc3IDEuNCwzLjc5IDE1LjU5LC01Ljc3IDIuMDYsNS41NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxnIGlkPVwiZzIyMC0yXCI+XG4gICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjI2LTkpXCIgaWQ9XCJnMjIyLTZcIj5cbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIGlkPVwicGF0aDIyOC02XCJcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkPVwibSA5MTYuMDYsNTk4Ljg4IC02LjUzLC0xMy4zMyAtMy4wNCwxLjQ5IDQuNzUsOS43IC0zLjk4LDEuOTUgLTQuNDIsLTkuMDMgLTMuMDMsMS40OSA0LjQyLDkuMDIgLTQuOSwyLjQgLTQuOTEsLTEwLjA1IC0zLjAzLDEuNDkgNi42OSwxMy42NyB6XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzU0LTRcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNzkyLjUyLDQ5NC44MiAtMS41NSw0Ljg0IC0yLjg1LC0wLjkxIGMgLTEuODUsLTAuNTkgLTIuOTcsLTEuMDQgLTMuMzgsLTEuMzQgLTAuNDEsLTAuMzEgLTAuNjksLTAuNjkgLTAuODMsLTEuMTUgLTAuMTMsLTAuNDcgLTAuMTEsLTAuOTkgMC4wNywtMS41NiAwLjIxLC0wLjY0IDAuNTQsLTEuMSAxLjAxLC0xLjM5IDAuNDcsLTAuMjggMS4wMywtMC4zOCAxLjY5LC0wLjI4IDAuMzMsMC4wNSAxLjI3LDAuMzMgMi44MywwLjgzIHogbSA0Ljg4LC0xLjk5IC04LjExLC0yLjU5IGMgLTIuMDMsLTAuNjYgLTMuNTcsLTAuOTYgLTQuNiwtMC45MSAtMS4wMywwLjA1IC0xLjk3LDAuNDIgLTIuOCwxLjEyIC0wLjg0LDAuNyAtMS40MywxLjYxIC0xLjgsMi43NCAtMC40NSwxLjQzIC0wLjQxLDIuNzQgMC4xMywzLjk0IDAuNTUsMS4yIDEuNjIsMi4xOSAzLjIxLDIuOTcgLTAuOTksMC4yMiAtMS44NCwwLjUzIC0yLjU3LDAuOTQgLTAuNzMsMC40MSAtMS43OSwxLjIxIC0zLjE4LDIuNCBsIC0zLjUyLDIuOTcgNC42MSwxLjQ3IDQuMSwtMy4yNiBjIDEuNDcsLTEuMTYgMi40NCwtMS44OCAyLjkzLC0yLjE1IDAuNDksLTAuMjcgMC45NiwtMC40MSAxLjQxLC0wLjQyIDAuNDUsLTAuMDIgMS4xMiwwLjEyIDIuMDEsMC40IGwgMC43OCwwLjI1IC0yLjU1LDcuOTYgMy44NSwxLjIzIHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM1Ni04XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDc2OS4wNiw0ODQuNTcgLTE0LjU0LC0yLjk2IC0wLjY4LDMuMzIgMTAuNTgsMi4xNSAtMC44OCw0LjM1IC05Ljg1LC0yLjAxIC0wLjY3LDMuMzEgOS44NCwyIC0xLjA4LDUuMzQgLTEwLjk2LC0yLjIzIC0wLjY3LDMuMzEgMTQuOTEsMy4wMyB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNTgtN1wiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA3NDEuNTUsNDc5LjcxIC0xMy42NSwtMS4zNSAtMC4zNCwzLjM3IDkuNjQsMC45NSAtMC40Nyw0LjcxIC04LjMxLC0wLjgyIC0wLjM0LDMuMzcgOC4zMiwwLjgyIC0wLjg0LDguNDcgNC4wMiwwLjM5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2MC0xXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDcxNS4yMSw0NzcuOTMgaCAtNC4wNCBsIC0wLjAxLDE2LjQ4IGggLTEwLjA1IHYgMy4zNyBoIDE0LjA5IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDM2Mi03XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vZmZibGFjaylcIixcbiAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGQ9XCJtIDY4OC44Myw0NzguNCAtMTQuNzcsMS41IDAuMzQsMy4zNyAxMC43NSwtMS4wOSAwLjQ1LDQuNDEgLTEwLDEuMDIgMC4zNCwzLjM1IDEwLC0xLjAxIDAuNTUsNS40MiAtMTEuMTMsMS4xMyAwLjM0LDMuMzUgMTUuMTUsLTEuNTQgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgaWQ9XCJwYXRoMzY0LTJcIlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBmaWxsOiBcInZhcigtLW9mZmJsYWNrKVwiLFxuICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgZD1cIm0gNjUyLjUsNDgzLjM5IGMgLTIuMzksMC41MSAtNC4xOCwxLjYzIC01LjM4LDMuMzYgLTAuNzEsMS4wMyAtMS4xMiwyLjM3IC0xLjIzLDQuMDMgbCA0LjExLDAuMSBjIDAuMDEsLTEuMDYgMC4zMiwtMS45NiAwLjkzLC0yLjcxIDAuNjEsLTAuNzQgMS40NCwtMS4yMiAyLjQ5LC0xLjQ1IDEuNDUsLTAuMzEgMi43NCwtMC4wNCAzLjg3LDAuODEgMS4xMiwwLjg1IDEuOTMsMi40NCAyLjQzLDQuNzcgMC41MywyLjQ4IDAuNDYsNC4zNCAtMC4yMSw1LjU4IC0wLjY3LDEuMjQgLTEuNzEsMi4wMSAtMy4xMywyLjMxIC0xLjA2LDAuMjIgLTIuMDMsMC4wOCAtMi45MywtMC40MiAtMC45LC0wLjUxIC0xLjY2LC0xLjQ0IC0yLjMsLTIuODEgbCAtMy41NywyLjAzIGMgMS4wNCwyLjAxIDIuMzUsMy4zOSAzLjk0LDQuMTQgMS41OSwwLjc1IDMuNDMsMC45IDUuNTMsMC40NSAyLjYsLTAuNTYgNC41NSwtMS45IDUuODUsLTQuMDMgMS4yOSwtMi4xMyAxLjYxLC00Ljc0IDAuOTYsLTcuODIgLTAuNywtMy4yNiAtMi4wOCwtNS42MSAtNC4xNCwtNy4wNSAtMi4wNywtMS40NSAtNC40NywtMS44OCAtNy4yMiwtMS4yOSB6XCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBpZD1cInBhdGgzNjYtN1wiXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb2ZmYmxhY2spXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA2MzMuNzQsNDg4LjM4IC0xNS4xMiw0LjkzIDEuMDUsMy4yMiA1LjYzLC0xLjgzIDUuMTYsMTUuOCAzLjg0LC0xLjI1IC01LjE2LC0xNS44MSA1LjY1LC0xLjg0IHpcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDc0Mi0yXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgICAgICBzdHJva2U6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMi4wNCxcbiAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA6IFwiYnV0dFwiLFxuICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgICAgIHN0cm9rZU1pdGVybGltaXQ6IDEwLFxuICAgICAgICAgICAgc3Ryb2tlRGFzaGFycmF5OiBcIm5vbmVcIixcbiAgICAgICAgICAgIHN0cm9rZU9wYWNpdHk6IDEsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA1NzkuMDYsNzA4LjYgYyAwLDY3LjMgNTguMDgsMTIxLjg2IDEyOS43MiwxMjEuODYgNzEuNjQsMCAxMjkuNzIsLTU0LjU2IDEyOS43MiwtMTIxLjg2IDAsLTY3LjMgLTU4LjA4LC0xMjEuODYgLTEyOS43MiwtMTIxLjg2IC03MS42NCwwIC0xMjkuNzIsNTQuNTYgLTEyOS43MiwxMjEuODYgelwiXG4gICAgICAgIC8+XG4gICAgICAgIDxnXG4gICAgICAgICAgaWQ9XCJhY3QtdGV4dFwiXG4gICAgICAgICAgY2xhc3NOYW1lPVwiaHAzIGFjdC12ZXJzaW9uXCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZGlzcGxheTogXCJpbmxpbmVcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg4OS41Nzg2MzIsNzA5LjI2OTA3LDcwNi40MDU3NSlcIlxuICAgICAgICA+XG4gICAgICAgICAgPGcgaWQ9XCJnMjQ2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQ1Mi4wMzIyMSwtNDUxLjM4OTE5KVwiPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjUyKVwiIGlkPVwiZzI0OFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDI1NlwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw1ODAuODcsMTI3NS45NilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuMjU0XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCA1LjU3MTExOTggMTYuNzEzMzYgMjIuMTA0MTIgMjYuNTUyOTk5IDM3LjY5NTI0IDQzLjI2NjM2MSA0Ny43MTUyNCA1OC44NTc0NzkgNjkuOTk5NzE4IDgxLjIyMjEyMiA5MS4zMDIyMzggMTAyLjQ0NDQ4IDEwNy44OTUzNiAxMTMuNDY2NDggMTI0LjYwODcyIDEzNS43NTA5NiAxNDEuMTgxNzkgMTUyLjMyNDA0IDE1Ni43NzI5MiAxNjMuNTA2MzYgMTc0LjY0ODYxIDE4NC43Njg4IDE5MC4zMzk5MiAxOTQuNzg4OCAyMDUuOTMxMDUgMjE3LjA3MzI3IDIyMi4zODM4OCAyMzMuNTI2MTIgMjQ0LjcyODQ5IDI1NS44NzA3M1wiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widG8gaW5mbHVlbmNlIHRoZSBkaXJlY3Rpb24gYW5kIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGcgaWQ9XCJnMjU4XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQ1Mi4wMzIyMSwtNDUxLjM4OTE5KVwiPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjY0KVwiIGlkPVwiZzI2MFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDI2OFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw1NzguODMsMTI1MS45NilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuMjY2XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCA1LjU3MTExOTggMTIuMjQ0NDQgMjMuMzg2NjgxIDI3LjgzNTU2IDM5LjAzNzkyMiA0OS4xMTgwMzggNTQuNjg5MTU5IDY1LjgzMTM5OCA3Mi41MDQ3MjMgODIuNTI0NzE5IDg3LjY5NTAzOCA5OC44MzcyOCAxMDQuNDA4NCAxMDkuOTE5NCAxMTUuNDkwNTIgMTI2LjYzMjc2IDEzNy43NzQ5OSAxNDMuMjA1ODQgMTQ5Ljg3OTE3IDE2MS4wODE1MSAxNzEuMTYxNjQgMTgyLjMwMzg4IDE5My41MDYyNCAyMDAuMTc5NTcgMjEwLjE5OTU1IDIyMS4zNDE4IDIyNi40MzE5NiAyMzcuNTc0MiAyNDguNzc2NTcgMjU5LjkxODc5XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJ0cmFqZWN0b3J5IG9mIHRoZSByZXNlYXJjaCBhbmQgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8ZyBpZD1cImcyNzBcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDUyLjAzMjIxLC00NTEuMzg5MTkpXCI+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgyNzYpXCIgaWQ9XCJnMjcyXCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MjgwXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDYwMi4wMiwxMjI3Ljk2KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW4yNzhcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDQuNDQ4ODgwMiAxNS41OTExMiAyNi43MzMzNiAzNy44NzU1OTkgNDcuODk1NTk5IDU5LjAzNzg0MiA2NC42MDg5NjMgNjkuMDU3ODM4IDgwLjIwMDA4MSA5MS4zNDIzMjMgOTYuNzEzMDQzIDEwNy44NTUyOCAxMTQuNTY4NjggMTI1LjcxMDkyIDEzNS43OTEwNSAxNDYuOTMzMjcgMTU3LjAxMzQgMTY3LjAzMzQgMTcyLjEyMzU3IDE3Ni41NzI0MyAxODIuMTQzNTUgMTkyLjE2MzU2IDIwMy4zMDU4IDIwNy43NTQ2OFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiaW5ub3ZhdGlvbiBwcm9jZXNzIGl0c2VsZlwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGcgaWQ9XCJnMjgyXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQ1Mi4wMzIyMSwtNDUxLjM4OTE5KVwiPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMjg4KVwiIGlkPVwiZzI4NFwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDI5MlwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw1NTcuOTUsMTE3OS45NilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuMjkwXCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAyMi4yODQ0NzkgMzMuNDI2NzIgNDQuNjI5MDgyIDUwLjIwMDE5OSA2MS4zNDI0NDIgNzIuNDg0NjggNzcuNzU1MjAzIDg4Ljg5NzQzOCAxMDAuMDM5NjggMTExLjE4MTkyIDExNi42MzI4IDEyNy43NzUwNCAxMzguOTE3MjggMTUwLjA1OTUyIDE1NC41MDg0MSAxNTguOTU3MjggMTcwLjA5OTUyIDE4MS4zMDE4OCAxODYuNjkyNjQgMTkyLjI2Mzc2IDIwMy40MDYwMSAyMTQuNTQ4MjMgMjE5LjkzOSAyMjUuNTEwMTIgMjM2LjY1MjM2IDI0Ny43OTQ2IDI1OC45MzY4MyAyNzAuMDc5MDcgMjgxLjIyMTMxIDI5MS4zMjE0NyAzMDEuMzQxNDlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImFkYXB0ZWQgYW5kIGFwcGxpZWQgdGhlIGZlZWRiYWNrIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGcgaWQ9XCJnMjk0XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQ1Mi4wMzIyMSwtNDUxLjM4OTE5KVwiPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMzAwKVwiIGlkPVwiZzI5NlwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDMwNFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw1NzQuMTUsMTE1NS45NilcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuMzAyXCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCA1LjU3MTExOTggMTIuMjQ0NDQgMjMuMzg2NjgxIDQwLjA4MDAwMiA0NS4zNTA1MjEgNTYuNDkyNzYgNjYuNTEyNzU2IDc3LjY1NDk5OSA4OC43OTcyNDEgOTUuNDcwNTU4IDEwMS4wNDE2OCAxMTEuMDYxNjggMTE2LjM5MjMyIDEyNy41MzQ1NiAxMzguNjc2OCAxNDkuODE5MDUgMTU1LjI2OTkxIDE2NS4yODk5MiAxNzAuODYxMDQgMTgyLjAwMzI4IDE5Mi4wODM0IDIwMy4yMjU2NSAyMTQuMzY3ODcgMjI1LjUxMDEyIDIyOS45NTkgMjQxLjE0MTMzIDI1Mi4yODM1NSAyNTguOTU2ODhcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImZyb20gZXhwZXJ0cyBhbmQgc3Rha2Vob2xkZXJzXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8ZyBpZD1cImczMDZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDUyLjAzMjIxLC00NTEuMzg5MTkpXCI+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgzMTIpXCIgaWQ9XCJnMzA4XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MzE2XCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDU4Ni4zOSwxMTA3Ljk0KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgICAgIGlkPVwidHNwYW4zMTRcIlxuICAgICAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgICAgIHg9XCIwIDEwLjA4MDEyIDIxLjIyMjM2MSAzMS4yNDIzNTkgMzYuNjUzMTYgNDcuNzk1Mzk5IDUyLjI0NDI4MiA2My40NDY2NCA3NC41ODg4ODIgNzkuMDM3NzU4IDgzLjQ4NjY0MSA5NC42Njg5NjEgMTA1LjgxMTIgMTExLjM4MjMyIDEyMS40NjI0NCAxMjYuODUzMiAxMzYuOTMzMzIgMTQ4LjA3NTU2IDE1OS4yNzc5MiAxNjkuMzU4MDUgMTczLjgwNjkyIDE4NC45NDkxNiAxOTYuMTUxNTIgMjAxLjQyMjA0IDIxMi41NjQyOSAyMjIuNjg0NDggMjI4LjA3NTI0IDIzMy42NDYzNiAyNDQuNzg4NlwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wia2V5IGhpZ2hsaWdodHMgY2F1c2luZyB1cyB0byBcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICAgIDxnIGlkPVwiZzMxOFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0NTIuMDMyMjEsLTQ1MS4zODkxOSlcIj5cbiAgICAgICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDMyNClcIiBpZD1cImczMjBcIj5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICBpZD1cInRleHQzMjhcIlxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMHB4XCIsXG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsTVRcIixcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgZmlsbDogXCIjMzIyMzJjXCIsXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsNTUyLjU1LDEwODMuOTQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjMyNlwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgNi42NzMzMTk4IDE3Ljg1NTY0IDI3Ljg3NTY0MSAzOS4wNzc5OTkgNTAuMjIwMjQyIDYwLjMwMDM2MiA2NC43NDkyMzcgNzUuODkxNDc5IDg3LjAzMzcyMiA5My43MDcwMzkgOTkuMTc3OTYzIDEwNC4zMjgyNCAxMTUuNDcwNDggMTI2LjYxMjcyIDEzNi42MzI3MiAxNDcuNzc0OTYgMTUyLjIyMzg1IDE2My4zNjYwNyAxNzQuNTA4MzIgMTc5LjkxOTExIDE5MS4wNjEzNiAyMDIuMjAzNiAyMTMuMzQ1ODQgMjE4Ljc5NjcyIDIyOS45Mzg5NiAyMzQuMzg3ODMgMjM5Ljk1ODk1IDI1MS4xMDEyIDI1Ny43NzQ1MSAyNjMuMjA1MzUgMjczLjIyNTM3IDI4NC40Mjc3MyAzMDEuMTIxMDMgMzEyLjI2MzI4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJyZWNvbnNpZGVyLCBkZXZlbG9wIGFuZCBhbHRlciBzb21lIFwifVxuICAgICAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgICAgPGcgaWQ9XCJnMzMwXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQ1Mi4wMzIyMSwtNDUxLjM4OTE5KVwiPlxuICAgICAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMzM2KVwiIGlkPVwiZzMzMlwiPlxuICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgIGlkPVwidGV4dDM0MFwiXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxNVFwiLFxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBmaWxsOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw1NjYuMTEsMTA1OS45NClcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgICAgICBpZD1cInRzcGFuMzM4XCJcbiAgICAgICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgICAgICB4PVwiMCAxMS4xNDIyNCAxNi43MTMzNiAyMi4wODQwOCAyNy42NTUxOTkgMzguNzk3NDQgNDkuOTM5Njc4IDU1LjMzMDQ0MSA2Ni40NzI2NzkgNzYuNTUyODAzIDg3LjY5NTAzOCA5OC44MzcyOCAxMDguOTM3NDQgMTE0LjUwODU2IDEyNC41Mjg1NiAxMjkuNjk4ODggMTQwLjg0MTEzIDE0Ni40MTIyNSAxNTEuOTAzMiAxNjMuMDQ1NDQgMTc0LjE4NzY4IDE4MC45MjExMyAxODYuMTkxNjQgMTk3LjMzMzg4IDIwNC4wNDcyOSAyMTUuMTg5NTEgMjE5LjYzODQgMjMwLjc4MDY0IDI0MC44NjA3NiAyNDYuNDMxODggMjUxLjY2MjMyIDI2Mi44MDQ1NyAyNzMuOTQ2ODEgMjg1LjA4OTA1XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJvZiB0aGUgYXNwZWN0cyBvZiBvdXIgcHJvamVjdCBhbmQgXCJ9XG4gICAgICAgICAgICAgICAgPC90c3Bhbj5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8ZyBpZD1cImczNDJcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNDUyLjAzMjIxLC00NTEuMzg5MTkpXCI+XG4gICAgICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgzNDgpXCIgaWQ9XCJnMzQ0XCI+XG4gICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgaWQ9XCJ0ZXh0MzUyXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjBweFwiLFxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbE1UXCIsXG4gICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpbGw6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDY2OS43LDEwMzUuOTQpXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjM1MFwiXG4gICAgICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICAgICAgeD1cIjAgNi42NzMzMTk4IDE3Ljg1NTY0IDI3Ljg3NTY0MSAzOS4wNzc5OTkgNTAuMjIwMjQyIDU2LjkzMzY0IDY2Ljk1MzY0NFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wicmVzZWFyY2hcIn1cbiAgICAgICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9nPlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgPC9nPlxuICA8L3N2Zz5cbik7XG5cbiIsICJleHBvcnQgY29uc3QgV2hvbGVNZW5kZWxvdyA9ICgpID0+IChcbiAgPHN2Z1xuICB2aWV3Qm94PVwiLTE1MDAgMCA5MDAwIDYwMDBcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHhtbG5zWGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICB4bWxTcGFjZT1cInByZXNlcnZlXCJcbiAgICBvdmVyZmxvdz1cImhpZGRlblwiXG4gID5cbiAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMzOSAtODI5KVwiPlxuICAgICAgPGc+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0yOC42NDU4LTIuOTYxOGUtMDYgMjguNjQ2MiAzMzQ3LjI0LTI4LjY0NTUgMzM0Ny4yNC0yOC42NDU4IDIuOTYxOGUtMDZaTTg1LjkzNzggMzMxOC41OSAwLjAwMDM2MDg5MiAzNDkwLjQ3LTg1LjkzNzIgMzMxOC41OVpcIlxuICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICBmaWxsUnVsZT1cIm5vbnplcm9cIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAtMSA4NzEuNSA1MDQ5Ljk3KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0xMjg2IDE2MjMuODRDMTI4NiAxNDQ0LjQ0IDE0MzEuNDQgMTI5OSAxNjEwLjg0IDEyOTlMMjkxMC4xNiAxMjk5QzMwODkuNTYgMTI5OSAzMjM1IDE0NDQuNDQgMzIzNSAxNjIzLjg0TDMyMzUgMjkyMy4xNkMzMjM1IDMxMDIuNTYgMzA4OS41NiAzMjQ4IDI5MTAuMTYgMzI0OEwxNjEwLjg0IDMyNDhDMTQzMS40NCAzMjQ4IDEyODYgMzEwMi41NiAxMjg2IDI5MjMuMTZaXCJcbiAgICAgICAgICBmaWxsPVwiI0I4NUJEMVwiXG4gICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgLz5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwidmFyKC0tb3VyYmVpZ2UpXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICBmb250RmFtaWx5PVwiQXJpYWwsQXJpYWxfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs0MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNDd9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDE0NDIuMzQgMjA4OSlcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiSGlnaCBQb3dlciwgTG93IEludGVyZXN0XCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwidmFyKC0tb3VyYmVpZ2UpXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICBmb250RmFtaWx5PVwiQXJpYWwsQXJpYWxfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsyMzh9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDE0MzkuNDggMjU0OClcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiS2VlcCBcIn1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8dGV4dFxuICAgICAgICAgIGZpbGw9XCJ2YXIoLS1vdXJiZWlnZSlcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezIzOH1cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMjA4OC4wMiAyNTQ4KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJTYXRpc2ZpZWRcIn1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMzM4NiAxNjIzLjg0QzMzODYgMTQ0NC40NCAzNTMxLjQ0IDEyOTkgMzcxMC44NCAxMjk5TDUwMTAuMTYgMTI5OUM1MTg5LjU2IDEyOTkgNTMzNSAxNDQ0LjQ0IDUzMzUgMTYyMy44NEw1MzM1IDI5MjMuMTZDNTMzNSAzMTAyLjU2IDUxODkuNTYgMzI0OCA1MDEwLjE2IDMyNDhMMzcxMC44NCAzMjQ4QzM1MzEuNDQgMzI0OCAzMzg2IDMxMDIuNTYgMzM4NiAyOTIzLjE2WlwiXG4gICAgICAgICAgZmlsbD1cIiM4NTBFNzhcIlxuICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgIC8+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cInZhcigtLW91cmJlaWdlKVwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkFyaWFsLEFyaWFsX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFdlaWdodD17NDAwfVxuICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250U2l6ZT17MTQ3fVxuICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAzNTI1LjgzIDIwODkpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtcIkhpZ2ggUG93ZXIsIEhpZ2ggSW50ZXJlc3RcIn1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8dGV4dFxuICAgICAgICAgIGZpbGw9XCJ2YXIoLS1vdXJiZWlnZSlcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezIzOH1cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMzcxMS43NSAyNTQ4KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJLZWVwIENsb3NlXCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTEyODYgMzc0My44NEMxMjg2IDM1NjQuNDQgMTQzMS40NCAzNDE5IDE2MTAuODQgMzQxOUwyOTEwLjE2IDM0MTlDMzA4OS41NiAzNDE5IDMyMzUgMzU2NC40NCAzMjM1IDM3NDMuODRMMzIzNSA1MDQzLjE2QzMyMzUgNTIyMi41NiAzMDg5LjU2IDUzNjggMjkxMC4xNiA1MzY4TDE2MTAuODQgNTM2OEMxNDMxLjQ0IDUzNjggMTI4NiA1MjIyLjU2IDEyODYgNTA0My4xNlpcIlxuICAgICAgICAgIGZpbGw9XCJ2YXIoLS1kYXJrZXJiZWlnZSlcIlxuICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgIC8+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezQwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezE0N31cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMTQ1OC42NyA0MjA4KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJMb3cgUG93ZXIsIExvdyBJbnRlcmVzdFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezIzOH1cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMTQ5Mi4yIDQ2NjcpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtcIktlZXAgTWluaW1hbFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0zMzg2IDM3NDMuODRDMzM4NiAzNTY0LjQ0IDM1MzEuNDQgMzQxOSAzNzEwLjg0IDM0MTlMNTAxMC4xNiAzNDE5QzUxODkuNTYgMzQxOSA1MzM1IDM1NjQuNDQgNTMzNSAzNzQzLjg0TDUzMzUgNTA0My4xNkM1MzM1IDUyMjIuNTYgNTE4OS41NiA1MzY4IDUwMTAuMTYgNTM2OEwzNzEwLjg0IDUzNjhDMzUzMS40NCA1MzY4IDMzODYgNTIyMi41NiAzMzg2IDUwNDMuMTZaXCJcbiAgICAgICAgICBmaWxsPVwiI0EwQTdGM1wiXG4gICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgLz5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwidmFyKC0tb3VyYmVpZ2UpXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICBmb250RmFtaWx5PVwiQXJpYWwsQXJpYWxfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs0MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNDd9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDM1NDIuMTYgNDIwOClcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiSGlnaCBQb3dlciwgTG93IEludGVyZXN0XCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwidmFyKC0tb3VyYmVpZ2UpXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICBmb250RmFtaWx5PVwiQXJpYWwsQXJpYWxfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsyMzh9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDM1MjYuMTIgNDY2NylcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiS2VlcCBcIn1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8dGV4dFxuICAgICAgICAgIGZpbGw9XCJ2YXIoLS1vdXJiZWlnZSlcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezIzOH1cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNDE3NC42NiA0NjY3KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJJbmZvcm1lZFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0yOC42NDU4LTIuOTYxOGUtMDYgMjguNjQ2MiAzMzQ3LjI0LTI4LjY0NTUgMzM0Ny4yNC0yOC42NDU4IDIuOTYxOGUtMDZaTTg1LjkzNzggMzMxOC41OSAwLjAwMDM2MDg5MiAzNDkwLjQ3LTg1LjkzNzIgMzMxOC41OVpcIlxuICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICBmaWxsUnVsZT1cIm5vbnplcm9cIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCg2LjEyMzIzZS0xNyAxIDEgLTYuMTIzMjNlLTE3IDE2NDEuNSA1ODA0LjUpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkFyaWFsLEFyaWFsX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250U2l6ZT17MTY1fVxuICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEuODM2OTdlLTE2IC0xIDEgLTEuODM2OTdlLTE2IDY2NS4xNTMgNDA5MilcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiUE9XRVIgXCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkFyaWFsLEFyaWFsX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250U2l6ZT17MTY1fVxuICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEuODM2OTdlLTE2IC0xIDEgLTEuODM2OTdlLTE2IDY2NS4xNTMgMzQyMylcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiT0YgSU1QQUNUXCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkFyaWFsLEFyaWFsX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250U2l6ZT17MTY1fVxuICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAyMzY4LjM4IDYxMTMpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtcIklOVEVSRVNUIFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezE2NX1cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMzIzMC4wNCA2MTEzKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJGT1IgUFJPSkVDVFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIml0YWxpY1wiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezE4M31cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNjU0LjU4NyA1ODcxKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJMT1dcIn1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8dGV4dFxuICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICBmb250RmFtaWx5PVwiQXJpYWwsQXJpYWxfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJpdGFsaWNcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsxODN9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDU2ODQuOTUgNTg1NilcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiSElHSFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJBcmlhbCxBcmlhbF9NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIml0YWxpY1wiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezE4M31cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNjM4LjI3NyAxMDY3KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJISUdIXCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuXG4iLCAiZXhwb3J0IGZ1bmN0aW9uIFN0YWtlaG9sZGVyTWFuYWdlbWVudCgpe1xuXG4gICAgcmV0dXJuKFxuICA8c3ZnXG4gICAgdmlld0JveD1cIjAgMCA0NzAwIDI1MDBcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgIHhtbG5zWGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCJcbiAgICB4bWxTcGFjZT1cInByZXNlcnZlXCJcbiAgICBvdmVyZmxvdz1cImhpZGRlblwiXG5cbiAgPlxuICAgIDxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTA0MCAtMjAyMSlcIj5cbiAgICAgIDxnPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMCAwLjA0MjcyOSAwIDcxNy4wNzggNDMwLjk1NyAxMTQ4IDQzMC45NTcgMC4wNDI3MjlaXCJcbiAgICAgICAgICBmaWxsPVwiIzdFODRDMVwiXG4gICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEgMCAwIDEgNDE1MyAzMTA4KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk00MzAuOTY1IDAgMCA0MzEgMTE0Ny45NiA0MzEgMTE0Ny45NiAwWlwiXG4gICAgICAgICAgZmlsbD1cIiM4RjQ3QTJcIlxuICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0xIDAgMCAxIDQxNTQgMjE4OSlcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMC4wNDI3MzI1IDAgMC4wNDI3MzI1IDExNDcuOTYgNDMxIDExNDcuOTYgNDMxIDQzMC45NjUgMC4wNDI3MzI1IDBaXCJcbiAgICAgICAgICBmaWxsPVwiIzVFMEE1NFwiXG4gICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEgMCAwIDEgMjUxOCAyMTg5KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk0wLjA0MjcyOSAwLjA0MjczMjUgMC4wNDI3MjkgNDMxIDcxNy4wNzggNDMxIDExNDggMC4wNDI3MzI1WlwiXG4gICAgICAgICAgZmlsbD1cIiMwODA2MDdcIlxuICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KC0xIDAgMCAxIDMyMzUgMzgyNSlcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNNTk1LjQ4OSAwIDE2NC41MTEgNDMwLjg1OCAxNjQuNTExIDkxOC44NzMgMCA5MTguODczIDM4MCAxMzgwLjk2IDc2MCA5MTguODczIDU5NS40ODkgOTE4Ljg3MyA1OTUuNDg5IDBaXCJcbiAgICAgICAgICBzdHJva2U9XCIjQjg1QkQxXCJcbiAgICAgICAgICBzdHJva2VXaWR0aD17My40Mzc1fVxuICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJidXR0XCJcbiAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICBzdHJva2VNaXRlcmxpbWl0PXsxMH1cbiAgICAgICAgICBzdHJva2VPcGFjaXR5PXsxfVxuICAgICAgICAgIGZpbGw9XCIjQjg1QkQxXCJcbiAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSAwIDAgMSA0MzE4LjUgMjE4OS41KVwiXG4gICAgICAgIC8+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgZD1cIk00NjIuMTI3IDAgMC4wNDI3MTg0IDM4MCA0NjIuMTI3IDc2MCA0NjIuMTI3IDU5NS40ODkgMTM4MSA1OTUuNDg5IDk1MC4xODUgMTY0LjUxMSA0NjIuMTI3IDE2NC41MTEgNDYyLjEyNyAwWlwiXG4gICAgICAgICAgc3Ryb2tlPVwiIzg1MEU3OFwiXG4gICAgICAgICAgc3Ryb2tlV2lkdGg9ezMuNDM3NX1cbiAgICAgICAgICBzdHJva2VMaW5lY2FwPVwiYnV0dFwiXG4gICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD17MTB9XG4gICAgICAgICAgc3Ryb2tlT3BhY2l0eT17MX1cbiAgICAgICAgICBmaWxsPVwiIzg1MEU3OFwiXG4gICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoLTEgMCAwIDEgMzQ2OC41IDIwMjUuNSlcIlxuICAgICAgICAvPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGQ9XCJNMzgwIDAuMDQyNzE4NCAwLjA0MjczMDIgNDYyLjEyNyAxNjQuNTU0IDQ2Mi4xMjcgMTY0LjU1NCAxMzgxIDU5NS40ODkgOTUwLjE4NSA1OTUuNDg5IDQ2Mi4xMjcgNzYwIDQ2Mi4xMjcgMzgwIDAuMDQyNzE4NFpcIlxuICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSAwIDAgMSAyNjgyIDI4NzUpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBkPVwiTTkxOC44NzIgMC4wNDI3MzAyIDkxOC44NzIgMTY0LjU1NCAwIDE2NC41NTQgNDMwLjgxNSA1OTUuNDg5IDkxOC44NzIgNTk1LjQ4OSA5MTguODcyIDc2MCAxMzgwLjk2IDM4MCA5MTguODcyIDAuMDQyNzMwMlpcIlxuICAgICAgICAgIGZpbGw9XCIjQTBBN0YzXCJcbiAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgtMSAwIDAgMSA0MTUzIDM2NjEpXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwiI0EwQTdGM1wiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkZpcmEgU2FucyxGaXJhIFNhbnNfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNDd9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQxOTAuMTUgNDIyNClcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiSU1QTEVNRU5UQVRJT05cIn1cbiAgICAgICAgPC90ZXh0PlxuICAgICAgICA8dGV4dFxuICAgICAgICAgIGZpbGw9XCIjQjg1QkQxXCJcbiAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICBmb250RmFtaWx5PVwiRmlyYSBTYW5zLEZpcmEgU2Fuc19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFNpemU9ezE0N31cbiAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNDM3OC4yNSAyMzI3KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7XCJSRUdVTEFUSU9OICYgXCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwiI0I4NUJEMVwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkZpcmEgU2FucyxGaXJhIFNhbnNfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNDd9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQ4ODAuMTMgMjUwMylcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiU0FGRVRZXCJ9XG4gICAgICAgIDwvdGV4dD5cbiAgICAgICAgPHRleHRcbiAgICAgICAgICBmaWxsPVwiIzVFMEE1NFwiXG4gICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgZm9udEZhbWlseT1cIkZpcmEgU2FucyxGaXJhIFNhbnNfTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgIGZvbnRTaXplPXsxNDd9XG4gICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDExMzAuODIgMjM0MilcIlxuICAgICAgICA+XG4gICAgICAgICAge1wiUEVSQ0VQVElPTlwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICAgIDx0ZXh0XG4gICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgIGZvbnRGYW1pbHk9XCJGaXJhIFNhbnMsRmlyYSBTYW5zX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICBmb250U2l6ZT17MTQ3fVxuICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAxMTMwLjgyIDQyMDIpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHtcIklNUEFDVFwifVxuICAgICAgICA8L3RleHQ+XG4gICAgICA8L2c+XG4gICAgPC9nPlxuICA8L3N2Zz5cbik7XG5cbn0iLCAiXG5leHBvcnQgZnVuY3Rpb24gU1dPVG9uZSgpe1xuXG4gICAgcmV0dXJuKFxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgdmlld0JveD1cIjAgMCA1NTAwIDI1MDBcIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICB4bWxuc1hsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgICAgICB4bWxTcGFjZT1cInByZXNlcnZlXCJcbiAgICAgICAgICAgIG92ZXJmbG93PVwiaGlkZGVuXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTQzNSAtMzU3NSlcIj5cbiAgICAgICAgICAgICAgPGc+XG4gICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMzIyMiA1MzA1LjMgMzM1MS45MSA1MzA1LjMgMzM1MS45MSA1NjMyLjkyIDMyMzYuMjIgNTYzMi45MiAzMjI2LjQ0IDU2MDEuNDNDMzIyMy41MyA1NTg3LjE5IDMyMjIgNTU3Mi40NiAzMjIyIDU1NTcuMzZaTTM1NTQuOTYgNTIyMy4zNSAzNzA4LjUyIDUyMjMuMzUgMzcwOC41MiA1NjMyLjkyIDM1NTQuOTYgNTYzMi45MlpNMzkxMC4xNiA1MDQzLjYyIDQwNjMuODQgNTA0My42MiA0MDYzLjg0IDU2MzIuOTIgMzkxMC4xNiA1NjMyLjkyWk00MzgzLjUxIDM3MDQuMzJDNDQzNC44OCAzNzA0LjMyIDQ0NzguODIgMzcxNC41NSA0NTE1Ljg0IDM3MzMuMThMNDUyMi44MyAzNzM3LjkgNDUyOS41NiAzNzU5LjU3QzQ1MzIuNDcgMzc3My44MSA0NTM0IDM3ODguNTQgNDUzNCAzODAzLjY0TDQ1MzQgNDQxNS40MiA0NTIxLjk0IDQ0MjIuOTNDNDQ4NC44NCA0NDQyLjcxIDQ0NDAuMSA0NDUzLjg1IDQzODYuNzIgNDQ1My44NSA0MTkwLjg4IDQ0NTMuODUgNDA5Ni4xNyA0MjkwLjE0IDQwOTYuMTcgNDA3My40NiA0MDk2LjE3IDM4NTguNCA0MTgyLjg1IDM3MDQuMzIgNDM4My41MSAzNzA0LjMyWk0zNDQwLjY3IDM1ODUgNDEwMi4zMSAzNTg1IDQwNzAgMzYwNS4yNUMzOTI3LjM0IDM3MDUuODcgMzg0OC45NiAzODc3LjY2IDM4NDguOTYgNDA3OC4yOCAzODQ4Ljk2IDQzOTYuMDcgNDAzMC4zNSA0NjQ4LjA1IDQzNzguNjkgNDY0OC4wNSA0NDIzLjY0IDQ2NDguMDUgNDQ2NS44NSA0NjQzLjkxIDQ1MDUuMzEgNDYzNi4wN0w0NTM0IDQ2MjguNzkgNDUzNCA1NTU3LjM2QzQ1MzQgNTY3OC4xMSA0NDM2LjEgNTc3NiA0MzE1LjMzIDU3NzZMMzQ0MC42NyA1Nzc2QzMzNjUuMTkgNTc3NiAzMjk4LjY0IDU3MzcuNzYgMzI1OS4zNSA1Njc5LjYxTDMyNTAuNjIgNTY2My41MyA0MjEzLjI2IDU2NjMuNTNDNDIyNC41MSA1NjYzLjUzIDQyMzEuNjEgNTY1Ny40NyA0MjMxLjYxIDU2NDcuNjEgNDIzMS42MSA1NjQwLjMyIDQyMjMuMDkgNTYzMi45MiA0MjEzLjI2IDU2MzIuOTJMNDA5OS4wMSA1NjMyLjkyIDQwOTkuMDEgNTAyOC45NEM0MDk5LjAxIDUwMTkuMTggNDA5Mi4wMiA1MDEzLjAyIDQwODIuMTkgNTAxMy4wMkwzODk0LjY1IDUwMTMuMDJDMzg4NC44MiA1MDEzLjAyIDM4NzcuNzIgNTAxOS4xOCAzODc3LjcyIDUwMjguOTRMMzg3Ny43MiA1NjMyLjkyIDM3NDMuODEgNTYzMi45MiAzNzQzLjgxIDUyMDcuNDNDMzc0My44MSA1MTk4LjkxIDM3MzYuNyA1MTkyLjc0IDM3MjUuNDYgNTE5Mi43NEwzNTM5LjQ1IDUxOTIuNzRDMzUyOC4wOCA1MTkyLjc0IDM1MjEuMSA1MTk4LjkxIDM1MjEuMSA1MjA3LjQzTDM1MjEuMSA1NjMyLjkyIDMzODcuMTkgNTYzMi45MiAzMzg3LjE5IDUyOTAuNjJDMzM4Ny4xOSA1MjgwLjc2IDMzODAuMDkgNTI3NC43IDMzNzAuMjYgNTI3NC43TDMyMjIgNTI3NC43IDMyMjIgNTIxMS41IDMyNzMuNDUgNTIwMy40N0MzMzMyLjU5IDUxOTMuMTQgMzQwNC4yMSA1MTc3LjE1IDM0ODIuOTcgNTE1Mi4zOCAzNjAwLjA3IDUxMTUuNzIgMzcxMS4zNyA1MDY2LjgzIDM4MTEuNTMgNTAwOC4wOSAzODIxLjM2IDUwMDQuNDkgMzgyMi43OCA0OTk0LjYzIDM4MTcuMSA0OTg3LjM0IDM4MTMuNDMgNDk4Mi42MiAzODA4LjEgNDk3OS45NSAzODAyLjQyIDQ5NzkuOTUgMzc5OS4zNCA0OTc5Ljk1IDM3OTYuMTQgNDk4MC42NyAzNzkzLjE4IDQ5ODIuNDEgMzY5NC40NCA1MDQxLjE2IDM1ODUuOTggNTA4Ny41OCAzNDcwLjMxIDUxMjMuMTEgMzM5My42NyA1MTQ2Ljk1IDMzMjQuMTYgNTE2Mi4zNiAzMjY2Ljg0IDUxNzIuMzdMMzIyMiA1MTc5LjQgMzIyMiA1MTQ0Ljk5IDMyNjEuNDIgNTEzOC43MkMzMzE4LjA4IDUxMjguNzIgMzM4Ni44MiA1MTEzLjQyIDM0NjEuOSA1MDkwLjA0IDM2MjguMjUgNTAzNy40NiAzODY3Ljg5IDQ5MzIuMjkgNDA2My44NCA0NzIwLjczIDQwNzQuNjEgNDcxMS4zOCA0MDY0LjU1IDQ2OTYuMjkgNDA0OS45OSA0Njk2LjI5IDQwNDkuNCA0Njk2LjI5IDQwNDguOTIgNDY5Ni4yOSA0MDQ4LjMzIDQ2OTYuMjlMMzk5MS45NyA0NzAyLjQ1QzM5OTAuMiA0NzAyLjc2IDM5ODguNTQgNDcwMi45NiAzOTg3IDQ3MDIuOTYgMzk3OC4yNCA0NzAyLjk2IDM5NzEuOTYgNDY5Ny40MiAzOTcwLjc4IDQ2OTAuMjMgMzk2Ni41MiA0NjgwLjM3IDM5NzYuNDYgNDY3MC42MSAzOTg3LjcxIDQ2NjkuMzhMNDEzOC41NSA0NjUyLjMzQzQxMzkuMjYgNDY1Mi4yMyA0MTM5Ljk3IDQ2NTIuMjMgNDE0MC42OCA0NjUyLjIzIDQxNTEuMjIgNDY1Mi4yMyA0MTYxLjA1IDQ2NjAuMjQgNDE2MS4wNSA0NjY5LjM4TDQxNjEuMDUgNDc5OC45OUM0MTYxLjA1IDQ4MDguODUgNDE1Mi42NCA0ODE2LjE0IDQxNDEuMzkgNDgxNi4xNCA0MTMwLjAzIDQ4MTYuMTQgNDEyMS42MiA0ODA4Ljg1IDQxMjEuNjIgNDc5OC45OUw0MTIxLjYyIDQ3NTkuODZDNDEyMS42MiA0NzUzLjggNDExNy4zNiA0NzQ3LjY0IDQxMTEuNzkgNDc0NS4yOCA0MTEwLjAyIDQ3NDQuOTcgNDEwOC4yNCA0NzQ0Ljc2IDQxMDYuMzUgNDc0NC43NiA0MTAwLjQzIDQ3NDQuNzYgNDA5NC4xNSA0NzQ2LjQxIDQwOTIuMDIgNDc1MC4xIDQwMjcuMTQgNDgyMS4wNyAzOTUxLjAxIDQ4ODMuNDEgMzg2OS4zMSA0OTM4LjQ2IDM4NjIuMjEgNDk0My4yOCAzODYwLjc5IDQ5NTMuMTQgMzg2Ni40NyA0OTU5LjIgMzg3MC4wMiA0OTYzLjEgMzg3NS44MiA0OTY1LjQ3IDM4ODEuMzkgNDk2NS40NyAzODg0LjcgNDk2NS40NyAzODg3Ljc4IDQ5NjQuNjUgMzg5MC4zOSA0OTYyLjkgMzk2MC45NSA0OTE1LjE0IDQwMjguNTYgNDg2MC4yIDQwODcuNzYgNDgwMi42OSA0MDkwLjYgNDgyOC4zNiA0MTEzLjA5IDQ4NDcuOTggNDE0Mi42OSA0ODQ3Ljk4IDQxNzIuNDEgNDg0Ny45OCA0MTk3Ljc1IDQ4MjcuMTMgNDE5Ny43NSA0ODAwLjIyTDQxOTcuNzUgNDY3MC42MUM0MTk0LjkxIDQ2NTcuMTYgNDE4Ny44IDQ2NDQuOTQgNDE3NS4xNCA0NjM2LjQxIDQxNjQuNzIgNDYyOC4zIDQxNTIuMTcgNDYyMy41OCA0MTM5LjUgNDYyMy41OCA0MTM2Ljc3IDQ2MjMuNTggNDEzNC4xNyA0NjIzLjc4IDQxMzEuNDUgNDYyNC4xOUwzOTgwLjYxIDQ2NDAuMTFDMzk1MS4wMSA0NjQzLjcgMzkyOS45MyA0NjY4LjE1IDM5MzQuMDcgNDY5My44MiAzOTM2LjggNDcxNy45NiAzOTYxLjc4IDQ3MzUuNjIgMzk4OS4zNyA0NzM1LjYyIDM5OTEuMTQgNDczNS42MiAzOTkyLjkyIDQ3MzUuNjIgMzk5NC42OSA0NzM1LjQyTDQwMDcuMzYgNDczMi45NUMzODIyLjc4IDQ5MTguODQgMzYwNC4yMiA1MDE0LjI1IDM0NDkuMjMgNTA2MS45IDMzNzYuMjggNTA4NC4zOSAzMzA5LjY2IDUwOTkuMyAzMjU0LjgxIDUxMDkuMTVMMzIyMiA1MTE0LjUgMzIyMiAzODAzLjY0QzMyMjIgMzY4Mi44OSAzMzE5LjkgMzU4NSAzNDQwLjY3IDM1ODVaXCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjQzhDQkYxXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICBkPVwiTTU0MTAuNTUgNTM2NC44M0M1NDA1LjY2IDUzNjQuODMgNTQwMC4yOSA1MzY2LjQgNTM5NS4yNyA1MzY5LjQxIDUzODguMjMgNTM3NS42NSA1Mzg4LjIzIDUzODUuNTIgNTM5NS4yNyA1Mzk0LjI1TDU0MjAuOTMgNTQxNS4yNSA1Mzk1LjI3IDU0MzcuNUM1Mzg4LjIzIDU0NDMuNzMgNTM4OC4yMyA1NDUzLjYxIDUzOTUuMjcgNTQ2Mi4yNCA1Mzk5LjU3IDU0NjQuNzMgNTQwNS4zIDU0NjUuOTggNTQwOS40OCA1NDY1Ljk4IDU0MTUuMiA1NDY1Ljk4IDU0MjAuOTMgNTQ2NC43MyA1NDIzLjY4IDU0NjIuMjRMNTQ0OS4zNCA1NDM5Ljk5IDU0NzMuNDQgNTQ2Mi4yNEM1NDc3Ljc0IDU0NjQuNzMgNTQ4My4zNSA1NDY1Ljk4IDU0ODcuNjQgNTQ2NS45OCA1NDkzLjM3IDU0NjUuOTggNTQ5OC45OCA1NDY0LjczIDU1MDEuODUgNTQ2Mi4yNCA1NTA5LjAxIDU0NTYuMSA1NTA5LjAxIDU0NDQuOTggNTUwMS44NSA1NDM3LjVMNTQ3Ny43NCA1NDE1LjI1IDU1MDEuODUgNTM5NC4yNUM1NTA5LjAxIDUzODguMDIgNTUwOS4wMSA1Mzc2Ljg5IDU1MDEuODUgNTM2OS40MSA1NDk4LjI3IDUzNjYuNCA1NDkzLjczIDUzNjQuODMgNTQ4OC43MiA1MzY0LjgzIDU0ODMuNzEgNTM2NC44MyA1NDc4LjQ2IDUzNjYuNCA1NDczLjQ0IDUzNjkuNDFMNTQ0OS4zNCA1MzkwLjUxIDU0MjMuNjggNTM2OS40MUM1NDIwLjIyIDUzNjYuNCA1NDE1LjU2IDUzNjQuODMgNTQxMC41NSA1MzY0LjgzWk00ODg4LjA4IDUzMjkuOEM0OTE5LjM0IDUzMjkuOCA0OTQ2LjMxIDUzNTMuNCA0OTQ2LjMxIDUzODEuODggNDk0Ni4zMSA1NDA5LjAxIDQ5MTkuMzQgNTQzMi42MSA0ODg4LjA4IDU0MzIuNjEgNDg1NS4zOCA1NDMyLjYxIDQ4MjkuODQgNTQwOS4wMSA0ODI5Ljg0IDUzODEuODggNDgyOS44NCA1MzUzLjQgNDg1NS4zOCA1MzI5LjggNDg4OC4wOCA1MzI5LjhaTTUwNzEuODYgNTEzNy4wOEM1MDY2LjczIDUxMzcuMDggNTA2MS4zNiA1MTM4LjY0IDUwNTcuMTggNTE0MS43NiA1MDUwLjAyIDUxNDcuODkgNTA1MC4wMiA1MTU5LjAxIDUwNTcuMTggNTE2Ni41TDUwODEuMjkgNTE4Ny40OSA1MDU3LjE4IDUyMDkuODRDNTA1MC4wMiA1MjE1Ljk4IDUwNTAuMDIgNTIyNy4xIDUwNTcuMTggNTIzNC41OCA1MDU5LjkzIDUyMzcuMDggNTA2NS42NSA1MjM5LjQ3IDUwNzEuMzggNTIzOS40NyA1MDc1LjU2IDUyMzkuNDcgNTA4MS4yOSA1MjM3LjA4IDUwODUuNTggNTIzNC41OEw1MTA5LjY5IDUyMTIuMjMgNTEzNS4yMyA1MjM0LjU4QzUxMzguMDkgNTIzNy4wOCA1MTQzLjgyIDUyMzkuNDcgNTE0OS40MyA1MjM5LjQ3IDUxNTMuNzMgNTIzOS40NyA1MTU5LjQ2IDUyMzcuMDggNTE2My42MyA1MjM0LjU4IDUxNzAuNzkgNTIyOC4zNSA1MTcwLjc5IDUyMTcuMjIgNTE2My42MyA1MjA5Ljg0TDUxMzguMDkgNTE4Ny40OSA1MTYzLjYzIDUxNjYuNUM1MTcwLjc5IDUxNjAuMjYgNTE3MC43OSA1MTQ5LjE0IDUxNjMuNjMgNTE0MS43NiA1MTYwLjE3IDUxMzguNjQgNTE1NS4xNiA1MTM3LjA4IDUxNTAuMDMgNTEzNy4wOCA1MTQ0LjkgNTEzNy4wOCA1MTM5LjUzIDUxMzguNjQgNTEzNS4yMyA1MTQxLjc2TDUxMDkuNjkgNTE2Mi43NSA1MDg1LjU4IDUxNDEuNzZDNTA4MiA1MTM4LjY0IDUwNzYuOTkgNTEzNy4wOCA1MDcxLjg2IDUxMzcuMDhaTTUzODMuOTQgNTExNS43N0M1MzgzLjk0IDUxMTUuNzcgNTM4MS4wNyA1MTE1Ljc3IDUzODEuMDcgNTExNy4wMkw1MzI5Ljk5IDUxNDAuNTFDNTMyMS40IDUxNDQuMjUgNTMxNS42NyA1MTU0LjEzIDUzMjEuNCA1MTYyLjc2IDUzMjUuNTggNTE2OS4yIDUzMzIuMTQgNTE3Mi44NCA1MzM5Ljc4IDUxNzIuODQgNTM0Mi41MyA1MTcyLjg0IDUzNDUuMzkgNTE3Mi40MiA1MzQ4LjM3IDUxNzEuMzhMNTM2Mi41NyA1MTY1LjI1QzUzMzcuMDMgNTIzOS40NyA1MjkxLjU3IDUyOTUuMTkgNTIyOS4wMyA1MzI5LjggNTE2Ni43NCA1MzY0Ljk0IDUwOTcuMjggNTM3Mi40MiA1MDQ2LjkyIDUzNzIuNDIgNTAyMi42OSA1MzcyLjQyIDUwMDIuNzYgNTM3MC42NiA0OTkwLjM1IDUzNjkuNDEgNDk4My4xOSA1MzI4LjY2IDQ5NDMuNDUgNTI5Ny42OCA0ODk1LjEyIDUyOTcuNjggNDg0MS4xOCA1Mjk3LjY4IDQ3OTcuMTQgNTMzNi4wNCA0Nzk3LjE0IDUzODMuMDMgNDc5Ny4xNCA1NDI4Ljg3IDQ4NDEuMTggNTQ2OC40NyA0ODk1LjEyIDU0NjguNDcgNDk0MC41OSA1NDY4LjQ3IDQ5ODAuNDUgNTQzOS45OSA0OTkwLjM1IDU0MDIuODggNTAwNC41NSA1NDA0LjEzIDUwMjQuNDggNTQwNi42MiA1MDUwLjAyIDU0MDYuNjIgNTEwMy45NiA1NDA2LjYyIDUxODAuNyA1Mzk2LjY0IDUyNTAuMzkgNTM1OC4yOSA1MzE5Ljk3IDUzMTkuOTMgNTM2OS43MyA1MjYwLjU3IDUzOTguMTQgNTE4MC4xMkw1NDAxIDUxODVDNTQwNS4zIDUxOTEuMjQgNTQxMi4zNCA1MTkzLjczIDU0MTkuNSA1MTkzLjczIDU0MjIuMjQgNTE5My43MyA1NDIzLjY4IDUxOTMuNzMgNTQyNy45NyA1MTkyLjQ5IDU0MjkuNCA1MTg3LjUgNTQzMy43IDUxNzcuNjIgNTQyNy45NyA1MTY3Ljc1TDU0MDEgNTEyMy4xNUM1NDAxIDUxMjMuMTUgNTQwMSA1MTIxLjkgNTM5OS41NyA1MTIxLjlMNTM5NS4yNyA1MTE4LjI3IDUzOTMuODQgNTExNy4wMkM1MzkzLjg0IDUxMTcuMDIgNTM5Mi40MSA1MTE3LjAyIDUzOTIuNDEgNTExNS43N1pNNDczMC45IDUwOTAuMDlDNDcyNS42NSA1MDkwLjA5IDQ3MjAuNCA1MDkxLjY1IDQ3MTYuMSA1MDk0LjY3IDQ3MDguOTQgNTEwMC45IDQ3MDguOTQgNTExMi4wMyA0NzE2LjEgNTExOS40MUw0NzQwLjIxIDUxNDEuNzYgNDcxNi4xIDUxNjIuNzVDNDcwOC45NCA1MTY4Ljk5IDQ3MDguOTQgNTE4MC4xMSA0NzE2LjEgNTE4Ny40OSA0NzE4Ljk3IDUxOTEuMjQgNDcyNC41OCA1MTkyLjQ4IDQ3MzAuMzEgNTE5Mi40OCA0NzM0LjYgNTE5Mi40OCA0NzQwLjIxIDUxOTEuMjQgNDc0NC41MSA1MTg3LjQ5TDQ3NjguNzMgNTE2Ni41IDQ3OTQuMjcgNTE4Ny40OUM0Nzk3LjE0IDUxOTEuMjQgNDgwMi43NSA1MTkyLjQ4IDQ4MDguNDcgNTE5Mi40OCA0ODEyLjc3IDUxOTIuNDggNDgxOC4zOCA1MTkxLjI0IDQ4MjIuNjggNTE4Ny40OSA0ODI5Ljg0IDUxODEuMzYgNDgyOS44NCA1MTcxLjM4IDQ4MjIuNjggNTE2Mi43NUw0Nzk3LjE0IDUxNDEuNzYgNDgyMi42OCA1MTE5LjQxQzQ4MjkuODQgNTExMy4yNyA0ODI5Ljg0IDUxMDMuNCA0ODIyLjY4IDUwOTQuNjcgNDgxOS4xIDUwOTEuNjUgNDgxNC4yIDUwOTAuMDkgNDgwOC45NSA1MDkwLjA5IDQ4MDMuODIgNTA5MC4wOSA0Nzk4LjU3IDUwOTEuNjUgNDc5NC4yNyA1MDk0LjY3TDQ3NjguNzMgNTExNy4wMiA0NzQ0LjUxIDUwOTQuNjdDNDc0MC45MyA1MDkxLjY1IDQ3MzYuMDMgNTA5MC4wOSA0NzMwLjkgNTA5MC4wOVpNNTM1Ni45NiA0ODk2LjY0IDU2MTQuMTQgNDg5Ni42NEM1NjUzLjg4IDQ4OTYuNjQgNTY4My43MiA0OTI1LjEzIDU2ODMuNzIgNDk1Ny4zNUw1NjgzLjcyIDU1NzYuMTYgNTY3OS40MiA1NTc2LjE2QzU2NzkuNDIgNTYxMC43OCA1NjQ4LjI3IDU2MzYuNzcgNTYxMS4yOCA1NjM2Ljc3TDQ2MjkuNDEgNTYzNi43NyA0NjE4LjQ0IDU2MDEuNDMgNDYxNi4zOSA1NTgxLjA1IDUyNjQuNTkgNTU4MS4wNUM1Mjc0LjUgNTU4MS4wNSA1Mjg0LjUyIDU1NzMuNjcgNTI4NC41MiA1NTYzLjc5IDUyODQuNTIgNTU1NS4wNiA1Mjc0LjUgNTU0Ni40MyA1MjY0LjU5IDU1NDYuNDNMNDYyMC44NyA1NTQ2LjQzIDQ2MjAuODcgNDk4OC4yMiA0ODQ1LjM1IDQ5ODguMjJDNDg0OS42NSA1MDE0LjIxIDQ4NzUuMzEgNTAzMi44MiA0OTA3Ljg5IDUwMzIuODJMNTI5MyA1MDMyLjgyQzUzMjIuODMgNTAzMi44MiA1MzQ5LjggNTAxMi45NiA1MzU1LjUzIDQ5ODguMjJMNTU3OC41OCA0OTg4LjIyIDU1NzguNTggNTU0Ni40MyA1MzYxLjE0IDU1NDYuNDNDNTM1MS4yNCA1NTQ2LjQzIDUzNDIuNzYgNTU1NS4wNiA1MzQyLjc2IDU1NjMuNzkgNTM0Mi43NiA1NTczLjY3IDUzNTEuMjQgNTU4MS4wNSA1MzYxLjE0IDU1ODEuMDVMNTU5OC41MSA1NTgxLjA1QzU2MDguNDEgNTU4MS4wNSA1NjE3LjAxIDU1NzMuNjcgNTYxNy4wMSA1NTYzLjc5TDU2MTcuMDEgNDk3MC45N0M1NjE3LjAxIDQ5NjIuMjQgNTYwOC40MSA0OTU0Ljg2IDU1OTguNTEgNDk1NC44Nkw1MzU2Ljk2IDQ5NTQuODZaTTQ2MTQgNDg5Ni42NCA0ODQ0LjA0IDQ4OTYuNjQgNDg0NC4wNCA0OTU0Ljg2IDQ2MTQgNDk1NC44NlpNNTA5Ni45MiA0ODc1LjY1QzUxMTUuNDIgNDg3NS42NSA1MTI5LjYyIDQ4ODguMDIgNTEyOS42MiA0OTAyLjg4IDUxMjkuNjIgNDkxOC45OSA1MTE1LjQyIDQ5MzEuMzYgNTA5Ni45MiA0OTMxLjM2IDUwNzkuODYgNDkzMS4zNiA1MDY1LjY2IDQ5MTguOTkgNTA2NS42NiA0OTAyLjg4IDUwNjUuNjYgNDg4OC4wMiA1MDc5Ljg2IDQ4NzUuNjUgNTA5Ni45MiA0ODc1LjY1Wk01MDk2LjkyIDQ4MzkuNzlDNTA1OC41IDQ4MzkuNzkgNTAyNC40OCA0ODY4LjE2IDUwMjQuNDggNDkwMi44OCA1MDI0LjQ4IDQ5MzcuNSA1MDU3LjE4IDQ5NjcuMjMgNTA5Ni45MiA0OTY3LjIzIDUxMzYuNjYgNDk2Ny4yMyA1MTY5LjM2IDQ5MzguNzUgNTE2OS4zNiA0OTAyLjg4IDUxNjcuOTMgNDg2OC4xNiA1MTM2LjY2IDQ4MzkuNzkgNTA5Ni45MiA0ODM5Ljc5Wk01MDU4LjQ5IDQ2OTQuOTggNTEyOS42MiA0Njk0Ljk4QzUxNzAuNzkgNDY5NC45OCA1MjAzLjQ5IDQ3MjMuMzYgNTIwMy40OSA0NzU5LjMzTDUyMDMuNDkgNDc5Ny42OEM1MjAzLjQ5IDQ4MjcuNDEgNTIzMS45IDQ4NTIuMTUgNTI2Ni4wMyA0ODUyLjE1TDUyODQuNTIgNDg1Mi4xNUM1Mjk1Ljg2IDQ4NTIuMTUgNTMwNy4yIDQ4NjIuMDMgNTMwNy4yIDQ4NzEuOUw1MzA3LjIgNDk3OS42QzUzMDcuMiA0OTg5LjQ3IDUyOTUuODYgNDk5OS40NSA1Mjg0LjUyIDQ5OTkuNDVMNDg5Ny45OCA0OTk5LjQ1QzQ4ODYuNjQgNDk5OS40NSA0ODc1LjMxIDQ5ODkuNDcgNDg3NS4zMSA0OTc5LjZMNDg4MC45MSA0ODcxLjlDNDg4MC45MSA0ODYyLjAzIDQ4OTAuODIgNDg1Mi4xNSA0OTAzLjcxIDQ4NTIuMTVMNDkyMi4wOSA0ODUyLjE1QzQ5NTQuNzkgNDg1Mi4xNSA0OTgzLjE5IDQ4MjcuNDEgNDk4My4xOSA0Nzk3LjY4TDQ5ODMuMTkgNDc1OS4zM0M0OTgzLjE5IDQ3MjMuMzYgNTAxNy4zMiA0Njk0Ljk4IDUwNTguNDkgNDY5NC45OFpNNDgzMi42NyAzNTg1IDUxMjIuNjMgMzU4NSA1MTIyLjYzIDM3MjEuOTcgNTQ1OS43MyAzNzIxLjk3IDU0NTkuNzMgNDYzMiA1Njk4LjkyIDQ2MzIgNTY5OC45MiAzNzIxLjk3IDU5MDkuODggMzcyMS45NyA1OTIxLjU2IDM3NTkuNTdDNTkyNC40NyAzNzczLjgxIDU5MjYgMzc4OC41NCA1OTI2IDM4MDMuNjRMNTkyNiA1NTU3LjM2QzU5MjYgNTY3OC4xMSA1ODI4LjEgNTc3NiA1NzA3LjMzIDU3NzZMNDgzMi42NyA1Nzc2QzQ3NTcuMTkgNTc3NiA0NjkwLjY0IDU3MzcuNzYgNDY1MS4zNSA1Njc5LjYxTDQ2NDguMjMgNTY3My44OCA1NjExLjI4IDU2NzMuODhDNTY3MC45NSA1NjczLjg4IDU3MjAuNzEgNTYzMC42MyA1NzIwLjcxIDU1NzcuNDFMNTcyMC43MSA0OTU4LjZDNTcxOS4yOCA0OTA1LjM4IDU2NjkuNTIgNDg2My4yOCA1NjA4LjQxIDQ4NjMuMjhMNTM1MS4yNCA0ODYzLjI4QzUzNDUuNTEgNDgzNy4yOSA1MzIxLjQgNDgxOC42OCA1Mjg4LjcgNDgxOC42OEw1MjcxLjY0IDQ4MTguNjhDNTI1OC44NyA0ODE4LjY4IDUyNDguOTYgNDgwOC44MSA1MjQ4Ljk2IDQ3OTcuNjhMNTI0OC45NiA0NzU5LjMzQzUyNDguOTYgNDcwMy42MSA1MTk2LjMzIDQ2NTkuMDIgNTEzMi40OCA0NjU5LjAyTDUwNjEuMzYgNDY1OS4wMkM0OTk3LjM5IDQ2NTkuMDIgNDk0Ni4zMSA0NzAzLjYxIDQ5NDYuMzEgNDc1OS4zM0w0OTQ2LjMxIDQ3OTcuNjhDNDk0Ni4zMSA0ODA4LjgxIDQ5MzYuMjkgNDgxOC42OCA0OTIzLjUyIDQ4MTguNjhMNDkwNS4xNCA0ODE4LjY4QzQ4NzUuMzEgNDgxOC42OCA0ODQ4LjIxIDQ4MzguNTQgNDg0NC4wNCA0ODYzLjI4TDQ2MTQgNDg2My4yOCA0NjE0IDM4MDMuNjRDNDYxNCAzNjgyLjg5IDQ3MTEuOSAzNTg1IDQ4MzIuNjcgMzU4NVpcIlxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiNFRUY5RkZcIlxuICAgICAgICAgICAgICAgICAgZmlsbFJ1bGU9XCJldmVub2RkXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPHBhdGhcbiAgICAgICAgICAgICAgICAgIGQ9XCJNNzMxLjA5NCA1NjY2LjIzIDg3OS44MDUgNTc3NiA2NTcuNjcxIDU3NzZDNjQyLjU3NSA1Nzc2IDYyNy44MzYgNTc3NC40NyA2MTMuNjAxIDU3NzEuNTZMNTk1LjA5IDU3NjUuODFaTTQ2MS44OTQgNTY1Mi45OCA1NDEuNTM5IDU2NTIuOTggNTI2LjQyNSA1NzI2LjYzIDUyNi43MjEgNTczMS40OSA1MDMuMDQ3IDU3MTEuOTZDNDkzLjE1NSA1NzAyLjA3IDQ4NC4yMDUgNTY5MS4yNCA0NzYuMzQ1IDU2NzkuNjFaTTQzOSA1NTIxLjc5IDU2OC45OTcgNTUyMS43OSA1NDkuNzMxIDU2MTEuNjUgNDQ2LjYxNSA1NjExLjY1IDQ0My40NDMgNTYwMS40M0M0NDAuNTI5IDU1ODcuMTkgNDM5IDU1NzIuNDYgNDM5IDU1NTcuMzZaTTEwNDQuMjEgNTMwMy43MUMxMDM0LjY0IDUzMDMuNzEgMTAyNi40NCA1MzEyLjUgMTAyNi40NCA1MzI0LjM4IDEwMjYuNDQgNTMzNC42NiAxMDM0LjY0IDUzNDQuOTMgMTA0NC4yMSA1MzQ0LjkzTDExNjcuODkgNTM0NC45M0MxMTc4Ljg1IDUzNDQuOTMgMTE4Ny4xNiA1MzM0LjY2IDExODcuMTYgNTMyNC4zOCAxMTg3LjE2IDUzMTIuNSAxMTc4Ljg1IDUzMDMuNzEgMTE2Ny44OSA1MzAzLjcxWk03NTguNTUzIDUxOTQuNjhDNzQ3LjU5MiA1MTk0LjY4IDczOS4yODUgNTIwMy40NiA3MzkuMjg1IDUyMTUuMjIgNzM5LjI4NSA1MjI3LjEgNzQ3LjU5MiA1MjM1Ljg5IDc1OC41NTMgNTIzNS44OUwxMTY3Ljg5IDUyMzUuODlDMTE3OC44NSA1MjM1Ljg5IDExODcuMTYgNTIyNy4xIDExODcuMTYgNTIxNS4yMiAxMTg3LjE2IDUyMDMuNDYgMTE3OC44NSA1MTk0LjY4IDExNjcuODkgNTE5NC42OFpNOTYxLjgzNCA0OTczLjYyQzk1Mi4yNTggNDk3My42MiA5NDMuOTUyIDQ5ODIuNDEgOTQzLjk1MiA0OTk0LjI5IDk0My45NTIgNTAwNi4wNSA5NTIuMjU4IDUwMTQuODQgOTYxLjgzNCA1MDE0Ljg0TDExNjcuODkgNTAxNC44NEMxMTc4Ljg1IDUwMTQuODQgMTE4Ny4xNSA1MDA2LjA1IDExODcuMTUgNDk5NC4yOSAxMTg3LjE1IDQ5ODIuNDEgMTE3OC44NSA0OTczLjYyIDExNjcuODkgNDk3My42MlpNNTUyLjQ5OCA0ODYzLjFDNTQxLjUzOCA0ODYzLjEgNTMzLjIzMSA0ODcxLjg5IDUzMy4yMzEgNDg4My43NyA1MzMuMjMxIDQ4OTUuNTMgNTQxLjUzOCA0OTA0LjMyIDU1Mi40OTggNDkwNC4zMkwxMTY3Ljg5IDQ5MDQuMzJDMTE3OC44NCA0OTA0LjMyIDExODcuMTUgNDg5NS41MyAxMTg3LjE1IDQ4ODMuNzcgMTE4Ny4xNSA0ODcxLjg5IDExNzguODQgNDg2My4xIDExNjcuODkgNDg2My4xWk0xMzUzLjI5IDQ4NjAuMTMgMTM3NS4zMyA0ODYwLjEzQzE0MDkuNzEgNDg2MC4xMyAxNDM5LjgyIDQ4ODkuNTkgMTQzOS44MiA0OTI3Ljk2TDE0MzkuODIgNTU0NS4zMUMxNDM4LjU1IDU1ODIuMTkgMTQwOC4zMiA1NjEzLjEzIDEzNzMuOTQgNTYxMy4xM0wxMDQ2Ljk4IDU2MTMuMTNDMTA0MS41NiA1NjEzLjEzIDEwMzQuNjQgNTYxNy41OSAxMDMwLjQ4IDU2MjAuNTYgMTAyNy44MyA1NjI2LjM3IDEwMjYuNDQgNTYzMi4zMiAxMDI3LjgzIDU2MzYuNzdMMTA1Ny4zNiA1Nzc2IDk0Ni42OTUgNTc3NiA3NjUuNDc1IDU2NDIuNTkgOTMwLjIyNCA1NTIxLjc5IDEyNTEuNjUgNTUyMS43OUMxMzA5LjMzIDU1MjEuNzkgMTM1My4yOSA1NDczLjE1IDEzNTMuMjkgNTQxMi43NVpNNDM5IDQ3MjcuNDUgMTI1MS42NSA0NzI3LjQ1QzEyODYuMDMgNDcyNy40NSAxMzE2LjI2IDQ3NTcuMDQgMTMxNi4yNiA0Nzk1LjI4TDEzMTYuMjYgNTQxMi43NUMxMzE2LjI2IDU0NDkuNjQgMTI4OC44IDU0ODAuNTggMTI1MS42NSA1NDgwLjU4TDkyNC44MDIgNTQ4MC41OEM5MjAuNjQ5IDU0ODAuNTggOTE3Ljg4IDU0ODEuOTQgOTEzLjcyNiA1NDgzLjQyTDU2Ni4yMjkgNTczOC4zOEM1NjMuNDYgNTczOC4zOCA1NjMuNDYgNTczNi45IDU2My40NiA1NzM2LjlMNjE0LjMzOSA1NTA0LjA5QzYxNS43MjMgNTQ5OC4xNSA2MTQuMzM5IDU0OTAuODUgNjEwLjE4NSA1NDg3Ljg4IDYwNi4wMzEgNTQ4MS45NCA2MDEuOTk0IDU0ODAuNTggNTk1LjA3MSA1NDgwLjU4TDQzOSA1NDgwLjU4IDQzOSA1MzQ0LjkzIDk2NC42MDYgNTM0NC45M0M5NzQuMTgyIDUzNDQuOTMgOTgyLjQ4OSA1MzM0LjY2IDk4Mi40ODkgNTMyNC4zOCA5ODIuNDg5IDUzMTIuNSA5NzQuMTgyIDUzMDMuNzEgOTY0LjYwNiA1MzAzLjcxTDQzOSA1MzAzLjcxIDQzOSA1MjM1Ljg5IDYzNC44NzQgNTIzNS44OUM2NDQuNTY1IDUyMzUuODkgNjUyLjc1NiA1MjI3LjEgNjUyLjc1NiA1MjE1LjIyIDY1NS41MjUgNTIwMy40NiA2NDUuOTQ5IDUxOTQuNjggNjM0Ljg3NCA1MTk0LjY4TDQzOSA1MTk0LjY4IDQzOSA1MTI1LjM3IDExNjcuODkgNTEyNS4zN0MxMTc4Ljg1IDUxMjUuMzcgMTE4Ny4xNiA1MTE2LjU4IDExODcuMTYgNTEwNC43IDExODcuMTYgNTA5Mi45NCAxMTc4Ljg1IDUwODQuMTUgMTE2Ny44OSA1MDg0LjE1TDQzOSA1MDg0LjE1IDQzOSA1MDE0Ljg0IDg4Mi4yMyA1MDE0Ljg0Qzg5MS44MDUgNTAxNC44NCA4OTkuOTk3IDUwMDYuMDUgODk5Ljk5NyA0OTk0LjI5IDg5OS45OTcgNDk4Mi40MSA4OTEuODA1IDQ5NzMuNjIgODgyLjIzIDQ5NzMuNjJMNDM5IDQ5NzMuNjIgNDM5IDQ5MDQuMzIgNDcxLjUwOSA0OTA0LjMyQzQ4MS4wODUgNDkwNC4zMiA0OTAuNjYgNDg5NS41MyA0OTAuNjYgNDg4My43NyA0OTAuNjYgNDg3MS44OSA0ODEuMDg1IDQ4NjMuMSA0NzEuNTA5IDQ4NjMuMUw0MzkgNDg2My4xWk0xNTc3LjE2IDM2ODYuNjZDMTY2Ni40NSAzNjg2LjY2IDE3MTQuMzYgMzcxNS41IDE3NDAuODcgMzc1My45OEwxNzQ3LjEyIDM3NjUuMTQgMTc1MSAzODAzLjY0IDE3NTEgMzk4My43NSAxNzA1LjEgMzk2OS42M0MxNjg2Ljk0IDM5NjQuNDkgMTY2Ny44NiAzOTU5LjUxIDE2NDcuNzkgMzk1NC42OSAxNDY4IDM5MTQuNTcgMTQyMS40NSAzODgyLjQ3IDE0MjEuNDUgMzgwNS40MyAxNDIxLjQ1IDM3MjYuNzkgMTQ3OS4yNCAzNjg2LjY2IDE1NzcuMTYgMzY4Ni42NlpNNjU3LjY3MSAzNTg1IDEzMDEuNzIgMzU4NSAxMjgyLjM5IDM1OTkuMTlDMTIxMy41NyAzNjU1Ljc3IDExNzcuNDUgMzczNi40MiAxMTc3LjQ1IDM4MzIuNzIgMTE3Ny40NSAzOTgxLjk4IDEyNTEuMjkgNDA5Mi43MiAxNTUzLjA4IDQxNjMuMzQgMTY0Ny43OSA0MTg1LjAxIDE3MDguMzkgNDIwNS40OCAxNzQ1LjMxIDQyMzEuOTZMMTc1MSA0MjM3LjA5IDE3NTEgNDQzMy4yNiAxNzI2LjgxIDQ0NDcuODFDMTY5OC40MSA0NDYxLjA3IDE2NjAuNjMgNDQ2OC4yOSAxNjEyLjQ3IDQ0NjguMjkgMTQ4NC4wNSA0NDY4LjI5IDE0MDUuNCA0NDE4LjU0IDEzNzkuNzEgNDMwNy43OUwxMTM4LjkyIDQzMDcuNzlDMTE2NC42MSA0NTEwLjAyIDEzMTMuOSA0NjQ4LjA1IDE1OTQuODIgNDY0OC4wNSAxNjQ5LjYgNDY0OC4wNSAxNjk5LjQ3IDQ2NDMuMTQgMTc0NC4zNCA0NjMzLjg0TDE3NTEgNDYzMi4xOSAxNzUxIDU1NTcuMzZDMTc1MSA1Njc4LjExIDE2NTMuMSA1Nzc2IDE1MzIuMzMgNTc3NkwxMDk2LjYyIDU3NzYgMTA3MC40IDU2NTIuOTggMTM3My45NCA1NjUyLjk4QzE0MzAuMjQgNTY1Mi45OCAxNDc1LjU4IDU2MDUuODMgMTQ3NS41OCA1NTQ1LjMxTDE0NzUuNTggNDkyNy45NkMxNDc1LjU4IDQ4NjguOTIgMTQyOC44NiA0ODE4LjkyIDEzNzMuOTQgNDgxOC45MkwxMzUxLjkxIDQ4MTguOTIgMTM1MS45MSA0Nzk1LjI4QzEzNTEuOTEgNDczNC44OCAxMzA3Ljk1IDQ2ODYuMjQgMTI1MC4yNiA0Njg2LjI0TDQzOSA0Njg2LjI0IDQzOSAzODAzLjY0QzQzOSAzNjgyLjg5IDUzNi45MDIgMzU4NSA2NTcuNjcxIDM1ODVaXCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjQkY2M0I3XCJcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICBkPVwiTTI2MTIuNjggNTQ4My4zMUMyNjAzLjAyIDU0ODMuMzEgMjU5NC41OCA1NDkwLjUgMjU5NC41OCA1NTAxLjE5IDI1OTQuNTggNTUxMC42OCAyNjAxLjggNTUxNy44OCAyNjEyLjY4IDU1MTcuODhMMjcyNC4xMiA1NTE3Ljg4QzI3MzMuNzggNTUxNy44OCAyNzQyLjIyIDU1MTAuNjggMjc0Mi4yMiA1NTAxLjE5IDI3NDIuMjIgNTQ5MC41IDI3MzMuNzggNTQ4My4zMSAyNzI0LjEyIDU0ODMuMzFaTTIzNTAuMDMgNTQ4My4zMUMyMzQxLjQ5IDU0ODMuMzEgMjMzMS44MyA1NDkwLjUgMjMzMS44MyA1NTAxLjE5IDIzMzEuODMgNTUxMC42OCAyMzQwLjI2IDU1MTcuODggMjM1MC4wMyA1NTE3Ljg4TDI0NjIuNTkgNTUxNy44OEMyNDcxLjAzIDU1MTcuODggMjQ4MC42OSA1NTEwLjY4IDI0ODAuNjkgNTUwMS4xOSAyNDgwLjY5IDU0OTAuNSAyNDczLjQ3IDU0ODMuMzEgMjQ2Mi41OSA1NDgzLjMxWk0yMDg5LjcyIDU0ODMuMzFDMjA4MS4xNyA1NDgzLjMxIDIwNzEuNTEgNTQ5MC41IDIwNzEuNTEgNTUwMS4xOSAyMDcxLjUxIDU1MTAuNjggMjA3OS45NSA1NTE3Ljg4IDIwODkuNzIgNTUxNy44OEwyMjAyLjI4IDU1MTcuODhDMjIxMC43MiA1NTE3Ljg4IDIyMjAuNDggNTUxMC42OCAyMjIwLjQ4IDU1MDEuMTkgMjIyMC40OCA1NDkwLjUgMjIxMS45NCA1NDgzLjMxIDIyMDIuMjggNTQ4My4zMVpNMjYxMi42OCA1MzM1Ljg0QzI2MDMuMDIgNTMzNS44NCAyNTk0LjU4IDUzNDIuOTQgMjU5NC41OCA1MzUzLjYzIDI1OTQuNTggNTM2NC40MiAyNjAxLjggNTM3MS41MSAyNjEyLjY4IDUzNzEuNTFMMjcyNC4xMiA1MzcxLjUxQzI3MzMuNzggNTM3MS41MSAyNzQyLjIyIDUzNjQuNDIgMjc0Mi4yMiA1MzUzLjYzIDI3NDIuMjIgNTM0Mi45NCAyNzMzLjc4IDUzMzUuODQgMjcyNC4xMiA1MzM1Ljg0Wk0yMDg5LjcyIDUzMzUuODRDMjA4MS4xNyA1MzM1Ljg0IDIwNzEuNTEgNTM0Mi45NCAyMDcxLjUxIDUzNTMuNjMgMjA3MS41MSA1MzY0LjQyIDIwNzkuOTUgNTM3MS41MSAyMDg5LjcyIDUzNzEuNTFMMjIwMi4yOCA1MzcxLjUxQzIyMTAuNzIgNTM3MS41MSAyMjIwLjQ4IDUzNjQuNDIgMjIyMC40OCA1MzUzLjYzIDIyMjAuNDggNTM0Mi45NCAyMjExLjk0IDUzMzUuODQgMjIwMi4yOCA1MzM1Ljg0Wk0yNDYyLjA4IDUyOTguNjhDMjQ1Ny43MSA1Mjk4LjY4IDI0NTMuNDQgNTMwMC43OCAyNDUwLjQ5IDUzMDQuODdMMjM4OC43NyA1MzY1LjYyIDIzNjMuMjUgNTM0MC42NEMyMzU5LjA4IDUzMzYuNDQgMjM1NC41IDUzMzQuMzUgMjM1MC4yMyA1MzM0LjM1IDIzNDYuMDYgNTMzNC4zNSAyMzQyLjEgNTMzNi40NCAyMzM5LjA1IDUzNDAuNjQgMjMzMC42MSA1MzQ3LjczIDIzMzAuNjEgNTM1OC40MiAyMzM5LjA1IDUzNjQuNDJMMjM3Ni41NyA1NDAxLjI4QzIzNzkuMDEgNTQwMy42OCAyMzgzLjg5IDU0MDUuOTggMjM4OC43NyA1NDA1Ljk4IDIzOTMuNTUgNTQwNS45OCAyMzk3LjIxIDU0MDMuNjggMjQwMC44NyA1NDAxLjI4TDI0NzQuNjkgNTMyOC42NUMyNDgxLjkxIDUzMjIuNzYgMjQ4MS45MSA1MzEwLjg3IDI0NzQuNjkgNTMwNC44NyAyNDcxLjAzIDUzMDAuNzggMjQ2Ni40NiA1Mjk4LjY4IDI0NjIuMDggNTI5OC42OFpNMjM1MC4wMyA1MTg5LjQ4QzIzNDEuNDkgNTE4OS40OCAyMzMxLjgzIDUxOTcuODcgMjMzMS44MyA1MjA3LjM2IDIzMzEuODMgNTIxOC4wNSAyMzQwLjI2IDUyMjUuMjUgMjM1MC4wMyA1MjI1LjI1TDI0NjIuNTkgNTIyNS4yNUMyNDcxLjAzIDUyMjUuMjUgMjQ4MC42OSA1MjE4LjA1IDI0ODAuNjkgNTIwNy4zNiAyNDgwLjY5IDUxOTcuODcgMjQ3My40NyA1MTg5LjQ4IDI0NjIuNTkgNTE4OS40OFpNMjcyMy42MSA1MTUyLjAxQzI3MTkuMjQgNTE1Mi4wMSAyNzE0Ljk3IDUxNTMuODEgMjcxMS45MiA1MTU3LjQxTDI2NTAuMiA1MjE4LjA1IDI2MjQuNzggNTE5My4wN0MyNjIxLjIyIDUxODkuNDggMjYxNi42NCA1MTg3Ljc4IDI2MTIuMjcgNTE4Ny43OCAyNjA3LjkgNTE4Ny43OCAyNjAzLjYzIDUxODkuNDggMjYwMC41OCA1MTkzLjA3IDI1OTMuMzYgNTIwMC4yNyAyNTkzLjM2IDUyMTAuOTYgMjYwMC41OCA1MjE2Ljg1TDI2MzguMSA1MjUzLjcyQzI2NDEuNzYgNTI1Ny4zMiAyNjQ1LjQyIDUyNTguNTEgMjY1MC4yIDUyNTguNTEgMjY1NS4wOCA1MjU4LjUxIDI2NTkuOTYgNTI1Ny4zMiAyNjYyLjMgNTI1My43MkwyNzM2LjIyIDUxODEuMThDMjc0NC42NiA1MTc1LjI5IDI3NDQuNjYgNTE2NC41IDI3MzYuMjIgNTE1Ny40MSAyNzMyLjU2IDUxNTMuODEgMjcyNy45OSA1MTUyLjAxIDI3MjMuNjEgNTE1Mi4wMVpNMjIwMS43NyA1MTUyLjAxQzIxOTcuNCA1MTUyLjAxIDIxOTMuMjMgNTE1My44MSAyMTkwLjE4IDUxNTcuNDFMMjEyOC40NiA1MjE4LjA1IDIxMDMuMDQgNTE5My4wN0MyMDk4Ljc2IDUxODkuNDggMjA5NC4xOSA1MTg3Ljc4IDIwOTAuMDIgNTE4Ny43OCAyMDg1Ljc1IDUxODcuNzggMjA4MS43OCA1MTg5LjQ4IDIwNzguODMgNTE5My4wNyAyMDcwLjI5IDUyMDAuMjcgMjA3MC4yOSA1MjEwLjk2IDIwNzguODMgNTIxNi44NUwyMTE2LjM2IDUyNTMuNzJDMjExOC43IDUyNTcuMzIgMjEyMy41OCA1MjU4LjUxIDIxMjguNDYgNTI1OC41MSAyMTMzLjI0IDUyNTguNTEgMjEzNi45IDUyNTcuMzIgMjE0MC41NiA1MjUzLjcyTDIyMTQuMzggNTE4MS4xOEMyMjIwLjQ4IDUxNzUuMjkgMjIyMC40OCA1MTY0LjUgMjIxNC4zOCA1MTU3LjQxIDIyMTAuNzIgNTE1My44MSAyMjA2LjI1IDUxNTIuMDEgMjIwMS43NyA1MTUyLjAxWk0yNjEyLjY4IDUwNDMuMjFDMjYwMy4wMiA1MDQzLjIxIDI1OTQuNTggNTA1MC4zIDI1OTQuNTggNTA2MS4wOSAyNTk0LjU4IDUwNzAuNTggMjYwMS44IDUwNzguODggMjYxMi42OCA1MDc4Ljg4TDI3MjQuMTIgNTA3OC44OEMyNzMzLjc4IDUwNzguODggMjc0Mi4yMiA1MDcwLjU4IDI3NDIuMjIgNTA2MS4wOSAyNzQyLjIyIDUwNTAuMyAyNzMzLjc4IDUwNDMuMjEgMjcyNC4xMiA1MDQzLjIxWk0yMDg5LjcyIDUwNDMuMjFDMjA4MS4xNyA1MDQzLjIxIDIwNzEuNTEgNTA1MC4zIDIwNzEuNTEgNTA2MS4wOSAyMDcxLjUxIDUwNzAuNTggMjA3OS45NSA1MDc4Ljg4IDIwODkuNzIgNTA3OC44OEwyMjAyLjI4IDUwNzguODhDMjIxMC43MiA1MDc4Ljg4IDIyMjAuNDggNTA3MC41OCAyMjIwLjQ4IDUwNjEuMDkgMjIyMC40OCA1MDUwLjMgMjIxMS45NCA1MDQzLjIxIDIyMDIuMjggNTA0My4yMVpNMjQ2Mi4wOCA1MDA1Ljc1QzI0NTcuNzEgNTAwNS43NSAyNDUzLjQ0IDUwMDcuNTQgMjQ1MC40OSA1MDExLjA0TDIzODguNzcgNTA3Mi45OCAyMzYzLjI1IDUwNDYuODFDMjM1OS4wOCA1MDQzLjIxIDIzNTQuNSA1MDQxLjQxIDIzNTAuMjMgNTA0MS40MSAyMzQ2LjA2IDUwNDEuNDEgMjM0Mi4xIDUwNDMuMjEgMjMzOS4wNSA1MDQ2LjgxIDIzMzAuNjEgNTA1NS4xIDIzMzAuNjEgNTA2NC41OSAyMzM5LjA1IDUwNzAuNTlMMjM3Ni41NyA1MTA4LjY1QzIzNzkuMDEgNTExMS4wNSAyMzgzLjg5IDUxMTIuMjUgMjM4OC43NyA1MTEyLjI1IDIzOTMuNTUgNTExMi4yNSAyMzk3LjIxIDUxMTEuMDUgMjQwMC44NyA1MTA4LjY1TDI0NzQuNjkgNTAzNC45MkMyNDgxLjkxIDUwMjcuNzMgMjQ4MS45MSA1MDE3LjAzIDI0NzQuNjkgNTAxMS4wNCAyNDcxLjAzIDUwMDcuNTQgMjQ2Ni40NiA1MDA1Ljc1IDI0NjIuMDggNTAwNS43NVpNMTkwMy4yMyA0ODIzLjExIDI2NTEuNDIgNDgyMy4xMSAyNjUxLjQyIDQ4MjQuMzFDMjY1MS40MiA0ODQzLjM5IDI2NjguNCA0ODU5Ljk3IDI2ODcuNzIgNDg1OS45N0wyNzI2LjQ3IDQ4NTkuOTdDMjc0NS44OSA0ODU5Ljk3IDI3NjIuODcgNDg0My4zOSAyNzYyLjg3IDQ4MjQuMzFMMjc2Mi44NyA0ODIzLjExIDI4MDAuMzkgNDgyMy4xMUMyODIwLjkzIDQ4MjMuMTEgMjgzNy45MSA0ODM4LjU5IDI4MzcuOTEgNDg1OS45N0wyODM3LjkxIDU1OTIuODFDMjgzNy45MSA1NjExLjc5IDI4MTkuNzEgNTYyOS42OCAyNzk5LjE3IDU2MjkuNjhMMTg0My4yMSA1NjI5LjY4IDE4MzQuNDQgNTYwMS40M0MxODMxLjUzIDU1ODcuMTkgMTgzMCA1NTcyLjQ2IDE4MzAgNTU1Ny4zNkwxODMwIDU1MjQuMzYgMTg1NC44MyA1NTQ4Ljc1QzE4NTcuMjcgNTU1MS4xNSAxODYyLjA1IDU1NTIuMzUgMTg2Ni45MyA1NTUyLjM1IDE4NzAuNTkgNTU1Mi4zNSAxODc1LjM3IDU1NTEuMTUgMTg3OS4wMyA1NTQ4Ljc1TDE5NTIuODUgNTQ3NS4wMkMxOTYwLjE3IDU0NjcuODMgMTk2MC4xNyA1NDU3LjEzIDE5NTIuODUgNTQ1MS4yNCAxOTQ4LjY4IDU0NDcuNjQgMTk0NC4xMSA1NDQ1Ljg0IDE5MzkuODQgNTQ0NS44NCAxOTM1LjY3IDU0NDUuODQgMTkzMS43IDU0NDcuNjQgMTkyOC42NSA1NDUxLjI0TDE4NjYuOTMgNTUxMy4wOCAxODQwLjI5IDU0ODYuOTEgMTgzMCA1NDgyLjUxIDE4MzAgNTM3MS41MSAxOTQwLjc1IDUzNzEuNTFDMTk0OS4yOSA1MzcxLjUxIDE5NTguOTUgNTM2NC40MiAxOTU4Ljk1IDUzNTMuNjMgMTk1OC45NSA1MzQyLjk0IDE5NDkuMjkgNTMzNS44NCAxOTQwLjc1IDUzMzUuODRMMTgzMCA1MzM1Ljg0IDE4MzAgNTIyNS4yNSAxOTQwLjc1IDUyMjUuMjVDMTk0OS4yOSA1MjI1LjI1IDE5NTguOTUgNTIxOC4wNSAxOTU4Ljk1IDUyMDcuMzYgMTk1OC45NSA1MTk3Ljg3IDE5NDkuMjkgNTE4OS40OCAxOTQwLjc1IDUxODkuNDhMMTgzMCA1MTg5LjQ4IDE4MzAgNTA3OC44OCAxOTQwLjc1IDUwNzguODhDMTk0OS4yOSA1MDc4Ljg4IDE5NTguOTUgNTA3MC41OCAxOTU4Ljk1IDUwNjEuMDkgMTk1OC45NSA1MDUwLjMgMTk0OS4yOSA1MDQzLjIxIDE5NDAuNzUgNTA0My4yMUwxODMwIDUwNDMuMjEgMTgzMCA0OTMxLjQxIDI3ODAuOTcgNDkzMS40MUMyNzg5LjQgNDkzMS40MSAyNzk5LjE3IDQ5MjMuMDIgMjc5OS4xNyA0OTEzLjUyIDI3OTkuMTcgNDkwMi44MyAyNzg5LjQgNDg5NS43NCAyNzgwLjk3IDQ4OTUuNzRMMTgzMCA0ODk1Ljc0IDE4MzAgNDg1OS45NyAxODY2LjkzIDQ4NTkuOTdDMTg4Ni4yNSA0ODU5Ljk3IDE5MDMuMjMgNDg0My4zOSAxOTAzLjIzIDQ4MjQuMzFaTTI3MjIuOTEgNDc0Ni45OEMyNzIyLjkxIDQ3NDYuOTggMjcyNC4xMyA0NzQ2Ljk4IDI3MjQuMTMgNDc0OC4xN0wyNzI0LjEzIDQ4MjAuNzFDMjcyNC4xMyA0ODIwLjcxIDI3MjQuMTMgNDgyMy4xMSAyNzIyLjkxIDQ4MjMuMTFMMjY4NS4zOSA0ODIzLjExQzI2ODUuMzkgNDgyMy4xMSAyNjg0LjE2IDQ4MjMuMTEgMjY4NC4xNiA0ODIwLjcxTDI2ODQuMTYgNDc0OC4xNyAyNjg1LjM5IDQ3NDguMTdaTTE4NjQuNDkgNDc0Ni45OEMxODY0LjQ5IDQ3NDYuOTggMTg2NS43MSA0NzQ2Ljk4IDE4NjUuNzEgNDc0OC4xN0wxODY1LjcxIDQ4MjAuNzFDMTg2NS43MSA0ODIwLjcxIDE4NjUuNzEgNDgyMy4xMSAxODY0LjQ5IDQ4MjMuMTFMMTgzMCA0ODIzLjExIDE4MzAgNDc0OC4wOFpNMzExMS4wOCAzNjkzLjIyIDMxMjQuODIgMzcxOC41M0MzMTM1Ljg4IDM3NDQuNjkgMzE0MiAzNzczLjQ1IDMxNDIgMzgwMy42NEwzMTQyIDM4MTIuODcgMzExMy45NiAzNzA0LjIyWk0yNDgzLjgyIDM1ODUgMjgyOS40NCAzNTg1IDI4MjEuNjcgMzYxNi40OUMyNzU3LjQ5IDM4NzEuNDkgMjY3MC41OSA0MTg4LjcgMjYzNC4wNyA0MzY3LjA2TDI2MzIuNDYgNDM2Ny4wNkMyNjIwLjQyIDQyNTIuNyAyNTc4Ljc1IDQwNDYuNjYgMjQ4Ny42MiAzNjAzLjQ1Wk0yMDQ4LjY3IDM1ODUgMjIzMi4yNCAzNTg1IDI0OTYuMDEgNDYxNy40NCAyNzQzLjIyIDQ2MTcuNDRDMjgwMi42MiA0Mzk0LjM0IDI5MDIuMTQgNDAyMS45OSAyOTQyLjI3IDM4MjQuNTdMMjk0My44OCAzODI0LjU3QzI5ODIuNDEgNDAxMy45NiAzMDgwLjMzIDQzNzEuODcgMzEzOC4xMiA0NjE3LjQ0TDMxNDIgNDYxNy40NCAzMTQyIDU1NTcuMzZDMzE0MiA1Njc4LjExIDMwNDQuMSA1Nzc2IDI5MjMuMzMgNTc3NkwyMDQ4LjY3IDU3NzZDMTk3My4xOSA1Nzc2IDE5MDYuNjQgNTczNy43NiAxODY3LjM1IDU2NzkuNjFMMTg1OC45NSA1NjY0LjE1IDI3OTcuOTUgNTY2NC4xNUMyODM5LjEzIDU2NjQuMTUgMjg3Mi45OSA1NjMyLjA3IDI4NzIuOTkgNTU5MS42MUwyODcyLjk5IDQ4NTguNzdDMjg3Mi45OSA0ODE4LjQxIDI4MzkuMTMgNDc4NS4wNCAyNzk5LjE3IDQ3ODUuMDRMMjc2MC40MyA0Nzg1LjA0IDI3NjAuNDMgNDc0OC4xN0MyNzYwLjQzIDQ3MjkuMTkgMjc0NC42NyA0NzEyLjUxIDI3MjQuMTMgNDcxMi41MUwyNjg2LjUgNDcxMi41MUMyNjY3LjE4IDQ3MTIuNTEgMjY1MC4yIDQ3MjkuMTkgMjY1MC4yIDQ3NDguMTdMMjY1MC4yIDQ3ODUuMDQgMTkwMC43OSA0Nzg1LjA0IDE5MDAuNzkgNDc0OC4xN0MxOTAwLjc5IDQ3MjkuMTkgMTg4My45MSA0NzEyLjUxIDE4NjQuNDkgNDcxMi41MUwxODMwIDQ3MTIuNTEgMTgzMCAzODAzLjY0QzE4MzAgMzY4Mi44OSAxOTI3LjkgMzU4NSAyMDQ4LjY3IDM1ODVaXCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjQzdBMENFXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICBkPVwiTTE1NzcuMTUgMzY4Ni42M0MxNjY2LjQ0IDM2ODYuNjMgMTcxNC4zNSAzNzE1LjU0IDE3NDAuODYgMzc1NC4xMkwxNzUxIDM3NzIuMjcgMTc1MSAzNzgzLjg5QzE3NTEgMzg0OS4xMiAxNjk4LjI1IDM5MDIgMTYzMy4xNyAzOTAyTDE0ODEuMTUgMzkwMiAxNDY3LjE5IDM4OTQuNDFDMTQzMy4wOCAzODcxLjY4IDE0MjEuNDQgMzg0NC4zMyAxNDIxLjQ0IDM4MDUuNzEgMTQyMS40NCAzNzI2Ljg2IDE0NzkuMjMgMzY4Ni42MyAxNTc3LjE1IDM2ODYuNjNaTTU1Ni44MjcgMzU3OSAxMzEyLjc0IDM1NzkgMTI4Mi4zOSAzNTk4LjkzQzEyMTMuNTYgMzY1NS42NSAxMTc3LjQ0IDM3MzYuNTEgMTE3Ny40NCAzODMzLjA2IDExNzcuNDQgMzg1MS43NyAxMTc4LjYgMzg2OS44NyAxMTgxLjIgMzg4Ny4zN0wxMTg0LjgxIDM5MDIgNTU2LjgyNyAzOTAyQzQ5MS43NTMgMzkwMiA0MzkgMzg0OS4xMiA0MzkgMzc4My44OUw0MzkgMzY5Ny4xMUM0MzkgMzYzMS44OCA0OTEuNzUzIDM1NzkgNTU2LjgyNyAzNTc5WlwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwiI0JGNjNCN1wiXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezEyOH1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNzExLjc0OCAzNzc2KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiU1RSRU5HVEhTXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICBkPVwiTTI5NDIuMjcgMzg0Mi41MSAyOTQzLjg4IDM4NDIuNTFDMjk0Ni4yOSAzODU0LjM2IDI5NDguOTMgMzg2Ni44NyAyOTUxLjc4IDM4NzkuOTZMMjk1Ni4yNCAzOTAwIDI5MjkuOTkgMzkwMCAyOTM0LjA4IDM4ODEuNTNDMjkzNy4wMyAzODY3Ljg5IDI5MzkuNzcgMzg1NC44NiAyOTQyLjI3IDM4NDIuNTFaTTMwNzguMiAzNTg2LjgzIDMwNzkuMDggMzU4Ny4xQzMxMTYuMDYgMzYwMi43NSAzMTQyIDM2MzkuMzggMzE0MiAzNjgyLjA4TDMxNDIgMzc5Ni45MiAzMTM4LjE2IDM4MTUuOTMgMzExMy45NiAzNzIyLjA3QzMxMDQuNDIgMzY4NS40NiAzMDk1LjIxIDM2NTAuNTIgMzA4Ni41OCAzNjE4LjFaTTI0NzguOTQgMzU3OSAyODM1LjQ0IDM1NzkgMjgzNS4wNCAzNTgwLjYxQzI4MTMuNDIgMzY2OC4yMSAyNzg4LjIzIDM3NjUuNTggMjc2Mi44IDM4NjMuNTdMMjc1My4zNSAzOTAwIDI1NDQuNjMgMzkwMCAyNTM2LjUyIDM4NjAuMDNDMjUyMi4wOSAzNzg5LjE0IDI1MDUuODUgMzcwOS45MiAyNDg3LjYyIDM2MjEuMjFaTTE5MzMuMDIgMzU3OSAyMjI2LjE4IDM1NzkgMjMwOC4xMiAzOTAwIDE5MzMuMDIgMzkwMEMxODc2LjEyIDM5MDAgMTgzMCAzODUzLjg1IDE4MzAgMzc5Ni45MkwxODMwIDM2ODIuMDhDMTgzMCAzNjI1LjE1IDE4NzYuMTIgMzU3OSAxOTMzLjAyIDM1NzlaXCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjQzdBMENFXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTI4fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAyMTI5LjIxIDM3NzYpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJXRUFLTkVTU1wifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgICAgICAgZD1cIk00MzgzLjUxIDM3MDcuNDdDNDQzNC44OCAzNzA3LjQ3IDQ0NzguODIgMzcxNy42OCA0NTE1Ljg0IDM3MzYuMjhMNDUzNCAzNzQ2LjkxIDQ1MzQgMzgxOS42NEM0NTM0IDM4NzcuODMgNDQ4Ni43MyAzOTI1IDQ0MjguNDIgMzkyNUw0MTEzLjggMzkyNSA0MTM0LjE4IDM4NjUuMDFDNDE3Ny4yMSAzNzY3LjU1IDQyNTguMSAzNzA3LjQ3IDQzODMuNTEgMzcwNy40N1pNMzMyNy41OCAzNTgxIDQxMTQuMTIgMzU4MSA0MDcwIDM2MDguNTlDMzk3MC4xNCAzNjc4Ljg5IDM5MDEuNzcgMzc4NCAzODY5Ljc0IDM5MDkuNDJMMzg2Ni40OSAzOTI1IDMzMjcuNTggMzkyNUMzMjY5LjI3IDM5MjUgMzIyMiAzODc3LjgzIDMyMjIgMzgxOS42NEwzMjIyIDM2ODYuMzZDMzIyMiAzNjI4LjE3IDMyNjkuMjcgMzU4MSAzMzI3LjU4IDM1ODFaXCJcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjQzhDQkYxXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxSdWxlPVwiZXZlbm9kZFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTI4fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAzMzYzLjMzIDM3ODkpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJPUFBPUlRVTklUSUVTXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgICAgICBkPVwiTTU2OTguOTIgMzcyMS45OCA1OTI2IDM3MjEuOTggNTkyNiAzODM0Ljk3QzU5MjYgMzg4NC42OSA1ODg1LjYxIDM5MjUgNTgzNS43OCAzOTI1TDU2OTguOTIgMzkyNVpNNDcwNC4yMiAzNTgxIDUxMjIuNjMgMzU4MSA1MTIyLjYzIDM3MjEuOTggNTQ1OS43MyAzNzIxLjk4IDU0NTkuNzMgMzkyNSA0NzA0LjIyIDM5MjVDNDY1NC4zOSAzOTI1IDQ2MTQgMzg4NC42OSA0NjE0IDM4MzQuOTdMNDYxNCAzNjcxLjAzQzQ2MTQgMzYyMS4zMSA0NjU0LjM5IDM1ODEgNDcwNC4yMiAzNTgxWlwiXG4gICAgICAgICAgICAgICAgICBmaWxsPVwiI0VFRjlGRlwiXG4gICAgICAgICAgICAgICAgICBmaWxsUnVsZT1cImV2ZW5vZGRcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezEyOH1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNDk3OS44OCAzNzg5KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiVEhSRUFUU1wifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNjQ5LjU1NCA0OTU5KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiUHJlQ3lzZVwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMTE0Mi44MyA0OTU5KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widXRcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDEyNTYuMjcgNDk1OSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImlcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDEyODguOTMgNDk1OSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImxpemVzXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA1NDkuODY2IDUxMDIpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJub3ZlbCB0ZWNobm9sb2d5IHRvIFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNTU2LjE2OCA1MjQ1KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiY3VyZSBnZW5lIG11dGF0aW9uIFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNjQwLjY4NSA1Mzg4KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wib2YgY3lzdGljIGZpYnJvc2lzXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAxOTgxLjA2IDQ5NTMpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJHZW5lIFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMjMwMS4zMiA0OTUzKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiZWRpdGluZ1wifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMjcxNy44MyA0OTUzKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wibmVlZFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMTkzOS41NCA1MDk2KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiY29udGVyYWN0XCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAyNTAyLjcxIDUwOTYpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJvZmZcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDI2NDkuOTUgNTA5NilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcIi1cIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDI2OTUuNzkgNTA5NilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcInRhcmdldCBcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDIwMjEuNzQgNTIzOSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImVmZmVjdHNcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDI0MjkuMDggNTIzOSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcIiYgXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAyNTUxLjExIDUyMzkpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJyZXF1aXJlXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAyMDEzLjQ0IDUzODIpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJzYWZldHlcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDIzODAuMTEgNTM4MilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImV2YWx1YXRpb25cIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDMzNzkuOSA0OTQ5KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiVGVjaG5vbG9neSBcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQwNTQuMjMgNDk0OSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcIm1pZ2h0XCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSAzMzA2IDUwOTIpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJlbmFibGVcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDM3MDcuNjEgNTA5MilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImRpcmVjdGlvbnNcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQyOTQuODUgNTA5MilcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImZvclwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMzM0MS4yMiA1MjM1KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1widHJlYXRtZW50c1wifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMzk4MS4xNyA1MjM1KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wib2ZcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQxMTguMSA1MjM1KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wib3RoZXJcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDM0MTMuNzEgNTM3OClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImdlbmV0aWNcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDM4NTYgNTM3OClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImRpc2Vhc2VzXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA0ODMwIDQ5NDkpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJSZXF1aXJtZW50c1wifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNTU2OS42NCA0OTQ5KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wib24gXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA0NzAyLjgyIDUwOTIpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJyZWd1bGF0b3J5XCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA1Mjc3LjQ1IDUwOTIpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCIsIFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNTMzOC4xOCA1MDkyKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiZXRoaWNhbFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNTc0My4yMyA1MDkyKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiJiBcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDAwMDAwXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezcwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXsxMTl9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQ3NDguNjUgNTIzNSlcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImxlZ2FsIFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNTA0NS45OSA1MjM1KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wicmVxdWlyZW1lbnRzXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzAwMDAwMFwiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs3MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17MTE5fVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA0ODMwLjg1IDUzNzgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJvZmZlclwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDAwMDBcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NzAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezExOX1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgNTExOS42IDUzNzgpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJsaW1pdGF0aW9uc1wifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NDAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezkyfVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA2MjMuNDU3IDQzNjEpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJJbnRlcm5hbCBwb3NpdGl2ZSBmYWN0b3JzIFwifVxuICAgICAgICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgICAgICAgZmlsbD1cIiMzMjIzMkNcIlxuICAgICAgICAgICAgICAgICAgZmlsbE9wYWNpdHk9ezF9XG4gICAgICAgICAgICAgICAgICBmb250RmFtaWx5PVwiQWN1bWluIFBybyxBY3VtaW4gUHJvX01TRm9udFNlcnZpY2Usc2Fucy1zZXJpZlwiXG4gICAgICAgICAgICAgICAgICBmb250U3R5bGU9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFZhcmlhbnQ9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFdlaWdodD17NDAwfVxuICAgICAgICAgICAgICAgICAgZm9udFN0cmV0Y2g9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgZm9udFNpemU9ezkyfVxuICAgICAgICAgICAgICAgICAgdGV4dEFuY2hvcj1cInN0YXJ0XCJcbiAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbj1cImx0clwiXG4gICAgICAgICAgICAgICAgICB3cml0aW5nTW9kZT1cImxyLXRiXCJcbiAgICAgICAgICAgICAgICAgIHVuaWNvZGVCaWRpPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSAwIDAgMSA2OTkuMDgyIDQ0NzEpXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7XCJwcm92aWRlIGFkdmFudGFnZXNcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezQwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXs5Mn1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMTk5OC41MiA0MzYwKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiSW50ZXJuYWwgbmVnYXRpdmUgZmFjdG9ycyBcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezQwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXs5Mn1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMjA1My43OSA0NDcwKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wicHJvdmlkZSBkaXNhZHZhbnRhZ2VcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezQwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXs5Mn1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMzM5Ny4zNSA0MzYwKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiRXh0ZXJuYWwgcG9zaXRpdmUgZmFjdG9ycyBcIn1cbiAgICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMzIyMzJDXCJcbiAgICAgICAgICAgICAgICAgIGZpbGxPcGFjaXR5PXsxfVxuICAgICAgICAgICAgICAgICAgZm9udEZhbWlseT1cIkFjdW1pbiBQcm8sQWN1bWluIFByb19NU0ZvbnRTZXJ2aWNlLHNhbnMtc2VyaWZcIlxuICAgICAgICAgICAgICAgICAgZm9udFN0eWxlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRWYXJpYW50PVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ9ezQwMH1cbiAgICAgICAgICAgICAgICAgIGZvbnRTdHJldGNoPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplPXs5Mn1cbiAgICAgICAgICAgICAgICAgIHRleHRBbmNob3I9XCJzdGFydFwiXG4gICAgICAgICAgICAgICAgICBkaXJlY3Rpb249XCJsdHJcIlxuICAgICAgICAgICAgICAgICAgd3JpdGluZ01vZGU9XCJsci10YlwiXG4gICAgICAgICAgICAgICAgICB1bmljb2RlQmlkaT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEgMCAwIDEgMzQzNS40NiA0NDcwKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge1wiZW5hYmxlIG5ldyBkaXJlY3Rpb25zXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs0MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17OTJ9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQ3NzIuNDIgNDM2MClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcIkV4dGVybmFsIG5lZ2F0aXZlIGZhY3RvcnMgXCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICAgICAgICBmaWxsPVwiIzMyMjMyQ1wiXG4gICAgICAgICAgICAgICAgICBmaWxsT3BhY2l0eT17MX1cbiAgICAgICAgICAgICAgICAgIGZvbnRGYW1pbHk9XCJBY3VtaW4gUHJvLEFjdW1pbiBQcm9fTVNGb250U2VydmljZSxzYW5zLXNlcmlmXCJcbiAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZT1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250VmFyaWFudD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250V2VpZ2h0PXs0MDB9XG4gICAgICAgICAgICAgICAgICBmb250U3RyZXRjaD1cIm5vcm1hbFwiXG4gICAgICAgICAgICAgICAgICBmb250U2l6ZT17OTJ9XG4gICAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPVwic3RhcnRcIlxuICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uPVwibHRyXCJcbiAgICAgICAgICAgICAgICAgIHdyaXRpbmdNb2RlPVwibHItdGJcIlxuICAgICAgICAgICAgICAgICAgdW5pY29kZUJpZGk9XCJub3JtYWxcIlxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb249XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxIDAgMCAxIDQ3NzYuMTYgNDQ3MClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtcImltcGFjdCBlbmRhbmdlciBwcm9qZWN0XCJ9XG4gICAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgICA8L2c+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgICk7XG4gICAgICAgXG59O1xuXG5cbiIsICJpbXBvcnQgeyBvcGVuRWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9vcGVuRWxlbWVudFwiO1xuXG5leHBvcnQgY29uc3QgSFBVbmRlcnN0YW5kaW5nID0gKCkgPT4gKFxuICA8c3ZnXG4gICAgdmlld0JveD1cIjAgMCA4NTMuMDU2NDUgNTU2LjAwODQ4XCJcbiAgICBoZWlnaHQ9ezIwMC4wMDg0OH1cbiAgICB3aWR0aD17ODUzLjA1NjQ2fVxuICAgIHhtbFNwYWNlPVwicHJlc2VydmVcIlxuICAgIGlkPVwic3ZnMlwiXG4gICAgeG1sbnNYbGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICA+XG4gICAgPG1ldGFkYXRhIGlkPVwibWV0YWRhdGE4XCI+XG4gICAgPC9tZXRhZGF0YT5cbiAgICA8ZGVmcyBpZD1cImRlZnM2XCI+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDMwXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDI4XCJcbiAgICAgICAgICBkPVwiTSAyLjExMmUtNSwtMS4yMjA3ZS00IEggMTQxNy4zMiBWIDE0MTcuMzE5OSBIIDIuMTEyZS01IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoNDZcIiBjbGlwUGF0aFVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgPHBhdGhcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgY2xpcFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIH19XG4gICAgICAgICAgaWQ9XCJwYXRoNDRcIlxuICAgICAgICAgIGQ9XCJNIDIuMTEyZS01LC0xLjIyMDdlLTQgSCAxNDE3LjMyIFYgMTQxNy4zMTk5IEggMi4xMTJlLTUgWlwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcFBhdGg2NlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGg2NFwiXG4gICAgICAgICAgZD1cIk0gMi4xMTJlLTUsLTEuMjIwN2UtNCBIIDE0MTcuMzIgViAxNDE3LjMxOTkgSCAyLjExMmUtNSBaXCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDkwXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDg4XCJcbiAgICAgICAgICBkPVwiTSA1OTkuNCw4MzAuNTIgSCA2NzIgViA5MDMgaCAtNzIuNiB6XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bWFza1xuICAgICAgICBpZD1cIm1hc2s5NFwiXG4gICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgIHk9ezB9XG4gICAgICAgIHg9ezB9XG4gICAgICAgIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPGltYWdlXG4gICAgICAgICAgaWQ9XCJpbWFnZTk2XCJcbiAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1rQUFBREpDQUFBQUFDc3JVblpBQUFBQVhOQ1NWUUk1Z3BibVFBQUNHOUpSRUZVZUp6dG5YbHNWRVVjeCtkdHQ5MUNWM3B3MkhKSUJhdUZSc0dLV3RFcWh3R0JhRHdiQ0JBdmtNUXJYc1FFUlJNUndZUERJL0VHTFNUMTFwQ3FvSElFQkt5R2FvQlNiVDB3TGRoU1dscEsyKzFlNHg5ZG9MdnZOMi9uOTJiZm05ZGtQbi9Pekh2Ny9iNTVNMi91SlVTaFVDZ1VDb1ZDb1ZBb0ZBcUZRcUZRT0EvTitwL0l1dUhTVVJuK0U5Vy83UEJaLzJQV01lV3p3MkVhb2Z2UU93V3k5WmhFVzNpUVJoUGFPY09HdHlEaFhMZWZBbXdlSlZzWEZtMXBFREpDYWVCdWwyeHRLTksrZzMxUVN1bXJIZ3QrVU9pdFRjcktURXZSZ3AxdFRmN1lxSE1xeGhoY1dIYVg3Z0tKZUVhLzFITDZJWWMzWFQwZ09yS1NuU09VVXJyT09lVSsrYjVBakxnTjNyT3gydnZHUmloZExFOTZOQ1hkUUVuKzhFejA3SGhHYUdDRVJQVm5HWHdJbHRjNExoTGZFZGNKL1UydWhSNnViMlkrNmFjSUlZUzhGZDhJRFpkSWRrRUltZHRwSVBBMWpaQTg0TlhUYzFpMkQzS3J6MURnTWtMZTRERkNRNUUybUt0NDViZFZMYjZ3cjZIeWt3ZHpiVFF5L21RY2hiT1RHcm1jMEsyRUVESjI5ZEVvZTdzVzJkVUFTSzJOSnpENEJKOFJlc3BGOGpib1d6Uk45N3B0Y2JLT1V5WUhRYzlqY0lIYWwyK0RrYUZjaFptVG82eUljSW1KSmtBU0x2bTJSSDdRem1GRmFIZjQ5dEFFL2hCQWtqK0JXV0xJYzNodHFOUnJKcUovd0NUWHRsWWdyMEM5a083MlZPVHR6ZU12ck1KZGdLcTlQU200bTR1UThqbnlBcFNUSWp1N3JSZXR4S1ZIYWJzRmQyOUJrRjk3Vk9xclVMY1dKZU5GVkhKVWlXOU5SOTFibE9aQm1OU29QUEhHVDVKSXNsQ2ZZWlNURHB3U1ViUWxxTlNZeEpXWDRxU0k0a3NMOHlkRzVjbE9yQlJCM01tSXhDZ25ueUtWaU9MQzlGVGlwKzMzNklJc1Q3S0xoUDIrWnZPaVRLRWhXK3FHOTdxbmxqRk9iUXVZV3Q4NFQrWStueXYwSU96RXlFbk9ocW0yNlFDaGlLckxxTVJQMnlmWkNBbUhFSW5aVGtxK3loSFhJa1k0Z0VqTS9ETE8vTkxHemdpRHRoVVRDM0pTZlkwMUZic1AvR2YySnFPN0pGWlpBT0Z2SnNlWkNHUGtpYWM1emV3enNJemo4N1ladlcxd09kRStjcDRSTW1oelJiWkJOSnduSXc5Ym9rVVlldk1tWmh6WUh0QXFCbG9tUmdpdEpIazdNdzRLeksrMlRvd2c0ZGNmWWNTQWViTDhNZ3UxaUtGZDd0dk5pQUhDMHBzdy9RSzc2UzQ4QklaRGRkZUZUalpDUEx2Z3RqN2s1SEpycFlpU3RRSU1ocHhjYTYwU1lSYUROU3ZrNUdLTGxRanpEQlFJbGZpMkFVQ2dvOGhzMVlkQmVXTHpBSjBKb0xjR2NoSzBXb2d3aTRBdzZPMnFHMjYxRWxHQy9mV3RZaWhQYXF5WElvZ2JlTmFRRSt3TW53UUc2NE1nSnp1czFpRU9VTHRDVG42M1hJZ3dRRThZY2xLMzMzSWxGZ0E1b1V0dGw0R2xXeDhFOXVPZHY1Uy9UUjhFT2puSjZwYzVoaVo5RUR3aTRXbnBiN0VVTWZ4ZXZpOGpJZDBYWWNhVzdlZGpZT0NMTWRkeTBuMmR0VnJFZUtCT0g4WWNGOTR5elVvcGdtVHdsbmhDQ0puRkhGaVN6eXVBRVlOWjdPVDFjNjNUSXNiQUZpQ1FQWDhTbVArUWs3Wlc5R0k1Wk1SNFpjRzR0Wk1za1NMRzhXeHdxc3R3bnJpeHRDcDNtRFZ5ek9PN0F2Z3M4akMrckVibVBMYU9BS3Y5d2JOdXhUdjl5cnlzU3pMTVBZa0VFMXIxcE9ndFBwQ2RHWlJTU2dQc1pqcjN5aEI0V05sbS9MZDh3NHpqZGxLWkVDbGk3SnNHMXI4OWNLL3Z5alM0aVQwMDNiN0hhQ1NPZTFYVWljOFNJQWJEMkZXOWRkTk5SY04zR2c0cDhxKzVtN2JGckNaemFDU2xvSERLK1BQNmR6VlU3OTd6KzdINDZYbEovZFBXajJRSXU1K0dmODJkN3dIa3JjWG93bDZBV0QzNExYTEp2aGpvOVgwSUovNGI3T3dTMTJNdndLem9yTC9iNG8wNnZVRy9BS2kxcWFXbDlsbGhmOHdaSUxkMmZYSzdUZHZCT3pLdzgxSElIU1VsdVAwSDV2bkMrb20xeWFmZ1ZtcnJzd2x0OU9JM2lLQjMrV3cvZnlNVXZDcTNBZjNiQm16ZW04aTdNUmxYRnZzRTM3NlFFTjVOc2x6WXRoVWhkK0hXME9rZjlaWFBIMElJSVE4bjBNZ0xKalNacm9vOEJhT0dwSkdPLy82cGlvelJ6aS9sdmZUcldYRVMvRnBzODA2WGFDWnhQL0hDamNieHh5V2ZNWkhON1NUSHZjVW91ajFQcmhGQ3FqaU4xQlBpTGpmSWthR3lqWkRsbkU2V0VFTElLc1lnV3ZpQUF3NHR1b0xUeVFXRUVFSUsyNkc0N21jbG0raWhqc3RJUTZTNmREMnVqeXUzNHVnbEU4emtjakxoVFBxMG00NzBqdWg0UEZQazF4UFp0UFg4elZGWUc0ZjNhaHRxMlNPblg1TS8yTjM2MTgvbDFRME9tdVNZRUQ5SGdybXlSWExoV2hQWHlVdXlOWEtTVWhQSGlEMU4zRVNRZXNUUVNMVjlwemNJay9XM2daRXFlM2VsQytMNWlXbGtxek56WkdEeHUzOTBuanI0ZXBGdXJ1c04rRENwTHZ3UktuYVFzZjZNd3REcTJOVTZvMnBDT2graEE4NWM4SHB6dE13SnNmSDVzUTJYV3NkTklmZXdPaHl0TTZ5YnhYUmwzSFgyeU5SOWM5S2RjMmhpRkN2MGhlQkJJSmwzV0Y3QnhXTXV5SGJnTnJ3SUpmcFNRSVBYeUZabGd2NzFVTTFVNjVEMk9JWm5JQ09VM2lsYkY1NXEyTWtlMmJyUTVNSkdLSlc5QngzZC83K1JGV0hiSVdVTTBFN0dzU0prajFLaG5UQjNCTXZlM0lWMjBzbUtBSmE2MndyYXlWK3NpQ05pUW9SQk8yR2VUZVNJQTRNeHVFL0FsWEJqQWsvZU1RVTZUNEkvd09FZllzNUdjUWFYZ0dQVGdUNzN6d0NFa0RjaEowL0xWbVVHN3dHOWtiM09IR3lJeDhoL1k0Mzg0ZEFUTk9JeUpDWlhmbkZ1dHpBZTJwSmVwM0dmZ1BZVDl4MjBSZTJCTUtXaHdMRTVzcVh3NGw2d28vSGZNcURKcnFWNjB3ZDRQUTRkTmRHUnRUTnlabFRMTXRsU3hKalJjclk0VkRyL0tBTTJNNklPOGFwMTlERXNocHdiODJjQTM4c1daSnIzWXI1L3diR3lGWm1rWDF2c3A3elBkVUVpM0taclhYWFo4NDhMNWpEb24raUhlcE1kc0thRWlZRTIvYUZ5U1U3K0RCbzQwYS9SdDNFSk54NERKL3JUSklMTzNtdk9aSVN1eEo5MDh0dGx4SSt4VHU2WHJjZ3NVMk9NSE91cldVTEkyaWdqdmlMWmVzeVRYTnJMU09jODJYSkVjQzArMDh1dEtwWXRScEQwbHl0Ymd2NmpPKzdzdTJWRW9WQW9GQXFGUXFGUUtCUUtoVUtoVUVqa2YvTGQzSWhidXBvN0FBQUFBRWxGVGtTdVFtQ0NcIlxuICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgICAgICAvKiBzdHlsZT17e1xuICAgICAgICAgICAgaW1hZ2VSZW5kZXJpbmc6IFwib3B0aW1pemVTcGVlZFwiLFxuICAgICAgICAgIH19Ki9cbiAgICAgICAgICBoZWlnaHQ9ezF9XG4gICAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgIC8+XG4gICAgICA8L21hc2s+XG4gICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwUGF0aDEwNlwiIGNsaXBQYXRoVW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiPlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBjbGlwUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBpZD1cInBhdGgxMDRcIlxuICAgICAgICAgIGQ9XCJtIDcxMS44NCw3MTQuNiBoIDY4LjA0IHYgNjguMDQgaCAtNjguMDQgelwiXG4gICAgICAgIC8+XG4gICAgICA8L2NsaXBQYXRoPlxuICAgICAgPG1hc2tcbiAgICAgICAgaWQ9XCJtYXNrMTEwXCJcbiAgICAgICAgaGVpZ2h0PXsxfVxuICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgeT17MH1cbiAgICAgICAgeD17MH1cbiAgICAgICAgbWFza1VuaXRzPVwidXNlclNwYWNlT25Vc2VcIlxuICAgICAgPlxuICAgICAgICA8aW1hZ2VcbiAgICAgICAgICBpZD1cImltYWdlMTEyXCJcbiAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUx3QUFBQzhDQUFBQUFEbklwdDNBQUFBQVhOQ1NWUUk1Z3BibVFBQUJGZEpSRUZVZUp6dDJsdG9GRmNjeC9IWnBNYnRyalhhTnF2eEZrU3NDQzI5MlZpclJLbEtEVlNvb0tqMFJSUXFCVnRxc1JlMnBaQVdvV1JwQzRGVTFCZEZud29WRVUzUnZ0UW1GWVBZZ3RlbVNkUzBsallwMlFkejNlenUvUHVRM1Z4bXpwd3paODdwbmszNWZWN0U1TXlaNzA0T3N6T3phMWtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFEZ1E4bTJNOTNwM2d1N3c2WkRBbGo5TTQyNnQ5cDBpcXpIVDlHWVZLM3BHaW1oTHpJMFFWK1Y2U0FKdTN0b3NwT21pM3hiOFFzNVpTdE1SL2xUM3BSeHRST3RNNTNseTVjRGpIU2lyYWE3Zk5qaFhPeDVyNWt1RTFyV1pudTAwd3JUYlFLUjg2ekZQcXJ2SWROMWZIVWpudWxFYjV1dTQ2cmhwZFB2SmFiN09Dcis0cVZUYW9IcFFHL1IwOXgwYXBzNVBqYWtaNWZoTXRtL3BUMlVadnkwYkc4RGQ2dHN3N3VTK3hHSUxHL3M1eDh0cHV5aG1IT21VSFdXdjAxeWxkNzBPZlhlNXpRQmU5L2t2L3ZpRHNINDVqS3Q2WlVKejNjU1Arb25UQlU3SmhpY2ltdE5yMnBVU2llaVYvSlRoZmR4VDQ5RTFMVmNaL3F5NDRybFJIUXpQOWs5d1VEN2xLWlRpMlZabHZYMHQrcnBSUFJNYnJvNy9HR3BQZnJLUTZ1KzA1Sk85RUZ1eG12Y1VUZm1Nak9Ddk5XRzF2OXdhVlBnRno3Wnd0eS9JN3hCalUvK3pmeTUvQVZhYVBQSEwwaHY1R2xBM0RHNC9heXV2ZTI4cm1uQmpNcmZGUDNxT2VMaW83clMzK2pVbWs1OUQrY203dllhOFdHcG52TFFnZnQ2MDRtK3prMDl5K050dW51bG52VFNPcTlieXVBNjhnZitIZmJ2dnluWGtsNzJWVko3T25WVjVxZDNQNXdoSW51WGx0dU82TkVIK3RPemlXaCsvcFdzcThuT3BhSXNQMis2NVljM1I2UmU2L2RYaFVPb3Q2VTlPZmEvSzR6bkFVZjJEMHJ0bE9teGM4T3l4L1F0eVYyODc1NWlwRmJEdFV5c1JYUzFweDcvb25zWHR6V2MzT2RlRDNTbklSZi94S0JyZ25wL2IveThVZk5iNSttOER2WHcwa1ZudzFEMURYK2JlcCtNRnZYZm4xK0E5czkvY3JiZml2aHM5MUx5VklDbExyOXNTbXVHbk50bTMxTXJ0NmE5ckpMdU4zNTZSWjM3TGpMcGVxVEF3VmdZNFZkUFRwZVlnZUhxYjhJaDRkanpyQThsZjF5cnRPTVplMXgveVlJWjNxbVVQbnQveWxnNjNYbEVKVDMyU2RwY09oMVR1UXhia0JBOGJQdFBKVGNxcEM4NVpMQ2M2TkpzaFhZcmJqSTk4Mm1nSlROMmg5aWNYcS95MnBYOFVYdUNnbXczZm50cnJ2NzBwZzcxU2N5c25PRTNBd2RQZkxCZzVOaTNiV2dLdk8ya3B5SUc2bzl1K1ZQYlhBVmVPZjFxSDhRN25rY1Y5dGhmVzlPcWQ4TENIZnZNQWYwZnd4ZW1QblZsN3h6bFZNYjFmUHlnOUN3RGx5KzNkZzBPcGRJakdadHM1U2dWVXNlK08vRnM1UXlqdVE1KzZ4OGNySW9VNEI1ZDBrYyt5bnRlanhaZnVHVlo0dnJNWjlOTUozTHc2dTJlNTB6bkNYaXVlN3Q5bHVrMk1ZOWpmMWY5OUZ3SXJHUC96NVQ1RHJXclBwMG8wdk1MaTZPK2ZaN3BJQ2tUNisyR1l2NVdIY3Q0ZmErNSsvUEE4dlUzMmQrN0tIS2o5VTFSOGNoaUZDZWl3MU50dVkrSjAxUTZRenJWbUE0QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRC9zWDhCN3pzUUFtZkdLRlFBQUFBQVNVVk9SSzVDWUlJPVwiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIC8qIHN0eWxlPXt7XG4gICAgICAgICAgICBpbWFnZVJlbmRlcmluZzogXCJvcHRpbWl6ZVNwZWVkXCIsXG4gICAgICAgICAgfX0qL1xuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTIyXCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDEyMFwiXG4gICAgICAgICAgZD1cIm0gNTk2LjQsNjAyLjE2IGggNzMuNjggdiA3My42OCBIIDU5Ni40IFpcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxtYXNrXG4gICAgICAgIGlkPVwibWFzazEyNlwiXG4gICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgIHk9ezB9XG4gICAgICAgIHg9ezB9XG4gICAgICAgIG1hc2tVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgID5cbiAgICAgICAgPGltYWdlXG4gICAgICAgICAgaWQ9XCJpbWFnZTEyOFwiXG4gICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFNd0FBQURNQ0FBQUFBQWFTUk11QUFBQUFYTkNTVlFJNWdwYm1RQUFDaWxKUkVGVWVKenRuWDl3RmRVVngrKysvRENCaUNJU2ZvellUR09aVHFXRmtmNlFjU3hTT2tVeW90RFNVVWN4REhXbVdoUnFmOUFwYUNFbXBza1FiSEFnWXh4bkNoSEwxTm9VRFU2aDBHcVIxRktDRFl4SnEwQnFJZWp3U0tDRUVKS1g5OTdwSHkvSk8vZWV1N3QzbjltOTIrbjkvRVYyejEyKzMremRlM2Z2bnJOaHpHQXdHQXdHZzhGZ01CZ01Cb1BCWURBWURBYkRDRlptemNiTyt2eE5Fd3Z5V094eTE4bjJsb3VqcXlsak1qQ1RNLzlyODJibW9BM1EvdGIrUDE0YU5VbkJZYzJxN2dVSlYrcm5SSFJyODBqa1MyL0xuS1JvdXoxTHR6NHZURGxzYndVQTRQU25NcndFZzhmYTdHd0ZBR0Q3LzhqSm1YVFczUXRBZEladW5Tb3N1YVRpQmFEM0VkMUszVm1UVVBNQ0VLL1NyZFdOY2xVckFKQ3MwYTNXbVhVZXZBQWtxM1hyZGVMK3BFenlwYTZ1SHB2T1Z4N2VRYTJvVHhRNzBOR3c4QnJHR0JzejcvbmpWeVJ1MW9mVlRhUmJVTnBmUHdidno2MGdaZ0UyaFBUbTVnMUI1OVk4TVNKM0xlMXVsVHFrdXZKWlh1U0h4YktncWNkRU04bU5RUXRWNEtwVG5NYkdhK1JoWStxSm0wM0JDbFhoYms3aGkxZlp4V1ZWaE45TkhuZGlHbTI5TUdZOUhmcWV0cEM3WG16NldBcXJrcmlwRE5lWXRodUx1OGs1MXFvaGsydFptT2FiYVZqWlZ0Znd6V1NJRHRQcytTalMxVS9tRjBxdGFBYksvUmVweW10SVZyMUtnMnJpSmpSM25aR2V0S2lCTWU3eGpGbmhIYUZuSTFFZGFrMGtJL1N6L29wVUJWOHlEWXB0Skc3QzhiUzJCVW02VTdXUnBLZXQ4Vk9rS3I5RGdod25UQTZMakFLSkpUNktWT1ZBV28rbnRlUmFNdDlJNzdXRDVkMjBtaTVQRFRlTDl3SlhydlpKb2pwdG1acGhOZUtwK2FVL0NqM3dYbHBNajdlVzlLN3pEbDhVZWdCMXM2VFNuSm1Hak5EdjU3ZzM4cFUvSXpIelBMYTF5Z1EzRC9zaVVaMUdwT1Y1cjQwdFlSbjBnMncvSktxREo4M2pubHRINm5nM0QvaWcwQU9QSUNsWGNqMDN6ejNLbVhuVEI0VWV1QVZycWZEZVBwOWJIa3hPSEgyRlhrQ1BBTkRuL2RTd1pkeXAwYnd3dUF0cldadkJBYmpGbmNPanJzOFQrS0tCeEZUdkIxaUJENkE1K2VFR3Jwc2NjNXM0QzZlTDZ3UVI3azNvRi8zU3FVWVQ1NmJlYWEybG9Pd2t3T0NCYi9KYnViV3FaM3pWNnNvQ3pneFUyTC9vbnpZOER0ZHhLMy9MY2ZPRHZ1dDFKTGVUZC9PMG5adjh2NDNFN01BeGhmaGh3UHZFTzdvczVNMUFwWTJiSjFETUt6Z21pblowQmlMWm5oenh2Wm5ONnNUZmNVd1Q2bW40THVCY01KcnQrWXhnSnJsWkZoV0pjMEdONlhQVGpEYWZEMHkxRGRhcmdwdEVyU1JxbkJDMGM4VE5RYlQxUW9DNjVXUjNDVUtobWw0M2xwaU4wakRjMDFyUXh1NWdsY3VZZVZsMEl4bWg5NG94MjRiY2RLQnRad05XTHVQUnVLaVVqdENMeEpBaE56a0RhTk9wNExWVHFzaGJKT3FtVGd5QkJvc3g5bFc4NVgwTjJpbWJpQnZTMHlJN2lKdWRGdit3Q251MGlDY292SGV4WGlFeGpSRzg5QWJ3aEE3cEVtaVNGaG1oclNZUzAxVE0vWGlERHVVU3N0YUxRaE5rOW93MGlqSEE1UTEvcEVPNGxLd05vdEJralhqZFdEdUpHOHlmdEFpWEVxa2tvd0M1NjdRYW5NeXMwS0xiaG8zdUkzUmttNzJYOHc3NUhScWdJM1NaQnpjdmFkRnNEM1ZUTG1hVVJPeDZXbUsyRnNrTzBKNVdKeTZuMlkwQ3Iyc1I3TWpQaWNpaitVS0lSVWRvQUVqZXFrV3ZJeEh4VFFWQTN6SXhoczZlQUM4SU1mTis5bXBMeDcvYjl0Y3R6MkE1YnJTZzh3M0FxUlg4bFZOTWEyeGlrOUs3cjYvNFp4ZStFZTg5dFdkQndDNkd5WktsbjUvZHZid3d0VHRuN3BZMlNVRHlzYUhtZWV1T0RVcjJuOXY5RlQxMnFtVkoyNUNNSG0wKzJOSXhJTnNIQU1sVmpERTJmc3NGbS8wQWYvMjJGamQwaEZZZ3VZcmxyK3QzREdtK1hZZWJaek55VS9FdnQ1REVjMk0xdUtFWmpLUEVoYzlwY0ZQaGx4dFlwQ0ZMOVR0K21ZRWZCMi9HK3JKZlpwSTZhcU9tSEhJWE5walJTS0VqRTlKYVpqOXBwRlJ0bS94WVJtNjBaRUpPck9weGtQVG1YTWJZcXVET3pTY3VlWjMwL2Z1S3BEdjY5OVdtbnZsWC8wTDZuNXhzYlQ5eE5wWTNjZnJOc3lRSGdJMC8rYVRLTWlKeTE1NU84YmZmZTZSc3drZ0F5ZGtFNkc2NEdSM2hDeTlGYVlpK3VyV2l0YzBkMFo3K2VEeldkNzZ6ZlhzSkZwSjNnaW85SWJ5VnpxMmlOYTFoeXJ3ZjRVZXlpNkpMZktKajc5SDFoWERWZURER1dMNjhqdmkwbUZOZzBXTFE4Tld0MGVmc0ZHMGtCWFdwbUhNYnVtb2k2eU1iTTlCQ01xVVhFemNoeWJ3ZlpvWFVDQUFBdkhPdEdMd2s1RzZhcFQ2RzNDaWNtekQxdEZ6SHp3aTBrT3RtRVhFVG9ycTFCNXk4QUxTVFBLbHZrTldPOE5TdHZZVmw5ZEc3ems0eTM4eVBpVEVid3VLR3l3VGN5eDRrNTZhTFZMTE5wK3ZaT3BSTDRHNnFGekNybENnOVVTQzJLU0UxSHVHb1d4dUx0WitMTU1hK1M5eTBrakh0SGpJS2hLSnU3UTRzNlErTU1jYm9kWE5JWWI1NUtuRHBsSlZZMFhPcGJmUnBUV0gyakMwTldqcUZTeDlZUGJTUnVqbEVyaHZTMHk1b2ZGY3dCUGVWZ0h1SHQ5S2U5bnZTa293Q3VsTWlHWHNCeTFrOHNwbU1Bb2xwcENtWmIxWUdLVndHVjYxMWYzcjdja0VvdkV6YmZsMjhGNWhBWTNoOHZ2SGhjakxRNjZidER3SWZLRm4rMzM5WGt0OVFOMXFxTXFRRS8yYTM0RDBQOHozdHRLeTFlTmVwdVQ1eUF0YXluOXYxUGM3Tkc5TG13Z2l0KzlUZ2pNaHV2azgvanR6WXZZb3U1Y3pFSndlZzJJRXpXRXdKdjI5MTJzMFJ1L2I4dSsySC9KYnJEUGNWd2IzQ3pzZUhlOUVaMnhreHJ4VWY0SURQYWwzZ0ZzMHVpN2VVOTV3QkFJai9aWXI5QVlxNFUrTVFHQUFGWE9KdGs3amJ1blBIdnBvaXh5TzhqQTl3bjE4NjFlQSs0alI0bmZjRGpNVnpwelIxZndUZlZ3dGV3ejlrWjFBVDNJZW5JTTJKVWVQNGo1ODFlZi90NGZUdi8vaWcwQXUvNHN3QXlldDB4Y0svamtJL0pLb3pROGk5TC9mc0JpK0thQzdCWTJLZUk4bUVkQU9QSVNYdTRiNVNMQlo1ZUQwM3YwRnQ3M1VLREdEdDgrUlBoUTFQUHVQTkRTN3UwcjRlbVBVUDRkVFkxYTNaZ0ovd0hMTzRnbGlWVHN3WHQvekFlZklUdUI3OTIrT25QUHhnam5ocXBIVnJkdUN2ZDgvMFRhTXlWaWxkY1ZXL2JvNmpadXJmSmZJUm10SGxVRmtzZ0FyNHdsQzB4bVRaZHJhVnhRS0Y2S3p1ODFla01qUVRVdEhOaTZoSmFGNm1LOVN0eWNqQmMrN2R2cXRVSmJQdkJkNkc0dU9odVA1VEtOU3RFWEp4OHZDdUFFU3FvbEszSmxLS3d4ZTdSUWRKRnFtS29IVnJQTk54QW50c1hFQTYxVkNwVzhPTTQ1WVFNdmxXaksvUWFpS0hKNExjMTdsSS9lK2JST2dJdmNsdWxhT0ErNFlQaFBHdkoxQTN2NVYveE9uVFI3aW9BZjJmRlpSQWUxcjBOdHJWc3IvRnIrc2t3ek5oY3BEdkJRSzBUK0tmckxKbmlqbkdyWnJFdWhHUlZIb2xlOWFrRTAvRzE1STZyNmpDOHFHZVArV1Q5ZFI2eWRaNDk4VXpIMThjZjJQaHRkZVJCK0RCVzk4TlFGZG1TT3ZXbkNqVnJkZ1JlZDJhSFQvVUxkY0ZMN1ZSWWZmQzJKTWtTODZHV0xqN1dJcWxMZ1VyUTBSdjBTMVVpYWtmdUZ0SnR1cit6S3N5SzkyOERJUjAzcGN5NGRlT1hxcENlVDltVC9GVzh2R2tJV0pydzNmUDc4cmtodzVRSi9GZGl6MC9WNGJrTHhOT21UdG45b3lScFpmb3NjUHZ2SjNCNjh1UW1HR01NVlo0WStIVmtjSGVqejhNeTE5T05SZ01Cb1BCWURBWURBYUR3V0F3R0F3R3cvOGYvd1ZsVzBvd0dSUzdXUUFBQUFCSlJVNUVya0pnZ2c9PVwiXG4gICAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIlxuICAgICAgICAgIC8qIHN0eWxlPXt7XG4gICAgICAgICAgICBpbWFnZVJlbmRlcmluZzogXCJvcHRpbWl6ZVNwZWVkXCIsXG4gICAgICAgICAgfX0qL1xuICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICB3aWR0aD17MX1cbiAgICAgICAgLz5cbiAgICAgIDwvbWFzaz5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTM4XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDEzNlwiXG4gICAgICAgICAgZD1cIk0gMCwxNDE3LjMyIEggMTQxNy4zMiBWIDMuNjYyMWUtNCBMIDAsMi40NDE0ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgICAgaWQ9XCJsaW5lYXJHcmFkaWVudDE2NlwiXG4gICAgICAgIHNwcmVhZE1ldGhvZD1cInBhZFwiXG4gICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICAgIHkyPXs4NjAuMDM5OTh9XG4gICAgICAgIHgyPXs5ODYuMzQ5OTh9XG4gICAgICAgIHkxPXs0MDQuNDd9XG4gICAgICAgIHgxPXs5NDguNjN9XG4gICAgICA+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTQwXCJcbiAgICAgICAgICBvZmZzZXQ9ezB9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE0MlwiXG4gICAgICAgICAgb2Zmc2V0PXswLjAzMzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzg1MGU3OFwiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTQ0XCJcbiAgICAgICAgICBvZmZzZXQ9ezAuMDd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE0NlwiXG4gICAgICAgICAgb2Zmc2V0PXswLjI3NjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjMzIyMzJjXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AxNDhcIlxuICAgICAgICAgIG9mZnNldD17MC4zMzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTUwXCJcbiAgICAgICAgICBvZmZzZXQ9ezAuMzl9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE1MlwiXG4gICAgICAgICAgb2Zmc2V0PXswLjU5NjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjODUwZTc4XCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AxNTRcIlxuICAgICAgICAgIG9mZnNldD17MC42MzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzg1MGU3OFwiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTU2XCJcbiAgICAgICAgICBvZmZzZXQ9ezAuNjY2Njd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE1OFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE2MFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjczNjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjODUwZTc4XCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AxNjJcIlxuICAgICAgICAgIG9mZnNldD17MC45NDMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTY0XCJcbiAgICAgICAgICBvZmZzZXQ9ezF9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMTc2XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDE3NFwiXG4gICAgICAgICAgZD1cIk0gLTYuMTAzNWUtNSwxNDE3LjMyIEggMTQxNy4zMiBWIDIuNDQxNGUtNCBMIC05LjE1NTNlLTUsMS4yMjA3ZS00XCJcbiAgICAgICAgLz5cbiAgICAgIDwvY2xpcFBhdGg+XG4gICAgICA8bGluZWFyR3JhZGllbnRcbiAgICAgICAgaWQ9XCJsaW5lYXJHcmFkaWVudDIwNFwiXG4gICAgICAgIHNwcmVhZE1ldGhvZD1cInBhZFwiXG4gICAgICAgIGdyYWRpZW50VW5pdHM9XCJ1c2VyU3BhY2VPblVzZVwiXG4gICAgICAgIHkyPXs5NzAuOTI5OTl9XG4gICAgICAgIHgyPXszODguNDI5OTl9XG4gICAgICAgIHkxPXs1MTcuODQwMDN9XG4gICAgICAgIHgxPXs0MjUuOTUwMDF9XG4gICAgICA+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTc4XCJcbiAgICAgICAgICBvZmZzZXQ9ezB9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNiODViZDFcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE4MFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjAzMzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiI2I4NWJkMVwiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTgyXCJcbiAgICAgICAgICBvZmZzZXQ9ezAuMDd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNiODViZDFcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE4NFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjI3NjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjMzIyMzJjXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AxODZcIlxuICAgICAgICAgIG9mZnNldD17MC4zMzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTg4XCJcbiAgICAgICAgICBvZmZzZXQ9ezAuMzl9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE5MFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjU5NjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AxOTJcIlxuICAgICAgICAgIG9mZnNldD17MC42MzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiI2I4NWJkMVwiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMTk0XCJcbiAgICAgICAgICBvZmZzZXQ9ezAuNjY2Njd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNiODViZDFcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE5NlwiXG4gICAgICAgICAgb2Zmc2V0PXswLjd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNiODViZDFcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDE5OFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjczNjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AyMDBcIlxuICAgICAgICAgIG9mZnNldD17MC45NDMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMjAyXCJcbiAgICAgICAgICBvZmZzZXQ9ezF9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXBQYXRoMjE0XCIgY2xpcFBhdGhVbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgIDxwYXRoXG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNsaXBSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICB9fVxuICAgICAgICAgIGlkPVwicGF0aDIxMlwiXG4gICAgICAgICAgZD1cIk0gMCwxNDE3LjMyIEggMTQxNy4zMiBWIDMuNjYyMWUtNCBMIDEuMjIwN2UtNCwyLjQ0MTRlLTRcIlxuICAgICAgICAvPlxuICAgICAgPC9jbGlwUGF0aD5cbiAgICAgIDxsaW5lYXJHcmFkaWVudFxuICAgICAgICBpZD1cImxpbmVhckdyYWRpZW50MjQyXCJcbiAgICAgICAgc3ByZWFkTWV0aG9kPVwicGFkXCJcbiAgICAgICAgZ3JhZGllbnRVbml0cz1cInVzZXJTcGFjZU9uVXNlXCJcbiAgICAgICAgeTI9ezEwODIuNzN9XG4gICAgICAgIHgyPXs5ODcuNzE5OTd9XG4gICAgICAgIHkxPXs2MjcuMTUwMDJ9XG4gICAgICAgIHgxPXs5NTB9XG4gICAgICA+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMjE2XCJcbiAgICAgICAgICBvZmZzZXQ9ezB9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNhMGE3ZjNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDIxOFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjAzMzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMjIwXCJcbiAgICAgICAgICBvZmZzZXQ9ezAuMDd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNhMGE3ZjNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDIyMlwiXG4gICAgICAgICAgb2Zmc2V0PXswLjI3NjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjMzIyMzJjXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AyMjRcIlxuICAgICAgICAgIG9mZnNldD17MC4zMzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMjI2XCJcbiAgICAgICAgICBvZmZzZXQ9ezAuMzl9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDIyOFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjU5NjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjYTBhN2YzXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AyMzBcIlxuICAgICAgICAgIG9mZnNldD17MC42MzMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMjMyXCJcbiAgICAgICAgICBvZmZzZXQ9ezAuNjY2Njd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNhMGE3ZjNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDIzNFwiXG4gICAgICAgICAgb2Zmc2V0PXswLjd9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiNhMGE3ZjNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgICA8c3RvcFxuICAgICAgICAgIGlkPVwic3RvcDIzNlwiXG4gICAgICAgICAgb2Zmc2V0PXswLjczNjY3fVxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBzdG9wT3BhY2l0eTogMSxcbiAgICAgICAgICAgIHN0b3BDb2xvcjogXCIjYTBhN2YzXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgICAgPHN0b3BcbiAgICAgICAgICBpZD1cInN0b3AyMzhcIlxuICAgICAgICAgIG9mZnNldD17MC45NDMzM31cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgc3RvcE9wYWNpdHk6IDEsXG4gICAgICAgICAgICBzdG9wQ29sb3I6IFwiIzMyMjMyY1wiLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICAgIDxzdG9wXG4gICAgICAgICAgaWQ9XCJzdG9wMjQwXCJcbiAgICAgICAgICBvZmZzZXQ9ezF9XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHN0b3BPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3RvcENvbG9yOiBcIiMzMjIzMmNcIixcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgPC9saW5lYXJHcmFkaWVudD5cbiAgICA8L2RlZnM+XG4gICAgPGcgdHJhbnNmb3JtPVwibWF0cml4KDEuMzMzMzMzMywwLDAsLTEuMzMzMzMzMywtNDkwLjg1MTcyLDEyNDUuNDQpXCIgaWQ9XCJnMTBcIj5cbiAgICA8YSBvbkNsaWNrPXtvcGVuRWxlbWVudCh7ZWxlbWVudFRvT3BlbjogXCJ1bmRlci1yZXNwb25zaXZlXCIsIGNsYXNzVG9IaWRlOiBcInVuZGVyc3RhbmRpbmd0YWJcIn0pfT5cbiAgICAgIDxwYXRoXG4gICAgICAgIGlkPVwicGF0aDIyXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmaWxsOiBcIiM4NTBlNzhcIixcbiAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgfX1cbiAgICAgICAgZD1cIm0gNjI4LjIsNzExLjM2IGMgMzYuOSwwIDY2LjgsLTMxLjU4IDY2LjgsLTcwLjU0IDAsLTM4Ljk2IC0yOS45LC03MC41OCAtNjYuOCwtNzAuNTggaCAzMDguNDQgYyAzNi45LDAgNjYuOCwzMS42MiA2Ni44LDcwLjU4IDAsMzguOTYgLTI5LjksNzAuNTQgLTY2LjgsNzAuNTQgelwiXG4gICAgICAvPlxuICAgICAgPC9hPlxuICAgICAgPGcgaWQ9XCJnMjRcIj5cbiAgICAgICAgPGcgY2xpcFBhdGg9XCJ1cmwoI2NsaXBQYXRoMzApXCIgaWQ9XCJnMjZcIj5cbiAgICAgICAgICA8dGV4dFxuICAgICAgICAgICAgaWQ9XCJ0ZXh0MzRcIlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgZm9udFZhcmlhbnQ6IFwibm9ybWFsXCIsXG4gICAgICAgICAgICAgIGZvbnRXZWlnaHQ6IFwiYm9sZFwiLFxuICAgICAgICAgICAgICBmb250U2l6ZTogXCIyMS45NnB4XCIsXG4gICAgICAgICAgICAgIGZvbnRGYW1pbHk6IFwiQXJpYWxcIixcbiAgICAgICAgICAgICAgLyogd3JpdGluZ01vZGU6IFwibHItdGJcIiwqL1xuICAgICAgICAgICAgICBmaWxsOiBcInZhcigtLW91cmJlaWdlKVwiLFxuICAgICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgICAgZmlsbFJ1bGU6IFwibm9uemVyb1wiLFxuICAgICAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHRyYW5zZm9ybT1cIm1hdHJpeCgxLDAsMCwtMSw3NjUuODQsNjMyLjU3KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwidW5kZXItcmVzcG9uc2l2ZVwiLCBjbGFzc1RvSGlkZTogXCJ1bmRlcnN0YW5kaW5ndGFiXCJ9KX0+XG4gICAgICAgICAgICA8dHNwYW5cbiAgICAgICAgICAgICAgaWQ9XCJ0c3BhbjMyXCJcbiAgICAgICAgICAgICAgeT17MH1cbiAgICAgICAgICAgICAgeD1cIjAgMTUuODU1MTIgMzAuNTAyNDM5IDQ1LjE0OTc2MSA1OS43OTcwODEgNzYuNzk0MTIxIDkyLjY0OTIzOSAxMDcuMjk2NTYgMTEzLjQwMTQ0IDEyOC4wNDg3N1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtcIlJFU1BPTlNJVkVcIn1cbiAgICAgICAgICAgIDwvdHNwYW4+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC90ZXh0PlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8cGF0aFxuICAgICAgICBpZD1cInBhdGgzNlwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZmlsbDogXCIjODUwZTc4XCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDYyOC43OCw3MTEuMzYgYyAtMzYuOTEsMCAtNjYuODIsLTMxLjU4IC02Ni44MiwtNzAuNTQgMCwtMzguOTYgMjkuOTEsLTcwLjU4IDY2LjgyLC03MC41OCAzNi45LDAgNjYuODYsMzEuNjIgNjYuODYsNzAuNTggMCwzOC45NiAtMjkuOTYsNzAuNTQgLTY2Ljg2LDcwLjU0IHpcIlxuICAgICAgLz5cbiAgICAgIDxhIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcInVuZGVyLXJlZmxlY3Rpb25cIiwgY2xhc3NUb0hpZGU6IFwidW5kZXJzdGFuZGluZ3RhYlwifSl9PlxuICAgICAgPHBhdGhcbiAgICAgICAgaWQ9XCJwYXRoMzhcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZpbGw6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICB9fVxuICAgICAgICBkPVwibSA2MjguMiw5MzQuMDggYyAzNi45LDAgNjYuOCwtMzEuNTUgNjYuOCwtNzAuNDggMCwtMzguOTIgLTI5LjksLTcwLjUyIC02Ni44LC03MC41MiBoIDMwOC40NCBjIDM2LjksMCA2Ni44LDMxLjYgNjYuOCw3MC41MiAwLDM4LjkzIC0yOS45LDcwLjQ4IC02Ni44LDcwLjQ4IHpcIlxuICAgICAgLz5cbiAgICAgIDwvYT5cbiAgICAgIDxnIGlkPVwiZzQwXCI+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDQ2KVwiIGlkPVwiZzQyXCI+XG4gICAgICAgICAgPHRleHRcbiAgICAgICAgICAgIGlkPVwidGV4dDUwXCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZvbnRWYXJpYW50OiBcIm5vcm1hbFwiLFxuICAgICAgICAgICAgICBmb250V2VpZ2h0OiBcImJvbGRcIixcbiAgICAgICAgICAgICAgZm9udFNpemU6IFwiMjEuOTZweFwiLFxuICAgICAgICAgICAgICBmb250RmFtaWx5OiBcIkFyaWFsXCIsXG4gICAgICAgICAgICAgIC8qIHdyaXRpbmdNb2RlOiBcImxyLXRiXCIsKi9cbiAgICAgICAgICAgICAgZmlsbDogXCJ2YXIoLS1vdXJiZWlnZSlcIixcbiAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIGZpbGxSdWxlOiBcIm5vbnplcm9cIixcbiAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsNzY3LjA0LDg1NS4zOClcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcInVuZGVyLXJlZmxlY3Rpb25cIiwgY2xhc3NUb0hpZGU6IFwidW5kZXJzdGFuZGluZ3RhYlwifSl9PlxuICAgICAgICAgICAgPHRzcGFuXG4gICAgICAgICAgICAgIGlkPVwidHNwYW40OFwiXG4gICAgICAgICAgICAgIHk9ezB9XG4gICAgICAgICAgICAgIHg9XCIwIDE1Ljg1NTEyIDMwLjUwMjQzOSA0My45MTk5OTggNTcuMzM3NTU5IDcxLjk4NDg3OSA4Ny44Mzk5OTYgMTAxLjI1NzU2IDEwNy4zNjI0NCAxMjQuNDQ3MzJcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7XCJSRUZMRUNUSU9OXCJ9XG4gICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvdGV4dD5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPHBhdGhcbiAgICAgICAgaWQ9XCJwYXRoNTJcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZpbGw6IFwiI2EwYTdmM1wiLFxuICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICB9fVxuICAgICAgICBkPVwibSA2MjguNzgsOTM0LjA4IGMgLTM2LjkxLDAgLTY2LjgyLC0zMS41NSAtNjYuODIsLTcwLjQ4IDAsLTM4LjkyIDI5LjkxLC03MC41MiA2Ni44MiwtNzAuNTIgMzYuOSwwIDY2Ljg2LDMxLjYgNjYuODYsNzAuNTIgMCwzOC45MyAtMjkuOTYsNzAuNDggLTY2Ljg2LDcwLjQ4IHpcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGlkPVwicGF0aDU0XCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmaWxsOiBcIiNhMGE3ZjNcIixcbiAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICBmaWxsUnVsZTogXCJldmVub2RkXCIsXG4gICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgfX1cbiAgICAgICAgZD1cIm0gNTYxLjk2LDg2My4xIGMgMCwzOC45NCAzMS41Niw3MC41IDcwLjUsNzAuNSAzOC45NCwwIDcwLjUsLTMxLjU2IDcwLjUsLTcwLjUgMCwtMzguOTQgLTMxLjU2LC03MC41IC03MC41LC03MC41IC0zOC45NCwwIC03MC41LDMxLjU2IC03MC41LDcwLjUgelwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgaWQ9XCJwYXRoNTZcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZpbGw6IFwiIzg1MGU3OFwiLFxuICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICB9fVxuICAgICAgICBkPVwibSA1NjEuOTYsNjQwLjk4IGMgMCwzOC45NCAzMS41Niw3MC41IDcwLjUsNzAuNSAzOC45NCwwIDcwLjUsLTMxLjU2IDcwLjUsLTcwLjUgMCwtMzguOTQgLTMxLjU2LC03MC41IC03MC41LC03MC41IC0zOC45NCwwIC03MC41LDMxLjU2IC03MC41LDcwLjUgelwiXG4gICAgICAvPlxuICAgICAgPGEgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwidW5kZXItcmVzcG9uc2liaWxpdHlcIiwgY2xhc3NUb0hpZGU6IFwidW5kZXJzdGFuZGluZ3RhYlwifSl9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGlkPVwicGF0aDU4XCJcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbDogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgfX1cbiAgICAgICAgICBkPVwibSA0MzkuMzMsODIzLjA4IGMgLTM2LjkyLDAgLTY2Ljg1LC0zMS41OCAtNjYuODUsLTcwLjU0IDAsLTM4Ljk2IDI5LjkzLC03MC41OCA2Ni44NSwtNzAuNTggaCAzMDguNjMgYyAtMzYuOTMsMCAtNjYuODUsMzEuNjIgLTY2Ljg1LDcwLjU4IDAsMzguOTYgMjkuOTIsNzAuNTQgNjYuODUsNzAuNTQgelwiXG4gICAgICAgIC8+XG4gICAgICA8L2E+XG4gICAgICA8ZyBpZD1cImc2MFwiPlxuICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGg2NilcIiBpZD1cImc2MlwiPlxuICAgICAgICAgIDx0ZXh0XG4gICAgICAgICAgICBpZD1cInRleHQ3MFwiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBmb250VmFyaWFudDogXCJub3JtYWxcIixcbiAgICAgICAgICAgICAgZm9udFdlaWdodDogXCJib2xkXCIsXG4gICAgICAgICAgICAgIGZvbnRTaXplOiBcIjIxLjk2cHhcIixcbiAgICAgICAgICAgICAgZm9udEZhbWlseTogXCJBcmlhbFwiLFxuICAgICAgICAgICAgICAvKiB3cml0aW5nTW9kZTogXCJsci10YlwiLCovXG4gICAgICAgICAgICAgIGZpbGw6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgICAgICBmaWxsUnVsZTogXCJub256ZXJvXCIsXG4gICAgICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDQ0Ny41LDc0NC4zMSlcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5FbGVtZW50KHtlbGVtZW50VG9PcGVuOiBcInVuZGVyLXJlc3BvbnNpYmlsaXR5XCIsIGNsYXNzVG9IaWRlOiBcInVuZGVyc3RhbmRpbmd0YWJcIn0pfT5cbiAgICAgICAgICAgIDx0c3BhblxuICAgICAgICAgICAgICBpZD1cInRzcGFuNjhcIlxuICAgICAgICAgICAgICB5PXswfVxuICAgICAgICAgICAgICB4PVwiMCAxNS44NTUxMiAzMC41MDI0MzkgNDUuMTQ5NzYxIDU5Ljc5NzA4MSA3Ni43OTQxMjEgOTIuNjQ5MjM5IDEwNy4yOTY1NiAxMTMuNDAxNDQgMTI5LjI1NjU2IDEzNS4zNjE0MyAxNDguNzc5MDEgMTU0Ljg4Mzg4IDE2OC4zMDE0NFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtcIlJFU1BPTlNJQklMSVRZXCJ9XG4gICAgICAgICAgICA8L3RzcGFuPlxuICAgICAgICAgICAgPC9hPiAgXG4gICAgICAgICAgPC90ZXh0PlxuICAgICAgICA8L2c+XG4gICAgICA8L2c+XG4gICAgICA8cGF0aFxuICAgICAgICBpZD1cInBhdGg3MlwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZmlsbDogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDc0Ny4zNCw4MjMuMDggYyAtMzYuOTEsMCAtNjYuODIsLTMxLjU4IC02Ni44MiwtNzAuNTQgMCwtMzguOTYgMjkuOTEsLTcwLjU4IDY2LjgyLC03MC41OCAzNi45NSwwIDY2Ljg2LDMxLjYyIDY2Ljg2LDcwLjU4IDAsMzguOTYgLTI5LjkxLDcwLjU0IC02Ni44Niw3MC41NCB6XCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBpZD1cInBhdGg3NFwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZmlsbDogXCIjYjg1YmQxXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDY3My4yLDc1Mi43IGMgMCwzOC45NCAzMS41Niw3MC41IDcwLjUsNzAuNSAzOC45NCwwIDcwLjUsLTMxLjU2IDcwLjUsLTcwLjUgMCwtMzguOTQgLTMxLjU2LC03MC41IC03MC41LC03MC41IC0zOC45NCwwIC03MC41LDMxLjU2IC03MC41LDcwLjUgelwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgaWQ9XCJwYXRoNzZcIlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGZpbGw6IFwidmFyKC0tb3VyYmVpZ2UpXCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDYzMi41Myw5MDkuODQgYyAtMjUuNTUsMCAtNDYuMjYsLTIwLjcxIC00Ni4zLC00Ni4yMyAwLC0yNC43MyAyMC4yLC00NS41OCA0NC45MiwtNDYuMzIgaCAwLjYgYyAxNy44NCwtMC4yNyAzNC45NSwtNi45MiA0Ny41OSwtMTkuNTYgbCAwLjYsLTAuNiBjIDExLjY2LC0xMS42NyAxNy42MSwtMjcuNjMgMTcuNDcsLTQ0LjE1IHYgLTAuNDYgLTAuMjMgYyAwLjA1LC0xNy4xMSAtNS45OSwtMzMuNjMgLTE4LjA3LC00NS42NyBsIC0xLjUzLC0xLjUyIGMgLTExLjI1LC0xMS4zMSAtMjYuNDgsLTE4LjExIC00Mi4zOCwtMTguMTEgLTAuNTIsMCAtMS4wNCwwLjAxIC0xLjU2LDAuMDIgLTAuNDYsMC4wMiAtMC45MiwwLjAzIC0xLjM5LDAuMDMgLTAuNDYsMCAtMC45MiwtMC4wMSAtMS4zOCwtMC4wMyAtMjMuODksLTAuNjkgLTQzLjc2LC0yMC4yNSAtNDQuODMsLTQ0LjE1IC0xLjE1LC0yNi40OCAxOS45NywtNDguMzUgNDYuMjEsLTQ4LjM1IGggMC4yMyAwLjM4IGMgMTQuNDQsMCAyOC40NCwtNS4yMSAzOC42OSwtMTUuNDUgbCA1Ljc2LC01Ljc3IGMgMTIuNzcsLTEyLjc4IDE5LjM2LC0zMC4xNyAxOS44NywtNDguMjYgMC4wNSwtMi4wMyAwLjIzLC00LjEgMC41NiwtNi4xOCAzLjEzLC0yMC4wNyAtNDMuNjE2NzksMTM4Ljc3Nzk1IC0wLjM0NjcxLDMyLjY3NDE3IC00Ni43MDcyNiw5My45MTc2NCAxMS40NjY1NSwtMi4xOTIxOSAxMy40MzY1NSwtMi4xOTIxOSAyNy41MywwIDE4LjYwNzIyLC0xMC4zNjgwOSAxNS4wMjcyMiwxNy44ODE5MSAtMi41OCwyMC4yMSAxMS42NTgxNSwzOS4yOTYzNiAyNC42ODI5NCw0Ljc4NjExIC0yLjA4LDAuMzIgLTQuMTEsMC40NiAtNi4xNCwwLjUgLTE4LjI1LDAuNDIgLTM1Ljg3LDYuOTcgLTQ4Ljc4LDE5Ljk0IGwgLTIuMDgsMi4wMyBjIC0xMS4xMiwxMS4xNiAtMTYuNTEsMjYuNyAtMTUuMTcsNDIuMzkgMC4wOSwxLjI5IDAuMTQsMi41OCAwLjE0LDMuOTIgdiAwLjIzIGMgLTAuMDksMTcuMDMgNS45OSwzMy41NCAxOC4wMyw0NS41OCBsIDEuNTcsMS41NyBjIDExLjMsMTEuMzEgMjYuNTMsMTguMTEgNDIuNDMsMTguMTEgMC41MiwwIDEuMDQsLTAuMDEgMS41NiwtMC4wMiBoIDIuNzIgYyAyMy44OSwwLjc0IDQzLjc3LDIwLjMgNDQuNzgsNDQuMiAxLjE1LDI2LjQ4IC0xOS45Nyw0OC4zNCAtNDYuMjEsNDguMzQgLTAuMzcsMCAtMC43OCwwIC0xLjE1LC0wLjA0IC0wLjUyLC0wLjAyIC0xLjA0LC0wLjAyIC0xLjU1LC0wLjAyIC0xNS45NiwwIC0zMS4zMyw2LjIgLTQyLjYzLDE3LjUgLTEyLjczLDEyLjY5IC0xOS4zMiwyOS45NCAtMTkuNTUsNDcuODkgdiAwLjYgYyAtMC42LDI0Ljc3IC0yMS40NSw0NS4wNyAtNDYuMjEsNDUuMTIgelwiXG4gICAgICAvPlxuICAgICAgPGEgb25DbGljaz17b3BlbkVsZW1lbnQoe2VsZW1lbnRUb09wZW46IFwidW5kZXItcmVzcG9uc2l2ZVwiLCBjbGFzc1RvSGlkZTogXCJ1bmRlcnN0YW5kaW5ndGFiXCJ9KX0+XG4gICAgICA8cGF0aFxuICAgICAgICBpZD1cInBhdGg3OFwiXG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZmlsbDogXCIjODUwZTc4XCIsXG4gICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgIHN0cm9rZTogXCJub25lXCIsXG4gICAgICAgIH19XG4gICAgICAgIGQ9XCJtIDYzMy4yNCw1ODEuMSBjIDAsMzEuMTggMjguOCw1Ni40NiA2NC4zMiw1Ni40NiAzNS41MiwwIDY0LjMyLC0yNS4yOCA2NC4zMiwtNTYuNDYgMCwtMzEuMTggLTI4LjgsLTU2LjQ2IC02NC4zMiwtNTYuNDYgLTM1LjUyLDAgLTY0LjMyLDI1LjI4IC02NC4zMiw1Ni40NiB6XCJcbiAgICAgIC8+XG4gICAgICA8L2E+ICBcbiAgICAgIDxwYXRoXG4gICAgICAgIGlkPVwicGF0aDgwXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBmaWxsOiBcInZhcigtLW91cmJlaWdlKVwiLFxuICAgICAgICAgIGZpbGxPcGFjaXR5OiAxLFxuICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICBzdHJva2U6IFwibm9uZVwiLFxuICAgICAgICB9fVxuICAgICAgICBkPVwibSA1ODcuMDQsNjM5LjY2IGMgMCwyNS4yOCAyMC44Nyw0NS43OCA0Ni42Miw0NS43OCAyNS43NSwwIDQ2LjYyLC0yMC41IDQ2LjYyLC00NS43OCAwLC0yNS4yOCAtMjAuODcsLTQ1Ljc4IC00Ni42MiwtNDUuNzggLTI1Ljc1LDAgLTQ2LjYyLDIwLjUgLTQ2LjYyLDQ1Ljc4IHpcIlxuICAgICAgLz5cbiAgICAgIDxnIGlkPVwiZzg0XCI+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDkwKVwiIGlkPVwiZzg2XCI+XG4gICAgICAgICAgPGcgdHJhbnNmb3JtPVwibWF0cml4KDcyLjYsMCwwLDcyLjQ4LDU5OS40LDgzMC41MilcIiBpZD1cImc5MlwiPlxuICAgICAgICAgICAgPGltYWdlXG4gICAgICAgICAgICAgIGlkPVwiaW1hZ2U5OFwiXG4gICAgICAgICAgICAgIG1hc2s9XCJ1cmwoI21hc2s5NClcIlxuICAgICAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1rQUFBREpDQVlBQUFDSnhoWUZBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFGQzFKUkVGVWVKenQzWGxjVkdYYkIvRGZtVE16TUNBb2lLaUk0TDVDbXZ1U0dwcVdxYmt2dWFTcHVXVHFrMHRwRnBhcG1Wb3VUMm5hWXB2N25nc3VsYWxrYXFhSVlZaW95Q0pJSUp2QU1NdVo5dzhmVzE2Vnc4emM1NXc1dy9YOUx4MnU2K29qUDRZNTV6NzN6UUd3Z1JEeVNCcWxCeURFMVZGSUNCRkJJU0ZFQklXRUVCRVVFa0pFVUVnSUVVRWhJVVFFaFlRUUVSUVNRa1JRU0FnUlFTRWhSQVNGaEJBUkZCSkNSRkJJQ0JGQklTRkVCSVdFRUJFVUVrSkVVRWdJRVVFaElVUUVoWVFRRVJRU1FrUlFTQWdSUVNFaFJBU0ZoQkFSV3FVSElQZDRlVlZDZVBQdUNLMzFHQUlEYThQZ1ZSRldpd21GaGJtNGxSYVA2OWZPSS82UGs3QmFURXFQV3U1UVNCVFVxRWtuZE92K0VtclhiUW4veXNIUWFFcC9ZemViUzVCNSt3WVM0ay9oeUtFMVNFKzdJdE9rNVJzSDJ1WlVkcDBqWGtDUG5sTVFYTE9Kd3pVRXdZcUVLNzlnLzU0UDhIdnNENkIvUnVsUVNHVFVvRkZIakJ5ekRDR2g0VXpyeHNZY3hkY2JaaUFyTTRscFhYSVBoVVFHSE1laGQ5L1o2RGRvTG5oZW10OXdMUll6dnZ4MEtxSlBiQVlnU05LanZLS1FTRXluTjJENnpNMEllNnliTFAyT1JLM0IxbzF2d21vMXk5S3ZQQ2gzSWRGb05QRHk5b08zZHlWNGVIaERxOVVESEdDMVdtQXFLVVp4VVI3dTNyMERDNE9yU0I0ZTNvaGNlQXcxZ2hzem1MenNmb25laHMvWFRZVEZZcEcxcjdzcUYxZTNlRjRIUC84Z1JEdzFEbDBpUnFPQ2ozK3ByeGNFQVRIbm8zRHd1eFZJVFltRDBYalhnWjU2ekoxL1NQYUFBRUQ3SjRiQWJEWml3NmV2d0dZclZ6OERKZUhXN3lROHIwT25MaU13OHNVUG9kWHFISzRUZldJenZ2NzhQekNaaXNyMGVvN2pNT2FsLzZKTHhHaUhlN0t3NWR0NU9IUmd0YUl6dUFPM0RVbXJOdjB3OFpYUG9OTjVNS2xudFZwd0tub3JQdjlra3Voclc3Y2JnQ25UdjJMUzF4a1dpeG16cDRjajUwNmEwcU9vbXR1RnBFSUZmOHlkZnhnMWdodEpVajh2THhQTEZ2VkZhc3J2RCsvdlV4bkxWOGZCMDlOYmt2NzJTazZLUmVUY2prcVBvV284Z0xlVkhvS1Z4bUZQWW01a0ZBS3FoRWpXdzlQVEc1MGpSdi92WnQ2cEIvNSsyS2ozVUw5Qlc4bjYyOHZIdHdyU1V1TnhLeTFlNlZGVXkyMFdPTGJyTUJqL21iVVZQajZWSmUrbDFlb3dhTmg4REg5aEtUaU8rK3ZQQTZ2V1FhY3VJeVh2YncrTlJvT2hJeFlxUFlhcXVjWFZyUmF0K21Ec3hEWFE2ejFsN2R1ajUyUVVGK1ZoOTQ1Ri8vdnZsNWw5Qm1LcGNrQXdnbW8wS3VYZFJJUDZEZHFnV1l0bkVCSWFqc29CTlZHeFVsWG85VjdRYXZXd1dFd29Lc3BEYms0R01qT3VJLzZQazdoNDRUQ3lzNUpsL2Y5UWl1by9rOVFNQ2NNYjh3L0Q0T1dyMkF4clZvM0J1Yk43c09MakJGU3NGS2pZSEtXSnUvUVRsaTN1ODY4L3F4N1VFRjI2amtiYjlvUGc1MS9kcm5wV3F4V0pDYWR4S25vcmp2KzRnZVdvTGtmVklkRnE5Vmk0OUN5cVZhK3I2QndXaXdYYk4wZmkrVkdMRloyak5FYmpYVXg2OFY0UUFxdldRZDhCYzlDdTQyQW15MlR5ODdPd2JWTWtUcDNjREVGd3Z4dVlxZzdKMklscjBQbkpVVXFQb1FwV3F3VVRSZ2VpVzQ4SkdQejhBdWgwZXVZOWJseS9nSFVmalVORytsWG10WldrMnBCVXJGZ1Z5LzhiNTVLZkFWeFZUazQ2L1B6cys3WEtYb0lnWU0ycTBmanQxNzF1YzdkZnRaZUFYM3ZyQUFJQ2FpbzlocW9ZREQ2UzkrQTREbTNhRDRDcHBCaFhFODVDcFQrRC8wV1ZsNEExR2g2aG9ZOHBQUVlweFpEaEM5QnYwQnlseDJCQ2xTRVpNbnloVTJ1eGlEejZEbmdkVHowOVdla3huS2E2a0hDY0ZsMjdqMWQ2REZJR0hLZkIwQkh2SXFoR1E2VkhjWXJxUXFMVDZlbGRSRVYwT2crODh1b21wY2R3aXVwQ1VyZGVLMmcwdk5KakVEc0UxV2lBZ2NQZVZub01oNmt1SkMxYTl4Ri9FWEU1WGJ1TmhRcS8zUUNvY09wNkxyVENscFNkZHdVL0RCbitqdEpqT0VSMUlRbXNXbHZwRVlpRE9xbDBkWVRxUXVMcFdVSHBFWWlEdkwzOTRPY1hwUFFZZGxOZFNFcEtDcFVlZ1RoSW85R2dULy9aU285aE45V0Y1SGJHRGFWSElFN28ySGtFMVBadHA2NXBBU1RFLzZ6MENNUUpXbDRMWHF1dVovMVVGNUt6WjNZclBRSnhBcWZSZ05lb0t5UXVNYTFXNjRHbmU3MkNMaEZqNEYyaEVuUTZEL0M4RGhxTkJqWWJZTE1Kc0ZqTU1KdU51RnVRcmZTNHhBa2N4NGtlTWVGcUZBc0p4M0hvMkhrRWV2ZWRoU3FCb1k5OFF1N2VQZ3NhOEx3V0hoNEdWS2pnSit1Y2hDMk8wNENqa0locjIyRXdCZzJOUkpYQVdrcTBKOFF1c29ha1lzV3FlR25LZW9TRmQ1V3pMWEVoZ2lCQUVLeEtqMkVYMlVMU0pDd0NMNzI4VHZMSFI0bHJzOWtFMkNna0QycmR0ai9HVC80RUhoNWVjclFqTHN4bUUyQzFVa2orSmJ4WmQweVk4aWx0MkVBQUFDVWxSZWp4N0JUVWI5QU9OWUlib1dLbGF0RHBQR0V4RzVHWGw0bU05RVJjVHp5SHF3bW5rWkljaC95ODIwcVBMTzF1S1FGVmFtSHg4bDlsMzFtUnVBZWJUVURzaGFNNHVIOFZFaE5PSzNaNmwyUWg0YlU2Zkx3K0JaNEcxOWhkbmFoYmZ2NmZXUGZSZU1SZlBnR3JWZDROOENRS0NZZXBNemFpSlQwZ1JSaEx1aEdERDVjTVFINytuN0wxbE9TdWpyOS9EUW9Ja1VTdDJzMnhjbTBpbWozK2pHdzlKZGljamtQa3dwOWtPUUtCbEU4Y3g2Rk51NEhnTlZyRVh6NGhlVC9tN3lUVnF0ZEQ5YUQ2ck1zUzhpODh6Nk5QLzFsNGZ0UVN5WHN4RDBtUG5sTllseVRrb1RRYUhrODlQUkU5ZTArWHRnL0xZZ2FETHpwSHFQTTVacUpPUEsvRmdNRnZvbnBRQThsNk1BMUoxV3Axb2RXeTM5S2ZrTkxvOUo1NDQrMmprdTNIeGpRa3RldTJZRm1Pa0RMejhmSEh3S0h6SmFuTk5DUU5Hei9Cc2h3aGR1bjEzS3Z3OW1iL3ZCSFRrQVNITkdWWmpoQzc5UjNBL3JnSHBpSHg5Ni9Cc2h3aGR1dng3TXN3R05nZU1zczBKSjZldEU2TEtJLzFielJNUXlMM3dqTkNIaWFpMjFpbTlaaUdSTTVGWjRROFNwdjJBOEh6N002d1lScVNqUFJFbHVVSWNZaFdxME1saG8rSk13M0o5YXUvc2l4SGlNTjhmUU9ZMVdJYWt2Zy9vbG1XSThSaG5sN3NybkF4RFVsNmVnTExjb1E0VE1kd2VSVFRrT1JrcHlFNUtaWmxTVUlVeHpRa05wc05PN2N2WkZtU0VJZVlMU1ptdFpnL1QzTGxjalJLU29wWmx5WEVMc1ZGK2N4cU1RK0owVmlBVFYrL3pyb3NJWFlwWUhqUFRwS05JS0pQYklUUlNNZTJFV1dZVFNYSXpVbG5WaytTa0ZndEpzeVorYmpxTmtZbTd1SE02WjFNbDBoSmRsQkU3cDEwN051OVZLcnloRHpTVDk5L3pyU2VwS2VwN042eEdKZGl2cGV5QlNFUFNFdUxaMXBQOGlPSFZpd2JqTXUvL3lSMUcwSUFBQWYzcldSNlpRdVFlTVBzKzNoZWgzRVQxNkJEcDJGU3R5TGwzTXZqYTZLb01KZHBUVmtPcjdOYXpWaS9aZ0srL21JR3pPWVNPVnFTY21qdnJ2ZVpCd1NRNloza240SkR3akRpaGZmUnVHbG5PZHNTTjFlUW40WHBrK3RKY2tWVjlwQUE5L1p5YmRXbUg1N3BQUTExNjdXU3V6MXhNeWFURVcrOTNoNjNNNlI1bmttUmtQeFRjRWdZZWozM0ttclhlUnhWQW1zLzhxaHFRaDdHYWpGank4WjVPSHBvcldROUZBL0pQK24xWGdodjFnMTE2clZHdFdwMTRWM0JIelZEdytEdFhVbnAwWWdMc2xvdE9IUmdOYlp2bG1aVHV2dGNLaVFQTTI3U1duVHFNbExwTVlpTHNWck0yTE56Q2ZidGtmNkd0Y3YvYm5NcmxlMk5JYUorWnJNSnF6OFloa3NYajhyU3orVkRjalBwb3RJakVCZVNkTzA4bGk1K0RrVkZlYkwxZFBtUUpOMklVWG9FNGdMeThqTHg4WXBSdUpwd0dqYWJJR3R2Q1k2RFk4dHNOaUlvdURGcUJEZFdlaFRpb0xrelc4SmtNcUoyM1paMkhZOWdzd200Y080QTFxK2RnSzBiMzBSVzFrMG84UkhhNVQrNEEwRFQ4SzZZL2NaZXBjY2dEaHJ6dkE4QVFLdlZJNmhHUTRUV2JvN0dUVHNqTkxRWi9BT0NvZGQ3d1d3MklqYzNBK2xwVjNEMXlta2tKcHhCK3EwRUZCUmtLVHk5U2tLaTFlcXhkR1VzL0N2VGh0eHFZN1ZhTUc0aysrTVE1Q1RMMmkxbldTd21mTE5oaHRKakVBZVlUT3JmNzBBVklRR0FpeGVQSURYbHN0SmpFRHZkdlh0SDZSR2NwcHFRQ0JZTFBuaXZIejBTckRJNTJXbEtqK0EwMVlRRUFISnkwdkhaMmtteVh3SWtqa3R6ZzV2QnFnb0pBSnlLM29Mb0U1c2dDQlFVTmJnWWMxanBFWnltdXBBQXdPZWZUTWE1TTd2cEhjWEZHWTJGdUhqK2tOSmpPRTJWSVFHQU5hdkhZUC9lRDVVZWc1VGkzTm05YnZHRFRMVWhBWUNkVzkvQmtnVTlKZDBJcjZnd0Q3dTJMNUtzdmpzN2R2UXpwVWRnUXRVaEFlNmRpVEpyV2xQOGZHSVQ4OW9IOTYzQ3pHbGh5TSs5emJ5MnU0dU5PWXByaWU1eHFKUExMM0FzaTdzRjJmaDA3VVJFN1YrTlhuMW5vSDNISVU3Vk8vYjlGNGc2c0JxWkdkY0FBSjRHSHhaamxpdFNQd2dsSjdjSXlYMnBLWEZZOTlFNDdOanlEcHFHUjZCdGgwRm8xTGdUZUw3MFJYVm1jd25pTGgzRG1WTTc4SHZzRHcrc0Y3SXczTWEvUE5pM1p6bFNraThwUFFZemJoV1MrN0t6a25IaTJGYzRjZXdyOEx3T3dUV2JJQ0N3Rm54OXE4RER3d3NBVUZKU2lOemMyOGpLVE1LdHRQaFM5NDR0TE15UmEzU254SnlQUXZNV1BSV2RJZWw2RFBidFhxYm9ES3k1WlVqK3lXbzE0MmJTUmFjZTNycWprcnZHdTdZdlFsRmhubUtiQUJia1oyUFZCME5oTWhVcDBsOHFxdi9nTGdlMW5BV1psNU9CVDlkT1JPeEYrZmRmTGk0dXdMdVJYWkZ6NTVic3ZhVkdJU21EL054TXBLYjhvZlFZcGJxVG5ZcTh2TnV3MlFTc1dEb1lGMzZMa3ExM1FVRTI1c3hvZ2N6YjEyWHJLU2NLU1JtZFA3ZFA2UkZLOWNPUnYrOUoyQVFMVmkwZmdxajlxNW1lMC9ILzJXd0NVcExqTUhWQ0hlVGxaa2pXUjJrVWtqSTZmKzZBMGlPVTZ0Y3p1eDc0czYwYjUrR2RlVjFRWEZ6QXZKL1pYSUxkTzk3RFc2KzNBNkQrdStxbG9aQ1VVZEwxODhqT1NsRjZqSWZLemNuQW41bEpELzI3NUp1eG1EdzJHSnUvZVlOWnZ3dm5vekRweGVyNGJ0Y1NaalZkbVNvZTMzVVY0YzI2WSthY0IzOWlLMjMrM0U2NG1TUytxNHhlYjBDVHBsM3d3cmlWZGo4S1hXSXN4Szd0QzNIeStMZVM3Tnp1eWlna2R1QjVQWmF0dWdUL3lrRktqL0tYM056YmVQWGxSckRaeXY3WmcrTTQrUGdHSXFCS0NNTEN1NkpCb3c2b0h0UUFQcjRCNEhrdGlncnpjRHZ6T200a25rUE0rY05JVDcrQy9Oek1jbnRUbFVKaXA5RGF6ZkhPNHBOS2p3SGczaVlMczZlSDQwNTJxdEtqdURYNlRHS25temRpY2ZqQVIwcVBBUUE0dEg4MUJVUUdGQks3Q2RpK1pUNHkwcVU1QzZPc3JpYWN3Zll0N3JPSTBKWFJyMXNPMG1vOXNXelZSZmo1eS8vNTVGYmFGVVRPZVFJV2kxSDIzdVVSdlpNNHlHSXhZdDdzdHNpOGZVUFd2cWtwbC9GdVpGY0tpSXpvbmNSSlBLL0gzUGxScUZlL2plUzk0bjcvQ1N2ZUgxaHVyeklweGUxRDR1M3RoNkRnaHVqWWFUZ2FOdTRJLzhyQnNOa0VaR1VtNDNMY2Nadyt0UTNwdHhKUlhPVGN0ZjhSbzVmaHlhNWpvTk43TXByOGJ5WlRNUTd1VzRrOU94WXpyMDNFdVcxSURBWmZESDloQ1RvOU9VcjB0WUpneFpHb05kaTFiYUZUeTd3REFtdGg1dXU3VUxWYUhidDJUeTl0cnJUVWVIeXdwRDl5YzlLZHJrY2M0NVloZWJ4bEwweWZ0Y1docjMzN2pVNU9uNGxTclZvOXpKNjNENVVEZ2gydWtaR2VpQ1VMZWlMWGpSY09xb1hiaFdUWXlNWG8wWE1LTkJySHJra0lnb0R0bStjamF2OUtwMmN4ZVBtaVJjdmU2Tmw3R29KRG1vcSsvc2IxQzRqYXZ4cVhZbzdBYUN5QXplWlcvelNxNVZZaEdUaDBQdnIwbThXazFqY2JadUtISSt1WjFBSUFUMDh2ZUJvcVFxODNRS3ZWZytNMEVBUUxyQll6aktaQ0dJc0szR0lIZG5ma05pRnAzYllmSmsvN2tzbG5BZURla28vM0Z2UkVZc0pwSnZXSWVybkZmUks5M2hQUGoxckNMQ0FBd1BOYWpKKzBGcnhXejZ3bVVTZTNDTW5UdmFaSmNncFd0ZXIxMExiOVFPWjFpYnE0UlVqYWR4Z3NXZTJJYm1NbHEwM1VRZlVocVJ4UUUwSEJqU1NyWDc5aE8vaFdESlNzUG5GOXFnK0pISnV4MVcvUVR2SWV4SFdwUGlRaG9lR1M5Nmhhclk3a1BZanJVbjFJdkN2NFM5N0Q0T1VyZVEvaXVsUWZFck1NTitETTVoTEpleERYcGZxUTNKYmhlWTZjTzdTNHNEeFRmVWl1eFA4c2VZL2twRmpKZXhEWHBmcVF4TWRGbzFEQ2ZhRHljalBkNnF3TllqL1ZoOFJtc3lBdTlwaGs5YU5QYklRZ1dDV3JUMXlmNmtNQ0FOL3RmbCtTamFFdEZqT08vZkFGODdwRVhkd2lKS2twY1RqKzQ1Zk02KzdadVJoWmo5aGpsNVFmYmhFU0FOaXlhUjVTa3VPWTFVdE1PSU5EKzExakV6cWlMTGNKaWNsWWhCVkxCeUhyejJTbmE2WGZ1b29WU3dmVHRqMEVnQnM5ZEhXZmowOEFYbnR6SDJxR2hEbjA5ZGV2L1lZbEM1NTF1M1AvaU9QY0xpVEF2VjNUbiswekE3Mzd6WVNoakdld0Z4Ym1ZdHVtU0J6L2NZUEUweEcxY2N1UTNNZHhIRHBIak1Hd2tZdWcxeHZBY1pxL05vZ1FCQUUyd1lyQ3dseDgrOVZzblAxbHA4TFRFbGVsZUVnMEdpMmU2RElDN1RzT1JWQ05CakNialVoTU9JdWpoei9CdGF0bm1mVGdPQTQ4N3dHdFZndE9vNEZOc0FHd3dtS3h3R28xMDY0a3BGU0toY1RMdXhLbXpkaU1PdlZhUWYrSVhRL3YzczNCOTRmWFljK09SVEpQUjhqZkZBbEoyR05QWWZMVUwrQmR3YTlNcjArNkVZTWxDM3JDYUx3cjhXU0VQRWoya0lRMzY0NnBNelk5OHQzalVUTFNFekZ2ZG10Smoxd201R0ZrdlUvaTQxc0Y0eWQvWW5kQWdIczdsN3o2Mmc0SnBpS2tkTEtHWk9DUVNGUjBZbE9GeGsyN29IcFFBNFlURVNKT3RwRG9kSjVvMDc2L1V6VjRYb3RKVStrK0JwR1hiQ0Y1ckhrUGVIbFZkTHBPOWFBRzREaTNXVTFEVkVDMjc3YjZEZHN6cWNQek92Qzhsa2t0UXNwQ3RwQlVxbFNWU1IyZVo3ZmZMeUZsSVZ0SVdCMHJJQWlDKzY2aklTNUp0cEN3ZXRaREVDd0FMU01oTXBJdEpPZk83bVZTeDJ3dXVSY1VRbVFpVzBoeTdxVGhTdndwcCt0czIvUVdMVWdrc3BMMVd1cnU3YzR0Vk16UCt4UEh2cWVOR1lpOFpBMUovT1VUT0h6d1k0ZSsxbVF5WXVYeUlYRGp4MStJaStJQnZDMW53ei9panFOeVFFMjdkb00zbFJUamkvV3Y0TkxGb3hKT1JzakR5UjRTbTAzQStYTUhZVFRlUmQxNnJhSFRlWlQ2K3RTVXkxaXplZ3hpWXc3TE5DRWgvNmJvazRrR2d5LzY5SitOSm1FUkNLZ1NBb1BCQnpaQlFFRkJOakxTRTNIeStEYzRkWEtMa2lNU292emp1NFM0T2xvcFNJZ0lDZ2toSWlna2hJaWdrQkFpZ2tKQ2lBZ0tDU0VpS0NTRWlLQ1FFQ0tDUWtLSUNBb0pJU0lvSklTSW9KQVFJb0pDUW9nSUNna2hJaWdraElpZ2tCQWlna0pDaUFnS0NTRWlLQ1NFaUtDUUVDS0NRa0tJQ0FvSklTSW9KSVNJb0pBUUl1TC9BSkM5SVRxL2ZtRkdBQUFBQUVsRlRrU3VRbUNDXCJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtPVwibWF0cml4KDEsMCwwLC0xLDAsMSlcIlxuICAgICAgICAgICAgICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwibm9uZVwiXG4gICAgICAgICAgICAgIC8qIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgaW1hZ2VSZW5kZXJpbmc6IFwib3B0aW1pemVTcGVlZFwiLFxuICAgICAgICAgICAgICB9fSAqL1xuICAgICAgICAgICAgICBoZWlnaHQ9ezF9XG4gICAgICAgICAgICAgIHdpZHRoPXsxfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2c+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICAgIDxnIGlkPVwiZzEwMFwiPlxuICAgICAgICA8ZyBjbGlwUGF0aD1cInVybCgjY2xpcFBhdGgxMDYpXCIgaWQ9XCJnMTAyXCI+XG4gICAgICAgICAgPGcgdHJhbnNmb3JtPVwibWF0cml4KDY4LjA0LDAsMCw2OC4wNCw3MTEuODQsNzE0LjYpXCIgaWQ9XCJnMTA4XCI+XG4gICAgICAgICAgICA8aW1hZ2VcbiAgICAgICAgICAgICAgaWQ9XCJpbWFnZTExNFwiXG4gICAgICAgICAgICAgIG1hc2s9XCJ1cmwoI21hc2sxMTApXCJcbiAgICAgICAgICAgICAgeGxpbmtIcmVmPVwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFMd0FBQUM4Q0FZQUFBRENTY1NyQUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBQytKSlJFRlVlSnp0M1dsMFUzVWV4dkVuU1pPV0FxV2xSYXIxdEVLaFVLQnFSNVlaVkppRGlBc0t5cUt5Q0RJNEZFUlpYQUVWeFRNTU1xTTRqQjZCVWNFUkQ2aUk0bEpFSElvVlJWU3dDQlJLV1F1bFpiR1E3bTJTZXpNdjlBWGpRSm8wZDBueWV6N24rQ3IvM3Z0NzhTV21OL2YrYXdIZ0JaRVFWck1ISURJU2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENRS2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENRS2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENRS2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENRS2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENRS2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENRS2d5ZFJHRHlKd3VCSkZBWlBvakI0RW9YQmt5Z01ua1JoOENSS2xOa0RFUGxpaFJYWHBnN0VnQ3NHbzB0U0Q4UTU0bEhucnNHQnMzdVJYN0lCbTQrdWgxdDErMzA4Q3dDdmZ1TVNOVjltMGxWNG9PZHNkRTdNdk9pYVV6VmxXUGpOTE96OStTZS9qc25nS2VTMGRzUmplcCtuY1YzcVFML1d1eFFYNXVWUHg0N3lyVTJ1WmZBVU1peXdZR0wyVE56WmRTeHNWbHRBUDF2bnJzUGtUKy9FNmJxVFB0ZnhsMVlLQ1RkMkdJcFZ3elpoUkxmeEFjY09BTEgyV0l5LzZxRW0xL0Vkbmt6VktTRVRNMzcvTERxMTdScjBzUlJWd2FpMUExRGxjbDUwRGEvU2tDbGk3YTB3NjlybmNjMmxmWnYxam40aE5xc05hZkhwMkgxNngwWFhNSGd5M0o5Lzl3Z0dkeHFKR0hzTHpZOGRGNTNnODNVR1Q0YnBsem9JRC9TY2pmZ1diWFU3aDZvcVBsOW44S1M3bEZhcGVQYVBMK1B5dUZSWUxQcGVKem5UeEZVYUJrKzZjVmhqTUxmL0ltUW45NEhOcW45cWRlNWFISGJ1OTdtR3daTXV4bVpOeHQzZDc0ZmRaamZzbkcvdWZCbXFWL1c1aHNHVHBucTB5OGFDRzE0ek5IUUFPRjFUam8rTDMyMXlIWU1uVGNSRngyUEpyZThqTWJhZDRlZDJLUzdNM0RnT2dPOTNkNERCVTVDaWJURjRvdThDOUUwZFlNcjVqMWNleGJRTm8xRHZxZk5yUFlPL0NMdlZqaWlySFJhTEZSYXpod21DNmxYaFVsMVFWSStteDQyeVJ1R1c5QkdZMm51MnBzZjFsNko2c0s1b0ZWNHJlREdnbjJQd3YzSkV4ZUNTMkdRTTZUd0tBOU52UjZ5OXBka2phVVpSRlh4MmNDMVc3bm9WbFkzbmdqeWFCUmx0dStHbFFTdGhzMm56RFdtZ3Fob3JNWGZ6VkJSVjdBNzRaOFhmU3hNZjNSYkRNdS9GOE14eGhsdzZNNU9xcWxpeWZTRStPZkJPczM2K2ZjdkxzR0RBTWx3V2w2cnhaUDd4ZWxYc09WMkEyWG1UNEdubS83SEVCcDhRazRoaG1lTXd2T3M0V0syeWJocDlyM0E1bHU5YzdQZjZOdEVKbUpnOUU0UFNoK280bFc5dXhZV1Z1NWJndmIzTGd6cU91T0RieFNaalpMY0p1SzN6WGVKQ1A5K2NUVG40OGVRMm4ydnNWZ2R1VHI4VGs2NTV6UERMak9jN1ZWT0dKL09tb0xUNmFOREhFaE44U3VzMDNOUDlmdHlZUHNUc1VVSkNpZk1RY25LSCtWeno1cEQxU0c2ZFl0QkUvMC8xcXRoNlBBL3p0endLcjBhWlJ2YUhWZ0FkNGpNd3BrY09ya3Z6NzNFeEtkTGkwOUVoUGdOSG5NVVhYYU5WWk0zaDhyand5Zy96c2ZId09rMlBHNUhCVzJCQmw4UXNqTW5LUWErVTY4d2VKMlQxdkxTdnorRDl2YmF0dGFQbkRtSlczaVE0R3lvMFAzWkVCVytCQlZlMjc0VXhXVG00c24xUHM4Y0plVW14eVQ1Zjl3U3cvWVZXUGlwYWpTVTdudGZ0K0JFUnZBVVc5RTdwaDFFOUpxRnJVZyt6eHdrYkRVcTl6OWR0RnVPdXM5ZTc2N0RnNnlmd2ZkbFh1cDRuN0lQdm4zWXpSblcvSDFja2REWjdsTEJ6b0tMUTUrc09XN1FoYyt3NnRSM1A1YzlFamJ0SzkzT0ZiZkMzZGhxR0VkMG00TExXNW53SkV1N3EzTFg0L3NRV24ydGFPZUowbjJONXdUL3cvcjYzb0hwOVA2bWtsYkFMZm5qWGNiaWo2MWkwYTluZTdGSEMycWJEbjhLbE5sNzA5Vmg3SzhSRngrdDIvblAxRlhqbXkya29QcnRIdDNOY1NGZ0ViN1ZZTWJwSERnWjNIb21FRm9sbWp4UDJ5cXFPNFY4L3Z1Qnp6YUNPUXpYYlRlQzN2aXI1SEl1L2V3NjE3aHBkanU5TFNBY2ZaWTNDaEt0bllGREhJV2dkM2Nic2NTTENxWm95UFBMRmZYQ3JMcC9yQm5hOFhmTnpxNnFLUmR2bUl1OUlMbFEvN2wzWFEwZ0dIMjJOd2VTZWo2TmYyazFvNldobDlqZ1JRVkVWZkxEdkxieTlleWthbFFhZmF6UGE5a0RIK0M2YW5yK3MramlleXB1Q3NwcmptaDQzVUNFVmZFdDdLenpVK3luMFNlbVBGdlpZczhkcGxoMWxXM0hnN0Y2enh3RHd5ejBqMVExT0ZKNHB3SW5xWTM1ZkJYbXcxeHhON3pQS0xWNkRaVHRlZ0V2MS9RL05DQ0VSZkd0SEd6ejZoNzhnTzdrUEhGSEdYQXJUeTdZVCtmaWt1SG0zMzRhQ0VabmprWkhVWFpOanVSVVg1dVhQd0k3eXJhYmVwbkErVTRPUGkwN0EzT3NYb1V0U2xxbDM0OUV2dWlSbStiVWhxVCtPT1EvajRZM2pEYm0ySGdoVGdvK1BTY1NDQVV1UjJpWmR0eXNCRkppVTFxbFllTVBybXJ6eHJDbGNnUlU3LzJuYUw2YStHQnA4MjVoMldIenoyMGlNdlFSV25YZWdJdjkxVGJ3U0w5eTRBbEcyNEhKbzlEVGdvYzlHNDFqVklZMG0wNTRod1NmRkp1TzEyejRNMjE5RUk5bUVxNmZoN3U0VGd6NU9pZk1nY25LSGF6Q1J2blFOUHExTko3eHl5MnJZYlE0OVQwTUJzbHFzeUV5NkNuOGRzQlRSVVRGQkhVdFZWYnhSOEJMV0ZyMmwwWFQ2MGp4NG16VUszWk95TVgvQXF3dzloRVJaN1lpMXQ4U1F6dmRnZEZhT0pwY2RxeHNyTWZIam9haHlCYnNUZ25FMGU4VFBibldnZDhyMWVLTHZnckMvdEJpTTRvcENsRmFWbUQwR0FNQmhzNk5OZENJeUVyc0YvVTcrVzd0T2JzZmptNEwvS0dTMG9JT1BpV3FCZnFrM1lXcXZPWWdXSExvVUxxVVJMMzc3TlBKTFBqZDdsR1pwOWtlYVZvNDRET3d3QkgvS25nNEhQN3FJVUY1ZGlpbTVJNXA4Y0NTVUJSeDhtK2dFRE80MEVxT3pKaUdLWHhhSnNmSFFPaXphTmcvK2JGZ2F5dndPUHJIRkpiaWp5eGdNeTd5WFh4WUpVdDFZaWZsYkhzUE9VOStaUFlvbW1ndyt1ZVhsR05GdFBHN0x1TXVJZVNpRTdEMjlFM1B6SDBTTnE5cnNVVFRUWlBEOTAyNWk3TUlvcWdlcjk3eU90M2N2UTdoL2hQa3RHNEJuZlMwb1BGTUF0K0pHOXFWOWpKbUlUSFc2dGh4UGI1Nkt2S081aU1STjZab01IbUQwVW54ekxBOVBicDZDOHBwU3MwZlJqVi9CQTR3K2tyazhqWGoxaCtmeCtzNUZUVDc2Ris3OERoNWc5SkhvZU9VUnpObzBDZHZMdnpaN0ZFTUVGRHpBNkNQSitnUHY0N2t0RCtOcy9SbXpSekZNd01FRGpEN2MxYnZyTUgvTFkxaGI5Ry9OLy9aVHFHdFc4QUNqRDFlSHp1N0hvMS9jaC8wR2I0QVVLb0s2UGZqZHZXOEFBQ1prVDlOa0dOS1BvbnF3dkdBeFBpeGFCUld5M3RYUEYvVDk4SXcrZExrOExoeHhGbVBEb1ErdzlmaG1WRGFlTlhzazAybnlBRWlrUlYvdnJrUFJ6N3V3NzlmL3p0U1dvMUZwaEV0cGdFdHhRL1Y2NEZiY1VLRkE5WG9OMndpVWdxZlpFMC9oR3YyNStncjg1L0FueUR1NkhzNkdDdFI3YXREZ01YL0RJTktIcG8vNGhVUDBkYTRhck51L0NwOGRYSXRLbHhNdVR5TWk4U3QwdWpETm4ya054ZWpQMVZkZzJZNi80OXZTelhBcGpTR3pDeFlaVDVkZEMwSWhla1gxNEowOWIyRFZubVZRK0JtYmZxWGJOaDFtUk8vMWVsSFpjQTVQNWszR0llZCt3ODVMNFVQWGZXbU1pbDcxcWlpck9vN3BHMGFqMW1QOEp2c1VQblRmZVV6djZFOVdsMkw2aHJHb0RLTzlVY2c4aG15MXAwZjB6b2F6bVBmbERPeXIrRW16WTFMa2EvYTlOSUhTNnQ0YmorTEcycUtWZUNwdkNzN1VuOVJvT3BMQ3NPQ0I0S00vVVZXQ0I5YmZoYTJsbXpTZWpLUXdOSGlnZWRHclhoVWY3VitOdVY5T1E3Mm5Wc2ZwS05JWkhqd1FXUFJWRFU0OGt6OE51UWZlQTc4UnBXQ1pFanpnWC9RbHpvT1kvdmtZbEZRZU5IQXlpbVNtQlEvNGp2NzdFMXN3SjI4eWF0MlJzd2tRbWMvVTRJRUxSNTlidkFZTHQ4NkI0bldiT0JsRkl0T0RCLzQzK2pXRks3RDB4NytCbjlkSkQ1cjlRUVF0ZEcrWGpjSXpCV2FQUVJFc3BJSW4waHYvZGlTSnd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSR0R5Snd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSR0R5Snd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSR0R5Snd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSR0R5Snd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSR0R5Snd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSR0R5Snd1QkpGQVpQb2pCNEVvWEJreWdNbmtSaDhDUUtneWRSL2d1TnRhcjJNYUM2eFFBQUFBQkpSVTVFcmtKZ2dnPT1cIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMCwxKVwiXG4gICAgICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgICAgICAgICAgLyogc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBpbWFnZVJlbmRlcmluZzogXCJvcHRpbWl6ZVNwZWVkXCIsXG4gICAgICAgICAgICAgIH19ICovXG4gICAgICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPGcgaWQ9XCJnMTE2XCI+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEyMilcIiBpZD1cImcxMThcIj5cbiAgICAgICAgICA8ZyB0cmFuc2Zvcm09XCJtYXRyaXgoNzMuNjgsMCwwLDczLjY4LDU5Ni40LDYwMi4xNilcIiBpZD1cImcxMjRcIj5cbiAgICAgICAgICAgIDxpbWFnZVxuICAgICAgICAgICAgICBpZD1cImltYWdlMTMwXCJcbiAgICAgICAgICAgICAgbWFzaz1cInVybCgjbWFzazEyNilcIlxuICAgICAgICAgICAgICB4bGlua0hyZWY9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU13QUFBRE1DQVlBQUFBL0lrenlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFHbGhKUkVGVWVKenQzVnR3Rk5lWkIvRC9PWDJabnBHNGc0VFFCUVRHUVdEQTJGZ1lTNENSQ0xiSjNSWEh1VmE4NjNXMmFyZVNxdVJoSC9acFh6ZVBXK1hOYnFxOGlWbkhXY2VPSGRzeDJOZ1N4b0RCWUM0R2JJRVJRa0pjeFIxSmMrbnUwMmNmRkJMQVhPWjA5MHozakw3ZlcrdzVQVi93L09udWMyVUFKQWdoZWVGUkYwQklLYUhBRUtLQUFrT0lBZ29NSVFvb01JUW9vTUFRb29BQ1E0Z0NDZ3doQ2lnd2hDaWd3QkNpZ0FKRGlBSUtEQ0VLS0RDRUtLREFFS0tBQWtPSUFnb01JUW9vTUlRb29NQVFvb0FDUTRnQ0Nnd2hDaWd3aENpZ3dCQ2lnQUpEaUFJS0RDRUtLRENFS0tEQUVLS0FBa09JQWdvTUlRcjBxQXNvRkFNNnB2SXFUT1ZWbU1Rbm9JSW5ZY0tFemtiK0x3c3BZTU5CMmt2amduY0pBOTQ1bkpSbmtKVzVpQ3NuY1ZZMmdkSEEwYWcxWUpZMkF6UDFCa3pWcXFFelRla2FudlF3SU03aHFPakhFYmNYUjBRdmJEZ0ZxcGlVSW9ZU1B1NkNBYWptVlZpb04yR0plUjhTUEJIcTlXM1B3VjduQUhZNys5SHZuUXoxMnFRMGxXeGdwckZxZk1WYWhSbEdmVkcrNzR4N0ZuL0t2bzErN3lSa2FmNlJrUkNVWEdBcWtjS1BrdDlHblRFdGt1Ky9KQzdqMStrWGNFVU9sdFlmSEFsRlNRVm1UYUlkTFlrSG9pNERBTEE3dHcrdjV0YlQzV2FVS1luQVZDQ0ZuMWI4UGNab2xWR1hjcDBoTVl6bjBpOWlRSjZQdWhSU0pMRVBUSk0yRzA4a3Z4cjZDMzFZY3A2TjlkbE83SFQzUmwwS0tZSllCNmJWYU1ZajFzUGdMTjdqcTBKNjJKTGJnUTMyKzFHWFFnb3N0b0ZwTjVlaHpXcUp1b3k4U1NteEpiY0RiOXNib3k2RkZGQXMvK3BlWVR4WVVtRUJBTVlZV2hQTldHMnVpTG9VVWtDeEcrbWZyemRobGJVODFHdDYwb01qSGJnUUFBQU5Ha3htaFA2b3h4akRDbXNwQkFRNjdhM1VnMWFHWWhXWWNSaUx4NjAxZ1gvSXJuUnh4UnRFcnppT2ZmWm42SmNudnpCSFRJZU9lbDZEK1VZVFp1a3pNSTZOZ2NHTlFOOTdWWnZWQ2s5S2JISzJ3WU1YeWpWSlBNVHFIZVpmSzMrR0NwN3kzZDZSTG5iYis3RXUxd0VYcmxKYkRvNlZ4a05vVFN5QkdWSndPcktiMFdsdkRlVmFKQjVpRTVnZldkL0dIUE11MysyMzVYWmhmYTRUNGkrUFhYNXhjTFNhemZoeVlua29qMnp2WnovRXUvWUhnYTlENGlFV2dabkVKdUFYWS83UlY5dUw0aEtlUy84ZUYrWGxVR3VxUkFXZVNqMkpHcjBxMEhXa2xOaWMrd2p2VUpkeldkQUEvRnUwQlhEOFU4VlRzTGlsM1BhQWZRaHJzeTlqU0E2SFhwY05CN3VkL1VqQlFwMWU0L3M2akRFMGFMVkl3RVMzNkEydlFCS0p5QU56dHpZVFN4TDNLYmZibWR1TFYzUHI0Q2krcTZqdzRPRnowUU5JaGthOXdmZDFHR09vMDZiQm90Q1V2RWdEbzRIanFkU1R5bmVYQS9ZaHZKcGJWN1FlcUtQaUdDQ0JtUUZEVTYvVndvQ0JJeFNha2hWcFlHWnBNN0EwY2I5U200dmlFdFptWHk3b25lVm1qb3BqNENIY2FScTBXbWpRMENQNlFxeU9GRXVrZ2ZtSzFZN0oyaVNsTnM4Ty82WWc3eXo1NkJISFlFZ2Q5ZG8wTU1aOFhZTXhoaGw2UFNBbCtzUUpHdHdzTVpGTmpSbUxNWmhqekZacXN5MjNLL1RlTUZYdjJPOWpXMjRYUEJuc2NiRGRXb1lWeGxJdytBc2VpVVprZ1psanpGTDZ2Q05kck05MUZxZ2FOZXZzRG55WSt6andkVllsbDZITkxLMDVjNk5kWklHWnJjOVUrdnh1ZTMvZ1Fja3dyYmM3c1NtN0xmQjEycXhXbXJCWlFpSUx6RXh0ZXQ2ZmRhV0xkYm1PQWxianp3WjdFenF6d2FlK0xFODhpRWZObFNGVVJBb3Rrc0RVOHFtd0ZGWlFYdkVHbGVlR0ZVdUh2UmtkMmMyQnJuRjFhY0JqRkpyWWl5WXcybFNsei9lSzR3V3FKQnlkOXRaUVF0T1NhS1k3VGN4RkVwZ3FQbG5wOC92c3p3cFVTWGc2N2EyQkg4OUdRdk1BV28zbWtLb2lZWXNrTUdQWm1Mdy82MGtQL2JJMGRwM3NzRGNIN2dqZ2pPTVI2MkUwYWY1bmJwUENpU1F3S1piTSs3T09kRXBxZy9BTjlpWnN5ZTRJTkU3REdjY1BLNzZOQ1d4OGlKV1JNRVFTR0pPWmVYL1dqVkZYY3I3VzI1MmhERzcrck9KcEdBaG5NUnNKUnlTQlVkMVZ2eFN0c3p1d0piY2owRFZNYnVDcmlWVWhWVVRDRUVsZ1ZHWlBhU2pkY0wxanY0K05BVHNDRmljV1lnYXZDNmtpRWxRa2dSRXkvekVWa3huUTQ3VlhoNUwzN00zb3lHNEpkSTF2V28rQngzTkhyRkVua3Y4S3Rzei9rQ0xPT09xNS94V1BjZEJwYndrMFRqTkZuNFJGK3J3UUt5SitSUktZdE13b2ZYNiswVlNnU29wblpKekcvNTFtZWVKQm10a2NBNUVFNW9vY1ZQcjhMSDFHWVFvcHNnNTdDN2JuZHZscU8xbWJoUGw2NmYvRlVlb2lDY3daY1U3cDgrUFltTEo1aG44cjE0R1Q3aGxmYlJjYkMwT3VocWlLNUZkNFhQRzhTSU1iV0drOFZLQnFpc3VEaC85T3I0WHRxUjgyMjZqWEk0WDhCMzFKK0NJSnpDbHZBRmxQYmZTK05iR2tiTzR5TGdUK2xGMnYzSTR6am9mTXhRV29pT1Fyc2wvZ0ViZFg2Zk1tTjlCcWxzK2t4RS9jejNCSnFDKzNucTAzRnFBYWtxL0lBbk5ZSEZWdTgrWEVjbFNpb2dEVlJLTWpwOTdWUElsUExFQWxKRitSQmVhUTA2M2Nock9SZmN5aUhzaE1JWW1KYkh6Z1dRaTczUU1ZOUlhVTJpUzVoV2xNYlQwUkNVOWt2N3dyR0VLWGZSaE5wdHJPTVRWNkZkWWsydkJtN3QyaWJsRmtRTWN5Y3dudU5lN0JKRzBDQUVCSWdXUHVDV3kxZDZKTEhQWjEzUlBpRk9ad3RUK0R1Y1pzbkxSUCsvbytFa3lrKzVLbFpRYUx6SHVVMjlYcE5ZQmtJenRTRnNGWVZvbW5VOS9EQW5NdVV2eHZ2VlNjY1V6UXhtR0JPUmNWU0k1c0s2dElnNGE1eHQxS2JaaGsyTzN1Vi80dUVseWszVTQ5NGhndWl5dSsyclpaTFdnelcwT3U2SXQwYVBoKzhsdW8wYXR2KzdrSEUvZmoyOVpYbFVmakQ3bEhsSmNCVlBMeWVZOHJOWkVHeG9PSDF6THEzYXRYdFZ1dFdHVXVDN0dpTDJvMkZxRmVyODNyczR2TWUvQ2s5VFdsNjZlUlVaNHFaSlR3Wk5SU0YvbkFSby9YaDJFdjdidjlTcXNGajVnUGgxZlFEUllaYW8rTTg4MjUrS0gxdUZJYjFSZC9iUlNzSjRxcnlBTWo0T0cvaHRjR3VrWnJvaGxyelBhUUtycGVOVmMvVUtuSnZCdmZzNzZaOStkdHFJMzZsOHNBYmltS3haLzhSWGtaKyswdTMrMDU0MWlhdUIrUG1XMGhWZ1dZTUtCeGYzOUU5NWh6OEIzcmEzbTkwNmoyOXRHYzVlakVJakFTRWk5bDM4Q3c4TDhyUDJjY3JWWnpxTnV1Mm5DVXAvQmNhNkU1RDQ5YmErNzRPVjF4M1Q3dDl4K2RXQVFHR0FuTmMrbmZ3L2JzUU5kWllTMUZlNGdkQWNmRWlVRHQ3elBuNC9IRTdVT1RZdm52QWdxQWpqS1BVR3dDQXdCbjVEbXN5M1ZDQk54dFphVExPWnhkOGJmYi90YXZYT3YreElKYmhvYURZeXpQZjU4MllHU3ZhUktOeU0rNHZORko3elFNR0ppdTFmbyt0QWdBWnVyVEFTbHhWUFFIcXVlOHZJZ0tKRkduVHd0MG5XbDZOU2F3Y1Rqb1hqOGxxSUhYNG9IRXZVclhHcFREMk83c0RsUVA4U2QyZ1FHQUk2SVhKa3cwaEJBYUZzS01nTTlGRHlheThhalJnaDFCWHFOVll4S2JnRS9kei8vNno1YVp6YWhYRE9OeGNRcWZ1UEhmUHJjY3hUSXdBTkF0ZXFGREh6bmVMb0JHdlFHNjFIQWs0Sm1TWGU1aFRHRVRVYTFOQ1hTZHFWb1ZxdGxrSEhBUEFnQWV0Vllxajl4dnorMVdYb1JId2hIYndBREFFZEVISmhIb0lGWUFtS0hYSXlGTmRQdFlVbkN0QSs0aFRHTlZtS0o0THVlTnFyVEptTWFxMEM5T1lyV2wzcXYzYW1ZZGJBVHJIQ0greERvd0FOQXIrdUY1RWpPTi9BOWd1cGs2clFaSldMN1c0Vnhybjl1RmFqWVpWWnJhQ1FRM21xSk53djNHUXVWZFFLK0lRWFE2d1E5eEl2N0VQakFBY013N0FTbTlrUmQ1bnhoanFOTnFZTUxBRWRFYnFKNEQ3a0ZNWWhNd05lQTdqWjh0YzQrTFU5ampIZ2owdmNTL2tnaU14RWh2bHlZNXBtdDFnWTc4bnE3WGdVdU9uaERlYWNhemNhalJiaitMT1d3YmMxdHh5aHNvNm5lU3Z5bUp3RnpWSS9wZ3dBamNlOWFvMXdNU2dYdlB1dHpER0kreG1IYUhxZjloU1hzWi9ESDc1Nkl1bkNQWEs2bkFBSC9yY3E3WHBnWHNjbTRJWlp5bVN4UXZOUHVkZzlkMVNaUGlLN25BQUNOZHpvblF4bWxDdU5PSXc1aFE0TWN6VDNyNFUvWnRERXExcFFBa1hDVVpHR0FrTk9FOG5qV2dBaWwwaTZPQkhuVU91dDJZR0VKSHdPMnV2OVhaV1pCcmsveVZiR0NBa2NjekRWcmd3YzA2dlFaenRMdXd4OWtQTDBCb1BuTS9ENlhMK1VhZTlQREh6RnU0UW5lWHlER1V3V3p4TnJNRjdWYndHY3EyNStCUDJmV0JwNTM4d0hvY2MwMjFqUzF1WjBkdUQxN1B2ZU83L1F4ZWowYTlIdFc4Q2hQNGVDUlpBaHdNdG5RdzZBM2hyTHlBNCtJVXV0MmpHSUwvSlJhalFWa0Vob05qaGJFVXE1TGhUT3UvSkM2akk3Y1p1MzJPZDB4ZzQvRFRpcWVSNFBtZjVYa3JydWZpbDBQUFloajVyZnRQd2tLTCtRRHVNZVlneFpKSU1ndWM1VDhwUGVmWnlNZ01Ccnh6MkdydlJIZkFNYXR5VXhhQkFRQUdoamF6QlcxV2VEdkpESHBET0NGTzQ0QnpFSWZjSTBqZjRrZkx3VkhQcDJHK01RY3o5ZW1CNTV0ZHk1TWUvcHg1RngrNWUyNzVHUTBhV28xbXpEZWFVS1ZOQ25YTi81QTNqT1B1U1hUbXR1S0VwTDNReWlZd1Y2MDJWNHdjUGhTZ0krQm1QT2toTFRNWTlJWmd3NEdFaEE0REtaYkFXRDRHT2l2Y1RpNmU5UEJXdGdQYm5ldlg1bGpNd2lxakZRdk5lZGZ0bDFZb0k1c1c3c0FCOTFEQnZ5dXV5aTR3QVBDb3VSS3RpZWJRUXhPbGEwTno5WTZ5TXZFUURGNzhZOGw3M1g1c3lMNlBQaS9ZYXRSU1ZKYUJBWURIekpWb0tjUFFiTXB0dzBKakhpWnE0eU92WmJ1OUN4dHltK0JnOUt3QUxkdkFBQ04zbXBaRU0zZ1poU1p1MGw0R3Z4NStBV2ZsK2FoTEtZcVNIb2U1azI3UkN3M0JKbXlTMnpPWWdRY1Q5K09FZXdybjVjV295eW00c2c0TThKZjltNzByeWh0K0V6VUx6WG5JZVRiNnkveTlwdXdEQTR3Y0VYalE2VWF6cWJiWkJGRnpsejRER2d6MGxQSFl6YWdJREFBTXlpSHN5TzNCREswTzQvallxTXNCTURJb0NhQnNIaGNaWTVpdTFjS0VXYllEbnFNbU1NRElUcFlmTy90d1hsekFUSzBCQml0K2x5d0FTQ214Mjk2UHRabVhjY203ak5uNnpMSUtUWU5XaTBTWmhtWlVCZWFxTTk1WmZHenZnNVRBVkQ2bG9JT08xNUpTb3NmdHd4OHpiMkdidXdzT0hKendUaU1qczVpdE41WlZhT3JMOUU1VDF0M0srYWhBQ2crWmk3SEFtRnV3c1EzSGMzRFk3Y1dIOWs0YzlXNis5dVpCNDM1OHhXcFhtdmVWci9QaUFrNkpBUXg0NTNEZXU0Z2hPUXhYQ2hoTVI0cWxNSVZQUkpVMkdUVzhPdFEvQXlrbFBzaHR4d1o3VTJqWGpOcW9EOHkxdnFUTndoTGpQa3pWcG1BTXJ3ejA0ODE1TnM1NTUzSFE3Y1kyZXhjeXlONnhUYnU1REcxV09GdmNwcjBNRGpyZCtNRGVyalJHVXMwbVkxbGlDV2JyTTBNNzZhd3p1d1dkOXRheVdGcE5nYm1GOFJpREJlWThmRW1iaGJHOEVpWXpvVU9IRHUwdmowNE1FaEtlRkhBaDRFZ0hXZVJ3UXB6R1Byc0wzWjdhZ2pRTkhEK3IrQWRNMXNJNVZ2eWNld0gva1g0T0FzSlhldzZPVmVaeVBHZ3VRb0tyYlpaK00rOWxObU9UczYza04xS253TVJFaS9FQTFpVERQUlJxV0tUeHkrRm40Zm9NelZVL1RUMk5hbTF5NEhlc2p1eG1kTnFsdmFmYXFIenBqeHNOR242Y2VpTDB6Z2VURzFpa3o4Y09aMCtndjlsM09uc2g0R0tXUGlOUVBUUDE2ZEJDMk9JcVNoU1lHRmhsTHNOZFJtTkJybTN4Qk9acXM3SEhPUUFSSURSOTRqak9pQUhNMDc4VTZFNHpYYXVERWNKbWlsR2h3TVRBRTlaWFEzbFB1SlZLWG9HN3RKazQ0SFlGZWp3NzY1M0hhVEdBZTR3NWdUWlRMT1Z4R2dwTXhPN1Q1Mk5SUXUya1pqL0c4a28wOG5vY2NBLzY3Z2dBZ0hQeVFpaWhxZE9td1NyQjBGQmdJdmExeEdxTTE0b3pWV2VjTmhhTnZCNmZpa09CN2pSaGhhWmVxeTI1eHpNS1RJUTRPTlpZYlVXYmFRQ01oR2FXMW9oOXpxZUIzbW5PeVFzNEtVNWp2dEVVK1BGTWcxWXlIUUVVbUFqTjErZGdvVG12Nk44N2xsZWlTWnVOWGM3K1FMMW41K1ZGOUlzVFdHQTArUjdrWll5TjdDc25KZnJFaWRnUGJzYnFVTmpSNWdGRGZibUI3VGw0SS9NT3BBejJ3NnJXcCtEbkZUK0JqbUE3ekhTTFh2eDIrQTl3WmJDeG5uWnJHVllZUzhFUTcvbDBGSmdJVGVUcTg3WjYzWDU4NU96Qkh6SnZCdjcrOGRwWS9FdkZQME1MR0pvZXJ3L1BENzhFTCtEcDE2dVN5MEk3L2JwUTZKRXNRdTJKWmNydkw2OW4zc0ZGZVFsbnZMTzRLQzZoU1o4ZGFGekU1QWJtYTAzWTVYd1M2UEhzb3J5TTQrSVVGZ1I0cHdIQ081TzBVQ2d3RWRHaG96MnhUT25ITmVRTjQ0M2Noci8rNzlQZUFLNTRRL2lTUGl2UWp6VEZrN2hibTRWOWJsZWdMdWNMOGlKT2lUT1lINkQzREJnWjNJenIwZ0FLVEVRYWVDMFdKeFlvdGVsemoyT3YrK2wxLyt5a2R3WnBMeDE0RWRvWVhvbEczaENiY1pwNmJSbzhlT2dUeDMzWFVnajBEaE9SYXE2K3cvOVo3OEpOLy9sSDdoNjhsZTBJL0E3UllOVGl4OG52SUlGZ2UwSjNpY040TWYxYW9IbzQ0MmhMdEdLZUZxL05TeWd3RWZHenI4QjU3OWJiR0cxM2RvVVNtdWxHSFo1S1Bna0R3Y2FHdXNSaC9DNzlhcUI2ZEtiaFc4bkhVSWx3MXVXRWdRSVRFWXRaeW0yRzVPMlBvdGp1N01LZk0rK0djcWY1WHZKYmdhNEJBQWRGTjlhbVh3bFVUNUluOFV6RkR3TFhFaFlLVEVUOFBOMjc4czVic243azdzSHJJWXpUek5ZYk1SWmpBbDBEQUE2TEh2eG0rUDhDamROTTFpWmlpYjRvY0MxaG9NQkVKQ2R0NVRaR25sM1FIN3VmNEpYTVc4clh2eFpuSEt1dEZZR3VjVldQZHd6UEQ3OEVFU0EwWDA4OWdpVFU3OHBobzhCRTVJb2NWRzVUeWZKL2x0L3JIc0JMNlRjQzNXa2F0V0JISVY2cnh6dUd0ZW1YQXoyZWZkMWFIVm85ZmxGZ0luTFdVOSs4ZXhLZm9QVDVmZTVuZUMyelBzQ1BOTnhwS3QyaUZ5K2svK2k3bmdYbVhFeGc0MEt0U1JVRkppTDk0cFJ5bXlsOGtuS2JYZTQrdkpuWjRPdEhldG9iVUc1eko0ZkVrVUJkemkxbWM4Z1ZxYUhBUkNTTExHeFA3VDJtUnF2MjlWMDczTDE0Sy91ZTBvL1VreDQyNWdxellVV1hPSXhYZmI1ak5adjNvaEtwa0N2S0h3VW1RbG5rbEQ1ZndWT1lyZmxiKzcvZDJhMDBUbk5Tbk1GeFQvMHVtSzg5N3Fmb3lHNVdicWN4RFhmcGhkbi9JQjhVbUFoZDhZYVUyenhrTHZiOWZTT0RtM2UrMDF3V1YvQy82VmQ4ZjArK050bmJjZEk5bzl4dXNiR3dBTlhraHdJVG9YM09aOHB0Wm1qMXNKai9EVE8yTzd2eHUvU3J1Q3l1Zk9IZkNlbWh6ejJPL3h4K0hrTzQvU0JwR0FRRVhzaW9CN1BSYUloczlKOG1YMGJvdERlQVplWVNwZFdLR3ROUXhTWmpuOXZsKzN2UHlRdlk2dXpFTVhka1l1T1FONFRQM0VQNFEvb05mT2g4REJ1TzcydXJ5c0hHUkRZZU5WcVZVcnNUN2lrTXlITUZxdXJXaXJlWW5IeUJBeGNENGp4cWRMVWZ5OTNHVENTeUNlUVUzNEZ1MUMxNll6R0YvdlhzMjFoZ05FRmorUzlrYTlCcnNWOGNMR0JWTjBlUFpCSHJjajlYYnFNeERiK28vQWw0bWZ6bmMrRGlrdmZGUjhUYm1hWk5MVkExdDFjZWYrSWxiTFA5a1hMM01qQ3lPZC8zcmVBVEpPUGlyZXg3U3ArdjVsTUtWTW50VVdBaVpzUEJaKzVoWDIyYnpObDR4SHc0M0lJaWNrZ2NVZnFMSThrdFZDQlp3SXB1amdJVEErL25Qb1R3T2ZLOTNIb1E3V1pyeUJWRkl5MHpTcCtQNHF4U0Nrd01uSlhuc2RjKzRMdDltOVVhKzkxVzhwR1JpZ081Q3BOUncwS0JpWW1OOWxaZjd6Slh0VnZMU3Y1T2MwNXhRbXFDQlZ0SzdRY0ZKaVl1eXN0NEovdCtvR3UwV2ExWVpTNFBwNkFJRENzK2t2RUlOdjJqd01USVIrNGVETGpCQnVOV1dnL2gwUkx0Q0hDazJvQnBGTWYvVVdCaVJFTGlmOUsvRDN5ZGxrUXoxcGpoSHY5WERDbW0xdXVWVlh6bkNRTUZKbVlHTVl4ZkRUMGY2QnFjY1N4TjNJODFabHRJVlJYSFJNVUZjb05lNGVlNzNZZ0NFMFBIdlZONE9mMW00SDI5V3F4bXJEYkRXWmRmREdNVWp6bS9KTlZtQjRTQkFoTlRlOTFQc1NtM0xmRHVMeXVzcFdnM2w0VlVWV0VsRmJhZUdoUkRnZWZTK1VHQmliSDM3TTNZa3RzUk9EUnRWa3ZzeDJsU1NDb0Y1clIzdG9EVjNCb0ZKdWJldGpkaWF3aWhhYmZpZlpURTZzUUtwV1VPeDMzc2lSQUdDa3dKV0c5dkRPVk9Neks0R2IvSE13Nk9oY1pjcFRiOTRrU0Jxcms5Q2t5SmVOdmVpQTl5MndOZnA4MXFpVjFIUUMycmdjbnpIN1VYMGtPZkY4MnUvclRpc29RY0VYMWdjdVRRb1NCbTZQV3dwSW5ENG1oSWxmbkh3Zkh6eW1lVUZvOTFPWWV4eC9VLzl5NEl1c09VbUU1N0s5N0xxTysyY3FPbGljV3hHTnhjb0RmQjRJWlNtOTNPdmdKVmMyY1VtQklqSWJISjJlWnJpNkpyWFIzY2pISWF6U1EyQWQ5S1BxYlV4dlZFcEVlVTB5TlpDWktRT0NyNm9VbU82VnBkb0pPK3B1dDE0SklYL1Vkb3dzUlRxU2N4VGxNN0llRGQ3QWZvOFk0VnFLbzdvOENVc0I3UkJ3TUdHclRhZ0FleDFvTko0S2dvemcrUmcrTzcxamZRYUtpL2k3MlNlYk9vdTlyY2lBSlQ0bzZJWHBnd1VhOU5DM3g2c1NrTjlJaGprQWpXZlgwN0JneDgxL29HNXBycVIvRnR5bTVIbC9DM25Ec3NGSmd5MEMxNmtZQVorRTR6WGE5REZadUVIcmNQRHU1OGVKT3FpWHc4ZnB4OEFyT01HY3B0WGMvRi8yWmVob2hnU3YrMUtEQmxvbHYwaHZKNFZxVk54bjNHZlBTNUp6QW8xYmV5dlJrR2hybmFiUHhkNm51WW9La2ZWK0ZKRHk5bVhzV1pDRGJ1dXhFRENuai9KVVgzWlhNNUhyWWVDdVZhWjl5emVDNzlJb2FodGhMeUtnYUdLallaejFUOEFFbnUvL1N3ays1cFBKdityZS8yWWFMQWxLRTJzd1h0VmpoVFlEenB3ZlpzYkxRL3hEWm5Gd1R1Zk95ZXhTeTBHUzFZYkM1RVFtRUUvMmFHdkdIOCs5Q3prYXl1dkJrS1RCbmk0RmhoTE1XcVpManp4b1FVU01zTXNqS0h5OTRnaHVRUXNsNE9TWjdFZURZR0Zid0NTV1loeVN5bGlaUzM0a29YdnhwYWk5TXkvSU9kL0tMQWxDa0doamF6QlcxVzZlNGs4M0w2VGV4MVA0MjZqT3ZRU0grWmtwRG9zTGRnVXpiNElyUW9yTXQweEM0c0FBV203RzJ3TjJGTGJrZWc1YzdGdGk3VGdhM096cWpMdUNsNkpCc2xWcGhMMFpab2hhNHdLN2pZWE9uaXRjejZXTjVacnFMQWpDTHp0THZ4emVSalNQSGliK0o5SjBQZU1INDcvQkpPeGVnRi8yWW9NS05NSlNyd1RPb0htS3hQakxvVUFDUGQxcWZGQUg2VlhodWJydVBib2NDTVVzMzZJbndqOVVpa05iaWVpeGN6citHUU9CSnBIU29vTUtOWUVoYSticTNHQWxOdFBYMFkzczl1eHlaN2E2UXpqLzJnd0JCTVlPUFFZamFqMmJ4WGFhbXdLdGNUNk1odHhtNW5mMUZPYVM0RUNnejVxd3FrY0pmZWlBZU1oYjdXcXR5TWtCNE9PZDNZNWV4RGorZ3J1VHZLalNndzVLWXFVWUZHclI3MWVpMXF0YW1vNWxQeW1rQTVLSVp3Mmp1TDQrSWsrc1ZKOUlwKzVPRC8zSnU0b2NDUXZGVWdpWEY4TENwWUNnbVdBQU9ESndWeXNESG9EZU9TdkJMSjlxM0ZSSUVoUkFGTmpTRkVBUVdHRUFVVUdFSVVVR0FJVVVDQklVUUJCWVlRQlJRWVFoUlFZQWhSUUlFaFJBRUZoaEFGRkJoQ0ZGQmdDRkZBZ1NGRUFRV0dFQVVVR0VJVVVHQUlVVUNCSVVRQkJZWVFCUlFZUWhSUVlBaFJRSUVoUkFFRmhoQUZGQmhDRkZCZ0NGRkFnU0ZFQVFXR0VBVVVHRUlVL0Q5aHVTQTZDbFBaUWdBQUFBQkpSVTVFcmtKZ2dnPT1cIlxuICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJtYXRyaXgoMSwwLDAsLTEsMCwxKVwiXG4gICAgICAgICAgICAgIHByZXNlcnZlQXNwZWN0UmF0aW89XCJub25lXCJcbiAgICAgICAgICAgICAgLyogc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBpbWFnZVJlbmRlcmluZzogXCJvcHRpbWl6ZVNwZWVkXCIsXG4gICAgICAgICAgICAgIH19ICovXG4gICAgICAgICAgICAgIGhlaWdodD17MX1cbiAgICAgICAgICAgICAgd2lkdGg9ezF9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPGcgaWQ9XCJnMTMyXCI+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDEzOClcIiBpZD1cImcxMzRcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJwYXRoMTY4XCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZpbGw6IFwidXJsKCNsaW5lYXJHcmFkaWVudDE2NilcIixcbiAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkPVwibSA5MzUuMjYsNzExLjA3IGMgMzkuMTUsMC4zNiA3MS4wNywtMzEuNjcgNzEuMjksLTcxLjUyIDAuMiwtMzMuNDUgLTIyLjIxLC02Mi43MSAtNTQuMTMsLTcwLjcxIGwgLTAuODQsLTExLjcyIC0yMC43NiwxMy42NiAyMy4wMiwxNy45MiAtMC44NCwtMTEuNjkgYyAzMy41NCw5Ljg4IDUyLjk3LDQ1LjYgNDMuNCw3OS43OSAtNy43OCwyNy43OCAtMzIuNzYsNDYuODEgLTYxLjEsNDYuNTQgelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPGcgaWQ9XCJnMTcwXCI+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDE3NilcIiBpZD1cImcxNzJcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJwYXRoMjA2XCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZpbGw6IFwidXJsKCNsaW5lYXJHcmFkaWVudDIwNClcIixcbiAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkPVwibSA0MzkuNDMsODIyLjggYyAtMzkuMTQsMC4zIC03MS4wNiwtMzEuNTYgLTcxLjI5LC03MS4xNiAtMC4xOSwtMzMuMjggMjIuMjcsLTYyLjM2IDU0LjIzLC03MC4yMyBsIDAuODQsLTExLjczIDIwLjY0LDEzLjcyIC0yMi44OSwxNy44NiAwLjgzLC0xMS43IGMgLTMzLjU1LDkuNzIgLTUzLjA0LDQ1LjE0IC00My41Miw3OS4xMSA3Ljc0LDI3LjY1IDMyLjc0LDQ2LjYzIDYxLjEyLDQ2LjQgelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9nPlxuICAgICAgPC9nPlxuICAgICAgPGcgaWQ9XCJnMjA4XCI+XG4gICAgICAgIDxnIGNsaXBQYXRoPVwidXJsKCNjbGlwUGF0aDIxNClcIiBpZD1cImcyMTBcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgaWQ9XCJwYXRoMjQ0XCJcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIGZpbGw6IFwidXJsKCNsaW5lYXJHcmFkaWVudDI0MilcIixcbiAgICAgICAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgICAgICAgIGZpbGxSdWxlOiBcImV2ZW5vZGRcIixcbiAgICAgICAgICAgICAgc3Ryb2tlOiBcIm5vbmVcIixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkPVwibSA5MzYuNjQsOTMzLjc2IGMgMzkuMTQsMC4zNSA3MS4wNiwtMzEuNjcgNzEuMjksLTcxLjUyIDAuMTksLTMzLjQ1IC0yMi4yMSwtNjIuNzEgLTU0LjEzLC03MC43MSBsIC0wLjg0LC0xMS43MiAtMjAuNzcsMTMuNjUgMjMuMDIsMTcuOTMgLTAuODMsLTExLjY5IGMgMzMuNTQsOS44OCA1Mi45Nyw0NS42IDQzLjQsNzkuNzkgLTcuNzgsMjcuNzggLTMyLjc2LDQ2LjgxIC02MS4xLDQ2LjU0IHpcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvZz5cbiAgICA8L2c+XG4gIDwvc3ZnPlxuKTtcblxuIiwgImltcG9ydCB7IEJ1dHRvbk9uZSwgQnV0dG9uT25lV2l0aFNjcm9sbCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IEg0LCBINSB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyBIUFRpbWVsaW5lIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvSFAtdGltZWxpbmVcIjtcbmltcG9ydCB7ICBMb3JlbVNob3J0IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvTG9yZW1pcHN1bVwiO1xuaW1wb3J0IFByZUN5c2UgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvcHJlY3lzZVwiO1xuaW1wb3J0IHsgU2VjdGlvbiwgU3ViZXNjdGlvbiB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3NlY3Rpb25zXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uLy4uL3V0aWxzXCI7XG5pbXBvcnQgeyBIUGNvbmNsdXNpb24gfSBmcm9tIFwiLi9Db25jbGlzdWluXCI7XG5pbXBvcnQgeyBIUEZlZWRiYWNrIH0gZnJvbSBcIi4vRmVlZGJhY2tcIjsgICAgXG5pbXBvcnQgIHsgSFAzbmV3IH0gZnJvbSBcIi4vSFAgc3Zncy9ocDNcIjtcbmltcG9ydCB7V2hvbGVNZW5kZWxvd30gZnJvbSBcIi4vSFAgc3Zncy9tZW5kZWxvd3NcIjtcbmltcG9ydCB7IFN0YWtlaG9sZGVyTWFuYWdlbWVudCB9IGZyb20gXCIuL0hQIHN2Z3Mvc3Rha2Vob2xkZXItbWFuYWdlbWVudFwiO1xuaW1wb3J0IHsgU1dPVG9uZSB9IGZyb20gXCIuL0hQIHN2Z3Mvc3dvdHNcIjtcbmltcG9ydCB7IEhQVW5kZXJzdGFuZGluZyB9IGZyb20gXCIuL0hQIHN2Z3MvdW5kZXJzdGFuZGluZ1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gSFBJbnRlZ3JhdGVkKCl7XG4gICAgY29uc3QgeyBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpO1xuXG4gICAgcmV0dXJuKFxuICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIkludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VzXCIgaWQ9XCJJbnRlZ3JhdGVkIEh1bWFuIFByYWN0aWNlc1wiPlxuICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJGcmFtZXdvcmtcIiBpZD1cIkludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VzMVwiPlxuICAgICAgICAgICAgICAgIDxwPk91ciB0ZWFtIGhhcyBkZWZpbmVkIGEgZnJhbWV3b3JrIGZvciBtYW5hZ2luZyBpbnRlcmFjdGlvbnMgd2l0aCBzdGFrZWhvbGRlcnMgZHVyaW5nIGVhY2ggc3RlcCBvZiB0aGUgcHJvamVjdDpcbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPG9sPlxuICA8bGk+IDxiPlN0YWtlaG9sZGVyIE1hbmFnZW1lbnQgRnJhbWV3b3JrIDwvYj4tIFRvIGlkZW50aWZ5IHN0YWtlaG9sZGVycyBhbmQgZGVmaW5lIGhvdyBwb3RlbnRpYWwgc3Rha2Vob2xkZXJzIGZpdCBvdXIgcHJvamVjdC48L2xpPlxuICA8bGk+PGI+UG93ZXItSW50ZXJlc3QgTWF0cml4IDwvYj4tIEFjY29yZGluZyB0byBNZW5kZWxvdyB0byBpZGVudGlmeSBhbmQgZXZhbHVhdGUgdGhlIHByaW9yaXRpZXMgb2YgcG90ZW50aWFsIHN0YWtlaG9sZGVycy48L2xpPlxuICA8bGk+PGI+U1dPVCBhbmFseXNpczwvYj4gLSBBc3Nlc3NtZW50IG9mIHRoZSBzdHJlbmd0aHMsIHdlYWtuZXNzZXMsIG9wcG9ydHVuaXRpZXMgYW5kIHRocmVhdHMgb2YgdGhlIHZhcmlvdXMgZ3JvdXBzIHByZXZpb3VzbHkgaWRlbnRpZmllZCBhcyBwb3RlbnRpYWwgc3Rha2Vob2xkZXJzLjwvbGk+XG4gIDxsaT48Yj5BUkVBIEZyYW1ld29yazwvYj4gLSBUbyBzdHJ1Y3R1cmUgYW5kIG9wdGltaXplIHByb2plY3QtcmVsYXRlZCBkZWNpc2lvbnMuPC9saT5cbiAgPGxpPjxiPkZlZWRiYWNrLUN5Y2xlPC9iPiAtIFRvIHN0cnVjdHVyZSBpbnRlcmFjdGlvbnMgd2l0aCBzdGFrZWhvbGRlcnMgZm9yIGVmZmljaWVudCBhbmQgaW5mb3JtYXRpdmUgZGVzaWduIGFuZCBtYXhpbWl6YXRpb24gb2YgcG90ZW50aWFsLjwvbGk+XG4gIDxsaT48Yj5UaGlyZC1QYXJ0eSBGZWVkYmFjayBUZW1wbGF0ZXMgPC9iPi0gVG8gaW50cm9kdWNlIHRoZSBzdGFrZWhvbGRlcnMsIHN1bW1hcml6ZSB0aGUgaW50ZXJhY3Rpb25zIGFuZCBpbXBsZW1lbnQgdGhlIG91dHB1dCBpbiBvdXIgcHJvamVjdC48L2xpPlxuICA8bGk+PGI+Q3ljbGUgb2YgUmVmbGVjdGlvbjwvYj4gLSBBY2NvcmRpbmcgdG8gR2liYnMgZGVtb25zdHJhdGUgdGhlIHJlc3BvbnNlIGFuZCBpbXBsZW1lbnRhdGlvbiBhcyBhIHBhcnQgb2Ygb3VyIGZlZWRiYWNrIGN5Y2xlLjwvbGk+XG48L29sPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9e3ttYXJnaW5Ub3A6IFwiNXZoXCIsIG1hcmdpbkJvdHRvbTogXCI1dmhcIn19PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmVXaXRoU2Nyb2xsIHRleHQ9XCJTdGFrZWhvbGRlciBNYW5hZ2VtZW50XCIgc2Nyb2xsSWQ9XCJzdGFrZUhcIiBvcGVuPVwic3Rha2VtYW1hbmdlXCIgb3BlbmNsYXNzPVwiZnJhbWVjeWNsZXRhYlwiPjwvQnV0dG9uT25lV2l0aFNjcm9sbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCB0ZXh0PVwiTWVuZGVsb3cgQW5hbHlzaXNcIiBvcGVuPVwibWVuZGVsb3dcIiAgc2Nyb2xsSWQ9XCJtZW5kZWxvd0hcIiBvcGVuY2xhc3M9XCJmcmFtZWN5Y2xldGFiXCI+PC9CdXR0b25PbmVXaXRoU2Nyb2xsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmVXaXRoU2Nyb2xsIHRleHQ9XCJTV09UIGFuYWx5c2lzXCIgc2Nyb2xsSWQ9XCJzd290SFwiIG9wZW49XCJzd290XCIgb3BlbmNsYXNzPVwiZnJhbWVjeWNsZXRhYlwiPjwvQnV0dG9uT25lV2l0aFNjcm9sbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9e3ttYXJnaW5Cb3R0b206IFwiNXZoXCJ9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBzY3JvbGxJZD1cImFyZWFIXCIgdGV4dD1cIkZlZWRiYWNrIEN5Y2xlXCIgb3Blbj1cImFyZWFcIiBvcGVuY2xhc3M9XCJmcmFtZWN5Y2xldGFiXCI+PC9CdXR0b25PbmVXaXRoU2Nyb2xsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmVXaXRoU2Nyb2xsIHNjcm9sbElkPVwidGhpcmRIXCIgdGV4dD1cIlRoaXJkIFBhcnR5IEZlZWRiYWNrXCIgb3Blbj1cInRoaXJkcGFydHlcIiBvcGVuY2xhc3M9XCJmcmFtZWN5Y2xldGFiXCI+PC9CdXR0b25PbmVXaXRoU2Nyb2xsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmVXaXRoU2Nyb2xsIHNjcm9sbElkPVwiZmVlZEhcIiB0ZXh0PVwiQ3ljbGUgb2YgUmVmbGVjdGlvblwiIG9wZW49XCJmZWVkY3ljbGVcIiBvcGVuY2xhc3M9XCJmcmFtZWN5Y2xldGFiXCI+PC9CdXR0b25PbmVXaXRoU2Nyb2xsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmVXaXRoU2Nyb2xsIHNjcm9sbElkPVwiZ2lic29uSFwiIHRleHQ9XCJHaWJicycgQ3ljbGVcIiBvcGVuPVwiZ2lic29uXCIgb3BlbmNsYXNzPVwiZnJhbWVjeWNsZXRhYlwiPjwvQnV0dG9uT25lV2l0aFNjcm9sbD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZnJhbWVjeWNsZXRhYlwiIGlkPVwic3Rha2VtYW1hbmdlXCIgc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT5cbiAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPFN0YWtlaG9sZGVyTWFuYWdlbWVudC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+ICBcbiAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlN0YWtlaG9sZGVyIE1hbmFnZW1lbnQgRnJhbWV3b3JrXCIgaWQ9XCJzdGFrZUhcIi8+XG4gICAgICAgICAgICAgICAgPHA+VG8gY2xlYXJseSBjb21tdW5pY2F0ZSB0byBvdXIgc3Rha2Vob2xkZXJzIGhvdyB0aGV5IGNhbiBzdXBwb3J0IHRoZSA8UHJlQ3lzZS8+IHByb2plY3QgYW5kIHRoZSBzcGVjaWZpYyBhcmVhcyByZXF1aXJpbmcgXG4gICAgICAgICAgICAgICAgICAgIHRoZWlyIGlucHV0LCB3ZSBkZXZlbG9wZWQgYSBzdGFrZWhvbGRlciBtYW5hZ2VtZW50IGZyYW1ld29yayBoaWdobGlnaHRpbmcgZm91ciBrZXkgYXJlYXMuIFN0YXJ0aW5nIGF0IHRoZSBib3R0b20gcmlnaHQgb2YgdGhlIFxuICAgICAgICAgICAgICAgICAgICBmaWd1cmUgYW5kIG1vdmluZyBjbG9ja3dpc2UsIHRoZSBmaXJzdCBhcmVhIG5lZWRpbmcgZmVlZGJhY2sgaXMgPGI+aW1wbGVtZW50YXRpb248L2I+LiBJdCBpcyBjcnVjaWFsIGZvciBvdXIgdGVhbSB0byBlbnN1cmUgdGhhdCB0aGUgcHJvamVjdCBcbiAgICAgICAgICAgICAgICAgICAgaGFzIGFsbCBuZWNlc3NhcnkgY29tcG9uZW50cyBmb3IgcmVhbGlzdGljIGFwcGxpY2F0aW9uIGluIGhlYWx0aGNhcmUgc2V0dGluZ3MsIGZvY3VzaW5nIG9uIHRoZSBnZW5lIHRoZXJhcHkgdHJlYXRtZW50IGZvciBjeXN0aWMgZmlicm9zaXMuXG4gICAgICAgICAgICAgICAgICAgICBUaGlzIGluY2x1ZGVzIGJvdGggdGhlIHRlY2huaWNhbCBkZXNpZ24gYW5kIHRoZSBhcHByb3ByaWF0ZSBidXNpbmVzcyBtb2RlbCB0byBlbnN1cmUgc3VjY2Vzc2Z1bCBpbXBsZW1lbnRhdGlvbi5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+VGhlIHNlY29uZCBrZXkgYXJlYSBpcyA8Yj5zdXN0YWluYWJpbGl0eSBhbmQgc29jaWFsIGltcGFjdC48L2I+IFdlIHNlZWsgdG8gdW5kZXJzdGFuZCBob3cgb3VyIHByb2plY3QgYWxpZ25zIHdpdGggY3VycmVudCBoZWFsdGhjYXJlIGluaXRpYXRpdmVzIGFuZCBmYWNpbGl0aWVzIGluIEdlcm1hbnkgYW5kIEV1cm9wZSwgYnV0IGFsc28gaW4gdGhlIGdsb2JhbGx5LCBhbmQgaG93IGl0IGludGVyYWN0cyB3aXRoIHNvY2lhbCBlZmZvcnRzIHJlbGF0ZWQgdG8gQ0YgYXdhcmVuZXNzIGFuZCBnZW5lIHRoZXJhcHkgc3RyYXRlZ2llcy5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+TmV4dCwgd2Ugd2FudCB0byBzaGFwZSB0aGUgPGI+cHVibGljIHBlcmNlcHRpb248L2I+IG9mIG91ciBwcm9qZWN0LCB3aGljaCBpcyBiYXNlZCBvbiBzeW50aGV0aWMgYmlvbG9neSB0byB0YWNrbGUgYSBtYWpvciBoZWFsdGhjYXJlIGNoYWxsZW5nZS4gV2UgYXNrIHN0YWtlaG9sZGVycyBhYm91dCB0aGVpciBrbm93bGVkZ2UgYW5kIG9waW5pb25zIG9uIG91ciBnZW5lIHRoZXJhcGV1dGljIGFwcHJvYWNoIGFuZCBpdHMgcG90ZW50aWFsIGFwcGxpY2F0aW9uIHRvIGltcHJvdmUgQ0YgdHJlYXRtZW50cy5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+VGhlIGZpbmFsIGFyZWEgaW52b2x2ZXMgPGI+cmVndWxhdG9yeSBhbmQgc2FmZXR5IGNvbnNpZGVyYXRpb25zPC9iPi4gR2l2ZW4gdGhlIHN0cmluZ2VudCByZWd1bGF0aW9ucyBnb3Zlcm5pbmcgaGVhbHRoY2FyZSBpbiBHZXJtYW55LCB3aGljaCB2YXJ5IGJ5IG11bmljaXBhbGl0eSwgaXQgaXMgZXNzZW50aWFsIHRvIGNvbnN1bHQgd2l0aCBzdGFrZWhvbGRlcnMgZmFtaWxpYXIgd2l0aCB0aGVzZSByZWd1bGF0aW9ucyB0byBlbnN1cmUgb3VyIHByb2plY3QgY29tcGxpZXMgd2l0aCBhbGwgbmVjZXNzYXJ5IHNhZmV0eSBzdGFuZGFyZHMuXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBmcmFtZWN5Y2xldGFiXCIgaWQ9XCJtZW5kZWxvd1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIlBvd2VyLUludGVyZXN0IE1hdHJpeCBhY2NvcmRpbmcgdG8gTWVuZGVsb3dcIiBpZD1cIm1lbmRlbG93SFwiLz5cbiAgICAgICAgICAgICAgICA8cD5Vc2luZyB0aGUgTWVuZGVsb3cgUG93ZXItSW50ZXJlc3QgTWF0cml4LCB3ZSBjbGFzc2lmaWVkIHRoZSBwb3RlbnRpYWwgc3Rha2Vob2xkZXJzIGFzc29jaWF0ZWQgd2l0aCBvdXIgcHJvamVjdCBpbiB0ZXJtcyBvZiB0aGVpciBwb3dlciAodGhlIGFiaWxpdHkgdG8gcHJvdmlkZSBpbXBvcnRhbnQgZmVlZGJhY2sgb24gb3VyIHByb2plY3QgZGVzaWduIGFuZCBpbmZsdWVuY2Ugb3VyIHByb2plY3QgZGV2ZWxvcG1lbnQpIGFuZCBpbnRlcmVzdCBpbiBvdXIgcHJvamVjdC4gVGhlIG1hdHJpeCBjb25zaXN0cyBvZiBmb3VyIHF1YWRyYW50cyBhcnJhbmdlZCBpbiBkZXNjZW5kaW5nIG9yZGVyIGFjY29yZGluZyB0byB0aGVpciBwcmlvcml0eSBsZXZlbCBpbiB0aGUgcHJvamVjdDpcbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgIDxsaT5IaWdoIFBvd2VyLCBIaWdoIEludGVyZXN0IChLZXkgUGxheWVycyk8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5IaWdoIFBvd2VyLCBMb3cgSW50ZXJlc3QgKEtlZXAgU2F0aXNmaWVkKTwvbGk+XG4gICAgICAgICAgICAgICAgPGxpPkxvdyBQb3dlciwgSGlnaCBJbnRlcmVzdCAoS2VlcCBJbmZvcm1lZCk8L2xpPlxuICAgICAgICAgICAgICAgIDxsaT5Mb3cgUG93ZXIsIExvdyBJbnRlcmVzdCAoTWluaW1hbCBFZmZvcnQpPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDxwPlRoaXMgY2F0ZWdvcml6YXRpb24gaGVscHMgdG8gZGV2ZWxvcCBhcHByb3ByaWF0ZSBjb21tdW5pY2F0aW9uIGFuZCBtYW5hZ2VtZW50IHN0cmF0ZWdpZXMgZm9yIHRoZSBkaWZmZXJlbnQgc3Rha2Vob2xkZXIgZ3JvdXBzIGFuZCB0byBlbnN1cmUgdGhhdCB0aGVpciBuZWVkcyBhbmQgaW5mbHVlbmNlcyBhcmUgY29uc2lkZXJlZCBkdXJpbmcgdGhlIHByb2plY3QuXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxXaG9sZU1lbmRlbG93Lz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJtZW5kZWxvdy1vbmVcIiwgc2Nyb2xsVG9JZDogXCJrZXlwbGF5ZXJzSFwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3NjaWVudGlmaWMtZmlndXJlcy9tZW5kZWxvdy0xLWFrdHVlbGwuc3ZnXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwibWVuZGVsb3ctdHdvXCIsIHNjcm9sbFRvSWQ6IFwia2VlcEhcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvbWVuZGVsb3ctMi5zdmdcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcIm1lbmRlbG93LXRocmVlXCIsIHNjcm9sbFRvSWQ6IFwiaW5mb3JtZWRIXCIgfSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc2NpZW50aWZpYy1maWd1cmVzL21lbmRlbG93LTMtMS5zdmdcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcIm1lbmRlbG93LWZvdXJcIiwgc2Nyb2xsVG9JZDogXCJtaW5pbWFsSFwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3NjaWVudGlmaWMtZmlndXJlcy9tZW5kZWxvdy00LnN2Z1wiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgey8qIFRBQlMgKi99XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtZW5kZWxvd3RhYlwiIGlkPVwibWVuZGVsb3ctb25lXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIktleSBQbGF5ZXJzXCIgaWQ9XCJrZXlwbGF5ZXJzSFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJIaWdoIFBvd2VyLCBIaWdoIEludGVyZXN0IC0gUHJpb3JpdHkgTGV2ZWwgNFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgQ2xvc2Ugc3VwcG9ydCBhbmQgZXh0ZW5zaXZlIGZlZWRiYWNrIGFyZSBuZWNlc3NhcnkgdG8gc3VjY2Vzc2Z1bGx5IGltcGxlbWVudCBQcmVDeXNlLiBcbiAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCBncm91cHMgaW5jbHVkZSBleHBlcnRzIGFuZCBwaHlzaWNpYW5zIHdpdGggZXhwZXJ0aXNlIGluIGdlbmUgdGhlcmFweSBhbmQgdHJlYXRtZW50IFxuICAgICAgICAgICAgICAgICAgICAgICAgc3RyYXRlZ2llcyBmb3IgY3lzdGljIGZpYnJvc2lzLiBUaGUgcHJvamVjdCBoYXMgYSByZWFzb25hYmxlLCByZXNwb25zaWJsZSwgYW5kIGZ1dHVyZS1vcmllbnRlZCBcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25pZmljYW5jZSBmb3IgdGhlIHdvcmxkLiBGdXJ0aGVybW9yZSwgc2NpZW50aWZpYy10ZWNobm9sb2dpY2FsIGtub3dsZWRnZSBhbmQgYmlvc2FmZXR5IGFyZSBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNydWNpYWwuIENvbGxhYm9yYXRpb24gd2l0aCBzcGVjaWFsaXN0cyBpbiB0aGUgZmllbGQgb2YgZ2VuZSB0aGVyYXB5LCBjeXN0aWMgZmlicm9zaXMsIGFuZCBkaWZmZXJlbnQgXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmVhdG1lbnQgc3RyYXRlZ2llcyBlbnN1cmVzIHRoZSBxdWFsaXR5IGFuZCBlZmZlY3RpdmVuZXNzIG9mIHRoZSBzb2x1dGlvbnMgZGV2ZWxvcGVkLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj5TY2llbnRpZmljIGNvbW11bml0eSBhbmQgcmVzZWFyY2ggaW5zdGl0dXRpb25zPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBncm91cCBpbmNsdWRlcyByZXNlYXJjaGVycywgc2NpZW50aXN0cywgYW5kIHJlc2VhcmNoIGluc3RpdHV0aW9ucyBzcGVjaWFsaXppbmcgaW4gZ2VuZSBlZGl0aW5nIFxuICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGdlbmUgdGhlcmFweS4gVGhleSBoYXZlIGEgaGlnaCBpbnRlcmVzdCBpbiB0aGUgc3VjY2VzcyBvZiBwcmltZSBlZGl0aW5nIHRlY2hub2xvZ3kgYW5kIGhhdmUgXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGUgcG93ZXIgdG8gc2lnbmlmaWNhbnRseSBpbmZsdWVuY2UgdGhlIHByb2plY3QsIGJlIGl0IHRocm91Z2ggY29sbGFib3JhdGlvbnMsIHNjaWVudGlmaWMgc3VwcG9ydCwgXG4gICAgICAgICAgICAgICAgICAgICAgICBvciBjcml0aWNhbCByZXZpZXdzIG9mIHRoZSByZXNlYXJjaCByZXN1bHRzLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj5SZWd1bGF0b3J5IGF1dGhvcml0aWVzIChlLmcuIEZEQSwgRU1BKTwvYj48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFJlZ3VsYXRvcnkgYWdlbmNpZXMgaGF2ZSBib3RoIHRoZSBwb3dlciBhbmQgdGhlIGludGVyZXN0IHRvIGVuc3VyZSB0aGF0IGdlbmUgdGhlcmFweSBpcyBzYWZlIGFuZCBcbiAgICAgICAgICAgICAgICAgICAgICAgIGVmZmVjdGl2ZS4gVGhleSBhcmUgY3J1Y2lhbCBmb3IgdGhlIGFwcHJvdmFsIGFuZCBhdXRob3JpemF0aW9uIG9mIHRoZSB0aGVyYXB5IGZvciBjbGluaWNhbCB1c2UuXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWVuZGVsb3d0YWJcIiBpZD1cIm1lbmRlbG93LXR3b1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgPEg0IHRleHQ9XCIgS2VlcCBTYXRpc2ZpZWRcIiBpZD1cImtlZXBIXCIvPlxuICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkhpZ2ggUG93ZXIsIExvdyBJbnRlcmVzdCAtIFByaW9yaXR5IExldmVsIDNcIi8+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICBJbiBvcmRlciB0byBzdWNjZXNzZnVsbHkgaW1wbGVtZW50IFByZUN5c2UsIGFsbCBjb25jZXJucyBtdXN0IGJlIGZ1bGx5IGNvbnNpZGVyZWQsIGV2ZW4gaWYgdGhleSBcbiAgICAgICAgICAgICAgICAgICAgbWF5IGRpZmZlciBmcm9tIHRoZSBwcm9qZWN0IGludGVyZXN0cy4gQ0Ygc3BlY2lhbGlzdHMsIGJpb2V0aGljcyBzcGVjaWFsaXN0cywgYW5kIHJlZ3VsYXRvcnkgZXhwZXJ0cyBcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZSBpbXBvcnRhbnQgaW5mb3JtYXRpb24uIFRoZWlyIGlucHV0IGlzIGJlbmVmaWNpYWwgdG8gdGhlIGltcGxlbWVudGF0aW9uIG9mIG91ciBwcm9qZWN0LiBcbiAgICAgICAgICAgICAgICAgICAgVGhlc2UgY2F0ZWdvcmllcyBvZiBleHBlcnRzIGhlbHAgdG8gZW5zdXJlIHRoYXQgdGhlIHByb2plY3QgaXMgZXRoaWNhbCBhbmQgY29tcGxpYW50IHdpdGggdGhlIGxhdy4gXG4gICAgICAgICAgICAgICAgICAgIFRoZWlyIGV4cGVydGlzZSBlbnN1cmVzIHRoYXQgYWxsIHJlbGV2YW50IGFzcGVjdHMgYXJlIGNvdmVyZWQuXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgICAgICA8cD48Yj5Hb3Zlcm5tZW50IGFuZCBwdWJsaWMgaGVhbHRoIGF1dGhvcml0aWVzPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIEFsdGhvdWdoIHRoZXNlIHN0YWtlaG9sZGVycyBoYXZlIHNvbWUgaW50ZXJlc3QgaW4gbmV3IHRoZXJhcGllcyB0aGF0IGltcHJvdmUgcG9wdWxhdGlvbiBoZWFsdGgsIFxuICAgICAgICAgICAgICAgICAgICB0aGVpciBkYXktdG8tZGF5IGludGVyZXN0IG1heSBub3QgYmUgc3BlY2lmaWNhbGx5IGZvY3VzZWQgb24gdGhlIGlHRU0gcHJvamVjdC4gSG93ZXZlciwgdGhleSBoYXZlIFxuICAgICAgICAgICAgICAgICAgICB0aGUgcG93ZXIgdG8gaW5mbHVlbmNlIHRoZSBwcm9qZWN0IHRocm91Z2ggZnVuZGluZywgcG9saXRpY2FsIHN1cHBvcnQsIG9yIHJlZ3VsYXRvcnkgYWN0aW9uLlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICAgICAgICAgICAgPHA+PGI+UGhhcm1hY2V1dGljYWwgY29tcGFuaWVzIGFuZCBpbmR1c3RyaWVzPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIExhcmdlIHBoYXJtYWNldXRpY2FsIGNvbXBhbmllcyBoYXZlIHRoZSBwb3dlciB0byBzaWduaWZpY2FudGx5IHN1cHBvcnQgdGhlIHByb2plY3QgdGhyb3VnaCBcbiAgICAgICAgICAgICAgICAgICAgaW52ZXN0bWVudCBvciBzdHJhdGVnaWMgcGFydG5lcnNoaXBzLiBIb3dldmVyLCB0aGVpciBpbnRlcmVzdCBtYXkgYmUgbG93IGZvciB0aGUgdGltZSBiZWluZyB1bnRpbCBcbiAgICAgICAgICAgICAgICAgICAgdGhlIHByb2plY3QgaGFzIHByb3ZlbiB0aGF0IGl0IGlzIGNvbW1lcmNpYWxseSBwcm9taXNpbmcuXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWVuZGVsb3d0YWJcIiBpZD1cIm1lbmRlbG93LXRocmVlXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIktlZXAgSW5mb3JtZWRcIiBpZD1cImluZm9ybWVkSFwiLz5cbiAgICAgICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJLRUVQIElORk9STUVEIC0gTG93IFBvd2VyLCBIaWdoIEludGVyZXN0IC0gUHJpb3JpdHkgTGV2ZWwgMlwiLz5cbiAgICAgICAgICAgICAgICAgICAgPHA+IDxiPlBvdGVudGlhbCB1c2VycyBvZiBQcmVDeXNlPC9iPiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICBhcmUgaW1wb3J0YW50IGZvciB1bmRlcnN0YW5kaW5nIHRoZSBuZWVkcywgZXZlbiBpZiB0aGVpciBleHBlcnRpc2UgXG4gICAgICAgICAgICAgICAgICAgIG1heSBub3QgYmUgc3VmZmljaWVudCB0byBzb2x2ZSBhbGwgdGhlIHByb2JsZW1zIHRoYXQgYXJpc2UgaW4gdGhlIHByb2plY3QuIEl0IGlzIHRoZXJlZm9yZSBpbXBvcnRhbnQgdG8gXG4gICAgICAgICAgICAgICAgICAgIGtlZXAgdGhlbSBpbmZvcm1lZC4gVGhlc2UgdXNlcnMgaW5jbHVkZSBzdGFrZWhvbGRlcnMgYXMgdGhlaXIgbmVlZHMgY29pbmNpZGUgd2l0aCB0aGUgcHJvamVjdC4gXG4gICAgICAgICAgICAgICAgICAgIFRoZWlyIGZlZWRiYWNrIGNhbiBwcm92aWRlIHZhbHVhYmxlIGluc2lnaHRzLiBUaGlzIGNvbGxhYm9yYXRpb24gaGVscHMgdG8gYmV0dGVyIHRhaWxvciB0aGUgcHJvamVjdCBcbiAgICAgICAgICAgICAgICAgICAgdG8gdXNlciBuZWVkcy5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD48Yj5QYXRpZW50cyBhbmQgcGF0aWVudCBvcmdhbml6YXRpb25zPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBQYXRpZW50cyBzdWZmZXJpbmcgZnJvbSBjeXN0aWMgZmlicm9zaXMgYW5kIHRoZSBvcmdhbml6YXRpb25zIHRoYXQgc3VwcG9ydCB0aGVtIGhhdmUgYSBoaWdoIGludGVyZXN0IGluIFxuICAgICAgICAgICAgICAgICAgICBuZXcgdGhlcmFwaWVzIHRoYXQgY291bGQgaW1wcm92ZSB0aGVpciBxdWFsaXR5IG9mIGxpZmUuIEhvd2V2ZXIsIHRoZWlyIHBvd2VyIHRvIGluZmx1ZW5jZSB0aGUgcHJvamVjdCBcbiAgICAgICAgICAgICAgICAgICAgaXMgbGltaXRlZC5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD4gPGI+QWNhZGVtaWMgY29tbXVuaXR5IGFuZCBzdHVkZW50czwvYj48L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgVGhpcyBncm91cCBpbmNsdWRlcyB1bml2ZXJzaXRpZXMsIHByb2Zlc3NvcnMsIGFuZCBzdHVkZW50cyB3aG8gYXJlIGludGVyZXN0ZWQgaW4gdGhlIGxhdGVzdCByZXNlYXJjaCBcbiAgICAgICAgICAgICAgICAgICAgaW4gZ2VuZSB0aGVyYXB5LiBBbHRob3VnaCB0aGV5IGRvIG5vdCBoYXZlIHRoZSBkaXJlY3QgcG93ZXIgdG8gaW5mbHVlbmNlIHRoZSBwcm9qZWN0LCB0aGV5IGNhbiBcbiAgICAgICAgICAgICAgICAgICAgc3VwcG9ydCBhbmQgcHJvbW90ZSB0aGUgcHJvamVjdCB0aHJvdWdoIHJlc2VhcmNoIGFuZCBhY2FkZW1pYyBwdWJsaWNhdGlvbnMuXG4gICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWVuZGVsb3d0YWJcIiBpZD1cIm1lbmRlbG93LWZvdXJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiTWluaW1hbCBFZmZvcnRcIiBpZD1cIm1pbmltYWxIXCIvPlxuICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkxvdyBQb3dlciwgTG93IEludGVyZXN0IC0gUHJpb3JpdHkgTGV2ZWwgMVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj5TdGFrZWhvbGRlcnMgd2hvIGFyZSByZWd1bGFybHkgbW9uaXRvcmVkPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF5IG5vdCBiZSBpbnRlcmVzdGVkIGluIHRoZSBwcm9qZWN0IGFuZCBkbyBub3QgcHJvdmlkZSBmZWVkYmFjay4gSG93ZXZlciwgdGhpcyBjYW4gY2hhbmdlIG92ZXIgdGltZS4gXG4gICAgICAgICAgICAgICAgICAgICAgICBTdGFrZWhvbGRlcnMgaW4gdGhpcyBjYXRlZ29yeSBhcmUgaW52b2x2ZWQgaW4gdGhlIHJpZ2h0IHNpdHVhdGlvbi4gRm9yIGV4YW1wbGUsIHRoZSBwdWJsaWMgb2YgQmllbGVmZWxkIGlzIFxuICAgICAgICAgICAgICAgICAgICAgICAgZXNzZW50aWFsIGZvciB1bmRlcnN0YW5kaW5nIHRoZSBiYWNrZ3JvdW5kIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhd2FyZW5lc3Mgb2YgZ2VuZSB0aGVyYXB5IG9yIEN5c3RpYyBGaWJyb3Npcy4gXG4gICAgICAgICAgICAgICAgICAgICAgICBUaGVpciBpbnZvbHZlbWVudCBvY2N1cnMgd2hlbiBpdCBpcyByZWxldmFudCBhbmQgb3RoZXIgZ3JvdXBzIG9mIHBlb3BsZSBjYW5ub3QgbWVldCB0aGVpciBuZWVkcy5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHA+PGI+R2VuZXJhbCBwdWJsaWMgb2YgQmllbGVmZWxkPC9iPjwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgICAgVGhlIHB1YmxpYyBtYXkgaGF2ZSBsaXR0bGUgaW50ZXJlc3QgYW5kIHBvd2VyIGluIHJlbGF0aW9uIHRvIHRoZSBzcGVjaWZpYyBpR0VNIHByb2plY3QuIFdoaWxlIGEgY2VydGFpbiBsZXZlbCBcbiAgICAgICAgICAgICAgICAgICAgICAgIG9mIGVkdWNhdGlvbiBhbmQgYXdhcmVuZXNzIG9mIHRoZSB0b3BpYyBpcyBpbXBvcnRhbnQsIGludGVuc2l2ZSBpbnZvbHZlbWVudCBvZiB0aGlzIGdyb3VwIGlzIGdlbmVyYWxseSBub3QgbmVjZXNzYXJ5LlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8cD48Yj5NZWRpYTwvYj48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBtZWRpYSBtYXkgaGF2ZSBhbiBpbnRlcmVzdCBpbiBzY2llbnRpZmljIGJyZWFrdGhyb3VnaHMgYW5kIG5ldyB0ZWNobm9sb2dpZXMsIGJ1dCB0aGV5IHRlbmQgdG8gaGF2ZSBsaXR0bGUgXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3dlciBpbiB0ZXJtcyBvZiBkaXJlY3RseSBpbmZsdWVuY2luZyB0aGUgcHJvamVjdC4gTmV2ZXJ0aGVsZXNzLCBzdHJhdGVnaWMgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBtZWRpYSBjYW4gXG4gICAgICAgICAgICAgICAgICAgICAgICBiZSBpbXBvcnRhbnQgdG8gbWFuYWdlIHB1YmxpYyBwZXJjZXB0aW9uLlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBmcmFtZWN5Y2xldGFiXCIgaWQ9XCJzd290XCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiU1dPVCBBbmFseXNlc1wiIGlkPVwic3dvdEhcIi8+XG4gICAgICAgICAgICAgICAgPHA+QSA8Yj5TV09UPC9iPiBhbmFseXNpcyBpcyBhIHN0cmF0ZWdpYyB0b29sIHVzZWQgdG8gZXZhbHVhdGUgdGhlIDxiPlM8L2I+dHJlbmd0aHMsIDxiPlc8L2I+ZWFrbmVzc2VzLCA8Yj5PPC9iPnBwb3J0dW5pdGllcywgYW5kIDxiPlQ8L2I+aHJlYXRzIG9mIGFuIFxuICAgICAgICAgICAgICAgIG9yZ2FuaXphdGlvbi4gSW4gdGhlIGNvbnRleHQgb2Ygb3VyIEh1bWFuIFByYWN0aWNlIGFwcHJvYWNoLCB0aGlzIGFuYWx5c2lzIGhlbHBzIHVzIGlkZW50aWZ5IGludGVybmFsIHN0cmVuZ3RocyBhbmQgd2Vha25lc3NlcyBvZiBvdXIgcHJvamVjdCwgc3VjaCBhcyBcbiAgICAgICAgICAgICAgICB0ZWNobmljYWwgY2FwYWJpbGl0aWVzIGFuZCByZXNvdXJjZSBsaW1pdGF0aW9ucywgd2hpbGUgYWxzbyBleGFtaW5pbmcgZXh0ZXJuYWwgb3Bwb3J0dW5pdGllcywgbGlrZSBwb3RlbnRpYWwgY29sbGFib3JhdGlvbnMsIGFuZCB0aHJlYXRzLCBzdWNoIGFzIHJlZ3VsYXRvcnkgXG4gICAgICAgICAgICAgICAgY2hhbGxlbmdlcyBvciBwdWJsaWMgcGVyY2VwdGlvbi4gXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxTV09Ub25lLz5cblxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9e3ttYXJnaW5Ub3A6IFwiNXZoXCIsIG1hcmdpbkJvdHRvbTogXCIxdmhcIn19PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIlBhdGllbnRzXCIgb3Blbj1cInBhdHNcIiBvcGVuY2xhc3M9XCJzdWJjeWNsZXRhYlwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIkluZHVzdHJ5XCIgb3Blbj1cImluZHNcIiBvcGVuY2xhc3M9XCJzdWJjeWNsZXRhYlwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIkFjYWRlbWlhXCIgb3Blbj1cImFjc1wiIG9wZW5jbGFzcz1cInN1YmN5Y2xldGFiXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiSGVhbHRoY2FyZVwiIG9wZW49XCJoZWFsdGhzXCIgb3BlbmNsYXNzPVwic3ViY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT17eyBtYXJnaW5Cb3R0b206IFwiNXZoXCJ9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJHb3Zlcm5tZW50XCIgb3Blbj1cImdvdnNcIiBvcGVuY2xhc3M9XCJzdWJjeWNsZXRhYlwiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiQ29tbXVuaXR5XCIgb3Blbj1cImNvbW1zXCIgb3BlbmNsYXNzPVwic3ViY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIlRoZSBQdWJsaWNcIiBvcGVuPVwicHVic1wiIG9wZW5jbGFzcz1cInN1YmN5Y2xldGFiXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lIHRleHQ9XCJCdXNpbmVzc1wiIG9wZW49XCJidXNpXCIgb3BlbmNsYXNzPVwic3ViY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBzdWJjeWNsZXRhYlwiIGlkPVwicGF0c1wiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+IFxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUGF0aWVudCBBZHZvY2FjeSBhbmQgU3VwcG9ydCBHcm91cHNcIi8+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGNlbGxQYWRkaW5nPXsxMH0gY2VsbFNwYWNpbmc9ezB9ID5cbiAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdHJlbmd0aHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5XZWFrbmVzc2VzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+T3Bwb3J0dW5pdGllczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlRocmVhdHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5TdHJvbmcgc3VwcG9ydCBuZXR3b3JrIGZvciBwYXRpZW50cyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5JbmZsdWVudGlhbCBpbiBwb2xpY3kgYWR2b2NhY3kgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UGVyc29uYWwgY29ubmVjdGlvbiB0byBwYXRpZW50IGNvbW11bml0aWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5MaW1pdGVkIGZ1bmRpbmcgYW5kIHJlc291cmNlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgcmVzaXN0YW5jZSB0byBuZXcgdGVjaG5vbG9naWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkRlcGVuZGVuY2Ugb24gZG9uYXRpb25zIGFuZCBncmFudHMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5JbmNyZWFzZWQgcGF0aWVudCBlbmdhZ2VtZW50IGFuZCBzdXBwb3J0IGZvciBuZXcgdGhlcmFwaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkFkdm9jYWN5IGNhbiBkcml2ZSBwb2xpY3kgY2hhbmdlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5FbmhhbmNpbmcgYXdhcmVuZXNzIGFuZCBlZHVjYXRpb24gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgb3Bwb3NpdGlvbiBmcm9tIGdyb3VwcyBza2VwdGljYWwgb2YgbmV3IHRyZWF0bWVudHMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+TWlzaW5mb3JtYXRpb24gb3IgbWlzY29tbXVuaWNhdGlvbiBhYm91dCBuZXcgdGhlcmFwaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkNvbXBldGluZyBwcmlvcml0aWVzIGFtb25nIGFkdm9jYWN5IGdyb3VwcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cImluZHNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJQaGFybWFjZXV0aWNhbCBDb21wYW5pZXNcIiAvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmVzb3VyY2VzIGZvciBsYXJnZS1zY2FsZSBwcm9kdWN0aW9uIGFuZCBkaXN0cmlidXRpb24gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+RXhwZXJpZW5jZSB3aXRoIHJlZ3VsYXRvcnkgcHJvY2Vzc2VzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlN0cm9uZyByZXNlYXJjaCBhbmQgZGV2ZWxvcG1lbnQgY2FwYWJpbGl0aWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Gb2N1cyBvbiBwcm9maXRhYmlsaXR5IG1heSBjb25mbGljdCB3aXRoIHBhdGllbnQgYWZmb3JkYWJpbGl0eSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Mb25nIGRldmVsb3BtZW50IHRpbWVsaW5lcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgZm9yIGhpZ2ggcHJpY2luZyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBmb3IgZGV2ZWxvcGluZyBuZXcgdHJlYXRtZW50IG1vZGFsaXRpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+TWFya2V0IGV4cGFuc2lvbiBhbmQgY29tcGV0aXRpdmUgYWR2YW50YWdlIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBhcnRuZXJzaGlwcyB3aXRoIHJlc2VhcmNoIGluc3RpdHV0aW9ucyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkhpZ2ggY29zdCBhbmQgcmlzayBhc3NvY2lhdGVkIHdpdGggbmV3IHRoZXJhcHkgZGV2ZWxvcG1lbnQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+U3RyaW5nZW50IHJlZ3VsYXRvcnkgYW5kIGNvbXBsaWFuY2UgcmVxdWlyZW1lbnRzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBwdWJsaWMgYmFja2xhc2ggb3ZlciBoaWdoIHRyZWF0bWVudCBjb3N0cyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiQmlvZW5naW5lZXJpbmcgYW5kIEJpb3RlY2hub2xvZ3kgRGVwYXJ0bWVudHMgXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+QWdpbGUgYW5kIGlubm92YXRpdmUsIGNhbiBxdWlja2x5IGFkYXB0IHRvIG5ldyB0ZWNobm9sb2dpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Rm9jdXNlZCBvbiBuaWNoZSBtYXJrZXRzIGFuZCBjdXR0aW5nLWVkZ2Ugc29sdXRpb25zIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlN0cm9uZyBlbnRyZXByZW5ldXJpYWwgc3Bpcml0IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk9wcG9ydHVuaXR5IGZvciByYXBpZCBncm93dGggYW5kIHBhcnRuZXJzaGlwIHdpdGggbGFyZ2VyIGZpcm1zIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCB0byBkaXNydXB0IGV4aXN0aW5nIG1hcmtldHMgd2l0aCBpbm5vdmF0aXZlIHNvbHV0aW9ucyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5PcHBvcnR1bml0aWVzIGZvciBjb2xsYWJvcmF0aW9uIGFuZCBhY3F1aXNpdGlvbiA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkhpZ2ggcmlzayBvZiBmYWlsdXJlIGFuZCBtYXJrZXQgdm9sYXRpbGl0eSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5JbnRlbnNlIGNvbXBldGl0aW9uIGFuZCBmYXN0LXBhY2VkIGluZHVzdHJ5IGNoYW5nZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmVndWxhdG9yeSBhbmQgbWFya2V0IGVudHJ5IGJhcnJpZXJzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cImFjc1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIkdlbmV0aWMgUmVzZWFyY2ggSW5zdGl0dXRpb25zIFwiLz5cbiAgICAgICAgICAgICAgICA8dGFibGUgY2VsbFBhZGRpbmc9ezEwfSBjZWxsU3BhY2luZz17MH0gPlxuICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlN0cmVuZ3RoczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPldlYWtuZXNzZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5PcHBvcnR1bml0aWVzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+VGhyZWF0czwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkV4cGVydGlzZSBpbiBnZW5ldGljIGRpc29yZGVycyBhbmQgYWR2YW5jZWQgcmVzZWFyY2ggY2FwYWJpbGl0aWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkFjY2VzcyB0byBzdGF0ZS1vZi10aGUtYXJ0IHJlc2VhcmNoIGZhY2lsaXRpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+U3Ryb25nIHRyYWNrIHJlY29yZCBvZiBpbm5vdmF0aW9uIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5NYXkgaGF2ZSBsaW1pdGVkIHByYWN0aWNhbCBleHBlcmllbmNlIHdpdGggdGhlcmFweSBkZWxpdmVyeSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgZGlzY29ubmVjdCBiZXR3ZWVuIHJlc2VhcmNoIGFuZCBjbGluaWNhbCBhcHBsaWNhdGlvbiA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5IaWdoIG9wZXJhdGlvbmFsIGNvc3RzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Q29sbGFib3JhdGlvbiBjYW4gbGVhZCB0byBicmVha3Rocm91Z2hzIGluIGdlbmUgZWRpdGluZyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgZm9yIGdyb3VuZGJyZWFraW5nIHJlc2VhcmNoIGFuZCBuZXcgZGlzY292ZXJpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Q29sbGFib3JhdGl2ZSByZXNlYXJjaCBvcHBvcnR1bml0aWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+SGlnaCBjb21wZXRpdGlvbiBmb3IgZnVuZGluZyBhbmQgcmVzZWFyY2ggZ3JhbnRzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlJhcGlkIHRlY2hub2xvZ2ljYWwgY2hhbmdlcyByZXF1aXJpbmcgY29uc3RhbnQgYWRhcHRhdGlvbiA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5FdGhpY2FsIGFuZCByZWd1bGF0b3J5IGNoYWxsZW5nZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8SDUgdGV4dD1cIlVuaXZlcnNpdGllcyBhbmQgQWNhZGVtaWMgUmVzZWFyY2hlcnMgXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+U3Ryb25nIHJlc2VhcmNoIGZvdW5kYXRpb24gYW5kIGlubm92YXRpb24gY2FwYWJpbGl0aWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkFjY2VzcyB0byBhIGRpdmVyc2UgcG9vbCBvZiBhY2FkZW1pYyB0YWxlbnQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+RXN0YWJsaXNoZWQgcmVzZWFyY2ggaW5mcmFzdHJ1Y3R1cmUgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk1heSBoYXZlIGxpbWl0ZWQgcmVzb3VyY2VzIGZvciBjb21tZXJjaWFsaXphdGlvbiA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5MaW1pdGVkIGluZHVzdHJ5IGNvbm5lY3Rpb25zIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkhpZ2ggY29tcGV0aXRpb24gZm9yIGFjYWRlbWljIGdyYW50cyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBmb3IgZ3JvdW5kYnJlYWtpbmcgcmVzZWFyY2ggYW5kIG5ldyBkaXNjb3ZlcmllcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Db2xsYWJvcmF0aW9uIHdpdGggaW5kdXN0cnkgZm9yIGFwcGxpZWQgcmVzZWFyY2ggPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+T3Bwb3J0dW5pdGllcyBmb3IgaW50ZXJkaXNjaXBsaW5hcnkgcmVzZWFyY2ggPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5GdW5kaW5nIGxpbWl0YXRpb25zIGFuZCBidXJlYXVjcmF0aWMgY2hhbGxlbmdlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5JbnRlbGxlY3R1YWwgcHJvcGVydHkgYW5kIHRlY2hub2xvZ3kgdHJhbnNmZXIgaXNzdWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkJhbGFuY2luZyBhY2FkZW1pYyByZXNlYXJjaCB3aXRoIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cImhlYWx0aHNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJQdWxtb25vbG9naXN0cyBhbmQgUmVzcGlyYXRvcnkgU3BlY2lhbGlzdHNcIi8+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGNlbGxQYWRkaW5nPXsxMH0gY2VsbFNwYWNpbmc9ezB9ID5cbiAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdHJlbmd0aHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5XZWFrbmVzc2VzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+T3Bwb3J0dW5pdGllczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlRocmVhdHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5EZWVwIHVuZGVyc3RhbmRpbmcgb2YgQ0YgYW5kIGl0cyBjb21wbGljYXRpb25zIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkRpcmVjdCBwYXRpZW50IGNhcmUgZXhwZXJpZW5jZSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Fc3RhYmxpc2hlZCBwYXRpZW50IHRydXN0IGFuZCByYXBwb3J0IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5NYXkgbGFjayBleHBlcnRpc2UgaW4gZ2VuZSBlZGl0aW5nIGFuZCBuZXcgZGVsaXZlcnkgc3lzdGVtcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5MaW1pdGVkIHRpbWUgYW5kIHJlc291cmNlcyBmb3IgcmVzZWFyY2ggaW52b2x2ZW1lbnQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmlzayBvZiBzbG93IGFkb3B0aW9uIG9mIG5ldyB0ZWNobm9sb2dpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5DYW4gcHJvdmlkZSB2YWx1YWJsZSBpbnNpZ2h0cyBmb3IgdGhlcmFweSBvcHRpbWl6YXRpb24gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+T3Bwb3J0dW5pdGllcyBmb3IgY2xpbmljYWwgdHJpYWxzIGFuZCBwYXRpZW50IGZlZWRiYWNrIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkVuaGFuY2VkIHRyZWF0bWVudCBwcm90b2NvbHMgdGhyb3VnaCBjb2xsYWJvcmF0aW9uIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmVzaXN0YW5jZSB0byBhZG9wdCBuZXcgYW5kIHVucHJvdmVuIHRoZXJhcGllcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgbGlhYmlsaXR5IGlzc3VlcyB3aXRoIG5ldyB0cmVhdG1lbnRzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkNvbXBldGl0aW9uIGZyb20gYWx0ZXJuYXRpdmUgdGhlcmFwaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJTcGVjaWFsaXplZCBDbGluaWNzIGFuZCBIb3NwaXRhbHNcIi8+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGNlbGxQYWRkaW5nPXsxMH0gY2VsbFNwYWNpbmc9ezB9ID5cbiAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdHJlbmd0aHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5XZWFrbmVzc2VzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+T3Bwb3J0dW5pdGllczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlRocmVhdHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5EaXJlY3QgYWNjZXNzIHRvIHBhdGllbnQgcG9wdWxhdGlvbiA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5BYmlsaXR5IHRvIGNvbmR1Y3QgY2xpbmljYWwgdHJpYWxzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkV4cGVyaWVuY2VkIG1lZGljYWwgc3RhZmYgYW5kIGluZnJhc3RydWN0dXJlIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5NYXkgbGFjayBleHBlcnRpc2UgaW4gZ2VuZSB0aGVyYXB5IGFuZCBuZXcgZGVsaXZlcnkgc3lzdGVtcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5IaWdoIG9wZXJhdGlvbmFsIGNvc3RzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBsaWFiaWxpdHkgYW5kIGV0aGljYWwgY29uY2VybnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5DbGluaWNhbCB0cmlhbHMgYW5kIHJlYWwtd29ybGQgYXBwbGljYXRpb24gb2YgbmV3IHRoZXJhcGllcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5PcHBvcnR1bml0aWVzIGZvciBpbXByb3ZpbmcgcGF0aWVudCBjYXJlIGFuZCBvdXRjb21lcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Db2xsYWJvcmF0aW9uIHdpdGggcmVzZWFyY2ggaW5zdGl0dXRpb25zIGZvciB0aGVyYXB5IGRldmVsb3BtZW50IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+SGlnaCBjb3N0IGFuZCBjb21wbGV4aXR5IG9mIGludGVncmF0aW5nIG5ldyB0aGVyYXBpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmVzaXN0YW5jZSBmcm9tIGNsaW5pY2FsIHN0YWZmIHRvIGFkb3B0IG5ldyB0ZWNobm9sb2dpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Q29tcGV0aXRpb24gZm9yIHBhdGllbnRzIGFuZCBjbGluaWNhbCB0cmlhbCBwYXJ0aWNpcGF0aW9uIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJIZWFsdGhjYXJlIE5ldHdvcmtzXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+QnJvYWQgcmVhY2ggYW5kIGluZmx1ZW5jZSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5BYmlsaXR5IHRvIGltcGxlbWVudCBuZXcgdGhlcmFwaWVzIHdpZGVseSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Fc3RhYmxpc2hlZCByZWxhdGlvbnNoaXBzIHdpdGggcGF0aWVudCBjb21tdW5pdGllcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+VmFyaWFiaWxpdHkgaW4gbmV0d29yayBjYXBhYmlsaXRpZXMgYW5kIHJlc291cmNlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Db21wbGV4IGNvb3JkaW5hdGlvbiByZXF1aXJlZCA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgZGlzcGFyaXRpZXMgaW4gY2FyZSBxdWFsaXR5IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UG90ZW50aWFsIGZvciBsYXJnZS1zY2FsZSBpbXBhY3Qgb24gcGF0aWVudCBjYXJlIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkxldmVyYWdpbmcgbmV0d29yayBmb3IgbGFyZ2Utc2NhbGUgY2xpbmljYWwgdHJpYWxzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlN0YW5kYXJkaXppbmcgY2FyZSBhY3Jvc3MgbXVsdGlwbGUgZmFjaWxpdGllcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk9yZ2FuaXphdGlvbmFsIHJlc2lzdGFuY2UgdG8gY2hhbmdlIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkVjb25vbWljIHByZXNzdXJlcyBhbmQgYnVkZ2V0IGNvbnN0cmFpbnRzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlZhcmlhYmlsaXR5IGluIHJlZ3VsYXRvcnkgY29tcGxpYW5jZSBhY3Jvc3MgcmVnaW9ucyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHN1YmN5Y2xldGFiXCIgaWQ9XCJnb3ZzXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiQmlvZXRoaWNzIENvbW1pdHRlZXMgXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+RW5zdXJlIGV0aGljYWwgc3RhbmRhcmRzIGFyZSBtZXQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UHJvdmlkZSBndWlkYW5jZSBvbiBjb21wbGV4IGlzc3VlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5FbmhhbmNlIGNyZWRpYmlsaXR5IGFuZCBhY2NlcHRhbmNlIG9mIG5ldyB0aGVyYXBpZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk1heSBiZSBjb25zZXJ2YXRpdmUgYW5kIHNsb3cgdG8gYXBwcm92ZSBuZXcgdGVjaG5vbG9naWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBmb3IgY29uZmxpY3Rpbmcgb3BpbmlvbnMgd2l0aGluIHRoZSBjb21taXR0ZWUgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+TGltaXRlZCBhdXRob3JpdHkgdG8gZW5mb3JjZSBkZWNpc2lvbnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Fc3RhYmxpc2hpbmcgZXRoaWNhbCBmcmFtZXdvcmtzIGZvciBuZXcgdGhlcmFwaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkVuaGFuY2luZyBwdWJsaWMgdHJ1c3QgdGhyb3VnaCBldGhpY2FsIG92ZXJzaWdodCA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Db2xsYWJvcmF0aW9uIHdpdGggcmVndWxhdG9yeSBhZ2VuY2llcyBmb3IgY29tcHJlaGVuc2l2ZSBvdmVyc2lnaHQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5FdGhpY2FsIGRpbGVtbWFzIGFuZCBwdWJsaWMgcGVyY2VwdGlvbiBpc3N1ZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmFwaWQgYWR2YW5jZW1lbnRzIG91dHBhY2luZyBldGhpY2FsIGd1aWRlbGluZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+TWlzYWxpZ25tZW50IHdpdGggZmFzdC1wYWNlZCB0ZWNobm9sb2dpY2FsIGFkdmFuY2VtZW50cyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiTGVnYWwgRXhwZXJ0c1wiLz5cbiAgICAgICAgICAgICAgICA8dGFibGUgY2VsbFBhZGRpbmc9ezEwfSBjZWxsU3BhY2luZz17MH0gPlxuICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlN0cmVuZ3RoczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPldlYWtuZXNzZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5PcHBvcnR1bml0aWVzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+VGhyZWF0czwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk5hdmlnYXRlIGNvbXBsZXggbGVnYWwgbGFuZHNjYXBlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5FbnN1cmUgY29tcGxpYW5jZSB3aXRoIHJlZ3VsYXRpb25zIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkV4cGVydGlzZSBpbiBoZWFsdGhjYXJlIGxhdyBhbmQgZ2VuZXRpYyByZXNlYXJjaCByZWd1bGF0aW9ucyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+SGlnaCBjb3N0cyBmb3IgbGVnYWwgc2VydmljZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UG90ZW50aWFsIGZvciBsZW5ndGh5IGxlZ2FsIHByb2Nlc3NlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5SaXNrIG9mIHN0aWZsaW5nIGlubm92YXRpb24gd2l0aCBvdmVybHkgY2F1dGlvdXMgYWR2aWNlIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+RGV2ZWxvcG1lbnQgb2YgY29tcHJlaGVuc2l2ZSBsZWdhbCBmcmFtZXdvcmtzIGZvciBuZXcgdGhlcmFwaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlByb3RlY3RpbmcgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGFuZCBlbnN1cmluZyByZWd1bGF0b3J5IGNvbXBsaWFuY2UgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+QWR2aXNpbmcgb24gYmVzdCBwcmFjdGljZXMgZm9yIGV0aGljYWwgYW5kIGxlZ2FsIHN0YW5kYXJkcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkxlZ2FsIGNoYWxsZW5nZXMgYW5kIGxpYWJpbGl0eSBpc3N1ZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmFwaWRseSBjaGFuZ2luZyBsZWdhbCBlbnZpcm9ubWVudHMgYW5kIHJlZ3VsYXRpb25zIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBmb3IgbGl0aWdhdGlvbiBhbmQgbGVnYWwgZGlzcHV0ZXMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICAgICAgPC90YWJsZT4gICAgXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cImNvbW1zXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUGF0aWVudCBhbmQgQ29tbXVuaXR5IE91dHJlYWNoIFByb2dyYW1zXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+SW5jcmVhc2UgYXdhcmVuZXNzIGFuZCBlZHVjYXRpb24gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+QnVpbGQgcHVibGljIHN1cHBvcnQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Rm9zdGVyIGNvbm5lY3Rpb25zIGJldHdlZW4gcGF0aWVudHMsIHJlc2VhcmNoZXJzLCBhbmQgaGVhbHRoY2FyZSBwcm92aWRlcnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkxpbWl0ZWQgcmVhY2ggYW5kIHJlc291cmNlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgbWlzaW5mb3JtYXRpb24gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+RGVwZW5kZW5jZSBvbiB2b2x1bnRlZXIgZWZmb3J0cyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkVuaGFuY2VkIHB1YmxpYyBlbmdhZ2VtZW50IGFuZCBzdXBwb3J0IGZvciBuZXcgdGhlcmFwaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPk9wcG9ydHVuaXRpZXMgZm9yIGNvbW11bml0eS1kcml2ZW4gYWR2b2NhY3kgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmFpc2luZyBmdW5kcyBhbmQgcmVzb3VyY2VzIHRocm91Z2ggcHVibGljIGVuZ2FnZW1lbnQgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+IFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5QdWJsaWMgc2tlcHRpY2lzbSBhbmQgcmVzaXN0YW5jZSB0byBuZXcgdGVjaG5vbG9naWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkNvbXBldGluZyBtZXNzYWdlcyBhbmQgcHJpb3JpdGllcyBhbW9uZyB2YXJpb3VzIGNvbW11bml0eSBncm91cHMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+TWlzY29tbXVuaWNhdGlvbiBsZWFkaW5nIHRvIG1pc2luZm9ybWF0aW9uIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cInB1YnNcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJFZHVjYXRpb25hbCBJbnN0aXR1dGlvbnNcIi8+XG4gICAgICAgICAgICAgICAgPHRhYmxlIGNlbGxQYWRkaW5nPXsxMH0gY2VsbFNwYWNpbmc9ezB9ID5cbiAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdHJlbmd0aHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5XZWFrbmVzc2VzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+T3Bwb3J0dW5pdGllczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPlRocmVhdHM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5FZHVjYXRlIGZ1dHVyZSBzY2llbnRpc3RzIGFuZCBoZWFsdGhjYXJlIHByb2Zlc3Npb25hbHMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UHJvbW90ZSByZXNlYXJjaCBhbmQgaW5ub3ZhdGlvbiA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Fc3RhYmxpc2hlZCBpbmZyYXN0cnVjdHVyZSBmb3IgZWR1Y2F0aW9uIGFuZCByZXNlYXJjaCA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+TGltaXRlZCBmdW5kaW5nIGFuZCByZXNvdXJjZXMgZm9yIGxhcmdlLXNjYWxlIHByb2plY3RzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlBvdGVudGlhbCBmb3IgYWNhZGVtaWMgYnVyZWF1Y3JhY3kgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+SGlnaCBjb21wZXRpdGlvbiBmb3IgcmVzZWFyY2ggZ3JhbnRzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+T3Bwb3J0dW5pdHkgdG8gZm9zdGVyIG5ldyB0YWxlbnQgYW5kIGlubm92YXRpb24gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+Q29sbGFib3JhdGlvbiB3aXRoIGluZHVzdHJ5IGFuZCByZXNlYXJjaCBpbnN0aXR1dGlvbnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+T3Bwb3J0dW5pdGllcyBmb3IgaW50ZXJkaXNjaXBsaW5hcnkgZWR1Y2F0aW9uIGFuZCByZXNlYXJjaCA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkZ1bmRpbmcgY29uc3RyYWludHMgYW5kIGFjYWRlbWljIHByZXNzdXJlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5CYWxhbmNpbmcgYWNhZGVtaWMgb2JqZWN0aXZlcyB3aXRoIHByYWN0aWNhbCBhcHBsaWNhdGlvbnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmlzayBvZiBicmFpbiBkcmFpbiB0byBtb3JlIGx1Y3JhdGl2ZSBpbmR1c3RyaWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgc3ViY3ljbGV0YWJcIiBpZD1cImJ1c2lcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgPEg1IHRleHQ9XCJGdW5kaW5nIEFnZW5jaWVzIGFuZCBWZW50dXJlIENhcGl0YWxpc3RzXCIvPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxsUGFkZGluZz17MTB9IGNlbGxTcGFjaW5nPXswfSA+XG4gICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RyZW5ndGhzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+V2Vha25lc3NlczwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk9wcG9ydHVuaXRpZXM8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5UaHJlYXRzPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UHJvdmlkZSBjcnVjaWFsIGZpbmFuY2lhbCBzdXBwb3J0IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkRyaXZlIGlubm92YXRpb24gdGhyb3VnaCBpbnZlc3RtZW50IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkV4dGVuc2l2ZSBuZXR3b3JrcyBhbmQgaW5kdXN0cnkgY29ubmVjdGlvbnMgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkZvY3VzIG9uIFJPSSBtYXkgbGltaXQgZnVuZGluZyBmb3IgaGlnaC1yaXNrIHByb2plY3RzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkhpZ2ggY29tcGV0aXRpb24gZm9yIGZ1bmRpbmcgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UmlzayBhdmVyc2lvbiBtYXkgbGltaXQgaW5ub3ZhdGl2ZSBidXQgdW5jZXJ0YWluIHByb2plY3RzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRyPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+UG90ZW50aWFsIGZvciBoaWdoIHJldHVybnMgYW5kIGltcGFjdCBvbiBoZWFsdGhjYXJlIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlN1cHBvcnRpbmcgdHJhbnNmb3JtYXRpdmUgdGVjaG5vbG9naWVzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPklkZW50aWZ5aW5nIGFuZCBudXJ0dXJpbmcgYnJlYWt0aHJvdWdoIHRlY2hub2xvZ2llcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0cj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPkVjb25vbWljIGRvd250dXJucyBhZmZlY3RpbmcgaW52ZXN0bWVudCBjYXBhY2l0eSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5Qb3RlbnRpYWwgZm9yIGhpZ2ggZmluYW5jaWFsIGxvc3NlcyA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5DaGFuZ2VzIGluIGVjb25vbWljIGFuZCBwb2xpY3kgZW52aXJvbm1lbnRzIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgICAgIDwvdGFibGU+ICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBmcmFtZWN5Y2xldGFiXCIgaWQ9XCJ0aGlyZHBhcnR5XCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUaGUgVGhpcmQtUGFydHkgRmVlZGJhY2sgVGVtcGxhdGVcIiBpZD1cInRoaXJkSFwiLz5cbiAgICAgICAgICAgICAgICA8cD5UbyBkcml2ZSBzdGFrZWhvbGRlciBpbnRlcmFjdGlvbnMgZm9yIHRoZSA8UHJlQ3lzZS8+IHByb2plY3QsIG91ciB0ZWFtIGltcGxlbWVudGVkIHRoZSBcdTIwMUNUaGlyZC1QYXJ0eSBGZWVkYmFjayBUZW1wbGF0ZVx1MjAxRC4gVGhpcyB0ZW1wbGF0ZSBoZWxwcyB1cyBpbnRyb2R1Y2UgaW5kaXZpZHVhbHMgdG8gb3VyIHN0YWtlaG9sZGVycyBhbmQgZGVtb25zdHJhdGUgdGhlaXIgc2lnbmlmaWNhbmNlIHRvIG91ciBwcm9qZWN0LiBUaGVyZSBhcmUgdGhyZWUgbWFpbiBzZWN0aW9ucyBpbiB0aGlzIHRlbXBsYXRlLiBGaXJzdCwgd2UgYWRkcmVzcyB0aGUgaW1wb3J0YW50IHF1ZXN0aW9uIG9mIHdobyBvdXIgc3Rha2Vob2xkZXJzIGFyZSwgaW50cm9kdWNpbmcgdGhlaXIgYmFja2dyb3VuZHMgYW5kIGV4cGxhaW5pbmcgd2h5IHdlIHJlYWNoZWQgb3V0IHRvIHRoZW0uIE5leHQsIHdlIHN1bW1hcml6ZSB0aGUgY29udmVyc2F0aW9ucyBhbmQga25vd2xlZGdlIGV4Y2hhbmdlZCBkdXJpbmcgb3VyIGludGVyYWN0aW9ucy4gRmluYWxseSwgd2Ugc2hhcmUgb3VyIHJlZmxlY3Rpb25zIGZyb20gdGhlc2Ugc3Rha2Vob2xkZXIgY29udmVyc2F0aW9ucyBhbmQgaG93IHRoZXNlIGludGVyYWN0aW9ucyBoYXZlIGd1aWRlZCB0aGUgbmV4dCBzdGVwcyBvZiBvdXIgcHJvamVjdC4gIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJcIiA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEhQVW5kZXJzdGFuZGluZy8+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIHVuZGVyc3RhbmRpbmd0YWJcIiBpZD1cInVuZGVyLXJlZmxlY3Rpb25cIiBzdHlsZT17e2Rpc3BsYXk6IFwiYmxvY2tcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PExvcmVtU2hvcnQvPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCB1bmRlcnN0YW5kaW5ndGFiXCIgaWQ9XCJ1bmRlci1yZXNwb25zaWJpbGl0eVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjxMb3JlbVNob3J0Lz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgdW5kZXJzdGFuZGluZ3RhYlwiIGlkPVwidW5kZXItcmVzcG9uc2l2ZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjxMb3JlbVNob3J0Lz48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZnJhbWVjeWNsZXRhYlwiIGlkPVwiYXJlYVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkFSRUEgRnJhbWV3b3JrXCIgaWQ9XCJhcmVhSFwiLz5cbiAgICAgICAgICAgICAgICA8cD5UaGUgQVJFQSBGcmFtZXdvcmsgQW5hbHlzaXMgaXMgYSBtb2RlbCB0aGF0IGhlbHBzIHN0cnVjdHVyZSBhbmQgb3B0aW1pemUgZGVjaXNpb24tbWFraW5nIGluIGNvbXBsZXggcHJvamVjdHMsIGVzcGVjaWFsbHkgd2hlbiBtdWx0aXBsZSBzdGFrZWhvbGRlcnMgYXJlIGludm9sdmVkLlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiaHAzLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEhQM25ldy8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiQWdlbmRhXCIvPlxuICAgICAgICAgICAgICAgIDxwPlxuICAgIFRoZSBjZW50cmFsIGdvYWwgb2YgdGhlIFByZUN5c2UgcHJvamVjdCBpcyB0byBkZXZlbG9wIGFuIGlubm92YXRpdmUgZ2VuZSB0aGVyYXB5IHNvbHV0aW9uIGZvciBjeXN0aWMgZmlicm9zaXMgKENGKSB0aGF0IGlzIG5vdCBvbmx5IHRlY2huaWNhbGx5IGVmZmVjdGl2ZSBidXQgYWxzbyBzb2NpYWxseSBhY2NlcHRhYmxlIGFuZCBldGhpY2FsbHkganVzdGlmaWFibGUuIFRoZSBwcmltYXJ5IHF1ZXN0aW9ucyBpbmNsdWRlOlxuPC9wPlxuPHVsPlxuICAgIDxsaT5Ib3cgY2FuIHRoZSBwcm9qZWN0IGltcHJvdmUgdGhlIGxpdmVzIG9mIENGIHBhdGllbnRzPzwvbGk+XG4gICAgPGxpPkhvdyBjYW4gdGhlIHByb2plY3QgZW5zdXJlIHRoYXQgdGhlIHByb3Bvc2VkIHRoZXJhcHkgbWVldHMgZXRoaWNhbCBhbmQgcmVndWxhdG9yeSBzdGFuZGFyZHM/PC9saT5cbiAgICA8bGk+SG93IGNhbiB0aGUgc29sdXRpb24gYmUgaW50ZWdyYXRlZCBpbnRvIGN1cnJlbnQgaGVhbHRoY2FyZSBpbml0aWF0aXZlcz88L2xpPlxuICAgIDxsaT5Ib3cgZG9lcyB0aGUgcHJvamVjdCBpbmZsdWVuY2UsIGFuZCBob3cgaXMgaXQgaW5mbHVlbmNlZCBieSwgdGhlIHBlcmNlcHRpb25zIG9mIHN0YWtlaG9sZGVycywgcGFydGljdWxhcmx5IHBhdGllbnRzLCByZWd1bGF0b3J5IGF1dGhvcml0aWVzLCBhbmQgdGhlIHNjaWVudGlmaWMgY29tbXVuaXR5PzwvbGk+XG48L3VsPlxuPHA+XG4gICAgSGVyZSwgdGhlIG5lZWQgaXMgZGVmaW5lZCB0byBkZXZlbG9wIGEgaG9saXN0aWMgdW5kZXJzdGFuZGluZyBvZiB0aGUgcHJvamVjdFx1MjAxOXMgaW1wYWN0cywgY29uc2lkZXJpbmcgYm90aCB0ZWNobm9sb2dpY2FsIGFzcGVjdHMgYW5kIGh1bWFuIHBlcnNwZWN0aXZlcy5cbjwvcD5cblxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiUmVzZWFyY2hcIi8+XG4gICAgICAgICAgICAgICAgPHA+XG4gICAgVG8gZ2FpbiBhIGNvbXByZWhlbnNpdmUgdW5kZXJzdGFuZGluZyBvZiB0aGUgbmVlZHMgYW5kIGV4cGVjdGF0aW9ucywgdGhlIFByZUN5c2UgdGVhbSBlbXBsb3llZCB2YXJpb3VzIG1ldGhvZHMgdG8gY29sbGVjdCBkYXRhIGZyb20gcmVsZXZhbnQgc3Rha2Vob2xkZXJzLCBpbmNsdWRpbmc6XG48L3A+XG48cD5cbiAgICA8Yj5TdXJ2ZXlzIG9mIENGIHBhdGllbnRzIGFuZCB0aGVpciBmYW1pbGllczo8L2I+IFRoZXNlIHByb3ZpZGVkIGluc2lnaHRzIGludG8gdGhlIHNwZWNpZmljIGNoYWxsZW5nZXMgYW5kIG5lZWRzIHRoYXQgQ0YgcGF0aWVudHMgZmFjZSBpbiBkYWlseSBsaWZlLiBDcml0aWNhbCBxdWVzdGlvbnMgcmVnYXJkaW5nIHNhZmV0eSwgYWNjZXNzaWJpbGl0eSwgYW5kIHRoZSBsb25nLXRlcm0gYXBwbGljYXRpb24gb2YgZ2VuZSB0ZWNobm9sb2d5IHdlcmUgYWRkcmVzc2VkLlxuPC9wPlxuPHA+XG4gICAgPGI+RXhwZXJ0IGNvbnN1bHRhdGlvbnMgd2l0aCByZXNlYXJjaGVycyBhbmQgcGh5c2ljaWFuczo8L2I+IFNjaWVudGlzdHMgYW5kIGRvY3RvcnMgd29ya2luZyBpbiBnZW5lIHRoZXJhcHkgcHJvdmlkZWQgZXNzZW50aWFsIHRlY2huaWNhbCBmZWVkYmFjayBhbmQgaGVscGVkIGFzc2VzcyB0aGUgZmVhc2liaWxpdHkgYW5kIGVmZmVjdGl2ZW5lc3Mgb2YgdGhlIHByb3Bvc2VkIHRoZXJhcHkuXG48L3A+XG48cD5cbiAgICA8Yj5SZWd1bGF0b3J5IGF1dGhvcml0aWVzOjwvYj4gRmVlZGJhY2sgZnJvbSBhZ2VuY2llcyBsaWtlIHRoZSBGREEgYW5kIEVNQSBwbGF5ZWQgYSBjZW50cmFsIHJvbGUgaW4gYXNzZXNzaW5nIHNhZmV0eSByZXF1aXJlbWVudHMgYW5kIHJlZ3VsYXRvcnkgY2hhbGxlbmdlcyB0aGF0IG5lZWQgdG8gYmUgYWRkcmVzc2VkIGJlZm9yZSBjbGluaWNhbCBhcHBsaWNhdGlvbi4gVGhpcyByZXNlYXJjaCBwaGFzZSB3YXMgY3JpdGljYWwgdG8gZW5zdXJpbmcgdGhhdCB0aGUgdGVjaG5pY2FsIHNvbHV0aW9uIGFsaWduZWQgd2l0aCBwYXRpZW50IG5lZWRzIGFuZCByZWd1bGF0b3J5IHN0YW5kYXJkcy5cbjwvcD5cblxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiRXZhbHVhdGlvblwiLz5cbiAgICAgICAgICAgICAgICA8cD5CYXNlZCBvbiB0aGUgcmVzZWFyY2ggcGhhc2UgcmVzdWx0cywgYSBkZXRhaWxlZCBhc3Nlc3NtZW50IG9mIHRoZSBzdHJlbmd0aHMsIHdlYWtuZXNzZXMsIG9wcG9ydHVuaXRpZXMsIGFuZCB0aHJlYXRzIChTV09UIGFuYWx5c2lzKSB3YXMgY29uZHVjdGVkIChzZWUgYWJvdmUpLiBUaGUgZXZhbHVhdGlvbiBoZWxwZWQgdGhlIHRlYW0gcmVmbGVjdCBvbiB0aGUgZ2F0aGVyZWQgaW5zaWdodHMgYW5kIGZvY3VzIG9uIGtleSBjaGFsbGVuZ2VzIHRvIGVuc3VyZSBsb25nLXRlcm0gZmVhc2liaWxpdHkgYW5kIGFjY2VwdGFuY2UuXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxINSB0ZXh0PVwiQWdlbmRhXCIvPlxuICAgICAgICAgICAgICAgIDxwPlxuICAgIEJhc2VkIG9uIHRoZSBhbmFseXNpcywgc2V2ZXJhbCBtZWFzdXJlcyB3ZXJlIHRha2VuIHRvIGVuc3VyZSB0aGF0IHRoZSBQcmVDeXNlIHByb2plY3QgaXMgbm90IG9ubHkgc2NpZW50aWZpY2FsbHkgYWR2YW5jZWQgYnV0IGFsc28gc29jaWFsbHkgYW5kIHJlZ3VsYXRvcmlseSBhY2NlcHRhYmxlOlxuPC9wPlxuPHA+XG4gICAgPGI+SW50ZWdyYXRlZCBmZWVkYmFjayBsb29wczo8L2I+IFN0YWtlaG9sZGVycyB3ZXJlIGNvbnRpbnVvdXNseSBpbnZvbHZlZCwgYW5kIHRoZWlyIGZlZWRiYWNrIHdhcyBkaXJlY3RseSBpbmNvcnBvcmF0ZWQgaW50byB0aGUgYWRhcHRhdGlvbiBhbmQgaW1wcm92ZW1lbnQgb2YgdGhlIHByb2plY3QgZGVzaWduLiBBbiBleGFtcGxlIG9mIHRoaXMgaXMgdGhlIGFwcGxpY2F0aW9uIG9mIEdpYmJzJyBSZWZsZWN0aW9uIEN5Y2xlIHRvIGVuc3VyZSB0aGF0IGFsbCBmZWVkYmFjayBpcyB0aG9yb3VnaGx5IGFuYWx5emVkIGFuZCBpbmNvcnBvcmF0ZWQgaW50byBmdXR1cmUgZGVjaXNpb25zLlxuPC9wPlxuPHA+XG4gICAgPGI+UmVndWxhdG9yeSBhbmQgZXRoaWNhbCBhZGp1c3RtZW50czo8L2I+IEJ5IHdvcmtpbmcgY2xvc2VseSB3aXRoIHJlZ3VsYXRvcnkgYXV0aG9yaXRpZXMgYW5kIGV0aGljcyBjb21taXR0ZWVzLCBtZWFzdXJlcyB3ZXJlIHRha2VuIHRvIGVuc3VyZSB0aGF0IHRoZSBwcm9qZWN0IGNvbXBsaWVzIHdpdGggcmVndWxhdG9yeSByZXF1aXJlbWVudHMgYW5kIHJlbWFpbnMgZXRoaWNhbGx5IGp1c3RpZmlhYmxlLlxuPC9wPlxuPHA+XG4gICAgPGI+U2FmZXR5IGNvbnNpZGVyYXRpb25zOjwvYj4gVGhlIHNhZmV0eSBvZiB0aGUgdGhlcmFweSB3YXMgYSBrZXkgY29uY2VybiBpbiBzdGFrZWhvbGRlciBpbnRlcmFjdGlvbnMuIFNwZWNpZmljIHNhZmV0eSBwcm90b2NvbHMgd2VyZSBkZXZlbG9wZWQgdG8gbWluaW1pemUgcmlza3MgZm9yIHBhdGllbnRzLlxuPC9wPlxuPHA+XG4gICAgPGI+UHVibGljIGF3YXJlbmVzczo8L2I+IFRvIGluY3JlYXNlIHB1YmxpYyBhd2FyZW5lc3Mgb2YgdGhlIHBvdGVudGlhbCBhbmQgc2FmZXR5IG9mIGdlbmUgdGVjaG5vbG9naWVzLCB0YXJnZXRlZCBjb21tdW5pY2F0aW9uIG1lYXN1cmVzIHdlcmUgdGFrZW4gdG8gYWRkcmVzcyBtaXN1bmRlcnN0YW5kaW5ncyBhbmQgaW1wcm92ZSBhY2NlcHRhbmNlIG9mIHRoZSB0ZWNobm9sb2d5LlxuPC9wPlxuXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGZyYW1lY3ljbGV0YWJcIiBpZD1cImZlZWRjeWNsZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT4gXG4gICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJUaGUgRmVlZGJhY2sgQ3ljbGUgb2Ygb3VyIElIUCBBcHByb2FjaFwiIGlkPVwiZmVlZEhcIi8+XG4gICAgICAgICAgICAgICAgPHA+VG8gZm9zdGVyIHByb2R1Y3RpdmUgY29udmVyc2F0aW9ucyBhbmQgZW5zdXJlIG91ciB0ZWFtIG1heGltaXplcyBlYWNoIHN0YWtlaG9sZGVyIGludGVyYWN0aW9uIGZvciB0aGUgUHJlQ3lzZSBwcm9qZWN0LCB3ZSBkZXZlbG9wZWQgYSBmZWVkYmFjayBjeWNsZSB0aGF0IG91dGxpbmVzIGEgc3RydWN0dXJlZCBhcHByb2FjaCBmb3Igb3VyIG1lZXRpbmdzLiBUaGUgZmlyc3Qgc3RlcCBpbiBvdXIgY3ljbGUgaW52b2x2ZXMgbGlzdGVuaW5nIHRvIGVhY2ggc3Rha2Vob2xkZXIncyBleHBlcmllbmNlcywgcGVyc29uYWwgc3Rvcmllcywgb3IgaW5zaWdodHMuIE91ciB0ZWFtIHRoZW4gZm9sbG93cyB1cCBieSBhc2tpbmcgcmVsZXZhbnQgcXVlc3Rpb25zIHRvIGRpdmUgZGVlcGVyIGludG8gdGhlIHNoYXJlZCBpbmZvcm1hdGlvbiBvciB0byBpbnRyb2R1Y2UgbmV3IHRvcGljcyBvciBkaXJlY3Rpb25zIGluIHRoZSBjb252ZXJzYXRpb24uIFRvd2FyZHMgdGhlIGVuZCBvZiB0aGUgbWVldGluZywgd2UgYXNrIGNsYXJpZnlpbmcgcXVlc3Rpb25zIGFuZCByZWl0ZXJhdGUga2V5IHBvaW50cyB0byBlbnN1cmUgb3VyIHVuZGVyc3RhbmRpbmcgaXMgYWNjdXJhdGUgYW5kIHRoYXQgdGhlIHN0YWtlaG9sZGVyIGhhcyBubyBhZGRpdGlvbmFsIGlucHV0LiBGaW5hbGx5LCB3ZSBleHBsb3JlIG5ldyBkaXJlY3Rpb25zIGFuZCBpZGVhcyBpbnNwaXJlZCBieSB0aGUgc3Rha2Vob2xkZXIgaW50ZXJhY3Rpb24sIGVuY291cmFnaW5nIG91ciB0ZWFtIHRvIHB1cnN1ZSBpbm5vdmF0aXZlIGFuZCBub3ZlbCBjb25jZXB0cy5cbiAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zY2llbnRpZmljLWZpZ3VyZXMvZmVlZGJhY2tjeWNsZS5zdmdcIi8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZnJhbWVjeWNsZXRhYlwiIGlkPVwiZ2lic29uXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PiBcbiAgICAgICAgICAgICAgICA8SDQgdGV4dD1cIkN5Y2xlIG9mIFJlZmxlY3Rpb25zIGFjY29yZGluZyB0byBHaWJic1wiIGlkPVwiZ2lic29uSFwiLz5cbiAgICAgICAgICAgICAgICA8cD5Gb3IgdGhlIDxQcmVDeXNlLz4gcHJvamVjdCB0byBpbXBhY3QgdGhlIHdvcmxkLCBpdCBuZWVkcyB0byB3b3JrIHdpdGggYWxsIHR5cGVzIG9mIHN0YWtlaG9sZGVycy4gVGhlcmVmb3JlLCB3ZSBhcmUgb3B0aW1pemluZyBHaWJicycgUmVmbGVjdGlvbiBDeWNsZSB0byBkZW1vbnN0cmF0ZSBvdXIgaW5jbHVzaXZlIHJlc3BvbnNlIHRvIHRoZSBjaGFsbGVuZ2VzIHdlIGVuY291bnRlcmVkIGR1cmluZyBvdXIgaUdFTSBqb3VybmV5LiBUaGUgY3ljbGUgaW5jbHVkZXMgdGhlIGltcGV0dXMgZm9yIG91ciBlbmdhZ2VtZW50LCB0aGUgdW5iaWFzZWQgdHdvLXdheSBjb21tdW5pY2F0aW9uIHdpdGggc3Rha2Vob2xkZXJzLCBvdXIgdGhvcm91Z2ggYW5hbHlzaXMgb2YgdGhlIGZlZWRiYWNrIGFuZCBvdXIgYWN0aW9ucyB0byBpbXBsZW1lbnQgdGhlIHN0YWtlaG9sZGVyIGlucHV0cyBpbnRvIG91ciBwcm9qZWN0LlxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7aGVpZ2h0OiBcIjIwJVwifX0+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc2NpZW50aWZpYy1maWd1cmVzL2dpYmJzcmVmbGVjdGlvbi5zdmdcIiBzdHlsZT17e2hlaWdodDogXCIyMCVcIn19Lz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8cD5cbiAgICA8Yj5JbXBldHVzOjwvYj4gV2hlbiBkZXZlbG9waW5nIGEgc3lzdGVtYXRpYyBhcHByb2FjaCB0byBhIHJlY3VycmluZyBwcm9ibGVtLCBpdCdzIGVhc3kgdG8gZ2V0IGRpc3RyYWN0ZWQgYnkgbXVsdGlwbGUgcG9pbnRzIG9mIHZpZXcuIFdlIG5lZWQgdG8gcHJpb3JpdGl6ZSBxdWFsaXR5IG92ZXIgcXVhbnRpdHkuIFRoaXMgc2VjdGlvbiBwcmVzZW50cyB0aGUgc3VjY2Vzc2l2ZSBpbXBldHVzIHRoYXQgZHJpdmVzIHRoZSBjb250aW51b3VzIGltcGxlbWVudGF0aW9uIG9mIEh1bWFuIFByYWN0aWNlcyBhY3Rpdml0aWVzLlxuPC9wPlxuPHA+XG4gICAgPGI+VHdvLXdheSBjb21tdW5pY2F0aW9uOjwvYj4gRm9yIG91ciBzb2x1dGlvbiB0byBiZSBodW1hbi1jZW50ZXJlZCwgdGhlIHR3by13YXkgY29tbXVuaWNhdGlvbiBtZXRob2QgaXMgdG8gY29tbXVuaWNhdGUgdG8gc3Rha2Vob2xkZXJzIHRoZSB2YWx1ZXMgd2UgYXJlIGluY29ycG9yYXRpbmcgaW50byBvdXIgcHJvamVjdCBkZXNpZ24uIFdlIG1ha2Ugc3VyZSB0aGV5IHVuZGVyc3RhbmQgdGhlIHByb2plY3QgY2xlYXJseSBzbyB0aGF0IHRoZXkgY2FuIGFydGljdWxhdGUgdGhlaXIgY29uY2VybnMgYW5kIHN1Z2dlc3Rpb25zIHByZWNpc2VseS5cbjwvcD5cbjxwPlxuICAgIDxiPkFuYWx5c2lzOjwvYj4gVGhlIHR3by13YXkgY29tbXVuaWNhdGlvbiB3aXRoIG91ciBzdGFrZWhvbGRlcnMgaXMgY2FyZWZ1bGx5IGFuYWx5emVkLiBJbiB0aGlzIHNlY3Rpb24sIHN0YWtlaG9sZGVyIGZlZWRiYWNrIGlzIHByb2Nlc3NlZCBhbmQgdHVybmVkIGludG8gY29uc3RydWN0aXZlIGd1aWRhbmNlIGZvciBwcm9qZWN0IGltcGxlbWVudGF0aW9uLCBhbGxvd2luZyB1cyB0byBjb25zaWRlciB3aGF0IHdvcmsgc2hvdWxkIGJlIHByaW9yaXRpemVkIHRvIGJlc3QgYWRkcmVzcyBzdGFrZWhvbGRlciBjb25jZXJucy5cbjwvcD5cbjxwPlxuICAgIDxiPkltcGxlbWVudGF0aW9uOjwvYj4gSW1wbGVtZW50YXRpb24gc2hvd3Mgb3VyIG1lYXN1cmVzIGZvciBldmFsdWF0aW5nIGFuZCByZWZpbmluZyB0aGUgcHJvamVjdC4gVGhlc2UgYWN0aW9ucyBhcmUgZnVsbHkgaW50ZWdyYXRlZCBpbnRvIHRoZSBwcm9qZWN0IGRlc2lnbnMgYW5kIG90aGVyIHBhcnRzIG9mIG91ciBwcm9qZWN0IHRvIGVuc3VyZSB0aGF0IG91ciBwcm9qZWN0IGFuZCBhY3Rpdml0aWVzIGFyZSBnb29kLCByZXNwb25zaWJsZSBhbmQgZW5nYWdpbmcgZm9yIHRoZSB3b3JsZC5cbjwvcD5cbjxwPlxuICAgIEluIHRoZSBhcmVhcyBvZiA8Yj5Db21tdW5pY2F0aW9uICYgSW1wbGVtZW50YXRpb248L2I+LCA8Yj5OZWNlc3NpdHkgJiBSZWxldmFuY2U8L2I+LCA8Yj5TY2llbmNlICYgVGVjaG5vbG9neTwvYj4sIDxiPkV0aGljcyAmIFJlZ3VsYXRpb248L2I+LCBvdXIgSHVtYW4gUHJhY3RpY2UgYWN0aXZpdGllcyBhcmUgY29uZHVjdGVkIHdpdGggWCBncm91cHMgb2Ygc3Rha2Vob2xkZXJzIHRocm91Z2hvdXQgb3VyIGlHRU0gam91cm5leS4gSW4gZG9pbmcgc28sIHdlIGV4cGxvcmUgdGhlIGNvbnRleHRzIHRoYXQgZGVmaW5lIHByb2plY3RzLCBpZGVhbGl6ZSBzb2x1dGlvbnMgYW5kIGV2YWx1YXRlIG91dGNvbWVzIGZvciBvdXIgaHVtYW4gcHJhY3RpY2UgYXBwcm9hY2guXG48L3A+XG5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJUaW1lbGluZVwiIGlkPVwiSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXMyXCI+XG4gICAgICAgICAgICAgICAgPEhQVGltZWxpbmUvPlxuICAgICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJJbXBsZW1lbnRhdGlvbiAmIEZlZWRiYWNrXCIgaWQ9XCJJbnRlZ3JhdGVkIEh1bWFuIFByYWN0aWNlczNcIj5cbiAgICAgICAgICAgICAgICA8SFBGZWVkYmFjay8+XG4gICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG5cbiAgICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQ29uY2x1c2lvblwiIGlkPVwiSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXM0XCI+XG4gICAgICAgICAgICAgIDxIUGNvbmNsdXNpb24vPlxuICAgICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgKVxufSIsICJpbXBvcnQgeyBCdXR0b25PbmUgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5pbXBvcnQgeyBINCB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgeyBMb3JlbU1lZGl1bSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0xvcmVtaXBzdW1cIjtcbmltcG9ydCB7IFBERiB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL1BkZnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEhQQ29sbGFicygpe1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPXt7bWFyZ2luVG9wOiBcIjV2aFwiLCBtYXJnaW5Cb3R0b206IFwiNXZoXCJ9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lIG9wZW5jbGFzcz1cImNvbGwtY3ljbGV0YWJcIiB0ZXh0PVwiT3ZlcnZpZXdcIiBvcGVuPVwiY29sbC1vdmVydmlld1wiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgb3BlbmNsYXNzPVwiY29sbC1jeWNsZXRhYlwiIHRleHQ9XCJDb2xsYWJzIGluIDIwMjRcIiBvcGVuPVwiY29sbHMyMDI0XCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbk9uZSBvcGVuY2xhc3M9XCJjb2xsLWN5Y2xldGFiXCIgdGV4dD1cIkxOUCBIYW5kYm9va1wiIG9wZW49XCJIYW5kYm9va1wiPjwvQnV0dG9uT25lPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgaWQ9XCJjb2xsLW92ZXJ2aWV3XCIgY2xhc3NOYW1lPVwiY29sbC1jeWNsZXRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICAgICAgPEg0IGlkPVwiY29sbC1vdmVydmlldy1oZWFkaW5nXCIgdGV4dD1cIlwiLz5cbiAgICAgICAgICAgICAgICA8TG9yZW1NZWRpdW0vPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiY29sbHMyMDI0XCIgY2xhc3NOYW1lPVwiY29sbC1jeWNsZXRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICA8SDQgaWQ9XCJjb2xsczIwMjQtaGVhZGluZ1wiIHRleHQ9XCJDb2xsYWJvcmF0aW9uIHdpdGggTGluZ2tcdTAwRjZwaW5nXCIvPlxuICAgICAgICAgICAgICAgIDxINCB0ZXh0PVwiSG9tZSBVbml2ZXJzaXR5IG9mIExpbmtcdTAwRjZwaW5nXCIvPlxuICAgICAgICAgICAgICAgIDxwPlRoZSBVbml2ZXJzaXR5IG9mIExpbmtcdTAwRjZwaW5nIGlzIG9uZSBvZiB0aGUgYmlnZ2VyIHVuaXZlcnNpdGllcyBsb2NhdGVkIGluIFN3ZWRlbi4gU2luY2UgaXRzIGluY2VwdGlvbiBpbiAxOTc1LCBpdCBoYXMgYmVjb21lIGEgdmVyeSBpbm5vdmF0aXZlIGFuZCBoaWdobHkgcmVub3duZWQgaW5zdGl0dXRpb24uICA8L3A+XG4gICAgICAgICAgICAgICAgPHA+VGhlIHByb2plY3Qgb2YgTGlua1x1MDBGNnBpbmdzIGlHRU0gMjAyNCB0ZWFtOiAoZGVzY3JpcHRpb24gdGFrZW4gZnJvbSB0aGVpciB3ZWJzaXRlKTwvcD5cbiAgICAgICAgICAgICAgICA8cD5cdTIwMUNUaGUgcHJvZHVjdCBjb21wb3NpdGlvbiB3aWxsIGRlcGVuZCBvbiB0aGUgZW56eW1lIG1pc3Npbmcgb3IgbWFsZnVuY3Rpb25pbmcgaW4gZWFjaCBvZiB0aGUgZGlzZWFzZSB0eXBlcy4gV2VcdTIwMTlyZSBnb2luZyB0byB0YXJnZXQgYXV0b3NvbWFsIHJlY2Vzc2l2ZSBjb25nZW5pdGFsIGljaHRoeW9zaXMsIGFzIHRoaXMgaXMgdGhlIG9uZSBvdXIgZnJpZW5kIGlzIHN0cnVnZ2xpbmcgd2l0aC4gV2Ugd2lsbCBmb2N1cyBvbiB0aGUgY29uc2VxdWVuY2VzIG9mIG11dGF0aW9ucyBpbiB0aHJlZSBkaWZmZXJlbnQgZ2VuZXMgKFRHTTEsIEFMT1hFMywgQUxPWDEyQikgdGhhdCBjYW4gdW5kZXJsaWUgdGhpcyBjb25kaXRpb24gWzVdLiBIb3dldmVyLCBpZiBvdXIgYXBwcm9hY2ggdHVybnMgb3V0IHRvIGJlIHN1Y2Nlc3NmdWwsIGFmdGVyIHNvbWUgYWRqdXN0bWVudHMsIHRoZSBwcm90b2NvbCBjb3VsZCBiZSBhcHBsaWVkIGZvciB0aGUgcmVtYWluaW5nIHR5cGVzIG9mIHRoZSBkaXNlYXNlIGFzIHdlbGwuIEZpcnN0IG9mIGFsbCwgd2VcdTIwMTlsbCBlbmdpbmVlciBFLiBjb2xpIHRvIHByb2R1Y2UgdGhlIGNob3NlbiBlbnp5bWVzIGVuY29kZWQgYnkgdGhlIGNvcnJlc3BvbmRpbmcgZ2VuZXMgd2UgY2hvc2U6IHRyYW5zZ2x1dGFtaW5hc2UgMSwgRXBpZGVybWlzLXR5cGUgbGlwb3h5Z2VuYXNlIDMsIEFyYWNoaWRvbmF0ZSAxMi1saXBveHlnZW5hc2UgYW5kIHRoZW4gd2Ugd2lsbCBwdXJpZnkgdGhlbSBmcm9tIHRoZSBiYWN0ZXJpYS4gT25jZSB0aGlzIHN5c3RlbSBpcyBlc3RhYmxpc2hlZCBhbmQgb3B0aW1pemVkLCB3ZVx1MjAxOWxsIHByb2NlZWQgdG8gZGVzaWduIGEgZnVuY3Rpb25pbmcgZGVsaXZlcnkgc3lzdGVtIHRoYXQgd2Ugd2lsbCBlbmNhcHN1bGF0ZSB0aGUgZW56eW1lcyBpbi4gV2UgaGF2ZSBkZWNpZGVkIHRvIHByb2R1Y2UgbW9kdWxhdGVkIGxpcG9zb21lcyB0aGF0IHdpbGwgYmUgYWJsZSB0byBrZWVwIHRoZSBlbnp5bWVzIGFjdGl2ZSB3aGlsZSB0cmFuc3BvcnRpbmcgdGhlbS4gT25jZSB0aGUgdGFyZ2V0IHNraW4gbGF5ZXIgaXMgcmVhY2hlZCwgdGhlIGxpcG9zb21lcyB3aWxsIGZ1c2Ugd2l0aCB0aGUgbWVtYnJhbmVzIG9mIHRoZSBjZWxscyBvZiBpbnRlcmVzdCwgZGVsaXZlcmluZyB0aGUgcHJvZHVjdCB0byBpdHMgZmluYWwgZGVzdGluYXRpb24uIEZ1bmN0aW9uaW5nIGxpcG9zb21lcyBwYWNrZWQgd2l0aCB0aGUgcHJvZHVjZWQgZW56eW1lcyB3aWxsIHRoZW4gYmUgaW5jb3Jwb3JhdGVkIGludG8gYSBzdWl0YWJsZSBtZWRpdW0gdG8gZmFjaWxpdGF0ZSB0aGUgdG9waWNhbCBhcHBsaWNhdGlvbiBmb3IgdGhlIHBhdGllbnRzXHUyMDFELiA8L3A+XG4gICAgICAgICAgICAgICAgPEg0IHRleHQ9XCJpR0VNIHRlYW0gTGl1IHByb2plY3Qgb3VyIGlkZWFcIi8+XG4gICAgICAgICAgICAgICAgPHA+V2UgZmlyc3QgbWFkZSBjb250YWN0IHdpdGggdGhlIHRlYW0gb2YgTElVIHZpYSBlbWFpbCwgZHVlIHRvIGJvdGggb3VyIHRlYW1zXHUyMDE5IGludGVyZXN0IGluIHdvcmtpbmcgd2l0aCBMTlAgYmFzZWQgZGVsaXZlcnkgc3lzdGVtcy4gSXQgcmFwaWRseSBiZWNhbWUgYXBwYXJlbnQgdGhhdCBvdXIgdHdvIHRlYW1zIGNvdWxkIGJlbmVmaXQgZnJvbSBhIGNvcnBvcmF0aW9uIGVzcGVjaWFsbHkgc2luY2UgdGhlIHRlYW0gb2YgTGlVIHdhcyB3b3JraW5nIG9uIGFuIExOUCBoYW5kYm9vayBhdCB0aGUgdGltZS48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgaWQ9XCJIYW5kYm9va1wiIGNsYXNzTmFtZT1cImNvbGwtY3ljbGV0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgPEg0IGlkPVwiSGFuZGJvb2staGVhZGluZ1wiIHRleHQ9XCJIYW5ib29rIGZvciBkb3dubG9hZFwiLz5cbiAgICAgICAgICAgICAgICA8UERGIGxpbms9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL2xpcG9zb21lcy1oYW5kYm9vay5wZGZcIiBuYW1lPVwibGlwb3NvbWVzLWhhbmRib29rLnBkZlwiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59IiwgImltcG9ydCBCaWJ0ZXhQYXJzZXIgZnJvbSBcIi4uL2NvbXBvbmVudHMvbWFrZVNvdXJjZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRWR1U291cmNlcygpe1xuICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPEJpYnRleFBhcnNlciBiaWJ0ZXhTb3VyY2VzPXtiaWJ0ZXhTb3VyY2VzfSBzcGVjaWFsPVwiZWR1XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xufVxuXG5cbmNvbnN0IGJpYnRleFNvdXJjZXMgPSBbXG5gQGFydGljbGV7YXJ0aWNsZSxcbmF1dGhvciA9IHtBc3dlZ2VuLCBFbGxpZSBhbmQgUGVuZGVyZ2FzdCwgRG9ubmF9LFxueWVhciA9IHsyMDIzfSxcbm1vbnRoID0gezA4fSxcbnBhZ2VzID0gezEtMTV9LFxudGl0bGUgPSB7VGhlIGltcGFjdCBvZiBpbnRlcmVzdDogYW4gZW1lcmdlbnQgbW9kZWwgb2YgaW50ZXJlc3QgZGV2ZWxvcG1lbnQgaW4gdGhlIGVhcmx5IHllYXJzfSxcbnZvbHVtZSA9IHsxOTN9LFxuam91cm5hbCA9IHtFYXJseSBDaGlsZCBEZXZlbG9wbWVudCBhbmQgQ2FyZX0sXG5kb2kgPSB7MTAuMTA4MC8wMzAwNDQzMC4yMDIzLjIyNDU1NzV9XG59YFxuXSIsICJpbXBvcnQgeyBCdXR0b25PbmVXaXRoU2Nyb2xsIH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvQnV0dG9uc1wiO1xuaW1wb3J0IHsgIEg0IH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7ICBINSB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0hlYWRpbmdzXCJcbmltcG9ydCB7IFRhYlNjcm9sbExpbmsgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9MaW5rXCI7XG5pbXBvcnQgUHJlQ3lzZSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9wcmVjeXNlXCI7XG5pbXBvcnQgRWR1U291cmNlcyBmcm9tIFwiLi4vLi4vLi4vc291cmNlcy9lZHVjYXRpb24tc291Y2VzXCI7XG5pbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzXCI7XG5cblxuXG5leHBvcnQgZnVuY3Rpb24gSFBFZHVjYXRpb24oKXtcbiAgICBjb25zdCB7Z29Ub1BhZ2VBbmRTY3JvbGx9ID0gdXNlTmF2aWdhdGlvbigpO1xuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiIHN0eWxlPXt7bWFyZ2luVG9wOiBcIjV2aFwiLCBtYXJnaW5Cb3R0b206IFwiNXZoXCJ9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlZHUtY3ljbGV0YWJcIiB0ZXh0PVwiT3ZlcnZpZXdcIiBvcGVuPVwiZWR1LW92ZXJ2aWV3XCIgc2Nyb2xsSWQ9XCJlZHUtaGVhZGluZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlZHUtY3ljbGV0YWJcIiB0ZXh0PVwiVGV1dG8gcnVmdCFcIiBvcGVuPVwidGV1dG9ydWZ0XCIgc2Nyb2xsSWQ9XCJ0ZXVyb3J1ZnQtaGVhZGluZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlZHUtY3ljbGV0YWJcIiB0ZXh0PVwiU2NoXHUwMEZDbGVyKmlubmVuIEFrYWRlbWllXCIgb3Blbj1cImFrYWRlbWllXCIgc2Nyb2xsSWQ9XCJzdHVkZW50LWFjYWRlbXktaGVhZGluZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlZHUtY3ljbGV0YWJcIiB0ZXh0PVwiTUlOVCBTb21tZXJcIiBvcGVuPVwibWludFwiIHNjcm9sbElkPVwibWludC1oZWFkaW5nXCIvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cblxuXG5cblxuICAgICAgICAgICAgPGRpdiBpZD1cImVkdS1vdmVydmlld1wiIGNsYXNzTmFtZT1cImVkdS1jeWNsZXRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICA8SDQgaWQ9XCJlZHUtaGVhZGluZ1wiIHRleHQ9XCJFZHVjYXRpb24gYXMgcGFydCBvZiBhIGludGVncmF0ZWQgaHVtYW4gcHJhY3RpY2UgLSBidXQgd2h5P1wiLz5cbiAgICAgICAgICAgIDxwPldoaWxlIGVkdWNhdGlvbiBpcyBub3QgZGlyZWN0bHkgY29uc2lkZXJlZCBwYXJ0IG9mIEh1bWFuIFByYWN0aWNlcyBpbiBpR0VNLCBpdCByZW1haW5zIGEgdml0YWwgY29tcG9uZW50IG9mIHN5bnRoZXRpYyBiaW9sb2d5IGFuZCBzY2llbnRpZmljIGFkdmFuY2VtZW50IFxuICAgICAgICAgICAgICAgIGZvciBzZXZlcmFsIGltcG9ydGFudCByZWFzb25zOjwvcD5cbiAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICA8bGk+VG8gaGVscCBwZW9wbGUgbWFrZSA8Yj5pbmZvcm1lZCBjaG9pY2VzPC9iPiBhbmQgZW5jb3VyYWdlIDxiPmVtYW5jaXBhdGlvbiB0aHJvdWdoIGVkdWNhdGlvbjwvYj4uPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+T25seSBpbmZvcm1lZCBwYXJ0aWNpcGFudHMgYWxsb3cgZm9yIDxiPmV0aGljYWwgZW5nYWdlbWVudDwvYj4uPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+VG8gZW5zdXJlIDxiPmNvbnRpbnVvdXMgbGVhcm5pbmc8L2I+IGluIG9yZGVyIHRvIHNlY3VyZSB0aGUgZnV0dXJlIG9mIHN5bnRoZXRpYyBiaW9sb2d5IGFuZCBjeXN0aWMgZmlicm9zaXMgcmVzZWFyY2guPC9saT5cbiAgICAgICAgICAgICAgICA8bGk+T25seSBhd2FyZW5lc3MgYW5kIGtub3dsZWRnZSBjYW4gPGI+cHJldmVudCBtaXN1c2UgYW5kIG1pc2luZm9ybWF0aW9uPC9iPi48L2xpPlxuICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDxwPlRoaXMgaXMgYXBwbGljYWJsZSB0byBib3RoIGN5c3RpYyBmaWJyb3NpcyBhbmQgc3ludGhldGljIGJpb2xvZ3kgaW4gZ2VuZXJhbC48L3A+XG4gICAgICAgICAgICA8cD5NYW55IHBlb3BsZSBncmF2aXRhdGUgdG93YXJkcyBmaWVsZHMgdGhleSBhcmUgaW50ZXJlc3RlZCBpbi4gQXdhcmVuZXNzLCBleHBsb3JhdGlvbiwgYW5kIHJlY2VpdmluZyBuZXcga25vd2xlZGdlIGFyZSBuZWNlc3NhcnkgdG8gY3VsdGl2YXRlIGFuIGF1dGhlbnRpYyBcbiAgICAgICAgICAgICAgICBpbnRlcmVzdCwgd2hpY2gsIHRvZ2V0aGVyIHdpdGggcG9zaXRpdmUgc29jaWFsIGludGVyYWN0aW9uLCBmb3JtcyBhIHByb21pc2luZyBmb3VuZGF0aW9uIGZvciBhIGxhc3RpbmcgaW50ZXJlc3Q8VGFiU2Nyb2xsTGluayB0YWI9XCJlZHUtb3ZlcnZpZXdcIiBudW09XCIxXCIgc2Nyb2xsSWQ9XCJkZXNjLWVkdVwiLz4uIEFzIGZ1dHVyZSByZXNlYXJjaGVycyBhbmQgcGFydCBvZiBhIFxuICAgICAgICAgICAgICAgIGNvbXBldGl0aW9uIGFpbWluZyBmb3IgY29udGludW91cyBpbm5vdmF0aW9uLCB3ZSBmZWVsIGVkdWNhdGlvbiBpcyBhbiBpbXBvcnRhbnQgYXNjcGVjdCB0aGF0IHNob3VsZCBub3QgYmUgc2hydWdnZWQgb2ZmIHVuZGVyIHRoZSBndWlzZSBvZiBmb2N1c2luZyBvbiBIdW1hbiBQcmFjdGljZXMuPC9wPlxuXG4gICAgICAgICAgICA8SDQgaWQ9XCJlZHUtd2h5LWhlYWRpbmdcIiB0ZXh0PVwiT3VyIGVkdWNhdGlvbmFsIGFjdGl2aXRpZXNcIi8+XG4gICAgICAgICAgICA8cD5JbiBib3RoIFwiRGVyIFRldXRvIHJ1ZnQhXCIgYW5kIHRoZSBDZUJpVGVjIFN0dWRlbnQgQWNhZGVteSwgb3VyIHRlYW0gZm9jdXNlZCBvbiBlZHVjYXRpb24gdGhyb3VnaCBwZXJzb25hbCBjb250YWN0IG5vdCBvbmx5IGFzIHdheSB0byBzcHJlYWQgXG4gICAgICAgICAgICAgICAgYXdhcmVuZXNzIGFib3V0IGN5c3RpYyBmaWJyb3NpcywgYnV0IHRvIHNwcmVhZCB0aGUgbG92ZSB3ZSBoYXZlIGZvciB3aGF0IHdlIGRvLiA8L3A+XG4gICAgICAgICAgICA8cD5XZSBhcmUgZ2xhZCB0byBoYXZlIGhhZCB0aGUgcG9zc2liaWxpdHkgdG8gd29yayB3aXRoIHN1Y2ggZGlmZmVyZW50IGF1ZGllbmNlcy4gV2hpbGUgXCJEZXIgVGV1dG8gcnVmdCFcIiBoYWQgYSBmb2N1cyBvbiBmYW1pbGllcyBhbmQgcmVxdWlyZWQgYSBjcmVhdGl2ZVxuICAgICAgICAgICAgICAgIGFwcHJvYWNoLCB0aGUgXCJTY2hcdTAwRkNsZXIqaW5uZW4gQWthZGVtaWVcIiBhbmQgXCJNSU5UIFNvbW1lclwiIGFsbG93ZWQgdXMgdG8gaW50ZXJhY3Qgd2l0aCBhc3BpcmluZyByZXNlYXJjaGVycyB3aG8gbWF5IHZlcnkgd2VsbCBiZSBvdXIgZnV0dXJlIGNsYXNzbWF0ZXMgYXQgXG4gICAgICAgICAgICAgICAgQmllbGVmZWxkIFVuaXZlcnNpdHkuIFxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHA+SG93ZXZlciwgd2UgY2FtZSB0byByZWFsaXplIHRoYXQgXCJEZXIgVGV1dG8gcnVmdCFcIiBtYXkgaGF2ZSBiZWVuIHRoZSBtb3JlIGltcGFjdGZ1bCBldmVudCBmb3Igb3VyIHBlcnNvbmFsIGdyb3d0aC4gSXQgdG9vayB1cyBvdXQgb2YgdGhlIGZhbWlsaWFyIFxuICAgICAgICAgICAgICAgIFwic2NpZW5jZSBidWJibGVcIiBhbmQgaW50byBhIHNwYWNlIHdoZXJlIHdlIGNvdWxkIGludGVyYWN0IHdpdGggdGhlIGdlbmVyYWwgcHVibGljXHUyMDE0cGVvcGxlIHdobyBkb25cdTIwMTl0IG5lY2Vzc2FyaWx5IGhhdmUgYSBzY2llbnRpZmljIGJhY2tncm91bmQuIFRoaXMgXG4gICAgICAgICAgICAgICAgZXhwZXJpZW5jZSByZW1pbmRlZCB1cyBob3cgbm9uLXNjaWVudGlzdHMgcGVyY2VpdmUgY29tcGxleCB0b3BpY3MgbGlrZSBnZW5lIHRoZXJhcHkgYW5kIGN5c3RpYyBmaWJyb3Npcy4gSXQgYWxzbyBoaWdobGlnaHRlZCB0aGUgaW1wb3J0YW5jZSBvZiBub3Qgb25seSBcbiAgICAgICAgICAgICAgICBldGhpY2FsIHJlc3BvbnNpYmlsaXR5IGJ1dCBhbHNvIHNvY2lhbCByZXNwb25zaWJpbGl0eSBpbiBjb21tdW5pY2F0aW5nIHNjaWVuY2UuIFdlIGdhaW5lZCBhbmQgcmVnYWluZWQgaW5zaWdodCBpbnRvIHRoZSBjb25jZXJucywgbWlzY29uY2VwdGlvbnMsIGFuZCBcbiAgICAgICAgICAgICAgICBob3BlcyB0aGF0IHRoZSBwdWJsaWMgaGFzIHJlZ2FyZGluZyBzeW50aGV0aWMgYmlvbG9neSwgYWxsb3dpbmcgdXMgdG8gYmV0dGVyIHVuZGVyc3RhbmQgd2hhdCBpcyBub3Qgb25seSBzY2llbnRpZmljYWxseSBzb3VuZCBidXQgYWxzbyBzb2NpYWxseSBcbiAgICAgICAgICAgICAgICBhY2NlcHRhYmxlLiBXZSBhcmUgY29uZmlkZW50IHRoYXQgcGFydGljaXBhdGluZyBpbiBcIkRlciBUZXV0byBydWZ0IVwiIHZlcnkgcG9zaXRpdmVseSBpbmZsdWVuY2VkIG91ciBhcHByb2FjaCB0byBmdXJ0aGVyIGNvbW11bmljYXRpb24uIDwvcD5cbiAgICAgICAgICAgIDxINCB0ZXh0PVwiUmVmZXJlbmNlc1wiPjwvSDQ+XG4gICAgICAgICAgICA8RWR1U291cmNlcy8+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBpZD1cImFrYWRlbWllXCIgY2xhc3NOYW1lPVwiZWR1LWN5Y2xldGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgIDxINCBpZD1cInN0dWRlbnQtYWNhZGVteS1oZWFkaW5nXCIgdGV4dD1cIlN0dWRlbnQgYWNhZGVteSBvbiB0aGUgdG9waWMgb2Ygc3ludGhldGljIGJpb2xvZ3lcIi8+XG4gICAgICAgICAgICAgICAgPEg1IGlkPVwiU2NoXHUwMEZDbGVyKmlubmVuIEFrYWRlbWllXCIgdGV4dD1cIlRlYWNoaW5nIHRoZSBOZXh0IEdlbmVyYXRpb24gb2YgU3luQmlvIFBpb25lZXJzIFwiLz5cbiAgICAgICAgICAgICAgICA8cD4gVGhlIENlbnRlciBmb3IgQmlvdGVjaG5vbG9neSAoQ2VCaVRlYykgYXQgQmllbGVmZWxkIFVuaXZlcnNpdHkgb3JnYW5pemVzIHRoZSBhbm51YWwuIDxhIGhyZWY9XCJodHRwczovL3d3dy5jZWJpdGVjLnVuaS1iaWVsZWZlbGQuZGUvZXZlbnRzL2Z1dGhlci1ldmVudHMvNjQ4LTExLXNjaHVlbGVyYWthZGVtaWVcIiB0aXRsZT1cIkNlQmlUZWMgU3R1ZGVudCBBY2FkZW15IGZvciBcdTIwMUNCaW90ZWNobm9sb2d5IGFuZCBCaW9tZWRpY2luZVwiID4gQ2VCaVRlYyBTdHVkZW50IEFjYWRlbXkgZm9yIFx1MjAxQ0Jpb3RlY2hub2xvZ3kgYW5kIEJpb21lZGljaW5lIDwvYT4gU3VwcG9ydGVkIGJ5IDxhIGhyZWY9XCJodHRwczovL3d3dy5vc3RodXNoZW5yaWNoLXN0aWZ0dW5nLmRlXCIgdGl0bGU9XCJPc3RodXNoZW5yaWNoIEZvdW5kYXRpb25cIiA+IE9zdGh1c2hlbnJpY2ggRm91bmRhdGlvbiA8L2E+IGFuZCB0aGUgPGEgaHJlZj1cImh0dHBzOi8vd3d3LmJlenJlZy1kZXRtb2xkLm5ydy5kZS9cIiB0aXRsZT1cIkRldG1vbGQgZGlzdHJpY3QgZ292ZXJubWVudFwiID4gRGV0bW9sZCBkaXN0cmljdCBnb3Zlcm5tZW50IDwvYT4sIHRoZSBhY2FkZW15IG9mZmVycyBzdHVkZW50cyBhIHVuaXF1ZSBvcHBvcnR1bml0eSB0byBkZWVwZW4gdGhlaXIgdW5kZXJzdGFuZGluZyBvZiBiaW9sb2d5LCBnZW5ldGljcywgYW5kIG1vbGVjdWxhciBiaW9sb2d5IHRocm91Z2ggaGFuZHMtb24gZXhwZXJpbWVudHMgYW5kIGV4cGVydCBsZWN0dXJlcy4gS2V5IHRvcGljcyBpbmNsdWRlIG5hbm9wb3JlIHNlcXVlbmNpbmcsIHR1bW9yIGRpYWdub3N0aWNzLCBhbmQgdGhlIGV2b2x1dGlvbiBvZiBTQVJTLUNvVi0yLiBUaGUgcHJvZ3JhbSBpcyBlc3BlY2lhbGx5IHZhbHVhYmxlIGZvciBzdHVkZW50cyB0cmFuc2l0aW9uaW5nIGZyb20gc2Nob29sIHRvIHBvdGVudGlhbCBzdHVkaWVzIGluIHRoZSBuYXR1cmFsIHNjaWVuY2VzLiBcbkR1ZSB0byBvdXIgY29sbGFib3JhdGlvbiB3aXRoIHRoZSBTdHVkZW50IEFjYWRlbXksIHdlIGNvbmR1Y3RlZCB0aGUgbmFub3BvcmUgc2VxdWVuY2luZyBleHBlcmltZW50IGFuZCBzZXJ2ZWQgYXMgdGVhY2hlcnMsIGFzc2lzdGluZyBpbiBleHBlcmltZW50IHByZXBhcmF0aW9uLCBleGVjdXRpb24sIG9mZmVyaW5nIGd1aWRhbmNlLCBhbmQgYW5zd2VyaW5nIHF1ZXN0aW9ucy4gVGhpcyByb2xlIGFsbG93ZWQgdXMgdG8gdGVhY2ggdGhlIHN0dWRlbnRzIGFib3V0IGxhYm9yYXRvcnkgd29yaywgdGhlIGNyaXRpY2FsIGFzcGVjdHMgb2YgY29uZHVjdGluZyBleHBlcmltZW50cywgYW5kIGVzc2VudGlhbCBzYWZldHkgY29uc2lkZXJhdGlvbnMuIFRoZSBleHBlcmltZW50IGludm9sdmVkIGlzb2xhdGluZyBiYWN0ZXJpYWwgRE5BLCBwcmVwYXJpbmcgc2FtcGxlcyBmb3Igc2VxdWVuY2luZywgYW5kIHBlcmZvcm1pbmcgYm90aCBzZXF1ZW5jaW5nIGFuZCBkYXRhIGFuYWx5c2lzLjwvcD5cbjxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZWRjYXRpb24tYW5kLW91dHJlYWNoL3NjaGllbGVyYWthZGVtaWUtdm9ydHJhZy1qb2Vybi5qcGdcIj48L2ltZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2VkY2F0aW9uLWFuZC1vdXRyZWFjaC9zY2hpZWxlcmFrYWRlbWllLWxpc2EtZ3J1cHBlMi5qcGdcIj48L2ltZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbjxwPjwvcD5cbjxwPjwvcD5cbiAgICAgICAgPHA+U2luY2Ugd2UgcHJlc2VudGVkIG91ciBpR0VNIHByb2plY3QgPFByZUN5c2UvPiB0byB0aGVtIGFzIHdlbGwsIHRoZSBzdHVkZW50cyB3ZXJlIGludHJvZHVjZWQgdG8gc3R1ZHktcmVsYXRlZCBwcm9qZWN0cyBsaWtlIGlHRU0uIFRoZXkgbGVhcm5lZCBhYm91dCB0aGUgZGFpbHkgdGFza3MsIGNoYWxsZW5nZXMsIGFuZCByZXNwb25zaWJpbGl0aWVzIGludm9sdmVkIGluIGlHRU0gdGhyb3VnaCBwcm9qZWN0IGRpc2N1c3Npb25zLiBNYW55IHN0dWRlbnRzIHdlcmUgY2FwdGl2YXRlZCBieSB0aGUgaUdFTSBjb25jZXB0IGFuZCBleHByZXNzZWQgaW50ZXJlc3QgaW4gcGFydGljaXBhdGluZyBkdXJpbmcgdGhlaXIgZnV0dXJlIHN0dWRpZXMuIFRoZXkgd2VyZSBwYXJ0aWN1bGFybHkgZmFzY2luYXRlZCBieSB0aGUgb3Bwb3J0dW5pdHkgdG8gZGV2ZWxvcCByZWFsIHJlc2VhcmNoIHByb2plY3RzLCB3b3JrIGluZGVwZW5kZW50bHkgaW4gdGhlIGxhYiwgbGVhcm4gZXh0ZW5zaXZlbHkgYWJvdXQgc3ludGhldGljIGJpb2xvZ3ksIGFuZCBpbXBsZW1lbnQgY3JlYXRpdmUgaWRlYXMgd2hpbGUgY29sbGFib3JhdGluZyB3aXRoIGFuIGludGVybmF0aW9uYWwgdGVhbS48L3A+ICAgICAgIFxuICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cInRldXRvcnVmdFwiIGNsYXNzTmFtZT1cImVkdS1jeWNsZXRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgPEg0IGlkPVwidGV1cm9ydWZ0LWhlYWRpbmdcIiB0ZXh0PVwiRWR1Y2F0aW9uYWwgY2l0eSB0b3VyIGZvciB5b3VuZyBhbmQgb2xkXCIvPlxuICAgICAgICAgICAgICAgICAgICA8SDUgaWQ9XCJEZXIgVGV1dG8gcnVmdCFcIiB0ZXh0PVwiIFdoYXQgaXMgXHUyMDFDRGVyIFRldXRvIHJ1ZnQhXHUyMDFEIGFuZCB3aHkgd2UgcGFydGljaXBhdGVcIi8+ICAgICAgICAgICAgICAgXG48cD5cIkRlciBUZXV0byBydWZ0IVwiIGlzIGFuIG91dHJlYWNoIGV2ZW50IGxvY2F0ZWQgYWxsIG92ZXIgdGhlIGNpdHkgb2YgQmllbGVmZWxkIHdoZXJlIHZhcmlvdXMgbG9jYWwgY29tcGFuaWVzIGFuZCBpbnN0aXR1dGlvbnMgZW5nYWdlIHdpdGggdGhlIHB1YmxpYyB0byBpbmZvcm0gdGhlbSBhYm91dCB0aGVpciB3b3JrLiBTaW5jZSB3ZSB3YW50ZWQgdG8gcmFpc2UgYXdhcmVuZXNzIGZvciBjeXN0aWMgZmlicm9zaXMgYW5kIHByZXNlbnQgb3VyIGFwcHJvYWNoIHRvIGRldmVsb3BpbmcgYW4gb3B0aW1pemVkIGdlbmUgdGhlcmFweSB0byBjb21iYXQgdGhpcyBkaXNlYXNlLCBvdXIgcGFydGljaXBhdGlvbiBpbiB0aGUgXCJEZXIgVGV1dG8gcnVmdCFcIiBldmVudCBpbiBCaWVsZWZlbGQgd2FzIHRoZSBwZXJmZWN0IG9wcG9ydHVuaXR5IHRvIGRvIHNvLjwvcD4gICAgICAgICAgICAgICBcbjxINSBpZD1cIldoYXQgd2FzIG91ciBzdHJhdGVneT9cIiB0ZXh0PVwiV2hhdCBpcyBvdXIgc3RyYXRlZ3k/XCIvPlxuPHA+T3VyIGdvYWwgd2FzIHRvIGVkdWNhdGUgY2hpbGRyZW4gYWJvdXQgdGhlIGNoYWxsZW5nZXMgZmFjZWQgYnkgQ0YgcGF0aWVudHMsIGVzcGVjaWFsbHkgdGhlIG9uZXMgd2l0aCBsdW5nIHByb2JsZW1zLiBUaGUga25vd2xlZGdlIHdoaWNoIHdlIGdhaW5lZCBhdCB0aGUgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdjb21td29ya3Nob3AnLCAnL2NvbnRyaWJ1dGlvbicpfT4gU2NpZW5jZSBDb21tdW5pY2F0aW9uIFdvcmtzaG9wIDwvYT4gYXMgcGFydCBvZiB0aGUgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdiZmgtZXVyb3BlYW4tbWVldHVwJywgJy9jb250cmlidXRpb24nKX0+IEJGSCBNZWV0dXAgPC9hPiB3YXMgdGhlIG9wdGltYWwgYmFzaXMgdG8gcGxhbiBvdXIgb3V0cmVhY2ggdG8gdGhlIHB1YmxpYy4gV2UgZW5nYWdlZCB0aGUgY2hpbGRyZW4gd2l0aCBhY3Rpdml0aWVzIGxpa2UgY29sb3JpbmcgbHVuZyBpbWFnZXMgYW5kIGNvbmR1Y3RpbmcgZXhwZXJpbWVudHMgdG8gZXhwZXJpZW5jZSBhbmQgdW5kZXJzdGFuZCBsdW5nIHJlbGF0ZWQgc3ltcHRvbXMuICBcbk9uZSBzdWNoIGV4cGVyaW1lbnQgaW52b2x2ZWQgY3JlYXRpbmcgYSBsdW5nIG1vZGVsIGZyb20gYmFsbG9vbnMgYW5kIHN0cmF3cywgZGVtb25zdHJhdGluZyB0aGUgZGlmZmljdWx0eSBwYXRpZW50cyBoYXZlIGluIGJyZWF0aGluZyBieSBoYXZpbmcgdGhlIGNoaWxkcmVuIGJsb3cgaW50byB0aGUgc3RyYXdzLiBBZGRpdGlvbmFsbHksIHdlIHNldCB1cCBhIHRhbmsgd2l0aCBhIG1peHR1cmUgb2Ygc3RhcmNoIGFuZCB3YXRlciB0byBzaW11bGF0ZSBtdWN1cyBhbmQgcGxhY2VkIGEgYmFsbCBvbiB0b3AuIFRoZSBjaGlsZHJlbiB0cmllZCB0byBibG93IHRoZSBiYWxsIGFjcm9zcyB0aGUgc3VyZmFjZSwgaWxsdXN0cmF0aW5nIGhvdyBoYXJkIGl0IGlzIGZvciBhaXIgdG8gbW92ZSB0aHJvdWdoIG11Y3VzIGNvbXBhcmVkIHRvIHdhdGVyLCB3aGVyZSB0aGUgYmFsbCBtb3ZlZCBtdWNoIG1vcmUgZWFzaWx5LiBcblRoZSB2ZXJ5IGxpdHRsZSBvbmVzIGNvdWxkIHBhaW50IGNvbG9yaW5nIHBhZ2VzIHdoaWNoIHdlIGRlc2lnbmVkIGFuZCBwcmludGVkIGZvciB0aGVtLiBGb3IgdGhlIGFkdWx0cywgd2UgcHJvdmlkZWQgaW5mb3JtYXRpb24gYWJvdXQgb3VyIHByb2plY3QgYW5kIGRpc2N1c3NlZCB0aGUgaW1wbGljYXRpb25zIGFuZCBwb3RlbnRpYWwgb2YgZ2VuZSB0aGVyYXB5IGZvciBjeXN0aWMgZmlicm9zaXMuIFRoZXNlIGNvbnZlcnNhdGlvbnMgYXMgd2VsbCBhcyB0aGUgcmVzdWx0cyBvZiBvdXIgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VBbmRTY3JvbGwgKCdvdXItc3VydmV5cy1vbi1jeXN0aWMtZmlicm9zaXMtYW5kLWdlbmUtdGhlcmFweScsICcvaHVtYW4tcHJhY3RpY2VzJyl9PiBzdXJ2ZXkgb24gQ0YgYW5kIGdlbmUgdGhlcmFweSA8L2E+IHdoaWNoIHdhcyBjb25kdWN0ZWQgZXZlbnRzIGxpa2UgdGhlc2UgbWFkZSBpdCBhYnVuZGFudGx5IGNsZWFyIHRoYXQgZGVncmVlcyBvZiBrbm93bGVkZ2Ugb24gdGhpcyB0b3BpYyB3aWRlbHkgdmFyeSB0aHJvdWdob3V0IHRoZSBwdWJsaWMgYW5kIHdlIHdlcmUgaGFwcHkgdG8gZmlsbCBpbiB0aGUgZXhpc3RpbmcgZ2FwcyBpbiBwZW9wbGUncyBrbm93bGVkZ2UgYW5kIGV4Y2hhbmdlIHBvaW50cyBvZiB2aWV3IG9uIGdlbmUgdGhlcmFweS4gIFxuTW9yZW92ZXIsIHdlIGNvbm5lY3RlZCB3aXRoIG90aGVyIGluc3RpdHV0aW9ucyBhbmQgcGFydGljaXBhbnRzIGF0IHRoZSBldmVudC4gV2Ugc2hhcmVkIG91ciBib290aCBhdCBCaWVsZWZlbGRcdTIwMTlzIFx1MjAxQ1NrdWxwdHVyZW5wYXJrXHUyMDFEIG9uIHRoZSBvdXRzaWRlIHdpdGggPGEgaHJlZj1cImh0dHBzOi8vYnRzLWV2LmRlL2JpZWxlZmVsZC9cIiB0aXRsZT1cImJ0U1wiID4gYnRTIDwvYT4sIHRoZSBsaWZlIHNjaWVuY2Ugc3R1ZGVudCBpbml0aWF0aXZlIGZyb20gQmllbGVmZWxkIFVuaXZlcnNpdHksIHdpdGggd2hvc2UgbWVtYmVycyB3ZSBoYWQgc3RpbXVsYXRpbmcgZGlzY3Vzc2lvbnMgYXMgd2VsbC4gV2Ugd2VyZSBtb3JlIHRoYW4gZGVsaWdodGVkIHdoZW4gdGhlIGNpdHkgb2YgQmllbGVmZWxkIGZlYXR1cmVkIHVzIG9uIHRoZWlyIEluc3RhZ3JhbSwgaGlnaGxpZ2h0aW5nIG91ciBwcmVzZW5jZSBkdXJpbmcgXCJEZXIgVGV1dG8gcnVmdCFcIi4gVGhpcyBjb2xsYWJvcmF0aW9uIGhlbHBlZCB1cyByZWFjaCBhIHdpZGVyIGF1ZGllbmNlIGFuZCByYWlzZSBhd2FyZW5lc3MgYWJvdXQgb3VyIHJlc2VhcmNoIGVmZm9ydHMuPC9wPlxuPGJyLz5cbnsvKiA8YSBocmVmPVwiaHR0cHM6Ly91bmliaWVsZWZlbGRkZS5zaGFyZXBvaW50LmNvbS9zaXRlcy9pR0VNMjAyNHRlYW1zL19sYXlvdXRzLzE1L3N0cmVhbS5hc3B4P2lkPSUyRnNpdGVzJTJGaUdFTTIwMjR0ZWFtcyUyRkZyZWlnZWdlYmVuZSUyMERva3VtZW50ZSUyRkdlbmVyYWwlMkZGb3RvcyUyQyUyMFZpZGVvcyUyMHVuZCUyMENvJTJGVGV1dG8lMjBydWZ0JTJGVmlkZW8lMjBJbnN0YSUyMFRldXRvJTIwUnVmdCUyRW1vdiZnYT0xJnJlZmVycmVyPVN0cmVhbVdlYkFwcCUyRVdlYiZyZWZlcnJlclNjZW5hcmlvPUFkZHJlc3NCYXJDb3BpZWQlMkV2aWV3JTJFZTRhNDNhNTUlMkRmZmYzJTJENGI0NCUyRGIwODElMkRhZDI2MzA2ZjkzZTBcIiB0aXRsZT1cInZpZGVvIFRldXRvIHJ1ZnRcIiA+IHdhdGNoIG1lPC9hPiBcbiAqL31cbiA8YnIvPlxuPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPEg1IGlkPVwiY29uY2x1c2lvblwiIHRleHQ9XCJXaGF0IGlzIG91ciBjb25jbHVzaW9uXCIvPlxuICAgICAgICA8cD5EZXNwaXRlIHRoZSBjaGFuZ2VhYmxlIHdlYXRoZXIsIHdlIGNvdWxkIGVkdWNhdGUgbWFueSBwZW9wbGUgb2YgQmllbGVmZWxkJ3MgY29tbXVuaXR5IGFib3V0IGN5c3RpYyBmaWJyb3Npcywgb3VyIHRoZXJhcGV1dGljIGFwcHJvYWNoIGFuZCBnZW5lIHRoZXJhcHkgaW4gZ2VuZXJhbCBhbmQgaGFkIHRoZSBvcHBvcnR1bml0eSB0byBpbXByb3ZlIG91ciBzY2llbmNlIGNvbW11bmljYXRpb24gZm9yIHRoZSBmdXR1cmUgYXMgd2VsbCBzbyBpdCB3YXMgYSBzdWNjZXNzZnVsIGV2ZW50ISA8L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICA8ZmlndXJlPlxuICAgICAgICA8aWZyYW1lIHRpdGxlPVwiQmllbGVmZWxkLUNlQmlUZWM6IFRldXRvIHJ1ZnQhICgyMDI0KSBbR2VybWFuXVwiIHdpZHRoPVwiNTYwXCIgaGVpZ2h0PVwiMzE1XCIgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy92aWRlb3MvZW1iZWQvNzA0OTljYWUtNDhhZS00NTFhLWE4ODktMTAyZWY1ZTZjY2VhXCIgZnJhbWVCb3JkZXI9XCIwXCIgYWxsb3dGdWxsU2NyZWVuPXt0cnVlfSBzYW5kYm94PVwiYWxsb3ctc2FtZS1vcmlnaW4gYWxsb3ctc2NyaXB0cyBhbGxvdy1wb3B1cHMgYWxsb3ctZm9ybXNcIj48L2lmcmFtZT5cbiAgICAgICAgPGZpZ2NhcHRpb24+IDxiPkZpZ3VyZSAxLiA8L2I+IEluc3RhZ3JhbS1TdG9yeSBwb3N0ZWQgYnkgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vYmllbGVmZWxkamV0enQvXCI+PGk+QGJpZWxlZmVsZGpldHp0PC9pPjwvYT4gPC9maWdjYXB0aW9uPlxuICAgIDwvZmlndXJlPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4gICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZWRjYXRpb24tYW5kLW91dHJlYWNoL3RldXRvcnVmdC1leHBlcm1pbmV0LmpwZWdcIj48L2ltZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2VkY2F0aW9uLWFuZC1vdXRyZWFjaC90ZXV0b3J1ZnQtZ3J1cHBlLmpwZWdcIj48L2ltZz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgPC9kaXY+XG5cblxuXG5cbiAgICAgICAgPGRpdiBpZD1cIm1pbnRcIiBjbGFzc05hbWU9XCJlZHUtY3ljbGV0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICA8SDQgaWQ9XCJtaW50LWhlYWRpbmdcIiB0ZXh0PVwiTUlOVCBTb21tZXJcIi8+XG4gICAgICAgICAgICAgICAgPEg1IGlkPVwid2hhdCBhbmQgd2h5IG1pbnQgc3VtbWVyXCIgdGV4dD1cIldoYXQgaXMgTUlOVCBTdW1tZXIgYW5kIHdoeSB3ZXJlIHdlIHBhcnRpY2lwYXRpbmc/XCIvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL21pbnRzb21tZXJsb2dvLnBuZ1wiIHN0eWxlPXt7d2lkdGg6XCIzMCVcIiwgaGVpZ2h0OlwiMjAlXCJ9fS8+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5cdTIwMUNNSU5UIFN1bW1lciAyMDI0XHUyMDFEIGlzIGEgY29tcHJlaGVuc2l2ZSBwcm9ncmFtIGRlc2lnbmVkIHByaW1hcmlseSBmb3IgaGlnaCBzY2hvb2wgZ3JhZHVhdGVzIG9mIHRoZSBjbGFzcyBvZiAyMDI0LCB3aG8gYXJlIGNvbnNpZGVyaW5nIHB1cnN1aW5nIHN0dWRpZXMgaW4gU1RFTSBmaWVsZHMgKFNjaWVuY2UsIFRlY2hub2xvZ3ksIEVuZ2luZWVyaW5nLCBhbmQgTWF0aGVtYXRpY3MsIGluY2x1ZGluZyB0ZWFjaGluZyBkZWdyZWVzKS4gVGhlIHByb2dyYW0gaXMgcGVyZmVjdCBmb3IgdGhvc2Ugd2hvIGFyZSBzdGlsbCB1bmNlcnRhaW4gaWYgdGhleSB3YW50IHRvIHN0dWR5IGluIFNURU0gb3Igd2hpY2ggc3BlY2lmaWMgZGlzY2lwbGluZSBhbGlnbnMgYmVzdCB3aXRoIHRoZWlyIGludGVyZXN0cy48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5PdXIgcGFydGljaXBhdGlvbiBpbiA8YSBocmVmPVwiaHR0cHM6Ly93d3cudW5pLWJpZWxlZmVsZC5kZS9zdHVkaXVtL3N0dWRpZW5pbnRlcmVzc2llcnRlL21pbnQtc29tbWVyL1wiIHRpdGxlPVwiTWludCBTdW1tZXJcIiA+TUlOVCBTdW1tZXIgPC9hPiBvZmZlcmVkIHVzIHRoZSBjaGFuY2UgdG8gcmFpc2UgYXdhcmVuZXNzIG9mIGN5c3RpYyBmaWJyb3NpcyBhbmQgc2hvd2Nhc2Ugb3VyIGN1dHRpbmctZWRnZSBhcHByb2FjaCB0byBkZXZlbG9wIGFuIG9wdGltaXplZCBnZW5lIHRoZXJhcHkgdG8gY29tYmF0IHRoaXMgZGlzZWFzZS4gVGhyb3VnaCB0aGUgZXZlbnQgd2UgZW5nYWdlZCB3aXRoIHBvdGVudGlhbCBmdXR1cmUgc2NpZW50aXN0cyBhbmQgcmVzZWFyY2hlcnMsIGluZm9ybWluZyB0aGVtIGFib3V0IG91ciBwcm9qZWN0LCBpR0VNIGFuZCB0aGUgaW1wb3J0YW5jZSBvZiBzY2llbnRpZmljIHJlc2VhcmNoIGluIGFkdmFuY2luZyBtZWRpY2FsIHRyZWF0bWVudHMuIFRoaXMgcHJvZ3JhbSBub3Qgb25seSBhbGxvd3MgdXMgdG8gc2hhcmUgb3VyIG1pc3Npb24gYnV0IGFsc28gdG8gaW5zcGlyZSB0aGUgbmV4dCBnZW5lcmF0aW9uIG9mIFNURU0gc3R1ZGVudHMgYnkgaGlnaGxpZ2h0aW5nIHRoZSByZWFsLXdvcmxkIGltcGFjdCBvZiB0aGVpciBzdHVkaWVzLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8SDUgaWQ9XCJzdHJhdGVneSBzdW1tZXJcIiB0ZXh0PVwiV2hhdCB3YXMgb3VyIHN0cmF0ZWd5P1wiLz5cbiAgICAgICAgICAgICAgICAgICAgPHA+T3VyIG9iamVjdGl2ZSBhdCBNSU5UIFN1bW1lciB3YXMgdG8gaW5mb3JtIGF0dGVuZGVlcywgZXNwZWNpYWxseSBhc3BpcmluZyBTVEVNIHN0dWRlbnRzLCBhYm91dCB0aGUgdW5pcXVlIGNoYWxsZW5nZXMgZmFjZWQgYnkgY3lzdGljIGZpYnJvc2lzIChDRikgcGF0aWVudHMsIHdpdGggYSBwYXJ0aWN1bGFyIGZvY3VzIG9uIGx1bmctcmVsYXRlZCBjb21wbGljYXRpb25zLiBXZSBkcmV3IGhlYXZpbHkgb24gdGhlIGluc2lnaHRzIGdhaW5lZCBmcm9tIHRoZSBTY2llbmNlIENvbW11bmljYXRpb24gV29ya3Nob3AgYXQgdGhlIEJGSCBNZWV0dXAsIHdoaWNoIHByb3ZpZGVkIHVzIHdpdGggdGhlIHBlcmZlY3QgZnJhbWV3b3JrIHRvIG1ldGljdWxvdXNseSBwbGFuIG91ciBvdXRyZWFjaCBmb3IgdGhpcyBldmVudC4gVGhpcyBmb3VuZGF0aW9uIGFsbG93ZWQgdXMgdG8gY3JhZnQgZW5nYWdpbmcgYW5kIGVkdWNhdGlvbmFsIGFjdGl2aXRpZXMgdGhhdCBlZmZlY3RpdmVseSBjb252ZXllZCB0aGUgY29tcGxleGl0aWVzIG9mIENGIHRvIG91ciBhdWRpZW5jZSwgZW5zdXJpbmcgb3VyIG1lc3NhZ2Ugd2FzIGJvdGggaW1wYWN0ZnVsIGFuZCBhY2Nlc3NpYmxlLiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPldlIHRvb2sgdGhlIG9wcG9ydHVuaXR5IHRvIGV4cGxhaW4gdGhlIGlHRU0gY29tcGV0aXRpb24gYW5kIG91ciBwcm9qZWN0IHRvIHBhcnRpY2lwYW50cy4gV2Ugc2hhcmVkIGhvdyBpR0VNIGlzIGEgZ2xvYmFsIGNvbXBldGl0aW9uIHRoYXQgYnJpbmdzIHRvZ2V0aGVyIHN0dWRlbnQgdGVhbXMgdG8gc29sdmUgcmVhbC13b3JsZCBwcm9ibGVtcyB1c2luZyBzeW50aGV0aWMgYmlvbG9neS4gV2UgZGlzY3Vzc2VkIGhvdyBvdXIgYXBwcm9hY2ggYWltcyB0byBjb3JyZWN0IHRoZSBnZW5ldGljIG11dGF0aW9uIHJlc3BvbnNpYmxlIGZvciBDRiwgcG90ZW50aWFsbHkgb2ZmZXJpbmcgYSBtb3JlIGVmZmVjdGl2ZSB0cmVhdG1lbnQuIEJ5IGVuZ2FnaW5nIHdpdGggYXR0ZW5kZWVzLCB3ZSB3ZXJlIGFibGUgdG8gaGlnaGxpZ2h0IHRoZSBzaWduaWZpY2FuY2Ugb2Ygb3VyIHJlc2VhcmNoIGFuZCB0aGUgaW1wYWN0IGl0IGNvdWxkIGhhdmUgb24gaW1wcm92aW5nIHRoZSBsaXZlcyBvZiB0aG9zZSBhZmZlY3RlZCBieSB0aGlzIGNoYWxsZW5naW5nIGNvbmRpdGlvbi4gVGhleSBnb3QgdGhlIG9wcG9ydHVuaXR5IHRvIGNvbnRyaWJ1dGUgdG8gb3VyIHByb2plY3QgYnkgcGFydGljaXBhdGluZyBpbiBvdXIgc3VydmV5LiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPk92ZXIgdGhlIHRpbWUgb2YgdHdvIHdlZWtzLCB3ZSBlc3RhYmxpc2hlZCBtZWFuaW5nZnVsIGNvbm5lY3Rpb25zIHdpdGggcHJvZmVzc29ycywgc3R1ZGVudHMsIGFuZCBwYXJ0aWNpcGFudHMgYWNyb3NzIHZhcmlvdXMgU1RFTSBmaWVsZHMgZHVyaW5nIHRoZSBldmVudCwgbGlrZSB0aGUgc3R1ZGVudCBpbml0aWF0aXZlIGJ0UyBhbmQgdGhlIENhbXB1c2JyYXVlcmVpIEJpZWxlZmVsZC4gU2hhcmluZyBvdXIgcHJvamVjdCB3aXRoIHRoZSBsaWZlIHNjaWVuY2Ugc3R1ZGVudHMgd2FzIGhlbHBmdWwsIG1vdGl2YXRpbmcgYW5kIG9wZW5lZCB0aGUgZG9vciB0byBlbmdhZ2luZyBkaXNjdXNzaW9ucyB0aGF0IGVucmljaGVkIG91ciBwZXJzcGVjdGl2ZSBhbmQgZm9zdGVyZWQgY29sbGFib3JhdGlvbi4gVGhlc2UgaW50ZXJhY3Rpb25zIGFsbG93ZWQgdXMgdG8gY29ubmVjdCB3aXRoIGV4cGVydHMgYW5kIHN0dWRlbnRzIGZyb20gZGlmZmVyZW50IGRpc2NpcGxpbmVzLCBlbmhhbmNpbmcgb3VyIHVuZGVyc3RhbmRpbmcgb2YgaG93IG91ciBnZW5lIHRoZXJhcHkgcmVzZWFyY2ggZm9yIGN5c3RpYyBmaWJyb3NpcyBmaXRzIHdpdGhpbiB0aGUgYnJvYWRlciBzY2llbnRpZmljIGxhbmRzY2FwZS48L3A+XG4gICAgICAgICAgICAgICAgPEg1IGlkPVwiY29uY2x1c2lvbiBzdW1tZXJcIiB0ZXh0PVwiV2hhdCBpcyBvdXIgY29uY2x1c2lvbj9cIi8+XG4gICAgICAgICAgICAgICAgICAgIDxwPlRoZSBleHBlcmllbmNlIGFsbG93ZWQgdXMgdG8gcmVmaW5lIG91ciBzY2llbmNlIGNvbW11bmljYXRpb24gc2tpbGxzIGFuZCBjb25uZWN0IHdpdGggYSBicm9hZCByYW5nZSBvZiBTVEVNIHByb2Zlc3Npb25hbHMgYW5kIHN0dWRlbnRzLiBPdmVyYWxsLCB0aGUgZXZlbnQgd2FzIGEgdmFsdWFibGUgb3Bwb3J0dW5pdHkgZm9yIGJvdGggZWR1Y2F0aW9uIGFuZCBwcm9mZXNzaW9uYWwgZ3Jvd3RoLCBtYWtpbmcgaXQgYSByZXdhcmRpbmcgYW5kIGltcGFjdGZ1bCBleHBlcmllbmNlIGZvciBvdXIgdGVhbS4gPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn0iLCAiaW1wb3J0IHsgIEJ1dHRvbk9uZVdpdGhTY3JvbGwgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5pbXBvcnQgeyBINCwgSDUgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgTG9yZW1TaG9ydCB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0xvcmVtaXBzdW1cIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gSFBFbnRyZXByZW5ldXIoKXtcblxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCIgc3R5bGU9e3ttYXJnaW5Ub3A6IFwiNXZoXCIsIG1hcmdpbkJvdHRvbTogXCI1dmhcIn19PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlbnQtY3ljbGV0YWJcIiB0ZXh0PVwiT3ZlcnZpZXdcIiBvcGVuPVwiZW50LW92ZXJ2aWV3XCIgc2Nyb2xsSWQ9XCJlbnQtaGVhZGluZ1wiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlbnQtaW50ZXJ2aWV3XCIgdGV4dD1cIkludGVydmlld3Mgd2l0aCBGb3VuZGVyc1wiIG9wZW49XCJlbnQtaW50ZXJ2aWV3XCIgc2Nyb2xsSWQ9XCJlbnQtaW50ZXItaGVhZGluZ1wiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uT25lV2l0aFNjcm9sbCBvcGVuY2xhc3M9XCJlbnQtaW50ZXJ2aWV3XCIgdGV4dD1cIk5leHQgU3RlcHNcIiBvcGVuPVwiZW50LW5leHRcIiBzY3JvbGxJZD1cImVudC1jb3Vyc2UtaGVhZGluZ1wiLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBcblxuICAgICAgICA8ZGl2IGlkPVwiZW50LW92ZXJ2aWV3XCIgY2xhc3NOYW1lPVwiZW50LWludGVydmlld1wiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICA8SDQgaWQ9XCJlbnQtaGVhZGluZ1wiIHRleHQ9XCJFbnRyZXByZW5ldXJzaGlwIGFzIHBhcnQgb2YgYSBpbnRlZ3JhdGVkIGh1bWFuIHByYWN0aWNlIC0gYnV0IHdoeT9cIi8+XG4gICAgICAgICAgICA8cD5FbnRyZXByZW5ldXJzaGlwIGlzIG5vdCBvbmx5IGFuIGludGVyZXN0aW5nIHBvc3NpYmlsaXR5IGJ1dCBuZWNlc3NhcnkgdG8gdHVybiBvdXIgaWRlYXMgYW5kIHJlc3VsdHMgaW50byBhIHJlYWwgcHJvZHVjdCB0aGF0IGNhbiBoZWxwIHBlb3BsZS4gPC9wPlxuICAgICAgICAgICAgPHA+VGhhdCBpcyB3aHkgaW4gdGhpcyBzZWN0aW9uIHdlIGZvY3VzIG9uIHRoZSBhc3BlY3RzIG9mIGVudHJlcHJlbmV1cnNoaXAgdGhhdCBhcmUgY3J1Y2lhbCBmb3IgdGhlIHBvdGVudGlhbCBzdWNjZXNzZnVsIHJlYWxpc2F0aW9uIG9mIG91ciBwcm9qZWN0IHRvIGRldmVsb3AgbmV3IHRoZXJhcGllcyBmb3IgY3lzdGljIGZpYnJvc2lzLiBBIHBpdm90YWwgbW9tZW50IHdhcyBvdXIgaW50ZXJ2aWV3IHdpdGggTmljb2xlIEZyaWVkbGVpbiwgd2hpY2ggZ2F2ZSB1cyB2YWx1YWJsZSBpbnNpZ2h0cyBpbnRvIHRoZSBjaGFsbGVuZ2VzIGFuZCBvcHBvcnR1bml0aWVzIGluIHRoZSBmaWVsZCBvZiBiaW9tZWRpY2FsIGlubm92YXRpb24uIFRoZSBkaXNjdXNzaW9ucyBpbiB0aGUgaW50ZXJ2aWV3IGVuY291cmFnZWQgdXMgdG8gbG9vayBtb3JlIGNsb3NlbHkgYXQgdGhlIHJlZ3VsYXRvcnkgcmVxdWlyZW1lbnRzLCB3aGljaCBpcyB3aHkgb25lIHRlYW0gbWVtYmVyIGNvbXBsZXRlZCBhIEd4UCBjb3Vyc2UgYW5kIHN1YnNlcXVlbnRseSB0cmFpbmVkIHRoZSB0ZWFtIGluIHRoaXMgYXJlYS4gSW4gYWRkaXRpb24sIHdlIGNvbmR1Y3RlZCBmdXJ0aGVyIGludGVydmlld3MgaW4gdGhlIGFyZWEgb2YgZW50cmVwcmVuZXVyc2hpcCB0byBnYWluIGEgYmV0dGVyIHVuZGVyc3RhbmRpbmcgb2YgdGhlIHByYWN0aWNhbCBhc3BlY3RzIG9mIGJ1c2luZXNzIGRldmVsb3BtZW50LiBUaGVzZSBleHBlcmllbmNlcyBub3Qgb25seSBlbnJpY2hlZCB0aGUgc2NpZW50aWZpYyBkZXB0aCBvZiBvdXIgcHJvamVjdCwgYnV0IGFsc28gc2hhcnBlbmVkIG91ciBwZXJzcGVjdGl2ZSBvbiB0aGUgcHJhY3RpY2FsIGltcGxlbWVudGF0aW9uIGFuZCBtYXJrZXQgbGF1bmNoIG9mIG5ldyB0aGVyYXBpZXMuIFxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPEg0IGlkPVwiZW50LWhlYWRpbmdcIiB0ZXh0PVwiT3VyIEVudHJlcHJlbmV1cnNoaXBcIi8+XG4gICAgICAgICAgICA8TG9yZW1TaG9ydC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgaWQ9XCJlbnQtaW50ZXJ2aWV3XCIgY2xhc3NOYW1lPVwiZW50LWludGVydmlld1wiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgIDxINCBpZD1cImVudC1pbnRlci1oZWFkaW5nXCIgdGV4dD1cIlF1ZXN0aW9uIDE6IElkZWEgVmFsaWRhdGlvblwiLz5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB3ZSBhc2tlZCB0aGUgRm91bmRlcnNcIi8+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJhc2stcFwiPkhvdyBkaWQgeW91IHRlc3QgdGhlIG1hcmtldGFiaWxpdHkgb2YgeW91ciBzY2llbnRpZmljIGlkZWEgLSBob3cgZGlkIHlvdSBnZXQgYSBmaXJzdCBpbXByZXNzaW9uIHRoYXQgdGhlcmUgaXMgYSBuZWVkIGZvciB5b3VyIHByb2R1Y3Qgb3Igc2VydmljZT8gPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJXaGF0IHRoZSBGb3VuZGVycyBoYWQgdG8gc2F5IFwiLz5cbiAgICAgICAgICAgIDxwPjxiPlBsYXNtaWRGYWN0b3J5IChNYXJ0aW4gU2NobGVlZik8L2I+PC9wPlxuICAgICAgICAgICAgPHA+UGxhc21pZEZhY3RvcnkgdGVzdGVkIHRoZSBtYXJrZXRhYmlsaXR5IG9mIHRoZWlyIGlkZWEgdGhyb3VnaCBwYXJ0aWNpcGF0aW9uIGluIHNjaWVudGlmaWMgY29uZmVyZW5jZXMuIEVuZ2FnaW5nIHdpdGggb3RoZXIgc2NpZW50aXN0cyBhbmQgcHJlc2VudGluZyB0aGVpciBvd24gcmVzZWFyY2ggYWxsb3dlZCB0aGVtIHRvIGdhdWdlIHRoZSBpbnRlcmVzdCBhbmQgbmVlZHMgd2l0aGluIHRoZSBmaWVsZC4gRGlyZWN0IGZlZWRiYWNrIGZyb20gdGhlc2UgZXZlbnRzIGhlbHBlZCB0aGVtIGFzc2VzcyB3aGV0aGVyIHRoZWlyIHByb2R1Y3Qgd2FzIGFsaWduZWQgd2l0aCBtYXJrZXQgZGVtYW5kIGFuZCBpZiB0aGV5IG5lZWRlZCB0byBtb2RpZnkgb3IgYWNjZWxlcmF0ZSBjZXJ0YWluIGFzcGVjdHMgb2YgZGV2ZWxvcG1lbnQuICAgICBcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwPjxiPlJOaGFsZSAoQmVuamFtaW4gV2lua2VsamFubik8L2I+PC9wPlxuICAgICAgICAgICAgPHA+Uk5oYWxlIHZhbGlkYXRlZCB0aGVpciBpZGVhIGJ5IHNlZWtpbmcgZmVlZGJhY2sgZnJvbSBib3RoIHRoZSBzY2llbnRpZmljIGNvbW11bml0eSBhbmQgaW5kdXN0cnkgcHJvZmVzc2lvbmFscyBhdCBjb25mZXJlbmNlcyBhbmQgbmV0d29ya2luZyBldmVudHMuIFRoZXkgbm90aWNlZCBncm93aW5nIGludGVyZXN0IGluIFJOQSB0aGVyYXBldXRpY3MsIHBhcnRpY3VsYXJseSBmb3IgbHVuZyBkZWxpdmVyeS4gVGhlIGNoYWxsZW5nZXMgc3Vycm91bmRpbmcgZGVsaXZlcnkgc3lzdGVtcywgZXNwZWNpYWxseSBoaWdobGlnaHRlZCBkdXJpbmcgdGhlIENPVklELTE5IHBhbmRlbWljLCBjb25maXJtZWQgdGhhdCB0aGVyZSB3YXMgYSBzdHJvbmcgbWFya2V0IGRlbWFuZCBmb3IgdGhlaXIgdGVjaG5vbG9neSwgd2hpY2ggbW90aXZhdGVkIHRoZW0gdG8gbW92ZSBmb3J3YXJkIHdpdGggY29tbWVyY2lhbGl6YXRpb24uPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJMZWFybmluZ3MgYW5kIEltcGxpY2F0aW9ucyBmb3Igb3VyIHByb2plY3QgXCIvPlxuICAgICAgICAgICAgPHA+Rm9yIG91ciBwcm9qZWN0LCBhIGNvbmNyZXRlIG5leHQgc3RlcCB3b3VsZCBiZSB0byBhY3RpdmVseSBzZWVrIGZlZWRiYWNrIGZyb20gY3lzdGljIGZpYnJvc2lzIHJlc2VhcmNoIGNvbW11bml0aWVzIGFuZCBiaW90ZWNoIGNvbmZlcmVuY2VzLiBXZSBzaG91bGQgY29udGludWUgdG8gcHJlc2VudCBvdXIgUk5BLWJhc2VkIGdlbmUgdGhlcmFweSBhcHByb2FjaCB0byBleHBlcnRzIGluIGdlbmUgZWRpdGluZyBhbmQgZGVsaXZlcnkgc3lzdGVtcywgc3BlY2lmaWNhbGx5IGFza2luZyBmb3IgaW5wdXQgb24gb3VyIGRlbGl2ZXJ5IG1lY2hhbmlzbSB1c2luZyBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKS4gVGhpcyBlYXJseSBlbmdhZ2VtZW50IGNvdWxkIGhlbHAgaWRlbnRpZnkgd2hldGhlciBvdXIgYXBwcm9hY2ggYWRkcmVzc2VzIGEgcmVhbCB1bm1ldCBuZWVkIGluIGN5c3RpYyBmaWJyb3NpcyB0cmVhdG1lbnQgYW5kIHJlZmluZSBvdXIgcHJvZHVjdCB0byBiZXR0ZXIgbWVldCBjbGluaWNhbCBhbmQgcGF0aWVudCBuZWVkcy4gXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8SDQgaWQ9XCJlbnQtZXhwZXJ0LWhlYWRpbmdcIiB0ZXh0PVwiUXVlc3Rpb24gMjogUHJvb2Ytb2YtQ29uY2VwdFwiLz5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB3ZSBhc2tlZCB0aGUgRm91bmRlcnNcIi8+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJhc2stcFwiPkhvdyBkaWQgeW91IGRldmVsb3AgdGhlIGZpcnN0IHByb29mLW9mLWNvbmNlcHQgYmVmb3JlIHlvdSBoYWQgaW52ZXN0b3JzPyBEaWQgeW91IHdvcmsgd2l0aCB1bml2ZXJzaXRpZXMgb3IgcmVzZWFyY2ggaW5zdGl0dXRpb25zIHRvIGdldCBhY2Nlc3MgdG8gbGFib3JhdG9yaWVzIGFuZCBlcXVpcG1lbnQ/IDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB0aGUgRm91bmRlcnMgaGFkIHRvIHNheSBcIi8+XG4gICAgICAgICAgICA8cD48Yj5QbGFzbWlkRmFjdG9yeSAoTWFydGluIFNjaGxlZWYpPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlBsYXNtaWRGYWN0b3J5IHdhcyBhd2FyZSBvZiB0aGUgZGVtYW5kIGZvciBETkEgZWFybHkgb24sIGFzIHRoZSBmb3VuZGVycyBoYWQgYWxyZWFkeSBwcm9kdWNlZCBETkEgZm9yIGN1c3RvbWVycyBkdXJpbmcgdGhlaXIgcHJldmlvdXMgd29yay4gSW5pdGlhbGx5LCB0aGV5IGNvbGxhYm9yYXRlZCB3aXRoIGFjYWRlbWljIHBhcnRuZXJzIGFuZCBjdXN0b21lcnMgdG8gbWVldCB0aGUgZGVtYW5kIGZvciBwbGFzbWlkIEROQSwgd2hpY2ggaGVscGVkIHRoZW0gZXN0YWJsaXNoIGEgcHJvb2Ytb2YtY29uY2VwdC4gT3ZlciB0aW1lLCB0aGV5IHNoaWZ0ZWQgZnJvbSBwcmltYXJpbHkgd29ya2luZyB3aXRoIGFjYWRlbWljIGluc3RpdHV0aW9ucyB0byBjb2xsYWJvcmF0aW5nIG1vcmUgd2l0aCB0aGUgcmVzZWFyY2gtYmFzZWQgcGhhcm1hY2V1dGljYWwgaW5kdXN0cnksIHdoaWxlIG1haW50YWluaW5nIHRoZWlyIGNvbm5lY3Rpb25zIHdpdGggdW5pdmVyc2l0aWVzLiA8L3A+XG4gICAgICAgICAgICA8cD48Yj5STmhhbGUgKEJlbmphbWluIFdpbmtlbGphbm4pPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlJOaGFsZSBkZXZlbG9wZWQgdGhlaXIgcHJvb2Ytb2YtY29uY2VwdCB0aHJvdWdoIGNvbGxhYm9yYXRpb25zIHdpdGggdW5pdmVyc2l0aWVzLiBUaGV5IHN0YXJ0ZWQgd2l0aCBpbiB2aXRybyBjZWxsIGN1bHR1cmUgbW9kZWxzIGFuZCBsYXRlciBhZHZhbmNlZCB0byBtb3JlIGNvbXBsZXggc3lzdGVtcywgc3VjaCBhcyBhaXItbGlxdWlkIGludGVyZmFjZSBtb2RlbHMgYW5kIHByZWNpc2lvbi1jdXQgbHVuZyBzbGljZXMuIEFkZGl0aW9uYWxseSwgdGhleSBwZXJmb3JtZWQgYW4gaW4gdml2byBzdHVkeSBhbmQgaGFkIGFjY2VzcyB0byBodW1hbiBsdW5nIHRpc3N1ZSBzYW1wbGVzLCB3aGljaCBoZWxwZWQgdGhlbSB2YWxpZGF0ZSB0aGVpciB0ZWNobm9sb2d5IGluIGEgcmVsZXZhbnQgY2xpbmljYWwgY29udGV4dCBiZWZvcmUgc2Vla2luZyBpbnZlc3RvcnMuIDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiTGVhcm5pbmdzIGFuZCBJbXBsaWNhdGlvbnMgZm9yIG91ciBwcm9qZWN0IFwiLz5cbiAgICAgICAgICAgIDxwPkFzIHRoZSBpR0VNIFRlYW0gb2YgQmllbGVmZWxkIFVuaXZlcnNpdHksIHdlIGhhdmUgYWNjZXNzIHRvIGV4Y2VsbGVudCByZXNlYXJjaCBpbmZyYXN0cnVjdHVyZS4gQSBjb25jcmV0ZSBuZXh0IHN0ZXAgZm9yIHVzIGNvdWxkIGJlIGxldmVyYWdpbmcgdGhlIHVuaXZlcnNpdHkncyBjZWxsIGN1bHR1cmUgYW5kIGdlbmUgZWRpdGluZyBmYWNpbGl0aWVzIHRvIGRldmVsb3AgYW4gYWR2YW5jZWQgcHJvb2Ytb2YtY29uY2VwdC4gQWRkaXRpb25hbGx5LCBjb2xsYWJvcmF0aW5nIHdpdGggb3RoZXIgZGVwYXJ0bWVudHMgd2l0aGluIEJpZWxlZmVsZCBvciBwYXJ0bmVyIGluc3RpdHV0aW9ucyBjb3VsZCBoZWxwIHVzIHBlcmZvcm0gaW4gdml2byBzdHVkaWVzLiBUaGlzIHdvdWxkIGFsbG93IHVzIHRvIHZhbGlkYXRlIG91ciBsaXBpZCBuYW5vcGFydGljbGUgZGVsaXZlcnkgc3lzdGVtIGFuZCBwcmVzZW50IHN0cm9uZyBwcmVsaW1pbmFyeSBkYXRhIGZvciBmdXR1cmUgaW52ZXN0b3JzIG9yIHBhcnRuZXJzLiA8L3A+XG5cbiAgICAgICAgICAgIDxINCB0ZXh0PVwiUXVlc3Rpb24gMzogVHJhbnNpdGlvbiBmcm9tIFJlc2VhcmNoIHRvIENvbW1lcmNpYWxpemF0aW9uIFwiLz5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB3ZSBhc2tlZCB0aGUgRm91bmRlcnNcIi8+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJhc2stcFwiPldoYXQgd2VyZSB0aGUgYmlnZ2VzdCBjaGFsbGVuZ2VzIGluIHRoZSB0cmFuc2l0aW9uIGZyb20gZXhwbG9yaW5nIGEgc2NpZW50aWZpYyBpZGVhIHRvIGEgY29tbWVyY2lhbCBzdGFydC11cD8gTG9va2luZyBiYWNrLCBhcmUgdGhlcmUgY2VydGFpbiBzdGVwcyB5b3Ugd291bGQgaGF2ZSB0YWtlbiBlYXJsaWVyIG9yIGRpZmZlcmVudGx5PyA8L3A+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIldoYXQgdGhlIEZvdW5kZXJzIGhhZCB0byBzYXkgXCIvPlxuICAgICAgICAgICAgPHA+PGI+UGxhc21pZEZhY3RvcnkgKE1hcnRpbiBTY2hsZWVmKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5PbmUgb2YgdGhlIG1ham9yIGNoYWxsZW5nZXMgd2FzIGVuc3VyaW5nIHRoYXQgdGhlaXIgaWRlYSB3YXMgbWFya2V0YWJsZSwgd2hpY2ggaXMgbmV2ZXIgZW50aXJlbHkgY2xlYXIgYXQgdGhlIGJlZ2lubmluZy4gQW5vdGhlciBzaWduaWZpY2FudCBjaGFsbGVuZ2Ugd2FzIHNlY3VyaW5nIGNhcGl0YWwgZm9yIGRldmVsb3BtZW50LiBUaGV5IGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2Ygc3BlbmRpbmcgb25seSB3aGF0IHdhcyBhdmFpbGFibGUgYW5kIGhpZ2hsaWdodGVkIHRoZSByb2xlIG9mIHJlc2VhcmNoIGZ1bmRpbmcgcHJvZ3JhbXMgKEVVIG9yIG5hdGlvbmFsKSBpbiBzdXBwb3J0aW5nIGVhcmx5LXN0YWdlIGJpb3RlY2ggY29tcGFuaWVzLiBMb29raW5nIGJhY2ssIHRoZXkgbWlnaHQgbm90IGhhdmUgZG9uZSB0aGluZ3MgZGlmZmVyZW50bHkgYnV0IGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgY2FyZWZ1bCBmaW5hbmNpYWwgcGxhbm5pbmcgYW5kIG1ha2luZyBzdXJlIHRoZSBwcm9kdWN0IGhhcyBhIHBvdGVudGlhbCBtYXJrZXQuPC9wPlxuICAgICAgICAgICAgPHA+PGI+Uk5oYWxlIChCZW5qYW1pbiBXaW5rZWxqYW5uKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5Gb3IgUk5oYWxlLCB0aGUgYmlnZ2VzdCBjaGFsbGVuZ2Ugd2FzIHNlY3VyaW5nIHN1ZmZpY2llbnQgZnVuZGluZywgYXMgdHJhbnNpdGlvbmluZyBmcm9tIHVuaXZlcnNpdHktYmFzZWQgcmVzZWFyY2ggdG8gdGhlIHByaXZhdGUgc2VjdG9yIHJlcXVpcmVzIGEgc3RyYXRlZ2ljIGFwcHJvYWNoIHRvIGJyaWRnaW5nIHRoaXMgZ2FwLiBUaGV5IGFsc28gbWVudGlvbmVkIHRoYXQgZGV2ZWxvcGluZyBhIGNsZWFyIGJ1c2luZXNzIG1vZGVsIGVhcmxpZXIgb24gY291bGQgaGF2ZSBzcGVkIHVwIHRoZSBwcm9jZXNzLiBBbm90aGVyIGNoYWxsZW5nZSB3YXMgZm9ybWluZyBwYXJ0bmVyc2hpcHMgd2l0aCBpbmR1c3RyeSBhdCBhbiBlYXJsaWVyIHN0YWdlLCB3aGljaCBtaWdodCBoYXZlIGVhc2VkIGJvdGggdGhlIGZ1bmRpbmcgcHJvY2VzcyBhbmQgY29tbWVyY2lhbGl6YXRpb24gZWZmb3J0cy48L3A+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIkxlYXJuaW5ncyBhbmQgSW1wbGljYXRpb25zIGZvciBvdXIgcHJvamVjdCBcIi8+XG4gICAgICAgICAgICA8cD5Cb3RoIGZvdW5kZXJzIGVtcGhhc2l6ZWQgdGhlIGNoYWxsZW5nZSBvZiBzZWN1cmluZyBmdW5kaW5nIGFuZCBidWlsZGluZyBhIGNsZWFyIGJ1c2luZXNzIG1vZGVsLiBBdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSwgd2Ugc2hvdWxkIGNvbnNpZGVyIGV4cGxvcmluZyBwYXJ0bmVyc2hpcHMgd2l0aCBpbmR1c3RyeSBlYXJseSwgc3VjaCBhcyBiaW90ZWNoIGZpcm1zIG9yIHBoYXJtYWNldXRpY2FsIGNvbXBhbmllcy4gQSBjb25jcmV0ZSBuZXh0IHN0ZXAgY291bGQgYmUgaWRlbnRpZnlpbmcgcmVsZXZhbnQgZnVuZGluZyBwcm9ncmFtcyBsaWtlIEVYSVNUIG9yIEVVIGdyYW50cywgd2hpY2ggY291bGQgaGVscCBicmlkZ2UgdGhlIGdhcCBiZXR3ZWVuIG91ciB1bml2ZXJzaXR5IHJlc2VhcmNoIGFuZCBjb21tZXJjaWFsaXphdGlvbi4gRGV2ZWxvcGluZyBhIGJ1c2luZXNzIG1vZGVsIHRhaWxvcmVkIHRvIFJOQS1iYXNlZCB0aGVyYXBldXRpY3MgZm9yIGN5c3RpYyBmaWJyb3NpcyB3aWxsIGFsc28gYmUgY3JpdGljYWwgdG8gYXR0cmFjdCBpbnZlc3RvcnMuIDwvcD5cblxuXG4gICAgICAgICAgICA8SDQgdGV4dD1cIlF1ZXN0aW9uIDQ6IEZ1bmRpbmcgXCIvPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJXaGF0IHdlIGFza2VkIHRoZSBGb3VuZGVyc1wiLz5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImFzay1wXCI+V2hhdCBzb3VyY2VzIG9mIGZ1bmRpbmcgZGlkIHlvdSB1c2UgaW4gdGhlIGVhcmx5IHN0YWdlcyBvZiB5b3VyIGNvbXBhbnk/IFdlcmUgdGhlcmUgYW55IHNwZWNpYWwgZnVuZGluZyBwcm9ncmFtcyBvciBpbnZlc3RvcnMgdGhhdCBzcGVjaWFsaXplZCBpbiBiaW90ZWNobm9sb2d5IHN0YXJ0LXVwcz8gPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJXaGF0IHRoZSBGb3VuZGVycyBoYWQgdG8gc2F5IFwiLz5cbiAgICAgICAgICAgIDxwPjxiPlBsYXNtaWRGYWN0b3J5IChNYXJ0aW4gU2NobGVlZik8L2I+PC9wPlxuICAgICAgICAgICAgPHA+SW4gdGhlIGVhcmx5IHN0YWdlcywgZnVuZGluZyBwcm9ncmFtcyBmb3Igc3RhcnQtdXBzIGRpZCBub3QgZXhpc3QgYXMgdGhleSBkbyB0b2RheS4gUGxhc21pZEZhY3RvcnkgcmVsaWVkIG9uIHRyYWRpdGlvbmFsIHNvdXJjZXMgbGlrZSB0aGVpciBsb2NhbCBiYW5rIGFuZCBjcmVhdGl2ZSBzb2x1dGlvbnMgbGlrZSBwdXJjaGFzaW5nIHNlY29uZC1oYW5kIGVxdWlwbWVudCB0aHJvdWdoIHBsYXRmb3JtcyBsaWtlIGVCYXkuIFRoZWlyIGZpcnN0IGN1c3RvbWVycyBhbHNvIHBsYXllZCBhIGtleSByb2xlLCBhcyB0aGUgcmV2ZW51ZSBmcm9tIGluaXRpYWwgc2FsZXMgYWxsb3dlZCB0aGVtIHRvIHJlaW52ZXN0IGluIHRoZSBidXNpbmVzcyBhbmQgZnVydGhlciBpdHMgZ3Jvd3RoLjwvcD5cbiAgICAgICAgICAgIDxwPjxiPlJOaGFsZSAoQmVuamFtaW4gV2lua2VsamFubik8L2I+PC9wPlxuICAgICAgICAgICAgPHA+Uk5oYWxlIGluaXRpYWxseSByZWxpZWQgb24gcHVibGljIGZ1bmRpbmcgZnJvbSB1bml2ZXJzaXR5IGdyYW50cyBhbmQgZ292ZXJubWVudCBwcm9ncmFtcyBzdWNoIGFzIEdyb3dCaW8gYW5kIEVYSVNULCB3aGljaCBwcm92aWRlZCBjcnVjaWFsIHByZS1zZWVkIHN1cHBvcnQuIEFzIHRoZXkgdHJhbnNpdGlvbmVkIGludG8gYSBwcml2YXRlIGNvbXBhbnksIHRoZXkgc2VjdXJlZCBhZGRpdGlvbmFsIGZ1bmRpbmcgdGhyb3VnaCB0aGUgRXVyb3BlYW4gVW5pb25cdTIwMTlzIEVJQyBUcmFuc2l0aW9uIGdyYW50LiBUaGV5IGFsc28gYXR0cmFjdGVkIHZlbnR1cmUgY2FwaXRhbCBmcm9tIGZpcm1zIHNwZWNpYWxpemluZyBpbiBiaW90ZWNoLCBzdWNoIGFzIHRoZSBIaWdodGVjaC1Hclx1MDBGQ25kZXJmb25kcyBhbmQgaW50ZXJuYXRpb25hbCBpbnZlc3RvcnMgbGlrZSBLYXJtYSBGdW5kIGFuZCBXZWxsaW5ndG9uLCB3aG8gdW5kZXJzdG9vZCB0aGUgbG9uZyB0aW1lbGluZXMgYW5kIGhpZ2ggY29zdHMgYXNzb2NpYXRlZCB3aXRoIGJpb3RlY2ggZGV2ZWxvcG1lbnQuPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJMZWFybmluZ3MgYW5kIEltcGxpY2F0aW9ucyBmb3Igb3VyIHByb2plY3QgXCIvPlxuICAgICAgICAgICAgPHA+Qm90aCBmb3VuZGVycyBoaWdobGlnaHRlZCB0aGUgaW1wb3J0YW5jZSBvZiBzZWN1cmluZyBkaXZlcnNlIGZ1bmRpbmcgc291cmNlcyBlYXJseSBvbi4gQSBjb25jcmV0ZSBuZXh0IHN0ZXAgY291bGQgYmUgY29sbGFib3JhdGluZyB3aXRoIHRoZSB1bml2ZXJzaXR5XHUyMDE5cyBzdGFydHVwIHN1cHBvcnQgc2VydmljZXMgdG8gaWRlbnRpZnkgcG90ZW50aWFsIGludmVzdG9ycywgZXNwZWNpYWxseSB0aG9zZSB3aXRoIGJpb3RlY2ggZXhwZXJpZW5jZS4gQWRkaXRpb25hbGx5LCBleHBsb3Jpbmcgbm9uLXRyYWRpdGlvbmFsIHNvdXJjZXMgc3VjaCBhcyBpbmR1c3RyeS1zcG9uc29yZWQgcmVzZWFyY2ggY29sbGFib3JhdGlvbnMgY291bGQgcHJvdmlkZSBjcnVjaWFsIGluaXRpYWwgZnVuZGluZyB0byBzdXBwb3J0IHRoZSBkZXZlbG9wbWVudCBvZiBvdXIgY3lzdGljIGZpYnJvc2lzIGdlbmUgdGhlcmFweS4gPC9wPlxuXG4gICAgICAgICAgICA8SDQgdGV4dD1cIlF1ZXN0aW9uIDU6IFRlYW0gQnVpbGRpbmcgXCIvPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJXaGF0IHdlIGFza2VkIHRoZSBGb3VuZGVyc1wiLz5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImFzay1wXCI+V2hhdCBxdWFsaWZpY2F0aW9ucyBhbmQgc2tpbGxzIHdlcmUgcGFydGljdWxhcmx5IGltcG9ydGFudCB3aGVuIGJ1aWxkaW5nIHlvdXIgdGVhbT8gRGlkIHlvdSBicmluZyBpbiBleHBlcnRzIGZyb20gaW5kdXN0cnkgb3Igb3RoZXIgYXJlYXM/IDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB0aGUgRm91bmRlcnMgaGFkIHRvIHNheSBcIi8+XG4gICAgICAgICAgICA8cD48Yj5QbGFzbWlkRmFjdG9yeSAoTWFydGluIFNjaGxlZWYpPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPkZvciBQbGFzbWlkRmFjdG9yeSwgaG9uZXN0eSwgY29tbWl0bWVudCwgYW5kIGhhcmQgd29yayB3ZXJlIGNydWNpYWwuIFRoZSBpbml0aWFsIHRlYW0gY29uc2lzdGVkIG9mIGxhYiB0ZWNobmljaWFucywgYmlvY2hlbWlzdHMsIGFuZCBiaW9sb2dpc3RzLiBPdmVyIHRpbWUsIHRoZXkgZXhwYW5kZWQgdG8gaW5jbHVkZSBlbXBsb3llZXMgZnJvbSB2YXJpb3VzIGZpZWxkcywgc3VjaCBhcyBiaW90ZWNobm9sb2d5IGFuZCBldmVuIG5vbi1zY2llbnRpZmljIGFyZWFzIGxpa2UgYnVzaW5lc3MgYWRtaW5pc3RyYXRpb24gYW5kIG1hcmtldGluZy4gQnJpbmdpbmcgaW4gc29tZW9uZSB3aXRoIGluZHVzdHJ5IGV4cGVyaWVuY2Ugd2FzIHNlZW4gYXMgcGFydGljdWxhcmx5IHZhbHVhYmxlLCBhcyBpbmR1c3RyeSBvcGVyYXRlcyBkaWZmZXJlbnRseSBmcm9tIGFjYWRlbWljIGVudmlyb25tZW50cy4gPC9wPlxuICAgICAgICAgICAgPHA+PGI+Uk5oYWxlIChCZW5qYW1pbiBXaW5rZWxqYW5uKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5STmhhbGUgZW1waGFzaXplZCB0aGUgbmVlZCBmb3IgYSBiYWxhbmNlIGJldHdlZW4gdGVjaG5pY2FsIGV4cGVydGlzZSBhbmQgYnVzaW5lc3MgYWN1bWVuIHdoZW4gYnVpbGRpbmcgdGhlaXIgdGVhbS4gVGhleSBwcmlvcml0aXplZCBvcGVyYXRpb25hbCBhbGlnbm1lbnQgYW5kIHJlY3J1aXRlZCBpbmRpdmlkdWFscyBza2lsbGVkIGluIGJpb2xvZ2ljcyBtYW51ZmFjdHVyaW5nLCBpbiB2aXRybyBhbmQgaW4gdml2byBwZXJmb3JtYW5jZSwgYW5kIGJ1c2luZXNzIGRldmVsb3BtZW50LiBUaGV5IGFsc28gYnJvdWdodCBpbiBleHRlcm5hbCBleHBlcnRzLCBzdWNoIGFzIGEgcGF0ZW50IGF0dG9ybmV5LCByZWd1bGF0b3J5IGFkdmlzb3JzLCBhbmQgcHJlY2xpbmljYWwgc3BlY2lhbGlzdHMuIE1hbnkgb2YgdGhlc2UgY29ubmVjdGlvbnMgY2FtZSBmcm9tIG5ldHdvcmtpbmcgYW5kIHN0YXJ0dXAgYm9vdGNhbXBzLCB3aGljaCBwcm92aWRlZCB2YWx1YWJsZSByZXNvdXJjZXMgZm9yIGJ1aWxkaW5nIGEgd2VsbC1yb3VuZGVkIHRlYW0uIDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiTGVhcm5pbmdzIGFuZCBJbXBsaWNhdGlvbnMgZm9yIG91ciBwcm9qZWN0IFwiLz5cbiAgICAgICAgICAgIDxwPkJvdGggZm91bmRlcnMgc3RyZXNzZWQgdGhlIGltcG9ydGFuY2Ugb2YgY29tYmluaW5nIHRlY2huaWNhbCBleHBlcnRpc2Ugd2l0aCBidXNpbmVzcyBhY3VtZW4uIEF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LCB3ZSBzaG91bGQgZm9jdXMgb24gYnVpbGRpbmcgYSBkaXZlcnNlIHRlYW0gdGhhdCBpbmNsdWRlcyBub3Qgb25seSBzY2llbnRpc3RzIHNraWxsZWQgaW4gUk5BIHRoZXJhcGV1dGljcyBhbmQgZ2VuZSBlZGl0aW5nIGJ1dCBhbHNvIGluZGl2aWR1YWxzIHdpdGggZXhwZXJpZW5jZSBpbiBidXNpbmVzcyBkZXZlbG9wbWVudCBhbmQgcmVndWxhdG9yeSBhZmZhaXJzLiBBIGNvbmNyZXRlIG5leHQgc3RlcCBjb3VsZCBiZSByZWFjaGluZyBvdXQgdG8gdGhlIHVuaXZlcnNpdHlcdTIwMTlzIGJ1c2luZXNzIGFuZCBsZWdhbCBmYWN1bHRpZXMgdG8gYnJpbmcgaW4gZXhwZXJ0cyB3aG8gY2FuIGhlbHAgdXMgbmF2aWdhdGUgY29tbWVyY2lhbGl6YXRpb24gYW5kIHJlZ3VsYXRvcnkgcHJvY2Vzc2VzLiA8L3A+XG5cblxuICAgICAgICAgICAgPEg0IHRleHQ9XCJRdWVzdGlvbiA2OiBSZWd1bGF0b3J5IENoYWxsZW5nZXMgXCIvPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJXaGF0IHdlIGFza2VkIHRoZSBGb3VuZGVyc1wiLz5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImFzay1wXCI+V2hhdCByZWd1bGF0b3J5IGNoYWxsZW5nZXMgZGlkIHlvdSBmYWNlIGluIHlvdXIgc3RhcnQtdXAgcHJvY2VzcywgYW5kIGhvdyBkaWQgeW91IG92ZXJjb21lIHRoZW0/IFdoYXQgYWR2aWNlIHdvdWxkIHlvdSBnaXZlIHRvIG90aGVyIHN0YXJ0LXVwcyBpbiB0ZXJtcyBvZiBjb21wbGlhbmNlIHdpdGggcmVndWxhdGlvbnMgYW5kIGxhd3M/IDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB0aGUgRm91bmRlcnMgaGFkIHRvIHNheSBcIi8+XG4gICAgICAgICAgICA8cD48Yj5QbGFzbWlkRmFjdG9yeSAoTWFydGluIFNjaGxlZWYpPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlBsYXNtaWRGYWN0b3J5IGVtcGhhc2l6ZWQgdGhlIHN0cmljdCByZWd1bGF0aW9ucyBpbiB0aGUgYmlvdGVjaCBhbmQgcGhhcm1hY2V1dGljYWwgaW5kdXN0cmllcywgcGFydGljdWxhcmx5IGluIHRoZSBmaWVsZCBvZiBnZW5ldGljIGVuZ2luZWVyaW5nLiBUaGV5IGhpZ2hsaWdodGVkIHRoZSBpbXBvcnRhbmNlIG9mIGFkaGVyaW5nIHRvIGxhd3MgZnJvbSB0aGUgc3RhcnQuIFNpbmNlIHRoZSBmb3VuZGVycyBkaWRuXHUyMDE5dCBoYXZlIGV4dGVuc2l2ZSBleHBlcnRpc2UgaW4gcmVndWxhdG9yeSBjb21wbGlhbmNlLCB0aGV5IG92ZXJjYW1lIHRoaXMgY2hhbGxlbmdlIGJ5IGNvbGxhYm9yYXRpbmcgd2l0aCBpbnN0aXR1dGlvbnMgbGlrZSB1bml2ZXJzaXRpZXMgYW5kIHJlc2VhcmNoIGNlbnRlcnMsIHdoaWNoIHByb3ZpZGVkIHRoZSBuZWNlc3NhcnkgcmVndWxhdG9yeSBrbm93bGVkZ2UuPC9wPlxuICAgICAgICAgICAgPHA+PGI+Uk5oYWxlIChCZW5qYW1pbiBXaW5rZWxqYW5uKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5STmhhbGUgZmFjZWQgc2lnbmlmaWNhbnQgcmVndWxhdG9yeSBjaGFsbGVuZ2VzLCBwYXJ0aWN1bGFybHkgaW4gbWVldGluZyB0aGUgc3RyaWN0IHJlcXVpcmVtZW50cyBmb3IgY2xpbmljYWwgdGVzdGluZy4gVGhleSBuZWVkZWQgdG8gY29uZHVjdCBwcmVjbGluaWNhbCBzdHVkaWVzIHVuZGVyIEdvb2QgTGFib3JhdG9yeSBQcmFjdGljZSAoR0xQKSBjb25kaXRpb25zIGFuZCBlbnN1cmUgdGhlaXIgcHJvZHVjdCB3YXMgbWFudWZhY3R1cmVkIHVuZGVyIEdvb2QgTWFudWZhY3R1cmluZyBQcmFjdGljZSAoR01QKS4gVG8gbmF2aWdhdGUgdGhlc2UgcmVndWxhdGlvbnMsIHRoZXkgd29ya2VkIHdpdGggZXh0ZXJuYWwgYWR2aXNvcnMgYW5kIGNvbnRyYWN0IHJlc2VhcmNoL21hbnVmYWN0dXJpbmcgb3JnYW5pemF0aW9ucyAoQ1JPcyBhbmQgQ01PcykuIFRoZXkgcmVjb21tZW5kZWQgaW50ZWdyYXRpbmcgcmVndWxhdG9yeSBjb25zaWRlcmF0aW9ucyBlYXJseSBpbiB0aGUgZGV2ZWxvcG1lbnQgcHJvY2VzcyBhbmQgbWFpbnRhaW5pbmcgY2xvc2UgY29udGFjdCB3aXRoIHJlZ3VsYXRvcnkgZXhwZXJ0cyBhbmQgYXV0aG9yaXRpZXMgdG8gcHJldmVudCBkZWxheXMgYW5kIGVuc3VyZSBjb21wbGlhbmNlLjwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiTGVhcm5pbmdzIGFuZCBJbXBsaWNhdGlvbnMgZm9yIG91ciBwcm9qZWN0IFwiLz5cbiAgICAgICAgICAgIDxwPkJvdGggZm91bmRlcnMgaGlnaGxpZ2h0ZWQgdGhlIGNvbXBsZXhpdHkgb2YgcmVndWxhdG9yeSBjb21wbGlhbmNlLCBwYXJ0aWN1bGFybHkgaW4gYmlvdGVjaC4gRm9yIG91ciBwcm9qZWN0LCB3ZSBuZWVkIHRvIGludGVncmF0ZSByZWd1bGF0b3J5IGNvbnNpZGVyYXRpb25zIGVhcmx5LCBlc3BlY2lhbGx5IHJlZ2FyZGluZyBjbGluaWNhbCB0cmlhbHMgYW5kIHNhZmV0eSBzdGFuZGFyZHMgZm9yIGdlbmUgdGhlcmFwaWVzLiBBIGNvbmNyZXRlIHN0ZXAgd291bGQgYmUgdG8gY29uc3VsdCB3aXRoIGV4cGVydHMgaW4gR29vZCBNYW51ZmFjdHVyaW5nIFByYWN0aWNlIChHTVApIGFuZCBHb29kIExhYm9yYXRvcnkgUHJhY3RpY2UgKEdMUCksIGVuc3VyaW5nIHRoYXQgb3VyIGxpcGlkIG5hbm9wYXJ0aWNsZSBzeXN0ZW0gbWVldHMgdGhlIG5lY2Vzc2FyeSByZWd1bGF0aW9ucy4gQWRkaXRpb25hbGx5LCBlYXJseSBlbmdhZ2VtZW50IHdpdGggcmVndWxhdG9yeSBib2RpZXMgY291bGQgc21vb3RoIHRoZSBwYXRoIHRvIGV2ZW50dWFsIGNsaW5pY2FsIHRyaWFscy4gPC9wPlxuXG4gICAgICAgICAgICA8SDQgdGV4dD1cIlF1ZXN0aW9uIDc6IE1hcmtldCBFbnRyeSBhbmQgTmV0d29ya2luZyBcIi8+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIldoYXQgd2UgYXNrZWQgdGhlIEZvdW5kZXJzXCIvPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiYXNrLXBcIj5XaGF0IHJvbGUgZGlkIG5ldHdvcmtzIGFuZCBwYXJ0bmVyc2hpcHMgcGxheSB3aGVuIHlvdSBlbnRlcmVkIHRoZSBtYXJrZXQ/IEhvdyBkaWQgeW91IGFjcXVpcmUgeW91ciBmaXJzdCBjdXN0b21lcnMgb3IgcGFydG5lcnMsIGFuZCB3aGljaCBzdHJhdGVnaWVzIHdlcmUgcGFydGljdWxhcmx5IHN1Y2Nlc3NmdWw/IDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB0aGUgRm91bmRlcnMgaGFkIHRvIHNheSBcIi8+XG4gICAgICAgICAgICA8cD48Yj5QbGFzbWlkRmFjdG9yeSAoTWFydGluIFNjaGxlZWYpPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlBsYXNtaWRGYWN0b3J5J3Mgc3RyYXRlZ3kgd2FzIHNpbXBsZTogZGVtb25zdHJhdGUgc2NpZW50aWZpYyBleHBlcnRpc2UgdG8gYnVpbGQgdHJ1c3QuIFRoaXMgYXBwcm9hY2ggaGVscGVkIHRoZW0gZ2FpbiBjcmVkaWJpbGl0eSBhbmQgYXR0cmFjdCBjdXN0b21lcnMuIFRoZXkgZW1waGFzaXplZCBwYXRpZW5jZSwgbm90aW5nIHRoYXQgc3VjY2VzcyBjYW4gdGFrZSBhIGxvbmcgdGltZVx1MjAxNHNvbWV0aW1lcyB1cCB0byAxMCB5ZWFyc1x1MjAxNGJ1dCBwZXJzZXZlcmFuY2UgYW5kIG1haW50YWluaW5nIHN0cm9uZyByZWxhdGlvbnNoaXBzIHdpdGggcGFydG5lcnMgYW5kIGN1c3RvbWVycyB3ZXJlIGtleSB0byB0aGVpciBzdWNjZXNzLjwvcD5cbiAgICAgICAgICAgIDxwPjxiPlJOaGFsZSAoQmVuamFtaW4gV2lua2VsamFubik8L2I+PC9wPlxuICAgICAgICAgICAgPHA+TmV0d29ya3MgYW5kIHBhcnRuZXJzaGlwcyB3ZXJlIGNyaXRpY2FsIGZvciBSTmhhbGUncyBtYXJrZXQgZW50cnkuIFRoZXkgbGV2ZXJhZ2VkIGNvbm5lY3Rpb25zIGZyb20gdGhlaXIgdW5pdmVyc2l0eSBhZmZpbGlhdGlvbnMsIHN0YXJ0dXAgYm9vdGNhbXBzLCBhbmQgY29uZmVyZW5jZXMgdG8gYnVpbGQgcmVsYXRpb25zaGlwcyB3aXRoIGluZHVzdHJ5IGV4cGVydHMuIFRoZWlyIGZpcnN0IGN1c3RvbWVycyBhbmQgcGFydG5lcnMgd2VyZSBhY3F1aXJlZCB0aHJvdWdoIHRoZXNlIG5ldHdvcmtzLiBQYXJ0aWNpcGF0aW5nIGluIHN0YXJ0dXAgYWNjZWxlcmF0b3JzIGFuZCBwaXRjaCBldmVudHMgYWxsb3dlZCB0aGVtIHRvIHNob3djYXNlIHRoZWlyIGJ1c2luZXNzIG1vZGVsIGFuZCB0ZWNobm9sb2d5LCB3aGljaCBoZWxwZWQgc2VjdXJlIHBhcnRuZXJzaGlwcyBhbmQgYnVpbGQgY3JlZGliaWxpdHkgaW4gdGhlIFJOQSB0aGVyYXBldXRpY3MgZmllbGQuPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJMZWFybmluZ3MgYW5kIEltcGxpY2F0aW9ucyBmb3Igb3VyIHByb2plY3QgXCIvPlxuICAgICAgICAgICAgPHA+Qm90aCBmb3VuZGVycyBzdHJlc3NlZCB0aGUgaW1wb3J0YW5jZSBvZiBidWlsZGluZyBuZXR3b3JrcyBhbmQgcGFydG5lcnNoaXBzIGVhcmx5LiBGb3Igb3VyIHByb2plY3QsIHdlIHNob3VsZCBmb2N1cyBvbiBkZXZlbG9waW5nIHJlbGF0aW9uc2hpcHMgd2l0aCBpbmR1c3RyeSBleHBlcnRzIGFuZCBwb3RlbnRpYWwgcGFydG5lcnMgdGhyb3VnaCBjb25mZXJlbmNlcywgcGl0Y2ggZXZlbnRzLCBhbmQgYmlvdGVjaCBzdGFydHVwIHByb2dyYW1zLiBBIGNvbmNyZXRlIG5leHQgc3RlcCBjb3VsZCBiZSB0byBwYXJ0aWNpcGF0ZSBpbiBuZXR3b3JraW5nIGV2ZW50cyB3aGVyZSB3ZSBjYW4gcHJlc2VudCBvdXIgUk5BLWJhc2VkIHRoZXJhcHkgYW5kIGdhaW4gdmFsdWFibGUgY29udGFjdHMgaW4gdGhlIHBoYXJtYWNldXRpY2FsIGluZHVzdHJ5LiBUaGlzIGNvdWxkIGFsc28gaGVscCB1cyBpZGVudGlmeSBlYXJseSBjdXN0b21lcnMgb3Igc3RyYXRlZ2ljIHBhcnRuZXJzIHRvIGFjY2VsZXJhdGUgbWFya2V0IGVudHJ5LiA8L3A+XG5cblxuICAgICAgICAgICAgPEg0IHRleHQ9XCJRdWVzdGlvbiA4OiBJbnRlbGxlY3R1YWwgUHJvcGVydHkgKElQKSBcIi8+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIldoYXQgd2UgYXNrZWQgdGhlIEZvdW5kZXJzXCIvPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwiYXNrLXBcIj5Ib3cgZGlkIHlvdSBzZWN1cmUgeW91ciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzPyBXaGF0IHN0ZXBzIHdlcmUgbmVjZXNzYXJ5IHRvIG9idGFpbiBwYXRlbnRzIG9yIGxpY2Vuc2VzPyA8L3A+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIldoYXQgdGhlIEZvdW5kZXJzIGhhZCB0byBzYXkgXCIvPlxuICAgICAgICAgICAgPHA+PGI+UGxhc21pZEZhY3RvcnkgKE1hcnRpbiBTY2hsZWVmKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5QbGFzbWlkRmFjdG9yeSBoaWdobGlnaHRlZCB0aGUgaW1wb3J0YW5jZSBvZiBrZWVwaW5nIGlkZWFzIGNvbmZpZGVudGlhbCBpbiB0aGUgZWFybHkgc3RhZ2VzIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gdGFraW5nIHRoZW0uIFRoZXkgZGlzY3Vzc2VkIHRocmVlIHN0cmF0ZWdpZXM6IHJlY29yZGluZyB0aGUgaWRlYSBhcyBhIGRlZWQgd2l0aCBhIG5vdGFyeSwgcmVnaXN0ZXJpbmcgaXQgYXMgYSB1dGlsaXR5IG1vZGVsIGZvciBsb3dlci1jb3N0IHByb3RlY3Rpb24sIGFuZCBldmVudHVhbGx5IHB1cnN1aW5nIGEgZnVsbCBwYXRlbnQsIGluaXRpYWxseSBmb2N1c2luZyBvbiBHZXJtYW55IGFuZCBwb3NzaWJseSBhIGZldyBvdGhlciBjb3VudHJpZXMuIEluIGxpY2Vuc2luZyBhZ3JlZW1lbnRzLCB0aGV5IGVuc3VyZWQgdGhhdCBmZWVzIHdlcmUgb25seSBkdWUgdG8gdGhlIHRlY2hub2xvZ3kgb3duZXIgb25jZSB0aGUgc3RhcnR1cCBlYXJuZWQgbW9uZXkgZnJvbSBpdC48L3A+XG4gICAgICAgICAgICA8cD48Yj5STmhhbGUgKEJlbmphbWluIFdpbmtlbGphbm4pPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlJOaGFsZSBzZWN1cmVkIHRoZWlyIGludGVsbGVjdHVhbCBwcm9wZXJ0eSB0aHJvdWdoIHVuaXZlcnNpdHkgbGljZW5zaW5nIGFuZCBzdHJhdGVnaWMgcGF0ZW50IGZpbGluZ3MuIEVhcmx5IHdvcmsgd2FzIHBhdGVudGVkIGJ5IHRoZSB1bml2ZXJzaXR5LCBhbmQgdGhleSBzZWN1cmVkIGV4Y2x1c2l2ZSByaWdodHMgdG8gdXNlIHRoZSB0ZWNobm9sb2d5IGZvciBjb21tZXJjaWFsaXphdGlvbiB0aHJvdWdoIGEgbGljZW5zaW5nIGFncmVlbWVudC4gRm9yIGxhdGVyIGRldmVsb3BtZW50cywgdGhleSB0b29rIGEgc3RyYXRlZ2ljIGFwcHJvYWNoLCBmaWxpbmcgcHJpb3JpdHkgcGF0ZW50cyB0byBwcm90ZWN0IG5vdmVsdHkgYW5kIGV4cGFuZGluZyBwYXRlbnQgY2xhaW1zIHdpdGhpbiB0aGUgMTItbW9udGggd2luZG93IHRvIGNvdmVyIGNvbW1lcmNpYWxseSByZWxldmFudCBhc3BlY3RzLiBUaGV5IGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgbmVnb3RpYXRpbmcgSVAgYWdyZWVtZW50cyBlYXJseSwgZXNwZWNpYWxseSB3aGVuIHdvcmtpbmcgd2l0aCB1bml2ZXJzaXRpZXMsIGFuZCBwbGFubmluZyBhIHJvYnVzdCBwYXRlbnQgc3RyYXRlZ3kuPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJMZWFybmluZ3MgYW5kIEltcGxpY2F0aW9ucyBmb3Igb3VyIHByb2plY3QgXCIvPlxuICAgICAgICAgICAgPHA+Qm90aCBmb3VuZGVycyBlbXBoYXNpemVkIHRoZSBpbXBvcnRhbmNlIG9mIHNlY3VyaW5nIElQIGVhcmx5LCBlc3BlY2lhbGx5IHdoZW4gd29ya2luZyB3aXRoIHVuaXZlcnNpdGllcyBvciBleHRlcm5hbCBwYXJ0bmVycy4gRm9yIG91ciBwcm9qZWN0LCB3ZSBzaG91bGQgZGV2ZWxvcCBhIGNsZWFyIHBhdGVudCBzdHJhdGVneSBmb3Igb3VyIFJOQS1iYXNlZCBjeXN0aWMgZmlicm9zaXMgdGhlcmFweS4gQSBjb25jcmV0ZSBuZXh0IHN0ZXAgd291bGQgYmUgdG8gY29uc3VsdCB3aXRoIElQIGV4cGVydHMgdG8gZW5zdXJlIG91ciB0ZWNobm9sb2d5IGlzIHdlbGwgcHJvdGVjdGVkLiBOZWdvdGlhdGluZyBlYXJseSBJUCBhZ3JlZW1lbnRzIHdpdGggdGhlIHVuaXZlcnNpdHkgb3IgZXh0ZXJuYWwgY29sbGFib3JhdG9ycyBpcyBjcnVjaWFsIHRvIHNhZmVndWFyZCBvdXIgaW5ub3ZhdGlvbnMgd2hpbGUgYWxsb3dpbmcgcm9vbSBmb3IgZnV0dXJlIGRldmVsb3BtZW50cy4gPC9wPlxuXG4gICAgICAgICAgICA8SDQgdGV4dD1cIlF1ZXN0aW9uIDk6IFBpdm90aW5nIFwiLz5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB3ZSBhc2tlZCB0aGUgRm91bmRlcnNcIi8+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJhc2stcFwiPldlcmUgdGhlcmUgbW9tZW50cyB3aGVuIHlvdSBoYWQgdG8gYWRhcHQgb3IgY29tcGxldGVseSBjaGFuZ2UgeW91ciBvcmlnaW5hbCBpZGVhPyBXaGF0IHdlcmUgdGhlIHRyaWdnZXJzLCBhbmQgaG93IGRpZCB5b3UgZGVhbCB3aXRoIHRoZW0/IDwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiV2hhdCB0aGUgRm91bmRlcnMgaGFkIHRvIHNheSBcIi8+XG4gICAgICAgICAgICA8cD48Yj5QbGFzbWlkRmFjdG9yeSAoTWFydGluIFNjaGxlZWYpPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlBsYXNtaWRGYWN0b3J5IGRpZCBub3QgZXhwZXJpZW5jZSBhIG1ham9yIHBpdm90IGluIHRoZWlyIGJ1c2luZXNzIG1vZGVsIGJ1dCBlbXBoYXNpemVkIHRoZSBpbXBvcnRhbmNlIG9mIGNvbnN0YW50IGRpYWxvZ3VlIHdpdGggY3VzdG9tZXJzLiBJbiBzb21lIGNhc2VzLCBjdXN0b21lcnMgZGlkIG5vdCBpbml0aWFsbHkgYWNjZXB0IHRoZWlyIGlkZWFzLCBidXQgcmF0aGVyIHRoYW4gZ2l2aW5nIHVwLCB0aGV5IHJlbWFpbmVkIHBhdGllbnQgYW5kIHJldmlzaXRlZCB0aGUgZGlzY3Vzc2lvbiB3aXRoIHJlZmVyZW5jZXMgZnJvbSBvdGhlciBzYXRpc2ZpZWQgY2xpZW50cyB0byBidWlsZCBjcmVkaWJpbGl0eS4gPC9wPlxuICAgICAgICAgICAgPHA+PGI+Uk5oYWxlIChCZW5qYW1pbiBXaW5rZWxqYW5uKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5STmhhbGUgaGFkIHRvIGFkYXB0IHRoZWlyIG9yaWdpbmFsIGlkZWEgc2V2ZXJhbCB0aW1lcy4gT25lIHNpZ25pZmljYW50IHBpdm90IHdhcyBzaGlmdGluZyBmcm9tIHByb3ZpZGluZyBhIHNlcnZpY2UgZm9yIGxpcGlkIG5hbm9wYXJ0aWNsZSBmb3JtdWxhdGlvbiB0byBkZXZlbG9waW5nIHRoZWlyIG93biBwcm9wcmlldGFyeSB0aGVyYXBldXRpYyBwcm9kdWN0IGZvciBzZXZlcmUgYXN0aG1hLiBGZWVkYmFjayBmcm9tIGludmVzdG9ycyBhbmQgcGFydGljaXBhdGlvbiBpbiBzdGFydHVwIGJvb3RjYW1wcyByZXZlYWxlZCBhIHN0cm9uZ2VyIG1hcmtldCBkZW1hbmQgZm9yIGEgcHJvZHVjdC1kcml2ZW4gYXBwcm9hY2ggd2l0aCBhIGNsZWFyIGV4aXQgc3RyYXRlZ3kuIFRoaXMgbGVkIHRoZW0gdG8gcmV2aXNlIHRoZWlyIGJ1c2luZXNzIG1vZGVsIHdoaWxlIHN0aWxsIGxldmVyYWdpbmcgdGhlaXIgY29yZSB0ZWNobm9sb2d5LjwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiTGVhcm5pbmdzIGFuZCBJbXBsaWNhdGlvbnMgZm9yIG91ciBwcm9qZWN0IFwiLz5cbiAgICAgICAgICAgIDxwPkJvdGggZm91bmRlcnMgZGlzY3Vzc2VkIHRoZSBpbXBvcnRhbmNlIG9mIHJlbWFpbmluZyBhZGFwdGFibGUgdG8gZmVlZGJhY2sgYW5kIG1hcmtldCBuZWVkcy4gRm9yIG91ciBwcm9qZWN0LCB3ZSBtdXN0IGJlIG9wZW4gdG8gbWFraW5nIHN0cmF0ZWdpYyBhZGp1c3RtZW50cyBiYXNlZCBvbiB0aGUgZmVlZGJhY2sgd2UgcmVjZWl2ZSBmcm9tIGNsaW5pY2FsIHRyaWFscywgaW52ZXN0b3JzLCBvciBwYXJ0bmVycy4gQSBjb25jcmV0ZSBuZXh0IHN0ZXAgd291bGQgYmUgdG8gZXN0YWJsaXNoIGEgZmxleGlibGUgYnVzaW5lc3MgcGxhbiB0aGF0IGFsbG93cyBmb3IgcGl2b3RzLCBzdWNoIGFzIGZvY3VzaW5nIG9uIHNwZWNpZmljIHN1YnR5cGVzIG9mIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cyBvciBhZGp1c3Rpbmcgb3VyIGxpcGlkIG5hbm9wYXJ0aWNsZSBkZWxpdmVyeSBzeXN0ZW0gdG8gbWVldCBldm9sdmluZyB0ZWNobm9sb2dpY2FsIG9yIHJlZ3VsYXRvcnkgcmVxdWlyZW1lbnRzLiA8L3A+XG5cbiAgICAgICAgICAgIDxINCB0ZXh0PVwiUXVlc3Rpb24gMTA6IExvbmctdGVybSBWaXNpb24gXCIvPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJXaGF0IHdlIGFza2VkIHRoZSBGb3VuZGVyc1wiLz5cbiAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cImFzay1wXCI+RGlkIHlvdSBoYXZlIHNvbWV0aGluZyBsaWtlIGEgbG9uZy10ZXJtIHZpc2lvbiBmb3IgeW91ciBjb21wYW55IGFuZCwgaWYgc28sIGhvdyBkaWQgeW91IHJlY29uY2lsZSB0aGlzIHZpc2lvbiB3aXRoIHRoZSBzaG9ydC10ZXJtIGdvYWxzPyA8L3A+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIldoYXQgdGhlIEZvdW5kZXJzIGhhZCB0byBzYXkgXCIvPlxuICAgICAgICAgICAgPHA+PGI+UGxhc21pZEZhY3RvcnkgKE1hcnRpbiBTY2hsZWVmKTwvYj48L3A+XG4gICAgICAgICAgICA8cD5QbGFzbWlkRmFjdG9yeSBoYWQgYSBsb25nLXRlcm0gdmlzaW9uIGZyb20gdGhlIGJlZ2lubmluZywgd2hpY2ggd2FzIHRvIHByb2R1Y2UgcGhhcm1hY2V1dGljYWwtZ3JhZGUgcGxhc21pZCBETkEgKEdNUCkuIEhvd2V2ZXIsIHRoZSBwcm9jZXNzIG9mIGJ1aWxkaW5nIGFuZCBjZXJ0aWZ5aW5nIGEgR01QIGZhY2lsaXR5IHdhcyBjb3N0bHkgYW5kIHRpbWUtY29uc3VtaW5nLiBUbyBtYW5hZ2Ugc2hvcnQtdGVybSBnb2FscywgdGhleSBkZXZlbG9wZWQgYW4gaW50ZXJtZWRpYXRlIHF1YWxpdHkgc3RhbmRhcmQgY2FsbGVkIFx1MjAxQ2hpZ2ggcXVhbGl0eSxcdTIwMUQgd2hpY2ggYWxsb3dlZCB0aGVtIHRvIHN1cHBseSBzdGFydGluZyBtYXRlcmlhbHMgZm9yIHBoYXJtYWNldXRpY2FsIHZlY3RvciBwcm9kdWN0aW9uLiBJdCB0b29rIHRoZW0gMjUgeWVhcnMgdG8gb3BlbiB0aGVpciBmaXJzdCBHTVAgZmFjaWxpdHksIGRlbW9uc3RyYXRpbmcgdGhlaXIgZm9jdXMgb24gbG9uZy10ZXJtIHBsYW5uaW5nIHdoaWxlIGJhbGFuY2luZyBpbW1lZGlhdGUgbWlsZXN0b25lcy48L3A+XG4gICAgICAgICAgICA8cD48Yj5STmhhbGUgKEJlbmphbWluIFdpbmtlbGphbm4pPC9iPjwvcD5cbiAgICAgICAgICAgIDxwPlJOaGFsZVx1MjAxOXMgbG9uZy10ZXJtIHZpc2lvbiB3YXMgdG8gZGV2ZWxvcCBSTkEtYmFzZWQgdGhlcmFwZXV0aWNzLCBwYXJ0aWN1bGFybHkgZm9yIHJlc3BpcmF0b3J5IGRpc2Vhc2VzLiBUaGV5IHJlY29uY2lsZWQgdGhpcyB2aXNpb24gd2l0aCBzaG9ydC10ZXJtIGdvYWxzIGJ5IGJyZWFraW5nIHRoZWlyIHZpc2lvbiBpbnRvIGFjdGlvbmFibGUgbWlsZXN0b25lcywgc3VjaCBhcyBkZXZlbG9waW5nIGEgbGVhZCBjYW5kaWRhdGUgZm9yIHNldmVyZSBhc3RobWEuIEFsb25nc2lkZSB0aGVpciBjb3JlIHRoZXJhcGV1dGljIGZvY3VzLCB0aGV5IG9mZmVyZWQgc21hbGwtc2NhbGUgbWFudWZhY3R1cmluZyBzZXJ2aWNlcyB0byBnZW5lcmF0ZSByZXZlbnVlIGFuZCBidWlsZCBjcmVkaWJpbGl0eS4gVGhpcyBkdWFsIGFwcHJvYWNoIGhlbHBlZCB0aGVtIG1haW50YWluIG1vbWVudHVtIHdoaWxlIHdvcmtpbmcgdG93YXJkcyB0aGVpciBsYXJnZXIgZ29hbCBvZiBlc3RhYmxpc2hpbmcgYSBwaXBlbGluZSBvZiBSTkEgdGhlcmFwZXV0aWNzLiA8L3A+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIkxlYXJuaW5ncyBhbmQgSW1wbGljYXRpb25zIGZvciBvdXIgcHJvamVjdCBcIi8+XG4gICAgICAgICAgICA8cD5Cb3RoIGZvdW5kZXJzIGhpZ2hsaWdodGVkIHRoZSBpbXBvcnRhbmNlIG9mIGFsaWduaW5nIHNob3J0LXRlcm0gZ29hbHMgd2l0aCBhIGxvbmctdGVybSB2aXNpb24uIEZvciBvdXIgcHJvamVjdCwgd2UgbXVzdCBlbnN1cmUgdGhhdCB3aGlsZSBmb2N1c2luZyBvbiBpbW1lZGlhdGUgbWlsZXN0b25lcywgc3VjaCBhcyBkZW1vbnN0cmF0aW5nIHRoZSBlZmZpY2FjeSBvZiBvdXIgUk5BLWJhc2VkIHRoZXJhcHksIHdlIG1haW50YWluIHNpZ2h0IG9mIG91ciBicm9hZGVyIGdvYWw6IHJldm9sdXRpb25pemluZyBjeXN0aWMgZmlicm9zaXMgdHJlYXRtZW50LiBBIGNvbmNyZXRlIG5leHQgc3RlcCB3b3VsZCBiZSB0byBicmVhayBkb3duIG91ciBsb25nLXRlcm0gdmlzaW9uIGludG8gYWN0aW9uYWJsZSBzaG9ydC10ZXJtIGdvYWxzLCBzdWNoIGFzIG9wdGltaXppbmcgb3VyIGRlbGl2ZXJ5IHN5c3RlbSBhbmQgc2VjdXJpbmcgcmVndWxhdG9yeSBhcHByb3ZhbHMsIHdoaWxlIGJ1aWxkaW5nIGEgc3VzdGFpbmFibGUgcGlwZWxpbmUgZm9yIGZ1dHVyZSBSTkEgdGhlcmFwZXV0aWNzLiA8L3A+ICAgXG4gICAgICAgIDwvZGl2PlxuXG5cblxuICAgICAgICA8ZGl2IGlkPVwiZW50LW5leHRcIiBjbGFzc05hbWU9XCJlbnQtaW50ZXJ2aWV3XCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgPEg0IGlkPVwiZW50LWNvdXJzZS1oZWFkaW5nXCIgdGV4dD1cIkdYUCBpbiB0aGUgY29udGV4dCBvZiBjbGluaWNhbCB0cmlhbHMgXCIvPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJSb2xlIG9mIEdYUCBpbiBTY2FsaW5nIGFuZCBQcm9vZi1vZi1Db25jZXB0XCIvPlxuICAgICAgICAgICAgPHA+VG8gdGFrZSBvdXIgUk5BLWJhc2VkIGdlbmUgdGhlcmFweSBmb3IgY3lzdGljIGZpYnJvc2lzIGNsb3NlciB0byBjbGluaWNhbCB0cmlhbHMgYW5kIHBvdGVudGlhbCBtYXJrZXQgZW50cnksIGludmVzdG9ycyBhbmQgcmVndWxhdG9yeSBhdXRob3JpdGllcyBuZWVkIFxuICAgICAgICAgICAgICAgIGNvbmZpZGVuY2UgaW4gdGhlIHF1YWxpdHkgYW5kIHJlbGlhYmlsaXR5IG9mIG91ciB3b3JrLiBXaGlsZSB0aGUgY3VycmVudCBpR0VNIHByb29mLW9mLWNvbmNlcHQgZGVtb25zdHJhdGVzIGZlYXNpYmlsaXR5LCBpbnZlc3RvcnMgdHlwaWNhbGx5IGV4cGVjdCBhIFxuICAgICAgICAgICAgICAgIG1vcmUgc29waGlzdGljYXRlZCB2YWxpZGF0aW9uLCBlc3BlY2lhbGx5IGluIDxiPkluLVZpdm8gbW9kZWxzPC9iPi4gR1hQIHdvdWxkIGJlIGZ1bmRhbWVudGFsIGluIGFjaGlldmluZyB0aGlzIG5leHQgc3RlcDogPC9wPlxuICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkdvb2QgTGFib3JhdG9yeSBQcmFjdGljZSAoR0xQKTwvYj4gd291bGQgZ3VpZGUgdGhlIGV4cGVyaW1lbnRhbCBzZXR1cCBpbiBhbmltYWwgbW9kZWxzLCBlbnN1cmluZyB0aGF0IHRoZSByZXN1bHRzIHdlIGdlbmVyYXRlIGFyZSByZXByb2R1Y2libGUgYW5kIG1lZXQgcmVndWxhdG9yeSBzdGFuZGFyZHMgZm9yIGRhdGEgaW50ZWdyaXR5IGFuZCBzYWZldHkuIFRoaXMgaXMgY3JpdGljYWwgZm9yIHByb2dyZXNzaW5nIHRvIHByZWNsaW5pY2FsIHRyaWFscy4gPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkdvb2QgTWFudWZhY3R1cmluZyBQcmFjdGljZSAoR01QKSA8L2I+IHdvdWxkIHBsYXkgYSBrZXkgcm9sZSBhcyB3ZSBsb29rIHRvIHNjYWxlIG91ciBwcm9kdWN0aW9uLiBOb3Qgb25seSB3b3VsZCB3ZSBuZWVkIHRvIHByb2R1Y2Ugb3VyIFJOQSBjb25zdHJ1Y3RzIGNvbnNpc3RlbnRseSwgYnV0IHdlIHdvdWxkIGFsc28gaGF2ZSB0byBkZW1vbnN0cmF0ZSB0aGF0IG91ciBtYW51ZmFjdHVyaW5nIHByb2Nlc3MgY2FuIGJlIHNjYWxlZCB3aGlsZSBtYWludGFpbmluZyBxdWFsaXR5IGFuZCBzYWZldHksIHdoaWNoIGlzIGVzc2VudGlhbCBmb3IgYXR0cmFjdGluZyBpbnZlc3RtZW50LiA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIkluc2lnaHRzIGZyb20gR1hQIFRyYWluaW5nXCIvPlxuICAgICAgICAgICAgPHA+T25lIG9mIG91ciB0ZWFtIG1lbWJlcnMgcmVjZW50bHkgY29tcGxldGVkIGFuIGludGVuc2l2ZSBHWFAgY291cnNlLCB3aGljaCByZWluZm9yY2VkIHRoZSBpbXBvcnRhbmNlIG9mIHN0YW5kYXJkIG9wZXJhdGluZyBwcm9jZWR1cmVzIChTT1BzKSBhbmQgcmlnb3JvdXMgZG9jdW1lbnRhdGlvbiB0aHJvdWdob3V0IHRoZSBkZXZlbG9wbWVudCBwcm9jZXNzXHUyMDBCKEhQX0dYUCBjb3Vyc2UpLiBUaGlzIHRyYWluaW5nIGhhcyBwcmVwYXJlZCB1cyB0byBpbXBsZW1lbnQgcHJhY3RpY2VzIHN1Y2ggYXMgRmFpbHVyZSBNb2RlIGFuZCBFZmZlY3RzIEFuYWx5c2lzIChGTUVBKSwgYSByaXNrIGFzc2Vzc21lbnQgdGVjaG5pcXVlIHRoYXQgd2lsbCBoZWxwIGlkZW50aWZ5IHBvdGVudGlhbCBpc3N1ZXMgZWFybHkgaW4gdGhlIGRldmVsb3BtZW50IHBoYXNlLCBlbnN1cmluZyB3ZSBjYW4gcHJlZW1wdGl2ZWx5IG1pdGlnYXRlIHJpc2tzLiA8L3A+XG4gICAgICAgICAgICA8cD5BcyB3ZSBhaW0gdG8gbW92ZSB0b3dhcmRzIGNsaW5pY2FsIHRyaWFscywgR1hQIGVuc3VyZXMgdGhhdCBvdXIgcHJvZHVjdCBkZXZlbG9wbWVudCBwaXBlbGluZSBpcyBib3RoIGV0aGljYWwgYW5kIGNvbXBsaWFudCB3aXRoIGludGVybmF0aW9uYWwgc2FmZXR5IHN0YW5kYXJkcywgd2hpY2ggd2lsbCBiZSBrZXkgaW4gZGlzY3Vzc2lvbnMgd2l0aCBpbnZlc3RvcnMgYW5kIHJlZ3VsYXRvcnkgYm9kaWVzLiBCeSBlbWJlZGRpbmcgdGhlc2UgcHJpbmNpcGxlcyBlYXJseSwgd2Ugbm90IG9ubHkgZW5oYW5jZSB0aGUgcXVhbGl0eSBhbmQgcmVsaWFiaWxpdHkgb2Ygb3VyIGRhdGEgYnV0IGFsc28gbGF5IGEgZm91bmRhdGlvbiBmb3IgZnV0dXJlIGNsaW5pY2FsIGFwcGxpY2F0aW9ucy4gPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJOZXh0IFN0ZXBzXCIvPlxuICAgICAgICAgICAgPHA+QXMgd2UgbW92ZSBmb3J3YXJkLCBvdXIgdGVhbSBwbGFucyB0byBncmFkdWFsbHkgaW50ZWdyYXRlIEdYUCBzdGFuZGFyZHMgaW50byBvdXIgZGV2ZWxvcG1lbnQgcGlwZWxpbmUuIFRoZSBrbm93bGVkZ2UgZ2FpbmVkIGZyb20gdGhlIEdYUCBjb3Vyc2UsIGFsb25nIHdpdGggZXhwZXJ0IGNvbnN1bHRhdGlvbnMsIHByb3ZpZGVzIHVzIHdpdGggYSBiZXR0ZXIgdW5kZXJzdGFuZGluZyBvZiB0aGUgcmVndWxhdG9yeSBleHBlY3RhdGlvbnMgaW4gdGhlIGJpb3RlY2hub2xvZ3kgZmllbGQuIFdoaWxlIHdlIGFyZSBzdGlsbCBpbiB0aGUgZWFybHkgc3RhZ2VzIG9mIGFwcGx5aW5nIHRoZXNlIHN0YW5kYXJkcywgd2UgYWltIHRvIGFsaWduIG91ciBwcm9jZXNzZXMgd2l0aCBpbmR1c3RyeSByZXF1aXJlbWVudHMuIFRoaXMgd2lsbCBlbnN1cmUgdGhhdCwgYXMgd2UgcHJvZ3Jlc3MsIHdlIG1haW50YWluIGEgaGlnaCBsZXZlbCBvZiBxdWFsaXR5IGFuZCBjb21wbGlhbmNlLCBwYXJ0aWN1bGFybHkgYXMgd2Ugc2NhbGUgdXAgcHJvZHVjdGlvbiBhbmQgbW92ZSBjbG9zZXIgdG8gcG90ZW50aWFsIGNsaW5pY2FsIGFwcGxpY2F0aW9ucy4gPC9wPlxuICAgICAgICAgICAgPEg0IHRleHQ9XCJNYXJrZXQgRXZhbHVhdGlvblwiLz4gXG4gICAgICAgICAgICA8SDUgdGV4dD1cIjEuIFRhcmdldCBNYXJrZXQgRGVmaW5pdGlvbiBcIi8+XG4gICAgICAgICAgICA8cD48Yj5QYXRpZW50IFBvcHVsYXRpb246PC9iPiBDeXN0aWMgRmlicm9zaXMgKENGKSBpcyBhIHJhcmUgZ2VuZXRpYyBkaXNvcmRlciBhZmZlY3Rpbmcgb3ZlciA4MCwwMDAgaW5kaXZpZHVhbHMgd29ybGR3aWRlLCB3aXRoIGEgc2lnbmlmaWNhbnQgXG4gICAgICAgICAgICBjb25jZW50cmF0aW9uIGluIE5vcnRoIEFtZXJpY2EgYW5kIEV1cm9wZS4gQWJvdXQgOTAlIG9mIENGIHBhdGllbnRzIGhhdmUgYXQgbGVhc3Qgb25lIGNvcHkgb2YgdGhlIEY1MDhkZWwgbXV0YXRpb24sIHdoaWNoIG1ha2VzIHRoZW0gcG90ZW50aWFsIFxuICAgICAgICAgICAgY2FuZGlkYXRlcyBmb3IgdGhlcmFwaWVzIHRhcmdldGluZyB0aGlzIG11dGF0aW9uIFsxXSBbMl0uIDwvcD5cbiAgICAgICAgICAgIDxwPjxiPkdlb2dyYXBoaWNhbCBGb2N1czo8L2I+VGhlIGxhcmdlc3QgbWFya2V0cyBhcmUgaW4gTm9ydGggQW1lcmljYSBhbmQgRXVyb3BlLCB3aGVyZSBDRiBwcmV2YWxlbmNlIGlzIGhpZ2hlc3QsIGFuZCBhY2Nlc3MgdG8gYWR2YW5jZWQgdGhlcmFwaWVzIFxuICAgICAgICAgICAgbGlrZSBSTkEtYmFzZWQgdHJlYXRtZW50cyBpcyB3ZWxsLXN1cHBvcnRlZC4gVGhpcyB3b3VsZCBiZSB0aGUgcHJpbWFyeSBmb2N1cyBmb3Igb3VyIHRoZXJhcHksIHBhcnRpY3VsYXJseSBpbiBjb3VudHJpZXMgd2l0aCBlc3RhYmxpc2hlZCBDRiBcbiAgICAgICAgICAgIHRyZWF0bWVudCBpbmZyYXN0cnVjdHVyZXMgc3VjaCBhcyB0aGUgVS5TLiwgR2VybWFueSwgYW5kIHRoZSBVLksuIFszXS48L3A+XG4gICAgICAgICAgICA8cD48Yj5Vbm1ldCBOZWVkczogPC9iPkRlc3BpdGUgYWR2YW5jZW1lbnRzIGxpa2UgQ0ZUUiBtb2R1bGF0b3JzIChlLmcuLCBLYWZ0cmlvKSwgYXJvdW5kIDEwJSBvZiBwYXRpZW50cyBkbyBub3QgcmVzcG9uZCB0byBjdXJyZW50IHRyZWF0bWVudHMgYW5kIHJlbHkgb24gXG4gICAgICAgICAgICBzeW1wdG9tYXRpYyBjYXJlIFs0XS4gT3VyIFJOQS1iYXNlZCBnZW5lIHRoZXJhcHkgY291bGQgYWRkcmVzcyB0aGlzIHVubWV0IG5lZWQsIHNwZWNpZmljYWxseSB0YXJnZXRpbmcgdGhlIERlbHRhIEY1MDggbXV0YXRpb24gZm9yIHdoaWNoIG1hbnkgcGF0aWVudHMgaGF2ZSBcbiAgICAgICAgICAgIGxpbWl0ZWQgb3B0aW9ucy4gPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCJNYXJrZXQgU2l6ZSBhbmQgR3Jvd3RoIFBvdGVudGlhbFwiLz5cbiAgICAgICAgICAgIDxwPjxiPk1hcmtldCBTaXplOiA8L2I+IFRoZSBnbG9iYWwgY3lzdGljIGZpYnJvc2lzIHRyZWF0bWVudCBtYXJrZXQgd2FzIHZhbHVlZCBhdCBVU0QgOS40MSBiaWxsaW9uIGluIDIwMjMgYW5kIGlzIGV4cGVjdGVkIHRvIGdyb3cgdG8gVVNEIDI5LjE5IGJpbGxpb24gYnkgXG4gICAgICAgICAgICAyMDMyLCB3aXRoIGEgY29tcG91bmQgYW5udWFsIGdyb3d0aCByYXRlIChDQUdSKSBvZiAxMy40JSBbNV0uIFRoaXMgZ3Jvd3RoIGlzIGRyaXZlbiBieSBhZHZhbmNlbWVudHMgaW4gZ2VuZSB0aGVyYXB5IGFuZCBpbmNyZWFzZWQgcmVzZWFyY2ggZnVuZGluZy4gR2VuZSBcbiAgICAgICAgICAgIHRoZXJhcHkgdGFyZ2V0aW5nIHRoZSBGNTA4ZGVsIG11dGF0aW9uLCB0aGUgbW9zdCBjb21tb24gQ0YgbXV0YXRpb24sIHByZXNlbnRzIGEgc2lnbmlmaWNhbnQgbWFya2V0IG9wcG9ydHVuaXR5IHdpdGhpbiB0aGlzIGxhcmdlciBDRiB0cmVhdG1lbnQgbWFya2V0WzZdLiAgPC9wPlxuICAgICAgICAgICAgPHA+PGI+R3Jvd3RoIERyaXZlcnM6PC9iPiBUaGUgaW5jcmVhc2UgaW4gQ0YgcGF0aWVudCBsaWZlc3BhbiBkdWUgdG8gaW1wcm92ZWQgdHJlYXRtZW50cywgYWxvbmdzaWRlIG9uZ29pbmcgaW5ub3ZhdGlvbiBpbiBSTkEtYmFzZWQgdGhlcmFwaWVzLCBvZmZlcnMgXG4gICAgICAgICAgICBzaWduaWZpY2FudCBncm93dGggcG90ZW50aWFsLiBUaGUgcmlzZSBpbiBnb3Zlcm5tZW50LWJhY2tlZCBpbml0aWF0aXZlcyBhbmQgbm9uLXByb2ZpdCBmdW5kaW5nIGZ1cnRoZXIgc3VwcG9ydHMgbWFya2V0IGV4cGFuc2lvbiBbN11bOF0uIDwvcD5cbiAgICAgICAgICAgIDxwPjxiPk9wcG9ydHVuaXR5IGZvciBSTkEtQmFzZWQgVGhlcmFwaWVzOjwvYj4gV2hpbGUgY3VycmVudCB0cmVhdG1lbnRzIGxpa2UgQ0ZUUiBtb2R1bGF0b3JzIHByb3ZpZGUgcmVsaWVmIGZvciBtYW55IHBhdGllbnRzLCBhcHByb3hpbWF0ZWx5IDEwJSBvZiBDRiBcbiAgICAgICAgICAgIHBhdGllbnRzIGRvIG5vdCBiZW5lZml0IGZyb20gdGhlc2UgdGhlcmFwaWVzIFs5XS4gT3VyIFJOQS1iYXNlZCB0aGVyYXB5IGhhcyB0aGUgcG90ZW50aWFsIHRvIGNhcHR1cmUgdGhpcyBzZWdtZW50IG9mIHRoZSBtYXJrZXQsIGFkZHJlc3NpbmcgYW4gdW5tZXQgXG4gICAgICAgICAgICBjbGluaWNhbCBuZWVkLjwvcD5cbiAgICAgICAgICAgIDxINSB0ZXh0PVwiMy4gQ29tcGV0aXRpdmUgTGFuZHNjYXBlIFwiLz5cbiAgICAgICAgICAgIDxwPjxiPkN1cnJlbnQgQ29tcGV0aXRvcnM6PC9iPlRoZSBjeXN0aWMgZmlicm9zaXMgdHJlYXRtZW50IHNwYWNlIGlzIGRvbWluYXRlZCBieSBwaGFybWFjZXV0aWNhbCBnaWFudHMgc3VjaCBhcyBWZXJ0ZXggUGhhcm1hY2V1dGljYWxzLCB3aGljaCBoYXMgZGV2ZWxvcGVkIFxuICAgICAgICAgICAgQ0ZUUiBtb2R1bGF0b3JzIGxpa2UgS2FmdHJpby9UcmlrYWZ0YS4gVGhlc2UgbW9kdWxhdG9ycyBhcmUgY3VycmVudGx5IHRoZSBnb2xkIHN0YW5kYXJkIGZvciB0cmVhdGluZyBDRiBwYXRpZW50cyB3aXRoIHRoZSBGNTA4ZGVsIG11dGF0aW9uIFsxMF0uIFxuICAgICAgICAgICAgT3RoZXIga2V5IHBsYXllcnMgaW4gdGhlIG1hcmtldCBpbmNsdWRlIE5vdmFydGlzLCBHaWxlYWQgU2NpZW5jZXMsIGFuZCBBYmJWaWUsIGFsbCBvZiB3aG9tIGFyZSBhY3RpdmUgaW4gQ0YgZHJ1ZyBkZXZlbG9wbWVudFsxMV0uPC9wPlxuICAgICAgICAgICAgPHA+PGI+R2VuZSBUaGVyYXB5IENvbXBldGl0b3JzOjwvYj5XaGlsZSBDRlRSIG1vZHVsYXRvcnMgaGF2ZSBiZWVuIGhpZ2hseSBzdWNjZXNzZnVsLCBzZXZlcmFsIGNvbXBhbmllcyBhcmUgZXhwbG9yaW5nIGdlbmUgdGhlcmFwaWVzIGFpbWVkIGF0IGFkZHJlc3NpbmcgdGhlIFxuICAgICAgICAgICAgcm9vdCBjYXVzZSBvZiBDRiBieSBjb3JyZWN0aW5nIG9yIHJlcGxhY2luZyBkZWZlY3RpdmUgQ0ZUUiBnZW5lcy4gRWFybHktc3RhZ2UgZ2VuZSB0aGVyYXB5IHRyaWFscyBoYXZlIGZhY2VkIGNoYWxsZW5nZXMsIGJ1dCBhZHZhbmNlbWVudHMgaW4gZGVsaXZlcnkgXG4gICAgICAgICAgICB0ZWNobm9sb2dpZXMgYW5kIENSSVNQUi1iYXNlZCB0aGVyYXBpZXMgYXJlIG9wZW5pbmcgbmV3IHBhdGh3YXlzWzEyXS48L3A+XG4gICAgICAgICAgICA8cD48Yj5PdXIgRGlmZmVyZW50aWF0aW9uOiA8L2I+IFVubGlrZSBleGlzdGluZyBDRlRSIG1vZHVsYXRvcnMgdGhhdCByZXF1aXJlIGxpZmVsb25nIGFkbWluaXN0cmF0aW9uLCBvdXIgUk5BLWJhc2VkIHRoZXJhcHkgYWltcyB0byBwcm92aWRlIGEgbW9yZSBcbiAgICAgICAgICAgIHBlcm1hbmVudCBzb2x1dGlvbiBieSBkaXJlY3RseSBhZGRyZXNzaW5nIHRoZSBnZW5ldGljIGNhdXNlIG9mIENGLCBzcGVjaWZpY2FsbHkgdGFyZ2V0aW5nIHBhdGllbnRzIHdobyBkbyBub3QgcmVzcG9uZCB0byBjdXJyZW50IENGVFIgbW9kdWxhdG9ycy4gXG4gICAgICAgICAgICBUaGlzIGNvdWxkIHBvc2l0aW9uIHVzIGFzIGEgdW5pcXVlIHBsYXllciBpbiB0aGUgbWFya2V0LCB0YXJnZXRpbmcgYW4gdW5kZXJzZXJ2ZWQgcGF0aWVudCBncm91cC48L3A+XG4gICAgICAgICAgICA8SDUgdGV4dD1cIjQuIEJhcnJpZXJzIHRvIEVudHJ5IFwiLz5cbiAgICAgICAgICAgIDxwPjxiPlJlZ3VsYXRvcnkgSHVyZGxlczo8L2I+T25lIG9mIHRoZSBiaWdnZXN0IGNoYWxsZW5nZXMgaW4gYnJpbmdpbmcgYSBnZW5lIHRoZXJhcHkgdG8gbWFya2V0IGlzIG5hdmlnYXRpbmcgdGhlIGNvbXBsZXggcmVndWxhdG9yeSBlbnZpcm9ubWVudC4gXG4gICAgICAgICAgICBDb21wbGlhbmNlIHdpdGggR29vZCBNYW51ZmFjdHVyaW5nIFByYWN0aWNlIChHTVApIGFuZCBHb29kIExhYm9yYXRvcnkgUHJhY3RpY2UgKEdMUCkgaXMgZXNzZW50aWFsIGZvciBvYnRhaW5pbmcgYXBwcm92YWxzIGZyb20gYm9kaWVzIGxpa2UgdGhlIEZEQSBhbmQgRU1BLiBcbiAgICAgICAgICAgIFNlY3VyaW5nIGFwcHJvdmFsIGZvciBSTkEtYmFzZWQgZ2VuZSB0aGVyYXBpZXMsIHBhcnRpY3VsYXJseSB0aG9zZSB0YXJnZXRpbmcgcmFyZSBkaXNlYXNlcyBsaWtlIGN5c3RpYyBmaWJyb3NpcywgY2FuIGludm9sdmUgbGVuZ3RoeSBhbmQgZXhwZW5zaXZlIGNsaW5pY2FsIFxuICAgICAgICAgICAgdHJpYWxzWzEzXVsxNF0uPC9wPlxuICAgICAgICAgICAgPHA+PGI+SGlnaCBSJkQgQ29zdHM6PC9iPiBEZXZlbG9waW5nIGdlbmUgdGhlcmFwaWVzIGludm9sdmVzIHNpZ25pZmljYW50IHVwZnJvbnQgY29zdHMsIGZyb20gcmVzZWFyY2ggYW5kIGRldmVsb3BtZW50IHRvIGNsaW5pY2FsIHRyaWFscy4gRm9yIGEgc21hbGwgXG4gICAgICAgICAgICBiaW90ZWNoIHN0YXJ0dXAsIHNlY3VyaW5nIHRoZSBuZWNlc3NhcnkgZnVuZGluZyBjYW4gYmUgYSBiYXJyaWVyLCBlc3BlY2lhbGx5IHdoZW4gY29tcGV0aW5nIGFnYWluc3QgZXN0YWJsaXNoZWQgcGhhcm1hY2V1dGljYWwgY29tcGFuaWVzIHdpdGggbGFyZ2VyIFImRCBcbiAgICAgICAgICAgIGJ1ZGdldHNbMTVdLjwvcD5cbiAgICAgICAgICAgIDxwPjxiPkRlbGl2ZXJ5IENoYWxsZW5nZXM6PC9iPiBFZmZlY3RpdmUgZGVsaXZlcnkgb2YgUk5BLWJhc2VkIHRoZXJhcGllcyB0byB0aGUgbHVuZ3MgcmVtYWlucyBhIHRlY2huaWNhbCBiYXJyaWVyLiBXaGlsZSBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSBzaG93IFxuICAgICAgICAgICAgcHJvbWlzZSwgb3B0aW1pemluZyB0aGUgZGVsaXZlcnkgbWV0aG9kIHRvIGVuc3VyZSBjb25zaXN0ZW50LCBzYWZlLCBhbmQgZWZmZWN0aXZlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgdGhlcmFweSBpbiBsdW5nIHRpc3N1ZXMgaXMgYSBjaGFsbGVuZ2UgdGhhdCBzdGlsbCBcbiAgICAgICAgICAgIG5lZWRzIHRvIGJlIGZ1bGx5IGFkZHJlc3NlZCBbMTZdLjwvcD5cbiAgICAgICAgICAgIDxwPjxiPk1hcmtldCBTYXR1cmF0aW9uIGFuZCBFbnRyZW5jaGVkIENvbXBldGl0b3JzOjwvYj4gVGhlIENGIHRyZWF0bWVudCBtYXJrZXQgaXMgYWxyZWFkeSBkb21pbmF0ZWQgYnkgZXN0YWJsaXNoZWQgcGxheWVycyBsaWtlIFZlcnRleCBQaGFybWFjZXV0aWNhbHMuIFxuICAgICAgICAgICAgR2FpbmluZyBhIGZvb3Rob2xkIGluIGEgbWFya2V0IHdoZXJlIENGVFIgbW9kdWxhdG9ycyBhcmUgdGhlIHN0YW5kYXJkIG9mIGNhcmUgd2lsbCByZXF1aXJlIGRlbW9uc3RyYXRpbmcgc2lnbmlmaWNhbnQgY2xpbmljYWwgYWR2YW50YWdlcywgcGFydGljdWxhcmx5IGZvciBcbiAgICAgICAgICAgIHBhdGllbnRzIG5vdCBzZXJ2ZWQgYnkgZXhpc3RpbmcgdHJlYXRtZW50c1sxN10uPC9wPlxuICAgICAgICAgICAgPEg1IHRleHQ9XCI1LiBHby10by1NYXJrZXQgU3RyYXRlZ3lcIi8+XG4gICAgICAgICAgICA8cD48Yj5Jbml0aWFsIEZvY3VzIG9uIENsaW5pY2FsIFBhcnRuZXJzaGlwczo8L2I+IFRoZSBmaXJzdCBzdGVwIGluIGJyaW5naW5nIG91ciBSTkEtYmFzZWQgZ2VuZSB0aGVyYXB5IHRvIG1hcmtldCB3aWxsIGJlIHBhcnRuZXJpbmcgd2l0aCBhY2FkZW1pYyBcbiAgICAgICAgICAgIGluc3RpdHV0aW9ucyBhbmQgY2xpbmljYWwgcmVzZWFyY2ggY2VudGVycyB0byBjb25kdWN0IGluaXRpYWwgY2xpbmljYWwgdHJpYWxzLiBFc3RhYmxpc2hpbmcgY3JlZGliaWxpdHkgdGhyb3VnaCBjb2xsYWJvcmF0aW9ucyB3aXRoIGtleSBvcGluaW9uIGxlYWRlcnMgXG4gICAgICAgICAgICBpbiBjeXN0aWMgZmlicm9zaXMgdHJlYXRtZW50IHdpbGwgaGVscCBidWlsZCB0cnVzdCBhbmQgdmFsaWRhdGUgdGhlIGVmZmljYWN5IG9mIG91ciB0aGVyYXB5IFsxOF1bMTldLjwvcD5cbiAgICAgICAgICAgIDxwPjxiPkVhcmx5IEFkb3B0ZXJzOiA8L2I+T3VyIGZvY3VzIHdpbGwgYmUgb24gdGFyZ2V0aW5nIGVhcmx5IGFkb3B0ZXJzLCBzdWNoIGFzIHNwZWNpYWxpemVkIGN5c3RpYyBmaWJyb3NpcyBjbGluaWNzIGFuZCBob3NwaXRhbHMgdGhhdCBhcmUgZmFtaWxpYXIgXG4gICAgICAgICAgICB3aXRoIGN1dHRpbmctZWRnZSBnZW5lIHRoZXJhcGllcy4gVGhlc2UgaW5zdGl0dXRpb25zIGFyZSBtb3JlIGxpa2VseSB0byBhZG9wdCBub3ZlbCB0cmVhdG1lbnRzIGFuZCBwcm92aWRlIHVzIHdpdGggcmVhbC13b3JsZCBkYXRhIHRvIGZ1cnRoZXIgcmVmaW5lIG91ciBcbiAgICAgICAgICAgIHRoZXJhcHlbMjBdLjwvcD5cbiAgICAgICAgICAgIDxwPjxiPlBhcnRuZXJzaGlwcyB3aXRoIEJpb3RlY2ggYW5kIFBoYXJtYWNldXRpY2FsIENvbXBhbmllczo8L2I+IFBhcnRuZXJpbmcgd2l0aCBlc3RhYmxpc2hlZCBiaW90ZWNoIG9yIHBoYXJtYWNldXRpY2FsIGNvbXBhbmllcyBjb3VsZCBoZWxwIGFjY2VsZXJhdGUgXG4gICAgICAgICAgICBjb21tZXJjaWFsaXphdGlvbiBieSBwcm92aWRpbmcgYWNjZXNzIHRvIGRpc3RyaWJ1dGlvbiBjaGFubmVscywgcmVndWxhdG9yeSBleHBlcnRpc2UsIGFuZCBhZGRpdGlvbmFsIGZ1bmRpbmcuIExpY2Vuc2luZyBhZ3JlZW1lbnRzIG9yIGNvLWRldmVsb3BtZW50IFxuICAgICAgICAgICAgZGVhbHMgd2l0aCBjb21wYW5pZXMgc3BlY2lhbGl6aW5nIGluIGdlbmUgdGhlcmFweSBjb3VsZCBiZSBrZXkgdG8gc2NhbGluZyBwcm9kdWN0aW9uWzIxXS48L3A+XG4gICAgICAgICAgICA8cD48Yj5SZWd1bGF0b3J5IFN0cmF0ZWd5OjwvYj5OYXZpZ2F0aW5nIHRoZSByZWd1bGF0b3J5IGVudmlyb25tZW50IHdpbGwgYmUgYSBwcmlvcml0eSwgYW5kIGVhcmx5IGVuZ2FnZW1lbnQgd2l0aCB0aGUgRkRBLCBFTUEsIGFuZCBvdGhlciByZWd1bGF0b3J5IFxuICAgICAgICAgICAgYm9kaWVzIHdpbGwgaGVscCBlbnN1cmUgYSBzbW9vdGhlciBhcHByb3ZhbCBwcm9jZXNzLiBGb2N1c2luZyBvbiBvcnBoYW4gZHJ1ZyBkZXNpZ25hdGlvbiBvciBmYXN0LXRyYWNrIGFwcHJvdmFscyBmb3IgcmFyZSBkaXNlYXNlcyBsaWtlIGN5c3RpYyBmaWJyb3NpcyBcbiAgICAgICAgICAgIGNvdWxkIGV4cGVkaXRlIHRoZSByZWd1bGF0b3J5IHRpbWVsaW5lWzIyXS48L3A+XG4gICAgICAgICAgICA8cD48Yj5Mb25nLVRlcm0gVmlzaW9uOjwvYj4gQWZ0ZXIgaW5pdGlhbCBzdWNjZXNzIGluIHRyZWF0aW5nIGN5c3RpYyBmaWJyb3Npcywgb3VyIFJOQS1iYXNlZCB0aGVyYXB5IGNvdWxkIGJlIGV4cGFuZGVkIHRvIHRyZWF0IG90aGVyIGdlbmV0aWMgZGlzb3JkZXJzLiBcbiAgICAgICAgICAgIFRoZSBtb2R1bGFyIG5hdHVyZSBvZiBvdXIgdGVjaG5vbG9neSBhbGxvd3MgdXMgdG8gYWRhcHQgdGhlIHRoZXJhcHkgZm9yIG90aGVyIHJhcmUgZGlzZWFzZXMsIHByb3ZpZGluZyBhIGJyb2FkZXIgbWFya2V0IHBvdGVudGlhbCBpbiB0aGUgZnV0dXJlWzIzXS48L3A+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG4gICAgKVxufSIsICJpbXBvcnQgeyBCdXR0b25PbmUgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5pbXBvcnQgeyAgSDQgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGlvbiB9IGZyb20gXCIuLi8uLi8uLi91dGlscy91c2VOYXZpZ2F0aW9uXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBIUE91dHJlYWNoKCl7XG4gICAgY29uc3QgeyBnb1RvUGFnZXNBbmRPcGVuVGFiIH0gPSB1c2VOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIiBzdHlsZT17e21hcmdpblRvcDogXCI1dmhcIiwgbWFyZ2luQm90dG9tOiBcIjV2aFwifX0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJ1dHRvbk9uZSBvcGVuY2xhc3M9XCJvdXQtY3ljbGV0YWJcIiB0ZXh0PVwiT3ZlcnZpZXdcIiBvcGVuPVwib3V0LW92ZXJ2aWV3XCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgb3BlbmNsYXNzPVwib3V0LWN5Y2xldGFiXCIgdGV4dD1cIk1VS09tb3ZlXCIgb3Blbj1cIm11a29tb3ZlXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCdXR0b25PbmUgb3BlbmNsYXNzPVwib3V0LWN5Y2xldGFiXCIgdGV4dD1cIldhZmZsZSBTYWxlXCIgb3Blbj1cIldhZmZsZSBzYWxlXCI+PC9CdXR0b25PbmU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcblxuICAgICAgICA8ZGl2IGlkPVwib3V0LW92ZXJ2aWV3XCIgY2xhc3NOYW1lPVwib3V0LWN5Y2xldGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT5cbiAgICAgICAgICA8SDQgaWQ9XCJvdXQtd2h5LWhlYWRpbmdcIiB0ZXh0PVwiUHVibGljIGVuZ2FtZW50IGFzIHBhcnQgb2YgYSBpbnRlZ3JhdGVkIGh1bWFuIHByYWN0aWNlIC0gYnV0IHdoeT9cIi8+XG4gICAgICAgICAgPHA+V2hpbGUgbWFueSBvZiBvdXIgZWZmb3J0cyBpbiBzY2llbmNlIGNvbW11bmljYXRpb24gd2VyZSBlZHVjYXRpb25hbCwgd2UgYWxzbyByZWNvZ25pemVkIHRoZSBpbXBvcnRhbmNlIG9mIHB1YmxpYyBlbmdhZ2VtZW50IHRocm91Z2ggYWN0aXZpdGllcyBcbiAgICAgICAgICAgIHRoYXQgd2VyZSBub3QgZm9jdXNlZCBvbiBmb3JtYWwgZWR1Y2F0aW9uIGJ1dCByYXRoZXIgb24gcmFpc2luZyBhd2FyZW5lc3MuIEluaXRpYXRpdmVzIGxpa2UgTVVLT21vdmUgYW5kIG91ciB3YWZmbGUgc2FsZSB3ZXJlIGVzc2VudGlhbCBpbiBicmluZ2luZyBcbiAgICAgICAgICAgIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIGludG8gcHVibGljIGZvY3VzIGFuZCBzaG93aW5nIGEgdmlzaWJsZSBjb21taXRtZW50IHRvIHRoZSBjYXVzZS48L3A+XG4gICAgICAgICAgPHA+UHVibGljIGVuZ2FuZWdtZW50IGFuZCBvdXRyZWFjaCBzZXJ2ZXMgYXMgYSByZW1pbmRlciB0aGF0IHNjaWVuY2UgZG9lcyBub3QgaGFwcGVuIGluIGlzb2xhdGlvbiAtIGl0IGlzIHJvb3RlZCBcbiAgICAgICAgICAgIGluIHJlYWwtd29ybGQgcHJvYmxlbXMgdGhhdCBpbXBhY3QgaW5kaXZpZHVhbHMgYW5kIGNvbW11bml0aWVzLiBFc3RhYmxpc2hpbmcgcHJlc2VuY2UgYWxsb3dzIGRpdmVydGluZyBpbnRlcmVzdCB0byBvdXIgcHJvamVjdCBhbmQgb3VyIGNhdXNlIHdoaWNoIGluIHR1cm4gXG4gICAgICAgICAgICBwYXZlcyB0aGUgd2F5IHRvIGVkY3VhdGUgaW50ZXJlc3RlZCBwZW9wbGUgYW5kIHRvIGxheSB0aGUgZ3JvdW5kd29yayBmb3IgYSBkZWVwZXIgY29ubmVjdGlvbiBiZXR3ZWVuIHVzIGFuZCBvdXIgcHJvamVjdCBhbmQgdGhlIGdlbmVyYWwgcHVibGljLiA8L3A+XG4gICAgICAgICAgICA8SDQgaWQ9XCJvdXQtaGVhZGluZ1wiIHRleHQ9XCJPdXIgcHVibGljIGVuZ2FnZW1lbnRcIi8+XG4gICAgICAgICAgICA8cD5PdXIgcHVibGljIGVuZ2FnZW1lbnQgc2VydmVkIGJvdGggYXMgYSBmb3JtIG9mIHNwcmVhZGluZyBhd2FyZW5lc3MgYW5kIHRvIGVzdGFibGlzaCBmaXJzdCBjb250YWN0cy4gQnkgaW52aXRpbmcgb3RoZXIgcGVvcGxlIGluIEJpZWxlZmVsZCB0byBqb2luIG91ciB0ZWFtIFxuICAgICAgICAgICAgZm9yIE1VS09tb3ZlLCB3ZSB3ZXJlIGFibGUgdG8gcmVhY2ggYSB3aWRlciBhdWRpZW5jZSBhbmQgZm9zdGVyIGNvbm5lY3Rpb25zIHRoYXQgZXh0ZW5kZWQgYmV5b25kIG91ciB1bml2ZXJzaXR5LjwvcD5cbiAgICAgICAgICAgIDxwPkluIGFkZGl0aW9uIHRvIG91ciBpbi1wZXJzb24gZXZlbnRzLCB3ZSB1c2VkIHNvY2lhbCBtZWRpYSBhcyBhIHRvb2wgdG8ga2VlcCB0aGUgY29tbXVuaXR5IGVuZ2FnZWQgYW5kIHVwZGF0ZWQuIFdlIHNoYXJlZCBvdXIgcHJvZ3Jlc3MgaW4gXG4gICAgICAgICAgICAgIE1VS09tb3ZlLCBwcm9tb3RlZCBvdXIgZXZlbnRzLCBhbmQgcG9zdGVkIGVkdWNhdGlvbmFsIGNvbnRlbnQgYWJvdXQgY3lzdGljIGZpYnJvc2lzIGFuZCBnZW5lIHRoZXJhcHkuIE91ciBzb2NpYWwgbWVkaWEgcHJlc2VuY2UgaGVscGVkIHVzIFxuICAgICAgICAgICAgICBzdGF5IGNvbm5lY3RlZCB3aXRoIGEgYnJvYWRlciBhdWRpZW5jZSwgZW5zdXJpbmcgdGhhdCBldmVuIHRob3NlIHdobyBjb3VsZCBub3QgYXR0ZW5kIG91ciBldmVudHMgY291bGQgc3RpbGwgZm9sbG93IGFsb25nIGFuZCBzdXBwb3J0IG91ciBtaXNzaW9uLjwvcD5cbiAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgIFRocm91Z2ggdGhlc2UgZWZmb3J0cywgd2UgYWxzbyBtYWRlIHZhbHVhYmxlIGNvbm5lY3Rpb25zLCByZXN1bHRpbmcgaW4gYW4gaW50ZXJ2aWV3IHdpdGggdGhlIFwiTXVrbyBEaW5vXCIgPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignZGlubycsICcvaHVtYW4tcHJhY3RpY2VzJyl9PlRob21hcyBNYWxlbmtlPC9hPi4gVGhpcyBoaWdobGlnaHRlZCB0aGUgcG93ZXIgXG4gICAgICAgICAgICAgIG9mIG9ubGluZSBwbGF0Zm9ybXMgaW4gZXhwYW5kaW5nIG91ciByZWFjaCBhbmQgZm9zdGVyaW5nIGNvbGxhYm9yYXRpb24gYmV5b25kIG91ciBpbW1lZGlhdGUgY29tbXVuaXR5LjwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgICAgICA8ZGl2IGlkPVwiV2FmZmxlIHNhbGVcIiBjbGFzc05hbWU9XCJvdXQtY3ljbGV0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8SDQgdGV4dD1cIldhZmZsZSBTYWxlXCI+PC9IND5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxwPlRvIHN1cHBvcnQgb3VyIHJlc2VhcmNoIHByb2plY3QgYW5kIHJhaXNlIGZ1bmRzIGZvciBvdXIgaUdFTSB0ZWFtIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5LCB3ZSBkZWNpZGVkIHRvIG9yZ2FuaXplIGEgd2FmZmxlIHNhbGUgaW4gdGhlIG1haW4gaGFsbCBvZiB0aGUgdW5pdmVyc2l0eS4gVGhpcyBpbml0aWF0aXZlIHdhcyBhaW1lZCBhdCByYWlzaW5nIGF3YXJlbmVzcyBhYm91dCBvdXIgcHJvamVjdCBhbmQgY29sbGVjdGluZyBmdW5kcyBmb3Igb3VyIHJlc2VhcmNoIGludG8gY3lzdGljIGZpYnJvc2lzLiA8L3A+XG4gICAgICAgICAgICA8cD5UaGUgc2FsZSB0b29rIHBsYWNlIGluIGN5c3RpYyBmaWJyb3NpcyBhd2FyZW5lc3MgbW9udGggTWF5IGluIHRoZSBHcmVhdCBIYWxsIG9mIG91ciBVbml2ZXJzaXR5LiBBcyBwZW9wbGUgcGFzc2VkIGJ5LCB3ZSBlbmdhZ2VkIHRoZW0gYnkgaW50cm9kdWNpbmcgb3VyIHJlc2VhcmNoIGdyb3VwIGFuZCBleHBsYWluaW5nIG91ciBwcm9qZWN0XHUyMDE5cyBvYmplY3RpdmVzLiBXZSBzaGFyZWQgaW5mb3JtYXRpb24gYWJvdXQgY3lzdGljIGZpYnJvc2lzIGFuZCB3aHkgd2UgYXJlIHJhaXNpbmcgbW9uZXkuIE91ciBnb2FsIHdhcyB0byBub3Qgb25seSBqdXN0IHRvIHNlbGwgd2FmZmxlcywgYnV0IGFsc28gdG8gZWR1Y2F0ZSB0aGUgdW5pdmVyc2l0eSBjb21tdW5pdHkgYWJvdXQgb3VyIHJlc2VhcmNoIGFuZCBpdHNcdTIwMTkgcG90ZW50aWFsIGltcGFjdC4gVGhlIHJlc3BvbnNlIGhhcyBiZWVuIG92ZXJ3aGVsbWluZ2x5IHBvc2l0aXZlLiBNYW55IHdlcmUgZ2VudWluZWx5IGludGVyZXN0ZWQgaW4gb3VyIHdvcmsgYW5kIGFza2VkIGZvciBtb3JlIGRldGFpbHMgYWJvdXQgb3VyIHJlc2VhcmNoIGFuZCB0aGUgZ29hbHMgb2Ygb3VyIHByb2plY3QuIFRoaXMgZW50aHVzaWFzbSBzdHJlbmd0aGVuZWQgb3VyIGNvbW1pdG1lbnQgdG8gdGhlIHByb2plY3QgYW5kIGhpZ2hsaWdodGVkIHRoZSBpbXBvcnRhbmNlIG9mIGNvbW11bml0eSBpbnZvbHZlbWVudCBpbiBzY2llbnRpZmljIHJlc2VhcmNoLiA8L3A+XG4gICAgICAgICAgICA8cD5UaGUgd2FmZmxlIHNhbGUgd2FzIGEgZ3JlYXQgc3VjY2VzcywgYm90aCBpbiB0ZXJtcyBvZiByYWlzaW5nIGZ1bmRzIGFuZCBpbmNyZWFzaW5nIGF3YXJlbmVzcyBhYm91dCBvdXIgd29yayB3aXRoaW4gdGhlIHVuaXZlcnNpdHkuIEl0IHdhcyBhIGNvbGxhYm9yYXRpdmUgZWZmb3J0IHRoYXQgYnJvdWdodCBvdXIgdGVhbSBjbG9zZXIgdG9nZXRoZXIgYW5kIGRlbW9uc3RyYXRlZCB0aGUgcG93ZXIgb2YgY29tbXVuaXR5IHN1cHBvcnQgaW4gYWR2YW5jaW5nIHNjaWVudGlmaWMgcmVzZWFyY2guIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNFwiPiBcbiAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZWRjYXRpb24tYW5kLW91dHJlYWNoL3NjcmVlbnNob3QtMjAyNC0wOS0yNS0yMDIwMDgucG5nXCIgc3R5bGU9e3tvYmplY3RGaXQ6IFwiY292ZXJcIiwgbWF4SGVpZ2h0OiBcIjUwJVwiLCB3aWR0aDogXCIxMDAlXCJ9fS8+IFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGlkPVwibXVrb21vdmVcIiBjbGFzc05hbWU9XCJvdXQtY3ljbGV0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgIDxINCBpZD1cImNmLW1vbnRoXCIgdGV4dD1cIkN5c3RpYyBmaWJyb3NpcyBhd2FyZW5lc3MgbW9udGhcIi8+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZnVsbC1zbWFsbCBjb2wtM1wiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwibWF4NDAwXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL3BvLW11a29tb3ZlL3dpci1wbGFrYXQtbXVrb21vdmUuanBlZ1wiPjwvaW1nPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGgzPldoYXQgaXMgTVVLT21vdmU/PC9oMz5cbiAgICAgICAgICAgIDxwPkFzIHBhcnQgb2YgdGhlIGN5c3RpYyBmaWJyb3NpcyBhd2FyZW5lc3MgbW9udGggTWF5LCB3ZSB0b29rIHBhcnQgaW4gdGhpcyB5ZWFyJ3MgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm11a28uaW5mby9tdWtvbW92ZVwiPk1VS09tb3ZlPC9hPiBmcm9tIE1heSA4dGggdG8gTWF5XG4gICAgICAgICAgICAgIDEydGggdW5kZXIgdGhlIHRlYW0gbmFtZSBpR0VNIEJpZWxlZmVsZC4gTVVLT21vdmUgaXMgYSBwYXJ0aWNpcGF0b3J5IHNwb3J0cyBpbml0aWF0aXZlIG9yZ2FuaXplZCBieSBcbiAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vd3d3Lm11a28uaW5mby9cIj4gTXVrb3Zpc3ppZG9zZSBlLlYuPC9hPiwgdGhlIEdlcm1hbiBDeXN0aWMgRmlicm9zaXMgQXNzb2NpYXRpb24sIGFpbWVkIGF0IHJhaXNpbmcgYXdhcmVuZXNzIGFuZCBmdW5kcyBcbiAgICAgICAgICAgICAgZm9yIGN5c3RpYyBmaWJyb3NpcyByZXNlYXJjaCBhbmQgc3VwcG9ydC4gVGhpcyBhbm51YWwgZXZlbnQgZW5jb3VyYWdlcyBpbmRpdmlkdWFscyBhbmQgdGVhbXMgdG8gXG4gICAgICAgICAgICAgIGVuZ2FnZSBpbiB2YXJpb3VzIHBoeXNpY2FsIGFjdGl2aXRpZXMsIHRyYWNrIHRoZWlyIG1vdmVtZW50LCBhbmQgc2hhcmUgdGhlaXIgZXhwZXJpZW5jZXMgb25saW5lLiAgPC9wPlxuICAgICAgICAgICAgICA8YnV0dG9uPlNwZW5kZW48L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxici8+IFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGgzPldoeSBhbmQgaW4gd2hpY2ggd2F5cyB3ZXJlIHdlIGludmVzdGVkIGluIE1VS09tb3ZlPyA8L2gzPlxuICAgICAgICAgICAgPHA+V2hpbGUgTVVLT21vdmUgd2FzIG5vdCBhIHNjaWVudGlmaWMgb3IgZWR1Y2F0aW9uYWwgZXZlbnQsIGl0IHBsYXllZCBhbiBpbXBvcnRhbnQgcm9sZSBpbiBkZW1vbnN0cmF0aW5nIG91ciBwcmVzZW5jZSBpbiB0aGUgYnJvYWRlciBDRiBcbiAgICAgICAgICAgICAgY29tbXVuaXR5LjwvcD5cbiAgICAgICAgICA8cD5XZSBkaWQgbm90IHN0b3AgYXQgb3VyIHBhcnRpY2lwYXRpb24gaXRzZWxmIC0gd2Ugd2FudGVkIHRvIG1ha2Ugb3RoZXIgcGVvcGxlIGZyb20gb3VyIHVuaXZlcnNpdHkgYW5kIGNpdHkgXG4gICAgICAgICAgICBhd2FyZSBvZiB0aGUgZXZlbnQgYW5kIGNvbGxlY3Qgc3BvcnQgaG91cnMgZm9yIGN5c3RpYyBmaWJyb3NpcyB3aXRoIHRoZW0gYnkgaW52aXRpbmcgdGhlbSB0byBqb2luIG91ciB0ZWFtLiBcbiAgICAgICAgICAgIE91ciBzdXJ2ZXkgYWJvdXQgY3lzdGljIGZpYnJvc2lzIGF3YXJlbmVzcyBhbmQgb3VyIGRpc2N1c3Npb25zIHdpdGggPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignSW52V2VzdGhvZmYnLCAnL2h1bWFuLXByYWN0aWNlcz90YWI9Jyl9PkthdGhyaW4gV2VzdGhvZmY8L2E+LCB0aGUgaGVhZCBvZiBhIFxuICAgICAgICAgICAgcHJhY3RpY2UgZm9yIHBoeXNpb3RoZXJhcHkgaW4gR1x1MDBGQ3RlcnNsb2ggd2hvIGlzIGFsc28gdHJlYXRpbmcgeW91bmcgQ0YgcGF0aWVudHMsIHNob3dlZCB1cyBob3cgbGl0dGxlIGtub3duIFxuICAgICAgICAgICAgdGhpcyBpbGxuZXNzIHN0aWxsIGlzLiBFc3BlY2lhbGx5IHRoZSBpbnRlcnZpZXcgd2l0aCB0aGUgcGh5c2lvdGhlcmFwaXN0IG1hZGUgdXMgcmVhbGl6ZSBob3cgaW1wb3J0YW50IFxuICAgICAgICAgICAgZXhlcmNpc2UgaXMgZm9yIGV2ZXJ5b25lIGFuZCBob3cgaXQgYnJpbmdzIGEgY29tbXVuaXR5IHRvZ2V0aGVyIC0gd2Ugd2FudGVkIHRvIGVzdGFibGlzaCBNVUtPbW92ZSBpbiBcbiAgICAgICAgICAgIEJpZWxlZmVsZC4gVGhhdCBpcyB3aHkgd2UgcmVhbGx5IGdvdCB0aGUgcHVibGljaXR5IGdvaW5nIGJ5IHB1dHRpbmcgdXAgcG9zdGVycyBhbmQgZGlzdHJpYnV0aW5nIGZseWVycyBcbiAgICAgICAgICAgIGF0IHRoZSB1bml2ZXJzaXR5IGFuZCBpbiBvdXIgY2l0eSBhcyB5b3UgY2FuIHNlZSBpbiB0aGUgZm9sbG93aW5nIHBpY3R1cmUuIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmdWxsLXNtYWxsIGNvbC00XCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJtYXg0MDBcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvZm9yLXdpa2ktdGV4dHMvcG8tbXVrb21vdmUvaW1nLTc4MjguanBlZ1wiPjwvaW1nPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxici8+IFxuICAgICAgICAgIDxwPldlIGFsc28gY2FsbGVkIGZvciBNVUtPbW92ZSBvbiBvdXIgc29jaWFscyBhbmQgc2V0IG91ciB0ZWFtIGEgZ29hbCBvZiBjb2xsZWN0aW5nIDI0MCBob3VycyBkb2luZyBzcG9ydHMgdG9nZXRoZXIsIFxuICAgICAgICAgICAgd2hpbGUgdGhlIGVudGlyZSBNVUtPbW92ZSBoYWQgYSBnb2FsIG9mIGNvbGxlY3RpbmcgMjQsMDAwIHNwb3J0IGhvdXJzLiBJbiBjb29wZXJhdGlvbiB3aXRoIG91ciB1bml2ZXJzaXR5J3MgXG4gICAgICAgICAgICBzcG9ydHMgZmFjaWxpdGllcywgdXNpbmcgdGhlaXIgPGEgaHJlZj1cImh0dHBzOi8vd3d3LnVuaS1iaWVsZWZlbGQuZGUvZWlucmljaHR1bmdlbi9ob2Noc2NodWxzcG9ydC96dXNhdHphbmdlYm90ZS9ob3ViaS9cIj5cdTIwMUNIT1VCSS1Ba3Rpdm1vYmlsXCI8L2E+IGFuZCBvdGhlciBlcXVpcG1lbnQsIHdlIG9yZ2FuaXplZCBhIHRlYW0gZXZlbnQgYXQgdGhlIHNwb3J0cyBcbiAgICAgICAgICAgIGdyb3VuZCBvZiBvdXIgdW5pdmVyc2l0eSBhdCB0aGUgYmVnaW4gb2YgTVVLT21vdmUuIEV2ZXJ5b25lIHdhcyB3YXJtbHkgaW52aXRlZCB0byBvdXIgZXZlbnQgb24gTWF5IDh0aCwgYW5kIFxuICAgICAgICAgICAgaXQgd2FzIGEgbG90IG9mIGZ1biB0byBwbGF5IHZhcmlvdXMgc3BvcnQgZ2FtZXMgdG9nZXRoZXIgb3V0c2lkZSBpbiB0aGUgc3VuIC0gY2hlY2sgb3V0IGluIHRoZSBmb2xsb3dpbmcgXG4gICAgICAgICAgICB2aWRlbyEgPC9wPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxpZnJhbWUgdGl0bGU9XCJCaWVsZWZlbGQtQ2VCaVRlYzogTVVLT21vdmUgKDIwMjQpIFtFbmdsaXNoXVwiIHdpZHRoPVwiNTYwXCIgaGVpZ2h0PVwiMzE1XCIgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy92aWRlb3MvZW1iZWQvZGQzZTZlZmYtOTVmNS00N2Y0LWEwZmMtZjQxNmRiODhkZmU0P2F1dG9wbGF5PTFcIiBmcmFtZUJvcmRlcj1cIjBcIiBhbGxvd0Z1bGxTY3JlZW49e3RydWV9IHNhbmRib3g9XCJhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1zY3JpcHRzIGFsbG93LXBvcHVwcyBhbGxvdy1mb3Jtc1wiPjwvaWZyYW1lPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJyLz5cbiAgICAgICAgICA8aDM+V2hhdCBkaWQgd2UgYWNoaWV2ZT88L2gzPlxuICAgICAgICAgIDxwPldlIGFyZSBoYXBweSB0byBhbm5vdW5jZSB0aGF0IGJvdGggbW92ZW1lbnQgZ29hbHMgd2VyZSBzdXJwYXNzZWQ6IFRlYW0gaUdFTSBCaWVsZWZlbGQgd2FzIGFibGUgdG8gY29sbGVjdCAzNTggc3BvcnQgaG91cnMsIGFuZCBldmVyeW9uZSB3aG8gdG9vayBwYXJ0IGluIE1VS09tb3ZlIHRvZ2V0aGVyIGNvbGxlY3RlZCAzNiw1NDIgc3BvcnQgaG91cnMhICA8L3A+XG4gICAgICAgICAgPHA+VGhlIE1VS09tb3ZlIHdhcyB0aGVyZWZvcmUgYSBjb21wbGV0ZSBzdWNjZXNzLCBhbmQgd2UgdGFrZSBwcmlkZSBpbiBoYXZpbmcgY29udHJpYnV0ZWQgdG8gdGhlIGdvYWwgd2hpbGUgcmFpc2luZyBtb3JlIGF3YXJlbmVzcyBmb3IgY3lzdGljIGZpYnJvc2lzIGluIG91ciByZWdpb24gYW5kIEdlcm1hbnkgYXMgYSB3aG9sZS48L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59IiwgImltcG9ydCB7IEg0IH0gZnJvbSBcIi4uLy4uLy4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEhQUGFydG5lcnNoaXBzKCl7XG5cbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8SDQgdGV4dD1cIkNGIFZlc3RzXCI+PC9IND5cbiAgICAgICAgICAgIDxwPkNGIFZlc3RzIFdvcmxkd2lkZSBpcyBhIGRlZGljYXRlZCBjaGFyaXR5IG9yZ2FuaXphdGlvbiBjb21taXR0ZWQgdG8gcHJvdmlkaW5nIGxpZmUtc2F2aW5nIHZlc3QgZXF1aXBtZW50IHRvIHRob3NlIGluIG5lZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlaXIgZmluYW5jaWFsIHNpdHVhdGlvbi4gQnV0IHRoZXkgY2FuJ3QgZG8gaXQgYWxvbmUgXHUyMDE0IHRoZXkgbmVlZCB5b3VyIHN1cHBvcnQuIEhlbHAgdXMgbWFrZSBhIGRpZmZlcmVuY2UhIEJ5IGRvbmF0aW5nIHRvIENGVldXLCB5b3UgY2FuIGRpcmVjdGx5IGltcGFjdCB0aGUgbGl2ZXMgb2YgY3lzdGljIGZpYnJvc2lzIHBhdGllbnRzLCBnaXZpbmcgdGhlbSB0aGUgY2hhbmNlIHRvIGJyZWF0aGUgZWFzaWVyIGFuZCBsaXZlIGZ1bGxlciBsaXZlcy4gRXZlcnkgY29udHJpYnV0aW9uIGNvdW50cy48L3A+XG4gICAgICAgICAgICA8cD48c3Ryb25nPkpvaW4gdXMgaW4gdGhlIGZpZ2h0IGFnYWluc3QgY3lzdGljIGZpYnJvc2lzLjwvc3Ryb25nPiA8YSBocmVmPVwiaHR0cHM6Ly9kb25vcmJveC5vcmcvaWdlbVwiPiBEb25hdGUgdG9kYXk8L2E+IGFuZCBoZWxwIHVzIGJyaW5nIGhvcGUsIG9uZSB2ZXN0IGF0IGEgdGltZSEgVG9nZXRoZXIsIHdlIGNhbiBjaGFuZ2UgbGl2ZXMuPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59IiwgImltcG9ydCB7IFNlY3Rpb24sIFN1YmVzY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgSFBDb2xsYWJzIH0gZnJvbSBcIi4vQ29sbGFib3JhdGlvbnNcIjtcbmltcG9ydCB7IEhQRWR1Y2F0aW9uIH0gZnJvbSBcIi4vRWR1Y2F0aW9uXCI7XG5pbXBvcnQgeyBIUEVudHJlcHJlbmV1ciB9IGZyb20gXCIuL0VudHJlcHJlbmV1cnNoaXBcIjtcbmltcG9ydCB7IEhQT3V0cmVhY2ggfSBmcm9tIFwiLi9PdXRyZWFjaFwiO1xuaW1wb3J0IHsgSFBQYXJ0bmVyc2hpcHMgfSBmcm9tIFwiLi9QYXJ0bmVyc2hpcHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEhQRnVydGhlckVuZ2FnZW1lbnQoKXtcblxuICAgIHJldHVybihcbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJGdXJ0aGVyIEVuZ2FnZW1lbnRcIiBpZD1cIkZ1cnRoZXIgRW5nYWdlbWVudFwiPlxuICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJFZHVjYXRpb25cIiBpZD1cIkZ1cnRoZXIgRW5nYWdlbWVudDFcIj5cbiAgICAgICAgICAgICAgICA8SFBFZHVjYXRpb24vPlxuICAgICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJQdWJsaWMgRW5nYWdlbWVudFwiIGlkPVwiRnVydGhlciBFbmdhZ2VtZW50MlwiPlxuICAgICAgICAgICAgICAgIDxIUE91dHJlYWNoLz5cbiAgICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiRW50cmVwcmVuZXVyc2hpcFwiIGlkPVwiRnVydGhlciBFbmdhZ2VtZW50M1wiPlxuICAgICAgICAgICAgICAgIDxIUEVudHJlcHJlbmV1ci8+XG4gICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkNvbGxhYm9yYXRpb25zXCIgaWQ9XCJGdXJ0aGVyIEVuZ2FnZW1lbnQ0XCI+XG4gICAgICAgICAgICAgICAgPEhQQ29sbGFicy8+XG4gICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIlBhcnRuZXJzaGlwc1wiIGlkPVwiRnVydGhlciBFbmdhZ2VtZW50NVwiPlxuICAgICAgICAgICAgICAgIDxIUFBhcnRuZXJzaGlwcy8+XG4gICAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICApXG59IiwgImltcG9ydCB7IERvd25sb2FkTGluayB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gSFBTdXBwbGVtZW50KCl7XG5cbiAgICByZXR1cm4oXG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiU3VwcGxlbWVudGFyeSBNYXRlcmlhbFwiIGlkPVwiU3VwcGxlbWVudGFyeSBNYXRlcmlhbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxwPkNsaWNrIGhlcmUgdG8gc2VlIG91ciByYXcgZGF0YSBvZiBvdXIgc3VydmVyeXMuPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPERvd25sb2FkTGluayB1cmw9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wZGZzL3Jhdy1kYXRhLXN1cnZleXMucGRmXCIgIGZpbGVOYW1lPVwicmF3LWRhdGEtc3VydmV5cy5wZGZcIj48L0Rvd25sb2FkTGluaz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgKVxufSIsICJpbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIlxuXG5leHBvcnQgZnVuY3Rpb24gSFBBYnN0cmFjdCgpe1xuICAgIFxuICAgIHJldHVybihcbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJBYnN0cmFjdFwiIGlkPVwiQWJzdHJhY3RcIj5cbiAgICAgICAgICAgIDxwPkFzIHRoZSBpR0VNIEJpZWxlZmVsZC1DZUJpVGVjIHRlYW0sIG91ciBwcm9qZWN0IGFpbWVkIHRvIGRldmVsb3AgYSBnZW5lIHRoZXJhcHkgZm9yIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHdpdGggYSBodW1hbi1jZW50ZXJlZCBhcHByb2FjaC4gXG4gICAgICAgICAgICAgICAgRnJvbSB0aGUgYmVnaW5uaW5nLCB3ZSBlbmdhZ2VkIGV4dGVuc2l2ZWx5IHdpdGggQ0YgcGF0aWVudHMsIGNsaW5pY2lhbnMsIHJlZ3VsYXRvcnkgYm9kaWVzLCBhbmQgcmVzZWFyY2hlcnMgdG8gZW5zdXJlIHRoYXQgb3VyIHNvbHV0aW9uIFxuICAgICAgICAgICAgICAgIGFkZHJlc3NlZCByZWFsLXdvcmxkIG5lZWRzLiBXZSBlc3RhYmxpc2hlZCBjb250aW51b3VzIGZlZWRiYWNrIGxvb3BzIHRvIHJlZmluZSBhbmQgZXZvbHZlIG91ciBwcm9qZWN0IGF0IGV2ZXJ5IHN0YWdlLCBpbmNvcnBvcmF0aW5nIGluc2lnaHRzIFxuICAgICAgICAgICAgICAgIGZyb20gZGl2ZXJzZSBzdGFrZWhvbGRlcnMgdG8gY3JlYXRlIGEgcmVzcG9uc2libGUsIGltcGFjdGZ1bCwgYW5kIGV0aGljYWxseSBzb3VuZCB0aGVyYXB5LiBPdXIgbWlzc2lvbiB3YXMgbm90IGp1c3QgdG8gZGV2ZWxvcCBhIHRlY2huaWNhbCBcbiAgICAgICAgICAgICAgICBzb2x1dGlvbiBidXQgdG8gY3JlYXRlIG9uZSB0aGF0IGFsaWducyB3aXRoIHNvY2lldGFsIHZhbHVlcyBhbmQgcGF0aWVudCBleHBlY3RhdGlvbnMuIDwvcD5cbiAgICAgICAgICAgIDxwPk91ciBpbnRlZ3JhdGVkIEh1bWFuIFByYWN0aWNlcyBhcHByb2FjaCB3YXMgbm90IGp1c3QgYW4gYWRkaXRpb24gdG8gb3VyIHByb2plY3RcdTIwMTRpdCB3YXMgdGhlIGZvdW5kYXRpb24gb24gd2hpY2ggZXZlcnkgZGVjaXNpb24gd2FzIGJ1aWx0LiBCeSBhY3RpdmVseSBcbiAgICAgICAgICAgICAgICBlbmdhZ2luZyB3aXRoIGN5c3RpYyBmaWJyb3NpcyAoQ0YpIHBhdGllbnRzLCBoZWFsdGhjYXJlIHByb2Zlc3Npb25hbHMsIGFuZCByZWd1bGF0b3J5IGV4cGVydHMsIHdlIGVuc3VyZWQgdGhhdCB0aGVpciBmZWVkYmFjayBkaXJlY3RseSBzaGFwZWQgb3VyIFxuICAgICAgICAgICAgICAgIHByb2plY3QsIGZyb20gZGVzaWduIHRvIGltcGxlbWVudGF0aW9uLiBPdXIgcGF0aWVudC1jZW50ZXJlZCwgZ2xvYmFsbHkgZm9jdXNlZCBhcHByb2FjaCBub3Qgb25seSBhZGRyZXNzZXMgZGlzcGFyaXRpZXMgaW4gQ0YgdHJlYXRtZW50IGJ1dCBhbHNvIHNldHMgXG4gICAgICAgICAgICAgICAgYSBuZXcgc3RhbmRhcmQgZm9yIGFjY2Vzc2liaWxpdHkgYW5kIGV0aGljYWwgcmVmbGVjdGlvbi4gV2UgZXh0ZW5zaXZlbHkgZG9jdW1lbnRlZCBvdXIgbWV0aG9kb2xvZ2llcywgaW5jbHVkaW5nIENGIGNlbGwgY3VsdHVyZSBwcm90b2NvbHMgYW5kIHN0YWtlaG9sZGVyIFxuICAgICAgICAgICAgICAgIGVuZ2FnZW1lbnQgcHJvY2Vzc2VzLCB0byBlbXBvd2VyIGZ1dHVyZSB0ZWFtcyB0byBidWlsZCB1cG9uIG91ciBzdWNjZXNzLiBPdXIgdGhvdWdodGZ1bCBpbnRlZ3JhdGlvbiBvZiBkaXZlcnNlIHN0YWtlaG9sZGVyIGluc2lnaHRzLCBjb21iaW5lZCB3aXRoIGV4cGVydCBcbiAgICAgICAgICAgICAgICBndWlkYW5jZSBpbiByZWd1bGF0b3J5IGNvbXBsaWFuY2UsIG5hbm9wYXJ0aWNsZSByZXNlYXJjaCwgYW5kIGdlbmUgdGhlcmFweSwgZW5zdXJlcyB0aGF0IG91ciBwcm9qZWN0IGlzIHJlc3BvbnNpYmxlLCBzY2llbnRpZmljYWxseSBzb3VuZCwgYW5kIGdsb2JhbGx5IFxuICAgICAgICAgICAgICAgIGltcGFjdGZ1bC4gPC9wPlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgKVxufSIsICIvKiBcbi0gc2VpdHdcdTAwRTRydHMgXG4tIG1pdCBGYXJiZW4gdW5kIFRleHQgYW56ZWlnZW4gd296dSBkaWUgZ2VoXHUwMEY2cmVuIFxuLSBiZWkgc2hvdyBtb3JlIHVudGVuIGRydW50ZXIgVGFicyBcdTAwRjZmZm5lblxuLSB3ZW5uIG1hbiBhdWYgZGllIFBlcnNvbiBrbGlja3Qgc29sbCBlcyBJbmZvcyBcdTAwRkNiZXIgZGllIFBlcnNvbiBhbnplaWdlbiBcbi0ga2FubiBtbiBkaWUgS2FydGVuIG5hY2ggTGlua3MgdW5kIG5hY2ggcmVjaHRzIGF1c3dlaXRlbiB6YiBmXHUwMEZDciBNZWhyIGluZm9zIGZcdTAwRkNyIGRpZSBQZXJzb24/IFxuLSBGaWx0ZXIgbWl0IEhhbGJrcmVpc0RpbmcgYWxzIFRhYnN0ZXVlcnVuZyB8IEVpbnRlaWx1bmcgbmFjaCBCZXJlaWNoIChBY2FkZW1pYSwgSW5zdXN0cnksIC4uLiwgdW5kIGF1Y2ggbmFjaCBEZWxpdmVyeSB1bmQgTWVjaGFuaXNtKSBcbi0gRE5BIFN0cmFuZyBhbHMgVGltZWxpbmU/IFxuKi9cblxuXG4vKiAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgPGgzPk5hbWU8L2gzPlxuICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInQtdGFnIFRhZ1wiPlxuICAgICAgICAgICAgICAgIEJlcnVmXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5PcmlnaW5hbCBsYW5ndWFnZTogR2VybWFuPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPEJsb2NrUXVvdGVCIHRleHQ9XCJRdW90ZVwiIGNpdGU9XCIuXCI+PC9CbG9ja1F1b3RlQj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTNcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cIm1pZGRsZSBzZWNocHJvXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGxhY2Vob2xkZXJzL3BsYWNlaGlsZGVycGVyc29uLmpwZWdcIi8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aDQ+QWltIG9mIGNvbnRhY3Q8L2g0PlxuICAgICAgICAgICAgPHA+PC9wPlxuICAgICAgICAgICAgPGg0Pkluc2lnaHRzPC9oND5cbiAgICAgICAgICAgIDxwPjwvcD5cbiAgICAgICAgICAgIDxoND5DbGFyaWZpY2F0aW9uPC9oND5cbiAgICAgICAgICAgIDxwPjwvcD5cbiAgICAgICAgICAgIDxoND5JbXBsZW1lbnRhdGlvbjwvaDQ+XG4gICAgICAgICAgICA8cD48L3A+ICovXG5cblxuLypcbiAgPGg0PkFpbSBvZiBjb250YWN0PC9oND5cbiAgPHA+PC9wPlxuICA8aDQ+SW5zaWdodHM8L2g0PlxuICA8cD48L3A+XG4gIDxoND5DbGFyaWZpY2F0aW9uPC9oND5cbiAgPHA+PC9wPlxuICA8aDQ+SW1wbGVtZW50YXRpb248L2g0PlxuICA8cD48L3A+IFxuICAgICAgICAgICAgKi9cbmltcG9ydCB7IG9wZW5FbGVtZW50IH0gZnJvbSBcIi4uLy4uL3V0aWxzL29wZW5FbGVtZW50XCI7XG5pbXBvcnQgeyBIUE92ZXJ2aWV3IH0gZnJvbSBcIi4vT3ZlcndpZXZcIjtcbmltcG9ydCB7IEhQSW50cm9kdWN0aW9uIH0gZnJvbSBcIi4vSW50cm9kdWN0aW9uXCI7XG5pbXBvcnQgeyBIUEludGVncmF0ZWQgfSBmcm9tIFwiLi9JSFBcIjtcbmltcG9ydCB7IEhQRnVydGhlckVuZ2FnZW1lbnQgfSBmcm9tIFwiLi9GdXJ0aGVyIEVuZ2FnZW1lbnQvRnVydGhlckVuZ2FnZW1lbnRcIjtcbmltcG9ydCB7IEhQU3VwcGxlbWVudCB9IGZyb20gXCIuL0Z1cnRoZXIgRW5nYWdlbWVudC9TdXBNYXRlcmlhbFwiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi8uLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBIUEFic3RyYWN0IH0gZnJvbSBcIi4vSFAtYWJzdHJhY3RcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEh1bWFuUHJhY3RpY2VzKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gIFxuICBcbiAgb3BlbkVsZW1lbnQoe2J1dHRvbkNsYXNzOiBcInRhYmJ1dHRvblwiLCBlbGVtZW50VG9PcGVuOiBcIkFsbFwiLCBjbGFzc1RvSGlkZTogXCJ0aW1lbGluZWNhcmR0YWJzXCIsIH0pOyBcblxuICByZXR1cm4gKCAgXG4gICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgIDxIUEFic3RyYWN0Lz5cbiAgICAgIDxIUE92ZXJ2aWV3Lz5cbiAgICAgIDxIUEludHJvZHVjdGlvbi8+XG4gICAgICA8SFBJbnRlZ3JhdGVkLz5cbiAgICAgIDxIUEZ1cnRoZXJFbmdhZ2VtZW50Lz5cbiAgICAgIDxIUFN1cHBsZW1lbnQvPlxuICAgIDwvZGl2PlxuICAgIFxuICBcbiAgKTsgIFxufVxuXG5cbiIsICJpbXBvcnQgeyBjcmVhdGVTaWRlYmFyIH0gZnJvbSBcIi4uL3V0aWxzL2NyZWF0ZVNpZGViYXJcIjtcblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBIcFNpZGViYXIoKXtcbiAgICBsZXQgc2lkZWJhciA9IGNyZWF0ZVNpZGViYXIodGFicyk7IFxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICB7c2lkZWJhcn1cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG5jb25zdCB0YWJzID0gW1xuICAgIHt0YWI6IFwiQWJzdHJhY3RcIn0sIFxuICAgIHsgdGFiOiBcIk92ZXJ2aWV3XCIgfSxcbiAgICB7dGFiOiBcIkludHJvZHVjdGlvblwifSxcbiAgICB7dGFiOiBcIkludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VzXCIsIHN1YnRhYnM6IFtcIkZyYW1ld29ya1wiLCBcIlRpbWVsaW5lXCIsIFwiRmVlZGJhY2sgJiBJbXBsZW1lbnRhdGlvblwiLCBcIkNvbmNsdXNpb25cIl19LFxuICAgIHt0YWI6IFwiRnVydGhlciBFbmdhZ2VtZW50XCIsIHN1YnRhYnM6IFsgXCJFZHVjYXRpb25cIiwgXCJQdWJsaWMgRW5nYWdlbWVudFwiLCBcIkVudHJlcHJlbmV1cnNoaXBcIiwgXCJDb2xsYWJvcmF0aW9uc1wiLCBcIlBhcnRuZXJzaGlwc1wiXX0sXG4gICAge3RhYjogXCJTdXBwbGVtZW50YXJ5IE1hdGVyaWFsXCJ9LFxuICAgIC8vIHt0YWI6IFwiXCJ9LFxuICBdOyIsICJcbmltcG9ydCB7IEgyIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gSW1wcmVzc3VtKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxIMiBpZD1cImltcHJlc3N1bVwiIHRleHQ9XCJJbXByZXNzdW1cIi8+XG4gICAgICAgICAgPGhyIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPGgzPjxiPmlHRU0gVGVhbSBCaWVsZWZlbGQgQ2VCaVRlYyAyMDI0PC9iPjwvaDM+XG4gICAgICAgICAgICA8Yj5SZXNwb25zaWJsZSBmb3IgdGhlIGNvbnRlbnQgYWNjb3JkaW5nIHRvIFx1MDBBNyA1IFRNRyBhbmQgYWNjb3JkaW5nIHRvIFx1MDBBNyA1NSBBYnMuIDIgUlN0ViBHZXJtYW55OjwvYj48YnIgLz5cbiAgICAgICAgICAgIEpcdTAwRjZybiBLYWxpbm93c2tpPGJyIC8+XG4gICAgICAgICAgICBVbml2ZXJzaXRcdTAwRTR0c3N0cmFcdTAwREZlIDI1PGJyIC8+XG4gICAgICAgICAgICAzMzYxNSBCaWVsZWZlbGQ8YnIgLz5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPGI+Q29udGFjdDwvYj48YnIgLz5cbiAgICAgICAgICAgIEUtbWFpbDogdGVhbTIwMjRAaWdlbS1iaWVsZWZlbGQuZGU8YnIgLz5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgPGI+U3VwZXJ2aXNvcnkgQXV0aG9yaXR5PC9iPjxiciAvPlxuICAgICAgICAgICAgQmllbGVmZWxkIFVuaXZlcnNpdHkgLSBDZW50ZXIgZm9yIEJpb3RlY2hub2xvZ3kgKENlQmlUZWMpXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L2Rpdj4gIFxuICAgICAgPC9kaXY+XG4gICAgPC8+XG4gICk7XG59XG4gICIsICJpbXBvcnQgeyBCYWNrVXAgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9CdXR0b25zXCI7XG5pbXBvcnQgSDEsIHsgSDIgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFBhcnRuZXJzKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICA8ZGl2IGlkPVwic2lkZWJhcmJveFwiIGNsYXNzTmFtZT1cImNvbC0xICBkLWxnLWJsb2NrXCI+IDwvZGl2PlxuICAgICAgICA8YnIvPiBcbiAgICAgICAgPEgxICB0ZXh0PVwiQSBiaWcgdGhhbmsgeW91IHRvIGFsbCBvdXIgc3BvbnNvcnMgYW5kIHBhcnRuZXJzIVwiPjwvSDE+XG4gICAgICAgIDxici8+XG4gICAgICAgIDxici8+XG5cbiAgICAgICAgPGJyLz4gXG4gICAgICAgIHsvKiBHT0xEICovfVxuICAgICAgICA8SDIgaWQ9XCJnb2xkXCIgdGV4dD1cIlNwb25zb3IgY2F0ZWdvcnkgR29sZFwiLz5cbiAgICAgICAgPGJyLz4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPiBcbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lciBzcC1hXCIgaHJlZj1cImh0dHBzOi8vd3d3LnVuaS1iaWVsZWZlbGQuZGUvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLWFcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9sb2dvcy10ZWFtL3VuaS1iaWVsZWZlbGQtZHVua2VsLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+PC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXIgc3AtYVwiIGhyZWY9XCJodHRwczovL3d3dy5jZWJpdGVjLnVuaS1iaWVsZWZlbGQuZGUvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLWFcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9jZWJpdGVjLWZhcmJlLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxici8+IFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnIvPiBcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNSBzcG9uc29yLXBvcnRyYWl0XCI+XG4gICAgICAgICAgICA8YSBocmVmPVwiaHR0cDovL3d3dy56ZWlzcy5kZS9uYXR1cndpc3NlbnNjaGFmdGVuXCI+XG4gICAgICAgICAgICA8ZGl2IGlkPVwiemVpc3MtcG9ydHJhaXRcIiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGltZyBpZD1cInplaXNzLXBvcnRyYWl0LWxvZ29cIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy96ZWlzcy5wbmdcIj48L2ltZz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgaWQ9XCJ6ZWlzcy10ZXh0XCIgY2xhc3NOYW1lPVwiY29sIHNwb25zb3ItdGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgPGg0PlpFSVNTIGlzdCBUZWNobm9sb2dpZS4gWkVJU1MgaXN0IE9wdGlrIHVuZCBJbm5vdmF0aW9uLjwvaDQ+XG4gICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgPHA+V2UgZGV2ZWxvcCwgbWFudWZhY3R1cmUgYW5kIHNlbGwgaGlnaGx5IGlubm92YXRpdmUgcHJvZHVjdHMgYW5kIHNvbHV0aW9ucyBmb3Igb3VyIGN1c3RvbWVycyBpbiBhIHdpZGUgcmFuZ2Ugb2YgYnVzaW5lc3MgYXJlYXMgLSBhbmQgaW4gZG9pbmcgc28sIHdlIHB1c2ggdGhlIGJvdW5kYXJpZXMgb2Ygd2hhdCBpcyBwb3NzaWJsZS4gQXMgYSBsZWFkaW5nIGdsb2JhbCB0ZWNobm9sb2d5IGNvbXBhbnkgd2l0aCBhIHN0cm9uZyBicmFuZCBhbmQgYSBwb3J0Zm9saW8gdGhhdCBpcyBnZWFyZWQgdG93YXJkcyBmdXR1cmUgZ3Jvd3RoIGFyZWFzIHN1Y2ggYXMgZGlnaXRhbGl6YXRpb24sIGhlYWx0aGNhcmUgYW5kIEluZHVzdHJ5IDQuMCwgd2UgYXJlIHNoYXBpbmcgdGhlIGZ1dHVyZSBmYXIgYmV5b25kIHRoZSBvcHRpY2FsIGFuZCBvcHRvZWxlY3Ryb25pYyBzZWN0b3IuIFpFSVNTJyBzdWNjZXNzIGFuZCB0aGUgY29udGludWVkIGV4cGFuc2lvbiBvZiBpdHMgdGVjaG5vbG9neSBhbmQgbWFya2V0IGxlYWRlcnNoaXAgYXJlIGJhc2VkIG9uIGl0cyBzdXN0YWluZWQgaGlnaCBsZXZlbCBvZiBpbnZlc3RtZW50IGluIHJlc2VhcmNoIGFuZCBkZXZlbG9wbWVudC4gRm91bmRlZCBpbiBKZW5hIGluIDE4NDYsIHRoZSBjb21wYW55IGlzIGhlYWRxdWFydGVyZWQgaW4gT2JlcmtvY2hlbiwgR2VybWFueS4gVGhlIHNvbGUgb3duZXIgb2YgdGhlIHBhcmVudCBjb21wYW55LCBDYXJsIFplaXNzIEFHLCBpcyB0aGUgQ2FybCBaZWlzcyBGb3VuZGF0aW9uLCBvbmUgb2YgdGhlIGxhcmdlc3QgR2VybWFuIGZvdW5kYXRpb25zIGZvciB0aGUgcHJvbW90aW9uIG9mIHNjaWVuY2UuPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgXG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnIvPiA8YnIvPiBcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBpZD1cImlkdC10ZXh0XCIgY2xhc3NOYW1lPVwiY29sIHNwb25zb3ItdGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgIDxoND5BY2NlbGVyYXRlIHRoZSBwYWNlIG9mIGdlbm9taWNzLiBXZSdsbCBoZWxwLjwvaDQ+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxwPiBGb3IgbW9yZSB0aGFuIDM1IHllYXJzLCBJbnRlZ3JhdGVkIEROQSBUZWNobm9sb2dpZXMgKElEVCkgIGhhcyBlbXBvd2VyZWQgZ2Vub21pY3MgbGFib3JhdG9yaWVzIHdpdGggYW4gb2xpZ29udWNsZW90aWRlIG1hbnVmYWN0dXJpbmcgcHJvY2VzcyB1bmxpa2UgYW55b25lIGVsc2UgaW4gdGhlIGluZHVzdHJ5LCBmZWF0dXJpbmcgdGhlIG1vc3QgYWR2YW5jZWQgc3ludGhlc2lzLCBtb2RpZmljYXRpb24sIHB1cmlmaWNhdGlvbiwgYW5kIHF1YWxpdHkgY29udHJvbCBjYXBhYmlsaXRpZXMgYXZhaWxhYmxlLiBJRFQgaGFzIHN1cHBvcnRlZCBpR0VNIHRlYW0gZm9yIG92ZXIgYSBkZWNhZGUgd2l0aCAyMGtiIG9mIGZyZWUgRE5BIHRvIGhlbHAgYWNjZWxlcmF0ZSB0aGVpciBpbnNwaXJpbmcgcHJvamVjdHMgZm9yIHRoZSBHcmFuZCBKYW1ib3JlZS4gU2luY2UgaXRzIGZvdW5kaW5nIGluIDE5ODcsIElEVCBoYXMgcHJvZ3Jlc3NlZCBmcm9tIGEgbGVhZGluZyBvbGlnbyBtYW51ZmFjdHVyZXIgdG8gYSBnZW5vbWljcyBzb2x1dGlvbnMgcHJvdmlkZXIgc3VwcG9ydGluZyBrZXkgYXBwbGljYXRpb24gYXJlYXMgc3VjaCBhcyBuZXh0IGdlbmVyYXRpb24gc2VxdWVuY2luZywgQ1JJU1BSIGdlbm9tZSBlZGl0aW5nLCBzeW50aGV0aWMgYmlvbG9neSwgZGlnaXRhbCBQQ1IsIGFuZCBSTkEgaW50ZXJmZXJlbmNlLiBJRFQgbWFudWZhY3R1cmVzIHByb2R1Y3RzIHVzZWQgYnkgc2NpZW50aXN0cyByZXNlYXJjaGluZyB0aGUgdG91Z2hlc3QgY2hhbGxlbmdlcyBmYWNpbmcgb3VyIHBsYW5ldCB0b2RheSBhcyB3ZWxsIGFzIG1hbnkgZm9ybXMgb2YgY2FuY2VyIGFuZCBtb3N0IGluaGVyaXRlZCBhbmQgaW5mZWN0aW91cyBkaXNlYXNlcy4gPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL3d3dy5pZHRkbmEuY29tL1wiIGlkPVwiaWR0LXBvcnRyYWl0XCIgY2xhc3NOYW1lPVwiY29sLTUgc3BvbnNvci1wb3J0cmFpdFwiPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxici8+IDxici8+IFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICA8ZGl2IGlkPVwiaW50ZWdyYS1wb3J0cmFpdFwiIGNsYXNzTmFtZT1cImNvbC01IHNwb25zb3ItcG9ydHJhaXRcIj5cbiAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cuaW50ZWdyYS1iaW9zY2llbmNlcy5jb21cIj5cbiAgICAgICAgICAgIDxpbWcgaWQ9XCJpbnRlZ3JhLXBvcnRyYWl0LWxvZ29cIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9pbnRlZ3JhLWhpbnRlcmxlZ3QuanBlZ1wiPjwvaW1nPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGlkPVwiaW50ZWdyYS10ZXh0XCIgY2xhc3NOYW1lPVwiY29sIHNwb25zb3ItdGV4dC1yaWdodFwiPlxuICAgICAgICAgICAgPGg0PiBZb3VyIFJlbGlhYmxlIFBhcnRuZXIgRm9yIFByb2R1Y3RpdmUgUGlwZXR0ZXMgPC9oND5cbiAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgIElOVEVHUkEgQmlvc2NpZW5jZXMgaXMgYVxuICAgICAgICAgICAgbGVhZGluZyBwcm92aWRlciBvZiBoaWdoLXF1YWxpdHkgbGFib3JhdG9yeSB0b29scyBhbmQgY29uc3VtYWJsZXMgZm9yXG4gICAgICAgICAgICBsaXF1aWQgaGFuZGxpbmcuIFRoZSBjb21wYW55IGlzIGNvbW1pdHRlZCB0byBjcmVhdGluZyBpbm5vdmF0aXZlXG4gICAgICAgICAgICBzb2x1dGlvbnMgd2hpY2ggZnVsZmlsIHRoZSBuZWVkcyBvZiBpdHMgY3VzdG9tZXJzIGluIHJlc2VhcmNoLCBkaWFnbm9zdGljc1xuICAgICAgICAgICAgYW5kIHF1YWxpdHkgY29udHJvbCB3aXRoaW4gdGhlIGxpZmUgc2NpZW5jZXMgbWFya2V0cyBhbmQgbWVkaWNhbCBzZWN0b3IuXG4gICAgICAgICAgICBJTlRFR1JBXHUyMDE5cyBlbmdpbmVlcmluZyBhbmQgcHJvZHVjdGlvbiB0ZWFtcyBpbiBaaXplcnMsIFN3aXR6ZXJsYW5kIGFuZFxuICAgICAgICAgICAgSHVkc29uLCBOSCwgVVNBLCBzdHJpdmUgdG8gZGV2ZWxvcCBhbmQgbWFudWZhY3R1cmUgaW5zdHJ1bWVudHMgYW5kXG4gICAgICAgICAgICBjb25zdW1hYmxlcyBvZiBvdXRzdGFuZGluZyBxdWFsaXR5LiBUb2RheSwgSU5URUdSQVx1MjAxOXMgaW5ub3ZhdGl2ZVxuICAgICAgICAgICAgbGFib3JhdG9yeSBwcm9kdWN0cyBhcmUgd2lkZWx5IHVzZWQgYWxsIGFyb3VuZCB0aGUgd29ybGQgd2hlcmUgdGhleSBoZWxwXG4gICAgICAgICAgICBzY2llbnRpc3RzIGFjY2VsZXJhdGUgc2NpZW50aWZpYyBkaXNjb3ZlcnkuIE91ciByZXZvbHV0aW9uYXJ5IGNvbmNlcHRcbiAgICAgICAgICAgIGNvbWJpbmVzIGlubm92YXRpdmUgcGlwZXR0aW5nIHdpdGggdGhlIG1vc3QgbW9kZXJuIHJvYm90aWNzLlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz4gPGJyLz4gXG4gICAgICAgIHsvKiBTSUxWRVIgKi99XG4gICAgICAgIDxIMiB0ZXh0PVwiU3BvbnNvciBjYXRlZ29yeSBzaWx2ZXJcIiBpZD1cInNpbHZlclwiLz5cbiAgICAgICAgPGJyLz4gPGJyLz5cbiAgICAgICAgPGRpdiBpZD1cInByb2plY3QtcG9ydHJhaXRcIiBjbGFzc05hbWU9XCJzcG9uc29yLXBvcnRyYWl0XCIgc3R5bGU9e3twYWRkaW5nOiBcIjIwcHhcIn19PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cuenltb3Jlc2VhcmNoLmNvbS9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvenltby5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cuc3RlbWNlbGwuY29tL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9zdGVtY2VsbC1sb2dvLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cucGxhc21pZGZhY3RvcnkuY29tL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9wbGFzbWlkZmFjdG9yeS5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+IFxuICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy5kcndvbGZmZ3JvdXAuY29tL2VuL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9sb2dvLXdvbGZmLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly9zbmFwZ2VuZS5jb21cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvc25hcGdlbmUucG5nXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL2Jpby5ucncuZGUvXCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9iaW9ucnctbG9nby5wbmdcIi8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz4gPGJyLz4gXG4gICAgICAgIHsvKiBCUk9OWkUgKi99XG4gICAgICAgIDxIMiB0ZXh0PVwiU3BvbnNvciBjYXRlZ29yeSBicm9uemVcIiBpZD1cImJyb256ZVwiPjwvSDI+XG4gICAgICAgIDxici8+IDxici8+XG4gICAgICAgIDxkaXYgaWQ9XCJwcm9qZWN0LXBvcnRyYWl0XCIgY2xhc3NOYW1lPVwic3BvbnNvci1wb3J0cmFpdFwiIHN0eWxlPXt7cGFkZGluZzogXCIyMHB4XCJ9fT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LnByb21lZ2EuY29tXCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9wcm9tZWdhLWdlbGIucG5nXCIvPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj4gIFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cubWljcm9zeW50aC5jb21cIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL21pY3Jvc3ludGgtbG9nby5wbmdcIi8+XG4gICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cubmViLmNvbS9lbi9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvbmViLWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxici8+IDxici8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgaWQ9XCJwcm9qZWN0LXRleHRcIiBjbGFzc05hbWU9XCJjb2wgc3BvbnNvci10ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgPEgyIHRleHQ9XCJCRkggTWVldFVwIHNwb25zb3JzXCIgaWQ9XCJiZmgtc3BvbnNvcnNcIi8+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxwPjwvcD4gXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBpZD1cInByb2plY3QtcG9ydHJhaXRcIiBjbGFzc05hbWU9XCJjb2wtNSBzcG9uc29yLXBvcnRyYWl0XCIgc3R5bGU9e3twYWRkaW5nOiBcIjIwcHhcIn19PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy5naXAuY29tL2hvbWUvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2dpcC5wbmdcIiAvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cuamVuYWJpb3NjaWVuY2UuY29tL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9qYnMtZHVua2VsZ3J1ZW4tdGV4dC5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vdi1iaW8udmVudHVyZXMvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL3ZiaW8tbG9nby5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gXG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3Lm1uLW5ldC5jb20vXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL21uLWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy5maXotYmlvdGVjaC5kZS9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvZml6LWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+IFxuICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy5jZWxsc2lnbmFsLmNvbS9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY2VsbC1zaWduYWxpbmctdGVjaG5vbG9neS1sb2dvLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly9nYXNiLmRlL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9nYXNiLWxvZ28uanBnXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz4gPGJyLz4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgaWQ9XCJtZWV0dXAtcG9ydHJhaXRcIiBjbGFzc05hbWU9XCJjb2wtNSBzcG9uc29yLXBvcnRyYWl0XCIgc3R5bGU9e3twYWRkaW5nOiBcIjIwcHhcIn19PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LmFzaW1vdi5jb20vXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2FzaW1vdi1jb2xvcmZ1bC5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cudW5pLWJpZWxlZmVsZC5kZS9mYWt1bHRhZXRlbi90ZWNobmlzY2hlLWZha3VsdGFldC9hcmJlaXRzZ3J1cHBlbi9tdWx0aXNjYWxlLWJpb2VuZ2luZWVyaW5nL2NhbXB1c2JyYXVlcmVpL1wiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY2FtcHVzLWJyYXVlcmVpLnBuZ1wiLz5cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL2FsZ2VuaXVtLmRlL2FsZ2VuaXVtL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9hbGdlbml1bS5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly8yMDI0LmlnZW0ud2lraS9ndS1mcmFua2Z1cnQvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xvZ29zLXRlYW0vb3RoZXItdGVhbXMvZ3UtZnJhbmtmdXJ0LWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly9idHMtZXYuZGUvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvYnRzLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+IFxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovLzIwMjQuaWdlbS53aWtpL2hhbWJ1cmcvXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2xvZ29zLXRlYW0vb3RoZXItdGVhbXMvaWdlbS1oYW1idXJnLWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy5zdHVkLXNjaWNvbS5kZS9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvc3R1ZHNjaWNvbS1sb2dvLnBuZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgXG4gICAgICAgICAgPGRpdiBpZD1cIm1lZXR1cC10ZXh0XCIgY2xhc3NOYW1lPVwiY29sIHNwb25zb3ItdGV4dC1yaWdodFwiIHN0eWxlPXt7dGV4dEFsaWduOiBcInJpZ2h0XCJ9fT5cbiAgICAgICAgICAgIDxIMiB0ZXh0PVwiYW5kIGNvbGxhYm9yYXRvcnMgXCIgaWQ9XCJiZmgtY29sbGFic1wiLz5cbiAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnIvPiA8YnIvPlxuICAgICAgICA8SDIgdGV4dD1cIk90aGVyIGNvbGxhYm9yYXRvcnNcIiBpZD1cIm90ZWhyc1wiLz5cbiAgICAgICAgPGJyLz4gPGJyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgPGRpdiBpZD1cImlkdC10ZXh0XCIgY2xhc3NOYW1lPVwiY29sIHNwb25zb3ItdGV4dC1sZWZ0XCI+XG4gICAgICAgICAgICAgIDxoND5DaGFuZ2luZyBDRiBsaXZlcyBhcm91bmQgdGhlIHdvcmxkLCBvbmUgdmVzdCBhdCBhIHRpbWUuPC9oND5cbiAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgPHA+QWZ0ZXIgYmVpbmcgY29udGFjdGVkIHVuZXhwZWN0ZWRseSBieSB0d28gcHJldmlvdXNseSB1bmtub3duIEN5c3RpYyBGaWJyb3NpcyBwYXRpZW50cyBpbiBDaGlsZSBhbmQgTGViYW5vbiBtb250aHMgYXBhcnQgaW4gZWFybHkgMjAyMCB0byByZXF1ZXN0IHRoZXJhcHkgdmVzdHMsIHRoZSBncmVhdCBuZWVkIGZvciB0aGlzIGVxdWlwbWVudCB0byBDRiBwYXRpZW50cyBhcm91bmQgdGhlIHdvcmxkIGJlY2FtZSBxdWlja2x5IGV2aWRlbnQuICBDRiBWZXN0cyBXb3JsZHdpZGUgd2FzIGVzdGFibGlzaGVkIGluIEp1bmUgMjAyMCB0byBtZWV0IHRoaXMgbmVlZC4gIFRoZSBtaXNzaW9uIG9mIENGIFZlc3RzIFdvcmxkd2lkZSBpcyB0byBkb25hdGUgbGlmZXNhdmluZyB0aGVyYXB5IHZlc3RzLCB3aXRoIGEgY29zdCBvZiBuZWFybHkgJDIwLDAwMCwgZm9yIHRob3NlIHdpdGggQ3lzdGljIEZpYnJvc2lzIG91dHNpZGUgb2YgdGhlIFVuaXRlZCBTdGF0ZXMuICBUaGUgbGlmZSBleHBlY3RhbmN5IG9mIENGIHBhdGllbnRzIG91dHNpZGUgdGhlIFUuUy4gY2FuIGJlIGFzIGxpbWl0ZWQgYXMgYXBwcm94aW1hdGVseSAyNCB5ZWFycyBvZiBhZ2UuICBUaGVzZSB0aGVyYXB5IHZlc3RzIG1lYW4gZXZlcnl0aGluZyB0byB0aGUgQ0YgcGF0aWVudCBhbmQgdGhlaXIgZmFtaWx5LiAgRnVydGhlciwgaW4gbW9zdCBDRiBjb21tdW5pdGllcyBpbiB0aGUgNTkgY291bnRyaWVzIHdoZXJlIENGIFZlc3RzIFdvcmxkd2lkZSBoYXMgZG9uYXRlZCBvdmVyIDMzMCB0aGVyYXB5IHZlc3RzLCBhY2Nlc3MgdG8gdGhlIG1vc3QgYmFzaWMgQ3lzdGljIEZpYnJvc2lzIG1lZGljYXRpb24gaXMgZWl0aGVyIGxpbWl0ZWQgb3Igbm9uLWV4aXN0ZW50LiAgSW4gdGhlc2UgY2FzZXMsIGEgdGhlcmFweSB2ZXN0IGRvbmF0ZWQgYnkgQ0YgVmVzdHMgV29ybGR3aWRlIGlzIHRoZSBvbmx5IGhvcGUgZm9yIGNvbWZvcnQgYW5kIGFuIGV4dGVuZGVkIGxpZmUuPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgaWQ9XCJcIiBjbGFzc05hbWU9XCJjb2wtNSBzcG9uc29yLXBvcnRyYWl0XCI+XG4gICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly93d3cuY2Z2d3cub3JnL1wiPlxuICAgICAgICAgICAgICA8aW1nIGlkPVwidmVzdHMtcG9ydHJhaXQtbG9nb1wiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2NmdmVzdHNsb2dvLnBuZ1wiPjwvaW1nPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJyLz4gPGJyLz5cbiAgICAgICAgPGRpdiBpZD1cIm1lZXR1cC1wb3J0cmFpdFwiIGNsYXNzTmFtZT1cInNwb25zb3ItcG9ydHJhaXRcIiBzdHlsZT17e3BhZGRpbmc6IFwiMjBweFwifX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LmNhcmxyb3RoLmRlL1wiPlxuICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvci1wYXJ0bmVyLXBhZ2VcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9yb3RoLmpwZ1wiLz5cbiAgICAgICAgICAgICAgPC9hPiBcbiAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cudW5pLWJpZWxlZmVsZC5kZS9mYWt1bHRhZXRlbi90ZWNobmlzY2hlLWZha3VsdGFldC9cIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL3RlY2hmYWsuanBnXCIvPlxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+ICBcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LnNhcnN0ZWR0LmNvbS9lbi9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvc2Fyc3RlZHQtbG9nby5wbmdcIi8+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL2NvcmRlbnBoYXJtYS5jb20vXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY29yZGVuLXBoYXJtYS1sb2dvLnBuZ1wiLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICB7LyogbGVlciAqL31cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cuY2Fwcmljb3JuLXNjaWVudGlmaWMuY29tL2VuXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3ItcGFydG5lci1wYWdlXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY2Fwcmljb3JuLWxvZ28ucG5nXCIvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL3d3dy50d2lzdGJpb3NjaWVuY2UuY29tL1wiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yLXBhcnRuZXItcGFnZVwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL3R3aXN0LWJpb3NjaWVuY2UtbG9nby5wbmdcIi8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIHsvKiBsZWVyICovfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxCYWNrVXAvPiBcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgIiwgImltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuXG5leHBvcnQgZnVuY3Rpb24gU3VwcGxlbWVudGFyeSgpIHtcbiAgdXNlVGFiTmF2aWdhdGlvbigpO1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgIFxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgIFxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgIiwgImltcG9ydCB7IEJ1dHRvbk9uZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IFFhQm94LCBTcGVjaWFsUWFCb3ggfSBmcm9tIFwiLi4vY29tcG9uZW50cy9Cb3hlc1wiO1xuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQgeyAgSDMgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkaW5nc1wiO1xuaW1wb3J0IHsgb3BlbkZyb21PdGhlclBhZ2UgfSBmcm9tIFwiLi4vdXRpbHMvb3BlbkZyb21PdGhlcnBBZ2VcIjtcbmV4cG9ydCBmdW5jdGlvbiBJbnRzKCkge1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICAgICAgICBjb25zdCBjb2xsYXBzZUlkID0gcGFyYW1zLmdldCgnY29sbGFwc2VJZCcpO1xuICAgICAgICBjb25zdCB0YWJJZCA9IHBhcmFtcy5nZXQoJ3RhYicpO1xuXG4gICAgICAgIC8vIFNjcm9sbCB0byB0aGUgc2VjdGlvbiBzcGVjaWZpZWQgYnkgY29sbGFwc2VJZFxuICAgICAgICBpZiAoY29sbGFwc2VJZCkge1xuICAgICAgICAgICAgY29uc3QgY29sbGFwc2VFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29sbGFwc2VJZCk7XG4gICAgICAgICAgICBpZiAoY29sbGFwc2VFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGNvbGxhcHNlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3AgKyB3aW5kb3cucGFnZVlPZmZzZXQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gd2luZG93LmlubmVySGVpZ2h0IC8gMiAtIGNvbGxhcHNlRWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbFBvc2l0aW9uID0gZWxlbWVudFRvcCAtIG9mZnNldDtcblxuICAgICAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogc2Nyb2xsUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9wZW4gdGhlIHRhYiBzcGVjaWZpZWQgYnkgdGFiSWRcbiAgICAgICAgaWYgKHRhYklkKSB7XG4gICAgICAgICAgICBvcGVuRnJvbU90aGVyUGFnZSh0YWJJZCkoeyBjdXJyZW50VGFyZ2V0OiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJJZCkhIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2xvY2F0aW9uLnNlYXJjaF0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG5cblxuICAgICAgICA8YnIvPlxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJjb2xcIiBpZD1cImp1bGlhSFwiPlxuICAgICAgICAgIDxoMyBpZD1cImp1bGlhXCI+SnVsaWE8L2gzPlxuICAgICAgICAgICAgICA8aHIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidC10YWcgUGF0aWVudFwiPlxuICAgICAgICAgICAgICAgIFBhcmVudFxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+T3JpZ2luYWwgbGFuZ3VhZ2U6IEdlcm1hbjwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbnRlcnZpZXctaW1nXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2hwL2p1bGlhLmpwZ1wiLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPEgzIGlkPVwianVsaWFub3Rlc1wiIHRleHQ9XCJOb3RlcyBmcm9tIHRoZSBpbnRlcnZpZXdcIi8+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJRdWVzdGlvblwiXG4gICAgICAgICAgICAgICAgICBhPVwiQW5zd2VyXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDxici8+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cImNvbFwiIGlkPVwibmljb2xlSFwiPlxuICAgICAgICA8aDMgaWQ9XCJuaWNvbGVcIj5OaWNvbGUgRnJpZWRsZWluPC9oMz5cbiAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInQtdGFnIEFjYWRlbWlhXCI+XG4gICAgICAgICAgICAgICAgQWNhZGVtaWFcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPk9yaWdpbmFsIGxhbmd1YWdlOiBHZXJtYW48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImludGVydmlldy1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPEgzIGlkPVwibmljb2xlbm90ZXNcIiB0ZXh0PVwiTm90ZXMgZnJvbSB0aGUgaW50ZXJ2aWV3XCIvPlxuICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiUXVlc3Rpb25cIlxuICAgICAgICAgICAgICAgICAgYT1cIkFuc3dlclwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8YnIvPlxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJjb2xcIiBpZD1cIm1hdHRpanNIXCI+XG4gICAgICAgICAgPGgzIGlkPVwibWF0dGlqc1wiPk1hdHRpanMgQnVsY2VhbjwvaDM+XG4gICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0LXRhZyBBY2FkZW1pYVwiPlxuICAgICAgICAgICAgICAgICAgQWNhZGVtaWFcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPk9yaWdpbmFsIGxhbmd1YWdlOiBFbmdsaXNoPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImludGVydmlldy1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvbWF0dGlqcy5qcGdcIi8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25PbmUgdGV4dD1cIkVyc3RlcyBJbnRlcnZpZXdcIiBvcGVuPVwibWF0dGlqc2ludjFcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiWndlaXRlcyBJbnRlcnZpZXdcIiBvcGVuPVwibWF0dGlqc2ludjJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGN5Y2xldGFiXCIgaWQ9XCJtYXR0aWpzaW52MVwiIHN0eWxlPXt7ZGlzcGxheTogXCJibG9ja1wifX0+XG4gICAgICAgICAgICAgIDxIMyBpZD1cIm1hdHRpanNub3RlczFcIiB0ZXh0PVwiTm90ZXMgZnJvbSB0aGUgZmlyc3QgaW50ZXJ2aWV3XCIvPlxuICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiUXVlc3Rpb25cIlxuICAgICAgICAgICAgICAgICAgYT1cIkFuc3dlclwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgY3ljbGV0YWJcIiBpZD1cIm1hdHRpanNpbnYyXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICA8SDMgaWQ9XCJtYXR0aWpzbm90ZXMyXCIgIHRleHQ9XCJOb3RlcyBmcm9tIHRoZSBzZWNvbmQgaW50ZXJ2aWV3XCIvPlxuICAgICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiUXVlc3Rpb25cIlxuICAgICAgICAgICAgICAgICAgYT1cIkFuc3dlclwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8YnIvPlxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJjb2xcIiBpZD1cIndlc3Rob2ZmSFwiPlxuICAgICAgICAgIDxoMyBpZD1cIndlc3Rob2ZmXCI+S2F0cmluIFdlc3Rob2ZmPC9oMz5cbiAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInQtdGFnIE1lZGljYWxcIj5cbiAgICAgICAgICAgICAgICBQaHlzaW90aGVyYXBpc3RcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPk9yaWdpbmFsIGxhbmd1YWdlOiBHZXJtYW48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0zXCI+XG4gICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImludGVydmlldy1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvaHAta2F0cmluLXBvcnRyYWl0LmpwZ1wiLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGgzPk5vdGVzIGZyb20gdGhlIGludGVydmlldzwvaDM+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgIHsvKiA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJRdWVzdGlvblwiXG4gICAgICAgICAgICAgICAgICBhPVwiQW5zd2VyXCJcbiAgICAgICAgICAgICAgICAgIC8+ICovfVxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiRnJvbSB3aGF0IGFnZSBkbyB0aGUgcGF0aWVudHMgY29tZSB0byB5b3U/XCJcbiAgICAgICAgICAgICAgICAgIGE9XCJUaGUgcGF0aWVudHMgY29tZSB0byB1cyBhdCBhIHZlcnkgZWFybHkgYWdlLiBJdCBpcyBhbHdheXMgdmVyeSBkaWZmaWN1bHQsIGZvciB0aGUgcGFyZW50cyBpbiBwYXJ0aWN1bGFyLCB0byBkZWFsIHdpdGggdGhlIG5ldyBzaXR1YXRpb24uIEEgZGVmaW5pdGUgZGlhZ25vc2lzIGlzIG1hZGUgYWZ0ZXIgNiB3ZWVrcyBhdCB0aGUgbGF0ZXN0LiBPbmNlIHRoZSBkaWFnbm9zaXMgaGFzIGJlZW4gbWFkZSwgdGhlIHdob2xlIGZhbWlseSBpcyBnZW5ldGljYWxseSB0ZXN0ZWQsIGkuZS4gdGhlIHBhcmVudHMgYW5kIHNpYmxpbmdzLlwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiSG93IGxvbmcgZG8gdGhleSBzdGF5P1wiXG4gICAgICAgICAgICAgICAgICBhPVwiV2hlbiB0aGUgY2hpbGRyZW4gYXJlIGRpc2NoYXJnZWQgZnJvbSBob3NwaXRhbCwgdGhleSBhcmUgaW1tZWRpYXRlbHkgc2VudCBmb3IgcGh5c2lvdGhlcmFweS4gSG93ZXZlciwgdGhlcmFweSBvZnRlbiBzdGFydHMgaW4gaG9zcGl0YWwuIFRoZXNlIG9mdGVuIGFsc28gaGF2ZSBDRiBvdXRwYXRpZW50IGNsaW5pY3MsIHN1Y2ggYXMgdGhlIEJldGhlbCBDbGluaWMgaW4gQmllbGVmZWxkLlwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiSG93IG1hbnkgcGF0aWVudHMgZG8geW91IHRyZWF0P1wiXG4gICAgICAgICAgICAgICAgICBhPVwiV2UgY3VycmVudGx5IGhhdmUgOCBjaGlsZHJlbiB3aXRoIGN5c3RpYyBmaWJyb3NpcyBpbiBvdXIgbWVkaWNhbCBwcmFjdGljZSwgd2hpY2ggaXMgcXVpdGUgYSBsb3QuIEhvd2V2ZXIsIGlmIHlvdSBjb21wYXJlIHRoaXMgbnVtYmVyIHdpdGggb3RoZXIgZGlzZWFzZXMsIGl0IGlzIHJhdGhlciBhIHNtYWxsIG51bWJlci4gV2UgaGF2ZSBzbGlnaHRseSBtb3JlIGNoaWxkcmVuIHdpdGggY3lzdGljIGZpYnJvc2lzIGluIG91ciBwcmFjdGljZSBiZWNhdXNlIHdlIHNwZWNpYWxpemUgaW4gaXQsIGFtb25nIG90aGVyIGRpc2Vhc2VzLlwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFNwZWNpYWxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIldoYXQga2luZCBvZiBleGVyY2lzZXMgZG8geW91IGRvP1wiPlxuICAgICAgICAgICAgICAgICAgICA8cD5XZSBkbyBhIGxvdCBvZiBicmVhdGhpbmcgdGhlcmFweS4gSW4gYW55IGNhc2UsIGl0IGlzIGltcG9ydGFudCB0byBzYXkgdGhhdCB3ZSBoYXZlIGF0dGVuZGVkIHNwZWNpYWwgdHJhaW5pbmcgY291cnNlcyBmb3IgQ0YgdGhhdCBoYXZlIHNob3duIHVzIG5ldyB0ZWNobmlxdWVzLiBJbiBnZW5lcmFsLCB0aGUgc2FtZSB0aGluZ3MgYXJlIHRhdWdodCBpbiB0cmFpbmluZyBhcyAyNSB5ZWFycyBhZ28sIGJ1dCB1bmZvcnR1bmF0ZWx5IHRoaXMgZG9lc24ndCBoZWxwIENGIHBhdGllbnRzIGFzIHdlbGwgYXMgdGhlIG5ldyB0ZWNobmlxdWVzLiBUaGUgY3VycmVudCBnb2xkIHN0YW5kYXJkIGlzIGF1dG9nZW5vdXMgZHJhaW5hZ2UgYWNjb3JkaW5nIHRvIENoZXZhbGxpZXIuIFRoaXMgd29ya3MgdmVyeSB3ZWxsISBJbiBnZW5lcmFsLCB0aGUgbWFpbiBwcm9ibGVtIGlzIHRoZSBtdWN1cyB0aGF0IGNhbm5vdCBiZSByZW1vdmVkLiBXaXRoIGF1dG9nZW5vdXMgZHJhaW5hZ2UsIHRoZSBjaGVzdCBpcyBjb21wcmVzc2VkLCB3aGljaCBmb3JjZXMgdGhlIG11Y3VzIG91dC4gSXQncyBsaWtlIGNsZWFuaW5nIHRoZSBsdW5ncyBmcm9tIHRoZSBpbnNpZGUsIHdoaWNoIHdvcmtzIHJlYWxseSB3ZWxsLiBJdCBpcyBhbHNvIHZlcnkgaW1wb3J0YW50IHRvIGluaGFsZSwgd2hlcmVieSB0aGVyZSBhcmUgMyBkaWZmZXJlbnQgbGV2ZWxzIG9mIHNhbHQgY29udGVudCAoMC45JSwgMyUgb3IgNiUpLiBDaGlsZHJlbiB3aXRoIENGIGFsd2F5cyB1c2UgYXQgbGVhc3QgMyUgc2FsdCBjb250ZW50LjwvcD5cbiAgICAgICAgICAgICAgICAgICAgPHA+T3VyIGdlbmVyYWwgcm91dGluZSBpcyBhcyBmb2xsb3dzOiA8L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgICAgIDxvbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT53ZXQgaW5oYWxhdGlvbiwgYXMgbW9pc3R1cmUgYmluZHMgbXVjdXM8L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpPmRyYWluYWdlIHRvIGdldCBtdWN1cyBvdXQgb2YgdGhlIGx1bmdzPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5hbnRpYmlvdGljcywgbm93IHRoZSBtZWRpY2F0aW9uIGNhbiB3b3JrIGJlc3QgYXMgdGhlIGx1bmdzIGFyZSBjbGVhbiBhbmQgZGlsYXRlZDwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgPC9vbD5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD5UaGVyZSBhcmUgYWxzbyBzby1jYWxsZWQgXHUyMDFDbWFnaWMgcG9pbnRzXHUyMDFELiBDb21wcmVzc2lvbiBvZiB0aGVzZSBwb2ludHMgbGVhZHMgdG8gdGhlIGJlc3QgcG9zc2libGUgdmVudGlsYXRpb24gb2YgdGhlIGx1bmdzLiBUaGVyZSBhcmUgc3BlY2lhbCBiZWx0cyBmb3IgY29tcHJlc3NpbmcgdGhlc2UgcG9pbnRzIHRoYXQgcGF0aWVudHMgY2FuIHdlYXIgYXQgaG9tZSB0byBoZWxwIHRoZW0gYnJlYXRoZSBiZXR0ZXIuIE9sZGVyIHBhdGllbnRzIHdlYXIgdGhlc2UgYmVsdHMgZHVyaW5nIHNwb3J0LjwvcD5cbiAgICAgICAgICAgICAgICAgIDwvU3BlY2lhbFFhQm94PlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiV2hlbiBkb2VzIGRyYWluYWdlIHN0YXJ0PyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIldlIHN0YXJ0IGRyYWluYWdlIGluIG5ld2Jvcm5zIHNvIHRoYXQgdGhlIG11Y3VzIGNhbm5vdCBzZXR0bGUgYXMgbXVjaC4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiQXJlIHRoZXJlIHNwZWNpYWwgZXhlcmNpc2VzIHRoYXQgY2FuIGFsc28gYmUgZG9uZSBhdCBob21lPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlllcywgdGhlIHBhcmVudHMgYXJlIGluc3RydWN0ZWQgdG8gZG8gdGhlIGV4ZXJjaXNlcyB3aGljaCB3ZSBhbHNvIGRvIGluIG91ciBwcmFjdGljZS5cIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkhvdyBvZnRlbiBkb2VzIHRoZSB0aGVyYXB5IHRha2UgcGxhY2U/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiVGhlcmFweSB1c3VhbGx5IHRha2VzIHBsYWNlIG9uY2UgYSB3ZWVrIG9yIGV2ZXJ5IHR3byB3ZWVrcy4gVGhhbmtzIHRvIGltcHJvdmVkIG1lZGljYXRpb24sIHRoZSBjaGlsZHJlbiBhZmZlY3RlZCBhcmUgbm93IGluIGEgbXVjaCBiZXR0ZXIgcG9zaXRpb24uIFRoZSB0aGVyYXB5IGhhcyBjaGFuZ2VkIGNvbnNpZGVyYWJseSBvdmVyIHRpbWUgYW5kIGhhcyBpbXByb3ZlZCBzaWduaWZpY2FudGx5LiBMZXNzIGFuZCBtb3JlIGZsdWlkIG11Y3VzIG1ha2VzIGl0IGVhc2llciB0byBjb3VnaCB1cCwgd2hpY2ggaW4gdHVybiBpbmNyZWFzZXMgdGhlIGNoaWxkcmVuJ3MgbGlmZSBleHBlY3RhbmN5LiBTcG9ydCBhbmQgZXhlcmNpc2UgcGxheSBhIGNlbnRyYWwgcm9sZSBpbiB0aGVyYXB5IGFuZCBzaG91bGQgYmUgZnVuLCBhcyB0aGV5IG11c3QgYmUgY2FycmllZCBvdXQgZm9yIGxpZmUuIEZyb20gdGhlIGFnZSBvZiA4IG9yIDksIGV4ZXJjaXNlIHN1Y2ggYXMgY3ljbGluZyB0byBzY2hvb2wgc2hvdWxkIGJlIHRoZSBub3JtLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIldoYXQgd291bGQgaGFwcGVuIGlmIG5vIHBoeXNpb3RoZXJhcHkgd2FzIHBlcmZvcm1lZD8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJJdCBpcyBkaWZmaWN1bHQgdG8gcHJlZGljdCBleGFjdGx5IHdoYXQgd291bGQgaGFwcGVuIGlmIHBoeXNpb3RoZXJhcHkgd2FzIG5vdCBjYXJyaWVkIG91dCwgYXMgdGhlcmUgaXMgbm8gY29tcGFyaXNvbiBncm91cC4gVGhlcmUgaXMgbm8gcmVhc29uIG5vdCB0byBkbyB0aGUgdGhlcmFweS4gSWYgY2hpbGRyZW4gZG8gbm90IHJlY2VpdmUgcGh5c2lvdGhlcmFweSBvdmVyIGEgbG9uZ2VyIHBlcmlvZCBvZiB0aW1lLCB0aGV5IG9mdGVuIGJlY29tZSBtb3JlIG11Y291c3kgYW5kIHRoZWlyIHZlbnRpbGF0aW9uIHdvcnNlbnMuIFNwZWNpZmljIHRoZXJhcHkgaXMgYWJzb2x1dGVseSBuZWNlc3NhcnkgYXQgdGhlIGxhdGVzdCBpbiB0aGUgZXZlbnQgb2YgYW4gaW5mZWN0aW9uLiAgXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiSG93IGRvIHlvdSBtZWFzdXJlIHN1Y2Nlc3MgKGluIHRlcm1zIG9mIGx1bmcgZnVuY3Rpb24gdGVzdCwgZXhlcmNpc2UsIGV0Yy4pPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlRoZSBzdWNjZXNzIG9mIHRoZSB0aGVyYXB5IGlzIG1lYXN1cmVkIHN1YmplY3RpdmVseSBieSBsaXN0ZW5pbmcgdG8gYW5kIGZlZWxpbmcgdGhlIGJyZWF0aGluZyBhbmQgYnkgb2JzZXJ2aW5nIHRoZSBjaGlsZHJlbidzIHNraW4uIEFuIGV4YWN0IGFuc3dlciB0byB0aGUgc3VjY2VzcyBtZWFzdXJlbWVudCBpcyBkaWZmaWN1bHQuIEEgd2VsbC12ZW50aWxhdGVkIGx1bmcgdm9sdW1lIGlzIGluZGljYXRlZCBieSBhIFx1MjAxQ2Z1bGwgYmFycmVsXHUyMDFELCB3aGlsZSB3aGVlemluZyBhbmQgdmlicmF0aW5nIGluZGljYXRlIHBvb3IgdmVudGlsYXRpb24uIFZlZ2V0YXRpdmUgc2lnbnMgc3VjaCBhcyBhIHdoaXRlIG1vdXRoLW5vc2UgdHJpYW5nbGUgaW5kaWNhdGUgYSBoaWdoIGxldmVsIG9mIHN0cmVzcy4gSW4gdGhlIGNsaW5pYywgbHVuZyBmdW5jdGlvbiB0ZXN0cywgQ08yIG1lYXN1cmVtZW50cyBhbmQgXHUyMDFDZmluZ2VyIGNsaXBcdTIwMUQgdGVzdHMgYXJlIHBlcmZvcm1lZC4gSG93ZXZlciwgY2hpbGRyZW4gY2FuIHNvbWV0aW1lcyB0cnkgdG8gaW5mbHVlbmNlIHRoZSB0ZXN0cywgc28gdGhlIHJlc3VsdHMgYXJlIG5vdCBhbHdheXMgcmVsaWFibGUuICBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkRvIHRoZSBleGVyY2lzZXMgYnJpbmcgcmVsaWVmIG9yIGFyZSB0aGV5IHByZXZlbnRhdGl2ZSBmb3IgZnVydGhlciBjb21wbGFpbnRzPyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlRoZSBleGVyY2lzZXMgc2VydmUgYm90aCB0byByZWxpZXZlIGFjdXRlIGluZmVjdGlvbnMgYW5kIHRvIHByZXZlbnQgZnVydGhlciBjb21wbGFpbnRzLiBUaGUgZmV3ZXIgbHVuZyBpbmZlY3Rpb25zIHRoZXJlIGFyZSwgdGhlIGxvd2VyIHRoZSBsaWtlbGlob29kIG9mIGFkaGVzaW9ucyBvZiBtdWN1cy4gIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiQXJlIHRoZXJlIGFueSB0b29scyB0byBwZXJmb3JtIHRoZXJhcHk/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiRGV2aWNlcyBzdWNoIGFzIHRoZSBcdTIwMUNmbHV0dGVyXHUyMDFEIG9yIFx1MjAxQ2Nvcm5ldFx1MjAxRCBhcmUgdXNlZCB0byBzdXBwb3J0IGV4aGFsYXRpb24uIFRoZXNlIGRldmljZXMgbG9vayBsaWtlIGEgd2hpc3RsZSB3aXRoIGEgbWV0YWwgYmFsbCBpbnNpZGUuIFdoZW4gZXhoYWxpbmcsIHRoZSBiYWxsIG1vdmVzIGFuZCBjcmVhdGVzIHZpYnJhdGlvbnMgdGhhdCBsb29zZW4gdGhlIG11Y3VzIGluIHRoZSBsdW5ncy4gU3VjaCBkZXZpY2VzIHNob3VsZCBiZSB1c2VkIGJ5IGFsbCBjaGlsZHJlbiB3aXRoIGx1bmcgZGlzZWFzZXMuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiV2hhdCBjb21wbGFpbnRzIGRvIHBhdGllbnRzIGJyaW5nIHdpdGggdGhlbT8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJQYXRpZW50cyBvZnRlbiBoYXZlIGx1bmcgcHJvYmxlbXMsIGRyeSBsdW5nIG11Y29zYSBhbmQgcHJvYmxlbXMgd2l0aCB0aGUgcGFuY3JlYXMuIFRoZSBsYXR0ZXIgbGVhZHMgdG8gcG9vciBtZXRhYm9saXNtLCB3aGljaCBpcyB3aHkgdGhvc2UgYWZmZWN0ZWQgaGF2ZSB0byB0YWtlIGVuenltZSB0aGVyYXBldXRpY3MgYmVmb3JlIGVhdGluZy4gQ2hpbGRyZW4gb2Z0ZW4gaGF2ZSBncm93dGggZGlzb3JkZXJzIGR1ZSB0byBhIGxhY2sgb2YgZm9vZCwgd2hpY2ggaXMgd2h5IG51dHJpdGlvbmFsIGFkdmljZSBpcyBlc3NlbnRpYWwuIFNvbWUgY2hpbGRyZW4gYWxzbyBoYXZlIHByb2JsZW1zIHdpdGggZXhjZXNzaXZlIHBlcnNwaXJhdGlvbiwgYWx0aG91Z2ggdGhpcyBpcyBsZXNzIGNvbW1vbi4gIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiQXJlIHBhbmNyZWF0aWMgY29tcGxhaW50cyBhbHNvIHRyZWF0ZWQgYnkgcGh5c2lvdGhlcmFwaXN0cz8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJQYW5jcmVhdGljIGNvbXBsYWludHMgYXJlIHJhcmVseSB0cmVhdGVkIHdpdGggcGh5c2lvdGhlcmFweSwgdW5sZXNzIGl0IGlzIGFuIGluZmxhbW1hdGlvbi4gSW4gc3VjaCBjYXNlcywgdGhlIHBhdGllbnQgaXMgYWRtaXR0ZWQgdG8gYSBob3NwaXRhbC4gTWFzc2FnZSBvciB0YXBpbmcgdGhlIGludGVzdGluZXMgd2l0aCBraW5lc2lvbG9neSB0YXBlIGhlbHBzIHdpdGggY29uc3RpcGF0aW9uIGFuZCB3b3JrcyB2ZXJ5IHdlbGwuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiQXJlIHRoZXJlIGFueSBzcGVjaWFsIGh5Z2llbmUgZ3VpZGVsaW5lcyBmb3IgeW91IHdoZW4gd29ya2luZyB3aXRoIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cz8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJIeWdpZW5lIGd1aWRlbGluZXMgYXJlIHZlcnkgaW1wb3J0YW50IHdoZW4gd29ya2luZyB3aXRoIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50cy4gQSBkaXN0aW5jdGlvbiBpcyBtYWRlIGJldHdlZW4gY2hpbGRyZW4gd2l0aCBhbmQgd2l0aG91dCBpbmZlY3Rpb25zIChQc2V1ZG9tb25hcykuIFJlZ3VsYXIgbmFzYWwgc3dhYnMgYXJlIHRha2VuIGFuZCBvbmx5IGNoaWxkcmVuIHdpdGggb3Igd2l0aG91dCBpbmZlY3Rpb25zIGFyZSB0cmVhdGVkIGluIHRoZSBwcmFjdGljZSBvbiBhbnkgZ2l2ZW4gZGF5LiBWZW50aWxhdGlvbiwgcGF0aWVudHMgd2VhcmluZyBtYXNrcyB3aGlsZSBpbmZlY3RlZCBhbmQgZGlzaW5mZWN0aW9uIG9mIHRoZSBmYWNpbGl0aWVzIGFyZSBlc3NlbnRpYWwuIENoaWxkcmVuIGluZmVjdGVkIHdpdGggbXVsdGktcmVzaXN0YW50IGdlcm1zIGFyZSBub3QgYWxsb3dlZCB0byBlbnRlciB0aGUgcHJhY3RpY2U7IGluIHN1Y2ggY2FzZXMsIHBoeXNpb3RoZXJhcGlzdHMgdmlzaXQgdGhlIHBhdGllbnRzJyBob21lcy4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJBcmUgdGhlIHNwZWNpZmljIGV4ZXJjaXNlcyBjdXN0b21pemVkPyBBbmQgaWYgc28sIGhvdyBkbyB5b3Uga25vdyB3aGljaCB0aGVyYXB5IGlzIHRoZSByaWdodCBvbmUgZm9yIHdoaWNoIHBhdGllbnQgKGJhc2VkIG9uIGxhYm9yYXRvcnkgdmFsdWVzLCB0ZXN0cywgZGlmZmVyZW50IG11dGF0aW9uIHBhdHRlcm5zLi4uKT8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJUaGUgZXhlcmNpc2VzIGFyZSBpbmRpdmlkdWFsbHkgYWRhcHRlZCB0byB0aGUgcGF0aWVudCdzIGN1cnJlbnQgc2l0dWF0aW9uLiBJbXBvcnRhbnQgY3JpdGVyaWEgYXJlIHRoZSByZW1vdmFsIG9mIG11Y3VzIGFuZCB2ZW50aWxhdGlvbiBvZiB0aGUgbHVuZ3MuIEVhY2ggdGhlcmFwaXN0IGhhcyB0aGVpciBvd24gYXBwcm9hY2ggYW5kIHByZWZlcnJlZCBleGVyY2lzZXMgYW5kIHRlY2huaXF1ZXMuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiRG8gcGF0aWVudHMgYWx3YXlzIGdvIHRvIHRoZSBzYW1lIHBoeXNpb3RoZXJhcGlzdD8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJJZiB0aGVyYXB5IGdvZXMgd2VsbCwgcGF0aWVudHMgc3RheSB3aXRoIHRoZSBzYW1lIHBoeXNpb3RoZXJhcGlzdC5cIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkhvdyBtYW55IHBoeXNpb3RoZXJhcGlzdHMgb2ZmZXIgbXVjby10aGVyYXB5PyBcIlxuICAgICAgICAgICAgICAgICAgYT1cIlRoZSBleGFjdCBudW1iZXIgb2YgcGh5c2lvdGhlcmFwaXN0cyBvZmZlcmluZyBjeXN0aWMgZmlicm9zaXMgdGhlcmFweSBpcyB1bmtub3duLiBIb3dldmVyLCB0aGVyZSBhcmUgc2V2ZXJhbCBjaGlsZCB0aGVyYXBpc3RzIGluIHRoZSByZWdpb24gcHJvdmlkaW5nIHRoaXMgdGhlcmFweS4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJIb3cgYXJlIHRoZSByZWxhdGl2ZXMgZWR1Y2F0ZWQ/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiRWR1Y2F0aW5nIHJlbGF0aXZlcyBvZnRlbiBiZWdpbnMgaW4gdGhlIG1hdGVybml0eSB3YXJkIHdpdGggYSBzd2VhdCB0ZXN0LiBBZmZlY3RlZCBjaGlsZHJlbiBhcmUgb2Z0ZW4gcmVjb2duaXphYmxlIGR1ZSB0byBwb29yIGZvb2QgaW50YWtlLiBJbiBHXHUwMEZDdGVyc2xvaCwgd2hlcmUgb3VyIG9mZmljZSBpcyBsb2NhdGVkLCBhbGwgY2hpbGRyZW4gYXJlIHNlbnQgdG8gQmV0aGVsLCB3aGVyZSB0aGV5IGltbWVkaWF0ZWx5IHJlY2VpdmUgQ0YgY2FyZS4gUGFyZW50cyBhcmUgb2Z0ZW4gdHJhdW1hdGl6ZWQsIGFzIHRoZSBjaGlsZHJlbiBhcmUgc2V2ZXJlbHkgaWxsIGRlc3BpdGUgb2Z0ZW4gYXBwZWFyaW5nIGhlYWx0aHkuXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJXaGF0IGFyZSB0aGUgbGltaXRhdGlvbnMgb2YgaW5kaXZpZHVhbCBtZWRpY2luZT8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJUaGUgZWZmZWN0aXZlbmVzcyBvZiBkcnVncyBjYW4gdmFyeSwgYW5kIHNvbWUgYXJlIG9ubHkgYXBwcm92ZWQgZnJvbSBhIGNlcnRhaW4gYWdlLiBCZXR0ZXIgbWVkaWNhdGlvbnMgY2FuIHNpZ25pZmljYW50bHkgZW5oYW5jZSB0aGUgcXVhbGl0eSBvZiBsaWZlIGFuZCBsaWZlIGV4cGVjdGFuY3kuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDxici8+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cImNvbFwiICBpZD1cImJlcmVuc0hcIj5cbiAgICAgICAgICA8aDMgaWQ9XCJiZXJlbnNcIj5Eci4gRXZhLU1hcmlhIEJlcmVuczwvaDM+XG4gICAgICAgICAgICAgIDxoci8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0LXRhZyBBY2FkZW1pYVwiPlxuICAgICAgICAgICAgICAgIEV0aGljcyBDb21taXR0ZWUgb2YgQmllbGVmZWxkIFVuaXZlcnNpdHkgXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5PcmlnaW5hbCBsYW5ndWFnZTogR2VybWFuPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImludGVydmlldy1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3MvaHAvYmVyZW5zLmpwZ1wiLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGgzPk5vdGVzIGZyb20gdGhlIGludGVydmlldzwvaDM+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJRdWVzdGlvblwiXG4gICAgICAgICAgICAgICAgICBhPVwiQW5zd2VyXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+ICBcbiAgICAgICAgPGJyLz5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwiY29sXCIgaWQ9XCJ3aXNjaG1leWVySFwiPlxuICAgICAgICA8aDMgaWQ9XCJ3aXNjaG1leWVyXCI+UHJvZi4gRHIuIEVyaGFyZCBXaXNjaG1leWVyPC9oMz5cbiAgICAgICAgICAgICAgPGhyLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3dcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtNlwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInQtdGFnIEFjYWRlbWlhXCI+XG4gICAgICAgICAgICAgIFJlc2VhcmNoIEdyb3VwIENlbGx1bGFyIE5ldXJvcGh5c2lvbG9neSwgQmllbGVmZWxkIFVuaXZlcnNpdHlcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPk9yaWdpbmFsIGxhbmd1YWdlOiBHZXJtYW48L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxici8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtM1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImludGVydmlldy1pbWdcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9wbGFjZWhvbGRlcnMvcGxhY2VoaWxkZXJwZXJzb24uanBlZ1wiLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPGgzPk5vdGVzIGZyb20gdGhlIGludGVydmlldzwvaDM+XG4gICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJDYW4geW91IGVkdWNhdGUgdXMgYWJvdXQgeW91ciBhY2FkZW1pYyBjYXJlZXI/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiSSBkaWQgbXkgZG9jdG9yYXRlIDMwIHllYXJzIGFnbyBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSBhbmQgdGhlbiB3b3JrZWQgYXQgdGhlIE1heCBQbGFuY2sgSW5zdGl0dXRlIGluIEdcdTAwRjZ0dGluZ2VuIGEgbG90IHdpdGggdGhlIFBhdGNoLUNsYW1wIHAgdGVjaG5pcXVlLiBUb2RheSwgSVx1MjAxOW0gaGVhZCBvZiB0aGUgd29ya2luZyBncm91cCBDZWxsdWxhciBOZXVyb3BoeXNpb2xvZ3kgb2YgdGhlIG1lZGljaW5lIGZhY3VsdHkgb2YgQmllbGVmZWxkIFVuaXZlcnNpdHkuIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPFFhQm94XG4gICAgICAgICAgICAgICAgICBxPVwiV2hhdCBuZXcgbWV0aG9kcyBhcmUgY3VycmVudGx5IGF2YWlsYWJsZSBpbiBlbGVjdHJvcGh5c2lvbG9naWNhbCByZXNlYXJjaD8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJPbmUgb2YgdGhlIGxhdGVzdCBtZXRob2RzIGlzIEUtY2lzIG1lYXN1cmVtZW50cy4gVGhlc2UgbWFrZSBpdCBwb3NzaWJsZSB0byBleGFtaW5lIGEgbW9ub2xheWVyIG9mIGNvbmZsdWVudCBjZWxscyBhbmQgdG8gbWVhc3VyZSB0aGUgbWVtYnJhbmUgcG90ZW50aWFsIGJvdGggYWJvdmUgYW5kIGJlbG93LiBUaGUgY2hhbmdlIGluIGNvbmR1Y3Rpdml0eSBjYW4gYmUgYW5hbHl6ZWQgZm9yIGluc3RhbmNlIGFzIGEgZnVuY3Rpb24gb2YgQ0ZUUiBleHByZXNzaW9uLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIkhvdyBjYW4gd2UgcHJvY2VlZCB3aXRoIHRoZSBpbnZlc3RpZ2F0aW9uIG9mIENGVFIgaW4gZGlmZmVyZW50IGNlbGwgY3VsdHVyZXMgYnkgUGF0Y2gtQ2xhbXA/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiWW91IGNhbiBzdHVkeSBDRlRSIGV4cHJlc3Npb24gaW4gSEVLIGNlbGxzLCB3aGljaCBhbGxvd3MgZm9yIGEgbWVhc3VyYWJsZSBjaGFuZ2UgaW4gY2hsb3JpZGUgY29uZHVjdGFuY2UuIEkgYW0gbm90IHN1cmUgd2hldGhlciB3ZSB3aWxsIGJlIGFibGUgdG8gaW52ZXN0aWdhdGUgQ0ZUUiBzdWZmaWNpZW50bHkgaW4gZXBpdGhlbGlhbCBjZWxscyB3aGljaCB5b3Ugd2FudCB0byBjb2xsZWN0IGZyb20geW91ciBDRiBwYXRpZW50IGZyaWVuZCBhbmQgeW91ciB0ZWFtIG1lbWJlcnMuIFRoYXQgaXMgc29tZXRoaW5nIHdlIGhhdmUgdG8gdHJ5IG91dC4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJIb3cgY2hhbGxlbmdpbmcgaXMgdGhlIG1lYXN1cmVtZW50IG9mIENGVFIgY29uZHVjdGFuY2UgaW4gZXBpdGhlbGlhbCBjZWxscz8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJDRlRSIGluIGVwaXRoZWxpYWwgY2VsbHMgaGFzIHZlcnkgbG93IGNvbmR1Y3Rpdml0eSBpbiB0aGUgZmVtdG9hbXBlcmUgcmFuZ2UuIFRoZXJlZm9yZSwgZXh0cmVtZWx5IHNlbnNpdGl2ZSB0ZXN0aW5nIGlzIG5lY2Vzc2FyeSB0byBvYnRhaW4gbWVhbmluZ2Z1bCByZXN1bHRzLiAgXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJIb3cgY2hhbGxlbmdpbmcgaXMgdGhlIFBhdGNoLUNsYW1wIG1lYXN1cmVtZW50IG9mIENGVFIgY29uZHVjdGFuY2UgaW4gZXBpdGhlbGlhbCBjZWxscz8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJUaGUgcHJvamVjdCB3aWxsIGNvdWxkIHRha2UgYXQgbGVhc3Qgb25lIHllYXIsIGV2ZW4gZm9yIGV4cGVyaWVuY2VkIHJlc2VhcmNoZXJzLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIldoYXQgdGVjaG5pY2FsIGNoYWxsZW5nZXMgZG8gd2UgZmFjZSBpbiBpbXBsZW1lbnRpbmcgdGhlIFBhdGNoLUNsYW1wIG1lYXN1cmVtZW50cz8gXCJcbiAgICAgICAgICAgICAgICAgIGE9XCJPbmUgb2YgdGhlIGJpZ2dlc3QgY2hhbGxlbmdlcyBpcyBtZWFzdXJpbmcgdGhlIGN1cnJlbnQgYWNyb3NzIHRoZSBlbnRpcmUgY2VsbCwgYXMgd2UgZG8gbm90IHdhbnQgdG8gY2Fycnkgb3V0IHNpbmdsZS1jaGFubmVsIG1lYXN1cmVtZW50cywgYnV0IHJhdGhlciByZWNvcmQgdGhlIGN1cnJlbnQgYWNyb3NzIGNlbGxzIHdpdGggYSBzdHJvbmdseSBleHByZXNzaW5nIHZlY3RvciBjYXJyeWluZyB0aGUgZ2VuZSBmb3IgdGhlIGlvbiBjaGFubmVsLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxRYUJveFxuICAgICAgICAgICAgICAgICAgcT1cIldoYXQgcmVxdWlyZW1lbnRzIG11c3QgYmUgbWV0IGZvciBjdWx0aXZhdGlvbiBhbmQgdHJhbnNmZWN0aW9uIGJlZm9yZSB0aGUgUGF0Y2gtQ2xhbXAgbWVhc3VyZW1lbnQ/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiWW91IGhhdmUgdG8gY3VsdGl2YXRlIHRoZSBjZWxscyBvbiBwb2x5LWx5c2luZSBhbmQgbGFtaW5pbiBhbmQgdXNlIHJvdW5kIGNvdmVyc2xpcHMgb2YgMTAgbW0gZGlhbWV0ZXIgdG8gcHJlcGFyZSB0aGVtIGZvciBtZWFzdXJlbWVudC4gRm9yIGlkZW50aWZpY2F0aW9uIG9mIHBvc2l0aXZlIHRyYW5zZmVjdGFudHMsIHdlIHVzZSBHRlAgY28tdHJhbnNmZWN0ZWQgY2VsbHMgaW4gb3VyIHdvcmtpbmcgZ3JvdXAsIHlvdSBzaG91bGQgdGhpbmsgb2Ygc29tZXRoaW5nIGxpa2UgdGhhdCBhcyB3ZWxsLiBBIHRyYW5zZmVjdGlvbiByYXRlIG9mIDEwICUgaXMgc3VmZmljaWVudCB0byBnYWluIGVub3VnaCBjZWxscyBmb3IgdGhlIG1lYXN1cmVtZW50LiBZb3UgY2FuIHRoaW5rIG9mIG9wdGltaXppbmcgeW91ciB0cmFuc2ZlY3Rpb24gYnkgdXNpbmcgTGlwb2ZlY3RhbWluMjAwMCB0aGFuIExpcG9mZWN0YW1pbmUyMDAwLCB3aGljaCB3b3JrcyBnb29kIGZvciBvdXIgd29ya2luZyBncm91cC4gXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8UWFCb3hcbiAgICAgICAgICAgICAgICAgIHE9XCJXaG8gY291bGQgaGVscCB1cyB3aXRoIHRoZSBQYXRjaC1DbGFtcCBtZWFzdXJlbWVudHM/IFwiXG4gICAgICAgICAgICAgICAgICBhPVwiVGhlIFBhdGNoLUNsYW1wIGRldmljZXMgYXJlIGhlYXZpbHkgdXRpbGl6ZWQgaW4gb3VyIHdvcmtpbmcgZ3JvdXAsIHNvIHlvdSBwcm9iYWJseSBjYW5ub3QgcGVyZm9ybSBtZWFzdXJlbWVudHMgb24geW91ciBvd24uIEhvd2V2ZXIsIHBvc3Rkb2NzIGNvdWxkIHN1cHBvcnQgeW91IGZvciBzb21lIG1lYXN1cmVtZW50cy4gRHIuIE9saXZlciBEclx1MDBFNGdlciBpcyBhdmFpbGFibGUgYXMgYSBjb250YWN0IHBlcnNvbiBvZiBteSB3b3JraW5nIGdyb3VwLiBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHA+IFRlc3QgYXVzIGRlbSBXaWtpIDwvcD4gPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgPGJyLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgICAiLCAiaW1wb3J0IHsgSHdhdmUgfSBmcm9tIFwiLi9IZWFkaW5nc1wiO1xuXG5pbnRlcmZhY2UgUHJvcHN7XG4gICAgdGl0bGU6IHN0cmluZyAsXG4gICAgdGl0bGUyPzogc3RyaW5nLFxuICAgIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlLFxuICAgIGlkOiBzdHJpbmdcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSGVhZGVyQm94KHtjaGlsZHJlbiwgdGl0bGUsIHRpdGxlMiwgaWR9OiBQcm9wcyApe1xuICB2YXIgdGk6IHN0cmluZyA9IFwiXCI7XG4gIGlmICh0aXRsZTIpIHtcbiAgICB0aSA9IHRpdGxlMjtcbiAgfVxuICAgIHJldHVybihcbiAgICAgICAgPD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBoZWFkZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBoZWFkZXItdGl0bGVcIiBpZD17aWR9PlxuICAgICAgICAgICAgICA8SHdhdmUgdGV4dD17dGl0bGV9PjwvSHdhdmU+XG4gICAgICAgICAgICAgIDxId2F2ZSB0ZXh0PXt0aX0+PC9Id2F2ZT5cblxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJiYXNlXCI+XG4gICAgICAgICAgICBcbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApXG59IiwgImltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBBVFRIKCkge1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJBdHRyaWJ1dGlvbnNcIiBpZD1cImF0dGhlYWRcIj5cbiAgICAgIDwvSGVhZGVyQm94PlxuICAgICk7XG4gIH0iLCAiaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIENPTlRIKCkge1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJDb250cmlidXRpb25cIiBpZD1cImNvbmhlYWRcIj5cbiAgICAgICAgXG4gICAgICA8L0hlYWRlckJveD5cbiAgICApO1xuICB9IiwgImV4cG9ydCBmdW5jdGlvbiBERVNDSCgpIHtcblxuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggIHRpdGxlPVwiRGVzY3JpcHRpb25cIiBpZD1cImRlc2NoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiXG5cbmV4cG9ydCBmdW5jdGlvbiBIT01FSCgpIHsgXG5cbiAgXG4gIHJldHVybiAoXG4gICA8PjwvPlxuICAgICAgICBcbiAgICBcbiAgKTtcbn1cbiIsICJleHBvcnQgZnVuY3Rpb24gRVhQSCgpIHtcblxuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJFeHBlcmltZW50c1wiIGlkPVwiZXhoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIEhQSCgpIHtcblxuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJIdW1hblwiIHRpdGxlMj1cIlByYWN0aWNlc1wiIGlkPVwiaHBoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIElNUEgoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiXCIgaWQ9XCJpbXBoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIE5PVEVIKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIk5vdGVib29rXCIgaWQ9XCJub3RoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIFJFU0goKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiUmVzdWx0c1wiIGlkPVwicmVzaGVhZFwiPlxuICAgICAgXG4gICAgPC9IZWFkZXJCb3g+XG4gICk7XG59XG5cbmltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7IiwgImV4cG9ydCBmdW5jdGlvbiBTQUZFSCgpIHtcblxuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJCaW9zYWZldHlcIiBpZD1cInNhZmVoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIFRFQU1IKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIk91ciBUZWFtXCIgaWQ9XCJ0ZWFtaGVhZFwiPlxuICAgICAgXG4gICAgPC9IZWFkZXJCb3g+XG4gICk7XG59XG5cbmltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7IiwgImV4cG9ydCBmdW5jdGlvbiBTUE9OSCgpIHtcblxuICByZXR1cm4gKFxuICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJTcG9uc29yc1wiIHRpdGxlMj1cIiYgUGFydG5lcnNcIiBpZD1cInNwaGVhZFwiPlxuICAgICAgXG4gICAgPC9IZWFkZXJCb3g+XG4gICk7XG59XG5cbmltcG9ydCBIZWFkZXJCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGVyQm94XCI7IiwgImV4cG9ydCBmdW5jdGlvbiBFTkdIKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIkVuZ2luZWVyaW5nXCIgaWQ9XCJlbmdoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiZXhwb3J0IGZ1bmN0aW9uIFNVUEgoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiU3VwcGxlbWVudGFyeVwiIHRpdGxlMj1cIk1hdGVyaWFsXCIgaWQ9XCJzdXBoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiaW1wb3J0IHsgUGFydCB9IGZyb20gXCIuLi9kYXRhL3BhcnRzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBQYXJ0VGFibGUoe2RhdGEsIGNvbHN9OiB7ZGF0YTogQXJyYXk8UGFydD4sIGNvbHM6IEFycmF5PHN0cmluZz59KXtcbiAgICBsZXQgbGlzdDogSlNYLkVsZW1lbnRbXSAgPSBbXTtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZGF0YS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgbGlzdC5wdXNoKFxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgIDx0ZD57ZGF0YVtpbmRleF0ucGFydG5hbWV9PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+PGEgaHJlZj17ZGF0YVtpbmRleF0udXJsfT57ZGF0YVtpbmRleF0ucmVnaXN0cnljb2RlfTwvYT48L3RkPlxuICAgICAgICAgICAgICAgIDx0ZD57ZGF0YVtpbmRleF0uZGVzY3JpcHRpb259PC90ZD5cbiAgICAgICAgICAgICAgICA8dGQ+e2RhdGFbaW5kZXhdLmxlbmd0aH08L3RkPlxuICAgICAgICAgICAgICAgIDx0ZD57ZGF0YVtpbmRleF0udHlwZX08L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgKVxuICAgIH1cbiAgICBsZXQgaGVhZHM6IEpTWC5FbGVtZW50W10gID0gW107IFxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBjb2xzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICBoZWFkcy5wdXNoKDx0ZD48Yj57Y29sc1tpbmRleF19PC9iPjwvdGQ+KVxuICAgIH1cbiAgICByZXR1cm4oXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1pbi13LWZ1bGwgb3ZlcmZsb3cteC1hdXRvXCI+XG4gICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbmxpbmUtYmxvY2sgbWluLXctZnVsbCBweS00XCI+XG4gICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm92ZXJmbG93LWhpZGRlbiBwLTJcIj5cbiAgICAgICAgICAgPHRhYmxlIGNsYXNzTmFtZT1cInRleHQtY2VudGVyIHBhcnR0YWJsZVwiPlxuICAgICAgICAgICAgIDx0aGVhZCBjbGFzc05hbWU9XCJiZy1kXCI+XG4gICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgICB7aGVhZHN9XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICB7bGlzdH1cbiAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgPC9kaXY+XG4gICAgICAgPC9kaXY+XG4gICAgIDwvZGl2PlxuICAgPC9kaXY+XG4gICAgKVxufSIsICJpbXBvcnQgeyBMb3JlbU1lZGl1bSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0xvcmVtaXBzdW1cIjtcbmltcG9ydCB7IFNlY3Rpb24sIFN1YmVzY3Rpb24gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgUGFydFRhYmxlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvVGFibGVcIjtcbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgQmFzaWNQYXJ0cywgQ29tcG9zaXRlUGFydHMgIH0gZnJvbSBcIi4uL2RhdGEvcGFydHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIFBhcnRzKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gIGxldCBoZWFkY29scyA9IFtcIlBhcnQgTmFtZVwiLCBcIlJlZ2lzdHJ5IENvZGVcIiwgXCJQYXJ0IERlc2NyaXB0aW9uXCIsIFwibGVuZ3RoIFticF1cIiwgXCJ0eXBlXCJdXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiSW50cm9kdWN0aW9uXCIgaWQ9XCJJbnRyb2R1Y3Rpb25cIj5cbiAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkRlc2NyaXB0aW9uXCIgaWQ9XCJJbnRyb2R1Y3Rpb24xXCI+XG4gICAgICAgICAgICA8TG9yZW1NZWRpdW0vPlxuICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkNoYXJhY3Rlcml6YXRpb25cIiBpZD1cIkludHJvZHVjdGlvbjJcIj5cbiAgICAgICAgICAgIDxMb3JlbU1lZGl1bS8+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiUHJvY2Vzc1wiIGlkPVwiUHJvY2Vzc1wiPlxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiRUNcIiBpZD1cIlByb2Nlc3MxXCI+XG4gICAgICAgICAgICA8TG9yZW1NZWRpdW0vPiBcbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJEZXNpZ24gYW5kIEJ1aWxkXCIgaWQ9XCJQcm9jZXNzMlwiPlxuICAgICAgICAgICAgPExvcmVtTWVkaXVtLz4gXG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiRXhwZXJpbWVudHNcIiBpZD1cIkV4cGVyaW1lbnRzXCI+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJDbG9uaW5nXCIgaWQ9XCJFeHBlcmltZW50czFcIj5cbiAgICAgICAgICAgIDxMb3JlbU1lZGl1bS8+IFxuICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIk5pa2FzZS1Bc3NheVwiIGlkPVwiRXhwZXJpbWVudHMyXCI+XG4gICAgICAgICAgICA8TG9yZW1NZWRpdW0vPiBcbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJBY3Rpdml0eSBFeHBlcmltZW50c1wiIGlkPVwiRXhwZXJpbWVudHMzXCI+XG4gICAgICAgICAgICA8TG9yZW1NZWRpdW0vPiBcbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJQYXJ0cyBDb2xsZWN0aW9uXCIgaWQ9XCJQYXJ0cyBDb2xsZWN0aW9uXCI+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJQbGFzbWlkc1wiIGlkPVwiUGFydHMgQ29sbGVjdGlvbjFcIj5cbiAgICAgICAgICAgIDxMb3JlbU1lZGl1bS8+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQmFzaWMgUGFydHNcIiBpZD1cIlBhcnRzIENvbGxlY3Rpb24yXCI+XG4gICAgICAgICAgICA8UGFydFRhYmxlIGNvbHM9e2hlYWRjb2xzfSBkYXRhPXtCYXNpY1BhcnRzfS8+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQ29tcG9zaXRlIFBhcnRzXCIgaWQ9XCJQYXJ0cyBDb2xsZWN0aW9uM1wiPlxuICAgICAgICAgIDxQYXJ0VGFibGUgY29scz17aGVhZGNvbHN9IGRhdGE9e0NvbXBvc2l0ZVBhcnRzfS8+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4gICIsICJleHBvcnQgZnVuY3Rpb24gUEFSVEgoKSB7XG5cbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQm94IHRpdGxlPVwiUGFydHNcIiBpZD1cInBhcmhlYWRcIj5cbiAgICAgIFxuICAgIDwvSGVhZGVyQm94PlxuICApO1xufVxuXG5pbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiOyIsICJpbXBvcnQgeyBINSB9IGZyb20gXCIuLi9IZWFkaW5nc1wiO1xuaW1wb3J0IFByZUN5c2UgZnJvbSBcIi4uL3ByZWN5c2VcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gQ2FsVGFicygpe1xuXG4gICAgbGV0IHRhYmxpc3Q6IEpTWC5FbGVtZW50W10gPSBbXTsgXG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHRhYnMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIHRhYmxpc3QucHVzaChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FsLWVudHJ5XCIgaWQ9e3RhYnNbaW5kZXhdLmNzc25hbWV9IHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVudHJ5LWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8SDUgdGV4dD17cGFyc2VEYXRlRnJvbUNvZGUodGFic1tpbmRleF0uY3NzbmFtZSl9Lz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImVudHJ5LWJvZHlcIj5cbiAgICAgICAgICAgICAgICAgICAge3RhYnNbaW5kZXhdLm5vZGV9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKVxuICAgICAgICBcbiAgICB9XG4gICAgcmV0dXJuIHRhYmxpc3Q7IFxufVxuXG5sZXQgdGFicyA9IFtcbiAgICB7ICAgXG4gICAgICAgIGNzc25hbWU6IFwiZmVicnVhcnkyN1wiLCBcbiAgICAgICAgbm9kZTogPD48aDE+VGVhbSBNZWV0aW5nPC9oMT5cblxuICAgICAgICA8aDI+T3JnYW5pc2F0aW9uPC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gZGlzY3Vzc2VkIGltcG9ydGFudCBkZWFkbGluZXMsIGluY2x1ZGluZyB0aGUgVGVhbSBNZW1iZXIgVGlja2V0IGR1ZSBvbiBBcHJpbCA1dGgsIHRoZSBUZWFtIEdyYW5kIEphbWJvcmVlIEZlZSBvbiBKdWx5IDMxc3QsIHRoZSBXaWtpIEZyZWV6ZSBvbiBPY3RvYmVyIDJuZCwgYW5kIHRoZSBwcmVzZW50YXRpb24gdmlkZW8gc3VibWlzc2lvbiBvbiBPY3RvYmVyIDl0aC4gRGVsaXZlcmFibGVzIHdlcmUgb3V0bGluZWQsIHdpdGggZWFjaCBtZW1iZXIgYXNzaWduaW5nIHRoZW1zZWx2ZXMgdG8gdGhyZWUgc3ViamVjdCBhcmVhcywgd2hpY2ggaW5jbHVkZSBhIHZpbGxhZ2UgcHJlc2VudGF0aW9uICgxNSBtaW51dGVzKSwgYSBqdWRnaW5nIHNlc3Npb24gKDMwIG1pbnV0ZXMpLCBhbmQgYSB0ZWFtIGJvb3RoLiBFc3NlbnRpYWwgZm9ybXMgc3VjaCBhcyB0aGUgcHJvamVjdCBzYWZldHkgZm9ybSwganVkZ2luZyBmb3JtLCBhbmQgYXR0cmlidXRpb24gZm9ybSB3ZXJlIGhpZ2hsaWdodGVkLCBhbG9uZyB3aXRoIHZpZGVvIHJlcXVpcmVtZW50cyBmb3IgYm90aCBwcmVzZW50YXRpb24gYW5kIHByb21vdGlvbi48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+UHVibGljIE91dHJlYWNoPC9oMj5cbiAgICAgICAgPHA+VGVhbXMgYXJlIHRvIGJlIGVzdGFibGlzaGVkIGZvciB2YXJpb3VzIHJlc3BvbnNpYmlsaXRpZXMsIGluY2x1ZGluZyBhIHB1YmxpYyBvdXRyZWFjaCB0ZWFtIHdpdGggYSBtaW5pbXVtIG9mIGZpdmUgbWVtYmVycyBmb2N1c2luZyBvbiBzb2NpYWwgbWVkaWEgYW5kIG5ldHdvcmtpbmcgd2l0aCBvdGhlciBpR0VNIHRlYW1zLiBTcGVjaWZpYyBwb3NpdGlvbnMgdG8gZmlsbCBpbmNsdWRlIGEgZGVhZGxpbmUgbWFuYWdlciBhbmQgdGVhbXMgZm9yIHNwb25zb3JpbmcsIHRoZW1lIGFyZWFzLCBhbmQgdGhlIEdyYW5kIEphbWJvcmVlIHByZXNlbnRhdGlvbnMuIEFkZGl0aW9uYWwgcmVzcG9uc2liaWxpdGllcyBpbmNsdWRlIG9yZ2FuaXppbmcgdGhlIHZpbGxhZ2UgYm9vdGgsIGRlc2lnbiB0ZWFtIHRhc2tzLCBhbmQgZW5zdXJpbmcgdGhlIGNvbXBsZXRpb24gb2Ygc2FmZXR5LCBqdWRnaW5nLCBhbmQgYXR0cmlidXRpb24gZm9ybXMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkphbWJvcmVlICYgTWVldFVwczwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIHBsYW5zIGEgdHJpcCB0byBQYXJpcyB2aWEgdHJhaW4sIHdoaWNoIHRha2VzIGFwcHJveGltYXRlbHkgNiBob3VycyBhbmQgMTUgbWludXRlcy4gVHJhdmVsIGNvc3RzIHdpbGwgYmUgY292ZXJlZCwgd2l0aCB0ZWFtIG1lbWJlcnMgb25seSBuZWVkaW5nIHRvIHBheSBmb3IgbWVhbHMuIFN1Z2dlc3RlZCB0cmF2ZWwgZGF0ZXMgYXJlIGZyb20gT2N0b2JlciAyMXN0IHRvIDMxc3QsIGNvaW5jaWRpbmcgd2l0aCB0aGUgaUdFTSBKYW1ib3JlZSBmcm9tIE9jdG9iZXIgMjNyZCB0byAyNnRoLCB3aXRoIGFjY29tbW9kYXRpb24gdG8gYmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiB0ZWFtIHByZWZlcmVuY2VzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5MaW5rcyAmIENvPC9oMj5cbiAgICAgICAgPHA+QSBwcmVzZW50YXRpb24gcmVnYXJkaW5nIGlHRU0gZ3VpZGVsaW5lcyB3aWxsIGJlIHByb3ZpZGVkIGJ5IFNpbmFuLjwvcD5cbiAgICAgICAgPC8+XG4gICAgfSwgXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcImZlYnJ1YXJ5MjlcIixcbiAgICAgICAgbm9kZTogPD48aDE+VGVhbSBNZWV0aW5nPC9oMT5cblxuICAgICAgICA8aDI+VXJnZW50PC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gZGlzY3Vzc2VkIHRoZSBzdHJ1Y3R1cmUgZm9yIHRvcGljIGlkZW50aWZpY2F0aW9uLCBjb25zaWRlcmluZyB3aGV0aGVyIHRvIHN0YXJ0IHdpdGggZ2VuZXJhbCBvciBzcGVjaWZpYyBhcmVhcy4gQW4gaWRlYSB3YXMgcHJvcG9zZWQgdG8gY3JlYXRlIHRocmVlIG9yIG1vcmUgdG9waWMgYXJlYXMgZm9yIGdyb3VwIGZvcm1hdGlvbiBiYXNlZCBvbiBwZXJzb25hbCBpbnRlcmVzdHMsIHdpdGggZWFjaCBtZW1iZXIgcHJlcGFyaW5nIGEgc2xpZGUgdG8gZmFjaWxpdGF0ZSBjbHVzdGVyaW5nIGlkZWFzLiBTaW5hbiB3aWxsIGNyZWF0ZSBhIHByZXNlbnRhdGlvbiB0byBiZSBjb21wbGV0ZWQgYnkgVGh1cnNkYXksIE1hcmNoIDd0aC48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+T3JnYW5pc2F0aW9uPC9oMj5cbiAgICAgICAgPHA+Rm9yIGZ1dHVyZSBjb21tdW5pY2F0aW9uLCB0ZWFtcyB3aWxsIHVzZSBhIGRlZGljYXRlZCBwbGF0Zm9ybSBzdGFydGluZyBNYXJjaCA1dGgsIHdoaWxlIFNsYWNrIHdpbGwgc2VydmUgZm9yIGluZm9ybWFsIG5ldHdvcmtpbmcuIFRoZSBuZWVkIGZvciBpbnRlcm5hbCBkZWFkbGluZXMgd2FzIGVtcGhhc2l6ZWQsIHN1Z2dlc3Rpbmcgb25lIHdlZWsgcHJpb3IgdG8gb2ZmaWNpYWwgZGVhZGxpbmVzLCBhbmQgZXZlcnlvbmUgaXMgZW5jb3VyYWdlZCB0byBtb25pdG9yIHRoZSBpR0VNIHdlYnNpdGUgZm9yIHVwZGF0ZXMuIFBvc3NpYmxlIGluaXRpYXRpdmVzIGluY2x1ZGUgb3JnYW5pemluZyBhIHN0aWNrZXIgYWxidW0sIG5ld3NsZXR0ZXIsIHBvc3RjYXJkIGNhbXBhaWduLCBhbmQgZXZlbiBhIE1pbmkgSmFtYm9yZWUgb3IgSnVuaW9yIEphbSBpbiBCaWVsZWZlbGQuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkRvY3VtZW50YXRpb248L2gyPlxuICAgICAgICA8cD5VdGlsaXppbmcgWm90ZXJvIGFzIGEgbGl0ZXJhdHVyZSBwbGF0Zm9ybSB3YXMgYWdyZWVkIHVwb24sIHdpdGggYXR0ZW50aW9uIG5lZWRlZCBvbiB0aGUgYWNjdXJhY3kgb2YgY2l0YXRpb25zLCBlc3BlY2lhbGx5IGZvciBvbGRlciBwdWJsaWNhdGlvbnMuIFRoZSBwcm9qZWN0IGRlc2NyaXB0aW9uIHNob3VsZCBiZSBjb25jaXNlLCBpbmNvcnBvcmF0aW5nIHJlbGV2YW50IGxpdGVyYXR1cmUgYW5kIGVuZ2FnaW5nIGNvbnRlbnQgZm9yIGp1ZGdlcywgd2l0aCBhIGZpbmFsIHZlcnNpb24gZHVlIGJ5IHRoZSBXaWtpIEZyZWV6ZSBhbmQgYSBwcmVsaW1pbmFyeSB2ZXJzaW9uIGJ5IEp1bmUgMjFzdC4gQWRkaXRpb25hbGx5LCBuZXcgcGFydHMgbXVzdCBiZSBjcmVhdGVkIGlmIHVuYXZhaWxhYmxlIGluIHRoZSBSZWdpc3RyeSwgZW5zdXJpbmcgY29tcGF0aWJpbGl0eSB3aXRoIHNwZWNpZmljIHJlc3RyaWN0aW9uIGVuenltZXMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlByb2plY3QgU29mdHdhcmU8L2gyPlxuICAgICAgICA8cD5EaXNjdXNzaW9uIGhpZ2hsaWdodGVkIHRoZSBwb3RlbnRpYWwgcmVsZXZhbmNlIG9mIHByb2plY3Qgc29mdHdhcmUgZGVwZW5kaW5nIG9uIHRoZSBmb2N1cywgd2l0aCBmdXJ0aGVyIGRldGFpbHMgYXZhaWxhYmxlIGluIHRoZSB1cGNvbWluZyBwcmVzZW50YXRpb24uIEF3YXJkcyB3ZXJlIG91dGxpbmVkLCBlbXBoYXNpemluZyB0aGF0IG1lZGFscyBkbyBub3QgcmVxdWlyZSBzcGVjaWFsIGF3YXJkcyBhbmQgZGVwZW5kIG9uIHByb2plY3Qgc3VjY2VzcyBhbmQgaHVtYW4gcHJhY3RpY2VzLiBUaGUgdGVhbSBhaW1zIGZvciB0aGUgR29sZCBtZWRhbCwgd2hpY2ggbmVjZXNzaXRhdGVzIHRocmVlIG1ham9yIGFjaGlldmVtZW50cyBhY3Jvc3MgdmFyaW91cyBjYXRlZ29yaWVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5UZWFtPC9oMj5cbiAgICAgICAgPHA+QSB0ZWFtLWJ1aWxkaW5nIHdlZWtlbmQgd2FzIHByb3Bvc2VkLCB3aXRoIGRldGFpbHMgb24gcHJpY2luZyBhbmQgYSBmaW5hbCB2b3RlIHRvIGJlIGNsYXJpZmllZCBieSBLYXRobGVlbiBhbmQgS2ltLiBUaGUgdGVhbSBhbHNvIGFncmVlZCB0byBhIGJvd2xpbmcgYWN0aXZpdHkgaW5zdGVhZCBvZiB0aGUgbWVldGluZyBvbiBNYXJjaCA1dGgsIHdpdGggZnVydGhlciBpbmZvcm1hdGlvbiB0byBiZSBzaGFyZWQgdmlhIFdoYXRzQXBwLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5UYXNrczwvaDI+XG4gICAgICAgIDxwPlNpbmFuIGlzIHRhc2tlZCB3aXRoIGNyZWF0aW5nIGEgcHJlc2VudGF0aW9uIHRvIG91dGxpbmUgdmFyaW91cyB0b3BpY3MgZm9yIHRoZSB0ZWFtLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5XaWtpPC9oMj5cbiAgICAgICAgPHA+VGhlIHdpa2kgd2lsbCBiZSBlc3NlbnRpYWwgZm9yIGRvY3VtZW50aW5nIHRoZSBwcm9qZWN0IGFuZCBwcmVzZW50aW5nIHJlc2VhcmNoLiBJdCB3aWxsIGluY2x1ZGUgc2VjdGlvbnMgZm9yIGNvbnRyaWJ1dGlvbnMgYW5kIG11c3Qgbm90IGFsdGVyIGlHRU0gbGlua3MuIEEgYmFzaWMgd2lraSB3aWxsIGJlIGVzdGFibGlzaGVkLCB3aXRoIGEgXHUyMDFDQ29sZCBXZWRuZXNkYXlcdTIwMUQgcGxhbm5lZCBmb3IgcmV2aWV3aW5nIHZpZGVvcyBhbmQgb3RoZXIgbWF0ZXJpYWxzIGJlZm9yZSB0aGUgV2lraSBGcmVlemUuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkxpbmtzICYgQ288L2gyPlxuICAgICAgICA8cD5TaW5hbiB3aWxsIGFsc28gcHJvdmlkZSBhIHByZXNlbnRhdGlvbiByZWdhcmRpbmcgaUdFTSBndWlkZWxpbmVzLjwvcD5cbiAgICAgICAgPC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwibWFyY2g3XCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8cD5UaGUgdGVhbSBkaXNjdXNzZWQgdGhlIGZvcm1hdGlvbiBvZiBzdWJ0ZWFtcywgZW1waGFzaXppbmcgdGhhdCBtb2RlcmF0aW9uIGFuZCBtYWluIHJlc3BvbnNpYmlsaXRpZXMgYXJlIHNoYXJlZCwgcmF0aGVyIHRoYW4gdW5pbGF0ZXJhbCBkZWNpc2lvbi1tYWtpbmcuIEEgZGVzaWduYXRlZCBwZXJzb24gd2lsbCBvdmVyc2VlIGFsbCBkZWFkbGluZXMgYW5kIGNoZWNrIHRoZW0gdHdvIHdlZWtzIGluIGFkdmFuY2UsIHdpdGggaW50ZXJuYWwgZGVhZGxpbmVzIG1hbmFnZWQgdGhyb3VnaCBhIGNhbGVuZGFyIG9uIE1pY3Jvc29mdCBUZWFtcywgd2hpY2ggd2lsbCBhbHNvIGluY2x1ZGUgYmlydGhkYXlzLiBTbWFsbCBncm91cCBicmFpbnN0b3JtaW5nIHNlc3Npb25zIGFpbWVkIHRvIGdlbmVyYXRlIDEtMyBjb25jcmV0ZSBwcm9qZWN0IGlkZWFzLCB3aXRoIHN1bW1hcmllcyByZWNvcmRlZCBmb3IgcmVmZXJlbmNlLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxwPkZvciBsaXRlcmF0dXJlIG1hbmFnZW1lbnQsIFpvdGVybyB3aWxsIGJlIHV0aWxpemVkIGZvciBvcmdhbml6aW5nIHB1YmxpY2F0aW9ucyBpbnRvIHN1YmZvbGRlcnMsIHJlcXVpcmluZyB0aGUgdXNlIG9mIERPSSBvciBJU0JOIGZvciBhdHRhY2htZW50cy4gVGhpcyB3aWxsIGVuc3VyZSBlYXN5IGFjY2VzcyBhbmQgcHJldmVudCBkdXBsaWNhdGUgZW50cmllcy4gTWljcm9zb2Z0IFRlYW1zIHdpbGwgYmUgc2V0IHVwIGZvciBjb21tdW5pY2F0aW9uLCB0cmFuc2ZlcnJpbmcgaW5mb3JtYXRpb24gZnJvbSBOb3Rpb24gdG8gZmFjaWxpdGF0ZSBjYWxlbmRhciBtYW5hZ2VtZW50LCBjaGF0LCBhbmQgZG9jdW1lbnQgdXBsb2Fkcy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+VGVhbTwvaDI+XG4gICAgICAgIDxwPlRoZSBib3dsaW5nIGV2ZW50IHdhcyBhIHN1Y2Nlc3MsIGFuZCBwaG90b3Mgd2VyZSB0YWtlbiBmb3IgcG90ZW50aWFsIGluY2x1c2lvbiBpbiBhIFwiUGhvdG8gQm9vay5cIiBUaGVyZSBpcyBhIHN1Z2dlc3Rpb24gdG8gbWFrZSB0aGlzIGEgbW9udGhseSB0ZWFtIGV2ZW50LCB3aXRoIGFuIHVwY29taW5nIGV4Y3Vyc2lvbiB3aGVyZSB0aGUgdGVhbSB3aWxsIHZvdGUgYmV0d2VlbiBUaGUgSGFndWUgb3IgSGFtYnVyZywgY29vcmRpbmF0ZWQgYnkgS2ltIGFuZCBLYXRobGVlbi48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SmFtYm9yZWUgJiBNZWV0VXBzPC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gaWRlbnRpZmllZCBtZW1iZXJzIHJlc3BvbnNpYmxlIGZvciBwbGFubmluZyB0aGUgUGFyaXMgZXhjdXJzaW9uIGFuZCBkaXNjdXNzZWQgcHJlcGFyaW5nIGEgZGV0YWlsZWQgZG9jdW1lbnQgY292ZXJpbmcgYWNjb21tb2RhdGlvbiBhbmQgdHJhaW4gdHJhdmVsLiBFbXBoYXNpcyB3YXMgcGxhY2VkIG9uIG1haW50YWluaW5nIHRlYW0gZHluYW1pY3MgZHVyaW5nIHRoaXMgcGxhbm5pbmcgcGhhc2UuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlB1YmxpYyBPdXRyZWFjaDwvaDI+XG4gICAgICAgIDxwPlRoZSBwdWJsaWMgb3V0cmVhY2ggdGVhbSwgY29uc2lzdGluZyBvZiBMeWRpYSwgQXNhbCwgUGhpbGlwLCBLYXlhLCBhbmQgVmVyYSwgd2lsbCBmb2N1cyBvbiBzb2NpYWwgbWVkaWEgYW5kIG5ldHdvcmtpbmcgaW5pdGlhdGl2ZXMuIFRoZXkgYXJlIHBsYW5uaW5nIGFjdGl2aXRpZXMgc3VjaCBhcyBwb3N0Y2FyZCBhbmQgc3RpY2tlciBjYW1wYWlnbnMgYW5kIGFpbSB0byBvcmdhbml6ZSBhIE1pbmkgSmFtYm9yZWUgaW52b2x2aW5nIGFwcHJveGltYXRlbHkgMjUgdGVhbXMgZnJvbSBhY3Jvc3MgRXVyb3BlLCBhbG9uZyB3aXRoIGNvbnRyaWJ1dGlvbnMgdG8gbG9jYWwgcmFkaW8vbmV3c3BhcGVyIGVmZm9ydHMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlNwb25zb3Jpbmc8L2gyPlxuICAgICAgICA8cD5UaGUgc3BvbnNvcmluZyB0ZWFtLCBtYWRlIHVwIG9mIFZpbmNlbnQsIEx5ZGlhLCBBbm5hLCBOYW5lLCBEYXlhbiwgYW5kIElzYWJlbGwsIHdpbGwgZGV2ZWxvcCBhbiBhcHBsaWNhdGlvbiBib29rbGV0IG91dGxpbmluZyB3aGF0IGlHRU0gZW50YWlscyBmb3IgcG90ZW50aWFsIHNwb25zb3JzLiBUaGVpciB0YXNrcyBpbmNsdWRlIG5lZ290aWF0aW5nIGNvbnRyYWN0IHRlcm1zIGFuZCBwcmljaW5nIGNhdGVnb3JpZXMsIHdpdGggYW4gZW1waGFzaXMgb24gc3RhcnRpbmcgdG8gY29udGFjdCBzcG9uc29ycyBpbW1lZGlhdGVseS48L3A+XG4gICAgICAgIDwvPlxuICAgIH0sIFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJtYXJjaDEyXCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8cD5CcmFpbnN0b3JtaW5nIHdpbGwgY29udGludWUgaW4gdGhlIHNhbWUgZ3JvdXBzLCB3aXRoIGVhY2ggZ3JvdXAgc2VsZWN0aW5nIHR3byB0b3BpY3MgdG8gcHJlc2VudCBhdCB0aGUgbmV4dCBtZWV0aW5nLiBBbnlvbmUgd2l0aG91dCBhY2Nlc3MgdG8gdGhlIG1lZXRpbmcgcm9vbSBzaG91bGQgZW1haWwgTHV0eiBXb2JiZSwgd2l0aCBKXHUwMEY2cm4gY29waWVkLCBmb3IgYXNzaXN0YW5jZS4gRGV2aWNlIGJvcnJvd2luZyBjYXJkcyBoYXZlIGJlZW4gZGlzdHJpYnV0ZWQsIGdyYW50aW5nIGFjY2VzcyB0byB0aGUgRGlnaXRhbCBMZWFybmluZyBMYWIsIGFuZCByZXF1ZXN0cyB0byB1c2UgZmFjaWxpdGllcyBsaWtlIHRoZSAzRCBwcmludGVyIHNob3VsZCBiZSBzZW50IHZpYSBlbWFpbC48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+VGVhbTwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGlzIHBsYW5uaW5nIGEgd2Vla2VuZCBpbiBUaGUgSGFndWUsIGZvY3VzaW5nIG9uIHdvcmtzaG9wIGNvbnRlbnQgYW5kIHRoZSBwb3NzaWJpbGl0eSBvZiBob3N0aW5nIGEgd29ya3Nob3AgdGhlbXNlbHZlcy4gQ29vcmRpbmF0aW9uIHdpdGggdGhlIExlaWRlbiBhbmQgRGVsZnQgdGVhbXMgZm9yIGEgbWVldC11cCBhbmQgYSB2aXNpdCB0byB0aGUgcmVzZWFyY2ggY2VudGVyIGlzIHVuZGVyd2F5LCB3aXRoIGRpc2N1c3Npb25zIG5lZWRlZCBvbiBwYXJ0aWNpcGFudCBudW1iZXJzLCBpbmNsdWRpbmcgc3VwZXJ2aXNvcnMgYW5kIFBJcy4gQWRkaXRpb25hbGx5LCBhIG1lbWUgY2hhbm5lbCB3aWxsIGJlIGNyZWF0ZWQgdG8gc2hhcmUgbGFiLXJlbGF0ZWQgaHVtb3IuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkphbWJvcmVlICYgTWVldFVwczwvaDI+XG4gICAgICAgIDxwPkEgcG9sbCB3aWxsIGJlIGRpc3RyaWJ1dGVkIHRvIGFzc2VzcyB0aGUgZmVhc2liaWxpdHkgb2YgdGhlIHBsYW5uZWQgdHJpcCB0byBQYXJpcyBmcm9tIE9jdG9iZXIgMjEgdG8gT2N0b2JlciAzMSwgYXNraW5nIGZvciBwYXJ0aWNpcGF0aW9uIGluIHRoZSBmdWxsIHRyaXAgb3IgcGFydCBvZiBpdC4gVGhlIHN1aXRhYmlsaXR5IG9mIEJpZWxlZmVsZCBmb3IgYSBtZWV0LXVwIHdpbGwgYmUgZXZhbHVhdGVkLCB3aXRoIGFzc2lzdGFuY2UgZnJvbSB0aGUgSGFtYnVyZy9GcmFua2Z1cnQgdGVhbXMgZm9yIHByb2dyYW0gYW5kIHNwZWFrZXIgb3JnYW5pemF0aW9uLiBKXHUwMEY2cm4gaGFzIGNvbnRhY3RzIGZvciBwb3RlbnRpYWwgc3BlYWtlcnMsIGFuZCB0aGUgbWVldC11cCBwbGFuIGlzIGluIGRldmVsb3BtZW50LCBwZW5kaW5nIG9mZmljaWFsIGFwcHJvdmFsLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5UYXNrczwvaDI+XG4gICAgICAgIDxwPkFsbCBtZWV0aW5nIG1pbnV0ZXMgd2lsbCBiZSBtZXJnZWQgaW50byBhIHNpbmdsZSBXb3JkIGRvY3VtZW50IGZvciBjbGFyaXR5LiBBIHRlYW0gb2YgYXQgbGVhc3QgdGhyZWUgKENocmlzdGlhbiwgTmFuZSwgYW5kIExpc2EpIGlzIHRhc2tlZCB3aXRoIHNldHRpbmcgdXAgdGhlIEF0dHJpYnV0aW9uIEZvcm0gdG8gZG9jdW1lbnQgY29udHJpYnV0aW9ucyBhbmQgZGVsaXZlcmFibGVzLiBBbGwgbWVtYmVycyBhcmUgZW5jb3VyYWdlZCB0byBtb25pdG9yIHRoZSBjYWxlbmRhciBjcmVhdGVkIGJ5IEthaSBhbmQgYWRkIGFueSBpbXBvcnRhbnQgZGF0ZXMgYW5kIGRlYWRsaW5lcy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+UHVibGljIE91dHJlYWNoPC9oMj5cbiAgICAgICAgPHA+QSB0b3VyIG9mIHRoZSBNYWtpbmcgTWVkaWEgTGFiIGlzIHNjaGVkdWxlZCBmb3IgVGh1cnNkYXksIE1hcmNoIDE0LCBhdCAxNzozMCwgd2l0aCBwb3RlbnRpYWwgY29sbGFib3JhdGlvbiB3aXRoIHRoZSBIYW1idXJnIGFuZCBGcmFua2Z1cnQgdGVhbXMgZm9yIGEgcm90YXRpbmctbG9jYXRpb24gbWVldC11cC4gQSB2b3RlIHdpbGwgYmUgaGVsZCByZWdhcmRpbmcgdGhlIG9yZ2FuaXphdGlvbiBvZiB0aGlzIHllYXIncyBtZWV0LXVwIGluIEJpZWxlZmVsZCwgYW5kIGEgcHJvZmVzc2lvbmFsIHRlYW0gcGhvdG8gaXMgcGxhbm5lZCwgd2l0aCBjb25zZW50IGFscmVhZHkgb2J0YWluZWQgZnJvbSBhbGwgcHJlc2VudCBtZW1iZXJzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5TcG9uc29yaW5nPC9oMj5cbiAgICAgICAgPHA+VXBjb21pbmcgZXZlbnRzIGluY2x1ZGUgdGhlIExhYlN1cHBseSBGYWlyIG9uIEFwcmlsIDI0IGFuZCBGYW1lTGFiLCB3aXRoIHByZWxpbWluYXJ5IHJvdW5kcyBvbiBBcHJpbCAxMSBhbmQgdGhlIGZpbmFscyBvbiBKdW5lIDEyIGluIEJpZWxlZmVsZC4gVGhlIEp1bmlvckphbSBpbiBNXHUwMEZDbnN0ZXIgaXMgaGlnaGxpZ2h0ZWQgYXMgYSBcIm1hbmRhdG9yeSBldmVudFwiIGZyb20gQXVndXN0IDE2IHRvIDE4LCBhbmQgcGxhbm5pbmcgZm9yIGF0dGVuZGFuY2UgYW5kIG9yZ2FuaXphdGlvbiBpcyBuZWVkZWQuIFRoZSBzcG9uc29yaW5nIHRlYW0gd2lsbCBtZWV0IHR3aWNlIGEgd2VlayBhcyBwbGFubmluZyBpcyBqdXN0IGJlZ2lubmluZy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+V2lraTwvaDI+XG4gICAgICAgIDxwPk1heGltaWxpYW4gZW1waGFzaXplZCB0aGUgbmVlZCBmb3IgZXhwZXJpZW5jZSB3aXRoIEhUTUwsIENTUywgYW5kIEphdmFTY3JpcHQgZm9yIGJ1aWxkaW5nIHRoZSBXaWtpIHBhZ2UsIGFuZCBoZSB3aWxsIG9yZ2FuaXplIGFuIGludHJvZHVjdG9yeSBjb3Vyc2UgdG8gZW5zdXJlIGV2ZXJ5b25lIGxlYXJucyB0aGUgYmFzaWNzIGJlZm9yZSB0aGUgV2lraSBGcmVlemUuIEhlIHdpbGwgYWxzbyBjb25maWd1cmUgc29mdHdhcmUgZm9yIGVycm9yIGRldGVjdGlvbiBhbmQgYXV0b2NvbXBsZXRlIGZ1bmN0aW9uYWxpdHksIGFuZCB3aWxsIGFkZHJlc3MgdGhlIHRpbWUgZGVsYXkgZm9yIFdpa2kgdXBkYXRlcy4gSW5zcGlyYXRpb24gY2FuIGJlIGRyYXduIGZyb20gcHJldmlvdXMgV2lraSBkZXNpZ25zLCB3aXRoIGEgZ29hbCB0byBlbmhhbmNlIGNvbXBldGl0aXZlbmVzcyBpbiB0aGUgaUdFTSBjb250ZXN0LjwvcD5cbiAgICAgICAgPC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwibWFyY2gxNFwiLCBcbiAgICAgICAgbm9kZTogPD48aDE+VGVhbSBNZWV0aW5nPC9oMT5cblxuICAgICAgICA8aDI+T3JnYW5pc2F0aW9uPC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gYnJhaW5zdG9ybWVkIHZhcmlvdXMgdG9waWNzIGZvciBwb3RlbnRpYWwgcHJvamVjdHMsIGluY2x1ZGluZyBDeXN0aWMgRmlicm9zaXMsIER1Y2hlbm5lIE11c2N1bGFyIER5c3Ryb3BoeSwgUmFwaWQgQW50aWdlbiBUZXN0LCBIdW50aW5ndG9uXHUyMDE5cyBEaXNlYXNlLCBQaGFnZSBUaGVyYXB5IGZvciB0aGUgR3V0LCBNYWduZXRpYyBNaWNyb3N3aW1tZXJzLCBhbmQgVG94aWMgQ3lhbm9iYWN0ZXJpYWwgQmxvb21zLiBFYWNoIHRlYW0gd2lsbCBwcmVwYXJlIGEgYnJpZWYgaW50cm9kdWN0aW9uIG9mIHRoZWlyIGFzc2lnbmVkIHRvcGljLCB3aXRoIGd1aWRlbGluZXMgZm9yIGEgMTAtMTUgbWludXRlIHByZXNlbnRhdGlvbiBjb3ZlcmluZyB0aGUgcHJvYmxlbSwgcHJvcG9zZWQgc29sdXRpb24sIGV4aXN0aW5nIHN0dWRpZXMsIGFuZCBwcm9qZWN0IGNoYWxsZW5nZXMuIFRoZSBnb2FsIGlzIHRvIGNvbXBsZXRlIHRoZSBwcm9qZWN0IG91dGxpbmUgYnkgTWFyY2ggMjEsIDIwMjQsIGluY29ycG9yYXRpbmcgdW5pdmVyc2l0eSByZXNvdXJjZXMgYW5kIG91dGxpbmluZyBwb3NzaWJsZSBzdWJwcm9qZWN0cy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+VGVhbTwvaDI+XG4gICAgICAgIDxwPlRoZSBhdmFpbGFiaWxpdHkgb2YgbGFiIGNvYXRzIHdhcyBjb25maXJtZWQgZm9yIGEgdW5pZm9ybSB0ZWFtIHBob3RvLCBlbnN1cmluZyBldmVyeW9uZSBpcyBwcmVwYXJlZCBmb3IgdGhlIG9jY2FzaW9uLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5KYW1ib3JlZSAmIE1lZXRVcHM8L2gyPlxuICAgICAgICA8cD5UaGUgcGxhbm5pbmcgZm9yIHRoZSBQYXJpcyB0cmlwIGlzIHVuZGVyd2F5LCB3aXRoIHRoZSB0ZWFtIG5hcnJvd2luZyBkb3duIGFjY29tbW9kYXRpb24gb3B0aW9ucy4gVGhyZWUgdG8gZm91ciBob3RlbCBjaG9pY2VzIHdpbGwgYmUgcHJlc2VudGVkIGluIHRoZSB1cGNvbWluZyBtZWV0aW5nIG9uIFR1ZXNkYXkuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJtYXJjaDE5XCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8cD5UaGUgdGVhbSBkaXNjdXNzZWQgdGhlIGltcGxlbWVudGF0aW9uIG9mIGEgcHJvdG9jb2wgc3RydWN0dXJlLCBlbXBoYXNpemluZyB0aGUgbmVlZCBmb3IgYW4gYWdlbmRhIHRvIGJlIGludHJvZHVjZWQgYWhlYWQgb2YgdGltZS4gUGFydGljaXBhbnRzIGNhbiBhZGQgdG9waWNzIHRvIGJlIGRpc2N1c3NlZCBpbiB0aGUgdXBjb21pbmcgbWVldGluZ3MgZGlyZWN0bHkgaW4gdGhlIG1pbnV0ZXMuIEFkZGl0aW9uYWxseSwgdG9waWMgcHJlc2VudGF0aW9ucyBhcmUgc2NoZWR1bGVkIGZvciBNYXJjaCAyNiwgYWltaW5nIHRvIGZvbGxvdyB0aGUgaUdFTSBwcmVzZW50YXRpb24gc3R5bGUgdG8gZWZmZWN0aXZlbHkgcGl0Y2ggaWRlYXMgYW5kIHByYWN0aWNlIGZvciBmdXR1cmUgcHJlc2VudGF0aW9ucy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SmFtYm9yZWUgJiBNZWV0VXBzPC9oMj5cbiAgICAgICAgPHA+S2F0aGxlZW4gcHJlc2VudGVkIGZvdXIgYWNjb21tb2RhdGlvbiBvcHRpb25zIGZvciB0aGUgUGFyaXMgdHJpcCwgd2hpY2ggaGF2ZSBiZWVuIHVwbG9hZGVkIHRvIFRlYW1zIGZvciByZXZpZXcuIE9wdGlvbnMgcmFuZ2UgZnJvbSBzZWxmLWNhdGVyaW5nIGFwYXJ0bWVudHMgdG8gYSBob3N0ZWwsIGVhY2ggdmFyeWluZyBpbiBjb3N0LCBhdG1vc3BoZXJlLCBhbmQgcHJveGltaXR5IHRvIHRoZSBldmVudCB2ZW51ZS4gQSBwb2xsIGZvciBhY2NvbW1vZGF0aW9uIHByZWZlcmVuY2VzIHdpbGwgY2xvc2Ugb24gTWFyY2ggMjEsIDIwMjQsIGF0IDYgcC5tLiBvbiBXaGF0c0FwcCwgYWZ0ZXIgd2hpY2ggYWRkaXRpb25hbCBib29raW5nIGRldGFpbHMgd2lsbCBiZSBwcm92aWRlZC48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+U3BvbnNvcmluZzwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGlzIGNvb3JkaW5hdGluZyBhdHRlbmRhbmNlIGFuZCBvcmdhbml6YXRpb24gZm9yIHRoZSBMYWItU3VwcGx5IEZhaXIgYW5kIG90aGVyIHJlbGF0ZWQgZXZlbnRzLiBUaGlzIGludGVybmFsIGNvb3JkaW5hdGlvbiBhaW1zIHRvIGVuc3VyZSBlZmZlY3RpdmUgcGFydGljaXBhdGlvbiBhbW9uZyBpbnRlcmVzdGVkIG1lbWJlcnMuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJtYXJjaDIxXCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5UZWFtPC9oMj5cbiAgICAgICAgPHA+VGhlIEhhbWJ1cmcgaUdFTSB0ZWFtIGlzIHNjaGVkdWxlZCBmb3IgYSByZXRyZWF0IGJ1dCBpcyBleHBlY3RlZCB0byBoYXZlIHRpbWUgYXZhaWxhYmxlIGZvciBhIG1lZXQtdXAgb24gRnJpZGF5LjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5KYW1ib3JlZSAmIE1lZXRVcHM8L2gyPlxuICAgICAgICA8cD5EdXJpbmcgdGhlIG1lZXRpbmcsIHRoZSB0ZWFtIGNvbmZpcm1lZCB0aGF0IHRoZSBBcGFydGhvdGVsIHdhcyB0aGUgcHJlZmVycmVkIGFjY29tbW9kYXRpb24gb3B0aW9uIGZvciB0aGUgUGFyaXMgdHJpcC4gSG93ZXZlciwgdGhlcmUgYXJlIGNoYWxsZW5nZXMgd2l0aCBib29raW5nLCBhcyBhY2NvbW1vZGF0aW9ucyBjYW5ub3QgYmUgcmVzZXJ2ZWQgdmlhIEJvb2tpbmcuY29tLCBhbmQgdGhlIGluZGl2aWR1YWwgYm9va2luZyBzaXRlcyBzaG93IGluc3VmZmljaWVudCBhdmFpbGFiaWxpdHkuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJtYXJjaDI3XCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8aDM+Rmlyc3QgUHJlc2VudGF0aW9uOiBSZWQgQmlvdGVjaG5vbG9neSAtIER1Y2hlbm5lIE11c2N1bGFyIER5c3Ryb3BoeTwvaDM+XG4gICAgICAgIDxwPkR1Y2hlbm5lIG11c2N1bGFyIGR5c3Ryb3BoeSBpcyBhIGdlbmV0aWMgZGlzZWFzZSBjaGFyYWN0ZXJpemVkIGJ5IG11c2NsZSB0aXNzdWUgcmVwbGFjZW1lbnQuIFNldmVyYWwgY3VyZSBhcHByb2FjaGVzIHdlcmUgZGlzY3Vzc2VkLCBpbmNsdWRpbmcgZXhvbiBza2lwcGluZyBhbmQgdXNpbmcgQUFWIHZlY3RvcnMsIGJ1dCBjdXJyZW50IHRyZWF0bWVudHMgYXJlIGxpbWl0ZWQuIFF1ZXN0aW9ucyByYWlzZWQgaW5jbHVkZWQgdGhlIGludGVncmF0aW9uIG9mIGxvbmcgRE5BIGludG8gY2VsbHMgYW5kIHBvdGVudGlhbCBjb21tdW5pdHkgZW5nYWdlbWVudCBzdHJhdGVnaWVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMz5TZWNvbmQgUHJlc2VudGF0aW9uOiBNYWduZXRpYyBNaWNyb3N3aW1tZXJzIGZvciBUYXJnZXRlZCBDYW5jZXIgVGhlcmFweTwvaDM+XG4gICAgICAgIDxwPlRoaXMgcHJlc2VudGF0aW9uIGZvY3VzZWQgb24gdXNpbmcgYmlvZGVncmFkYWJsZSBhbGdhZSBhcyBjYXJyaWVycyBmb3Igbm9uLWludmFzaXZlIGRydWcgZGVsaXZlcnkgdGFyZ2V0aW5nIG92YXJpYW4gY2FuY2VyLiBUaGUgbWV0aG9kIGludm9sdmVzIG1hZ25ldGl6aW5nIG1pY3Jvc3dpbW1lcnMgdG8gZW5oYW5jZSBtb2JpbGl0eSBhbmQgZGVsaXZlciBkcnVncyB0byBjYW5jZXIgY2VsbHMsIGVuc3VyaW5nIG1pbmltYWwgZGFtYWdlIHRvIGhlYWx0aHkgdGlzc3VlLiBRdWVzdGlvbnMgaW5jbHVkZWQgY29uY2VybnMgYWJvdXQgYmlvZGVncmFkYWJpbGl0eSB3aXRoIG1hZ25ldGljIHBhcnRpY2xlcyBhbmQgdGhlIGNoYWxsZW5nZXMgb2YgdGFyZ2V0aW5nIHNwZWNpZmljIGFyZWFzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMz5UaGlyZCBQcmVzZW50YXRpb246IEN5YW5vYmFjdGVyaWEgQmxvb20gUHJldmVudGlvbiB3aXRoIEFsZ2FlPC9oMz5cbiAgICAgICAgPHA+Q3lhbm9iYWN0ZXJpYSBibG9vbXMgcG9zZSBzaWduaWZpY2FudCBlY29sb2dpY2FsIHRocmVhdHMsIGFuZCBjdXJyZW50IGNvbnRyb2wgbWV0aG9kcyBhcmUgaW5hZGVxdWF0ZS4gVGhlIHByb3Bvc2VkIHNvbHV0aW9uIGludm9sdmVzIHVzaW5nIHBlcHRpZGVzIGZyb20gYWxnYWUgdG8gcHJldmVudCBibG9vbXMgd2hpbGUgcHJlc2VydmluZyBlY29zeXN0ZW1zLiBLZXkgcGF0aHdheXMgYW5kIHRhcmdldHMgd2VyZSBpZGVudGlmaWVkLCBlbXBoYXNpemluZyB0aGUgbmVlZCBmb3IgY29uc2VydmF0aW9uIGFuZCBiaW9kaXZlcnNpdHkuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgzPkZvdXJ0aCBQcmVzZW50YXRpb246IEN5c3RpYyBGaWJyb3NpczwvaDM+XG4gICAgICAgIDxwPkN5c3RpYyBmaWJyb3NpcyBhZmZlY3RzIGEgc2lnbmlmaWNhbnQgbnVtYmVyIG9mIGluZGl2aWR1YWxzIGFuZCBpcyBkaWFnbm9zZWQgdGhyb3VnaCBzd2VhdCB0ZXN0cyBhbmQgZ2VuZXRpYyBzY3JlZW5pbmcuIEN1cnJlbnQgdHJlYXRtZW50cyBmb2N1cyBvbiBtYW5hZ2luZyBzeW1wdG9tcywgYnV0IHRoZSBnb2FsIGlzIHRvIGRldmVsb3AgbG9uZy10ZXJtIGN1cmVzIGJ5IHRhcmdldGluZyB0aGUgZ2VuZXRpYyBiYXNpcyBvZiB0aGUgZGlzb3JkZXIuIFRoZSB0ZWFtIGlzIGNvbGxhYm9yYXRpbmcgd2l0aCB2YXJpb3VzIHNwZWNpYWxpc3RzIGFuZCBvcmdhbml6YXRpb25zIHRvIGRldmVsb3AgZWR1Y2F0aW9uYWwgbWF0ZXJpYWxzIGFuZCBvcHRpbWl6ZSB0cmVhdG1lbnQgc3RyYXRlZ2llcy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDM+RnVydGhlciBQcmVzZW50YXRpb25zPC9oMz5cbiAgICAgICAgPHA+RGlzY3Vzc2lvbnMgaW5jbHVkZWQgdGhlIHBvdGVudGlhbCBvZiBwaGFnZXMgYXMgYW4gYWx0ZXJuYXRpdmUgdG8gYW50aWJpb3RpY3MgYW5kIGZ1dHVyZSBwcmVzZW50YXRpb25zIG9uIHJlbGF0ZWQgdG9waWNzLjwvcD5cbiAgICAgICAgPC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwibWFyY2gyOVwiLCBcbiAgICAgICAgbm9kZTogPD48aDE+VGVhbSBNZWV0aW5nPC9oMT5cblxuICAgICAgICA8aDI+T3JnYW5pc2F0aW9uPC9oMj5cbiAgICAgICAgPGgzPlZvdGUgZm9yIFRvcGljPC9oMz5cbiAgICAgICAgPHA+RWFjaCBtZW1iZXIgd2FzIGFsbG93ZWQgb25lIHZvdGUgZm9yIGEgcHJvamVjdCB0b3BpYywgd2l0aCB0aGUgZmlyc3Qgdm90ZSBkdWUgYnkgbWlkbmlnaHQuIFRoZSB0b3AgdGhyZWUgcmVzdWx0cyB3ZXJlOiBNaWNyb3N3aW1tZXJzIHdpdGggNSB2b3RlcywgRHVjaGVubmUgTXVzY3VsYXIgRHlzdHJvcGh5IChETUQpIHdpdGggNCB2b3RlcywgYW5kIEN5c3RpYyBGaWJyb3NpcyAoQ0YpIGFsc28gd2l0aCA0IHZvdGVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMz5Ub3BpYyBQcmVzZW50YXRpb25zPC9oMz5cbiAgICAgICAgPHA+VGhlIHByZXNlbnRhdGlvbnMgd2VyZSBnZW5lcmFsbHkgd2VsbC1yZWNlaXZlZCwgdGhvdWdoIGltcHJvdmVtZW50cyBhcmUgc3RpbGwgbmVlZGVkLiBBIHNlbWluYXIgd2lsbCBwcm92aWRlIGEgYnJpZWYgb3ZlcnZpZXcgYW5kIGRpc2N1c3MgbGltaXRhdGlvbnMsIGNoYWxsZW5nZXMsIGFuZCB0aGUgcHJvcyBhbmQgY29ucyBvZiBlYWNoIHRvcGljLCB3aXRoIG1vcmUgZGV0YWlscyBhdmFpbGFibGUgaW4gdGhlIHByZXNlbnRhdGlvbnMgYW5kIG1lZXRpbmcgbWludXRlcyBmcm9tIE1hcmNoIDI2LjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5UZWFtPC9oMj5cbiAgICAgICAgPHA+QSByZW1pbmRlciBmb3IgdGhlIEhhbWJ1cmcgdGVhbTogRG9uJ3QgZm9yZ2V0IHlvdXIgdG93ZWwhPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJhcHJpbDJcIiwgXG4gICAgICAgIG5vZGU6IDw+PGgxPlRlYW0gTWVldGluZzwvaDE+XG5cbiAgICAgICAgPGgyPk9yZ2FuaXNhdGlvbjwvaDI+XG4gICAgICAgIDxoMz5Wb3RlIGZvciBUb3BpYzwvaDM+XG4gICAgICAgIDxwPkVhY2ggbWVtYmVyIGhhcyBvbmUgdm90ZSBmb3IgYSBwcm9qZWN0IHRvcGljLCB3aXRoIHRoZSBmaXJzdCB2b3RlIGR1ZSBieSBtaWRuaWdodC4gVGhlIHRvcCB0aHJlZSByZXN1bHRzIGZyb20gdGhlIHZvdGluZyB3ZXJlOiBNaWNyb3N3aW1tZXJzIHdpdGggNSB2b3RlcywgRHVjaGVubmUgTXVzY3VsYXIgRHlzdHJvcGh5IChETUQpIHdpdGggNCB2b3RlcywgYW5kIEN5c3RpYyBGaWJyb3NpcyAoQ0YpIGFsc28gd2l0aCA0IHZvdGVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMz5Ub3BpYyBQcmVzZW50YXRpb25zPC9oMz5cbiAgICAgICAgPHA+VGhlIHByZXNlbnRhdGlvbnMgd2VyZSBnZW5lcmFsbHkgd2VsbC1yZWNlaXZlZCwgdGhvdWdoIHRoZXJlIGlzIHN0aWxsIHJvb20gZm9yIGltcHJvdmVtZW50LiBBIHByZXNlbnRhdGlvbiBzZW1pbmFyIGlzIHBsYW5uZWQgdG8gcHJvdmlkZSBhbiBvdmVydmlldyBhbmQgZmFjaWxpdGF0ZSBkaXNjdXNzaW9ucyBvbiB0aGUgbGltaXRhdGlvbnMsIGNoYWxsZW5nZXMsIGFuZCBwcm9zIGFuZCBjb25zIG9mIGVhY2ggdG9waWMsIHdpdGggbW9yZSBkZXRhaWxzIGF2YWlsYWJsZSBpbiB0aGUgbWVldGluZyBtaW51dGVzIGZyb20gTWFyY2ggMjYuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlRlYW08L2gyPlxuICAgICAgICA8cD5SZW1pbmRlciBmb3IgdGhlIEhhbWJ1cmcgdGVhbTogRG9uXHUyMDE5dCBmb3JnZXQgeW91ciB0b3dlbCE8L3A+XG4gICAgICAgIFxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJhcHJpbDRcIiwgXG4gICAgICAgIG5vZGU6IDw+PGgxPlRlYW0gTWVldGluZzwvaDE+XG5cbiAgICAgICAgPGgyPlVyZ2VudDwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGhhcyBkZWNpZGVkIHRvIHB1cnN1ZSBhIHRoZXJhcHkgdG9waWMgaW5zdGVhZCBvZiBmb2N1c2luZyBvbiBjeWFub2JhY3RlcmlhLiBBbW9uZyB0aGUgb3B0aW9ucywgQ3lzdGljIEZpYnJvc2lzIChDRikgd2FzIHNlbGVjdGVkIG92ZXIgRHVjaGVubmUgTXVzY3VsYXIgRHlzdHJvcGh5IChETUQpLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5UZWFtPC9oMj5cbiAgICAgICAgPHA+QSByZW1pbmRlciBmb3IgdGhlIEhhbWJ1cmcgdHJpcDogRGVwYXJ0dXJlIGlzIHNjaGVkdWxlZCBmb3IgRnJpZGF5IGF0IDggQU0uPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlRhc2tzPC9oMj5cbiAgICAgICAgPHA+QWxsIG1lbWJlcnMgYXJlIHJlcXVpcmVkIHRvIHNhdmUgdGhlIHBhcGVycyB0aGV5IGhhdmUgcmVhZCBpbiBab3Rlcm8gZHVyaW5nIHRoZWlyIHNlbGYtc3R1ZHkgdGltZS48L3A+XG4gICAgICAgIDwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcImFwcmlsNlwiLCBcbiAgICAgICAgbm9kZTogPD48aDE+VGVhbSBNZWV0aW5nPC9oMT5cblxuICAgICAgICA8aDI+T3JnYW5pc2F0aW9uPC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gaXMgdGFza2VkIHdpdGggc2VhcmNoaW5nIFB1Yk1lZCBmb3IgcmV2aWV3cyBvbiBDeXN0aWMgRmlicm9zaXMgKENGKSBmcm9tIHRoZSBsYXN0IHR3byB5ZWFycyB0byBpZGVudGlmeSB1bmV4cGxvcmVkIHRoZXJhcGV1dGljIG5pY2hlcyBhbmQgZm9ybXVsYXRlIGNsZWFyIGdvYWxzLiBBIHN5c3RlbWljIGFwcHJvYWNoIHVzaW5nIEFBVi1iYXNlZCBzdHJhdGVnaWVzIGFuZCBvcmdhbi1zcGVjaWZpYyBhcHByb2FjaGVzIGlzIGJlaW5nIGNvbnNpZGVyZWQuIEFkZGl0aW9uYWxseSwgc3RyYXRlZ2llcyBmb3IgcmVhZGluZyBwYXBlcnMgaW5jbHVkZSBzdGFydGluZyB3aXRoIHRoZSByZXN1bHRzIHNlY3Rpb24gdG8gZGV0ZXJtaW5lIHRoZWlyIHZhbHVlIGJlZm9yZSBkZWx2aW5nIGludG8gdGhlIGRpc2N1c3Npb24uPC9wPlxuICAgICAgICA8cD5Qcm9qZWN0IGNvbmNlcHQgaWRlYXMgZGlzY3Vzc2VkIGluY2x1ZGUgZXBpZ2Vub21lIGVkaXRpbmcgd2l0aCBhIG1vZHVsYXIgdG9vbGtpdCBhbmQgdGhlIGFwcGxpY2F0aW9uIG9mIHNtYWxsZXIgQ2FzIHZhcmlhbnRzIHRvIGVuaGFuY2UgZGVsaXZlcnkgYW5kIGZhY2lsaXRhdGUgbnVjbGVhciBlbnRyeS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+UHVibGljIE91dHJlYWNoPC9oMj5cbiAgICAgICAgPHA+QSBzY3JlZW5pbmcgZXZlbnQgZm9yIHRoZSBtb3ZpZSBcIkZpdmUgRmVldCBBcGFydCxcIiB3aGljaCBmb2N1c2VzIG9uIEN5c3RpYyBGaWJyb3Npcywgd2lsbCBiZSBvcmdhbml6ZWQsIGFsb25nIHdpdGggcHJvdmlkaW5nIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gdG8gdGhlIGF1ZGllbmNlLiBQaGlsbGlwIHdpbGwgY29vcmRpbmF0ZSB3aXRoIHRoZSB1bml2ZXJzaXR5IGNpbmVtYSB0byBhcnJhbmdlIHRoZSBldmVudC48L3A+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGlzIGVuY291cmFnZWQgdG8gcGFydGljaXBhdGUgaW4gTVVLT21vdmUsIGEgQ3lzdGljIEZpYnJvc2lzIGF3YXJlbmVzcyBpbml0aWF0aXZlIGluIE1heSwgaW52b2x2aW5nIGEgc3BvcnQgZXZlbnQuIElzYWJlbGwgd2lsbCByZWdpc3RlciB0aGUgdGVhbSwgYW5kIHByb21vdGlvbmFsIGFjdGl2aXRpZXMgb24gc29jaWFsIG1lZGlhLCBpbmNsdWRpbmcgYSB1bmlxdWUgaGFzaHRhZywgd2lsbCBiZSBpbXBsZW1lbnRlZCB0byBpbmNyZWFzZSBhd2FyZW5lc3MgYW5kIHBhcnRpY2lwYXRpb24uPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPldldCBMYWI8L2gyPlxuICAgICAgICA8cD5TdWItdGVhbXMgYXJlIGV4cGVjdGVkIHRvIHByb3ZpZGUgdXBkYXRlcyBldmVyeSAzLTQgd2Vla3MgcmVnYXJkaW5nIGNlbGwgYWNxdWlzaXRpb24gZm9yIHRoZSBwcm9qZWN0LCB3aXRoIGEgZm9jdXMgb24gb2J0YWluaW5nIGhlYWx0aHkgYW5kIHBhdGllbnQtZGVyaXZlZCBjZWxsIGxpbmVzLiBWZXJhIGNvbmZpcm1lZCB0aGF0IHdpdGggYSBzYWZldHkgZm9ybSwgdGhlIHVzZSBvZiB0aGVpciBvd24gY2VsbHMgaXMgcG9zc2libGUuIFByZXBhcmF0aW9ucyBmb3IgdGhlIG5ldyBsYWIgaW5jbHVkZSBhc3Nlc3NpbmcgZXF1aXBtZW50IGFuZCBjcmVhdGluZyBhIHN0YWZmaW5nIHBsYW4gdG8gZW5zdXJlIGRhaWx5IGNvdmVyYWdlLjwvcD5cbiAgICAgICAgPHA+RWZmZWN0aXZlIGNvbW11bmljYXRpb24gYW5kIG9yZ2FuaXphdGlvbiBhcmUgZW1waGFzaXplZCBmb3IgbGFiIHdvcmssIHdpdGggcGxhbnMgdG8gZXN0YWJsaXNoIGEgc2hpZnQgc2NoZWR1bGUgZm9yIHRlYW0gbWVtYmVycy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+Q3JlYXRpdml0eTwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIG1lbWJlcnMgYXNzaWduZWQgdG8gcHJvbW90aW9uYWwgdGFza3MgaW5jbHVkZSBQaGlsaXAsIE1pY2hhZWwsIFZlcmEsIExpc2EsIExpbGlhbmEsIElzYWJlbGwsIGFuZCBBc2FsLiBUaGV5IHdpbGwgZm9jdXMgb24gZGV2ZWxvcGluZyBwcm9tb3Rpb25hbCBtYXRlcmlhbHMsIGluY2x1ZGluZyBmbHllcnMgYW5kIGxvZ28gZGVzaWduLCB0byBlbmhhbmNlIHRlYW0gdmlzaWJpbGl0eS48L3A+XG4gICAgICAgIDwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcImFwcmlsMTFcIiwgXG4gICAgICAgIG5vZGU6IDw+PGgxPlRlYW0gTWVldGluZzwvaDE+XG5cbiAgICAgICAgPGgyPk9yZ2FuaXNhdGlvbjwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGRpc2N1c3NlZCB2YXJpb3VzIHByb2plY3QgaWRlYXMgcmVsYXRlZCB0byBhY2Nlc3MgdG8gb29jeXRlcywgZW1waGFzaXppbmcgZ2VuZSBjb3JyZWN0aW9uIGFuZCBwb3RlbnRpYWwgc3RyYXRlZ2llcyBzdWNoIGFzIHVzaW5nIHRyYW5zcG9zYXNlIGZvciBnZW5vbWljIGludGVncmF0aW9uIHdpdGhvdXQgY3V0dGluZy4gS2V5IGNvbnNpZGVyYXRpb25zIGluY2x1ZGUgZXhwbG9yaW5nIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpIGZvciBsdW5nIGRlbGl2ZXJ5IGFuZCBhZGRyZXNzaW5nIHRoZSBwYWNrYWdpbmcgbGltaXRhdGlvbnMgb2YgQUFWLiBUaGUgdGVhbSBhaW1zIHRvIHJlYWQgbW9yZSBhYm91dCBDUklTUFIgYW5kIHJlbGV2YW50IGxpdGVyYXR1cmUsIGFuZCBwb3NzaWJseSBjb25zdWx0IGEgZ2VuZXRpYyBjb3Vuc2VsaW5nIGNlbnRlciBmb3IgZ3VpZGFuY2Ugb24gaW50ZXJ2ZW50aW9uIHN0cmF0ZWdpZXMuPC9wPlxuICAgICAgICA8cD5BIHByb29mIG9mIGNvbmNlcHQgZXhwZXJpbWVudCBpcyBlc3NlbnRpYWwgdG8gdmFsaWRhdGUgdGhlIHByb3Bvc2VkIGlkZWFzLCBpbmNsdWRpbmcgdGhlIHBvdGVudGlhbCB1c2Ugb2YgYSBtdWx0aS1vcmdhbiBjaGlwIGluIGNvbGxhYm9yYXRpb24gd2l0aCBhIHJlc2VhcmNoIGVudGl0eS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SHVtYW4gUHJhY3RpY2VzPC9oMj5cbiAgICAgICAgPHA+TWF4IHNoYXJlZCBpbnNpZ2h0cyBhYm91dCBlc3NlbnRpYWwgbWVkaWNhdGlvbnMgZm9yIEN5c3RpYyBGaWJyb3NpcyAoQ0YpLCBpbmNsdWRpbmcgaW5kaXZpZHVhbGl6ZWQgdHJlYXRtZW50cyBsaWtlIEtyZW9uIGFuZCBPcmthbWJpLiBLcmVvbiBhaWRzIGRpZ2VzdGlvbiBhbmQgaXMgYWRhcHRlZCBiYXNlZCBvbiBmYXQgY29udGVudCBpbiBtZWFscywgd2hpbGUgT3JrYW1iaSBpcyBhIHNpZ25pZmljYW50IG1lZGljYXRpb24gc3BlY2lmaWMgdG8gY2VydGFpbiBtdXRhdGlvbnMsIGFsdGhvdWdoIGl0IGNvbWVzIHdpdGggYSBoaWdoIGNvc3QuIFRoZSBkaXNjdXNzaW9uIGhpZ2hsaWdodGVkIHRoZSBpbXBvcnRhbmNlIG9mIGRpYWdub3NpcyBhZ2UgYW5kIHRhcmdldGVkIHRyZWF0bWVudHMsIGFuZCBzdWdnZXN0ZWQgY3JlYXRpbmcgaW5mb3JtYXRpb25hbCBtYXRlcmlhbHMgZm9yIGhlYWx0aGNhcmUgcHJvZmVzc2lvbmFscy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+Q3JlYXRpdml0eTwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIHJldmlld2VkIHRoZSBwcmVzZW50YXRpb24gb2YgdGhlIGNvbG9yIHNjaGVtZSBhbmQgZGlzY3Vzc2VkIHRlYW0gcGhvdG9zIGFzIHBhcnQgb2YgdGhlaXIgcHJvbW90aW9uYWwgZWZmb3J0cy48L3A+XG4gICAgICAgIDwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcImFwcmlsMTZcIiwgXG4gICAgICAgIG5vZGU6IDw+PGgxPlRlYW0gTWVldGluZzwvaDE+XG5cbiAgICAgICAgPGgyPkphbWJvcmVlICYgTWVldFVwczwvaDI+XG4gICAgICAgIDxwPlRoZSBCRkggTWVldC1VcCB3ZWJzaXRlIGlzIG5vdyBsaXZlLCBmZWF0dXJpbmcgZGV0YWlscyBvbiB0aGUgbG9jYXRpb24sIHByb2dyYW0sIHJlZ2lzdHJhdGlvbiwgYW5kIHByaWNpbmcuIFJlZ2lzdHJhdGlvbiBpcyBjdXJyZW50bHkgb3BlbiwgYW5kIGFsbCB0ZWFtIG1lbWJlcnMgYXJlIGVuY291cmFnZWQgdG8gc3VwcG9ydCB0aGUgSW5zdGFncmFtIGNoYW5uZWwuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPk1lY2hhbmlzbTwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGlzIGZvY3VzaW5nIG9uIFByaW1lIEVkaXRpbmcgYXMgdGhlIG1haW4gaWRlYSwgYnV0IGZ1cnRoZXIgZGV0YWlscyBuZWVkIHRvIGJlIGRldmVsb3BlZCB0byByZWZpbmUgdGhpcyBhcHByb2FjaC48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+RGVsaXZlcnk8L2gyPlxuICAgICAgICA8cD5WYXJpb3VzIGRlbGl2ZXJ5IG1ldGhvZHMgd2VyZSBicmFpbnN0b3JtZWQsIGluY2x1ZGluZyBsaXBpZCBuYW5vcGFydGljbGVzIChMTlBzKSwgd2hpY2ggYXJlIGNvbnNpZGVyZWQgYSB2aWFibGUgb3B0aW9uLCBhbHRob3VnaCB0aGV5IHJlcXVpcmUgbW9yZSBlbGFib3JhdGlvbi4gQWRlbm8tQXNzb2NpYXRlZCBWaXJ1cyAoQUFWKSBkZWxpdmVyeSBoYXMgbW9yZSBhdmFpbGFibGUgbGl0ZXJhdHVyZSwgZXNwZWNpYWxseSBmb3Igb29jeXRlcywgYnV0IHJlbWFpbnMgdW5kZXJleHBsb3JlZC4gRW51Y2xlYXRlZCBzcGVybSBjZWxscyB3ZXJlIGFsc28gZGlzY3Vzc2VkIGFzIGEgbm9uLWludmFzaXZlIGFwcHJvYWNoLCB3aXRoIHBvdGVudGlhbCBmb3IgdGFyZ2V0aW5nIG9vY3l0ZXMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlB1YmxpYyBPdXRyZWFjaDwvaDI+XG4gICAgICAgIDxwPkZvciBNdWtvTU9WRSwgcG9zdGVycyBoYXZlIGJlZW4gcHJlcGFyZWQgYW5kIHBob3RvcyB0YWtlbjsgSXNhYmVsbCBpcyBhcHBseWluZyBmb3IgcGVybWlzc2lvbiB0byBkaXNwbGF5IHRoZSBwb3N0ZXJzIGluIHRoZSBjaXR5IGZvciBhIGZlZSBvZiBcdTIwQUMxMiwgd2hpbGUgYWRkaXRpb25hbCBwb3N0ZXJzIHdpbGwgYmUgb3JkZXJlZC4gSG93ZXZlciwgaGFuZ2luZyBwb3N0ZXJzIGluIHRyYWlucyB3YXMgZGVlbWVkIHRvbyBleHBlbnNpdmUuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJhcHJpbDE4XCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5UZWFtPC9oMj5cbiAgICAgICAgPHA+QSByZW1pbmRlciB3YXMgaXNzdWVkIGZvciBldmVyeW9uZSB0byBjb21wbGV0ZSB0aGUgQXR0cmlidXRpb24gRm9ybSwgd2hpY2ggdHJhY2tzIGNvbnRyaWJ1dGlvbnMgYW5kIHBhcnRpY2lwYXRpb24uIFRoZSBkb2N1bWVudCBpcyBhdmFpbGFibGUgb24gVGVhbXMgdW5kZXIgR2VuZXJhbCAmZ3Q7IERvY3VtZW50cyAmZ3Q7IEV2ZXJ5dGhpbmcgaUdFTSAmZ3Q7IEF0dHJpYnV0aW9uLiBBZGRpdGlvbmFsbHksIHRoZSBpR0VNIERpc3RyaWJ1dGlvbiBLaXQgd2FzIG9wZW5lZCB0byBjaGVjayBhdmFpbGFibGUgbWF0ZXJpYWxzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5KYW1ib3JlZSAmIE1lZXRVcHM8L2gyPlxuICAgICAgICA8cD5QbGFucyBmb3IgdGhlIEV1cm9wZWFuIE1lZXQtVXAgaW5jbHVkZSBjcmVhdGluZyBhIGxpc3Qgb2Ygc25hY2tzIHdpdGggbmFtZXMsIGRhdGVzLCB0eXBlcywgYW5kIHF1YW50aXRpZXMgdG8gZW5zdXJlIGFkZXF1YXRlIHByZXBhcmF0aW9uLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5NZWNoYW5pc208L2gyPlxuICAgICAgICA8cD5GaW5kaW5ncyB3ZXJlIHByZXNlbnRlZCwgaGlnaGxpZ2h0aW5nIGEgcHJvb2Ygb2YgY29uY2VwdCB1c2luZyBhbiBleGlzdGluZyBwcmltZSBlZGl0aW5nIHN5c3RlbSB0byB0YXJnZXQgdGhlIGZpdmUgbW9zdCBjb21tb24gbXV0YXRpb25zIGluIGN5c3RpYyBmaWJyb3NpcyAoQ0YpLiBPcHRpbWl6YXRpb24gZWZmb3J0cyBpbnZvbHZlIGEgbW9kaWZpZWQgQ2FzMTJhIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgYW5kIGEgbmV3IGVuenltZSBjYWxsZWQgRmFuem9yLCB3aGljaCByZXF1aXJlcyBlbmdpbmVlcmluZyBmb3IgcHJlY2lzZSBjdXRzLiBBIGRlYmF0ZSBvbiB0YXJnZXRpbmcgb29jeXRlcyB2ZXJzdXMgbHVuZ3Mgd2FzIGhlbGQsIHdpdGggcGxhbnMgZm9yIHBhcmFsbGVsIHdvcmsgb24gYm90aCBhcHByb2FjaGVzIGFuZCBzdWdnZXN0aW9ucyBmb3IgZWZmaWNpZW50IGxhYiBjb25jZXB0IGRlc2lnbnMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkRlbGl2ZXJ5PC9oMj5cbiAgICAgICAgPHA+VHdvIG1haW4gZGVsaXZlcnkgcG9zc2liaWxpdGllcyB3ZXJlIGRpc2N1c3NlZDogYWVyb3NvbGl6aW5nIGxpcGlkIG5hbm9wYXJ0aWNsZXMgKExOUHMpLCB3aGljaCBmYWNlIHN0YWJpbGl0eSBpc3N1ZXMgYW5kIGx1bmcgZGVmZW5zZSBtZWNoYW5pc21zLCBhbmQgaW50cmF2ZW5vdXMgZGVsaXZlcnksIHdoaWNoIG5lY2Vzc2l0YXRlcyByZWd1bGFyIGRvY3RvciB2aXNpdHMgZHVlIHRvIHRoZSBsaXZlciBhY3RpbmcgYXMgYSBmaWx0ZXIuIFJlc2VhcmNoIG9uIExOUCBwcm9kdWN0aW9uIGFuZCBjZWxsdWxhciB0YXJnZXRpbmcsIHBhcnRpY3VsYXJseSBvZiBiYXNhbCBjZWxscyBvciBlcnl0aHJvY3l0ZXMsIHdhcyBhbHNvIGhpZ2hsaWdodGVkLiBUaGUgZmVhc2liaWxpdHkgb2YgYSBtb2RlbCBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBkcnVnJ3MgZWZmaWNhY3kgaW4gcmVhY2hpbmcgdGhlIHRhcmdldCBjZWxscyB3YXMgY29uc2lkZXJlZCBhZHZhbnRhZ2VvdXMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlB1YmxpYyBPdXRyZWFjaDwvaDI+XG4gICAgICAgIDxwPkZvciB0aGUgTXVrb01PVkUgaW5pdGlhdGl2ZSwgcGxhbnMgdG8gaGFuZyBwb3N0ZXJzIGluIEJpZWxlZmVsZCBpbmNsdWRlIGNyZWF0aW5nIGEgbWFwIGZvciBkZXNpZ25hdGVkIHJlc3BvbnNpYmlsaXRpZXMgYW5kIGVuc3VyaW5nIHRoZXkgYXJlIHJlbW92ZWQgdGhlIGRheSBhZnRlciB0aGUgZXZlbnQuIEFkZGl0aW9uYWxseSwgYSBmbHllciBkaXN0cmlidXRpb24gcGxhbiB3YXMgcHJvcG9zZWQsIGludm9sdmluZyB0aHJlZSB0ZWFtIG1lbWJlcnMgcGVyIGRheSB0byBkaXN0cmlidXRlIGZseWVycyBpbiB0aGUgY2FmZXRlcmlhLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5TcG9uc29yaW5nPC9oMj5cbiAgICAgICAgPHA+QSB0YWJsZSB3YXMgY3JlYXRlZCB0byBvcmdhbml6ZSBwYXJ0aWNpcGF0aW9uIGZvciBib3RoIHRoZSBIYW5ub3ZlciBGYWlyIGFuZCB0aGUgTGFiLVN1cHBseSBGYWlyLCBlbnN1cmluZyBlZmZlY3RpdmUgcGxhbm5pbmcgYW5kIHJlc291cmNlIGFsbG9jYXRpb24uPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJhcHJpbDIzXCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5NZWNoYW5pc208L2gyPlxuICAgICAgICA8cD5UaGUgZm9jdXMgaXMgb24gcHJpbWUgZWRpdGluZyB1c2luZyBhIGZ1c2lvbiBwcm90ZWluIHRoYXQgY29tYmluZXMgQ2FzIGFuZCBSTkEgbW9sZWN1bGVzLCB3aXRoIHBsYW5zIHRvIHJlcGxhY2UgdGhlIENhcyBwcm90ZWluIHdpdGggdGhlIEZhbnpvciBwcm90ZWluLiBJdCBpcyBlc3NlbnRpYWwgdG8gZGV0ZXJtaW5lIHRoZSBleGFjdCB0YXJnZXQgYW5kIG9yZ2FuaXplIHRoZSBuZWNlc3Nhcnkgc2VxdWVuY2VzLCBwb3RlbnRpYWxseSByZXF1aXJpbmcgY2xvbmluZy4gQXR0ZW50aW9uIG11c3QgYmUgcGFpZCB0byB0aGUgZGV2ZWxvcG1lbnQgY3ljbGUsIGFzIHRoaXMgd2lsbCBiZSBzY3J1dGluaXplZCBieSBqdWRnZXMsIHBhcnRpY3VsYXJseSByZWdhcmRpbmcgdGhlIFdpa2kgcHJlc2VudGF0aW9uLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5EZWxpdmVyeTwvaDI+XG4gICAgICAgIDxwPkRpc2N1c3Npb25zIGhpZ2hsaWdodGVkIFJOQSBhcyB0aGUgY2FyZ28sIHdpdGggcG90ZW50aWFsIGNlbGwgdGFyZ2V0cyBpbmNsdWRpbmcgaW9ub2N5dGVzIGFuZCBjbHViIGNlbGxzLCBhcyBiYXNhbCBjZWxscyBhcmUgdG9vIGRlZXAtc2VhdGVkLiBOTEQxLCB3aGljaCBjb250YWlucyBQRUcgZm9yIHN0YWJpbGl0eSwgZmFjZXMgdHJhbnNwb3J0YXRpb24gY2hhbGxlbmdlcyBkdWUgdG8gaXRzIGxpbWl0ZWQgc2hlbGYgbGlmZS4gQWx0ZXJuYXRpdmUgZGVsaXZlcnkgbWV0aG9kcywgc3VjaCBhcyBDaGl0b3NhbiBMTlAgYW5kIEF0b21pYyBGb3JjZSBNaWNyb3Njb3B5LCBhcmUgYmVpbmcgZXhwbG9yZWQsIHdpdGggdGhlIGNvbXBhbnkgQUlSaW5oYWxlIG1lbnRpb25lZCBmb3IgY29sbGFib3JhdGlvbi48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SHVtYW4gUHJhY3RpY2VzPC9oMj5cbiAgICAgICAgPHA+SnVkZ2luZyBpbiBodW1hbiBwcmFjdGljZXMgd2lsbCBiZSByaWdvcm91czsgdHJhbnNwYXJlbmN5IGFuZCBkZXRhaWxlZCBkb2N1bWVudGF0aW9uIGFyZSBjcnVjaWFsIHRvIHdpbiBvdmVyIGp1ZGdlcy4gSW50ZXJ2aWV3cyBzaG91bGQgaW5jbHVkZSBhIGRpdmVyc2UgcmFuZ2Ugb2YgZXhwZXJ0cywgYW5kIHZpc3VhbCBkb2N1bWVudGF0aW9uLCBpbmNsdWRpbmcgcGhvdG9zLCBpcyBlc3NlbnRpYWwgdG8gc3VwcG9ydCB0aGUgbmFycmF0aXZlLiBBZGRpdGlvbmFsbHksIHRoZXJlIGlzIGEgbmVlZCB0byBnYXRoZXIgcmVzZWFyY2ggb24gaG93IG90aGVyIHRlYW1zIGFwcHJvYWNoIHZhcmlvdXMgc3ViLWFzcGVjdHMgb2YgdGhlaXIgcHJvamVjdHMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlB1YmxpYyBPdXRyZWFjaDwvaDI+XG4gICAgICAgIDxwPlJlc3RyaWN0aW9ucyBmb3IgTVVLT01vdmUgcG9zdGVycyBoYXZlIGJlZW4gZW1waGFzaXplZCwgd2l0aCBndWlkZWxpbmVzIHVwbG9hZGVkIGJ5IElzYSBmb3IgYWRoZXJlbmNlLiBQb3N0ZXJzIG11c3QgaW5jbHVkZSA0MCBzdGlja2VycyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciwgYW5kIHRoZXkgY2Fubm90IGJlIGRpc3BsYXllZCB3aXRob3V0IHRoZW0uPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlVyZ2VudDwvaDI+XG4gICAgICAgIDxwPkxpbGlhbmEgaXMgdGFza2VkIHdpdGggcmVhY2hpbmcgb3V0IHRvIGluZGl2aWR1YWxzIGZvciB2aWRlbyBjb250cmlidXRpb25zIHJlZ2FyZGluZyBnZW5lIHRoZXJhcHkgZm9yIHRoZSB1cGNvbWluZyBFdXJvcGVhbiBDb25mZXJlbmNlIG9mIEN5c3RpYyBGaWJyb3Npcywgc2NoZWR1bGVkIGZvciBKdW5lIDV0aCB0byA4dGggaW4gR2xhc2dvdy4gVGhlcmUgd2lsbCBiZSBhIHNwZWNpYWwgcHJpemUgZm9yIGVmZm9ydHMgaW4gaHVtYW4gcHJhY3RpY2VzLCBvdXRyZWFjaCwgYW5kIGVkdWNhdGlvbiwgaW5jbHVkaW5nIG9wcG9ydHVuaXRpZXMgZm9yIFwiZXBvc3RlcnNcIiBhbmQgY29ubmVjdGluZyB3aXRoIGV4cGVydHMuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJhcHJpbDI1XCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5VcmdlbnQ8L2gyPlxuICAgICAgICA8cD5UaGUgcHJvamVjdCBkZXNjcmlwdGlvbiBmb3IgdGhlIFByb21lZ2EgcHJvamVjdCBuZWVkcyB0byBiZSBjb21wbGV0ZWQgaW1tZWRpYXRlbHkuIEthaSB3aWxsIGRyYWZ0IHRoZSBkZXNjcmlwdGlvbiBhbmQgc2hhcmUgaXQgb24gVGVhbXMgZm9yIHRlYW0gbWVtYmVycyB0byByZXZpZXcgYW5kIHByb3ZpZGUgZmVlZGJhY2suPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPk9yZ2FuaXNhdGlvbjwvaDI+XG4gICAgICAgIDxwPlRoZSBwcmVzZW50YXRpb24gb24gTW9uZGF5IHdpbGwgYmUgcHJlcGFyZWQgYnkgS2ltLCBLYWksIFBoaWxsaXAsIGFuZCBBc2FsLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5NZWNoYW5pc208L2gyPlxuICAgICAgICA8cD5QbGFzbWlkIGFuZCBjb25zdHJ1Y3QgcGxhbm5pbmcgaXMgYW4gaW1tZWRpYXRlIHByaW9yaXR5LCB3aXRoIHRoZSB0ZWFtIHB1cnN1aW5nIHRocmVlIGFwcHJvYWNoZXM6IENhczksIENhczEyLCBhbmQgRmFuem9yLiBLZXkgY29tcG9uZW50cyBpbmNsdWRlIFJldmVyc2UgVHJhbnNjcmlwdGFzZSwgdGVtcGxhdGUgRE5BLCBhbmQgcGVnUk5BLCB3aGljaCBtdXN0IGJlIGNhcmVmdWxseSBkZXNpZ25lZCB0byBlbnN1cmUgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBjb25zdHJ1Y3RzLiBUaGUgRmFuem9yIHJlcXVpcmVzIG1vZGlmaWNhdGlvbiB0byBhY3QgYXMgYSBuaWNrYXNlLCBhbmQgdGhlIHRlYW0gd2lsbCB3b3JrIHRvIG9wdGltaXplIHRoZSBjb25zdHJ1Y3RzIHRvIGNyZWF0ZSBzbWFsbGVyLCBtb3JlIGVmZmVjdGl2ZSBkZXNpZ25zLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMz5Qcm9vZiBvZiBDb25jZXB0PC9oMz5cbiAgICAgICAgPHA+QSBwbGFzbWlkIHdpdGggYSBDTVYgcHJvbW90ZXIgd2lsbCBiZSBvcmRlcmVkIGFjY29yZGluZyB0byBndWlkZWxpbmVzIGluIGEgcmVsZXZhbnQgcGFwZXIsIGFuZCBhIFQ3IHByb21vdGVyIHdpbGwgYmUgdXNlZCBmb3IgbVJOQSBwcm9kdWN0aW9uLiBUZXN0aW5nIHdpbGwgaW52b2x2ZSBIRUMvSEVMQSBjZWxsIGxpbmVzIHRvIGV2YWx1YXRlIGV4cHJlc3Npb24sIHdpdGggYSBmb2N1cyBvbiBhIGNvbnRyb2wgY2VsbCBsaW5lIGxhY2tpbmcgdGhlIENGVFIgZ2VuZS4gVGhlIGNvbnN0cnVjdHMgd2lsbCBiZSBjaGFyYWN0ZXJpemVkIG92ZXIgdGltZSwgYW5kIGEgdHJhbnNmZWN0aW9uIG1hcmtlciB3aWxsIGJlIGluY2x1ZGVkIHRvIGFzc2VzcyByZXBhaXIgZnVuY3Rpb25hbGl0eS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDM+VGFzayBEaXN0cmlidXRpb248L2gzPlxuICAgICAgICA8cD5UZWFtIG1lbWJlcnMgYXJlIGFzc2lnbmVkIHRvIHZhcmlvdXMgdGFza3M6IGV2ZXJ5b25lIHdpbGwgcmV2aWV3IHRoZSBSRkMxMCBzdGFuZGFyZCwgd2hpbGUgdGhlIGV4cGVyaW1lbnRhbCB3b3JrZmxvdyB0ZWFtIHdpbGwgaW5jbHVkZSBLYWksIENocmlzdGlhbiwgYW5kIExpbGlhbmEuIE90aGVyIHRhc2tzIHdpbGwgZm9jdXMgb24gc2VxdWVuY2luZywgbGlua2VycywgYW5kIHJldmVyc2UgdHJhbnNjcmlwdGFzZSwgd2l0aCBsYWJvcmF0b3J5IHRhc2tzIHN1Y2ggYXMgcG91cmluZyBwbGF0ZXMgYW5kIG1ha2luZyBFLiBjb2xpIGNvbXBldGVudCBhbHNvIHByaW9yaXRpemVkLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5QdWJsaWMgT3V0cmVhY2g8L2gyPlxuICAgICAgICA8cD5UaGUgTXVrb01PVkUgaW5pdGlhdGl2ZSBpcyBwcm9ncmVzc2luZywgd2l0aCB0aGUgY2FmZXRlcmlhIGNvdmVyZWQgYW5kIDIxIHBvc3RlcnMgaHVuZyBhcm91bmQgdGhlIE9sZCBUb3duLiBSZW1haW5pbmcgcG9zdGVycyB3aWxsIGJlIGRpc3RyaWJ1dGVkIHNvb24uPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkJpb3NhZmV0eTwvaDI+XG4gICAgICAgIDxwPlNhZmV0eSBtZWNoYW5pc21zIGRpc2N1c3NlZCBpbmNsdWRlIGEgcHJvdGVpbiB0aGF0IGRlZ3JhZGVzIHRoZSBsaW5rZXIgdXNpbmcgYSByZXBvcnRlciBzeXN0ZW0gKFRvZWhvbGQgU3dpdGNoKSwgd2hpY2ggYWN0aXZhdGVzIG9ubHkgaW4gdGhlIHByZXNlbmNlIG9mIHRoZSBtUk5BIHRyYW5zY3JpcHQuIEFkZGl0aW9uYWxseSwgYSBOYSsgcmlib3N3aXRjaCB3aWxsIG1hc2sgdGhlIGd1aWRlIHNlcXVlbmNlIHVuZGVyIGxvdyBpb24gY29uZGl0aW9ucywgdW5mb2xkaW5nIG9ubHkgd2hlbiBzdWZmaWNpZW50IGlvbnMgYXJlIHByZXNlbnQuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJhcHJpbDMwXCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8cD5UaGUgU3RlZXJpbmcgQ29tbWl0dGVlIHByb3ZpZGVkIHBvc2l0aXZlIGZlZWRiYWNrIG9uIHRoZSBwcm9qZWN0LCBlbXBoYXNpemluZyBzaW1wbGljaXR5IGFuZCB0aGUgaW1wb3J0YW5jZSBvZiBzbWFsbCBzdWNjZXNzZXMuIFRoZXJlIHdhcyBkaXNjdXNzaW9uIGFib3V0IHRoZSB1c2Ugb2YgdGhlIFVzc2luZyBjaGFtYmVyIGFuZCBhIHByZWZlcmVuY2UgZm9yIHRoZSBwYXRjaC1jbGFtcCBtZXRob2QgZm9yIG1lYXN1cmluZyBpb24gY2hhbm5lbHMuIFRoZSBjb21taXR0ZWUgZW5jb3VyYWdlZCBtb3JlIGNvbGxhYm9yYXRpb24gd2l0aCB0aGUgbWVkaWNhbCBmYWN1bHR5IGFuZCBhY2tub3dsZWRnZWQgY29udHJpYnV0aW9ucyBmcm9tIFBoaWxpcCwgS2ltLCBhbmQgQ2hyaXN0aWFuLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5UZWFtPC9oMj5cbiAgICAgICAgPHA+S2F5YSBleHByZXNzZWQgY29uY2VybnMgYWJvdXQgbWlzc2luZyBtZWV0aW5ncyBhbmQgcHJvcG9zZWQgY2hhbmdlcyB0byB0aGUgbWVldGluZyBzdHJ1Y3R1cmUgdG8gaW1wcm92ZSBhdHRlbmRhbmNlLiBLYXRobGVlbiBoaWdobGlnaHRlZCB0aGUgbmVlZCBmb3IgcGVyc29uYWwgYWNjb3VudGFiaWxpdHksIHVyZ2luZyBldmVyeW9uZSB0byB0YWtlIG1vcmUgaW5pdGlhdGl2ZS4gVGhlIE1pcm8gYm9hcmQgd2FzIGRlbW9uc3RyYXRlZCBmb3IgdGFzayBhc3NpZ25tZW50cywgYW5kIGl0IHdhcyBzdWdnZXN0ZWQgdGhhdCBvbmUgcGVyc29uIGJlIHJlc3BvbnNpYmxlIGZvciBzdWItdGVhbXMgd2hpbGUgS2F5YSB3aWxsIGNvbXBpbGUgbWVldGluZyBtaW51dGVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5KYW1ib3JlZSAmIE1lZXRVcHM8L2gyPlxuICAgICAgICA8cD5DdXJyZW50bHksIGFyb3VuZCA3MCBwZW9wbGUgYXJlIHJlZ2lzdGVyZWQgZm9yIHRoZSBCRkggbWVldHVwIHdpdGggYWJvdXQgMTAgdGVhbXMgcGFydGljaXBhdGluZywgd2hpY2ggd2lsbCBhbHNvIGJlIHByb21vdGVkIG9uIExpbmtlZEluLiBBZGRpdGlvbmFsbHksIHRoZSBpR0VNIEVpbmRob3ZlbiBNZWV0dXAgaXMgc2NoZWR1bGVkIGZvciBPY3RvYmVyLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5NZWNoYW5pc208L2gyPlxuICAgICAgICA8cD5UaGUgY3VycmVudCBmb2N1cyBpbmNsdWRlcyBkaXNjdXNzaW9ucyBvbiBSTkEsIHBhcnRpY3VsYXJseSByaWJvc3dpdGNoZXMsIHdoaWxlIGNpcmN1bGFyIFJOQSB0b3BpY3MgYXJlIHBvc3Rwb25lZC4gVGhlcmUgaXMgYSBuZWVkIGZvciBhIGNvbXByZWhlbnNpdmUgY29uY2VwdCB0aGF0IG91dGxpbmVzIFByaW1lIEVkaXRpbmcgaW1wcm92ZW1lbnRzIGFuZCBleHBsb3JlcyB0aGUgYmluZGluZyBjYXBhYmlsaXRpZXMgb2YgdG9laG9sZCBzd2l0Y2hlcy4gVGhlIHRlYW0gcGxhbnMgdG8gcHJvZHVjZSBtUk5BIGZvciBkZWxpdmVyeSwgcGFja2FnaW5nIGl0IGludG8gTE5Qcywgd2l0aCBhIGRldGFpbGVkIG1STkEgcGF0aHdheSBlc3RhYmxpc2hlZCBmb3IgZWZmZWN0aXZlIGNlbGx1bGFyIGVudHJ5LjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMz5TcGVjaWZpY3Mgb24gQ29uc3RydWN0czwvaDM+XG4gICAgICAgIDxwPlBsYW5zIGludm9sdmUgdXNpbmcgNjAwIEZhbnpvciBhbmQgMTYwMCBSZXZlcnNlIFRyYW5zY3JpcHRhc2UgKFJUKSBmb3IgY29uc3RydWN0IG9wdGltaXphdGlvbi4gVGhlIENoaW1lcmEgc29mdHdhcmUgd2lsbCBiZSB1dGlsaXplZCB0byBhbmFseXplIGFtaW5vIGFjaWQgc2VxdWVuY2VzIGFuZCByZXZpZXcgbGlua2Vycywgd2hpbGUgUEFNIGFuZCBUQU0gc2VxdWVuY2VzIHdpbGwgYmUgcmVzZWFyY2hlZCBieSBLYXRobGVlbiBmb3IgZWZmZWN0aXZlIGN1dCBzaXRlcy4gVGVzdGluZyBmb3IgQ2FzIHByb3RlaW5zIHdpbGwgaW5jbHVkZSBkZXRlcm1pbmluZyB3aGljaCBDYXMxMiB0byB1c2UsIG11dGF0aW9uIGludGVncmF0aW9uLCBhbmQgY29uZHVjdGluZyBQQ1IgZm9yIG11dGF0aW9uIHRlc3RpbmcuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkh1bWFuIFByYWN0aWNlczwvaDI+XG4gICAgICAgIDxwPkxpbGlhbmEgcmVwb3J0ZWQgdGhhdCBtb3JlIGluZGl2aWR1YWxzIGFyZSBhdmFpbGFibGUgZm9yIGludGVydmlld3MsIHdpdGggc29tZSBwcmVmZXJyaW5nIFpvb20gZm9yIHZpZGVvIGludGVyYWN0aW9ucy4gVGhlIHRlYW0gaXMgZW5jb3VyYWdlZCB0byBtYWludGFpbiBmbGV4aWJpbGl0eSBpbiBjb25kdWN0aW5nIGludGVydmlld3MuPC9wPlxuICAgICAgICA8Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJtYXkyXCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5VcmdlbnQ8L2gyPlxuICAgICAgICA8cD5UaGUgcHJvamVjdCBuYW1lIG11c3QgYmUgZmluYWxpemVkIGJ5IE1heSA2dGguPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlRlYW08L2gyPlxuICAgICAgICA8cD5UZWFtIG9yZ2FuaXphdGlvbiBpcyBjcnVjaWFsOyBhbGwgbWVtYmVycyBzaG91bGQgYmVsb25nIHRvIGF0IGxlYXN0IHR3byBvciB0aHJlZSB0ZWFtcywgd2l0aCBhIGNsZWFyIGRlZmluaXRpb24gb2Ygc3BlY2lhbCBwcml6ZSBjYXRlZ29yaWVzLiBQdWJsaWMgT3V0cmVhY2ggYW5kIEh1bWFuIFByYWN0aWNlcyB3aWxsIGhhdmUgc2VwYXJhdGUgdGVhbXMsIGFuZCBpbmRpdmlkdWFsIHRlYW0gbWVldGluZ3Mgc2hvdWxkIGJlIG9yZ2FuaXplZCBieSBNYXkgN3RoIHRvIGRpc2N1c3MgcHJvZ3Jlc3MuIE1vbnRobHkgU3RlZXJpbmcgQ29tbWl0dGVlIG1lZXRpbmdzIHdpbGwgb2NjdXIsIHJlcXVpcmluZyBlYWNoIHRlYW0gdG8gcmVwb3J0IHVwZGF0ZXMgb24gYSBzaW5nbGUgc2xpZGUuPC9wPlxuICAgICAgICBcbiAgICAgICAgPHA+VGhlIGN1cnJlbnQgcHJvamVjdCBkaXJlY3Rpb24gaXMgcHJvbWlzaW5nLCBidXQgdGhlcmUncyBhIHJpc2sgb2YgYmVjb21pbmcgb3Zlcmx5IHRoZW9yZXRpY2FsLCBkZWxheWluZyBwcmFjdGljYWwgbGFiIHdvcmsuIFRoZSBnb2FsIGlzIHRvIHRyYW5zaXRpb24gZnJvbSB0aGVvcnkgdG8gcHJhY3RpY2UgcXVpY2tseSwgZm9jdXNpbmcgb24gZ2VuZXJhdGluZyBhIFByaW1lIEVkaXRpbmcgQ29tcGxleCAoUEVDKSBhbmQgZGVtb25zdHJhdGluZyBpdHMgZnVuY3Rpb25hbGl0eSBpbiBhIHN1aXRhYmxlIG1vZGVsIHN5c3RlbS4gQnkgYnJlYWtpbmcgZG93biBnb2FscyBpbnRvIG1hbmFnZWFibGUgc3RhZ2VzLCB0aGUgdGVhbSBjYW4gYWltIGZvciBnb2xkIHdoaWxlIGFsc28gZXhwbG9yaW5nIG9wcG9ydHVuaXRpZXMgZm9yIHNwZWNpYWwgcHJpemVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5NZWNoYW5pc208L2gyPlxuICAgICAgICA8cD5QaGlsaXAgd2lsbCBwcmVwYXJlIGEgc3VtbWFyeSBvZiB0aGUgY29uc3RydWN0cyBhbmQgcmVzb3VyY2VzLCBpbmNsdWRpbmcgYSBZb3VUdWJlIHZpZGVvIG9uIFByaW1lIEVkaXRpbmcgZXhwZXJpbWVudHMgYW5kIENoaW1lcmFYIGV4cGxvcmF0aW9uLiBRdWVzdGlvbnMgcmVnYXJkaW5nIHRoZSBleHBvcnRhYmlsaXR5IG9mIENoaW1lcmFYIGludG8gM0QgZm9ybWF0cyB3aWxsIGJlIGFkZHJlc3NlZC4gRmluYWxpemF0aW9uIG9mIHRoZSBCaW9kaXZlcnNpdHkgUHJlLURlbGl2ZXJhYmxlIGFuZCBwcm9jZWVkaW5nIHdpdGggcGxhc21pZCBvcmRlcnMgYXJlIG5leHQgc3RlcHMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPkRlbGl2ZXJ5PC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gaXMgaW4gdGhlIGZpbmFsIHN0YWdlcyBvZiBjb21wbGV0aW5nIHRoZSBsb2dvLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5IdW1hbiBQcmFjdGljZXM8L2gyPlxuICAgICAgICA8cD5BbGwgZXh0ZXJuYWwgY29udGFjdHMgc2hvdWxkIGJlIGRvY3VtZW50ZWQgaW4gYSBXb3JkIGZpbGUgdW5kZXIgSHVtYW4gUHJhY3RpY2VzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5QdWJsaWMgT3V0cmVhY2g8L2gyPlxuICAgICAgICA8cD5UaGUgdW5pdmVyc2l0eSB3aWxsIHV0aWxpemUgc3BvcnRzIHNldHMgZm9yIE11a29tb3ZlLCBlbmNvdXJhZ2luZyBmYW1pbHkgYW5kIGZyaWVuZHMgdG8gcHJvbW90ZSB0aGUgaW5pdGlhdGl2ZS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+U3BvbnNvcmluZzwvaDI+XG4gICAgICAgIDxwPkFzc2lzdGFuY2UgaXMgdXJnZW50bHkgbmVlZGVkIGZvciBzcG9uc29yc2hpcCBlZmZvcnRzLjwvcD5cbiAgICAgICAgPC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwibWF5N1wiLCBcbiAgICAgICAgbm9kZTogPD48aDE+VGVhbSBNZWV0aW5nPC9oMT5cblxuICAgICAgICA8aDI+VXJnZW50PC9oMj5cbiAgICAgICAgPHA+VGhlIHRlYW0gaXMgY3VycmVudGx5IGJlaGluZCB0aGUgcGxhbm5lZCB0aW1lbGluZSBmb3IgdGhlIGxhYiBhY3Rpdml0aWVzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8cD5UaGUgTWljcm9zeW50aCBhY2NvdW50IGhhcyBiZWVuIGFwcHJvdmVkIGFuZCB3aWxsIGJlIGZvcndhcmRlZCB0byB0aGUgU3BvbnNvcmluZyB0ZWFtLiBUaGVyZSB3aWxsIGJlIG5vIG1lZXRpbmcgdGhpcyBUaHVyc2RheS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+VGVhbTwvaDI+XG4gICAgICAgIDxwPlRoZSBoZWFkcyBvZiB0ZWFtcyBoYXZlIGJlZW4gZXN0YWJsaXNoZWQgYXMgZm9sbG93czogS2F0aGxlZW4gZm9yIFB1YmxpYyBPdXRyZWFjaCwgTGlsaWFuYSBmb3IgV2lraSwgVmVyYSBmb3IgRGVsaXZlcnksIFBoaWxpcCBmb3IgTWVjaGFuaXNtLCBhbmQgTWljaGFlbCBmb3IgRGVzaWduLiBTcG9uc29yaW5nIHN0aWxsIG5lZWRzIGEgbGVhZCwgcG9zc2libHkgSXNhYmVsbC48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SmFtYm9yZWUgJiBNZWV0VXBzPC9oMj5cbiAgICAgICAgPHA+Rm9yIHRoZSB1cGNvbWluZyBtZWV0LXVwLCBzZXZlcmFsIGl0ZW1zIGFyZSBzdGlsbCBuZWVkZWQ6IGEgc2NpZW50aWZpYyBwb3N0ZXIgKFBoaWxpcCwgS2ltLCBDaHJpc3RpYW4pLCBULXNoaXJ0cyAoRGVzaWduIHRlYW0pLCBhIHByZXNlbnRhdGlvbiAoUGhpbGlwLCBLYXlhKSwgc3RpY2tlcnMgKDMweDMwbW0sIERlc2lnbiB0ZWFtKSwgYSBwcm9qZWN0IHRpdGxlIChtYXggMTUgd29yZHMpLCBhbmQgYW4gYWJzdHJhY3QgKDE1MCB3b3JkcykuIEFkZGl0aW9uYWxseSwgYXNzaXN0YW5jZSBpcyByZXF1aXJlZCBmb3IgcGhvdG9ncmFwaHkgYXQgdGhlIEJGSCwgd2l0aCBNaWNoYWVsIGFjdGluZyBhcyB0aGUgY2FtZXJhbWFuIGFuZCBuZWVkaW5nIG1vcmUgc3VwcG9ydC48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+V2V0IExhYjwvaDI+XG4gICAgICAgIDxwPkRpc2N1c3Npb24gb24gY2VsbCBjdWx0dXJlIHJlc3BvbnNpYmlsaXRpZXMgaGlnaGxpZ2h0ZWQgdGhhdCBMaXNhIGFuZCBLYXRobGVlbiBoYXZlIGhhbmRzLW9uIGV4cGVyaWVuY2UsIHdoaWxlIG90aGVycyB3aWxsIHJlcXVpcmUgZ3VpZGFuY2UuIFR3byBncm91cHMgd2lsbCB3b3JrIHdpdGggSEVDIGFuZCBIRUxBLCB3aXRoIHNjaGVkdWxlZCBzZXNzaW9ucyBuZXh0IHdlZWsgZm9yIGZhbWlsaWFyaXphdGlvbiB3aXRoIEJlbmNobGluZy4gVGhlIHBvc3NpYmlsaXR5IG9mIHRoYXdpbmcgSEVMQSAmIEhFSyBjZWxscyBmb3IgcHJhY3RpY2Ugd2FzIGRpc2N1c3NlZCwgYWxvbmcgd2l0aCBzb3VyY2luZyBjZWxscyBmcm9tIEx1a2FzIGFuZCBITk8gZm9yIHRyYWluaW5nIHB1cnBvc2VzLjwvcD5cbiAgICAgICAgXG4gICAgICAgIDxoMj5NZWNoYW5pc208L2gyPlxuICAgICAgICA8cD5BbiB1cGRhdGUgb24gcHVyY2hhc2VkIHNlcXVlbmNlcyB3YXMgc2hhcmVkLCBpbmRpY2F0aW5nIGRpZmZpY3VsdGllcyB3aXRoIEZhbnpvciBhbmQgcGxhbnMgdG8gb3JkZXIgQ2FzLTkgZW5kb251Y2xlYXNlIGFzIGEgYmFja3VwLiBDbGFyaWZpY2F0aW9uIGlzIG5lZWRlZCBvbiB3aGV0aGVyIHRvIHB1cmNoYXNlIHBsYXNtaWRzIHdpdGggb3Igd2l0aG91dCBhIHJlcG9ydGVyIHN5c3RlbSwgYXMgd2VsbCBhcyB0aGUgcG90ZW50aWFsIG9yZGVyaW5nIG9mIHJldmVyc2UgdHJhbnNjcmlwdGFzZS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SHVtYW4gUHJhY3RpY2VzPC9oMj5cbiAgICAgICAgPHA+UXVlc3Rpb25zIGZvciBhbiB1cGNvbWluZyBpbnRlcnZpZXcgd2l0aCBQcm9mLiBXZWJlciBhcmUgcHJlcGFyZWQsIHdpdGggdGhlIHBvc3NpYmlsaXR5IG9mIGFkZGluZyBtb3JlLiBUaGUgTWVjaGFuaXNtIHRlYW0gd2lsbCBjcmVhdGUgYWRkaXRpb25hbCBzbGlkZXMsIGFuZCBMaXNhIHdpbGwgaW5xdWlyZSBhYm91dCBib3Jyb3dpbmcgYSBjYW1lcmEgYW5kIHJlY29yZGluZyBkZXZpY2UgZm9yIHRoZSBpbnRlcnZpZXcuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlB1YmxpYyBPdXRyZWFjaDwvaDI+XG4gICAgICAgIDxwPkZvciBNdWtvTW92ZSwgTGlsaWFuYSB3aWxsIHByaW50IHRoZSBzdGFydGluZyBudW1iZXJzLCB3aGlsZSBLYWphIHdpbGwgc2hhcmUgdGhpcyBpbmZvcm1hdGlvbiBvbiBUZWFtcywgYW5kIEtheWEgd2lsbCBvYnRhaW4gc2FmZXR5IHBpbnMgZm9yIGF0dGFjaG1lbnQuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlNwb25zb3Jpbmc8L2gyPlxuICAgICAgICA8cD5BIG1lZXRpbmcgd2l0aCBWZXJlbmEgS3JcdTAwRTR1dG5lciBpcyBzY2hlZHVsZWQgZm9yIE1vbmRheSwgd2hlcmUgYSBkcmF3IHdpbGwgZGV0ZXJtaW5lIHRoZSBzcG9uc29yc2hpcCB3aW5uZXIsIHdpdGggTHlkaWEgc3VnZ2VzdGluZyBhIHRpbWUgb2YgNTozMCBQTS4gQWRkaXRpb25hbGx5LCBhIG1lZXRpbmcgd2l0aCBTdGVtY2VsbCB3aWxsIGZvbGxvdyB1cCBvbiB0aGUgcHJvdmlzaW9uIG9mIG1lZGl1bS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+Q3JlYXRpdml0eTwvaDI+XG4gICAgICAgIDxwPlRoZSB0ZWFtIGhhcyBjaG9zZW4gdGhlIG5hbWUgXCI8UHJlQ3lzZS8+XCIgYW5kIGlzIGRldmVsb3BpbmcgYSBsb2dvLCBlbXBoYXNpemluZyBzaW1wbGljaXR5IGFuZCBhdm9pZGluZyBvdmVybHkgZmluZSBkZXRhaWxzIG9yIHdoaW1zaWNhbCBpbWFnZXJ5LiBGZWVkYmFjayB3aWxsIGJlIGdhdGhlcmVkIG9uIHRoZSBwcm9wb3NlZCBsb2dvcyBhbmQgbmFtZS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+V2lraTwvaDI+XG4gICAgICAgIDxwPlRoZXJlIGlzIGEgbmVlZCBmb3IgdGVhbSBtZW1iZXJzIHRvIHdyaXRlIHRleHRzIGZvciB0aGUgd2lraSwgZm9jdXNpbmcgb24gdGFza3Mgb3V0bGluZWQgaW4gdGhlIFdpa2ksIEh1bWFuIFByYWN0aWNlcywgYW5kIERlc2lnbiBjaGFubmVscy4gVGhlIHRlYW0gc2hvdWxkIGFsc28gYWdyZWUgb24gYSBjaXRhdGlvbiBzdHlsZS48L3A+XG4gICAgICAgIDwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcIm1heTE0XCIsIFxuICAgICAgICBub2RlOiA8PjxoMT5UZWFtIE1lZXRpbmc8L2gxPlxuXG4gICAgICAgIDxoMj5PcmdhbmlzYXRpb248L2gyPlxuICAgICAgICA8cD5UaGVyZSB3YXMgYSByZXBvcnQgcmVnYXJkaW5nIGEgRmFjZWJvb2sgcGFnZSBhdHRyaWJ1dGVkIHRvIEZyaWVkZXJpa2UgTGVobGUsIHByb21wdGluZyBhIGRpc2N1c3Npb24gb24gd2hldGhlciBpdCBpcyBnZW51aW5lIG9yIHNwYW0uIEFkZGl0aW9uYWxseSwgdGhlIHRlYW0gcmVjZWl2ZWQgY29uZ3JhdHVsYXRpb25zIG9uIHRoZSBzcG9uc29yc2hpcCBmcm9tIFByb21lZ2EgR21iSCwgd2l0aCB0aGUgbmV4dCBzdGVwcyBvdXRsaW5lZCBpbiB0aGUgY29tbXVuaWNhdGlvbi48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SmFtYm9yZWUgJiBNZWV0VXBzPC9oMj5cbiAgICAgICAgPHA+RGlzY3Vzc2lvbnMgYWJvdXQgdGhlIHVwY29taW5nIG1lZXQtdXAgaW5jbHVkZWQgcmVzcG9uc2liaWxpdGllcyBmb3IgaGFuZGxpbmcgbWlsayBhbHRlcm5hdGl2ZXMgYW5kIHN1Z2FyLiBUaGUgdGVhbSBpcyBhbHNvIGVuY291cmFnZWQgdG8gYXNrIGZyaWVuZHMgZm9yIGFzc2lzdGFuY2Ugd2l0aCBmaWxtaW5nIGR1cmluZyB0aGUgZXZlbnQuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPk1lY2hhbmlzbTwvaDI+XG4gICAgICAgIDxwPlRoZSBmaXJzdCBwbGFzbWlkcyBoYXZlIGJlZW4gb3JkZXJlZCwgaW5jbHVkaW5nIHBNSjMyNiAoRmFuem9yKSBhbmQgcENNVi1QRTIgKFN0YW5kYXJkIFByaW1lIEVkaXRpbmcpLiBSZW1haW5pbmcgdGFza3MgaW5jbHVkZSB0aGUgb3JkZXJpbmcgb2YgYSBzaG9ydGVuZWQgUlQgcGxhc21pZCwgcGVnUk5BIGFjY2VwdG9yIHBsYXNtaWQsIGFuZCBzY3JlZW5pbmcgcGxhc21pZC4gTWFsdGUgYW5kIEtheWEgYXJlIHdvcmtpbmcgb24gcGVnUk5BIGRlc2lnbiwgYW5kIHRoZXJlJ3MgYSBuZWVkIHRvIGV4cGxvcmUgdmFyaW91cyBwZWcgaW50ZWdyYXRpb25zIGludG8gdGhlIGFjY2VwdG9yIHBsYXNtaWQuPC9wPlxuICAgICAgICA8cD5QcmltZXIgZGVzaWduIGlzIGNoYWxsZW5naW5nIGR1ZSB0byBpbmV4cGVyaWVuY2UsIGJ1dCB0aGUgdGVhbSBhaW1zIHRvIG1lZXQgQmlvQnJpY2sgc3RhbmRhcmRzIG9uY2UgdGhlIHZlY3RvcnMgYXJlIGF2YWlsYWJsZS4gS2FpIGFuZCBDaHJpc3RpYW4gYXJlIHNlbGVjdGluZyBjYW5kaWRhdGVzIGZvciBGYW56b3IgbXV0YXRpb25zLCBhbmQgdGVzdGluZyBlZGl0aW5nIHZpYSBHRlAgaXMgcGxhbm5lZCwgcmVxdWlyaW5nIGFkYXB0YXRpb24gb2YgdGhlIHBsYXNtaWQgZm9yIHN0YWJsZSB0cmFuc2ZlY3Rpb24gaW50byBjZWxscy48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+SHVtYW4gUHJhY3RpY2VzPC9oMj5cbiAgICAgICAgPHA+RGV0YWlscyBmb3IgdGhlIGludGVydmlldyB3aXRoIFByb2YuIFdlYmVyIGFyZSB1bmRlciBkaXNjdXNzaW9uLCBpbmNsdWRpbmcgcHJlc2VudGF0aW9uIHJlc3BvbnNpYmlsaXRpZXMgYW5kIGxvZ2lzdGljYWwgYXJyYW5nZW1lbnRzLiBUaGVyZSBpcyBhbHNvIGEgbm90ZSBvbiBhIHBhdGllbnQgaW50ZXJ2aWV3IHJlcXVlc3QgaW52b2x2aW5nIGEgeW91bmcgY2hpbGQgd2l0aCBjeXN0aWMgZmlicm9zaXMuPC9wPlxuICAgICAgICBcbiAgICAgICAgPGgyPlNwb25zb3Jpbmc8L2gyPlxuICAgICAgICA8cD5BIG1lZXRpbmcgd2l0aCBTdGVtY2VsbCBpcyBwbGFubmVkIHdoZXJlIHRoZSB0ZWFtIG11c3QgZGVjaWRlIG9uIHRoZSB0eXBlcyBhbmQgcXVhbnRpdGllcyBvZiBtZWRpYSBuZWVkZWQgYXMgc29vbiBhcyBwb3NzaWJsZS48L3A+XG4gICAgICAgIFxuICAgICAgICA8aDI+V2lraTwvaDI+XG4gICAgICAgIDxwPlRoZSB3aWtpIGlzIGV4cGVjdGVkIHRvIGJlIG9ubGluZSBieSBNYXkgMjJuZC48L3A+XG4gICAgICAgIDwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcIlwiLCBcbiAgICAgICAgbm9kZTogPD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJcIiwgXG4gICAgICAgIG5vZGU6IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwiXCIsIFxuICAgICAgICBub2RlOiA8PjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcIlwiLCBcbiAgICAgICAgbm9kZTogPD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJcIiwgXG4gICAgICAgIG5vZGU6IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwiXCIsIFxuICAgICAgICBub2RlOiA8PjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcIlwiLCBcbiAgICAgICAgbm9kZTogPD48Lz5cbiAgICB9LFxuICAgIHtcbiAgICAgICAgY3NzbmFtZTogXCJcIiwgXG4gICAgICAgIG5vZGU6IDw+PC8+XG4gICAgfSxcbiAgICB7XG4gICAgICAgIGNzc25hbWU6IFwiXCIsIFxuICAgICAgICBub2RlOiA8PjwvPlxuICAgIH0sXG4gICAge1xuICAgICAgICBjc3NuYW1lOiBcIlwiLCBcbiAgICAgICAgbm9kZTogPD48Lz5cbiAgICB9LFxuXG4gICAgXG5dXG5cblxuZnVuY3Rpb24gcGFyc2VEYXRlRnJvbUNvZGUoY29kZTogc3RyaW5nKTogc3RyaW5nICB7XG4gICAgY29uc3QgbW9udGhzOiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9ID0ge1xuICAgICAgICBqYW51YXJ5OiAxLFxuICAgICAgICBmZWJydWFyeTogMixcbiAgICAgICAgbWFyY2g6IDMsXG4gICAgICAgIGFwcmlsOiA0LFxuICAgICAgICBtYXk6IDUsXG4gICAgICAgIGp1bmU6IDYsXG4gICAgICAgIGp1bHk6IDcsXG4gICAgICAgIGF1Z3VzdDogOCxcbiAgICAgICAgc2VwdGVtYmVyOiA5LFxuICAgICAgICBvY3RvYmVyOiAxMCxcbiAgICAgICAgbm92ZW1iZXI6IDExLFxuICAgICAgICBkZWNlbWJlcjogMTJcbiAgICB9O1xuXG4gICAgLy8gUmVnZXggdG8gbWF0Y2ggdGhlIG1vbnRoIGFuZCBkYXkgKGUuZy4sIGZlYnJ1YXJ5MiwgbWFyY2g1LCBldGMuKVxuICAgIGNvbnN0IHJlZ2V4ID0gL14oW2EtekEtWl0rKShcXGR7MSwyfSkkLztcbiAgICBjb25zdCBtYXRjaCA9IGNvZGUudG9Mb3dlckNhc2UoKS5tYXRjaChyZWdleCk7XG5cbiAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgY29uc3QgbW9udGhTdHIgPSBtYXRjaFsxXTtcbiAgICAgICAgY29uc3QgZGF5ID0gcGFyc2VJbnQobWF0Y2hbMl0sIDEwKTtcblxuICAgICAgICBjb25zdCBtb250aCA9IG1vbnRoc1ttb250aFN0cl07XG4gICAgICAgIGlmIChtb250aCAmJiBkYXkgPiAwICYmIGRheSA8PSAzMSkge1xuICAgICAgICAgICAgY29uc3QgeWVhciA9IDIwMjQ7XG4gICAgICAgICAgICAvLyBGb3JtYXQgZGF5IGFuZCBtb250aCB3aXRoIGxlYWRpbmcgemVyb3NcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZERheSA9IGRheS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XG4gICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWRNb250aCA9IG1vbnRoLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcbiAgICAgICAgICAgIHJldHVybiBgJHtmb3JtYXR0ZWREYXl9LiR7Zm9ybWF0dGVkTW9udGh9LiR7eWVhcn1gO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIFwiZXJyb3JcIjsgLy8gUmV0dXJuIG51bGwgaWYgdGhlIGNvZGUgaXMgaW52YWxpZFxufVxuXG4iLCAiaW1wb3J0IHsgQ2FsVGFicyB9IGZyb20gXCIuL2NhbC1jb250ZW50XCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIENhbGVuZGFyKCl7XG5sZXQgYXJyb3dzOiBKU1guRWxlbWVudFtdID0gQXJyb3dzKCk7IFxubGV0IHRhYnM6IEpTWC5FbGVtZW50W10gPSBDYWxUYWJzKCk7IFxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYWxcIj5cblxuICAgIHthcnJvd3N9XG4gXG5cbjx1bCBjbGFzc05hbWU9XCJ3ZWVrZGF5c1wiPlxuICA8bGk+TW88L2xpPlxuICA8bGk+VHU8L2xpPlxuICA8bGk+V2U8L2xpPlxuICA8bGk+VGg8L2xpPlxuICA8bGk+RnI8L2xpPlxuICA8bGk+U2E8L2xpPlxuICA8bGk+U3U8L2xpPlxuPC91bD5cbntGZWJydWFyfVxue01hcmNofVxue0FwcmlsfVxue01heX1cbntKdW5lfVxue0p1bHl9XG57QXVndXN0fVxue1NlcHRlbWJlcn1cbntPY3RvYmVyfVxuPGJyLz5cbnt0YWJzfVxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cblxuXG5mdW5jdGlvbiBBcnJvd3MoKXtcbiAgICBjb25zdCBtb250aHMgPSBbXCJGZWJydWFyeVwiLCBcIk1hcmNoXCIsIFwiQXByaWxcIiwgXCJNYXlcIiwgXCJKdW5lXCIsIFwiSnVseVwiLCBcIkF1Z3VzdFwiLCBcIlNlcHRlbWJlclwiLCBcIk9jdG9iZXJcIl1cbiAgICBsZXQgYXJyb3dzOiBKU1guRWxlbWVudFtdID0gW107XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1vbnRocy5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgaWYgKGluZGV4ID09IDApIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBtb250aHNbaW5kZXhdID0gJHttb250aHNbaW5kZXhdfWAgKVxuICAgICAgICAgICAgYXJyb3dzLnB1c2goXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtb250aCBoaWRlYWJsZVwiIGlkPXtgJHttb250aHNbaW5kZXhdfS1oZWFkYH0gc3R5bGU9e3tkaXNwbGF5OiBcImJsb2NrXCJ9fT4gICAgICBcbiAgICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwibmV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e3N3aXRjaFRvKG1vbnRoc1tpbmRleCsxXSl9PjxkaXY+JiMxMDA5NTs8L2Rpdj48L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge21vbnRoc1tpbmRleF19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7Zm9udFNpemU6XCIxOHB4XCJ9fT4yMDI0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGluZGV4ID09IChtb250aHMubGVuZ3RoIC0gMSkpIHtcbiAgICAgICAgICAgIGFycm93cy5wdXNoKFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibW9udGggaGlkZWFibGVcIiBpZD17YCR7bW9udGhzW2luZGV4XX0taGVhZGB9IHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT4gICAgICBcbiAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJwcmV2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtzd2l0Y2hUbyhtb250aHNbaW5kZXgtMV0pfT48ZGl2PiYjMTAwOTQ7PC9kaXY+PC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAge21vbnRoc1tpbmRleF19XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17e2ZvbnRTaXplOlwiMThweFwifX0+MjAyNDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIGVsc2V7XG4gICAgICAgICAgICBhcnJvd3MucHVzaChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1vbnRoIGhpZGVhYmxlXCIgaWQ9e2Ake21vbnRoc1tpbmRleF19LWhlYWRgfSAgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PiAgICAgIFxuICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICA8c3BhbiA+XG4gICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzc05hbWU9XCJwcmV2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtzd2l0Y2hUbyhtb250aHNbaW5kZXgtMV0pfT48ZGl2PiYjMTAwOTQ7PC9kaXY+PC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwibmV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17c3dpdGNoVG8obW9udGhzW2luZGV4KzFdKX0+PGRpdj4mIzEwMDk1OzwvZGl2PjwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHttb250aHNbaW5kZXhdfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3tmb250U2l6ZTpcIjE4cHhcIn19PjIwMjQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYXJyb3dzOyBcbn1cblxuZnVuY3Rpb24gc3dpdGNoVG8obW9udGg6IHN0cmluZyl7XG4gICAgY29uc29sZS5sb2coYENhbGxlZCBOZXh0IERhdGUgd2l0aCAke21vbnRofWApXG4gICAgY29uc3QgbmV4dGRhdGUgPSAoX2V2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcIm5leHREYXRlIG9wZW5cIilcbiAgICAgICAgbGV0IGVsZW1lbnRzVG9IaWRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImhpZGVhYmxlXCIpOyBcbiAgICAgICAgY29uc29sZS5sb2coZWxlbWVudHNUb0hpZGUpXG4gICAgICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBlbGVtZW50c1RvSGlkZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgICAgXG4gICAgICAgICAgICAoZWxlbWVudHNUb0hpZGVbaW5kZXhdIGFzIEhUTUxFbGVtZW50KS5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7ICBcbiAgICAgICAgfSBcbiAgICAgICAgXG4gICAgICAgIGNvbnNvbGUubG9nKFwibmV3IG1vbnRoIGlzOiBcIiArIG1vbnRoICsgXCIgYW5kIHdlIGFyZSBjYWxsaW5nIFwiICsgIGAke21vbnRofS1uYW1lYClcbiAgICAgICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGAke21vbnRofS1kYXRlc2ApKSB7XG4gICAgICAgICAgICBsZXQgbmV3ZGF0ZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHttb250aH0tZGF0ZXNgKTtcbiAgICAgICAgICAgIChuZXdkYXRlcyBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICAgICAgfVxuICAgICAgICBlbHNle1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRWxlbWVudCB3aXRoIGlkICR7bW9udGh9LWRhdGVzIGRvZXMgbm90IGV4aXN0YClcbiAgICAgICAgfVxuICAgICAgICBsZXQgbmV3QXJyb3dzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7bW9udGh9LWhlYWRgKTtcbiAgICAgICAgKG5ld0Fycm93cyBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICAgICAgY29uc29sZS5sb2cobmV3QXJyb3dzKVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5leHRkYXRlOyAgXG59XG5cbmZ1bmN0aW9uIHNob3dFbnRyeShlbnRyeTpzdHJpbmcpe1xuICAgIGNvbnN0IHNob3dlbnRyeSA9IChfZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgICAgIGxldCBlbGVtZW50c1RvSGlkZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJjYWwtZW50cnlcIik7IFxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZWxlbWVudHNUb0hpZGUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgICAgIFxuICAgICAgICAgICAgKGVsZW1lbnRzVG9IaWRlW2luZGV4XSBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiOyAgXG4gICAgICAgIH0gXG4gICAgICAgIGxldCBlbnRyeUJsb2NrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZW50cnkpO1xuICAgICAgICAoZW50cnlCbG9jayBhcyBIVE1MRWxlbWVudCkuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICB9XG4gICAgcmV0dXJuIHNob3dlbnRyeTsgXG59XG5cbmNvbnN0IEZlYnJ1YXIgPSA8dWwgaWQ9XCJGZWJydWFyeS1kYXRlc1wiIGNsYXNzTmFtZT1cImRheXMgaGlkZWFibGVcIj4gIFxuPGxpPjwvbGk+XG48bGk+PC9saT5cbjxsaT48L2xpPlxuICA8bGk+MTwvbGk+XG4gIDxsaT4yPC9saT5cbiAgPGxpPjM8L2xpPlxuICA8bGk+NDwvbGk+XG4gIDxsaT41PC9saT5cbiAgPGxpPjY8L2xpPlxuICA8bGk+NzwvbGk+XG4gIDxsaT44PC9saT5cbiAgPGxpPjk8L2xpPlxuICA8bGk+MTA8L2xpPlxuICA8bGk+MTE8L2xpPlxuICA8bGk+MTI8L2xpPlxuICA8bGk+MTM8L2xpPlxuICA8bGk+MTQ8L2xpPlxuICA8bGk+MTU8L2xpPlxuICA8bGk+MTY8L2xpPlxuICA8bGk+MTc8L2xpPlxuICA8bGk+MTg8L2xpPlxuICA8bGk+MTk8L2xpPlxuICA8bGk+MjA8L2xpPlxuICA8bGk+MjE8L2xpPlxuICA8bGk+MjI8L2xpPlxuICA8bGk+MjM8L2xpPlxuICA8bGk+MjQ8L2xpPlxuICA8bGk+MjU8L2xpPlxuICA8bGk+MjY8L2xpPlxuICA8bGk+PGEgb25DbGljaz17c2hvd0VudHJ5KFwiZmVicnVhcnkyN1wiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+Mjc8L3NwYW4+PC9hPjwvbGk+XG4gIDxsaT4yODwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJmZWJydWFyeTI5XCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4yOTwvc3Bhbj48L2E+PC9saT5cblxuPC91bD5cbmNvbnN0IE1hcmNoID0gPHVsIGlkPVwiTWFyY2gtZGF0ZXNcIiBjbGFzc05hbWU9XCJkYXlzIGhpZGVhYmxlXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PiAgXG48bGk+PC9saT5cbjxsaT48L2xpPlxuPGxpPjwvbGk+XG48bGk+PC9saT5cbiAgPGxpPjE8L2xpPlxuICA8bGk+MjwvbGk+XG4gIDxsaT4zPC9saT5cbiAgPGxpPjQ8L2xpPlxuICA8bGk+NTwvbGk+XG4gIDxsaT42PC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcIm1hcmNoN1wiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+Nzwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjg8L2xpPlxuICA8bGk+OTwvbGk+XG4gIDxsaT4xMDwvbGk+XG4gIDxsaT4xMTwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJtYXJjaDEyXCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4xMjwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjEzPC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcIm1hcmNoMTRcIil9PjxzcGFuIGNsYXNzTmFtZT1cImFjdGl2ZVwiPjE0PC9zcGFuPjwvYT48L2xpPlxuICA8bGk+MTU8L2xpPlxuICA8bGk+MTY8L2xpPlxuICA8bGk+MTc8L2xpPlxuICA8bGk+MTg8L2xpPlxuICA8bGk+PGEgb25DbGljaz17c2hvd0VudHJ5KFwibWFyY2gxOVwiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+MTk8L3NwYW4+PC9hPjwvbGk+XG4gIDxsaT4yMDwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJtYXJjaDIxXCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4yMTwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjIyPC9saT5cbiAgPGxpPjIzPC9saT5cbiAgPGxpPjI0PC9saT5cbiAgPGxpPjI1PC9saT5cbiAgPGxpPjI2PC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcIm1hcmNoMjdcIil9PjxzcGFuIGNsYXNzTmFtZT1cImFjdGl2ZVwiPjI3PC9zcGFuPjwvYT48L2xpPlxuICA8bGk+Mjg8L2xpPlxuICA8bGk+PGEgb25DbGljaz17c2hvd0VudHJ5KFwibWFyY2gyOVwiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+Mjk8L3NwYW4+PC9hPjwvbGk+XG4gIDxsaT4zMDwvbGk+XG4gIDxsaT4zMTwvbGk+XG48L3VsPlxuY29uc3QgQXByaWwgPSA8dWwgaWQ9XCJBcHJpbC1kYXRlc1wiIGNsYXNzTmFtZT1cImRheXMgaGlkZWFibGVcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+ICBcbiAgPGxpPjE8L2xpPlxuICA8bGk+PGEgb25DbGljaz17c2hvd0VudHJ5KFwiYXByaWwyXCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4yPC9zcGFuPjwvYT48L2xpPlxuICA8bGk+MzwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJhcHJpbDRcIil9PjxzcGFuIGNsYXNzTmFtZT1cImFjdGl2ZVwiPjQ8L3NwYW4+PC9hPjwvbGk+XG4gIDxsaT41PC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcImFwcmlsNlwiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+Njwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjc8L2xpPlxuICA8bGk+ODwvbGk+XG4gIDxsaT45PC9saT5cbiAgPGxpPjEwPC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcImFwcmlsMTFcIil9PjxzcGFuIGNsYXNzTmFtZT1cImFjdGl2ZVwiPjExPC9zcGFuPjwvYT48L2xpPlxuICA8bGk+MTI8L2xpPlxuICA8bGk+MTM8L2xpPlxuICA8bGk+MTQ8L2xpPlxuICA8bGk+MTU8L2xpPlxuICA8bGk+PGEgb25DbGljaz17c2hvd0VudHJ5KFwiYXByaWwxNlwiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+MTY8L3NwYW4+PC9hPjwvbGk+XG4gIDxsaT4xNzwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJhcHJpbDE4XCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4xODwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjE5PC9saT5cbiAgPGxpPjIwPC9saT5cbiAgPGxpPjIxPC9saT5cbiAgPGxpPjIyPC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcImFwcmlsMjNcIil9PjxzcGFuIGNsYXNzTmFtZT1cImFjdGl2ZVwiPjIzPC9zcGFuPjwvYT48L2xpPlxuICA8bGk+MjQ8L2xpPlxuICA8bGk+PGEgb25DbGljaz17c2hvd0VudHJ5KFwiYXByaWwyNVwiKX0+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+MjU8L3NwYW4+PC9hPjwvbGk+XG4gIDxsaT4yNjwvbGk+XG4gIDxsaT4yNzwvbGk+XG4gIDxsaT4yODwvbGk+XG4gIDxsaT4yOTwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJhcHJpbDMwXCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4zMDwvc3Bhbj48L2E+PC9saT5cbjwvdWw+XG5jb25zdCBNYXkgPSA8dWwgaWQ9XCJNYXktZGF0ZXNcIiBjbGFzc05hbWU9XCJkYXlzIGhpZGVhYmxlXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PiAgXG48bGk+PC9saT5cbjxsaT48L2xpPlxuICA8bGk+MTwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJtYXkyXCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4yPC9zcGFuPjwvYT48L2xpPlxuICA8bGk+MzwvbGk+XG4gIDxsaT40PC9saT5cbiAgPGxpPjU8L2xpPlxuICA8bGk+NjwvbGk+XG4gIDxsaT48YSBvbkNsaWNrPXtzaG93RW50cnkoXCJtYXk3XCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj43PC9zcGFuPjwvYT48L2xpPlxuICA8bGk+ODwvbGk+XG4gIDxsaT45PC9saT5cbiAgPGxpPjEwPC9saT5cbiAgPGxpPjExPC9saT5cbiAgPGxpPjEyPC9saT5cbiAgPGxpPjEzPC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcIm1heTE0XCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4xNDwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjE1PC9saT5cbiAgPGxpPjE2PC9saT5cbiAgPGxpPjE3PC9saT5cbiAgPGxpPjE4PC9saT5cbiAgPGxpPjE5PC9saT5cbiAgPGxpPjIwPC9saT5cbiAgPGxpPjIxPC9saT5cbiAgPGxpPjxhIG9uQ2xpY2s9e3Nob3dFbnRyeShcIm1heTIyXCIpfT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4yMjwvc3Bhbj48L2E+PC9saT5cbiAgPGxpPjIzPC9saT5cbiAgPGxpPjI0PC9saT5cbiAgPGxpPjI1PC9saT5cbiAgPGxpPjI2PC9saT5cbiAgPGxpPjI3PC9saT5cbiAgPGxpPjI4PC9saT5cbiAgPGxpPjI5PC9saT5cbiAgPGxpPjMwPC9saT5cbiAgPGxpPjMxPC9saT5cbjwvdWw+XG5jb25zdCBKdW5lID0gPHVsIGlkPVwiSnVuZS1kYXRlc1wiIGNsYXNzTmFtZT1cImRheXMgaGlkZWFibGVcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+ICBcbjxsaT48L2xpPlxuPGxpPjwvbGk+XG48bGk+PC9saT5cbjxsaT48L2xpPlxuPGxpPjwvbGk+XG4gIDxsaT4xPC9saT5cbiAgPGxpPjI8L2xpPlxuICA8bGk+MzwvbGk+XG4gIDxsaT40PC9saT5cbiAgPGxpPjU8L2xpPlxuICA8bGk+NjwvbGk+XG4gIDxsaT43PC9saT5cbiAgPGxpPjg8L2xpPlxuICA8bGk+OTwvbGk+XG4gIDxsaT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4xMDwvc3Bhbj48L2xpPlxuICA8bGk+MTE8L2xpPlxuICA8bGk+MTI8L2xpPlxuICA8bGk+MTM8L2xpPlxuICA8bGk+MTQ8L2xpPlxuICA8bGk+MTU8L2xpPlxuICA8bGk+MTY8L2xpPlxuICA8bGk+MTc8L2xpPlxuICA8bGk+MTg8L2xpPlxuICA8bGk+MTk8L2xpPlxuICA8bGk+MjA8L2xpPlxuICA8bGk+MjE8L2xpPlxuICA8bGk+MjI8L2xpPlxuICA8bGk+MjM8L2xpPlxuICA8bGk+MjQ8L2xpPlxuICA8bGk+MjU8L2xpPlxuICA8bGk+MjY8L2xpPlxuICA8bGk+Mjc8L2xpPlxuICA8bGk+Mjg8L2xpPlxuICA8bGk+Mjk8L2xpPlxuICA8bGk+MzA8L2xpPlxuPC91bD5cbmNvbnN0IEp1bHkgPSA8dWwgaWQ9XCJKdWx5LWRhdGVzXCIgY2xhc3NOYW1lPVwiZGF5cyBoaWRlYWJsZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT4gIFxuICA8bGk+MTwvbGk+XG4gIDxsaT4yPC9saT5cbiAgPGxpPjM8L2xpPlxuICA8bGk+NDwvbGk+XG4gIDxsaT41PC9saT5cbiAgPGxpPjY8L2xpPlxuICA8bGk+NzwvbGk+XG4gIDxsaT44PC9saT5cbiAgPGxpPjk8L2xpPlxuICA8bGk+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+MTA8L3NwYW4+PC9saT5cbiAgPGxpPjExPC9saT5cbiAgPGxpPjEyPC9saT5cbiAgPGxpPjEzPC9saT5cbiAgPGxpPjE0PC9saT5cbiAgPGxpPjE1PC9saT5cbiAgPGxpPjE2PC9saT5cbiAgPGxpPjE3PC9saT5cbiAgPGxpPjE4PC9saT5cbiAgPGxpPjE5PC9saT5cbiAgPGxpPjIwPC9saT5cbiAgPGxpPjIxPC9saT5cbiAgPGxpPjIyPC9saT5cbiAgPGxpPjIzPC9saT5cbiAgPGxpPjI0PC9saT5cbiAgPGxpPjI1PC9saT5cbiAgPGxpPjI2PC9saT5cbiAgPGxpPjI3PC9saT5cbiAgPGxpPjI4PC9saT5cbiAgPGxpPjI5PC9saT5cbiAgPGxpPjMwPC9saT5cbiAgPGxpPjMxPC9saT5cbjwvdWw+XG5jb25zdCBBdWd1c3QgPSA8dWwgaWQ9XCJBdWd1c3QtZGF0ZXNcIiBjbGFzc05hbWU9XCJkYXlzIGhpZGVhYmxlXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PiAgXG48bGk+PC9saT5cbjxsaT48L2xpPlxuPGxpPjwvbGk+XG4gIDxsaT4xPC9saT5cbiAgPGxpPjI8L2xpPlxuICA8bGk+MzwvbGk+XG4gIDxsaT40PC9saT5cbiAgPGxpPjU8L2xpPlxuICA8bGk+NjwvbGk+XG4gIDxsaT43PC9saT5cbiAgPGxpPjg8L2xpPlxuICA8bGk+OTwvbGk+XG4gIDxsaT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4xMDwvc3Bhbj48L2xpPlxuICA8bGk+MTE8L2xpPlxuICA8bGk+MTI8L2xpPlxuICA8bGk+MTM8L2xpPlxuICA8bGk+MTQ8L2xpPlxuICA8bGk+MTU8L2xpPlxuICA8bGk+MTY8L2xpPlxuICA8bGk+MTc8L2xpPlxuICA8bGk+MTg8L2xpPlxuICA8bGk+MTk8L2xpPlxuICA8bGk+MjA8L2xpPlxuICA8bGk+MjE8L2xpPlxuICA8bGk+MjI8L2xpPlxuICA8bGk+MjM8L2xpPlxuICA8bGk+MjQ8L2xpPlxuICA8bGk+MjU8L2xpPlxuICA8bGk+MjY8L2xpPlxuICA8bGk+Mjc8L2xpPlxuICA8bGk+Mjg8L2xpPlxuICA8bGk+Mjk8L2xpPlxuICA8bGk+MzA8L2xpPlxuICA8bGk+MzE8L2xpPlxuPC91bD5cblxuY29uc3QgU2VwdGVtYmVyID0gPHVsIGlkPVwiU2VwdGVtYmVyLWRhdGVzXCIgY2xhc3NOYW1lPVwiZGF5cyBoaWRlYWJsZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT4gIFxuPGxpPjwvbGk+XG48bGk+PC9saT5cbjxsaT48L2xpPlxuPGxpPjwvbGk+XG48bGk+PC9saT5cbjxsaT48L2xpPlxuICA8bGk+MTwvbGk+XG4gIDxsaT4yPC9saT5cbiAgPGxpPjM8L2xpPlxuICA8bGk+NDwvbGk+XG4gIDxsaT41PC9saT5cbiAgPGxpPjY8L2xpPlxuICA8bGk+NzwvbGk+XG4gIDxsaT44PC9saT5cbiAgPGxpPjk8L2xpPlxuICA8bGk+PHNwYW4gY2xhc3NOYW1lPVwiYWN0aXZlXCI+MTA8L3NwYW4+PC9saT5cbiAgPGxpPjExPC9saT5cbiAgPGxpPjEyPC9saT5cbiAgPGxpPjEzPC9saT5cbiAgPGxpPjE0PC9saT5cbiAgPGxpPjE1PC9saT5cbiAgPGxpPjE2PC9saT5cbiAgPGxpPjE3PC9saT5cbiAgPGxpPjE4PC9saT5cbiAgPGxpPjE5PC9saT5cbiAgPGxpPjIwPC9saT5cbiAgPGxpPjIxPC9saT5cbiAgPGxpPjIyPC9saT5cbiAgPGxpPjIzPC9saT5cbiAgPGxpPjI0PC9saT5cbiAgPGxpPjI1PC9saT5cbiAgPGxpPjI2PC9saT5cbiAgPGxpPjI3PC9saT5cbiAgPGxpPjI4PC9saT5cbiAgPGxpPjI5PC9saT5cbiAgPGxpPjMwPC9saT5cbjwvdWw+XG5cbmNvbnN0IE9jdG9iZXIgPSA8dWwgaWQ9XCJPY3RvYmVyLWRhdGVzXCIgY2xhc3NOYW1lPVwiZGF5cyBoaWRlYWJsZVwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT4gIFxuPGxpPjwvbGk+XG4gIDxsaT4xPC9saT5cbiAgPGxpPjI8L2xpPlxuICA8bGk+MzwvbGk+XG4gIDxsaT40PC9saT5cbiAgPGxpPjU8L2xpPlxuICA8bGk+NjwvbGk+XG4gIDxsaT43PC9saT5cbiAgPGxpPjg8L2xpPlxuICA8bGk+OTwvbGk+XG4gIDxsaT48c3BhbiBjbGFzc05hbWU9XCJhY3RpdmVcIj4xMDwvc3Bhbj48L2xpPlxuICA8bGk+MTE8L2xpPlxuICA8bGk+MTI8L2xpPlxuICA8bGk+MTM8L2xpPlxuICA8bGk+MTQ8L2xpPlxuICA8bGk+MTU8L2xpPlxuICA8bGk+MTY8L2xpPlxuICA8bGk+MTc8L2xpPlxuICA8bGk+MTg8L2xpPlxuICA8bGk+MTk8L2xpPlxuICA8bGk+MjA8L2xpPlxuICA8bGk+MjE8L2xpPlxuICA8bGk+MjI8L2xpPlxuICA8bGk+MjM8L2xpPlxuICA8bGk+MjQ8L2xpPlxuICA8bGk+MjU8L2xpPlxuICA8bGk+MjY8L2xpPlxuICA8bGk+Mjc8L2xpPlxuICA8bGk+Mjg8L2xpPlxuICA8bGk+Mjk8L2xpPlxuICA8bGk+MzA8L2xpPlxuICA8bGk+MzE8L2xpPlxuPC91bD5cblxuXG4iLCAiaW1wb3J0IHsgQ2FsZW5kYXIgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9DYWxlbmRhci9DYWxlbmRhclwiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFByb0Rlc2MoKSB7XG4gIHVzZVRhYk5hdmlnYXRpb24oKTtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPENhbGVuZGFyLz5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbiAgIiwgImV4cG9ydCBmdW5jdGlvbiBQUk9ERVNDKCkge1xuXG4gIHJldHVybiAoXG4gICAgPEhlYWRlckJveCB0aXRsZT1cIlByb2plY3RcIiB0aXRsZTI9XCJEb2N1bWVudGF0aW9uXCIgaWQ9XCJkb2NoZWFkXCI+XG4gICAgICBcbiAgICA8L0hlYWRlckJveD5cbiAgKTtcbn1cblxuaW1wb3J0IEhlYWRlckJveCBmcm9tIFwiLi4vY29tcG9uZW50cy9IZWFkZXJCb3hcIjsiLCAiaW1wb3J0IHsgQmxvY2tRdW90ZUIgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9RdW90ZXNcIjtcbmltcG9ydCB7IFNlY3Rpb24gfSBmcm9tIFwiLi4vY29tcG9uZW50cy9zZWN0aW9uc1wiO1xuaW1wb3J0IHsgdXNlVGFiTmF2aWdhdGlvbiB9IGZyb20gXCIuLi91dGlscy9UYWJOYXZpZ2F0aW9uXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBKdWRnaW5nKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiT3ZlcnZpZXdcIiBpZD1cIk92ZXJ2aWV3XCI+XG4gICAgICAgICAgPEJsb2NrUXVvdGVCIHRleHQ9XCJKdWRnaW5nIGZvciBpR0VNIGlzIG9uZSBvZiB0aGUgaGlnaGxpZ2h0cyBvbiBteSBwcm9mZXNzaW9uYWwgY2FsZW5kYXJcdTIwMjZcIiBjaXRlPVwiRHIuIE5hbmN5IEJ1cmdlc3MsIERpcmVjdG9yIG9mIEp1ZGdpbmcgYXQgaUdFTSBIUVwiLz5cbiAgICAgICAgICA8cD5UaGUgaUdFTSBjb21wZXRpdGlvbiBjZWxlYnJhdGVzIGlubm92YXRpb24gaW4gc3ludGhldGljIGJpb2xvZ3ksIG9mZmVyaW5nIHRlYW1zIHRoZSBjaGFuY2UgdG8gY29tcGV0ZSBmb3IgYSByYW5nZSBvZiBhd2FyZHMgYmFzZWQgb24gdGhlaXIgYWNoaWV2ZW1lbnRzIGluIFxuICAgICAgICAgICAgdmFyaW91cyBjYXRlZ29yaWVzLiBKdWRnaW5nIGlzIGJhc2VkIG9uIGhvdyB3ZWxsIHRlYW1zIGludGVncmF0ZSBzY2llbnRpZmljIHJpZ29yIHdpdGggc29jaWV0YWwgaW1wYWN0LCBzYWZldHksIGFuZCBjcmVhdGl2aXR5LiBXZSBhaW0gdG8gY29tcGV0ZSBmb3IgXG4gICAgICAgICAgICBzZXZlcmFsIHByZXN0aWdpb3VzIGF3YXJkcywgaW5jbHVkaW5nIDxiPkJlc3QgSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXM8L2I+LCA8Yj5CaW9zYWZldHkgYW5kIFNlY3VyaXR5PC9iPiBBd2FyZCwgYW5kIDxiPkJlc3QgTmV3IEJhc2ljIFBhcnQ8L2I+LiBBZGRpdGlvbmFsbHksIHdlIHNlZWsgcmVjb2duaXRpb24gZm9yIG91ciA8Yj50aGVyYXBldXRpYyBwcm9qZWN0PC9iPiBhbmQgd2lsbCBzdHJpdmUgZm9yIGV4Y2VsbGVuY2UgaW4gYmVzdCB3aWtpLCBiZXN0IHByb21vdGlvbmFsIHZpZGVvLCBhbmQgdGhlIGlHRU1lcnMgcHJpemUuIDwvcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL290aGVyL3RoZXJhcGV1dGljLWF3YXJkLnN2Z1wiIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL290aGVyL2locC1hd2FyZC5zdmdcIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9vdGhlci9zYWZldHktYXdhcmQuc3ZnXCIgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9waG90b3Mvb3RoZXIvYmFzaWMtcGFydC1hd2FyZC5zdmdcIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy9vdGhlci93aWtpLWF3YXJkLnN2Z1wiIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJCZXN0IFRoZXJhcGV1dGljIFByb2plY3RcIiBpZD1cIkJlc3QgVGhlcmFwZXV0aWMgUHJvamVjdFwiPlxuICAgICAgICAgIDxwPk91ciBwcm9qZWN0IGlzIGEgZHVhbCB0aGVyYXBldXRpYyBhcHByb2FjaCB0YXJnZXRpbmcgY3lzdGljIGZpYnJvc2lzIChDRiksIHNwZWNpZmljYWxseSB0aGUgbW9zdCBjb21tb24gbXV0YXRpb24sIEY1MDhkZWwuIFdlIGFpbSB0byBkZXZlbG9wIGEgY3VyYXRpdmUgc29sdXRpb24gYnkgY29ycmVjdGluZyB0aGUgZ2VuZXRpYyBkZWZlY3QgdXNpbmcgUHJpbWUgRWRpdGluZyBUZWNobm9sb2d5IHdoaWxlIGVuaGFuY2luZyB0aGUgZm9sZGluZyBvZiB0aGUgQ0ZUUiBwcm90ZWluLiBBZGRpdGlvbmFsbHksIHdlIGRldmVsb3BlZCBhIExpcGlkIE5hbm9wYXJ0aWNsZSBmb3IgdGhlIGNlbGwtc3BlY2lmaWMgdGFyZ2V0aW5nIG9mIGx1bmcgZXBpdGhlbGlhbCBjZWxscy4gVGhpcyBwcm9qZWN0IGRpcmVjdGx5IGFkZHJlc3NlcyB0aGUgdW5tZXQgdGhlcmFwZXV0aWMgbmVlZHMgb2YgQ0YgcGF0aWVudHMsIHByb3ZpZGluZyBhIGxvbmctdGVybSBhbmQgcG90ZW50aWFsbHkgY3VyYXRpdmUgc29sdXRpb24uIDwvcD5cbiAgICAgICAgICA8aDQ+SGFzIHRoZSB0ZWFtIGNsZWFybHkgZGVmaW5lZCB0aGUgdGhlcmFwZXV0aWMgcHJvYmxlbSB0aGV5IGFyZSBhZGRyZXNzaW5nPyA8L2g0PlxuICAgICAgICAgIDxwPldlIGFyZSBhZGRyZXNzaW5nIEN5c3RpYyBGaWJyb3NpcyAoQ0YpLCBhIHNldmVyZSBnZW5ldGljIGRpc29yZGVyIGNhdXNlZCBieSBtdXRhdGlvbnMgaW4gdGhlIENGVFIgZ2VuZSwgcGFydGljdWxhcmx5IHRoZSBGNTA4ZGVsIG11dGF0aW9uLiBUaGlzIG11dGF0aW9uIGxlYWRzIHRvIHRoaWNrIG11Y3VzIGFjY3VtdWxhdGlvbiBpbiB2aXRhbCBvcmdhbnMsIGNhdXNpbmcgY2hyb25pYyBpbmZlY3Rpb25zIGFuZCBkYW1hZ2UsIHBhcnRpY3VsYXJseSBpbiB0aGUgbHVuZ3MuIE91ciBmb2N1cyBvbiB0aGUgRjUwOGRlbCBtdXRhdGlvbiwgd2hpY2ggYWZmZWN0cyBhcm91bmQgOTAgJSBvZiBDRiBwYXRpZW50cyBpbiBFdXJvcGUgYW5kIGJleW9uZCwgZW5zdXJlcyBvdXIgcHJvamVjdCB0YXJnZXRzIGEgd2VsbC1kZWZpbmVkIGFuZCB3aWRlc3ByZWFkIHRoZXJhcGV1dGljIG5lZWQuIDwvcD5cbiAgICAgICAgICA8aDQ+SG93IHdlbGwgaXMgdGhlIHRoZXJhcGV1dGljIG1lY2hhbmlzbSBvZiBhY3Rpb24gdW5kZXJzdG9vZCBhbmQgZGVtb25zdHJhdGVkPyA8L2g0PlxuICAgICAgICAgIDxwPk91ciBwcm9qZWN0IGVtcGxveXMgYSBkdWFsIGFwcHJvYWNoOiA8L3A+XG4gICAgICAgICAgPG9sPlxuICAgICAgICAgICAgPGxpPm9ycmVjdGluZyB0aGUgRjUwOGRlbCBtdXRhdGlvbiB1c2luZyBvdXIgUHJpbWUgRWRpdGluZyBUZWNobm9sb2d5XHRQcmltZUd1aWRlLCBhIHdlbGwgdW5kZXJzdG9vZCBnZW5lIGVkaXRpbmcgdG9vbCBkZXNpZ25lZCB0byByZXBhaXIgZGVmZWN0aXZlIGdlbmVzPC9saT5cbiAgICAgICAgICAgIDxsaT5kZWxpdmVyaW5nIG9mIG91ciBtUk5BIHRoZXJhcGV1dGljIHZpYSBzcGVjaWFsaXplZCBMaXBpZCBOYW5vcGFydGljbGVzIEFpckJ1ZGR5LCBlbnN1cmluZyBkaXJlY3QgYXBwbGljYXRpb24gaW4gbHVuZyBlcGl0aGVsaWFsIGNlbGxzPC9saT5cbiAgICAgICAgICA8L29sPlxuICAgICAgICAgIDxoND5IYXMgdGhlIHRlYW0gdmFsaWRhdGVkIHRoZSBlZmZlY3RpdmVuZXNzIG9mIHRoZWlyIHRoZXJhcGV1dGljIGFwcHJvYWNoPyA8L2g0PlxuICAgICAgICAgIDxwPldlIHRlc3RlZCB0aGUgdGhlcmFwZXV0aWMgZWZmaWNhY3kgPGk+aW4gdml0cm88L2k+IHVzaW5nIHBhdGllbnQtZGVyaXZlZCBwcmltYXJ5IGVwaXRoZWxpYWwgY2VsbHMgaW4gQWlyIExpcXVpZCBDdWx0dXJlIChBTEkpIGFuZCBBcGljYWwtT3V0IE9yZ2Fub2lkcyBjYXJyeWluZyB0aGUgRjUwOGRlbCBtdXRhdGlvbi4gVGhlc2UgY2VsbHMgd2VyZSB0cmVhdGVkIHdpdGggUHJlQ3lzZSB0byBhc3Nlc3MgdGhlIGdlbmV0aWMgY29ycmVjdGlvbiwgd2hpbGUgZG93bnN0cmVhbSBhcHBsaWNhdGlvbnMgd2lsbCB2YWxpZGF0ZSB0aGUgaW1wcm92ZWQgZm9sZGluZyBhbmQgZnVuY3Rpb24gb2YgdGhlIENGVFIgcHJvdGVpbi4gT3VyIGV4cGVyaW1lbnRhbCBkZXNpZ24gYWxsb3dzIHVzIHRvIGdhdGhlciBwcm9vZi1vZi1jb25jZXB0IGRhdGEsIGRlbW9uc3RyYXRpbmcgdGhlIHZpYWJpbGl0eSBvZiBib3RoIGdlbmUgY29ycmVjdGlvbiBhbmQgZWZmaWNpZW50IGRlbGl2ZXJ5LiA8L3A+XG4gICAgICAgICAgPGg0PkRvZXMgdGhlIHByb2plY3QgY29uc2lkZXIgb2ZmLXRhcmdldCBlZmZlY3RzIG9yIHVuaW50ZW5kZWQgY29uc2VxdWVuY2VzPzwvaDQ+XG4gICAgICAgICAgPHA+QnkgaW5jb3Jwb3JhdGluZyBGQU5aT1IsIGEgbmV3IGV1a2FyeW90aWMgUk5BLWJpbmRpbmcgRE5BLWVuZG9udWNsZWFzZXMsIHdlIGVuaGFuY2UgdGhlIHByZWNpc2lvbiBvZiBQcmltZSBFZGl0aW5nLiBTaXRlLWRpcmVjdGVkIG11dGFnZW5lc2lzIGVuYWJsZSBuaWNrYXNpZmljYXRpb24gb2Ygb3VyIENhc1ggYW5kIEZBTlpPUiBjYW5kaWRhdGVzLiBUaGlzIGVuYWJsZXMgdGhlIHVzYWdlIGFzIFByaW1lIEVkaXRvciwgd2hpbGUgZW5oYW5jaW5nIGVmZmljaWVuY3kgYW5kIGRlY3JlYXNpbmcgUEUgY29tcGxleCBzaXplLiBXZSBoYXZlIGRlc2lnbmVkIG91ciBzeXN0ZW0gdG8gbWluaW1pemUgdW5pbnRlbmRlZCBjb25zZXF1ZW5jZXMsIGVuc3VyaW5nIHRoYXQgb3VyIHRoZXJhcGV1dGljIGludGVydmVudGlvbiBpcyBzYWZlIGZvciBjbGluaWNhbCBhcHBsaWNhdGlvbi4gPC9wPlxuICAgICAgICAgIDxoND5XaGF0IHBvdGVudGlhbCBkb2VzIHRoZSBwcm9qZWN0IGhhdmUgZm9yIHJlYWwtd29ybGQgdGhlcmFwZXV0aWMgYXBwbGljYXRpb25zPyA8L2g0PlxuICAgICAgICAgIDxwPk91ciBkdWFsIGFwcHJvYWNoIGhhcyBzaWduaWZpY2FudCBwb3RlbnRpYWwgZm9yIHJlYWwtd29ybGQgdGhlcmFwZXV0aWMgYXBwbGljYXRpb25zLiBQcmVDeXNlIHByb3ZpZGVzIGEgY3VyYXRpdmUgZ2VuZXRpYyBzb2x1dGlvbiwgaW1wcm92ZSBpbW1lZGlhdGUgcGh5c2lvbG9naWNhbCBmdW5jdGlvbnMuIFRoZSBwcm9qZWN0IGFkZHJlc3NlcyBhIGNydWNpYWwgbmVlZCBpbiBDRiB0aGVyYXB5IGJ5IHRhcmdldGluZyBib3RoIHRoZSByb290IGdlbmV0aWMgY2F1c2UgYW5kIHRoZSByZXN1bHRpbmcgcHJvdGVpbiBkeXNmdW5jdGlvbiwgb2ZmZXJpbmcgYSBtb3JlIGNvbXByZWhlbnNpdmUgc29sdXRpb24gdGhhbiBjdXJyZW50IHRyZWF0bWVudHMuIDwvcD5cbiAgICAgICAgICA8aDQ+SG93IHdlbGwgZGlkIHRoZSB0ZWFtIGludGVncmF0ZSBzYWZldHkgaW50byB0aGVpciB0aGVyYXBldXRpYyBkZXNpZ24/IDwvaDQ+XG4gICAgICAgICAgPHA+U2FmZXR5IGlzIGEgcHJpb3JpdHkgaW4gb3VyIHByb2plY3QuIFRoZSB1c2Ugb2YgRkFOWk9SIGVuaGFuY2VzIHRoZSBzcGVjaWZpY2l0eSBvZiBvdXIgZ2VuZS1lZGl0aW5nIGFwcHJvYWNoLCByZWR1Y2luZyB0aGUgbGlrZWxpaG9vZCBvZiBvZmYtdGFyZ2V0IGdlbmUgbW9kaWZpY2F0aW9ucy4gQWRkaXRpb25hbGx5LCB3ZSBhcmUgY29tbWl0dGVkIHRvIHJpZ29yb3VzIDxpPmluIHZpdHJvPC9pPiB0ZXN0aW5nIGJlZm9yZSBhZHZhbmNpbmcgdG8gPGk+aW4gdml2bzwvaT4gbW9kZWxzLCBlbnN1cmluZyB0aGF0IG91ciB0aGVyYXBldXRpYyBpbnRlcnZlbnRpb25zIGRvIG5vdCBwb3NlIHJpc2tzIHRvIHBhdGllbnRzLiBGb3IgdGhpcywgd2UgZGV2ZWxvcGVkIGFuIENGLXNwZWNpZmljIGZsdW9yZXNjZW5jZS1iYXNlZCBSZXBvcnRlciBTeXN0ZW0gbWltaWNraW5nIHRoZSBDRi1zcGVjaWZpYyBnZW5vbWljIGFsdGVyYXRpb24uIDwvcD5cbiAgICAgICAgICA8aDQ+VG8gd2hhdCBleHRlbnQgaGFzIHRoZSB0ZWFtIGNvbnNpZGVyZWQgcGF0aWVudCBpbXBhY3Q/IDwvaDQ+XG4gICAgICAgICAgPHA+V2UgaGF2ZSBjbG9zZWx5IGFsaWduZWQgb3VyIHByb2plY3Qgd2l0aCBwYXRpZW50IG5lZWRzIGJ5IHRhcmdldGluZyB0aGUgRjUwOGRlbCBtdXRhdGlvbiwgd2hpY2ggYWZmZWN0cyBhIHNpZ25pZmljYW50IHBvcnRpb24gb2YgQ0YgcGF0aWVudHMgd29ybGR3aWRlLiBPdXIgdGhlcmFwZXV0aWMgc29sdXRpb24gYWltcyB0byBpbXByb3ZlIHF1YWxpdHkgb2YgbGlmZSBieSBhZGRyZXNzaW5nIHRoZSByb290IGNhdXNlIG9mIENGIGFuZCByZWR1Y2luZyB0aGUgYnVyZGVuIG9mIGxpZmVsb25nIHRyZWF0bWVudHMuIFdlIGFyZSBhbHNvIGluIGNvbnRhY3Qgd2l0aCBDRiBwYXRpZW50cyBhbmQgaGF2ZSBnYXRoZXJlZCBpbnNpZ2h0cyBmcm9tIGhlYWx0aGNhcmUgcHJvdmlkZXJzIHRvIGVuc3VyZSBvdXIgdGhlcmFweSBpcyBwYXRpZW50LWNlbnRyaWMuIFByZUN5c2Ugb2ZmZXJzIGEgbG9uZy10aW1lIHNvbHV0aW9uLCB3aGlsZSBiZWluZyBjb3N0LWVmZmljaWVudCBhbmQgZWFzeS10by11c2UuIDwvcD5cbiAgICAgICAgICA8cD5PdXIgaW5ub3ZhdGl2ZSB0aGVyYXBldXRpYyBwcm9qZWN0IGxldmVyYWdlcyB0aGUgcG93ZXIgb2YgZ2VuZSBlZGl0aW5nIGFuZCBwcm90ZWluIG1vZHVsYXRpb24gdG8gb2ZmZXIgYSBwb3RlbnRpYWxseSBjdXJhdGl2ZSBzb2x1dGlvbiBmb3IgQ3lzdGljIEZpYnJvc2lzLCBwYXJ0aWN1bGFybHkgZm9yIHRoZSBwcmV2YWxlbnQgRjUwOGRlbCBtdXRhdGlvbi4gV2l0aCBhIHdlbGwtdmFsaWRhdGVkIHNjaWVudGlmaWMgZm91bmRhdGlvbiwgY29tcHJlaGVuc2l2ZSBzYWZldHkgbWVhc3VyZXMsIGFuZCBhIHN0cm9uZyBmb2N1cyBvbiBwYXRpZW50IG5lZWRzLCB3ZSBiZWxpZXZlIG91ciBwcm9qZWN0IGV4ZW1wbGlmaWVzIHRoZSBxdWFsaXRpZXMgZGVzZXJ2aW5nIG9mIHRoZSA8Yj5CZXN0IFRoZXJhcGV1dGljIFByb2plY3QgQXdhcmQ8L2I+LiBPdXIgZHVhbCBhcHByb2FjaCBwcm92aWRlcyBhIHRlbXBsYXRlIGZvciBmdXR1cmUgZ2VuZXRpYyBkaXNlYXNlIHRyZWF0bWVudHMsIHBhdmluZyB0aGUgd2F5IGZvciBtb3JlIGVmZmVjdGl2ZSBhbmQgcGVyc29uYWxpemVkIG1lZGljYWwgc29sdXRpb25zLiA8L3A+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJCZXN0IEludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VcIiBpZD1cIkJlc3QgSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZVwiPlxuICAgICAgICAgIDxwPk91ciB0ZWFtXHUyMDE5cyBwcm9qZWN0IGF0IEJpZWxlZmVsZC1DZUJpVGVjIGludGVncmF0ZXMgSHVtYW4gUHJhY3RpY2VzIGludG8gZXZlcnkgYXNwZWN0IG9mIG91ciB3b3JrLCBlbnN1cmluZyB0aGF0IG91ciBzeW50aGV0aWMgYmlvbG9neSBpbm5vdmF0aW9uIGFsaWducyB3aXRoIHNvY2lldGFsIG5lZWRzLCBldGhpY2FsIGNvbnNpZGVyYXRpb25zLCBhbmQgZW52aXJvbm1lbnRhbCBzdXN0YWluYWJpbGl0eS4gQnkgcHJvYWN0aXZlbHkgZW5nYWdpbmcgd2l0aCBhIGJyb2FkIHJhbmdlIG9mIHN0YWtlaG9sZGVycywgaW5jbHVkaW5nIHNjaWVudGlzdHMsIHJlZ3VsYXRvcnkgYm9kaWVzLCBhbmQgY29tbXVuaXR5IGdyb3Vwcywgd2Ugc2hhcGVkIG91ciBwcm9qZWN0IHRvIGhhdmUgbWVhbmluZ2Z1bCBhbmQgcmVzcG9uc2libGUgaW1wYWN0cy4gT3VyIGNvbW1pdG1lbnQgdG8gdW5kZXJzdGFuZGluZyB0aGUgYnJvYWRlciBpbXBsaWNhdGlvbnMgb2Ygb3VyIHdvcmsgcG9zaXRpb25zIHVzIGFzIGEgc3Ryb25nIGNhbmRpZGF0ZSBmb3IgdGhlIDxiPkJlc3QgSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXMgQXdhcmQ8L2I+LiA8L3A+XG4gICAgICAgICAgPGg0PkludGVncmF0aW9uIG9mIEh1bWFuIFByYWN0aWNlcyA8L2g0PlxuICAgICAgICAgIDxwPldlIGFjdGl2ZWx5IGVuZ2FnZWQgd2l0aCBhIGRpdmVyc2UgYXJyYXkgb2Ygc3Rha2Vob2xkZXJzIHRocm91Z2hvdXQgb3VyIHByb2plY3QsIGZyb20gQ0YgcGF0aWVudHMgbGlrZSBNYXggQmVja21hbm5bTGlua10gdG8gY2xpbmljaWFucyBzdWNoIGFzIFByb2YuIERyLiBPbGFyaXUgW0xpbmtdLCBwaHlzaW90aGVyYXBpc3RzIGxpa2UgS2F0cmluIFdlc3Rob2ZmIFtMaW5rXSwgYW5kIGluZHVzdHJ5IGV4cGVydHMgaW5jbHVkaW5nIERyLiBCZW5qYW1pbiBXaW5rZWxqYW5uIFtMaW5rXSBhbmQgRHIuIEthdGhhcmluYSBLb2xvbmtvIFtMaW5rXS4gRWFjaCBvZiB0aGVzZSBjb2xsYWJvcmF0aW9ucyBkaXJlY3RseSBpbmZvcm1lZCBhbmQgc2hhcGVkIG91ciB0aGVyYXBldXRpYyBzb2x1dGlvbi4gTWF4IEJlY2ttYW5uXHUyMDE5cyBmaXJzdGhhbmQgZXhwZXJpZW5jZSBwcm92aWRlZCB1cyB3aXRoIGludmFsdWFibGUgaW5zaWdodHMgaW50byB0aGUgZGFpbHkgY2hhbGxlbmdlcyBvZiBsaXZpbmcgd2l0aCBDRiwgaGVscGluZyB1cyBhbGlnbiBvdXIgZ2VuZSB0aGVyYXB5IHdpdGggcGF0aWVudCBuZWVkcy4gQWRkaXRpb25hbGx5LCBjbGluaWNpYW5zIGFuZCBwaHlzaW90aGVyYXBpc3RzIGd1aWRlZCB1cyB0b3dhcmQgYSB0cmVhdG1lbnQgc3RyYXRlZ3kgdGhhdCBpcyBwcmFjdGljYWwsIGFjY2Vzc2libGUsIGFuZCBlZmZlY3RpdmUgZm9yIGRpZmZlcmVudCBwYXRpZW50IGRlbW9ncmFwaGljcy4gPC9wPlxuICAgICAgICAgIDxoND5JbnNwaXJhdGlvbiB0byBPdGhlcnMgPC9oND5cbiAgICAgICAgICA8cD5PdXIgcHJvamVjdCBzZXJ2ZXMgYXMgYSBtb2RlbCBmb3IgaG93IHN5bnRoZXRpYyBiaW9sb2d5IGNhbiBiZSBsZXZlcmFnZWQgdG8gbWVldCByZWFsLXdvcmxkIG5lZWRzIHdoaWxlIG1haW50YWluaW5nIGEgcGF0aWVudC1jZW50ZXJlZCBmb2N1cy4gQnkgaW50ZWdyYXRpbmcgZmVlZGJhY2sgZnJvbSBwYXRpZW50cyBhbmQgbWVkaWNhbCBwcm9mZXNzaW9uYWxzLCB3ZSBkZW1vbnN0cmF0ZSB0aGF0IGN1dHRpbmctZWRnZSBzY2llbmNlIGNhbiBjb2V4aXN0IHdpdGggZW1wYXRoeSBhbmQgcmVzcG9uc2liaWxpdHkuIE91ciBmb2N1cyBvbiBpbmNsdXNpdml0eSwgc2NhbGFiaWxpdHksIGFuZCBhZGRyZXNzaW5nIGdsb2JhbCBkaXNwYXJpdGllcyBpbiBDRiB0cmVhdG1lbnQgc2V0cyBhIHByZWNlZGVudCBmb3IgZnV0dXJlIGlHRU0gdGVhbXMgbG9va2luZyB0byBtYWtlIGEgbWVhbmluZ2Z1bCBpbXBhY3Qgb24gaGVhbHRoIGNoYWxsZW5nZXMuIDwvcD5cbiAgICAgICAgICA8aDQ+RG9jdW1lbnRhdGlvbiBmb3IgRnV0dXJlIFRlYW1zIDwvaDQ+XG4gICAgICAgICAgPHA+V2UgaGF2ZSBtZXRpY3Vsb3VzbHkgZG9jdW1lbnRlZCBldmVyeSBhc3BlY3Qgb2Ygb3VyIEh1bWFuIFByYWN0aWNlcyBpbnRlZ3JhdGlvbiwgcHJvdmlkaW5nIGZ1dHVyZSB0ZWFtcyB3aXRoIGEgY2xlYXIgcm9hZG1hcCBmb3IgaG93IHRvIGluY29ycG9yYXRlIHN0YWtlaG9sZGVyIGZlZWRiYWNrIGludG8gYSB0aGVyYXBldXRpYyBwcm9qZWN0LiBUaGlzIGluY2x1ZGVzIGRldGFpbGVkIGNhc2Ugc3R1ZGllcyBvbiBvdXIgaW50ZXJhY3Rpb25zIHdpdGggQ0YgcGF0aWVudHMsIG1lZGljYWwgcHJvZmVzc2lvbmFscywgYW5kIGluZHVzdHJ5IGV4cGVydHMsIGFsb25nIHdpdGggdGhlIGFkanVzdG1lbnRzIG1hZGUgdG8gb3VyIHByb2plY3QgYmFzZWQgb24gdGhlaXIgaW5wdXQuIE91ciB0aG9yb3VnaCBkb2N1bWVudGF0aW9uIGVuc3VyZXMgdGhhdCBvdGhlcnMgY2FuIGxlYXJuIGZyb20gb3VyIGFwcHJvYWNoIGFuZCBidWlsZCB1cG9uIG91ciBmaW5kaW5ncy4gPC9wPlxuICAgICAgICAgIDxoND5UaG91Z2h0ZnVsIEltcGxlbWVudGF0aW9uIDwvaDQ+XG4gICAgICAgICAgPHA+T3VyIHByb2plY3QgaGFzIGJlZW4gZGVlcGx5IGluZm9ybWVkIGJ5IGV0aGljYWwsIGVudmlyb25tZW50YWwsIGFuZCBzb2NpZXRhbCBjb25zaWRlcmF0aW9ucy4gRm9yIGV4YW1wbGUsIG91ciBjb25zdWx0YXRpb24gd2l0aCBQcm9mLiBEci4gT2xhcml1IGVtcGhhc2l6ZWQgdGhlIGltcG9ydGFuY2Ugb2YgbWVudGFsIGhlYWx0aCBpbiBDRiBjYXJlLCBsZWFkaW5nIHVzIHRvIGluY29ycG9yYXRlIHBzeWNob3NvY2lhbCBlbGVtZW50cyBpbnRvIG91ciB0aGVyYXB5IGRlc2lnbi4gQWRkaXRpb25hbGx5LCB3ZSBhbGlnbmVkIG91ciBzb2x1dGlvbiB3aXRoIGdsb2JhbCBoZWFsdGhjYXJlIGRpc3Bhcml0aWVzLCBlbnN1cmluZyBvdXIgZ2VuZSB0aGVyYXB5IGNhbiBiZW5lZml0IHVuZGVycmVwcmVzZW50ZWQgcG9wdWxhdGlvbnMuIFRocm91Z2ggZW5nYWdlbWVudCB3aXRoIHJlZ3VsYXRvcnkgYm9kaWVzLCB3ZSBlbnN1cmVkIHRoYXQgb3VyIHByb2plY3QgY29tcGxpZXMgd2l0aCBhbGwgcmVsZXZhbnQgYmlvc2FmZXR5IGFuZCBsZWdhbCBzdGFuZGFyZHMuIDwvcD5cbiAgICAgICAgICA8aDQ+SW5jb3Jwb3JhdGlvbiBvZiBEaXZlcnNlIFN0YWtlaG9sZGVyIFZpZXdzIDwvaDQ+XG4gICAgICAgICAgPHA+V2UgZW5nYWdlZCB3aXRoIGEgYnJvYWQgcmFuZ2Ugb2Ygc3Rha2Vob2xkZXJzLCBpbmNsdWRpbmcgcGF0aWVudHMsIGhlYWx0aGNhcmUgcHJvdmlkZXJzLCByZXNlYXJjaGVycywgYW5kIHJlZ3VsYXRvcnkgZXhwZXJ0cywgZW5zdXJpbmcgdGhhdCBlYWNoIHBlcnNwZWN0aXZlIHBsYXllZCBhIHJvbGUgaW4gc2hhcGluZyB0aGUgZmluYWwgdGhlcmFwZXV0aWMgc29sdXRpb24uIEZvciBpbnN0YW5jZSwgZmVlZGJhY2sgZnJvbSBwaHlzaW90aGVyYXBpc3QgS2F0cmluIFdlc3Rob2ZmIGNvbmZpcm1lZCB0aGUgbmVjZXNzaXR5IG9mIGFuIGluaGFsYXRpb24tYmFzZWQgdGhlcmFweSB0aGF0IGlzIGVhc3kgZm9yIHlvdW5nZXIgcGF0aWVudHMgdG8gdXNlLiBDb2xsYWJvcmF0aW9ucyB3aXRoIGluZHVzdHJ5IGV4cGVydHMgbGlrZSBEci4gQmVuamFtaW4gV2lua2VsamFubiBlbmFibGVkIHVzIHRvIG9wdGltaXplIHRoZSB0ZWNobmljYWwgYXNwZWN0cyBvZiBvdXIgdHJlYXRtZW50IGZvciBzY2FsYWJpbGl0eSBhbmQgZW52aXJvbm1lbnRhbCBzdXN0YWluYWJpbGl0eS4gPC9wPlxuICAgICAgICAgIDxoND5DcmVhdGluZyBhIFJlc3BvbnNpYmxlIGFuZCBCZW5lZmljaWFsIFByb2plY3QgPC9oND5cbiAgICAgICAgICA8cD5PdXIgZ2VuZSB0aGVyYXB5IGZvciBDRiBhZGRyZXNzZXMgbm90IG9ubHkgdGhlIHNjaWVudGlmaWMgY2hhbGxlbmdlcyBidXQgYWxzbyB0aGUgc29jaWV0YWwgbmVlZCBmb3IgYWNjZXNzaWJsZSwgcGF0aWVudC1jZW50ZXJlZCBoZWFsdGhjYXJlIHNvbHV0aW9ucy4gQnkgaW5jb3Jwb3JhdGluZyBodW1hbiBwcmFjdGljZXMgYXQgZXZlcnkgc3RhZ2UsIHdlIGVuc3VyZWQgdGhhdCBvdXIgcHJvamVjdCBpcyBldGhpY2FsbHkgcmVzcG9uc2libGUgYW5kIGJlbmVmaWNpYWwgdG8gc29jaWV0eS4gVGhlIGZlZWRiYWNrIGZyb20gZGl2ZXJzZSBzdGFrZWhvbGRlcnMgaGVscGVkIHVzIHJlZmluZSBvdXIgYXBwcm9hY2gsIGVuc3VyaW5nIHRoYXQgdGhlIHNvbHV0aW9uIGlzIHN1c3RhaW5hYmxlLCBpbmNsdXNpdmUsIGFuZCBhZGRyZXNzZXMgdGhlIGdsb2JhbCBkaXNwYXJpdGllcyBpbiBDRiBjYXJlLiBUaGUgbG9uZy10ZXJtIHBvc2l0aXZlIGltcGFjdCBvbiB0aGUgQ0YgY29tbXVuaXR5XHUyMDE0Ym90aCBpbiB0ZXJtcyBvZiBoZWFsdGggb3V0Y29tZXMgYW5kIGFjY2Vzc2liaWxpdHlcdTIwMTRkZW1vbnN0cmF0ZXMgb3VyIHByb2plY3RcdTIwMTlzIGNvbW1pdG1lbnQgdG8gcmVzcG9uc2libGUgaW5ub3ZhdGlvbi4gPC9wPlxuICAgICAgICAgIDxwPk91ciBwcm9qZWN0IGV4ZW1wbGlmaWVzIHRoZSBzZWFtbGVzcyBpbnRlZ3JhdGlvbiBvZiBIdW1hbiBQcmFjdGljZXMgaW50byBldmVyeSBhc3BlY3Qgb2Ygc3ludGhldGljIGJpb2xvZ3kgcmVzZWFyY2guIFRocm91Z2ggY29sbGFib3JhdGlvbnMgd2l0aCBwYXRpZW50cywgaGVhbHRoY2FyZSBwcm9mZXNzaW9uYWxzLCBhbmQgZXhwZXJ0cyBhY3Jvc3MgZGlmZmVyZW50IGZpZWxkcywgd2UgaGF2ZSBkZXZlbG9wZWQgYSBnZW5lIHRoZXJhcHkgZm9yIGN5c3RpYyBmaWJyb3NpcyB0aGF0IGlzIHNjaWVudGlmaWNhbGx5IGlubm92YXRpdmUsIGV0aGljYWxseSBzb3VuZCwgYW5kIGRlZXBseSBhbGlnbmVkIHdpdGggdGhlIG5lZWRzIG9mIHRoZSBnbG9iYWwgQ0YgY29tbXVuaXR5LiBPdXIgY29tbWl0bWVudCB0byBpbmNsdXNpdml0eSwgZXRoaWNhbCByZWZsZWN0aW9uLCBhbmQgZW52aXJvbm1lbnRhbCBzdXN0YWluYWJpbGl0eSBtYWtlcyB1cyBhIHN0cm9uZyBjYW5kaWRhdGUgZm9yIHRoZSA8Yj5CZXN0IEludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VzIEF3YXJkPC9iPiwgc2hvd2Nhc2luZyBvdXIgZGVkaWNhdGlvbiB0byByZXNwb25zaWJsZSBhbmQgaW1wYWN0ZnVsIHN5bnRoZXRpYyBiaW9sb2d5LiA8L3A+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJTYWZldHkgJiBTZWN1cml0eVwiIGlkPVwiU2FmZXR5ICYgU2VjdXJpdHlcIj5cbiAgICAgICAgICA8cD5PdXIgcHJvamVjdCBmb2N1c2VzIG9uIGFkdmFuY2luZyBiaW9zYWZldHkgYW5kIGJpb3NlY3VyaXR5IGluIHN5bnRoZXRpYyBiaW9sb2d5IHRocm91Z2ggdGhlIGRldmVsb3BtZW50IGFuZCBpbXBsZW1lbnRhdGlvbiBvZiByb2J1c3Qgc2FmZXR5IG1lY2hhbmlzbXMuIEFzIHBhcnQgb2Ygb3VyIFByZUN5c2UgcHJvamVjdCwgYWltZWQgYXQgZGV2ZWxvcGluZyBhIHByaW1lLWVkaXRpbmcgY29tcGxleCB0byBjb3JyZWN0IHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIGN5c3RpYyBmaWJyb3NpcyAoQ0YpLCB3ZSBwbGFjZSBncmVhdCBlbXBoYXNpcyBvbiBzYWZldHkgYXQgZXZlcnkgc3RhZ2Ugb2YgcmVzZWFyY2guIFdpdGggYSBjb21taXRtZW50IHRvIHJlc3BvbnNpYmxlIGlubm92YXRpb24sIHdlIGhhdmUgZW5zdXJlZCB0aGF0IGFsbCBwaGFzZXMgb2Ygb3VyIHdvcmsgYWRoZXJlIHRvIHRoZSBoaWdoZXN0IHNhZmV0eSBzdGFuZGFyZHMsIGFpbWluZyB0byBtaW5pbWl6ZSBib3RoIGVudmlyb25tZW50YWwgYW5kIGh1bWFuIGhlYWx0aCByaXNrcy4gT3VyIGFwcHJvYWNoIGluY29ycG9yYXRlcyBub3ZlbCBjb250YWlubWVudCBzeXN0ZW1zLCByaWdvcm91cyB2YWxpZGF0aW9uIHByb2Nlc3NlcywgYW5kIGNhcmVmdWxseSBwbGFubmVkIGNoZWNrcG9pbnRzIGR1cmluZyBleHBlcmltZW50cyB0byBwdXNoIHRoZSBib3VuZGFyaWVzIG9mIGJpb3NhZmV0eSBpbiBzeW50aGV0aWMgYmlvbG9neS4gPC9wPlxuICAgICAgICAgIDxoND5Db250cmlidXRpb24gdG8gQmlvc2FmZXR5IGFuZCBCaW9zZWN1cml0eSA8L2g0PlxuICAgICAgICAgIDxwPldlIGRldmVsb3BlZCBhIGNvbXByZWhlbnNpdmUgYmlvc2FmZXR5IHBsYW4gdG8gbWluaW1pemUgcmlza3MgYXNzb2NpYXRlZCB3aXRoIG91ciBzeW50aGV0aWMgYmlvbG9neSBwcm9qZWN0LiBUaGlzIGluY2x1ZGVzIGJpb2NvbnRhaW5tZW50IG1lYXN1cmVzIGFuZCBwcm90b2NvbHMgdG8gcHJldmVudCB0aGUgYWNjaWRlbnRhbCByZWxlYXNlIG9mIGdlbmV0aWNhbGx5IG1vZGlmaWVkIG9yZ2FuaXNtcyAoR01PcykgaW50byB0aGUgZW52aXJvbm1lbnQuIEJ5IGludGVncmF0aW5nIGJvdGggcGh5c2ljYWwgYW5kIGdlbmV0aWMgc2FmZWd1YXJkcywgd2UgaGF2ZSBlbnN1cmVkIHRoYXQgb3VyIHByb2plY3QgY29udHJpYnV0ZXMgdG8gc2FmZXIgc3ludGhldGljIGJpb2xvZ3kgYXBwbGljYXRpb25zLiBGb3IgZXhhbXBsZSwgb3VyIGZpbmFsIGNvbnN0cnVjdCB3aWxsIGJlIHRlc3RlZCBpbiBwcmltYXJ5IGN1bHR1cmVzIG9mIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgZnJvbSBDRiBwYXRpZW50cyBhbmQgaGVhbHRoeSBpbmRpdmlkdWFscywgd2l0aCBjYXJlZnVsbHkgcGxhbm5lZCBjaGVja3BvaW50cyBmb3IgY29udGludW91cyBtb25pdG9yaW5nIGFuZCB0aW1lbHkgYWRqdXN0bWVudHMuIDwvcD5cbiAgICAgICAgICA8cD5BcyBwYXJ0IG9mIG91ciBjb21taXRtZW50IHRvIGFkdmFuY2luZyBzYWZlIGFuZCBldGhpY2FsIHByYWN0aWNlcyBpbiBzeW50aGV0aWMgYmlvbG9neSBhbmQgcGF0aWVudCBjYXJlLCB3ZSBoYXZlIG1hZGUgc2V2ZXJhbCBrZXkgY29udHJpYnV0aW9ucyB0byBzdXBwb3J0IG91ciBwcm9qZWN0IGFuZCB0aGUgd2lkZXIgY29tbXVuaXR5LiBGaXJzdGx5LCB3ZSBkZXZlbG9wZWQgYSA8Yj5xdWVzdGlvbm5haXJlIHRvIGV2YWx1YXRlIHRoZSBtZWRpY2FsIGhpc3Rvcnkgb2YgY3lzdGljIGZpYnJvc2lzIChDRikgcGF0aWVudHM8L2I+LCB3aGljaCBoYXMgYmVlbiBzcGVjaWZpY2FsbHkgYWRhcHRlZCBmb3IgdGhlIGNvbGxlY3Rpb24gb2YgcHJpbWFyeSBodW1hbiBuYXNhbCBlcGl0aGVsaWFsIGNlbGxzIChoTkVDcykuIFRoaXMgdG9vbCBlbnN1cmVzIHRoYXQgZXNzZW50aWFsIGhlYWx0aCBpbmZvcm1hdGlvbiBpcyBnYXRoZXJlZCBpbiBhIHN5c3RlbWF0aWMgYW5kIGV0aGljYWwgbWFubmVyLCBhaWRpbmcgdGhlIGFjY3VyYXRlIGNvbGxlY3Rpb24gb2Ygc2FtcGxlcyB3aGlsZSBzYWZlZ3VhcmRpbmcgcGF0aWVudCB3ZWxsLWJlaW5nLiAgPC9wPlxuICAgICAgICAgIDxwPlNlY29uZGx5LCB3ZSBjcmVhdGVkIDxiPkJlc3QgUHJhY3RpY2VzIGZvciBzYWZlIHByaW1hcnkgY3VsdHVyZSBoYW5kbGluZzwvYj4uIFRoaXMgZ3VpZGUgb3V0bGluZXMgdGhlIG5lY2Vzc2FyeSBzYWZldHkgcHJvdG9jb2xzIGZvciB3b3JraW5nIHdpdGggcHJpbWFyeSBjZWxsIGN1bHR1cmVzLCBlbnN1cmluZyB0aGF0IGFsbCBwcm9jZWR1cmVzIGFyZSBjb25kdWN0ZWQgd2l0aCBtaW5pbWFsIHJpc2sgb2YgY29udGFtaW5hdGlvbiBhbmQgZXhwb3N1cmUgdG8gaGFybWZ1bCBwYXRob2dlbnMuIFRoZXNlIHByYWN0aWNlcyBwcm9tb3RlIHNhZmV0eSBmb3IgYm90aCBsYWJvcmF0b3J5IHBlcnNvbm5lbCBhbmQgdGhlIGludGVncml0eSBvZiB0aGUgYmlvbG9naWNhbCBtYXRlcmlhbHMuPC9wPlxuICAgICAgICAgIDxwPkFkZGl0aW9uYWxseSwgd2UgZGV2ZWxvcGVkIGEgPGI+SHlnaWVuZSBDb25jZXB0IGZvciBJbW11bm9jb21wcm9taXNlZCBJbmRpdmlkdWFsczwvYj4gaW4gY29uc3VsdGF0aW9uIHdpdGggYSBDRiBwYXRpZW50LiBUaGlzIGNvbmNlcHQgYWRkcmVzc2VzIHRoZSBzcGVjaWZpYyBuZWVkcyBvZiBpbmRpdmlkdWFscyB3aXRoIHdlYWtlbmVkIGltbXVuZSBzeXN0ZW1zLCBzdWNoIGFzIHRob3NlIHdpdGggQ0YsIEhJViwgb3IgY2VydGFpbiBjYW5jZXJzLiBJdCBmb2N1c2VzIG9uIHJlZHVjaW5nIGhlYWx0aCByaXNrcyBpbiBoaWdoLWZvb3QtdHJhZmZpYyBwdWJsaWMgc3BhY2VzLCBlc3BlY2lhbGx5IHB1YmxpYyByZXN0cm9vbXMsIGJ5IGltcGxlbWVudGluZyB0YWlsb3JlZCBoeWdpZW5lIG1lYXN1cmVzLiBUaGVzZSBndWlkZWxpbmVzIGFpbSB0byBwcm90ZWN0IGltbXVub2NvbXByb21pc2VkIGluZGl2aWR1YWxzIGJ5IGNyZWF0aW5nIHNhZmVyIGVudmlyb25tZW50cyB3aXRoaW4gdW5pdmVyc2l0eSBzZXR0aW5ncyBhbmQgYmV5b25kLCBjb250cmlidXRpbmcgdG8gYnJvYWRlciBwdWJsaWMgaGVhbHRoIGluaXRpYXRpdmVzLiA8L3A+XG4gICAgICAgICAgPGg0PkNoYXJhY3Rlcml6YXRpb24gYW5kIFZhbGlkYXRpb24gPC9oND5cbiAgICAgICAgICA8cD5XZSByaWdvcm91c2x5IHRlc3RlZCB0aGUgc2FmZXR5IG1lY2hhbmlzbXMgYnVpbHQgaW50byBvdXIgcHJvamVjdCBsaWtlIHRoZSBkaXNydXB0aW9uIG9mIHRoZSBQQU0gc2VxdWVuY2UgYW5kIHBlZ1JOQSBkZXNpZ24uIFRoZXNlIG1lY2hhbmlzbXMgd2VyZSB2YWxpZGF0ZWQgdGhyb3VnaCBjb250cm9sbGVkIGV4cGVyaW1lbnRzLCBlbnN1cmluZyByZWxpYWJsZSBwZXJmb3JtYW5jZSB1bmRlciB2YXJpb3VzIGNvbmRpdGlvbnMuIEZ1cnRoZXJtb3JlLCB0byBlbnN1cmUgdGhlIHNhZmV0eSBhbmQgcHJlY2lzaW9uIG9mIG91ciByZXN1bHRzLCB3ZSBpbnRyb2R1Y2VkIGEgc2VyaWVzIG9mIGNhcmVmdWxseSBwbGFubmVkIGV4cGVyaW1lbnRhbCBtaWxlc3RvbmVzLiBUaGVzZSBhbGxvdyBmb3IgdGhlIGNvbnRpbnVvdXMgdmFsaWRhdGlvbiBvZiB0aGUgUHJpbWUgRWRpdGluZyBjb21wbGV4LCBhZGRyZXNzaW5nIHBvdGVudGlhbCBpc3N1ZXMgaW1tZWRpYXRlbHksIHdoaWNoIG1pbmltaXplcyByaXNrIGFuZCBpbXByb3ZlcyB0aGUgb3ZlcmFsbCBxdWFsaXR5IG9mIG91ciB3b3JrLiA8L3A+XG4gICAgICAgICAgPGg0PkJ1aWxkaW5nIG9uIEV4aXN0aW5nIEtub3dsZWRnZSA8L2g0PlxuICAgICAgICAgIDxwPk91ciB3b3JrIGJ1aWxkcyB1cG9uIGVzdGFibGlzaGVkIGJpb3NhZmV0eSBmcmFtZXdvcmtzLCBzcGVjaWZpY2FsbHkgaW1wcm92aW5nIGtub3duIGdlbmV0aWMgY29udGFpbm1lbnQgc3lzdGVtcy4gV2UgaW5jb3Jwb3JhdGVkIGxlc3NvbnMgZnJvbSBwcmV2aW91cyBpR0VNIHRlYW1zIGFuZCBhY2FkZW1pYyByZXNlYXJjaCB0byByZWZpbmUgdGhlc2UgdG9vbHMsIG1ha2luZyB0aGVtIG1vcmUgZWZmZWN0aXZlIGluIGNvbnRyb2xsaW5nIGdlbmUgZmxvdyBhbmQgcmVkdWNpbmcgdW5pbnRlbmRlZCBjb25zZXF1ZW5jZXMuIEJ5IGRyYXdpbmcgZnJvbSB0aGUgZXhpc3Rpbmcga25vd2xlZGdlIGJhc2UsIHdlIGVuc3VyZWQgb3VyIGJpb3NhZmV0eSBtZWNoYW5pc21zLCBzdWNoIGFzIHJpYm9zd2l0Y2ggYW5kIFBBTSBkaXNydXB0aW9uLCBhcmUgYm90aCBzY2FsYWJsZSBhbmQgcmVsaWFibGUsIHNpZ25pZmljYW50bHkgYWR2YW5jaW5nIGJpb3NhZmV0eSB0ZWNobm9sb2dpZXMuIDwvcD5cbiAgICAgICAgICA8aDQ+UmlzayBNYW5hZ2VtZW50IDwvaDQ+XG4gICAgICAgICAgPHA+RnJvbSB0aGUgb3V0c2V0LCB3ZSBjb25kdWN0ZWQgYSB0aG9yb3VnaCByaXNrIGFzc2Vzc21lbnQgdG8gaWRlbnRpZnkgcG90ZW50aWFsIGhhemFyZHMsIGluY2x1ZGluZyB0aG9zZSBhc3NvY2lhdGVkIHdpdGggaGFuZGxpbmcgR01PcyBhbmQgZ2VuZSB0cmFuc2Zlci4gSW4gcmVzcG9uc2UsIHdlIGltcGxlbWVudGVkIHN0cmluZ2VudCBsYWIgcHJvdG9jb2xzIGFuZCBiaW9jb250YWlubWVudCBzeXN0ZW1zIHRvIGVuc3VyZSB0aGUgc2FmZXR5IG9mIG91ciB0ZWFtIGFuZCB0aGUgc3Vycm91bmRpbmcgZW52aXJvbm1lbnQuIFRoaXMgcmlzayBtYW5hZ2VtZW50IGFwcHJvYWNoIGV4dGVuZHMgdGhyb3VnaG91dCB0aGUgbGlmZWN5Y2xlIG9mIHRoZSBwcm9qZWN0LCBmcm9tIHRoZSBkZXNpZ24gdG8gdGhlIGZpbmFsIHZhbGlkYXRpb24gc3RhZ2VzLiBXZSBhbHNvIGFkaGVyZWQgdG8gZ29vZCBsYWJvcmF0b3J5IHByYWN0aWNlcywgc3VjaCBhcyBzdGVyaWxpemF0aW9uIGFuZCBjb250cm9sbGVkIGFjY2Vzcywgd2hpY2ggZW5zdXJlcyBjb21wbGlhbmNlIHdpdGggYWxsIHJlbGV2YW50IGJpb3NhZmV0eSByZWd1bGF0aW9ucy4gPC9wPlxuICAgICAgICAgIDxoND5SZWFsLVdvcmxkIEFwcGxpY2F0aW9ucyA8L2g0PlxuICAgICAgICAgIDxwPldlIGRlc2lnbmVkIG91ciBwcm9qZWN0IHdpdGggcmVhbC13b3JsZCBiaW9zYWZldHkgY29uY2VybnMgaW4gbWluZCwgcGFydGljdWxhcmx5IHRoZSBwb3RlbnRpYWwgZW52aXJvbm1lbnRhbCBpbXBhY3Qgb2YgR01Pcy4gT3VyIGFwcHJvYWNoIGVuc3VyZXMgdGhhdCBvdXIgdGVjaG5vbG9neSBjYW4gYmUgc2FmZWx5IGFwcGxpZWQgb3V0c2lkZSB0aGUgbGFiLCB3aXRoIGJpb2NvbnRhaW5tZW50IHN0cmF0ZWdpZXMgdGhhdCBwcmV2ZW50IHVuaW50ZW5kZWQgcmVsZWFzZS4gRm9yIGluc3RhbmNlLCBieSBkZXNpZ25pbmcgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykgdGhhdCBzZWxlY3RpdmVseSBmdXNlIHdpdGggbHVuZyBlcGl0aGVsaWFsIGNlbGxzLCB3ZSByZWR1Y2UgdGhlIHJpc2sgb2YgdW53YW50ZWQgb2ZmLXRhcmdldCBpbnRlcmFjdGlvbnMuIEFkZGl0aW9uYWxseSwgd2UgY29uc2lkZXJlZCBkdWFsLXVzZSBjb25jZXJucywgZW5zdXJpbmcgb3VyIHRlY2hub2xvZ3kgY2Fubm90IGJlIGVhc2lseSBtaXNhcHByb3ByaWF0ZWQgZm9yIGhhcm1mdWwgcHVycG9zZXMsIG1ha2luZyBvdXIgcHJvamVjdCBhIG1vZGVsIGZvciByZXNwb25zaWJsZSBzeW50aGV0aWMgYmlvbG9neS4gPC9wPlxuICAgICAgICAgIDxoND5DaGVjay1JbnMgYW5kIGlHRU0gQ29tcGxpYW5jZSA8L2g0PlxuICAgICAgICAgIDxwPkluIGFsaWdubWVudCB3aXRoIGlHRU1cdTIwMTlzIGVtcGhhc2lzIG9uIGJpb3NhZmV0eSwgd2Ugc3VibWl0dGVkIENoZWNrLUlucyBmb3IgdGhlIGNvbXBvbmVudHMgYW5kIG9yZ2FuaXNtcyBub3QgY292ZXJlZCBieSB0aGUgaUdFTSBXaGl0ZSBsaXN0LiBUaGVzZSBmb3JtYWwgZXZhbHVhdGlvbnMgZW5zdXJlZCB0aGF0IGFsbCBhc3BlY3RzIG9mIG91ciBwcm9qZWN0IHdlcmUgdGhvcm91Z2hseSBhc3Nlc3NlZCBhbmQgYXBwcm92ZWQgYnkgdGhlIGlHRU0gU2FmZXR5IENvbW1pdHRlZS4gV2UgbWFpbnRhaW5lZCBhY3RpdmUgY29tbXVuaWNhdGlvbiB3aXRoIHRoZSBjb21taXR0ZWUgdG8gZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBhbGwgaUdFTSBzdGFuZGFyZHMsIHJlZmxlY3Rpbmcgb3VyIGRlZGljYXRpb24gdG8gYmlvc2FmZXR5IGFuZCBiaW9zZWN1cml0eS4gPC9wPlxuICAgICAgICAgIDxoND5MYWJvcmF0b3J5IGFuZCBTYWZldHkgUHJhY3RpY2VzIDwvaDQ+XG4gICAgICAgICAgPHA+QWxsIGV4cGVyaW1lbnRzIHdlcmUgY29uZHVjdGVkIGF0IEJpZWxlZmVsZCBVbml2ZXJzaXR5IGluIFByb2YuIERyLiBLcmlzdGlhbiBNXHUwMEZDbGxlcidzIGxhYm9yYXRvcnksIGZvbGxvd2luZyBCU0wtMSAoYW5kIEJTTC0yIGlmIG5lZWRlZCkgc3RhbmRhcmQgb3BlcmF0aW5nIHByb2NlZHVyZXMuIFRoZSB0ZWFtIHBhcnRpY2lwYXRlZCBpbiBtYW5kYXRvcnkgc2FmZXR5IGJyaWVmaW5ncyBhbmQgYWRoZXJlZCB0byByaWdvcm91cyBzYWZldHkgbWVhc3VyZXMsIGluY2x1ZGluZyByZWd1bGF0aW9ucyBjb25jZXJuaW5nIGhhemFyZG91cyBzdWJzdGFuY2VzLCBnZW5ldGljIGVuZ2luZWVyaW5nLCBhbmQgdGhlIGhhbmRsaW5nIG9mIGJpb2xvZ2ljYWwgbWF0ZXJpYWxzLiBPdXIgbGFiIGFjdGl2aXRpZXMgd2VyZSBtZXRpY3Vsb3VzbHkgcGxhbm5lZCB0byBtaW5pbWl6ZSByaXNrIGFuZCBlbnN1cmUgZGF0YSBpbnRlZ3JpdHkuIDwvcD5cbiAgICAgICAgICA8cD5CeSBidWlsZGluZyBvbiBleGlzdGluZyBrbm93bGVkZ2UsIHJpZ29yb3VzbHkgdGVzdGluZyBvdXIgYmlvc2FmZXR5IG1lYXN1cmVzLCBhbmQgcHJvYWN0aXZlbHkgbWFuYWdpbmcgcmlza3MsIHdlIGhhdmUgZGV2ZWxvcGVkIGEgcHJvamVjdCB0aGF0IHNpZ25pZmljYW50bHkgY29udHJpYnV0ZXMgdG8gdGhlIGZpZWxkIG9mIGJpb3NhZmV0eSBhbmQgYmlvc2VjdXJpdHkuIE91ciBjb21wcmVoZW5zaXZlIGFwcHJvYWNoIGVuc3VyZXMgdGhhdCBvdXIgdGVjaG5vbG9neSBjYW4gYmUgc2FmZWx5IGFwcGxpZWQgaW4gcmVhbC13b3JsZCBzY2VuYXJpb3MsIGFuZCB3ZSBiZWxpZXZlIHRoaXMgc2V0cyBhIG5ldyBzdGFuZGFyZCBmb3IgcmVzcG9uc2libGUgc3ludGhldGljIGJpb2xvZ3kuIE91ciBlZmZvcnRzLCBwYXJ0aWN1bGFybHkgaW4gdGhlIGRldmVsb3BtZW50IG9mIHRoZSBQcmltZSBFZGl0aW5nIGNvbXBsZXggZm9yIENGIGFuZCB0aGUgYXNzb2NpYXRlZCBiaW9zYWZldHkgcHJvdG9jb2xzLCBtZXJpdCByZWNvZ25pdGlvbiBmb3IgdGhlIDxiPkJpb3NhZmV0eSBhbmQgU2VjdXJpdHkgQXdhcmQ8L2I+LiA8L3A+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJCZXN0IE5ldyBCYXNpYyBQYXJ0XCIgaWQ9XCJCZXN0IE5ldyBCYXNpYyBQYXJ0XCI+XG4gICAgICAgICAgPHA+T3VyIHByb2plY3QgZm9jdXNlcyBvbiBvcHRpbWl6aW5nIHByaW1lIGVkaXRpbmcgZm9yIHRoZSBjeXN0aWMgZmlicm9zaXMtY2F1c2luZyBDRlRSIEY1MDhkZWwgbXV0YXRpb24sIHdoaWNoIHJlcHJlc2VudHMgb25lIG9mIHRoZSBtb3N0IHNpZ25pZmljYW50IGFwcGxpY2F0aW9ucyBmb3IgcHJpbWUgZWRpdGluZy4gUHJpbWUgZWRpdGluZyBpcyBhIHByZWNpc2UgYW5kIHNhZmUgZ2VuZSBlZGl0aW5nIHRlY2huaXF1ZSwgYnV0IGl0cyBlZmZpY2llbmN5IHZhcmllcyBncmVhdGx5IGRlcGVuZGluZyBvbiB0aGUgZ2Vub21pYyBsb2N1cy4gVGhyb3VnaCBvdXIgZGV2ZWxvcG1lbnQgb2YgYSBjb250ZXh0LXNwZWNpZmljIFByaW1lIEVkaXRvciBBY3Rpdml0eSBSZXBvcnRlciAoUEVBUikgc3lzdGVtLCB3ZSBoYXZlIHN1Y2Nlc3NmdWxseSBvcHRpbWl6ZWQgdGhpcyBhZHZhbmNlZCB0ZWNobm9sb2d5LCBwYXZpbmcgdGhlIHdheSBmb3IgbW9yZSBlZmZlY3RpdmUgZ2Vub21pYyB0YXJnZXRpbmcsIG5vdCBqdXN0IGZvciBjeXN0aWMgZmlicm9zaXMgYnV0IGZvciBmdXR1cmUgc3ludGhldGljIGJpb2xvZ3kgYXBwbGljYXRpb25zIGFzIHdlbGwuIDwvcD5cbiAgICAgICAgICA8aDQ+IEVuZ2luZWVyaW5nIGFuZCBUZXN0aW5nIGZvciBDb250ZXh0dWFsIFByZWNpc2lvbiA8L2g0PlxuICAgICAgICAgIDxwPlRoZSBjaGFsbGVuZ2VzIHBvc2VkIGJ5IGxvdyBlZGl0aW5nIGVmZmljaWVuY3kgYW5kIHRoZSBkaWZmaWN1bHR5IGluIGRpc3Rpbmd1aXNoaW5nIHN1Y2Nlc3NmdWwgZWRpdHMgZnJvbSBiYWNrZ3JvdW5kIG5vaXNlIGxlZCB1cyB0byBkZXNpZ24gYSBoaWdobHkgc2Vuc2l0aXZlIHJlcG9ydGVyIHN5c3RlbS4gQWZ0ZXIgYW4gaW5pdGlhbCB1bnN1Y2Nlc3NmdWwgYXR0ZW1wdCB1c2luZyBhIGZsdW9yZXNjZW50IHJlcG9ydGVyLCB3ZSBzaGlmdGVkIHRvIHRoZSBQRUFSIHN5c3RlbSBwcm92ZWQgdG8gYmUgbXVjaCBtb3JlIGFkYXB0YWJsZSBhbmQgcmVsZXZhbnQgdG8gb3VyIG5lZWRzLiA8L3A+XG4gICAgICAgICAgPGg0Pkl0ZXJhdGl2ZSBEZXZlbG9wbWVudCA8L2g0PlxuICAgICAgICAgIDxwPkluIG91ciBmaXJzdCBhdHRlbXB0LCB3ZSBleHBsb3JlZCBhIGZsdW9yZXNjZW5jZS1iYXNlZCByZXBvcnRlciB0aGF0IHRhcmdldGVkIEdGUC4gV2hpbGUgdGhpcyBoZWxwZWQgdXMgdmlzdWFsaXplIHByaW1lIGVkaXRpbmcgaW4gYWN0aW9uLCB3ZSBxdWlja2x5IHJlYWxpemVkIHRoYXQgdGhlIGRpc3RhbmNlIG9mIHRoZSBtdXRhdGlvbiBzaXRlIGZyb20gdGhlIFBBTSBzZXF1ZW5jZSBpbiB0aGUgQ0ZUUiBnZW5lIG1lYW50IHRoYXQgdGhpcyBzeXN0ZW0gd2Fzblx1MjAxOXQgc3VpdGFibGUgZm9yIG91ciBzcGVjaWZpYyBnZW5vbWljIHRhcmdldC4gV2UgdGhlbiBtb3ZlZCB0byB0aGUgUEVBUiBzeXN0ZW0sIHdoaWNoIHdhcyBtb3JlIGZsZXhpYmxlIGFuZCBzZW5zaXRpdmUsIGFzIGl0cyBlZGl0aW5nIGZhY3RvcnMgYWxpZ25lZCB3aXRoIHRob3NlIHJlcXVpcmVkIGZvciBnZW5vbWljIGNvbnRleHRzLiA8L3A+XG4gICAgICAgICAgPHA+VGhyb3VnaCBtdWx0aXBsZSBpdGVyYXRpb25zLCBpbmNsdWRpbmcgdGVzdHMgaW4gSEVLMjkzIGNlbGxzLCBlcGl0aGVsaWFsIGNlbGxzLCBhbmQgaHVtYW4tZGVyaXZlZCBwcmltYXJ5IGNlbGxzLCB3ZSByZWZpbmVkIG91ciBzeXN0ZW0uIE91ciBleHBlcmltZW50cyBwcm92ZWQgdGhlIHN1Y2Nlc3NmdWwgdXNlIG9mIHRoZSBQRUFSIHJlcG9ydGVyIGluIGRldGVjdGluZyBwcmltZSBlZGl0aW5nIGFjdGl2aXR5IGZvciBDRlRSIEY1MDhkZWwgd2l0aCBtaW5pbWFsIG5vaXNlLCBtYWtpbmcgaXQgaWRlYWwgZm9yIGRldGVjdGluZyBlZGl0cyBpbiBzcGVjaWZpYyBnZW5vbWljIGxvY2kgd2l0aCBoaWdoIHNlbnNpdGl2aXR5LiA8L3A+XG4gICAgICAgICAgPGg0Pk1vZHVsYXJpdHkgYW5kIEJyb2FkZXIgQXBwbGljYXRpb25zIDwvaDQ+XG4gICAgICAgICAgPHA+UmVjb2duaXppbmcgdGhlIGxpbWl0YXRpb25zIG9mIHRoZSBvcmlnaW5hbCBQRUFSIHBsYXNtaWQsIGVzcGVjaWFsbHkgaW4gdGVybXMgb2YgbW9kaWZpY2F0aW9uIGZsZXhpYmlsaXR5IGFuZCBjb21wYXRpYmlsaXR5IHdpdGggQmlvQnJpY2sgc3RhbmRhcmRzLCB3ZSBjcmVhdGVkIGEgbW9yZSBtb2R1bGFyIGFuZCBhY2Nlc3NpYmxlIHN5c3RlbS4gT3VyIG5ldyB2ZXJzaW9uIGluY2x1ZGVzIGFuIG9saWdvbnVjbGVvdGlkZS1iYXNlZCBnb2xkZW4gZ2F0ZSBjbG9uaW5nIHNpdGUsIGVuYWJsaW5nIHF1aWNrIG1vZGlmaWNhdGlvbiBhbmQgYnJvYWRlciBhcHBsaWNhdGlvbnMgdG8gb3RoZXIgZ2Vub21pYyB0YXJnZXRzIGFuZCBwcmltZSBlZGl0b3IgdmFyaWFudHMuIDwvcD5cbiAgICAgICAgICA8cD5PdXIgdXBkYXRlZCBQRUFSIHN5c3RlbSBpcyBub3cgY29tcGF0aWJsZSB3aXRoIFJGQ1sxMDAwXSBzdGFuZGFyZHMsIG9mZmVyaW5nIGZ1dHVyZSBpR0VNIHRlYW1zIGEgdmVyc2F0aWxlIHRvb2wgdGhhdCBjYW4gYmUgYXBwbGllZCB0byBhIHdpZGUgcmFuZ2Ugb2YgZWRpdGluZyBzY2VuYXJpb3MuIFRoaXMgaXMgbm90IG9ubHkgYSBzaWduaWZpY2FudCBhZHZhbmNlbWVudCBmb3IgQ0ZUUi1yZWxhdGVkIHJlc2VhcmNoIGJ1dCBhbHNvIGZvciBhbnkgZ2VuZSBlZGl0aW5nIHByb2plY3QgcmVxdWlyaW5nIGhpZ2ggcHJlY2lzaW9uIGFuZCBzZW5zaXRpdml0eS4gPC9wPlxuICAgICAgICAgIDxoND5Db250cmlidXRpb24gdG8gdGhlIFN5bnRoZXRpYyBCaW9sb2d5IENvbW11bml0eSA8L2g0PlxuICAgICAgICAgIDxwPldlIGJlbGlldmUgb3VyIHBhcnQgY29udHJpYnV0ZXMgc2lnbmlmaWNhbnRseSB0byB0aGUgc3ludGhldGljIGJpb2xvZ3kgY29tbXVuaXR5IGJ5IHByb3ZpZGluZyBhbiBvcHRpbWl6ZWQgc3lzdGVtIHRoYXQgY2FuIGJlIGVhc2lseSBhZGFwdGVkIHRvIHZhcmlvdXMgZ2VuZSBlZGl0aW5nIGNvbnRleHRzLiBCeSBpbXByb3ZpbmcgdGhlIG1vZHVsYXJpdHkgYW5kIGVhc2Ugb2YgdXNlLCB3ZSBhcmUgY29uZmlkZW50IHRoYXQgdGhpcyBwYXJ0IHdpbGwgYmUgYSB2YWx1YWJsZSB0b29sIGZvciBmdXR1cmUgdGVhbXMgbG9va2luZyB0byBvcHRpbWl6ZSB0aGVpciBvd24gcHJpbWUgZWRpdGluZyBhcHByb2FjaGVzLiA8L3A+XG4gICAgICAgICAgPHA+T3VyIHdvcmsgaGFzIGRlbW9uc3RyYXRlZCB0aGF0IHByaW1lIGVkaXRpbmcgY2FuIGJlIG1hZGUgbW9yZSBlZmZpY2llbnQgYW5kIHJlbGlhYmxlLCBlc3BlY2lhbGx5IGluIGRpZmZpY3VsdC10by1lZGl0IHJlZ2lvbnMgbGlrZSBDRlRSLiBUaHJvdWdoIHJpZ29yb3VzIHRlc3RpbmcgYW5kIHZhbGlkYXRpb24sIHdlIGVuc3VyZWQgdGhhdCBvdXIgcGFydCBtZWV0cyBoaWdoIHN0YW5kYXJkcyBmb3IgYm90aCBleHBlcmltZW50YWwgcmVsaWFiaWxpdHkgYW5kIGNvbW11bml0eSB1dGlsaXR5LiBBcyBhIHJlc3VsdCwgd2UgcG9zaXRpb24gb3Vyc2VsdmVzIGFzIHN0cm9uZyBjYW5kaWRhdGVzIGZvciB0aGUgPGI+QmVzdCBOZXcgQmFzaWMgUGFydCBBd2FyZDwvYj4uPC9wPlxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiQ29uY2x1c2lvblwiIGlkPVwiQ29uY2x1c2lvblwiPlxuICAgICAgICAgIDxwPkluIGNvbmNsdXNpb24sIG91ciBwcm9qZWN0IGV4ZW1wbGlmaWVzIHRoZSBiZXN0IG9mIHN5bnRoZXRpYyBiaW9sb2d5LCBjb21iaW5pbmcgY3V0dGluZy1lZGdlIHNjaWVuY2Ugd2l0aCBldGhpY2FsIHJlc3BvbnNpYmlsaXR5IGFuZCBhIGRlZXAgXG4gICAgICAgICAgICBjb21taXRtZW50IHRvIHNvY2lldGFsIGltcGFjdC4gQnkgaW50ZWdyYXRpbmcgaHVtYW4gcHJhY3RpY2VzIGludG8gZXZlcnkgc3RhZ2Ugb2Ygb3VyIHdvcmssIGVuc3VyaW5nIHRoZSBoaWdoZXN0IHN0YW5kYXJkcyBvZiBiaW9zYWZldHksIGFuZCBjb250cmlidXRpbmcgXG4gICAgICAgICAgICB2YWx1YWJsZSB0b29scyB0byB0aGUgY29tbXVuaXR5LCB3ZSBoYXZlIHNldCBhIG5ldyBzdGFuZGFyZCBmb3IgaW5ub3ZhdGlvbiBpbiB0aGUgZmllbGQuIE91ciB0aGVyYXBldXRpYyBhcHByb2FjaCBmb3IgY3lzdGljIGZpYnJvc2lzIGhhcyB0aGUgcG90ZW50aWFsIFxuICAgICAgICAgICAgdG8gcmV2b2x1dGlvbml6ZSB0cmVhdG1lbnQgZm9yIHRoaXMgbGlmZS10aHJlYXRlbmluZyBjb25kaXRpb24sIHdoaWxlIG91ciBjb250cmlidXRpb25zIHRvIGJpb3NhZmV0eSBhbmQgcGFydCBkZXZlbG9wbWVudCB3aWxsIGJlbmVmaXQgdGhlIGJyb2FkZXIgXG4gICAgICAgICAgICBzeW50aGV0aWMgYmlvbG9neSBlY29zeXN0ZW0uIFdlIGFyZSBjb25maWRlbnQgdGhhdCBvdXIgcHJvamVjdCBpcyBkZXNlcnZpbmcgb2YgcmVjb2duaXRpb24gaW4gbXVsdGlwbGUgYXdhcmQgY2F0ZWdvcmllcywgaW5jbHVkaW5nIDxiPkJlc3QgVGhlcmFwZXV0aWMgUHJvamVjdDwvYj4sIDxiPkJlc3QgSW50ZWdyYXRlZCBIdW1hbiBQcmFjdGljZXM8L2I+LCA8Yj5CaW9zYWZldHkgYW5kIFNlY3VyaXR5PC9iPiwgYW5kIDxiPkJlc3QgTmV3IEJhc2ljIFBhcnQ8L2I+LiBUaHJvdWdoIG91ciB3b3JrLCB3ZSBob3BlIHRvIGluc3BpcmUgZnV0dXJlIGlHRU0gdGVhbXMgdG8gcHVyc3VlIHNvbHV0aW9ucyB0aGF0IGFyZSBib3RoIHNjaWVudGlmaWNhbGx5IGV4Y2VsbGVudCBhbmQgc29jaWFsbHkgcmVzcG9uc2libGUuIDwvcD5cbiAgICAgICAgPC9TZWN0aW9uPlxuXG4gICAgICA8Lz5cbiAgICApO1xuICB9XG4gICIsICJpbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gSlVER0VIKCkge1xuXG4gICAgcmV0dXJuIChcbiAgICAgIFxuICAgICAgPEhlYWRlckJveCB0aXRsZT1cIkp1ZGdpbmdcIiBpZD1cImp1Z2hlYWRcIj5cbiAgICAgICAgXG4gICAgICA8L0hlYWRlckJveD5cbiAgICApO1xuICB9IiwgIlxuaW1wb3J0IHsgQmx1ZUluZm9Cb3gsIEJ1bGJCb3gsIEluZm9Cb3gsIE5vdGVCb3gsIFFhQm94LCBXYXJuQm94IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvQm94ZXNcIjtcbmltcG9ydCB7IEJGSE1vcmVCdXR0b24sIEJ1dHRvbk9uZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCBDb2xsYXBzaWJsZSBmcm9tIFwiLi4vY29tcG9uZW50cy9Db2xsYXBzaWJsZVwiO1xuaW1wb3J0IFBpZUNoYXJ0LCB7IEhvd09mdGVuVHJlYXRtZW50YXRpZW50cywgTW9yZUluZm9PblRoZXJhcHlCb3RoLCBPcGVuVG9HZW5lVGhlcmFweWF0aWVudHMgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9HcmFwaFwiO1xuaW1wb3J0IEgxLCB7IEgyLCBIMywgSGhpZ2hsaWdodCwgSGhvcHAsIEhzbW9rZSwgSHNwb2lsZXIsIEh3YXZlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvSGVhZGluZ3NcIjtcbmltcG9ydCB7IExvcmVtTWVkaXVtLCBMb3JlbVNob3J0IH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvTG9yZW1pcHN1bVwiO1xuaW1wb3J0IFNpbXBsZVNsaWRlciBmcm9tIFwiLi4vY29tcG9uZW50cy9TbGlkZXJcIjtcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBCYXIsIERvdWdobnV0LCBQb2xhckFyZWEgfSBmcm9tICdyZWFjdC1jaGFydGpzLTInO1xuaW1wb3J0IHsgQ2hhcnQgYXMgQ2hhcnRKUywgVG9vbHRpcCwgTGVnZW5kLCBCYXJFbGVtZW50LCBDYXRlZ29yeVNjYWxlLCBMaW5lYXJTY2FsZSwgVGl0bGUsIFJhZGlhbExpbmVhclNjYWxlIH0gZnJvbSAnY2hhcnQuanMnO1xuLyogaW1wb3J0IFByb3RlaW5WaWV3ZXIgZnJvbSAnLi4vY29tcG9uZW50cy9GYW56b3J2aWV3ZXIudHN4JzsgKi9cbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvbi50c3hcIjtcblxuXG5DaGFydEpTLnJlZ2lzdGVyKFxuICAgIENhdGVnb3J5U2NhbGUsXG4gICAgUmFkaWFsTGluZWFyU2NhbGUsXG4gICAgTGluZWFyU2NhbGUsXG4gICAgQmFyRWxlbWVudCxcbiAgICBUaXRsZSxcbiAgICBUb29sdGlwLFxuICAgIExlZ2VuZFxuICApO1xuICBcbmV4cG9ydCBmdW5jdGlvbiBFeGFtcGxlKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG5cbiAgICBcbnsvKiAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGgxPlByb3RlaW4gU3RydWN0dXJlIFZpZXdlcjwvaDE+XG4gICAgICAgICAgICA8UHJvdGVpblZpZXdlci8+XG4gICAgICAgICAgPC9kaXY+ICovfVxuICAgICAgIFxuICAgICAgPGgxPiBIZXJlIHlvdSBjYW4gc2VlIHdoYXQgd2UgY2FuIHVzZTwvaDE+XG4gICAgICA8aDI+Q29sbGFwaXNibGVzPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8ZGV0YWlscz5cbiAgICAgICAgICAgICAgICA8c3VtbWFyeT5FeHBhbmQgbWU8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgPExvcmVtTWVkaXVtPjwvTG9yZW1NZWRpdW0+XG4gICAgICAgICAgICA8L2RldGFpbHM+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPENvbGxhcHNpYmxlIHRpdGxlPVwiVGl0bGVcIiBpZD1cImNvbGxhcHNpYmxlXCI+IDxMb3JlbU1lZGl1bT48L0xvcmVtTWVkaXVtPjwvQ29sbGFwc2libGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8SG93T2Z0ZW5UcmVhdG1lbnRhdGllbnRzLz5cbiAgICAgICAgPE9wZW5Ub0dlbmVUaGVyYXB5YXRpZW50cy8+XG4gICAgICAgIDxNb3JlSW5mb09uVGhlcmFweUJvdGgvPlxuICAgICAgPC9kaXY+XG4gICAgPGgyPkJveGVzPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8SW5mb0JveCB0aXRsZT1cIkluZm9Cb3hcIiBpZD1cImJveGlkXCI+PExvcmVtU2hvcnQ+PC9Mb3JlbVNob3J0PjwvSW5mb0JveD5cbiAgICAgICAgICAgIDxCbHVlSW5mb0JveCB0aXRsZT1cIkJsdWVJbmZvQm94XCI+PExvcmVtU2hvcnQ+PC9Mb3JlbVNob3J0PjwvQmx1ZUluZm9Cb3g+XG4gICAgICAgICAgICA8Tm90ZUJveCB0aXRsZT1cIk5vdGVCb3hcIiBpZD1cIm5vdGVib3hcIj48TG9yZW1TaG9ydD48L0xvcmVtU2hvcnQ+PC9Ob3RlQm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxXYXJuQm94IHRpdGxlPVwiV2FybkJveFwiPjxMb3JlbVNob3J0PjwvTG9yZW1TaG9ydD48L1dhcm5Cb3g+XG4gICAgICAgICAgICA8QnVsYkJveCB0aXRsZT1cIkJ1bGJCb3hcIj48TG9yZW1TaG9ydD48L0xvcmVtU2hvcnQ+PC9CdWxiQm94PlxuICAgICAgICAgICAgPFFhQm94IFxuICAgICAgICAgICAgcT1cIkEgcXVlc3Rpb24gb3Igc2VudGVuY2UuXCIgXG4gICAgICAgICAgICBhPVwiQW4gYW5zd2VyIG9yIHNlbnRlbmNlXCIvPiBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxoMj5IZWFkaW5nczwvaDI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICA8SDEgdGV4dD1cIkgxXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgIDxIMiB0ZXh0PVwiSDJcIiBpZD1cInRleHRcIiAvPlxuICAgICAgICA8SDMgdGV4dD1cIkgzXCIgaWQ9XCJ0ZXh0XCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxIc21va2UgdGV4dD1cIkhzbW9rZVwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICA8SGhvcHAgdGV4dD1cIkhob3BwXCIgaWQ9XCJ0ZXh0XCIgLz4gXG4gICAgICAgIDxIaGlnaGxpZ2h0PiBIaWdobGlnaHQ8L0hoaWdobGlnaHQ+ICAgICAgICAgICAgICBcbiAgICAgICAgPEhzcG9pbGVyPiAgSHNwb2lsZXIgPC9Ic3BvaWxlcj5cbiAgICAgICAgPEh3YXZlIHRleHQ9XCJId2F2ZVwiIGlkPVwidGV4dFwiIC8+IFxuICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzTmFtZT1cInVuZGVybGluZS0tbWFnaWNhbFwiPlByZUN5c2U8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8aDI+QnV0dG9uczwvaDI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgICAgPEJ1dHRvbk9uZSB0ZXh0PVwiVGhlIFB1YmxpY1wiIG9wZW49XCJwdWJzXCIgb3BlbmNsYXNzPVwic3ViY3ljbGV0YWJcIj48L0J1dHRvbk9uZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxCRkhNb3JlQnV0dG9uIGl0PVwiaWQgb2YgcGFydCB0byBiZSBvcGVuZWRcIiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJ0YWJsaW5rcyBQYXRpZW50IGhwLW1vcmUtYnV0dG9uXCIgPiBTb21ldGhpbmcgPC9idXR0b24+XG4gXG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8aDI+R3JhcGhzPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8UGllQ2hhcnQ+PC9QaWVDaGFydD5cbiAgICAgICAgICAgIDxEb3VnaG51dENoYXJ0PjwvRG91Z2hudXRDaGFydD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8QmFyQ2hhcnRUd29TZXRzPjwvQmFyQ2hhcnRUd29TZXRzPlxuICAgICAgICAgICAgPEJhckNoYXJ0PjwvQmFyQ2hhcnQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgPEJhckNoYXJ0VmVydGljYWw+PC9CYXJDaGFydFZlcnRpY2FsPlxuICAgICAgICAgICAgPFBvbGFyQ2hhcnQ+PC9Qb2xhckNoYXJ0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGgyPkJveGVzPC9oMj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICBcbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPlxuICAgICAgICAgICAgIDxoMyBjbGFzc05hbWU9XCJleGFtcGxlXCI+RXhlcmNpc2VzPC9oMz5cbiAgICAgICAgICAgIDxpPjxoNj5CeSBZb3VyIG5hbWU8L2g2PjwvaT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1leGVyY2lzZVwiPlxuICAgICAgICAgICAgICAgIDxwPiBBbGwgY29tcG9uZW50cyBzaG91bGQgYmUgaW4gdGhpcyBmaWxlLiBUaGUgZXh0cmEgY3NzIGhhcyB0byBiZSBwdXQgaW50byBleGFwbWxlLmNzcy4gVHVybiB0byBMaWxpYW5hIGlmIHlvdSBuZWVkIG9yIHdhbnQgYSBzY3NzIGZpbGUsIHRvby48L3A+XG4gICAgICAgICAgICAgICAgPHA+VGhlIGNvZGUgeW91IGNyZWF0ZSBzaG91bGQgYmUgaW4gdGhlIHJlc3BlY3RpdmUgY29sdW1ucyB3aGVyZSB0aGUgYXNzaWdubWVudHMgYXJlLCBpZiBub3Qgc3RhdGVkIG90aGVyd2lzZS4gPC9wPlxuICAgICAgICAgICAgICAgIDxwPldyaXRlIGRvd24gaG93IHlvdSBkaWQgaXQgaW4gdGhlIGRvY3VtZW50YXRpb24tYm94IGFzIGEgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIG90aGVycy4gVXNlIHRoZSBEb2N1LUJvYyBjb21wb25lbnQgZm9yIHRoYXQuWW91IGhhdmUgdG8gYWRkIGl0IHRvIHlvdXIgYXhlcmNpc2UgYmxvY2sgbWFudWFsbHkuIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPERvY3VCb3g+XG4gICAgICAgICAgICAgICAgPHA+SSB3cm90ZSBhIHRleHQuPC9wPlxuICAgICAgICAgICAgPC9Eb2N1Qm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj48aDQ+TGlzdHM8L2g0PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj4gPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWVhc3ktdGFnXCI+RWFzeTwvZGl2PjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aT48aDY+QnkgPC9oNj48L2k+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZXhlcmNpc2VcIj5cbiAgICAgICAgICAgICAgICA8cD5hLiBDcmVhdGUgYSBudW1iZXJlZCBsaXN0IG9mIGZydWl0cy4gRml2ZSBpdGVtcyBhcmUgZW5vdWdoLiBVc2UgdGhlIEhUTUwgbGlzdCBlbGVtZW50LjwvcD4gXG4gICAgICAgICAgICAgICAgPHA+Yi4gQ3JlYXRlIGEgc2Vjb25kIGNvbHVtbiBuZXh0IHRvIHRoZSBvbmUgd2l0aCB0aGUgZnJ1aXQgbGlzdCB0aGF0IGNvbnRhaW5zIGEgYnV0dG9uLiA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoci8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PlBpY3R1cmU8L2g0PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZWFzeS10YWdcIj5FYXN5PC9kaXY+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpPjxoNj5CeSA8L2g2PjwvaT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1leGVyY2lzZVwiPlxuICAgICAgICAgICAgICAgIDxwPmEuIEluc2VydCBhIGNlbnRlcmVkIHBpY3R1cmUgb2YgU2luYW4gaGVyZS4gSXQgc2hvdWxkIGJlIGhhbGYgYXMgd2lkZSBhcyB0aGUgY29sdW1uIGFuZCBoYXZlIGEgZG90dGV0IGZyYW1lIGluIG91ciBwdXJwbGUuPC9wPlxuICAgICAgICAgICAgICAgIDxwPmIuIFdoZW4gaG92ZXJpbmcgb3ZlciB0aGUgcGljdHVyZSwgaXQgc2hvdWxkIHR1cm4gYmxhY2sgYW5kIHdoaXRlLiA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoci8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PlBpY3R1cmUgU2xpZGVyPC9oND48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+PGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWVhc3ktdGFnXCI+RWFzeTwvZGl2PjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aT48aDY+QnkgPC9oNj48L2k+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZXhlcmNpc2VcIj48L2Rpdj5cbiAgICAgICAgICAgIDxwPiBBZGQgYSBkdW1teSBzcG9uc29yIHRvIHRoaXMgc2xpZGVyLjwvcD5cbiAgICAgICAgICAgIDxTaW1wbGVTbGlkZXI+XG4gICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJzcG9uc29yLWNvbnRhaW5lclwiIGhyZWY9XCJodHRwczovL2J0cy1ldi5kZS9cIj5cbiAgICAgICAgICAgICAgPGltZyBjbGFzc05hbWU9XCJpbWctc3BvbnNvclwiIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2J0cy5wbmdcIi8+XG4gICAgICAgICAgICA8L2E+IFxuICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwic3BvbnNvci1jb250YWluZXJcIiBocmVmPVwiaHR0cHM6Ly93d3cudW5pLWJpZWxlZmVsZC5kZS9mYWt1bHRhZXRlbi90ZWNobmlzY2hlLWZha3VsdGFldC9hcmJlaXRzZ3J1cHBlbi9tdWx0aXNjYWxlLWJpb2VuZ2luZWVyaW5nL2NhbXB1c2JyYXVlcmVpL1wiPlxuICAgICAgICAgICAgICA8aW1nIGNsYXNzTmFtZT1cImltZy1zcG9uc29yXCIgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvc3BvbnNvcnMvY2FtcHVzLWJyYXVlcmVpLWhpbnRlcmxlZ3QuanBlZ1wiLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cInd3dy5pZHRkbmEuY29tXCI+XG4gICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3JcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9pZHQtbG9nby5wbmdcIj48L2ltZz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxhIGNsYXNzTmFtZT1cInNwb25zb3ItY29udGFpbmVyXCIgaHJlZj1cImh0dHBzOi8vd3d3LmNlYml0ZWMudW5pLWJpZWxlZmVsZC5kZS9cIj5cbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3NOYW1lPVwiaW1nLXNwb25zb3JcIiBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy9jZWJpdGVjLWZhcmJlLnBuZ1wiLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L1NpbXBsZVNsaWRlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxoci8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PkV4ZXJjaXNlIGJveDwvaDQ+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMVwiPjxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1tZWRpdW0tdGFnXCI+TWVkaXVtPC9kaXY+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxpPjxoNj5CeSA8L2g2PjwvaT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1leGVyY2lzZVwiPlxuICAgICAgICAgICAgICAgIDxwPkNyZWF0ZSBhIGJveCB0aGF0IGRpZmZlcnMgaW4gbG9va3MgZnJvbSB0aGUgcmVzdCBvZiB0aGUgc2l0ZSBhbmQgZW1waGF6aXNlcyBpdCBjb250YWlucyBhbiBhc3NpZ25tZW50LiA8L3A+XG4gICAgICAgICAgICAgICAgPHA+QXJjaGlldmUgdGhpcyBlZmZlY3QgYnkgdXNpbmcgYmFja2dyb3VuZCwgc2hhZG93LCBib3JkZXIgYW5kL29yIG90aGVyIGNzcyBlZmZlY3RzIG9uIHRoZSBjbGFzcyBcImV4YW1wbGUtZXhlcmNpc2VcIi4gVGhlIGJveCBzaG91bGQgYmUgYWVzdGV0aWNhbGx5IHBsZWFzaW5nIHVubGlrZSB0aGUgZG9jdW1lbnRhdGlvbiBib3guIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj48aDQ+UERGPC9oND48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xXCI+PGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLW1lZGl1bS10YWdcIj5NZWRpdW08L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+PC9kaXY+XG4gICAgICAgICAgICA8cD5hLiBJbnNlcnQgYSBwZGYgdXNpbmcgb3VyIFBERiBjb21wb25lbnQuPC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PiBTbWFydHBob25lIGNvbXBhdGliaWxpdHk8L2g0PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTEgXCI+PGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLW1lZGl1bS10YWdcIj5NZWRpdW08L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8cD4gQ3JlYXRlIGEgc2ltcGxlIGJveCB0aGF0IGhhcyBhIGRpZmZlcmVudCBiYWNrZ3JvdW5kIGNvbG9yIHdoZW4gdGhlIHdlYnNpdGUgaXMgdXNlZCBvbiBhIHNtYXJ0cGhvbmUgKHNjcmVlbiB3aWR0aCA3NjhweCBvciBzbWFsbGVyKS4gIDwvcD5cbiAgICAgICAgICAgIDxwPiBVc2UgQG1lZGlhIHJ1bGVzIGZvciB0aGF0LjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sIGV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjxoND5Db2xsYXBzaWJsZTwvaDQ+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMSBcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtbWVkaXVtLXRhZ1wiPk1lZGl1bTwvZGl2PjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aT48aDY+QnkgPC9oNj48L2k+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxwPiBhLiBVc2Ugb3VyIENvbGxhcHNpYmxlIGNvbXBvbmVudCB0byBjcmVhdGUgYSBjb2xsYXBzaWJsZS48L3A+XG4gICAgICAgICAgICA8cD4gYi4gVGhlIGNvbGxhcHNpYmxlIHNob3VsZCBjb250YWluIHRocmVlIGNpcmNsZXMgd2l0aCBhIGZldyB3b3JkcyBpbiBhIHJvdyAob3VyIENpcmNsZSBjb21wb25lbnQpIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz4gXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPjxoND5IZWFkZXI8L2g0PjwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sLTFcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtYWR2YW5jZWQtdGFnXCI+QWR2YW5jZWQ8L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8cD5hLiBDcmVhdGUgYSBoZWFkZXIgZmlsZSBmb3IgdGhpcyBwYWdlLiBJdCBoYXMgdG8gYmUgdmlzaWJsZSBhbmQgdGhlcmVmb3JlIGJlIGFkZGVkIHRvIHBhZ2VzLnRzPC9wPlxuICAgICAgICAgICAgPHA+Yi4gQWRkIHRoaXMgcGFnZSB0byB0aGUgbmF2YmFyIHVuZGVyIFwiQ29udHJ1YnV0aW9uXCIuIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PkNoYXJ0IHdpdGggVmljdG9yeTwvaDQ+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMSBcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtYWR2YW5jZWQtdGFnXCI+QWR2YW5jZWQ8L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8cD5DcmVhdGUgYSBzaW1wbGUgYmFyIENoYXJ0IHdpdGggUmVhY3QtQ2hhcnRzLCB1c2luZyB0aGVpciA8YSBocmVmPVwiaHR0cHM6Ly9tdWkuY29tL3gvcmVhY3QtY2hhcnRzL1wiPiBkb2N1bWVudGF0aW9uPC9hPiAgYW5kIGR1bW15IGRhdGEgb2YgeW91ciBjaG9pY2UuIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGhyLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wgZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29sXCI+PGg0PiBTaW1wbGUgUmVhY3QgQ29tcG9uZW50PC9oND48L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0xIFwiPjxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1hZHZhbmNlZC10YWdcIj5BZHZhbmNlZDwvZGl2PjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aT48aDY+QnkgPC9oNj48L2k+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZXhlcmNpc2VcIj5cbiAgICAgICAgICAgIDxwPiBDcmVhdGUgYSByZWFjdCBjb21wb25lbnQgdGhhdCB0YWtlcyBIVE1MLCBhIGxpbmsgdG8gYSBwaWN0dXJlLCBhIG51bWJlciBhbmQgYSB3b3JkIGFzIGlucHV0IGFuZCByZXR1cm4gdGhlIGNvZGUgaW4gYSBib3ggd2l0aCB0aGUgd29yZCBhcyBhIGhlYWRlci4gVGhlIHBpY3R1cmUgYW5kIG90aGVyIGNvZGUgc2hvdWxkIGJlIGluIHR3byBjb2x1bW5zIG5leHQgdG8gZWFjaCBvdGhlciwgdW5kZXIgdGhlIGhlYWRlci4gVGhlIG51bWJlciBzaG91bGQgYmUgbXVsdGlwbGllZCBieSAyIGFuZCB0aGVuIHNob3duIHNvbWV3aGVyZSB3aXRoIHRoZSBvdGhlciBwYXJ0cy48L3A+XG4gICAgICAgICAgICA8cD4gU2VlIERvY3VCb3ggY29tcG9uZW50LiAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aHIvPiAgXG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbCBleGVyY2lzZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj48aDQ+IDwvaDQ+PC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMSBcIj48ZGl2IGNsYXNzTmFtZT1cImV4YW1wbGUtZWFzeS10YWdcIj48L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGk+PGg2PkJ5IDwvaDY+PC9pPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJleGFtcGxlLWV4ZXJjaXNlXCI+XG4gICAgICAgICAgICA8cD4gPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8aHIvPiBcblxuICAgICAgICBcblxuXG4gICAgICA8Lz5cbiAgICApO1xuICB9XG5cblxuICBleHBvcnQgZnVuY3Rpb24gRG9jdUJveCh7Y2hpbGRyZW59OiB7Y2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0pe1xuICAgIHJldHVybihcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZXhhbXBsZS1kb2N1XCI+XG4gICAgICAgICAgICA8aDU+RG9jdW1lbnRhdGlvbjogPC9oNT5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC8+XG4gICAgKVxuICB9XG4gIFxuXG4gIGNvbnN0IEJhckNoYXJ0VHdvU2V0czogUmVhY3QuRkMgPSAoKSA9PiB7XG4gICAgY29uc3QgbGFiZWxzID0gWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknXTtcblxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIGxhYmVscyxcbiAgICAgICAgZGF0YXNldHM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ0RhdGFzZXQgMScsXG4gICAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAgICAgMC4wMDQ4NTgwMDAwMDAwMDAwMDEsXG4gICAgICAgICAgICAgICAgMC4wMDA4ODU5OTk5OTk5OTk5OTk3LFxuICAgICAgICAgICAgICAgIDAuNzI2NDE3OTk5OTk5OTk3MixcbiAgICAgICAgICAgICAgICAwLjIzODQxNTk5OTk5OTk5OTUsXG4gICAgICAgICAgICAgICAgMC4wMDM3MDMsXG4gICAgICAgICAgICAgICAgMC4yMzg0MTU5OTk5OTk5OTk1LFxuICAgICAgICAgICAgICAgIDAuMDAzNzAzXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDI1NSwgOTksIDEzMiwgMC41KScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ0RhdGFzZXQgMicsXG4gICAgICAgICAgICBkYXRhOiBbXG4gICAgICAgICAgICAgICAgMC4wMDQ4NTgwMDAwMDAwMDAwMDEsXG4gICAgICAgICAgICAgICAgMC4wMDA4ODU5OTk5OTk5OTk5OTk3LFxuICAgICAgICAgICAgICAgIDAuNzI2NDE3OTk5OTk5OTk3MixcbiAgICAgICAgICAgICAgICAwLjIzODQxNTk5OTk5OTk5OTUsXG4gICAgICAgICAgICAgICAgMC4wMDM3MDMsXG4gICAgICAgICAgICAgICAgMC4yMzg0MTU5OTk5OTk5OTk1LFxuICAgICAgICAgICAgICAgIDAuMDAzNzAzXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDUzLCAxNjIsIDIzNSwgMC41KScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSxcbiAgICAgICAgcGx1Z2luczoge1xuICAgICAgICAgIGxlZ2VuZDoge1xuICAgICAgICAgICAgcG9zaXRpb246ICd0b3AnIGFzIGNvbnN0LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGl0bGU6IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsXG4gICAgICAgICAgICB0ZXh0OiAnQmFyQ2hhcnRUd29TZXRzJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFyLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgQmFyQ2hhcnQ6IFJlYWN0LkZDID0gKCkgPT4ge1xuICAgIGNvbnN0IGxhYmVscyA9IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsICdKdWx5J107XG5cbiAgICBjb25zdCBkYXRhID0ge1xuICAgICAgICBsYWJlbHMsXG4gICAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdEYXRhc2V0IDEnLFxuICAgICAgICAgICAgZGF0YTogW1xuICAgICAgICAgICAgICAgIDAuMDA0ODU4MDAwMDAwMDAwMDAxLFxuICAgICAgICAgICAgICAgIDAuMDAwODg1OTk5OTk5OTk5OTk5NyxcbiAgICAgICAgICAgICAgICAwLjcyNjQxNzk5OTk5OTk5NzIsXG4gICAgICAgICAgICAgICAgMC4yMzg0MTU5OTk5OTk5OTk1LFxuICAgICAgICAgICAgICAgIDAuMDAzNzAzLFxuICAgICAgICAgICAgICAgIDAuMjM4NDE1OTk5OTk5OTk5NSxcbiAgICAgICAgICAgICAgICAwLjAwMzcwM1xuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyNTUsIDk5LCAxMzIsIDAuNSknLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICAgIHBsdWdpbnM6IHtcbiAgICAgICAgICBsZWdlbmQ6IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiAndG9wJyBhcyBjb25zdCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRpdGxlOiB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0cnVlLFxuICAgICAgICAgICAgdGV4dDogJ0JhckNoYXJ0T25lU2V0JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYmFyLWNoYXJ0LWNvbnRhaW5lclwiPlxuICAgICAgICA8QmFyIG9wdGlvbnM9e29wdGlvbnN9IGRhdGE9e2RhdGF9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgQmFyQ2hhcnRWZXJ0aWNhbDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gICAgY29uc3QgbGFiZWxzID0gWydKYW51YXJ5JywgJ0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywgJ0p1bHknXTtcblxuICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgIGxhYmVscyxcbiAgICAgICAgZGF0YXNldHM6IFt7XG4gICAgICAgICAgICBheGlzOiAneScsXG4gICAgICAgICAgICBsYWJlbDogJ015IEZpcnN0IERhdGFzZXQnLFxuICAgICAgICAgICAgZGF0YTogWzY1LCA1OSwgODAsIDgxLCA1NiwgNTUsIDQwXSxcbiAgICAgICAgICAgIGZpbGw6IGZhbHNlLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBbXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgMTU5LCA2NCwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgMjA1LCA4NiwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDU0LCAxNjIsIDIzNSwgMC4yKScsXG4gICAgICAgICAgICAgICdyZ2JhKDE1MywgMTAyLCAyNTUsIDAuMiknLFxuICAgICAgICAgICAgICAncmdiYSgyMDEsIDIwMywgMjA3LCAwLjIpJ1xuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJvcmRlckNvbG9yOiBbXG4gICAgICAgICAgICAgICAgJ3JnYigyNTUsIDk5LCAxMzIpJyxcbiAgICAgICAgICAgICAgICAncmdiKDI1NSwgMTU5LCA2NCknLFxuICAgICAgICAgICAgICAgICdyZ2IoMjU1LCAyMDUsIDg2KScsXG4gICAgICAgICAgICAgICAgJ3JnYig3NSwgMTkyLCAxOTIpJyxcbiAgICAgICAgICAgICAgICAncmdiKDU0LCAxNjIsIDIzNSknLFxuICAgICAgICAgICAgICAgICdyZ2IoMTUzLCAxMDIsIDI1NSknLFxuICAgICAgICAgICAgICAgICdyZ2IoMjAxLCAyMDMsIDIwNyknXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxXG4gICAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgIGluZGV4QXhpczogJ3knIGFzIGNvbnN0LFxuICAgICAgICByZXNwb25zaXZlOiB0cnVlLFxuICAgICAgICBwbHVnaW5zOiB7XG4gICAgICAgICAgbGVnZW5kOiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogJ3RvcCcgYXMgY29uc3QsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aXRsZToge1xuICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSxcbiAgICAgICAgICAgIHRleHQ6ICdWZXJ0aWNhbCBCYXIgQ2hhcnQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICBcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICAgIDxCYXIgb3B0aW9ucz17b3B0aW9uc30gZGF0YT17ZGF0YX0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuXG4gIGNvbnN0IERvdWdobnV0Q2hhcnQ6IFJlYWN0LkZDID0gKCkgPT4ge1xuXG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgbGFiZWxzOiBbJ1JlZCcsICdCbHVlJywgJ1llbGxvdycsICdHcmVlbicsICdQdXJwbGUnLCAnT3JhbmdlJ10sXG4gIGRhdGFzZXRzOiBbXG4gICAge1xuICAgICAgbGFiZWw6ICcjIG9mIFZvdGVzJyxcbiAgICAgIGRhdGE6IFsxMiwgMTksIDMsIDUsIDIsIDNdLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBbXG4gICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMC4yKScsXG4gICAgICAgICdyZ2JhKDU0LCAxNjIsIDIzNSwgMC4yKScsXG4gICAgICAgICdyZ2JhKDI1NSwgMjA2LCA4NiwgMC4yKScsXG4gICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMC4yKScsXG4gICAgICAgICdyZ2JhKDE1MywgMTAyLCAyNTUsIDAuMiknLFxuICAgICAgICAncmdiYSgyNTUsIDE1OSwgNjQsIDAuMiknLFxuICAgICAgXSxcbiAgICAgIGJvcmRlckNvbG9yOiBbXG4gICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMSknLFxuICAgICAgICAncmdiYSg1NCwgMTYyLCAyMzUsIDEpJyxcbiAgICAgICAgJ3JnYmEoMjU1LCAyMDYsIDg2LCAxKScsXG4gICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMSknLFxuICAgICAgICAncmdiYSgxNTMsIDEwMiwgMjU1LCAxKScsXG4gICAgICAgICdyZ2JhKDI1NSwgMTU5LCA2NCwgMSknLFxuICAgICAgXSxcbiAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgIH0sXG4gIF0sXG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJiYXItY2hhcnQtY29udGFpbmVyXCI+XG4gICAgICAgIDxEb3VnaG51dCBkYXRhPXtkYXRhfSAvPlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG5cbiAgY29uc3QgUG9sYXJDaGFydDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgbGFiZWxzOiBbJ1JlZCcsICdCbHVlJywgJ1llbGxvdycsICdHcmVlbicsICdQdXJwbGUnLCAnT3JhbmdlJ10sXG4gICAgICAgIGRhdGFzZXRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICcjIG9mIFZvdGVzJyxcbiAgICAgICAgICAgIGRhdGE6IFsxMiwgMTksIDMsIDUsIDIsIDNdLFxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBbXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgOTksIDEzMiwgMC41KScsXG4gICAgICAgICAgICAgICdyZ2JhKDU0LCAxNjIsIDIzNSwgMC41KScsXG4gICAgICAgICAgICAgICdyZ2JhKDI1NSwgMjA2LCA4NiwgMC41KScsXG4gICAgICAgICAgICAgICdyZ2JhKDc1LCAxOTIsIDE5MiwgMC41KScsXG4gICAgICAgICAgICAgICdyZ2JhKDE1MywgMTAyLCAyNTUsIDAuNSknLFxuICAgICAgICAgICAgICAncmdiYSgyNTUsIDE1OSwgNjQsIDAuNSknLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuXG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJhci1jaGFydC1jb250YWluZXJcIj5cbiAgICAgICAgICA8UG9sYXJBcmVhIGRhdGE9e2RhdGF9IC8+O1xuICAgICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9OyIsICJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7ICBOZXdIaWdobGlnaHQgfSBmcm9tIFwiLi4vdXRpbHMvSGlnaGxpZ2h0LWZ1bmN0aW9uc1wiO1xuaW1wb3J0IHsgb3BlblRoZW0gfSBmcm9tIFwiLi4vdXRpbHMvb3BlblRoZW1cIjtcbmltcG9ydCB7IEJhY2tVcCB9IGZyb20gXCIuLi9jb21wb25lbnRzL0J1dHRvbnNcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gRW5nU2lkZSgpe1xuICAgIGxldCBudW1zID0gW1wicmVwMVwiLCBcInJlcDJcIiwgXCJyZXAzXCIsIFwicmVwNFwiLCBcInJlcDVcIiwgXCJyZXA2XCIsIFwidHJmMVwiLCBcInRyZjJcIiwgXCJ0cmYzXCIsIFwidHJmNFwiLCBcInBlMVwiLCBcInBlMlwiLCBcInBlM1wiLCBcInBlZzFcIiwgXCJwZWcyXCIsIFwicGVnM1wiLCBcInBlZzRcIiwgXCJwZWc1XCIsXG4gICAgICAgICBcIm5pYzFcIiwgXCJuaWMyXCIsIFwibmljM1wiLCBcIm5pYzRcIiwgXCJuaWM1XCIsIFwibmljNlwiLFwiZGVsMVwiLCBcImRlbDJcIiwgXCJkZWwzXCIsIFwiZGVsNFwiLCBcImRlbDVcIl1cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpO1xuICAgICAgfSwgW10pO1xuICAgICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgICAgIGZvcihsZXQgaWR4IGluIG51bXMpe1xuICAgICAgICAgICAgLyogY29uc29sZS5sb2coXCJXZSBhcmUgbG9va2luZyBhdCAnaXRlbScgPSBcIiArIG51bXNbaWR4XSkgKi9cbiAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IG51bXNbaWR4XTtcbiAgICAgICAgICAgICAgbGV0IGluZCA9IG51bXMuZmluZEluZGV4KChlKSA9PiBlID09IGl0ZW0pXG4gICAgICAgICAgICAgIC8qIGNvbnNvbGUubG9nKFwiaW5kIGlzOiBcIiArIGluZCkgKi9cbiAgICAgICAgICAgICAgbGV0IHN1YmRpID0gXCJzdWJ0aXRsZVwiICsgaW5kIFxuICAgICAgICAgICAgIC8qICBjb25zb2xlLmxvZyhcInN1YmRpIGlzOiBcIiArIHN1YmRpKVxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIndlIHVzZSBcIiArICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKT8uaWQgKyBcIiBhbmQgXCIgKyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzdWJkaSk/LmlkKSAqL1xuICAgICAgICAgICAgICBOZXdIaWdobGlnaHQoe2VsOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpdGVtKSF9LCB7c3VidGl0bGU6IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHN1YmRpKSF9KTtcbiAgICAgICAgICB9ICAgICAgIFxuICAgICAgICAgIGNvbnNvbGUubG9nKFwiZnVuY3Rpb24gSGlnaGxpZ2h0Q2hlY2tcIilcbiAgICAgIH1cbiAgICAgIGNvbnNvbGUubG9nKG51bXMpXG4gICAgXG4gICAgICBjb25zdCB7Z29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsfSA9IHVzZU5hdmlnYXRpb24oKTsgXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yIGQtbGctYmxvY2tcIiA+XG4gICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGlja3ktdG9wXCI+XG4gICAgICAgICAgICA8bmF2IGNsYXNzTmFtZT1cInNpZGViYXJcIiBpZD1cImVuZy1zaWRlYmFyXCI+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogXCJvdXItY3ljbGVcIiwgc2Nyb2xsVG9JZDogXCJvdXItY3ljbGUtaGVhZGVyXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPiBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LW91ci1jeWNsZVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtIGFjdGl2ZS1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5PdXIgQ3ljbGVzPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cIm91ci1jeWNsZVwiIGNsYXNzTmFtZT1cInNpZGVzdWJ0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwiYmxvY2tcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogXCJyZXBvcnRlclwiLCBzY3JvbGxUb0lkOiBcInJlcG9ydGVyLWhlYWRlclwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LXJlcG9ydGVyXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+UmVwb3J0ZXIgU3lzdGVtPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInJlcG9ydGVyXCIgY2xhc3NOYW1lPVwic2lkZXN1YnRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXJlcG9ydGVyXCIsIHNjcm9sbFRvSWQ6IFwicmVwMWhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUwXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXJlcG9ydGVyXCIsIHNjcm9sbFRvSWQ6IFwicmVwMmhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUxXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXJlcG9ydGVyXCIsIHNjcm9sbFRvSWQ6IFwicmVwM2hlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUyXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXJlcG9ydGVyXCIsIHNjcm9sbFRvSWQ6IFwicmVwNGhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUzXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXJlcG9ydGVyXCIsIHNjcm9sbFRvSWQ6IFwicmVwNWhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGU0XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXJlcG9ydGVyXCIsIHNjcm9sbFRvSWQ6IFwicmVwNmhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGU1XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+T3V0bG9vazwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPiBcbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlblRoZW0oe2l0OiBcInRyYW5zZmVjdGlvblwiLCBzY3JvbGxUb0lkOiBcInRyYW5zZmVjdGlvbi1oZWFkZXJcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC10cmFuc2ZlY3Rpb25cIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5UcmFuc2ZlY3Rpb248L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwidHJhbnNmZWN0aW9uXCIgY2xhc3NOYW1lPVwic2lkZXN1YnRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXRyYW5zZmVjdGlvblwiLCBzY3JvbGxUb0lkOiBcInRyZjFoZWFkXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInN1YnRpdGxlNlwiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPkl0ZXJhdGlvbiAxPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcInRhYi10cmFuc2ZlY3Rpb25cIiwgc2Nyb2xsVG9JZDogXCJ0cmYyaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTdcIiBjbGFzc05hbWU9J3NpZGVpdGVtJz5JdGVyYXRpb24gMjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJ0YWItdHJhbnNmZWN0aW9uXCIsIHNjcm9sbFRvSWQ6IFwidHJmM2hlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGU4XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXRyYW5zZmVjdGlvblwiLCBzY3JvbGxUb0lkOiBcInRyZjRoZWFkXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInN1YnRpdGxlOVwiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPkl0ZXJhdGlvbiA0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+IFxuICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlblRoZW0oe2l0OiBcInBlLXN5c3RlbXNcIiwgc2Nyb2xsVG9JZDogXCJwZS1zeXN0ZW1zLWhlYWRlclwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LXBlLXN5c3RlbXNcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5QRSBTeXN0ZW1zPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInBlLXN5c3RlbXNcIiBjbGFzc05hbWU9XCJzaWRlc3VidGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJ0YWItcGUtc3lzdGVtc1wiLCBzY3JvbGxUb0lkOiBcInBlMWhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUxMFwiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPkl0ZXJhdGlvbiAxPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcInRhYi1wZS1zeXN0ZW1zXCIsIHNjcm9sbFRvSWQ6IFwicGUyaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTExXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXBlLXN5c3RlbXNcIiwgc2Nyb2xsVG9JZDogXCJwZTNoZWFkXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInN1YnRpdGxlMTJcIiBjbGFzc05hbWU9J3NpZGVpdGVtJz5PdXRsb29rPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuVGhlbSh7aXQ6IFwicGVncm5hXCIsIHNjcm9sbFRvSWQ6IFwicGVncm5hLWhlYWRlclwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LXBlZ3JuYVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5PnBlZ1JOQTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJwZWdybmFcIiBjbGFzc05hbWU9XCJzaWRlc3VidGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJ0YWItcGVncm5hXCIsIHNjcm9sbFRvSWQ6IFwicGVnMWhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUxM1wiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPkl0ZXJhdGlvbiAxPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcInRhYi1wZWdybmFcIiwgc2Nyb2xsVG9JZDogXCJwZWcyaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTE0XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLXBlZ3JuYVwiLCBzY3JvbGxUb0lkOiBcInBlZzNoZWFkXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInN1YnRpdGxlMTVcIiBjbGFzc05hbWU9J3NpZGVpdGVtJz5JdGVyYXRpb24gMzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJ0YWItcGVncm5hXCIsIHNjcm9sbFRvSWQ6IFwicGVnNGhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUxNlwiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPkl0ZXJhdGlvbiA0PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcInRhYi1wZWdybmFcIiwgc2Nyb2xsVG9JZDogXCJwZWc1aGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTE3XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogXCJuaWNrYXNlXCIsIHNjcm9sbFRvSWQ6IFwibmlja2FzZS1oZWFkZXJcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1uaWNrYXNlXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+Tmlja2FzZTwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJuaWNrYXNlXCIgY2xhc3NOYW1lPVwic2lkZXN1YnRhYlwiIHN0eWxlPXt7ZGlzcGxheTogXCJub25lXCJ9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLW5pY2thc2VcIiwgc2Nyb2xsVG9JZDogXCJuaWMxaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTE4XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLW5pY2thc2VcIiwgc2Nyb2xsVG9JZDogXCJuaWMyaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTE5XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDI8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLW5pY2thc2VcIiwgc2Nyb2xsVG9JZDogXCJuaWMzaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTIwXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDM8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLW5pY2thc2VcIiwgc2Nyb2xsVG9JZDogXCJuaWM0aGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTIxXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLW5pY2thc2VcIiwgc2Nyb2xsVG9JZDogXCJuaWM1aGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTIyXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDU8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLW5pY2thc2VcIiwgc2Nyb2xsVG9JZDogXCJuaWM2aGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTIzXCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDY8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogXCJkZWxpdmVyeVwiLCBzY3JvbGxUb0lkOiBcImRlbGl2ZXJ5LWhlYWRlclwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LWRlbGl2ZXJ5XCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+RGVsaXZlcnk8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwiZGVsaXZlcnlcIiBjbGFzc05hbWU9XCJzaWRlc3VidGFiXCIgc3R5bGU9e3tkaXNwbGF5OiBcIm5vbmVcIn19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJ0YWItZGVsaXZlcnlcIiwgc2Nyb2xsVG9JZDogXCJkZWwxaGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTI0XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDE8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLWRlbGl2ZXJ5XCIsIHNjcm9sbFRvSWQ6IFwiZGVsMmhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUyNVwiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPkl0ZXJhdGlvbiAyPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT48L2xpPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBvbkNsaWNrPXsoKSA9PiBnb1RvUGFnZVdpdGhUYWJBbmRTY3JvbGwoe3BhdGg6IFwiXCIsIHRhYklkOiBcInRhYi1kZWxpdmVyeVwiLCBzY3JvbGxUb0lkOiBcImRlbDNoZWFkXCJ9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInN1YnRpdGxlMjZcIiBjbGFzc05hbWU9J3NpZGVpdGVtJz5JdGVyYXRpb24gMzwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+PC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VXaXRoVGFiQW5kU2Nyb2xsKHtwYXRoOiBcIlwiLCB0YWJJZDogXCJ0YWItZGVsaXZlcnlcIiwgc2Nyb2xsVG9JZDogXCJkZWw0aGVhZFwifSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJzdWJ0aXRsZTI3XCIgY2xhc3NOYW1lPSdzaWRlaXRlbSc+SXRlcmF0aW9uIDQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIG9uQ2xpY2s9eygpID0+IGdvVG9QYWdlV2l0aFRhYkFuZFNjcm9sbCh7cGF0aDogXCJcIiwgdGFiSWQ6IFwidGFiLWRlbGl2ZXJ5XCIsIHNjcm9sbFRvSWQ6IFwiZGVsNWhlYWRcIn0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwic3VidGl0bGUyOFwiIGNsYXNzTmFtZT0nc2lkZWl0ZW0nPk91dGxvb2s8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hPjwvbGk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmF2PiAgIFxuICAgICAgICAgICAgPEJhY2tVcD48L0JhY2tVcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgKVxufVxuXG5cblxuXG5cbi8qIGZ1bmN0aW9uIFNpZGVJdGVtRW5nKHtoZXNoLCBudW19OntoZXNoOiBzdHJpbmc7IG51bTogbnVtYmVyfSl7XG4gICAgbGV0IHN1YmRpID0gXCJzdWJ0aXRsZVwiICsgbnVtXG4gICAgbGV0IG9wZW5tb3JlID0gc3RyaW5nVG9TbHVnKGhlc2gpIFxuICAgIGNvbnNvbGUubG9nKFwib3Blbm1vcmU6IFwiICsgb3Blbm1vcmUpXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5UaGVtKHtpdDogb3Blbm1vcmV9KX0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGlkPXtzdWJkaX0gY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+e2hlc2h9PC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD17b3Blbm1vcmV9IGNsYXNzTmFtZT1cInNpZGVzdWJ0YWJcIiBzdHlsZT17e2Rpc3BsYXk6IFwibm9uZVwifX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPk90aGVyPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PiAgIFxuICAgIClcbn1cbiAqL1xuXG5cbiIsICJpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEhpZ2hsaWdodCB9IGZyb20gXCIuLi91dGlscy9IaWdobGlnaHQtZnVuY3Rpb25zXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBJbnRTaWRlYmFyKCl7XG4gICAgbGV0IG51bXMgPSBbIFwibWF4SFwiLCBcIm9sYXJpdUhcIiwgXCJqb3NodWFIXCIsIFwianVsaWFIXCIsIFwibmljb2xlSFwiLCBcIm1hdHRpanNIXCIsIFwid2VzdGhvZmZIXCIsIFwiYmVyZW5zSFwiLCBcIndpc2NobWV5ZXJIXCJdXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gICAgICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKTtcbiAgICAgIH0sIFtdKTtcbiAgICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgICAgICBmb3IobGV0IGlkeCBpbiBudW1zKXtcbiAgICAgICAgICAgIC8qIGNvbnNvbGUubG9nKFwiV2UgYXJlIGxvb2tpbmcgYXQgJ2l0ZW0nID0gXCIgKyBudW1zW2lkeF0pICovXG4gICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBudW1zW2lkeF07XG4gICAgICAgICAgICAgIGxldCBpbmQgPSBudW1zLmZpbmRJbmRleCgoZSkgPT4gZSA9PSBpdGVtKVxuICAgICAgICAgICAgIC8qICBjb25zb2xlLmxvZyhcImluZCBpczogXCIgKyBpbmQpICovXG4gICAgICAgICAgICAgIGxldCBzdWJkaSA9IFwic3VidGl0bGVcIiArIGluZCBcbiAgICAgICAgICAgICAgLyogY29uc29sZS5sb2coXCJzdWJkaSBpczogXCIgKyBzdWJkaSlcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJ3ZSB1c2UgXCIgKyAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbSk/LmlkICsgXCIgYW5kIFwiICsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc3ViZGkpPy5pZCkgKi9cbiAgICAgICAgICAgICAgSGlnaGxpZ2h0KHtlbDogZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaXRlbSkhfSwge3N1YnRpdGxlOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzdWJkaSkhfSk7XG4gICAgICAgICAgfSAgICAgICBcbiAgICAgICAgICAvKiAgICAgKi9cbiAgICAgIH1cbiAgICAgIC8qIGNvbnNvbGUubG9nKG51bXMpICovXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yIGQtbm9uZSBkLWxnLWJsb2NrXCI+XG4gICAgICAgICAgICA8YnIvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdGlja3ktdG9wXCI+XG4gICAgICAgICAgICA8bmF2IGNsYXNzTmFtZT1cInNpZGViYXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZFNjcm9sbCh7IGl0OiBcInRhYi1tYXhcIiwgc2Nyb2xsVGFyZ2V0OiBcIm1heFwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZTBcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LW1heFwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5Pk1heDwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5BbmRTY3JvbGwoeyBpdDogXCJ0YWItb2xhcml1XCIsIHNjcm9sbFRhcmdldDogXCJvbGFyaXVcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGUxXCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1vbGFyaXVcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5PbGFyaXU8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQW5kU2Nyb2xsKHsgaXQ6IFwidGFiLWpvc2h1YVwiLCBzY3JvbGxUYXJnZXQ6IFwiam9zaHVhXCIgfSl9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInN1YnRpdGxlMlwiIGNsYXNzTmFtZT1cImRldGFpbC1zaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJwYXJlbnQtam9zaHVhXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+Sm9zaHVhPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZFNjcm9sbCh7IGl0OiBcInRhYi1qdWxpYVwiLCBzY3JvbGxUYXJnZXQ6IFwianVsaWFcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGUzXCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1qdWxpYVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5Pkp1bGlhPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZFNjcm9sbCh7IGl0OiBcInRhYi1uaWNvbGVcIiwgc2Nyb2xsVGFyZ2V0OiBcIm5pY29sZVwiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZTRcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LW5pY29sZVwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5ID4gTmljb2xlIDwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5BbmRTY3JvbGwoeyBpdDogXCJ0YWItbWF0dGlqc1wiLCBzY3JvbGxUYXJnZXQ6IFwibWF0dGlqc1wiIH0pfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJzdWJ0aXRsZTVcIiBjbGFzc05hbWU9XCJkZXRhaWwtc2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwicGFyZW50LW1hdHRpanNcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5tYXR0aWpzPC9zdW1tYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PiBcbiAgICAgICAgICAgICAgICAgICAgPGEgb25DbGljaz17b3BlbkFuZFNjcm9sbCh7IGl0OiBcInRhYi13ZXN0aG9mZlwiLCBzY3JvbGxUYXJnZXQ6IFwid2VzdGhvZmZcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGU2XCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC13ZXN0aG9mZlwiIGNsYXNzTmFtZT1cInNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdW1tYXJ5PkthdHJpbjwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5BbmRTY3JvbGwoeyBpdDogXCJ0YWItYmVyZW5zXCIsIHNjcm9sbFRhcmdldDogXCJiZXJlbnNcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGU3XCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1iZXJlbnNcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5CZXJlbnM8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXY+IFxuICAgICAgICAgICAgICAgICAgICA8YSBvbkNsaWNrPXtvcGVuQW5kU2Nyb2xsKHsgaXQ6IFwidGFiLXdpc2NobWV5ZXJcIiwgc2Nyb2xsVGFyZ2V0OiBcIndpc2NobWV5ZXJcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGU4XCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC13aXNjaG1leWVyXCIgY2xhc3NOYW1lPVwic2lkZWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN1bW1hcnk+V2lzY2htZXllcjwvc3VtbWFyeT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj4gXG4gICAgICAgICAgICAgICAgICAgIDxhIG9uQ2xpY2s9e29wZW5BbmRTY3JvbGwoeyBpdDogXCJ0YWItb2xhcml1XCIsIHNjcm9sbFRhcmdldDogXCJvbGFyaXVcIiB9KX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwic3VidGl0bGU5XCIgY2xhc3NOYW1lPVwiZGV0YWlsLXNpZGVpdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cInBhcmVudC1vbGFyaXVcIiBjbGFzc05hbWU9XCJzaWRlaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3VtbWFyeT5PbGFyaXU8L3N1bW1hcnk+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uYXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIClcbn1cblxuICAgXG5cbiAgZXhwb3J0IGZ1bmN0aW9uIG9wZW5BbmRTY3JvbGwoeyBpdCwgc2Nyb2xsVGFyZ2V0IH06IHsgaXQ6IHN0cmluZywgc2Nyb2xsVGFyZ2V0Pzogc3RyaW5nIH0pIHtcbiAgICBjb25zdCBnb3RvYW5kb3BlbiA9IChfZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgICAgIF9ldmVudC5wcmV2ZW50RGVmYXVsdCgpOyAvLyBQcmV2ZW50IGRlZmF1bHQgYW5jaG9yIGJlaGF2aW9yXG5cbiAgICAgICAgY29uc29sZS5sb2coYG9wZW5BbmRTY3JvbGwgY2FsbGVkIHdpdGggaXQ6ICR7aXR9IGFuZCBzY3JvbGxUYXJnZXQ6ICR7c2Nyb2xsVGFyZ2V0fWApO1xuXG4gICAgICAgIC8vIEF0dGVtcHQgdG8gZmluZCB0aGUgZWxlbWVudHNcbiAgICAgICAgY29uc3Qgc3VidGFiRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGl0KTtcbiAgICAgICAgY29uc3QgcGFyZW50RWxlbWVudElkID0gXCJwYXJlbnQtXCIgKyBpdC5yZXBsYWNlKFwidGFiLVwiLCBcIlwiKTtcbiAgICAgICAgY29uc3QgcGFyZW50RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHBhcmVudEVsZW1lbnRJZCk7XG5cbiAgICAgICAgY29uc29sZS5sb2coYHN1YnRhYkVsZW1lbnQgd2l0aCBJRCAke2l0fTogYCwgc3VidGFiRWxlbWVudCk7XG4gICAgICAgIGNvbnNvbGUubG9nKGBwYXJlbnRFbGVtZW50IHdpdGggSUQgJHtwYXJlbnRFbGVtZW50SWR9OiBgLCBwYXJlbnRFbGVtZW50KTtcblxuICAgICAgICBpZiAoc3VidGFiRWxlbWVudCAmJiBwYXJlbnRFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkZvdW5kIHN1YnRhYkVsZW1lbnQgYW5kIHBhcmVudEVsZW1lbnQuXCIpO1xuICAgICAgICAgICAgLy8gU2hvdyB0aGUgc2VsZWN0ZWQgdGFiIGluIHRoZSBzaWRlYmFyIGFuZCBhZGQgYWN0aXZlIGNsYXNzXG4gICAgICAgICAgICBzdWJ0YWJFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSBcImJsb2NrXCI7XG4gICAgICAgICAgICBwYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJhY3RpdmUtc2lkZWl0ZW1cIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBTdWJ0YWIgZWxlbWVudCBvciBwYXJlbnQgZWxlbWVudCBub3QgZm91bmQgZm9yIElEOiAke2l0fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgYSBzY3JvbGwgdGFyZ2V0IGlzIHByb3ZpZGVkLCBzY3JvbGwgdG8gdGhhdCBlbGVtZW50IG9uIHRoZSBwYWdlXG4gICAgICAgIGlmIChzY3JvbGxUYXJnZXQpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzY3JvbGxUYXJnZXQpO1xuICAgICAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgU2Nyb2xsaW5nIHRvIGVsZW1lbnQgd2l0aCBJRDogJHtzY3JvbGxUYXJnZXR9YCk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy8gR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgZWxlbWVudCByZWxhdGl2ZSB0byB0aGUgZG9jdW1lbnRcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50UmVjdCA9IHRhcmdldEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvcCA9IGVsZW1lbnRSZWN0LnRvcCArIHdpbmRvdy5zY3JvbGxZO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbWlkZGxlIG9mIHRoZSB2aWV3cG9ydFxuICAgICAgICAgICAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbE9mZnNldCA9IGVsZW1lbnRUb3AgLSAodmlld3BvcnRIZWlnaHQgLyA1IC0gdGFyZ2V0RWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyKTtcbiAgICAgICAgICAgICAgIC8qICBcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgRWxlbWVudCBUb3A6ICR7ZWxlbWVudFRvcH1gKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhgVmlld3BvcnQgSGVpZ2h0OiAke3ZpZXdwb3J0SGVpZ2h0fWApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGBTY3JvbGwgT2Zmc2V0OiAke3Njcm9sbE9mZnNldH1gKTsgKi9cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oe1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHNjcm9sbE9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3I6IFwic21vb3RoXCJcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihgU2Nyb2xsIHRhcmdldCBlbGVtZW50IG5vdCBmb3VuZCBmb3IgSUQ6ICR7c2Nyb2xsVGFyZ2V0fWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBnb3RvYW5kb3Blbjtcbn1cblxuIiwgIlxuaW1wb3J0IHsgY3JlYXRlU2lkZWJhciB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVTaWRlYmFyXCI7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIFNhZmV0eVNpZGViYXIoKXtcbiAgICBsZXQgc2lkZWJhciA9IGNyZWF0ZVNpZGViYXIodGFicyk7IFxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiAgZC1ub25lIGQtbGctYmxvY2tcIj5cbiAgICAgICAgICAge3NpZGViYXJ9XG4gICAgICAgIDwvZGl2PlxuICAgICl9XG5jb25zdCB0YWJzID0gW1xuICAgIHsgdGFiOiBcIlJvbGVcIiB9LFxuICAgIHsgdGFiOiBcIkJpb3NhZmV0eVwiLCBzdWJ0YWJzOiBbXCJNZWNoYW5pc21cIiwgXCJEZWxpdmVyeVwiXSB9LFxuICAgIHsgdGFiOiBcIkJpb3NlY3VyaXR5XCIsIHN1YnRhYnM6IFtcIk91ciBQcm9qZWN0XCIsIFwiUmlzayBBc3Nlc3NtZW50XCIsIFwiTWFuYWdpbmcgUmlza3NcIl0gfSxcbiAgICB7IHRhYjogXCJCaW9ldGhpY3NcIiwgc3VidGFiczogW1wiR2VuZSBUaGVyYXB5XCIsIFwiUHJpbWFyeSBDZWxsc1wiLCBcIkNvbnNlbnQgYW5kIEd1aWRlbGluZXNcIl0gfSxcbiAgICB7IHRhYjogXCJDaGVjay1JbnNcIn0sXG4gICAgeyB0YWI6IFwiT3VyIExhYlwiIH0sXG4gICBcbiAgXTsiLCAiZXhwb3J0IGZ1bmN0aW9uIE5vU2lkZWJhcigpe1xuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICA8L2Rpdj5cbiAgICApXG59IiwgImltcG9ydCB7IFBERiB9IGZyb20gXCIuLi9jb21wb25lbnRzL1BkZnNcIjtcbmltcG9ydCB7IEJsb2NrUXVvdGVCIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvUXVvdGVzXCI7XG5pbXBvcnQgeyBTZWN0aW9uLCBTdWJlc2N0aW9uIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvc2VjdGlvbnNcIjtcbmltcG9ydCB7IHVzZVRhYk5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvVGFiTmF2aWdhdGlvblwiO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBpZ2VtQmllbGVmZWxkKCkge1xuICB1c2VUYWJOYXZpZ2F0aW9uKCk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICA8U2VjdGlvbiB0aXRsZT1cIkJpZWxlZmVsZCBVbml2ZXJzaXR5XCIgaWQ9XCJCaWVsZWZlbGQgVW5pdmVyc2l0eVwiPiAgXG4gICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Bob3Rvcy91bml2ZXJzaXR5L2JpZWxlZmVsZC0zMzgxODcwLmpwZ1wiLz5cbiAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJIaXN0b3J5XCIgaWQ9XCJIaXN0b3J5XCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93XCI+XG4gICA8ZGl2IGNsYXNzTmFtZT1cImNvbFwiPiBcbiAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9zcG9uc29ycy91bmktYmllbGVmZWxkLWR1bmtlbC5wbmdcIiBzdHlsZT17e3dpZHRoOlwiNDAlXCIsIGhlaWdodDpcIjYwJVwifX0vPiBcbiAgIDwvZGl2PlxuICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj4gXG4gICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3Nwb25zb3JzL2NlYml0ZWMtbG9nby1oaW50ZXJsZWd0LnBuZ1wiIHN0eWxlPXt7d2lkdGg6XCIyMCVcIiwgaGVpZ2h0OlwiNTAlXCIsICB0cmFuc2Zvcm06IFwic2NhbGUoMS41KVwifX0vPlxuICAgPC9kaXY+XG4gIDwvZGl2PlxuICAgICAgICA8YnIvPlxuICAgICAgICA8cD5UaGUgZ2xvcmlvdXMgaGlzdG9yeSBvZiB0aGUgaUdFTSB0ZWFtIEJpZWxlZmVsZCBiZWdhbiBpbiAyMDEwIGFuZCBtYXJrZWQgaXRzIGRlYnV0IG9uIHRoZSBnbG9iYWwgc3RhZ2UgXG4gICAgICAgICAgb2Ygc3ludGhldGljIGJpb2xvZ3kuIFNpbmNlIHRoZW4sIHRoZSB0ZWFtcyB3ZXJlIGNvbXBvc2VkIG9mIG92ZXIgMTYwIGVudGh1c2lhc3RpYyBzdHVkZW50cyBmcm9tIHZhcmlvdXMgZGlzY2lwbGluZXMsIGluY2x1ZGluZyBiaW9sb2d5LCBjaGVtaXN0cnksIGFuZCBlbmdpbmVlcmluZy48L3A+XG4gICAgICAgIDxwPlRoZWlyIGluaXRpYWwgcHJvamVjdCBmb2N1c2VkIG9uIHRoZSBkZXZlbG9wbWVudCBvZiBhIGJpb3NlbnNvciBmb3IgdGhlIG1lYXN1cmVtZW50IG9mIHNwaWNpbmVzcyBpbiBmb29kLCB3aGljaCByZXN1bHRlZCBpbiB0aGUgdGVhbSBiZWluZyBhd2FyZGVkIGEgZ29sZCBtZWRhbCBhdCB0aGUgY29tcGV0aXRpb24uIEZvbGxvd2luZyB0aGlzIHN1Y2Nlc3NmdWwgZGVidXQsIHRoZSB0ZWFtcyBjb250aW51ZWQgdG8gZXZvbHZlLCBib3RoIGluIHNpemUgYW5kIGV4cGVydGlzZS4gIFxuICAgICAgICBPdmVyIG1vcmUgdGhhbiB0ZW4geWVhcnMsIHRoZSBpR0VNIFRlYW0gQmllbGVmZWxkLUNlQmlUZWMgZW5nYWdlZCBpbiBhIG11bHRpdHVkZSBvZiBwcm9qZWN0cywgZWFjaCBwdXNoaW5nIHRoZSBib3VuZGFyaWVzIG9mIHN5bnRoZXRpYyBiaW9sb2d5LiBUaGUgdGVhbXMgZWFybmVkIDEzIGdvbGQgbWVkYWxzIGFuZCBoYXZlIGFjaGlldmVkIGEgcmFua2luZyB3aXRoaW4gdGhlIHRvcCAxNiB0ZWFtcyB0d2ljZSAoMjAxMSwgMjAxMikuIE9uZSBvZiB0aGUgbW9zdCBub3RhYmxlIGFjaGlldmVtZW50cyB3YXMgcmVhY2hlZCBpbiAyMDEzLCB3aGVuIHRoZSBpR0VNIFRlYW0gQmllbGVmZWxkIHdvbiB0aGUgRXVyb3BlYW4gSmFtYm9yZWUsIHdlcmUgdGhlIEZpcnN0IFJ1bm5lciBVcCBhdCB0aGUgR2lhbnQgSmFtYm9yZWUgYW5kIHNlY3VyZWQgc2V2ZXJhbCBUcmFjayBhbmQgU3BlY2lhbCBQcml6ZXMuIFRoZWlyIHByb2plY3QgXHUyMDFDRWNvbGVjdHJpY2l0eVx1MjAxRCBmb2N1c2VkIG9uIGNyZWF0aW5nIGEgbWljcm9iaWFsIGZ1ZWwgY2VsbCwgYnkgdHJhbnNmb3JtaW5nIEUuIGNvbGkgaW50byBhbiBlbGVjdHJvLWFjdGl2ZSBiYWN0ZXJpdW0gYW5kIGluY29ycG9yYXRpbmcgaXQgaW50byBhIGZ1ZWwgY2VsbCB0aGF0IHByb3ZpZGVzIGFuIGVudmlyb25tZW50YWxseSBmcmllbmRseSBhbHRlcm5hdGl2ZSBmb3IgZ2VuZXJhdGluZyBlbGVjdHJpY2l0eS4gVGhlaXIgaW5ub3ZhdGl2ZSBhcHByb2FjaCBhbmQgY2FyZWZ1bCBleGVjdXRpb24gaW1wcmVzc2VkIHRoZSBqdXJ5IGFuZCBzb2xpZGlmaWVkIHRoZSBCaWVsZWZlbGQgdGVhbSdzIHJlcHV0YXRpb24gaW4gdGhlIGlHRU0gY29tbXVuaXR5LiBJbiBhY2tub3dsZWRnbWVudCBvZiB0aGUgcGl2b3RhbCByb2xlIHBsYXllZCBieSB0aGUgQ2VudGVyIGZvciBCaW90ZWNobm9sb2d5IChDZUJpVGVjKSBpbiB0aGUgdGVhbVx1MjAxOXMgc3VjY2VzcyBzaW5jZSB0aGUgYmVnaW5uaW5nLCB0aGUgbmFtZSBvZiB0aGUgdGVhbSB3YXMgb2ZmaWNpYWxseSBjaGFuZ2VkIHRvIEJpZWxlZmVsZC1DZUJpVGVjIGluIDIwMTQuIFRoaXMgY2hhbmdlIGhpZ2hsaWdodGVkIHRoZSBjbG9zZSBjb2xsYWJvcmF0aW9uIGJldHdlZW4gdGhlIHRlYW0gYW5kIHRoZSByZXNlYXJjaCBjZW50ZXIsIHRoZXJlYnkgdW5kZXJzY29yaW5nIHRoZSBpbXBvcnRhbmNlIG9mIGluc3RpdHV0aW9uYWwgc3VwcG9ydCBpbiBhZHZhbmNpbmcgc2NpZW50aWZpYyByZXNlYXJjaCBhbmQgZWR1Y2F0aW9uIHJlbGF0ZWQgdG8gdGhlIGlHRU0gY29tcGV0aXRpb24uPC9wPlxuICAgICAgICA8cD5JbiByZWNlbnQgeWVhcnMsIHRoZSB0ZWFtcyBjb250aW51ZWQgdG8gcHVyc3VlIGlubm92YXRpdmUgYXZlbnVlcyBvZiBlbnF1aXJ5LiBUaGVpciBwcm9qZWN0cyByYW5nZWQgZnJvbSBkZXZlbG9waW5nIGJpb2xvZ2ljYWwgc3lzdGVtcyBmb3IgbWVkaWNhbCBhcHBsaWNhdGlvbnMgdG8gY3JlYXRpbmcgc3VzdGFpbmFibGUgc29sdXRpb25zIGZvciBpbmR1c3RyaWFsIGFuZCBlbnZpcm9ubWVudGFsIGNoYWxsZW5nZXMuIEZvciBpbnN0YW5jZSwgaW4gMjAxOCwgdGhlIHByb2plY3QgXCJuYW5vRmFjdG9yeVwiIGFpbWVkIHRvIHNjYXZlbmdlIGhlYXZ5IG1ldGFsIGlvbnMgdXNpbmcgb3B0aW1pemVkIEUuIGNvbGkgY2VsbHMgdG8gYWNjdW11bGF0ZSBoZWF2eSBtZXRhbCBpb25zIGluc2lkZSB0aGUgY3l0b3BsYXNtIGFkZHJlc3NpbmcgdGhlIGlzc3VlIG9mIGluY3JlYXNpbmcgc2NhcmNpdHkgb2YgbWV0YWwgcmVzb3VyY2VzIGR1ZSB0byBnbG9iYWwgY29uc3VtcHRpb24gb2YgZWxlY3Ryb25pY3MuIFxuICAgICAgICBJbiB0aGUgcHJldmlvdXMgeWVhciwgdGhlIGlHRU0gdGVhbSBCaWVsZWZlbGQtQ2VCaVRlYyBkZXZlbG9wZWQgYSBwbGF0Zm9ybSBmb3IgZGlhZ25vc2lzIGFuZCB0aGVyYXB5IG9mIGJyYWluIHR1bW9ycyBjYWxsZWQgXCJBU1RFUklTS1wiLiBUaGUgdGVhbSBmb2N1c2luZyBvbiBhIG1vZHVsYXIgZ2VuZXRpYyBzeXN0ZW0gdG8gdGFyZ2V0IGdsaW9tYXMgYnkgZGVzaWduaW5nIG1STkEgbW9sZWN1bGVzIHRoYXQsIHVwb24gZGV0ZWN0aW9uIG9mIGEgdHVtb3Itc3BlY2lmaWMgbXV0YXRpb24gb3IgYW1wbGlmaWNhdGlvbiwgbGVhZCB0byB0aGUgdHJhbnNsYXRpb24gb2YgYSB0b3hpYyBwcm90ZWluIHRoYXQgc2VsZWN0aXZlbHkga2lsbHMgY2FuY2VyIGNlbGxzIHdpdGhvdXQgaGFybWluZyBoZWFsdGh5IGNlbGxzLiBUaGlzIGlubm92YXRpdmUgYXBwcm9hY2ggaXMgYSBwZXJmZWN0IGV4YW1wbGUgb2YgaG93IHN5bnRoZXRpYyBiaW9sb2d5IGNhbiBiZSB1c2VkIHRvIGltcHJvdmUgdGhlIHNwZWNpZmljaXR5IGFuZCBlZmZpY2FjeSBvZiBtZWRpY2FsIHRyZWF0bWVudHMsIHByb3ZpZGluZyB2YWx1YWJsZSB0b29scyB0byB0aGUgaUdFTSBjb21tdW5pdHkuPC9wPiBcbiAgICAgICAgPHA+QSBzaWduaWZpY2FudCBhc3BlY3Qgb2YgaUdFTSBCaWVsZWZlbGQtQ2VCaVRlY1x1MjAxOXMgc3VjY2VzcyBoYXMgYmVlbiB0aGVpciBlbXBoYXNpcyBvbiBjb2xsYWJvcmF0aW9uIGFuZCBjb21tdW5pdHkgZW5nYWdlbWVudC4gVGhlIHRlYW0gcmVndWxhcmx5IGNvbGxhYm9yYXRlcyB3aXRoIG90aGVyIGlHRU0gdGVhbXMsIGluc3RpdHV0aW9ucywgY29tcGFuaWVzLCBhbmQgc2NpZW50aXN0cyBzaGFyaW5nIGtub3dsZWRnZSBhbmQgcmVzb3VyY2VzLiBUaGV5IGFsc28gZW5nYWdlIHdpdGggdGhlIGxvY2FsIGNvbW11bml0eSB0aHJvdWdoIG91dHJlYWNoIHByb2dyYW1zIGFuZCB3b3Jrc2hvcHMuIGhlIGhpc3Rvcnkgb2YgaUdFTSBCaWVsZWZlbGQgaXMgYSBzdG9yeSBvZiBtb3RpdmF0aW9uLCBkZWRpY2F0aW9uLCBhbmQgc2NpZW50aWZpYyBjdXJpb3NpdHkuIEZyb20gdGhlaXIgZWFybHkgYmVnaW5uaW5ncyB0byB0aGVpciBjdXJyZW50IGVuZGVhdm9ycywgdGhlIHRlYW0gaGFzIGNvbnNpc3RlbnRseSBkZW1vbnN0cmF0ZWQgdGhlIHBvd2VyIG9mIHN5bnRoZXRpYyBiaW9sb2d5IHRvIHRhY2tsZSBjb21wbGV4IGdsb2JhbCBjaGFsbGVuZ2VzLiBBcyB0aGV5IGNvbnRpbnVlIHRvIHBhcnRpY2lwYXRlIGluIHRoZSBpR0VNIGNvbXBldGl0aW9uLCB0aGV5IHJlbWFpbiB0byBkZW1vbnN0cmF0ZSBpbm5vdmF0aW9uIGFuZCBjb2xsYWJvcmF0aW9uIHdpdGhpbiB0aGUgc2NpZW50aWZpYyBjb21tdW5pdHkuPC9wPlxuICAgICAgICBcbiAgICAgICAgPC9TZWN0aW9uPlxuXG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiU3RlZXJpbmcgQ29tbWl0dGVlXCIgaWQ9XCJTdGVlcmluZyBDb21taXR0ZWVcIj5cbiAgICAgICAgPEJsb2NrUXVvdGVCIHRleHQ9XCJpR0VNIGlzIHRoZSBiaWdnZXN0IG9wcG9ydHVuaXR5IGZvciB5b3VuZyByZXNlYXJjaGVycyB0byBjcm9zcyB0aGVpciBvd24gYm91bmRhcmllcy5cIiBjaXRlPVwiUHJvZi4gRHIuIEpcdTAwRjZybiBLYWxpbm93c2tpLCBQcmluY2lwbGUgSW52ZXN0aWdhdG9yIG9mIGlHRU0gQmllbGVmZWxkIHNpbmNlIDIwMTBcIi8+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJXaGF0IGlzIGEgU3RlZXJpbmcgQ29tbWl0dGVlP1wiIGlkPVwiU3RlZXJpbmcgQ29tbWl0dGVlMVwiPlxuICAgICAgICAgICAgICA8cD5UaGUgU3RlZXJpbmcgQ29tbWl0dGVlIHBsYXlzIGEgY2VudHJhbCByb2xlIGluIHRoZSByZXN1bXB0aW9uIGFuZCBmdXJ0aGVyIGRldmVsb3BtZW50IG9mIGlHRU0gYWN0aXZpdGllcyBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eS4gQWZ0ZXIgYSBwYXVzZSBpbiAyMDIyIGR1ZSB0byBmaW5hbmNpYWwgY29uc3RyYWludHMgYW5kIGNoYW5nZXMgaW4gcGFydGljaXBhdGlvbiBjb25kaXRpb25zLCB0aGUgU3RlZXJpbmcgQ29tbWl0dGVlIHdhcyBlc3RhYmxpc2hlZCB0byBlbnN1cmUgQmllbGVmZWxkJ3Mgc3VzdGFpbmFibGUgcGFydGljaXBhdGlvbiBpbiBmdXR1cmUgaUdFTSBjb21wZXRpdGlvbnMuPC9wPlxuICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvc3RlZXJpbmctY29tbWl0ZWUud2VicFwiIC8+XG4gICAgICAgICAgICAgIDxwPlRoZSBTdGVlcmluZyBDb21taXR0ZWUgY29uc2lzdHMgb2YgZml2ZSByZW5vd25lZCBzY2llbnRpc3RzIGZyb20gdGhlIEZhY3VsdGllcyBvZiBCaW9sb2d5IGFuZCBUZWNobm9sb2d5OiBEci4gUGV0cmEgTHV0dGVyLCBQcm9mLiBEci4gSlx1MDBGNnJuIEthbGlub3dza2ksIFByb2YuIERyLiBLcmlzdGlhbiBNXHUwMEZDbGxlciwgUHJvZi4gRHIuIEthcnN0ZW4gTmllaGF1cywgYW5kIFByb2YuIERyLiBKZW5zIFN0b3llLiBFYWNoIG9mIHRoZXNlIGV4cGVydHMgYnJpbmdzIHNwZWNpZmljIGV4cGVydGlzZSBjcnVjaWFsIGZvciB0aGUgc3VjY2Vzc2Z1bCBleGVjdXRpb24gb2YgaUdFTSBwcm9qZWN0cy4gUGV0cmEgTHV0dGVyIGhhcyBjb250cmlidXRlZCB0byBtb2RlbGluZyBpbiBwcmV2aW91cyBpR0VNIHByb2plY3RzLCB3aGlsZSBKXHUwMEY2cm4gS2FsaW5vd3NraSBoYXMgYmVlbiBzaWduaWZpY2FudGx5IGludm9sdmVkIGluIGFsbCBwYXN0IGlHRU0gcHJvamVjdHMuIEtyaXN0aWFuIE1cdTAwRkNsbGVyIGhhcyBiZWVuIGFuIGV4cGVyaWVuY2VkIHN1cHBvcnRlciBvZiB0aGUgaUdFTSBjb21wZXRpdGlvbnMgc2luY2UgdGhlaXIgaW5jZXB0aW9uLCBhbmQgS2Fyc3RlbiBOaWVoYXVzLCBmb3JtZXIgaGVhZCBvZiB0aGUgXCJHZW5vbWUtYmFzZWQgU3lzdGVtcyBCaW9sb2d5XCIgbWFzdGVyXHUyMDE5cyBwcm9ncmFtLCBicmluZ3MgZXh0ZW5zaXZlIGtub3dsZWRnZSBvZiB0aGUgc2NpZW50aWZpYyBmb3VuZGF0aW9ucyBvZiB0aGUgcHJvamVjdHMuIEplbnMgU3RveWUsIHJlcHJlc2VudGluZyBiaW9pbmZvcm1hdGljcyBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSwgY29udHJpYnV0ZXMgaGlzIGV4cGVydGlzZSBpbiB0aGlzIGFyZWEuIDwvcD5cbiAgICAgICAgICAgICAgPHA+VGhlIG1haW4gZ29hbCBvZiB0aGUgU3RlZXJpbmcgQ29tbWl0dGVlIGlzIHRvIGVuc3VyZSB0aGUgc3VjY2Vzc2Z1bCBpbXBsZW1lbnRhdGlvbiBvZiBmdXR1cmUgaUdFTSBwcm9qZWN0cy4gVGhpcyBpbmNsdWRlcyBub3Qgb25seSBhY2FkZW1pYyBzdXBwb3J0IGJ1dCBhbHNvIG9yZ2FuaXphdGlvbmFsIGxlYWRlcnNoaXAsIHNlY3VyaW5nIGZ1bmRpbmcsIGFuZCBwcm92aWRpbmcgdGhlIG5lY2Vzc2FyeSBpbmZyYXN0cnVjdHVyZS4gVGhlIGV4cGVydHMgaW4gdGhlIFN0ZWVyaW5nIENvbW1pdHRlZSBhcmUgc2lnbmlmaWNhbnRseSBpbnZvbHZlZCBpbiB0aGUgc3RyYXRlZ2ljIGRpcmVjdGlvbiBvZiB0aGUgcHJvamVjdHMgYW5kIG9mZmVyIGEgcGxhdGZvcm0gd2hlcmUgaWRlYXMsIHJlc291cmNlcywgYW5kIGtub3dsZWRnZSBhcmUgcG9vbGVkIHRvIGNvbnRpbnVlIEJpZWxlZmVsZCdzIHRyYWRpdGlvbiBvZiBzdWNjZXNzZnVsIGlHRU0gcGFydGljaXBhdGlvbi4gPC9wPlxuICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7bWFyZ2luQm90dG9tOiBcIjFyZW1cIn19PjxQREYgbGluaz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvaWdlbS1icm9zY2h1cmUucGRmXCIgbmFtZT1cImlnZW0tYnJvc2NodXJlLnBkZlwiIC8+PC9kaXY+XG4gICAgICAgICAgICAgIDxwPkluIGhlbHBpbmcgdGhlIG5ldyBpR0VNIEJpZWxlZmVsZCB0ZWFtIGFkdmFuY2UgdGhlaXIgcHJvamVjdCwgdGhlIFN0ZWVyaW5nIENvbW1pdHRlZSBwbGF5ZWQgYW4gaW5kaXNwZW5zYWJsZSByb2xlLCBwYXJ0aWN1bGFybHkgYnkgcHJvbW90aW5nIHRoZSBpR0VNIHByaW5jaXBsZSBvZiBcIkNvbnRyaWJ1dGlvblwiIGFuZCBmb3N0ZXJpbmcgdGhlIGludGVyZGlzY2lwbGluYXJ5IG5hdHVyZSBvZiB0aGUgcHJvamVjdC4gVGhlIGNvbW1pdHRlZSBlbXBoYXNpemVkIHRoZSBpbXBvcnRhbmNlIG9mIGNyZWF0aW5nIHRvb2xzLCBkYXRhLCBhbmQgbWV0aG9kcyB0aGF0IGNhbiBiZW5lZml0IHRoZSBnbG9iYWwgaUdFTSBjb21tdW5pdHkuIFRoaXMgbWluZHNldCB3YXMgcmVmbGVjdGVkIGluIHRoZSB0ZWFtXHUyMDE5cyBwcm9qZWN0IGRlc2lnbiwgZW5zdXJpbmcgdGhhdCB0aGVpciB3b3JrIG5vdCBvbmx5IG1ldCBsb2NhbCBnb2FscyBidXQgYWxzbyBwcm92aWRlZCBtZWFuaW5nZnVsIGNvbnRyaWJ1dGlvbnMgdG8gZnV0dXJlIHByb2plY3RzLiAgPC9wPlxuICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L3BkZnMvc3RlZXJpbmctY29tbWl0dGVlLTEud2VicFwiLz5cbiAgICAgICAgICAgICAgPHA+TW9yZW92ZXIsIHRoZSBpbnRlcmRpc2NpcGxpbmFyeSBuYXR1cmUgb2YgdGhlIGlHRU0gcHJvamVjdCB3YXMgc3Ryb25nbHkgZW5jb3VyYWdlZCBieSB0aGUgU3RlZXJpbmcgQ29tbWl0dGVlLiBXaXRoIG1lbWJlcnMgZnJvbSB2YXJpb3VzIHNjaWVudGlmaWMgZmllbGRzLCB0aGUgY29tbWl0dGVlIGZhY2lsaXRhdGVkIGNvbGxhYm9yYXRpb24gYmV0d2VlbiBkaXNjaXBsaW5lcyBzdWNoIGFzIGJpb2xvZ3ksIGJpb2luZm9ybWF0aWNzLCBhbmQgYmlvdGVjaG5vbG9neS4gVGhpcyBpbnRlcmRpc2NpcGxpbmFyeSBhcHByb2FjaCBhbGxvd2VkIHRoZSB0ZWFtIHRvIHRhY2tsZSBjb21wbGV4IGNoYWxsZW5nZXMgZnJvbSBtdWx0aXBsZSBwZXJzcGVjdGl2ZXMsIGludGVncmF0aW5nIGNvbXB1dGF0aW9uYWwgbW9kZWxzIHdpdGggZXhwZXJpbWVudGFsIGJpb2xvZ3kgdG8gZHJpdmUgaW5ub3ZhdGlvbi4gVGhpcyBndWlkYW5jZSBoZWxwZWQgdGhlIGlHRU0gQmllbGVmZWxkIHRlYW0gZGV2ZWxvcCBhIG1vcmUgcm9idXN0IGFuZCBpbXBhY3RmdWwgcHJvamVjdCwgYWxpZ25pbmcgd2l0aCBib3RoIHRoZSBzY2llbnRpZmljIGdvYWxzIG9mIHRoZSBjb21wZXRpdGlvbiBhbmQgdGhlIGNvbGxhYm9yYXRpdmUgc3Bpcml0IG9mIHRoZSBpR0VNIGNvbW11bml0eS4gPC9wPlxuICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgIHsvKiAgPFN1YmVzY3Rpb24gdGl0bGU9XCJKXHUwMEY2cm5cIiBpZD1cIlN0ZWVyaW5nIENvbW1pdHRlZTJcIj5cbiAgICAgICAgICAgIDxMb3JlbU1lZGl1bS8+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPiAqL31cbiAgICAgICAgPC9TZWN0aW9uPlxuXG4gICAgIHsvKiAgICA8U2VjdGlvbiB0aXRsZT1cIk91ciBGdXR1cmVcIiBpZD1cIkZ1dHVyZVwiPlxuICAgICAgICAgIDxMb3JlbU1lZGl1bS8+XG4gICAgICAgIDwvU2VjdGlvbj4gKi99XG5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgIiwgImV4cG9ydCBmdW5jdGlvbiBJQklFKCkge1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxIZWFkZXJCb3ggdGl0bGU9XCJpR0VNXCIgdGl0bGUyPVwiQmllbGVmZWxkXCIgaWQ9XCJpYmhlYWRcIj5cbiAgICAgICAgXG4gICAgICA8L0hlYWRlckJveD5cbiAgICApO1xuICB9XG4gIFxuICBpbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiOyIsICJpbXBvcnQgQmlidGV4UGFyc2VyIGZyb20gXCIuLi9jb21wb25lbnRzL21ha2VTb3VyY2VzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIE1ldGhvZFNvdXJjZXMoKXtcbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxCaWJ0ZXhQYXJzZXIgYmlidGV4U291cmNlcz17YmlidGV4U291cmNlc30gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApO1xufVxuXG5cbmNvbnN0IGJpYnRleFNvdXJjZXMgPSBbXG5gXG5AYXJ0aWNsZXthcnRpY2xlLFxuXHR0aXRsZSAgICAgICAgPSB7RGllIEVudHdpY2tsdW5nIGRlciBQYXRjaC1DbGFtcC1UZWNobmlrfSxcblx0YXV0aG9yICAgICAgID0ge1JvdGgsIEYuIEMuLCBOdW1iZXJnZXIsIE0uLCBhbmQgRHJhZ3VobiwgQS59LFxuXHR5ZWFyICAgICAgICAgPSAyMDIzLFxuXHRtb250aCAgICAgICAgPSB7e319LFxuXHRqb3VybmFsICAgICAgPSB7U3ByaW5nZXIgZUJvb2tzfSxcblx0dm9sdW1lICAgICAgID0ge3t9fSxcblx0cGFnZXMgICAgICAgID0gezEtLTE0fSxcblx0ZG9pICAgICAgICAgID0gezEwLjEwMDcvOTc4LTMtNjYyLTY2MDUzLTl9XG59YCxcblxuYFxuQGJvb2t7ZGFsbGFzX3BhdGNoXzIwMjEsXG5cdHRpdGxlICAgICAgICA9IHtQYXRjaCBjbGFtcCBlbGVjdHJvcGh5c2lvbG9neTogbWV0aG9kcyBhbmQgcHJvdG9jb2xzfSxcblx0c2hvcnR0aXRsZSAgID0ge1BhdGNoIGNsYW1wIGVsZWN0cm9waHlzaW9sb2d5fSxcblx0eWVhciAgICAgICAgID0gMjAyMSxcblx0cHVibGlzaGVyICAgID0ge0h1bWFuYSBQcmVzc30sXG5cdGFkZHJlc3MgICAgICA9IHtOZXcgWW9ya30sXG5cdHNlcmllcyAgICAgICA9IHtNZXRob2RzIGluIG1vbGVjdWxhciBiaW9sb2d5fSxcblx0bnVtYmVyICAgICAgID0gMjE4OCxcblx0aXNibiAgICAgICAgID0gezk3OC0xLTA3LTE2MDgxOC0wfSxcblx0bGFuZ3VhZ2UgICAgID0ge2VufSxcblx0ZWRpdG9yICAgICAgID0ge0RhbGxhcywgTWFyayBhbmQgQmVsbCwgRGFtaWFufVxufVxuICAgIGAsXG4gICAgYFxuQGFydGljbGV7UFJJRUwyMDA3Mzg5Myxcblx0dGl0bGUgICAgICAgID0ge1xuXHRcdElvbmljIFJlcXVpcmVtZW50cyBmb3IgTWVtYnJhbmUtR2xhc3MgQWRoZXNpb24gYW5kIEdpZ2EgU2VhbCBGb3JtYXRpb24gaW5cblx0XHRQYXRjaC1DbGFtcCBSZWNvcmRpbmdcblx0fSxcblx0YXV0aG9yICAgICAgID0ge1xuXHRcdEF2aSBQcmllbCBhbmQgWml2IEdpbCBhbmQgVmluY2VudCBULiBNb3kgYW5kIEthcmwgTC4gTWFnbGVieSBhbmQgU2hhaSBELlxuXHRcdFNpbGJlcmJlcmdcblx0fSxcblx0eWVhciAgICAgICAgID0gMjAwNyxcblx0am91cm5hbCAgICAgID0ge0Jpb3BoeXNpY2FsIEpvdXJuYWx9LFxuXHR2b2x1bWUgICAgICAgPSA5Mixcblx0bnVtYmVyICAgICAgID0gMTEsXG5cdHBhZ2VzICAgICAgICA9IHszODkzLS0zOTAwfSxcblx0ZG9pICAgICAgICAgID0gezEwLjE1MjkvYmlvcGh5c2ouMTA2LjA5OTExOX0sXG5cdGlzc24gICAgICAgICA9IHswMDA2LTM0OTV9LFxuXHR1cmwgICAgICAgICAgPSB7aHR0cHM6Ly93d3cuc2NpZW5jZWRpcmVjdC5jb20vc2NpZW5jZS9hcnRpY2xlL3BpaS9TMDAwNjM0OTUwNzcxMTg5WH0sXG5cdGFic3RyYWN0ICAgICA9IHtcblx0XHRQYXRjaC1jbGFtcCByZWNvcmRpbmcgaGFzIHJldm9sdXRpb25pemVkIHRoZSBzdHVkeSBvZiBpb24gY2hhbm5lbHMsXG5cdFx0dHJhbnNwb3J0ZXJzLCBhbmQgdGhlIGVsZWN0cmljYWwgYWN0aXZpdHkgb2Ygc21hbGwgY2VsbHMuIFZpdGFsIHRvIHRoaXNcblx0XHRtZXRob2QgaXMgZm9ybWF0aW9uIG9mIGEgdGlnaHQgc2VhbCBiZXR3ZWVuIGdsYXNzIHJlY29yZGluZyBwaXBldHRlIGFuZCBjZWxsXG5cdFx0bWVtYnJhbmUuIFRvIGJldHRlciB1bmRlcnN0YW5kIHNlYWwgZm9ybWF0aW9uIGFuZCBpbXByb3ZlIHByYWN0aWNhbFxuXHRcdGFwcGxpY2F0aW9uIG9mIHRoaXMgdGVjaG5pcXVlLCB3ZSBleGFtaW5lIHRoZSBlZmZlY3RzIG9mIGRpdmFsZW50IGlvbnMsXG5cdFx0cHJvdG9ucywgaW9uaWMgc3RyZW5ndGgsIGFuZCBtZW1icmFuZSBwcm90ZWlucyBvbiBhZGhlc2lvbiBvZiBtZW1icmFuZSB0b1xuXHRcdGdsYXNzIGFuZCBvbiBzZWFsIHJlc2lzdGFuY2UgdXNpbmcgYm90aCBwYXRjaC1jbGFtcCByZWNvcmRpbmcgYW5kIGF0b21pY1xuXHRcdGZvcmNlIG1pY3Jvc2NvcHkuIFdlIGZpbmQgdGhhdCBIKywgQ2EyKywgYW5kIE1nMisgaW5jcmVhc2UgYWRoZXNpb24gZm9yY2Vcblx0XHRiZXR3ZWVuIGdsYXNzIGFuZCBtZW1icmFuZSAobGlwaWQgYW5kIGNlbGx1bGFyKSwgZGVjcmVhc2UgdGhlIHRpbWUgcmVxdWlyZWRcblx0XHR0byBmb3JtIGEgdGlnaHQgc2VhbCwgYW5kIGluY3JlYXNlIHNlYWwgcmVzaXN0YW5jZS4gSW4gdGhlIGFic2VuY2Ugb2YgSCtcblx0XHQoMTBcdTIyMTIxME0pIGFuZCBkaXZhbGVudCBjYXRpb25zICg8MTBcdTIyMTI4TSksIGFkaGVzaW9uIGZvcmNlcyBhcmUgZ3JlYXRseSByZWR1Y2VkXG5cdFx0YW5kIHRpZ2h0IHNlYWxzIGFyZSBub3QgZm9ybWVkLiBIKyAoMTBcdTIyMTI3TSkgcHJvbW90ZXMgc2VhbCBmb3JtYXRpb24gaW4gdGhlXG5cdFx0YWJzZW5jZSBvZiBkaXZhbGVudCBjYXRpb25zLiBBIHBvc2l0aXZlIGNvcnJlbGF0aW9uIGJldHdlZW4gYWRoZXNpb24gZm9yY2Vcblx0XHRhbmQgc2VhbCBmb3JtYXRpb24gaW5kaWNhdGVzIHRoYXQgaGlnaCByZXNpc3RhbmNlIHNlYWxzIGFyZSBhc3NvY2lhdGVkIHdpdGhcblx0XHRpbmNyZWFzZWQgYWRoZXNpb24gYmV0d2VlbiBtZW1icmFuZSBhbmQgZ2xhc3MuIEEgc2ltaWxhciBpb25pYyBkZXBlbmRlbmNlIG9mXG5cdFx0dGhlIGFkaGVzaW9uIG9mIGxpcGlkIG1lbWJyYW5lcyBhbmQgY2VsbCBtZW1icmFuZXMgdG8gZ2xhc3MgaW5kaWNhdGVzIHRoYXRcblx0XHRsaXBpZCBtZW1icmFuZXMgd2l0aG91dCBwcm90ZWlucyBhcmUgc3VmZmljaWVudCBmb3IgdGhlIGFjdGlvbiBvZiBpb25zIG9uXG5cdFx0YWRoZXNpb24uXG5cdH1cbn1cbmAsXG5gXG5AYXJ0aWNsZXsxMC4zMzg5L2ZwaGFyLjIwMTcuMDAxOTUsXG5cdHRpdGxlICAgICAgICA9IHtcblx0XHREZXZlbG9wbWVudCBvZiBBdXRvbWF0ZWQgUGF0Y2ggQ2xhbXAgVGVjaG5pcXVlIHRvIEludmVzdGlnYXRlIENGVFIgQ2hsb3JpZGVcblx0XHRDaGFubmVsIEZ1bmN0aW9uXG5cdH0sXG5cdGF1dGhvciAgICAgICA9IHtcblx0XHRCaWxsZXQsIEFybmF1ZCAgYW5kIEZyb3V4LCBMaW9uZWwgIGFuZCBIYW5yYWhhbiwgSm9obiBXLiAgYW5kIEJlY3EsIEZyZWRlcmljXG5cdH0sXG5cdHllYXIgICAgICAgICA9IDIwMTcsXG5cdGpvdXJuYWwgICAgICA9IHtGcm9udGllcnMgaW4gUGhhcm1hY29sb2d5fSxcblx0dm9sdW1lICAgICAgID0gOCxcblx0ZG9pICAgICAgICAgID0gezEwLjMzODkvZnBoYXIuMjAxNy4wMDE5NX0sXG5cdGlzc24gICAgICAgICA9IHsxNjYzLTk4MTJ9LFxuXHR1cmwgICAgICAgICAgPSB7XG5cdFx0aHR0cHM6Ly93d3cuZnJvbnRpZXJzaW4ub3JnL2pvdXJuYWxzL3BoYXJtYWNvbG9neS9hcnRpY2xlcy8xMC4zMzg5L2ZwaGFyLjIwMTcuMDAxOTVcblx0fVxufVxuYCxcbmBcbkBhcnRpY2xle0R1QnJpZGdlX1RhbmdfSHNpYV9MZW9uZ19NaWxsZXJfQ2Fsb3NfMTk4Nyxcblx0dGl0bGUgICAgICAgID0ge1xuXHRcdEFuYWx5c2lzIG9mIG11dGF0aW9uIGluIGh1bWFuIGNlbGxzIGJ5IHVzaW5nIGFuIEVwc3RlaW4tQmFyciB2aXJ1cyBzaHV0dGxlXG5cdFx0c3lzdGVtLlxuXHR9LFxuXHRhdXRob3IgICAgICAgPSB7XG5cdFx0RHVCcmlkZ2UsIFIgQiBhbmQgVGFuZywgUCBhbmQgSHNpYSwgSCBDIGFuZCBMZW9uZywgUCBNIGFuZCBNaWxsZXIsIEogSCBhbmRcblx0XHRDYWxvcywgTSBQXG5cdH0sXG5cdHllYXIgICAgICAgICA9IDE5ODcsXG5cdG1vbnRoICAgICAgICA9IGphbixcblx0am91cm5hbCAgICAgID0ge01vbGVjdWxhciBhbmQgQ2VsbHVsYXIgQmlvbG9neX0sXG5cdHZvbHVtZSAgICAgICA9IDcsXG5cdG51bWJlciAgICAgICA9IDEsXG5cdHBhZ2VzICAgICAgICA9IHszNzlcdTIwMTMzODd9LFxuXHRpc3NuICAgICAgICAgPSB7MDI3MC03MzA2fSxcblx0YWJzdHJhY3Rub3RlID0ge1xuXHRcdFdlIGRldmVsb3BlZCBoaWdobHkgc2Vuc2l0aXZlIHNodXR0bGUgdmVjdG9yIHN5c3RlbXMgZm9yIGRldGVjdGlvbiBvZlxuXHRcdG11dGF0aW9ucyBmb3JtZWQgaW4gaHVtYW4gY2VsbHMgdXNpbmcgYXV0b25vbW91c2x5IHJlcGxpY2F0aW5nIGRlcml2YXRpdmVzIG9mXG5cdFx0RXBzdGVpbi1CYXJyIHZpcnVzIChFQlYpLiBFQlYgdmVjdG9ycyBjYXJyeWluZyB0aGUgYmFjdGVyaWFsIGxhY0kgZ2VuZSBhcyB0aGVcblx0XHR0YXJnZXQgZm9yIG11dGF0aW9uIHdlcmUgZXN0YWJsaXNoZWQgaW4gaHVtYW4gY2VsbHMgYW5kIGxhdGVyIHJldHVybmVkIHRvXG5cdFx0RXNjaGVyaWNoaWEgY29saSBmb3IgcmFwaWQgZGV0ZWN0aW9uIGFuZCBhbmFseXNpcyBvZiBsYWNJIG11dGF0aW9ucy4gVGhlXG5cdFx0bWFqb3JpdHkgb2YgdGhlIGNsb25hbCBjZWxsIGxpbmVzIGNyZWF0ZWQgYnkgZXN0YWJsaXNobWVudCBvZiB0aGUgbGFjSS1FQlZcblx0XHR2ZWN0b3Igc2hvdyBzcG9udGFuZW91cyBMYWNJLSBmcmVxdWVuY2llcyBvZiBsZXNzIHRoYW4gMTAoLTUpIGFuZCBhcmVcblx0XHRzdWl0YWJsZSBmb3Igc3R1ZGllcyBvZiBpbmR1Y2VkIG11dGF0aW9uLiBUaGUgYWJpbGl0eSB0byBpc29sYXRlIGNsb25hbCBsaW5lc1xuXHRcdHJlcHJlc2VudHMgYSBtYWpvciBhZHZhbnRhZ2Ugb2YgdGhlIEVCViB2ZWN0b3JzIG92ZXIgdHJhbnNpZW50bHkgcmVwbGljYXRpbmdcblx0XHRzaHV0dGxlIHZlY3RvcnMgKHN1Y2ggYXMgdGhvc2UgZGVyaXZlZCBmcm9tIHNpbWlhbiB2aXJ1cyA0MCkgZm9yIHRoZSBzdHVkeSBvZlxuXHRcdG11dGF0aW9uLiBUaGUgRE5BIHNlcXVlbmNlIGNoYW5nZXMgd2VyZSBkZXRlcm1pbmVkIGZvciA2MSBsYWNJIG11dGF0aW9uc1xuXHRcdGluZHVjZWQgYnkgZXhwb3N1cmUgb2Ygb25lIG9mIHRoZSBjZWxsIGxpbmVzIHRvIE4tbml0cm9zby1OLW1ldGh5bHVyZWEuIEFcblx0XHR0b3RhbCBvZiAzMyBvZiAzNCBsYWNJIG5vbnNlbnNlIG11dGF0aW9ucyBhbmQgMjYgb2YgMjcgbWlzc2Vuc2UgbXV0YXRpb25zXG5cdFx0aW52b2x2ZSBHIFggQyB0byBBIFggVCB0cmFuc2l0aW9ucy4gVGhlc2UgZGF0YSBwcm92aWRlIHN1cHBvcnQgZm9yIHRoZVxuXHRcdG11dGF0aW9uYWwgdGhlb3J5IG9mIGNhbmNlci5cblx0fVxufVxuYCxcbmBcbkBhcnRpY2xle1Fpbl9aaGFuZ19DbGlmdF9IdWx1cl9YaWFuZ19SZW5fTGFobl8yMDEwLFxuXHR0aXRsZSAgICAgICAgPSB7XG5cdFx0U3lzdGVtYXRpYyBDb21wYXJpc29uIG9mIENvbnN0aXR1dGl2ZSBQcm9tb3RlcnMgYW5kIHRoZSBEb3h5Y3ljbGluZS1JbmR1Y2libGVcblx0XHRQcm9tb3RlclxuXHR9LFxuXHRhdXRob3IgICAgICAgPSB7XG5cdFx0UWluLCBKYW5lIFl1eGlhIGFuZCBaaGFuZywgTGkgYW5kIENsaWZ0LCBLYXlsYSBMLiBhbmQgSHVsdXIsIEltZ2UgYW5kIFhpYW5nLFxuXHRcdEFuZHkgUGVuZyBhbmQgUmVuLCBCaW5nLVpob25nIGFuZCBMYWhuLCBCcnVjZSBULlxuXHR9LFxuXHR5ZWFyICAgICAgICAgPSAyMDEwLFxuXHRtb250aCAgICAgICAgPSBtYXksXG5cdGpvdXJuYWwgICAgICA9IHtQTE9TIE9ORX0sXG5cdHB1Ymxpc2hlciAgICA9IHtQdWJsaWMgTGlicmFyeSBvZiBTY2llbmNlfSxcblx0dm9sdW1lICAgICAgID0gNSxcblx0bnVtYmVyICAgICAgID0gNSxcblx0cGFnZXMgICAgICAgID0ge2UxMDYxMX0sXG5cdGRvaSAgICAgICAgICA9IHsxMC4xMzcxL2pvdXJuYWwucG9uZS4wMDEwNjExfSxcblx0aXNzbiAgICAgICAgID0gezE5MzItNjIwM30sXG5cdGFic3RyYWN0bm90ZSA9IHtcblx0XHRDb25zdGl0dXRpdmUgcHJvbW90ZXJzIGFyZSB1c2VkIHJvdXRpbmVseSB0byBkcml2ZSBlY3RvcGljIGdlbmUgZXhwcmVzc2lvbi5cblx0XHRIZXJlLCB3ZSBjYXJyaWVkIG91dCBhIHN5c3RlbWF0aWMgY29tcGFyaXNvbiBvZiBlaWdodCBjb21tb25seSB1c2VkXG5cdFx0Y29uc3RpdHV0aXZlIHByb21vdGVycyAoU1Y0MCwgQ01WLCBVQkMsIEVGMUEsIFBHSyBhbmQgQ0FHRyBmb3IgbWFtbWFsaWFuXG5cdFx0c3lzdGVtcywgYW5kIENPUElBIGFuZCBBQ1Q1QyBmb3IgRHJvc29waGlsYSBzeXN0ZW1zKS4gV2UgYWxzbyBpbmNsdWRlZCBpbiB0aGVcblx0XHRjb21wYXJpc29uIHRoZSBUUkUgcHJvbW90ZXIsIHdoaWNoIGNhbiBiZSBhY3RpdmF0ZWQgYnkgdGhlIHJ0VEFcblx0XHR0cmFuc2NyaXB0aW9uYWwgYWN0aXZhdG9yIGluIGEgZG94eWN5Y2xpbmUtaW5kdWNpYmxlIG1hbm5lci4gVG8gbWFrZSBvdXJcblx0XHRmaW5kaW5ncyByZXByZXNlbnRhdGl2ZSwgd2UgY29uZHVjdGVkIHRoZSBjb21wYXJpc29uIGluIGEgdmFyaWV0eSBvZiBjZWxsXG5cdFx0dHlwZXMgZGVyaXZlZCBmcm9tIHNldmVyYWwgc3BlY2llcy4gV2UgZm91bmQgdGhhdCB0aGVzZSBwcm9tb3RlcnMgdmFyeVxuXHRcdGNvbnNpZGVyYWJseSBmcm9tIG9uZSBhbm90aGVyIGluIHRoZWlyIHN0cmVuZ3RoLiBNb3N0IHByb21vdGVycyBoYXZlIGZhaXJseVxuXHRcdGNvbnNpc3RlbnQgc3RyZW5ndGhzIGFjcm9zcyBkaWZmZXJlbnQgY2VsbCB0eXBlcywgYnV0IHRoZSBDTVYgcHJvbW90ZXIgY2FuXG5cdFx0dmFyeSBjb25zaWRlcmFibHkgZnJvbSBjZWxsIHR5cGUgdG8gY2VsbCB0eXBlLiBBdCBtYXhpbWFsIGluZHVjdGlvbiwgdGhlIFRSRVxuXHRcdHByb21vdGVyIGlzIGNvbXBhcmFibGUgdG8gYSBzdHJvbmcgY29uc3RpdHV0aXZlIHByb21vdGVyLiBUaGVzZSByZXN1bHRzXG5cdFx0c2hvdWxkIGZhY2lsaXRhdGUgbW9yZSByYXRpb25hbCBjaG9pY2VzIG9mIHByb21vdGVycyBpbiBlY3RvcGljIGdlbmVcblx0XHRleHByZXNzaW9uIHN0dWRpZXMuXG5cdH0sXG5cdGxhbmd1YWdlICAgICA9IHtlbn1cbn1cbmAsXG5gXG5AYXJ0aWNsZXtCVUxDQUVOMjAyNDEwMTU0NCxcbnRpdGxlID0ge1ByaW1lIGVkaXRpbmcgZnVuY3Rpb25hbGx5IGNvcnJlY3RzIGN5c3RpYyBmaWJyb3Npcy1jYXVzaW5nIENGVFIgbXV0YXRpb25zIGluIGh1bWFuIG9yZ2Fub2lkcyBhbmQgYWlyd2F5IGVwaXRoZWxpYWwgY2VsbHN9LFxuam91cm5hbCA9IHtDZWxsIFJlcG9ydHMgTWVkaWNpbmV9LFxudm9sdW1lID0gezV9LFxubnVtYmVyID0gezV9LFxucGFnZXMgPSB7MTAxNTQ0fSxcbnllYXIgPSB7MjAyNH0sXG5pc3NuID0gezI2NjYtMzc5MX0sXG5kb2kgPSB7aHR0cHM6Ly9kb2kub3JnLzEwLjEwMTYvai54Y3JtLjIwMjQuMTAxNTQ0fSxcbnVybCA9IHtodHRwczovL3d3dy5zY2llbmNlZGlyZWN0LmNvbS9zY2llbmNlL2FydGljbGUvcGlpL1MyNjY2Mzc5MTI0MDAyMzQ5fSxcbmF1dGhvciA9IHtNYXR0aWpzIEJ1bGNhZW4gYW5kIFBoXHUwMEU5bGluZSBLb3J0bGV2ZW4gYW5kIFJvbmFsZCBCLiBMaXUgYW5kIEdpdWxpYSBNYXVsZSBhbmQgRWxpc2UgRHJlYW5vIGFuZCBNYWlyZWFkIEtlbGx5IGFuZCBNYXJqb2xlaW4gTS4gRW5zaW5jayBhbmQgU2FtIFRoaWVyaWUgYW5kIE1heGltZSBTbWl0cyBhbmQgTWF0dGVvIENpY2lhbmkgYW5kIEF1cmVsaWUgSGF0dG9uIGFuZCBCZW5vaXQgQ2hldmFsaWVyIGFuZCBBbmFiZWxhIFMuIFJhbWFsaG8gYW5kIFhhdmllciB7Q2FzYWRldmFsbCBpIFNvbHZhc30gYW5kIFplZ2VyIERlYnlzZXIgYW5kIEZyYW5cdTAwRTdvaXMgVmVybWV1bGVuIGFuZCBSaWsgR2lqc2JlcnMgYW5kIElzYWJlbGxlIFNlcm1ldC1HYXVkZWx1cyBhbmQgQW5uYSBDZXJlc2V0byBhbmQgTWFyaWFubmUgUy4gQ2FybG9ufSxcbmtleXdvcmRzID0ge2N5c3RpYyBmaWJyb3NpcywgcHJpbWUgZWRpdGluZywgcGF0aWVudC1kZXJpdmVkIG9yZ2Fub2lkcywgaHVtYW4gbmFzYWwgZXBpdGhlbGlhbCBjZWxscywgZ2VuZSBlZGl0aW5nLCBtYWNoaW5lIGxlYXJuaW5nLCBERVRFT1IsIENSSVNQUn0sXG5hYnN0cmFjdCA9IHtTdW1tYXJ5XG5QcmltZSBlZGl0aW5nIGlzIGEgcmVjZW50LCBDUklTUFItZGVyaXZlZCBnZW5vbWUgZWRpdGluZyB0ZWNobm9sb2d5IGNhcGFibGUgb2YgaW50cm9kdWNpbmcgcHJlY2lzZSBudWNsZW90aWRlIHN1YnN0aXR1dGlvbnMsIGluc2VydGlvbnMsIGFuZCBkZWxldGlvbnMuIEhlcmUsIHdlIHByZXNlbnQgcHJpbWUgZWRpdGluZyBhcHByb2FjaGVzIHRvIGNvcnJlY3QgTDIyN1ItIGFuZCBOMTMwM0stQ0ZUUiwgdHdvIG11dGF0aW9ucyB0aGF0IGNhdXNlIGN5c3RpYyBmaWJyb3NpcyBhbmQgYXJlIG5vdCBlbGlnaWJsZSBmb3IgY3VycmVudCBtYXJrZXQtYXBwcm92ZWQgbW9kdWxhdG9yIHRoZXJhcGllcy4gV2Ugc2hvdyB0aGF0LCB1cG9uIEROQSBjb3JyZWN0aW9uIG9mIHRoZSBDRlRSIGdlbmUsIHRoZSBjb21wbGV4IGdseWNvc3lsYXRpb24sIGxvY2FsaXphdGlvbiwgYW5kLCBtb3N0IGltcG9ydGFudGx5LCBmdW5jdGlvbiBvZiB0aGUgQ0ZUUiBwcm90ZWluIGFyZSByZXN0b3JlZCBpbiBIRUsyOTNUIGFuZCAxNkhCRSBjZWxsIGxpbmVzLiBUaGVzZSBmaW5kaW5ncyB3ZXJlIHN1YnNlcXVlbnRseSB2YWxpZGF0ZWQgaW4gcGF0aWVudC1kZXJpdmVkIHJlY3RhbCBvcmdhbm9pZHMgYW5kIGh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMuIFRocm91Z2ggYW5hbHlzaXMgb2YgcHJlZGljdGVkIGFuZCBleHBlcmltZW50YWxseSBpZGVudGlmaWVkIGNhbmRpZGF0ZSBvZmYtdGFyZ2V0IHNpdGVzIGluIHByaW1hcnkgc3RlbSBjZWxscywgd2UgY29uZmlybSBwcmV2aW91cyByZXBvcnRzIG9uIHRoZSBoaWdoIHByaW1lIGVkaXRvciAoUEUpIHNwZWNpZmljaXR5IGFuZCBpdHMgcG90ZW50aWFsIGZvciBhIGN1cmF0aXZlIENGIGdlbmUgZWRpdGluZyB0aGVyYXB5LiBUbyBmYWNpbGl0YXRlIGZ1dHVyZSBzY3JlZW5pbmcgb2YgZ2VuZXRpYyBzdHJhdGVnaWVzIGluIGEgdHJhbnNsYXRpb25hbCBDRiBtb2RlbCwgYSBtYWNoaW5lIGxlYXJuaW5nIGFsZ29yaXRobSB3YXMgZGV2ZWxvcGVkIGZvciBkeW5hbWljIHF1YW50aWZpY2F0aW9uIG9mIENGVFIgZnVuY3Rpb24gaW4gb3JnYW5vaWRzIChERVRFQ1RPUjogXHUyMDFDZGV0ZWN0aW9uIG9mIHRhcmdldGVkIGVkaXRpbmcgb2YgQ0ZUUiBpbiBvcmdhbm9pZHNcdTIwMUQpLn1cbn1cbm5ldzguXG5AYXJ0aWNsZXtFbnNpbmNrX0RlZWVyc21hZWNrZXJfSGV5bGVuX1JhbWFsaG9fR2lqc2JlcnNfRmFyLFxuXHR0aXRsZSAgICAgICAgPSB7XG5cdFx0UGhlbm90eXBpbmcgb2YgUmFyZSBDRlRSIE11dGF0aW9ucyBSZXZlYWxzIERpc3RpbmN0IFRyYWZmaWNraW5nIGFuZFxuXHRcdEZ1bmN0aW9uYWwgRGVmZWN0c1xuXHR9LFxuXHRhdXRob3IgICAgICAgPSB7XG5cdFx0RW5zaW5jaywgTWFyam9sZWluIGFuZCBEZSBLZWVyc21hZWNrZXIsIExpZXNiZXRoIGFuZCBIZXlsZW4sIExpc2UgYW5kXG5cdFx0UmFtYWxobywgQW5hYmVsYSBTLiBhbmQgR2lqc2JlcnMsIFJpayBhbmQgRmFyclx1MDBFOSwgUmljYXJkIGFuZCBEZSBCb2VjaywgS3Jpc1xuXHRcdGFuZCBDaHJpc3QsIEZyYXVrZSBhbmQgRGVieXNlciwgWmVnZXIgYW5kIENhcmxvbiwgTWFyaWFubmUgUy5cblx0fSxcblx0eWVhciAgICAgICAgID0gMjAyMCxcblx0bW9udGggICAgICAgID0gbWFyLFxuXHRqb3VybmFsICAgICAgPSB7Q2VsbHN9LFxuXHR2b2x1bWUgICAgICAgPSA5LFxuXHRudW1iZXIgICAgICAgPSAzLFxuXHRwYWdlcyAgICAgICAgPSA3NTQsXG5cdGRvaSAgICAgICAgICA9IHsxMC4zMzkwL2NlbGxzOTAzMDc1NH0sXG5cdGlzc24gICAgICAgICA9IHsyMDczLTQ0MDl9LFxuXHRhYnN0cmFjdG5vdGUgPSB7XG5cdFx0QmFja2dyb3VuZC4gVGhlIG1vc3QgY29tbW9uIENGVFIgbXV0YXRpb24sIEY1MDhkZWwsIHByZXNlbnRzIHdpdGggbXVsdGlwbGVcblx0XHRjZWxsdWxhciBkZWZlY3RzLiBIb3dldmVyLCB0aGUgcG9zc2libGUgbXVsdGlwbGUgZGVmZWN0cyBjYXVzZWQgYnkgbWFueSByYXJlclxuXHRcdENGVFIgbXV0YXRpb25zIGFyZSBub3Qgd2VsbCBzdHVkaWVkLiBXZSBpbnZlc3RpZ2F0ZWQgZm91ciByYXJlIENGVFIgbXV0YXRpb25zXG5cdFx0RTYwSywgRzg1RSwgRTkySyBhbmQgQTQ1NUUgYWdhaW5zdCB3ZWxsLWNoYXJhY3Rlcml6ZWQgbXV0YXRpb25zLCBGNTA4ZGVsIGFuZFxuXHRcdEc1NTFELCBhbmQgdGhlaXIgcmVzcG9uc2VzIHRvIGNvcnJlY3RvciBWWC04MDkgYW5kL29yIHBvdGVudGlhdG9yIFZYLTc3MC5cblx0XHRNZXRob2RzLiBVc2luZyBjb21wbGVtZW50YXJ5IGFzc2F5cyBpbiBIRUsyOTNUIHN0YWJsZSBjZWxsIGxpbmVzLCB3ZVxuXHRcdGRldGVybWluZWQgbWF0dXJhdGlvbiBieSBXZXN0ZXJuIGJsb3R0aW5nLCB0cmFmZmlja2luZyBieSBmbG93IGN5dG9tZXRyeVxuXHRcdHVzaW5nIGV4dHJhY2VsbHVsYXIgM0hBLXRhZ2dlZCBDRlRSLCBhbmQgZnVuY3Rpb24gYnkgaGFsaWRlLXNlbnNpdGl2ZSBZRlBcblx0XHRxdWVuY2hpbmcuIEluIHRoZSBmb3Jza29saW4taW5kdWNlZCBzd2VsbGluZyBhc3NheSBpbiBpbnRlc3RpbmFsIG9yZ2Fub2lkcyxcblx0XHR3ZSB2YWxpZGF0ZWQgdGhlIGVmZmVjdCBvZiB0YWdnZWQgdmVyc3VzIGVuZG9nZW5vdXMgQ0ZUUi4gUmVzdWx0cy4gVHJlYXRtZW50XG5cdFx0d2l0aCBWWC04MDkgc2lnbmlmaWNhbnRseSByZXN0b3JlZCBtYXR1cmF0aW9uLCBQTSBsb2NhbGl6YXRpb24gYW5kIGZ1bmN0aW9uXG5cdFx0b2YgYm90aCBFNjBLIGFuZCBFOTJLLiBNZWNoYW5pc3RpY2FsbHksIFZYLTgwOSBub3Qgb25seSByYWlzZWQgdGhlIHRvdGFsXG5cdFx0YW1vdW50IG9mIENGVFIsIGJ1dCBzaWduaWZpY2FudGx5IGluY3JlYXNlZCB0aGUgdHJhZmZpYyBlZmZpY2llbmN5LCB3aGljaCB3YXNcblx0XHRub3QgdGhlIGNhc2UgZm9yIEE0NTVFLiBHODVFIHdhcyByZWZyYWN0b3J5IHRvIFZYLTgwOSBhbmQgVlgtNzcwIHRyZWF0bWVudC5cblx0XHRDb25jbHVzaW9ucy4gU2luY2Ugbm8gc2luZ2xlIG1vZGVsIG9yIGFzc2F5IGFsbG93cyBkZWNpcGhlcmluZyBhbGwgZGVmZWN0cyBhdFxuXHRcdG9uY2UsIHdlIHByb3Bvc2UgYSBjb21iaW5hdGlvbiBvZiBwaGVub3R5cGljIGFzc2F5cyB0byBjb2xsZWN0IHJhcGlkIGFuZFxuXHRcdGVhcmx5IGluc2lnaHRzIGludG8gdGhlIG11bHRpcGxlIGRlZmVjdHMgb2YgQ0ZUUiB2YXJpYW50cy5cblx0fSxcblx0bGFuZ3VhZ2UgICAgID0ge2VuZ31cbn1cbmAsXG5gXG5AbWlzY3tpZ25hdG92YTIwMjMsXG4gIGF1dGhvciAgICAgICA9IHtab3lhIElnbmF0b3ZhfSxcbiAgdGl0bGUgICAgICAgID0ge1Jlc2VhcmNoIEdyb3VwIElnbmF0b3ZhIGF0IHRoZSBJbnN0aXR1dGUgb2YgQmlvY2hlbWlzdHJ5IGFuZCBNb2xlY3VsYXIgQmlvbG9neX0sXG4gIHllYXIgICAgICAgICA9IHsyMDIzfSxcbiAgaG93cHVibGlzaGVkID0ge0hhbWJ1cmcgVW5pdmVyc2l0eX0sXG4gIG5vdGUgICAgICAgICA9IHtBY2Nlc3NlZDogMjggU2VwdGVtYmVyIDIwMjR9LFxuICBpbnN0aXR1dGlvbiAgPSB7VW5pdmVyc2l0eSBvZiBIYW1idXJnfSxcbn1cblxuYCxcbmBAYXJ0aWNsZXtlaHJoYXJkdF90b3dhcmRzXzIwMDYsXG5cdHRpdGxlICAgICAgICA9IHtUb3dhcmRzIGFuIGluIHZpdHJvIG1vZGVsIG9mIGN5c3RpYyBmaWJyb3NpcyBzbWFsbCBhaXJ3YXkgZXBpdGhlbGl1bTogY2hhcmFjdGVyaXNhdGlvbiBvZiB0aGUgaHVtYW4gYnJvbmNoaWFsIGVwaXRoZWxpYWwgY2VsbCBsaW5lIHtDRkJFNDFvfS19LFxuXHRzaG9ydHRpdGxlICAgPSB7VG93YXJkcyBhbiBpbiB2aXRybyBtb2RlbCBvZiBjeXN0aWMgZmlicm9zaXMgc21hbGwgYWlyd2F5IGVwaXRoZWxpdW19LFxuXHRhdXRob3IgICAgICAgPSB7RWhyaGFyZHQsIENhcnN0ZW4gYW5kIENvbGxub3QsIEV2YS1NYXJpYSBhbmQgQmFsZGVzLCBDaHJpc3RpYW5lIGFuZCBCZWNrZXIsIFVscmljaCBhbmQgTGF1ZSwgTWljaGFlbCBhbmQgS2ltLCBLd2FuZy1KaW4gYW5kIExlaHIsIENsYXVzLU1pY2hhZWx9LFxuXHR5ZWFyICAgICAgICAgPSAyMDA2LFxuXHRtb250aCAgICAgICAgPSBtYXIsXG5cdGpvdXJuYWwgICAgICA9IHtDZWxsIGFuZCBUaXNzdWUgUmVzZWFyY2h9LFxuXHR2b2x1bWUgICAgICAgPSAzMjMsXG5cdG51bWJlciAgICAgICA9IDMsXG5cdHBhZ2VzICAgICAgICA9IHs0MDUtLTQxNX0sXG5cdGRvaSAgICAgICAgICA9IHsxMC4xMDA3L3MwMDQ0MS0wMDUtMDA2Mi03fSxcblx0aXNzbiAgICAgICAgID0gezAzMDItNzY2WCwgMTQzMi0wODc4fSxcblx0dXJsICAgICAgICAgID0ge2h0dHA6Ly9saW5rLnNwcmluZ2VyLmNvbS8xMC4xMDA3L3MwMDQ0MS0wMDUtMDA2Mi03fSxcblx0dXJsZGF0ZSAgICAgID0gezIwMjQtMDktMDl9LFxuXHRjb3B5cmlnaHQgICAgPSB7aHR0cDovL3d3dy5zcHJpbmdlci5jb20vdGRtfSxcblx0bGFuZ3VhZ2UgICAgID0ge2VufSxcblx0ZmlsZSAgICAgICAgID0ge0VocmhhcmR0IGV0IGFsLiAtIDIwMDYgLSBUb3dhcmRzIGFuIGluIHZpdHJvIG1vZGVsIG9mIGN5c3RpYyBmaWJyb3NpcyBzbWFsbC5wZGY6Q1xcOlxcXFxVc2Vyc1xcXFxJc2FiZWxsXFxcXFpvdGVyb1xcXFxzdG9yYWdlXFxcXFJYTE1DRTNWXFxcXEVocmhhcmR0IGV0IGFsLiAtIDIwMDYgLSBUb3dhcmRzIGFuIGluIHZpdHJvIG1vZGVsIG9mIGN5c3RpYyBmaWJyb3NpcyBzbWFsbC5wZGY6YXBwbGljYXRpb24vcGRmfVxufVxuYFxuLFxuYFxuQGJvb2t7TWVubmVsbGFfMjAyNCxcblx0dGl0bGUgICAgICAgID0ge0NpbGlhOiBtZXRob2RzIGFuZCBwcm90b2NvbHN9LFxuXHR5ZWFyICAgICAgICAgPSAyMDI0LFxuICAgIGF1dGhvciAgICAgICA9IHtNZW5uZWxsYSwgVml0b30sXG5cdHB1Ymxpc2hlciAgICA9IHtIdW1hbmEgUHJlc3N9LFxuXHRhZGRyZXNzICAgICAgPSB7TmV3IFlvcmssIE5ZfSxcblx0aXNibiAgICAgICAgID0gezk3OC0xLTA3LTE2MzUwNy0wfSxcblx0YWJzdHJhY3Rub3RlID0ge1xuXHRcdFRoaXMgdm9sdW1lIGNvdmVycyB0aGUgbGF0ZXN0IGFkdmFuY2VtZW50cyBpbiB0aGUgc3R1ZHkgb2YgY2lsaWFyeVxuXHRcdGNvbXBsZXhpdHkuIFByb3RvY29scyBjb3ZlciBnZW5vbWljLCBwcm90ZW9taWMsIGltYWdpbmcsIGFuZCBmdW5jdGlvbmFsXG5cdFx0YW5hbHlzaXMgb2YgZGlmZmVyZW50IGNpbGlhdGVkIHRpc3N1ZXMgYW5kIHRoZWlyIHdpZGUgYXBwbGljYWJpbGl0eSBpbiBjaWxpYVxuXHRcdGJpb2xvZ3kuIENoYXB0ZXJzIGluIHRoaXMgYm9vayBwcmltYXJpbHkgZm9jdXMgb24gbWV0aG9kcyB0byBzdHVkeVxuXHRcdG11bHRpY2lsaWF0ZWQgY2VsbHMsIGFuZCBkaXNjdXNzIHRvcGljcyBzdWNoIGFzIFNBUlMtQ29WLTIgaW5mZWN0aW9ucyBvZlxuXHRcdGh1bWFuIHByaW1hcnkgbmFzYWwgbXVsdGljaWxpYXRlZCBlcGl0aGVsaWFsIGNlbGxzOyBleHBhbnNpb24gbWljcm9zY29weSBvZlxuXHRcdGNpbGlhcnkgcHJvdGVpbnM7IGxpdmUtaW1hZ2luZyBjZW50cmlvbGUgYW1wbGlmaWNhdGlvbiBpbiBtb3VzZSBicmFpblxuXHRcdG11bHRpY2lsaWF0ZWQgY2VsbHM7IGJpb3BoeXNpY2FsIHByb3BlcnRpZXMgb2YgY2lsaWEgbW90aWxpdHk7IGFuZFxuXHRcdG11Y29jaWxpYXJ5IHRyYW5zcG9ydCBkZXZpY2UgY29uc3RydWN0aW9uLiBXcml0dGVuIGluIHRoZSBoaWdobHkgc3VjY2Vzc2Z1bFxuXHRcdE1ldGhvZHMgaW4gTW9sZWN1bGFyIEJpb2xvZ3kgc2VyaWVzIGZvcm1hdCwgY2hhcHRlcnMgaW5jbHVkZSBpbnRyb2R1Y3Rpb25zIHRvXG5cdFx0dGhlaXIgcmVzcGVjdGl2ZSB0b3BpY3MsIGxpc3RzIG9mIHRoZSBuZWNlc3NhcnkgbWF0ZXJpYWxzIGFuZCByZWFnZW50cyxcblx0XHRzdGVwLWJ5LXN0ZXAsIHJlYWRpbHkgcmVwcm9kdWNpYmxlIGxhYm9yYXRvcnkgcHJvdG9jb2xzLCBhbmQgdGlwcyBvblxuXHRcdHRyb3VibGVzaG9vdGluZyBhbmQgYXZvaWRpbmcga25vd24gcGl0ZmFsbHMuIEN1dHRpbmctZWRnZSBhbmQgdGhvcm91Z2gsXG5cdFx0Q2lsaWE6IE1ldGhvZHMgYW5kIFByb3RvY29scyBpcyBhIHZhbHVhYmxlIHJlc291cmNlIGZvciByZXNlYXJjaGVycyB3aG8gYXJlXG5cdFx0aW50ZXJlc3RlZCBpbiBsZWFybmluZyBtb3JlIGFib3V0IHRoaXMgZGV2ZWxvcGluZyBmaWVsZC5cblx0fSxcblx0bGFuZ3VhZ2UgICAgID0ge2VuZ31cbn1cbmBcbl0iLCAiaW1wb3J0IHsgU2VjdGlvbiwgU3ViZXNjdGlvbiB9IGZyb20gXCIuLi9jb21wb25lbnRzL3NlY3Rpb25zXCI7XG5pbXBvcnQgeyB1c2VUYWJOYXZpZ2F0aW9uIH0gZnJvbSBcIi4uL3V0aWxzL1RhYk5hdmlnYXRpb25cIjtcbmltcG9ydCB7SDR9IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRpbmdzXCI7XG5pbXBvcnQgTWV0aG9kU291cmNlcyBmcm9tIFwiLi4vc291cmNlcy9tZXRob2RzLXNvdXJjZXNcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuXG5leHBvcnQgZnVuY3Rpb24gTWV0aG9kcygpIHtcbiAgY29uc3Qge2dvVG9QYWdlc0FuZE9wZW5UYWJ9ID0gdXNlTmF2aWdhdGlvbiAoKTtcbiAgdXNlVGFiTmF2aWdhdGlvbigpO1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgXG5cbiAgICAgIFxuICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIkludHJvZHVjdGlvblwiIGlkPVwiSW50cm9kdWN0aW9uXCI+XG4gICAgICAgICAgPHA+VGhpcyBzZWN0aW9uIGhpZ2hsaWdodHMgdGhlIGtleSBtYXRlcmlhbHMgYW5kIG1ldGhvZHMgcGl2b3RhbCB0byBhZHZhbmNpbmcgb3VyIHByb2plY3Qgd2l0aCB0aGUgcHJpbWFyeSBnb2FsIHRvIGRldmVsb3AgYW4gZWZmaWNpZW50IHByaW1lIGVkaXRpbmcgdGVjaG5vbG9neSB0byBjb3JyZWN0IHRoZSBGNTA4ZGVsIG11dGF0aW9uIGluIHRoZSBDRlRSIGdlbmUgYnkgdGhlIGRlbGl2ZXJ5IHRvIGx1bmcgZXBpdGhlbGlhbCBjZWxscyB1c2luZyBvcHRpbWl6ZWQgbGlwaWQgbmFub3BhcnRpY2xlcyAoTE5QcykgdmlhIHB1bG1vbmFyeSBhZG1pbmlzdHJhdGlvbi4gV2UgdXRpbGl6ZWQgcGF0Y2ggY2xhbXAgZWxlY3Ryb3BoeXNpb2xvZ3kgdG8gcHJlY2lzZWx5IG1lYXN1cmUgaW9uIGNoYW5uZWwgYWN0aXZpdHksIHByb3ZpZGluZyBjcnVjaWFsIGluc2lnaHRzIGludG8gY2VsbHVsYXIgZnVuY3Rpb24gYW5kIHRoZSBpbXBhY3Qgb2YgZ2VuZXRpYyBtb2RpZmljYXRpb25zIG9uIENGVFIgcGVyZm9ybWFuY2UuIEFkZGl0aW9uYWxseSwgb3VyIGNlbGwgY3VsdHVyZSBtb2RlbHMgb2YgbHVuZyBlcGl0aGVsaWFsIGNlbGxzIGFsbG93ZWQgdXMgdG8gdGVzdCBib3RoIHRoZSBkZWxpdmVyeSBhbmQgZWZmaWNhY3kgb2Ygb3VyIGdlbmUtZWRpdGluZyBzeXN0ZW0gdW5kZXIgY29uZGl0aW9ucyB0aGF0IGNsb3NlbHkgbWltaWMgdGhlIDxpPmluIHZpdm88L2k+IGVudmlyb25tZW50LiBUbyBlbnN1cmUgdGhhdCBvdXIgTE5QcyB3ZXJlIGJvdGggZWZmZWN0aXZlIGFuZCBzYWZlLCB3ZSBwZXJmb3JtZWQgZXh0ZW5zaXZlIExOUCBjeXRvdG94aWNpdHkgYW5kIGNoYXJhY3Rlcml6YXRpb24gZXhwZXJpbWVudHMsIGV2YWx1YXRpbmcgdGhlaXIgYmlvY29tcGF0aWJpbGl0eSwgc3RhYmlsaXR5LCBhbmQgZWZmaWNpZW5jeSBpbiBkZWxpdmVyaW5nIHRoZSBlZGl0aW5nIHRlY2hub2xvZ3kuIEVhY2ggb2YgdGhlc2UgbWV0aG9kb2xvZ2llcyB3YXMgY2FyZWZ1bGx5IHNlbGVjdGVkIHRvIG9wdGltaXplIHRoZSBkZWxpdmVyeSBwcm9jZXNzIGFuZCBtYXhpbWl6ZSB0aGUgdGhlcmFwZXV0aWMgcG90ZW50aWFsIG9mIG91ciBhcHByb2FjaC48L3A+XG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJQYXRjaCBDbGFtcFwiIGlkPVwiUGF0Y2ggQ2xhbXBcIj5cbiAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIlBhdGNoIENsYW1wOiBBIEtleSBUb29sIGluIEVsZWN0cm9waHlzaW9sb2d5XCIgaWQ9XCJQYXRjaCBDbGFtcDFcIj5cbiAgICAgICAgICAgIDxwPlRoZSBwYXRjaCBjbGFtcCB0ZWNobmlxdWUgaXMgYSBoaWdobHkgc2Vuc2l0aXZlIG1ldGhvZCBmb3IgbWVhc3VyaW5nIGlvbmljIGN1cnJlbnRzIHRocm91Z2ggaW5kaXZpZHVhbCBpb24gY2hhbm5lbHMgaW4gY2VsbHMsIG1ha2luZyBpdCBhIGNvcm5lcnN0b25lIG9mIGVsZWN0cm9waHlzaW9sb2dpY2FsIHJlc2VhcmNoLiBJbml0aWFsbHkgZGV2ZWxvcGVkIGJ5IEVyd2luIE5laGVyIGFuZCBCZXJ0IFNha21hbm4gaW4gdGhlIDE5NzBzIFsxXSwgdGhpcyB0ZWNobmlxdWUgaGFzIGV2b2x2ZWQgaW50byB2YXJpb3VzIGNvbmZpZ3VyYXRpb25zLCBpbmNsdWRpbmcgdGhlIFdob2xlLUNlbGwgYW5kIFNpbmdsZS1DaGFubmVsIHJlY29yZGluZ3MgWzJdLCB3aGljaCBwcm92aWRlIGNyaXRpY2FsIGluc2lnaHRzIGludG8gdGhlIGZ1bmN0aW9uYWwgcHJvcGVydGllcyBvZiBpb24gY2hhbm5lbHMuIDwvcD5cbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJQcmluY2lwbGVzIG9mIHRoZSBwYXRjaCBjbGFtcCB0ZWNobmlxdWVcIiBpZD1cIlBhdGNoIENsYW1wMlwiPlxuICAgICAgICAgIDxwPlBhdGNoIGNsYW1wIHJlY29yZGluZyBpbnZvbHZlcyB0aGUgdXNlIG9mIGEgZ2xhc3MgbWljcm9waXBldHRlIHdoaWNoIGlzIG1hbnVmYWN0dXJlZCBmcm9tIGEgZ2xhc3MgY2FwaWxsYXJ5IHRocm91Z2ggdGhlIHVzZSBvZiBhIE1pY3JvcGlwZXR0ZSBQdWxsZXIuIFRoZSBtaWNyb3BpcGV0dGUgaXMgdGhlbiBmaWxsZWQgd2l0aCBhbiBlbGVjdHJvbHl0ZSBzb2x1dGlvbiwgd2hpY2ggaXMgc3Vic2VxdWVudGx5IGJyb3VnaHQgaW50byBjb250YWN0IHdpdGggdGhlIGNlbGwgbWVtYnJhbmUuIEJ5IGFwcGx5aW5nIGdlbnRsZSBzdWN0aW9uLCBhIGhpZ2gtcmVzaXN0YW5jZSBzZWFsIGNhbGxlZCBnaWdhIHNlYWwgaXMgZm9ybWVkIGJldHdlZW4gdGhlIHBpcGV0dGUgdGlwIGFuZCB0aGUgbWVtYnJhbmUgcGF0Y2guIFRoaXMgZW5hYmxlcyB0aGUgbWVhc3VyZW1lbnQgb2YgaW9uaWMgY3VycmVudHMgd2l0aCBtaW5pbWFsIG5vaXNlIGludGVyZmVyZW5jZSBbM10uIDxzdHJvbmc+V2hvbGUtQ2VsbCBDb25maWd1cmF0aW9uPC9zdHJvbmc+IHJlY29yZHMgY3VycmVudHMgZnJvbSB0aGUgZW50aXJlIGNlbGwgYnkgcnVwdHVyaW5nIHRoZSBtZW1icmFuZSBwYXRjaCwgYWNjZXNzaW5nIHRoZSBpbnRyYWNlbGx1bGFyIGVudmlyb25tZW50LCBhbmQgaXMgdXNlZnVsIGZvciBhbmFseXNpbmcgb3ZlcmFsbCBpb24gY2hhbm5lbCBhY3Rpdml0eSBhbmQgY2VsbHVsYXIgcmVzcG9uc2VzLiA8c3Ryb25nPlNpbmdsZS1DaGFubmVsIFJlY29yZGluZzwvc3Ryb25nPiBtZWFzdXJlcyBjdXJyZW50cyB0aHJvdWdoIGluZGl2aWR1YWwgaW9uIGNoYW5uZWxzIHdpdGhvdXQgcnVwdHVyaW5nIHRoZSBtZW1icmFuZSwgZW5hYmxpbmcgaGlnaC1yZXNvbHV0aW9uIHN0dWR5IG9mIGNoYW5uZWwgY29uZHVjdGFuY2UsIGdhdGluZywgYW5kIHNlbGVjdGl2aXR5IFsyXS48L3A+XG4gICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxpZnJhbWUgdGl0bGU9XCJCaWVsZWZlbGQtQ2VCaVRlYzogUGF0Y2ggQ2xhbXAgTWVhc3VyZW1lbnQgKDIwMjQpXCIgd2lkdGg9XCI1NjBcIiBoZWlnaHQ9XCIzMTVcIiBzcmM9XCJodHRwczovL3ZpZGVvLmlnZW0ub3JnL3ZpZGVvcy9lbWJlZC8wZDk0OGU1Ny01OTk3LTQzMGEtYTJkZi04MTViNzFhMmZjNjc/YXV0b3BsYXk9MVwiIGZyYW1lQm9yZGVyPVwiMFwiIGFsbG93RnVsbFNjcmVlbj17dHJ1ZX0gc2FuZGJveD1cImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctcG9wdXBzIGFsbG93LWZvcm1zXCI+PC9pZnJhbWU+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+RmlndXJlIDEuPC9iPiBNaWNyb3Njb3BpYyByZWNvcmRpbmcgb2YgbWljcm9waXBldHRlIHNlYWxpbmcgb2YgYSBIRUsyOTMgY2VsbCA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgPC9maWd1cmU+XG5cblxuICAgICAgICAgIDxwPlRoZSBzdWNjZXNzIG9mIHBhdGNoIGNsYW1wIGV4cGVyaW1lbnRzIGhlYXZpbHkgZGVwZW5kcyBvbiB0aGUgY29tcG9zaXRpb24gb2YgdGhlIHNvbHV0aW9ucyB1c2VkLiBUeXBpY2FsbHksIHR3byBtYWluIHR5cGVzIG9mIHNvbHV0aW9ucyBhcmUgZW1wbG95ZWQ6IFRoZSA8c3Ryb25nPlBpcGV0dGUgU29sdXRpb248L3N0cm9uZz4gaW4gdGhlIG1pY3JvcGlwZXR0ZSBtaW1pY3MgdGhlIGludHJhY2VsbHVsYXIgZW52aXJvbm1lbnRzLCB3aGlsZSB0aGUgPHN0cm9uZz5CYXRoIFNvbHV0aW9uPC9zdHJvbmc+IHN1cnJvdW5kcyB0aGUgY2VsbCBhbmQgdXN1YWxseSBjb250YWlucyBjb21wb25lbnRzIHRoYXQgcmVwbGljYXRlIHRoZSBleHRyYWNlbGx1bGFyIGVudmlyb25tZW50LiBCb3RoIHNvbHV0aW9ucyBhcmUgbWV0aWN1bG91c2x5IGRlc2lnbmVkIHRvIHJlZmxlY3QgdGhlIHBoeXNpb2xvZ2ljYWwgY29uZGl0aW9ucyB1bmRlciB3aGljaCB0aGUgY2VsbHMgb3BlcmF0ZSwgdGhlcmVieSBlbnN1cmluZyB0aGF0IHRoZSBtZWFzdXJlbWVudHMgYWNjdXJhdGVseSByZWZsZWN0IGlvbiBjaGFubmVsIGFjdGl2aXR5IGluIGEgbmF0dXJhbCBzZXR0aW5nIFsyXS48L3A+XG4gICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL21ldGgtcGF0Y2gtY2xhbXAvYmlsZC1tZXRoLXBhdGNoLWNsYW1wLnBuZ1wiIGFsdD1cIlBhdGNoIGNsYW1wIHNldHVwXCIvPlxuICAgICAgICAgICAgPGZpZ2NhcHRpb24+PGI+RmlndXJlIDIuPC9iPiBQYXRjaCBjbGFtcCBzZXR1cDwvZmlnY2FwdGlvbj5cbiAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJBcHBsaWNhdGlvbiBpbiBDRlRSIGdlbmUgcHJpbWUgZWRpdGluZyB2YWxpZGF0aW9uXCIgaWQ9XCJQYXRjaCBDbGFtcDNcIj5cbiAgICAgICAgICAgIDxwPkluIG91ciBvbmdvaW5nIHJlc2VhcmNoIHByb2plY3QgZm9jdXNpbmcgb24gdGhlIHRyZWF0bWVudCBvZiBjeXN0aWMgZmlicm9zaXMsIG91ciBwYXRjaCBjbGFtcCBtZWFzdXJlbWVudHMsIHBlcmZvcm1lZCBpbiBjb2xsYWJvcmF0aW9uIHdpdGggRHIuIE9saXZlciBEclx1MDBFNGdlciBmcm9tIHRoZSBDZWxsdWxhciBOZXVyb3BoeXNpb2xvZ3kgd29ya2luZyBncm91cCBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSwgc2VydmUgYXMgYSBwb3dlcmZ1bCB2YWxpZGF0aW9uIHRvb2wgZm9yIHRoZSBhc3Nlc3NtZW50IG9mIHRoZSBmdW5jdGlvbmFsIGNvcnJlY3Rpb24gb2YgdGhlIENGVFIgZ2VuZSwgcGFydGljdWxhcmx5IHRoZSBjb21tb24gRjUwOGRlbCBtdXRhdGlvbiwgdmlhIHByaW1lIGVkaXRpbmcuIFRoZSBwYXRjaCBjbGFtcCB0ZWNobmlxdWUgY2FuIGJlIGVtcGxveWVkIGluIHRoaXMgY29udGV4dCB0byBtZWFzdXJlIHRoZSByZXN1bHRpbmcgY2hsb3JpZGUgaW9uIGNoYW5uZWwgYWN0aXZpdHkgd2hpY2ggaXMgYWx0ZXJlZCBieSB0aGUgbXV0YXRpb24gWzRdLiBXaG9sZS1DZWxsIHJlY29yZGluZ3Mgd2VyZSBwZXJmb3JtZWQgdG8gYXNzZXNzIHdoZXRoZXIgdGhlIGNvcnJlY3RlZCBDRlRSIGNoYW5uZWxzIGZ1bmN0aW9uIHNpbWlsYXJseSB0byB0aG9zZSBpbiBoZWFsdGh5IGNlbGxzLiBJZiB0aGUgY2hsb3JpZGUgaW9uIGN1cnJlbnRzIGluIHRoZSBlZGl0ZWQgY2VsbHMgYXBwcm9hY2ggbGV2ZWxzIG9mIGhlYWx0aHkgY2VsbHMsIHRoaXMgd291bGQgc3Ryb25nbHkgc3VnZ2VzdCBzdWNjZXNzZnVsIGdlbmUgZWRpdGluZyBhbmQgdmFsaWRhdGUgdGhlIGZ1bmN0aW9uYWxpdHkgb2Ygb3VyIHRoZXJhcGV1dGljIGFwcHJvYWNoLjwvcD5cbiAgICAgICAgICA8L1N1YmVzY3Rpb24+XG4gICAgICAgIDwvU2VjdGlvbj5cblxuICAgICAgICA8U2VjdGlvbiB0aXRsZT1cIkNlbGwgQ3VsdHVyZVwiIGlkPVwiQ2VsbCBDdWx0dXJlXCI+XG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJIRUsyOTMgYW5kIEhFSzI5M1QgY2VsbCBsaW5lc1wiIGlkPVwiQ2VsbCBDdWx0dXJlMVwiPlxuICAgICAgICAgIDxwPkZvciB0ZXN0aW5nIG91ciBwcmltZSBlZGl0aW5nIGFwcHJvYWNoLCB3ZSBuZWVkZWQgYW4gZWFzeS10by1oYW5kbGUgY2VsbCBsaW5lIHdpdGggYSBtZWFzdXJhYmxlIGhpZ2ggZXhwcmVzc2lvbiBvZiBDRlRSIGFuZCB0aGUgQ0ZUUiBGNTA4ZGVsIG11dGF0aW9uLiBXaGVuIHRhbGtpbmcgdG8gTWF0dGlqcyBCdWxjYWVuIGZyb20gdGhlIExhYm9yYXRvcnkgb2YgTW9sZWN1bGFyIFZpcm9sb2d5IGFuZCBHZW5lIFRoZXJhcHkgYXQgS1UgTGV1dmVuLCBoZSByZWNvbW1lbmRlZCB0byB1c2UgSEVLMjkzVCBjZWxsIGxpbmVzIG92ZXJleHByZXNzaW5nIENGVFIgdGhleSBoYWQgdXNlZC4gSEVLMjkzIGNlbGxzIGFyZSBhIHZlcnkgY29tbW9uIGltbW9ydGFsaXplZCBodW1hbiBjZWxsIGxpbmUgZGVyaXZlZCBmcm9tIHRoZSBraWRuZXlzIG9mIGEgZmVtYWxlIGVtYnJ5by4gVGhleSBhcmUgcGFydGljdWxhcmx5IHN1aXRlZCB0byByZXNlYXJjaCBkdWUgdG8gdGhlaXIgY29udmVuaWVudCBoYW5kbGluZyBhbmQgdHJhbnNmZWN0aW9uIHByb3BlcnRpZXMuIEJhc2ljIEhFSzI5MyBjZWxscyB3ZXJlIHByb3ZpZGVkIHRvIHVzIGJ5IHRoZSBDZWxsdWxhciBhbmQgTW9sZWN1bGFyIEJpb3RlY2hub2xvZ3kgd29ya2luZyBncm91cCBhdCBCaWVsZWZlbGQgVW5pdmVyc2l0eSBsZWQgYnkgUHJvZi4gRHIuIEtyaXN0aWFuIE1cdTAwRkNsbGVyLCB3aG8gaXMgYWxzbyBvbmUgb2YgdGhlIFByaW5jaXBhbCBJbnZlc3RpZ2F0b3JzIG9mIG91ciB0ZWFtLiBIRUsyOTNUIGNlbGxzIGV4cHJlc3MgYW4gYWRkaXRpb25hbCB0c0ExNjA5IGFsbGVsZSBvZiB0aGUgU1Y0MCBsYXJnZSBULWFudGlnZW4sIGFsbG93aW5nIGZvciByZXBsaWNhdGlvbiBvZiB2ZWN0b3JzIGNvbnRhaW5pbmcgdGhlIFNWNDAgb3JpZ2luIG9mIHJlcGxpY2F0aW9uWzVdLiBCZXNpZGVzIHRoZSBuYXRpdmUgQ0ZUUiBnZW5lLCB3aGljaCBpcyBub3QgZXhwcmVzc2VkIGluIEhFSyBjZWxscywgdGhlIEhFSzI5M1QgY2VsbCBsaW5lcyB1c2VkIGluIExldXZlbiBjYXJyeSBhbm90aGVyIGNvcHkgb2YgdGhlIGdlbmUgZW1iZWRkZWQgaW4gYW4gZXhwcmVzc2lvbiBjYXNzZXR0ZS4gVGhlIGNhc3NldHRlIGluY2x1ZGVzIGEgQ01WIHByb21vdGVyLCB3aGljaCBpcyBhIHN0YW5kYXJkIHByb21vdGVyIHVzZWQgZm9yIGdlbmUgb3ZlcmV4cHJlc3Npb24gaW4gaHVtYW4gY2VsbHMgZGVyaXZlZCBmcm9tIHRoZSBodW1hbiBDeXRvbWVnYWxvdmlydXNbNl0sIGFzIHdlbGwgYXMgYSBwdXJvbXljaW4gcmVzaXN0YW5jZSBjby1leHByZXNzZWQgd2l0aCB0aGUgQ0ZUUiBhbGxvd2luZyBmb3IgY29udGludW91cyBzZWxlY3Rpb24gb2YgQ0ZUUiBleHByZXNzaW5nIGNlbGxzLiBUaGUgd2hvbGUgY29uc3RydWN0IHdhcyBzdGFibHkgaW5zZXJ0ZWQgaW50byB0aGUgZ2Vub21lIHVzaW5nIGxlbnRpdmlyYWwgdHJhbnNkdWN0aW9uWzddWzhdLiA8L3A+XG4gICAgICAgICAgPGZpZ3VyZT5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9zdGF0aWMuaWdlbS53aWtpL3RlYW1zLzUyNDcvcGhvdG9zL2Zvci13aWtpLXRleHRzL21ldGgtdXNlZC1jZWxscy9taWtyb3Nrb3BpZS1oZWsyOTN0LnBuZ1wiIGFsdD1cIlBoYXNlIGNvbnRyYXN0IGltYWdlIG9mIEhFSzI5M1QgYXQgMjB4IG1hZ25pZmljYXRpb25cIi8+XG4gICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+RmlndXJlIDMuPC9iPlBoYXNlIGNvbnRyYXN0IGltYWdlIG9mIEhFSzI5M1QgYXQgMjB4IG1hZ25pZmljYXRpb248L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgPC9maWd1cmU+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQ0ZCRTQxby0gY2VsbCBsaW5lXCIgaWQ9XCJDZWxsIEN1bHR1cmUyXCI+XG4gICAgICAgICAgPHA+VGhlIENGQkU0MW8tIGNlbGwgbGluZSwgZGVyaXZlZCBmcm9tIGJyb25jaGlhbCBlcGl0aGVsaWFsIGNlbGxzIG9mIGEgb25lLXllYXItb2xkIGN5c3RpYyBmaWJyb3NpcyBwYXRpZW50LCBzZXJ2ZXMgYXMgYSB2aXRhbCBtb2RlbCBmb3Igc3R1ZHlpbmcgY3lzdGljIGZpYnJvc2lzLiBUaGVzZSBjZWxscyBjbG9zZWx5IG1pbWljIHRoZSBwaHlzaW9sb2dpY2FsIGVudmlyb25tZW50IG9mIHRoZSBhaXJ3YXkgZXBpdGhlbGl1bSwgYWxsb3dpbmcgZm9yIG1vcmUgYWNjdXJhdGUgc3R1ZGllcyBvbiBob3cgQ0ZUUiBtdXRhdGlvbnMgYWZmZWN0IGNlbGwgZnVuY3Rpb24gYW5kIHJlc3BvbnNlIHRvIHRyZWF0bWVudHMuIFRoZXkgd2VyZSBpbW1vcnRhbGl6ZWQgdGhyb3VnaCBjYWxjaXVtLXBob3NwaGF0ZS1tZWRpYXRlZCB0cmFuc2ZlY3Rpb24gdXNpbmcgYSByZXBsaWNhdGlvbi1kZWZlY3RpdmUgcFNWb3JpIHBsYXNtaWQgdGhhdCBjYXJyaWVzIHRoZSBzaW1pYW4gdmlydXMgNDAgbGFyZ2UgVC1hbnRpZ2VuIChTVjQwLUxUKS4gVGhlIHBsYXNtaWQncyBkZWZlY3RpdmUgb3JpZ2luIG9mIHJlcGxpY2F0aW9uIHByZXZlbnRzIHZpcmFsIHByb3BhZ2F0aW9uLCB0aHVzIHByZXNlcnZpbmcgZXNzZW50aWFsIHBoeXNpb2xvZ2ljYWwgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBjZWxscyB3aGlsZSBlbmFibGluZyB0aGVtIHRvIGRldmVsb3AgZGlmZmVyZW50aWF0ZWQgbW9ycGhvbG9naWVzLiBDRkJFNDFvLSBjZWxscyBhcmUgaG9tb3p5Z291cyBmb3IgdGhlIEY1MDhkZWwgQ0ZUUiBtdXRhdGlvbiBbOV0uIFdlIGFyZSBoYXBweSB3ZSBnb3QgdGhpcyBjZWxsIGxpbmUgd2l0aCBwZXJtaXNzaW9uIGZyb20gPGEgb25DbGljaz17KCkgPT4gZ29Ub1BhZ2VzQW5kT3BlblRhYignaWduYXRvdmEnLCAnL2h1bWFuLXByYWN0aWNlcycpfT5Qcm9mLiBEci4gSWduYXRvdmE8L2E+LCB3aG8gaXMgbGVhZGVyIG9mIGEgd29ya2luZyBncm91cCBhdCB0aGUgSW5zdGl0dXRlIGZvciBCaW9jaGVtaXN0cnkgYW5kIE1vbGVjdWxhciBCaW9sb2d5IG9mIEhhbWJ1cmcgVW5pdmVyc2l0eSBhbmQgYW4gaUdFTSBzdXBwb3J0ZXIgc2luY2UgYSBsb25nIHRpbWUgWzEwXS4gPC9wPlxuICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgICAgICA8U3ViZXNjdGlvbiB0aXRsZT1cIkh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgKGhORUNzKVwiIGlkPVwiQ2VsbCBDdWx0dXJlM1wiPlxuICAgICAgICAgIDxwPkh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgd2VyZSBvYnRhaW5lZCBieSBuYXNhbCBicnVzaGluZywgYSBtaW5pbWFsbHkgaW52YXNpdmUgbWV0aG9kLiBUaGVzZSBjZWxscyBmdW5jdGlvbi9hY3QgYXMgcHJpbWFyeSBjdWx0dXJlcy4gQ3VsdGl2YXRlZCBpbiBhaXItbGlxdWlkIGludGVyZmFjZSAoQUxJKSBjdWx0dXJlcyBhbmQgYXBpY2FsLW91dCBhaXJ3YXkgb3JnYW5vaWRzIChBT0FPKSwgdGhleSBzZXJ2ZSBhcyBhIHN1aXRhYmxlIG1vZGVsIHRvIHZpc3VhbGlzZSB0aGUgZnVuY3Rpb25hbCBlcGl0aGVsaXVtIG9mIHRoZSBhaXJ3YXlzIGluIGEgZGlmZmVyZW50aWF0ZWQgZm9ybS4gVGhlIDxpPmluIHZpdm88L2k+IGFzcGVjdHMgb2YgYW4gYWlyd2F5IGRpc2Vhc2UsIHN1Y2ggYXMgQ0YsIGNhbiBiZSBtb2RlbGxlZCB1c2luZyBkb25vcnMgd2l0aCB0aG9zZSBhaXJ3YXkgZGlzZWFzZXMgWzExXS4gVGhpcyBtb2RlbCBpcyB0aGVyZWZvcmUgcGFydGljdWxhcmx5IHN1aXRhYmxlIGZvciB0ZXN0aW5nIG91ciBwcmltZSBlZGl0aW5nIGNvbXBsZXguIDwvcD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvd1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICA8aWZyYW1lIHRpdGxlPVwiQmllbGVmZWxkLUNlQmlUZWM6IEFMSSBjZWxsIGN1bHR1cmUgKDIwMjQpIFtFbmdsaXNoXVwiIHdpZHRoPVwiNTYwXCIgaGVpZ2h0PVwiMzE1XCIgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy92aWRlb3MvZW1iZWQvZmY1NTdmNWEtOTRiZS00NWU2LTkwY2EtMGFmZmExNDQyM2UzP2F1dG9wbGF5PTEmYW1wO211dGVkPTFcIiBmcmFtZUJvcmRlcj1cIjBcIiBhbGxvd0Z1bGxTY3JlZW49e3RydWV9IHNhbmRib3g9XCJhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1zY3JpcHRzIGFsbG93LXBvcHVwcyBhbGxvdy1mb3Jtc1wiPjwvaWZyYW1lPlxuICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gPGI+RmlndXJlIDQuIDwvYj4gQUxJIGN1bHR1cmVzIG9mIGhORUNzOiBUaGUgYWN0aXZlIGNpbGlhIGJlYXQgZnJlcXVlbmN5IG9mIGRpZmZlcmVudGlhdGVkIGh1bWFuIG5hc2FsIGVwaXRoZWxpYWwgY2VsbHMgKGhORUNzKSBpbiBhaXItbGlxdWlkIGludGVyZmFjZSAoQUxJKSBjdWx0dXJlIGlzIHZpc2libGUuIFRoaXMgY2lsaWFyeSBtb3ZlbWVudCBpcyBjcnVjaWFsIGZvciBtdWNvY2lsaWFyeSB0cmFuc3BvcnQsIHdoaWNoIGNvbnRyaWJ1dGVzIHRvIHRoZSBjbGVhcmFuY2Ugb2YgcGFydGljbGVzIGFuZCBwYXRob2dlbnMgaW4gdGhlIHJlc3BpcmF0b3J5IHRyYWN0LiA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2xcIj5cbiAgICAgICAgICAgIDxmaWd1cmU+XG4gICAgICAgICAgICAgIDxpZnJhbWUgdGl0bGU9XCJCaWVsZWZlbGQtQ2VCaVRlYzogQU9BTyBjZWxsIGN1bHR1cmUgKDIwMjQpIFtFbmdsaXNoXVwiIHdpZHRoPVwiNTYwXCIgaGVpZ2h0PVwiMzE1XCIgc3JjPVwiaHR0cHM6Ly92aWRlby5pZ2VtLm9yZy92aWRlb3MvZW1iZWQvMDU4ZDgzY2YtYWIwOS00NzZlLTlhYjItMzBjZDExNGZiYzBjP2F1dG9wbGF5PTEmYW1wO211dGVkPTFcIiBmcmFtZUJvcmRlcj1cIjBcIiBhbGxvd0Z1bGxTY3JlZW49e3RydWV9IHNhbmRib3g9XCJhbGxvdy1zYW1lLW9yaWdpbiBhbGxvdy1zY3JpcHRzIGFsbG93LXBvcHVwcyBhbGxvdy1mb3Jtc1wiPjwvaWZyYW1lPlxuICAgICAgICAgICAgIDxmaWdjYXB0aW9uPiA8Yj5GaWd1cmUgNS4gPC9iPiBBcGljYWwtT3V0IEFpcndheSBPcmdhbm9pZCAoQU9BTykgY3VsdHVyZTogVmlzaWJsZSBhcGljYWwtb3V0IGFpcndheSBvcmdhbm9pZHMgaW4gYWN0aW9uLiBUaGVzZSAzRCBzdHJ1Y3R1cmVzLCB3aGljaCBtaW1pYyB0aGUgYWlyd2F5IGVwaXRoZWxpdW0sIGFsbG93IGRldGFpbGVkIHN0dWR5IG9mIGNlbGx1bGFyIHByb2Nlc3NlcyBzdWNoIGFzIG11Y29jaWxpYXJ5IHRyYW5zcG9ydCBhbmQgc2VjcmV0b3J5IGFjdGl2aXRpZXMsIGluIHdoaWNoIGNpbGlhIGFuZCB2ZXNpY2xlcyBwbGF5IGEga2V5IHJvbGUuICA8L2ZpZ2NhcHRpb24+XG4gICAgICAgICAgIDwvZmlndXJlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICBcblxuICAgICAgICA8L1NlY3Rpb24+XG4gICAgICAgIDxTZWN0aW9uIHRpdGxlPVwiTE5Qc1wiIGlkPVwiTE5Qc1wiPlxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQ3l0b3RveGljaXR5IFRlc3RzXCIgaWQ9XCJDeXRvdG94aWNpdHkgVGVzdHNcIj5cbiAgICAgICAgICA8SDQgdGV4dD1cIkFzc2Vzc2luZyB0aGUgU2FmZXR5IG9mIE91ciBMTlBzIFwiPjwvSDQ+XG4gICAgICAgICAgICA8cD5FbnN1cmluZyB0aGUgc2FmZXR5IGFuZCB0aG9yb3VnaCBjaGFyYWN0ZXJpemF0aW9uIG9mIG91ciBMTlBzIHdhcyBhIGNlbnRyYWwgcGFydCBvZiBvdXIgcHJvamVjdCwgYXMgdGhlc2UgcGFydGljbGVzIGFyZSBpbnRlbmRlZCBmb3IgdXNlIGluIGJpb2xvZ2ljYWwgc3lzdGVtcy4gV2UgaW1wbGVtZW50ZWQgYSBjb21wcmVoZW5zaXZlIHJhbmdlIG9mIGFzc2F5cyBhbmQgdGVjaG5pcXVlcyB0byBhc3Nlc3MgdGhlaXIgYmlvc2FmZXR5IGFuZCBwaHlzaWNhbCBwcm9wZXJ0aWVzLCBlbnN1cmluZyB0aGVpciBzdWl0YWJpbGl0eSBmb3IgYXBwbGljYXRpb25zIHN1Y2ggYXMgZHJ1ZyBkZWxpdmVyeSBhbmQgZ2VuZSB0aGVyYXB5LiBCZWxvdyBpcyBhbiBvdmVydmlldyBvZiB0aGUga2V5IHN0ZXBzIHdlIHRvb2sgaW4gb3VyIGFzc2Vzc21lbnQuPC9wPlxuICAgICAgICAgIDxINCB0ZXh0PVwiTVRUIEFzc2F5XCI+PC9IND5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncm93IGFsaWduLWl0ZW1zLWNlbnRlcic+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPSdjb2wnPlxuICAgICAgICAgICAgICAgIDxmaWd1cmU+IFxuICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0YXRpYy5pZ2VtLndpa2kvdGVhbXMvNTI0Ny9pbnRlZ3JhdGVkLWh1bWFuLXByYWN0aWNlcy9tdHRhc3NheS53ZWJwXCIgYWx0PVwiUEMxXCIgc3R5bGU9e3ttYXhIZWlnaHQ6IFwiMjAwcHRcIn19Lz4gXG4gICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgNi4gPC9iPiBcbiAgICAgICAgICAgICAgICAgIE1UVCBBc3NheTogZm9ybWF0aW9uIG9mIHB1cnBsZSBmb3JtYXphbiBjcnlzdGFscyBieSBsaXZpbmcgY2VsbHMuXG4gICAgICAgICAgICAgICAgICA8L2ZpZ2NhcHRpb24+IFxuICAgICAgICAgICAgICAgIDwvZmlndXJlPiBcbiAgICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0nY29sJz5cbiAgICAgICAgICAgIDxwPlRvIGV2YWx1YXRlIHRoZSBjeXRvdG94aWNpdHkgb2Ygb3VyIExOUHMsIHdlIGNvbmR1Y3RlZCBhbiBNVFQgYXNzYXksIHdoaWNoIG1lYXN1cmVzIHRoZSBtZXRhYm9saWMgYWN0aXZpdHkgb2YgY2VsbHMuIFRoaXMgYXNzYXkgaXMgYmFzZWQgb24gdGhlIGFiaWxpdHkgb2YgbGl2aW5nIGNlbGxzIHRvIHJlZHVjZSBNVFQsIGEgeWVsbG93IHRldHJhem9saXVtIHNhbHQsIGludG8gcHVycGxlIGZvcm1hemFuIGNyeXN0YWxzIHRocm91Z2ggTkFEKFApSC1kZXBlbmRlbnQgZW56eW1lcy4gQ2VsbHMgd2VyZSB0cmVhdGVkIHdpdGggdmFyaW91cyBjb25jZW50cmF0aW9ucyBvZiBMTlBzLCBhbmQgYWZ0ZXIgZGlzc29sdmluZyB0aGUgZm9ybWF6YW4gY3J5c3RhbHMgd2l0aCBETVNPLCB3ZSBtZWFzdXJlZCBhYnNvcmJhbmNlLiBIaWdoZXIgYWJzb3JiYW5jZSB2YWx1ZXMgaW5kaWNhdGUgZ3JlYXRlciBjZWxsIHZpYWJpbGl0eS4gT3VyIHJlc3VsdHMgc2hvd2VkIG5vIHNpZ25pZmljYW50IHJlZHVjdGlvbiBpbiBjZWxsIHZpYWJpbGl0eSBhY3Jvc3MgYWxsIExOUCBjb25jZW50cmF0aW9ucywgZGVtb25zdHJhdGluZyB0aGF0IHRoZSBMTlBzIGRpZCBub3QgaW5kdWNlIGN5dG90b3hpYyBlZmZlY3RzLiBUaGlzIGZpbmRpbmcgaXMgY3J1Y2lhbCBmb3IgZW5zdXJpbmcgdGhhdCB0aGUgTE5QcyBhcmUgc2FmZSBmb3IgYmlvbG9naWNhbCB1c2UsIHN1cHBvcnRpbmcgdGhlaXIgcG90ZW50aWFsIGluIGNsaW5pY2FsIGFwcGxpY2F0aW9ucyBzdWNoIGFzIGRydWcgZGVsaXZlcnkgYW5kIGdlbmUgdGhlcmFweS4gT3ZlcmFsbCwgdGhlIE1UVCBhc3NheSBwcm92aWRlZCBzdHJvbmcgZXZpZGVuY2Ugb2YgdGhlIGJpb2NvbXBhdGliaWxpdHkgb2Ygb3VyIExOUHMuIDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+IFxuICAgICAgICAgIDxINCB0ZXh0PVwiUHJvbGlmZXJhdGlvbiBBc3NheSB0byBNb25pdG9yIExvbmctVGVybSBTYWZldHlcIj48L0g0PlxuICAgICAgICAgICAgPHA+SW4gYWRkaXRpb24gdG8gYXNzZXNzaW5nIGltbWVkaWF0ZSBjeXRvdG94aWNpdHksIHdlIGFsc28gZXZhbHVhdGVkIHRoZSBsb25nLXRlcm0gc2FmZXR5IG9mIHRoZSBMTlBzIGJ5IGNvbmR1Y3RpbmcgYSBwcm9saWZlcmF0aW9uIGFzc2F5LiBUaGlzIGFzc2F5IHRyYWNrZWQgY2VsbCBkaXZpc2lvbiBhbmQgZ3Jvd3RoIG92ZXIgdGltZSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgTE5QcyBpbXBhY3RlZCBjZWxsdWxhciBmdW5jdGlvbi4gT3VyIHJlc3VsdHMgc2hvd2VkIHRoYXQgTE5QLXRyZWF0ZWQgY2VsbHMgaGFkIHNpbWlsYXIgZ3Jvd3RoIHJhdGVzIHRvIHVudHJlYXRlZCBjb250cm9scywgaW5kaWNhdGluZyB0aGF0IHRoZSBMTlBzIGRvIG5vdCBpbnRlcmZlcmUgd2l0aCBub3JtYWwgY2VsbCBwcm9jZXNzZXMuIFRoaXMgZnVydGhlciBjb25maXJtcyB0aGVpciBiaW9jb21wYXRpYmlsaXR5IGFuZCBzdWl0YWJpbGl0eSBmb3IgdXNlIGluIGJpb2xvZ2ljYWwgc3lzdGVtcy48L3A+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiRmx1b3Jlc2NlbmNlLUFjdGl2YXRlZCBDZWxsIFNvcnRpbmcgKEZBQ1MpXCIgaWQ9XCJGQUNTXCI+XG4gICAgICAgICAgICA8cD5UbyBhc3Nlc3MgdGhlIHRyYW5zZmVjdGlvbiBlZmZpY2llbmN5IG9mIG91ciBMTlBzLCB3ZSB1c2VkIGZsdW9yZXNjZW5jZS1hY3RpdmF0ZWQgY2VsbCBzb3J0aW5nIChGQUNTKS4gVGhpcyBtZXRob2QgaW52b2x2ZWQgdGFnZ2luZyB0aGUgTE5QcyB3aXRoIGZsdW9yZXNjZW50IG1hcmtlcnMgYW5kIG1lYXN1cmluZyB0aGVpciBhYmlsaXR5IHRvIGRlbGl2ZXIgZ2VuZXRpYyBtYXRlcmlhbCBpbnRvIHRhcmdldCBjZWxscy4gRkFDUyBwcm92aWRlZCBxdWFudGl0YXRpdmUgaW5zaWdodHMgaW50byBob3cgZWZmZWN0aXZlbHkgdGhlIExOUHMgdHJhbnNmZWN0ZWQgY2VsbHMsIGhlbHBpbmcgdXMgb3B0aW1pemUgdGhlaXIgZGVzaWduIGZvciBnZW5lIHRoZXJhcHkgYXBwbGljYXRpb25zLiA8L3A+XG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuXG4gICAgICAgICAgPFN1YmVzY3Rpb24gdGl0bGU9XCJJbi1EZXB0aCBDaGFyYWN0ZXJpemF0aW9uIG9mIExOUHNcIiBpZD1cIkluLURlcHRoIENoYXJhY3Rlcml6YXRpb24gb2YgTE5Qc1wiPlxuICAgICAgICAgICAgPEg0IHRleHQ9XCJEeW5hbWljIExpZ2h0IFNjYXR0ZXJpbmcgKERMUykgYW5kIFpldGEgUG90ZW50aWFsXCI+PC9IND4gXG4gICAgICAgICAgICAgIDxwPlRoZSBoeWRyb2R5bmFtaWMgcmFkaXVzIChcdUQ4MzVcdURDNDVcdUQ4MzVcdURDM0IpIG9mIHRoZSB2ZXNpY2xlcyBhbmQgTE5QcyB3YXMgZGV0ZXJtaW5lZCB0aHJvdWdoIGFuZ2xlLWRlcGVuZGVudCBwaG90b24gY29ycmVsYXRpb24gc3BlY3Ryb3Njb3B5IChQQ1MpIGF0IFx1RDgzNVx1REM0Nz0yMFx1MDBCMEMuIFNhbXBsZXMgd2VyZSBtZWFzdXJlZCBpbiBOTVIgdHViZXMgdXNpbmcgYSAzRCBMUyBTcGVjdHJvbWV0ZXIgUHJvIChMUyBJbnN0cnVtZW50cywgRnJpYm91cmcsIFN3aXR6ZXJsYW5kKSwgd2hpY2ggd2FzIGVxdWlwcGVkIHdpdGggYSBIZU5lIExhc2VyICg2MzIuOCBubSwgMTE0NVA7IEpEU1UsIE1pbHBpdGFzLCBDQSwgVVNBKSwgYSBkZWNhbGluZSBpbmRleC1tYXRjaGluZyB2YXQsIGFuIGF1dG9tYXRlZCBnb25pb21ldGVyLCBhbmQgdHdvIGRldGVjdG9ycy4gTWVhc3VyZW1lbnRzIHdlcmUgcGVyZm9ybWVkIGluIGEgM0QgY3Jvc3MtbW9kZSB0byBlbGltaW5hdGUgbXVsdGlwbGUgc2NhdHRlcmluZyBlZmZlY3RzLCBjb3ZlcmluZyBhIHNjYXR0ZXJpbmcgYW5nbGUgcmFuZ2Ugb2YgMzBcdTAwQjAgdG8gMTIwXHUwMEIwIGluIGluY3JlbWVudHMgb2YgMTBcdTAwQjAsIHdpdGggYSBtZWFzdXJpbmcgdGltZSBvZiB0aHJlZSBpbnRlcnZhbHMgb2YgMTIwIHMgcGVyIGFuZ2xlLlRoZSBhdXRvY29ycmVsYXRpb24gZnVuY3Rpb24gb2YgdGhlIHNjYXR0ZXJlZCBsaWdodCBpbnRlbnNpdHkgd2FzIGdlbmVyYXRlZCB1c2luZyBhIG11bHRpcGxlLVx1MDNDNCBkaWdpdGFsIGNvcnJlbGF0b3IgYW5kIGFuYWx5emVkIHZpYSBpbnZlcnNlIExhcGxhY2UgdHJhbnNmb3JtYXRpb24gKENPTlRJTikgdG8gZGV0ZXJtaW5lIHRoZSBtZWFuIHJlbGF4YXRpb24gcmF0ZSAoXHUwMzkzKS4gRnJvbSB0aGVzZSBkYXRhLCB0aGUgaHlkcm9keW5hbWljIHJhZGl1cyAoXHVEODM1XHVEQzQ1XHVEODM1XHVEQzNCKSB3YXMgY2FsY3VsYXRlZCB1c2luZyB0aGUgU3Rva2VzXHUyMDEzRWluc3RlaW4gZXF1YXRpb246IFxuICAgICAgICAgICAgICAgIFx1RDgzNVx1REM0NVx1RDgzNVx1REMzQj1cdUQ4MzVcdURDNThcdUQ4MzVcdURDMzVcdTIyQzVcdUQ4MzVcdURDNDcvNlx1RDgzNVx1REYwQlx1RDgzNVx1REYwMlx1RDgzNVx1REMzN1x1RDgzNVx1REM0NyB3aGVyZSBcdUQ4MzVcdURDNThcdUQ4MzVcdURDMzUgaXMgdGhlIEJvbHR6bWFubiBjb25zdGFudCwgVCBpcyB0aGUgdGVtcGVyYXR1cmUsIFx1MDNCNyBpcyB0aGUgc29sdmVudCB2aXNjb3NpdHksIGFuZCBEVFxuICBpcyB0aGUgdHJhbnNsYXRpb25hbCBkaWZmdXNpb24gY29lZmZpY2llbnQuIFRoZSB2YWx1ZSBvZiBcdUQ4MzVcdURDMzdcdUQ4MzVcdURDNDcgd2FzIG9idGFpbmVkIGZyb20gdGhlIHNsb3BlIG9mIHRoZSBsaW5lYXIgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIHJlbGF4YXRpb24gcmF0ZSAoXHUwMzkzKSBhbmQgXG4gIHRoZSBzcXVhcmVkIG1hZ25pdHVkZSBvZiB0aGUgc2NhdHRlcmluZyB2ZWN0b3IgKFx1RDgzNVx1REM1RTIpIGFzIGRlZmluZWQgYnk6XHUwMzkzID1cdUQ4MzVcdURDMzdcdUQ4MzVcdURDNDdcdTIyQzVcdUQ4MzVcdURDNUUyXHUwMzkzLlxuIFRoZSB2aXNjb3NpdHkgb2Ygd2F0ZXIgd2FzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRlbXBlcmF0dXJlIHRvIHByb3ZpZGUgYWNjdXJhdGUgbWVhc3VyZW1lbnRzIGZvciB0aGUgZ2l2ZW4gY29uZGl0aW9ucy5cblRvIGNvbXBsZW1lbnQgdGhlIFBDUyBhbmFseXNpcywgZHluYW1pYyBsaWdodCBzY2F0dGVyaW5nIChETFMpIHdhcyB1c2VkIHRvIGRldGVybWluZSB0aGUgc2l6ZSBkaXN0cmlidXRpb24gYW5kIHBvbHlkaXNwZXJzaXR5IGluZGV4IChQREkpIG9mIHRoZSBMTlBzLiBETFMgbWVhc3VyZW1lbnRzIGNvbmZpcm1lZCB0aGF0IHRoZSBMTlBzIGhhZCBhIGNvbnNpc3RlbnQgc2l6ZSBkaXN0cmlidXRpb24gd2l0aCBtaW5pbWFsIGFnZ3JlZ2F0aW9uLCB3aGljaCBpcyBjcnVjaWFsIGZvciB0aGVpciBzdGFiaWxpdHkgYW5kIGVmZmVjdGl2ZW5lc3MuIEZ1cnRoZXJtb3JlLCB3ZSBhc3Nlc3NlZCB0aGUgemV0YSBwb3RlbnRpYWwgb2YgdGhlIExOUHMgdG8gZXZhbHVhdGUgdGhlaXIgc3VyZmFjZSBjaGFyZ2UuIEEgaGlnaCB6ZXRhIHBvdGVudGlhbCB2YWx1ZSBpbmRpY2F0ZWQgdGhhdCB0aGUgTE5QcyB3ZXJlIHN0YWJsZSBpbiBzdXNwZW5zaW9uLCBhIG5lY2Vzc2FyeSBjb25kaXRpb24gZm9yIG1haW50YWluaW5nIHRoZWlyIGZ1bmN0aW9uYWxpdHkgaW4gYmlvbG9naWNhbCBlbnZpcm9ubWVudHMuXG5PdmVyYWxsLCB0aGUgY29tYmluYXRpb24gb2YgUENTLCBETFMsIGFuZCB6ZXRhIHBvdGVudGlhbCBtZWFzdXJlbWVudHMgcHJvdmlkZWQgYSBjb21wcmVoZW5zaXZlIGNoYXJhY3Rlcml6YXRpb24gb2YgdGhlIExOUHMsIGNvbmZpcm1pbmcgdGhlaXIgaHlkcm9keW5hbWljIHByb3BlcnRpZXMsIHN0YWJpbGl0eSwgYW5kIHN1aXRhYmlsaXR5IGZvciBkcnVnIGRlbGl2ZXJ5IGFwcGxpY2F0aW9ucy4gPC9wPlxuICAgICAgICAgICAgPEg0IHRleHQ9XCJTRU0gYW5kIENyeW8tRU0gZm9yIFN0cnVjdHVyYWwgQW5hbHlzaXNcIj48L0g0PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JvdyBhbGlnbi1pdGVtcy1jZW50ZXInPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICA8cD5Gb3IgdGhlIGNyeW9nZW5pYyBlbGVjdHJvbiBtaWNyb3Njb3B5IChDcnlvLUVNKSBhbmFseXNpcywgc2FtcGxlcyB3ZXJlIHZpdHJpZmllZCBvbiBob2xleSBjYXJib24gVEVNIGdyaWRzIChMYWNleSBDYXJib24gRmlsbSBjb2F0ZWQsIDIwMCBNZXNoOyBTY2llbmNlIFNlcnZpY2VzLCBNXHUwMEZDbmNoZW4sIEdlcm1hbnkpIHVzaW5nIGEgTGVpY2EgYmxvdHRpbmcgYW5kIHBsdW5naW5nIGRldmljZSAoTGVpY2EgRU0gR1AsIExlaWNhIE1pa3Jvc3lzdGVtZSBWZXJ0cmllYiBHbWJILCBXZXR6bGFyLCBHZXJtYW55KS4gVGhlIGdyaWRzIHdlcmUgcmFwaWRseSBwbHVuZ2VkIGludG8gbGlxdWlkIGV0aGFuZSBjb29sZWQgYnkgbGlxdWlkIG5pdHJvZ2VuIHRvIGVuc3VyZSBzdWZmaWNpZW50bHkgZmFzdCBjb29saW5nLiBBZnRlciB2aXRyaWZpY2F0aW9uLCB0aGUgZ3JpZHMgd2VyZSB0cmFuc2ZlcnJlZCB0byBhIGNyeW8gdHJhbnNmZXIgYW5kIHRvbW9ncmFwaHkgaG9sZGVyIChGaXNjaGlvbmUgTW9kZWwgMjU1MCwgRS5BLiBGaXNjaGlvbmUgSW5zdHJ1bWVudHMsIFBpdHRzYnVyZ2gsIFVTQSkuXG5URU0gaW1hZ2VzIHdlcmUgYWNxdWlyZWQgdXNpbmcgYSBKRU9MIEpFTS0yMjAwRlMgZWxlY3Ryb24gbWljcm9zY29wZSAoSkVPTCwgRnJlaXNpbmcsIEdlcm1hbnkpIGVxdWlwcGVkIHdpdGggYSBjb2xkIGZpZWxkIGVtaXNzaW9uIGVsZWN0cm9uIGd1biwgb3BlcmF0ZWQgYXQgYW4gYWNjZWxlcmF0aW9uIHZvbHRhZ2Ugb2YgMjAwIGtWLiBBbGwgaW1hZ2VzIHdlcmUgY2FwdHVyZWQgZGlnaXRhbGx5IHVzaW5nIGEgYm90dG9tLW1vdW50ZWQgY2FtZXJhIChHYXRhbiBPbmVWaWV3LCBHYXRhbiwgUGxlYXNhbnRvbiwgVVNBKSBhbmQgcHJvY2Vzc2VkIHdpdGggYSBkaWdpdGFsIGltYWdpbmcgcHJvY2Vzc2luZyBzeXN0ZW0gKERpZ2l0YWwgTWljcm9ncmFwaCBHTVMgMywgR2F0YW4sIFBsZWFzYW50b24sIFVTQSkuXG5JbiBhZGRpdGlvbiB0byBDcnlvLUVNLCB3ZSBlbXBsb3llZCBzY2FubmluZyBlbGVjdHJvbiBtaWNyb3Njb3B5IChTRU0pIHRvIGZ1cnRoZXIgY2hhcmFjdGVyaXplIHRoZSBtb3JwaG9sb2d5IGFuZCBzdXJmYWNlIHN0cnVjdHVyZSBvZiB0aGUgTE5Qcy4gU0VNIHByb3ZpZGVkIGhpZ2gtcmVzb2x1dGlvbiBpbWFnZXMgdGhhdCBjb25maXJtZWQgdGhlIHNwaGVyaWNhbCBzaGFwZSBhbmQgdW5pZm9ybWl0eSBvZiB0aGUgTE5Qcy48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9J2NvbCc+XG4gICAgICAgICAgICAgICAgPGZpZ3VyZT4gXG4gICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImh0dHBzOi8vc3RhdGljLmlnZW0ud2lraS90ZWFtcy81MjQ3L2RlbGl2ZXJ5L3BsYXNtYXRlbS53ZWJwXCIgYWx0PVwiUEMxXCIgc3R5bGU9e3ttYXhIZWlnaHQ6IFwiMjAwcHRcIn19Lz4gXG4gICAgICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgICA8Yj5GaWd1cmUgNy4gPC9iPiBcbiAgICAgICAgICAgICAgICAgIFNhbXBsZSBwcmVwYXJhdGlvbiBmb3IgU0VNOiBzcHV0dGVyaW5nIGluIEFyZ29uIHBsYXNtYS5cbiAgICAgICAgICAgICAgICAgIDwvZmlnY2FwdGlvbj4gXG4gICAgICAgICAgICAgICAgPC9maWd1cmU+IFxuICAgICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgICA8L2Rpdj4gXG4gICAgICAgICAgPC9TdWJlc2N0aW9uPlxuICAgICAgICAgIFxuICAgICAgICAgIDxTdWJlc2N0aW9uIHRpdGxlPVwiQ29uY2x1c2lvblwiIGlkPVwiQ29uY2x1c2lvblwiPlxuICAgICAgICAgIDxINCB0ZXh0PVwiSW1wb3J0YW5jZSBvZiBTYWZldHkgaW4gTE5QIERldmVsb3BtZW50XCI+PC9IND5cbiAgICAgICAgICAgIDxwPlRlc3RpbmcgdGhlIHNhZmV0eSBvZiBvdXIgTE5QcyB3YXMgYSBjcml0aWNhbCBzdGVwIGluIHRoZWlyIGRldmVsb3BtZW50LiBMTlBzIGFyZSBpbmNyZWFzaW5nbHkgYmVpbmcgdXNlZCBpbiBjdXR0aW5nLWVkZ2UgdGhlcmFwaWVzLCBzdWNoIGFzIG1STkEgdmFjY2luZXMgYW5kIHRhcmdldGVkIGRydWcgZGVsaXZlcnkgc3lzdGVtcy4gRm9yIHRoZXNlIHRlY2hub2xvZ2llcyB0byBiZSB2aWFibGUsIHRoZSBuYW5vcGFydGljbGVzIG11c3Qgbm90IGhhcm0gdGhlIGNlbGxzIHRoZXkgYXJlIGludGVuZGVkIHRvIGludGVyYWN0IHdpdGguIFRoZSBNVFQgYW5kIHByb2xpZmVyYXRpb24gYXNzYXlzIHByb3ZpZGVkIHJvYnVzdCBkYXRhLCBjb25maXJtaW5nIHRoZSBiaW9jb21wYXRpYmlsaXR5IG9mIG91ciBMTlBzIGFuZCByZWluZm9yY2luZyB0aGVpciBwb3RlbnRpYWwgZm9yIHNhZmUgdXNlIGluIGZ1cnRoZXIgcmVzZWFyY2ggYW5kIGNsaW5pY2FsIGFwcGxpY2F0aW9ucy4gPC9wPlxuICAgICAgICAgIDwvU3ViZXNjdGlvbj5cbiAgICAgXG4gICAgICAgIDwvU2VjdGlvbj5cbiAgICAgICAgPFNlY3Rpb24gdGl0bGU9XCJSZWZlcmVuY2VzXCIgaWQ9XCJSZWZlcmVuY2VzXCI+XG4gICAgICAgICA8TWV0aG9kU291cmNlcy8+XG4gICAgICAgIDwvU2VjdGlvbj5cblxuICAgICAgICBcblxuICAgICAgICBcbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbiAgIiwgImV4cG9ydCBmdW5jdGlvbiBNRVRISCgpIHtcblxuICAgIHJldHVybiAoXG4gICAgICA8SGVhZGVyQm94IHRpdGxlPVwiTWF0ZXJpYWxzXCIgdGl0bGUyPVwiJiBNZXRob2RzXCIgaWQ9XCJtbWhlYWRcIj5cbiAgICAgICAgXG4gICAgICA8L0hlYWRlckJveD5cbiAgICApO1xuICB9XG4gIFxuICBpbXBvcnQgSGVhZGVyQm94IGZyb20gXCIuLi9jb21wb25lbnRzL0hlYWRlckJveFwiOyIsICJpbXBvcnQgeyBjcmVhdGVTaWRlYmFyIH0gZnJvbSBcIi4uL3V0aWxzL2NyZWF0ZVNpZGViYXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIENvblNpZGViYXIoKXtcbiAgICBsZXQgc2lkZWJhciA9IGNyZWF0ZVNpZGViYXIodGFicyk7IFxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiAgZC1ub25lIGQtbGctYmxvY2tcIj5cbiAgICAgICAgICAge3NpZGViYXJ9XG4gICAgICAgIDwvZGl2PlxuICAgIClcbn1cblxuXG5jb25zdCB0YWJzID0gW1xuICAgIHsgdGFiOiBcIkJGSCBFdXJvcGVhbiBNZWV0VXBcIiwgc3VidGFiczogW1wiQWZ0ZXJ2aWRlb1wiLCBcIlRpbWVsaW5lXCIsIFwiQWJvdXRcIiwgXCJQb3N0ZXJzXCIsIFwiR3VpZGVsaW5lXCIsIFwiR2FsbGVyeVwiLCBcIkRvd25sb2Fkc1wiXX0sXG4gICAge3RhYjogXCJTYWZldHkgR3VpZGVsaW5lXCJ9LFxuICAgIHt0YWI6IFwiQ29sbGFib3JhdGlvbnNcIn0sXG4gICAge3RhYjogXCJQYXRpZW50IE1hdHRlcnNcIn0sXG4gICAge3RhYjogXCJXaWtpXCJ9XG4gIF07XG4iLCAiaW1wb3J0IHsgY3JlYXRlU2lkZWJhciB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVTaWRlYmFyXCI7XG5cblxuXG5leHBvcnQgZnVuY3Rpb24gaUdlbUJpZWxlZmVsZFNpZGViYXIoKXtcbiAgICBsZXQgc2lkZWJhciA9IGNyZWF0ZVNpZGViYXIodGFicyk7IFxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICB7c2lkZWJhcn1cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG5jb25zdCB0YWJzID0gW1xuICAgIHt0YWI6IFwiQmllbGVmZWxkIFVuaXZlcnNpdHlcIn0sXG4gICAgeyB0YWI6IFwiSGlzdG9yeVwifSxcbiAgICB7IHRhYjogXCJTdGVlcmluZyBDb21taXR0ZWVcIiwgc3VidGFiczogW1wiRnVuY3Rpb25cIiwgXCJKXHUwMEY2cm5cIl19LFxuICAgIHt0YWI6IFwiRnV0dXJlXCJ9XG4gIF07IiwgImltcG9ydCB7IGNyZWF0ZVNpZGViYXIgfSBmcm9tIFwiLi4vdXRpbHMvY3JlYXRlU2lkZWJhclwiO1xuXG5leHBvcnQgZnVuY3Rpb24gSnVkU2lkZWJhcigpe1xuICAgIGxldCBzaWRlYmFyID0gY3JlYXRlU2lkZWJhcih0YWJzKTsgXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yICBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICB7c2lkZWJhcn1cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG5cbmNvbnN0IHRhYnMgPSBbXG4gICAge3RhYjogXCJCZXN0IFRoZXJhcGV1dGljIFByb2plY3RcIn0sXG4gICAge3RhYjogXCJCZXN0IEludGVncmF0ZWQgSHVtYW4gUHJhY3RpY2VcIn0sXG4gICAge3RhYjogXCJTYWZldHkgJiBTZWN1cml0eVwifSxcbiAgICB7dGFiOiBcIkJlc3QgTmV3IEJhc2ljIFBhcnRcIn0sXG4gICAge3RhYjogXCJDb25jbHVzaW9uXCJ9XG4gIF07XG4iLCAiaW1wb3J0IHsgY3JlYXRlU2lkZWJhciB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVTaWRlYmFyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBNZXRoU2lkZWJhcigpe1xuICAgIGxldCBzaWRlYmFyID0gY3JlYXRlU2lkZWJhcih0YWJzKTsgXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yIGQtbm9uZSBkLWxnLWJsb2NrXCI+XG4gICAgICAgICAgIHtzaWRlYmFyfVxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cblxuY29uc3QgdGFicyA9IFtcbiAgICB7IHRhYjogXCJJbnRyb2R1Y3Rpb25cIn0sXG4gICAgeyB0YWI6IFwiUGF0Y2ggQ2xhbXBcIiwgc3VidGFiczogW1wiQmFja2dyb3VuZFwiLCBcIlByaW5jaXBsZXNcIiwgXCJBcHBsaWNhdGlvblwiXX0sXG4gICAge3RhYjogXCJDZWxsIEN1bHR1cmVcIiwgc3VidGFiczogW1wiSEVLIENlbGxzXCIsIFwiQ0ZCRTQxby1cIiwgXCJoTkVDc1wiXX0sXG4gICAge3RhYjogXCJMTlBzXCJ9XG4gIF07XG4iLCAiaW1wb3J0IHsgY3JlYXRlU2lkZWJhciB9IGZyb20gXCIuLi91dGlscy9jcmVhdGVTaWRlYmFyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBQYXJ0U2lkZWJhcigpe1xuICAgIGxldCBzaWRlYmFyID0gY3JlYXRlU2lkZWJhcih0YWJzKTsgXG4gICAgcmV0dXJuKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC0yIGQtbm9uZSBkLWxnLWJsb2NrXCI+XG4gICAgICAgICAgIHtzaWRlYmFyfVxuICAgICAgICA8L2Rpdj5cbiAgICApXG59XG5cblxuY29uc3QgdGFicyA9IFtcbiAgICB7IHRhYjogXCJJbnRyb2R1Y3Rpb25cIiwgc3VidGFiczogW1wiRGVzY3JpcHRpb25cIiwgXCJDaGFyYWN0ZXJpemF0aW9uXCJdfSxcbiAgICB7IHRhYjogXCJQcm9jZXNzXCIsIHN1YnRhYnM6IFtcIkVDXCIsIFwiRGVzaWduIGFuZCBCdWlsZFwiXX0sXG4gICAge3RhYjogXCJFeHBlcmltZW50c1wiLCBzdWJ0YWJzOiBbXCJDbG9uaW5nXCIsIFwiTmlrYXNlLUFzc2F5XCIsIFwiQWN0aXZpdHkgRXhwZXJpbWVudHNcIl19LFxuICAgIHt0YWI6IFwiUGFydHMgQ29sbGVjdGlvblwiLCBzdWJ0YWJzOiBbXCJQbGFzbWlkc1wiLCBcIkJhc2ljIFBhcnRzXCIsIFwiQ29tcG9zaXRlIFBhcnRzXCJdfSxcbiAgXTtcbiIsICJcbmltcG9ydCB7IGNyZWF0ZVNpZGViYXIgfSBmcm9tIFwiLi4vdXRpbHMvY3JlYXRlU2lkZWJhclwiO1xuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIFJlc3VsdFNpZGViYXIoKXtcbiAgICBsZXQgc2lkZWJhciA9IGNyZWF0ZVNpZGViYXIodGFicyk7IFxuICAgIHJldHVybihcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb2wtMiBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICB7c2lkZWJhcn1cbiAgICAgICAgPC9kaXY+XG4gICAgKVxufVxuXG5jb25zdCB0YWJzID0gW1xuICAgIHsgdGFiOiBcIkFic3RyYWN0XCIgLCBzdWJ0YWJzOiBbXCJJbnRyb2R1Y3Rpb25cIiwgXCJHb2FscyBhbmQgTWlsZXN0b25lc1wiXX0sXG4gICAge3RhYjogXCJFeHBlcmltZW50YWwgRGVzaWduXCIsIHN1YnRhYnM6IFtcIlByb29mIG9mIENvbmNlcHRcIiwgXCJQcmltZUd1aWRlXCIsIFwiTE5QIFN5bnRoZXNpc1wiLCBcIkNlbGxjdWx0dXJlXCIsIFwiRG93bnN0cmVhbSBBcHBsaWNhdGlvbnNcIl19LFxuICAgIC8vIHt0YWI6IFwiXCJ9LFxuICBdOyIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL2hvbWUvbGlsaS9Eb2N1bWVudHMvaUdlbS9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9ob21lL2xpbGkvRG9jdW1lbnRzL2lHZW0vYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzL3N0cmluZ1RvU2x1Zy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vaG9tZS9saWxpL0RvY3VtZW50cy9pR2VtL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlscy9zdHJpbmdUb1NsdWcudHNcIjtleHBvcnQgZnVuY3Rpb24gc3RyaW5nVG9TbHVnKHN0cmluZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgbGV0IHNsdWcgPSBTdHJpbmcoc3RyaW5nKS50b0xvd2VyQ2FzZSgpO1xuICBzbHVnID0gc2x1Zy5yZXBsYWNlKC9bXmEtejAtOS1dL2csIFwiLVwiKTtcbiAgc2x1ZyA9IHNsdWcucmVwbGFjZSgvLSsvZywgXCItXCIpO1xuICAvLyByZW1vdmUgZGFzaGVzIGF0IHN0YXJ0IGFuZCBlbmRcbiAgY29uc3Qgc3RhcnQgPSBzbHVnLnNlYXJjaCgvW14tXS8pOyAvLyBmaW5kIGluZGV4IG9mIGZpcnN0IG5vbi1kYXNoXG4gIGNvbnN0IGVuZCA9IHNsdWcuc2VhcmNoKC8tKyQvKTsgLy8gZmluZCBpbmRleCBvZiBmaXJzdCBlbmQgZGFzaFxuICByZXR1cm4gc2x1Zy5zdWJzdHJpbmcoc3RhcnQsIGVuZCA9PT0gLTEgPyB1bmRlZmluZWQgOiBlbmQpO1xufVxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvaG9tZS9saWxpL0RvY3VtZW50cy9pR2VtL2JpZWxlZmVsZC1jZWJpdGVjL3NyYy91dGlsc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL2hvbWUvbGlsaS9Eb2N1bWVudHMvaUdlbS9iaWVsZWZlbGQtY2ViaXRlYy9zcmMvdXRpbHMvdXNlU2NyaXB0LnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9ob21lL2xpbGkvRG9jdW1lbnRzL2lHZW0vYmllbGVmZWxkLWNlYml0ZWMvc3JjL3V0aWxzL3VzZVNjcmlwdC50c1wiO2ltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNjcmlwdCh7dXJsfTp7dXJsOiBzdHJpbmd9KSB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG5cbiAgICBzY3JpcHQuc3JjID0gdXJsO1xuICAgIHNjcmlwdC5hc3luYyA9IHRydWU7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JpcHQpO1xuICAgIH1cbiAgfSwgW3VybF0pO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgdXNlU2NyaXB0O1xuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUFtVCxTQUFTLGNBQWMsZUFBZTtBQUN6VixPQUFPLFdBQVc7OztBQ0RsQixTQUFTLFdBQVcsUUFBUSxnQkFBZ0I7QUFhcEMsbUJBS1ksS0FKUixZQURKOzs7QUNiUixTQUFTLGFBQUFBLFlBQVcsVUFBQUMsU0FBUSxZQUFBQyxpQkFBZ0I7QUE4RXBDLHFCQUFBQyxXQU1ZLE9BQUFDLE1BZ0JBLFFBQUFDLGFBdEJaOzs7QUM5RVIsU0FBUyxhQUFBQyxZQUFXLFVBQUFDLFNBQVEsWUFBQUMsaUJBQWdCO0FBOERwQyxxQkFBQUMsV0FVWSxPQUFBQyxNQVlSLFFBQUFDLGFBdEJKOzs7QUM5RFIsU0FBUyxhQUFBQyxZQUFXLFlBQUFDLGlCQUFnQjtBQUNwQyxTQUFTLGFBQWEsbUJBQW1COzs7QUNEekMsU0FBZ0IsZUFBZSxZQUFZLFlBQUFDLGlCQUFnQjtBQVF2RCxnQkFBQUMsWUFBQTtBQU5KLElBQU0saUJBQWlCLGNBQW1CLElBQUk7QUFZdkMsSUFBTSxhQUFhLE1BQU0sV0FBVyxjQUFjOzs7QUNEeEMsZ0JBQUFDLE1BOEVMLFFBQUFDLGFBOUVLO0FBMkZWLFNBQVMsR0FBRyxFQUFDLE1BQU0sR0FBRSxHQUE4QjtBQUN0RCxNQUFJO0FBQ0osTUFBSSxJQUFJO0FBQ0osYUFBUztBQUFBLEVBQ2IsT0FDSTtBQUNBLGFBQVMsYUFBYSxJQUFJO0FBQUEsRUFDOUI7QUFDQSxTQUNJLGdCQUFBQyxLQUFDLFNBQ0csMEJBQUFDLE1BQUMsUUFBRyxXQUFVLE1BQUssSUFBSSxRQUFRO0FBQUE7QUFBQSxJQUFFO0FBQUEsSUFBSztBQUFBLEtBQUMsR0FDM0M7QUFHUjs7O0FDckhZLGdCQUFBQyxZQUFBOzs7QUNZUixxQkFBQUMsV0FJVSxPQUFBQyxNQUdGLFFBQUFDLGFBUFI7OztBQ2JKLFNBQVMsWUFBWTs7O0FDMkJyQixTQUFTLFdBQVcsSUFBWSxZQUFxQjtBQUNuRCxNQUFJLE9BQU8sV0FBVyxZQUFhO0FBRW5DLE1BQUksZUFBZSxTQUFTO0FBQzVCLE1BQUksU0FBUyxZQUFZO0FBRXpCLFVBQVEsSUFBSSxzQkFBc0IsRUFBRSxFQUFFO0FBR3RDLFFBQU0sVUFBVSxTQUFTLHVCQUF1QixZQUFZO0FBQzVELFFBQU0sY0FBYyxTQUFTLHVCQUF1QixpQkFBaUI7QUFDckUsUUFBTSxZQUFZLFNBQVMsdUJBQXVCLFVBQVU7QUFFNUQsV0FBUyxJQUFJLEdBQUcsSUFBSSxRQUFRLFFBQVEsS0FBSztBQUN2QyxJQUFDLFFBQVEsQ0FBQyxFQUFrQixNQUFNLFVBQVU7QUFDNUMsWUFBUSxJQUFJLGtCQUFrQixRQUFRLENBQUMsRUFBRSxFQUFFLEVBQUU7QUFBQSxFQUMvQztBQUNBLFdBQVMsSUFBSSxHQUFHLElBQUksWUFBWSxRQUFRLEtBQUs7QUFDM0MsSUFBQyxZQUFZLENBQUMsRUFBa0IsTUFBTSxVQUFVO0FBQ2hELFlBQVEsSUFBSSx1QkFBdUIsWUFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFO0FBQUEsRUFDeEQ7QUFDQSxXQUFTLElBQUksR0FBRyxJQUFJLFVBQVUsUUFBUSxLQUFLO0FBQ3pDLElBQUMsVUFBVSxDQUFDLEVBQW1CLFVBQVUsT0FBTyxpQkFBaUI7QUFDakUsWUFBUSxJQUFJLHlDQUF5QyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUU7QUFBQSxFQUN4RTtBQUdBLFdBQVMsZUFBZSxFQUFFLEVBQUcsTUFBTSxVQUFVO0FBQzdDLFVBQVEsSUFBSSxnQkFBZ0IsRUFBRSxFQUFFO0FBQ2hDLFdBQVMsZUFBZSxNQUFNLEVBQUcsVUFBVSxJQUFJLGlCQUFpQjtBQUNoRSxVQUFRLElBQUkseUJBQXlCLE1BQU0sRUFBRTtBQUM3QyxXQUFTLGVBQWUsWUFBWSxFQUFHLE1BQU0sVUFBVTtBQUN2RCxVQUFRLElBQUksd0JBQXdCLFlBQVksRUFBRTtBQUdsRCxNQUFJLFlBQVk7QUFDZCxVQUFNLGtCQUFrQixTQUFTLGVBQWUsVUFBVTtBQUMxRCxRQUFJLGlCQUFpQjtBQUNqQixZQUFNLGFBQWEsZ0JBQWdCLHNCQUFzQixFQUFFLE1BQU0sT0FBTztBQUN4RSxZQUFNLFNBQVMsT0FBTyxjQUFjLElBQUksZ0JBQWdCLGVBQWU7QUFDdkUsWUFBTSxpQkFBaUIsYUFBYTtBQUVwQyxhQUFPLFNBQVM7QUFBQSxRQUNaLEtBQUs7QUFBQSxRQUNMLFVBQVU7QUFBQSxNQUNkLENBQUM7QUFBQSxJQUNMO0FBQUEsRUFDSjtBQVFBO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUNqQyxTQUFPLGlCQUFpQixZQUFZLENBQUMsVUFBVTtBQUM3QyxZQUFRLElBQUksMEJBQTBCO0FBQ3RDLFFBQUksTUFBTSxPQUFPO0FBQ2YsWUFBTSxNQUFNLE1BQU0sTUFBTTtBQUN4QixjQUFRLElBQUksa0JBQWtCLEdBQUcsRUFBRTtBQUNuQyxpQkFBVyxHQUFHO0FBR2QsY0FBUSxJQUFJLG9DQUFvQztBQUNoRCxZQUFNLG9CQUFvQixPQUFPLGNBQWM7QUFDL0MsYUFBTyxTQUFTLEVBQUUsS0FBSyxtQkFBbUIsVUFBVSxTQUFTLENBQUM7QUFBQSxJQUNoRSxPQUFPO0FBQ0wsY0FBUSxJQUFJLG1DQUFtQztBQUFBLElBQ2pEO0FBQUEsRUFDRixDQUFDO0FBQ0g7OztBQ3JHcVYsU0FBUyxlQUFBQyxvQkFBbUI7QUFHMVcsSUFBTSxnQkFBZ0IsTUFBTTtBQUMvQixRQUFNLFdBQVdDLGFBQVk7QUFFN0IsUUFBTSxFQUFFLGNBQWMsVUFBVSxJQUFJLFdBQVc7QUFJL0MsUUFBTSxzQkFBc0IsQ0FBQyxPQUFlLFNBQWlCO0FBR3pELGFBQVMsR0FBRyxJQUFJLFFBQVEsS0FBSyxFQUFFO0FBQUEsRUFFbkM7QUFDQSxRQUFNLDhCQUE4QixDQUFDLFlBQW9CLFNBQWlCO0FBR3RFLGFBQVMsR0FBRyxJQUFJLGVBQWUsVUFBVSxFQUFFO0FBQUEsRUFDL0M7QUFDQSxRQUFNLGdDQUFnQyxDQUFDLEVBQUUsTUFBTSxPQUFPLFdBQVcsTUFBNEQ7QUFHekgsUUFBSSxNQUFNLEdBQUcsSUFBSSxRQUFRLEtBQUs7QUFDOUIsUUFBSSxZQUFZO0FBQ1osYUFBTyxlQUFlLFVBQVU7QUFBQSxJQUNwQztBQUNBLGFBQVMsR0FBRztBQUFBLEVBQ2hCO0FBQ0EsUUFBTSx5QkFBeUIsQ0FBQyxFQUFFLE1BQU0sT0FBTyxVQUFVLFdBQVcsTUFBK0U7QUFHL0ksUUFBSSxNQUFNLEdBQUcsSUFBSSxRQUFRLEtBQUs7QUFDOUIsUUFBSSxVQUFVO0FBQ1YsYUFBTyxXQUFXLFFBQVE7QUFBQSxJQUM5QjtBQUNBLFFBQUksWUFBWTtBQUNaLGFBQU8sZUFBZSxVQUFVO0FBQUEsSUFDcEM7QUFDQSxhQUFTLEdBQUc7QUFBQSxFQUNoQjtBQUlBLFFBQU0sMkJBQTJCLENBQUMsRUFBRSxNQUFNLE9BQU8sV0FBVyxNQUEyRDtBQUNuSCxRQUFJLE1BQU0sR0FBRyxJQUFJLFFBQVEsS0FBSztBQUM5QixRQUFJLFlBQVk7QUFDWixhQUFPLGFBQWEsVUFBVTtBQUFBLElBQ2xDO0FBQ0EsYUFBUyxHQUFHO0FBQUEsRUFDaEI7QUFFQSxRQUFNLG9CQUFvQixDQUFDLFlBQW9CLFNBQWlCO0FBRTVELGFBQVMsR0FBRyxJQUFJLGFBQWEsVUFBVSxFQUFFO0FBQUEsRUFDN0M7QUFFQSxRQUFNLDhCQUE4QixNQUFNLENBQUMsRUFBRSxNQUFNLFdBQVcsTUFBNEM7QUFDdEcsaUJBQWEsSUFBSTtBQUNqQixRQUFJLE1BQU0sR0FBRyxJQUFJLGFBQWEsVUFBVTtBQUN4QyxhQUFTLEdBQUc7QUFFWixlQUFXLE1BQU07QUFDYixZQUFNLFVBQVUsU0FBUyxlQUFlLFVBQVU7QUFDbEQsVUFBSSxTQUFTO0FBQ1gsY0FBTSxpQkFBaUIsT0FBTztBQUM5QixjQUFNLGlCQUFpQixRQUFRLHNCQUFzQixFQUFFLE1BQU0sT0FBTztBQUNwRSxjQUFNLG1CQUFtQixpQkFBaUIsaUJBQWlCLElBQUksUUFBUSxlQUFlO0FBQ3RGLGVBQU8sU0FBUyxFQUFFLEtBQUssa0JBQWtCLFVBQVUsU0FBUyxDQUFDO0FBRzdELG1CQUFXLE1BQU07QUFDZix1QkFBYSxLQUFLO0FBQUEsUUFDcEIsR0FBRyxHQUFJO0FBQUEsTUFDVCxPQUFPO0FBRUwscUJBQWEsS0FBSztBQUFBLE1BQ3BCO0FBQUEsSUFDRixHQUFHLEdBQUc7QUFBQSxFQUNaO0FBR0EsU0FBTyxFQUFFLFdBQVcsNkJBQThCLG1CQUFtQixjQUFjLHFCQUFxQiwwQkFBMEIsd0JBQXdCLCtCQUErQiw0QkFBNEI7QUFDek47OztBRi9ETSxTQXVIRixZQUFBQyxXQXRISSxPQUFBQyxNQURGLFFBQUFDLGFBQUE7OztBR2JNLFNBQ3dCLE9BQUFDLE1BRHhCLFFBQUFDLGFBQUE7OztBQ0tSLHFCQUFBQyxXQUNFLE9BQUFDLE9BREYsUUFBQUMsYUFBQTs7O0FDYkosU0FBUyxhQUFBQyxrQkFBaUI7OztBQ0tkLFNBQ0ksT0FBQUMsT0FESixRQUFBQyxhQUFBOzs7QURzQlIscUJBQUFDLFdBR0ssT0FBQUMsT0FERCxRQUFBQyxjQUZKOzs7QUVyQkEsU0E0QkEsWUFBQUMsV0F6QlEsT0FBQUMsT0FIUixRQUFBQyxjQUFBOzs7QUNrQ1EsZ0JBQUFDLE9BV2dCLFFBQUFDLGNBWGhCOzs7QUN2Q1osT0FBTyxZQUFZO0FBZ0JKLHFCQUFBQyxXQUFBLE9BQUFDLGFBQUE7OztBQ2pCMlQsSUFBTSxPQUFPLENBQUMsT0FBMEI7QUFDOVcsUUFBTSxjQUFjLEdBQUcsc0JBQXNCO0FBQzdDLFFBQU0sYUFBYSxZQUFZLE1BQU0sT0FBTztBQUM1QyxRQUFNLGlCQUFpQixPQUFPO0FBRzlCLFFBQU0saUJBQWlCLGNBQWMsaUJBQWlCLElBQUksR0FBRyxlQUFlO0FBRTVFLFNBQU8sU0FBUztBQUFBLElBQ1osS0FBSztBQUFBLElBQ0wsVUFBVTtBQUFBLEVBQ2QsQ0FBQztBQUNMOzs7QUMyQlksZ0JBQUFDLGFBQUE7QUFNTCxJQUFNLGdCQUErQyxDQUFDLEVBQUMsTUFBTSxNQUFNO0FBQ3RFLE1BQUksV0FBVyxVQUFVO0FBQ3pCLFFBQU0sY0FBYyxNQUFNO0FBQ3RCLFVBQU0sZ0JBQWdCLFNBQVMsZUFBZSxRQUFRO0FBQ3RELFFBQUksZUFBZTtBQUNmLFdBQUssYUFBYTtBQUFBLElBQ3RCO0FBQUEsRUFDSjtBQUVBLFNBQ0csZ0JBQUFDLE1BQUMsU0FBSSwwQkFBQUEsTUFBQyxPQUFFLFNBQVMsYUFDWCxpQkFDTCxHQUNBO0FBRVI7QUFrQ1EsSUFBTSxzQkFBaUQsQ0FBQyxFQUFFLFVBQVUsU0FBUyxNQUFNO0FBQ3ZGLFFBQU0sY0FBYyxNQUFNO0FBQ3RCLFVBQU0sZ0JBQWdCLFNBQVMsZUFBZSxRQUFRO0FBQ3RELFFBQUksZUFBZTtBQUNmLFdBQUssYUFBYTtBQUFBLElBQ3RCO0FBQUEsRUFDSjtBQUVBLFNBQ0ksZ0JBQUFBLE1BQUMsT0FBRSxTQUFTLGFBQ1AsVUFDTDtBQUVSOzs7QUNuR1EscUJBQUFDLFlBRVEsT0FBQUMsT0FlSSxRQUFBQyxjQWpCWjs7O0FDc0NXLGdCQUFBQyxhQUFBOzs7QUMzQ1QsU0FnREYsWUFBQUMsWUFoREUsT0FBQUMsT0FpREYsUUFBQUMsY0FqREU7OztBQ0NJLFNBQTZCLE9BQUFDLE9BQTdCLFFBQUFDLGNBQUE7OztBQ0NSLHFCQUFBQyxZQUNBLE9BQUFDLE9BREEsUUFBQUMsY0FBQTs7O0FDUU0sZ0JBQUFDLE9BR0osUUFBQUMsY0FISTs7O0FDRkEsZ0JBQUFDLE9BQ0EsUUFBQUMsY0FEQTs7O0FDSEwscUJBQUFDLFlBSVMsT0FBQUMsT0FGUixRQUFBQyxjQUZEOzs7QUNBQSxxQkFBQUMsWUFFSyxPQUFBQyxPQURKLFFBQUFDLGNBREQ7OztBQ1JQLFNBQVMsWUFBWSxTQUFTLGdCQUFnQjtBQUM5QyxTQUFTLEtBQUssV0FBVztBQUN6QixPQUFPQyxZQUFXOzs7QUNDWixxQkFBQUMsWUFDQSxPQUFBQyxPQUlJLFFBQUFDLGNBTEo7OztBQ0hOLFNBQVMsYUFBQUMsWUFBVyxZQUFBQyxpQkFBZ0I7QUFDcEMsU0FBUyxlQUFBQyxvQkFBbUI7QUE2QnBCLHFCQUFBQyxZQUlnQixPQUFBQyxPQURKLFFBQUFDLGNBSFo7OztBQ3JCSSxTQUFLLE9BQUFDLE9BQUwsUUFBQUMsY0FBQTs7O0FDUlosT0FBTyxZQUFZO0FBQ25CLE9BQU9DLFlBQVc7QUFtR1osZ0JBQUFDLGFBQUE7QUEzRk4sSUFBTSxjQUFhO0FBQUEsRUFDakIsRUFBQyxPQUFPLE9BQU8sT0FBTyxXQUFVO0FBQUEsRUFDaEMsRUFBQyxPQUFPLFNBQVMsT0FBTyxRQUFPO0FBQUEsRUFDL0IsRUFBQyxPQUFPLFFBQVEsT0FBTyxRQUFPO0FBQUEsRUFDOUIsRUFBQyxPQUFPLFlBQVksT0FBTyxhQUFZO0FBQUEsRUFDdkMsRUFBQyxPQUFPLFlBQVksT0FBTyxrQkFBaUI7QUFBQSxFQUM1QyxFQUFDLE9BQU8sUUFBUSxPQUFPLE9BQU07QUFBQSxFQUM3QixFQUFDLE9BQU8sT0FBTyxPQUFPLE1BQUs7QUFFN0I7QUFHTyxTQUFTLHFCQUFxQixLQUFtQjtBQUN0RCxRQUFNLE9BQU8sU0FBUyxlQUFlLE1BQU07QUFDM0MsTUFBSSxNQUFNO0FBQ1IsU0FBSyxZQUFZO0FBQUEsRUFDbkI7QUFFQSxRQUFNLHFCQUFxQixTQUFTLHVCQUF1QixZQUFZO0FBR3ZFLFdBQVMsSUFBSSxHQUFHLElBQUksbUJBQW1CLFFBQVEsS0FBSztBQUNsRCxVQUFNLEtBQUssbUJBQW1CLENBQUM7QUFDL0Isa0JBQWMsSUFBSSxNQUFNO0FBQUEsRUFDMUI7QUFFQSxVQUFRLElBQUksT0FBTztBQUduQixXQUFTLElBQUksR0FBRyxJQUFJLG1CQUFtQixRQUFRLEtBQUs7QUFDbEQsVUFBTSxLQUFLLG1CQUFtQixDQUFDO0FBQy9CLFFBQUksYUFBYTtBQUVqQixlQUFXLFNBQVMsS0FBSztBQUN2QixjQUFRLElBQUksVUFBVSxNQUFNLEtBQUssRUFBRTtBQUNuQyxVQUFJLENBQUMsR0FBRyxVQUFVLFNBQVMsTUFBTSxLQUFLLEdBQUc7QUFDdkMscUJBQWE7QUFDYjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBRUEsWUFBUSxJQUFJLGVBQWUsVUFBVSxFQUFFO0FBQ3ZDLFFBQUksWUFBWTtBQUNkLGlCQUFXLElBQUksTUFBTTtBQUFBLElBQ3ZCO0FBQUEsRUFDRjtBQUdBLFFBQU0sZ0JBQWdCLFNBQVMsdUJBQXVCLE1BQU07QUFDNUQsTUFBSSxjQUFjLFNBQVMsS0FBSyxNQUFNO0FBQ3BDLFlBQVEsSUFBSSxjQUFjLE1BQU07QUFDaEMsU0FBSyxZQUFZO0FBQUEsRUFDbkI7QUFDRjtBQWFBLFNBQVMsV0FBVyxTQUFrQixNQUFjO0FBQ2xELE1BQUksR0FBRyxNQUFNO0FBQ2IsU0FBTyxRQUFRLFVBQVUsTUFBTSxHQUFHO0FBQ2xDLFNBQU8sS0FBSyxNQUFNLEdBQUc7QUFDckIsT0FBSyxJQUFJLEdBQUcsSUFBSSxLQUFLLFFBQVEsS0FBSztBQUNoQyxRQUFJLEtBQUssUUFBUSxLQUFLLENBQUMsQ0FBQyxLQUFLLElBQUk7QUFBQyxjQUFRLGFBQWEsTUFBTSxLQUFLLENBQUM7QUFBQSxJQUFFO0FBQUEsRUFDdkU7QUFDRjtBQUVBLFNBQVMsY0FBYyxTQUFrQixNQUFjO0FBQ3JELE1BQUksR0FBRyxNQUFNO0FBQ2IsU0FBTyxRQUFRLFVBQVUsTUFBTSxHQUFHO0FBQ2xDLFNBQU8sS0FBSyxNQUFNLEdBQUc7QUFDckIsT0FBSyxJQUFJLEdBQUcsSUFBSSxLQUFLLFFBQVEsS0FBSztBQUNoQyxXQUFPLEtBQUssUUFBUSxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUk7QUFDakMsV0FBSyxPQUFPLEtBQUssUUFBUSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFBQSxJQUN0QztBQUFBLEVBQ0Y7QUFDQSxVQUFRLFlBQVksS0FBSyxLQUFLLEdBQUc7QUFDbkM7QUFXQSxJQUFNLGFBQU4sY0FBeUJDLE9BQU0sVUFBVTtBQUFBLEVBQ3ZDLFFBQVE7QUFBQSxJQUNOLGdCQUFnQjtBQUFBLEVBQ2xCO0FBQUEsRUFDQSxlQUFlLENBQUMsbUJBQXdCO0FBRXZDLFNBQUs7QUFBQSxNQUFTLEVBQUUsZUFBZTtBQUFBLE1BQUcsTUFDbEMsUUFBUSxJQUFJLG9CQUFvQixLQUFLLE1BQU0sY0FBYztBQUFBLElBRXhEO0FBQ0MseUJBQXFCLGNBQWM7QUFBQSxFQUN0QztBQUFBLEVBQ0EsU0FBUztBQUNQLFVBQU0sRUFBRSxlQUFlLElBQUksS0FBSztBQUVoQyxXQUNFLGdCQUFBQztBQUFBLE1BQUM7QUFBQTtBQUFBLFFBQ0MsT0FBTztBQUFBLFFBQ1AsVUFBVSxLQUFLO0FBQUEsUUFDZixTQUFPO0FBQUEsUUFDUCxTQUFTO0FBQUEsUUFDVCxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7QUFBQSxRQUM3QixXQUFVO0FBQUEsUUFDVixpQkFBZ0I7QUFBQTtBQUFBLElBQ2xCO0FBQUEsRUFFSjtBQUNGOzs7QUN0SGdCLFNBRUksT0FBQUMsT0FGSixRQUFBQyxjQUFBOzs7QUNYSixnQkFBQUMsYUFBQTs7O0FDWWEscUJBQUFDLFlBQUEsT0FBQUMsT0FNWCxRQUFBQyxjQU5XOzs7QUNUckIsU0FFRSxPQUFBQyxPQUZGLFFBQUFDLGNBQUE7OztBQ0ZZLGdCQUFBQyxPQUNBLFFBQUFDLGNBREE7OztBVGNKLFNBQ0UsT0FBQUMsT0FERixRQUFBQyxjQUFBOzs7QVViQSxnQkFBQUMsYUFBQTs7O0FDS1IscUJBQUFDLFlBRUksT0FBQUMsT0FERixRQUFBQyxjQURGOzs7QUNQSSxTQUNFLE9BQUFDLE9BREYsUUFBQUMsY0FBQTtBQWFELFNBQVMsTUFBTSxFQUFDLEdBQUcsRUFBQyxHQUFrQztBQUMzRCxTQUNHLGdCQUFBQyxPQUFDLFNBQUksV0FBVSxTQUNkO0FBQUEsb0JBQUFDLE1BQUMsU0FBSSxXQUFVLG1CQUNiLDBCQUFBQSxNQUFDLFNBQUksV0FBVSxPQUNkLGFBQ0QsR0FDRjtBQUFBLElBQ0EsZ0JBQUFBLE1BQUMsU0FBSSxXQUFVLG1CQUNiLDBCQUFBQSxNQUFDLFNBQUksV0FBVSxPQUNkLGFBQ0QsR0FDRjtBQUFBLEtBQ0Q7QUFFTDs7O0FDM0JrQixTQXVFcUIsWUFBQUMsWUF2RXJCLE9BQUFDLE9BaUdBLFFBQUFDLGNBakdBOzs7QUNMbEIsU0FBUyxXQUFXO0FBRXBCLFNBQVMsV0FBVztBQUNwQixTQUFTLFNBQVMsU0FBUyxTQUFTLFFBQU8sWUFBWSxZQUFZLGVBQWUsYUFBYSxPQUFPLHlCQUF5QjtBQXFFekgsZ0JBQUFDLGFBQUE7QUEzQ04sUUFBUTtBQUFBLEVBQVM7QUFBQSxFQUFZO0FBQUEsRUFBUztBQUFBLEVBQVE7QUFBQSxFQUM1QztBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFLOzs7QUNuQmdCLHFCQUFBQyxZQUEwRCxPQUFBQyxPQUExRCxRQUFBQyxjQUFBO0FBSmhCLElBQU0sY0FBMEM7QUFBQSxFQUNuRDtBQUFBLElBQ0ksTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsY0FBYyxDQUFDLGdCQUFBQSxPQUFBRixZQUFBLEVBQUU7QUFBQTtBQUFBLE1BQXdELGdCQUFBQyxNQUFDLGlCQUFjLE9BQU0sTUFBSTtBQUFBLE9BQUUsR0FBSSxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUE7QUFBQSxNQUF1RyxnQkFBQUMsTUFBQyxpQkFBYyxPQUFNLE1BQUk7QUFBQSxPQUFFLEdBQUksZ0JBQUFDLE9BQUFGLFlBQUEsRUFBRTtBQUFBO0FBQUEsTUFBdUYsZ0JBQUFDLE1BQUMsaUJBQWMsT0FBTSxNQUFJO0FBQUEsT0FBRSxHQUFJLGdCQUFBQyxPQUFBRixZQUFBLEVBQUU7QUFBQTtBQUFBLE1BQTRELGdCQUFBQyxNQUFDLGlCQUFjLE9BQU0sTUFBSTtBQUFBLE1BQUU7QUFBQSxNQUF3QyxnQkFBQUEsTUFBQyxpQkFBYyxPQUFNLE1BQUk7QUFBQSxNQUFFO0FBQUEsTUFBeUIsZ0JBQUFBLE1BQUMsaUJBQWMsT0FBTSxNQUFJO0FBQUEsT0FBRSxHQUFJLGdCQUFBQyxPQUFBRixZQUFBLEVBQUU7QUFBQTtBQUFBLE1BQXdGLGdCQUFBQyxNQUFDLGlCQUFjLE9BQU0sTUFBSTtBQUFBLE9BQUUsQ0FBRztBQUFBLEVBQ3hyQjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWMsQ0FBQyxnQkFBQUEsTUFBQUQsWUFBQSxFQUFFLHNGQUF3RSxHQUFJLGdCQUFBRSxPQUFBRixZQUFBLEVBQUU7QUFBQTtBQUFBLE1BQStFLGdCQUFBQyxNQUFDLGlCQUFjLE9BQU0sTUFBSTtBQUFBLE9BQUUsR0FBSSxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUE7QUFBQSxNQUE0RyxnQkFBQUMsTUFBQyxpQkFBYyxPQUFNLE1BQUk7QUFBQSxPQUFFLEdBQUksZ0JBQUFDLE9BQUFGLFlBQUEsRUFBRTtBQUFBO0FBQUEsTUFBZ0wsZ0JBQUFDLE1BQUMsaUJBQWMsT0FBTSxNQUFJO0FBQUEsT0FBRSxHQUFJLGdCQUFBQyxPQUFBRixZQUFBLEVBQUU7QUFBQTtBQUFBLE1BQWdLLGdCQUFBQyxNQUFDLGlCQUFjLE9BQU0sTUFBSTtBQUFBLE9BQUUsQ0FBRztBQUFBLEVBQy91QjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWMsQ0FBQyxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUE7QUFBQSxNQUEyRSxnQkFBQUMsTUFBQyxpQkFBYyxPQUFNLE1BQUk7QUFBQSxPQUFFLEdBQUksZ0JBQUFDLE9BQUFGLFlBQUEsRUFBRTtBQUFBO0FBQUEsTUFBeUssZ0JBQUFDLE1BQUMsaUJBQWMsT0FBTSxNQUFJO0FBQUEsT0FBRSxHQUFJLGdCQUFBQyxPQUFBRixZQUFBLEVBQUU7QUFBQTtBQUFBLE1BQTBFLGdCQUFBQyxNQUFDLGlCQUFjLE9BQU0sTUFBSTtBQUFBLE9BQUUsR0FBSSxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUE7QUFBQSxNQUE4SSxnQkFBQUMsTUFBQyxpQkFBYyxPQUFNLE1BQUk7QUFBQSxPQUFFLEdBQUksZ0JBQUFDLE9BQUFGLFlBQUEsRUFBRTtBQUFBO0FBQUEsTUFBdUYsZ0JBQUFDLE1BQUMsaUJBQWMsT0FBTSxNQUFJO0FBQUEsT0FBRSxDQUFHO0FBQUEsRUFDMXRCO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsY0FBYyxDQUFDLGdCQUFBQyxPQUFBRixZQUFBLEVBQUU7QUFBQTtBQUFBLE1BQXVCLGdCQUFBQyxNQUFDLGlCQUFjLE9BQU0sTUFBSTtBQUFBLE9BQUUsR0FBSSxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUE7QUFBQSxNQUE4RyxnQkFBQUMsTUFBQyxpQkFBYyxPQUFNLE1BQUk7QUFBQSxPQUFFLEdBQUksZ0JBQUFDLE9BQUFGLFlBQUEsRUFBRTtBQUFBO0FBQUEsTUFBeUYsZ0JBQUFDLE1BQUMsaUJBQWMsT0FBTSxNQUFJO0FBQUEsTUFBRTtBQUFBLE1BQXFDLGdCQUFBQSxNQUFDLGlCQUFjLE9BQU0sTUFBSTtBQUFBLE9BQUUsR0FBSSxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUE7QUFBQSxNQUF3RSxnQkFBQUMsTUFBQyxpQkFBYyxPQUFNLE1BQUk7QUFBQSxNQUFFLGdCQUFBQSxNQUFDLGlCQUFjLE9BQU0sTUFBSTtBQUFBLE9BQUUsR0FBSSxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUE7QUFBQSxNQUFDLGdCQUFBQyxNQUFDLE9BQUUsd0JBQVU7QUFBQSxNQUFJO0FBQUEsTUFBZ0QsZ0JBQUFBLE1BQUMsaUJBQWMsT0FBTSxNQUFJO0FBQUEsTUFBRTtBQUFBLE9BQUMsQ0FBRztBQUFBLEVBQzNuQjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWMsQ0FBQyxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUE7QUFBQSxNQUF1QixnQkFBQUMsTUFBQyxpQkFBYyxPQUFNLE1BQUk7QUFBQSxPQUFFLEdBQUksZ0JBQUFDLE9BQUFGLFlBQUEsRUFBRTtBQUFBO0FBQUEsTUFBNkYsZ0JBQUFDLE1BQUMsaUJBQWMsT0FBTSxNQUFJO0FBQUEsT0FBRSxHQUFJLGdCQUFBQSxNQUFBRCxZQUFBLEVBQUUsa05BQW9NLEdBQUksZ0JBQUFFLE9BQUFGLFlBQUEsRUFBRTtBQUFBO0FBQUEsTUFBNEcsZ0JBQUFDLE1BQUMsT0FBRSxzQ0FBd0I7QUFBQSxNQUFJO0FBQUEsTUFBRSxnQkFBQUEsTUFBQyxPQUFFLHFDQUF1QjtBQUFBLE1BQUk7QUFBQSxNQUFLLGdCQUFBQSxNQUFDLE9BQUUsb0NBQXNCO0FBQUEsTUFBSTtBQUFBLE9BQTRCLEdBQUksZ0JBQUFBLE1BQUFELFlBQUEsRUFBRSx1S0FBeUosQ0FBRztBQUFBLEVBQ2h5QjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWMsQ0FBQyxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLGdEQUFrQyxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsMEhBQTRHLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSxrRkFBb0UsR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLHdHQUEwRixHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsc0tBQXdKLENBQUc7QUFBQSxFQUNwZjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWMsQ0FBQyxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLHVEQUF5QyxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsd0hBQTBHLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSxxR0FBdUYsR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLHlGQUEyRSxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsaUZBQW1FLENBQUc7QUFBQSxFQUN4YTtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWMsQ0FBQyxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSx5SUFBMkgsR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLG9GQUFzRSxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsa0lBQW9ILEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSx1RkFBeUUsQ0FBRztBQUFBLEVBQzlhO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsY0FBYyxDQUFDLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsc0NBQXdCLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSw2R0FBK0YsR0FBSSxnQkFBQUMsTUFBQUQsWUFBQSxFQUFFLDRGQUE4RSxHQUFJLGdCQUFBQyxNQUFBRCxZQUFBLEVBQUUsNkdBQStGLEdBQUksZ0JBQUFDLE1BQUFELFlBQUEsRUFBRSxzR0FBd0YsQ0FBRztBQUFBLEVBQzVhO0FBQ0o7OztBQ25Cc0IsU0EwQ29DLFlBQUFHLFlBMUN1UyxPQUFBQyxPQUEzVSxRQUFBQyxjQUFBO0FBcEJmLElBQU0sV0FBb0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWdCN0M7QUFBQTtBQUFBLElBRUksTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsY0FBYyxnQkFBQUEsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUF3VSxnQkFBQUQsTUFBQyxpQkFBYyxPQUFNLE1BQUk7QUFBQSxNQUFFO0FBQUEsTUFBaVAsZ0JBQUFBLE1BQUMsaUJBQWMsT0FBTSxNQUFJO0FBQUEsTUFBRTtBQUFBLE1BQXFOLGdCQUFBQSxNQUFDLGlCQUFjLE9BQU0sTUFBSTtBQUFBLE1BQUU7QUFBQSxNQUEwRCxnQkFBQUEsTUFBQyxpQkFBYyxPQUFNLE1BQUk7QUFBQSxNQUFFO0FBQUEsT0FBRTtBQUFBLElBQ3Y4QixVQUFVO0FBQUEsTUFDTjtBQUFBLFFBQ0ksT0FBTztBQUFBO0FBQUEsUUFDUCxNQUFNLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsVUFBa2YsZ0JBQUFELE1BQUMsaUJBQWMsT0FBTSxNQUFJO0FBQUEsVUFBRTtBQUFBLFdBQStCLEdBQUssd0NBQXdDO0FBQUEsTUFDdm1CO0FBQUEsTUFDQTtBQUFBLFFBQ0ksT0FBTztBQUFBO0FBQUEsUUFDUCxNQUFNLENBQUMsaUVBQWdFLGtKQUFrSixnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxVQUE2UyxnQkFBQUQsTUFBQyxpQkFBYyxPQUFNLE1BQUk7QUFBQSxVQUFFO0FBQUEsV0FBQyxHQUFNLGdDQUFnQyx1Q0FBdUM7QUFBQSxNQUN0bkI7QUFBQSxNQUNBO0FBQUEsUUFDSSxPQUFPO0FBQUE7QUFBQSxRQUNQLE1BQU0sQ0FBQyxpRUFBaUUsOEZBQTZGLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLFVBQTRTLGdCQUFBRCxNQUFDLGlCQUFjLE9BQU0sTUFBSTtBQUFBLFdBQUUsR0FBSyxnQ0FBK0IsdUNBQXVDO0FBQUEsTUFDOWpCO0FBQUEsTUFDQTtBQUFBLFFBQ0ksT0FBTztBQUFBO0FBQUEsUUFDUCxNQUFNLENBQUMsbUNBQWtDLG9IQUFtSCxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxVQUErSSxnQkFBQUQsTUFBQyxpQkFBYyxPQUFNLE1BQUk7QUFBQSxXQUFFLEdBQUssZ0NBQStCLDRDQUE0QztBQUFBLE1BQzdaO0FBQUEsSUFDSjtBQUFBLEVBQ0o7QUFBQSxFQUNBO0FBQUEsSUFDSSxNQUFNO0FBQUE7QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULGNBQWMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFBcVksZ0JBQUFELE1BQUMsaUJBQWMsT0FBTSxNQUFJO0FBQUEsTUFBRTtBQUFBLE9BQWtFO0FBQUEsSUFDbmYsVUFBVTtBQUFBLE1BQ047QUFBQSxRQUNJLE9BQU87QUFBQTtBQUFBLFFBQ1AsTUFBTSxDQUFDLDBEQUF5RCx1REFBc0QsMkRBQTBELGlFQUFnRSwyQ0FBMkM7QUFBQSxNQUMvUjtBQUFBLE1BQ0E7QUFBQSxRQUNJLE9BQU87QUFBQTtBQUFBLFFBQ1AsTUFBTSxDQUFDLHNFQUFxRSx1REFBc0Qsd0ZBQXVGLDhEQUE2RCxvR0FBbUcsc0JBQXNCO0FBQUEsTUFDblo7QUFBQSxJQUNKO0FBQUEsRUFDSjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU07QUFBQTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLE1BQ047QUFBQSxRQUNJLE9BQU87QUFBQTtBQUFBLFFBQ1AsTUFBTSxDQUFDLG9DQUFtQyxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUE7QUFBQSxVQUF5RCxnQkFBQUMsTUFBQyxPQUFFLHNDQUF3QjtBQUFBLFVBQUk7QUFBQSxXQUFZLEdBQUksbUhBQWtILHdHQUF1Ryw0Q0FBNEM7QUFBQSxNQUM3WjtBQUFBLE1BQ0E7QUFBQSxRQUNJLE9BQU87QUFBQTtBQUFBLFFBQ1AsTUFBTSxDQUFDLG1DQUFrQyxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUE7QUFBQSxVQUF5RCxnQkFBQUMsTUFBQyxPQUFFLHNDQUF3QjtBQUFBLFVBQUk7QUFBQSxXQUFZLEdBQUksa0hBQWlILHNGQUFxRix1Q0FBdUM7QUFBQSxNQUNwWTtBQUFBLElBQ0o7QUFBQSxFQUNKO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTTtBQUFBO0FBQUEsSUFDTixTQUFTO0FBQUEsSUFDVCxjQUFjLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLE1BQXNlLGdCQUFBRCxNQUFDLGlCQUFjLE9BQU0sTUFBSTtBQUFBLE1BQUU7QUFBQSxPQUFpTTtBQUFBLElBQ250QixVQUFVO0FBQUEsTUFDTjtBQUFBLFFBQ0ksT0FBTztBQUFBO0FBQUEsUUFDUCxNQUFNLENBQUMsdUdBQXNHLHVFQUFzRSxzRkFBcUYsbURBQWtELHVDQUF1QztBQUFBLE1BQ3JXO0FBQUEsSUFFSjtBQUFBLEVBQ0o7QUFDSjs7O0FDcEYwQixnQkFBQUUsT0Fpc0NYLFFBQUFDLGNBanNDVzs7O0FDZjFCLFNBQWdCLFlBQUFDLFdBQVUsYUFBQUMsa0JBQWlCO0FBQzNDLE9BQU8saUJBQWlCO0FBZ0NSLHFCQUFBQyxZQUNXLE9BQUFDLE9BRFgsUUFBQUMsY0FBQTtBQVpoQixTQUFTLFlBQVksT0FBK0M7QUFFaEUsTUFBSSxTQUFTLE1BQU0sU0FBUyxHQUFHO0FBRTNCLFVBQU0saUJBQWlCO0FBQ3ZCLFFBQUksZUFBZSxLQUFLLEtBQUssR0FBRztBQUM1QixZQUFNLE1BQU0sTUFBTSxNQUFNLGNBQWMsRUFBRSxJQUFJLE9BQUssRUFBRSxLQUFLLENBQUM7QUFDekQsWUFBTSxRQUFRLElBQUksQ0FBQztBQUNuQixZQUFNLE1BQU0sSUFBSSxDQUFDO0FBR2pCLGFBQ0ksZ0JBQUFBLE9BQUFGLFlBQUEsRUFBRTtBQUFBO0FBQUEsUUFDUyxnQkFBQUMsTUFBQyxVQUFLLFVBQVMsb0JBQW9CLGlCQUFNO0FBQUEsUUFBTztBQUFBLFFBQUMsZ0JBQUFBLE1BQUMsVUFBSyxVQUFTLGtCQUFrQixlQUFJO0FBQUEsU0FDakc7QUFBQSxJQUVSLFdBQVcsZUFBZSxLQUFLLEtBQUssR0FBRztBQUVuQyxhQUNJLGdCQUFBQyxPQUFBRixZQUFBLEVBQUU7QUFBQTtBQUFBLFFBQ0ssZ0JBQUFDLE1BQUMsVUFBSyxVQUFTLG9CQUFvQixpQkFBTTtBQUFBLFNBQ2hEO0FBQUEsSUFFUixPQUFPO0FBRUgsY0FBUSxLQUFLLDJDQUEyQyxLQUFLLDBCQUEwQjtBQUN2RixhQUFPO0FBQUEsSUFDWDtBQUFBLEVBQ0osT0FBTztBQUNILFlBQVEsS0FBSyw2QkFBNkI7QUFDMUMsV0FBTztBQUFBLEVBQ1g7QUFDSjtBQUdPLElBQU0sZUFBNEMsQ0FBQyxFQUFFLGVBQUFFLGdCQUFnQixRQUFPLE1BQU07QUFDdkYsUUFBTSxDQUFDLGVBQWUsZ0JBQWdCLElBQUlMLFVBQXFCLENBQUMsQ0FBQztBQUdqRSxFQUFBQyxXQUFVLE1BQU07QUFDZCxZQUFRLElBQUksNEJBQTRCSSxjQUFhO0FBRXJELFFBQUk7QUFDRixZQUFNLGFBQXlCLENBQUM7QUFDaEMsTUFBQUEsZUFBYyxRQUFRLENBQUMsV0FBVztBQUVoQyxjQUFNLFNBQVMsWUFBWSxPQUFPLE1BQU07QUFFeEMsbUJBQVcsS0FBSyxHQUFHLE1BQU07QUFBQSxNQUMzQixDQUFDO0FBQ0QsdUJBQWlCLFVBQVU7QUFBQSxJQUU3QixTQUFTLE9BQU87QUFDZixjQUFRLE1BQU0sMEJBQTBCLEtBQUs7QUFDNUMsWUFBTSxpRkFBaUZBLGNBQWE7QUFBQSxJQUN0RztBQUFBLEVBQ0YsR0FBRyxDQUFDQSxjQUFhLENBQUM7QUFHbEIsUUFBTSxnQkFBZ0IsQ0FBQyxZQUE0QjtBQUNqRCxZQUFRLElBQUksbUJBQW1CLE9BQU87QUFHdEMsVUFBTSxpQkFBaUIsUUFDbEIsUUFBUSxjQUFjLEdBQUcsRUFDekIsUUFBUSxVQUFVLEVBQUUsRUFDcEIsS0FBSztBQUVWLFlBQVEsSUFBSSwyQkFBMkIsY0FBYztBQUdyRCxVQUFNLGFBQWEsZUFBZSxNQUFNLEdBQUcsRUFBRSxJQUFJLFlBQVUsT0FBTyxLQUFLLENBQUM7QUFDeEUsWUFBUSxJQUFJLHNCQUFzQixVQUFVO0FBRzVDLFVBQU0sYUFBYTtBQUduQixVQUFNLG1CQUFtQixXQUFXLElBQUksQ0FBQyxRQUFRLFVBQVU7QUFDdkQsY0FBUSxJQUFJLHNCQUFzQixRQUFRLENBQUMsS0FBSyxNQUFNO0FBR3RELFlBQU0sQ0FBQyxNQUFNLFVBQVUsSUFBSSxPQUFPLFNBQVMsR0FBRyxJQUMxQyxPQUFPLE1BQU0sR0FBRyxFQUFFLElBQUksVUFBUSxLQUFLLEtBQUssQ0FBQyxJQUN6QyxDQUFDLElBQUksTUFBTTtBQUVmLGNBQVEsSUFBSSxlQUFlLElBQUksb0JBQW9CLFVBQVUsR0FBRztBQUdoRSxZQUFNLFdBQVcsV0FBVyxNQUFNLEdBQUcsRUFBRSxJQUFJLE9BQUssRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLEtBQUssR0FBRztBQUNwRSxjQUFRLElBQUksaUJBQWlCLFVBQVUsT0FBTyxRQUFRLEdBQUc7QUFFekQsWUFBTSxnQkFBZ0IsR0FBRyxJQUFJLEtBQUssUUFBUSxHQUFHLEtBQUs7QUFDbEQsY0FBUSxJQUFJLG9CQUFvQixhQUFhLEdBQUc7QUFFaEQsYUFBTztBQUFBLElBQ1gsQ0FBQztBQUVELFlBQVEsSUFBSSwyQ0FBMkMsZ0JBQWdCO0FBR3ZFLFVBQU0sU0FBUyxpQkFBaUIsTUFBTSxHQUFHLFVBQVUsRUFBRSxLQUFLLElBQUksS0FDOUMsaUJBQWlCLFNBQVMsYUFBYSxZQUFZO0FBRW5FLFlBQVEsSUFBSSxpQkFBaUIsTUFBTTtBQUNuQyxXQUFPO0FBQUEsRUFDWDtBQUVFLE1BQUksZUFBZTtBQUVuQixNQUFJLFNBQVM7QUFDWCxtQkFBZSxJQUFJLE9BQU87QUFBQSxFQUM1QjtBQUdBLFFBQU0saUJBQWlCLENBQUMsT0FBaUIsVUFBa0I7QUFJekQsVUFBTSxpQkFBaUIsUUFBUTtBQUMvQixVQUFNLFlBQVksTUFBTSxVQUFVLFlBQVk7QUFDOUMsVUFBTSxZQUFZLE1BQU07QUFHeEIsWUFBUSxXQUFXO0FBQUEsTUFDakIsS0FBSztBQUNILGVBQ0UsZ0JBQUFELE9BQUMsUUFBZSxRQUFPLDJCQUEwQixNQUFLLG1CQUFrQixVQUFTLG1CQUFrQixJQUFJLFFBQVEsY0FBYyxHQUFHLFlBQVksSUFHekk7QUFBQSx3QkFBYyxVQUFVLFVBQVUsVUFBVSxVQUFVLEVBQUU7QUFBQSxVQUFFO0FBQUEsVUFDckQsZ0JBQUFBLE9BQUMsVUFBSyxVQUFTLGVBQWU7QUFBQSxzQkFBVSxNQUFNLFFBQVEsVUFBVSxFQUFFLEVBQUUsUUFBUSxPQUFPLEdBQUcsRUFBRSxLQUFLO0FBQUEsWUFBRTtBQUFBLGFBQUM7QUFBQSxVQUFPO0FBQUEsVUFDdkcsZ0JBQUFELE1BQUMsT0FBRSxVQUFTLG9CQUFtQixRQUFPLHVCQUF1QixvQkFBVSxTQUFRO0FBQUEsVUFBSTtBQUFBLFVBQ25GLGdCQUFBQSxNQUFDLE9BQUUsVUFBUyxlQUFjLFFBQU8sb0JBQW9CLG9CQUFVLFFBQU87QUFBQSxVQUMzRSxZQUFZLFVBQVUsS0FBSyxLQUFLLGdCQUFBQSxNQUFDLFVBQU0sc0JBQVksVUFBVSxLQUFLLEdBQUU7QUFBQSxVQUNwRSxVQUFVLFFBQ1QsZ0JBQUFDLE9BQUMsVUFBSztBQUFBO0FBQUEsWUFBTyxnQkFBQUQsTUFBQyxVQUFLLFVBQVMsd0JBQXVCLFVBQVMsYUFBWSxVQUFVLFVBQVUsTUFBTyxvQkFBVSxNQUFLO0FBQUEsWUFBTztBQUFBLGFBQUU7QUFBQSxVQUU1SCxVQUFVLE9BQ1QsZ0JBQUFDLE9BQUMsVUFBSztBQUFBO0FBQUEsWUFBTSxnQkFBQUEsT0FBQyxPQUFFLFdBQVUsT0FBTSxNQUFNLG1CQUFtQixVQUFVLEdBQUcsSUFBSTtBQUFBO0FBQUEsY0FBTSxVQUFVO0FBQUEsZUFBSTtBQUFBLGFBQUk7QUFBQSxhQVo1RixLQWNUO0FBQUEsTUFHSixLQUFLO0FBQ0gsZUFDRSxnQkFBQUEsT0FBQyxRQUFlLFFBQU8sZUFBYyxNQUFLLG1CQUFrQixVQUFTLG1CQUFrQixJQUFJLFFBQVEsY0FBYyxJQUU5RztBQUFBLHdCQUFjLFVBQVUsVUFBVSxVQUFVLFVBQVUsRUFBRTtBQUFBLFVBRXhELFVBQVUsUUFDVCxnQkFBQUEsT0FBQyxVQUFLLFVBQVMsZUFBYztBQUFBO0FBQUEsWUFBTyxVQUFVLE1BQU0sUUFBUSxVQUFVLEVBQUUsRUFBRSxRQUFRLE9BQU8sR0FBRyxFQUFFLEtBQUs7QUFBQSxZQUFFO0FBQUEsYUFBQyxJQUNwRyxVQUFVLFlBQ1osZ0JBQUFBLE9BQUMsVUFBSyxVQUFTLGVBQWM7QUFBQTtBQUFBLFlBQU8sVUFBVSxVQUFVLFFBQVEsVUFBVSxFQUFFLEVBQUUsUUFBUSxPQUFPLEdBQUcsRUFBRSxLQUFLO0FBQUEsWUFBRTtBQUFBLGFBQUMsSUFFMUcsUUFBUSxLQUFLLHlDQUF5QyxjQUFjLEVBQUU7QUFBQSxVQUd2RSxVQUFVLGFBQ1QsZ0JBQUFBLE9BQUMsT0FBRSxVQUFTLG9CQUFtQixRQUFPLHVCQUFzQjtBQUFBO0FBQUEsWUFDbkQsVUFBVTtBQUFBLGFBQ25CO0FBQUEsVUFHRCxVQUFVLFFBQ1QsZ0JBQUFBLE9BQUMsVUFBSztBQUFBO0FBQUEsWUFDRyxnQkFBQUQsTUFBQyxVQUFLLFVBQVMsd0JBQXVCLFVBQVMsYUFBWSxVQUFVLFVBQVUsTUFDbkYsb0JBQVUsTUFDYjtBQUFBLFlBQU87QUFBQSxhQUNUO0FBQUEsVUFFRCxVQUFVLFFBQ1QsZ0JBQUFDLE9BQUMsVUFBSyxVQUFTLFFBQU87QUFBQTtBQUFBLFlBQU8sVUFBVTtBQUFBLGFBQUs7QUFBQSxhQTFCdkMsS0E2QlQ7QUFBQSxNQUdKLEtBQUs7QUFDSCxlQUNFLGdCQUFBQSxPQUFDLFFBQWUsUUFBTyxrQkFBaUIsTUFBSyxtQkFBa0IsVUFBUyxtQkFBa0IsSUFBSSxRQUFRLGNBQWMsSUFFaEg7QUFBQSxvQkFBVSxVQUFVLFVBQVUsVUFBVTtBQUFBLFVBRXpDLFVBQVUsU0FDVCxnQkFBQUEsT0FBQyxVQUFLLFVBQVMsZUFBYztBQUFBO0FBQUEsWUFBUSxVQUFVLE1BQU0sUUFBUSxVQUFVLEVBQUUsRUFBRSxRQUFRLE9BQU8sR0FBRyxFQUFFLEtBQUs7QUFBQSxZQUFFO0FBQUEsYUFBQztBQUFBLFVBR3hHLFVBQVUsZ0JBQ1QsZ0JBQUFBLE9BQUMsT0FBRSxVQUFTLG9CQUFtQixRQUFPLHVCQUFzQjtBQUFBO0FBQUEsWUFBTyxVQUFVO0FBQUEsYUFBYTtBQUFBLFVBRzNGLFVBQVUsUUFDVCxnQkFBQUEsT0FBQyxVQUFLO0FBQUE7QUFBQSxZQUFPLGdCQUFBRCxNQUFDLFVBQUssVUFBUyx3QkFBdUIsVUFBUyxhQUFZLFVBQVUsVUFBVSxNQUFPLG9CQUFVLE1BQUs7QUFBQSxZQUFPO0FBQUEsYUFBRTtBQUFBLGFBYnRILEtBZVQ7QUFBQSxNQUlKLEtBQUs7QUFDSCxlQUNFLGdCQUFBQyxPQUFDLFFBQ0M7QUFBQSwwQkFBQUQsTUFBQyxVQUFNLHdCQUFjLFVBQVUsVUFBVSxFQUFFLEdBQUU7QUFBQSxVQUFPO0FBQUEsVUFDcEQsZ0JBQUFBLE1BQUMsVUFBTSxvQkFBVSxPQUFNO0FBQUEsVUFBTztBQUFBLFVBQUssZ0JBQUFBLE1BQUMsT0FBRyxvQkFBVSxXQUFVO0FBQUEsVUFBSTtBQUFBLFVBQy9ELGdCQUFBQSxNQUFDLE9BQUcsb0JBQVUsUUFBTztBQUFBLFVBQUk7QUFBQSxVQUFHLFVBQVU7QUFBQSxVQUFLO0FBQUEsYUFIcEMsS0FJVDtBQUFBLE1BR0osS0FBSztBQUNILGVBQ0UsZ0JBQUFDLE9BQUMsUUFDQztBQUFBLDBCQUFBRCxNQUFDLFVBQU0sd0JBQWMsVUFBVSxVQUFVLEVBQUUsR0FBRTtBQUFBLFVBQU87QUFBQSxVQUNwRCxnQkFBQUEsTUFBQyxVQUFNLG9CQUFVLE9BQU07QUFBQSxVQUFPO0FBQUEsVUFBZSxVQUFVO0FBQUEsVUFBTztBQUFBLFVBQUcsVUFBVTtBQUFBLFVBQUs7QUFBQSxhQUZ6RSxLQUdUO0FBQUEsTUFHSjtBQUNFLGdCQUFRLEtBQUssdUJBQXVCLFNBQVMsRUFBRTtBQUMvQyxlQUFPLGdCQUFBQyxPQUFDLFFBQWU7QUFBQTtBQUFBLFVBQXFCO0FBQUEsYUFBNUIsS0FBc0M7QUFBQSxJQUMxRDtBQUFBLEVBQ0Y7QUFFQSxTQUNFLGdCQUFBRCxNQUFDLFNBQ0Usd0JBQWMsV0FBVyxJQUN4QixnQkFBQUEsTUFBQyxPQUFFLHFDQUF1QixJQUUxQixnQkFBQUEsTUFBQyxRQUNFLHdCQUFjLElBQUksQ0FBQyxPQUFPLFVBQVUsZUFBZSxPQUFPLEtBQUssQ0FBQyxHQUNuRSxHQUVKO0FBRUo7QUFFQSxJQUFPLHNCQUFROzs7QUMzUEwsZ0JBQUFHLGFBQUE7OztBQ3FCTSxTQUFrRCxPQUFBQyxPQUFsRCxRQUFBQyxjQUFBO0FBK1RmLElBQUksb0JBQW1CO0FBQUEsRUFDcEI7QUFBQSxJQUNJLE1BQU0scUJBQXFCLFNBQVMsQ0FBQyxDQUFDO0FBQUEsSUFDdEMsWUFBWTtBQUFBLElBQ1osU0FBUztBQUFBLElBQ1QsTUFBTTtBQUFBLEVBRVY7QUFBQSxFQUNBO0FBQUEsSUFDSSxNQUFNLHFCQUFxQixTQUFTLENBQUMsQ0FBRTtBQUFBLElBQ3ZDLFlBQVk7QUFBQSxJQUNaLFNBQVM7QUFBQSxFQUNiO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTSxxQkFBcUIsU0FBUyxDQUFDLENBQUU7QUFBQSxJQUN2QyxZQUFZO0FBQUEsSUFDWixTQUFTO0FBQUEsRUFDYjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU0scUJBQXFCLFNBQVMsQ0FBQyxDQUFFO0FBQUEsSUFDdkMsWUFBWTtBQUFBLElBQ1osU0FBUztBQUFBLEVBQ2I7QUFDSjtBQUlBLElBQUksdUJBQXVCO0FBQUEsRUFDdkI7QUFBQSxJQUNJLE1BQU0sd0JBQXdCLFlBQVksQ0FBQyxDQUFDO0FBQUEsSUFDNUMsWUFBWTtBQUFBLElBQ1osU0FBUztBQUFBLElBQ1QsTUFBTTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDSSxNQUFNLHdCQUF3QixZQUFZLENBQUMsQ0FBQztBQUFBLElBQzVDLFlBQVk7QUFBQSxJQUNaLFNBQVM7QUFBQSxFQUNiO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTSx3QkFBd0IsWUFBWSxDQUFDLENBQUM7QUFBQSxJQUM1QyxZQUFZO0FBQUEsSUFDWixTQUFTO0FBQUEsRUFDYjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU0sd0JBQXdCLFlBQVksQ0FBQyxDQUFDO0FBQUEsSUFDNUMsWUFBWTtBQUFBLElBQ1osU0FBUztBQUFBLEVBQ2I7QUFBQSxFQUNBO0FBQUEsSUFDSSxNQUFNLHdCQUF3QixZQUFZLENBQUMsQ0FBQztBQUFBLElBQzVDLFlBQVk7QUFBQSxJQUNaLFNBQVM7QUFBQSxFQUNiO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTSx3QkFBd0IsWUFBWSxDQUFDLENBQUM7QUFBQSxJQUM1QyxZQUFZO0FBQUEsSUFDWixTQUFTO0FBQUEsRUFDYjtBQUFBLEVBQ0E7QUFBQSxJQUNJLE1BQU0sd0JBQXdCLFlBQVksQ0FBQyxDQUFDO0FBQUEsSUFDNUMsWUFBWTtBQUFBLElBQ1osU0FBUztBQUFBLEVBQ2I7QUFBQSxFQUNBO0FBQUEsSUFDSSxNQUFNLHdCQUF3QixZQUFZLENBQUMsQ0FBRTtBQUFBLElBQzdDLFlBQVk7QUFBQSxJQUNaLFNBQVM7QUFBQSxFQUNiO0FBQUEsRUFDQTtBQUFBLElBQ0ksTUFBTSx3QkFBd0IsWUFBWSxDQUFDLENBQUU7QUFBQSxJQUM3QyxZQUFZO0FBQUEsSUFDWixTQUFTO0FBQUEsRUFDYjtBQUVKO0FBS0EsU0FBUyx3QkFBd0IsTUFBdUI7QUFDcEQsTUFBSSxjQUE2QixDQUFDO0FBQ2xDLFdBQVMsUUFBUSxHQUFHLFFBQVEsS0FBSyxhQUFhLFFBQVEsU0FBUztBQUN2RCxnQkFBWTtBQUFBLE1BQ1IsZ0JBQUFDLE1BQUMsUUFBZ0IsZUFBSyxhQUFhLEtBQUssS0FBL0IsS0FBaUM7QUFBQSxJQUM5QztBQUFBLEVBQ1I7QUFDQSxTQUNJLGdCQUFBQyxPQUFDLFNBQ0c7QUFBQSxvQkFBQUQsTUFBQyxNQUFHLElBQUksR0FBRyxLQUFLLElBQUksUUFBUSxNQUFNLEtBQUssTUFBSztBQUFBLElBQzVDLGdCQUFBQyxPQUFDLFNBQUksV0FBVSxPQUNYO0FBQUEsc0JBQUFELE1BQUMsU0FBSSxXQUFVLFNBQ1gsMEJBQUFBLE1BQUMsU0FBSSxXQUFVLHVCQUNYLDBCQUFBQSxNQUFDLFNBQUksS0FBSyxLQUFLLFNBQVMsV0FBVSxlQUFhLEdBQ25ELEdBQ0o7QUFBQSxNQUNBLGdCQUFBQSxNQUFDLFNBQUksV0FBVSxPQUNYLDBCQUFBQSxNQUFDLFFBQUksdUJBQVksR0FDckI7QUFBQSxPQUNKO0FBQUEsS0FHSjtBQUVSO0FBR0EsU0FBUyxxQkFBcUIsTUFBb0I7QUFDOUMsTUFBSSxjQUE4QixDQUFDO0FBQ25DLFdBQVMsUUFBUSxHQUFHLFFBQVEsS0FBSyxTQUFTLFFBQVEsU0FBUztBQUN2RCxRQUFJLFdBQTJCLENBQUM7QUFDaEMsYUFBUyxJQUFJLEdBQUcsSUFBSSxLQUFLLFNBQVMsS0FBSyxFQUFFLEtBQUssUUFBUSxLQUFLO0FBQ3ZELGVBQVM7QUFBQSxRQUNMLGdCQUFBQSxNQUFDLFFBQVksZUFBSyxTQUFTLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBL0IsQ0FBaUM7QUFBQSxNQUM5QztBQUFBLElBRUo7QUFDQSxnQkFBWTtBQUFBLE1BQ1IsZ0JBQUFDLE9BQUMsU0FBb0IsV0FBVSxRQUMzQjtBQUFBLHdCQUFBRCxNQUFDLE1BQUcsTUFBTSxLQUFLLFNBQVMsS0FBSyxFQUFFLE9BQU07QUFBQSxRQUNyQyxnQkFBQUEsTUFBQyxRQUFnQixzQkFBUixLQUFpQjtBQUFBLFdBRnBCLFFBQU0sR0FHaEI7QUFBQSxJQUNKO0FBQUEsRUFFSjtBQUNBLFNBQ0ksZ0JBQUFDLE9BQUMsU0FDRztBQUFBLG9CQUFBRCxNQUFDLE1BQUcsSUFBSSxHQUFHLEtBQUssSUFBSSxRQUFRLE1BQU0sS0FBSyxNQUFLO0FBQUEsSUFDNUMsZ0JBQUFDLE9BQUMsU0FBSSxXQUFVLE9BQ1g7QUFBQSxzQkFBQUQsTUFBQyxTQUFJLFdBQVUsU0FDWCwwQkFBQUEsTUFBQyxTQUFJLFdBQVUsdUJBQ1gsMEJBQUFBLE1BQUMsU0FBSSxLQUFLLEtBQUssU0FBUyxXQUFVLGVBQWEsR0FDbkQsR0FDSjtBQUFBLE1BQ0EsZ0JBQUFBLE1BQUMsU0FBSSxXQUFVLE9BQ1YsZUFBSyxjQUNWO0FBQUEsT0FDSjtBQUFBLElBQ0EsZ0JBQUFBLE1BQUMsU0FBSSxXQUFVLE9BQ2QsdUJBQ0Q7QUFBQSxLQUNKO0FBRVI7OztBQ3hlQSxTQUFTLGFBQUFFLFlBQVcsWUFBQUMsaUJBQWdCO0FBcUU5QixxQkFBQUMsWUFDRSxPQUFBQyxPQVljLFFBQUFDLGNBYmhCOzs7QUNoRUUsZ0JBQUFDLGFBQUE7OztBQ0FLLGdCQUFBQyxhQUFBO0FBSE4sU0FBUyxjQUFjLEVBQUMsS0FBSyxVQUFVLElBQUcsR0FBK0M7QUFDNUYsUUFBTSxFQUFDLHlCQUF3QixJQUFJLGNBQWM7QUFDakQsU0FDSSxnQkFBQUEsTUFBQyxTQUFJLDBCQUFBQSxNQUFDLE9BQUUsU0FBUyxNQUFNLHlCQUF5QixFQUFDLE1BQU0sSUFBSSxPQUFPLEtBQUssWUFBWSxTQUFRLENBQUMsR0FBSSxlQUFJLEdBQUk7QUFFaEg7OztBQ0ZVLGdCQUFBQyxhQUFBOzs7QUNBQSxnQkFBQUMsYUFBQTs7O0FDQUEsZ0JBQUFDLGFBQUE7OztBQ0FBLGdCQUFBQyxhQUFBOzs7QUNBQSxnQkFBQUMsYUFBQTs7O0FDQUEsZ0JBQUFDLGFBQUE7OztBQ3FCSixxQkFBQUMsWUFHSSxPQUFBQyxPQVNjLFFBQUFDLGNBWmxCOzs7QUNuQkYscUJBQUFDLFlBQ0UsT0FBQUMsT0FERixRQUFBQyxjQUFBOzs7QUNHRSxnQkFBQUMsT0FNQSxRQUFBQyxjQU5BOzs7QUNSRSxnQkFBQUMsYUFBQTs7O0FDY0ksZ0JBQUFDLE9BR1ksUUFBQUMsY0FIWjs7O0FDQ1IscUJBQUFDLFlBRUssT0FBQUMsT0F3RFcsUUFBQUMsY0ExRGhCOzs7QUNBQSxxQkFBQUMsWUFHMkIsT0FBQUMsT0FEekIsUUFBQUMsY0FGRjs7O0FDVlksZ0JBQUFDLE9BQ0EsUUFBQUMsY0FEQTs7O0FDS0osZ0JBQUFDLE9BRUEsUUFBQUMsY0FGQTs7O0FDUEYsZ0JBQUFDLGFBQUE7QUFISyxTQUFSLHlCQUF5QztBQUM1QyxTQUNJLGdCQUFBQSxNQUFDLFNBQ0MsMEJBQUFBLE1BQUMsdUJBQWEsZUFBOEIsR0FDOUM7QUFFUjtBQUdBLElBQU0sZ0JBQWdCO0FBQUEsRUFDdEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXdCRztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWlCQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQW9CQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFxQko7OztBQ3pGVSxnQkFBQUMsYUFBQTtBQUhLLFNBQVIsMEJBQTBDO0FBQzdDLFNBQ0ksZ0JBQUFBLE1BQUMsU0FDQywwQkFBQUEsTUFBQyx1QkFBYSxlQUFlQyxnQkFBZSxHQUM5QztBQUVSO0FBR0EsSUFBTUEsaUJBQWdCO0FBQUEsRUFDbEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTBDSjs7O0FDakRVLGdCQUFBQyxhQUFBO0FBSEssU0FBUixzQkFBc0M7QUFDekMsU0FDSSxnQkFBQUEsTUFBQyxTQUNDLDBCQUFBQSxNQUFDLHVCQUFhLGVBQWVDLGdCQUFlLEdBQzlDO0FBRVI7QUFHQSxJQUFNQSxpQkFBZ0I7QUFBQSxFQUN0QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFnQkc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBaUJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWVIOzs7QUN0RVUsZ0JBQUFDLGFBQUE7QUFISyxTQUFSLGdCQUFnQztBQUNuQyxTQUNJLGdCQUFBQSxNQUFDLFNBQ0MsMEJBQUFBLE1BQUMsdUJBQWEsZUFBZUMsZ0JBQWUsR0FDOUM7QUFFUjtBQUdBLElBQU1BLGlCQUFnQjtBQUFBLEVBQ3RCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXNCRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFzQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFzQkY7OztBQ3pFVSxnQkFBQUMsYUFBQTtBQUhLLFNBQVIsb0JBQW9DO0FBQ3ZDLFNBQ0ksZ0JBQUFBLE1BQUMsU0FDQywwQkFBQUEsTUFBQyx1QkFBYSxlQUFlQyxnQkFBZSxHQUM5QztBQUVSO0FBR0EsSUFBTUEsaUJBQWdCO0FBQUEsRUFDbEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBc0JGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFxQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFzQkY7OztBQ2hFSSxTQXlOVyxZQUFBQyxZQXJFRCxPQUFBQyxPQXBKVixRQUFBQyxjQUFBO0FBSEosU0FBUyxtQkFBbUIsRUFBQyxLQUFLLEtBQUksR0FBOEI7QUFDbEUsUUFBTSxFQUFDLG9CQUFtQixJQUFJLGNBQWM7QUFDNUMsU0FDRSxnQkFBQUEsT0FBQyxPQUFFLFNBQVMsTUFBTSxvQkFBb0IsS0FBSyxFQUFFLEdBQUc7QUFBQTtBQUFBLElBQUU7QUFBQSxJQUFLO0FBQUEsS0FBQztBQUU1RDtBQUNBLFNBQVMsb0JBQW9CLEVBQUMsSUFBSSxNQUFNLEtBQUksR0FBMkM7QUFDckYsUUFBTSxFQUFDLGtCQUFpQixJQUFJLGNBQWM7QUFDMUMsU0FDRSxnQkFBQUEsT0FBQyxPQUFFLFNBQVMsTUFBTSxrQkFBa0IsSUFBSSxJQUFJLEdBQUc7QUFBQTtBQUFBLElBQUU7QUFBQSxJQUFLO0FBQUEsS0FBQztBQUUzRDtBQXFEQSxJQUFNLE9BQWtDO0FBQUEsRUFDdEMsYUFBYTtBQUFBLEVBQ2IsS0FBSztBQUFBLEVBQ0wsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsVUFBVTtBQUFBLEVBQ1YsU0FBUztBQUFBLEVBQ1QsT0FBTztBQUFBLEVBQ1AsU0FBUztBQUFBLEVBQ1QsUUFBTztBQUFBLEVBQ1AsUUFBUTtBQUFBLEVBQ1IsU0FBUztBQUFBLEVBQ1QsWUFBWTtBQUFBLEVBQ1osU0FBUztBQUFBLEVBQ1QsWUFBWTtBQUFBLEVBQ1osUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsUUFBUTtBQUFBLEVBQ1IsYUFBYTtBQUFBLEVBQ2IsYUFBUTtBQUFBLEVBQ1IsVUFBVTtBQUFBLEVBQ1YsUUFBUTtBQUFBLEVBQ1IsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsTUFBSztBQUFBLEVBQ0wsV0FBVTtBQUFBLEVBQ1YsVUFBUztBQUFBLEVBQ1QsV0FBVTtBQUFBLEVBQ1YsV0FBVTtBQUFBLEVBQ1YsZ0JBQVU7QUFBQSxFQUNWLFNBQVE7QUFBQSxFQUNSLFFBQVE7QUFBQSxFQUNSLE9BQU07QUFBQSxFQUNOLFFBQU87QUFBQSxFQUNQLGVBQWU7QUFBQSxFQUNmLGdCQUFnQjtBQUFBLEVBQ2hCLE9BQU07QUFBQSxFQUNOLE9BQU87QUFBQSxFQUNQLE1BQU07QUFBQSxFQUNOLFVBQVU7QUFBQSxFQUNWLFVBQVM7QUFBQSxFQUNULE9BQU07QUFBQSxFQUNOLFVBQVU7QUFBQSxFQUNWLFVBQVU7QUFBQSxFQUNWLFVBQVU7QUFBQSxFQUNWLE9BQU87QUFBQSxFQUNQLFdBQVc7QUFBQSxFQUNYLFNBQVM7QUFBQSxFQUNULFFBQVE7QUFFVjtBQXNCTyxJQUFNLGVBQTJDO0FBQUEsRUFDdEQ7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxVQUFVO0FBQUEsSUFDM0IsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsZUFBYztBQUFBLElBQ2QsY0FBYTtBQUFBLElBQ2IsT0FBTztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLE1BQUMsZ0JBQUFELE1BQUMsT0FBRSx5WkFDZ1k7QUFBQSxNQUMzWSxnQkFBQUEsTUFBQyxPQUFFLDBCQUFBQSxNQUFDLFlBQU8sbU9BQXFOLEdBQVM7QUFBQSxNQUFNLGdCQUFBQSxNQUFDLE9BQUUsNjVEQUs2TTtBQUFBLElBQUk7QUFBQSxJQUNyYyxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxPQUFPO0FBQUEsSUFDeEIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsZUFBZTtBQUFBLElBQ2YsY0FBYztBQUFBLElBQ2QsT0FBTztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLE1BQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsUUFBc0gsZ0JBQUFELE1BQUMsWUFBTyw2QkFBZTtBQUFBLFFBQVM7QUFBQSxTQUE0RTtBQUFBLE1BQzdPLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLFFBQXFDLGdCQUFBRCxNQUFDLFlBQU8sb0NBQXNCO0FBQUEsUUFBUztBQUFBLFNBQStrQjtBQUFBLE1BQzlwQixnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxRQUEwQyxnQkFBQUQsTUFBQyxZQUFPLCtDQUFpQztBQUFBLFFBQVM7QUFBQSxTQUFpa0I7QUFBQSxNQUNocUIsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsUUFBaUQsZ0JBQUFELE1BQUMsWUFBTyxrQ0FBb0I7QUFBQSxRQUFTO0FBQUEsU0FBcWI7QUFBQSxNQUM5Z0IsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsUUFBaUYsZ0JBQUFELE1BQUMsWUFBTyw2QkFBZTtBQUFBLFFBQVM7QUFBQSxTQUEwYjtBQUFBLElBQzlpQjtBQUFBLElBQ0YsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssU0FBUztBQUFBLElBQzFCLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWE7QUFBQSxJQUNiLGVBQWU7QUFBQSxJQUNmLE1BQU07QUFBQSxJQUNOLFNBQVMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHNsREFHd1osQ0FBSTtBQUFBLElBQ3phLFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLEtBQUs7QUFBQSxJQUN0QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixlQUFjO0FBQUEsSUFDZCxjQUFjO0FBQUEsSUFDZCxPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxpbEJBRWdGLENBQUk7QUFBQSxJQUN0RyxVQUFVLENBQUMsZ0JBQUFDLE9BQUFGLFlBQUEsRUFBRTtBQUFBLHNCQUFBQyxNQUFDLE9BQUUsK1JBRWhCO0FBQUEsTUFDRSxnQkFBQUEsTUFBQyxPQUFFLDhYQUlzRDtBQUFBLE1BQ3pELGdCQUFBQSxNQUFDLE9BQUUsb1dBS3NEO0FBQUEsTUFDekQsZ0JBQUFBLE1BQUMsT0FBRSxpN0NBTXFQO0FBQUEsT0FDMVAsQ0FBRztBQUFBLElBQ0gsZ0JBQWdCLENBQUMsZ0JBQUFDLE9BQUFGLFlBQUEsRUFBRTtBQUFBO0FBQUEsTUFBQyxnQkFBQUMsTUFBQyxPQUFFLHVQQUF5TztBQUFBLE1BQzlQLGdCQUFBQSxNQUFDLE9BQUUsZ2tCQUFrakI7QUFBQSxPQUFJLENBQUc7QUFBQSxJQUM5akIsMkJBQTJCO0FBQUEsSUFDM0IsV0FBVyxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUEsc0JBQUFDLE1BQUMsU0FBTSxHQUFFLDJDQUEwQyxHQUFFLHNSQUFxUjtBQUFBLE1BQ3JWLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1REFBc0QsR0FBRSx5TEFBd0w7QUFBQSxNQUN6UCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOEJBQTZCLEdBQUUsdU5BQXNOO0FBQUEsTUFDOVAsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG1IQUFrSCxHQUFFLHdCQUF1QjtBQUFBLE1BQ3BKLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyQ0FBMEMsR0FBRSwrSEFBOEg7QUFBQSxNQUNuTCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0NBQXFDLEdBQUUsMFFBQW9RO0FBQUEsTUFDcFQsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlEQUF3RCxHQUFFLHlIQUF3SDtBQUFBLE1BQzNMLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyQ0FBMEMsR0FBRSx3RkFBa0Y7QUFBQSxNQUN2SSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNkRBQTRELEdBQUUsNkVBQTRFO0FBQUEsTUFDbkosZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG1DQUFrQyxHQUFFLDJJQUEwSTtBQUFBLE1BQ3ZMLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxxSEFBb0gsR0FBRSxzRkFBcUY7QUFBQSxNQUNwTixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUVBQWtFLEdBQUUseUJBQXdCO0FBQUEsTUFDckcsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdGQUF1RixHQUFFLHVLQUFzSztBQUFBLE1BQ3hRLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxxREFBb0QsR0FBRSx5UUFBd1E7QUFBQSxNQUN2VSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUseUVBQXdFLEdBQUUsMkZBQTBGO0FBQUEsTUFDN0ssZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGlEQUFnRCxHQUFFLHNOQUFxTjtBQUFBLE1BQ2hSLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxrSUFBaUksR0FBRSwyUEFBZ1A7QUFBQSxNQUM1WCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUZBQWtGLEdBQUUseVdBQXdXO0FBQUEsTUFDcmMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZEQUE0RCxHQUFFLDJLQUEwSztBQUFBLE1BQ2pQLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxnR0FBK0YsR0FBRSwrSEFBOEg7QUFBQSxNQUN4TyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUscUNBQW9DLEdBQUUsb0VBQW1FO0FBQUEsTUFDbEgsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZEQUE0RCxHQUFFLDJWQUEwVjtBQUFBLE1BQ2phLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1RkFBaUYsR0FBRSxxRkFBaUY7QUFBQSxNQUM3SyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsZ0RBQStDLEdBQUUsNEVBQTJFO0FBQUEsTUFDckksZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFFQUFvRSxHQUFFLDRDQUEyQztBQUFBLE1BQzFILGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwrREFBOEQsR0FBRSxpR0FBMkY7QUFBQSxNQUNwSyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsMkZBQTBGLEdBQUUsa0lBQWlJO0FBQUEsTUFDdE8sZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZEQUE0RCxHQUFFLHdFQUF1RTtBQUFBLE1BQzlJLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3REFBdUQsR0FBRSxxSEFBb0g7QUFBQSxNQUN0TCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0hBQW9ILEdBQUUsaVJBQWdSO0FBQUEsTUFDL1ksZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDRFQUEyRSxHQUFFLGdGQUErRTtBQUFBLE1BQ3JLLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxrR0FBaUcsR0FBRSw4RkFBNkY7QUFBQSxNQUN6TSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsZ0ZBQStFLEdBQUUsNFBBQTJQO0FBQUEsTUFDclYsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDBEQUF5RCxHQUFFLDhGQUE2RjtBQUFBLE1BQ2pLLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2RkFBNEYsR0FBRSxxSUFBb0k7QUFBQSxNQUMzTyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0dBQTJGLEdBQUUsMEVBQXlFO0FBQUEsTUFDL0ssZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG9FQUFtRSxHQUFFLGlEQUFnRDtBQUFBLE1BQzlILGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw0SEFBMkgsR0FBRSx1QkFBaUI7QUFBQSxNQUN2SixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsb0VBQW1FLEdBQUUsNkZBQTRGO0FBQUEsT0FDNUs7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQTtBQUFBLEVBRVY7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssZUFBZTtBQUFBLElBQ2hDLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGVBQWU7QUFBQSxJQUNmLGNBQWM7QUFBQSxJQUNkLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxJQUNSLDJCQUEyQjtBQUFBLEVBQzdCO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFVBQVU7QUFBQSxJQUMzQixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixlQUFlO0FBQUEsSUFDZixjQUFjO0FBQUEsSUFDZCxPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSwrakJBQXNpQixDQUFJO0FBQUEsSUFDNWpCLFVBQVUsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLG1yRUFHdXNCLENBQUk7QUFBQSxJQUN6dEIsZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSw4bEJBQXdrQixDQUFJO0FBQUEsSUFDaG1CLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxJQUNSLFdBQVUsZ0JBQUFDLE9BQUFGLFlBQUEsRUFBRTtBQUFBLHNCQUFBQyxNQUFDLFlBQU8sT0FBTSxzRUFBa0UsT0FBTSxPQUFNLFFBQU8sT0FBTSxLQUFJLDRFQUEyRSxhQUFZLEtBQUksaUJBQWlCLE1BQU0sU0FBUSw0REFBMkQ7QUFBQSxNQUFTLGdCQUFBQSxNQUFDLE9BQUUsbUVBQXFEO0FBQUEsT0FBSTtBQUFBLEVBQ3JYO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsWUFBWSxLQUFLLGFBQWE7QUFBQSxJQUM5QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFDZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxJQUNoQixNQUFNO0FBQUEsSUFDTixTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxXQUFXO0FBQUEsSUFDNUIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsZUFBZTtBQUFBLElBQ2YsY0FBYztBQUFBLElBQ2QsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1IsZ0JBQWdCO0FBQUEsRUFDbEI7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssT0FBTztBQUFBLElBQ3hCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLG1ZQUN1TCxDQUFJO0FBQUEsSUFDN00sVUFBVTtBQUFBLE1BQUMsZ0JBQUFBLE1BQUMsT0FBRSw2dkJBR3dHO0FBQUEsTUFDdEgsZ0JBQUFBLE1BQUMsT0FBRSxvbUJBRStKO0FBQUEsSUFBSTtBQUFBLElBQ3RLLGdCQUFnQixDQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLE1BQ2xCLGdCQUFBQSxPQUFDLFFBQ0M7QUFBQSx3QkFBQUQsTUFBQyxRQUFHLG9PQUFzTjtBQUFBLFFBQzFOLGdCQUFBQSxNQUFDLFFBQUcsMk9BQTZOO0FBQUEsUUFDak8sZ0JBQUFBLE1BQUMsUUFBRyw4WUFBZ1k7QUFBQSxTQUN0WTtBQUFBLE1BQUs7QUFBQSxPQUNQLENBQUk7QUFBQSxJQUNKLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFFBQVE7QUFBQSxJQUN6QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixlQUFlO0FBQUEsSUFDZixjQUFjO0FBQUEsSUFDZCxPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFDZCxVQUFVO0FBQUEsTUFBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxRQUFxTCxnQkFBQUQsTUFBQyxPQUFFLE1BQUsseUJBQXlCLGdDQUFrQjtBQUFBLFFBQUk7QUFBQSxTQUFpbkM7QUFBQSxNQUMzMkM7QUFBQSxNQUNBLGdCQUFBQSxNQUFDLE9BQUUsZ2xEQUE2akQ7QUFBQSxNQUNoa0QsZ0JBQUFBLE1BQUMsT0FBRSxtREFBcUM7QUFBQSxNQUN4QyxnQkFBQUMsT0FBQyxRQUNDO0FBQUEsd0JBQUFELE1BQUMsUUFBRyxnR0FBa0Y7QUFBQSxRQUN0RixnQkFBQUEsTUFBQyxRQUFHLGlHQUFtRjtBQUFBLFFBQ3ZGLGdCQUFBQSxNQUFDLFFBQUcsa0hBQW9HO0FBQUEsUUFDeEcsZ0JBQUFBLE1BQUMsUUFBRyx1R0FBeUY7QUFBQSxTQUMvRjtBQUFBLE1BRUEsZ0JBQUFBLE1BQUMsT0FBRSxtREFBcUM7QUFBQSxNQUN4QyxnQkFBQUMsT0FBQyxRQUNDO0FBQUEsd0JBQUFELE1BQUMsUUFBRyxvSEFBc0c7QUFBQSxRQUMxRyxnQkFBQUEsTUFBQyxRQUFHLDJJQUE2SDtBQUFBLFFBQ2pJLGdCQUFBQSxNQUFDLFFBQUcsc0lBQXdIO0FBQUEsUUFDNUgsZ0JBQUFBLE1BQUMsUUFBRyw4SUFBZ0k7QUFBQSxTQUN0STtBQUFBLElBQ0E7QUFBQSxJQUNBLGdCQUFnQixDQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLE1BQStZLGdCQUFBRCxNQUFDLE9BQUUsOEJBQWdCO0FBQUEsTUFBSTtBQUFBLE9BQTZaLENBQUk7QUFBQSxJQUMzMUIsV0FBVyxnQkFBQUMsT0FBQUYsWUFBQSxFQUNUO0FBQUEsc0JBQUFDLE1BQUMsU0FBTSxHQUFFLG1KQUFrSixHQUFFLDBsQkFBeWxCO0FBQUEsTUFDdHZCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3RUFBdUUsR0FBRSxpa0JBQXNqQjtBQUFBLE1BQ3hvQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUVBQWtFLEdBQUUsNm9CQUF3bkI7QUFBQSxNQUNyc0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFFQUFvRSxHQUFFLHF0QkFBMHNCO0FBQUEsTUFDenhCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxtSEFBNkcsR0FBRSwrY0FBeWM7QUFBQSxNQUNqa0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHNFQUFxRSxHQUFFLG1rQkFBNmpCO0FBQUEsTUFDN29CLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxxR0FBb0csR0FBRSxpbkJBQXNtQjtBQUFBLE1BQ3J0QixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsdUVBQXNFLEdBQUUsb2lCQUF5aEI7QUFBQSxNQUMxbUIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdFQUF1RSxHQUFFLHdmQUE2ZTtBQUFBLE1BQy9qQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNEVBQTJFLEdBQUUscVFBQW9RO0FBQUEsTUFDMVYsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG9EQUFtRCxHQUFFLDZUQUE0VDtBQUFBLE1BQzFYLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxxRUFBb0UsR0FBRSxtT0FBa087QUFBQSxNQUNqVCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0VBQXFFLEdBQUUsc1RBQTJTO0FBQUEsTUFDM1gsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDhFQUE2RSxHQUFFLCtiQUFvYjtBQUFBLE1BQzVnQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0VBQXFFLEdBQUUsa2FBQWtaO0FBQUEsTUFDbGUsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGtEQUFpRCxHQUFFLDhlQUE2ZTtBQUFBLE9BQzNpQjtBQUFBLElBQ0EsZ0JBQWdCO0FBQUEsSUFDaEIsc0JBQXNCO0FBQUEsSUFDdEIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssYUFBYTtBQUFBLElBQzlCLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGVBQWM7QUFBQSxJQUNkLGNBQWM7QUFBQSxJQUNkLGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLElBQ2hCLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFVBQVU7QUFBQSxJQUMzQixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixlQUFjO0FBQUEsSUFDZCxjQUFjO0FBQUEsSUFDZCxPQUFPO0FBQUEsSUFDUCxjQUFjO0FBQUEsSUFDZCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxJQUNoQixzQkFBc0I7QUFBQSxJQUN0QixTQUFTLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSx3b0JBQTBuQixDQUFJO0FBQUEsSUFDM29CLFFBQVE7QUFBQSxJQUNSLFdBQVUsZ0JBQUFDLE9BQUFGLFlBQUEsRUFDVjtBQUFBLHNCQUFBQyxNQUFDLFNBQU0sR0FBRSxxR0FBb0csR0FBRSx1WkFBcVo7QUFBQSxNQUNwZ0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFDQUFvQyxHQUFFLHNjQUFvYztBQUFBLE1BQ25mLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2QkFBNEIsR0FBRSxpRUFBK0Q7QUFBQSxNQUN0RyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOERBQTZELEdBQUUsZ0ZBQThFO0FBQUEsTUFDdEosZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDBDQUF5QyxHQUFFLDZTQUEyUztBQUFBLE1BQy9WLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3REFBdUQsR0FBRSx3TEFBaUw7QUFBQSxNQUNuUCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsZ0ZBQStFLEdBQUUsZ1VBQThUO0FBQUEsTUFDeFosZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGtGQUFpRixHQUFFLHVKQUFxSjtBQUFBLE1BQ2pQLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyQ0FBMEMsR0FBRSxrTEFBZ0w7QUFBQSxNQUNyTyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsZ0RBQStDLEdBQUUseU9BQXVPO0FBQUEsTUFDalMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtEQUE4RCxHQUFFLHlOQUF1TjtBQUFBLE1BQ2hTLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxtRkFBa0YsR0FBRSw0T0FBME87QUFBQSxNQUN2VSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsdUhBQXNILEdBQUUsNktBQTJLO0FBQUEsTUFDNVMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHNEQUFxRCxHQUFFLHdGQUFzRjtBQUFBLE1BQ3RKLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxpREFBZ0QsR0FBRSwrRkFBNkY7QUFBQSxNQUN4SixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUNBQWtDLEdBQUUsME9BQXFPO0FBQUEsTUFDbFIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG9EQUFtRCxHQUFFLG1LQUFpSztBQUFBLE9BQy9OO0FBQUEsRUFDRjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxVQUFVO0FBQUEsSUFDM0IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1Isc0JBQXNCO0FBQUEsRUFDeEI7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssYUFBYTtBQUFBLElBQzlCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLElBQ2hCLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsWUFBWSxLQUFLLFVBQVU7QUFBQSxJQUMzQixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixNQUFNO0FBQUEsSUFDTixVQUFVO0FBQUEsSUFDVixlQUFlO0FBQUEsSUFDZixjQUFjO0FBQUEsSUFDZCxPQUFPO0FBQUEsSUFDUCxTQUFTLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSx5dEJBQTJzQixDQUFJO0FBQUEsSUFDNXRCLFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWTtBQUFBLElBQ1osS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsZUFBZTtBQUFBLElBQ2YsY0FBYztBQUFBLElBQ2QsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssU0FBUztBQUFBLElBQzFCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLGVBQWU7QUFBQSxJQUNmLGNBQWM7QUFBQSxJQUNkLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUEyUCxnQkFBQUQsTUFBQyxpQkFBYyxLQUFJLGNBQWEsVUFBUyxVQUFTLEtBQUksS0FBSTtBQUFBLE1BQUU7QUFBQSxPQUFpSixDQUFJO0FBQUEsSUFDOWQsVUFBVSxDQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLE1BQXVYLGdCQUFBRCxNQUFDLHNCQUFtQixLQUFJLE9BQU0sTUFBSyxhQUFZO0FBQUEsTUFBRTtBQUFBLE9BRUgsQ0FBSTtBQUFBLElBQ3ZiLGdCQUFnQixDQUFDLGdCQUFBQSxNQUFDLE9BQUUseWRBQXNjLENBQUk7QUFBQSxJQUM5ZCxXQUFXLGdCQUFBQyxPQUFBRixZQUFBLEVBQ1Q7QUFBQSxzQkFBQUM7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BTzBkO0FBQUEsTUFDOWQsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFFUCxHQUFFO0FBQUE7QUFBQSxNQUt3bEI7QUFBQSxNQUM1bEIsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUN5YjtBQUFBLE1BQzdiLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBcVg7QUFBQSxNQUN6WCxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQXNiO0FBQUEsTUFDMWIsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUF3VztBQUFBLE1BQzVXLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBb2U7QUFBQSxNQUN4ZSxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BRWszQjtBQUFBLE1BQ3QzQixnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BRXFMO0FBQUEsTUFDekwsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUF5RztBQUFBLE1BQzdHLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBb0c7QUFBQSxNQUN4RyxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQXNFO0FBQUEsTUFDMUUsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZNQUF3TCxHQUFFLGdIQUF5RztBQUFBLE1BQzVTLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxnRkFBK0UsR0FBRSw4aUVBQXdoRTtBQUFBLE1BQ2xuRSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUJBQWtCLEdBQUUsb3VEQUE2dEQ7QUFBQSxNQUMxdkQsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG9MQUFtTCxHQUFFLDRyQ0FBMHJDO0FBQUEsTUFDeDNDLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1RUFBcUUsR0FBRSxlQUFhO0FBQUEsTUFDN0YsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDJRQUFnUSxHQUFFLDB3Q0FHM0U7QUFBQSxNQUNoTSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsb1hBQThWLEdBQUUscTZCQUNnTjtBQUFBLE1BQ3pqQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOFJBQWdSLEdBQUUsdWlGQUFrZ0Y7QUFBQSxNQUM3eEYsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDRTQUNtTSxHQUFFLHF5REFHZ0M7QUFBQSxNQUM5TyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOEZBQTZGLEdBQUUsdUlBQXFJO0FBQUEsTUFDN08sZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGlMQUFnTCxHQUFFLDRCQUEwQjtBQUFBLE1BQ3JOLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw0RkFBMEYsR0FBRSxxQkFBbUI7QUFBQSxPQUN2SDtBQUFBLElBQ0gsWUFBWSxnQkFBQUEsTUFBQywyQkFBd0I7QUFBQSxJQUNyQyxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsZUFBZTtBQUFBLElBQ2YsY0FBYztBQUFBLElBQ2QsT0FBTztBQUFBLElBQ1AsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssT0FBTztBQUFBLElBQ3hCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLE1BQU07QUFBQSxJQUNOLFVBQVU7QUFBQSxJQUNWLGVBQWU7QUFBQSxJQUNmLGNBQWM7QUFBQSxJQUNkLE9BQU87QUFBQSxJQUNQLFNBQVMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLGtzQkFBb3JCLENBQUk7QUFBQSxJQUNyc0IsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssT0FBTztBQUFBLElBQ3hCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLGVBQWU7QUFBQSxJQUNmLGNBQWM7QUFBQSxJQUNkLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUFvQyxnQkFBQUQsTUFBQyxzQkFBbUIsS0FBSSxZQUFXLE1BQUssT0FBTTtBQUFBLE1BQUU7QUFBQSxNQUM3QixnQkFBQUEsTUFBQyxPQUFFLE1BQUssMkJBQTJCLGdDQUFrQjtBQUFBLE1BQUk7QUFBQSxPQUNMLENBQUk7QUFBQSxJQUNqSSxVQUFVLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxtMENBSThPLENBQUk7QUFBQSxJQUNoUSxnQkFBZ0IsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUNrSCxnQkFBQUQsTUFBQyxzQkFBbUIsS0FBSSxVQUFTLE1BQUssY0FBYTtBQUFBLE1BQUU7QUFBQSxPQUFFLENBQUk7QUFBQSxJQUNqTSxXQUFXLGdCQUFBQyxPQUFBRixZQUFBLEVBQ1Q7QUFBQSxzQkFBQUMsTUFBQyxTQUFNLEdBQUUsc0ZBQXFGLEdBQUUsc0lBQTJIO0FBQUEsTUFDM04sZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDRDQUEyQyxHQUFFLHdCQUFrQjtBQUFBLE1BQ3hFLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwwREFBeUQsR0FBRSxpU0FBZ1M7QUFBQSxNQUNwVyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNkRBQTRELEdBQUUsbUlBQTZIO0FBQUEsTUFDcE0sZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdEQUF1RCxHQUFFLGlYQUFzVztBQUFBLE1BQ3hhLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxzRUFBcUUsR0FBRSxxWUFBK1g7QUFBQSxNQUMvYyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsd0VBQXVFLEdBQUUsNFRBQWlUO0FBQUEsTUFDblksZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFEQUFvRCxHQUFFLGtWQUE2VDtBQUFBLE1BQzVYLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwrR0FBeUcsR0FBRSx3UkFBOFA7QUFBQSxNQUNsWCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUseUdBQW1HLEdBQUUsME5BQStNO0FBQUEsTUFDN1QsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFGQUFvRixHQUFFLDhMQUFtTDtBQUFBLE1BQ2xSLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2REFBNEQsR0FBRSw4T0FBbU87QUFBQSxNQUMxUyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUseUVBQXdFLEdBQUUsbU5BQWtOO0FBQUEsTUFDclMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGlFQUFnRSxHQUFFLGdQQUErTztBQUFBLE1BQzFULGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxtQ0FBa0MsR0FBRSxvU0FBb1I7QUFBQSxNQUNqVSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsd0NBQXVDLEdBQUUsa1BBQXVPO0FBQUEsTUFDelIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHVFQUFzRSxHQUFFLGlJQUEySDtBQUFBLE1BQzVNLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxzREFBcUQsR0FBRSx3SkFBNkk7QUFBQSxPQUMvTTtBQUFBLElBQ0EsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssT0FBTztBQUFBLElBQ3hCLEtBQUs7QUFBQSxJQUNMLFVBQVU7QUFBQSxJQUNWLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHFPQUF1TixDQUFJO0FBQUEsSUFDN08sVUFBVTtBQUFBLE1BQUMsZ0JBQUFBLE1BQUMsT0FBRSx3VkFBMFU7QUFBQSxNQUN0VixnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxRQUVILGdCQUFBRCxNQUFDLGlCQUFjLEtBQUksT0FBTSxVQUFTLFVBQVMsS0FBSSxLQUFJO0FBQUEsUUFBRTtBQUFBLFFBRXJELGdCQUFBQSxNQUFDLHNCQUFtQixLQUFJLHNCQUN0QixNQUFLLG1CQUFrQjtBQUFBLFFBQUU7QUFBQSxRQUM2RyxnQkFBQUEsTUFBQyxPQUFFLE1BQUssb0ZBQW9GLHlEQUEyQztBQUFBLFFBQUk7QUFBQSxRQUVuUixnQkFBQUEsTUFBQyxpQkFBYyxLQUFJLE9BQU0sVUFBUyxVQUFTLEtBQUksS0FBSTtBQUFBLFFBQUU7QUFBQSxRQUNnSCxnQkFBQUEsTUFBQyxpQkFBYyxLQUFJLE9BQU0sVUFBUyxVQUFTLEtBQUksS0FBSTtBQUFBLFFBQUU7QUFBQSxRQUFzYixnQkFBQUEsTUFBQyxpQkFBYyxLQUFJLE9BQU0sVUFBUyxVQUFTLEtBQUksS0FBSTtBQUFBLFFBQUU7QUFBQSxTQUF3WTtBQUFBLElBQy9rQztBQUFBLElBQ0EsZ0JBQWdCO0FBQUEsSUFDaEIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1IsWUFBWSxnQkFBQUEsTUFBQyx1QkFBbUI7QUFBQSxFQUNsQztBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxRQUFRO0FBQUEsSUFDekIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFBcVAsZ0JBQUFELE1BQUMsc0JBQW1CLEtBQUksYUFBWSxNQUFLLGNBQVk7QUFBQSxNQUFFO0FBQUEsTUFBK0ksZ0JBQUFBLE1BQUMsdUJBQW9CLElBQUcsd0JBQXdCLE1BQUsscUJBQW1CLE1BQUssd0JBQXVCO0FBQUEsTUFBRTtBQUFBLE9BQStYLENBQUk7QUFBQSxJQUN4N0IsV0FBVyxnQkFBQUMsT0FBQUYsWUFBQSxFQUNUO0FBQUEsc0JBQUFDO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUFvSjtBQUFBLE1BQ3hKLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBa0M7QUFBQSxNQUN0QyxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQStIO0FBQUEsTUFDbkksZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUFzRDtBQUFBLE1BQzFELGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBNlU7QUFBQSxNQUNqVixnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQXdoQjtBQUFBLE1BQzVoQixnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQWtWO0FBQUEsTUFDdFYsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUFpSjtBQUFBLE1BQ3JKLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBMlE7QUFBQSxNQUMvUSxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQStSO0FBQUEsTUFDblMsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUEwTztBQUFBLE1BQzlPLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBcVE7QUFBQSxNQUN6USxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQThPO0FBQUEsTUFDbFAsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUErUTtBQUFBLE1BQ25SLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBcWdCO0FBQUEsTUFDemdCLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBa0s7QUFBQSxNQUN0SyxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQTJUO0FBQUEsTUFDL1QsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUEyUjtBQUFBLE1BQy9SLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBaVM7QUFBQSxNQUNyUyxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQWtXO0FBQUEsT0FDeFc7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxJQUNSLHNCQUFzQjtBQUFBLEVBQ3hCO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsWUFBWSxLQUFLLGdCQUFnQjtBQUFBLElBQ2pDLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGVBQWM7QUFBQSxJQUNkLGNBQWM7QUFBQSxJQUNkLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDBSQUE0USxDQUFJO0FBQUEsSUFDbFMsVUFBVTtBQUFBLE1BQUMsZ0JBQUFBLE1BQUMsT0FBRSw2WEFBK1c7QUFBQSxNQUMzWCxnQkFBQUEsTUFBQyxPQUFFLHNTQUF3UjtBQUFBLE1BQzNSLGdCQUFBQSxNQUFDLE9BQUUsNllBQStYO0FBQUEsSUFBSTtBQUFBLElBQ3hZLGdCQUFnQixDQUFDLGdCQUFBQSxNQUFDLE9BQUUsK2FBQWlhLENBQUk7QUFBQSxJQUN6YixTQUFTLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxxaUJBQXVoQixDQUFJO0FBQUEsSUFDeGlCLFFBQVE7QUFBQSxJQUNSLGdCQUFlO0FBQUEsSUFDZiwyQkFBMkI7QUFBQSxJQUMzQixzQkFBc0I7QUFBQSxJQUN0QixlQUFlLENBQUMsNkRBQTZEO0FBQUEsRUFDL0U7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssVUFBVTtBQUFBLElBQzNCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUErQixnQkFBQUQsTUFBQyxzQkFBbUIsS0FBSSxlQUFjLE1BQUssbUJBQWtCO0FBQUEsTUFBRTtBQUFBLE9BQWdRLENBQUk7QUFBQSxJQUNwWCxVQUFVO0FBQUEsSUFDVixnQkFBZ0I7QUFBQSxJQUNoQixNQUFNLENBQUMsZ0JBQUFDLE9BQUMsUUFDTjtBQUFBLHNCQUFBQSxPQUFDLFFBQ0M7QUFBQSx3QkFBQUQsTUFBQyxZQUFPLHlCQUFjO0FBQUEsUUFDdEIsZ0JBQUFBLE1BQUMsT0FBRSxnNENBQTgxQztBQUFBLFNBQ24yQztBQUFBLE1BQ0EsZ0JBQUFDLE9BQUMsUUFDQztBQUFBLHdCQUFBRCxNQUFDLFlBQU8sb0NBQTRCO0FBQUEsUUFDcEMsZ0JBQUFBLE1BQUMsT0FBRSxvcEJBQTRuQjtBQUFBLFNBQ2pvQjtBQUFBLE1BQ0EsZ0JBQUFDLE9BQUMsUUFDQztBQUFBLHdCQUFBRCxNQUFDLFlBQU8sdUJBQVk7QUFBQSxRQUNwQixnQkFBQUEsTUFBQyxPQUFFLGlpQkFBbWhCO0FBQUEsU0FDeGhCO0FBQUEsTUFDQSxnQkFBQUMsT0FBQyxRQUNDO0FBQUEsd0JBQUFELE1BQUMsWUFBTywyQkFBZ0I7QUFBQSxRQUN4QixnQkFBQUEsTUFBQyxPQUFFLHVpQkFBb2hCO0FBQUEsU0FDemhCO0FBQUEsT0FDRixDQUFNO0FBQUEsSUFDTixTQUFTO0FBQUEsSUFDVCxzQkFBcUI7QUFBQSxJQUNyQixRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxPQUFPO0FBQUEsSUFDeEIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBUztBQUFBLElBQ1QsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsZUFBZTtBQUFBLElBQ2YsY0FBYztBQUFBLElBQ2QsY0FBYyxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsaWNBQzRMLENBQUk7QUFBQSxJQUNsTixVQUFVLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxtcUJBRTZPLENBQUk7QUFBQSxJQUMvUCxnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLG1wQkFFMEcsQ0FBSTtBQUFBLElBQ2xJLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFlBQVk7QUFBQSxJQUM3QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixlQUFlO0FBQUEsSUFDZixjQUFjO0FBQUEsSUFDZCxPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFLK0MsZ0JBQUFELE1BQUMsdUJBQW9CLFVBQVMsVUFBUywwQkFBQUEsTUFBQyxTQUFJLGVBQUMsR0FBTTtBQUFBLE1BQXNCO0FBQUEsT0FHM0gsQ0FBSTtBQUFBLElBQ25CLGdCQUFnQjtBQUFBLElBQ2hCLFVBQVUsQ0FBQyxnQkFBQUMsT0FBQUYsWUFBQSxFQUFFO0FBQUEsc0JBQUFFLE9BQUMsT0FBRTtBQUFBO0FBQUEsUUFHOEMsZ0JBQUFELE1BQUMsdUJBQW9CLFVBQVMsVUFBUywwQkFBQUEsTUFBQyxTQUFJLGVBQUMsR0FBTTtBQUFBLFFBQXNCO0FBQUEsU0FLdkk7QUFBQSxNQUNFLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLFFBRXVGLGdCQUFBRCxNQUFDLHVCQUFvQixVQUFTLFVBQVMsMEJBQUFBLE1BQUMsU0FBSSxlQUFDLEdBQU07QUFBQSxRQUFzQjtBQUFBLFNBQ3BGO0FBQUEsT0FDakYsQ0FBRztBQUFBLElBQ0gsZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxnbUJBS2lGLENBQUk7QUFBQSxJQUN6RywyQkFBMkI7QUFBQSxJQUMzQixzQkFBcUI7QUFBQSxJQUNyQixZQUFZLGdCQUFBQSxNQUFDLHFCQUFrQjtBQUFBLElBQy9CLFdBQVcsZ0JBQUFDLE9BQUFGLFlBQUEsRUFDVDtBQUFBLHNCQUFBQyxNQUFDLFNBQU0sR0FBRSxrREFBaUQsR0FBRSxpUkFBd1E7QUFBQSxNQUNwVSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOEVBQTZFLEdBQUUsMlFBQTBRO0FBQUEsTUFDbFcsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGdHQUErRixHQUFFLDJUQUEwVDtBQUFBLE1BQ3BhLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwrRUFBOEUsR0FBRSxrS0FBaUs7QUFBQSxNQUMxUCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsMkZBQTBGLEdBQUUsK0VBQThFO0FBQUEsTUFDbkwsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHNGQUFxRixHQUFFLGtRQUFpUTtBQUFBLE1BQ2pXLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxzR0FBcUcsR0FBRSxxZUFBb2U7QUFBQSxNQUNwbEIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdEQUF1RCxHQUFFLHFRQUFpUTtBQUFBLE9BRXJVO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxRQUFRO0FBQUEsSUFDekIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLE1BQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsUUFBOEIsZ0JBQUFELE1BQUMsT0FBRSxNQUFLLDBCQUF5QixnQ0FBa0I7QUFBQSxRQUFJO0FBQUEsU0FHZ0M7QUFBQSxNQUN2SSxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxRQUFvRSxnQkFBQUQsTUFBQyxPQUFFLE1BQUssd0RBQXVELDhDQUNwRztBQUFBLFFBQUk7QUFBQSxTQUFDO0FBQUEsSUFBSTtBQUFBLElBQzNDLFVBQVUsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUVpRixnQkFBQUQsTUFBQyxzQkFBbUIsS0FBSSxVQUFTLE1BQUssb0JBQW1CO0FBQUEsTUFBRTtBQUFBLE1BQTJILGdCQUFBQSxNQUFDLHNCQUFtQixLQUFJLFlBQVcsTUFBSyxPQUFNO0FBQUEsTUFBRTtBQUFBLE9BQThKLENBQUk7QUFBQSxJQUN2ZSxnQkFBZ0IsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUd1QixnQkFBQUQsTUFBQyxpQkFBYyxLQUFJLFVBQVMsVUFBUyxVQUFTLEtBQUksS0FBSTtBQUFBLE1BQUU7QUFBQSxNQUtOLGdCQUFBQSxNQUFDLGlCQUFjLEtBQUksVUFBUyxVQUFTLFVBQVMsS0FBSSxLQUFJO0FBQUEsTUFBRTtBQUFBLE1BRXZILGdCQUFBQSxNQUFDLGlCQUFjLEtBQUksVUFBUyxVQUFTLFVBQVMsS0FBSSxLQUFJO0FBQUEsTUFBRTtBQUFBLE1BQ3BFLGdCQUFBQSxNQUFDLGlCQUFjLEtBQUksVUFBUyxVQUFTLFVBQVMsS0FBSSxLQUFJO0FBQUEsTUFBRTtBQUFBLE9BUS9ELENBQUk7QUFBQSxJQUNmLHNCQUFzQjtBQUFBLElBQ3RCLFlBQVksZ0JBQUFBLE1BQUMsMEJBQXVCO0FBQUEsSUFDcEMsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssYUFBYTtBQUFBLElBQzlCLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLGVBQWU7QUFBQSxJQUNmLGNBQWM7QUFBQSxJQUNkLE9BQU87QUFBQSxJQUNQLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFFBQVE7QUFBQSxJQUN6QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxlQUFlO0FBQUEsSUFDZixjQUFjO0FBQUEsSUFDZCxjQUFjLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxrUUFBb1AsQ0FBSTtBQUFBLElBQzFRLFVBQVU7QUFBQSxNQUFDLGdCQUFBQSxNQUFDLE9BQUUsZ0pBQWtJO0FBQUEsTUFDOUksZ0JBQUFDLE9BQUMsUUFDRztBQUFBLHdCQUFBRCxNQUFDLFFBQUcsNkJBQWU7QUFBQSxRQUNuQixnQkFBQUEsTUFBQyxRQUFHLDhCQUFnQjtBQUFBLFFBQ3BCLGdCQUFBQSxNQUFDLFFBQUcsd0RBQTBDO0FBQUEsUUFDOUMsZ0JBQUFBLE1BQUMsUUFBRyxzREFBd0M7QUFBQSxTQUNoRDtBQUFBLE1BQ0EsZ0JBQUFBLE1BQUMsT0FBRSxtN0JBQXE2QjtBQUFBLElBQUk7QUFBQSxJQUM5NkIsZ0JBQWdCO0FBQUEsTUFBQyxnQkFBQUEsTUFBQyxPQUFFLDZIQUErRztBQUFBLE1BQ2pJLGdCQUFBQyxPQUFDLFFBQ0c7QUFBQSx3QkFBQUQsTUFBQyxRQUFHLDJGQUE2RTtBQUFBLFFBQ2pGLGdCQUFBQSxNQUFDLFFBQUcsNElBQThIO0FBQUEsUUFDbEksZ0JBQUFBLE1BQUMsUUFBRyx5REFBMkM7QUFBQSxRQUMvQyxnQkFBQUEsTUFBQyxRQUFHLDhGQUFnRjtBQUFBLFFBQ3BGLGdCQUFBQSxNQUFDLFFBQUcsK0NBQWlDO0FBQUEsUUFDckMsZ0JBQUFBLE1BQUMsUUFBRyw0Q0FBOEI7QUFBQSxTQUN0QztBQUFBLE1BQ0YsZ0JBQUFBLE1BQUMsT0FBRSxpR0FBbUY7QUFBQSxJQUN0RjtBQUFBLElBQ0EsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssUUFBUTtBQUFBLElBQ3pCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHlnQkFBbWYsQ0FBSTtBQUFBLElBQ3pnQixVQUFVO0FBQUEsTUFBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxRQUFvQixnQkFBQUQsTUFBQyxPQUFFLE1BQUssNkJBQTRCLDJCQUFhO0FBQUEsUUFBSTtBQUFBLFNBR3BCO0FBQUEsTUFDakUsZ0JBQUFDLE9BQUMsUUFDQztBQUFBLHdCQUFBQSxPQUFDLFFBQUc7QUFBQSwwQkFBQUQsTUFBQyxZQUFPLHVDQUF5QjtBQUFBLFVBQVM7QUFBQSxXQUFvSjtBQUFBLFFBQ2xNLGdCQUFBQyxPQUFDLFFBQUc7QUFBQSwwQkFBQUQsTUFBQyxZQUFPLDRCQUFjO0FBQUEsVUFBUztBQUFBLFdBQTZLO0FBQUEsUUFDaE4sZ0JBQUFDLE9BQUMsUUFBRztBQUFBLDBCQUFBRCxNQUFDLFlBQU8sc0NBQXdCO0FBQUEsVUFBUztBQUFBLFdBQTRLO0FBQUEsUUFDek4sZ0JBQUFDLE9BQUMsUUFBRztBQUFBLDBCQUFBRCxNQUFDLFlBQU8sa0NBQW9CO0FBQUEsVUFBUztBQUFBLFdBQXFJO0FBQUEsUUFDOUssZ0JBQUFDLE9BQUMsUUFBRztBQUFBLDBCQUFBRCxNQUFDLFlBQU8scUNBQXVCO0FBQUEsVUFBUztBQUFBLFdBQStHO0FBQUEsUUFDM0osZ0JBQUFDLE9BQUMsUUFBRztBQUFBLDBCQUFBRCxNQUFDLFlBQU8sb0NBQXNCO0FBQUEsVUFBUztBQUFBLFdBQXVHO0FBQUEsUUFDbEosZ0JBQUFDLE9BQUMsUUFBRztBQUFBLDBCQUFBRCxNQUFDLFlBQU8sMENBQTRCO0FBQUEsVUFBUztBQUFBLFdBQTBIO0FBQUEsU0FDN0s7QUFBQSxJQUNBO0FBQUEsSUFDRixnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLCs2QkFDNFgsQ0FBSTtBQUFBLElBQ3BaLFdBQVcsZ0JBQUFDLE9BQUFGLFlBQUEsRUFDWDtBQUFBLHNCQUFBQyxNQUFDLFNBQU0sR0FBRSwyRkFBMEYsR0FBRSx3TUFBc007QUFBQSxNQUMzUyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsaUZBQWdGLEdBQUUsaVFBQStQO0FBQUEsTUFDMVYsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZHQUE0RyxHQUFFLHlVQUF1VTtBQUFBLE1BQzliLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxrRkFBaUYsR0FBRSw0TkFBME47QUFBQSxNQUN0VCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNkZBQTRGLEdBQUUscVVBQW1VO0FBQUEsTUFDMWEsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdFQUF1RSxHQUFFLDJVQUF5VTtBQUFBLE1BQzNaLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx5SEFBd0gsR0FBRSxtT0FBaU87QUFBQSxPQUNwVztBQUFBLElBQ0EsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1Isc0JBQXFCO0FBQUEsRUFDdkI7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssTUFBTTtBQUFBLElBQ3ZCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLE1BQU07QUFBQSxJQUNOLFVBQVU7QUFBQSxJQUNWLGVBQWU7QUFBQSxJQUNmLGNBQWM7QUFBQSxJQUNkLE9BQU87QUFBQSxJQUNQLFNBQVMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHV0QkFBeXNCLENBQUk7QUFBQSxJQUMxdEIsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssUUFBUTtBQUFBLElBQ3pCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGVBQWU7QUFBQSxJQUNmLGNBQWM7QUFBQSxJQUNkLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDBsQkFDdU4sQ0FBSTtBQUFBLElBQzdPLFVBQVU7QUFBQSxNQUFDLGdCQUFBQSxNQUFDLE9BQUUsa0pBQW9JO0FBQUEsTUFDbEosZ0JBQUFDLE9BQUMsUUFDQztBQUFBLHdCQUFBRCxNQUFDLFFBQUcsd0ZBQTBFO0FBQUEsUUFDOUUsZ0JBQUFBLE1BQUMsUUFBRyxvRUFBc0Q7QUFBQSxRQUMxRCxnQkFBQUEsTUFBQyxRQUFHLGdKQUFrSTtBQUFBLFFBQ3RJLGdCQUFBQSxNQUFDLFFBQUcsaUlBQW1IO0FBQUEsU0FDekg7QUFBQSxJQUNBO0FBQUEsSUFDQSxnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLCtIQUE0RyxDQUFJO0FBQUEsSUFDcEksU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssUUFBUTtBQUFBLElBQ3pCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQTtBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1Isc0JBQXFCO0FBQUEsRUFDdkI7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssU0FBUztBQUFBLElBQzFCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGVBQWU7QUFBQSxJQUNmLGNBQWM7QUFBQSxJQUNkLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHNQQUF3TyxDQUFJO0FBQUEsSUFDOVAsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsMjBDQUMyTCxDQUFJO0FBQUEsSUFDN00sZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSx3aUJBQTBoQixDQUFJO0FBQUEsSUFDbGpCLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsTUFBTTtBQUFBLElBQ04sWUFBWSxLQUFLLGNBQVc7QUFBQSxJQUM1QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixjQUFjO0FBQUEsSUFDZCxlQUFlO0FBQUEsSUFDZixPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxrZkFBdWQsQ0FBSTtBQUFBLElBQzdlLFVBQVU7QUFBQSxNQUFDLGdCQUFBQSxNQUFDLE9BQUUsNmpDQUNBO0FBQUEsTUFDWixnQkFBQUMsT0FBQyxRQUNDO0FBQUEsd0JBQUFELE1BQUMsUUFBRyx3RkFBMEU7QUFBQSxRQUM5RSxnQkFBQUEsTUFBQyxRQUFHLHlEQUEyQztBQUFBLFFBQy9DLGdCQUFBQSxNQUFDLFFBQUcsZ0ZBQWtFO0FBQUEsUUFDdEUsZ0JBQUFBLE1BQUMsUUFBRyx3RkFBMEU7QUFBQSxRQUM5RSxnQkFBQUEsTUFBQyxRQUFHLHVFQUF5RDtBQUFBLFNBQy9EO0FBQUEsSUFDRjtBQUFBLElBQ0EsZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxzcUJBQXdwQixDQUFJO0FBQUEsSUFDaHJCLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxJQUNSLGdCQUFnQjtBQUFBLElBQ2hCLDJCQUEyQjtBQUFBLEVBQzdCO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFdBQVc7QUFBQSxJQUM1QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxlQUFlO0FBQUEsSUFDZixjQUFjO0FBQUEsSUFDZCxjQUFjLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFBMlEsZ0JBQUFELE1BQUMsc0JBQW1CLEtBQUksVUFBUyxNQUFLLG9CQUFrQjtBQUFBLE1BQUU7QUFBQSxPQUFvRyxDQUFJO0FBQUEsSUFDL2IsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUscW9CQUF1bkIsQ0FBSTtBQUFBLElBQ3pvQixnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHNiQUF3YSxDQUFJO0FBQUEsSUFDaGMsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssVUFBVTtBQUFBLElBQzNCLFVBQVU7QUFBQSxJQUNWLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGVBQWM7QUFBQSxJQUNkLGNBQWM7QUFBQSxJQUNkLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUEwQixnQkFBQUQsTUFBQyxzQkFBbUIsS0FBSSxTQUFRLE1BQUssZ0JBQWM7QUFBQSxNQUFFO0FBQUEsT0FBZzNCLENBQUk7QUFBQSxJQUNyOUIsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsa1RBQW9TLENBQUk7QUFBQSxJQUN0VCxnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDJUQUE2UyxDQUFJO0FBQUEsSUFDclUsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssU0FBUztBQUFBLElBQzFCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLGNBQWE7QUFBQSxJQUNiLGVBQWU7QUFBQSxJQUNmLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLElBQ2hCLFNBQVM7QUFBQSxJQUNULE1BQUssZ0JBQUFDLE9BQUFGLFlBQUEsRUFDTDtBQUFBLHNCQUFBQyxNQUFDLFNBQUksS0FBSSxzR0FBcUc7QUFBQSxNQUFNO0FBQUEsTUFDcEgsZ0JBQUFBLE1BQUMsT0FBRSw4S0FBNko7QUFBQSxNQUNoSyxnQkFBQUEsTUFBQyxTQUFJLEtBQUksMkdBQTBHO0FBQUEsTUFBTTtBQUFBLE1BQ3pILGdCQUFBQSxNQUFDLE9BQUUsd0lBQTBIO0FBQUEsTUFBSTtBQUFBLE1BQ2hJLGdCQUFBQSxNQUFDLFNBQUksS0FBSSwyR0FBMEc7QUFBQSxNQUFNO0FBQUEsTUFDMUgsZ0JBQUFBLE1BQUMsT0FBRSw4SEFBZ0g7QUFBQSxNQUFJO0FBQUEsTUFDdkgsZ0JBQUFBLE1BQUMsU0FBSSxLQUFJLDZGQUE0RjtBQUFBLE1BQU07QUFBQSxNQUMzRyxnQkFBQUEsTUFBQyxPQUFFLDBGQUE0RTtBQUFBLE9BQy9FO0FBQUEsSUFDQSxVQUFVO0FBQUEsSUFDVixXQUFXLGdCQUFBQyxPQUFBRixZQUFBLEVBQ1Q7QUFBQSxzQkFBQUM7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQTJoQjtBQUFBLE1BQy9oQixnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQXlYO0FBQUEsTUFDN1gsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUF5UjtBQUFBLE1BQzdSLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyRkFBMEYsR0FBRSwrSUFBOEk7QUFBQSxNQUNuUCxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQW1QO0FBQUEsTUFDdlAsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUFzSTtBQUFBLE1BQzFJLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ1AsR0FBRTtBQUFBO0FBQUEsTUFBMEQ7QUFBQSxNQUM5RCxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNQLEdBQUU7QUFBQTtBQUFBLE1BQXdHO0FBQUEsTUFDNUcsZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDUCxHQUFFO0FBQUE7QUFBQSxNQUEwTjtBQUFBLE9BQ2hPO0FBQUEsSUFDQSxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxVQUFVO0FBQUEsSUFDM0IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsTUFBTTtBQUFBLElBQ04sVUFBVTtBQUFBLElBQ1YsY0FBYztBQUFBLElBQ2QsZUFBZTtBQUFBLElBQ2YsT0FBTztBQUFBLElBQ1AsU0FBUyxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsK3dCQUE4dkIsQ0FBSTtBQUFBLElBQy93QixRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxPQUFPO0FBQUEsSUFDUCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssWUFBWTtBQUFBLElBQzdCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLGNBQWM7QUFBQSxJQUNkLGVBQWU7QUFBQSxJQUNmLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUNpRSxnQkFBQUQsTUFBQyxPQUFFLE1BQUssdUJBQXNCLG9CQUFNO0FBQUEsTUFBSTtBQUFBLE9BTVEsQ0FBSTtBQUFBLElBQ3ZJLFVBQVU7QUFBQSxNQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLFFBTXdDLGdCQUFBRCxNQUFDLGlCQUFjLEtBQUksVUFBUyxVQUFTLFVBQVMsS0FBSSxLQUFJO0FBQUEsUUFBRTtBQUFBLFNBQUU7QUFBQSxNQUNoSCxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxRQUM4SSxnQkFBQUQsTUFBQyxpQkFBYyxLQUFJLFVBQVMsVUFBUyxVQUFTLEtBQUksS0FBSTtBQUFBLFFBQUU7QUFBQSxTQUUxRTtBQUFBLElBQUk7QUFBQSxJQUNuSSxnQkFBZ0I7QUFBQSxNQUNkLGdCQUFBQSxNQUFDLE9BQUUsNlpBRXdJO0FBQUEsSUFDN0k7QUFBQSxJQUNBLGdCQUFnQjtBQUFBLElBQ2hCLHNCQUFzQjtBQUFBLElBQ3RCLDJCQUEyQjtBQUFBLElBQzNCLFlBQVksZ0JBQUFBLE1BQUMsaUJBQWM7QUFBQSxJQUMzQixXQUFVLGdCQUFBQyxPQUFBRixZQUFBLEVBQ1Y7QUFBQSxzQkFBQUMsTUFBQyxTQUFNLEdBQUUsd0hBQXVILEdBQUUsaVJBQStRO0FBQUEsTUFDalosZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG1KQUFrSixHQUFFLHFYQUFtWDtBQUFBLE1BQ2hoQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsa0dBQWlHLEdBQUUseVVBQXVVO0FBQUEsTUFDbmIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGdEQUErQyxHQUFFLHlOQUF1TjtBQUFBLE1BQ2pSLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxtR0FBa0csR0FBRSwyVUFBeVU7QUFBQSxNQUN0YixnQkFBQUEsTUFBQyxTQUFNLEdBQUUseUNBQXdDLEdBQUUsMEhBQXdIO0FBQUEsTUFDM0ssZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlEQUF3RCxHQUFFLHdIQUFzSDtBQUFBLE1BQ3pMLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxvRUFBbUUsR0FBRSx3TUFBc007QUFBQSxNQUNwUixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsK0dBQThHLEdBQUUsb09BQWtPO0FBQUEsTUFDM1YsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDREQUEyRCxHQUFFLHVMQUFxTDtBQUFBLE1BQzNQLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwwRkFBeUYsR0FBRSx1RUFBcUU7QUFBQSxNQUN6SyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsK0RBQThELEdBQUUsb0pBQWtKO0FBQUEsTUFDM04sZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDhFQUE2RSxHQUFFLG1NQUE0TDtBQUFBLE9BQ3BSO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxLQUFLO0FBQUEsSUFDdEIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsZUFBYztBQUFBLElBQ2QsY0FBYztBQUFBLElBQ2QsT0FBTztBQUFBLElBQ1AsU0FBUyxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsNjlCQUkrVCxDQUFJO0FBQUEsSUFDaFYsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssU0FBUztBQUFBLElBQzFCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVU7QUFBQSxJQUNWLGNBQWE7QUFBQSxJQUNiLGVBQWU7QUFBQSxJQUNmLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDhsQkFDbEIsQ0FBSTtBQUFBLElBQ0osVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsK2pDQUM0YixDQUFJO0FBQUEsSUFDOWMsZ0JBQWU7QUFBQSxNQUFDLGdCQUFBQSxNQUFDLE9BQUUsK2tCQUN3QjtBQUFBLE1BQ3pDLGdCQUFBQyxPQUFDLFFBQ0M7QUFBQSx3QkFBQUEsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyxrQ0FBb0I7QUFBQSxVQUFTO0FBQUEsV0FBNEc7QUFBQSxRQUNySixnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyxxQ0FBdUI7QUFBQSxVQUFTO0FBQUEsV0FBNkk7QUFBQSxRQUN6TCxnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyx1Q0FBeUI7QUFBQSxVQUFTO0FBQUEsV0FBeUc7QUFBQSxRQUN2SixnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyx3Q0FBMEI7QUFBQSxVQUFTO0FBQUEsV0FBZ0Y7QUFBQSxRQUMvSCxnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyxpREFBbUM7QUFBQSxVQUFTO0FBQUEsV0FBcUg7QUFBQSxRQUM3SyxnQkFBQUMsT0FBQyxRQUFHO0FBQUEsMEJBQUFELE1BQUMsWUFBTyxrQ0FBb0I7QUFBQSxVQUFTO0FBQUEsV0FBd0k7QUFBQSxTQUNuTDtBQUFBLElBQ0Y7QUFBQSxJQUNBLFdBQVUsZ0JBQUFDLE9BQUFGLFlBQUEsRUFDVjtBQUFBLHNCQUFBQyxNQUFDLFNBQU0sR0FBRSx5TUFBd00sR0FBRSwrVEFBb1Q7QUFBQSxNQUN2Z0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDhKQUF3SixHQUFFLDhSQUF3UjtBQUFBLE1BQzNiLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1RUFBc0UsR0FBRSx1SUFBc0k7QUFBQSxNQUN2TixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOEVBQTZFLEdBQUUsa1FBQWlRO0FBQUEsTUFDelYsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFKQUFvSixHQUFFLDRPQUFzTztBQUFBLE1BQ3JZLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxrSEFBNEcsR0FBRSx1T0FBc087QUFBQSxNQUM3VixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsb0dBQW1HLEdBQUUscVFBQW9RO0FBQUEsTUFDbFgsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHNEQUFxRCxHQUFFLDRPQUE0TjtBQUFBLE1BQzVSLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3RUFBdUUsR0FBRSx1REFBc0Q7QUFBQSxNQUN4SSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNEdBQTJHLEdBQUUsNkhBQTRIO0FBQUEsTUFDbFAsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG9HQUFtRyxHQUFFLDZNQUE0TTtBQUFBLE1BQzFULGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw0RUFBMkUsR0FBRSxvVEFBeVM7QUFBQSxNQUMvWCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsaURBQWdELEdBQUUsb0RBQXlDO0FBQUEsT0FDcEc7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFNBQVM7QUFBQSxJQUMxQixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFhLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxDQUFJO0FBQUEsSUFDckIsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsQ0FBSTtBQUFBLElBQ2xCLGdCQUFnQixDQUFDLGdCQUFBQSxNQUFDLE9BQUUsQ0FBSTtBQUFBLElBQ3hCLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsU0FBUztBQUFBLElBQ1QsV0FBVTtBQUFBLElBQ1YsWUFBWSxLQUFLLFdBQVc7QUFBQSxJQUM1QixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxjQUFhO0FBQUEsSUFDYixlQUFjO0FBQUEsSUFDZCxNQUFNO0FBQUEsSUFDTixNQUFNO0FBQUEsTUFBQyxnQkFBQUEsTUFBQyxPQUFFLHNRQUF3UDtBQUFBLE1BQ2hRLGdCQUFBQyxPQUFDLFFBQ0M7QUFBQSx3QkFBQUQsTUFBQyxRQUFHLDRDQUE4QjtBQUFBLFFBQ2xDLGdCQUFBQSxNQUFDLFFBQUcsMENBQTRCO0FBQUEsUUFDaEMsZ0JBQUFBLE1BQUMsUUFBRywrQ0FBaUM7QUFBQSxTQUN2QztBQUFBLE1BQ0EsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsUUFPZ0QsZ0JBQUFELE1BQUMsc0JBQW1CLEtBQUksYUFBWSxNQUFLLHFCQUFvQjtBQUFBLFFBQUU7QUFBQSxTQUM2UTtBQUFBLElBQUk7QUFBQSxJQUNyWSxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsSUFDUiwyQkFBMkI7QUFBQSxJQUMzQixzQkFBcUI7QUFBQSxFQUN2QjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssYUFBYTtBQUFBLElBQzlCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUNkLGVBQWU7QUFBQSxJQUNmLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUFxVSxnQkFBQUQsTUFBQyxzQkFBbUIsS0FBSSxZQUFXLE1BQUssT0FBTTtBQUFBLE1BQUU7QUFBQSxPQUFpQixDQUFJO0FBQUEsSUFDNVosVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUscXFCQUF1cEIsQ0FBSTtBQUFBLElBQ3pxQixnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHc2QkFBMDVCLENBQUk7QUFBQSxJQUNsN0IsVUFBVTtBQUFBLElBQ1YsV0FBVyxnQkFBQUMsT0FBQUYsWUFBQSxFQUNUO0FBQUEsc0JBQUFDLE1BQUMsU0FBTSxHQUFFLDBEQUF5RCxHQUFFLCtXQUE4VztBQUFBLE1BQ2xiLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxnRUFBK0QsR0FBRSxvV0FBbVc7QUFBQSxNQUM3YSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsb0RBQW1ELEdBQUUsa2pCQUFpakI7QUFBQSxNQUMvbUIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGdFQUErRCxHQUFFLGlYQUFnWDtBQUFBLE9BQzViO0FBQUEsSUFDQSxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxRQUFRO0FBQUEsSUFDekIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBVTtBQUFBLElBQ1YsZUFBZTtBQUFBLElBQ2YsY0FBYztBQUFBLElBQ2QsT0FBTztBQUFBLElBQ1AsY0FBYyxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsMlNBQTZSLENBQUk7QUFBQSxJQUNuVCxVQUFVLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxxaENBQ29mLENBQUk7QUFBQSxJQUN0Z0IsZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSx1b0JBQ3BCLENBQUk7QUFBQSxJQUNKLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxJQUNSLFdBQVUsZ0JBQUFDLE9BQUFGLFlBQUEsRUFDVjtBQUFBLHNCQUFBQyxNQUFDLFNBQU0sR0FBRSxnRUFBK0QsR0FBRSx3QkFBc0I7QUFBQSxNQUNoRyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUseS9CQUF3L0IsR0FBRSxnR0FBK0Y7QUFBQSxNQUNsbUMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDREQUEyRCxHQUFFLGtHQUFpRztBQUFBLE1BQ3ZLLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxrRUFBaUUsR0FBRSw2SkFBNEo7QUFBQSxNQUN4TyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNEVBQWlFLEdBQUUsc0pBQXFKO0FBQUEsTUFDak8sZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDRCQUEyQixHQUFFLHNDQUFxQztBQUFBLE1BQzNFLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3SkFBdUosR0FBRSwyZkFBMGY7QUFBQSxNQUM1cEIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtHQUF5RyxHQUFFLGliQUFnYjtBQUFBLE1BQ3BpQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0RBQXFELEdBQUUsMmJBQTBiO0FBQUEsTUFDMWYsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHVGQUFzRixHQUFFLG9vQkFBa29CO0FBQUEsTUFDbnVCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2TkFBNE4sR0FBRSw2K0ZBQTIrRjtBQUFBLE1BQ2x0RyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsdUhBQXNILEdBQUUsdTFDQUFnMUM7QUFBQSxNQUNqOUMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZMQUE0TCxHQUFFLGczQ0FBODJDO0FBQUEsTUFDcmpELGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwwTEFBeUwsR0FBRSx5M0RBQXUzRDtBQUFBLE1BQzNqRSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUseWZBQXdmLEdBQUUsZzZCQUE4NUI7QUFBQSxNQUNqNkMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGdyQkFBK3FCLEdBQUUsMkdBQXlHO0FBQUEsTUFDbnlCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxlQUFjLEdBQUUsNmxEQUEybEQ7QUFBQSxNQUNwbkQsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG1KQUFrSixHQUFFLGdHQUE4RjtBQUFBLE9BQzNQO0FBQUEsSUFDQSxzQkFBc0I7QUFBQSxFQUN4QjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxXQUFRO0FBQUEsSUFDekIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsZUFBZTtBQUFBLElBQ2YsY0FBYztBQUFBLElBQ2QsY0FBYyxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsMGFBQXlaLENBQUk7QUFBQSxJQUMvYSxVQUFVLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxrbkJBQW9tQixDQUFJO0FBQUEsSUFDdG5CLGdCQUFnQixDQUFDLGdCQUFBQSxNQUFDLE9BQUUsK1ZBQTRVLENBQUk7QUFBQSxJQUNwVyxVQUFVO0FBQUEsSUFDVixTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxNQUFNO0FBQUEsSUFDdkIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsZUFBZTtBQUFBLElBQ2YsY0FBYztBQUFBLElBQ2QsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsNGxFQUFva0UsQ0FBSTtBQUFBLElBQ3RsRSxnQkFBZ0I7QUFBQSxJQUNoQixTQUFTO0FBQUEsSUFDVCxVQUFVO0FBQUEsSUFDVixXQUFXLGdCQUFBQyxPQUFBRixZQUFBLEVBQ1Q7QUFBQSxzQkFBQUMsTUFBQyxTQUFNLEdBQUUsZ0pBQStJLEdBQUUsc3pDQUFxekM7QUFBQSxNQUMvOEMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGtGQUFpRixHQUFFLGdoQkFBK2dCO0FBQUEsTUFDM21CLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyREFBMEQsR0FBRSwwMUJBQXMxQjtBQUFBLE1BQzM1QixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsdUNBQXNDLEdBQUUsbzJDQUE4MUM7QUFBQSxNQUMvNEMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGdEQUErQyxHQUFFLHl1QkFBd3VCO0FBQUEsTUFDbHlCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwwREFBeUQsR0FBRSwrU0FBOFM7QUFBQSxNQUNsWCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNERBQTJELEdBQUUsa2dDQUE0L0I7QUFBQSxNQUNsa0MsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZCQUE0QixHQUFFLGswQkFBNHpCO0FBQUEsTUFDbjJCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxxR0FBb0csR0FBRSx5dEJBQXd0QjtBQUFBLE1BQ3YwQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUVBQWtFLEdBQUUsaTdCQUFnN0I7QUFBQSxNQUM3L0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtHQUE4RyxHQUFFLHV5QkFBNHhCO0FBQUEsTUFDcjVCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw4RUFBNkUsR0FBRSxpaUNBQWdpQztBQUFBLE9BQzFuQztBQUFBLElBQ0EsUUFBUTtBQUFBLElBQ1Isc0JBQXNCO0FBQUEsRUFDeEI7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssVUFBVTtBQUFBLElBQzNCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUFxZSxnQkFBQUQsTUFBQyxPQUFFLE1BQUssNEdBQTRHLHNCQUFRO0FBQUEsTUFBSTtBQUFBLE9BQ3pTLENBQUk7QUFBQSxJQUNsVixVQUFVLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxtbkVBT3NLLENBQUk7QUFBQSxJQUN4TCxnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHM5Q0FJd00sQ0FBSTtBQUFBLElBQ2hPLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxJQUNSLFdBQVcsZ0JBQUFDLE9BQUFGLFlBQUEsRUFDWDtBQUFBLHNCQUFBQyxNQUFDLFNBQU0sR0FBRSw0REFBaUQsR0FBRSxvZEFBK2I7QUFBQSxNQUMzZixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsaURBQWdELEdBQUUsNk5BQTROO0FBQUEsTUFDdlIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlFQUF3RSxHQUFFLDZZQUE0WTtBQUFBLE1BQy9kLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw4QkFBNkIsR0FBRSwyTkFBME47QUFBQSxNQUNsUSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsa0RBQWlELEdBQUUsZ2VBQStkO0FBQUEsTUFDM2hCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2Q0FBNEMsR0FBRSxzc0JBQXFzQjtBQUFBLE1BQzV2QixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsb0VBQW1FLEdBQUUsK1ZBQThWO0FBQUEsTUFDNWEsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFFQUFvRSxHQUFFLHFZQUFvWTtBQUFBLE1BQ25kLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxnRUFBK0QsR0FBRSwwYUFBeWE7QUFBQSxNQUNuZixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsbUVBQWtFLEdBQUUsMDFCQUF5MUI7QUFBQSxNQUN0NkIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDJDQUEwQyxHQUFFLHFXQUFvVztBQUFBLE1BQ3paLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwwREFBeUQsR0FBRSxvWEFBbVg7QUFBQSxNQUN2YixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0NBQXFDLEdBQUUsNk9BQTRPO0FBQUEsTUFDNVIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDZCQUE0QixHQUFFLGlRQUFnUTtBQUFBLE1BQ3ZTLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyREFBMEQsR0FBRSxtU0FBa1M7QUFBQSxNQUN2VyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsa0VBQWlFLEdBQUUsd0tBQXVLO0FBQUEsTUFDblAsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGdGQUErRSxHQUFFLHdpQkFBdWlCO0FBQUEsTUFDam9CLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxzSUFBcUksR0FBRSx1aEJBQXNoQjtBQUFBLE1BQ3RxQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsOEVBQTZFLEdBQUUsb1BBQW1QO0FBQUEsTUFDM1UsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHFEQUFvRCxHQUFFLDRpQkFBMmlCO0FBQUEsT0FDMW1CO0FBQUEsSUFDQSxzQkFBcUI7QUFBQSxFQUN2QjtBQUFBLEVBQ0E7QUFBQSxJQUNFLE9BQU87QUFBQSxJQUNQLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLFlBQVksS0FBSyxRQUFRO0FBQUEsSUFDekIsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsVUFBUztBQUFBLElBQ1QsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsZUFBZTtBQUFBLElBQ2YsY0FBYyxDQUFDLGdCQUFBQyxPQUFDLE9BQUU7QUFBQTtBQUFBLE1BQXdCLGdCQUFBRCxNQUFDLHNCQUFtQixLQUFJLFlBQVcsTUFBSyxPQUFNO0FBQUEsTUFBRTtBQUFBLE1BQUssZ0JBQUFBLE1BQUMsc0JBQW1CLEtBQUksUUFBTyxNQUFLLFVBQVM7QUFBQSxNQUFFO0FBQUEsTUFBd0csZ0JBQUFBLE1BQUMsc0JBQW1CLEtBQUksVUFBUyxNQUFLLFVBQVM7QUFBQSxNQUFFO0FBQUEsTUFBSyxnQkFBQUEsTUFBQyxzQkFBbUIsS0FBSSxTQUFRLE1BQUssU0FBUTtBQUFBLE1BQUU7QUFBQSxPQUNpYyxDQUFJO0FBQUEsSUFDaHlCLFVBQVUsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHl1RUFLME0sQ0FBSTtBQUFBLElBQzVOLGdCQUFnQixDQUFDLGdCQUFBQSxNQUFDLE9BQUUsZ3FDQUNpTCxDQUFJO0FBQUEsSUFDek0sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1IsV0FBVSxnQkFBQUMsT0FBQUYsWUFBQSxFQUNWO0FBQUEsc0JBQUFDLE1BQUMsU0FBTSxHQUFFLDBGQUF5RixHQUFFLHVmQUFxZjtBQUFBLE1BQ3psQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNkVBQTRFLEdBQUUsb2hCQUF3Z0I7QUFBQSxNQUMvbEIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG1FQUFrRSxHQUFFLDhkQUE0ZDtBQUFBLE1BQ3ppQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsK0VBQThFLEdBQUUsZ2VBQThkO0FBQUEsTUFDdmpCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxpSUFBZ0ksR0FBRSx1WEFBcVg7QUFBQSxNQUNoZ0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtGQUE4RixHQUFFLGdYQUE4VztBQUFBLE1BQ3ZkLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwyRkFBMEYsR0FBRSxxVkFBbVY7QUFBQSxNQUN4YixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsd0ZBQXVGLEdBQUUsa1dBQWdXO0FBQUEsTUFDbGMsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDJHQUEwRyxHQUFFLHNUQUFvVDtBQUFBLE1BQ3phLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3R0FBdUcsR0FBRSw2V0FBMlc7QUFBQSxNQUM3ZCxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsaUZBQWdGLEdBQUUsc1lBQW9ZO0FBQUEsTUFDL2QsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdGQUF1RixHQUFFLG1iQUFpYjtBQUFBLE1BQ25oQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsaUVBQWdFLEdBQUUsd1lBQXNZO0FBQUEsTUFDamQsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDBHQUF5RyxHQUFFLGlaQUErWTtBQUFBLE1BQ25nQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsa0ZBQWlGLEdBQUUsbVpBQWlaO0FBQUEsTUFDN2UsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtDQUE4QyxHQUFFLGljQUErYjtBQUFBLE1BQ3hmLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxrRkFBaUYsR0FBRSxrZkFBZ2Y7QUFBQSxNQUM1a0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlFQUF3RSxHQUFFLDhnQkFBNGdCO0FBQUEsTUFDL2xCLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxnSUFBK0gsR0FBRSwraUJBQTZpQjtBQUFBLE1BQ3ZyQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNkdBQTRHLEdBQUUsMmhCQUF5aEI7QUFBQSxNQUNocEIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtIQUE4SCxHQUFFLDhHQUE0RztBQUFBLE1BQ3JQLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2SEFBNEgsR0FBRSxxYkFBbWI7QUFBQSxPQUMxakI7QUFBQSxJQUNBLGdCQUFlO0FBQUEsRUFDakI7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixZQUFZLEtBQUssT0FBTztBQUFBLElBQ3hCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLFVBQVM7QUFBQSxJQUNULGVBQWU7QUFBQSxJQUNmLGNBQWM7QUFBQSxJQUNkLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLElBQ2hCLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxJQUNSLFdBQVUsZ0JBQUFDLE9BQUFGLFlBQUEsRUFDVjtBQUFBLHNCQUFBQyxNQUFDLFNBQU0sR0FBRSwyQ0FBMEMsR0FBRSx5QkFBdUI7QUFBQSxNQUM1RSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsK0NBQThDLEdBQUUsMEdBQXdHO0FBQUEsTUFDakssZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDJNQUFxTSxHQUFFLG9DQUFrQztBQUFBLE1BQ2xQLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxzMUJBQWcxQixHQUFFLGNBQVk7QUFBQSxNQUN2MkIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHdUQUF1VCxHQUFFLHFJQUFtSTtBQUFBLE1BQ3JjLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx3SEFBa0gsR0FBRSxxQ0FBbUM7QUFBQSxNQUNoSyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUscU9BQStOLEdBQUUsK0JBQTZCO0FBQUEsTUFDdlEsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHNLQUFxSyxHQUFFLCtUQUE2VDtBQUFBLE1BQzdlLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSw2TkFBNE4sR0FBRSx3VUFBc1U7QUFBQSxNQUM3aUIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLCtTQUFvUyxHQUFFLHFaQUFtWjtBQUFBLE1BQ2xzQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc1FBQWdRLEdBQUUscU9BQThOO0FBQUEsTUFDemUsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHNPQUFnTyxHQUFFLG1FQUFpRTtBQUFBLE1BQzVTLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxtTUFBNkwsR0FBRSxpUUFBK1A7QUFBQSxNQUN2YyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsc0hBQWdILEdBQUUsK1BBQXdQO0FBQUEsTUFDblgsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLG9LQUFtSyxHQUFFLDJMQUFvTDtBQUFBLE1BQ2xXLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx5SkFBOEksR0FBRSx3UEFBc1A7QUFBQSxNQUMvWSxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNGLEdBQUU7QUFBQTtBQUFBLE1BQXVMO0FBQUEsTUFDaE0sZ0JBQUFBO0FBQUEsUUFBQztBQUFBO0FBQUEsVUFBTSxHQUFFO0FBQUEsVUFDRixHQUFFO0FBQUE7QUFBQSxNQUFvUDtBQUFBLE1BQzdQLGdCQUFBQTtBQUFBLFFBQUM7QUFBQTtBQUFBLFVBQU0sR0FBRTtBQUFBLFVBQ0YsR0FBRTtBQUFBO0FBQUEsTUFBdU87QUFBQSxNQUNoUCxnQkFBQUE7QUFBQSxRQUFDO0FBQUE7QUFBQSxVQUFNLEdBQUU7QUFBQSxVQUNGLEdBQUU7QUFBQTtBQUFBLE1BQXVHO0FBQUEsT0FDaEg7QUFBQSxJQUNBLHNCQUFxQjtBQUFBLEVBQ3ZCO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsWUFBWSxLQUFLLFdBQVc7QUFBQSxJQUM1QixLQUFLO0FBQUEsSUFDTCxVQUFVO0FBQUEsSUFDVixTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixlQUFlO0FBQUEsSUFDZixjQUFjO0FBQUEsSUFDZCxPQUFPO0FBQUEsSUFDUCxjQUFjLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFBdUMsZ0JBQUFELE1BQUMsT0FBRSxNQUFLLHlCQUF3QiwrQkFBaUI7QUFBQSxNQUFJO0FBQUEsT0FBdWQsQ0FBSTtBQUFBLElBQ3prQixVQUFVLENBQUMsZ0JBQUFDLE9BQUMsT0FBRTtBQUFBO0FBQUEsTUFBbU4sZ0JBQUFELE1BQUMsT0FBRSxNQUFLLDhDQUE4QyxtQkFBSztBQUFBLE1BQUk7QUFBQSxPQUt0RyxDQUFJO0FBQUEsSUFDOUwsZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSx1ZkFBeWUsQ0FBSTtBQUFBLElBQ2pnQixTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsSUFDUixXQUFVLGdCQUFBQyxPQUFBRixZQUFBLEVBQ1Y7QUFBQSxzQkFBQUMsTUFBQyxTQUFNLEdBQUUsMEVBQXlFLEdBQUUsZ1BBQThPO0FBQUEsTUFDbFUsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDRGQUEyRixHQUFFLHFhQUFtYTtBQUFBLE1BQ3pnQixnQkFBQUEsTUFBQyxTQUFNLEdBQUUsNkdBQTRHLEdBQUUsa1FBQWdRO0FBQUEsTUFDdlgsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDRHQUEyRyxHQUFFLDJHQUF5RztBQUFBLE1BQy9OLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSwrRUFBOEUsR0FBRSx5S0FBdUs7QUFBQSxNQUNoUSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsZ0dBQStGLEdBQUUsNHNCQUEwc0I7QUFBQSxNQUNwekIsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLHlFQUF3RSxHQUFFLDJGQUF5RjtBQUFBLE1BQzVLLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSxzR0FBcUcsR0FBRSw2SkFBMko7QUFBQSxNQUMzUSxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsZ0lBQStILEdBQUUseW5CQUF1bkI7QUFBQSxNQUNqd0IsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLGtGQUFpRixHQUFFLGlQQUErTztBQUFBLE1BQzNVLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx1RkFBc0YsR0FBRSxpSUFBK0g7QUFBQSxNQUNoTyxnQkFBQUEsTUFBQyxTQUFNLEdBQUUsK0VBQThFLEdBQUUsNk5BQTJOO0FBQUEsTUFDcFQsZ0JBQUFBLE1BQUMsU0FBTSxHQUFFLDhGQUE2RixHQUFFLHVRQUFxUTtBQUFBLE1BQzdXLGdCQUFBQSxNQUFDLFNBQU0sR0FBRSx5RkFBd0YsR0FBRSx1UkFBcVI7QUFBQSxPQUN4WDtBQUFBLEVBQ0Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixVQUFVO0FBQUEsSUFDVixZQUFZLEtBQUssUUFBUTtBQUFBLElBQ3pCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGVBQWU7QUFBQSxJQUNmLGNBQWM7QUFBQSxJQUNkLGNBQWMsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDhjQUFnYyxDQUFJO0FBQUEsSUFDdGQsVUFBVSxDQUFDLGdCQUFBQSxNQUFDLE9BQUUsK2pCQUFpakIsQ0FBSTtBQUFBLElBQ25rQixnQkFBZ0IsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLG9iQUFpYSxDQUFJO0FBQUEsSUFDemIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLElBQ1Isc0JBQXNCO0FBQUEsSUFDdEIsMkJBQTJCO0FBQUEsRUFDN0I7QUFBQSxFQUNBO0FBQUEsSUFDRSxPQUFPO0FBQUEsSUFDUCxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxLQUFLO0FBQUEsSUFDTCxhQUFhO0FBQUEsSUFDYixVQUFVO0FBQUEsSUFDVixZQUFZLEtBQUssT0FBTztBQUFBLElBQ3hCLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWMsQ0FBQyxnQkFBQUMsT0FBQyxPQUFFO0FBQUE7QUFBQSxNQUF5QixnQkFBQUQsTUFBQyxzQkFBbUIsS0FBSSxTQUFRLE1BQUssZ0JBQWU7QUFBQSxNQUFFO0FBQUEsT0FDb1EsQ0FBSTtBQUFBLElBQ3pXLFVBQVUsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLDROQUE4TSxDQUFJO0FBQUEsSUFDaE8sZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSw2UkFBK1EsQ0FBSTtBQUFBLElBQ3ZTLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBQUEsRUFDQTtBQUFBLElBQ0UsT0FBTztBQUFBLElBQ1AsU0FBUztBQUFBLElBQ1QsV0FBVztBQUFBLElBQ1gsS0FBSTtBQUFBLElBQ0osYUFBWTtBQUFBLElBQ1osWUFBWSxLQUFLLFVBQVU7QUFBQSxJQUMzQixLQUFLO0FBQUEsSUFDTCxTQUFTO0FBQUEsSUFDVCxnQkFBZ0I7QUFBQSxJQUNoQixVQUFVO0FBQUEsSUFDVixVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsSUFDUCxlQUFlO0FBQUEsSUFDZixjQUFjO0FBQUEsSUFDZCxjQUFjLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSxpa0JBQThpQixDQUFJO0FBQUEsSUFDcGtCLFVBQVUsQ0FBQyxnQkFBQUEsTUFBQyxPQUFFLHdxREFFMHBCLENBQUk7QUFBQSxJQUM1cUIsZ0JBQWdCLENBQUMsZ0JBQUFBLE1BQUMsT0FBRSwydENBRXFiLENBQUk7QUFBQSxJQUM3YyxTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVjtBQUFBLEVBQ0E7QUFBQSxJQUNFLFNBQVM7QUFBQSxJQUNULFdBQVc7QUFBQSxJQUNYLFlBQVksS0FBSyxhQUFhO0FBQUEsSUFDOUIsS0FBSztBQUFBLElBQ0wsYUFBYTtBQUFBLElBQ2IsS0FBSztBQUFBLElBQ0wsU0FBUztBQUFBLElBQ1QsZ0JBQWdCO0FBQUEsSUFDaEIsVUFBVTtBQUFBLElBQ1YsT0FBTztBQUFBLElBQ1AsY0FBYztBQUFBLElBQ2QsVUFBVTtBQUFBLElBQ1YsZ0JBQWdCO0FBQUEsSUFDaEIsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1Y7QUFBQSxFQUNBO0FBQUEsSUFDRSxTQUFTO0FBQUEsSUFDVCxXQUFXO0FBQUEsSUFDWCxZQUFZLEtBQUssYUFBYTtBQUFBLElBQzlCLEtBQUs7QUFBQSxJQUNMLGFBQWE7QUFBQSxJQUNiLEtBQUs7QUFBQSxJQUNMLFNBQVM7QUFBQSxJQUNULGdCQUFnQjtBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxJQUNQLGNBQWM7QUFBQSxJQUNkLFVBQVU7QUFBQSxJQUNWLGdCQUFnQjtBQUFBLElBQ2hCLE1BQU07QUFBQSxJQUNOLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWO0FBRUY7OztBQ3A5RFEsU0FDTSxPQUFBRSxPQUROLFFBQUFDLGNBQUE7OztBQ0ZGLFNBQ0UsT0FBQUMsT0FERixRQUFBQyxjQUFBOzs7QUNFRSxxQkFBQUMsWUFDa2EsT0FBQUMsT0FBaGEsUUFBQUMsY0FERjs7O0FDSUksU0F3R0osWUFBQUMsWUF4R0ksT0FBQUMsT0FLQSxRQUFBQyxjQUxBOzs7QUNJUixTQUVJLE9BQUFDLE9BRkosUUFBQUMsY0FBQTs7O0FDUEUsU0FDRSxPQUFBQyxPQURGLFFBQUFDLGNBQUE7OztBQ0dBLFNBQ0UsT0FBQUMsT0FERixRQUFBQyxjQUFBOzs7QUNBUSxTQUNFLE9BQUFDLE9BREYsUUFBQUMsY0FBQTs7O0FDQVYsZ0JBQUFDLE9BMkhFLFFBQUFDLGNBM0hGOzs7QUNTWSxnQkFBQUMsT0FHZCxRQUFBQyxjQUhjOzs7QUNaSixTQUVRLE9BQUFDLE9BRlIsUUFBQUMsY0FBQTs7O0FDSkYsZ0JBQUFDLGFBQUE7OztBQ1NFLFNBRVEsT0FBQUMsT0FGUixRQUFBQyxjQUFBOzs7QUNMSixTQUVRLE9BQUFDLE9BRlIsUUFBQUMsY0FBQTs7O0FDREEsU0FFSSxPQUFBQyxPQUZKLFFBQUFDLGNBQUE7OztBQ0ZJLGdCQUFBQyxPQUVBLFFBQUFDLGNBRkE7OztBQ0lKLFNBRVEsT0FBQUMsT0FGUixRQUFBQyxjQUFBOzs7QUNISSxTQUVJLE9BQUFDLE9BRkosUUFBQUMsY0FBQTs7O0FDRkosU0FDSSxPQUFBQyxPQURKLFFBQUFDLGNBQUE7OztBQzZESixTQUNFLE9BQUFDLE9BREYsUUFBQUMsY0FBQTs7O0FDM0RJLGdCQUFBQyxhQUFBOzs7QUNBSixxQkFBQUMsWUFHSSxPQUFBQyxPQURBLFFBQUFDLGNBRko7OztBQ0NFLHFCQUFBQyxZQUNBLE9BQUFDLE9BV0UsUUFBQUMsY0FaRjs7O0FDSEEscUJBQUFDLFlBRUksT0FBQUMsT0FGSixRQUFBQyxjQUFBOzs7QUNITixTQUFTLGFBQUFDLGtCQUFpQjtBQUMxQixTQUFTLGVBQUFDLG9CQUFtQjtBQWdDdEIscUJBQUFDLFlBR0UsT0FBQUMsT0FJTSxRQUFBQyxjQVBSOzs7QUNwQkUscUJBQUFDLFlBSU0sT0FBQUMsT0FERixRQUFBQyxjQUhKOzs7QUNWRixnQkFBQUMsYUFBQTs7O0FDQUEsZ0JBQUFDLGFBQUE7OztBQ0ZGLGdCQUFBQyxhQUFBOzs7QUNHRCxxQkFBQUMsWUFBQSxPQUFBQyxjQUFBOzs7QUNIQyxnQkFBQUMsY0FBQTs7O0FDQUEsZ0JBQUFDLGNBQUE7OztBQ0FBLGdCQUFBQyxjQUFBOzs7QUNBQSxnQkFBQUMsY0FBQTs7O0FDQUEsZ0JBQUFDLGNBQUE7OztBQ0FBLGdCQUFBQyxjQUFBOzs7QUNBQSxnQkFBQUMsY0FBQTs7O0FDQUEsZ0JBQUFDLGNBQUE7OztBQ0FBLGdCQUFBQyxjQUFBOzs7QUNBQSxnQkFBQUMsY0FBQTs7O0FDR1EsU0FDSSxPQUFBQyxRQURKLFFBQUFDLGNBQUE7OztBQ0tKLFNBRUksT0FBQUMsUUFGSixRQUFBQyxjQUFBOzs7QUNSSixnQkFBQUMsY0FBQTs7O0FDTVEsU0FrQkUsWUFBQUMsWUFoQk0sT0FBQUMsUUFGUixRQUFBQyxjQUFBOzs7QUNHWixTQUNFLE9BQUFDLFFBREYsUUFBQUMsY0FBQTtBQXNIQSxTQUFTLFVBQVUsT0FBYTtBQUM1QixRQUFNLFlBQVksQ0FBQyxXQUFzRDtBQUNyRSxRQUFJLGlCQUFpQixTQUFTLHVCQUF1QixXQUFXO0FBQ2hFLGFBQVMsUUFBUSxHQUFHLFFBQVEsZUFBZSxRQUFRLFNBQVM7QUFFeEQsTUFBQyxlQUFlLEtBQUssRUFBa0IsTUFBTSxVQUFVO0FBQUEsSUFDM0Q7QUFDQSxRQUFJLGFBQWEsU0FBUyxlQUFlLEtBQUs7QUFDOUMsSUFBQyxXQUEyQixNQUFNLFVBQVU7QUFBQSxFQUNoRDtBQUNBLFNBQU87QUFDWDtBQUVBLElBQU0sVUFBVSxnQkFBQUMsT0FBQyxRQUFHLElBQUcsa0JBQWlCLFdBQVUsaUJBQ2xEO0FBQUEsa0JBQUFDLE9BQUMsUUFBRztBQUFBLEVBQ0osZ0JBQUFBLE9BQUMsUUFBRztBQUFBLEVBQ0osZ0JBQUFBLE9BQUMsUUFBRztBQUFBLEVBQ0YsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxZQUFZLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZ0JBQUUsR0FBTyxHQUFJO0FBQUEsRUFDL0UsZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxZQUFZLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZ0JBQUUsR0FBTyxHQUFJO0FBQUEsR0FFakY7QUFDQSxJQUFNLFFBQVEsZ0JBQUFELE9BQUMsUUFBRyxJQUFHLGVBQWMsV0FBVSxpQkFBZ0IsT0FBTyxFQUFDLFNBQVMsT0FBTSxHQUNwRjtBQUFBLGtCQUFBQyxPQUFDLFFBQUc7QUFBQSxFQUNKLGdCQUFBQSxPQUFDLFFBQUc7QUFBQSxFQUNKLGdCQUFBQSxPQUFDLFFBQUc7QUFBQSxFQUNKLGdCQUFBQSxPQUFDLFFBQUc7QUFBQSxFQUNGLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsUUFBUSxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGVBQUMsR0FBTyxHQUFJO0FBQUEsRUFDMUUsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsU0FBUyxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGdCQUFFLEdBQU8sR0FBSTtBQUFBLEVBQzVFLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsU0FBUyxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGdCQUFFLEdBQU8sR0FBSTtBQUFBLEVBQzVFLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsU0FBUyxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGdCQUFFLEdBQU8sR0FBSTtBQUFBLEVBQzVFLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsU0FBUyxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGdCQUFFLEdBQU8sR0FBSTtBQUFBLEVBQzVFLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsU0FBUyxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGdCQUFFLEdBQU8sR0FBSTtBQUFBLEVBQzVFLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsU0FBUyxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGdCQUFFLEdBQU8sR0FBSTtBQUFBLEVBQzVFLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxFQUNOLGdCQUFBQSxPQUFDLFFBQUcsZ0JBQUU7QUFBQSxHQUNSO0FBQ0EsSUFBTSxRQUFRLGdCQUFBRCxPQUFDLFFBQUcsSUFBRyxlQUFjLFdBQVUsaUJBQWdCLE9BQU8sRUFBQyxTQUFTLE9BQU0sR0FDbEY7QUFBQSxrQkFBQUMsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsMEJBQUFBLE9BQUMsT0FBRSxTQUFTLFVBQVUsUUFBUSxHQUFHLDBCQUFBQSxPQUFDLFVBQUssV0FBVSxVQUFTLGVBQUMsR0FBTyxHQUFJO0FBQUEsRUFDMUUsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLFFBQVEsR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxlQUFDLEdBQU8sR0FBSTtBQUFBLEVBQzFFLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxRQUFRLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZUFBQyxHQUFPLEdBQUk7QUFBQSxFQUMxRSxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLFNBQVMsR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxnQkFBRSxHQUFPLEdBQUk7QUFBQSxFQUM1RSxnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLFNBQVMsR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxnQkFBRSxHQUFPLEdBQUk7QUFBQSxFQUM1RSxnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLFNBQVMsR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxnQkFBRSxHQUFPLEdBQUk7QUFBQSxFQUM1RSxnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLFNBQVMsR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxnQkFBRSxHQUFPLEdBQUk7QUFBQSxFQUM1RSxnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLFNBQVMsR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxnQkFBRSxHQUFPLEdBQUk7QUFBQSxFQUM1RSxnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLGdCQUFFO0FBQUEsRUFDTixnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLFNBQVMsR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxnQkFBRSxHQUFPLEdBQUk7QUFBQSxHQUM5RTtBQUNBLElBQU0sTUFBTSxnQkFBQUQsT0FBQyxRQUFHLElBQUcsYUFBWSxXQUFVLGlCQUFnQixPQUFPLEVBQUMsU0FBUyxPQUFNLEdBQ2hGO0FBQUEsa0JBQUFDLE9BQUMsUUFBRztBQUFBLEVBQ0osZ0JBQUFBLE9BQUMsUUFBRztBQUFBLEVBQ0YsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLDBCQUFBQSxPQUFDLE9BQUUsU0FBUyxVQUFVLE1BQU0sR0FBRywwQkFBQUEsT0FBQyxVQUFLLFdBQVUsVUFBUyxlQUFDLEdBQU8sR0FBSTtBQUFBLEVBQ3hFLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxlQUFDO0FBQUEsRUFDTCxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxNQUFNLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZUFBQyxHQUFPLEdBQUk7QUFBQSxFQUN4RSxnQkFBQUEsT0FBQyxRQUFHLGVBQUM7QUFBQSxFQUNMLGdCQUFBQSxPQUFDLFFBQUcsZUFBQztBQUFBLEVBQ0wsZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxPQUFPLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZ0JBQUUsR0FBTyxHQUFJO0FBQUEsRUFDMUUsZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRywwQkFBQUEsT0FBQyxPQUFFLFNBQVMsVUFBVSxPQUFPLEdBQUcsMEJBQUFBLE9BQUMsVUFBSyxXQUFVLFVBQVMsZ0JBQUUsR0FBTyxHQUFJO0FBQUEsRUFDMUUsZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEVBQ04sZ0JBQUFBLE9BQUMsUUFBRyxnQkFBRTtBQUFBLEdBQ1I7OztBQ2pSUSxnQkFBQUMsY0FBQTs7O0FDTEosZ0JBQUFDLGNBQUE7OztBQ0lFLHFCQUFBQyxZQUVJLE9BQUFDLFFBQ0EsUUFBQUMsY0FISjs7O0FDREEsZ0JBQUFDLGNBQUE7OztBQ0dOLFNBQVMsT0FBQUMsTUFBSyxVQUFVLGlCQUFpQjtBQUN6QyxTQUFTLFNBQVNDLFVBQVMsV0FBQUMsVUFBUyxVQUFBQyxTQUFRLGNBQUFDLGFBQVksaUJBQUFDLGdCQUFlLGVBQUFDLGNBQWEsU0FBQUMsUUFBTyxxQkFBQUMsMEJBQXlCO0FBa0I5RyxxQkFBQUMsWUFRQSxPQUFBQyxRQUlNLFFBQUFDLGNBWk47QUFiTkMsU0FBUTtBQUFBLEVBQ0pDO0FBQUEsRUFDQUM7QUFBQSxFQUNBQztBQUFBLEVBQ0FDO0FBQUEsRUFDQUM7QUFBQSxFQUNBQztBQUFBLEVBQ0FDO0FBQ0Y7OztBQ3ZCRixTQUFTLGFBQUFDLG1CQUFpQjtBQWdDZCxnQkFBQUMsUUFNZ0IsUUFBQUMsY0FOaEI7OztBQ2hDWixTQUFTLGFBQUFDLG1CQUFpQjtBQXlCZCxnQkFBQUMsUUFFQSxRQUFBQyxjQUZBOzs7QUNsQkosZ0JBQUFDLGNBQUE7OztBQ0xBLGdCQUFBQyxjQUFBOzs7QUNPRixxQkFBQUMsWUFFRyxPQUFBQyxRQUdELFFBQUFDLGNBTEY7OztBQ05BLGdCQUFBQyxjQUFBOzs7QUNFSSxnQkFBQUMsY0FBQTs7O0FDTUoscUJBQUFDLFlBS2dzQixPQUFBQyxRQUE1ckIsUUFBQUMsY0FMSjs7O0FDUkEsZ0JBQUFDLGNBQUE7OztBQ0VFLGdCQUFBQyxjQUFBOzs7QUNFQSxnQkFBQUMsY0FBQTs7O0FDRkEsZ0JBQUFDLGNBQUE7OztBQ0FBLGdCQUFBQyxjQUFBOzs7QUNBQSxnQkFBQUMsY0FBQTs7O0FDR0EsZ0JBQUFDLGNBQUE7OztBQ1JrVixTQUFTLGFBQWEsUUFBd0I7QUFDdFksTUFBSSxPQUFPLE9BQU8sTUFBTSxFQUFFLFlBQVk7QUFDdEMsU0FBTyxLQUFLLFFBQVEsZUFBZSxHQUFHO0FBQ3RDLFNBQU8sS0FBSyxRQUFRLE9BQU8sR0FBRztBQUU5QixRQUFNLFFBQVEsS0FBSyxPQUFPLE1BQU07QUFDaEMsUUFBTSxNQUFNLEtBQUssT0FBTyxLQUFLO0FBQzdCLFNBQU8sS0FBSyxVQUFVLE9BQU8sUUFBUSxLQUFLLFNBQVksR0FBRztBQUMzRDs7O0FDUjZVLFNBQVMsYUFBQUMsbUJBQWlCOzs7QTdJS3ZXLElBQU8sc0JBQVEsTUFBTTtBQUNuQixRQUFNLE1BQU0sUUFBUSxPQUFPLFFBQVEsSUFBSSxDQUFDO0FBRXhDLE1BQUksQ0FBQyxJQUFJLGdCQUFnQjtBQUN2QixVQUFNLElBQUksTUFBTSxvREFBb0Q7QUFBQSxFQUN0RTtBQUVBLFVBQVEsSUFBSSxtQkFBbUIsSUFBSSxjQUFjLEVBQUU7QUFHbkQsUUFBTSxXQUFXLGFBQWEsSUFBSSxjQUFjO0FBRWhELFVBQVEsSUFBSSxtQkFBbUIsSUFBSSxjQUFjO0FBQ2pELFVBQVEsSUFBSSxjQUFjLFFBQVE7QUFFbEMsU0FBTyxhQUFhO0FBQUEsSUFDbEIsTUFBTSxJQUFJLGFBQWEsSUFBSSxjQUFjLENBQUM7QUFBQSxJQUMxQyxTQUFTLENBQUMsTUFBTSxDQUFDO0FBQUEsSUFDakIsT0FBTztBQUFBLE1BQ0wsUUFBUTtBQUFBLElBQ1Y7QUFBQSxJQUNBLFdBQVc7QUFBQSxFQUNiLENBQUM7QUFFSDsiLAogICJuYW1lcyI6IFsidXNlRWZmZWN0IiwgInVzZVJlZiIsICJ1c2VTdGF0ZSIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJ1c2VFZmZlY3QiLCAidXNlUmVmIiwgInVzZVN0YXRlIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJ1c2VTdGF0ZSIsICJ1c2VTdGF0ZSIsICJqc3giLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZU5hdmlnYXRlIiwgInVzZU5hdmlnYXRlIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJqc3giLCAianN4cyIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJGcmFnbWVudCIsICJqc3giLCAianN4IiwgImpzeCIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiUmVhY3QiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAidXNlRWZmZWN0IiwgInVzZVN0YXRlIiwgInVzZUxvY2F0aW9uIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgIlJlYWN0IiwgImpzeCIsICJSZWFjdCIsICJqc3giLCAianN4IiwgImpzeHMiLCAianN4IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3hzIiwgImpzeCIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAidXNlU3RhdGUiLCAidXNlRWZmZWN0IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImJpYnRleFNvdXJjZXMiLCAianN4IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgInVzZUVmZmVjdCIsICJ1c2VTdGF0ZSIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3giLCAianN4cyIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4IiwgImJpYnRleFNvdXJjZXMiLCAianN4IiwgImJpYnRleFNvdXJjZXMiLCAianN4IiwgImJpYnRleFNvdXJjZXMiLCAianN4IiwgImJpYnRleFNvdXJjZXMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJ1c2VFZmZlY3QiLCAidXNlTG9jYXRpb24iLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeCIsICJqc3giLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4cyIsICJqc3giLCAiRnJhZ21lbnQiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeHMiLCAianN4cyIsICJqc3giLCAianN4IiwgImpzeCIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAiQmFyIiwgIkNoYXJ0SlMiLCAiVG9vbHRpcCIsICJMZWdlbmQiLCAiQmFyRWxlbWVudCIsICJDYXRlZ29yeVNjYWxlIiwgIkxpbmVhclNjYWxlIiwgIlRpdGxlIiwgIlJhZGlhbExpbmVhclNjYWxlIiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgIkNoYXJ0SlMiLCAiQ2F0ZWdvcnlTY2FsZSIsICJSYWRpYWxMaW5lYXJTY2FsZSIsICJMaW5lYXJTY2FsZSIsICJCYXJFbGVtZW50IiwgIlRpdGxlIiwgIlRvb2x0aXAiLCAiTGVnZW5kIiwgInVzZUVmZmVjdCIsICJqc3giLCAianN4cyIsICJ1c2VFZmZlY3QiLCAianN4IiwgImpzeHMiLCAianN4IiwgImpzeCIsICJGcmFnbWVudCIsICJqc3giLCAianN4cyIsICJqc3giLCAianN4IiwgIkZyYWdtZW50IiwgImpzeCIsICJqc3hzIiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJqc3giLCAianN4IiwgImpzeCIsICJ1c2VFZmZlY3QiXQp9Cg==